@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.
- package/docs/adoption-matrix.mdx +9 -9
- package/docs/button.mdx +2 -0
- package/docs/card-form.mdx +2 -0
- package/docs/chat-composer.mdx +1 -1
- package/docs/earnings.mdx +2 -0
- package/docs/field.mdx +2 -0
- package/docs/label.mdx +2 -0
- package/docs/payment-method.mdx +2 -0
- package/docs/place-details.mdx +2 -2
- package/docs/proof-of-delivery.mdx +4 -0
- package/docs/select.mdx +2 -0
- package/lib/commonjs/button/Button.js +36 -3
- package/lib/commonjs/button/Button.js.map +1 -1
- package/lib/commonjs/button/GlyphButton.js +7 -3
- package/lib/commonjs/button/GlyphButton.js.map +1 -1
- package/lib/commonjs/card-form/shared.js +3 -2
- package/lib/commonjs/card-form/shared.js.map +1 -1
- package/lib/commonjs/chat-composer/AttachmentMenu.js +8 -227
- package/lib/commonjs/chat-composer/AttachmentMenu.js.map +1 -1
- package/lib/commonjs/chat-composer/AttachmentMenu.web.js +16 -0
- package/lib/commonjs/chat-composer/AttachmentMenu.web.js.map +1 -0
- package/lib/commonjs/chat-composer/ChatComposer.js +9 -388
- package/lib/commonjs/chat-composer/ChatComposer.js.map +1 -1
- package/lib/commonjs/chat-composer/ChatComposer.web.js +16 -0
- package/lib/commonjs/chat-composer/ChatComposer.web.js.map +1 -0
- package/lib/commonjs/chat-composer/ComposerAttachmentStrip.js +5 -200
- package/lib/commonjs/chat-composer/ComposerAttachmentStrip.js.map +1 -1
- package/lib/commonjs/chat-composer/ComposerAttachmentStrip.web.js +12 -0
- package/lib/commonjs/chat-composer/ComposerAttachmentStrip.web.js.map +1 -0
- package/lib/commonjs/chat-composer/ComposerBanner.js +5 -163
- package/lib/commonjs/chat-composer/ComposerBanner.js.map +1 -1
- package/lib/commonjs/chat-composer/ComposerBanner.web.js +12 -0
- package/lib/commonjs/chat-composer/ComposerBanner.web.js.map +1 -0
- package/lib/commonjs/chat-composer/EmojiPicker.js +6 -443
- package/lib/commonjs/chat-composer/EmojiPicker.js.map +1 -1
- package/lib/commonjs/chat-composer/EmojiPicker.web.js +14 -0
- package/lib/commonjs/chat-composer/EmojiPicker.web.js.map +1 -0
- package/lib/commonjs/chat-composer/MessageContextMenu.js +12 -102
- package/lib/commonjs/chat-composer/MessageContextMenu.js.map +1 -1
- package/lib/commonjs/chat-composer/MessageContextMenu.web.js +19 -0
- package/lib/commonjs/chat-composer/MessageContextMenu.web.js.map +1 -0
- package/lib/commonjs/chat-composer/ReactionPicker.js +6 -107
- package/lib/commonjs/chat-composer/ReactionPicker.js.map +1 -1
- package/lib/commonjs/chat-composer/ReactionPicker.web.js +14 -0
- package/lib/commonjs/chat-composer/ReactionPicker.web.js.map +1 -0
- package/lib/commonjs/chat-composer/SuggestionList.js +5 -222
- package/lib/commonjs/chat-composer/SuggestionList.js.map +1 -1
- package/lib/commonjs/chat-composer/SuggestionList.web.js +12 -0
- package/lib/commonjs/chat-composer/SuggestionList.web.js.map +1 -0
- package/lib/commonjs/chat-composer/VoiceRecorder.js +7 -263
- package/lib/commonjs/chat-composer/VoiceRecorder.js.map +1 -1
- package/lib/commonjs/chat-composer/VoiceRecorder.web.js +16 -0
- package/lib/commonjs/chat-composer/VoiceRecorder.web.js.map +1 -0
- package/lib/commonjs/chat-composer/create-attachment-menu.js +243 -0
- package/lib/commonjs/chat-composer/create-attachment-menu.js.map +1 -0
- package/lib/commonjs/chat-composer/create-chat-composer.js +400 -0
- package/lib/commonjs/chat-composer/create-chat-composer.js.map +1 -0
- package/lib/commonjs/chat-composer/create-composer-attachment-strip.js +212 -0
- package/lib/commonjs/chat-composer/create-composer-attachment-strip.js.map +1 -0
- package/lib/commonjs/chat-composer/create-composer-banner.js +176 -0
- package/lib/commonjs/chat-composer/create-composer-banner.js.map +1 -0
- package/lib/commonjs/chat-composer/create-emoji-picker.js +456 -0
- package/lib/commonjs/chat-composer/create-emoji-picker.js.map +1 -0
- package/lib/commonjs/chat-composer/create-message-context-menu.js +119 -0
- package/lib/commonjs/chat-composer/create-message-context-menu.js.map +1 -0
- package/lib/commonjs/chat-composer/create-reaction-picker.js +120 -0
- package/lib/commonjs/chat-composer/create-reaction-picker.js.map +1 -0
- package/lib/commonjs/chat-composer/create-suggestion-list.js +234 -0
- package/lib/commonjs/chat-composer/create-suggestion-list.js.map +1 -0
- package/lib/commonjs/chat-composer/create-voice-recorder.js +277 -0
- package/lib/commonjs/chat-composer/create-voice-recorder.js.map +1 -0
- package/lib/commonjs/chat-composer/index.js +9 -9
- package/lib/commonjs/chat-composer/index.web.js +18 -18
- package/lib/commonjs/chat-composer/index.web.js.map +1 -1
- package/lib/commonjs/earnings/EarningsSummary.js +12 -2
- package/lib/commonjs/earnings/EarningsSummary.js.map +1 -1
- package/lib/commonjs/field/Field.js +2 -0
- package/lib/commonjs/field/Field.js.map +1 -1
- package/lib/commonjs/item/Item.js +16 -8
- package/lib/commonjs/item/Item.js.map +1 -1
- package/lib/commonjs/job-board/JobCard.js +6 -2
- package/lib/commonjs/job-board/JobCard.js.map +1 -1
- package/lib/commonjs/label/Label.js +2 -1
- package/lib/commonjs/label/Label.js.map +1 -1
- package/lib/commonjs/listing-details/AmenityList.js +4 -3
- package/lib/commonjs/listing-details/AmenityList.js.map +1 -1
- package/lib/commonjs/mail-compose/MailComposeSurface.js +1 -1
- package/lib/commonjs/overlay/InteractionBoundary.js +28 -0
- package/lib/commonjs/overlay/InteractionBoundary.js.map +1 -0
- package/lib/commonjs/payment-method/PaymentMethodList.js +3 -2
- package/lib/commonjs/payment-method/PaymentMethodList.js.map +1 -1
- package/lib/commonjs/place-details/PlaceAmenities.js +17 -6
- package/lib/commonjs/place-details/PlaceAmenities.js.map +1 -1
- package/lib/commonjs/place-details/PlacePopularTimes.js +7 -1
- package/lib/commonjs/place-details/PlacePopularTimes.js.map +1 -1
- package/lib/commonjs/proof-of-delivery/ProofOfDelivery.js +10 -1
- package/lib/commonjs/proof-of-delivery/ProofOfDelivery.js.map +1 -1
- package/lib/commonjs/proof-of-delivery/shared.js +1 -1
- package/lib/commonjs/proof-of-delivery/shared.js.map +1 -1
- package/lib/commonjs/select/Select.js +7 -4
- package/lib/commonjs/select/Select.js.map +1 -1
- package/lib/commonjs/select/Select.web.js +7 -4
- package/lib/commonjs/select/Select.web.js.map +1 -1
- package/lib/commonjs/select/use-required-description.js +37 -0
- package/lib/commonjs/select/use-required-description.js.map +1 -0
- package/lib/module/button/Button.js +36 -3
- package/lib/module/button/Button.js.map +1 -1
- package/lib/module/button/GlyphButton.js +7 -3
- package/lib/module/button/GlyphButton.js.map +1 -1
- package/lib/module/card-form/shared.js +3 -2
- package/lib/module/card-form/shared.js.map +1 -1
- package/lib/module/chat-composer/AttachmentMenu.js +7 -226
- package/lib/module/chat-composer/AttachmentMenu.js.map +1 -1
- package/lib/module/chat-composer/AttachmentMenu.web.js +12 -0
- package/lib/module/chat-composer/AttachmentMenu.web.js.map +1 -0
- package/lib/module/chat-composer/ChatComposer.js +8 -385
- package/lib/module/chat-composer/ChatComposer.js.map +1 -1
- package/lib/module/chat-composer/ChatComposer.web.js +12 -0
- package/lib/module/chat-composer/ChatComposer.web.js.map +1 -0
- package/lib/module/chat-composer/ComposerAttachmentStrip.js +4 -196
- package/lib/module/chat-composer/ComposerAttachmentStrip.js.map +1 -1
- package/lib/module/chat-composer/ComposerAttachmentStrip.web.js +8 -0
- package/lib/module/chat-composer/ComposerAttachmentStrip.web.js.map +1 -0
- package/lib/module/chat-composer/ComposerBanner.js +4 -162
- package/lib/module/chat-composer/ComposerBanner.js.map +1 -1
- package/lib/module/chat-composer/ComposerBanner.web.js +8 -0
- package/lib/module/chat-composer/ComposerBanner.web.js.map +1 -0
- package/lib/module/chat-composer/EmojiPicker.js +5 -440
- package/lib/module/chat-composer/EmojiPicker.js.map +1 -1
- package/lib/module/chat-composer/EmojiPicker.web.js +10 -0
- package/lib/module/chat-composer/EmojiPicker.web.js.map +1 -0
- package/lib/module/chat-composer/MessageContextMenu.js +11 -99
- package/lib/module/chat-composer/MessageContextMenu.js.map +1 -1
- package/lib/module/chat-composer/MessageContextMenu.web.js +15 -0
- package/lib/module/chat-composer/MessageContextMenu.web.js.map +1 -0
- package/lib/module/chat-composer/ReactionPicker.js +5 -104
- package/lib/module/chat-composer/ReactionPicker.js.map +1 -1
- package/lib/module/chat-composer/ReactionPicker.web.js +10 -0
- package/lib/module/chat-composer/ReactionPicker.web.js.map +1 -0
- package/lib/module/chat-composer/SuggestionList.js +4 -219
- package/lib/module/chat-composer/SuggestionList.js.map +1 -1
- package/lib/module/chat-composer/SuggestionList.web.js +8 -0
- package/lib/module/chat-composer/SuggestionList.web.js.map +1 -0
- package/lib/module/chat-composer/VoiceRecorder.js +6 -260
- package/lib/module/chat-composer/VoiceRecorder.js.map +1 -1
- package/lib/module/chat-composer/VoiceRecorder.web.js +12 -0
- package/lib/module/chat-composer/VoiceRecorder.web.js.map +1 -0
- package/lib/module/chat-composer/create-attachment-menu.js +238 -0
- package/lib/module/chat-composer/create-attachment-menu.js.map +1 -0
- package/lib/module/chat-composer/create-chat-composer.js +395 -0
- package/lib/module/chat-composer/create-chat-composer.js.map +1 -0
- package/lib/module/chat-composer/create-composer-attachment-strip.js +206 -0
- package/lib/module/chat-composer/create-composer-attachment-strip.js.map +1 -0
- package/lib/module/chat-composer/create-composer-banner.js +171 -0
- package/lib/module/chat-composer/create-composer-banner.js.map +1 -0
- package/lib/module/chat-composer/create-emoji-picker.js +451 -0
- package/lib/module/chat-composer/create-emoji-picker.js.map +1 -0
- package/lib/module/chat-composer/create-message-context-menu.js +114 -0
- package/lib/module/chat-composer/create-message-context-menu.js.map +1 -0
- package/lib/module/chat-composer/create-reaction-picker.js +115 -0
- package/lib/module/chat-composer/create-reaction-picker.js.map +1 -0
- package/lib/module/chat-composer/create-suggestion-list.js +229 -0
- package/lib/module/chat-composer/create-suggestion-list.js.map +1 -0
- package/lib/module/chat-composer/create-voice-recorder.js +272 -0
- package/lib/module/chat-composer/create-voice-recorder.js.map +1 -0
- package/lib/module/chat-composer/index.js +9 -9
- package/lib/module/chat-composer/index.js.map +1 -1
- package/lib/module/chat-composer/index.web.js +9 -9
- package/lib/module/chat-composer/index.web.js.map +1 -1
- package/lib/module/earnings/EarningsSummary.js +12 -2
- package/lib/module/earnings/EarningsSummary.js.map +1 -1
- package/lib/module/field/Field.js +2 -0
- package/lib/module/field/Field.js.map +1 -1
- package/lib/module/item/Item.js +16 -8
- package/lib/module/item/Item.js.map +1 -1
- package/lib/module/job-board/JobCard.js +6 -2
- package/lib/module/job-board/JobCard.js.map +1 -1
- package/lib/module/label/Label.js +2 -1
- package/lib/module/label/Label.js.map +1 -1
- package/lib/module/listing-details/AmenityList.js +4 -3
- package/lib/module/listing-details/AmenityList.js.map +1 -1
- package/lib/module/mail-compose/MailComposeSurface.js +1 -1
- package/lib/module/mail-compose/MailComposeSurface.js.map +1 -1
- package/lib/module/overlay/InteractionBoundary.js +25 -0
- package/lib/module/overlay/InteractionBoundary.js.map +1 -0
- package/lib/module/payment-method/PaymentMethodList.js +3 -2
- package/lib/module/payment-method/PaymentMethodList.js.map +1 -1
- package/lib/module/place-details/PlaceAmenities.js +15 -4
- package/lib/module/place-details/PlaceAmenities.js.map +1 -1
- package/lib/module/place-details/PlacePopularTimes.js +7 -1
- package/lib/module/place-details/PlacePopularTimes.js.map +1 -1
- package/lib/module/proof-of-delivery/ProofOfDelivery.js +10 -1
- package/lib/module/proof-of-delivery/ProofOfDelivery.js.map +1 -1
- package/lib/module/proof-of-delivery/shared.js +1 -1
- package/lib/module/proof-of-delivery/shared.js.map +1 -1
- package/lib/module/select/Select.js +7 -4
- package/lib/module/select/Select.js.map +1 -1
- package/lib/module/select/Select.web.js +7 -4
- package/lib/module/select/Select.web.js.map +1 -1
- package/lib/module/select/use-required-description.js +33 -0
- package/lib/module/select/use-required-description.js.map +1 -0
- package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
- package/lib/typescript/commonjs/card-form/shared.d.ts +2 -1
- package/lib/typescript/commonjs/card-form/shared.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/AttachmentMenu.d.ts +1 -2
- package/lib/typescript/commonjs/chat-composer/AttachmentMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/AttachmentMenu.web.d.ts +2 -0
- package/lib/typescript/commonjs/chat-composer/AttachmentMenu.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/ChatComposer.d.ts +1 -2
- package/lib/typescript/commonjs/chat-composer/ChatComposer.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/ChatComposer.web.d.ts +2 -0
- package/lib/typescript/commonjs/chat-composer/ChatComposer.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.d.ts +1 -2
- package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.web.d.ts +2 -0
- package/lib/typescript/commonjs/chat-composer/ComposerAttachmentStrip.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts +1 -2
- package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/ComposerBanner.web.d.ts +2 -0
- package/lib/typescript/commonjs/chat-composer/ComposerBanner.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/EmojiPicker.d.ts +1 -2
- package/lib/typescript/commonjs/chat-composer/EmojiPicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/EmojiPicker.web.d.ts +2 -0
- package/lib/typescript/commonjs/chat-composer/EmojiPicker.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/MessageContextMenu.d.ts +1 -2
- package/lib/typescript/commonjs/chat-composer/MessageContextMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/MessageContextMenu.web.d.ts +2 -0
- package/lib/typescript/commonjs/chat-composer/MessageContextMenu.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/ReactionPicker.d.ts +1 -2
- package/lib/typescript/commonjs/chat-composer/ReactionPicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/ReactionPicker.web.d.ts +2 -0
- package/lib/typescript/commonjs/chat-composer/ReactionPicker.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts +1 -2
- package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts +2 -0
- package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/VoiceRecorder.d.ts +1 -2
- package/lib/typescript/commonjs/chat-composer/VoiceRecorder.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/VoiceRecorder.web.d.ts +2 -0
- package/lib/typescript/commonjs/chat-composer/VoiceRecorder.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/create-attachment-menu.d.ts +11 -0
- package/lib/typescript/commonjs/chat-composer/create-attachment-menu.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/create-chat-composer.d.ts +11 -0
- package/lib/typescript/commonjs/chat-composer/create-chat-composer.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/create-composer-attachment-strip.d.ts +7 -0
- package/lib/typescript/commonjs/chat-composer/create-composer-attachment-strip.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/create-composer-banner.d.ts +7 -0
- package/lib/typescript/commonjs/chat-composer/create-composer-banner.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/create-emoji-picker.d.ts +9 -0
- package/lib/typescript/commonjs/chat-composer/create-emoji-picker.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/create-message-context-menu.d.ts +14 -0
- package/lib/typescript/commonjs/chat-composer/create-message-context-menu.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/create-reaction-picker.d.ts +9 -0
- package/lib/typescript/commonjs/chat-composer/create-reaction-picker.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts +7 -0
- package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/create-voice-recorder.d.ts +11 -0
- package/lib/typescript/commonjs/chat-composer/create-voice-recorder.d.ts.map +1 -0
- package/lib/typescript/commonjs/chat-composer/index.web.d.ts +9 -9
- package/lib/typescript/commonjs/chat-composer/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/earnings/EarningsSummary.d.ts.map +1 -1
- package/lib/typescript/commonjs/field/Field.d.ts +1 -1
- package/lib/typescript/commonjs/field/Field.d.ts.map +1 -1
- package/lib/typescript/commonjs/field/types.d.ts +2 -0
- package/lib/typescript/commonjs/field/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/floating/types.d.ts +1 -0
- package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/item/Item.d.ts.map +1 -1
- package/lib/typescript/commonjs/job-board/JobCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/label/Label.d.ts +1 -1
- package/lib/typescript/commonjs/label/Label.d.ts.map +1 -1
- package/lib/typescript/commonjs/label/types.d.ts +2 -0
- package/lib/typescript/commonjs/label/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/listing-details/AmenityList.d.ts.map +1 -1
- package/lib/typescript/commonjs/overlay/InteractionBoundary.d.ts +7 -0
- package/lib/typescript/commonjs/overlay/InteractionBoundary.d.ts.map +1 -0
- package/lib/typescript/commonjs/payment-method/PaymentMethodList.d.ts.map +1 -1
- package/lib/typescript/commonjs/place-details/PlaceAmenities.d.ts.map +1 -1
- package/lib/typescript/commonjs/place-details/PlacePopularTimes.d.ts.map +1 -1
- package/lib/typescript/commonjs/proof-of-delivery/ProofOfDelivery.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/Select.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/Select.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/use-required-description.d.ts +7 -0
- package/lib/typescript/commonjs/select/use-required-description.d.ts.map +1 -0
- package/lib/typescript/module/button/Button.d.ts.map +1 -1
- package/lib/typescript/module/card-form/shared.d.ts +2 -1
- package/lib/typescript/module/card-form/shared.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/AttachmentMenu.d.ts +1 -2
- package/lib/typescript/module/chat-composer/AttachmentMenu.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/AttachmentMenu.web.d.ts +2 -0
- package/lib/typescript/module/chat-composer/AttachmentMenu.web.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/ChatComposer.d.ts +1 -2
- package/lib/typescript/module/chat-composer/ChatComposer.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/ChatComposer.web.d.ts +2 -0
- package/lib/typescript/module/chat-composer/ChatComposer.web.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.d.ts +1 -2
- package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.web.d.ts +2 -0
- package/lib/typescript/module/chat-composer/ComposerAttachmentStrip.web.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/ComposerBanner.d.ts +1 -2
- package/lib/typescript/module/chat-composer/ComposerBanner.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/ComposerBanner.web.d.ts +2 -0
- package/lib/typescript/module/chat-composer/ComposerBanner.web.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/EmojiPicker.d.ts +1 -2
- package/lib/typescript/module/chat-composer/EmojiPicker.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/EmojiPicker.web.d.ts +2 -0
- package/lib/typescript/module/chat-composer/EmojiPicker.web.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/MessageContextMenu.d.ts +1 -2
- package/lib/typescript/module/chat-composer/MessageContextMenu.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/MessageContextMenu.web.d.ts +2 -0
- package/lib/typescript/module/chat-composer/MessageContextMenu.web.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/ReactionPicker.d.ts +1 -2
- package/lib/typescript/module/chat-composer/ReactionPicker.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/ReactionPicker.web.d.ts +2 -0
- package/lib/typescript/module/chat-composer/ReactionPicker.web.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/SuggestionList.d.ts +1 -2
- package/lib/typescript/module/chat-composer/SuggestionList.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts +2 -0
- package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/VoiceRecorder.d.ts +1 -2
- package/lib/typescript/module/chat-composer/VoiceRecorder.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/VoiceRecorder.web.d.ts +2 -0
- package/lib/typescript/module/chat-composer/VoiceRecorder.web.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/create-attachment-menu.d.ts +11 -0
- package/lib/typescript/module/chat-composer/create-attachment-menu.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/create-chat-composer.d.ts +11 -0
- package/lib/typescript/module/chat-composer/create-chat-composer.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/create-composer-attachment-strip.d.ts +7 -0
- package/lib/typescript/module/chat-composer/create-composer-attachment-strip.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/create-composer-banner.d.ts +7 -0
- package/lib/typescript/module/chat-composer/create-composer-banner.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/create-emoji-picker.d.ts +9 -0
- package/lib/typescript/module/chat-composer/create-emoji-picker.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/create-message-context-menu.d.ts +14 -0
- package/lib/typescript/module/chat-composer/create-message-context-menu.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/create-reaction-picker.d.ts +9 -0
- package/lib/typescript/module/chat-composer/create-reaction-picker.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts +7 -0
- package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/create-voice-recorder.d.ts +11 -0
- package/lib/typescript/module/chat-composer/create-voice-recorder.d.ts.map +1 -0
- package/lib/typescript/module/chat-composer/index.web.d.ts +9 -9
- package/lib/typescript/module/chat-composer/index.web.d.ts.map +1 -1
- package/lib/typescript/module/earnings/EarningsSummary.d.ts.map +1 -1
- package/lib/typescript/module/field/Field.d.ts +1 -1
- package/lib/typescript/module/field/Field.d.ts.map +1 -1
- package/lib/typescript/module/field/types.d.ts +2 -0
- package/lib/typescript/module/field/types.d.ts.map +1 -1
- package/lib/typescript/module/floating/types.d.ts +1 -0
- package/lib/typescript/module/floating/types.d.ts.map +1 -1
- package/lib/typescript/module/item/Item.d.ts.map +1 -1
- package/lib/typescript/module/job-board/JobCard.d.ts.map +1 -1
- package/lib/typescript/module/label/Label.d.ts +1 -1
- package/lib/typescript/module/label/Label.d.ts.map +1 -1
- package/lib/typescript/module/label/types.d.ts +2 -0
- package/lib/typescript/module/label/types.d.ts.map +1 -1
- package/lib/typescript/module/listing-details/AmenityList.d.ts.map +1 -1
- package/lib/typescript/module/overlay/InteractionBoundary.d.ts +7 -0
- package/lib/typescript/module/overlay/InteractionBoundary.d.ts.map +1 -0
- package/lib/typescript/module/payment-method/PaymentMethodList.d.ts.map +1 -1
- package/lib/typescript/module/place-details/PlaceAmenities.d.ts.map +1 -1
- package/lib/typescript/module/place-details/PlacePopularTimes.d.ts.map +1 -1
- package/lib/typescript/module/proof-of-delivery/ProofOfDelivery.d.ts.map +1 -1
- package/lib/typescript/module/select/Select.d.ts.map +1 -1
- package/lib/typescript/module/select/Select.web.d.ts.map +1 -1
- package/lib/typescript/module/select/use-required-description.d.ts +7 -0
- package/lib/typescript/module/select/use-required-description.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/support/adoption-matrix.ts +708 -0
- package/src/__tests__/support/card-surface.ts +17 -0
- package/src/__tests__/support/collision-fixture-barrel.ts +20 -0
- package/src/__tests__/support/commerce-harness.tsx +97 -0
- package/src/__tests__/support/composite.ts +68 -0
- package/src/__tests__/support/constructed-style-sheets.ts +68 -0
- package/src/__tests__/support/press-host.ts +30 -0
- package/src/__tests__/support/rendered-style.ts +99 -0
- package/src/__tests__/support/unread-hook-fixture.ts +33 -0
- package/src/__tests__/support/worklet-capture-fixture.tsx +28 -0
- package/src/button/Button.tsx +35 -10
- package/src/button/GlyphButton.tsx +3 -3
- package/src/card-form/shared.ts +3 -2
- package/src/chat-composer/AttachmentMenu.tsx +2 -214
- package/src/chat-composer/AttachmentMenu.web.tsx +5 -0
- package/src/chat-composer/ChatComposer.tsx +2 -459
- package/src/chat-composer/ChatComposer.web.tsx +6 -0
- package/src/chat-composer/ComposerAttachmentStrip.tsx +2 -202
- package/src/chat-composer/ComposerAttachmentStrip.web.tsx +4 -0
- package/src/chat-composer/ComposerBanner.tsx +2 -157
- package/src/chat-composer/ComposerBanner.web.tsx +4 -0
- package/src/chat-composer/EmojiPicker.tsx +2 -402
- package/src/chat-composer/EmojiPicker.web.tsx +5 -0
- package/src/chat-composer/MessageContextMenu.tsx +2 -88
- package/src/chat-composer/MessageContextMenu.web.tsx +12 -0
- package/src/chat-composer/ReactionPicker.tsx +2 -100
- package/src/chat-composer/ReactionPicker.web.tsx +5 -0
- package/src/chat-composer/SuggestionList.tsx +2 -209
- package/src/chat-composer/SuggestionList.web.tsx +4 -0
- package/src/chat-composer/VoiceRecorder.tsx +2 -287
- package/src/chat-composer/VoiceRecorder.web.tsx +6 -0
- package/src/chat-composer/create-attachment-menu.tsx +228 -0
- package/src/chat-composer/create-chat-composer.tsx +473 -0
- package/src/chat-composer/create-composer-attachment-strip.tsx +212 -0
- package/src/chat-composer/create-composer-banner.tsx +167 -0
- package/src/chat-composer/create-emoji-picker.tsx +414 -0
- package/src/chat-composer/create-message-context-menu.tsx +112 -0
- package/src/chat-composer/create-reaction-picker.tsx +112 -0
- package/src/chat-composer/create-suggestion-list.tsx +219 -0
- package/src/chat-composer/create-voice-recorder.tsx +301 -0
- package/src/chat-composer/index.web.ts +9 -9
- package/src/earnings/EarningsSummary.tsx +9 -2
- package/src/field/Field.tsx +2 -1
- package/src/field/types.ts +2 -0
- package/src/floating/types.ts +1 -0
- package/src/item/Item.tsx +16 -11
- package/src/job-board/JobCard.tsx +4 -1
- package/src/label/Label.tsx +2 -1
- package/src/label/types.ts +2 -0
- package/src/listing-details/AmenityList.tsx +4 -3
- package/src/overlay/InteractionBoundary.tsx +24 -0
- package/src/payment-method/PaymentMethodList.tsx +2 -1
- package/src/place-details/PlaceAmenities.tsx +9 -0
- package/src/place-details/PlacePopularTimes.tsx +7 -1
- package/src/proof-of-delivery/ProofOfDelivery.tsx +9 -1
- package/src/proof-of-delivery/shared.ts +1 -1
- package/src/select/Select.tsx +5 -1
- package/src/select/Select.web.tsx +5 -1
- package/src/select/use-required-description.tsx +20 -0
- package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +9346 -0
- package/src/theme/__tests__/__fixtures__/tonal-glass-primary-failures.json +69 -0
- package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The message input bar of a person-to-person chat: a radius-24 pill with a
|
|
5
|
+
* left attach button, an autosizing field, an emoji button and a right control
|
|
6
|
+
* that swaps between a mic (nothing to send) and an accent send disc (there is).
|
|
7
|
+
*
|
|
8
|
+
* Presentational. Every piece of state — the draft, the banners, the pending
|
|
9
|
+
* attachments, which suggestion is highlighted — arrives as a prop, because the
|
|
10
|
+
* app owns drafts per conversation and a composer that kept its own would lose
|
|
11
|
+
* them on every navigation.
|
|
12
|
+
*/
|
|
13
|
+
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
|
14
|
+
import { TextInput, View } from 'react-native';
|
|
15
|
+
import Animated, { Easing, useAnimatedStyle, useReducedMotion, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
16
|
+
import { RiAddLine } from "../icons/remix/RiAddLine.js";
|
|
17
|
+
import { RiCameraLine } from "../icons/remix/RiCameraLine.js";
|
|
18
|
+
import { RiEmotionLine } from "../icons/remix/RiEmotionLine.js";
|
|
19
|
+
import { RiForbidLine } from "../icons/remix/RiForbidLine.js";
|
|
20
|
+
import { RiMic2Line } from "../icons/remix/RiMic2Line.js";
|
|
21
|
+
import { RiSendPlaneLine } from "../icons/remix/RiSendPlaneLine.js";
|
|
22
|
+
import { useControllableState } from "../hooks/use-controllable-state.js";
|
|
23
|
+
import { useTextareaAutosize } from "../hooks/use-textarea-autosize.js";
|
|
24
|
+
import { useTheme } from "../theme/use-theme.js";
|
|
25
|
+
import { Text } from "../typography/index.js";
|
|
26
|
+
import { TYPE_SCALE } from "../typography/scale.js";
|
|
27
|
+
import { BAR_PADDING, BAR_RADIUS, chatComposerLabels, CONTROL_SIZE, DEFAULT_MAX_LINES, LINE_HEIGHT, SWAP_MS, resolveChatComposerPalette } from "./shared.js";
|
|
28
|
+
import { dataHook, IS_WEB, useChatComposerWebCss } from "./web-hooks.js";
|
|
29
|
+
import { useMessages } from "../locale/messages.js";
|
|
30
|
+
import { CHAT_COMPOSER_MESSAGES } from "./messages.js";
|
|
31
|
+
import { useCommonMessages } from "../locale/common-messages.js";
|
|
32
|
+
|
|
33
|
+
/** Platform dependencies are bound once; shared rendering adds no wrapper. */
|
|
34
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
35
|
+
export function createChatComposer({
|
|
36
|
+
ComposerAttachmentStrip,
|
|
37
|
+
ComposerIconButton,
|
|
38
|
+
SuggestionList
|
|
39
|
+
}) {
|
|
40
|
+
const EASE_OUT = Easing.bezier(0, 0, 0.2, 1);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* One half of the mic ↔ send crossfade.
|
|
44
|
+
*
|
|
45
|
+
* Two things the fade must not break, neither of which the animation expresses:
|
|
46
|
+
*
|
|
47
|
+
* `pointerEvents` is a PROP, not a style entry — react-native-web drops it from
|
|
48
|
+
* a style object silently, and a hidden layer that still takes the press is a
|
|
49
|
+
* send button that fires when the field is empty.
|
|
50
|
+
*
|
|
51
|
+
* The hidden half leaves the ACCESSIBILITY TREE too. Both halves stay mounted so
|
|
52
|
+
* they can cross-fade, so without this every composer announces "Send" and
|
|
53
|
+
* "Record a voice message" side by side and only one of them does anything.
|
|
54
|
+
* `aria-hidden` is what react-native-web reads and
|
|
55
|
+
* `importantForAccessibility` is what React Native reads; a surface that sets
|
|
56
|
+
* one of the two is hidden on one platform only.
|
|
57
|
+
*/
|
|
58
|
+
function SwapLayer({
|
|
59
|
+
shown,
|
|
60
|
+
children
|
|
61
|
+
}) {
|
|
62
|
+
const reducedMotion = useReducedMotion();
|
|
63
|
+
const progress = useSharedValue(shown ? 1 : 0);
|
|
64
|
+
React.useEffect(() => {
|
|
65
|
+
progress.value = reducedMotion ? shown ? 1 : 0 : withTiming(shown ? 1 : 0, {
|
|
66
|
+
duration: SWAP_MS,
|
|
67
|
+
easing: EASE_OUT
|
|
68
|
+
});
|
|
69
|
+
}, [shown, reducedMotion, progress]);
|
|
70
|
+
const animated = useAnimatedStyle(() => ({
|
|
71
|
+
opacity: progress.value
|
|
72
|
+
}), [progress]);
|
|
73
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
74
|
+
pointerEvents: shown ? 'auto' : 'none',
|
|
75
|
+
"aria-hidden": !shown,
|
|
76
|
+
accessibilityElementsHidden: !shown,
|
|
77
|
+
importantForAccessibility: shown ? 'auto' : 'no-hide-descendants',
|
|
78
|
+
style: [{
|
|
79
|
+
position: 'absolute',
|
|
80
|
+
top: 0,
|
|
81
|
+
left: 0
|
|
82
|
+
}, animated],
|
|
83
|
+
children: children
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** A DOM keyboard event as react-native-web hands it to `onKeyPress`. */
|
|
88
|
+
|
|
89
|
+
function ChatComposer({
|
|
90
|
+
value,
|
|
91
|
+
defaultValue = '',
|
|
92
|
+
onValueChange,
|
|
93
|
+
placeholder: placeholderProp,
|
|
94
|
+
onSend,
|
|
95
|
+
sendOn = 'enter',
|
|
96
|
+
maxLines = DEFAULT_MAX_LINES,
|
|
97
|
+
minLines = 1,
|
|
98
|
+
disabled = false,
|
|
99
|
+
notice,
|
|
100
|
+
noticeIcon,
|
|
101
|
+
banner,
|
|
102
|
+
attachments,
|
|
103
|
+
onRemoveAttachment,
|
|
104
|
+
leading,
|
|
105
|
+
onAttachPress,
|
|
106
|
+
emojiSlot,
|
|
107
|
+
onEmojiPress,
|
|
108
|
+
onCameraPress,
|
|
109
|
+
onMicPress,
|
|
110
|
+
onMicPressIn,
|
|
111
|
+
onMicPressOut,
|
|
112
|
+
canSend,
|
|
113
|
+
recorder,
|
|
114
|
+
suggestions,
|
|
115
|
+
suggestionKind = 'mention',
|
|
116
|
+
activeIndex = -1,
|
|
117
|
+
onActiveIndexChange,
|
|
118
|
+
onSelectSuggestion,
|
|
119
|
+
onEscape,
|
|
120
|
+
onEditLast,
|
|
121
|
+
showKeyboardHint = false,
|
|
122
|
+
inputRef,
|
|
123
|
+
onFocus,
|
|
124
|
+
onBlur,
|
|
125
|
+
labels: labelOverrides,
|
|
126
|
+
style,
|
|
127
|
+
testID,
|
|
128
|
+
accessibilityLabel
|
|
129
|
+
}) {
|
|
130
|
+
const theme = useTheme();
|
|
131
|
+
const {
|
|
132
|
+
messages
|
|
133
|
+
} = useMessages(CHAT_COMPOSER_MESSAGES);
|
|
134
|
+
const common = useCommonMessages();
|
|
135
|
+
const palette = resolveChatComposerPalette(theme);
|
|
136
|
+
useChatComposerWebCss();
|
|
137
|
+
const labels = useMemo(() => ({
|
|
138
|
+
...chatComposerLabels(messages, common.send),
|
|
139
|
+
...labelOverrides
|
|
140
|
+
}), [common.send, labelOverrides, messages]);
|
|
141
|
+
const placeholder = placeholderProp ?? messages.message;
|
|
142
|
+
const [text, setText] = useControllableState({
|
|
143
|
+
value,
|
|
144
|
+
defaultValue,
|
|
145
|
+
onChange: onValueChange
|
|
146
|
+
});
|
|
147
|
+
const localRef = useRef(null);
|
|
148
|
+
const setFieldRef = useCallback(node => {
|
|
149
|
+
localRef.current = node;
|
|
150
|
+
if (inputRef) inputRef.current = node;
|
|
151
|
+
}, [inputRef]);
|
|
152
|
+
const minHeight = Math.max(1, minLines) * LINE_HEIGHT;
|
|
153
|
+
const maxHeight = Math.max(minLines, maxLines) * LINE_HEIGHT;
|
|
154
|
+
const [contentHeight, setContentHeight] = useState(minHeight);
|
|
155
|
+
const height = Math.min(maxHeight, Math.max(minHeight, contentHeight));
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Web autosize measures the node, native reads `onContentSizeChange`.
|
|
159
|
+
*
|
|
160
|
+
* They are not interchangeable: react-native-web reports `scrollHeight`,
|
|
161
|
+
* which never falls below the height already applied, so a field grown to six
|
|
162
|
+
* lines and then emptied would stay six lines tall. `useTextareaAutosize`
|
|
163
|
+
* collapses the node to measure it only when the draft may have got SHORTER —
|
|
164
|
+
* collapsing on every keystroke re-laid-out the whole page three times a key.
|
|
165
|
+
*/
|
|
166
|
+
useTextareaAutosize(localRef, text, {
|
|
167
|
+
enabled: IS_WEB,
|
|
168
|
+
height,
|
|
169
|
+
minHeight,
|
|
170
|
+
onMeasure: setContentHeight
|
|
171
|
+
});
|
|
172
|
+
const onContentSizeChange = useCallback(event => {
|
|
173
|
+
if (IS_WEB) return;
|
|
174
|
+
setContentHeight(event.nativeEvent.contentSize.height);
|
|
175
|
+
}, []);
|
|
176
|
+
const trimmed = text.trim();
|
|
177
|
+
const hasAttachments = !!attachments && attachments.length > 0;
|
|
178
|
+
const showSend = canSend ?? (trimmed.length > 0 || hasAttachments);
|
|
179
|
+
const submit = useCallback(() => {
|
|
180
|
+
if (disabled || !showSend) return;
|
|
181
|
+
onSend?.(text);
|
|
182
|
+
if (value === undefined) setText('');
|
|
183
|
+
}, [disabled, showSend, onSend, text, value, setText]);
|
|
184
|
+
const openSuggestions = !!suggestions && suggestions.length > 0;
|
|
185
|
+
const onKeyPress = useCallback(event => {
|
|
186
|
+
if (!IS_WEB) return;
|
|
187
|
+
const native = event.nativeEvent;
|
|
188
|
+
// An IME candidate window is using the same keys; committing a
|
|
189
|
+
// composition must never send the half-written word behind it.
|
|
190
|
+
if (native.isComposing) return;
|
|
191
|
+
const mod = native.metaKey === true || native.ctrlKey === true;
|
|
192
|
+
if (openSuggestions && (native.key === 'ArrowDown' || native.key === 'ArrowUp')) {
|
|
193
|
+
event.preventDefault();
|
|
194
|
+
const count = suggestions?.length ?? 0;
|
|
195
|
+
const step = native.key === 'ArrowDown' ? 1 : -1;
|
|
196
|
+
const from = activeIndex < 0 ? step > 0 ? -1 : 0 : activeIndex;
|
|
197
|
+
onActiveIndexChange?.((from + step + count) % count);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (native.key === 'Escape') {
|
|
201
|
+
event.preventDefault();
|
|
202
|
+
onEscape?.();
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
if (native.key === 'ArrowUp' && text.length === 0) {
|
|
206
|
+
event.preventDefault();
|
|
207
|
+
onEditLast?.();
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
if (native.key !== 'Enter') return;
|
|
211
|
+
if (openSuggestions && activeIndex >= 0) {
|
|
212
|
+
const picked = suggestions?.[activeIndex];
|
|
213
|
+
if (picked && !picked.disabled) {
|
|
214
|
+
event.preventDefault();
|
|
215
|
+
onSelectSuggestion?.(picked, activeIndex);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (sendOn === 'enter' ? native.shiftKey !== true && !mod : mod) {
|
|
220
|
+
event.preventDefault();
|
|
221
|
+
submit();
|
|
222
|
+
}
|
|
223
|
+
}, [activeIndex, onActiveIndexChange, onEditLast, onEscape, onSelectSuggestion, openSuggestions, sendOn, submit, suggestions, text.length]);
|
|
224
|
+
const bar = {
|
|
225
|
+
flexDirection: 'row',
|
|
226
|
+
alignItems: 'flex-end',
|
|
227
|
+
gap: 2,
|
|
228
|
+
minHeight: CONTROL_SIZE + BAR_PADDING * 2,
|
|
229
|
+
borderRadius: BAR_RADIUS,
|
|
230
|
+
borderWidth: 1,
|
|
231
|
+
borderColor: palette.border,
|
|
232
|
+
// A disabled bar changes its FILL rather than its opacity. Dimming the
|
|
233
|
+
// container compounds with each control's own disabled opacity — 0.55 × 0.4
|
|
234
|
+
// put the send disc at 0.22, which reads as a rendering fault rather than a
|
|
235
|
+
// state.
|
|
236
|
+
backgroundColor: disabled ? palette.inset : palette.surface,
|
|
237
|
+
paddingLeft: BAR_PADDING,
|
|
238
|
+
paddingRight: BAR_PADDING,
|
|
239
|
+
paddingTop: BAR_PADDING,
|
|
240
|
+
paddingBottom: BAR_PADDING,
|
|
241
|
+
'--bloom-chat-composer-ring': palette.focusRing
|
|
242
|
+
};
|
|
243
|
+
const NoticeIcon = noticeIcon ?? RiForbidLine;
|
|
244
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
245
|
+
accessibilityLabel: accessibilityLabel,
|
|
246
|
+
style: [{
|
|
247
|
+
width: '100%',
|
|
248
|
+
flexDirection: 'column',
|
|
249
|
+
gap: 6
|
|
250
|
+
}, style],
|
|
251
|
+
testID: testID,
|
|
252
|
+
children: [openSuggestions ? /*#__PURE__*/_jsx(SuggestionList, {
|
|
253
|
+
kind: suggestionKind,
|
|
254
|
+
suggestions: suggestions ?? [],
|
|
255
|
+
activeIndex: activeIndex,
|
|
256
|
+
onActiveIndexChange: onActiveIndexChange,
|
|
257
|
+
onSelectSuggestion: onSelectSuggestion,
|
|
258
|
+
testID: testID ? `${testID}-suggestions` : undefined
|
|
259
|
+
}) : null, banner, hasAttachments ? /*#__PURE__*/_jsx(ComposerAttachmentStrip, {
|
|
260
|
+
attachments: attachments ?? [],
|
|
261
|
+
onRemove: onRemoveAttachment,
|
|
262
|
+
testID: testID ? `${testID}-attachments` : undefined
|
|
263
|
+
}) : null, recorder ?? /*#__PURE__*/_jsx(View, {
|
|
264
|
+
style: bar,
|
|
265
|
+
testID: testID ? `${testID}-bar` : undefined,
|
|
266
|
+
children: notice !== undefined ? /*#__PURE__*/_jsx(View, {
|
|
267
|
+
style: {
|
|
268
|
+
flexDirection: 'row',
|
|
269
|
+
alignItems: 'center',
|
|
270
|
+
justifyContent: 'center',
|
|
271
|
+
gap: 8,
|
|
272
|
+
flexGrow: 1,
|
|
273
|
+
minHeight: CONTROL_SIZE,
|
|
274
|
+
paddingLeft: 12,
|
|
275
|
+
paddingRight: 12
|
|
276
|
+
},
|
|
277
|
+
testID: testID ? `${testID}-notice` : undefined,
|
|
278
|
+
children: typeof notice === 'string' ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
279
|
+
children: [/*#__PURE__*/_jsx(NoticeIcon, {
|
|
280
|
+
width: 16,
|
|
281
|
+
height: 16,
|
|
282
|
+
fill: palette.iconSecondary
|
|
283
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
284
|
+
variant: "body-2-regular",
|
|
285
|
+
numberOfLines: 2,
|
|
286
|
+
style: {
|
|
287
|
+
color: palette.textSecondary,
|
|
288
|
+
textAlign: 'center'
|
|
289
|
+
},
|
|
290
|
+
children: notice
|
|
291
|
+
})]
|
|
292
|
+
}) : notice
|
|
293
|
+
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
294
|
+
children: [leading ?? (onAttachPress ? /*#__PURE__*/_jsx(ComposerIconButton, {
|
|
295
|
+
icon: RiAddLine,
|
|
296
|
+
accessibilityLabel: labels.attach,
|
|
297
|
+
onPress: onAttachPress,
|
|
298
|
+
disabled: disabled,
|
|
299
|
+
iconSize: 22,
|
|
300
|
+
testID: testID ? `${testID}-attach` : undefined
|
|
301
|
+
}) : null), /*#__PURE__*/_jsx(View, {
|
|
302
|
+
style: {
|
|
303
|
+
flexGrow: 1,
|
|
304
|
+
flexShrink: 1,
|
|
305
|
+
justifyContent: 'center',
|
|
306
|
+
minHeight: CONTROL_SIZE,
|
|
307
|
+
paddingLeft: 6,
|
|
308
|
+
paddingRight: 6
|
|
309
|
+
},
|
|
310
|
+
children: /*#__PURE__*/_jsx(TextInput, {
|
|
311
|
+
ref: setFieldRef,
|
|
312
|
+
...dataHook('bloomChatComposerInput'),
|
|
313
|
+
accessibilityLabel: labels.input,
|
|
314
|
+
multiline: true,
|
|
315
|
+
editable: !disabled,
|
|
316
|
+
value: text,
|
|
317
|
+
onChangeText: setText,
|
|
318
|
+
onKeyPress: onKeyPress,
|
|
319
|
+
onContentSizeChange: onContentSizeChange,
|
|
320
|
+
onFocus: onFocus,
|
|
321
|
+
onBlur: onBlur,
|
|
322
|
+
placeholder: placeholder,
|
|
323
|
+
placeholderTextColor: palette.textPlaceholder,
|
|
324
|
+
selectionColor: palette.accent,
|
|
325
|
+
cursorColor: palette.accent,
|
|
326
|
+
scrollEnabled: height >= maxHeight,
|
|
327
|
+
style: {
|
|
328
|
+
width: '100%',
|
|
329
|
+
height,
|
|
330
|
+
maxHeight,
|
|
331
|
+
padding: 0,
|
|
332
|
+
margin: 0,
|
|
333
|
+
...TYPE_SCALE['body-regular'],
|
|
334
|
+
fontFamily: IS_WEB ? 'var(--bloom-font-sans)' : 'Inter',
|
|
335
|
+
color: disabled ? palette.textSecondary : palette.text,
|
|
336
|
+
backgroundColor: 'transparent'
|
|
337
|
+
},
|
|
338
|
+
testID: testID ? `${testID}-input` : undefined
|
|
339
|
+
})
|
|
340
|
+
}), onCameraPress ? /*#__PURE__*/_jsx(ComposerIconButton, {
|
|
341
|
+
icon: RiCameraLine,
|
|
342
|
+
accessibilityLabel: labels.camera,
|
|
343
|
+
onPress: onCameraPress,
|
|
344
|
+
disabled: disabled,
|
|
345
|
+
testID: testID ? `${testID}-camera` : undefined
|
|
346
|
+
}) : null, emojiSlot ?? (onEmojiPress ? /*#__PURE__*/_jsx(ComposerIconButton, {
|
|
347
|
+
icon: RiEmotionLine,
|
|
348
|
+
accessibilityLabel: labels.emoji,
|
|
349
|
+
onPress: onEmojiPress,
|
|
350
|
+
disabled: disabled,
|
|
351
|
+
testID: testID ? `${testID}-emoji` : undefined
|
|
352
|
+
}) : null), /*#__PURE__*/_jsxs(View, {
|
|
353
|
+
style: {
|
|
354
|
+
width: CONTROL_SIZE,
|
|
355
|
+
height: CONTROL_SIZE,
|
|
356
|
+
marginLeft: 2
|
|
357
|
+
},
|
|
358
|
+
children: [/*#__PURE__*/_jsx(SwapLayer, {
|
|
359
|
+
shown: showSend,
|
|
360
|
+
children: /*#__PURE__*/_jsx(ComposerIconButton, {
|
|
361
|
+
icon: RiSendPlaneLine,
|
|
362
|
+
tone: "accent",
|
|
363
|
+
accessibilityLabel: labels.send,
|
|
364
|
+
onPress: submit,
|
|
365
|
+
disabled: disabled,
|
|
366
|
+
iconSize: 18,
|
|
367
|
+
testID: testID ? `${testID}-send` : undefined
|
|
368
|
+
})
|
|
369
|
+
}), /*#__PURE__*/_jsx(SwapLayer, {
|
|
370
|
+
shown: !showSend,
|
|
371
|
+
children: /*#__PURE__*/_jsx(ComposerIconButton, {
|
|
372
|
+
icon: RiMic2Line,
|
|
373
|
+
accessibilityLabel: labels.mic,
|
|
374
|
+
onPress: onMicPress,
|
|
375
|
+
onPressIn: onMicPressIn,
|
|
376
|
+
onPressOut: onMicPressOut,
|
|
377
|
+
disabled: disabled,
|
|
378
|
+
testID: testID ? `${testID}-mic` : undefined
|
|
379
|
+
})
|
|
380
|
+
})]
|
|
381
|
+
})]
|
|
382
|
+
})
|
|
383
|
+
}), showKeyboardHint && IS_WEB && notice === undefined ? /*#__PURE__*/_jsx(Text, {
|
|
384
|
+
variant: "caption-2-regular",
|
|
385
|
+
style: {
|
|
386
|
+
color: palette.textPlaceholder,
|
|
387
|
+
paddingLeft: 14
|
|
388
|
+
},
|
|
389
|
+
children: sendOn === 'enter' ? labels.enterHint : labels.modEnterHint
|
|
390
|
+
}) : null]
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
return ChatComposer;
|
|
394
|
+
}
|
|
395
|
+
//# sourceMappingURL=create-chat-composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useRef","useState","TextInput","View","Animated","Easing","useAnimatedStyle","useReducedMotion","useSharedValue","withTiming","RiAddLine","RiCameraLine","RiEmotionLine","RiForbidLine","RiMic2Line","RiSendPlaneLine","useControllableState","useTextareaAutosize","useTheme","Text","TYPE_SCALE","BAR_PADDING","BAR_RADIUS","chatComposerLabels","CONTROL_SIZE","DEFAULT_MAX_LINES","LINE_HEIGHT","SWAP_MS","resolveChatComposerPalette","dataHook","IS_WEB","useChatComposerWebCss","useMessages","CHAT_COMPOSER_MESSAGES","useCommonMessages","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","createChatComposer","ComposerAttachmentStrip","ComposerIconButton","SuggestionList","EASE_OUT","bezier","SwapLayer","shown","children","reducedMotion","progress","useEffect","value","duration","easing","animated","opacity","pointerEvents","accessibilityElementsHidden","importantForAccessibility","style","position","top","left","ChatComposer","defaultValue","onValueChange","placeholder","placeholderProp","onSend","sendOn","maxLines","minLines","disabled","notice","noticeIcon","banner","attachments","onRemoveAttachment","leading","onAttachPress","emojiSlot","onEmojiPress","onCameraPress","onMicPress","onMicPressIn","onMicPressOut","canSend","recorder","suggestions","suggestionKind","activeIndex","onActiveIndexChange","onSelectSuggestion","onEscape","onEditLast","showKeyboardHint","inputRef","onFocus","onBlur","labels","labelOverrides","testID","accessibilityLabel","theme","messages","common","palette","send","message","text","setText","onChange","localRef","setFieldRef","node","current","minHeight","Math","max","maxHeight","contentHeight","setContentHeight","height","min","enabled","onMeasure","onContentSizeChange","event","nativeEvent","contentSize","trimmed","trim","hasAttachments","length","showSend","submit","undefined","openSuggestions","onKeyPress","native","isComposing","mod","metaKey","ctrlKey","key","preventDefault","count","step","from","picked","shiftKey","bar","flexDirection","alignItems","gap","borderRadius","borderWidth","borderColor","border","backgroundColor","inset","surface","paddingLeft","paddingRight","paddingTop","paddingBottom","focusRing","NoticeIcon","width","kind","onRemove","justifyContent","flexGrow","fill","iconSecondary","variant","numberOfLines","color","textSecondary","textAlign","icon","attach","onPress","iconSize","flexShrink","ref","input","multiline","editable","onChangeText","placeholderTextColor","textPlaceholder","selectionColor","accent","cursorColor","scrollEnabled","padding","margin","fontFamily","camera","emoji","marginLeft","tone","mic","onPressIn","onPressOut","enterHint","modEnterHint"],"sourceRoot":"../../../src","sources":["chat-composer/create-chat-composer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The pending-attachment strip between the banner stack and the bar.
|
|
5
|
+
*
|
|
6
|
+
* The tile geometry and the rounded-rect progress path are `composer-panel`'s —
|
|
7
|
+
* imported rather than retyped, because a second ring drawn from a second path
|
|
8
|
+
* helper is how two composers end up with rings that close at different angles.
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import { Image, Pressable, ScrollView, View } from 'react-native';
|
|
12
|
+
import Svg, { Path } from 'react-native-svg';
|
|
13
|
+
import { ringPath } from "../composer-panel/shared.js";
|
|
14
|
+
import { RiCloseLine } from "../icons/remix/RiCloseLine.js";
|
|
15
|
+
import { RiFileTextLine } from "../icons/remix/RiFileTextLine.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 { TILE, TILE_RADIUS, resolveChatComposerPalette } from "./shared.js";
|
|
20
|
+
import { dataHook } from "./web-hooks.js";
|
|
21
|
+
import { useMessages } from "../locale/messages.js";
|
|
22
|
+
import { CHAT_COMPOSER_MESSAGES } from "./messages.js";
|
|
23
|
+
|
|
24
|
+
/** Platform dependencies are bound once; shared rendering adds no wrapper. */
|
|
25
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
26
|
+
export function createComposerAttachmentStrip({
|
|
27
|
+
ComposerIconButton
|
|
28
|
+
}) {
|
|
29
|
+
function isUrl(value) {
|
|
30
|
+
return /^(https?:)?\/\//.test(value) || value.startsWith('data:') || value.startsWith('file:');
|
|
31
|
+
}
|
|
32
|
+
function Tile({
|
|
33
|
+
attachment,
|
|
34
|
+
size,
|
|
35
|
+
onRemove,
|
|
36
|
+
removeLabel,
|
|
37
|
+
onOpen,
|
|
38
|
+
openLabel,
|
|
39
|
+
testID
|
|
40
|
+
}) {
|
|
41
|
+
const theme = useTheme();
|
|
42
|
+
const palette = resolveChatComposerPalette(theme);
|
|
43
|
+
const resolveImage = useImageResolver();
|
|
44
|
+
const Glyph = attachment.icon ?? RiFileTextLine;
|
|
45
|
+
const uploading = attachment.progress !== undefined;
|
|
46
|
+
const progress = Math.min(100, Math.max(0, attachment.progress ?? 0));
|
|
47
|
+
const radius = TILE_RADIUS - 1;
|
|
48
|
+
const path = ringPath(size, size, 1, radius);
|
|
49
|
+
// No `pathLength` on native, so the dash arithmetic needs the real length:
|
|
50
|
+
// four straight runs plus one full circle of the corner radius.
|
|
51
|
+
const length = 4 * (size - 2 - 2 * radius) + 2 * Math.PI * radius;
|
|
52
|
+
const uri = attachment.source === undefined ? undefined : isUrl(attachment.source) ? attachment.source : resolveImage?.(attachment.source, 'thumb');
|
|
53
|
+
|
|
54
|
+
// The box is a button only where the caller gave it something to do. A tile
|
|
55
|
+
// that is `role="button"` with no handler announces an action that is not
|
|
56
|
+
// there, and one that opens on press without a role is unreachable.
|
|
57
|
+
const Box = onOpen === undefined ? View : Pressable;
|
|
58
|
+
const boxProps = onOpen === undefined ? {} : {
|
|
59
|
+
role: 'button',
|
|
60
|
+
accessibilityLabel: (openLabel ?? (a => a.name))(attachment),
|
|
61
|
+
onPress: () => onOpen(attachment.id)
|
|
62
|
+
};
|
|
63
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
64
|
+
style: {
|
|
65
|
+
width: size,
|
|
66
|
+
gap: 4
|
|
67
|
+
},
|
|
68
|
+
testID: testID,
|
|
69
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
70
|
+
style: {
|
|
71
|
+
position: 'relative',
|
|
72
|
+
width: size,
|
|
73
|
+
height: size
|
|
74
|
+
},
|
|
75
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
76
|
+
...boxProps,
|
|
77
|
+
style: {
|
|
78
|
+
width: size,
|
|
79
|
+
height: size,
|
|
80
|
+
borderRadius: TILE_RADIUS,
|
|
81
|
+
borderWidth: 1,
|
|
82
|
+
borderColor: palette.border,
|
|
83
|
+
backgroundColor: palette.inset,
|
|
84
|
+
alignItems: 'center',
|
|
85
|
+
justifyContent: 'center',
|
|
86
|
+
overflow: 'hidden'
|
|
87
|
+
},
|
|
88
|
+
children: uri ? /*#__PURE__*/_jsx(Image, {
|
|
89
|
+
source: {
|
|
90
|
+
uri
|
|
91
|
+
},
|
|
92
|
+
accessibilityIgnoresInvertColors: true,
|
|
93
|
+
style: {
|
|
94
|
+
width: size,
|
|
95
|
+
height: size,
|
|
96
|
+
opacity: uploading ? 0.6 : 1
|
|
97
|
+
}
|
|
98
|
+
}) : /*#__PURE__*/_jsx(Glyph, {
|
|
99
|
+
width: 22,
|
|
100
|
+
height: 22,
|
|
101
|
+
fill: palette.iconSecondary
|
|
102
|
+
})
|
|
103
|
+
}), uploading ? /*#__PURE__*/_jsx(View, {
|
|
104
|
+
...dataHook('bloomChatComposerRing'),
|
|
105
|
+
pointerEvents: "none",
|
|
106
|
+
style: {
|
|
107
|
+
position: 'absolute',
|
|
108
|
+
top: 0,
|
|
109
|
+
left: 0,
|
|
110
|
+
width: size,
|
|
111
|
+
height: size
|
|
112
|
+
},
|
|
113
|
+
testID: testID ? `${testID}-ring` : undefined,
|
|
114
|
+
children: /*#__PURE__*/_jsx(Svg, {
|
|
115
|
+
width: size,
|
|
116
|
+
height: size,
|
|
117
|
+
children: /*#__PURE__*/_jsx(Path, {
|
|
118
|
+
d: path,
|
|
119
|
+
fill: "none",
|
|
120
|
+
stroke: palette.accent,
|
|
121
|
+
strokeWidth: 2,
|
|
122
|
+
strokeLinecap: "round",
|
|
123
|
+
strokeDasharray: `${length * progress / 100} ${length}`
|
|
124
|
+
})
|
|
125
|
+
})
|
|
126
|
+
}) : null]
|
|
127
|
+
}), onRemove && !uploading ? /*#__PURE__*/_jsx(View, {
|
|
128
|
+
style: {
|
|
129
|
+
position: 'absolute',
|
|
130
|
+
top: -6,
|
|
131
|
+
right: -6
|
|
132
|
+
},
|
|
133
|
+
children: /*#__PURE__*/_jsx(ComposerIconButton, {
|
|
134
|
+
icon: RiCloseLine,
|
|
135
|
+
accessibilityLabel: removeLabel(attachment),
|
|
136
|
+
onPress: () => onRemove(attachment.id),
|
|
137
|
+
size: 20,
|
|
138
|
+
iconSize: 12,
|
|
139
|
+
style: {
|
|
140
|
+
backgroundColor: palette.surface,
|
|
141
|
+
borderWidth: 1,
|
|
142
|
+
borderColor: palette.border
|
|
143
|
+
},
|
|
144
|
+
testID: testID ? `${testID}-remove` : undefined
|
|
145
|
+
})
|
|
146
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
147
|
+
variant: "caption-2-regular",
|
|
148
|
+
numberOfLines: 1,
|
|
149
|
+
style: {
|
|
150
|
+
color: uploading ? palette.accent : palette.textSecondary
|
|
151
|
+
},
|
|
152
|
+
children: uploading ? `${Math.round(progress)}%` : attachment.caption ?? attachment.name
|
|
153
|
+
})]
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
function ComposerAttachmentStrip({
|
|
157
|
+
attachments,
|
|
158
|
+
onRemove,
|
|
159
|
+
onOpen,
|
|
160
|
+
size = TILE,
|
|
161
|
+
removeLabel: removeLabelProp,
|
|
162
|
+
openLabel,
|
|
163
|
+
style,
|
|
164
|
+
testID,
|
|
165
|
+
accessibilityLabel: accessibilityLabelProp
|
|
166
|
+
}) {
|
|
167
|
+
const {
|
|
168
|
+
messages
|
|
169
|
+
} = useMessages(CHAT_COMPOSER_MESSAGES);
|
|
170
|
+
const removeLabel = removeLabelProp ?? (attachment => messages.removeAttachment(attachment.name));
|
|
171
|
+
const accessibilityLabel = accessibilityLabelProp ?? messages.attachments;
|
|
172
|
+
if (attachments.length === 0) return null;
|
|
173
|
+
return /*#__PURE__*/_jsx(ScrollView, {
|
|
174
|
+
...dataHook('bloomChatComposerScroll'),
|
|
175
|
+
horizontal: true,
|
|
176
|
+
showsHorizontalScrollIndicator: false,
|
|
177
|
+
accessibilityLabel: accessibilityLabel,
|
|
178
|
+
contentContainerStyle: {
|
|
179
|
+
flexDirection: 'row',
|
|
180
|
+
gap: 10,
|
|
181
|
+
// The remove disc hangs 6px past the tile on both axes and a horizontal
|
|
182
|
+
// ScrollView clips its cross axis (`overflow-y: hidden` on web), so the
|
|
183
|
+
// top pad is the disc's overhang plus its border — not a rhythm value.
|
|
184
|
+
paddingLeft: 8,
|
|
185
|
+
paddingRight: 8,
|
|
186
|
+
paddingTop: 10,
|
|
187
|
+
paddingBottom: 2
|
|
188
|
+
},
|
|
189
|
+
style: [{
|
|
190
|
+
flexGrow: 0
|
|
191
|
+
}, style],
|
|
192
|
+
testID: testID,
|
|
193
|
+
children: attachments.map(attachment => /*#__PURE__*/_jsx(Tile, {
|
|
194
|
+
attachment: attachment,
|
|
195
|
+
size: size,
|
|
196
|
+
onRemove: onRemove,
|
|
197
|
+
removeLabel: removeLabel,
|
|
198
|
+
onOpen: onOpen,
|
|
199
|
+
openLabel: openLabel,
|
|
200
|
+
testID: testID ? `${testID}-${attachment.id}` : undefined
|
|
201
|
+
}, attachment.id))
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
return ComposerAttachmentStrip;
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=create-composer-attachment-strip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Image","Pressable","ScrollView","View","Svg","Path","ringPath","RiCloseLine","RiFileTextLine","useImageResolver","useTheme","Text","TILE","TILE_RADIUS","resolveChatComposerPalette","dataHook","useMessages","CHAT_COMPOSER_MESSAGES","jsx","_jsx","jsxs","_jsxs","createComposerAttachmentStrip","ComposerIconButton","isUrl","value","test","startsWith","Tile","attachment","size","onRemove","removeLabel","onOpen","openLabel","testID","theme","palette","resolveImage","Glyph","icon","uploading","progress","undefined","Math","min","max","radius","path","length","PI","uri","source","Box","boxProps","role","accessibilityLabel","a","name","onPress","id","style","width","gap","children","position","height","borderRadius","borderWidth","borderColor","border","backgroundColor","inset","alignItems","justifyContent","overflow","accessibilityIgnoresInvertColors","opacity","fill","iconSecondary","pointerEvents","top","left","d","stroke","accent","strokeWidth","strokeLinecap","strokeDasharray","right","iconSize","surface","variant","numberOfLines","color","textSecondary","round","caption","ComposerAttachmentStrip","attachments","removeLabelProp","accessibilityLabelProp","messages","removeAttachment","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","flexDirection","paddingLeft","paddingRight","paddingTop","paddingBottom","flexGrow","map"],"sourceRoot":"../../../src","sources":["chat-composer/create-composer-attachment-strip.tsx"],"mappings":"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","ignoreList":[]}
|