@oxy.so/bloom 4.5.0 → 4.6.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 (614) hide show
  1. package/README.md +1 -1
  2. package/docs/adoption-matrix.mdx +12 -12
  3. package/docs/code.mdx +12 -0
  4. package/docs/context-menu.mdx +2 -0
  5. package/docs/dropdown-menu.mdx +21 -0
  6. package/docs/icons.mdx +2 -2
  7. package/docs/menubar.mdx +6 -2
  8. package/docs/popover.mdx +4 -2
  9. package/docs/segmented-control.mdx +12 -0
  10. package/docs/select.mdx +19 -0
  11. package/docs/tabs.mdx +12 -0
  12. package/lib/commonjs/agent-chat/index.web.js.map +1 -1
  13. package/lib/commonjs/ai-chat/index.web.js.map +1 -1
  14. package/lib/commonjs/alert-dialog/index.web.js +10 -1
  15. package/lib/commonjs/alert-dialog/index.web.js.map +1 -1
  16. package/lib/commonjs/avatar-group/index.web.js.map +1 -1
  17. package/lib/commonjs/bottom-sheet/index.web.js.map +1 -1
  18. package/lib/commonjs/code/index.js +13 -0
  19. package/lib/commonjs/code/index.js.map +1 -1
  20. package/lib/commonjs/command/index.web.js +5 -0
  21. package/lib/commonjs/command/index.web.js.map +1 -1
  22. package/lib/commonjs/composer-loader/ComposerLoader.web.js +9 -0
  23. package/lib/commonjs/composer-loader/ComposerLoader.web.js.map +1 -1
  24. package/lib/commonjs/composer-loader/index.web.js.map +1 -1
  25. package/lib/commonjs/composer-panel/index.web.js.map +1 -1
  26. package/lib/commonjs/connection-dots/index.web.js.map +1 -1
  27. package/lib/commonjs/connection-status/index.web.js.map +1 -1
  28. package/lib/commonjs/content-panel/index.web.js.map +1 -1
  29. package/lib/commonjs/context-menu/ContextMenu.web.js +22 -4
  30. package/lib/commonjs/context-menu/ContextMenu.web.js.map +1 -1
  31. package/lib/commonjs/context-menu/context.js.map +1 -1
  32. package/lib/commonjs/context-menu/index.web.js.map +1 -1
  33. package/lib/commonjs/dialog/Dialog.web.js +14 -0
  34. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  35. package/lib/commonjs/dialog/index.web.js.map +1 -1
  36. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js +22 -2
  37. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js.map +1 -1
  38. package/lib/commonjs/dropdown-menu/index.web.js.map +1 -1
  39. package/lib/commonjs/floating/FloatingPanel.js +42 -33
  40. package/lib/commonjs/floating/FloatingPanel.js.map +1 -1
  41. package/lib/commonjs/floating/escape-stack.js +90 -0
  42. package/lib/commonjs/floating/escape-stack.js.map +1 -0
  43. package/lib/commonjs/floating/menu-keyboard.js +238 -0
  44. package/lib/commonjs/floating/menu-keyboard.js.map +1 -0
  45. package/lib/commonjs/floating/menu-sub-flyout.js +28 -16
  46. package/lib/commonjs/floating/menu-sub-flyout.js.map +1 -1
  47. package/lib/commonjs/fonts/index.web.js.map +1 -1
  48. package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js +10 -0
  49. package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js.map +1 -1
  50. package/lib/commonjs/frosted-icon-button/index.web.js.map +1 -1
  51. package/lib/commonjs/hooks/roving-focus.js +192 -0
  52. package/lib/commonjs/hooks/roving-focus.js.map +1 -0
  53. package/lib/commonjs/hover-card/index.web.js.map +1 -1
  54. package/lib/commonjs/icons/remix/RiBookReadLine.js +12 -0
  55. package/lib/commonjs/icons/remix/RiBookReadLine.js.map +1 -0
  56. package/lib/commonjs/icons/remix/RiBugLine.js +12 -0
  57. package/lib/commonjs/icons/remix/RiBugLine.js.map +1 -0
  58. package/lib/commonjs/icons/remix/RiChat1Line.js +12 -0
  59. package/lib/commonjs/icons/remix/RiChat1Line.js.map +1 -0
  60. package/lib/commonjs/icons/remix/RiCloudLine.js +12 -0
  61. package/lib/commonjs/icons/remix/RiCloudLine.js.map +1 -0
  62. package/lib/commonjs/icons/remix/RiCodeLine.js +12 -0
  63. package/lib/commonjs/icons/remix/RiCodeLine.js.map +1 -0
  64. package/lib/commonjs/icons/remix/RiCpuLine.js +12 -0
  65. package/lib/commonjs/icons/remix/RiCpuLine.js.map +1 -0
  66. package/lib/commonjs/icons/remix/RiFloodLine.js +12 -0
  67. package/lib/commonjs/icons/remix/RiFloodLine.js.map +1 -0
  68. package/lib/commonjs/icons/remix/RiLockUnlockLine.js +12 -0
  69. package/lib/commonjs/icons/remix/RiLockUnlockLine.js.map +1 -0
  70. package/lib/commonjs/icons/remix/RiMoneyDollarCircleLine.js +12 -0
  71. package/lib/commonjs/icons/remix/RiMoneyDollarCircleLine.js.map +1 -0
  72. package/lib/commonjs/icons/remix/RiPlayCircleLine.js +12 -0
  73. package/lib/commonjs/icons/remix/RiPlayCircleLine.js.map +1 -0
  74. package/lib/commonjs/icons/remix/RiRocket2Line.js +12 -0
  75. package/lib/commonjs/icons/remix/RiRocket2Line.js.map +1 -0
  76. package/lib/commonjs/icons/remix/RiServerLine.js +12 -0
  77. package/lib/commonjs/icons/remix/RiServerLine.js.map +1 -0
  78. package/lib/commonjs/icons/remix/RiShareBoxLine.js +12 -0
  79. package/lib/commonjs/icons/remix/RiShareBoxLine.js.map +1 -0
  80. package/lib/commonjs/icons/remix/RiTv2Line.js +12 -0
  81. package/lib/commonjs/icons/remix/RiTv2Line.js.map +1 -0
  82. package/lib/commonjs/icons/remix/index.js +98 -0
  83. package/lib/commonjs/icons/remix/index.js.map +1 -1
  84. package/lib/commonjs/list/index.web.js.map +1 -1
  85. package/lib/commonjs/loading/Loading.js +21 -157
  86. package/lib/commonjs/loading/Loading.js.map +1 -1
  87. package/lib/commonjs/loading/Loading.web.js +23 -157
  88. package/lib/commonjs/loading/Loading.web.js.map +1 -1
  89. package/lib/commonjs/loading/LoadingBase.js +202 -0
  90. package/lib/commonjs/loading/LoadingBase.js.map +1 -0
  91. package/lib/commonjs/loading/index.web.js.map +1 -1
  92. package/lib/commonjs/media-flight/index.web.js.map +1 -1
  93. package/lib/commonjs/menubar/Menubar.js +31 -123
  94. package/lib/commonjs/menubar/Menubar.js.map +1 -1
  95. package/lib/commonjs/menubar/Menubar.web.js +33 -114
  96. package/lib/commonjs/menubar/Menubar.web.js.map +1 -1
  97. package/lib/commonjs/menubar/MenubarBase.js +154 -0
  98. package/lib/commonjs/menubar/MenubarBase.js.map +1 -0
  99. package/lib/commonjs/menubar/index.web.js.map +1 -1
  100. package/lib/commonjs/popover/index.web.js.map +1 -1
  101. package/lib/commonjs/popover/parts.js +69 -11
  102. package/lib/commonjs/popover/parts.js.map +1 -1
  103. package/lib/commonjs/popover/surface.js +39 -13
  104. package/lib/commonjs/popover/surface.js.map +1 -1
  105. package/lib/commonjs/portal/index.web.js.map +1 -1
  106. package/lib/commonjs/progressive-blur/index.web.js.map +1 -1
  107. package/lib/commonjs/scroll/index.web.js.map +1 -1
  108. package/lib/commonjs/segmented-control/SegmentedControl.js +36 -1
  109. package/lib/commonjs/segmented-control/SegmentedControl.js.map +1 -1
  110. package/lib/commonjs/select/Select.js +6 -81
  111. package/lib/commonjs/select/Select.js.map +1 -1
  112. package/lib/commonjs/select/Select.web.js +147 -85
  113. package/lib/commonjs/select/Select.web.js.map +1 -1
  114. package/lib/commonjs/select/index.js +4 -4
  115. package/lib/commonjs/select/index.js.map +1 -1
  116. package/lib/commonjs/select/index.web.js +4 -4
  117. package/lib/commonjs/select/index.web.js.map +1 -1
  118. package/lib/commonjs/select/shared.js +110 -5
  119. package/lib/commonjs/select/shared.js.map +1 -1
  120. package/lib/commonjs/sidebar/SidebarTeamMenu.js +1 -1
  121. package/lib/commonjs/sidebar/SidebarTeamMenu.js.map +1 -1
  122. package/lib/commonjs/sidebar/SidebarUserMenu.js +1 -1
  123. package/lib/commonjs/sidebar/SidebarUserMenu.js.map +1 -1
  124. package/lib/commonjs/sidebar/parts.js +9 -9
  125. package/lib/commonjs/sidebar/parts.js.map +1 -1
  126. package/lib/commonjs/surfaces/SurfaceHost.js +6 -0
  127. package/lib/commonjs/surfaces/SurfaceHost.js.map +1 -1
  128. package/lib/commonjs/surfaces/index.web.js +14 -4
  129. package/lib/commonjs/surfaces/index.web.js.map +1 -1
  130. package/lib/commonjs/tab-bar/index.web.js +13 -10
  131. package/lib/commonjs/tab-bar/index.web.js.map +1 -1
  132. package/lib/commonjs/tabs/Tabs.js +49 -2
  133. package/lib/commonjs/tabs/Tabs.js.map +1 -1
  134. package/lib/commonjs/theme/color-scope/index.web.js.map +1 -1
  135. package/lib/commonjs/theme/seed-scope/index.web.js.map +1 -1
  136. package/lib/commonjs/tooltip/index.web.js.map +1 -1
  137. package/lib/module/agent-chat/index.web.js +5 -3
  138. package/lib/module/agent-chat/index.web.js.map +1 -1
  139. package/lib/module/ai-chat/index.web.js +5 -2
  140. package/lib/module/ai-chat/index.web.js.map +1 -1
  141. package/lib/module/alert-dialog/index.web.js +10 -1
  142. package/lib/module/alert-dialog/index.web.js.map +1 -1
  143. package/lib/module/avatar-group/index.web.js +5 -0
  144. package/lib/module/avatar-group/index.web.js.map +1 -1
  145. package/lib/module/bottom-sheet/index.web.js +5 -0
  146. package/lib/module/bottom-sheet/index.web.js.map +1 -1
  147. package/lib/module/code/index.js +1 -0
  148. package/lib/module/code/index.js.map +1 -1
  149. package/lib/module/command/index.web.js +5 -0
  150. package/lib/module/command/index.web.js.map +1 -1
  151. package/lib/module/composer-loader/ComposerLoader.web.js +8 -0
  152. package/lib/module/composer-loader/ComposerLoader.web.js.map +1 -1
  153. package/lib/module/composer-loader/index.web.js +5 -2
  154. package/lib/module/composer-loader/index.web.js.map +1 -1
  155. package/lib/module/composer-panel/index.web.js +5 -3
  156. package/lib/module/composer-panel/index.web.js.map +1 -1
  157. package/lib/module/connection-dots/index.web.js +5 -0
  158. package/lib/module/connection-dots/index.web.js.map +1 -1
  159. package/lib/module/connection-status/index.web.js +5 -0
  160. package/lib/module/connection-status/index.web.js.map +1 -1
  161. package/lib/module/content-panel/index.web.js +5 -0
  162. package/lib/module/content-panel/index.web.js.map +1 -1
  163. package/lib/module/context-menu/ContextMenu.web.js +22 -4
  164. package/lib/module/context-menu/ContextMenu.web.js.map +1 -1
  165. package/lib/module/context-menu/context.js.map +1 -1
  166. package/lib/module/context-menu/index.web.js +5 -0
  167. package/lib/module/context-menu/index.web.js.map +1 -1
  168. package/lib/module/dialog/Dialog.web.js +13 -0
  169. package/lib/module/dialog/Dialog.web.js.map +1 -1
  170. package/lib/module/dialog/index.web.js +7 -11
  171. package/lib/module/dialog/index.web.js.map +1 -1
  172. package/lib/module/dropdown-menu/DropdownMenu.web.js +23 -3
  173. package/lib/module/dropdown-menu/DropdownMenu.web.js.map +1 -1
  174. package/lib/module/dropdown-menu/index.web.js +5 -0
  175. package/lib/module/dropdown-menu/index.web.js.map +1 -1
  176. package/lib/module/floating/FloatingPanel.js +42 -33
  177. package/lib/module/floating/FloatingPanel.js.map +1 -1
  178. package/lib/module/floating/escape-stack.js +85 -0
  179. package/lib/module/floating/escape-stack.js.map +1 -0
  180. package/lib/module/floating/menu-keyboard.js +227 -0
  181. package/lib/module/floating/menu-keyboard.js.map +1 -0
  182. package/lib/module/floating/menu-sub-flyout.js +28 -16
  183. package/lib/module/floating/menu-sub-flyout.js.map +1 -1
  184. package/lib/module/fonts/index.web.js +5 -20
  185. package/lib/module/fonts/index.web.js.map +1 -1
  186. package/lib/module/frosted-icon-button/FrostedIconButton.web.js +9 -0
  187. package/lib/module/frosted-icon-button/FrostedIconButton.web.js.map +1 -1
  188. package/lib/module/frosted-icon-button/index.web.js +5 -7
  189. package/lib/module/frosted-icon-button/index.web.js.map +1 -1
  190. package/lib/module/hooks/roving-focus.js +181 -0
  191. package/lib/module/hooks/roving-focus.js.map +1 -0
  192. package/lib/module/hover-card/index.web.js +5 -0
  193. package/lib/module/hover-card/index.web.js.map +1 -1
  194. package/lib/module/icons/remix/RiBookReadLine.js +9 -0
  195. package/lib/module/icons/remix/RiBookReadLine.js.map +1 -0
  196. package/lib/module/icons/remix/RiBugLine.js +9 -0
  197. package/lib/module/icons/remix/RiBugLine.js.map +1 -0
  198. package/lib/module/icons/remix/RiChat1Line.js +9 -0
  199. package/lib/module/icons/remix/RiChat1Line.js.map +1 -0
  200. package/lib/module/icons/remix/RiCloudLine.js +9 -0
  201. package/lib/module/icons/remix/RiCloudLine.js.map +1 -0
  202. package/lib/module/icons/remix/RiCodeLine.js +9 -0
  203. package/lib/module/icons/remix/RiCodeLine.js.map +1 -0
  204. package/lib/module/icons/remix/RiCpuLine.js +9 -0
  205. package/lib/module/icons/remix/RiCpuLine.js.map +1 -0
  206. package/lib/module/icons/remix/RiFloodLine.js +9 -0
  207. package/lib/module/icons/remix/RiFloodLine.js.map +1 -0
  208. package/lib/module/icons/remix/RiLockUnlockLine.js +9 -0
  209. package/lib/module/icons/remix/RiLockUnlockLine.js.map +1 -0
  210. package/lib/module/icons/remix/RiMoneyDollarCircleLine.js +9 -0
  211. package/lib/module/icons/remix/RiMoneyDollarCircleLine.js.map +1 -0
  212. package/lib/module/icons/remix/RiPlayCircleLine.js +9 -0
  213. package/lib/module/icons/remix/RiPlayCircleLine.js.map +1 -0
  214. package/lib/module/icons/remix/RiRocket2Line.js +9 -0
  215. package/lib/module/icons/remix/RiRocket2Line.js.map +1 -0
  216. package/lib/module/icons/remix/RiServerLine.js +9 -0
  217. package/lib/module/icons/remix/RiServerLine.js.map +1 -0
  218. package/lib/module/icons/remix/RiShareBoxLine.js +9 -0
  219. package/lib/module/icons/remix/RiShareBoxLine.js.map +1 -0
  220. package/lib/module/icons/remix/RiTv2Line.js +9 -0
  221. package/lib/module/icons/remix/RiTv2Line.js.map +1 -0
  222. package/lib/module/icons/remix/index.js +14 -0
  223. package/lib/module/icons/remix/index.js.map +1 -1
  224. package/lib/module/list/index.web.js +5 -0
  225. package/lib/module/list/index.web.js.map +1 -1
  226. package/lib/module/loading/Loading.js +17 -155
  227. package/lib/module/loading/Loading.js.map +1 -1
  228. package/lib/module/loading/Loading.web.js +19 -155
  229. package/lib/module/loading/Loading.web.js.map +1 -1
  230. package/lib/module/loading/LoadingBase.js +194 -0
  231. package/lib/module/loading/LoadingBase.js.map +1 -0
  232. package/lib/module/loading/index.web.js +5 -13
  233. package/lib/module/loading/index.web.js.map +1 -1
  234. package/lib/module/media-flight/index.web.js +5 -9
  235. package/lib/module/media-flight/index.web.js.map +1 -1
  236. package/lib/module/menubar/Menubar.js +15 -122
  237. package/lib/module/menubar/Menubar.js.map +1 -1
  238. package/lib/module/menubar/Menubar.web.js +18 -114
  239. package/lib/module/menubar/Menubar.web.js.map +1 -1
  240. package/lib/module/menubar/MenubarBase.js +146 -0
  241. package/lib/module/menubar/MenubarBase.js.map +1 -0
  242. package/lib/module/menubar/index.web.js +5 -0
  243. package/lib/module/menubar/index.web.js.map +1 -1
  244. package/lib/module/motion/index.web.js +5 -5
  245. package/lib/module/motion/index.web.js.map +1 -1
  246. package/lib/module/popover/index.web.js +5 -0
  247. package/lib/module/popover/index.web.js.map +1 -1
  248. package/lib/module/popover/parts.js +70 -12
  249. package/lib/module/popover/parts.js.map +1 -1
  250. package/lib/module/popover/surface.js +39 -13
  251. package/lib/module/popover/surface.js.map +1 -1
  252. package/lib/module/portal/index.web.js +6 -1
  253. package/lib/module/portal/index.web.js.map +1 -1
  254. package/lib/module/progressive-blur/index.web.js +5 -0
  255. package/lib/module/progressive-blur/index.web.js.map +1 -1
  256. package/lib/module/scroll/index.web.js +5 -0
  257. package/lib/module/scroll/index.web.js.map +1 -1
  258. package/lib/module/segmented-control/SegmentedControl.js +36 -1
  259. package/lib/module/segmented-control/SegmentedControl.js.map +1 -1
  260. package/lib/module/select/Select.js +5 -77
  261. package/lib/module/select/Select.js.map +1 -1
  262. package/lib/module/select/Select.web.js +147 -82
  263. package/lib/module/select/Select.web.js.map +1 -1
  264. package/lib/module/select/index.js +2 -2
  265. package/lib/module/select/index.js.map +1 -1
  266. package/lib/module/select/index.web.js +7 -2
  267. package/lib/module/select/index.web.js.map +1 -1
  268. package/lib/module/select/shared.js +106 -6
  269. package/lib/module/select/shared.js.map +1 -1
  270. package/lib/module/sidebar/SidebarTeamMenu.js +2 -2
  271. package/lib/module/sidebar/SidebarTeamMenu.js.map +1 -1
  272. package/lib/module/sidebar/SidebarUserMenu.js +2 -2
  273. package/lib/module/sidebar/SidebarUserMenu.js.map +1 -1
  274. package/lib/module/sidebar/parts.js +8 -8
  275. package/lib/module/sidebar/parts.js.map +1 -1
  276. package/lib/module/surfaces/SurfaceHost.js +6 -0
  277. package/lib/module/surfaces/SurfaceHost.js.map +1 -1
  278. package/lib/module/surfaces/index.web.js +14 -4
  279. package/lib/module/surfaces/index.web.js.map +1 -1
  280. package/lib/module/tab-bar/index.web.js +13 -10
  281. package/lib/module/tab-bar/index.web.js.map +1 -1
  282. package/lib/module/tabs/Tabs.js +49 -2
  283. package/lib/module/tabs/Tabs.js.map +1 -1
  284. package/lib/module/theme/color-scope/index.web.js +5 -0
  285. package/lib/module/theme/color-scope/index.web.js.map +1 -1
  286. package/lib/module/theme/seed-scope/index.web.js +5 -0
  287. package/lib/module/theme/seed-scope/index.web.js.map +1 -1
  288. package/lib/module/tooltip/index.web.js +5 -0
  289. package/lib/module/tooltip/index.web.js.map +1 -1
  290. package/lib/typescript/commonjs/agent-chat/index.web.d.ts.map +1 -1
  291. package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
  292. package/lib/typescript/commonjs/alert-dialog/index.web.d.ts +5 -1
  293. package/lib/typescript/commonjs/alert-dialog/index.web.d.ts.map +1 -1
  294. package/lib/typescript/commonjs/avatar-group/index.web.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/bottom-sheet/index.web.d.ts.map +1 -1
  296. package/lib/typescript/commonjs/code/index.d.ts +2 -0
  297. package/lib/typescript/commonjs/code/index.d.ts.map +1 -1
  298. package/lib/typescript/commonjs/command/index.web.d.ts.map +1 -1
  299. package/lib/typescript/commonjs/composer-loader/ComposerLoader.web.d.ts +8 -0
  300. package/lib/typescript/commonjs/composer-loader/ComposerLoader.web.d.ts.map +1 -1
  301. package/lib/typescript/commonjs/composer-loader/index.web.d.ts.map +1 -1
  302. package/lib/typescript/commonjs/composer-panel/index.web.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/connection-dots/index.web.d.ts.map +1 -1
  304. package/lib/typescript/commonjs/connection-status/index.web.d.ts.map +1 -1
  305. package/lib/typescript/commonjs/content-panel/index.web.d.ts.map +1 -1
  306. package/lib/typescript/commonjs/context-menu/ContextMenu.web.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/context-menu/context.d.ts +3 -0
  308. package/lib/typescript/commonjs/context-menu/context.d.ts.map +1 -1
  309. package/lib/typescript/commonjs/context-menu/index.web.d.ts.map +1 -1
  310. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/dialog/index.web.d.ts +2 -1
  312. package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  314. package/lib/typescript/commonjs/dropdown-menu/index.web.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/floating/FloatingPanel.d.ts +1 -1
  316. package/lib/typescript/commonjs/floating/FloatingPanel.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/floating/escape-stack.d.ts +55 -0
  318. package/lib/typescript/commonjs/floating/escape-stack.d.ts.map +1 -0
  319. package/lib/typescript/commonjs/floating/menu-keyboard.d.ts +57 -0
  320. package/lib/typescript/commonjs/floating/menu-keyboard.d.ts.map +1 -0
  321. package/lib/typescript/commonjs/floating/menu-sub-flyout.d.ts.map +1 -1
  322. package/lib/typescript/commonjs/floating/types.d.ts +11 -0
  323. package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
  324. package/lib/typescript/commonjs/fonts/index.web.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -1
  326. package/lib/typescript/commonjs/frosted-icon-button/index.web.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/hooks/roving-focus.d.ts +66 -0
  328. package/lib/typescript/commonjs/hooks/roving-focus.d.ts.map +1 -0
  329. package/lib/typescript/commonjs/hover-card/index.web.d.ts.map +1 -1
  330. package/lib/typescript/commonjs/icons/remix/RiBookReadLine.d.ts +8 -0
  331. package/lib/typescript/commonjs/icons/remix/RiBookReadLine.d.ts.map +1 -0
  332. package/lib/typescript/commonjs/icons/remix/RiBugLine.d.ts +8 -0
  333. package/lib/typescript/commonjs/icons/remix/RiBugLine.d.ts.map +1 -0
  334. package/lib/typescript/commonjs/icons/remix/RiChat1Line.d.ts +8 -0
  335. package/lib/typescript/commonjs/icons/remix/RiChat1Line.d.ts.map +1 -0
  336. package/lib/typescript/commonjs/icons/remix/RiCloudLine.d.ts +8 -0
  337. package/lib/typescript/commonjs/icons/remix/RiCloudLine.d.ts.map +1 -0
  338. package/lib/typescript/commonjs/icons/remix/RiCodeLine.d.ts +8 -0
  339. package/lib/typescript/commonjs/icons/remix/RiCodeLine.d.ts.map +1 -0
  340. package/lib/typescript/commonjs/icons/remix/RiCpuLine.d.ts +8 -0
  341. package/lib/typescript/commonjs/icons/remix/RiCpuLine.d.ts.map +1 -0
  342. package/lib/typescript/commonjs/icons/remix/RiFloodLine.d.ts +8 -0
  343. package/lib/typescript/commonjs/icons/remix/RiFloodLine.d.ts.map +1 -0
  344. package/lib/typescript/commonjs/icons/remix/RiLockUnlockLine.d.ts +8 -0
  345. package/lib/typescript/commonjs/icons/remix/RiLockUnlockLine.d.ts.map +1 -0
  346. package/lib/typescript/commonjs/icons/remix/RiMoneyDollarCircleLine.d.ts +8 -0
  347. package/lib/typescript/commonjs/icons/remix/RiMoneyDollarCircleLine.d.ts.map +1 -0
  348. package/lib/typescript/commonjs/icons/remix/RiPlayCircleLine.d.ts +8 -0
  349. package/lib/typescript/commonjs/icons/remix/RiPlayCircleLine.d.ts.map +1 -0
  350. package/lib/typescript/commonjs/icons/remix/RiRocket2Line.d.ts +8 -0
  351. package/lib/typescript/commonjs/icons/remix/RiRocket2Line.d.ts.map +1 -0
  352. package/lib/typescript/commonjs/icons/remix/RiServerLine.d.ts +8 -0
  353. package/lib/typescript/commonjs/icons/remix/RiServerLine.d.ts.map +1 -0
  354. package/lib/typescript/commonjs/icons/remix/RiShareBoxLine.d.ts +8 -0
  355. package/lib/typescript/commonjs/icons/remix/RiShareBoxLine.d.ts.map +1 -0
  356. package/lib/typescript/commonjs/icons/remix/RiTv2Line.d.ts +8 -0
  357. package/lib/typescript/commonjs/icons/remix/RiTv2Line.d.ts.map +1 -0
  358. package/lib/typescript/commonjs/icons/remix/index.d.ts +14 -0
  359. package/lib/typescript/commonjs/icons/remix/index.d.ts.map +1 -1
  360. package/lib/typescript/commonjs/list/index.web.d.ts.map +1 -1
  361. package/lib/typescript/commonjs/loading/Loading.d.ts +8 -2
  362. package/lib/typescript/commonjs/loading/Loading.d.ts.map +1 -1
  363. package/lib/typescript/commonjs/loading/Loading.web.d.ts +10 -2
  364. package/lib/typescript/commonjs/loading/Loading.web.d.ts.map +1 -1
  365. package/lib/typescript/commonjs/loading/LoadingBase.d.ts +64 -0
  366. package/lib/typescript/commonjs/loading/LoadingBase.d.ts.map +1 -0
  367. package/lib/typescript/commonjs/loading/index.web.d.ts.map +1 -1
  368. package/lib/typescript/commonjs/media-flight/index.web.d.ts +0 -9
  369. package/lib/typescript/commonjs/media-flight/index.web.d.ts.map +1 -1
  370. package/lib/typescript/commonjs/menubar/Menubar.d.ts +14 -9
  371. package/lib/typescript/commonjs/menubar/Menubar.d.ts.map +1 -1
  372. package/lib/typescript/commonjs/menubar/Menubar.web.d.ts +8 -6
  373. package/lib/typescript/commonjs/menubar/Menubar.web.d.ts.map +1 -1
  374. package/lib/typescript/commonjs/menubar/MenubarBase.d.ts +5 -0
  375. package/lib/typescript/commonjs/menubar/MenubarBase.d.ts.map +1 -0
  376. package/lib/typescript/commonjs/menubar/index.web.d.ts.map +1 -1
  377. package/lib/typescript/commonjs/motion/index.web.d.ts +0 -5
  378. package/lib/typescript/commonjs/motion/index.web.d.ts.map +1 -1
  379. package/lib/typescript/commonjs/popover/index.web.d.ts.map +1 -1
  380. package/lib/typescript/commonjs/popover/parts.d.ts.map +1 -1
  381. package/lib/typescript/commonjs/popover/surface.d.ts +15 -5
  382. package/lib/typescript/commonjs/popover/surface.d.ts.map +1 -1
  383. package/lib/typescript/commonjs/portal/index.web.d.ts +1 -1
  384. package/lib/typescript/commonjs/portal/index.web.d.ts.map +1 -1
  385. package/lib/typescript/commonjs/progressive-blur/index.web.d.ts.map +1 -1
  386. package/lib/typescript/commonjs/scroll/index.web.d.ts.map +1 -1
  387. package/lib/typescript/commonjs/segmented-control/SegmentedControl.d.ts.map +1 -1
  388. package/lib/typescript/commonjs/select/Select.d.ts +2 -4
  389. package/lib/typescript/commonjs/select/Select.d.ts.map +1 -1
  390. package/lib/typescript/commonjs/select/Select.web.d.ts +2 -4
  391. package/lib/typescript/commonjs/select/Select.web.d.ts.map +1 -1
  392. package/lib/typescript/commonjs/select/index.d.ts +2 -2
  393. package/lib/typescript/commonjs/select/index.d.ts.map +1 -1
  394. package/lib/typescript/commonjs/select/index.web.d.ts +2 -2
  395. package/lib/typescript/commonjs/select/index.web.d.ts.map +1 -1
  396. package/lib/typescript/commonjs/select/shared.d.ts +52 -5
  397. package/lib/typescript/commonjs/select/shared.d.ts.map +1 -1
  398. package/lib/typescript/commonjs/select/types.d.ts +6 -0
  399. package/lib/typescript/commonjs/select/types.d.ts.map +1 -1
  400. package/lib/typescript/commonjs/sidebar/parts.d.ts +8 -2
  401. package/lib/typescript/commonjs/sidebar/parts.d.ts.map +1 -1
  402. package/lib/typescript/commonjs/surfaces/SurfaceHost.d.ts.map +1 -1
  403. package/lib/typescript/commonjs/surfaces/index.web.d.ts +9 -4
  404. package/lib/typescript/commonjs/surfaces/index.web.d.ts.map +1 -1
  405. package/lib/typescript/commonjs/tab-bar/index.web.d.ts.map +1 -1
  406. package/lib/typescript/commonjs/tabs/Tabs.d.ts.map +1 -1
  407. package/lib/typescript/commonjs/tabs/types.d.ts +6 -0
  408. package/lib/typescript/commonjs/tabs/types.d.ts.map +1 -1
  409. package/lib/typescript/commonjs/theme/color-scope/index.web.d.ts.map +1 -1
  410. package/lib/typescript/commonjs/theme/seed-scope/index.web.d.ts.map +1 -1
  411. package/lib/typescript/commonjs/tooltip/index.web.d.ts.map +1 -1
  412. package/lib/typescript/module/agent-chat/index.web.d.ts.map +1 -1
  413. package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
  414. package/lib/typescript/module/alert-dialog/index.web.d.ts +5 -1
  415. package/lib/typescript/module/alert-dialog/index.web.d.ts.map +1 -1
  416. package/lib/typescript/module/avatar-group/index.web.d.ts.map +1 -1
  417. package/lib/typescript/module/bottom-sheet/index.web.d.ts.map +1 -1
  418. package/lib/typescript/module/code/index.d.ts +2 -0
  419. package/lib/typescript/module/code/index.d.ts.map +1 -1
  420. package/lib/typescript/module/command/index.web.d.ts.map +1 -1
  421. package/lib/typescript/module/composer-loader/ComposerLoader.web.d.ts +8 -0
  422. package/lib/typescript/module/composer-loader/ComposerLoader.web.d.ts.map +1 -1
  423. package/lib/typescript/module/composer-loader/index.web.d.ts.map +1 -1
  424. package/lib/typescript/module/composer-panel/index.web.d.ts.map +1 -1
  425. package/lib/typescript/module/connection-dots/index.web.d.ts.map +1 -1
  426. package/lib/typescript/module/connection-status/index.web.d.ts.map +1 -1
  427. package/lib/typescript/module/content-panel/index.web.d.ts.map +1 -1
  428. package/lib/typescript/module/context-menu/ContextMenu.web.d.ts.map +1 -1
  429. package/lib/typescript/module/context-menu/context.d.ts +3 -0
  430. package/lib/typescript/module/context-menu/context.d.ts.map +1 -1
  431. package/lib/typescript/module/context-menu/index.web.d.ts.map +1 -1
  432. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  433. package/lib/typescript/module/dialog/index.web.d.ts +2 -1
  434. package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
  435. package/lib/typescript/module/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  436. package/lib/typescript/module/dropdown-menu/index.web.d.ts.map +1 -1
  437. package/lib/typescript/module/floating/FloatingPanel.d.ts +1 -1
  438. package/lib/typescript/module/floating/FloatingPanel.d.ts.map +1 -1
  439. package/lib/typescript/module/floating/escape-stack.d.ts +55 -0
  440. package/lib/typescript/module/floating/escape-stack.d.ts.map +1 -0
  441. package/lib/typescript/module/floating/menu-keyboard.d.ts +57 -0
  442. package/lib/typescript/module/floating/menu-keyboard.d.ts.map +1 -0
  443. package/lib/typescript/module/floating/menu-sub-flyout.d.ts.map +1 -1
  444. package/lib/typescript/module/floating/types.d.ts +11 -0
  445. package/lib/typescript/module/floating/types.d.ts.map +1 -1
  446. package/lib/typescript/module/fonts/index.web.d.ts.map +1 -1
  447. package/lib/typescript/module/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -1
  448. package/lib/typescript/module/frosted-icon-button/index.web.d.ts.map +1 -1
  449. package/lib/typescript/module/hooks/roving-focus.d.ts +66 -0
  450. package/lib/typescript/module/hooks/roving-focus.d.ts.map +1 -0
  451. package/lib/typescript/module/hover-card/index.web.d.ts.map +1 -1
  452. package/lib/typescript/module/icons/remix/RiBookReadLine.d.ts +8 -0
  453. package/lib/typescript/module/icons/remix/RiBookReadLine.d.ts.map +1 -0
  454. package/lib/typescript/module/icons/remix/RiBugLine.d.ts +8 -0
  455. package/lib/typescript/module/icons/remix/RiBugLine.d.ts.map +1 -0
  456. package/lib/typescript/module/icons/remix/RiChat1Line.d.ts +8 -0
  457. package/lib/typescript/module/icons/remix/RiChat1Line.d.ts.map +1 -0
  458. package/lib/typescript/module/icons/remix/RiCloudLine.d.ts +8 -0
  459. package/lib/typescript/module/icons/remix/RiCloudLine.d.ts.map +1 -0
  460. package/lib/typescript/module/icons/remix/RiCodeLine.d.ts +8 -0
  461. package/lib/typescript/module/icons/remix/RiCodeLine.d.ts.map +1 -0
  462. package/lib/typescript/module/icons/remix/RiCpuLine.d.ts +8 -0
  463. package/lib/typescript/module/icons/remix/RiCpuLine.d.ts.map +1 -0
  464. package/lib/typescript/module/icons/remix/RiFloodLine.d.ts +8 -0
  465. package/lib/typescript/module/icons/remix/RiFloodLine.d.ts.map +1 -0
  466. package/lib/typescript/module/icons/remix/RiLockUnlockLine.d.ts +8 -0
  467. package/lib/typescript/module/icons/remix/RiLockUnlockLine.d.ts.map +1 -0
  468. package/lib/typescript/module/icons/remix/RiMoneyDollarCircleLine.d.ts +8 -0
  469. package/lib/typescript/module/icons/remix/RiMoneyDollarCircleLine.d.ts.map +1 -0
  470. package/lib/typescript/module/icons/remix/RiPlayCircleLine.d.ts +8 -0
  471. package/lib/typescript/module/icons/remix/RiPlayCircleLine.d.ts.map +1 -0
  472. package/lib/typescript/module/icons/remix/RiRocket2Line.d.ts +8 -0
  473. package/lib/typescript/module/icons/remix/RiRocket2Line.d.ts.map +1 -0
  474. package/lib/typescript/module/icons/remix/RiServerLine.d.ts +8 -0
  475. package/lib/typescript/module/icons/remix/RiServerLine.d.ts.map +1 -0
  476. package/lib/typescript/module/icons/remix/RiShareBoxLine.d.ts +8 -0
  477. package/lib/typescript/module/icons/remix/RiShareBoxLine.d.ts.map +1 -0
  478. package/lib/typescript/module/icons/remix/RiTv2Line.d.ts +8 -0
  479. package/lib/typescript/module/icons/remix/RiTv2Line.d.ts.map +1 -0
  480. package/lib/typescript/module/icons/remix/index.d.ts +14 -0
  481. package/lib/typescript/module/icons/remix/index.d.ts.map +1 -1
  482. package/lib/typescript/module/list/index.web.d.ts.map +1 -1
  483. package/lib/typescript/module/loading/Loading.d.ts +8 -2
  484. package/lib/typescript/module/loading/Loading.d.ts.map +1 -1
  485. package/lib/typescript/module/loading/Loading.web.d.ts +10 -2
  486. package/lib/typescript/module/loading/Loading.web.d.ts.map +1 -1
  487. package/lib/typescript/module/loading/LoadingBase.d.ts +64 -0
  488. package/lib/typescript/module/loading/LoadingBase.d.ts.map +1 -0
  489. package/lib/typescript/module/loading/index.web.d.ts.map +1 -1
  490. package/lib/typescript/module/media-flight/index.web.d.ts +0 -9
  491. package/lib/typescript/module/media-flight/index.web.d.ts.map +1 -1
  492. package/lib/typescript/module/menubar/Menubar.d.ts +14 -9
  493. package/lib/typescript/module/menubar/Menubar.d.ts.map +1 -1
  494. package/lib/typescript/module/menubar/Menubar.web.d.ts +8 -6
  495. package/lib/typescript/module/menubar/Menubar.web.d.ts.map +1 -1
  496. package/lib/typescript/module/menubar/MenubarBase.d.ts +5 -0
  497. package/lib/typescript/module/menubar/MenubarBase.d.ts.map +1 -0
  498. package/lib/typescript/module/menubar/index.web.d.ts.map +1 -1
  499. package/lib/typescript/module/motion/index.web.d.ts +0 -5
  500. package/lib/typescript/module/motion/index.web.d.ts.map +1 -1
  501. package/lib/typescript/module/popover/index.web.d.ts.map +1 -1
  502. package/lib/typescript/module/popover/parts.d.ts.map +1 -1
  503. package/lib/typescript/module/popover/surface.d.ts +15 -5
  504. package/lib/typescript/module/popover/surface.d.ts.map +1 -1
  505. package/lib/typescript/module/portal/index.web.d.ts +1 -1
  506. package/lib/typescript/module/portal/index.web.d.ts.map +1 -1
  507. package/lib/typescript/module/progressive-blur/index.web.d.ts.map +1 -1
  508. package/lib/typescript/module/scroll/index.web.d.ts.map +1 -1
  509. package/lib/typescript/module/segmented-control/SegmentedControl.d.ts.map +1 -1
  510. package/lib/typescript/module/select/Select.d.ts +2 -4
  511. package/lib/typescript/module/select/Select.d.ts.map +1 -1
  512. package/lib/typescript/module/select/Select.web.d.ts +2 -4
  513. package/lib/typescript/module/select/Select.web.d.ts.map +1 -1
  514. package/lib/typescript/module/select/index.d.ts +2 -2
  515. package/lib/typescript/module/select/index.d.ts.map +1 -1
  516. package/lib/typescript/module/select/index.web.d.ts +2 -2
  517. package/lib/typescript/module/select/index.web.d.ts.map +1 -1
  518. package/lib/typescript/module/select/shared.d.ts +52 -5
  519. package/lib/typescript/module/select/shared.d.ts.map +1 -1
  520. package/lib/typescript/module/select/types.d.ts +6 -0
  521. package/lib/typescript/module/select/types.d.ts.map +1 -1
  522. package/lib/typescript/module/sidebar/parts.d.ts +8 -2
  523. package/lib/typescript/module/sidebar/parts.d.ts.map +1 -1
  524. package/lib/typescript/module/surfaces/SurfaceHost.d.ts.map +1 -1
  525. package/lib/typescript/module/surfaces/index.web.d.ts +9 -4
  526. package/lib/typescript/module/surfaces/index.web.d.ts.map +1 -1
  527. package/lib/typescript/module/tab-bar/index.web.d.ts.map +1 -1
  528. package/lib/typescript/module/tabs/Tabs.d.ts.map +1 -1
  529. package/lib/typescript/module/tabs/types.d.ts +6 -0
  530. package/lib/typescript/module/tabs/types.d.ts.map +1 -1
  531. package/lib/typescript/module/theme/color-scope/index.web.d.ts.map +1 -1
  532. package/lib/typescript/module/theme/seed-scope/index.web.d.ts.map +1 -1
  533. package/lib/typescript/module/tooltip/index.web.d.ts.map +1 -1
  534. package/package.json +1 -1
  535. package/src/agent-chat/index.web.ts +5 -3
  536. package/src/ai-chat/index.web.ts +5 -2
  537. package/src/alert-dialog/index.web.ts +10 -1
  538. package/src/avatar-group/index.web.ts +5 -0
  539. package/src/bottom-sheet/index.web.ts +5 -0
  540. package/src/code/index.ts +2 -0
  541. package/src/command/index.web.ts +5 -0
  542. package/src/composer-loader/ComposerLoader.web.tsx +8 -0
  543. package/src/composer-loader/index.web.ts +5 -2
  544. package/src/composer-panel/index.web.ts +5 -3
  545. package/src/connection-dots/index.web.ts +5 -0
  546. package/src/connection-status/index.web.ts +5 -0
  547. package/src/content-panel/index.web.ts +5 -0
  548. package/src/context-menu/ContextMenu.web.tsx +26 -3
  549. package/src/context-menu/context.ts +3 -0
  550. package/src/context-menu/index.web.ts +5 -0
  551. package/src/dialog/Dialog.web.tsx +13 -0
  552. package/src/dialog/index.web.ts +7 -11
  553. package/src/dropdown-menu/DropdownMenu.web.tsx +25 -2
  554. package/src/dropdown-menu/index.web.ts +5 -0
  555. package/src/floating/FloatingPanel.tsx +37 -38
  556. package/src/floating/escape-stack.ts +92 -0
  557. package/src/floating/menu-keyboard.ts +242 -0
  558. package/src/floating/menu-sub-flyout.tsx +22 -17
  559. package/src/floating/types.ts +11 -0
  560. package/src/fonts/index.web.ts +5 -20
  561. package/src/frosted-icon-button/FrostedIconButton.web.tsx +9 -0
  562. package/src/frosted-icon-button/index.web.ts +5 -7
  563. package/src/hooks/roving-focus.ts +204 -0
  564. package/src/hover-card/index.web.ts +5 -0
  565. package/src/icons/remix/RiBookReadLine.tsx +6 -0
  566. package/src/icons/remix/RiBugLine.tsx +6 -0
  567. package/src/icons/remix/RiChat1Line.tsx +6 -0
  568. package/src/icons/remix/RiCloudLine.tsx +6 -0
  569. package/src/icons/remix/RiCodeLine.tsx +6 -0
  570. package/src/icons/remix/RiCpuLine.tsx +6 -0
  571. package/src/icons/remix/RiFloodLine.tsx +6 -0
  572. package/src/icons/remix/RiLockUnlockLine.tsx +6 -0
  573. package/src/icons/remix/RiMoneyDollarCircleLine.tsx +6 -0
  574. package/src/icons/remix/RiPlayCircleLine.tsx +6 -0
  575. package/src/icons/remix/RiRocket2Line.tsx +6 -0
  576. package/src/icons/remix/RiServerLine.tsx +6 -0
  577. package/src/icons/remix/RiShareBoxLine.tsx +6 -0
  578. package/src/icons/remix/RiTv2Line.tsx +6 -0
  579. package/src/icons/remix/index.ts +14 -0
  580. package/src/list/index.web.ts +5 -0
  581. package/src/loading/Loading.tsx +15 -135
  582. package/src/loading/Loading.web.tsx +16 -134
  583. package/src/loading/LoadingBase.tsx +170 -0
  584. package/src/loading/index.web.ts +5 -13
  585. package/src/media-flight/index.web.ts +5 -9
  586. package/src/menubar/Menubar.tsx +16 -147
  587. package/src/menubar/Menubar.web.tsx +15 -138
  588. package/src/menubar/MenubarBase.tsx +170 -0
  589. package/src/menubar/index.web.ts +5 -0
  590. package/src/motion/index.web.ts +5 -5
  591. package/src/popover/index.web.ts +5 -0
  592. package/src/popover/parts.tsx +76 -12
  593. package/src/popover/surface.ts +68 -15
  594. package/src/portal/index.web.ts +6 -1
  595. package/src/progressive-blur/index.web.ts +5 -0
  596. package/src/scroll/index.web.ts +5 -0
  597. package/src/segmented-control/SegmentedControl.tsx +45 -1
  598. package/src/select/Select.tsx +4 -67
  599. package/src/select/Select.web.tsx +133 -69
  600. package/src/select/index.ts +3 -3
  601. package/src/select/index.web.ts +8 -3
  602. package/src/select/shared.tsx +107 -5
  603. package/src/select/types.ts +6 -0
  604. package/src/sidebar/SidebarTeamMenu.tsx +2 -2
  605. package/src/sidebar/SidebarUserMenu.tsx +2 -2
  606. package/src/sidebar/parts.tsx +8 -9
  607. package/src/surfaces/SurfaceHost.tsx +6 -0
  608. package/src/surfaces/index.web.ts +14 -4
  609. package/src/tab-bar/index.web.ts +13 -10
  610. package/src/tabs/Tabs.tsx +65 -1
  611. package/src/tabs/types.ts +6 -0
  612. package/src/theme/color-scope/index.web.ts +5 -0
  613. package/src/theme/seed-scope/index.web.ts +5 -0
  614. package/src/tooltip/index.web.ts +5 -0
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Everything `Loading` does that is the SAME on both platforms.
5
+ *
6
+ * The family forks for one reason: the `top` variant's motion. Native drives
7
+ * it with react-native-reanimated, whose worklets Babel plugin has no web
8
+ * equivalent — a static import of it breaks every web bundler, Vite, webpack
9
+ * and Metro-web alike — so web drives the same motion with CSS transitions.
10
+ * That is the whole of the difference. The `spinner` and `inline` variants,
11
+ * the size table, the variant dispatch and the stylesheet were byte-identical
12
+ * copies in both forks.
13
+ *
14
+ * So the two platform pieces are INJECTED rather than imported: `SpinnerIcon`
15
+ * (itself forked) and `TopLoading`. `bindLoading` is called once at module
16
+ * scope by each fork, never per render, so the component identities are
17
+ * stable — the same discipline as `bindAgentChat` and `bindAiChat`.
18
+ *
19
+ * NEUTRAL by construction: nothing this module reaches is platform-forked, so
20
+ * it resolves the same way in Metro, Vite, webpack, SSR and jest. (jest
21
+ * resolves no platform extensions at all, so logic that moved into a
22
+ * `.native.*` file would lose its coverage in silence.)
23
+ */
24
+ import { normalizeBloomSize } from "../appearance/legacy.js";
25
+ import { resolveBloomColors } from "../appearance/colors.js";
26
+ import { useBloomAppearance } from "../appearance/index.js";
27
+ import React, { memo } from 'react';
28
+ import { View, Text, StyleSheet } from 'react-native';
29
+ import { useTheme } from "../theme/use-theme.js";
30
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
31
+ /** Spinner diameter and label size per `size` token. Read by all three variants. */
32
+ export const SIZE_CONFIG = {
33
+ xs: {
34
+ spinner: 16,
35
+ text: 12
36
+ },
37
+ sm: {
38
+ spinner: 20,
39
+ text: 13
40
+ },
41
+ md: {
42
+ spinner: 24,
43
+ text: 15
44
+ },
45
+ lg: {
46
+ spinner: 44,
47
+ text: 16
48
+ }
49
+ };
50
+
51
+ /** The two platform pieces a fork supplies. */
52
+
53
+ export function bindLoading({
54
+ SpinnerIcon,
55
+ TopLoading
56
+ }) {
57
+ const SpinnerLoading = ({
58
+ size: sizeProp,
59
+ color,
60
+ tone: toneProp,
61
+ className,
62
+ text,
63
+ textStyle,
64
+ style,
65
+ showText = true,
66
+ iconSize,
67
+ spinnerIcon,
68
+ testID
69
+ }) => {
70
+ const theme = useTheme();
71
+ const {
72
+ size,
73
+ tone
74
+ } = useBloomAppearance({
75
+ size: normalizeBloomSize(sizeProp),
76
+ tone: toneProp
77
+ }, {
78
+ size: 'md',
79
+ tone: 'accent'
80
+ });
81
+ const sizeConfig = SIZE_CONFIG[size];
82
+ const effectiveIconSize = iconSize ?? sizeConfig.spinner;
83
+ const spinnerColor = className ? 'currentColor' : color ?? resolveBloomColors(theme.colors, tone, 'solid').background;
84
+ const textColor = color ?? theme.colors.textSecondary;
85
+ return /*#__PURE__*/_jsxs(View, {
86
+ style: [styles.container, style],
87
+ testID: testID,
88
+ children: [spinnerIcon ?? /*#__PURE__*/_jsx(SpinnerIcon, {
89
+ size: effectiveIconSize,
90
+ color: spinnerColor,
91
+ className: className
92
+ }), showText && text && /*#__PURE__*/_jsx(Text, {
93
+ style: [styles.text, {
94
+ color: textColor,
95
+ fontSize: sizeConfig.text,
96
+ marginTop: 8
97
+ }, textStyle],
98
+ children: text
99
+ })]
100
+ });
101
+ };
102
+ const InlineLoading = ({
103
+ size: sizeProp,
104
+ color,
105
+ tone: toneProp,
106
+ text,
107
+ style,
108
+ textStyle,
109
+ spinnerIcon,
110
+ testID
111
+ }) => {
112
+ const theme = useTheme();
113
+ const {
114
+ size,
115
+ tone
116
+ } = useBloomAppearance({
117
+ size: normalizeBloomSize(sizeProp),
118
+ tone: toneProp
119
+ }, {
120
+ size: 'md',
121
+ tone: 'accent'
122
+ });
123
+ const sizeConfig = SIZE_CONFIG[size];
124
+ const spinnerColor = color ?? resolveBloomColors(theme.colors, tone, 'solid').background;
125
+ const textColor = theme.colors.textSecondary;
126
+ return /*#__PURE__*/_jsxs(View, {
127
+ style: [styles.inlineContainer, style],
128
+ testID: testID,
129
+ children: [spinnerIcon ?? /*#__PURE__*/_jsx(SpinnerIcon, {
130
+ size: sizeConfig.spinner,
131
+ color: spinnerColor
132
+ }), text && /*#__PURE__*/_jsx(Text, {
133
+ style: [{
134
+ color: textColor,
135
+ fontSize: sizeConfig.text,
136
+ marginLeft: 8
137
+ }, textStyle],
138
+ children: text
139
+ })]
140
+ });
141
+ };
142
+ const LoadingComponent = props => {
143
+ const variant = props.variant ?? 'spinner';
144
+ switch (variant) {
145
+ case 'top':
146
+ return /*#__PURE__*/_jsx(TopLoading, {
147
+ ...props
148
+ });
149
+ case 'inline':
150
+ return /*#__PURE__*/_jsx(InlineLoading, {
151
+ ...props
152
+ });
153
+ case 'spinner':
154
+ default:
155
+ return /*#__PURE__*/_jsx(SpinnerLoading, {
156
+ ...props
157
+ });
158
+ }
159
+ };
160
+ const Loading = /*#__PURE__*/memo(LoadingComponent);
161
+ Loading.displayName = 'Loading';
162
+ return {
163
+ Loading
164
+ };
165
+ }
166
+ export const styles = StyleSheet.create({
167
+ container: {
168
+ alignItems: 'center',
169
+ justifyContent: 'center',
170
+ padding: 16
171
+ },
172
+ text: {
173
+ textAlign: 'center'
174
+ },
175
+ topContainer: {
176
+ width: '100%',
177
+ position: 'relative',
178
+ overflow: 'hidden'
179
+ },
180
+ topLoadingView: {
181
+ width: '100%',
182
+ alignItems: 'center',
183
+ justifyContent: 'center',
184
+ position: 'absolute',
185
+ top: 0,
186
+ left: 0
187
+ },
188
+ inlineContainer: {
189
+ flexDirection: 'row',
190
+ alignItems: 'center',
191
+ justifyContent: 'center'
192
+ }
193
+ });
194
+ //# sourceMappingURL=LoadingBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["normalizeBloomSize","resolveBloomColors","useBloomAppearance","React","memo","View","Text","StyleSheet","useTheme","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","xs","spinner","text","sm","md","lg","bindLoading","SpinnerIcon","TopLoading","SpinnerLoading","size","sizeProp","color","tone","toneProp","className","textStyle","style","showText","iconSize","spinnerIcon","testID","theme","sizeConfig","effectiveIconSize","spinnerColor","colors","background","textColor","textSecondary","styles","container","children","fontSize","marginTop","InlineLoading","inlineContainer","marginLeft","LoadingComponent","props","variant","Loading","displayName","create","alignItems","justifyContent","padding","textAlign","topContainer","width","position","overflow","topLoadingView","top","left","flexDirection"],"sourceRoot":"../../../src","sources":["loading/LoadingBase.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,18 +1,10 @@
1
1
  "use strict";
