@contractspec/bundle.library 3.9.0 → 3.9.3
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 +612 -608
- package/CHANGELOG.md +89 -0
- package/README.md +2 -1
- package/dist/__tests__/mocks/prisma.d.ts +5 -5
- package/dist/application/context-storage/index.js +1 -1
- package/dist/application/index.js +6 -6
- package/dist/application/mcp/cliMcp.js +2 -2
- package/dist/application/mcp/cliMcp.onboarding.js +1 -1
- package/dist/application/mcp/common.js +1 -1
- package/dist/application/mcp/contractsMcp.js +2 -2
- package/dist/application/mcp/contractsMcpAdoptionTools.js +1 -1
- package/dist/application/mcp/contractsMcpResources.js +2 -2
- package/dist/application/mcp/contractsMcpTools.js +1 -1
- package/dist/application/mcp/docsMcp.catalog.js +2 -2
- package/dist/application/mcp/docsMcp.data.js +1 -1
- package/dist/application/mcp/docsMcp.js +3 -3
- package/dist/application/mcp/docsMcp.prompts.js +3 -3
- package/dist/application/mcp/docsMcp.reference.js +2 -2
- package/dist/application/mcp/docsMcp.resources.js +2 -2
- package/dist/application/mcp/docsMcp.tools.js +2 -2
- package/dist/application/mcp/index.js +6 -6
- package/dist/application/mcp/internalMcp.js +2 -2
- package/dist/application/mcp/normalizeMcpRequest.js +1 -1
- package/dist/application/mcp/providerRankingMcp.js +1 -1
- package/dist/bundles/LibraryBundle.d.ts +19 -111
- package/dist/bundles/LibraryBundle.js +1 -1
- package/dist/bundles/index.js +1 -1
- package/dist/components/docs/DocsIndexPage.js +2 -2
- package/dist/components/docs/advanced/AdvancedMCPPage.js +3 -3
- package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
- package/dist/components/docs/advanced/AdvancedRenderersPage.js +2 -2
- package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
- package/dist/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
- package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
- package/dist/components/docs/advanced/index.js +9 -9
- package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
- package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
- package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
- package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
- package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
- package/dist/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
- package/dist/components/docs/architecture/index.js +20 -20
- package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonOverviewPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonWindmillPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
- package/dist/components/docs/comparison/index.js +1 -1
- package/dist/components/docs/docsManifest.js +1 -1
- package/dist/components/docs/ecosystem/IntegrationsPage.js +2 -2
- package/dist/components/docs/ecosystem/PluginsPage.js +4 -4
- package/dist/components/docs/ecosystem/RegistryPage.js +4 -4
- package/dist/components/docs/ecosystem/TemplatesPage.js +3 -3
- package/dist/components/docs/ecosystem/index.js +11 -11
- package/dist/components/docs/examples/DocsExamplesPage.js +1 -1
- package/dist/components/docs/examples/ExampleShowcasePage.js +2 -2
- package/dist/components/docs/examples/exampleShowcaseData.js +2 -2
- package/dist/components/docs/examples/index.js +2 -2
- package/dist/components/docs/generated/docs-index.generated.js +1 -1
- package/dist/components/docs/generated/index.d.ts +7 -1
- package/dist/components/docs/generated/index.js +1 -1
- package/dist/components/docs/generated/loader.js +1 -1
- package/dist/components/docs/getting-started/CLIPage.js +4 -4
- package/dist/components/docs/getting-started/CompatibilityPage.js +1 -1
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +4 -4
- package/dist/components/docs/getting-started/DeveloperToolsPage.js +1 -1
- package/dist/components/docs/getting-started/HelloWorldPage.js +5 -5
- package/dist/components/docs/getting-started/InstallationPage.js +3 -3
- package/dist/components/docs/getting-started/StartHerePage.js +3 -3
- package/dist/components/docs/getting-started/TroubleshootingPage.js +2 -2
- package/dist/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
- package/dist/components/docs/getting-started/getting-started.docblocks.js +2 -2
- package/dist/components/docs/getting-started/index.js +17 -17
- package/dist/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
- package/dist/components/docs/guides/GuideConnectInRepoPage.js +6 -6
- package/dist/components/docs/guides/GuideContractTypesPage.js +6 -6
- package/dist/components/docs/guides/GuideDocsPipelinePage.js +3 -3
- package/dist/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
- package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
- package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.js +7 -7
- package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
- package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
- package/dist/components/docs/guides/GuideReleaseCapsulesPage.js +3 -3
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
- package/dist/components/docs/guides/GuidesIndexPage.js +2 -2
- package/dist/components/docs/guides/index.js +43 -43
- package/dist/components/docs/index.js +375 -255
- package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsGithubPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsGmailPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsMistralPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
- package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsPowensPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
- package/dist/components/docs/integrations/IntegrationsResendPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsS3Page.js +4 -4
- package/dist/components/docs/integrations/IntegrationsSlackPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsStripePage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
- package/dist/components/docs/integrations/index.js +39 -39
- package/dist/components/docs/intent/ContractFirstApiPage.js +2 -2
- package/dist/components/docs/intent/DeterministicCodegenPage.js +2 -2
- package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
- package/dist/components/docs/intent/OpenapiAlternativePage.js +3 -3
- package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
- package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
- package/dist/components/docs/intent/index.js +15 -15
- package/dist/components/docs/intent/intent-pages.docblocks.js +1 -1
- package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
- package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
- package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
- package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
- package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
- package/dist/components/docs/knowledge/index.js +5 -5
- package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
- package/dist/components/docs/libraries/LibrariesContentGenPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesContractsPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.d.ts +67 -0
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +86 -0
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.d.ts +1 -0
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.js +86 -0
- package/dist/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +38 -2
- package/dist/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
- package/dist/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesGrowthPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
- package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -1
- package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
- package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesResiliencePage.js +4 -4
- package/dist/components/docs/libraries/LibrariesRuntimePage.js +2 -2
- package/dist/components/docs/libraries/LibrariesSLOPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesSchemaPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesTestingPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesUIKitPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesUIKitWebPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
- package/dist/components/docs/libraries/index.d.ts +1 -0
- package/dist/components/docs/libraries/index.js +173 -53
- package/dist/components/docs/manifesto/ManifestoPage.js +1 -1
- package/dist/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
- package/dist/components/docs/ops/DistributedTracingOpsPage.js +2 -2
- package/dist/components/docs/ops/index.js +3 -3
- package/dist/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-top.docs.js +2 -2
- package/dist/components/docs/ops/ops.docs.js +6 -6
- package/dist/components/docs/product/product.docblocks.js +2 -2
- package/dist/components/docs/reference/DocsMarkdownContent.js +2 -2
- package/dist/components/docs/reference/DocsReferenceContent.js +3 -3
- package/dist/components/docs/reference/DocsReferenceIndexClient.js +2 -2
- package/dist/components/docs/reference/DocsReferenceIndexPage.js +2 -2
- package/dist/components/docs/reference/DocsReferencePage.js +3 -3
- package/dist/components/docs/reference/docsMarkdownParser.js +2 -2
- package/dist/components/docs/reference/index.js +4 -4
- package/dist/components/docs/safety/SafetyAuditingPage.js +2 -2
- package/dist/components/docs/safety/SafetyMigrationsPage.js +2 -2
- package/dist/components/docs/safety/SafetyOverviewPage.js +1 -1
- package/dist/components/docs/safety/SafetyPDPPage.js +2 -2
- package/dist/components/docs/safety/SafetySecurityTrustPage.js +1 -1
- package/dist/components/docs/safety/SafetySigningPage.js +3 -3
- package/dist/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
- package/dist/components/docs/safety/index.js +7 -7
- package/dist/components/docs/shared/StudioPrompt.js +1 -1
- package/dist/components/docs/specs/SpecsBuilderControlPlanePage.js +4 -4
- package/dist/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
- package/dist/components/docs/specs/SpecsConnectPage.js +2 -2
- package/dist/components/docs/specs/SpecsDataViewsPage.js +2 -2
- package/dist/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
- package/dist/components/docs/specs/SpecsOverlaysPage.js +2 -2
- package/dist/components/docs/specs/SpecsOverviewPage.js +1 -1
- package/dist/components/docs/specs/SpecsPolicyPage.js +3 -3
- package/dist/components/docs/specs/SpecsWorkflowsPage.js +2 -2
- package/dist/components/docs/specs/index.js +13 -13
- package/dist/components/docs/studio/StudioBYOKPage.js +1 -1
- package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -1
- package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -1
- package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -1
- package/dist/components/docs/studio/StudioOverviewPage.js +1 -1
- package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -1
- package/dist/components/docs/studio/index.js +1 -1
- package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
- package/dist/components/integrations/index.js +2 -2
- package/dist/components/integrations/molecules/IntegrationCard.js +1 -1
- package/dist/components/integrations/organisms/IntegrationMarketplace.js +1 -1
- package/dist/components/integrations/organisms/IntegrationSettings.js +2 -2
- package/dist/components/integrations/organisms/KnowledgeSourceList.js +1 -1
- package/dist/components/legal/PrivacyTemplate.js +1 -1
- package/dist/components/legal/TermsTemplate.js +1 -1
- package/dist/components/legal/index.js +1 -1
- package/dist/components/shared/FeatureGateNotice.js +1 -1
- package/dist/components/shared/index.js +1 -1
- package/dist/components/shell/WorkspaceHeader.js +1 -1
- package/dist/components/shell/WorkspaceProjectShellLayout.js +1 -1
- package/dist/components/shell/WorkspaceShellRenderer.js +1 -1
- package/dist/components/shell/WorkspaceSidebar.js +1 -1
- package/dist/components/shell/index.js +1 -1
- package/dist/components/templates/engine/index.js +1 -1
- package/dist/components/templates/index.js +11 -11
- package/dist/components/templates/messaging/ConversationList.js +2 -2
- package/dist/components/templates/messaging/MessageComposer.js +4 -4
- package/dist/components/templates/messaging/MessageThread.js +3 -3
- package/dist/components/templates/messaging/MessagingWorkspace.js +5 -5
- package/dist/components/templates/messaging/index.js +5 -5
- package/dist/components/templates/recipes/LanguageSwitcher.js +1 -1
- package/dist/components/templates/recipes/RecipeCard.js +1 -1
- package/dist/components/templates/recipes/RecipeDetail.js +1 -1
- package/dist/components/templates/recipes/RecipeList.js +3 -3
- package/dist/components/templates/recipes/index.js +3 -3
- package/dist/components/templates/todos/FilterBar.js +1 -1
- package/dist/components/templates/todos/TaskForm.js +2 -2
- package/dist/components/templates/todos/TaskItem.js +1 -1
- package/dist/components/templates/todos/TaskList.js +5 -5
- package/dist/components/templates/todos/index.js +5 -5
- package/dist/config/contractspec-blueprint.js +1 -1
- package/dist/config/contractspec-branding.js +1 -1
- package/dist/config/contractspec-routes.js +1 -1
- package/dist/config/index.js +1 -1
- package/dist/features/contracts-registry.js +1 -1
- package/dist/features/docs/docs.contracts.js +1 -1
- package/dist/features/docs/index.js +1 -1
- package/dist/features/docs.feature.js +1 -1
- package/dist/features/index.js +1 -1
- package/dist/features/mcp.feature.js +1 -1
- package/dist/features/presentations.feature.js +1 -1
- package/dist/features/registry.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +382 -262
- package/dist/infrastructure/elysia/index.js +1 -1
- package/dist/infrastructure/elysia/logger.js +1 -1
- package/dist/infrastructure/index.js +1 -1
- package/dist/libs/email/client.js +1 -1
- package/dist/libs/email/contact.js +3 -3
- package/dist/libs/email/newsletter.js +3 -3
- package/dist/libs/email/utils.js +2 -2
- package/dist/libs/email/waitlist-application.js +3 -3
- package/dist/libs/email/waitlist.js +3 -3
- package/dist/libs/email.js +6 -6
- package/dist/libs/posthog/client.js +1 -1
- package/dist/libs/posthog/native.js +1 -1
- package/dist/libs/posthog/server.js +1 -1
- package/dist/libs/pricing-examples.js +1 -1
- package/dist/node/application/context-storage/index.js +1 -1
- package/dist/node/application/index.js +6 -6
- package/dist/node/application/mcp/cliMcp.js +2 -2
- package/dist/node/application/mcp/cliMcp.onboarding.js +1 -1
- package/dist/node/application/mcp/common.js +1 -1
- package/dist/node/application/mcp/contractsMcp.js +2 -2
- package/dist/node/application/mcp/contractsMcpAdoptionTools.js +1 -1
- package/dist/node/application/mcp/contractsMcpResources.js +2 -2
- package/dist/node/application/mcp/contractsMcpTools.js +1 -1
- package/dist/node/application/mcp/docsMcp.catalog.js +2 -2
- package/dist/node/application/mcp/docsMcp.data.js +1 -1
- package/dist/node/application/mcp/docsMcp.js +3 -3
- package/dist/node/application/mcp/docsMcp.prompts.js +3 -3
- package/dist/node/application/mcp/docsMcp.reference.js +2 -2
- package/dist/node/application/mcp/docsMcp.resources.js +2 -2
- package/dist/node/application/mcp/docsMcp.tools.js +2 -2
- package/dist/node/application/mcp/index.js +6 -6
- package/dist/node/application/mcp/internalMcp.js +2 -2
- package/dist/node/application/mcp/normalizeMcpRequest.js +1 -1
- package/dist/node/application/mcp/providerRankingMcp.js +1 -1
- package/dist/node/bundles/LibraryBundle.js +1 -1
- package/dist/node/bundles/index.js +1 -1
- package/dist/node/components/docs/DocsIndexPage.js +2 -2
- package/dist/node/components/docs/advanced/AdvancedMCPPage.js +3 -3
- package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
- package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +2 -2
- package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
- package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
- package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
- package/dist/node/components/docs/advanced/index.js +9 -9
- package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
- package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
- package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
- package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
- package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
- package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
- package/dist/node/components/docs/architecture/index.js +20 -20
- package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
- package/dist/node/components/docs/comparison/index.js +1 -1
- package/dist/node/components/docs/docsManifest.js +1 -1
- package/dist/node/components/docs/ecosystem/IntegrationsPage.js +2 -2
- package/dist/node/components/docs/ecosystem/PluginsPage.js +4 -4
- package/dist/node/components/docs/ecosystem/RegistryPage.js +4 -4
- package/dist/node/components/docs/ecosystem/TemplatesPage.js +3 -3
- package/dist/node/components/docs/ecosystem/index.js +11 -11
- package/dist/node/components/docs/examples/DocsExamplesPage.js +1 -1
- package/dist/node/components/docs/examples/ExampleShowcasePage.js +2 -2
- package/dist/node/components/docs/examples/exampleShowcaseData.js +2 -2
- package/dist/node/components/docs/examples/index.js +2 -2
- package/dist/node/components/docs/generated/docs-index.generated.js +1 -1
- package/dist/node/components/docs/generated/index.js +1 -1
- package/dist/node/components/docs/generated/loader.js +1 -1
- package/dist/node/components/docs/getting-started/CLIPage.js +4 -4
- package/dist/node/components/docs/getting-started/CompatibilityPage.js +1 -1
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +4 -4
- package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +1 -1
- package/dist/node/components/docs/getting-started/HelloWorldPage.js +5 -5
- package/dist/node/components/docs/getting-started/InstallationPage.js +3 -3
- package/dist/node/components/docs/getting-started/StartHerePage.js +3 -3
- package/dist/node/components/docs/getting-started/TroubleshootingPage.js +2 -2
- package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
- package/dist/node/components/docs/getting-started/getting-started.docblocks.js +2 -2
- package/dist/node/components/docs/getting-started/index.js +17 -17
- package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
- package/dist/node/components/docs/guides/GuideConnectInRepoPage.js +6 -6
- package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -6
- package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +3 -3
- package/dist/node/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
- package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
- package/dist/node/components/docs/guides/GuideHostBuilderWorkbenchPage.js +7 -7
- package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
- package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
- package/dist/node/components/docs/guides/GuideReleaseCapsulesPage.js +3 -3
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
- package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -2
- package/dist/node/components/docs/guides/index.js +43 -43
- package/dist/node/components/docs/index.js +375 -255
- package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
- package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
- package/dist/node/components/docs/integrations/IntegrationsResendPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsS3Page.js +4 -4
- package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsStripePage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
- package/dist/node/components/docs/integrations/index.js +39 -39
- package/dist/node/components/docs/intent/ContractFirstApiPage.js +2 -2
- package/dist/node/components/docs/intent/DeterministicCodegenPage.js +2 -2
- package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
- package/dist/node/components/docs/intent/OpenapiAlternativePage.js +3 -3
- package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
- package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
- package/dist/node/components/docs/intent/index.js +15 -15
- package/dist/node/components/docs/intent/intent-pages.docblocks.js +1 -1
- package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
- package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
- package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
- package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
- package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
- package/dist/node/components/docs/knowledge/index.js +5 -5
- package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesContractsPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +85 -0
- package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.js +85 -0
- package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +38 -2
- package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
- package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -1
- package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesSLOPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesTestingPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesUIKitWebPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
- package/dist/node/components/docs/libraries/index.js +173 -53
- package/dist/node/components/docs/manifesto/ManifestoPage.js +1 -1
- package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
- package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +2 -2
- package/dist/node/components/docs/ops/index.js +3 -3
- package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-top.docs.js +2 -2
- package/dist/node/components/docs/ops/ops.docs.js +6 -6
- package/dist/node/components/docs/product/product.docblocks.js +2 -2
- package/dist/node/components/docs/reference/DocsMarkdownContent.js +2 -2
- package/dist/node/components/docs/reference/DocsReferenceContent.js +3 -3
- package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +2 -2
- package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +2 -2
- package/dist/node/components/docs/reference/DocsReferencePage.js +3 -3
- package/dist/node/components/docs/reference/docsMarkdownParser.js +2 -2
- package/dist/node/components/docs/reference/index.js +4 -4
- package/dist/node/components/docs/safety/SafetyAuditingPage.js +2 -2
- package/dist/node/components/docs/safety/SafetyMigrationsPage.js +2 -2
- package/dist/node/components/docs/safety/SafetyOverviewPage.js +1 -1
- package/dist/node/components/docs/safety/SafetyPDPPage.js +2 -2
- package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +1 -1
- package/dist/node/components/docs/safety/SafetySigningPage.js +3 -3
- package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
- package/dist/node/components/docs/safety/index.js +7 -7
- package/dist/node/components/docs/shared/StudioPrompt.js +1 -1
- package/dist/node/components/docs/specs/SpecsBuilderControlPlanePage.js +4 -4
- package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsConnectPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
- package/dist/node/components/docs/specs/SpecsOverlaysPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsOverviewPage.js +1 -1
- package/dist/node/components/docs/specs/SpecsPolicyPage.js +3 -3
- package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +2 -2
- package/dist/node/components/docs/specs/index.js +13 -13
- package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -1
- package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -1
- package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -1
- package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -1
- package/dist/node/components/docs/studio/StudioOverviewPage.js +1 -1
- package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -1
- package/dist/node/components/docs/studio/index.js +1 -1
- package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
- package/dist/node/components/integrations/index.js +2 -2
- package/dist/node/components/integrations/molecules/IntegrationCard.js +1 -1
- package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +1 -1
- package/dist/node/components/integrations/organisms/IntegrationSettings.js +2 -2
- package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +1 -1
- package/dist/node/components/legal/PrivacyTemplate.js +1 -1
- package/dist/node/components/legal/TermsTemplate.js +1 -1
- package/dist/node/components/legal/index.js +1 -1
- package/dist/node/components/shared/FeatureGateNotice.js +1 -1
- package/dist/node/components/shared/index.js +1 -1
- package/dist/node/components/shell/WorkspaceHeader.js +1 -1
- package/dist/node/components/shell/WorkspaceProjectShellLayout.js +1 -1
- package/dist/node/components/shell/WorkspaceShellRenderer.js +1 -1
- package/dist/node/components/shell/WorkspaceSidebar.js +1 -1
- package/dist/node/components/shell/index.js +1 -1
- package/dist/node/components/templates/engine/index.js +1 -1
- package/dist/node/components/templates/index.js +11 -11
- package/dist/node/components/templates/messaging/ConversationList.js +2 -2
- package/dist/node/components/templates/messaging/MessageComposer.js +4 -4
- package/dist/node/components/templates/messaging/MessageThread.js +3 -3
- package/dist/node/components/templates/messaging/MessagingWorkspace.js +5 -5
- package/dist/node/components/templates/messaging/index.js +5 -5
- package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -1
- package/dist/node/components/templates/recipes/RecipeCard.js +1 -1
- package/dist/node/components/templates/recipes/RecipeDetail.js +1 -1
- package/dist/node/components/templates/recipes/RecipeList.js +3 -3
- package/dist/node/components/templates/recipes/index.js +3 -3
- package/dist/node/components/templates/todos/FilterBar.js +1 -1
- package/dist/node/components/templates/todos/TaskForm.js +2 -2
- package/dist/node/components/templates/todos/TaskItem.js +1 -1
- package/dist/node/components/templates/todos/TaskList.js +5 -5
- package/dist/node/components/templates/todos/index.js +5 -5
- package/dist/node/config/contractspec-blueprint.js +1 -1
- package/dist/node/config/contractspec-branding.js +1 -1
- package/dist/node/config/contractspec-routes.js +1 -1
- package/dist/node/config/index.js +1 -1
- package/dist/node/features/contracts-registry.js +1 -1
- package/dist/node/features/docs/docs.contracts.js +1 -1
- package/dist/node/features/docs/index.js +1 -1
- package/dist/node/features/docs.feature.js +1 -1
- package/dist/node/features/index.js +1 -1
- package/dist/node/features/mcp.feature.js +1 -1
- package/dist/node/features/presentations.feature.js +1 -1
- package/dist/node/features/registry.js +1 -1
- package/dist/node/index.js +382 -262
- package/dist/node/infrastructure/elysia/index.js +1 -1
- package/dist/node/infrastructure/elysia/logger.js +1 -1
- package/dist/node/infrastructure/index.js +1 -1
- package/dist/node/libs/email/client.js +1 -1
- package/dist/node/libs/email/contact.js +3 -3
- package/dist/node/libs/email/newsletter.js +3 -3
- package/dist/node/libs/email/utils.js +2 -2
- package/dist/node/libs/email/waitlist-application.js +3 -3
- package/dist/node/libs/email/waitlist.js +3 -3
- package/dist/node/libs/email.js +6 -6
- package/dist/node/libs/posthog/client.js +1 -1
- package/dist/node/libs/posthog/native.js +1 -1
- package/dist/node/libs/posthog/server.js +1 -1
- package/dist/node/libs/pricing-examples.js +1 -1
- package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
- package/dist/node/presentation/features/atoms/FeatureIcon/index.js +1 -1
- package/dist/node/presentation/features/atoms/index.js +1 -1
- package/dist/node/presentation/features/hooks/index.js +1 -1
- package/dist/node/presentation/features/hooks/useContractsRegistry.js +1 -1
- package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -1
- package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -1
- package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -1
- package/dist/node/presentation/features/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCard/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
- package/dist/node/presentation/features/molecules/index.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDetail/index.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureEventsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureFormsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureOperationsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +1 -1
- package/dist/node/presentation/features/organisms/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
- package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
- package/dist/presentation/features/atoms/FeatureIcon/index.js +1 -1
- package/dist/presentation/features/atoms/index.js +1 -1
- package/dist/presentation/features/hooks/index.js +1 -1
- package/dist/presentation/features/hooks/useContractsRegistry.js +1 -1
- package/dist/presentation/features/hooks/useFeatureFilters.js +1 -1
- package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -1
- package/dist/presentation/features/hooks/useRelatedDocs.js +1 -1
- package/dist/presentation/features/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
- package/dist/presentation/features/molecules/FeatureCard/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
- package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
- package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
- package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
- package/dist/presentation/features/molecules/index.js +1 -1
- package/dist/presentation/features/organisms/FeatureDataViewsList.js +1 -1
- package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
- package/dist/presentation/features/organisms/FeatureDetail/index.js +1 -1
- package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
- package/dist/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
- package/dist/presentation/features/organisms/FeatureEventsList.js +1 -1
- package/dist/presentation/features/organisms/FeatureFormsList.js +1 -1
- package/dist/presentation/features/organisms/FeatureOperationsList.js +1 -1
- package/dist/presentation/features/organisms/FeaturePresentationsList.js +1 -1
- package/dist/presentation/features/organisms/index.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
- package/package.json +49 -24
- package/src/application/mcp/internalMcp.ts +1 -1
- package/src/bundles/LibraryBundle.ts +19 -130
- package/src/components/docs/docsManifest.test.ts +14 -0
- package/src/components/docs/docsManifest.ts +10 -0
- package/src/components/docs/examples/DocsExamplesPage.tsx +3 -3
- package/src/components/docs/examples/ExampleShowcasePage.tsx +1 -1
- package/src/components/docs/examples/exampleShowcaseData.test.ts +5 -3
- package/src/components/docs/examples/exampleShowcaseData.ts +3 -3
- package/src/components/docs/generated/docs-index._common.json +1699 -2008
- package/src/components/docs/generated/docs-index.agent-console.json +377 -377
- package/src/components/docs/generated/docs-index.ai-chat-assistant.json +17 -17
- package/src/components/docs/generated/docs-index.ai-chat.json +105 -105
- package/src/components/docs/generated/docs-index.ai-support-bot.json +9 -9
- package/src/components/docs/generated/docs-index.analytics-dashboard.json +169 -169
- package/src/components/docs/generated/docs-index.app-config.json +137 -137
- package/src/components/docs/generated/docs-index.artisan-knowledge-product.json +17 -17
- package/src/components/docs/generated/docs-index.artisan-payments-stripe.json +33 -33
- package/src/components/docs/generated/docs-index.audit-trail.json +49 -49
- package/src/components/docs/generated/docs-index.calendar-google.json +9 -9
- package/src/components/docs/generated/docs-index.content-generation.json +9 -9
- package/src/components/docs/generated/docs-index.control-plane.json +17 -17
- package/src/components/docs/generated/docs-index.crm-pipeline.json +161 -161
- package/src/components/docs/generated/docs-index.data-grid-showcase.json +25 -25
- package/src/components/docs/generated/docs-index.defineExample.json +9 -9
- package/src/components/docs/generated/docs-index.email-gmail.json +9 -9
- package/src/components/docs/generated/docs-index.feature-flags.json +217 -217
- package/src/components/docs/generated/docs-index.files.json +177 -177
- package/src/components/docs/generated/docs-index.generated.ts +20 -20
- package/src/components/docs/generated/docs-index.harness-lab.json +9 -9
- package/src/components/docs/generated/docs-index.health.json +97 -97
- package/src/components/docs/generated/docs-index.identity-rbac.json +313 -313
- package/src/components/docs/generated/docs-index.in-app-docs.json +9 -9
- package/src/components/docs/generated/docs-index.integration-hub.json +265 -265
- package/src/components/docs/generated/docs-index.integration-posthog.json +9 -9
- package/src/components/docs/generated/docs-index.integration-stripe.json +9 -9
- package/src/components/docs/generated/docs-index.integration-supabase.json +9 -9
- package/src/components/docs/generated/docs-index.jobs.json +137 -137
- package/src/components/docs/generated/docs-index.kb-update-pipeline.json +129 -129
- package/src/components/docs/generated/docs-index.knowledge-canon.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ambient-coach.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +49 -49
- package/src/components/docs/generated/docs-index.learning-journey-duo-drills.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +49 -49
- package/src/components/docs/generated/docs-index.learning-journey-quest-challenges.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-registry.json +33 -33
- package/src/components/docs/generated/docs-index.learning-journey-studio-onboarding.json +49 -49
- package/src/components/docs/generated/docs-index.learning-journey-ui-coaching.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ui-gamified.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ui-onboarding.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ui-shared.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey.json +241 -241
- package/src/components/docs/generated/docs-index.learning-patterns.json +9 -9
- package/src/components/docs/generated/docs-index.lifecycle-cli.json +9 -9
- package/src/components/docs/generated/docs-index.lifecycle-dashboard.json +9 -9
- package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +65 -65
- package/src/components/docs/generated/docs-index.manifest.json +432 -432
- package/src/components/docs/generated/docs-index.marketplace.json +337 -337
- package/src/components/docs/generated/docs-index.meeting-recorder-providers.json +9 -9
- package/src/components/docs/generated/docs-index.meeting-recorder.json +49 -49
- package/src/components/docs/generated/docs-index.messaging-agent-actions.json +17 -17
- package/src/components/docs/generated/docs-index.metrics.json +201 -201
- package/src/components/docs/generated/docs-index.minimal.json +17 -17
- package/src/components/docs/generated/docs-index.mobile-demo-landing.json +42 -0
- package/src/components/docs/generated/docs-index.notifications.json +65 -65
- package/src/components/docs/generated/docs-index.openbanking-powens.json +9 -9
- package/src/components/docs/generated/docs-index.openbanking.json +65 -65
- package/src/components/docs/generated/docs-index.opencode-cli.json +17 -17
- package/src/components/docs/generated/docs-index.personalization.json +9 -9
- package/src/components/docs/generated/docs-index.platform-acp.json +137 -137
- package/src/components/docs/generated/docs-index.platform-agent.json +201 -201
- package/src/components/docs/generated/docs-index.platform-context.json +121 -121
- package/src/components/docs/generated/docs-index.platform-control-plane.json +321 -321
- package/src/components/docs/generated/docs-index.platform-database.json +89 -89
- package/src/components/docs/generated/docs-index.platform-docs.json +161 -161
- package/src/components/docs/generated/docs-index.platform-harness.json +177 -177
- package/src/components/docs/generated/docs-index.platform-integrations.json +329 -329
- package/src/components/docs/generated/docs-index.platform-knowledge.json +57 -57
- package/src/components/docs/generated/docs-index.platform-provider-ranking.json +217 -217
- package/src/components/docs/generated/docs-index.pocket-family-office.json +129 -129
- package/src/components/docs/generated/docs-index.policy-safe-knowledge-assistant.json +9 -9
- package/src/components/docs/generated/docs-index.product-intent.json +9 -9
- package/src/components/docs/generated/docs-index.project-management-sync.json +9 -9
- package/src/components/docs/generated/docs-index.saas-boilerplate.json +209 -209
- package/src/components/docs/generated/docs-index.service-business-os.json +193 -193
- package/src/components/docs/generated/docs-index.team-hub.json +185 -185
- package/src/components/docs/generated/docs-index.unknown.json +521 -521
- package/src/components/docs/generated/docs-index.versioned-knowledge-base.json +81 -81
- package/src/components/docs/generated/docs-index.video-api-showcase.json +33 -33
- package/src/components/docs/generated/docs-index.video-docs-terminal.json +9 -9
- package/src/components/docs/generated/docs-index.video-marketing-clip.json +9 -9
- package/src/components/docs/generated/docs-index.visualization-showcase.json +17 -17
- package/src/components/docs/generated/docs-index.voice-providers.json +9 -9
- package/src/components/docs/generated/docs-index.wealth-snapshot.json +153 -153
- package/src/components/docs/generated/docs-index.workflow-system.json +433 -433
- package/src/components/docs/generated/docs-index.workspace-cli.json +9 -9
- package/src/components/docs/generated/index.ts +20 -5
- package/src/components/docs/generated/loader.ts +15 -8
- package/src/components/docs/getting-started/CompatibilityPage.tsx +14 -0
- package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.content.ts +252 -0
- package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.tsx +232 -0
- package/src/components/docs/libraries/LibrariesDesignSystemPage.tsx +79 -0
- package/src/components/docs/libraries/LibrariesOverviewPage.tsx +6 -0
- package/src/components/docs/libraries/LibrariesRuntimePage.tsx +15 -0
- package/src/components/docs/libraries/LibrariesUIKitPage.tsx +15 -0
- package/src/components/docs/libraries/LibrariesUIKitWebPage.tsx +14 -0
- package/src/components/docs/libraries/index.ts +1 -0
- package/src/components/docs/reference/DocsReferenceIndexPage.tsx +1 -1
- package/src/index.ts +1 -1
- package/src/components/docs/generated/docs-index.mobile-demo-tasks.json +0 -34
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{gql as $}from"@apollo/client";import{useMutation as
|
|
1
|
+
var D=Object.defineProperty;var U=(k)=>k;function Y(k,z){this[k]=U.bind(null,z)}var p=(k,z)=>{for(var F in z)D(k,F,{get:z[F],enumerable:!0,configurable:!0,set:Y.bind(z,F)})};var R=(k,z)=>()=>(k&&(z=k(k=0)),z);import{gql as $}from"@apollo/client";import{useMutation as h,useQuery as q}from"@apollo/client/react";import{useTemplateRuntime as G}from"@contractspec/lib.example-shared-ui";import{useEffect as X,useRef as N}from"react";import{jsx as H,jsxs as Z}from"react/jsx-runtime";var W=$`
|
|
2
2
|
query Messages($conversationId: ID!) {
|
|
3
3
|
messages(conversationId: $conversationId, limit: 50) {
|
|
4
4
|
id
|
|
@@ -9,14 +9,14 @@ import{gql as $}from"@apollo/client";import{useMutation as D,useQuery as U}from"
|
|
|
9
9
|
status
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
`,
|
|
12
|
+
`,Q=$`
|
|
13
13
|
mutation SetMessagesRead($conversationId: ID!, $userId: String!) {
|
|
14
14
|
setMessagesRead(conversationId: $conversationId, userId: $userId)
|
|
15
15
|
}
|
|
16
|
-
`;function
|
|
16
|
+
`;function u({conversationId:k,viewerId:z="local-user"}){let F=N(null),K=Boolean(k),{data:J,loading:L}=q(W,{variables:{conversationId:k},skip:!K,fetchPolicy:"cache-and-network"}),[O]=h(Q),{projectId:P}=G(),V=J?.messages??[];if(X(()=>{if(!K||!k)return;O({variables:{conversationId:k,userId:z}}).catch(()=>{})},[k,K,O,z]),X(()=>{let B=F.current;if(!B)return;B.scrollTop=B.scrollHeight},[V]),!k)return H("div",{className:"flex flex-1 items-center justify-center rounded-2xl border border-border border-dashed",children:H("p",{className:"text-muted-foreground text-sm",children:"Select a conversation"})});return H("div",{className:"flex flex-1 flex-col rounded-2xl border border-border bg-card",children:H("div",{ref:F,className:"flex-1 space-y-3 overflow-y-auto p-4",children:L?H("p",{className:"text-center text-muted-foreground text-sm",children:"Loading…"}):V.slice().reverse().map((B)=>Z("div",{className:`flex flex-col ${B.senderId===z?"items-end":"items-start"}`,children:[H("div",{className:`max-w-xs rounded-2xl px-3 py-2 text-sm ${B.senderId===z?"bg-violet-500 text-white":"bg-muted text-foreground"}`,children:H("p",{children:B.content})}),Z("span",{className:"mt-1 text-muted-foreground text-xs",children:[B.senderName||B.senderId," ·"," ",new Date(B.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})]})]},B.id))})})}import{gql as A}from"@apollo/client";import{useMutation as T}from"@apollo/client/react";import{useTemplateRuntime as _}from"@contractspec/lib.example-shared-ui";import{Send as b}from"lucide-react";import{useState as f}from"react";import{jsx as y,jsxs as C}from"react/jsx-runtime";var M=A`
|
|
17
17
|
mutation SendMessage($input: SendMessageInput!) {
|
|
18
18
|
sendMessage(input: $input) {
|
|
19
19
|
id
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
`;function
|
|
22
|
+
`;function r({conversationId:k,viewerId:z="local-user",viewerName:F="You"}){let{projectId:K}=_(),[J,L]=f(""),[O,{loading:P}]=T(M);return C("form",{onSubmit:async(B)=>{if(B.preventDefault(),!k||!J.trim())return;await O({variables:{input:{projectId:K,conversationId:k,senderId:z,senderName:F,content:J.trim()}},refetchQueries:[{query:W,variables:{conversationId:k}}]}),L("")},className:"mt-3 flex items-center gap-2 rounded-2xl border border-border bg-card px-4 py-3",children:[y("input",{type:"text",className:"flex-1 bg-transparent text-foreground text-sm outline-none",placeholder:k?"Type a message…":"Select a conversation to start",disabled:!k||P,value:J,onChange:(B)=>L(B.target.value)}),C("button",{type:"submit",className:"btn-primary inline-flex items-center gap-1 text-sm",disabled:!k||P||!J.trim(),children:[y(b,{className:"h-4 w-4"}),"Send"]})]})}export{r as MessageComposer};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{gql as O}from"@apollo/client";import{useMutation as
|
|
1
|
+
var X=Object.defineProperty;var Z=(k)=>k;function $(k,z){this[k]=Z.bind(null,z)}var q=(k,z)=>{for(var F in z)X(k,F,{get:z[F],enumerable:!0,configurable:!0,set:$.bind(z,F)})};var A=(k,z)=>()=>(k&&(z=k(k=0)),z);import{gql as O}from"@apollo/client";import{useMutation as h,useQuery as y}from"@apollo/client/react";import{useTemplateRuntime as D}from"@contractspec/lib.example-shared-ui";import{useEffect as L,useRef as G}from"react";import{jsx as C,jsxs as N}from"react/jsx-runtime";var U=O`
|
|
2
2
|
query Messages($conversationId: ID!) {
|
|
3
3
|
messages(conversationId: $conversationId, limit: 50) {
|
|
4
4
|
id
|
|
@@ -9,8 +9,8 @@ import{gql as O}from"@apollo/client";import{useMutation as X,useQuery as Z}from"
|
|
|
9
9
|
status
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
`,
|
|
12
|
+
`,Y=O`
|
|
13
13
|
mutation SetMessagesRead($conversationId: ID!, $userId: String!) {
|
|
14
14
|
setMessagesRead(conversationId: $conversationId, userId: $userId)
|
|
15
15
|
}
|
|
16
|
-
`;function
|
|
16
|
+
`;function p({conversationId:k,viewerId:z="local-user"}){let F=G(null),H=Boolean(k),{data:P,loading:V}=y(U,{variables:{conversationId:k},skip:!H,fetchPolicy:"cache-and-network"}),[J]=h(Y),{projectId:W}=D(),K=P?.messages??[];if(L(()=>{if(!H||!k)return;J({variables:{conversationId:k,userId:z}}).catch(()=>{})},[k,H,J,z]),L(()=>{let B=F.current;if(!B)return;B.scrollTop=B.scrollHeight},[K]),!k)return C("div",{className:"flex flex-1 items-center justify-center rounded-2xl border border-border border-dashed",children:C("p",{className:"text-muted-foreground text-sm",children:"Select a conversation"})});return C("div",{className:"flex flex-1 flex-col rounded-2xl border border-border bg-card",children:C("div",{ref:F,className:"flex-1 space-y-3 overflow-y-auto p-4",children:V?C("p",{className:"text-center text-muted-foreground text-sm",children:"Loading…"}):K.slice().reverse().map((B)=>N("div",{className:`flex flex-col ${B.senderId===z?"items-end":"items-start"}`,children:[C("div",{className:`max-w-xs rounded-2xl px-3 py-2 text-sm ${B.senderId===z?"bg-violet-500 text-white":"bg-muted text-foreground"}`,children:C("p",{children:B.content})}),N("span",{className:"mt-1 text-muted-foreground text-xs",children:[B.senderName||B.senderId," ·"," ",new Date(B.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})]})]},B.id))})})}export{p as MessageThread,U as MESSAGES_QUERY};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{gql as
|
|
1
|
+
var _=Object.defineProperty;var b=(z)=>z;function f(z,B){this[z]=b.bind(null,B)}var o=(z,B)=>{for(var H in B)_(z,H,{get:B[H],enumerable:!0,configurable:!0,set:f.bind(B,H)})};var t=(z,B)=>()=>(z&&(B=z(z=0)),B);import{gql as h}from"@apollo/client";import{useQuery as T}from"@apollo/client/react";import{useTemplateRuntime as C}from"@contractspec/lib.example-shared-ui";import{MessageCircle as w,Users as R}from"lucide-react";import{useMemo as E}from"react";import{jsx as Z,jsxs as W}from"react/jsx-runtime";var M=h`
|
|
2
2
|
query Conversations($projectId: ID!) {
|
|
3
3
|
conversations(projectId: $projectId) {
|
|
4
4
|
id
|
|
@@ -12,7 +12,7 @@ import{gql as _}from"@apollo/client";import{useQuery as b}from"@apollo/client/re
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
`;function G({selectedId:z,onSelect:
|
|
15
|
+
`;function G({selectedId:z,onSelect:B}){let{projectId:H}=C(),{data:P,loading:K}=T(M,{variables:{projectId:H},fetchPolicy:"cache-and-network"}),X=E(()=>P?.conversations??[],[P]);return W("aside",{className:"h-full overflow-y-auto rounded-2xl border border-border bg-card",children:[W("header",{className:"px -4 flex items-center justify-between border-border border-b px-4 py-3",children:[W("div",{children:[Z("p",{className:"font-semibold text-sm",children:"Conversations"}),Z("p",{className:"text-muted-foreground text-xs",children:K?"Loading…":`${X.length} active`})]}),Z(R,{className:"h-4 w-4 text-muted-foreground"})]}),W("div",{className:"divide-y divide-border/70",children:[X.map((J)=>{let k=z===J.id;return W("button",{type:"button",className:`flex w-full flex-col items-start gap-1 px-4 py-3 text-left transition ${k?"bg-violet-500/10 text-foreground":"hover:bg-muted/40"}`,onClick:()=>B?.(J.id),children:[W("div",{className:"flex items-center gap-2",children:[Z(w,{className:"h-4 w-4 text-muted-foreground"}),Z("span",{className:"font-medium text-sm",children:J.name||"Untitled conversation"})]}),Z("p",{className:"text-muted-foreground text-xs",children:J.participants.map((V)=>V.displayName||V.userId).join(" · ")})]},J.id)}),!K&&X.length===0?Z("p",{className:"p-4 text-center text-muted-foreground text-xs",children:"No conversations yet."}):null]})]})}import{gql as U}from"@apollo/client";import{useMutation as S,useQuery as p}from"@apollo/client/react";import{useTemplateRuntime as u}from"@contractspec/lib.example-shared-ui";import{useEffect as Y,useRef as l}from"react";import{jsx as $,jsxs as q}from"react/jsx-runtime";var y=U`
|
|
16
16
|
query Messages($conversationId: ID!) {
|
|
17
17
|
messages(conversationId: $conversationId, limit: 50) {
|
|
18
18
|
id
|
|
@@ -23,14 +23,14 @@ import{gql as _}from"@apollo/client";import{useQuery as b}from"@apollo/client/re
|
|
|
23
23
|
status
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
`,
|
|
26
|
+
`,g=U`
|
|
27
27
|
mutation SetMessagesRead($conversationId: ID!, $userId: String!) {
|
|
28
28
|
setMessagesRead(conversationId: $conversationId, userId: $userId)
|
|
29
29
|
}
|
|
30
|
-
`;function D({conversationId:z,viewerId:
|
|
30
|
+
`;function D({conversationId:z,viewerId:B="local-user"}){let H=l(null),P=Boolean(z),{data:K,loading:X}=p(y,{variables:{conversationId:z},skip:!P,fetchPolicy:"cache-and-network"}),[J]=S(g),{projectId:k}=u(),V=K?.messages??[];if(Y(()=>{if(!P||!z)return;J({variables:{conversationId:z,userId:B}}).catch(()=>{})},[z,P,J,B]),Y(()=>{let F=H.current;if(!F)return;F.scrollTop=F.scrollHeight},[V]),!z)return $("div",{className:"flex flex-1 items-center justify-center rounded-2xl border border-border border-dashed",children:$("p",{className:"text-muted-foreground text-sm",children:"Select a conversation"})});return $("div",{className:"flex flex-1 flex-col rounded-2xl border border-border bg-card",children:$("div",{ref:H,className:"flex-1 space-y-3 overflow-y-auto p-4",children:X?$("p",{className:"text-center text-muted-foreground text-sm",children:"Loading…"}):V.slice().reverse().map((F)=>q("div",{className:`flex flex-col ${F.senderId===B?"items-end":"items-start"}`,children:[$("div",{className:`max-w-xs rounded-2xl px-3 py-2 text-sm ${F.senderId===B?"bg-violet-500 text-white":"bg-muted text-foreground"}`,children:$("p",{children:F.content})}),q("span",{className:"mt-1 text-muted-foreground text-xs",children:[F.senderName||F.senderId," ·"," ",new Date(F.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})]})]},F.id))})})}import{gql as j}from"@apollo/client";import{useMutation as m}from"@apollo/client/react";import{useTemplateRuntime as x}from"@contractspec/lib.example-shared-ui";import{Send as I}from"lucide-react";import{useState as v}from"react";import{jsx as A,jsxs as N}from"react/jsx-runtime";var d=j`
|
|
31
31
|
mutation SendMessage($input: SendMessageInput!) {
|
|
32
32
|
sendMessage(input: $input) {
|
|
33
33
|
id
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
`;function L({conversationId:z,viewerId:
|
|
36
|
+
`;function L({conversationId:z,viewerId:B="local-user",viewerName:H="You"}){let{projectId:P}=x(),[K,X]=v(""),[J,{loading:k}]=m(d);return N("form",{onSubmit:async(F)=>{if(F.preventDefault(),!z||!K.trim())return;await J({variables:{input:{projectId:P,conversationId:z,senderId:B,senderName:H,content:K.trim()}},refetchQueries:[{query:y,variables:{conversationId:z}}]}),X("")},className:"mt-3 flex items-center gap-2 rounded-2xl border border-border bg-card px-4 py-3",children:[A("input",{type:"text",className:"flex-1 bg-transparent text-foreground text-sm outline-none",placeholder:z?"Type a message…":"Select a conversation to start",disabled:!z||k,value:K,onChange:(F)=>X(F.target.value)}),N("button",{type:"submit",className:"btn-primary inline-flex items-center gap-1 text-sm",disabled:!z||k||!K.trim(),children:[A(I,{className:"h-4 w-4"}),"Send"]})]})}import{registerTemplateComponents as c}from"@contractspec/lib.example-shared-ui";import{useState as i}from"react";import{jsx as O,jsxs as Q}from"react/jsx-runtime";function r(){let[z,B]=i();return Q("div",{className:"grid gap-4 md:grid-cols-[280px,1fr]",children:[O(G,{selectedId:z,onSelect:B}),Q("div",{className:"flex flex-col gap-3",children:[O(D,{conversationId:z}),O(L,{conversationId:z})]})]})}c("messaging-app",{list:r,detail:D,form:L});export{r as MessagingWorkspace};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{gql as
|
|
1
|
+
var Q=Object.defineProperty;var _=(z)=>z;function b(z,B){this[z]=_.bind(null,B)}var o=(z,B)=>{for(var H in B)Q(z,H,{get:B[H],enumerable:!0,configurable:!0,set:b.bind(B,H)})};var t=(z,B)=>()=>(z&&(B=z(z=0)),B);import{gql as h}from"@apollo/client";import{useQuery as T}from"@apollo/client/react";import{useTemplateRuntime as C}from"@contractspec/lib.example-shared-ui";import{MessageCircle as w,Users as R}from"lucide-react";import{useMemo as E}from"react";import{jsx as Z,jsxs as W}from"react/jsx-runtime";var M=h`
|
|
2
2
|
query Conversations($projectId: ID!) {
|
|
3
3
|
conversations(projectId: $projectId) {
|
|
4
4
|
id
|
|
@@ -12,7 +12,7 @@ import{gql as Q}from"@apollo/client";import{useQuery as _}from"@apollo/client/re
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
`;function f({selectedId:z,onSelect:
|
|
15
|
+
`;function f({selectedId:z,onSelect:B}){let{projectId:H}=C(),{data:P,loading:K}=T(M,{variables:{projectId:H},fetchPolicy:"cache-and-network"}),X=E(()=>P?.conversations??[],[P]);return W("aside",{className:"h-full overflow-y-auto rounded-2xl border border-border bg-card",children:[W("header",{className:"px -4 flex items-center justify-between border-border border-b px-4 py-3",children:[W("div",{children:[Z("p",{className:"font-semibold text-sm",children:"Conversations"}),Z("p",{className:"text-muted-foreground text-xs",children:K?"Loading…":`${X.length} active`})]}),Z(R,{className:"h-4 w-4 text-muted-foreground"})]}),W("div",{className:"divide-y divide-border/70",children:[X.map((J)=>{let k=z===J.id;return W("button",{type:"button",className:`flex w-full flex-col items-start gap-1 px-4 py-3 text-left transition ${k?"bg-violet-500/10 text-foreground":"hover:bg-muted/40"}`,onClick:()=>B?.(J.id),children:[W("div",{className:"flex items-center gap-2",children:[Z(w,{className:"h-4 w-4 text-muted-foreground"}),Z("span",{className:"font-medium text-sm",children:J.name||"Untitled conversation"})]}),Z("p",{className:"text-muted-foreground text-xs",children:J.participants.map((V)=>V.displayName||V.userId).join(" · ")})]},J.id)}),!K&&X.length===0?Z("p",{className:"p-4 text-center text-muted-foreground text-xs",children:"No conversations yet."}):null]})]})}import{gql as q}from"@apollo/client";import{useMutation as S,useQuery as p}from"@apollo/client/react";import{useTemplateRuntime as u}from"@contractspec/lib.example-shared-ui";import{useEffect as G,useRef as m}from"react";import{jsx as $,jsxs as Y}from"react/jsx-runtime";var y=q`
|
|
16
16
|
query Messages($conversationId: ID!) {
|
|
17
17
|
messages(conversationId: $conversationId, limit: 50) {
|
|
18
18
|
id
|
|
@@ -23,14 +23,14 @@ import{gql as Q}from"@apollo/client";import{useQuery as _}from"@apollo/client/re
|
|
|
23
23
|
status
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
`,
|
|
26
|
+
`,x=q`
|
|
27
27
|
mutation SetMessagesRead($conversationId: ID!, $userId: String!) {
|
|
28
28
|
setMessagesRead(conversationId: $conversationId, userId: $userId)
|
|
29
29
|
}
|
|
30
|
-
`;function D({conversationId:z,viewerId:
|
|
30
|
+
`;function D({conversationId:z,viewerId:B="local-user"}){let H=m(null),P=Boolean(z),{data:K,loading:X}=p(y,{variables:{conversationId:z},skip:!P,fetchPolicy:"cache-and-network"}),[J]=S(x),{projectId:k}=u(),V=K?.messages??[];if(G(()=>{if(!P||!z)return;J({variables:{conversationId:z,userId:B}}).catch(()=>{})},[z,P,J,B]),G(()=>{let F=H.current;if(!F)return;F.scrollTop=F.scrollHeight},[V]),!z)return $("div",{className:"flex flex-1 items-center justify-center rounded-2xl border border-border border-dashed",children:$("p",{className:"text-muted-foreground text-sm",children:"Select a conversation"})});return $("div",{className:"flex flex-1 flex-col rounded-2xl border border-border bg-card",children:$("div",{ref:H,className:"flex-1 space-y-3 overflow-y-auto p-4",children:X?$("p",{className:"text-center text-muted-foreground text-sm",children:"Loading…"}):V.slice().reverse().map((F)=>Y("div",{className:`flex flex-col ${F.senderId===B?"items-end":"items-start"}`,children:[$("div",{className:`max-w-xs rounded-2xl px-3 py-2 text-sm ${F.senderId===B?"bg-violet-500 text-white":"bg-muted text-foreground"}`,children:$("p",{children:F.content})}),Y("span",{className:"mt-1 text-muted-foreground text-xs",children:[F.senderName||F.senderId," ·"," ",new Date(F.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})]})]},F.id))})})}import{gql as l}from"@apollo/client";import{useMutation as g}from"@apollo/client/react";import{useTemplateRuntime as j}from"@contractspec/lib.example-shared-ui";import{Send as I}from"lucide-react";import{useState as v}from"react";import{jsx as U,jsxs as A}from"react/jsx-runtime";var d=l`
|
|
31
31
|
mutation SendMessage($input: SendMessageInput!) {
|
|
32
32
|
sendMessage(input: $input) {
|
|
33
33
|
id
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
`;function L({conversationId:z,viewerId:
|
|
36
|
+
`;function L({conversationId:z,viewerId:B="local-user",viewerName:H="You"}){let{projectId:P}=j(),[K,X]=v(""),[J,{loading:k}]=g(d);return A("form",{onSubmit:async(F)=>{if(F.preventDefault(),!z||!K.trim())return;await J({variables:{input:{projectId:P,conversationId:z,senderId:B,senderName:H,content:K.trim()}},refetchQueries:[{query:y,variables:{conversationId:z}}]}),X("")},className:"mt-3 flex items-center gap-2 rounded-2xl border border-border bg-card px-4 py-3",children:[U("input",{type:"text",className:"flex-1 bg-transparent text-foreground text-sm outline-none",placeholder:z?"Type a message…":"Select a conversation to start",disabled:!z||k,value:K,onChange:(F)=>X(F.target.value)}),A("button",{type:"submit",className:"btn-primary inline-flex items-center gap-1 text-sm",disabled:!z||k||!K.trim(),children:[U(I,{className:"h-4 w-4"}),"Send"]})]})}import{registerTemplateComponents as c}from"@contractspec/lib.example-shared-ui";import{useState as r}from"react";import{jsx as O,jsxs as N}from"react/jsx-runtime";function i(){let[z,B]=r();return N("div",{className:"grid gap-4 md:grid-cols-[280px,1fr]",children:[O(f,{selectedId:z,onSelect:B}),N("div",{className:"flex flex-col gap-3",children:[O(D,{conversationId:z}),O(L,{conversationId:z})]})]})}c("messaging-app",{list:i,detail:D,form:L});export{i as MessagingWorkspace,D as MessageThread,L as MessageComposer,y as MESSAGES_QUERY,f as ConversationList};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
var n=Object.defineProperty;var i=(e)=>e;function d(e,o){this[e]=i.bind(null,o)}var a=(e,o)=>{for(var t in o)n(e,t,{get:o[t],enumerable:!0,configurable:!0,set:d.bind(o,t)})};var l=(e,o)=>()=>(e&&(o=e(e=0)),o);import{jsx as r}from"react/jsx-runtime";function u({locale:e,onChange:o}){return r("div",{className:"inline-flex rounded-full border border-border bg-card p-1 font-semibold text-muted-foreground text-xs",children:["EN","FR"].map((t)=>r("button",{type:"button",className:`rounded-full px-3 py-1 transition ${e===t?"bg-violet-500 text-white":"hover:text-foreground"}`,onClick:()=>o(t),children:t==="EN"?"English":"Français"},t))})}export{u as LanguageSwitcher};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Heart as
|
|
1
|
+
var l=Object.defineProperty;var i=(e)=>e;function d(e,t){this[e]=i.bind(null,t)}var m=(e,t)=>{for(var n in t)l(e,n,{get:t[n],enumerable:!0,configurable:!0,set:d.bind(t,n)})};var p=(e,t)=>()=>(e&&(t=e(e=0)),t);import{Heart as s}from"lucide-react";import{jsx as r,jsxs as o}from"react/jsx-runtime";function f({recipe:e,onSelect:t,onToggleFavorite:n}){return o("button",{type:"button",onClick:()=>t?.(e),className:"flex flex-col gap-3 rounded-2xl border border-border bg-card text-left transition hover:border-violet-400",children:[e.heroImageUrl?r("img",{src:e.heroImageUrl,alt:e.name,className:"h-40 w-full rounded-t-2xl object-cover"}):r("div",{className:"h-40 rounded-t-2xl bg-muted"}),o("div",{className:"space-y-2 p-4",children:[o("div",{className:"flex items-center justify-between",children:[r("p",{className:"font-semibold text-base",children:e.name}),r("button",{type:"button",className:`inline-flex items-center justify-center rounded-full border border-transparent p-2 ${e.isFavorite?"text-red-400":"text-muted-foreground hover:text-red-400"}`,onClick:(a)=>{a.stopPropagation(),n?.(e)},children:r(s,{className:`h-4 w-4 ${e.isFavorite?"fill-red-400":""}`})})]}),r("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:e.description}),o("div",{className:"flex flex-wrap gap-3 text-muted-foreground text-xs",children:[e.prepTimeMinutes?o("span",{children:["Prep ",e.prepTimeMinutes,"m"]}):null,e.cookTimeMinutes?o("span",{children:["Cook ",e.cookTimeMinutes,"m"]}):null,e.servings?o("span",{children:[e.servings," servings"]}):null]})]})]})}export{f as RecipeCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BookOpen as
|
|
1
|
+
var i=Object.defineProperty;var d=(e)=>e;function l(e,t){this[e]=d.bind(null,t)}var m=(e,t)=>{for(var a in t)i(e,a,{get:t[a],enumerable:!0,configurable:!0,set:l.bind(t,a)})};var n=(e,t)=>()=>(e&&(t=e(e=0)),t);import{BookOpen as c}from"lucide-react";import{jsx as r,jsxs as o}from"react/jsx-runtime";function u({recipe:e}){if(!e)return r("div",{className:"flex flex-1 items-center justify-center rounded-2xl border border-border border-dashed",children:r("p",{className:"text-muted-foreground text-sm",children:"Select a recipe to view details."})});return o("article",{className:"space-y-4 rounded-2xl border border-border bg-card p-6",children:[o("header",{className:"flex flex-wrap items-center gap-3",children:[r(c,{className:"h-5 w-5 text-muted-foreground"}),o("div",{children:[r("h2",{className:"font-semibold text-xl",children:e.name}),r("p",{className:"text-muted-foreground text-sm",children:e.description})]})]}),o("section",{children:[r("h3",{className:"font-semibold text-muted-foreground text-sm uppercase tracking-wide",children:"Ingredients"}),r("ul",{className:"mt-2 list-disc space-y-1 pl-6 text-foreground text-sm",children:e.ingredients.map((t)=>o("li",{children:[t.name," – ",t.quantity]},t.id))})]}),o("section",{children:[r("h3",{className:"font-semibold text-muted-foreground text-sm uppercase tracking-wide",children:"Instructions"}),r("ol",{className:"mt-2 list-decimal space-y-2 pl-6 text-foreground text-sm",children:e.instructions.map((t)=>r("li",{children:t.content},t.id))})]})]})}export{u as RecipeDetail};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as p}from"react/jsx-runtime";function b({locale:t,onChange:e}){return p("div",{className:"inline-flex rounded-full border border-border bg-card p-1 font-semibold text-muted-foreground text-xs",children:["EN","FR"].map((
|
|
1
|
+
var F=Object.defineProperty;var C=(t)=>t;function M(t,e){this[t]=C.bind(null,e)}var J=(t,e)=>{for(var o in e)F(t,o,{get:e[o],enumerable:!0,configurable:!0,set:M.bind(e,o)})};var K=(t,e)=>()=>(t&&(e=t(t=0)),e);import{jsx as p}from"react/jsx-runtime";function b({locale:t,onChange:e}){return p("div",{className:"inline-flex rounded-full border border-border bg-card p-1 font-semibold text-muted-foreground text-xs",children:["EN","FR"].map((o)=>p("button",{type:"button",className:`rounded-full px-3 py-1 transition ${t===o?"bg-violet-500 text-white":"hover:text-foreground"}`,onClick:()=>e(o),children:o==="EN"?"English":"Français"},o))})}import{Heart as R}from"lucide-react";import{jsx as a,jsxs as d}from"react/jsx-runtime";function c({recipe:t,onSelect:e,onToggleFavorite:o}){return d("button",{type:"button",onClick:()=>e?.(t),className:"flex flex-col gap-3 rounded-2xl border border-border bg-card text-left transition hover:border-violet-400",children:[t.heroImageUrl?a("img",{src:t.heroImageUrl,alt:t.name,className:"h-40 w-full rounded-t-2xl object-cover"}):a("div",{className:"h-40 rounded-t-2xl bg-muted"}),d("div",{className:"space-y-2 p-4",children:[d("div",{className:"flex items-center justify-between",children:[a("p",{className:"font-semibold text-base",children:t.name}),a("button",{type:"button",className:`inline-flex items-center justify-center rounded-full border border-transparent p-2 ${t.isFavorite?"text-red-400":"text-muted-foreground hover:text-red-400"}`,onClick:(i)=>{i.stopPropagation(),o?.(t)},children:a(R,{className:`h-4 w-4 ${t.isFavorite?"fill-red-400":""}`})})]}),a("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:t.description}),d("div",{className:"flex flex-wrap gap-3 text-muted-foreground text-xs",children:[t.prepTimeMinutes?d("span",{children:["Prep ",t.prepTimeMinutes,"m"]}):null,t.cookTimeMinutes?d("span",{children:["Cook ",t.cookTimeMinutes,"m"]}):null,t.servings?d("span",{children:[t.servings," servings"]}):null]})]})]})}import{BookOpen as $}from"lucide-react";import{jsx as n,jsxs as l}from"react/jsx-runtime";function s({recipe:t}){if(!t)return n("div",{className:"flex flex-1 items-center justify-center rounded-2xl border border-border border-dashed",children:n("p",{className:"text-muted-foreground text-sm",children:"Select a recipe to view details."})});return l("article",{className:"space-y-4 rounded-2xl border border-border bg-card p-6",children:[l("header",{className:"flex flex-wrap items-center gap-3",children:[n($,{className:"h-5 w-5 text-muted-foreground"}),l("div",{children:[n("h2",{className:"font-semibold text-xl",children:t.name}),n("p",{className:"text-muted-foreground text-sm",children:t.description})]})]}),l("section",{children:[n("h3",{className:"font-semibold text-muted-foreground text-sm uppercase tracking-wide",children:"Ingredients"}),n("ul",{className:"mt-2 list-disc space-y-1 pl-6 text-foreground text-sm",children:t.ingredients.map((e)=>l("li",{children:[e.name," – ",e.quantity]},e.id))})]}),l("section",{children:[n("h3",{className:"font-semibold text-muted-foreground text-sm uppercase tracking-wide",children:"Instructions"}),n("ol",{className:"mt-2 list-decimal space-y-2 pl-6 text-foreground text-sm",children:t.instructions.map((e)=>n("li",{children:e.content},e.id))})]})]})}import{gql as v}from"@apollo/client";import{useMutation as B,useQuery as H}from"@apollo/client/react";import{registerTemplateComponents as T,useTemplateRuntime as U}from"@contractspec/lib.example-shared-ui";import{useState as u}from"react";import{jsx as m,jsxs as N}from"react/jsx-runtime";var z=v`
|
|
2
2
|
query Recipes($projectId: ID!, $locale: RecipeLocale!) {
|
|
3
3
|
recipes(projectId: $projectId, locale: $locale) {
|
|
4
4
|
id
|
|
@@ -27,11 +27,11 @@ import{jsx as p}from"react/jsx-runtime";function b({locale:t,onChange:e}){return
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
`,
|
|
30
|
+
`,D=v`
|
|
31
31
|
mutation FavoriteRecipe($id: ID!, $isFavorite: Boolean!) {
|
|
32
32
|
favoriteRecipe(id: $id, isFavorite: $isFavorite) {
|
|
33
33
|
id
|
|
34
34
|
isFavorite
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
`;function
|
|
37
|
+
`;function G(){let{projectId:t}=U(),[e,o]=u("EN"),[i,g]=u(),[f,y]=u(""),{data:h,loading:k}=H(z,{variables:{projectId:t,locale:e},fetchPolicy:"cache-and-network"}),[w]=B(D),x=(h?.recipes??[]).filter((r)=>r.name.toLowerCase().includes(f.toLowerCase())),P=async(r)=>{await w({variables:{id:r.id,isFavorite:!r.isFavorite},optimisticResponse:{favoriteRecipe:{__typename:"Recipe",id:r.id,isFavorite:!r.isFavorite}}})};return N("div",{className:"space-y-4",children:[N("div",{className:"flex flex-wrap items-center gap-3",children:[m(b,{locale:e,onChange:o}),m("input",{type:"search",placeholder:e==="EN"?"Search recipes":"Rechercher des recettes",className:"flex-1 rounded-full border border-border bg-card px-4 py-2 text-sm",value:f,onChange:(r)=>y(r.target.value)})]}),k?m("p",{className:"text-muted-foreground text-sm",children:"Loading recipes…"}):m("div",{className:"grid gap-4 md:grid-cols-3",children:x.map((r)=>m(c,{recipe:r,onSelect:g,onToggleFavorite:P},r.id))}),m(s,{recipe:i})]})}T("recipe-app-i18n",{list:G,detail:s});export{G as RecipeList};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as p}from"react/jsx-runtime";function b({locale:t,onChange:e}){return p("div",{className:"inline-flex rounded-full border border-border bg-card p-1 font-semibold text-muted-foreground text-xs",children:["EN","FR"].map((
|
|
1
|
+
var F=Object.defineProperty;var C=(t)=>t;function M(t,e){this[t]=C.bind(null,e)}var J=(t,e)=>{for(var o in e)F(t,o,{get:e[o],enumerable:!0,configurable:!0,set:M.bind(e,o)})};var K=(t,e)=>()=>(t&&(e=t(t=0)),e);import{jsx as p}from"react/jsx-runtime";function b({locale:t,onChange:e}){return p("div",{className:"inline-flex rounded-full border border-border bg-card p-1 font-semibold text-muted-foreground text-xs",children:["EN","FR"].map((o)=>p("button",{type:"button",className:`rounded-full px-3 py-1 transition ${t===o?"bg-violet-500 text-white":"hover:text-foreground"}`,onClick:()=>e(o),children:o==="EN"?"English":"Français"},o))})}import{Heart as R}from"lucide-react";import{jsx as a,jsxs as d}from"react/jsx-runtime";function c({recipe:t,onSelect:e,onToggleFavorite:o}){return d("button",{type:"button",onClick:()=>e?.(t),className:"flex flex-col gap-3 rounded-2xl border border-border bg-card text-left transition hover:border-violet-400",children:[t.heroImageUrl?a("img",{src:t.heroImageUrl,alt:t.name,className:"h-40 w-full rounded-t-2xl object-cover"}):a("div",{className:"h-40 rounded-t-2xl bg-muted"}),d("div",{className:"space-y-2 p-4",children:[d("div",{className:"flex items-center justify-between",children:[a("p",{className:"font-semibold text-base",children:t.name}),a("button",{type:"button",className:`inline-flex items-center justify-center rounded-full border border-transparent p-2 ${t.isFavorite?"text-red-400":"text-muted-foreground hover:text-red-400"}`,onClick:(i)=>{i.stopPropagation(),o?.(t)},children:a(R,{className:`h-4 w-4 ${t.isFavorite?"fill-red-400":""}`})})]}),a("p",{className:"line-clamp-2 text-muted-foreground text-sm",children:t.description}),d("div",{className:"flex flex-wrap gap-3 text-muted-foreground text-xs",children:[t.prepTimeMinutes?d("span",{children:["Prep ",t.prepTimeMinutes,"m"]}):null,t.cookTimeMinutes?d("span",{children:["Cook ",t.cookTimeMinutes,"m"]}):null,t.servings?d("span",{children:[t.servings," servings"]}):null]})]})]})}import{BookOpen as $}from"lucide-react";import{jsx as n,jsxs as l}from"react/jsx-runtime";function f({recipe:t}){if(!t)return n("div",{className:"flex flex-1 items-center justify-center rounded-2xl border border-border border-dashed",children:n("p",{className:"text-muted-foreground text-sm",children:"Select a recipe to view details."})});return l("article",{className:"space-y-4 rounded-2xl border border-border bg-card p-6",children:[l("header",{className:"flex flex-wrap items-center gap-3",children:[n($,{className:"h-5 w-5 text-muted-foreground"}),l("div",{children:[n("h2",{className:"font-semibold text-xl",children:t.name}),n("p",{className:"text-muted-foreground text-sm",children:t.description})]})]}),l("section",{children:[n("h3",{className:"font-semibold text-muted-foreground text-sm uppercase tracking-wide",children:"Ingredients"}),n("ul",{className:"mt-2 list-disc space-y-1 pl-6 text-foreground text-sm",children:t.ingredients.map((e)=>l("li",{children:[e.name," – ",e.quantity]},e.id))})]}),l("section",{children:[n("h3",{className:"font-semibold text-muted-foreground text-sm uppercase tracking-wide",children:"Instructions"}),n("ol",{className:"mt-2 list-decimal space-y-2 pl-6 text-foreground text-sm",children:t.instructions.map((e)=>n("li",{children:e.content},e.id))})]})]})}import{gql as v}from"@apollo/client";import{useMutation as B,useQuery as H}from"@apollo/client/react";import{registerTemplateComponents as T,useTemplateRuntime as U}from"@contractspec/lib.example-shared-ui";import{useState as s}from"react";import{jsx as m,jsxs as N}from"react/jsx-runtime";var z=v`
|
|
2
2
|
query Recipes($projectId: ID!, $locale: RecipeLocale!) {
|
|
3
3
|
recipes(projectId: $projectId, locale: $locale) {
|
|
4
4
|
id
|
|
@@ -27,11 +27,11 @@ import{jsx as p}from"react/jsx-runtime";function b({locale:t,onChange:e}){return
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
`,
|
|
30
|
+
`,D=v`
|
|
31
31
|
mutation FavoriteRecipe($id: ID!, $isFavorite: Boolean!) {
|
|
32
32
|
favoriteRecipe(id: $id, isFavorite: $isFavorite) {
|
|
33
33
|
id
|
|
34
34
|
isFavorite
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
`;function
|
|
37
|
+
`;function G(){let{projectId:t}=U(),[e,o]=s("EN"),[i,g]=s(),[u,y]=s(""),{data:h,loading:x}=H(z,{variables:{projectId:t,locale:e},fetchPolicy:"cache-and-network"}),[k]=B(D),w=(h?.recipes??[]).filter((r)=>r.name.toLowerCase().includes(u.toLowerCase())),P=async(r)=>{await k({variables:{id:r.id,isFavorite:!r.isFavorite},optimisticResponse:{favoriteRecipe:{__typename:"Recipe",id:r.id,isFavorite:!r.isFavorite}}})};return N("div",{className:"space-y-4",children:[N("div",{className:"flex flex-wrap items-center gap-3",children:[m(b,{locale:e,onChange:o}),m("input",{type:"search",placeholder:e==="EN"?"Search recipes":"Rechercher des recettes",className:"flex-1 rounded-full border border-border bg-card px-4 py-2 text-sm",value:u,onChange:(r)=>y(r.target.value)})]}),x?m("p",{className:"text-muted-foreground text-sm",children:"Loading recipes…"}):m("div",{className:"grid gap-4 md:grid-cols-3",children:w.map((r)=>m(c,{recipe:r,onSelect:g,onToggleFavorite:P},r.id))}),m(f,{recipe:i})]})}T("recipe-app-i18n",{list:G,detail:f});export{G as RecipeList,f as RecipeDetail,c as RecipeCard,b as LanguageSwitcher};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
var n=Object.defineProperty;var p=(e)=>e;function c(e,o){this[e]=p.bind(null,o)}var u=(e,o)=>{for(var l in o)n(e,l,{get:o[l],enumerable:!0,configurable:!0,set:c.bind(o,l)})};var g=(e,o)=>()=>(e&&(o=e(e=0)),o);import{jsx as r,jsxs as a}from"react/jsx-runtime";function b({value:e,onChange:o,categories:l}){let i=(t,d)=>{o({...e,[t]:d})};return a("div",{className:"grid gap-3 rounded-2xl border border-border bg-card p-4 md:grid-cols-4",children:[a("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Status",a("select",{className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",value:e.status,onChange:(t)=>i("status",t.target.value),children:[r("option",{value:"all",children:"All tasks"}),r("option",{value:"active",children:"Active"}),r("option",{value:"completed",children:"Completed"})]})]}),a("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Priority",a("select",{className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",value:e.priority,onChange:(t)=>i("priority",t.target.value),children:[r("option",{value:"all",children:"All"}),r("option",{value:"LOW",children:"Low"}),r("option",{value:"MEDIUM",children:"Medium"}),r("option",{value:"HIGH",children:"High"}),r("option",{value:"URGENT",children:"Urgent"})]})]}),a("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Category",a("select",{className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",value:e.categoryId,onChange:(t)=>i("categoryId",t.target.value),children:[r("option",{value:"all",children:"All categories"}),l.map((t)=>r("option",{value:t.id,children:t.name},t.id))]})]}),a("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Search",r("input",{type:"search",className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",placeholder:"Search by title",value:e.search,onChange:(t)=>i("search",t.target.value)})]})]})}export{b as FilterBar};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{gql as
|
|
1
|
+
var $=Object.defineProperty;var b=(w)=>w;function h(w,z){this[w]=b.bind(null,z)}var D=(w,z)=>{for(var G in z)$(w,G,{get:z[G],enumerable:!0,configurable:!0,set:h.bind(z,G)})};var E=(w,z)=>()=>(w&&(z=w(w=0)),z);import{gql as k}from"@apollo/client";import{useMutation as q}from"@apollo/client/react";import{useTemplateRuntime as K}from"@contractspec/lib.example-shared-ui";import{useState as H}from"react";import{jsx as B,jsxs as F}from"react/jsx-runtime";var M=k`
|
|
2
2
|
mutation CreateTask($input: CreateTaskInput!) {
|
|
3
3
|
createTask(input: $input) {
|
|
4
4
|
id
|
|
5
5
|
title
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
`;function
|
|
8
|
+
`;function T({categories:w}){let{projectId:z}=K(),[G,L]=H(""),[N,O]=H(""),[Q,U]=H("MEDIUM"),[J,V]=H("none"),[W,X]=H(""),[Z,{loading:Y}]=q(M);return F("form",{onSubmit:async(f)=>{if(f.preventDefault(),!G.trim())return;await Z({variables:{input:{projectId:z,title:G.trim(),description:N.trim()||void 0,priority:Q,categoryId:J==="none"?void 0:J,tags:_(W)}},refetchQueries:["Tasks"],awaitRefetchQueries:!0}),L(""),O(""),U("MEDIUM"),V("none"),X("")},className:"space-y-3 rounded-2xl border border-border bg-background/60 p-4",children:[B("div",{children:F("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Title",B("input",{type:"text",className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",placeholder:"What needs to get done?",value:G,onChange:(f)=>L(f.target.value),required:!0})]})}),B("div",{children:F("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Description",B("textarea",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",rows:3,placeholder:"Add context or policy notes",value:N,onChange:(f)=>O(f.target.value)})]})}),F("div",{className:"grid gap-3 md:grid-cols-3",children:[F("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Priority",F("select",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",value:Q,onChange:(f)=>U(f.target.value),children:[B("option",{value:"LOW",children:"Low"}),B("option",{value:"MEDIUM",children:"Medium"}),B("option",{value:"HIGH",children:"High"}),B("option",{value:"URGENT",children:"Urgent"})]})]}),F("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Category",F("select",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",value:J,onChange:(f)=>V(f.target.value),children:[B("option",{value:"none",children:"None"}),w.map((f)=>B("option",{value:f.id,children:f.name},f.id))]})]}),F("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Tags",B("input",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",placeholder:"Comma separated (optional)",value:W,onChange:(f)=>X(f.target.value)})]})]}),B("button",{type:"submit",className:"btn-primary w-full py-2 font-semibold text-sm",disabled:Y,children:Y?"Saving...":"Add task"})]})}function _(w){return w.split(",").map((z)=>z.trim()).filter(Boolean)}export{T as TaskForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Check as
|
|
1
|
+
var n=Object.defineProperty;var m=(e)=>e;function p(e,r){this[e]=m.bind(null,r)}var b=(e,r)=>{for(var o in r)n(e,o,{get:r[o],enumerable:!0,configurable:!0,set:p.bind(r,o)})};var s=(e,r)=>()=>(e&&(r=e(e=0)),r);import{Check as i,Circle as u,Trash2 as c}from"lucide-react";import{jsx as t,jsxs as d}from"react/jsx-runtime";function x({task:e,onToggle:r,onDelete:o}){let l=e.priority==="URGENT"?"text-red-200 bg-red-500/10 border-red-500/40":e.priority==="HIGH"?"text-amber-200 bg-amber-500/10 border-amber-500/40":e.priority==="LOW"?"text-emerald-200 bg-emerald-500/10 border-emerald-500/40":"text-violet-200 bg-violet-500/10 border-violet-500/40";return d("div",{className:"flex items-start gap-4 rounded-2xl border border-border/70 bg-card/60 p-4 transition hover:border-border",children:[t("button",{type:"button",className:"rounded-full border border-border p-2 text-muted-foreground hover:bg-muted/40","aria-pressed":e.completed,onClick:()=>r?.(e),children:e.completed?t(i,{className:"h-4 w-4 text-emerald-400"}):t(u,{className:"h-4 w-4"})}),d("div",{className:"flex-1 space-y-2",children:[d("div",{className:"flex flex-wrap items-center gap-2",children:[t("p",{className:`font-medium ${e.completed?"text-muted-foreground line-through":"text-foreground"}`,children:e.title}),t("span",{className:`rounded-full border px-2 py-0.5 text-xs ${l}`,children:e.priority.charAt(0)+e.priority.slice(1).toLowerCase()}),e.category?t("span",{className:"rounded-full bg-muted/40 px-2 py-0.5 text-muted-foreground text-xs",children:e.category.name}):null,e.dueDate?d("span",{className:"text-muted-foreground text-xs",children:["Due ",new Date(e.dueDate).toLocaleDateString()]}):null]}),e.description?t("p",{className:"text-muted-foreground text-sm",children:e.description}):null,e.tags.length?t("div",{className:"flex flex-wrap gap-1",children:e.tags.map((a)=>d("span",{className:"rounded-full bg-muted/40 px-2 py-0.5 text-muted-foreground text-xs",children:["#",a]},a))}):null]}),t("button",{type:"button",className:"text-muted-foreground hover:text-destructive","aria-label":`Delete ${e.title}`,onClick:()=>o?.(e),children:t(c,{className:"h-4 w-4"})})]})}export{x as TaskItem};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
var W=Object.defineProperty;var B=(e)=>e;function L(e,o){this[e]=B.bind(null,o)}var T=(e,o)=>{for(var t in o)W(e,t,{get:o[t],enumerable:!0,configurable:!0,set:L.bind(o,t)})};var k=(e,o)=>()=>(e&&(o=e(e=0)),o);import{jsx as n,jsxs as b}from"react/jsx-runtime";function x({value:e,onChange:o,categories:t}){let a=(r,c)=>{o({...e,[r]:c})};return b("div",{className:"grid gap-3 rounded-2xl border border-border bg-card p-4 md:grid-cols-4",children:[b("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Status",b("select",{className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",value:e.status,onChange:(r)=>a("status",r.target.value),children:[n("option",{value:"all",children:"All tasks"}),n("option",{value:"active",children:"Active"}),n("option",{value:"completed",children:"Completed"})]})]}),b("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Priority",b("select",{className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",value:e.priority,onChange:(r)=>a("priority",r.target.value),children:[n("option",{value:"all",children:"All"}),n("option",{value:"LOW",children:"Low"}),n("option",{value:"MEDIUM",children:"Medium"}),n("option",{value:"HIGH",children:"High"}),n("option",{value:"URGENT",children:"Urgent"})]})]}),b("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Category",b("select",{className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",value:e.categoryId,onChange:(r)=>a("categoryId",r.target.value),children:[n("option",{value:"all",children:"All categories"}),t.map((r)=>n("option",{value:r.id,children:r.name},r.id))]})]}),b("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Search",n("input",{type:"search",className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",placeholder:"Search by title",value:e.search,onChange:(r)=>a("search",r.target.value)})]})]})}import{gql as O}from"@apollo/client";import{useMutation as z}from"@apollo/client/react";import{useTemplateRuntime as J}from"@contractspec/lib.example-shared-ui";import{useState as y}from"react";import{jsx as p,jsxs as u}from"react/jsx-runtime";var X=O`
|
|
2
2
|
mutation CreateTask($input: CreateTaskInput!) {
|
|
3
3
|
createTask(input: $input) {
|
|
4
4
|
id
|
|
5
5
|
title
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
`;function H({categories:e}){let{projectId:
|
|
8
|
+
`;function H({categories:e}){let{projectId:o}=J(),[t,a]=y(""),[r,c]=y(""),[h,f]=y("MEDIUM"),[g,v]=y("none"),[w,C]=y(""),[l,{loading:F}]=z(X);return u("form",{onSubmit:async(d)=>{if(d.preventDefault(),!t.trim())return;await l({variables:{input:{projectId:o,title:t.trim(),description:r.trim()||void 0,priority:h,categoryId:g==="none"?void 0:g,tags:Z(w)}},refetchQueries:["Tasks"],awaitRefetchQueries:!0}),a(""),c(""),f("MEDIUM"),v("none"),C("")},className:"space-y-3 rounded-2xl border border-border bg-background/60 p-4",children:[p("div",{children:u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Title",p("input",{type:"text",className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",placeholder:"What needs to get done?",value:t,onChange:(d)=>a(d.target.value),required:!0})]})}),p("div",{children:u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Description",p("textarea",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",rows:3,placeholder:"Add context or policy notes",value:r,onChange:(d)=>c(d.target.value)})]})}),u("div",{className:"grid gap-3 md:grid-cols-3",children:[u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Priority",u("select",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",value:h,onChange:(d)=>f(d.target.value),children:[p("option",{value:"LOW",children:"Low"}),p("option",{value:"MEDIUM",children:"Medium"}),p("option",{value:"HIGH",children:"High"}),p("option",{value:"URGENT",children:"Urgent"})]})]}),u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Category",u("select",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",value:g,onChange:(d)=>v(d.target.value),children:[p("option",{value:"none",children:"None"}),e.map((d)=>p("option",{value:d.id,children:d.name},d.id))]})]}),u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Tags",p("input",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",placeholder:"Comma separated (optional)",value:w,onChange:(d)=>C(d.target.value)})]})]}),p("button",{type:"submit",className:"btn-primary w-full py-2 font-semibold text-sm",disabled:F,children:F?"Saving...":"Add task"})]})}function Z(e){return e.split(",").map((o)=>o.trim()).filter(Boolean)}import{Check as A,Circle as M,Trash2 as S}from"lucide-react";import{jsx as m,jsxs as N}from"react/jsx-runtime";function $({task:e,onToggle:o,onDelete:t}){let a=e.priority==="URGENT"?"text-red-200 bg-red-500/10 border-red-500/40":e.priority==="HIGH"?"text-amber-200 bg-amber-500/10 border-amber-500/40":e.priority==="LOW"?"text-emerald-200 bg-emerald-500/10 border-emerald-500/40":"text-violet-200 bg-violet-500/10 border-violet-500/40";return N("div",{className:"flex items-start gap-4 rounded-2xl border border-border/70 bg-card/60 p-4 transition hover:border-border",children:[m("button",{type:"button",className:"rounded-full border border-border p-2 text-muted-foreground hover:bg-muted/40","aria-pressed":e.completed,onClick:()=>o?.(e),children:e.completed?m(A,{className:"h-4 w-4 text-emerald-400"}):m(M,{className:"h-4 w-4"})}),N("div",{className:"flex-1 space-y-2",children:[N("div",{className:"flex flex-wrap items-center gap-2",children:[m("p",{className:`font-medium ${e.completed?"text-muted-foreground line-through":"text-foreground"}`,children:e.title}),m("span",{className:`rounded-full border px-2 py-0.5 text-xs ${a}`,children:e.priority.charAt(0)+e.priority.slice(1).toLowerCase()}),e.category?m("span",{className:"rounded-full bg-muted/40 px-2 py-0.5 text-muted-foreground text-xs",children:e.category.name}):null,e.dueDate?N("span",{className:"text-muted-foreground text-xs",children:["Due ",new Date(e.dueDate).toLocaleDateString()]}):null]}),e.description?m("p",{className:"text-muted-foreground text-sm",children:e.description}):null,e.tags.length?m("div",{className:"flex flex-wrap gap-1",children:e.tags.map((r)=>N("span",{className:"rounded-full bg-muted/40 px-2 py-0.5 text-muted-foreground text-xs",children:["#",r]},r))}):null]}),m("button",{type:"button",className:"text-muted-foreground hover:text-destructive","aria-label":`Delete ${e.title}`,onClick:()=>t?.(e),children:m(S,{className:"h-4 w-4"})})]})}import{gql as P}from"@apollo/client";import{useMutation as G,useQuery as K}from"@apollo/client/react";import{registerTemplateComponents as Y,useTemplateRuntime as Q}from"@contractspec/lib.example-shared-ui";import{useMemo as R,useState as q}from"react";import{jsx as i,jsxs as _}from"react/jsx-runtime";var U=P`
|
|
9
9
|
query Tasks($projectId: ID!) {
|
|
10
10
|
taskCategories(projectId: $projectId) {
|
|
11
11
|
id
|
|
@@ -27,15 +27,15 @@ import{jsx as p,jsxs as b}from"react/jsx-runtime";function x({value:e,onChange:d
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
`,
|
|
30
|
+
`,I=P`
|
|
31
31
|
mutation ToggleTask($id: ID!, $completed: Boolean!) {
|
|
32
32
|
toggleTask(id: $id, completed: $completed) {
|
|
33
33
|
id
|
|
34
34
|
completed
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
`,
|
|
37
|
+
`,E=P`
|
|
38
38
|
mutation DeleteTask($id: ID!) {
|
|
39
39
|
deleteTask(id: $id)
|
|
40
40
|
}
|
|
41
|
-
`;function V(){let{projectId:e}=
|
|
41
|
+
`;function V(){let{projectId:e}=Q(),[o,t]=q({status:"all",priority:"all",categoryId:"all",search:""}),{data:a,loading:r}=K(U,{variables:{projectId:e},fetchPolicy:"cache-and-network"}),[c]=G(I),[h]=G(E),f=a?.taskCategories??[],g=a?.tasks??[],v=R(()=>{return g.filter((l)=>{if(o.status==="active"&&l.completed)return!1;if(o.status==="completed"&&!l.completed)return!1;if(o.priority!=="all"&&l.priority!==o.priority)return!1;if(o.categoryId!=="all"&&l.category?.id!==o.categoryId)return!1;if(o.search&&!l.title.toLowerCase().includes(o.search.toLowerCase()))return!1;return!0})},[g,o]),w=async(l)=>{await c({variables:{id:l.id,completed:!l.completed},optimisticResponse:{toggleTask:{__typename:"Task",id:l.id,completed:!l.completed}},update(F){F.modify({fields:{tasks(D=[]){return D.map((d)=>d.__ref?.endsWith(l.id)?{...d,completed:!l.completed}:d)}}})}})},C=async(l)=>{await h({variables:{id:l.id},refetchQueries:[{query:U,variables:{projectId:e}}]})};return _("div",{className:"space-y-6",children:[i(x,{value:o,onChange:t,categories:f}),i(H,{categories:f}),r?i("p",{className:"text-muted-foreground text-sm",children:"Loading tasks…"}):v.length?i("div",{className:"space-y-3",children:v.map((l)=>i($,{task:l,onToggle:w,onDelete:C},l.id))}):i("div",{className:"rounded-2xl border border-border border-dashed p-8 text-center",children:i("p",{className:"text-muted-foreground",children:"No tasks match your filters. Create one above."})})]})}Y("todos-app",{list:V,detail:V,form:H});export{V as TaskList};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
var W=Object.defineProperty;var B=(e)=>e;function L(e,o){this[e]=B.bind(null,o)}var T=(e,o)=>{for(var t in o)W(e,t,{get:o[t],enumerable:!0,configurable:!0,set:L.bind(o,t)})};var k=(e,o)=>()=>(e&&(o=e(e=0)),o);import{jsx as n,jsxs as b}from"react/jsx-runtime";function D({value:e,onChange:o,categories:t}){let p=(r,c)=>{o({...e,[r]:c})};return b("div",{className:"grid gap-3 rounded-2xl border border-border bg-card p-4 md:grid-cols-4",children:[b("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Status",b("select",{className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",value:e.status,onChange:(r)=>p("status",r.target.value),children:[n("option",{value:"all",children:"All tasks"}),n("option",{value:"active",children:"Active"}),n("option",{value:"completed",children:"Completed"})]})]}),b("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Priority",b("select",{className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",value:e.priority,onChange:(r)=>p("priority",r.target.value),children:[n("option",{value:"all",children:"All"}),n("option",{value:"LOW",children:"Low"}),n("option",{value:"MEDIUM",children:"Medium"}),n("option",{value:"HIGH",children:"High"}),n("option",{value:"URGENT",children:"Urgent"})]})]}),b("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Category",b("select",{className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",value:e.categoryId,onChange:(r)=>p("categoryId",r.target.value),children:[n("option",{value:"all",children:"All categories"}),t.map((r)=>n("option",{value:r.id,children:r.name},r.id))]})]}),b("label",{className:"flex flex-col text-muted-foreground text-xs uppercase tracking-wide",children:["Search",n("input",{type:"search",className:"mt-1 rounded-md border border-border bg-background px-3 py-2 text-foreground text-sm",placeholder:"Search by title",value:e.search,onChange:(r)=>p("search",r.target.value)})]})]})}import{gql as O}from"@apollo/client";import{useMutation as z}from"@apollo/client/react";import{useTemplateRuntime as J}from"@contractspec/lib.example-shared-ui";import{useState as y}from"react";import{jsx as a,jsxs as u}from"react/jsx-runtime";var X=O`
|
|
2
2
|
mutation CreateTask($input: CreateTaskInput!) {
|
|
3
3
|
createTask(input: $input) {
|
|
4
4
|
id
|
|
5
5
|
title
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
`;function F({categories:e}){let{projectId:
|
|
8
|
+
`;function F({categories:e}){let{projectId:o}=J(),[t,p]=y(""),[r,c]=y(""),[h,f]=y("MEDIUM"),[g,v]=y("none"),[w,C]=y(""),[l,{loading:x}]=z(X);return u("form",{onSubmit:async(d)=>{if(d.preventDefault(),!t.trim())return;await l({variables:{input:{projectId:o,title:t.trim(),description:r.trim()||void 0,priority:h,categoryId:g==="none"?void 0:g,tags:Z(w)}},refetchQueries:["Tasks"],awaitRefetchQueries:!0}),p(""),c(""),f("MEDIUM"),v("none"),C("")},className:"space-y-3 rounded-2xl border border-border bg-background/60 p-4",children:[a("div",{children:u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Title",a("input",{type:"text",className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",placeholder:"What needs to get done?",value:t,onChange:(d)=>p(d.target.value),required:!0})]})}),a("div",{children:u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Description",a("textarea",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",rows:3,placeholder:"Add context or policy notes",value:r,onChange:(d)=>c(d.target.value)})]})}),u("div",{className:"grid gap-3 md:grid-cols-3",children:[u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Priority",u("select",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",value:h,onChange:(d)=>f(d.target.value),children:[a("option",{value:"LOW",children:"Low"}),a("option",{value:"MEDIUM",children:"Medium"}),a("option",{value:"HIGH",children:"High"}),a("option",{value:"URGENT",children:"Urgent"})]})]}),u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Category",u("select",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",value:g,onChange:(d)=>v(d.target.value),children:[a("option",{value:"none",children:"None"}),e.map((d)=>a("option",{value:d.id,children:d.name},d.id))]})]}),u("label",{className:"font-semibold text-muted-foreground text-xs uppercase",children:["Tags",a("input",{className:"mt-1 w-full rounded-md border border-border bg-card px-3 py-2 text-sm",placeholder:"Comma separated (optional)",value:w,onChange:(d)=>C(d.target.value)})]})]}),a("button",{type:"submit",className:"btn-primary w-full py-2 font-semibold text-sm",disabled:x,children:x?"Saving...":"Add task"})]})}function Z(e){return e.split(",").map((o)=>o.trim()).filter(Boolean)}import{Check as A,Circle as M,Trash2 as S}from"lucide-react";import{jsx as m,jsxs as N}from"react/jsx-runtime";function $({task:e,onToggle:o,onDelete:t}){let p=e.priority==="URGENT"?"text-red-200 bg-red-500/10 border-red-500/40":e.priority==="HIGH"?"text-amber-200 bg-amber-500/10 border-amber-500/40":e.priority==="LOW"?"text-emerald-200 bg-emerald-500/10 border-emerald-500/40":"text-violet-200 bg-violet-500/10 border-violet-500/40";return N("div",{className:"flex items-start gap-4 rounded-2xl border border-border/70 bg-card/60 p-4 transition hover:border-border",children:[m("button",{type:"button",className:"rounded-full border border-border p-2 text-muted-foreground hover:bg-muted/40","aria-pressed":e.completed,onClick:()=>o?.(e),children:e.completed?m(A,{className:"h-4 w-4 text-emerald-400"}):m(M,{className:"h-4 w-4"})}),N("div",{className:"flex-1 space-y-2",children:[N("div",{className:"flex flex-wrap items-center gap-2",children:[m("p",{className:`font-medium ${e.completed?"text-muted-foreground line-through":"text-foreground"}`,children:e.title}),m("span",{className:`rounded-full border px-2 py-0.5 text-xs ${p}`,children:e.priority.charAt(0)+e.priority.slice(1).toLowerCase()}),e.category?m("span",{className:"rounded-full bg-muted/40 px-2 py-0.5 text-muted-foreground text-xs",children:e.category.name}):null,e.dueDate?N("span",{className:"text-muted-foreground text-xs",children:["Due ",new Date(e.dueDate).toLocaleDateString()]}):null]}),e.description?m("p",{className:"text-muted-foreground text-sm",children:e.description}):null,e.tags.length?m("div",{className:"flex flex-wrap gap-1",children:e.tags.map((r)=>N("span",{className:"rounded-full bg-muted/40 px-2 py-0.5 text-muted-foreground text-xs",children:["#",r]},r))}):null]}),m("button",{type:"button",className:"text-muted-foreground hover:text-destructive","aria-label":`Delete ${e.title}`,onClick:()=>t?.(e),children:m(S,{className:"h-4 w-4"})})]})}import{gql as H}from"@apollo/client";import{useMutation as G,useQuery as K}from"@apollo/client/react";import{registerTemplateComponents as Y,useTemplateRuntime as Q}from"@contractspec/lib.example-shared-ui";import{useMemo as R,useState as q}from"react";import{jsx as i,jsxs as _}from"react/jsx-runtime";var U=H`
|
|
9
9
|
query Tasks($projectId: ID!) {
|
|
10
10
|
taskCategories(projectId: $projectId) {
|
|
11
11
|
id
|
|
@@ -27,15 +27,15 @@ import{jsx as a,jsxs as b}from"react/jsx-runtime";function D({value:e,onChange:d
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
`,
|
|
30
|
+
`,I=H`
|
|
31
31
|
mutation ToggleTask($id: ID!, $completed: Boolean!) {
|
|
32
32
|
toggleTask(id: $id, completed: $completed) {
|
|
33
33
|
id
|
|
34
34
|
completed
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
`,
|
|
37
|
+
`,E=H`
|
|
38
38
|
mutation DeleteTask($id: ID!) {
|
|
39
39
|
deleteTask(id: $id)
|
|
40
40
|
}
|
|
41
|
-
`;function V(){let{projectId:e}=
|
|
41
|
+
`;function V(){let{projectId:e}=Q(),[o,t]=q({status:"all",priority:"all",categoryId:"all",search:""}),{data:p,loading:r}=K(U,{variables:{projectId:e},fetchPolicy:"cache-and-network"}),[c]=G(I),[h]=G(E),f=p?.taskCategories??[],g=p?.tasks??[],v=R(()=>{return g.filter((l)=>{if(o.status==="active"&&l.completed)return!1;if(o.status==="completed"&&!l.completed)return!1;if(o.priority!=="all"&&l.priority!==o.priority)return!1;if(o.categoryId!=="all"&&l.category?.id!==o.categoryId)return!1;if(o.search&&!l.title.toLowerCase().includes(o.search.toLowerCase()))return!1;return!0})},[g,o]),w=async(l)=>{await c({variables:{id:l.id,completed:!l.completed},optimisticResponse:{toggleTask:{__typename:"Task",id:l.id,completed:!l.completed}},update(x){x.modify({fields:{tasks(P=[]){return P.map((d)=>d.__ref?.endsWith(l.id)?{...d,completed:!l.completed}:d)}}})}})},C=async(l)=>{await h({variables:{id:l.id},refetchQueries:[{query:U,variables:{projectId:e}}]})};return _("div",{className:"space-y-6",children:[i(D,{value:o,onChange:t,categories:f}),i(F,{categories:f}),r?i("p",{className:"text-muted-foreground text-sm",children:"Loading tasks…"}):v.length?i("div",{className:"space-y-3",children:v.map((l)=>i($,{task:l,onToggle:w,onDelete:C},l.id))}):i("div",{className:"rounded-2xl border border-border border-dashed p-8 text-center",children:i("p",{className:"text-muted-foreground",children:"No tasks match your filters. Create one above."})})]})}Y("todos-app",{list:V,detail:V,form:F});export{V as TaskList,$ as TaskItem,F as TaskForm,D as FilterBar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var I=Object.defineProperty;var J=(j)=>j;function K(j,q){this[j]=J.bind(null,q)}var N=(j,q)=>{for(var E in q)I(j,E,{get:q[E],enumerable:!0,configurable:!0,set:K.bind(q,E)})};var O=(j,q)=>()=>(j&&(q=j(j=0)),q);var G={appNameKey:"ContractSpec",assets:[{type:"logo",url:"/logo.svg",dimensions:{width:180,height:40}},{type:"logo-dark",url:"/logo-dark.svg",dimensions:{width:180,height:40}},{type:"favicon",url:"/favicon.ico",dimensions:{width:32,height:32}},{type:"og-image",url:"/og-image.png",dimensions:{width:1200,height:630}}],colorTokens:{primary:"#0ea5e9",secondary:"#6366f1"}},T={appName:"ContractSpec",assets:{logo:"/logo.svg",logoDark:"/logo-dark.svg",favicon:"/favicon.ico",ogImage:"/og-image.png"},colors:{primary:"#0ea5e9",secondary:"#6366f1"},domain:"contractspec.io"};var H=[{path:"/",label:"Home"},{path:"/product",label:"Product"},{path:"/pricing",label:"Pricing"},{path:"/changelog",label:"Changelog"},{path:"/contact",label:"Contact"},{path:"/docs",label:"Documentation"},{path:"/docs/getting-started",label:"Getting Started"},{path:"/docs/architecture",label:"Architecture"},{path:"/docs/specs",label:"Specs"},{path:"/docs/integrations",label:"Integrations"},{path:"/docs/libraries",label:"Libraries"},{path:"/docs/advanced",label:"Advanced"},{path:"/features",label:"Feature Discovery",featureFlag:"feature-discovery-ui"},{path:"/sandbox",label:"Sandbox",featureFlag:"sandbox-enabled"}];var z=(j,q)=>({key:j,version:q}),A=(j)=>({key:j}),Y={meta:{key:"contractspec.app",version:"1.0.0",appId:"contractspec",title:"ContractSpec",description:"The deterministic, spec-first compiler for AI-coded systems",domain:"platform",owners:["@platform.core"],tags:["contracts","specs","ai-safety","code-generation"],stability:"beta"},capabilities:{enabled:[z("contracts.operations","1.0.0"),z("contracts.presentations","1.0.0"),z("contracts.mcp","1.0.0"),z("contracts.docs","1.0.0")]},features:{include:[A("contractspec.docs"),A("contractspec.mcp"),A("contractspec.presentations"),A("app-config")]},branding:G,featureFlags:[{key:"feature-discovery-ui",enabled:!0,description:"Show feature discovery UI"},{key:"dark-mode",enabled:!0,description:"Enable dark mode theming"},{key:"ai-assistant",enabled:!1,description:"AI-powered assistant integration"},{key:"sandbox-enabled",enabled:!0,description:"Enable sandbox playground"}],routes:H,notes:"ContractSpec platform blueprint - defines the app's capabilities, features, and configuration."};export{Y as contractspecBlueprint};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var j={appNameKey:"ContractSpec",assets:[{type:"logo",url:"/logo.svg",dimensions:{width:180,height:40}},{type:"logo-dark",url:"/logo-dark.svg",dimensions:{width:180,height:40}},{type:"favicon",url:"/favicon.ico",dimensions:{width:32,height:32}},{type:"og-image",url:"/og-image.png",dimensions:{width:1200,height:630}}],colorTokens:{primary:"#0ea5e9",secondary:"#6366f1"}},
|
|
1
|
+
var q=Object.defineProperty;var x=(j)=>j;function z(j,k){this[j]=x.bind(null,k)}var A=(j,k)=>{for(var m in k)q(j,m,{get:k[m],enumerable:!0,configurable:!0,set:z.bind(k,m)})};var B=(j,k)=>()=>(j&&(k=j(j=0)),k);var E={appNameKey:"ContractSpec",assets:[{type:"logo",url:"/logo.svg",dimensions:{width:180,height:40}},{type:"logo-dark",url:"/logo-dark.svg",dimensions:{width:180,height:40}},{type:"favicon",url:"/favicon.ico",dimensions:{width:32,height:32}},{type:"og-image",url:"/og-image.png",dimensions:{width:1200,height:630}}],colorTokens:{primary:"#0ea5e9",secondary:"#6366f1"}},F={appName:"ContractSpec",assets:{logo:"/logo.svg",logoDark:"/logo-dark.svg",favicon:"/favicon.ico",ogImage:"/og-image.png"},colors:{primary:"#0ea5e9",secondary:"#6366f1"},domain:"contractspec.io"};export{F as contractspecResolvedBranding,E as contractspecBrandingDefaults};
|