@contractspec/bundle.library 3.4.3 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +494 -488
- package/CHANGELOG.md +36 -0
- package/dist/application/index.js +8 -8
- package/dist/application/mcp/cliMcp.js +8 -8
- package/dist/application/mcp/contractsMcp.js +8 -8
- package/dist/application/mcp/docsMcp.js +8 -8
- package/dist/application/mcp/index.js +8 -8
- package/dist/application/mcp/internalMcp.js +8 -8
- package/dist/application/mcp/providerRankingMcp.js +8 -8
- package/dist/bundles/LibraryBundle.d.ts +126 -0
- package/dist/bundles/LibraryBundle.js +139 -0
- package/dist/bundles/index.d.ts +1 -0
- package/dist/bundles/index.js +139 -0
- package/dist/components/docs/DocsIndexPage.js +91 -91
- package/dist/components/docs/advanced/AdvancedMCPPage.js +125 -125
- package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
- package/dist/components/docs/advanced/AdvancedRenderersPage.js +51 -51
- package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
- package/dist/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
- package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
- package/dist/components/docs/advanced/index.js +482 -482
- package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
- package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
- package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
- package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
- package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
- package/dist/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
- package/dist/components/docs/architecture/index.js +748 -748
- package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
- package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
- package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
- package/dist/components/docs/comparison/ComparisonOverviewPage.js +97 -97
- package/dist/components/docs/comparison/ComparisonWindmillPage.js +125 -125
- package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
- package/dist/components/docs/comparison/index.js +738 -738
- package/dist/components/docs/ecosystem/IntegrationsPage.js +45 -45
- package/dist/components/docs/ecosystem/PluginsPage.js +73 -73
- package/dist/components/docs/ecosystem/RegistryPage.js +37 -37
- package/dist/components/docs/ecosystem/TemplatesPage.js +56 -56
- package/dist/components/docs/ecosystem/index.js +211 -211
- package/dist/components/docs/examples/DocsExamplesPage.js +21 -21
- package/dist/components/docs/examples/index.js +21 -21
- package/dist/components/docs/getting-started/CLIPage.js +95 -95
- package/dist/components/docs/getting-started/CompatibilityPage.js +81 -81
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +57 -57
- package/dist/components/docs/getting-started/DeveloperToolsPage.js +61 -61
- package/dist/components/docs/getting-started/HelloWorldPage.js +77 -77
- package/dist/components/docs/getting-started/InstallationPage.js +65 -65
- package/dist/components/docs/getting-started/StartHerePage.js +51 -51
- package/dist/components/docs/getting-started/TroubleshootingPage.js +73 -73
- package/dist/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
- package/dist/components/docs/getting-started/index.js +731 -731
- package/dist/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
- package/dist/components/docs/guides/GuideContractTypesPage.js +232 -232
- package/dist/components/docs/guides/GuideDocsPipelinePage.js +82 -82
- package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
- package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
- package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
- package/dist/components/docs/guides/GuidesIndexPage.js +43 -43
- package/dist/components/docs/guides/index.js +975 -975
- package/dist/components/docs/index.js +10791 -10791
- package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
- package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
- package/dist/components/docs/integrations/IntegrationsGithubPage.js +61 -61
- package/dist/components/docs/integrations/IntegrationsGmailPage.js +49 -49
- package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
- package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
- package/dist/components/docs/integrations/IntegrationsMistralPage.js +69 -69
- package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
- package/dist/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
- package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
- package/dist/components/docs/integrations/IntegrationsPowensPage.js +121 -121
- package/dist/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
- package/dist/components/docs/integrations/IntegrationsResendPage.js +45 -45
- package/dist/components/docs/integrations/IntegrationsS3Page.js +57 -57
- package/dist/components/docs/integrations/IntegrationsSlackPage.js +63 -63
- package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
- package/dist/components/docs/integrations/IntegrationsStripePage.js +159 -159
- package/dist/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
- package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
- package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
- package/dist/components/docs/integrations/index.js +1642 -1642
- package/dist/components/docs/intent/ContractFirstApiPage.js +51 -51
- package/dist/components/docs/intent/DeterministicCodegenPage.js +59 -59
- package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
- package/dist/components/docs/intent/OpenapiAlternativePage.js +91 -91
- package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
- package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
- package/dist/components/docs/intent/index.js +396 -396
- package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
- package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
- package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
- package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
- package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
- package/dist/components/docs/knowledge/index.js +963 -963
- package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
- package/dist/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
- package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
- package/dist/components/docs/libraries/LibrariesContentGenPage.js +43 -43
- package/dist/components/docs/libraries/LibrariesContractsPage.js +125 -125
- package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
- package/dist/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
- package/dist/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
- package/dist/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
- package/dist/components/docs/libraries/LibrariesGrowthPage.js +35 -35
- package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
- package/dist/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
- package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +191 -191
- package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
- package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
- package/dist/components/docs/libraries/LibrariesResiliencePage.js +49 -49
- package/dist/components/docs/libraries/LibrariesRuntimePage.js +87 -87
- package/dist/components/docs/libraries/LibrariesSLOPage.js +47 -47
- package/dist/components/docs/libraries/LibrariesSchemaPage.js +139 -139
- package/dist/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
- package/dist/components/docs/libraries/LibrariesTestingPage.js +49 -49
- package/dist/components/docs/libraries/LibrariesUIKitPage.js +107 -107
- package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
- package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
- package/dist/components/docs/libraries/index.js +1919 -1919
- package/dist/components/docs/manifesto/ManifestoPage.js +79 -79
- package/dist/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
- package/dist/components/docs/ops/DistributedTracingOpsPage.js +33 -33
- package/dist/components/docs/ops/index.js +92 -92
- package/dist/components/docs/reference/DocsMarkdownContent.js +27 -27
- package/dist/components/docs/reference/DocsReferenceContent.js +34 -34
- package/dist/components/docs/reference/DocsReferenceIndexClient.js +23 -23
- package/dist/components/docs/reference/DocsReferenceIndexPage.js +26 -26
- package/dist/components/docs/reference/DocsReferencePage.js +37 -37
- package/dist/components/docs/reference/index.js +63 -63
- package/dist/components/docs/safety/SafetyAuditingPage.js +161 -161
- package/dist/components/docs/safety/SafetyMigrationsPage.js +169 -169
- package/dist/components/docs/safety/SafetyOverviewPage.js +99 -99
- package/dist/components/docs/safety/SafetyPDPPage.js +137 -137
- package/dist/components/docs/safety/SafetySecurityTrustPage.js +95 -95
- package/dist/components/docs/safety/SafetySigningPage.js +39 -39
- package/dist/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
- package/dist/components/docs/safety/index.js +733 -733
- package/dist/components/docs/shared/StudioPrompt.js +9 -9
- package/dist/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
- package/dist/components/docs/specs/SpecsDataViewsPage.js +119 -119
- package/dist/components/docs/specs/SpecsOverlaysPage.js +171 -171
- package/dist/components/docs/specs/SpecsOverviewPage.js +167 -167
- package/dist/components/docs/specs/SpecsPolicyPage.js +179 -179
- package/dist/components/docs/specs/SpecsWorkflowsPage.js +141 -141
- package/dist/components/docs/specs/index.js +838 -838
- package/dist/components/docs/studio/StudioBYOKPage.js +9 -9
- package/dist/components/docs/studio/StudioDeploymentsPage.js +9 -9
- package/dist/components/docs/studio/StudioGettingStartedPage.js +9 -9
- package/dist/components/docs/studio/StudioIntegrationsPage.js +9 -9
- package/dist/components/docs/studio/StudioOverviewPage.js +33 -33
- package/dist/components/docs/studio/StudioVisualBuilderPage.js +9 -9
- package/dist/components/docs/studio/index.js +78 -78
- package/dist/components/integrations/index.js +209 -209
- package/dist/components/integrations/molecules/IntegrationCard.js +33 -33
- package/dist/components/integrations/organisms/IntegrationMarketplace.js +71 -71
- package/dist/components/integrations/organisms/IntegrationSettings.js +98 -98
- package/dist/components/integrations/organisms/KnowledgeSourceList.js +40 -40
- package/dist/components/legal/PrivacyTemplate.js +477 -477
- package/dist/components/legal/TermsTemplate.js +421 -421
- package/dist/components/legal/index.js +898 -898
- package/dist/components/shared/FeatureGateNotice.js +13 -13
- package/dist/components/shared/index.js +13 -13
- package/dist/components/shell/WorkspaceHeader.js +37 -37
- package/dist/components/shell/WorkspaceProjectShellLayout.js +77 -77
- package/dist/components/shell/WorkspaceShellRenderer.d.ts +17 -0
- package/dist/components/shell/WorkspaceShellRenderer.js +229 -0
- package/dist/components/shell/WorkspaceSidebar.js +27 -27
- package/dist/components/shell/index.d.ts +1 -0
- package/dist/components/shell/index.js +140 -77
- package/dist/components/templates/index.js +272 -272
- package/dist/components/templates/messaging/ConversationList.js +27 -27
- package/dist/components/templates/messaging/MessageComposer.js +27 -27
- package/dist/components/templates/messaging/MessageThread.js +18 -18
- package/dist/components/templates/messaging/MessagingWorkspace.js +65 -65
- package/dist/components/templates/messaging/index.js +65 -65
- package/dist/components/templates/recipes/LanguageSwitcher.js +5 -5
- package/dist/components/templates/recipes/RecipeCard.js +26 -26
- package/dist/components/templates/recipes/RecipeDetail.js +33 -33
- package/dist/components/templates/recipes/RecipeList.js +80 -80
- package/dist/components/templates/recipes/index.js +80 -80
- package/dist/components/templates/todos/FilterBar.js +39 -39
- package/dist/components/templates/todos/TaskForm.js +43 -43
- package/dist/components/templates/todos/TaskItem.js +30 -30
- package/dist/components/templates/todos/TaskList.js +127 -127
- package/dist/components/templates/todos/index.js +127 -127
- package/dist/index.js +12323 -12260
- package/dist/infrastructure/elysia/index.js +8 -8
- package/dist/infrastructure/elysia/logger.js +8 -8
- package/dist/infrastructure/index.js +8 -8
- package/dist/libs/posthog/client.js +2 -2
- package/dist/node/application/index.js +8 -8
- package/dist/node/application/mcp/cliMcp.js +8 -8
- package/dist/node/application/mcp/contractsMcp.js +8 -8
- package/dist/node/application/mcp/docsMcp.js +8 -8
- package/dist/node/application/mcp/index.js +8 -8
- package/dist/node/application/mcp/internalMcp.js +8 -8
- package/dist/node/application/mcp/providerRankingMcp.js +8 -8
- package/dist/node/bundles/LibraryBundle.js +138 -0
- package/dist/node/bundles/index.js +138 -0
- package/dist/node/components/docs/DocsIndexPage.js +91 -91
- package/dist/node/components/docs/advanced/AdvancedMCPPage.js +125 -125
- package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
- package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +51 -51
- package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
- package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
- package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
- package/dist/node/components/docs/advanced/index.js +482 -482
- package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
- package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
- package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
- package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
- package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
- package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
- package/dist/node/components/docs/architecture/index.js +748 -748
- package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
- package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
- package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
- package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +97 -97
- package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +125 -125
- package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
- package/dist/node/components/docs/comparison/index.js +738 -738
- package/dist/node/components/docs/ecosystem/IntegrationsPage.js +45 -45
- package/dist/node/components/docs/ecosystem/PluginsPage.js +73 -73
- package/dist/node/components/docs/ecosystem/RegistryPage.js +37 -37
- package/dist/node/components/docs/ecosystem/TemplatesPage.js +56 -56
- package/dist/node/components/docs/ecosystem/index.js +211 -211
- package/dist/node/components/docs/examples/DocsExamplesPage.js +21 -21
- package/dist/node/components/docs/examples/index.js +21 -21
- package/dist/node/components/docs/getting-started/CLIPage.js +95 -95
- package/dist/node/components/docs/getting-started/CompatibilityPage.js +81 -81
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +57 -57
- package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +61 -61
- package/dist/node/components/docs/getting-started/HelloWorldPage.js +77 -77
- package/dist/node/components/docs/getting-started/InstallationPage.js +65 -65
- package/dist/node/components/docs/getting-started/StartHerePage.js +51 -51
- package/dist/node/components/docs/getting-started/TroubleshootingPage.js +73 -73
- package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
- package/dist/node/components/docs/getting-started/index.js +731 -731
- package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
- package/dist/node/components/docs/guides/GuideContractTypesPage.js +232 -232
- package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +82 -82
- package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
- package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
- package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
- package/dist/node/components/docs/guides/GuidesIndexPage.js +43 -43
- package/dist/node/components/docs/guides/index.js +975 -975
- package/dist/node/components/docs/index.js +10791 -10791
- package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
- package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
- package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +61 -61
- package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +49 -49
- package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
- package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
- package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +69 -69
- package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
- package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
- package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
- package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +121 -121
- package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
- package/dist/node/components/docs/integrations/IntegrationsResendPage.js +45 -45
- package/dist/node/components/docs/integrations/IntegrationsS3Page.js +57 -57
- package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +63 -63
- package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
- package/dist/node/components/docs/integrations/IntegrationsStripePage.js +159 -159
- package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
- package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
- package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
- package/dist/node/components/docs/integrations/index.js +1642 -1642
- package/dist/node/components/docs/intent/ContractFirstApiPage.js +51 -51
- package/dist/node/components/docs/intent/DeterministicCodegenPage.js +59 -59
- package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
- package/dist/node/components/docs/intent/OpenapiAlternativePage.js +91 -91
- package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
- package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
- package/dist/node/components/docs/intent/index.js +396 -396
- package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
- package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
- package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
- package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
- package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
- package/dist/node/components/docs/knowledge/index.js +963 -963
- package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
- package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
- package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
- package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +43 -43
- package/dist/node/components/docs/libraries/LibrariesContractsPage.js +125 -125
- package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
- package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
- package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
- package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +35 -35
- package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
- package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
- package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +191 -191
- package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
- package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
- package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +87 -87
- package/dist/node/components/docs/libraries/LibrariesSLOPage.js +47 -47
- package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +139 -139
- package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
- package/dist/node/components/docs/libraries/LibrariesTestingPage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +107 -107
- package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
- package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
- package/dist/node/components/docs/libraries/index.js +1919 -1919
- package/dist/node/components/docs/manifesto/ManifestoPage.js +79 -79
- package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
- package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +33 -33
- package/dist/node/components/docs/ops/index.js +92 -92
- package/dist/node/components/docs/reference/DocsMarkdownContent.js +27 -27
- package/dist/node/components/docs/reference/DocsReferenceContent.js +34 -34
- package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +23 -23
- package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +26 -26
- package/dist/node/components/docs/reference/DocsReferencePage.js +37 -37
- package/dist/node/components/docs/reference/index.js +63 -63
- package/dist/node/components/docs/safety/SafetyAuditingPage.js +161 -161
- package/dist/node/components/docs/safety/SafetyMigrationsPage.js +169 -169
- package/dist/node/components/docs/safety/SafetyOverviewPage.js +99 -99
- package/dist/node/components/docs/safety/SafetyPDPPage.js +137 -137
- package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +95 -95
- package/dist/node/components/docs/safety/SafetySigningPage.js +39 -39
- package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
- package/dist/node/components/docs/safety/index.js +733 -733
- package/dist/node/components/docs/shared/StudioPrompt.js +9 -9
- package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +119 -119
- package/dist/node/components/docs/specs/SpecsOverlaysPage.js +171 -171
- package/dist/node/components/docs/specs/SpecsOverviewPage.js +167 -167
- package/dist/node/components/docs/specs/SpecsPolicyPage.js +179 -179
- package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +141 -141
- package/dist/node/components/docs/specs/index.js +838 -838
- package/dist/node/components/docs/studio/StudioBYOKPage.js +9 -9
- package/dist/node/components/docs/studio/StudioDeploymentsPage.js +9 -9
- package/dist/node/components/docs/studio/StudioGettingStartedPage.js +9 -9
- package/dist/node/components/docs/studio/StudioIntegrationsPage.js +9 -9
- package/dist/node/components/docs/studio/StudioOverviewPage.js +33 -33
- package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +9 -9
- package/dist/node/components/docs/studio/index.js +78 -78
- package/dist/node/components/integrations/index.js +209 -209
- package/dist/node/components/integrations/molecules/IntegrationCard.js +33 -33
- package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +71 -71
- package/dist/node/components/integrations/organisms/IntegrationSettings.js +98 -98
- package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +40 -40
- package/dist/node/components/legal/PrivacyTemplate.js +477 -477
- package/dist/node/components/legal/TermsTemplate.js +421 -421
- package/dist/node/components/legal/index.js +898 -898
- package/dist/node/components/shared/FeatureGateNotice.js +13 -13
- package/dist/node/components/shared/index.js +13 -13
- package/dist/node/components/shell/WorkspaceHeader.js +37 -37
- package/dist/node/components/shell/WorkspaceProjectShellLayout.js +77 -77
- package/dist/node/components/shell/WorkspaceShellRenderer.js +228 -0
- package/dist/node/components/shell/WorkspaceSidebar.js +27 -27
- package/dist/node/components/shell/index.js +140 -77
- package/dist/node/components/templates/index.js +272 -272
- package/dist/node/components/templates/messaging/ConversationList.js +27 -27
- package/dist/node/components/templates/messaging/MessageComposer.js +27 -27
- package/dist/node/components/templates/messaging/MessageThread.js +18 -18
- package/dist/node/components/templates/messaging/MessagingWorkspace.js +65 -65
- package/dist/node/components/templates/messaging/index.js +65 -65
- package/dist/node/components/templates/recipes/LanguageSwitcher.js +5 -5
- package/dist/node/components/templates/recipes/RecipeCard.js +26 -26
- package/dist/node/components/templates/recipes/RecipeDetail.js +33 -33
- package/dist/node/components/templates/recipes/RecipeList.js +80 -80
- package/dist/node/components/templates/recipes/index.js +80 -80
- package/dist/node/components/templates/todos/FilterBar.js +39 -39
- package/dist/node/components/templates/todos/TaskForm.js +43 -43
- package/dist/node/components/templates/todos/TaskItem.js +30 -30
- package/dist/node/components/templates/todos/TaskList.js +127 -127
- package/dist/node/components/templates/todos/index.js +127 -127
- package/dist/node/index.js +12323 -12260
- package/dist/node/infrastructure/elysia/index.js +8 -8
- package/dist/node/infrastructure/elysia/logger.js +8 -8
- package/dist/node/infrastructure/index.js +8 -8
- package/dist/node/libs/posthog/client.js +2 -2
- package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
- package/dist/node/presentation/features/atoms/FeatureIcon/index.js +3 -3
- package/dist/node/presentation/features/atoms/index.js +3 -3
- package/dist/node/presentation/features/index.js +915 -915
- package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
- package/dist/node/presentation/features/molecules/FeatureCard/index.js +101 -101
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
- package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
- package/dist/node/presentation/features/molecules/FeatureFilters/index.js +23 -23
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
- package/dist/node/presentation/features/molecules/index.js +139 -139
- package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
- package/dist/node/presentation/features/organisms/FeatureDetail/index.js +57 -57
- package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
- package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
- package/dist/node/presentation/features/organisms/FeatureEventsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureFormsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureOperationsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +7 -7
- package/dist/node/presentation/features/organisms/index.js +275 -275
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
- package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
- package/dist/presentation/features/atoms/FeatureIcon/index.js +3 -3
- package/dist/presentation/features/atoms/index.js +3 -3
- package/dist/presentation/features/index.js +915 -915
- package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
- package/dist/presentation/features/molecules/FeatureCard/index.js +101 -101
- package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
- package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
- package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
- package/dist/presentation/features/molecules/FeatureFilters/index.js +23 -23
- package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
- package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
- package/dist/presentation/features/molecules/index.js +139 -139
- package/dist/presentation/features/organisms/FeatureDataViewsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
- package/dist/presentation/features/organisms/FeatureDetail/index.js +57 -57
- package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
- package/dist/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
- package/dist/presentation/features/organisms/FeatureEventsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureFormsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureOperationsList.js +7 -7
- package/dist/presentation/features/organisms/FeaturePresentationsList.js +7 -7
- package/dist/presentation/features/organisms/index.js +275 -275
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
- package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
- package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
- package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
- package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
- package/package.json +71 -22
- package/src/bundles/LibraryBundle.ts +152 -0
- package/src/bundles/index.ts +1 -0
- package/src/components/shell/WorkspaceShellRenderer.tsx +90 -0
- package/src/components/shell/index.ts +1 -0
|
@@ -288,7 +288,7 @@ import {
|
|
|
288
288
|
Workflow
|
|
289
289
|
} from "lucide-react";
|
|
290
290
|
import { cn } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
291
|
-
import {
|
|
291
|
+
import { jsx } from "react/jsx-runtime";
|
|
292
292
|
"use client";
|
|
293
293
|
var domainIconMap = {
|
|
294
294
|
platform: Settings,
|
|
@@ -358,9 +358,9 @@ function FeatureIcon({
|
|
|
358
358
|
danger: "text-red-600 dark:text-red-400",
|
|
359
359
|
primary: "text-primary"
|
|
360
360
|
};
|
|
361
|
-
return /* @__PURE__ */
|
|
361
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
362
362
|
className: cn(sizeClasses[size], toneClasses[tone], className)
|
|
363
|
-
}
|
|
363
|
+
});
|
|
364
364
|
}
|
|
365
365
|
function getFeatureIconTone(stability) {
|
|
366
366
|
if (!stability)
|
|
@@ -522,172 +522,172 @@ import {
|
|
|
522
522
|
Users,
|
|
523
523
|
Zap
|
|
524
524
|
} from "lucide-react";
|
|
525
|
-
import {
|
|
525
|
+
import { jsx as jsx2, jsxs, Fragment } from "react/jsx-runtime";
|
|
526
526
|
"use client";
|
|
527
527
|
function FeatureHoverPreview({ feature }) {
|
|
528
528
|
const { meta, operations, events, presentations, capabilities } = feature;
|
|
529
529
|
const hasCapabilities = capabilities?.provides?.length || capabilities?.requires?.length;
|
|
530
|
-
return /* @__PURE__ */
|
|
530
|
+
return /* @__PURE__ */ jsxs(Fragment, {
|
|
531
531
|
children: [
|
|
532
|
-
meta.description && /* @__PURE__ */
|
|
532
|
+
meta.description && /* @__PURE__ */ jsx2("p", {
|
|
533
533
|
className: "text-muted-foreground text-sm leading-relaxed",
|
|
534
534
|
children: meta.description
|
|
535
|
-
}
|
|
536
|
-
/* @__PURE__ */
|
|
535
|
+
}),
|
|
536
|
+
/* @__PURE__ */ jsxs(HStack, {
|
|
537
537
|
gap: "md",
|
|
538
538
|
className: "py-2",
|
|
539
539
|
children: [
|
|
540
|
-
operations?.length ? /* @__PURE__ */
|
|
540
|
+
operations?.length ? /* @__PURE__ */ jsxs("div", {
|
|
541
541
|
className: "flex items-center gap-1.5 text-sm",
|
|
542
542
|
children: [
|
|
543
|
-
/* @__PURE__ */
|
|
543
|
+
/* @__PURE__ */ jsx2(Zap, {
|
|
544
544
|
className: "h-4 w-4 text-amber-500"
|
|
545
|
-
}
|
|
546
|
-
/* @__PURE__ */
|
|
545
|
+
}),
|
|
546
|
+
/* @__PURE__ */ jsx2("span", {
|
|
547
547
|
className: "font-medium",
|
|
548
548
|
children: operations.length
|
|
549
|
-
}
|
|
550
|
-
/* @__PURE__ */
|
|
549
|
+
}),
|
|
550
|
+
/* @__PURE__ */ jsx2("span", {
|
|
551
551
|
className: "text-muted-foreground",
|
|
552
552
|
children: "ops"
|
|
553
|
-
}
|
|
553
|
+
})
|
|
554
554
|
]
|
|
555
|
-
}
|
|
556
|
-
events?.length ? /* @__PURE__ */
|
|
555
|
+
}) : null,
|
|
556
|
+
events?.length ? /* @__PURE__ */ jsxs("div", {
|
|
557
557
|
className: "flex items-center gap-1.5 text-sm",
|
|
558
558
|
children: [
|
|
559
|
-
/* @__PURE__ */
|
|
559
|
+
/* @__PURE__ */ jsx2(Radio, {
|
|
560
560
|
className: "h-4 w-4 text-blue-500"
|
|
561
|
-
}
|
|
562
|
-
/* @__PURE__ */
|
|
561
|
+
}),
|
|
562
|
+
/* @__PURE__ */ jsx2("span", {
|
|
563
563
|
className: "font-medium",
|
|
564
564
|
children: events.length
|
|
565
|
-
}
|
|
566
|
-
/* @__PURE__ */
|
|
565
|
+
}),
|
|
566
|
+
/* @__PURE__ */ jsx2("span", {
|
|
567
567
|
className: "text-muted-foreground",
|
|
568
568
|
children: "events"
|
|
569
|
-
}
|
|
569
|
+
})
|
|
570
570
|
]
|
|
571
|
-
}
|
|
572
|
-
presentations?.length ? /* @__PURE__ */
|
|
571
|
+
}) : null,
|
|
572
|
+
presentations?.length ? /* @__PURE__ */ jsxs("div", {
|
|
573
573
|
className: "flex items-center gap-1.5 text-sm",
|
|
574
574
|
children: [
|
|
575
|
-
/* @__PURE__ */
|
|
575
|
+
/* @__PURE__ */ jsx2(Layout2, {
|
|
576
576
|
className: "h-4 w-4 text-purple-500"
|
|
577
|
-
}
|
|
578
|
-
/* @__PURE__ */
|
|
577
|
+
}),
|
|
578
|
+
/* @__PURE__ */ jsx2("span", {
|
|
579
579
|
className: "font-medium",
|
|
580
580
|
children: presentations.length
|
|
581
|
-
}
|
|
582
|
-
/* @__PURE__ */
|
|
581
|
+
}),
|
|
582
|
+
/* @__PURE__ */ jsx2("span", {
|
|
583
583
|
className: "text-muted-foreground",
|
|
584
584
|
children: "views"
|
|
585
|
-
}
|
|
585
|
+
})
|
|
586
586
|
]
|
|
587
|
-
}
|
|
587
|
+
}) : null
|
|
588
588
|
]
|
|
589
|
-
}
|
|
590
|
-
hasCapabilities && /* @__PURE__ */
|
|
589
|
+
}),
|
|
590
|
+
hasCapabilities && /* @__PURE__ */ jsxs("div", {
|
|
591
591
|
className: "border-border/50 space-y-1.5 border-t pt-1",
|
|
592
592
|
children: [
|
|
593
|
-
capabilities?.provides?.length ? /* @__PURE__ */
|
|
593
|
+
capabilities?.provides?.length ? /* @__PURE__ */ jsxs(HStack, {
|
|
594
594
|
gap: "xs",
|
|
595
595
|
wrap: "wrap",
|
|
596
596
|
className: "items-start",
|
|
597
597
|
children: [
|
|
598
|
-
/* @__PURE__ */
|
|
598
|
+
/* @__PURE__ */ jsx2(Shield2, {
|
|
599
599
|
className: "mt-0.5 h-3.5 w-3.5 text-emerald-500"
|
|
600
|
-
}
|
|
601
|
-
/* @__PURE__ */
|
|
600
|
+
}),
|
|
601
|
+
/* @__PURE__ */ jsx2("span", {
|
|
602
602
|
className: "text-muted-foreground text-xs",
|
|
603
603
|
children: "Provides:"
|
|
604
|
-
}
|
|
605
|
-
capabilities.provides.slice(0, 2).map((cap) => /* @__PURE__ */
|
|
604
|
+
}),
|
|
605
|
+
capabilities.provides.slice(0, 2).map((cap) => /* @__PURE__ */ jsx2(StatusChip, {
|
|
606
606
|
tone: "success",
|
|
607
607
|
label: cap.key,
|
|
608
608
|
size: "sm"
|
|
609
|
-
}, cap.key
|
|
610
|
-
capabilities.provides.length > 2 && /* @__PURE__ */
|
|
609
|
+
}, cap.key)),
|
|
610
|
+
capabilities.provides.length > 2 && /* @__PURE__ */ jsxs("span", {
|
|
611
611
|
className: "text-muted-foreground text-xs",
|
|
612
612
|
children: [
|
|
613
613
|
"+",
|
|
614
614
|
capabilities.provides.length - 2
|
|
615
615
|
]
|
|
616
|
-
}
|
|
616
|
+
})
|
|
617
617
|
]
|
|
618
|
-
}
|
|
619
|
-
capabilities?.requires?.length ? /* @__PURE__ */
|
|
618
|
+
}) : null,
|
|
619
|
+
capabilities?.requires?.length ? /* @__PURE__ */ jsxs(HStack, {
|
|
620
620
|
gap: "xs",
|
|
621
621
|
wrap: "wrap",
|
|
622
622
|
className: "items-start",
|
|
623
623
|
children: [
|
|
624
|
-
/* @__PURE__ */
|
|
624
|
+
/* @__PURE__ */ jsx2(ArrowRight, {
|
|
625
625
|
className: "mt-0.5 h-3.5 w-3.5 text-blue-500"
|
|
626
|
-
}
|
|
627
|
-
/* @__PURE__ */
|
|
626
|
+
}),
|
|
627
|
+
/* @__PURE__ */ jsx2("span", {
|
|
628
628
|
className: "text-muted-foreground text-xs",
|
|
629
629
|
children: "Requires:"
|
|
630
|
-
}
|
|
631
|
-
capabilities.requires.slice(0, 2).map((req) => /* @__PURE__ */
|
|
630
|
+
}),
|
|
631
|
+
capabilities.requires.slice(0, 2).map((req) => /* @__PURE__ */ jsx2(StatusChip, {
|
|
632
632
|
tone: "info",
|
|
633
633
|
label: req.key,
|
|
634
634
|
size: "sm"
|
|
635
|
-
}, req.key
|
|
636
|
-
capabilities.requires.length > 2 && /* @__PURE__ */
|
|
635
|
+
}, req.key)),
|
|
636
|
+
capabilities.requires.length > 2 && /* @__PURE__ */ jsxs("span", {
|
|
637
637
|
className: "text-muted-foreground text-xs",
|
|
638
638
|
children: [
|
|
639
639
|
"+",
|
|
640
640
|
capabilities.requires.length - 2
|
|
641
641
|
]
|
|
642
|
-
}
|
|
642
|
+
})
|
|
643
643
|
]
|
|
644
|
-
}
|
|
644
|
+
}) : null
|
|
645
645
|
]
|
|
646
|
-
}
|
|
647
|
-
meta.tags?.length ? /* @__PURE__ */
|
|
646
|
+
}),
|
|
647
|
+
meta.tags?.length ? /* @__PURE__ */ jsxs(HStack, {
|
|
648
648
|
gap: "xs",
|
|
649
649
|
wrap: "wrap",
|
|
650
650
|
className: "border-border/50 items-center border-t pt-1",
|
|
651
651
|
children: [
|
|
652
|
-
/* @__PURE__ */
|
|
652
|
+
/* @__PURE__ */ jsx2(Tag, {
|
|
653
653
|
className: "text-muted-foreground h-3.5 w-3.5"
|
|
654
|
-
}
|
|
655
|
-
meta.tags.slice(0, 4).map((tag) => /* @__PURE__ */
|
|
654
|
+
}),
|
|
655
|
+
meta.tags.slice(0, 4).map((tag) => /* @__PURE__ */ jsxs("span", {
|
|
656
656
|
className: "bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-xs",
|
|
657
657
|
children: [
|
|
658
658
|
"#",
|
|
659
659
|
tag
|
|
660
660
|
]
|
|
661
|
-
}, tag
|
|
662
|
-
meta.tags.length > 4 && /* @__PURE__ */
|
|
661
|
+
}, tag)),
|
|
662
|
+
meta.tags.length > 4 && /* @__PURE__ */ jsxs("span", {
|
|
663
663
|
className: "text-muted-foreground text-xs",
|
|
664
664
|
children: [
|
|
665
665
|
"+",
|
|
666
666
|
meta.tags.length - 4
|
|
667
667
|
]
|
|
668
|
-
}
|
|
668
|
+
})
|
|
669
669
|
]
|
|
670
|
-
}
|
|
671
|
-
meta.owners?.length ? /* @__PURE__ */
|
|
670
|
+
}) : null,
|
|
671
|
+
meta.owners?.length ? /* @__PURE__ */ jsxs(HStack, {
|
|
672
672
|
gap: "xs",
|
|
673
673
|
className: "text-muted-foreground items-center text-xs",
|
|
674
674
|
children: [
|
|
675
|
-
/* @__PURE__ */
|
|
675
|
+
/* @__PURE__ */ jsx2(Users, {
|
|
676
676
|
className: "h-3.5 w-3.5"
|
|
677
|
-
}
|
|
678
|
-
/* @__PURE__ */
|
|
677
|
+
}),
|
|
678
|
+
/* @__PURE__ */ jsx2("span", {
|
|
679
679
|
children: meta.owners.join(", ")
|
|
680
|
-
}
|
|
680
|
+
})
|
|
681
681
|
]
|
|
682
|
-
}
|
|
682
|
+
}) : null
|
|
683
683
|
]
|
|
684
|
-
}
|
|
684
|
+
});
|
|
685
685
|
}
|
|
686
686
|
// src/presentation/features/molecules/FeatureCard/FeatureCard.tsx
|
|
687
687
|
import { EntityCard, StatusChip as StatusChip2 } from "@contractspec/lib.design-system";
|
|
688
688
|
import { HStack as HStack2 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
689
689
|
import { Zap as Zap2, Radio as Radio2, Layout as Layout3, Shield as Shield3 } from "lucide-react";
|
|
690
|
-
import {
|
|
690
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
691
691
|
"use client";
|
|
692
692
|
var stabilityTone = {
|
|
693
693
|
stable: "success",
|
|
@@ -706,85 +706,85 @@ function FeatureCard({
|
|
|
706
706
|
const emphasis = meta.stability === "stable" ? "strong" : "default";
|
|
707
707
|
const handleClick = onSelect ? () => onSelect(feature) : undefined;
|
|
708
708
|
const hasCapabilities = capabilities?.provides?.length || capabilities?.requires?.length;
|
|
709
|
-
return /* @__PURE__ */
|
|
709
|
+
return /* @__PURE__ */ jsx3(EntityCard, {
|
|
710
710
|
cardTitle: meta.title,
|
|
711
711
|
cardSubtitle: meta.key,
|
|
712
712
|
className,
|
|
713
713
|
onClick: handleClick,
|
|
714
714
|
emphasis,
|
|
715
|
-
icon: /* @__PURE__ */
|
|
715
|
+
icon: /* @__PURE__ */ jsx3(FeatureIcon, {
|
|
716
716
|
domain: meta.domain,
|
|
717
717
|
tags: meta.tags,
|
|
718
718
|
stability: meta.stability,
|
|
719
719
|
size: "md"
|
|
720
|
-
}
|
|
720
|
+
}),
|
|
721
721
|
iconTone,
|
|
722
|
-
chips: /* @__PURE__ */
|
|
722
|
+
chips: /* @__PURE__ */ jsx3(StatusChip2, {
|
|
723
723
|
tone,
|
|
724
724
|
label: meta.stability ?? "unknown",
|
|
725
725
|
size: "sm"
|
|
726
|
-
}
|
|
727
|
-
meta: meta.description ? /* @__PURE__ */
|
|
726
|
+
}),
|
|
727
|
+
meta: meta.description ? /* @__PURE__ */ jsx3("span", {
|
|
728
728
|
className: "text-muted-foreground line-clamp-2 text-sm",
|
|
729
729
|
children: meta.description
|
|
730
|
-
}
|
|
731
|
-
preview: /* @__PURE__ */
|
|
730
|
+
}) : undefined,
|
|
731
|
+
preview: /* @__PURE__ */ jsx3(FeatureHoverPreview, {
|
|
732
732
|
feature
|
|
733
|
-
}
|
|
734
|
-
footer: /* @__PURE__ */
|
|
733
|
+
}),
|
|
734
|
+
footer: /* @__PURE__ */ jsxs2(HStack2, {
|
|
735
735
|
gap: "md",
|
|
736
736
|
className: "text-muted-foreground w-full justify-between text-xs",
|
|
737
737
|
children: [
|
|
738
|
-
/* @__PURE__ */
|
|
738
|
+
/* @__PURE__ */ jsxs2(HStack2, {
|
|
739
739
|
gap: "sm",
|
|
740
740
|
children: [
|
|
741
|
-
operations?.length ? /* @__PURE__ */
|
|
741
|
+
operations?.length ? /* @__PURE__ */ jsxs2("span", {
|
|
742
742
|
className: "flex items-center gap-1",
|
|
743
743
|
children: [
|
|
744
|
-
/* @__PURE__ */
|
|
744
|
+
/* @__PURE__ */ jsx3(Zap2, {
|
|
745
745
|
className: "h-3 w-3 text-amber-500"
|
|
746
|
-
}
|
|
746
|
+
}),
|
|
747
747
|
operations.length
|
|
748
748
|
]
|
|
749
|
-
}
|
|
750
|
-
events?.length ? /* @__PURE__ */
|
|
749
|
+
}) : null,
|
|
750
|
+
events?.length ? /* @__PURE__ */ jsxs2("span", {
|
|
751
751
|
className: "flex items-center gap-1",
|
|
752
752
|
children: [
|
|
753
|
-
/* @__PURE__ */
|
|
753
|
+
/* @__PURE__ */ jsx3(Radio2, {
|
|
754
754
|
className: "h-3 w-3 text-blue-500"
|
|
755
|
-
}
|
|
755
|
+
}),
|
|
756
756
|
events.length
|
|
757
757
|
]
|
|
758
|
-
}
|
|
759
|
-
presentations?.length ? /* @__PURE__ */
|
|
758
|
+
}) : null,
|
|
759
|
+
presentations?.length ? /* @__PURE__ */ jsxs2("span", {
|
|
760
760
|
className: "flex items-center gap-1",
|
|
761
761
|
children: [
|
|
762
|
-
/* @__PURE__ */
|
|
762
|
+
/* @__PURE__ */ jsx3(Layout3, {
|
|
763
763
|
className: "h-3 w-3 text-purple-500"
|
|
764
|
-
}
|
|
764
|
+
}),
|
|
765
765
|
presentations.length
|
|
766
766
|
]
|
|
767
|
-
}
|
|
767
|
+
}) : null
|
|
768
768
|
]
|
|
769
|
-
}
|
|
770
|
-
hasCapabilities && /* @__PURE__ */
|
|
769
|
+
}),
|
|
770
|
+
hasCapabilities && /* @__PURE__ */ jsxs2("span", {
|
|
771
771
|
className: "flex items-center gap-1",
|
|
772
772
|
children: [
|
|
773
|
-
/* @__PURE__ */
|
|
773
|
+
/* @__PURE__ */ jsx3(Shield3, {
|
|
774
774
|
className: "h-3 w-3 text-emerald-500"
|
|
775
|
-
}
|
|
775
|
+
}),
|
|
776
776
|
(capabilities?.provides?.length ?? 0) + (capabilities?.requires?.length ?? 0)
|
|
777
777
|
]
|
|
778
|
-
}
|
|
778
|
+
})
|
|
779
779
|
]
|
|
780
|
-
}
|
|
781
|
-
}
|
|
780
|
+
})
|
|
781
|
+
});
|
|
782
782
|
}
|
|
783
783
|
// src/presentation/features/molecules/FeatureFilters/FeatureFilters.tsx
|
|
784
784
|
import { Button, Input } from "@contractspec/lib.design-system";
|
|
785
785
|
import { VStack, HStack as HStack3 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
786
786
|
import { cn as cn2 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
787
|
-
import {
|
|
787
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
788
788
|
"use client";
|
|
789
789
|
function FeatureFiltersBar({
|
|
790
790
|
uniqueTags,
|
|
@@ -797,56 +797,56 @@ function FeatureFiltersBar({
|
|
|
797
797
|
hasActiveFilters,
|
|
798
798
|
className
|
|
799
799
|
}) {
|
|
800
|
-
return /* @__PURE__ */
|
|
800
|
+
return /* @__PURE__ */ jsxs3(VStack, {
|
|
801
801
|
gap: "md",
|
|
802
802
|
className: cn2("w-full", className),
|
|
803
803
|
children: [
|
|
804
|
-
/* @__PURE__ */
|
|
804
|
+
/* @__PURE__ */ jsxs3(HStack3, {
|
|
805
805
|
gap: "md",
|
|
806
806
|
justify: "between",
|
|
807
807
|
className: "w-full",
|
|
808
808
|
children: [
|
|
809
|
-
/* @__PURE__ */
|
|
809
|
+
/* @__PURE__ */ jsx4(Input, {
|
|
810
810
|
placeholder: "Search features...",
|
|
811
811
|
value: filters.search,
|
|
812
812
|
onChange: (e) => setSearch(e.target.value),
|
|
813
813
|
className: "max-w-md",
|
|
814
814
|
"aria-label": "Search features"
|
|
815
|
-
}
|
|
816
|
-
hasActiveFilters && /* @__PURE__ */
|
|
815
|
+
}),
|
|
816
|
+
hasActiveFilters && /* @__PURE__ */ jsx4(Button, {
|
|
817
817
|
variant: "ghost",
|
|
818
818
|
size: "sm",
|
|
819
819
|
onClick: clearFilters,
|
|
820
820
|
children: "Clear filters"
|
|
821
|
-
}
|
|
821
|
+
})
|
|
822
822
|
]
|
|
823
|
-
}
|
|
824
|
-
uniqueStabilities.length > 0 && /* @__PURE__ */
|
|
823
|
+
}),
|
|
824
|
+
uniqueStabilities.length > 0 && /* @__PURE__ */ jsxs3(HStack3, {
|
|
825
825
|
gap: "xs",
|
|
826
826
|
wrap: "wrap",
|
|
827
827
|
children: [
|
|
828
|
-
/* @__PURE__ */
|
|
828
|
+
/* @__PURE__ */ jsx4("span", {
|
|
829
829
|
className: "text-muted-foreground text-sm",
|
|
830
830
|
children: "Stability:"
|
|
831
|
-
}
|
|
832
|
-
uniqueStabilities.map((stability) => /* @__PURE__ */
|
|
831
|
+
}),
|
|
832
|
+
uniqueStabilities.map((stability) => /* @__PURE__ */ jsx4(Button, {
|
|
833
833
|
variant: filters.stability.includes(stability) ? "default" : "outline",
|
|
834
834
|
size: "sm",
|
|
835
835
|
onClick: () => toggleStability(stability),
|
|
836
836
|
"aria-pressed": filters.stability.includes(stability),
|
|
837
837
|
children: stability
|
|
838
|
-
}, stability
|
|
838
|
+
}, stability))
|
|
839
839
|
]
|
|
840
|
-
}
|
|
841
|
-
uniqueTags.length > 0 && /* @__PURE__ */
|
|
840
|
+
}),
|
|
841
|
+
uniqueTags.length > 0 && /* @__PURE__ */ jsxs3(HStack3, {
|
|
842
842
|
gap: "xs",
|
|
843
843
|
wrap: "wrap",
|
|
844
844
|
children: [
|
|
845
|
-
/* @__PURE__ */
|
|
845
|
+
/* @__PURE__ */ jsx4("span", {
|
|
846
846
|
className: "text-muted-foreground text-sm",
|
|
847
847
|
children: "Tags:"
|
|
848
|
-
}
|
|
849
|
-
uniqueTags.slice(0, 10).map((tag) => /* @__PURE__ */
|
|
848
|
+
}),
|
|
849
|
+
uniqueTags.slice(0, 10).map((tag) => /* @__PURE__ */ jsxs3(Button, {
|
|
850
850
|
variant: filters.tags.includes(tag) ? "default" : "outline",
|
|
851
851
|
size: "sm",
|
|
852
852
|
onClick: () => toggleTag(tag),
|
|
@@ -855,26 +855,26 @@ function FeatureFiltersBar({
|
|
|
855
855
|
"#",
|
|
856
856
|
tag
|
|
857
857
|
]
|
|
858
|
-
}, tag
|
|
859
|
-
uniqueTags.length > 10 && /* @__PURE__ */
|
|
858
|
+
}, tag)),
|
|
859
|
+
uniqueTags.length > 10 && /* @__PURE__ */ jsxs3("span", {
|
|
860
860
|
className: "text-muted-foreground text-sm",
|
|
861
861
|
children: [
|
|
862
862
|
"+",
|
|
863
863
|
uniqueTags.length - 10,
|
|
864
864
|
" more"
|
|
865
865
|
]
|
|
866
|
-
}
|
|
866
|
+
})
|
|
867
867
|
]
|
|
868
|
-
}
|
|
868
|
+
})
|
|
869
869
|
]
|
|
870
|
-
}
|
|
870
|
+
});
|
|
871
871
|
}
|
|
872
872
|
// src/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.tsx
|
|
873
873
|
import { cn as cn3 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
874
874
|
import { ChevronDown, Boxes as Boxes2 } from "lucide-react";
|
|
875
875
|
import { HStack as HStack4 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
876
876
|
import { StatusChip as StatusChip3 } from "@contractspec/lib.design-system";
|
|
877
|
-
import {
|
|
877
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
878
878
|
"use client";
|
|
879
879
|
function FeatureCategoryHeader({
|
|
880
880
|
title,
|
|
@@ -884,37 +884,37 @@ function FeatureCategoryHeader({
|
|
|
884
884
|
onToggle,
|
|
885
885
|
className
|
|
886
886
|
}) {
|
|
887
|
-
return /* @__PURE__ */
|
|
887
|
+
return /* @__PURE__ */ jsxs4("button", {
|
|
888
888
|
type: "button",
|
|
889
889
|
onClick: onToggle,
|
|
890
890
|
className: cn3("flex w-full items-center justify-between rounded-lg px-4 py-3", "bg-muted/30 hover:bg-muted/50 transition-colors", "group cursor-pointer", className),
|
|
891
891
|
children: [
|
|
892
|
-
/* @__PURE__ */
|
|
892
|
+
/* @__PURE__ */ jsxs4(HStack4, {
|
|
893
893
|
gap: "sm",
|
|
894
894
|
className: "items-center",
|
|
895
895
|
children: [
|
|
896
|
-
/* @__PURE__ */
|
|
896
|
+
/* @__PURE__ */ jsx5("div", {
|
|
897
897
|
className: "text-muted-foreground group-hover:text-foreground transition-colors",
|
|
898
|
-
children: icon || /* @__PURE__ */
|
|
898
|
+
children: icon || /* @__PURE__ */ jsx5(Boxes2, {
|
|
899
899
|
className: "h-5 w-5"
|
|
900
|
-
}
|
|
901
|
-
}
|
|
902
|
-
/* @__PURE__ */
|
|
900
|
+
})
|
|
901
|
+
}),
|
|
902
|
+
/* @__PURE__ */ jsx5("span", {
|
|
903
903
|
className: "group-hover:text-primary text-lg font-semibold capitalize transition-colors",
|
|
904
904
|
children: title
|
|
905
|
-
}
|
|
906
|
-
/* @__PURE__ */
|
|
905
|
+
}),
|
|
906
|
+
/* @__PURE__ */ jsx5(StatusChip3, {
|
|
907
907
|
tone: "neutral",
|
|
908
908
|
label: `${count} ${count === 1 ? "feature" : "features"}`,
|
|
909
909
|
size: "sm"
|
|
910
|
-
}
|
|
910
|
+
})
|
|
911
911
|
]
|
|
912
|
-
}
|
|
913
|
-
/* @__PURE__ */
|
|
912
|
+
}),
|
|
913
|
+
/* @__PURE__ */ jsx5(ChevronDown, {
|
|
914
914
|
className: cn3("text-muted-foreground h-5 w-5 transition-transform duration-200", isCollapsed && "-rotate-90")
|
|
915
|
-
}
|
|
915
|
+
})
|
|
916
916
|
]
|
|
917
|
-
}
|
|
917
|
+
});
|
|
918
918
|
}
|
|
919
919
|
// src/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.tsx
|
|
920
920
|
import * as React2 from "react";
|
|
@@ -927,7 +927,7 @@ import {
|
|
|
927
927
|
import { VStack as VStack2, HStack as HStack5 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
928
928
|
import { cn as cn4 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
929
929
|
import { LayoutGrid, List, Star } from "lucide-react";
|
|
930
|
-
import {
|
|
930
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
931
931
|
"use client";
|
|
932
932
|
function groupFeaturesByDomain(features) {
|
|
933
933
|
const groups = {};
|
|
@@ -997,50 +997,50 @@ function FeatureDiscovery({
|
|
|
997
997
|
});
|
|
998
998
|
};
|
|
999
999
|
const gridClasses = viewMode === "grid" ? "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3" : "flex flex-col gap-3";
|
|
1000
|
-
const renderFeatureCards = (featureList) => /* @__PURE__ */
|
|
1000
|
+
const renderFeatureCards = (featureList) => /* @__PURE__ */ jsx6("div", {
|
|
1001
1001
|
className: gridClasses,
|
|
1002
|
-
children: featureList.map((feature) => /* @__PURE__ */
|
|
1002
|
+
children: featureList.map((feature) => /* @__PURE__ */ jsx6(FeatureCard, {
|
|
1003
1003
|
feature,
|
|
1004
1004
|
onSelect: onSelectFeature
|
|
1005
|
-
}, feature.meta.key
|
|
1006
|
-
}
|
|
1007
|
-
return /* @__PURE__ */
|
|
1005
|
+
}, feature.meta.key))
|
|
1006
|
+
});
|
|
1007
|
+
return /* @__PURE__ */ jsxs5(VStack2, {
|
|
1008
1008
|
gap: "lg",
|
|
1009
1009
|
className: cn4("w-full p-6", className),
|
|
1010
1010
|
children: [
|
|
1011
|
-
/* @__PURE__ */
|
|
1011
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
1012
1012
|
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
1013
1013
|
children: [
|
|
1014
|
-
/* @__PURE__ */
|
|
1014
|
+
/* @__PURE__ */ jsx6(PageHeaderResponsive, {
|
|
1015
1015
|
title: "Feature Discovery",
|
|
1016
1016
|
subtitle: `Browse ${features.length} available ContractSpec features`
|
|
1017
|
-
}
|
|
1018
|
-
/* @__PURE__ */
|
|
1017
|
+
}),
|
|
1018
|
+
/* @__PURE__ */ jsxs5(HStack5, {
|
|
1019
1019
|
gap: "xs",
|
|
1020
1020
|
children: [
|
|
1021
|
-
/* @__PURE__ */
|
|
1021
|
+
/* @__PURE__ */ jsx6("button", {
|
|
1022
1022
|
type: "button",
|
|
1023
1023
|
onClick: () => setViewMode("grid"),
|
|
1024
1024
|
className: cn4("rounded-md p-2 transition-colors", viewMode === "grid" ? "bg-primary text-primary-foreground" : "bg-muted hover:bg-muted/80 text-muted-foreground"),
|
|
1025
1025
|
"aria-label": "Grid view",
|
|
1026
|
-
children: /* @__PURE__ */
|
|
1026
|
+
children: /* @__PURE__ */ jsx6(LayoutGrid, {
|
|
1027
1027
|
className: "h-4 w-4"
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1030
|
-
/* @__PURE__ */
|
|
1028
|
+
})
|
|
1029
|
+
}),
|
|
1030
|
+
/* @__PURE__ */ jsx6("button", {
|
|
1031
1031
|
type: "button",
|
|
1032
1032
|
onClick: () => setViewMode("list"),
|
|
1033
1033
|
className: cn4("rounded-md p-2 transition-colors", viewMode === "list" ? "bg-primary text-primary-foreground" : "bg-muted hover:bg-muted/80 text-muted-foreground"),
|
|
1034
1034
|
"aria-label": "List view",
|
|
1035
|
-
children: /* @__PURE__ */
|
|
1035
|
+
children: /* @__PURE__ */ jsx6(List, {
|
|
1036
1036
|
className: "h-4 w-4"
|
|
1037
|
-
}
|
|
1038
|
-
}
|
|
1037
|
+
})
|
|
1038
|
+
})
|
|
1039
1039
|
]
|
|
1040
|
-
}
|
|
1040
|
+
})
|
|
1041
1041
|
]
|
|
1042
|
-
}
|
|
1043
|
-
/* @__PURE__ */
|
|
1042
|
+
}),
|
|
1043
|
+
/* @__PURE__ */ jsx6(FeatureFiltersBar, {
|
|
1044
1044
|
uniqueTags,
|
|
1045
1045
|
uniqueStabilities,
|
|
1046
1046
|
filters,
|
|
@@ -1049,61 +1049,61 @@ function FeatureDiscovery({
|
|
|
1049
1049
|
toggleStability,
|
|
1050
1050
|
clearFilters,
|
|
1051
1051
|
hasActiveFilters
|
|
1052
|
-
}
|
|
1053
|
-
filteredFeatures.length === 0 ? /* @__PURE__ */
|
|
1052
|
+
}),
|
|
1053
|
+
filteredFeatures.length === 0 ? /* @__PURE__ */ jsx6(EmptyState, {
|
|
1054
1054
|
title: "No features found",
|
|
1055
1055
|
description: hasActiveFilters ? "Try adjusting your search or filters" : "No features are registered yet",
|
|
1056
|
-
primaryAction: hasActiveFilters ? /* @__PURE__ */
|
|
1056
|
+
primaryAction: hasActiveFilters ? /* @__PURE__ */ jsx6(Button2, {
|
|
1057
1057
|
variant: "outline",
|
|
1058
1058
|
onClick: clearFilters,
|
|
1059
1059
|
children: "Clear filters"
|
|
1060
|
-
}
|
|
1061
|
-
}
|
|
1060
|
+
}) : undefined
|
|
1061
|
+
}) : /* @__PURE__ */ jsxs5(VStack2, {
|
|
1062
1062
|
gap: "lg",
|
|
1063
1063
|
children: [
|
|
1064
|
-
showFeatured && featuredFeatures.length > 0 && /* @__PURE__ */
|
|
1064
|
+
showFeatured && featuredFeatures.length > 0 && /* @__PURE__ */ jsxs5(VStack2, {
|
|
1065
1065
|
gap: "sm",
|
|
1066
1066
|
children: [
|
|
1067
|
-
/* @__PURE__ */
|
|
1067
|
+
/* @__PURE__ */ jsxs5(HStack5, {
|
|
1068
1068
|
gap: "sm",
|
|
1069
1069
|
className: "items-center",
|
|
1070
1070
|
children: [
|
|
1071
|
-
/* @__PURE__ */
|
|
1071
|
+
/* @__PURE__ */ jsx6(Star, {
|
|
1072
1072
|
className: "h-5 w-5 fill-amber-500 text-amber-500"
|
|
1073
|
-
}
|
|
1074
|
-
/* @__PURE__ */
|
|
1073
|
+
}),
|
|
1074
|
+
/* @__PURE__ */ jsx6("span", {
|
|
1075
1075
|
className: "text-lg font-semibold",
|
|
1076
1076
|
children: "Featured"
|
|
1077
|
-
}
|
|
1078
|
-
/* @__PURE__ */
|
|
1077
|
+
}),
|
|
1078
|
+
/* @__PURE__ */ jsx6(StatusChip4, {
|
|
1079
1079
|
tone: "success",
|
|
1080
1080
|
label: `${featuredFeatures.length} stable`,
|
|
1081
1081
|
size: "sm"
|
|
1082
|
-
}
|
|
1082
|
+
})
|
|
1083
1083
|
]
|
|
1084
|
-
}
|
|
1084
|
+
}),
|
|
1085
1085
|
renderFeatureCards(featuredFeatures)
|
|
1086
1086
|
]
|
|
1087
|
-
}
|
|
1088
|
-
groupedFeatures ? /* @__PURE__ */
|
|
1087
|
+
}),
|
|
1088
|
+
groupedFeatures ? /* @__PURE__ */ jsx6(VStack2, {
|
|
1089
1089
|
gap: "md",
|
|
1090
|
-
children: Object.entries(groupedFeatures).map(([group, groupFeatures]) => /* @__PURE__ */
|
|
1090
|
+
children: Object.entries(groupedFeatures).map(([group, groupFeatures]) => /* @__PURE__ */ jsxs5(VStack2, {
|
|
1091
1091
|
gap: "sm",
|
|
1092
1092
|
children: [
|
|
1093
|
-
/* @__PURE__ */
|
|
1093
|
+
/* @__PURE__ */ jsx6(FeatureCategoryHeader, {
|
|
1094
1094
|
title: group,
|
|
1095
1095
|
count: groupFeatures.length,
|
|
1096
1096
|
isCollapsed: collapsedGroups.has(group),
|
|
1097
1097
|
onToggle: () => toggleGroup(group)
|
|
1098
|
-
}
|
|
1098
|
+
}),
|
|
1099
1099
|
!collapsedGroups.has(group) && renderFeatureCards(groupFeatures)
|
|
1100
1100
|
]
|
|
1101
|
-
}, group
|
|
1102
|
-
}
|
|
1101
|
+
}, group))
|
|
1102
|
+
}) : renderFeatureCards(nonFeaturedFeatures)
|
|
1103
1103
|
]
|
|
1104
|
-
}
|
|
1104
|
+
})
|
|
1105
1105
|
]
|
|
1106
|
-
}
|
|
1106
|
+
});
|
|
1107
1107
|
}
|
|
1108
1108
|
// src/presentation/features/organisms/FeatureDetail/FeatureDetail.tsx
|
|
1109
1109
|
import {
|
|
@@ -1114,7 +1114,7 @@ import {
|
|
|
1114
1114
|
import { Box, HStack as HStack6, VStack as VStack3 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
1115
1115
|
import { cn as cn5 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1116
1116
|
import Link from "next/link";
|
|
1117
|
-
import {
|
|
1117
|
+
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1118
1118
|
"use client";
|
|
1119
1119
|
var stabilityTone2 = {
|
|
1120
1120
|
stable: "success",
|
|
@@ -1125,266 +1125,266 @@ var stabilityTone2 = {
|
|
|
1125
1125
|
function FeatureDetail({ feature, className }) {
|
|
1126
1126
|
const { meta, operations, events, presentations, capabilities } = feature;
|
|
1127
1127
|
const tone = stabilityTone2[meta.stability] ?? "neutral";
|
|
1128
|
-
return /* @__PURE__ */
|
|
1128
|
+
return /* @__PURE__ */ jsxs6(VStack3, {
|
|
1129
1129
|
gap: "lg",
|
|
1130
1130
|
className: cn5("w-full", className),
|
|
1131
1131
|
children: [
|
|
1132
|
-
/* @__PURE__ */
|
|
1132
|
+
/* @__PURE__ */ jsxs6(HStack6, {
|
|
1133
1133
|
gap: "sm",
|
|
1134
1134
|
children: [
|
|
1135
|
-
/* @__PURE__ */
|
|
1135
|
+
/* @__PURE__ */ jsx7(StatusChip5, {
|
|
1136
1136
|
tone,
|
|
1137
1137
|
label: meta.stability ?? "unknown"
|
|
1138
|
-
}
|
|
1139
|
-
/* @__PURE__ */
|
|
1138
|
+
}),
|
|
1139
|
+
/* @__PURE__ */ jsx7(StatusChip5, {
|
|
1140
1140
|
tone: "neutral",
|
|
1141
1141
|
label: meta.key,
|
|
1142
1142
|
size: "sm"
|
|
1143
|
-
}
|
|
1144
|
-
/* @__PURE__ */
|
|
1143
|
+
}),
|
|
1144
|
+
/* @__PURE__ */ jsx7(StatusChip5, {
|
|
1145
1145
|
tone: "neutral",
|
|
1146
1146
|
label: `v${meta.version}`,
|
|
1147
1147
|
size: "sm"
|
|
1148
|
-
}
|
|
1148
|
+
})
|
|
1149
1149
|
]
|
|
1150
|
-
}
|
|
1151
|
-
/* @__PURE__ */
|
|
1150
|
+
}),
|
|
1151
|
+
/* @__PURE__ */ jsxs6(StatCardGroup, {
|
|
1152
1152
|
children: [
|
|
1153
|
-
/* @__PURE__ */
|
|
1153
|
+
/* @__PURE__ */ jsx7(Link, {
|
|
1154
1154
|
href: `./${feature.meta.key}/operations`,
|
|
1155
|
-
children: /* @__PURE__ */
|
|
1155
|
+
children: /* @__PURE__ */ jsx7(StatCard, {
|
|
1156
1156
|
label: "Operations",
|
|
1157
1157
|
value: operations?.length ?? 0
|
|
1158
|
-
}
|
|
1159
|
-
}
|
|
1160
|
-
/* @__PURE__ */
|
|
1158
|
+
})
|
|
1159
|
+
}),
|
|
1160
|
+
/* @__PURE__ */ jsx7(Link, {
|
|
1161
1161
|
href: `./${feature.meta.key}/events`,
|
|
1162
|
-
children: /* @__PURE__ */
|
|
1162
|
+
children: /* @__PURE__ */ jsx7(StatCard, {
|
|
1163
1163
|
label: "Events",
|
|
1164
1164
|
value: events?.length ?? 0
|
|
1165
|
-
}
|
|
1166
|
-
}
|
|
1167
|
-
/* @__PURE__ */
|
|
1165
|
+
})
|
|
1166
|
+
}),
|
|
1167
|
+
/* @__PURE__ */ jsx7(Link, {
|
|
1168
1168
|
href: `./${feature.meta.key}/presentations`,
|
|
1169
|
-
children: /* @__PURE__ */
|
|
1169
|
+
children: /* @__PURE__ */ jsx7(StatCard, {
|
|
1170
1170
|
label: "Presentations",
|
|
1171
1171
|
value: presentations?.length ?? 0
|
|
1172
|
-
}
|
|
1173
|
-
}
|
|
1172
|
+
})
|
|
1173
|
+
})
|
|
1174
1174
|
]
|
|
1175
|
-
}
|
|
1176
|
-
capabilities?.provides?.length ? /* @__PURE__ */
|
|
1175
|
+
}),
|
|
1176
|
+
capabilities?.provides?.length ? /* @__PURE__ */ jsxs6(Box, {
|
|
1177
1177
|
className: "flex-col rounded-lg border p-4",
|
|
1178
1178
|
gap: "sm",
|
|
1179
1179
|
align: "start",
|
|
1180
1180
|
children: [
|
|
1181
|
-
/* @__PURE__ */
|
|
1181
|
+
/* @__PURE__ */ jsx7("span", {
|
|
1182
1182
|
className: "font-semibold",
|
|
1183
1183
|
children: "Provides Capabilities"
|
|
1184
|
-
}
|
|
1185
|
-
/* @__PURE__ */
|
|
1184
|
+
}),
|
|
1185
|
+
/* @__PURE__ */ jsx7(HStack6, {
|
|
1186
1186
|
gap: "xs",
|
|
1187
1187
|
wrap: "wrap",
|
|
1188
|
-
children: capabilities.provides.map((cap) => /* @__PURE__ */
|
|
1188
|
+
children: capabilities.provides.map((cap) => /* @__PURE__ */ jsx7(StatusChip5, {
|
|
1189
1189
|
tone: "success",
|
|
1190
1190
|
label: `${cap.key} v${cap.version}`,
|
|
1191
1191
|
size: "sm"
|
|
1192
|
-
}, `${cap.key}-${cap.version}
|
|
1193
|
-
}
|
|
1192
|
+
}, `${cap.key}-${cap.version}`))
|
|
1193
|
+
})
|
|
1194
1194
|
]
|
|
1195
|
-
}
|
|
1196
|
-
capabilities?.requires?.length ? /* @__PURE__ */
|
|
1195
|
+
}) : null,
|
|
1196
|
+
capabilities?.requires?.length ? /* @__PURE__ */ jsxs6(Box, {
|
|
1197
1197
|
className: "flex-col rounded-lg border p-4",
|
|
1198
1198
|
gap: "sm",
|
|
1199
1199
|
align: "start",
|
|
1200
1200
|
children: [
|
|
1201
|
-
/* @__PURE__ */
|
|
1201
|
+
/* @__PURE__ */ jsx7("span", {
|
|
1202
1202
|
className: "font-semibold",
|
|
1203
1203
|
children: "Requires Capabilities"
|
|
1204
|
-
}
|
|
1205
|
-
/* @__PURE__ */
|
|
1204
|
+
}),
|
|
1205
|
+
/* @__PURE__ */ jsx7(HStack6, {
|
|
1206
1206
|
gap: "xs",
|
|
1207
1207
|
wrap: "wrap",
|
|
1208
|
-
children: capabilities.requires.map((req) => /* @__PURE__ */
|
|
1208
|
+
children: capabilities.requires.map((req) => /* @__PURE__ */ jsx7(StatusChip5, {
|
|
1209
1209
|
tone: "info",
|
|
1210
1210
|
label: `${req.key}${req.version ? ` v${req.version}` : ""}${req.optional ? " (optional)" : ""}`,
|
|
1211
1211
|
size: "sm"
|
|
1212
|
-
}, req.key
|
|
1213
|
-
}
|
|
1212
|
+
}, req.key))
|
|
1213
|
+
})
|
|
1214
1214
|
]
|
|
1215
|
-
}
|
|
1216
|
-
meta.tags?.length ? /* @__PURE__ */
|
|
1215
|
+
}) : null,
|
|
1216
|
+
meta.tags?.length ? /* @__PURE__ */ jsxs6(Box, {
|
|
1217
1217
|
className: "flex-col rounded-lg border p-4",
|
|
1218
1218
|
gap: "sm",
|
|
1219
1219
|
align: "start",
|
|
1220
1220
|
children: [
|
|
1221
|
-
/* @__PURE__ */
|
|
1221
|
+
/* @__PURE__ */ jsx7("span", {
|
|
1222
1222
|
className: "font-semibold",
|
|
1223
1223
|
children: "Tags"
|
|
1224
|
-
}
|
|
1225
|
-
/* @__PURE__ */
|
|
1224
|
+
}),
|
|
1225
|
+
/* @__PURE__ */ jsx7(HStack6, {
|
|
1226
1226
|
gap: "xs",
|
|
1227
1227
|
wrap: "wrap",
|
|
1228
|
-
children: meta.tags.map((tag) => /* @__PURE__ */
|
|
1228
|
+
children: meta.tags.map((tag) => /* @__PURE__ */ jsx7(StatusChip5, {
|
|
1229
1229
|
tone: "neutral",
|
|
1230
1230
|
label: `#${tag}`,
|
|
1231
1231
|
size: "sm"
|
|
1232
|
-
}, tag
|
|
1233
|
-
}
|
|
1232
|
+
}, tag))
|
|
1233
|
+
})
|
|
1234
1234
|
]
|
|
1235
|
-
}
|
|
1236
|
-
meta.owners?.length ? /* @__PURE__ */
|
|
1235
|
+
}) : null,
|
|
1236
|
+
meta.owners?.length ? /* @__PURE__ */ jsxs6(Box, {
|
|
1237
1237
|
className: "flex-col rounded-lg border p-4",
|
|
1238
1238
|
gap: "sm",
|
|
1239
1239
|
align: "start",
|
|
1240
1240
|
children: [
|
|
1241
|
-
/* @__PURE__ */
|
|
1241
|
+
/* @__PURE__ */ jsx7("span", {
|
|
1242
1242
|
className: "font-semibold",
|
|
1243
1243
|
children: "Owners"
|
|
1244
|
-
}
|
|
1245
|
-
/* @__PURE__ */
|
|
1244
|
+
}),
|
|
1245
|
+
/* @__PURE__ */ jsx7(HStack6, {
|
|
1246
1246
|
gap: "xs",
|
|
1247
1247
|
wrap: "wrap",
|
|
1248
|
-
children: meta.owners.map((owner) => /* @__PURE__ */
|
|
1248
|
+
children: meta.owners.map((owner) => /* @__PURE__ */ jsx7(StatusChip5, {
|
|
1249
1249
|
tone: "neutral",
|
|
1250
1250
|
label: owner,
|
|
1251
1251
|
size: "sm"
|
|
1252
|
-
}, owner
|
|
1253
|
-
}
|
|
1252
|
+
}, owner))
|
|
1253
|
+
})
|
|
1254
1254
|
]
|
|
1255
|
-
}
|
|
1255
|
+
}) : null
|
|
1256
1256
|
]
|
|
1257
|
-
}
|
|
1257
|
+
});
|
|
1258
1258
|
}
|
|
1259
1259
|
// src/presentation/features/organisms/FeatureOperationsList.tsx
|
|
1260
1260
|
import { EntityCard as EntityCard2 } from "@contractspec/lib.design-system";
|
|
1261
1261
|
import { Zap as Zap3 } from "lucide-react";
|
|
1262
|
-
import {
|
|
1262
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
1263
1263
|
"use client";
|
|
1264
1264
|
function FeatureOperationsList({
|
|
1265
1265
|
feature
|
|
1266
1266
|
}) {
|
|
1267
1267
|
if (!feature.operations?.length)
|
|
1268
1268
|
return null;
|
|
1269
|
-
return /* @__PURE__ */
|
|
1269
|
+
return /* @__PURE__ */ jsx8("div", {
|
|
1270
1270
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1271
1271
|
children: feature.operations.map((op) => {
|
|
1272
1272
|
const spec = resolveSerializedOperationSpec(op.key, op.version);
|
|
1273
|
-
return /* @__PURE__ */
|
|
1273
|
+
return /* @__PURE__ */ jsx8(EntityCard2, {
|
|
1274
1274
|
cardTitle: op.key,
|
|
1275
1275
|
cardSubtitle: `v${op.version}`,
|
|
1276
1276
|
footer: spec?.meta.description,
|
|
1277
|
-
icon: /* @__PURE__ */
|
|
1277
|
+
icon: /* @__PURE__ */ jsx8(Zap3, {
|
|
1278
1278
|
className: "h-4 w-4"
|
|
1279
|
-
}
|
|
1279
|
+
}),
|
|
1280
1280
|
href: `/features/${feature.meta.key}/operations/${op.key}`
|
|
1281
|
-
}, op.key
|
|
1281
|
+
}, op.key);
|
|
1282
1282
|
})
|
|
1283
|
-
}
|
|
1283
|
+
});
|
|
1284
1284
|
}
|
|
1285
1285
|
|
|
1286
1286
|
// src/presentation/features/organisms/FeatureEventsList.tsx
|
|
1287
1287
|
import { EntityCard as EntityCard3 } from "@contractspec/lib.design-system";
|
|
1288
1288
|
import { Radio as Radio3 } from "lucide-react";
|
|
1289
|
-
import {
|
|
1289
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
1290
1290
|
"use client";
|
|
1291
1291
|
function FeatureEventsList({ feature }) {
|
|
1292
1292
|
if (!feature.events?.length)
|
|
1293
1293
|
return null;
|
|
1294
|
-
return /* @__PURE__ */
|
|
1294
|
+
return /* @__PURE__ */ jsx9("div", {
|
|
1295
1295
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1296
1296
|
children: feature.events.map((ev) => {
|
|
1297
1297
|
const spec = resolveSerializedEventSpec(ev.key, ev.version);
|
|
1298
|
-
return /* @__PURE__ */
|
|
1298
|
+
return /* @__PURE__ */ jsx9(EntityCard3, {
|
|
1299
1299
|
cardTitle: ev.key,
|
|
1300
1300
|
cardSubtitle: `v${ev.version}`,
|
|
1301
1301
|
footer: spec?.meta.description,
|
|
1302
|
-
icon: /* @__PURE__ */
|
|
1302
|
+
icon: /* @__PURE__ */ jsx9(Radio3, {
|
|
1303
1303
|
className: "h-4 w-4"
|
|
1304
|
-
}
|
|
1304
|
+
}),
|
|
1305
1305
|
href: `/features/${feature.meta.key}/events/${ev.key}`
|
|
1306
|
-
}, ev.key
|
|
1306
|
+
}, ev.key);
|
|
1307
1307
|
})
|
|
1308
|
-
}
|
|
1308
|
+
});
|
|
1309
1309
|
}
|
|
1310
1310
|
|
|
1311
1311
|
// src/presentation/features/organisms/FeaturePresentationsList.tsx
|
|
1312
1312
|
import { EntityCard as EntityCard4 } from "@contractspec/lib.design-system";
|
|
1313
1313
|
import { Layout as Layout4 } from "lucide-react";
|
|
1314
|
-
import {
|
|
1314
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
1315
1315
|
"use client";
|
|
1316
1316
|
function FeaturePresentationsList({
|
|
1317
1317
|
feature
|
|
1318
1318
|
}) {
|
|
1319
1319
|
if (!feature.presentations?.length)
|
|
1320
1320
|
return null;
|
|
1321
|
-
return /* @__PURE__ */
|
|
1321
|
+
return /* @__PURE__ */ jsx10("div", {
|
|
1322
1322
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1323
1323
|
children: feature.presentations.map((pres) => {
|
|
1324
1324
|
const spec = resolveSerializedPresentationSpec(pres.key, pres.version);
|
|
1325
|
-
return /* @__PURE__ */
|
|
1325
|
+
return /* @__PURE__ */ jsx10(EntityCard4, {
|
|
1326
1326
|
cardTitle: pres.key,
|
|
1327
1327
|
cardSubtitle: `v${pres.version}`,
|
|
1328
1328
|
footer: spec?.meta.description,
|
|
1329
|
-
icon: /* @__PURE__ */
|
|
1329
|
+
icon: /* @__PURE__ */ jsx10(Layout4, {
|
|
1330
1330
|
className: "h-4 w-4"
|
|
1331
|
-
}
|
|
1331
|
+
}),
|
|
1332
1332
|
href: `/features/${feature.meta.key}/presentations/${pres.key}`
|
|
1333
|
-
}, pres.key
|
|
1333
|
+
}, pres.key);
|
|
1334
1334
|
})
|
|
1335
|
-
}
|
|
1335
|
+
});
|
|
1336
1336
|
}
|
|
1337
1337
|
|
|
1338
1338
|
// src/presentation/features/organisms/FeatureDataViewsList.tsx
|
|
1339
1339
|
import { EntityCard as EntityCard5 } from "@contractspec/lib.design-system";
|
|
1340
1340
|
import { Table } from "lucide-react";
|
|
1341
|
-
import {
|
|
1341
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1342
1342
|
"use client";
|
|
1343
1343
|
function FeatureDataViewsList({
|
|
1344
1344
|
feature
|
|
1345
1345
|
}) {
|
|
1346
1346
|
if (!feature.dataViews?.length)
|
|
1347
1347
|
return null;
|
|
1348
|
-
return /* @__PURE__ */
|
|
1348
|
+
return /* @__PURE__ */ jsx11("div", {
|
|
1349
1349
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1350
1350
|
children: feature.dataViews.map((view) => {
|
|
1351
1351
|
const spec = resolveSerializedDataViewSpec(view.key, view.version);
|
|
1352
|
-
return /* @__PURE__ */
|
|
1352
|
+
return /* @__PURE__ */ jsx11(EntityCard5, {
|
|
1353
1353
|
cardTitle: view.key,
|
|
1354
1354
|
cardSubtitle: `v${view.version}`,
|
|
1355
1355
|
footer: spec?.meta.description,
|
|
1356
|
-
icon: /* @__PURE__ */
|
|
1356
|
+
icon: /* @__PURE__ */ jsx11(Table, {
|
|
1357
1357
|
className: "h-4 w-4"
|
|
1358
|
-
}
|
|
1358
|
+
}),
|
|
1359
1359
|
href: `/features/${feature.meta.key}/dataviews/${view.key}`
|
|
1360
|
-
}, view.key
|
|
1360
|
+
}, view.key);
|
|
1361
1361
|
})
|
|
1362
|
-
}
|
|
1362
|
+
});
|
|
1363
1363
|
}
|
|
1364
1364
|
|
|
1365
1365
|
// src/presentation/features/organisms/FeatureFormsList.tsx
|
|
1366
1366
|
import { EntityCard as EntityCard6 } from "@contractspec/lib.design-system";
|
|
1367
1367
|
import { FormInput } from "lucide-react";
|
|
1368
|
-
import {
|
|
1368
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
1369
1369
|
"use client";
|
|
1370
1370
|
function FeatureFormsList({ feature }) {
|
|
1371
1371
|
if (!feature.forms?.length)
|
|
1372
1372
|
return null;
|
|
1373
|
-
return /* @__PURE__ */
|
|
1373
|
+
return /* @__PURE__ */ jsx12("div", {
|
|
1374
1374
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1375
1375
|
children: feature.forms.map((form) => {
|
|
1376
1376
|
const spec = resolveSerializedFormSpec(form.key, form.version);
|
|
1377
|
-
return /* @__PURE__ */
|
|
1377
|
+
return /* @__PURE__ */ jsx12(EntityCard6, {
|
|
1378
1378
|
cardTitle: form.key,
|
|
1379
1379
|
cardSubtitle: form.version ? `v${form.version}` : undefined,
|
|
1380
1380
|
footer: spec?.meta.description,
|
|
1381
|
-
icon: /* @__PURE__ */
|
|
1381
|
+
icon: /* @__PURE__ */ jsx12(FormInput, {
|
|
1382
1382
|
className: "h-4 w-4"
|
|
1383
|
-
}
|
|
1383
|
+
}),
|
|
1384
1384
|
href: `/features/${feature.meta.key}/forms/${form.key}`
|
|
1385
|
-
}, form.key
|
|
1385
|
+
}, form.key);
|
|
1386
1386
|
})
|
|
1387
|
-
}
|
|
1387
|
+
});
|
|
1388
1388
|
}
|
|
1389
1389
|
|
|
1390
1390
|
// src/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.tsx
|
|
@@ -1394,31 +1394,31 @@ import {
|
|
|
1394
1394
|
} from "@contractspec/lib.design-system";
|
|
1395
1395
|
import { VStack as VStack4 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
1396
1396
|
import { cn as cn6 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1397
|
-
import {
|
|
1397
|
+
import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1398
1398
|
"use client";
|
|
1399
1399
|
function FeatureOverviewTemplate({
|
|
1400
1400
|
feature,
|
|
1401
1401
|
className
|
|
1402
1402
|
}) {
|
|
1403
|
-
return /* @__PURE__ */
|
|
1403
|
+
return /* @__PURE__ */ jsxs7(VStack4, {
|
|
1404
1404
|
gap: "lg",
|
|
1405
1405
|
className: cn6("mx-auto w-full max-w-5xl p-6", className),
|
|
1406
1406
|
children: [
|
|
1407
|
-
/* @__PURE__ */
|
|
1407
|
+
/* @__PURE__ */ jsx13(PageHeaderResponsive2, {
|
|
1408
1408
|
title: feature.meta.title || feature.meta.key,
|
|
1409
1409
|
subtitle: feature.meta.description || "Feature overview",
|
|
1410
|
-
breadcrumb: /* @__PURE__ */
|
|
1410
|
+
breadcrumb: /* @__PURE__ */ jsx13(Breadcrumbs, {
|
|
1411
1411
|
items: [
|
|
1412
1412
|
{ label: "Features", href: "/features" },
|
|
1413
1413
|
{ label: feature.meta.title || feature.meta.key }
|
|
1414
1414
|
]
|
|
1415
|
-
}
|
|
1416
|
-
}
|
|
1417
|
-
/* @__PURE__ */
|
|
1415
|
+
})
|
|
1416
|
+
}),
|
|
1417
|
+
/* @__PURE__ */ jsx13(FeatureDetail, {
|
|
1418
1418
|
feature
|
|
1419
|
-
}
|
|
1419
|
+
})
|
|
1420
1420
|
]
|
|
1421
|
-
}
|
|
1421
|
+
});
|
|
1422
1422
|
}
|
|
1423
1423
|
// src/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.tsx
|
|
1424
1424
|
import {
|
|
@@ -1427,20 +1427,20 @@ import {
|
|
|
1427
1427
|
} from "@contractspec/lib.design-system";
|
|
1428
1428
|
import { VStack as VStack5 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
1429
1429
|
import { cn as cn7 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1430
|
-
import {
|
|
1430
|
+
import { jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1431
1431
|
"use client";
|
|
1432
1432
|
function FeatureOperationsTemplate({
|
|
1433
1433
|
feature,
|
|
1434
1434
|
className
|
|
1435
1435
|
}) {
|
|
1436
|
-
return /* @__PURE__ */
|
|
1436
|
+
return /* @__PURE__ */ jsxs8(VStack5, {
|
|
1437
1437
|
gap: "lg",
|
|
1438
1438
|
className: cn7("mx-auto w-full max-w-5xl p-6", className),
|
|
1439
1439
|
children: [
|
|
1440
|
-
/* @__PURE__ */
|
|
1440
|
+
/* @__PURE__ */ jsx14(PageHeaderResponsive3, {
|
|
1441
1441
|
title: "Operations",
|
|
1442
1442
|
subtitle: `Operations defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
1443
|
-
breadcrumb: /* @__PURE__ */
|
|
1443
|
+
breadcrumb: /* @__PURE__ */ jsx14(Breadcrumbs2, {
|
|
1444
1444
|
items: [
|
|
1445
1445
|
{ label: "Features", href: "/features" },
|
|
1446
1446
|
{
|
|
@@ -1449,13 +1449,13 @@ function FeatureOperationsTemplate({
|
|
|
1449
1449
|
},
|
|
1450
1450
|
{ label: "Operations" }
|
|
1451
1451
|
]
|
|
1452
|
-
}
|
|
1453
|
-
}
|
|
1454
|
-
/* @__PURE__ */
|
|
1452
|
+
})
|
|
1453
|
+
}),
|
|
1454
|
+
/* @__PURE__ */ jsx14(FeatureOperationsList, {
|
|
1455
1455
|
feature
|
|
1456
|
-
}
|
|
1456
|
+
})
|
|
1457
1457
|
]
|
|
1458
|
-
}
|
|
1458
|
+
});
|
|
1459
1459
|
}
|
|
1460
1460
|
// src/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.tsx
|
|
1461
1461
|
import {
|
|
@@ -1464,20 +1464,20 @@ import {
|
|
|
1464
1464
|
} from "@contractspec/lib.design-system";
|
|
1465
1465
|
import { VStack as VStack6 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
1466
1466
|
import { cn as cn8 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1467
|
-
import {
|
|
1467
|
+
import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1468
1468
|
"use client";
|
|
1469
1469
|
function FeatureEventsTemplate({
|
|
1470
1470
|
feature,
|
|
1471
1471
|
className
|
|
1472
1472
|
}) {
|
|
1473
|
-
return /* @__PURE__ */
|
|
1473
|
+
return /* @__PURE__ */ jsxs9(VStack6, {
|
|
1474
1474
|
gap: "lg",
|
|
1475
1475
|
className: cn8("mx-auto w-full max-w-5xl p-6", className),
|
|
1476
1476
|
children: [
|
|
1477
|
-
/* @__PURE__ */
|
|
1477
|
+
/* @__PURE__ */ jsx15(PageHeaderResponsive4, {
|
|
1478
1478
|
title: "Events",
|
|
1479
1479
|
subtitle: `Events defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
1480
|
-
breadcrumb: /* @__PURE__ */
|
|
1480
|
+
breadcrumb: /* @__PURE__ */ jsx15(Breadcrumbs3, {
|
|
1481
1481
|
items: [
|
|
1482
1482
|
{ label: "Features", href: "/features" },
|
|
1483
1483
|
{
|
|
@@ -1486,13 +1486,13 @@ function FeatureEventsTemplate({
|
|
|
1486
1486
|
},
|
|
1487
1487
|
{ label: "Events" }
|
|
1488
1488
|
]
|
|
1489
|
-
}
|
|
1490
|
-
}
|
|
1491
|
-
/* @__PURE__ */
|
|
1489
|
+
})
|
|
1490
|
+
}),
|
|
1491
|
+
/* @__PURE__ */ jsx15(FeatureEventsList, {
|
|
1492
1492
|
feature
|
|
1493
|
-
}
|
|
1493
|
+
})
|
|
1494
1494
|
]
|
|
1495
|
-
}
|
|
1495
|
+
});
|
|
1496
1496
|
}
|
|
1497
1497
|
// src/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.tsx
|
|
1498
1498
|
import {
|
|
@@ -1501,20 +1501,20 @@ import {
|
|
|
1501
1501
|
} from "@contractspec/lib.design-system";
|
|
1502
1502
|
import { VStack as VStack7 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
1503
1503
|
import { cn as cn9 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1504
|
-
import {
|
|
1504
|
+
import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1505
1505
|
"use client";
|
|
1506
1506
|
function FeaturePresentationsTemplate({
|
|
1507
1507
|
feature,
|
|
1508
1508
|
className
|
|
1509
1509
|
}) {
|
|
1510
|
-
return /* @__PURE__ */
|
|
1510
|
+
return /* @__PURE__ */ jsxs10(VStack7, {
|
|
1511
1511
|
gap: "lg",
|
|
1512
1512
|
className: cn9("mx-auto w-full max-w-5xl p-6", className),
|
|
1513
1513
|
children: [
|
|
1514
|
-
/* @__PURE__ */
|
|
1514
|
+
/* @__PURE__ */ jsx16(PageHeaderResponsive5, {
|
|
1515
1515
|
title: "Presentations",
|
|
1516
1516
|
subtitle: `Presentations defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
1517
|
-
breadcrumb: /* @__PURE__ */
|
|
1517
|
+
breadcrumb: /* @__PURE__ */ jsx16(Breadcrumbs4, {
|
|
1518
1518
|
items: [
|
|
1519
1519
|
{ label: "Features", href: "/features" },
|
|
1520
1520
|
{
|
|
@@ -1523,13 +1523,13 @@ function FeaturePresentationsTemplate({
|
|
|
1523
1523
|
},
|
|
1524
1524
|
{ label: "Presentations" }
|
|
1525
1525
|
]
|
|
1526
|
-
}
|
|
1527
|
-
}
|
|
1528
|
-
/* @__PURE__ */
|
|
1526
|
+
})
|
|
1527
|
+
}),
|
|
1528
|
+
/* @__PURE__ */ jsx16(FeaturePresentationsList, {
|
|
1529
1529
|
feature
|
|
1530
|
-
}
|
|
1530
|
+
})
|
|
1531
1531
|
]
|
|
1532
|
-
}
|
|
1532
|
+
});
|
|
1533
1533
|
}
|
|
1534
1534
|
// src/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.tsx
|
|
1535
1535
|
import {
|
|
@@ -1538,20 +1538,20 @@ import {
|
|
|
1538
1538
|
} from "@contractspec/lib.design-system";
|
|
1539
1539
|
import { VStack as VStack8 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
1540
1540
|
import { cn as cn10 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1541
|
-
import {
|
|
1541
|
+
import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1542
1542
|
"use client";
|
|
1543
1543
|
function FeatureDataViewsTemplate({
|
|
1544
1544
|
feature,
|
|
1545
1545
|
className
|
|
1546
1546
|
}) {
|
|
1547
|
-
return /* @__PURE__ */
|
|
1547
|
+
return /* @__PURE__ */ jsxs11(VStack8, {
|
|
1548
1548
|
gap: "lg",
|
|
1549
1549
|
className: cn10("mx-auto w-full max-w-5xl p-6", className),
|
|
1550
1550
|
children: [
|
|
1551
|
-
/* @__PURE__ */
|
|
1551
|
+
/* @__PURE__ */ jsx17(PageHeaderResponsive6, {
|
|
1552
1552
|
title: "Data Views",
|
|
1553
1553
|
subtitle: `Data views defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
1554
|
-
breadcrumb: /* @__PURE__ */
|
|
1554
|
+
breadcrumb: /* @__PURE__ */ jsx17(Breadcrumbs5, {
|
|
1555
1555
|
items: [
|
|
1556
1556
|
{ label: "Features", href: "/features" },
|
|
1557
1557
|
{
|
|
@@ -1560,13 +1560,13 @@ function FeatureDataViewsTemplate({
|
|
|
1560
1560
|
},
|
|
1561
1561
|
{ label: "Data Views" }
|
|
1562
1562
|
]
|
|
1563
|
-
}
|
|
1564
|
-
}
|
|
1565
|
-
/* @__PURE__ */
|
|
1563
|
+
})
|
|
1564
|
+
}),
|
|
1565
|
+
/* @__PURE__ */ jsx17(FeatureDataViewsList, {
|
|
1566
1566
|
feature
|
|
1567
|
-
}
|
|
1567
|
+
})
|
|
1568
1568
|
]
|
|
1569
|
-
}
|
|
1569
|
+
});
|
|
1570
1570
|
}
|
|
1571
1571
|
// src/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.tsx
|
|
1572
1572
|
import {
|
|
@@ -1575,20 +1575,20 @@ import {
|
|
|
1575
1575
|
} from "@contractspec/lib.design-system";
|
|
1576
1576
|
import { VStack as VStack9 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
1577
1577
|
import { cn as cn11 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1578
|
-
import {
|
|
1578
|
+
import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1579
1579
|
"use client";
|
|
1580
1580
|
function FeatureFormsTemplate({
|
|
1581
1581
|
feature,
|
|
1582
1582
|
className
|
|
1583
1583
|
}) {
|
|
1584
|
-
return /* @__PURE__ */
|
|
1584
|
+
return /* @__PURE__ */ jsxs12(VStack9, {
|
|
1585
1585
|
gap: "lg",
|
|
1586
1586
|
className: cn11("mx-auto w-full max-w-5xl p-6", className),
|
|
1587
1587
|
children: [
|
|
1588
|
-
/* @__PURE__ */
|
|
1588
|
+
/* @__PURE__ */ jsx18(PageHeaderResponsive7, {
|
|
1589
1589
|
title: "Forms",
|
|
1590
1590
|
subtitle: `Forms defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
1591
|
-
breadcrumb: /* @__PURE__ */
|
|
1591
|
+
breadcrumb: /* @__PURE__ */ jsx18(Breadcrumbs6, {
|
|
1592
1592
|
items: [
|
|
1593
1593
|
{ label: "Features", href: "/features" },
|
|
1594
1594
|
{
|
|
@@ -1597,13 +1597,13 @@ function FeatureFormsTemplate({
|
|
|
1597
1597
|
},
|
|
1598
1598
|
{ label: "Forms" }
|
|
1599
1599
|
]
|
|
1600
|
-
}
|
|
1601
|
-
}
|
|
1602
|
-
/* @__PURE__ */
|
|
1600
|
+
})
|
|
1601
|
+
}),
|
|
1602
|
+
/* @__PURE__ */ jsx18(FeatureFormsList, {
|
|
1603
1603
|
feature
|
|
1604
|
-
}
|
|
1604
|
+
})
|
|
1605
1605
|
]
|
|
1606
|
-
}
|
|
1606
|
+
});
|
|
1607
1607
|
}
|
|
1608
1608
|
// src/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.tsx
|
|
1609
1609
|
import {
|
|
@@ -1617,7 +1617,7 @@ import { Card } from "@contractspec/lib.ui-kit-web/ui/card";
|
|
|
1617
1617
|
import { Box as Box2, HStack as HStack7, VStack as VStack10 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
1618
1618
|
import { cn as cn12 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1619
1619
|
import { Code, Database as Database2, Zap as Zap4 } from "lucide-react";
|
|
1620
|
-
import {
|
|
1620
|
+
import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1621
1621
|
"use client";
|
|
1622
1622
|
function FeatureOperationDetailTemplate({
|
|
1623
1623
|
feature,
|
|
@@ -1629,14 +1629,14 @@ function FeatureOperationDetailTemplate({
|
|
|
1629
1629
|
const opRef = operation ?? feature.operations?.find((op) => op.key === operationKey);
|
|
1630
1630
|
const _relatedDocs = useRelatedDocs(opRef?.key || "", spec?.meta?.tags);
|
|
1631
1631
|
if (!opRef) {
|
|
1632
|
-
return /* @__PURE__ */
|
|
1632
|
+
return /* @__PURE__ */ jsxs13(VStack10, {
|
|
1633
1633
|
gap: "lg",
|
|
1634
1634
|
className: cn12("mx-auto w-full max-w-5xl p-6", className),
|
|
1635
1635
|
children: [
|
|
1636
|
-
/* @__PURE__ */
|
|
1636
|
+
/* @__PURE__ */ jsx19(PageHeaderResponsive8, {
|
|
1637
1637
|
title: "Operation Not Found",
|
|
1638
1638
|
subtitle: `Operation ${operationKey} not found in feature ${feature.meta.key}`,
|
|
1639
|
-
breadcrumb: /* @__PURE__ */
|
|
1639
|
+
breadcrumb: /* @__PURE__ */ jsx19(Breadcrumbs7, {
|
|
1640
1640
|
items: [
|
|
1641
1641
|
{ label: "Features", href: "/features" },
|
|
1642
1642
|
{
|
|
@@ -1645,26 +1645,26 @@ function FeatureOperationDetailTemplate({
|
|
|
1645
1645
|
},
|
|
1646
1646
|
{ label: "Operations" }
|
|
1647
1647
|
]
|
|
1648
|
-
}
|
|
1649
|
-
}
|
|
1650
|
-
/* @__PURE__ */
|
|
1648
|
+
})
|
|
1649
|
+
}),
|
|
1650
|
+
/* @__PURE__ */ jsx19(EmptyState2, {
|
|
1651
1651
|
title: "Operation not found",
|
|
1652
1652
|
description: `The operation '${operationKey}' could not be found in this feature.`,
|
|
1653
|
-
icon: /* @__PURE__ */
|
|
1653
|
+
icon: /* @__PURE__ */ jsx19(Zap4, {
|
|
1654
1654
|
className: "text-muted-foreground h-12 w-12"
|
|
1655
|
-
}
|
|
1656
|
-
}
|
|
1655
|
+
})
|
|
1656
|
+
})
|
|
1657
1657
|
]
|
|
1658
|
-
}
|
|
1658
|
+
});
|
|
1659
1659
|
}
|
|
1660
|
-
return /* @__PURE__ */
|
|
1660
|
+
return /* @__PURE__ */ jsxs13(VStack10, {
|
|
1661
1661
|
gap: "lg",
|
|
1662
1662
|
className: cn12("mx-auto w-full max-w-5xl p-6", className),
|
|
1663
1663
|
children: [
|
|
1664
|
-
/* @__PURE__ */
|
|
1664
|
+
/* @__PURE__ */ jsx19(PageHeaderResponsive8, {
|
|
1665
1665
|
title: opRef.key,
|
|
1666
1666
|
subtitle: `Operation defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
1667
|
-
breadcrumb: /* @__PURE__ */
|
|
1667
|
+
breadcrumb: /* @__PURE__ */ jsx19(Breadcrumbs7, {
|
|
1668
1668
|
items: [
|
|
1669
1669
|
{ label: "Features", href: "/features" },
|
|
1670
1670
|
{
|
|
@@ -1677,206 +1677,206 @@ function FeatureOperationDetailTemplate({
|
|
|
1677
1677
|
},
|
|
1678
1678
|
{ label: opRef.key }
|
|
1679
1679
|
]
|
|
1680
|
-
}
|
|
1681
|
-
}
|
|
1682
|
-
/* @__PURE__ */
|
|
1680
|
+
})
|
|
1681
|
+
}),
|
|
1682
|
+
/* @__PURE__ */ jsxs13(HStack7, {
|
|
1683
1683
|
gap: "sm",
|
|
1684
1684
|
children: [
|
|
1685
|
-
/* @__PURE__ */
|
|
1685
|
+
/* @__PURE__ */ jsx19(StatusChip6, {
|
|
1686
1686
|
tone: "neutral",
|
|
1687
1687
|
label: opRef.key,
|
|
1688
1688
|
size: "sm",
|
|
1689
|
-
icon: /* @__PURE__ */
|
|
1689
|
+
icon: /* @__PURE__ */ jsx19(Zap4, {
|
|
1690
1690
|
className: "h-3 w-3"
|
|
1691
|
-
}
|
|
1692
|
-
}
|
|
1693
|
-
/* @__PURE__ */
|
|
1691
|
+
})
|
|
1692
|
+
}),
|
|
1693
|
+
/* @__PURE__ */ jsx19(StatusChip6, {
|
|
1694
1694
|
tone: "neutral",
|
|
1695
1695
|
label: `v${opRef.version}`,
|
|
1696
1696
|
size: "sm"
|
|
1697
|
-
}
|
|
1698
|
-
spec?.meta?.stability ? /* @__PURE__ */
|
|
1697
|
+
}),
|
|
1698
|
+
spec?.meta?.stability ? /* @__PURE__ */ jsx19(StatusChip6, {
|
|
1699
1699
|
tone: spec.meta.stability === "stable" ? "success" : "warning",
|
|
1700
1700
|
label: spec.meta.stability,
|
|
1701
1701
|
size: "sm"
|
|
1702
|
-
}
|
|
1702
|
+
}) : null
|
|
1703
1703
|
]
|
|
1704
|
-
}
|
|
1705
|
-
/* @__PURE__ */
|
|
1704
|
+
}),
|
|
1705
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
1706
1706
|
className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
|
|
1707
1707
|
children: [
|
|
1708
|
-
/* @__PURE__ */
|
|
1708
|
+
/* @__PURE__ */ jsx19("div", {
|
|
1709
1709
|
className: "space-y-6 lg:col-span-2",
|
|
1710
|
-
children: /* @__PURE__ */
|
|
1710
|
+
children: /* @__PURE__ */ jsx19(Card, {
|
|
1711
1711
|
className: "p-6",
|
|
1712
|
-
children: /* @__PURE__ */
|
|
1712
|
+
children: /* @__PURE__ */ jsxs13(VStack10, {
|
|
1713
1713
|
gap: "md",
|
|
1714
1714
|
children: [
|
|
1715
|
-
/* @__PURE__ */
|
|
1715
|
+
/* @__PURE__ */ jsxs13(HStack7, {
|
|
1716
1716
|
className: "items-center gap-2 border-b pb-2",
|
|
1717
1717
|
children: [
|
|
1718
|
-
/* @__PURE__ */
|
|
1718
|
+
/* @__PURE__ */ jsx19(Code, {
|
|
1719
1719
|
className: "text-muted-foreground h-5 w-5"
|
|
1720
|
-
}
|
|
1721
|
-
/* @__PURE__ */
|
|
1720
|
+
}),
|
|
1721
|
+
/* @__PURE__ */ jsx19("h3", {
|
|
1722
1722
|
className: "text-lg font-semibold",
|
|
1723
1723
|
children: "Schema Definition"
|
|
1724
|
-
}
|
|
1724
|
+
})
|
|
1725
1725
|
]
|
|
1726
|
-
}
|
|
1727
|
-
spec ? /* @__PURE__ */
|
|
1726
|
+
}),
|
|
1727
|
+
spec ? /* @__PURE__ */ jsxs13(VStack10, {
|
|
1728
1728
|
gap: "lg",
|
|
1729
1729
|
children: [
|
|
1730
|
-
spec.meta.description && /* @__PURE__ */
|
|
1730
|
+
spec.meta.description && /* @__PURE__ */ jsx19("p", {
|
|
1731
1731
|
className: "text-muted-foreground",
|
|
1732
1732
|
children: spec.meta.description
|
|
1733
|
-
}
|
|
1734
|
-
/* @__PURE__ */
|
|
1733
|
+
}),
|
|
1734
|
+
/* @__PURE__ */ jsxs13(Box2, {
|
|
1735
1735
|
className: "flex-col gap-2",
|
|
1736
1736
|
children: [
|
|
1737
|
-
/* @__PURE__ */
|
|
1737
|
+
/* @__PURE__ */ jsx19("span", {
|
|
1738
1738
|
className: "text-muted-foreground text-sm font-medium tracking-wider uppercase",
|
|
1739
1739
|
children: "Input Schema"
|
|
1740
|
-
}
|
|
1741
|
-
/* @__PURE__ */
|
|
1740
|
+
}),
|
|
1741
|
+
/* @__PURE__ */ jsx19(CodeBlock, {
|
|
1742
1742
|
className: "w-full",
|
|
1743
1743
|
code: JSON.stringify(spec.io.input, null, 2),
|
|
1744
1744
|
language: "json"
|
|
1745
|
-
}
|
|
1745
|
+
})
|
|
1746
1746
|
]
|
|
1747
|
-
}
|
|
1748
|
-
/* @__PURE__ */
|
|
1747
|
+
}),
|
|
1748
|
+
/* @__PURE__ */ jsxs13(Box2, {
|
|
1749
1749
|
className: "flex-col gap-2",
|
|
1750
1750
|
children: [
|
|
1751
|
-
/* @__PURE__ */
|
|
1751
|
+
/* @__PURE__ */ jsx19("span", {
|
|
1752
1752
|
className: "text-muted-foreground text-sm font-medium tracking-wider uppercase",
|
|
1753
1753
|
children: "Output Schema"
|
|
1754
|
-
}
|
|
1755
|
-
/* @__PURE__ */
|
|
1754
|
+
}),
|
|
1755
|
+
/* @__PURE__ */ jsx19(CodeBlock, {
|
|
1756
1756
|
className: "w-full",
|
|
1757
1757
|
code: JSON.stringify(spec.io.output, null, 2),
|
|
1758
1758
|
language: "json"
|
|
1759
|
-
}
|
|
1759
|
+
})
|
|
1760
1760
|
]
|
|
1761
|
-
}
|
|
1761
|
+
})
|
|
1762
1762
|
]
|
|
1763
|
-
}
|
|
1763
|
+
}) : /* @__PURE__ */ jsxs13(VStack10, {
|
|
1764
1764
|
gap: "md",
|
|
1765
1765
|
children: [
|
|
1766
|
-
/* @__PURE__ */
|
|
1766
|
+
/* @__PURE__ */ jsx19("p", {
|
|
1767
1767
|
className: "text-muted-foreground",
|
|
1768
1768
|
children: "Full schema details are not available for this operation reference."
|
|
1769
|
-
}
|
|
1770
|
-
/* @__PURE__ */
|
|
1769
|
+
}),
|
|
1770
|
+
/* @__PURE__ */ jsx19(CodeBlock, {
|
|
1771
1771
|
code: JSON.stringify(opRef, null, 2),
|
|
1772
1772
|
language: "json"
|
|
1773
|
-
}
|
|
1773
|
+
})
|
|
1774
1774
|
]
|
|
1775
|
-
}
|
|
1775
|
+
})
|
|
1776
1776
|
]
|
|
1777
|
-
}
|
|
1778
|
-
}
|
|
1779
|
-
}
|
|
1780
|
-
/* @__PURE__ */
|
|
1777
|
+
})
|
|
1778
|
+
})
|
|
1779
|
+
}),
|
|
1780
|
+
/* @__PURE__ */ jsx19("div", {
|
|
1781
1781
|
className: "space-y-6",
|
|
1782
|
-
children: /* @__PURE__ */
|
|
1782
|
+
children: /* @__PURE__ */ jsx19(Card, {
|
|
1783
1783
|
className: "p-6",
|
|
1784
|
-
children: /* @__PURE__ */
|
|
1784
|
+
children: /* @__PURE__ */ jsxs13(VStack10, {
|
|
1785
1785
|
gap: "md",
|
|
1786
1786
|
children: [
|
|
1787
|
-
/* @__PURE__ */
|
|
1787
|
+
/* @__PURE__ */ jsxs13(HStack7, {
|
|
1788
1788
|
className: "items-center gap-2 border-b pb-2",
|
|
1789
1789
|
children: [
|
|
1790
|
-
/* @__PURE__ */
|
|
1790
|
+
/* @__PURE__ */ jsx19(Database2, {
|
|
1791
1791
|
className: "text-muted-foreground h-5 w-5"
|
|
1792
|
-
}
|
|
1793
|
-
/* @__PURE__ */
|
|
1792
|
+
}),
|
|
1793
|
+
/* @__PURE__ */ jsx19("h3", {
|
|
1794
1794
|
className: "text-lg font-semibold",
|
|
1795
1795
|
children: "Metadata"
|
|
1796
|
-
}
|
|
1796
|
+
})
|
|
1797
1797
|
]
|
|
1798
|
-
}
|
|
1799
|
-
/* @__PURE__ */
|
|
1798
|
+
}),
|
|
1799
|
+
/* @__PURE__ */ jsxs13("dl", {
|
|
1800
1800
|
className: "grid grid-cols-1 gap-4 text-sm",
|
|
1801
1801
|
children: [
|
|
1802
|
-
/* @__PURE__ */
|
|
1802
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
1803
1803
|
children: [
|
|
1804
|
-
/* @__PURE__ */
|
|
1804
|
+
/* @__PURE__ */ jsx19("dt", {
|
|
1805
1805
|
className: "text-muted-foreground",
|
|
1806
1806
|
children: "Key"
|
|
1807
|
-
}
|
|
1808
|
-
/* @__PURE__ */
|
|
1807
|
+
}),
|
|
1808
|
+
/* @__PURE__ */ jsx19("dd", {
|
|
1809
1809
|
className: "truncate font-medium",
|
|
1810
1810
|
children: opRef.key
|
|
1811
|
-
}
|
|
1811
|
+
})
|
|
1812
1812
|
]
|
|
1813
|
-
}
|
|
1814
|
-
/* @__PURE__ */
|
|
1813
|
+
}),
|
|
1814
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
1815
1815
|
children: [
|
|
1816
|
-
/* @__PURE__ */
|
|
1816
|
+
/* @__PURE__ */ jsx19("dt", {
|
|
1817
1817
|
className: "text-muted-foreground",
|
|
1818
1818
|
children: "Version"
|
|
1819
|
-
}
|
|
1820
|
-
/* @__PURE__ */
|
|
1819
|
+
}),
|
|
1820
|
+
/* @__PURE__ */ jsx19("dd", {
|
|
1821
1821
|
className: "font-medium",
|
|
1822
1822
|
children: opRef.version
|
|
1823
|
-
}
|
|
1823
|
+
})
|
|
1824
1824
|
]
|
|
1825
|
-
}
|
|
1826
|
-
spec?.meta?.context && /* @__PURE__ */
|
|
1825
|
+
}),
|
|
1826
|
+
spec?.meta?.context && /* @__PURE__ */ jsxs13("div", {
|
|
1827
1827
|
children: [
|
|
1828
|
-
/* @__PURE__ */
|
|
1828
|
+
/* @__PURE__ */ jsx19("dt", {
|
|
1829
1829
|
className: "text-muted-foreground",
|
|
1830
1830
|
children: "Context"
|
|
1831
|
-
}
|
|
1832
|
-
/* @__PURE__ */
|
|
1831
|
+
}),
|
|
1832
|
+
/* @__PURE__ */ jsx19("dd", {
|
|
1833
1833
|
className: "font-medium",
|
|
1834
1834
|
children: spec.meta.context
|
|
1835
|
-
}
|
|
1835
|
+
})
|
|
1836
1836
|
]
|
|
1837
|
-
}
|
|
1838
|
-
spec?.meta?.owners && /* @__PURE__ */
|
|
1837
|
+
}),
|
|
1838
|
+
spec?.meta?.owners && /* @__PURE__ */ jsxs13("div", {
|
|
1839
1839
|
children: [
|
|
1840
|
-
/* @__PURE__ */
|
|
1840
|
+
/* @__PURE__ */ jsx19("dt", {
|
|
1841
1841
|
className: "text-muted-foreground",
|
|
1842
1842
|
children: "Owners"
|
|
1843
|
-
}
|
|
1844
|
-
/* @__PURE__ */
|
|
1843
|
+
}),
|
|
1844
|
+
/* @__PURE__ */ jsx19("dd", {
|
|
1845
1845
|
className: "flex flex-wrap gap-1 font-medium",
|
|
1846
|
-
children: spec.meta.owners.map((o) => /* @__PURE__ */
|
|
1846
|
+
children: spec.meta.owners.map((o) => /* @__PURE__ */ jsx19(StatusChip6, {
|
|
1847
1847
|
label: o,
|
|
1848
1848
|
size: "sm",
|
|
1849
1849
|
tone: "neutral"
|
|
1850
|
-
}, o
|
|
1851
|
-
}
|
|
1850
|
+
}, o))
|
|
1851
|
+
})
|
|
1852
1852
|
]
|
|
1853
|
-
}
|
|
1854
|
-
spec?.meta?.tags && /* @__PURE__ */
|
|
1853
|
+
}),
|
|
1854
|
+
spec?.meta?.tags && /* @__PURE__ */ jsxs13("div", {
|
|
1855
1855
|
children: [
|
|
1856
|
-
/* @__PURE__ */
|
|
1856
|
+
/* @__PURE__ */ jsx19("dt", {
|
|
1857
1857
|
className: "text-muted-foreground",
|
|
1858
1858
|
children: "Tags"
|
|
1859
|
-
}
|
|
1860
|
-
/* @__PURE__ */
|
|
1859
|
+
}),
|
|
1860
|
+
/* @__PURE__ */ jsx19("dd", {
|
|
1861
1861
|
className: "flex flex-wrap gap-1 font-medium",
|
|
1862
|
-
children: spec.meta.tags.map((t) => /* @__PURE__ */
|
|
1862
|
+
children: spec.meta.tags.map((t) => /* @__PURE__ */ jsx19(StatusChip6, {
|
|
1863
1863
|
label: `#${t}`,
|
|
1864
1864
|
size: "sm",
|
|
1865
1865
|
tone: "neutral"
|
|
1866
|
-
}, t
|
|
1867
|
-
}
|
|
1866
|
+
}, t))
|
|
1867
|
+
})
|
|
1868
1868
|
]
|
|
1869
|
-
}
|
|
1869
|
+
})
|
|
1870
1870
|
]
|
|
1871
|
-
}
|
|
1871
|
+
})
|
|
1872
1872
|
]
|
|
1873
|
-
}
|
|
1874
|
-
}
|
|
1875
|
-
}
|
|
1873
|
+
})
|
|
1874
|
+
})
|
|
1875
|
+
})
|
|
1876
1876
|
]
|
|
1877
|
-
}
|
|
1877
|
+
})
|
|
1878
1878
|
]
|
|
1879
|
-
}
|
|
1879
|
+
});
|
|
1880
1880
|
}
|
|
1881
1881
|
// src/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.tsx
|
|
1882
1882
|
import {
|
|
@@ -1891,7 +1891,7 @@ import { Box as Box3, HStack as HStack8, VStack as VStack11 } from "@contractspe
|
|
|
1891
1891
|
import { cn as cn13 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1892
1892
|
import { BookOpen, Code as Code2, Database as Database3, Radio as Radio4 } from "lucide-react";
|
|
1893
1893
|
import Link2 from "next/link";
|
|
1894
|
-
import {
|
|
1894
|
+
import { jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1895
1895
|
"use client";
|
|
1896
1896
|
function FeatureEventDetailTemplate({
|
|
1897
1897
|
feature,
|
|
@@ -1903,14 +1903,14 @@ function FeatureEventDetailTemplate({
|
|
|
1903
1903
|
const eventRef = event ?? feature.events?.find((ev) => ev.key === eventKey);
|
|
1904
1904
|
const relatedDocs = useRelatedDocs(eventRef?.key || "", spec?.meta?.tags);
|
|
1905
1905
|
if (!eventRef) {
|
|
1906
|
-
return /* @__PURE__ */
|
|
1906
|
+
return /* @__PURE__ */ jsxs14(VStack11, {
|
|
1907
1907
|
gap: "lg",
|
|
1908
1908
|
className: cn13("mx-auto w-full max-w-5xl p-6", className),
|
|
1909
1909
|
children: [
|
|
1910
|
-
/* @__PURE__ */
|
|
1910
|
+
/* @__PURE__ */ jsx20(PageHeaderResponsive9, {
|
|
1911
1911
|
title: "Event Not Found",
|
|
1912
1912
|
subtitle: `Event ${eventKey} not found in feature ${feature.meta.key}`,
|
|
1913
|
-
breadcrumb: /* @__PURE__ */
|
|
1913
|
+
breadcrumb: /* @__PURE__ */ jsx20(Breadcrumbs8, {
|
|
1914
1914
|
items: [
|
|
1915
1915
|
{ label: "Features", href: "/features" },
|
|
1916
1916
|
{
|
|
@@ -1922,26 +1922,26 @@ function FeatureEventDetailTemplate({
|
|
|
1922
1922
|
href: `/features/${feature.meta.key}/events`
|
|
1923
1923
|
}
|
|
1924
1924
|
]
|
|
1925
|
-
}
|
|
1926
|
-
}
|
|
1927
|
-
/* @__PURE__ */
|
|
1925
|
+
})
|
|
1926
|
+
}),
|
|
1927
|
+
/* @__PURE__ */ jsx20(EmptyState3, {
|
|
1928
1928
|
title: "Event not found",
|
|
1929
1929
|
description: `The event '${eventKey}' could not be found in this feature.`,
|
|
1930
|
-
icon: /* @__PURE__ */
|
|
1930
|
+
icon: /* @__PURE__ */ jsx20(Radio4, {
|
|
1931
1931
|
className: "text-muted-foreground h-12 w-12"
|
|
1932
|
-
}
|
|
1933
|
-
}
|
|
1932
|
+
})
|
|
1933
|
+
})
|
|
1934
1934
|
]
|
|
1935
|
-
}
|
|
1935
|
+
});
|
|
1936
1936
|
}
|
|
1937
|
-
return /* @__PURE__ */
|
|
1937
|
+
return /* @__PURE__ */ jsxs14(VStack11, {
|
|
1938
1938
|
gap: "lg",
|
|
1939
1939
|
className: cn13("mx-auto w-full max-w-5xl p-6", className),
|
|
1940
1940
|
children: [
|
|
1941
|
-
/* @__PURE__ */
|
|
1941
|
+
/* @__PURE__ */ jsx20(PageHeaderResponsive9, {
|
|
1942
1942
|
title: eventRef.key,
|
|
1943
1943
|
subtitle: `Event defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
1944
|
-
breadcrumb: /* @__PURE__ */
|
|
1944
|
+
breadcrumb: /* @__PURE__ */ jsx20(Breadcrumbs8, {
|
|
1945
1945
|
items: [
|
|
1946
1946
|
{ label: "Features", href: "/features" },
|
|
1947
1947
|
{
|
|
@@ -1951,206 +1951,206 @@ function FeatureEventDetailTemplate({
|
|
|
1951
1951
|
{ label: "Events", href: `/features/${feature.meta.key}#events` },
|
|
1952
1952
|
{ label: eventRef.key }
|
|
1953
1953
|
]
|
|
1954
|
-
}
|
|
1955
|
-
}
|
|
1956
|
-
/* @__PURE__ */
|
|
1954
|
+
})
|
|
1955
|
+
}),
|
|
1956
|
+
/* @__PURE__ */ jsxs14(HStack8, {
|
|
1957
1957
|
gap: "sm",
|
|
1958
1958
|
children: [
|
|
1959
|
-
/* @__PURE__ */
|
|
1959
|
+
/* @__PURE__ */ jsx20(StatusChip7, {
|
|
1960
1960
|
tone: "neutral",
|
|
1961
1961
|
label: eventRef.key,
|
|
1962
1962
|
size: "sm",
|
|
1963
|
-
icon: /* @__PURE__ */
|
|
1963
|
+
icon: /* @__PURE__ */ jsx20(Radio4, {
|
|
1964
1964
|
className: "h-3 w-3"
|
|
1965
|
-
}
|
|
1966
|
-
}
|
|
1967
|
-
/* @__PURE__ */
|
|
1965
|
+
})
|
|
1966
|
+
}),
|
|
1967
|
+
/* @__PURE__ */ jsx20(StatusChip7, {
|
|
1968
1968
|
tone: "neutral",
|
|
1969
1969
|
label: `v${eventRef.version}`,
|
|
1970
1970
|
size: "sm"
|
|
1971
|
-
}
|
|
1972
|
-
spec?.meta?.stability ? /* @__PURE__ */
|
|
1971
|
+
}),
|
|
1972
|
+
spec?.meta?.stability ? /* @__PURE__ */ jsx20(StatusChip7, {
|
|
1973
1973
|
tone: spec.meta.stability === "stable" ? "success" : "warning",
|
|
1974
1974
|
label: spec.meta.stability,
|
|
1975
1975
|
size: "sm"
|
|
1976
|
-
}
|
|
1976
|
+
}) : null
|
|
1977
1977
|
]
|
|
1978
|
-
}
|
|
1979
|
-
/* @__PURE__ */
|
|
1978
|
+
}),
|
|
1979
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
1980
1980
|
className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
|
|
1981
1981
|
children: [
|
|
1982
|
-
/* @__PURE__ */
|
|
1982
|
+
/* @__PURE__ */ jsx20("div", {
|
|
1983
1983
|
className: "space-y-6 lg:col-span-2",
|
|
1984
|
-
children: /* @__PURE__ */
|
|
1984
|
+
children: /* @__PURE__ */ jsx20(Card2, {
|
|
1985
1985
|
className: "p-6",
|
|
1986
|
-
children: /* @__PURE__ */
|
|
1986
|
+
children: /* @__PURE__ */ jsxs14(VStack11, {
|
|
1987
1987
|
gap: "md",
|
|
1988
1988
|
children: [
|
|
1989
|
-
/* @__PURE__ */
|
|
1989
|
+
/* @__PURE__ */ jsxs14(HStack8, {
|
|
1990
1990
|
className: "items-center gap-2 border-b pb-2",
|
|
1991
1991
|
children: [
|
|
1992
|
-
/* @__PURE__ */
|
|
1992
|
+
/* @__PURE__ */ jsx20(Code2, {
|
|
1993
1993
|
className: "text-muted-foreground h-5 w-5"
|
|
1994
|
-
}
|
|
1995
|
-
/* @__PURE__ */
|
|
1994
|
+
}),
|
|
1995
|
+
/* @__PURE__ */ jsx20("h3", {
|
|
1996
1996
|
className: "text-lg font-semibold",
|
|
1997
1997
|
children: "Payload Definition"
|
|
1998
|
-
}
|
|
1998
|
+
})
|
|
1999
1999
|
]
|
|
2000
|
-
}
|
|
2001
|
-
spec ? /* @__PURE__ */
|
|
2000
|
+
}),
|
|
2001
|
+
spec ? /* @__PURE__ */ jsxs14(VStack11, {
|
|
2002
2002
|
gap: "lg",
|
|
2003
2003
|
children: [
|
|
2004
|
-
spec.meta.description && /* @__PURE__ */
|
|
2004
|
+
spec.meta.description && /* @__PURE__ */ jsx20("p", {
|
|
2005
2005
|
className: "text-muted-foreground",
|
|
2006
2006
|
children: spec.meta.description
|
|
2007
|
-
}
|
|
2008
|
-
/* @__PURE__ */
|
|
2007
|
+
}),
|
|
2008
|
+
/* @__PURE__ */ jsxs14(Box3, {
|
|
2009
2009
|
className: "flex-col gap-2",
|
|
2010
2010
|
children: [
|
|
2011
|
-
/* @__PURE__ */
|
|
2011
|
+
/* @__PURE__ */ jsx20("span", {
|
|
2012
2012
|
className: "text-muted-foreground text-sm font-medium tracking-wider uppercase",
|
|
2013
2013
|
children: "Payload Schema"
|
|
2014
|
-
}
|
|
2015
|
-
/* @__PURE__ */
|
|
2014
|
+
}),
|
|
2015
|
+
/* @__PURE__ */ jsx20(CodeBlock2, {
|
|
2016
2016
|
code: JSON.stringify(spec.payload, null, 2),
|
|
2017
2017
|
language: "json"
|
|
2018
|
-
}
|
|
2018
|
+
})
|
|
2019
2019
|
]
|
|
2020
|
-
}
|
|
2020
|
+
})
|
|
2021
2021
|
]
|
|
2022
|
-
}
|
|
2022
|
+
}) : /* @__PURE__ */ jsxs14(VStack11, {
|
|
2023
2023
|
gap: "md",
|
|
2024
2024
|
children: [
|
|
2025
|
-
/* @__PURE__ */
|
|
2025
|
+
/* @__PURE__ */ jsx20("p", {
|
|
2026
2026
|
className: "text-muted-foreground",
|
|
2027
2027
|
children: "Full payload details are not available for this event reference."
|
|
2028
|
-
}
|
|
2029
|
-
/* @__PURE__ */
|
|
2028
|
+
}),
|
|
2029
|
+
/* @__PURE__ */ jsx20(CodeBlock2, {
|
|
2030
2030
|
code: JSON.stringify(eventRef, null, 2),
|
|
2031
2031
|
language: "json"
|
|
2032
|
-
}
|
|
2032
|
+
})
|
|
2033
2033
|
]
|
|
2034
|
-
}
|
|
2034
|
+
})
|
|
2035
2035
|
]
|
|
2036
|
-
}
|
|
2037
|
-
}
|
|
2038
|
-
}
|
|
2039
|
-
/* @__PURE__ */
|
|
2036
|
+
})
|
|
2037
|
+
})
|
|
2038
|
+
}),
|
|
2039
|
+
/* @__PURE__ */ jsx20("div", {
|
|
2040
2040
|
className: "space-y-6",
|
|
2041
|
-
children: /* @__PURE__ */
|
|
2041
|
+
children: /* @__PURE__ */ jsx20(Card2, {
|
|
2042
2042
|
className: "p-6",
|
|
2043
|
-
children: /* @__PURE__ */
|
|
2043
|
+
children: /* @__PURE__ */ jsxs14(VStack11, {
|
|
2044
2044
|
gap: "md",
|
|
2045
2045
|
children: [
|
|
2046
|
-
/* @__PURE__ */
|
|
2046
|
+
/* @__PURE__ */ jsxs14(HStack8, {
|
|
2047
2047
|
className: "items-center gap-2 border-b pb-2",
|
|
2048
2048
|
children: [
|
|
2049
|
-
/* @__PURE__ */
|
|
2049
|
+
/* @__PURE__ */ jsx20(Database3, {
|
|
2050
2050
|
className: "text-muted-foreground h-5 w-5"
|
|
2051
|
-
}
|
|
2052
|
-
/* @__PURE__ */
|
|
2051
|
+
}),
|
|
2052
|
+
/* @__PURE__ */ jsx20("h3", {
|
|
2053
2053
|
className: "text-lg font-semibold",
|
|
2054
2054
|
children: "Metadata"
|
|
2055
|
-
}
|
|
2055
|
+
})
|
|
2056
2056
|
]
|
|
2057
|
-
}
|
|
2058
|
-
/* @__PURE__ */
|
|
2057
|
+
}),
|
|
2058
|
+
/* @__PURE__ */ jsxs14("dl", {
|
|
2059
2059
|
className: "grid grid-cols-1 gap-4 text-sm",
|
|
2060
2060
|
children: [
|
|
2061
|
-
/* @__PURE__ */
|
|
2061
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
2062
2062
|
children: [
|
|
2063
|
-
/* @__PURE__ */
|
|
2063
|
+
/* @__PURE__ */ jsx20("dt", {
|
|
2064
2064
|
className: "text-muted-foreground",
|
|
2065
2065
|
children: "Key"
|
|
2066
|
-
}
|
|
2067
|
-
/* @__PURE__ */
|
|
2066
|
+
}),
|
|
2067
|
+
/* @__PURE__ */ jsx20("dd", {
|
|
2068
2068
|
className: "truncate font-medium",
|
|
2069
2069
|
children: eventRef.key
|
|
2070
|
-
}
|
|
2070
|
+
})
|
|
2071
2071
|
]
|
|
2072
|
-
}
|
|
2073
|
-
/* @__PURE__ */
|
|
2072
|
+
}),
|
|
2073
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
2074
2074
|
children: [
|
|
2075
|
-
/* @__PURE__ */
|
|
2075
|
+
/* @__PURE__ */ jsx20("dt", {
|
|
2076
2076
|
className: "text-muted-foreground",
|
|
2077
2077
|
children: "Version"
|
|
2078
|
-
}
|
|
2079
|
-
/* @__PURE__ */
|
|
2078
|
+
}),
|
|
2079
|
+
/* @__PURE__ */ jsx20("dd", {
|
|
2080
2080
|
className: "font-medium",
|
|
2081
2081
|
children: eventRef.version
|
|
2082
|
-
}
|
|
2082
|
+
})
|
|
2083
2083
|
]
|
|
2084
|
-
}
|
|
2085
|
-
spec?.meta?.owners && /* @__PURE__ */
|
|
2084
|
+
}),
|
|
2085
|
+
spec?.meta?.owners && /* @__PURE__ */ jsxs14("div", {
|
|
2086
2086
|
children: [
|
|
2087
|
-
/* @__PURE__ */
|
|
2087
|
+
/* @__PURE__ */ jsx20("dt", {
|
|
2088
2088
|
className: "text-muted-foreground",
|
|
2089
2089
|
children: "Owners"
|
|
2090
|
-
}
|
|
2091
|
-
/* @__PURE__ */
|
|
2090
|
+
}),
|
|
2091
|
+
/* @__PURE__ */ jsx20("dd", {
|
|
2092
2092
|
className: "flex flex-wrap gap-1 font-medium",
|
|
2093
|
-
children: spec.meta.owners.map((o) => /* @__PURE__ */
|
|
2093
|
+
children: spec.meta.owners.map((o) => /* @__PURE__ */ jsx20(StatusChip7, {
|
|
2094
2094
|
label: o,
|
|
2095
2095
|
size: "sm",
|
|
2096
2096
|
tone: "neutral"
|
|
2097
|
-
}, o
|
|
2098
|
-
}
|
|
2097
|
+
}, o))
|
|
2098
|
+
})
|
|
2099
2099
|
]
|
|
2100
|
-
}
|
|
2100
|
+
})
|
|
2101
2101
|
]
|
|
2102
|
-
}
|
|
2102
|
+
})
|
|
2103
2103
|
]
|
|
2104
|
-
}
|
|
2105
|
-
}
|
|
2106
|
-
}
|
|
2107
|
-
relatedDocs?.length ? /* @__PURE__ */
|
|
2104
|
+
})
|
|
2105
|
+
})
|
|
2106
|
+
}),
|
|
2107
|
+
relatedDocs?.length ? /* @__PURE__ */ jsx20("div", {
|
|
2108
2108
|
className: "lg:col-span-3",
|
|
2109
|
-
children: /* @__PURE__ */
|
|
2109
|
+
children: /* @__PURE__ */ jsx20(Card2, {
|
|
2110
2110
|
className: "p-6",
|
|
2111
|
-
children: /* @__PURE__ */
|
|
2111
|
+
children: /* @__PURE__ */ jsxs14(VStack11, {
|
|
2112
2112
|
gap: "md",
|
|
2113
2113
|
children: [
|
|
2114
|
-
/* @__PURE__ */
|
|
2114
|
+
/* @__PURE__ */ jsxs14(HStack8, {
|
|
2115
2115
|
className: "items-center gap-2 border-b pb-2",
|
|
2116
2116
|
children: [
|
|
2117
|
-
/* @__PURE__ */
|
|
2117
|
+
/* @__PURE__ */ jsx20(BookOpen, {
|
|
2118
2118
|
className: "text-muted-foreground h-5 w-5"
|
|
2119
|
-
}
|
|
2120
|
-
/* @__PURE__ */
|
|
2119
|
+
}),
|
|
2120
|
+
/* @__PURE__ */ jsx20("h3", {
|
|
2121
2121
|
className: "text-lg font-semibold",
|
|
2122
2122
|
children: "Related Documentation"
|
|
2123
|
-
}
|
|
2123
|
+
})
|
|
2124
2124
|
]
|
|
2125
|
-
}
|
|
2126
|
-
/* @__PURE__ */
|
|
2125
|
+
}),
|
|
2126
|
+
/* @__PURE__ */ jsx20("div", {
|
|
2127
2127
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
2128
|
-
children: relatedDocs.map((doc) => /* @__PURE__ */
|
|
2128
|
+
children: relatedDocs.map((doc) => /* @__PURE__ */ jsx20(Link2, {
|
|
2129
2129
|
href: doc.route || `/docs/${doc.id}`,
|
|
2130
2130
|
className: "group block",
|
|
2131
|
-
children: /* @__PURE__ */
|
|
2131
|
+
children: /* @__PURE__ */ jsxs14("div", {
|
|
2132
2132
|
className: "hover:border-primary h-full rounded-lg border p-4 transition-colors",
|
|
2133
2133
|
children: [
|
|
2134
|
-
/* @__PURE__ */
|
|
2134
|
+
/* @__PURE__ */ jsx20("h4", {
|
|
2135
2135
|
className: "group-hover:text-primary mb-1 font-semibold",
|
|
2136
2136
|
children: doc.title
|
|
2137
|
-
}
|
|
2138
|
-
doc.summary && /* @__PURE__ */
|
|
2137
|
+
}),
|
|
2138
|
+
doc.summary && /* @__PURE__ */ jsx20("p", {
|
|
2139
2139
|
className: "text-muted-foreground line-clamp-2 text-sm",
|
|
2140
2140
|
children: doc.summary
|
|
2141
|
-
}
|
|
2141
|
+
})
|
|
2142
2142
|
]
|
|
2143
|
-
}
|
|
2144
|
-
}, doc.id
|
|
2145
|
-
}
|
|
2143
|
+
})
|
|
2144
|
+
}, doc.id))
|
|
2145
|
+
})
|
|
2146
2146
|
]
|
|
2147
|
-
}
|
|
2148
|
-
}
|
|
2149
|
-
}
|
|
2147
|
+
})
|
|
2148
|
+
})
|
|
2149
|
+
}) : null
|
|
2150
2150
|
]
|
|
2151
|
-
}
|
|
2151
|
+
})
|
|
2152
2152
|
]
|
|
2153
|
-
}
|
|
2153
|
+
});
|
|
2154
2154
|
}
|
|
2155
2155
|
// src/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.tsx
|
|
2156
2156
|
import {
|
|
@@ -2165,7 +2165,7 @@ import { Box as Box4, HStack as HStack9, VStack as VStack12 } from "@contractspe
|
|
|
2165
2165
|
import { cn as cn14 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
2166
2166
|
import { BookOpen as BookOpen2, Code as Code3, Database as Database4, Layout as Layout5 } from "lucide-react";
|
|
2167
2167
|
import Link3 from "next/link";
|
|
2168
|
-
import {
|
|
2168
|
+
import { jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2169
2169
|
"use client";
|
|
2170
2170
|
function FeaturePresentationDetailTemplate({
|
|
2171
2171
|
feature,
|
|
@@ -2177,14 +2177,14 @@ function FeaturePresentationDetailTemplate({
|
|
|
2177
2177
|
const presRef = presentation ?? feature.presentations?.find((p) => p.key === presentationKey);
|
|
2178
2178
|
const relatedDocs = useRelatedDocs(presRef?.key || "", spec?.meta?.tags);
|
|
2179
2179
|
if (!presRef) {
|
|
2180
|
-
return /* @__PURE__ */
|
|
2180
|
+
return /* @__PURE__ */ jsxs15(VStack12, {
|
|
2181
2181
|
gap: "lg",
|
|
2182
2182
|
className: cn14("mx-auto w-full max-w-5xl p-6", className),
|
|
2183
2183
|
children: [
|
|
2184
|
-
/* @__PURE__ */
|
|
2184
|
+
/* @__PURE__ */ jsx21(PageHeaderResponsive10, {
|
|
2185
2185
|
title: "Presentation Not Found",
|
|
2186
2186
|
subtitle: `Presentation ${presentationKey} not found in feature ${feature.meta.key}`,
|
|
2187
|
-
breadcrumb: /* @__PURE__ */
|
|
2187
|
+
breadcrumb: /* @__PURE__ */ jsx21(Breadcrumbs9, {
|
|
2188
2188
|
items: [
|
|
2189
2189
|
{ label: "Features", href: "/features" },
|
|
2190
2190
|
{
|
|
@@ -2196,26 +2196,26 @@ function FeaturePresentationDetailTemplate({
|
|
|
2196
2196
|
href: `/features/${feature.meta.key}/presentation`
|
|
2197
2197
|
}
|
|
2198
2198
|
]
|
|
2199
|
-
}
|
|
2200
|
-
}
|
|
2201
|
-
/* @__PURE__ */
|
|
2199
|
+
})
|
|
2200
|
+
}),
|
|
2201
|
+
/* @__PURE__ */ jsx21(EmptyState4, {
|
|
2202
2202
|
title: "Presentation not found",
|
|
2203
2203
|
description: `The presentation '${presentationKey}' could not be found in this feature.`,
|
|
2204
|
-
icon: /* @__PURE__ */
|
|
2204
|
+
icon: /* @__PURE__ */ jsx21(Layout5, {
|
|
2205
2205
|
className: "text-muted-foreground h-12 w-12"
|
|
2206
|
-
}
|
|
2207
|
-
}
|
|
2206
|
+
})
|
|
2207
|
+
})
|
|
2208
2208
|
]
|
|
2209
|
-
}
|
|
2209
|
+
});
|
|
2210
2210
|
}
|
|
2211
|
-
return /* @__PURE__ */
|
|
2211
|
+
return /* @__PURE__ */ jsxs15(VStack12, {
|
|
2212
2212
|
gap: "lg",
|
|
2213
2213
|
className: cn14("mx-auto w-full max-w-5xl p-6", className),
|
|
2214
2214
|
children: [
|
|
2215
|
-
/* @__PURE__ */
|
|
2215
|
+
/* @__PURE__ */ jsx21(PageHeaderResponsive10, {
|
|
2216
2216
|
title: presRef.key,
|
|
2217
2217
|
subtitle: `Presentation defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
2218
|
-
breadcrumb: /* @__PURE__ */
|
|
2218
|
+
breadcrumb: /* @__PURE__ */ jsx21(Breadcrumbs9, {
|
|
2219
2219
|
items: [
|
|
2220
2220
|
{ label: "Features", href: "/features" },
|
|
2221
2221
|
{
|
|
@@ -2228,206 +2228,206 @@ function FeaturePresentationDetailTemplate({
|
|
|
2228
2228
|
},
|
|
2229
2229
|
{ label: presRef.key }
|
|
2230
2230
|
]
|
|
2231
|
-
}
|
|
2232
|
-
}
|
|
2233
|
-
/* @__PURE__ */
|
|
2231
|
+
})
|
|
2232
|
+
}),
|
|
2233
|
+
/* @__PURE__ */ jsxs15(HStack9, {
|
|
2234
2234
|
gap: "sm",
|
|
2235
2235
|
children: [
|
|
2236
|
-
/* @__PURE__ */
|
|
2236
|
+
/* @__PURE__ */ jsx21(StatusChip8, {
|
|
2237
2237
|
tone: "neutral",
|
|
2238
2238
|
label: presRef.key,
|
|
2239
2239
|
size: "sm",
|
|
2240
|
-
icon: /* @__PURE__ */
|
|
2240
|
+
icon: /* @__PURE__ */ jsx21(Layout5, {
|
|
2241
2241
|
className: "h-3 w-3"
|
|
2242
|
-
}
|
|
2243
|
-
}
|
|
2244
|
-
/* @__PURE__ */
|
|
2242
|
+
})
|
|
2243
|
+
}),
|
|
2244
|
+
/* @__PURE__ */ jsx21(StatusChip8, {
|
|
2245
2245
|
tone: "neutral",
|
|
2246
2246
|
label: `v${presRef.version}`,
|
|
2247
2247
|
size: "sm"
|
|
2248
|
-
}
|
|
2249
|
-
spec?.meta?.stability ? /* @__PURE__ */
|
|
2248
|
+
}),
|
|
2249
|
+
spec?.meta?.stability ? /* @__PURE__ */ jsx21(StatusChip8, {
|
|
2250
2250
|
tone: spec.meta.stability === "stable" ? "success" : "warning",
|
|
2251
2251
|
label: spec.meta.stability,
|
|
2252
2252
|
size: "sm"
|
|
2253
|
-
}
|
|
2253
|
+
}) : null
|
|
2254
2254
|
]
|
|
2255
|
-
}
|
|
2256
|
-
/* @__PURE__ */
|
|
2255
|
+
}),
|
|
2256
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
2257
2257
|
className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
|
|
2258
2258
|
children: [
|
|
2259
|
-
/* @__PURE__ */
|
|
2259
|
+
/* @__PURE__ */ jsx21("div", {
|
|
2260
2260
|
className: "space-y-6 lg:col-span-2",
|
|
2261
|
-
children: /* @__PURE__ */
|
|
2261
|
+
children: /* @__PURE__ */ jsx21(Card3, {
|
|
2262
2262
|
className: "p-6",
|
|
2263
|
-
children: /* @__PURE__ */
|
|
2263
|
+
children: /* @__PURE__ */ jsxs15(VStack12, {
|
|
2264
2264
|
gap: "md",
|
|
2265
2265
|
children: [
|
|
2266
|
-
/* @__PURE__ */
|
|
2266
|
+
/* @__PURE__ */ jsxs15(HStack9, {
|
|
2267
2267
|
className: "items-center gap-2 border-b pb-2",
|
|
2268
2268
|
children: [
|
|
2269
|
-
/* @__PURE__ */
|
|
2269
|
+
/* @__PURE__ */ jsx21(Code3, {
|
|
2270
2270
|
className: "text-muted-foreground h-5 w-5"
|
|
2271
|
-
}
|
|
2272
|
-
/* @__PURE__ */
|
|
2271
|
+
}),
|
|
2272
|
+
/* @__PURE__ */ jsx21("h3", {
|
|
2273
2273
|
className: "text-lg font-semibold",
|
|
2274
2274
|
children: "Component Definition"
|
|
2275
|
-
}
|
|
2275
|
+
})
|
|
2276
2276
|
]
|
|
2277
|
-
}
|
|
2278
|
-
spec ? /* @__PURE__ */
|
|
2277
|
+
}),
|
|
2278
|
+
spec ? /* @__PURE__ */ jsxs15(VStack12, {
|
|
2279
2279
|
gap: "lg",
|
|
2280
2280
|
children: [
|
|
2281
|
-
spec.meta.description && /* @__PURE__ */
|
|
2281
|
+
spec.meta.description && /* @__PURE__ */ jsx21("p", {
|
|
2282
2282
|
className: "text-muted-foreground",
|
|
2283
2283
|
children: spec.meta.description
|
|
2284
|
-
}
|
|
2285
|
-
/* @__PURE__ */
|
|
2284
|
+
}),
|
|
2285
|
+
/* @__PURE__ */ jsxs15(Box4, {
|
|
2286
2286
|
className: "flex-col gap-2",
|
|
2287
2287
|
children: [
|
|
2288
|
-
/* @__PURE__ */
|
|
2288
|
+
/* @__PURE__ */ jsx21("span", {
|
|
2289
2289
|
className: "text-muted-foreground text-sm font-medium tracking-wider uppercase",
|
|
2290
2290
|
children: "Spec Details"
|
|
2291
|
-
}
|
|
2292
|
-
/* @__PURE__ */
|
|
2291
|
+
}),
|
|
2292
|
+
/* @__PURE__ */ jsx21(CodeBlock3, {
|
|
2293
2293
|
code: JSON.stringify(spec, null, 2),
|
|
2294
2294
|
language: "json"
|
|
2295
|
-
}
|
|
2295
|
+
})
|
|
2296
2296
|
]
|
|
2297
|
-
}
|
|
2297
|
+
})
|
|
2298
2298
|
]
|
|
2299
|
-
}
|
|
2299
|
+
}) : /* @__PURE__ */ jsxs15(VStack12, {
|
|
2300
2300
|
gap: "md",
|
|
2301
2301
|
children: [
|
|
2302
|
-
/* @__PURE__ */
|
|
2302
|
+
/* @__PURE__ */ jsx21("p", {
|
|
2303
2303
|
className: "text-muted-foreground",
|
|
2304
2304
|
children: "Full component details are not available for this presentation reference."
|
|
2305
|
-
}
|
|
2306
|
-
/* @__PURE__ */
|
|
2305
|
+
}),
|
|
2306
|
+
/* @__PURE__ */ jsx21(CodeBlock3, {
|
|
2307
2307
|
code: JSON.stringify(presRef, null, 2),
|
|
2308
2308
|
language: "json"
|
|
2309
|
-
}
|
|
2309
|
+
})
|
|
2310
2310
|
]
|
|
2311
|
-
}
|
|
2311
|
+
})
|
|
2312
2312
|
]
|
|
2313
|
-
}
|
|
2314
|
-
}
|
|
2315
|
-
}
|
|
2316
|
-
/* @__PURE__ */
|
|
2313
|
+
})
|
|
2314
|
+
})
|
|
2315
|
+
}),
|
|
2316
|
+
/* @__PURE__ */ jsx21("div", {
|
|
2317
2317
|
className: "space-y-6",
|
|
2318
|
-
children: /* @__PURE__ */
|
|
2318
|
+
children: /* @__PURE__ */ jsx21(Card3, {
|
|
2319
2319
|
className: "p-6",
|
|
2320
|
-
children: /* @__PURE__ */
|
|
2320
|
+
children: /* @__PURE__ */ jsxs15(VStack12, {
|
|
2321
2321
|
gap: "md",
|
|
2322
2322
|
children: [
|
|
2323
|
-
/* @__PURE__ */
|
|
2323
|
+
/* @__PURE__ */ jsxs15(HStack9, {
|
|
2324
2324
|
className: "items-center gap-2 border-b pb-2",
|
|
2325
2325
|
children: [
|
|
2326
|
-
/* @__PURE__ */
|
|
2326
|
+
/* @__PURE__ */ jsx21(Database4, {
|
|
2327
2327
|
className: "text-muted-foreground h-5 w-5"
|
|
2328
|
-
}
|
|
2329
|
-
/* @__PURE__ */
|
|
2328
|
+
}),
|
|
2329
|
+
/* @__PURE__ */ jsx21("h3", {
|
|
2330
2330
|
className: "text-lg font-semibold",
|
|
2331
2331
|
children: "Metadata"
|
|
2332
|
-
}
|
|
2332
|
+
})
|
|
2333
2333
|
]
|
|
2334
|
-
}
|
|
2335
|
-
/* @__PURE__ */
|
|
2334
|
+
}),
|
|
2335
|
+
/* @__PURE__ */ jsxs15("dl", {
|
|
2336
2336
|
className: "grid grid-cols-1 gap-4 text-sm",
|
|
2337
2337
|
children: [
|
|
2338
|
-
/* @__PURE__ */
|
|
2338
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
2339
2339
|
children: [
|
|
2340
|
-
/* @__PURE__ */
|
|
2340
|
+
/* @__PURE__ */ jsx21("dt", {
|
|
2341
2341
|
className: "text-muted-foreground",
|
|
2342
2342
|
children: "Key"
|
|
2343
|
-
}
|
|
2344
|
-
/* @__PURE__ */
|
|
2343
|
+
}),
|
|
2344
|
+
/* @__PURE__ */ jsx21("dd", {
|
|
2345
2345
|
className: "truncate font-medium",
|
|
2346
2346
|
children: presRef.key
|
|
2347
|
-
}
|
|
2347
|
+
})
|
|
2348
2348
|
]
|
|
2349
|
-
}
|
|
2350
|
-
/* @__PURE__ */
|
|
2349
|
+
}),
|
|
2350
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
2351
2351
|
children: [
|
|
2352
|
-
/* @__PURE__ */
|
|
2352
|
+
/* @__PURE__ */ jsx21("dt", {
|
|
2353
2353
|
className: "text-muted-foreground",
|
|
2354
2354
|
children: "Version"
|
|
2355
|
-
}
|
|
2356
|
-
/* @__PURE__ */
|
|
2355
|
+
}),
|
|
2356
|
+
/* @__PURE__ */ jsx21("dd", {
|
|
2357
2357
|
className: "font-medium",
|
|
2358
2358
|
children: presRef.version
|
|
2359
|
-
}
|
|
2359
|
+
})
|
|
2360
2360
|
]
|
|
2361
|
-
}
|
|
2362
|
-
spec?.meta?.owners && /* @__PURE__ */
|
|
2361
|
+
}),
|
|
2362
|
+
spec?.meta?.owners && /* @__PURE__ */ jsxs15("div", {
|
|
2363
2363
|
children: [
|
|
2364
|
-
/* @__PURE__ */
|
|
2364
|
+
/* @__PURE__ */ jsx21("dt", {
|
|
2365
2365
|
className: "text-muted-foreground",
|
|
2366
2366
|
children: "Owners"
|
|
2367
|
-
}
|
|
2368
|
-
/* @__PURE__ */
|
|
2367
|
+
}),
|
|
2368
|
+
/* @__PURE__ */ jsx21("dd", {
|
|
2369
2369
|
className: "flex flex-wrap gap-1 font-medium",
|
|
2370
|
-
children: spec.meta.owners.map((o) => /* @__PURE__ */
|
|
2370
|
+
children: spec.meta.owners.map((o) => /* @__PURE__ */ jsx21(StatusChip8, {
|
|
2371
2371
|
label: o,
|
|
2372
2372
|
size: "sm",
|
|
2373
2373
|
tone: "neutral"
|
|
2374
|
-
}, o
|
|
2375
|
-
}
|
|
2374
|
+
}, o))
|
|
2375
|
+
})
|
|
2376
2376
|
]
|
|
2377
|
-
}
|
|
2377
|
+
})
|
|
2378
2378
|
]
|
|
2379
|
-
}
|
|
2379
|
+
})
|
|
2380
2380
|
]
|
|
2381
|
-
}
|
|
2382
|
-
}
|
|
2383
|
-
}
|
|
2384
|
-
relatedDocs?.length ? /* @__PURE__ */
|
|
2381
|
+
})
|
|
2382
|
+
})
|
|
2383
|
+
}),
|
|
2384
|
+
relatedDocs?.length ? /* @__PURE__ */ jsx21("div", {
|
|
2385
2385
|
className: "lg:col-span-3",
|
|
2386
|
-
children: /* @__PURE__ */
|
|
2386
|
+
children: /* @__PURE__ */ jsx21(Card3, {
|
|
2387
2387
|
className: "p-6",
|
|
2388
|
-
children: /* @__PURE__ */
|
|
2388
|
+
children: /* @__PURE__ */ jsxs15(VStack12, {
|
|
2389
2389
|
gap: "md",
|
|
2390
2390
|
children: [
|
|
2391
|
-
/* @__PURE__ */
|
|
2391
|
+
/* @__PURE__ */ jsxs15(HStack9, {
|
|
2392
2392
|
className: "items-center gap-2 border-b pb-2",
|
|
2393
2393
|
children: [
|
|
2394
|
-
/* @__PURE__ */
|
|
2394
|
+
/* @__PURE__ */ jsx21(BookOpen2, {
|
|
2395
2395
|
className: "text-muted-foreground h-5 w-5"
|
|
2396
|
-
}
|
|
2397
|
-
/* @__PURE__ */
|
|
2396
|
+
}),
|
|
2397
|
+
/* @__PURE__ */ jsx21("h3", {
|
|
2398
2398
|
className: "text-lg font-semibold",
|
|
2399
2399
|
children: "Related Documentation"
|
|
2400
|
-
}
|
|
2400
|
+
})
|
|
2401
2401
|
]
|
|
2402
|
-
}
|
|
2403
|
-
/* @__PURE__ */
|
|
2402
|
+
}),
|
|
2403
|
+
/* @__PURE__ */ jsx21("div", {
|
|
2404
2404
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
2405
|
-
children: relatedDocs.map((doc) => /* @__PURE__ */
|
|
2405
|
+
children: relatedDocs.map((doc) => /* @__PURE__ */ jsx21(Link3, {
|
|
2406
2406
|
href: doc.route || `/docs/${doc.id}`,
|
|
2407
2407
|
className: "group block",
|
|
2408
|
-
children: /* @__PURE__ */
|
|
2408
|
+
children: /* @__PURE__ */ jsxs15("div", {
|
|
2409
2409
|
className: "hover:border-primary h-full rounded-lg border p-4 transition-colors",
|
|
2410
2410
|
children: [
|
|
2411
|
-
/* @__PURE__ */
|
|
2411
|
+
/* @__PURE__ */ jsx21("h4", {
|
|
2412
2412
|
className: "group-hover:text-primary mb-1 font-semibold",
|
|
2413
2413
|
children: doc.title
|
|
2414
|
-
}
|
|
2415
|
-
doc.summary && /* @__PURE__ */
|
|
2414
|
+
}),
|
|
2415
|
+
doc.summary && /* @__PURE__ */ jsx21("p", {
|
|
2416
2416
|
className: "text-muted-foreground line-clamp-2 text-sm",
|
|
2417
2417
|
children: doc.summary
|
|
2418
|
-
}
|
|
2418
|
+
})
|
|
2419
2419
|
]
|
|
2420
|
-
}
|
|
2421
|
-
}, doc.id
|
|
2422
|
-
}
|
|
2420
|
+
})
|
|
2421
|
+
}, doc.id))
|
|
2422
|
+
})
|
|
2423
2423
|
]
|
|
2424
|
-
}
|
|
2425
|
-
}
|
|
2426
|
-
}
|
|
2424
|
+
})
|
|
2425
|
+
})
|
|
2426
|
+
}) : null
|
|
2427
2427
|
]
|
|
2428
|
-
}
|
|
2428
|
+
})
|
|
2429
2429
|
]
|
|
2430
|
-
}
|
|
2430
|
+
});
|
|
2431
2431
|
}
|
|
2432
2432
|
// src/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.tsx
|
|
2433
2433
|
import {
|
|
@@ -2442,7 +2442,7 @@ import { Box as Box5, HStack as HStack10, VStack as VStack13 } from "@contractsp
|
|
|
2442
2442
|
import { cn as cn15 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
2443
2443
|
import { BookOpen as BookOpen3, Code as Code4, Database as Database5, Table as Table2 } from "lucide-react";
|
|
2444
2444
|
import Link4 from "next/link";
|
|
2445
|
-
import {
|
|
2445
|
+
import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2446
2446
|
"use client";
|
|
2447
2447
|
function FeatureDataViewDetailTemplate({
|
|
2448
2448
|
feature,
|
|
@@ -2454,14 +2454,14 @@ function FeatureDataViewDetailTemplate({
|
|
|
2454
2454
|
const viewRef = view ?? feature.dataViews?.find((v) => v.key === viewKey);
|
|
2455
2455
|
const relatedDocs = useRelatedDocs(viewRef?.key || "", spec?.meta?.tags);
|
|
2456
2456
|
if (!viewRef) {
|
|
2457
|
-
return /* @__PURE__ */
|
|
2457
|
+
return /* @__PURE__ */ jsxs16(VStack13, {
|
|
2458
2458
|
gap: "lg",
|
|
2459
2459
|
className: cn15("mx-auto w-full max-w-5xl p-6", className),
|
|
2460
2460
|
children: [
|
|
2461
|
-
/* @__PURE__ */
|
|
2461
|
+
/* @__PURE__ */ jsx22(PageHeaderResponsive11, {
|
|
2462
2462
|
title: "Data View Not Found",
|
|
2463
2463
|
subtitle: `Data View ${viewKey} not found in feature ${feature.meta.key}`,
|
|
2464
|
-
breadcrumb: /* @__PURE__ */
|
|
2464
|
+
breadcrumb: /* @__PURE__ */ jsx22(Breadcrumbs10, {
|
|
2465
2465
|
items: [
|
|
2466
2466
|
{ label: "Features", href: "/features" },
|
|
2467
2467
|
{
|
|
@@ -2470,26 +2470,26 @@ function FeatureDataViewDetailTemplate({
|
|
|
2470
2470
|
},
|
|
2471
2471
|
{ label: "Data Views" }
|
|
2472
2472
|
]
|
|
2473
|
-
}
|
|
2474
|
-
}
|
|
2475
|
-
/* @__PURE__ */
|
|
2473
|
+
})
|
|
2474
|
+
}),
|
|
2475
|
+
/* @__PURE__ */ jsx22(EmptyState5, {
|
|
2476
2476
|
title: "Data View not found",
|
|
2477
2477
|
description: `The data view '${viewKey}' could not be found in this feature.`,
|
|
2478
|
-
icon: /* @__PURE__ */
|
|
2478
|
+
icon: /* @__PURE__ */ jsx22(Table2, {
|
|
2479
2479
|
className: "text-muted-foreground h-12 w-12"
|
|
2480
|
-
}
|
|
2481
|
-
}
|
|
2480
|
+
})
|
|
2481
|
+
})
|
|
2482
2482
|
]
|
|
2483
|
-
}
|
|
2483
|
+
});
|
|
2484
2484
|
}
|
|
2485
|
-
return /* @__PURE__ */
|
|
2485
|
+
return /* @__PURE__ */ jsxs16(VStack13, {
|
|
2486
2486
|
gap: "lg",
|
|
2487
2487
|
className: cn15("mx-auto w-full max-w-5xl p-6", className),
|
|
2488
2488
|
children: [
|
|
2489
|
-
/* @__PURE__ */
|
|
2489
|
+
/* @__PURE__ */ jsx22(PageHeaderResponsive11, {
|
|
2490
2490
|
title: viewRef.key,
|
|
2491
2491
|
subtitle: `Data View defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
2492
|
-
breadcrumb: /* @__PURE__ */
|
|
2492
|
+
breadcrumb: /* @__PURE__ */ jsx22(Breadcrumbs10, {
|
|
2493
2493
|
items: [
|
|
2494
2494
|
{ label: "Features", href: "/features" },
|
|
2495
2495
|
{
|
|
@@ -2502,235 +2502,235 @@ function FeatureDataViewDetailTemplate({
|
|
|
2502
2502
|
},
|
|
2503
2503
|
{ label: viewRef.key }
|
|
2504
2504
|
]
|
|
2505
|
-
}
|
|
2506
|
-
}
|
|
2507
|
-
/* @__PURE__ */
|
|
2505
|
+
})
|
|
2506
|
+
}),
|
|
2507
|
+
/* @__PURE__ */ jsxs16(HStack10, {
|
|
2508
2508
|
gap: "sm",
|
|
2509
2509
|
children: [
|
|
2510
|
-
/* @__PURE__ */
|
|
2510
|
+
/* @__PURE__ */ jsx22(StatusChip9, {
|
|
2511
2511
|
tone: "neutral",
|
|
2512
2512
|
label: viewRef.key,
|
|
2513
2513
|
size: "sm",
|
|
2514
|
-
icon: /* @__PURE__ */
|
|
2514
|
+
icon: /* @__PURE__ */ jsx22(Table2, {
|
|
2515
2515
|
className: "h-3 w-3"
|
|
2516
|
-
}
|
|
2517
|
-
}
|
|
2518
|
-
/* @__PURE__ */
|
|
2516
|
+
})
|
|
2517
|
+
}),
|
|
2518
|
+
/* @__PURE__ */ jsx22(StatusChip9, {
|
|
2519
2519
|
tone: "neutral",
|
|
2520
2520
|
label: `v${viewRef.version}`,
|
|
2521
2521
|
size: "sm"
|
|
2522
|
-
}
|
|
2523
|
-
spec?.meta?.stability ? /* @__PURE__ */
|
|
2522
|
+
}),
|
|
2523
|
+
spec?.meta?.stability ? /* @__PURE__ */ jsx22(StatusChip9, {
|
|
2524
2524
|
tone: spec.meta.stability === "stable" ? "success" : "warning",
|
|
2525
2525
|
label: spec.meta.stability,
|
|
2526
2526
|
size: "sm"
|
|
2527
|
-
}
|
|
2527
|
+
}) : null
|
|
2528
2528
|
]
|
|
2529
|
-
}
|
|
2530
|
-
/* @__PURE__ */
|
|
2529
|
+
}),
|
|
2530
|
+
/* @__PURE__ */ jsxs16("div", {
|
|
2531
2531
|
className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
|
|
2532
2532
|
children: [
|
|
2533
|
-
/* @__PURE__ */
|
|
2533
|
+
/* @__PURE__ */ jsx22("div", {
|
|
2534
2534
|
className: "space-y-6 lg:col-span-2",
|
|
2535
|
-
children: /* @__PURE__ */
|
|
2535
|
+
children: /* @__PURE__ */ jsx22(Card4, {
|
|
2536
2536
|
className: "p-6",
|
|
2537
|
-
children: /* @__PURE__ */
|
|
2537
|
+
children: /* @__PURE__ */ jsxs16(VStack13, {
|
|
2538
2538
|
gap: "md",
|
|
2539
2539
|
children: [
|
|
2540
|
-
/* @__PURE__ */
|
|
2540
|
+
/* @__PURE__ */ jsxs16(HStack10, {
|
|
2541
2541
|
className: "items-center gap-2 border-b pb-2",
|
|
2542
2542
|
children: [
|
|
2543
|
-
/* @__PURE__ */
|
|
2543
|
+
/* @__PURE__ */ jsx22(Code4, {
|
|
2544
2544
|
className: "text-muted-foreground h-5 w-5"
|
|
2545
|
-
}
|
|
2546
|
-
/* @__PURE__ */
|
|
2545
|
+
}),
|
|
2546
|
+
/* @__PURE__ */ jsx22("h3", {
|
|
2547
2547
|
className: "text-lg font-semibold",
|
|
2548
2548
|
children: "View Definition"
|
|
2549
|
-
}
|
|
2549
|
+
})
|
|
2550
2550
|
]
|
|
2551
|
-
}
|
|
2552
|
-
spec ? /* @__PURE__ */
|
|
2551
|
+
}),
|
|
2552
|
+
spec ? /* @__PURE__ */ jsxs16(VStack13, {
|
|
2553
2553
|
gap: "lg",
|
|
2554
2554
|
children: [
|
|
2555
|
-
spec.meta.description && /* @__PURE__ */
|
|
2555
|
+
spec.meta.description && /* @__PURE__ */ jsx22("p", {
|
|
2556
2556
|
className: "text-muted-foreground",
|
|
2557
2557
|
children: spec.meta.description
|
|
2558
|
-
}
|
|
2559
|
-
/* @__PURE__ */
|
|
2558
|
+
}),
|
|
2559
|
+
/* @__PURE__ */ jsxs16(Box5, {
|
|
2560
2560
|
className: "flex-col gap-2",
|
|
2561
2561
|
children: [
|
|
2562
|
-
/* @__PURE__ */
|
|
2562
|
+
/* @__PURE__ */ jsx22("span", {
|
|
2563
2563
|
className: "text-muted-foreground text-sm font-medium tracking-wider uppercase",
|
|
2564
2564
|
children: "Source Query"
|
|
2565
|
-
}
|
|
2566
|
-
/* @__PURE__ */
|
|
2565
|
+
}),
|
|
2566
|
+
/* @__PURE__ */ jsx22(CodeBlock4, {
|
|
2567
2567
|
code: JSON.stringify(spec.source, null, 2),
|
|
2568
2568
|
language: "json"
|
|
2569
|
-
}
|
|
2569
|
+
})
|
|
2570
2570
|
]
|
|
2571
|
-
}
|
|
2572
|
-
/* @__PURE__ */
|
|
2571
|
+
}),
|
|
2572
|
+
/* @__PURE__ */ jsxs16(Box5, {
|
|
2573
2573
|
className: "flex-col gap-2",
|
|
2574
2574
|
children: [
|
|
2575
|
-
/* @__PURE__ */
|
|
2575
|
+
/* @__PURE__ */ jsx22("span", {
|
|
2576
2576
|
className: "text-muted-foreground text-sm font-medium tracking-wider uppercase",
|
|
2577
2577
|
children: "View Configuration"
|
|
2578
|
-
}
|
|
2579
|
-
/* @__PURE__ */
|
|
2578
|
+
}),
|
|
2579
|
+
/* @__PURE__ */ jsx22(CodeBlock4, {
|
|
2580
2580
|
code: JSON.stringify(spec.view, null, 2),
|
|
2581
2581
|
language: "json"
|
|
2582
|
-
}
|
|
2582
|
+
})
|
|
2583
2583
|
]
|
|
2584
|
-
}
|
|
2584
|
+
})
|
|
2585
2585
|
]
|
|
2586
|
-
}
|
|
2586
|
+
}) : /* @__PURE__ */ jsxs16(VStack13, {
|
|
2587
2587
|
gap: "md",
|
|
2588
2588
|
children: [
|
|
2589
|
-
/* @__PURE__ */
|
|
2589
|
+
/* @__PURE__ */ jsx22("p", {
|
|
2590
2590
|
className: "text-muted-foreground",
|
|
2591
2591
|
children: "Full definition details are not available for this data view reference."
|
|
2592
|
-
}
|
|
2593
|
-
/* @__PURE__ */
|
|
2592
|
+
}),
|
|
2593
|
+
/* @__PURE__ */ jsx22(CodeBlock4, {
|
|
2594
2594
|
code: JSON.stringify(viewRef, null, 2),
|
|
2595
2595
|
language: "json"
|
|
2596
|
-
}
|
|
2596
|
+
})
|
|
2597
2597
|
]
|
|
2598
|
-
}
|
|
2598
|
+
})
|
|
2599
2599
|
]
|
|
2600
|
-
}
|
|
2601
|
-
}
|
|
2602
|
-
}
|
|
2603
|
-
/* @__PURE__ */
|
|
2600
|
+
})
|
|
2601
|
+
})
|
|
2602
|
+
}),
|
|
2603
|
+
/* @__PURE__ */ jsx22("div", {
|
|
2604
2604
|
className: "space-y-6",
|
|
2605
|
-
children: /* @__PURE__ */
|
|
2605
|
+
children: /* @__PURE__ */ jsx22(Card4, {
|
|
2606
2606
|
className: "p-6",
|
|
2607
|
-
children: /* @__PURE__ */
|
|
2607
|
+
children: /* @__PURE__ */ jsxs16(VStack13, {
|
|
2608
2608
|
gap: "md",
|
|
2609
2609
|
children: [
|
|
2610
|
-
/* @__PURE__ */
|
|
2610
|
+
/* @__PURE__ */ jsxs16(HStack10, {
|
|
2611
2611
|
className: "items-center gap-2 border-b pb-2",
|
|
2612
2612
|
children: [
|
|
2613
|
-
/* @__PURE__ */
|
|
2613
|
+
/* @__PURE__ */ jsx22(Database5, {
|
|
2614
2614
|
className: "text-muted-foreground h-5 w-5"
|
|
2615
|
-
}
|
|
2616
|
-
/* @__PURE__ */
|
|
2615
|
+
}),
|
|
2616
|
+
/* @__PURE__ */ jsx22("h3", {
|
|
2617
2617
|
className: "text-lg font-semibold",
|
|
2618
2618
|
children: "Metadata"
|
|
2619
|
-
}
|
|
2619
|
+
})
|
|
2620
2620
|
]
|
|
2621
|
-
}
|
|
2622
|
-
/* @__PURE__ */
|
|
2621
|
+
}),
|
|
2622
|
+
/* @__PURE__ */ jsxs16("dl", {
|
|
2623
2623
|
className: "grid grid-cols-1 gap-4 text-sm",
|
|
2624
2624
|
children: [
|
|
2625
|
-
/* @__PURE__ */
|
|
2625
|
+
/* @__PURE__ */ jsxs16("div", {
|
|
2626
2626
|
children: [
|
|
2627
|
-
/* @__PURE__ */
|
|
2627
|
+
/* @__PURE__ */ jsx22("dt", {
|
|
2628
2628
|
className: "text-muted-foreground",
|
|
2629
2629
|
children: "Key"
|
|
2630
|
-
}
|
|
2631
|
-
/* @__PURE__ */
|
|
2630
|
+
}),
|
|
2631
|
+
/* @__PURE__ */ jsx22("dd", {
|
|
2632
2632
|
className: "truncate font-medium",
|
|
2633
2633
|
children: viewRef.key
|
|
2634
|
-
}
|
|
2634
|
+
})
|
|
2635
2635
|
]
|
|
2636
|
-
}
|
|
2637
|
-
/* @__PURE__ */
|
|
2636
|
+
}),
|
|
2637
|
+
/* @__PURE__ */ jsxs16("div", {
|
|
2638
2638
|
children: [
|
|
2639
|
-
/* @__PURE__ */
|
|
2639
|
+
/* @__PURE__ */ jsx22("dt", {
|
|
2640
2640
|
className: "text-muted-foreground",
|
|
2641
2641
|
children: "Version"
|
|
2642
|
-
}
|
|
2643
|
-
/* @__PURE__ */
|
|
2642
|
+
}),
|
|
2643
|
+
/* @__PURE__ */ jsx22("dd", {
|
|
2644
2644
|
className: "font-medium",
|
|
2645
2645
|
children: viewRef.version
|
|
2646
|
-
}
|
|
2646
|
+
})
|
|
2647
2647
|
]
|
|
2648
|
-
}
|
|
2649
|
-
spec?.meta?.owners && /* @__PURE__ */
|
|
2648
|
+
}),
|
|
2649
|
+
spec?.meta?.owners && /* @__PURE__ */ jsxs16("div", {
|
|
2650
2650
|
children: [
|
|
2651
|
-
/* @__PURE__ */
|
|
2651
|
+
/* @__PURE__ */ jsx22("dt", {
|
|
2652
2652
|
className: "text-muted-foreground",
|
|
2653
2653
|
children: "Owners"
|
|
2654
|
-
}
|
|
2655
|
-
/* @__PURE__ */
|
|
2654
|
+
}),
|
|
2655
|
+
/* @__PURE__ */ jsx22("dd", {
|
|
2656
2656
|
className: "flex flex-wrap gap-1 font-medium",
|
|
2657
|
-
children: spec.meta.owners.map((o) => /* @__PURE__ */
|
|
2657
|
+
children: spec.meta.owners.map((o) => /* @__PURE__ */ jsx22(StatusChip9, {
|
|
2658
2658
|
label: o,
|
|
2659
2659
|
size: "sm",
|
|
2660
2660
|
tone: "neutral"
|
|
2661
|
-
}, o
|
|
2662
|
-
}
|
|
2661
|
+
}, o))
|
|
2662
|
+
})
|
|
2663
2663
|
]
|
|
2664
|
-
}
|
|
2665
|
-
spec?.meta?.tags && /* @__PURE__ */
|
|
2664
|
+
}),
|
|
2665
|
+
spec?.meta?.tags && /* @__PURE__ */ jsxs16("div", {
|
|
2666
2666
|
children: [
|
|
2667
|
-
/* @__PURE__ */
|
|
2667
|
+
/* @__PURE__ */ jsx22("dt", {
|
|
2668
2668
|
className: "text-muted-foreground",
|
|
2669
2669
|
children: "Tags"
|
|
2670
|
-
}
|
|
2671
|
-
/* @__PURE__ */
|
|
2670
|
+
}),
|
|
2671
|
+
/* @__PURE__ */ jsx22("dd", {
|
|
2672
2672
|
className: "flex flex-wrap gap-1 font-medium",
|
|
2673
|
-
children: spec.meta.tags.map((t) => /* @__PURE__ */
|
|
2673
|
+
children: spec.meta.tags.map((t) => /* @__PURE__ */ jsx22(StatusChip9, {
|
|
2674
2674
|
label: `#${t}`,
|
|
2675
2675
|
size: "sm",
|
|
2676
2676
|
tone: "neutral"
|
|
2677
|
-
}, t
|
|
2678
|
-
}
|
|
2677
|
+
}, t))
|
|
2678
|
+
})
|
|
2679
2679
|
]
|
|
2680
|
-
}
|
|
2680
|
+
})
|
|
2681
2681
|
]
|
|
2682
|
-
}
|
|
2682
|
+
})
|
|
2683
2683
|
]
|
|
2684
|
-
}
|
|
2685
|
-
}
|
|
2686
|
-
}
|
|
2687
|
-
relatedDocs?.length ? /* @__PURE__ */
|
|
2684
|
+
})
|
|
2685
|
+
})
|
|
2686
|
+
}),
|
|
2687
|
+
relatedDocs?.length ? /* @__PURE__ */ jsx22("div", {
|
|
2688
2688
|
className: "lg:col-span-3",
|
|
2689
|
-
children: /* @__PURE__ */
|
|
2689
|
+
children: /* @__PURE__ */ jsx22(Card4, {
|
|
2690
2690
|
className: "p-6",
|
|
2691
|
-
children: /* @__PURE__ */
|
|
2691
|
+
children: /* @__PURE__ */ jsxs16(VStack13, {
|
|
2692
2692
|
gap: "md",
|
|
2693
2693
|
children: [
|
|
2694
|
-
/* @__PURE__ */
|
|
2694
|
+
/* @__PURE__ */ jsxs16(HStack10, {
|
|
2695
2695
|
className: "items-center gap-2 border-b pb-2",
|
|
2696
2696
|
children: [
|
|
2697
|
-
/* @__PURE__ */
|
|
2697
|
+
/* @__PURE__ */ jsx22(BookOpen3, {
|
|
2698
2698
|
className: "text-muted-foreground h-5 w-5"
|
|
2699
|
-
}
|
|
2700
|
-
/* @__PURE__ */
|
|
2699
|
+
}),
|
|
2700
|
+
/* @__PURE__ */ jsx22("h3", {
|
|
2701
2701
|
className: "text-lg font-semibold",
|
|
2702
2702
|
children: "Related Documentation"
|
|
2703
|
-
}
|
|
2703
|
+
})
|
|
2704
2704
|
]
|
|
2705
|
-
}
|
|
2706
|
-
/* @__PURE__ */
|
|
2705
|
+
}),
|
|
2706
|
+
/* @__PURE__ */ jsx22("div", {
|
|
2707
2707
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
2708
|
-
children: relatedDocs.map((doc) => /* @__PURE__ */
|
|
2708
|
+
children: relatedDocs.map((doc) => /* @__PURE__ */ jsx22(Link4, {
|
|
2709
2709
|
href: doc.route || `/docs/${doc.id}`,
|
|
2710
2710
|
className: "group block",
|
|
2711
|
-
children: /* @__PURE__ */
|
|
2711
|
+
children: /* @__PURE__ */ jsxs16("div", {
|
|
2712
2712
|
className: "hover:border-primary h-full rounded-lg border p-4 transition-colors",
|
|
2713
2713
|
children: [
|
|
2714
|
-
/* @__PURE__ */
|
|
2714
|
+
/* @__PURE__ */ jsx22("h4", {
|
|
2715
2715
|
className: "group-hover:text-primary mb-1 font-semibold",
|
|
2716
2716
|
children: doc.title
|
|
2717
|
-
}
|
|
2718
|
-
doc.summary && /* @__PURE__ */
|
|
2717
|
+
}),
|
|
2718
|
+
doc.summary && /* @__PURE__ */ jsx22("p", {
|
|
2719
2719
|
className: "text-muted-foreground line-clamp-2 text-sm",
|
|
2720
2720
|
children: doc.summary
|
|
2721
|
-
}
|
|
2721
|
+
})
|
|
2722
2722
|
]
|
|
2723
|
-
}
|
|
2724
|
-
}, doc.id
|
|
2725
|
-
}
|
|
2723
|
+
})
|
|
2724
|
+
}, doc.id))
|
|
2725
|
+
})
|
|
2726
2726
|
]
|
|
2727
|
-
}
|
|
2728
|
-
}
|
|
2729
|
-
}
|
|
2727
|
+
})
|
|
2728
|
+
})
|
|
2729
|
+
}) : null
|
|
2730
2730
|
]
|
|
2731
|
-
}
|
|
2731
|
+
})
|
|
2732
2732
|
]
|
|
2733
|
-
}
|
|
2733
|
+
});
|
|
2734
2734
|
}
|
|
2735
2735
|
// src/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.tsx
|
|
2736
2736
|
import {
|
|
@@ -2745,7 +2745,7 @@ import { Box as Box6, HStack as HStack11, VStack as VStack14 } from "@contractsp
|
|
|
2745
2745
|
import { cn as cn16 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
2746
2746
|
import { BookOpen as BookOpen4, Code as Code5, Database as Database6, PenTool } from "lucide-react";
|
|
2747
2747
|
import Link5 from "next/link";
|
|
2748
|
-
import {
|
|
2748
|
+
import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2749
2749
|
"use client";
|
|
2750
2750
|
function FeatureFormDetailTemplate({
|
|
2751
2751
|
feature,
|
|
@@ -2757,14 +2757,14 @@ function FeatureFormDetailTemplate({
|
|
|
2757
2757
|
const formRef = form ?? feature.forms?.find((f) => f.key === formKey);
|
|
2758
2758
|
const relatedDocs = useRelatedDocs(formRef?.key || "", spec?.meta?.tags);
|
|
2759
2759
|
if (!formRef) {
|
|
2760
|
-
return /* @__PURE__ */
|
|
2760
|
+
return /* @__PURE__ */ jsxs17(VStack14, {
|
|
2761
2761
|
gap: "lg",
|
|
2762
2762
|
className: cn16("mx-auto w-full max-w-5xl p-6", className),
|
|
2763
2763
|
children: [
|
|
2764
|
-
/* @__PURE__ */
|
|
2764
|
+
/* @__PURE__ */ jsx23(PageHeaderResponsive12, {
|
|
2765
2765
|
title: "Form Not Found",
|
|
2766
2766
|
subtitle: `Form ${formKey} not found in feature ${feature.meta.key}`,
|
|
2767
|
-
breadcrumb: /* @__PURE__ */
|
|
2767
|
+
breadcrumb: /* @__PURE__ */ jsx23(Breadcrumbs11, {
|
|
2768
2768
|
items: [
|
|
2769
2769
|
{ label: "Features", href: "/features" },
|
|
2770
2770
|
{
|
|
@@ -2773,26 +2773,26 @@ function FeatureFormDetailTemplate({
|
|
|
2773
2773
|
},
|
|
2774
2774
|
{ label: "Forms" }
|
|
2775
2775
|
]
|
|
2776
|
-
}
|
|
2777
|
-
}
|
|
2778
|
-
/* @__PURE__ */
|
|
2776
|
+
})
|
|
2777
|
+
}),
|
|
2778
|
+
/* @__PURE__ */ jsx23(EmptyState6, {
|
|
2779
2779
|
title: "Form not found",
|
|
2780
2780
|
description: `The form '${formKey}' could not be found in this feature.`,
|
|
2781
|
-
icon: /* @__PURE__ */
|
|
2781
|
+
icon: /* @__PURE__ */ jsx23(PenTool, {
|
|
2782
2782
|
className: "text-muted-foreground h-12 w-12"
|
|
2783
|
-
}
|
|
2784
|
-
}
|
|
2783
|
+
})
|
|
2784
|
+
})
|
|
2785
2785
|
]
|
|
2786
|
-
}
|
|
2786
|
+
});
|
|
2787
2787
|
}
|
|
2788
|
-
return /* @__PURE__ */
|
|
2788
|
+
return /* @__PURE__ */ jsxs17(VStack14, {
|
|
2789
2789
|
gap: "lg",
|
|
2790
2790
|
className: cn16("mx-auto w-full max-w-5xl p-6", className),
|
|
2791
2791
|
children: [
|
|
2792
|
-
/* @__PURE__ */
|
|
2792
|
+
/* @__PURE__ */ jsx23(PageHeaderResponsive12, {
|
|
2793
2793
|
title: formRef.key,
|
|
2794
2794
|
subtitle: `Form defined in ${feature.meta.title ?? feature.meta.key}`,
|
|
2795
|
-
breadcrumb: /* @__PURE__ */
|
|
2795
|
+
breadcrumb: /* @__PURE__ */ jsx23(Breadcrumbs11, {
|
|
2796
2796
|
items: [
|
|
2797
2797
|
{ label: "Features", href: "/features" },
|
|
2798
2798
|
{
|
|
@@ -2802,235 +2802,235 @@ function FeatureFormDetailTemplate({
|
|
|
2802
2802
|
{ label: "Forms", href: `/features/${feature.meta.key}#forms` },
|
|
2803
2803
|
{ label: formRef.key }
|
|
2804
2804
|
]
|
|
2805
|
-
}
|
|
2806
|
-
}
|
|
2807
|
-
/* @__PURE__ */
|
|
2805
|
+
})
|
|
2806
|
+
}),
|
|
2807
|
+
/* @__PURE__ */ jsxs17(HStack11, {
|
|
2808
2808
|
gap: "sm",
|
|
2809
2809
|
children: [
|
|
2810
|
-
/* @__PURE__ */
|
|
2810
|
+
/* @__PURE__ */ jsx23(StatusChip10, {
|
|
2811
2811
|
tone: "neutral",
|
|
2812
2812
|
label: formRef.key,
|
|
2813
2813
|
size: "sm",
|
|
2814
|
-
icon: /* @__PURE__ */
|
|
2814
|
+
icon: /* @__PURE__ */ jsx23(PenTool, {
|
|
2815
2815
|
className: "h-3 w-3"
|
|
2816
|
-
}
|
|
2817
|
-
}
|
|
2818
|
-
/* @__PURE__ */
|
|
2816
|
+
})
|
|
2817
|
+
}),
|
|
2818
|
+
/* @__PURE__ */ jsx23(StatusChip10, {
|
|
2819
2819
|
tone: "neutral",
|
|
2820
2820
|
label: `v${formRef.version}`,
|
|
2821
2821
|
size: "sm"
|
|
2822
|
-
}
|
|
2823
|
-
spec?.meta?.stability ? /* @__PURE__ */
|
|
2822
|
+
}),
|
|
2823
|
+
spec?.meta?.stability ? /* @__PURE__ */ jsx23(StatusChip10, {
|
|
2824
2824
|
tone: spec.meta.stability === "stable" ? "success" : "warning",
|
|
2825
2825
|
label: spec.meta.stability,
|
|
2826
2826
|
size: "sm"
|
|
2827
|
-
}
|
|
2827
|
+
}) : null
|
|
2828
2828
|
]
|
|
2829
|
-
}
|
|
2830
|
-
/* @__PURE__ */
|
|
2829
|
+
}),
|
|
2830
|
+
/* @__PURE__ */ jsxs17("div", {
|
|
2831
2831
|
className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
|
|
2832
2832
|
children: [
|
|
2833
|
-
/* @__PURE__ */
|
|
2833
|
+
/* @__PURE__ */ jsx23("div", {
|
|
2834
2834
|
className: "space-y-6 lg:col-span-2",
|
|
2835
|
-
children: /* @__PURE__ */
|
|
2835
|
+
children: /* @__PURE__ */ jsx23(Card5, {
|
|
2836
2836
|
className: "p-6",
|
|
2837
|
-
children: /* @__PURE__ */
|
|
2837
|
+
children: /* @__PURE__ */ jsxs17(VStack14, {
|
|
2838
2838
|
gap: "md",
|
|
2839
2839
|
children: [
|
|
2840
|
-
/* @__PURE__ */
|
|
2840
|
+
/* @__PURE__ */ jsxs17(HStack11, {
|
|
2841
2841
|
className: "items-center gap-2 border-b pb-2",
|
|
2842
2842
|
children: [
|
|
2843
|
-
/* @__PURE__ */
|
|
2843
|
+
/* @__PURE__ */ jsx23(Code5, {
|
|
2844
2844
|
className: "text-muted-foreground h-5 w-5"
|
|
2845
|
-
}
|
|
2846
|
-
/* @__PURE__ */
|
|
2845
|
+
}),
|
|
2846
|
+
/* @__PURE__ */ jsx23("h3", {
|
|
2847
2847
|
className: "text-lg font-semibold",
|
|
2848
2848
|
children: "Form Definition"
|
|
2849
|
-
}
|
|
2849
|
+
})
|
|
2850
2850
|
]
|
|
2851
|
-
}
|
|
2852
|
-
spec ? /* @__PURE__ */
|
|
2851
|
+
}),
|
|
2852
|
+
spec ? /* @__PURE__ */ jsxs17(VStack14, {
|
|
2853
2853
|
gap: "lg",
|
|
2854
2854
|
children: [
|
|
2855
|
-
spec.meta.description && /* @__PURE__ */
|
|
2855
|
+
spec.meta.description && /* @__PURE__ */ jsx23("p", {
|
|
2856
2856
|
className: "text-muted-foreground",
|
|
2857
2857
|
children: spec.meta.description
|
|
2858
|
-
}
|
|
2859
|
-
/* @__PURE__ */
|
|
2858
|
+
}),
|
|
2859
|
+
/* @__PURE__ */ jsxs17(Box6, {
|
|
2860
2860
|
className: "flex-col gap-2",
|
|
2861
2861
|
children: [
|
|
2862
|
-
/* @__PURE__ */
|
|
2862
|
+
/* @__PURE__ */ jsx23("span", {
|
|
2863
2863
|
className: "text-muted-foreground text-sm font-medium tracking-wider uppercase",
|
|
2864
2864
|
children: "Fields"
|
|
2865
|
-
}
|
|
2866
|
-
/* @__PURE__ */
|
|
2865
|
+
}),
|
|
2866
|
+
/* @__PURE__ */ jsx23(CodeBlock5, {
|
|
2867
2867
|
code: JSON.stringify(spec.fields, null, 2),
|
|
2868
2868
|
language: "json"
|
|
2869
|
-
}
|
|
2869
|
+
})
|
|
2870
2870
|
]
|
|
2871
|
-
}
|
|
2872
|
-
/* @__PURE__ */
|
|
2871
|
+
}),
|
|
2872
|
+
/* @__PURE__ */ jsxs17(Box6, {
|
|
2873
2873
|
className: "flex-col gap-2",
|
|
2874
2874
|
children: [
|
|
2875
|
-
/* @__PURE__ */
|
|
2875
|
+
/* @__PURE__ */ jsx23("span", {
|
|
2876
2876
|
className: "text-muted-foreground text-sm font-medium tracking-wider uppercase",
|
|
2877
2877
|
children: "Actions"
|
|
2878
|
-
}
|
|
2879
|
-
/* @__PURE__ */
|
|
2878
|
+
}),
|
|
2879
|
+
/* @__PURE__ */ jsx23(CodeBlock5, {
|
|
2880
2880
|
code: JSON.stringify(spec.actions, null, 2),
|
|
2881
2881
|
language: "json"
|
|
2882
|
-
}
|
|
2882
|
+
})
|
|
2883
2883
|
]
|
|
2884
|
-
}
|
|
2884
|
+
})
|
|
2885
2885
|
]
|
|
2886
|
-
}
|
|
2886
|
+
}) : /* @__PURE__ */ jsxs17(VStack14, {
|
|
2887
2887
|
gap: "md",
|
|
2888
2888
|
children: [
|
|
2889
|
-
/* @__PURE__ */
|
|
2889
|
+
/* @__PURE__ */ jsx23("p", {
|
|
2890
2890
|
className: "text-muted-foreground",
|
|
2891
2891
|
children: "Full form definition details are not available for this form reference."
|
|
2892
|
-
}
|
|
2893
|
-
/* @__PURE__ */
|
|
2892
|
+
}),
|
|
2893
|
+
/* @__PURE__ */ jsx23(CodeBlock5, {
|
|
2894
2894
|
code: JSON.stringify(formRef, null, 2),
|
|
2895
2895
|
language: "json"
|
|
2896
|
-
}
|
|
2896
|
+
})
|
|
2897
2897
|
]
|
|
2898
|
-
}
|
|
2898
|
+
})
|
|
2899
2899
|
]
|
|
2900
|
-
}
|
|
2901
|
-
}
|
|
2902
|
-
}
|
|
2903
|
-
/* @__PURE__ */
|
|
2900
|
+
})
|
|
2901
|
+
})
|
|
2902
|
+
}),
|
|
2903
|
+
/* @__PURE__ */ jsx23("div", {
|
|
2904
2904
|
className: "space-y-6",
|
|
2905
|
-
children: /* @__PURE__ */
|
|
2905
|
+
children: /* @__PURE__ */ jsx23(Card5, {
|
|
2906
2906
|
className: "p-6",
|
|
2907
|
-
children: /* @__PURE__ */
|
|
2907
|
+
children: /* @__PURE__ */ jsxs17(VStack14, {
|
|
2908
2908
|
gap: "md",
|
|
2909
2909
|
children: [
|
|
2910
|
-
/* @__PURE__ */
|
|
2910
|
+
/* @__PURE__ */ jsxs17(HStack11, {
|
|
2911
2911
|
className: "items-center gap-2 border-b pb-2",
|
|
2912
2912
|
children: [
|
|
2913
|
-
/* @__PURE__ */
|
|
2913
|
+
/* @__PURE__ */ jsx23(Database6, {
|
|
2914
2914
|
className: "text-muted-foreground h-5 w-5"
|
|
2915
|
-
}
|
|
2916
|
-
/* @__PURE__ */
|
|
2915
|
+
}),
|
|
2916
|
+
/* @__PURE__ */ jsx23("h3", {
|
|
2917
2917
|
className: "text-lg font-semibold",
|
|
2918
2918
|
children: "Metadata"
|
|
2919
|
-
}
|
|
2919
|
+
})
|
|
2920
2920
|
]
|
|
2921
|
-
}
|
|
2922
|
-
/* @__PURE__ */
|
|
2921
|
+
}),
|
|
2922
|
+
/* @__PURE__ */ jsxs17("dl", {
|
|
2923
2923
|
className: "grid grid-cols-1 gap-4 text-sm",
|
|
2924
2924
|
children: [
|
|
2925
|
-
/* @__PURE__ */
|
|
2925
|
+
/* @__PURE__ */ jsxs17("div", {
|
|
2926
2926
|
children: [
|
|
2927
|
-
/* @__PURE__ */
|
|
2927
|
+
/* @__PURE__ */ jsx23("dt", {
|
|
2928
2928
|
className: "text-muted-foreground",
|
|
2929
2929
|
children: "Key"
|
|
2930
|
-
}
|
|
2931
|
-
/* @__PURE__ */
|
|
2930
|
+
}),
|
|
2931
|
+
/* @__PURE__ */ jsx23("dd", {
|
|
2932
2932
|
className: "truncate font-medium",
|
|
2933
2933
|
children: formRef.key
|
|
2934
|
-
}
|
|
2934
|
+
})
|
|
2935
2935
|
]
|
|
2936
|
-
}
|
|
2937
|
-
/* @__PURE__ */
|
|
2936
|
+
}),
|
|
2937
|
+
/* @__PURE__ */ jsxs17("div", {
|
|
2938
2938
|
children: [
|
|
2939
|
-
/* @__PURE__ */
|
|
2939
|
+
/* @__PURE__ */ jsx23("dt", {
|
|
2940
2940
|
className: "text-muted-foreground",
|
|
2941
2941
|
children: "Version"
|
|
2942
|
-
}
|
|
2943
|
-
/* @__PURE__ */
|
|
2942
|
+
}),
|
|
2943
|
+
/* @__PURE__ */ jsx23("dd", {
|
|
2944
2944
|
className: "font-medium",
|
|
2945
2945
|
children: formRef.version
|
|
2946
|
-
}
|
|
2946
|
+
})
|
|
2947
2947
|
]
|
|
2948
|
-
}
|
|
2949
|
-
spec?.meta?.owners && /* @__PURE__ */
|
|
2948
|
+
}),
|
|
2949
|
+
spec?.meta?.owners && /* @__PURE__ */ jsxs17("div", {
|
|
2950
2950
|
children: [
|
|
2951
|
-
/* @__PURE__ */
|
|
2951
|
+
/* @__PURE__ */ jsx23("dt", {
|
|
2952
2952
|
className: "text-muted-foreground",
|
|
2953
2953
|
children: "Owners"
|
|
2954
|
-
}
|
|
2955
|
-
/* @__PURE__ */
|
|
2954
|
+
}),
|
|
2955
|
+
/* @__PURE__ */ jsx23("dd", {
|
|
2956
2956
|
className: "flex flex-wrap gap-1 font-medium",
|
|
2957
|
-
children: spec.meta.owners.map((o) => /* @__PURE__ */
|
|
2957
|
+
children: spec.meta.owners.map((o) => /* @__PURE__ */ jsx23(StatusChip10, {
|
|
2958
2958
|
label: o,
|
|
2959
2959
|
size: "sm",
|
|
2960
2960
|
tone: "neutral"
|
|
2961
|
-
}, o
|
|
2962
|
-
}
|
|
2961
|
+
}, o))
|
|
2962
|
+
})
|
|
2963
2963
|
]
|
|
2964
|
-
}
|
|
2965
|
-
spec?.meta?.tags && /* @__PURE__ */
|
|
2964
|
+
}),
|
|
2965
|
+
spec?.meta?.tags && /* @__PURE__ */ jsxs17("div", {
|
|
2966
2966
|
children: [
|
|
2967
|
-
/* @__PURE__ */
|
|
2967
|
+
/* @__PURE__ */ jsx23("dt", {
|
|
2968
2968
|
className: "text-muted-foreground",
|
|
2969
2969
|
children: "Tags"
|
|
2970
|
-
}
|
|
2971
|
-
/* @__PURE__ */
|
|
2970
|
+
}),
|
|
2971
|
+
/* @__PURE__ */ jsx23("dd", {
|
|
2972
2972
|
className: "flex flex-wrap gap-1 font-medium",
|
|
2973
|
-
children: spec.meta.tags.map((t) => /* @__PURE__ */
|
|
2973
|
+
children: spec.meta.tags.map((t) => /* @__PURE__ */ jsx23(StatusChip10, {
|
|
2974
2974
|
label: `#${t}`,
|
|
2975
2975
|
size: "sm",
|
|
2976
2976
|
tone: "neutral"
|
|
2977
|
-
}, t
|
|
2978
|
-
}
|
|
2977
|
+
}, t))
|
|
2978
|
+
})
|
|
2979
2979
|
]
|
|
2980
|
-
}
|
|
2980
|
+
})
|
|
2981
2981
|
]
|
|
2982
|
-
}
|
|
2982
|
+
})
|
|
2983
2983
|
]
|
|
2984
|
-
}
|
|
2985
|
-
}
|
|
2986
|
-
}
|
|
2987
|
-
relatedDocs?.length ? /* @__PURE__ */
|
|
2984
|
+
})
|
|
2985
|
+
})
|
|
2986
|
+
}),
|
|
2987
|
+
relatedDocs?.length ? /* @__PURE__ */ jsx23("div", {
|
|
2988
2988
|
className: "lg:col-span-3",
|
|
2989
|
-
children: /* @__PURE__ */
|
|
2989
|
+
children: /* @__PURE__ */ jsx23(Card5, {
|
|
2990
2990
|
className: "p-6",
|
|
2991
|
-
children: /* @__PURE__ */
|
|
2991
|
+
children: /* @__PURE__ */ jsxs17(VStack14, {
|
|
2992
2992
|
gap: "md",
|
|
2993
2993
|
children: [
|
|
2994
|
-
/* @__PURE__ */
|
|
2994
|
+
/* @__PURE__ */ jsxs17(HStack11, {
|
|
2995
2995
|
className: "items-center gap-2 border-b pb-2",
|
|
2996
2996
|
children: [
|
|
2997
|
-
/* @__PURE__ */
|
|
2997
|
+
/* @__PURE__ */ jsx23(BookOpen4, {
|
|
2998
2998
|
className: "text-muted-foreground h-5 w-5"
|
|
2999
|
-
}
|
|
3000
|
-
/* @__PURE__ */
|
|
2999
|
+
}),
|
|
3000
|
+
/* @__PURE__ */ jsx23("h3", {
|
|
3001
3001
|
className: "text-lg font-semibold",
|
|
3002
3002
|
children: "Related Documentation"
|
|
3003
|
-
}
|
|
3003
|
+
})
|
|
3004
3004
|
]
|
|
3005
|
-
}
|
|
3006
|
-
/* @__PURE__ */
|
|
3005
|
+
}),
|
|
3006
|
+
/* @__PURE__ */ jsx23("div", {
|
|
3007
3007
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
3008
|
-
children: relatedDocs.map((doc) => /* @__PURE__ */
|
|
3008
|
+
children: relatedDocs.map((doc) => /* @__PURE__ */ jsx23(Link5, {
|
|
3009
3009
|
href: doc.route || `/docs/${doc.id}`,
|
|
3010
3010
|
className: "group block",
|
|
3011
|
-
children: /* @__PURE__ */
|
|
3011
|
+
children: /* @__PURE__ */ jsxs17("div", {
|
|
3012
3012
|
className: "hover:border-primary h-full rounded-lg border p-4 transition-colors",
|
|
3013
3013
|
children: [
|
|
3014
|
-
/* @__PURE__ */
|
|
3014
|
+
/* @__PURE__ */ jsx23("h4", {
|
|
3015
3015
|
className: "group-hover:text-primary mb-1 font-semibold",
|
|
3016
3016
|
children: doc.title
|
|
3017
|
-
}
|
|
3018
|
-
doc.summary && /* @__PURE__ */
|
|
3017
|
+
}),
|
|
3018
|
+
doc.summary && /* @__PURE__ */ jsx23("p", {
|
|
3019
3019
|
className: "text-muted-foreground line-clamp-2 text-sm",
|
|
3020
3020
|
children: doc.summary
|
|
3021
|
-
}
|
|
3021
|
+
})
|
|
3022
3022
|
]
|
|
3023
|
-
}
|
|
3024
|
-
}, doc.id
|
|
3025
|
-
}
|
|
3023
|
+
})
|
|
3024
|
+
}, doc.id))
|
|
3025
|
+
})
|
|
3026
3026
|
]
|
|
3027
|
-
}
|
|
3028
|
-
}
|
|
3029
|
-
}
|
|
3027
|
+
})
|
|
3028
|
+
})
|
|
3029
|
+
}) : null
|
|
3030
3030
|
]
|
|
3031
|
-
}
|
|
3031
|
+
})
|
|
3032
3032
|
]
|
|
3033
|
-
}
|
|
3033
|
+
});
|
|
3034
3034
|
}
|
|
3035
3035
|
export {
|
|
3036
3036
|
useRelatedDocs,
|