@frontmcp/ui 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +28 -87
- 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
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file attribute-parser.ts
|
|
3
|
-
* @description Attribute parsing utilities for FrontMCP Web Components.
|
|
4
|
-
*
|
|
5
|
-
* Converts HTML attributes to typed options for component rendering.
|
|
6
|
-
* Handles boolean attributes, HTMX attributes, and kebab-to-camel case conversion.
|
|
7
|
-
*
|
|
8
|
-
* @example Attribute parsing
|
|
9
|
-
* ```typescript
|
|
10
|
-
* // variant="primary" -> { variant: 'primary' }
|
|
11
|
-
* // disabled -> { disabled: true }
|
|
12
|
-
* // disabled="false" -> { disabled: false }
|
|
13
|
-
* // hx-get="/api" -> { htmx: { get: '/api' } }
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
* @module @frontmcp/ui/web-components/core/attribute-parser
|
|
17
|
-
*/
|
|
18
|
-
import type { ZodSchema } from 'zod';
|
|
19
|
-
/**
|
|
20
|
-
* Result of parsing an attribute value
|
|
21
|
-
*/
|
|
22
|
-
export interface ParsedAttribute {
|
|
23
|
-
/** The option key (camelCase) */
|
|
24
|
-
key: string | null;
|
|
25
|
-
/** The parsed value */
|
|
26
|
-
value: unknown;
|
|
27
|
-
/** Whether this is a nested htmx option */
|
|
28
|
-
isHtmx?: boolean;
|
|
29
|
-
/** Whether this is a data attribute */
|
|
30
|
-
isData?: boolean;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Parse an HTML attribute into a typed option value.
|
|
34
|
-
*
|
|
35
|
-
* Attribute naming conventions:
|
|
36
|
-
* - Simple: `variant="primary"` -> `{ variant: 'primary' }`
|
|
37
|
-
* - Boolean: `disabled` -> `{ disabled: true }`
|
|
38
|
-
* - Boolean false: `disabled="false"` -> `{ disabled: false }`
|
|
39
|
-
* - HTMX: `hx-get="/api"` -> `{ htmx: { get: '/api' } }`
|
|
40
|
-
* - Data: `data-foo="bar"` -> `{ data: { foo: 'bar' } }`
|
|
41
|
-
*
|
|
42
|
-
* @param attrName - The attribute name (kebab-case)
|
|
43
|
-
* @param value - The attribute value (null for boolean attributes)
|
|
44
|
-
* @returns Parsed attribute with key and typed value
|
|
45
|
-
*/
|
|
46
|
-
export declare function parseAttributeValue(attrName: string, value: string | null): ParsedAttribute;
|
|
47
|
-
/**
|
|
48
|
-
* Convert kebab-case to camelCase.
|
|
49
|
-
*
|
|
50
|
-
* @param str - Kebab-case string
|
|
51
|
-
* @returns camelCase string
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* kebabToCamel('full-width') // 'fullWidth'
|
|
55
|
-
* kebabToCamel('icon-before') // 'iconBefore'
|
|
56
|
-
*/
|
|
57
|
-
export declare function kebabToCamel(str: string): string;
|
|
58
|
-
/**
|
|
59
|
-
* Convert camelCase to kebab-case.
|
|
60
|
-
*
|
|
61
|
-
* @param str - camelCase string
|
|
62
|
-
* @returns kebab-case string
|
|
63
|
-
*
|
|
64
|
-
* @example
|
|
65
|
-
* camelToKebab('fullWidth') // 'full-width'
|
|
66
|
-
* camelToKebab('iconBefore') // 'icon-before'
|
|
67
|
-
*/
|
|
68
|
-
export declare function camelToKebab(str: string): string;
|
|
69
|
-
/**
|
|
70
|
-
* Extract observable attribute names from a Zod schema.
|
|
71
|
-
*
|
|
72
|
-
* @param schema - Zod schema to extract keys from
|
|
73
|
-
* @returns Array of kebab-case attribute names
|
|
74
|
-
*/
|
|
75
|
-
export declare function getObservedAttributesFromSchema<T>(schema: ZodSchema<T>): string[];
|
|
76
|
-
/**
|
|
77
|
-
* Merge a parsed attribute into an options object.
|
|
78
|
-
*
|
|
79
|
-
* Handles nested objects for htmx and data attributes.
|
|
80
|
-
*
|
|
81
|
-
* @param options - Current options object
|
|
82
|
-
* @param parsed - Parsed attribute result
|
|
83
|
-
* @returns Updated options object
|
|
84
|
-
*/
|
|
85
|
-
export declare function mergeAttributeIntoOptions<T>(options: Partial<T>, parsed: ParsedAttribute): Partial<T>;
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @file attribute-parser.ts
|
|
4
|
-
* @description Attribute parsing utilities for FrontMCP Web Components.
|
|
5
|
-
*
|
|
6
|
-
* Converts HTML attributes to typed options for component rendering.
|
|
7
|
-
* Handles boolean attributes, HTMX attributes, and kebab-to-camel case conversion.
|
|
8
|
-
*
|
|
9
|
-
* @example Attribute parsing
|
|
10
|
-
* ```typescript
|
|
11
|
-
* // variant="primary" -> { variant: 'primary' }
|
|
12
|
-
* // disabled -> { disabled: true }
|
|
13
|
-
* // disabled="false" -> { disabled: false }
|
|
14
|
-
* // hx-get="/api" -> { htmx: { get: '/api' } }
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* @module @frontmcp/ui/web-components/core/attribute-parser
|
|
18
|
-
*/
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.parseAttributeValue = parseAttributeValue;
|
|
21
|
-
exports.kebabToCamel = kebabToCamel;
|
|
22
|
-
exports.camelToKebab = camelToKebab;
|
|
23
|
-
exports.getObservedAttributesFromSchema = getObservedAttributesFromSchema;
|
|
24
|
-
exports.mergeAttributeIntoOptions = mergeAttributeIntoOptions;
|
|
25
|
-
/**
|
|
26
|
-
* Parse an HTML attribute into a typed option value.
|
|
27
|
-
*
|
|
28
|
-
* Attribute naming conventions:
|
|
29
|
-
* - Simple: `variant="primary"` -> `{ variant: 'primary' }`
|
|
30
|
-
* - Boolean: `disabled` -> `{ disabled: true }`
|
|
31
|
-
* - Boolean false: `disabled="false"` -> `{ disabled: false }`
|
|
32
|
-
* - HTMX: `hx-get="/api"` -> `{ htmx: { get: '/api' } }`
|
|
33
|
-
* - Data: `data-foo="bar"` -> `{ data: { foo: 'bar' } }`
|
|
34
|
-
*
|
|
35
|
-
* @param attrName - The attribute name (kebab-case)
|
|
36
|
-
* @param value - The attribute value (null for boolean attributes)
|
|
37
|
-
* @returns Parsed attribute with key and typed value
|
|
38
|
-
*/
|
|
39
|
-
function parseAttributeValue(attrName, value) {
|
|
40
|
-
// Skip internal fmcp attributes
|
|
41
|
-
if (attrName.startsWith('data-fmcp-')) {
|
|
42
|
-
return { key: null, value: undefined };
|
|
43
|
-
}
|
|
44
|
-
// Handle HTMX attributes (hx-* -> htmx.*)
|
|
45
|
-
if (attrName.startsWith('hx-')) {
|
|
46
|
-
const htmxKey = attrName.slice(3); // Remove 'hx-'
|
|
47
|
-
return {
|
|
48
|
-
key: htmxKey,
|
|
49
|
-
value: value ?? '',
|
|
50
|
-
isHtmx: true,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
// Handle data attributes (data-* -> data.*)
|
|
54
|
-
if (attrName.startsWith('data-')) {
|
|
55
|
-
const dataKey = attrName.slice(5); // Remove 'data-'
|
|
56
|
-
return {
|
|
57
|
-
key: dataKey,
|
|
58
|
-
value: value ?? '',
|
|
59
|
-
isData: true,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
// Convert kebab-case to camelCase
|
|
63
|
-
const camelName = kebabToCamel(attrName);
|
|
64
|
-
// Handle boolean attributes (presence = true)
|
|
65
|
-
if (value === null || value === '') {
|
|
66
|
-
return { key: camelName, value: true };
|
|
67
|
-
}
|
|
68
|
-
// Handle explicit boolean strings
|
|
69
|
-
if (value === 'true') {
|
|
70
|
-
return { key: camelName, value: true };
|
|
71
|
-
}
|
|
72
|
-
if (value === 'false') {
|
|
73
|
-
return { key: camelName, value: false };
|
|
74
|
-
}
|
|
75
|
-
// Handle numeric values
|
|
76
|
-
const numValue = Number(value);
|
|
77
|
-
if (!isNaN(numValue) && value.trim() !== '') {
|
|
78
|
-
return { key: camelName, value: numValue };
|
|
79
|
-
}
|
|
80
|
-
// Handle JSON values (for complex objects)
|
|
81
|
-
if (value.startsWith('{') || value.startsWith('[')) {
|
|
82
|
-
try {
|
|
83
|
-
return { key: camelName, value: JSON.parse(value) };
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
// Not valid JSON, treat as string
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
// Default: string value
|
|
90
|
-
return { key: camelName, value };
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Convert kebab-case to camelCase.
|
|
94
|
-
*
|
|
95
|
-
* @param str - Kebab-case string
|
|
96
|
-
* @returns camelCase string
|
|
97
|
-
*
|
|
98
|
-
* @example
|
|
99
|
-
* kebabToCamel('full-width') // 'fullWidth'
|
|
100
|
-
* kebabToCamel('icon-before') // 'iconBefore'
|
|
101
|
-
*/
|
|
102
|
-
function kebabToCamel(str) {
|
|
103
|
-
return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Convert camelCase to kebab-case.
|
|
107
|
-
*
|
|
108
|
-
* @param str - camelCase string
|
|
109
|
-
* @returns kebab-case string
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* camelToKebab('fullWidth') // 'full-width'
|
|
113
|
-
* camelToKebab('iconBefore') // 'icon-before'
|
|
114
|
-
*/
|
|
115
|
-
function camelToKebab(str) {
|
|
116
|
-
return str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Extract observable attribute names from a Zod schema.
|
|
120
|
-
*
|
|
121
|
-
* @param schema - Zod schema to extract keys from
|
|
122
|
-
* @returns Array of kebab-case attribute names
|
|
123
|
-
*/
|
|
124
|
-
function getObservedAttributesFromSchema(schema) {
|
|
125
|
-
const attributes = [];
|
|
126
|
-
// Extract keys from schema shape (Zod object schemas have a shape property)
|
|
127
|
-
const schemaAny = schema;
|
|
128
|
-
if (schemaAny.shape) {
|
|
129
|
-
for (const key of Object.keys(schemaAny.shape)) {
|
|
130
|
-
// Convert camelCase keys to kebab-case attributes
|
|
131
|
-
attributes.push(camelToKebab(key));
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
// Always include common attributes
|
|
135
|
-
const commonAttrs = ['class', 'id', 'style'];
|
|
136
|
-
attributes.push(...commonAttrs);
|
|
137
|
-
// Include HTMX attributes
|
|
138
|
-
const htmxAttrs = [
|
|
139
|
-
'hx-get',
|
|
140
|
-
'hx-post',
|
|
141
|
-
'hx-put',
|
|
142
|
-
'hx-delete',
|
|
143
|
-
'hx-patch',
|
|
144
|
-
'hx-target',
|
|
145
|
-
'hx-swap',
|
|
146
|
-
'hx-trigger',
|
|
147
|
-
'hx-confirm',
|
|
148
|
-
'hx-indicator',
|
|
149
|
-
'hx-push-url',
|
|
150
|
-
'hx-select',
|
|
151
|
-
'hx-vals',
|
|
152
|
-
];
|
|
153
|
-
attributes.push(...htmxAttrs);
|
|
154
|
-
// Deduplicate
|
|
155
|
-
return [...new Set(attributes)];
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Merge a parsed attribute into an options object.
|
|
159
|
-
*
|
|
160
|
-
* Handles nested objects for htmx and data attributes.
|
|
161
|
-
*
|
|
162
|
-
* @param options - Current options object
|
|
163
|
-
* @param parsed - Parsed attribute result
|
|
164
|
-
* @returns Updated options object
|
|
165
|
-
*/
|
|
166
|
-
function mergeAttributeIntoOptions(options, parsed) {
|
|
167
|
-
if (parsed.key === null || parsed.value === undefined) {
|
|
168
|
-
return options;
|
|
169
|
-
}
|
|
170
|
-
const result = { ...options };
|
|
171
|
-
if (parsed.isHtmx) {
|
|
172
|
-
// Merge into htmx nested object
|
|
173
|
-
const htmx = result['htmx'] ?? {};
|
|
174
|
-
htmx[parsed.key] = parsed.value;
|
|
175
|
-
result['htmx'] = htmx;
|
|
176
|
-
}
|
|
177
|
-
else if (parsed.isData) {
|
|
178
|
-
// Merge into data nested object
|
|
179
|
-
const data = result['data'] ?? {};
|
|
180
|
-
data[parsed.key] = String(parsed.value);
|
|
181
|
-
result['data'] = data;
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
// Direct assignment
|
|
185
|
-
result[parsed.key] = parsed.value;
|
|
186
|
-
}
|
|
187
|
-
return result;
|
|
188
|
-
}
|
|
189
|
-
//# sourceMappingURL=attribute-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-parser.js","sourceRoot":"","sources":["../../../../src/web-components/core/attribute-parser.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file attribute-parser.ts\n * @description Attribute parsing utilities for FrontMCP Web Components.\n *\n * Converts HTML attributes to typed options for component rendering.\n * Handles boolean attributes, HTMX attributes, and kebab-to-camel case conversion.\n *\n * @example Attribute parsing\n * ```typescript\n * // variant=\"primary\" -> { variant: 'primary' }\n * // disabled -> { disabled: true }\n * // disabled=\"false\" -> { disabled: false }\n * // hx-get=\"/api\" -> { htmx: { get: '/api' } }\n * ```\n *\n * @module @frontmcp/ui/web-components/core/attribute-parser\n */\n\nimport type { ZodSchema } from 'zod';\n\n/**\n * Result of parsing an attribute value\n */\nexport interface ParsedAttribute {\n /** The option key (camelCase) */\n key: string | null;\n /** The parsed value */\n value: unknown;\n /** Whether this is a nested htmx option */\n isHtmx?: boolean;\n /** Whether this is a data attribute */\n isData?: boolean;\n}\n\n/**\n * Parse an HTML attribute into a typed option value.\n *\n * Attribute naming conventions:\n * - Simple: `variant=\"primary\"` -> `{ variant: 'primary' }`\n * - Boolean: `disabled` -> `{ disabled: true }`\n * - Boolean false: `disabled=\"false\"` -> `{ disabled: false }`\n * - HTMX: `hx-get=\"/api\"` -> `{ htmx: { get: '/api' } }`\n * - Data: `data-foo=\"bar\"` -> `{ data: { foo: 'bar' } }`\n *\n * @param attrName - The attribute name (kebab-case)\n * @param value - The attribute value (null for boolean attributes)\n * @returns Parsed attribute with key and typed value\n */\nexport function parseAttributeValue(attrName: string, value: string | null): ParsedAttribute {\n // Skip internal fmcp attributes\n if (attrName.startsWith('data-fmcp-')) {\n return { key: null, value: undefined };\n }\n\n // Handle HTMX attributes (hx-* -> htmx.*)\n if (attrName.startsWith('hx-')) {\n const htmxKey = attrName.slice(3); // Remove 'hx-'\n return {\n key: htmxKey,\n value: value ?? '',\n isHtmx: true,\n };\n }\n\n // Handle data attributes (data-* -> data.*)\n if (attrName.startsWith('data-')) {\n const dataKey = attrName.slice(5); // Remove 'data-'\n return {\n key: dataKey,\n value: value ?? '',\n isData: true,\n };\n }\n\n // Convert kebab-case to camelCase\n const camelName = kebabToCamel(attrName);\n\n // Handle boolean attributes (presence = true)\n if (value === null || value === '') {\n return { key: camelName, value: true };\n }\n\n // Handle explicit boolean strings\n if (value === 'true') {\n return { key: camelName, value: true };\n }\n if (value === 'false') {\n return { key: camelName, value: false };\n }\n\n // Handle numeric values\n const numValue = Number(value);\n if (!isNaN(numValue) && value.trim() !== '') {\n return { key: camelName, value: numValue };\n }\n\n // Handle JSON values (for complex objects)\n if (value.startsWith('{') || value.startsWith('[')) {\n try {\n return { key: camelName, value: JSON.parse(value) };\n } catch {\n // Not valid JSON, treat as string\n }\n }\n\n // Default: string value\n return { key: camelName, value };\n}\n\n/**\n * Convert kebab-case to camelCase.\n *\n * @param str - Kebab-case string\n * @returns camelCase string\n *\n * @example\n * kebabToCamel('full-width') // 'fullWidth'\n * kebabToCamel('icon-before') // 'iconBefore'\n */\nexport function kebabToCamel(str: string): string {\n return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n\n/**\n * Convert camelCase to kebab-case.\n *\n * @param str - camelCase string\n * @returns kebab-case string\n *\n * @example\n * camelToKebab('fullWidth') // 'full-width'\n * camelToKebab('iconBefore') // 'icon-before'\n */\nexport function camelToKebab(str: string): string {\n return str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);\n}\n\n/**\n * Extract observable attribute names from a Zod schema.\n *\n * @param schema - Zod schema to extract keys from\n * @returns Array of kebab-case attribute names\n */\nexport function getObservedAttributesFromSchema<T>(schema: ZodSchema<T>): string[] {\n const attributes: string[] = [];\n\n // Extract keys from schema shape (Zod object schemas have a shape property)\n const schemaAny = schema as { shape?: Record<string, unknown> };\n if (schemaAny.shape) {\n for (const key of Object.keys(schemaAny.shape)) {\n // Convert camelCase keys to kebab-case attributes\n attributes.push(camelToKebab(key));\n }\n }\n\n // Always include common attributes\n const commonAttrs = ['class', 'id', 'style'];\n attributes.push(...commonAttrs);\n\n // Include HTMX attributes\n const htmxAttrs = [\n 'hx-get',\n 'hx-post',\n 'hx-put',\n 'hx-delete',\n 'hx-patch',\n 'hx-target',\n 'hx-swap',\n 'hx-trigger',\n 'hx-confirm',\n 'hx-indicator',\n 'hx-push-url',\n 'hx-select',\n 'hx-vals',\n ];\n attributes.push(...htmxAttrs);\n\n // Deduplicate\n return [...new Set(attributes)];\n}\n\n/**\n * Merge a parsed attribute into an options object.\n *\n * Handles nested objects for htmx and data attributes.\n *\n * @param options - Current options object\n * @param parsed - Parsed attribute result\n * @returns Updated options object\n */\nexport function mergeAttributeIntoOptions<T>(options: Partial<T>, parsed: ParsedAttribute): Partial<T> {\n if (parsed.key === null || parsed.value === undefined) {\n return options;\n }\n\n const result = { ...options } as Record<string, unknown>;\n\n if (parsed.isHtmx) {\n // Merge into htmx nested object\n const htmx = (result['htmx'] as Record<string, unknown>) ?? {};\n htmx[parsed.key] = parsed.value;\n result['htmx'] = htmx;\n } else if (parsed.isData) {\n // Merge into data nested object\n const data = (result['data'] as Record<string, string>) ?? {};\n data[parsed.key] = String(parsed.value);\n result['data'] = data;\n } else {\n // Direct assignment\n result[parsed.key] = parsed.value;\n }\n\n return result as Partial<T>;\n}\n"]}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file base-element.ts
|
|
3
|
-
* @description Base class for all FrontMCP Web Components.
|
|
4
|
-
*
|
|
5
|
-
* Provides a foundation for creating Custom Elements with:
|
|
6
|
-
* - Zod schema validation
|
|
7
|
-
* - Attribute-to-option mapping
|
|
8
|
-
* - Property setters for React/Vue compatibility
|
|
9
|
-
* - Batched rendering via queueMicrotask
|
|
10
|
-
* - Light DOM (no Shadow DOM) for Tailwind compatibility
|
|
11
|
-
*
|
|
12
|
-
* @example Creating a custom element
|
|
13
|
-
* ```typescript
|
|
14
|
-
* import { FmcpElement } from '@frontmcp/ui/web-components';
|
|
15
|
-
* import { ButtonOptionsSchema, type ButtonOptions } from '@frontmcp/ui/components';
|
|
16
|
-
* import { button } from '@frontmcp/ui/components';
|
|
17
|
-
*
|
|
18
|
-
* class FmcpButton extends FmcpElement<ButtonOptions> {
|
|
19
|
-
* protected readonly config = {
|
|
20
|
-
* name: 'button',
|
|
21
|
-
* schema: ButtonOptionsSchema,
|
|
22
|
-
* defaults: { variant: 'primary', size: 'md' },
|
|
23
|
-
* };
|
|
24
|
-
*
|
|
25
|
-
* static get observedAttributes() {
|
|
26
|
-
* return getObservedAttributesFromSchema(ButtonOptionsSchema);
|
|
27
|
-
* }
|
|
28
|
-
*
|
|
29
|
-
* protected renderHtml(options: ButtonOptions, content: string): string {
|
|
30
|
-
* return button(content, options);
|
|
31
|
-
* }
|
|
32
|
-
* }
|
|
33
|
-
*
|
|
34
|
-
* customElements.define('fmcp-button', FmcpButton);
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* @module @frontmcp/ui/web-components/core/base-element
|
|
38
|
-
*/
|
|
39
|
-
import type { ZodSchema } from 'zod';
|
|
40
|
-
declare const HTMLElementBase: {
|
|
41
|
-
new (): HTMLElement;
|
|
42
|
-
prototype: HTMLElement;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Configuration for FmcpElement subclasses
|
|
46
|
-
*/
|
|
47
|
-
export interface FmcpElementConfig<TOptions> {
|
|
48
|
-
/** Component name (used in error messages) */
|
|
49
|
-
name: string;
|
|
50
|
-
/** Zod schema for validation */
|
|
51
|
-
schema: ZodSchema<TOptions>;
|
|
52
|
-
/** Default option values */
|
|
53
|
-
defaults?: Partial<TOptions>;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Custom event detail for fmcp:render event
|
|
57
|
-
*/
|
|
58
|
-
export interface FmcpRenderEventDetail<TOptions = unknown> {
|
|
59
|
-
options: TOptions;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Base class for all FrontMCP Web Components.
|
|
63
|
-
*
|
|
64
|
-
* Key features:
|
|
65
|
-
* - **Light DOM**: Renders directly to innerHTML (no Shadow DOM)
|
|
66
|
-
* - **Attribute Parsing**: Converts HTML attributes to typed options
|
|
67
|
-
* - **Property Setters**: React/Vue can set properties directly
|
|
68
|
-
* - **Zod Validation**: Invalid options render error box
|
|
69
|
-
* - **Batched Rendering**: Multiple changes batch via queueMicrotask
|
|
70
|
-
* - **HTMX Support**: hx-* attributes pass through to inner elements
|
|
71
|
-
*
|
|
72
|
-
* @typeParam TOptions - The component's options type (from Zod schema)
|
|
73
|
-
*
|
|
74
|
-
* @example Usage in HTML
|
|
75
|
-
* ```html
|
|
76
|
-
* <fmcp-button variant="primary" disabled>
|
|
77
|
-
* Click Me
|
|
78
|
-
* </fmcp-button>
|
|
79
|
-
* ```
|
|
80
|
-
*
|
|
81
|
-
* @example Usage in React
|
|
82
|
-
* ```tsx
|
|
83
|
-
* <fmcp-button
|
|
84
|
-
* variant="primary"
|
|
85
|
-
* onClick={handleClick}
|
|
86
|
-
* >
|
|
87
|
-
* Click Me
|
|
88
|
-
* </fmcp-button>
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
|
-
export declare abstract class FmcpElement<TOptions> extends HTMLElementBase {
|
|
92
|
-
/**
|
|
93
|
-
* Configuration provided by subclass.
|
|
94
|
-
* Must include component name, Zod schema, and optional defaults.
|
|
95
|
-
*/
|
|
96
|
-
protected abstract readonly config: FmcpElementConfig<TOptions>;
|
|
97
|
-
/** Internal options state */
|
|
98
|
-
protected _options: Partial<TOptions>;
|
|
99
|
-
/** Content passed as children (captured on connect) */
|
|
100
|
-
protected _content: string;
|
|
101
|
-
/** Whether component has been connected to DOM */
|
|
102
|
-
private _connected;
|
|
103
|
-
/** Whether a render is pending (for batching) */
|
|
104
|
-
private _pendingRender;
|
|
105
|
-
/** Whether initial render has completed */
|
|
106
|
-
private _initialRenderComplete;
|
|
107
|
-
/**
|
|
108
|
-
* Called when element is added to DOM.
|
|
109
|
-
* Captures content, parses attributes, and renders.
|
|
110
|
-
*
|
|
111
|
-
* Supports SSR hydration via `data-ssr` attribute:
|
|
112
|
-
* - If `data-ssr` is present, content was pre-rendered by server
|
|
113
|
-
* - Web component adopts existing content without re-rendering
|
|
114
|
-
* - This enables progressive enhancement for LLM platforms
|
|
115
|
-
*/
|
|
116
|
-
connectedCallback(): void;
|
|
117
|
-
/**
|
|
118
|
-
* Called when element is removed from DOM.
|
|
119
|
-
*/
|
|
120
|
-
disconnectedCallback(): void;
|
|
121
|
-
/**
|
|
122
|
-
* Called when an observed attribute changes.
|
|
123
|
-
* Updates options and schedules re-render.
|
|
124
|
-
*/
|
|
125
|
-
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
126
|
-
/**
|
|
127
|
-
* Set all options at once (React pattern).
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* ```typescript
|
|
131
|
-
* const el = document.querySelector('fmcp-button');
|
|
132
|
-
* el.options = { variant: 'danger', size: 'lg' };
|
|
133
|
-
* ```
|
|
134
|
-
*/
|
|
135
|
-
set options(value: Partial<TOptions>);
|
|
136
|
-
/**
|
|
137
|
-
* Get current options.
|
|
138
|
-
*/
|
|
139
|
-
get options(): Partial<TOptions>;
|
|
140
|
-
/**
|
|
141
|
-
* Parse all current attributes into options.
|
|
142
|
-
*/
|
|
143
|
-
private _parseAttributes;
|
|
144
|
-
/**
|
|
145
|
-
* Update a single option from an attribute change.
|
|
146
|
-
*/
|
|
147
|
-
private _updateOptionFromAttribute;
|
|
148
|
-
/**
|
|
149
|
-
* Schedule a render on next microtask.
|
|
150
|
-
* Batches multiple attribute/property changes.
|
|
151
|
-
*/
|
|
152
|
-
protected _scheduleRender(): void;
|
|
153
|
-
/**
|
|
154
|
-
* Perform the actual render.
|
|
155
|
-
* Validates options and updates innerHTML.
|
|
156
|
-
*/
|
|
157
|
-
private _render;
|
|
158
|
-
/**
|
|
159
|
-
* Generate HTML for the component.
|
|
160
|
-
* Subclasses must implement this to render their specific HTML.
|
|
161
|
-
*
|
|
162
|
-
* @param options - Validated options
|
|
163
|
-
* @param content - Original innerHTML content
|
|
164
|
-
* @returns HTML string to render
|
|
165
|
-
*/
|
|
166
|
-
protected abstract renderHtml(options: TOptions, content: string): string;
|
|
167
|
-
/**
|
|
168
|
-
* Force an immediate re-render.
|
|
169
|
-
*
|
|
170
|
-
* @example
|
|
171
|
-
* ```typescript
|
|
172
|
-
* el.options = { loading: true };
|
|
173
|
-
* el.refresh(); // Force immediate render
|
|
174
|
-
* ```
|
|
175
|
-
*/
|
|
176
|
-
refresh(): void;
|
|
177
|
-
/**
|
|
178
|
-
* Get the first child element (the actual rendered component).
|
|
179
|
-
*
|
|
180
|
-
* @typeParam T - Expected element type
|
|
181
|
-
* @returns The first child element or null
|
|
182
|
-
*
|
|
183
|
-
* @example
|
|
184
|
-
* ```typescript
|
|
185
|
-
* const button = el.getInnerElement<HTMLButtonElement>();
|
|
186
|
-
* button?.focus();
|
|
187
|
-
* ```
|
|
188
|
-
*/
|
|
189
|
-
getInnerElement<T extends Element = Element>(): T | null;
|
|
190
|
-
/**
|
|
191
|
-
* Update content and re-render.
|
|
192
|
-
*
|
|
193
|
-
* @param content - New content string
|
|
194
|
-
*/
|
|
195
|
-
setContent(content: string): void;
|
|
196
|
-
}
|
|
197
|
-
export {};
|