@oxy.so/bloom 4.19.1 → 4.21.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 (179) hide show
  1. package/docs/adoption-matrix.mdx +6 -6
  2. package/docs/ai-chat.mdx +32 -1
  3. package/docs/button.mdx +1 -1
  4. package/docs/composer-panel.mdx +4 -0
  5. package/docs/design-tokens.mdx +22 -0
  6. package/docs/dialog.mdx +5 -0
  7. package/lib/commonjs/accordion/Accordion.js +7 -3
  8. package/lib/commonjs/accordion/Accordion.js.map +1 -1
  9. package/lib/commonjs/ai-chat/AiChat.js +2 -1
  10. package/lib/commonjs/ai-chat/AiChat.js.map +1 -1
  11. package/lib/commonjs/ai-chat/AiChat.web.js +2 -1
  12. package/lib/commonjs/ai-chat/AiChat.web.js.map +1 -1
  13. package/lib/commonjs/ai-chat/AiChatControls.js +60 -4
  14. package/lib/commonjs/ai-chat/AiChatControls.js.map +1 -1
  15. package/lib/commonjs/ai-chat/AiChatFeedbackRowBase.js +40 -12
  16. package/lib/commonjs/ai-chat/AiChatFeedbackRowBase.js.map +1 -1
  17. package/lib/commonjs/ai-chat/AiChatMessages.js +31 -5
  18. package/lib/commonjs/ai-chat/AiChatMessages.js.map +1 -1
  19. package/lib/commonjs/ai-chat/bindAiChat.js +10 -0
  20. package/lib/commonjs/ai-chat/bindAiChat.js.map +1 -1
  21. package/lib/commonjs/ai-chat/index.js +1 -1
  22. package/lib/commonjs/ai-chat/index.js.map +1 -1
  23. package/lib/commonjs/ai-chat/index.web.js +1 -1
  24. package/lib/commonjs/ai-chat/index.web.js.map +1 -1
  25. package/lib/commonjs/ai-chat/shared.js +11 -2
  26. package/lib/commonjs/ai-chat/shared.js.map +1 -1
  27. package/lib/commonjs/button/Button.js +37 -1
  28. package/lib/commonjs/button/Button.js.map +1 -1
  29. package/lib/commonjs/composer-panel/AttachmentStrip.js +108 -8
  30. package/lib/commonjs/composer-panel/AttachmentStrip.js.map +1 -1
  31. package/lib/commonjs/composer-panel/ComposerPanelBase.js +6 -2
  32. package/lib/commonjs/composer-panel/ComposerPanelBase.js.map +1 -1
  33. package/lib/commonjs/composer-panel/ComposerPillBase.js +2 -1
  34. package/lib/commonjs/composer-panel/ComposerPillBase.js.map +1 -1
  35. package/lib/commonjs/composer-panel/shared.js +2 -0
  36. package/lib/commonjs/composer-panel/shared.js.map +1 -1
  37. package/lib/commonjs/composer-panel/use-attachment-queue.js +5 -2
  38. package/lib/commonjs/composer-panel/use-attachment-queue.js.map +1 -1
  39. package/lib/commonjs/design-tokens/theme-css.js +24 -2
  40. package/lib/commonjs/design-tokens/theme-css.js.map +1 -1
  41. package/lib/commonjs/design-tokens/theme.css +8 -8
  42. package/lib/commonjs/dialog/DialogBottomSheet.js +19 -3
  43. package/lib/commonjs/dialog/DialogBottomSheet.js.map +1 -1
  44. package/lib/commonjs/dialog/DialogHeader.js +78 -6
  45. package/lib/commonjs/dialog/DialogHeader.js.map +1 -1
  46. package/lib/module/accordion/Accordion.js +7 -3
  47. package/lib/module/accordion/Accordion.js.map +1 -1
  48. package/lib/module/ai-chat/AiChat.js +1 -0
  49. package/lib/module/ai-chat/AiChat.js.map +1 -1
  50. package/lib/module/ai-chat/AiChat.web.js +1 -0
  51. package/lib/module/ai-chat/AiChat.web.js.map +1 -1
  52. package/lib/module/ai-chat/AiChatControls.js +58 -4
  53. package/lib/module/ai-chat/AiChatControls.js.map +1 -1
  54. package/lib/module/ai-chat/AiChatFeedbackRowBase.js +41 -13
  55. package/lib/module/ai-chat/AiChatFeedbackRowBase.js.map +1 -1
  56. package/lib/module/ai-chat/AiChatMessages.js +30 -4
  57. package/lib/module/ai-chat/AiChatMessages.js.map +1 -1
  58. package/lib/module/ai-chat/bindAiChat.js +11 -1
  59. package/lib/module/ai-chat/bindAiChat.js.map +1 -1
  60. package/lib/module/ai-chat/index.js +2 -2
  61. package/lib/module/ai-chat/index.js.map +1 -1
  62. package/lib/module/ai-chat/index.web.js +2 -2
  63. package/lib/module/ai-chat/index.web.js.map +1 -1
  64. package/lib/module/ai-chat/shared.js +11 -2
  65. package/lib/module/ai-chat/shared.js.map +1 -1
  66. package/lib/module/button/Button.js +38 -2
  67. package/lib/module/button/Button.js.map +1 -1
  68. package/lib/module/composer-panel/AttachmentStrip.js +108 -8
  69. package/lib/module/composer-panel/AttachmentStrip.js.map +1 -1
  70. package/lib/module/composer-panel/ComposerPanelBase.js +6 -2
  71. package/lib/module/composer-panel/ComposerPanelBase.js.map +1 -1
  72. package/lib/module/composer-panel/ComposerPillBase.js +2 -1
  73. package/lib/module/composer-panel/ComposerPillBase.js.map +1 -1
  74. package/lib/module/composer-panel/shared.js +2 -0
  75. package/lib/module/composer-panel/shared.js.map +1 -1
  76. package/lib/module/composer-panel/use-attachment-queue.js +5 -2
  77. package/lib/module/composer-panel/use-attachment-queue.js.map +1 -1
  78. package/lib/module/design-tokens/theme-css.js +23 -2
  79. package/lib/module/design-tokens/theme-css.js.map +1 -1
  80. package/lib/module/design-tokens/theme.css +8 -8
  81. package/lib/module/dialog/DialogBottomSheet.js +19 -3
  82. package/lib/module/dialog/DialogBottomSheet.js.map +1 -1
  83. package/lib/module/dialog/DialogHeader.js +76 -5
  84. package/lib/module/dialog/DialogHeader.js.map +1 -1
  85. package/lib/typescript/commonjs/accordion/Accordion.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/ai-chat/AiChat.d.ts +4 -0
  87. package/lib/typescript/commonjs/ai-chat/AiChat.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/ai-chat/AiChat.web.d.ts +4 -0
  89. package/lib/typescript/commonjs/ai-chat/AiChat.web.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/ai-chat/AiChatControls.d.ts +22 -1
  91. package/lib/typescript/commonjs/ai-chat/AiChatControls.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/ai-chat/AiChatFeedbackRowBase.d.ts +5 -2
  93. package/lib/typescript/commonjs/ai-chat/AiChatFeedbackRowBase.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/ai-chat/AiChatMessages.d.ts +1 -1
  95. package/lib/typescript/commonjs/ai-chat/AiChatMessages.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/ai-chat/bindAiChat.d.ts +5 -1
  97. package/lib/typescript/commonjs/ai-chat/bindAiChat.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/ai-chat/index.d.ts +3 -3
  99. package/lib/typescript/commonjs/ai-chat/index.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/ai-chat/index.web.d.ts +3 -3
  101. package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ai-chat/shared.d.ts +2 -2
  103. package/lib/typescript/commonjs/ai-chat/shared.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ai-chat/types.d.ts +43 -5
  105. package/lib/typescript/commonjs/ai-chat/types.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/composer-panel/AttachmentStrip.d.ts +10 -1
  108. package/lib/typescript/commonjs/composer-panel/AttachmentStrip.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/composer-panel/ComposerPanelBase.d.ts +1 -1
  110. package/lib/typescript/commonjs/composer-panel/ComposerPanelBase.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/composer-panel/shared.d.ts +3 -0
  112. package/lib/typescript/commonjs/composer-panel/shared.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/composer-panel/types.d.ts +11 -0
  114. package/lib/typescript/commonjs/composer-panel/types.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/composer-panel/use-attachment-queue.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/design-tokens/theme-css.d.ts +9 -1
  117. package/lib/typescript/commonjs/design-tokens/theme-css.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/dialog/DialogBottomSheet.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/dialog/DialogHeader.d.ts +24 -0
  120. package/lib/typescript/commonjs/dialog/DialogHeader.d.ts.map +1 -1
  121. package/lib/typescript/module/accordion/Accordion.d.ts.map +1 -1
  122. package/lib/typescript/module/ai-chat/AiChat.d.ts +4 -0
  123. package/lib/typescript/module/ai-chat/AiChat.d.ts.map +1 -1
  124. package/lib/typescript/module/ai-chat/AiChat.web.d.ts +4 -0
  125. package/lib/typescript/module/ai-chat/AiChat.web.d.ts.map +1 -1
  126. package/lib/typescript/module/ai-chat/AiChatControls.d.ts +22 -1
  127. package/lib/typescript/module/ai-chat/AiChatControls.d.ts.map +1 -1
  128. package/lib/typescript/module/ai-chat/AiChatFeedbackRowBase.d.ts +5 -2
  129. package/lib/typescript/module/ai-chat/AiChatFeedbackRowBase.d.ts.map +1 -1
  130. package/lib/typescript/module/ai-chat/AiChatMessages.d.ts +1 -1
  131. package/lib/typescript/module/ai-chat/AiChatMessages.d.ts.map +1 -1
  132. package/lib/typescript/module/ai-chat/bindAiChat.d.ts +5 -1
  133. package/lib/typescript/module/ai-chat/bindAiChat.d.ts.map +1 -1
  134. package/lib/typescript/module/ai-chat/index.d.ts +3 -3
  135. package/lib/typescript/module/ai-chat/index.d.ts.map +1 -1
  136. package/lib/typescript/module/ai-chat/index.web.d.ts +3 -3
  137. package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
  138. package/lib/typescript/module/ai-chat/shared.d.ts +2 -2
  139. package/lib/typescript/module/ai-chat/shared.d.ts.map +1 -1
  140. package/lib/typescript/module/ai-chat/types.d.ts +43 -5
  141. package/lib/typescript/module/ai-chat/types.d.ts.map +1 -1
  142. package/lib/typescript/module/button/Button.d.ts.map +1 -1
  143. package/lib/typescript/module/composer-panel/AttachmentStrip.d.ts +10 -1
  144. package/lib/typescript/module/composer-panel/AttachmentStrip.d.ts.map +1 -1
  145. package/lib/typescript/module/composer-panel/ComposerPanelBase.d.ts +1 -1
  146. package/lib/typescript/module/composer-panel/ComposerPanelBase.d.ts.map +1 -1
  147. package/lib/typescript/module/composer-panel/shared.d.ts +3 -0
  148. package/lib/typescript/module/composer-panel/shared.d.ts.map +1 -1
  149. package/lib/typescript/module/composer-panel/types.d.ts +11 -0
  150. package/lib/typescript/module/composer-panel/types.d.ts.map +1 -1
  151. package/lib/typescript/module/composer-panel/use-attachment-queue.d.ts.map +1 -1
  152. package/lib/typescript/module/design-tokens/theme-css.d.ts +9 -1
  153. package/lib/typescript/module/design-tokens/theme-css.d.ts.map +1 -1
  154. package/lib/typescript/module/dialog/DialogBottomSheet.d.ts.map +1 -1
  155. package/lib/typescript/module/dialog/DialogHeader.d.ts +24 -0
  156. package/lib/typescript/module/dialog/DialogHeader.d.ts.map +1 -1
  157. package/package.json +5 -2
  158. package/src/accordion/Accordion.tsx +9 -1
  159. package/src/ai-chat/AiChat.tsx +1 -0
  160. package/src/ai-chat/AiChat.web.tsx +1 -0
  161. package/src/ai-chat/AiChatControls.tsx +58 -3
  162. package/src/ai-chat/AiChatFeedbackRowBase.tsx +45 -17
  163. package/src/ai-chat/AiChatMessages.tsx +24 -1
  164. package/src/ai-chat/bindAiChat.tsx +19 -2
  165. package/src/ai-chat/index.ts +3 -1
  166. package/src/ai-chat/index.web.ts +3 -1
  167. package/src/ai-chat/shared.ts +11 -2
  168. package/src/ai-chat/types.ts +45 -5
  169. package/src/button/Button.tsx +41 -3
  170. package/src/composer-panel/AttachmentStrip.tsx +98 -6
  171. package/src/composer-panel/ComposerPanelBase.tsx +4 -0
  172. package/src/composer-panel/ComposerPillBase.tsx +1 -0
  173. package/src/composer-panel/shared.ts +5 -0
  174. package/src/composer-panel/types.ts +11 -0
  175. package/src/composer-panel/use-attachment-queue.ts +5 -2
  176. package/src/design-tokens/theme-css.ts +23 -2
  177. package/src/design-tokens/theme.css +8 -8
  178. package/src/dialog/DialogBottomSheet.tsx +21 -0
  179. package/src/dialog/DialogHeader.tsx +94 -11
