@astryxdesign/core 0.7.2-canary.f16dc9f → 0.7.2-canary.f2b60a0

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 (307) hide show
  1. package/dist/AppShell/AppShell.d.ts.map +1 -1
  2. package/dist/AppShell/AppShell.js +40 -1
  3. package/dist/AspectRatio/AspectRatio.d.ts +6 -8
  4. package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
  5. package/dist/AspectRatio/AspectRatio.js +44 -3
  6. package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  7. package/dist/Breadcrumbs/BreadcrumbItem.js +5 -2
  8. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  9. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  10. package/dist/CheckboxInput/CheckboxInput.js +3 -1
  11. package/dist/CheckboxList/CheckboxListItem.d.ts +9 -1
  12. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  13. package/dist/CheckboxList/CheckboxListItem.js +4 -2
  14. package/dist/CommandPalette/CommandPaletteInput.d.ts +1 -1
  15. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  16. package/dist/CommandPalette/CommandPaletteInput.js +37 -5
  17. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  18. package/dist/ContextMenu/ContextMenu.js +5 -2
  19. package/dist/Dialog/Dialog.d.ts.map +1 -1
  20. package/dist/Dialog/Dialog.js +20 -8
  21. package/dist/Drawer/Drawer.d.ts +191 -0
  22. package/dist/Drawer/Drawer.d.ts.map +1 -0
  23. package/dist/Drawer/Drawer.js +382 -0
  24. package/dist/Drawer/DrawerHeader.d.ts +85 -0
  25. package/dist/Drawer/DrawerHeader.d.ts.map +1 -0
  26. package/dist/Drawer/DrawerHeader.js +134 -0
  27. package/dist/Drawer/index.d.ts +11 -0
  28. package/dist/Drawer/index.d.ts.map +1 -0
  29. package/dist/Drawer/index.js +11 -0
  30. package/dist/Drawer/useDrawerDialogPresence.d.ts +42 -0
  31. package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -0
  32. package/dist/Drawer/useDrawerDialogPresence.js +236 -0
  33. package/dist/DropdownMenu/DropdownMenu.d.ts +1 -1
  34. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  35. package/dist/DropdownMenu/DropdownMenu.js +83 -11
  36. package/dist/DropdownMenu/DropdownMenuContext.d.ts +17 -0
  37. package/dist/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
  38. package/dist/DropdownMenu/DropdownMenuContext.js +21 -0
  39. package/dist/DropdownMenu/DropdownMenuDivider.d.ts +5 -3
  40. package/dist/DropdownMenu/DropdownMenuDivider.d.ts.map +1 -1
  41. package/dist/DropdownMenu/DropdownMenuDivider.js +7 -3
  42. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  43. package/dist/DropdownMenu/DropdownMenuSubMenu.js +19 -8
  44. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts +24 -0
  45. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts.map +1 -0
  46. package/dist/DropdownMenu/lazyMenuBottomSheet.js +46 -0
  47. package/dist/EmptyState/EmptyState.d.ts.map +1 -1
  48. package/dist/EmptyState/EmptyState.js +4 -10
  49. package/dist/Field/Field.d.ts +1 -1
  50. package/dist/Field/Field.d.ts.map +1 -1
  51. package/dist/Field/Field.js +8 -4
  52. package/dist/Grid/GridSpan.d.ts.map +1 -1
  53. package/dist/Grid/GridSpan.js +1 -0
  54. package/dist/Heading/Heading.d.ts.map +1 -1
  55. package/dist/Heading/Heading.js +4 -2
  56. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  57. package/dist/HoverCard/useHoverCard.js +10 -2
  58. package/dist/Item/Item.d.ts +6 -2
  59. package/dist/Item/Item.d.ts.map +1 -1
  60. package/dist/Item/Item.js +19 -4
  61. package/dist/Layer/layerViewportInset.stylex.d.ts +6 -2
  62. package/dist/Layer/layerViewportInset.stylex.d.ts.map +1 -1
  63. package/dist/Layer/layerViewportInset.stylex.js +6 -2
  64. package/dist/Layer/useLayer.d.ts.map +1 -1
  65. package/dist/Layer/useLayer.js +13 -7
  66. package/dist/Layer/useLayerDismissal.d.ts +1 -1
  67. package/dist/Layer/useLayerDismissal.js +1 -1
  68. package/dist/Layout/container.stylex.d.ts +5 -5
  69. package/dist/Layout/container.stylex.js +4 -4
  70. package/dist/List/List.d.ts +46 -19
  71. package/dist/List/List.d.ts.map +1 -1
  72. package/dist/List/List.js +28 -10
  73. package/dist/List/ListContext.d.ts +8 -3
  74. package/dist/List/ListContext.d.ts.map +1 -1
  75. package/dist/List/ListContext.js +7 -2
  76. package/dist/List/ListItem.d.ts +13 -5
  77. package/dist/List/ListItem.d.ts.map +1 -1
  78. package/dist/List/ListItem.js +21 -8
  79. package/dist/List/index.d.ts +1 -1
  80. package/dist/List/index.d.ts.map +1 -1
  81. package/dist/Markdown/Markdown.d.ts.map +1 -1
  82. package/dist/Markdown/Markdown.js +8 -1
  83. package/dist/Markdown/plugins/frontmatter.d.ts.map +1 -1
  84. package/dist/Markdown/plugins/frontmatter.js +7 -3
  85. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  86. package/dist/MetadataList/MetadataList.js +5 -1
  87. package/dist/MetadataList/MetadataListContext.d.ts +1 -1
  88. package/dist/MetadataList/MetadataListContext.d.ts.map +1 -1
  89. package/dist/MobileNav/MobileNav.d.ts +9 -0
  90. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  91. package/dist/MobileNav/MobileNav.js +30 -3
  92. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  93. package/dist/MultiSelector/MultiSelector.js +22 -8
  94. package/dist/MultiSelector/OptionActions.a11y.chromium.spec.js +100 -2
  95. package/dist/Popover/Popover.js +2 -2
  96. package/dist/RadioList/RadioList.d.ts +1 -1
  97. package/dist/RadioList/RadioList.d.ts.map +1 -1
  98. package/dist/RadioList/RadioList.js +6 -2
  99. package/dist/RadioList/RadioListItem.d.ts +9 -1
  100. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  101. package/dist/RadioList/RadioListItem.js +2 -0
  102. package/dist/SideNav/SideNavItem.d.ts +8 -1
  103. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  104. package/dist/SideNav/SideNavItem.js +71 -9
  105. package/dist/TabList/TabMenu.d.ts +2 -2
  106. package/dist/TabList/TabMenu.d.ts.map +1 -1
  107. package/dist/TabList/TabMenu.js +6 -3
  108. package/dist/Text/Text.d.ts.map +1 -1
  109. package/dist/Text/Text.js +4 -2
  110. package/dist/Text/useTruncation.d.ts +7 -5
  111. package/dist/Text/useTruncation.d.ts.map +1 -1
  112. package/dist/Text/useTruncation.js +16 -5
  113. package/dist/ToggleButton/ToggleButton.d.ts +3 -2
  114. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  115. package/dist/ToggleButton/ToggleButton.js +12 -1
  116. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  117. package/dist/TopNav/TopNavMegaMenu.js +3 -3
  118. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  119. package/dist/TopNav/TopNavMenu.js +3 -3
  120. package/dist/TreeList/TreeList.d.ts.map +1 -1
  121. package/dist/TreeList/TreeList.js +1 -0
  122. package/dist/TreeList/TreeListBranches.d.ts.map +1 -1
  123. package/dist/TreeList/TreeListBranches.js +2 -2
  124. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  125. package/dist/TreeList/TreeListItem.js +57 -9
  126. package/dist/astryx.css +46 -13
  127. package/dist/hooks/useEntryAnimation.d.ts +2 -1
  128. package/dist/hooks/useEntryAnimation.d.ts.map +1 -1
  129. package/dist/hooks/useEntryAnimation.js +14 -12
  130. package/dist/hooks/useIsHydrating.d.ts +6 -0
  131. package/dist/hooks/useIsHydrating.d.ts.map +1 -0
  132. package/dist/hooks/useIsHydrating.js +30 -0
  133. package/dist/hooks/useMenuHover.d.ts.map +1 -1
  134. package/dist/hooks/useMenuHover.js +18 -13
  135. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  136. package/dist/i18n/generated-locales/en.generated.js +93 -1
  137. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  138. package/dist/i18n/generated-locales/pseudo.generated.js +93 -1
  139. package/dist/index.d.ts +1 -0
  140. package/dist/index.d.ts.map +1 -1
  141. package/dist/index.js +1 -0
  142. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  143. package/dist/theme/derivedVarRegistry.js +0 -3
  144. package/dist/utils/focusOutline.stylex.d.ts +4 -0
  145. package/dist/utils/focusOutline.stylex.d.ts.map +1 -1
  146. package/dist/utils/focusOutline.stylex.js +4 -0
  147. package/dist/utils/plainDate.d.ts.map +1 -1
  148. package/dist/utils/plainDate.js +15 -9
  149. package/dist/utils/sharedMutationObserver.d.ts +21 -0
  150. package/dist/utils/sharedMutationObserver.d.ts.map +1 -0
  151. package/dist/utils/sharedMutationObserver.js +69 -0
  152. package/locales/en.json +368 -0
  153. package/locales/pseudo.json +276 -0
  154. package/package.json +8 -3
  155. package/scripts/agent-doc-state.mjs +38 -0
  156. package/scripts/postinstall.mjs +1 -1
  157. package/src/AppShell/AppShell.tsx +45 -1
  158. package/src/AspectRatio/AspectRatio.test.tsx +44 -43
  159. package/src/AspectRatio/AspectRatio.tsx +38 -18
  160. package/src/AspectRatio/__tests__/AspectRatioFitLayers.a11y.browser.spec.ts +157 -0
  161. package/src/Avatar/Avatar.doc.mjs +5 -3
  162. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -2
  163. package/src/Breadcrumbs/BreadcrumbItem.tsx +4 -1
  164. package/src/Breadcrumbs/Breadcrumbs.test.tsx +30 -1
  165. package/src/Card/Card.doc.mjs +1 -1
  166. package/src/Chat/__tests__/ChatMessageMetadata.a11y.chromium.spec.ts +3 -1
  167. package/src/CheckboxInput/CheckboxInput.test.tsx +34 -0
  168. package/src/CheckboxInput/CheckboxInput.tsx +3 -1
  169. package/src/CheckboxList/CheckboxList.test.tsx +22 -0
  170. package/src/CheckboxList/CheckboxListItem.doc.mjs +16 -0
  171. package/src/CheckboxList/CheckboxListItem.tsx +10 -0
  172. package/src/CommandPalette/CommandPaletteInput.test.tsx +53 -4
  173. package/src/CommandPalette/CommandPaletteInput.tsx +33 -3
  174. package/src/CommandPalette/__tests__/CommandPaletteInputAudit.a11y.chromium.spec.ts +335 -0
  175. package/src/CommandPalette/__tests__/CommandPaletteItemAudit.a11y.chromium.spec.ts +292 -0
  176. package/src/ContextMenu/ContextMenu.doc.mjs +2 -3
  177. package/src/ContextMenu/ContextMenu.tsx +4 -1
  178. package/src/ContextMenu/__tests__/ContextMenuAudit.a11y.chromium.spec.ts +438 -0
  179. package/src/Dialog/Dialog.test.tsx +46 -0
  180. package/src/Dialog/Dialog.tsx +20 -7
  181. package/src/Dialog/__tests__/Dialog.a11y.known-failures.ts +0 -14
  182. package/src/Drawer/Drawer.doc.mjs +472 -0
  183. package/src/Drawer/Drawer.spec.md +357 -0
  184. package/src/Drawer/Drawer.test.tsx +1300 -0
  185. package/src/Drawer/Drawer.tsx +613 -0
  186. package/src/Drawer/DrawerDirection.test.tsx +127 -0
  187. package/src/Drawer/DrawerHeader.doc.mjs +293 -0
  188. package/src/Drawer/DrawerHeader.test.tsx +102 -0
  189. package/src/Drawer/DrawerHeader.tsx +235 -0
  190. package/src/Drawer/__tests__/DrawerAudit.a11y.chromium.spec.ts +401 -0
  191. package/src/Drawer/__tests__/DrawerHeaderAudit.a11y.chromium.spec.ts +297 -0
  192. package/src/Drawer/index.ts +13 -0
  193. package/src/Drawer/useDrawerDialogPresence.ts +284 -0
  194. package/src/DropdownMenu/DropdownMenu.ssr.test.tsx +57 -0
  195. package/src/DropdownMenu/DropdownMenu.test.tsx +76 -14
  196. package/src/DropdownMenu/DropdownMenu.tsx +83 -12
  197. package/src/DropdownMenu/DropdownMenuContext.tsx +24 -0
  198. package/src/DropdownMenu/DropdownMenuDivider.doc.mjs +2 -2
  199. package/src/DropdownMenu/DropdownMenuDivider.spec.md +192 -0
  200. package/src/DropdownMenu/DropdownMenuDivider.tsx +9 -5
  201. package/src/DropdownMenu/DropdownMenuLazySheet.test.tsx +126 -0
  202. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +185 -0
  203. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +19 -5
  204. package/src/DropdownMenu/__tests__/DropdownMenuDividerAudit.a11y.chromium.spec.ts +280 -0
  205. package/src/DropdownMenu/__tests__/Menu.a11y.chromium.spec.ts +145 -0
  206. package/src/DropdownMenu/__tests__/Menu.a11y.known-failures.ts +26 -0
  207. package/src/DropdownMenu/__tests__/Menu.a11y.renders.tsx +65 -0
  208. package/src/DropdownMenu/__tests__/Menu.a11y.states.ts +138 -0
  209. package/src/DropdownMenu/__tests__/Menu.a11y.test.tsx +136 -0
  210. package/src/DropdownMenu/__tests__/warmMenuBottomSheet.tsx +43 -0
  211. package/src/DropdownMenu/lazyMenuBottomSheet.ts +71 -0
  212. package/src/EmptyState/EmptyState.doc.mjs +3 -2
  213. package/src/EmptyState/EmptyState.spec.md +189 -0
  214. package/src/EmptyState/EmptyState.test.tsx +74 -3
  215. package/src/EmptyState/EmptyState.tsx +4 -8
  216. package/src/Field/Field.doc.mjs +14 -8
  217. package/src/Field/Field.spec.md +217 -0
  218. package/src/Field/Field.test.tsx +60 -2
  219. package/src/Field/Field.tsx +17 -8
  220. package/src/Grid/GridSpan.tsx +3 -0
  221. package/src/Heading/Heading.test.tsx +57 -0
  222. package/src/Heading/Heading.tsx +6 -2
  223. package/src/HoverCard/HoverCard.test.tsx +58 -0
  224. package/src/HoverCard/useHoverCard.tsx +10 -2
  225. package/src/Item/Item.doc.mjs +12 -8
  226. package/src/Item/Item.spec.md +226 -0
  227. package/src/Item/Item.test.tsx +61 -0
  228. package/src/Item/Item.tsx +40 -4
  229. package/src/Layer/layerViewportInset.source-build.test.mjs +90 -0
  230. package/src/Layer/layerViewportInset.stylex.ts +6 -2
  231. package/src/Layer/layerViewportInset.test.ts +1 -0
  232. package/src/Layer/useLayer.tsx +24 -13
  233. package/src/Layer/useLayerDismissal.ts +1 -1
  234. package/src/Layout/container.stylex.ts +6 -6
  235. package/src/List/List.doc.mjs +14 -1
  236. package/src/List/List.spec.md +129 -77
  237. package/src/List/List.test.tsx +163 -94
  238. package/src/List/List.tsx +74 -18
  239. package/src/List/ListContext.tsx +9 -3
  240. package/src/List/ListItem.doc.mjs +16 -0
  241. package/src/List/ListItem.tsx +56 -27
  242. package/src/List/index.ts +1 -1
  243. package/src/Markdown/Markdown.tsx +14 -1
  244. package/src/Markdown/plugins/frontmatter.test.tsx +25 -0
  245. package/src/Markdown/plugins/frontmatter.ts +7 -3
  246. package/src/MetadataList/MetadataList.doc.mjs +2 -2
  247. package/src/MetadataList/MetadataList.test.tsx +38 -0
  248. package/src/MetadataList/MetadataList.tsx +8 -1
  249. package/src/MetadataList/MetadataListContext.tsx +1 -1
  250. package/src/MobileNav/MobileNav.tsx +30 -3
  251. package/src/MobileNav/MobileNavCloseEdgeCases.test.tsx +173 -15
  252. package/src/MoreMenu/MoreMenu.test.tsx +5 -1
  253. package/src/MultiSelector/MultiSelector.test.tsx +159 -0
  254. package/src/MultiSelector/MultiSelector.tsx +40 -7
  255. package/src/MultiSelector/OptionActions.a11y.chromium.spec.ts +112 -2
  256. package/src/Popover/Popover.test.tsx +2 -2
  257. package/src/Popover/Popover.tsx +4 -4
  258. package/src/RadioList/RadioList.fr10.test.tsx +45 -2
  259. package/src/RadioList/RadioList.test.tsx +22 -0
  260. package/src/RadioList/RadioList.tsx +4 -1
  261. package/src/RadioList/RadioListItem.doc.mjs +16 -0
  262. package/src/RadioList/RadioListItem.tsx +10 -1
  263. package/src/SideNav/SideNav.test.tsx +179 -0
  264. package/src/SideNav/SideNavItem.doc.mjs +2 -2
  265. package/src/SideNav/SideNavItem.tsx +96 -17
  266. package/src/Slider/Slider.spec.md +39 -18
  267. package/src/TabList/TabList.spec.md +57 -44
  268. package/src/TabList/TabList.test.tsx +67 -0
  269. package/src/TabList/TabMenu.doc.mjs +4 -3
  270. package/src/TabList/TabMenu.tsx +7 -4
  271. package/src/Text/Text.test.tsx +57 -0
  272. package/src/Text/Text.tsx +6 -2
  273. package/src/Text/useTruncation.test.tsx +69 -0
  274. package/src/Text/useTruncation.ts +16 -5
  275. package/src/TimeInput/TimeInput.fr10.test.tsx +15 -0
  276. package/src/ToggleButton/ToggleButton.test.tsx +95 -0
  277. package/src/ToggleButton/ToggleButton.tsx +12 -1
  278. package/src/Tooltip/Tooltip.test.tsx +31 -0
  279. package/src/TopNav/TopNavMegaMenu.test.tsx +22 -0
  280. package/src/TopNav/TopNavMegaMenu.tsx +7 -3
  281. package/src/TopNav/TopNavMenu.test.tsx +19 -0
  282. package/src/TopNav/TopNavMenu.tsx +11 -3
  283. package/src/TreeList/TreeList.doc.mjs +1 -0
  284. package/src/TreeList/TreeList.spec.md +29 -17
  285. package/src/TreeList/TreeList.test.tsx +327 -6
  286. package/src/TreeList/TreeList.tsx +5 -1
  287. package/src/TreeList/TreeListBranches.tsx +6 -0
  288. package/src/TreeList/TreeListItem.tsx +88 -13
  289. package/src/docPropLiterals.test.ts +36 -10
  290. package/src/hooks/useEntryAnimation.doc.mjs +4 -4
  291. package/src/hooks/useEntryAnimation.ssr.test.tsx +143 -0
  292. package/src/hooks/useEntryAnimation.ts +15 -16
  293. package/src/hooks/useIsHydrating.test.tsx +70 -0
  294. package/src/hooks/useIsHydrating.ts +31 -0
  295. package/src/hooks/useMenuHover.ts +18 -13
  296. package/src/i18n/generated-locales/en.generated.ts +100 -0
  297. package/src/i18n/generated-locales/pseudo.generated.ts +100 -0
  298. package/src/index.ts +1 -0
  299. package/src/postinstall.test.mjs +46 -0
  300. package/src/reset.css +0 -29
  301. package/src/theme/derivedVarRegistry.test.ts +7 -3
  302. package/src/theme/derivedVarRegistry.ts +0 -3
  303. package/src/utils/focusOutline.stylex.ts +4 -0
  304. package/src/utils/plainDate.test.ts +37 -1
  305. package/src/utils/plainDate.ts +15 -5
  306. package/src/utils/sharedMutationObserver.test.ts +53 -0
  307. package/src/utils/sharedMutationObserver.ts +78 -0
