@oxy.so/bloom 4.32.0 → 4.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (609) hide show
  1. package/docs/adoption-matrix.mdx +5 -4
  2. package/docs/date-picker.mdx +15 -28
  3. package/docs/locale.mdx +50 -0
  4. package/docs/provider.mdx +11 -0
  5. package/lib/commonjs/activity-feed/ActivityFeed.js +7 -4
  6. package/lib/commonjs/activity-feed/ActivityFeed.js.map +1 -1
  7. package/lib/commonjs/alert-dialog/AlertDialog.js +4 -1
  8. package/lib/commonjs/alert-dialog/AlertDialog.js.map +1 -1
  9. package/lib/commonjs/announcement/Announcement.js +5 -4
  10. package/lib/commonjs/announcement/Announcement.js.map +1 -1
  11. package/lib/commonjs/app-shell/ProOfferCard.js +5 -4
  12. package/lib/commonjs/app-shell/ProOfferCard.js.map +1 -1
  13. package/lib/commonjs/calendar/shared.js +5 -11
  14. package/lib/commonjs/calendar/shared.js.map +1 -1
  15. package/lib/commonjs/chart-cards/medical-parts.js +6 -2
  16. package/lib/commonjs/chart-cards/medical-parts.js.map +1 -1
  17. package/lib/commonjs/chat-composer/ComposerBanner.js +5 -3
  18. package/lib/commonjs/chat-composer/ComposerBanner.js.map +1 -1
  19. package/lib/commonjs/chat-list/ChatSearchField.js +4 -1
  20. package/lib/commonjs/chat-list/ChatSearchField.js.map +1 -1
  21. package/lib/commonjs/composer-panel/ComposerPopover.js +3 -1
  22. package/lib/commonjs/composer-panel/ComposerPopover.js.map +1 -1
  23. package/lib/commonjs/data-table/DataTableRowActions.js +6 -4
  24. package/lib/commonjs/data-table/DataTableRowActions.js.map +1 -1
  25. package/lib/commonjs/data-table/DataTableSearch.js +5 -3
  26. package/lib/commonjs/data-table/DataTableSearch.js.map +1 -1
  27. package/lib/commonjs/date-picker/Calendar.js +11 -2
  28. package/lib/commonjs/date-picker/Calendar.js.map +1 -1
  29. package/lib/commonjs/date-picker/CalendarMonth.js +4 -3
  30. package/lib/commonjs/date-picker/CalendarMonth.js.map +1 -1
  31. package/lib/commonjs/date-picker/DatePicker.js +13 -4
  32. package/lib/commonjs/date-picker/DatePicker.js.map +1 -1
  33. package/lib/commonjs/date-picker/DateRangePicker.js +17 -13
  34. package/lib/commonjs/date-picker/DateRangePicker.js.map +1 -1
  35. package/lib/commonjs/date-picker/MeetingScheduler.js +18 -13
  36. package/lib/commonjs/date-picker/MeetingScheduler.js.map +1 -1
  37. package/lib/commonjs/date-picker/PickerShell.js +5 -5
  38. package/lib/commonjs/date-picker/PickerShell.js.map +1 -1
  39. package/lib/commonjs/date-picker/calendar-grid.js +7 -21
  40. package/lib/commonjs/date-picker/calendar-grid.js.map +1 -1
  41. package/lib/commonjs/date-picker/messages.js +526 -0
  42. package/lib/commonjs/date-picker/messages.js.map +1 -0
  43. package/lib/commonjs/dialog/DialogHeader.js +12 -7
  44. package/lib/commonjs/dialog/DialogHeader.js.map +1 -1
  45. package/lib/commonjs/dialog/SheetShell.js +4 -2
  46. package/lib/commonjs/dialog/SheetShell.js.map +1 -1
  47. package/lib/commonjs/dropdown-menu/DropdownMenu.js +4 -1
  48. package/lib/commonjs/dropdown-menu/DropdownMenu.js.map +1 -1
  49. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js +4 -1
  50. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js.map +1 -1
  51. package/lib/commonjs/floating/FloatingPanel.js +3 -1
  52. package/lib/commonjs/floating/FloatingPanel.js.map +1 -1
  53. package/lib/commonjs/home-search/HomeSearchBar.js +5 -4
  54. package/lib/commonjs/home-search/HomeSearchBar.js.map +1 -1
  55. package/lib/commonjs/home-search/SavedSearchCard.js +7 -5
  56. package/lib/commonjs/home-search/SavedSearchCard.js.map +1 -1
  57. package/lib/commonjs/index.js +1063 -1034
  58. package/lib/commonjs/index.js.map +1 -1
  59. package/lib/commonjs/index.web.js +1063 -1034
  60. package/lib/commonjs/index.web.js.map +1 -1
  61. package/lib/commonjs/listing-card/ListingCard.js +5 -5
  62. package/lib/commonjs/listing-card/ListingCard.js.map +1 -1
  63. package/lib/commonjs/listing-details/ReviewCard.js +7 -5
  64. package/lib/commonjs/listing-details/ReviewCard.js.map +1 -1
  65. package/lib/commonjs/listing-editor/ListingQualityMeter.js +5 -4
  66. package/lib/commonjs/listing-editor/ListingQualityMeter.js.map +1 -1
  67. package/lib/commonjs/locale/common-messages.js +517 -0
  68. package/lib/commonjs/locale/common-messages.js.map +1 -0
  69. package/lib/commonjs/locale/context.js +35 -0
  70. package/lib/commonjs/locale/context.js.map +1 -0
  71. package/lib/commonjs/locale/format-date.js +34 -0
  72. package/lib/commonjs/locale/format-date.js.map +1 -0
  73. package/lib/commonjs/locale/index.js +32 -0
  74. package/lib/commonjs/locale/index.js.map +1 -0
  75. package/lib/commonjs/locale/languages.js +35 -0
  76. package/lib/commonjs/locale/languages.js.map +1 -0
  77. package/lib/commonjs/locale/messages.js +34 -0
  78. package/lib/commonjs/locale/messages.js.map +1 -0
  79. package/lib/commonjs/locale/plural.js +53 -0
  80. package/lib/commonjs/locale/plural.js.map +1 -0
  81. package/lib/commonjs/map-marker/MapListingPreview.js +7 -5
  82. package/lib/commonjs/map-marker/MapListingPreview.js.map +1 -1
  83. package/lib/commonjs/media-card/FriendActivityCard.js +3 -1
  84. package/lib/commonjs/media-card/FriendActivityCard.js.map +1 -1
  85. package/lib/commonjs/media-card/GenreCard.js +3 -1
  86. package/lib/commonjs/media-card/GenreCard.js.map +1 -1
  87. package/lib/commonjs/media-card/MediaCard.js +3 -1
  88. package/lib/commonjs/media-card/MediaCard.js.map +1 -1
  89. package/lib/commonjs/media-card/QuickAccessTile.js +4 -3
  90. package/lib/commonjs/media-card/QuickAccessTile.js.map +1 -1
  91. package/lib/commonjs/media-card/RecapCard.js +4 -3
  92. package/lib/commonjs/media-card/RecapCard.js.map +1 -1
  93. package/lib/commonjs/media-card/parts.js +5 -2
  94. package/lib/commonjs/media-card/parts.js.map +1 -1
  95. package/lib/commonjs/media-header/MediaActionBar.js +5 -4
  96. package/lib/commonjs/media-header/MediaActionBar.js.map +1 -1
  97. package/lib/commonjs/media-header/PopularTracks.js +5 -4
  98. package/lib/commonjs/media-header/PopularTracks.js.map +1 -1
  99. package/lib/commonjs/media-header/parts.js +6 -2
  100. package/lib/commonjs/media-header/parts.js.map +1 -1
  101. package/lib/commonjs/media-shelf/Shelf.js +7 -4
  102. package/lib/commonjs/media-shelf/Shelf.js.map +1 -1
  103. package/lib/commonjs/media-shelf/ShelfSkeleton.js +5 -3
  104. package/lib/commonjs/media-shelf/ShelfSkeleton.js.map +1 -1
  105. package/lib/commonjs/menubar/Menubar.web.js +4 -1
  106. package/lib/commonjs/menubar/Menubar.web.js.map +1 -1
  107. package/lib/commonjs/message-media/FileMessage.js +5 -3
  108. package/lib/commonjs/message-media/FileMessage.js.map +1 -1
  109. package/lib/commonjs/message-media/parts.js +4 -1
  110. package/lib/commonjs/message-media/parts.js.map +1 -1
  111. package/lib/commonjs/music-library/SearchField.js +4 -1
  112. package/lib/commonjs/music-library/SearchField.js.map +1 -1
  113. package/lib/commonjs/overlay/Overlay.js +4 -1
  114. package/lib/commonjs/overlay/Overlay.js.map +1 -1
  115. package/lib/commonjs/page-header/PageHeader.js +5 -4
  116. package/lib/commonjs/page-header/PageHeader.js.map +1 -1
  117. package/lib/commonjs/pagination/Pagination.js +7 -5
  118. package/lib/commonjs/pagination/Pagination.js.map +1 -1
  119. package/lib/commonjs/place-card/PlaceCard.js +5 -5
  120. package/lib/commonjs/place-card/PlaceCard.js.map +1 -1
  121. package/lib/commonjs/place-reviews/PlaceReviewCard.js +7 -5
  122. package/lib/commonjs/place-reviews/PlaceReviewCard.js.map +1 -1
  123. package/lib/commonjs/place-reviews/WriteReviewPrompt.js +5 -3
  124. package/lib/commonjs/place-reviews/WriteReviewPrompt.js.map +1 -1
  125. package/lib/commonjs/provider/BloomProvider.js +18 -13
  126. package/lib/commonjs/provider/BloomProvider.js.map +1 -1
  127. package/lib/commonjs/recent-hires-card/RecentHiresCard.js +7 -5
  128. package/lib/commonjs/recent-hires-card/RecentHiresCard.js.map +1 -1
  129. package/lib/commonjs/settings-modal/SettingsModal.js +3 -1
  130. package/lib/commonjs/settings-modal/SettingsModal.js.map +1 -1
  131. package/lib/commonjs/sidebar/Sidebar.js +5 -4
  132. package/lib/commonjs/sidebar/Sidebar.js.map +1 -1
  133. package/lib/commonjs/stay-filters/AmenityFilter.js +6 -2
  134. package/lib/commonjs/stay-filters/AmenityFilter.js.map +1 -1
  135. package/lib/commonjs/stay-search/GuestPicker.js +5 -3
  136. package/lib/commonjs/stay-search/GuestPicker.js.map +1 -1
  137. package/lib/commonjs/stepper/Stepper.js +4 -1
  138. package/lib/commonjs/stepper/Stepper.js.map +1 -1
  139. package/lib/commonjs/toast/ToastContent.js +3 -1
  140. package/lib/commonjs/toast/ToastContent.js.map +1 -1
  141. package/lib/commonjs/vendor-card/VendorCard.js +3 -2
  142. package/lib/commonjs/vendor-card/VendorCard.js.map +1 -1
  143. package/lib/commonjs/wizard/WizardFooter.js +7 -5
  144. package/lib/commonjs/wizard/WizardFooter.js.map +1 -1
  145. package/lib/module/activity-feed/ActivityFeed.js +8 -3
  146. package/lib/module/activity-feed/ActivityFeed.js.map +1 -1
  147. package/lib/module/alert-dialog/AlertDialog.js +4 -1
  148. package/lib/module/alert-dialog/AlertDialog.js.map +1 -1
  149. package/lib/module/announcement/Announcement.js +6 -3
  150. package/lib/module/announcement/Announcement.js.map +1 -1
  151. package/lib/module/app-shell/ProOfferCard.js +6 -3
  152. package/lib/module/app-shell/ProOfferCard.js.map +1 -1
  153. package/lib/module/calendar/shared.js +5 -11
  154. package/lib/module/calendar/shared.js.map +1 -1
  155. package/lib/module/chart-cards/medical-parts.js +6 -2
  156. package/lib/module/chart-cards/medical-parts.js.map +1 -1
  157. package/lib/module/chat-composer/ComposerBanner.js +6 -2
  158. package/lib/module/chat-composer/ComposerBanner.js.map +1 -1
  159. package/lib/module/chat-list/ChatSearchField.js +6 -3
  160. package/lib/module/chat-list/ChatSearchField.js.map +1 -1
  161. package/lib/module/composer-panel/ComposerPopover.js +3 -1
  162. package/lib/module/composer-panel/ComposerPopover.js.map +1 -1
  163. package/lib/module/data-table/DataTableRowActions.js +7 -3
  164. package/lib/module/data-table/DataTableRowActions.js.map +1 -1
  165. package/lib/module/data-table/DataTableSearch.js +6 -2
  166. package/lib/module/data-table/DataTableSearch.js.map +1 -1
  167. package/lib/module/date-picker/Calendar.js +11 -2
  168. package/lib/module/date-picker/Calendar.js.map +1 -1
  169. package/lib/module/date-picker/CalendarMonth.js +4 -3
  170. package/lib/module/date-picker/CalendarMonth.js.map +1 -1
  171. package/lib/module/date-picker/DatePicker.js +13 -4
  172. package/lib/module/date-picker/DatePicker.js.map +1 -1
  173. package/lib/module/date-picker/DateRangePicker.js +17 -13
  174. package/lib/module/date-picker/DateRangePicker.js.map +1 -1
  175. package/lib/module/date-picker/MeetingScheduler.js +18 -13
  176. package/lib/module/date-picker/MeetingScheduler.js.map +1 -1
  177. package/lib/module/date-picker/PickerShell.js +6 -4
  178. package/lib/module/date-picker/PickerShell.js.map +1 -1
  179. package/lib/module/date-picker/calendar-grid.js +7 -21
  180. package/lib/module/date-picker/calendar-grid.js.map +1 -1
  181. package/lib/module/date-picker/messages.js +523 -0
  182. package/lib/module/date-picker/messages.js.map +1 -0
  183. package/lib/module/dialog/DialogHeader.js +12 -7
  184. package/lib/module/dialog/DialogHeader.js.map +1 -1
  185. package/lib/module/dialog/SheetShell.js +4 -2
  186. package/lib/module/dialog/SheetShell.js.map +1 -1
  187. package/lib/module/dropdown-menu/DropdownMenu.js +4 -1
  188. package/lib/module/dropdown-menu/DropdownMenu.js.map +1 -1
  189. package/lib/module/dropdown-menu/DropdownMenu.web.js +4 -1
  190. package/lib/module/dropdown-menu/DropdownMenu.web.js.map +1 -1
  191. package/lib/module/floating/FloatingPanel.js +3 -1
  192. package/lib/module/floating/FloatingPanel.js.map +1 -1
  193. package/lib/module/home-search/HomeSearchBar.js +6 -3
  194. package/lib/module/home-search/HomeSearchBar.js.map +1 -1
  195. package/lib/module/home-search/SavedSearchCard.js +8 -4
  196. package/lib/module/home-search/SavedSearchCard.js.map +1 -1
  197. package/lib/module/index.js +1 -0
  198. package/lib/module/index.js.map +1 -1
  199. package/lib/module/index.web.js +1 -0
  200. package/lib/module/index.web.js.map +1 -1
  201. package/lib/module/listing-card/ListingCard.js +6 -4
  202. package/lib/module/listing-card/ListingCard.js.map +1 -1
  203. package/lib/module/listing-details/ReviewCard.js +8 -4
  204. package/lib/module/listing-details/ReviewCard.js.map +1 -1
  205. package/lib/module/listing-editor/ListingQualityMeter.js +6 -3
  206. package/lib/module/listing-editor/ListingQualityMeter.js.map +1 -1
  207. package/lib/module/locale/common-messages.js +513 -0
  208. package/lib/module/locale/common-messages.js.map +1 -0
  209. package/lib/module/locale/context.js +30 -0
  210. package/lib/module/locale/context.js.map +1 -0
  211. package/lib/module/locale/format-date.js +30 -0
  212. package/lib/module/locale/format-date.js.map +1 -0
  213. package/lib/module/locale/index.js +7 -0
  214. package/lib/module/locale/index.js.map +1 -0
  215. package/lib/module/locale/languages.js +29 -0
  216. package/lib/module/locale/languages.js.map +1 -0
  217. package/lib/module/locale/messages.js +30 -0
  218. package/lib/module/locale/messages.js.map +1 -0
  219. package/lib/module/locale/plural.js +48 -0
  220. package/lib/module/locale/plural.js.map +1 -0
  221. package/lib/module/map-marker/MapListingPreview.js +8 -4
  222. package/lib/module/map-marker/MapListingPreview.js.map +1 -1
  223. package/lib/module/media-card/FriendActivityCard.js +3 -1
  224. package/lib/module/media-card/FriendActivityCard.js.map +1 -1
  225. package/lib/module/media-card/GenreCard.js +3 -1
  226. package/lib/module/media-card/GenreCard.js.map +1 -1
  227. package/lib/module/media-card/MediaCard.js +5 -3
  228. package/lib/module/media-card/MediaCard.js.map +1 -1
  229. package/lib/module/media-card/QuickAccessTile.js +5 -2
  230. package/lib/module/media-card/QuickAccessTile.js.map +1 -1
  231. package/lib/module/media-card/RecapCard.js +5 -2
  232. package/lib/module/media-card/RecapCard.js.map +1 -1
  233. package/lib/module/media-card/parts.js +5 -2
  234. package/lib/module/media-card/parts.js.map +1 -1
  235. package/lib/module/media-header/MediaActionBar.js +6 -3
  236. package/lib/module/media-header/MediaActionBar.js.map +1 -1
  237. package/lib/module/media-header/PopularTracks.js +6 -3
  238. package/lib/module/media-header/PopularTracks.js.map +1 -1
  239. package/lib/module/media-header/parts.js +8 -3
  240. package/lib/module/media-header/parts.js.map +1 -1
  241. package/lib/module/media-shelf/Shelf.js +8 -3
  242. package/lib/module/media-shelf/Shelf.js.map +1 -1
  243. package/lib/module/media-shelf/ShelfSkeleton.js +6 -2
  244. package/lib/module/media-shelf/ShelfSkeleton.js.map +1 -1
  245. package/lib/module/menubar/Menubar.web.js +4 -1
  246. package/lib/module/menubar/Menubar.web.js.map +1 -1
  247. package/lib/module/message-media/FileMessage.js +6 -2
  248. package/lib/module/message-media/FileMessage.js.map +1 -1
  249. package/lib/module/message-media/parts.js +6 -2
  250. package/lib/module/message-media/parts.js.map +1 -1
  251. package/lib/module/music-library/SearchField.js +6 -3
  252. package/lib/module/music-library/SearchField.js.map +1 -1
  253. package/lib/module/overlay/Overlay.js +4 -1
  254. package/lib/module/overlay/Overlay.js.map +1 -1
  255. package/lib/module/page-header/PageHeader.js +6 -3
  256. package/lib/module/page-header/PageHeader.js.map +1 -1
  257. package/lib/module/pagination/Pagination.js +8 -4
  258. package/lib/module/pagination/Pagination.js.map +1 -1
  259. package/lib/module/place-card/PlaceCard.js +6 -4
  260. package/lib/module/place-card/PlaceCard.js.map +1 -1
  261. package/lib/module/place-reviews/PlaceReviewCard.js +8 -4
  262. package/lib/module/place-reviews/PlaceReviewCard.js.map +1 -1
  263. package/lib/module/place-reviews/WriteReviewPrompt.js +6 -2
  264. package/lib/module/place-reviews/WriteReviewPrompt.js.map +1 -1
  265. package/lib/module/provider/BloomProvider.js +16 -11
  266. package/lib/module/provider/BloomProvider.js.map +1 -1
  267. package/lib/module/recent-hires-card/RecentHiresCard.js +8 -4
  268. package/lib/module/recent-hires-card/RecentHiresCard.js.map +1 -1
  269. package/lib/module/settings-modal/SettingsModal.js +3 -1
  270. package/lib/module/settings-modal/SettingsModal.js.map +1 -1
  271. package/lib/module/sidebar/Sidebar.js +6 -3
  272. package/lib/module/sidebar/Sidebar.js.map +1 -1
  273. package/lib/module/stay-filters/AmenityFilter.js +8 -3
  274. package/lib/module/stay-filters/AmenityFilter.js.map +1 -1
  275. package/lib/module/stay-search/GuestPicker.js +6 -2
  276. package/lib/module/stay-search/GuestPicker.js.map +1 -1
  277. package/lib/module/stepper/Stepper.js +4 -1
  278. package/lib/module/stepper/Stepper.js.map +1 -1
  279. package/lib/module/toast/ToastContent.js +3 -1
  280. package/lib/module/toast/ToastContent.js.map +1 -1
  281. package/lib/module/vendor-card/VendorCard.js +5 -3
  282. package/lib/module/vendor-card/VendorCard.js.map +1 -1
  283. package/lib/module/wizard/WizardFooter.js +8 -4
  284. package/lib/module/wizard/WizardFooter.js.map +1 -1
  285. package/lib/typescript/commonjs/activity-feed/ActivityFeed.d.ts +1 -1
  286. package/lib/typescript/commonjs/activity-feed/ActivityFeed.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/alert-dialog/AlertDialog.d.ts +1 -1
  288. package/lib/typescript/commonjs/alert-dialog/AlertDialog.d.ts.map +1 -1
  289. package/lib/typescript/commonjs/alert-dialog/index.d.ts +1 -1
  290. package/lib/typescript/commonjs/alert-dialog/index.d.ts.map +1 -1
  291. package/lib/typescript/commonjs/alert-dialog/index.web.d.ts +1 -1
  292. package/lib/typescript/commonjs/alert-dialog/index.web.d.ts.map +1 -1
  293. package/lib/typescript/commonjs/announcement/Announcement.d.ts +1 -1
  294. package/lib/typescript/commonjs/announcement/Announcement.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/app-shell/ProOfferCard.d.ts.map +1 -1
  296. package/lib/typescript/commonjs/calendar/shared.d.ts.map +1 -1
  297. package/lib/typescript/commonjs/chart-cards/medical-parts.d.ts +1 -1
  298. package/lib/typescript/commonjs/chart-cards/medical-parts.d.ts.map +1 -1
  299. package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts +1 -1
  300. package/lib/typescript/commonjs/chat-composer/ComposerBanner.d.ts.map +1 -1
  301. package/lib/typescript/commonjs/chat-list/ChatSearchField.d.ts +1 -1
  302. package/lib/typescript/commonjs/chat-list/ChatSearchField.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/composer-panel/ComposerPopover.d.ts.map +1 -1
  304. package/lib/typescript/commonjs/data-table/DataTableRowActions.d.ts +1 -1
  305. package/lib/typescript/commonjs/data-table/DataTableRowActions.d.ts.map +1 -1
  306. package/lib/typescript/commonjs/data-table/DataTableSearch.d.ts +1 -1
  307. package/lib/typescript/commonjs/data-table/DataTableSearch.d.ts.map +1 -1
  308. package/lib/typescript/commonjs/date-picker/Calendar.d.ts.map +1 -1
  309. package/lib/typescript/commonjs/date-picker/CalendarMonth.d.ts +5 -3
  310. package/lib/typescript/commonjs/date-picker/CalendarMonth.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/date-picker/DatePicker.d.ts +1 -1
  312. package/lib/typescript/commonjs/date-picker/DatePicker.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/date-picker/DateRangePicker.d.ts +1 -1
  314. package/lib/typescript/commonjs/date-picker/DateRangePicker.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/date-picker/MeetingScheduler.d.ts +1 -1
  316. package/lib/typescript/commonjs/date-picker/MeetingScheduler.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/date-picker/PickerShell.d.ts +3 -3
  318. package/lib/typescript/commonjs/date-picker/PickerShell.d.ts.map +1 -1
  319. package/lib/typescript/commonjs/date-picker/calendar-grid.d.ts +1 -2
  320. package/lib/typescript/commonjs/date-picker/calendar-grid.d.ts.map +1 -1
  321. package/lib/typescript/commonjs/date-picker/messages.d.ts +31 -0
  322. package/lib/typescript/commonjs/date-picker/messages.d.ts.map +1 -0
  323. package/lib/typescript/commonjs/date-picker/types.d.ts +28 -24
  324. package/lib/typescript/commonjs/date-picker/types.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/dialog/DialogHeader.d.ts.map +1 -1
  326. package/lib/typescript/commonjs/dialog/SheetShell.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.d.ts +1 -1
  328. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.web.d.ts +1 -1
  330. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  331. package/lib/typescript/commonjs/floating/FloatingPanel.d.ts.map +1 -1
  332. package/lib/typescript/commonjs/home-search/HomeSearchBar.d.ts +1 -1
  333. package/lib/typescript/commonjs/home-search/HomeSearchBar.d.ts.map +1 -1
  334. package/lib/typescript/commonjs/home-search/SavedSearchCard.d.ts +1 -1
  335. package/lib/typescript/commonjs/home-search/SavedSearchCard.d.ts.map +1 -1
  336. package/lib/typescript/commonjs/index.d.ts +2 -0
  337. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  338. package/lib/typescript/commonjs/index.web.d.ts +2 -0
  339. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  340. package/lib/typescript/commonjs/listing-card/ListingCard.d.ts.map +1 -1
  341. package/lib/typescript/commonjs/listing-details/ReviewCard.d.ts +1 -1
  342. package/lib/typescript/commonjs/listing-details/ReviewCard.d.ts.map +1 -1
  343. package/lib/typescript/commonjs/listing-editor/ListingQualityMeter.d.ts +1 -1
  344. package/lib/typescript/commonjs/listing-editor/ListingQualityMeter.d.ts.map +1 -1
  345. package/lib/typescript/commonjs/locale/common-messages.d.ts +54 -0
  346. package/lib/typescript/commonjs/locale/common-messages.d.ts.map +1 -0
  347. package/lib/typescript/commonjs/locale/context.d.ts +18 -0
  348. package/lib/typescript/commonjs/locale/context.d.ts.map +1 -0
  349. package/lib/typescript/commonjs/locale/format-date.d.ts +13 -0
  350. package/lib/typescript/commonjs/locale/format-date.d.ts.map +1 -0
  351. package/lib/typescript/commonjs/locale/index.d.ts +3 -0
  352. package/lib/typescript/commonjs/locale/index.d.ts.map +1 -0
  353. package/lib/typescript/commonjs/locale/languages.d.ts +16 -0
  354. package/lib/typescript/commonjs/locale/languages.d.ts.map +1 -0
  355. package/lib/typescript/commonjs/locale/messages.d.ts +18 -0
  356. package/lib/typescript/commonjs/locale/messages.d.ts.map +1 -0
  357. package/lib/typescript/commonjs/locale/plural.d.ts +19 -0
  358. package/lib/typescript/commonjs/locale/plural.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/map-marker/MapListingPreview.d.ts +1 -1
  360. package/lib/typescript/commonjs/map-marker/MapListingPreview.d.ts.map +1 -1
  361. package/lib/typescript/commonjs/media-card/FriendActivityCard.d.ts.map +1 -1
  362. package/lib/typescript/commonjs/media-card/GenreCard.d.ts.map +1 -1
  363. package/lib/typescript/commonjs/media-card/MediaCard.d.ts.map +1 -1
  364. package/lib/typescript/commonjs/media-card/QuickAccessTile.d.ts.map +1 -1
  365. package/lib/typescript/commonjs/media-card/RecapCard.d.ts.map +1 -1
  366. package/lib/typescript/commonjs/media-card/parts.d.ts +1 -1
  367. package/lib/typescript/commonjs/media-card/parts.d.ts.map +1 -1
  368. package/lib/typescript/commonjs/media-header/MediaActionBar.d.ts +1 -1
  369. package/lib/typescript/commonjs/media-header/MediaActionBar.d.ts.map +1 -1
  370. package/lib/typescript/commonjs/media-header/PopularTracks.d.ts +1 -1
  371. package/lib/typescript/commonjs/media-header/PopularTracks.d.ts.map +1 -1
  372. package/lib/typescript/commonjs/media-header/parts.d.ts +1 -1
  373. package/lib/typescript/commonjs/media-header/parts.d.ts.map +1 -1
  374. package/lib/typescript/commonjs/media-shelf/Shelf.d.ts +1 -1
  375. package/lib/typescript/commonjs/media-shelf/Shelf.d.ts.map +1 -1
  376. package/lib/typescript/commonjs/media-shelf/ShelfSkeleton.d.ts +1 -1
  377. package/lib/typescript/commonjs/media-shelf/ShelfSkeleton.d.ts.map +1 -1
  378. package/lib/typescript/commonjs/menubar/Menubar.web.d.ts +1 -1
  379. package/lib/typescript/commonjs/menubar/Menubar.web.d.ts.map +1 -1
  380. package/lib/typescript/commonjs/message-media/FileMessage.d.ts +1 -1
  381. package/lib/typescript/commonjs/message-media/FileMessage.d.ts.map +1 -1
  382. package/lib/typescript/commonjs/message-media/parts.d.ts.map +1 -1
  383. package/lib/typescript/commonjs/music-library/SearchField.d.ts +1 -1
  384. package/lib/typescript/commonjs/music-library/SearchField.d.ts.map +1 -1
  385. package/lib/typescript/commonjs/overlay/Overlay.d.ts.map +1 -1
  386. package/lib/typescript/commonjs/page-header/PageHeader.d.ts +1 -1
  387. package/lib/typescript/commonjs/page-header/PageHeader.d.ts.map +1 -1
  388. package/lib/typescript/commonjs/pagination/Pagination.d.ts.map +1 -1
  389. package/lib/typescript/commonjs/place-card/PlaceCard.d.ts.map +1 -1
  390. package/lib/typescript/commonjs/place-reviews/PlaceReviewCard.d.ts +1 -1
  391. package/lib/typescript/commonjs/place-reviews/PlaceReviewCard.d.ts.map +1 -1
  392. package/lib/typescript/commonjs/place-reviews/WriteReviewPrompt.d.ts +1 -1
  393. package/lib/typescript/commonjs/place-reviews/WriteReviewPrompt.d.ts.map +1 -1
  394. package/lib/typescript/commonjs/provider/BloomProvider.d.ts +1 -1
  395. package/lib/typescript/commonjs/provider/BloomProvider.d.ts.map +1 -1
  396. package/lib/typescript/commonjs/provider/types.d.ts +6 -0
  397. package/lib/typescript/commonjs/provider/types.d.ts.map +1 -1
  398. package/lib/typescript/commonjs/recent-hires-card/RecentHiresCard.d.ts.map +1 -1
  399. package/lib/typescript/commonjs/settings-modal/SettingsModal.d.ts.map +1 -1
  400. package/lib/typescript/commonjs/sidebar/Sidebar.d.ts.map +1 -1
  401. package/lib/typescript/commonjs/stay-filters/AmenityFilter.d.ts +1 -1
  402. package/lib/typescript/commonjs/stay-filters/AmenityFilter.d.ts.map +1 -1
  403. package/lib/typescript/commonjs/stay-search/GuestPicker.d.ts +1 -1
  404. package/lib/typescript/commonjs/stay-search/GuestPicker.d.ts.map +1 -1
  405. package/lib/typescript/commonjs/stepper/Stepper.d.ts +1 -1
  406. package/lib/typescript/commonjs/stepper/Stepper.d.ts.map +1 -1
  407. package/lib/typescript/commonjs/toast/ToastContent.d.ts.map +1 -1
  408. package/lib/typescript/commonjs/vendor-card/VendorCard.d.ts.map +1 -1
  409. package/lib/typescript/commonjs/wizard/WizardFooter.d.ts +1 -1
  410. package/lib/typescript/commonjs/wizard/WizardFooter.d.ts.map +1 -1
  411. package/lib/typescript/module/activity-feed/ActivityFeed.d.ts +1 -1
  412. package/lib/typescript/module/activity-feed/ActivityFeed.d.ts.map +1 -1
  413. package/lib/typescript/module/alert-dialog/AlertDialog.d.ts +1 -1
  414. package/lib/typescript/module/alert-dialog/AlertDialog.d.ts.map +1 -1
  415. package/lib/typescript/module/alert-dialog/index.d.ts +1 -1
  416. package/lib/typescript/module/alert-dialog/index.d.ts.map +1 -1
  417. package/lib/typescript/module/alert-dialog/index.web.d.ts +1 -1
  418. package/lib/typescript/module/alert-dialog/index.web.d.ts.map +1 -1
  419. package/lib/typescript/module/announcement/Announcement.d.ts +1 -1
  420. package/lib/typescript/module/announcement/Announcement.d.ts.map +1 -1
  421. package/lib/typescript/module/app-shell/ProOfferCard.d.ts.map +1 -1
  422. package/lib/typescript/module/calendar/shared.d.ts.map +1 -1
  423. package/lib/typescript/module/chart-cards/medical-parts.d.ts +1 -1
  424. package/lib/typescript/module/chart-cards/medical-parts.d.ts.map +1 -1
  425. package/lib/typescript/module/chat-composer/ComposerBanner.d.ts +1 -1
  426. package/lib/typescript/module/chat-composer/ComposerBanner.d.ts.map +1 -1
  427. package/lib/typescript/module/chat-list/ChatSearchField.d.ts +1 -1
  428. package/lib/typescript/module/chat-list/ChatSearchField.d.ts.map +1 -1
  429. package/lib/typescript/module/composer-panel/ComposerPopover.d.ts.map +1 -1
  430. package/lib/typescript/module/data-table/DataTableRowActions.d.ts +1 -1
  431. package/lib/typescript/module/data-table/DataTableRowActions.d.ts.map +1 -1
  432. package/lib/typescript/module/data-table/DataTableSearch.d.ts +1 -1
  433. package/lib/typescript/module/data-table/DataTableSearch.d.ts.map +1 -1
  434. package/lib/typescript/module/date-picker/Calendar.d.ts.map +1 -1
  435. package/lib/typescript/module/date-picker/CalendarMonth.d.ts +5 -3
  436. package/lib/typescript/module/date-picker/CalendarMonth.d.ts.map +1 -1
  437. package/lib/typescript/module/date-picker/DatePicker.d.ts +1 -1
  438. package/lib/typescript/module/date-picker/DatePicker.d.ts.map +1 -1
  439. package/lib/typescript/module/date-picker/DateRangePicker.d.ts +1 -1
  440. package/lib/typescript/module/date-picker/DateRangePicker.d.ts.map +1 -1
  441. package/lib/typescript/module/date-picker/MeetingScheduler.d.ts +1 -1
  442. package/lib/typescript/module/date-picker/MeetingScheduler.d.ts.map +1 -1
  443. package/lib/typescript/module/date-picker/PickerShell.d.ts +3 -3
  444. package/lib/typescript/module/date-picker/PickerShell.d.ts.map +1 -1
  445. package/lib/typescript/module/date-picker/calendar-grid.d.ts +1 -2
  446. package/lib/typescript/module/date-picker/calendar-grid.d.ts.map +1 -1
  447. package/lib/typescript/module/date-picker/messages.d.ts +31 -0
  448. package/lib/typescript/module/date-picker/messages.d.ts.map +1 -0
  449. package/lib/typescript/module/date-picker/types.d.ts +28 -24
  450. package/lib/typescript/module/date-picker/types.d.ts.map +1 -1
  451. package/lib/typescript/module/dialog/DialogHeader.d.ts.map +1 -1
  452. package/lib/typescript/module/dialog/SheetShell.d.ts.map +1 -1
  453. package/lib/typescript/module/dropdown-menu/DropdownMenu.d.ts +1 -1
  454. package/lib/typescript/module/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  455. package/lib/typescript/module/dropdown-menu/DropdownMenu.web.d.ts +1 -1
  456. package/lib/typescript/module/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  457. package/lib/typescript/module/floating/FloatingPanel.d.ts.map +1 -1
  458. package/lib/typescript/module/home-search/HomeSearchBar.d.ts +1 -1
  459. package/lib/typescript/module/home-search/HomeSearchBar.d.ts.map +1 -1
  460. package/lib/typescript/module/home-search/SavedSearchCard.d.ts +1 -1
  461. package/lib/typescript/module/home-search/SavedSearchCard.d.ts.map +1 -1
  462. package/lib/typescript/module/index.d.ts +2 -0
  463. package/lib/typescript/module/index.d.ts.map +1 -1
  464. package/lib/typescript/module/index.web.d.ts +2 -0
  465. package/lib/typescript/module/index.web.d.ts.map +1 -1
  466. package/lib/typescript/module/listing-card/ListingCard.d.ts.map +1 -1
  467. package/lib/typescript/module/listing-details/ReviewCard.d.ts +1 -1
  468. package/lib/typescript/module/listing-details/ReviewCard.d.ts.map +1 -1
  469. package/lib/typescript/module/listing-editor/ListingQualityMeter.d.ts +1 -1
  470. package/lib/typescript/module/listing-editor/ListingQualityMeter.d.ts.map +1 -1
  471. package/lib/typescript/module/locale/common-messages.d.ts +54 -0
  472. package/lib/typescript/module/locale/common-messages.d.ts.map +1 -0
  473. package/lib/typescript/module/locale/context.d.ts +18 -0
  474. package/lib/typescript/module/locale/context.d.ts.map +1 -0
  475. package/lib/typescript/module/locale/format-date.d.ts +13 -0
  476. package/lib/typescript/module/locale/format-date.d.ts.map +1 -0
  477. package/lib/typescript/module/locale/index.d.ts +3 -0
  478. package/lib/typescript/module/locale/index.d.ts.map +1 -0
  479. package/lib/typescript/module/locale/languages.d.ts +16 -0
  480. package/lib/typescript/module/locale/languages.d.ts.map +1 -0
  481. package/lib/typescript/module/locale/messages.d.ts +18 -0
  482. package/lib/typescript/module/locale/messages.d.ts.map +1 -0
  483. package/lib/typescript/module/locale/plural.d.ts +19 -0
  484. package/lib/typescript/module/locale/plural.d.ts.map +1 -0
  485. package/lib/typescript/module/map-marker/MapListingPreview.d.ts +1 -1
  486. package/lib/typescript/module/map-marker/MapListingPreview.d.ts.map +1 -1
  487. package/lib/typescript/module/media-card/FriendActivityCard.d.ts.map +1 -1
  488. package/lib/typescript/module/media-card/GenreCard.d.ts.map +1 -1
  489. package/lib/typescript/module/media-card/MediaCard.d.ts.map +1 -1
  490. package/lib/typescript/module/media-card/QuickAccessTile.d.ts.map +1 -1
  491. package/lib/typescript/module/media-card/RecapCard.d.ts.map +1 -1
  492. package/lib/typescript/module/media-card/parts.d.ts +1 -1
  493. package/lib/typescript/module/media-card/parts.d.ts.map +1 -1
  494. package/lib/typescript/module/media-header/MediaActionBar.d.ts +1 -1
  495. package/lib/typescript/module/media-header/MediaActionBar.d.ts.map +1 -1
  496. package/lib/typescript/module/media-header/PopularTracks.d.ts +1 -1
  497. package/lib/typescript/module/media-header/PopularTracks.d.ts.map +1 -1
  498. package/lib/typescript/module/media-header/parts.d.ts +1 -1
  499. package/lib/typescript/module/media-header/parts.d.ts.map +1 -1
  500. package/lib/typescript/module/media-shelf/Shelf.d.ts +1 -1
  501. package/lib/typescript/module/media-shelf/Shelf.d.ts.map +1 -1
  502. package/lib/typescript/module/media-shelf/ShelfSkeleton.d.ts +1 -1
  503. package/lib/typescript/module/media-shelf/ShelfSkeleton.d.ts.map +1 -1
  504. package/lib/typescript/module/menubar/Menubar.web.d.ts +1 -1
  505. package/lib/typescript/module/menubar/Menubar.web.d.ts.map +1 -1
  506. package/lib/typescript/module/message-media/FileMessage.d.ts +1 -1
  507. package/lib/typescript/module/message-media/FileMessage.d.ts.map +1 -1
  508. package/lib/typescript/module/message-media/parts.d.ts.map +1 -1
  509. package/lib/typescript/module/music-library/SearchField.d.ts +1 -1
  510. package/lib/typescript/module/music-library/SearchField.d.ts.map +1 -1
  511. package/lib/typescript/module/overlay/Overlay.d.ts.map +1 -1
  512. package/lib/typescript/module/page-header/PageHeader.d.ts +1 -1
  513. package/lib/typescript/module/page-header/PageHeader.d.ts.map +1 -1
  514. package/lib/typescript/module/pagination/Pagination.d.ts.map +1 -1
  515. package/lib/typescript/module/place-card/PlaceCard.d.ts.map +1 -1
  516. package/lib/typescript/module/place-reviews/PlaceReviewCard.d.ts +1 -1
  517. package/lib/typescript/module/place-reviews/PlaceReviewCard.d.ts.map +1 -1
  518. package/lib/typescript/module/place-reviews/WriteReviewPrompt.d.ts +1 -1
  519. package/lib/typescript/module/place-reviews/WriteReviewPrompt.d.ts.map +1 -1
  520. package/lib/typescript/module/provider/BloomProvider.d.ts +1 -1
  521. package/lib/typescript/module/provider/BloomProvider.d.ts.map +1 -1
  522. package/lib/typescript/module/provider/types.d.ts +6 -0
  523. package/lib/typescript/module/provider/types.d.ts.map +1 -1
  524. package/lib/typescript/module/recent-hires-card/RecentHiresCard.d.ts.map +1 -1
  525. package/lib/typescript/module/settings-modal/SettingsModal.d.ts.map +1 -1
  526. package/lib/typescript/module/sidebar/Sidebar.d.ts.map +1 -1
  527. package/lib/typescript/module/stay-filters/AmenityFilter.d.ts +1 -1
  528. package/lib/typescript/module/stay-filters/AmenityFilter.d.ts.map +1 -1
  529. package/lib/typescript/module/stay-search/GuestPicker.d.ts +1 -1
  530. package/lib/typescript/module/stay-search/GuestPicker.d.ts.map +1 -1
  531. package/lib/typescript/module/stepper/Stepper.d.ts +1 -1
  532. package/lib/typescript/module/stepper/Stepper.d.ts.map +1 -1
  533. package/lib/typescript/module/toast/ToastContent.d.ts.map +1 -1
  534. package/lib/typescript/module/vendor-card/VendorCard.d.ts.map +1 -1
  535. package/lib/typescript/module/wizard/WizardFooter.d.ts +1 -1
  536. package/lib/typescript/module/wizard/WizardFooter.d.ts.map +1 -1
  537. package/package.json +18 -1
  538. package/src/activity-feed/ActivityFeed.tsx +6 -2
  539. package/src/alert-dialog/AlertDialog.tsx +4 -1
  540. package/src/announcement/Announcement.tsx +4 -1
  541. package/src/app-shell/ProOfferCard.tsx +4 -1
  542. package/src/calendar/shared.ts +5 -12
  543. package/src/chart-cards/medical-parts.tsx +6 -2
  544. package/src/chat-composer/ComposerBanner.tsx +4 -1
  545. package/src/chat-list/ChatSearchField.tsx +4 -1
  546. package/src/composer-panel/ComposerPopover.tsx +3 -1
  547. package/src/data-table/DataTableRowActions.tsx +5 -2
  548. package/src/data-table/DataTableSearch.tsx +4 -1
  549. package/src/date-picker/Calendar.tsx +8 -2
  550. package/src/date-picker/CalendarMonth.tsx +8 -5
  551. package/src/date-picker/DatePicker.tsx +10 -4
  552. package/src/date-picker/DateRangePicker.tsx +14 -13
  553. package/src/date-picker/MeetingScheduler.tsx +17 -11
  554. package/src/date-picker/PickerShell.tsx +6 -5
  555. package/src/date-picker/calendar-grid.ts +16 -23
  556. package/src/date-picker/messages.ts +470 -0
  557. package/src/date-picker/types.ts +28 -24
  558. package/src/dialog/DialogHeader.tsx +12 -7
  559. package/src/dialog/SheetShell.tsx +4 -2
  560. package/src/dropdown-menu/DropdownMenu.tsx +4 -1
  561. package/src/dropdown-menu/DropdownMenu.web.tsx +4 -1
  562. package/src/floating/FloatingPanel.tsx +3 -1
  563. package/src/home-search/HomeSearchBar.tsx +4 -1
  564. package/src/home-search/SavedSearchCard.tsx +6 -2
  565. package/src/index.ts +2 -0
  566. package/src/index.web.ts +2 -0
  567. package/src/listing-card/ListingCard.tsx +4 -2
  568. package/src/listing-details/ReviewCard.tsx +6 -2
  569. package/src/listing-editor/ListingQualityMeter.tsx +4 -1
  570. package/src/locale/common-messages.ts +554 -0
  571. package/src/locale/context.ts +23 -0
  572. package/src/locale/format-date.ts +28 -0
  573. package/src/locale/index.ts +4 -0
  574. package/src/locale/languages.ts +45 -0
  575. package/src/locale/messages.ts +29 -0
  576. package/src/locale/plural.ts +53 -0
  577. package/src/map-marker/MapListingPreview.tsx +6 -2
  578. package/src/media-card/FriendActivityCard.tsx +3 -1
  579. package/src/media-card/GenreCard.tsx +3 -1
  580. package/src/media-card/MediaCard.tsx +3 -1
  581. package/src/media-card/QuickAccessTile.tsx +3 -1
  582. package/src/media-card/RecapCard.tsx +3 -1
  583. package/src/media-card/parts.tsx +5 -2
  584. package/src/media-header/MediaActionBar.tsx +4 -1
  585. package/src/media-header/PopularTracks.tsx +4 -1
  586. package/src/media-header/parts.tsx +6 -2
  587. package/src/media-shelf/Shelf.tsx +6 -2
  588. package/src/media-shelf/ShelfSkeleton.tsx +4 -1
  589. package/src/menubar/Menubar.web.tsx +4 -1
  590. package/src/message-media/FileMessage.tsx +4 -1
  591. package/src/message-media/parts.tsx +4 -1
  592. package/src/music-library/SearchField.tsx +4 -1
  593. package/src/overlay/Overlay.tsx +4 -1
  594. package/src/page-header/PageHeader.tsx +4 -1
  595. package/src/pagination/Pagination.tsx +6 -2
  596. package/src/place-card/PlaceCard.tsx +4 -2
  597. package/src/place-reviews/PlaceReviewCard.tsx +6 -2
  598. package/src/place-reviews/WriteReviewPrompt.tsx +4 -1
  599. package/src/provider/BloomProvider.tsx +39 -35
  600. package/src/provider/types.ts +6 -0
  601. package/src/recent-hires-card/RecentHiresCard.tsx +6 -2
  602. package/src/settings-modal/SettingsModal.tsx +3 -1
  603. package/src/sidebar/Sidebar.tsx +4 -1
  604. package/src/stay-filters/AmenityFilter.tsx +6 -2
  605. package/src/stay-search/GuestPicker.tsx +4 -1
  606. package/src/stepper/Stepper.tsx +4 -1
  607. package/src/toast/ToastContent.tsx +3 -1
  608. package/src/vendor-card/VendorCard.tsx +3 -1
  609. package/src/wizard/WizardFooter.tsx +6 -2
