@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
|
@@ -1,107 +1,107 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// src/components/templates/todos/FilterBar.tsx
|
|
3
|
-
import {
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
function FilterBar({ value, onChange, categories }) {
|
|
5
5
|
const handleChange = (key, nextValue) => {
|
|
6
6
|
onChange({ ...value, [key]: nextValue });
|
|
7
7
|
};
|
|
8
|
-
return /* @__PURE__ */
|
|
8
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
9
9
|
className: "border-border bg-card grid gap-3 rounded-2xl border p-4 md:grid-cols-4",
|
|
10
10
|
children: [
|
|
11
|
-
/* @__PURE__ */
|
|
11
|
+
/* @__PURE__ */ jsxs("label", {
|
|
12
12
|
className: "text-muted-foreground flex flex-col text-xs tracking-wide uppercase",
|
|
13
13
|
children: [
|
|
14
14
|
"Status",
|
|
15
|
-
/* @__PURE__ */
|
|
15
|
+
/* @__PURE__ */ jsxs("select", {
|
|
16
16
|
className: "border-border bg-background text-foreground mt-1 rounded-md border px-3 py-2 text-sm",
|
|
17
17
|
value: value.status,
|
|
18
18
|
onChange: (event) => handleChange("status", event.target.value),
|
|
19
19
|
children: [
|
|
20
|
-
/* @__PURE__ */
|
|
20
|
+
/* @__PURE__ */ jsx("option", {
|
|
21
21
|
value: "all",
|
|
22
22
|
children: "All tasks"
|
|
23
|
-
}
|
|
24
|
-
/* @__PURE__ */
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ jsx("option", {
|
|
25
25
|
value: "active",
|
|
26
26
|
children: "Active"
|
|
27
|
-
}
|
|
28
|
-
/* @__PURE__ */
|
|
27
|
+
}),
|
|
28
|
+
/* @__PURE__ */ jsx("option", {
|
|
29
29
|
value: "completed",
|
|
30
30
|
children: "Completed"
|
|
31
|
-
}
|
|
31
|
+
})
|
|
32
32
|
]
|
|
33
|
-
}
|
|
33
|
+
})
|
|
34
34
|
]
|
|
35
|
-
}
|
|
36
|
-
/* @__PURE__ */
|
|
35
|
+
}),
|
|
36
|
+
/* @__PURE__ */ jsxs("label", {
|
|
37
37
|
className: "text-muted-foreground flex flex-col text-xs tracking-wide uppercase",
|
|
38
38
|
children: [
|
|
39
39
|
"Priority",
|
|
40
|
-
/* @__PURE__ */
|
|
40
|
+
/* @__PURE__ */ jsxs("select", {
|
|
41
41
|
className: "border-border bg-background text-foreground mt-1 rounded-md border px-3 py-2 text-sm",
|
|
42
42
|
value: value.priority,
|
|
43
43
|
onChange: (event) => handleChange("priority", event.target.value),
|
|
44
44
|
children: [
|
|
45
|
-
/* @__PURE__ */
|
|
45
|
+
/* @__PURE__ */ jsx("option", {
|
|
46
46
|
value: "all",
|
|
47
47
|
children: "All"
|
|
48
|
-
}
|
|
49
|
-
/* @__PURE__ */
|
|
48
|
+
}),
|
|
49
|
+
/* @__PURE__ */ jsx("option", {
|
|
50
50
|
value: "LOW",
|
|
51
51
|
children: "Low"
|
|
52
|
-
}
|
|
53
|
-
/* @__PURE__ */
|
|
52
|
+
}),
|
|
53
|
+
/* @__PURE__ */ jsx("option", {
|
|
54
54
|
value: "MEDIUM",
|
|
55
55
|
children: "Medium"
|
|
56
|
-
}
|
|
57
|
-
/* @__PURE__ */
|
|
56
|
+
}),
|
|
57
|
+
/* @__PURE__ */ jsx("option", {
|
|
58
58
|
value: "HIGH",
|
|
59
59
|
children: "High"
|
|
60
|
-
}
|
|
61
|
-
/* @__PURE__ */
|
|
60
|
+
}),
|
|
61
|
+
/* @__PURE__ */ jsx("option", {
|
|
62
62
|
value: "URGENT",
|
|
63
63
|
children: "Urgent"
|
|
64
|
-
}
|
|
64
|
+
})
|
|
65
65
|
]
|
|
66
|
-
}
|
|
66
|
+
})
|
|
67
67
|
]
|
|
68
|
-
}
|
|
69
|
-
/* @__PURE__ */
|
|
68
|
+
}),
|
|
69
|
+
/* @__PURE__ */ jsxs("label", {
|
|
70
70
|
className: "text-muted-foreground flex flex-col text-xs tracking-wide uppercase",
|
|
71
71
|
children: [
|
|
72
72
|
"Category",
|
|
73
|
-
/* @__PURE__ */
|
|
73
|
+
/* @__PURE__ */ jsxs("select", {
|
|
74
74
|
className: "border-border bg-background text-foreground mt-1 rounded-md border px-3 py-2 text-sm",
|
|
75
75
|
value: value.categoryId,
|
|
76
76
|
onChange: (event) => handleChange("categoryId", event.target.value),
|
|
77
77
|
children: [
|
|
78
|
-
/* @__PURE__ */
|
|
78
|
+
/* @__PURE__ */ jsx("option", {
|
|
79
79
|
value: "all",
|
|
80
80
|
children: "All categories"
|
|
81
|
-
}
|
|
82
|
-
categories.map((category) => /* @__PURE__ */
|
|
81
|
+
}),
|
|
82
|
+
categories.map((category) => /* @__PURE__ */ jsx("option", {
|
|
83
83
|
value: category.id,
|
|
84
84
|
children: category.name
|
|
85
|
-
}, category.id
|
|
85
|
+
}, category.id))
|
|
86
86
|
]
|
|
87
|
-
}
|
|
87
|
+
})
|
|
88
88
|
]
|
|
89
|
-
}
|
|
90
|
-
/* @__PURE__ */
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ jsxs("label", {
|
|
91
91
|
className: "text-muted-foreground flex flex-col text-xs tracking-wide uppercase",
|
|
92
92
|
children: [
|
|
93
93
|
"Search",
|
|
94
|
-
/* @__PURE__ */
|
|
94
|
+
/* @__PURE__ */ jsx("input", {
|
|
95
95
|
type: "search",
|
|
96
96
|
className: "border-border bg-background text-foreground mt-1 rounded-md border px-3 py-2 text-sm",
|
|
97
97
|
placeholder: "Search by title",
|
|
98
98
|
value: value.search,
|
|
99
99
|
onChange: (event) => handleChange("search", event.target.value)
|
|
100
|
-
}
|
|
100
|
+
})
|
|
101
101
|
]
|
|
102
|
-
}
|
|
102
|
+
})
|
|
103
103
|
]
|
|
104
|
-
}
|
|
104
|
+
});
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
// src/components/templates/todos/TaskForm.tsx
|
|
@@ -109,7 +109,7 @@ import { useState } from "react";
|
|
|
109
109
|
import { useMutation } from "@apollo/client/react";
|
|
110
110
|
import { gql } from "@apollo/client";
|
|
111
111
|
import { useTemplateRuntime } from "@contractspec/lib.example-shared-ui";
|
|
112
|
-
import {
|
|
112
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
113
113
|
"use client";
|
|
114
114
|
var CREATE_TASK = gql`
|
|
115
115
|
mutation CreateTask($input: CreateTaskInput!) {
|
|
@@ -151,116 +151,116 @@ function TaskForm({ categories }) {
|
|
|
151
151
|
setCategoryId("none");
|
|
152
152
|
setTagsInput("");
|
|
153
153
|
};
|
|
154
|
-
return /* @__PURE__ */
|
|
154
|
+
return /* @__PURE__ */ jsxs2("form", {
|
|
155
155
|
onSubmit: handleSubmit,
|
|
156
156
|
className: "border-border bg-background/60 space-y-3 rounded-2xl border p-4",
|
|
157
157
|
children: [
|
|
158
|
-
/* @__PURE__ */
|
|
159
|
-
children: /* @__PURE__ */
|
|
158
|
+
/* @__PURE__ */ jsx2("div", {
|
|
159
|
+
children: /* @__PURE__ */ jsxs2("label", {
|
|
160
160
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
161
161
|
children: [
|
|
162
162
|
"Title",
|
|
163
|
-
/* @__PURE__ */
|
|
163
|
+
/* @__PURE__ */ jsx2("input", {
|
|
164
164
|
type: "text",
|
|
165
165
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
166
166
|
placeholder: "What needs to get done?",
|
|
167
167
|
value: title,
|
|
168
168
|
onChange: (event) => setTitle(event.target.value),
|
|
169
169
|
required: true
|
|
170
|
-
}
|
|
170
|
+
})
|
|
171
171
|
]
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/* @__PURE__ */
|
|
175
|
-
children: /* @__PURE__ */
|
|
172
|
+
})
|
|
173
|
+
}),
|
|
174
|
+
/* @__PURE__ */ jsx2("div", {
|
|
175
|
+
children: /* @__PURE__ */ jsxs2("label", {
|
|
176
176
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
177
177
|
children: [
|
|
178
178
|
"Description",
|
|
179
|
-
/* @__PURE__ */
|
|
179
|
+
/* @__PURE__ */ jsx2("textarea", {
|
|
180
180
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
181
181
|
rows: 3,
|
|
182
182
|
placeholder: "Add context or policy notes",
|
|
183
183
|
value: description,
|
|
184
184
|
onChange: (event) => setDescription(event.target.value)
|
|
185
|
-
}
|
|
185
|
+
})
|
|
186
186
|
]
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
/* @__PURE__ */
|
|
187
|
+
})
|
|
188
|
+
}),
|
|
189
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
190
190
|
className: "grid gap-3 md:grid-cols-3",
|
|
191
191
|
children: [
|
|
192
|
-
/* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ jsxs2("label", {
|
|
193
193
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
194
194
|
children: [
|
|
195
195
|
"Priority",
|
|
196
|
-
/* @__PURE__ */
|
|
196
|
+
/* @__PURE__ */ jsxs2("select", {
|
|
197
197
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
198
198
|
value: priority,
|
|
199
199
|
onChange: (event) => setPriority(event.target.value),
|
|
200
200
|
children: [
|
|
201
|
-
/* @__PURE__ */
|
|
201
|
+
/* @__PURE__ */ jsx2("option", {
|
|
202
202
|
value: "LOW",
|
|
203
203
|
children: "Low"
|
|
204
|
-
}
|
|
205
|
-
/* @__PURE__ */
|
|
204
|
+
}),
|
|
205
|
+
/* @__PURE__ */ jsx2("option", {
|
|
206
206
|
value: "MEDIUM",
|
|
207
207
|
children: "Medium"
|
|
208
|
-
}
|
|
209
|
-
/* @__PURE__ */
|
|
208
|
+
}),
|
|
209
|
+
/* @__PURE__ */ jsx2("option", {
|
|
210
210
|
value: "HIGH",
|
|
211
211
|
children: "High"
|
|
212
|
-
}
|
|
213
|
-
/* @__PURE__ */
|
|
212
|
+
}),
|
|
213
|
+
/* @__PURE__ */ jsx2("option", {
|
|
214
214
|
value: "URGENT",
|
|
215
215
|
children: "Urgent"
|
|
216
|
-
}
|
|
216
|
+
})
|
|
217
217
|
]
|
|
218
|
-
}
|
|
218
|
+
})
|
|
219
219
|
]
|
|
220
|
-
}
|
|
221
|
-
/* @__PURE__ */
|
|
220
|
+
}),
|
|
221
|
+
/* @__PURE__ */ jsxs2("label", {
|
|
222
222
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
223
223
|
children: [
|
|
224
224
|
"Category",
|
|
225
|
-
/* @__PURE__ */
|
|
225
|
+
/* @__PURE__ */ jsxs2("select", {
|
|
226
226
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
227
227
|
value: categoryId,
|
|
228
228
|
onChange: (event) => setCategoryId(event.target.value),
|
|
229
229
|
children: [
|
|
230
|
-
/* @__PURE__ */
|
|
230
|
+
/* @__PURE__ */ jsx2("option", {
|
|
231
231
|
value: "none",
|
|
232
232
|
children: "None"
|
|
233
|
-
}
|
|
234
|
-
categories.map((category) => /* @__PURE__ */
|
|
233
|
+
}),
|
|
234
|
+
categories.map((category) => /* @__PURE__ */ jsx2("option", {
|
|
235
235
|
value: category.id,
|
|
236
236
|
children: category.name
|
|
237
|
-
}, category.id
|
|
237
|
+
}, category.id))
|
|
238
238
|
]
|
|
239
|
-
}
|
|
239
|
+
})
|
|
240
240
|
]
|
|
241
|
-
}
|
|
242
|
-
/* @__PURE__ */
|
|
241
|
+
}),
|
|
242
|
+
/* @__PURE__ */ jsxs2("label", {
|
|
243
243
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
244
244
|
children: [
|
|
245
245
|
"Tags",
|
|
246
|
-
/* @__PURE__ */
|
|
246
|
+
/* @__PURE__ */ jsx2("input", {
|
|
247
247
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
248
248
|
placeholder: "Comma separated (optional)",
|
|
249
249
|
value: tagsInput,
|
|
250
250
|
onChange: (event) => setTagsInput(event.target.value)
|
|
251
|
-
}
|
|
251
|
+
})
|
|
252
252
|
]
|
|
253
|
-
}
|
|
253
|
+
})
|
|
254
254
|
]
|
|
255
|
-
}
|
|
256
|
-
/* @__PURE__ */
|
|
255
|
+
}),
|
|
256
|
+
/* @__PURE__ */ jsx2("button", {
|
|
257
257
|
type: "submit",
|
|
258
258
|
className: "btn-primary w-full py-2 text-sm font-semibold",
|
|
259
259
|
disabled: loading,
|
|
260
260
|
children: loading ? "Saving..." : "Add task"
|
|
261
|
-
}
|
|
261
|
+
})
|
|
262
262
|
]
|
|
263
|
-
}
|
|
263
|
+
});
|
|
264
264
|
}
|
|
265
265
|
function parseTags(input) {
|
|
266
266
|
return input.split(",").map((tag) => tag.trim()).filter(Boolean);
|
|
@@ -268,77 +268,77 @@ function parseTags(input) {
|
|
|
268
268
|
|
|
269
269
|
// src/components/templates/todos/TaskItem.tsx
|
|
270
270
|
import { Check, Circle, Trash2 } from "lucide-react";
|
|
271
|
-
import {
|
|
271
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
272
272
|
function TaskItem({ task, onToggle, onDelete }) {
|
|
273
273
|
const badgeColor = task.priority === "URGENT" ? "text-red-200 bg-red-500/10 border-red-500/40" : task.priority === "HIGH" ? "text-amber-200 bg-amber-500/10 border-amber-500/40" : task.priority === "LOW" ? "text-emerald-200 bg-emerald-500/10 border-emerald-500/40" : "text-violet-200 bg-violet-500/10 border-violet-500/40";
|
|
274
|
-
return /* @__PURE__ */
|
|
274
|
+
return /* @__PURE__ */ jsxs3("div", {
|
|
275
275
|
className: "border-border/70 bg-card/60 hover:border-border flex items-start gap-4 rounded-2xl border p-4 transition",
|
|
276
276
|
children: [
|
|
277
|
-
/* @__PURE__ */
|
|
277
|
+
/* @__PURE__ */ jsx3("button", {
|
|
278
278
|
type: "button",
|
|
279
279
|
className: "border-border text-muted-foreground hover:bg-muted/40 rounded-full border p-2",
|
|
280
280
|
"aria-pressed": task.completed,
|
|
281
281
|
onClick: () => onToggle?.(task),
|
|
282
|
-
children: task.completed ? /* @__PURE__ */
|
|
282
|
+
children: task.completed ? /* @__PURE__ */ jsx3(Check, {
|
|
283
283
|
className: "h-4 w-4 text-emerald-400"
|
|
284
|
-
}
|
|
284
|
+
}) : /* @__PURE__ */ jsx3(Circle, {
|
|
285
285
|
className: "h-4 w-4"
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
/* @__PURE__ */
|
|
286
|
+
})
|
|
287
|
+
}),
|
|
288
|
+
/* @__PURE__ */ jsxs3("div", {
|
|
289
289
|
className: "flex-1 space-y-2",
|
|
290
290
|
children: [
|
|
291
|
-
/* @__PURE__ */
|
|
291
|
+
/* @__PURE__ */ jsxs3("div", {
|
|
292
292
|
className: "flex flex-wrap items-center gap-2",
|
|
293
293
|
children: [
|
|
294
|
-
/* @__PURE__ */
|
|
294
|
+
/* @__PURE__ */ jsx3("p", {
|
|
295
295
|
className: `font-medium ${task.completed ? "text-muted-foreground line-through" : "text-foreground"}`,
|
|
296
296
|
children: task.title
|
|
297
|
-
}
|
|
298
|
-
/* @__PURE__ */
|
|
297
|
+
}),
|
|
298
|
+
/* @__PURE__ */ jsx3("span", {
|
|
299
299
|
className: `rounded-full border px-2 py-0.5 text-xs ${badgeColor}`,
|
|
300
300
|
children: task.priority.charAt(0) + task.priority.slice(1).toLowerCase()
|
|
301
|
-
}
|
|
302
|
-
task.category ? /* @__PURE__ */
|
|
301
|
+
}),
|
|
302
|
+
task.category ? /* @__PURE__ */ jsx3("span", {
|
|
303
303
|
className: "bg-muted/40 text-muted-foreground rounded-full px-2 py-0.5 text-xs",
|
|
304
304
|
children: task.category.name
|
|
305
|
-
}
|
|
306
|
-
task.dueDate ? /* @__PURE__ */
|
|
305
|
+
}) : null,
|
|
306
|
+
task.dueDate ? /* @__PURE__ */ jsxs3("span", {
|
|
307
307
|
className: "text-muted-foreground text-xs",
|
|
308
308
|
children: [
|
|
309
309
|
"Due ",
|
|
310
310
|
new Date(task.dueDate).toLocaleDateString()
|
|
311
311
|
]
|
|
312
|
-
}
|
|
312
|
+
}) : null
|
|
313
313
|
]
|
|
314
|
-
}
|
|
315
|
-
task.description ? /* @__PURE__ */
|
|
314
|
+
}),
|
|
315
|
+
task.description ? /* @__PURE__ */ jsx3("p", {
|
|
316
316
|
className: "text-muted-foreground text-sm",
|
|
317
317
|
children: task.description
|
|
318
|
-
}
|
|
319
|
-
task.tags.length ? /* @__PURE__ */
|
|
318
|
+
}) : null,
|
|
319
|
+
task.tags.length ? /* @__PURE__ */ jsx3("div", {
|
|
320
320
|
className: "flex flex-wrap gap-1",
|
|
321
|
-
children: task.tags.map((tag) => /* @__PURE__ */
|
|
321
|
+
children: task.tags.map((tag) => /* @__PURE__ */ jsxs3("span", {
|
|
322
322
|
className: "bg-muted/40 text-muted-foreground rounded-full px-2 py-0.5 text-xs",
|
|
323
323
|
children: [
|
|
324
324
|
"#",
|
|
325
325
|
tag
|
|
326
326
|
]
|
|
327
|
-
}, tag
|
|
328
|
-
}
|
|
327
|
+
}, tag))
|
|
328
|
+
}) : null
|
|
329
329
|
]
|
|
330
|
-
}
|
|
331
|
-
/* @__PURE__ */
|
|
330
|
+
}),
|
|
331
|
+
/* @__PURE__ */ jsx3("button", {
|
|
332
332
|
type: "button",
|
|
333
333
|
className: "text-muted-foreground hover:text-destructive",
|
|
334
334
|
"aria-label": `Delete ${task.title}`,
|
|
335
335
|
onClick: () => onDelete?.(task),
|
|
336
|
-
children: /* @__PURE__ */
|
|
336
|
+
children: /* @__PURE__ */ jsx3(Trash2, {
|
|
337
337
|
className: "h-4 w-4"
|
|
338
|
-
}
|
|
339
|
-
}
|
|
338
|
+
})
|
|
339
|
+
})
|
|
340
340
|
]
|
|
341
|
-
}
|
|
341
|
+
});
|
|
342
342
|
}
|
|
343
343
|
|
|
344
344
|
// src/components/templates/todos/TaskList.tsx
|
|
@@ -349,7 +349,7 @@ import {
|
|
|
349
349
|
registerTemplateComponents,
|
|
350
350
|
useTemplateRuntime as useTemplateRuntime2
|
|
351
351
|
} from "@contractspec/lib.example-shared-ui";
|
|
352
|
-
import {
|
|
352
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
353
353
|
"use client";
|
|
354
354
|
var TASKS_QUERY = gql2`
|
|
355
355
|
query Tasks($projectId: ID!) {
|
|
@@ -445,36 +445,36 @@ function TaskList() {
|
|
|
445
445
|
refetchQueries: [{ query: TASKS_QUERY, variables: { projectId } }]
|
|
446
446
|
});
|
|
447
447
|
};
|
|
448
|
-
return /* @__PURE__ */
|
|
448
|
+
return /* @__PURE__ */ jsxs4("div", {
|
|
449
449
|
className: "space-y-6",
|
|
450
450
|
children: [
|
|
451
|
-
/* @__PURE__ */
|
|
451
|
+
/* @__PURE__ */ jsx4(FilterBar, {
|
|
452
452
|
value: filters,
|
|
453
453
|
onChange: setFilters,
|
|
454
454
|
categories
|
|
455
|
-
}
|
|
456
|
-
/* @__PURE__ */
|
|
455
|
+
}),
|
|
456
|
+
/* @__PURE__ */ jsx4(TaskForm, {
|
|
457
457
|
categories
|
|
458
|
-
}
|
|
459
|
-
loading ? /* @__PURE__ */
|
|
458
|
+
}),
|
|
459
|
+
loading ? /* @__PURE__ */ jsx4("p", {
|
|
460
460
|
className: "text-muted-foreground text-sm",
|
|
461
461
|
children: "Loading tasks\u2026"
|
|
462
|
-
}
|
|
462
|
+
}) : filtered.length ? /* @__PURE__ */ jsx4("div", {
|
|
463
463
|
className: "space-y-3",
|
|
464
|
-
children: filtered.map((task) => /* @__PURE__ */
|
|
464
|
+
children: filtered.map((task) => /* @__PURE__ */ jsx4(TaskItem, {
|
|
465
465
|
task,
|
|
466
466
|
onToggle: handleToggle,
|
|
467
467
|
onDelete: handleDelete
|
|
468
|
-
}, task.id
|
|
469
|
-
}
|
|
468
|
+
}, task.id))
|
|
469
|
+
}) : /* @__PURE__ */ jsx4("div", {
|
|
470
470
|
className: "border-border rounded-2xl border border-dashed p-8 text-center",
|
|
471
|
-
children: /* @__PURE__ */
|
|
471
|
+
children: /* @__PURE__ */ jsx4("p", {
|
|
472
472
|
className: "text-muted-foreground",
|
|
473
473
|
children: "No tasks match your filters. Create one above."
|
|
474
|
-
}
|
|
475
|
-
}
|
|
474
|
+
})
|
|
475
|
+
})
|
|
476
476
|
]
|
|
477
|
-
}
|
|
477
|
+
});
|
|
478
478
|
}
|
|
479
479
|
registerTemplateComponents("todos-app", {
|
|
480
480
|
list: TaskList,
|
|
@@ -487,7 +487,7 @@ import { gql as gql3 } from "@apollo/client";
|
|
|
487
487
|
import { MessageCircle, Users } from "lucide-react";
|
|
488
488
|
import { useMemo as useMemo2 } from "react";
|
|
489
489
|
import { useTemplateRuntime as useTemplateRuntime3 } from "@contractspec/lib.example-shared-ui";
|
|
490
|
-
import {
|
|
490
|
+
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
491
491
|
var CONVERSATIONS_QUERY = gql3`
|
|
492
492
|
query Conversations($projectId: ID!) {
|
|
493
493
|
conversations(projectId: $projectId) {
|
|
@@ -513,66 +513,66 @@ function ConversationList({
|
|
|
513
513
|
fetchPolicy: "cache-and-network"
|
|
514
514
|
});
|
|
515
515
|
const conversations = useMemo2(() => data?.conversations ?? [], [data]);
|
|
516
|
-
return /* @__PURE__ */
|
|
516
|
+
return /* @__PURE__ */ jsxs5("aside", {
|
|
517
517
|
className: "border-border bg-card h-full overflow-y-auto rounded-2xl border",
|
|
518
518
|
children: [
|
|
519
|
-
/* @__PURE__ */
|
|
519
|
+
/* @__PURE__ */ jsxs5("header", {
|
|
520
520
|
className: "border-border px -4 flex items-center justify-between border-b px-4 py-3",
|
|
521
521
|
children: [
|
|
522
|
-
/* @__PURE__ */
|
|
522
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
523
523
|
children: [
|
|
524
|
-
/* @__PURE__ */
|
|
524
|
+
/* @__PURE__ */ jsx5("p", {
|
|
525
525
|
className: "text-sm font-semibold",
|
|
526
526
|
children: "Conversations"
|
|
527
|
-
}
|
|
528
|
-
/* @__PURE__ */
|
|
527
|
+
}),
|
|
528
|
+
/* @__PURE__ */ jsx5("p", {
|
|
529
529
|
className: "text-muted-foreground text-xs",
|
|
530
530
|
children: loading ? "Loading\u2026" : `${conversations.length} active`
|
|
531
|
-
}
|
|
531
|
+
})
|
|
532
532
|
]
|
|
533
|
-
}
|
|
534
|
-
/* @__PURE__ */
|
|
533
|
+
}),
|
|
534
|
+
/* @__PURE__ */ jsx5(Users, {
|
|
535
535
|
className: "text-muted-foreground h-4 w-4"
|
|
536
|
-
}
|
|
536
|
+
})
|
|
537
537
|
]
|
|
538
|
-
}
|
|
539
|
-
/* @__PURE__ */
|
|
538
|
+
}),
|
|
539
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
540
540
|
className: "divide-border/70 divide-y",
|
|
541
541
|
children: [
|
|
542
542
|
conversations.map((conversation) => {
|
|
543
543
|
const isSelected = selectedId === conversation.id;
|
|
544
|
-
return /* @__PURE__ */
|
|
544
|
+
return /* @__PURE__ */ jsxs5("button", {
|
|
545
545
|
type: "button",
|
|
546
546
|
className: `flex w-full flex-col items-start gap-1 px-4 py-3 text-left transition ${isSelected ? "text-foreground bg-violet-500/10" : "hover:bg-muted/40"}`,
|
|
547
547
|
onClick: () => onSelect?.(conversation.id),
|
|
548
548
|
children: [
|
|
549
|
-
/* @__PURE__ */
|
|
549
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
550
550
|
className: "flex items-center gap-2",
|
|
551
551
|
children: [
|
|
552
|
-
/* @__PURE__ */
|
|
552
|
+
/* @__PURE__ */ jsx5(MessageCircle, {
|
|
553
553
|
className: "text-muted-foreground h-4 w-4"
|
|
554
|
-
}
|
|
555
|
-
/* @__PURE__ */
|
|
554
|
+
}),
|
|
555
|
+
/* @__PURE__ */ jsx5("span", {
|
|
556
556
|
className: "text-sm font-medium",
|
|
557
557
|
children: conversation.name || "Untitled conversation"
|
|
558
|
-
}
|
|
558
|
+
})
|
|
559
559
|
]
|
|
560
|
-
}
|
|
561
|
-
/* @__PURE__ */
|
|
560
|
+
}),
|
|
561
|
+
/* @__PURE__ */ jsx5("p", {
|
|
562
562
|
className: "text-muted-foreground text-xs",
|
|
563
563
|
children: conversation.participants.map((participant) => participant.displayName || participant.userId).join(" \xB7 ")
|
|
564
|
-
}
|
|
564
|
+
})
|
|
565
565
|
]
|
|
566
|
-
}, conversation.id
|
|
566
|
+
}, conversation.id);
|
|
567
567
|
}),
|
|
568
|
-
!loading && conversations.length === 0 ? /* @__PURE__ */
|
|
568
|
+
!loading && conversations.length === 0 ? /* @__PURE__ */ jsx5("p", {
|
|
569
569
|
className: "text-muted-foreground p-4 text-center text-xs",
|
|
570
570
|
children: "No conversations yet."
|
|
571
|
-
}
|
|
571
|
+
}) : null
|
|
572
572
|
]
|
|
573
|
-
}
|
|
573
|
+
})
|
|
574
574
|
]
|
|
575
|
-
}
|
|
575
|
+
});
|
|
576
576
|
}
|
|
577
577
|
|
|
578
578
|
// src/components/templates/messaging/MessageThread.tsx
|
|
@@ -580,7 +580,7 @@ import { useMutation as useMutation3, useQuery as useQuery3 } from "@apollo/clie
|
|
|
580
580
|
import { gql as gql4 } from "@apollo/client";
|
|
581
581
|
import { useEffect, useRef } from "react";
|
|
582
582
|
import { useTemplateRuntime as useTemplateRuntime4 } from "@contractspec/lib.example-shared-ui";
|
|
583
|
-
import {
|
|
583
|
+
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
584
584
|
"use client";
|
|
585
585
|
var MESSAGES_QUERY = gql4`
|
|
586
586
|
query Messages($conversationId: ID!) {
|
|
@@ -625,32 +625,32 @@ function MessageThread({
|
|
|
625
625
|
container.scrollTop = container.scrollHeight;
|
|
626
626
|
}, [messages]);
|
|
627
627
|
if (!conversationId) {
|
|
628
|
-
return /* @__PURE__ */
|
|
628
|
+
return /* @__PURE__ */ jsx6("div", {
|
|
629
629
|
className: "border-border flex flex-1 items-center justify-center rounded-2xl border border-dashed",
|
|
630
|
-
children: /* @__PURE__ */
|
|
630
|
+
children: /* @__PURE__ */ jsx6("p", {
|
|
631
631
|
className: "text-muted-foreground text-sm",
|
|
632
632
|
children: "Select a conversation"
|
|
633
|
-
}
|
|
634
|
-
}
|
|
633
|
+
})
|
|
634
|
+
});
|
|
635
635
|
}
|
|
636
|
-
return /* @__PURE__ */
|
|
636
|
+
return /* @__PURE__ */ jsx6("div", {
|
|
637
637
|
className: "border-border bg-card flex flex-1 flex-col rounded-2xl border",
|
|
638
|
-
children: /* @__PURE__ */
|
|
638
|
+
children: /* @__PURE__ */ jsx6("div", {
|
|
639
639
|
ref: scrollRef,
|
|
640
640
|
className: "flex-1 space-y-3 overflow-y-auto p-4",
|
|
641
|
-
children: loading ? /* @__PURE__ */
|
|
641
|
+
children: loading ? /* @__PURE__ */ jsx6("p", {
|
|
642
642
|
className: "text-muted-foreground text-center text-sm",
|
|
643
643
|
children: "Loading\u2026"
|
|
644
|
-
}
|
|
644
|
+
}) : messages.slice().reverse().map((message) => /* @__PURE__ */ jsxs6("div", {
|
|
645
645
|
className: `flex flex-col ${message.senderId === viewerId ? "items-end" : "items-start"}`,
|
|
646
646
|
children: [
|
|
647
|
-
/* @__PURE__ */
|
|
647
|
+
/* @__PURE__ */ jsx6("div", {
|
|
648
648
|
className: `max-w-xs rounded-2xl px-3 py-2 text-sm ${message.senderId === viewerId ? "bg-violet-500 text-white" : "bg-muted text-foreground"}`,
|
|
649
|
-
children: /* @__PURE__ */
|
|
649
|
+
children: /* @__PURE__ */ jsx6("p", {
|
|
650
650
|
children: message.content
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
/* @__PURE__ */
|
|
651
|
+
})
|
|
652
|
+
}),
|
|
653
|
+
/* @__PURE__ */ jsxs6("span", {
|
|
654
654
|
className: "text-muted-foreground mt-1 text-xs",
|
|
655
655
|
children: [
|
|
656
656
|
message.senderName || message.senderId,
|
|
@@ -661,11 +661,11 @@ function MessageThread({
|
|
|
661
661
|
minute: "2-digit"
|
|
662
662
|
})
|
|
663
663
|
]
|
|
664
|
-
}
|
|
664
|
+
})
|
|
665
665
|
]
|
|
666
|
-
}, message.id
|
|
667
|
-
}
|
|
668
|
-
}
|
|
666
|
+
}, message.id))
|
|
667
|
+
})
|
|
668
|
+
});
|
|
669
669
|
}
|
|
670
670
|
|
|
671
671
|
// src/components/templates/messaging/MessageComposer.tsx
|
|
@@ -674,7 +674,7 @@ import { useMutation as useMutation4 } from "@apollo/client/react";
|
|
|
674
674
|
import { gql as gql5 } from "@apollo/client";
|
|
675
675
|
import { Send } from "lucide-react";
|
|
676
676
|
import { useTemplateRuntime as useTemplateRuntime5 } from "@contractspec/lib.example-shared-ui";
|
|
677
|
-
import {
|
|
677
|
+
import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
678
678
|
"use client";
|
|
679
679
|
var SEND_MESSAGE = gql5`
|
|
680
680
|
mutation SendMessage($input: SendMessageInput!) {
|
|
@@ -714,60 +714,60 @@ function MessageComposer({
|
|
|
714
714
|
});
|
|
715
715
|
setContent("");
|
|
716
716
|
};
|
|
717
|
-
return /* @__PURE__ */
|
|
717
|
+
return /* @__PURE__ */ jsxs7("form", {
|
|
718
718
|
onSubmit: handleSubmit,
|
|
719
719
|
className: "border-border bg-card mt-3 flex items-center gap-2 rounded-2xl border px-4 py-3",
|
|
720
720
|
children: [
|
|
721
|
-
/* @__PURE__ */
|
|
721
|
+
/* @__PURE__ */ jsx7("input", {
|
|
722
722
|
type: "text",
|
|
723
723
|
className: "text-foreground flex-1 bg-transparent text-sm outline-none",
|
|
724
724
|
placeholder: conversationId ? "Type a message\u2026" : "Select a conversation to start",
|
|
725
725
|
disabled: !conversationId || loading,
|
|
726
726
|
value: content,
|
|
727
727
|
onChange: (event) => setContent(event.target.value)
|
|
728
|
-
}
|
|
729
|
-
/* @__PURE__ */
|
|
728
|
+
}),
|
|
729
|
+
/* @__PURE__ */ jsxs7("button", {
|
|
730
730
|
type: "submit",
|
|
731
731
|
className: "btn-primary inline-flex items-center gap-1 text-sm",
|
|
732
732
|
disabled: !conversationId || loading || !content.trim(),
|
|
733
733
|
children: [
|
|
734
|
-
/* @__PURE__ */
|
|
734
|
+
/* @__PURE__ */ jsx7(Send, {
|
|
735
735
|
className: "h-4 w-4"
|
|
736
|
-
}
|
|
736
|
+
}),
|
|
737
737
|
"Send"
|
|
738
738
|
]
|
|
739
|
-
}
|
|
739
|
+
})
|
|
740
740
|
]
|
|
741
|
-
}
|
|
741
|
+
});
|
|
742
742
|
}
|
|
743
743
|
|
|
744
744
|
// src/components/templates/messaging/MessagingWorkspace.tsx
|
|
745
745
|
import { useState as useState4 } from "react";
|
|
746
746
|
import { registerTemplateComponents as registerTemplateComponents2 } from "@contractspec/lib.example-shared-ui";
|
|
747
|
-
import {
|
|
747
|
+
import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
748
748
|
"use client";
|
|
749
749
|
function MessagingWorkspace() {
|
|
750
750
|
const [conversationId, setConversationId] = useState4();
|
|
751
|
-
return /* @__PURE__ */
|
|
751
|
+
return /* @__PURE__ */ jsxs8("div", {
|
|
752
752
|
className: "grid gap-4 md:grid-cols-[280px,1fr]",
|
|
753
753
|
children: [
|
|
754
|
-
/* @__PURE__ */
|
|
754
|
+
/* @__PURE__ */ jsx8(ConversationList, {
|
|
755
755
|
selectedId: conversationId,
|
|
756
756
|
onSelect: setConversationId
|
|
757
|
-
}
|
|
758
|
-
/* @__PURE__ */
|
|
757
|
+
}),
|
|
758
|
+
/* @__PURE__ */ jsxs8("div", {
|
|
759
759
|
className: "flex flex-col gap-3",
|
|
760
760
|
children: [
|
|
761
|
-
/* @__PURE__ */
|
|
761
|
+
/* @__PURE__ */ jsx8(MessageThread, {
|
|
762
762
|
conversationId
|
|
763
|
-
}
|
|
764
|
-
/* @__PURE__ */
|
|
763
|
+
}),
|
|
764
|
+
/* @__PURE__ */ jsx8(MessageComposer, {
|
|
765
765
|
conversationId
|
|
766
|
-
}
|
|
766
|
+
})
|
|
767
767
|
]
|
|
768
|
-
}
|
|
768
|
+
})
|
|
769
769
|
]
|
|
770
|
-
}
|
|
770
|
+
});
|
|
771
771
|
}
|
|
772
772
|
registerTemplateComponents2("messaging-app", {
|
|
773
773
|
list: MessagingWorkspace,
|
|
@@ -775,167 +775,167 @@ registerTemplateComponents2("messaging-app", {
|
|
|
775
775
|
form: MessageComposer
|
|
776
776
|
});
|
|
777
777
|
// src/components/templates/recipes/LanguageSwitcher.tsx
|
|
778
|
-
import {
|
|
778
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
779
779
|
function LanguageSwitcher({ locale, onChange }) {
|
|
780
|
-
return /* @__PURE__ */
|
|
780
|
+
return /* @__PURE__ */ jsx9("div", {
|
|
781
781
|
className: "border-border bg-card text-muted-foreground inline-flex rounded-full border p-1 text-xs font-semibold",
|
|
782
|
-
children: ["EN", "FR"].map((language) => /* @__PURE__ */
|
|
782
|
+
children: ["EN", "FR"].map((language) => /* @__PURE__ */ jsx9("button", {
|
|
783
783
|
type: "button",
|
|
784
784
|
className: `rounded-full px-3 py-1 transition ${locale === language ? "bg-violet-500 text-white" : "hover:text-foreground"}`,
|
|
785
785
|
onClick: () => onChange(language),
|
|
786
786
|
children: language === "EN" ? "English" : "Fran\xE7ais"
|
|
787
|
-
}, language
|
|
788
|
-
}
|
|
787
|
+
}, language))
|
|
788
|
+
});
|
|
789
789
|
}
|
|
790
790
|
|
|
791
791
|
// src/components/templates/recipes/RecipeCard.tsx
|
|
792
792
|
import { Heart } from "lucide-react";
|
|
793
|
-
import {
|
|
793
|
+
import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
794
794
|
function RecipeCard({
|
|
795
795
|
recipe,
|
|
796
796
|
onSelect,
|
|
797
797
|
onToggleFavorite
|
|
798
798
|
}) {
|
|
799
|
-
return /* @__PURE__ */
|
|
799
|
+
return /* @__PURE__ */ jsxs9("button", {
|
|
800
800
|
type: "button",
|
|
801
801
|
onClick: () => onSelect?.(recipe),
|
|
802
802
|
className: "border-border bg-card flex flex-col gap-3 rounded-2xl border text-left transition hover:border-violet-400",
|
|
803
803
|
children: [
|
|
804
|
-
recipe.heroImageUrl ? /* @__PURE__ */
|
|
804
|
+
recipe.heroImageUrl ? /* @__PURE__ */ jsx10("img", {
|
|
805
805
|
src: recipe.heroImageUrl,
|
|
806
806
|
alt: recipe.name,
|
|
807
807
|
className: "h-40 w-full rounded-t-2xl object-cover"
|
|
808
|
-
}
|
|
808
|
+
}) : /* @__PURE__ */ jsx10("div", {
|
|
809
809
|
className: "bg-muted h-40 rounded-t-2xl"
|
|
810
|
-
}
|
|
811
|
-
/* @__PURE__ */
|
|
810
|
+
}),
|
|
811
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
812
812
|
className: "space-y-2 p-4",
|
|
813
813
|
children: [
|
|
814
|
-
/* @__PURE__ */
|
|
814
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
815
815
|
className: "flex items-center justify-between",
|
|
816
816
|
children: [
|
|
817
|
-
/* @__PURE__ */
|
|
817
|
+
/* @__PURE__ */ jsx10("p", {
|
|
818
818
|
className: "text-base font-semibold",
|
|
819
819
|
children: recipe.name
|
|
820
|
-
}
|
|
821
|
-
/* @__PURE__ */
|
|
820
|
+
}),
|
|
821
|
+
/* @__PURE__ */ jsx10("button", {
|
|
822
822
|
type: "button",
|
|
823
823
|
className: `inline-flex items-center justify-center rounded-full border border-transparent p-2 ${recipe.isFavorite ? "text-red-400" : "text-muted-foreground hover:text-red-400"}`,
|
|
824
824
|
onClick: (event) => {
|
|
825
825
|
event.stopPropagation();
|
|
826
826
|
onToggleFavorite?.(recipe);
|
|
827
827
|
},
|
|
828
|
-
children: /* @__PURE__ */
|
|
828
|
+
children: /* @__PURE__ */ jsx10(Heart, {
|
|
829
829
|
className: `h-4 w-4 ${recipe.isFavorite ? "fill-red-400" : ""}`
|
|
830
|
-
}
|
|
831
|
-
}
|
|
830
|
+
})
|
|
831
|
+
})
|
|
832
832
|
]
|
|
833
|
-
}
|
|
834
|
-
/* @__PURE__ */
|
|
833
|
+
}),
|
|
834
|
+
/* @__PURE__ */ jsx10("p", {
|
|
835
835
|
className: "text-muted-foreground line-clamp-2 text-sm",
|
|
836
836
|
children: recipe.description
|
|
837
|
-
}
|
|
838
|
-
/* @__PURE__ */
|
|
837
|
+
}),
|
|
838
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
839
839
|
className: "text-muted-foreground flex flex-wrap gap-3 text-xs",
|
|
840
840
|
children: [
|
|
841
|
-
recipe.prepTimeMinutes ? /* @__PURE__ */
|
|
841
|
+
recipe.prepTimeMinutes ? /* @__PURE__ */ jsxs9("span", {
|
|
842
842
|
children: [
|
|
843
843
|
"Prep ",
|
|
844
844
|
recipe.prepTimeMinutes,
|
|
845
845
|
"m"
|
|
846
846
|
]
|
|
847
|
-
}
|
|
848
|
-
recipe.cookTimeMinutes ? /* @__PURE__ */
|
|
847
|
+
}) : null,
|
|
848
|
+
recipe.cookTimeMinutes ? /* @__PURE__ */ jsxs9("span", {
|
|
849
849
|
children: [
|
|
850
850
|
"Cook ",
|
|
851
851
|
recipe.cookTimeMinutes,
|
|
852
852
|
"m"
|
|
853
853
|
]
|
|
854
|
-
}
|
|
855
|
-
recipe.servings ? /* @__PURE__ */
|
|
854
|
+
}) : null,
|
|
855
|
+
recipe.servings ? /* @__PURE__ */ jsxs9("span", {
|
|
856
856
|
children: [
|
|
857
857
|
recipe.servings,
|
|
858
858
|
" servings"
|
|
859
859
|
]
|
|
860
|
-
}
|
|
860
|
+
}) : null
|
|
861
861
|
]
|
|
862
|
-
}
|
|
862
|
+
})
|
|
863
863
|
]
|
|
864
|
-
}
|
|
864
|
+
})
|
|
865
865
|
]
|
|
866
|
-
}
|
|
866
|
+
});
|
|
867
867
|
}
|
|
868
868
|
|
|
869
869
|
// src/components/templates/recipes/RecipeDetail.tsx
|
|
870
870
|
import { BookOpen } from "lucide-react";
|
|
871
|
-
import {
|
|
871
|
+
import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
872
872
|
function RecipeDetail({ recipe }) {
|
|
873
873
|
if (!recipe) {
|
|
874
|
-
return /* @__PURE__ */
|
|
874
|
+
return /* @__PURE__ */ jsx11("div", {
|
|
875
875
|
className: "border-border flex flex-1 items-center justify-center rounded-2xl border border-dashed",
|
|
876
|
-
children: /* @__PURE__ */
|
|
876
|
+
children: /* @__PURE__ */ jsx11("p", {
|
|
877
877
|
className: "text-muted-foreground text-sm",
|
|
878
878
|
children: "Select a recipe to view details."
|
|
879
|
-
}
|
|
880
|
-
}
|
|
879
|
+
})
|
|
880
|
+
});
|
|
881
881
|
}
|
|
882
|
-
return /* @__PURE__ */
|
|
882
|
+
return /* @__PURE__ */ jsxs10("article", {
|
|
883
883
|
className: "border-border bg-card space-y-4 rounded-2xl border p-6",
|
|
884
884
|
children: [
|
|
885
|
-
/* @__PURE__ */
|
|
885
|
+
/* @__PURE__ */ jsxs10("header", {
|
|
886
886
|
className: "flex flex-wrap items-center gap-3",
|
|
887
887
|
children: [
|
|
888
|
-
/* @__PURE__ */
|
|
888
|
+
/* @__PURE__ */ jsx11(BookOpen, {
|
|
889
889
|
className: "text-muted-foreground h-5 w-5"
|
|
890
|
-
}
|
|
891
|
-
/* @__PURE__ */
|
|
890
|
+
}),
|
|
891
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
892
892
|
children: [
|
|
893
|
-
/* @__PURE__ */
|
|
893
|
+
/* @__PURE__ */ jsx11("h2", {
|
|
894
894
|
className: "text-xl font-semibold",
|
|
895
895
|
children: recipe.name
|
|
896
|
-
}
|
|
897
|
-
/* @__PURE__ */
|
|
896
|
+
}),
|
|
897
|
+
/* @__PURE__ */ jsx11("p", {
|
|
898
898
|
className: "text-muted-foreground text-sm",
|
|
899
899
|
children: recipe.description
|
|
900
|
-
}
|
|
900
|
+
})
|
|
901
901
|
]
|
|
902
|
-
}
|
|
902
|
+
})
|
|
903
903
|
]
|
|
904
|
-
}
|
|
905
|
-
/* @__PURE__ */
|
|
904
|
+
}),
|
|
905
|
+
/* @__PURE__ */ jsxs10("section", {
|
|
906
906
|
children: [
|
|
907
|
-
/* @__PURE__ */
|
|
907
|
+
/* @__PURE__ */ jsx11("h3", {
|
|
908
908
|
className: "text-muted-foreground text-sm font-semibold tracking-wide uppercase",
|
|
909
909
|
children: "Ingredients"
|
|
910
|
-
}
|
|
911
|
-
/* @__PURE__ */
|
|
910
|
+
}),
|
|
911
|
+
/* @__PURE__ */ jsx11("ul", {
|
|
912
912
|
className: "text-foreground mt-2 list-disc space-y-1 pl-6 text-sm",
|
|
913
|
-
children: recipe.ingredients.map((ingredient) => /* @__PURE__ */
|
|
913
|
+
children: recipe.ingredients.map((ingredient) => /* @__PURE__ */ jsxs10("li", {
|
|
914
914
|
children: [
|
|
915
915
|
ingredient.name,
|
|
916
916
|
" \u2013 ",
|
|
917
917
|
ingredient.quantity
|
|
918
918
|
]
|
|
919
|
-
}, ingredient.id
|
|
920
|
-
}
|
|
919
|
+
}, ingredient.id))
|
|
920
|
+
})
|
|
921
921
|
]
|
|
922
|
-
}
|
|
923
|
-
/* @__PURE__ */
|
|
922
|
+
}),
|
|
923
|
+
/* @__PURE__ */ jsxs10("section", {
|
|
924
924
|
children: [
|
|
925
|
-
/* @__PURE__ */
|
|
925
|
+
/* @__PURE__ */ jsx11("h3", {
|
|
926
926
|
className: "text-muted-foreground text-sm font-semibold tracking-wide uppercase",
|
|
927
927
|
children: "Instructions"
|
|
928
|
-
}
|
|
929
|
-
/* @__PURE__ */
|
|
928
|
+
}),
|
|
929
|
+
/* @__PURE__ */ jsx11("ol", {
|
|
930
930
|
className: "text-foreground mt-2 list-decimal space-y-2 pl-6 text-sm",
|
|
931
|
-
children: recipe.instructions.map((instruction) => /* @__PURE__ */
|
|
931
|
+
children: recipe.instructions.map((instruction) => /* @__PURE__ */ jsx11("li", {
|
|
932
932
|
children: instruction.content
|
|
933
|
-
}, instruction.id
|
|
934
|
-
}
|
|
933
|
+
}, instruction.id))
|
|
934
|
+
})
|
|
935
935
|
]
|
|
936
|
-
}
|
|
936
|
+
})
|
|
937
937
|
]
|
|
938
|
-
}
|
|
938
|
+
});
|
|
939
939
|
}
|
|
940
940
|
|
|
941
941
|
// src/components/templates/recipes/RecipeList.tsx
|
|
@@ -946,7 +946,7 @@ import {
|
|
|
946
946
|
registerTemplateComponents as registerTemplateComponents3,
|
|
947
947
|
useTemplateRuntime as useTemplateRuntime6
|
|
948
948
|
} from "@contractspec/lib.example-shared-ui";
|
|
949
|
-
import {
|
|
949
|
+
import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
950
950
|
"use client";
|
|
951
951
|
var RECIPES_QUERY = gql6`
|
|
952
952
|
query Recipes($projectId: ID!, $locale: RecipeLocale!) {
|
|
@@ -1010,41 +1010,41 @@ function RecipeList() {
|
|
|
1010
1010
|
}
|
|
1011
1011
|
});
|
|
1012
1012
|
};
|
|
1013
|
-
return /* @__PURE__ */
|
|
1013
|
+
return /* @__PURE__ */ jsxs11("div", {
|
|
1014
1014
|
className: "space-y-4",
|
|
1015
1015
|
children: [
|
|
1016
|
-
/* @__PURE__ */
|
|
1016
|
+
/* @__PURE__ */ jsxs11("div", {
|
|
1017
1017
|
className: "flex flex-wrap items-center gap-3",
|
|
1018
1018
|
children: [
|
|
1019
|
-
/* @__PURE__ */
|
|
1019
|
+
/* @__PURE__ */ jsx12(LanguageSwitcher, {
|
|
1020
1020
|
locale,
|
|
1021
1021
|
onChange: setLocale
|
|
1022
|
-
}
|
|
1023
|
-
/* @__PURE__ */
|
|
1022
|
+
}),
|
|
1023
|
+
/* @__PURE__ */ jsx12("input", {
|
|
1024
1024
|
type: "search",
|
|
1025
1025
|
placeholder: locale === "EN" ? "Search recipes" : "Rechercher des recettes",
|
|
1026
1026
|
className: "border-border bg-card flex-1 rounded-full border px-4 py-2 text-sm",
|
|
1027
1027
|
value: search,
|
|
1028
1028
|
onChange: (event) => setSearch(event.target.value)
|
|
1029
|
-
}
|
|
1029
|
+
})
|
|
1030
1030
|
]
|
|
1031
|
-
}
|
|
1032
|
-
loading ? /* @__PURE__ */
|
|
1031
|
+
}),
|
|
1032
|
+
loading ? /* @__PURE__ */ jsx12("p", {
|
|
1033
1033
|
className: "text-muted-foreground text-sm",
|
|
1034
1034
|
children: "Loading recipes\u2026"
|
|
1035
|
-
}
|
|
1035
|
+
}) : /* @__PURE__ */ jsx12("div", {
|
|
1036
1036
|
className: "grid gap-4 md:grid-cols-3",
|
|
1037
|
-
children: filtered.map((recipe) => /* @__PURE__ */
|
|
1037
|
+
children: filtered.map((recipe) => /* @__PURE__ */ jsx12(RecipeCard, {
|
|
1038
1038
|
recipe,
|
|
1039
1039
|
onSelect: setSelected,
|
|
1040
1040
|
onToggleFavorite: handleToggleFavorite
|
|
1041
|
-
}, recipe.id
|
|
1042
|
-
}
|
|
1043
|
-
/* @__PURE__ */
|
|
1041
|
+
}, recipe.id))
|
|
1042
|
+
}),
|
|
1043
|
+
/* @__PURE__ */ jsx12(RecipeDetail, {
|
|
1044
1044
|
recipe: selected
|
|
1045
|
-
}
|
|
1045
|
+
})
|
|
1046
1046
|
]
|
|
1047
|
-
}
|
|
1047
|
+
});
|
|
1048
1048
|
}
|
|
1049
1049
|
registerTemplateComponents3("recipe-app-i18n", {
|
|
1050
1050
|
list: RecipeList,
|