@oxy.so/bloom 5.1.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/docs/adoption-matrix.mdx +9 -9
  2. package/docs/app-shell.mdx +3 -1
  3. package/docs/button.mdx +2 -0
  4. package/docs/card-form.mdx +2 -0
  5. package/docs/chat-composer.mdx +1 -1
  6. package/docs/chat-people.mdx +8 -0
  7. package/docs/earnings.mdx +2 -0
  8. package/docs/field.mdx +2 -0
  9. package/docs/label.mdx +2 -0
  10. package/docs/payment-method.mdx +2 -0
  11. package/docs/place-details.mdx +2 -2
  12. package/docs/proof-of-delivery.mdx +4 -0
  13. package/docs/select.mdx +2 -0
  14. package/docs/settings-modal.mdx +15 -0
  15. package/lib/commonjs/ai-chat/AiChatResizeHandle.js +166 -0
  16. package/lib/commonjs/ai-chat/AiChatResizeHandle.js.map +1 -0
  17. package/lib/commonjs/ai-chat/AiChatShell.js +6 -154
  18. package/lib/commonjs/ai-chat/AiChatShell.js.map +1 -1
  19. package/lib/commonjs/ai-chat/index.js +2 -1
  20. package/lib/commonjs/ai-chat/index.js.map +1 -1
  21. package/lib/commonjs/ai-chat/index.web.js +2 -1
  22. package/lib/commonjs/ai-chat/index.web.js.map +1 -1
  23. package/lib/commonjs/ai-chat/messages.js +15 -30
  24. package/lib/commonjs/ai-chat/messages.js.map +1 -1
  25. package/lib/commonjs/app-shell/AppShellSplit.js +2 -2
  26. package/lib/commonjs/app-shell/AppShellSplit.js.map +1 -1
  27. package/lib/commonjs/button/Button.js +36 -3
  28. package/lib/commonjs/button/Button.js.map +1 -1
  29. package/lib/commonjs/button/GlyphButton.js +7 -3
  30. package/lib/commonjs/button/GlyphButton.js.map +1 -1
  31. package/lib/commonjs/card-form/shared.js +3 -2
  32. package/lib/commonjs/card-form/shared.js.map +1 -1
  33. package/lib/commonjs/chat-composer/AttachmentMenu.js +8 -227
  34. package/lib/commonjs/chat-composer/AttachmentMenu.js.map +1 -1
  35. package/lib/commonjs/chat-composer/AttachmentMenu.web.js +16 -0
  36. package/lib/commonjs/chat-composer/AttachmentMenu.web.js.map +1 -0
  37. package/lib/commonjs/chat-composer/ChatComposer.js +9 -388
  38. package/lib/commonjs/chat-composer/ChatComposer.js.map +1 -1
  39. package/lib/commonjs/chat-composer/ChatComposer.web.js +16 -0
  40. package/lib/commonjs/chat-composer/ChatComposer.web.js.map +1 -0
  41. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.js +5 -200
  42. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.js.map +1 -1
  43. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.web.js +12 -0
  44. package/lib/commonjs/chat-composer/ComposerAttachmentStrip.web.js.map +1 -0
  45. package/lib/commonjs/chat-composer/ComposerBanner.js +5 -163
  46. package/lib/commonjs/chat-composer/ComposerBanner.js.map +1 -1
  47. package/lib/commonjs/chat-composer/ComposerBanner.web.js +12 -0
  48. package/lib/commonjs/chat-composer/ComposerBanner.web.js.map +1 -0
  49. package/lib/commonjs/chat-composer/EmojiPicker.js +6 -443
  50. package/lib/commonjs/chat-composer/EmojiPicker.js.map +1 -1
  51. package/lib/commonjs/chat-composer/EmojiPicker.web.js +14 -0
  52. package/lib/commonjs/chat-composer/EmojiPicker.web.js.map +1 -0
  53. package/lib/commonjs/chat-composer/MessageContextMenu.js +12 -102
  54. package/lib/commonjs/chat-composer/MessageContextMenu.js.map +1 -1
  55. package/lib/commonjs/chat-composer/MessageContextMenu.web.js +19 -0
  56. package/lib/commonjs/chat-composer/MessageContextMenu.web.js.map +1 -0
  57. package/lib/commonjs/chat-composer/ReactionPicker.js +6 -107
  58. package/lib/commonjs/chat-composer/ReactionPicker.js.map +1 -1
  59. package/lib/commonjs/chat-composer/ReactionPicker.web.js +14 -0
  60. package/lib/commonjs/chat-composer/ReactionPicker.web.js.map +1 -0
  61. package/lib/commonjs/chat-composer/SuggestionList.js +5 -222
  62. package/lib/commonjs/chat-composer/SuggestionList.js.map +1 -1
  63. package/lib/commonjs/chat-composer/SuggestionList.web.js +12 -0
  64. package/lib/commonjs/chat-composer/SuggestionList.web.js.map +1 -0
  65. package/lib/commonjs/chat-composer/VoiceRecorder.js +7 -263
  66. package/lib/commonjs/chat-composer/VoiceRecorder.js.map +1 -1
  67. package/lib/commonjs/chat-composer/VoiceRecorder.web.js +16 -0
  68. package/lib/commonjs/chat-composer/VoiceRecorder.web.js.map +1 -0
  69. package/lib/commonjs/chat-composer/create-attachment-menu.js +243 -0
  70. package/lib/commonjs/chat-composer/create-attachment-menu.js.map +1 -0
  71. package/lib/commonjs/chat-composer/create-chat-composer.js +400 -0
  72. package/lib/commonjs/chat-composer/create-chat-composer.js.map +1 -0
  73. package/lib/commonjs/chat-composer/create-composer-attachment-strip.js +212 -0
  74. package/lib/commonjs/chat-composer/create-composer-attachment-strip.js.map +1 -0
  75. package/lib/commonjs/chat-composer/create-composer-banner.js +176 -0
  76. package/lib/commonjs/chat-composer/create-composer-banner.js.map +1 -0
  77. package/lib/commonjs/chat-composer/create-emoji-picker.js +456 -0
  78. package/lib/commonjs/chat-composer/create-emoji-picker.js.map +1 -0
  79. package/lib/commonjs/chat-composer/create-message-context-menu.js +119 -0
  80. package/lib/commonjs/chat-composer/create-message-context-menu.js.map +1 -0
  81. package/lib/commonjs/chat-composer/create-reaction-picker.js +120 -0
  82. package/lib/commonjs/chat-composer/create-reaction-picker.js.map +1 -0
  83. package/lib/commonjs/chat-composer/create-suggestion-list.js +234 -0
  84. package/lib/commonjs/chat-composer/create-suggestion-list.js.map +1 -0
  85. package/lib/commonjs/chat-composer/create-voice-recorder.js +277 -0
  86. package/lib/commonjs/chat-composer/create-voice-recorder.js.map +1 -0
  87. package/lib/commonjs/chat-composer/index.js +9 -9
  88. package/lib/commonjs/chat-composer/index.web.js +18 -18
  89. package/lib/commonjs/chat-composer/index.web.js.map +1 -1
  90. package/lib/commonjs/chat-people/contact-row.js +13 -0
  91. package/lib/commonjs/chat-people/contact-row.js.map +1 -0
  92. package/lib/commonjs/chat-screen/ChatSplitLayout.js +2 -2
  93. package/lib/commonjs/chat-screen/ChatSplitLayout.js.map +1 -1
  94. package/lib/commonjs/earnings/EarningsSummary.js +12 -2
  95. package/lib/commonjs/earnings/EarningsSummary.js.map +1 -1
  96. package/lib/commonjs/field/Field.js +2 -0
  97. package/lib/commonjs/field/Field.js.map +1 -1
  98. package/lib/commonjs/item/Item.js +16 -8
  99. package/lib/commonjs/item/Item.js.map +1 -1
  100. package/lib/commonjs/job-board/JobCard.js +6 -2
  101. package/lib/commonjs/job-board/JobCard.js.map +1 -1
  102. package/lib/commonjs/label/Label.js +2 -1
  103. package/lib/commonjs/label/Label.js.map +1 -1
  104. package/lib/commonjs/listing-details/AmenityList.js +4 -3
  105. package/lib/commonjs/listing-details/AmenityList.js.map +1 -1
  106. package/lib/commonjs/locale/common-messages.js +30 -15
  107. package/lib/commonjs/locale/common-messages.js.map +1 -1
  108. package/lib/commonjs/mail-compose/MailComposeSurface.js +1 -1
  109. package/lib/commonjs/overlay/InteractionBoundary.js +28 -0
  110. package/lib/commonjs/overlay/InteractionBoundary.js.map +1 -0
  111. package/lib/commonjs/payment-method/PaymentMethodList.js +3 -2
  112. package/lib/commonjs/payment-method/PaymentMethodList.js.map +1 -1
  113. package/lib/commonjs/place-details/PlaceAmenities.js +17 -6
  114. package/lib/commonjs/place-details/PlaceAmenities.js.map +1 -1
  115. package/lib/commonjs/place-details/PlacePopularTimes.js +7 -1
  116. package/lib/commonjs/place-details/PlacePopularTimes.js.map +1 -1
  117. package/lib/commonjs/proof-of-delivery/ProofOfDelivery.js +10 -1
  118. package/lib/commonjs/proof-of-delivery/ProofOfDelivery.js.map +1 -1
  119. package/lib/commonjs/proof-of-delivery/shared.js +1 -1
  120. package/lib/commonjs/proof-of-delivery/shared.js.map +1 -1
  121. package/lib/commonjs/select/Select.js +7 -4
  122. package/lib/commonjs/select/Select.js.map +1 -1
  123. package/lib/commonjs/select/Select.web.js +7 -4
  124. package/lib/commonjs/select/Select.web.js.map +1 -1
  125. package/lib/commonjs/select/use-required-description.js +37 -0
  126. package/lib/commonjs/select/use-required-description.js.map +1 -0
  127. package/lib/commonjs/settings-modal/rows.js +37 -0
  128. package/lib/commonjs/settings-modal/rows.js.map +1 -0
  129. package/lib/module/ai-chat/AiChatResizeHandle.js +160 -0
  130. package/lib/module/ai-chat/AiChatResizeHandle.js.map +1 -0
  131. package/lib/module/ai-chat/AiChatShell.js +5 -152
  132. package/lib/module/ai-chat/AiChatShell.js.map +1 -1
  133. package/lib/module/ai-chat/index.js +2 -1
  134. package/lib/module/ai-chat/index.js.map +1 -1
  135. package/lib/module/ai-chat/index.web.js +2 -1
  136. package/lib/module/ai-chat/index.web.js.map +1 -1
  137. package/lib/module/ai-chat/messages.js +15 -30
  138. package/lib/module/ai-chat/messages.js.map +1 -1
  139. package/lib/module/app-shell/AppShellSplit.js +1 -1
  140. package/lib/module/app-shell/AppShellSplit.js.map +1 -1
  141. package/lib/module/button/Button.js +36 -3
  142. package/lib/module/button/Button.js.map +1 -1
  143. package/lib/module/button/GlyphButton.js +7 -3
  144. package/lib/module/button/GlyphButton.js.map +1 -1
  145. package/lib/module/card-form/shared.js +3 -2
  146. package/lib/module/card-form/shared.js.map +1 -1
  147. package/lib/module/chat-composer/AttachmentMenu.js +7 -226
  148. package/lib/module/chat-composer/AttachmentMenu.js.map +1 -1
  149. package/lib/module/chat-composer/AttachmentMenu.web.js +12 -0
  150. package/lib/module/chat-composer/AttachmentMenu.web.js.map +1 -0
  151. package/lib/module/chat-composer/ChatComposer.js +8 -385
  152. package/lib/module/chat-composer/ChatComposer.js.map +1 -1
  153. package/lib/module/chat-composer/ChatComposer.web.js +12 -0
  154. package/lib/module/chat-composer/ChatComposer.web.js.map +1 -0
  155. package/lib/module/chat-composer/ComposerAttachmentStrip.js +4 -196
  156. package/lib/module/chat-composer/ComposerAttachmentStrip.js.map +1 -1
  157. package/lib/module/chat-composer/ComposerAttachmentStrip.web.js +8 -0
  158. package/lib/module/chat-composer/ComposerAttachmentStrip.web.js.map +1 -0
  159. package/lib/module/chat-composer/ComposerBanner.js +4 -162
  160. package/lib/module/chat-composer/ComposerBanner.js.map +1 -1
  161. package/lib/module/chat-composer/ComposerBanner.web.js +8 -0
  162. package/lib/module/chat-composer/ComposerBanner.web.js.map +1 -0
  163. package/lib/module/chat-composer/EmojiPicker.js +5 -440
  164. package/lib/module/chat-composer/EmojiPicker.js.map +1 -1
  165. package/lib/module/chat-composer/EmojiPicker.web.js +10 -0
  166. package/lib/module/chat-composer/EmojiPicker.web.js.map +1 -0
  167. package/lib/module/chat-composer/MessageContextMenu.js +11 -99
  168. package/lib/module/chat-composer/MessageContextMenu.js.map +1 -1
  169. package/lib/module/chat-composer/MessageContextMenu.web.js +15 -0
  170. package/lib/module/chat-composer/MessageContextMenu.web.js.map +1 -0
  171. package/lib/module/chat-composer/ReactionPicker.js +5 -104
  172. package/lib/module/chat-composer/ReactionPicker.js.map +1 -1
  173. package/lib/module/chat-composer/ReactionPicker.web.js +10 -0
  174. package/lib/module/chat-composer/ReactionPicker.web.js.map +1 -0
  175. package/lib/module/chat-composer/SuggestionList.js +4 -219
  176. package/lib/module/chat-composer/SuggestionList.js.map +1 -1
  177. package/lib/module/chat-composer/SuggestionList.web.js +8 -0
  178. package/lib/module/chat-composer/SuggestionList.web.js.map +1 -0
  179. package/lib/module/chat-composer/VoiceRecorder.js +6 -260
  180. package/lib/module/chat-composer/VoiceRecorder.js.map +1 -1
  181. package/lib/module/chat-composer/VoiceRecorder.web.js +12 -0
  182. package/lib/module/chat-composer/VoiceRecorder.web.js.map +1 -0
  183. package/lib/module/chat-composer/create-attachment-menu.js +238 -0
  184. package/lib/module/chat-composer/create-attachment-menu.js.map +1 -0
  185. package/lib/module/chat-composer/create-chat-composer.js +395 -0
  186. package/lib/module/chat-composer/create-chat-composer.js.map +1 -0
  187. package/lib/module/chat-composer/create-composer-attachment-strip.js +206 -0
  188. package/lib/module/chat-composer/create-composer-attachment-strip.js.map +1 -0
  189. package/lib/module/chat-composer/create-composer-banner.js +171 -0
  190. package/lib/module/chat-composer/create-composer-banner.js.map +1 -0
  191. package/lib/module/chat-composer/create-emoji-picker.js +451 -0
  192. package/lib/module/chat-composer/create-emoji-picker.js.map +1 -0
  193. package/lib/module/chat-composer/create-message-context-menu.js +114 -0
  194. package/lib/module/chat-composer/create-message-context-menu.js.map +1 -0
  195. package/lib/module/chat-composer/create-reaction-picker.js +115 -0
  196. package/lib/module/chat-composer/create-reaction-picker.js.map +1 -0
  197. package/lib/module/chat-composer/create-suggestion-list.js +229 -0
  198. package/lib/module/chat-composer/create-suggestion-list.js.map +1 -0
  199. package/lib/module/chat-composer/create-voice-recorder.js +272 -0
  200. package/lib/module/chat-composer/create-voice-recorder.js.map +1 -0
  201. package/lib/module/chat-composer/index.js +9 -9
  202. package/lib/module/chat-composer/index.js.map +1 -1
  203. package/lib/module/chat-composer/index.web.js +9 -9
  204. package/lib/module/chat-composer/index.web.js.map +1 -1
  205. package/lib/module/chat-people/contact-row.js +10 -0
  206. package/lib/module/chat-people/contact-row.js.map +1 -0
  207. package/lib/module/chat-screen/ChatSplitLayout.js +1 -1
  208. package/lib/module/chat-screen/ChatSplitLayout.js.map +1 -1
  209. package/lib/module/earnings/EarningsSummary.js +12 -2
  210. package/lib/module/earnings/EarningsSummary.js.map +1 -1
  211. package/lib/module/field/Field.js +2 -0
  212. package/lib/module/field/Field.js.map +1 -1
  213. package/lib/module/item/Item.js +16 -8
  214. package/lib/module/item/Item.js.map +1 -1
  215. package/lib/module/job-board/JobCard.js +6 -2
  216. package/lib/module/job-board/JobCard.js.map +1 -1
  217. package/lib/module/label/Label.js +2 -1
  218. package/lib/module/label/Label.js.map +1 -1
  219. package/lib/module/listing-details/AmenityList.js +4 -3
  220. package/lib/module/listing-details/AmenityList.js.map +1 -1
  221. package/lib/module/locale/common-messages.js +30 -15
  222. package/lib/module/locale/common-messages.js.map +1 -1
  223. package/lib/module/mail-compose/MailComposeSurface.js +1 -1
  224. package/lib/module/mail-compose/MailComposeSurface.js.map +1 -1
  225. package/lib/module/overlay/InteractionBoundary.js +25 -0
  226. package/lib/module/overlay/InteractionBoundary.js.map +1 -0
  227. package/lib/module/payment-method/PaymentMethodList.js +3 -2
  228. package/lib/module/payment-method/PaymentMethodList.js.map +1 -1
  229. package/lib/module/place-details/PlaceAmenities.js +15 -4
  230. package/lib/module/place-details/PlaceAmenities.js.map +1 -1
  231. package/lib/module/place-details/PlacePopularTimes.js +7 -1
  232. package/lib/module/place-details/PlacePopularTimes.js.map +1 -1
  233. package/lib/module/proof-of-delivery/ProofOfDelivery.js +10 -1
  234. package/lib/module/proof-of-delivery/ProofOfDelivery.js.map +1 -1
  235. package/lib/module/proof-of-delivery/shared.js +1 -1
  236. package/lib/module/proof-of-delivery/shared.js.map +1 -1
  237. package/lib/module/select/Select.js +7 -4
  238. package/lib/module/select/Select.js.map +1 -1
  239. package/lib/module/select/Select.web.js +7 -4
  240. package/lib/module/select/Select.web.js.map +1 -1
  241. package/lib/module/select/use-required-description.js +33 -0
  242. package/lib/module/select/use-required-description.js.map +1 -0
  243. package/lib/module/settings-modal/rows.js +10 -0
  244. package/lib/module/settings-modal/rows.js.map +1 -0
  245. package/lib/typescript/commonjs/ai-chat/AiChatResizeHandle.d.ts +11 -0
  246. package/lib/typescript/commonjs/ai-chat/AiChatResizeHandle.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/ai-chat/AiChatShell.d.ts +1 -10
  248. package/lib/typescript/commonjs/ai-chat/AiChatShell.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/ai-chat/index.d.ts +2 -1
  250. package/lib/typescript/commonjs/ai-chat/index.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/ai-chat/index.web.d.ts +2 -1
  252. package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/ai-chat/messages.d.ts +0 -1
  254. package/lib/typescript/commonjs/ai-chat/messages.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
  256. package/lib/typescript/commonjs/card-form/shared.d.ts +2 -1
  257. package/lib/typescript/commonjs/card-form/shared.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.d.ts +1 -2
  259. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.web.d.ts +2 -0
  261. package/lib/typescript/commonjs/chat-composer/AttachmentMenu.web.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/chat-composer/ChatComposer.d.ts +1 -2
  263. package/lib/typescript/commonjs/chat-composer/ChatComposer.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/chat-composer/ChatComposer.web.d.ts +2 -0
  265. package/lib/typescript/commonjs/chat-composer/ChatComposer.web.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.d.ts +1 -2
  267. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.web.d.ts +2 -0
  269. package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.web.d.ts.map +1 -0
  270. package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts +1 -2
  271. package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/chat-composer/ComposerBanner.web.d.ts +2 -0
  273. package/lib/typescript/commonjs/chat-composer/ComposerBanner.web.d.ts.map +1 -0
  274. package/lib/typescript/commonjs/chat-composer/EmojiPicker.d.ts +1 -2
  275. package/lib/typescript/commonjs/chat-composer/EmojiPicker.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/chat-composer/EmojiPicker.web.d.ts +2 -0
  277. package/lib/typescript/commonjs/chat-composer/EmojiPicker.web.d.ts.map +1 -0
  278. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.d.ts +1 -2
  279. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.web.d.ts +2 -0
  281. package/lib/typescript/commonjs/chat-composer/MessageContextMenu.web.d.ts.map +1 -0
  282. package/lib/typescript/commonjs/chat-composer/ReactionPicker.d.ts +1 -2
  283. package/lib/typescript/commonjs/chat-composer/ReactionPicker.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/chat-composer/ReactionPicker.web.d.ts +2 -0
  285. package/lib/typescript/commonjs/chat-composer/ReactionPicker.web.d.ts.map +1 -0
  286. package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts +1 -2
  287. package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts +2 -0
  289. package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.d.ts +1 -2
  291. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.d.ts.map +1 -1
  292. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.web.d.ts +2 -0
  293. package/lib/typescript/commonjs/chat-composer/VoiceRecorder.web.d.ts.map +1 -0
  294. package/lib/typescript/commonjs/chat-composer/create-attachment-menu.d.ts +11 -0
  295. package/lib/typescript/commonjs/chat-composer/create-attachment-menu.d.ts.map +1 -0
  296. package/lib/typescript/commonjs/chat-composer/create-chat-composer.d.ts +11 -0
  297. package/lib/typescript/commonjs/chat-composer/create-chat-composer.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/chat-composer/create-composer-attachment-strip.d.ts +7 -0
  299. package/lib/typescript/commonjs/chat-composer/create-composer-attachment-strip.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/chat-composer/create-composer-banner.d.ts +7 -0
  301. package/lib/typescript/commonjs/chat-composer/create-composer-banner.d.ts.map +1 -0
  302. package/lib/typescript/commonjs/chat-composer/create-emoji-picker.d.ts +9 -0
  303. package/lib/typescript/commonjs/chat-composer/create-emoji-picker.d.ts.map +1 -0
  304. package/lib/typescript/commonjs/chat-composer/create-message-context-menu.d.ts +14 -0
  305. package/lib/typescript/commonjs/chat-composer/create-message-context-menu.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/chat-composer/create-reaction-picker.d.ts +9 -0
  307. package/lib/typescript/commonjs/chat-composer/create-reaction-picker.d.ts.map +1 -0
  308. package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts +7 -0
  309. package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/chat-composer/create-voice-recorder.d.ts +11 -0
  311. package/lib/typescript/commonjs/chat-composer/create-voice-recorder.d.ts.map +1 -0
  312. package/lib/typescript/commonjs/chat-composer/index.web.d.ts +9 -9
  313. package/lib/typescript/commonjs/chat-composer/index.web.d.ts.map +1 -1
  314. package/lib/typescript/commonjs/chat-people/contact-row.d.ts +9 -0
  315. package/lib/typescript/commonjs/chat-people/contact-row.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/earnings/EarningsSummary.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/field/Field.d.ts +1 -1
  318. package/lib/typescript/commonjs/field/Field.d.ts.map +1 -1
  319. package/lib/typescript/commonjs/field/types.d.ts +2 -0
  320. package/lib/typescript/commonjs/field/types.d.ts.map +1 -1
  321. package/lib/typescript/commonjs/floating/types.d.ts +1 -0
  322. package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
  323. package/lib/typescript/commonjs/item/Item.d.ts.map +1 -1
  324. package/lib/typescript/commonjs/job-board/JobCard.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/label/Label.d.ts +1 -1
  326. package/lib/typescript/commonjs/label/Label.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/label/types.d.ts +2 -0
  328. package/lib/typescript/commonjs/label/types.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/listing-details/AmenityList.d.ts.map +1 -1
  330. package/lib/typescript/commonjs/locale/common-messages.d.ts +2 -0
  331. package/lib/typescript/commonjs/locale/common-messages.d.ts.map +1 -1
  332. package/lib/typescript/commonjs/overlay/InteractionBoundary.d.ts +7 -0
  333. package/lib/typescript/commonjs/overlay/InteractionBoundary.d.ts.map +1 -0
  334. package/lib/typescript/commonjs/payment-method/PaymentMethodList.d.ts.map +1 -1
  335. package/lib/typescript/commonjs/place-details/PlaceAmenities.d.ts.map +1 -1
  336. package/lib/typescript/commonjs/place-details/PlacePopularTimes.d.ts.map +1 -1
  337. package/lib/typescript/commonjs/proof-of-delivery/ProofOfDelivery.d.ts.map +1 -1
  338. package/lib/typescript/commonjs/select/Select.d.ts.map +1 -1
  339. package/lib/typescript/commonjs/select/Select.web.d.ts.map +1 -1
  340. package/lib/typescript/commonjs/select/use-required-description.d.ts +7 -0
  341. package/lib/typescript/commonjs/select/use-required-description.d.ts.map +1 -0
  342. package/lib/typescript/commonjs/settings-modal/rows.d.ts +9 -0
  343. package/lib/typescript/commonjs/settings-modal/rows.d.ts.map +1 -0
  344. package/lib/typescript/module/ai-chat/AiChatResizeHandle.d.ts +11 -0
  345. package/lib/typescript/module/ai-chat/AiChatResizeHandle.d.ts.map +1 -0
  346. package/lib/typescript/module/ai-chat/AiChatShell.d.ts +1 -10
  347. package/lib/typescript/module/ai-chat/AiChatShell.d.ts.map +1 -1
  348. package/lib/typescript/module/ai-chat/index.d.ts +2 -1
  349. package/lib/typescript/module/ai-chat/index.d.ts.map +1 -1
  350. package/lib/typescript/module/ai-chat/index.web.d.ts +2 -1
  351. package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
  352. package/lib/typescript/module/ai-chat/messages.d.ts +0 -1
  353. package/lib/typescript/module/ai-chat/messages.d.ts.map +1 -1
  354. package/lib/typescript/module/button/Button.d.ts.map +1 -1
  355. package/lib/typescript/module/card-form/shared.d.ts +2 -1
  356. package/lib/typescript/module/card-form/shared.d.ts.map +1 -1
  357. package/lib/typescript/module/chat-composer/AttachmentMenu.d.ts +1 -2
  358. package/lib/typescript/module/chat-composer/AttachmentMenu.d.ts.map +1 -1
  359. package/lib/typescript/module/chat-composer/AttachmentMenu.web.d.ts +2 -0
  360. package/lib/typescript/module/chat-composer/AttachmentMenu.web.d.ts.map +1 -0
  361. package/lib/typescript/module/chat-composer/ChatComposer.d.ts +1 -2
  362. package/lib/typescript/module/chat-composer/ChatComposer.d.ts.map +1 -1
  363. package/lib/typescript/module/chat-composer/ChatComposer.web.d.ts +2 -0
  364. package/lib/typescript/module/chat-composer/ChatComposer.web.d.ts.map +1 -0
  365. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.d.ts +1 -2
  366. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.d.ts.map +1 -1
  367. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.web.d.ts +2 -0
  368. package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.web.d.ts.map +1 -0
  369. package/lib/typescript/module/chat-composer/ComposerBanner.d.ts +1 -2
  370. package/lib/typescript/module/chat-composer/ComposerBanner.d.ts.map +1 -1
  371. package/lib/typescript/module/chat-composer/ComposerBanner.web.d.ts +2 -0
  372. package/lib/typescript/module/chat-composer/ComposerBanner.web.d.ts.map +1 -0
  373. package/lib/typescript/module/chat-composer/EmojiPicker.d.ts +1 -2
  374. package/lib/typescript/module/chat-composer/EmojiPicker.d.ts.map +1 -1
  375. package/lib/typescript/module/chat-composer/EmojiPicker.web.d.ts +2 -0
  376. package/lib/typescript/module/chat-composer/EmojiPicker.web.d.ts.map +1 -0
  377. package/lib/typescript/module/chat-composer/MessageContextMenu.d.ts +1 -2
  378. package/lib/typescript/module/chat-composer/MessageContextMenu.d.ts.map +1 -1
  379. package/lib/typescript/module/chat-composer/MessageContextMenu.web.d.ts +2 -0
  380. package/lib/typescript/module/chat-composer/MessageContextMenu.web.d.ts.map +1 -0
  381. package/lib/typescript/module/chat-composer/ReactionPicker.d.ts +1 -2
  382. package/lib/typescript/module/chat-composer/ReactionPicker.d.ts.map +1 -1
  383. package/lib/typescript/module/chat-composer/ReactionPicker.web.d.ts +2 -0
  384. package/lib/typescript/module/chat-composer/ReactionPicker.web.d.ts.map +1 -0
  385. package/lib/typescript/module/chat-composer/SuggestionList.d.ts +1 -2
  386. package/lib/typescript/module/chat-composer/SuggestionList.d.ts.map +1 -1
  387. package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts +2 -0
  388. package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts.map +1 -0
  389. package/lib/typescript/module/chat-composer/VoiceRecorder.d.ts +1 -2
  390. package/lib/typescript/module/chat-composer/VoiceRecorder.d.ts.map +1 -1
  391. package/lib/typescript/module/chat-composer/VoiceRecorder.web.d.ts +2 -0
  392. package/lib/typescript/module/chat-composer/VoiceRecorder.web.d.ts.map +1 -0
  393. package/lib/typescript/module/chat-composer/create-attachment-menu.d.ts +11 -0
  394. package/lib/typescript/module/chat-composer/create-attachment-menu.d.ts.map +1 -0
  395. package/lib/typescript/module/chat-composer/create-chat-composer.d.ts +11 -0
  396. package/lib/typescript/module/chat-composer/create-chat-composer.d.ts.map +1 -0
  397. package/lib/typescript/module/chat-composer/create-composer-attachment-strip.d.ts +7 -0
  398. package/lib/typescript/module/chat-composer/create-composer-attachment-strip.d.ts.map +1 -0
  399. package/lib/typescript/module/chat-composer/create-composer-banner.d.ts +7 -0
  400. package/lib/typescript/module/chat-composer/create-composer-banner.d.ts.map +1 -0
  401. package/lib/typescript/module/chat-composer/create-emoji-picker.d.ts +9 -0
  402. package/lib/typescript/module/chat-composer/create-emoji-picker.d.ts.map +1 -0
  403. package/lib/typescript/module/chat-composer/create-message-context-menu.d.ts +14 -0
  404. package/lib/typescript/module/chat-composer/create-message-context-menu.d.ts.map +1 -0
  405. package/lib/typescript/module/chat-composer/create-reaction-picker.d.ts +9 -0
  406. package/lib/typescript/module/chat-composer/create-reaction-picker.d.ts.map +1 -0
  407. package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts +7 -0
  408. package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts.map +1 -0
  409. package/lib/typescript/module/chat-composer/create-voice-recorder.d.ts +11 -0
  410. package/lib/typescript/module/chat-composer/create-voice-recorder.d.ts.map +1 -0
  411. package/lib/typescript/module/chat-composer/index.web.d.ts +9 -9
  412. package/lib/typescript/module/chat-composer/index.web.d.ts.map +1 -1
  413. package/lib/typescript/module/chat-people/contact-row.d.ts +9 -0
  414. package/lib/typescript/module/chat-people/contact-row.d.ts.map +1 -0
  415. package/lib/typescript/module/earnings/EarningsSummary.d.ts.map +1 -1
  416. package/lib/typescript/module/field/Field.d.ts +1 -1
  417. package/lib/typescript/module/field/Field.d.ts.map +1 -1
  418. package/lib/typescript/module/field/types.d.ts +2 -0
  419. package/lib/typescript/module/field/types.d.ts.map +1 -1
  420. package/lib/typescript/module/floating/types.d.ts +1 -0
  421. package/lib/typescript/module/floating/types.d.ts.map +1 -1
  422. package/lib/typescript/module/item/Item.d.ts.map +1 -1
  423. package/lib/typescript/module/job-board/JobCard.d.ts.map +1 -1
  424. package/lib/typescript/module/label/Label.d.ts +1 -1
  425. package/lib/typescript/module/label/Label.d.ts.map +1 -1
  426. package/lib/typescript/module/label/types.d.ts +2 -0
  427. package/lib/typescript/module/label/types.d.ts.map +1 -1
  428. package/lib/typescript/module/listing-details/AmenityList.d.ts.map +1 -1
  429. package/lib/typescript/module/locale/common-messages.d.ts +2 -0
  430. package/lib/typescript/module/locale/common-messages.d.ts.map +1 -1
  431. package/lib/typescript/module/overlay/InteractionBoundary.d.ts +7 -0
  432. package/lib/typescript/module/overlay/InteractionBoundary.d.ts.map +1 -0
  433. package/lib/typescript/module/payment-method/PaymentMethodList.d.ts.map +1 -1
  434. package/lib/typescript/module/place-details/PlaceAmenities.d.ts.map +1 -1
  435. package/lib/typescript/module/place-details/PlacePopularTimes.d.ts.map +1 -1
  436. package/lib/typescript/module/proof-of-delivery/ProofOfDelivery.d.ts.map +1 -1
  437. package/lib/typescript/module/select/Select.d.ts.map +1 -1
  438. package/lib/typescript/module/select/Select.web.d.ts.map +1 -1
  439. package/lib/typescript/module/select/use-required-description.d.ts +7 -0
  440. package/lib/typescript/module/select/use-required-description.d.ts.map +1 -0
  441. package/lib/typescript/module/settings-modal/rows.d.ts +9 -0
  442. package/lib/typescript/module/settings-modal/rows.d.ts.map +1 -0
  443. package/package.json +35 -1
  444. package/src/ai-chat/AiChatResizeHandle.tsx +151 -0
  445. package/src/ai-chat/AiChatShell.tsx +8 -143
  446. package/src/ai-chat/index.ts +2 -1
  447. package/src/ai-chat/index.web.ts +2 -1
  448. package/src/ai-chat/messages.ts +0 -16
  449. package/src/app-shell/AppShellSplit.tsx +1 -1
  450. package/src/button/Button.tsx +35 -10
  451. package/src/button/GlyphButton.tsx +3 -3
  452. package/src/card-form/shared.ts +3 -2
  453. package/src/chat-composer/AttachmentMenu.tsx +2 -214
  454. package/src/chat-composer/AttachmentMenu.web.tsx +5 -0
  455. package/src/chat-composer/ChatComposer.tsx +2 -459
  456. package/src/chat-composer/ChatComposer.web.tsx +6 -0
  457. package/src/chat-composer/ComposerAttachmentStrip.tsx +2 -202
  458. package/src/chat-composer/ComposerAttachmentStrip.web.tsx +4 -0
  459. package/src/chat-composer/ComposerBanner.tsx +2 -157
  460. package/src/chat-composer/ComposerBanner.web.tsx +4 -0
  461. package/src/chat-composer/EmojiPicker.tsx +2 -402
  462. package/src/chat-composer/EmojiPicker.web.tsx +5 -0
  463. package/src/chat-composer/MessageContextMenu.tsx +2 -88
  464. package/src/chat-composer/MessageContextMenu.web.tsx +12 -0
  465. package/src/chat-composer/ReactionPicker.tsx +2 -100
  466. package/src/chat-composer/ReactionPicker.web.tsx +5 -0
  467. package/src/chat-composer/SuggestionList.tsx +2 -209
  468. package/src/chat-composer/SuggestionList.web.tsx +4 -0
  469. package/src/chat-composer/VoiceRecorder.tsx +2 -287
  470. package/src/chat-composer/VoiceRecorder.web.tsx +6 -0
  471. package/src/chat-composer/create-attachment-menu.tsx +228 -0
  472. package/src/chat-composer/create-chat-composer.tsx +473 -0
  473. package/src/chat-composer/create-composer-attachment-strip.tsx +212 -0
  474. package/src/chat-composer/create-composer-banner.tsx +167 -0
  475. package/src/chat-composer/create-emoji-picker.tsx +414 -0
  476. package/src/chat-composer/create-message-context-menu.tsx +112 -0
  477. package/src/chat-composer/create-reaction-picker.tsx +112 -0
  478. package/src/chat-composer/create-suggestion-list.tsx +219 -0
  479. package/src/chat-composer/create-voice-recorder.tsx +301 -0
  480. package/src/chat-composer/index.web.ts +9 -9
  481. package/src/chat-people/contact-row.ts +8 -0
  482. package/src/chat-screen/ChatSplitLayout.tsx +1 -1
  483. package/src/earnings/EarningsSummary.tsx +9 -2
  484. package/src/field/Field.tsx +2 -1
  485. package/src/field/types.ts +2 -0
  486. package/src/floating/types.ts +1 -0
  487. package/src/item/Item.tsx +16 -11
  488. package/src/job-board/JobCard.tsx +4 -1
  489. package/src/label/Label.tsx +2 -1
  490. package/src/label/types.ts +2 -0
  491. package/src/listing-details/AmenityList.tsx +4 -3
  492. package/src/locale/common-messages.ts +17 -0
  493. package/src/overlay/InteractionBoundary.tsx +24 -0
  494. package/src/payment-method/PaymentMethodList.tsx +2 -1
  495. package/src/place-details/PlaceAmenities.tsx +9 -0
  496. package/src/place-details/PlacePopularTimes.tsx +7 -1
  497. package/src/proof-of-delivery/ProofOfDelivery.tsx +9 -1
  498. package/src/proof-of-delivery/shared.ts +1 -1
  499. package/src/select/Select.tsx +5 -1
  500. package/src/select/Select.web.tsx +5 -1
  501. package/src/select/use-required-description.tsx +20 -0
  502. package/src/settings-modal/rows.ts +21 -0
