@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
package/dist/astryx.css CHANGED
@@ -12,6 +12,7 @@
12
12
  @property --x---layout-alignment-width { syntax: "*"; inherits: false;}
13
13
  @property --x---layout-content-width { syntax: "*"; inherits: false;}
14
14
  @property --x-126w13d { syntax: "*"; inherits: false;}
15
+ @property --x-1xmrurk { syntax: "*"; inherits: false;}
15
16
  @property --x-4drmnv { syntax: "*"; inherits: false;}
16
17
  @property --x-animationDelay { syntax: "*"; inherits: false;}
17
18
  @property --x-aspectRatio { syntax: "*"; inherits: false;}
@@ -21,6 +22,7 @@
21
22
  @property --x-color { syntax: "*"; inherits: false;}
22
23
  @property --x-counterReset { syntax: "*"; inherits: false;}
23
24
  @property --x-fontSize { syntax: "*"; inherits: false;}
25
+ @property --x-fqzwsx { syntax: "*"; inherits: false;}
24
26
  @property --x-gap { syntax: "*"; inherits: false;}
25
27
  @property --x-gridAutoRows { syntax: "*"; inherits: false;}
26
28
  @property --x-gridTemplateColumns { syntax: "*"; inherits: false;}
@@ -132,6 +134,7 @@
132
134
  .xqxtgf4{--_input-clear-hit-content:none}
133
135
  .xtoycft{--_input-clear-hit-inset:0px}
134
136
  .xqlix59{--_item-description-color:var(--color-error)}
137
+ .x1nwg5ib{--_item-inset-inline:0px}
135
138
  .xw1s368{--_item-inset-inline:var(--spacing-2)}
136
139
  .x1ytau7y{--_item-inset-inline:var(--spacing-3)}
137
140
  .xufyqxy{--_item-label-color:var(--color-error)}
@@ -171,6 +174,7 @@
171
174
  .x1ur4yav{--_thumbnail-hit-inset:0px}
172
175
  .x87gnkx{--_toast-slide-y:calc(-1 * var(--spacing-2))}
173
176
  .x1heqljd{--_toast-slide-y:var(--spacing-2)}
177
+ .x70muob{--_tree-focus-z:auto}
174
178
  .x16bblx1{--button-focus-offset:var(--focus-outline-offset)}
175
179
  .x1v15ycx{--button-icon-only-aspect:1 / 1}
176
180
  .x1mtvhk1{--color-syntax-background:transparent}
@@ -413,6 +417,7 @@
413
417
  .x1mjsb9v:focus-within{--_reveal-delay:0s,0s}
414
418
  .xi33vf3:focus-within{--_reveal-opacity:1}
415
419
  .xoa21yc:focus-within{--_reveal-position:static}
420
+ .x1sk5w8o:focus-visible{--_tree-focus-z:2}
416
421
  .x11woleg:focus-visible{--indicator-color:var(--color-accent)}
417
422
  .x1i79oho.x1i79oho:hover:where(:not(:disabled,[aria-disabled="true"])){--indicator-color:var(--resize-hint-gate,var(--color-accent))}
418
423
  .x1qs65gq:has(> [data-size="lg"]){--_field-status-overlap:calc(var(--size-element-lg) / 2)}
@@ -680,6 +685,7 @@
680
685
  .xpqajaz:not(#\#):not(#\#):not(#\#){align-items:end}
681
686
  .xuk3077:not(#\#):not(#\#):not(#\#){align-items:flex-end}
682
687
  .x1cy8zhl:not(#\#):not(#\#):not(#\#){align-items:flex-start}
688
+ .x1h91t0o:not(#\#):not(#\#):not(#\#){align-items:inherit}
683
689
  .xaz6w31:not(#\#):not(#\#):not(#\#){align-items:last baseline}
684
690
  .x7a106z:not(#\#):not(#\#):not(#\#){align-items:start}
685
691
  .x1qjc9v5:not(#\#):not(#\#):not(#\#){align-items:stretch}
@@ -1040,6 +1046,7 @@
1040
1046
  .x1pmbctz:not(#\#):not(#\#):not(#\#){grid-template-columns:auto 1fr}
1041
1047
  .x1rkzygb:not(#\#):not(#\#):not(#\#){grid-template-columns:auto minmax(0,1fr)}
1042
1048
  .x1wthsqz:not(#\#):not(#\#):not(#\#){grid-template-columns:auto repeat(7,1fr)}
1049
+ .x1mkdm3x:not(#\#):not(#\#):not(#\#){grid-template-columns:minmax(0,1fr)}
1043
1050
  .x1mzazjb:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(7,1fr)}
1044
1051
  .x189bvgu:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
1045
1052
  .x1xx4m37:not(#\#):not(#\#):not(#\#){grid-template-columns:var(--_codeblock-gutter-width) 1fr}
@@ -1051,6 +1058,7 @@
1051
1058
  .xxydokm:not(#\#):not(#\#):not(#\#){hyphens:manual}
1052
1059
  .xtijo5x:not(#\#):not(#\#):not(#\#){inset-inline-end:0}
1053
1060
  .xz03a8w:not(#\#):not(#\#):not(#\#){inset-inline-end:2px}
1061
+ .x1woyocn:not(#\#):not(#\#):not(#\#){inset-inline-end:auto}
1054
1062
  .x13oyzgk:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--_textarea-inline-padding)}
1055
1063
  .xu9ngte:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--astryx-layer-inset-inline-end,0px)}
1056
1064
  .xy3asu9:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-1)}
@@ -1109,21 +1117,20 @@
1109
1117
  .x3ct3a4:not(#\#):not(#\#):not(#\#){list-style-type:none}
1110
1118
  .x14z9mp:not(#\#):not(#\#):not(#\#){margin-inline-end:0}
1111
1119
  .x11t971q:not(#\#):not(#\#):not(#\#){margin-inline-end:auto}
1112
- .x1cphv78:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * min(var(--_item-inset-inline),var(--container-padding-inline-end,0px)))}
1113
1120
  .x1fcf3bl:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--container-padding-inline-end,0px))}
1114
1121
  .x1kpg4um:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--layout-padding-inner-x,var(--spacing-4)))}
1115
1122
  .xkd40ry:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--spacing-1))}
1116
1123
  .x3kzqx6:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--spacing-2))}
1117
1124
  .xmequkd:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(var(--spacing-1) * -1)}
1125
+ .x144kxal:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(calc(var(--spacing-4) + max(var(--astryx-layer-inset-inline-start, 0px), var(--astryx-layer-inset-inline-end, 0px))));margin-inline-end:calc(calc(max(var(--spacing-4), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px)) + max(var(--astryx-layer-inset-inline-start, 0px), var(--astryx-layer-inset-inline-end, 0px))))}
1126
+ .x2gtn1o:not(#\#):not(#\#):not(#\#){margin-inline-end:max(var(--container-padding-inline-end,0px) - var(--_item-inset-inline),0px)}
1118
1127
  .xnur1sd:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--spacing-1)}
