@oxy.so/bloom 4.19.0 → 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 (141) 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/commonjs/input-otp/InputOtp.js +13 -3
  33. package/lib/commonjs/input-otp/InputOtp.js.map +1 -1
  34. package/lib/module/ai-chat/AiChat.js +1 -0
  35. package/lib/module/ai-chat/AiChat.js.map +1 -1
  36. package/lib/module/ai-chat/AiChat.web.js +1 -0
  37. package/lib/module/ai-chat/AiChat.web.js.map +1 -1
  38. package/lib/module/ai-chat/AiChatControls.js +58 -4
  39. package/lib/module/ai-chat/AiChatControls.js.map +1 -1
  40. package/lib/module/ai-chat/AiChatFeedbackRowBase.js +41 -13
  41. package/lib/module/ai-chat/AiChatFeedbackRowBase.js.map +1 -1
  42. package/lib/module/ai-chat/AiChatMessages.js +30 -4
  43. package/lib/module/ai-chat/AiChatMessages.js.map +1 -1
  44. package/lib/module/ai-chat/bindAiChat.js +11 -1
  45. package/lib/module/ai-chat/bindAiChat.js.map +1 -1
  46. package/lib/module/ai-chat/index.js +2 -2
  47. package/lib/module/ai-chat/index.js.map +1 -1
  48. package/lib/module/ai-chat/index.web.js +2 -2
  49. package/lib/module/ai-chat/index.web.js.map +1 -1
  50. package/lib/module/ai-chat/shared.js +11 -2
  51. package/lib/module/ai-chat/shared.js.map +1 -1
  52. package/lib/module/composer-panel/AttachmentStrip.js +108 -8
  53. package/lib/module/composer-panel/AttachmentStrip.js.map +1 -1
  54. package/lib/module/composer-panel/ComposerPanelBase.js +6 -2
  55. package/lib/module/composer-panel/ComposerPanelBase.js.map +1 -1
  56. package/lib/module/composer-panel/ComposerPillBase.js +2 -1
  57. package/lib/module/composer-panel/ComposerPillBase.js.map +1 -1
  58. package/lib/module/composer-panel/shared.js +2 -0
  59. package/lib/module/composer-panel/shared.js.map +1 -1
  60. package/lib/module/composer-panel/use-attachment-queue.js +5 -2
  61. package/lib/module/composer-panel/use-attachment-queue.js.map +1 -1
  62. package/lib/module/input-otp/InputOtp.js +13 -3
  63. package/lib/module/input-otp/InputOtp.js.map +1 -1
  64. package/lib/typescript/commonjs/ai-chat/AiChat.d.ts +4 -0
  65. package/lib/typescript/commonjs/ai-chat/AiChat.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/ai-chat/AiChat.web.d.ts +4 -0
  67. package/lib/typescript/commonjs/ai-chat/AiChat.web.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/ai-chat/AiChatControls.d.ts +22 -1
  69. package/lib/typescript/commonjs/ai-chat/AiChatControls.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/ai-chat/AiChatFeedbackRowBase.d.ts +5 -2
  71. package/lib/typescript/commonjs/ai-chat/AiChatFeedbackRowBase.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/ai-chat/AiChatMessages.d.ts +1 -1
  73. package/lib/typescript/commonjs/ai-chat/AiChatMessages.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/ai-chat/bindAiChat.d.ts +5 -1
  75. package/lib/typescript/commonjs/ai-chat/bindAiChat.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/ai-chat/index.d.ts +3 -3
  77. package/lib/typescript/commonjs/ai-chat/index.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/ai-chat/index.web.d.ts +3 -3
  79. package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/ai-chat/shared.d.ts +2 -2
  81. package/lib/typescript/commonjs/ai-chat/shared.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/ai-chat/types.d.ts +43 -5
  83. package/lib/typescript/commonjs/ai-chat/types.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/composer-panel/AttachmentStrip.d.ts +10 -1
  85. package/lib/typescript/commonjs/composer-panel/AttachmentStrip.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/composer-panel/ComposerPanelBase.d.ts +1 -1
  87. package/lib/typescript/commonjs/composer-panel/ComposerPanelBase.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/composer-panel/shared.d.ts +3 -0
  89. package/lib/typescript/commonjs/composer-panel/shared.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/composer-panel/types.d.ts +11 -0
  91. package/lib/typescript/commonjs/composer-panel/types.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/composer-panel/use-attachment-queue.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/input-otp/InputOtp.d.ts.map +1 -1
  94. package/lib/typescript/module/ai-chat/AiChat.d.ts +4 -0
  95. package/lib/typescript/module/ai-chat/AiChat.d.ts.map +1 -1
  96. package/lib/typescript/module/ai-chat/AiChat.web.d.ts +4 -0
  97. package/lib/typescript/module/ai-chat/AiChat.web.d.ts.map +1 -1
  98. package/lib/typescript/module/ai-chat/AiChatControls.d.ts +22 -1
  99. package/lib/typescript/module/ai-chat/AiChatControls.d.ts.map +1 -1
  100. package/lib/typescript/module/ai-chat/AiChatFeedbackRowBase.d.ts +5 -2
  101. package/lib/typescript/module/ai-chat/AiChatFeedbackRowBase.d.ts.map +1 -1
  102. package/lib/typescript/module/ai-chat/AiChatMessages.d.ts +1 -1
  103. package/lib/typescript/module/ai-chat/AiChatMessages.d.ts.map +1 -1
  104. package/lib/typescript/module/ai-chat/bindAiChat.d.ts +5 -1
  105. package/lib/typescript/module/ai-chat/bindAiChat.d.ts.map +1 -1
  106. package/lib/typescript/module/ai-chat/index.d.ts +3 -3
  107. package/lib/typescript/module/ai-chat/index.d.ts.map +1 -1
  108. package/lib/typescript/module/ai-chat/index.web.d.ts +3 -3
  109. package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
  110. package/lib/typescript/module/ai-chat/shared.d.ts +2 -2
  111. package/lib/typescript/module/ai-chat/shared.d.ts.map +1 -1
  112. package/lib/typescript/module/ai-chat/types.d.ts +43 -5
  113. package/lib/typescript/module/ai-chat/types.d.ts.map +1 -1
  114. package/lib/typescript/module/composer-panel/AttachmentStrip.d.ts +10 -1
  115. package/lib/typescript/module/composer-panel/AttachmentStrip.d.ts.map +1 -1
  116. package/lib/typescript/module/composer-panel/ComposerPanelBase.d.ts +1 -1
  117. package/lib/typescript/module/composer-panel/ComposerPanelBase.d.ts.map +1 -1
  118. package/lib/typescript/module/composer-panel/shared.d.ts +3 -0
  119. package/lib/typescript/module/composer-panel/shared.d.ts.map +1 -1
  120. package/lib/typescript/module/composer-panel/types.d.ts +11 -0
  121. package/lib/typescript/module/composer-panel/types.d.ts.map +1 -1
  122. package/lib/typescript/module/composer-panel/use-attachment-queue.d.ts.map +1 -1
  123. package/lib/typescript/module/input-otp/InputOtp.d.ts.map +1 -1
  124. package/package.json +1 -1
  125. package/src/ai-chat/AiChat.tsx +1 -0
  126. package/src/ai-chat/AiChat.web.tsx +1 -0
  127. package/src/ai-chat/AiChatControls.tsx +58 -3
  128. package/src/ai-chat/AiChatFeedbackRowBase.tsx +45 -17
  129. package/src/ai-chat/AiChatMessages.tsx +24 -1
  130. package/src/ai-chat/bindAiChat.tsx +19 -2
  131. package/src/ai-chat/index.ts +3 -1
  132. package/src/ai-chat/index.web.ts +3 -1
  133. package/src/ai-chat/shared.ts +11 -2
  134. package/src/ai-chat/types.ts +45 -5
  135. package/src/composer-panel/AttachmentStrip.tsx +98 -6
  136. package/src/composer-panel/ComposerPanelBase.tsx +4 -0
  137. package/src/composer-panel/ComposerPillBase.tsx +1 -0
  138. package/src/composer-panel/shared.ts +5 -0
  139. package/src/composer-panel/types.ts +11 -0
  140. package/src/composer-panel/use-attachment-queue.ts +5 -2
  141. package/src/input-otp/InputOtp.tsx +11 -2