@@ -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 | | | | |
@@ -172,8 +172,8 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
172
172
  | `data-table` | `@oxy.so/bloom/data-table` + barrel | universal | `data-table.mdx` | yes | 3 | | | | reads |
173
173
  | `date-picker` | `@oxy.so/bloom/date-picker` + barrel | universal | `date-picker.mdx` | yes | 4 | reads | reads | | reads |
174
174
  | `delivery-slot` | `@oxy.so/bloom/delivery-slot` + barrel | universal | `delivery-slot.mdx` | yes | 2 | reads | | | |
175
- | `design-tokens` | `@oxy.so/bloom/design-tokens` + barrel | universal | `design-tokens.mdx` | yes | 3 | | | | |
176
- | `dialog` | `@oxy.so/bloom/dialog` + barrel | web fork | `dialog.mdx` | yes | 17 | | | | |
175
+ | `design-tokens` | `@oxy.so/bloom/design-tokens` + barrel | universal | `design-tokens.mdx` | yes | 4 | | | | |
176
+ | `dialog` | `@oxy.so/bloom/dialog` + barrel | web fork | `dialog.mdx` | yes | 18 | | | | |
177
177
  | `directions` | `@oxy.so/bloom/directions` + barrel | universal | `directions.mdx` | yes | 2 | | | | |