1119
1128
  .x1pezmd8:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--spacing-2)}
1120
1129
  .x1c9tiao:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--x-marginInlineEnd)}
1121
- .x1m9hk3x:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--x3pzc91,calc(var(--spacing-4) + max(var(--astryx-layer-inset-inline-start, 0px), var(--astryx-layer-inset-inline-end, 0px))))}
1122
1130
  .xa3ewmy:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(max(var(--spacing-4), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px)) + max(var(--astryx-layer-inset-inline-start, 0px), var(--astryx-layer-inset-inline-end, 0px)))}
1123
1131
  .x1qfufaz:not(#\#):not(#\#):not(#\#){margin-inline-start:-8px}
1124
1132
  .x1lziwak:not(#\#):not(#\#):not(#\#){margin-inline-start:0}
1125
1133
  .xvc5jky:not(#\#):not(#\#):not(#\#){margin-inline-start:auto}
1126
- .x1t1czy8:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * min(var(--_item-inset-inline),var(--container-padding-inline-start,0px)))}
1127
1134
  .xd10s4z:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--border-width))}
1128
1135
  .xojxgvx:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--container-padding-inline-start,0px))}
1129
1136
  .x1wim8z0:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--layout-padding-inner-x,var(--spacing-4)))}
@@ -1134,15 +1141,15 @@
1134
1141
  .x1idpjx9:not(#\#):not(#\#):not(#\#){margin-inline-start:calc((40px - min(var(--spacing-6),40px)) / 2 - var(--spacing-4))}
1135
1142
  .x1xrm450:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(var(--spacing-2) - var(--spacing-1) + 1px)}
1136
1143
  .x6w1cxl:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(var(--spacing-3) + var(--border-width) + var(--spacing-4))}
1144
+ .xpdk1p0:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(calc(var(--spacing-4) + max(var(--astryx-layer-inset-inline-start, 0px), var(--astryx-layer-inset-inline-end, 0px))));margin-inline-start:calc(calc(max(var(--spacing-4), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px)) + max(var(--astryx-layer-inset-inline-start, 0px), var(--astryx-layer-inset-inline-end, 0px))))}
1145
+ .xch736x:not(#\#):not(#\#):not(#\#){margin-inline-start:max(var(--container-padding-inline-start,0px) - var(--_item-inset-inline),0px)}
1137
1146
  .x13hpdyo:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--_avatar-group-overlap)}
1138
- .x12vn87o:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--_tree-indent,0px)}
1139
1147
  .xladpz9:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-0-5)}
1140
1148
  .x17lnmll:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-1-5)}
1141
1149
  .x11g1kdw:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-1)}
1142
1150
  .x6i7dpz:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-3)}
1143
1151
  .x1l10yog:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-6)}
1144
1152
  .x4lel18:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--x-marginInlineStart)}
1145
- .x1ey4id:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--x3pzc91,calc(var(--spacing-4) + max(var(--astryx-layer-inset-inline-start, 0px), var(--astryx-layer-inset-inline-end, 0px))))}
1146
1153
  .x1cytvie:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(max(var(--spacing-4), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px)) + max(var(--astryx-layer-inset-inline-start, 0px), var(--astryx-layer-inset-inline-end, 0px)))}
1147
1154
  .xkm2don:not(#\#):not(#\#):not(#\#){mask-image:linear-gradient(to bottom,transparent,black 24px)}
1148
1155
  .xw26lqc:not(#\#):not(#\#):not(#\#){mask-image:linear-gradient(to bottom,transparent,black 36px)}
@@ -1170,14 +1177,14 @@
1170
1177
  .x1i7u4iq:not(#\#):not(#\#):not(#\#){opacity:var(--_toast-swipe-opacity,1)}
1171
1178
  .x1clqncf:not(#\#):not(#\#):not(#\#){order:-1}
1172
1179
  .x1g77sc7:not(#\#):not(#\#):not(#\#){order:0}
1173
- .xb9bu2e:not(#\#):not(#\#):not(#\#){outline-color:var(--x18622n)}
1180
+ .x19bwoy8:not(#\#):not(#\#):not(#\#){outline-color:var(--focus-outline-color)}
1174
1181
  .x1wfwxd8:not(#\#):not(#\#):not(#\#){outline-offset:0}
1175
1182
  .x1kvmbwa:not(#\#):not(#\#):not(#\#){outline-offset:var(--_focus-outline-offset,0)}
1176
- .xgg8d26:not(#\#):not(#\#):not(#\#){outline-offset:var(--x8bm18s)}
1183
+ .x1eqjuhu:not(#\#):not(#\#):not(#\#){outline-offset:var(--focus-outline-offset)}
1177
1184
  .x1t137rt:not(#\#):not(#\#):not(#\#){outline-style:none}
1178
- .xy741jp:not(#\#):not(#\#):not(#\#){outline-style:var(--xy2juf7)}
1185
+ .x9ssot5:not(#\#):not(#\#):not(#\#){outline-style:var(--focus-outline-style)}
1179
1186
  .x1k57tk5:not(#\#):not(#\#):not(#\#){outline-width:0}
1180
- .x19wbafz:not(#\#):not(#\#):not(#\#){outline-width:var(--x1hdvljp)}
1187
+ .xak0ai5:not(#\#):not(#\#):not(#\#){outline-width:var(--focus-outline-width)}
1181
1188
  .x9y5y3v:not(#\#):not(#\#):not(#\#){overflow-clip-margin:1px}
1182
1189
  .xj0a0fe:not(#\#):not(#\#):not(#\#){overflow-wrap:anywhere}
1183
1190
  .x1mzt3pk:not(#\#):not(#\#):not(#\#){overflow-wrap:break-word}
@@ -1189,6 +1196,7 @@
1189
1196
  .x12frdag:not(#\#):not(#\#):not(#\#){padding-inline-end:calc(var(--container-padding-inline-end) - var(--border-width))}
1190
1197
  .x1ahicqp:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,0px),calc((100cqi - var(--layout-alignment-width)) / 2 + var(--container-padding-inline-end,0px)))}
1191
1198
  .xy07wb4:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,0px),calc(100cqi - var(--layout-alignment-width) + var(--container-padding-inline-end,0px)))}
1199
+ .x1pyz5s7:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,0px),var(--_item-inset-inline))}
1192
1200
  .x1g0rcpp:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--spacing-4),env(safe-area-inset-right,0px))}
1193
1201
  .x1p6hqjl:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--_tokenizer-end-lane-reserve,0px)}
1194
1202
  .x1by8st6:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--astryx-dialog-padding-inline-end,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-right,0px)))))}
@@ -1220,7 +1228,9 @@
1220
1228
  .x2a0j69:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(var(--spacing-2) - var(--spacing-1) + 1px)}
