@contractspec/bundle.library 3.4.3 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +494 -488
- package/CHANGELOG.md +36 -0
- package/dist/application/index.js +8 -8
- package/dist/application/mcp/cliMcp.js +8 -8
- package/dist/application/mcp/contractsMcp.js +8 -8
- package/dist/application/mcp/docsMcp.js +8 -8
- package/dist/application/mcp/index.js +8 -8
- package/dist/application/mcp/internalMcp.js +8 -8
- package/dist/application/mcp/providerRankingMcp.js +8 -8
- package/dist/bundles/LibraryBundle.d.ts +126 -0
- package/dist/bundles/LibraryBundle.js +139 -0
- package/dist/bundles/index.d.ts +1 -0
- package/dist/bundles/index.js +139 -0
- package/dist/components/docs/DocsIndexPage.js +91 -91
- package/dist/components/docs/advanced/AdvancedMCPPage.js +125 -125
- package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
- package/dist/components/docs/advanced/AdvancedRenderersPage.js +51 -51
- package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
- package/dist/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
- package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
- package/dist/components/docs/advanced/index.js +482 -482
- package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
- package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
- package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
- package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
- package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
- package/dist/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
- package/dist/components/docs/architecture/index.js +748 -748
- package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
- package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
- package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
- package/dist/components/docs/comparison/ComparisonOverviewPage.js +97 -97
- package/dist/components/docs/comparison/ComparisonWindmillPage.js +125 -125
- package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
- package/dist/components/docs/comparison/index.js +738 -738
- package/dist/components/docs/ecosystem/IntegrationsPage.js +45 -45
- package/dist/components/docs/ecosystem/PluginsPage.js +73 -73
- package/dist/components/docs/ecosystem/RegistryPage.js +37 -37
- package/dist/components/docs/ecosystem/TemplatesPage.js +56 -56
- package/dist/components/docs/ecosystem/index.js +211 -211
- package/dist/components/docs/examples/DocsExamplesPage.js +21 -21
- package/dist/components/docs/examples/index.js +21 -21
- package/dist/components/docs/getting-started/CLIPage.js +95 -95
- package/dist/components/docs/getting-started/CompatibilityPage.js +81 -81
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +57 -57
- package/dist/components/docs/getting-started/DeveloperToolsPage.js +61 -61
- package/dist/components/docs/getting-started/HelloWorldPage.js +77 -77
- package/dist/components/docs/getting-started/InstallationPage.js +65 -65
- package/dist/components/docs/getting-started/StartHerePage.js +51 -51
- package/dist/components/docs/getting-started/TroubleshootingPage.js +73 -73
- package/dist/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
- package/dist/components/docs/getting-started/index.js +731 -731
- package/dist/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
- package/dist/components/docs/guides/GuideContractTypesPage.js +232 -232
- package/dist/components/docs/guides/GuideDocsPipelinePage.js +82 -82
- package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
- package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
- package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
- package/dist/components/docs/guides/GuidesIndexPage.js +43 -43
- package/dist/components/docs/guides/index.js +975 -975
- package/dist/components/docs/index.js +10791 -10791
- package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
- package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
- package/dist/components/docs/integrations/IntegrationsGithubPage.js +61 -61
- package/dist/components/docs/integrations/IntegrationsGmailPage.js +49 -49
- package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
- package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
- package/dist/components/docs/integrations/IntegrationsMistralPage.js +69 -69
- package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
- package/dist/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
- package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
- package/dist/components/docs/integrations/IntegrationsPowensPage.js +121 -121
- package/dist/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
- package/dist/components/docs/integrations/IntegrationsResendPage.js +45 -45
- package/dist/components/docs/integrations/IntegrationsS3Page.js +57 -57
- package/dist/components/docs/integrations/IntegrationsSlackPage.js +63 -63
- package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
- package/dist/components/docs/integrations/IntegrationsStripePage.js +159 -159
- package/dist/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
- package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
- package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
- package/dist/components/docs/integrations/index.js +1642 -1642
- package/dist/components/docs/intent/ContractFirstApiPage.js +51 -51
- package/dist/components/docs/intent/DeterministicCodegenPage.js +59 -59
- package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
- package/dist/components/docs/intent/OpenapiAlternativePage.js +91 -91
- package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
- package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
- package/dist/components/docs/intent/index.js +396 -396
- package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
- package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
- package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
- package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
- package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
- package/dist/components/docs/knowledge/index.js +963 -963
- package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
- package/dist/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
- package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
- package/dist/components/docs/libraries/LibrariesContentGenPage.js +43 -43
- package/dist/components/docs/libraries/LibrariesContractsPage.js +125 -125
- package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
- package/dist/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
- package/dist/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
- package/dist/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
- package/dist/components/docs/libraries/LibrariesGrowthPage.js +35 -35
- package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
- package/dist/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
- package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +191 -191
- package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
- package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
- package/dist/components/docs/libraries/LibrariesResiliencePage.js +49 -49
- package/dist/components/docs/libraries/LibrariesRuntimePage.js +87 -87
- package/dist/components/docs/libraries/LibrariesSLOPage.js +47 -47
- package/dist/components/docs/libraries/LibrariesSchemaPage.js +139 -139
- package/dist/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
- package/dist/components/docs/libraries/LibrariesTestingPage.js +49 -49
- package/dist/components/docs/libraries/LibrariesUIKitPage.js +107 -107
- package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
- package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
- package/dist/components/docs/libraries/index.js +1919 -1919
- package/dist/components/docs/manifesto/ManifestoPage.js +79 -79
- package/dist/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
- package/dist/components/docs/ops/DistributedTracingOpsPage.js +33 -33
- package/dist/components/docs/ops/index.js +92 -92
- package/dist/components/docs/reference/DocsMarkdownContent.js +27 -27
- package/dist/components/docs/reference/DocsReferenceContent.js +34 -34
- package/dist/components/docs/reference/DocsReferenceIndexClient.js +23 -23
- package/dist/components/docs/reference/DocsReferenceIndexPage.js +26 -26
- package/dist/components/docs/reference/DocsReferencePage.js +37 -37
- package/dist/components/docs/reference/index.js +63 -63
- package/dist/components/docs/safety/SafetyAuditingPage.js +161 -161
- package/dist/components/docs/safety/SafetyMigrationsPage.js +169 -169
- package/dist/components/docs/safety/SafetyOverviewPage.js +99 -99
- package/dist/components/docs/safety/SafetyPDPPage.js +137 -137
- package/dist/components/docs/safety/SafetySecurityTrustPage.js +95 -95
- package/dist/components/docs/safety/SafetySigningPage.js +39 -39
- package/dist/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
- package/dist/components/docs/safety/index.js +733 -733
- package/dist/components/docs/shared/StudioPrompt.js +9 -9
- package/dist/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
- package/dist/components/docs/specs/SpecsDataViewsPage.js +119 -119
- package/dist/components/docs/specs/SpecsOverlaysPage.js +171 -171
- package/dist/components/docs/specs/SpecsOverviewPage.js +167 -167
- package/dist/components/docs/specs/SpecsPolicyPage.js +179 -179
- package/dist/components/docs/specs/SpecsWorkflowsPage.js +141 -141
- package/dist/components/docs/specs/index.js +838 -838
- package/dist/components/docs/studio/StudioBYOKPage.js +9 -9
- package/dist/components/docs/studio/StudioDeploymentsPage.js +9 -9
- package/dist/components/docs/studio/StudioGettingStartedPage.js +9 -9
- package/dist/components/docs/studio/StudioIntegrationsPage.js +9 -9
- package/dist/components/docs/studio/StudioOverviewPage.js +33 -33
- package/dist/components/docs/studio/StudioVisualBuilderPage.js +9 -9
- package/dist/components/docs/studio/index.js +78 -78
- package/dist/components/integrations/index.js +209 -209
- package/dist/components/integrations/molecules/IntegrationCard.js +33 -33
- package/dist/components/integrations/organisms/IntegrationMarketplace.js +71 -71
- package/dist/components/integrations/organisms/IntegrationSettings.js +98 -98
- package/dist/components/integrations/organisms/KnowledgeSourceList.js +40 -40
- package/dist/components/legal/PrivacyTemplate.js +477 -477
- package/dist/components/legal/TermsTemplate.js +421 -421
- package/dist/components/legal/index.js +898 -898
- package/dist/components/shared/FeatureGateNotice.js +13 -13
- package/dist/components/shared/index.js +13 -13
- package/dist/components/shell/WorkspaceHeader.js +37 -37
- package/dist/components/shell/WorkspaceProjectShellLayout.js +77 -77
- package/dist/components/shell/WorkspaceShellRenderer.d.ts +17 -0
- package/dist/components/shell/WorkspaceShellRenderer.js +229 -0
- package/dist/components/shell/WorkspaceSidebar.js +27 -27
- package/dist/components/shell/index.d.ts +1 -0
- package/dist/components/shell/index.js +140 -77
- package/dist/components/templates/index.js +272 -272
- package/dist/components/templates/messaging/ConversationList.js +27 -27
- package/dist/components/templates/messaging/MessageComposer.js +27 -27
- package/dist/components/templates/messaging/MessageThread.js +18 -18
- package/dist/components/templates/messaging/MessagingWorkspace.js +65 -65
- package/dist/components/templates/messaging/index.js +65 -65
- package/dist/components/templates/recipes/LanguageSwitcher.js +5 -5
- package/dist/components/templates/recipes/RecipeCard.js +26 -26
- package/dist/components/templates/recipes/RecipeDetail.js +33 -33
- package/dist/components/templates/recipes/RecipeList.js +80 -80
- package/dist/components/templates/recipes/index.js +80 -80
- package/dist/components/templates/todos/FilterBar.js +39 -39
- package/dist/components/templates/todos/TaskForm.js +43 -43
- package/dist/components/templates/todos/TaskItem.js +30 -30
- package/dist/components/templates/todos/TaskList.js +127 -127
- package/dist/components/templates/todos/index.js +127 -127
- package/dist/index.js +12323 -12260
- package/dist/infrastructure/elysia/index.js +8 -8
- package/dist/infrastructure/elysia/logger.js +8 -8
- package/dist/infrastructure/index.js +8 -8
- package/dist/libs/posthog/client.js +2 -2
- package/dist/node/application/index.js +8 -8
- package/dist/node/application/mcp/cliMcp.js +8 -8
- package/dist/node/application/mcp/contractsMcp.js +8 -8
- package/dist/node/application/mcp/docsMcp.js +8 -8
- package/dist/node/application/mcp/index.js +8 -8
- package/dist/node/application/mcp/internalMcp.js +8 -8
- package/dist/node/application/mcp/providerRankingMcp.js +8 -8
- package/dist/node/bundles/LibraryBundle.js +138 -0
- package/dist/node/bundles/index.js +138 -0
- package/dist/node/components/docs/DocsIndexPage.js +91 -91
- package/dist/node/components/docs/advanced/AdvancedMCPPage.js +125 -125
- package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
- package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +51 -51
- package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
- package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
- package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
- package/dist/node/components/docs/advanced/index.js +482 -482
- package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
- package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
- package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
- package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
- package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
- package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
- package/dist/node/components/docs/architecture/index.js +748 -748
- package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
- package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
- package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
- package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +97 -97
- package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +125 -125
- package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
- package/dist/node/components/docs/comparison/index.js +738 -738
- package/dist/node/components/docs/ecosystem/IntegrationsPage.js +45 -45
- package/dist/node/components/docs/ecosystem/PluginsPage.js +73 -73
- package/dist/node/components/docs/ecosystem/RegistryPage.js +37 -37
- package/dist/node/components/docs/ecosystem/TemplatesPage.js +56 -56
- package/dist/node/components/docs/ecosystem/index.js +211 -211
- package/dist/node/components/docs/examples/DocsExamplesPage.js +21 -21
- package/dist/node/components/docs/examples/index.js +21 -21
- package/dist/node/components/docs/getting-started/CLIPage.js +95 -95
- package/dist/node/components/docs/getting-started/CompatibilityPage.js +81 -81
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +57 -57
- package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +61 -61
- package/dist/node/components/docs/getting-started/HelloWorldPage.js +77 -77
- package/dist/node/components/docs/getting-started/InstallationPage.js +65 -65
- package/dist/node/components/docs/getting-started/StartHerePage.js +51 -51
- package/dist/node/components/docs/getting-started/TroubleshootingPage.js +73 -73
- package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
- package/dist/node/components/docs/getting-started/index.js +731 -731
- package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
- package/dist/node/components/docs/guides/GuideContractTypesPage.js +232 -232
- package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +82 -82
- package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
- package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
- package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
- package/dist/node/components/docs/guides/GuidesIndexPage.js +43 -43
- package/dist/node/components/docs/guides/index.js +975 -975
- package/dist/node/components/docs/index.js +10791 -10791
- package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
- package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
- package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +61 -61
- package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +49 -49
- package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
- package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
- package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +69 -69
- package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
- package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
- package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
- package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +121 -121
- package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
- package/dist/node/components/docs/integrations/IntegrationsResendPage.js +45 -45
- package/dist/node/components/docs/integrations/IntegrationsS3Page.js +57 -57
- package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +63 -63
- package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
- package/dist/node/components/docs/integrations/IntegrationsStripePage.js +159 -159
- package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
- package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
- package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
- package/dist/node/components/docs/integrations/index.js +1642 -1642
- package/dist/node/components/docs/intent/ContractFirstApiPage.js +51 -51
- package/dist/node/components/docs/intent/DeterministicCodegenPage.js +59 -59
- package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
- package/dist/node/components/docs/intent/OpenapiAlternativePage.js +91 -91
- package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
- package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
- package/dist/node/components/docs/intent/index.js +396 -396
- package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
- package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
- package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
- package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
- package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
- package/dist/node/components/docs/knowledge/index.js +963 -963
- package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
- package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
- package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
- package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +43 -43
- package/dist/node/components/docs/libraries/LibrariesContractsPage.js +125 -125
- package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
- package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
- package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
- package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +35 -35
- package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
- package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
- package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +191 -191
- package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
- package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
- package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +87 -87
- package/dist/node/components/docs/libraries/LibrariesSLOPage.js +47 -47
- package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +139 -139
- package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
- package/dist/node/components/docs/libraries/LibrariesTestingPage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +107 -107
- package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
- package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
- package/dist/node/components/docs/libraries/index.js +1919 -1919
- package/dist/node/components/docs/manifesto/ManifestoPage.js +79 -79
- package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
- package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +33 -33
- package/dist/node/components/docs/ops/index.js +92 -92
- package/dist/node/components/docs/reference/DocsMarkdownContent.js +27 -27
- package/dist/node/components/docs/reference/DocsReferenceContent.js +34 -34
- package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +23 -23
- package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +26 -26
- package/dist/node/components/docs/reference/DocsReferencePage.js +37 -37
- package/dist/node/components/docs/reference/index.js +63 -63
- package/dist/node/components/docs/safety/SafetyAuditingPage.js +161 -161
- package/dist/node/components/docs/safety/SafetyMigrationsPage.js +169 -169
- package/dist/node/components/docs/safety/SafetyOverviewPage.js +99 -99
- package/dist/node/components/docs/safety/SafetyPDPPage.js +137 -137
- package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +95 -95
- package/dist/node/components/docs/safety/SafetySigningPage.js +39 -39
- package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
- package/dist/node/components/docs/safety/index.js +733 -733
- package/dist/node/components/docs/shared/StudioPrompt.js +9 -9
- package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +119 -119
- package/dist/node/components/docs/specs/SpecsOverlaysPage.js +171 -171
- package/dist/node/components/docs/specs/SpecsOverviewPage.js +167 -167
- package/dist/node/components/docs/specs/SpecsPolicyPage.js +179 -179
- package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +141 -141
- package/dist/node/components/docs/specs/index.js +838 -838
- package/dist/node/components/docs/studio/StudioBYOKPage.js +9 -9
- package/dist/node/components/docs/studio/StudioDeploymentsPage.js +9 -9
- package/dist/node/components/docs/studio/StudioGettingStartedPage.js +9 -9
- package/dist/node/components/docs/studio/StudioIntegrationsPage.js +9 -9
- package/dist/node/components/docs/studio/StudioOverviewPage.js +33 -33
- package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +9 -9
- package/dist/node/components/docs/studio/index.js +78 -78
- package/dist/node/components/integrations/index.js +209 -209
- package/dist/node/components/integrations/molecules/IntegrationCard.js +33 -33
- package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +71 -71
- package/dist/node/components/integrations/organisms/IntegrationSettings.js +98 -98
- package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +40 -40
- package/dist/node/components/legal/PrivacyTemplate.js +477 -477
- package/dist/node/components/legal/TermsTemplate.js +421 -421
- package/dist/node/components/legal/index.js +898 -898
- package/dist/node/components/shared/FeatureGateNotice.js +13 -13
- package/dist/node/components/shared/index.js +13 -13
- package/dist/node/components/shell/WorkspaceHeader.js +37 -37
- package/dist/node/components/shell/WorkspaceProjectShellLayout.js +77 -77
- package/dist/node/components/shell/WorkspaceShellRenderer.js +228 -0
- package/dist/node/components/shell/WorkspaceSidebar.js +27 -27
- package/dist/node/components/shell/index.js +140 -77
- package/dist/node/components/templates/index.js +272 -272
- package/dist/node/components/templates/messaging/ConversationList.js +27 -27
- package/dist/node/components/templates/messaging/MessageComposer.js +27 -27
- package/dist/node/components/templates/messaging/MessageThread.js +18 -18
- package/dist/node/components/templates/messaging/MessagingWorkspace.js +65 -65
- package/dist/node/components/templates/messaging/index.js +65 -65
- package/dist/node/components/templates/recipes/LanguageSwitcher.js +5 -5
- package/dist/node/components/templates/recipes/RecipeCard.js +26 -26
- package/dist/node/components/templates/recipes/RecipeDetail.js +33 -33
- package/dist/node/components/templates/recipes/RecipeList.js +80 -80
- package/dist/node/components/templates/recipes/index.js +80 -80
- package/dist/node/components/templates/todos/FilterBar.js +39 -39
- package/dist/node/components/templates/todos/TaskForm.js +43 -43
- package/dist/node/components/templates/todos/TaskItem.js +30 -30
- package/dist/node/components/templates/todos/TaskList.js +127 -127
- package/dist/node/components/templates/todos/index.js +127 -127
- package/dist/node/index.js +12323 -12260
- package/dist/node/infrastructure/elysia/index.js +8 -8
- package/dist/node/infrastructure/elysia/logger.js +8 -8
- package/dist/node/infrastructure/index.js +8 -8
- package/dist/node/libs/posthog/client.js +2 -2
- package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
- package/dist/node/presentation/features/atoms/FeatureIcon/index.js +3 -3
- package/dist/node/presentation/features/atoms/index.js +3 -3
- package/dist/node/presentation/features/index.js +915 -915
- package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
- package/dist/node/presentation/features/molecules/FeatureCard/index.js +101 -101
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
- package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
- package/dist/node/presentation/features/molecules/FeatureFilters/index.js +23 -23
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
- package/dist/node/presentation/features/molecules/index.js +139 -139
- package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
- package/dist/node/presentation/features/organisms/FeatureDetail/index.js +57 -57
- package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
- package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
- package/dist/node/presentation/features/organisms/FeatureEventsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureFormsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureOperationsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +7 -7
- package/dist/node/presentation/features/organisms/index.js +275 -275
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
- package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
- package/dist/presentation/features/atoms/FeatureIcon/index.js +3 -3
- package/dist/presentation/features/atoms/index.js +3 -3
- package/dist/presentation/features/index.js +915 -915
- package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
- package/dist/presentation/features/molecules/FeatureCard/index.js +101 -101
- package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
- package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
- package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
- package/dist/presentation/features/molecules/FeatureFilters/index.js +23 -23
- package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
- package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
- package/dist/presentation/features/molecules/index.js +139 -139
- package/dist/presentation/features/organisms/FeatureDataViewsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
- package/dist/presentation/features/organisms/FeatureDetail/index.js +57 -57
- package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
- package/dist/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
- package/dist/presentation/features/organisms/FeatureEventsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureFormsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureOperationsList.js +7 -7
- package/dist/presentation/features/organisms/FeaturePresentationsList.js +7 -7
- package/dist/presentation/features/organisms/index.js +275 -275
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
- package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
- package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
- package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
- package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
- package/package.json +71 -22
- package/src/bundles/LibraryBundle.ts +152 -0
- package/src/bundles/index.ts +1 -0
- package/src/components/shell/WorkspaceShellRenderer.tsx +90 -0
- package/src/components/shell/index.ts +1 -0
|
@@ -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)
|
|
@@ -484,172 +484,172 @@ import {
|
|
|
484
484
|
Users,
|
|
485
485
|
Zap
|
|
486
486
|
} from "lucide-react";
|
|
487
|
-
import {
|
|
487
|
+
import { jsx as jsx2, jsxs, Fragment } from "react/jsx-runtime";
|
|
488
488
|
"use client";
|
|
489
489
|
function FeatureHoverPreview({ feature }) {
|
|
490
490
|
const { meta, operations, events, presentations, capabilities } = feature;
|
|
491
491
|
const hasCapabilities = capabilities?.provides?.length || capabilities?.requires?.length;
|
|
492
|
-
return /* @__PURE__ */
|
|
492
|
+
return /* @__PURE__ */ jsxs(Fragment, {
|
|
493
493
|
children: [
|
|
494
|
-
meta.description && /* @__PURE__ */
|
|
494
|
+
meta.description && /* @__PURE__ */ jsx2("p", {
|
|
495
495
|
className: "text-muted-foreground text-sm leading-relaxed",
|
|
496
496
|
children: meta.description
|
|
497
|
-
}
|
|
498
|
-
/* @__PURE__ */
|
|
497
|
+
}),
|
|
498
|
+
/* @__PURE__ */ jsxs(HStack, {
|
|
499
499
|
gap: "md",
|
|
500
500
|
className: "py-2",
|
|
501
501
|
children: [
|
|
502
|
-
operations?.length ? /* @__PURE__ */
|
|
502
|
+
operations?.length ? /* @__PURE__ */ jsxs("div", {
|
|
503
503
|
className: "flex items-center gap-1.5 text-sm",
|
|
504
504
|
children: [
|
|
505
|
-
/* @__PURE__ */
|
|
505
|
+
/* @__PURE__ */ jsx2(Zap, {
|
|
506
506
|
className: "h-4 w-4 text-amber-500"
|
|
507
|
-
}
|
|
508
|
-
/* @__PURE__ */
|
|
507
|
+
}),
|
|
508
|
+
/* @__PURE__ */ jsx2("span", {
|
|
509
509
|
className: "font-medium",
|
|
510
510
|
children: operations.length
|
|
511
|
-
}
|
|
512
|
-
/* @__PURE__ */
|
|
511
|
+
}),
|
|
512
|
+
/* @__PURE__ */ jsx2("span", {
|
|
513
513
|
className: "text-muted-foreground",
|
|
514
514
|
children: "ops"
|
|
515
|
-
}
|
|
515
|
+
})
|
|
516
516
|
]
|
|
517
|
-
}
|
|
518
|
-
events?.length ? /* @__PURE__ */
|
|
517
|
+
}) : null,
|
|
518
|
+
events?.length ? /* @__PURE__ */ jsxs("div", {
|
|
519
519
|
className: "flex items-center gap-1.5 text-sm",
|
|
520
520
|
children: [
|
|
521
|
-
/* @__PURE__ */
|
|
521
|
+
/* @__PURE__ */ jsx2(Radio, {
|
|
522
522
|
className: "h-4 w-4 text-blue-500"
|
|
523
|
-
}
|
|
524
|
-
/* @__PURE__ */
|
|
523
|
+
}),
|
|
524
|
+
/* @__PURE__ */ jsx2("span", {
|
|
525
525
|
className: "font-medium",
|
|
526
526
|
children: events.length
|
|
527
|
-
}
|
|
528
|
-
/* @__PURE__ */
|
|
527
|
+
}),
|
|
528
|
+
/* @__PURE__ */ jsx2("span", {
|
|
529
529
|
className: "text-muted-foreground",
|
|
530
530
|
children: "events"
|
|
531
|
-
}
|
|
531
|
+
})
|
|
532
532
|
]
|
|
533
|
-
}
|
|
534
|
-
presentations?.length ? /* @__PURE__ */
|
|
533
|
+
}) : null,
|
|
534
|
+
presentations?.length ? /* @__PURE__ */ jsxs("div", {
|
|
535
535
|
className: "flex items-center gap-1.5 text-sm",
|
|
536
536
|
children: [
|
|
537
|
-
/* @__PURE__ */
|
|
537
|
+
/* @__PURE__ */ jsx2(Layout2, {
|
|
538
538
|
className: "h-4 w-4 text-purple-500"
|
|
539
|
-
}
|
|
540
|
-
/* @__PURE__ */
|
|
539
|
+
}),
|
|
540
|
+
/* @__PURE__ */ jsx2("span", {
|
|
541
541
|
className: "font-medium",
|
|
542
542
|
children: presentations.length
|
|
543
|
-
}
|
|
544
|
-
/* @__PURE__ */
|
|
543
|
+
}),
|
|
544
|
+
/* @__PURE__ */ jsx2("span", {
|
|
545
545
|
className: "text-muted-foreground",
|
|
546
546
|
children: "views"
|
|
547
|
-
}
|
|
547
|
+
})
|
|
548
548
|
]
|
|
549
|
-
}
|
|
549
|
+
}) : null
|
|
550
550
|
]
|
|
551
|
-
}
|
|
552
|
-
hasCapabilities && /* @__PURE__ */
|
|
551
|
+
}),
|
|
552
|
+
hasCapabilities && /* @__PURE__ */ jsxs("div", {
|
|
553
553
|
className: "border-border/50 space-y-1.5 border-t pt-1",
|
|
554
554
|
children: [
|
|
555
|
-
capabilities?.provides?.length ? /* @__PURE__ */
|
|
555
|
+
capabilities?.provides?.length ? /* @__PURE__ */ jsxs(HStack, {
|
|
556
556
|
gap: "xs",
|
|
557
557
|
wrap: "wrap",
|
|
558
558
|
className: "items-start",
|
|
559
559
|
children: [
|
|
560
|
-
/* @__PURE__ */
|
|
560
|
+
/* @__PURE__ */ jsx2(Shield2, {
|
|
561
561
|
className: "mt-0.5 h-3.5 w-3.5 text-emerald-500"
|
|
562
|
-
}
|
|
563
|
-
/* @__PURE__ */
|
|
562
|
+
}),
|
|
563
|
+
/* @__PURE__ */ jsx2("span", {
|
|
564
564
|
className: "text-muted-foreground text-xs",
|
|
565
565
|
children: "Provides:"
|
|
566
|
-
}
|
|
567
|
-
capabilities.provides.slice(0, 2).map((cap) => /* @__PURE__ */
|
|
566
|
+
}),
|
|
567
|
+
capabilities.provides.slice(0, 2).map((cap) => /* @__PURE__ */ jsx2(StatusChip, {
|
|
568
568
|
tone: "success",
|
|
569
569
|
label: cap.key,
|
|
570
570
|
size: "sm"
|
|
571
|
-
}, cap.key
|
|
572
|
-
capabilities.provides.length > 2 && /* @__PURE__ */
|
|
571
|
+
}, cap.key)),
|
|
572
|
+
capabilities.provides.length > 2 && /* @__PURE__ */ jsxs("span", {
|
|
573
573
|
className: "text-muted-foreground text-xs",
|
|
574
574
|
children: [
|
|
575
575
|
"+",
|
|
576
576
|
capabilities.provides.length - 2
|
|
577
577
|
]
|
|
578
|
-
}
|
|
578
|
+
})
|
|
579
579
|
]
|
|
580
|
-
}
|
|
581
|
-
capabilities?.requires?.length ? /* @__PURE__ */
|
|
580
|
+
}) : null,
|
|
581
|
+
capabilities?.requires?.length ? /* @__PURE__ */ jsxs(HStack, {
|
|
582
582
|
gap: "xs",
|
|
583
583
|
wrap: "wrap",
|
|
584
584
|
className: "items-start",
|
|
585
585
|
children: [
|
|
586
|
-
/* @__PURE__ */
|
|
586
|
+
/* @__PURE__ */ jsx2(ArrowRight, {
|
|
587
587
|
className: "mt-0.5 h-3.5 w-3.5 text-blue-500"
|
|
588
|
-
}
|
|
589
|
-
/* @__PURE__ */
|
|
588
|
+
}),
|
|
589
|
+
/* @__PURE__ */ jsx2("span", {
|
|
590
590
|
className: "text-muted-foreground text-xs",
|
|
591
591
|
children: "Requires:"
|
|
592
|
-
}
|
|
593
|
-
capabilities.requires.slice(0, 2).map((req) => /* @__PURE__ */
|
|
592
|
+
}),
|
|
593
|
+
capabilities.requires.slice(0, 2).map((req) => /* @__PURE__ */ jsx2(StatusChip, {
|
|
594
594
|
tone: "info",
|
|
595
595
|
label: req.key,
|
|
596
596
|
size: "sm"
|
|
597
|
-
}, req.key
|
|
598
|
-
capabilities.requires.length > 2 && /* @__PURE__ */
|
|
597
|
+
}, req.key)),
|
|
598
|
+
capabilities.requires.length > 2 && /* @__PURE__ */ jsxs("span", {
|
|
599
599
|
className: "text-muted-foreground text-xs",
|
|
600
600
|
children: [
|
|
601
601
|
"+",
|
|
602
602
|
capabilities.requires.length - 2
|
|
603
603
|
]
|
|
604
|
-
}
|
|
604
|
+
})
|
|
605
605
|
]
|
|
606
|
-
}
|
|
606
|
+
}) : null
|
|
607
607
|
]
|
|
608
|
-
}
|
|
609
|
-
meta.tags?.length ? /* @__PURE__ */
|
|
608
|
+
}),
|
|
609
|
+
meta.tags?.length ? /* @__PURE__ */ jsxs(HStack, {
|
|
610
610
|
gap: "xs",
|
|
611
611
|
wrap: "wrap",
|
|
612
612
|
className: "border-border/50 items-center border-t pt-1",
|
|
613
613
|
children: [
|
|
614
|
-
/* @__PURE__ */
|
|
614
|
+
/* @__PURE__ */ jsx2(Tag, {
|
|
615
615
|
className: "text-muted-foreground h-3.5 w-3.5"
|
|
616
|
-
}
|
|
617
|
-
meta.tags.slice(0, 4).map((tag) => /* @__PURE__ */
|
|
616
|
+
}),
|
|
617
|
+
meta.tags.slice(0, 4).map((tag) => /* @__PURE__ */ jsxs("span", {
|
|
618
618
|
className: "bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-xs",
|
|
619
619
|
children: [
|
|
620
620
|
"#",
|
|
621
621
|
tag
|
|
622
622
|
]
|
|
623
|
-
}, tag
|
|
624
|
-
meta.tags.length > 4 && /* @__PURE__ */
|
|
623
|
+
}, tag)),
|
|
624
|
+
meta.tags.length > 4 && /* @__PURE__ */ jsxs("span", {
|
|
625
625
|
className: "text-muted-foreground text-xs",
|
|
626
626
|
children: [
|
|
627
627
|
"+",
|
|
628
628
|
meta.tags.length - 4
|
|
629
629
|
]
|
|
630
|
-
}
|
|
630
|
+
})
|
|
631
631
|
]
|
|
632
|
-
}
|
|
633
|
-
meta.owners?.length ? /* @__PURE__ */
|
|
632
|
+
}) : null,
|
|
633
|
+
meta.owners?.length ? /* @__PURE__ */ jsxs(HStack, {
|
|
634
634
|
gap: "xs",
|
|
635
635
|
className: "text-muted-foreground items-center text-xs",
|
|
636
636
|
children: [
|
|
637
|
-
/* @__PURE__ */
|
|
637
|
+
/* @__PURE__ */ jsx2(Users, {
|
|
638
638
|
className: "h-3.5 w-3.5"
|
|
639
|
-
}
|
|
640
|
-
/* @__PURE__ */
|
|
639
|
+
}),
|
|
640
|
+
/* @__PURE__ */ jsx2("span", {
|
|
641
641
|
children: meta.owners.join(", ")
|
|
642
|
-
}
|
|
642
|
+
})
|
|
643
643
|
]
|
|
644
|
-
}
|
|
644
|
+
}) : null
|
|
645
645
|
]
|
|
646
|
-
}
|
|
646
|
+
});
|
|
647
647
|
}
|
|
648
648
|
// src/presentation/features/molecules/FeatureCard/FeatureCard.tsx
|
|
649
649
|
import { EntityCard, StatusChip as StatusChip2 } from "@contractspec/lib.design-system";
|
|
650
650
|
import { HStack as HStack2 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
651
651
|
import { Zap as Zap2, Radio as Radio2, Layout as Layout3, Shield as Shield3 } from "lucide-react";
|
|
652
|
-
import {
|
|
652
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
653
653
|
"use client";
|
|
654
654
|
var stabilityTone = {
|
|
655
655
|
stable: "success",
|
|
@@ -668,85 +668,85 @@ function FeatureCard({
|
|
|
668
668
|
const emphasis = meta.stability === "stable" ? "strong" : "default";
|
|
669
669
|
const handleClick = onSelect ? () => onSelect(feature) : undefined;
|
|
670
670
|
const hasCapabilities = capabilities?.provides?.length || capabilities?.requires?.length;
|
|
671
|
-
return /* @__PURE__ */
|
|
671
|
+
return /* @__PURE__ */ jsx3(EntityCard, {
|
|
672
672
|
cardTitle: meta.title,
|
|
673
673
|
cardSubtitle: meta.key,
|
|
674
674
|
className,
|
|
675
675
|
onClick: handleClick,
|
|
676
676
|
emphasis,
|
|
677
|
-
icon: /* @__PURE__ */
|
|
677
|
+
icon: /* @__PURE__ */ jsx3(FeatureIcon, {
|
|
678
678
|
domain: meta.domain,
|
|
679
679
|
tags: meta.tags,
|
|
680
680
|
stability: meta.stability,
|
|
681
681
|
size: "md"
|
|
682
|
-
}
|
|
682
|
+
}),
|
|
683
683
|
iconTone,
|
|
684
|
-
chips: /* @__PURE__ */
|
|
684
|
+
chips: /* @__PURE__ */ jsx3(StatusChip2, {
|
|
685
685
|
tone,
|
|
686
686
|
label: meta.stability ?? "unknown",
|
|
687
687
|
size: "sm"
|
|
688
|
-
}
|
|
689
|
-
meta: meta.description ? /* @__PURE__ */
|
|
688
|
+
}),
|
|
689
|
+
meta: meta.description ? /* @__PURE__ */ jsx3("span", {
|
|
690
690
|
className: "text-muted-foreground line-clamp-2 text-sm",
|
|
691
691
|
children: meta.description
|
|
692
|
-
}
|
|
693
|
-
preview: /* @__PURE__ */
|
|
692
|
+
}) : undefined,
|
|
693
|
+
preview: /* @__PURE__ */ jsx3(FeatureHoverPreview, {
|
|
694
694
|
feature
|
|
695
|
-
}
|
|
696
|
-
footer: /* @__PURE__ */
|
|
695
|
+
}),
|
|
696
|
+
footer: /* @__PURE__ */ jsxs2(HStack2, {
|
|
697
697
|
gap: "md",
|
|
698
698
|
className: "text-muted-foreground w-full justify-between text-xs",
|
|
699
699
|
children: [
|
|
700
|
-
/* @__PURE__ */
|
|
700
|
+
/* @__PURE__ */ jsxs2(HStack2, {
|
|
701
701
|
gap: "sm",
|
|
702
702
|
children: [
|
|
703
|
-
operations?.length ? /* @__PURE__ */
|
|
703
|
+
operations?.length ? /* @__PURE__ */ jsxs2("span", {
|
|
704
704
|
className: "flex items-center gap-1",
|
|
705
705
|
children: [
|
|
706
|
-
/* @__PURE__ */
|
|
706
|
+
/* @__PURE__ */ jsx3(Zap2, {
|
|
707
707
|
className: "h-3 w-3 text-amber-500"
|
|
708
|
-
}
|
|
708
|
+
}),
|
|
709
709
|
operations.length
|
|
710
710
|
]
|
|
711
|
-
}
|
|
712
|
-
events?.length ? /* @__PURE__ */
|
|
711
|
+
}) : null,
|
|
712
|
+
events?.length ? /* @__PURE__ */ jsxs2("span", {
|
|
713
713
|
className: "flex items-center gap-1",
|
|
714
714
|
children: [
|
|
715
|
-
/* @__PURE__ */
|
|
715
|
+
/* @__PURE__ */ jsx3(Radio2, {
|
|
716
716
|
className: "h-3 w-3 text-blue-500"
|
|
717
|
-
}
|
|
717
|
+
}),
|
|
718
718
|
events.length
|
|
719
719
|
]
|
|
720
|
-
}
|
|
721
|
-
presentations?.length ? /* @__PURE__ */
|
|
720
|
+
}) : null,
|
|
721
|
+
presentations?.length ? /* @__PURE__ */ jsxs2("span", {
|
|
722
722
|
className: "flex items-center gap-1",
|
|
723
723
|
children: [
|
|
724
|
-
/* @__PURE__ */
|
|
724
|
+
/* @__PURE__ */ jsx3(Layout3, {
|
|
725
725
|
className: "h-3 w-3 text-purple-500"
|
|
726
|
-
}
|
|
726
|
+
}),
|
|
727
727
|
presentations.length
|
|
728
728
|
]
|
|
729
|
-
}
|
|
729
|
+
}) : null
|
|
730
730
|
]
|
|
731
|
-
}
|
|
732
|
-
hasCapabilities && /* @__PURE__ */
|
|
731
|
+
}),
|
|
732
|
+
hasCapabilities && /* @__PURE__ */ jsxs2("span", {
|
|
733
733
|
className: "flex items-center gap-1",
|
|
734
734
|
children: [
|
|
735
|
-
/* @__PURE__ */
|
|
735
|
+
/* @__PURE__ */ jsx3(Shield3, {
|
|
736
736
|
className: "h-3 w-3 text-emerald-500"
|
|
737
|
-
}
|
|
737
|
+
}),
|
|
738
738
|
(capabilities?.provides?.length ?? 0) + (capabilities?.requires?.length ?? 0)
|
|
739
739
|
]
|
|
740
|
-
}
|
|
740
|
+
})
|
|
741
741
|
]
|
|
742
|
-
}
|
|
743
|
-
}
|
|
742
|
+
})
|
|
743
|
+
});
|
|
744
744
|
}
|
|
745
745
|
// src/presentation/features/molecules/FeatureFilters/FeatureFilters.tsx
|
|
746
746
|
import { Button, Input } from "@contractspec/lib.design-system";
|
|
747
747
|
import { VStack, HStack as HStack3 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
748
748
|
import { cn as cn2 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
749
|
-
import {
|
|
749
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
750
750
|
"use client";
|
|
751
751
|
function FeatureFiltersBar({
|
|
752
752
|
uniqueTags,
|
|
@@ -759,56 +759,56 @@ function FeatureFiltersBar({
|
|
|
759
759
|
hasActiveFilters,
|
|
760
760
|
className
|
|
761
761
|
}) {
|
|
762
|
-
return /* @__PURE__ */
|
|
762
|
+
return /* @__PURE__ */ jsxs3(VStack, {
|
|
763
763
|
gap: "md",
|
|
764
764
|
className: cn2("w-full", className),
|
|
765
765
|
children: [
|
|
766
|
-
/* @__PURE__ */
|
|
766
|
+
/* @__PURE__ */ jsxs3(HStack3, {
|
|
767
767
|
gap: "md",
|
|
768
768
|
justify: "between",
|
|
769
769
|
className: "w-full",
|
|
770
770
|
children: [
|
|
771
|
-
/* @__PURE__ */
|
|
771
|
+
/* @__PURE__ */ jsx4(Input, {
|
|
772
772
|
placeholder: "Search features...",
|
|
773
773
|
value: filters.search,
|
|
774
774
|
onChange: (e) => setSearch(e.target.value),
|
|
775
775
|
className: "max-w-md",
|
|
776
776
|
"aria-label": "Search features"
|
|
777
|
-
}
|
|
778
|
-
hasActiveFilters && /* @__PURE__ */
|
|
777
|
+
}),
|
|
778
|
+
hasActiveFilters && /* @__PURE__ */ jsx4(Button, {
|
|
779
779
|
variant: "ghost",
|
|
780
780
|
size: "sm",
|
|
781
781
|
onClick: clearFilters,
|
|
782
782
|
children: "Clear filters"
|
|
783
|
-
}
|
|
783
|
+
})
|
|
784
784
|
]
|
|
785
|
-
}
|
|
786
|
-
uniqueStabilities.length > 0 && /* @__PURE__ */
|
|
785
|
+
}),
|
|
786
|
+
uniqueStabilities.length > 0 && /* @__PURE__ */ jsxs3(HStack3, {
|
|
787
787
|
gap: "xs",
|
|
788
788
|
wrap: "wrap",
|
|
789
789
|
children: [
|
|
790
|
-
/* @__PURE__ */
|
|
790
|
+
/* @__PURE__ */ jsx4("span", {
|
|
791
791
|
className: "text-muted-foreground text-sm",
|
|
792
792
|
children: "Stability:"
|
|
793
|
-
}
|
|
794
|
-
uniqueStabilities.map((stability) => /* @__PURE__ */
|
|
793
|
+
}),
|
|
794
|
+
uniqueStabilities.map((stability) => /* @__PURE__ */ jsx4(Button, {
|
|
795
795
|
variant: filters.stability.includes(stability) ? "default" : "outline",
|
|
796
796
|
size: "sm",
|
|
797
797
|
onClick: () => toggleStability(stability),
|
|
798
798
|
"aria-pressed": filters.stability.includes(stability),
|
|
799
799
|
children: stability
|
|
800
|
-
}, stability
|
|
800
|
+
}, stability))
|
|
801
801
|
]
|
|
802
|
-
}
|
|
803
|
-
uniqueTags.length > 0 && /* @__PURE__ */
|
|
802
|
+
}),
|
|
803
|
+
uniqueTags.length > 0 && /* @__PURE__ */ jsxs3(HStack3, {
|
|
804
804
|
gap: "xs",
|
|
805
805
|
wrap: "wrap",
|
|
806
806
|
children: [
|
|
807
|
-
/* @__PURE__ */
|
|
807
|
+
/* @__PURE__ */ jsx4("span", {
|
|
808
808
|
className: "text-muted-foreground text-sm",
|
|
809
809
|
children: "Tags:"
|
|
810
|
-
}
|
|
811
|
-
uniqueTags.slice(0, 10).map((tag) => /* @__PURE__ */
|
|
810
|
+
}),
|
|
811
|
+
uniqueTags.slice(0, 10).map((tag) => /* @__PURE__ */ jsxs3(Button, {
|
|
812
812
|
variant: filters.tags.includes(tag) ? "default" : "outline",
|
|
813
813
|
size: "sm",
|
|
814
814
|
onClick: () => toggleTag(tag),
|
|
@@ -817,26 +817,26 @@ function FeatureFiltersBar({
|
|
|
817
817
|
"#",
|
|
818
818
|
tag
|
|
819
819
|
]
|
|
820
|
-
}, tag
|
|
821
|
-
uniqueTags.length > 10 && /* @__PURE__ */
|
|
820
|
+
}, tag)),
|
|
821
|
+
uniqueTags.length > 10 && /* @__PURE__ */ jsxs3("span", {
|
|
822
822
|
className: "text-muted-foreground text-sm",
|
|
823
823
|
children: [
|
|
824
824
|
"+",
|
|
825
825
|
uniqueTags.length - 10,
|
|
826
826
|
" more"
|
|
827
827
|
]
|
|
828
|
-
}
|
|
828
|
+
})
|
|
829
829
|
]
|
|
830
|
-
}
|
|
830
|
+
})
|
|
831
831
|
]
|
|
832
|
-
}
|
|
832
|
+
});
|
|
833
833
|
}
|
|
834
834
|
// src/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.tsx
|
|
835
835
|
import { cn as cn3 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
836
836
|
import { ChevronDown, Boxes as Boxes2 } from "lucide-react";
|
|
837
837
|
import { HStack as HStack4 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
838
838
|
import { StatusChip as StatusChip3 } from "@contractspec/lib.design-system";
|
|
839
|
-
import {
|
|
839
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
840
840
|
"use client";
|
|
841
841
|
function FeatureCategoryHeader({
|
|
842
842
|
title,
|
|
@@ -846,37 +846,37 @@ function FeatureCategoryHeader({
|
|
|
846
846
|
onToggle,
|
|
847
847
|
className
|
|
848
848
|
}) {
|
|
849
|
-
return /* @__PURE__ */
|
|
849
|
+
return /* @__PURE__ */ jsxs4("button", {
|
|
850
850
|
type: "button",
|
|
851
851
|
onClick: onToggle,
|
|
852
852
|
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),
|
|
853
853
|
children: [
|
|
854
|
-
/* @__PURE__ */
|
|
854
|
+
/* @__PURE__ */ jsxs4(HStack4, {
|
|
855
855
|
gap: "sm",
|
|
856
856
|
className: "items-center",
|
|
857
857
|
children: [
|
|
858
|
-
/* @__PURE__ */
|
|
858
|
+
/* @__PURE__ */ jsx5("div", {
|
|
859
859
|
className: "text-muted-foreground group-hover:text-foreground transition-colors",
|
|
860
|
-
children: icon || /* @__PURE__ */
|
|
860
|
+
children: icon || /* @__PURE__ */ jsx5(Boxes2, {
|
|
861
861
|
className: "h-5 w-5"
|
|
862
|
-
}
|
|
863
|
-
}
|
|
864
|
-
/* @__PURE__ */
|
|
862
|
+
})
|
|
863
|
+
}),
|
|
864
|
+
/* @__PURE__ */ jsx5("span", {
|
|
865
865
|
className: "group-hover:text-primary text-lg font-semibold capitalize transition-colors",
|
|
866
866
|
children: title
|
|
867
|
-
}
|
|
868
|
-
/* @__PURE__ */
|
|
867
|
+
}),
|
|
868
|
+
/* @__PURE__ */ jsx5(StatusChip3, {
|
|
869
869
|
tone: "neutral",
|
|
870
870
|
label: `${count} ${count === 1 ? "feature" : "features"}`,
|
|
871
871
|
size: "sm"
|
|
872
|
-
}
|
|
872
|
+
})
|
|
873
873
|
]
|
|
874
|
-
}
|
|
875
|
-
/* @__PURE__ */
|
|
874
|
+
}),
|
|
875
|
+
/* @__PURE__ */ jsx5(ChevronDown, {
|
|
876
876
|
className: cn3("text-muted-foreground h-5 w-5 transition-transform duration-200", isCollapsed && "-rotate-90")
|
|
877
|
-
}
|
|
877
|
+
})
|
|
878
878
|
]
|
|
879
|
-
}
|
|
879
|
+
});
|
|
880
880
|
}
|
|
881
881
|
// src/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.tsx
|
|
882
882
|
import * as React2 from "react";
|
|
@@ -889,7 +889,7 @@ import {
|
|
|
889
889
|
import { VStack as VStack2, HStack as HStack5 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
890
890
|
import { cn as cn4 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
891
891
|
import { LayoutGrid, List, Star } from "lucide-react";
|
|
892
|
-
import {
|
|
892
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
893
893
|
"use client";
|
|
894
894
|
function groupFeaturesByDomain(features) {
|
|
895
895
|
const groups = {};
|
|
@@ -959,50 +959,50 @@ function FeatureDiscovery({
|
|
|
959
959
|
});
|
|
960
960
|
};
|
|
961
961
|
const gridClasses = viewMode === "grid" ? "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3" : "flex flex-col gap-3";
|
|
962
|
-
const renderFeatureCards = (featureList) => /* @__PURE__ */
|
|
962
|
+
const renderFeatureCards = (featureList) => /* @__PURE__ */ jsx6("div", {
|
|
963
963
|
className: gridClasses,
|
|
964
|
-
children: featureList.map((feature) => /* @__PURE__ */
|
|
964
|
+
children: featureList.map((feature) => /* @__PURE__ */ jsx6(FeatureCard, {
|
|
965
965
|
feature,
|
|
966
966
|
onSelect: onSelectFeature
|
|
967
|
-
}, feature.meta.key
|
|
968
|
-
}
|
|
969
|
-
return /* @__PURE__ */
|
|
967
|
+
}, feature.meta.key))
|
|
968
|
+
});
|
|
969
|
+
return /* @__PURE__ */ jsxs5(VStack2, {
|
|
970
970
|
gap: "lg",
|
|
971
971
|
className: cn4("w-full p-6", className),
|
|
972
972
|
children: [
|
|
973
|
-
/* @__PURE__ */
|
|
973
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
974
974
|
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
975
975
|
children: [
|
|
976
|
-
/* @__PURE__ */
|
|
976
|
+
/* @__PURE__ */ jsx6(PageHeaderResponsive, {
|
|
977
977
|
title: "Feature Discovery",
|
|
978
978
|
subtitle: `Browse ${features.length} available ContractSpec features`
|
|
979
|
-
}
|
|
980
|
-
/* @__PURE__ */
|
|
979
|
+
}),
|
|
980
|
+
/* @__PURE__ */ jsxs5(HStack5, {
|
|
981
981
|
gap: "xs",
|
|
982
982
|
children: [
|
|
983
|
-
/* @__PURE__ */
|
|
983
|
+
/* @__PURE__ */ jsx6("button", {
|
|
984
984
|
type: "button",
|
|
985
985
|
onClick: () => setViewMode("grid"),
|
|
986
986
|
className: cn4("rounded-md p-2 transition-colors", viewMode === "grid" ? "bg-primary text-primary-foreground" : "bg-muted hover:bg-muted/80 text-muted-foreground"),
|
|
987
987
|
"aria-label": "Grid view",
|
|
988
|
-
children: /* @__PURE__ */
|
|
988
|
+
children: /* @__PURE__ */ jsx6(LayoutGrid, {
|
|
989
989
|
className: "h-4 w-4"
|
|
990
|
-
}
|
|
991
|
-
}
|
|
992
|
-
/* @__PURE__ */
|
|
990
|
+
})
|
|
991
|
+
}),
|
|
992
|
+
/* @__PURE__ */ jsx6("button", {
|
|
993
993
|
type: "button",
|
|
994
994
|
onClick: () => setViewMode("list"),
|
|
995
995
|
className: cn4("rounded-md p-2 transition-colors", viewMode === "list" ? "bg-primary text-primary-foreground" : "bg-muted hover:bg-muted/80 text-muted-foreground"),
|
|
996
996
|
"aria-label": "List view",
|
|
997
|
-
children: /* @__PURE__ */
|
|
997
|
+
children: /* @__PURE__ */ jsx6(List, {
|
|
998
998
|
className: "h-4 w-4"
|
|
999
|
-
}
|
|
1000
|
-
}
|
|
999
|
+
})
|
|
1000
|
+
})
|
|
1001
1001
|
]
|
|
1002
|
-
}
|
|
1002
|
+
})
|
|
1003
1003
|
]
|
|
1004
|
-
}
|
|
1005
|
-
/* @__PURE__ */
|
|
1004
|
+
}),
|
|
1005
|
+
/* @__PURE__ */ jsx6(FeatureFiltersBar, {
|
|
1006
1006
|
uniqueTags,
|
|
1007
1007
|
uniqueStabilities,
|
|
1008
1008
|
filters,
|
|
@@ -1011,61 +1011,61 @@ function FeatureDiscovery({
|
|
|
1011
1011
|
toggleStability,
|
|
1012
1012
|
clearFilters,
|
|
1013
1013
|
hasActiveFilters
|
|
1014
|
-
}
|
|
1015
|
-
filteredFeatures.length === 0 ? /* @__PURE__ */
|
|
1014
|
+
}),
|
|
1015
|
+
filteredFeatures.length === 0 ? /* @__PURE__ */ jsx6(EmptyState, {
|
|
1016
1016
|
title: "No features found",
|
|
1017
1017
|
description: hasActiveFilters ? "Try adjusting your search or filters" : "No features are registered yet",
|
|
1018
|
-
primaryAction: hasActiveFilters ? /* @__PURE__ */
|
|
1018
|
+
primaryAction: hasActiveFilters ? /* @__PURE__ */ jsx6(Button2, {
|
|
1019
1019
|
variant: "outline",
|
|
1020
1020
|
onClick: clearFilters,
|
|
1021
1021
|
children: "Clear filters"
|
|
1022
|
-
}
|
|
1023
|
-
}
|
|
1022
|
+
}) : undefined
|
|
1023
|
+
}) : /* @__PURE__ */ jsxs5(VStack2, {
|
|
1024
1024
|
gap: "lg",
|
|
1025
1025
|
children: [
|
|
1026
|
-
showFeatured && featuredFeatures.length > 0 && /* @__PURE__ */
|
|
1026
|
+
showFeatured && featuredFeatures.length > 0 && /* @__PURE__ */ jsxs5(VStack2, {
|
|
1027
1027
|
gap: "sm",
|
|
1028
1028
|
children: [
|
|
1029
|
-
/* @__PURE__ */
|
|
1029
|
+
/* @__PURE__ */ jsxs5(HStack5, {
|
|
1030
1030
|
gap: "sm",
|
|
1031
1031
|
className: "items-center",
|
|
1032
1032
|
children: [
|
|
1033
|
-
/* @__PURE__ */
|
|
1033
|
+
/* @__PURE__ */ jsx6(Star, {
|
|
1034
1034
|
className: "h-5 w-5 fill-amber-500 text-amber-500"
|
|
1035
|
-
}
|
|
1036
|
-
/* @__PURE__ */
|
|
1035
|
+
}),
|
|
1036
|
+
/* @__PURE__ */ jsx6("span", {
|
|
1037
1037
|
className: "text-lg font-semibold",
|
|
1038
1038
|
children: "Featured"
|
|
1039
|
-
}
|
|
1040
|
-
/* @__PURE__ */
|
|
1039
|
+
}),
|
|
1040
|
+
/* @__PURE__ */ jsx6(StatusChip4, {
|
|
1041
1041
|
tone: "success",
|
|
1042
1042
|
label: `${featuredFeatures.length} stable`,
|
|
1043
1043
|
size: "sm"
|
|
1044
|
-
}
|
|
1044
|
+
})
|
|
1045
1045
|
]
|
|
1046
|
-
}
|
|
1046
|
+
}),
|
|
1047
1047
|
renderFeatureCards(featuredFeatures)
|
|
1048
1048
|
]
|
|
1049
|
-
}
|
|
1050
|
-
groupedFeatures ? /* @__PURE__ */
|
|
1049
|
+
}),
|
|
1050
|
+
groupedFeatures ? /* @__PURE__ */ jsx6(VStack2, {
|
|
1051
1051
|
gap: "md",
|
|
1052
|
-
children: Object.entries(groupedFeatures).map(([group, groupFeatures]) => /* @__PURE__ */
|
|
1052
|
+
children: Object.entries(groupedFeatures).map(([group, groupFeatures]) => /* @__PURE__ */ jsxs5(VStack2, {
|
|
1053
1053
|
gap: "sm",
|
|
1054
1054
|
children: [
|
|
1055
|
-
/* @__PURE__ */
|
|
1055
|
+
/* @__PURE__ */ jsx6(FeatureCategoryHeader, {
|
|
1056
1056
|
title: group,
|
|
1057
1057
|
count: groupFeatures.length,
|
|
1058
1058
|
isCollapsed: collapsedGroups.has(group),
|
|
1059
1059
|
onToggle: () => toggleGroup(group)
|
|
1060
|
-
}
|
|
1060
|
+
}),
|
|
1061
1061
|
!collapsedGroups.has(group) && renderFeatureCards(groupFeatures)
|
|
1062
1062
|
]
|
|
1063
|
-
}, group
|
|
1064
|
-
}
|
|
1063
|
+
}, group))
|
|
1064
|
+
}) : renderFeatureCards(nonFeaturedFeatures)
|
|
1065
1065
|
]
|
|
1066
|
-
}
|
|
1066
|
+
})
|
|
1067
1067
|
]
|
|
1068
|
-
}
|
|
1068
|
+
});
|
|
1069
1069
|
}
|
|
1070
1070
|
// src/presentation/features/organisms/FeatureDetail/FeatureDetail.tsx
|
|
1071
1071
|
import {
|
|
@@ -1076,7 +1076,7 @@ import {
|
|
|
1076
1076
|
import { Box, HStack as HStack6, VStack as VStack3 } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
1077
1077
|
import { cn as cn5 } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
1078
1078
|
import Link from "next/link";
|
|
1079
|
-
import {
|
|
1079
|
+
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1080
1080
|
"use client";
|
|
1081
1081
|
var stabilityTone2 = {
|
|
1082
1082
|
stable: "success",
|
|
@@ -1087,266 +1087,266 @@ var stabilityTone2 = {
|
|
|
1087
1087
|
function FeatureDetail({ feature, className }) {
|
|
1088
1088
|
const { meta, operations, events, presentations, capabilities } = feature;
|
|
1089
1089
|
const tone = stabilityTone2[meta.stability] ?? "neutral";
|
|
1090
|
-
return /* @__PURE__ */
|
|
1090
|
+
return /* @__PURE__ */ jsxs6(VStack3, {
|
|
1091
1091
|
gap: "lg",
|
|
1092
1092
|
className: cn5("w-full", className),
|
|
1093
1093
|
children: [
|
|
1094
|
-
/* @__PURE__ */
|
|
1094
|
+
/* @__PURE__ */ jsxs6(HStack6, {
|
|
1095
1095
|
gap: "sm",
|
|
1096
1096
|
children: [
|
|
1097
|
-
/* @__PURE__ */
|
|
1097
|
+
/* @__PURE__ */ jsx7(StatusChip5, {
|
|
1098
1098
|
tone,
|
|
1099
1099
|
label: meta.stability ?? "unknown"
|
|
1100
|
-
}
|
|
1101
|
-
/* @__PURE__ */
|
|
1100
|
+
}),
|
|
1101
|
+
/* @__PURE__ */ jsx7(StatusChip5, {
|
|
1102
1102
|
tone: "neutral",
|
|
1103
1103
|
label: meta.key,
|
|
1104
1104
|
size: "sm"
|
|
1105
|
-
}
|
|
1106
|
-
/* @__PURE__ */
|
|
1105
|
+
}),
|
|
1106
|
+
/* @__PURE__ */ jsx7(StatusChip5, {
|
|
1107
1107
|
tone: "neutral",
|
|
1108
1108
|
label: `v${meta.version}`,
|
|
1109
1109
|
size: "sm"
|
|
1110
|
-
}
|
|
1110
|
+
})
|
|
1111
1111
|
]
|
|
1112
|
-
}
|
|
1113
|
-
/* @__PURE__ */
|
|
1112
|
+
}),
|
|
1113
|
+
/* @__PURE__ */ jsxs6(StatCardGroup, {
|
|
1114
1114
|
children: [
|
|
1115
|
-
/* @__PURE__ */
|
|
1115
|
+
/* @__PURE__ */ jsx7(Link, {
|
|
1116
1116
|
href: `./${feature.meta.key}/operations`,
|
|
1117
|
-
children: /* @__PURE__ */
|
|
1117
|
+
children: /* @__PURE__ */ jsx7(StatCard, {
|
|
1118
1118
|
label: "Operations",
|
|
1119
1119
|
value: operations?.length ?? 0
|
|
1120
|
-
}
|
|
1121
|
-
}
|
|
1122
|
-
/* @__PURE__ */
|
|
1120
|
+
})
|
|
1121
|
+
}),
|
|
1122
|
+
/* @__PURE__ */ jsx7(Link, {
|
|
1123
1123
|
href: `./${feature.meta.key}/events`,
|
|
1124
|
-
children: /* @__PURE__ */
|
|
1124
|
+
children: /* @__PURE__ */ jsx7(StatCard, {
|
|
1125
1125
|
label: "Events",
|
|
1126
1126
|
value: events?.length ?? 0
|
|
1127
|
-
}
|
|
1128
|
-
}
|
|
1129
|
-
/* @__PURE__ */
|
|
1127
|
+
})
|
|
1128
|
+
}),
|
|
1129
|
+
/* @__PURE__ */ jsx7(Link, {
|
|
1130
1130
|
href: `./${feature.meta.key}/presentations`,
|
|
1131
|
-
children: /* @__PURE__ */
|
|
1131
|
+
children: /* @__PURE__ */ jsx7(StatCard, {
|
|
1132
1132
|
label: "Presentations",
|
|
1133
1133
|
value: presentations?.length ?? 0
|
|
1134
|
-
}
|
|
1135
|
-
}
|
|
1134
|
+
})
|
|
1135
|
+
})
|
|
1136
1136
|
]
|
|
1137
|
-
}
|
|
1138
|
-
capabilities?.provides?.length ? /* @__PURE__ */
|
|
1137
|
+
}),
|
|
1138
|
+
capabilities?.provides?.length ? /* @__PURE__ */ jsxs6(Box, {
|
|
1139
1139
|
className: "flex-col rounded-lg border p-4",
|
|
1140
1140
|
gap: "sm",
|
|
1141
1141
|
align: "start",
|
|
1142
1142
|
children: [
|
|
1143
|
-
/* @__PURE__ */
|
|
1143
|
+
/* @__PURE__ */ jsx7("span", {
|
|
1144
1144
|
className: "font-semibold",
|
|
1145
1145
|
children: "Provides Capabilities"
|
|
1146
|
-
}
|
|
1147
|
-
/* @__PURE__ */
|
|
1146
|
+
}),
|
|
1147
|
+
/* @__PURE__ */ jsx7(HStack6, {
|
|
1148
1148
|
gap: "xs",
|
|
1149
1149
|
wrap: "wrap",
|
|
1150
|
-
children: capabilities.provides.map((cap) => /* @__PURE__ */
|
|
1150
|
+
children: capabilities.provides.map((cap) => /* @__PURE__ */ jsx7(StatusChip5, {
|
|
1151
1151
|
tone: "success",
|
|
1152
1152
|
label: `${cap.key} v${cap.version}`,
|
|
1153
1153
|
size: "sm"
|
|
1154
|
-
}, `${cap.key}-${cap.version}
|
|
1155
|
-
}
|
|
1154
|
+
}, `${cap.key}-${cap.version}`))
|
|
1155
|
+
})
|
|
1156
1156
|
]
|
|
1157
|
-
}
|
|
1158
|
-
capabilities?.requires?.length ? /* @__PURE__ */
|
|
1157
|
+
}) : null,
|
|
1158
|
+
capabilities?.requires?.length ? /* @__PURE__ */ jsxs6(Box, {
|
|
1159
1159
|
className: "flex-col rounded-lg border p-4",
|
|
1160
1160
|
gap: "sm",
|
|
1161
1161
|
align: "start",
|
|
1162
1162
|
children: [
|
|
1163
|
-
/* @__PURE__ */
|
|
1163
|
+
/* @__PURE__ */ jsx7("span", {
|
|
1164
1164
|
className: "font-semibold",
|
|
1165
1165
|
children: "Requires Capabilities"
|
|
1166
|
-
}
|
|
1167
|
-
/* @__PURE__ */
|
|
1166
|
+
}),
|
|
1167
|
+
/* @__PURE__ */ jsx7(HStack6, {
|
|
1168
1168
|
gap: "xs",
|
|
1169
1169
|
wrap: "wrap",
|
|
1170
|
-
children: capabilities.requires.map((req) => /* @__PURE__ */
|
|
1170
|
+
children: capabilities.requires.map((req) => /* @__PURE__ */ jsx7(StatusChip5, {
|
|
1171
1171
|
tone: "info",
|
|
1172
1172
|
label: `${req.key}${req.version ? ` v${req.version}` : ""}${req.optional ? " (optional)" : ""}`,
|
|
1173
1173
|
size: "sm"
|
|
1174
|
-
}, req.key
|
|
1175
|
-
}
|
|
1174
|
+
}, req.key))
|
|
1175
|
+
})
|
|
1176
1176
|
]
|
|
1177
|
-
}
|
|
1178
|
-
meta.tags?.length ? /* @__PURE__ */
|
|
1177
|
+
}) : null,
|
|
1178
|
+
meta.tags?.length ? /* @__PURE__ */ jsxs6(Box, {
|
|
1179
1179
|
className: "flex-col rounded-lg border p-4",
|
|
1180
1180
|
gap: "sm",
|
|
1181
1181
|
align: "start",
|
|
1182
1182
|
children: [
|
|
1183
|
-
/* @__PURE__ */
|
|
1183
|
+
/* @__PURE__ */ jsx7("span", {
|
|
1184
1184
|
className: "font-semibold",
|
|
1185
1185
|
children: "Tags"
|
|
1186
|
-
}
|
|
1187
|
-
/* @__PURE__ */
|
|
1186
|
+
}),
|
|
1187
|
+
/* @__PURE__ */ jsx7(HStack6, {
|
|
1188
1188
|
gap: "xs",
|
|
1189
1189
|
wrap: "wrap",
|
|
1190
|
-
children: meta.tags.map((tag) => /* @__PURE__ */
|
|
1190
|
+
children: meta.tags.map((tag) => /* @__PURE__ */ jsx7(StatusChip5, {
|
|
1191
1191
|
tone: "neutral",
|
|
1192
1192
|
label: `#${tag}`,
|
|
1193
1193
|
size: "sm"
|
|
1194
|
-
}, tag
|
|
1195
|
-
}
|
|
1194
|
+
}, tag))
|
|
1195
|
+
})
|
|
1196
1196
|
]
|
|
1197
|
-
}
|
|
1198
|
-
meta.owners?.length ? /* @__PURE__ */
|
|
1197
|
+
}) : null,
|
|
1198
|
+
meta.owners?.length ? /* @__PURE__ */ jsxs6(Box, {
|
|
1199
1199
|
className: "flex-col rounded-lg border p-4",
|
|
1200
1200
|
gap: "sm",
|
|
1201
1201
|
align: "start",
|
|
1202
1202
|
children: [
|
|
1203
|
-
/* @__PURE__ */
|
|
1203
|
+
/* @__PURE__ */ jsx7("span", {
|
|
1204
1204
|
className: "font-semibold",
|
|
1205
1205
|
children: "Owners"
|
|
1206
|
-
}
|
|
1207
|
-
/* @__PURE__ */
|
|
1206
|
+
}),
|
|
1207
|
+
/* @__PURE__ */ jsx7(HStack6, {
|
|
1208
1208
|
gap: "xs",
|
|
1209
1209
|
wrap: "wrap",
|
|
1210
|
-
children: meta.owners.map((owner) => /* @__PURE__ */
|
|
1210
|
+
children: meta.owners.map((owner) => /* @__PURE__ */ jsx7(StatusChip5, {
|
|
1211
1211
|
tone: "neutral",
|
|
1212
1212
|
label: owner,
|
|
1213
1213
|
size: "sm"
|
|
1214
|
-
}, owner
|
|
1215
|
-
}
|
|
1214
|
+
}, owner))
|
|
1215
|
+
})
|
|
1216
1216
|
]
|
|
1217
|
-
}
|
|
1217
|
+
}) : null
|
|
1218
1218
|
]
|
|
1219
|
-
}
|
|
1219
|
+
});
|
|
1220
1220
|
}
|
|
1221
1221
|
// src/presentation/features/organisms/FeatureOperationsList.tsx
|
|
1222
1222
|
import { EntityCard as EntityCard2 } from "@contractspec/lib.design-system";
|
|
1223
1223
|
import { Zap as Zap3 } from "lucide-react";
|
|
1224
|
-
import {
|
|
1224
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
1225
1225
|
"use client";
|
|
1226
1226
|
function FeatureOperationsList({
|
|
1227
1227
|
feature
|
|
1228
1228
|
}) {
|
|
1229
1229
|
if (!feature.operations?.length)
|
|
1230
1230
|
return null;
|
|
1231
|
-
return /* @__PURE__ */
|
|
1231
|
+
return /* @__PURE__ */ jsx8("div", {
|
|
1232
1232
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1233
1233
|
children: feature.operations.map((op) => {
|
|
1234
1234
|
const spec = resolveSerializedOperationSpec(op.key, op.version);
|
|
1235
|
-
return /* @__PURE__ */
|
|
1235
|
+
return /* @__PURE__ */ jsx8(EntityCard2, {
|
|
1236
1236
|
cardTitle: op.key,
|
|
1237
1237
|
cardSubtitle: `v${op.version}`,
|
|
1238
1238
|
footer: spec?.meta.description,
|
|
1239
|
-
icon: /* @__PURE__ */
|
|
1239
|
+
icon: /* @__PURE__ */ jsx8(Zap3, {
|
|
1240
1240
|
className: "h-4 w-4"
|
|
1241
|
-
}
|
|
1241
|
+
}),
|
|
1242
1242
|
href: `/features/${feature.meta.key}/operations/${op.key}`
|
|
1243
|
-
}, op.key
|
|
1243
|
+
}, op.key);
|
|
1244
1244
|
})
|
|
1245
|
-
}
|
|
1245
|
+
});
|
|
1246
1246
|
}
|
|
1247
1247
|
|
|
1248
1248
|
// src/presentation/features/organisms/FeatureEventsList.tsx
|
|
1249
1249
|
import { EntityCard as EntityCard3 } from "@contractspec/lib.design-system";
|
|
1250
1250
|
import { Radio as Radio3 } from "lucide-react";
|
|
1251
|
-
import {
|
|
1251
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
1252
1252
|
"use client";
|
|
1253
1253
|
function FeatureEventsList({ feature }) {
|
|
1254
1254
|
if (!feature.events?.length)
|
|
1255
1255
|
return null;
|
|
1256
|
-
return /* @__PURE__ */
|
|
1256
|
+
return /* @__PURE__ */ jsx9("div", {
|
|
1257
1257
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1258
1258
|
children: feature.events.map((ev) => {
|
|
1259
1259
|
const spec = resolveSerializedEventSpec(ev.key, ev.version);
|
|
1260
|
-
return /* @__PURE__ */
|
|
1260
|
+
return /* @__PURE__ */ jsx9(EntityCard3, {
|
|
1261
1261
|
cardTitle: ev.key,
|
|
1262
1262
|
cardSubtitle: `v${ev.version}`,
|
|
1263
1263
|
footer: spec?.meta.description,
|
|
1264
|
-
icon: /* @__PURE__ */
|
|
1264
|
+
icon: /* @__PURE__ */ jsx9(Radio3, {
|
|
1265
1265
|
className: "h-4 w-4"
|
|
1266
|
-
}
|
|
1266
|
+
}),
|
|
1267
1267
|
href: `/features/${feature.meta.key}/events/${ev.key}`
|
|
1268
|
-
}, ev.key
|
|
1268
|
+
}, ev.key);
|
|
1269
1269
|
})
|
|
1270
|
-
}
|
|
1270
|
+
});
|
|
1271
1271
|
}
|
|
1272
1272
|
|
|
1273
1273
|
// src/presentation/features/organisms/FeaturePresentationsList.tsx
|
|
1274
1274
|
import { EntityCard as EntityCard4 } from "@contractspec/lib.design-system";
|
|
1275
1275
|
import { Layout as Layout4 } from "lucide-react";
|
|
1276
|
-
import {
|
|
1276
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
1277
1277
|
"use client";
|
|
1278
1278
|
function FeaturePresentationsList({
|
|
1279
1279
|
feature
|
|
1280
1280
|
}) {
|
|
1281
1281
|
if (!feature.presentations?.length)
|
|
1282
1282
|
return null;
|
|
1283
|
-
return /* @__PURE__ */
|
|
1283
|
+
return /* @__PURE__ */ jsx10("div", {
|
|
1284
1284
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1285
1285
|
children: feature.presentations.map((pres) => {
|
|
1286
1286
|
const spec = resolveSerializedPresentationSpec(pres.key, pres.version);
|
|
1287
|
-
return /* @__PURE__ */
|
|
1287
|
+
return /* @__PURE__ */ jsx10(EntityCard4, {
|
|
1288
1288
|
cardTitle: pres.key,
|
|
1289
1289
|
cardSubtitle: `v${pres.version}`,
|
|
1290
1290
|
footer: spec?.meta.description,
|
|
1291
|
-
icon: /* @__PURE__ */
|
|
1291
|
+
icon: /* @__PURE__ */ jsx10(Layout4, {
|
|
1292
1292
|
className: "h-4 w-4"
|
|
1293
|
-
}
|
|
1293
|
+
}),
|
|
1294
1294
|
href: `/features/${feature.meta.key}/presentations/${pres.key}`
|
|
1295
|
-
}, pres.key
|
|
1295
|
+
}, pres.key);
|
|
1296
1296
|
})
|
|
1297
|
-
}
|
|
1297
|
+
});
|
|
1298
1298
|
}
|
|
1299
1299
|
|
|
1300
1300
|
// src/presentation/features/organisms/FeatureDataViewsList.tsx
|
|
1301
1301
|
import { EntityCard as EntityCard5 } from "@contractspec/lib.design-system";
|
|
1302
1302
|
import { Table } from "lucide-react";
|
|
1303
|
-
import {
|
|
1303
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1304
1304
|
"use client";
|
|
1305
1305
|
function FeatureDataViewsList({
|
|
1306
1306
|
feature
|
|
1307
1307
|
}) {
|
|
1308
1308
|
if (!feature.dataViews?.length)
|
|
1309
1309
|
return null;
|
|
1310
|
-
return /* @__PURE__ */
|
|
1310
|
+
return /* @__PURE__ */ jsx11("div", {
|
|
1311
1311
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1312
1312
|
children: feature.dataViews.map((view) => {
|
|
1313
1313
|
const spec = resolveSerializedDataViewSpec(view.key, view.version);
|
|
1314
|
-
return /* @__PURE__ */
|
|
1314
|
+
return /* @__PURE__ */ jsx11(EntityCard5, {
|
|
1315
1315
|
cardTitle: view.key,
|
|
1316
1316
|
cardSubtitle: `v${view.version}`,
|
|
1317
1317
|
footer: spec?.meta.description,
|
|
1318
|
-
icon: /* @__PURE__ */
|
|
1318
|
+
icon: /* @__PURE__ */ jsx11(Table, {
|
|
1319
1319
|
className: "h-4 w-4"
|
|
1320
|
-
}
|
|
1320
|
+
}),
|
|
1321
1321
|
href: `/features/${feature.meta.key}/dataviews/${view.key}`
|
|
1322
|
-
}, view.key
|
|
1322
|
+
}, view.key);
|
|
1323
1323
|
})
|
|
1324
|
-
}
|
|
1324
|
+
});
|
|
1325
1325
|
}
|
|
1326
1326
|
|
|
1327
1327
|
// src/presentation/features/organisms/FeatureFormsList.tsx
|
|
1328
1328
|
import { EntityCard as EntityCard6 } from "@contractspec/lib.design-system";
|
|
1329
1329
|
import { FormInput } from "lucide-react";
|
|
1330
|
-
import {
|
|
1330
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
1331
1331
|
"use client";
|
|
1332
1332
|
function FeatureFormsList({ feature }) {
|
|
1333
1333
|
if (!feature.forms?.length)
|
|
1334
1334
|
return null;
|
|
1335
|
-
return /* @__PURE__ */
|
|
1335
|
+
return /* @__PURE__ */ jsx12("div", {
|
|
1336
1336
|
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1337
1337
|
children: feature.forms.map((form) => {
|
|
1338
1338
|
const spec = resolveSerializedFormSpec(form.key, form.version);
|
|
1339
|
-
return /* @__PURE__ */
|
|
1339
|
+
return /* @__PURE__ */ jsx12(EntityCard6, {
|
|
1340
1340
|
cardTitle: form.key,
|
|
1341
1341
|
cardSubtitle: form.version ? `v${form.version}` : undefined,
|
|
1342
1342
|
footer: spec?.meta.description,
|
|
1343
|
-
icon: /* @__PURE__ */
|
|
1343
|
+
icon: /* @__PURE__ */ jsx12(FormInput, {
|
|
1344
1344
|
className: "h-4 w-4"
|
|
1345
|
-
}
|
|
1345
|
+
}),
|
|
1346
1346
|
href: `/features/${feature.meta.key}/forms/${form.key}`
|
|
1347
|
-
}, form.key
|
|
1347
|
+
}, form.key);
|
|
1348
1348
|
})
|
|
1349
|
-
}
|
|
1349
|
+
});
|
|
1350
1350
|
}
|
|
1351
1351
|
export {
|
|
1352
1352
|
FeaturePresentationsList,
|