diff --git a/docs/api-reference/veryfront/chat.md b/docs/api-reference/veryfront/chat.md index 0e1f0e2a4c..acaf3ef1af 100644 --- a/docs/api-reference/veryfront/chat.md +++ b/docs/api-reference/veryfront/chat.md @@ -144,7 +144,7 @@ Result returned from use agent. | `AgentPicker` | AgentPicker - render `` for the default data-driven combobox, or compose `AgentPicker.Trigger`, `Content`, `Search`, `List`, `Item`, `Create`, and `Manage` for a custom menu. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/agent-picker.tsx#L420) | | `AppShell` | Compound AppShell. Compose: | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/ui/app-shell.tsx#L628) | | `AttachmentPill` | AttachmentPill - render `` for the default chip, or compose `AttachmentPill.Root` + `.Thumbnail` / `.Icon` / `.Label` / `.Retry` / `.Remove` for a custom layout. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachment-pill.tsx#L495) | -| `AttachmentsPanel` | AttachmentsPanel - render `` for the default panel, or compose `AttachmentsPanel.Root` + `List` / `Item` / `Empty` / `Action` for a custom layout. Mirrors the `ToolCall` / `Sources` compounds: render it, or compose it. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L611) | +| `AttachmentsPanel` | AttachmentsPanel - render `` for the default panel, or compose `AttachmentsPanel.Root` + `List` / `Item` / `Empty` / `Action` for a custom layout. Mirrors the `ToolCall` / `Sources` compounds: render it, or compose it. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L650) | | `BranchPicker` | Branch picker with addressable previous, count, and next leaves. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/branch-picker.tsx#L192) | | `Chat` | Render chat components through the preset or its composable sub-parts. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/chat-preset.tsx#L37) | | `ChatActions` | ChatActions - render `` for the default preset menu, or compose `ChatActions.Trigger` / `Content` / `Item` (each reads `useChatActions()`) for a custom menu. Mirrors the `ToolCall` compound: render it, or compose it. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat-actions.tsx#L197) | @@ -308,13 +308,13 @@ Result returned from use agent. | `AttachmentInfo` | Public API contract for attachment info. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachment-pill.tsx#L17) | | `AttachmentPillContextValue` | Derived per-pill view state shared with `AttachmentPill.*` sub-parts. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachment-pill.tsx#L152) | | `AttachmentPillProps` | Props accepted by attachment pill. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachment-pill.tsx#L41) | -| `AttachmentsPanelActionProps` | Props for `AttachmentsPanel.Action` - the upload/attach button. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L554) | +| `AttachmentsPanelActionProps` | Props for `AttachmentsPanel.Action` - the upload/attach button. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L593) | | `AttachmentsPanelContextValue` | Per-panel state shared with `AttachmentsPanel.*` sub-parts. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L48) | -| `AttachmentsPanelEmptyProps` | Props for `AttachmentsPanel.Empty` - the no-files state. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L508) | +| `AttachmentsPanelEmptyProps` | Props for `AttachmentsPanel.Empty` - the no-files state. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L547) | | `AttachmentsPanelHeaderProps` | Props for `AttachmentsPanel.Header` - the title row + close button. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L193) | | `AttachmentsPanelItemProps` | Props accepted by an individual `AttachmentsPanel.Item` (attachment card). | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L272) | | `AttachmentsPanelListProps` | Props for `AttachmentsPanel.List` - the scrollable list of file rows. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L241) | -| `AttachmentsPanelLoadingProps` | Props for `AttachmentsPanel.Loading` - the initial-fetch placeholder. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L465) | +| `AttachmentsPanelLoadingProps` | Props for `AttachmentsPanel.Loading` - the initial-fetch placeholder. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L504) | | `AttachmentsPanelProps` | Props accepted by `AttachmentsPanel` / `AttachmentsPanel.Root`. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/attachments-panel.tsx#L88) | | `BranchInfo` | Public API contract for branch info. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/agent/react/use-chat/types.ts#L76) | | `BranchPickerActionProps` | Props shared by `BranchPicker.Previous` and `BranchPicker.Next`. | [source](https://github.com/veryfront/veryfront-code/blob/main/src/react/components/chat/chat/components/branch-picker.tsx#L20) | diff --git a/docs/rfcs/29-chat-api-shape/README.md b/docs/rfcs/29-chat-api-shape/README.md index 93c268eea6..0fa36e9c78 100644 --- a/docs/rfcs/29-chat-api-shape/README.md +++ b/docs/rfcs/29-chat-api-shape/README.md @@ -42,6 +42,8 @@ The complete set, as of `main`, and checked one delta at a time: every row links | [`useChatScroll`](./hooks/use-chat-scroll.md#usechatscroll---new---partly-shipped-srcreactcomponentschatchathooksuse-stick-to-bottomts177) | `partly shipped` | `src/react/components/chat/chat/hooks/use-stick-to-bottom.ts:177` | | [`ChatInput.Field` IME guard + native surface](./components/chat-input.md#chatinputfield---changed---partly-shipped-srcreactcomponentschatchatcompositionchat-composertypests18) | `partly shipped` | `src/react/primitives/input-box.tsx:37` (guard); the native surface landed in `src/react/components/chat/chat/composition/chat-composer.types.ts:18` | | [`ChatInput` flat sub-part exports](./components/chat-input.md#chatinput-flat-sub-part-exports---new---shipped-srcchatindexts250) | `shipped` | `src/chat/index.ts:250` | +| [`AttachmentsPanel.Item.Name`](./components/attachments-panel.md#attachmentspanelitemname---new---shipped-srcreactcomponentschatchatcomponentsattachments-paneltsx363) | `shipped` | `src/react/components/chat/chat/components/attachments-panel.tsx:363` | +| [`AttachmentsPanel.Item.Size`](./components/attachments-panel.md#attachmentspanelitemsize---new---shipped-srcreactcomponentschatchatcomponentsattachments-paneltsx386) | `shipped` | `src/react/components/chat/chat/components/attachments-panel.tsx:386` | ## The three layers diff --git a/docs/rfcs/29-chat-api-shape/components/attachments-panel.md b/docs/rfcs/29-chat-api-shape/components/attachments-panel.md index bd89b5e444..20027512bc 100644 --- a/docs/rfcs/29-chat-api-shape/components/attachments-panel.md +++ b/docs/rfcs/29-chat-api-shape/components/attachments-panel.md @@ -2,10 +2,10 @@ A compound component for browsing and managing durable uploaded files, with the same compositional depth as messages. -> **Status: RFC 29 - proposed; nothing on this page has landed.** Per-symbol truth, verified against `src/` by `deno task lint:rfc-status`: +> **Status: RFC 29 - partly landed.** Per-symbol truth, verified against `src/` by `deno task lint:rfc-status`: > -> - **Exported from `veryfront/chat` today:** `AttachmentsPanel`, `AttachmentsPanel.Action`, `AttachmentsPanel.Empty`, `AttachmentsPanel.Header`, `AttachmentsPanel.Item`, `AttachmentsPanel.Item.Icon`, `AttachmentsPanel.Item.Preview`, `AttachmentsPanel.Item.Remove`, `AttachmentsPanel.List`, `AttachmentsPanel.Loading`, `AttachmentsPanel.Root`, `useAttachments` -> - **Not exported today:** `AttachmentsPanel.Item.Name`, `AttachmentsPanel.Item.Size` +> - **Exported from `veryfront/chat` today:** `AttachmentsPanel`, `AttachmentsPanel.Action`, `AttachmentsPanel.Empty`, `AttachmentsPanel.Header`, `AttachmentsPanel.Item`, `AttachmentsPanel.Item.Icon`, `AttachmentsPanel.Item.Name`, `AttachmentsPanel.Item.Preview`, `AttachmentsPanel.Item.Remove`, `AttachmentsPanel.Item.Size`, `AttachmentsPanel.List`, `AttachmentsPanel.Loading`, `AttachmentsPanel.Root`, `useAttachments` +> - **Not exported today:** none > > An exported symbol is not a landed delta - see [reading the status block](../README.md#reading-the-status-block). Full rationale: [`29-chat-api-shape.md`](../../29-chat-api-shape.md). @@ -34,8 +34,8 @@ import { - [`.Item`](#attachmentspanelitem---changed) - `changed`: pill `
` → `
  • `; `data-upload-state` / `data-active` / `data-error` proposed - [`.Item.Icon`](#attachmentspanelitemicon---changed) - `changed`: `
    ` → `` - [`.Item.Preview`](#attachmentspanelitempreview---changed) - `changed`: wrapper square → one `` background thumbnail -- [`.Item.Name`](#attachmentspanelitemname-_proposed---2975_---new) - `new`: no source today (#2975) -- [`.Item.Size`](#attachmentspanelitemsize-_proposed---2975_---new) - `new`: no source today (#2975) +- [`.Item.Name`](#attachmentspanelitemname---new---shipped-srcreactcomponentschatchatcomponentsattachments-paneltsx363) - `new`, **`shipped`**: the file-name leaf (#2975) +- [`.Item.Size`](#attachmentspanelitemsize---new---shipped-srcreactcomponentschatchatcomponentsattachments-paneltsx386) - `new`, **`shipped`**: the formatted-size leaf (#2975) - [`.Item.Remove`](#attachmentspanelitemremove---changed) - `changed`: `icon` prop deleted - [`.Loading`](#attachmentspanelloading---changed) - `changed`: self-gates on fetch state (today Root-gated) - [`.Empty`](#attachmentspanelempty---changed) - `changed`: self-gates on zero files (today Root-gated) @@ -53,8 +53,8 @@ import { {/*
  • - one file row · data-upload-state · data-active · data-error (proposed) */} {/* - file-type / state square (when not an image) */} {/* - image thumbnail; null for non-images */} - {/* - file name (proposed, #2975) */} - {/* - formatted byte size (proposed, #2975) */} + {/*

    - file name (shipped, #2975) */} + {/*

    - formatted byte size (shipped, #2975) */} {/*