1221
1229
  .xhlv5e7:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,0px),calc((100cqi - var(--layout-alignment-width)) / 2 + var(--container-padding-inline-start,0px)))}
1222
1230
  .xxjme2g:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,0px),calc(100cqi - var(--layout-alignment-width) + var(--container-padding-inline-start,0px)))}
1231
+ .xua885n:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,0px),var(--_item-inset-inline))}
1223
1232
  .xf4btlh:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--spacing-4),env(safe-area-inset-left,0px))}
1233
+ .xw2xrtw:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--_tree-indent,0px)}
1224
1234
  .xqmdmw:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-left,0px)))))}
1225
1235
  .x1jni19p:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--astryx-number-input-padding-inline-start,var(--astryx-number-input-padding-inline,var(--astryx-number-input-padding,var(--spacing-2))))}
1226
1236
  .x1c35znw:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--container-padding-inline-start)}
@@ -1348,6 +1358,8 @@
1348
1358
  .xsqj5wx:not(#\#):not(#\#):not(#\#){transform:var(--x-transform)}
1349
1359
  .xd00j3c:not(#\#):not(#\#):not(#\#){transition-behavior:allow-discrete}
1350
1360
  .x5h36tt:not(#\#):not(#\#):not(#\#){transition-delay:.15s}
1361
+ .xf1rc6:not(#\#):not(#\#):not(#\#){transition-delay:0s,0s}
1362
+ .xostmdb:not(#\#):not(#\#):not(#\#){transition-delay:0s,var(--duration-medium)}
1351
1363
  .x1ahifba:not(#\#):not(#\#):not(#\#){transition-delay:0s}
1352
1364
  .x4avkj2:not(#\#):not(#\#):not(#\#){transition-delay:var(--_fade-delay,0s)}
1353
1365
  .x1rq8cwj:not(#\#):not(#\#):not(#\#){transition-delay:var(--_reveal-delay,0s,0s)}
@@ -1363,6 +1375,7 @@
1363
1375
  .x1tw3moq:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast),0s}
1364
1376
  .xuedmi6:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast)}
1365
1377
  .xgneliz:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-medium-min)}
1378
+ .x1eizr8u:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-medium),0s}
1366
1379
  .x80gvsz:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-medium)}
1367
1380
  .x1eaenvl:not(#\#):not(#\#):not(#\#){transition-property:background-color,border-color,color}
1368
1381
  .xts7igz:not(#\#):not(#\#):not(#\#){transition-property:background-color,border-color}
@@ -1385,6 +1398,7 @@
1385
1398
  .x1mpt4pi:not(#\#):not(#\#):not(#\#){transition-property:color,text-decoration}
1386
1399
  .xt3l3uh:not(#\#):not(#\#):not(#\#){transition-property:color}
1387
1400
  .xrgi2yo:not(#\#):not(#\#):not(#\#){transition-property:display}
1401
+ .x6kj92:not(#\#):not(#\#):not(#\#){transition-property:grid-template-rows,overflow}
1388
1402
  .xjshnde:not(#\#):not(#\#):not(#\#){transition-property:grid-template-rows,padding}
1389
1403
  .x1qn9uv2:not(#\#):not(#\#):not(#\#){transition-property:grid-template-rows}
1390
1404
  .x157bb6t:not(#\#):not(#\#):not(#\#){transition-property:mask-image}
@@ -1439,6 +1453,7 @@
1439
1453
  .xzkaem6:not(#\#):not(#\#):not(#\#){z-index:3}
1440
1454
  .x6cuj84:not(#\#):not(#\#):not(#\#){z-index:500}
1441
1455
  .x1q2oy4v:not(#\#):not(#\#):not(#\#){z-index:9999}
1456
+ .x6tapwc:not(#\#):not(#\#):not(#\#){z-index:var(--_tree-focus-z,auto)}
1442
1457
  .x1wphrdb[data-astryx-press="fading"]:not(#\#):not(#\#):not(#\#){--_press-overlay-transition:0s}
1443
1458
  .xbb2ue6[data-astryx-press="on"]:not(#\#):not(#\#):not(#\#){--_press-overlay-transition:0s}
1444
1459
  .x11z29ks[data-astryx-press="on"]:not(#\#):not(#\#):not(#\#){--astryx-press-alpha:1}
@@ -1477,6 +1492,8 @@
1477
1492
  .x1nwey30:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#){mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}
1478
1493
  .x8ulde1:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#){mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.3) 2px,black var(--spacing-1))}
1479
1494
  .x1rxa4r8:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#){mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}
1495
+ .x16lv2iq:not([stylex-hack]) > :is(img, video):not(#\#):not(#\#):not(#\#){object-fit:contain}
1496
+ .x492jj3:not([stylex-hack]) > :is(img, video):not(#\#):not(#\#):not(#\#){object-fit:cover}
1480
1497
  .x1euntei:focus-within:not(#\#):not(#\#):not(#\#){opacity:1}
1481
1498
  .x25t5g8:focus-visible:not(#\#):not(#\#):not(#\#){opacity:1}
1482
1499
  .xof6bs:is(th:hover *):not(#\#):not(#\#):not(#\#){opacity:1}
@@ -1532,6 +1549,9 @@
1532
1549
  .xxdn8bs:has(> div > .astryx-layout-content):not(#\#):not(#\#):not(#\#){padding-inline-end:max(0px,calc((100% - var(--layout-content-width)) / 2))}
1533
1550
  .xmnmr5y:has(.astryx-nav-icon):not(#\#):not(#\#):not(#\#){padding-inline-start:0}
1534
1551
  .x1vvd0s7:has(> div > .astryx-layout-content):not(#\#):not(#\#):not(#\#){padding-inline-start:max(0px,calc((100% - var(--layout-content-width)) / 2))}
1552
+ .x3x83r7:has(:focus-visible):not(#\#):not(#\#):not(#\#){z-index:2}
1553
+ .xbw113y:dir(rtl):not(#\#):not(#\#):not(#\#){transform:translateX(-100%)}
1554
+ .x1eqdj8u:dir(rtl):not(#\#):not(#\#):not(#\#){transform:translateX(100%)}
1535
1555
  .x1xrp5p4:first-child:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-element)}
1536
1556
  .xyf0ibl:first-child:not(#\#):not(#\#):not(#\#){border-inline-start-style:none}
1537
1557
  .x1pjv70x:first-child:not(#\#):not(#\#):not(#\#){border-inline-start-width:0}
@@ -1591,6 +1611,7 @@
1591
1611
  @media (pointer: coarse){.x1bjav06.x1bjav06:not(#\#):not(#\#):not(#\#){pointer-events:none}}
1592
1612
  @media (prefers-reduced-motion: reduce){.xg83hb1.xg83hb1:not(#\#):not(#\#):not(#\#){scroll-behavior:auto}}
1593
1613
  @media (forced-colors: active){.xrih18v.xrih18v:not(#\#):not(#\#):not(#\#){scrollbar-color:auto}}
1614
+ @media (prefers-reduced-motion: reduce){.x1k6wr6r.x1k6wr6r:not(#\#):not(#\#):not(#\#){transition-delay:0s,0s}}
1594
1615
  @media (prefers-reduced-motion: reduce){.xwgk2z2.xwgk2z2:not(#\#):not(#\#):not(#\#){transition-delay:var(--_reveal-delay-reduced,0s,0s)}}
1595
1616
  @media (prefers-reduced-motion: reduce){.xsagj69.xsagj69:not(#\#):not(#\#):not(#\#){transition-duration:.01ms}}
1596
1617
  @media (prefers-reduced-motion: reduce){.xzg1mie.xzg1mie:not(#\#):not(#\#):not(#\#){transition-duration:.01s}}
@@ -1757,6 +1778,7 @@
1757
1778
  .x6h7pi7:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--container-padding-block-end,0px))}
1758
1779
  .x1cdrix3:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--radius-chat))}
1759
1780
  .xdrfirk:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--spacing-1-5))}
1781
+ .x3z50q0:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(calc(var(--spacing-4) + max(var(--astryx-layer-inset-block-start, 0px), var(--astryx-layer-inset-block-end, 0px))));margin-bottom:calc(calc(max(var(--spacing-4), env(safe-area-inset-top, 0px), env(safe-area-inset-bottom, 0px)) + max(var(--astryx-layer-inset-block-start, 0px), var(--astryx-layer-inset-block-end, 0px))))}
1760
1782
  .xlstkdb:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-0-5)}
1761
1783
  .x14cgwvg:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-1)}
1762
1784
  .x1p37lm5:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-2)}
@@ -1764,7 +1786,6 @@
1764
1786
  .xwh1t77:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-4)}
1765
1787
  .x4d5cxa:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-6)}
1766
1788
  .xlm3tn6:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--x-marginBlockEnd)}
1767
- .x1chv945:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--x1ot8se4,calc(var(--spacing-4) + max(var(--astryx-layer-inset-block-start, 0px), var(--astryx-layer-inset-block-end, 0px))))}
1768
1789
  .x119uzjn:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(max(var(--spacing-4), env(safe-area-inset-top, 0px), env(safe-area-inset-bottom, 0px)) + max(var(--astryx-layer-inset-block-start, 0px), var(--astryx-layer-inset-block-end, 0px)))}
1769
1790
  .xdj266r:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:0}
1770
1791
  .xr1yuqi:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:auto}
@@ -1778,6 +1799,7 @@
1778
1799
  .x1ajqlyv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--spacing-2))}
1779
1800
  .x1oms9s6:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc((1em * var(--text-body-leading) - 20px) / 2)}
1780
1801
  .x1233pnv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc((1em * var(--text-body-leading) - 6px) / 2)}
1802
+ .x1j6tnbc:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(calc(var(--spacing-4) + max(var(--astryx-layer-inset-block-start, 0px), var(--astryx-layer-inset-block-end, 0px))));margin-top:calc(calc(max(var(--spacing-4), env(safe-area-inset-top, 0px), env(safe-area-inset-bottom, 0px)) + max(var(--astryx-layer-inset-block-start, 0px), var(--astryx-layer-inset-block-end, 0px))))}
1781
1803
  .xjc2qm6:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-0-5)}
1782
1804
  .xcsaf9d:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-1)}
1783
1805
  .xtbrsbv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-2)}
@@ -1785,7 +1807,6 @@
1785
1807
  .x1s1qpeq:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-4)}
