@contractspec/bundle.library 3.4.2 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +494 -488
- package/CHANGELOG.md +61 -0
- package/dist/application/index.js +8 -8
- package/dist/application/mcp/cliMcp.js +8 -8
- package/dist/application/mcp/contractsMcp.js +8 -8
- package/dist/application/mcp/docsMcp.js +8 -8
- package/dist/application/mcp/index.js +8 -8
- package/dist/application/mcp/internalMcp.js +8 -8
- package/dist/application/mcp/providerRankingMcp.js +8 -8
- package/dist/bundles/LibraryBundle.d.ts +126 -0
- package/dist/bundles/LibraryBundle.js +139 -0
- package/dist/bundles/index.d.ts +1 -0
- package/dist/bundles/index.js +139 -0
- package/dist/components/docs/DocsIndexPage.js +91 -91
- package/dist/components/docs/advanced/AdvancedMCPPage.js +125 -125
- package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
- package/dist/components/docs/advanced/AdvancedRenderersPage.js +51 -51
- package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
- package/dist/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
- package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
- package/dist/components/docs/advanced/index.js +482 -482
- package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
- package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
- package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
- package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
- package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
- package/dist/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
- package/dist/components/docs/architecture/index.js +748 -748
- package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
- package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
- package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
- package/dist/components/docs/comparison/ComparisonOverviewPage.js +97 -97
- package/dist/components/docs/comparison/ComparisonWindmillPage.js +125 -125
- package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
- package/dist/components/docs/comparison/index.js +738 -738
- package/dist/components/docs/ecosystem/IntegrationsPage.js +45 -45
- package/dist/components/docs/ecosystem/PluginsPage.js +73 -73
- package/dist/components/docs/ecosystem/RegistryPage.js +37 -37
- package/dist/components/docs/ecosystem/TemplatesPage.js +56 -56
- package/dist/components/docs/ecosystem/index.js +211 -211
- package/dist/components/docs/examples/DocsExamplesPage.js +21 -21
- package/dist/components/docs/examples/index.js +21 -21
- package/dist/components/docs/getting-started/CLIPage.js +95 -95
- package/dist/components/docs/getting-started/CompatibilityPage.js +81 -81
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +57 -57
- package/dist/components/docs/getting-started/DeveloperToolsPage.js +61 -61
- package/dist/components/docs/getting-started/HelloWorldPage.js +77 -77
- package/dist/components/docs/getting-started/InstallationPage.js +65 -65
- package/dist/components/docs/getting-started/StartHerePage.js +51 -51
- package/dist/components/docs/getting-started/TroubleshootingPage.js +73 -73
- package/dist/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
- package/dist/components/docs/getting-started/index.js +731 -731
- package/dist/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
- package/dist/components/docs/guides/GuideContractTypesPage.js +232 -232
- package/dist/components/docs/guides/GuideDocsPipelinePage.js +82 -82
- package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
- package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
- package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
- package/dist/components/docs/guides/GuidesIndexPage.js +43 -43
- package/dist/components/docs/guides/index.js +975 -975
- package/dist/components/docs/index.js +10791 -10791
- package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
- package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
- package/dist/components/docs/integrations/IntegrationsGithubPage.js +61 -61
- package/dist/components/docs/integrations/IntegrationsGmailPage.js +49 -49
- package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
- package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
- package/dist/components/docs/integrations/IntegrationsMistralPage.js +69 -69
- package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
- package/dist/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
- package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
- package/dist/components/docs/integrations/IntegrationsPowensPage.js +121 -121
- package/dist/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
- package/dist/components/docs/integrations/IntegrationsResendPage.js +45 -45
- package/dist/components/docs/integrations/IntegrationsS3Page.js +57 -57
- package/dist/components/docs/integrations/IntegrationsSlackPage.js +63 -63
- package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
- package/dist/components/docs/integrations/IntegrationsStripePage.js +159 -159
- package/dist/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
- package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
- package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
- package/dist/components/docs/integrations/index.js +1642 -1642
- package/dist/components/docs/intent/ContractFirstApiPage.js +51 -51
- package/dist/components/docs/intent/DeterministicCodegenPage.js +59 -59
- package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
- package/dist/components/docs/intent/OpenapiAlternativePage.js +91 -91
- package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
- package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
- package/dist/components/docs/intent/index.js +396 -396
- package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
- package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
- package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
- package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
- package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
- package/dist/components/docs/knowledge/index.js +963 -963
- package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
- package/dist/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
- package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
- package/dist/components/docs/libraries/LibrariesContentGenPage.js +43 -43
- package/dist/components/docs/libraries/LibrariesContractsPage.js +125 -125
- package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
- package/dist/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
- package/dist/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
- package/dist/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
- package/dist/components/docs/libraries/LibrariesGrowthPage.js +35 -35
- package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
- package/dist/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
- package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +191 -191
- package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
- package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
- package/dist/components/docs/libraries/LibrariesResiliencePage.js +49 -49
- package/dist/components/docs/libraries/LibrariesRuntimePage.js +87 -87
- package/dist/components/docs/libraries/LibrariesSLOPage.js +47 -47
- package/dist/components/docs/libraries/LibrariesSchemaPage.js +139 -139
- package/dist/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
- package/dist/components/docs/libraries/LibrariesTestingPage.js +49 -49
- package/dist/components/docs/libraries/LibrariesUIKitPage.js +107 -107
- package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
- package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
- package/dist/components/docs/libraries/index.js +1919 -1919
- package/dist/components/docs/manifesto/ManifestoPage.js +79 -79
- package/dist/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
- package/dist/components/docs/ops/DistributedTracingOpsPage.js +33 -33
- package/dist/components/docs/ops/index.js +92 -92
- package/dist/components/docs/reference/DocsMarkdownContent.js +27 -27
- package/dist/components/docs/reference/DocsReferenceContent.js +34 -34
- package/dist/components/docs/reference/DocsReferenceIndexClient.js +23 -23
- package/dist/components/docs/reference/DocsReferenceIndexPage.js +26 -26
- package/dist/components/docs/reference/DocsReferencePage.js +37 -37
- package/dist/components/docs/reference/index.js +63 -63
- package/dist/components/docs/safety/SafetyAuditingPage.js +161 -161
- package/dist/components/docs/safety/SafetyMigrationsPage.js +169 -169
- package/dist/components/docs/safety/SafetyOverviewPage.js +99 -99
- package/dist/components/docs/safety/SafetyPDPPage.js +137 -137
- package/dist/components/docs/safety/SafetySecurityTrustPage.js +95 -95
- package/dist/components/docs/safety/SafetySigningPage.js +39 -39
- package/dist/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
- package/dist/components/docs/safety/index.js +733 -733
- package/dist/components/docs/shared/StudioPrompt.js +9 -9
- package/dist/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
- package/dist/components/docs/specs/SpecsDataViewsPage.js +119 -119
- package/dist/components/docs/specs/SpecsOverlaysPage.js +171 -171
- package/dist/components/docs/specs/SpecsOverviewPage.js +167 -167
- package/dist/components/docs/specs/SpecsPolicyPage.js +179 -179
- package/dist/components/docs/specs/SpecsWorkflowsPage.js +141 -141
- package/dist/components/docs/specs/index.js +838 -838
- package/dist/components/docs/studio/StudioBYOKPage.js +9 -9
- package/dist/components/docs/studio/StudioDeploymentsPage.js +9 -9
- package/dist/components/docs/studio/StudioGettingStartedPage.js +9 -9
- package/dist/components/docs/studio/StudioIntegrationsPage.js +9 -9
- package/dist/components/docs/studio/StudioOverviewPage.js +33 -33
- package/dist/components/docs/studio/StudioVisualBuilderPage.js +9 -9
- package/dist/components/docs/studio/index.js +78 -78
- package/dist/components/integrations/index.js +209 -209
- package/dist/components/integrations/molecules/IntegrationCard.js +33 -33
- package/dist/components/integrations/organisms/IntegrationMarketplace.js +71 -71
- package/dist/components/integrations/organisms/IntegrationSettings.js +98 -98
- package/dist/components/integrations/organisms/KnowledgeSourceList.js +40 -40
- package/dist/components/legal/PrivacyTemplate.js +477 -477
- package/dist/components/legal/TermsTemplate.js +421 -421
- package/dist/components/legal/index.js +898 -898
- package/dist/components/shared/FeatureGateNotice.js +13 -13
- package/dist/components/shared/index.js +13 -13
- package/dist/components/shell/WorkspaceHeader.js +37 -37
- package/dist/components/shell/WorkspaceProjectShellLayout.js +77 -77
- package/dist/components/shell/WorkspaceShellRenderer.d.ts +17 -0
- package/dist/components/shell/WorkspaceShellRenderer.js +229 -0
- package/dist/components/shell/WorkspaceSidebar.js +27 -27
- package/dist/components/shell/index.d.ts +1 -0
- package/dist/components/shell/index.js +140 -77
- package/dist/components/templates/index.js +272 -272
- package/dist/components/templates/messaging/ConversationList.js +27 -27
- package/dist/components/templates/messaging/MessageComposer.js +27 -27
- package/dist/components/templates/messaging/MessageThread.js +18 -18
- package/dist/components/templates/messaging/MessagingWorkspace.js +65 -65
- package/dist/components/templates/messaging/index.js +65 -65
- package/dist/components/templates/recipes/LanguageSwitcher.js +5 -5
- package/dist/components/templates/recipes/RecipeCard.js +26 -26
- package/dist/components/templates/recipes/RecipeDetail.js +33 -33
- package/dist/components/templates/recipes/RecipeList.js +80 -80
- package/dist/components/templates/recipes/index.js +80 -80
- package/dist/components/templates/todos/FilterBar.js +39 -39
- package/dist/components/templates/todos/TaskForm.js +43 -43
- package/dist/components/templates/todos/TaskItem.js +30 -30
- package/dist/components/templates/todos/TaskList.js +127 -127
- package/dist/components/templates/todos/index.js +127 -127
- package/dist/index.js +12323 -12260
- package/dist/infrastructure/elysia/index.js +8 -8
- package/dist/infrastructure/elysia/logger.js +8 -8
- package/dist/infrastructure/index.js +8 -8
- package/dist/libs/posthog/client.js +2 -2
- package/dist/node/application/index.js +8 -8
- package/dist/node/application/mcp/cliMcp.js +8 -8
- package/dist/node/application/mcp/contractsMcp.js +8 -8
- package/dist/node/application/mcp/docsMcp.js +8 -8
- package/dist/node/application/mcp/index.js +8 -8
- package/dist/node/application/mcp/internalMcp.js +8 -8
- package/dist/node/application/mcp/providerRankingMcp.js +8 -8
- package/dist/node/bundles/LibraryBundle.js +138 -0
- package/dist/node/bundles/index.js +138 -0
- package/dist/node/components/docs/DocsIndexPage.js +91 -91
- package/dist/node/components/docs/advanced/AdvancedMCPPage.js +125 -125
- package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
- package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +51 -51
- package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
- package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
- package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
- package/dist/node/components/docs/advanced/index.js +482 -482
- package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
- package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
- package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
- package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
- package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
- package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
- package/dist/node/components/docs/architecture/index.js +748 -748
- package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
- package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
- package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
- package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +97 -97
- package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +125 -125
- package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
- package/dist/node/components/docs/comparison/index.js +738 -738
- package/dist/node/components/docs/ecosystem/IntegrationsPage.js +45 -45
- package/dist/node/components/docs/ecosystem/PluginsPage.js +73 -73
- package/dist/node/components/docs/ecosystem/RegistryPage.js +37 -37
- package/dist/node/components/docs/ecosystem/TemplatesPage.js +56 -56
- package/dist/node/components/docs/ecosystem/index.js +211 -211
- package/dist/node/components/docs/examples/DocsExamplesPage.js +21 -21
- package/dist/node/components/docs/examples/index.js +21 -21
- package/dist/node/components/docs/getting-started/CLIPage.js +95 -95
- package/dist/node/components/docs/getting-started/CompatibilityPage.js +81 -81
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +57 -57
- package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +61 -61
- package/dist/node/components/docs/getting-started/HelloWorldPage.js +77 -77
- package/dist/node/components/docs/getting-started/InstallationPage.js +65 -65
- package/dist/node/components/docs/getting-started/StartHerePage.js +51 -51
- package/dist/node/components/docs/getting-started/TroubleshootingPage.js +73 -73
- package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
- package/dist/node/components/docs/getting-started/index.js +731 -731
- package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
- package/dist/node/components/docs/guides/GuideContractTypesPage.js +232 -232
- package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +82 -82
- package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
- package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
- package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
- package/dist/node/components/docs/guides/GuidesIndexPage.js +43 -43
- package/dist/node/components/docs/guides/index.js +975 -975
- package/dist/node/components/docs/index.js +10791 -10791
- package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
- package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
- package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +61 -61
- package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +49 -49
- package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
- package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
- package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +69 -69
- package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
- package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
- package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
- package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +121 -121
- package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
- package/dist/node/components/docs/integrations/IntegrationsResendPage.js +45 -45
- package/dist/node/components/docs/integrations/IntegrationsS3Page.js +57 -57
- package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +63 -63
- package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
- package/dist/node/components/docs/integrations/IntegrationsStripePage.js +159 -159
- package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
- package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
- package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
- package/dist/node/components/docs/integrations/index.js +1642 -1642
- package/dist/node/components/docs/intent/ContractFirstApiPage.js +51 -51
- package/dist/node/components/docs/intent/DeterministicCodegenPage.js +59 -59
- package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
- package/dist/node/components/docs/intent/OpenapiAlternativePage.js +91 -91
- package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
- package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
- package/dist/node/components/docs/intent/index.js +396 -396
- package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
- package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
- package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
- package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
- package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
- package/dist/node/components/docs/knowledge/index.js +963 -963
- package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
- package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
- package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
- package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +43 -43
- package/dist/node/components/docs/libraries/LibrariesContractsPage.js +125 -125
- package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
- package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
- package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
- package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +35 -35
- package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
- package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
- package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +191 -191
- package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
- package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
- package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +87 -87
- package/dist/node/components/docs/libraries/LibrariesSLOPage.js +47 -47
- package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +139 -139
- package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
- package/dist/node/components/docs/libraries/LibrariesTestingPage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +107 -107
- package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
- package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
- package/dist/node/components/docs/libraries/index.js +1919 -1919
- package/dist/node/components/docs/manifesto/ManifestoPage.js +79 -79
- package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
- package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +33 -33
- package/dist/node/components/docs/ops/index.js +92 -92
- package/dist/node/components/docs/reference/DocsMarkdownContent.js +27 -27
- package/dist/node/components/docs/reference/DocsReferenceContent.js +34 -34
- package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +23 -23
- package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +26 -26
- package/dist/node/components/docs/reference/DocsReferencePage.js +37 -37
- package/dist/node/components/docs/reference/index.js +63 -63
- package/dist/node/components/docs/safety/SafetyAuditingPage.js +161 -161
- package/dist/node/components/docs/safety/SafetyMigrationsPage.js +169 -169
- package/dist/node/components/docs/safety/SafetyOverviewPage.js +99 -99
- package/dist/node/components/docs/safety/SafetyPDPPage.js +137 -137
- package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +95 -95
- package/dist/node/components/docs/safety/SafetySigningPage.js +39 -39
- package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
- package/dist/node/components/docs/safety/index.js +733 -733
- package/dist/node/components/docs/shared/StudioPrompt.js +9 -9
- package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +119 -119
- package/dist/node/components/docs/specs/SpecsOverlaysPage.js +171 -171
- package/dist/node/components/docs/specs/SpecsOverviewPage.js +167 -167
- package/dist/node/components/docs/specs/SpecsPolicyPage.js +179 -179
- package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +141 -141
- package/dist/node/components/docs/specs/index.js +838 -838
- package/dist/node/components/docs/studio/StudioBYOKPage.js +9 -9
- package/dist/node/components/docs/studio/StudioDeploymentsPage.js +9 -9
- package/dist/node/components/docs/studio/StudioGettingStartedPage.js +9 -9
- package/dist/node/components/docs/studio/StudioIntegrationsPage.js +9 -9
- package/dist/node/components/docs/studio/StudioOverviewPage.js +33 -33
- package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +9 -9
- package/dist/node/components/docs/studio/index.js +78 -78
- package/dist/node/components/integrations/index.js +209 -209
- package/dist/node/components/integrations/molecules/IntegrationCard.js +33 -33
- package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +71 -71
- package/dist/node/components/integrations/organisms/IntegrationSettings.js +98 -98
- package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +40 -40
- package/dist/node/components/legal/PrivacyTemplate.js +477 -477
- package/dist/node/components/legal/TermsTemplate.js +421 -421
- package/dist/node/components/legal/index.js +898 -898
- package/dist/node/components/shared/FeatureGateNotice.js +13 -13
- package/dist/node/components/shared/index.js +13 -13
- package/dist/node/components/shell/WorkspaceHeader.js +37 -37
- package/dist/node/components/shell/WorkspaceProjectShellLayout.js +77 -77
- package/dist/node/components/shell/WorkspaceShellRenderer.js +228 -0
- package/dist/node/components/shell/WorkspaceSidebar.js +27 -27
- package/dist/node/components/shell/index.js +140 -77
- package/dist/node/components/templates/index.js +272 -272
- package/dist/node/components/templates/messaging/ConversationList.js +27 -27
- package/dist/node/components/templates/messaging/MessageComposer.js +27 -27
- package/dist/node/components/templates/messaging/MessageThread.js +18 -18
- package/dist/node/components/templates/messaging/MessagingWorkspace.js +65 -65
- package/dist/node/components/templates/messaging/index.js +65 -65
- package/dist/node/components/templates/recipes/LanguageSwitcher.js +5 -5
- package/dist/node/components/templates/recipes/RecipeCard.js +26 -26
- package/dist/node/components/templates/recipes/RecipeDetail.js +33 -33
- package/dist/node/components/templates/recipes/RecipeList.js +80 -80
- package/dist/node/components/templates/recipes/index.js +80 -80
- package/dist/node/components/templates/todos/FilterBar.js +39 -39
- package/dist/node/components/templates/todos/TaskForm.js +43 -43
- package/dist/node/components/templates/todos/TaskItem.js +30 -30
- package/dist/node/components/templates/todos/TaskList.js +127 -127
- package/dist/node/components/templates/todos/index.js +127 -127
- package/dist/node/index.js +12323 -12260
- package/dist/node/infrastructure/elysia/index.js +8 -8
- package/dist/node/infrastructure/elysia/logger.js +8 -8
- package/dist/node/infrastructure/index.js +8 -8
- package/dist/node/libs/posthog/client.js +2 -2
- package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
- package/dist/node/presentation/features/atoms/FeatureIcon/index.js +3 -3
- package/dist/node/presentation/features/atoms/index.js +3 -3
- package/dist/node/presentation/features/index.js +915 -915
- package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
- package/dist/node/presentation/features/molecules/FeatureCard/index.js +101 -101
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
- package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
- package/dist/node/presentation/features/molecules/FeatureFilters/index.js +23 -23
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
- package/dist/node/presentation/features/molecules/index.js +139 -139
- package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
- package/dist/node/presentation/features/organisms/FeatureDetail/index.js +57 -57
- package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
- package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
- package/dist/node/presentation/features/organisms/FeatureEventsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureFormsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureOperationsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +7 -7
- package/dist/node/presentation/features/organisms/index.js +275 -275
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
- package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
- package/dist/presentation/features/atoms/FeatureIcon/index.js +3 -3
- package/dist/presentation/features/atoms/index.js +3 -3
- package/dist/presentation/features/index.js +915 -915
- package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
- package/dist/presentation/features/molecules/FeatureCard/index.js +101 -101
- package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
- package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
- package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
- package/dist/presentation/features/molecules/FeatureFilters/index.js +23 -23
- package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
- package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
- package/dist/presentation/features/molecules/index.js +139 -139
- package/dist/presentation/features/organisms/FeatureDataViewsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
- package/dist/presentation/features/organisms/FeatureDetail/index.js +57 -57
- package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
- package/dist/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
- package/dist/presentation/features/organisms/FeatureEventsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureFormsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureOperationsList.js +7 -7
- package/dist/presentation/features/organisms/FeaturePresentationsList.js +7 -7
- package/dist/presentation/features/organisms/index.js +275 -275
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
- package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
- package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
- package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
- package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
- package/package.json +71 -22
- package/src/bundles/LibraryBundle.ts +152 -0
- package/src/bundles/index.ts +1 -0
- package/src/components/shell/WorkspaceShellRenderer.tsx +90 -0
- package/src/components/shell/index.ts +1 -0
|
@@ -1,106 +1,106 @@
|
|
|
1
1
|
// src/components/templates/todos/FilterBar.tsx
|
|
2
|
-
import {
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
function FilterBar({ value, onChange, categories }) {
|
|
4
4
|
const handleChange = (key, nextValue) => {
|
|
5
5
|
onChange({ ...value, [key]: nextValue });
|
|
6
6
|
};
|
|
7
|
-
return /* @__PURE__ */
|
|
7
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
8
8
|
className: "border-border bg-card grid gap-3 rounded-2xl border p-4 md:grid-cols-4",
|
|
9
9
|
children: [
|
|
10
|
-
/* @__PURE__ */
|
|
10
|
+
/* @__PURE__ */ jsxs("label", {
|
|
11
11
|
className: "text-muted-foreground flex flex-col text-xs tracking-wide uppercase",
|
|
12
12
|
children: [
|
|
13
13
|
"Status",
|
|
14
|
-
/* @__PURE__ */
|
|
14
|
+
/* @__PURE__ */ jsxs("select", {
|
|
15
15
|
className: "border-border bg-background text-foreground mt-1 rounded-md border px-3 py-2 text-sm",
|
|
16
16
|
value: value.status,
|
|
17
17
|
onChange: (event) => handleChange("status", event.target.value),
|
|
18
18
|
children: [
|
|
19
|
-
/* @__PURE__ */
|
|
19
|
+
/* @__PURE__ */ jsx("option", {
|
|
20
20
|
value: "all",
|
|
21
21
|
children: "All tasks"
|
|
22
|
-
}
|
|
23
|
-
/* @__PURE__ */
|
|
22
|
+
}),
|
|
23
|
+
/* @__PURE__ */ jsx("option", {
|
|
24
24
|
value: "active",
|
|
25
25
|
children: "Active"
|
|
26
|
-
}
|
|
27
|
-
/* @__PURE__ */
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ jsx("option", {
|
|
28
28
|
value: "completed",
|
|
29
29
|
children: "Completed"
|
|
30
|
-
}
|
|
30
|
+
})
|
|
31
31
|
]
|
|
32
|
-
}
|
|
32
|
+
})
|
|
33
33
|
]
|
|
34
|
-
}
|
|
35
|
-
/* @__PURE__ */
|
|
34
|
+
}),
|
|
35
|
+
/* @__PURE__ */ jsxs("label", {
|
|
36
36
|
className: "text-muted-foreground flex flex-col text-xs tracking-wide uppercase",
|
|
37
37
|
children: [
|
|
38
38
|
"Priority",
|
|
39
|
-
/* @__PURE__ */
|
|
39
|
+
/* @__PURE__ */ jsxs("select", {
|
|
40
40
|
className: "border-border bg-background text-foreground mt-1 rounded-md border px-3 py-2 text-sm",
|
|
41
41
|
value: value.priority,
|
|
42
42
|
onChange: (event) => handleChange("priority", event.target.value),
|
|
43
43
|
children: [
|
|
44
|
-
/* @__PURE__ */
|
|
44
|
+
/* @__PURE__ */ jsx("option", {
|
|
45
45
|
value: "all",
|
|
46
46
|
children: "All"
|
|
47
|
-
}
|
|
48
|
-
/* @__PURE__ */
|
|
47
|
+
}),
|
|
48
|
+
/* @__PURE__ */ jsx("option", {
|
|
49
49
|
value: "LOW",
|
|
50
50
|
children: "Low"
|
|
51
|
-
}
|
|
52
|
-
/* @__PURE__ */
|
|
51
|
+
}),
|
|
52
|
+
/* @__PURE__ */ jsx("option", {
|
|
53
53
|
value: "MEDIUM",
|
|
54
54
|
children: "Medium"
|
|
55
|
-
}
|
|
56
|
-
/* @__PURE__ */
|
|
55
|
+
}),
|
|
56
|
+
/* @__PURE__ */ jsx("option", {
|
|
57
57
|
value: "HIGH",
|
|
58
58
|
children: "High"
|
|
59
|
-
}
|
|
60
|
-
/* @__PURE__ */
|
|
59
|
+
}),
|
|
60
|
+
/* @__PURE__ */ jsx("option", {
|
|
61
61
|
value: "URGENT",
|
|
62
62
|
children: "Urgent"
|
|
63
|
-
}
|
|
63
|
+
})
|
|
64
64
|
]
|
|
65
|
-
}
|
|
65
|
+
})
|
|
66
66
|
]
|
|
67
|
-
}
|
|
68
|
-
/* @__PURE__ */
|
|
67
|
+
}),
|
|
68
|
+
/* @__PURE__ */ jsxs("label", {
|
|
69
69
|
className: "text-muted-foreground flex flex-col text-xs tracking-wide uppercase",
|
|
70
70
|
children: [
|
|
71
71
|
"Category",
|
|
72
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ jsxs("select", {
|
|
73
73
|
className: "border-border bg-background text-foreground mt-1 rounded-md border px-3 py-2 text-sm",
|
|
74
74
|
value: value.categoryId,
|
|
75
75
|
onChange: (event) => handleChange("categoryId", event.target.value),
|
|
76
76
|
children: [
|
|
77
|
-
/* @__PURE__ */
|
|
77
|
+
/* @__PURE__ */ jsx("option", {
|
|
78
78
|
value: "all",
|
|
79
79
|
children: "All categories"
|
|
80
|
-
}
|
|
81
|
-
categories.map((category) => /* @__PURE__ */
|
|
80
|
+
}),
|
|
81
|
+
categories.map((category) => /* @__PURE__ */ jsx("option", {
|
|
82
82
|
value: category.id,
|
|
83
83
|
children: category.name
|
|
84
|
-
}, category.id
|
|
84
|
+
}, category.id))
|
|
85
85
|
]
|
|
86
|
-
}
|
|
86
|
+
})
|
|
87
87
|
]
|
|
88
|
-
}
|
|
89
|
-
/* @__PURE__ */
|
|
88
|
+
}),
|
|
89
|
+
/* @__PURE__ */ jsxs("label", {
|
|
90
90
|
className: "text-muted-foreground flex flex-col text-xs tracking-wide uppercase",
|
|
91
91
|
children: [
|
|
92
92
|
"Search",
|
|
93
|
-
/* @__PURE__ */
|
|
93
|
+
/* @__PURE__ */ jsx("input", {
|
|
94
94
|
type: "search",
|
|
95
95
|
className: "border-border bg-background text-foreground mt-1 rounded-md border px-3 py-2 text-sm",
|
|
96
96
|
placeholder: "Search by title",
|
|
97
97
|
value: value.search,
|
|
98
98
|
onChange: (event) => handleChange("search", event.target.value)
|
|
99
|
-
}
|
|
99
|
+
})
|
|
100
100
|
]
|
|
101
|
-
}
|
|
101
|
+
})
|
|
102
102
|
]
|
|
103
|
-
}
|
|
103
|
+
});
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
// src/components/templates/todos/TaskForm.tsx
|
|
@@ -108,7 +108,7 @@ import { useState } from "react";
|
|
|
108
108
|
import { useMutation } from "@apollo/client/react";
|
|
109
109
|
import { gql } from "@apollo/client";
|
|
110
110
|
import { useTemplateRuntime } from "@contractspec/lib.example-shared-ui";
|
|
111
|
-
import {
|
|
111
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
112
112
|
"use client";
|
|
113
113
|
var CREATE_TASK = gql`
|
|
114
114
|
mutation CreateTask($input: CreateTaskInput!) {
|
|
@@ -150,116 +150,116 @@ function TaskForm({ categories }) {
|
|
|
150
150
|
setCategoryId("none");
|
|
151
151
|
setTagsInput("");
|
|
152
152
|
};
|
|
153
|
-
return /* @__PURE__ */
|
|
153
|
+
return /* @__PURE__ */ jsxs2("form", {
|
|
154
154
|
onSubmit: handleSubmit,
|
|
155
155
|
className: "border-border bg-background/60 space-y-3 rounded-2xl border p-4",
|
|
156
156
|
children: [
|
|
157
|
-
/* @__PURE__ */
|
|
158
|
-
children: /* @__PURE__ */
|
|
157
|
+
/* @__PURE__ */ jsx2("div", {
|
|
158
|
+
children: /* @__PURE__ */ jsxs2("label", {
|
|
159
159
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
160
160
|
children: [
|
|
161
161
|
"Title",
|
|
162
|
-
/* @__PURE__ */
|
|
162
|
+
/* @__PURE__ */ jsx2("input", {
|
|
163
163
|
type: "text",
|
|
164
164
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
165
165
|
placeholder: "What needs to get done?",
|
|
166
166
|
value: title,
|
|
167
167
|
onChange: (event) => setTitle(event.target.value),
|
|
168
168
|
required: true
|
|
169
|
-
}
|
|
169
|
+
})
|
|
170
170
|
]
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
/* @__PURE__ */
|
|
174
|
-
children: /* @__PURE__ */
|
|
171
|
+
})
|
|
172
|
+
}),
|
|
173
|
+
/* @__PURE__ */ jsx2("div", {
|
|
174
|
+
children: /* @__PURE__ */ jsxs2("label", {
|
|
175
175
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
176
176
|
children: [
|
|
177
177
|
"Description",
|
|
178
|
-
/* @__PURE__ */
|
|
178
|
+
/* @__PURE__ */ jsx2("textarea", {
|
|
179
179
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
180
180
|
rows: 3,
|
|
181
181
|
placeholder: "Add context or policy notes",
|
|
182
182
|
value: description,
|
|
183
183
|
onChange: (event) => setDescription(event.target.value)
|
|
184
|
-
}
|
|
184
|
+
})
|
|
185
185
|
]
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
/* @__PURE__ */
|
|
186
|
+
})
|
|
187
|
+
}),
|
|
188
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
189
189
|
className: "grid gap-3 md:grid-cols-3",
|
|
190
190
|
children: [
|
|
191
|
-
/* @__PURE__ */
|
|
191
|
+
/* @__PURE__ */ jsxs2("label", {
|
|
192
192
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
193
193
|
children: [
|
|
194
194
|
"Priority",
|
|
195
|
-
/* @__PURE__ */
|
|
195
|
+
/* @__PURE__ */ jsxs2("select", {
|
|
196
196
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
197
197
|
value: priority,
|
|
198
198
|
onChange: (event) => setPriority(event.target.value),
|
|
199
199
|
children: [
|
|
200
|
-
/* @__PURE__ */
|
|
200
|
+
/* @__PURE__ */ jsx2("option", {
|
|
201
201
|
value: "LOW",
|
|
202
202
|
children: "Low"
|
|
203
|
-
}
|
|
204
|
-
/* @__PURE__ */
|
|
203
|
+
}),
|
|
204
|
+
/* @__PURE__ */ jsx2("option", {
|
|
205
205
|
value: "MEDIUM",
|
|
206
206
|
children: "Medium"
|
|
207
|
-
}
|
|
208
|
-
/* @__PURE__ */
|
|
207
|
+
}),
|
|
208
|
+
/* @__PURE__ */ jsx2("option", {
|
|
209
209
|
value: "HIGH",
|
|
210
210
|
children: "High"
|
|
211
|
-
}
|
|
212
|
-
/* @__PURE__ */
|
|
211
|
+
}),
|
|
212
|
+
/* @__PURE__ */ jsx2("option", {
|
|
213
213
|
value: "URGENT",
|
|
214
214
|
children: "Urgent"
|
|
215
|
-
}
|
|
215
|
+
})
|
|
216
216
|
]
|
|
217
|
-
}
|
|
217
|
+
})
|
|
218
218
|
]
|
|
219
|
-
}
|
|
220
|
-
/* @__PURE__ */
|
|
219
|
+
}),
|
|
220
|
+
/* @__PURE__ */ jsxs2("label", {
|
|
221
221
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
222
222
|
children: [
|
|
223
223
|
"Category",
|
|
224
|
-
/* @__PURE__ */
|
|
224
|
+
/* @__PURE__ */ jsxs2("select", {
|
|
225
225
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
226
226
|
value: categoryId,
|
|
227
227
|
onChange: (event) => setCategoryId(event.target.value),
|
|
228
228
|
children: [
|
|
229
|
-
/* @__PURE__ */
|
|
229
|
+
/* @__PURE__ */ jsx2("option", {
|
|
230
230
|
value: "none",
|
|
231
231
|
children: "None"
|
|
232
|
-
}
|
|
233
|
-
categories.map((category) => /* @__PURE__ */
|
|
232
|
+
}),
|
|
233
|
+
categories.map((category) => /* @__PURE__ */ jsx2("option", {
|
|
234
234
|
value: category.id,
|
|
235
235
|
children: category.name
|
|
236
|
-
}, category.id
|
|
236
|
+
}, category.id))
|
|
237
237
|
]
|
|
238
|
-
}
|
|
238
|
+
})
|
|
239
239
|
]
|
|
240
|
-
}
|
|
241
|
-
/* @__PURE__ */
|
|
240
|
+
}),
|
|
241
|
+
/* @__PURE__ */ jsxs2("label", {
|
|
242
242
|
className: "text-muted-foreground text-xs font-semibold uppercase",
|
|
243
243
|
children: [
|
|
244
244
|
"Tags",
|
|
245
|
-
/* @__PURE__ */
|
|
245
|
+
/* @__PURE__ */ jsx2("input", {
|
|
246
246
|
className: "border-border bg-card mt-1 w-full rounded-md border px-3 py-2 text-sm",
|
|
247
247
|
placeholder: "Comma separated (optional)",
|
|
248
248
|
value: tagsInput,
|
|
249
249
|
onChange: (event) => setTagsInput(event.target.value)
|
|
250
|
-
}
|
|
250
|
+
})
|
|
251
251
|
]
|
|
252
|
-
}
|
|
252
|
+
})
|
|
253
253
|
]
|
|
254
|
-
}
|
|
255
|
-
/* @__PURE__ */
|
|
254
|
+
}),
|
|
255
|
+
/* @__PURE__ */ jsx2("button", {
|
|
256
256
|
type: "submit",
|
|
257
257
|
className: "btn-primary w-full py-2 text-sm font-semibold",
|
|
258
258
|
disabled: loading,
|
|
259
259
|
children: loading ? "Saving..." : "Add task"
|
|
260
|
-
}
|
|
260
|
+
})
|
|
261
261
|
]
|
|
262
|
-
}
|
|
262
|
+
});
|
|
263
263
|
}
|
|
264
264
|
function parseTags(input) {
|
|
265
265
|
return input.split(",").map((tag) => tag.trim()).filter(Boolean);
|
|
@@ -267,77 +267,77 @@ function parseTags(input) {
|
|
|
267
267
|
|
|
268
268
|
// src/components/templates/todos/TaskItem.tsx
|
|
269
269
|
import { Check, Circle, Trash2 } from "lucide-react";
|
|
270
|
-
import {
|
|
270
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
271
271
|
function TaskItem({ task, onToggle, onDelete }) {
|
|
272
272
|
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";
|
|
273
|
-
return /* @__PURE__ */
|
|
273
|
+
return /* @__PURE__ */ jsxs3("div", {
|
|
274
274
|
className: "border-border/70 bg-card/60 hover:border-border flex items-start gap-4 rounded-2xl border p-4 transition",
|
|
275
275
|
children: [
|
|
276
|
-
/* @__PURE__ */
|
|
276
|
+
/* @__PURE__ */ jsx3("button", {
|
|
277
277
|
type: "button",
|
|
278
278
|
className: "border-border text-muted-foreground hover:bg-muted/40 rounded-full border p-2",
|
|
279
279
|
"aria-pressed": task.completed,
|
|
280
280
|
onClick: () => onToggle?.(task),
|
|
281
|
-
children: task.completed ? /* @__PURE__ */
|
|
281
|
+
children: task.completed ? /* @__PURE__ */ jsx3(Check, {
|
|
282
282
|
className: "h-4 w-4 text-emerald-400"
|
|
283
|
-
}
|
|
283
|
+
}) : /* @__PURE__ */ jsx3(Circle, {
|
|
284
284
|
className: "h-4 w-4"
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
/* @__PURE__ */
|
|
285
|
+
})
|
|
286
|
+
}),
|
|
287
|
+
/* @__PURE__ */ jsxs3("div", {
|
|
288
288
|
className: "flex-1 space-y-2",
|
|
289
289
|
children: [
|
|
290
|
-
/* @__PURE__ */
|
|
290
|
+
/* @__PURE__ */ jsxs3("div", {
|
|
291
291
|
className: "flex flex-wrap items-center gap-2",
|
|
292
292
|
children: [
|
|
293
|
-
/* @__PURE__ */
|
|
293
|
+
/* @__PURE__ */ jsx3("p", {
|
|
294
294
|
className: `font-medium ${task.completed ? "text-muted-foreground line-through" : "text-foreground"}`,
|
|
295
295
|
children: task.title
|
|
296
|
-
}
|
|
297
|
-
/* @__PURE__ */
|
|
296
|
+
}),
|
|
297
|
+
/* @__PURE__ */ jsx3("span", {
|
|
298
298
|
className: `rounded-full border px-2 py-0.5 text-xs ${badgeColor}`,
|
|
299
299
|
children: task.priority.charAt(0) + task.priority.slice(1).toLowerCase()
|
|
300
|
-
}
|
|
301
|
-
task.category ? /* @__PURE__ */
|
|
300
|
+
}),
|
|
301
|
+
task.category ? /* @__PURE__ */ jsx3("span", {
|
|
302
302
|
className: "bg-muted/40 text-muted-foreground rounded-full px-2 py-0.5 text-xs",
|
|
303
303
|
children: task.category.name
|
|
304
|
-
}
|
|
305
|
-
task.dueDate ? /* @__PURE__ */
|
|
304
|
+
}) : null,
|
|
305
|
+
task.dueDate ? /* @__PURE__ */ jsxs3("span", {
|
|
306
306
|
className: "text-muted-foreground text-xs",
|
|
307
307
|
children: [
|
|
308
308
|
"Due ",
|
|
309
309
|
new Date(task.dueDate).toLocaleDateString()
|
|
310
310
|
]
|
|
311
|
-
}
|
|
311
|
+
}) : null
|
|
312
312
|
]
|
|
313
|
-
}
|
|
314
|
-
task.description ? /* @__PURE__ */
|
|
313
|
+
}),
|
|
314
|
+
task.description ? /* @__PURE__ */ jsx3("p", {
|
|
315
315
|
className: "text-muted-foreground text-sm",
|
|
316
316
|
children: task.description
|
|
317
|
-
}
|
|
318
|
-
task.tags.length ? /* @__PURE__ */
|
|
317
|
+
}) : null,
|
|
318
|
+
task.tags.length ? /* @__PURE__ */ jsx3("div", {
|
|
319
319
|
className: "flex flex-wrap gap-1",
|
|
320
|
-
children: task.tags.map((tag) => /* @__PURE__ */
|
|
320
|
+
children: task.tags.map((tag) => /* @__PURE__ */ jsxs3("span", {
|
|
321
321
|
className: "bg-muted/40 text-muted-foreground rounded-full px-2 py-0.5 text-xs",
|
|
322
322
|
children: [
|
|
323
323
|
"#",
|
|
324
324
|
tag
|
|
325
325
|
]
|
|
326
|
-
}, tag
|
|
327
|
-
}
|
|
326
|
+
}, tag))
|
|
327
|
+
}) : null
|
|
328
328
|
]
|
|
329
|
-
}
|
|
330
|
-
/* @__PURE__ */
|
|
329
|
+
}),
|
|
330
|
+
/* @__PURE__ */ jsx3("button", {
|
|
331
331
|
type: "button",
|
|
332
332
|
className: "text-muted-foreground hover:text-destructive",
|
|
333
333
|
"aria-label": `Delete ${task.title}`,
|
|
334
334
|
onClick: () => onDelete?.(task),
|
|
335
|
-
children: /* @__PURE__ */
|
|
335
|
+
children: /* @__PURE__ */ jsx3(Trash2, {
|
|
336
336
|
className: "h-4 w-4"
|
|
337
|
-
}
|
|
338
|
-
}
|
|
337
|
+
})
|
|
338
|
+
})
|
|
339
339
|
]
|
|
340
|
-
}
|
|
340
|
+
});
|
|
341
341
|
}
|
|
342
342
|
|
|
343
343
|
// src/components/templates/todos/TaskList.tsx
|
|
@@ -348,7 +348,7 @@ import {
|
|
|
348
348
|
registerTemplateComponents,
|
|
349
349
|
useTemplateRuntime as useTemplateRuntime2
|
|
350
350
|
} from "@contractspec/lib.example-shared-ui";
|
|
351
|
-
import {
|
|
351
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
352
352
|
"use client";
|
|
353
353
|
var TASKS_QUERY = gql2`
|
|
354
354
|
query Tasks($projectId: ID!) {
|
|
@@ -444,36 +444,36 @@ function TaskList() {
|
|
|
444
444
|
refetchQueries: [{ query: TASKS_QUERY, variables: { projectId } }]
|
|
445
445
|
});
|
|
446
446
|
};
|
|
447
|
-
return /* @__PURE__ */
|
|
447
|
+
return /* @__PURE__ */ jsxs4("div", {
|
|
448
448
|
className: "space-y-6",
|
|
449
449
|
children: [
|
|
450
|
-
/* @__PURE__ */
|
|
450
|
+
/* @__PURE__ */ jsx4(FilterBar, {
|
|
451
451
|
value: filters,
|
|
452
452
|
onChange: setFilters,
|
|
453
453
|
categories
|
|
454
|
-
}
|
|
455
|
-
/* @__PURE__ */
|
|
454
|
+
}),
|
|
455
|
+
/* @__PURE__ */ jsx4(TaskForm, {
|
|
456
456
|
categories
|
|
457
|
-
}
|
|
458
|
-
loading ? /* @__PURE__ */
|
|
457
|
+
}),
|
|
458
|
+
loading ? /* @__PURE__ */ jsx4("p", {
|
|
459
459
|
className: "text-muted-foreground text-sm",
|
|
460
460
|
children: "Loading tasks…"
|
|
461
|
-
}
|
|
461
|
+
}) : filtered.length ? /* @__PURE__ */ jsx4("div", {
|
|
462
462
|
className: "space-y-3",
|
|
463
|
-
children: filtered.map((task) => /* @__PURE__ */
|
|
463
|
+
children: filtered.map((task) => /* @__PURE__ */ jsx4(TaskItem, {
|
|
464
464
|
task,
|
|
465
465
|
onToggle: handleToggle,
|
|
466
466
|
onDelete: handleDelete
|
|
467
|
-
}, task.id
|
|
468
|
-
}
|
|
467
|
+
}, task.id))
|
|
468
|
+
}) : /* @__PURE__ */ jsx4("div", {
|
|
469
469
|
className: "border-border rounded-2xl border border-dashed p-8 text-center",
|
|
470
|
-
children: /* @__PURE__ */
|
|
470
|
+
children: /* @__PURE__ */ jsx4("p", {
|
|
471
471
|
className: "text-muted-foreground",
|
|
472
472
|
children: "No tasks match your filters. Create one above."
|
|
473
|
-
}
|
|
474
|
-
}
|
|
473
|
+
})
|
|
474
|
+
})
|
|
475
475
|
]
|
|
476
|
-
}
|
|
476
|
+
});
|
|
477
477
|
}
|
|
478
478
|
registerTemplateComponents("todos-app", {
|
|
479
479
|
list: TaskList,
|
|
@@ -486,7 +486,7 @@ import { gql as gql3 } from "@apollo/client";
|
|
|
486
486
|
import { MessageCircle, Users } from "lucide-react";
|
|
487
487
|
import { useMemo as useMemo2 } from "react";
|
|
488
488
|
import { useTemplateRuntime as useTemplateRuntime3 } from "@contractspec/lib.example-shared-ui";
|
|
489
|
-
import {
|
|
489
|
+
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
490
490
|
var CONVERSATIONS_QUERY = gql3`
|
|
491
491
|
query Conversations($projectId: ID!) {
|
|
492
492
|
conversations(projectId: $projectId) {
|
|
@@ -512,66 +512,66 @@ function ConversationList({
|
|
|
512
512
|
fetchPolicy: "cache-and-network"
|
|
513
513
|
});
|
|
514
514
|
const conversations = useMemo2(() => data?.conversations ?? [], [data]);
|
|
515
|
-
return /* @__PURE__ */
|
|
515
|
+
return /* @__PURE__ */ jsxs5("aside", {
|
|
516
516
|
className: "border-border bg-card h-full overflow-y-auto rounded-2xl border",
|
|
517
517
|
children: [
|
|
518
|
-
/* @__PURE__ */
|
|
518
|
+
/* @__PURE__ */ jsxs5("header", {
|
|
519
519
|
className: "border-border px -4 flex items-center justify-between border-b px-4 py-3",
|
|
520
520
|
children: [
|
|
521
|
-
/* @__PURE__ */
|
|
521
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
522
522
|
children: [
|
|
523
|
-
/* @__PURE__ */
|
|
523
|
+
/* @__PURE__ */ jsx5("p", {
|
|
524
524
|
className: "text-sm font-semibold",
|
|
525
525
|
children: "Conversations"
|
|
526
|
-
}
|
|
527
|
-
/* @__PURE__ */
|
|
526
|
+
}),
|
|
527
|
+
/* @__PURE__ */ jsx5("p", {
|
|
528
528
|
className: "text-muted-foreground text-xs",
|
|
529
529
|
children: loading ? "Loading…" : `${conversations.length} active`
|
|
530
|
-
}
|
|
530
|
+
})
|
|
531
531
|
]
|
|
532
|
-
}
|
|
533
|
-
/* @__PURE__ */
|
|
532
|
+
}),
|
|
533
|
+
/* @__PURE__ */ jsx5(Users, {
|
|
534
534
|
className: "text-muted-foreground h-4 w-4"
|
|
535
|
-
}
|
|
535
|
+
})
|
|
536
536
|
]
|
|
537
|
-
}
|
|
538
|
-
/* @__PURE__ */
|
|
537
|
+
}),
|
|
538
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
539
539
|
className: "divide-border/70 divide-y",
|
|
540
540
|
children: [
|
|
541
541
|
conversations.map((conversation) => {
|
|
542
542
|
const isSelected = selectedId === conversation.id;
|
|
543
|
-
return /* @__PURE__ */
|
|
543
|
+
return /* @__PURE__ */ jsxs5("button", {
|
|
544
544
|
type: "button",
|
|
545
545
|
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"}`,
|
|
546
546
|
onClick: () => onSelect?.(conversation.id),
|
|
547
547
|
children: [
|
|
548
|
-
/* @__PURE__ */
|
|
548
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
549
549
|
className: "flex items-center gap-2",
|
|
550
550
|
children: [
|
|
551
|
-
/* @__PURE__ */
|
|
551
|
+
/* @__PURE__ */ jsx5(MessageCircle, {
|
|
552
552
|
className: "text-muted-foreground h-4 w-4"
|
|
553
|
-
}
|
|
554
|
-
/* @__PURE__ */
|
|
553
|
+
}),
|
|
554
|
+
/* @__PURE__ */ jsx5("span", {
|
|
555
555
|
className: "text-sm font-medium",
|
|
556
556
|
children: conversation.name || "Untitled conversation"
|
|
557
|
-
}
|
|
557
|
+
})
|
|
558
558
|
]
|
|
559
|
-
}
|
|
560
|
-
/* @__PURE__ */
|
|
559
|
+
}),
|
|
560
|
+
/* @__PURE__ */ jsx5("p", {
|
|
561
561
|
className: "text-muted-foreground text-xs",
|
|
562
562
|
children: conversation.participants.map((participant) => participant.displayName || participant.userId).join(" · ")
|
|
563
|
-
}
|
|
563
|
+
})
|
|
564
564
|
]
|
|
565
|
-
}, conversation.id
|
|
565
|
+
}, conversation.id);
|
|
566
566
|
}),
|
|
567
|
-
!loading && conversations.length === 0 ? /* @__PURE__ */
|
|
567
|
+
!loading && conversations.length === 0 ? /* @__PURE__ */ jsx5("p", {
|
|
568
568
|
className: "text-muted-foreground p-4 text-center text-xs",
|
|
569
569
|
children: "No conversations yet."
|
|
570
|
-
}
|
|
570
|
+
}) : null
|
|
571
571
|
]
|
|
572
|
-
}
|
|
572
|
+
})
|
|
573
573
|
]
|
|
574
|
-
}
|
|
574
|
+
});
|
|
575
575
|
}
|
|
576
576
|
|
|
577
577
|
// src/components/templates/messaging/MessageThread.tsx
|
|
@@ -579,7 +579,7 @@ import { useMutation as useMutation3, useQuery as useQuery3 } from "@apollo/clie
|
|
|
579
579
|
import { gql as gql4 } from "@apollo/client";
|
|
580
580
|
import { useEffect, useRef } from "react";
|
|
581
581
|
import { useTemplateRuntime as useTemplateRuntime4 } from "@contractspec/lib.example-shared-ui";
|
|
582
|
-
import {
|
|
582
|
+
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
583
583
|
"use client";
|
|
584
584
|
var MESSAGES_QUERY = gql4`
|
|
585
585
|
query Messages($conversationId: ID!) {
|
|
@@ -624,32 +624,32 @@ function MessageThread({
|
|
|
624
624
|
container.scrollTop = container.scrollHeight;
|
|
625
625
|
}, [messages]);
|
|
626
626
|
if (!conversationId) {
|
|
627
|
-
return /* @__PURE__ */
|
|
627
|
+
return /* @__PURE__ */ jsx6("div", {
|
|
628
628
|
className: "border-border flex flex-1 items-center justify-center rounded-2xl border border-dashed",
|
|
629
|
-
children: /* @__PURE__ */
|
|
629
|
+
children: /* @__PURE__ */ jsx6("p", {
|
|
630
630
|
className: "text-muted-foreground text-sm",
|
|
631
631
|
children: "Select a conversation"
|
|
632
|
-
}
|
|
633
|
-
}
|
|
632
|
+
})
|
|
633
|
+
});
|
|
634
634
|
}
|
|
635
|
-
return /* @__PURE__ */
|
|
635
|
+
return /* @__PURE__ */ jsx6("div", {
|
|
636
636
|
className: "border-border bg-card flex flex-1 flex-col rounded-2xl border",
|
|
637
|
-
children: /* @__PURE__ */
|
|
637
|
+
children: /* @__PURE__ */ jsx6("div", {
|
|
638
638
|
ref: scrollRef,
|
|
639
639
|
className: "flex-1 space-y-3 overflow-y-auto p-4",
|
|
640
|
-
children: loading ? /* @__PURE__ */
|
|
640
|
+
children: loading ? /* @__PURE__ */ jsx6("p", {
|
|
641
641
|
className: "text-muted-foreground text-center text-sm",
|
|
642
642
|
children: "Loading…"
|
|
643
|
-
}
|
|
643
|
+
}) : messages.slice().reverse().map((message) => /* @__PURE__ */ jsxs6("div", {
|
|
644
644
|
className: `flex flex-col ${message.senderId === viewerId ? "items-end" : "items-start"}`,
|
|
645
645
|
children: [
|
|
646
|
-
/* @__PURE__ */
|
|
646
|
+
/* @__PURE__ */ jsx6("div", {
|
|
647
647
|
className: `max-w-xs rounded-2xl px-3 py-2 text-sm ${message.senderId === viewerId ? "bg-violet-500 text-white" : "bg-muted text-foreground"}`,
|
|
648
|
-
children: /* @__PURE__ */
|
|
648
|
+
children: /* @__PURE__ */ jsx6("p", {
|
|
649
649
|
children: message.content
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
/* @__PURE__ */
|
|
650
|
+
})
|
|
651
|
+
}),
|
|
652
|
+
/* @__PURE__ */ jsxs6("span", {
|
|
653
653
|
className: "text-muted-foreground mt-1 text-xs",
|
|
654
654
|
children: [
|
|
655
655
|
message.senderName || message.senderId,
|
|
@@ -660,11 +660,11 @@ function MessageThread({
|
|
|
660
660
|
minute: "2-digit"
|
|
661
661
|
})
|
|
662
662
|
]
|
|
663
|
-
}
|
|
663
|
+
})
|
|
664
664
|
]
|
|
665
|
-
}, message.id
|
|
666
|
-
}
|
|
667
|
-
}
|
|
665
|
+
}, message.id))
|
|
666
|
+
})
|
|
667
|
+
});
|
|
668
668
|
}
|
|
669
669
|
|
|
670
670
|
// src/components/templates/messaging/MessageComposer.tsx
|
|
@@ -673,7 +673,7 @@ import { useMutation as useMutation4 } from "@apollo/client/react";
|
|
|
673
673
|
import { gql as gql5 } from "@apollo/client";
|
|
674
674
|
import { Send } from "lucide-react";
|
|
675
675
|
import { useTemplateRuntime as useTemplateRuntime5 } from "@contractspec/lib.example-shared-ui";
|
|
676
|
-
import {
|
|
676
|
+
import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
677
677
|
"use client";
|
|
678
678
|
var SEND_MESSAGE = gql5`
|
|
679
679
|
mutation SendMessage($input: SendMessageInput!) {
|
|
@@ -713,60 +713,60 @@ function MessageComposer({
|
|
|
713
713
|
});
|
|
714
714
|
setContent("");
|
|
715
715
|
};
|
|
716
|
-
return /* @__PURE__ */
|
|
716
|
+
return /* @__PURE__ */ jsxs7("form", {
|
|
717
717
|
onSubmit: handleSubmit,
|
|
718
718
|
className: "border-border bg-card mt-3 flex items-center gap-2 rounded-2xl border px-4 py-3",
|
|
719
719
|
children: [
|
|
720
|
-
/* @__PURE__ */
|
|
720
|
+
/* @__PURE__ */ jsx7("input", {
|
|
721
721
|
type: "text",
|
|
722
722
|
className: "text-foreground flex-1 bg-transparent text-sm outline-none",
|
|
723
723
|
placeholder: conversationId ? "Type a message…" : "Select a conversation to start",
|
|
724
724
|
disabled: !conversationId || loading,
|
|
725
725
|
value: content,
|
|
726
726
|
onChange: (event) => setContent(event.target.value)
|
|
727
|
-
}
|
|
728
|
-
/* @__PURE__ */
|
|
727
|
+
}),
|
|
728
|
+
/* @__PURE__ */ jsxs7("button", {
|
|
729
729
|
type: "submit",
|
|
730
730
|
className: "btn-primary inline-flex items-center gap-1 text-sm",
|
|
731
731
|
disabled: !conversationId || loading || !content.trim(),
|
|
732
732
|
children: [
|
|
733
|
-
/* @__PURE__ */
|
|
733
|
+
/* @__PURE__ */ jsx7(Send, {
|
|
734
734
|
className: "h-4 w-4"
|
|
735
|
-
}
|
|
735
|
+
}),
|
|
736
736
|
"Send"
|
|
737
737
|
]
|
|
738
|
-
}
|
|
738
|
+
})
|
|
739
739
|
]
|
|
740
|
-
}
|
|
740
|
+
});
|
|
741
741
|
}
|
|
742
742
|
|
|
743
743
|
// src/components/templates/messaging/MessagingWorkspace.tsx
|
|
744
744
|
import { useState as useState4 } from "react";
|
|
745
745
|
import { registerTemplateComponents as registerTemplateComponents2 } from "@contractspec/lib.example-shared-ui";
|
|
746
|
-
import {
|
|
746
|
+
import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
747
747
|
"use client";
|
|
748
748
|
function MessagingWorkspace() {
|
|
749
749
|
const [conversationId, setConversationId] = useState4();
|
|
750
|
-
return /* @__PURE__ */
|
|
750
|
+
return /* @__PURE__ */ jsxs8("div", {
|
|
751
751
|
className: "grid gap-4 md:grid-cols-[280px,1fr]",
|
|
752
752
|
children: [
|
|
753
|
-
/* @__PURE__ */
|
|
753
|
+
/* @__PURE__ */ jsx8(ConversationList, {
|
|
754
754
|
selectedId: conversationId,
|
|
755
755
|
onSelect: setConversationId
|
|
756
|
-
}
|
|
757
|
-
/* @__PURE__ */
|
|
756
|
+
}),
|
|
757
|
+
/* @__PURE__ */ jsxs8("div", {
|
|
758
758
|
className: "flex flex-col gap-3",
|
|
759
759
|
children: [
|
|
760
|
-
/* @__PURE__ */
|
|
760
|
+
/* @__PURE__ */ jsx8(MessageThread, {
|
|
761
761
|
conversationId
|
|
762
|
-
}
|
|
763
|
-
/* @__PURE__ */
|
|
762
|
+
}),
|
|
763
|
+
/* @__PURE__ */ jsx8(MessageComposer, {
|
|
764
764
|
conversationId
|
|
765
|
-
}
|
|
765
|
+
})
|
|
766
766
|
]
|
|
767
|
-
}
|
|
767
|
+
})
|
|
768
768
|
]
|
|
769
|
-
}
|
|
769
|
+
});
|
|
770
770
|
}
|
|
771
771
|
registerTemplateComponents2("messaging-app", {
|
|
772
772
|
list: MessagingWorkspace,
|
|
@@ -774,167 +774,167 @@ registerTemplateComponents2("messaging-app", {
|
|
|
774
774
|
form: MessageComposer
|
|
775
775
|
});
|
|
776
776
|
// src/components/templates/recipes/LanguageSwitcher.tsx
|
|
777
|
-
import {
|
|
777
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
778
778
|
function LanguageSwitcher({ locale, onChange }) {
|
|
779
|
-
return /* @__PURE__ */
|
|
779
|
+
return /* @__PURE__ */ jsx9("div", {
|
|
780
780
|
className: "border-border bg-card text-muted-foreground inline-flex rounded-full border p-1 text-xs font-semibold",
|
|
781
|
-
children: ["EN", "FR"].map((language) => /* @__PURE__ */
|
|
781
|
+
children: ["EN", "FR"].map((language) => /* @__PURE__ */ jsx9("button", {
|
|
782
782
|
type: "button",
|
|
783
783
|
className: `rounded-full px-3 py-1 transition ${locale === language ? "bg-violet-500 text-white" : "hover:text-foreground"}`,
|
|
784
784
|
onClick: () => onChange(language),
|
|
785
785
|
children: language === "EN" ? "English" : "Français"
|
|
786
|
-
}, language
|
|
787
|
-
}
|
|
786
|
+
}, language))
|
|
787
|
+
});
|
|
788
788
|
}
|
|
789
789
|
|
|
790
790
|
// src/components/templates/recipes/RecipeCard.tsx
|
|
791
791
|
import { Heart } from "lucide-react";
|
|
792
|
-
import {
|
|
792
|
+
import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
793
793
|
function RecipeCard({
|
|
794
794
|
recipe,
|
|
795
795
|
onSelect,
|
|
796
796
|
onToggleFavorite
|
|
797
797
|
}) {
|
|
798
|
-
return /* @__PURE__ */
|
|
798
|
+
return /* @__PURE__ */ jsxs9("button", {
|
|
799
799
|
type: "button",
|
|
800
800
|
onClick: () => onSelect?.(recipe),
|
|
801
801
|
className: "border-border bg-card flex flex-col gap-3 rounded-2xl border text-left transition hover:border-violet-400",
|
|
802
802
|
children: [
|
|
803
|
-
recipe.heroImageUrl ? /* @__PURE__ */
|
|
803
|
+
recipe.heroImageUrl ? /* @__PURE__ */ jsx10("img", {
|
|
804
804
|
src: recipe.heroImageUrl,
|
|
805
805
|
alt: recipe.name,
|
|
806
806
|
className: "h-40 w-full rounded-t-2xl object-cover"
|
|
807
|
-
}
|
|
807
|
+
}) : /* @__PURE__ */ jsx10("div", {
|
|
808
808
|
className: "bg-muted h-40 rounded-t-2xl"
|
|
809
|
-
}
|
|
810
|
-
/* @__PURE__ */
|
|
809
|
+
}),
|
|
810
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
811
811
|
className: "space-y-2 p-4",
|
|
812
812
|
children: [
|
|
813
|
-
/* @__PURE__ */
|
|
813
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
814
814
|
className: "flex items-center justify-between",
|
|
815
815
|
children: [
|
|
816
|
-
/* @__PURE__ */
|
|
816
|
+
/* @__PURE__ */ jsx10("p", {
|
|
817
817
|
className: "text-base font-semibold",
|
|
818
818
|
children: recipe.name
|
|
819
|
-
}
|
|
820
|
-
/* @__PURE__ */
|
|
819
|
+
}),
|
|
820
|
+
/* @__PURE__ */ jsx10("button", {
|
|
821
821
|
type: "button",
|
|
822
822
|
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"}`,
|
|
823
823
|
onClick: (event) => {
|
|
824
824
|
event.stopPropagation();
|
|
825
825
|
onToggleFavorite?.(recipe);
|
|
826
826
|
},
|
|
827
|
-
children: /* @__PURE__ */
|
|
827
|
+
children: /* @__PURE__ */ jsx10(Heart, {
|
|
828
828
|
className: `h-4 w-4 ${recipe.isFavorite ? "fill-red-400" : ""}`
|
|
829
|
-
}
|
|
830
|
-
}
|
|
829
|
+
})
|
|
830
|
+
})
|
|
831
831
|
]
|
|
832
|
-
}
|
|
833
|
-
/* @__PURE__ */
|
|
832
|
+
}),
|
|
833
|
+
/* @__PURE__ */ jsx10("p", {
|
|
834
834
|
className: "text-muted-foreground line-clamp-2 text-sm",
|
|
835
835
|
children: recipe.description
|
|
836
|
-
}
|
|
837
|
-
/* @__PURE__ */
|
|
836
|
+
}),
|
|
837
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
838
838
|
className: "text-muted-foreground flex flex-wrap gap-3 text-xs",
|
|
839
839
|
children: [
|
|
840
|
-
recipe.prepTimeMinutes ? /* @__PURE__ */
|
|
840
|
+
recipe.prepTimeMinutes ? /* @__PURE__ */ jsxs9("span", {
|
|
841
841
|
children: [
|
|
842
842
|
"Prep ",
|
|
843
843
|
recipe.prepTimeMinutes,
|
|
844
844
|
"m"
|
|
845
845
|
]
|
|
846
|
-
}
|
|
847
|
-
recipe.cookTimeMinutes ? /* @__PURE__ */
|
|
846
|
+
}) : null,
|
|
847
|
+
recipe.cookTimeMinutes ? /* @__PURE__ */ jsxs9("span", {
|
|
848
848
|
children: [
|
|
849
849
|
"Cook ",
|
|
850
850
|
recipe.cookTimeMinutes,
|
|
851
851
|
"m"
|
|
852
852
|
]
|
|
853
|
-
}
|
|
854
|
-
recipe.servings ? /* @__PURE__ */
|
|
853
|
+
}) : null,
|
|
854
|
+
recipe.servings ? /* @__PURE__ */ jsxs9("span", {
|
|
855
855
|
children: [
|
|
856
856
|
recipe.servings,
|
|
857
857
|
" servings"
|
|
858
858
|
]
|
|
859
|
-
}
|
|
859
|
+
}) : null
|
|
860
860
|
]
|
|
861
|
-
}
|
|
861
|
+
})
|
|
862
862
|
]
|
|
863
|
-
}
|
|
863
|
+
})
|
|
864
864
|
]
|
|
865
|
-
}
|
|
865
|
+
});
|
|
866
866
|
}
|
|
867
867
|
|
|
868
868
|
// src/components/templates/recipes/RecipeDetail.tsx
|
|
869
869
|
import { BookOpen } from "lucide-react";
|
|
870
|
-
import {
|
|
870
|
+
import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
871
871
|
function RecipeDetail({ recipe }) {
|
|
872
872
|
if (!recipe) {
|
|
873
|
-
return /* @__PURE__ */
|
|
873
|
+
return /* @__PURE__ */ jsx11("div", {
|
|
874
874
|
className: "border-border flex flex-1 items-center justify-center rounded-2xl border border-dashed",
|
|
875
|
-
children: /* @__PURE__ */
|
|
875
|
+
children: /* @__PURE__ */ jsx11("p", {
|
|
876
876
|
className: "text-muted-foreground text-sm",
|
|
877
877
|
children: "Select a recipe to view details."
|
|
878
|
-
}
|
|
879
|
-
}
|
|
878
|
+
})
|
|
879
|
+
});
|
|
880
880
|
}
|
|
881
|
-
return /* @__PURE__ */
|
|
881
|
+
return /* @__PURE__ */ jsxs10("article", {
|
|
882
882
|
className: "border-border bg-card space-y-4 rounded-2xl border p-6",
|
|
883
883
|
children: [
|
|
884
|
-
/* @__PURE__ */
|
|
884
|
+
/* @__PURE__ */ jsxs10("header", {
|
|
885
885
|
className: "flex flex-wrap items-center gap-3",
|
|
886
886
|
children: [
|
|
887
|
-
/* @__PURE__ */
|
|
887
|
+
/* @__PURE__ */ jsx11(BookOpen, {
|
|
888
888
|
className: "text-muted-foreground h-5 w-5"
|
|
889
|
-
}
|
|
890
|
-
/* @__PURE__ */
|
|
889
|
+
}),
|
|
890
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
891
891
|
children: [
|
|
892
|
-
/* @__PURE__ */
|
|
892
|
+
/* @__PURE__ */ jsx11("h2", {
|
|
893
893
|
className: "text-xl font-semibold",
|
|
894
894
|
children: recipe.name
|
|
895
|
-
}
|
|
896
|
-
/* @__PURE__ */
|
|
895
|
+
}),
|
|
896
|
+
/* @__PURE__ */ jsx11("p", {
|
|
897
897
|
className: "text-muted-foreground text-sm",
|
|
898
898
|
children: recipe.description
|
|
899
|
-
}
|
|
899
|
+
})
|
|
900
900
|
]
|
|
901
|
-
}
|
|
901
|
+
})
|
|
902
902
|
]
|
|
903
|
-
}
|
|
904
|
-
/* @__PURE__ */
|
|
903
|
+
}),
|
|
904
|
+
/* @__PURE__ */ jsxs10("section", {
|
|
905
905
|
children: [
|
|
906
|
-
/* @__PURE__ */
|
|
906
|
+
/* @__PURE__ */ jsx11("h3", {
|
|
907
907
|
className: "text-muted-foreground text-sm font-semibold tracking-wide uppercase",
|
|
908
908
|
children: "Ingredients"
|
|
909
|
-
}
|
|
910
|
-
/* @__PURE__ */
|
|
909
|
+
}),
|
|
910
|
+
/* @__PURE__ */ jsx11("ul", {
|
|
911
911
|
className: "text-foreground mt-2 list-disc space-y-1 pl-6 text-sm",
|
|
912
|
-
children: recipe.ingredients.map((ingredient) => /* @__PURE__ */
|
|
912
|
+
children: recipe.ingredients.map((ingredient) => /* @__PURE__ */ jsxs10("li", {
|
|
913
913
|
children: [
|
|
914
914
|
ingredient.name,
|
|
915
915
|
" – ",
|
|
916
916
|
ingredient.quantity
|
|
917
917
|
]
|
|
918
|
-
}, ingredient.id
|
|
919
|
-
}
|
|
918
|
+
}, ingredient.id))
|
|
919
|
+
})
|
|
920
920
|
]
|
|
921
|
-
}
|
|
922
|
-
/* @__PURE__ */
|
|
921
|
+
}),
|
|
922
|
+
/* @__PURE__ */ jsxs10("section", {
|
|
923
923
|
children: [
|
|
924
|
-
/* @__PURE__ */
|
|
924
|
+
/* @__PURE__ */ jsx11("h3", {
|
|
925
925
|
className: "text-muted-foreground text-sm font-semibold tracking-wide uppercase",
|
|
926
926
|
children: "Instructions"
|
|
927
|
-
}
|
|
928
|
-
/* @__PURE__ */
|
|
927
|
+
}),
|
|
928
|
+
/* @__PURE__ */ jsx11("ol", {
|
|
929
929
|
className: "text-foreground mt-2 list-decimal space-y-2 pl-6 text-sm",
|
|
930
|
-
children: recipe.instructions.map((instruction) => /* @__PURE__ */
|
|
930
|
+
children: recipe.instructions.map((instruction) => /* @__PURE__ */ jsx11("li", {
|
|
931
931
|
children: instruction.content
|
|
932
|
-
}, instruction.id
|
|
933
|
-
}
|
|
932
|
+
}, instruction.id))
|
|
933
|
+
})
|
|
934
934
|
]
|
|
935
|
-
}
|
|
935
|
+
})
|
|
936
936
|
]
|
|
937
|
-
}
|
|
937
|
+
});
|
|
938
938
|
}
|
|
939
939
|
|
|
940
940
|
// src/components/templates/recipes/RecipeList.tsx
|
|
@@ -945,7 +945,7 @@ import {
|
|
|
945
945
|
registerTemplateComponents as registerTemplateComponents3,
|
|
946
946
|
useTemplateRuntime as useTemplateRuntime6
|
|
947
947
|
} from "@contractspec/lib.example-shared-ui";
|
|
948
|
-
import {
|
|
948
|
+
import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
949
949
|
"use client";
|
|
950
950
|
var RECIPES_QUERY = gql6`
|
|
951
951
|
query Recipes($projectId: ID!, $locale: RecipeLocale!) {
|
|
@@ -1009,41 +1009,41 @@ function RecipeList() {
|
|
|
1009
1009
|
}
|
|
1010
1010
|
});
|
|
1011
1011
|
};
|
|
1012
|
-
return /* @__PURE__ */
|
|
1012
|
+
return /* @__PURE__ */ jsxs11("div", {
|
|
1013
1013
|
className: "space-y-4",
|
|
1014
1014
|
children: [
|
|
1015
|
-
/* @__PURE__ */
|
|
1015
|
+
/* @__PURE__ */ jsxs11("div", {
|
|
1016
1016
|
className: "flex flex-wrap items-center gap-3",
|
|
1017
1017
|
children: [
|
|
1018
|
-
/* @__PURE__ */
|
|
1018
|
+
/* @__PURE__ */ jsx12(LanguageSwitcher, {
|
|
1019
1019
|
locale,
|
|
1020
1020
|
onChange: setLocale
|
|
1021
|
-
}
|
|
1022
|
-
/* @__PURE__ */
|
|
1021
|
+
}),
|
|
1022
|
+
/* @__PURE__ */ jsx12("input", {
|
|
1023
1023
|
type: "search",
|
|
1024
1024
|
placeholder: locale === "EN" ? "Search recipes" : "Rechercher des recettes",
|
|
1025
1025
|
className: "border-border bg-card flex-1 rounded-full border px-4 py-2 text-sm",
|
|
1026
1026
|
value: search,
|
|
1027
1027
|
onChange: (event) => setSearch(event.target.value)
|
|
1028
|
-
}
|
|
1028
|
+
})
|
|
1029
1029
|
]
|
|
1030
|
-
}
|
|
1031
|
-
loading ? /* @__PURE__ */
|
|
1030
|
+
}),
|
|
1031
|
+
loading ? /* @__PURE__ */ jsx12("p", {
|
|
1032
1032
|
className: "text-muted-foreground text-sm",
|
|
1033
1033
|
children: "Loading recipes…"
|
|
1034
|
-
}
|
|
1034
|
+
}) : /* @__PURE__ */ jsx12("div", {
|
|
1035
1035
|
className: "grid gap-4 md:grid-cols-3",
|
|
1036
|
-
children: filtered.map((recipe) => /* @__PURE__ */
|
|
1036
|
+
children: filtered.map((recipe) => /* @__PURE__ */ jsx12(RecipeCard, {
|
|
1037
1037
|
recipe,
|
|
1038
1038
|
onSelect: setSelected,
|
|
1039
1039
|
onToggleFavorite: handleToggleFavorite
|
|
1040
|
-
}, recipe.id
|
|
1041
|
-
}
|
|
1042
|
-
/* @__PURE__ */
|
|
1040
|
+
}, recipe.id))
|
|
1041
|
+
}),
|
|
1042
|
+
/* @__PURE__ */ jsx12(RecipeDetail, {
|
|
1043
1043
|
recipe: selected
|
|
1044
|
-
}
|
|
1044
|
+
})
|
|
1045
1045
|
]
|
|
1046
|
-
}
|
|
1046
|
+
});
|
|
1047
1047
|
}
|
|
1048
1048
|
registerTemplateComponents3("recipe-app-i18n", {
|
|
1049
1049
|
list: RecipeList,
|