@oxy.so/bloom 5.1.0 → 5.1.1

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 (430) hide show
  1. package/docs/adoption-matrix.mdx +9 -9
  2. package/docs/button.mdx +2 -0
  3. package/docs/card-form.mdx +2 -0
  4. package/docs/chat-composer.mdx +1 -1
  5. package/docs/earnings.mdx +2 -0
  6. package/docs/field.mdx +2 -0
  7. package/docs/label.mdx +2 -0
  8. package/docs/payment-method.mdx +2 -0
  9. package/docs/place-details.mdx +2 -2
  10. package/docs/proof-of-delivery.mdx +4 -0
  11. package/docs/select.mdx +2 -0
  12. package/lib/commonjs/button/Button.js +36 -3
  13. package/lib/commonjs/button/Button.js.map +1 -1
  14. package/lib/commonjs/button/GlyphButton.js +7 -3
  15. package/lib/commonjs/button/GlyphButton.js.map +1 -1
  16. package/lib/commonjs/card-form/shared.js +3 -2
  17. package/lib/commonjs/card-form/shared.js.map +1 -1
  18. package/lib/commonjs/chat-composer/AttachmentMenu.js +8 -227
  19. package/lib/commonjs/chat-composer/AttachmentMenu.js.map +1 -1
  20. package/lib/commonjs/chat-composer/AttachmentMenu.web.js +16 -0
  21. package/lib/commonjs/chat-composer/AttachmentMenu.web.js.map +1 -0
  22. package/lib/commonjs/chat-composer/ChatComposer.js +9 -388
  23. package/lib/commonjs/chat-composer/ChatComposer.js.map +1 -1
  24. package/lib/commonjs/chat-composer/ChatComposer.web.js +16 -0
  25. package/lib/commonjs/chat-composer/ChatComposer.web.js.map +1 -0
  26. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.js +5 -200
  27. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.js.map +1 -1
  28. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.web.js +12 -0
  29. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.web.js.map +1 -0
  30. package/lib/commonjs/chat-composer/ComposerBanner.js +5 -163
  31. package/lib/commonjs/chat-composer/ComposerBanner.js.map +1 -1
  32. package/lib/commonjs/chat-composer/ComposerBanner.web.js +12 -0
  33. package/lib/commonjs/chat-composer/ComposerBanner.web.js.map +1 -0
  34. package/lib/commonjs/chat-composer/EmojiPicker.js +6 -443
  35. package/lib/commonjs/chat-composer/EmojiPicker.js.map +1 -1
  36. package/lib/commonjs/chat-composer/EmojiPicker.web.js +14 -0
  37. package/lib/commonjs/chat-composer/EmojiPicker.web.js.map +1 -0
  38. package/lib/commonjs/chat-composer/MessageContextMenu.js +12 -102
  39. package/lib/commonjs/chat-composer/MessageContextMenu.js.map +1 -1
  40. package/lib/commonjs/chat-composer/MessageContextMenu.web.js +19 -0
  41. package/lib/commonjs/chat-composer/MessageContextMenu.web.js.map +1 -0
  42. package/lib/commonjs/chat-composer/ReactionPicker.js +6 -107
  43. package/lib/commonjs/chat-composer/ReactionPicker.js.map +1 -1
  44. package/lib/commonjs/chat-composer/ReactionPicker.web.js +14 -0
  45. package/lib/commonjs/chat-composer/ReactionPicker.web.js.map +1 -0
  46. package/lib/commonjs/chat-composer/SuggestionList.js +5 -222
  47. package/lib/commonjs/chat-composer/SuggestionList.js.map +1 -1
  48. package/lib/commonjs/chat-composer/SuggestionList.web.js +12 -0
  49. package/lib/commonjs/chat-composer/SuggestionList.web.js.map +1 -0
  50. package/lib/commonjs/chat-composer/VoiceRecorder.js +7 -263
  51. package/lib/commonjs/chat-composer/VoiceRecorder.js.map +1 -1
  52. package/lib/commonjs/chat-composer/VoiceRecorder.web.js +16 -0
  53. package/lib/commonjs/chat-composer/VoiceRecorder.web.js.map +1 -0
  54. package/lib/commonjs/chat-composer/create-attachment-menu.js +243 -0
  55. package/lib/commonjs/chat-composer/create-attachment-menu.js.map +1 -0
  56. package/lib/commonjs/chat-composer/create-chat-composer.js +400 -0
  57. package/lib/commonjs/chat-composer/create-chat-composer.js.map +1 -0
  58. package/lib/commonjs/chat-composer/create-composer-attachment-strip.js +212 -0
  59. package/lib/commonjs/chat-composer/create-composer-attachment-strip.js.map +1 -0
  60. package/lib/commonjs/chat-composer/create-composer-banner.js +176 -0
  61. package/lib/commonjs/chat-composer/create-composer-banner.js.map +1 -0
  62. package/lib/commonjs/chat-composer/create-emoji-picker.js +456 -0
  63. package/lib/commonjs/chat-composer/create-emoji-picker.js.map +1 -0
  64. package/lib/commonjs/chat-composer/create-message-context-menu.js +119 -0
  65. package/lib/commonjs/chat-composer/create-message-context-menu.js.map +1 -0
  66. package/lib/commonjs/chat-composer/create-reaction-picker.js +120 -0
  67. package/lib/commonjs/chat-composer/create-reaction-picker.js.map +1 -0
  68. package/lib/commonjs/chat-composer/create-suggestion-list.js +234 -0
  69. package/lib/commonjs/chat-composer/create-suggestion-list.js.map +1 -0
  70. package/lib/commonjs/chat-composer/create-voice-recorder.js +277 -0
  71. package/lib/commonjs/chat-composer/create-voice-recorder.js.map +1 -0
  72. package/lib/commonjs/chat-composer/index.js +9 -9
  73. package/lib/commonjs/chat-composer/index.web.js +18 -18
  74. package/lib/commonjs/chat-composer/index.web.js.map +1 -1
  75. package/lib/commonjs/earnings/EarningsSummary.js +12 -2
  76. package/lib/commonjs/earnings/EarningsSummary.js.map +1 -1
  77. package/lib/commonjs/field/Field.js +2 -0
  78. package/lib/commonjs/field/Field.js.map +1 -1
  79. package/lib/commonjs/item/Item.js +16 -8
  80. package/lib/commonjs/item/Item.js.map +1 -1
  81. package/lib/commonjs/job-board/JobCard.js +6 -2
  82. package/lib/commonjs/job-board/JobCard.js.map +1 -1
  83. package/lib/commonjs/label/Label.js +2 -1
  84. package/lib/commonjs/label/Label.js.map +1 -1
  85. package/lib/commonjs/listing-details/AmenityList.js +4 -3
  86. package/lib/commonjs/listing-details/AmenityList.js.map +1 -1
  87. package/lib/commonjs/mail-compose/MailComposeSurface.js +1 -1
  88. package/lib/commonjs/overlay/InteractionBoundary.js +28 -0
  89. package/lib/commonjs/overlay/InteractionBoundary.js.map +1 -0
  90. package/lib/commonjs/payment-method/PaymentMethodList.js +3 -2
  91. package/lib/commonjs/payment-method/PaymentMethodList.js.map +1 -1
  92. package/lib/commonjs/place-details/PlaceAmenities.js +17 -6
  93. package/lib/commonjs/place-details/PlaceAmenities.js.map +1 -1
  94. package/lib/commonjs/place-details/PlacePopularTimes.js +7 -1
  95. package/lib/commonjs/place-details/PlacePopularTimes.js.map +1 -1
  96. package/lib/commonjs/proof-of-delivery/ProofOfDelivery.js +10 -1
  97. package/lib/commonjs/proof-of-delivery/ProofOfDelivery.js.map +1 -1
  98. package/lib/commonjs/proof-of-delivery/shared.js +1 -1
  99. package/lib/commonjs/proof-of-delivery/shared.js.map +1 -1
  100. package/lib/commonjs/select/Select.js +7 -4
  101. package/lib/commonjs/select/Select.js.map +1 -1
  102. package/lib/commonjs/select/Select.web.js +7 -4
  103. package/lib/commonjs/select/Select.web.js.map +1 -1
  104. package/lib/commonjs/select/use-required-description.js +37 -0
  105. package/lib/commonjs/select/use-required-description.js.map +1 -0
  106. package/lib/module/button/Button.js +36 -3
  107. package/lib/module/button/Button.js.map +1 -1
  108. package/lib/module/button/GlyphButton.js +7 -3
  109. package/lib/module/button/GlyphButton.js.map +1 -1
  110. package/lib/module/card-form/shared.js +3 -2
  111. package/lib/module/card-form/shared.js.map +1 -1
  112. package/lib/module/chat-composer/AttachmentMenu.js +7 -226
  113. package/lib/module/chat-composer/AttachmentMenu.js.map +1 -1
  114. package/lib/module/chat-composer/AttachmentMenu.web.js +12 -0
  115. package/lib/module/chat-composer/AttachmentMenu.web.js.map +1 -0
  116. package/lib/module/chat-composer/ChatComposer.js +8 -385
  117. package/lib/module/chat-composer/ChatComposer.js.map +1 -1
  118. package/lib/module/chat-composer/ChatComposer.web.js +12 -0
  119. package/lib/module/chat-composer/ChatComposer.web.js.map +1 -0
  120. package/lib/module/chat-composer/ComposerAttachmentStrip.js +4 -196
  121. package/lib/module/chat-composer/ComposerAttachmentStrip.js.map +1 -1
  122. package/lib/module/chat-composer/ComposerAttachmentStrip.web.js +8 -0
  123. package/lib/module/chat-composer/ComposerAttachmentStrip.web.js.map +1 -0
  124. package/lib/module/chat-composer/ComposerBanner.js +4 -162
  125. package/lib/module/chat-composer/ComposerBanner.js.map +1 -1
  126. package/lib/module/chat-composer/ComposerBanner.web.js +8 -0
  127. package/lib/module/chat-composer/ComposerBanner.web.js.map +1 -0
  128. package/lib/module/chat-composer/EmojiPicker.js +5 -440
  129. package/lib/module/chat-composer/EmojiPicker.js.map +1 -1
  130. package/lib/module/chat-composer/EmojiPicker.web.js +10 -0
  131. package/lib/module/chat-composer/EmojiPicker.web.js.map +1 -0
  132. package/lib/module/chat-composer/MessageContextMenu.js +11 -99
  133. package/lib/module/chat-composer/MessageContextMenu.js.map +1 -1
  134. package/lib/module/chat-composer/MessageContextMenu.web.js +15 -0
  135. package/lib/module/chat-composer/MessageContextMenu.web.js.map +1 -0
  136. package/lib/module/chat-composer/ReactionPicker.js +5 -104
  137. package/lib/module/chat-composer/ReactionPicker.js.map +1 -1
  138. package/lib/module/chat-composer/ReactionPicker.web.js +10 -0
  139. package/lib/module/chat-composer/ReactionPicker.web.js.map +1 -0
  140. package/lib/module/chat-composer/SuggestionList.js +4 -219
  141. package/lib/module/chat-composer/SuggestionList.js.map +1 -1
  142. package/lib/module/chat-composer/SuggestionList.web.js +8 -0
  143. package/lib/module/chat-composer/SuggestionList.web.js.map +1 -0
  144. package/lib/module/chat-composer/VoiceRecorder.js +6 -260
  145. package/lib/module/chat-composer/VoiceRecorder.js.map +1 -1
  146. package/lib/module/chat-composer/VoiceRecorder.web.js +12 -0
  147. package/lib/module/chat-composer/VoiceRecorder.web.js.map +1 -0
  148. package/lib/module/chat-composer/create-attachment-menu.js +238 -0
  149. package/lib/module/chat-composer/create-attachment-menu.js.map +1 -0
  150. package/lib/module/chat-composer/create-chat-composer.js +395 -0
  151. package/lib/module/chat-composer/create-chat-composer.js.map +1 -0
  152. package/lib/module/chat-composer/create-composer-attachment-strip.js +206 -0
  153. package/lib/module/chat-composer/create-composer-attachment-strip.js.map +1 -0
  154. package/lib/module/chat-composer/create-composer-banner.js +171 -0
  155. package/lib/module/chat-composer/create-composer-banner.js.map +1 -0
  156. package/lib/module/chat-composer/create-emoji-picker.js +451 -0
  157. package/lib/module/chat-composer/create-emoji-picker.js.map +1 -0
  158. package/lib/module/chat-composer/create-message-context-menu.js +114 -0
  159. package/lib/module/chat-composer/create-message-context-menu.js.map +1 -0
  160. package/lib/module/chat-composer/create-reaction-picker.js +115 -0
  161. package/lib/module/chat-composer/create-reaction-picker.js.map +1 -0
  162. package/lib/module/chat-composer/create-suggestion-list.js +229 -0
  163. package/lib/module/chat-composer/create-suggestion-list.js.map +1 -0
  164. package/lib/module/chat-composer/create-voice-recorder.js +272 -0
  165. package/lib/module/chat-composer/create-voice-recorder.js.map +1 -0
  166. package/lib/module/chat-composer/index.js +9 -9
  167. package/lib/module/chat-composer/index.js.map +1 -1
  168. package/lib/module/chat-composer/index.web.js +9 -9
  169. package/lib/module/chat-composer/index.web.js.map +1 -1
  170. package/lib/module/earnings/EarningsSummary.js +12 -2
  171. package/lib/module/earnings/EarningsSummary.js.map +1 -1
  172. package/lib/module/field/Field.js +2 -0
  173. package/lib/module/field/Field.js.map +1 -1
  174. package/lib/module/item/Item.js +16 -8
  175. package/lib/module/item/Item.js.map +1 -1
  176. package/lib/module/job-board/JobCard.js +6 -2
  177. package/lib/module/job-board/JobCard.js.map +1 -1
  178. package/lib/module/label/Label.js +2 -1
  179. package/lib/module/label/Label.js.map +1 -1
  180. package/lib/module/listing-details/AmenityList.js +4 -3
  181. package/lib/module/listing-details/AmenityList.js.map +1 -1
  182. package/lib/module/mail-compose/MailComposeSurface.js +1 -1
  183. package/lib/module/mail-compose/MailComposeSurface.js.map +1 -1
  184. package/lib/module/overlay/InteractionBoundary.js +25 -0
  185. package/lib/module/overlay/InteractionBoundary.js.map +1 -0
  186. package/lib/module/payment-method/PaymentMethodList.js +3 -2
  187. package/lib/module/payment-method/PaymentMethodList.js.map +1 -1
  188. package/lib/module/place-details/PlaceAmenities.js +15 -4
  189. package/lib/module/place-details/PlaceAmenities.js.map +1 -1
  190. package/lib/module/place-details/PlacePopularTimes.js +7 -1
  191. package/lib/module/place-details/PlacePopularTimes.js.map +1 -1
  192. package/lib/module/proof-of-delivery/ProofOfDelivery.js +10 -1
  193. package/lib/module/proof-of-delivery/ProofOfDelivery.js.map +1 -1
  194. package/lib/module/proof-of-delivery/shared.js +1 -1
  195. package/lib/module/proof-of-delivery/shared.js.map +1 -1
  196. package/lib/module/select/Select.js +7 -4
  197. package/lib/module/select/Select.js.map +1 -1
  198. package/lib/module/select/Select.web.js +7 -4
  199. package/lib/module/select/Select.web.js.map +1 -1
  200. package/lib/module/select/use-required-description.js +33 -0
  201. package/lib/module/select/use-required-description.js.map +1 -0
  202. package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/card-form/shared.d.ts +2 -1
  204. package/lib/typescript/commonjs/card-form/shared.d.ts.map +1 -1
  205. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.d.ts +1 -2
  206. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.d.ts.map +1 -1
  207. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.web.d.ts +2 -0
  208. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.web.d.ts.map +1 -0
  209. package/lib/typescript/commonjs/chat-composer/ChatComposer.d.ts +1 -2
  210. package/lib/typescript/commonjs/chat-composer/ChatComposer.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/chat-composer/ChatComposer.web.d.ts +2 -0
  212. package/lib/typescript/commonjs/chat-composer/ChatComposer.web.d.ts.map +1 -0
  213. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.d.ts +1 -2
  214. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.web.d.ts +2 -0
  216. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.web.d.ts.map +1 -0
  217. package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts +1 -2
  218. package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts.map +1 -1
  219. package/lib/typescript/commonjs/chat-composer/ComposerBanner.web.d.ts +2 -0
  220. package/lib/typescript/commonjs/chat-composer/ComposerBanner.web.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/chat-composer/EmojiPicker.d.ts +1 -2
  222. package/lib/typescript/commonjs/chat-composer/EmojiPicker.d.ts.map +1 -1
  223. package/lib/typescript/commonjs/chat-composer/EmojiPicker.web.d.ts +2 -0
  224. package/lib/typescript/commonjs/chat-composer/EmojiPicker.web.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.d.ts +1 -2
  226. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.web.d.ts +2 -0
  228. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.web.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/chat-composer/ReactionPicker.d.ts +1 -2
  230. package/lib/typescript/commonjs/chat-composer/ReactionPicker.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/chat-composer/ReactionPicker.web.d.ts +2 -0
  232. package/lib/typescript/commonjs/chat-composer/ReactionPicker.web.d.ts.map +1 -0
  233. package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts +1 -2
  234. package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts +2 -0
  236. package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts.map +1 -0
  237. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.d.ts +1 -2
  238. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.d.ts.map +1 -1
  239. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.web.d.ts +2 -0
  240. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.web.d.ts.map +1 -0
  241. package/lib/typescript/commonjs/chat-composer/create-attachment-menu.d.ts +11 -0
  242. package/lib/typescript/commonjs/chat-composer/create-attachment-menu.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/chat-composer/create-chat-composer.d.ts +11 -0
  244. package/lib/typescript/commonjs/chat-composer/create-chat-composer.d.ts.map +1 -0
  245. package/lib/typescript/commonjs/chat-composer/create-composer-attachment-strip.d.ts +7 -0
  246. package/lib/typescript/commonjs/chat-composer/create-composer-attachment-strip.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/chat-composer/create-composer-banner.d.ts +7 -0
  248. package/lib/typescript/commonjs/chat-composer/create-composer-banner.d.ts.map +1 -0
  249. package/lib/typescript/commonjs/chat-composer/create-emoji-picker.d.ts +9 -0
  250. package/lib/typescript/commonjs/chat-composer/create-emoji-picker.d.ts.map +1 -0
  251. package/lib/typescript/commonjs/chat-composer/create-message-context-menu.d.ts +14 -0
  252. package/lib/typescript/commonjs/chat-composer/create-message-context-menu.d.ts.map +1 -0
  253. package/lib/typescript/commonjs/chat-composer/create-reaction-picker.d.ts +9 -0
  254. package/lib/typescript/commonjs/chat-composer/create-reaction-picker.d.ts.map +1 -0
  255. package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts +7 -0
  256. package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/chat-composer/create-voice-recorder.d.ts +11 -0
  258. package/lib/typescript/commonjs/chat-composer/create-voice-recorder.d.ts.map +1 -0
  259. package/lib/typescript/commonjs/chat-composer/index.web.d.ts +9 -9
  260. package/lib/typescript/commonjs/chat-composer/index.web.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/earnings/EarningsSummary.d.ts.map +1 -1
  262. package/lib/typescript/commonjs/field/Field.d.ts +1 -1
  263. package/lib/typescript/commonjs/field/Field.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/field/types.d.ts +2 -0
  265. package/lib/typescript/commonjs/field/types.d.ts.map +1 -1
  266. package/lib/typescript/commonjs/floating/types.d.ts +1 -0
  267. package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/item/Item.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/job-board/JobCard.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/label/Label.d.ts +1 -1
  271. package/lib/typescript/commonjs/label/Label.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/label/types.d.ts +2 -0
  273. package/lib/typescript/commonjs/label/types.d.ts.map +1 -1
  274. package/lib/typescript/commonjs/listing-details/AmenityList.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/overlay/InteractionBoundary.d.ts +7 -0
  276. package/lib/typescript/commonjs/overlay/InteractionBoundary.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/payment-method/PaymentMethodList.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/place-details/PlaceAmenities.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/place-details/PlacePopularTimes.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/proof-of-delivery/ProofOfDelivery.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/select/Select.d.ts.map +1 -1
  282. package/lib/typescript/commonjs/select/Select.web.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/select/use-required-description.d.ts +7 -0
  284. package/lib/typescript/commonjs/select/use-required-description.d.ts.map +1 -0
  285. package/lib/typescript/module/button/Button.d.ts.map +1 -1
  286. package/lib/typescript/module/card-form/shared.d.ts +2 -1
  287. package/lib/typescript/module/card-form/shared.d.ts.map +1 -1
  288. package/lib/typescript/module/chat-composer/AttachmentMenu.d.ts +1 -2
  289. package/lib/typescript/module/chat-composer/AttachmentMenu.d.ts.map +1 -1
  290. package/lib/typescript/module/chat-composer/AttachmentMenu.web.d.ts +2 -0
  291. package/lib/typescript/module/chat-composer/AttachmentMenu.web.d.ts.map +1 -0
  292. package/lib/typescript/module/chat-composer/ChatComposer.d.ts +1 -2
  293. package/lib/typescript/module/chat-composer/ChatComposer.d.ts.map +1 -1
  294. package/lib/typescript/module/chat-composer/ChatComposer.web.d.ts +2 -0
  295. package/lib/typescript/module/chat-composer/ChatComposer.web.d.ts.map +1 -0
  296. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.d.ts +1 -2
  297. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.d.ts.map +1 -1
  298. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.web.d.ts +2 -0
  299. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.web.d.ts.map +1 -0
  300. package/lib/typescript/module/chat-composer/ComposerBanner.d.ts +1 -2
  301. package/lib/typescript/module/chat-composer/ComposerBanner.d.ts.map +1 -1
  302. package/lib/typescript/module/chat-composer/ComposerBanner.web.d.ts +2 -0
  303. package/lib/typescript/module/chat-composer/ComposerBanner.web.d.ts.map +1 -0
  304. package/lib/typescript/module/chat-composer/EmojiPicker.d.ts +1 -2
  305. package/lib/typescript/module/chat-composer/EmojiPicker.d.ts.map +1 -1
  306. package/lib/typescript/module/chat-composer/EmojiPicker.web.d.ts +2 -0
  307. package/lib/typescript/module/chat-composer/EmojiPicker.web.d.ts.map +1 -0
  308. package/lib/typescript/module/chat-composer/MessageContextMenu.d.ts +1 -2
  309. package/lib/typescript/module/chat-composer/MessageContextMenu.d.ts.map +1 -1
  310. package/lib/typescript/module/chat-composer/MessageContextMenu.web.d.ts +2 -0
  311. package/lib/typescript/module/chat-composer/MessageContextMenu.web.d.ts.map +1 -0
  312. package/lib/typescript/module/chat-composer/ReactionPicker.d.ts +1 -2
  313. package/lib/typescript/module/chat-composer/ReactionPicker.d.ts.map +1 -1
  314. package/lib/typescript/module/chat-composer/ReactionPicker.web.d.ts +2 -0
  315. package/lib/typescript/module/chat-composer/ReactionPicker.web.d.ts.map +1 -0
  316. package/lib/typescript/module/chat-composer/SuggestionList.d.ts +1 -2
  317. package/lib/typescript/module/chat-composer/SuggestionList.d.ts.map +1 -1
  318. package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts +2 -0
  319. package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts.map +1 -0
  320. package/lib/typescript/module/chat-composer/VoiceRecorder.d.ts +1 -2
  321. package/lib/typescript/module/chat-composer/VoiceRecorder.d.ts.map +1 -1
  322. package/lib/typescript/module/chat-composer/VoiceRecorder.web.d.ts +2 -0
  323. package/lib/typescript/module/chat-composer/VoiceRecorder.web.d.ts.map +1 -0
  324. package/lib/typescript/module/chat-composer/create-attachment-menu.d.ts +11 -0
  325. package/lib/typescript/module/chat-composer/create-attachment-menu.d.ts.map +1 -0
  326. package/lib/typescript/module/chat-composer/create-chat-composer.d.ts +11 -0
  327. package/lib/typescript/module/chat-composer/create-chat-composer.d.ts.map +1 -0
  328. package/lib/typescript/module/chat-composer/create-composer-attachment-strip.d.ts +7 -0
  329. package/lib/typescript/module/chat-composer/create-composer-attachment-strip.d.ts.map +1 -0
  330. package/lib/typescript/module/chat-composer/create-composer-banner.d.ts +7 -0
  331. package/lib/typescript/module/chat-composer/create-composer-banner.d.ts.map +1 -0
  332. package/lib/typescript/module/chat-composer/create-emoji-picker.d.ts +9 -0
  333. package/lib/typescript/module/chat-composer/create-emoji-picker.d.ts.map +1 -0
  334. package/lib/typescript/module/chat-composer/create-message-context-menu.d.ts +14 -0
  335. package/lib/typescript/module/chat-composer/create-message-context-menu.d.ts.map +1 -0
  336. package/lib/typescript/module/chat-composer/create-reaction-picker.d.ts +9 -0
  337. package/lib/typescript/module/chat-composer/create-reaction-picker.d.ts.map +1 -0
  338. package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts +7 -0
  339. package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts.map +1 -0
  340. package/lib/typescript/module/chat-composer/create-voice-recorder.d.ts +11 -0
  341. package/lib/typescript/module/chat-composer/create-voice-recorder.d.ts.map +1 -0
  342. package/lib/typescript/module/chat-composer/index.web.d.ts +9 -9
  343. package/lib/typescript/module/chat-composer/index.web.d.ts.map +1 -1
  344. package/lib/typescript/module/earnings/EarningsSummary.d.ts.map +1 -1
  345. package/lib/typescript/module/field/Field.d.ts +1 -1
  346. package/lib/typescript/module/field/Field.d.ts.map +1 -1
  347. package/lib/typescript/module/field/types.d.ts +2 -0
  348. package/lib/typescript/module/field/types.d.ts.map +1 -1
  349. package/lib/typescript/module/floating/types.d.ts +1 -0
  350. package/lib/typescript/module/floating/types.d.ts.map +1 -1
  351. package/lib/typescript/module/item/Item.d.ts.map +1 -1
  352. package/lib/typescript/module/job-board/JobCard.d.ts.map +1 -1
  353. package/lib/typescript/module/label/Label.d.ts +1 -1
  354. package/lib/typescript/module/label/Label.d.ts.map +1 -1
  355. package/lib/typescript/module/label/types.d.ts +2 -0
  356. package/lib/typescript/module/label/types.d.ts.map +1 -1
  357. package/lib/typescript/module/listing-details/AmenityList.d.ts.map +1 -1
  358. package/lib/typescript/module/overlay/InteractionBoundary.d.ts +7 -0
  359. package/lib/typescript/module/overlay/InteractionBoundary.d.ts.map +1 -0
  360. package/lib/typescript/module/payment-method/PaymentMethodList.d.ts.map +1 -1
  361. package/lib/typescript/module/place-details/PlaceAmenities.d.ts.map +1 -1
  362. package/lib/typescript/module/place-details/PlacePopularTimes.d.ts.map +1 -1
  363. package/lib/typescript/module/proof-of-delivery/ProofOfDelivery.d.ts.map +1 -1
  364. package/lib/typescript/module/select/Select.d.ts.map +1 -1
  365. package/lib/typescript/module/select/Select.web.d.ts.map +1 -1
  366. package/lib/typescript/module/select/use-required-description.d.ts +7 -0
  367. package/lib/typescript/module/select/use-required-description.d.ts.map +1 -0
  368. package/package.json +1 -1
  369. package/src/__tests__/support/adoption-matrix.ts +708 -0
  370. package/src/__tests__/support/card-surface.ts +17 -0
  371. package/src/__tests__/support/collision-fixture-barrel.ts +20 -0
  372. package/src/__tests__/support/commerce-harness.tsx +97 -0
  373. package/src/__tests__/support/composite.ts +68 -0
  374. package/src/__tests__/support/constructed-style-sheets.ts +68 -0
  375. package/src/__tests__/support/press-host.ts +30 -0
  376. package/src/__tests__/support/rendered-style.ts +99 -0
  377. package/src/__tests__/support/unread-hook-fixture.ts +33 -0
  378. package/src/__tests__/support/worklet-capture-fixture.tsx +28 -0
  379. package/src/button/Button.tsx +35 -10
  380. package/src/button/GlyphButton.tsx +3 -3
  381. package/src/card-form/shared.ts +3 -2
  382. package/src/chat-composer/AttachmentMenu.tsx +2 -214
  383. package/src/chat-composer/AttachmentMenu.web.tsx +5 -0
  384. package/src/chat-composer/ChatComposer.tsx +2 -459
  385. package/src/chat-composer/ChatComposer.web.tsx +6 -0
  386. package/src/chat-composer/ComposerAttachmentStrip.tsx +2 -202
  387. package/src/chat-composer/ComposerAttachmentStrip.web.tsx +4 -0
  388. package/src/chat-composer/ComposerBanner.tsx +2 -157
  389. package/src/chat-composer/ComposerBanner.web.tsx +4 -0
  390. package/src/chat-composer/EmojiPicker.tsx +2 -402
  391. package/src/chat-composer/EmojiPicker.web.tsx +5 -0
  392. package/src/chat-composer/MessageContextMenu.tsx +2 -88
  393. package/src/chat-composer/MessageContextMenu.web.tsx +12 -0
  394. package/src/chat-composer/ReactionPicker.tsx +2 -100
  395. package/src/chat-composer/ReactionPicker.web.tsx +5 -0
  396. package/src/chat-composer/SuggestionList.tsx +2 -209
  397. package/src/chat-composer/SuggestionList.web.tsx +4 -0
  398. package/src/chat-composer/VoiceRecorder.tsx +2 -287
  399. package/src/chat-composer/VoiceRecorder.web.tsx +6 -0
  400. package/src/chat-composer/create-attachment-menu.tsx +228 -0
  401. package/src/chat-composer/create-chat-composer.tsx +473 -0
  402. package/src/chat-composer/create-composer-attachment-strip.tsx +212 -0
  403. package/src/chat-composer/create-composer-banner.tsx +167 -0
  404. package/src/chat-composer/create-emoji-picker.tsx +414 -0
  405. package/src/chat-composer/create-message-context-menu.tsx +112 -0
  406. package/src/chat-composer/create-reaction-picker.tsx +112 -0
  407. package/src/chat-composer/create-suggestion-list.tsx +219 -0
  408. package/src/chat-composer/create-voice-recorder.tsx +301 -0
  409. package/src/chat-composer/index.web.ts +9 -9
  410. package/src/earnings/EarningsSummary.tsx +9 -2
  411. package/src/field/Field.tsx +2 -1
  412. package/src/field/types.ts +2 -0
  413. package/src/floating/types.ts +1 -0
  414. package/src/item/Item.tsx +16 -11
  415. package/src/job-board/JobCard.tsx +4 -1
  416. package/src/label/Label.tsx +2 -1
  417. package/src/label/types.ts +2 -0
  418. package/src/listing-details/AmenityList.tsx +4 -3
  419. package/src/overlay/InteractionBoundary.tsx +24 -0
  420. package/src/payment-method/PaymentMethodList.tsx +2 -1
  421. package/src/place-details/PlaceAmenities.tsx +9 -0
  422. package/src/place-details/PlacePopularTimes.tsx +7 -1
  423. package/src/proof-of-delivery/ProofOfDelivery.tsx +9 -1
  424. package/src/proof-of-delivery/shared.ts +1 -1
  425. package/src/select/Select.tsx +5 -1
  426. package/src/select/Select.web.tsx +5 -1
  427. package/src/select/use-required-description.tsx +20 -0
  428. package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +9346 -0
  429. package/src/theme/__tests__/__fixtures__/tonal-glass-primary-failures.json +69 -0
  430. package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