1786
1808
  .x13rv44w:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-6)}
1787
1809
  .x1vhfslr:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--x-marginBlockStart)}
1788
- .x3390rn:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--x1ot8se4,calc(var(--spacing-4) + max(var(--astryx-layer-inset-block-start, 0px), var(--astryx-layer-inset-block-end, 0px))))}
1789
1810
  .x1lhixnp:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(max(var(--spacing-4), env(safe-area-inset-top, 0px), env(safe-area-inset-bottom, 0px)) + max(var(--astryx-layer-inset-block-start, 0px), var(--astryx-layer-inset-block-end, 0px)))}
1790
1811
  .xmz0i5r:not(#\#):not(#\#):not(#\#):not(#\#){max-height:100%}
1791
1812
  .x1wj9ous:not(#\#):not(#\#):not(#\#):not(#\#){max-height:100dvh}
@@ -1794,13 +1815,13 @@
1794
1815
  .xuyqlj2:not(#\#):not(#\#):not(#\#):not(#\#){max-height:300px}
1795
1816
  .xbhvqqn:not(#\#):not(#\#):not(#\#):not(#\#){max-height:calc(100% - var(--spacing-3))}
1796
1817
  .x14bu9tk:not(#\#):not(#\#):not(#\#):not(#\#){max-height:calc(92dvh + 48px)}
1818
+ .x3v4n1:not(#\#):not(#\#):not(#\#):not(#\#){max-height:calc(calc(100vh - var(--spacing-4) - var(--spacing-4) - var(--astryx-layer-inset-block-start, 0px) - var(--astryx-layer-inset-block-end, 0px)));max-height:calc(calc(100dvb - calc(max(var(--spacing-4), env(safe-area-inset-top, 0px)) + var(--astryx-layer-inset-block-start, 0px)) - calc(max(var(--spacing-4), env(safe-area-inset-bottom, 0px)) + var(--astryx-layer-inset-block-end, 0px))))}
1797
1819
  .x1uh1i8a:not(#\#):not(#\#):not(#\#):not(#\#){max-height:min(300px,calc(100vh - var(--spacing-4) - var(--spacing-4) - var(--astryx-layer-inset-block-start, 0px) - var(--astryx-layer-inset-block-end, 0px)));max-height:min(300px,calc(100dvb - calc(max(var(--spacing-4), env(safe-area-inset-top, 0px)) + var(--astryx-layer-inset-block-start, 0px)) - calc(max(var(--spacing-4), env(safe-area-inset-bottom, 0px)) + var(--astryx-layer-inset-block-end, 0px))))}
1798
1820
  .xpnbb6b:not(#\#):not(#\#):not(#\#):not(#\#){max-height:min(480px,calc(100vh - 32px))}
1799
1821
  .x7ab17h:not(#\#):not(#\#):not(#\#):not(#\#){max-height:none}
1800
1822
  .xenllk4:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--container-max-height,none)}
1801
1823
  .xbmfmqd:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--x-maxBlockSize)}
1802
1824
  .x1jols5v:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--x-maxHeight)}
1803
- .xv8yize:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--x17ekfff,calc(100vh - var(--spacing-4) - var(--spacing-4) - var(--astryx-layer-inset-block-start, 0px) - var(--astryx-layer-inset-block-end, 0px)))}
1804
1825
  .x1m189uc:not(#\#):not(#\#):not(#\#):not(#\#){max-width:0}
1805
1826
  .x193iq5w:not(#\#):not(#\#):not(#\#):not(#\#){max-width:100%}
1806
1827
  .xlbgzzq:not(#\#):not(#\#):not(#\#):not(#\#){max-width:100dvw}
@@ -1815,13 +1836,13 @@
1815
1836
  .x1ap80js:not(#\#):not(#\#):not(#\#):not(#\#){max-width:800px}
1816
1837
  .xq8v1hd:not(#\#):not(#\#):not(#\#):not(#\#){max-width:90%}
1817
1838
  .x1rfgw7b:not(#\#):not(#\#):not(#\#):not(#\#){max-width:calc(100% + var(--container-padding-inline-start,0px) + var(--container-padding-inline-end,0px))}
1839
+ .xc0b1yq:not(#\#):not(#\#):not(#\#):not(#\#){max-width:calc(calc(100vw - var(--spacing-4) - var(--spacing-4) - var(--astryx-layer-inset-inline-start, 0px) - var(--astryx-layer-inset-inline-end, 0px)));max-width:calc(calc(100vi - calc(max(var(--spacing-4), env(safe-area-inset-left, 0px)) + var(--astryx-layer-inset-inline-start, 0px)) - calc(max(var(--spacing-4), env(safe-area-inset-right, 0px)) + var(--astryx-layer-inset-inline-end, 0px))))}
1818
1840
  .xl6temz:not(#\#):not(#\#):not(#\#):not(#\#){max-width:max(80%,280px)}
1819
1841
  .x1m1aaou:not(#\#):not(#\#):not(#\#):not(#\#){max-width:min(960px,calc(100dvw - var(--spacing-4)))}
1820
1842
  .x1x1rfll:not(#\#):not(#\#):not(#\#):not(#\#){max-width:none}
1821
1843
  .xjl2t3p:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--layout-content-width,none)}
1822
1844
  .x1jys5uj:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--size-element-md)}
1823
1845
  .xf68679:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--x-maxWidth)}
1824
- .x1p5vr2b:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--xdig2zt,calc(100vw - var(--spacing-4) - var(--spacing-4) - var(--astryx-layer-inset-inline-start, 0px) - var(--astryx-layer-inset-inline-end, 0px)))}
1825
1846
  .x2lwn1j:not(#\#):not(#\#):not(#\#):not(#\#){min-height:0}
1826
1847
  .x1us19tq:not(#\#):not(#\#):not(#\#):not(#\#){min-height:100%}
1827
1848
  .x1ov3xa9:not(#\#):not(#\#):not(#\#):not(#\#){min-height:100dvh}
@@ -1884,6 +1905,7 @@
1884
1905
  .x1j85h84:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:1px}
1885
1906
  .x1wkw6tp:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(env(safe-area-inset-bottom,0px) + 48px)}
1886
1907
  .x9jihrk:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--_chat-composer-padding) + var(--_chat-composer-radius))}
1908
+ .xvmia7e:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--container-padding-block-end,0px) + env(safe-area-inset-bottom,0px))}
1887
1909
  .xbv1mwh:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--container-padding-block-end) - var(--border-width))}
