@oxy.so/bloom 5.1.0 → 5.2.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 (502) hide show
  1. package/docs/adoption-matrix.mdx +9 -9
  2. package/docs/app-shell.mdx +3 -1
  3. package/docs/button.mdx +2 -0
  4. package/docs/card-form.mdx +2 -0
  5. package/docs/chat-composer.mdx +1 -1
  6. package/docs/chat-people.mdx +8 -0
  7. package/docs/earnings.mdx +2 -0
  8. package/docs/field.mdx +2 -0
  9. package/docs/label.mdx +2 -0
  10. package/docs/payment-method.mdx +2 -0
  11. package/docs/place-details.mdx +2 -2
  12. package/docs/proof-of-delivery.mdx +4 -0
  13. package/docs/select.mdx +2 -0
  14. package/docs/settings-modal.mdx +15 -0
  15. package/lib/commonjs/ai-chat/AiChatResizeHandle.js +166 -0
  16. package/lib/commonjs/ai-chat/AiChatResizeHandle.js.map +1 -0
  17. package/lib/commonjs/ai-chat/AiChatShell.js +6 -154
  18. package/lib/commonjs/ai-chat/AiChatShell.js.map +1 -1
  19. package/lib/commonjs/ai-chat/index.js +2 -1
  20. package/lib/commonjs/ai-chat/index.js.map +1 -1
  21. package/lib/commonjs/ai-chat/index.web.js +2 -1
  22. package/lib/commonjs/ai-chat/index.web.js.map +1 -1
  23. package/lib/commonjs/ai-chat/messages.js +15 -30
  24. package/lib/commonjs/ai-chat/messages.js.map +1 -1
  25. package/lib/commonjs/app-shell/AppShellSplit.js +2 -2
  26. package/lib/commonjs/app-shell/AppShellSplit.js.map +1 -1
  27. package/lib/commonjs/button/Button.js +36 -3
  28. package/lib/commonjs/button/Button.js.map +1 -1
  29. package/lib/commonjs/button/GlyphButton.js +7 -3
  30. package/lib/commonjs/button/GlyphButton.js.map +1 -1
  31. package/lib/commonjs/card-form/shared.js +3 -2
  32. package/lib/commonjs/card-form/shared.js.map +1 -1
  33. package/lib/commonjs/chat-composer/AttachmentMenu.js +8 -227
  34. package/lib/commonjs/chat-composer/AttachmentMenu.js.map +1 -1
  35. package/lib/commonjs/chat-composer/AttachmentMenu.web.js +16 -0
  36. package/lib/commonjs/chat-composer/AttachmentMenu.web.js.map +1 -0
  37. package/lib/commonjs/chat-composer/ChatComposer.js +9 -388
  38. package/lib/commonjs/chat-composer/ChatComposer.js.map +1 -1
  39. package/lib/commonjs/chat-composer/ChatComposer.web.js +16 -0
  40. package/lib/commonjs/chat-composer/ChatComposer.web.js.map +1 -0
  41. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.js +5 -200
  42. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.js.map +1 -1
  43. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.web.js +12 -0
  44. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.web.js.map +1 -0
  45. package/lib/commonjs/chat-composer/ComposerBanner.js +5 -163
  46. package/lib/commonjs/chat-composer/ComposerBanner.js.map +1 -1
  47. package/lib/commonjs/chat-composer/ComposerBanner.web.js +12 -0
  48. package/lib/commonjs/chat-composer/ComposerBanner.web.js.map +1 -0
  49. package/lib/commonjs/chat-composer/EmojiPicker.js +6 -443
  50. package/lib/commonjs/chat-composer/EmojiPicker.js.map +1 -1
  51. package/lib/commonjs/chat-composer/EmojiPicker.web.js +14 -0
  52. package/lib/commonjs/chat-composer/EmojiPicker.web.js.map +1 -0
  53. package/lib/commonjs/chat-composer/MessageContextMenu.js +12 -102
  54. package/lib/commonjs/chat-composer/MessageContextMenu.js.map +1 -1
  55. package/lib/commonjs/chat-composer/MessageContextMenu.web.js +19 -0
  56. package/lib/commonjs/chat-composer/MessageContextMenu.web.js.map +1 -0
  57. package/lib/commonjs/chat-composer/ReactionPicker.js +6 -107
  58. package/lib/commonjs/chat-composer/ReactionPicker.js.map +1 -1
  59. package/lib/commonjs/chat-composer/ReactionPicker.web.js +14 -0
  60. package/lib/commonjs/chat-composer/ReactionPicker.web.js.map +1 -0
  61. package/lib/commonjs/chat-composer/SuggestionList.js +5 -222
  62. package/lib/commonjs/chat-composer/SuggestionList.js.map +1 -1
  63. package/lib/commonjs/chat-composer/SuggestionList.web.js +12 -0
  64. package/lib/commonjs/chat-composer/SuggestionList.web.js.map +1 -0
  65. package/lib/commonjs/chat-composer/VoiceRecorder.js +7 -263
  66. package/lib/commonjs/chat-composer/VoiceRecorder.js.map +1 -1
  67. package/lib/commonjs/chat-composer/VoiceRecorder.web.js +16 -0
  68. package/lib/commonjs/chat-composer/VoiceRecorder.web.js.map +1 -0
  69. package/lib/commonjs/chat-composer/create-attachment-menu.js +243 -0
  70. package/lib/commonjs/chat-composer/create-attachment-menu.js.map +1 -0
  71. package/lib/commonjs/chat-composer/create-chat-composer.js +400 -0
  72. package/lib/commonjs/chat-composer/create-chat-composer.js.map +1 -0
  73. package/lib/commonjs/chat-composer/create-composer-attachment-strip.js +212 -0
  74. package/lib/commonjs/chat-composer/create-composer-attachment-strip.js.map +1 -0
  75. package/lib/commonjs/chat-composer/create-composer-banner.js +176 -0
  76. package/lib/commonjs/chat-composer/create-composer-banner.js.map +1 -0
  77. package/lib/commonjs/chat-composer/create-emoji-picker.js +456 -0
  78. package/lib/commonjs/chat-composer/create-emoji-picker.js.map +1 -0
  79. package/lib/commonjs/chat-composer/create-message-context-menu.js +119 -0
  80. package/lib/commonjs/chat-composer/create-message-context-menu.js.map +1 -0
  81. package/lib/commonjs/chat-composer/create-reaction-picker.js +120 -0
  82. package/lib/commonjs/chat-composer/create-reaction-picker.js.map +1 -0
  83. package/lib/commonjs/chat-composer/create-suggestion-list.js +234 -0
  84. package/lib/commonjs/chat-composer/create-suggestion-list.js.map +1 -0
  85. package/lib/commonjs/chat-composer/create-voice-recorder.js +277 -0
  86. package/lib/commonjs/chat-composer/create-voice-recorder.js.map +1 -0
  87. package/lib/commonjs/chat-composer/index.js +9 -9
  88. package/lib/commonjs/chat-composer/index.web.js +18 -18
  89. package/lib/commonjs/chat-composer/index.web.js.map +1 -1
  90. package/lib/commonjs/chat-people/contact-row.js +13 -0
  91. package/lib/commonjs/chat-people/contact-row.js.map +1 -0
  92. package/lib/commonjs/chat-screen/ChatSplitLayout.js +2 -2
  93. package/lib/commonjs/chat-screen/ChatSplitLayout.js.map +1 -1
  94. package/lib/commonjs/earnings/EarningsSummary.js +12 -2
  95. package/lib/commonjs/earnings/EarningsSummary.js.map +1 -1
  96. package/lib/commonjs/field/Field.js +2 -0
  97. package/lib/commonjs/field/Field.js.map +1 -1
  98. package/lib/commonjs/item/Item.js +16 -8
  99. package/lib/commonjs/item/Item.js.map +1 -1
  100. package/lib/commonjs/job-board/JobCard.js +6 -2
  101. package/lib/commonjs/job-board/JobCard.js.map +1 -1
  102. package/lib/commonjs/label/Label.js +2 -1
  103. package/lib/commonjs/label/Label.js.map +1 -1
  104. package/lib/commonjs/listing-details/AmenityList.js +4 -3
  105. package/lib/commonjs/listing-details/AmenityList.js.map +1 -1
  106. package/lib/commonjs/locale/common-messages.js +30 -15
  107. package/lib/commonjs/locale/common-messages.js.map +1 -1
  108. package/lib/commonjs/mail-compose/MailComposeSurface.js +1 -1
  109. package/lib/commonjs/overlay/InteractionBoundary.js +28 -0
  110. package/lib/commonjs/overlay/InteractionBoundary.js.map +1 -0
  111. package/lib/commonjs/payment-method/PaymentMethodList.js +3 -2
  112. package/lib/commonjs/payment-method/PaymentMethodList.js.map +1 -1
  113. package/lib/commonjs/place-details/PlaceAmenities.js +17 -6
  114. package/lib/commonjs/place-details/PlaceAmenities.js.map +1 -1
  115. package/lib/commonjs/place-details/PlacePopularTimes.js +7 -1
  116. package/lib/commonjs/place-details/PlacePopularTimes.js.map +1 -1
  117. package/lib/commonjs/proof-of-delivery/ProofOfDelivery.js +10 -1
  118. package/lib/commonjs/proof-of-delivery/ProofOfDelivery.js.map +1 -1
  119. package/lib/commonjs/proof-of-delivery/shared.js +1 -1
  120. package/lib/commonjs/proof-of-delivery/shared.js.map +1 -1
  121. package/lib/commonjs/select/Select.js +7 -4
  122. package/lib/commonjs/select/Select.js.map +1 -1
  123. package/lib/commonjs/select/Select.web.js +7 -4
  124. package/lib/commonjs/select/Select.web.js.map +1 -1
  125. package/lib/commonjs/select/use-required-description.js +37 -0
  126. package/lib/commonjs/select/use-required-description.js.map +1 -0
  127. package/lib/commonjs/settings-modal/rows.js +37 -0
  128. package/lib/commonjs/settings-modal/rows.js.map +1 -0
  129. package/lib/module/ai-chat/AiChatResizeHandle.js +160 -0
  130. package/lib/module/ai-chat/AiChatResizeHandle.js.map +1 -0
  131. package/lib/module/ai-chat/AiChatShell.js +5 -152
  132. package/lib/module/ai-chat/AiChatShell.js.map +1 -1
  133. package/lib/module/ai-chat/index.js +2 -1
  134. package/lib/module/ai-chat/index.js.map +1 -1
  135. package/lib/module/ai-chat/index.web.js +2 -1
  136. package/lib/module/ai-chat/index.web.js.map +1 -1
  137. package/lib/module/ai-chat/messages.js +15 -30
  138. package/lib/module/ai-chat/messages.js.map +1 -1
  139. package/lib/module/app-shell/AppShellSplit.js +1 -1
  140. package/lib/module/app-shell/AppShellSplit.js.map +1 -1
  141. package/lib/module/button/Button.js +36 -3
  142. package/lib/module/button/Button.js.map +1 -1
  143. package/lib/module/button/GlyphButton.js +7 -3
  144. package/lib/module/button/GlyphButton.js.map +1 -1
  145. package/lib/module/card-form/shared.js +3 -2
  146. package/lib/module/card-form/shared.js.map +1 -1
  147. package/lib/module/chat-composer/AttachmentMenu.js +7 -226
  148. package/lib/module/chat-composer/AttachmentMenu.js.map +1 -1
  149. package/lib/module/chat-composer/AttachmentMenu.web.js +12 -0
  150. package/lib/module/chat-composer/AttachmentMenu.web.js.map +1 -0
  151. package/lib/module/chat-composer/ChatComposer.js +8 -385
  152. package/lib/module/chat-composer/ChatComposer.js.map +1 -1
  153. package/lib/module/chat-composer/ChatComposer.web.js +12 -0
  154. package/lib/module/chat-composer/ChatComposer.web.js.map +1 -0
  155. package/lib/module/chat-composer/ComposerAttachmentStrip.js +4 -196
  156. package/lib/module/chat-composer/ComposerAttachmentStrip.js.map +1 -1
  157. package/lib/module/chat-composer/ComposerAttachmentStrip.web.js +8 -0
  158. package/lib/module/chat-composer/ComposerAttachmentStrip.web.js.map +1 -0
  159. package/lib/module/chat-composer/ComposerBanner.js +4 -162
  160. package/lib/module/chat-composer/ComposerBanner.js.map +1 -1
  161. package/lib/module/chat-composer/ComposerBanner.web.js +8 -0
  162. package/lib/module/chat-composer/ComposerBanner.web.js.map +1 -0
  163. package/lib/module/chat-composer/EmojiPicker.js +5 -440
  164. package/lib/module/chat-composer/EmojiPicker.js.map +1 -1
  165. package/lib/module/chat-composer/EmojiPicker.web.js +10 -0
  166. package/lib/module/chat-composer/EmojiPicker.web.js.map +1 -0
  167. package/lib/module/chat-composer/MessageContextMenu.js +11 -99
  168. package/lib/module/chat-composer/MessageContextMenu.js.map +1 -1
  169. package/lib/module/chat-composer/MessageContextMenu.web.js +15 -0
  170. package/lib/module/chat-composer/MessageContextMenu.web.js.map +1 -0
  171. package/lib/module/chat-composer/ReactionPicker.js +5 -104
  172. package/lib/module/chat-composer/ReactionPicker.js.map +1 -1
  173. package/lib/module/chat-composer/ReactionPicker.web.js +10 -0
  174. package/lib/module/chat-composer/ReactionPicker.web.js.map +1 -0
  175. package/lib/module/chat-composer/SuggestionList.js +4 -219
  176. package/lib/module/chat-composer/SuggestionList.js.map +1 -1
  177. package/lib/module/chat-composer/SuggestionList.web.js +8 -0
  178. package/lib/module/chat-composer/SuggestionList.web.js.map +1 -0
  179. package/lib/module/chat-composer/VoiceRecorder.js +6 -260
  180. package/lib/module/chat-composer/VoiceRecorder.js.map +1 -1
  181. package/lib/module/chat-composer/VoiceRecorder.web.js +12 -0
  182. package/lib/module/chat-composer/VoiceRecorder.web.js.map +1 -0
  183. package/lib/module/chat-composer/create-attachment-menu.js +238 -0
  184. package/lib/module/chat-composer/create-attachment-menu.js.map +1 -0
  185. package/lib/module/chat-composer/create-chat-composer.js +395 -0
  186. package/lib/module/chat-composer/create-chat-composer.js.map +1 -0
  187. package/lib/module/chat-composer/create-composer-attachment-strip.js +206 -0
  188. package/lib/module/chat-composer/create-composer-attachment-strip.js.map +1 -0
  189. package/lib/module/chat-composer/create-composer-banner.js +171 -0
  190. package/lib/module/chat-composer/create-composer-banner.js.map +1 -0
  191. package/lib/module/chat-composer/create-emoji-picker.js +451 -0
  192. package/lib/module/chat-composer/create-emoji-picker.js.map +1 -0
  193. package/lib/module/chat-composer/create-message-context-menu.js +114 -0
  194. package/lib/module/chat-composer/create-message-context-menu.js.map +1 -0
  195. package/lib/module/chat-composer/create-reaction-picker.js +115 -0
  196. package/lib/module/chat-composer/create-reaction-picker.js.map +1 -0
  197. package/lib/module/chat-composer/create-suggestion-list.js +229 -0
  198. package/lib/module/chat-composer/create-suggestion-list.js.map +1 -0
  199. package/lib/module/chat-composer/create-voice-recorder.js +272 -0
  200. package/lib/module/chat-composer/create-voice-recorder.js.map +1 -0
  201. package/lib/module/chat-composer/index.js +9 -9
  202. package/lib/module/chat-composer/index.js.map +1 -1
  203. package/lib/module/chat-composer/index.web.js +9 -9
  204. package/lib/module/chat-composer/index.web.js.map +1 -1
  205. package/lib/module/chat-people/contact-row.js +10 -0
  206. package/lib/module/chat-people/contact-row.js.map +1 -0
  207. package/lib/module/chat-screen/ChatSplitLayout.js +1 -1
  208. package/lib/module/chat-screen/ChatSplitLayout.js.map +1 -1
  209. package/lib/module/earnings/EarningsSummary.js +12 -2
  210. package/lib/module/earnings/EarningsSummary.js.map +1 -1
  211. package/lib/module/field/Field.js +2 -0
  212. package/lib/module/field/Field.js.map +1 -1
  213. package/lib/module/item/Item.js +16 -8
  214. package/lib/module/item/Item.js.map +1 -1
  215. package/lib/module/job-board/JobCard.js +6 -2
  216. package/lib/module/job-board/JobCard.js.map +1 -1
  217. package/lib/module/label/Label.js +2 -1
  218. package/lib/module/label/Label.js.map +1 -1
  219. package/lib/module/listing-details/AmenityList.js +4 -3
  220. package/lib/module/listing-details/AmenityList.js.map +1 -1
  221. package/lib/module/locale/common-messages.js +30 -15
  222. package/lib/module/locale/common-messages.js.map +1 -1
  223. package/lib/module/mail-compose/MailComposeSurface.js +1 -1
  224. package/lib/module/mail-compose/MailComposeSurface.js.map +1 -1
  225. package/lib/module/overlay/InteractionBoundary.js +25 -0
  226. package/lib/module/overlay/InteractionBoundary.js.map +1 -0
  227. package/lib/module/payment-method/PaymentMethodList.js +3 -2
  228. package/lib/module/payment-method/PaymentMethodList.js.map +1 -1
  229. package/lib/module/place-details/PlaceAmenities.js +15 -4
  230. package/lib/module/place-details/PlaceAmenities.js.map +1 -1
  231. package/lib/module/place-details/PlacePopularTimes.js +7 -1
  232. package/lib/module/place-details/PlacePopularTimes.js.map +1 -1
  233. package/lib/module/proof-of-delivery/ProofOfDelivery.js +10 -1
  234. package/lib/module/proof-of-delivery/ProofOfDelivery.js.map +1 -1
  235. package/lib/module/proof-of-delivery/shared.js +1 -1
  236. package/lib/module/proof-of-delivery/shared.js.map +1 -1
  237. package/lib/module/select/Select.js +7 -4
  238. package/lib/module/select/Select.js.map +1 -1
  239. package/lib/module/select/Select.web.js +7 -4
  240. package/lib/module/select/Select.web.js.map +1 -1
  241. package/lib/module/select/use-required-description.js +33 -0
  242. package/lib/module/select/use-required-description.js.map +1 -0
  243. package/lib/module/settings-modal/rows.js +10 -0
  244. package/lib/module/settings-modal/rows.js.map +1 -0
  245. package/lib/typescript/commonjs/ai-chat/AiChatResizeHandle.d.ts +11 -0
  246. package/lib/typescript/commonjs/ai-chat/AiChatResizeHandle.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/ai-chat/AiChatShell.d.ts +1 -10
  248. package/lib/typescript/commonjs/ai-chat/AiChatShell.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/ai-chat/index.d.ts +2 -1
  250. package/lib/typescript/commonjs/ai-chat/index.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/ai-chat/index.web.d.ts +2 -1
  252. package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/ai-chat/messages.d.ts +0 -1
  254. package/lib/typescript/commonjs/ai-chat/messages.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
  256. package/lib/typescript/commonjs/card-form/shared.d.ts +2 -1
  257. package/lib/typescript/commonjs/card-form/shared.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.d.ts +1 -2
  259. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.web.d.ts +2 -0
  261. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.web.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/chat-composer/ChatComposer.d.ts +1 -2
  263. package/lib/typescript/commonjs/chat-composer/ChatComposer.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/chat-composer/ChatComposer.web.d.ts +2 -0
  265. package/lib/typescript/commonjs/chat-composer/ChatComposer.web.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.d.ts +1 -2
  267. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.web.d.ts +2 -0
  269. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.web.d.ts.map +1 -0
  270. package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts +1 -2
  271. package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/chat-composer/ComposerBanner.web.d.ts +2 -0
  273. package/lib/typescript/commonjs/chat-composer/ComposerBanner.web.d.ts.map +1 -0
  274. package/lib/typescript/commonjs/chat-composer/EmojiPicker.d.ts +1 -2
  275. package/lib/typescript/commonjs/chat-composer/EmojiPicker.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/chat-composer/EmojiPicker.web.d.ts +2 -0
  277. package/lib/typescript/commonjs/chat-composer/EmojiPicker.web.d.ts.map +1 -0
  278. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.d.ts +1 -2
  279. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.web.d.ts +2 -0
  281. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.web.d.ts.map +1 -0
  282. package/lib/typescript/commonjs/chat-composer/ReactionPicker.d.ts +1 -2
  283. package/lib/typescript/commonjs/chat-composer/ReactionPicker.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/chat-composer/ReactionPicker.web.d.ts +2 -0
  285. package/lib/typescript/commonjs/chat-composer/ReactionPicker.web.d.ts.map +1 -0
  286. package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts +1 -2
  287. package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts +2 -0
  289. package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.d.ts +1 -2
  291. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.d.ts.map +1 -1
  292. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.web.d.ts +2 -0
  293. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.web.d.ts.map +1 -0
  294. package/lib/typescript/commonjs/chat-composer/create-attachment-menu.d.ts +11 -0
  295. package/lib/typescript/commonjs/chat-composer/create-attachment-menu.d.ts.map +1 -0
  296. package/lib/typescript/commonjs/chat-composer/create-chat-composer.d.ts +11 -0
  297. package/lib/typescript/commonjs/chat-composer/create-chat-composer.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/chat-composer/create-composer-attachment-strip.d.ts +7 -0
  299. package/lib/typescript/commonjs/chat-composer/create-composer-attachment-strip.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/chat-composer/create-composer-banner.d.ts +7 -0
  301. package/lib/typescript/commonjs/chat-composer/create-composer-banner.d.ts.map +1 -0
  302. package/lib/typescript/commonjs/chat-composer/create-emoji-picker.d.ts +9 -0
  303. package/lib/typescript/commonjs/chat-composer/create-emoji-picker.d.ts.map +1 -0
  304. package/lib/typescript/commonjs/chat-composer/create-message-context-menu.d.ts +14 -0
  305. package/lib/typescript/commonjs/chat-composer/create-message-context-menu.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/chat-composer/create-reaction-picker.d.ts +9 -0
  307. package/lib/typescript/commonjs/chat-composer/create-reaction-picker.d.ts.map +1 -0
  308. package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts +7 -0
  309. package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/chat-composer/create-voice-recorder.d.ts +11 -0
  311. package/lib/typescript/commonjs/chat-composer/create-voice-recorder.d.ts.map +1 -0
  312. package/lib/typescript/commonjs/chat-composer/index.web.d.ts +9 -9
  313. package/lib/typescript/commonjs/chat-composer/index.web.d.ts.map +1 -1
  314. package/lib/typescript/commonjs/chat-people/contact-row.d.ts +9 -0
  315. package/lib/typescript/commonjs/chat-people/contact-row.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/earnings/EarningsSummary.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/field/Field.d.ts +1 -1
  318. package/lib/typescript/commonjs/field/Field.d.ts.map +1 -1
  319. package/lib/typescript/commonjs/field/types.d.ts +2 -0
  320. package/lib/typescript/commonjs/field/types.d.ts.map +1 -1
  321. package/lib/typescript/commonjs/floating/types.d.ts +1 -0
  322. package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
  323. package/lib/typescript/commonjs/item/Item.d.ts.map +1 -1
  324. package/lib/typescript/commonjs/job-board/JobCard.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/label/Label.d.ts +1 -1
  326. package/lib/typescript/commonjs/label/Label.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/label/types.d.ts +2 -0
  328. package/lib/typescript/commonjs/label/types.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/listing-details/AmenityList.d.ts.map +1 -1
  330. package/lib/typescript/commonjs/locale/common-messages.d.ts +2 -0
  331. package/lib/typescript/commonjs/locale/common-messages.d.ts.map +1 -1
  332. package/lib/typescript/commonjs/overlay/InteractionBoundary.d.ts +7 -0
  333. package/lib/typescript/commonjs/overlay/InteractionBoundary.d.ts.map +1 -0
  334. package/lib/typescript/commonjs/payment-method/PaymentMethodList.d.ts.map +1 -1
  335. package/lib/typescript/commonjs/place-details/PlaceAmenities.d.ts.map +1 -1
  336. package/lib/typescript/commonjs/place-details/PlacePopularTimes.d.ts.map +1 -1
  337. package/lib/typescript/commonjs/proof-of-delivery/ProofOfDelivery.d.ts.map +1 -1
  338. package/lib/typescript/commonjs/select/Select.d.ts.map +1 -1
  339. package/lib/typescript/commonjs/select/Select.web.d.ts.map +1 -1
  340. package/lib/typescript/commonjs/select/use-required-description.d.ts +7 -0
  341. package/lib/typescript/commonjs/select/use-required-description.d.ts.map +1 -0
  342. package/lib/typescript/commonjs/settings-modal/rows.d.ts +9 -0
  343. package/lib/typescript/commonjs/settings-modal/rows.d.ts.map +1 -0
  344. package/lib/typescript/module/ai-chat/AiChatResizeHandle.d.ts +11 -0
  345. package/lib/typescript/module/ai-chat/AiChatResizeHandle.d.ts.map +1 -0
  346. package/lib/typescript/module/ai-chat/AiChatShell.d.ts +1 -10
  347. package/lib/typescript/module/ai-chat/AiChatShell.d.ts.map +1 -1
  348. package/lib/typescript/module/ai-chat/index.d.ts +2 -1
  349. package/lib/typescript/module/ai-chat/index.d.ts.map +1 -1
  350. package/lib/typescript/module/ai-chat/index.web.d.ts +2 -1
  351. package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
  352. package/lib/typescript/module/ai-chat/messages.d.ts +0 -1
  353. package/lib/typescript/module/ai-chat/messages.d.ts.map +1 -1
  354. package/lib/typescript/module/button/Button.d.ts.map +1 -1
  355. package/lib/typescript/module/card-form/shared.d.ts +2 -1
  356. package/lib/typescript/module/card-form/shared.d.ts.map +1 -1
  357. package/lib/typescript/module/chat-composer/AttachmentMenu.d.ts +1 -2
  358. package/lib/typescript/module/chat-composer/AttachmentMenu.d.ts.map +1 -1
  359. package/lib/typescript/module/chat-composer/AttachmentMenu.web.d.ts +2 -0
  360. package/lib/typescript/module/chat-composer/AttachmentMenu.web.d.ts.map +1 -0
  361. package/lib/typescript/module/chat-composer/ChatComposer.d.ts +1 -2
  362. package/lib/typescript/module/chat-composer/ChatComposer.d.ts.map +1 -1
  363. package/lib/typescript/module/chat-composer/ChatComposer.web.d.ts +2 -0
  364. package/lib/typescript/module/chat-composer/ChatComposer.web.d.ts.map +1 -0
  365. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.d.ts +1 -2
  366. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.d.ts.map +1 -1
  367. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.web.d.ts +2 -0
  368. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.web.d.ts.map +1 -0
  369. package/lib/typescript/module/chat-composer/ComposerBanner.d.ts +1 -2
  370. package/lib/typescript/module/chat-composer/ComposerBanner.d.ts.map +1 -1
  371. package/lib/typescript/module/chat-composer/ComposerBanner.web.d.ts +2 -0
  372. package/lib/typescript/module/chat-composer/ComposerBanner.web.d.ts.map +1 -0
  373. package/lib/typescript/module/chat-composer/EmojiPicker.d.ts +1 -2
  374. package/lib/typescript/module/chat-composer/EmojiPicker.d.ts.map +1 -1
  375. package/lib/typescript/module/chat-composer/EmojiPicker.web.d.ts +2 -0
  376. package/lib/typescript/module/chat-composer/EmojiPicker.web.d.ts.map +1 -0
  377. package/lib/typescript/module/chat-composer/MessageContextMenu.d.ts +1 -2
  378. package/lib/typescript/module/chat-composer/MessageContextMenu.d.ts.map +1 -1
  379. package/lib/typescript/module/chat-composer/MessageContextMenu.web.d.ts +2 -0
  380. package/lib/typescript/module/chat-composer/MessageContextMenu.web.d.ts.map +1 -0
  381. package/lib/typescript/module/chat-composer/ReactionPicker.d.ts +1 -2
  382. package/lib/typescript/module/chat-composer/ReactionPicker.d.ts.map +1 -1
  383. package/lib/typescript/module/chat-composer/ReactionPicker.web.d.ts +2 -0
  384. package/lib/typescript/module/chat-composer/ReactionPicker.web.d.ts.map +1 -0
  385. package/lib/typescript/module/chat-composer/SuggestionList.d.ts +1 -2
  386. package/lib/typescript/module/chat-composer/SuggestionList.d.ts.map +1 -1
  387. package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts +2 -0
  388. package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts.map +1 -0
  389. package/lib/typescript/module/chat-composer/VoiceRecorder.d.ts +1 -2
  390. package/lib/typescript/module/chat-composer/VoiceRecorder.d.ts.map +1 -1
  391. package/lib/typescript/module/chat-composer/VoiceRecorder.web.d.ts +2 -0
  392. package/lib/typescript/module/chat-composer/VoiceRecorder.web.d.ts.map +1 -0
  393. package/lib/typescript/module/chat-composer/create-attachment-menu.d.ts +11 -0
  394. package/lib/typescript/module/chat-composer/create-attachment-menu.d.ts.map +1 -0
  395. package/lib/typescript/module/chat-composer/create-chat-composer.d.ts +11 -0
  396. package/lib/typescript/module/chat-composer/create-chat-composer.d.ts.map +1 -0
  397. package/lib/typescript/module/chat-composer/create-composer-attachment-strip.d.ts +7 -0
  398. package/lib/typescript/module/chat-composer/create-composer-attachment-strip.d.ts.map +1 -0
  399. package/lib/typescript/module/chat-composer/create-composer-banner.d.ts +7 -0
  400. package/lib/typescript/module/chat-composer/create-composer-banner.d.ts.map +1 -0
  401. package/lib/typescript/module/chat-composer/create-emoji-picker.d.ts +9 -0
  402. package/lib/typescript/module/chat-composer/create-emoji-picker.d.ts.map +1 -0
  403. package/lib/typescript/module/chat-composer/create-message-context-menu.d.ts +14 -0
  404. package/lib/typescript/module/chat-composer/create-message-context-menu.d.ts.map +1 -0
  405. package/lib/typescript/module/chat-composer/create-reaction-picker.d.ts +9 -0
  406. package/lib/typescript/module/chat-composer/create-reaction-picker.d.ts.map +1 -0
  407. package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts +7 -0
  408. package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts.map +1 -0
  409. package/lib/typescript/module/chat-composer/create-voice-recorder.d.ts +11 -0
  410. package/lib/typescript/module/chat-composer/create-voice-recorder.d.ts.map +1 -0
  411. package/lib/typescript/module/chat-composer/index.web.d.ts +9 -9
  412. package/lib/typescript/module/chat-composer/index.web.d.ts.map +1 -1
  413. package/lib/typescript/module/chat-people/contact-row.d.ts +9 -0
  414. package/lib/typescript/module/chat-people/contact-row.d.ts.map +1 -0
  415. package/lib/typescript/module/earnings/EarningsSummary.d.ts.map +1 -1
  416. package/lib/typescript/module/field/Field.d.ts +1 -1
  417. package/lib/typescript/module/field/Field.d.ts.map +1 -1
  418. package/lib/typescript/module/field/types.d.ts +2 -0
  419. package/lib/typescript/module/field/types.d.ts.map +1 -1
  420. package/lib/typescript/module/floating/types.d.ts +1 -0
  421. package/lib/typescript/module/floating/types.d.ts.map +1 -1
  422. package/lib/typescript/module/item/Item.d.ts.map +1 -1
  423. package/lib/typescript/module/job-board/JobCard.d.ts.map +1 -1
  424. package/lib/typescript/module/label/Label.d.ts +1 -1
  425. package/lib/typescript/module/label/Label.d.ts.map +1 -1
  426. package/lib/typescript/module/label/types.d.ts +2 -0
  427. package/lib/typescript/module/label/types.d.ts.map +1 -1
  428. package/lib/typescript/module/listing-details/AmenityList.d.ts.map +1 -1
  429. package/lib/typescript/module/locale/common-messages.d.ts +2 -0
  430. package/lib/typescript/module/locale/common-messages.d.ts.map +1 -1
  431. package/lib/typescript/module/overlay/InteractionBoundary.d.ts +7 -0
  432. package/lib/typescript/module/overlay/InteractionBoundary.d.ts.map +1 -0
  433. package/lib/typescript/module/payment-method/PaymentMethodList.d.ts.map +1 -1
  434. package/lib/typescript/module/place-details/PlaceAmenities.d.ts.map +1 -1
  435. package/lib/typescript/module/place-details/PlacePopularTimes.d.ts.map +1 -1
  436. package/lib/typescript/module/proof-of-delivery/ProofOfDelivery.d.ts.map +1 -1
  437. package/lib/typescript/module/select/Select.d.ts.map +1 -1
  438. package/lib/typescript/module/select/Select.web.d.ts.map +1 -1
  439. package/lib/typescript/module/select/use-required-description.d.ts +7 -0
  440. package/lib/typescript/module/select/use-required-description.d.ts.map +1 -0
  441. package/lib/typescript/module/settings-modal/rows.d.ts +9 -0
  442. package/lib/typescript/module/settings-modal/rows.d.ts.map +1 -0
  443. package/package.json +35 -1
  444. package/src/ai-chat/AiChatResizeHandle.tsx +151 -0
  445. package/src/ai-chat/AiChatShell.tsx +8 -143
  446. package/src/ai-chat/index.ts +2 -1
  447. package/src/ai-chat/index.web.ts +2 -1
  448. package/src/ai-chat/messages.ts +0 -16
  449. package/src/app-shell/AppShellSplit.tsx +1 -1
  450. package/src/button/Button.tsx +35 -10
  451. package/src/button/GlyphButton.tsx +3 -3
  452. package/src/card-form/shared.ts +3 -2
  453. package/src/chat-composer/AttachmentMenu.tsx +2 -214
  454. package/src/chat-composer/AttachmentMenu.web.tsx +5 -0
  455. package/src/chat-composer/ChatComposer.tsx +2 -459
  456. package/src/chat-composer/ChatComposer.web.tsx +6 -0
  457. package/src/chat-composer/ComposerAttachmentStrip.tsx +2 -202
  458. package/src/chat-composer/ComposerAttachmentStrip.web.tsx +4 -0
  459. package/src/chat-composer/ComposerBanner.tsx +2 -157
  460. package/src/chat-composer/ComposerBanner.web.tsx +4 -0
  461. package/src/chat-composer/EmojiPicker.tsx +2 -402
  462. package/src/chat-composer/EmojiPicker.web.tsx +5 -0
  463. package/src/chat-composer/MessageContextMenu.tsx +2 -88
  464. package/src/chat-composer/MessageContextMenu.web.tsx +12 -0
  465. package/src/chat-composer/ReactionPicker.tsx +2 -100
  466. package/src/chat-composer/ReactionPicker.web.tsx +5 -0
  467. package/src/chat-composer/SuggestionList.tsx +2 -209
  468. package/src/chat-composer/SuggestionList.web.tsx +4 -0
  469. package/src/chat-composer/VoiceRecorder.tsx +2 -287
  470. package/src/chat-composer/VoiceRecorder.web.tsx +6 -0
  471. package/src/chat-composer/create-attachment-menu.tsx +228 -0
  472. package/src/chat-composer/create-chat-composer.tsx +473 -0
  473. package/src/chat-composer/create-composer-attachment-strip.tsx +212 -0
  474. package/src/chat-composer/create-composer-banner.tsx +167 -0
  475. package/src/chat-composer/create-emoji-picker.tsx +414 -0
  476. package/src/chat-composer/create-message-context-menu.tsx +112 -0
  477. package/src/chat-composer/create-reaction-picker.tsx +112 -0
  478. package/src/chat-composer/create-suggestion-list.tsx +219 -0
  479. package/src/chat-composer/create-voice-recorder.tsx +301 -0
  480. package/src/chat-composer/index.web.ts +9 -9
  481. package/src/chat-people/contact-row.ts +8 -0
  482. package/src/chat-screen/ChatSplitLayout.tsx +1 -1
  483. package/src/earnings/EarningsSummary.tsx +9 -2
  484. package/src/field/Field.tsx +2 -1
  485. package/src/field/types.ts +2 -0
  486. package/src/floating/types.ts +1 -0
  487. package/src/item/Item.tsx +16 -11
  488. package/src/job-board/JobCard.tsx +4 -1
  489. package/src/label/Label.tsx +2 -1
  490. package/src/label/types.ts +2 -0
  491. package/src/listing-details/AmenityList.tsx +4 -3
  492. package/src/locale/common-messages.ts +17 -0
  493. package/src/overlay/InteractionBoundary.tsx +24 -0
  494. package/src/payment-method/PaymentMethodList.tsx +2 -1
  495. package/src/place-details/PlaceAmenities.tsx +9 -0
  496. package/src/place-details/PlacePopularTimes.tsx +7 -1
  497. package/src/proof-of-delivery/ProofOfDelivery.tsx +9 -1
  498. package/src/proof-of-delivery/shared.ts +1 -1
  499. package/src/select/Select.tsx +5 -1
  500. package/src/select/Select.web.tsx +5 -1
  501. package/src/select/use-required-description.tsx +20 -0
  502. package/src/settings-modal/rows.ts +21 -0