178
178
  | `divider` | `@oxy.so/bloom/divider` + barrel | universal | `divider.mdx` | yes | 1 | | | | |
179
179
  | `dot-grid-meter` | `@oxy.so/bloom/dot-grid-meter` + barrel | universal | `dot-grid-meter.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 | | | | |
@@ -304,7 +304,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
304
304
  | `tenancy` | `@oxy.so/bloom/tenancy` + barrel | universal | `tenancy.mdx` | yes | 3 | | n/a¹ | | |
305
305
  | `text-field` | `@oxy.so/bloom/text-field` + barrel | universal | `text-field.mdx` | yes | 13 | reads | reads | | |
306
306
  | `textarea` | `@oxy.so/bloom/textarea` + barrel | universal | `textarea.mdx` | yes | 4 | reads | reads | | n/a¹ |
307
- | `theme` | `@oxy.so/bloom/theme` + barrel | web fork | `theme.mdx` | yes | 305 | | | n/a¹ | reads |
307
+ | `theme` | `@oxy.so/bloom/theme` + barrel | web fork | `theme.mdx` | yes | 306 | | | n/a¹ | reads |
308
308
  | `theme-toggle` | `@oxy.so/bloom/theme-toggle` + barrel | universal | `theme-toggle.mdx` | yes | 1 | n/a¹ | | | |
309
309
  | `toast` | `@oxy.so/bloom/toast` + barrel | universal | `toast.mdx` | yes | 17 | | | | |
310
310
  | `tooltip` | `@oxy.so/bloom/tooltip` + barrel | web fork | `tooltip.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.