1888
1910
  .xxbfulo:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--spacing-3) + var(--radius-chat))}
1889
1911
  .xwhchk8:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:max(var(--_tab-strip-bleed),calc(-1 * var(--_tab-indicator-bottom,-1px)))}
@@ -2004,14 +2026,17 @@
2004
2026
  .xgc8j7m:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-8)}
2005
2027
  .xta46cu:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--text-large-size)}
2006
2028
  .x5livx5:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--text-supporting-size)}
2029
+ .x11ymkkh:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-1xmrurk)}
2007
2030
  .x1uyokj7:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-inlineSize)}
2008
2031
  .x5lhr3w:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-width)}
2009
2032
  .x1wp2rvj.x1wp2rvj:where(.x139im0d:last-child *):not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:0}
2033
+ .x1m6kvgq:not([stylex-hack]) > *:not(#\#):not(#\#):not(#\#):not(#\#){height:100%}
2010
2034
  .x1vonza8.x1vonza8:where(.astryx-input-group > *):not(#\#):not(#\#):not(#\#):not(#\#){height:100%}
2011
2035
  .x132qfvm:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){height:auto}
2012
2036
  .xsg11nj.xsg11nj:where(.x-default-marker:has(> .astryx-layout-footer:not([data-divider])) *):not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}
2013
2037
  .x1ioh5az.x1ioh5az:where(.x-default-marker:has(> .astryx-layout-header:not([data-divider])) *):not(#\#):not(#\#):not(#\#):not(#\#){padding-top:0}
2014
2038
  .x1kw28su:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-1)}
2039
+ .xyz6fim:not([stylex-hack]) > *:not(#\#):not(#\#):not(#\#):not(#\#){width:100%}
2015
2040
  .x10okhzq:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){width:auto}
2016
2041
  .x5du68j:has(~ * [data-chat-name]):not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-5)}
2017
2042
  .xzzx6db:has([role="radio"]:not([aria-label])):not(#\#):not(#\#):not(#\#):not(#\#){max-width:100%}
@@ -2041,6 +2066,7 @@
2041
2066
  @media (pointer: coarse){.x1xrq5m.x1xrq5m:not(#\#):not(#\#):not(#\#):not(#\#){min-width:44px}}
2042
2067
  @media (pointer: coarse){.xngvp7v.xngvp7v:not(#\#):not(#\#):not(#\#):not(#\#){min-width:44px}}
2043
2068
  @media (any-pointer: coarse){.x1c4064q.x1c4064q:not(#\#):not(#\#):not(#\#):not(#\#){width:24px}}
2069
+ @media (max-width: 640px){.xci7e5a.xci7e5a:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-fqzwsx)}}
2044
2070
  @supports (-webkit-touch-callout: none){@media (pointer: coarse){.x9w4715.x9w4715.x9w4715:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(max(1rem,var(--text-body-size)) * var(--text-body-leading));height:1lh}}}
2045
2071
  .x8s9nux[data-astryx-press="fading"]:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){animation-duration:.2s}
2046
2072
  .xziyay6[data-astryx-press="fading"]:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){animation-fill-mode:both}
@@ -2073,6 +2099,8 @@
2073
2099
  .xubczrd.xubczrd:where(:not(:disabled,[aria-disabled="true"]))[data-astryx-press="fading"]:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){background-image:var(--_press-paint-image)}
2074
2100
  @starting-style{.x1lymnkk.x1lymnkk:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateX(-100%)}}
2075
2101
  @starting-style{.x14gflnl.x14gflnl:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateX(100%)}}