@@ -1,266 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import { useCardFill } from "../card/use-card-fill.js";
4
3
  import { Surface } from '../surface';
5
- /**
6
- * The bar while a voice message is being recorded, and after: a live meter
7
- * (`recording`), a hands-free one with explicit buttons (`locked`), and the
8
- * playable result (`preview`).
9
- *
10
- * Purely presentational, and deliberately so — the elapsed time, the levels and
11
- * the playback position all arrive as props. A recorder that owned a timer
12
- * would be reading the clock inside a component, which is the one thing every
13
- * relative time in this fleet is forbidden to do; it also makes the three
14
- * states impossible to screenshot.
15
- */
16
- import React, { useEffect, useState } from 'react';
17
- import { View } from 'react-native';
18
- import Animated, { Easing, cancelAnimation, useAnimatedStyle, useReducedMotion, useSharedValue, withRepeat, withSequence, withTiming } from 'react-native-reanimated';
19
4
  import { Button } from '../button';
20
- import { RiArrowLeftSLine } from "../icons/remix/RiArrowLeftSLine.js";
21
- import { RiCloseLine } from "../icons/remix/RiCloseLine.js";
22
- import { RiDeleteBinLine } from "../icons/remix/RiDeleteBinLine.js";
23
- import { RiLockLine } from "../icons/remix/RiLockLine.js";
24
- import { RiPauseFill } from "../icons/remix/RiPauseFill.js";
25
- import { RiPlayFill } from "../icons/remix/RiPlayFill.js";
26
- import { RiSendPlaneLine } from "../icons/remix/RiSendPlaneLine.js";
27
- import { useTheme } from "../theme/use-theme.js";
28
- import { Text } from "../typography/index.js";
29
5
  import { ComposerIconButton } from './ComposerIconButton';