@@ -15,14 +15,45 @@ export interface AiChatFeedbackLabels {
15
15
  /** Default `'Copied!'` — the tooltip after a copy. */
16
16
  copied?: string;
17
17
  }
18
+ /**
19
+ * What a copy handler reports. `void` (or `true`) is a copy that happened;
20
+ * `false` is one that did not. A promise is waited for: the confirmation shows
21
+ * once it resolves, and never if it resolves `false` or rejects.
22
+ */
23
+ export type AiChatCopyResult = void | boolean | Promise<void | boolean>;
24
+ /**
25
+ * One extra action on a turn — read aloud, regenerate, edit. Drawn with the
26
+ * feedback row's own button: a 16px glyph on a 28px square, a tooltip naming it.
27
+ */
28
+ export interface AiChatTurnAction {
29
+ /** Stable React key, and the suffix of the button's `testID`. */
30
+ key: string;
31
+ /** The accessible name, and the tooltip's copy. */
32
+ label: string;
33
+ /** A Bloom icon component (`RiVolumeUpLine`, not `<RiVolumeUpLine />`). */
34
+ icon: AiChatIconComponent;
35
+ onPress: () => void;
36
+ /**
37
+ * Makes the action a TOGGLE (read aloud while it is speaking): `true` paints
38
+ * the hover surface and the primary glyph, and announces it pressed. Leave it
39
+ * undefined for a plain button — `false` announces "not pressed".
40
+ */
41
+ active?: boolean;
42
+ /** Dimmed to the shared disabled opacity, unfocusable, announced disabled. */
43
+ disabled?: boolean;
44
+ }
18
45
  export interface AiChatFeedbackRowProps {
19
46
  onLike?: () => void;
20
47
  onDislike?: () => void;
21
48
  /**
22
- * Copy handler. The glyph swaps to a check and the tooltip reads "Copied!" for
23
- * 1.6s either way.
49
+ * Copy handler. The glyph swaps to a check and the tooltip reads "Copied!"
50
+ * for 1.6s once the copy has happened: at once for a handler that returns
51
+ * nothing (or `true`), after the promise resolves for an async one, and not
52
+ * at all when it returns or resolves `false`, throws or rejects.
24
53
  */
25
- onCopy?: () => void;
54
+ onCopy?: () => AiChatCopyResult;
55
+ /** More buttons after copy, in order — read aloud, regenerate… */
56
+ actions?: ReadonlyArray<AiChatTurnAction>;
26
57
  labels?: AiChatFeedbackLabels;
27
58
  style?: StyleProp<ViewStyle>;
28
59
  testID?: string;
@@ -30,6 +61,13 @@ export interface AiChatFeedbackRowProps {
30
61
  export interface AiChatUserMessageProps {
31
62
  /** `AiChatMessageLine`s — or a string, wrapped in one. */
32
63
  children: ReactNode;
64
+ /**
65
+ * Buttons under the card, right-aligned — copy, edit. On a web pointer they
66
+ * fade in while the turn is hovered or holds focus; they stay in the tab order
67
+ * and the accessibility tree throughout, and on native (and touch web) they
68
+ * are always shown.
69
+ */
70
+ actions?: ReadonlyArray<AiChatTurnAction>;
33
71
  /** Skip the blur-in (a turn restored from history). Default `true`. */
34
72
  animate?: boolean;
35
73
  style?: StyleProp<ViewStyle>;
@@ -43,7 +81,7 @@ export interface AiChatAssistantMessageProps {
43
81
  children: ReactNode;
44
82
  /** The like / dislike / copy row under the reply. Default `true`. */
45
83
  feedback?: boolean;
46
- /** Feedback handlers and labels. */
84
+ /** Feedback handlers, extra `actions` and labels. */
47
85
  feedbackProps?: Omit<AiChatFeedbackRowProps, 'style' | 'testID'>;
48
86
  /** Skip the staggered blur-in. Default `true`. */
49
87
  animate?: boolean;
@@ -109,7 +147,7 @@ export interface AiChatImageGenerationProps {
109
147
  /** Feedback handlers under the landed image. */
110
148
  onLike?: () => void;
111
149
  onDislike?: () => void;
112
- onCopy?: () => void;
150
+ onCopy?: () => AiChatCopyResult;
113
151
  labels?: AiChatImageGenerationLabels;
114
152
  feedbackLabels?: AiChatFeedbackLabels;
115
153
  style?: StyleProp<ViewStyle>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/types.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ interface TileProps {
5
5
  attachment: ComposerPanelAttachment;
6
6
  palette: ComposerPalette;
7
7
  onRemove?: () => void;
8
+ onRetry?: () => void;
8
9
  removeLabel: string;
10
+ retryLabel: string;
9
11
  }
10
12
  /**
11
13
  * One 56px tile: the thumbnail for images,
@@ -15,19 +17,26 @@ interface TileProps {
15
17
  * percentage (9/16 medium, tabular; white over a photo, accent-500 otherwise)
16
18
  * sits at top 3 / right 3; once landed it blurs out as the dismiss blurs in on
17
19
  * the same spot.
20
+ *
21
+ * A FAILED tile (`error`) drops the ring and percentage and fills with the
22
+ * error subtle surface under an error-foreground border: the warning glyph (or
23
+ * the retry button) at (3, 4) and the message in 9/11 medium, two lines at
24
+ * most, from (5, 30). The dismiss shows as on a landed tile.
18
25
  */
19
26
  export declare const AttachmentTile: React.NamedExoticComponent<TileProps>;
20
27
  interface StripProps {
21
28
  attachments: ReadonlyArray<ComposerPanelAttachment>;
22
29
  palette: ComposerPalette;
23
30
  onRemove?: (id: string) => void;
31
+ onRetry?: (id: string) => void;
24
32
  removeLabel: string;
33
+ retryLabel: string;
25
34
  }
26
35
  /**
27
36
  * The tile row: 8 apart, wrapping. Tiles
28
37
  * scale 0.8 → 1, fade and un-blur on arrival over 280ms `cubic-bezier(0.22, 1,
29
38
  * 0.36, 1)`, and play it backwards on dismissal before leaving the row.
30
39
  */
31
- export declare function AttachmentStrip({ attachments, palette, onRemove, removeLabel }: StripProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function AttachmentStrip({ attachments, palette, onRemove, onRetry, removeLabel, retryLabel }: StripProps): import("react/jsx-runtime").JSX.Element;
32
41
  export {};
33
42
  //# sourceMappingURL=AttachmentStrip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentStrip.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/AttachmentStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAcjE,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAkGvD,UAAU,SAAS;IACjB,UAAU,EAAE,uBAAuB,CAAC;IACpC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,uCA2GzB,CAAC;AA0CH,UAAU,UAAU;IAClB,WAAW,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACpD,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,UAAU,2CAwC1F"}
1
+ {"version":3,"file":"AttachmentStrip.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/AttachmentStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAgBjE,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAqIvD,UAAU,SAAS;IACjB,UAAU,EAAE,uBAAuB,CAAC;IACpC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,uCAuJzB,CAAC;AA0CH,UAAU,UAAU;IAClB,WAAW,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACpD,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,UAAU,2CA0C/G"}
@@ -13,5 +13,5 @@ import type { ComposerPanelProps } from './types';
13
13
  *
14
14
  * Takes its panel implementation from the family's platform binding.
15
15
  */
16
- export declare function ComposerPanelBase({ value, defaultValue, onValueChange, onSubmit, onStop, busy, disabled, placeholder, permissions, permission, defaultPermission, onPermissionChange, onLearnMore, addMenu, onAddMenuSelect, providers, model, defaultModel, onModelChange, effort, defaultEffort, onEffortChange, effortLevels, modelPickerLabels, listening, defaultListening, onListeningChange, attachments, onRemoveAttachment, status, emptyAction, onKeyPress: onKeyPressProp, inputRef, labels: labelOverrides, style, testID, }: ComposerPanelProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function ComposerPanelBase({ value, defaultValue, onValueChange, onSubmit, onStop, busy, disabled, placeholder, permissions, permission, defaultPermission, onPermissionChange, onLearnMore, addMenu, onAddMenuSelect, providers, model, defaultModel, onModelChange, effort, defaultEffort, onEffortChange, effortLevels, modelPickerLabels, listening, defaultListening, onListeningChange, attachments, onRemoveAttachment, onAttachmentRetry, status, emptyAction, onKeyPress: onKeyPressProp, inputRef, labels: labelOverrides, style, testID, }: ComposerPanelProps): import("react/jsx-runtime").JSX.Element;
17
17
  //# sourceMappingURL=ComposerPanelBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerPanelBase.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ComposerPanelBase.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiEvE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,IAAY,EACZ,QAAgB,EAChB,WAA2C,EAC3C,WAAwC,EACxC,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,OAAiC,EACjC,eAAe,EACf,SAAS,EACT,KAAK,EACL,YAAY,EACZ,aAAa,EACb,MAAM,EACN,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,gBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,WAAW,EACX,UAAU,EAAE,cAAc,EAC1B,QAAQ,EACR,MAAM,EAAE,cAAc,EACtB,KAAK,EACL,MAAM,GACP,EAAE,kBAAkB,2CAyLpB"}
1
+ {"version":3,"file":"ComposerPanelBase.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ComposerPanelBase.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAkEvE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,IAAY,EACZ,QAAgB,EAChB,WAA2C,EAC3C,WAAwC,EACxC,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,OAAiC,EACjC,eAAe,EACf,SAAS,EACT,KAAK,EACL,YAAY,EACZ,aAAa,EACb,MAAM,EACN,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,gBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,UAAU,EAAE,cAAc,EAC1B,QAAQ,EACR,MAAM,EAAE,cAAc,EACtB,KAAK,EACL,MAAM,GACP,EAAE,kBAAkB,2CA2LpB"}
@@ -48,6 +48,9 @@ export interface ComposerPalette {
48
48
  accent500: string;
49
49
  /** `border-focus-ring`. */
50
50
  focusRing: string;
51
+ /** A failed tile: the error subtle surface and its paired foreground. */
52
+ errorSurface: string;
53
+ errorText: string;
51
54
  /** `shadow-xs`, `shadow-dropdown` and the card's raw Figma shadow. */
52
55
  shadowXs: string;
53
56
  shadowDropdown: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/shared.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,13 @@ export interface ComposerPanelAttachment {
50
50
  * once the file has landed — that also reveals the dismiss.
51
51
  */
52
52
  progress?: number;
53
+ /**
54
+ * The upload failed, and why ("Too large", "Network error"). The tile turns
55
+ * to the error surface and shows this in place of the name; the ring and the
56
+ * percentage go (any `progress` is ignored) and the dismiss comes back. With
57
+ * `ComposerPanel`'s `onAttachmentRetry` it also gets a retry button.
58
+ */
59
+ error?: string;
53
60
  }
54
61
  export interface ComposerPanelStatusTabProps {
55
62
  /** Branch name, beside the (mirrored) merge glyph. */
@@ -150,6 +157,8 @@ export interface ComposerPanelLabels {
150
157
  stop?: string;
151
158
  /** Default `'Remove'` — prefixed to the file name on a tile's dismiss. */
152
159
  remove?: string;
160
+ /** Default `'Retry'` — prefixed to the file name on a failed tile's retry. */
161
+ retry?: string;
153
162
  }
154
163
  export interface ComposerPanelProps {
155
164
  /** Controlled draft. */
@@ -205,6 +214,8 @@ export interface ComposerPanelProps {
205
214
  /** Tiles above the prompt. Each one's `progress` drives its upload ring. */
206
215
  attachments?: ReadonlyArray<ComposerPanelAttachment>;
207
216
  onRemoveAttachment?: (id: string) => void;
217
+ /** Draws a retry button on every tile with an `error`; called with its id. */
218
+ onAttachmentRetry?: (id: string) => void;
208
219
  /** The tab on the card's top edge — typically `<ComposerPanelStatusTab />`. */
209
220
  status?: ReactNode;
210
221
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-attachment-queue.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/use-attachment-queue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAgBjF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,WAAW,EACX,cAAqB,EACrB,SAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,EAAE,IAAI,CACL,wBAAwB,EACxB,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,eAAe,CAC9G,GAAG;IAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAkEvE"}
1
+ {"version":3,"file":"use-attachment-queue.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/use-attachment-queue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAmBjF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,WAAW,EACX,cAAqB,EACrB,SAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,EAAE,IAAI,CACL,wBAAwB,EACxB,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,eAAe,CAC9G,GAAG;IAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAkEvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputOtp.d.ts","sourceRoot":"","sources":["../../../../src/input-otp/InputOtp.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAU5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAyC7C,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAepE;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,EACxB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,gBAAgB,GACxD;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAyBpF;AAcD,wBAAgB,QAAQ,CAAC,EACvB,MAAU,EACV,KAAK,EACL,YAAiB,EACjB,QAAQ,EACR,UAAU,EACV,OAAO,EAAE,WAAW,EACpB,SAAS,EACT,UAAU,EACV,QAAQ,EAAE,aAAa,EACvB,UAAU,EACV,SAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,EAAE,aAAa,2CAiKf"}
1
+ {"version":3,"file":"InputOtp.d.ts","sourceRoot":"","sources":["../../../../src/input-otp/InputOtp.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAU5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAyC7C,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAepE;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,EACxB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,gBAAgB,GACxD;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAyBpF;AAcD,wBAAgB,QAAQ,CAAC,EACvB,MAAU,EACV,KAAK,EACL,YAAiB,EACjB,QAAQ,EACR,UAAU,EACV,OAAO,EAAE,WAAW,EACpB,SAAS,EACT,UAAU,EACV,QAAQ,EAAE,aAAa,EACvB,UAAU,EACV,SAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,EAAE,aAAa,2CA0Kf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxy.so/bloom",
3
- "version": "4.19.0",
3
+ "version": "4.20.0",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
6
6
  "main": "lib/commonjs/index.js",
@@ -10,6 +10,7 @@ import { bindAiChat } from './bindAiChat';
10
10
  const parts = bindAiChat({ Tooltip, TooltipTrigger, TooltipTextBubble, ContentPanel });
11
11
 
12
12
  export const AiChatFeedbackRow = parts.AiChatFeedbackRow;
13
+ export const AiChatUserMessage = parts.AiChatUserMessage;
13
14
  export const AiChatAssistantMessage = parts.AiChatAssistantMessage;
14
15
  export const AiChatImageGeneration = parts.AiChatImageGeneration;
15
16
  export const AiChatGalleryPanel = parts.AiChatGalleryPanel;
@@ -10,6 +10,7 @@ import { bindAiChat } from './bindAiChat';
10
10
  const parts = bindAiChat({ Tooltip, TooltipTrigger, TooltipTextBubble, ContentPanel });
11
11
 
12
12
  export const AiChatFeedbackRow = parts.AiChatFeedbackRow;
13
+ export const AiChatUserMessage = parts.AiChatUserMessage;
13
14
  export const AiChatAssistantMessage = parts.AiChatAssistantMessage;
14
15
  export const AiChatImageGeneration = parts.AiChatImageGeneration;
15
16
  export const AiChatGalleryPanel = parts.AiChatGalleryPanel;
@@ -9,9 +9,11 @@ import Animated, {
9
9
  } from 'react-native-reanimated';
10
10
 
11
11
  import type { Props as IconProps } from '../icons/shared';
12
+ import { DISABLED_OPACITY } from '../styles/tokens';
12
13
  import type { WebCssStyle } from '../styles/web-view-style';
13
14
  import { useAiChatPlatform } from './context';
14
15
  import { dataHook, IS_WEB, type AiChatPalette } from './shared';
16
+ import type { AiChatTurnAction } from './types';
15
17
 
16
18
  /**
17
19
  * The family's small interactive pieces, shared by the message, image, code
@@ -178,6 +180,8 @@ export function SurfaceAction({
178
180
  hoverBackground,
179
181
  palette,
180
182
  glyph,
183
+ active,
184
+ disabled = false,
181
185
  style,
182
186
  testID,
183
187
  }: {
@@ -194,11 +198,20 @@ export function SurfaceAction({
194
198
  hoverBackground: string;
195
199
  palette: AiChatPalette;
196
200
  glyph: (color: string) => React.ReactNode;
201
+ /**
202
+ * A toggle's state: `true` holds the hover surface and the primary glyph.
203
+ * Undefined for a plain button, which then carries no pressed state at all.
204
+ */
205
+ active?: boolean;
206
+ disabled?: boolean;
197
207
  style?: StyleProp<ViewStyle>;
198
208
  testID?: string;
199
209
  }) {
210
+ const isToggle = active !== undefined;
200
211
  const tip = useHoverTooltip({ open: tooltipOpen, onOpenChange: onTooltipOpenChange });
201
- const [hovered, setHovered] = useState(false);
212
+ const [hoveredRaw, setHovered] = useState(false);
213
+ const hovered = hoveredRaw && !disabled;
214
+ const lit = hovered || active === true;
202
215
  // A press focuses the control too; only keyboard focus should raise the tooltip.
203
216
  const pointerDown = useRef(false);
204
217
  const surface: WebCssStyle = {
@@ -207,7 +220,8 @@ export function SurfaceAction({
207
220
  alignItems: 'center',
208
221
  padding,
209
222
  borderRadius: radius,
210
- backgroundColor: hovered ? hoverBackground : background,
223
+ backgroundColor: lit ? hoverBackground : background,
224
+ opacity: disabled ? DISABLED_OPACITY : 1,
211
225
  '--bloom-ai-chat-ring': palette.ring,
212
226
  };
213
227
  return (
@@ -217,6 +231,12 @@ export function SurfaceAction({
217
231
  testID={testID}
218
232
  accessibilityRole="button"
219
233
  accessibilityLabel={label}
234
+ // BOTH spellings of the toggle state: react-native-web drops
235
+ // `accessibilityState` and React Native has no `aria-pressed`.
236
+ {...(isToggle ? { 'aria-pressed': active } : null)}
237
+ accessibilityState={{ disabled, ...(isToggle ? { selected: active } : null) }}
238
+ aria-disabled={disabled || undefined}
239
+ disabled={disabled}
220
240
  onPressIn={() => {
221
241
  pointerDown.current = true;
222
242
  tip.onHoverOut();
@@ -238,8 +258,43 @@ export function SurfaceAction({
238
258
  }}
239
259
  onBlur={() => tip.setOpen(false)}
240
260
  style={[surface, style]}>
241
- {glyph(hovered ? palette.iconPrimary : palette.iconSecondary)}
261
+ {glyph(lit ? palette.iconPrimary : palette.iconSecondary)}
242
262
  </Pressable>
243
263
  </WithTooltip>
244
264
  );
245
265
  }
266
+
267
+ /** The feedback row's button surface: 28 square, radius 8, p 6, tertiary → secondary-hover. */
268
+ export function turnActionSurface(palette: AiChatPalette) {
269
+ return {
270
+ padding: 6,
271
+ radius: 8,
272
+ background: palette.tertiary,
273
+ hoverBackground: palette.secondaryHover,
274
+ palette,
275
+ };
276
+ }
277
+
278
+ /** One caller-supplied turn action, drawn as a feedback-row button. */
279
+ export function TurnActionButton({
280
+ action,
281
+ palette,
282
+ testID,
283
+ }: {
284
+ action: AiChatTurnAction;
285
+ palette: AiChatPalette;
286
+ testID?: string;
287
+ }) {
288
+ const Icon = action.icon;
289
+ return (
290
+ <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) => <Icon width={16} height={16} fill={color} />}
298
+ />
299
+ );
300
+ }
@@ -5,9 +5,9 @@ import { RiCheckLine } from '../icons/remix/RiCheckLine';
5
5
  import { RiFileCopyLine } from '../icons/remix/RiFileCopyLine';
6
6
  import { RiThumbDownLine } from '../icons/remix/RiThumbDownLine';
7
7
  import { RiThumbUpLine } from '../icons/remix/RiThumbUpLine';
8
- import { SurfaceAction, SwapGlyph } from './AiChatControls';
8
+ import { SurfaceAction, SwapGlyph, TurnActionButton, turnActionSurface } from './AiChatControls';
9
9
  import { CONFIRM_MS, useAiChatPalette, useAiChatWebCss } from './shared';
10
- import type { AiChatFeedbackRowProps } from './types';
10
+ import type { AiChatCopyResult, AiChatFeedbackRowProps } from './types';
11
11
 
12
12
  const DEFAULT_LABELS = {
13
13
  like: 'Good response',
@@ -26,9 +26,12 @@ const DEFAULT_LABELS = {
26
26
  * tooltip a `sm` tooltip above, after a 200ms hover
27
27
  * copy the copy glyph blurs, scales to 75% and fades out as a check comes
28
28
  * in (200ms ease-out); the tooltip is held open reading "Copied!"
29
- * for 1.6s, then dismissed even if the pointer is still over it
29
+ * for 1.6s, then dismissed even if the pointer is still over it — once
30
+ * the copy HAPPENED: an async handler is waited for, and a `false`,
31
+ * a throw or a rejection shows nothing
32
+ * actions the caller's extra buttons after copy, on the same surface
30
33
  */
31
- export function AiChatFeedbackRowBase({ onLike, onDislike, onCopy, labels, style, testID }: AiChatFeedbackRowProps) {
34
+ export function AiChatFeedbackRowBase({ onLike, onDislike, onCopy, actions, labels, style, testID }: AiChatFeedbackRowProps) {
32
35
  useAiChatWebCss();
33
36
  const palette = useAiChatPalette();
34
37
  const l = useMemo(() => ({ ...DEFAULT_LABELS, ...labels }), [labels]);
@@ -36,16 +39,20 @@ export function AiChatFeedbackRowBase({ onLike, onDislike, onCopy, labels, style
36
39
  const [copyTooltipOpen, setCopyTooltipOpen] = useState(false);
37
40
  const timer = useRef<ReturnType<typeof setTimeout> | null>(null);
38
41
 
39
- useEffect(
40
- () => () => {
42
+ // The latest press: a slower, earlier copy settling late must not confirm.
43
+ const attempt = useRef(0);
44
+ const mounted = useRef(true);
45
+
46
+ useEffect(() => {
47
+ mounted.current = true;
48
+ return () => {
49
+ mounted.current = false;
41
50
  if (timer.current) clearTimeout(timer.current);
42
- },
43
- [],
44
- );
51
+ };
52
+ }, []);
45
53
 
46
- const copy = () => {
54
+ const confirm = () => {
47
55
  if (timer.current) clearTimeout(timer.current);
48
- onCopy?.();
49
56
  setCopied(true);
50
57
  setCopyTooltipOpen(true);
51
58
  timer.current = setTimeout(() => {
@@ -54,14 +61,28 @@ export function AiChatFeedbackRowBase({ onLike, onDislike, onCopy, labels, style
54
61
  }, CONFIRM_MS);
55
62
  };
56
63
 
57
- const surface = {
58
- padding: 6,
59
- radius: 8,
60
- background: palette.tertiary,
61
- hoverBackground: palette.secondaryHover,
62
- palette,
64
+ const copy = () => {
65
+ const id = ++attempt.current;
66
+ let result: AiChatCopyResult;
67
+ try {
68
+ result = onCopy?.();
69
+ } catch {
70
+ return;
71
+ }
72
+ if (isPromiseLike(result)) {
73
+ result.then(
74
+ (ok) => {
75
+ if (ok !== false && mounted.current && id === attempt.current) confirm();
76
+ },
77
+ () => undefined,
78
+ );
79
+ return;
80
+ }
81
+ if (result !== false) confirm();
63
82
  };
64
83
 
84
+ const surface = turnActionSurface(palette);
85
+
65
86
  return (
66
87
  <View testID={testID} style={[{ flexDirection: 'row', alignItems: 'center', gap: 6 }, style]}>
67
88
  <SurfaceAction
@@ -97,6 +118,13 @@ export function AiChatFeedbackRowBase({ onLike, onDislike, onCopy, labels, style
97
118
  </View>
98
119
  )}
99
120
  />
121
+ {actions?.map((action) => (
122
+ <TurnActionButton key={action.key} action={action} palette={palette} testID={testID} />
123
+ ))}
100
124
  </View>
101
125
  );
102
126
  }
127
+
128
+ function isPromiseLike(value: unknown): value is PromiseLike<void | boolean> {
129
+ return typeof (value as PromiseLike<unknown> | null | undefined)?.then === 'function';
130
+ }
@@ -3,6 +3,7 @@ import { View, type LayoutChangeEvent } from 'react-native';
3
3
 
4
4
  import { RiLinkM } from '../icons/remix/RiLinkM';
5
5
  import { Text } from '../typography';
6
+ import { TurnActionButton } from './AiChatControls';
6
7
  import { AiChatFeedbackRowBase } from './AiChatFeedbackRowBase';
7
8
  import { RevealFade, RevealLine, RevealSequence, useRevealSlot } from './AiChatReveal';
8
9
  import { CARD_RADIUS, dataHook, IS_WEB, useAiChatPalette, useAiChatWebCss } from './shared';
@@ -23,6 +24,10 @@ import type {
23
24
  * user pushed right with a 6px bleed past the column (`-mr-1.5`), hugging
24
25
  * its text up to half the column + 6; radius 16, background-primary,
25
26
  * px 12 / py 11, shadow-card; body-regular text-primary, left-aligned
27
+ * actions under the user card, 8 below it and right-aligned: the feedback
28
+ * row's buttons, 6 apart. On a web pointer they fade in (150ms)
29
+ * while the turn is hovered or holds focus — opacity only, so they
30
+ * stay tabbable and announced; always shown on native and touch
26
31
  * assistant full width, gap 8, body-regular text-primary; the feedback row last
27
32
  * line a paragraph; `secondary` tone for status lines
28
33
  * bullets disc markers outside a 21px indent, items 8 apart
@@ -55,12 +60,13 @@ function asBlocks(children: React.ReactNode): React.ReactNode {
55
60
  });
56
61
  }
57
62
 
58
- export function AiChatUserMessage({ children, animate = true, style, testID }: AiChatUserMessageProps) {
63
+ export function AiChatUserMessageBase({ children, actions, animate = true, style, testID }: AiChatUserMessageProps) {
59
64
  useAiChatWebCss();
60
65
  const palette = useAiChatPalette();
61
66
  const [column, setColumn] = useState(0);
62
67
  return (
63
68
  <View
69
+ {...dataHook('bloomAiChatTurn')}
64
70
  testID={testID}
65
71
  onLayout={(event: LayoutChangeEvent) => setColumn(event.nativeEvent.layout.width)}
66
72
  style={[{ width: '100%', alignItems: 'flex-end' }, style]}>
@@ -80,6 +86,23 @@ export function AiChatUserMessage({ children, animate = true, style, testID }: A
80
86
  }}>
81
87
  <RevealSequence animate={animate}>{asBlocks(children)}</RevealSequence>
82
88
  </RevealFade>
89
+ {actions && actions.length > 0 ? (
90
+ <RevealFade animate={animate} style={{ marginTop: 8 }}>
91
+ <View
92
+ {...dataHook('bloomAiChatTurnActions')}
93
+ testID={testID ? `${testID}-actions` : undefined}
94
+ style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
95
+ {actions.map((action) => (
96
+ <TurnActionButton
97
+ key={action.key}
98
+ action={action}
99
+ palette={palette}
100
+ testID={testID ? `${testID}-actions` : undefined}
101
+ />
102
+ ))}
103
+ </View>
104
+ </RevealFade>
105
+ ) : null}
83
106
  </View>
84
107
  );
85
108
  }