2
2
 
3
- // Web variant of the `./loading` barrel.
4
- //
5
- // The default barrel (`./index.ts`) re-exports from `./Loading` and
6
- // `./SpinnerIcon`, which statically import `react-native-reanimated` and
7
- // `react-native-svg`. Reanimated has no web build — its worklets Babel plugin
8
- // is native-only and importing it statically breaks every web bundler (Vite,
9
- // webpack, Metro-web). The web forks (`./Loading.web`, `./SpinnerIcon.web`)
10
- // render the same components with CSS keyframes/transitions and no native deps.
11
- //
12
- // Web bundlers select this file via the `"browser"` export condition in
13
- // `package.json`'s `exports['./loading']`; native bundlers fall through to the
14
- // React Native build above. Types are platform-agnostic, so they come straight
15
- // from `./types`.
3
+ // AUTO-GENERATED by scripts/generate-platform-exports.mjs — DO NOT EDIT.
4
+ // Source of truth: src/loading/index.ts.
5
+ // Re-run `bun run generate:exports` (or any `bun run build`) after
6
+ // changing that barrel or the set of web-forked subpaths.
7
+
16
8
  export { Loading } from "./Loading.web.js";
17
9
  export { SpinnerIcon } from "./SpinnerIcon.web.js";
18
10
  //# sourceMappingURL=index.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Loading","SpinnerIcon"],"sourceRoot":"../../../src","sources":["loading/index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,kBAAe;AACvC,SAASC,WAAW,QAAQ,sBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["Loading","SpinnerIcon"],"sourceRoot":"../../../src","sources":["loading/index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,kBAAe;AACvC,SAASC,WAAW,QAAQ,sBAAmB","ignoreList":[]}
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
 