@@ -3,233 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.AttachmentMenu = AttachmentMenu;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _reactNative = require("react-native");
6
+ exports.AttachmentMenu = void 0;
9
7
  var _button = require("../button");
10
8
  var _popover = require("../popover");
11
- var _useTheme = require("../theme/use-theme.js");
12
- var _index = require("../typography/index.js");
13
- var _shared = require("./shared.js");
14
- var _webHooks = require("./web-hooks.js");
15
- var _messages = require("../locale/messages.js");
16
- var _messages2 = require("./messages.js");
17
- var _jsxRuntime = require("react/jsx-runtime");
18
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- /**
20
- * The plus/paperclip menu.
21
- *
22
- * It is `Popover`, not a hand-rolled surface, and that one choice is the whole
23
- * platform story: Bloom's popover is already an anchored panel on a pointer and
24
- * a bottom sheet on a phone, so this family adds no platform fork of its own
25
- * and inherits the dismissal, stacking and focus behaviour those surfaces were
26
- * gated for.
27
- */
28
-
29
- /** A 48px tinted disc with its label under it. */function GridCell({
30
- item,
31
- onPress,
32
- width,
33
- testID
34
- }) {
35
- const theme = (0, _useTheme.useTheme)();
36
- const palette = (0, _shared.resolveChatComposerPalette)(theme);
37
- const tint = item.color ?? palette.accent;
38
- const cell = {
39
- width,
40
- height: 'auto',
41
- minHeight: 0,
42
- minWidth: 0,
43
- paddingLeft: 0,
44
- paddingRight: 0,
45
- alignItems: 'center',
46
- gap: 6,
47
- paddingTop: 8,
48
- paddingBottom: 8,
49
- borderRadius: 12,
50
- opacity: item.disabled ? 0.45 : 1,
51
- cursor: item.disabled ? 'auto' : 'pointer'
52
- };
53
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
54
- appearance: "plain",
55
- tone: "neutral",
56
- accessibilityLabel: item.label,
57
- disabled: item.disabled,
58
- onPress: onPress,
59
- style: cell,
60
- testID: testID,
61
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
62
- style: {
63
- alignItems: 'center',
64
- gap: 6
65
- },
66
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
67
- style: {
68
- width: 48,
69
- height: 48,
70
- borderRadius: 24,
71
- alignItems: 'center',
72
- justifyContent: 'center',
73
- backgroundColor: palette.accentSoft
74
- },
75
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(item.icon, {
76
- width: 22,
77
- height: 22,
78
- fill: tint
79
- })
80
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
81
- variant: "caption-1-regular",
82
- numberOfLines: 1,
83
- style: {
84
- color: palette.textSecondary
85
- },
86
- children: item.label
87
- })]
88
- })
89
- });
90
- }
91
-
92
- /** A full-width row: glyph, label. */
93
- function ListRow({
94
- item,
95
- onPress,
96
- testID
97
- }) {
98
- const theme = (0, _useTheme.useTheme)();
99
- const palette = (0, _shared.resolveChatComposerPalette)(theme);
100
- const tint = item.color ?? palette.accent;
101
- const row = {
102
- flexDirection: 'row',
103
- alignItems: 'center',
104
- gap: 12,
105
- minHeight: 40,
106
- height: 'auto',
107
- minWidth: 0,
108
- width: '100%',
109
- borderRadius: 10,
110
- paddingLeft: 8,
111
- paddingRight: 8,
112
- paddingTop: 6,
113
- paddingBottom: 6,
114
- opacity: item.disabled ? 0.45 : 1,
115
- cursor: item.disabled ? 'auto' : 'pointer'
116
- };
117
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
118
- appearance: "plain",
119
- tone: "neutral",
120
- accessibilityLabel: item.label,
121
- disabled: item.disabled,
122
- onPress: onPress,
123
- style: row,
124
- testID: testID,
125
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
126
- style: {
127
- flexDirection: 'row',
128
- alignItems: 'center',
129
- gap: 12,
130
- width: '100%'
131
- },
132
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
133
- style: {
134
- width: 32,
135
- height: 32,
136
- borderRadius: 16,
137
- alignItems: 'center',
138
- justifyContent: 'center',
139
- backgroundColor: palette.accentSoft
140
- },
141
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(item.icon, {
142
- width: 18,
143
- height: 18,
144
- fill: tint
145
- })
146
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
147
- variant: "body-medium",
148
- numberOfLines: 1,
149
- style: {
150
- color: palette.text
151
- },
152
- children: item.label
153
- })]
154
- })
155
- });
156
- }
157
- function AttachmentMenu({
158
- children,
159
- open,
160
- defaultOpen,
161
- onOpenChange,
162
- items: itemsProp,
163
- layout = 'grid',
164
- columns = 4,
165
- onSelect,
166
- recent,
167
- label: labelProp,
168
- style,
169
- testID
170
- }) {
171
- (0, _webHooks.useChatComposerWebCss)();
172
- const {
173
- messages
174
- } = (0, _messages.useMessages)(_messages2.CHAT_COMPOSER_MESSAGES);
175
- const localizedItems = _react.default.useMemo(() => (0, _shared.attachmentMenuItems)(messages), [messages]);
176
- const items = itemsProp ?? localizedItems;
177
- const label = labelProp ?? messages.attach;
178
- const [uncontrolledOpen, setUncontrolledOpen] = _react.default.useState(defaultOpen ?? false);
179
- const isOpen = open ?? uncontrolledOpen;
180
- const setOpen = next => {
181
- if (open === undefined) setUncontrolledOpen(next);
182
- onOpenChange?.(next);
183
- };
184
-
185
- // A percentage string is the only way to say "n per row" in a wrapping flex
186
- // row that has to work on both platforms; Yoga and CSS agree on it.
187
- const cellWidth = `${100 / Math.max(1, columns)}%`;
188
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_popover.Popover, {
189
- open: isOpen,
190
- onOpenChange: setOpen,
191
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.PopoverTrigger, {
192
- asChild: true,
193
- children: children
194
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_popover.PopoverContent, {
195
- label: label,
196
- side: "top",
197
- align: "start",
198
- minWidth: layout === 'grid' ? Math.max(264, columns * 72) : 220,
199
- style: style,
200
- testID: testID,
201
- children: [recent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
202
- style: {
203
- paddingBottom: 8
204
- },
205
- children: recent
206
- }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
207
- style: layout === 'grid' ? {
208
- flexDirection: 'row',
209
- flexWrap: 'wrap',
210
- alignItems: 'flex-start'
211
- } : {
212
- flexDirection: 'column',
213
- gap: 2
214
- },
215
- children: items.map(item => layout === 'grid' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(GridCell, {
216
- item: item,
217
- width: cellWidth,
218
- onPress: () => {
219
- onSelect?.(item.id, item);
220
- setOpen(false);
221
- },
222
- testID: testID ? `${testID}-${item.id}` : undefined
223
- }, item.id) : /*#__PURE__*/(0, _jsxRuntime.jsx)(ListRow, {
224
- item: item,
225
- onPress: () => {
226
- onSelect?.(item.id, item);
227
- setOpen(false);
228
- },
229
- testID: testID ? `${testID}-${item.id}` : undefined
230
- }, item.id))
231
- })]
232
- })]
233
- });
234
- }
9
+ var _createAttachmentMenu = require("./create-attachment-menu.js");
10
+ const AttachmentMenu = exports.AttachmentMenu = (0, _createAttachmentMenu.createAttachmentMenu)({
11
+ Button: _button.Button,
12
+ Popover: _popover.Popover,
13
+ PopoverContent: _popover.PopoverContent,
14
+ PopoverTrigger: _popover.PopoverTrigger
15
+ });
235
16
  //# sourceMappingURL=AttachmentMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_button","_popover","_useTheme","_index","_shared","_webHooks","_messages","_messages2","_jsxRuntime","e","__esModule","default","GridCell","item","onPress","width","testID","theme","useTheme","palette","resolveChatComposerPalette","tint","color","accent","cell","height","minHeight","minWidth","paddingLeft","paddingRight","alignItems","gap","paddingTop","paddingBottom","borderRadius","opacity","disabled","cursor","jsx","Button","appearance","tone","accessibilityLabel","label","style","children","jsxs","View","justifyContent","backgroundColor","accentSoft","icon","fill","Text","variant","numberOfLines","textSecondary","ListRow","row","flexDirection","text","AttachmentMenu","open","defaultOpen","onOpenChange","items","itemsProp","layout","columns","onSelect","recent","labelProp","useChatComposerWebCss","messages","useMessages","CHAT_COMPOSER_MESSAGES","localizedItems","React","useMemo","attachmentMenuItems","attach","uncontrolledOpen","setUncontrolledOpen","useState","isOpen","setOpen","next","undefined","cellWidth","Math","max","Popover","PopoverTrigger","asChild","PopoverContent","side","align","flexWrap","map","id"],"sourceRoot":"../../../src","sources":["chat-composer/AttachmentMenu.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_button","require","_popover","_createAttachmentMenu","AttachmentMenu","exports","createAttachmentMenu","Button","Popover","PopoverContent","PopoverTrigger"],"sourceRoot":"../../../src","sources":["chat-composer/AttachmentMenu.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AAEO,MAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,IAAAE,0CAAoB,EAAC;EAAEC,MAAM,EAANA,cAAM;EAAEC,OAAO,EAAPA,gBAAO;EAAEC,cAAc,EAAdA,uBAAc;EAAEC,cAAc,EAAdA;AAAe,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AttachmentMenu = void 0;