2102
+ @starting-style{.xrxqmjf.xrxqmjf:dir(rtl):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateX(-100%)}}
2103
+ @starting-style{.x1r0dqvm.x1r0dqvm:dir(rtl):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateX(100%)}}
2076
2104
  @media (forced-colors: active){.x1pjcgc3.x1pjcgc3[data-astryx-press="fading"]:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){background-color:Highlight}}
2077
2105
  @media (forced-colors: active){.x1r4mieh.x1r4mieh[data-astryx-press="on"]:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){background-color:Highlight}}
2078
2106
  .x1k48kgn:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{border-radius:inherit}
@@ -2083,6 +2111,7 @@
2083
2111
  .xd54j2p:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{inset-block:0}
2084
2112
  .xpsyfx0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{margin-block:0}
2085
2113
  .x1qqcexc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{margin-inline:0}
2114
+ .x1xb3ux:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{overflow:hidden}
2086
2115
  .x1x4c3m6:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{padding-block:0}
2087
2116
  .xtbxizx:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-datetime-edit{padding-block:0}
2088
2117
  @starting-style{.x5rzir7.x5rzir7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}}
@@ -2110,6 +2139,7 @@
2110
2139
  .xeyghm5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::placeholder{color:var(--color-text-secondary)}
2111
2140
  .x1cpjm7i:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{content:""}
2112
2141
  .x1s928wv:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{content:""}
2142
+ .x4jt1l0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{content:"\200B";content:"\200B" / ""}
2113
2143
  .x46gnpd:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{content:attr(data-line)}
2114
2144
  .x1mls8ih:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{content:counter(astryx-list, lower-alpha) "."}
2115
2145
  .xdaf9gw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{content:counter(astryx-list, lower-roman) "."}
@@ -2118,6 +2148,7 @@
2118
2148
  .xhkezso:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{display:block}
2119
2149
  .xolhmmf:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-calendar-picker-indicator{display:none}
2120
2150
  .x3nzp0f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{font-family:var(--font-family-code)}
2151
+ .x1899uy6:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{font-size:var(--text-body-size)}
2121
2152
  .xekda60:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{inset-inline-end:-2px}
2122
2153
  .x1unh1gc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{inset-inline-end:0}
2123
2154
  .xvw6utc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{inset-inline-start:-2px}
@@ -2125,6 +2156,7 @@
2125
2156
  .x1km86hw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{inset-inline-start:calc(var(--spacing-4) + var(--_codeblock-gutter-width) + var(--spacing-3))}
2126
2157
  .x15bqym3:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-datetime-edit{line-height:inherit}
2127
2158
  .x1f74mqm:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{line-height:inherit}
2159
+ .x1xcinxp:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{line-height:var(--text-body-leading)}
2128
2160
  .xph5o2a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:0}
2129
2161
  .xb3n6bw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:1}
2130
2162
  .xni466t:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:var(--_sheet-scrim-opacity,1)}
@@ -2183,6 +2215,7 @@
2183
2215
  .xec4aax:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{min-height:0}
2184
2216
  .x51xajf:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{top:-2px}
2185
2217
  .x1m1drc7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{top:0}
2218
+ .xk9ib7f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{width:0}
2186
2219
  .xkj6t0a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{width:0}
2187
2220
  .xzkji8o:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{width:6px}
2188
2221
  .xi8c0p9:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{width:var(--indicator-width,1px)}
@@ -4,7 +4,8 @@ export type EntryAnimationPreset = 'slideDown' | 'slideUp' | 'fadeIn' | 'scaleIn
4
4
  * Returns a StyleX style for animating an element on mount.
5
5
  *
6
6
  * Only animates when the element is dynamically inserted after the initial
7
- * page paint. Elements rendered on page load are not animated.
7
+ * page paint. Elements rendered on page load, including server-rendered
8
+ * elements while they hydrate, are not animated.
8
9
  *
9
10
  * @example