@@ -1,3 +1,4 @@
1
+ import { InteractionBoundary } from '../overlay/InteractionBoundary';
1
2
  import React, { memo, useEffect, useMemo } from 'react';
2
3
  import { Pressable, StyleSheet, View, type TextStyle } from 'react-native';
3
4
 
@@ -365,7 +366,9 @@ function JobCardComponent({
365
366
 
366
367
  const hasOwnActions = onTake !== undefined || onPass !== undefined;
367
368
  const actionRow =
368
- actions ??
369
+ actions != null ? (
370
+ <InteractionBoundary disabled={inert}>{actions}</InteractionBoundary>
371
+ ) :
369
372
  (!hasOwnActions ? null : (
370
373
  <View style={{ flexDirection: 'row', alignItems: 'center', gap: 8 }} testID={id('actions')}>
371
374
  {onPass && !closed ? (
@@ -37,6 +37,7 @@ const LabelComponent = function Label({
37
37
  nativeID,
38
38
  htmlFor,
39
39
  required = false,
40
+ requiredLabel,
40
41
  disabled = false,
41
42
  size: sizeProp,
42
43
  style,
@@ -69,7 +70,7 @@ const LabelComponent = function Label({
69
70
  {required ? (
70
71
  <Text
71
72
  variant={SIZE_VARIANT[size]}
72
- accessibilityLabel={messages.required}
73
+ accessibilityLabel={requiredLabel ?? messages.required}
73
74
  // `gap-0.5`: an inline margin on web; a nested native
74
75
  // `Text` ignores margins, so a thin space stands in for it there.
75
76
  style={[{ color: palette.error }, IS_WEB ? { marginLeft: TEXT_FIELD_LEADING_GAP } : null]}>
@@ -24,6 +24,8 @@ export interface LabelProps {
24
24
  * after the label text. Defaults to `false`.
25
25
  */
26
26
  required?: boolean;
27
+ /** Accessible name of the required marker; defaults to the current locale. */
28
+ requiredLabel?: string;
27
29
  /** Visually subdued label (e.g. for optional fields). Defaults to `false`. */
28
30
  disabled?: boolean;
29
31
  /**
@@ -5,7 +5,7 @@ import { Button } from '../button';
5
5
  import { useTheme } from '../theme/use-theme';
6
6
  import { Text } from '../typography';
7
7
  import { AMENITY_LIST_TWO_COLUMN_MIN_WIDTH } from './constants';
8
- import { resolveListingPalette } from './shared';
8
+ import { surfaceTextOn, useSurfaceFill } from '../styles/surface-levels';
9
9
  import { useMessages } from '../locale/messages';
10
10
  import { LISTING_DETAILS_MESSAGES } from './messages';
11
11
  import type { AmenityListProps } from './types';
@@ -39,7 +39,8 @@ function AmenityListComponent({
39
39
  const { messages } = useMessages(LISTING_DETAILS_MESSAGES);
40
40
  const unavailableLabel = unavailableLabelProp ?? messages.unavailable;
41
41
  const theme = useTheme();
42
- const palette = useMemo(() => resolveListingPalette(theme), [theme]);
42
+ const surface = useSurfaceFill();
43
+ const palette = useMemo(() => surfaceTextOn(theme, surface), [theme, surface]);
43
44
  const { width, onLayout } = useContainerWidth();
44
45
 
45
46
  const count =
@@ -70,7 +71,7 @@ function AmenityListComponent({
70
71
  }}
71
72
  >
72
73
  {Icon ? (
73
- <Icon width={24} height={24} fill={available ? palette.text : palette.muted} />
74
+ <Icon width={24} height={24} fill={available ? palette.text : palette.textTertiary} />
74
75
  ) : null}
75
76
  <View style={{ flex: 1, minWidth: 0, gap: 2 }}>
76
77
  <Text
@@ -48,6 +48,8 @@ export interface CommonMessages {
48
48
  send: string;
49
49
  clear: string;
50
50
  seeAll: string;
51
+ /** The divider between two resizable panes (`AiChatResizeHandle`). */
52
+ resizePanels: string;
51
53
  }
52
54
 
53
55
  export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
@@ -83,6 +85,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
83
85
  send: 'Send',
84
86
  clear: 'Clear',
85
87
  seeAll: 'See all',
88
+ resizePanels: 'Resize panels',
86
89
  },
87
90
  es: {
88
91
  close: 'Cerrar',
@@ -116,6 +119,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
116
119
  send: 'Enviar',
117
120
  clear: 'Borrar',
118
121
  seeAll: 'Ver todo',
122
+ resizePanels: 'Cambiar tamaño de los paneles',
119
123
  },
120
124
  ca: {
121
125
  close: 'Tanca',
@@ -149,6 +153,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
149
153
  send: 'Envia',
150
154
  clear: 'Esborra',
151
155
  seeAll: 'Mostra-ho tot',
156
+ resizePanels: 'Canvia la mida dels taulers',
152
157
  },
153
158
  de: {
154
159
  close: 'Schließen',
@@ -182,6 +187,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
182
187
  send: 'Senden',
183
188
  clear: 'Leeren',
184
189
  seeAll: 'Alle anzeigen',
190
+ resizePanels: 'Bereichsgröße ändern',
185
191
  },
186
192
  fr: {
187
193
  close: 'Fermer',
@@ -215,6 +221,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
215
221
  send: 'Envoyer',
216
222
  clear: 'Effacer',
217
223
  seeAll: 'Tout afficher',
224
+ resizePanels: 'Redimensionner les panneaux',
218
225
  },
219
226
  it: {
220
227
  close: 'Chiudi',
@@ -248,6 +255,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
248
255
  send: 'Invia',
249
256
  clear: 'Cancella',
250
257
  seeAll: 'Mostra tutto',
258
+ resizePanels: 'Ridimensiona pannelli',
251
259
  },
252
260
  pt: {
253
261
  close: 'Fechar',
@@ -281,6 +289,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
281
289
  send: 'Enviar',
282
290
  clear: 'Limpar',
283
291
  seeAll: 'Ver tudo',
292
+ resizePanels: 'Redimensionar painéis',
284
293
  },
285
294
  ru: {
286
295
  close: 'Закрыть',
@@ -314,6 +323,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
314
323
  send: 'Отправить',
315
324
  clear: 'Очистить',
316
325
  seeAll: 'Показать все',
326
+ resizePanels: 'Изменить размер панелей',
317
327
  },
318
328
  tr: {
319
329
  close: 'Kapat',
@@ -347,6 +357,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
347
357
  send: 'Gönder',
348
358
  clear: 'Temizle',
349
359
  seeAll: 'Tümünü gör',
360
+ resizePanels: 'Panelleri yeniden boyutlandır',
350
361
  },
351
362
  ja: {
352
363
  close: '閉じる',
@@ -380,6 +391,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
380
391
  send: '送信',
381
392
  clear: 'クリア',
382
393
  seeAll: 'すべて表示',
394
+ resizePanels: 'パネルのサイズを変更',
383
395
  },
384
396
  zh: {
385
397
  close: '关闭',
@@ -413,6 +425,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
413
425
  send: '发送',
414
426
  clear: '清除',
415
427
  seeAll: '查看全部',
428
+ resizePanels: '调整面板大小',
416
429
  },
417
430
  ar: {
418
431
  close: 'إغلاق',
@@ -446,6 +459,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
446
459
  send: 'إرسال',
447
460
  clear: 'مسح',
448
461
  seeAll: 'عرض الكل',
462
+ resizePanels: 'تغيير حجم اللوحات',
449
463
  },
450
464
  hi: {
451
465
  close: 'बंद करें',
@@ -479,6 +493,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
479
493
  send: 'भेजें',
480
494
  clear: 'साफ़ करें',
481
495
  seeAll: 'सभी देखें',
496
+ resizePanels: 'पैनल का आकार बदलें',
482
497
  },
483
498
  bn: {
484
499
  close: 'বন্ধ করুন',
@@ -512,6 +527,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
512
527
  send: 'পাঠান',
513
528
  clear: 'মুছে ফেলুন',
514
529
  seeAll: 'সব দেখুন',
530
+ resizePanels: 'প্যানেলের আকার বদলান',
515
531
  },
516
532
  id: {
517
533
  close: 'Tutup',
@@ -545,6 +561,7 @@ export const COMMON_MESSAGES: MessageCatalog<CommonMessages> = {
545
561
  send: 'Kirim',
546
562
  clear: 'Bersihkan',
547
563
  seeAll: 'Lihat semua',
564
+ resizePanels: 'Ubah ukuran panel',
548
565
  },
549
566
  };
550
567
 
@@ -0,0 +1,24 @@
1
+ import type { ReactNode } from 'react';
2
+ import { Platform, View } from 'react-native';
3
+
4
+ /** Stops interaction with caller-owned actions, including web keyboard focus. */
5
+ export function InteractionBoundary({
6
+ disabled,
7
+ children,
8
+ }: {
9
+ disabled: boolean;
10
+ children: ReactNode;
11
+ }) {
12
+ return (
13
+ <View
14
+ collapsable={false}
15
+ style={Platform.OS === 'web' ? { display: 'contents' } : undefined}
16
+ pointerEvents={disabled ? 'none' : 'auto'}
17
+ accessibilityElementsHidden={disabled}
18
+ importantForAccessibility={disabled ? 'no-hide-descendants' : 'auto'}
19
+ {...(Platform.OS === 'web' && disabled ? { inert: true } : null)}
20
+ >
21
+ {children}
22
+ </View>
23
+ );
24
+ }
@@ -210,7 +210,7 @@ function PaymentMethodListComponent({
210
210
  state={entry.state}
211
211
  stateMessage={entry.stateMessage}
212
212
  action={entry.action}
213
- disabled={isDisabled || entry.disabled === true}
213
+ disabled={isDisabled || entry.disabled === true || (picker && entry.state != null && entry.state !== 'ok')}
214
214
  density={density}
215
215
  accessibilityLabel={entry.accessibilityLabel}
216
216
  style={entry.style}
@@ -239,6 +239,7 @@ function PaymentMethodListComponent({
239
239
  aria-label={name}
240
240
  aria-describedby={field.describedBy}
241
241
  aria-invalid={field.invalid || undefined}
242
+ aria-required={field.required || undefined}
242
243
  // A `View` has no `disabled` prop for react-native-web to derive
243
244
  // `aria-disabled` from, and it never reads `accessibilityState`.
244
245
  aria-disabled={isDisabled || undefined}
@@ -1,6 +1,8 @@
1
1
  import React, { memo, useMemo } from 'react';
2
2
  import { View } from 'react-native';
3
3
 
4
+ import { Button } from '../button';
5
+ import { LISTING_DETAILS_MESSAGES } from '../listing-details/messages';
4
6
  import { Chip } from '../chip';
5
7
  import { AmenityList } from '../listing-details/AmenityList';
6
8
  import type { Amenity } from '../listing-details/types';
@@ -47,6 +49,7 @@ function PlaceAmenitiesComponent({
47
49
  testID,
48
50
  }: PlaceAmenitiesProps) {
49
51
  const { messages } = useMessages(PLACE_DETAILS_MESSAGES);
52
+ const { messages: listingMessages } = useMessages(LISTING_DETAILS_MESSAGES);
50
53
  const unavailableLabel = unavailableLabelProp ?? messages.notAvailable;
51
54
  const accessibilityLabel = accessibilityLabelProp ?? messages.amenities;
52
55
  const theme = useTheme();
@@ -81,6 +84,7 @@ function PlaceAmenitiesComponent({
81
84
  }
82
85
 
83
86
  const shown = limit != null && limit >= 0 ? items.slice(0, limit) : items;
87
+ const fullCount = Math.max(total ?? items.length, items.length);
84
88
 
85
89
  return (
86
90
  <View
@@ -119,6 +123,11 @@ function PlaceAmenitiesComponent({
119
123
  </Chip>
120
124
  </View>
121
125
  ))}
126
+ {onShowAll && fullCount > shown.length ? (
127
+ <Button variant="secondary" onPress={onShowAll} testID={testID ? `${testID}-show-all` : undefined}>
128
+ {showAllLabel ? showAllLabel(fullCount) : listingMessages.showAllAmenities(fullCount)}
129
+ </Button>
130
+ ) : null}
122
131
  </View>
123
132
  );
124
133
  }
@@ -127,7 +127,7 @@ function PlacePopularTimesComponent({
127
127
  type="radio"
128
128
  size="small"
129
129
  label={daysLabel}
130
- value={selected}
130
+ value={current?.id ?? ''}
131
131
  onValueChange={setSelected}
132
132
  testID={testID ? `${testID}-days` : undefined}
133
133
  >
@@ -242,8 +242,14 @@ function PlacePopularTimesComponent({
242
242
  // centred on a band that starts at the edge, and a 40-wide
243
243
  // slot centred there would hang outside the block.
244
244
  const left = Math.max(0, Math.min((width ?? 0) - LABEL_SLOT, centre - LABEL_SLOT / 2));
245
+ if (currentIndex != null && index !== currentIndex) {
246
+ const currentCentre = currentIndex * band + band / 2;
247
+ const currentLeft = Math.max(0, Math.min((width ?? 0) - LABEL_SLOT, currentCentre - LABEL_SLOT / 2));
248
+ if (Math.abs(left - currentLeft) < LABEL_SLOT) return null;
249
+ }
245
250
  return (
246
251
  <Text
252
+ testID={testID ? `${testID}-hour-${index}` : undefined}
247
253
  key={`label-${index}`}
248
254
  variant="caption-2-regular"
249
255
  numberOfLines={1}
@@ -8,6 +8,7 @@ import { useControllableState } from '../hooks/use-controllable-state';
8
8
  import { InputOtp } from '../input-otp';
9
9
  import { useMessages } from '../locale/messages';
10
10
  import { SortablePhotoGrid } from '../sortable-media';
11
+ import { InteractionBoundary } from '../overlay/InteractionBoundary';
11
12
  import { useSurfaceFill } from '../styles/surface-levels';
12
13
  import { TextFieldInput } from '../text-field';
13
14
  import { Textarea } from '../textarea';
@@ -138,6 +139,7 @@ function ProofOfDeliveryComponent({
138
139
  key={kind}
139
140
  label={labels.recipient}
140
141
  required={isRequired(kind)}
142
+ requiredLabel={labelOverrides?.required}
141
143
  error={errorFor(kind)}
142
144
  disabled={disabled}
143
145
  >
@@ -157,6 +159,7 @@ function ProofOfDeliveryComponent({
157
159
  key={kind}
158
160
  label={labels.signature}
159
161
  required={isRequired(kind)}
162
+ requiredLabel={labelOverrides?.required}
160
163
  error={errorFor(kind)}
161
164
  disabled={disabled}
162
165
  // The pad AND the typed name: one id on two controls is invalid.
@@ -179,6 +182,7 @@ function ProofOfDeliveryComponent({
179
182
  label={labels.code}
180
183
  description={labels.codeHint}
181
184
  required={isRequired(kind)}
185
+ requiredLabel={labelOverrides?.required}
182
186
  error={errorFor(kind)}
183
187
  disabled={disabled}
184
188
  multiple
@@ -199,6 +203,7 @@ function ProofOfDeliveryComponent({
199
203
  label={labels.photo}
200
204
  description={labels.photoHint}
201
205
  required={isRequired(kind)}
206
+ requiredLabel={labelOverrides?.required}
202
207
  error={errorFor(kind)}
203
208
  disabled={disabled}
204
209
  multiple
@@ -224,6 +229,7 @@ function ProofOfDeliveryComponent({
224
229
  key={kind}
225
230
  label={labels.note}
226
231
  required={isRequired(kind)}
232
+ requiredLabel={labelOverrides?.required}
227
233
  error={errorFor(kind)}
228
234
  disabled={disabled}
229
235
  >
@@ -286,7 +292,9 @@ function ProofOfDeliveryComponent({
286
292
 
287
293
  {summary}
288
294
 
289
- {actions ?? (
295
+ {actions != null ? (
296
+ <InteractionBoundary disabled={disabled || submitting}>{actions}</InteractionBoundary>
297
+ ) : (
290
298
  <Button
291
299
  variant="primary"
292
300
  size="large"
@@ -157,7 +157,7 @@ export function isProofGiven(
157
157
  case 'signature':
158
158
  return isSignatureGiven(value.signature);
159
159
  case 'photo':
160
- return value.photos.length > 0;
160
+ return value.photos.some((photo) => photo.status == null || photo.status === 'uploaded');
161
161
  case 'code':
162
162
  return value.code.length >= codeLength;
163
163
  case 'recipient':
@@ -1,3 +1,4 @@
1
+ import { useRequiredDescription } from './use-required-description';
1
2
  import { useBloomAppearance } from '../appearance';
2
3
  import React, {
3
4
  createContext,
@@ -149,6 +150,7 @@ export function SelectTrigger({
149
150
  accessibilityLabel: label,
150
151
  disabled: disabled === true || rootDisabled === true,
151
152
  });
153
+ const requiredDescription = useRequiredDescription(membership.required, membership.describedBy);
152
154
  const isDisabled = membership.disabled;
153
155
  const t = palette.trigger;
154
156
 
@@ -191,11 +193,13 @@ export function SelectTrigger({
191
193
  accessibilityRole: 'button',
192
194
  'aria-haspopup': SELECT_TRIGGER_POPUP,
193
195
  nativeID: membership.nativeID,
194
- 'aria-describedby': membership.describedBy,
196
+ 'aria-describedby': requiredDescription.describedBy,
197
+ accessibilityHint: requiredDescription.hint,
195
198
  'aria-invalid': membership.invalid || undefined,
196
199
  }}>
197
200
  {asChild ? children : field}
198
201
  </TriggerSlot>
202
+ {requiredDescription.description}
199
203
  </SelectTriggerStateContext.Provider>
200
204
  );
201
205
  }
@@ -1,3 +1,4 @@
1
+ import { useRequiredDescription } from './use-required-description';
1
2
  import { useBloomAppearance } from '../appearance';
2
3
  import React, {
3
4
  createContext,
@@ -247,6 +248,7 @@ export function SelectTrigger({
247
248
  accessibilityLabel: label,
248
249
  disabled: disabled === true || ctx.disabled === true,
249
250
  });
251
+ const requiredDescription = useRequiredDescription(membership.required, membership.describedBy);
250
252
  const isDisabled = membership.disabled;
251
253
  useEffect(() => {
252
254
  adoptStyleSheet(TRIGGER_STYLE_ID, TRIGGER_CSS);
@@ -333,12 +335,14 @@ export function SelectTrigger({
333
335
  'aria-haspopup': SELECT_TRIGGER_POPUP,
334
336
  'aria-expanded': ctx.isOpen,
335
337
  nativeID: membership.nativeID,
336
- 'aria-describedby': membership.describedBy,
338
+ 'aria-describedby': requiredDescription.describedBy,
339
+ accessibilityHint: requiredDescription.hint,
337
340
  'aria-invalid': membership.invalid || undefined,
338
341
  }}
339
342
  >
340
343
  {asChild ? children : field}
341
344
  </TriggerSlot>
345
+ {requiredDescription.description}
342
346
  </SelectTriggerStateContext.Provider>
343
347
  );
344
348
  }
@@ -0,0 +1,20 @@
1
+ import React, { useId } from 'react';
2
+ import { Platform, Text } from 'react-native';
3
+ import { LABEL_MESSAGES } from '../label/messages';
4
+ import { useMessages } from '../locale/messages';
5
+
6
+ /** A menu button cannot carry aria-required; announce the field constraint as a description. */
7
+ export function useRequiredDescription(required: boolean, describedBy?: string) {
8
+ const id = `select-required-${useId()}`;
9
+ const { messages } = useMessages(LABEL_MESSAGES);
10
+ return {
11
+ describedBy: [describedBy, required ? id : undefined].filter(Boolean).join(' ') || undefined,
12
+ hint: required ? messages.required : undefined,
13
+ description: required && Platform.OS === 'web' ? (
14
+ <Text nativeID={id} aria-hidden pointerEvents="none"
15
+ style={{ position: 'absolute', width: 1, height: 1, overflow: 'hidden', opacity: 0 }}>
16
+ {messages.required}
17
+ </Text>
18
+ ) : null,
19
+ };
20
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Lightweight entry for settings rows drawn outside the dialog — a preference
3
+ * card on a screen or in a sheet. Same components as `settings-modal`, without
4
+ * linking `SettingsModal`, the storage/tools/plan pages or the date field's
5
+ * calendar in Metro, which does not tree-shake barrel exports.
6
+ */
7
+ export {
8
+ SettingsCard,
9
+ SettingsRow,
10
+ SettingsSection,
11
+ SettingsSectionLabel,
12
+ SettingsValueField,
13
+ } from './SettingsRows';
14
+ export type {
15
+ SettingsCardProps,
16
+ SettingsIcon,
17
+ SettingsRowProps,
18
+ SettingsSectionLabelProps,
19
+ SettingsSectionProps,
20
+ SettingsValueFieldProps,
21
+ } from './types';