package/docs/button.mdx CHANGED
@@ -24,7 +24,7 @@ The Color roles prototype assigns `accent` to identity and links, `support` to c
24
24
 
25
25
  An `icon` without children makes a square action. Labelled actions use `leadingIcon` and `trailingIcon`, each an icon component receiving width, height and fill. `leading` and `trailing` are custom content slots.
26
26
 
27
- `loading` blocks activation while preserving the mounted label's width. `disabled` also blocks activation. A control drawing no text needs `accessibilityLabel`. Native touch targets retain the padding around compact visuals; web has real button, anchor and form semantics (`type="submit"` or `"reset"`). Activation is always `onPress`.
27
+ `loading` blocks activation while preserving the mounted label's width. `disabled` also blocks activation. A control drawing no text needs `accessibilityLabel`. Native touch targets retain the padding around compact visuals: vertical hit slop brings every size to 44pt on iOS and 48dp (Material's floor) on Android, so a 44dp `lg` button gets 2dp above and below on Android. Web has real button, anchor and form semantics (`type="submit"` or `"reset"`). Activation is always `onPress`.
28
28
 
29
29
  The pressable is the parent's layout child: `className` and `style` are applied there, without an extra wrapper. Web styles flatten RN style arrays and register their interaction CSS using constructed stylesheets. `asChild` composes an existing web link; disabled state guards the composed handler.
