@oxy.so/bloom 4.19.1 → 4.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/docs/adoption-matrix.mdx +3 -3
  2. package/docs/ai-chat.mdx +32 -1
  3. package/docs/composer-panel.mdx +4 -0
  4. package/lib/commonjs/ai-chat/AiChat.js +2 -1
  5. package/lib/commonjs/ai-chat/AiChat.js.map +1 -1
  6. package/lib/commonjs/ai-chat/AiChat.web.js +2 -1
  7. package/lib/commonjs/ai-chat/AiChat.web.js.map +1 -1
  8. package/lib/commonjs/ai-chat/AiChatControls.js +60 -4
  9. package/lib/commonjs/ai-chat/AiChatControls.js.map +1 -1
  10. package/lib/commonjs/ai-chat/AiChatFeedbackRowBase.js +40 -12
  11. package/lib/commonjs/ai-chat/AiChatFeedbackRowBase.js.map +1 -1
  12. package/lib/commonjs/ai-chat/AiChatMessages.js +31 -5
  13. package/lib/commonjs/ai-chat/AiChatMessages.js.map +1 -1
  14. package/lib/commonjs/ai-chat/bindAiChat.js +10 -0
  15. package/lib/commonjs/ai-chat/bindAiChat.js.map +1 -1
  16. package/lib/commonjs/ai-chat/index.js +1 -1
  17. package/lib/commonjs/ai-chat/index.js.map +1 -1
  18. package/lib/commonjs/ai-chat/index.web.js +1 -1
  19. package/lib/commonjs/ai-chat/index.web.js.map +1 -1
  20. package/lib/commonjs/ai-chat/shared.js +11 -2
  21. package/lib/commonjs/ai-chat/shared.js.map +1 -1
  22. package/lib/commonjs/composer-panel/AttachmentStrip.js +108 -8
  23. package/lib/commonjs/composer-panel/AttachmentStrip.js.map +1 -1
  24. package/lib/commonjs/composer-panel/ComposerPanelBase.js +6 -2
  25. package/lib/commonjs/composer-panel/ComposerPanelBase.js.map +1 -1
  26. package/lib/commonjs/composer-panel/ComposerPillBase.js +2 -1
  27. package/lib/commonjs/composer-panel/ComposerPillBase.js.map +1 -1
  28. package/lib/commonjs/composer-panel/shared.js +2 -0
  29. package/lib/commonjs/composer-panel/shared.js.map +1 -1
  30. package/lib/commonjs/composer-panel/use-attachment-queue.js +5 -2
  31. package/lib/commonjs/composer-panel/use-attachment-queue.js.map +1 -1
  32. package/lib/module/ai-chat/AiChat.js +1 -0
  33. package/lib/module/ai-chat/AiChat.js.map +1 -1
  34. package/lib/module/ai-chat/AiChat.web.js +1 -0
  35. package/lib/module/ai-chat/AiChat.web.js.map +1 -1
  36. package/lib/module/ai-chat/AiChatControls.js +58 -4
  37. package/lib/module/ai-chat/AiChatControls.js.map +1 -1
  38. package/lib/module/ai-chat/AiChatFeedbackRowBase.js +41 -13
  39. package/lib/module/ai-chat/AiChatFeedbackRowBase.js.map +1 -1
  40. package/lib/module/ai-chat/AiChatMessages.js +30 -4
  41. package/lib/module/ai-chat/AiChatMessages.js.map +1 -1
  42. package/lib/module/ai-chat/bindAiChat.js +11 -1
  43. package/lib/module/ai-chat/bindAiChat.js.map +1 -1
  44. package/lib/module/ai-chat/index.js +2 -2
  45. package/lib/module/ai-chat/index.js.map +1 -1
  46. package/lib/module/ai-chat/index.web.js +2 -2
  47. package/lib/module/ai-chat/index.web.js.map +1 -1
  48. package/lib/module/ai-chat/shared.js +11 -2
  49. package/lib/module/ai-chat/shared.js.map +1 -1
  50. package/lib/module/composer-panel/AttachmentStrip.js +108 -8
  51. package/lib/module/composer-panel/AttachmentStrip.js.map +1 -1
  52. package/lib/module/composer-panel/ComposerPanelBase.js +6 -2
  53. package/lib/module/composer-panel/ComposerPanelBase.js.map +1 -1
  54. package/lib/module/composer-panel/ComposerPillBase.js +2 -1
  55. package/lib/module/composer-panel/ComposerPillBase.js.map +1 -1
  56. package/lib/module/composer-panel/shared.js +2 -0
  57. package/lib/module/composer-panel/shared.js.map +1 -1
  58. package/lib/module/composer-panel/use-attachment-queue.js +5 -2
  59. package/lib/module/composer-panel/use-attachment-queue.js.map +1 -1
  60. package/lib/typescript/commonjs/ai-chat/AiChat.d.ts +4 -0
  61. package/lib/typescript/commonjs/ai-chat/AiChat.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/ai-chat/AiChat.web.d.ts +4 -0
  63. package/lib/typescript/commonjs/ai-chat/AiChat.web.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/ai-chat/AiChatControls.d.ts +22 -1
  65. package/lib/typescript/commonjs/ai-chat/AiChatControls.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/ai-chat/AiChatFeedbackRowBase.d.ts +5 -2
  67. package/lib/typescript/commonjs/ai-chat/AiChatFeedbackRowBase.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/ai-chat/AiChatMessages.d.ts +1 -1
  69. package/lib/typescript/commonjs/ai-chat/AiChatMessages.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/ai-chat/bindAiChat.d.ts +5 -1
  71. package/lib/typescript/commonjs/ai-chat/bindAiChat.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/ai-chat/index.d.ts +3 -3
  73. package/lib/typescript/commonjs/ai-chat/index.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/ai-chat/index.web.d.ts +3 -3
  75. package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/ai-chat/shared.d.ts +2 -2
  77. package/lib/typescript/commonjs/ai-chat/shared.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/ai-chat/types.d.ts +43 -5
  79. package/lib/typescript/commonjs/ai-chat/types.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/composer-panel/AttachmentStrip.d.ts +10 -1
  81. package/lib/typescript/commonjs/composer-panel/AttachmentStrip.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/composer-panel/ComposerPanelBase.d.ts +1 -1
  83. package/lib/typescript/commonjs/composer-panel/ComposerPanelBase.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/composer-panel/shared.d.ts +3 -0
  85. package/lib/typescript/commonjs/composer-panel/shared.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/composer-panel/types.d.ts +11 -0
  87. package/lib/typescript/commonjs/composer-panel/types.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/composer-panel/use-attachment-queue.d.ts.map +1 -1
  89. package/lib/typescript/module/ai-chat/AiChat.d.ts +4 -0
  90. package/lib/typescript/module/ai-chat/AiChat.d.ts.map +1 -1
  91. package/lib/typescript/module/ai-chat/AiChat.web.d.ts +4 -0
  92. package/lib/typescript/module/ai-chat/AiChat.web.d.ts.map +1 -1
  93. package/lib/typescript/module/ai-chat/AiChatControls.d.ts +22 -1
  94. package/lib/typescript/module/ai-chat/AiChatControls.d.ts.map +1 -1
  95. package/lib/typescript/module/ai-chat/AiChatFeedbackRowBase.d.ts +5 -2
  96. package/lib/typescript/module/ai-chat/AiChatFeedbackRowBase.d.ts.map +1 -1
  97. package/lib/typescript/module/ai-chat/AiChatMessages.d.ts +1 -1
  98. package/lib/typescript/module/ai-chat/AiChatMessages.d.ts.map +1 -1
  99. package/lib/typescript/module/ai-chat/bindAiChat.d.ts +5 -1
  100. package/lib/typescript/module/ai-chat/bindAiChat.d.ts.map +1 -1
  101. package/lib/typescript/module/ai-chat/index.d.ts +3 -3
  102. package/lib/typescript/module/ai-chat/index.d.ts.map +1 -1
  103. package/lib/typescript/module/ai-chat/index.web.d.ts +3 -3
  104. package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
  105. package/lib/typescript/module/ai-chat/shared.d.ts +2 -2
  106. package/lib/typescript/module/ai-chat/shared.d.ts.map +1 -1
  107. package/lib/typescript/module/ai-chat/types.d.ts +43 -5
  108. package/lib/typescript/module/ai-chat/types.d.ts.map +1 -1
  109. package/lib/typescript/module/composer-panel/AttachmentStrip.d.ts +10 -1
  110. package/lib/typescript/module/composer-panel/AttachmentStrip.d.ts.map +1 -1
  111. package/lib/typescript/module/composer-panel/ComposerPanelBase.d.ts +1 -1
  112. package/lib/typescript/module/composer-panel/ComposerPanelBase.d.ts.map +1 -1
  113. package/lib/typescript/module/composer-panel/shared.d.ts +3 -0
  114. package/lib/typescript/module/composer-panel/shared.d.ts.map +1 -1
  115. package/lib/typescript/module/composer-panel/types.d.ts +11 -0
  116. package/lib/typescript/module/composer-panel/types.d.ts.map +1 -1
  117. package/lib/typescript/module/composer-panel/use-attachment-queue.d.ts.map +1 -1
  118. package/package.json +1 -1
  119. package/src/ai-chat/AiChat.tsx +1 -0
  120. package/src/ai-chat/AiChat.web.tsx +1 -0
  121. package/src/ai-chat/AiChatControls.tsx +58 -3
  122. package/src/ai-chat/AiChatFeedbackRowBase.tsx +45 -17
  123. package/src/ai-chat/AiChatMessages.tsx +24 -1
  124. package/src/ai-chat/bindAiChat.tsx +19 -2
  125. package/src/ai-chat/index.ts +3 -1
  126. package/src/ai-chat/index.web.ts +3 -1
  127. package/src/ai-chat/shared.ts +11 -2
  128. package/src/ai-chat/types.ts +45 -5
  129. package/src/composer-panel/AttachmentStrip.tsx +98 -6
  130. package/src/composer-panel/ComposerPanelBase.tsx +4 -0
  131. package/src/composer-panel/ComposerPillBase.tsx +1 -0
  132. package/src/composer-panel/shared.ts +5 -0
  133. package/src/composer-panel/types.ts +11 -0
  134. package/src/composer-panel/use-attachment-queue.ts +5 -2
