@contractspec/bundle.library 3.8.12 → 3.9.2
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/.turbo/turbo-build.log +614 -602
- package/CHANGELOG.md +97 -0
- package/dist/application/context-storage/index.js +1 -1
- package/dist/application/index.js +11 -11
- package/dist/application/mcp/cliMcp.js +6 -6
- package/dist/application/mcp/cliMcp.onboarding.d.ts +4 -0
- package/dist/application/mcp/cliMcp.onboarding.js +2 -0
- package/dist/application/mcp/cliMcp.test.d.ts +1 -0
- package/dist/application/mcp/common.js +1 -1
- package/dist/application/mcp/contractsMcp.js +2 -2
- package/dist/application/mcp/contractsMcp.test.d.ts +1 -0
- package/dist/application/mcp/contractsMcpAdoptionTools.d.ts +3 -0
- package/dist/application/mcp/contractsMcpAdoptionTools.js +2 -0
- package/dist/application/mcp/contractsMcpResources.js +2 -2
- package/dist/application/mcp/contractsMcpTools.js +1 -1
- package/dist/application/mcp/contractsMcpTypes.d.ts +16 -0
- package/dist/application/mcp/docsMcp.catalog.js +2 -2
- package/dist/application/mcp/docsMcp.data.js +1 -1
- package/dist/application/mcp/docsMcp.js +3 -3
- package/dist/application/mcp/docsMcp.prompts.js +3 -3
- package/dist/application/mcp/docsMcp.reference.js +2 -2
- package/dist/application/mcp/docsMcp.resources.js +2 -2
- package/dist/application/mcp/docsMcp.tools.js +2 -2
- package/dist/application/mcp/index.js +11 -11
- package/dist/application/mcp/internalMcp.js +2 -2
- package/dist/application/mcp/normalizeMcpRequest.js +1 -1
- package/dist/application/mcp/providerRankingMcp.js +1 -1
- package/dist/bundles/LibraryBundle.d.ts +19 -111
- package/dist/bundles/LibraryBundle.js +1 -1
- package/dist/bundles/index.js +1 -1
- package/dist/components/docs/DocsIndexPage.js +2 -2
- package/dist/components/docs/advanced/AdvancedMCPPage.js +3 -3
- package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
- package/dist/components/docs/advanced/AdvancedRenderersPage.js +2 -2
- package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
- package/dist/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
- package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
- package/dist/components/docs/advanced/index.js +9 -9
- package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
- package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
- package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
- package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
- package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
- package/dist/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
- package/dist/components/docs/architecture/index.js +20 -20
- package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonOverviewPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonWindmillPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
- package/dist/components/docs/comparison/index.js +1 -1
- package/dist/components/docs/docsManifest.js +1 -1
- package/dist/components/docs/ecosystem/IntegrationsPage.js +2 -2
- package/dist/components/docs/ecosystem/PluginsPage.js +4 -4
- package/dist/components/docs/ecosystem/RegistryPage.js +4 -4
- package/dist/components/docs/ecosystem/TemplatesPage.js +3 -3
- package/dist/components/docs/ecosystem/index.js +11 -11
- package/dist/components/docs/examples/DocsExamplesPage.js +1 -17
- package/dist/components/docs/examples/ExampleShowcasePage.d.ts +1 -1
- package/dist/components/docs/examples/ExampleShowcasePage.js +2 -17
- package/dist/components/docs/examples/exampleShowcaseData.d.ts +2 -2
- package/dist/components/docs/examples/exampleShowcaseData.js +2 -17
- package/dist/components/docs/examples/exampleShowcaseData.test.d.ts +1 -0
- package/dist/components/docs/examples/index.js +2 -17
- package/dist/components/docs/generated/docs-index.generated.js +1 -1
- package/dist/components/docs/generated/index.d.ts +7 -1
- package/dist/components/docs/generated/index.js +1 -1
- package/dist/components/docs/generated/loader.js +1 -1
- package/dist/components/docs/getting-started/CLIPage.js +6 -5
- package/dist/components/docs/getting-started/CompatibilityPage.js +1 -1
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +44 -67
- package/dist/components/docs/getting-started/DeveloperToolsPage.js +1 -1
- package/dist/components/docs/getting-started/HelloWorldPage.js +5 -5
- package/dist/components/docs/getting-started/InstallationPage.js +3 -3
- package/dist/components/docs/getting-started/StartHerePage.js +4 -2
- package/dist/components/docs/getting-started/TroubleshootingPage.js +2 -2
- package/dist/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
- package/dist/components/docs/getting-started/getting-started.docblocks.js +2 -2
- package/dist/components/docs/getting-started/index.js +60 -80
- package/dist/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
- package/dist/components/docs/guides/GuideConnectInRepoPage.js +30 -5
- package/dist/components/docs/guides/GuideContractTypesPage.js +6 -6
- package/dist/components/docs/guides/GuideDocsPipelinePage.js +3 -3
- package/dist/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
- package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
- package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.js +21 -6
- package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
- package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
- package/dist/components/docs/guides/GuideReleaseCapsulesPage.d.ts +1 -0
- package/dist/components/docs/guides/GuideReleaseCapsulesPage.js +16 -0
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
- package/dist/components/docs/guides/GuidesIndexPage.js +2 -2
- package/dist/components/docs/guides/index.d.ts +1 -0
- package/dist/components/docs/guides/index.js +93 -39
- package/dist/components/docs/index.js +690 -419
- package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsGithubPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsGmailPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsMistralPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
- package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsPowensPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
- package/dist/components/docs/integrations/IntegrationsResendPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsS3Page.js +4 -4
- package/dist/components/docs/integrations/IntegrationsSlackPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsStripePage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
- package/dist/components/docs/integrations/index.js +39 -39
- package/dist/components/docs/intent/ContractFirstApiPage.js +2 -2
- package/dist/components/docs/intent/DeterministicCodegenPage.js +2 -2
- package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
- package/dist/components/docs/intent/OpenapiAlternativePage.js +3 -3
- package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
- package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
- package/dist/components/docs/intent/index.js +15 -15
- package/dist/components/docs/intent/intent-pages.docblocks.js +1 -1
- package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
- package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
- package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
- package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
- package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
- package/dist/components/docs/knowledge/index.js +5 -5
- package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
- package/dist/components/docs/libraries/LibrariesContentGenPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesContractsPage.js +43 -18
- package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.d.ts +67 -0
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +86 -0
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.d.ts +1 -0
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.js +86 -0
- package/dist/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +77 -29
- package/dist/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
- package/dist/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesGrowthPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
- package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -1
- package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
- package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesResiliencePage.js +4 -4
- package/dist/components/docs/libraries/LibrariesRuntimePage.js +2 -2
- package/dist/components/docs/libraries/LibrariesSLOPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesSchemaPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesTestingPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesUIKitPage.js +42 -16
- package/dist/components/docs/libraries/LibrariesUIKitWebPage.d.ts +1 -0
- package/dist/components/docs/libraries/LibrariesUIKitWebPage.js +47 -0
- package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
- package/dist/components/docs/libraries/index.d.ts +2 -0
- package/dist/components/docs/libraries/index.js +338 -110
- package/dist/components/docs/manifesto/ManifestoPage.js +1 -1
- package/dist/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
- package/dist/components/docs/ops/DistributedTracingOpsPage.js +2 -2
- package/dist/components/docs/ops/index.js +3 -3
- package/dist/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-top.docs.js +2 -2
- package/dist/components/docs/ops/ops.docs.js +6 -6
- package/dist/components/docs/product/product.docblocks.js +2 -2
- package/dist/components/docs/reference/DocsMarkdownContent.js +2 -2
- package/dist/components/docs/reference/DocsReferenceContent.js +3 -3
- package/dist/components/docs/reference/DocsReferenceIndexClient.js +2 -2
- package/dist/components/docs/reference/DocsReferenceIndexPage.js +2 -2
- package/dist/components/docs/reference/DocsReferencePage.js +3 -3
- package/dist/components/docs/reference/docsMarkdownParser.js +2 -2
- package/dist/components/docs/reference/index.js +4 -4
- package/dist/components/docs/safety/SafetyAuditingPage.js +2 -2
- package/dist/components/docs/safety/SafetyMigrationsPage.js +2 -2
- package/dist/components/docs/safety/SafetyOverviewPage.js +1 -1
- package/dist/components/docs/safety/SafetyPDPPage.js +2 -2
- package/dist/components/docs/safety/SafetySecurityTrustPage.js +1 -1
- package/dist/components/docs/safety/SafetySigningPage.js +3 -3
- package/dist/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
- package/dist/components/docs/safety/index.js +7 -7
- package/dist/components/docs/shared/StudioPrompt.js +1 -1
- package/dist/components/docs/specs/SpecsBuilderControlPlanePage.js +18 -3
- package/dist/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
- package/dist/components/docs/specs/SpecsConnectPage.js +4 -2
- package/dist/components/docs/specs/SpecsDataViewsPage.js +39 -32
- package/dist/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
- package/dist/components/docs/specs/SpecsOverlaysPage.js +2 -2
- package/dist/components/docs/specs/SpecsOverviewPage.js +1 -1
- package/dist/components/docs/specs/SpecsPolicyPage.js +3 -3
- package/dist/components/docs/specs/SpecsWorkflowsPage.js +2 -2
- package/dist/components/docs/specs/index.js +66 -42
- package/dist/components/docs/studio/StudioBYOKPage.js +1 -1
- package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -1
- package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -1
- package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -1
- package/dist/components/docs/studio/StudioOverviewPage.js +1 -1
- package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -1
- package/dist/components/docs/studio/index.js +1 -1
- package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
- package/dist/components/integrations/index.js +2 -2
- package/dist/components/integrations/molecules/IntegrationCard.js +1 -1
- package/dist/components/integrations/organisms/IntegrationMarketplace.js +1 -1
- package/dist/components/integrations/organisms/IntegrationSettings.js +2 -2
- package/dist/components/integrations/organisms/KnowledgeSourceList.js +1 -1
- package/dist/components/legal/PrivacyTemplate.js +1 -1
- package/dist/components/legal/TermsTemplate.js +1 -1
- package/dist/components/legal/index.js +1 -1
- package/dist/components/shared/FeatureGateNotice.js +1 -1
- package/dist/components/shared/index.js +1 -1
- package/dist/components/shell/WorkspaceHeader.js +1 -1
- package/dist/components/shell/WorkspaceProjectShellLayout.js +1 -1
- package/dist/components/shell/WorkspaceShellRenderer.js +1 -1
- package/dist/components/shell/WorkspaceSidebar.js +1 -1
- package/dist/components/shell/index.js +1 -1
- package/dist/components/templates/engine/index.js +1 -1
- package/dist/components/templates/index.js +11 -11
- package/dist/components/templates/messaging/ConversationList.js +2 -2
- package/dist/components/templates/messaging/MessageComposer.js +4 -4
- package/dist/components/templates/messaging/MessageThread.js +3 -3
- package/dist/components/templates/messaging/MessagingWorkspace.js +5 -5
- package/dist/components/templates/messaging/index.js +5 -5
- package/dist/components/templates/recipes/LanguageSwitcher.js +1 -1
- package/dist/components/templates/recipes/RecipeCard.js +1 -1
- package/dist/components/templates/recipes/RecipeDetail.js +1 -1
- package/dist/components/templates/recipes/RecipeList.js +3 -3
- package/dist/components/templates/recipes/index.js +3 -3
- package/dist/components/templates/todos/FilterBar.js +1 -1
- package/dist/components/templates/todos/TaskForm.js +2 -2
- package/dist/components/templates/todos/TaskItem.js +1 -1
- package/dist/components/templates/todos/TaskList.js +5 -5
- package/dist/components/templates/todos/index.js +5 -5
- package/dist/config/contractspec-blueprint.js +1 -1
- package/dist/config/contractspec-branding.js +1 -1
- package/dist/config/contractspec-routes.js +1 -1
- package/dist/config/index.js +1 -1
- package/dist/features/contracts-registry.js +1 -1
- package/dist/features/docs/docs.contracts.js +1 -1
- package/dist/features/docs/index.js +1 -1
- package/dist/features/docs.feature.js +1 -1
- package/dist/features/index.js +1 -1
- package/dist/features/mcp.feature.js +1 -1
- package/dist/features/presentations.feature.js +1 -1
- package/dist/features/registry.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +701 -430
- package/dist/infrastructure/elysia/index.js +1 -1
- package/dist/infrastructure/elysia/logger.js +1 -1
- package/dist/infrastructure/index.js +1 -1
- package/dist/libs/email/client.js +1 -1
- package/dist/libs/email/contact.js +3 -3
- package/dist/libs/email/newsletter.js +3 -3
- package/dist/libs/email/utils.js +2 -2
- package/dist/libs/email/waitlist-application.js +3 -3
- package/dist/libs/email/waitlist.js +3 -3
- package/dist/libs/email.js +6 -6
- package/dist/libs/posthog/client.js +1 -1
- package/dist/libs/posthog/native.js +1 -1
- package/dist/libs/posthog/server.js +1 -1
- package/dist/libs/pricing-examples.js +1 -1
- package/dist/node/application/context-storage/index.js +1 -1
- package/dist/node/application/index.js +11 -11
- package/dist/node/application/mcp/cliMcp.js +6 -6
- package/dist/node/application/mcp/cliMcp.onboarding.js +1 -0
- package/dist/node/application/mcp/common.js +1 -1
- package/dist/node/application/mcp/contractsMcp.js +2 -2
- package/dist/node/application/mcp/contractsMcpAdoptionTools.js +1 -0
- package/dist/node/application/mcp/contractsMcpResources.js +2 -2
- package/dist/node/application/mcp/contractsMcpTools.js +1 -1
- package/dist/node/application/mcp/docsMcp.catalog.js +2 -2
- package/dist/node/application/mcp/docsMcp.data.js +1 -1
- package/dist/node/application/mcp/docsMcp.js +3 -3
- package/dist/node/application/mcp/docsMcp.prompts.js +3 -3
- package/dist/node/application/mcp/docsMcp.reference.js +2 -2
- package/dist/node/application/mcp/docsMcp.resources.js +2 -2
- package/dist/node/application/mcp/docsMcp.tools.js +2 -2
- package/dist/node/application/mcp/index.js +11 -11
- package/dist/node/application/mcp/internalMcp.js +2 -2
- package/dist/node/application/mcp/normalizeMcpRequest.js +1 -1
- package/dist/node/application/mcp/providerRankingMcp.js +1 -1
- package/dist/node/bundles/LibraryBundle.js +1 -1
- package/dist/node/bundles/index.js +1 -1
- package/dist/node/components/docs/DocsIndexPage.js +2 -2
- package/dist/node/components/docs/advanced/AdvancedMCPPage.js +3 -3
- package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
- package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +2 -2
- package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
- package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
- package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
- package/dist/node/components/docs/advanced/index.js +9 -9
- package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
- package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
- package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
- package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
- package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
- package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
- package/dist/node/components/docs/architecture/index.js +20 -20
- package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
- package/dist/node/components/docs/comparison/index.js +1 -1
- package/dist/node/components/docs/docsManifest.js +1 -1
- package/dist/node/components/docs/ecosystem/IntegrationsPage.js +2 -2
- package/dist/node/components/docs/ecosystem/PluginsPage.js +4 -4
- package/dist/node/components/docs/ecosystem/RegistryPage.js +4 -4
- package/dist/node/components/docs/ecosystem/TemplatesPage.js +3 -3
- package/dist/node/components/docs/ecosystem/index.js +11 -11
- package/dist/node/components/docs/examples/DocsExamplesPage.js +1 -17
- package/dist/node/components/docs/examples/ExampleShowcasePage.js +2 -17
- package/dist/node/components/docs/examples/exampleShowcaseData.js +2 -17
- package/dist/node/components/docs/examples/index.js +2 -17
- package/dist/node/components/docs/generated/docs-index.generated.js +1 -1
- package/dist/node/components/docs/generated/index.js +1 -1
- package/dist/node/components/docs/generated/loader.js +1 -1
- package/dist/node/components/docs/getting-started/CLIPage.js +6 -5
- package/dist/node/components/docs/getting-started/CompatibilityPage.js +1 -1
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +44 -67
- package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +1 -1
- package/dist/node/components/docs/getting-started/HelloWorldPage.js +5 -5
- package/dist/node/components/docs/getting-started/InstallationPage.js +3 -3
- package/dist/node/components/docs/getting-started/StartHerePage.js +4 -2
- package/dist/node/components/docs/getting-started/TroubleshootingPage.js +2 -2
- package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
- package/dist/node/components/docs/getting-started/getting-started.docblocks.js +2 -2
- package/dist/node/components/docs/getting-started/index.js +60 -80
- package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
- package/dist/node/components/docs/guides/GuideConnectInRepoPage.js +30 -5
- package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -6
- package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +3 -3
- package/dist/node/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
- package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
- package/dist/node/components/docs/guides/GuideHostBuilderWorkbenchPage.js +21 -6
- package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
- package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
- package/dist/node/components/docs/guides/GuideReleaseCapsulesPage.js +15 -0
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
- package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -2
- package/dist/node/components/docs/guides/index.js +93 -39
- package/dist/node/components/docs/index.js +690 -419
- package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
- package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
- package/dist/node/components/docs/integrations/IntegrationsResendPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsS3Page.js +4 -4
- package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsStripePage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
- package/dist/node/components/docs/integrations/index.js +39 -39
- package/dist/node/components/docs/intent/ContractFirstApiPage.js +2 -2
- package/dist/node/components/docs/intent/DeterministicCodegenPage.js +2 -2
- package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
- package/dist/node/components/docs/intent/OpenapiAlternativePage.js +3 -3
- package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
- package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
- package/dist/node/components/docs/intent/index.js +15 -15
- package/dist/node/components/docs/intent/intent-pages.docblocks.js +1 -1
- package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
- package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
- package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
- package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
- package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
- package/dist/node/components/docs/knowledge/index.js +5 -5
- package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesContractsPage.js +43 -18
- package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +85 -0
- package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.js +85 -0
- package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +77 -29
- package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
- package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -1
- package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesSLOPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesTestingPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +42 -16
- package/dist/node/components/docs/libraries/LibrariesUIKitWebPage.js +46 -0
- package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
- package/dist/node/components/docs/libraries/index.js +338 -110
- package/dist/node/components/docs/manifesto/ManifestoPage.js +1 -1
- package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
- package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +2 -2
- package/dist/node/components/docs/ops/index.js +3 -3
- package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-top.docs.js +2 -2
- package/dist/node/components/docs/ops/ops.docs.js +6 -6
- package/dist/node/components/docs/product/product.docblocks.js +2 -2
- package/dist/node/components/docs/reference/DocsMarkdownContent.js +2 -2
- package/dist/node/components/docs/reference/DocsReferenceContent.js +3 -3
- package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +2 -2
- package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +2 -2
- package/dist/node/components/docs/reference/DocsReferencePage.js +3 -3
- package/dist/node/components/docs/reference/docsMarkdownParser.js +2 -2
- package/dist/node/components/docs/reference/index.js +4 -4
- package/dist/node/components/docs/safety/SafetyAuditingPage.js +2 -2
- package/dist/node/components/docs/safety/SafetyMigrationsPage.js +2 -2
- package/dist/node/components/docs/safety/SafetyOverviewPage.js +1 -1
- package/dist/node/components/docs/safety/SafetyPDPPage.js +2 -2
- package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +1 -1
- package/dist/node/components/docs/safety/SafetySigningPage.js +3 -3
- package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
- package/dist/node/components/docs/safety/index.js +7 -7
- package/dist/node/components/docs/shared/StudioPrompt.js +1 -1
- package/dist/node/components/docs/specs/SpecsBuilderControlPlanePage.js +18 -3
- package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsConnectPage.js +4 -2
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +39 -32
- package/dist/node/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
- package/dist/node/components/docs/specs/SpecsOverlaysPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsOverviewPage.js +1 -1
- package/dist/node/components/docs/specs/SpecsPolicyPage.js +3 -3
- package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +2 -2
- package/dist/node/components/docs/specs/index.js +66 -42
- package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -1
- package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -1
- package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -1
- package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -1
- package/dist/node/components/docs/studio/StudioOverviewPage.js +1 -1
- package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -1
- package/dist/node/components/docs/studio/index.js +1 -1
- package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
- package/dist/node/components/integrations/index.js +2 -2
- package/dist/node/components/integrations/molecules/IntegrationCard.js +1 -1
- package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +1 -1
- package/dist/node/components/integrations/organisms/IntegrationSettings.js +2 -2
- package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +1 -1
- package/dist/node/components/legal/PrivacyTemplate.js +1 -1
- package/dist/node/components/legal/TermsTemplate.js +1 -1
- package/dist/node/components/legal/index.js +1 -1
- package/dist/node/components/shared/FeatureGateNotice.js +1 -1
- package/dist/node/components/shared/index.js +1 -1
- package/dist/node/components/shell/WorkspaceHeader.js +1 -1
- package/dist/node/components/shell/WorkspaceProjectShellLayout.js +1 -1
- package/dist/node/components/shell/WorkspaceShellRenderer.js +1 -1
- package/dist/node/components/shell/WorkspaceSidebar.js +1 -1
- package/dist/node/components/shell/index.js +1 -1
- package/dist/node/components/templates/engine/index.js +1 -1
- package/dist/node/components/templates/index.js +11 -11
- package/dist/node/components/templates/messaging/ConversationList.js +2 -2
- package/dist/node/components/templates/messaging/MessageComposer.js +4 -4
- package/dist/node/components/templates/messaging/MessageThread.js +3 -3
- package/dist/node/components/templates/messaging/MessagingWorkspace.js +5 -5
- package/dist/node/components/templates/messaging/index.js +5 -5
- package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -1
- package/dist/node/components/templates/recipes/RecipeCard.js +1 -1
- package/dist/node/components/templates/recipes/RecipeDetail.js +1 -1
- package/dist/node/components/templates/recipes/RecipeList.js +3 -3
- package/dist/node/components/templates/recipes/index.js +3 -3
- package/dist/node/components/templates/todos/FilterBar.js +1 -1
- package/dist/node/components/templates/todos/TaskForm.js +2 -2
- package/dist/node/components/templates/todos/TaskItem.js +1 -1
- package/dist/node/components/templates/todos/TaskList.js +5 -5
- package/dist/node/components/templates/todos/index.js +5 -5
- package/dist/node/config/contractspec-blueprint.js +1 -1
- package/dist/node/config/contractspec-branding.js +1 -1
- package/dist/node/config/contractspec-routes.js +1 -1
- package/dist/node/config/index.js +1 -1
- package/dist/node/features/contracts-registry.js +1 -1
- package/dist/node/features/docs/docs.contracts.js +1 -1
- package/dist/node/features/docs/index.js +1 -1
- package/dist/node/features/docs.feature.js +1 -1
- package/dist/node/features/index.js +1 -1
- package/dist/node/features/mcp.feature.js +1 -1
- package/dist/node/features/presentations.feature.js +1 -1
- package/dist/node/features/registry.js +1 -1
- package/dist/node/index.js +701 -430
- package/dist/node/infrastructure/elysia/index.js +1 -1
- package/dist/node/infrastructure/elysia/logger.js +1 -1
- package/dist/node/infrastructure/index.js +1 -1
- package/dist/node/libs/email/client.js +1 -1
- package/dist/node/libs/email/contact.js +3 -3
- package/dist/node/libs/email/newsletter.js +3 -3
- package/dist/node/libs/email/utils.js +2 -2
- package/dist/node/libs/email/waitlist-application.js +3 -3
- package/dist/node/libs/email/waitlist.js +3 -3
- package/dist/node/libs/email.js +6 -6
- package/dist/node/libs/posthog/client.js +1 -1
- package/dist/node/libs/posthog/native.js +1 -1
- package/dist/node/libs/posthog/server.js +1 -1
- package/dist/node/libs/pricing-examples.js +1 -1
- package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
- package/dist/node/presentation/features/atoms/FeatureIcon/index.js +1 -1
- package/dist/node/presentation/features/atoms/index.js +1 -1
- package/dist/node/presentation/features/hooks/index.js +1 -1
- package/dist/node/presentation/features/hooks/useContractsRegistry.js +1 -1
- package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -1
- package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -1
- package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -1
- package/dist/node/presentation/features/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCard/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
- package/dist/node/presentation/features/molecules/index.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDetail/index.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureEventsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureFormsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureOperationsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +1 -1
- package/dist/node/presentation/features/organisms/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
- package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
- package/dist/presentation/features/atoms/FeatureIcon/index.js +1 -1
- package/dist/presentation/features/atoms/index.js +1 -1
- package/dist/presentation/features/hooks/index.js +1 -1
- package/dist/presentation/features/hooks/useContractsRegistry.js +1 -1
- package/dist/presentation/features/hooks/useFeatureFilters.js +1 -1
- package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -1
- package/dist/presentation/features/hooks/useRelatedDocs.js +1 -1
- package/dist/presentation/features/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
- package/dist/presentation/features/molecules/FeatureCard/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
- package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
- package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
- package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
- package/dist/presentation/features/molecules/index.js +1 -1
- package/dist/presentation/features/organisms/FeatureDataViewsList.js +1 -1
- package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
- package/dist/presentation/features/organisms/FeatureDetail/index.js +1 -1
- package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
- package/dist/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
- package/dist/presentation/features/organisms/FeatureEventsList.js +1 -1
- package/dist/presentation/features/organisms/FeatureFormsList.js +1 -1
- package/dist/presentation/features/organisms/FeatureOperationsList.js +1 -1
- package/dist/presentation/features/organisms/FeaturePresentationsList.js +1 -1
- package/dist/presentation/features/organisms/index.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
- package/package.json +96 -23
- package/src/application/mcp/cliMcp.onboarding.ts +297 -0
- package/src/application/mcp/cliMcp.test.ts +99 -0
- package/src/application/mcp/cliMcp.ts +30 -3
- package/src/application/mcp/contractsMcp.test.ts +65 -0
- package/src/application/mcp/contractsMcpAdoptionTools.ts +131 -0
- package/src/application/mcp/contractsMcpResources.ts +49 -0
- package/src/application/mcp/contractsMcpTools.ts +2 -0
- package/src/application/mcp/contractsMcpTypes.ts +16 -0
- package/src/bundles/LibraryBundle.ts +19 -130
- package/src/components/docs/docsManifest.test.ts +14 -0
- package/src/components/docs/docsManifest.ts +22 -0
- package/src/components/docs/examples/DocsExamplesPage.tsx +6 -14
- package/src/components/docs/examples/ExampleShowcasePage.tsx +22 -18
- package/src/components/docs/examples/exampleShowcaseData.test.ts +22 -0
- package/src/components/docs/examples/exampleShowcaseData.ts +75 -50
- package/src/components/docs/generated/docs-index._common.json +9 -1
- package/src/components/docs/generated/docs-index.ai-chat.json +1 -1
- package/src/components/docs/generated/docs-index.app-config.json +4 -4
- package/src/components/docs/generated/docs-index.data-grid-showcase.json +9 -1
- package/src/components/docs/generated/docs-index.jobs.json +1 -1
- package/src/components/docs/generated/docs-index.kb-update-pipeline.json +5 -5
- package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +1 -1
- package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +1 -1
- package/src/components/docs/generated/docs-index.learning-journey-registry.json +1 -1
- package/src/components/docs/generated/docs-index.learning-journey.json +27 -3
- package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +8 -0
- package/src/components/docs/generated/docs-index.manifest.json +13 -13
- package/src/components/docs/generated/docs-index.mobile-demo-landing.json +42 -0
- package/src/components/docs/generated/docs-index.platform-agent.json +18 -2
- package/src/components/docs/generated/docs-index.platform-context.json +16 -0
- package/src/components/docs/generated/docs-index.platform-docs.json +9 -1
- package/src/components/docs/generated/docs-index.platform-provider-ranking.json +32 -0
- package/src/components/docs/generated/docs-index.wealth-snapshot.json +4 -4
- package/src/components/docs/generated/index.ts +20 -5
- package/src/components/docs/generated/loader.ts +15 -8
- package/src/components/docs/getting-started/CLIPage.tsx +10 -2
- package/src/components/docs/getting-started/CompatibilityPage.tsx +14 -0
- package/src/components/docs/getting-started/DataViewTutorialPage.tsx +63 -70
- package/src/components/docs/getting-started/StartHerePage.tsx +10 -9
- package/src/components/docs/guides/GuideConnectInRepoPage.tsx +52 -3
- package/src/components/docs/guides/GuideHostBuilderWorkbenchPage.tsx +55 -6
- package/src/components/docs/guides/GuideReleaseCapsulesPage.tsx +147 -0
- package/src/components/docs/guides/GuidesIndexPage.tsx +7 -0
- package/src/components/docs/guides/index.ts +1 -0
- package/src/components/docs/libraries/LibrariesContractsPage.tsx +72 -27
- package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.content.ts +252 -0
- package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.tsx +232 -0
- package/src/components/docs/libraries/LibrariesDesignSystemPage.tsx +140 -55
- package/src/components/docs/libraries/LibrariesOverviewPage.tsx +13 -1
- package/src/components/docs/libraries/LibrariesRuntimePage.tsx +15 -0
- package/src/components/docs/libraries/LibrariesUIKitPage.tsx +78 -25
- package/src/components/docs/libraries/LibrariesUIKitWebPage.tsx +129 -0
- package/src/components/docs/libraries/index.ts +2 -0
- package/src/components/docs/reference/DocsReferenceIndexPage.tsx +1 -1
- package/src/components/docs/specs/SpecsBuilderControlPlanePage.tsx +58 -3
- package/src/components/docs/specs/SpecsConnectPage.tsx +30 -0
- package/src/components/docs/specs/SpecsDataViewsPage.tsx +63 -42
- package/src/index.ts +1 -1
- package/src/components/docs/generated/docs-index.mobile-demo-tasks.json +0 -34
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{EventRegistry as y$,OperationSpecRegistry as v$}from"@contractspec/lib.contracts-spec";import{DataViewRegistry as b$}from"@contractspec/lib.contracts-spec/data-views";import{ContractReferenceDataView as S$,ContractReferenceQuery as g$,DocsGenerateCommand as k$,DocsGeneratedEvent as d$,DocsIndexDataView as l$,DocsIndexQuery as n$,DocsLayoutPresentation as p$,DocsPublishCommand as f$,DocsPublishedEvent as o$,DocsReferencePagePresentation as i$,DocsSearchForm as c$,ExampleCatalogDataView as x$}from"@contractspec/lib.contracts-spec/docs";import{FormRegistry as j$}from"@contractspec/lib.contracts-spec/forms";import{PresentationRegistry as u$}from"@contractspec/lib.contracts-spec/presentations";import{serializeDataViewSpec as r$,serializeEventSpec as t$,serializeFormSpec as a$,serializeOperationSpec as s$,serializePresentationSpec as e$}from"@contractspec/lib.contracts-spec/serialization";var Qz=null;function L4(){let z=new v$;return z.register(n$).register(g$).register(k$).register(f$),z}function Ez(){if(!Qz)Qz=L4();return Qz}function o(z,$){return Ez().get(z,$)}var Jz=null;function q4(){let z=new y$;return z.register(d$).register(o$),z}function N4(){if(!Jz)Jz=q4();return Jz}function F4(z,$){return N4().get(z,$)}var Xz=null;function V4(){let z=new u$;return z.register(p$).register(i$),z}function w4(){if(!Xz)Xz=V4();return Xz}function B4(z,$){return w4().get(z,$)}var Yz=null;function H4(){let z=new b$;return z.register(l$).register(S$).register(x$),z}function R4(){if(!Yz)Yz=H4();return Yz}function h4(z,$){return R4().get(z,$)}var _z=null;function m4(){let z=new j$;return z.register(c$),z}function C4(){if(!_z)_z=m4();return _z}function y4(z,$){return C4().get(z)}function mz(z,$){let X=o(z,$);return s$(X)??void 0}function Cz(z,$){let X=F4(z,$);return t$(X)??void 0}function yz(z,$){let X=B4(z,$);return e$(X)??void 0}function vz(z,$){let X=h4(z,$);return r$(X)??void 0}function bz(z,$){let X=y4(z,$);return a$(X)??void 0}function v4(){Qz=null}function b4(){Jz=null}function S4(){Xz=null}function g4(){Yz=null}function k4(){_z=null}function z1(){v4(),b4(),S4(),g4(),k4()}var Sz={meta:{key:"contractspec.docs",version:"1.0.0",title:"Documentation",description:"Comprehensive documentation system for ContractSpec",domain:"platform",owners:["@platform.docs"],tags:["documentation","guides","api-reference"],stability:"stable"},operations:[{key:"docs_search",version:"1.0.0"},{key:"docs.navigate",version:"1.0.0"}],events:[{key:"docs.page_viewed",version:"1.0.0"},{key:"docs.search_performed",version:"1.0.0"}],presentations:[{key:"docs.landing",version:"1.0.0"},{key:"docs.getting-started",version:"1.0.0"},{key:"docs.architecture",version:"1.0.0"}],capabilities:{provides:[{key:"contracts.docs",version:"1.0.0"}],requires:[]}};import{ContractReferenceQuery as $1,DocSummaryModel as Q1,DocsIndexInput as J1,DocsIndexOutput as X1,DocsIndexQuery as Y1,DocsIndexQuery as _1}from"@contractspec/lib.contracts-spec/docs";var gz={meta:{key:"contractspec.mcp",version:"1.0.0",title:"MCP Integration",description:"Model Context Protocol server for AI agent integration",domain:"platform",owners:["@platform.mcp"],tags:["mcp","ai-agents","tooling"],stability:"beta"},operations:[{key:"mcp.tool.register",version:"1.0.0"},{key:"mcp.resource.register",version:"1.0.0"},{key:"mcp.prompt.register",version:"1.0.0"}],events:[{key:"mcp.tool_invoked",version:"1.0.0"},{key:"mcp.resource_accessed",version:"1.0.0"}],presentations:[],capabilities:{provides:[{key:"contracts.mcp",version:"1.0.0"}],requires:[{key:"contracts.operations",version:"1.0.0"}]}};var kz={meta:{key:"contractspec.presentations",version:"1.0.0",title:"Presentation Runtime",description:"Cross-platform rendering of contract-driven UI",domain:"platform",owners:["@platform.presentations"],tags:["presentations","ui","rendering","cross-platform"],stability:"beta"},operations:[{key:"presentation.render",version:"1.0.0"},{key:"presentation.transform",version:"1.0.0"}],events:[{key:"presentation.rendered",version:"1.0.0"},{key:"presentation.transformed",version:"1.0.0"}],presentations:[{key:"form.standard",version:"1.0.0"},{key:"list.standard",version:"1.0.0"},{key:"detail.standard",version:"1.0.0"}],capabilities:{provides:[{key:"contracts.presentations",version:"1.0.0"}],requires:[]}};import{AppConfigFeature as E1}from"@contractspec/lib.contracts-spec/app-config";import{FeatureRegistry as U1}from"@contractspec/lib.contracts-spec/features";function d4(){let z=new U1;return z.register(Sz),z.register(gz),z.register(kz),z.register(E1),z}var Uz=null;function dz(){if(!Uz)Uz=d4();return Uz}function W1(){Uz=null}import{FeatureRegistry as i3}from"@contractspec/lib.contracts-spec/features";import{cn as Z1}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as G1,Database as lz,FileText as Wz,Globe as l4,Layout as i,MessageSquare as M1,Settings as A1,Shield as nz,Workflow as pz}from"lucide-react";import*as n4 from"react";import{jsx as P1}from"react/jsx-runtime";var O1={platform:A1,documentation:Wz,docs:Wz,integration:pz,api:l4,security:nz,data:lz,messaging:M1,ui:i,presentation:i},I1={documentation:Wz,guides:Wz,"api-reference":l4,presentations:i,ui:i,rendering:i,mcp:pz,integration:pz,security:nz,auth:nz,data:lz,storage:lz},p4={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"},D1={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"};function Zz({domain:z,tags:$=[],stability:X,icon:Q,size:_="md",className:Y}){let M=n4.useMemo(()=>{if(Q)return Q;if(z){let D=O1[z.toLowerCase()];if(D)return D}for(let D of $){let O=I1[D.toLowerCase()];if(O)return O}return G1},[z,$,Q]),J=X?p4[X]||"primary":"primary",A={success:"text-emerald-600 dark:text-emerald-400",warning:"text-amber-600 dark:text-amber-400",info:"text-blue-600 dark:text-blue-400",danger:"text-red-600 dark:text-red-400",primary:"text-primary"};return P1(M,{className:Z1(D1[_],A[J],Y)})}function Gz(z){if(!z)return"primary";return p4[z]||"primary"}import{useMemo as f4}from"react";function o4(){let z=f4(()=>Ez(),[]);return f4(()=>({resolveOperation:($)=>o($.key,$.version),getOperationSpec:($,X)=>o($,X),listOperations:()=>z.list()}),[z])}import{useCallback as c,useMemo as i4,useState as T1}from"react";var c4={search:"",tags:[],stability:[],domain:[]};function Mz(z){let[$,X]=T1(c4),Q=c((O)=>{X((I)=>({...I,search:O}))},[]),_=c((O)=>{X((I)=>({...I,tags:I.tags.includes(O)?I.tags.filter((H)=>H!==O):[...I.tags,O]}))},[]),Y=c((O)=>{X((I)=>({...I,stability:I.stability.includes(O)?I.stability.filter((H)=>H!==O):[...I.stability,O]}))},[]),M=c((O)=>{X((I)=>({...I,domain:I.domain.includes(O)?I.domain.filter((H)=>H!==O):[...I.domain,O]}))},[]),J=c(()=>X(c4),[]),A=i4(()=>{return $.search.length>0||$.tags.length>0||$.stability.length>0||$.domain.length>0},[$]),D=i4(()=>{return z.filter((O)=>{if($.search){let I=$.search.toLowerCase();if(!((O.meta.title??"").toLowerCase().includes(I)||O.meta.description?.toLowerCase().includes(I)||O.meta.key.toLowerCase().includes(I)))return!1}if($.tags.length>0){if(!$.tags.some((H)=>O.meta.tags?.includes(H)))return!1}if($.stability.length>0){if(!$.stability.includes(O.meta.stability??"unknown"))return!1}if($.domain.length>0){if(!$.domain.includes(O.meta.domain??"unknown"))return!1}return!0})},[z,$]);return{filters:$,setSearch:Q,toggleTag:_,toggleStability:Y,toggleDomain:M,clearFilters:J,filteredFeatures:D,hasActiveFilters:A}}import{useMemo as x4}from"react";function Az(){let z=x4(()=>dz(),[]);return x4(()=>{let $=z.list();return{features:$,getFeature:(X)=>z.get(X),getByTag:(X)=>z.listByTag(X),getByOwner:(X)=>z.listByOwner(X),getUniqueTags:()=>z.getUniqueTags(),getUniqueDomains:()=>{let X=new Set;for(let Q of $)if(Q.meta.domain)X.add(Q.meta.domain);return[...X].sort()},getUniqueStabilities:()=>{let X=new Set;for(let Q of $)if(Q.meta.stability)X.add(Q.meta.stability);return[...X].sort()}}},[z])}import{defaultDocRegistry as K1}from"@contractspec/lib.contracts-spec/docs";import{useMemo as L1}from"react";function R(z,$){return L1(()=>{try{return K1.list().filter(({block:_})=>{let Y=_.id.toLowerCase().includes(z.toLowerCase())||_.title.toLowerCase().includes(z.toLowerCase()),M=$?.some((J)=>_.tags?.some((A)=>A.toLowerCase().includes(J.toLowerCase())));return Y||M}).map(({block:_,route:Y})=>({id:_.id,title:_.title,summary:_.summary,route:Y}))}catch(Q){return console.error("Failed to fetch related docs:",Q),[]}},[z,$])}import{StatusChip as j4}from"@contractspec/lib.design-system";import{HStack as x}from"@contractspec/lib.ui-kit-web/ui/stack";import{ArrowRight as q1,Layout as N1,Radio as F1,Shield as V1,Tag as w1,Users as B1,Zap as H1}from"lucide-react";import{jsx as L,jsxs as B,Fragment as R1}from"react/jsx-runtime";function Oz({feature:z}){let{meta:$,operations:X,events:Q,presentations:_,capabilities:Y}=z,M=Y?.provides?.length||Y?.requires?.length;return B(R1,{children:[$.description&&L("p",{className:"text-muted-foreground text-sm leading-relaxed",children:$.description}),B(x,{gap:"md",className:"py-2",children:[X?.length?B("div",{className:"flex items-center gap-1.5 text-sm",children:[L(H1,{className:"h-4 w-4 text-amber-500"}),L("span",{className:"font-medium",children:X.length}),L("span",{className:"text-muted-foreground",children:"ops"})]}):null,Q?.length?B("div",{className:"flex items-center gap-1.5 text-sm",children:[L(F1,{className:"h-4 w-4 text-blue-500"}),L("span",{className:"font-medium",children:Q.length}),L("span",{className:"text-muted-foreground",children:"events"})]}):null,_?.length?B("div",{className:"flex items-center gap-1.5 text-sm",children:[L(N1,{className:"h-4 w-4 text-purple-500"}),L("span",{className:"font-medium",children:_.length}),L("span",{className:"text-muted-foreground",children:"views"})]}):null]}),M&&B("div",{className:"space-y-1.5 border-border/50 border-t pt-1",children:[Y?.provides?.length?B(x,{gap:"xs",wrap:"wrap",className:"items-start",children:[L(V1,{className:"mt-0.5 h-3.5 w-3.5 text-emerald-500"}),L("span",{className:"text-muted-foreground text-xs",children:"Provides:"}),Y.provides.slice(0,2).map((J)=>L(j4,{tone:"success",label:J.key,size:"sm"},J.key)),Y.provides.length>2&&B("span",{className:"text-muted-foreground text-xs",children:["+",Y.provides.length-2]})]}):null,Y?.requires?.length?B(x,{gap:"xs",wrap:"wrap",className:"items-start",children:[L(q1,{className:"mt-0.5 h-3.5 w-3.5 text-blue-500"}),L("span",{className:"text-muted-foreground text-xs",children:"Requires:"}),Y.requires.slice(0,2).map((J)=>L(j4,{tone:"info",label:J.key,size:"sm"},J.key)),Y.requires.length>2&&B("span",{className:"text-muted-foreground text-xs",children:["+",Y.requires.length-2]})]}):null]}),$.tags?.length?B(x,{gap:"xs",wrap:"wrap",className:"items-center border-border/50 border-t pt-1",children:[L(w1,{className:"h-3.5 w-3.5 text-muted-foreground"}),$.tags.slice(0,4).map((J)=>B("span",{className:"rounded bg-muted px-1.5 py-0.5 text-muted-foreground text-xs",children:["#",J]},J)),$.tags.length>4&&B("span",{className:"text-muted-foreground text-xs",children:["+",$.tags.length-4]})]}):null,$.owners?.length?B(x,{gap:"xs",className:"items-center text-muted-foreground text-xs",children:[L(B1,{className:"h-3.5 w-3.5"}),L("span",{children:$.owners.join(", ")})]}):null]})}import{EntityCard as h1,StatusChip as m1}from"@contractspec/lib.design-system";import{HStack as u4}from"@contractspec/lib.ui-kit-web/ui/stack";import{Layout as C1,Radio as y1,Shield as v1,Zap as b1}from"lucide-react";import{jsx as h,jsxs as n}from"react/jsx-runtime";var S1={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"};function Iz({feature:z,onSelect:$,className:X}){let{meta:Q,operations:_,events:Y,presentations:M,capabilities:J}=z,A=S1[Q.stability]??"neutral",D=Gz(Q.stability),O=Q.stability==="stable"?"strong":"default",I=$?()=>$(z):void 0,H=J?.provides?.length||J?.requires?.length;return h(h1,{cardTitle:Q.title,cardSubtitle:Q.key,className:X,onClick:I,emphasis:O,icon:h(Zz,{domain:Q.domain,tags:Q.tags,stability:Q.stability,size:"md"}),iconTone:D,chips:h(m1,{tone:A,label:Q.stability??"unknown",size:"sm"}),meta:Q.description?h("span",{className:"line-clamp-2 text-muted-foreground text-sm",children:Q.description}):void 0,preview:h(Oz,{feature:z}),footer:n(u4,{gap:"md",className:"w-full justify-between text-muted-foreground text-xs",children:[n(u4,{gap:"sm",children:[_?.length?n("span",{className:"flex items-center gap-1",children:[h(b1,{className:"h-3 w-3 text-amber-500"}),_.length]}):null,Y?.length?n("span",{className:"flex items-center gap-1",children:[h(y1,{className:"h-3 w-3 text-blue-500"}),Y.length]}):null,M?.length?n("span",{className:"flex items-center gap-1",children:[h(C1,{className:"h-3 w-3 text-purple-500"}),M.length]}):null]}),H&&n("span",{className:"flex items-center gap-1",children:[h(v1,{className:"h-3 w-3 text-emerald-500"}),(J?.provides?.length??0)+(J?.requires?.length??0)]})]})})}import{StatusChip as g1}from"@contractspec/lib.design-system";import{HStack as k1}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as r4}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as d1,ChevronDown as l1}from"lucide-react";import{jsx as j,jsxs as t4}from"react/jsx-runtime";function Dz({title:z,count:$,icon:X,isCollapsed:Q=!1,onToggle:_,className:Y}){return t4("button",{type:"button",onClick:_,className:r4("flex w-full items-center justify-between rounded-lg px-4 py-3","bg-muted/30 transition-colors hover:bg-muted/50","group cursor-pointer",Y),children:[t4(k1,{gap:"sm",className:"items-center",children:[j("div",{className:"text-muted-foreground transition-colors group-hover:text-foreground",children:X||j(d1,{className:"h-5 w-5"})}),j("span",{className:"font-semibold text-lg capitalize transition-colors group-hover:text-primary",children:z}),j(g1,{tone:"neutral",label:`${$} ${$===1?"feature":"features"}`,size:"sm"})]}),j(l1,{className:r4("h-5 w-5 text-muted-foreground transition-transform duration-200",Q&&"-rotate-90")})]})}import{Button as fz,Input as n1}from"@contractspec/lib.design-system";import{HStack as oz,VStack as p1}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as f1}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as u,jsxs as p}from"react/jsx-runtime";function Pz({uniqueTags:z,uniqueStabilities:$,filters:X,setSearch:Q,toggleTag:_,toggleStability:Y,clearFilters:M,hasActiveFilters:J,className:A}){return p(p1,{gap:"md",className:f1("w-full",A),children:[p(oz,{gap:"md",justify:"between",className:"w-full",children:[u(n1,{placeholder:"Search features...",value:X.search,onChange:(D)=>Q(D.target.value),className:"max-w-md","aria-label":"Search features"}),J&&u(fz,{variant:"ghost",size:"sm",onClick:M,children:"Clear filters"})]}),$.length>0&&p(oz,{gap:"xs",wrap:"wrap",children:[u("span",{className:"text-muted-foreground text-sm",children:"Stability:"}),$.map((D)=>u(fz,{variant:X.stability.includes(D)?"default":"outline",size:"sm",onClick:()=>Y(D),"aria-pressed":X.stability.includes(D),children:D},D))]}),z.length>0&&p(oz,{gap:"xs",wrap:"wrap",children:[u("span",{className:"text-muted-foreground text-sm",children:"Tags:"}),z.slice(0,10).map((D)=>p(fz,{variant:X.tags.includes(D)?"default":"outline",size:"sm",onClick:()=>_(D),"aria-pressed":X.tags.includes(D),children:["#",D]},D)),z.length>10&&p("span",{className:"text-muted-foreground text-sm",children:["+",z.length-10," more"]})]})]})}import{EntityCard as o1}from"@contractspec/lib.design-system";import{Table as i1}from"lucide-react";import{jsx as iz}from"react/jsx-runtime";function cz({feature:z}){if(!z.dataViews?.length)return null;return iz("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.dataViews.map(($)=>{let X=vz($.key,$.version);return iz(o1,{cardTitle:$.key,cardSubtitle:`v${$.version}`,footer:X?.meta.description,icon:iz(i1,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/dataviews/${$.key}`},$.key)})})}import{StatCard as xz,StatCardGroup as c1,StatusChip as y}from"@contractspec/lib.design-system";import{Box as Tz,HStack as r,VStack as x1}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as j1}from"@contractspec/lib.ui-kit-web/ui/utils";import jz from"next/link";import{jsx as P,jsxs as v}from"react/jsx-runtime";var u1={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"};function Kz({feature:z,className:$}){let{meta:X,operations:Q,events:_,presentations:Y,capabilities:M}=z,J=u1[X.stability]??"neutral";return v(x1,{gap:"lg",className:j1("w-full",$),children:[v(r,{gap:"sm",children:[P(y,{tone:J,label:X.stability??"unknown"}),P(y,{tone:"neutral",label:X.key,size:"sm"}),P(y,{tone:"neutral",label:`v${X.version}`,size:"sm"})]}),v(c1,{children:[P(jz,{href:`./${z.meta.key}/operations`,children:P(xz,{label:"Operations",value:Q?.length??0})}),P(jz,{href:`./${z.meta.key}/events`,children:P(xz,{label:"Events",value:_?.length??0})}),P(jz,{href:`./${z.meta.key}/presentations`,children:P(xz,{label:"Presentations",value:Y?.length??0})})]}),M?.provides?.length?v(Tz,{className:"flex-col rounded-lg border p-4",gap:"sm",align:"start",children:[P("span",{className:"font-semibold",children:"Provides Capabilities"}),P(r,{gap:"xs",wrap:"wrap",children:M.provides.map((A)=>P(y,{tone:"success",label:`${A.key} v${A.version}`,size:"sm"},`${A.key}-${A.version}`))})]}):null,M?.requires?.length?v(Tz,{className:"flex-col rounded-lg border p-4",gap:"sm",align:"start",children:[P("span",{className:"font-semibold",children:"Requires Capabilities"}),P(r,{gap:"xs",wrap:"wrap",children:M.requires.map((A)=>P(y,{tone:"info",label:`${A.key}${A.version?` v${A.version}`:""}${A.optional?" (optional)":""}`,size:"sm"},A.key))})]}):null,X.tags?.length?v(Tz,{className:"flex-col rounded-lg border p-4",gap:"sm",align:"start",children:[P("span",{className:"font-semibold",children:"Tags"}),P(r,{gap:"xs",wrap:"wrap",children:X.tags.map((A)=>P(y,{tone:"neutral",label:`#${A}`,size:"sm"},A))})]}):null,X.owners?.length?v(Tz,{className:"flex-col rounded-lg border p-4",gap:"sm",align:"start",children:[P("span",{className:"font-semibold",children:"Owners"}),P(r,{gap:"xs",wrap:"wrap",children:X.owners.map((A)=>P(y,{tone:"neutral",label:A,size:"sm"},A))})]}):null]})}import{Button as r1,EmptyState as t1,PageHeaderResponsive as a1,StatusChip as s1}from"@contractspec/lib.design-system";import{HStack as a4,VStack as t}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as uz}from"@contractspec/lib.ui-kit-web/ui/utils";import{LayoutGrid as e1,List as z2,Star as $2}from"lucide-react";import*as S from"react";import{jsx as w,jsxs as b}from"react/jsx-runtime";function Q2(z){let $={};for(let X of z){let Q=X.meta.domain||"Other";if(!$[Q])$[Q]=[];$[Q].push(X)}return $}function J2(z){let $=["stable","beta","experimental","deprecated","unknown"],X={};for(let _ of z){let Y=_.meta.stability||"unknown";if(!X[Y])X[Y]=[];X[Y].push(_)}let Q={};for(let _ of $)if(X[_])Q[_]=X[_];return Q}function s4({onSelectFeature:z,className:$,defaultViewMode:X="grid",groupBy:Q="domain",showFeatured:_=!0}){let{features:Y,getUniqueTags:M,getUniqueStabilities:J}=Az(),{filters:A,setSearch:D,toggleTag:O,toggleStability:I,clearFilters:H,filteredFeatures:m,hasActiveFilters:Bz}=Mz(Y),H$=M(),R$=J(),[Hz,P4]=S.useState(X),[T4,h$]=S.useState(new Set),Rz=S.useMemo(()=>m.filter((V)=>V.meta.stability==="stable"),[m]),zz=S.useMemo(()=>_?m.filter((V)=>V.meta.stability!=="stable"):m,[m,_]),K4=S.useMemo(()=>{if(Q==="none")return null;if(Q==="domain")return Q2(zz);return J2(zz)},[zz,Q]),m$=(V)=>{h$((C)=>{let $z=new Set(C);if($z.has(V))$z.delete(V);else $z.add(V);return $z})},C$=Hz==="grid"?"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3":"flex flex-col gap-3",hz=(V)=>w("div",{className:C$,children:V.map((C)=>w(Iz,{feature:C,onSelect:z},C.meta.key))});return b(t,{gap:"lg",className:uz("w-full p-6",$),children:[b("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[w(a1,{title:"Feature Discovery",subtitle:`Browse ${Y.length} available ContractSpec features`}),b(a4,{gap:"xs",children:[w("button",{type:"button",onClick:()=>P4("grid"),className:uz("rounded-md p-2 transition-colors",Hz==="grid"?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"),"aria-label":"Grid view",children:w(e1,{className:"h-4 w-4"})}),w("button",{type:"button",onClick:()=>P4("list"),className:uz("rounded-md p-2 transition-colors",Hz==="list"?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"),"aria-label":"List view",children:w(z2,{className:"h-4 w-4"})})]})]}),w(Pz,{uniqueTags:H$,uniqueStabilities:R$,filters:A,setSearch:D,toggleTag:O,toggleStability:I,clearFilters:H,hasActiveFilters:Bz}),m.length===0?w(t1,{title:"No features found",description:Bz?"Try adjusting your search or filters":"No features are registered yet",primaryAction:Bz?w(r1,{variant:"outline",onClick:H,children:"Clear filters"}):void 0}):b(t,{gap:"lg",children:[_&&Rz.length>0&&b(t,{gap:"sm",children:[b(a4,{gap:"sm",className:"items-center",children:[w($2,{className:"h-5 w-5 fill-amber-500 text-amber-500"}),w("span",{className:"font-semibold text-lg",children:"Featured"}),w(s1,{tone:"success",label:`${Rz.length} stable`,size:"sm"})]}),hz(Rz)]}),K4?w(t,{gap:"md",children:Object.entries(K4).map(([V,C])=>b(t,{gap:"sm",children:[w(Dz,{title:V,count:C.length,isCollapsed:T4.has(V),onToggle:()=>m$(V)}),!T4.has(V)&&hz(C)]},V))}):hz(zz)]})]})}import{EntityCard as X2}from"@contractspec/lib.design-system";import{Radio as Y2}from"lucide-react";import{jsx as rz}from"react/jsx-runtime";function tz({feature:z}){if(!z.events?.length)return null;return rz("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.events.map(($)=>{let X=Cz($.key,$.version);return rz(X2,{cardTitle:$.key,cardSubtitle:`v${$.version}`,footer:X?.meta.description,icon:rz(Y2,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/events/${$.key}`},$.key)})})}import{EntityCard as _2}from"@contractspec/lib.design-system";import{FormInput as E2}from"lucide-react";import{jsx as az}from"react/jsx-runtime";function sz({feature:z}){if(!z.forms?.length)return null;return az("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.forms.map(($)=>{let X=bz($.key,$.version);return az(_2,{cardTitle:$.key,cardSubtitle:$.version?`v${$.version}`:void 0,footer:X?.meta.description,icon:az(E2,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/forms/${$.key}`},$.key)})})}import{EntityCard as U2}from"@contractspec/lib.design-system";import{Zap as W2}from"lucide-react";import{jsx as ez}from"react/jsx-runtime";function z4({feature:z}){if(!z.operations?.length)return null;return ez("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.operations.map(($)=>{let X=mz($.key,$.version);return ez(U2,{cardTitle:$.key,cardSubtitle:`v${$.version}`,footer:X?.meta.description,icon:ez(W2,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/operations/${$.key}`},$.key)})})}import{EntityCard as Z2}from"@contractspec/lib.design-system";import{Layout as G2}from"lucide-react";import{jsx as $4}from"react/jsx-runtime";function Q4({feature:z}){if(!z.presentations?.length)return null;return $4("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.presentations.map(($)=>{let X=yz($.key,$.version);return $4(Z2,{cardTitle:$.key,cardSubtitle:`v${$.version}`,footer:X?.meta.description,icon:$4(G2,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/presentations/${$.key}`},$.key)})})}import{Breadcrumbs as e4,CodeBlock as J4,EmptyState as M2,PageHeaderResponsive as z$,StatusChip as a}from"@contractspec/lib.design-system";import{Card as X4}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as $$,HStack as Lz,VStack as g}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as Q$}from"@contractspec/lib.ui-kit-web/ui/utils";import{BookOpen as A2,Code as O2,Database as I2,Table as J$}from"lucide-react";import D2 from"next/link";import{jsx as E,jsxs as T}from"react/jsx-runtime";function P2({feature:z,viewKey:$,view:X,spec:Q,className:_}){let Y=X??z.dataViews?.find((J)=>J.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return T(g,{gap:"lg",className:Q$("mx-auto w-full max-w-5xl p-6",_),children:[E(z$,{title:"Data View Not Found",subtitle:`Data View ${$} not found in feature ${z.meta.key}`,breadcrumb:E(e4,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Data Views"}]})}),E(M2,{title:"Data View not found",description:`The data view '${$}' could not be found in this feature.`,icon:E(J$,{className:"h-12 w-12 text-muted-foreground"})})]});return T(g,{gap:"lg",className:Q$("mx-auto w-full max-w-5xl p-6",_),children:[E(z$,{title:Y.key,subtitle:`Data View defined in ${z.meta.title??z.meta.key}`,breadcrumb:E(e4,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Data Views",href:`/features/${z.meta.key}#dataviews`},{label:Y.key}]})}),T(Lz,{gap:"sm",children:[E(a,{tone:"neutral",label:Y.key,size:"sm",icon:E(J$,{className:"h-3 w-3"})}),E(a,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?E(a,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),T("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[E("div",{className:"space-y-6 lg:col-span-2",children:E(X4,{className:"p-6",children:T(g,{gap:"md",children:[T(Lz,{className:"items-center gap-2 border-b pb-2",children:[E(O2,{className:"h-5 w-5 text-muted-foreground"}),E("h3",{className:"font-semibold text-lg",children:"View Definition"})]}),Q?T(g,{gap:"lg",children:[Q.meta.description&&E("p",{className:"text-muted-foreground",children:Q.meta.description}),T($$,{className:"flex-col gap-2",children:[E("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Source Query"}),E(J4,{code:JSON.stringify(Q.source,null,2),language:"json"})]}),T($$,{className:"flex-col gap-2",children:[E("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"View Configuration"}),E(J4,{code:JSON.stringify(Q.view,null,2),language:"json"})]})]}):T(g,{gap:"md",children:[E("p",{className:"text-muted-foreground",children:"Full definition details are not available for this data view reference."}),E(J4,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),E("div",{className:"space-y-6",children:E(X4,{className:"p-6",children:T(g,{gap:"md",children:[T(Lz,{className:"items-center gap-2 border-b pb-2",children:[E(I2,{className:"h-5 w-5 text-muted-foreground"}),E("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),T("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[T("div",{children:[E("dt",{className:"text-muted-foreground",children:"Key"}),E("dd",{className:"truncate font-medium",children:Y.key})]}),T("div",{children:[E("dt",{className:"text-muted-foreground",children:"Version"}),E("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.owners&&T("div",{children:[E("dt",{className:"text-muted-foreground",children:"Owners"}),E("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((J)=>E(a,{label:J,size:"sm",tone:"neutral"},J))})]}),Q?.meta?.tags&&T("div",{children:[E("dt",{className:"text-muted-foreground",children:"Tags"}),E("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.tags.map((J)=>E(a,{label:`#${J}`,size:"sm",tone:"neutral"},J))})]})]})]})})}),M?.length?E("div",{className:"lg:col-span-3",children:E(X4,{className:"p-6",children:T(g,{gap:"md",children:[T(Lz,{className:"items-center gap-2 border-b pb-2",children:[E(A2,{className:"h-5 w-5 text-muted-foreground"}),E("h3",{className:"font-semibold text-lg",children:"Related Documentation"})]}),E("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:M.map((J)=>E(D2,{href:J.route||`/docs/${J.id}`,className:"group block",children:T("div",{className:"h-full rounded-lg border p-4 transition-colors hover:border-primary",children:[E("h4",{className:"mb-1 font-semibold group-hover:text-primary",children:J.title}),J.summary&&E("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:J.summary})]})},J.id))})]})})}):null]})]})}import{Breadcrumbs as T2,PageHeaderResponsive as K2}from"@contractspec/lib.design-system";import{VStack as L2}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as q2}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as Y4,jsxs as N2}from"react/jsx-runtime";function X$({feature:z,className:$}){return N2(L2,{gap:"lg",className:q2("mx-auto w-full max-w-5xl p-6",$),children:[Y4(K2,{title:"Data Views",subtitle:`Data views defined in ${z.meta.title??z.meta.key}`,breadcrumb:Y4(T2,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Data Views"}]})}),Y4(cz,{feature:z})]})}import{Breadcrumbs as Y$,CodeBlock as _$,EmptyState as F2,PageHeaderResponsive as E$,StatusChip as qz}from"@contractspec/lib.design-system";import{Card as _4}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as V2,HStack as Nz,VStack as k}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as U$}from"@contractspec/lib.ui-kit-web/ui/utils";import{BookOpen as w2,Code as B2,Database as H2,Radio as W$}from"lucide-react";import R2 from"next/link";import{jsx as W,jsxs as q}from"react/jsx-runtime";function h2({feature:z,eventKey:$,event:X,spec:Q,className:_}){let Y=X??z.events?.find((J)=>J.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return q(k,{gap:"lg",className:U$("mx-auto w-full max-w-5xl p-6",_),children:[W(E$,{title:"Event Not Found",subtitle:`Event ${$} not found in feature ${z.meta.key}`,breadcrumb:W(Y$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Events",href:`/features/${z.meta.key}/events`}]})}),W(F2,{title:"Event not found",description:`The event '${$}' could not be found in this feature.`,icon:W(W$,{className:"h-12 w-12 text-muted-foreground"})})]});return q(k,{gap:"lg",className:U$("mx-auto w-full max-w-5xl p-6",_),children:[W(E$,{title:Y.key,subtitle:`Event defined in ${z.meta.title??z.meta.key}`,breadcrumb:W(Y$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Events",href:`/features/${z.meta.key}#events`},{label:Y.key}]})}),q(Nz,{gap:"sm",children:[W(qz,{tone:"neutral",label:Y.key,size:"sm",icon:W(W$,{className:"h-3 w-3"})}),W(qz,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?W(qz,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),q("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[W("div",{className:"space-y-6 lg:col-span-2",children:W(_4,{className:"p-6",children:q(k,{gap:"md",children:[q(Nz,{className:"items-center gap-2 border-b pb-2",children:[W(B2,{className:"h-5 w-5 text-muted-foreground"}),W("h3",{className:"font-semibold text-lg",children:"Payload Definition"})]}),Q?q(k,{gap:"lg",children:[Q.meta.description&&W("p",{className:"text-muted-foreground",children:Q.meta.description}),q(V2,{className:"flex-col gap-2",children:[W("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Payload Schema"}),W(_$,{code:JSON.stringify(Q.payload,null,2),language:"json"})]})]}):q(k,{gap:"md",children:[W("p",{className:"text-muted-foreground",children:"Full payload details are not available for this event reference."}),W(_$,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),W("div",{className:"space-y-6",children:W(_4,{className:"p-6",children:q(k,{gap:"md",children:[q(Nz,{className:"items-center gap-2 border-b pb-2",children:[W(H2,{className:"h-5 w-5 text-muted-foreground"}),W("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),q("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[q("div",{children:[W("dt",{className:"text-muted-foreground",children:"Key"}),W("dd",{className:"truncate font-medium",children:Y.key})]}),q("div",{children:[W("dt",{className:"text-muted-foreground",children:"Version"}),W("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.owners&&q("div",{children:[W("dt",{className:"text-muted-foreground",children:"Owners"}),W("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((J)=>W(qz,{label:J,size:"sm",tone:"neutral"},J))})]})]})]})})}),M?.length?W("div",{className:"lg:col-span-3",children:W(_4,{className:"p-6",children:q(k,{gap:"md",children:[q(Nz,{className:"items-center gap-2 border-b pb-2",children:[W(w2,{className:"h-5 w-5 text-muted-foreground"}),W("h3",{className:"font-semibold text-lg",children:"Related Documentation"})]}),W("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:M.map((J)=>W(R2,{href:J.route||`/docs/${J.id}`,className:"group block",children:q("div",{className:"h-full rounded-lg border p-4 transition-colors hover:border-primary",children:[W("h4",{className:"mb-1 font-semibold group-hover:text-primary",children:J.title}),J.summary&&W("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:J.summary})]})},J.id))})]})})}):null]})]})}import{Breadcrumbs as m2,PageHeaderResponsive as C2}from"@contractspec/lib.design-system";import{VStack as y2}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as v2}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as E4,jsxs as S2}from"react/jsx-runtime";function b2({feature:z,className:$}){return S2(y2,{gap:"lg",className:v2("mx-auto w-full max-w-5xl p-6",$),children:[E4(C2,{title:"Events",subtitle:`Events defined in ${z.meta.title??z.meta.key}`,breadcrumb:E4(m2,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Events"}]})}),E4(tz,{feature:z})]})}import{Breadcrumbs as Z$,CodeBlock as U4,EmptyState as g2,PageHeaderResponsive as G$,StatusChip as s}from"@contractspec/lib.design-system";import{Card as W4}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as M$,HStack as Fz,VStack as d}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as A$}from"@contractspec/lib.ui-kit-web/ui/utils";import{BookOpen as k2,Code as d2,Database as l2,PenTool as O$}from"lucide-react";import n2 from"next/link";import{jsx as U,jsxs as K}from"react/jsx-runtime";function p2({feature:z,formKey:$,form:X,spec:Q,className:_}){let Y=X??z.forms?.find((J)=>J.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return K(d,{gap:"lg",className:A$("mx-auto w-full max-w-5xl p-6",_),children:[U(G$,{title:"Form Not Found",subtitle:`Form ${$} not found in feature ${z.meta.key}`,breadcrumb:U(Z$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Forms"}]})}),U(g2,{title:"Form not found",description:`The form '${$}' could not be found in this feature.`,icon:U(O$,{className:"h-12 w-12 text-muted-foreground"})})]});return K(d,{gap:"lg",className:A$("mx-auto w-full max-w-5xl p-6",_),children:[U(G$,{title:Y.key,subtitle:`Form defined in ${z.meta.title??z.meta.key}`,breadcrumb:U(Z$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Forms",href:`/features/${z.meta.key}#forms`},{label:Y.key}]})}),K(Fz,{gap:"sm",children:[U(s,{tone:"neutral",label:Y.key,size:"sm",icon:U(O$,{className:"h-3 w-3"})}),U(s,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?U(s,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),K("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[U("div",{className:"space-y-6 lg:col-span-2",children:U(W4,{className:"p-6",children:K(d,{gap:"md",children:[K(Fz,{className:"items-center gap-2 border-b pb-2",children:[U(d2,{className:"h-5 w-5 text-muted-foreground"}),U("h3",{className:"font-semibold text-lg",children:"Form Definition"})]}),Q?K(d,{gap:"lg",children:[Q.meta.description&&U("p",{className:"text-muted-foreground",children:Q.meta.description}),K(M$,{className:"flex-col gap-2",children:[U("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Fields"}),U(U4,{code:JSON.stringify(Q.fields,null,2),language:"json"})]}),K(M$,{className:"flex-col gap-2",children:[U("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Actions"}),U(U4,{code:JSON.stringify(Q.actions,null,2),language:"json"})]})]}):K(d,{gap:"md",children:[U("p",{className:"text-muted-foreground",children:"Full form definition details are not available for this form reference."}),U(U4,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),U("div",{className:"space-y-6",children:U(W4,{className:"p-6",children:K(d,{gap:"md",children:[K(Fz,{className:"items-center gap-2 border-b pb-2",children:[U(l2,{className:"h-5 w-5 text-muted-foreground"}),U("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),K("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[K("div",{children:[U("dt",{className:"text-muted-foreground",children:"Key"}),U("dd",{className:"truncate font-medium",children:Y.key})]}),K("div",{children:[U("dt",{className:"text-muted-foreground",children:"Version"}),U("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.owners&&K("div",{children:[U("dt",{className:"text-muted-foreground",children:"Owners"}),U("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((J)=>U(s,{label:J,size:"sm",tone:"neutral"},J))})]}),Q?.meta?.tags&&K("div",{children:[U("dt",{className:"text-muted-foreground",children:"Tags"}),U("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.tags.map((J)=>U(s,{label:`#${J}`,size:"sm",tone:"neutral"},J))})]})]})]})})}),M?.length?U("div",{className:"lg:col-span-3",children:U(W4,{className:"p-6",children:K(d,{gap:"md",children:[K(Fz,{className:"items-center gap-2 border-b pb-2",children:[U(k2,{className:"h-5 w-5 text-muted-foreground"}),U("h3",{className:"font-semibold text-lg",children:"Related Documentation"})]}),U("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:M.map((J)=>U(n2,{href:J.route||`/docs/${J.id}`,className:"group block",children:K("div",{className:"h-full rounded-lg border p-4 transition-colors hover:border-primary",children:[U("h4",{className:"mb-1 font-semibold group-hover:text-primary",children:J.title}),J.summary&&U("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:J.summary})]})},J.id))})]})})}):null]})]})}import{Breadcrumbs as f2,PageHeaderResponsive as o2}from"@contractspec/lib.design-system";import{VStack as i2}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as c2}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as Z4,jsxs as x2}from"react/jsx-runtime";function I$({feature:z,className:$}){return x2(i2,{gap:"lg",className:c2("mx-auto w-full max-w-5xl p-6",$),children:[Z4(o2,{title:"Forms",subtitle:`Forms defined in ${z.meta.title??z.meta.key}`,breadcrumb:Z4(f2,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Forms"}]})}),Z4(sz,{feature:z})]})}import{Breadcrumbs as D$,CodeBlock as G4,EmptyState as j2,PageHeaderResponsive as P$,StatusChip as e}from"@contractspec/lib.design-system";import{Card as T$}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as K$,HStack as M4,VStack as f}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as L$}from"@contractspec/lib.ui-kit-web/ui/utils";import{Code as u2,Database as r2,Zap as q$}from"lucide-react";import{jsx as G,jsxs as N}from"react/jsx-runtime";function t2({feature:z,operationKey:$,operation:X,spec:Q,className:_}){let Y=X??z.operations?.find((J)=>J.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return N(f,{gap:"lg",className:L$("mx-auto w-full max-w-5xl p-6",_),children:[G(P$,{title:"Operation Not Found",subtitle:`Operation ${$} not found in feature ${z.meta.key}`,breadcrumb:G(D$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Operations"}]})}),G(j2,{title:"Operation not found",description:`The operation '${$}' could not be found in this feature.`,icon:G(q$,{className:"h-12 w-12 text-muted-foreground"})})]});return N(f,{gap:"lg",className:L$("mx-auto w-full max-w-5xl p-6",_),children:[G(P$,{title:Y.key,subtitle:`Operation defined in ${z.meta.title??z.meta.key}`,breadcrumb:G(D$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Operations",href:`/features/${z.meta.key}/operations`},{label:Y.key}]})}),N(M4,{gap:"sm",children:[G(e,{tone:"neutral",label:Y.key,size:"sm",icon:G(q$,{className:"h-3 w-3"})}),G(e,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?G(e,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),N("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[G("div",{className:"space-y-6 lg:col-span-2",children:G(T$,{className:"p-6",children:N(f,{gap:"md",children:[N(M4,{className:"items-center gap-2 border-b pb-2",children:[G(u2,{className:"h-5 w-5 text-muted-foreground"}),G("h3",{className:"font-semibold text-lg",children:"Schema Definition"})]}),Q?N(f,{gap:"lg",children:[Q.meta.description&&G("p",{className:"text-muted-foreground",children:Q.meta.description}),N(K$,{className:"flex-col gap-2",children:[G("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Input Schema"}),G(G4,{className:"w-full",code:JSON.stringify(Q.io.input,null,2),language:"json"})]}),N(K$,{className:"flex-col gap-2",children:[G("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Output Schema"}),G(G4,{className:"w-full",code:JSON.stringify(Q.io.output,null,2),language:"json"})]})]}):N(f,{gap:"md",children:[G("p",{className:"text-muted-foreground",children:"Full schema details are not available for this operation reference."}),G(G4,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),G("div",{className:"space-y-6",children:G(T$,{className:"p-6",children:N(f,{gap:"md",children:[N(M4,{className:"items-center gap-2 border-b pb-2",children:[G(r2,{className:"h-5 w-5 text-muted-foreground"}),G("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),N("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Key"}),G("dd",{className:"truncate font-medium",children:Y.key})]}),N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Version"}),G("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.context&&N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Context"}),G("dd",{className:"font-medium",children:Q.meta.context})]}),Q?.meta?.owners&&N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Owners"}),G("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((J)=>G(e,{label:J,size:"sm",tone:"neutral"},J))})]}),Q?.meta?.tags&&N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Tags"}),G("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.tags.map((J)=>G(e,{label:`#${J}`,size:"sm",tone:"neutral"},J))})]})]})]})})})]})]})}import{Breadcrumbs as a2,PageHeaderResponsive as s2}from"@contractspec/lib.design-system";import{VStack as e2}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as z3}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as A4,jsxs as Q3}from"react/jsx-runtime";function $3({feature:z,className:$}){return Q3(e2,{gap:"lg",className:z3("mx-auto w-full max-w-5xl p-6",$),children:[A4(s2,{title:"Operations",subtitle:`Operations defined in ${z.meta.title??z.meta.key}`,breadcrumb:A4(a2,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Operations"}]})}),A4(z4,{feature:z})]})}import{Breadcrumbs as J3,PageHeaderResponsive as X3}from"@contractspec/lib.design-system";import{VStack as Y3}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as _3}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as O4,jsxs as U3}from"react/jsx-runtime";function E3({feature:z,className:$}){return U3(Y3,{gap:"lg",className:_3("mx-auto w-full max-w-5xl p-6",$),children:[O4(X3,{title:z.meta.title||z.meta.key,subtitle:z.meta.description||"Feature overview",breadcrumb:O4(J3,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key}]})}),O4(Kz,{feature:z})]})}import{Breadcrumbs as N$,CodeBlock as F$,EmptyState as W3,PageHeaderResponsive as V$,StatusChip as Vz}from"@contractspec/lib.design-system";import{Card as I4}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as Z3,HStack as wz,VStack as l}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as w$}from"@contractspec/lib.ui-kit-web/ui/utils";import{BookOpen as G3,Code as M3,Database as A3,Layout as B$}from"lucide-react";import O3 from"next/link";import{jsx as Z,jsxs as F}from"react/jsx-runtime";function I3({feature:z,presentationKey:$,presentation:X,spec:Q,className:_}){let Y=X??z.presentations?.find((J)=>J.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return F(l,{gap:"lg",className:w$("mx-auto w-full max-w-5xl p-6",_),children:[Z(V$,{title:"Presentation Not Found",subtitle:`Presentation ${$} not found in feature ${z.meta.key}`,breadcrumb:Z(N$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Presentations",href:`/features/${z.meta.key}/presentation`}]})}),Z(W3,{title:"Presentation not found",description:`The presentation '${$}' could not be found in this feature.`,icon:Z(B$,{className:"h-12 w-12 text-muted-foreground"})})]});return F(l,{gap:"lg",className:w$("mx-auto w-full max-w-5xl p-6",_),children:[Z(V$,{title:Y.key,subtitle:`Presentation defined in ${z.meta.title??z.meta.key}`,breadcrumb:Z(N$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Presentations",href:`/features/${z.meta.key}#presentations`},{label:Y.key}]})}),F(wz,{gap:"sm",children:[Z(Vz,{tone:"neutral",label:Y.key,size:"sm",icon:Z(B$,{className:"h-3 w-3"})}),Z(Vz,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?Z(Vz,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),F("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[Z("div",{className:"space-y-6 lg:col-span-2",children:Z(I4,{className:"p-6",children:F(l,{gap:"md",children:[F(wz,{className:"items-center gap-2 border-b pb-2",children:[Z(M3,{className:"h-5 w-5 text-muted-foreground"}),Z("h3",{className:"font-semibold text-lg",children:"Component Definition"})]}),Q?F(l,{gap:"lg",children:[Q.meta.description&&Z("p",{className:"text-muted-foreground",children:Q.meta.description}),F(Z3,{className:"flex-col gap-2",children:[Z("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Spec Details"}),Z(F$,{code:JSON.stringify(Q,null,2),language:"json"})]})]}):F(l,{gap:"md",children:[Z("p",{className:"text-muted-foreground",children:"Full component details are not available for this presentation reference."}),Z(F$,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),Z("div",{className:"space-y-6",children:Z(I4,{className:"p-6",children:F(l,{gap:"md",children:[F(wz,{className:"items-center gap-2 border-b pb-2",children:[Z(A3,{className:"h-5 w-5 text-muted-foreground"}),Z("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),F("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[F("div",{children:[Z("dt",{className:"text-muted-foreground",children:"Key"}),Z("dd",{className:"truncate font-medium",children:Y.key})]}),F("div",{children:[Z("dt",{className:"text-muted-foreground",children:"Version"}),Z("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.owners&&F("div",{children:[Z("dt",{className:"text-muted-foreground",children:"Owners"}),Z("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((J)=>Z(Vz,{label:J,size:"sm",tone:"neutral"},J))})]})]})]})})}),M?.length?Z("div",{className:"lg:col-span-3",children:Z(I4,{className:"p-6",children:F(l,{gap:"md",children:[F(wz,{className:"items-center gap-2 border-b pb-2",children:[Z(G3,{className:"h-5 w-5 text-muted-foreground"}),Z("h3",{className:"font-semibold text-lg",children:"Related Documentation"})]}),Z("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:M.map((J)=>Z(O3,{href:J.route||`/docs/${J.id}`,className:"group block",children:F("div",{className:"h-full rounded-lg border p-4 transition-colors hover:border-primary",children:[Z("h4",{className:"mb-1 font-semibold group-hover:text-primary",children:J.title}),J.summary&&Z("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:J.summary})]})},J.id))})]})})}):null]})]})}import{Breadcrumbs as D3,PageHeaderResponsive as P3}from"@contractspec/lib.design-system";import{VStack as T3}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as K3}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as D4,jsxs as q3}from"react/jsx-runtime";function L3({feature:z,className:$}){return q3(T3,{gap:"lg",className:K3("mx-auto w-full max-w-5xl p-6",$),children:[D4(P3,{title:"Presentations",subtitle:`Presentations defined in ${z.meta.title??z.meta.key}`,breadcrumb:D4(D3,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Presentations"}]})}),D4(Q4,{feature:z})]})}export{R as useRelatedDocs,Az as useFeatureRegistry,Mz as useFeatureFilters,o4 as useContractsRegistry,Gz as getFeatureIconTone,L3 as FeaturePresentationsTemplate,Q4 as FeaturePresentationsList,I3 as FeaturePresentationDetailTemplate,E3 as FeatureOverviewTemplate,$3 as FeatureOperationsTemplate,z4 as FeatureOperationsList,t2 as FeatureOperationDetailTemplate,Zz as FeatureIcon,Oz as FeatureHoverPreview,I$ as FeatureFormsTemplate,sz as FeatureFormsList,p2 as FeatureFormDetailTemplate,Pz as FeatureFiltersBar,b2 as FeatureEventsTemplate,tz as FeatureEventsList,h2 as FeatureEventDetailTemplate,s4 as FeatureDiscovery,Kz as FeatureDetail,X$ as FeatureDataViewsTemplate,cz as FeatureDataViewsList,P2 as FeatureDataViewDetailTemplate,Dz as FeatureCategoryHeader,Iz as FeatureCard};
|
|
2
|
+
var y$=Object.defineProperty;var v$=(z)=>z;function b$(z,$){this[z]=v$.bind(null,$)}var w3=(z,$)=>{for(var J in $)y$(z,J,{get:$[J],enumerable:!0,configurable:!0,set:b$.bind($,J)})};var B3=(z,$)=>()=>(z&&($=z(z=0)),$);import{EventRegistry as S$,OperationSpecRegistry as g$}from"@contractspec/lib.contracts-spec";import{DataViewRegistry as k$}from"@contractspec/lib.contracts-spec/data-views";import{ContractReferenceDataView as d$,ContractReferenceQuery as l$,DocsGenerateCommand as n$,DocsGeneratedEvent as p$,DocsIndexDataView as f$,DocsIndexQuery as o$,DocsLayoutPresentation as i$,DocsPublishCommand as c$,DocsPublishedEvent as x$,DocsReferencePagePresentation as j$,DocsSearchForm as u$,ExampleCatalogDataView as r$}from"@contractspec/lib.contracts-spec/docs";import{FormRegistry as t$}from"@contractspec/lib.contracts-spec/forms";import{PresentationRegistry as a$}from"@contractspec/lib.contracts-spec/presentations";import{serializeDataViewSpec as s$,serializeEventSpec as e$,serializeFormSpec as z1,serializeOperationSpec as $1,serializePresentationSpec as Q1}from"@contractspec/lib.contracts-spec/serialization";var Qz=null;function L4(){let z=new g$;return z.register(o$).register(l$).register(n$).register(c$),z}function Ez(){if(!Qz)Qz=L4();return Qz}function o(z,$){return Ez().get(z,$)}var Jz=null;function q4(){let z=new S$;return z.register(p$).register(x$),z}function N4(){if(!Jz)Jz=q4();return Jz}function F4(z,$){return N4().get(z,$)}var Xz=null;function V4(){let z=new a$;return z.register(i$).register(j$),z}function w4(){if(!Xz)Xz=V4();return Xz}function B4(z,$){return w4().get(z,$)}var Yz=null;function H4(){let z=new k$;return z.register(f$).register(d$).register(r$),z}function R4(){if(!Yz)Yz=H4();return Yz}function h4(z,$){return R4().get(z,$)}var _z=null;function m4(){let z=new t$;return z.register(u$),z}function C4(){if(!_z)_z=m4();return _z}function y4(z,$){return C4().get(z)}function mz(z,$){let J=o(z,$);return $1(J)??void 0}function Cz(z,$){let J=F4(z,$);return e$(J)??void 0}function yz(z,$){let J=B4(z,$);return Q1(J)??void 0}function vz(z,$){let J=h4(z,$);return s$(J)??void 0}function bz(z,$){let J=y4(z,$);return z1(J)??void 0}function v4(){Qz=null}function b4(){Jz=null}function S4(){Xz=null}function g4(){Yz=null}function k4(){_z=null}function J1(){v4(),b4(),S4(),g4(),k4()}var Sz={meta:{key:"contractspec.docs",version:"1.0.0",title:"Documentation",description:"Comprehensive documentation system for ContractSpec",domain:"platform",owners:["@platform.docs"],tags:["documentation","guides","api-reference"],stability:"stable"},operations:[{key:"docs_search",version:"1.0.0"},{key:"docs.navigate",version:"1.0.0"}],events:[{key:"docs.page_viewed",version:"1.0.0"},{key:"docs.search_performed",version:"1.0.0"}],presentations:[{key:"docs.landing",version:"1.0.0"},{key:"docs.getting-started",version:"1.0.0"},{key:"docs.architecture",version:"1.0.0"}],capabilities:{provides:[{key:"contracts.docs",version:"1.0.0"}],requires:[]}};import{ContractReferenceQuery as X1,DocSummaryModel as Y1,DocsIndexInput as _1,DocsIndexOutput as E1,DocsIndexQuery as U1,DocsIndexQuery as W1}from"@contractspec/lib.contracts-spec/docs";var gz={meta:{key:"contractspec.mcp",version:"1.0.0",title:"MCP Integration",description:"Model Context Protocol server for AI agent integration",domain:"platform",owners:["@platform.mcp"],tags:["mcp","ai-agents","tooling"],stability:"beta"},operations:[{key:"mcp.tool.register",version:"1.0.0"},{key:"mcp.resource.register",version:"1.0.0"},{key:"mcp.prompt.register",version:"1.0.0"}],events:[{key:"mcp.tool_invoked",version:"1.0.0"},{key:"mcp.resource_accessed",version:"1.0.0"}],presentations:[],capabilities:{provides:[{key:"contracts.mcp",version:"1.0.0"}],requires:[{key:"contracts.operations",version:"1.0.0"}]}};var kz={meta:{key:"contractspec.presentations",version:"1.0.0",title:"Presentation Runtime",description:"Cross-platform rendering of contract-driven UI",domain:"platform",owners:["@platform.presentations"],tags:["presentations","ui","rendering","cross-platform"],stability:"beta"},operations:[{key:"presentation.render",version:"1.0.0"},{key:"presentation.transform",version:"1.0.0"}],events:[{key:"presentation.rendered",version:"1.0.0"},{key:"presentation.transformed",version:"1.0.0"}],presentations:[{key:"form.standard",version:"1.0.0"},{key:"list.standard",version:"1.0.0"},{key:"detail.standard",version:"1.0.0"}],capabilities:{provides:[{key:"contracts.presentations",version:"1.0.0"}],requires:[]}};import{AppConfigFeature as Z1}from"@contractspec/lib.contracts-spec/app-config";import{FeatureRegistry as G1}from"@contractspec/lib.contracts-spec/features";function d4(){let z=new G1;return z.register(Sz),z.register(gz),z.register(kz),z.register(Z1),z}var Uz=null;function dz(){if(!Uz)Uz=d4();return Uz}function M1(){Uz=null}import{FeatureRegistry as t3}from"@contractspec/lib.contracts-spec/features";import{cn as A1}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as O1,Database as lz,FileText as Wz,Globe as l4,Layout as i,MessageSquare as I1,Settings as D1,Shield as nz,Workflow as pz}from"lucide-react";import*as n4 from"react";import{jsx as L1}from"react/jsx-runtime";var P1={platform:D1,documentation:Wz,docs:Wz,integration:pz,api:l4,security:nz,data:lz,messaging:I1,ui:i,presentation:i},T1={documentation:Wz,guides:Wz,"api-reference":l4,presentations:i,ui:i,rendering:i,mcp:pz,integration:pz,security:nz,auth:nz,data:lz,storage:lz},p4={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"},K1={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"};function Zz({domain:z,tags:$=[],stability:J,icon:Q,size:_="md",className:Y}){let M=n4.useMemo(()=>{if(Q)return Q;if(z){let D=P1[z.toLowerCase()];if(D)return D}for(let D of $){let O=T1[D.toLowerCase()];if(O)return O}return O1},[z,$,Q]),X=J?p4[J]||"primary":"primary",A={success:"text-emerald-600 dark:text-emerald-400",warning:"text-amber-600 dark:text-amber-400",info:"text-blue-600 dark:text-blue-400",danger:"text-red-600 dark:text-red-400",primary:"text-primary"};return L1(M,{className:A1(K1[_],A[X],Y)})}function Gz(z){if(!z)return"primary";return p4[z]||"primary"}import{useMemo as f4}from"react";function o4(){let z=f4(()=>Ez(),[]);return f4(()=>({resolveOperation:($)=>o($.key,$.version),getOperationSpec:($,J)=>o($,J),listOperations:()=>z.list()}),[z])}import{useCallback as c,useMemo as i4,useState as q1}from"react";var c4={search:"",tags:[],stability:[],domain:[]};function Mz(z){let[$,J]=q1(c4),Q=c((O)=>{J((I)=>({...I,search:O}))},[]),_=c((O)=>{J((I)=>({...I,tags:I.tags.includes(O)?I.tags.filter((H)=>H!==O):[...I.tags,O]}))},[]),Y=c((O)=>{J((I)=>({...I,stability:I.stability.includes(O)?I.stability.filter((H)=>H!==O):[...I.stability,O]}))},[]),M=c((O)=>{J((I)=>({...I,domain:I.domain.includes(O)?I.domain.filter((H)=>H!==O):[...I.domain,O]}))},[]),X=c(()=>J(c4),[]),A=i4(()=>{return $.search.length>0||$.tags.length>0||$.stability.length>0||$.domain.length>0},[$]),D=i4(()=>{return z.filter((O)=>{if($.search){let I=$.search.toLowerCase();if(!((O.meta.title??"").toLowerCase().includes(I)||O.meta.description?.toLowerCase().includes(I)||O.meta.key.toLowerCase().includes(I)))return!1}if($.tags.length>0){if(!$.tags.some((H)=>O.meta.tags?.includes(H)))return!1}if($.stability.length>0){if(!$.stability.includes(O.meta.stability??"unknown"))return!1}if($.domain.length>0){if(!$.domain.includes(O.meta.domain??"unknown"))return!1}return!0})},[z,$]);return{filters:$,setSearch:Q,toggleTag:_,toggleStability:Y,toggleDomain:M,clearFilters:X,filteredFeatures:D,hasActiveFilters:A}}import{useMemo as x4}from"react";function Az(){let z=x4(()=>dz(),[]);return x4(()=>{let $=z.list();return{features:$,getFeature:(J)=>z.get(J),getByTag:(J)=>z.listByTag(J),getByOwner:(J)=>z.listByOwner(J),getUniqueTags:()=>z.getUniqueTags(),getUniqueDomains:()=>{let J=new Set;for(let Q of $)if(Q.meta.domain)J.add(Q.meta.domain);return[...J].sort()},getUniqueStabilities:()=>{let J=new Set;for(let Q of $)if(Q.meta.stability)J.add(Q.meta.stability);return[...J].sort()}}},[z])}import{defaultDocRegistry as N1}from"@contractspec/lib.contracts-spec/docs";import{useMemo as F1}from"react";function R(z,$){return F1(()=>{try{return N1.list().filter(({block:_})=>{let Y=_.id.toLowerCase().includes(z.toLowerCase())||_.title.toLowerCase().includes(z.toLowerCase()),M=$?.some((X)=>_.tags?.some((A)=>A.toLowerCase().includes(X.toLowerCase())));return Y||M}).map(({block:_,route:Y})=>({id:_.id,title:_.title,summary:_.summary,route:Y}))}catch(Q){return console.error("Failed to fetch related docs:",Q),[]}},[z,$])}import{StatusChip as j4}from"@contractspec/lib.design-system";import{HStack as x}from"@contractspec/lib.ui-kit-web/ui/stack";import{ArrowRight as V1,Layout as w1,Radio as B1,Shield as H1,Tag as R1,Users as h1,Zap as m1}from"lucide-react";import{jsx as L,jsxs as B,Fragment as C1}from"react/jsx-runtime";function Oz({feature:z}){let{meta:$,operations:J,events:Q,presentations:_,capabilities:Y}=z,M=Y?.provides?.length||Y?.requires?.length;return B(C1,{children:[$.description&&L("p",{className:"text-muted-foreground text-sm leading-relaxed",children:$.description}),B(x,{gap:"md",className:"py-2",children:[J?.length?B("div",{className:"flex items-center gap-1.5 text-sm",children:[L(m1,{className:"h-4 w-4 text-amber-500"}),L("span",{className:"font-medium",children:J.length}),L("span",{className:"text-muted-foreground",children:"ops"})]}):null,Q?.length?B("div",{className:"flex items-center gap-1.5 text-sm",children:[L(B1,{className:"h-4 w-4 text-blue-500"}),L("span",{className:"font-medium",children:Q.length}),L("span",{className:"text-muted-foreground",children:"events"})]}):null,_?.length?B("div",{className:"flex items-center gap-1.5 text-sm",children:[L(w1,{className:"h-4 w-4 text-purple-500"}),L("span",{className:"font-medium",children:_.length}),L("span",{className:"text-muted-foreground",children:"views"})]}):null]}),M&&B("div",{className:"space-y-1.5 border-border/50 border-t pt-1",children:[Y?.provides?.length?B(x,{gap:"xs",wrap:"wrap",className:"items-start",children:[L(H1,{className:"mt-0.5 h-3.5 w-3.5 text-emerald-500"}),L("span",{className:"text-muted-foreground text-xs",children:"Provides:"}),Y.provides.slice(0,2).map((X)=>L(j4,{tone:"success",label:X.key,size:"sm"},X.key)),Y.provides.length>2&&B("span",{className:"text-muted-foreground text-xs",children:["+",Y.provides.length-2]})]}):null,Y?.requires?.length?B(x,{gap:"xs",wrap:"wrap",className:"items-start",children:[L(V1,{className:"mt-0.5 h-3.5 w-3.5 text-blue-500"}),L("span",{className:"text-muted-foreground text-xs",children:"Requires:"}),Y.requires.slice(0,2).map((X)=>L(j4,{tone:"info",label:X.key,size:"sm"},X.key)),Y.requires.length>2&&B("span",{className:"text-muted-foreground text-xs",children:["+",Y.requires.length-2]})]}):null]}),$.tags?.length?B(x,{gap:"xs",wrap:"wrap",className:"items-center border-border/50 border-t pt-1",children:[L(R1,{className:"h-3.5 w-3.5 text-muted-foreground"}),$.tags.slice(0,4).map((X)=>B("span",{className:"rounded bg-muted px-1.5 py-0.5 text-muted-foreground text-xs",children:["#",X]},X)),$.tags.length>4&&B("span",{className:"text-muted-foreground text-xs",children:["+",$.tags.length-4]})]}):null,$.owners?.length?B(x,{gap:"xs",className:"items-center text-muted-foreground text-xs",children:[L(h1,{className:"h-3.5 w-3.5"}),L("span",{children:$.owners.join(", ")})]}):null]})}import{EntityCard as y1,StatusChip as v1}from"@contractspec/lib.design-system";import{HStack as u4}from"@contractspec/lib.ui-kit-web/ui/stack";import{Layout as b1,Radio as S1,Shield as g1,Zap as k1}from"lucide-react";import{jsx as h,jsxs as n}from"react/jsx-runtime";var d1={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"};function Iz({feature:z,onSelect:$,className:J}){let{meta:Q,operations:_,events:Y,presentations:M,capabilities:X}=z,A=d1[Q.stability]??"neutral",D=Gz(Q.stability),O=Q.stability==="stable"?"strong":"default",I=$?()=>$(z):void 0,H=X?.provides?.length||X?.requires?.length;return h(y1,{cardTitle:Q.title,cardSubtitle:Q.key,className:J,onClick:I,emphasis:O,icon:h(Zz,{domain:Q.domain,tags:Q.tags,stability:Q.stability,size:"md"}),iconTone:D,chips:h(v1,{tone:A,label:Q.stability??"unknown",size:"sm"}),meta:Q.description?h("span",{className:"line-clamp-2 text-muted-foreground text-sm",children:Q.description}):void 0,preview:h(Oz,{feature:z}),footer:n(u4,{gap:"md",className:"w-full justify-between text-muted-foreground text-xs",children:[n(u4,{gap:"sm",children:[_?.length?n("span",{className:"flex items-center gap-1",children:[h(k1,{className:"h-3 w-3 text-amber-500"}),_.length]}):null,Y?.length?n("span",{className:"flex items-center gap-1",children:[h(S1,{className:"h-3 w-3 text-blue-500"}),Y.length]}):null,M?.length?n("span",{className:"flex items-center gap-1",children:[h(b1,{className:"h-3 w-3 text-purple-500"}),M.length]}):null]}),H&&n("span",{className:"flex items-center gap-1",children:[h(g1,{className:"h-3 w-3 text-emerald-500"}),(X?.provides?.length??0)+(X?.requires?.length??0)]})]})})}import{StatusChip as l1}from"@contractspec/lib.design-system";import{HStack as n1}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as r4}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as p1,ChevronDown as f1}from"lucide-react";import{jsx as j,jsxs as t4}from"react/jsx-runtime";function Dz({title:z,count:$,icon:J,isCollapsed:Q=!1,onToggle:_,className:Y}){return t4("button",{type:"button",onClick:_,className:r4("flex w-full items-center justify-between rounded-lg px-4 py-3","bg-muted/30 transition-colors hover:bg-muted/50","group cursor-pointer",Y),children:[t4(n1,{gap:"sm",className:"items-center",children:[j("div",{className:"text-muted-foreground transition-colors group-hover:text-foreground",children:J||j(p1,{className:"h-5 w-5"})}),j("span",{className:"font-semibold text-lg capitalize transition-colors group-hover:text-primary",children:z}),j(l1,{tone:"neutral",label:`${$} ${$===1?"feature":"features"}`,size:"sm"})]}),j(f1,{className:r4("h-5 w-5 text-muted-foreground transition-transform duration-200",Q&&"-rotate-90")})]})}import{Button as fz,Input as o1}from"@contractspec/lib.design-system";import{HStack as oz,VStack as i1}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as c1}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as u,jsxs as p}from"react/jsx-runtime";function Pz({uniqueTags:z,uniqueStabilities:$,filters:J,setSearch:Q,toggleTag:_,toggleStability:Y,clearFilters:M,hasActiveFilters:X,className:A}){return p(i1,{gap:"md",className:c1("w-full",A),children:[p(oz,{gap:"md",justify:"between",className:"w-full",children:[u(o1,{placeholder:"Search features...",value:J.search,onChange:(D)=>Q(D.target.value),className:"max-w-md","aria-label":"Search features"}),X&&u(fz,{variant:"ghost",size:"sm",onClick:M,children:"Clear filters"})]}),$.length>0&&p(oz,{gap:"xs",wrap:"wrap",children:[u("span",{className:"text-muted-foreground text-sm",children:"Stability:"}),$.map((D)=>u(fz,{variant:J.stability.includes(D)?"default":"outline",size:"sm",onClick:()=>Y(D),"aria-pressed":J.stability.includes(D),children:D},D))]}),z.length>0&&p(oz,{gap:"xs",wrap:"wrap",children:[u("span",{className:"text-muted-foreground text-sm",children:"Tags:"}),z.slice(0,10).map((D)=>p(fz,{variant:J.tags.includes(D)?"default":"outline",size:"sm",onClick:()=>_(D),"aria-pressed":J.tags.includes(D),children:["#",D]},D)),z.length>10&&p("span",{className:"text-muted-foreground text-sm",children:["+",z.length-10," more"]})]})]})}import{EntityCard as x1}from"@contractspec/lib.design-system";import{Table as j1}from"lucide-react";import{jsx as iz}from"react/jsx-runtime";function cz({feature:z}){if(!z.dataViews?.length)return null;return iz("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.dataViews.map(($)=>{let J=vz($.key,$.version);return iz(x1,{cardTitle:$.key,cardSubtitle:`v${$.version}`,footer:J?.meta.description,icon:iz(j1,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/dataviews/${$.key}`},$.key)})})}import{StatCard as xz,StatCardGroup as u1,StatusChip as y}from"@contractspec/lib.design-system";import{Box as Tz,HStack as r,VStack as r1}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as t1}from"@contractspec/lib.ui-kit-web/ui/utils";import jz from"next/link";import{jsx as P,jsxs as v}from"react/jsx-runtime";var a1={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"};function Kz({feature:z,className:$}){let{meta:J,operations:Q,events:_,presentations:Y,capabilities:M}=z,X=a1[J.stability]??"neutral";return v(r1,{gap:"lg",className:t1("w-full",$),children:[v(r,{gap:"sm",children:[P(y,{tone:X,label:J.stability??"unknown"}),P(y,{tone:"neutral",label:J.key,size:"sm"}),P(y,{tone:"neutral",label:`v${J.version}`,size:"sm"})]}),v(u1,{children:[P(jz,{href:`./${z.meta.key}/operations`,children:P(xz,{label:"Operations",value:Q?.length??0})}),P(jz,{href:`./${z.meta.key}/events`,children:P(xz,{label:"Events",value:_?.length??0})}),P(jz,{href:`./${z.meta.key}/presentations`,children:P(xz,{label:"Presentations",value:Y?.length??0})})]}),M?.provides?.length?v(Tz,{className:"flex-col rounded-lg border p-4",gap:"sm",align:"start",children:[P("span",{className:"font-semibold",children:"Provides Capabilities"}),P(r,{gap:"xs",wrap:"wrap",children:M.provides.map((A)=>P(y,{tone:"success",label:`${A.key} v${A.version}`,size:"sm"},`${A.key}-${A.version}`))})]}):null,M?.requires?.length?v(Tz,{className:"flex-col rounded-lg border p-4",gap:"sm",align:"start",children:[P("span",{className:"font-semibold",children:"Requires Capabilities"}),P(r,{gap:"xs",wrap:"wrap",children:M.requires.map((A)=>P(y,{tone:"info",label:`${A.key}${A.version?` v${A.version}`:""}${A.optional?" (optional)":""}`,size:"sm"},A.key))})]}):null,J.tags?.length?v(Tz,{className:"flex-col rounded-lg border p-4",gap:"sm",align:"start",children:[P("span",{className:"font-semibold",children:"Tags"}),P(r,{gap:"xs",wrap:"wrap",children:J.tags.map((A)=>P(y,{tone:"neutral",label:`#${A}`,size:"sm"},A))})]}):null,J.owners?.length?v(Tz,{className:"flex-col rounded-lg border p-4",gap:"sm",align:"start",children:[P("span",{className:"font-semibold",children:"Owners"}),P(r,{gap:"xs",wrap:"wrap",children:J.owners.map((A)=>P(y,{tone:"neutral",label:A,size:"sm"},A))})]}):null]})}import{Button as s1,EmptyState as e1,PageHeaderResponsive as z2,StatusChip as $2}from"@contractspec/lib.design-system";import{HStack as a4,VStack as t}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as uz}from"@contractspec/lib.ui-kit-web/ui/utils";import{LayoutGrid as Q2,List as J2,Star as X2}from"lucide-react";import*as S from"react";import{jsx as w,jsxs as b}from"react/jsx-runtime";function Y2(z){let $={};for(let J of z){let Q=J.meta.domain||"Other";if(!$[Q])$[Q]=[];$[Q].push(J)}return $}function _2(z){let $=["stable","beta","experimental","deprecated","unknown"],J={};for(let _ of z){let Y=_.meta.stability||"unknown";if(!J[Y])J[Y]=[];J[Y].push(_)}let Q={};for(let _ of $)if(J[_])Q[_]=J[_];return Q}function s4({onSelectFeature:z,className:$,defaultViewMode:J="grid",groupBy:Q="domain",showFeatured:_=!0}){let{features:Y,getUniqueTags:M,getUniqueStabilities:X}=Az(),{filters:A,setSearch:D,toggleTag:O,toggleStability:I,clearFilters:H,filteredFeatures:m,hasActiveFilters:Bz}=Mz(Y),H$=M(),R$=X(),[Hz,P4]=S.useState(J),[T4,h$]=S.useState(new Set),Rz=S.useMemo(()=>m.filter((V)=>V.meta.stability==="stable"),[m]),zz=S.useMemo(()=>_?m.filter((V)=>V.meta.stability!=="stable"):m,[m,_]),K4=S.useMemo(()=>{if(Q==="none")return null;if(Q==="domain")return Y2(zz);return _2(zz)},[zz,Q]),m$=(V)=>{h$((C)=>{let $z=new Set(C);if($z.has(V))$z.delete(V);else $z.add(V);return $z})},C$=Hz==="grid"?"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3":"flex flex-col gap-3",hz=(V)=>w("div",{className:C$,children:V.map((C)=>w(Iz,{feature:C,onSelect:z},C.meta.key))});return b(t,{gap:"lg",className:uz("w-full p-6",$),children:[b("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[w(z2,{title:"Feature Discovery",subtitle:`Browse ${Y.length} available ContractSpec features`}),b(a4,{gap:"xs",children:[w("button",{type:"button",onClick:()=>P4("grid"),className:uz("rounded-md p-2 transition-colors",Hz==="grid"?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"),"aria-label":"Grid view",children:w(Q2,{className:"h-4 w-4"})}),w("button",{type:"button",onClick:()=>P4("list"),className:uz("rounded-md p-2 transition-colors",Hz==="list"?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"),"aria-label":"List view",children:w(J2,{className:"h-4 w-4"})})]})]}),w(Pz,{uniqueTags:H$,uniqueStabilities:R$,filters:A,setSearch:D,toggleTag:O,toggleStability:I,clearFilters:H,hasActiveFilters:Bz}),m.length===0?w(e1,{title:"No features found",description:Bz?"Try adjusting your search or filters":"No features are registered yet",primaryAction:Bz?w(s1,{variant:"outline",onClick:H,children:"Clear filters"}):void 0}):b(t,{gap:"lg",children:[_&&Rz.length>0&&b(t,{gap:"sm",children:[b(a4,{gap:"sm",className:"items-center",children:[w(X2,{className:"h-5 w-5 fill-amber-500 text-amber-500"}),w("span",{className:"font-semibold text-lg",children:"Featured"}),w($2,{tone:"success",label:`${Rz.length} stable`,size:"sm"})]}),hz(Rz)]}),K4?w(t,{gap:"md",children:Object.entries(K4).map(([V,C])=>b(t,{gap:"sm",children:[w(Dz,{title:V,count:C.length,isCollapsed:T4.has(V),onToggle:()=>m$(V)}),!T4.has(V)&&hz(C)]},V))}):hz(zz)]})]})}import{EntityCard as E2}from"@contractspec/lib.design-system";import{Radio as U2}from"lucide-react";import{jsx as rz}from"react/jsx-runtime";function tz({feature:z}){if(!z.events?.length)return null;return rz("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.events.map(($)=>{let J=Cz($.key,$.version);return rz(E2,{cardTitle:$.key,cardSubtitle:`v${$.version}`,footer:J?.meta.description,icon:rz(U2,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/events/${$.key}`},$.key)})})}import{EntityCard as W2}from"@contractspec/lib.design-system";import{FormInput as Z2}from"lucide-react";import{jsx as az}from"react/jsx-runtime";function sz({feature:z}){if(!z.forms?.length)return null;return az("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.forms.map(($)=>{let J=bz($.key,$.version);return az(W2,{cardTitle:$.key,cardSubtitle:$.version?`v${$.version}`:void 0,footer:J?.meta.description,icon:az(Z2,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/forms/${$.key}`},$.key)})})}import{EntityCard as G2}from"@contractspec/lib.design-system";import{Zap as M2}from"lucide-react";import{jsx as ez}from"react/jsx-runtime";function z4({feature:z}){if(!z.operations?.length)return null;return ez("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.operations.map(($)=>{let J=mz($.key,$.version);return ez(G2,{cardTitle:$.key,cardSubtitle:`v${$.version}`,footer:J?.meta.description,icon:ez(M2,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/operations/${$.key}`},$.key)})})}import{EntityCard as A2}from"@contractspec/lib.design-system";import{Layout as O2}from"lucide-react";import{jsx as $4}from"react/jsx-runtime";function Q4({feature:z}){if(!z.presentations?.length)return null;return $4("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:z.presentations.map(($)=>{let J=yz($.key,$.version);return $4(A2,{cardTitle:$.key,cardSubtitle:`v${$.version}`,footer:J?.meta.description,icon:$4(O2,{className:"h-4 w-4"}),href:`/features/${z.meta.key}/presentations/${$.key}`},$.key)})})}import{Breadcrumbs as e4,CodeBlock as J4,EmptyState as I2,PageHeaderResponsive as z$,StatusChip as a}from"@contractspec/lib.design-system";import{Card as X4}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as $$,HStack as Lz,VStack as g}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as Q$}from"@contractspec/lib.ui-kit-web/ui/utils";import{BookOpen as D2,Code as P2,Database as T2,Table as J$}from"lucide-react";import K2 from"next/link";import{jsx as E,jsxs as T}from"react/jsx-runtime";function L2({feature:z,viewKey:$,view:J,spec:Q,className:_}){let Y=J??z.dataViews?.find((X)=>X.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return T(g,{gap:"lg",className:Q$("mx-auto w-full max-w-5xl p-6",_),children:[E(z$,{title:"Data View Not Found",subtitle:`Data View ${$} not found in feature ${z.meta.key}`,breadcrumb:E(e4,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Data Views"}]})}),E(I2,{title:"Data View not found",description:`The data view '${$}' could not be found in this feature.`,icon:E(J$,{className:"h-12 w-12 text-muted-foreground"})})]});return T(g,{gap:"lg",className:Q$("mx-auto w-full max-w-5xl p-6",_),children:[E(z$,{title:Y.key,subtitle:`Data View defined in ${z.meta.title??z.meta.key}`,breadcrumb:E(e4,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Data Views",href:`/features/${z.meta.key}#dataviews`},{label:Y.key}]})}),T(Lz,{gap:"sm",children:[E(a,{tone:"neutral",label:Y.key,size:"sm",icon:E(J$,{className:"h-3 w-3"})}),E(a,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?E(a,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),T("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[E("div",{className:"space-y-6 lg:col-span-2",children:E(X4,{className:"p-6",children:T(g,{gap:"md",children:[T(Lz,{className:"items-center gap-2 border-b pb-2",children:[E(P2,{className:"h-5 w-5 text-muted-foreground"}),E("h3",{className:"font-semibold text-lg",children:"View Definition"})]}),Q?T(g,{gap:"lg",children:[Q.meta.description&&E("p",{className:"text-muted-foreground",children:Q.meta.description}),T($$,{className:"flex-col gap-2",children:[E("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Source Query"}),E(J4,{code:JSON.stringify(Q.source,null,2),language:"json"})]}),T($$,{className:"flex-col gap-2",children:[E("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"View Configuration"}),E(J4,{code:JSON.stringify(Q.view,null,2),language:"json"})]})]}):T(g,{gap:"md",children:[E("p",{className:"text-muted-foreground",children:"Full definition details are not available for this data view reference."}),E(J4,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),E("div",{className:"space-y-6",children:E(X4,{className:"p-6",children:T(g,{gap:"md",children:[T(Lz,{className:"items-center gap-2 border-b pb-2",children:[E(T2,{className:"h-5 w-5 text-muted-foreground"}),E("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),T("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[T("div",{children:[E("dt",{className:"text-muted-foreground",children:"Key"}),E("dd",{className:"truncate font-medium",children:Y.key})]}),T("div",{children:[E("dt",{className:"text-muted-foreground",children:"Version"}),E("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.owners&&T("div",{children:[E("dt",{className:"text-muted-foreground",children:"Owners"}),E("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((X)=>E(a,{label:X,size:"sm",tone:"neutral"},X))})]}),Q?.meta?.tags&&T("div",{children:[E("dt",{className:"text-muted-foreground",children:"Tags"}),E("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.tags.map((X)=>E(a,{label:`#${X}`,size:"sm",tone:"neutral"},X))})]})]})]})})}),M?.length?E("div",{className:"lg:col-span-3",children:E(X4,{className:"p-6",children:T(g,{gap:"md",children:[T(Lz,{className:"items-center gap-2 border-b pb-2",children:[E(D2,{className:"h-5 w-5 text-muted-foreground"}),E("h3",{className:"font-semibold text-lg",children:"Related Documentation"})]}),E("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:M.map((X)=>E(K2,{href:X.route||`/docs/${X.id}`,className:"group block",children:T("div",{className:"h-full rounded-lg border p-4 transition-colors hover:border-primary",children:[E("h4",{className:"mb-1 font-semibold group-hover:text-primary",children:X.title}),X.summary&&E("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:X.summary})]})},X.id))})]})})}):null]})]})}import{Breadcrumbs as q2,PageHeaderResponsive as N2}from"@contractspec/lib.design-system";import{VStack as F2}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as V2}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as Y4,jsxs as w2}from"react/jsx-runtime";function X$({feature:z,className:$}){return w2(F2,{gap:"lg",className:V2("mx-auto w-full max-w-5xl p-6",$),children:[Y4(N2,{title:"Data Views",subtitle:`Data views defined in ${z.meta.title??z.meta.key}`,breadcrumb:Y4(q2,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Data Views"}]})}),Y4(cz,{feature:z})]})}import{Breadcrumbs as Y$,CodeBlock as _$,EmptyState as B2,PageHeaderResponsive as E$,StatusChip as qz}from"@contractspec/lib.design-system";import{Card as _4}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as H2,HStack as Nz,VStack as k}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as U$}from"@contractspec/lib.ui-kit-web/ui/utils";import{BookOpen as R2,Code as h2,Database as m2,Radio as W$}from"lucide-react";import C2 from"next/link";import{jsx as W,jsxs as q}from"react/jsx-runtime";function y2({feature:z,eventKey:$,event:J,spec:Q,className:_}){let Y=J??z.events?.find((X)=>X.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return q(k,{gap:"lg",className:U$("mx-auto w-full max-w-5xl p-6",_),children:[W(E$,{title:"Event Not Found",subtitle:`Event ${$} not found in feature ${z.meta.key}`,breadcrumb:W(Y$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Events",href:`/features/${z.meta.key}/events`}]})}),W(B2,{title:"Event not found",description:`The event '${$}' could not be found in this feature.`,icon:W(W$,{className:"h-12 w-12 text-muted-foreground"})})]});return q(k,{gap:"lg",className:U$("mx-auto w-full max-w-5xl p-6",_),children:[W(E$,{title:Y.key,subtitle:`Event defined in ${z.meta.title??z.meta.key}`,breadcrumb:W(Y$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Events",href:`/features/${z.meta.key}#events`},{label:Y.key}]})}),q(Nz,{gap:"sm",children:[W(qz,{tone:"neutral",label:Y.key,size:"sm",icon:W(W$,{className:"h-3 w-3"})}),W(qz,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?W(qz,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),q("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[W("div",{className:"space-y-6 lg:col-span-2",children:W(_4,{className:"p-6",children:q(k,{gap:"md",children:[q(Nz,{className:"items-center gap-2 border-b pb-2",children:[W(h2,{className:"h-5 w-5 text-muted-foreground"}),W("h3",{className:"font-semibold text-lg",children:"Payload Definition"})]}),Q?q(k,{gap:"lg",children:[Q.meta.description&&W("p",{className:"text-muted-foreground",children:Q.meta.description}),q(H2,{className:"flex-col gap-2",children:[W("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Payload Schema"}),W(_$,{code:JSON.stringify(Q.payload,null,2),language:"json"})]})]}):q(k,{gap:"md",children:[W("p",{className:"text-muted-foreground",children:"Full payload details are not available for this event reference."}),W(_$,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),W("div",{className:"space-y-6",children:W(_4,{className:"p-6",children:q(k,{gap:"md",children:[q(Nz,{className:"items-center gap-2 border-b pb-2",children:[W(m2,{className:"h-5 w-5 text-muted-foreground"}),W("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),q("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[q("div",{children:[W("dt",{className:"text-muted-foreground",children:"Key"}),W("dd",{className:"truncate font-medium",children:Y.key})]}),q("div",{children:[W("dt",{className:"text-muted-foreground",children:"Version"}),W("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.owners&&q("div",{children:[W("dt",{className:"text-muted-foreground",children:"Owners"}),W("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((X)=>W(qz,{label:X,size:"sm",tone:"neutral"},X))})]})]})]})})}),M?.length?W("div",{className:"lg:col-span-3",children:W(_4,{className:"p-6",children:q(k,{gap:"md",children:[q(Nz,{className:"items-center gap-2 border-b pb-2",children:[W(R2,{className:"h-5 w-5 text-muted-foreground"}),W("h3",{className:"font-semibold text-lg",children:"Related Documentation"})]}),W("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:M.map((X)=>W(C2,{href:X.route||`/docs/${X.id}`,className:"group block",children:q("div",{className:"h-full rounded-lg border p-4 transition-colors hover:border-primary",children:[W("h4",{className:"mb-1 font-semibold group-hover:text-primary",children:X.title}),X.summary&&W("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:X.summary})]})},X.id))})]})})}):null]})]})}import{Breadcrumbs as v2,PageHeaderResponsive as b2}from"@contractspec/lib.design-system";import{VStack as S2}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as g2}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as E4,jsxs as d2}from"react/jsx-runtime";function k2({feature:z,className:$}){return d2(S2,{gap:"lg",className:g2("mx-auto w-full max-w-5xl p-6",$),children:[E4(b2,{title:"Events",subtitle:`Events defined in ${z.meta.title??z.meta.key}`,breadcrumb:E4(v2,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Events"}]})}),E4(tz,{feature:z})]})}import{Breadcrumbs as Z$,CodeBlock as U4,EmptyState as l2,PageHeaderResponsive as G$,StatusChip as s}from"@contractspec/lib.design-system";import{Card as W4}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as M$,HStack as Fz,VStack as d}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as A$}from"@contractspec/lib.ui-kit-web/ui/utils";import{BookOpen as n2,Code as p2,Database as f2,PenTool as O$}from"lucide-react";import o2 from"next/link";import{jsx as U,jsxs as K}from"react/jsx-runtime";function i2({feature:z,formKey:$,form:J,spec:Q,className:_}){let Y=J??z.forms?.find((X)=>X.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return K(d,{gap:"lg",className:A$("mx-auto w-full max-w-5xl p-6",_),children:[U(G$,{title:"Form Not Found",subtitle:`Form ${$} not found in feature ${z.meta.key}`,breadcrumb:U(Z$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Forms"}]})}),U(l2,{title:"Form not found",description:`The form '${$}' could not be found in this feature.`,icon:U(O$,{className:"h-12 w-12 text-muted-foreground"})})]});return K(d,{gap:"lg",className:A$("mx-auto w-full max-w-5xl p-6",_),children:[U(G$,{title:Y.key,subtitle:`Form defined in ${z.meta.title??z.meta.key}`,breadcrumb:U(Z$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Forms",href:`/features/${z.meta.key}#forms`},{label:Y.key}]})}),K(Fz,{gap:"sm",children:[U(s,{tone:"neutral",label:Y.key,size:"sm",icon:U(O$,{className:"h-3 w-3"})}),U(s,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?U(s,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),K("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[U("div",{className:"space-y-6 lg:col-span-2",children:U(W4,{className:"p-6",children:K(d,{gap:"md",children:[K(Fz,{className:"items-center gap-2 border-b pb-2",children:[U(p2,{className:"h-5 w-5 text-muted-foreground"}),U("h3",{className:"font-semibold text-lg",children:"Form Definition"})]}),Q?K(d,{gap:"lg",children:[Q.meta.description&&U("p",{className:"text-muted-foreground",children:Q.meta.description}),K(M$,{className:"flex-col gap-2",children:[U("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Fields"}),U(U4,{code:JSON.stringify(Q.fields,null,2),language:"json"})]}),K(M$,{className:"flex-col gap-2",children:[U("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Actions"}),U(U4,{code:JSON.stringify(Q.actions,null,2),language:"json"})]})]}):K(d,{gap:"md",children:[U("p",{className:"text-muted-foreground",children:"Full form definition details are not available for this form reference."}),U(U4,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),U("div",{className:"space-y-6",children:U(W4,{className:"p-6",children:K(d,{gap:"md",children:[K(Fz,{className:"items-center gap-2 border-b pb-2",children:[U(f2,{className:"h-5 w-5 text-muted-foreground"}),U("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),K("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[K("div",{children:[U("dt",{className:"text-muted-foreground",children:"Key"}),U("dd",{className:"truncate font-medium",children:Y.key})]}),K("div",{children:[U("dt",{className:"text-muted-foreground",children:"Version"}),U("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.owners&&K("div",{children:[U("dt",{className:"text-muted-foreground",children:"Owners"}),U("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((X)=>U(s,{label:X,size:"sm",tone:"neutral"},X))})]}),Q?.meta?.tags&&K("div",{children:[U("dt",{className:"text-muted-foreground",children:"Tags"}),U("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.tags.map((X)=>U(s,{label:`#${X}`,size:"sm",tone:"neutral"},X))})]})]})]})})}),M?.length?U("div",{className:"lg:col-span-3",children:U(W4,{className:"p-6",children:K(d,{gap:"md",children:[K(Fz,{className:"items-center gap-2 border-b pb-2",children:[U(n2,{className:"h-5 w-5 text-muted-foreground"}),U("h3",{className:"font-semibold text-lg",children:"Related Documentation"})]}),U("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:M.map((X)=>U(o2,{href:X.route||`/docs/${X.id}`,className:"group block",children:K("div",{className:"h-full rounded-lg border p-4 transition-colors hover:border-primary",children:[U("h4",{className:"mb-1 font-semibold group-hover:text-primary",children:X.title}),X.summary&&U("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:X.summary})]})},X.id))})]})})}):null]})]})}import{Breadcrumbs as c2,PageHeaderResponsive as x2}from"@contractspec/lib.design-system";import{VStack as j2}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as u2}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as Z4,jsxs as r2}from"react/jsx-runtime";function I$({feature:z,className:$}){return r2(j2,{gap:"lg",className:u2("mx-auto w-full max-w-5xl p-6",$),children:[Z4(x2,{title:"Forms",subtitle:`Forms defined in ${z.meta.title??z.meta.key}`,breadcrumb:Z4(c2,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Forms"}]})}),Z4(sz,{feature:z})]})}import{Breadcrumbs as D$,CodeBlock as G4,EmptyState as t2,PageHeaderResponsive as P$,StatusChip as e}from"@contractspec/lib.design-system";import{Card as T$}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as K$,HStack as M4,VStack as f}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as L$}from"@contractspec/lib.ui-kit-web/ui/utils";import{Code as a2,Database as s2,Zap as q$}from"lucide-react";import{jsx as G,jsxs as N}from"react/jsx-runtime";function e2({feature:z,operationKey:$,operation:J,spec:Q,className:_}){let Y=J??z.operations?.find((X)=>X.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return N(f,{gap:"lg",className:L$("mx-auto w-full max-w-5xl p-6",_),children:[G(P$,{title:"Operation Not Found",subtitle:`Operation ${$} not found in feature ${z.meta.key}`,breadcrumb:G(D$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Operations"}]})}),G(t2,{title:"Operation not found",description:`The operation '${$}' could not be found in this feature.`,icon:G(q$,{className:"h-12 w-12 text-muted-foreground"})})]});return N(f,{gap:"lg",className:L$("mx-auto w-full max-w-5xl p-6",_),children:[G(P$,{title:Y.key,subtitle:`Operation defined in ${z.meta.title??z.meta.key}`,breadcrumb:G(D$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Operations",href:`/features/${z.meta.key}/operations`},{label:Y.key}]})}),N(M4,{gap:"sm",children:[G(e,{tone:"neutral",label:Y.key,size:"sm",icon:G(q$,{className:"h-3 w-3"})}),G(e,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?G(e,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),N("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[G("div",{className:"space-y-6 lg:col-span-2",children:G(T$,{className:"p-6",children:N(f,{gap:"md",children:[N(M4,{className:"items-center gap-2 border-b pb-2",children:[G(a2,{className:"h-5 w-5 text-muted-foreground"}),G("h3",{className:"font-semibold text-lg",children:"Schema Definition"})]}),Q?N(f,{gap:"lg",children:[Q.meta.description&&G("p",{className:"text-muted-foreground",children:Q.meta.description}),N(K$,{className:"flex-col gap-2",children:[G("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Input Schema"}),G(G4,{className:"w-full",code:JSON.stringify(Q.io.input,null,2),language:"json"})]}),N(K$,{className:"flex-col gap-2",children:[G("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Output Schema"}),G(G4,{className:"w-full",code:JSON.stringify(Q.io.output,null,2),language:"json"})]})]}):N(f,{gap:"md",children:[G("p",{className:"text-muted-foreground",children:"Full schema details are not available for this operation reference."}),G(G4,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),G("div",{className:"space-y-6",children:G(T$,{className:"p-6",children:N(f,{gap:"md",children:[N(M4,{className:"items-center gap-2 border-b pb-2",children:[G(s2,{className:"h-5 w-5 text-muted-foreground"}),G("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),N("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Key"}),G("dd",{className:"truncate font-medium",children:Y.key})]}),N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Version"}),G("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.context&&N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Context"}),G("dd",{className:"font-medium",children:Q.meta.context})]}),Q?.meta?.owners&&N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Owners"}),G("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((X)=>G(e,{label:X,size:"sm",tone:"neutral"},X))})]}),Q?.meta?.tags&&N("div",{children:[G("dt",{className:"text-muted-foreground",children:"Tags"}),G("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.tags.map((X)=>G(e,{label:`#${X}`,size:"sm",tone:"neutral"},X))})]})]})]})})})]})]})}import{Breadcrumbs as z3,PageHeaderResponsive as $3}from"@contractspec/lib.design-system";import{VStack as Q3}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as J3}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as A4,jsxs as Y3}from"react/jsx-runtime";function X3({feature:z,className:$}){return Y3(Q3,{gap:"lg",className:J3("mx-auto w-full max-w-5xl p-6",$),children:[A4($3,{title:"Operations",subtitle:`Operations defined in ${z.meta.title??z.meta.key}`,breadcrumb:A4(z3,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Operations"}]})}),A4(z4,{feature:z})]})}import{Breadcrumbs as _3,PageHeaderResponsive as E3}from"@contractspec/lib.design-system";import{VStack as U3}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as W3}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as O4,jsxs as G3}from"react/jsx-runtime";function Z3({feature:z,className:$}){return G3(U3,{gap:"lg",className:W3("mx-auto w-full max-w-5xl p-6",$),children:[O4(E3,{title:z.meta.title||z.meta.key,subtitle:z.meta.description||"Feature overview",breadcrumb:O4(_3,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key}]})}),O4(Kz,{feature:z})]})}import{Breadcrumbs as N$,CodeBlock as F$,EmptyState as M3,PageHeaderResponsive as V$,StatusChip as Vz}from"@contractspec/lib.design-system";import{Card as I4}from"@contractspec/lib.ui-kit-web/ui/card";import{Box as A3,HStack as wz,VStack as l}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as w$}from"@contractspec/lib.ui-kit-web/ui/utils";import{BookOpen as O3,Code as I3,Database as D3,Layout as B$}from"lucide-react";import P3 from"next/link";import{jsx as Z,jsxs as F}from"react/jsx-runtime";function T3({feature:z,presentationKey:$,presentation:J,spec:Q,className:_}){let Y=J??z.presentations?.find((X)=>X.key===$),M=R(Y?.key||"",Q?.meta?.tags);if(!Y)return F(l,{gap:"lg",className:w$("mx-auto w-full max-w-5xl p-6",_),children:[Z(V$,{title:"Presentation Not Found",subtitle:`Presentation ${$} not found in feature ${z.meta.key}`,breadcrumb:Z(N$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Presentations",href:`/features/${z.meta.key}/presentation`}]})}),Z(M3,{title:"Presentation not found",description:`The presentation '${$}' could not be found in this feature.`,icon:Z(B$,{className:"h-12 w-12 text-muted-foreground"})})]});return F(l,{gap:"lg",className:w$("mx-auto w-full max-w-5xl p-6",_),children:[Z(V$,{title:Y.key,subtitle:`Presentation defined in ${z.meta.title??z.meta.key}`,breadcrumb:Z(N$,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Presentations",href:`/features/${z.meta.key}#presentations`},{label:Y.key}]})}),F(wz,{gap:"sm",children:[Z(Vz,{tone:"neutral",label:Y.key,size:"sm",icon:Z(B$,{className:"h-3 w-3"})}),Z(Vz,{tone:"neutral",label:`v${Y.version}`,size:"sm"}),Q?.meta?.stability?Z(Vz,{tone:Q.meta.stability==="stable"?"success":"warning",label:Q.meta.stability,size:"sm"}):null]}),F("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[Z("div",{className:"space-y-6 lg:col-span-2",children:Z(I4,{className:"p-6",children:F(l,{gap:"md",children:[F(wz,{className:"items-center gap-2 border-b pb-2",children:[Z(I3,{className:"h-5 w-5 text-muted-foreground"}),Z("h3",{className:"font-semibold text-lg",children:"Component Definition"})]}),Q?F(l,{gap:"lg",children:[Q.meta.description&&Z("p",{className:"text-muted-foreground",children:Q.meta.description}),F(A3,{className:"flex-col gap-2",children:[Z("span",{className:"font-medium text-muted-foreground text-sm uppercase tracking-wider",children:"Spec Details"}),Z(F$,{code:JSON.stringify(Q,null,2),language:"json"})]})]}):F(l,{gap:"md",children:[Z("p",{className:"text-muted-foreground",children:"Full component details are not available for this presentation reference."}),Z(F$,{code:JSON.stringify(Y,null,2),language:"json"})]})]})})}),Z("div",{className:"space-y-6",children:Z(I4,{className:"p-6",children:F(l,{gap:"md",children:[F(wz,{className:"items-center gap-2 border-b pb-2",children:[Z(D3,{className:"h-5 w-5 text-muted-foreground"}),Z("h3",{className:"font-semibold text-lg",children:"Metadata"})]}),F("dl",{className:"grid grid-cols-1 gap-4 text-sm",children:[F("div",{children:[Z("dt",{className:"text-muted-foreground",children:"Key"}),Z("dd",{className:"truncate font-medium",children:Y.key})]}),F("div",{children:[Z("dt",{className:"text-muted-foreground",children:"Version"}),Z("dd",{className:"font-medium",children:Y.version})]}),Q?.meta?.owners&&F("div",{children:[Z("dt",{className:"text-muted-foreground",children:"Owners"}),Z("dd",{className:"flex flex-wrap gap-1 font-medium",children:Q.meta.owners.map((X)=>Z(Vz,{label:X,size:"sm",tone:"neutral"},X))})]})]})]})})}),M?.length?Z("div",{className:"lg:col-span-3",children:Z(I4,{className:"p-6",children:F(l,{gap:"md",children:[F(wz,{className:"items-center gap-2 border-b pb-2",children:[Z(O3,{className:"h-5 w-5 text-muted-foreground"}),Z("h3",{className:"font-semibold text-lg",children:"Related Documentation"})]}),Z("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:M.map((X)=>Z(P3,{href:X.route||`/docs/${X.id}`,className:"group block",children:F("div",{className:"h-full rounded-lg border p-4 transition-colors hover:border-primary",children:[Z("h4",{className:"mb-1 font-semibold group-hover:text-primary",children:X.title}),X.summary&&Z("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:X.summary})]})},X.id))})]})})}):null]})]})}import{Breadcrumbs as K3,PageHeaderResponsive as L3}from"@contractspec/lib.design-system";import{VStack as q3}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as N3}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as D4,jsxs as V3}from"react/jsx-runtime";function F3({feature:z,className:$}){return V3(q3,{gap:"lg",className:N3("mx-auto w-full max-w-5xl p-6",$),children:[D4(L3,{title:"Presentations",subtitle:`Presentations defined in ${z.meta.title??z.meta.key}`,breadcrumb:D4(K3,{items:[{label:"Features",href:"/features"},{label:z.meta.title||z.meta.key,href:`/features/${z.meta.key}`},{label:"Presentations"}]})}),D4(Q4,{feature:z})]})}export{R as useRelatedDocs,Az as useFeatureRegistry,Mz as useFeatureFilters,o4 as useContractsRegistry,Gz as getFeatureIconTone,F3 as FeaturePresentationsTemplate,Q4 as FeaturePresentationsList,T3 as FeaturePresentationDetailTemplate,Z3 as FeatureOverviewTemplate,X3 as FeatureOperationsTemplate,z4 as FeatureOperationsList,e2 as FeatureOperationDetailTemplate,Zz as FeatureIcon,Oz as FeatureHoverPreview,I$ as FeatureFormsTemplate,sz as FeatureFormsList,i2 as FeatureFormDetailTemplate,Pz as FeatureFiltersBar,k2 as FeatureEventsTemplate,tz as FeatureEventsList,y2 as FeatureEventDetailTemplate,s4 as FeatureDiscovery,Kz as FeatureDetail,X$ as FeatureDataViewsTemplate,cz as FeatureDataViewsList,L2 as FeatureDataViewDetailTemplate,Dz as FeatureCategoryHeader,Iz as FeatureCard};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{cn as
|
|
2
|
+
var h=Object.defineProperty;var I=(J)=>J;function k(J,P){this[J]=I.bind(null,P)}var QP=(J,P)=>{for(var _ in P)h(J,_,{get:P[_],enumerable:!0,configurable:!0,set:k.bind(P,_)})};var VP=(J,P)=>()=>(J&&(P=J(J=0)),P);import{cn as g}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as y,Database as W,FileText as D,Globe as w,Layout as G,MessageSquare as S,Settings as d,Shield as N,Workflow as q}from"lucide-react";import*as H from"react";import{jsx as b}from"react/jsx-runtime";var u={platform:d,documentation:D,docs:D,integration:q,api:w,security:N,data:W,messaging:S,ui:G,presentation:G},p={documentation:D,guides:D,"api-reference":w,presentations:G,ui:G,rendering:G,mcp:q,integration:q,security:N,auth:N,data:W,storage:W},L={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"},m={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"};function F({domain:J,tags:P=[],stability:_,icon:Q,size:A="md",className:V}){let B=H.useMemo(()=>{if(Q)return Q;if(J){let E=u[J.toLowerCase()];if(E)return E}for(let E of P){let z=p[E.toLowerCase()];if(z)return z}return y},[J,P,Q]),X=_?L[_]||"primary":"primary",R={success:"text-emerald-600 dark:text-emerald-400",warning:"text-amber-600 dark:text-amber-400",info:"text-blue-600 dark:text-blue-400",danger:"text-red-600 dark:text-red-400",primary:"text-primary"};return b(B,{className:g(m[A],R[X],V)})}function M(J){if(!J)return"primary";return L[J]||"primary"}import{StatusChip as f}from"@contractspec/lib.design-system";import{HStack as Z}from"@contractspec/lib.ui-kit-web/ui/stack";import{ArrowRight as r,Layout as j,Radio as x,Shield as l,Tag as n,Users as o,Zap as c}from"lucide-react";import{jsx as K,jsxs as Y,Fragment as i}from"react/jsx-runtime";function O({feature:J}){let{meta:P,operations:_,events:Q,presentations:A,capabilities:V}=J,B=V?.provides?.length||V?.requires?.length;return Y(i,{children:[P.description&&K("p",{className:"text-muted-foreground text-sm leading-relaxed",children:P.description}),Y(Z,{gap:"md",className:"py-2",children:[_?.length?Y("div",{className:"flex items-center gap-1.5 text-sm",children:[K(c,{className:"h-4 w-4 text-amber-500"}),K("span",{className:"font-medium",children:_.length}),K("span",{className:"text-muted-foreground",children:"ops"})]}):null,Q?.length?Y("div",{className:"flex items-center gap-1.5 text-sm",children:[K(x,{className:"h-4 w-4 text-blue-500"}),K("span",{className:"font-medium",children:Q.length}),K("span",{className:"text-muted-foreground",children:"events"})]}):null,A?.length?Y("div",{className:"flex items-center gap-1.5 text-sm",children:[K(j,{className:"h-4 w-4 text-purple-500"}),K("span",{className:"font-medium",children:A.length}),K("span",{className:"text-muted-foreground",children:"views"})]}):null]}),B&&Y("div",{className:"space-y-1.5 border-border/50 border-t pt-1",children:[V?.provides?.length?Y(Z,{gap:"xs",wrap:"wrap",className:"items-start",children:[K(l,{className:"mt-0.5 h-3.5 w-3.5 text-emerald-500"}),K("span",{className:"text-muted-foreground text-xs",children:"Provides:"}),V.provides.slice(0,2).map((X)=>K(f,{tone:"success",label:X.key,size:"sm"},X.key)),V.provides.length>2&&Y("span",{className:"text-muted-foreground text-xs",children:["+",V.provides.length-2]})]}):null,V?.requires?.length?Y(Z,{gap:"xs",wrap:"wrap",className:"items-start",children:[K(r,{className:"mt-0.5 h-3.5 w-3.5 text-blue-500"}),K("span",{className:"text-muted-foreground text-xs",children:"Requires:"}),V.requires.slice(0,2).map((X)=>K(f,{tone:"info",label:X.key,size:"sm"},X.key)),V.requires.length>2&&Y("span",{className:"text-muted-foreground text-xs",children:["+",V.requires.length-2]})]}):null]}),P.tags?.length?Y(Z,{gap:"xs",wrap:"wrap",className:"items-center border-border/50 border-t pt-1",children:[K(n,{className:"h-3.5 w-3.5 text-muted-foreground"}),P.tags.slice(0,4).map((X)=>Y("span",{className:"rounded bg-muted px-1.5 py-0.5 text-muted-foreground text-xs",children:["#",X]},X)),P.tags.length>4&&Y("span",{className:"text-muted-foreground text-xs",children:["+",P.tags.length-4]})]}):null,P.owners?.length?Y(Z,{gap:"xs",className:"items-center text-muted-foreground text-xs",children:[K(o,{className:"h-3.5 w-3.5"}),K("span",{children:P.owners.join(", ")})]}):null]})}import{EntityCard as t,StatusChip as e}from"@contractspec/lib.design-system";import{HStack as C}from"@contractspec/lib.ui-kit-web/ui/stack";import{Layout as s,Radio as a,Shield as PP,Zap as JP}from"lucide-react";import{jsx as $,jsxs as U}from"react/jsx-runtime";var KP={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"};function wP({feature:J,onSelect:P,className:_}){let{meta:Q,operations:A,events:V,presentations:B,capabilities:X}=J,R=KP[Q.stability]??"neutral",E=M(Q.stability),z=Q.stability==="stable"?"strong":"default",T=P?()=>P(J):void 0,v=X?.provides?.length||X?.requires?.length;return $(t,{cardTitle:Q.title,cardSubtitle:Q.key,className:_,onClick:T,emphasis:z,icon:$(F,{domain:Q.domain,tags:Q.tags,stability:Q.stability,size:"md"}),iconTone:E,chips:$(e,{tone:R,label:Q.stability??"unknown",size:"sm"}),meta:Q.description?$("span",{className:"line-clamp-2 text-muted-foreground text-sm",children:Q.description}):void 0,preview:$(O,{feature:J}),footer:U(C,{gap:"md",className:"w-full justify-between text-muted-foreground text-xs",children:[U(C,{gap:"sm",children:[A?.length?U("span",{className:"flex items-center gap-1",children:[$(JP,{className:"h-3 w-3 text-amber-500"}),A.length]}):null,V?.length?U("span",{className:"flex items-center gap-1",children:[$(a,{className:"h-3 w-3 text-blue-500"}),V.length]}):null,B?.length?U("span",{className:"flex items-center gap-1",children:[$(s,{className:"h-3 w-3 text-purple-500"}),B.length]}):null]}),v&&U("span",{className:"flex items-center gap-1",children:[$(PP,{className:"h-3 w-3 text-emerald-500"}),(X?.provides?.length??0)+(X?.requires?.length??0)]})]})})}export{wP as FeatureCard};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{cn as
|
|
2
|
+
var h=Object.defineProperty;var I=(J)=>J;function y(J,P){this[J]=I.bind(null,P)}var VP=(J,P)=>{for(var _ in P)h(J,_,{get:P[_],enumerable:!0,configurable:!0,set:y.bind(P,_)})};var XP=(J,P)=>()=>(J&&(P=J(J=0)),P);import{cn as k}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as g,Database as R,FileText as D,Globe as f,Layout as G,MessageSquare as S,Settings as d,Shield as W,Workflow as N}from"lucide-react";import*as w from"react";import{jsx as b}from"react/jsx-runtime";var p={platform:d,documentation:D,docs:D,integration:N,api:f,security:W,data:R,messaging:S,ui:G,presentation:G},u={documentation:D,guides:D,"api-reference":f,presentations:G,ui:G,rendering:G,mcp:N,integration:N,security:W,auth:W,data:R,storage:R},C={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"},m={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"};function q({domain:J,tags:P=[],stability:_,icon:Q,size:A="md",className:V}){let B=w.useMemo(()=>{if(Q)return Q;if(J){let E=p[J.toLowerCase()];if(E)return E}for(let E of P){let z=u[E.toLowerCase()];if(z)return z}return g},[J,P,Q]),X=_?C[_]||"primary":"primary",F={success:"text-emerald-600 dark:text-emerald-400",warning:"text-amber-600 dark:text-amber-400",info:"text-blue-600 dark:text-blue-400",danger:"text-red-600 dark:text-red-400",primary:"text-primary"};return b(B,{className:k(m[A],F[X],V)})}function M(J){if(!J)return"primary";return C[J]||"primary"}import{StatusChip as H}from"@contractspec/lib.design-system";import{HStack as Z}from"@contractspec/lib.ui-kit-web/ui/stack";import{ArrowRight as r,Layout as j,Radio as x,Shield as o,Tag as l,Users as n,Zap as c}from"lucide-react";import{jsx as K,jsxs as Y,Fragment as i}from"react/jsx-runtime";function O({feature:J}){let{meta:P,operations:_,events:Q,presentations:A,capabilities:V}=J,B=V?.provides?.length||V?.requires?.length;return Y(i,{children:[P.description&&K("p",{className:"text-muted-foreground text-sm leading-relaxed",children:P.description}),Y(Z,{gap:"md",className:"py-2",children:[_?.length?Y("div",{className:"flex items-center gap-1.5 text-sm",children:[K(c,{className:"h-4 w-4 text-amber-500"}),K("span",{className:"font-medium",children:_.length}),K("span",{className:"text-muted-foreground",children:"ops"})]}):null,Q?.length?Y("div",{className:"flex items-center gap-1.5 text-sm",children:[K(x,{className:"h-4 w-4 text-blue-500"}),K("span",{className:"font-medium",children:Q.length}),K("span",{className:"text-muted-foreground",children:"events"})]}):null,A?.length?Y("div",{className:"flex items-center gap-1.5 text-sm",children:[K(j,{className:"h-4 w-4 text-purple-500"}),K("span",{className:"font-medium",children:A.length}),K("span",{className:"text-muted-foreground",children:"views"})]}):null]}),B&&Y("div",{className:"space-y-1.5 border-border/50 border-t pt-1",children:[V?.provides?.length?Y(Z,{gap:"xs",wrap:"wrap",className:"items-start",children:[K(o,{className:"mt-0.5 h-3.5 w-3.5 text-emerald-500"}),K("span",{className:"text-muted-foreground text-xs",children:"Provides:"}),V.provides.slice(0,2).map((X)=>K(H,{tone:"success",label:X.key,size:"sm"},X.key)),V.provides.length>2&&Y("span",{className:"text-muted-foreground text-xs",children:["+",V.provides.length-2]})]}):null,V?.requires?.length?Y(Z,{gap:"xs",wrap:"wrap",className:"items-start",children:[K(r,{className:"mt-0.5 h-3.5 w-3.5 text-blue-500"}),K("span",{className:"text-muted-foreground text-xs",children:"Requires:"}),V.requires.slice(0,2).map((X)=>K(H,{tone:"info",label:X.key,size:"sm"},X.key)),V.requires.length>2&&Y("span",{className:"text-muted-foreground text-xs",children:["+",V.requires.length-2]})]}):null]}),P.tags?.length?Y(Z,{gap:"xs",wrap:"wrap",className:"items-center border-border/50 border-t pt-1",children:[K(l,{className:"h-3.5 w-3.5 text-muted-foreground"}),P.tags.slice(0,4).map((X)=>Y("span",{className:"rounded bg-muted px-1.5 py-0.5 text-muted-foreground text-xs",children:["#",X]},X)),P.tags.length>4&&Y("span",{className:"text-muted-foreground text-xs",children:["+",P.tags.length-4]})]}):null,P.owners?.length?Y(Z,{gap:"xs",className:"items-center text-muted-foreground text-xs",children:[K(n,{className:"h-3.5 w-3.5"}),K("span",{children:P.owners.join(", ")})]}):null]})}import{EntityCard as e,StatusChip as t}from"@contractspec/lib.design-system";import{HStack as L}from"@contractspec/lib.ui-kit-web/ui/stack";import{Layout as s,Radio as a,Shield as PP,Zap as JP}from"lucide-react";import{jsx as $,jsxs as U}from"react/jsx-runtime";var KP={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"};function QP({feature:J,onSelect:P,className:_}){let{meta:Q,operations:A,events:V,presentations:B,capabilities:X}=J,F=KP[Q.stability]??"neutral",E=M(Q.stability),z=Q.stability==="stable"?"strong":"default",T=P?()=>P(J):void 0,v=X?.provides?.length||X?.requires?.length;return $(e,{cardTitle:Q.title,cardSubtitle:Q.key,className:_,onClick:T,emphasis:z,icon:$(q,{domain:Q.domain,tags:Q.tags,stability:Q.stability,size:"md"}),iconTone:E,chips:$(t,{tone:F,label:Q.stability??"unknown",size:"sm"}),meta:Q.description?$("span",{className:"line-clamp-2 text-muted-foreground text-sm",children:Q.description}):void 0,preview:$(O,{feature:J}),footer:U(L,{gap:"md",className:"w-full justify-between text-muted-foreground text-xs",children:[U(L,{gap:"sm",children:[A?.length?U("span",{className:"flex items-center gap-1",children:[$(JP,{className:"h-3 w-3 text-amber-500"}),A.length]}):null,V?.length?U("span",{className:"flex items-center gap-1",children:[$(a,{className:"h-3 w-3 text-blue-500"}),V.length]}):null,B?.length?U("span",{className:"flex items-center gap-1",children:[$(s,{className:"h-3 w-3 text-purple-500"}),B.length]}):null]}),v&&U("span",{className:"flex items-center gap-1",children:[$(PP,{className:"h-3 w-3 text-emerald-500"}),(X?.provides?.length??0)+(X?.requires?.length??0)]})]})})}export{QP as FeatureCard};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{StatusChip as
|
|
2
|
+
var J=Object.defineProperty;var K=(f)=>f;function L(f,q){this[f]=K.bind(null,q)}var R=(f,q)=>{for(var y in q)J(f,y,{get:q[y],enumerable:!0,configurable:!0,set:L.bind(q,y)})};var U=(f,q)=>()=>(f&&(q=f(f=0)),q);import{StatusChip as M}from"@contractspec/lib.design-system";import{HStack as O}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as A}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as P,ChevronDown as Q}from"lucide-react";import{jsx as z,jsxs as E}from"react/jsx-runtime";function _({title:f,count:q,icon:y,isCollapsed:F=!1,onToggle:G,className:I}){return E("button",{type:"button",onClick:G,className:A("flex w-full items-center justify-between rounded-lg px-4 py-3","bg-muted/30 transition-colors hover:bg-muted/50","group cursor-pointer",I),children:[E(O,{gap:"sm",className:"items-center",children:[z("div",{className:"text-muted-foreground transition-colors group-hover:text-foreground",children:y||z(P,{className:"h-5 w-5"})}),z("span",{className:"font-semibold text-lg capitalize transition-colors group-hover:text-primary",children:f}),z(M,{tone:"neutral",label:`${q} ${q===1?"feature":"features"}`,size:"sm"})]}),z(Q,{className:A("h-5 w-5 text-muted-foreground transition-transform duration-200",F&&"-rotate-90")})]})}export{_ as FeatureCategoryHeader};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{StatusChip as
|
|
2
|
+
var E=Object.defineProperty;var G=(r)=>r;function I(r,y){this[r]=G.bind(null,y)}var Q=(r,y)=>{for(var F in y)E(r,F,{get:y[F],enumerable:!0,configurable:!0,set:I.bind(y,F)})};var R=(r,y)=>()=>(r&&(y=r(r=0)),y);import{StatusChip as J}from"@contractspec/lib.design-system";import{HStack as K}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as H}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as L,ChevronDown as M}from"lucide-react";import{jsx as f,jsxs as P}from"react/jsx-runtime";function O({title:r,count:y,icon:F,isCollapsed:q=!1,onToggle:z,className:A}){return P("button",{type:"button",onClick:z,className:H("flex w-full items-center justify-between rounded-lg px-4 py-3","bg-muted/30 transition-colors hover:bg-muted/50","group cursor-pointer",A),children:[P(K,{gap:"sm",className:"items-center",children:[f("div",{className:"text-muted-foreground transition-colors group-hover:text-foreground",children:F||f(L,{className:"h-5 w-5"})}),f("span",{className:"font-semibold text-lg capitalize transition-colors group-hover:text-primary",children:r}),f(J,{tone:"neutral",label:`${y} ${y===1?"feature":"features"}`,size:"sm"})]}),f(M,{className:H("h-5 w-5 text-muted-foreground transition-transform duration-200",q&&"-rotate-90")})]})}export{O as FeatureCategoryHeader};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Button as
|
|
2
|
+
var U=Object.defineProperty;var W=(d)=>d;function X(d,C){this[d]=W.bind(null,C)}var $=(d,C)=>{for(var D in C)U(d,D,{get:C[D],enumerable:!0,configurable:!0,set:X.bind(C,D)})};var w=(d,C)=>()=>(d&&(C=d(d=0)),C);import{Button as J,Input as Y}from"@contractspec/lib.design-system";import{HStack as K,VStack as Z}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as _}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as G,jsxs as E}from"react/jsx-runtime";function A({uniqueTags:d,uniqueStabilities:C,filters:D,setSearch:L,toggleTag:M,toggleStability:O,clearFilters:P,hasActiveFilters:Q,className:R}){return E(Z,{gap:"md",className:_("w-full",R),children:[E(K,{gap:"md",justify:"between",className:"w-full",children:[G(Y,{placeholder:"Search features...",value:D.search,onChange:(z)=>L(z.target.value),className:"max-w-md","aria-label":"Search features"}),Q&&G(J,{variant:"ghost",size:"sm",onClick:P,children:"Clear filters"})]}),C.length>0&&E(K,{gap:"xs",wrap:"wrap",children:[G("span",{className:"text-muted-foreground text-sm",children:"Stability:"}),C.map((z)=>G(J,{variant:D.stability.includes(z)?"default":"outline",size:"sm",onClick:()=>O(z),"aria-pressed":D.stability.includes(z),children:z},z))]}),d.length>0&&E(K,{gap:"xs",wrap:"wrap",children:[G("span",{className:"text-muted-foreground text-sm",children:"Tags:"}),d.slice(0,10).map((z)=>E(J,{variant:D.tags.includes(z)?"default":"outline",size:"sm",onClick:()=>M(z),"aria-pressed":D.tags.includes(z),children:["#",z]},z)),d.length>10&&E("span",{className:"text-muted-foreground text-sm",children:["+",d.length-10," more"]})]})]})}export{A as FeatureFiltersBar};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Button as
|
|
2
|
+
var Q=Object.defineProperty;var R=(p)=>p;function U(p,d){this[p]=R.bind(null,d)}var _=(p,d)=>{for(var z in d)Q(p,z,{get:d[z],enumerable:!0,configurable:!0,set:U.bind(d,z)})};var $=(p,d)=>()=>(p&&(d=p(p=0)),d);import{Button as E,Input as W}from"@contractspec/lib.design-system";import{HStack as F,VStack as X}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as Y}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as D,jsxs as C}from"react/jsx-runtime";function Z({uniqueTags:p,uniqueStabilities:d,filters:z,setSearch:G,toggleTag:J,toggleStability:K,clearFilters:L,hasActiveFilters:M,className:O}){return C(X,{gap:"md",className:Y("w-full",O),children:[C(F,{gap:"md",justify:"between",className:"w-full",children:[D(W,{placeholder:"Search features...",value:z.search,onChange:(P)=>G(P.target.value),className:"max-w-md","aria-label":"Search features"}),M&&D(E,{variant:"ghost",size:"sm",onClick:L,children:"Clear filters"})]}),d.length>0&&C(F,{gap:"xs",wrap:"wrap",children:[D("span",{className:"text-muted-foreground text-sm",children:"Stability:"}),d.map((P)=>D(E,{variant:z.stability.includes(P)?"default":"outline",size:"sm",onClick:()=>K(P),"aria-pressed":z.stability.includes(P),children:P},P))]}),p.length>0&&C(F,{gap:"xs",wrap:"wrap",children:[D("span",{className:"text-muted-foreground text-sm",children:"Tags:"}),p.slice(0,10).map((P)=>C(E,{variant:z.tags.includes(P)?"default":"outline",size:"sm",onClick:()=>J(P),"aria-pressed":z.tags.includes(P),children:["#",P]},P)),p.length>10&&C("span",{className:"text-muted-foreground text-sm",children:["+",p.length-10," more"]})]})]})}export{Z as FeatureFiltersBar};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{StatusChip as
|
|
2
|
+
var Q=Object.defineProperty;var V=(E)=>E;function W(E,B){this[E]=V.bind(null,B)}var T=(E,B)=>{for(var J in B)Q(E,J,{get:B[J],enumerable:!0,configurable:!0,set:W.bind(B,J)})};var U=(E,B)=>()=>(E&&(B=E(E=0)),B);import{StatusChip as O}from"@contractspec/lib.design-system";import{HStack as K}from"@contractspec/lib.ui-kit-web/ui/stack";import{ArrowRight as X,Layout as Y,Radio as _,Shield as $,Tag as y,Users as A,Zap as F}from"lucide-react";import{jsx as z,jsxs as D,Fragment as L}from"react/jsx-runtime";function R({feature:E}){let{meta:B,operations:J,events:M,presentations:N,capabilities:G}=E,P=G?.provides?.length||G?.requires?.length;return D(L,{children:[B.description&&z("p",{className:"text-muted-foreground text-sm leading-relaxed",children:B.description}),D(K,{gap:"md",className:"py-2",children:[J?.length?D("div",{className:"flex items-center gap-1.5 text-sm",children:[z(F,{className:"h-4 w-4 text-amber-500"}),z("span",{className:"font-medium",children:J.length}),z("span",{className:"text-muted-foreground",children:"ops"})]}):null,M?.length?D("div",{className:"flex items-center gap-1.5 text-sm",children:[z(_,{className:"h-4 w-4 text-blue-500"}),z("span",{className:"font-medium",children:M.length}),z("span",{className:"text-muted-foreground",children:"events"})]}):null,N?.length?D("div",{className:"flex items-center gap-1.5 text-sm",children:[z(Y,{className:"h-4 w-4 text-purple-500"}),z("span",{className:"font-medium",children:N.length}),z("span",{className:"text-muted-foreground",children:"views"})]}):null]}),P&&D("div",{className:"space-y-1.5 border-border/50 border-t pt-1",children:[G?.provides?.length?D(K,{gap:"xs",wrap:"wrap",className:"items-start",children:[z($,{className:"mt-0.5 h-3.5 w-3.5 text-emerald-500"}),z("span",{className:"text-muted-foreground text-xs",children:"Provides:"}),G.provides.slice(0,2).map((I)=>z(O,{tone:"success",label:I.key,size:"sm"},I.key)),G.provides.length>2&&D("span",{className:"text-muted-foreground text-xs",children:["+",G.provides.length-2]})]}):null,G?.requires?.length?D(K,{gap:"xs",wrap:"wrap",className:"items-start",children:[z(X,{className:"mt-0.5 h-3.5 w-3.5 text-blue-500"}),z("span",{className:"text-muted-foreground text-xs",children:"Requires:"}),G.requires.slice(0,2).map((I)=>z(O,{tone:"info",label:I.key,size:"sm"},I.key)),G.requires.length>2&&D("span",{className:"text-muted-foreground text-xs",children:["+",G.requires.length-2]})]}):null]}),B.tags?.length?D(K,{gap:"xs",wrap:"wrap",className:"items-center border-border/50 border-t pt-1",children:[z(y,{className:"h-3.5 w-3.5 text-muted-foreground"}),B.tags.slice(0,4).map((I)=>D("span",{className:"rounded bg-muted px-1.5 py-0.5 text-muted-foreground text-xs",children:["#",I]},I)),B.tags.length>4&&D("span",{className:"text-muted-foreground text-xs",children:["+",B.tags.length-4]})]}):null,B.owners?.length?D(K,{gap:"xs",className:"items-center text-muted-foreground text-xs",children:[z(A,{className:"h-3.5 w-3.5"}),z("span",{children:B.owners.join(", ")})]}):null]})}export{R as FeatureHoverPreview};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{StatusChip as
|
|
2
|
+
var K=Object.defineProperty;var M=(w)=>w;function N(w,v){this[w]=M.bind(null,v)}var A=(w,v)=>{for(var B in v)K(w,B,{get:v[B],enumerable:!0,configurable:!0,set:N.bind(v,B)})};var L=(w,v)=>()=>(w&&(v=w(w=0)),v);import{StatusChip as I}from"@contractspec/lib.design-system";import{HStack as D}from"@contractspec/lib.ui-kit-web/ui/stack";import{ArrowRight as O,Layout as Q,Radio as V,Shield as W,Tag as X,Users as Y,Zap as _}from"lucide-react";import{jsx as P,jsxs as F,Fragment as f}from"react/jsx-runtime";function $({feature:w}){let{meta:v,operations:B,events:E,presentations:G,capabilities:y}=w,J=y?.provides?.length||y?.requires?.length;return F(f,{children:[v.description&&P("p",{className:"text-muted-foreground text-sm leading-relaxed",children:v.description}),F(D,{gap:"md",className:"py-2",children:[B?.length?F("div",{className:"flex items-center gap-1.5 text-sm",children:[P(_,{className:"h-4 w-4 text-amber-500"}),P("span",{className:"font-medium",children:B.length}),P("span",{className:"text-muted-foreground",children:"ops"})]}):null,E?.length?F("div",{className:"flex items-center gap-1.5 text-sm",children:[P(V,{className:"h-4 w-4 text-blue-500"}),P("span",{className:"font-medium",children:E.length}),P("span",{className:"text-muted-foreground",children:"events"})]}):null,G?.length?F("div",{className:"flex items-center gap-1.5 text-sm",children:[P(Q,{className:"h-4 w-4 text-purple-500"}),P("span",{className:"font-medium",children:G.length}),P("span",{className:"text-muted-foreground",children:"views"})]}):null]}),J&&F("div",{className:"space-y-1.5 border-border/50 border-t pt-1",children:[y?.provides?.length?F(D,{gap:"xs",wrap:"wrap",className:"items-start",children:[P(W,{className:"mt-0.5 h-3.5 w-3.5 text-emerald-500"}),P("span",{className:"text-muted-foreground text-xs",children:"Provides:"}),y.provides.slice(0,2).map((z)=>P(I,{tone:"success",label:z.key,size:"sm"},z.key)),y.provides.length>2&&F("span",{className:"text-muted-foreground text-xs",children:["+",y.provides.length-2]})]}):null,y?.requires?.length?F(D,{gap:"xs",wrap:"wrap",className:"items-start",children:[P(O,{className:"mt-0.5 h-3.5 w-3.5 text-blue-500"}),P("span",{className:"text-muted-foreground text-xs",children:"Requires:"}),y.requires.slice(0,2).map((z)=>P(I,{tone:"info",label:z.key,size:"sm"},z.key)),y.requires.length>2&&F("span",{className:"text-muted-foreground text-xs",children:["+",y.requires.length-2]})]}):null]}),v.tags?.length?F(D,{gap:"xs",wrap:"wrap",className:"items-center border-border/50 border-t pt-1",children:[P(X,{className:"h-3.5 w-3.5 text-muted-foreground"}),v.tags.slice(0,4).map((z)=>F("span",{className:"rounded bg-muted px-1.5 py-0.5 text-muted-foreground text-xs",children:["#",z]},z)),v.tags.length>4&&F("span",{className:"text-muted-foreground text-xs",children:["+",v.tags.length-4]})]}):null,v.owners?.length?F(D,{gap:"xs",className:"items-center text-muted-foreground text-xs",children:[P(Y,{className:"h-3.5 w-3.5"}),P("span",{children:v.owners.join(", ")})]}):null]})}export{$ as FeatureHoverPreview};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{cn as
|
|
2
|
+
var o=Object.defineProperty;var b=(P)=>P;function u(P,F){this[P]=b.bind(null,F)}var CP=(P,F)=>{for(var Q in F)o(P,Q,{get:F[Q],enumerable:!0,configurable:!0,set:u.bind(F,Q)})};var HP=(P,F)=>()=>(P&&(F=P(P=0)),F);import{cn as x}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as j,Database as M,FileText as C,Globe as r,Layout as z,MessageSquare as n,Settings as c,Shield as O,Workflow as L}from"lucide-react";import*as I from"react";import{jsx as t}from"react/jsx-runtime";var l={platform:c,documentation:C,docs:C,integration:L,api:r,security:O,data:M,messaging:n,ui:z,presentation:z},e={documentation:C,guides:C,"api-reference":r,presentations:z,ui:z,rendering:z,mcp:L,integration:L,security:O,auth:O,data:M,storage:M},p={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"},a={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"};function w({domain:P,tags:F=[],stability:Q,icon:J,size:B="md",className:X}){let U=I.useMemo(()=>{if(J)return J;if(P){let K=l[P.toLowerCase()];if(K)return K}for(let K of F){let D=e[K.toLowerCase()];if(D)return D}return j},[P,F,J]),_=Q?p[Q]||"primary":"primary",Z={success:"text-emerald-600 dark:text-emerald-400",warning:"text-amber-600 dark:text-amber-400",info:"text-blue-600 dark:text-blue-400",danger:"text-red-600 dark:text-red-400",primary:"text-primary"};return t(U,{className:x(a[B],Z[_],X)})}function N(P){if(!P)return"primary";return p[P]||"primary"}import{StatusChip as y}from"@contractspec/lib.design-system";import{HStack as A}from"@contractspec/lib.ui-kit-web/ui/stack";import{ArrowRight as i,Layout as s,Radio as PP,Shield as FP,Tag as JP,Users as KP,Zap as QP}from"lucide-react";import{jsx as Y,jsxs as $,Fragment as XP}from"react/jsx-runtime";function H({feature:P}){let{meta:F,operations:Q,events:J,presentations:B,capabilities:X}=P,U=X?.provides?.length||X?.requires?.length;return $(XP,{children:[F.description&&Y("p",{className:"text-muted-foreground text-sm leading-relaxed",children:F.description}),$(A,{gap:"md",className:"py-2",children:[Q?.length?$("div",{className:"flex items-center gap-1.5 text-sm",children:[Y(QP,{className:"h-4 w-4 text-amber-500"}),Y("span",{className:"font-medium",children:Q.length}),Y("span",{className:"text-muted-foreground",children:"ops"})]}):null,J?.length?$("div",{className:"flex items-center gap-1.5 text-sm",children:[Y(PP,{className:"h-4 w-4 text-blue-500"}),Y("span",{className:"font-medium",children:J.length}),Y("span",{className:"text-muted-foreground",children:"events"})]}):null,B?.length?$("div",{className:"flex items-center gap-1.5 text-sm",children:[Y(s,{className:"h-4 w-4 text-purple-500"}),Y("span",{className:"font-medium",children:B.length}),Y("span",{className:"text-muted-foreground",children:"views"})]}):null]}),U&&$("div",{className:"space-y-1.5 border-border/50 border-t pt-1",children:[X?.provides?.length?$(A,{gap:"xs",wrap:"wrap",className:"items-start",children:[Y(FP,{className:"mt-0.5 h-3.5 w-3.5 text-emerald-500"}),Y("span",{className:"text-muted-foreground text-xs",children:"Provides:"}),X.provides.slice(0,2).map((_)=>Y(y,{tone:"success",label:_.key,size:"sm"},_.key)),X.provides.length>2&&$("span",{className:"text-muted-foreground text-xs",children:["+",X.provides.length-2]})]}):null,X?.requires?.length?$(A,{gap:"xs",wrap:"wrap",className:"items-start",children:[Y(i,{className:"mt-0.5 h-3.5 w-3.5 text-blue-500"}),Y("span",{className:"text-muted-foreground text-xs",children:"Requires:"}),X.requires.slice(0,2).map((_)=>Y(y,{tone:"info",label:_.key,size:"sm"},_.key)),X.requires.length>2&&$("span",{className:"text-muted-foreground text-xs",children:["+",X.requires.length-2]})]}):null]}),F.tags?.length?$(A,{gap:"xs",wrap:"wrap",className:"items-center border-border/50 border-t pt-1",children:[Y(JP,{className:"h-3.5 w-3.5 text-muted-foreground"}),F.tags.slice(0,4).map((_)=>$("span",{className:"rounded bg-muted px-1.5 py-0.5 text-muted-foreground text-xs",children:["#",_]},_)),F.tags.length>4&&$("span",{className:"text-muted-foreground text-xs",children:["+",F.tags.length-4]})]}):null,F.owners?.length?$(A,{gap:"xs",className:"items-center text-muted-foreground text-xs",children:[Y(KP,{className:"h-3.5 w-3.5"}),Y("span",{children:F.owners.join(", ")})]}):null]})}import{EntityCard as YP,StatusChip as _P}from"@contractspec/lib.design-system";import{HStack as q}from"@contractspec/lib.ui-kit-web/ui/stack";import{Layout as $P,Radio as BP,Shield as EP,Zap as UP}from"lucide-react";import{jsx as E,jsxs as V}from"react/jsx-runtime";var VP={stable:"success",beta:"warning",experimental:"info",deprecated:"danger"};function h({feature:P,onSelect:F,className:Q}){let{meta:J,operations:B,events:X,presentations:U,capabilities:_}=P,Z=VP[J.stability]??"neutral",K=N(J.stability),D=J.stability==="stable"?"strong":"default",S=F?()=>F(P):void 0,g=_?.provides?.length||_?.requires?.length;return E(YP,{cardTitle:J.title,cardSubtitle:J.key,className:Q,onClick:S,emphasis:D,icon:E(w,{domain:J.domain,tags:J.tags,stability:J.stability,size:"md"}),iconTone:K,chips:E(_P,{tone:Z,label:J.stability??"unknown",size:"sm"}),meta:J.description?E("span",{className:"line-clamp-2 text-muted-foreground text-sm",children:J.description}):void 0,preview:E(H,{feature:P}),footer:V(q,{gap:"md",className:"w-full justify-between text-muted-foreground text-xs",children:[V(q,{gap:"sm",children:[B?.length?V("span",{className:"flex items-center gap-1",children:[E(UP,{className:"h-3 w-3 text-amber-500"}),B.length]}):null,X?.length?V("span",{className:"flex items-center gap-1",children:[E(BP,{className:"h-3 w-3 text-blue-500"}),X.length]}):null,U?.length?V("span",{className:"flex items-center gap-1",children:[E($P,{className:"h-3 w-3 text-purple-500"}),U.length]}):null]}),g&&V("span",{className:"flex items-center gap-1",children:[E(EP,{className:"h-3 w-3 text-emerald-500"}),(_?.provides?.length??0)+(_?.requires?.length??0)]})]})})}import{StatusChip as GP}from"@contractspec/lib.design-system";import{HStack as ZP}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as T}from"@contractspec/lib.ui-kit-web/ui/utils";import{Boxes as zP,ChevronDown as AP}from"lucide-react";import{jsx as R,jsxs as d}from"react/jsx-runtime";function k({title:P,count:F,icon:Q,isCollapsed:J=!1,onToggle:B,className:X}){return d("button",{type:"button",onClick:B,className:T("flex w-full items-center justify-between rounded-lg px-4 py-3","bg-muted/30 transition-colors hover:bg-muted/50","group cursor-pointer",X),children:[d(ZP,{gap:"sm",className:"items-center",children:[R("div",{className:"text-muted-foreground transition-colors group-hover:text-foreground",children:Q||R(zP,{className:"h-5 w-5"})}),R("span",{className:"font-semibold text-lg capitalize transition-colors group-hover:text-primary",children:P}),R(GP,{tone:"neutral",label:`${F} ${F===1?"feature":"features"}`,size:"sm"})]}),R(AP,{className:T("h-5 w-5 text-muted-foreground transition-transform duration-200",J&&"-rotate-90")})]})}import{Button as v,Input as RP}from"@contractspec/lib.design-system";import{HStack as f,VStack as WP}from"@contractspec/lib.ui-kit-web/ui/stack";import{cn as DP}from"@contractspec/lib.ui-kit-web/ui/utils";import{jsx as W,jsxs as G}from"react/jsx-runtime";function m({uniqueTags:P,uniqueStabilities:F,filters:Q,setSearch:J,toggleTag:B,toggleStability:X,clearFilters:U,hasActiveFilters:_,className:Z}){return G(WP,{gap:"md",className:DP("w-full",Z),children:[G(f,{gap:"md",justify:"between",className:"w-full",children:[W(RP,{placeholder:"Search features...",value:Q.search,onChange:(K)=>J(K.target.value),className:"max-w-md","aria-label":"Search features"}),_&&W(v,{variant:"ghost",size:"sm",onClick:U,children:"Clear filters"})]}),F.length>0&&G(f,{gap:"xs",wrap:"wrap",children:[W("span",{className:"text-muted-foreground text-sm",children:"Stability:"}),F.map((K)=>W(v,{variant:Q.stability.includes(K)?"default":"outline",size:"sm",onClick:()=>X(K),"aria-pressed":Q.stability.includes(K),children:K},K))]}),P.length>0&&G(f,{gap:"xs",wrap:"wrap",children:[W("span",{className:"text-muted-foreground text-sm",children:"Tags:"}),P.slice(0,10).map((K)=>G(v,{variant:Q.tags.includes(K)?"default":"outline",size:"sm",onClick:()=>B(K),"aria-pressed":Q.tags.includes(K),children:["#",K]},K)),P.length>10&&G("span",{className:"text-muted-foreground text-sm",children:["+",P.length-10," more"]})]})]})}export{H as FeatureHoverPreview,m as FeatureFiltersBar,k as FeatureCategoryHeader,h as FeatureCard};
|