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