@oxy.so/bloom 4.4.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 (704) 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/layout.mdx +36 -0
  8. package/docs/menubar.mdx +6 -2
  9. package/docs/page-header.mdx +16 -0
  10. package/docs/popover.mdx +4 -2
  11. package/docs/segmented-control.mdx +12 -0
  12. package/docs/select.mdx +19 -0
  13. package/docs/sidebar.mdx +6 -0
  14. package/docs/tabs.mdx +12 -0
  15. package/lib/commonjs/agent-chat/index.web.js.map +1 -1
  16. package/lib/commonjs/ai-chat/index.web.js.map +1 -1
  17. package/lib/commonjs/alert-dialog/index.web.js +10 -1
  18. package/lib/commonjs/alert-dialog/index.web.js.map +1 -1
  19. package/lib/commonjs/avatar-group/index.web.js.map +1 -1
  20. package/lib/commonjs/bottom-sheet/index.web.js.map +1 -1
  21. package/lib/commonjs/code/index.js +13 -0
  22. package/lib/commonjs/code/index.js.map +1 -1
  23. package/lib/commonjs/command/index.web.js +5 -0
  24. package/lib/commonjs/command/index.web.js.map +1 -1
  25. package/lib/commonjs/composer-loader/ComposerLoader.web.js +9 -0
  26. package/lib/commonjs/composer-loader/ComposerLoader.web.js.map +1 -1
  27. package/lib/commonjs/composer-loader/index.web.js.map +1 -1
  28. package/lib/commonjs/composer-panel/index.web.js.map +1 -1
  29. package/lib/commonjs/connection-dots/index.web.js.map +1 -1
  30. package/lib/commonjs/connection-status/index.web.js.map +1 -1
  31. package/lib/commonjs/content-panel/index.web.js.map +1 -1
  32. package/lib/commonjs/context-menu/ContextMenu.web.js +22 -4
  33. package/lib/commonjs/context-menu/ContextMenu.web.js.map +1 -1
  34. package/lib/commonjs/context-menu/context.js.map +1 -1
  35. package/lib/commonjs/context-menu/index.web.js.map +1 -1
  36. package/lib/commonjs/dialog/Dialog.web.js +14 -0
  37. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  38. package/lib/commonjs/dialog/index.web.js.map +1 -1
  39. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js +22 -2
  40. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js.map +1 -1
  41. package/lib/commonjs/dropdown-menu/index.web.js.map +1 -1
  42. package/lib/commonjs/floating/FloatingPanel.js +42 -33
  43. package/lib/commonjs/floating/FloatingPanel.js.map +1 -1
  44. package/lib/commonjs/floating/escape-stack.js +90 -0
  45. package/lib/commonjs/floating/escape-stack.js.map +1 -0
  46. package/lib/commonjs/floating/menu-keyboard.js +238 -0
  47. package/lib/commonjs/floating/menu-keyboard.js.map +1 -0
  48. package/lib/commonjs/floating/menu-sub-flyout.js +28 -16
  49. package/lib/commonjs/floating/menu-sub-flyout.js.map +1 -1
  50. package/lib/commonjs/fonts/index.web.js.map +1 -1
  51. package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js +10 -0
  52. package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js.map +1 -1
  53. package/lib/commonjs/frosted-icon-button/index.web.js.map +1 -1
  54. package/lib/commonjs/hooks/roving-focus.js +192 -0
  55. package/lib/commonjs/hooks/roving-focus.js.map +1 -0
  56. package/lib/commonjs/hover-card/index.web.js.map +1 -1
  57. package/lib/commonjs/icons/remix/RiBookReadLine.js +12 -0
  58. package/lib/commonjs/icons/remix/RiBookReadLine.js.map +1 -0
  59. package/lib/commonjs/icons/remix/RiBugLine.js +12 -0
  60. package/lib/commonjs/icons/remix/RiBugLine.js.map +1 -0
  61. package/lib/commonjs/icons/remix/RiChat1Line.js +12 -0
  62. package/lib/commonjs/icons/remix/RiChat1Line.js.map +1 -0
  63. package/lib/commonjs/icons/remix/RiCloudLine.js +12 -0
  64. package/lib/commonjs/icons/remix/RiCloudLine.js.map +1 -0
  65. package/lib/commonjs/icons/remix/RiCodeLine.js +12 -0
  66. package/lib/commonjs/icons/remix/RiCodeLine.js.map +1 -0
  67. package/lib/commonjs/icons/remix/RiCpuLine.js +12 -0
  68. package/lib/commonjs/icons/remix/RiCpuLine.js.map +1 -0
  69. package/lib/commonjs/icons/remix/RiFloodLine.js +12 -0
  70. package/lib/commonjs/icons/remix/RiFloodLine.js.map +1 -0
  71. package/lib/commonjs/icons/remix/RiLockUnlockLine.js +12 -0
  72. package/lib/commonjs/icons/remix/RiLockUnlockLine.js.map +1 -0
  73. package/lib/commonjs/icons/remix/RiMoneyDollarCircleLine.js +12 -0
  74. package/lib/commonjs/icons/remix/RiMoneyDollarCircleLine.js.map +1 -0
  75. package/lib/commonjs/icons/remix/RiPlayCircleLine.js +12 -0
  76. package/lib/commonjs/icons/remix/RiPlayCircleLine.js.map +1 -0
  77. package/lib/commonjs/icons/remix/RiRocket2Line.js +12 -0
  78. package/lib/commonjs/icons/remix/RiRocket2Line.js.map +1 -0
  79. package/lib/commonjs/icons/remix/RiServerLine.js +12 -0
  80. package/lib/commonjs/icons/remix/RiServerLine.js.map +1 -0
  81. package/lib/commonjs/icons/remix/RiShareBoxLine.js +12 -0
  82. package/lib/commonjs/icons/remix/RiShareBoxLine.js.map +1 -0
  83. package/lib/commonjs/icons/remix/RiTv2Line.js +12 -0
  84. package/lib/commonjs/icons/remix/RiTv2Line.js.map +1 -0
  85. package/lib/commonjs/icons/remix/index.js +98 -0
  86. package/lib/commonjs/icons/remix/index.js.map +1 -1
  87. package/lib/commonjs/index.js +21 -0
  88. package/lib/commonjs/index.js.map +1 -1
  89. package/lib/commonjs/index.web.js +21 -0
  90. package/lib/commonjs/index.web.js.map +1 -1
  91. package/lib/commonjs/layout/StickySection.js +106 -0
  92. package/lib/commonjs/layout/StickySection.js.map +1 -0
  93. package/lib/commonjs/layout/header-dock.js +61 -0
  94. package/lib/commonjs/layout/header-dock.js.map +1 -0
  95. package/lib/commonjs/layout/index.js +20 -0
  96. package/lib/commonjs/layout/index.js.map +1 -1
  97. package/lib/commonjs/list/index.web.js.map +1 -1
  98. package/lib/commonjs/loading/Loading.js +21 -157
  99. package/lib/commonjs/loading/Loading.js.map +1 -1
  100. package/lib/commonjs/loading/Loading.web.js +23 -157
  101. package/lib/commonjs/loading/Loading.web.js.map +1 -1
  102. package/lib/commonjs/loading/LoadingBase.js +202 -0
  103. package/lib/commonjs/loading/LoadingBase.js.map +1 -0
  104. package/lib/commonjs/loading/index.web.js.map +1 -1
  105. package/lib/commonjs/media-flight/index.web.js.map +1 -1
  106. package/lib/commonjs/menubar/Menubar.js +31 -123
  107. package/lib/commonjs/menubar/Menubar.js.map +1 -1
  108. package/lib/commonjs/menubar/Menubar.web.js +33 -114
  109. package/lib/commonjs/menubar/Menubar.web.js.map +1 -1
  110. package/lib/commonjs/menubar/MenubarBase.js +154 -0
  111. package/lib/commonjs/menubar/MenubarBase.js.map +1 -0
  112. package/lib/commonjs/menubar/index.web.js.map +1 -1
  113. package/lib/commonjs/page-header/PageHeader.js +38 -14
  114. package/lib/commonjs/page-header/PageHeader.js.map +1 -1
  115. package/lib/commonjs/popover/index.web.js.map +1 -1
  116. package/lib/commonjs/popover/parts.js +69 -11
  117. package/lib/commonjs/popover/parts.js.map +1 -1
  118. package/lib/commonjs/popover/surface.js +39 -13
  119. package/lib/commonjs/popover/surface.js.map +1 -1
  120. package/lib/commonjs/portal/index.web.js.map +1 -1
  121. package/lib/commonjs/progressive-blur/index.web.js.map +1 -1
  122. package/lib/commonjs/scroll/index.web.js.map +1 -1
  123. package/lib/commonjs/segmented-control/SegmentedControl.js +36 -1
  124. package/lib/commonjs/segmented-control/SegmentedControl.js.map +1 -1
  125. package/lib/commonjs/select/Select.js +6 -81
  126. package/lib/commonjs/select/Select.js.map +1 -1
  127. package/lib/commonjs/select/Select.web.js +147 -85
  128. package/lib/commonjs/select/Select.web.js.map +1 -1
  129. package/lib/commonjs/select/index.js +4 -4
  130. package/lib/commonjs/select/index.js.map +1 -1
  131. package/lib/commonjs/select/index.web.js +4 -4
  132. package/lib/commonjs/select/index.web.js.map +1 -1
  133. package/lib/commonjs/select/shared.js +110 -5
  134. package/lib/commonjs/select/shared.js.map +1 -1
  135. package/lib/commonjs/sidebar/Sidebar.js +121 -108
  136. package/lib/commonjs/sidebar/Sidebar.js.map +1 -1
  137. package/lib/commonjs/sidebar/SidebarRail.js +70 -48
  138. package/lib/commonjs/sidebar/SidebarRail.js.map +1 -1
  139. package/lib/commonjs/sidebar/SidebarTeamMenu.js +1 -1
  140. package/lib/commonjs/sidebar/SidebarTeamMenu.js.map +1 -1
  141. package/lib/commonjs/sidebar/SidebarUserMenu.js +1 -1
  142. package/lib/commonjs/sidebar/SidebarUserMenu.js.map +1 -1
  143. package/lib/commonjs/sidebar/parts.js +9 -9
  144. package/lib/commonjs/sidebar/parts.js.map +1 -1
  145. package/lib/commonjs/styles/web-view-style.js +6 -0
  146. package/lib/commonjs/styles/web-view-style.js.map +1 -1
  147. package/lib/commonjs/surfaces/SurfaceHost.js +6 -0
  148. package/lib/commonjs/surfaces/SurfaceHost.js.map +1 -1
  149. package/lib/commonjs/surfaces/index.web.js +14 -4
  150. package/lib/commonjs/surfaces/index.web.js.map +1 -1
  151. package/lib/commonjs/tab-bar/index.web.js +13 -10
  152. package/lib/commonjs/tab-bar/index.web.js.map +1 -1
  153. package/lib/commonjs/tabs/Tabs.js +49 -2
  154. package/lib/commonjs/tabs/Tabs.js.map +1 -1
  155. package/lib/commonjs/theme/color-scope/index.web.js.map +1 -1
  156. package/lib/commonjs/theme/seed-scope/index.web.js.map +1 -1
  157. package/lib/commonjs/tooltip/index.web.js.map +1 -1
  158. package/lib/module/agent-chat/index.web.js +5 -3
  159. package/lib/module/agent-chat/index.web.js.map +1 -1
  160. package/lib/module/ai-chat/index.web.js +5 -2
  161. package/lib/module/ai-chat/index.web.js.map +1 -1
  162. package/lib/module/alert-dialog/index.web.js +10 -1
  163. package/lib/module/alert-dialog/index.web.js.map +1 -1
  164. package/lib/module/avatar-group/index.web.js +5 -0
  165. package/lib/module/avatar-group/index.web.js.map +1 -1
  166. package/lib/module/bottom-sheet/index.web.js +5 -0
  167. package/lib/module/bottom-sheet/index.web.js.map +1 -1
  168. package/lib/module/code/index.js +1 -0
  169. package/lib/module/code/index.js.map +1 -1
  170. package/lib/module/command/index.web.js +5 -0
  171. package/lib/module/command/index.web.js.map +1 -1
  172. package/lib/module/composer-loader/ComposerLoader.web.js +8 -0
  173. package/lib/module/composer-loader/ComposerLoader.web.js.map +1 -1
  174. package/lib/module/composer-loader/index.web.js +5 -2
  175. package/lib/module/composer-loader/index.web.js.map +1 -1
  176. package/lib/module/composer-panel/index.web.js +5 -3
  177. package/lib/module/composer-panel/index.web.js.map +1 -1
  178. package/lib/module/connection-dots/index.web.js +5 -0
  179. package/lib/module/connection-dots/index.web.js.map +1 -1
  180. package/lib/module/connection-status/index.web.js +5 -0
  181. package/lib/module/connection-status/index.web.js.map +1 -1
  182. package/lib/module/content-panel/index.web.js +5 -0
  183. package/lib/module/content-panel/index.web.js.map +1 -1
  184. package/lib/module/context-menu/ContextMenu.web.js +22 -4
  185. package/lib/module/context-menu/ContextMenu.web.js.map +1 -1
  186. package/lib/module/context-menu/context.js.map +1 -1
  187. package/lib/module/context-menu/index.web.js +5 -0
  188. package/lib/module/context-menu/index.web.js.map +1 -1
  189. package/lib/module/dialog/Dialog.web.js +13 -0
  190. package/lib/module/dialog/Dialog.web.js.map +1 -1
  191. package/lib/module/dialog/index.web.js +7 -11
  192. package/lib/module/dialog/index.web.js.map +1 -1
  193. package/lib/module/dropdown-menu/DropdownMenu.web.js +23 -3
  194. package/lib/module/dropdown-menu/DropdownMenu.web.js.map +1 -1
  195. package/lib/module/dropdown-menu/index.web.js +5 -0
  196. package/lib/module/dropdown-menu/index.web.js.map +1 -1
  197. package/lib/module/floating/FloatingPanel.js +42 -33
  198. package/lib/module/floating/FloatingPanel.js.map +1 -1
  199. package/lib/module/floating/escape-stack.js +85 -0
  200. package/lib/module/floating/escape-stack.js.map +1 -0
  201. package/lib/module/floating/menu-keyboard.js +227 -0
  202. package/lib/module/floating/menu-keyboard.js.map +1 -0
  203. package/lib/module/floating/menu-sub-flyout.js +28 -16
  204. package/lib/module/floating/menu-sub-flyout.js.map +1 -1
  205. package/lib/module/fonts/index.web.js +5 -20
  206. package/lib/module/fonts/index.web.js.map +1 -1
  207. package/lib/module/frosted-icon-button/FrostedIconButton.web.js +9 -0
  208. package/lib/module/frosted-icon-button/FrostedIconButton.web.js.map +1 -1
  209. package/lib/module/frosted-icon-button/index.web.js +5 -7
  210. package/lib/module/frosted-icon-button/index.web.js.map +1 -1
  211. package/lib/module/hooks/roving-focus.js +181 -0
  212. package/lib/module/hooks/roving-focus.js.map +1 -0
  213. package/lib/module/hover-card/index.web.js +5 -0
  214. package/lib/module/hover-card/index.web.js.map +1 -1
  215. package/lib/module/icons/remix/RiBookReadLine.js +9 -0
  216. package/lib/module/icons/remix/RiBookReadLine.js.map +1 -0
  217. package/lib/module/icons/remix/RiBugLine.js +9 -0
  218. package/lib/module/icons/remix/RiBugLine.js.map +1 -0
  219. package/lib/module/icons/remix/RiChat1Line.js +9 -0
  220. package/lib/module/icons/remix/RiChat1Line.js.map +1 -0
  221. package/lib/module/icons/remix/RiCloudLine.js +9 -0
  222. package/lib/module/icons/remix/RiCloudLine.js.map +1 -0
  223. package/lib/module/icons/remix/RiCodeLine.js +9 -0
  224. package/lib/module/icons/remix/RiCodeLine.js.map +1 -0
  225. package/lib/module/icons/remix/RiCpuLine.js +9 -0
  226. package/lib/module/icons/remix/RiCpuLine.js.map +1 -0
  227. package/lib/module/icons/remix/RiFloodLine.js +9 -0
  228. package/lib/module/icons/remix/RiFloodLine.js.map +1 -0
  229. package/lib/module/icons/remix/RiLockUnlockLine.js +9 -0
  230. package/lib/module/icons/remix/RiLockUnlockLine.js.map +1 -0
  231. package/lib/module/icons/remix/RiMoneyDollarCircleLine.js +9 -0
  232. package/lib/module/icons/remix/RiMoneyDollarCircleLine.js.map +1 -0
  233. package/lib/module/icons/remix/RiPlayCircleLine.js +9 -0
  234. package/lib/module/icons/remix/RiPlayCircleLine.js.map +1 -0
  235. package/lib/module/icons/remix/RiRocket2Line.js +9 -0
  236. package/lib/module/icons/remix/RiRocket2Line.js.map +1 -0
  237. package/lib/module/icons/remix/RiServerLine.js +9 -0
  238. package/lib/module/icons/remix/RiServerLine.js.map +1 -0
  239. package/lib/module/icons/remix/RiShareBoxLine.js +9 -0
  240. package/lib/module/icons/remix/RiShareBoxLine.js.map +1 -0
  241. package/lib/module/icons/remix/RiTv2Line.js +9 -0
  242. package/lib/module/icons/remix/RiTv2Line.js.map +1 -0
  243. package/lib/module/icons/remix/index.js +14 -0
  244. package/lib/module/icons/remix/index.js.map +1 -1
  245. package/lib/module/index.js +1 -1
  246. package/lib/module/index.js.map +1 -1
  247. package/lib/module/index.web.js +1 -1
  248. package/lib/module/index.web.js.map +1 -1
  249. package/lib/module/layout/StickySection.js +101 -0
  250. package/lib/module/layout/StickySection.js.map +1 -0
  251. package/lib/module/layout/header-dock.js +54 -0
  252. package/lib/module/layout/header-dock.js.map +1 -0
  253. package/lib/module/layout/index.js +2 -0
  254. package/lib/module/layout/index.js.map +1 -1
  255. package/lib/module/list/index.web.js +5 -0
  256. package/lib/module/list/index.web.js.map +1 -1
  257. package/lib/module/loading/Loading.js +17 -155
  258. package/lib/module/loading/Loading.js.map +1 -1
  259. package/lib/module/loading/Loading.web.js +19 -155
  260. package/lib/module/loading/Loading.web.js.map +1 -1
  261. package/lib/module/loading/LoadingBase.js +194 -0
  262. package/lib/module/loading/LoadingBase.js.map +1 -0
  263. package/lib/module/loading/index.web.js +5 -13
  264. package/lib/module/loading/index.web.js.map +1 -1
  265. package/lib/module/media-flight/index.web.js +5 -9
  266. package/lib/module/media-flight/index.web.js.map +1 -1
  267. package/lib/module/menubar/Menubar.js +15 -122
  268. package/lib/module/menubar/Menubar.js.map +1 -1
  269. package/lib/module/menubar/Menubar.web.js +18 -114
  270. package/lib/module/menubar/Menubar.web.js.map +1 -1
  271. package/lib/module/menubar/MenubarBase.js +146 -0
  272. package/lib/module/menubar/MenubarBase.js.map +1 -0
  273. package/lib/module/menubar/index.web.js +5 -0
  274. package/lib/module/menubar/index.web.js.map +1 -1
  275. package/lib/module/motion/index.web.js +5 -5
  276. package/lib/module/motion/index.web.js.map +1 -1
  277. package/lib/module/page-header/PageHeader.js +38 -14
  278. package/lib/module/page-header/PageHeader.js.map +1 -1
  279. package/lib/module/popover/index.web.js +5 -0
  280. package/lib/module/popover/index.web.js.map +1 -1
  281. package/lib/module/popover/parts.js +70 -12
  282. package/lib/module/popover/parts.js.map +1 -1
  283. package/lib/module/popover/surface.js +39 -13
  284. package/lib/module/popover/surface.js.map +1 -1
  285. package/lib/module/portal/index.web.js +6 -1
  286. package/lib/module/portal/index.web.js.map +1 -1
  287. package/lib/module/progressive-blur/index.web.js +5 -0
  288. package/lib/module/progressive-blur/index.web.js.map +1 -1
  289. package/lib/module/scroll/index.web.js +5 -0
  290. package/lib/module/scroll/index.web.js.map +1 -1
  291. package/lib/module/segmented-control/SegmentedControl.js +36 -1
  292. package/lib/module/segmented-control/SegmentedControl.js.map +1 -1
  293. package/lib/module/select/Select.js +5 -77
  294. package/lib/module/select/Select.js.map +1 -1
  295. package/lib/module/select/Select.web.js +147 -82
  296. package/lib/module/select/Select.web.js.map +1 -1
  297. package/lib/module/select/index.js +2 -2
  298. package/lib/module/select/index.js.map +1 -1
  299. package/lib/module/select/index.web.js +7 -2
  300. package/lib/module/select/index.web.js.map +1 -1
  301. package/lib/module/select/shared.js +106 -6
  302. package/lib/module/select/shared.js.map +1 -1
  303. package/lib/module/sidebar/Sidebar.js +121 -108
  304. package/lib/module/sidebar/Sidebar.js.map +1 -1
  305. package/lib/module/sidebar/SidebarRail.js +70 -48
  306. package/lib/module/sidebar/SidebarRail.js.map +1 -1
  307. package/lib/module/sidebar/SidebarTeamMenu.js +2 -2
  308. package/lib/module/sidebar/SidebarTeamMenu.js.map +1 -1
  309. package/lib/module/sidebar/SidebarUserMenu.js +2 -2
  310. package/lib/module/sidebar/SidebarUserMenu.js.map +1 -1
  311. package/lib/module/sidebar/parts.js +8 -8
  312. package/lib/module/sidebar/parts.js.map +1 -1
  313. package/lib/module/styles/web-view-style.js +5 -0
  314. package/lib/module/styles/web-view-style.js.map +1 -1
  315. package/lib/module/surfaces/SurfaceHost.js +6 -0
  316. package/lib/module/surfaces/SurfaceHost.js.map +1 -1
  317. package/lib/module/surfaces/index.web.js +14 -4
  318. package/lib/module/surfaces/index.web.js.map +1 -1
  319. package/lib/module/tab-bar/index.web.js +13 -10
  320. package/lib/module/tab-bar/index.web.js.map +1 -1
  321. package/lib/module/tabs/Tabs.js +49 -2
  322. package/lib/module/tabs/Tabs.js.map +1 -1
  323. package/lib/module/theme/color-scope/index.web.js +5 -0
  324. package/lib/module/theme/color-scope/index.web.js.map +1 -1
  325. package/lib/module/theme/seed-scope/index.web.js +5 -0
  326. package/lib/module/theme/seed-scope/index.web.js.map +1 -1
  327. package/lib/module/tooltip/index.web.js +5 -0
  328. package/lib/module/tooltip/index.web.js.map +1 -1
  329. package/lib/typescript/commonjs/agent-chat/index.web.d.ts.map +1 -1
  330. package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
  331. package/lib/typescript/commonjs/alert-dialog/index.web.d.ts +5 -1
  332. package/lib/typescript/commonjs/alert-dialog/index.web.d.ts.map +1 -1
  333. package/lib/typescript/commonjs/avatar-group/index.web.d.ts.map +1 -1
  334. package/lib/typescript/commonjs/bottom-sheet/index.web.d.ts.map +1 -1
  335. package/lib/typescript/commonjs/code/index.d.ts +2 -0
  336. package/lib/typescript/commonjs/code/index.d.ts.map +1 -1
  337. package/lib/typescript/commonjs/command/index.web.d.ts.map +1 -1
  338. package/lib/typescript/commonjs/composer-loader/ComposerLoader.web.d.ts +8 -0
  339. package/lib/typescript/commonjs/composer-loader/ComposerLoader.web.d.ts.map +1 -1
  340. package/lib/typescript/commonjs/composer-loader/index.web.d.ts.map +1 -1
  341. package/lib/typescript/commonjs/composer-panel/index.web.d.ts.map +1 -1
  342. package/lib/typescript/commonjs/connection-dots/index.web.d.ts.map +1 -1
  343. package/lib/typescript/commonjs/connection-status/index.web.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/content-panel/index.web.d.ts.map +1 -1
  345. package/lib/typescript/commonjs/context-menu/ContextMenu.web.d.ts.map +1 -1
  346. package/lib/typescript/commonjs/context-menu/context.d.ts +3 -0
  347. package/lib/typescript/commonjs/context-menu/context.d.ts.map +1 -1
  348. package/lib/typescript/commonjs/context-menu/index.web.d.ts.map +1 -1
  349. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  350. package/lib/typescript/commonjs/dialog/index.web.d.ts +2 -1
  351. package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
  352. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  353. package/lib/typescript/commonjs/dropdown-menu/index.web.d.ts.map +1 -1
  354. package/lib/typescript/commonjs/floating/FloatingPanel.d.ts +1 -1
  355. package/lib/typescript/commonjs/floating/FloatingPanel.d.ts.map +1 -1
  356. package/lib/typescript/commonjs/floating/escape-stack.d.ts +55 -0
  357. package/lib/typescript/commonjs/floating/escape-stack.d.ts.map +1 -0
  358. package/lib/typescript/commonjs/floating/menu-keyboard.d.ts +57 -0
  359. package/lib/typescript/commonjs/floating/menu-keyboard.d.ts.map +1 -0
  360. package/lib/typescript/commonjs/floating/menu-sub-flyout.d.ts.map +1 -1
  361. package/lib/typescript/commonjs/floating/types.d.ts +11 -0
  362. package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
  363. package/lib/typescript/commonjs/fonts/index.web.d.ts.map +1 -1
  364. package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -1
  365. package/lib/typescript/commonjs/frosted-icon-button/index.web.d.ts.map +1 -1
  366. package/lib/typescript/commonjs/hooks/roving-focus.d.ts +66 -0
  367. package/lib/typescript/commonjs/hooks/roving-focus.d.ts.map +1 -0
  368. package/lib/typescript/commonjs/hover-card/index.web.d.ts.map +1 -1
  369. package/lib/typescript/commonjs/icons/remix/RiBookReadLine.d.ts +8 -0
  370. package/lib/typescript/commonjs/icons/remix/RiBookReadLine.d.ts.map +1 -0
  371. package/lib/typescript/commonjs/icons/remix/RiBugLine.d.ts +8 -0
  372. package/lib/typescript/commonjs/icons/remix/RiBugLine.d.ts.map +1 -0
  373. package/lib/typescript/commonjs/icons/remix/RiChat1Line.d.ts +8 -0
  374. package/lib/typescript/commonjs/icons/remix/RiChat1Line.d.ts.map +1 -0
  375. package/lib/typescript/commonjs/icons/remix/RiCloudLine.d.ts +8 -0
  376. package/lib/typescript/commonjs/icons/remix/RiCloudLine.d.ts.map +1 -0
  377. package/lib/typescript/commonjs/icons/remix/RiCodeLine.d.ts +8 -0
  378. package/lib/typescript/commonjs/icons/remix/RiCodeLine.d.ts.map +1 -0
  379. package/lib/typescript/commonjs/icons/remix/RiCpuLine.d.ts +8 -0
  380. package/lib/typescript/commonjs/icons/remix/RiCpuLine.d.ts.map +1 -0
  381. package/lib/typescript/commonjs/icons/remix/RiFloodLine.d.ts +8 -0
  382. package/lib/typescript/commonjs/icons/remix/RiFloodLine.d.ts.map +1 -0
  383. package/lib/typescript/commonjs/icons/remix/RiLockUnlockLine.d.ts +8 -0
  384. package/lib/typescript/commonjs/icons/remix/RiLockUnlockLine.d.ts.map +1 -0
  385. package/lib/typescript/commonjs/icons/remix/RiMoneyDollarCircleLine.d.ts +8 -0
  386. package/lib/typescript/commonjs/icons/remix/RiMoneyDollarCircleLine.d.ts.map +1 -0
  387. package/lib/typescript/commonjs/icons/remix/RiPlayCircleLine.d.ts +8 -0
  388. package/lib/typescript/commonjs/icons/remix/RiPlayCircleLine.d.ts.map +1 -0
  389. package/lib/typescript/commonjs/icons/remix/RiRocket2Line.d.ts +8 -0
  390. package/lib/typescript/commonjs/icons/remix/RiRocket2Line.d.ts.map +1 -0
  391. package/lib/typescript/commonjs/icons/remix/RiServerLine.d.ts +8 -0
  392. package/lib/typescript/commonjs/icons/remix/RiServerLine.d.ts.map +1 -0
  393. package/lib/typescript/commonjs/icons/remix/RiShareBoxLine.d.ts +8 -0
  394. package/lib/typescript/commonjs/icons/remix/RiShareBoxLine.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/icons/remix/RiTv2Line.d.ts +8 -0
  396. package/lib/typescript/commonjs/icons/remix/RiTv2Line.d.ts.map +1 -0
  397. package/lib/typescript/commonjs/icons/remix/index.d.ts +14 -0
  398. package/lib/typescript/commonjs/icons/remix/index.d.ts.map +1 -1
  399. package/lib/typescript/commonjs/index.d.ts +2 -1
  400. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  401. package/lib/typescript/commonjs/index.web.d.ts +2 -1
  402. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  403. package/lib/typescript/commonjs/layout/StickySection.d.ts +8 -0
  404. package/lib/typescript/commonjs/layout/StickySection.d.ts.map +1 -0
  405. package/lib/typescript/commonjs/layout/header-dock.d.ts +21 -0
  406. package/lib/typescript/commonjs/layout/header-dock.d.ts.map +1 -0
  407. package/lib/typescript/commonjs/layout/index.d.ts +3 -0
  408. package/lib/typescript/commonjs/layout/index.d.ts.map +1 -1
  409. package/lib/typescript/commonjs/list/index.web.d.ts.map +1 -1
  410. package/lib/typescript/commonjs/loading/Loading.d.ts +8 -2
  411. package/lib/typescript/commonjs/loading/Loading.d.ts.map +1 -1
  412. package/lib/typescript/commonjs/loading/Loading.web.d.ts +10 -2
  413. package/lib/typescript/commonjs/loading/Loading.web.d.ts.map +1 -1
  414. package/lib/typescript/commonjs/loading/LoadingBase.d.ts +64 -0
  415. package/lib/typescript/commonjs/loading/LoadingBase.d.ts.map +1 -0
  416. package/lib/typescript/commonjs/loading/index.web.d.ts.map +1 -1
  417. package/lib/typescript/commonjs/media-flight/index.web.d.ts +0 -9
  418. package/lib/typescript/commonjs/media-flight/index.web.d.ts.map +1 -1
  419. package/lib/typescript/commonjs/menubar/Menubar.d.ts +14 -9
  420. package/lib/typescript/commonjs/menubar/Menubar.d.ts.map +1 -1
  421. package/lib/typescript/commonjs/menubar/Menubar.web.d.ts +8 -6
  422. package/lib/typescript/commonjs/menubar/Menubar.web.d.ts.map +1 -1
  423. package/lib/typescript/commonjs/menubar/MenubarBase.d.ts +5 -0
  424. package/lib/typescript/commonjs/menubar/MenubarBase.d.ts.map +1 -0
  425. package/lib/typescript/commonjs/menubar/index.web.d.ts.map +1 -1
  426. package/lib/typescript/commonjs/motion/index.web.d.ts +0 -5
  427. package/lib/typescript/commonjs/motion/index.web.d.ts.map +1 -1
  428. package/lib/typescript/commonjs/page-header/PageHeader.d.ts.map +1 -1
  429. package/lib/typescript/commonjs/page-header/types.d.ts +10 -6
  430. package/lib/typescript/commonjs/page-header/types.d.ts.map +1 -1
  431. package/lib/typescript/commonjs/popover/index.web.d.ts.map +1 -1
  432. package/lib/typescript/commonjs/popover/parts.d.ts.map +1 -1
  433. package/lib/typescript/commonjs/popover/surface.d.ts +15 -5
  434. package/lib/typescript/commonjs/popover/surface.d.ts.map +1 -1
  435. package/lib/typescript/commonjs/portal/index.web.d.ts +1 -1
  436. package/lib/typescript/commonjs/portal/index.web.d.ts.map +1 -1
  437. package/lib/typescript/commonjs/progressive-blur/index.web.d.ts.map +1 -1
  438. package/lib/typescript/commonjs/scroll/index.web.d.ts.map +1 -1
  439. package/lib/typescript/commonjs/segmented-control/SegmentedControl.d.ts.map +1 -1
  440. package/lib/typescript/commonjs/select/Select.d.ts +2 -4
  441. package/lib/typescript/commonjs/select/Select.d.ts.map +1 -1
  442. package/lib/typescript/commonjs/select/Select.web.d.ts +2 -4
  443. package/lib/typescript/commonjs/select/Select.web.d.ts.map +1 -1
  444. package/lib/typescript/commonjs/select/index.d.ts +2 -2
  445. package/lib/typescript/commonjs/select/index.d.ts.map +1 -1
  446. package/lib/typescript/commonjs/select/index.web.d.ts +2 -2
  447. package/lib/typescript/commonjs/select/index.web.d.ts.map +1 -1
  448. package/lib/typescript/commonjs/select/shared.d.ts +52 -5
  449. package/lib/typescript/commonjs/select/shared.d.ts.map +1 -1
  450. package/lib/typescript/commonjs/select/types.d.ts +6 -0
  451. package/lib/typescript/commonjs/select/types.d.ts.map +1 -1
  452. package/lib/typescript/commonjs/sidebar/Sidebar.d.ts.map +1 -1
  453. package/lib/typescript/commonjs/sidebar/SidebarRail.d.ts +1 -1
  454. package/lib/typescript/commonjs/sidebar/SidebarRail.d.ts.map +1 -1
  455. package/lib/typescript/commonjs/sidebar/parts.d.ts +8 -2
  456. package/lib/typescript/commonjs/sidebar/parts.d.ts.map +1 -1
  457. package/lib/typescript/commonjs/sidebar/types.d.ts +2 -0
  458. package/lib/typescript/commonjs/sidebar/types.d.ts.map +1 -1
  459. package/lib/typescript/commonjs/styles/web-view-style.d.ts +2 -0
  460. package/lib/typescript/commonjs/styles/web-view-style.d.ts.map +1 -1
  461. package/lib/typescript/commonjs/surfaces/SurfaceHost.d.ts.map +1 -1
  462. package/lib/typescript/commonjs/surfaces/index.web.d.ts +9 -4
  463. package/lib/typescript/commonjs/surfaces/index.web.d.ts.map +1 -1
  464. package/lib/typescript/commonjs/tab-bar/index.web.d.ts.map +1 -1
  465. package/lib/typescript/commonjs/tabs/Tabs.d.ts.map +1 -1
  466. package/lib/typescript/commonjs/tabs/types.d.ts +6 -0
  467. package/lib/typescript/commonjs/tabs/types.d.ts.map +1 -1
  468. package/lib/typescript/commonjs/theme/color-scope/index.web.d.ts.map +1 -1
  469. package/lib/typescript/commonjs/theme/seed-scope/index.web.d.ts.map +1 -1
  470. package/lib/typescript/commonjs/tooltip/index.web.d.ts.map +1 -1
  471. package/lib/typescript/module/agent-chat/index.web.d.ts.map +1 -1
  472. package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
  473. package/lib/typescript/module/alert-dialog/index.web.d.ts +5 -1
  474. package/lib/typescript/module/alert-dialog/index.web.d.ts.map +1 -1
  475. package/lib/typescript/module/avatar-group/index.web.d.ts.map +1 -1
  476. package/lib/typescript/module/bottom-sheet/index.web.d.ts.map +1 -1
  477. package/lib/typescript/module/code/index.d.ts +2 -0
  478. package/lib/typescript/module/code/index.d.ts.map +1 -1
  479. package/lib/typescript/module/command/index.web.d.ts.map +1 -1
  480. package/lib/typescript/module/composer-loader/ComposerLoader.web.d.ts +8 -0
  481. package/lib/typescript/module/composer-loader/ComposerLoader.web.d.ts.map +1 -1
  482. package/lib/typescript/module/composer-loader/index.web.d.ts.map +1 -1
  483. package/lib/typescript/module/composer-panel/index.web.d.ts.map +1 -1
  484. package/lib/typescript/module/connection-dots/index.web.d.ts.map +1 -1
  485. package/lib/typescript/module/connection-status/index.web.d.ts.map +1 -1
  486. package/lib/typescript/module/content-panel/index.web.d.ts.map +1 -1
  487. package/lib/typescript/module/context-menu/ContextMenu.web.d.ts.map +1 -1
  488. package/lib/typescript/module/context-menu/context.d.ts +3 -0
  489. package/lib/typescript/module/context-menu/context.d.ts.map +1 -1
  490. package/lib/typescript/module/context-menu/index.web.d.ts.map +1 -1
  491. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  492. package/lib/typescript/module/dialog/index.web.d.ts +2 -1
  493. package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
  494. package/lib/typescript/module/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  495. package/lib/typescript/module/dropdown-menu/index.web.d.ts.map +1 -1
  496. package/lib/typescript/module/floating/FloatingPanel.d.ts +1 -1
  497. package/lib/typescript/module/floating/FloatingPanel.d.ts.map +1 -1
  498. package/lib/typescript/module/floating/escape-stack.d.ts +55 -0
  499. package/lib/typescript/module/floating/escape-stack.d.ts.map +1 -0
  500. package/lib/typescript/module/floating/menu-keyboard.d.ts +57 -0
  501. package/lib/typescript/module/floating/menu-keyboard.d.ts.map +1 -0
  502. package/lib/typescript/module/floating/menu-sub-flyout.d.ts.map +1 -1
  503. package/lib/typescript/module/floating/types.d.ts +11 -0
  504. package/lib/typescript/module/floating/types.d.ts.map +1 -1
  505. package/lib/typescript/module/fonts/index.web.d.ts.map +1 -1
  506. package/lib/typescript/module/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -1
  507. package/lib/typescript/module/frosted-icon-button/index.web.d.ts.map +1 -1
  508. package/lib/typescript/module/hooks/roving-focus.d.ts +66 -0
  509. package/lib/typescript/module/hooks/roving-focus.d.ts.map +1 -0
  510. package/lib/typescript/module/hover-card/index.web.d.ts.map +1 -1
  511. package/lib/typescript/module/icons/remix/RiBookReadLine.d.ts +8 -0
  512. package/lib/typescript/module/icons/remix/RiBookReadLine.d.ts.map +1 -0
  513. package/lib/typescript/module/icons/remix/RiBugLine.d.ts +8 -0
  514. package/lib/typescript/module/icons/remix/RiBugLine.d.ts.map +1 -0
  515. package/lib/typescript/module/icons/remix/RiChat1Line.d.ts +8 -0
  516. package/lib/typescript/module/icons/remix/RiChat1Line.d.ts.map +1 -0
  517. package/lib/typescript/module/icons/remix/RiCloudLine.d.ts +8 -0
  518. package/lib/typescript/module/icons/remix/RiCloudLine.d.ts.map +1 -0
  519. package/lib/typescript/module/icons/remix/RiCodeLine.d.ts +8 -0
  520. package/lib/typescript/module/icons/remix/RiCodeLine.d.ts.map +1 -0
  521. package/lib/typescript/module/icons/remix/RiCpuLine.d.ts +8 -0
  522. package/lib/typescript/module/icons/remix/RiCpuLine.d.ts.map +1 -0
  523. package/lib/typescript/module/icons/remix/RiFloodLine.d.ts +8 -0
  524. package/lib/typescript/module/icons/remix/RiFloodLine.d.ts.map +1 -0
  525. package/lib/typescript/module/icons/remix/RiLockUnlockLine.d.ts +8 -0
  526. package/lib/typescript/module/icons/remix/RiLockUnlockLine.d.ts.map +1 -0
  527. package/lib/typescript/module/icons/remix/RiMoneyDollarCircleLine.d.ts +8 -0
  528. package/lib/typescript/module/icons/remix/RiMoneyDollarCircleLine.d.ts.map +1 -0
  529. package/lib/typescript/module/icons/remix/RiPlayCircleLine.d.ts +8 -0
  530. package/lib/typescript/module/icons/remix/RiPlayCircleLine.d.ts.map +1 -0
  531. package/lib/typescript/module/icons/remix/RiRocket2Line.d.ts +8 -0
  532. package/lib/typescript/module/icons/remix/RiRocket2Line.d.ts.map +1 -0
  533. package/lib/typescript/module/icons/remix/RiServerLine.d.ts +8 -0
  534. package/lib/typescript/module/icons/remix/RiServerLine.d.ts.map +1 -0
  535. package/lib/typescript/module/icons/remix/RiShareBoxLine.d.ts +8 -0
  536. package/lib/typescript/module/icons/remix/RiShareBoxLine.d.ts.map +1 -0
  537. package/lib/typescript/module/icons/remix/RiTv2Line.d.ts +8 -0
  538. package/lib/typescript/module/icons/remix/RiTv2Line.d.ts.map +1 -0
  539. package/lib/typescript/module/icons/remix/index.d.ts +14 -0
  540. package/lib/typescript/module/icons/remix/index.d.ts.map +1 -1
  541. package/lib/typescript/module/index.d.ts +2 -1
  542. package/lib/typescript/module/index.d.ts.map +1 -1
  543. package/lib/typescript/module/index.web.d.ts +2 -1
  544. package/lib/typescript/module/index.web.d.ts.map +1 -1
  545. package/lib/typescript/module/layout/StickySection.d.ts +8 -0
  546. package/lib/typescript/module/layout/StickySection.d.ts.map +1 -0
  547. package/lib/typescript/module/layout/header-dock.d.ts +21 -0
  548. package/lib/typescript/module/layout/header-dock.d.ts.map +1 -0
  549. package/lib/typescript/module/layout/index.d.ts +3 -0
  550. package/lib/typescript/module/layout/index.d.ts.map +1 -1
  551. package/lib/typescript/module/list/index.web.d.ts.map +1 -1
  552. package/lib/typescript/module/loading/Loading.d.ts +8 -2
  553. package/lib/typescript/module/loading/Loading.d.ts.map +1 -1
  554. package/lib/typescript/module/loading/Loading.web.d.ts +10 -2
  555. package/lib/typescript/module/loading/Loading.web.d.ts.map +1 -1
  556. package/lib/typescript/module/loading/LoadingBase.d.ts +64 -0
  557. package/lib/typescript/module/loading/LoadingBase.d.ts.map +1 -0
  558. package/lib/typescript/module/loading/index.web.d.ts.map +1 -1
  559. package/lib/typescript/module/media-flight/index.web.d.ts +0 -9
  560. package/lib/typescript/module/media-flight/index.web.d.ts.map +1 -1
  561. package/lib/typescript/module/menubar/Menubar.d.ts +14 -9
  562. package/lib/typescript/module/menubar/Menubar.d.ts.map +1 -1
  563. package/lib/typescript/module/menubar/Menubar.web.d.ts +8 -6
  564. package/lib/typescript/module/menubar/Menubar.web.d.ts.map +1 -1
  565. package/lib/typescript/module/menubar/MenubarBase.d.ts +5 -0
  566. package/lib/typescript/module/menubar/MenubarBase.d.ts.map +1 -0
  567. package/lib/typescript/module/menubar/index.web.d.ts.map +1 -1
  568. package/lib/typescript/module/motion/index.web.d.ts +0 -5
  569. package/lib/typescript/module/motion/index.web.d.ts.map +1 -1
  570. package/lib/typescript/module/page-header/PageHeader.d.ts.map +1 -1
  571. package/lib/typescript/module/page-header/types.d.ts +10 -6
  572. package/lib/typescript/module/page-header/types.d.ts.map +1 -1
  573. package/lib/typescript/module/popover/index.web.d.ts.map +1 -1
  574. package/lib/typescript/module/popover/parts.d.ts.map +1 -1
  575. package/lib/typescript/module/popover/surface.d.ts +15 -5
  576. package/lib/typescript/module/popover/surface.d.ts.map +1 -1
  577. package/lib/typescript/module/portal/index.web.d.ts +1 -1
  578. package/lib/typescript/module/portal/index.web.d.ts.map +1 -1
  579. package/lib/typescript/module/progressive-blur/index.web.d.ts.map +1 -1
  580. package/lib/typescript/module/scroll/index.web.d.ts.map +1 -1
  581. package/lib/typescript/module/segmented-control/SegmentedControl.d.ts.map +1 -1
  582. package/lib/typescript/module/select/Select.d.ts +2 -4
  583. package/lib/typescript/module/select/Select.d.ts.map +1 -1
  584. package/lib/typescript/module/select/Select.web.d.ts +2 -4
  585. package/lib/typescript/module/select/Select.web.d.ts.map +1 -1
  586. package/lib/typescript/module/select/index.d.ts +2 -2
  587. package/lib/typescript/module/select/index.d.ts.map +1 -1
  588. package/lib/typescript/module/select/index.web.d.ts +2 -2
  589. package/lib/typescript/module/select/index.web.d.ts.map +1 -1
  590. package/lib/typescript/module/select/shared.d.ts +52 -5
  591. package/lib/typescript/module/select/shared.d.ts.map +1 -1
  592. package/lib/typescript/module/select/types.d.ts +6 -0
  593. package/lib/typescript/module/select/types.d.ts.map +1 -1
  594. package/lib/typescript/module/sidebar/Sidebar.d.ts.map +1 -1
  595. package/lib/typescript/module/sidebar/SidebarRail.d.ts +1 -1
  596. package/lib/typescript/module/sidebar/SidebarRail.d.ts.map +1 -1
  597. package/lib/typescript/module/sidebar/parts.d.ts +8 -2
  598. package/lib/typescript/module/sidebar/parts.d.ts.map +1 -1
  599. package/lib/typescript/module/sidebar/types.d.ts +2 -0
  600. package/lib/typescript/module/sidebar/types.d.ts.map +1 -1
  601. package/lib/typescript/module/styles/web-view-style.d.ts +2 -0
  602. package/lib/typescript/module/styles/web-view-style.d.ts.map +1 -1
  603. package/lib/typescript/module/surfaces/SurfaceHost.d.ts.map +1 -1
  604. package/lib/typescript/module/surfaces/index.web.d.ts +9 -4
  605. package/lib/typescript/module/surfaces/index.web.d.ts.map +1 -1
  606. package/lib/typescript/module/tab-bar/index.web.d.ts.map +1 -1
  607. package/lib/typescript/module/tabs/Tabs.d.ts.map +1 -1
  608. package/lib/typescript/module/tabs/types.d.ts +6 -0
  609. package/lib/typescript/module/tabs/types.d.ts.map +1 -1
  610. package/lib/typescript/module/theme/color-scope/index.web.d.ts.map +1 -1
  611. package/lib/typescript/module/theme/seed-scope/index.web.d.ts.map +1 -1
  612. package/lib/typescript/module/tooltip/index.web.d.ts.map +1 -1
  613. package/package.json +1 -1
  614. package/src/agent-chat/index.web.ts +5 -3
  615. package/src/ai-chat/index.web.ts +5 -2
  616. package/src/alert-dialog/index.web.ts +10 -1
  617. package/src/avatar-group/index.web.ts +5 -0
  618. package/src/bottom-sheet/index.web.ts +5 -0
  619. package/src/code/index.ts +2 -0
  620. package/src/command/index.web.ts +5 -0
  621. package/src/composer-loader/ComposerLoader.web.tsx +8 -0
  622. package/src/composer-loader/index.web.ts +5 -2
  623. package/src/composer-panel/index.web.ts +5 -3
  624. package/src/connection-dots/index.web.ts +5 -0
  625. package/src/connection-status/index.web.ts +5 -0
  626. package/src/content-panel/index.web.ts +5 -0
  627. package/src/context-menu/ContextMenu.web.tsx +26 -3
  628. package/src/context-menu/context.ts +3 -0
  629. package/src/context-menu/index.web.ts +5 -0
  630. package/src/dialog/Dialog.web.tsx +13 -0
  631. package/src/dialog/index.web.ts +7 -11
  632. package/src/dropdown-menu/DropdownMenu.web.tsx +25 -2
  633. package/src/dropdown-menu/index.web.ts +5 -0
  634. package/src/floating/FloatingPanel.tsx +37 -38
  635. package/src/floating/escape-stack.ts +92 -0
  636. package/src/floating/menu-keyboard.ts +242 -0
  637. package/src/floating/menu-sub-flyout.tsx +22 -17
  638. package/src/floating/types.ts +11 -0
  639. package/src/fonts/index.web.ts +5 -20
  640. package/src/frosted-icon-button/FrostedIconButton.web.tsx +9 -0
  641. package/src/frosted-icon-button/index.web.ts +5 -7
  642. package/src/hooks/roving-focus.ts +204 -0
  643. package/src/hover-card/index.web.ts +5 -0
  644. package/src/icons/remix/RiBookReadLine.tsx +6 -0
  645. package/src/icons/remix/RiBugLine.tsx +6 -0
  646. package/src/icons/remix/RiChat1Line.tsx +6 -0
  647. package/src/icons/remix/RiCloudLine.tsx +6 -0
  648. package/src/icons/remix/RiCodeLine.tsx +6 -0
  649. package/src/icons/remix/RiCpuLine.tsx +6 -0
  650. package/src/icons/remix/RiFloodLine.tsx +6 -0
  651. package/src/icons/remix/RiLockUnlockLine.tsx +6 -0
  652. package/src/icons/remix/RiMoneyDollarCircleLine.tsx +6 -0
  653. package/src/icons/remix/RiPlayCircleLine.tsx +6 -0
  654. package/src/icons/remix/RiRocket2Line.tsx +6 -0
  655. package/src/icons/remix/RiServerLine.tsx +6 -0
  656. package/src/icons/remix/RiShareBoxLine.tsx +6 -0
  657. package/src/icons/remix/RiTv2Line.tsx +6 -0
  658. package/src/icons/remix/index.ts +14 -0
  659. package/src/index.ts +4 -0
  660. package/src/index.web.ts +4 -0
  661. package/src/layout/StickySection.tsx +75 -0
  662. package/src/layout/header-dock.tsx +42 -0
  663. package/src/layout/index.ts +4 -0
  664. package/src/list/index.web.ts +5 -0
  665. package/src/loading/Loading.tsx +15 -135
  666. package/src/loading/Loading.web.tsx +16 -134
  667. package/src/loading/LoadingBase.tsx +170 -0
  668. package/src/loading/index.web.ts +5 -13
  669. package/src/media-flight/index.web.ts +5 -9
  670. package/src/menubar/Menubar.tsx +16 -147
  671. package/src/menubar/Menubar.web.tsx +15 -138
  672. package/src/menubar/MenubarBase.tsx +170 -0
  673. package/src/menubar/index.web.ts +5 -0
  674. package/src/motion/index.web.ts +5 -5
  675. package/src/page-header/PageHeader.tsx +26 -12
  676. package/src/page-header/types.ts +10 -6
  677. package/src/popover/index.web.ts +5 -0
  678. package/src/popover/parts.tsx +76 -12
  679. package/src/popover/surface.ts +68 -15
  680. package/src/portal/index.web.ts +6 -1
  681. package/src/progressive-blur/index.web.ts +5 -0
  682. package/src/scroll/index.web.ts +5 -0
  683. package/src/segmented-control/SegmentedControl.tsx +45 -1
  684. package/src/select/Select.tsx +4 -67
  685. package/src/select/Select.web.tsx +133 -69
  686. package/src/select/index.ts +3 -3
  687. package/src/select/index.web.ts +8 -3
  688. package/src/select/shared.tsx +107 -5
  689. package/src/select/types.ts +6 -0
  690. package/src/sidebar/Sidebar.tsx +3 -0
  691. package/src/sidebar/SidebarRail.tsx +6 -1
  692. package/src/sidebar/SidebarTeamMenu.tsx +2 -2
  693. package/src/sidebar/SidebarUserMenu.tsx +2 -2
  694. package/src/sidebar/parts.tsx +8 -9
  695. package/src/sidebar/types.ts +2 -0
  696. package/src/styles/web-view-style.ts +5 -0
  697. package/src/surfaces/SurfaceHost.tsx +6 -0
  698. package/src/surfaces/index.web.ts +14 -4
  699. package/src/tab-bar/index.web.ts +13 -10
  700. package/src/tabs/Tabs.tsx +65 -1
  701. package/src/tabs/types.ts +6 -0
  702. package/src/theme/color-scope/index.web.ts +5 -0
  703. package/src/theme/seed-scope/index.web.ts +5 -0
  704. package/src/tooltip/index.web.ts +5 -0