3
- /**
4
- * The web barrel, which exists to NAME the `.web` siblings.
5
- *
6
- * Export conditions do not apply to relative specifiers, so a bundler that is
7
- * not Metro reaches `MediaFlightLayer.web.tsx` and `MediaFlightHost.web.tsx`
8
- * only because this file spells them out. Those two are the whole web fork of
9
- * this family: the layer that paints each shared media node once, and the host
10
- * that claims it. Everything else below is the same module on both platforms.
11
- */
3
+ // AUTO-GENERATED by scripts/generate-platform-exports.mjs — DO NOT EDIT.
4
+ // Source of truth: src/media-flight/index.ts.
5
+ // Re-run `bun run generate:exports` (or any `bun run build`) after
6
+ // changing that barrel or the set of web-forked subpaths.
7
+
12
8
  export { MediaFlightLayer } from "./MediaFlightLayer.web.js";
13
9
  export { MediaFlightHost } from "./MediaFlightHost.web.js";
14
10
  export { MediaSurface, MediaPoster, EmptyMediaSurface } from "./MediaSurface.js";
@@ -1 +1 @@
1
- {"version":3,"names":["MediaFlightLayer","MediaFlightHost","MediaSurface","MediaPoster","EmptyMediaSurface","useMediaFlight","DEFAULT_FLIGHT_CORNER_RADIUS","flightProgress","handOffFlight","hasFlight","releaseFlight","resetMediaFlight","SURFACE_MOUNT_TIMEOUT_MS","loadExpoVideo","warnExpoVideoUnavailable","provideExpoVideo","resetExpoVideoModule"],"sourceRoot":"../../../src","sources":["media-flight/index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,2BAAwB;AACzD,SAASC,eAAe,QAAQ,0BAAuB;AACvD,SAASC,YAAY,EAAEC,WAAW,EAAEC,iBAAiB,QAAQ,mBAAgB;AAC7E,SAASC,cAAc,QAAQ,uBAAoB;AACnD,SACEC,4BAA4B,EAC5BC,cAAc,EACdC,aAAa,EACbC,SAAS,EACTC,aAAa,EACbC,gBAAgB,QACX,YAAS;AAChB,SAASC,wBAAwB,QAAQ,gBAAa;AACtD,SACEC,aAAa,EACbC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,QAMf,wBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["MediaFlightLayer","MediaFlightHost","MediaSurface","MediaPoster","EmptyMediaSurface","useMediaFlight","DEFAULT_FLIGHT_CORNER_RADIUS","flightProgress","handOffFlight","hasFlight","releaseFlight","resetMediaFlight","SURFACE_MOUNT_TIMEOUT_MS","loadExpoVideo","warnExpoVideoUnavailable","provideExpoVideo","resetExpoVideoModule"],"sourceRoot":"../../../src","sources":["media-flight/index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,SAASA,gBAAgB,QAAQ,2BAAwB;AACzD,SAASC,eAAe,QAAQ,0BAAuB;AACvD,SAASC,YAAY,EAAEC,WAAW,EAAEC,iBAAiB,QAAQ,mBAAgB;AAC7E,SAASC,cAAc,QAAQ,uBAAoB;AACnD,SACEC,4BAA4B,EAC5BC,cAAc,EACdC,aAAa,EACbC,SAAS,EACTC,aAAa,EACbC,gBAAgB,QACX,YAAS;AAChB,SAASC,wBAAwB,QAAQ,gBAAa;AACtD,SACEC,aAAa,EACbC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,QAMf,wBAAqB","ignoreList":[]}
@@ -1,136 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * `Menubar` — NATIVE. A row of triggers, each opening the same bottom sheet
5
- * `DropdownMenu` and `ContextMenu` present.
4
+ * `Menubar` — NATIVE: each menu opens the same bottom sheet `DropdownMenu` and
5
+ * `ContextMenu` present, because a phone has no room to hang a panel beside a
6
+ * control and every Bloom overlay resolving to one sheet is what makes the
7
+ * native surfaces feel like one system.
6
8
  *
7
- * The one genuinely new family in this port: Bloom had no menu bar. Its rows are
8
- * `floating/menu-rows`, published here under shadcn's `Menubar*` names, so a
9
- * ported call site keeps every part it wrote.
9
+ * The bar, the per-menu state and the trigger are identical on both platforms
10
+ * and live in `MenubarBase`. What forks is this file: the surface a menu opens
11
+ * into, and which sub-menu the rows get — INLINE on native, because a flyout
12
+ * needs a pointer.
13
+ *
14
+ * Bloom had no menu bar before this family; its rows are `floating/menu-rows`,
15
+ * published here under the `Menubar*` names so a call site keeps every part it
16
+ * wrote.
10
17
  */
11
- import React, { useMemo, useRef } from 'react';
18
+ import React, { useMemo } from 'react';
12
19
  import { SheetShell } from "../dialog/SheetShell.js";
13
- import { MENUBAR_CLASS, MENUBAR_TRIGGER_CLASS, MENUBAR_TRIGGER_OPEN_CLASS, MENUBAR_TRIGGER_TEXT_CLASS, MENU_TRIGGER_POPUP } from "../floating/constants.js";
14
20
  import { MenuSurfaceProvider } from "../floating/context.js";
15
21
  import { createMenuRows } from "../floating/menu-rows.js";
16
22
  import { createInlineMenuSub } from "../floating/menu-sub-inline.js";
17
- import { cx } from "../floating/shared.js";
18
- import { TriggerSlot } from "../floating/TriggerSlot.js";
19
23
  import { useSheetOpenBridge } from "../floating/use-sheet-open-bridge.js";
20
- import { useControllableState } from "../hooks/use-controllable-state.js";
21
- import { StyledText, StyledView } from "../styles/styled-primitives.js";
22
- import { useMenuPalette } from "../floating/menu-palette.js";
23
- import { menuType } from "../floating/menu-type.js";
24
- import { MenubarMenuProvider, MenubarProvider, useMenubar, useMenubarMenu } from "./context.js";
24
+ import { useMenubarMenu } from "./context.js";
25
25
  import { jsx as _jsx } from "react/jsx-runtime";
26
- export function Menubar({
27
- children,
28
- value,
29
- defaultValue,
30
- onValueChange,
31
- label = 'Menu bar',
32
- className,
33
- style,
34
- testID
35
- }) {
36
- const [openValue, setValue] = useControllableState({
37
- value,
38
- defaultValue,
39
- onChange: onValueChange
40
- });
41
- const context = useMemo(() => ({
42
- value: openValue,
43
- setValue
44
- }), [openValue, setValue]);
45
- const palette = useMenuPalette();
46
- const barPaint = {
47
- backgroundColor: palette.trigger.background,
48
- borderColor: palette.trigger.border,
49
- boxShadow: palette.trigger.shadow
50
- };
51
- return /*#__PURE__*/_jsx(MenubarProvider, {
52
- value: context,
53
- children: /*#__PURE__*/_jsx(StyledView, {
54
- role: "menubar",
55
- "aria-label": label,
56
- testID: testID,
57
- className: cx(MENUBAR_CLASS, className)
58
- // `shadow-s` reaches WEB through the class; NATIVE takes the same role as
59
- // an inline style, because `design-tokens/shadows` is platform-forked and
60
- // its own contract is that a multi-layer `box-shadow` is not something to
61
- // rely on NativeWind translating to RN elevation. On web the two agree, so
62
- // whichever wins paints the same thing.
63
- ,
64
- style: [barPaint, style],
65
- children: children
66
- })
67
- });
68
- }
69
- export function MenubarMenu({
70
- children,
71
- value
72
- }) {
73
- const bar = useMenubar();
74
- const anchorRef = useRef(null);
75
- const {
76
- setValue
77
- } = bar;
78
- const context = useMemo(() => ({
79
- open: bar.value === value,
80
- setOpen: next => setValue(next ? value : undefined),
81
- anchorRef
82
- }), [bar.value, value, setValue]);
83
- return /*#__PURE__*/_jsx(MenubarMenuProvider, {
84
- value: context,
85
- children: children
86
- });
87
- }
88
- export function MenubarTrigger({
89
- children,
90
- asChild,
91
- disabled,
92
- label,
93
- className,
94
- style,
95
- testID
96
- }) {
97
- const menu = useMenubarMenu();
98
- const palette = useMenuPalette();
99
-
100
- // `flex items-center rounded-md px-2 py-1.5`, plus `bg-accent` while its menu
101
- // is open and `text-sm font-medium` for the label — the same chrome the web
102
- // fork draws, so the bar reads identically on both platforms.
103
- const trigger = /*#__PURE__*/_jsx(StyledView, {
104
- className: cx(MENUBAR_TRIGGER_CLASS, menu.open && MENUBAR_TRIGGER_OPEN_CLASS, className),
105
- style: {
106
- backgroundColor: menu.open ? palette.rowHighlight : 'transparent'
107
- },
108
- children: typeof children === 'string' ? /*#__PURE__*/_jsx(StyledText, {
109
- className: MENUBAR_TRIGGER_TEXT_CLASS
110
- // `text-body-medium text-text-primary`, in Inter.
111
- ,
112
- style: [menuType('body-medium'), {
113
- color: palette.text
114
- }],
115
- children: children
116
- }) : children
117
- });
118
- return /*#__PURE__*/_jsx(TriggerSlot, {
119
- asChild: asChild,
120
- anchorRef: menu.anchorRef,
121
- style: style,
122
- testID: testID,
123
- handle: {
124
- onPress: () => menu.setOpen(!menu.open),
125
- disabled,
126
- accessibilityLabel: label,
127
- accessibilityRole: 'button',
128
- 'aria-haspopup': MENU_TRIGGER_POPUP,
129
- 'aria-expanded': menu.open
130
- },
131
- children: asChild ? children : trigger
132
- });
133
- }
26
+ export { Menubar, MenubarMenu, MenubarTrigger } from "./MenubarBase.js";
134
27
  export function MenubarContent({
135
28
  children,
136
29
  label = 'Menu',
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","useRef","SheetShell","MENUBAR_CLASS","MENUBAR_TRIGGER_CLASS","MENUBAR_TRIGGER_OPEN_CLASS","MENUBAR_TRIGGER_TEXT_CLASS","MENU_TRIGGER_POPUP","MenuSurfaceProvider","createMenuRows","createInlineMenuSub","cx","TriggerSlot","useSheetOpenBridge","useControllableState","StyledText","StyledView","useMenuPalette","menuType","MenubarMenuProvider","MenubarProvider","useMenubar","useMenubarMenu","jsx","_jsx","Menubar","children","value","defaultValue","onValueChange","label","className","style","testID","openValue","setValue","onChange","context","palette","barPaint","backgroundColor","trigger","background","borderColor","border","boxShadow","shadow","role","MenubarMenu","bar","anchorRef","open","setOpen","next","undefined","MenubarTrigger","asChild","disabled","menu","rowHighlight","color","text","handle","onPress","accessibilityLabel","accessibilityRole","MenubarContent","control","onSheetClose","surface","close","presentation","onClose","contentStyle","rows","MenubarItem","Item","MenubarCheckboxItem","CheckboxItem","MenubarRadioGroup","RadioGroup","MenubarRadioItem","RadioItem","MenubarLabel","Label","MenubarSeparator","Separator","MenubarShortcut","Shortcut","MenubarGroup","Group","MenubarSub","Sub","MenubarSubTrigger","SubTrigger","MenubarSubContent","SubContent"],"sourceRoot":"../../../src","sources":["menubar/Menubar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","SheetShell","MenuSurfaceProvider","createMenuRows","createInlineMenuSub","useSheetOpenBridge","useMenubarMenu","jsx","_jsx","Menubar","MenubarMenu","MenubarTrigger","MenubarContent","children","label","style","menu","control","onSheetClose","open","setOpen","surface","close","presentation","onClose","contentStyle","value","rows","MenubarItem","Item","MenubarCheckboxItem","CheckboxItem","MenubarRadioGroup","RadioGroup","MenubarRadioItem","RadioItem","MenubarLabel","Label","MenubarSeparator","Separator","MenubarShortcut","Shortcut","MenubarGroup","Group","MenubarSub","Sub","MenubarSubTrigger","SubTrigger","MenubarSubContent","SubContent"],"sourceRoot":"../../../src","sources":["menubar/Menubar.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,yBAAsB;AACjD,SAASC,mBAAmB,QAAsC,wBAAqB;AACvF,SAASC,cAAc,QAAQ,0BAAuB;AACtD,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,kBAAkB,QAAQ,sCAAmC;AACtE,SAASC,cAAc,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3C,SAASC,OAAO,EAAEC,WAAW,EAAEC,cAAc,QAAQ,kBAAe;AAEpE,OAAO,SAASC,cAAcA,CAAC;EAAEC,QAAQ;EAAEC,KAAK,GAAG,MAAM;EAAEC;AAA2B,CAAC,EAAE;EACvF,MAAMC,IAAI,GAAGV,cAAc,CAAC,CAAC;EAC7B,MAAM;IAAEW,OAAO;IAAEC;EAAa,CAAC,GAAGb,kBAAkB,CAACW,IAAI,CAACG,IAAI,EAAEH,IAAI,CAACI,OAAO,CAAC;EAC7E,MAAMC,OAAO,GAAGrB,OAAO,CACrB,OAAO;IAAEsB,KAAK,EAAEA,CAAA,KAAMN,IAAI,CAACI,OAAO,CAAC,KAAK,CAAC;IAAEG,YAAY,EAAE;EAAQ,CAAC,CAAC,EACnE,CAACP,IAAI,CACP,CAAC;EAED,oBACER,IAAA,CAACP,UAAU;IAACgB,OAAO,EAAEA,OAAQ;IAACH,KAAK,EAAEA,KAAM;IAACU,OAAO,EAAEN,YAAa;IAACO,YAAY,EAAEV,KAAM;IAAAF,QAAA,eACrFL,IAAA,CAACN,mBAAmB;MAACwB,KAAK,EAAEL,OAAQ;MAAAR,QAAA,EAAEA;IAAQ,CAAsB;EAAC,CAC3D,CAAC;AAEjB;AAEA,MAAMc,IAAI,GAAGxB,cAAc,CAAC,SAAS,EAAEC,mBAAmB,CAAC;AAE3D,OAAO,MAAMwB,WAAW,GAAGD,IAAI,CAACE,IAAI;AACpC,OAAO,MAAMC,mBAAmB,GAAGH,IAAI,CAACI,YAAY;AACpD,OAAO,MAAMC,iBAAiB,GAAGL,IAAI,CAACM,UAAU;AAChD,OAAO,MAAMC,gBAAgB,GAAGP,IAAI,CAACQ,SAAS;AAC9C,OAAO,MAAMC,YAAY,GAAGT,IAAI,CAACU,KAAK;AACtC,OAAO,MAAMC,gBAAgB,GAAGX,IAAI,CAACY,SAAS;AAC9C,OAAO,MAAMC,eAAe,GAAGb,IAAI,CAACc,QAAQ;AAC5C,OAAO,MAAMC,YAAY,GAAGf,IAAI,CAACgB,KAAK;AACtC,OAAO,MAAMC,UAAU,GAAGjB,IAAI,CAACkB,GAAG;AAClC,OAAO,MAAMC,iBAAiB,GAAGnB,IAAI,CAACoB,UAAU;AAChD,OAAO,MAAMC,iBAAiB,GAAGrB,IAAI,CAACsB,UAAU","ignoreList":[]}
@@ -1,132 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * `Menubar` — WEB. The bar is the same row of triggers; each menu is an anchored
5
- * panel from `floating/FloatingPanel` rather than a sheet.
4
+ * `Menubar` — WEB: each menu is an anchored panel from `floating/FloatingPanel`
5
+ * rather than a sheet.
6
+ *
7
+ * The bar, the per-menu state and the trigger are identical on both platforms
8
+ * and live in `MenubarBase`. What forks is this file: the surface a menu opens
9
+ * into, and which sub-menu the rows get — a FLYOUT here, which needs a pointer.
6
10
  *
7
11
  * `align="start"` and the trigger's own width as `minWidth` are what make a
8
12
  * menubar menu hang under its trigger the way a desktop menu bar does, rather
9
13
  * than centring like a popover.
10
14
  */
11
- import React, { useCallback, useMemo, useRef } from 'react';
12
- import { MENUBAR_ALIGN_OFFSET, MENUBAR_CLASS, MENUBAR_MENU_MIN_WIDTH_CLASS, MENUBAR_SIDE_OFFSET, MENUBAR_TRIGGER_CLASS, MENUBAR_TRIGGER_OPEN_CLASS, MENUBAR_TRIGGER_TEXT_CLASS, MENU_TRIGGER_POPUP } from "../floating/constants.js";
15
+ import React, { useCallback, useMemo, useState } from 'react';
16
+ import { MENUBAR_ALIGN_OFFSET, MENUBAR_MENU_MIN_WIDTH_CLASS, MENUBAR_SIDE_OFFSET } from "../floating/constants.js";
13
17
  import { MenuSurfaceProvider } from "../floating/context.js";
14
18
  import { FloatingPanel } from "../floating/FloatingPanel.js";
19
+ import { hostElement, useMenuPanelKeys } from "../floating/menu-keyboard.js";
15
20
  import { createMenuRows } from "../floating/menu-rows.js";
16
21
  import { createFlyoutMenuSub } from "../floating/menu-sub-flyout.js";
17
22
  import { cx } from "../floating/shared.js";
18
- import { TriggerSlot } from "../floating/TriggerSlot.js";
19
23
  import { useAnchorRect } from "../floating/use-anchor-rect.js";
20
- import { useControllableState } from "../hooks/use-controllable-state.js";
21
- import { StyledText, StyledView } from "../styles/styled-primitives.js";
22
- import { useMenuPalette } from "../floating/menu-palette.js";
23
- import { menuType } from "../floating/menu-type.js";
24
- import { MenubarMenuProvider, MenubarProvider, useMenubar, useMenubarMenu } from "./context.js";
24
+ import { useMenubarMenu } from "./context.js";
25
25
  import { jsx as _jsx } from "react/jsx-runtime";
26
- export function Menubar({
27
- children,
28
- value,
29
- defaultValue,
30
- onValueChange,
31
- label = 'Menu bar',
32
- className,
33
- style,
34
- testID
35
- }) {
36
- const [openValue, setValue] = useControllableState({
37
- value,
38
- defaultValue,
39
- onChange: onValueChange
40
- });
41
- const context = useMemo(() => ({
42
- value: openValue,
43
- setValue
44
- }), [openValue, setValue]);
45
- const palette = useMenuPalette();
46
- const barPaint = {
47
- backgroundColor: palette.trigger.background,
48
- borderColor: palette.trigger.border,
49
- boxShadow: palette.trigger.shadow
50
- };
51
- return /*#__PURE__*/_jsx(MenubarProvider, {
52
- value: context,
53
- children: /*#__PURE__*/_jsx(StyledView, {
54
- role: "menubar",
55
- "aria-label": label,
56
- testID: testID,
57
- className: cx(MENUBAR_CLASS, className),
58
- style: [barPaint, style],
59
- children: children
60
- })
61
- });
62
- }
63
- export function MenubarMenu({
64
- children,
65
- value
66
- }) {
67
- const bar = useMenubar();
68
- const anchorRef = useRef(null);
69
- const {
70
- setValue
71
- } = bar;
72
- const context = useMemo(() => ({
73
- open: bar.value === value,
74
- setOpen: next => setValue(next ? value : undefined),
75
- anchorRef
76
- }), [bar.value, value, setValue]);
77
- return /*#__PURE__*/_jsx(MenubarMenuProvider, {
78
- value: context,
79
- children: children
80
- });
81
- }
82
- export function MenubarTrigger({
83
- children,
84
- asChild,
85
- disabled,
86
- label,
87
- className,
88
- style,
89
- testID
90
- }) {
91
- const menu = useMenubarMenu();
92
- const palette = useMenuPalette();
93
-
94
- // `flex items-center rounded-md px-2 py-1.5`, plus `bg-accent` while its menu
95
- // is open, and `text-sm font-medium` for the label. A menubar trigger is a
96
- // BUTTON with chrome of its own, not a bare hit box — leaving it unstyled is
97
- // why a Bloom menubar read as loose text against a pill-per-menu bar.
98
- // `asChild` still hands the whole thing to the caller.
99
- const trigger = /*#__PURE__*/_jsx(StyledView, {
100
- className: cx(MENUBAR_TRIGGER_CLASS, menu.open && MENUBAR_TRIGGER_OPEN_CLASS, className),
101
- style: {
102
- backgroundColor: menu.open ? palette.rowHighlight : 'transparent'
103
- },
104
- children: typeof children === 'string' ? /*#__PURE__*/_jsx(StyledText, {
105
- className: MENUBAR_TRIGGER_TEXT_CLASS
106
- // `text-body-medium text-text-primary`, in Inter.
107
- ,
108
- style: [menuType('body-medium'), {
109
- color: palette.text
110
- }],
111
- children: children
112
- }) : children
113
- });
114
- return /*#__PURE__*/_jsx(TriggerSlot, {
115
- asChild: asChild,
116
- anchorRef: menu.anchorRef,
117
- style: style,
118
- testID: testID,
119
- handle: {
120
- onPress: () => menu.setOpen(!menu.open),
121
- disabled,
122
- accessibilityLabel: label,
123
- accessibilityRole: 'button',
124
- 'aria-haspopup': MENU_TRIGGER_POPUP,
125
- 'aria-expanded': menu.open
126
- },
127
- children: asChild ? children : trigger
128
- });
129
- }
26
+ export { Menubar, MenubarMenu, MenubarTrigger } from "./MenubarBase.js";
130
27
  export function MenubarContent({
131
28
  children,
132
29
  label = 'Menu',
@@ -151,7 +48,14 @@ export function MenubarContent({
151
48
  close,
152
49
  presentation: 'dropdown'
153
50
  }), [close]);
51
+ const [panel, setPanel] = useState(null);
52
+ useMenuPanelKeys(hostElement(panel), {
53
+ open: menu.open,
54
+ onTab: close,
55
+ intent: menu.focusIntent
56
+ });
154
57
  return /*#__PURE__*/_jsx(FloatingPanel, {
58
+ panelRef: setPanel,
155
59
  open: menu.open,
156
60
  anchor: anchor,
157
61
  role: "menu",
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","useRef","MENUBAR_ALIGN_OFFSET","MENUBAR_CLASS","MENUBAR_MENU_MIN_WIDTH_CLASS","MENUBAR_SIDE_OFFSET","MENUBAR_TRIGGER_CLASS","MENUBAR_TRIGGER_OPEN_CLASS","MENUBAR_TRIGGER_TEXT_CLASS","MENU_TRIGGER_POPUP","MenuSurfaceProvider","FloatingPanel","createMenuRows","createFlyoutMenuSub","cx","TriggerSlot","useAnchorRect","useControllableState","StyledText","StyledView","useMenuPalette","menuType","MenubarMenuProvider","MenubarProvider","useMenubar","useMenubarMenu","jsx","_jsx","Menubar","children","value","defaultValue","onValueChange","label","className","style","testID","openValue","setValue","onChange","context","palette","barPaint","backgroundColor","trigger","background","borderColor","border","boxShadow","shadow","role","MenubarMenu","bar","anchorRef","open","setOpen","next","undefined","MenubarTrigger","asChild","disabled","menu","rowHighlight","color","text","handle","onPress","accessibilityLabel","accessibilityRole","MenubarContent","side","align","sideOffset","alignOffset","dismissible","minWidth","maxWidth","anchor","close","surface","presentation","modal","onDismiss","rows","MenubarItem","Item","MenubarCheckboxItem","CheckboxItem","MenubarRadioGroup","RadioGroup","MenubarRadioItem","RadioItem","MenubarLabel","Label","MenubarSeparator","Separator","MenubarShortcut","Shortcut","MenubarGroup","Group","MenubarSub","Sub","MenubarSubTrigger","SubTrigger","MenubarSubContent","SubContent"],"sourceRoot":"../../../src","sources":["menubar/Menubar.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","useState","MENUBAR_ALIGN_OFFSET","MENUBAR_MENU_MIN_WIDTH_CLASS","MENUBAR_SIDE_OFFSET","MenuSurfaceProvider","FloatingPanel","hostElement","useMenuPanelKeys","createMenuRows","createFlyoutMenuSub","cx","useAnchorRect","useMenubarMenu","jsx","_jsx","Menubar","MenubarMenu","MenubarTrigger","MenubarContent","children","label","side","align","sideOffset","alignOffset","dismissible","minWidth","maxWidth","className","style","testID","menu","anchor","anchorRef","open","close","setOpen","surface","presentation","panel","setPanel","onTab","intent","focusIntent","panelRef","role","modal","onDismiss","value","rows","MenubarItem","Item","MenubarCheckboxItem","CheckboxItem","MenubarRadioGroup","RadioGroup","MenubarRadioItem","RadioItem","MenubarLabel","Label","MenubarSeparator","Separator","MenubarShortcut","Shortcut","MenubarGroup","Group","MenubarSub","Sub","MenubarSubTrigger","SubTrigger","MenubarSubContent","SubContent"],"sourceRoot":"../../../src","sources":["menubar/Menubar.web.tsx"],"mappings":"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","ignoreList":[]}