10
11
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"useEntryAnimation.d.ts","sourceRoot":"","sources":["../../src/hooks/useEntryAnimation.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAoFnD,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,GAAE,oBAAkC,GACzC,YAAY,GAAG,IAAI,CAGrB"}
1
+ {"version":3,"file":"useEntryAnimation.d.ts","sourceRoot":"","sources":["../../src/hooks/useEntryAnimation.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAgFnD,MAAM,MAAM,oBAAoB,GAC9B,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,GAAE,oBAAkC,GACzC,YAAY,GAAG,IAAI,CAMrB"}
@@ -4,28 +4,26 @@
4
4
 
5
5
  /**
6
6
  * @file useEntryAnimation.ts
7
- * @input Uses React, StyleX, theme tokens
7
+ * @input Uses React, StyleX, theme tokens, useIsHydrating
8
8
  * @output Exports useEntryAnimation hook for mount-only entry animations
9
9
  * @position Hook utility; consumed by FieldStatus and available to consumers
10
10
  *
11
11
  * Provides entry animations for conditionally rendered elements.
12
12
  * Only animates when the element is dynamically mounted after the initial
13
13
  * page paint — statically rendered elements on page load are not animated.
14
+ * Server-rendered elements hydrate without the entry style and never play it
15
+ * (spec:AST-013 FR13).
14
16
  */
15
17
  import { useState } from 'react';
16
18
  import * as stylex from '@stylexjs/stylex';
17
19
  import "../theme/tokens.stylex.js";
18
20
  import { durationVars, easeVars, spacingVars } from "../theme/tokens.stylex.js";
21
+ import { useIsHydrating } from "./useIsHydrating.js";
19
22
 
20
- // Track whether the initial page paint has completed.
21
- // Elements rendered on page load should not animate;
22
- // only dynamically inserted ones should.
23
- //
24
- // NOTE: This module is marked 'use client' so it never runs on the server.
25
- // If the directive is removed, this flag will always be false during SSR,
26
- // and useState(() => initialPaintComplete) will capture false — meaning
27
- // animations won't run after hydration. Keep 'use client' or add an
28
- // effect-based fallback if SSR support is needed.
23
+ // Track whether the initial page paint has completed, so elements a
24
+ // client-only root renders on page load do not animate; only dynamically
25
+ // inserted ones should. Server-rendered elements are covered by
26
+ // useIsHydrating instead: hydration can run after this flag turns true.
29
27
  let initialPaintComplete = false;
30
28
  if (typeof window !== 'undefined') {
31
29
  requestAnimationFrame(() => {
@@ -70,7 +68,8 @@ const styles = {
70
68
  * Returns a StyleX style for animating an element on mount.
71
69
  *
72
70
  * Only animates when the element is dynamically inserted after the initial
73
- * page paint. Elements rendered on page load are not animated.
71
+ * page paint. Elements rendered on page load, including server-rendered
72
+ * elements while they hydrate, are not animated.
74
73
  *
75
74
  * @example
76
75
  * ```
@@ -79,6 +78,9 @@ const styles = {
79
78
  * ```
80
79
  */
81
80
  export function useEntryAnimation(preset = 'slideDown') {
82
- const [animate] = useState(() => initialPaintComplete);
81
+ const isHydrating = useIsHydrating();
82
+ // Captured once: a hydrated element must not start animating when React
83
+ // re-renders it with the client snapshot after hydration.
84
+ const [animate] = useState(() => !isHydrating && initialPaintComplete);
83
85
  return animate ? styles[preset] : null;
84
86
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns `true` during server render and during the client render that
3
+ * hydrates server HTML; `false` in every other client render.
4
+ */
5
+ export declare function useIsHydrating(): boolean;
6
+ //# sourceMappingURL=useIsHydrating.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsHydrating.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsHydrating.ts"],"names":[],"mappings":"AAwBA;;;GAGG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
@@ -0,0 +1,30 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file useIsHydrating.ts
7
+ * @input Uses React useSyncExternalStore
8
+ * @output Exports useIsHydrating (internal; not re-exported from hooks/index.ts)
9
+ * @position Internal utility; read by useEntryAnimation so markup that
10
+ * hydrates server HTML matches the server (spec:AST-013 FR9, FR13)
11
+ *
12
+ * React renders with the server snapshot on the server and again in the
13
+ * client render that hydrates server HTML, then re-renders with the client
14
+ * snapshot. Code that must render the server's markup while hydrating reads
15
+ * this instead of a first-paint flag, timer, animation frame, or mount Effect.
16
+ */
17
+ import { useSyncExternalStore } from 'react';
18
+
19
+ // Nothing ever changes, so there is nothing to subscribe to.
20
+ const subscribe = () => () => {};
21
+ const getSnapshot = () => false;
22
+ const getServerSnapshot = () => true;
23
+
24
+ /**
25
+ * Returns `true` during server render and during the client render that
26
+ * hydrates server HTML; `false` in every other client render.
27
+ */
28
+ export function useIsHydrating() {
29
+ return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
30
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuHover.d.ts","sourceRoot":"","sources":["../../src/hooks/useMenuHover.ts"],"names":[],"mappings":"AA8DA,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAeD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,QAAQ,GACf,OAAO,CAqBT;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;IACpD,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACrE,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;QAC5C,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB;;;WAGG;QACH,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;QACjD,iDAAiD;QACjD,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,YAAY,EAAE;QACZ,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;QACjD,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;KAC7C,CAAC;IACF,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACnC,uEAAuE;IACvE,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B;;;OAGG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC;;;;OAIG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,YAAY,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAC9D,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CAAC,CAAC,CAAC,CA8UvB"}
1
+ {"version":3,"file":"useMenuHover.d.ts","sourceRoot":"","sources":["../../src/hooks/useMenuHover.ts"],"names":[],"mappings":"AA8DA,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAeD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,QAAQ,GACf,OAAO,CAqBT;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;IACpD,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACrE,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;QAC5C,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB;;;WAGG;QACH,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;QACjD,iDAAiD;QACjD,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,YAAY,EAAE;QACZ,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;QACjD,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;KAC7C,CAAC;IACF,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACnC,uEAAuE;IACvE,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B;;;OAGG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC;;;;OAIG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,YAAY,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAC9D,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CAAC,CAAC,CAAC,CAmVvB"}
@@ -147,19 +147,6 @@ export function useMenuHover(options) {
147
147
  /** When the current open began as a hover-open; 0 once confirmed or closed. */
148
148
  const hoverOpenedAtRef = useRef(0);
149
149
  const prevIsOpenRef = useRef(isOpen);
150
-
151
- // Catches every close, whatever caused it. A layout effect, not render: it
152
- // must land before the browser hit-tests the vanished panel and fires the
153
- // mouseenter REOPEN_SUPPRESS_MS exists to swallow.
154
- useIsomorphicLayoutEffect(() => {
155
- const wasOpen = prevIsOpenRef.current;
156
- prevIsOpenRef.current = isOpen;
157
- if (wasOpen && !isOpen) {
158
- hoverModeRef.current = false;
159
- hoverOpenedAtRef.current = 0;
160
- closedAtRef.current = Date.now();
161
- }
162
- }, [isOpen]);
163
150
  const clearTimeouts = useCallback(() => {
164
151
  if (showTimerRef.current) {
165
152
  clearTimeout(showTimerRef.current);
@@ -173,6 +160,24 @@ export function useMenuHover(options) {
173
160
  safeTriangleCleanupRef.current = null;
174
161
  }, []);
175
162
 
163
+ // Catches every close, whatever caused it. A layout effect, not render: it
164
+ // must land before the browser hit-tests the vanished panel and fires the
165
+ // mouseenter REOPEN_SUPPRESS_MS exists to swallow.
166
+ useIsomorphicLayoutEffect(() => {
167
+ const wasOpen = prevIsOpenRef.current;
168
+ prevIsOpenRef.current = isOpen;
169
+ if (wasOpen && !isOpen) {
170
+ // A hover-open scheduled before the close must not fire afterwards and
171
+ // reopen what just closed from elsewhere — e.g. the root menu's light
172
+ // dismiss closing a submenu flyout mid hover-intent (#6893). A fresh
173
+ // mouseenter still opens; only the stale timer is cancelled.
174
+ clearTimeouts();
175
+ hoverModeRef.current = false;
176
+ hoverOpenedAtRef.current = 0;
177
+ closedAtRef.current = Date.now();
178
+ }
179
+ }, [isOpen, clearTimeouts]);
180
+
176
181
  // useListFocus needs an onEscape that is defined in terms of its own listRef;
177
182
  // the indirection avoids the use-before-declare.
178
183
  const escapeHandlerRef = useRef(() => {});
@@ -1 +1 @@
1
- {"version":3,"file":"en.generated.d.ts","sourceRoot":"","sources":["../../../src/i18n/generated-locales/en.generated.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,QAAA,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0dpD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"en.generated.d.ts","sourceRoot":"","sources":["../../../src/i18n/generated-locales/en.generated.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,QAAA,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8jBpD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -436,6 +436,98 @@ const runtimeCatalog = {
436
436
  '@astryx.transferList.announceSearchResults': '{count, number} {count, plural, one {item} other {items}} found.',
437
437
  '@astryx.transferListSelector.apply': 'Apply',
438
438
  '@astryx.transferListSelector.cancel': 'Cancel',
439
- '@astryx.transferListSelector.triggerLabel': '{count, number} selected'
439
+ '@astryx.transferListSelector.triggerLabel': '{count, number} selected',
440
+ '@astryx.emojiPicker.label': 'Emoji',
441
+ '@astryx.emojiPicker.searchLabel': 'Search emoji',
442
+ '@astryx.emojiPicker.frequentlyUsed': 'Frequently used',
443
+ '@astryx.emojiPicker.searchResults': 'Search results',
444
+ '@astryx.emojiPicker.noResults': 'No emoji match “{query}”',
445
+ '@astryx.emojiPicker.loading': 'Loading emoji',
446
+ '@astryx.emojiPicker.loadFailed': "More emoji couldn't be loaded.",
447
+ '@astryx.emojiPicker.groupSmileysEmotion': 'Smileys & emotion',
448
+ '@astryx.emojiPicker.groupPeopleBody': 'People & body',
449
+ '@astryx.emojiPicker.groupAnimalsNature': 'Animals & nature',
450
+ '@astryx.emojiPicker.groupFoodDrink': 'Food & drink',
451
+ '@astryx.emojiPicker.groupTravelPlaces': 'Travel & places',
452
+ '@astryx.emojiPicker.groupActivities': 'Activities',
453
+ '@astryx.emojiPicker.groupObjects': 'Objects',
454
+ '@astryx.emojiPicker.groupSymbols': 'Symbols',
455
+ '@astryx.emojiPicker.groupFlags': 'Flags',
456
+ '@astryx.comments.retry': 'Retry',
457
+ '@astryx.commentComposer.placeholder': 'Write a comment…',
458
+ '@astryx.commentComposer.noAgents': 'No agents',
459
+ '@astryx.commentComposer.agents': 'Agents',
460
+ '@astryx.commentComposer.uploadFailed': "Images couldn't be added",
461
+ '@astryx.commentComposer.imagesOnly': 'Only image files can be added',
462
+ '@astryx.commentComposer.chooseImages': 'Choose images',
463
+ '@astryx.commentComposer.imageAlt': 'Image attachment',
464
+ '@astryx.commentComposer.removeQuote': 'Remove quoted text',
465
+ '@astryx.commentComposer.attachImages': 'Attach images',
466
+ '@astryx.commentComposer.addEmoji': 'Add emoji',
467
+ '@astryx.commentComposer.cancel': 'Cancel',
468
+ '@astryx.comments.actionsLabel': "Actions for {name}'s comment",
469
+ '@astryx.comments.addReaction': 'Add reaction',
470
+ '@astryx.comments.agentBadge': 'Agent',
471
+ '@astryx.comments.agentLogo': '{name} logo',
472
+ '@astryx.comments.chooseReaction': 'Choose a reaction',
473
+ '@astryx.comments.copyLink': 'Copy comment link',
474
+ '@astryx.comments.currentVersion': 'Current version',
475
+ '@astryx.comments.delete': 'Delete',
476
+ '@astryx.comments.deleteDescription': "Delete {name}'s comment? This action cannot be undone.",
477
+ '@astryx.comments.deleteFailed': "This comment couldn't be deleted.",
478
+ '@astryx.comments.deleteFailedRetry': "This comment couldn't be deleted. Try again.",
479
+ '@astryx.comments.deleteTitle': 'Delete comment?',
480
+ '@astryx.comments.edit': 'Edit',
481
+ '@astryx.comments.editFailed': "Your edit couldn't be saved.",
482
+ '@astryx.comments.editPlaceholder': 'Edit comment',
483
+ '@astryx.comments.edited': 'Edited',
484
+ '@astryx.comments.editingContext': 'Editing comment',
485
+ '@astryx.comments.hideReplies': 'Hide replies',
486
+ '@astryx.comments.historyEmptyDescription': 'This comment has no earlier versions.',
487
+ '@astryx.comments.historyEmptyTitle': 'No edit history',
488
+ '@astryx.comments.historyFailed': "Edit history couldn't load",
489
+ '@astryx.comments.historyLoadFailed': "The comment's edit history couldn't be loaded. Try again.",
490
+ '@astryx.comments.historyLoading': 'Loading edit history',
491
+ '@astryx.comments.historySubtitle': 'Comment by {name}',
492
+ '@astryx.comments.historyTitle': 'Edit history',
493
+ '@astryx.comments.linkCopied': 'Comment link copied',
494
+ '@astryx.comments.otherReactors': '{count, plural, one {# other} other {# others}}',
495
+ '@astryx.comments.outdated': 'Outdated',
496
+ '@astryx.comments.reactionCelebrate': 'Celebrate',
497
+ '@astryx.comments.reactionCount': '{reaction}: {count, number}',
498
+ '@astryx.comments.reactionFailed': "Your reaction couldn't be saved.",
499
+ '@astryx.comments.reactionLaugh': 'Haha',
500
+ '@astryx.comments.reactionLike': 'Like',
501
+ '@astryx.comments.reactionLove': 'Love',
502
+ '@astryx.comments.reactionSad': 'Sad',
503
+ '@astryx.comments.reactionWow': 'Wow',
504
+ '@astryx.comments.reopen': 'Reopen',
505
+ '@astryx.comments.reopenFailed': "This thread couldn't be reopened.",
506
+ '@astryx.comments.reply': 'Reply',
507
+ '@astryx.comments.replyFailed': "Your reply couldn't be posted.",
508
+ '@astryx.comments.replyPlaceholder': 'Reply to {name}…',
509
+ '@astryx.comments.replyingContext': 'Replying to {name}',
510
+ '@astryx.comments.resolve': 'Mark as resolved',
511
+ '@astryx.comments.resolveFailed': "This thread couldn't be resolved.",
512
+ '@astryx.comments.resolved': 'Resolved',
513
+ '@astryx.comments.resolvedBy': 'Resolved by {name}',
514
+ '@astryx.comments.retryFailed': "Retrying didn't work.",
515
+ '@astryx.comments.sendFailed': "Couldn't send this comment.",
516
+ '@astryx.comments.threadLabel': 'Thread by {name}',
517
+ '@astryx.comments.unread': 'New',
518
+ '@astryx.comments.unsavedDraft': 'Unsaved draft. Dismiss again to discard it.',
519
+ '@astryx.comments.versionAuthor': 'by {name}',
520
+ '@astryx.comments.viewHistory': 'View edit history',
521
+ '@astryx.comments.viewReplies': 'View {count, plural, one {# reply} other {# replies}}',
522
+ '@astryx.comments.commentsLabel': 'Threads in {label}',
523
+ '@astryx.comments.emptyDescription': 'Start the discussion with a comment.',
524
+ '@astryx.comments.emptyReadOnlyDescription': 'There is no discussion on this item.',
525
+ '@astryx.comments.emptyTitle': 'No comments yet',
526
+ '@astryx.comments.label': 'Comments',
527
+ '@astryx.comments.loadFailed': "Comments couldn't load",
528
+ '@astryx.comments.loadOlder': 'Load earlier comments',
529
+ '@astryx.comments.loading': 'Loading comments',
530
+ '@astryx.comments.olderFailed': "Earlier comments couldn't load",
531
+ '@astryx.comments.postFailed': "Your comment couldn't be posted."
440
532
  };
441
533
  export default runtimeCatalog;