@@ -7,6 +7,7 @@ import { GlassBlurTargetProvider } from '../glass/blur-target';
7
7
  import { BottomEdgeProvider } from '../layout/bottom-edge';
8
8
  import { TopEdgeProvider } from '../layout/top-edge';
9
9
  import { ImageResolverProvider, type ImageResolver } from '../image-resolver';
10
+ import { LocaleProvider } from '../locale/context';
10
11
  import { BloomHapticsProvider } from '../hooks/use-haptics';
11
12
  import { TabBarMinimizeProvider } from '../tab-bar/context';
12
13
  import { BloomThemeProvider, type BloomThemeProviderProps } from '../theme';
@@ -26,51 +27,54 @@ export function BloomProvider({
26
27
  imageResolver,
27
28
  haptics = true,
28
29
  scrollAdapter = noRouterAdapter,
30
+ locale,
29
31
  ...themeProps
30
32
  }: BloomProviderProps) {
31
33
  return (
32
34
  // `value` is passed unconditionally (null when unset) so toggling a resolver
33
35
  // never changes the tree shape and remounts everything below it.
34
36
  <ImageResolverProvider value={imageResolver ?? null}>
35
- <BloomThemeProvider {...themeProps}>
36
- <ScrollRestorationProvider adapter={scrollAdapter}>
37
- <BloomHapticsProvider enabled={haptics}>
38
- {/*
39
- A PROVIDER, not an outlet, and the distinction is the one this
40
- component's exclusion list encodes. Outlets stay out because a
41
- second mount duplicates every surface they render; this renders NO
42
- surface — a transparent container on Android and nothing at all
43
- elsewhere — so a second mount duplicates nothing, and the nearest
44
- one simply becomes the target for its subtree. Nor is its position
45
- an app decision the way an outlet's is: it has no z-order and no
46
- insets, and it must WRAP the content, which is exactly what this
47
- provider already does with `children`.
48
- */}
49
- <GlassBlurTargetProvider>
37
+ <LocaleProvider locale={locale}>
38
+ <BloomThemeProvider {...themeProps}>
39
+ <ScrollRestorationProvider adapter={scrollAdapter}>
40
+ <BloomHapticsProvider enabled={haptics}>
50
41
  {/*
51
- The bottom edge's claim registry. Also a provider, not an outlet:
52
- it renders nothing and holds only the set of surfaces currently
53
- parked at the bottom edge, so a tab bar can publish its footprint
54
- and a FAB or a toast stack can read it without either importing
55
- the other.
42
+ A PROVIDER, not an outlet, and the distinction is the one this
43
+ component's exclusion list encodes. Outlets stay out because a
44
+ second mount duplicates every surface they render; this renders NO
45
+ surface — a transparent container on Android and nothing at all
46
+ elsewhere — so a second mount duplicates nothing, and the nearest
47
+ one simply becomes the target for its subtree. Nor is its position
48
+ an app decision the way an outlet's is: it has no z-order and no
49
+ insets, and it must WRAP the content, which is exactly what this
50
+ provider already does with `children`.
56
51
  */}
57
- <BottomEdgeProvider>
52
+ <GlassBlurTargetProvider>
58
53
  {/*
59
- And the top edge's, for the same reason one edge further up: a
60
- floating `PageHeader` overlays the content rather than sitting
61
- above it, so the content has to be told how much of the edge is
62
- gone. Two registries rather than one keyed by edge, because a
63
- reader of either only ever wants one number and must not
64
- re-render when the other moves.
54
+ The bottom edge's claim registry. Also a provider, not an outlet:
55
+ it renders nothing and holds only the set of surfaces currently
56
+ parked at the bottom edge, so a tab bar can publish its footprint
57
+ and a FAB or a toast stack can read it without either importing
58
+ the other.
65
59
  */}
66
- <TopEdgeProvider>
67
- <TabBarMinimizeProvider>{children}</TabBarMinimizeProvider>
68
- </TopEdgeProvider>
69
- </BottomEdgeProvider>
70
- </GlassBlurTargetProvider>
71
- </BloomHapticsProvider>
72
- </ScrollRestorationProvider>
73
- </BloomThemeProvider>
60
+ <BottomEdgeProvider>
61
+ {/*
62
+ And the top edge's, for the same reason one edge further up: a
63
+ floating `PageHeader` overlays the content rather than sitting
64
+ above it, so the content has to be told how much of the edge is
65
+ gone. Two registries rather than one keyed by edge, because a
66
+ reader of either only ever wants one number and must not
67
+ re-render when the other moves.
68
+ */}
69
+ <TopEdgeProvider>
70
+ <TabBarMinimizeProvider>{children}</TabBarMinimizeProvider>
71
+ </TopEdgeProvider>
72
+ </BottomEdgeProvider>
73
+ </GlassBlurTargetProvider>
74
+ </BloomHapticsProvider>
75
+ </ScrollRestorationProvider>
76
+ </BloomThemeProvider>
77
+ </LocaleProvider>
74
78
  </ImageResolverProvider>
75
79
  );
76
80
  }