7
+ var _indexWeb = require("../button/index.web.js");
8
+ var _indexWeb2 = require("../popover/index.web.js");
9
+ var _createAttachmentMenu = require("./create-attachment-menu.js");
10
+ const AttachmentMenu = exports.AttachmentMenu = (0, _createAttachmentMenu.createAttachmentMenu)({
11
+ Button: _indexWeb.Button,
12
+ Popover: _indexWeb2.Popover,
13
+ PopoverContent: _indexWeb2.PopoverContent,
14
+ PopoverTrigger: _indexWeb2.PopoverTrigger
15
+ });
16
+ //# sourceMappingURL=AttachmentMenu.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_indexWeb","require","_indexWeb2","_createAttachmentMenu","AttachmentMenu","exports","createAttachmentMenu","Button","Popover","PopoverContent","PopoverTrigger"],"sourceRoot":"../../../src","sources":["chat-composer/AttachmentMenu.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AAEO,MAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,IAAAE,0CAAoB,EAAC;EAAEC,MAAM,EAANA,gBAAM;EAAEC,OAAO,EAAPA,kBAAO;EAAEC,cAAc,EAAdA,yBAAc;EAAEC,cAAc,EAAdA;AAAe,CAAC,CAAC","ignoreList":[]}
@@ -3,393 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ChatComposer = ChatComposer;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
- var _RiAddLine = require("../icons/remix/RiAddLine.js");
11
- var _RiCameraLine = require("../icons/remix/RiCameraLine.js");
12
- var _RiEmotionLine = require("../icons/remix/RiEmotionLine.js");
13
- var _RiForbidLine = require("../icons/remix/RiForbidLine.js");
14
- var _RiMic2Line = require("../icons/remix/RiMic2Line.js");
15
- var _RiSendPlaneLine = require("../icons/remix/RiSendPlaneLine.js");
16
- var _useControllableState = require("../hooks/use-controllable-state.js");
17
- var _useTextareaAutosize = require("../hooks/use-textarea-autosize.js");
18
- var _useTheme = require("../theme/use-theme.js");
19
- var _index = require("../typography/index.js");
20
- var _scale = require("../typography/scale.js");
21
- var _ComposerAttachmentStrip = require("./ComposerAttachmentStrip.js");
6
+ exports.ChatComposer = void 0;
7
+ var _ComposerAttachmentStrip = require("./ComposerAttachmentStrip");
22
8
  var _ComposerIconButton = require("./ComposerIconButton");
