@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
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The stack above the input: a reply / edit / forward preview, or the one-line
5
+ * `note` a slow-mode countdown and a scheduled send use.
6
+ *
7
+ * Every banner is the same row — rail, glyph, optional thumbnail, two lines of
8
+ * text, a close button — because they are the same affordance ("the next
9
+ * message is about THIS, and here is how to get out of it"). `note` drops the
10
+ * rail and the surface, which is the difference between "you are in a mode" and
11
+ * "here is a fact about sending".
12
+ */
13
+ import React from 'react';
14
+ import { Image, View } from 'react-native';
15
+ import { RiCloseLine } from "../icons/remix/RiCloseLine.js";
16
+ import { useImageResolver } from "../image-resolver/context.js";
17
+ import { useTheme } from "../theme/use-theme.js";
18
+ import { Text } from "../typography/index.js";
19
+ import { BANNER_ICONS, BANNER_RADIUS, BANNER_RAIL_WIDTH, resolveChatComposerPalette } from "./shared.js";
20
+ import { useCommonMessages } from "../locale/common-messages.js";
21
+
22
+ /** Platform dependencies are bound once; shared rendering adds no wrapper. */
23
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ export function createComposerBanner({
25
+ ComposerIconButton
26
+ }) {
27
+ /** A URL passes through; a bare id goes to the app's `ImageResolver`. */
28
+ function isUrl(value) {
29
+ return /^(https?:)?\/\//.test(value) || value.startsWith('data:') || value.startsWith('file:');
30
+ }
31
+ function ComposerBanner({
32
+ kind,
33
+ title,
34
+ preview,
35
+ thumbnail,
36
+ icon,
37
+ accentColor,
38
+ onClose,
39
+ closeLabel: closeLabelProp,
40
+ trailing,
41
+ style,
42
+ testID,
43
+ accessibilityLabel
44
+ }) {
45
+ const common = useCommonMessages();
46
+ const closeLabel = closeLabelProp ?? common.cancel;
47
+ const theme = useTheme();
48
+ const palette = resolveChatComposerPalette(theme);
49
+ const resolveImage = useImageResolver();
50
+ const Icon = icon ?? BANNER_ICONS[kind];
51
+ const accent = accentColor ?? palette.accent;
52
+ const note = kind === 'note';
53
+ const thumbUri = thumbnail === undefined ? undefined : isUrl(thumbnail) ? thumbnail : resolveImage?.(thumbnail, 'thumb');
54
+ if (note) {
55
+ return /*#__PURE__*/_jsxs(View, {
56
+ accessibilityRole: "text",
57
+ accessibilityLabel: accessibilityLabel ?? (preview ? `${title}. ${preview}` : title),
58
+ style: [{
59
+ flexDirection: 'row',
60
+ alignItems: 'center',
61
+ gap: 6,
62
+ paddingLeft: 10,
63
+ paddingRight: 6,
64
+ paddingTop: 2,
65
+ paddingBottom: 2
66
+ }, style],
67
+ testID: testID,
68
+ children: [/*#__PURE__*/_jsx(Icon, {
69
+ width: 14,
70
+ height: 14,
71
+ fill: palette.iconSecondary
72
+ }), /*#__PURE__*/_jsx(Text, {
73
+ variant: "caption-1-regular",
74
+ numberOfLines: 1,
75
+ style: {
76
+ color: palette.textSecondary,
77
+ flexShrink: 1
78
+ },
79
+ children: title
80
+ }), preview ? /*#__PURE__*/_jsx(Text, {
81
+ variant: "caption-1-regular",
82
+ numberOfLines: 1,
83
+ style: {
84
+ color: palette.textPlaceholder,
85
+ flexShrink: 1
86
+ },
87
+ children: preview
88
+ }) : null, /*#__PURE__*/_jsx(View, {
89
+ style: {
90
+ flexGrow: 1
91
+ }
92
+ }), trailing, onClose ? /*#__PURE__*/_jsx(ComposerIconButton, {
93
+ icon: RiCloseLine,
94
+ accessibilityLabel: closeLabel,
95
+ onPress: onClose,
96
+ size: 24,
97
+ iconSize: 14
98
+ }) : null]
99
+ });
100
+ }
101
+ return /*#__PURE__*/_jsxs(View, {
102
+ accessibilityLabel: accessibilityLabel ?? (preview ? `${title}. ${preview}` : title),
103
+ style: [{
104
+ flexDirection: 'row',
105
+ alignItems: 'center',
106
+ gap: 10,
107
+ borderRadius: BANNER_RADIUS,
108
+ backgroundColor: palette.accentSoft,
109
+ paddingLeft: 8,
110
+ paddingRight: 4,
111
+ paddingTop: 6,
112
+ paddingBottom: 6
113
+ }, style],
114
+ testID: testID,
115
+ children: [/*#__PURE__*/_jsx(View, {
116
+ testID: testID ? `${testID}-rail` : undefined,
117
+ style: {
118
+ width: BANNER_RAIL_WIDTH,
119
+ alignSelf: 'stretch',
120
+ minHeight: 32,
121
+ borderRadius: 2,
122
+ backgroundColor: accent
123
+ }
124
+ }), /*#__PURE__*/_jsx(Icon, {
125
+ width: 18,
126
+ height: 18,
127
+ fill: accent
128
+ }), thumbUri ? /*#__PURE__*/_jsx(Image, {
129
+ source: {
130
+ uri: thumbUri
131
+ },
132
+ accessibilityIgnoresInvertColors: true,
133
+ style: {
134
+ width: 32,
135
+ height: 32,
136
+ borderRadius: 8,
137
+ backgroundColor: palette.inset
138
+ }
139
+ }) : null, /*#__PURE__*/_jsxs(View, {
140
+ style: {
141
+ flexShrink: 1,
142
+ flexGrow: 1,
143
+ gap: 1
144
+ },
145
+ children: [/*#__PURE__*/_jsx(Text, {
146
+ variant: "body-2-medium",
147
+ numberOfLines: 1,
148
+ style: {
149
+ color: accent
150
+ },
151
+ children: title
152
+ }), preview ? /*#__PURE__*/_jsx(Text, {
153
+ variant: "body-2-regular",
154
+ numberOfLines: 1,
155
+ style: {
156
+ color: palette.textSecondary
157
+ },
158
+ children: preview
159
+ }) : null]
160
+ }), trailing, onClose ? /*#__PURE__*/_jsx(ComposerIconButton, {
161
+ icon: RiCloseLine,
162
+ accessibilityLabel: closeLabel,
163
+ onPress: onClose,
164
+ size: 28,
165
+ iconSize: 16
166
+ }) : null]
167
+ });
168
+ }
169
+ return ComposerBanner;
170
+ }
171
+ //# sourceMappingURL=create-composer-banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Image","View","RiCloseLine","useImageResolver","useTheme","Text","BANNER_ICONS","BANNER_RADIUS","BANNER_RAIL_WIDTH","resolveChatComposerPalette","useCommonMessages","jsx","_jsx","jsxs","_jsxs","createComposerBanner","ComposerIconButton","isUrl","value","test","startsWith","ComposerBanner","kind","title","preview","thumbnail","icon","accentColor","onClose","closeLabel","closeLabelProp","trailing","style","testID","accessibilityLabel","common","cancel","theme","palette","resolveImage","Icon","accent","note","thumbUri","undefined","accessibilityRole","flexDirection","alignItems","gap","paddingLeft","paddingRight","paddingTop","paddingBottom","children","width","height","fill","iconSecondary","variant","numberOfLines","color","textSecondary","flexShrink","textPlaceholder","flexGrow","onPress","size","iconSize","borderRadius","backgroundColor","accentSoft","alignSelf","minHeight","source","uri","accessibilityIgnoresInvertColors","inset"],"sourceRoot":"../../../src","sources":["chat-composer/create-composer-banner.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,451 @@
1
+ "use strict";
2
+
3
+ import { useCardFill } from "../card/use-card-fill.js";
4
+ /**
5
+ * A controlled, presentational emoji grid.
6
+ *
7
+ * BLOOM SHIPS NO EMOJI DATASET, and that is the design rather than an omission:
8
+ * a full set with names and keywords is tens of kilobytes that every app with
9
+ * its own would still pay for, and emoji names are localised. `groups` arrives
10
+ * as a prop. The object form of an entry (`{ char, name, keywords }`) is what
11
+ * the built-in search matches on; a dataset of bare glyphs still renders, it
12
+ * just only matches a pasted glyph — which is the honest behaviour, not a
13
+ * silent one.
14
+ *
15
+ * The grid is a `FlatList` on BOTH platforms, over pre-chunked ROWS rather than
16
+ * single emoji, with exact `getItemLayout` offsets. A few thousand entries is
17
+ * the normal case: at eight columns that is a few hundred rows, of which a
18
+ * dozen are mounted, and the exact offsets are what let a category tab jump
19
+ * straight to its header instead of estimating.
20
+ */
21
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
22
+ import { FlatList, Pressable, TextInput, View } from 'react-native';
23
+ import { RiEmotionLine } from "../icons/remix/RiEmotionLine.js";
24
+ import { RiSearchLine } from "../icons/remix/RiSearchLine.js";
25
+ import { useControllableState } from "../hooks/use-controllable-state.js";
26
+ import { useTheme } from "../theme/use-theme.js";
27
+ import { Text } from "../typography/index.js";
28
+ import { TYPE_SCALE } from "../typography/scale.js";
29
+ import { EMOJI_CATEGORY_ICONS, EMOJI_CATEGORY_SIZE, EMOJI_CELL, PANEL_RADIUS, SKIN_TONE_SWATCHES, applySkinTone, emojiChar, filterEmojiGroups, resolveChatComposerPalette } from "./shared.js";
30
+ import { dataHook, useChatComposerWebCss } from "./web-hooks.js";
31
+ import { useMessages } from "../locale/messages.js";
32
+ import { CHAT_COMPOSER_MESSAGES } from "./messages.js";
33
+
34
+ /** Platform dependencies are bound once; shared rendering adds no wrapper. */
35
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
36
+ export function createEmojiPicker({
37
+ Surface,
38
+ Button
39
+ }) {
40
+ const HEADER_HEIGHT = 26;
41
+ const EMOJI_TAB = '__emoji';
42
+ function chunk(entries, columns) {
43
+ const out = [];
44
+ for (let i = 0; i < entries.length; i += columns) out.push(entries.slice(i, i + columns));
45
+ return out;
46
+ }
47
+ function entryName(entry, char) {
48
+ return typeof entry === 'string' ? char : entry.name ?? char;
49
+ }
50
+ function EmojiPicker({
51
+ groups,
52
+ onSelectEmoji,
53
+ activeGroup,
54
+ defaultActiveGroup,
55
+ onActiveGroupChange,
56
+ query,
57
+ defaultQuery = '',
58
+ onQueryChange,
59
+ filter = true,
60
+ frequentlyUsed,
61
+ skinTone,
62
+ defaultSkinTone = 0,
63
+ onSkinToneChange,
64
+ columns = 8,
65
+ height = 288,
66
+ tabs,
67
+ activeTab,
68
+ onActiveTabChange,
69
+ labels: labelOverrides,
70
+ style,
71
+ testID,
72
+ accessibilityLabel: accessibilityLabelProp
73
+ }) {
74
+ const theme = useTheme();
75
+ const palette = resolveChatComposerPalette(theme, useCardFill(style));
76
+ useChatComposerWebCss();
77
+ const {
78
+ messages
79
+ } = useMessages(CHAT_COMPOSER_MESSAGES);
80
+ const accessibilityLabel = accessibilityLabelProp ?? messages.emojiPicker;
81
+ const labels = {
82
+ search: messages.searchEmoji,
83
+ empty: messages.noEmoji,
84
+ frequent: messages.frequentlyUsed,
85
+ skinTone: messages.skinTone,
86
+ emojiTab: messages.emoji,
87
+ ...labelOverrides
88
+ };
89
+ const [search, setSearch] = useControllableState({
90
+ value: query,
91
+ defaultValue: defaultQuery,
92
+ onChange: onQueryChange
93
+ });
94
+ const [tone, setTone] = useControllableState({
95
+ value: skinTone,
96
+ defaultValue: defaultSkinTone,
97
+ onChange: onSkinToneChange
98
+ });
99
+ const [category, setCategory] = useControllableState({
100
+ value: activeGroup,
101
+ defaultValue: defaultActiveGroup ?? groups[0]?.key ?? '',
102
+ onChange: onActiveGroupChange
103
+ });
104
+ const [tab, setTab] = useControllableState({
105
+ value: activeTab,
106
+ defaultValue: EMOJI_TAB,
107
+ onChange: onActiveTabChange
108
+ });
109
+ const [toneOpen, setToneOpen] = useState(false);
110
+ const listRef = useRef(null);
111
+ const visible = useMemo(() => filter ? filterEmojiGroups(groups, search) : groups, [filter, groups, search]);
112
+ const {
113
+ rows,
114
+ offsets,
115
+ heights,
116
+ headerIndex
117
+ } = useMemo(() => {
118
+ const all = [];
119
+ if (frequentlyUsed && frequentlyUsed.length > 0 && !search.trim()) {
120
+ all.push({
121
+ key: 'frequent',
122
+ label: labels.frequent,
123
+ emojis: frequentlyUsed
124
+ });
125
+ }
126
+ all.push(...visible);
127
+ const built = [];
128
+ const index = {};
129
+ for (const group of all) {
130
+ index[group.key] = built.length;
131
+ built.push({
132
+ kind: 'header',
133
+ key: `h-${group.key}`,
134
+ label: group.label
135
+ });
136
+ chunk(group.emojis, columns).forEach((entries, i) => built.push({
137
+ kind: 'emojis',
138
+ key: `${group.key}-${i}`,
139
+ entries
140
+ }));
141
+ }
142
+ const rowHeights = built.map(row => row.kind === 'header' ? HEADER_HEIGHT : EMOJI_CELL);
143
+ const rowOffsets = [];
144
+ let running = 0;
145
+ for (const h of rowHeights) {
146
+ rowOffsets.push(running);
147
+ running += h;
148
+ }
149
+ return {
150
+ rows: built,
151
+ offsets: rowOffsets,
152
+ heights: rowHeights,
153
+ headerIndex: index
154
+ };
155
+ }, [columns, frequentlyUsed, labels.frequent, search, visible]);
156
+ const jumpTo = useCallback(key => {
157
+ setCategory(key);
158
+ const at = headerIndex[key];
159
+ if (at === undefined) return;
160
+ listRef.current?.scrollToOffset({
161
+ offset: offsets[at] ?? 0,
162
+ animated: true
163
+ });
164
+ }, [headerIndex, offsets, setCategory]);
165
+ const renderRow = useCallback(({
166
+ item
167
+ }) => {
168
+ if (item.kind === 'header') {
169
+ return /*#__PURE__*/_jsx(View, {
170
+ style: {
171
+ height: HEADER_HEIGHT,
172
+ justifyContent: 'flex-end',
173
+ paddingLeft: 6
174
+ },
175
+ children: /*#__PURE__*/_jsx(Text, {
176
+ variant: "caption-1-medium",
177
+ style: {
178
+ color: palette.textSecondary
179
+ },
180
+ children: item.label
181
+ })
182
+ });
183
+ }
184
+ return /*#__PURE__*/_jsx(View, {
185
+ style: {
186
+ flexDirection: 'row',
187
+ height: EMOJI_CELL
188
+ },
189
+ children: item.entries.map((entry, i) => {
190
+ const base = emojiChar(entry);
191
+ const char = applySkinTone(base, tone);
192
+ return /*#__PURE__*/_jsx(Button, {
193
+ appearance: "plain",
194
+ tone: "neutral",
195
+ accessibilityLabel: entryName(entry, char),
196
+ onPress: () => onSelectEmoji?.(char),
197
+ style: {
198
+ padding: 0,
199
+ minWidth: 0,
200
+ minHeight: 0,
201
+ flexShrink: 0,
202
+ width: EMOJI_CELL,
203
+ height: EMOJI_CELL,
204
+ alignItems: 'center',
205
+ justifyContent: 'center',
206
+ borderRadius: 8
207
+ },
208
+ testID: testID ? `${testID}-emoji-${base}` : undefined,
209
+ children: /*#__PURE__*/_jsx(Text, {
210
+ variant: "title-2-regular",
211
+ children: char
212
+ })
213
+ }, `${base}-${i}`);
214
+ })
215
+ });
216
+ }, [onSelectEmoji, palette.textSecondary, testID, tone]);
217
+ const panel = {
218
+ borderRadius: PANEL_RADIUS,
219
+ paddingTop: 8,
220
+ paddingBottom: 8,
221
+ paddingLeft: 8,
222
+ paddingRight: 8,
223
+ gap: 8,
224
+ '--bloom-chat-composer-ring': palette.focusRing
225
+ };
226
+ const topTabs = [{
227
+ key: EMOJI_TAB,
228
+ label: labels.emojiTab,
229
+ icon: RiEmotionLine
230
+ }, ...(tabs ?? [])];
231
+ const activeCustom = tabs?.find(t => t.key === tab);
232
+ return /*#__PURE__*/_jsxs(Surface, {
233
+ accessibilityLabel: accessibilityLabel,
234
+ style: [panel, style],
235
+ testID: testID,
236
+ children: [tabs && tabs.length > 0 ? /*#__PURE__*/_jsx(View, {
237
+ accessibilityRole: "tablist",
238
+ style: {
239
+ flexDirection: 'row',
240
+ gap: 4
241
+ },
242
+ testID: testID ? `${testID}-tabs` : undefined,
243
+ children: topTabs.map(entry => {
244
+ const selected = entry.key === tab;
245
+ return /*#__PURE__*/_jsx(Pressable, {
246
+ ...dataHook('bloomChatComposerRow'),
247
+ accessibilityRole: "tab",
248
+ accessibilityLabel: entry.label,
249
+ "aria-selected": selected,
250
+ accessibilityState: {
251
+ selected
252
+ },
253
+ onPress: () => setTab(entry.key),
254
+ style: {
255
+ flexGrow: 1,
256
+ alignItems: 'center',
257
+ justifyContent: 'center',
258
+ height: 30,
259
+ borderRadius: 9999,
260
+ backgroundColor: selected ? palette.accentSoft : 'transparent'
261
+ },
262
+ testID: testID ? `${testID}-tab-${entry.key}` : undefined,
263
+ children: /*#__PURE__*/_jsx(Text, {
264
+ variant: "body-2-medium",
265
+ style: {
266
+ color: selected ? palette.accentStrong : palette.textSecondary
267
+ },
268
+ children: entry.label
269
+ })
270
+ }, entry.key);
271
+ })
272
+ }) : null, activeCustom ? /*#__PURE__*/_jsx(View, {
273
+ style: {
274
+ height
275
+ },
276
+ children: activeCustom.content
277
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
278
+ children: [/*#__PURE__*/_jsxs(View, {
279
+ style: {
280
+ flexDirection: 'row',
281
+ alignItems: 'center',
282
+ gap: 6
283
+ },
284
+ children: [/*#__PURE__*/_jsxs(View, {
285
+ style: {
286
+ flexGrow: 1,
287
+ flexShrink: 1,
288
+ flexDirection: 'row',
289
+ alignItems: 'center',
290
+ gap: 6,
291
+ height: 32,
292
+ borderRadius: 10,
293
+ backgroundColor: palette.inset,
294
+ paddingLeft: 8,
295
+ paddingRight: 8
296
+ },
297
+ children: [/*#__PURE__*/_jsx(RiSearchLine, {
298
+ width: 16,
299
+ height: 16,
300
+ fill: palette.iconSecondary
301
+ }), /*#__PURE__*/_jsx(TextInput, {
302
+ ...dataHook('bloomChatComposerInput'),
303
+ accessibilityLabel: labels.search,
304
+ placeholder: labels.search,
305
+ placeholderTextColor: palette.textPlaceholder,
306
+ value: search,
307
+ onChangeText: setSearch,
308
+ selectionColor: palette.accent,
309
+ style: {
310
+ flexGrow: 1,
311
+ flexShrink: 1,
312
+ padding: 0,
313
+ margin: 0,
314
+ ...TYPE_SCALE['body-2-regular'],
315
+ color: palette.text,
316
+ backgroundColor: 'transparent'
317
+ },
318
+ testID: testID ? `${testID}-search` : undefined
319
+ })]
320
+ }), /*#__PURE__*/_jsx(Button, {
321
+ appearance: "plain",
322
+ tone: "neutral",
323
+ accessibilityLabel: labels.skinTone,
324
+ "aria-expanded": toneOpen,
325
+ onPress: () => setToneOpen(!toneOpen),
326
+ style: {
327
+ padding: 0,
328
+ minWidth: 0,
329
+ minHeight: 0,
330
+ flexShrink: 0,
331
+ width: 32,
332
+ height: 32,
333
+ alignItems: 'center',
334
+ justifyContent: 'center',
335
+ borderRadius: 9999,
336
+ backgroundColor: toneOpen ? palette.hover : palette.inset
337
+ },
338
+ testID: testID ? `${testID}-skin-tone` : undefined,
339
+ children: /*#__PURE__*/_jsx(Text, {
340
+ variant: "body-regular",
341
+ children: SKIN_TONE_SWATCHES[tone] ?? SKIN_TONE_SWATCHES[0]
342
+ })
343
+ })]
344
+ }), toneOpen ? /*#__PURE__*/_jsx(View, {
345
+ style: {
346
+ flexDirection: 'row',
347
+ gap: 2,
348
+ justifyContent: 'flex-end'
349
+ },
350
+ testID: testID ? `${testID}-skin-tones` : undefined,
351
+ children: SKIN_TONE_SWATCHES.map((swatch, index) => {
352
+ const selected = index === tone;
353
+ return /*#__PURE__*/_jsx(Button, {
354
+ appearance: "plain",
355
+ tone: "neutral",
356
+ accessibilityLabel: `${labels.skinTone} ${index + 1}`,
357
+ pressed: selected,
358
+ onPress: () => {
359
+ setTone(index);
360
+ setToneOpen(false);
361
+ },
362
+ style: {
363
+ padding: 0,
364
+ minWidth: 0,
365
+ minHeight: 0,
366
+ flexShrink: 0,
367
+ width: 30,
368
+ height: 30,
369
+ alignItems: 'center',
370
+ justifyContent: 'center',
371
+ borderRadius: 9999,
372
+ backgroundColor: selected ? palette.accentSoft : 'transparent'
373
+ },
374
+ testID: testID ? `${testID}-skin-tone-${index}` : undefined,
375
+ children: /*#__PURE__*/_jsx(Text, {
376
+ variant: "body-regular",
377
+ children: swatch
378
+ })
379
+ }, index);
380
+ })
381
+ }) : null, /*#__PURE__*/_jsx(View, {
382
+ accessibilityRole: "tablist",
383
+ style: {
384
+ flexDirection: 'row',
385
+ justifyContent: 'space-between'
386
+ },
387
+ testID: testID ? `${testID}-categories` : undefined,
388
+ children: groups.map(group => {
389
+ const selected = group.key === category;
390
+ const Glyph = group.icon ?? EMOJI_CATEGORY_ICONS[group.key] ?? RiEmotionLine;
391
+ return /*#__PURE__*/_jsx(Pressable, {
392
+ ...dataHook('bloomChatComposerControl'),
393
+ accessibilityRole: "tab",
394
+ accessibilityLabel: group.label,
395
+ "aria-selected": selected,
396
+ accessibilityState: {
397
+ selected
398
+ },
399
+ onPress: () => jumpTo(group.key),
400
+ style: {
401
+ width: EMOJI_CATEGORY_SIZE,
402
+ height: EMOJI_CATEGORY_SIZE,
403
+ alignItems: 'center',
404
+ justifyContent: 'center',
405
+ borderRadius: 9999,
406
+ backgroundColor: selected ? palette.accentSoft : 'transparent'
407
+ },
408
+ testID: testID ? `${testID}-category-${group.key}` : undefined,
409
+ children: /*#__PURE__*/_jsx(Glyph, {
410
+ width: 18,
411
+ height: 18,
412
+ fill: selected ? palette.accentStrong : palette.iconSecondary
413
+ })
414
+ }, group.key);
415
+ })
416
+ }), rows.length === 0 ? /*#__PURE__*/_jsx(View, {
417
+ style: {
418
+ height,
419
+ alignItems: 'center',
420
+ justifyContent: 'center'
421
+ },
422
+ children: /*#__PURE__*/_jsx(Text, {
423
+ variant: "body-2-regular",
424
+ style: {
425
+ color: palette.textSecondary
426
+ },
427
+ children: labels.empty
428
+ })
429
+ }) : /*#__PURE__*/_jsx(FlatList, {
430
+ ref: listRef,
431
+ ...dataHook('bloomChatComposerScroll'),
432
+ data: rows,
433
+ keyExtractor: row => row.key,
434
+ renderItem: renderRow,
435
+ getItemLayout: (_data, index) => ({
436
+ length: heights[index] ?? EMOJI_CELL,
437
+ offset: offsets[index] ?? 0,
438
+ index
439
+ }),
440
+ style: {
441
+ height
442
+ },
443
+ showsVerticalScrollIndicator: false,
444
+ testID: testID ? `${testID}-grid` : undefined
445
+ })]
446
+ })]
447
+ });
448
+ }
449
+ return EmojiPicker;
450
+ }
451
+ //# sourceMappingURL=create-emoji-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCardFill","React","useCallback","useMemo","useRef","useState","FlatList","Pressable","TextInput","View","RiEmotionLine","RiSearchLine","useControllableState","useTheme","Text","TYPE_SCALE","EMOJI_CATEGORY_ICONS","EMOJI_CATEGORY_SIZE","EMOJI_CELL","PANEL_RADIUS","SKIN_TONE_SWATCHES","applySkinTone","emojiChar","filterEmojiGroups","resolveChatComposerPalette","dataHook","useChatComposerWebCss","useMessages","CHAT_COMPOSER_MESSAGES","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","createEmojiPicker","Surface","Button","HEADER_HEIGHT","EMOJI_TAB","chunk","entries","columns","out","i","length","push","slice","entryName","entry","char","name","EmojiPicker","groups","onSelectEmoji","activeGroup","defaultActiveGroup","onActiveGroupChange","query","defaultQuery","onQueryChange","filter","frequentlyUsed","skinTone","defaultSkinTone","onSkinToneChange","height","tabs","activeTab","onActiveTabChange","labels","labelOverrides","style","testID","accessibilityLabel","accessibilityLabelProp","theme","palette","messages","emojiPicker","search","searchEmoji","empty","noEmoji","frequent","emojiTab","emoji","setSearch","value","defaultValue","onChange","tone","setTone","category","setCategory","key","tab","setTab","toneOpen","setToneOpen","listRef","visible","rows","offsets","heights","headerIndex","all","trim","label","emojis","built","index","group","kind","forEach","rowHeights","map","row","rowOffsets","running","h","jumpTo","at","undefined","current","scrollToOffset","offset","animated","renderRow","item","justifyContent","paddingLeft","children","variant","color","textSecondary","flexDirection","base","appearance","onPress","padding","minWidth","minHeight","flexShrink","width","alignItems","borderRadius","panel","paddingTop","paddingBottom","paddingRight","gap","focusRing","topTabs","icon","activeCustom","find","t","accessibilityRole","selected","accessibilityState","flexGrow","backgroundColor","accentSoft","accentStrong","content","inset","fill","iconSecondary","placeholder","placeholderTextColor","textPlaceholder","onChangeText","selectionColor","accent","margin","text","hover","swatch","pressed","Glyph","ref","data","keyExtractor","renderItem","getItemLayout","_data","showsVerticalScrollIndicator"],"sourceRoot":"../../../src","sources":["chat-composer/create-emoji-picker.tsx"],"mappings":"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","ignoreList":[]}