30
- import { BAR_PADDING, BAR_RADIUS, CONTROL_SIZE, voiceRecorderLabels, WAVE_BAR_GAP, WAVE_BAR_WIDTH, WAVE_HEIGHT, formatRecordingTime, resolveChatComposerPalette, waveformBars } from "./shared.js";
31
- import { IS_WEB, useChatComposerWebCss } from "./web-hooks.js";
32
- import { useMessages } from "../locale/messages.js";
33
- import { CHAT_COMPOSER_MESSAGES } from "./messages.js";
34
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
35
- const EASE_IN_OUT = Easing.bezier(0.42, 0, 0.58, 1);
36
-
37
- /** The live "we are recording" dot. CSS keyframes on web, a reanimated loop on native. */
38
- function RecordDot({
39
- color,
40
- active
41
- }) {
42
- const reducedMotion = useReducedMotion();
43
- const opacity = useSharedValue(1);
44
- useEffect(() => {
45
- if (IS_WEB || !active || reducedMotion) return;
46
- opacity.value = withRepeat(withSequence(withTiming(0.25, {
47
- duration: 500,
48
- easing: EASE_IN_OUT
49
- }), withTiming(1, {
50
- duration: 500,
51
- easing: EASE_IN_OUT
52
- })), -1);
53
- return () => cancelAnimation(opacity);
54
- }, [active, reducedMotion, opacity]);
55
- const animated = useAnimatedStyle(() => ({
56
- opacity: opacity.value
57
- }), [opacity]);
58
- const base = {
59
- width: 8,
60
- height: 8,
61
- borderRadius: 4,
62
- backgroundColor: color
63
- };
64
- if (IS_WEB) {
65
- const web = active && !reducedMotion ? {
66
- ...base,
67
- animation: 'bloom-chat-composer-pulse 1000ms ease-in-out infinite'
68
- } : base;
69
- return /*#__PURE__*/_jsx(View, {
70
- style: web
71
- });
72
- }
73
- return /*#__PURE__*/_jsx(Animated.View, {
74
- style: [base, animated]
75
- });
76
- }
77
-
78
- /**
79
- * The meter. Bars are laid out from a MEASURED width rather than a fixed count,
80
- * so the same recorder reads correctly in a 390px column and a 900px one; the
81
- * oldest samples fall off the left as the array grows.
82
- */
83
- function Waveform({
84
- amplitudes,
85
- color,
86
- dimColor,
87
- progress,
88
- testID
89
- }) {
90
- const [width, setWidth] = useState(0);
91
- const onLayout = event => setWidth(event.nativeEvent.layout.width);
92
- const slot = WAVE_BAR_WIDTH + WAVE_BAR_GAP;
93
- const count = width > 0 ? Math.max(1, Math.floor(width / slot)) : 0;
94
- const bars = count > 0 ? waveformBars(amplitudes, count) : [];
95
- const played = progress === undefined ? bars.length : Math.round(bars.length * progress);
96
- return /*#__PURE__*/_jsx(View, {
97
- onLayout: onLayout,
98
- style: {
99
- flexGrow: 1,
100
- flexShrink: 1,
101
- height: WAVE_HEIGHT,
102
- flexDirection: 'row',
103
- alignItems: 'center',
104
- gap: WAVE_BAR_GAP
105
- },
106
- testID: testID,
107
- children: bars.map((level, index) => /*#__PURE__*/_jsx(View, {
108
- style: {
109
- width: WAVE_BAR_WIDTH,
110
- height: Math.max(2, Math.round(level * WAVE_HEIGHT)),
111
- borderRadius: WAVE_BAR_WIDTH,
112
- backgroundColor: index < played ? color : dimColor
113
- }
114
- }, index))
115
- });
116
- }
117
- export function VoiceRecorder({
118
- state,
119
- seconds,
120
- duration,
121
- amplitudes = [],
122
- playing = false,
123
- onPlayToggle,
124
- onCancel,
125
- onDelete,
126
- onSend,
127
- onLock,
128
- slideToCancel = !IS_WEB,
129
- labels: labelOverrides,
130
- style,
131
- testID,
132
- accessibilityLabel
133
- }) {
134
- const theme = useTheme();
135
- const palette = resolveChatComposerPalette(theme, useCardFill(style));
136
- const {
137
- messages
138
- } = useMessages(CHAT_COMPOSER_MESSAGES);
139
- useChatComposerWebCss();
140
- const labels = {
141
- ...voiceRecorderLabels(messages),
142
- ...labelOverrides
143
- };
144
- const preview = state === 'preview';
145
- const total = duration ?? seconds;
146
- const bar = {
147
- flexDirection: 'row',
148
- alignItems: 'center',
149
- gap: 10,
150
- minHeight: CONTROL_SIZE + BAR_PADDING * 2,
151
- borderRadius: BAR_RADIUS,
152
- paddingLeft: 12,
153
- paddingRight: BAR_PADDING,
154
- paddingTop: BAR_PADDING,
155
- paddingBottom: BAR_PADDING,
156
- '--bloom-chat-composer-ring': palette.focusRing
157
- };
158
- return /*#__PURE__*/_jsxs(Surface, {
159
- accessibilityLabel: accessibilityLabel ?? labels.recording,
160
- style: [bar, style],
161
- testID: testID,
162
- children: [preview ? /*#__PURE__*/_jsxs(_Fragment, {
163
- children: [onDelete ? /*#__PURE__*/_jsx(ComposerIconButton, {
164
- icon: RiDeleteBinLine,
165
- accessibilityLabel: labels.delete,
166
- onPress: onDelete,
167
- size: 32,
168
- iconSize: 18,
169
- style: {
170
- marginLeft: -6
171
- },
172
- testID: testID ? `${testID}-delete` : undefined
173
- }) : null, /*#__PURE__*/_jsx(ComposerIconButton, {
174
- icon: playing ? RiPauseFill : RiPlayFill,
175
- accessibilityLabel: playing ? labels.pause : labels.play,
176
- onPress: onPlayToggle,
177
- size: 32,
178
- iconSize: 18,
179
- style: {
180
- backgroundColor: palette.inset
181
- },
182
- testID: testID ? `${testID}-play` : undefined
183
- })]
184
- }) : /*#__PURE__*/_jsx(RecordDot, {
185
- color: palette.destructive,
186
- active: true
187
- }), /*#__PURE__*/_jsx(Text, {
188
- variant: "body-2-medium",
189
- style: {
190
- color: palette.text,
191
- minWidth: 40
192
- },
193
- testID: testID ? `${testID}-time` : undefined,
194
- children: formatRecordingTime(seconds)
195
- }), /*#__PURE__*/_jsx(Waveform, {
196
- amplitudes: amplitudes,
197
- color: preview ? palette.accent : palette.destructive,
198
- dimColor: palette.border,
199
- progress: preview && total > 0 ? Math.min(1, seconds / total) : undefined,
200
- testID: testID ? `${testID}-wave` : undefined
201
- }), preview ? /*#__PURE__*/_jsx(Text, {
202
- variant: "caption-1-regular",
203
- style: {
204
- color: palette.textSecondary
205
- },
206
- children: formatRecordingTime(total)
207
- }) : null, state === 'recording' && slideToCancel ? /*#__PURE__*/_jsxs(Button, {
208
- appearance: "plain",
209
- tone: "neutral",
210
- accessibilityLabel: labels.cancel,
211
- onPress: onCancel,
212
- style: {
213
- flexDirection: 'row',
214
- alignItems: 'center',
215
- gap: 2,
216
- height: 'auto',
217
- minHeight: 0,
218
- padding: 0
219
- },
220
- testID: testID ? `${testID}-slide` : undefined,
221
- children: [/*#__PURE__*/_jsx(RiArrowLeftSLine, {
222
- width: 16,
223
- height: 16,
224
- fill: palette.textSecondary
225
- }), /*#__PURE__*/_jsx(Text, {
226
- variant: "caption-1-regular",
227
- style: {
228
- color: palette.textSecondary
229
- },
230
- children: labels.slideToCancel
231
- })]
232
- }) : null, state === 'recording' && !slideToCancel && onCancel ? /*#__PURE__*/_jsx(ComposerIconButton, {
233
- icon: RiCloseLine,
234
- accessibilityLabel: labels.cancel,
235
- onPress: onCancel,
236
- size: 32,
237
- iconSize: 18,
238
- testID: testID ? `${testID}-cancel` : undefined
239
- }) : null, state === 'recording' && onLock ? /*#__PURE__*/_jsx(ComposerIconButton, {
240
- icon: RiLockLine,
241
- accessibilityLabel: labels.lock,
242
- onPress: onLock,
243
- size: 32,
244
- iconSize: 16,
245
- style: {
246
- backgroundColor: palette.inset
247
- },
248
- testID: testID ? `${testID}-lock` : undefined
249
- }) : null, state !== 'recording' && onCancel ? /*#__PURE__*/_jsx(ComposerIconButton, {
250
- icon: RiCloseLine,
251
- accessibilityLabel: labels.cancel,
252
- onPress: onCancel,
253
- size: 32,
254
- iconSize: 18,
255
- testID: testID ? `${testID}-cancel` : undefined
256
- }) : null, onSend && state !== 'recording' ? /*#__PURE__*/_jsx(ComposerIconButton, {
257
- icon: RiSendPlaneLine,
258
- tone: "accent",
259
- accessibilityLabel: labels.send,
260
- onPress: onSend,
261
- iconSize: 18,
262
- testID: testID ? `${testID}-send` : undefined
263
- }) : null]
264
- });
265
- }
6
+ import { createVoiceRecorder } from "./create-voice-recorder.js";
7
+ export const VoiceRecorder = createVoiceRecorder({
8
+ Surface,
9
+ Button,
10
+ ComposerIconButton
11
+ });
266
12
  //# sourceMappingURL=VoiceRecorder.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCardFill","Surface","React","useEffect","useState","View","Animated","Easing","cancelAnimation","useAnimatedStyle","useReducedMotion","useSharedValue","withRepeat","withSequence","withTiming","Button","RiArrowLeftSLine","RiCloseLine","RiDeleteBinLine","RiLockLine","RiPauseFill","RiPlayFill","RiSendPlaneLine","useTheme","Text","ComposerIconButton","BAR_PADDING","BAR_RADIUS","CONTROL_SIZE","voiceRecorderLabels","WAVE_BAR_GAP","WAVE_BAR_WIDTH","WAVE_HEIGHT","formatRecordingTime","resolveChatComposerPalette","waveformBars","IS_WEB","useChatComposerWebCss","useMessages","CHAT_COMPOSER_MESSAGES","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EASE_IN_OUT","bezier","RecordDot","color","active","reducedMotion","opacity","value","duration","easing","animated","base","width","height","borderRadius","backgroundColor","web","animation","style","Waveform","amplitudes","dimColor","progress","testID","setWidth","onLayout","event","nativeEvent","layout","slot","count","Math","max","floor","bars","played","undefined","length","round","flexGrow","flexShrink","flexDirection","alignItems","gap","children","map","level","index","VoiceRecorder","state","seconds","playing","onPlayToggle","onCancel","onDelete","onSend","onLock","slideToCancel","labels","labelOverrides","accessibilityLabel","theme","palette","messages","preview","total","bar","minHeight","paddingLeft","paddingRight","paddingTop","paddingBottom","focusRing","recording","icon","delete","onPress","size","iconSize","marginLeft","pause","play","inset","destructive","variant","text","minWidth","accent","border","min","textSecondary","appearance","tone","cancel","padding","fill","lock","send"],"sourceRoot":"../../../src","sources":["chat-composer/VoiceRecorder.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Surface","Button","ComposerIconButton","createVoiceRecorder","VoiceRecorder"],"sourceRoot":"../../../src","sources":["chat-composer/VoiceRecorder.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,YAAY;AACpC,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,mBAAmB,QAAQ,4BAAyB;AAE7D,OAAO,MAAMC,aAAa,GAAGD,mBAAmB,CAAC;EAAEH,OAAO;EAAEC,MAAM;EAAEC;AAAmB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import { Surface } from "../surface/index.web.js";