23
- var _shared = require("./shared.js");
24
- var _SuggestionList = require("./SuggestionList.js");
25
- var _webHooks = require("./web-hooks.js");
26
- var _messages = require("../locale/messages.js");
27
- var _messages2 = require("./messages.js");
28
- var _commonMessages = require("../locale/common-messages.js");
29
- var _jsxRuntime = require("react/jsx-runtime");
30
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
31
- /**
32
- * The message input bar of a person-to-person chat: a radius-24 pill with a
33
- * left attach button, an autosizing field, an emoji button and a right control
34
- * that swaps between a mic (nothing to send) and an accent send disc (there is).
35
- *
36
- * Presentational. Every piece of state — the draft, the banners, the pending
37
- * attachments, which suggestion is highlighted — arrives as a prop, because the
38
- * app owns drafts per conversation and a composer that kept its own would lose
39
- * them on every navigation.
40
- */
41
-
42
- const EASE_OUT = _reactNativeReanimated.Easing.bezier(0, 0, 0.2, 1);
43
-
44
- /**
45
- * One half of the mic ↔ send crossfade.
46
- *
47
- * Two things the fade must not break, neither of which the animation expresses:
48
- *
49
- * `pointerEvents` is a PROP, not a style entry — react-native-web drops it from
50
- * a style object silently, and a hidden layer that still takes the press is a
51
- * send button that fires when the field is empty.
52
- *
53
- * The hidden half leaves the ACCESSIBILITY TREE too. Both halves stay mounted so
54
- * they can cross-fade, so without this every composer announces "Send" and
55
- * "Record a voice message" side by side and only one of them does anything.
56
- * `aria-hidden` is what react-native-web reads and
57
- * `importantForAccessibility` is what React Native reads; a surface that sets
58
- * one of the two is hidden on one platform only.
59
- */
60
- function SwapLayer({
61
- shown,
62
- children
63
- }) {
64
- const reducedMotion = (0, _reactNativeReanimated.useReducedMotion)();
65
- const progress = (0, _reactNativeReanimated.useSharedValue)(shown ? 1 : 0);
66
- _react.default.useEffect(() => {
67
- progress.value = reducedMotion ? shown ? 1 : 0 : (0, _reactNativeReanimated.withTiming)(shown ? 1 : 0, {
68
- duration: _shared.SWAP_MS,
69
- easing: EASE_OUT
70
- });
71
- }, [shown, reducedMotion, progress]);
72
- const animated = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
73
- opacity: progress.value
74
- }), [progress]);
75
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
76
- pointerEvents: shown ? 'auto' : 'none',
77
- "aria-hidden": !shown,
78
- accessibilityElementsHidden: !shown,
79
- importantForAccessibility: shown ? 'auto' : 'no-hide-descendants',
80
- style: [{
81
- position: 'absolute',
82
- top: 0,
83
- left: 0
84
- }, animated],
85
- children: children
86
- });
87
- }
88
-
89
- /** A DOM keyboard event as react-native-web hands it to `onKeyPress`. */
90
-
91
- function ChatComposer({
92
- value,
93
- defaultValue = '',
94
- onValueChange,
95
- placeholder: placeholderProp,
96
- onSend,
97
- sendOn = 'enter',
98
- maxLines = _shared.DEFAULT_MAX_LINES,
99
- minLines = 1,
100
- disabled = false,
101
- notice,
102
- noticeIcon,
103
- banner,
104
- attachments,
105
- onRemoveAttachment,
106
- leading,
107
- onAttachPress,
108
- emojiSlot,
109
- onEmojiPress,
110
- onCameraPress,
111
- onMicPress,
112
- onMicPressIn,
113
- onMicPressOut,
114
- canSend,
115
- recorder,
116
- suggestions,
117
- suggestionKind = 'mention',
118
- activeIndex = -1,
119
- onActiveIndexChange,
120
- onSelectSuggestion,
121
- onEscape,
122
- onEditLast,
123
- showKeyboardHint = false,
124
- inputRef,
125
- onFocus,
126
- onBlur,
127
- labels: labelOverrides,
128
- style,
129
- testID,
130
- accessibilityLabel
131
- }) {
132
- const theme = (0, _useTheme.useTheme)();
133
- const {
134
- messages
135
- } = (0, _messages.useMessages)(_messages2.CHAT_COMPOSER_MESSAGES);
136
- const common = (0, _commonMessages.useCommonMessages)();
137
- const palette = (0, _shared.resolveChatComposerPalette)(theme);
138
- (0, _webHooks.useChatComposerWebCss)();
139
- const labels = (0, _react.useMemo)(() => ({
140
- ...(0, _shared.chatComposerLabels)(messages, common.send),
141
- ...labelOverrides
142
- }), [common.send, labelOverrides, messages]);
143
- const placeholder = placeholderProp ?? messages.message;
144
- const [text, setText] = (0, _useControllableState.useControllableState)({
145
- value,
146
- defaultValue,
147
- onChange: onValueChange
148
- });
149
- const localRef = (0, _react.useRef)(null);
150
- const setFieldRef = (0, _react.useCallback)(node => {
151
- localRef.current = node;
152
- if (inputRef) inputRef.current = node;
153
- }, [inputRef]);
154
- const minHeight = Math.max(1, minLines) * _shared.LINE_HEIGHT;
155
- const maxHeight = Math.max(minLines, maxLines) * _shared.LINE_HEIGHT;
156
- const [contentHeight, setContentHeight] = (0, _react.useState)(minHeight);
157
- const height = Math.min(maxHeight, Math.max(minHeight, contentHeight));
158
-
159
- /**
160
- * Web autosize measures the node, native reads `onContentSizeChange`.
161
- *
162
- * They are not interchangeable: react-native-web reports `scrollHeight`,
163
- * which never falls below the height already applied, so a field grown to six
164
- * lines and then emptied would stay six lines tall. `useTextareaAutosize`
165
- * collapses the node to measure it only when the draft may have got SHORTER —
166
- * collapsing on every keystroke re-laid-out the whole page three times a key.
167
- */
168
- (0, _useTextareaAutosize.useTextareaAutosize)(localRef, text, {
169
- enabled: _webHooks.IS_WEB,
170
- height,
171
- minHeight,
172
- onMeasure: setContentHeight
173
- });
174
- const onContentSizeChange = (0, _react.useCallback)(event => {
175
- if (_webHooks.IS_WEB) return;
176
- setContentHeight(event.nativeEvent.contentSize.height);
177
- }, []);
178
- const trimmed = text.trim();
179
- const hasAttachments = !!attachments && attachments.length > 0;
180
- const showSend = canSend ?? (trimmed.length > 0 || hasAttachments);
181
- const submit = (0, _react.useCallback)(() => {
182
- if (disabled || !showSend) return;
183
- onSend?.(text);
184
- if (value === undefined) setText('');
185
- }, [disabled, showSend, onSend, text, value, setText]);
186
- const openSuggestions = !!suggestions && suggestions.length > 0;
187
- const onKeyPress = (0, _react.useCallback)(event => {
188
- if (!_webHooks.IS_WEB) return;
189
- const native = event.nativeEvent;
190
- // An IME candidate window is using the same keys; committing a
191
- // composition must never send the half-written word behind it.
192
- if (native.isComposing) return;
193
- const mod = native.metaKey === true || native.ctrlKey === true;
194
- if (openSuggestions && (native.key === 'ArrowDown' || native.key === 'ArrowUp')) {
195
- event.preventDefault();
196
- const count = suggestions?.length ?? 0;
197
- const step = native.key === 'ArrowDown' ? 1 : -1;
198
- const from = activeIndex < 0 ? step > 0 ? -1 : 0 : activeIndex;
199
- onActiveIndexChange?.((from + step + count) % count);
200
- return;
201
- }
202
- if (native.key === 'Escape') {
203
- event.preventDefault();
204
- onEscape?.();
205
- return;
206
- }
207
- if (native.key === 'ArrowUp' && text.length === 0) {
208
- event.preventDefault();
209
- onEditLast?.();
210
- return;
211
- }
212
- if (native.key !== 'Enter') return;
213
- if (openSuggestions && activeIndex >= 0) {
214
- const picked = suggestions?.[activeIndex];
215
- if (picked && !picked.disabled) {
216
- event.preventDefault();
217
- onSelectSuggestion?.(picked, activeIndex);
218
- return;
219
- }
220
- }
221
- if (sendOn === 'enter' ? native.shiftKey !== true && !mod : mod) {
222
- event.preventDefault();
223
- submit();
224
- }
225
- }, [activeIndex, onActiveIndexChange, onEditLast, onEscape, onSelectSuggestion, openSuggestions, sendOn, submit, suggestions, text.length]);
226
- const bar = {
227
- flexDirection: 'row',
228
- alignItems: 'flex-end',
229
- gap: 2,
230
- minHeight: _shared.CONTROL_SIZE + _shared.BAR_PADDING * 2,
231
- borderRadius: _shared.BAR_RADIUS,
232
- borderWidth: 1,
233
- borderColor: palette.border,
234
- // A disabled bar changes its FILL rather than its opacity. Dimming the
235
- // container compounds with each control's own disabled opacity — 0.55 × 0.4
236
- // put the send disc at 0.22, which reads as a rendering fault rather than a
237
- // state.
238
- backgroundColor: disabled ? palette.inset : palette.surface,
239
- paddingLeft: _shared.BAR_PADDING,
240
- paddingRight: _shared.BAR_PADDING,
241
- paddingTop: _shared.BAR_PADDING,
242
- paddingBottom: _shared.BAR_PADDING,
243
- '--bloom-chat-composer-ring': palette.focusRing
244
- };
245
- const NoticeIcon = noticeIcon ?? _RiForbidLine.RiForbidLine;
246
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
247
- accessibilityLabel: accessibilityLabel,
248
- style: [{
249
- width: '100%',
250
- flexDirection: 'column',
251
- gap: 6
252
- }, style],
253
- testID: testID,
254
- children: [openSuggestions ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_SuggestionList.SuggestionList, {
255
- kind: suggestionKind,
256
- suggestions: suggestions ?? [],
257
- activeIndex: activeIndex,
258
- onActiveIndexChange: onActiveIndexChange,
259
- onSelectSuggestion: onSelectSuggestion,
260
- testID: testID ? `${testID}-suggestions` : undefined
261
- }) : null, banner, hasAttachments ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComposerAttachmentStrip.ComposerAttachmentStrip, {
262
- attachments: attachments ?? [],
263
- onRemove: onRemoveAttachment,
264
- testID: testID ? `${testID}-attachments` : undefined
265
- }) : null, recorder ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
266
- style: bar,
267
- testID: testID ? `${testID}-bar` : undefined,
268
- children: notice !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
269
- style: {
270
- flexDirection: 'row',
271
- alignItems: 'center',
272
- justifyContent: 'center',
273
- gap: 8,
274
- flexGrow: 1,
275
- minHeight: _shared.CONTROL_SIZE,
276
- paddingLeft: 12,
277
- paddingRight: 12
278
- },
279
- testID: testID ? `${testID}-notice` : undefined,
280
- children: typeof notice === 'string' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
281
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(NoticeIcon, {
282
- width: 16,
283
- height: 16,
284
- fill: palette.iconSecondary
285
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
286
- variant: "body-2-regular",
287
- numberOfLines: 2,
288
- style: {
289
- color: palette.textSecondary,
290
- textAlign: 'center'
291
- },
292
- children: notice
293
- })]
294
- }) : notice
295
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
296
- children: [leading ?? (onAttachPress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComposerIconButton.ComposerIconButton, {
297
- icon: _RiAddLine.RiAddLine,
298
- accessibilityLabel: labels.attach,
299
- onPress: onAttachPress,
300
- disabled: disabled,
301
- iconSize: 22,
302
- testID: testID ? `${testID}-attach` : undefined
303
- }) : null), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
304
- style: {
305
- flexGrow: 1,
306
- flexShrink: 1,
307
- justifyContent: 'center',
308
- minHeight: _shared.CONTROL_SIZE,
309
- paddingLeft: 6,
310
- paddingRight: 6
311
- },
312
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
313
- ref: setFieldRef,
314
- ...(0, _webHooks.dataHook)('bloomChatComposerInput'),
315
- accessibilityLabel: labels.input,
316
- multiline: true,
317
- editable: !disabled,
318
- value: text,
319
- onChangeText: setText,
320
- onKeyPress: onKeyPress,
321
- onContentSizeChange: onContentSizeChange,
322
- onFocus: onFocus,
323
- onBlur: onBlur,
324
- placeholder: placeholder,
325
- placeholderTextColor: palette.textPlaceholder,
326
- selectionColor: palette.accent,
327
- cursorColor: palette.accent,
328
- scrollEnabled: height >= maxHeight,
329
- style: {
330
- width: '100%',
331
- height,
332
- maxHeight,
333
- padding: 0,
334
- margin: 0,
335
- ..._scale.TYPE_SCALE['body-regular'],
336
- fontFamily: _webHooks.IS_WEB ? 'var(--bloom-font-sans)' : 'Inter',
337
- color: disabled ? palette.textSecondary : palette.text,
338
- backgroundColor: 'transparent'
339
- },
340
- testID: testID ? `${testID}-input` : undefined
341
- })
342
- }), onCameraPress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComposerIconButton.ComposerIconButton, {
343
- icon: _RiCameraLine.RiCameraLine,
344
- accessibilityLabel: labels.camera,
345
- onPress: onCameraPress,
346
- disabled: disabled,
347
- testID: testID ? `${testID}-camera` : undefined
348
- }) : null, emojiSlot ?? (onEmojiPress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComposerIconButton.ComposerIconButton, {
349
- icon: _RiEmotionLine.RiEmotionLine,
350
- accessibilityLabel: labels.emoji,
351
- onPress: onEmojiPress,
352
- disabled: disabled,
353
- testID: testID ? `${testID}-emoji` : undefined
354
- }) : null), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
355
- style: {
356
- width: _shared.CONTROL_SIZE,
357
- height: _shared.CONTROL_SIZE,
358
- marginLeft: 2
359
- },
360
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(SwapLayer, {
361
- shown: showSend,
362
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComposerIconButton.ComposerIconButton, {
363
- icon: _RiSendPlaneLine.RiSendPlaneLine,
364
- tone: "accent",
365
- accessibilityLabel: labels.send,
366
- onPress: submit,
367
- disabled: disabled,
368
- iconSize: 18,
369
- testID: testID ? `${testID}-send` : undefined
370
- })
371
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(SwapLayer, {
372
- shown: !showSend,
373
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComposerIconButton.ComposerIconButton, {
374
- icon: _RiMic2Line.RiMic2Line,
375
- accessibilityLabel: labels.mic,
376
- onPress: onMicPress,
377
- onPressIn: onMicPressIn,
378
- onPressOut: onMicPressOut,
379
- disabled: disabled,
380
- testID: testID ? `${testID}-mic` : undefined
381
- })
382
- })]
383
- })]
384
- })
385
- }), showKeyboardHint && _webHooks.IS_WEB && notice === undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
386
- variant: "caption-2-regular",
387
- style: {
388
- color: palette.textPlaceholder,
389
- paddingLeft: 14
390
- },
391
- children: sendOn === 'enter' ? labels.enterHint : labels.modEnterHint
392
- }) : null]
393
- });
394
- }
9
+ var _SuggestionList = require("./SuggestionList");
10
+ var _createChatComposer = require("./create-chat-composer.js");
11
+ const ChatComposer = exports.ChatComposer = (0, _createChatComposer.createChatComposer)({
12
+ ComposerAttachmentStrip: _ComposerAttachmentStrip.ComposerAttachmentStrip,
13
+ ComposerIconButton: _ComposerIconButton.ComposerIconButton,
14
+ SuggestionList: _SuggestionList.SuggestionList
15
+ });
395
16
  //# sourceMappingURL=ChatComposer.js.map