@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.
- package/docs/adoption-matrix.mdx +9 -9
- package/docs/app-shell.mdx +3 -1
- package/docs/button.mdx +2 -0
- package/docs/card-form.mdx +2 -0
- package/docs/chat-composer.mdx +1 -1
- package/docs/chat-people.mdx +8 -0
- 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/docs/settings-modal.mdx +15 -0
- package/lib/commonjs/ai-chat/AiChatResizeHandle.js +166 -0
- package/lib/commonjs/ai-chat/AiChatResizeHandle.js.map +1 -0
- package/lib/commonjs/ai-chat/AiChatShell.js +6 -154
- package/lib/commonjs/ai-chat/AiChatShell.js.map +1 -1
- package/lib/commonjs/ai-chat/index.js +2 -1
- package/lib/commonjs/ai-chat/index.js.map +1 -1
- package/lib/commonjs/ai-chat/index.web.js +2 -1
- package/lib/commonjs/ai-chat/index.web.js.map +1 -1
- package/lib/commonjs/ai-chat/messages.js +15 -30
- package/lib/commonjs/ai-chat/messages.js.map +1 -1
- package/lib/commonjs/app-shell/AppShellSplit.js +2 -2
- package/lib/commonjs/app-shell/AppShellSplit.js.map +1 -1
- 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/chat-people/contact-row.js +13 -0
- package/lib/commonjs/chat-people/contact-row.js.map +1 -0
- package/lib/commonjs/chat-screen/ChatSplitLayout.js +2 -2
- package/lib/commonjs/chat-screen/ChatSplitLayout.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/locale/common-messages.js +30 -15
- package/lib/commonjs/locale/common-messages.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/commonjs/settings-modal/rows.js +37 -0
- package/lib/commonjs/settings-modal/rows.js.map +1 -0
- package/lib/module/ai-chat/AiChatResizeHandle.js +160 -0
- package/lib/module/ai-chat/AiChatResizeHandle.js.map +1 -0
- package/lib/module/ai-chat/AiChatShell.js +5 -152
- package/lib/module/ai-chat/AiChatShell.js.map +1 -1
- package/lib/module/ai-chat/index.js +2 -1
- package/lib/module/ai-chat/index.js.map +1 -1
- package/lib/module/ai-chat/index.web.js +2 -1
- package/lib/module/ai-chat/index.web.js.map +1 -1
- package/lib/module/ai-chat/messages.js +15 -30
- package/lib/module/ai-chat/messages.js.map +1 -1
- package/lib/module/app-shell/AppShellSplit.js +1 -1
- package/lib/module/app-shell/AppShellSplit.js.map +1 -1
- 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/chat-people/contact-row.js +10 -0
- package/lib/module/chat-people/contact-row.js.map +1 -0
- package/lib/module/chat-screen/ChatSplitLayout.js +1 -1
- package/lib/module/chat-screen/ChatSplitLayout.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/locale/common-messages.js +30 -15
- package/lib/module/locale/common-messages.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/module/settings-modal/rows.js +10 -0
- package/lib/module/settings-modal/rows.js.map +1 -0
- package/lib/typescript/commonjs/ai-chat/AiChatResizeHandle.d.ts +11 -0
- package/lib/typescript/commonjs/ai-chat/AiChatResizeHandle.d.ts.map +1 -0
- package/lib/typescript/commonjs/ai-chat/AiChatShell.d.ts +1 -10
- package/lib/typescript/commonjs/ai-chat/AiChatShell.d.ts.map +1 -1
- package/lib/typescript/commonjs/ai-chat/index.d.ts +2 -1
- package/lib/typescript/commonjs/ai-chat/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ai-chat/index.web.d.ts +2 -1
- package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/ai-chat/messages.d.ts +0 -1
- package/lib/typescript/commonjs/ai-chat/messages.d.ts.map +1 -1
- 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/chat-people/contact-row.d.ts +9 -0
- package/lib/typescript/commonjs/chat-people/contact-row.d.ts.map +1 -0
- 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/locale/common-messages.d.ts +2 -0
- package/lib/typescript/commonjs/locale/common-messages.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/commonjs/settings-modal/rows.d.ts +9 -0
- package/lib/typescript/commonjs/settings-modal/rows.d.ts.map +1 -0
- package/lib/typescript/module/ai-chat/AiChatResizeHandle.d.ts +11 -0
- package/lib/typescript/module/ai-chat/AiChatResizeHandle.d.ts.map +1 -0
- package/lib/typescript/module/ai-chat/AiChatShell.d.ts +1 -10
- package/lib/typescript/module/ai-chat/AiChatShell.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/index.d.ts +2 -1
- package/lib/typescript/module/ai-chat/index.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/index.web.d.ts +2 -1
- package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/messages.d.ts +0 -1
- package/lib/typescript/module/ai-chat/messages.d.ts.map +1 -1
- 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/chat-people/contact-row.d.ts +9 -0
- package/lib/typescript/module/chat-people/contact-row.d.ts.map +1 -0
- 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/locale/common-messages.d.ts +2 -0
- package/lib/typescript/module/locale/common-messages.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/lib/typescript/module/settings-modal/rows.d.ts +9 -0
- package/lib/typescript/module/settings-modal/rows.d.ts.map +1 -0
- package/package.json +35 -1
- package/src/ai-chat/AiChatResizeHandle.tsx +151 -0
- package/src/ai-chat/AiChatShell.tsx +8 -143
- package/src/ai-chat/index.ts +2 -1
- package/src/ai-chat/index.web.ts +2 -1
- package/src/ai-chat/messages.ts +0 -16
- package/src/app-shell/AppShellSplit.tsx +1 -1
- 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/chat-people/contact-row.ts +8 -0
- package/src/chat-screen/ChatSplitLayout.tsx +1 -1
- 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/locale/common-messages.ts +17 -0
- 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/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 ? (
|
package/src/label/Label.tsx
CHANGED
|
@@ -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]}>
|
package/src/label/types.ts
CHANGED
|
@@ -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 {
|
|
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
|
|
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.
|
|
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={
|
|
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.
|
|
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':
|
package/src/select/Select.tsx
CHANGED
|
@@ -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':
|
|
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':
|
|
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';
|