diff --git a/apps/website/src/components/shared/Nav.tsx b/apps/website/src/components/shared/Nav.tsx index 467f2e1fe..54e10c4a8 100644 --- a/apps/website/src/components/shared/Nav.tsx +++ b/apps/website/src/components/shared/Nav.tsx @@ -195,7 +195,6 @@ export function Nav() { {(mobileTab === 'docs' && isDocsPage && currentLib) && (
{currentLib.sections.map((section) => { - const headerColor = section.color === 'red' ? tokens.colors.angularRed : tokens.colors.accent; return (
+ + + `, }) export class DebugPageComponent { diff --git a/cockpit/chat/generative-ui/angular/src/app/generative-ui.component.ts b/cockpit/chat/generative-ui/angular/src/app/generative-ui.component.ts index ebfd92f18..df5121531 100644 --- a/cockpit/chat/generative-ui/angular/src/app/generative-ui.component.ts +++ b/cockpit/chat/generative-ui/angular/src/app/generative-ui.component.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { ChatComponent, views } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { environment } from '../environments/environment'; import { WeatherCardComponent } from './views/weather-card.component'; import { StatCardComponent } from './views/stat-card.component'; @@ -16,8 +17,12 @@ const myViews = views({ @Component({ selector: 'app-generative-ui', standalone: true, - imports: [ChatComponent], - template: ``, + imports: [ChatComponent, ExampleChatLayoutComponent], + template: ` + + + + `, }) export class GenerativeUiComponent { protected readonly agentRef = agent({ diff --git a/cockpit/chat/input/angular/src/app/input.component.ts b/cockpit/chat/input/angular/src/app/input.component.ts index b670f8b18..eeb4d43ad 100644 --- a/cockpit/chat/input/angular/src/app/input.component.ts +++ b/cockpit/chat/input/angular/src/app/input.component.ts @@ -2,6 +2,7 @@ import { Component, computed } from '@angular/core'; import { ChatInputComponent as ChatInputPrimitive } from '@cacheplane/chat'; import { ChatMessagesComponent } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { environment } from '../environments/environment'; @@ -13,10 +14,10 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-input', standalone: true, - imports: [ChatInputPrimitive, ChatMessagesComponent], + imports: [ChatInputPrimitive, ChatMessagesComponent, ExampleChatLayoutComponent], template: ` -
-
+ +

Chat Input Demo

@@ -27,8 +28,7 @@ import { environment } from '../environments/environment';
- -
+
+ `, }) export class InputComponent { diff --git a/cockpit/chat/interrupts/angular/src/app/interrupts.component.ts b/cockpit/chat/interrupts/angular/src/app/interrupts.component.ts index 970bc2bfc..3d1147d8f 100644 --- a/cockpit/chat/interrupts/angular/src/app/interrupts.component.ts +++ b/cockpit/chat/interrupts/angular/src/app/interrupts.component.ts @@ -2,6 +2,7 @@ import { Component, computed } from '@angular/core'; import { JsonPipe } from '@angular/common'; import { ChatComponent, ChatInterruptPanelComponent } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { environment } from '../environments/environment'; @@ -14,12 +15,11 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-interrupts', standalone: true, - imports: [ChatComponent, ChatInterruptPanelComponent, JsonPipe], + imports: [ChatComponent, ChatInterruptPanelComponent, JsonPipe, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class InterruptsComponent { diff --git a/cockpit/chat/messages/angular/src/app/messages.component.ts b/cockpit/chat/messages/angular/src/app/messages.component.ts index 395bcb814..d81f16524 100644 --- a/cockpit/chat/messages/angular/src/app/messages.component.ts +++ b/cockpit/chat/messages/angular/src/app/messages.component.ts @@ -5,6 +5,7 @@ import { ChatInputComponent, ChatTypingIndicatorComponent, } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { environment } from '../environments/environment'; @@ -18,10 +19,10 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-messages', standalone: true, - imports: [ChatMessagesComponent, ChatInputComponent, ChatTypingIndicatorComponent], + imports: [ChatMessagesComponent, ChatInputComponent, ChatTypingIndicatorComponent, ExampleChatLayoutComponent], template: ` -
-
+ +

Chat Messages Primitives

@@ -33,8 +34,7 @@ import { environment } from '../environments/environment';
- -
+ + `, }) export class MessagesComponent { diff --git a/cockpit/chat/subagents/angular/src/app/subagents.component.ts b/cockpit/chat/subagents/angular/src/app/subagents.component.ts index 1561f1b85..36f465368 100644 --- a/cockpit/chat/subagents/angular/src/app/subagents.component.ts +++ b/cockpit/chat/subagents/angular/src/app/subagents.component.ts @@ -5,6 +5,7 @@ import { ChatSubagentsComponent, ChatSubagentCardComponent, } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { environment } from '../environments/environment'; @@ -16,12 +17,11 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-subagents', standalone: true, - imports: [ChatComponent, ChatSubagentsComponent, ChatSubagentCardComponent], + imports: [ChatComponent, ChatSubagentsComponent, ChatSubagentCardComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class SubagentsComponent { diff --git a/cockpit/chat/theming/angular/src/app/theming.component.ts b/cockpit/chat/theming/angular/src/app/theming.component.ts index a567fca35..571734262 100644 --- a/cockpit/chat/theming/angular/src/app/theming.component.ts +++ b/cockpit/chat/theming/angular/src/app/theming.component.ts @@ -1,6 +1,8 @@ // SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0 import { Component, signal } from '@angular/core'; +import { TitleCasePipe } from '@angular/common'; import { ChatComponent } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { environment } from '../environments/environment'; @@ -47,12 +49,11 @@ const THEMES: Record> = { @Component({ selector: 'app-theming', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent, TitleCasePipe], template: ` -
- - -
+ + `, }) export class ThemingComponent { diff --git a/cockpit/chat/threads/angular/src/app/threads.component.ts b/cockpit/chat/threads/angular/src/app/threads.component.ts index a67e24298..cb9ff0f34 100644 --- a/cockpit/chat/threads/angular/src/app/threads.component.ts +++ b/cockpit/chat/threads/angular/src/app/threads.component.ts @@ -2,6 +2,7 @@ import { Component, signal } from '@angular/core'; import { ChatComponent, ChatThreadListComponent, type Thread } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { environment } from '../environments/environment'; /** @@ -11,20 +12,20 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-threads', standalone: true, - imports: [ChatComponent, ChatThreadListComponent], + imports: [ChatComponent, ChatThreadListComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class ThreadsComponent { diff --git a/cockpit/chat/timeline/angular/src/app/timeline.component.ts b/cockpit/chat/timeline/angular/src/app/timeline.component.ts index 354c71ffd..ba6bb4adf 100644 --- a/cockpit/chat/timeline/angular/src/app/timeline.component.ts +++ b/cockpit/chat/timeline/angular/src/app/timeline.component.ts @@ -1,6 +1,7 @@ // SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0 import { Component } from '@angular/core'; import { ChatComponent, ChatTimelineSliderComponent } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { environment } from '../environments/environment'; @@ -12,12 +13,11 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-timeline', standalone: true, - imports: [ChatComponent, ChatTimelineSliderComponent], + imports: [ChatComponent, ChatTimelineSliderComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class TimelineComponent { diff --git a/cockpit/chat/tool-calls/angular/src/app/tool-calls.component.ts b/cockpit/chat/tool-calls/angular/src/app/tool-calls.component.ts index a7e37e448..84530c5bb 100644 --- a/cockpit/chat/tool-calls/angular/src/app/tool-calls.component.ts +++ b/cockpit/chat/tool-calls/angular/src/app/tool-calls.component.ts @@ -5,6 +5,7 @@ import { ChatToolCallsComponent, ChatToolCallCardComponent, } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { environment } from '../environments/environment'; @@ -15,12 +16,11 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-tool-calls', standalone: true, - imports: [ChatComponent, ChatToolCallsComponent, ChatToolCallCardComponent], + imports: [ChatComponent, ChatToolCallsComponent, ChatToolCallCardComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class ToolCallsComponent { diff --git a/cockpit/deep-agents/filesystem/angular/src/app/filesystem.component.ts b/cockpit/deep-agents/filesystem/angular/src/app/filesystem.component.ts index 872a1184a..c997cc1a2 100644 --- a/cockpit/deep-agents/filesystem/angular/src/app/filesystem.component.ts +++ b/cockpit/deep-agents/filesystem/angular/src/app/filesystem.component.ts @@ -1,5 +1,6 @@ import { Component, computed } from '@angular/core'; import { ChatComponent, views } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { signalStateStore } from '@cacheplane/render'; import { environment } from '../environments/environment'; @@ -29,12 +30,11 @@ interface FileOperation { @Component({ selector: 'app-filesystem', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class FilesystemComponent { diff --git a/cockpit/deep-agents/memory/angular/src/app/memory.component.ts b/cockpit/deep-agents/memory/angular/src/app/memory.component.ts index 847917984..08699463a 100644 --- a/cockpit/deep-agents/memory/angular/src/app/memory.component.ts +++ b/cockpit/deep-agents/memory/angular/src/app/memory.component.ts @@ -1,5 +1,6 @@ import { Component, computed } from '@angular/core'; import { ChatComponent } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { environment } from '../environments/environment'; @@ -18,12 +19,11 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-da-memory', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class MemoryComponent { diff --git a/cockpit/deep-agents/planning/angular/src/app/planning.component.ts b/cockpit/deep-agents/planning/angular/src/app/planning.component.ts index f20c2fb81..4004098c7 100644 --- a/cockpit/deep-agents/planning/angular/src/app/planning.component.ts +++ b/cockpit/deep-agents/planning/angular/src/app/planning.component.ts @@ -1,5 +1,6 @@ import { Component, computed } from '@angular/core'; import { ChatComponent, views } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { signalStateStore } from '@cacheplane/render'; import { environment } from '../environments/environment'; @@ -30,12 +31,11 @@ interface PlanStep { @Component({ selector: 'app-planning', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class PlanningComponent { diff --git a/cockpit/deep-agents/sandboxes/angular/src/app/sandboxes.component.ts b/cockpit/deep-agents/sandboxes/angular/src/app/sandboxes.component.ts index a17949d02..0d81d87ff 100644 --- a/cockpit/deep-agents/sandboxes/angular/src/app/sandboxes.component.ts +++ b/cockpit/deep-agents/sandboxes/angular/src/app/sandboxes.component.ts @@ -1,5 +1,6 @@ import { Component, computed } from '@angular/core'; import { ChatComponent, views } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { signalStateStore } from '@cacheplane/render'; import { environment } from '../environments/environment'; @@ -27,12 +28,11 @@ interface CodeExecution { @Component({ selector: 'app-sandboxes', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class SandboxesComponent { diff --git a/cockpit/deep-agents/skills/angular/src/app/skills.component.ts b/cockpit/deep-agents/skills/angular/src/app/skills.component.ts index c670f3cf8..089035cc8 100644 --- a/cockpit/deep-agents/skills/angular/src/app/skills.component.ts +++ b/cockpit/deep-agents/skills/angular/src/app/skills.component.ts @@ -1,5 +1,6 @@ import { Component, computed } from '@angular/core'; import { ChatComponent, views } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { signalStateStore } from '@cacheplane/render'; import { environment } from '../environments/environment'; @@ -29,12 +30,11 @@ interface SkillInvocation { @Component({ selector: 'app-skills', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class SkillsComponent { diff --git a/cockpit/deep-agents/subagents/angular/src/app/subagents.component.ts b/cockpit/deep-agents/subagents/angular/src/app/subagents.component.ts index 412aa989a..f2fd7c23a 100644 --- a/cockpit/deep-agents/subagents/angular/src/app/subagents.component.ts +++ b/cockpit/deep-agents/subagents/angular/src/app/subagents.component.ts @@ -1,5 +1,6 @@ import { Component, computed } from '@angular/core'; import { ChatComponent } from '@cacheplane/chat'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { agent } from '@cacheplane/angular'; import { environment } from '../environments/environment'; @@ -27,12 +28,11 @@ interface Delegation { @Component({ selector: 'app-subagents', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class SubagentsComponent { diff --git a/cockpit/langgraph/deployment-runtime/angular/src/app/deployment-runtime.component.ts b/cockpit/langgraph/deployment-runtime/angular/src/app/deployment-runtime.component.ts index ab9429322..8035f1d97 100644 --- a/cockpit/langgraph/deployment-runtime/angular/src/app/deployment-runtime.component.ts +++ b/cockpit/langgraph/deployment-runtime/angular/src/app/deployment-runtime.component.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { ChatComponent } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { environment } from '../environments/environment'; /** @@ -13,8 +14,12 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-deployment-runtime', standalone: true, - imports: [ChatComponent], - template: ``, + imports: [ChatComponent, ExampleChatLayoutComponent], + template: ` + + + + `, }) export class DeploymentRuntimeComponent { protected readonly stream = agent({ diff --git a/cockpit/langgraph/durable-execution/angular/src/app/durable-execution.component.ts b/cockpit/langgraph/durable-execution/angular/src/app/durable-execution.component.ts index 3345b55c2..f29351bfc 100644 --- a/cockpit/langgraph/durable-execution/angular/src/app/durable-execution.component.ts +++ b/cockpit/langgraph/durable-execution/angular/src/app/durable-execution.component.ts @@ -2,6 +2,7 @@ import { Component, computed } from '@angular/core'; import { ChatComponent, views } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; import { signalStateStore } from '@cacheplane/render'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { environment } from '../environments/environment'; import { StepPipelineComponent } from './views/step-pipeline.component'; @@ -36,12 +37,12 @@ const STEP_LABELS: Record = { @Component({ selector: 'app-durable-execution', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
- -
- - + + `, }) export class DurableExecutionComponent { diff --git a/cockpit/langgraph/interrupts/angular/src/app/interrupts.component.ts b/cockpit/langgraph/interrupts/angular/src/app/interrupts.component.ts index fade2da19..dfb210c94 100644 --- a/cockpit/langgraph/interrupts/angular/src/app/interrupts.component.ts +++ b/cockpit/langgraph/interrupts/angular/src/app/interrupts.component.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { ChatComponent, ChatInterruptPanelComponent, views, type InterruptAction } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { signalStateStore } from '@cacheplane/render'; import { environment } from '../environments/environment'; import { ApprovalCardComponent } from './views/approval-card.component'; @@ -21,16 +22,18 @@ import { ApprovalCardComponent } from './views/approval-card.component'; @Component({ selector: 'app-interrupts', standalone: true, - imports: [ChatComponent, ChatInterruptPanelComponent], + imports: [ChatComponent, ChatInterruptPanelComponent, ExampleChatLayoutComponent], template: ` -
- - @if (stream.interrupt()) { -
- -
- } -
+ +
+ + @if (stream.interrupt()) { +
+ +
+ } +
+
`, }) export class InterruptsComponent { diff --git a/cockpit/langgraph/memory/angular/src/app/memory.component.ts b/cockpit/langgraph/memory/angular/src/app/memory.component.ts index ae954171f..c4e2778c7 100644 --- a/cockpit/langgraph/memory/angular/src/app/memory.component.ts +++ b/cockpit/langgraph/memory/angular/src/app/memory.component.ts @@ -2,6 +2,7 @@ import { Component, computed } from '@angular/core'; import { ChatComponent } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { environment } from '../environments/environment'; /** @@ -19,12 +20,12 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-memory', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class MemoryComponent { diff --git a/cockpit/langgraph/persistence/angular/src/app/persistence.component.ts b/cockpit/langgraph/persistence/angular/src/app/persistence.component.ts index 67f2218b6..0d5766ef5 100644 --- a/cockpit/langgraph/persistence/angular/src/app/persistence.component.ts +++ b/cockpit/langgraph/persistence/angular/src/app/persistence.component.ts @@ -1,6 +1,7 @@ import { Component, signal } from '@angular/core'; import { ChatComponent } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { environment } from '../environments/environment'; interface Thread { @@ -22,61 +23,50 @@ interface Thread { @Component({ selector: 'app-persistence', standalone: true, - imports: [ChatComponent], - styles: ` - :host { - display: flex; - height: 100vh; - } - `, + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` - + + - + `, }) export class PersistenceComponent { diff --git a/cockpit/langgraph/streaming/angular/src/app/streaming.component.ts b/cockpit/langgraph/streaming/angular/src/app/streaming.component.ts index cc445bfd3..63eed12a4 100644 --- a/cockpit/langgraph/streaming/angular/src/app/streaming.component.ts +++ b/cockpit/langgraph/streaming/angular/src/app/streaming.component.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { ChatComponent } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { environment } from '../environments/environment'; /** @@ -14,8 +15,12 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-streaming', standalone: true, - imports: [ChatComponent], - template: ``, + imports: [ChatComponent, ExampleChatLayoutComponent], + template: ` + + + + `, }) export class StreamingComponent { protected readonly stream = agent({ diff --git a/cockpit/langgraph/subgraphs/angular/src/app/subgraphs.component.ts b/cockpit/langgraph/subgraphs/angular/src/app/subgraphs.component.ts index 9b98c234a..e7c7a0b74 100644 --- a/cockpit/langgraph/subgraphs/angular/src/app/subgraphs.component.ts +++ b/cockpit/langgraph/subgraphs/angular/src/app/subgraphs.component.ts @@ -2,6 +2,7 @@ import { Component, computed } from '@angular/core'; import { ChatComponent } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { environment } from '../environments/environment'; /** @@ -19,12 +20,12 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-subgraphs', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
- - -
+ + `, }) export class SubgraphsComponent { diff --git a/cockpit/langgraph/time-travel/angular/src/app/time-travel.component.ts b/cockpit/langgraph/time-travel/angular/src/app/time-travel.component.ts index 492db6a64..384316621 100644 --- a/cockpit/langgraph/time-travel/angular/src/app/time-travel.component.ts +++ b/cockpit/langgraph/time-travel/angular/src/app/time-travel.component.ts @@ -2,6 +2,7 @@ import { Component, computed, signal } from '@angular/core'; import { ChatComponent } from '@cacheplane/chat'; import { agent } from '@cacheplane/angular'; import type { ThreadState } from '@cacheplane/angular'; +import { ExampleChatLayoutComponent } from '@cacheplane/example-layouts'; import { environment } from '../environments/environment'; /** @@ -17,15 +18,16 @@ import { environment } from '../environments/environment'; @Component({ selector: 'app-time-travel', standalone: true, - imports: [ChatComponent], + imports: [ChatComponent, ExampleChatLayoutComponent], template: ` -
+ - + -
- - + + `, }) export class TimeTravelComponent { diff --git a/cockpit/render/computed-functions/angular/src/app/computed-functions.component.ts b/cockpit/render/computed-functions/angular/src/app/computed-functions.component.ts index 02e687dc1..2e7c02a63 100644 --- a/cockpit/render/computed-functions/angular/src/app/computed-functions.component.ts +++ b/cockpit/render/computed-functions/angular/src/app/computed-functions.component.ts @@ -9,6 +9,7 @@ import { import type { Spec } from '@json-render/core'; import { StreamingSimulator } from '../../../../shared/streaming-simulator'; import { StreamingTimelineComponent } from '../../../../shared/streaming-timeline.component'; +import { ExampleSplitLayoutComponent } from '@cacheplane/example-layouts'; import { COMPUTED_FUNCTIONS_SPECS } from './specs'; // --- Inline view components --- @@ -111,11 +112,11 @@ class DemoCardComponent { @Component({ selector: 'app-computed-functions', standalone: true, - imports: [RenderSpecComponent, StreamingTimelineComponent], + imports: [RenderSpecComponent, StreamingTimelineComponent, ExampleSplitLayoutComponent], template: ` -
+ -
+
Spec: @for (spec of specs; track spec.label; let i = $index) { - @if (getItems().length) { -
- @for (item of getItems(); track $index) { -
- {{ item }} - -
- } -
- } -

- Modify /items array in the store. -

-
+ +
+
List Controls
+
+ + @if (getItems().length) { +
+ @for (item of getItems(); track $index) { +
+ {{ item }} + +
+ } +
+ } +

+ Modify /items array in the store. +

- -
+ + `, }) export class RepeatLoopsComponent implements OnDestroy { diff --git a/cockpit/render/spec-rendering/angular/src/app/spec-rendering.component.ts b/cockpit/render/spec-rendering/angular/src/app/spec-rendering.component.ts index 10ed745cd..536d76a37 100644 --- a/cockpit/render/spec-rendering/angular/src/app/spec-rendering.component.ts +++ b/cockpit/render/spec-rendering/angular/src/app/spec-rendering.component.ts @@ -9,6 +9,7 @@ import { import type { Spec } from '@json-render/core'; import { StreamingSimulator } from '../../../../shared/streaming-simulator'; import { StreamingTimelineComponent } from '../../../../shared/streaming-timeline.component'; +import { ExampleSplitLayoutComponent } from '@cacheplane/example-layouts'; import { SPEC_RENDERING_SPECS } from './specs'; // --- Inline view components registered in the demo registry --- @@ -124,11 +125,11 @@ class DemoCardComponent { @Component({ selector: 'app-spec-rendering', standalone: true, - imports: [RenderSpecComponent, StreamingTimelineComponent], + imports: [RenderSpecComponent, StreamingTimelineComponent, ExampleSplitLayoutComponent], template: ` -
+ -
+
Spec: @for (spec of specs; track spec.label; let i = $index) {