4
+ import { Button } from "../button/index.web.js";
5
+ import { ComposerIconButton } from "./ComposerIconButton.web.js";
6
+ import { createVoiceRecorder } from "./create-voice-recorder.js";
7
+ export const VoiceRecorder = createVoiceRecorder({
8
+ Surface,
9
+ Button,
10
+ ComposerIconButton
11
+ });
12
+ //# sourceMappingURL=VoiceRecorder.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Surface","Button","ComposerIconButton","createVoiceRecorder","VoiceRecorder"],"sourceRoot":"../../../src","sources":["chat-composer/VoiceRecorder.web.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,MAAM,QAAQ,wBAAqB;AAC5C,SAASC,kBAAkB,QAAQ,6BAA0B;AAC7D,SAASC,mBAAmB,QAAQ,4BAAyB;AAE7D,OAAO,MAAMC,aAAa,GAAGD,mBAAmB,CAAC;EAAEH,OAAO;EAAEC,MAAM;EAAEC;AAAmB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The plus/paperclip menu.
5
+ *
6
+ * It is `Popover`, not a hand-rolled surface, and that one choice is the whole
7
+ * platform story: Bloom's popover is already an anchored panel on a pointer and
8
+ * a bottom sheet on a phone, so this family adds no platform fork of its own
9
+ * and inherits the dismissal, stacking and focus behaviour those surfaces were
10
+ * gated for.
11
+ */
12
+ import React from 'react';
13
+ import { View } from 'react-native';
14
+ import { useTheme } from "../theme/use-theme.js";
15
+ import { Text } from "../typography/index.js";
16
+ import { attachmentMenuItems, resolveChatComposerPalette } from "./shared.js";
17
+ import { useChatComposerWebCss } from "./web-hooks.js";
18
+ import { useMessages } from "../locale/messages.js";
19
+ import { CHAT_COMPOSER_MESSAGES } from "./messages.js";
20
+
21
+ /** Platform dependencies are bound once; shared rendering adds no wrapper. */
22
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
+ export function createAttachmentMenu({
24
+ Button,
25
+ Popover,
26
+ PopoverContent,
27
+ PopoverTrigger
28
+ }) {
29
+ /** A 48px tinted disc with its label under it. */
30
+ function GridCell({
31
+ item,
32
+ onPress,
33
+ width,
34
+ testID
35
+ }) {
36
+ const theme = useTheme();
37
+ const palette = resolveChatComposerPalette(theme);
38
+ const tint = item.color ?? palette.accent;
39
+ const cell = {
40
+ width,
41
+ height: 'auto',
42
+ minHeight: 0,
43
+ minWidth: 0,
44
+ paddingLeft: 0,
45
+ paddingRight: 0,
46
+ alignItems: 'center',
47
+ gap: 6,
48
+ paddingTop: 8,
49
+ paddingBottom: 8,
50
+ borderRadius: 12,
51
+ opacity: item.disabled ? 0.45 : 1,
52
+ cursor: item.disabled ? 'auto' : 'pointer'
53
+ };
54
+ return /*#__PURE__*/_jsx(Button, {
55
+ appearance: "plain",
56
+ tone: "neutral",
57
+ accessibilityLabel: item.label,
58
+ disabled: item.disabled,
59
+ onPress: onPress,
60
+ style: cell,
61
+ testID: testID,
62
+ children: /*#__PURE__*/_jsxs(View, {
63
+ style: {
64
+ alignItems: 'center',
65
+ gap: 6
66
+ },
67
+ children: [/*#__PURE__*/_jsx(View, {
68
+ style: {
69
+ width: 48,
70
+ height: 48,
71
+ borderRadius: 24,
72
+ alignItems: 'center',
73
+ justifyContent: 'center',
74
+ backgroundColor: palette.accentSoft
75
+ },
76
+ children: /*#__PURE__*/_jsx(item.icon, {
77
+ width: 22,
78
+ height: 22,
79
+ fill: tint
80
+ })
81
+ }), /*#__PURE__*/_jsx(Text, {
82
+ variant: "caption-1-regular",
83
+ numberOfLines: 1,
84
+ style: {
85
+ color: palette.textSecondary
86
+ },
87
+ children: item.label
88
+ })]
89
+ })
90
+ });
91
+ }
92
+
93
+ /** A full-width row: glyph, label. */
94
+ function ListRow({
95
+ item,
96
+ onPress,
97
+ testID
98
+ }) {
99
+ const theme = useTheme();
100
+ const palette = resolveChatComposerPalette(theme);
101
+ const tint = item.color ?? palette.accent;
102
+ const row = {
103
+ flexDirection: 'row',
104
+ alignItems: 'center',
105
+ gap: 12,
106
+ minHeight: 40,
107
+ height: 'auto',
108
+ minWidth: 0,
109
+ width: '100%',
110
+ borderRadius: 10,
111
+ paddingLeft: 8,
112
+ paddingRight: 8,
113
+ paddingTop: 6,
114
+ paddingBottom: 6,
115
+ opacity: item.disabled ? 0.45 : 1,
116
+ cursor: item.disabled ? 'auto' : 'pointer'
117
+ };
118
+ return /*#__PURE__*/_jsx(Button, {
119
+ appearance: "plain",
120
+ tone: "neutral",
121
+ accessibilityLabel: item.label,
122
+ disabled: item.disabled,
123
+ onPress: onPress,
124
+ style: row,
125
+ testID: testID,
126
+ children: /*#__PURE__*/_jsxs(View, {
127
+ style: {
128
+ flexDirection: 'row',
129
+ alignItems: 'center',
130
+ gap: 12,
131
+ width: '100%'
132
+ },
133
+ children: [/*#__PURE__*/_jsx(View, {
134
+ style: {
135
+ width: 32,
136
+ height: 32,
137
+ borderRadius: 16,
138
+ alignItems: 'center',
139
+ justifyContent: 'center',
140
+ backgroundColor: palette.accentSoft
141
+ },
142
+ children: /*#__PURE__*/_jsx(item.icon, {
143
+ width: 18,
144
+ height: 18,
145
+ fill: tint
146
+ })
147
+ }), /*#__PURE__*/_jsx(Text, {
148
+ variant: "body-medium",
149
+ numberOfLines: 1,
150
+ style: {
151
+ color: palette.text
152
+ },
153
+ children: item.label
154
+ })]
155
+ })
156
+ });
157
+ }
158
+ function AttachmentMenu({
159
+ children,
160
+ open,
161
+ defaultOpen,
162
+ onOpenChange,
163
+ items: itemsProp,
164
+ layout = 'grid',
165
+ columns = 4,
166
+ onSelect,
167
+ recent,
168
+ label: labelProp,
169
+ style,
170
+ testID
171
+ }) {
172
+ useChatComposerWebCss();
173
+ const {
174
+ messages
175
+ } = useMessages(CHAT_COMPOSER_MESSAGES);
176
+ const localizedItems = React.useMemo(() => attachmentMenuItems(messages), [messages]);
177
+ const items = itemsProp ?? localizedItems;
178
+ const label = labelProp ?? messages.attach;
179
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen ?? false);
180
+ const isOpen = open ?? uncontrolledOpen;
181
+ const setOpen = next => {
182
+ if (open === undefined) setUncontrolledOpen(next);
183
+ onOpenChange?.(next);
184
+ };
185
+
186
+ // A percentage string is the only way to say "n per row" in a wrapping flex
187
+ // row that has to work on both platforms; Yoga and CSS agree on it.
188
+ const cellWidth = `${100 / Math.max(1, columns)}%`;
189
+ return /*#__PURE__*/_jsxs(Popover, {
190
+ open: isOpen,
191
+ onOpenChange: setOpen,
192
+ children: [/*#__PURE__*/_jsx(PopoverTrigger, {
193
+ asChild: true,
194
+ children: children
195
+ }), /*#__PURE__*/_jsxs(PopoverContent, {
196
+ label: label,
197
+ side: "top",
198
+ align: "start",
199
+ minWidth: layout === 'grid' ? Math.max(264, columns * 72) : 220,
200
+ style: style,
201
+ testID: testID,
202
+ children: [recent ? /*#__PURE__*/_jsx(View, {
203
+ style: {
204
+ paddingBottom: 8
205
+ },
206
+ children: recent
207
+ }) : null, /*#__PURE__*/_jsx(View, {
208
+ style: layout === 'grid' ? {
209
+ flexDirection: 'row',
210
+ flexWrap: 'wrap',
211
+ alignItems: 'flex-start'
212
+ } : {
213
+ flexDirection: 'column',
214
+ gap: 2
215
+ },
216
+ children: items.map(item => layout === 'grid' ? /*#__PURE__*/_jsx(GridCell, {
217
+ item: item,
218
+ width: cellWidth,
219
+ onPress: () => {
220
+ onSelect?.(item.id, item);
221
+ setOpen(false);
222
+ },
223
+ testID: testID ? `${testID}-${item.id}` : undefined
224
+ }, item.id) : /*#__PURE__*/_jsx(ListRow, {
225
+ item: item,
226
+ onPress: () => {
227
+ onSelect?.(item.id, item);
228
+ setOpen(false);
229
+ },
230
+ testID: testID ? `${testID}-${item.id}` : undefined
231
+ }, item.id))
232
+ })]
233
+ })]
234
+ });
235
+ }
236
+ return AttachmentMenu;
237
+ }
238
+ //# sourceMappingURL=create-attachment-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","useTheme","Text","attachmentMenuItems","resolveChatComposerPalette","useChatComposerWebCss","useMessages","CHAT_COMPOSER_MESSAGES","jsx","_jsx","jsxs","_jsxs","createAttachmentMenu","Button","Popover","PopoverContent","PopoverTrigger","GridCell","item","onPress","width","testID","theme","palette","tint","color","accent","cell","height","minHeight","minWidth","paddingLeft","paddingRight","alignItems","gap","paddingTop","paddingBottom","borderRadius","opacity","disabled","cursor","appearance","tone","accessibilityLabel","label","style","children","justifyContent","backgroundColor","accentSoft","icon","fill","variant","numberOfLines","textSecondary","ListRow","row","flexDirection","text","AttachmentMenu","open","defaultOpen","onOpenChange","items","itemsProp","layout","columns","onSelect","recent","labelProp","messages","localizedItems","useMemo","attach","uncontrolledOpen","setUncontrolledOpen","useState","isOpen","setOpen","next","undefined","cellWidth","Math","max","asChild","side","align","flexWrap","map","id"],"sourceRoot":"../../../src","sources":["chat-composer/create-attachment-menu.tsx"],"mappings":"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","ignoreList":[]}