30
30
 
@@ -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. |
@@ -307,6 +307,28 @@ nine pairs on `Theme.chartColors`.
307
307
  | `headerBold` | 28 / 34 | 700 | display |
308
308
  | `buttonLarge` | 17 / 22 | 600 | sans |
309
309
 
310
+ **Line-height tokens are unitless ratios, never px.** `theme.css` ships
311
+ `--text-body--line-height: calc(22 / 15)`, the form Tailwind uses for its own
312
+ scale (`--text-sm--line-height: calc(1.25 / 0.875)`). On the web the two forms
313
+ paint the same 22px. On native they do not. Tailwind v4 emits
314
+ `line-height: var(--tw-leading, var(--text-body--line-height))`,
315
+ react-native-css (3.0.7) compiles it to `lineHeight(var(…))`, and that runtime
316
+ resolver multiplies whatever number arrives by the font-size. A `22px` token
317
+ therefore rendered `text-body` at `{ fontSize: 15, lineHeight: 330 }` on
318
+ Android: every className-styled text row grew about 15× taller, so a pill-shaped
319
+ row became a giant circle. Keep new line-height tokens in this form (`lineHeightRatio()` in
320
+ `design-tokens/theme-css.ts`). `typography-native-line-height.test.tsx` runs
321
+ the real Tailwind → react-native-css pipeline and renders each role.
322
+
323
+ A related upstream gap: an arbitrary `leading-[22px]` compiled by
324
+ react-native-css resolves to **no** line-height on native. Use a role token. That is a separate
325
+ react-native-css issue; do not rely on the arbitrary form there.
326
+
327
+ The test compiles through react-native-css, so Bloom pins `lightningcss` to
328
+ 1.30.1 in `package.json#overrides`, as the apps do. react-native-css 3.0.x
329
+ cannot read lightningcss 1.32's AST ("expected an object-like struct named
330
+ Specifier").
331
+
310
332
  ### Media and creator surfaces
311
333
 
312
334
  Media, library, queue, creator and property-insight palettes resolve structural
package/docs/dialog.mdx CHANGED
@@ -137,6 +137,11 @@ Per-placement behavior:
137
137
  - `left` / `right` — animated side-sheet anchored to that PHYSICAL viewport edge.
138
138
  - `start` / `end` — the same side-sheet on the LOGICAL edge: `start` is the left in a left-to-right layout and the right in a right-to-left one (`end` the reverse), read from `useIsRtl()`, and the panel slides in from that edge. The matching `inset` side applies (`inset.right` for `start` in RTL). On native the panel is positioned with `insetInlineStart`/`insetInlineEnd`, which Yoga resolves against `I18nManager` — a physical `left`/`right` would be swapped by React Native's default `swapLeftAndRightInRTL`. On web the drawer is portaled outside any `dir` context, so it takes the physical edge `useIsRtl()` names. An app that ships Arabic or Hebrew wants `start`/`end`: `{ base: 'bottom', md: 'start' }` is the mirrored store drawer.
139
139
  - `bottom` — reuses the cross-platform `BottomSheet` on BOTH web and native (drag-to-dismiss + internal scroll work everywhere). Custom `children` on bottom placement are rendered in a NON-scrollable body — children own scrolling.
140
+ The sheet is flush with the bottom of the window, so the Dialog ends its content with a spacer the height of the bottom safe area (the Android gesture bar, the iOS home indicator). This spacer is inside the scroll content. Content keeps its own padding; do not add `insets.bottom` yourself. Without the spacer, the last row sat under the gesture bar. A body taller than the sheet could not scroll it out, because the scroll range ended where the bar began.
141
+
142
+ ## Nav header: the title beside the ✕
143
+
144
+ In `header` mode the large title normally starts below the 52px nav row. When that row would hold **only** the close button, the title starts level with the ✕ and wraps before it. That means no `onBack`, `left`, `right`, `actions` or `primaryAction`, and no `titleContent` or `tone: 'onImage'`. The row's scrim fades in once content scrolls under it. Without this, every entry view of a flow began with an empty band above its title. As soon as a back button or trailing actions appear, the title returns to its own row below the bar. `isInlineCloseHeader()` in `dialog/DialogHeader.tsx` is the rule.
140
145
 