@@ -122,7 +122,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
122
122
  | `agent-log` | `@oxy.so/bloom/agent-log` + barrel | universal | `agent-log.mdx` | yes | 1 | | | | |
123
123
  | `agent-progress` | `@oxy.so/bloom/agent-progress` + barrel | universal | `agent-progress.mdx` | yes | 1 | | | | reads |
124
124
  | `agent-thinking` | `@oxy.so/bloom/agent-thinking` + barrel | universal | `agent-thinking.mdx` | yes | 1 | | | | |
125
- | `ai-chat` | `@oxy.so/bloom/ai-chat` + barrel | web fork | `ai-chat.mdx` | yes | 9 | | | | reads |
125
+ | `ai-chat` | `@oxy.so/bloom/ai-chat` + barrel | web fork | `ai-chat.mdx` | yes | 10 | | | | reads |
126
126
  | `ai-profile-card` | `@oxy.so/bloom/ai-profile-card` + barrel | universal | `ai-profile-card.mdx` | yes | 1 | | | | reads |
127
127
  | `alert-dialog` | `@oxy.so/bloom/alert-dialog` + barrel | web fork | `alert-dialog.mdx` | yes | 1 | | | | |
128
128
  | `animated-check` | `@oxy.so/bloom/animated-check` + barrel | universal | `animated-check.mdx` | yes | 2 | | | | |
@@ -195,7 +195,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
195
195
  | `hooks` | `@oxy.so/bloom/hooks` + barrel | universal | `hooks.mdx` | yes | 11 | | | | reads |
196
196
  | `hover-card` | `@oxy.so/bloom/hover-card` + barrel | web fork | `hover-card.mdx` | yes | 2 | | | reads | reads |
197
197
  | `icon-circle` | `@oxy.so/bloom/icon-circle` + barrel | universal | `icon-circle.mdx` | yes | 1 | | | | |
198
- | `icons` | `@oxy.so/bloom/icons` + barrel | universal | `icons.mdx` | yes | 51 | | | | |
198
+ | `icons` | `@oxy.so/bloom/icons` + barrel | universal | `icons.mdx` | yes | 52 | | | | |
199
199
  | `image-aspect-ratio-cache` | `@oxy.so/bloom/image-aspect-ratio-cache` + barrel | universal | `image-aspect-ratio-cache.mdx` | yes | 1 | | | | |
200
200
  | `image-resolver` | `@oxy.so/bloom/image-resolver` + barrel | universal | `image-resolver.mdx` | yes | 7 | | | | |
201
201
  | `important-alerts-card` | `@oxy.so/bloom/important-alerts-card` + barrel | universal | `important-alerts-card.mdx` | yes | 1 | | | | |
@@ -290,7 +290,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
290
290
  | `stay-filters` | `@oxy.so/bloom/stay-filters` + barrel | universal | `stay-filters.mdx` | yes | 4 | n/a¹ | | | |
291
291
  | `stay-search` | `@oxy.so/bloom/stay-search` + barrel | universal | `stay-search.mdx` | yes | 4 | | | | |
292
292
  | `stepper` | `@oxy.so/bloom/stepper` + barrel | universal | `stepper.mdx` | yes | 3 | reads | | | |
293
- | `styles` | `@oxy.so/bloom/styles` + barrel | universal | `styles.mdx` | yes | 66 | **UNCLASSIFIED** | | | |
293
+ | `styles` | `@oxy.so/bloom/styles` + barrel | universal | `styles.mdx` | yes | 67 | **UNCLASSIFIED** | | | |
294
294
  | `subtle-hover` | `@oxy.so/bloom/subtle-hover` + barrel | universal | `subtle-hover.mdx` | yes | 1 | | | | |
295
295
  | `surfaces` | `@oxy.so/bloom/surfaces` + barrel | web fork | `alert.mdx` | yes | 2 | | | | |
296
296
  | `swipe-row` | `@oxy.so/bloom/swipe-row` + barrel | universal | `swipe-row.mdx` | yes | 1 | | | | |
package/docs/ai-chat.mdx CHANGED
@@ -17,7 +17,7 @@ The pieces of the AI chat and AI image generation screens. Everything is data an
17
17
  | `AiChatThread` | The bottom-anchored, self-following scroll of turns — with the follow, upward pagination and `ref` a host with history needs |
18
18
  | `AiChatUserMessage` / `AiChatAssistantMessage` | The turns, with the staggered blur-in |
19
19
  | `AiChatMessageLine`, `AiChatBulletList`, `AiChatBullet`, `AiChatStrong`, `AiChatLinkChip` | A reply's blocks and inline runs |