@@ -0,0 +1,6 @@
1
+ import { createSinglePathSVG } from '../TEMPLATE';
2
+
3
+ /** Remix Icon `flood-line` (Weather). */
4
+ export const RiFloodLine = createSinglePathSVG({
5
+ path: 'M16.0001 17.4723C17.0616 18.4223 18.4634 19 20 19H22V21H20C18.5428 21 17.1766 20.6104 15.9998 19.9296C14.8242 20.6101 13.4576 21 12 21C10.5428 21 9.17657 20.6104 7.99984 19.9296C6.8242 20.6101 5.45763 21 4 21H2V19H4C5.53713 19 6.93925 18.422 8.00013 17.4723C9.06163 18.4223 10.4634 19 12 19C13.5371 19 14.9393 18.422 16.0001 17.4723ZM12.5734 1.53204L12.6727 1.6115L23 11H20V17C19.2988 17 18.6258 16.8797 18.0003 16.6587L18 9.15698L12 3.70198L6 9.15598L6.00125 16.6582C5.4648 16.8479 4.89325 16.9635 4.29898 16.9927L4 17V11H1L11.3273 1.6115C11.677 1.29365 12.1956 1.26716 12.5734 1.53204Z',
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createSinglePathSVG } from '../TEMPLATE';
2
+
3
+ /** Remix Icon `lock-unlock-line` (System). */
4
+ export const RiLockUnlockLine = createSinglePathSVG({
5
+ path: 'M7 10H20C20.5523 10 21 10.4477 21 11V21C21 21.5523 20.5523 22 20 22H4C3.44772 22 3 21.5523 3 21V11C3 10.4477 3.44772 10 4 10H5V9C5 5.13401 8.13401 2 12 2C14.7405 2 17.1131 3.5748 18.2624 5.86882L16.4731 6.76344C15.6522 5.12486 13.9575 4 12 4C9.23858 4 7 6.23858 7 9V10ZM5 12V20H19V12H5ZM10 15H14V17H10V15Z',
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createSinglePathSVG } from '../TEMPLATE';
2
+
3
+ /** Remix Icon `money-dollar-circle-line` (Finance). */
4
+ export const RiMoneyDollarCircleLine = createSinglePathSVG({
5
+ path: 'M12.0049 22.0027C6.48204 22.0027 2.00488 17.5256 2.00488 12.0027C2.00488 6.4799 6.48204 2.00275 12.0049 2.00275C17.5277 2.00275 22.0049 6.4799 22.0049 12.0027C22.0049 17.5256 17.5277 22.0027 12.0049 22.0027ZM12.0049 20.0027C16.4232 20.0027 20.0049 16.421 20.0049 12.0027C20.0049 7.58447 16.4232 4.00275 12.0049 4.00275C7.5866 4.00275 4.00488 7.58447 4.00488 12.0027C4.00488 16.421 7.5866 20.0027 12.0049 20.0027ZM8.50488 14.0027H14.0049C14.281 14.0027 14.5049 13.7789 14.5049 13.5027C14.5049 13.2266 14.281 13.0027 14.0049 13.0027H10.0049C8.62417 13.0027 7.50488 11.8835 7.50488 10.5027C7.50488 9.12203 8.62417 8.00275 10.0049 8.00275H11.0049V6.00275H13.0049V8.00275H15.5049V10.0027H10.0049C9.72874 10.0027 9.50488 10.2266 9.50488 10.5027C9.50488 10.7789 9.72874 11.0027 10.0049 11.0027H14.0049C15.3856 11.0027 16.5049 12.122 16.5049 13.5027C16.5049 14.8835 15.3856 16.0027 14.0049 16.0027H13.0049V18.0027H11.0049V16.0027H8.50488V14.0027Z',
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createSinglePathSVG } from '../TEMPLATE';
2
+
3
+ /** Remix Icon `play-circle-line` (Media). */
4
+ export const RiPlayCircleLine = createSinglePathSVG({
5
+ path: 'M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM10.6219 8.41459L15.5008 11.6672C15.6846 11.7897 15.7343 12.0381 15.6117 12.2219C15.5824 12.2658 15.5447 12.3035 15.5008 12.3328L10.6219 15.5854C10.4381 15.708 10.1897 15.6583 10.0672 15.4745C10.0234 15.4088 10 15.3316 10 15.2526V8.74741C10 8.52649 10.1791 8.34741 10.4 8.34741C10.479 8.34741 10.5562 8.37078 10.6219 8.41459Z',
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createSinglePathSVG } from '../TEMPLATE';
2
+
3
+ /** Remix Icon `rocket-2-line` (Map). */
4
+ export const RiRocket2Line = createSinglePathSVG({
5
+ path: 'M15.5018 20.0048C14.8432 21.5841 13.5794 22.848 12 23.5066C10.4206 22.848 9.15679 21.5841 8.49816 20.0048H10.7575C11.0838 20.4934 11.5051 20.9171 12 21.248C12.4949 20.9171 12.9162 20.4934 13.2425 20.0048H15.5018ZM18 14.8095L20 17.0777V19.0048H4V17.0777L6 14.8095V9.00478C6 5.52153 8.50442 2.55822 12 1.45999C15.4956 2.55822 18 5.52153 18 9.00478V14.8095ZM17.2692 17.0048L16 15.5653V9.00478C16 6.68694 14.4292 4.57431 12 3.58384C9.57078 4.57431 8 6.68694 8 9.00478V15.5653L6.73076 17.0048H17.2692ZM12 11.0048C10.8954 11.0048 10 10.1093 10 9.00478C10 7.90021 10.8954 7.00478 12 7.00478C13.1046 7.00478 14 7.90021 14 9.00478C14 10.1093 13.1046 11.0048 12 11.0048Z',
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createSinglePathSVG } from '../TEMPLATE';
2
+
3
+ /** Remix Icon `server-line` (Device). */
4
+ export const RiServerLine = createSinglePathSVG({
5
+ path: 'M5 11H19V5H5V11ZM21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3H20C20.5523 3 21 3.44772 21 4ZM19 13H5V19H19V13ZM7 15H10V17H7V15ZM7 7H10V9H7V7Z',
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createSinglePathSVG } from '../TEMPLATE';
2
+
3
+ /** Remix Icon `share-box-line` (System). */
4
+ export const RiShareBoxLine = createSinglePathSVG({
5
+ path: 'M10 3V5H5V19H19V14H21V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3H10ZM17.5858 5H13V3H21V11H19V6.41421L12 13.4142L10.5858 12L17.5858 5Z',
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createSinglePathSVG } from '../TEMPLATE';
2
+
3
+ /** Remix Icon `tv-2-line` (Device). */
4
+ export const RiTv2Line = createSinglePathSVG({
5
+ path: 'M2 4.00087C2 3.44811 2.45531 3 2.9918 3H21.0082C21.556 3 22 3.44463 22 4.00087V17.9991C22 18.5519 21.5447 19 21.0082 19H2.9918C2.44405 19 2 18.5554 2 17.9991V4.00087ZM4 5V17H20V5H4ZM5 20H19V22H5V20Z',
6
+ });
@@ -55,6 +55,7 @@ export { RiBlueskyFill } from './RiBlueskyFill';
55
55
  export { RiBold } from './RiBold';
56
56
  export { RiBookOpenFill } from './RiBookOpenFill';
57
57
  export { RiBookOpenLine } from './RiBookOpenLine';
58
+ export { RiBookReadLine } from './RiBookReadLine';
58
59
  export { RiBookShelfLine } from './RiBookShelfLine';
59
60
  export { RiBookmark3Line } from './RiBookmark3Line';
60
61
  export { RiBookmarkFill } from './RiBookmarkFill';
@@ -63,6 +64,7 @@ export { RiBox3Line } from './RiBox3Line';
63
64
  export { RiBriefcase4Line } from './RiBriefcase4Line';
64
65
  export { RiBroadcastLine } from './RiBroadcastLine';
65
66
  export { RiBrushAiLine } from './RiBrushAiLine';
67
+ export { RiBugLine } from './RiBugLine';
66
68
  export { RiBuilding2Line } from './RiBuilding2Line';
67
69
  export { RiBuilding4Line } from './RiBuilding4Line';
68
70
  export { RiBuildingLine } from './RiBuildingLine';
@@ -81,6 +83,7 @@ export { RiCameraSwitchLine } from './RiCameraSwitchLine';
81
83
  export { RiCapsuleFill } from './RiCapsuleFill';
82
84
  export { RiCarLine } from './RiCarLine';
83
85
  export { RiCastLine } from './RiCastLine';
86
+ export { RiChat1Line } from './RiChat1Line';
84
87
  export { RiChat3Fill } from './RiChat3Fill';
85
88
  export { RiChat3Line } from './RiChat3Line';
86
89
  export { RiChat4Fill } from './RiChat4Fill';
@@ -101,7 +104,9 @@ export { RiCloseCircleLine } from './RiCloseCircleLine';
101
104
  export { RiCloseLine } from './RiCloseLine';
102
105
  export { RiClosedCaptioningFill } from './RiClosedCaptioningFill';
103
106
  export { RiClosedCaptioningLine } from './RiClosedCaptioningLine';
107
+ export { RiCloudLine } from './RiCloudLine';
104
108
  export { RiCodeBlock } from './RiCodeBlock';
109
+ export { RiCodeLine } from './RiCodeLine';
105
110
  export { RiCodeSLine } from './RiCodeSLine';
106
111
  export { RiCodeSSlashLine } from './RiCodeSSlashLine';
107
112
  export { RiCoinsFill } from './RiCoinsFill';
@@ -116,6 +121,7 @@ export { RiContractLeftRightLine } from './RiContractLeftRightLine';
116
121
  export { RiCornerDownLeftLine } from './RiCornerDownLeftLine';
117
122
  export { RiCornerDownRightLine } from './RiCornerDownRightLine';
118
123
  export { RiCornerUpLeftLine } from './RiCornerUpLeftLine';
124
+ export { RiCpuLine } from './RiCpuLine';
119
125
  export { RiCropLine } from './RiCropLine';
120
126
  export { RiCursorLine } from './RiCursorLine';
121
127
  export { RiCustomerService2Line } from './RiCustomerService2Line';
@@ -180,6 +186,7 @@ export { RiFlaskLine } from './RiFlaskLine';
180
186
  export { RiFlightTakeoffLine } from './RiFlightTakeoffLine';
181
187
  export { RiFlipHorizontalLine } from './RiFlipHorizontalLine';
182
188
  export { RiFlipVerticalLine } from './RiFlipVerticalLine';
189
+ export { RiFloodLine } from './RiFloodLine';
183
190
  export { RiFlowerLine } from './RiFlowerLine';
184
191
  export { RiFocus3Line } from './RiFocus3Line';
185
192
  export { RiFolder2Line } from './RiFolder2Line';
@@ -257,6 +264,7 @@ export { RiLiveLine } from './RiLiveLine';
257
264
  export { RiLoader4Line } from './RiLoader4Line';
258
265
  export { RiLock2Line } from './RiLock2Line';
259
266
  export { RiLockLine } from './RiLockLine';
267
+ export { RiLockUnlockLine } from './RiLockUnlockLine';
260
268
  export { RiLoginBoxLine } from './RiLoginBoxLine';
261
269
  export { RiLogoutBoxRLine } from './RiLogoutBoxRLine';
262
270
  export { RiLogoutCircleLine } from './RiLogoutCircleLine';
@@ -284,6 +292,7 @@ export { RiMic2Line } from './RiMic2Line';
284
292
  export { RiMicLine } from './RiMicLine';
285
293
  export { RiMicOffFill } from './RiMicOffFill';
286
294
  export { RiMicOffLine } from './RiMicOffLine';
295
+ export { RiMoneyDollarCircleLine } from './RiMoneyDollarCircleLine';
287
296
  export { RiMoneyEuroBoxLine } from './RiMoneyEuroBoxLine';
288
297
  export { RiMoonClearFill } from './RiMoonClearFill';
289
298
  export { RiMoonLine } from './RiMoonLine';
@@ -313,6 +322,7 @@ export { RiPencilLine } from './RiPencilLine';
313
322
  export { RiPhoneFill } from './RiPhoneFill';
314
323
  export { RiPhoneLine } from './RiPhoneLine';
315
324
  export { RiPlantLine } from './RiPlantLine';
325
+ export { RiPlayCircleLine } from './RiPlayCircleLine';
316
326
  export { RiPlayFill } from './RiPlayFill';
317
327
  export { RiPlayLine } from './RiPlayLine';
318
328
  export { RiPlayList2Line } from './RiPlayList2Line';
@@ -343,6 +353,7 @@ export { RiResetRightLine } from './RiResetRightLine';
343
353
  export { RiRestaurantLine } from './RiRestaurantLine';
344
354
  export { RiRobot2Fill } from './RiRobot2Fill';
345
355
  export { RiRobot2Line } from './RiRobot2Line';
356
+ export { RiRocket2Line } from './RiRocket2Line';
346
357
  export { RiRouteLine } from './RiRouteLine';
347
358
  export { RiRssFill } from './RiRssFill';
348
359
  export { RiRulerLine } from './RiRulerLine';
@@ -353,6 +364,7 @@ export { RiSearchFill } from './RiSearchFill';
353
364
  export { RiSearchLine } from './RiSearchLine';
354
365
  export { RiSeedlingLine } from './RiSeedlingLine';
355
366
  export { RiSendPlaneLine } from './RiSendPlaneLine';
367
+ export { RiServerLine } from './RiServerLine';
356
368
  export { RiSettings3Fill } from './RiSettings3Fill';
357
369
  export { RiSettings3Line } from './RiSettings3Line';
358
370
  export { RiSettings4Line } from './RiSettings4Line';
@@ -361,6 +373,7 @@ export { RiSettingsLine } from './RiSettingsLine';
361
373
  export { RiShakeHandsLine } from './RiShakeHandsLine';
362
374
  export { RiShapesLine } from './RiShapesLine';
363
375
  export { RiShare2Line } from './RiShare2Line';
376
+ export { RiShareBoxLine } from './RiShareBoxLine';
364
377
  export { RiShareForwardLine } from './RiShareForwardLine';
365
378
  export { RiShareLine } from './RiShareLine';
366
379
  export { RiShieldCheckFill } from './RiShieldCheckFill';
@@ -426,6 +439,7 @@ export { RiToolsLine } from './RiToolsLine';
426
439
  export { RiTrainLine } from './RiTrainLine';
427
440
  export { RiTranslate2 } from './RiTranslate2';
428
441
  export { RiTreeLine } from './RiTreeLine';
442
+ export { RiTv2Line } from './RiTv2Line';
429
443
  export { RiTvLine } from './RiTvLine';
430
444
  export { RiTwitterXFill } from './RiTwitterXFill';
431
445
  export { RiUnpinLine } from './RiUnpinLine';
package/src/index.ts CHANGED
@@ -167,7 +167,11 @@ export {
167
167
  ScrollOffsetProvider,
168
168
  useScrollOffset,
169
169
  ScreenScope,
170
+ HeaderDockProvider,
171
+ useHeaderDockInset,
172
+ StickySection,
170
173
  } from './layout';
174
+ export type { StickySectionProps } from './layout';
171
175
  export { Fab } from './fab';
172
176
  export type { FabProps, FabVariant, FabSize, FabPlacement, FabMinimizeBehavior } from './fab';
173
177
  export { FrostedIconButton } from './frosted-icon-button';
package/src/index.web.ts CHANGED
@@ -172,7 +172,11 @@ export {
172
172
  ScrollOffsetProvider,
173
173
  useScrollOffset,
174
174
  ScreenScope,
175
+ HeaderDockProvider,
176
+ useHeaderDockInset,
177
+ StickySection,
175
178
  } from './layout';
179
+ export type { StickySectionProps } from './layout';
176
180
  export { Fab } from './fab/index.web';
177
181
  export type { FabProps, FabVariant, FabSize, FabPlacement, FabMinimizeBehavior } from './fab/index.web';
178
182
  export { FrostedIconButton } from './frosted-icon-button/index.web';
@@ -0,0 +1,75 @@
1
+ import React, { useCallback, useEffect, useRef } from 'react';
2
+ import { Platform, View, type ViewProps } from 'react-native';
3
+ import { useSurfaceFill } from '../styles/surface-levels';
4
+ import { Z_INDEX } from '../styles/z-index';
5
+ import { WEB_POSITION_STICKY, webSurfaceStickyTopPlus, type WebCssStyle } from '../styles/web-view-style';
6
+ import { useHeaderDockContext } from './header-dock';
7
+ import { useTopEdgeInset } from './top-edge';
8
+
9
+ export interface StickySectionProps extends ViewProps {
10
+ /** Native: this sticky child's Y in the list content, measured by its owner. */
11
+ offset?: number;
12
+ }
13
+
14
+ /** One docking section. Native lists retain ownership of stickyHeaderIndices. */
15
+ export function StickySection({children, offset, style, onLayout, ...props}: StickySectionProps) {
16
+ const dock = useHeaderDockContext();
17
+ const top = useTopEdgeInset();
18
+ const fill = useSurfaceFill();
19
+ const marker = useRef<View>(null);
20
+ const section = useRef<View>(null);
21
+ const owner = useRef({});
22
+ const measure = useCallback(() => {
23
+ if (!dock) return;
24
+ if (Platform.OS !== 'web') {
25
+ if (offset !== undefined) {
26
+ dock.targets.current.set(owner.current, offset);
27
+ dock.sectionOffset.value = offset;
28
+ }
29
+ return;
30
+ }
31
+ const anchor = marker.current as unknown as HTMLElement | null;
32
+ const sticky = section.current as unknown as HTMLElement | null;
33
+ if (!anchor?.getBoundingClientRect || !sticky) return;
34
+ // The zero-height marker remains in normal flow while the section sticks.
35
+ // Its coordinate is measured against the actual scrolling viewport.
36
+ let viewportTop = 0;
37
+ for (let parent = anchor.parentElement; parent; parent = parent.parentElement) {
38
+ if (/(auto|scroll)/.test(getComputedStyle(parent).overflowY)) {
39
+ viewportTop = parent.getBoundingClientRect().top + parent.clientTop;
40
+ break;
41
+ }
42
+ }
43
+ const stickyTop = Number.parseFloat(getComputedStyle(sticky).top) || top;
44
+ const measuredOffset = anchor.getBoundingClientRect().top - viewportTop + dock.scrollY.value - stickyTop + top;
45
+ dock.targets.current.set(owner.current, measuredOffset);
46
+ dock.sectionOffset.value = measuredOffset;
47
+ }, [dock, offset, top]);
48
+ useEffect(() => {
49
+ measure();
50
+ if (Platform.OS !== 'web') return;
51
+ const anchor = marker.current as unknown as HTMLElement | null;
52
+ const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(measure);
53
+ // Ancestor size changes cover delayed hero images/fonts without a scroll listener.
54
+ for (let element = anchor?.parentElement; element; element = element.parentElement) observer?.observe(element);
55
+ window.addEventListener('resize', measure);
56
+ return () => { observer?.disconnect(); window.removeEventListener('resize', measure); };
57
+ }, [measure]);
58
+ useEffect(() => () => {
59
+ if (!dock) return;
60
+ dock.targets.current.delete(owner.current);
61
+ // Virtualized lists may mount a sticky clone alongside the original cell.
62
+ // Removing that clone must restore the still-mounted original's target.
63
+ let remaining = Number.POSITIVE_INFINITY;
64
+ for (const target of dock.targets.current.values()) remaining = target;
65
+ dock.sectionOffset.value = remaining;
66
+ }, [dock]);
67
+ const stickyStyle: WebCssStyle = Platform.OS === 'web'
68
+ ? {position:WEB_POSITION_STICKY, top:webSurfaceStickyTopPlus(top), zIndex:Z_INDEX.raised}
69
+ : {zIndex:Z_INDEX.raised};
70
+ return <>
71
+ {Platform.OS === 'web' && <View ref={marker} pointerEvents="none" style={{height:0}} />}
72
+ <View {...props} ref={section} onLayout={event => {measure(); onLayout?.(event);}}
73
+ style={[stickyStyle, {backgroundColor:fill}, style]}>{children}</View>
74
+ </>;
75
+ }
@@ -0,0 +1,42 @@
1
+ import React, { createContext, useContext, useMemo, useRef, useState, type PropsWithChildren } from 'react';
2
+ import { Platform } from 'react-native';
3
+ import { useDerivedValue, useSharedValue, type SharedValue } from 'react-native-reanimated';
4
+ import { useScreenContext } from '../screen/context';
5
+ import { useScrollOffset } from './scroll-offset';
6
+ import { TopEdgeProvider, useTopEdgeInset } from './top-edge';
7
+
8
+ interface HeaderDockState {
9
+ scrollY: SharedValue<number>;
10
+ headerHeight: SharedValue<number>;
11
+ overlay: SharedValue<boolean>;
12
+ overlaps: boolean;
13
+ setOverlaps: React.Dispatch<React.SetStateAction<boolean>>;
14
+ sectionOffset: SharedValue<number>;
15
+ progress: SharedValue<number>;
16
+ targets: React.MutableRefObject<Map<object, number>>;
17
+ }
18
+ const HeaderDockContext = createContext<HeaderDockState | null>(null);
19
+ export function useHeaderDockContext() { return useContext(HeaderDockContext); }
20
+
21
+ /** Native lists already below an inline header need no additional clearance. */
22
+ export function useHeaderDockInset(): number {
23
+ const dock = useHeaderDockContext();
24
+ const height = useTopEdgeInset();
25
+ return Platform.OS === 'web' || dock?.overlaps ? height : 0;
26
+ }
27
+
28
+ /** Pairs one header and its docking section without rendering on scroll frames. */
29
+ export function HeaderDockProvider({ children, scrollY: supplied }: PropsWithChildren<{ scrollY?: SharedValue<number> }>) {
30
+ const screen = useScreenContext();
31
+ const contextual = useScrollOffset();
32
+ const rest = useSharedValue(0);
33
+ const scrollY = supplied ?? screen?.scrollY ?? contextual ?? rest;
34
+ const headerHeight = useSharedValue(0);
35
+ const overlay = useSharedValue(false);
36
+ const [overlaps, setOverlaps] = useState(false);
37
+ const sectionOffset = useSharedValue(Number.POSITIVE_INFINITY);
38
+ const targets = useRef(new Map<object, number>());
39
+ const progress = useDerivedValue(() => Math.min(1, Math.max(0, (scrollY.value - sectionOffset.value + (Platform.OS === 'web' || overlay.value ? headerHeight.value : 0) + 12) / 12)), [scrollY, sectionOffset, headerHeight, overlay]);
40
+ const value = useMemo(() => ({scrollY,headerHeight,sectionOffset,progress,targets,overlay,overlaps,setOverlaps}), [scrollY,headerHeight,sectionOffset,progress,overlay,overlaps]);
41
+ return <TopEdgeProvider><HeaderDockContext.Provider value={value}>{children}</HeaderDockContext.Provider></TopEdgeProvider>;
42
+ }
@@ -14,3 +14,7 @@ export { BottomEdgeProvider, useBottomEdgeInset, useClaimBottomEdge } from './bo
14
14
  export { TopEdgeProvider, useClaimTopEdge, useTopEdgeInset } from './top-edge';
15
15
  export { ScrollOffsetProvider, useScrollOffset } from './scroll-offset';
16
16
  export { ScreenScope } from './screen-scope';
17
+
18
+ export { HeaderDockProvider, useHeaderDockInset } from './header-dock';
19
+ export { StickySection } from './StickySection';
20
+ export type { StickySectionProps } from './StickySection';
@@ -1,3 +1,8 @@
1
+ // AUTO-GENERATED by scripts/generate-platform-exports.mjs — DO NOT EDIT.
2
+ // Source of truth: src/list/index.ts.
3
+ // Re-run `bun run generate:exports` (or any `bun run build`) after
4
+ // changing that barrel or the set of web-forked subpaths.
5
+
1
6
  export type {
2
7
  VirtualListHandle,
3
8
  VirtualListProps,
@@ -1,8 +1,11 @@
1
- import { normalizeBloomSize } from '../appearance/legacy';
2
- import { resolveBloomColors } from '../appearance/colors';
3
- import { useBloomAppearance } from '../appearance';
4
- import React, { memo, useEffect, useMemo } from 'react';
5
- import { View, Text, StyleSheet, type DimensionValue } from 'react-native';
1
+ /**
2
+ * `Loading` — NATIVE: the `top` variant's motion on react-native-reanimated.
3
+ *
4
+ * Everything else about the family is shared (`LoadingBase`); this file holds
5
+ * only what forks, and binds it. The `spinner` and `inline` variants, the size
6
+ * table and the stylesheet are identical on both platforms.
7
+ */
8
+ import React, { useEffect } from 'react';
6
9
  import Animated, {
7
10
  Easing,
8
11
  useAnimatedStyle,
@@ -10,60 +13,14 @@ import Animated, {
10
13
  withTiming,
11
14
  } from 'react-native-reanimated';
12
15
 
13
- import { useTheme } from '../theme/use-theme';
16
+ import { normalizeBloomSize } from '../appearance/legacy';
17
+ import { resolveBloomColors } from '../appearance/colors';
18
+ import { useBloomAppearance } from '../appearance';
14
19
  import { animation } from '../styles/tokens';
20
+ import { useTheme } from '../theme/use-theme';
21
+ import { bindLoading, SIZE_CONFIG, styles } from './LoadingBase';
15
22
  import { SpinnerIcon } from './SpinnerIcon';
16
- import type {
17
- LoadingProps,
18
- SpinnerLoadingProps,
19
- TopLoadingProps,
20
- InlineLoadingProps,
21
- } from './types';
22
-
23
- const SIZE_CONFIG = {
24
- xs: { spinner: 16, text: 12 },
25
- sm: { spinner: 20, text: 13 },
26
- md: { spinner: 24, text: 15 },
27
- lg: { spinner: 44, text: 16 },
28
- } as const;
29
-
30
- const SpinnerLoading: React.FC<SpinnerLoadingProps> = ({
31
- size: sizeProp,
32
- color,
33
- tone: toneProp,
34
- className,
35
- text,
36
- textStyle,
37
- style,
38
- showText = true,
39
- iconSize,
40
- spinnerIcon,
41
- testID,
42
- }) => {
43
- const theme = useTheme();
44
- const {size, tone} = useBloomAppearance({size: normalizeBloomSize(sizeProp), tone: toneProp}, {size: 'md', tone: 'accent'});
45
- const sizeConfig = SIZE_CONFIG[size];
46
- const effectiveIconSize = iconSize ?? sizeConfig.spinner;
47
- const spinnerColor = className ? 'currentColor' : (color ?? resolveBloomColors(theme.colors, tone, 'solid').background);
48
- const textColor = color ?? theme.colors.textSecondary;
49
-
50
- return (
51
- <View style={[styles.container, style]} testID={testID}>
52
- {spinnerIcon ?? <SpinnerIcon size={effectiveIconSize} color={spinnerColor} className={className} />}
53
- {showText && text && (
54
- <Text
55
- style={[
56
- styles.text,
57
- { color: textColor, fontSize: sizeConfig.text, marginTop: 8 },
58
- textStyle,
59
- ]}
60
- >
61
- {text}
62
- </Text>
63
- )}
64
- </View>
65
- );
66
- };
23
+ import type { TopLoadingProps } from './types';
67
24
 
68
25
  const TopLoading: React.FC<TopLoadingProps> = ({
69
26
  size: sizeProp,
@@ -118,81 +75,4 @@ const TopLoading: React.FC<TopLoadingProps> = ({
118
75
  );
119
76
  };
120
77
 
121
- const InlineLoading: React.FC<InlineLoadingProps> = ({
122
- size: sizeProp,
123
- color,
124
- tone: toneProp,
125
- text,
126
- style,
127
- textStyle,
128
- spinnerIcon,
129
- testID,
130
- }) => {
131
- const theme = useTheme();
132
- const {size, tone} = useBloomAppearance({size: normalizeBloomSize(sizeProp), tone: toneProp}, {size: 'md', tone: 'accent'});
133
- const sizeConfig = SIZE_CONFIG[size];
134
- const spinnerColor = color ?? resolveBloomColors(theme.colors, tone, 'solid').background;
135
- const textColor = theme.colors.textSecondary;
136
-
137
- return (
138
- <View style={[styles.inlineContainer, style]} testID={testID}>
139
- {spinnerIcon ?? <SpinnerIcon size={sizeConfig.spinner} color={spinnerColor} />}
140
- {text && (
141
- <Text
142
- style={[
143
- { color: textColor, fontSize: sizeConfig.text, marginLeft: 8 },
144
- textStyle,
145
- ]}
146
- >
147
- {text}
148
- </Text>
149
- )}
150
- </View>
151
- );
152
- };
153
-
154
- const LoadingComponent: React.FC<LoadingProps> = (props) => {
155
- const variant = props.variant ?? 'spinner';
156
-
157
- switch (variant) {
158
- case 'top':
159
- return <TopLoading {...(props as TopLoadingProps)} />;
160
- case 'inline':
161
- return <InlineLoading {...(props as InlineLoadingProps)} />;
162
- case 'spinner':
163
- default:
164
- return <SpinnerLoading {...(props as SpinnerLoadingProps)} />;
165
- }
166
- };
167
-
168
- export const Loading = memo(LoadingComponent);
169
- Loading.displayName = 'Loading';
170
-
171
- const styles = StyleSheet.create({
172
- container: {
173
- alignItems: 'center',
174
- justifyContent: 'center',
175
- padding: 16,
176
- },
177
- text: {
178
- textAlign: 'center',
179
- },
180
- topContainer: {
181
- width: '100%',
182
- position: 'relative',
183
- overflow: 'hidden',
184
- },
185
- topLoadingView: {
186
- width: '100%',
187
- alignItems: 'center',
188
- justifyContent: 'center',
189
- position: 'absolute',
190
- top: 0,
191
- left: 0,
192
- },
193
- inlineContainer: {
194
- flexDirection: 'row',
195
- alignItems: 'center',
196
- justifyContent: 'center',
197
- },
198
- });
78
+ export const { Loading } = bindLoading({ SpinnerIcon, TopLoading });
@@ -1,65 +1,24 @@
1
+ /**
2
+ * `Loading` — WEB: the `top` variant's motion on CSS transitions.
3
+ *
4
+ * The native fork statically imports react-native-reanimated, whose worklets
5
+ * Babel plugin is native-only — importing it statically breaks every web
6
+ * bundler, Vite, webpack and Metro-web alike. That is the whole reason this
7
+ * family forks. Everything else is shared (`LoadingBase`): the `spinner` and
8
+ * `inline` variants, the size table and the stylesheet.
9
+ */
10
+ import React from 'react';
11
+ import { View } from 'react-native';
12
+
1
13
  import { normalizeBloomSize } from '../appearance/legacy';
2
14
  import { resolveBloomColors } from '../appearance/colors';
3
15
  import { useBloomAppearance } from '../appearance';
4
- import React, { memo, useMemo } from 'react';
5
- import { View, Text, StyleSheet, type DimensionValue } from 'react-native';
6
-
16
+ import { animation } from '../styles/tokens';
7
17
  import type { WebCssStyle } from '../styles/web-view-style';
8
-
9
18
  import { useTheme } from '../theme/use-theme';
10
- import { animation } from '../styles/tokens';
19
+ import { bindLoading, SIZE_CONFIG, styles } from './LoadingBase';
11
20
  import { SpinnerIcon } from './SpinnerIcon.web';
12
- import type {
13
- LoadingProps,
14
- SpinnerLoadingProps,
15
- TopLoadingProps,
16
- InlineLoadingProps,
17
- } from './types';
18
-
19
- const SIZE_CONFIG = {
20
- xs: { spinner: 16, text: 12 },
21
- sm: { spinner: 20, text: 13 },
22
- md: { spinner: 24, text: 15 },
23
- lg: { spinner: 44, text: 16 },
24
- } as const;
25
-
26
- const SpinnerLoading: React.FC<SpinnerLoadingProps> = ({
27
- size: sizeProp,
28
- color,
29
- tone: toneProp,
30
- className,
31
- text,
32
- textStyle,
33
- style,
34
- showText = true,
35
- iconSize,
36
- spinnerIcon,
37
- testID,
38
- }) => {
39
- const theme = useTheme();
40
- const {size, tone} = useBloomAppearance({size: normalizeBloomSize(sizeProp), tone: toneProp}, {size: 'md', tone: 'accent'});
41
- const sizeConfig = SIZE_CONFIG[size];
42
- const effectiveIconSize = iconSize ?? sizeConfig.spinner;
43
- const spinnerColor = className ? 'currentColor' : (color ?? resolveBloomColors(theme.colors, tone, 'solid').background);
44
- const textColor = color ?? theme.colors.textSecondary;
45
-
46
- return (
47
- <View style={[styles.container, style]} testID={testID}>
48
- {spinnerIcon ?? <SpinnerIcon size={effectiveIconSize} color={spinnerColor} className={className} />}
49
- {showText && text && (
50
- <Text
51
- style={[
52
- styles.text,
53
- { color: textColor, fontSize: sizeConfig.text, marginTop: 8 },
54
- textStyle,
55
- ]}
56
- >
57
- {text}
58
- </Text>
59
- )}
60
- </View>
61
- );
62
- };
21
+ import type { TopLoadingProps } from './types';
63
22
 
64
23
  /**
65
24
  * Web fork of the `top` variant.
@@ -131,81 +90,4 @@ const TopLoading: React.FC<TopLoadingProps> = ({
131
90
  );
132
91
  };
133
92
 
134
- const InlineLoading: React.FC<InlineLoadingProps> = ({
135
- size: sizeProp,
136
- color,
137
- tone: toneProp,
138
- text,
139
- style,
140
- textStyle,
141
- spinnerIcon,
142
- testID,
143
- }) => {
144
- const theme = useTheme();
145
- const {size, tone} = useBloomAppearance({size: normalizeBloomSize(sizeProp), tone: toneProp}, {size: 'md', tone: 'accent'});
146
- const sizeConfig = SIZE_CONFIG[size];
147
- const spinnerColor = color ?? resolveBloomColors(theme.colors, tone, 'solid').background;
148
- const textColor = theme.colors.textSecondary;
149
-
150
- return (
151
- <View style={[styles.inlineContainer, style]} testID={testID}>
152
- {spinnerIcon ?? <SpinnerIcon size={sizeConfig.spinner} color={spinnerColor} />}
153
- {text && (
154
- <Text
155
- style={[
156
- { color: textColor, fontSize: sizeConfig.text, marginLeft: 8 },
157
- textStyle,
158
- ]}
159
- >
160
- {text}
161
- </Text>
162
- )}
163
- </View>
164
- );
165
- };
166
-
167
- const LoadingComponent: React.FC<LoadingProps> = (props) => {
168
- const variant = props.variant ?? 'spinner';
169
-
170
- switch (variant) {
171
- case 'top':
172
- return <TopLoading {...(props as TopLoadingProps)} />;
173
- case 'inline':
174
- return <InlineLoading {...(props as InlineLoadingProps)} />;
175
- case 'spinner':
176
- default:
177
- return <SpinnerLoading {...(props as SpinnerLoadingProps)} />;
178
- }
179
- };
180
-
181
- export const Loading = memo(LoadingComponent);
182
- Loading.displayName = 'Loading';
183
-
184
- const styles = StyleSheet.create({
185
- container: {
186
- alignItems: 'center',
187
- justifyContent: 'center',
188
- padding: 16,
189
- },
190
- text: {
191
- textAlign: 'center',
192
- },
193
- topContainer: {
194
- width: '100%',
195
- position: 'relative',
196
- overflow: 'hidden',
197
- },
198
- topLoadingView: {
199
- width: '100%',
200
- alignItems: 'center',
201
- justifyContent: 'center',
202
- position: 'absolute',
203
- top: 0,
204
- left: 0,
205
- },
206
- inlineContainer: {
207
- flexDirection: 'row',
208
- alignItems: 'center',
209
- justifyContent: 'center',
210
- },
211
- });
93
+ export const { Loading } = bindLoading({ SpinnerIcon, TopLoading });