@@ -32,6 +32,27 @@ import { createLayerScopedContext } from "../Layer/layerScopedContext.js";
32
32
  * @internal
33
33
  */
34
34
 
35
+ /**
36
+ * Whether the root menu of this layer tree is open; internal companion to
37
+ * `DropdownMenuContext`, on its own unexported context so the public
38
+ * `DropdownMenuContextValue` surface stays unchanged. A sub-menu's hover
39
+ * intent must die with the menu: a hover-open scheduled on its trigger
40
+ * before the menu closed from elsewhere would otherwise fire into the
41
+ * hidden menu and reopen the flyout behind it (#6893). `null` means no
42
+ * signal, treated as open, matching providers that have no state to give.
43
+ * @internal
44
+ */
45
+ export const DropdownMenuRootOpenContext = createLayerScopedContext(null);
46
+ DropdownMenuRootOpenContext.displayName = 'DropdownMenuRootOpenContext';
47
+
48
+ /**
49
+ * Whether the root menu backing these compound items is open. True when no
50
+ * provider gave a signal.
51
+ * @internal
52
+ */
53
+ export function useDropdownMenuRootOpen() {
54
+ return use(DropdownMenuRootOpenContext) !== false;
55
+ }
35
56
  export const DropdownMenuContext = createLayerScopedContext(null);
