feat: GFM tables + task-list checkboxes in chat markdown views (0.0.22)#195
Merged
Conversation
Provides a Signal<boolean> token that MarkdownTableRowComponent supplies to its subtree so MarkdownTableCellComponent can render <th> vs <td> without passing the flag down as an @input. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Renders GFM table nodes as <table class="chat-md-table"> with <thead> (first isHeader row) and <tbody> (remaining rows) via MarkdownChildrenComponent. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Renders <tr class="chat-md-table-row"> with optional --header modifier class. Provides IS_HEADER_ROW signal token to its injector subtree so descendant cells can select <th> vs <td> without an extra input binding. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Renders <th> when IS_HEADER_ROW token is truthy, <td> otherwise. Applies [style.text-align] from node().alignment when non-null. Spec covers td/th switching, alignment binding, and class presence. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nent When node().task is defined, prepends a disabled <input type="checkbox"> and adds the chat-md-list-item--task BEM modifier class to the <li>. Spec covers: plain item (no checkbox), unchecked task, checked task. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ace; style scaffold - cacheplaneMarkdownViews now has 22 entries (table, table-row, table-cell added) - Registry spec updated to assert 22 sorted keys - public-api.ts exports MarkdownTable*, MarkdownTableRow*, MarkdownTableCell* and IS_HEADER_ROW - chat-markdown.styles.ts: display:contents on chat-md-table/row/cell wrappers for layout transparency; task-list class selectors alongside existing :has() rule Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the remaining markdown view components needed to fully expose
@cacheplane/partial-markdown@0.2.0's AST surface in@ngaf/chat. Citations shipped in 0.0.21 already; this round wires GFM tables and the task-list checkbox prefix.New view components
chat-md-table—<table>wrapper with<thead>/<tbody>split based on rowisHeaderflagschat-md-table-row—<tr>; providesIS_HEADER_ROWreactive token (InjectionToken<Signal<boolean>>) so child cells render<th>vs<td>correctlychat-md-table-cell—<th>or<td>per row context; appliestext-alignfromalignment('left' | 'center' | 'right' | null)List-item update
MarkdownListItemComponentrenders<input type="checkbox" disabled [checked]="task.checked">prefix whennode.taskis defined; addschat-md-list-item--taskclass.Style scaffold
CHAT_MARKDOWN_STYLES.display: contentson the custom elements keeps the table layout context intact.Synchronized version bump
All 16
@ngaf/*libraries →0.0.22. Single tagngaf-v0.0.22at the squash-merge commit.Test plan
npx nx run chat:testgreennpx nx run chat:lintgreen