@frontmcp/ui 0.5.1 → 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.
- package/adapters/index.d.ts +13 -0
- package/adapters/index.d.ts.map +1 -0
- package/adapters/index.js +462 -0
- package/adapters/platform-meta.d.ts +166 -0
- package/adapters/platform-meta.d.ts.map +1 -0
- package/adapters/response-builder.d.ts +108 -0
- package/adapters/response-builder.d.ts.map +1 -0
- package/adapters/serving-mode.d.ts +107 -0
- package/adapters/serving-mode.d.ts.map +1 -0
- package/base-template/bridge.d.ts +90 -0
- package/base-template/bridge.d.ts.map +1 -0
- package/base-template/default-base-template.d.ts +92 -0
- package/base-template/default-base-template.d.ts.map +1 -0
- package/base-template/index.d.ts +15 -0
- package/base-template/index.d.ts.map +1 -0
- package/base-template/index.js +1398 -0
- package/base-template/polyfills.d.ts +31 -0
- package/base-template/polyfills.d.ts.map +1 -0
- package/base-template/theme-styles.d.ts +74 -0
- package/base-template/theme-styles.d.ts.map +1 -0
- package/bridge/adapters/base-adapter.d.ts +104 -0
- package/bridge/adapters/base-adapter.d.ts.map +1 -0
- package/bridge/adapters/claude.adapter.d.ts +67 -0
- package/bridge/adapters/claude.adapter.d.ts.map +1 -0
- package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
- package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
- package/bridge/adapters/gemini.adapter.d.ts +64 -0
- package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
- package/bridge/adapters/generic.adapter.d.ts +56 -0
- package/bridge/adapters/generic.adapter.d.ts.map +1 -0
- package/bridge/adapters/index.d.ts +26 -0
- package/bridge/adapters/index.d.ts.map +1 -0
- package/bridge/adapters/openai.adapter.d.ts +65 -0
- package/bridge/adapters/openai.adapter.d.ts.map +1 -0
- package/bridge/core/adapter-registry.d.ts +122 -0
- package/bridge/core/adapter-registry.d.ts.map +1 -0
- package/bridge/core/bridge-factory.d.ts +199 -0
- package/bridge/core/bridge-factory.d.ts.map +1 -0
- package/bridge/core/index.d.ts +10 -0
- package/bridge/core/index.d.ts.map +1 -0
- package/bridge/index.d.ts +62 -0
- package/bridge/index.d.ts.map +1 -0
- package/bridge/index.js +2540 -0
- package/bridge/runtime/iife-generator.d.ts +62 -0
- package/bridge/runtime/iife-generator.d.ts.map +1 -0
- package/bridge/runtime/index.d.ts +9 -0
- package/bridge/runtime/index.d.ts.map +1 -0
- package/bridge/types.d.ts +386 -0
- package/bridge/types.d.ts.map +1 -0
- package/build/cdn-resources.d.ts +243 -0
- package/build/cdn-resources.d.ts.map +1 -0
- package/build/index.d.ts +295 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +7096 -0
- package/build/widget-manifest.d.ts +362 -0
- package/build/widget-manifest.d.ts.map +1 -0
- package/bundler/bundler.d.ts +208 -0
- package/bundler/bundler.d.ts.map +1 -0
- package/bundler/cache.d.ts +173 -0
- package/bundler/cache.d.ts.map +1 -0
- package/bundler/file-cache/component-builder.d.ts +167 -0
- package/bundler/file-cache/component-builder.d.ts.map +1 -0
- package/bundler/file-cache/hash-calculator.d.ts +155 -0
- package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
- package/bundler/file-cache/index.d.ts +12 -0
- package/bundler/file-cache/index.d.ts.map +1 -0
- package/bundler/file-cache/storage/filesystem.d.ts +149 -0
- package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
- package/bundler/file-cache/storage/index.d.ts +11 -0
- package/bundler/file-cache/storage/index.d.ts.map +1 -0
- package/bundler/file-cache/storage/interface.d.ts +152 -0
- package/bundler/file-cache/storage/interface.d.ts.map +1 -0
- package/bundler/file-cache/storage/redis.d.ts +139 -0
- package/bundler/file-cache/storage/redis.d.ts.map +1 -0
- package/bundler/index.d.ts +43 -0
- package/bundler/index.d.ts.map +1 -0
- package/bundler/index.js +4754 -0
- package/bundler/sandbox/enclave-adapter.d.ts +121 -0
- package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
- package/bundler/sandbox/executor.d.ts +14 -0
- package/bundler/sandbox/executor.d.ts.map +1 -0
- package/bundler/sandbox/policy.d.ts +62 -0
- package/bundler/sandbox/policy.d.ts.map +1 -0
- package/bundler/types.d.ts +702 -0
- package/bundler/types.d.ts.map +1 -0
- package/components/alert.d.ts +66 -0
- package/components/alert.d.ts.map +1 -0
- package/components/alert.schema.d.ts +98 -0
- package/components/alert.schema.d.ts.map +1 -0
- package/components/avatar.d.ts +77 -0
- package/components/avatar.d.ts.map +1 -0
- package/components/avatar.schema.d.ts +170 -0
- package/components/avatar.schema.d.ts.map +1 -0
- package/components/badge.d.ts +64 -0
- package/components/badge.d.ts.map +1 -0
- package/components/badge.schema.d.ts +91 -0
- package/components/badge.schema.d.ts.map +1 -0
- package/components/button.d.ts +100 -0
- package/components/button.d.ts.map +1 -0
- package/components/button.schema.d.ts +120 -0
- package/components/button.schema.d.ts.map +1 -0
- package/components/card.d.ts +53 -0
- package/components/card.d.ts.map +1 -0
- package/components/card.schema.d.ts +93 -0
- package/components/card.schema.d.ts.map +1 -0
- package/components/form.d.ts +212 -0
- package/components/form.d.ts.map +1 -0
- package/components/form.schema.d.ts +365 -0
- package/components/form.schema.d.ts.map +1 -0
- package/components/index.d.ts +29 -0
- package/components/index.d.ts.map +1 -0
- package/components/index.js +2595 -0
- package/components/list.d.ts +121 -0
- package/components/list.d.ts.map +1 -0
- package/components/list.schema.d.ts +129 -0
- package/components/list.schema.d.ts.map +1 -0
- package/components/modal.d.ts +100 -0
- package/components/modal.d.ts.map +1 -0
- package/components/modal.schema.d.ts +151 -0
- package/components/modal.schema.d.ts.map +1 -0
- package/components/table.d.ts +91 -0
- package/components/table.d.ts.map +1 -0
- package/components/table.schema.d.ts +123 -0
- package/components/table.schema.d.ts.map +1 -0
- package/dependency/cdn-registry.d.ts +98 -0
- package/dependency/cdn-registry.d.ts.map +1 -0
- package/dependency/import-map.d.ts +186 -0
- package/dependency/import-map.d.ts.map +1 -0
- package/dependency/import-parser.d.ts +82 -0
- package/dependency/import-parser.d.ts.map +1 -0
- package/dependency/index.d.ts +17 -0
- package/dependency/index.d.ts.map +1 -0
- package/dependency/resolver.d.ts +164 -0
- package/dependency/resolver.d.ts.map +1 -0
- package/dependency/schemas.d.ts +486 -0
- package/dependency/schemas.d.ts.map +1 -0
- package/dependency/template-loader.d.ts +204 -0
- package/dependency/template-loader.d.ts.map +1 -0
- package/dependency/template-processor.d.ts +118 -0
- package/dependency/template-processor.d.ts.map +1 -0
- package/dependency/types.d.ts +739 -0
- package/dependency/types.d.ts.map +1 -0
- package/esm/adapters/index.d.ts +13 -0
- package/esm/adapters/index.d.ts.map +1 -0
- package/esm/adapters/index.js +427 -0
- package/esm/adapters/platform-meta.d.ts +166 -0
- package/esm/adapters/platform-meta.d.ts.map +1 -0
- package/esm/adapters/response-builder.d.ts +108 -0
- package/esm/adapters/response-builder.d.ts.map +1 -0
- package/esm/adapters/serving-mode.d.ts +107 -0
- package/esm/adapters/serving-mode.d.ts.map +1 -0
- package/esm/base-template/bridge.d.ts +90 -0
- package/esm/base-template/bridge.d.ts.map +1 -0
- package/esm/base-template/default-base-template.d.ts +92 -0
- package/esm/base-template/default-base-template.d.ts.map +1 -0
- package/esm/base-template/index.d.ts +15 -0
- package/esm/base-template/index.d.ts.map +1 -0
- package/esm/base-template/index.js +1364 -0
- package/esm/base-template/polyfills.d.ts +31 -0
- package/esm/base-template/polyfills.d.ts.map +1 -0
- package/esm/base-template/theme-styles.d.ts +74 -0
- package/esm/base-template/theme-styles.d.ts.map +1 -0
- package/esm/bridge/adapters/base-adapter.d.ts +104 -0
- package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
- package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
- package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
- package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
- package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/index.d.ts +26 -0
- package/esm/bridge/adapters/index.d.ts.map +1 -0
- package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
- package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
- package/esm/bridge/core/adapter-registry.d.ts +122 -0
- package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
- package/esm/bridge/core/bridge-factory.d.ts +199 -0
- package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
- package/esm/bridge/core/index.d.ts +10 -0
- package/esm/bridge/core/index.d.ts.map +1 -0
- package/esm/bridge/index.d.ts +62 -0
- package/esm/bridge/index.d.ts.map +1 -0
- package/esm/bridge/index.js +2487 -0
- package/esm/bridge/runtime/iife-generator.d.ts +62 -0
- package/esm/bridge/runtime/iife-generator.d.ts.map +1 -0
- package/esm/bridge/runtime/index.d.ts +9 -0
- package/esm/bridge/runtime/index.d.ts.map +1 -0
- package/esm/bridge/types.d.ts +386 -0
- package/esm/bridge/types.d.ts.map +1 -0
- package/esm/build/cdn-resources.d.ts +243 -0
- package/esm/build/cdn-resources.d.ts.map +1 -0
- package/esm/build/index.d.ts +295 -0
- package/esm/build/index.d.ts.map +1 -0
- package/esm/build/index.js +7021 -0
- package/esm/build/widget-manifest.d.ts +362 -0
- package/esm/build/widget-manifest.d.ts.map +1 -0
- package/esm/bundler/bundler.d.ts +208 -0
- package/esm/bundler/bundler.d.ts.map +1 -0
- package/esm/bundler/cache.d.ts +173 -0
- package/esm/bundler/cache.d.ts.map +1 -0
- package/esm/bundler/file-cache/component-builder.d.ts +167 -0
- package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
- package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
- package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
- package/esm/bundler/file-cache/index.d.ts +12 -0
- package/esm/bundler/file-cache/index.d.ts.map +1 -0
- package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
- package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
- package/esm/bundler/file-cache/storage/index.d.ts +11 -0
- package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
- package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
- package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
- package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
- package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
- package/esm/bundler/index.d.ts +43 -0
- package/esm/bundler/index.d.ts.map +1 -0
- package/esm/bundler/index.js +4687 -0
- package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
- package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
- package/esm/bundler/sandbox/executor.d.ts +14 -0
- package/esm/bundler/sandbox/executor.d.ts.map +1 -0
- package/esm/bundler/sandbox/policy.d.ts +62 -0
- package/esm/bundler/sandbox/policy.d.ts.map +1 -0
- package/esm/bundler/types.d.ts +702 -0
- package/esm/bundler/types.d.ts.map +1 -0
- package/esm/components/alert.d.ts +66 -0
- package/esm/components/alert.d.ts.map +1 -0
- package/esm/components/alert.schema.d.ts +98 -0
- package/esm/components/alert.schema.d.ts.map +1 -0
- package/esm/components/avatar.d.ts +77 -0
- package/esm/components/avatar.d.ts.map +1 -0
- package/esm/components/avatar.schema.d.ts +170 -0
- package/esm/components/avatar.schema.d.ts.map +1 -0
- package/esm/components/badge.d.ts +64 -0
- package/esm/components/badge.d.ts.map +1 -0
- package/esm/components/badge.schema.d.ts +91 -0
- package/esm/components/badge.schema.d.ts.map +1 -0
- package/esm/components/button.d.ts +100 -0
- package/esm/components/button.d.ts.map +1 -0
- package/esm/components/button.schema.d.ts +120 -0
- package/esm/components/button.schema.d.ts.map +1 -0
- package/esm/components/card.d.ts +53 -0
- package/esm/components/card.d.ts.map +1 -0
- package/esm/components/card.schema.d.ts +93 -0
- package/esm/components/card.schema.d.ts.map +1 -0
- package/esm/components/form.d.ts +212 -0
- package/esm/components/form.d.ts.map +1 -0
- package/esm/components/form.schema.d.ts +365 -0
- package/esm/components/form.schema.d.ts.map +1 -0
- package/esm/components/index.d.ts +29 -0
- package/esm/components/index.d.ts.map +1 -0
- package/esm/components/index.js +2456 -0
- package/esm/components/list.d.ts +121 -0
- package/esm/components/list.d.ts.map +1 -0
- package/esm/components/list.schema.d.ts +129 -0
- package/esm/components/list.schema.d.ts.map +1 -0
- package/esm/components/modal.d.ts +100 -0
- package/esm/components/modal.d.ts.map +1 -0
- package/esm/components/modal.schema.d.ts +151 -0
- package/esm/components/modal.schema.d.ts.map +1 -0
- package/esm/components/table.d.ts +91 -0
- package/esm/components/table.d.ts.map +1 -0
- package/esm/components/table.schema.d.ts +123 -0
- package/esm/components/table.schema.d.ts.map +1 -0
- package/esm/dependency/cdn-registry.d.ts +98 -0
- package/esm/dependency/cdn-registry.d.ts.map +1 -0
- package/esm/dependency/import-map.d.ts +186 -0
- package/esm/dependency/import-map.d.ts.map +1 -0
- package/esm/dependency/import-parser.d.ts +82 -0
- package/esm/dependency/import-parser.d.ts.map +1 -0
- package/esm/dependency/index.d.ts +17 -0
- package/esm/dependency/index.d.ts.map +1 -0
- package/esm/dependency/resolver.d.ts +164 -0
- package/esm/dependency/resolver.d.ts.map +1 -0
- package/esm/dependency/schemas.d.ts +486 -0
- package/esm/dependency/schemas.d.ts.map +1 -0
- package/esm/dependency/template-loader.d.ts +204 -0
- package/esm/dependency/template-loader.d.ts.map +1 -0
- package/esm/dependency/template-processor.d.ts +118 -0
- package/esm/dependency/template-processor.d.ts.map +1 -0
- package/esm/dependency/types.d.ts +739 -0
- package/esm/dependency/types.d.ts.map +1 -0
- package/esm/handlebars/expression-extractor.d.ts +147 -0
- package/esm/handlebars/expression-extractor.d.ts.map +1 -0
- package/esm/handlebars/helpers.d.ts +339 -0
- package/esm/handlebars/helpers.d.ts.map +1 -0
- package/esm/handlebars/index.d.ts +195 -0
- package/esm/handlebars/index.d.ts.map +1 -0
- package/esm/handlebars/index.js +587 -0
- package/esm/index.d.ts +56 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +20511 -0
- package/esm/layouts/base.d.ts +86 -0
- package/esm/layouts/base.d.ts.map +1 -0
- package/esm/layouts/index.d.ts +8 -0
- package/esm/layouts/index.d.ts.map +1 -0
- package/esm/layouts/index.js +892 -0
- package/esm/layouts/presets.d.ts +134 -0
- package/esm/layouts/presets.d.ts.map +1 -0
- package/esm/package.json +90 -0
- package/esm/pages/consent.d.ts +117 -0
- package/esm/pages/consent.d.ts.map +1 -0
- package/esm/pages/error.d.ts +101 -0
- package/esm/pages/error.d.ts.map +1 -0
- package/esm/pages/index.d.ts +9 -0
- package/esm/pages/index.d.ts.map +1 -0
- package/esm/pages/index.js +1563 -0
- package/esm/react/Alert.d.ts +102 -0
- package/esm/react/Alert.d.ts.map +1 -0
- package/esm/react/Badge.d.ts +101 -0
- package/esm/react/Badge.d.ts.map +1 -0
- package/esm/react/Button.d.ts +109 -0
- package/esm/react/Button.d.ts.map +1 -0
- package/esm/react/Card.d.ts +104 -0
- package/esm/react/Card.d.ts.map +1 -0
- package/esm/react/hooks/context.d.ts +179 -0
- package/esm/react/hooks/context.d.ts.map +1 -0
- package/esm/react/hooks/index.d.ts +42 -0
- package/esm/react/hooks/index.d.ts.map +1 -0
- package/esm/react/hooks/tools.d.ts +284 -0
- package/esm/react/hooks/tools.d.ts.map +1 -0
- package/esm/react/index.d.ts +81 -0
- package/esm/react/index.d.ts.map +1 -0
- package/esm/react/index.js +1372 -0
- package/esm/react/types.d.ts +106 -0
- package/esm/react/types.d.ts.map +1 -0
- package/esm/react/utils.d.ts +43 -0
- package/esm/react/utils.d.ts.map +1 -0
- package/esm/registry/index.d.ts +46 -0
- package/esm/registry/index.d.ts.map +1 -0
- package/esm/registry/index.js +6422 -0
- package/esm/registry/render-template.d.ts +91 -0
- package/esm/registry/render-template.d.ts.map +1 -0
- package/esm/registry/tool-ui.registry.d.ts +294 -0
- package/esm/registry/tool-ui.registry.d.ts.map +1 -0
- package/esm/registry/uri-utils.d.ts +56 -0
- package/esm/registry/uri-utils.d.ts.map +1 -0
- package/esm/render/index.d.ts +8 -0
- package/esm/render/index.d.ts.map +1 -0
- package/esm/render/index.js +45 -0
- package/esm/render/prerender.d.ts +57 -0
- package/esm/render/prerender.d.ts.map +1 -0
- package/esm/renderers/cache.d.ts +145 -0
- package/esm/renderers/cache.d.ts.map +1 -0
- package/esm/renderers/html.renderer.d.ts +123 -0
- package/esm/renderers/html.renderer.d.ts.map +1 -0
- package/esm/renderers/index.d.ts +36 -0
- package/esm/renderers/index.d.ts.map +1 -0
- package/esm/renderers/index.js +1827 -0
- package/esm/renderers/mdx.renderer.d.ts +120 -0
- package/esm/renderers/mdx.renderer.d.ts.map +1 -0
- package/esm/renderers/react.renderer.d.ts +96 -0
- package/esm/renderers/react.renderer.d.ts.map +1 -0
- package/esm/renderers/registry.d.ts +134 -0
- package/esm/renderers/registry.d.ts.map +1 -0
- package/esm/renderers/types.d.ts +342 -0
- package/esm/renderers/types.d.ts.map +1 -0
- package/esm/renderers/utils/detect.d.ts +107 -0
- package/esm/renderers/utils/detect.d.ts.map +1 -0
- package/esm/renderers/utils/hash.d.ts +40 -0
- package/esm/renderers/utils/hash.d.ts.map +1 -0
- package/esm/renderers/utils/index.d.ts +9 -0
- package/esm/renderers/utils/index.d.ts.map +1 -0
- package/esm/renderers/utils/transpiler.d.ts +89 -0
- package/esm/renderers/utils/transpiler.d.ts.map +1 -0
- package/esm/runtime/adapters/html.adapter.d.ts +59 -0
- package/esm/runtime/adapters/html.adapter.d.ts.map +1 -0
- package/esm/runtime/adapters/index.d.ts +26 -0
- package/esm/runtime/adapters/index.d.ts.map +1 -0
- package/esm/runtime/adapters/mdx.adapter.d.ts +73 -0
- package/esm/runtime/adapters/mdx.adapter.d.ts.map +1 -0
- package/esm/runtime/adapters/react.adapter.d.ts +70 -0
- package/esm/runtime/adapters/react.adapter.d.ts.map +1 -0
- package/esm/runtime/adapters/types.d.ts +95 -0
- package/esm/runtime/adapters/types.d.ts.map +1 -0
- package/esm/runtime/csp.d.ts +48 -0
- package/esm/runtime/csp.d.ts.map +1 -0
- package/esm/runtime/index.d.ts +17 -0
- package/esm/runtime/index.d.ts.map +1 -0
- package/esm/runtime/index.js +5186 -0
- package/esm/runtime/mcp-bridge.d.ts +101 -0
- package/esm/runtime/mcp-bridge.d.ts.map +1 -0
- package/esm/runtime/renderer-runtime.d.ts +133 -0
- package/esm/runtime/renderer-runtime.d.ts.map +1 -0
- package/esm/runtime/sanitizer.d.ts +172 -0
- package/esm/runtime/sanitizer.d.ts.map +1 -0
- package/esm/runtime/types.d.ts +415 -0
- package/esm/runtime/types.d.ts.map +1 -0
- package/esm/runtime/wrapper.d.ts +421 -0
- package/esm/runtime/wrapper.d.ts.map +1 -0
- package/esm/styles/index.d.ts +8 -0
- package/esm/styles/index.d.ts.map +1 -0
- package/esm/styles/index.js +171 -0
- package/esm/styles/variants.d.ts +51 -0
- package/esm/styles/variants.d.ts.map +1 -0
- package/esm/theme/cdn.d.ts +195 -0
- package/esm/theme/cdn.d.ts.map +1 -0
- package/esm/theme/index.d.ts +18 -0
- package/esm/theme/index.d.ts.map +1 -0
- package/esm/theme/index.js +700 -0
- package/esm/theme/platforms.d.ts +107 -0
- package/esm/theme/platforms.d.ts.map +1 -0
- package/esm/theme/presets/github-openai.d.ts +50 -0
- package/esm/theme/presets/github-openai.d.ts.map +1 -0
- package/esm/theme/presets/index.d.ts +11 -0
- package/esm/theme/presets/index.d.ts.map +1 -0
- package/esm/theme/theme.d.ts +396 -0
- package/esm/theme/theme.d.ts.map +1 -0
- package/esm/tool-template/builder.d.ts +213 -0
- package/esm/tool-template/builder.d.ts.map +1 -0
- package/esm/tool-template/index.d.ts +16 -0
- package/esm/tool-template/index.d.ts.map +1 -0
- package/esm/tool-template/index.js +3515 -0
- package/esm/types/index.d.ts +14 -0
- package/esm/types/index.d.ts.map +1 -0
- package/esm/types/index.js +75 -0
- package/esm/types/ui-config.d.ts +639 -0
- package/esm/types/ui-config.d.ts.map +1 -0
- package/esm/types/ui-runtime.d.ts +1007 -0
- package/esm/types/ui-runtime.d.ts.map +1 -0
- package/esm/typings/cache/cache-adapter.d.ts +125 -0
- package/esm/typings/cache/cache-adapter.d.ts.map +1 -0
- package/esm/typings/cache/index.d.ts +10 -0
- package/esm/typings/cache/index.d.ts.map +1 -0
- package/esm/typings/cache/memory-cache.d.ts +92 -0
- package/esm/typings/cache/memory-cache.d.ts.map +1 -0
- package/esm/typings/dts-parser.d.ts +90 -0
- package/esm/typings/dts-parser.d.ts.map +1 -0
- package/esm/typings/index.d.ts +48 -0
- package/esm/typings/index.d.ts.map +1 -0
- package/esm/typings/schemas.d.ts +232 -0
- package/esm/typings/schemas.d.ts.map +1 -0
- package/esm/typings/type-fetcher.d.ts +89 -0
- package/esm/typings/type-fetcher.d.ts.map +1 -0
- package/esm/typings/types.d.ts +320 -0
- package/esm/typings/types.d.ts.map +1 -0
- package/esm/universal/UniversalApp.d.ts +108 -0
- package/esm/universal/UniversalApp.d.ts.map +1 -0
- package/esm/universal/cached-runtime.d.ts +115 -0
- package/esm/universal/cached-runtime.d.ts.map +1 -0
- package/esm/universal/context.d.ts +122 -0
- package/esm/universal/context.d.ts.map +1 -0
- package/esm/universal/index.d.ts +57 -0
- package/esm/universal/index.d.ts.map +1 -0
- package/esm/universal/renderers/html.renderer.d.ts +37 -0
- package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
- package/esm/universal/renderers/index.d.ts +112 -0
- package/esm/universal/renderers/index.d.ts.map +1 -0
- package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
- package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
- package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
- package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
- package/esm/universal/renderers/react.renderer.d.ts +46 -0
- package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
- package/esm/universal/runtime-builder.d.ts +33 -0
- package/esm/universal/runtime-builder.d.ts.map +1 -0
- package/esm/universal/store.d.ts +135 -0
- package/esm/universal/store.d.ts.map +1 -0
- package/esm/universal/types.d.ts +199 -0
- package/esm/universal/types.d.ts.map +1 -0
- package/esm/utils/escape-html.d.ts +58 -0
- package/esm/utils/escape-html.d.ts.map +1 -0
- package/esm/utils/index.d.ts +10 -0
- package/esm/utils/index.d.ts.map +1 -0
- package/esm/utils/index.js +40 -0
- package/esm/utils/safe-stringify.d.ts +30 -0
- package/esm/utils/safe-stringify.d.ts.map +1 -0
- package/esm/validation/error-box.d.ts +56 -0
- package/esm/validation/error-box.d.ts.map +1 -0
- package/esm/validation/index.d.ts +13 -0
- package/esm/validation/index.d.ts.map +1 -0
- package/esm/validation/index.js +562 -0
- package/esm/validation/schema-paths.d.ts +118 -0
- package/esm/validation/schema-paths.d.ts.map +1 -0
- package/esm/validation/template-validator.d.ts +143 -0
- package/esm/validation/template-validator.d.ts.map +1 -0
- package/esm/validation/wrapper.d.ts +97 -0
- package/esm/validation/wrapper.d.ts.map +1 -0
- package/esm/web-components/core/attribute-parser.d.ts +82 -0
- package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
- package/esm/web-components/core/base-element.d.ts +197 -0
- package/esm/web-components/core/base-element.d.ts.map +1 -0
- package/esm/web-components/core/index.d.ts +9 -0
- package/esm/web-components/core/index.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
- package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
- package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-button.d.ts +117 -0
- package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-card.d.ts +53 -0
- package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-input.d.ts +96 -0
- package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-select.d.ts +100 -0
- package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
- package/esm/web-components/elements/index.d.ts +13 -0
- package/esm/web-components/elements/index.d.ts.map +1 -0
- package/esm/web-components/index.d.ts +50 -0
- package/esm/web-components/index.d.ts.map +1 -0
- package/esm/web-components/index.js +2048 -0
- package/esm/web-components/register.d.ts +57 -0
- package/esm/web-components/register.d.ts.map +1 -0
- package/esm/web-components/types.d.ts +122 -0
- package/esm/web-components/types.d.ts.map +1 -0
- package/esm/widgets/index.d.ts +8 -0
- package/esm/widgets/index.d.ts.map +1 -0
- package/esm/widgets/index.js +941 -0
- package/esm/widgets/progress.d.ts +133 -0
- package/esm/widgets/progress.d.ts.map +1 -0
- package/esm/widgets/resource.d.ts +163 -0
- package/esm/widgets/resource.d.ts.map +1 -0
- package/handlebars/expression-extractor.d.ts +147 -0
- package/handlebars/expression-extractor.d.ts.map +1 -0
- package/handlebars/helpers.d.ts +339 -0
- package/handlebars/helpers.d.ts.map +1 -0
- package/handlebars/index.d.ts +195 -0
- package/handlebars/index.d.ts.map +1 -0
- package/handlebars/index.js +666 -0
- package/index.d.ts +56 -0
- package/index.d.ts.map +1 -0
- package/index.js +20942 -0
- package/layouts/base.d.ts +86 -0
- package/layouts/base.d.ts.map +1 -0
- package/layouts/index.d.ts +8 -0
- package/layouts/index.d.ts.map +1 -0
- package/layouts/index.js +930 -0
- package/layouts/presets.d.ts +134 -0
- package/layouts/presets.d.ts.map +1 -0
- package/package.json +26 -85
- package/pages/consent.d.ts +117 -0
- package/pages/consent.d.ts.map +1 -0
- package/pages/error.d.ts +101 -0
- package/pages/error.d.ts.map +1 -0
- package/pages/index.d.ts +9 -0
- package/pages/index.d.ts.map +1 -0
- package/pages/index.js +1602 -0
- package/react/Alert.d.ts +102 -0
- package/react/Alert.d.ts.map +1 -0
- package/react/Badge.d.ts +101 -0
- package/react/Badge.d.ts.map +1 -0
- package/react/Button.d.ts +109 -0
- package/react/Button.d.ts.map +1 -0
- package/react/Card.d.ts +104 -0
- package/react/Card.d.ts.map +1 -0
- package/react/hooks/context.d.ts +179 -0
- package/react/hooks/context.d.ts.map +1 -0
- package/react/hooks/index.d.ts +42 -0
- package/react/hooks/index.d.ts.map +1 -0
- package/react/hooks/tools.d.ts +284 -0
- package/react/hooks/tools.d.ts.map +1 -0
- package/react/index.d.ts +81 -0
- package/react/index.d.ts.map +1 -0
- package/react/index.js +1430 -0
- package/react/types.d.ts +106 -0
- package/react/types.d.ts.map +1 -0
- package/react/utils.d.ts +43 -0
- package/react/utils.d.ts.map +1 -0
- package/registry/index.d.ts +46 -0
- package/registry/index.d.ts.map +1 -0
- package/registry/index.js +6465 -0
- package/registry/render-template.d.ts +91 -0
- package/registry/render-template.d.ts.map +1 -0
- package/registry/tool-ui.registry.d.ts +294 -0
- package/registry/tool-ui.registry.d.ts.map +1 -0
- package/registry/uri-utils.d.ts +56 -0
- package/registry/uri-utils.d.ts.map +1 -0
- package/render/index.d.ts +8 -0
- package/render/index.d.ts.map +1 -0
- package/render/index.js +77 -0
- package/render/prerender.d.ts +57 -0
- package/render/prerender.d.ts.map +1 -0
- package/renderers/cache.d.ts +145 -0
- package/renderers/cache.d.ts.map +1 -0
- package/renderers/html.renderer.d.ts +123 -0
- package/renderers/html.renderer.d.ts.map +1 -0
- package/renderers/index.d.ts +36 -0
- package/renderers/index.d.ts.map +1 -0
- package/renderers/index.js +1882 -0
- package/renderers/mdx.renderer.d.ts +120 -0
- package/renderers/mdx.renderer.d.ts.map +1 -0
- package/renderers/react.renderer.d.ts +96 -0
- package/renderers/react.renderer.d.ts.map +1 -0
- package/renderers/registry.d.ts +134 -0
- package/renderers/registry.d.ts.map +1 -0
- package/renderers/types.d.ts +342 -0
- package/renderers/types.d.ts.map +1 -0
- package/renderers/utils/detect.d.ts +107 -0
- package/renderers/utils/detect.d.ts.map +1 -0
- package/renderers/utils/hash.d.ts +40 -0
- package/renderers/utils/hash.d.ts.map +1 -0
- package/renderers/utils/index.d.ts +9 -0
- package/renderers/utils/index.d.ts.map +1 -0
- package/renderers/utils/transpiler.d.ts +89 -0
- package/renderers/utils/transpiler.d.ts.map +1 -0
- package/runtime/adapters/html.adapter.d.ts +59 -0
- package/runtime/adapters/html.adapter.d.ts.map +1 -0
- package/runtime/adapters/index.d.ts +26 -0
- package/runtime/adapters/index.d.ts.map +1 -0
- package/runtime/adapters/mdx.adapter.d.ts +73 -0
- package/runtime/adapters/mdx.adapter.d.ts.map +1 -0
- package/runtime/adapters/react.adapter.d.ts +70 -0
- package/runtime/adapters/react.adapter.d.ts.map +1 -0
- package/runtime/adapters/types.d.ts +95 -0
- package/runtime/adapters/types.d.ts.map +1 -0
- package/runtime/csp.d.ts +48 -0
- package/runtime/csp.d.ts.map +1 -0
- package/runtime/index.d.ts +17 -0
- package/runtime/index.d.ts.map +1 -0
- package/runtime/index.js +5264 -0
- package/runtime/mcp-bridge.d.ts +101 -0
- package/runtime/mcp-bridge.d.ts.map +1 -0
- package/runtime/renderer-runtime.d.ts +133 -0
- package/runtime/renderer-runtime.d.ts.map +1 -0
- package/runtime/sanitizer.d.ts +172 -0
- package/runtime/sanitizer.d.ts.map +1 -0
- package/runtime/types.d.ts +415 -0
- package/runtime/types.d.ts.map +1 -0
- package/runtime/wrapper.d.ts +421 -0
- package/runtime/wrapper.d.ts.map +1 -0
- package/styles/index.d.ts +8 -0
- package/styles/index.d.ts.map +1 -0
- package/styles/index.js +222 -0
- package/styles/variants.d.ts +51 -0
- package/styles/variants.d.ts.map +1 -0
- package/theme/cdn.d.ts +195 -0
- package/theme/cdn.d.ts.map +1 -0
- package/theme/index.d.ts +18 -0
- package/theme/index.d.ts.map +1 -0
- package/theme/index.js +757 -0
- package/theme/platforms.d.ts +107 -0
- package/theme/platforms.d.ts.map +1 -0
- package/theme/presets/github-openai.d.ts +50 -0
- package/theme/presets/github-openai.d.ts.map +1 -0
- package/theme/presets/index.d.ts +11 -0
- package/theme/presets/index.d.ts.map +1 -0
- package/theme/theme.d.ts +396 -0
- package/theme/theme.d.ts.map +1 -0
- package/tool-template/builder.d.ts +213 -0
- package/tool-template/builder.d.ts.map +1 -0
- package/tool-template/index.d.ts +16 -0
- package/tool-template/index.d.ts.map +1 -0
- package/tool-template/index.js +3559 -0
- package/types/index.d.ts +14 -0
- package/types/index.d.ts.map +1 -0
- package/types/index.js +108 -0
- package/types/ui-config.d.ts +639 -0
- package/types/ui-config.d.ts.map +1 -0
- package/types/ui-runtime.d.ts +1007 -0
- package/types/ui-runtime.d.ts.map +1 -0
- package/typings/cache/cache-adapter.d.ts +125 -0
- package/typings/cache/cache-adapter.d.ts.map +1 -0
- package/typings/cache/index.d.ts +10 -0
- package/typings/cache/index.d.ts.map +1 -0
- package/typings/cache/memory-cache.d.ts +92 -0
- package/typings/cache/memory-cache.d.ts.map +1 -0
- package/typings/dts-parser.d.ts +90 -0
- package/typings/dts-parser.d.ts.map +1 -0
- package/typings/index.d.ts +48 -0
- package/typings/index.d.ts.map +1 -0
- package/typings/schemas.d.ts +232 -0
- package/typings/schemas.d.ts.map +1 -0
- package/typings/type-fetcher.d.ts +89 -0
- package/typings/type-fetcher.d.ts.map +1 -0
- package/typings/types.d.ts +320 -0
- package/typings/types.d.ts.map +1 -0
- package/universal/UniversalApp.d.ts +108 -0
- package/universal/UniversalApp.d.ts.map +1 -0
- package/universal/cached-runtime.d.ts +115 -0
- package/universal/cached-runtime.d.ts.map +1 -0
- package/universal/context.d.ts +122 -0
- package/universal/context.d.ts.map +1 -0
- package/universal/index.d.ts +57 -0
- package/universal/index.d.ts.map +1 -0
- package/universal/renderers/html.renderer.d.ts +37 -0
- package/universal/renderers/html.renderer.d.ts.map +1 -0
- package/universal/renderers/index.d.ts +112 -0
- package/universal/renderers/index.d.ts.map +1 -0
- package/universal/renderers/markdown.renderer.d.ts +33 -0
- package/universal/renderers/markdown.renderer.d.ts.map +1 -0
- package/universal/renderers/mdx.renderer.d.ts +38 -0
- package/universal/renderers/mdx.renderer.d.ts.map +1 -0
- package/universal/renderers/react.renderer.d.ts +46 -0
- package/universal/renderers/react.renderer.d.ts.map +1 -0
- package/universal/runtime-builder.d.ts +33 -0
- package/universal/runtime-builder.d.ts.map +1 -0
- package/universal/store.d.ts +135 -0
- package/universal/store.d.ts.map +1 -0
- package/universal/types.d.ts +199 -0
- package/universal/types.d.ts.map +1 -0
- package/utils/escape-html.d.ts +58 -0
- package/utils/escape-html.d.ts.map +1 -0
- package/utils/index.d.ts +10 -0
- package/utils/index.d.ts.map +1 -0
- package/utils/index.js +70 -0
- package/utils/safe-stringify.d.ts +30 -0
- package/utils/safe-stringify.d.ts.map +1 -0
- package/validation/error-box.d.ts +56 -0
- package/validation/error-box.d.ts.map +1 -0
- package/validation/index.d.ts +13 -0
- package/validation/index.d.ts.map +1 -0
- package/validation/index.js +603 -0
- package/validation/schema-paths.d.ts +118 -0
- package/validation/schema-paths.d.ts.map +1 -0
- package/validation/template-validator.d.ts +143 -0
- package/validation/template-validator.d.ts.map +1 -0
- package/validation/wrapper.d.ts +97 -0
- package/validation/wrapper.d.ts.map +1 -0
- package/web-components/core/attribute-parser.d.ts +82 -0
- package/web-components/core/attribute-parser.d.ts.map +1 -0
- package/web-components/core/base-element.d.ts +197 -0
- package/web-components/core/base-element.d.ts.map +1 -0
- package/web-components/core/index.d.ts +9 -0
- package/web-components/core/index.d.ts.map +1 -0
- package/web-components/elements/fmcp-alert.d.ts +46 -0
- package/web-components/elements/fmcp-alert.d.ts.map +1 -0
- package/web-components/elements/fmcp-badge.d.ts +47 -0
- package/web-components/elements/fmcp-badge.d.ts.map +1 -0
- package/web-components/elements/fmcp-button.d.ts +117 -0
- package/web-components/elements/fmcp-button.d.ts.map +1 -0
- package/web-components/elements/fmcp-card.d.ts +53 -0
- package/web-components/elements/fmcp-card.d.ts.map +1 -0
- package/web-components/elements/fmcp-input.d.ts +96 -0
- package/web-components/elements/fmcp-input.d.ts.map +1 -0
- package/web-components/elements/fmcp-select.d.ts +100 -0
- package/web-components/elements/fmcp-select.d.ts.map +1 -0
- package/web-components/elements/index.d.ts +13 -0
- package/web-components/elements/index.d.ts.map +1 -0
- package/web-components/index.d.ts +50 -0
- package/web-components/index.d.ts.map +1 -0
- package/web-components/index.js +2093 -0
- package/web-components/register.d.ts +57 -0
- package/web-components/register.d.ts.map +1 -0
- package/web-components/types.d.ts +122 -0
- package/web-components/types.d.ts.map +1 -0
- package/widgets/index.d.ts +8 -0
- package/widgets/index.d.ts.map +1 -0
- package/widgets/index.js +978 -0
- package/widgets/progress.d.ts +133 -0
- package/widgets/progress.d.ts.map +1 -0
- package/widgets/resource.d.ts +163 -0
- package/widgets/resource.d.ts.map +1 -0
- package/src/adapters/index.d.ts +0 -10
- package/src/adapters/index.js +0 -18
- package/src/adapters/index.js.map +0 -1
- package/src/adapters/platform-meta.d.ts +0 -165
- package/src/adapters/platform-meta.js +0 -310
- package/src/adapters/platform-meta.js.map +0 -1
- package/src/base-template/bridge.d.ts +0 -89
- package/src/base-template/bridge.js +0 -452
- package/src/base-template/bridge.js.map +0 -1
- package/src/base-template/default-base-template.d.ts +0 -91
- package/src/base-template/default-base-template.js +0 -435
- package/src/base-template/default-base-template.js.map +0 -1
- package/src/base-template/index.d.ts +0 -14
- package/src/base-template/index.js +0 -30
- package/src/base-template/index.js.map +0 -1
- package/src/base-template/polyfills.d.ts +0 -30
- package/src/base-template/polyfills.js +0 -190
- package/src/base-template/polyfills.js.map +0 -1
- package/src/base-template/theme-styles.d.ts +0 -73
- package/src/base-template/theme-styles.js +0 -95
- package/src/base-template/theme-styles.js.map +0 -1
- package/src/bridge/adapters/base-adapter.d.ts +0 -103
- package/src/bridge/adapters/base-adapter.js +0 -314
- package/src/bridge/adapters/base-adapter.js.map +0 -1
- package/src/bridge/adapters/claude.adapter.d.ts +0 -66
- package/src/bridge/adapters/claude.adapter.js +0 -145
- package/src/bridge/adapters/claude.adapter.js.map +0 -1
- package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
- package/src/bridge/adapters/ext-apps.adapter.js +0 -416
- package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
- package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
- package/src/bridge/adapters/gemini.adapter.js +0 -160
- package/src/bridge/adapters/gemini.adapter.js.map +0 -1
- package/src/bridge/adapters/generic.adapter.d.ts +0 -55
- package/src/bridge/adapters/generic.adapter.js +0 -108
- package/src/bridge/adapters/generic.adapter.js.map +0 -1
- package/src/bridge/adapters/index.d.ts +0 -25
- package/src/bridge/adapters/index.js +0 -65
- package/src/bridge/adapters/index.js.map +0 -1
- package/src/bridge/adapters/openai.adapter.d.ts +0 -64
- package/src/bridge/adapters/openai.adapter.js +0 -194
- package/src/bridge/adapters/openai.adapter.js.map +0 -1
- package/src/bridge/core/adapter-registry.d.ts +0 -121
- package/src/bridge/core/adapter-registry.js +0 -271
- package/src/bridge/core/adapter-registry.js.map +0 -1
- package/src/bridge/core/bridge-factory.d.ts +0 -198
- package/src/bridge/core/bridge-factory.js +0 -428
- package/src/bridge/core/bridge-factory.js.map +0 -1
- package/src/bridge/core/index.d.ts +0 -9
- package/src/bridge/core/index.js +0 -22
- package/src/bridge/core/index.js.map +0 -1
- package/src/bridge/index.d.ts +0 -61
- package/src/bridge/index.js +0 -94
- package/src/bridge/index.js.map +0 -1
- package/src/bridge/runtime/iife-generator.d.ts +0 -61
- package/src/bridge/runtime/iife-generator.js +0 -940
- package/src/bridge/runtime/iife-generator.js.map +0 -1
- package/src/bridge/runtime/index.d.ts +0 -8
- package/src/bridge/runtime/index.js +0 -16
- package/src/bridge/runtime/index.js.map +0 -1
- package/src/bridge/types.d.ts +0 -385
- package/src/bridge/types.js +0 -11
- package/src/bridge/types.js.map +0 -1
- package/src/build/cdn-resources.d.ts +0 -140
- package/src/build/cdn-resources.js +0 -314
- package/src/build/cdn-resources.js.map +0 -1
- package/src/build/index.d.ts +0 -294
- package/src/build/index.js +0 -325
- package/src/build/index.js.map +0 -1
- package/src/build/widget-manifest.d.ts +0 -212
- package/src/build/widget-manifest.js +0 -652
- package/src/build/widget-manifest.js.map +0 -1
- package/src/bundler/bundler.d.ts +0 -110
- package/src/bundler/bundler.js +0 -432
- package/src/bundler/bundler.js.map +0 -1
- package/src/bundler/cache.d.ts +0 -172
- package/src/bundler/cache.js +0 -250
- package/src/bundler/cache.js.map +0 -1
- package/src/bundler/index.d.ts +0 -41
- package/src/bundler/index.js +0 -73
- package/src/bundler/index.js.map +0 -1
- package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
- package/src/bundler/sandbox/enclave-adapter.js +0 -339
- package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
- package/src/bundler/sandbox/executor.d.ts +0 -13
- package/src/bundler/sandbox/executor.js +0 -22
- package/src/bundler/sandbox/executor.js.map +0 -1
- package/src/bundler/sandbox/policy.d.ts +0 -61
- package/src/bundler/sandbox/policy.js +0 -238
- package/src/bundler/sandbox/policy.js.map +0 -1
- package/src/bundler/types.d.ts +0 -347
- package/src/bundler/types.js +0 -132
- package/src/bundler/types.js.map +0 -1
- package/src/components/alert.d.ts +0 -71
- package/src/components/alert.js +0 -189
- package/src/components/alert.js.map +0 -1
- package/src/components/alert.schema.d.ts +0 -114
- package/src/components/alert.schema.js +0 -105
- package/src/components/alert.schema.js.map +0 -1
- package/src/components/avatar.d.ts +0 -76
- package/src/components/avatar.js +0 -176
- package/src/components/avatar.js.map +0 -1
- package/src/components/avatar.schema.d.ts +0 -169
- package/src/components/avatar.schema.js +0 -103
- package/src/components/avatar.schema.js.map +0 -1
- package/src/components/badge.d.ts +0 -70
- package/src/components/badge.js +0 -149
- package/src/components/badge.js.map +0 -1
- package/src/components/badge.schema.d.ts +0 -109
- package/src/components/badge.schema.js +0 -96
- package/src/components/badge.schema.js.map +0 -1
- package/src/components/button.d.ts +0 -111
- package/src/components/button.js +0 -336
- package/src/components/button.js.map +0 -1
- package/src/components/button.schema.d.ts +0 -148
- package/src/components/button.schema.js +0 -121
- package/src/components/button.schema.js.map +0 -1
- package/src/components/card.d.ts +0 -60
- package/src/components/card.js +0 -117
- package/src/components/card.js.map +0 -1
- package/src/components/card.schema.d.ts +0 -113
- package/src/components/card.schema.js +0 -98
- package/src/components/card.schema.js.map +0 -1
- package/src/components/form.d.ts +0 -239
- package/src/components/form.js +0 -420
- package/src/components/form.js.map +0 -1
- package/src/components/form.schema.d.ts +0 -441
- package/src/components/form.schema.js +0 -406
- package/src/components/form.schema.js.map +0 -1
- package/src/components/index.d.ts +0 -29
- package/src/components/index.js +0 -98
- package/src/components/index.js.map +0 -1
- package/src/components/list.d.ts +0 -127
- package/src/components/list.js +0 -279
- package/src/components/list.js.map +0 -1
- package/src/components/list.schema.d.ts +0 -134
- package/src/components/list.schema.js +0 -168
- package/src/components/list.schema.js.map +0 -1
- package/src/components/modal.d.ts +0 -111
- package/src/components/modal.js +0 -260
- package/src/components/modal.js.map +0 -1
- package/src/components/modal.schema.d.ts +0 -186
- package/src/components/modal.schema.js +0 -167
- package/src/components/modal.schema.js.map +0 -1
- package/src/components/table.d.ts +0 -105
- package/src/components/table.js +0 -283
- package/src/components/table.js.map +0 -1
- package/src/components/table.schema.d.ts +0 -159
- package/src/components/table.schema.js +0 -173
- package/src/components/table.schema.js.map +0 -1
- package/src/handlebars/helpers.d.ts +0 -348
- package/src/handlebars/helpers.js +0 -605
- package/src/handlebars/helpers.js.map +0 -1
- package/src/handlebars/index.d.ts +0 -193
- package/src/handlebars/index.js +0 -350
- package/src/handlebars/index.js.map +0 -1
- package/src/index.d.ts +0 -50
- package/src/index.js +0 -192
- package/src/index.js.map +0 -1
- package/src/layouts/base.d.ts +0 -88
- package/src/layouts/base.js +0 -227
- package/src/layouts/base.js.map +0 -1
- package/src/layouts/index.d.ts +0 -7
- package/src/layouts/index.js +0 -25
- package/src/layouts/index.js.map +0 -1
- package/src/layouts/presets.d.ts +0 -133
- package/src/layouts/presets.js +0 -277
- package/src/layouts/presets.js.map +0 -1
- package/src/pages/consent.d.ts +0 -116
- package/src/pages/consent.js +0 -218
- package/src/pages/consent.js.map +0 -1
- package/src/pages/error.d.ts +0 -100
- package/src/pages/error.js +0 -263
- package/src/pages/error.js.map +0 -1
- package/src/pages/index.d.ts +0 -8
- package/src/pages/index.js +0 -27
- package/src/pages/index.js.map +0 -1
- package/src/react/Alert.d.ts +0 -101
- package/src/react/Alert.js +0 -51
- package/src/react/Alert.js.map +0 -1
- package/src/react/Badge.d.ts +0 -100
- package/src/react/Badge.js +0 -55
- package/src/react/Badge.js.map +0 -1
- package/src/react/Button.d.ts +0 -108
- package/src/react/Button.js +0 -52
- package/src/react/Button.js.map +0 -1
- package/src/react/Card.d.ts +0 -103
- package/src/react/Card.js +0 -55
- package/src/react/Card.js.map +0 -1
- package/src/react/hooks/context.d.ts +0 -178
- package/src/react/hooks/context.js +0 -287
- package/src/react/hooks/context.js.map +0 -1
- package/src/react/hooks/index.d.ts +0 -41
- package/src/react/hooks/index.js +0 -61
- package/src/react/hooks/index.js.map +0 -1
- package/src/react/hooks/tools.d.ts +0 -283
- package/src/react/hooks/tools.js +0 -465
- package/src/react/hooks/tools.js.map +0 -1
- package/src/react/index.d.ts +0 -80
- package/src/react/index.js +0 -113
- package/src/react/index.js.map +0 -1
- package/src/react/types.d.ts +0 -105
- package/src/react/types.js +0 -12
- package/src/react/types.js.map +0 -1
- package/src/react/utils.d.ts +0 -42
- package/src/react/utils.js +0 -99
- package/src/react/utils.js.map +0 -1
- package/src/registry/index.d.ts +0 -45
- package/src/registry/index.js +0 -67
- package/src/registry/index.js.map +0 -1
- package/src/registry/render-template.d.ts +0 -86
- package/src/registry/render-template.js +0 -239
- package/src/registry/render-template.js.map +0 -1
- package/src/registry/tool-ui.registry.d.ts +0 -260
- package/src/registry/tool-ui.registry.js +0 -438
- package/src/registry/tool-ui.registry.js.map +0 -1
- package/src/registry/uri-utils.d.ts +0 -55
- package/src/registry/uri-utils.js +0 -97
- package/src/registry/uri-utils.js.map +0 -1
- package/src/render/index.d.ts +0 -7
- package/src/render/index.js +0 -14
- package/src/render/index.js.map +0 -1
- package/src/render/prerender.d.ts +0 -56
- package/src/render/prerender.js +0 -98
- package/src/render/prerender.js.map +0 -1
- package/src/renderers/cache.d.ts +0 -144
- package/src/renderers/cache.js +0 -240
- package/src/renderers/cache.js.map +0 -1
- package/src/renderers/html.renderer.d.ts +0 -122
- package/src/renderers/html.renderer.js +0 -204
- package/src/renderers/html.renderer.js.map +0 -1
- package/src/renderers/index.d.ts +0 -35
- package/src/renderers/index.js +0 -70
- package/src/renderers/index.js.map +0 -1
- package/src/renderers/mdx.renderer.d.ts +0 -119
- package/src/renderers/mdx.renderer.js +0 -305
- package/src/renderers/mdx.renderer.js.map +0 -1
- package/src/renderers/react.renderer.d.ts +0 -95
- package/src/renderers/react.renderer.js +0 -260
- package/src/renderers/react.renderer.js.map +0 -1
- package/src/renderers/registry.d.ts +0 -133
- package/src/renderers/registry.js +0 -232
- package/src/renderers/registry.js.map +0 -1
- package/src/renderers/types.d.ts +0 -341
- package/src/renderers/types.js +0 -9
- package/src/renderers/types.js.map +0 -1
- package/src/renderers/utils/detect.d.ts +0 -106
- package/src/renderers/utils/detect.js +0 -267
- package/src/renderers/utils/detect.js.map +0 -1
- package/src/renderers/utils/hash.d.ts +0 -39
- package/src/renderers/utils/hash.js +0 -75
- package/src/renderers/utils/hash.js.map +0 -1
- package/src/renderers/utils/index.d.ts +0 -8
- package/src/renderers/utils/index.js +0 -28
- package/src/renderers/utils/index.js.map +0 -1
- package/src/renderers/utils/transpiler.d.ts +0 -88
- package/src/renderers/utils/transpiler.js +0 -215
- package/src/renderers/utils/transpiler.js.map +0 -1
- package/src/runtime/adapters/html.adapter.d.ts +0 -58
- package/src/runtime/adapters/html.adapter.js +0 -131
- package/src/runtime/adapters/html.adapter.js.map +0 -1
- package/src/runtime/adapters/index.d.ts +0 -25
- package/src/runtime/adapters/index.js +0 -54
- package/src/runtime/adapters/index.js.map +0 -1
- package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
- package/src/runtime/adapters/mdx.adapter.js +0 -241
- package/src/runtime/adapters/mdx.adapter.js.map +0 -1
- package/src/runtime/adapters/react.adapter.d.ts +0 -69
- package/src/runtime/adapters/react.adapter.js +0 -245
- package/src/runtime/adapters/react.adapter.js.map +0 -1
- package/src/runtime/adapters/types.d.ts +0 -94
- package/src/runtime/adapters/types.js +0 -11
- package/src/runtime/adapters/types.js.map +0 -1
- package/src/runtime/csp.d.ts +0 -37
- package/src/runtime/csp.js +0 -140
- package/src/runtime/csp.js.map +0 -1
- package/src/runtime/index.d.ts +0 -16
- package/src/runtime/index.js +0 -72
- package/src/runtime/index.js.map +0 -1
- package/src/runtime/mcp-bridge.d.ts +0 -100
- package/src/runtime/mcp-bridge.js +0 -581
- package/src/runtime/mcp-bridge.js.map +0 -1
- package/src/runtime/renderer-runtime.d.ts +0 -132
- package/src/runtime/renderer-runtime.js +0 -389
- package/src/runtime/renderer-runtime.js.map +0 -1
- package/src/runtime/sanitizer.d.ts +0 -171
- package/src/runtime/sanitizer.js +0 -318
- package/src/runtime/sanitizer.js.map +0 -1
- package/src/runtime/types.d.ts +0 -414
- package/src/runtime/types.js +0 -12
- package/src/runtime/types.js.map +0 -1
- package/src/runtime/wrapper.d.ts +0 -375
- package/src/runtime/wrapper.js +0 -1793
- package/src/runtime/wrapper.js.map +0 -1
- package/src/styles/index.d.ts +0 -7
- package/src/styles/index.js +0 -11
- package/src/styles/index.js.map +0 -1
- package/src/styles/variants.d.ts +0 -50
- package/src/styles/variants.js +0 -175
- package/src/styles/variants.js.map +0 -1
- package/src/theme/cdn.d.ts +0 -194
- package/src/theme/cdn.js +0 -375
- package/src/theme/cdn.js.map +0 -1
- package/src/theme/index.d.ts +0 -17
- package/src/theme/index.js +0 -57
- package/src/theme/index.js.map +0 -1
- package/src/theme/platforms.d.ts +0 -106
- package/src/theme/platforms.js +0 -161
- package/src/theme/platforms.js.map +0 -1
- package/src/theme/presets/github-openai.d.ts +0 -49
- package/src/theme/presets/github-openai.js +0 -189
- package/src/theme/presets/github-openai.js.map +0 -1
- package/src/theme/presets/index.d.ts +0 -10
- package/src/theme/presets/index.js +0 -17
- package/src/theme/presets/index.js.map +0 -1
- package/src/theme/theme.d.ts +0 -395
- package/src/theme/theme.js +0 -332
- package/src/theme/theme.js.map +0 -1
- package/src/tool-template/builder.d.ts +0 -212
- package/src/tool-template/builder.js +0 -397
- package/src/tool-template/builder.js.map +0 -1
- package/src/tool-template/index.d.ts +0 -15
- package/src/tool-template/index.js +0 -38
- package/src/tool-template/index.js.map +0 -1
- package/src/types/index.d.ts +0 -13
- package/src/types/index.js +0 -26
- package/src/types/index.js.map +0 -1
- package/src/types/ui-config.d.ts +0 -357
- package/src/types/ui-config.js +0 -12
- package/src/types/ui-config.js.map +0 -1
- package/src/types/ui-runtime.d.ts +0 -965
- package/src/types/ui-runtime.js +0 -117
- package/src/types/ui-runtime.js.map +0 -1
- package/src/validation/error-box.d.ts +0 -55
- package/src/validation/error-box.js +0 -75
- package/src/validation/error-box.js.map +0 -1
- package/src/validation/index.d.ts +0 -12
- package/src/validation/index.js +0 -21
- package/src/validation/index.js.map +0 -1
- package/src/validation/wrapper.d.ts +0 -96
- package/src/validation/wrapper.js +0 -117
- package/src/validation/wrapper.js.map +0 -1
- package/src/web-components/core/attribute-parser.d.ts +0 -85
- package/src/web-components/core/attribute-parser.js +0 -189
- package/src/web-components/core/attribute-parser.js.map +0 -1
- package/src/web-components/core/base-element.d.ts +0 -197
- package/src/web-components/core/base-element.js +0 -289
- package/src/web-components/core/base-element.js.map +0 -1
- package/src/web-components/core/index.d.ts +0 -8
- package/src/web-components/core/index.js +0 -18
- package/src/web-components/core/index.js.map +0 -1
- package/src/web-components/elements/fmcp-alert.d.ts +0 -45
- package/src/web-components/elements/fmcp-alert.js +0 -93
- package/src/web-components/elements/fmcp-alert.js.map +0 -1
- package/src/web-components/elements/fmcp-badge.d.ts +0 -46
- package/src/web-components/elements/fmcp-badge.js +0 -99
- package/src/web-components/elements/fmcp-badge.js.map +0 -1
- package/src/web-components/elements/fmcp-button.d.ts +0 -124
- package/src/web-components/elements/fmcp-button.js +0 -233
- package/src/web-components/elements/fmcp-button.js.map +0 -1
- package/src/web-components/elements/fmcp-card.d.ts +0 -52
- package/src/web-components/elements/fmcp-card.js +0 -115
- package/src/web-components/elements/fmcp-card.js.map +0 -1
- package/src/web-components/elements/fmcp-input.d.ts +0 -95
- package/src/web-components/elements/fmcp-input.js +0 -248
- package/src/web-components/elements/fmcp-input.js.map +0 -1
- package/src/web-components/elements/fmcp-select.d.ts +0 -99
- package/src/web-components/elements/fmcp-select.js +0 -243
- package/src/web-components/elements/fmcp-select.js.map +0 -1
- package/src/web-components/elements/index.d.ts +0 -12
- package/src/web-components/elements/index.js +0 -34
- package/src/web-components/elements/index.js.map +0 -1
- package/src/web-components/index.d.ts +0 -49
- package/src/web-components/index.js +0 -75
- package/src/web-components/index.js.map +0 -1
- package/src/web-components/register.d.ts +0 -56
- package/src/web-components/register.js +0 -80
- package/src/web-components/register.js.map +0 -1
- package/src/web-components/types.d.ts +0 -121
- package/src/web-components/types.js +0 -25
- package/src/web-components/types.js.map +0 -1
- package/src/widgets/index.d.ts +0 -7
- package/src/widgets/index.js +0 -24
- package/src/widgets/index.js.map +0 -1
- package/src/widgets/progress.d.ts +0 -132
- package/src/widgets/progress.js +0 -303
- package/src/widgets/progress.js.map +0 -1
- package/src/widgets/resource.d.ts +0 -162
- package/src/widgets/resource.js +0 -340
- package/src/widgets/resource.js.map +0 -1
package/src/pages/index.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Page Templates Module
|
|
3
|
-
*
|
|
4
|
-
* Minimal page templates that complement SDK auth flows.
|
|
5
|
-
* Login/Register flows are handled by @frontmcp/sdk auth system.
|
|
6
|
-
*/
|
|
7
|
-
export { type ClientInfo, type UserInfo, type ConsentPageOptions, type ConsentSuccessOptions, type ConsentDeniedOptions, consentPage, consentSuccessPage, consentDeniedPage, } from './consent';
|
|
8
|
-
export { type ErrorPageOptions, type OAuthErrorPageOptions, errorPage, notFoundPage, forbiddenPage, unauthorizedPage, serverErrorPage, maintenancePage, rateLimitPage, offlinePage, sessionExpiredPage, oauthErrorPage, } from './error';
|
package/src/pages/index.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Page Templates Module
|
|
4
|
-
*
|
|
5
|
-
* Minimal page templates that complement SDK auth flows.
|
|
6
|
-
* Login/Register flows are handled by @frontmcp/sdk auth system.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.oauthErrorPage = exports.sessionExpiredPage = exports.offlinePage = exports.rateLimitPage = exports.maintenancePage = exports.serverErrorPage = exports.unauthorizedPage = exports.forbiddenPage = exports.notFoundPage = exports.errorPage = exports.consentDeniedPage = exports.consentSuccessPage = exports.consentPage = void 0;
|
|
10
|
-
// Consent pages (OAuth/OpenID consent flows)
|
|
11
|
-
var consent_1 = require("./consent");
|
|
12
|
-
Object.defineProperty(exports, "consentPage", { enumerable: true, get: function () { return consent_1.consentPage; } });
|
|
13
|
-
Object.defineProperty(exports, "consentSuccessPage", { enumerable: true, get: function () { return consent_1.consentSuccessPage; } });
|
|
14
|
-
Object.defineProperty(exports, "consentDeniedPage", { enumerable: true, get: function () { return consent_1.consentDeniedPage; } });
|
|
15
|
-
// Error pages (generic error display)
|
|
16
|
-
var error_1 = require("./error");
|
|
17
|
-
Object.defineProperty(exports, "errorPage", { enumerable: true, get: function () { return error_1.errorPage; } });
|
|
18
|
-
Object.defineProperty(exports, "notFoundPage", { enumerable: true, get: function () { return error_1.notFoundPage; } });
|
|
19
|
-
Object.defineProperty(exports, "forbiddenPage", { enumerable: true, get: function () { return error_1.forbiddenPage; } });
|
|
20
|
-
Object.defineProperty(exports, "unauthorizedPage", { enumerable: true, get: function () { return error_1.unauthorizedPage; } });
|
|
21
|
-
Object.defineProperty(exports, "serverErrorPage", { enumerable: true, get: function () { return error_1.serverErrorPage; } });
|
|
22
|
-
Object.defineProperty(exports, "maintenancePage", { enumerable: true, get: function () { return error_1.maintenancePage; } });
|
|
23
|
-
Object.defineProperty(exports, "rateLimitPage", { enumerable: true, get: function () { return error_1.rateLimitPage; } });
|
|
24
|
-
Object.defineProperty(exports, "offlinePage", { enumerable: true, get: function () { return error_1.offlinePage; } });
|
|
25
|
-
Object.defineProperty(exports, "sessionExpiredPage", { enumerable: true, get: function () { return error_1.sessionExpiredPage; } });
|
|
26
|
-
Object.defineProperty(exports, "oauthErrorPage", { enumerable: true, get: function () { return error_1.oauthErrorPage; } });
|
|
27
|
-
//# sourceMappingURL=index.js.map
|
package/src/pages/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pages/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6CAA6C;AAC7C,qCASmB;AAHjB,sGAAA,WAAW,OAAA;AACX,6GAAA,kBAAkB,OAAA;AAClB,4GAAA,iBAAiB,OAAA;AAGnB,sCAAsC;AACtC,iCAaiB;AAVf,kGAAA,SAAS,OAAA;AACT,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,yGAAA,gBAAgB,OAAA;AAChB,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,oGAAA,WAAW,OAAA;AACX,2GAAA,kBAAkB,OAAA;AAClB,uGAAA,cAAc,OAAA","sourcesContent":["/**\n * Page Templates Module\n *\n * Minimal page templates that complement SDK auth flows.\n * Login/Register flows are handled by @frontmcp/sdk auth system.\n */\n\n// Consent pages (OAuth/OpenID consent flows)\nexport {\n type ClientInfo,\n type UserInfo,\n type ConsentPageOptions,\n type ConsentSuccessOptions,\n type ConsentDeniedOptions,\n consentPage,\n consentSuccessPage,\n consentDeniedPage,\n} from './consent';\n\n// Error pages (generic error display)\nexport {\n type ErrorPageOptions,\n type OAuthErrorPageOptions,\n errorPage,\n notFoundPage,\n forbiddenPage,\n unauthorizedPage,\n serverErrorPage,\n maintenancePage,\n rateLimitPage,\n offlinePage,\n sessionExpiredPage,\n oauthErrorPage,\n} from './error';\n"]}
|
package/src/react/Alert.d.ts
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Alert.tsx
|
|
3
|
-
* @description React Alert component with static HTML rendering support.
|
|
4
|
-
*
|
|
5
|
-
* This is the single source of truth for the Alert component. It can be used:
|
|
6
|
-
* 1. As a React component: `<Alert variant="success" title="Success!">Message</Alert>`
|
|
7
|
-
* 2. As a static HTML generator: `await renderAlert({ variant: 'success', children: 'Message' })`
|
|
8
|
-
*
|
|
9
|
-
* @example React usage
|
|
10
|
-
* ```tsx
|
|
11
|
-
* import { Alert } from '@frontmcp/ui/react';
|
|
12
|
-
*
|
|
13
|
-
* function App() {
|
|
14
|
-
* return (
|
|
15
|
-
* <Alert variant="success" title="Success!">
|
|
16
|
-
* Your changes have been saved.
|
|
17
|
-
* </Alert>
|
|
18
|
-
* );
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* @example Dismissible alert
|
|
23
|
-
* ```tsx
|
|
24
|
-
* <Alert variant="warning" dismissible onDismiss={() => setShow(false)}>
|
|
25
|
-
* This action cannot be undone.
|
|
26
|
-
* </Alert>
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @example Static HTML generation
|
|
30
|
-
* ```typescript
|
|
31
|
-
* import { renderAlert } from '@frontmcp/ui/react';
|
|
32
|
-
*
|
|
33
|
-
* const html = await renderAlert({
|
|
34
|
-
* variant: 'info',
|
|
35
|
-
* title: 'Note',
|
|
36
|
-
* children: 'Please review before submitting.',
|
|
37
|
-
* });
|
|
38
|
-
* ```
|
|
39
|
-
*
|
|
40
|
-
* @module @frontmcp/ui/react/Alert
|
|
41
|
-
*/
|
|
42
|
-
import type { ReactNode, ReactElement } from 'react';
|
|
43
|
-
import { type AlertVariant } from '../styles/variants';
|
|
44
|
-
/**
|
|
45
|
-
* Alert component props
|
|
46
|
-
*/
|
|
47
|
-
export interface AlertProps {
|
|
48
|
-
/** Alert variant */
|
|
49
|
-
variant?: AlertVariant;
|
|
50
|
-
/** Alert title */
|
|
51
|
-
title?: string;
|
|
52
|
-
/** Custom icon (React element) */
|
|
53
|
-
icon?: ReactNode;
|
|
54
|
-
/** Show default icon based on variant */
|
|
55
|
-
showIcon?: boolean;
|
|
56
|
-
/** Dismissible alert */
|
|
57
|
-
dismissible?: boolean;
|
|
58
|
-
/** Dismiss callback */
|
|
59
|
-
onDismiss?: () => void;
|
|
60
|
-
/** Additional CSS classes */
|
|
61
|
-
className?: string;
|
|
62
|
-
/** Alert content */
|
|
63
|
-
children?: ReactNode;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Alert component.
|
|
67
|
-
*
|
|
68
|
-
* A notification component for displaying important messages.
|
|
69
|
-
* Uses Tailwind CSS classes for styling.
|
|
70
|
-
*/
|
|
71
|
-
export declare function Alert({ variant, title, icon, showIcon, dismissible, onDismiss, className, children, }: AlertProps): ReactElement;
|
|
72
|
-
/**
|
|
73
|
-
* Props for static render functions (children is always a string)
|
|
74
|
-
*/
|
|
75
|
-
export interface AlertRenderProps extends Omit<AlertProps, 'children' | 'icon' | 'onDismiss'> {
|
|
76
|
-
/** Alert content as string */
|
|
77
|
-
children?: string;
|
|
78
|
-
/** Icon as HTML string */
|
|
79
|
-
icon?: string;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Render Alert component to static HTML string (async).
|
|
83
|
-
*
|
|
84
|
-
* Uses React 19's prerender API for optimal static HTML generation.
|
|
85
|
-
*
|
|
86
|
-
* @param props - Alert props (with string children)
|
|
87
|
-
* @returns Promise resolving to HTML string
|
|
88
|
-
*/
|
|
89
|
-
export declare function renderAlert(props: AlertRenderProps): Promise<string>;
|
|
90
|
-
/**
|
|
91
|
-
* Render Alert component to static HTML string (sync).
|
|
92
|
-
*
|
|
93
|
-
* Uses React's renderToStaticMarkup for synchronous rendering.
|
|
94
|
-
* Does NOT wait for Suspense boundaries.
|
|
95
|
-
*
|
|
96
|
-
* @param props - Alert props (with string children)
|
|
97
|
-
* @returns HTML string
|
|
98
|
-
*/
|
|
99
|
-
export declare function renderAlertSync(props: AlertRenderProps): string;
|
|
100
|
-
export type { AlertVariant };
|
|
101
|
-
export default Alert;
|
package/src/react/Alert.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Alert = Alert;
|
|
4
|
-
exports.renderAlert = renderAlert;
|
|
5
|
-
exports.renderAlertSync = renderAlertSync;
|
|
6
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
const variants_1 = require("../styles/variants");
|
|
8
|
-
const prerender_1 = require("../render/prerender");
|
|
9
|
-
/**
|
|
10
|
-
* Alert component.
|
|
11
|
-
*
|
|
12
|
-
* A notification component for displaying important messages.
|
|
13
|
-
* Uses Tailwind CSS classes for styling.
|
|
14
|
-
*/
|
|
15
|
-
function Alert({ variant = 'info', title, icon, showIcon = true, dismissible = false, onDismiss, className, children, }) {
|
|
16
|
-
const variantStyles = (0, variants_1.getAlertVariantClasses)(variant);
|
|
17
|
-
const allClasses = (0, variants_1.cn)(variants_1.ALERT_BASE_CLASSES, variantStyles.container, className);
|
|
18
|
-
// Use custom icon or default variant icon
|
|
19
|
-
const iconContent = icon ||
|
|
20
|
-
(showIcon ? ((0, jsx_runtime_1.jsx)("span", { className: (0, variants_1.cn)('flex-shrink-0', variantStyles.icon), dangerouslySetInnerHTML: { __html: variants_1.ALERT_ICONS[variant] } })) : null);
|
|
21
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: allClasses, role: "alert", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex", children: [iconContent && (0, jsx_runtime_1.jsx)("div", { className: "flex-shrink-0 mr-3", children: iconContent }), (0, jsx_runtime_1.jsxs)("div", { className: "flex-1", children: [title && (0, jsx_runtime_1.jsx)("h4", { className: "font-semibold mb-1", children: title }), (0, jsx_runtime_1.jsx)("div", { className: "text-sm", children: children })] }), dismissible && ((0, jsx_runtime_1.jsx)("button", { type: "button", className: "flex-shrink-0 ml-3 hover:opacity-70 transition-opacity", "aria-label": "Dismiss", onClick: onDismiss, children: (0, jsx_runtime_1.jsx)("span", { dangerouslySetInnerHTML: { __html: variants_1.CLOSE_ICON } }) }))] }) }));
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Render Alert component to static HTML string (async).
|
|
25
|
-
*
|
|
26
|
-
* Uses React 19's prerender API for optimal static HTML generation.
|
|
27
|
-
*
|
|
28
|
-
* @param props - Alert props (with string children)
|
|
29
|
-
* @returns Promise resolving to HTML string
|
|
30
|
-
*/
|
|
31
|
-
async function renderAlert(props) {
|
|
32
|
-
const { children, icon, ...rest } = props;
|
|
33
|
-
const element = ((0, jsx_runtime_1.jsx)(Alert, { ...rest, icon: icon ? (0, jsx_runtime_1.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : undefined, children: children }));
|
|
34
|
-
return (0, prerender_1.renderToString)(element);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Render Alert component to static HTML string (sync).
|
|
38
|
-
*
|
|
39
|
-
* Uses React's renderToStaticMarkup for synchronous rendering.
|
|
40
|
-
* Does NOT wait for Suspense boundaries.
|
|
41
|
-
*
|
|
42
|
-
* @param props - Alert props (with string children)
|
|
43
|
-
* @returns HTML string
|
|
44
|
-
*/
|
|
45
|
-
function renderAlertSync(props) {
|
|
46
|
-
const { children, icon, ...rest } = props;
|
|
47
|
-
const element = ((0, jsx_runtime_1.jsx)(Alert, { ...rest, icon: icon ? (0, jsx_runtime_1.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : undefined, children: children }));
|
|
48
|
-
return (0, prerender_1.renderToStringSync)(element);
|
|
49
|
-
}
|
|
50
|
-
exports.default = Alert;
|
|
51
|
-
//# sourceMappingURL=Alert.js.map
|
package/src/react/Alert.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../../src/react/Alert.tsx"],"names":[],"mappings":";;AAkFA,sBA6CC;AAoBD,kCAQC;AAWD,0CAQC;;AAlID,iDAO4B;AAC5B,mDAAyE;AAwBzE;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,EACpB,OAAO,GAAG,MAAM,EAChB,KAAK,EACL,IAAI,EACJ,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,KAAK,EACnB,SAAS,EACT,SAAS,EACT,QAAQ,GACG;IACX,MAAM,aAAa,GAAG,IAAA,iCAAsB,EAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,IAAA,aAAE,EAAC,6BAAkB,EAAE,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE9E,0CAA0C;IAC1C,MAAM,WAAW,GACf,IAAI;QACJ,CAAC,QAAQ,CAAC,CAAC,CAAC,CACV,iCACE,SAAS,EAAE,IAAA,aAAE,EAAC,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,EAClD,uBAAuB,EAAE,EAAE,MAAM,EAAE,sBAAW,CAAC,OAAO,CAAC,EAAE,GACzD,CACH,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEZ,OAAO,CACL,gCAAK,SAAS,EAAE,UAAU,EAAE,IAAI,EAAC,OAAO,YACtC,iCAAK,SAAS,EAAC,MAAM,aAClB,WAAW,IAAI,gCAAK,SAAS,EAAC,oBAAoB,YAAE,WAAW,GAAO,EACvE,iCAAK,SAAS,EAAC,QAAQ,aACpB,KAAK,IAAI,+BAAI,SAAS,EAAC,oBAAoB,YAAE,KAAK,GAAM,EACzD,gCAAK,SAAS,EAAC,SAAS,YAAE,QAAQ,GAAO,IACrC,EACL,WAAW,IAAI,CACd,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,wDAAwD,gBACvD,SAAS,EACpB,OAAO,EAAE,SAAS,YAElB,iCAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,qBAAU,EAAE,GAAI,GAClD,CACV,IACG,GACF,CACP,CAAC;AACJ,CAAC;AAYD;;;;;;;GAOG;AACI,KAAK,UAAU,WAAW,CAAC,KAAuB;IACvD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,CACd,uBAAC,KAAK,OAAK,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iCAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CAAC,CAAC,CAAC,SAAS,YAC1F,QAAQ,GACH,CACT,CAAC;IACF,OAAO,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,KAAuB;IACrD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,CACd,uBAAC,KAAK,OAAK,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iCAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CAAC,CAAC,CAAC,SAAS,YAC1F,QAAQ,GACH,CACT,CAAC;IACF,OAAO,IAAA,8BAAkB,EAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAKD,kBAAe,KAAK,CAAC","sourcesContent":["/**\n * @file Alert.tsx\n * @description React Alert component with static HTML rendering support.\n *\n * This is the single source of truth for the Alert component. It can be used:\n * 1. As a React component: `<Alert variant=\"success\" title=\"Success!\">Message</Alert>`\n * 2. As a static HTML generator: `await renderAlert({ variant: 'success', children: 'Message' })`\n *\n * @example React usage\n * ```tsx\n * import { Alert } from '@frontmcp/ui/react';\n *\n * function App() {\n * return (\n * <Alert variant=\"success\" title=\"Success!\">\n * Your changes have been saved.\n * </Alert>\n * );\n * }\n * ```\n *\n * @example Dismissible alert\n * ```tsx\n * <Alert variant=\"warning\" dismissible onDismiss={() => setShow(false)}>\n * This action cannot be undone.\n * </Alert>\n * ```\n *\n * @example Static HTML generation\n * ```typescript\n * import { renderAlert } from '@frontmcp/ui/react';\n *\n * const html = await renderAlert({\n * variant: 'info',\n * title: 'Note',\n * children: 'Please review before submitting.',\n * });\n * ```\n *\n * @module @frontmcp/ui/react/Alert\n */\n\nimport React from 'react';\nimport type { ReactNode, ReactElement } from 'react';\nimport {\n type AlertVariant,\n getAlertVariantClasses,\n ALERT_BASE_CLASSES,\n ALERT_ICONS,\n CLOSE_ICON,\n cn,\n} from '../styles/variants';\nimport { renderToString, renderToStringSync } from '../render/prerender';\n\n/**\n * Alert component props\n */\nexport interface AlertProps {\n /** Alert variant */\n variant?: AlertVariant;\n /** Alert title */\n title?: string;\n /** Custom icon (React element) */\n icon?: ReactNode;\n /** Show default icon based on variant */\n showIcon?: boolean;\n /** Dismissible alert */\n dismissible?: boolean;\n /** Dismiss callback */\n onDismiss?: () => void;\n /** Additional CSS classes */\n className?: string;\n /** Alert content */\n children?: ReactNode;\n}\n\n/**\n * Alert component.\n *\n * A notification component for displaying important messages.\n * Uses Tailwind CSS classes for styling.\n */\nexport function Alert({\n variant = 'info',\n title,\n icon,\n showIcon = true,\n dismissible = false,\n onDismiss,\n className,\n children,\n}: AlertProps): ReactElement {\n const variantStyles = getAlertVariantClasses(variant);\n\n const allClasses = cn(ALERT_BASE_CLASSES, variantStyles.container, className);\n\n // Use custom icon or default variant icon\n const iconContent =\n icon ||\n (showIcon ? (\n <span\n className={cn('flex-shrink-0', variantStyles.icon)}\n dangerouslySetInnerHTML={{ __html: ALERT_ICONS[variant] }}\n />\n ) : null);\n\n return (\n <div className={allClasses} role=\"alert\">\n <div className=\"flex\">\n {iconContent && <div className=\"flex-shrink-0 mr-3\">{iconContent}</div>}\n <div className=\"flex-1\">\n {title && <h4 className=\"font-semibold mb-1\">{title}</h4>}\n <div className=\"text-sm\">{children}</div>\n </div>\n {dismissible && (\n <button\n type=\"button\"\n className=\"flex-shrink-0 ml-3 hover:opacity-70 transition-opacity\"\n aria-label=\"Dismiss\"\n onClick={onDismiss}\n >\n <span dangerouslySetInnerHTML={{ __html: CLOSE_ICON }} />\n </button>\n )}\n </div>\n </div>\n );\n}\n\n/**\n * Props for static render functions (children is always a string)\n */\nexport interface AlertRenderProps extends Omit<AlertProps, 'children' | 'icon' | 'onDismiss'> {\n /** Alert content as string */\n children?: string;\n /** Icon as HTML string */\n icon?: string;\n}\n\n/**\n * Render Alert component to static HTML string (async).\n *\n * Uses React 19's prerender API for optimal static HTML generation.\n *\n * @param props - Alert props (with string children)\n * @returns Promise resolving to HTML string\n */\nexport async function renderAlert(props: AlertRenderProps): Promise<string> {\n const { children, icon, ...rest } = props;\n const element = (\n <Alert {...rest} icon={icon ? <span dangerouslySetInnerHTML={{ __html: icon }} /> : undefined}>\n {children}\n </Alert>\n );\n return renderToString(element);\n}\n\n/**\n * Render Alert component to static HTML string (sync).\n *\n * Uses React's renderToStaticMarkup for synchronous rendering.\n * Does NOT wait for Suspense boundaries.\n *\n * @param props - Alert props (with string children)\n * @returns HTML string\n */\nexport function renderAlertSync(props: AlertRenderProps): string {\n const { children, icon, ...rest } = props;\n const element = (\n <Alert {...rest} icon={icon ? <span dangerouslySetInnerHTML={{ __html: icon }} /> : undefined}>\n {children}\n </Alert>\n );\n return renderToStringSync(element);\n}\n\n// Re-export types\nexport type { AlertVariant };\n\nexport default Alert;\n"]}
|
package/src/react/Badge.d.ts
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Badge.tsx
|
|
3
|
-
* @description React Badge component with static HTML rendering support.
|
|
4
|
-
*
|
|
5
|
-
* This is the single source of truth for the Badge component. It can be used:
|
|
6
|
-
* 1. As a React component: `<Badge variant="success">Active</Badge>`
|
|
7
|
-
* 2. As a static HTML generator: `await renderBadge({ variant: 'success', children: 'Active' })`
|
|
8
|
-
*
|
|
9
|
-
* @example React usage
|
|
10
|
-
* ```tsx
|
|
11
|
-
* import { Badge } from '@frontmcp/ui/react';
|
|
12
|
-
*
|
|
13
|
-
* function App() {
|
|
14
|
-
* return (
|
|
15
|
-
* <Badge variant="success">Active</Badge>
|
|
16
|
-
* );
|
|
17
|
-
* }
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @example Pill badge
|
|
21
|
-
* ```tsx
|
|
22
|
-
* <Badge variant="info" pill>
|
|
23
|
-
* New Feature
|
|
24
|
-
* </Badge>
|
|
25
|
-
* ```
|
|
26
|
-
*
|
|
27
|
-
* @example Static HTML generation
|
|
28
|
-
* ```typescript
|
|
29
|
-
* import { renderBadge } from '@frontmcp/ui/react';
|
|
30
|
-
*
|
|
31
|
-
* const html = await renderBadge({
|
|
32
|
-
* variant: 'success',
|
|
33
|
-
* children: 'Active',
|
|
34
|
-
* });
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* @module @frontmcp/ui/react/Badge
|
|
38
|
-
*/
|
|
39
|
-
import type { ReactNode, ReactElement } from 'react';
|
|
40
|
-
import { type BadgeVariant, type BadgeSize } from '../styles/variants';
|
|
41
|
-
/**
|
|
42
|
-
* Badge component props
|
|
43
|
-
*/
|
|
44
|
-
export interface BadgeProps {
|
|
45
|
-
/** Badge variant */
|
|
46
|
-
variant?: BadgeVariant;
|
|
47
|
-
/** Badge size */
|
|
48
|
-
size?: BadgeSize;
|
|
49
|
-
/** Rounded pill style */
|
|
50
|
-
pill?: boolean;
|
|
51
|
-
/** Icon before text (React element) */
|
|
52
|
-
icon?: ReactNode;
|
|
53
|
-
/** Dot indicator (no text) */
|
|
54
|
-
dot?: boolean;
|
|
55
|
-
/** Additional CSS classes */
|
|
56
|
-
className?: string;
|
|
57
|
-
/** Removable badge */
|
|
58
|
-
removable?: boolean;
|
|
59
|
-
/** Remove callback */
|
|
60
|
-
onRemove?: () => void;
|
|
61
|
-
/** Badge content */
|
|
62
|
-
children?: ReactNode;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Badge component.
|
|
66
|
-
*
|
|
67
|
-
* A small status indicator or label component.
|
|
68
|
-
* Uses Tailwind CSS classes for styling.
|
|
69
|
-
*/
|
|
70
|
-
export declare function Badge({ variant, size, pill, icon, dot, className, removable, onRemove, children, }: BadgeProps): ReactElement;
|
|
71
|
-
/**
|
|
72
|
-
* Props for static render functions (children is always a string)
|
|
73
|
-
*/
|
|
74
|
-
export interface BadgeRenderProps extends Omit<BadgeProps, 'children' | 'icon' | 'onRemove'> {
|
|
75
|
-
/** Badge content as string */
|
|
76
|
-
children?: string;
|
|
77
|
-
/** Icon as HTML string */
|
|
78
|
-
icon?: string;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Render Badge component to static HTML string (async).
|
|
82
|
-
*
|
|
83
|
-
* Uses React 19's prerender API for optimal static HTML generation.
|
|
84
|
-
*
|
|
85
|
-
* @param props - Badge props (with string children)
|
|
86
|
-
* @returns Promise resolving to HTML string
|
|
87
|
-
*/
|
|
88
|
-
export declare function renderBadge(props: BadgeRenderProps): Promise<string>;
|
|
89
|
-
/**
|
|
90
|
-
* Render Badge component to static HTML string (sync).
|
|
91
|
-
*
|
|
92
|
-
* Uses React's renderToStaticMarkup for synchronous rendering.
|
|
93
|
-
* Does NOT wait for Suspense boundaries.
|
|
94
|
-
*
|
|
95
|
-
* @param props - Badge props (with string children)
|
|
96
|
-
* @returns HTML string
|
|
97
|
-
*/
|
|
98
|
-
export declare function renderBadgeSync(props: BadgeRenderProps): string;
|
|
99
|
-
export type { BadgeVariant, BadgeSize };
|
|
100
|
-
export default Badge;
|
package/src/react/Badge.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Badge = Badge;
|
|
4
|
-
exports.renderBadge = renderBadge;
|
|
5
|
-
exports.renderBadgeSync = renderBadgeSync;
|
|
6
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
const variants_1 = require("../styles/variants");
|
|
8
|
-
const prerender_1 = require("../render/prerender");
|
|
9
|
-
/**
|
|
10
|
-
* Badge component.
|
|
11
|
-
*
|
|
12
|
-
* A small status indicator or label component.
|
|
13
|
-
* Uses Tailwind CSS classes for styling.
|
|
14
|
-
*/
|
|
15
|
-
function Badge({ variant = 'default', size = 'md', pill = false, icon, dot = false, className, removable = false, onRemove, children, }) {
|
|
16
|
-
// Handle dot badge (status indicator)
|
|
17
|
-
if (dot) {
|
|
18
|
-
const dotClasses = (0, variants_1.cn)('inline-block rounded-full', (0, variants_1.getBadgeDotSizeClasses)(size), (0, variants_1.getBadgeDotVariantClasses)(variant), className);
|
|
19
|
-
const label = typeof children === 'string' ? children : undefined;
|
|
20
|
-
return (0, jsx_runtime_1.jsx)("span", { className: dotClasses, "aria-label": label, title: label });
|
|
21
|
-
}
|
|
22
|
-
const variantClasses = (0, variants_1.getBadgeVariantClasses)(variant);
|
|
23
|
-
const sizeClasses = (0, variants_1.getBadgeSizeClasses)(size);
|
|
24
|
-
const baseClasses = (0, variants_1.cn)('inline-flex items-center font-medium', pill ? 'rounded-full' : 'rounded-md', variantClasses, sizeClasses, className);
|
|
25
|
-
return ((0, jsx_runtime_1.jsxs)("span", { className: baseClasses, children: [icon && (0, jsx_runtime_1.jsx)("span", { className: "mr-1", children: icon }), children, removable && ((0, jsx_runtime_1.jsx)("button", { type: "button", className: "ml-1.5 -mr-1 hover:opacity-70 transition-opacity", "aria-label": "Remove", onClick: onRemove, children: (0, jsx_runtime_1.jsx)("svg", { className: "w-3 h-3", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" }) }) }))] }));
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Render Badge component to static HTML string (async).
|
|
29
|
-
*
|
|
30
|
-
* Uses React 19's prerender API for optimal static HTML generation.
|
|
31
|
-
*
|
|
32
|
-
* @param props - Badge props (with string children)
|
|
33
|
-
* @returns Promise resolving to HTML string
|
|
34
|
-
*/
|
|
35
|
-
async function renderBadge(props) {
|
|
36
|
-
const { children, icon, ...rest } = props;
|
|
37
|
-
const element = ((0, jsx_runtime_1.jsx)(Badge, { ...rest, icon: icon ? (0, jsx_runtime_1.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : undefined, children: children }));
|
|
38
|
-
return (0, prerender_1.renderToString)(element);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Render Badge component to static HTML string (sync).
|
|
42
|
-
*
|
|
43
|
-
* Uses React's renderToStaticMarkup for synchronous rendering.
|
|
44
|
-
* Does NOT wait for Suspense boundaries.
|
|
45
|
-
*
|
|
46
|
-
* @param props - Badge props (with string children)
|
|
47
|
-
* @returns HTML string
|
|
48
|
-
*/
|
|
49
|
-
function renderBadgeSync(props) {
|
|
50
|
-
const { children, icon, ...rest } = props;
|
|
51
|
-
const element = ((0, jsx_runtime_1.jsx)(Badge, { ...rest, icon: icon ? (0, jsx_runtime_1.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : undefined, children: children }));
|
|
52
|
-
return (0, prerender_1.renderToStringSync)(element);
|
|
53
|
-
}
|
|
54
|
-
exports.default = Badge;
|
|
55
|
-
//# sourceMappingURL=Badge.js.map
|
package/src/react/Badge.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/react/Badge.tsx"],"names":[],"mappings":";;AAmFA,sBAsDC;AAoBD,kCAQC;AAWD,0CAQC;;AA/ID,iDAS4B;AAC5B,mDAAyE;AA0BzE;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,EACpB,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,EACZ,IAAI,EACJ,GAAG,GAAG,KAAK,EACX,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,QAAQ,GACG;IACX,sCAAsC;IACtC,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,UAAU,GAAG,IAAA,aAAE,EACnB,2BAA2B,EAC3B,IAAA,iCAAsB,EAAC,IAAI,CAAC,EAC5B,IAAA,oCAAyB,EAAC,OAAO,CAAC,EAClC,SAAS,CACV,CAAC;QAEF,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAElE,OAAO,iCAAM,SAAS,EAAE,UAAU,gBAAc,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;IAC1E,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,iCAAsB,EAAC,OAAO,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;IAE9C,MAAM,WAAW,GAAG,IAAA,aAAE,EACpB,sCAAsC,EACtC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,EACpC,cAAc,EACd,WAAW,EACX,SAAS,CACV,CAAC;IAEF,OAAO,CACL,kCAAM,SAAS,EAAE,WAAW,aACzB,IAAI,IAAI,iCAAM,SAAS,EAAC,MAAM,YAAE,IAAI,GAAQ,EAC5C,QAAQ,EACR,SAAS,IAAI,CACZ,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,kDAAkD,gBACjD,QAAQ,EACnB,OAAO,EAAE,QAAQ,YAEjB,gCAAK,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,YAC5E,iCAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,EAAC,sBAAsB,GAAG,GAC1F,GACC,CACV,IACI,CACR,CAAC;AACJ,CAAC;AAYD;;;;;;;GAOG;AACI,KAAK,UAAU,WAAW,CAAC,KAAuB;IACvD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,CACd,uBAAC,KAAK,OAAK,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iCAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CAAC,CAAC,CAAC,SAAS,YAC1F,QAAQ,GACH,CACT,CAAC;IACF,OAAO,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,KAAuB;IACrD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,CACd,uBAAC,KAAK,OAAK,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iCAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CAAC,CAAC,CAAC,SAAS,YAC1F,QAAQ,GACH,CACT,CAAC;IACF,OAAO,IAAA,8BAAkB,EAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAKD,kBAAe,KAAK,CAAC","sourcesContent":["/**\n * @file Badge.tsx\n * @description React Badge component with static HTML rendering support.\n *\n * This is the single source of truth for the Badge component. It can be used:\n * 1. As a React component: `<Badge variant=\"success\">Active</Badge>`\n * 2. As a static HTML generator: `await renderBadge({ variant: 'success', children: 'Active' })`\n *\n * @example React usage\n * ```tsx\n * import { Badge } from '@frontmcp/ui/react';\n *\n * function App() {\n * return (\n * <Badge variant=\"success\">Active</Badge>\n * );\n * }\n * ```\n *\n * @example Pill badge\n * ```tsx\n * <Badge variant=\"info\" pill>\n * New Feature\n * </Badge>\n * ```\n *\n * @example Static HTML generation\n * ```typescript\n * import { renderBadge } from '@frontmcp/ui/react';\n *\n * const html = await renderBadge({\n * variant: 'success',\n * children: 'Active',\n * });\n * ```\n *\n * @module @frontmcp/ui/react/Badge\n */\n\nimport React from 'react';\nimport type { ReactNode, ReactElement } from 'react';\nimport {\n type BadgeVariant,\n type BadgeSize,\n getBadgeVariantClasses,\n getBadgeSizeClasses,\n getBadgeDotSizeClasses,\n getBadgeDotVariantClasses,\n CLOSE_ICON,\n cn,\n} from '../styles/variants';\nimport { renderToString, renderToStringSync } from '../render/prerender';\n\n/**\n * Badge component props\n */\nexport interface BadgeProps {\n /** Badge variant */\n variant?: BadgeVariant;\n /** Badge size */\n size?: BadgeSize;\n /** Rounded pill style */\n pill?: boolean;\n /** Icon before text (React element) */\n icon?: ReactNode;\n /** Dot indicator (no text) */\n dot?: boolean;\n /** Additional CSS classes */\n className?: string;\n /** Removable badge */\n removable?: boolean;\n /** Remove callback */\n onRemove?: () => void;\n /** Badge content */\n children?: ReactNode;\n}\n\n/**\n * Badge component.\n *\n * A small status indicator or label component.\n * Uses Tailwind CSS classes for styling.\n */\nexport function Badge({\n variant = 'default',\n size = 'md',\n pill = false,\n icon,\n dot = false,\n className,\n removable = false,\n onRemove,\n children,\n}: BadgeProps): ReactElement {\n // Handle dot badge (status indicator)\n if (dot) {\n const dotClasses = cn(\n 'inline-block rounded-full',\n getBadgeDotSizeClasses(size),\n getBadgeDotVariantClasses(variant),\n className,\n );\n\n const label = typeof children === 'string' ? children : undefined;\n\n return <span className={dotClasses} aria-label={label} title={label} />;\n }\n\n const variantClasses = getBadgeVariantClasses(variant);\n const sizeClasses = getBadgeSizeClasses(size);\n\n const baseClasses = cn(\n 'inline-flex items-center font-medium',\n pill ? 'rounded-full' : 'rounded-md',\n variantClasses,\n sizeClasses,\n className,\n );\n\n return (\n <span className={baseClasses}>\n {icon && <span className=\"mr-1\">{icon}</span>}\n {children}\n {removable && (\n <button\n type=\"button\"\n className=\"ml-1.5 -mr-1 hover:opacity-70 transition-opacity\"\n aria-label=\"Remove\"\n onClick={onRemove}\n >\n <svg className=\"w-3 h-3\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\n </svg>\n </button>\n )}\n </span>\n );\n}\n\n/**\n * Props for static render functions (children is always a string)\n */\nexport interface BadgeRenderProps extends Omit<BadgeProps, 'children' | 'icon' | 'onRemove'> {\n /** Badge content as string */\n children?: string;\n /** Icon as HTML string */\n icon?: string;\n}\n\n/**\n * Render Badge component to static HTML string (async).\n *\n * Uses React 19's prerender API for optimal static HTML generation.\n *\n * @param props - Badge props (with string children)\n * @returns Promise resolving to HTML string\n */\nexport async function renderBadge(props: BadgeRenderProps): Promise<string> {\n const { children, icon, ...rest } = props;\n const element = (\n <Badge {...rest} icon={icon ? <span dangerouslySetInnerHTML={{ __html: icon }} /> : undefined}>\n {children}\n </Badge>\n );\n return renderToString(element);\n}\n\n/**\n * Render Badge component to static HTML string (sync).\n *\n * Uses React's renderToStaticMarkup for synchronous rendering.\n * Does NOT wait for Suspense boundaries.\n *\n * @param props - Badge props (with string children)\n * @returns HTML string\n */\nexport function renderBadgeSync(props: BadgeRenderProps): string {\n const { children, icon, ...rest } = props;\n const element = (\n <Badge {...rest} icon={icon ? <span dangerouslySetInnerHTML={{ __html: icon }} /> : undefined}>\n {children}\n </Badge>\n );\n return renderToStringSync(element);\n}\n\n// Re-export types\nexport type { BadgeVariant, BadgeSize };\n\nexport default Badge;\n"]}
|
package/src/react/Button.d.ts
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Button.tsx
|
|
3
|
-
* @description React Button component with static HTML rendering support.
|
|
4
|
-
*
|
|
5
|
-
* This is the single source of truth for the Button component. It can be used:
|
|
6
|
-
* 1. As a React component: `<Button variant="primary">Click Me</Button>`
|
|
7
|
-
* 2. As a static HTML generator: `await renderButton({ variant: 'primary', children: 'Click Me' })`
|
|
8
|
-
*
|
|
9
|
-
* @example React usage
|
|
10
|
-
* ```tsx
|
|
11
|
-
* import { Button } from '@frontmcp/ui/react';
|
|
12
|
-
*
|
|
13
|
-
* function App() {
|
|
14
|
-
* return (
|
|
15
|
-
* <Button variant="primary" onClick={() => alert('Clicked!')}>
|
|
16
|
-
* Click Me
|
|
17
|
-
* </Button>
|
|
18
|
-
* );
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* @example With loading state
|
|
23
|
-
* ```tsx
|
|
24
|
-
* <Button variant="primary" loading>
|
|
25
|
-
* Saving...
|
|
26
|
-
* </Button>
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @example Static HTML generation
|
|
30
|
-
* ```typescript
|
|
31
|
-
* import { renderButton } from '@frontmcp/ui/react';
|
|
32
|
-
*
|
|
33
|
-
* const html = await renderButton({
|
|
34
|
-
* variant: 'primary',
|
|
35
|
-
* children: 'Submit',
|
|
36
|
-
* });
|
|
37
|
-
* ```
|
|
38
|
-
*
|
|
39
|
-
* @module @frontmcp/ui/react/Button
|
|
40
|
-
*/
|
|
41
|
-
import type { ReactNode, ReactElement } from 'react';
|
|
42
|
-
import { type ButtonVariant, type ButtonSize } from '../styles/variants';
|
|
43
|
-
/**
|
|
44
|
-
* Button component props
|
|
45
|
-
*/
|
|
46
|
-
export interface ButtonProps {
|
|
47
|
-
/** Button variant */
|
|
48
|
-
variant?: ButtonVariant;
|
|
49
|
-
/** Button size */
|
|
50
|
-
size?: ButtonSize;
|
|
51
|
-
/** Disabled state */
|
|
52
|
-
disabled?: boolean;
|
|
53
|
-
/** Loading state */
|
|
54
|
-
loading?: boolean;
|
|
55
|
-
/** Full width */
|
|
56
|
-
fullWidth?: boolean;
|
|
57
|
-
/** Icon position */
|
|
58
|
-
iconPosition?: 'left' | 'right';
|
|
59
|
-
/** Icon content (React element) */
|
|
60
|
-
icon?: ReactNode;
|
|
61
|
-
/** Icon only (no text) */
|
|
62
|
-
iconOnly?: boolean;
|
|
63
|
-
/** Button type */
|
|
64
|
-
type?: 'button' | 'submit' | 'reset';
|
|
65
|
-
/** Additional CSS classes */
|
|
66
|
-
className?: string;
|
|
67
|
-
/** Click handler */
|
|
68
|
-
onClick?: () => void;
|
|
69
|
-
/** Button content */
|
|
70
|
-
children?: ReactNode;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Button component.
|
|
74
|
-
*
|
|
75
|
-
* A versatile button component with multiple variants, sizes, and states.
|
|
76
|
-
* Uses Tailwind CSS classes for styling.
|
|
77
|
-
*/
|
|
78
|
-
export declare function Button({ variant, size, disabled, loading, fullWidth, iconPosition, icon, iconOnly, type, className, onClick, children, }: ButtonProps): ReactElement;
|
|
79
|
-
/**
|
|
80
|
-
* Props for static render functions (children is always a string)
|
|
81
|
-
*/
|
|
82
|
-
export interface ButtonRenderProps extends Omit<ButtonProps, 'children' | 'icon' | 'onClick'> {
|
|
83
|
-
/** Button content as string */
|
|
84
|
-
children?: string;
|
|
85
|
-
/** Icon as HTML string */
|
|
86
|
-
icon?: string;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Render Button component to static HTML string (async).
|
|
90
|
-
*
|
|
91
|
-
* Uses React 19's prerender API for optimal static HTML generation.
|
|
92
|
-
*
|
|
93
|
-
* @param props - Button props (with string children)
|
|
94
|
-
* @returns Promise resolving to HTML string
|
|
95
|
-
*/
|
|
96
|
-
export declare function renderButton(props: ButtonRenderProps): Promise<string>;
|
|
97
|
-
/**
|
|
98
|
-
* Render Button component to static HTML string (sync).
|
|
99
|
-
*
|
|
100
|
-
* Uses React's renderToStaticMarkup for synchronous rendering.
|
|
101
|
-
* Does NOT wait for Suspense boundaries.
|
|
102
|
-
*
|
|
103
|
-
* @param props - Button props (with string children)
|
|
104
|
-
* @returns HTML string
|
|
105
|
-
*/
|
|
106
|
-
export declare function renderButtonSync(props: ButtonRenderProps): string;
|
|
107
|
-
export type { ButtonVariant, ButtonSize };
|
|
108
|
-
export default Button;
|
package/src/react/Button.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Button = Button;
|
|
4
|
-
exports.renderButton = renderButton;
|
|
5
|
-
exports.renderButtonSync = renderButtonSync;
|
|
6
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
const variants_1 = require("../styles/variants");
|
|
8
|
-
const prerender_1 = require("../render/prerender");
|
|
9
|
-
/**
|
|
10
|
-
* Button component.
|
|
11
|
-
*
|
|
12
|
-
* A versatile button component with multiple variants, sizes, and states.
|
|
13
|
-
* Uses Tailwind CSS classes for styling.
|
|
14
|
-
*/
|
|
15
|
-
function Button({ variant = 'primary', size = 'md', disabled = false, loading = false, fullWidth = false, iconPosition = 'left', icon, iconOnly = false, type = 'button', className, onClick, children, }) {
|
|
16
|
-
const variantClasses = (0, variants_1.getButtonVariantClasses)(variant);
|
|
17
|
-
const sizeClasses = (0, variants_1.getButtonSizeClasses)(size, iconOnly);
|
|
18
|
-
const disabledClasses = disabled || loading ? 'opacity-50 cursor-not-allowed' : '';
|
|
19
|
-
const widthClasses = fullWidth ? 'w-full' : '';
|
|
20
|
-
const allClasses = (0, variants_1.cn)(variants_1.BUTTON_BASE_CLASSES, variantClasses, sizeClasses, disabledClasses, widthClasses, className);
|
|
21
|
-
const iconElement = icon && (0, jsx_runtime_1.jsx)("span", { className: iconPosition === 'left' ? 'mr-2' : 'ml-2', children: icon });
|
|
22
|
-
return ((0, jsx_runtime_1.jsxs)("button", { type: type, className: allClasses, disabled: disabled || loading, onClick: onClick, children: [loading && (0, jsx_runtime_1.jsx)("span", { className: "mr-2", dangerouslySetInnerHTML: { __html: variants_1.LOADING_SPINNER } }), !loading && icon && iconPosition === 'left' && iconElement, !iconOnly && children, !loading && icon && iconPosition === 'right' && iconElement] }));
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Render Button component to static HTML string (async).
|
|
26
|
-
*
|
|
27
|
-
* Uses React 19's prerender API for optimal static HTML generation.
|
|
28
|
-
*
|
|
29
|
-
* @param props - Button props (with string children)
|
|
30
|
-
* @returns Promise resolving to HTML string
|
|
31
|
-
*/
|
|
32
|
-
async function renderButton(props) {
|
|
33
|
-
const { children, icon, ...rest } = props;
|
|
34
|
-
const element = ((0, jsx_runtime_1.jsx)(Button, { ...rest, icon: icon ? (0, jsx_runtime_1.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : undefined, children: children }));
|
|
35
|
-
return (0, prerender_1.renderToString)(element);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Render Button component to static HTML string (sync).
|
|
39
|
-
*
|
|
40
|
-
* Uses React's renderToStaticMarkup for synchronous rendering.
|
|
41
|
-
* Does NOT wait for Suspense boundaries.
|
|
42
|
-
*
|
|
43
|
-
* @param props - Button props (with string children)
|
|
44
|
-
* @returns HTML string
|
|
45
|
-
*/
|
|
46
|
-
function renderButtonSync(props) {
|
|
47
|
-
const { children, icon, ...rest } = props;
|
|
48
|
-
const element = ((0, jsx_runtime_1.jsx)(Button, { ...rest, icon: icon ? (0, jsx_runtime_1.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : undefined, children: children }));
|
|
49
|
-
return (0, prerender_1.renderToStringSync)(element);
|
|
50
|
-
}
|
|
51
|
-
exports.default = Button;
|
|
52
|
-
//# sourceMappingURL=Button.js.map
|
package/src/react/Button.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/react/Button.tsx"],"names":[],"mappings":";;AA0FA,wBAgCC;AAoBD,oCAQC;AAWD,4CAQC;;AA9HD,iDAQ4B;AAC5B,mDAAyE;AAgCzE;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,EACrB,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,MAAM,EACrB,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,QAAQ,EACf,SAAS,EACT,OAAO,EACP,QAAQ,GACI;IACZ,MAAM,cAAc,GAAG,IAAA,kCAAuB,EAAC,OAAO,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAA,+BAAoB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/C,MAAM,UAAU,GAAG,IAAA,aAAE,EAAC,8BAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAElH,MAAM,WAAW,GAAG,IAAI,IAAI,iCAAM,SAAS,EAAE,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,YAAG,IAAI,GAAQ,CAAC;IAEtG,OAAO,CACL,oCAAQ,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAAE,OAAO,EAAE,OAAO,aACvF,OAAO,IAAI,iCAAM,SAAS,EAAC,MAAM,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,0BAAe,EAAE,GAAI,EAC1F,CAAC,OAAO,IAAI,IAAI,IAAI,YAAY,KAAK,MAAM,IAAI,WAAW,EAC1D,CAAC,QAAQ,IAAI,QAAQ,EACrB,CAAC,OAAO,IAAI,IAAI,IAAI,YAAY,KAAK,OAAO,IAAI,WAAW,IACrD,CACV,CAAC;AACJ,CAAC;AAYD;;;;;;;GAOG;AACI,KAAK,UAAU,YAAY,CAAC,KAAwB;IACzD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,CACd,uBAAC,MAAM,OAAK,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iCAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CAAC,CAAC,CAAC,SAAS,YAC3F,QAAQ,GACF,CACV,CAAC;IACF,OAAO,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAAC,KAAwB;IACvD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,CACd,uBAAC,MAAM,OAAK,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iCAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CAAC,CAAC,CAAC,SAAS,YAC3F,QAAQ,GACF,CACV,CAAC;IACF,OAAO,IAAA,8BAAkB,EAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAKD,kBAAe,MAAM,CAAC","sourcesContent":["/**\n * @file Button.tsx\n * @description React Button component with static HTML rendering support.\n *\n * This is the single source of truth for the Button component. It can be used:\n * 1. As a React component: `<Button variant=\"primary\">Click Me</Button>`\n * 2. As a static HTML generator: `await renderButton({ variant: 'primary', children: 'Click Me' })`\n *\n * @example React usage\n * ```tsx\n * import { Button } from '@frontmcp/ui/react';\n *\n * function App() {\n * return (\n * <Button variant=\"primary\" onClick={() => alert('Clicked!')}>\n * Click Me\n * </Button>\n * );\n * }\n * ```\n *\n * @example With loading state\n * ```tsx\n * <Button variant=\"primary\" loading>\n * Saving...\n * </Button>\n * ```\n *\n * @example Static HTML generation\n * ```typescript\n * import { renderButton } from '@frontmcp/ui/react';\n *\n * const html = await renderButton({\n * variant: 'primary',\n * children: 'Submit',\n * });\n * ```\n *\n * @module @frontmcp/ui/react/Button\n */\n\nimport React from 'react';\nimport type { ReactNode, ReactElement } from 'react';\nimport {\n type ButtonVariant,\n type ButtonSize,\n getButtonVariantClasses,\n getButtonSizeClasses,\n BUTTON_BASE_CLASSES,\n LOADING_SPINNER,\n cn,\n} from '../styles/variants';\nimport { renderToString, renderToStringSync } from '../render/prerender';\n\n/**\n * Button component props\n */\nexport interface ButtonProps {\n /** Button variant */\n variant?: ButtonVariant;\n /** Button size */\n size?: ButtonSize;\n /** Disabled state */\n disabled?: boolean;\n /** Loading state */\n loading?: boolean;\n /** Full width */\n fullWidth?: boolean;\n /** Icon position */\n iconPosition?: 'left' | 'right';\n /** Icon content (React element) */\n icon?: ReactNode;\n /** Icon only (no text) */\n iconOnly?: boolean;\n /** Button type */\n type?: 'button' | 'submit' | 'reset';\n /** Additional CSS classes */\n className?: string;\n /** Click handler */\n onClick?: () => void;\n /** Button content */\n children?: ReactNode;\n}\n\n/**\n * Button component.\n *\n * A versatile button component with multiple variants, sizes, and states.\n * Uses Tailwind CSS classes for styling.\n */\nexport function Button({\n variant = 'primary',\n size = 'md',\n disabled = false,\n loading = false,\n fullWidth = false,\n iconPosition = 'left',\n icon,\n iconOnly = false,\n type = 'button',\n className,\n onClick,\n children,\n}: ButtonProps): ReactElement {\n const variantClasses = getButtonVariantClasses(variant);\n const sizeClasses = getButtonSizeClasses(size, iconOnly);\n\n const disabledClasses = disabled || loading ? 'opacity-50 cursor-not-allowed' : '';\n const widthClasses = fullWidth ? 'w-full' : '';\n\n const allClasses = cn(BUTTON_BASE_CLASSES, variantClasses, sizeClasses, disabledClasses, widthClasses, className);\n\n const iconElement = icon && <span className={iconPosition === 'left' ? 'mr-2' : 'ml-2'}>{icon}</span>;\n\n return (\n <button type={type} className={allClasses} disabled={disabled || loading} onClick={onClick}>\n {loading && <span className=\"mr-2\" dangerouslySetInnerHTML={{ __html: LOADING_SPINNER }} />}\n {!loading && icon && iconPosition === 'left' && iconElement}\n {!iconOnly && children}\n {!loading && icon && iconPosition === 'right' && iconElement}\n </button>\n );\n}\n\n/**\n * Props for static render functions (children is always a string)\n */\nexport interface ButtonRenderProps extends Omit<ButtonProps, 'children' | 'icon' | 'onClick'> {\n /** Button content as string */\n children?: string;\n /** Icon as HTML string */\n icon?: string;\n}\n\n/**\n * Render Button component to static HTML string (async).\n *\n * Uses React 19's prerender API for optimal static HTML generation.\n *\n * @param props - Button props (with string children)\n * @returns Promise resolving to HTML string\n */\nexport async function renderButton(props: ButtonRenderProps): Promise<string> {\n const { children, icon, ...rest } = props;\n const element = (\n <Button {...rest} icon={icon ? <span dangerouslySetInnerHTML={{ __html: icon }} /> : undefined}>\n {children}\n </Button>\n );\n return renderToString(element);\n}\n\n/**\n * Render Button component to static HTML string (sync).\n *\n * Uses React's renderToStaticMarkup for synchronous rendering.\n * Does NOT wait for Suspense boundaries.\n *\n * @param props - Button props (with string children)\n * @returns HTML string\n */\nexport function renderButtonSync(props: ButtonRenderProps): string {\n const { children, icon, ...rest } = props;\n const element = (\n <Button {...rest} icon={icon ? <span dangerouslySetInnerHTML={{ __html: icon }} /> : undefined}>\n {children}\n </Button>\n );\n return renderToStringSync(element);\n}\n\n// Re-export types\nexport type { ButtonVariant, ButtonSize };\n\nexport default Button;\n"]}
|