@@ -15,4 +15,10 @@ export interface BloomProviderProps extends Omit<BloomThemeProviderProps, 'child
15
15
  imageResolver?: ImageResolver;
16
16
  /** `false` disables haptic feedback app-wide (honored by every `useHaptics()` call). */
17
17
  haptics?: boolean;
18
+ /**
19
+ * BCP 47 locale for every Bloom component below — dates, month names and
20
+ * Bloom's own strings (Cancel, Apply, …). A component's own `locale` prop
21
+ * wins. Unset, components follow the runtime's locale.
22
+ */
23
+ locale?: string;
18
24
  }
@@ -14,6 +14,7 @@ import type { Theme } from '../theme/types';
14
14
  import { useTheme } from '../theme/use-theme';
15
15
  import { Text } from '../typography';
16
16
  import type { RecentHire, RecentHiresCardProps } from './types';
17
+ import { useCommonMessages } from '../locale/common-messages';
17
18
 
18
19
  /**
19
20
  * The "Recent hires" card:
@@ -144,8 +145,8 @@ const RecentHiresCardComponent: React.FC<RecentHiresCardProps> = ({
144
145
  teamLabel,
145
146
  onTeamPress,
146
147
  teamAccessibilityLabel,
147
- previousLabel = 'Previous',
148
- nextLabel = 'Next',
148
+ previousLabel: previousLabelProp,
149
+ nextLabel: nextLabelProp,
149
150
  onPreviousPress,
150
151
  onNextPress,
151
152
  previousDisabled,
@@ -154,6 +155,9 @@ const RecentHiresCardComponent: React.FC<RecentHiresCardProps> = ({
154
155
  style,
155
156
  testID,
156
157
  }) => {
158
+ const common = useCommonMessages();
159
+ const previousLabel = previousLabelProp ?? common.previous;
160
+ const nextLabel = nextLabelProp ?? common.next;
157
161
  const theme = useTheme();
158
162
  const palette = useMemo(() => resolveRecentHiresPalette(theme), [theme]);
159
163
 
@@ -39,6 +39,7 @@ import type { SettingsPalette } from './palette';
39
39
  import type { SettingsModalProps, SettingsNavGroup, SettingsNavItem } from './types';
40
40
  import { useKeyboardReveal } from './use-keyboard-reveal';
41
41
  import { IS_WEB, useSettingsWebCss } from './web-css';
42
+ import { useCommonMessages } from '../locale/common-messages';
42
43
 
43
44
  /**
44
45
  * A settings modal.
@@ -134,6 +135,7 @@ export function SettingsModal({
134
135
  labels,
135
136
  testID,
136
137
  }: SettingsModalProps) {
138
+ const common = useCommonMessages();
137
139
  useSettingsWebCss();
138
140
  const palette = useSettingsPalette();
139
141
  const reducedMotion = useReducedMotion();
@@ -406,7 +408,7 @@ export function SettingsModal({
406
408
  header={{
407
409
  title: pageConfig.title,
408
410
  onBack: requestNavigation,
409
- backLabel: labels?.back ?? 'Back',
411
+ backLabel: labels?.back ?? common.back,
410
412
  closeLabel,
411
413
  onClose: requestClose,
412
414
  }}
@@ -44,6 +44,7 @@ import { SidebarTeamMenu } from './SidebarTeamMenu';
44
44
  import { SidebarLogoView } from './SidebarLogoView';
45
45
  import { SidebarUserMenu } from './SidebarUserMenu';
46
46
  import type { SidebarNavItem, SidebarProps } from './types';
47
+ import { useCommonMessages } from '../locale/common-messages';
47
48
 
48
49
  /**
49
50
  * `Sidebar` — the floating app rail, expanded or collapsed.
@@ -174,7 +175,7 @@ const SidebarPanel: React.FC<SidebarProps> = ({
174
175
  searchQuery,
175
176
  onSearchQueryChange,
176
177
  searchLabel = 'Quick Search',
177
- searchButtonLabel = 'Search',
178
+ searchButtonLabel: searchButtonLabelProp,
178
179
  searchPlaceholder,
179
180
  filterLabel = 'Filter navigation',
180
181
  clearSearchLabel = 'Clear navigation search',
@@ -189,6 +190,8 @@ const SidebarPanel: React.FC<SidebarProps> = ({
189
190
  style,
190
191
  testID,
191
192
  }) => {
193
+ const common = useCommonMessages();
194
+ const searchButtonLabel = searchButtonLabelProp ?? common.search;
192
195
  const palette = useSidebarPalette();
193
196
  const canonicalSize = sizeProp === 'small' ? 'sm' : sizeProp === 'medium' ? 'md' : sizeProp === 'large' ? 'lg' : sizeProp;
194
197
  const {size: scopedSize} = useBloomAppearance({size: canonicalSize}, {size: 'md', tone: 'neutral'});
@@ -4,6 +4,7 @@ import { View } from 'react-native';
4
4
  import { Button } from '../button';
5
5
  import { ToggleChipGroup } from './ToggleChipGroup';
6
6
  import type { AmenityFilterProps } from './types';
7
+ import { useCommonMessages } from '../locale/common-messages';
7
8
 
8
9
  /**
9
10
  * A `ToggleChipGroup` that shows its first `collapsedCount` options and a
@@ -18,13 +19,16 @@ export function AmenityFilter<T extends string = string>({
18
19
  options,
19
20
  value,
20
21
  collapsedCount = 6,
21
- showMoreLabel = 'Show more',
22
- showLessLabel = 'Show less',
22
+ showMoreLabel: showMoreLabelProp,
23
+ showLessLabel: showLessLabelProp,
23
24
  defaultExpanded = false,
24
25
  style,
25
26
  testID,
26
27
  ...group
27
28
  }: AmenityFilterProps<T>) {
29
+ const common = useCommonMessages();
30
+ const showMoreLabel = showMoreLabelProp ?? common.showMore;
31
+ const showLessLabel = showLessLabelProp ?? common.showLess;
28
32
  const [expanded, setExpanded] = useState(defaultExpanded);
29
33
  const foldable = options.length > collapsedCount;
30
34
  const selected = new Set<T>(value);
@@ -10,6 +10,7 @@ import { DEFAULT_GUEST_DESCRIPTIONS, DEFAULT_GUEST_LABELS, GUEST_KINDS } from '.
10
10
  import { useGuestPickerClose } from './context';
11
11
  import { applyGuestCount, minimumAdults } from './guests';
12
12
  import type { GuestKind, GuestPickerProps } from './types';
13
+ import { useCommonMessages } from '../locale/common-messages';
13
14
 
14
15
  /** The kinds `maxGuests` counts; infants and pets ride free. */