141
146
  ### `DialogAction`
142
147
 
@@ -102,6 +102,11 @@ const AccordionItemComponent = ({
102
102
 
103
103
  // ---- Accordion Trigger ----
104
104
 
105
+ /** The trigger's label box: fills the row, sized from its content (`flexBasis: 'auto'`). */
106
+ const TRIGGER_LABEL_STYLE = {
107
+ flexGrow: 1,
108
+ flexShrink: 1
109
+ };
105
110
  const AccordionTriggerComponent = ({
106
111
  children,
107
112
  icon,
@@ -163,9 +168,8 @@ const AccordionTriggerComponent = ({
163
168
  ,
164
169
  "aria-expanded": isExpanded,
165
170
  children: [icon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
166
- style: {
167
- flex: 1
168
- },
171
+ testID: "accordion-trigger-label",
172
+ style: TRIGGER_LABEL_STYLE,
169
173
  children: typeof children === 'string' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
170
174
  style: [{
171
175
  fontSize: 15,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_RiArrowDownSLine","_useTheme","_useInteractionState","_tokens","_nativeDriver","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AccordionContext","createContext","expandedValues","Set","toggle","type","AccordionItemContext","value","isExpanded","disabled","AccordionComponent","onValueChange","children","style","testID","useMemo","Array","isArray","useCallback","itemValue","next","undefined","delete","add","from","contextValue","jsx","Provider","View","AccordionItemComponent","useContext","theme","useTheme","itemContext","borderBottomWidth","borderBottomColor","colors","borderLight","AccordionTriggerComponent","icon","textStyle","rotateAnim","useRef","Animated","Value","current","state","pressed","onIn","onPressIn","onOut","onPressOut","useInteractionState","useEffect","spring","toValue","useNativeDriver","SUPPORTS_NATIVE_DRIVER","animation","snappy","start","handlePress","rotation","interpolate","inputRange","outputRange","jsxs","Pressable","flexDirection","alignItems","paddingVertical","space","md","paddingHorizontal","xs","gap","sm","opacity","DISABLED_OPACITY","onPress","accessibilityRole","flex","Text","fontSize","fontWeight","color","text","transform","rotate","RiArrowDownSLine","size","fill","textSecondary","AccordionContentComponent","heightAnim","contentHeight","setContentHeight","useState","handleContentLayout","event","nativeEvent","layout","height","prev","Math","abs","gentle","maxHeight","overflow","onLayout","paddingBottom","Accordion","exports","memo","displayName","AccordionItem","AccordionTrigger","AccordionContent"],"sourceRoot":"../../../src","sources":["accordion/Accordion.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_RiArrowDownSLine","_useTheme","_useInteractionState","_tokens","_nativeDriver","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AccordionContext","createContext","expandedValues","Set","toggle","type","AccordionItemContext","value","isExpanded","disabled","AccordionComponent","onValueChange","children","style","testID","useMemo","Array","isArray","useCallback","itemValue","next","undefined","delete","add","from","contextValue","jsx","Provider","View","AccordionItemComponent","useContext","theme","useTheme","itemContext","borderBottomWidth","borderBottomColor","colors","borderLight","TRIGGER_LABEL_STYLE","flexGrow","flexShrink","AccordionTriggerComponent","icon","textStyle","rotateAnim","useRef","Animated","Value","current","state","pressed","onIn","onPressIn","onOut","onPressOut","useInteractionState","useEffect","spring","toValue","useNativeDriver","SUPPORTS_NATIVE_DRIVER","animation","snappy","start","handlePress","rotation","interpolate","inputRange","outputRange","jsxs","Pressable","flexDirection","alignItems","paddingVertical","space","md","paddingHorizontal","xs","gap","sm","opacity","DISABLED_OPACITY","onPress","accessibilityRole","Text","fontSize","fontWeight","color","text","transform","rotate","RiArrowDownSLine","size","fill","textSecondary","AccordionContentComponent","heightAnim","contentHeight","setContentHeight","useState","handleContentLayout","event","nativeEvent","layout","height","prev","Math","abs","gentle","maxHeight","overflow","onLayout","paddingBottom","Accordion","exports","memo","displayName","AccordionItem","AccordionTrigger","AccordionContent"],"sourceRoot":"../../../src","sources":["accordion/Accordion.tsx"],"mappings":"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","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 _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":"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","ignoreList":[]}