36
57
  DropdownMenuContext.displayName = 'DropdownMenuContext';
37
58
 
@@ -1,5 +1,5 @@
1
1
  import type { BaseProps } from '../BaseProps';
2
- export interface DropdownMenuDividerProps extends Pick<BaseProps, 'xstyle' | 'className' | 'style'> {
2
+ export interface DropdownMenuDividerProps extends Omit<BaseProps<HTMLDivElement>, 'role' | 'aria-orientation'> {
3
3
  /** Ref forwarded to the separator element. */
4
4
  ref?: React.Ref<HTMLDivElement>;
5
5
  }
@@ -7,7 +7,9 @@ export interface DropdownMenuDividerProps extends Pick<BaseProps, 'xstyle' | 'cl
7
7
  * A horizontal rule separating groups of menu rows.
8
8
  *
9
9
  * Renders `role="separator"`, so it is never a stop in the menu's arrow-key
10
- * order. Equivalent to `{type: 'divider'}` in the `items` data API.
10
+ * order. Equivalent to `{type: 'divider'}` in the `items` data API. Host
11
+ * attributes (`id`, `data-*`, `aria-*`) and DOM handlers reach the separator;
12
+ * its role and orientation stay component-owned.
11
13
  *
12
14
  * @example
13
15
  * ```
@@ -18,7 +20,7 @@ export interface DropdownMenuDividerProps extends Pick<BaseProps, 'xstyle' | 'cl
18
20
  * </DropdownMenu>
19
21
  * ```
20
22
  */
21
- export declare function DropdownMenuDivider({ xstyle, className, style, ref, }: DropdownMenuDividerProps): import("react").JSX.Element;
23
+ export declare function DropdownMenuDivider({ xstyle, className, style, ref, ...rest }: DropdownMenuDividerProps): import("react").JSX.Element;
22
24
  export declare namespace DropdownMenuDivider {
23
25
  var displayName: string;
24
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuDivider.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuDivider.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,SAAS,EACT,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC;IACC,8CAA8C;IAC9C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,GACJ,EAAE,wBAAwB,+BAW1B;yBAhBe,mBAAmB"}
1
+ {"version":3,"file":"DropdownMenuDivider.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuDivider.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,SAAS,CAAC,cAAc,CAAC,EACzB,MAAM,GAAG,kBAAkB,CAC5B;IACC,8CAA8C;IAC9C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,wBAAwB,+BAY1B;yBAlBe,mBAAmB"}
@@ -4,7 +4,7 @@
4
4
 
5
5
  /**
6
6
  * @file DropdownMenuDivider.tsx
7
- * @input Uses Divider, spacing tokens, themeProps
7
+ * @input Uses Divider, spacing tokens, themeProps; forwards host props to Divider
8
8
  * @output Exports DropdownMenuDivider component and DropdownMenuDividerProps
9
9
  * @position Sub-component; used inside DropdownMenu
10
10
  *
@@ -39,7 +39,9 @@ const THEME_CLASS_NAME = themeProps('dropdown-menu-divider').className;
39
39
  * A horizontal rule separating groups of menu rows.
40
40
  *
41
41
  * Renders `role="separator"`, so it is never a stop in the menu's arrow-key
42
- * order. Equivalent to `{type: 'divider'}` in the `items` data API.
42
+ * order. Equivalent to `{type: 'divider'}` in the `items` data API. Host
43
+ * attributes (`id`, `data-*`, `aria-*`) and DOM handlers reach the separator;
44
+ * its role and orientation stay component-owned.
43
45
  *
44
46
  * @example
45
47
  * ```
@@ -54,9 +56,11 @@ export function DropdownMenuDivider({
54
56
  xstyle,
55
57
  className,
56
58
  style,
57
- ref
59
+ ref,
60
+ ...rest
58
61
  }) {
59
62
  return /*#__PURE__*/_jsx(Divider, {
63
+ ...rest,
60
64
  ref: ref,
61
65
  xstyle: [styles.divider, xstyle],
62
66
  className: className ? `${THEME_CLASS_NAME} ${className}` : THEME_CLASS_NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuSubMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuSubMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,KAAK,EAAE,EASZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAuB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AA0B5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA0J5C,MAAM,MAAM,+BAA+B,GACzC,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAErC,UAAU,4BAA6B,SAAQ,IAAI,CACjD,SAAS,EACT,MAAM,GAAG,UAAU,CACpB;IACC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,+BAA+B,CAAC;IAC/C,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B;IAC5E;;;;;;;;OAQG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,GAC9B,SAAS,CAgkBX;yBAlkBe,mBAAmB"}
1
+ {"version":3,"file":"DropdownMenuSubMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuSubMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,KAAK,EAAE,EASZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAuB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AA0B5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4J5C,MAAM,MAAM,+BAA+B,GACzC,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAErC,UAAU,4BAA6B,SAAQ,IAAI,CACjD,SAAS,EACT,MAAM,GAAG,UAAU,CACpB;IACC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,+BAA+B,CAAC;IAC/C,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B;IAC5E;;;;;;;;OAQG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,GAC9B,SAAS,CA4kBX;yBA9kBe,mBAAmB"}
@@ -71,7 +71,7 @@ import { composeEventHandlers, mergeProps, rtlStyles } from "../utils/index.js";
71
71
  import { useMergedRefs } from "../hooks/useMergedRefs.js";
72
72
  import { themeProps } from "../utils/themeProps.js";
73
73
  import { MENU_ITEM_ROLES, MENU_ITEM_SELECTOR, MENU_BOUNDARY_SELECTOR, activateMenuItem } from "./menuItemRoles.js";
74
- import { DropdownMenuContext, useDropdownMenuContext } from "./DropdownMenuContext.js";
74
+ import { DropdownMenuContext, DropdownMenuRootOpenContext, useDropdownMenuContext, useDropdownMenuRootOpen } from "./DropdownMenuContext.js";
75
75
  import { focusMenuItemOnHover } from "./menuItemHover.js";
76
76
  import { DropdownMenuItem } from "./DropdownMenuItem.js";
77
77
  import { useTranslator } from "../i18n/index.js";
@@ -280,7 +280,11 @@ export function DropdownMenuSubMenu(props) {
280
280
  // Hover intent and the shared hover→click guard only: this level owns its own
281
281
  // click handling, roving focus and typeahead. popover="manual", so the
282
282
  // invoker wiring other consumers need does not apply. A drill-in row has no
283
- // hover: a finger drives it, and a press opens it.
283
+ // hover: a finger drives it, and a press opens it. Hover is also gated on
284
+ // the root menu being open, so a hover-open scheduled before the menu
285
+ // closed from elsewhere is cancelled instead of firing into the hidden
286
+ // menu (#6893).
287
+ const isRootMenuOpen = useDropdownMenuRootOpen();
284
288
  const {
285
289
  triggerProps,
286
290
  contentProps,
@@ -289,7 +293,7 @@ export function DropdownMenuSubMenu(props) {
289
293
  show: showLayer,
290
294
  hide: hideLayer,
291
295
  isOpen: isFlyoutOpen,
292
- isEnabled: canOpen && !isDrillIn,
296
+ isEnabled: canOpen && !isDrillIn && isRootMenuOpen,
293
297
  // The safe triangle toward the flyout's near edge is built from the
294
298
  // flyout this component renders, not the hook's own list ref.
295
299
  flyoutRef: menuRef
@@ -565,7 +569,7 @@ export function DropdownMenuSubMenu(props) {
565
569
  });
566
570
  const resolvedMenuWidth = menuWidth ? resolveMenuWidth(menuWidth, layerViewportInset.maxInlineSizeFallback) : null;
567
571
  const popoverXstyle = resolvedMenuWidth ? resolvedMenuWidth.property === 'inlineSize' ? flyoutStyles.popoverCustomIntrinsicWidth(resolvedMenuWidth.value) : flyoutStyles.popoverCustomWidth(resolvedMenuWidth.value) : flyoutStyles.popover;
568
- const nestedContent = /*#__PURE__*/_jsxs(DropdownMenuContext, {
572
+ const nestedRows = /*#__PURE__*/_jsxs(DropdownMenuContext, {
569
573
  value: nestedMenuContext,
570
574
  children: [isDrillIn && /*#__PURE__*/_jsx(DropdownMenuItem, {
571
575
  icon: /*#__PURE__*/_jsx(Icon, {
@@ -581,6 +585,13 @@ export function DropdownMenuSubMenu(props) {
581
585
  })
582
586
  }), children]
583
587
  });
588
+ // Nested rows live in this level's flyout, a layer of their own where the
589
+ // layer-scoped signal resets; re-provide it so their pending hover intent
590
+ // dies with the root menu too.
591
+ const nestedContent = /*#__PURE__*/_jsx(DropdownMenuRootOpenContext, {
592
+ value: isRootMenuOpen,
593
+ children: nestedRows
594
+ });
584
595
  return /*#__PURE__*/_jsxs(_Fragment, {
585
596
  children: [/*#__PURE__*/_jsx(Item
586
597
  // Host attributes and handlers first: the row's role, tab stop, popup
@@ -659,16 +670,16 @@ export function DropdownMenuSubMenu(props) {
659
670
  ...menuPress.menuProps,
660
671
  ...mergeProps(themeProps('dropdown-menu'), {
661
672
  0: {
662
- className: "x9f619 x78zum5 xdt5ytf x1lsbc85 x1p5vr2b x1uh1i8a x1fcsqxe xgory14 x9epnlk x1n97fys x1prclbq x1i5ehqx x1hc1fzr x19991ni xuedmi6 xlr8y92 xpdipgo x87ps6o x1j4r261"
673
+ className: "x9f619 x78zum5 xdt5ytf x1lsbc85 xc0b1yq x1uh1i8a x1fcsqxe xgory14 x9epnlk x1n97fys x1prclbq x1i5ehqx x1hc1fzr x19991ni xuedmi6 xlr8y92 xpdipgo x87ps6o x1j4r261"
663
674
  },
664
675
  2: {
665
- className: "x9f619 x78zum5 xdt5ytf x1lsbc85 x1p5vr2b x1uh1i8a x1fcsqxe xgory14 x9epnlk x1n97fys x1prclbq x1i5ehqx x1hc1fzr x19991ni xuedmi6 xlr8y92 xpdipgo x87ps6o xge0x1e xish69e"
676
+ className: "x9f619 x78zum5 xdt5ytf x1lsbc85 xc0b1yq x1uh1i8a x1fcsqxe xgory14 x9epnlk x1n97fys x1prclbq x1i5ehqx x1hc1fzr x19991ni xuedmi6 xlr8y92 xpdipgo x87ps6o xge0x1e xish69e"
666
677
  },
667
678
  1: {
668
- className: "x9f619 x78zum5 xdt5ytf x1lsbc85 x1p5vr2b x1uh1i8a x1fcsqxe xgory14 x9epnlk x1n97fys x1prclbq x1i5ehqx x1hc1fzr x19991ni xuedmi6 xlr8y92 xpdipgo x87ps6o x1j4r261 x1odjw0f x6ikm8r xish69e"
679
+ className: "x9f619 x78zum5 xdt5ytf x1lsbc85 xc0b1yq x1uh1i8a x1fcsqxe xgory14 x9epnlk x1n97fys x1prclbq x1i5ehqx x1hc1fzr x19991ni xuedmi6 xlr8y92 xpdipgo x87ps6o x1j4r261 x1odjw0f x6ikm8r xish69e"
669
680
  },
670
681
  3: {
671
- className: "x9f619 x78zum5 xdt5ytf x1lsbc85 x1p5vr2b x1uh1i8a x1fcsqxe xgory14 x9epnlk x1n97fys x1prclbq x1i5ehqx x1hc1fzr x19991ni xuedmi6 xlr8y92 xpdipgo x87ps6o xge0x1e x1odjw0f x6ikm8r xish69e"
682
+ className: "x9f619 x78zum5 xdt5ytf x1lsbc85 xc0b1yq x1uh1i8a x1fcsqxe xgory14 x9epnlk x1n97fys x1prclbq x1i5ehqx x1hc1fzr x19991ni xuedmi6 xlr8y92 xpdipgo x87ps6o xge0x1e x1odjw0f x6ikm8r xish69e"
672
683
  }
673
684
  }[!!hasOverflow << 1 | !!hasOverflow << 0]),
674
685
  children: nestedContent
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @file lazyMenuBottomSheet.ts
3
+ * @input Uses React lazy and Suspense, useIsHydrating, MenuBottomSheet, and
4
+ * MenuBottomSheetActionList
5
+ * @output Exports MenuBottomSheet and MenuBottomSheetActionList wrappers that
6
+ * load the touch sheet on first render
7
+ * @position Internal to DropdownMenu
8
+ *
9
+ * The touch sheet (BottomSheet, its gestures, and the touch action list) only
10
+ * renders for the bottom-sheet presentation. Loading it on demand keeps it out
11
+ * of pages whose dropdowns only open as anchored popovers. Each wrapper keeps
12
+ * the wrapped component's props and renders nothing until its module loads.
13
+ *
14
+ * Neither wrapper renders on the server or in the render that hydrates server
15
+ * HTML (spec:AST-013 FR9): a lazy component that has not loaded yet would
16
+ * leave server markup incomplete and abort hydration. The closed sheet has no
17
+ * visible markup, so it first renders right after hydration.
18
+ */
19
+ import { type ComponentProps, type ReactElement } from 'react';
20
+ import type { MenuBottomSheet as EagerMenuBottomSheet } from './MenuBottomSheet';
21
+ import type { MenuBottomSheetActionList as EagerMenuBottomSheetActionList } from './MenuBottomSheetActionList';
22
+ export declare function MenuBottomSheet(props: ComponentProps<typeof EagerMenuBottomSheet>): ReactElement | null;
23
+ export declare function MenuBottomSheetActionList(props: ComponentProps<typeof EagerMenuBottomSheetActionList>): ReactElement | null;
24
+ //# sourceMappingURL=lazyMenuBottomSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazyMenuBottomSheet.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/lazyMenuBottomSheet.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,eAAe,IAAI,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAC,yBAAyB,IAAI,8BAA8B,EAAC,MAAM,6BAA6B,CAAC;AAc7G,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,CAAC,OAAO,oBAAoB,CAAC,GACjD,YAAY,GAAG,IAAI,CASrB;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,cAAc,CAAC,OAAO,8BAA8B,CAAC,GAC3D,YAAY,GAAG,IAAI,CASrB"}
@@ -0,0 +1,46 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file lazyMenuBottomSheet.ts
7
+ * @input Uses React lazy and Suspense, useIsHydrating, MenuBottomSheet, and
8
+ * MenuBottomSheetActionList
9
+ * @output Exports MenuBottomSheet and MenuBottomSheetActionList wrappers that
10
+ * load the touch sheet on first render
11
+ * @position Internal to DropdownMenu
12
+ *
13
+ * The touch sheet (BottomSheet, its gestures, and the touch action list) only
14
+ * renders for the bottom-sheet presentation. Loading it on demand keeps it out
15
+ * of pages whose dropdowns only open as anchored popovers. Each wrapper keeps
16
+ * the wrapped component's props and renders nothing until its module loads.
17
+ *
18
+ * Neither wrapper renders on the server or in the render that hydrates server
19
+ * HTML (spec:AST-013 FR9): a lazy component that has not loaded yet would
20
+ * leave server markup incomplete and abort hydration. The closed sheet has no
21
+ * visible markup, so it first renders right after hydration.
22
+ */
23
+ import { createElement, lazy, Suspense } from 'react';
24
+ import { useIsHydrating } from "../hooks/useIsHydrating.js";
25
+ const LazyMenuBottomSheet = /*#__PURE__*/lazy(async () => import("./MenuBottomSheet.js").then(module => ({
26
+ default: module.MenuBottomSheet
27
+ })));
28
+ const LazyMenuBottomSheetActionList = /*#__PURE__*/lazy(async () => import("./MenuBottomSheetActionList.js").then(module => ({
29
+ default: module.MenuBottomSheetActionList
30
+ })));
31
+ export function MenuBottomSheet(props) {
32
+ if (useIsHydrating()) {
33
+ return null;
34
+ }
35
+ return /*#__PURE__*/createElement(Suspense, {
36
+ fallback: null
37
+ }, /*#__PURE__*/createElement(LazyMenuBottomSheet, props));
38
+ }
39
+ export function MenuBottomSheetActionList(props) {
40
+ if (useIsHydrating()) {
41
+ return null;
42
+ }
43
+ return /*#__PURE__*/createElement(Suspense, {
44
+ fallback: null
45
+ }, /*#__PURE__*/createElement(LazyMenuBottomSheetActionList, props));
46
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAgB,MAAM,OAAO,CAAC;AAQpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4D5C,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,EACP,YAAgB,EAChB,SAAiB,EACjB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BAwDjB;yBApEe,UAAU"}
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAgB,MAAM,OAAO,CAAC;AAQpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4D5C,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,EACP,YAAgB,EAChB,SAAiB,EACjB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BAoDjB;yBAhEe,UAAU"}
@@ -18,7 +18,7 @@ import { createElement } from 'react';
18
18
  import * as stylex from '@stylexjs/stylex';
19
19
  import "../theme/tokens.stylex.js";
20
20
  import { colorVars, spacingVars, fontWeightVars, typeScaleVars } from "../theme/tokens.stylex.js";
21
- import { mergeProps } from "../utils/index.js";
21
+ import { isRenderable, mergeProps } from "../utils/index.js";
22
22
  import { themeProps } from "../utils/themeProps.js";
23
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
24
  const styles = {
@@ -82,7 +82,7 @@ export function EmptyState({
82
82
  ...mergeProps(themeProps('empty-state', {
83
83
  variant: isCompact ? 'compact' : null
84
84
  }), stylex.props(styles.container, isCompact && styles.containerCompact, xstyle), className, style),
85
- children: [icon != null && /*#__PURE__*/_jsx("div", {
85
+ children: [isRenderable(icon) && /*#__PURE__*/_jsx("div", {
86
86
  "aria-hidden": "true",
87
87
  children: icon
88
88
  }), /*#__PURE__*/_jsxs("div", {
@@ -98,13 +98,7 @@ export function EmptyState({
98
98
  1: {
99
99
  className: "x1ghz6dp xjb2p0i x2mo6ok xf74fhv x1tgivj0 xcr08ib"
100
100
  }
101
- }[!!isCompact << 0]), title), description != null &&
102
- /*#__PURE__*/
103
- // Rendered as <div> (not <p>): description accepts ReactNode and a
104
- // <p> cannot legally contain block children, which causes hydration
105
- // mismatches. The StyleX style sets margin: 0, so appearance is
106
- // unchanged.
107
- _jsx("div", {
101
+ }[!!isCompact << 0]), title), isRenderable(description) && /*#__PURE__*/_jsx("div", {
108
102
  ...mergeProps(themeProps('empty-state-description', {
109
103
  variant: isCompact ? 'compact' : null
110
104
  }), {
@@ -117,7 +111,7 @@ export function EmptyState({
117
111
  }[!!isCompact << 0]),
118
112
  children: description
119
113
  })]
120
- }), actions != null && /*#__PURE__*/_jsx("div", {
114
+ }), isRenderable(actions) && /*#__PURE__*/_jsx("div", {
121
115
  ...{
122
116
  0: {
123
117
  className: "x78zum5 x1q0g3np x6s0dn4 x1txdalj xcsaf9d"
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @file Field.tsx
3
- * @input Uses React, HTMLAttributes, ReactNode, FieldLabel, IconType, useFieldStatusAnnouncement
3
+ * @input Uses React, StyleX, BaseProps, FieldLabel/FieldStatus, FormLayoutContext, Text, VisuallyHidden, theme/status utilities
4
4
  * @output Exports Field component, FieldProps
5
5
  * @position Core implementation; consumed by index.ts, tested by Field.test.tsx
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/Field/Field.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAM,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAGnE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AA8DtC,YAAY,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,OAAO,EACP,OAAO,EACP,YAAoB,EACpB,aAAa,EACb,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,aAA0B,EAC1B,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,UAAU,+BAkHZ;yBAxIe,KAAK"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/Field/Field.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAM,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAGnE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AA+DtC,YAAY,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,OAAO,EACP,OAAO,EACP,YAAoB,EACpB,aAAa,EACb,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,aAA0B,EAC1B,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,UAAU,+BA0HZ;yBAhJe,KAAK"}
@@ -4,7 +4,7 @@
4
4
 
5
5
  /**
6
6
  * @file Field.tsx
7
- * @input Uses React, HTMLAttributes, ReactNode, FieldLabel, IconType, useFieldStatusAnnouncement
7
+ * @input Uses React, StyleX, BaseProps, FieldLabel/FieldStatus, FormLayoutContext, Text, VisuallyHidden, theme/status utilities
8
8
  * @output Exports Field component, FieldProps
9
9
  * @position Core implementation; consumed by index.ts, tested by Field.test.tsx
10
10
  *
@@ -26,6 +26,7 @@ import { mergeProps } from "../utils/index.js";
26
26
  import { useDevWarning } from "../hooks/useDevWarning.js";
27
27
  import { FormLayoutContext } from "../FormLayout/FormLayoutContext.js";
28
28
  import { Text } from "../Text/index.js";
29
+ import { VisuallyHidden } from "../VisuallyHidden/index.js";
29
30
  import { themeProps } from "../utils/themeProps.js";
30
31
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
31
32
  const styles = {
@@ -140,10 +141,10 @@ export function Field({
140
141
  if (isHorizontalLabels) {
141
142
  return /*#__PURE__*/_jsxs("div", {
142
143
  ref: ref,
144
+ ...props,
143
145
  ...mergeProps(themeProps('field', {
144
146
  layout: 'horizontal-labels'
145
147
  }), stylex.props(styles.horizontalLabels, xstyle), className, style),
146
- ...props,
147
148
  children: [/*#__PURE__*/_jsx("div", {
148
149
  ...{
149
150
  className: "x1enrzb7"
@@ -153,12 +154,15 @@ export function Field({
153
154
  ...{
154
155
  className: "x78zum5 xdt5ytf xc8icb0 x19nvjgn xlumz0n x1qs65gq"
155
156
  },
156
- children: [description && /*#__PURE__*/_jsx(Text, {
157
+ children: [description && (isLabelHidden ? /*#__PURE__*/_jsx(VisuallyHidden, {
158
+ id: resolvedDescriptionID,
159
+ children: description
160
+ }) : /*#__PURE__*/_jsx(Text, {
157
161
  type: "supporting",
158
162
  display: "block",
159
163
  id: resolvedDescriptionID,
160
164
  children: description
161
- }), children, statusNode]
165
+ })), children, statusNode]
162
166
  })]
163
167
  });
164
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GridSpan.d.ts","sourceRoot":"","sources":["../../src/Grid/GridSpan.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAK5C,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,aAAa,+BAwBf;yBAjCe,QAAQ"}
1
+ {"version":3,"file":"GridSpan.d.ts","sourceRoot":"","sources":["../../src/Grid/GridSpan.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAK5C,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAeD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,aAAa,+BAwBf;yBAjCe,QAAQ"}
@@ -21,6 +21,7 @@ const baseStyles = {
21
21
  span: {
22
22
  k7Eaqz: "xeuugli",
23
23
  k1xSpc: "xrvj5dj",
24
+ kumcoG: "x1mkdm3x",
24
25
  kZKoxP: "x5yr21d",
25
26
  $$css: true
26
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../src/Heading/Heading.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAyB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACX,MAAM,gBAAgB,CAAC;AAkBxB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAG7C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAM5C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;AAQ/C,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,SAAS,CAAC,kBAAkB,CAAC,EAC7B,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACpC;;;OAGG;IACH,KAAK,EAAE,YAAY,CAAC;IAEpB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAE9C;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAWD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,kBAAkB,EAClB,KAAiB,EACjB,OAAiB,EACjB,QAAY,EACZ,kBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,OAAiB,EACjB,UAAkB,EAClB,gBAAwB,EACxB,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,YAAY,+BAkGd;yBAtHe,OAAO"}
1
+ {"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../src/Heading/Heading.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAyB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACX,MAAM,gBAAgB,CAAC;AAkBxB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAG7C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAM5C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;AAQ/C,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,SAAS,CAAC,kBAAkB,CAAC,EAC7B,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACpC;;;OAGG;IACH,KAAK,EAAE,YAAY,CAAC;IAEpB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAE9C;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAWD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,kBAAkB,EAClB,KAAiB,EACjB,OAAiB,EACjB,QAAY,EACZ,kBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,OAAiB,EACjB,UAAkB,EAClB,gBAAwB,EACxB,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,YAAY,+BAsGd;yBA1He,OAAO"}
@@ -105,9 +105,11 @@ export function Heading({
105
105
  // the closed built-in StyleX maps with an unknown name.
106
106
  const builtinType = type && isBuiltinHeadingType(type) ? type : undefined;
107
107
 
108
- // Truncation detection
108
+ // Truncation detection. Only the tooltip reads the measured overflow, so
109
+ // with the tooltip off the text is clipped by CSS alone and nothing is
110
+ // measured or observed.
109
111
  const truncation = useTruncation({
110
- maxLines
112
+ maxLines: hasTruncateTooltip === false ? 0 : maxLines
111
113
  });
112
114
 
113
115
  // Tooltip for truncated text
@@ -1 +1 @@
1
- {"version":3,"file":"useHoverCard.d.ts","sourceRoot":"","sources":["../../src/HoverCard/useHoverCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AA6BlC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE9B;;;OAGG;IACH,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtC;;;;OAIG;IACH,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEzC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;;OAOG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,SAAS,EACnB,KAAK,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,KAC5C,SAAS,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAyBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,CAic5E"}
1
+ {"version":3,"file":"useHoverCard.d.ts","sourceRoot":"","sources":["../../src/HoverCard/useHoverCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AA6BlC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE9B;;;OAGG;IACH,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtC;;;;OAIG;IACH,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEzC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;;OAOG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,SAAS,EACnB,KAAK,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,KAC5C,SAAS,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAyBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,CAyc5E"}
@@ -145,6 +145,14 @@ export function useHoverCard(options = {}) {
145
145
  isHoveringContentRef.current = false;
146
146
  hideLayer();
147
147
  }, [clearTimeouts, hideLayer]);
148
+
149
+ // The imperative hide. A card closed while the pointer rests on it unmounts
150
+ // without a mouseleave, so the content-hover latch is cleared here; left set,
151
+ // it would keep the trigger's next hover-open from closing on leave.
152
+ const hide = useCallback(() => {
153
+ isHoveringContentRef.current = false;
154
+ hideLayer();
155
+ }, [hideLayer]);
148
156
  const {
149
157
  isTouchPointerRef,
150
158
  isTouchInteraction,
@@ -291,7 +299,7 @@ export function useHoverCard(options = {}) {
291
299
  // clear it.
292
300
  const card = typeof document === 'undefined' ? null : document.getElementById(layerId);
293
301
  const hadFocus = card?.contains(document.activeElement) ?? false;
294
- hideLayer();
302
+ hide();
295
303
  if (hadFocus) {
296
304
  isEscapeDismissingRef.current = true;
297
305
  triggerRef.current?.focus();
@@ -448,6 +456,6 @@ export function useHoverCard(options = {}) {
448
456
  isOpen: isLayerOpen,
449
457
  renderHoverCard,
450
458
  show: showLayer,
451
- hide: hideLayer
459
+ hide
452
460
  };
453
461
  }
@@ -22,7 +22,7 @@
22
22
  */
23
23
  import { type ReactNode } from 'react';
24
24
  import type { BaseProps } from '../BaseProps';
25
- export type ItemAlign = 'center' | 'start';
25
+ export type ItemAlign = 'center' | 'start' | 'first-line';
26
26
  export type ItemDensity = 'compact' | 'balanced' | 'spacious';
27
27
  /**
28
28
  * How a swipe action looks: ordinary, the one you mean, the dangerous one.
@@ -111,7 +111,11 @@ export interface ItemProps extends BaseProps<HTMLElement> {
111
111
  */
112
112
  endContent?: ReactNode;
113
113
  /**
114
- * Vertical alignment of the start/end content slots.
114
+ * Vertical alignment of the start/end content slots. `center` centers each
115
+ * slot on the whole text block; `start` lines up slot tops with the text's
116
+ * top; `first-line` centers each slot on the label's first line, so a small
117
+ * mark (a status dot, a radio, a timestamp) stays level with the first line
118
+ * of a wrapped label. A slot taller than that line moves the text down.
115
119
  * @default 'center'
116
120
  */
117
121
  align?: ItemAlign;
@@ -1 +1 @@
1
- {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../src/Item/Item.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../src/Item/Item.tsx"],"names":[],"mappings":"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"}
package/dist/Item/Item.js CHANGED
@@ -108,6 +108,10 @@ const styles = {
108
108
  kGNEyG: "x1cy8zhl",
109
109
  $$css: true
110
110
  },
111
+ alignFirstLine: {
112
+ kGNEyG: "x1pha0wt",
113
+ $$css: true
114
+ },
111
115
  interactive: {
112
116
  kkrTdU: "x1ypdohk x16khyan",
113
117
  k1ekBW: "x15406qy",
@@ -359,8 +363,13 @@ export function Item({
359
363
  const innerContent = /*#__PURE__*/_jsxs(_Fragment, {
360
364
  children: [marker, startContent != null && /*#__PURE__*/_jsx("span", {
361
365
  ...{
362
- className: "x3psx0u x78zum5"
363
- },
366
+ 0: {
367
+ className: "x3psx0u x78zum5"
368
+ },
369
+ 1: {
370
+ className: "x3psx0u x78zum5 x6s0dn4 x4jt1l0 xk9ib7f x1xb3ux x1899uy6 x1xcinxp"
371
+ }
372
+ }[!!(align === 'first-line') << 0],
364
373
  children: startContent
365
374
  }), hasParentRole || isDelegate ?
366
375
  /*#__PURE__*/
@@ -444,10 +453,16 @@ export function Item({
444
453
  0: {
445
454
  className: "x3psx0u x78zum5 xvc5jky"
446
455
  },
456
+ 2: {
457
+ className: "x3psx0u x78zum5 xvc5jky x6s0dn4 x4jt1l0 xk9ib7f x1xb3ux x1899uy6 x1xcinxp"
458
+ },
447
459
  1: {
448
460
  className: "x3psx0u x78zum5 xvc5jky xbyyjgo"
461
+ },
462
+ 3: {
463
+ className: "x3psx0u x78zum5 xvc5jky x6s0dn4 x4jt1l0 xk9ib7f x1xb3ux x1899uy6 x1xcinxp xbyyjgo"
449
464
  }
450
- }[!!isDisabled << 0],
465
+ }[!!(align === 'first-line') << 1 | !!isDisabled << 0],
451
466
  children: endContent
452
467
  })]
453
468
  });
@@ -494,7 +509,7 @@ export function Item({
494
509
  ...mergeProps(themeProps('item', {
495
510
  density,
496
511
  align
497
- }), focusOutlineProps.focusWithin(styles.root, densityStyles[density], align === 'start' && styles.alignStart, isInteractive && styles.interactive, isInteractive && interactionOverlayStyles.backgroundColor, isLinkRoot && styles.linkRoot, isHighlighted && styles.highlighted, isSelected && styles.selected, isDisabled && !hasParentRole && styles.disabled, hasSwipe && styles.swipeRoot, xstyle), className, style),
512
+ }), focusOutlineProps.focusWithin(styles.root, densityStyles[density], align === 'start' && styles.alignStart, align === 'first-line' && styles.alignFirstLine, isInteractive && styles.interactive, isInteractive && interactionOverlayStyles.backgroundColor, isLinkRoot && styles.linkRoot, isHighlighted && styles.highlighted, isSelected && styles.selected, isDisabled && !hasParentRole && styles.disabled, hasSwipe && styles.swipeRoot, xstyle), className, style),
498
513
  role: role,
499
514
  onClick: rootOnClick,
500
515
  children: [/*#__PURE__*/_jsx(ItemDescriptionContext, {
@@ -1,7 +1,11 @@
1
1
  /**
2
2
  * The viewport gutter and the caps derived from it. Every value has an
3
- * `env()`-less fallback for engines without safe-area support; pair them with
4
- * `stylex.firstThatWorks(cap, capFallback)`.
3
+ * `env()`-less fallback for engines without safe-area support; pair them as
4
+ * `stylex.firstThatWorks(`calc(${cap})`, `calc(${capFallback})`)`. Pass
5
+ * each inside a `calc()` (or another function), never as a bare reference: a
6
+ * constant reference compiles to a `var()`, and `firstThatWorks` folds two
7
+ * `var()` arguments into one `var(cap, capFallback)` whose constant is never
8
+ * inlined, so every engine would take the fallback.
5
9
  */
6
10
  export declare const layerViewportInset: {
7
11
  /** Gutter from the block-start viewport edge. */
@@ -1 +1 @@
1
- {"version":3,"file":"layerViewportInset.stylex.d.ts","sourceRoot":"","sources":["../../src/Layer/layerViewportInset.stylex.ts"],"names":[],"mappings":"AAwDA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;IAC7B,iDAAiD;;IAEjD,+CAA+C;;IAE/C,+CAA+C;;IAE/C,gFAAgF;;;;;;IAMhF,iFAAiF;;;IAGjF,gFAAgF;;;CAGhF,CAAC"}
1
+ {"version":3,"file":"layerViewportInset.stylex.d.ts","sourceRoot":"","sources":["../../src/Layer/layerViewportInset.stylex.ts"],"names":[],"mappings":"AAwDA;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;IAC7B,iDAAiD;;IAEjD,+CAA+C;;IAE/C,+CAA+C;;IAE/C,gFAAgF;;;;;;IAMhF,iFAAiF;;;IAGjF,gFAAgF;;;CAGhF,CAAC"}
@@ -54,8 +54,12 @@ const GUTTER_BLOCK = `calc(max(${SPACING}, env(safe-area-inset-top, 0px), env(sa
54
54
 
55
55
  /**
56
56
  * The viewport gutter and the caps derived from it. Every value has an
57
- * `env()`-less fallback for engines without safe-area support; pair them with
58
- * `stylex.firstThatWorks(cap, capFallback)`.
57
+ * `env()`-less fallback for engines without safe-area support; pair them as
58
+ * `stylex.firstThatWorks(`calc(${cap})`, `calc(${capFallback})`)`. Pass
59
+ * each inside a `calc()` (or another function), never as a bare reference: a
60
+ * constant reference compiles to a `var()`, and `firstThatWorks` folds two
61
+ * `var()` arguments into one `var(cap, capFallback)` whose constant is never
62
+ * inlined, so every engine would take the fallback.
59
63
  */
60
64
  export const layerViewportInset = {
61
65
  gutterBlockStart: "calc(max(var(--spacing-4), env(safe-area-inset-top, 0px)) + var(--astryx-layer-inset-block-start, 0px))",
@@ -1 +1 @@
1
- {"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"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"}