@astryxdesign/core 0.7.5-canary.4bcd84f → 0.7.5-canary.51a0d3c

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 (545) hide show
  1. package/README.md +12 -9
  2. package/dist/Avatar/AvatarStatusDot.js +2 -2
  3. package/dist/Badge/Badge.d.ts.map +1 -1
  4. package/dist/Badge/Badge.js +18 -2
  5. package/dist/Banner/Banner.d.ts.map +1 -1
  6. package/dist/Banner/Banner.js +62 -9
  7. package/dist/Button/Button.d.ts.map +1 -1
  8. package/dist/Button/Button.js +10 -3
  9. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  10. package/dist/Chat/ChatComposer.js +11 -8
  11. package/dist/Chat/ChatMessageMetadata.js +2 -2
  12. package/dist/Chat/ChatToolCalls.js +4 -4
  13. package/dist/CodeBlock/CodeBlock.d.ts +16 -2
  14. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  15. package/dist/CodeBlock/CodeBlock.js +18 -7
  16. package/dist/CodeBlock/grammar.d.ts +124 -0
  17. package/dist/CodeBlock/grammar.d.ts.map +1 -0
  18. package/dist/CodeBlock/grammar.js +189 -0
  19. package/dist/CodeBlock/index.d.ts +2 -0
  20. package/dist/CodeBlock/index.d.ts.map +1 -1
  21. package/dist/CodeBlock/index.js +1 -0
  22. package/dist/CodeBlock/languages/dockerfile.d.ts +3 -0
  23. package/dist/CodeBlock/languages/dockerfile.d.ts.map +1 -0
  24. package/dist/CodeBlock/languages/dockerfile.js +45 -0
  25. package/dist/CodeBlock/languages/graphql.d.ts +3 -0
  26. package/dist/CodeBlock/languages/graphql.d.ts.map +1 -0
  27. package/dist/CodeBlock/languages/graphql.js +27 -0
  28. package/dist/CodeBlock/languages/java.d.ts +3 -0
  29. package/dist/CodeBlock/languages/java.d.ts.map +1 -0
  30. package/dist/CodeBlock/languages/java.js +24 -0
  31. package/dist/CodeBlock/languages/lua.d.ts +3 -0
  32. package/dist/CodeBlock/languages/lua.d.ts.map +1 -0
  33. package/dist/CodeBlock/languages/lua.js +21 -0
  34. package/dist/CodeBlock/languages/objective-c.d.ts +3 -0
  35. package/dist/CodeBlock/languages/objective-c.d.ts.map +1 -0
  36. package/dist/CodeBlock/languages/objective-c.js +27 -0
  37. package/dist/CodeBlock/languages/powershell.d.ts +3 -0
  38. package/dist/CodeBlock/languages/powershell.d.ts.map +1 -0
  39. package/dist/CodeBlock/languages/powershell.js +30 -0
  40. package/dist/CodeBlock/languages/ruby.d.ts +3 -0
  41. package/dist/CodeBlock/languages/ruby.d.ts.map +1 -0
  42. package/dist/CodeBlock/languages/ruby.js +24 -0
  43. package/dist/CodeBlock/languages/thrift.d.ts +3 -0
  44. package/dist/CodeBlock/languages/thrift.d.ts.map +1 -0
  45. package/dist/CodeBlock/languages/thrift.js +18 -0
  46. package/dist/CodeBlock/languages/toml.d.ts +3 -0
  47. package/dist/CodeBlock/languages/toml.d.ts.map +1 -0
  48. package/dist/CodeBlock/languages/toml.js +53 -0
  49. package/dist/CodeBlock/tokenizer.d.ts +8 -4
  50. package/dist/CodeBlock/tokenizer.d.ts.map +1 -1
  51. package/dist/CodeBlock/tokenizer.js +153 -8
  52. package/dist/ComplexSelector/ComplexSelector.d.ts +1 -1
  53. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  54. package/dist/ComplexSelector/ComplexSelector.js +17 -1
  55. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  56. package/dist/ContextMenu/ContextMenu.js +48 -13
  57. package/dist/DateInput/DateInput.d.ts.map +1 -1
  58. package/dist/DateInput/DateInput.js +12 -5
  59. package/dist/DateInput/NativeDateField.d.ts.map +1 -1
  60. package/dist/DateInput/NativeDateField.js +2 -1
  61. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  62. package/dist/DateInput/TouchDateField.js +2 -1
  63. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  64. package/dist/DropdownMenu/DropdownMenu.js +32 -20
  65. package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
  66. package/dist/DropdownMenu/MenuBottomSheet.d.ts +11 -4
  67. package/dist/DropdownMenu/MenuBottomSheet.d.ts.map +1 -1
  68. package/dist/DropdownMenu/MenuBottomSheet.js +35 -9
  69. package/dist/DropdownMenu/MenuBottomSheetActionList.js +3 -3
  70. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts +2 -0
  71. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts.map +1 -1
  72. package/dist/DropdownMenu/lazyMenuBottomSheet.js +25 -3
  73. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts +23 -0
  74. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts.map +1 -0
  75. package/dist/DropdownMenu/menuBottomSheet.stylex.js +29 -0
  76. package/dist/DropdownMenu/useMenuDrillIn.d.ts.map +1 -1
  77. package/dist/DropdownMenu/useMenuDrillIn.js +7 -5
  78. package/dist/Field/inputStyles.stylex.d.ts +9 -9
  79. package/dist/Field/inputStyles.stylex.js +9 -9
  80. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  81. package/dist/FieldStatus/FieldStatus.js +7 -3
  82. package/dist/FileInput/FileInput.js +3 -3
  83. package/dist/Icon/Icon.d.ts +6 -3
  84. package/dist/Icon/Icon.d.ts.map +1 -1
  85. package/dist/Icon/Icon.js +7 -3
  86. package/dist/InputGroup/InputGroup.d.ts +1 -1
  87. package/dist/InputGroup/InputGroup.d.ts.map +1 -1
  88. package/dist/InputGroup/InputGroup.js +46 -36
  89. package/dist/InputGroup/InputGroupInternalContext.d.ts +4 -0
  90. package/dist/InputGroup/InputGroupInternalContext.d.ts.map +1 -0
  91. package/dist/InputGroup/InputGroupInternalContext.js +15 -0
  92. package/dist/InputGroup/InputGroupText.d.ts.map +1 -1
  93. package/dist/InputGroup/InputGroupText.js +2 -0
  94. package/dist/InputGroup/groupStyles.d.ts +9 -0
  95. package/dist/InputGroup/groupStyles.d.ts.map +1 -1
  96. package/dist/InputGroup/groupStyles.js +28 -14
  97. package/dist/Item/ItemSwipeLayer.d.ts.map +1 -1
  98. package/dist/Item/ItemSwipeLayer.js +3 -0
  99. package/dist/Layer/layerSlideRules.d.ts +62 -2
  100. package/dist/Layer/layerSlideRules.d.ts.map +1 -1
  101. package/dist/Layer/layerSlideRules.js +124 -3
  102. package/dist/Layer/preserveAnimations.d.ts +11 -0
  103. package/dist/Layer/preserveAnimations.d.ts.map +1 -0
  104. package/dist/Layer/preserveAnimations.js +245 -0
  105. package/dist/Layer/useLayer.d.ts +19 -2
  106. package/dist/Layer/useLayer.d.ts.map +1 -1
  107. package/dist/Layer/useLayer.js +401 -7
  108. package/dist/Layout/Layout.d.ts.map +1 -1
  109. package/dist/Layout/Layout.js +4 -0
  110. package/dist/Layout/LayoutContent.d.ts.map +1 -1
  111. package/dist/Layout/LayoutContent.js +2 -2
  112. package/dist/Layout/LayoutFooter.d.ts.map +1 -1
  113. package/dist/Layout/LayoutFooter.js +2 -1
  114. package/dist/Layout/LayoutHeader.d.ts.map +1 -1
  115. package/dist/Layout/LayoutHeader.js +2 -1
  116. package/dist/Layout/layoutEdges.stylex.d.ts +20 -0
  117. package/dist/Layout/layoutEdges.stylex.d.ts.map +1 -0
  118. package/dist/Layout/layoutEdges.stylex.js +28 -0
  119. package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.js +1 -0
  120. package/dist/Markdown/MarkdownTable.a11y.chromium.spec.js +1 -0
  121. package/dist/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.js +1 -0
  122. package/dist/MultiSelector/CreateRow.a11y.chromium.spec.js +1 -0
  123. package/dist/MultiSelector/MultiSelector.d.ts +1 -1
  124. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  125. package/dist/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.js +1 -0
  126. package/dist/MultiSelector/MultiSelector.js +8 -4
  127. package/dist/MultiSelector/OptionActions.a11y.chromium.spec.js +1 -0
  128. package/dist/NumberInput/NumberInput.d.ts +1 -1
  129. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  130. package/dist/NumberInput/NumberInput.js +7 -3
  131. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  132. package/dist/ProgressBar/ProgressBar.js +8 -0
  133. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  134. package/dist/RadioList/RadioListItem.js +10 -2
  135. package/dist/SelectableCard/SelectableCard.d.ts +5 -5
  136. package/dist/SelectableCard/SelectableCard.js +5 -5
  137. package/dist/Selector/Selector.d.ts.map +1 -1
  138. package/dist/Selector/Selector.js +8 -4
  139. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  140. package/dist/StatusDot/StatusDot.js +12 -0
  141. package/dist/Stepper/Step.d.ts.map +1 -1
  142. package/dist/Stepper/Step.js +7 -3
  143. package/dist/Switch/Switch.d.ts.map +1 -1
  144. package/dist/Switch/Switch.js +5 -5
  145. package/dist/Switch/switch.markers.stylex.d.ts +7 -2
  146. package/dist/Switch/switch.markers.stylex.d.ts.map +1 -1
  147. package/dist/Switch/switch.markers.stylex.js +8 -3
  148. package/dist/TextArea/TextArea.js +1 -1
  149. package/dist/TextInput/TextInput.d.ts +1 -1
  150. package/dist/TextInput/TextInput.d.ts.map +1 -1
  151. package/dist/TextInput/TextInput.js +8 -4
  152. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  153. package/dist/TimeInput/TimeInput.js +12 -4
  154. package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
  155. package/dist/TimeInput/TouchTimeField.js +2 -1
  156. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  157. package/dist/Tokenizer/Tokenizer.js +13 -14
  158. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  159. package/dist/Tooltip/useTooltip.js +9 -3
  160. package/dist/Typeahead/Typeahead.d.ts +1 -1
  161. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  162. package/dist/Typeahead/Typeahead.js +7 -3
  163. package/dist/astryx.css +53 -28
  164. package/dist/gestures/GestureArena.d.ts +175 -0
  165. package/dist/gestures/GestureArena.d.ts.map +1 -0
  166. package/dist/gestures/GestureArena.js +816 -0
  167. package/dist/gestures/GestureRecognizer.d.ts +239 -0
  168. package/dist/gestures/GestureRecognizer.d.ts.map +1 -0
  169. package/dist/gestures/GestureRecognizer.js +487 -0
  170. package/dist/gestures/LongPressGestureRecognizer.d.ts +32 -0
  171. package/dist/gestures/LongPressGestureRecognizer.d.ts.map +1 -0
  172. package/dist/gestures/LongPressGestureRecognizer.js +135 -0
  173. package/dist/gestures/PanGestureRecognizer.d.ts +117 -0
  174. package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -0
  175. package/dist/gestures/PanGestureRecognizer.js +349 -0
  176. package/dist/gestures/TapGestureRecognizer.d.ts +39 -0
  177. package/dist/gestures/TapGestureRecognizer.d.ts.map +1 -0
  178. package/dist/gestures/TapGestureRecognizer.js +151 -0
  179. package/dist/gestures/VelocityTracker.d.ts +51 -0
  180. package/dist/gestures/VelocityTracker.d.ts.map +1 -0
  181. package/dist/gestures/VelocityTracker.js +186 -0
  182. package/dist/gestures/geometry.d.ts +17 -0
  183. package/dist/gestures/geometry.d.ts.map +1 -0
  184. package/dist/gestures/geometry.js +55 -0
  185. package/dist/gestures/types.d.ts +139 -0
  186. package/dist/gestures/types.d.ts.map +1 -0
  187. package/dist/gestures/types.js +67 -0
  188. package/dist/hooks/useAdaptivePresentation.d.ts +1 -1
  189. package/dist/hooks/useAdaptivePresentation.d.ts.map +1 -1
  190. package/dist/hooks/useAdaptivePresentation.js +9 -6
  191. package/dist/hooks/useScrollableArea.d.ts.map +1 -1
  192. package/dist/hooks/useScrollableArea.js +37 -5
  193. package/dist/motion/decay.d.ts +41 -0
  194. package/dist/motion/decay.d.ts.map +1 -0
  195. package/dist/motion/decay.js +90 -0
  196. package/dist/motion/projection.d.ts +47 -0
  197. package/dist/motion/projection.d.ts.map +1 -0
  198. package/dist/motion/projection.js +116 -0
  199. package/dist/motion/rubberBand.d.ts +20 -0
  200. package/dist/motion/rubberBand.d.ts.map +1 -0
  201. package/dist/motion/rubberBand.js +91 -0
  202. package/dist/motion/spring.d.ts +193 -0
  203. package/dist/motion/spring.d.ts.map +1 -0
  204. package/dist/motion/spring.js +442 -0
  205. package/dist/motion/uikit/gestures.d.ts +642 -0
  206. package/dist/motion/uikit/gestures.d.ts.map +1 -0
  207. package/dist/motion/uikit/gestures.js +428 -0
  208. package/dist/motion/uikit/index.d.ts +23 -0
  209. package/dist/motion/uikit/index.d.ts.map +1 -0
  210. package/dist/motion/uikit/index.js +25 -0
  211. package/dist/motion/uikit/navigation.d.ts +71 -0
  212. package/dist/motion/uikit/navigation.d.ts.map +1 -0
  213. package/dist/motion/uikit/navigation.js +73 -0
  214. package/dist/motion/uikit/scroll.d.ts +124 -0
  215. package/dist/motion/uikit/scroll.d.ts.map +1 -0
  216. package/dist/motion/uikit/scroll.js +129 -0
  217. package/dist/motion/uikit/springs.d.ts +346 -0
  218. package/dist/motion/uikit/springs.d.ts.map +1 -0
  219. package/dist/motion/uikit/springs.js +387 -0
  220. package/dist/motion/uikit/timing.d.ts +209 -0
  221. package/dist/motion/uikit/timing.d.ts.map +1 -0
  222. package/dist/motion/uikit/timing.js +161 -0
  223. package/dist/reset.a11y.chromium.spec.js +1 -0
  224. package/dist/reset.until-found.a11y.browser.spec.js +1 -0
  225. package/dist/theme/declarationBoundary.d.ts +13 -0
  226. package/dist/theme/declarationBoundary.d.ts.map +1 -1
  227. package/dist/theme/declarationBoundary.js +264 -1
  228. package/dist/theme/generateThemeRules.d.ts +6 -2
  229. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  230. package/dist/theme/generateThemeRules.js +468 -24
  231. package/dist/theme/statusColor.d.ts +48 -0
  232. package/dist/theme/statusColor.d.ts.map +1 -0
  233. package/dist/theme/statusColor.js +203 -0
  234. package/dist/theme/statusRoleDerivation.d.ts +11 -0
  235. package/dist/theme/statusRoleDerivation.d.ts.map +1 -0
  236. package/dist/theme/statusRoleDerivation.js +236 -0
  237. package/dist/theme/tokens.d.ts.map +1 -1
  238. package/dist/theme/tokens.js +16 -1
  239. package/dist/theme/tokens.stylex.d.ts +40 -2
  240. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  241. package/dist/theme/tokens.stylex.js +47 -2
  242. package/dist/utils/touchPresentation.d.ts +48 -0
  243. package/dist/utils/touchPresentation.d.ts.map +1 -0
  244. package/dist/utils/touchPresentation.js +133 -0
  245. package/package.json +48 -3
  246. package/src/AlertDialog/__tests__/AlertDialog.a11y.chromium.spec.ts +1 -0
  247. package/src/AspectRatio/__tests__/AspectRatioFitLayers.a11y.browser.spec.ts +1 -0
  248. package/src/Avatar/Avatar.spec.md +253 -0
  249. package/src/Avatar/AvatarStatusDot.spec.md +93 -79
  250. package/src/Avatar/AvatarStatusDot.test.tsx +22 -0
  251. package/src/Avatar/AvatarStatusDot.tsx +2 -2
  252. package/src/Badge/Badge.spec.md +10 -10
  253. package/src/Badge/Badge.test.tsx +13 -0
  254. package/src/Badge/Badge.tsx +38 -2
  255. package/src/Banner/Banner.spec.md +12 -12
  256. package/src/Banner/Banner.test.tsx +91 -8
  257. package/src/Banner/Banner.tsx +89 -7
  258. package/src/BottomSheet/BottomSheet.spec.md +256 -38
  259. package/src/BottomSheet/BottomSheetSwitcher.spec.md +139 -41
  260. package/src/BottomSheet/__tests__/BottomSheetDrag.a11y.chromium.spec.ts +1 -0
  261. package/src/BottomSheet/__tests__/BottomSheetFocusReturn.a11y.browser.spec.ts +1 -0
  262. package/src/BottomSheet/__tests__/BottomSheetKeyboard.a11y.browser.spec.ts +1 -0
  263. package/src/BottomSheet/__tests__/BottomSheetNativeModal.a11y.browser.spec.ts +1 -0
  264. package/src/BottomSheet/__tests__/BottomSheetPinchZoom.a11y.chromium.spec.ts +1 -0
  265. package/src/BottomSheet/__tests__/BottomSheetToastOutlet.a11y.chromium.spec.ts +1 -0
  266. package/src/Breadcrumbs/__tests__/Breadcrumbs.a11y.chromium.spec.ts +1 -0
  267. package/src/Button/Button.spec.md +1 -1
  268. package/src/Button/Button.test.tsx +1 -1
  269. package/src/Button/Button.tsx +28 -3
  270. package/src/Button/__tests__/Button.a11y.chromium.spec.ts +1 -0
  271. package/src/ButtonGroup/ButtonGroup.spec.md +218 -0
  272. package/src/Calendar/__tests__/Calendar.a11y.chromium.spec.ts +1 -0
  273. package/src/Carousel/__tests__/Carousel.a11y.chromium.spec.ts +1 -0
  274. package/src/Chat/ChatComposer.tsx +23 -3
  275. package/src/Chat/ChatMessageMetadata.tsx +1 -1
  276. package/src/Chat/ChatToolCalls.tsx +5 -5
  277. package/src/Chat/__tests__/ChatLayoutScrollButton.a11y.chromium.spec.ts +1 -0
  278. package/src/Chat/__tests__/ChatLayoutScrollButtonSurface.a11y.chromium.spec.ts +1 -0
  279. package/src/Chat/__tests__/ChatMessageList.a11y.chromium.spec.ts +1 -0
  280. package/src/Chat/__tests__/ChatMessageMetadata.a11y.chromium.spec.ts +1 -0
  281. package/src/Chat/__tests__/ChatSendButton.a11y.chromium.spec.ts +1 -0
  282. package/src/Chat/__tests__/ChatSystemMessage.a11y.chromium.spec.ts +1 -0
  283. package/src/Chat/__tests__/ChatTokenizedText.a11y.chromium.spec.ts +1 -0
  284. package/src/Chat/__tests__/useChatStreamScroll.a11y.chromium.spec.ts +1 -0
  285. package/src/CheckboxInput/__tests__/Checkbox.a11y.chromium.spec.ts +1 -0
  286. package/src/CheckboxList/__tests__/CheckboxList.a11y.chromium.spec.ts +1 -0
  287. package/src/CodeBlock/CodeBlock.doc.mjs +5 -4
  288. package/src/CodeBlock/CodeBlock.spec.md +48 -45
  289. package/src/CodeBlock/CodeBlock.tsx +57 -15
  290. package/src/CodeBlock/CodeLanguage.test.tsx +141 -0
  291. package/src/CodeBlock/__tests__/CodeBlockCopyClearance.a11y.chromium.spec.ts +1 -0
  292. package/src/CodeBlock/__tests__/CodeBlockLanguages.a11y.chromium.spec.ts +64 -0
  293. package/src/CodeBlock/__tests__/CodeBlockOverflowStop.a11y.chromium.spec.ts +1 -0
  294. package/src/CodeBlock/__tests__/DiffRowPaint.a11y.chromium.spec.ts +1 -0
  295. package/src/CodeBlock/grammar.ts +248 -0
  296. package/src/CodeBlock/index.ts +7 -0
  297. package/src/CodeBlock/languages/dockerfile.ts +43 -0
  298. package/src/CodeBlock/languages/graphql.ts +30 -0
  299. package/src/CodeBlock/languages/java.ts +28 -0
  300. package/src/CodeBlock/languages/lua.ts +21 -0
  301. package/src/CodeBlock/languages/objective-c.ts +26 -0
  302. package/src/CodeBlock/languages/powershell.ts +31 -0
  303. package/src/CodeBlock/languages/ruby.ts +29 -0
  304. package/src/CodeBlock/languages/thrift.ts +32 -0
  305. package/src/CodeBlock/languages/toml.ts +36 -0
  306. package/src/CodeBlock/languages.test.ts +402 -0
  307. package/src/CodeBlock/tokenizer.ts +171 -16
  308. package/src/CodeBlock/tokenizerBudget.test.ts +112 -0
  309. package/src/Collapsible/__tests__/Collapsible.a11y.chromium.spec.ts +1 -0
  310. package/src/Collapsible/__tests__/CollapsibleGroup.a11y.chromium.spec.ts +1 -0
  311. package/src/Collapsible/__tests__/CollapsibleGroupAccordion.a11y.chromium.spec.ts +1 -0
  312. package/src/CommandPalette/__tests__/CommandPalette.a11y.chromium.spec.ts +1 -0
  313. package/src/CommandPalette/__tests__/CommandPaletteFooter.a11y.chromium.spec.ts +1 -0
  314. package/src/CommandPalette/__tests__/CommandPaletteInputAudit.a11y.chromium.spec.ts +1 -0
  315. package/src/CommandPalette/__tests__/CommandPaletteItemAudit.a11y.chromium.spec.ts +1 -0
  316. package/src/ComplexSelector/ComplexSelector.test.tsx +116 -1
  317. package/src/ComplexSelector/ComplexSelector.tsx +18 -1
  318. package/src/ComplexSelector/__tests__/ComplexSelector.a11y.chromium.spec.ts +1 -0
  319. package/src/ContextMenu/ContextMenu.doc.mjs +1 -1
  320. package/src/ContextMenu/ContextMenu.spec.md +19 -15
  321. package/src/ContextMenu/ContextMenu.test.tsx +189 -11
  322. package/src/ContextMenu/ContextMenu.tsx +75 -17
  323. package/src/ContextMenu/__tests__/ContextMenuAudit.a11y.chromium.spec.ts +1 -0
  324. package/src/ContextMenu/__tests__/ContextMenuCursorAnchor.a11y.browser.spec.ts +1 -0
  325. package/src/ContextMenu/__tests__/ContextMenuLongPress.a11y.chromium.spec.ts +117 -0
  326. package/src/DateInput/DateInput.tsx +9 -4
  327. package/src/DateInput/NativeDateField.tsx +2 -1
  328. package/src/DateInput/TouchDateField.tsx +2 -1
  329. package/src/DateInput/__tests__/DateInputAudit.a11y.chromium.spec.ts +1 -0
  330. package/src/DateInput/__tests__/WheelPinchZoom.a11y.chromium.spec.ts +1 -0
  331. package/src/Dialog/__tests__/Dialog.a11y.browser.spec.ts +1 -0
  332. package/src/Dialog/__tests__/Dialog.a11y.chromium.spec.ts +1 -0
  333. package/src/Dialog/__tests__/Dialog.reduced-motion.a11y.browser.spec.ts +1 -0
  334. package/src/Drawer/__tests__/DrawerAudit.a11y.chromium.spec.ts +1 -0
  335. package/src/Drawer/__tests__/DrawerHeaderAudit.a11y.chromium.spec.ts +1 -0
  336. package/src/DropdownMenu/DropdownMenu.spec.md +12 -6
  337. package/src/DropdownMenu/DropdownMenu.ssr.test.tsx +11 -1
  338. package/src/DropdownMenu/DropdownMenu.test.tsx +37 -4
  339. package/src/DropdownMenu/DropdownMenu.tsx +47 -21
  340. package/src/DropdownMenu/DropdownMenuItem.tsx +5 -5
  341. package/src/DropdownMenu/DropdownMenuSheetFirstOpen.test.tsx +72 -0
  342. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +57 -0
  343. package/src/DropdownMenu/MenuBottomSheet.tsx +42 -7
  344. package/src/DropdownMenu/MenuBottomSheetActionList.tsx +3 -3
  345. package/src/DropdownMenu/__tests__/DropdownMenuDividerAudit.a11y.chromium.spec.ts +1 -0
  346. package/src/DropdownMenu/__tests__/DropdownMenuDrillIn.a11y.chromium.spec.ts +1 -0
  347. package/src/DropdownMenu/__tests__/DropdownMenuFocusReturn.a11y.browser.spec.ts +1 -0
  348. package/src/DropdownMenu/__tests__/DropdownMenuGroupAudit.a11y.chromium.spec.ts +1 -0
  349. package/src/DropdownMenu/__tests__/DropdownMenuItemAudit.a11y.chromium.spec.ts +1 -0
  350. package/src/DropdownMenu/__tests__/DropdownMenuRadioGroupAudit.a11y.chromium.spec.ts +1 -0
  351. package/src/DropdownMenu/__tests__/DropdownMenuRadioItemAudit.a11y.chromium.spec.ts +1 -0
  352. package/src/DropdownMenu/__tests__/DropdownMenuSubMenuAudit.a11y.chromium.spec.ts +1 -0
  353. package/src/DropdownMenu/__tests__/Menu.a11y.chromium.spec.ts +1 -0
  354. package/src/DropdownMenu/__tests__/MenuButton.a11y.chromium.spec.ts +1 -0
  355. package/src/DropdownMenu/__tests__/MenuHeaderFooter.a11y.chromium.spec.ts +1 -0
  356. package/src/DropdownMenu/__tests__/MenuHoverFocus.a11y.chromium.spec.ts +1 -0
  357. package/src/DropdownMenu/__tests__/MenuPinchZoom.a11y.chromium.spec.ts +1 -0
  358. package/src/DropdownMenu/__tests__/MenuPress.a11y.chromium.spec.ts +1 -0
  359. package/src/DropdownMenu/__tests__/SubMenuHeaderFooter.a11y.chromium.spec.ts +1 -0
  360. package/src/DropdownMenu/lazyMenuBottomSheet.ts +28 -2
  361. package/src/DropdownMenu/menuBottomSheet.stylex.ts +33 -0
  362. package/src/DropdownMenu/modules/useMenuPress.spec.md +86 -57
  363. package/src/DropdownMenu/useMenuDrillIn.tsx +7 -5
  364. package/src/Field/__tests__/FieldLabelAudit.a11y.chromium.spec.ts +1 -0
  365. package/src/Field/inputStyles.stylex.ts +15 -15
  366. package/src/FieldStatus/FieldStatus.test.tsx +12 -0
  367. package/src/FieldStatus/FieldStatus.tsx +12 -3
  368. package/src/FieldStatus/__tests__/StatusMessage.a11y.chromium.spec.ts +1 -0
  369. package/src/FileInput/FileInput.tsx +3 -3
  370. package/src/Icon/Icon.doc.mjs +2 -2
  371. package/src/Icon/Icon.test.tsx +3 -0
  372. package/src/Icon/Icon.tsx +6 -3
  373. package/src/IconButton/IconButton.spec.md +197 -0
  374. package/src/InputGroup/InputGroup.test.tsx +120 -0
  375. package/src/InputGroup/InputGroup.tsx +59 -52
  376. package/src/InputGroup/InputGroupInternalContext.ts +15 -0
  377. package/src/InputGroup/InputGroupText.tsx +2 -0
  378. package/src/InputGroup/groupStyles.ts +22 -11
  379. package/src/Item/ItemSwipeLayer.tsx +9 -0
  380. package/src/Item/__tests__/ItemSwipeActions.a11y.chromium.spec.ts +1 -0
  381. package/src/Item/__tests__/ItemSwipePinchZoom.a11y.chromium.spec.ts +1 -0
  382. package/src/Layer/__tests__/LayerReducedMotion.a11y.chromium.spec.ts +1 -0
  383. package/src/Layer/__tests__/TouchTrigger.a11y.chromium.spec.ts +1 -0
  384. package/src/Layer/layerSlideRules.ts +141 -8
  385. package/src/Layer/preserveAnimations.ts +304 -0
  386. package/src/Layer/useLayer.test.tsx +579 -0
  387. package/src/Layer/useLayer.tsx +473 -9
  388. package/src/Layout/Layout.tsx +18 -0
  389. package/src/Layout/LayoutContent.tsx +5 -14
  390. package/src/Layout/LayoutFooter.tsx +2 -0
  391. package/src/Layout/LayoutHeader.tsx +2 -0
  392. package/src/Layout/__tests__/Layout.a11y.chromium.spec.ts +1 -0
  393. package/src/Layout/layoutEdges.stylex.ts +25 -0
  394. package/src/Lightbox/LightboxKeyboard.a11y.browser.spec.ts +1 -0
  395. package/src/Link/Link.spec.md +229 -0
  396. package/src/Link/LinkProvider.spec.md +167 -0
  397. package/src/Link/__tests__/Link.a11y.chromium.spec.ts +1 -0
  398. package/src/Link/__tests__/Link.navigation.a11y.chromium.spec.ts +1 -0
  399. package/src/Markdown/Markdown.spec.md +56 -51
  400. package/src/Markdown/MarkdownTable.a11y.chromium.spec.ts +1 -0
  401. package/src/Markdown/__tests__/MarkdownNesting.a11y.chromium.spec.ts +1 -0
  402. package/src/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.ts +1 -0
  403. package/src/MobileNav/__tests__/MobileNavWidth.a11y.chromium.spec.ts +1 -0
  404. package/src/MoreMenu/MoreMenu.doc.mjs +2 -2
  405. package/src/MultiSelector/CreateRow.a11y.chromium.spec.ts +1 -0
  406. package/src/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.ts +1 -0
  407. package/src/MultiSelector/MultiSelector.test.tsx +3 -2
  408. package/src/MultiSelector/MultiSelector.tsx +8 -3
  409. package/src/MultiSelector/OptionActions.a11y.chromium.spec.ts +1 -0
  410. package/src/MultiSelector/__tests__/MultiSelector.a11y.chromium.spec.ts +1 -0
  411. package/src/NumberInput/NumberInput.tsx +7 -2
  412. package/src/NumberInput/__tests__/NumberInput.a11y.chromium.spec.ts +1 -0
  413. package/src/Popover/Popover.spec.md +19 -0
  414. package/src/Popover/__tests__/PopoverSecondDocument.a11y.chromium.spec.ts +1 -0
  415. package/src/ProgressBar/ProgressBar.test.tsx +12 -0
  416. package/src/ProgressBar/ProgressBar.tsx +18 -0
  417. package/src/ProgressBar/__tests__/ProgressBar.a11y.chromium.spec.ts +1 -0
  418. package/src/RadioList/RadioList.test.tsx +34 -7
  419. package/src/RadioList/RadioListItem.press.source-build.test.mjs +80 -0
  420. package/src/RadioList/RadioListItem.tsx +26 -12
  421. package/src/RadioList/__tests__/RadioGroup.a11y.chromium.spec.ts +1 -0
  422. package/src/Resizable/__tests__/ResizeHandle.a11y.chromium.spec.ts +1 -0
  423. package/src/SelectableCard/SelectableCard.doc.mjs +6 -4
  424. package/src/SelectableCard/SelectableCard.tsx +5 -5
  425. package/src/Selector/Selector.spec.md +3 -2
  426. package/src/Selector/Selector.test.tsx +3 -2
  427. package/src/Selector/Selector.tsx +8 -3
  428. package/src/Selector/__tests__/EmptyStateAnnouncement.a11y.chromium.spec.ts +1 -0
  429. package/src/Selector/__tests__/Listbox.a11y.chromium.spec.ts +1 -0
  430. package/src/Selector/__tests__/Selector.a11y.chromium.spec.ts +1 -0
  431. package/src/Selector/__tests__/Selector.combobox.a11y.chromium.spec.ts +1 -0
  432. package/src/SideNav/SideNav.spec.md +5 -3
  433. package/src/SideNav/SideNavCollapseButton.spec.md +161 -0
  434. package/src/SideNav/SideNavHeading.spec.md +219 -0
  435. package/src/SideNav/SideNavItem.spec.md +246 -0
  436. package/src/SideNav/SideNavSection.spec.md +153 -0
  437. package/src/Skeleton/Skeleton.spec.md +99 -42
  438. package/src/Slider/__tests__/Slider.a11y.chromium.spec.ts +1 -0
  439. package/src/Spinner/Spinner.spec.md +231 -0
  440. package/src/StatusDot/StatusDot.spec.md +24 -28
  441. package/src/StatusDot/StatusDot.test.tsx +13 -0
  442. package/src/StatusDot/StatusDot.tsx +27 -0
  443. package/src/Stepper/Step.tsx +12 -3
  444. package/src/Stepper/Stepper.test.tsx +17 -0
  445. package/src/Switch/Switch.focusRing.source-build.test.mjs +81 -0
  446. package/src/Switch/Switch.tsx +11 -9
  447. package/src/Switch/__tests__/Switch.a11y.chromium.spec.ts +1 -0
  448. package/src/Switch/switch.markers.stylex.ts +7 -2
  449. package/src/TabList/__tests__/Tabs.a11y.chromium.spec.ts +1 -0
  450. package/src/Table/__tests__/Table.a11y.chromium.spec.ts +1 -0
  451. package/src/Table/__tests__/TableMinWidth.a11y.chromium.spec.ts +1 -0
  452. package/src/Table/__tests__/TableScroll.a11y.chromium.spec.ts +1 -0
  453. package/src/TextArea/TextArea.tsx +1 -1
  454. package/src/TextInput/TextInput.tsx +8 -3
  455. package/src/TextInput/__tests__/TextInput.a11y.chromium.spec.ts +1 -0
  456. package/src/TimeInput/TimeInput.tsx +12 -4
  457. package/src/TimeInput/TouchTimeField.tsx +2 -1
  458. package/src/ToggleButton/ToggleButton.spec.md +256 -0
  459. package/src/ToggleButton/ToggleButtonGroup.spec.md +194 -0
  460. package/src/ToggleButton/__tests__/ToggleButton.a11y.chromium.spec.ts +1 -0
  461. package/src/Token/Token.spec.md +1 -1
  462. package/src/Token/__tests__/TokenRemoveTarget.a11y.chromium.spec.ts +1 -0
  463. package/src/Tokenizer/Tokenizer.test.tsx +44 -8
  464. package/src/Tokenizer/Tokenizer.tsx +14 -17
  465. package/src/Tokenizer/__tests__/TokenizerEndLane.a11y.chromium.spec.ts +1 -0
  466. package/src/Toolbar/__tests__/Toolbar.a11y.chromium.spec.ts +1 -0
  467. package/src/Tooltip/Tooltip.test.tsx +23 -0
  468. package/src/Tooltip/__tests__/Tooltip.a11y.chromium.spec.ts +1 -0
  469. package/src/Tooltip/__tests__/TooltipFocusReturn.a11y.chromium.spec.ts +1 -0
  470. package/src/Tooltip/__tests__/TooltipHoverBridge.a11y.chromium.spec.ts +1 -0
  471. package/src/Tooltip/__tests__/TooltipTallContent.a11y.browser.spec.ts +646 -0
  472. package/src/Tooltip/__tests__/TooltipTallContentTracking.a11y.browser.spec.ts +1162 -0
  473. package/src/Tooltip/useTooltip.tsx +7 -2
  474. package/src/TopNav/TopNav.spec.md +190 -0
  475. package/src/TopNav/TopNavHeading.spec.md +204 -0
  476. package/src/TopNav/TopNavItem.spec.md +189 -0
  477. package/src/TopNav/TopNavMegaMenu.spec.md +190 -0
  478. package/src/TopNav/TopNavMegaMenuFeaturedCard.spec.md +150 -0
  479. package/src/TopNav/TopNavMegaMenuItem.spec.md +155 -0
  480. package/src/TopNav/TopNavMenu.spec.md +195 -0
  481. package/src/TopNav/__tests__/TopNavMobileLongHeading.a11y.chromium.spec.ts +1 -0
  482. package/src/TreeList/__tests__/TreeList.a11y.chromium.spec.ts +1 -0
  483. package/src/TreeList/__tests__/TreeListRowNames.a11y.chromium.spec.ts +1 -0
  484. package/src/Typeahead/Typeahead.tsx +7 -2
  485. package/src/__tests__/CardPress.a11y.chromium.spec.ts +1 -0
  486. package/src/__tests__/DisabledTriggerFocus.a11y.chromium.spec.ts +1 -0
  487. package/src/__tests__/PressedState.a11y.chromium.spec.ts +1 -0
  488. package/src/gestures/GestureArena.ts +966 -0
  489. package/src/gestures/GestureRecognizer.ts +626 -0
  490. package/src/gestures/LongPressGestureRecognizer.ts +186 -0
  491. package/src/gestures/PanGestureRecognizer.ts +410 -0
  492. package/src/gestures/TapGestureRecognizer.ts +192 -0
  493. package/src/gestures/VelocityTracker.ts +194 -0
  494. package/src/gestures/__tests__/LongPressGestureRecognizer.test.ts +141 -0
  495. package/src/gestures/__tests__/PanGestureRecognizer.test.ts +327 -0
  496. package/src/gestures/__tests__/TapGestureRecognizer.test.ts +154 -0
  497. package/src/gestures/__tests__/VelocityTracker.test.ts +261 -0
  498. package/src/gestures/__tests__/arena.test.ts +824 -0
  499. package/src/gestures/__tests__/arenaContinuous.test.ts +207 -0
  500. package/src/gestures/__tests__/arenaTapLongPress.test.ts +211 -0
  501. package/src/gestures/__tests__/harness.ts +204 -0
  502. package/src/gestures/geometry.ts +55 -0
  503. package/src/gestures/types.ts +161 -0
  504. package/src/hooks/__tests__/MenuPressShadowRoot.a11y.chromium.spec.ts +98 -4
  505. package/src/hooks/useAdaptivePresentation.ts +14 -7
  506. package/src/hooks/useScrollableArea.test.tsx +159 -0
  507. package/src/hooks/useScrollableArea.ts +39 -5
  508. package/src/motion/MEASUREMENTS.md +271 -0
  509. package/src/motion/README.md +105 -0
  510. package/src/motion/decay.test.ts +120 -0
  511. package/src/motion/decay.ts +126 -0
  512. package/src/motion/projection.test.ts +139 -0
  513. package/src/motion/projection.ts +148 -0
  514. package/src/motion/rubberBand.test.ts +88 -0
  515. package/src/motion/rubberBand.ts +115 -0
  516. package/src/motion/spring.test.ts +650 -0
  517. package/src/motion/spring.ts +551 -0
  518. package/src/motion/uikit/gestures.test.ts +89 -0
  519. package/src/motion/uikit/gestures.ts +359 -0
  520. package/src/motion/uikit/index.ts +43 -0
  521. package/src/motion/uikit/navigation.ts +73 -0
  522. package/src/motion/uikit/scroll.ts +124 -0
  523. package/src/motion/uikit/springs.ts +330 -0
  524. package/src/motion/uikit/timing.ts +162 -0
  525. package/src/motion/uikit/uikit.test.ts +301 -0
  526. package/src/motion/uikit/values.test.ts +110 -0
  527. package/src/reset.a11y.chromium.spec.ts +1 -0
  528. package/src/reset.until-found.a11y.browser.spec.ts +1 -0
  529. package/src/tailwind-theme.css +51 -1
  530. package/src/tailwind-theme.test.ts +51 -0
  531. package/src/theme/Theme.test.tsx +28 -0
  532. package/src/theme/__tests__/SpacingRootFontSize.a11y.chromium.spec.ts +1 -0
  533. package/src/theme/declarationBoundary.ts +282 -1
  534. package/src/theme/defineTheme.test.ts +294 -10
  535. package/src/theme/derivedVarRegistry.test.ts +5 -0
  536. package/src/theme/generateThemeRules.ts +772 -35
  537. package/src/theme/onMediaTokens.test.ts +186 -0
  538. package/src/theme/statusColor.ts +189 -0
  539. package/src/theme/statusRoleDerivation.ts +289 -0
  540. package/src/theme/themeAdaptations.test.ts +375 -0
  541. package/src/theme/tokens.stylex.ts +31 -2
  542. package/src/theme/tokens.test.ts +36 -1
  543. package/src/theme/tokens.ts +23 -1
  544. package/src/utils/touchPresentation.test.ts +323 -0
  545. package/src/utils/touchPresentation.ts +153 -0