20
- | `AiChatFeedbackRow` | Like / dislike / copy with tooltips |
20
+ | `AiChatFeedbackRow` | Like / dislike / copy with tooltips, plus your own `actions` |
21
21
  | `AiChatImageGeneration` | An image generating: dot wave, split-flap countdown, radial reveal, feedback and toast |
22
22
  | `AiChatCodePanel` | Changes / Browser panel: uncommitted-changes card and a numbered code view |
23
23
  | `AiChatGalleryPanel` | Gallery / Styles panel: masonry wall of generations that expand in place |
@@ -145,6 +145,7 @@ At rest the chrome is in the flow and covers nothing, so `useAiChatChromeInsets(
145
145
  ## Turns
146
146
 
147
147
  - **User** — pushed right with a 6px bleed past the column, as wide as its text up to half the column + 6; radius 16, background-primary, px 12 / py 11, shadow-card.
148
+ - **User actions** — `actions` draws the feedback row's buttons under the card, 8 below and right-aligned, 6 apart (copy, edit). On a web pointer (`@media (hover: hover)`) they fade in over 150ms while the turn is hovered or holds focus — opacity only, so they stay in the tab order and the accessibility tree, and tabbing into one reveals the row. Native and touch web always show them.
148
149
  - **Assistant** — full width, blocks 8 apart, with `AiChatFeedbackRow` last (`feedback={false}` drops it).
149
150
  - **Blocks** — `AiChatMessageLine` (body-regular; `tone="secondary"` for status lines; `block` for a card), `AiChatBulletList` (a 5px disc in a 21px indent, items 8 apart), `AiChatStrong` (body-medium), `AiChatLinkChip` (inline, radius 8, px 4 / py 3, accent-100 with a 16px link glyph and caption-2-medium accent-500). A bare string child becomes a line; any other element a block line.
150
151
  - **Motion** — a turn fades in over 400ms while its blocks rise 6px, un-blur 6px (web) and fade in, 500ms `cubic-bezier(0.25, 0.1, 0.25, 1)`, 180ms apart; a bullet list staggers its own items from its slot. `animate={false}` mounts settled (history), as does reduced motion.
@@ -153,6 +154,36 @@ At rest the chrome is in the flow and covers nothing, so `useAiChatChromeInsets(
153
154
 
154
155
  28px squares 6 apart: radius 8, p 6, background-tertiary, background-secondary-hover on hover with the 16px glyph deepening to icon-primary. Each has a `sm` tooltip above after 200ms (keyboard focus raises it too; a press does not). Copy swaps the glyph for a check (blur, 75% scale, fade, 200ms) and holds the tooltip open reading "Copied!" for 1.6s, then dismisses it even if the pointer is still there.
155
156
 
157
+ The confirmation follows the copy, not the press. `onCopy` returns `AiChatCopyResult` (`void | boolean | Promise<void | boolean>`): a handler returning nothing or `true` confirms at once, as before; a promise confirms when it resolves (only the latest press's); `false`, a throw or a rejection confirms nothing — a blocked clipboard is not a "Copied!".
158
+
159
+ `actions` (on the row, or through `AiChatAssistantMessage`'s `feedbackProps`) appends buttons after copy on the same surface:
160
+
161
+ ```ts
162
+ interface AiChatTurnAction {
163
+ key: string; // React key; `${testID}-${key}` names the button
164
+ label: string; // accessible name and tooltip
165
+ icon: AiChatIconComponent; // RiVolumeUpLine, not <RiVolumeUpLine />
166
+ onPress: () => void;
167
+ active?: boolean; // a toggle: hover surface + primary glyph, aria-pressed
168
+ disabled?: boolean; // 50% opacity, disabled, aria-disabled
169
+ }
170
+ ```
171
+
172
+ Leave `active` undefined for a plain button: `false` is a toggle that is off, announced "not pressed". `AiChatUserMessage` takes the same `actions`.
173
+
174
+ ```tsx
175
+ <AiChatAssistantMessage
176
+ feedbackProps={{
177
+ onCopy: () => Clipboard.setStringAsync(text),
178
+ actions: [
179
+ { key: 'speak', label: 'Read aloud', icon: RiVolumeUpLine, onPress: toggleSpeech, active: speaking },
180
+ { key: 'regenerate', label: 'Regenerate', icon: RiRefreshLine, onPress: regenerate, disabled: busy },
181
+ ],
182
+ }}>
183
+ {reply}
184
+ </AiChatAssistantMessage>
185
+ ```
186
+
156
187
  ## Image generation
157
188
 
158
189
  - The frame unfolds from 0 to 250 tall (550ms `cubic-bezier(0.22, 1, 0.36, 1)`) while it fades in and un-blurs, pushing the thread up instead of popping in.
@@ -116,11 +116,14 @@ interface ComposerPanelAttachment {
116
116
  src?: string; // image thumbnail URI
117
117
  icon?: ReactNode; // your own 24px artwork for a non-image tile
118
118
  progress?: number; // 0–100 draws the ring; omit once landed
119
+ error?: string; // the upload failed: shown on the tile, progress ignored
119
120
  }
120
121
  ```
121
122
 
122
123
  While `progress` is set the tile's content dims to 60%, the accent ring draws clockwise from top-centre over the 1px border (closed at 100) and the percentage sits top-right (white over a photo). Once `progress` is removed the percentage blurs out as the dismiss blurs in on the same spot; the dismiss is out of the accessibility tree until then. Tiles scale and blur in on arrival and out on removal (280ms).
123
124
 
125
+ A tile with an `error` has **failed**: the ring and the percentage go (any `progress` is ignored), it fills with the error subtle surface under an error-foreground border, and the message sits in 9/11 medium, two lines at most, where the name was — the warning glyph above it. The tile is named `"<name>: <error>"` (also its web `title`, since two lines at 9px hold little), and the dismiss is back as on a landed tile. With `onAttachmentRetry` a retry button (a 24px disc, `labels.retry` + the file name: "Retry Photo.png") takes the glyph's place and calls it with the tile's id; the panel does not clear the error — send the tile back with `progress` and no `error` to start again. `ComposerAttachments`' simulated queue skips a failed file.
126
+
124
127
  Non-image tiles default to Remix file glyphs — illustrated plugin icons use SVG filters react-native-svg cannot draw; pass `icon` (and `image` on add-menu rows) for your own artwork.
125
128
 
126
129
  ## Providers
@@ -189,6 +192,7 @@ Every control is named: the triggers announce their current value ("Permission:
189
192
  | `effortLevels` | `string[]` | the default six | `[]` drops the effort axis. |
190
193
  | `listening` / `defaultListening` / `onListeningChange` | `boolean` | `false` | Voice input toggle. |
191
194
  | `attachments` / `onRemoveAttachment` | `ComposerPanelAttachment[]` / `(id) => void` | — | |
195
+ | `onAttachmentRetry` | `(id) => void` | — | Draws a retry button on every failed (`error`) tile. |
192
196
  | `status` | `ReactNode` | — | Usually `<ComposerPanelStatusTab />`. |
193
197
  | `inputRef` | `RefObject<TextInput>` | — | The prompt field. |
194
198
  | `labels`, `modelPickerLabels` | objects | English | Localisation. |
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.AiChatImageGeneration = exports.AiChatGalleryPanel = exports.AiChatFeedbackRow = exports.AiChatContainer = exports.AiChatAssistantMessage = void 0;
6
+ exports.AiChatUserMessage = exports.AiChatImageGeneration = exports.AiChatGalleryPanel = exports.AiChatFeedbackRow = exports.AiChatContainer = exports.AiChatAssistantMessage = void 0;
7
7
  var _contentPanel = require("../content-panel");
8
8
  var _tooltip = require("../tooltip");
9
9
  var _bindAiChat = require("./bindAiChat.js");
@@ -19,6 +19,7 @@ const parts = (0, _bindAiChat.bindAiChat)({
19
19
  ContentPanel: _contentPanel.ContentPanel
20
20
  });
21
21
  const AiChatFeedbackRow = exports.AiChatFeedbackRow = parts.AiChatFeedbackRow;
22
+ const AiChatUserMessage = exports.AiChatUserMessage = parts.AiChatUserMessage;
22
23
  const AiChatAssistantMessage = exports.AiChatAssistantMessage = parts.AiChatAssistantMessage;
23
24
  const AiChatImageGeneration = exports.AiChatImageGeneration = parts.AiChatImageGeneration;
24
25
  const AiChatGalleryPanel = exports.AiChatGalleryPanel = parts.AiChatGalleryPanel;
@@ -1 +1 @@
1
- {"version":3,"names":["_contentPanel","require","_tooltip","_bindAiChat","parts","bindAiChat","Tooltip","TooltipTrigger","TooltipTextBubble","ContentPanel","AiChatFeedbackRow","exports","AiChatAssistantMessage","AiChatImageGeneration","AiChatGalleryPanel","AiChatContainer"],"sourceRoot":"../../../src","sources":["ai-chat/AiChat.tsx"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMG,KAAK,GAAG,IAAAC,sBAAU,EAAC;EAAEC,OAAO,EAAPA,gBAAO;EAAEC,cAAc,EAAdA,uBAAc;EAAEC,iBAAiB,EAAjBA,0BAAiB;EAAEC,YAAY,EAAZA;AAAa,CAAC,CAAC;AAE/E,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGN,KAAK,CAACM,iBAAiB;AACjD,MAAME,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,GAAGR,KAAK,CAACQ,sBAAsB;AAC3D,MAAMC,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAGT,KAAK,CAACS,qBAAqB;AACzD,MAAMC,kBAAkB,GAAAH,OAAA,CAAAG,kBAAA,GAAGV,KAAK,CAACU,kBAAkB;AACnD,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAGX,KAAK,CAACW,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["_contentPanel","require","_tooltip","_bindAiChat","parts","bindAiChat","Tooltip","TooltipTrigger","TooltipTextBubble","ContentPanel","AiChatFeedbackRow","exports","AiChatUserMessage","AiChatAssistantMessage","AiChatImageGeneration","AiChatGalleryPanel","AiChatContainer"],"sourceRoot":"../../../src","sources":["ai-chat/AiChat.tsx"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMG,KAAK,GAAG,IAAAC,sBAAU,EAAC;EAAEC,OAAO,EAAPA,gBAAO;EAAEC,cAAc,EAAdA,uBAAc;EAAEC,iBAAiB,EAAjBA,0BAAiB;EAAEC,YAAY,EAAZA;AAAa,CAAC,CAAC;AAE/E,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGN,KAAK,CAACM,iBAAiB;AACjD,MAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAGR,KAAK,CAACQ,iBAAiB;AACjD,MAAMC,sBAAsB,GAAAF,OAAA,CAAAE,sBAAA,GAAGT,KAAK,CAACS,sBAAsB;AAC3D,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAAGV,KAAK,CAACU,qBAAqB;AACzD,MAAMC,kBAAkB,GAAAJ,OAAA,CAAAI,kBAAA,GAAGX,KAAK,CAACW,kBAAkB;AACnD,MAAMC,eAAe,GAAAL,OAAA,CAAAK,eAAA,GAAGZ,KAAK,CAACY,eAAe","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.AiChatImageGeneration = exports.AiChatGalleryPanel = exports.AiChatFeedbackRow = exports.AiChatContainer = exports.AiChatAssistantMessage = void 0;
6
+ exports.AiChatUserMessage = exports.AiChatImageGeneration = exports.AiChatGalleryPanel = exports.AiChatFeedbackRow = exports.AiChatContainer = exports.AiChatAssistantMessage = void 0;
7
7
  var _indexWeb = require("../content-panel/index.web.js");
8
8
  var _indexWeb2 = require("../tooltip/index.web.js");
9
9
  var _bindAiChat = require("./bindAiChat.js");
@@ -19,6 +19,7 @@ const parts = (0, _bindAiChat.bindAiChat)({
19
19
  ContentPanel: _indexWeb.ContentPanel
20
20
  });
21
21
  const AiChatFeedbackRow = exports.AiChatFeedbackRow = parts.AiChatFeedbackRow;
22
+ const AiChatUserMessage = exports.AiChatUserMessage = parts.AiChatUserMessage;
22
23
  const AiChatAssistantMessage = exports.AiChatAssistantMessage = parts.AiChatAssistantMessage;
23
24
  const AiChatImageGeneration = exports.AiChatImageGeneration = parts.AiChatImageGeneration;
24
25
  const AiChatGalleryPanel = exports.AiChatGalleryPanel = parts.AiChatGalleryPanel;
@@ -1 +1 @@
1
- {"version":3,"names":["_indexWeb","require","_indexWeb2","_bindAiChat","parts","bindAiChat","Tooltip","TooltipTrigger","TooltipTextBubble","ContentPanel","AiChatFeedbackRow","exports","AiChatAssistantMessage","AiChatImageGeneration","AiChatGalleryPanel","AiChatContainer"],"sourceRoot":"../../../src","sources":["ai-chat/AiChat.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMG,KAAK,GAAG,IAAAC,sBAAU,EAAC;EAAEC,OAAO,EAAPA,kBAAO;EAAEC,cAAc,EAAdA,yBAAc;EAAEC,iBAAiB,EAAjBA,4BAAiB;EAAEC,YAAY,EAAZA;AAAa,CAAC,CAAC;AAE/E,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGN,KAAK,CAACM,iBAAiB;AACjD,MAAME,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,GAAGR,KAAK,CAACQ,sBAAsB;AAC3D,MAAMC,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAGT,KAAK,CAACS,qBAAqB;AACzD,MAAMC,kBAAkB,GAAAH,OAAA,CAAAG,kBAAA,GAAGV,KAAK,CAACU,kBAAkB;AACnD,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAGX,KAAK,CAACW,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["_indexWeb","require","_indexWeb2","_bindAiChat","parts","bindAiChat","Tooltip","TooltipTrigger","TooltipTextBubble","ContentPanel","AiChatFeedbackRow","exports","AiChatUserMessage","AiChatAssistantMessage","AiChatImageGeneration","AiChatGalleryPanel","AiChatContainer"],"sourceRoot":"../../../src","sources":["ai-chat/AiChat.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMG,KAAK,GAAG,IAAAC,sBAAU,EAAC;EAAEC,OAAO,EAAPA,kBAAO;EAAEC,cAAc,EAAdA,yBAAc;EAAEC,iBAAiB,EAAjBA,4BAAiB;EAAEC,YAAY,EAAZA;AAAa,CAAC,CAAC;AAE/E,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGN,KAAK,CAACM,iBAAiB;AACjD,MAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAGR,KAAK,CAACQ,iBAAiB;AACjD,MAAMC,sBAAsB,GAAAF,OAAA,CAAAE,sBAAA,GAAGT,KAAK,CAACS,sBAAsB;AAC3D,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAAGV,KAAK,CAACU,qBAAqB;AACzD,MAAMC,kBAAkB,GAAAJ,OAAA,CAAAI,kBAAA,GAAGX,KAAK,CAACW,kBAAkB;AACnD,MAAMC,eAAe,GAAAL,OAAA,CAAAK,eAAA,GAAGZ,KAAK,CAACY,eAAe","ignoreList":[]}
@@ -6,11 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.GlyphAction = GlyphAction;
7
7
  exports.SurfaceAction = SurfaceAction;
8
8
  exports.SwapGlyph = SwapGlyph;
9
+ exports.TurnActionButton = TurnActionButton;
9
10
  exports.WithTooltip = WithTooltip;
11
+ exports.turnActionSurface = turnActionSurface;
10
12
  exports.useHoverTooltip = useHoverTooltip;
11
13
  var _react = _interopRequireWildcard(require("react"));
12
14
  var _reactNative = require("react-native");
13
15
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
16
+ var _tokens = require("../styles/tokens.js");
14
17
  var _context = require("./context.js");
15
18
  var _shared = require("./shared.js");
16
19
  var _jsxRuntime = require("react/jsx-runtime");
@@ -192,14 +195,19 @@ function SurfaceAction({
192
195
  hoverBackground,
193
196
  palette,
194
197
  glyph,
198
+ active,
199
+ disabled = false,
195
200
  style,
196
201
  testID
197
202
  }) {
203
+ const isToggle = active !== undefined;
198
204
  const tip = useHoverTooltip({
199
205
  open: tooltipOpen,
200
206
  onOpenChange: onTooltipOpenChange
201
207
  });
202
- const [hovered, setHovered] = (0, _react.useState)(false);
208
+ const [hoveredRaw, setHovered] = (0, _react.useState)(false);
209
+ const hovered = hoveredRaw && !disabled;
210
+ const lit = hovered || active === true;
203
211
  // A press focuses the control too; only keyboard focus should raise the tooltip.
204
212
  const pointerDown = (0, _react.useRef)(false);
205
213
  const surface = {
@@ -208,7 +216,8 @@ function SurfaceAction({
208
216
  alignItems: 'center',
209
217
  padding,
210
218
  borderRadius: radius,
211
- backgroundColor: hovered ? hoverBackground : background,
219
+ backgroundColor: lit ? hoverBackground : background,
220
+ opacity: disabled ? _tokens.DISABLED_OPACITY : 1,
212
221
  '--bloom-ai-chat-ring': palette.ring
213
222
  };
214
223
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(WithTooltip, {
@@ -219,7 +228,21 @@ function SurfaceAction({
219
228
  ...(0, _shared.dataHook)('bloomAiChatControl'),
220
229
  testID: testID,
221
230
  accessibilityRole: "button",
222
- accessibilityLabel: label,
231
+ accessibilityLabel: label
232
+ // BOTH spellings of the toggle state: react-native-web drops
233
+ // `accessibilityState` and React Native has no `aria-pressed`.
234
+ ,
235
+ ...(isToggle ? {
236
+ 'aria-pressed': active
237
+ } : null),
238
+ accessibilityState: {
239
+ disabled,
240
+ ...(isToggle ? {
241
+ selected: active
242
+ } : null)
243
+ },
244
+ "aria-disabled": disabled || undefined,
245
+ disabled: disabled,
223
246
  onPressIn: () => {
224
247
  pointerDown.current = true;
225
248
  tip.onHoverOut();
@@ -241,7 +264,40 @@ function SurfaceAction({
241
264
  },
242
265
  onBlur: () => tip.setOpen(false),
243
266
  style: [surface, style],
244
- children: glyph(hovered ? palette.iconPrimary : palette.iconSecondary)
267
+ children: glyph(lit ? palette.iconPrimary : palette.iconSecondary)
268
+ })
269
+ });
270
+ }
271
+
272
+ /** The feedback row's button surface: 28 square, radius 8, p 6, tertiary → secondary-hover. */
273
+ function turnActionSurface(palette) {
274
+ return {
275
+ padding: 6,
276
+ radius: 8,
277
+ background: palette.tertiary,
278
+ hoverBackground: palette.secondaryHover,
279
+ palette
280
+ };
281
+ }
282
+
283
+ /** One caller-supplied turn action, drawn as a feedback-row button. */
284
+ function TurnActionButton({
285
+ action,
286
+ palette,
287
+ testID
288
+ }) {
289
+ const Icon = action.icon;
290
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SurfaceAction, {
291
+ ...turnActionSurface(palette),
292
+ testID: testID ? `${testID}-${action.key}` : undefined,
293
+ label: action.label,
294
+ onPress: action.onPress,
295
+ active: action.active,
296
+ disabled: action.disabled,
297
+ glyph: color => /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
298
+ width: 16,
299
+ height: 16,
300
+ fill: color
245
301
  })
246
302
  });
247
303
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_context","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EASE_OUT","Easing","bezier","useHoverTooltip","delay","open","controlled","onOpenChange","inner","setInner","useState","timer","useRef","changeRef","current","isControlled","undefined","setOpen","useCallback","next","clear","clearTimeout","useEffect","onHoverIn","setTimeout","onHoverOut","WithTooltip","label","children","Tooltip","TooltipTrigger","TooltipTextBubble","useAiChatPlatform","jsxs","position","visible","onVisibleChange","jsx","size","GlyphAction","icon","Icon","onPress","palette","flip","hover","testID","hovered","setLit","lit","style","flexShrink","ring","Pressable","dataHook","accessibilityRole","accessibilityLabel","onFocus","onBlur","View","transform","scaleX","width","height","fill","iconHover","iconSecondary","SwapGlyph","shown","reducedMotion","useReducedMotion","progress","useSharedValue","target","value","withTiming","duration","easing","useAnimatedStyle","opacity","scale","IS_WEB","filter","pointerEvents","top","left","alignItems","justifyContent","SurfaceAction","tooltip","tooltipOpen","onTooltipOpenChange","padding","radius","background","hoverBackground","glyph","tip","setHovered","pointerDown","surface","flexDirection","borderRadius","backgroundColor","onPressIn","onPressOut","iconPrimary"],"sourceRoot":"../../../src","sources":["ai-chat/AiChatControls.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_tokens","_context","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EASE_OUT","Easing","bezier","useHoverTooltip","delay","open","controlled","onOpenChange","inner","setInner","useState","timer","useRef","changeRef","current","isControlled","undefined","setOpen","useCallback","next","clear","clearTimeout","useEffect","onHoverIn","setTimeout","onHoverOut","WithTooltip","label","children","Tooltip","TooltipTrigger","TooltipTextBubble","useAiChatPlatform","jsxs","position","visible","onVisibleChange","jsx","size","GlyphAction","icon","Icon","onPress","palette","flip","hover","testID","hovered","setLit","lit","style","flexShrink","ring","Pressable","dataHook","accessibilityRole","accessibilityLabel","onFocus","onBlur","View","transform","scaleX","width","height","fill","iconHover","iconSecondary","SwapGlyph","shown","reducedMotion","useReducedMotion","progress","useSharedValue","target","value","withTiming","duration","easing","useAnimatedStyle","opacity","scale","IS_WEB","filter","pointerEvents","top","left","alignItems","justifyContent","SurfaceAction","tooltip","tooltipOpen","onTooltipOpenChange","padding","radius","background","hoverBackground","glyph","active","disabled","isToggle","tip","hoveredRaw","setHovered","pointerDown","surface","flexDirection","borderRadius","backgroundColor","DISABLED_OPACITY","accessibilityState","selected","onPressIn","onPressOut","iconPrimary","turnActionSurface","tertiary","secondaryHover","TurnActionButton","action","key","color"],"sourceRoot":"../../../src","sources":["ai-chat/AiChatControls.tsx"],"mappings":"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","ignoreList":[]}
@@ -31,12 +31,16 @@ const DEFAULT_LABELS = {
31
31
  * tooltip a `sm` tooltip above, after a 200ms hover
32
32
  * copy the copy glyph blurs, scales to 75% and fades out as a check comes
33
33
  * in (200ms ease-out); the tooltip is held open reading "Copied!"
34
- * for 1.6s, then dismissed even if the pointer is still over it
34
+ * for 1.6s, then dismissed even if the pointer is still over it — once
35
+ * the copy HAPPENED: an async handler is waited for, and a `false`,
36
+ * a throw or a rejection shows nothing
37
+ * actions the caller's extra buttons after copy, on the same surface
35
38
  */
36
39
  function AiChatFeedbackRowBase({
37
40
  onLike,
38
41
  onDislike,
39
42
  onCopy,
43
+ actions,
40
44
  labels,
41
45
  style,
42
46
  testID
@@ -50,12 +54,19 @@ function AiChatFeedbackRowBase({
50
54
  const [copied, setCopied] = (0, _react.useState)(false);
51
55
  const [copyTooltipOpen, setCopyTooltipOpen] = (0, _react.useState)(false);
52
56
  const timer = (0, _react.useRef)(null);
53
- (0, _react.useEffect)(() => () => {
54
- if (timer.current) clearTimeout(timer.current);
57
+
58
+ // The latest press: a slower, earlier copy settling late must not confirm.
59
+ const attempt = (0, _react.useRef)(0);
60
+ const mounted = (0, _react.useRef)(true);
61
+ (0, _react.useEffect)(() => {
62
+ mounted.current = true;
63
+ return () => {
64
+ mounted.current = false;
65
+ if (timer.current) clearTimeout(timer.current);
66
+ };
55
67
  }, []);
56
- const copy = () => {
68
+ const confirm = () => {
57
69
  if (timer.current) clearTimeout(timer.current);
58
- onCopy?.();
59
70
  setCopied(true);
60
71
  setCopyTooltipOpen(true);
61
72
  timer.current = setTimeout(() => {
@@ -63,13 +74,23 @@ function AiChatFeedbackRowBase({
63
74
  setCopyTooltipOpen(false);
64
75
  }, _shared.CONFIRM_MS);
65
76
  };
66
- const surface = {
67
- padding: 6,
68
- radius: 8,
69
- background: palette.tertiary,
70
- hoverBackground: palette.secondaryHover,
71
- palette
77
+ const copy = () => {
78
+ const id = ++attempt.current;
79
+ let result;
80
+ try {
81
+ result = onCopy?.();
82
+ } catch {
83
+ return;
84
+ }
85
+ if (isPromiseLike(result)) {
86
+ result.then(ok => {
87
+ if (ok !== false && mounted.current && id === attempt.current) confirm();
88
+ }, () => undefined);
89
+ return;
90
+ }
91
+ if (result !== false) confirm();
72
92
  };
93
+ const surface = (0, _AiChatControls.turnActionSurface)(palette);
73
94
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
74
95
  testID: testID,
75
96
  style: [{
@@ -128,7 +149,14 @@ function AiChatFeedbackRowBase({
128
149
  })
129
150
  })]
130
151
  })
131
- })]
152
+ }), actions?.map(action => /*#__PURE__*/(0, _jsxRuntime.jsx)(_AiChatControls.TurnActionButton, {
153
+ action: action,
154
+ palette: palette,
155
+ testID: testID
156
+ }, action.key))]
132
157
  });
133
158
  }
159
+ function isPromiseLike(value) {
160
+ return typeof value?.then === 'function';
161
+ }
134
162
  //# sourceMappingURL=AiChatFeedbackRowBase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_RiCheckLine","_RiFileCopyLine","_RiThumbDownLine","_RiThumbUpLine","_AiChatControls","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LABELS","like","dislike","copy","copied","AiChatFeedbackRowBase","onLike","onDislike","onCopy","labels","style","testID","useAiChatWebCss","palette","useAiChatPalette","l","useMemo","setCopied","useState","copyTooltipOpen","setCopyTooltipOpen","timer","useRef","useEffect","current","clearTimeout","setTimeout","CONFIRM_MS","surface","padding","radius","background","tertiary","hoverBackground","secondaryHover","jsxs","View","flexDirection","alignItems","gap","children","jsx","SurfaceAction","undefined","label","onPress","glyph","color","RiThumbUpLine","width","height","fill","RiThumbDownLine","tooltip","tooltipOpen","onTooltipOpenChange","SwapGlyph","shown","size","RiFileCopyLine","RiCheckLine"],"sourceRoot":"../../../src","sources":["ai-chat/AiChatFeedbackRowBase.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_RiCheckLine","_RiFileCopyLine","_RiThumbDownLine","_RiThumbUpLine","_AiChatControls","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LABELS","like","dislike","copy","copied","AiChatFeedbackRowBase","onLike","onDislike","onCopy","actions","labels","style","testID","useAiChatWebCss","palette","useAiChatPalette","l","useMemo","setCopied","useState","copyTooltipOpen","setCopyTooltipOpen","timer","useRef","attempt","mounted","useEffect","current","clearTimeout","confirm","setTimeout","CONFIRM_MS","id","result","isPromiseLike","then","ok","undefined","surface","turnActionSurface","jsxs","View","flexDirection","alignItems","gap","children","jsx","SurfaceAction","label","onPress","glyph","color","RiThumbUpLine","width","height","fill","RiThumbDownLine","tooltip","tooltipOpen","onTooltipOpenChange","SwapGlyph","shown","size","RiFileCopyLine","RiCheckLine","map","action","TurnActionButton","key","value"],"sourceRoot":"../../../src","sources":["ai-chat/AiChatFeedbackRowBase.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAAyE,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,wBAAAU,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAU,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGzE,MAAMkB,cAAc,GAAG;EACrBC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAE,cAAc;EACvBC,IAAI,EAAE,eAAe;EACrBC,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAC;EAAEC,MAAM;EAAEC,SAAS;EAAEC,MAAM;EAAEC,OAAO;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAA+B,CAAC,EAAE;EAC3H,IAAAC,uBAAe,EAAC,CAAC;EACjB,MAAMC,OAAO,GAAG,IAAAC,wBAAgB,EAAC,CAAC;EAClC,MAAMC,CAAC,GAAG,IAAAC,cAAO,EAAC,OAAO;IAAE,GAAGjB,cAAc;IAAE,GAAGU;EAAO,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EACrE,MAAM,CAACN,MAAM,EAAEc,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAC3C,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAC7D,MAAMG,KAAK,GAAG,IAAAC,aAAM,EAAuC,IAAI,CAAC;;EAEhE;EACA,MAAMC,OAAO,GAAG,IAAAD,aAAM,EAAC,CAAC,CAAC;EACzB,MAAME,OAAO,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EAE5B,IAAAG,gBAAS,EAAC,MAAM;IACdD,OAAO,CAACE,OAAO,GAAG,IAAI;IACtB,OAAO,MAAM;MACXF,OAAO,CAACE,OAAO,GAAG,KAAK;MACvB,IAAIL,KAAK,CAACK,OAAO,EAAEC,YAAY,CAACN,KAAK,CAACK,OAAO,CAAC;IAChD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,OAAO,GAAGA,CAAA,KAAM;IACpB,IAAIP,KAAK,CAACK,OAAO,EAAEC,YAAY,CAACN,KAAK,CAACK,OAAO,CAAC;IAC9CT,SAAS,CAAC,IAAI,CAAC;IACfG,kBAAkB,CAAC,IAAI,CAAC;IACxBC,KAAK,CAACK,OAAO,GAAGG,UAAU,CAAC,MAAM;MAC/BZ,SAAS,CAAC,KAAK,CAAC;MAChBG,kBAAkB,CAAC,KAAK,CAAC;IAC3B,CAAC,EAAEU,kBAAU,CAAC;EAChB,CAAC;EAED,MAAM5B,IAAI,GAAGA,CAAA,KAAM;IACjB,MAAM6B,EAAE,GAAG,EAAER,OAAO,CAACG,OAAO;IAC5B,IAAIM,MAAwB;IAC5B,IAAI;MACFA,MAAM,GAAGzB,MAAM,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM;MACN;IACF;IACA,IAAI0B,aAAa,CAACD,MAAM,CAAC,EAAE;MACzBA,MAAM,CAACE,IAAI,CACRC,EAAE,IAAK;QACN,IAAIA,EAAE,KAAK,KAAK,IAAIX,OAAO,CAACE,OAAO,IAAIK,EAAE,KAAKR,OAAO,CAACG,OAAO,EAAEE,OAAO,CAAC,CAAC;MAC1E,CAAC,EACD,MAAMQ,SACR,CAAC;MACD;IACF;IACA,IAAIJ,MAAM,KAAK,KAAK,EAAEJ,OAAO,CAAC,CAAC;EACjC,CAAC;EAED,MAAMS,OAAO,GAAG,IAAAC,iCAAiB,EAACzB,OAAO,CAAC;EAE1C,oBACE,IAAAlC,WAAA,CAAA4D,IAAA,EAACnE,YAAA,CAAAoE,IAAI;IAAC7B,MAAM,EAAEA,MAAO;IAACD,KAAK,EAAE,CAAC;MAAE+B,aAAa,EAAE,KAAK;MAAEC,UAAU,EAAE,QAAQ;MAAEC,GAAG,EAAE;IAAE,CAAC,EAAEjC,KAAK,CAAE;IAAAkC,QAAA,gBAC3F,IAAAjE,WAAA,CAAAkE,GAAA,EAACpE,eAAA,CAAAqE,aAAa;MAAA,GACRT,OAAO;MACX1B,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,OAAO,GAAGyB,SAAU;MAC9CW,KAAK,EAAEhC,CAAC,CAACf,IAAK;MACdgD,OAAO,EAAE3C,MAAO;MAChB4C,KAAK,EAAGC,KAAK,iBAAK,IAAAvE,WAAA,CAAAkE,GAAA,EAACrE,cAAA,CAAA2E,aAAa;QAACC,KAAK,EAAE,EAAG;QAACC,MAAM,EAAE,EAAG;QAACC,IAAI,EAAEJ;MAAM,CAAE;IAAE,CACzE,CAAC,eACF,IAAAvE,WAAA,CAAAkE,GAAA,EAACpE,eAAA,CAAAqE,aAAa;MAAA,GACRT,OAAO;MACX1B,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,UAAU,GAAGyB,SAAU;MACjDW,KAAK,EAAEhC,CAAC,CAACd,OAAQ;MACjB+C,OAAO,EAAE1C,SAAU;MACnB2C,KAAK,EAAGC,KAAK,iBAAK,IAAAvE,WAAA,CAAAkE,GAAA,EAACtE,gBAAA,CAAAgF,eAAe;QAACH,KAAK,EAAE,EAAG;QAACC,MAAM,EAAE,EAAG;QAACC,IAAI,EAAEJ;MAAM,CAAE;IAAE,CAC3E,CAAC,eACF,IAAAvE,WAAA,CAAAkE,GAAA,EAACpE,eAAA,CAAAqE,aAAa;MAAA,GACRT,OAAO;MACX1B,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,OAAO,GAAGyB,SAAU;MAC9CW,KAAK,EAAEhC,CAAC,CAACb,IAAK;MACdsD,OAAO,EAAErD,MAAM,GAAGY,CAAC,CAACZ,MAAM,GAAGiC,SAAU;MACvCqB,WAAW,EAAEtC,eAAgB;MAC7BuC,mBAAmB,EAAEtC,kBAAmB;MACxC4B,OAAO,EAAE9C,IAAK;MACd+C,KAAK,EAAGC,KAAK,iBACX,IAAAvE,WAAA,CAAA4D,IAAA,EAACnE,YAAA,CAAAoE,IAAI;QAAC9B,KAAK,EAAE;UAAE0C,KAAK,EAAE,EAAE;UAAEC,MAAM,EAAE;QAAG,CAAE;QAAAT,QAAA,gBACrC,IAAAjE,WAAA,CAAAkE,GAAA,EAACpE,eAAA,CAAAkF,SAAS;UAACC,KAAK,EAAE,CAACzD,MAAO;UAAC0D,IAAI,EAAE,EAAG;UAAAjB,QAAA,eAClC,IAAAjE,WAAA,CAAAkE,GAAA,EAACvE,eAAA,CAAAwF,cAAc;YAACV,KAAK,EAAE,EAAG;YAACC,MAAM,EAAE,EAAG;YAACC,IAAI,EAAEJ;UAAM,CAAE;QAAC,CAC7C,CAAC,eACZ,IAAAvE,WAAA,CAAAkE,GAAA,EAACpE,eAAA,CAAAkF,SAAS;UAACC,KAAK,EAAEzD,MAAO;UAAC0D,IAAI,EAAE,EAAG;UAAAjB,QAAA,eACjC,IAAAjE,WAAA,CAAAkE,GAAA,EAACxE,YAAA,CAAA0F,WAAW;YAACX,KAAK,EAAE,EAAG;YAACC,MAAM,EAAE,EAAG;YAACC,IAAI,EAAEJ;UAAM,CAAE;QAAC,CAC1C,CAAC;MAAA,CACR;IACN,CACH,CAAC,EACD1C,OAAO,EAAEwD,GAAG,CAAEC,MAAM,iBACnB,IAAAtF,WAAA,CAAAkE,GAAA,EAACpE,eAAA,CAAAyF,gBAAgB;MAAkBD,MAAM,EAAEA,MAAO;MAACpD,OAAO,EAAEA,OAAQ;MAACF,MAAM,EAAEA;IAAO,GAA7DsD,MAAM,CAACE,GAAwD,CACvF,CAAC;EAAA,CACE,CAAC;AAEX;AAEA,SAASlC,aAAaA,CAACmC,KAAc,EAAwC;EAC3E,OAAO,OAAQA,KAAK,EAA8ClC,IAAI,KAAK,UAAU;AACvF","ignoreList":[]}
@@ -9,11 +9,12 @@ exports.AiChatBulletList = AiChatBulletList;
9
9
  exports.AiChatLinkChip = AiChatLinkChip;
10
10
  exports.AiChatMessageLine = AiChatMessageLine;
11
11
  exports.AiChatStrong = AiChatStrong;
12
- exports.AiChatUserMessage = AiChatUserMessage;
12
+ exports.AiChatUserMessageBase = AiChatUserMessageBase;
13
13
  var _react = _interopRequireWildcard(require("react"));
14
14
  var _reactNative = require("react-native");
15
15
  var _RiLinkM = require("../icons/remix/RiLinkM.js");
16
16
  var _index = require("../typography/index.js");
17
+ var _AiChatControls = require("./AiChatControls.js");
17
18
  var _AiChatFeedbackRowBase = require("./AiChatFeedbackRowBase.js");
18
19
  var _AiChatReveal = require("./AiChatReveal.js");
19
20
  var _shared = require("./shared.js");
@@ -26,6 +27,10 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
26
27
  * user pushed right with a 6px bleed past the column (`-mr-1.5`), hugging
27
28
  * its text up to half the column + 6; radius 16, background-primary,
28
29
  * px 12 / py 11, shadow-card; body-regular text-primary, left-aligned
30
+ * actions under the user card, 8 below it and right-aligned: the feedback
31
+ * row's buttons, 6 apart. On a web pointer they fade in (150ms)
32
+ * while the turn is hovered or holds focus — opacity only, so they
33
+ * stay tabbable and announced; always shown on native and touch
29
34
  * assistant full width, gap 8, body-regular text-primary; the feedback row last
30
35
  * line a paragraph; `secondary` tone for status lines
31
36
  * bullets disc markers outside a 21px indent, items 8 apart
@@ -59,8 +64,9 @@ function asBlocks(children) {
59
64
  });
60
65
  });
61
66
  }
62
- function AiChatUserMessage({
67
+ function AiChatUserMessageBase({
63
68
  children,
69
+ actions,
64
70
  animate = true,
65
71
  style,
66
72
  testID
@@ -68,14 +74,15 @@ function AiChatUserMessage({
68
74
  (0, _shared.useAiChatWebCss)();
69
75
  const palette = (0, _shared.useAiChatPalette)();
70
76
  const [column, setColumn] = (0, _react.useState)(0);
71
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
77
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
78
+ ...(0, _shared.dataHook)('bloomAiChatTurn'),
72
79
  testID: testID,
73
80
  onLayout: event => setColumn(event.nativeEvent.layout.width),
74
81
  style: [{
75
82
  width: '100%',
76
83
  alignItems: 'flex-end'
77
84
  }, style],
78
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AiChatReveal.RevealFade, {
85
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AiChatReveal.RevealFade, {
79
86
  animate: animate,
80
87
  style: {
81
88
  marginRight: -6,
@@ -93,7 +100,26 @@ function AiChatUserMessage({
93
100
  animate: animate,
94
101
  children: asBlocks(children)
95
102
  })
96
- })
103
+ }), actions && actions.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AiChatReveal.RevealFade, {
104
+ animate: animate,
105
+ style: {
106
+ marginTop: 8
107
+ },
108
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
109
+ ...(0, _shared.dataHook)('bloomAiChatTurnActions'),
110
+ testID: testID ? `${testID}-actions` : undefined,
111
+ style: {
112
+ flexDirection: 'row',
113
+ alignItems: 'center',
114
+ gap: 6
115
+ },
116
+ children: actions.map(action => /*#__PURE__*/(0, _jsxRuntime.jsx)(_AiChatControls.TurnActionButton, {
117
+ action: action,
118
+ palette: palette,
119
+ testID: testID ? `${testID}-actions` : undefined
120
+ }, action.key))
121
+ })
122
+ }) : null]
97
123
  });
98
124
  }
99
125
  function AiChatAssistantMessageBase({
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_RiLinkM","_index","_AiChatFeedbackRowBase","_AiChatReveal","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isLine","child","isValidElement","type","AiChatMessageLine","AiChatBulletList","asBlocks","children","Children","map","undefined","jsx","block","AiChatUserMessage","animate","style","testID","useAiChatWebCss","palette","useAiChatPalette","column","setColumn","useState","View","onLayout","event","nativeEvent","layout","width","alignItems","RevealFade","marginRight","maxWidth","flexDirection","borderRadius","CARD_RADIUS","backgroundColor","primary","paddingLeft","paddingRight","paddingTop","paddingBottom","boxShadow","shadowCard","RevealSequence","AiChatAssistantMessageBase","feedback","feedbackProps","gap","jsxs","alignSelf","AiChatFeedbackRowBase","tone","selectable","RevealLine","Text","variant","color","textSecondary","text","slot","useRevealSlot","delay","AiChatBullet","position","accessibilityElementsHidden","importantForAccessibility","left","top","height","AiChatStrong","AiChatLinkChip","onPress","dataHook","accessibilityRole","accessibilityLabel","linkChipBackground","marginTop","marginBottom","IS_WEB","RiLinkM","fill","linkChipText"],"sourceRoot":"../../../src","sources":["ai-chat/AiChatMessages.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_RiLinkM","_index","_AiChatControls","_AiChatFeedbackRowBase","_AiChatReveal","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isLine","child","isValidElement","type","AiChatMessageLine","AiChatBulletList","asBlocks","children","Children","map","undefined","jsx","block","AiChatUserMessageBase","actions","animate","style","testID","useAiChatWebCss","palette","useAiChatPalette","column","setColumn","useState","jsxs","View","dataHook","onLayout","event","nativeEvent","layout","width","alignItems","RevealFade","marginRight","maxWidth","flexDirection","borderRadius","CARD_RADIUS","backgroundColor","primary","paddingLeft","paddingRight","paddingTop","paddingBottom","boxShadow","shadowCard","RevealSequence","length","marginTop","gap","action","TurnActionButton","key","AiChatAssistantMessageBase","feedback","feedbackProps","alignSelf","AiChatFeedbackRowBase","tone","selectable","RevealLine","Text","variant","color","textSecondary","text","slot","useRevealSlot","delay","AiChatBullet","position","accessibilityElementsHidden","importantForAccessibility","left","top","height","AiChatStrong","AiChatLinkChip","onPress","accessibilityRole","accessibilityLabel","linkChipBackground","marginBottom","IS_WEB","RiLinkM","fill","linkChipText"],"sourceRoot":"../../../src","sources":["ai-chat/AiChatMessages.tsx"],"mappings":"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","ignoreList":[]}
@@ -28,6 +28,15 @@ function bindAiChat(platform) {
28
28
  });
29
29
  }
30
30
  AiChatFeedbackRow.displayName = 'AiChatFeedbackRow';
31
+ function AiChatUserMessage(props) {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.AiChatPlatformContext.Provider, {
33
+ value: platform,
34
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AiChatMessages.AiChatUserMessageBase, {
35
+ ...props
36
+ })
37
+ });
38
+ }
39
+ AiChatUserMessage.displayName = 'AiChatUserMessage';
31
40
  function AiChatAssistantMessage(props) {
32
41
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.AiChatPlatformContext.Provider, {
33
42
  value: platform,
@@ -66,6 +75,7 @@ function bindAiChat(platform) {
66
75
  AiChatContainer.displayName = 'AiChatContainer';
67
76
  return {
68
77
  AiChatFeedbackRow,
78
+ AiChatUserMessage,
69
79
  AiChatAssistantMessage,
70
80
  AiChatImageGeneration,
71
81
  AiChatGalleryPanel,