15
16
  const COUNTED: readonly GuestKind[] = ['adults', 'children'];
@@ -44,11 +45,13 @@ function GuestPickerComponent({
44
45
  incrementLabel,
45
46
  note,
46
47
  onClose,
47
- closeLabel = 'Close',
48
+ closeLabel: closeLabelProp,
48
49
  size = 'medium',
49
50
  style,
50
51
  testID,
51
52
  }: GuestPickerProps) {
53
+ const common = useCommonMessages();
54
+ const closeLabel = closeLabelProp ?? common.close;
52
55
  const theme = useTheme();
53
56
  const contextClose = useGuestPickerClose();
54
57
  const close = onClose ?? contextClose;
@@ -15,6 +15,7 @@ import { Text } from '../typography';
15
15
  import type { TypeScaleVariant } from '../typography/scale';
16
16
  import type { StepperProps, StepperSize } from './types';
17
17
  import { useFieldMembership } from '../field/membership';
18
+ import { useCommonMessages } from '../locale/common-messages';
18
19
 
19
20
  /**
20
21
  * Bloom's numeric counter: a round `−` button, the value, a round `+` button.
@@ -93,10 +94,12 @@ function StepperComponent({
93
94
  decrementLabel = 'Decrease',
94
95
  incrementLabel = 'Increase',
95
96
  onRemove,
96
- removeLabel = 'Remove',
97
+ removeLabel: removeLabelProp,
97
98
  style,
98
99
  testID,
99
100
  }: StepperProps) {
101
+ const common = useCommonMessages();
102
+ const removeLabel = removeLabelProp ?? common.remove;
100
103
  const theme = useTheme();
101
104
  const ringOffset = useRingOffsetStyle();
102
105
  // The digits are not a name, so the stepper is named by a prop or by the
@@ -49,6 +49,7 @@ import {
49
49
  type ToasterProps,
50
50
  type ToastProps,
51
51
  } from './types';
52
+ import { useCommonMessages } from '../locale/common-messages';
52
53
 
53
54
  export type ToastContentProps = Pick<
54
55
  ToastProps,
@@ -323,6 +324,7 @@ function ToastCloseButton({
323
324
  onDismiss: (id: string | number) => void;
324
325
  buttonStyle?: StyleProp<ViewStyle>;
325
326
  }) {
327
+ const common = useCommonMessages();
326
328
  const handlePress = React.useCallback(() => {
327
329
  onDismiss(id);
328
330
  }, [onDismiss, id]);
@@ -346,7 +348,7 @@ function ToastCloseButton({
346
348
  // unlabelled button beside the message it dismisses. The string is fixed
347
349
  // rather than a prop because the control means one thing — the same call
348
350
  // `DialogHeader` and `SheetShell` make for their own close affordances.
349
- accessibilityLabel="Close"
351
+ accessibilityLabel={common.close}
350
352
  style={[styles.close, buttonStyle]}
351
353
  />
352
354
  );
@@ -42,6 +42,7 @@ import {
42
42
  vendorFacts,
43
43
  } from './shared';
44
44
  import type { VendorCardDensity, VendorCardProps } from './types';
45
+ import { useCommonMessages } from '../locale/common-messages';
45
46
 
46
47
  /**
47
48
  * A restaurant or a shop in a list.
@@ -245,11 +246,12 @@ function VendorCardSkeleton({
245
246
  style,
246
247
  testID,
247
248
  }: Pick<VendorCardProps, 'style' | 'testID'> & { density: VendorCardDensity }) {
249
+ const common = useCommonMessages();
248
250
  const compact = density === 'compact';
249
251
  return (
250
252
  <View
251
253
  aria-busy
252
- accessibilityLabel="Loading"
254
+ accessibilityLabel={common.loading}
253
255
  style={[{ flexDirection: compact ? 'row' : 'column', alignItems: 'flex-start' }, style]}
254
256
  testID={testID}
255
257
  >
@@ -7,6 +7,7 @@ import { WEB_POSITION_STICKY, type WebCssStyle } from '../styles/web-view-style'
7
7
  import { useTheme } from '../theme/use-theme';
8
8
  import { Text } from '../typography';
9
9
  import type { WizardFooterProps } from './types';
10
+ import { useCommonMessages } from '../locale/common-messages';
10
11
 
11
12
  /**
12
13
  * The action bar under a step of a multi-step flow.
@@ -29,10 +30,10 @@ const NARROW = 480;
29
30
 
30
31
  function WizardFooterComponent({
31
32
  onBack,
32
- backLabel = 'Back',
33
+ backLabel: backLabelProp,
33
34
  backDisabled = false,
34
35
  onNext,
35
- nextLabel = 'Next',
36
+ nextLabel: nextLabelProp,
36
37
  nextDisabled = false,
37
38
  loading = false,
38
39
  status,
@@ -40,6 +41,9 @@ function WizardFooterComponent({
40
41
  style,
41
42
  testID,
42
43
  }: WizardFooterProps) {
44
+ const common = useCommonMessages();
45
+ const backLabel = backLabelProp ?? common.back;
46
+ const nextLabel = nextLabelProp ?? common.next;
43
47
  const theme = useTheme();
44
48
  const [width, setWidth] = useState(0);
45
49
  const narrow = width > 0 && width < NARROW;