package/README.md CHANGED
@@ -165,15 +165,18 @@ The `tailwind-theme.css` import maps system tokens to Tailwind utilities via `@t
165
165
 
166
166
  Some useful mappings:
167
167
 
168
- | Tailwind class | Astryx token |
169
- | --------------------------------------------------------- | ------------------------------------------------- |
170
- | `text-primary` / `text-secondary` | `--color-text-primary` / `--color-text-secondary` |
171
- | `bg-surface` / `bg-card` / `bg-body` | `--color-background-surface` / `card` / `body` |
172
- | `border-border` / `border-strong` | `--color-border` / `--color-border-emphasized` |
173
- | `bg-success` / `text-error` / `text-warning` | Status tokens |
174
- | `bg-blue-subtle` / `border-blue-ring` / `text-blue-vivid` | Hue palette (×10 hues) |
175
- | `rounded-sm` / `rounded-md` / `rounded-lg` | `--radius-inner` / `element` / `container` |
176
- | `shadow-sm` / `shadow-md` / `shadow-lg` | `--shadow-low` / `med` / `high` |
168
+ | Tailwind class | Astryx token |
169
+ | ------------------------------------------------------------ | ---------------------------------------------------------------- |
170
+ | `text-primary` / `text-secondary` | `--color-text-primary` / `--color-text-secondary` |
171
+ | `bg-surface` / `bg-card` / `bg-body` | `--color-background-surface` / `card` / `body` |
172
+ | `border-border` / `border-strong` | `--color-border` / `--color-border-emphasized` |
173
+ | `bg-info` / `bg-success` / `bg-warning` / `bg-error` | Strong status fills (`--color-<status>`) |
174
+ | `text-on-info` / `bg-info-muted` / `text-on-info-muted` | Strong-fill content, pale fill, pale-fill content |
175
+ | `text-success` / `text-warning` / `text-error` / `text-info` | Status text on the page (`--color-text-*`; also `text-status-*`) |
176
+ | `border-success` / `border-warning` / `border-error` | Status borders (`--color-border-*`) |
177
+ | `bg-blue-subtle` / `border-blue-ring` / `text-blue-vivid` | Hue palette (×10 hues) |
178
+ | `rounded-sm` / `rounded-md` / `rounded-lg` | `--radius-inner` / `element` / `container` |
179
+ | `shadow-sm` / `shadow-md` / `shadow-lg` | `--shadow-low` / `med` / `high` |
177
180
 
178
181
  Spacing references `var(--spacing-1)` as the base unit, so `p-4` = 16px, matching Astryx's `--spacing-4`. Arbitrary values still work as an escape hatch: `bg-[var(--color-background-surface)]`.
179
182
 
@@ -92,7 +92,7 @@ const styles = {
92
92
  },
93
93
  success: {
94
94
  kWkggS: "xdsz4j9",
95
- kMwMTN: "xrkvqaz",
95
+ kMwMTN: "xri61p4",
96
96
  $$css: true
97
97
  },
98
98
  neutral: {
@@ -102,7 +102,7 @@ const styles = {
102
102
  },
103
103
  error: {
104
104
  kWkggS: "x1pjz0fi",
105
- kMwMTN: "xrkvqaz",
105
+ kMwMTN: "x1m024r3",
106
106
  $$css: true
107
107
  },
108
108
  icon: {
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/Badge/Badge.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AA0G7C;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,eAAe,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,EACpB,OAAmB,EACnB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,UAAU,+BAsCZ;yBA/Ce,KAAK"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/Badge/Badge.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AA8I7C;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,eAAe,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,EACpB,OAAmB,EACnB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,UAAU,+BAsCZ;yBA/Ce,KAAK"}
@@ -55,23 +55,39 @@ const variants = {
55
55
  $$css: true
56
56
  },
57
57
  info: {
58
- kWkggS: "x1ewilqj",
59
- kMwMTN: "x17wrial",
58
+ kWkggS: "xcc0xtb",
59
+ kMwMTN: "x1jxcxwi",
60
+ kMeerF: "xcthrzx",
61
+ k3XXqK: "x815t2r",
62
+ kjBf7l: "x3teovq",
63
+ kInvED: "xvr1dqx",
60
64
  $$css: true
61
65
  },
62
66
  success: {
63
67
  kWkggS: "xdsz4j9",
64
68
  kMwMTN: "xri61p4",
69
+ kMeerF: "xcthrzx",
70
+ k3XXqK: "x815t2r",
71
+ kjBf7l: "x3teovq",
72
+ kInvED: "xvr1dqx",
65
73
  $$css: true
66
74
  },
67
75
  warning: {
68
76
  kWkggS: "x1q8g9m5",
69
77
  kMwMTN: "xrebv38",
78
+ kMeerF: "xcthrzx",
79
+ k3XXqK: "x815t2r",
80
+ kjBf7l: "x3teovq",
81
+ kInvED: "xvr1dqx",
70
82
  $$css: true
71
83
  },
72
84
  error: {
73
85
  kWkggS: "x1pjz0fi",
74
86
  kMwMTN: "x1m024r3",
87
+ kMeerF: "xcthrzx",
88
+ k3XXqK: "x815t2r",
89
+ kjBf7l: "x3teovq",
90
+ kInvED: "xvr1dqx",
75
91
  $$css: true
76
92
  },
77
93
  blue: {
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAA0B,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAgB5C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAI9C,OAAO,KAAK,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAMjE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAyMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,aAAqB,EACrB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAkB,EAClB,SAAkB,EAClB,WAAkB,EAClB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,cAAc,EACd,oBAAoB,EACpB,GAAG,IAAI,EACR,EAAE,WAAW,sCAkPb;yBAtQe,MAAM"}
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAA0B,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAgB5C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAI9C,OAAO,KAAK,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAMjE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAwQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,aAAqB,EACrB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAkB,EAClB,SAAkB,EAClB,WAAkB,EAClB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,cAAc,EACd,oBAAoB,EACpB,GAAG,IAAI,EACR,EAAE,WAAW,sCAqQb;yBAzRe,MAAM"}
@@ -95,10 +95,10 @@ const defaultIconNames = {
95
95
  success: 'success'
96
96
  };
97
97
  const statusIconColor = {
98
- info: 'accent',
99
- warning: 'warning',
100
- error: 'error',
101
- success: 'success'
98
+ info: 'inherit',
99
+ warning: 'inherit',
100
+ error: 'inherit',
101
+ success: 'inherit'
102
102
  };
103
103
 
104
104
  // =============================================================================
@@ -166,19 +166,60 @@ const styles = {
166
166
  };
167
167
  const statusStyles = {
168
168
  info: {
169
- kWkggS: "xgcxg3y",
169
+ kWkggS: "xjeheca",
170
+ kMwMTN: "x1w9aomi",
171
+ kMeerF: "xcthrzx",
172
+ k3XXqK: "x815t2r",
173
+ kjBf7l: "x3teovq",
174
+ kInvED: "xvr1dqx",
170
175
  $$css: true
171
176
  },
172
177
  warning: {
173
178
  kWkggS: "x24i8r5",
179
+ kMwMTN: "xfy1f8t",
180
+ kMeerF: "xcthrzx",
181
+ k3XXqK: "x815t2r",
182
+ kjBf7l: "x3teovq",
183
+ kInvED: "xvr1dqx",
174
184
  $$css: true
175
185
  },
176
186
  error: {
177
187
  kWkggS: "x1pritpl",
188
+ kMwMTN: "xl8t7bd",
189
+ kMeerF: "xcthrzx",
190
+ k3XXqK: "x815t2r",
191
+ kjBf7l: "x3teovq",
192
+ kInvED: "xvr1dqx",
178
193
  $$css: true
179
194
  },
180
195
  success: {
181
196
  kWkggS: "xu13z74",
197
+ kMwMTN: "xvchut",
198
+ kMeerF: "xcthrzx",
199
+ k3XXqK: "x815t2r",
200
+ kjBf7l: "x3teovq",
201
+ kInvED: "xvr1dqx",
202
+ $$css: true
203
+ }
204
+ };
205
+
206
+ // Scope status text context to each built-in Button. Its tooltip is a sibling,
207
+ // so it does not inherit these control-only variables.
208
+ const statusControlStyles = {
209
+ info: {
210
+ "--color-text-primary": "x1lheorj",
211
+ $$css: true
212
+ },
213
+ warning: {
214
+ "--color-text-primary": "xtlqn95",
215
+ $$css: true
216
+ },
217
+ error: {
218
+ "--color-text-primary": "xyur9ww",
219
+ $$css: true
220
+ },
221
+ success: {
222
+ "--color-text-primary": "xul3f6w",
182
223
  $$css: true
183
224
  }
184
225
  };
@@ -427,13 +468,23 @@ export function Banner({
427
468
  }[!!isRenderable(endContent) << 0],
428
469
  children: [/*#__PURE__*/_jsx("div", {
429
470
  ...{
430
- className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og x1tgivj0 xj0a0fe"
431
- },
471
+ 0: {
472
+ className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og x1tgivj0 xj0a0fe"
473
+ },
474
+ 1: {
475
+ className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og xj0a0fe x1heor9g"
476
+ }
477
+ }[!!hasStatusStyle(status) << 0],
432
478
  children: title
433
479
  }), isRenderable(description) && /*#__PURE__*/_jsx("div", {
434
480
  ...mergeProps(themeProps('banner-description'), {
435
- className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xv1l7n4 xj0a0fe"
436
- }),
481
+ 0: {
482
+ className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xv1l7n4 xj0a0fe"
483
+ },
484
+ 1: {
485
+ className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xj0a0fe x1heor9g"
486
+ }
487
+ }[!!hasStatusStyle(status) << 0]),
437
488
  children: description
438
489
  })]
439
490
  }), showEndArea && /*#__PURE__*/_jsxs("div", {
@@ -450,6 +501,7 @@ export function Banner({
450
501
  xstyle: [styles.chevron, isExpanded && styles.chevronExpanded]
451
502
  }),
452
503
  onClick: handleToggleExpand,
504
+ className: hasStatusStyle(status) ? stylex.props(statusControlStyles[status]).className : undefined,
453
505
  "aria-expanded": isExpanded,
454
506
  "aria-controls": showContent ? contentId : undefined,
455
507
  isIconOnly: true
@@ -464,6 +516,7 @@ export function Banner({
464
516
  color: "inherit"
465
517
  }),
466
518
  onClick: handleDismiss,
519
+ className: hasStatusStyle(status) ? stylex.props(statusControlStyles[status]).className : undefined,
467
520
  isIconOnly: true
468
521
  })]
469
522
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * Last synced props: label, variant, size, isDisabled, isLoading, isInterruptible, clickAction, icon, isIconOnly, width, children, tooltip, endContent, href, as, target, rel
19
19
  */
20
- import { useEffect, useRef, useState, useTransition } from 'react';
20
+ import { use, useEffect, useRef, useState, useTransition } from 'react';
21
21
  import * as stylex from '@stylexjs/stylex';
22
22
  import { useTooltip } from "../Tooltip/useTooltip.js";
23
23
  import "../theme/tokens.stylex.js";
@@ -30,7 +30,8 @@ import { EDGE_COMP_ATTR } from "../Layout/edgeCompensation.stylex.js";
30
30
  import { useSize } from "../SizeContext/SizeContext.js";
31
31
  import { useButtonGroup } from "../ButtonGroup/ButtonGroupContext.js";
32
32
  import { useInputGroup } from "../InputGroup/InputGroupContext.js";
33
- import { groupStyles as inputGroupStyles } from "../InputGroup/groupStyles.js";
33
+ import { InputGroupInternalContext } from "../InputGroup/InputGroupInternalContext.js";
34
+ import { groupStyles as inputGroupStyles, inputGroupItemProps } from "../InputGroup/groupStyles.js";
34
35
  import { mergeProps } from "../utils/index.js";
35
36
  import { useMergedRefs } from "../hooks/useMergedRefs.js";
36
37
  import { useLinkComponent } from "../Link/useLinkComponent.js";
@@ -190,6 +191,9 @@ const variants = {
190
191
  destructive: {
191
192
  kWkggS: "x1pjz0fi",
192
193
  kMwMTN: "x1m024r3",
194
+ kMzoRj: "xc342km x13rsnn2",
195
+ ksu8eU: "xng3xce xx61lck",
196
+ kVAM5u: "x1w1tqly",
193
197
  kjBf7l: "x1e0x2sz",
194
198
  $$css: true
195
199
  }
@@ -377,7 +381,8 @@ export function Button({
377
381
  // the consumer is deliberately showing it.
378
382
  const delaySpinner = isPending || isInterruptible;
379
383
  const groupDisabled = buttonGroup?.isDisabled ?? false;
380
- const isTrueDisabled = isDisabled || groupDisabled;
384
+ const inputGroupState = use(InputGroupInternalContext);
385
+ const isTrueDisabled = isDisabled || groupDisabled || inputGroupState.isDisabled;
381
386
  // Busy-only: the button can't fire again purely because an action is in
382
387
  // flight, not because it's genuinely isDisabled/group-disabled. Per the API
383
388
  // Conventions "Disabled vs Busy" rule, busy is visual-only (aria-busy +
@@ -549,6 +554,7 @@ export function Button({
549
554
  href: href,
550
555
  target: target,
551
556
  rel: rel,
557
+ ...(inputGroup != null && buttonGroup == null ? inputGroupItemProps : undefined),
552
558
  ...sharedMergedProps,
553
559
  ...pressFeedback,
554
560
  ...props,
@@ -570,6 +576,7 @@ export function Button({
570
576
  ref: mergedButtonRef,
571
577
  type: type,
572
578
  disabled: useAriaDisabled ? undefined : buttonDisabled,
579
+ ...(inputGroup != null && buttonGroup == null ? inputGroupItemProps : undefined),
573
580
  ...sharedMergedProps,
574
581
  ...pressFeedback,
575
582
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAgC5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAI3B,6GAA6G;IAC7G,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,yHAAyH;IACzH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,yGAAyG;IACzG,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gHAAgH;IAChH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gHAAgH;IAChH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iEAAiE;IACjE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,oDAAoD;IACpD,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CACnC;AAkND;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAmOpD;yBAnOe,YAAY"}
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAgC5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAI3B,6GAA6G;IAC7G,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,yHAAyH;IACzH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,yGAAyG;IACzG,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gHAAgH;IAChH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gHAAgH;IAChH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iEAAiE;IACjE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,oDAAoD;IACpD,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CACnC;AAoOD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAqOpD;yBArOe,YAAY"}
@@ -214,28 +214,31 @@ export function ChatComposer(props) {
214
214
  className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x2gtn7z x9jihrk x1z0f2p2 xy7p8pm xzc3kxz"
215
215
  },
216
216
  2: {
217
- className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x1htvmrp xvpcij2 xckg3cf xkvxy4d x6k0y1c x1pritpl x1joocv1"
217
+ className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x1htvmrp xvpcij2 xckg3cf xkvxy4d x6k0y1c x1pritpl xl8t7bd xcthrzx x815t2r x3teovq xvr1dqx"
218
218
  },
219
219
  6: {
220
- className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x2gtn7z x9jihrk x1z0f2p2 xy7p8pm xzc3kxz x1pritpl x1joocv1"
220
+ className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x2gtn7z x9jihrk x1z0f2p2 xy7p8pm xzc3kxz x1pritpl xl8t7bd xcthrzx x815t2r x3teovq xvr1dqx"
221
221
  },
222
222
  1: {
223
- className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x1htvmrp xvpcij2 xckg3cf xkvxy4d x6k0y1c x24i8r5 xdhq94a"
223
+ className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x1htvmrp xvpcij2 xckg3cf xkvxy4d x6k0y1c x24i8r5 xfy1f8t xcthrzx x815t2r x3teovq xvr1dqx"
224
224
  },
225
225
  5: {
226
- className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x2gtn7z x9jihrk x1z0f2p2 xy7p8pm xzc3kxz x24i8r5 xdhq94a"
226
+ className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x2gtn7z x9jihrk x1z0f2p2 xy7p8pm xzc3kxz x24i8r5 xfy1f8t xcthrzx x815t2r x3teovq xvr1dqx"
227
227
  },
228
228
  3: {
229
- className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x1htvmrp xvpcij2 xckg3cf xkvxy4d x6k0y1c x24i8r5 xdhq94a"
229
+ className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x1htvmrp xvpcij2 xckg3cf xkvxy4d x6k0y1c x24i8r5 xfy1f8t xcthrzx x815t2r x3teovq xvr1dqx"
230
230
  },
231
231
  7: {
232
- className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x2gtn7z x9jihrk x1z0f2p2 xy7p8pm xzc3kxz x24i8r5 xdhq94a"
232
+ className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x2gtn7z x9jihrk x1z0f2p2 xy7p8pm xzc3kxz x24i8r5 xfy1f8t xcthrzx x815t2r x3teovq xvr1dqx"
233
233
  }
234
234
  }[!!(statusPosition === 'top') << 2 | !!(status.type === 'error') << 1 | !!(status.type === 'warning') << 0],
235
235
  children: [/*#__PURE__*/_jsx(Icon, {
236
236
  icon: status.type === 'error' ? 'error' : 'warning',
237
- size: "md",
238
- color: status.type === 'error' ? 'error' : 'warning'
237
+ size: "md"
238
+ // The glyph sits on the pale status fill, so it takes the bar's
239
+ // on-muted content colour, as Banner and FieldStatus glyphs do.
240
+ ,
241
+ color: "inherit"
239
242
  }), status.message]
240
243
  }) : null;
241
244
  const composerContext = useMemo(() => ({
@@ -121,13 +121,13 @@ export function ChatMessageMetadata({
121
121
  className: "x3nfvp2 x6s0dn4 xzye2dw"
122
122
  },
123
123
  2: {
124
- className: "x3nfvp2 x6s0dn4 xzye2dw xjt36v0"
124
+ className: "x3nfvp2 x6s0dn4 xzye2dw x1wj83wy"
125
125
  },
126
126
  1: {
127
127
  className: "x3nfvp2 x6s0dn4 xzye2dw xcx56e2 xmg6eyc x4hg4is xa4qsjk x1aquc0h"
128
128
  },
129
129
  3: {
130
- className: "x3nfvp2 x6s0dn4 xzye2dw xjt36v0 xcx56e2 xmg6eyc x4hg4is xa4qsjk x1aquc0h"
130
+ className: "x3nfvp2 x6s0dn4 xzye2dw x1wj83wy xcx56e2 xmg6eyc x4hg4is xa4qsjk x1aquc0h"
131
131
  }
132
132
  }[!!(status === 'error') << 1 | !!(status === 'sending') << 0],
133
133
  children: [/*#__PURE__*/_jsx(Icon, {
@@ -102,11 +102,11 @@ const styles = {
102
102
  $$css: true
103
103
  },
104
104
  colorComplete: {
105
- kMwMTN: "xtjic6",
105
+ kMwMTN: "x1vau044",
106
106
  $$css: true
107
107
  },
108
108
  colorError: {
109
- kMwMTN: "xjt36v0",
109
+ kMwMTN: "xskb5cx",
110
110
  $$css: true
111
111
  }
112
112
  };
@@ -214,12 +214,12 @@ function CallRow({
214
214
  },
215
215
  children: [call.additions != null && /*#__PURE__*/_jsxs("span", {
216
216
  ...{
217
- className: "xtjic6"
217
+ className: "x1caiuuo"
218
218
  },
219
219
  children: ["+", call.additions]
220
220
  }), call.deletions != null && /*#__PURE__*/_jsxs("span", {
221
221
  ...{
222
- className: "xjt36v0"
222
+ className: "x1wj83wy"
223
223
  },
224
224
  children: ["-", call.deletions]
225
225
  }), call.stats]
@@ -1,10 +1,19 @@
1
1
  import * as React from 'react';
2
2
  import type { BaseProps } from '../BaseProps.js';
3
+ import type { CodeLanguage } from './grammar.js';
3
4
  import { type SyntaxThemeDefinition } from '../theme/syntax/index.js';
4
5
  export interface CodeBlockProps extends BaseProps<HTMLPreElement> {
5
6
  ref?: React.Ref<HTMLPreElement>;
6
7
  code: string;
7
- language?: string;
8
+ /**
9
+ * The code's language: a built-in identifier such as `'rust'`, or a
10
+ * language value — a module imported on its own, such as `graphql` from
11
+ * `@astryxdesign/core/CodeBlock/languages/graphql`, or one made with
12
+ * `createCodeLanguage`. A string selects only a built-in grammar; the label
13
+ * shows the string, or the value's `name`.
14
+ * @default 'plaintext'
15
+ */
16
+ language?: string | CodeLanguage;
8
17
  title?: string;
9
18
  hasLanguageLabel?: boolean;
10
19
  hasLineNumbers?: boolean;
@@ -25,7 +34,7 @@ export interface CodeBlockProps extends BaseProps<HTMLPreElement> {
25
34
  * has one, otherwise beside the code in the top inline-end corner, never
26
35
  * over it. It never creates a header, and activating it never collapses the
27
36
  * block. You own each control's label, state, and action; ghost `sm`
28
- * IconButtons match Copy.
37
+ * IconButtons match Copy's size and variant.
29
38
  */
30
39
  endContent?: React.ReactNode;
31
40
  isWrapped?: boolean;
@@ -51,6 +60,11 @@ export interface CodeBlockProps extends BaseProps<HTMLPreElement> {
51
60
  * @default 'card'
52
61
  */
53
62
  container?: 'card' | 'section';
63
+ /**
64
+ * Your own tokenizer; it wins over `language`'s grammar. The same function
65
+ * also makes a custom language: `createCodeLanguage({name, identifiers,
66
+ * tokenize})`.
67
+ */
54
68
  tokenizer?: (code: string, language: string) => {
55
69
  type: string;
56
70
  start: number;
@@ -1 +1 @@
1
- {"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAgC5C,OAAO,EAAc,KAAK,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAuexE,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,KACb;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAClD,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AA0SD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,QAAsB,EACtB,KAAK,EACL,gBAAuB,EACvB,cAAsB,EACtB,cAAc,EACd,MAAc,EACd,aAAoB,EACpB,MAAM,EACN,UAAU,EACV,SAAiB,EACjB,SAAS,EACT,aAAqB,EACrB,oBAAyB,EACzB,IAAW,EACX,KAAK,EAAE,SAAyB,EAChC,SAAkB,EAClB,SAAS,EAAE,eAAe,EAC1B,aAAsB,EACtB,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,cAAc,qBAsShB;yBAhUe,SAAS"}
1
+ {"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA2B5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAW5C,OAAO,EAAc,KAAK,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAuexE,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,KACb;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAClD,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAyTD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,QAAsB,EACtB,KAAK,EACL,gBAAuB,EACvB,cAAsB,EACtB,cAAc,EACd,MAAc,EACd,aAAoB,EACpB,MAAM,EACN,UAAU,EACV,SAAiB,EACjB,SAAS,EACT,aAAqB,EACrB,oBAAyB,EACzB,IAAW,EACX,KAAK,EAAE,SAAyB,EAChC,SAAkB,EAClB,SAAS,EAAE,eAAe,EAC1B,aAAsB,EACtB,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,cAAc,qBA8ShB;yBAxUe,SAAS"}
@@ -19,6 +19,7 @@ import { useScrollableArea } from "../hooks/useScrollableArea.js";
19
19
  import { Icon } from "../Icon/index.js";
20
20
  import { IconButton } from "../IconButton/index.js";
21
21
  import { tokenize, tokenizeAsync, splitDiffLines, flatTokensToLines, SYNC_TOKENIZE_THRESHOLD } from "./tokenizer.js";
22
+ import { isCustomCodeLanguage, languageKey, languageLabel as languageWord } from "./grammar.js";
22
23
  import { ensureHighlightStyles } from "./highlightStyles.js";
23
24
  import { applyHighlightRangesChunked } from "./highlightRanges.js";
24
25
  import { themeProps } from "../utils/themeProps.js";
@@ -326,15 +327,21 @@ function useTokenLines(code, language, customTokenizer) {
326
327
  const [asyncTokenResult, setAsyncTokenResult] = useState(null);
327
328
  const syncTokens = useMemo(() => {
328
329
  if (customTokenizer) {
329
- return flatTokensToLines(customTokenizer(code, language), code);
330
+ return flatTokensToLines(customTokenizer(code, languageWord(language)), code);
330
331
  }
331
- if (code.length >= SYNC_TOKENIZE_THRESHOLD) {
332
+ // A custom language paints synchronously at any length, as `tokenizer`
333
+ // does, so the codemod's rewrite keeps the same first paint (FR13).
334
+ if (code.length >= SYNC_TOKENIZE_THRESHOLD && !isCustomCodeLanguage(language)) {
332
335
  return null;
333
336
  }
334
337
  return tokenize(code, language);
335
338
  }, [code, language, customTokenizer]);
339
+
340
+ // Synchronizes long code with a scheduler-yielding tokenize task: it starts
341
+ // when the code, language, or tokenizer changes, and the
342
+ // cleanup aborts the previous one.
336
343
  useEffect(() => {
337
- if (code.length < SYNC_TOKENIZE_THRESHOLD || customTokenizer) {
344
+ if (code.length < SYNC_TOKENIZE_THRESHOLD || customTokenizer || isCustomCodeLanguage(language)) {
338
345
  return;
339
346
  }
340
347
  const abortController = new AbortController();
@@ -598,7 +605,11 @@ export function CodeBlock({
598
605
  // With the diff layer on, the label and viewport name say so: `diff` over
599
606
  // plaintext, `tsx diff` over a language — so a diff keeps its header,
600
607
  // collapse control, and a name that still matches a `diff` fence.
601
- const languageLabel = !hasLanguageLabel ? null : isDiff ? language === 'plaintext' ? 'diff' : `${language} diff` : language !== 'plaintext' ? language : null;
608
+ // A language value labels with its `name` and reflects its first
609
+ // identifier as `data-language`, so theme selectors keep matching (FR13).
610
+ const languageName = languageWord(language);
611
+ const languageAttr = languageKey(language);
612
+ const languageLabel = !hasLanguageLabel ? null : isDiff ? languageName === 'plaintext' ? 'diff' : `${languageName} diff` : languageName !== 'plaintext' ? languageName : null;
602
613
  const showHeader = title != null || languageLabel != null;
603
614
 
604
615
  // A collapsed body must never outlive the visible header that controls it.
@@ -665,7 +676,7 @@ export function CodeBlock({
665
676
  const headerEl = showHeader ? /*#__PURE__*/_jsxs("div", {
666
677
  ...mergeProps(themeProps('code-block-header', {
667
678
  size,
668
- language,
679
+ language: languageAttr,
669
680
  container
670
681
  }), {
671
682
  0: {
@@ -692,7 +703,7 @@ export function CodeBlock({
692
703
  children: /*#__PURE__*/_jsxs("span", {
693
704
  ...mergeProps(themeProps('code-block-title', {
694
705
  size,
695
- language
706
+ language: languageAttr
696
707
  }), {
697
708
  className: "x78zum5 x6s0dn4 x141an7d x9m5x89 x1e4wzip x1mjzq1q x1ghz6dp x1ltkj2j"
698
709
  }),
@@ -757,7 +768,7 @@ export function CodeBlock({
757
768
  ref: ref,
758
769
  ...mergeProps(themeProps('code-block', {
759
770
  size,
760
- language,
771
+ language: languageAttr,
761
772
  container
762
773
  }), stylex.props(styles.root, hasControls && !showHeader && styles.rootCorner, dynamicStyles.width(widthProp), containerStyles[container], xstyle), className, style),
763
774
  ...props,
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @file grammar.ts
3
+ * @input Nothing
4
+ * @output Shared pattern builders for CodeBlock grammars, the CodeLanguage
5
+ * value, createCodeLanguage, and lookups by identifier and file name
6
+ * @position Shared utility; consumed by tokenizer.ts and the modules under
7
+ * languages/
8
+ *
9
+ * SYNC: When modified, update:
10
+ * - /packages/core/src/CodeBlock/tokenizer.ts
11
+ * - /packages/core/src/CodeBlock/languages/
12
+ */
13
+ /** One grammar rule: text matching `regex` paints as `type`. */
14
+ export type GrammarPattern = {
15
+ type: string;
16
+ regex: RegExp;
17
+ };
18
+ /** A language's rules, tried in order at each position. */
19
+ export type Grammar = {
20
+ patterns: GrammarPattern[];
21
+ /** SyntaxToken type that matches the element's default text color (skipped in output). */
22
+ defaultType: string;
23
+ };
24
+ declare const LANGUAGE: unique symbol;
25
+ /** A flat token from a custom tokenize function: absolute offsets in `code`. */
26
+ export type CodeLanguageToken = {
27
+ type: string;
28
+ start: number;
29
+ end: number;
30
+ };
31
+ /** A custom language's tokenize function, the shape `tokenizer` takes. */
32
+ export type CodeLanguageTokenize = (code: string, language: string) => CodeLanguageToken[];
33
+ /**
34
+ * A language value: an Astryx module from
35
+ * `@astryxdesign/core/CodeBlock/languages/<path>`, or a custom language from
36
+ * `createCodeLanguage`. Pass it as `language`.
37
+ */
38
+ export type CodeLanguage = {
39
+ /** The identifier the label shows, such as `graphql`; shown verbatim. */
40
+ readonly name: string;
41
+ /** The words that name this language in `language` strings and fences. */
42
+ readonly identifiers: ReadonlyArray<string>;
43
+ /** File extensions (no dot) that infer this language, such as `graphql`. */
44
+ readonly fileExtensions: ReadonlyArray<string>;
45
+ /** Whole file names that infer this language, such as `Dockerfile`. */
46
+ readonly fileNames: ReadonlyArray<string>;
47
+ readonly [LANGUAGE]: true;
48
+ };
49
+ /** How a language value paints: Astryx grammar data or a custom function. */
50
+ export type CodeLanguagePainter = {
51
+ kind: 'grammar';
52
+ grammar: Grammar;
53
+ } | {
54
+ kind: 'tokenize';
55
+ tokenize: CodeLanguageTokenize;
56
+ };
57
+ type CodeLanguageMeta = {
58
+ name: string;
59
+ identifiers: ReadonlyArray<string>;
60
+ fileExtensions?: ReadonlyArray<string>;
61
+ fileNames?: ReadonlyArray<string>;
62
+ };
63
+ /** Make an Astryx language module from grammar data. Internal. */
64
+ export declare function defineCodeLanguage(meta: CodeLanguageMeta, grammar: () => Grammar): CodeLanguage;
65
+ export type CreateCodeLanguageOptions = CodeLanguageMeta & {
66
+ /** Returns the tokens of `code`; runs synchronously. */
67
+ tokenize: CodeLanguageTokenize;
68
+ };
69
+ /**
70
+ * Make a custom language value from your own tokenize function. It works
71
+ * everywhere an Astryx language module does, starting with `language`.
72
+ *
73
+ * @example
74
+ * ```
75
+ * const zig = createCodeLanguage({
76
+ * name: 'zig',
77
+ * identifiers: ['zig'],
78
+ * fileExtensions: ['zig'],
79
+ * tokenize: zigTokens,
80
+ * });
81
+ * <CodeBlock language={zig} code={source} />
82
+ * ```
83
+ */
84
+ export declare function createCodeLanguage({ tokenize, ...meta }: CreateCodeLanguageOptions): CodeLanguage;
85
+ /** Whether `value` is a language value. */
86
+ export declare function isCodeLanguage(value: unknown): value is CodeLanguage;
87
+ /** How a language value paints, or null for any other value. */
88
+ export declare function codeLanguagePainter(language: CodeLanguage): CodeLanguagePainter | null;
89
+ /**
90
+ * Whether `language` is a custom language (made with `createCodeLanguage`),
91
+ * whose function runs synchronously at any length, as `tokenizer` does.
92
+ */
93
+ export declare function isCustomCodeLanguage(language: string | CodeLanguage): boolean;
94
+ /** The word a language reflects and labels: a string itself, or a value's name. */
95
+ export declare function languageLabel(language: string | CodeLanguage): string;
96
+ /** The word a language reflects as `data-language`: its first identifier. */
97
+ export declare function languageKey(language: string | CodeLanguage): string;
98
+ /** The listed value that claims `word`; a later entry wins. */
99
+ export declare function listedLanguage(languages: ReadonlyArray<CodeLanguage> | undefined, word: string): CodeLanguage | undefined;
100
+ /** The listed value a file's name or extension infers; a later entry wins. */
101
+ export declare function listedLanguageForFile(languages: ReadonlyArray<CodeLanguage> | undefined, fileName: string, extension: string | null): CodeLanguage | undefined;
102
+ /** A keyword alternation from a space-separated word list. */
103
+ export declare const keywords: (words: string) => RegExp;
104
+ export declare const NUMBER: RegExp;
105
+ export declare const DOUBLE_QUOTED: RegExp;
106
+ export declare const SINGLE_QUOTED: RegExp;
107
+ export declare const BLOCK_COMMENT: RegExp;
108
+ export declare const LINE_COMMENT: RegExp;
109
+ export declare const HASH_COMMENT: RegExp;
110
+ export declare const CALL: RegExp;
111
+ export declare const TYPE_NAME: RegExp;
112
+ export declare const OPERATOR: RegExp;
113
+ export declare const PUNCTUATION: RegExp;
114
+ /**
115
+ * A C-like grammar: comments, any extra rules, strings, numbers, keywords,
116
+ * calls, type names, operators, and punctuation, in that order.
117
+ */
118
+ export declare function cLike(words: string, extra?: GrammarPattern[], comments?: RegExp[]): Grammar;
119
+ /** A preprocessor directive at the start of a line (`#include`). */
120
+ export declare const DIRECTIVE: RegExp;
121
+ export declare const C_WORDS = "auto break case char const continue default do double else enum extern float for goto if inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while bool true false NULL nullptr";
122
+ export declare const CPP_WORDS = "auto break case char const continue default do double else enum extern float for goto if inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while bool true false NULL nullptr alignas alignof catch class concept constexpr consteval co_await co_return co_yield decltype delete explicit export friend mutable namespace new noexcept operator override private protected public requires static_assert template this throw try typename using virtual final";
123
+ export {};
124
+ //# sourceMappingURL=grammar.d.ts.map