@astryxdesign/core 0.5.0 → 0.5.1-canary.8359f1a

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 (612) hide show
  1. package/CHANGELOG.md +222 -0
  2. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  3. package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
  4. package/dist/AlertDialog/AlertDialog.js +45 -20
  5. package/dist/AspectRatio/AspectRatio.d.ts +6 -6
  6. package/dist/Avatar/Avatar.d.ts +25 -1
  7. package/dist/Avatar/Avatar.d.ts.map +1 -1
  8. package/dist/Avatar/Avatar.js +43 -9
  9. package/dist/Avatar/index.d.ts +2 -2
  10. package/dist/Avatar/index.d.ts.map +1 -1
  11. package/dist/Avatar/index.js +1 -1
  12. package/dist/AvatarGroup/AvatarGroup.d.ts +9 -2
  13. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  14. package/dist/AvatarGroup/AvatarGroup.js +5 -2
  15. package/dist/AvatarGroup/AvatarGroupContext.d.ts +2 -1
  16. package/dist/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
  17. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  18. package/dist/AvatarGroup/AvatarGroupOverflow.js +11 -7
  19. package/dist/Badge/Badge.d.ts.map +1 -1
  20. package/dist/Badge/Badge.js +26 -2
  21. package/dist/Banner/Banner.d.ts +10 -1
  22. package/dist/Banner/Banner.d.ts.map +1 -1
  23. package/dist/Banner/Banner.js +11 -2
  24. package/dist/Button/Button.d.ts.map +1 -1
  25. package/dist/Button/Button.js +8 -7
  26. package/dist/Calendar/Calendar.d.ts +4 -2
  27. package/dist/Calendar/Calendar.d.ts.map +1 -1
  28. package/dist/Calendar/Calendar.js +15 -21
  29. package/dist/Calendar/hooks/useCalendarDays.js +4 -6
  30. package/dist/Calendar/hooks/useCalendarNavigation.js +4 -6
  31. package/dist/Calendar/styles.d.ts +5 -20
  32. package/dist/Calendar/styles.d.ts.map +1 -1
  33. package/dist/Calendar/styles.js +15 -17
  34. package/dist/Card/Card.d.ts +12 -12
  35. package/dist/Card/Card.d.ts.map +1 -1
  36. package/dist/Card/Card.js +17 -9
  37. package/dist/Card/index.d.ts +35 -1
  38. package/dist/Card/index.d.ts.map +1 -1
  39. package/dist/Card/index.js +21 -1
  40. package/dist/Carousel/Carousel.d.ts.map +1 -1
  41. package/dist/Carousel/Carousel.js +108 -7
  42. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  43. package/dist/CheckboxInput/CheckboxInput.js +7 -1
  44. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  45. package/dist/CodeBlock/CodeBlock.js +15 -4
  46. package/dist/CodeBlock/highlightRanges.js +1 -1
  47. package/dist/CodeBlock/highlightStyles.js +13 -13
  48. package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
  49. package/dist/CommandPalette/CommandPaletteItem.js +2 -7
  50. package/dist/ComplexSelector/ComplexSelector.d.ts +10 -2
  51. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  52. package/dist/ComplexSelector/ComplexSelector.js +14 -7
  53. package/dist/DateInput/DateInput.d.ts +43 -0
  54. package/dist/DateInput/DateInput.d.ts.map +1 -1
  55. package/dist/DateInput/DateInput.js +22 -5
  56. package/dist/DateInput/MonthScroller.d.ts.map +1 -1
  57. package/dist/DateInput/MonthScroller.js +5 -3
  58. package/dist/DateInput/MonthYearWheels.d.ts.map +1 -1
  59. package/dist/DateInput/MonthYearWheels.js +6 -4
  60. package/dist/DateInput/NativeDateField.d.ts +10 -0
  61. package/dist/DateInput/NativeDateField.d.ts.map +1 -0
  62. package/dist/DateInput/NativeDateField.js +494 -0
  63. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  64. package/dist/DateInput/TouchDateField.js +52 -25
  65. package/dist/DateInput/Wheel.d.ts.map +1 -1
  66. package/dist/DateInput/Wheel.js +1 -0
  67. package/dist/DateInput/index.d.ts +1 -1
  68. package/dist/DateInput/index.d.ts.map +1 -1
  69. package/dist/DateInput/nativeDateSegments.d.ts +22 -0
  70. package/dist/DateInput/nativeDateSegments.d.ts.map +1 -0
  71. package/dist/DateInput/nativeDateSegments.js +111 -0
  72. package/dist/DateRangeInput/DateRangeInput.d.ts +4 -2
  73. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  74. package/dist/DateRangeInput/DateRangeInput.js +3 -5
  75. package/dist/DateTimeInput/DateTimeInput.d.ts +23 -24
  76. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  77. package/dist/DateTimeInput/DateTimeInput.js +35 -10
  78. package/dist/DateTimeInput/TouchDateTimeField.d.ts +6 -0
  79. package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -0
  80. package/dist/DateTimeInput/TouchDateTimeField.js +1021 -0
  81. package/dist/Dialog/Dialog.d.ts +16 -2
  82. package/dist/Dialog/Dialog.d.ts.map +1 -1
  83. package/dist/Dialog/Dialog.js +28 -7
  84. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  85. package/dist/DropdownMenu/DropdownMenu.js +4 -13
  86. package/dist/Field/FieldLabel.d.ts.map +1 -1
  87. package/dist/Field/FieldLabel.js +9 -1
  88. package/dist/Field/InputClearButton.d.ts +9 -3
  89. package/dist/Field/InputClearButton.d.ts.map +1 -1
  90. package/dist/Field/InputClearButton.js +14 -3
  91. package/dist/Heading/Heading.d.ts.map +1 -1
  92. package/dist/Heading/Heading.js +0 -1
  93. package/dist/HoverCard/HoverCard.d.ts.map +1 -1
  94. package/dist/HoverCard/HoverCard.js +104 -3
  95. package/dist/HoverCard/useHoverCard.d.ts +14 -2
  96. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  97. package/dist/HoverCard/useHoverCard.js +7 -1
  98. package/dist/Icon/Icon.d.ts +4 -2
  99. package/dist/Icon/Icon.d.ts.map +1 -1
  100. package/dist/Icon/defaultIcons.d.ts +3 -2
  101. package/dist/Icon/defaultIcons.d.ts.map +1 -1
  102. package/dist/Icon/defaultIcons.js +7 -0
  103. package/dist/Icon/globalIconRegistry.d.ts +13 -0
  104. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  105. package/dist/Icon/globalIconRegistry.js +34 -6
  106. package/dist/Icon/index.d.ts +1 -1
  107. package/dist/Icon/index.d.ts.map +1 -1
  108. package/dist/Icon/useIcon.d.ts +5 -2
  109. package/dist/Icon/useIcon.d.ts.map +1 -1
  110. package/dist/Icon/useIcon.js +3 -0
  111. package/dist/Indicator/CheckboxIndicator.d.ts.map +1 -1
  112. package/dist/Indicator/CheckboxIndicator.js +6 -2
  113. package/dist/Item/Item.d.ts.map +1 -1
  114. package/dist/Item/Item.js +2 -2
  115. package/dist/Kbd/Kbd.d.ts.map +1 -1
  116. package/dist/Kbd/Kbd.js +2 -26
  117. package/dist/Layer/gestureCounter.d.ts +8 -0
  118. package/dist/Layer/gestureCounter.d.ts.map +1 -0
  119. package/dist/Layer/gestureCounter.js +53 -0
  120. package/dist/Layer/useLayer.d.ts +23 -13
  121. package/dist/Layer/useLayer.d.ts.map +1 -1
  122. package/dist/Layer/useLayer.js +146 -24
  123. package/dist/List/List.d.ts +1 -1
  124. package/dist/List/List.d.ts.map +1 -1
  125. package/dist/List/List.js +15 -4
  126. package/dist/Markdown/Markdown.d.ts +1 -1
  127. package/dist/Markdown/Markdown.d.ts.map +1 -1
  128. package/dist/Markdown/Markdown.js +20 -7
  129. package/dist/Markdown/parser.d.ts.map +1 -1
  130. package/dist/Markdown/parser.js +5 -3
  131. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  132. package/dist/MetadataList/MetadataListItem.d.ts.map +1 -1
  133. package/dist/MetadataList/MetadataListItem.js +4 -1
  134. package/dist/MultiSelector/MultiSelector.d.ts +18 -1
  135. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  136. package/dist/MultiSelector/MultiSelector.js +58 -11
  137. package/dist/MultiSelector/hooks.d.ts +7 -1
  138. package/dist/MultiSelector/hooks.d.ts.map +1 -1
  139. package/dist/MultiSelector/hooks.js +3 -2
  140. package/dist/NavIcon/NavIcon.d.ts.map +1 -1
  141. package/dist/NavIcon/NavIcon.js +5 -1
  142. package/dist/NavItem/navItemStyles.stylex.d.ts +0 -8
  143. package/dist/NavItem/navItemStyles.stylex.d.ts.map +1 -1
  144. package/dist/NavItem/navItemStyles.stylex.js +0 -2
  145. package/dist/NavMenu/NavHeadingMenu.d.ts +1 -1
  146. package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
  147. package/dist/NavMenu/NavHeadingMenu.js +7 -4
  148. package/dist/NumberInput/NumberInput.d.ts +6 -1
  149. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  150. package/dist/NumberInput/NumberInput.js +95 -126
  151. package/dist/NumberInput/numberInputCommit.d.ts +34 -0
  152. package/dist/NumberInput/numberInputCommit.d.ts.map +1 -0
  153. package/dist/NumberInput/numberInputCommit.js +71 -0
  154. package/dist/NumberInput/numberParser.d.ts +64 -0
  155. package/dist/NumberInput/numberParser.d.ts.map +1 -0
  156. package/dist/NumberInput/numberParser.js +350 -0
  157. package/dist/Outline/Outline.d.ts.map +1 -1
  158. package/dist/Outline/Outline.js +2 -3
  159. package/dist/OverflowList/OverflowList.d.ts +41 -1
  160. package/dist/OverflowList/OverflowList.d.ts.map +1 -1
  161. package/dist/OverflowList/OverflowList.js +43 -2
  162. package/dist/Popover/Popover.d.ts.map +1 -1
  163. package/dist/Popover/Popover.js +8 -14
  164. package/dist/Popover/usePopover.d.ts +15 -41
  165. package/dist/Popover/usePopover.d.ts.map +1 -1
  166. package/dist/Popover/usePopover.js +26 -7
  167. package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
  168. package/dist/PowerSearch/PowerSearchValueEditor.js +91 -18
  169. package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
  170. package/dist/PowerSearch/formatFilterValue.js +4 -2
  171. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  172. package/dist/ProgressBar/ProgressBar.js +18 -5
  173. package/dist/Resizable/useResizable.d.ts +19 -1
  174. package/dist/Resizable/useResizable.d.ts.map +1 -1
  175. package/dist/Resizable/useResizable.js +104 -38
  176. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  177. package/dist/SelectableCard/SelectableCard.js +9 -0
  178. package/dist/Selector/Selector.d.ts +18 -1
  179. package/dist/Selector/Selector.d.ts.map +1 -1
  180. package/dist/Selector/Selector.js +92 -21
  181. package/dist/Selector/hooks.d.ts +7 -1
  182. package/dist/Selector/hooks.d.ts.map +1 -1
  183. package/dist/Selector/hooks.js +3 -2
  184. package/dist/SideNav/SideNav.d.ts +6 -1
  185. package/dist/SideNav/SideNav.d.ts.map +1 -1
  186. package/dist/SideNav/SideNav.js +57 -27
  187. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  188. package/dist/SideNav/SideNavHeading.js +5 -4
  189. package/dist/SideNav/SideNavItem.d.ts +29 -4
  190. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  191. package/dist/SideNav/SideNavItem.js +75 -20
  192. package/dist/Slider/Slider.d.ts.map +1 -1
  193. package/dist/Slider/Slider.js +34 -2
  194. package/dist/Spinner/Spinner.d.ts +3 -1
  195. package/dist/Spinner/Spinner.d.ts.map +1 -1
  196. package/dist/Spinner/Spinner.js +199 -20
  197. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  198. package/dist/StatusDot/StatusDot.js +6 -1
  199. package/dist/Stepper/Step.d.ts.map +1 -1
  200. package/dist/Stepper/Step.js +7 -6
  201. package/dist/Switch/Switch.d.ts.map +1 -1
  202. package/dist/Switch/Switch.js +5 -1
  203. package/dist/Table/BaseTable.d.ts.map +1 -1
  204. package/dist/Table/BaseTable.js +6 -1
  205. package/dist/Table/Table.d.ts.map +1 -1
  206. package/dist/Table/Table.js +3 -6
  207. package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  208. package/dist/Table/plugins/filtering/useTableFiltering.js +73 -4
  209. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +26 -0
  210. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
  211. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +34 -3
  212. package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
  213. package/dist/Table/plugins/selection/useTableSelection.js +25 -1
  214. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
  215. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +3 -4
  216. package/dist/Text/Text.d.ts.map +1 -1
  217. package/dist/Text/Text.js +0 -1
  218. package/dist/TextArea/TextArea.d.ts.map +1 -1
  219. package/dist/TextArea/TextArea.js +13 -8
  220. package/dist/Timestamp/Timestamp.d.ts +1 -1
  221. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  222. package/dist/Timestamp/Timestamp.js +10 -18
  223. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  224. package/dist/Timestamp/formatInstant.js +10 -5
  225. package/dist/Toast/Toast.d.ts +17 -2
  226. package/dist/Toast/Toast.d.ts.map +1 -1
  227. package/dist/Toast/Toast.js +77 -11
  228. package/dist/Toast/ToastViewport.d.ts +1 -0
  229. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  230. package/dist/Toast/ToastViewport.js +76 -21
  231. package/dist/Toast/index.d.ts +1 -1
  232. package/dist/Toast/index.d.ts.map +1 -1
  233. package/dist/Toast/types.d.ts +38 -0
  234. package/dist/Toast/types.d.ts.map +1 -1
  235. package/dist/Toast/useToastGesture.d.ts +26 -0
  236. package/dist/Toast/useToastGesture.d.ts.map +1 -0
  237. package/dist/Toast/useToastGesture.js +223 -0
  238. package/dist/Token/Token.d.ts +1 -1
  239. package/dist/Token/Token.d.ts.map +1 -1
  240. package/dist/Token/Token.js +23 -12
  241. package/dist/Token/TokenLink.d.ts +1 -1
  242. package/dist/Token/TokenLink.d.ts.map +1 -1
  243. package/dist/Token/TokenLink.js +5 -2
  244. package/dist/Tokenizer/Tokenizer.d.ts +12 -1
  245. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  246. package/dist/Tokenizer/Tokenizer.js +31 -21
  247. package/dist/TopNav/TopNavHeading.js +2 -2
  248. package/dist/TopNav/TopNavItem.d.ts.map +1 -1
  249. package/dist/TopNav/TopNavItem.js +3 -3
  250. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  251. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  252. package/dist/TopNav/TopNavMegaMenu.js +30 -9
  253. package/dist/TopNav/TopNavMegaMenuItem.d.ts.map +1 -1
  254. package/dist/TopNav/TopNavMegaMenuItem.js +3 -3
  255. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  256. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  257. package/dist/TopNav/TopNavMenu.js +21 -6
  258. package/dist/TreeList/TreeList.d.ts +1 -1
  259. package/dist/TreeList/TreeList.d.ts.map +1 -1
  260. package/dist/TreeList/TreeList.js +7 -2
  261. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  262. package/dist/TreeList/TreeListItem.js +2 -2
  263. package/dist/Typeahead/BaseTypeahead.d.ts +33 -0
  264. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  265. package/dist/Typeahead/BaseTypeahead.js +51 -8
  266. package/dist/Typeahead/Typeahead.d.ts +8 -1
  267. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  268. package/dist/Typeahead/Typeahead.js +2 -0
  269. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  270. package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
  271. package/dist/Typeahead/TypeaheadItem.js +7 -2
  272. package/dist/astryx.css +87 -22
  273. package/dist/hooks/useHotkeys.d.ts.map +1 -1
  274. package/dist/hooks/useHotkeys.js +3 -25
  275. package/dist/hooks/useOverflow.d.ts.map +1 -1
  276. package/dist/hooks/useOverflow.js +14 -4
  277. package/dist/i18n/InternationalizationContext.d.ts +2 -0
  278. package/dist/i18n/InternationalizationContext.d.ts.map +1 -1
  279. package/dist/i18n/InternationalizationContext.js +3 -1
  280. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  281. package/dist/i18n/InternationalizationProvider.js +3 -1
  282. package/dist/i18n/resolve.d.ts +1 -1
  283. package/dist/i18n/resolve.d.ts.map +1 -1
  284. package/dist/i18n/resolve.js +37 -38
  285. package/dist/i18n/useTranslator.d.ts.map +1 -1
  286. package/dist/i18n/useTranslator.js +2 -3
  287. package/dist/index.d.ts +1 -1
  288. package/dist/index.d.ts.map +1 -1
  289. package/dist/theme/Theme.d.ts.map +1 -1
  290. package/dist/theme/Theme.js +46 -10
  291. package/dist/theme/defineTheme.d.ts +9 -3
  292. package/dist/theme/defineTheme.d.ts.map +1 -1
  293. package/dist/theme/defineTheme.js +5 -0
  294. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  295. package/dist/theme/derivedVarRegistry.js +24 -4
  296. package/dist/theme/generateThemeRules.d.ts +21 -0
  297. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  298. package/dist/theme/generateThemeRules.js +26 -0
  299. package/dist/theme/syntax/tokens.d.ts +1 -1
  300. package/dist/theme/syntax/tokens.d.ts.map +1 -1
  301. package/dist/theme/syntax/tokens.js +5 -2
  302. package/dist/theme/useTheme.d.ts.map +1 -1
  303. package/dist/theme/useTheme.js +6 -7
  304. package/dist/utils/dateParser.d.ts +5 -8
  305. package/dist/utils/dateParser.d.ts.map +1 -1
  306. package/dist/utils/dateParser.js +10 -11
  307. package/dist/utils/focusOutline.stylex.d.ts +25 -0
  308. package/dist/utils/focusOutline.stylex.d.ts.map +1 -1
  309. package/dist/utils/focusOutline.stylex.js +15 -0
  310. package/dist/utils/interactionOverlay.stylex.d.ts +26 -0
  311. package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -0
  312. package/dist/utils/interactionOverlay.stylex.js +42 -0
  313. package/dist/utils/isApplePlatform.d.ts +18 -0
  314. package/dist/utils/isApplePlatform.d.ts.map +1 -0
  315. package/dist/utils/isApplePlatform.js +37 -0
  316. package/dist/utils/plainDate.d.ts +11 -0
  317. package/dist/utils/plainDate.d.ts.map +1 -1
  318. package/dist/utils/plainDate.js +20 -4
  319. package/locales/af-ZA.json +7 -7
  320. package/locales/ar-SA.json +7 -7
  321. package/locales/ca-ES.json +6 -6
  322. package/locales/cs-CZ.json +7 -7
  323. package/locales/da-DK.json +7 -7
  324. package/locales/de-DE.json +7 -7
  325. package/locales/el-GR.json +7 -7
  326. package/locales/en.json +178 -6
  327. package/locales/es-ES.json +6 -6
  328. package/locales/fi-FI.json +7 -7
  329. package/locales/fr-FR.json +7 -7
  330. package/locales/he-IL.json +7 -7
  331. package/locales/hu-HU.json +7 -7
  332. package/locales/it-IT.json +7 -7
  333. package/locales/ja-JP.json +7 -7
  334. package/locales/ko-KR.json +7 -7
  335. package/locales/nl-NL.json +7 -7
  336. package/locales/no-NO.json +7 -7
  337. package/locales/pl-PL.json +7 -7
  338. package/locales/pseudo.json +130 -1
  339. package/locales/pt-BR.json +7 -7
  340. package/locales/pt-PT.json +7 -7
  341. package/locales/ro-RO.json +7 -7
  342. package/locales/ru-RU.json +7 -7
  343. package/locales/sr-SP.json +7 -7
  344. package/locales/sv-SE.json +7 -7
  345. package/locales/tr-TR.json +7 -7
  346. package/locales/uk-UA.json +7 -7
  347. package/locales/vi-VN.json +7 -7
  348. package/locales/zh-CN.json +7 -7
  349. package/locales/zh-TW.json +7 -7
  350. package/package.json +4 -5
  351. package/src/AlertDialog/AlertDialog.doc.mjs +114 -30
  352. package/src/AlertDialog/AlertDialog.test.tsx +211 -2
  353. package/src/AlertDialog/AlertDialog.tsx +62 -20
  354. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  355. package/src/AspectRatio/AspectRatio.tsx +6 -6
  356. package/src/Avatar/Avatar.doc.mjs +12 -2
  357. package/src/Avatar/Avatar.test.tsx +80 -0
  358. package/src/Avatar/Avatar.tsx +64 -14
  359. package/src/Avatar/index.ts +2 -2
  360. package/src/AvatarGroup/AvatarGroup.doc.mjs +8 -2
  361. package/src/AvatarGroup/AvatarGroup.test.tsx +24 -0
  362. package/src/AvatarGroup/AvatarGroup.tsx +12 -4
  363. package/src/AvatarGroup/AvatarGroupContext.ts +5 -3
  364. package/src/AvatarGroup/AvatarGroupOverflow.tsx +12 -12
  365. package/src/Badge/Badge.doc.mjs +3 -2
  366. package/src/Badge/Badge.test.tsx +32 -3
  367. package/src/Badge/Badge.tsx +42 -1
  368. package/src/Banner/Banner.doc.mjs +9 -0
  369. package/src/Banner/Banner.test.tsx +76 -11
  370. package/src/Banner/Banner.tsx +21 -2
  371. package/src/Button/Button.doc.mjs +2 -1
  372. package/src/Button/Button.test.tsx +19 -4
  373. package/src/Button/Button.tsx +9 -29
  374. package/src/ButtonGroup/ButtonGroup.doc.mjs +2 -2
  375. package/src/ButtonGroup/ButtonGroup.test.tsx +13 -0
  376. package/src/Calendar/Calendar.doc.mjs +3 -3
  377. package/src/Calendar/Calendar.test.tsx +112 -0
  378. package/src/Calendar/Calendar.tsx +18 -16
  379. package/src/Calendar/hooks/useCalendarDays.ts +4 -4
  380. package/src/Calendar/hooks/useCalendarNavigation.ts +4 -4
  381. package/src/Calendar/styles.ts +48 -42
  382. package/src/Card/Card.doc.mjs +10 -7
  383. package/src/Card/Card.test.tsx +113 -19
  384. package/src/Card/Card.tsx +67 -89
  385. package/src/Card/index.ts +36 -1
  386. package/src/Carousel/Carousel.doc.mjs +3 -0
  387. package/src/Carousel/Carousel.test.tsx +360 -0
  388. package/src/Carousel/Carousel.tsx +116 -15
  389. package/src/CheckboxInput/CheckboxInput.doc.mjs +2 -0
  390. package/src/CheckboxInput/CheckboxInput.test.tsx +15 -0
  391. package/src/CheckboxInput/CheckboxInput.tsx +5 -0
  392. package/src/CodeBlock/CodeBlock.doc.mjs +10 -4
  393. package/src/CodeBlock/CodeBlock.test.tsx +37 -0
  394. package/src/CodeBlock/CodeBlock.tsx +20 -4
  395. package/src/CodeBlock/highlightRanges.ts +1 -1
  396. package/src/CodeBlock/highlightStyles.ts +13 -13
  397. package/src/CommandPalette/CommandPaletteItem.tsx +2 -12
  398. package/src/ComplexSelector/ComplexSelector.doc.mjs +7 -0
  399. package/src/ComplexSelector/ComplexSelector.test.tsx +183 -0
  400. package/src/ComplexSelector/ComplexSelector.tsx +22 -12
  401. package/src/DateInput/DateInput.doc.mjs +16 -0
  402. package/src/DateInput/DateInput.test.tsx +9 -4
  403. package/src/DateInput/DateInput.tsx +54 -3
  404. package/src/DateInput/DateInputTouch.test.tsx +146 -32
  405. package/src/DateInput/MonthScroller.tsx +5 -1
  406. package/src/DateInput/MonthYearWheels.tsx +7 -4
  407. package/src/DateInput/NativeDateField.test.tsx +635 -0
  408. package/src/DateInput/NativeDateField.tsx +641 -0
  409. package/src/DateInput/TouchDateField.tsx +83 -33
  410. package/src/DateInput/Wheel.tsx +1 -0
  411. package/src/DateInput/index.ts +1 -0
  412. package/src/DateInput/nativeDateSegments.ts +127 -0
  413. package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
  414. package/src/DateRangeInput/DateRangeInput.test.tsx +46 -0
  415. package/src/DateRangeInput/DateRangeInput.tsx +8 -13
  416. package/src/DateTimeInput/DateTimeInput.doc.mjs +38 -21
  417. package/src/DateTimeInput/DateTimeInput.test.tsx +76 -0
  418. package/src/DateTimeInput/DateTimeInput.tsx +54 -20
  419. package/src/DateTimeInput/DateTimeInputTouch.test.tsx +980 -0
  420. package/src/DateTimeInput/TouchDateTimeField.tsx +1437 -0
  421. package/src/Dialog/Dialog.test.tsx +185 -18
  422. package/src/Dialog/Dialog.tsx +35 -11
  423. package/src/DropdownMenu/DropdownMenu.test.tsx +44 -10
  424. package/src/DropdownMenu/DropdownMenu.tsx +4 -13
  425. package/src/Field/FieldLabel.test.tsx +29 -0
  426. package/src/Field/FieldLabel.tsx +7 -0
  427. package/src/Field/InputClearButton.test.tsx +15 -1
  428. package/src/Field/InputClearButton.tsx +28 -4
  429. package/src/Heading/Heading.tsx +0 -1
  430. package/src/HoverCard/HoverCard.doc.mjs +8 -2
  431. package/src/HoverCard/HoverCard.test.tsx +154 -4
  432. package/src/HoverCard/HoverCard.tsx +137 -3
  433. package/src/HoverCard/useHoverCard.tsx +23 -3
  434. package/src/Icon/Icon.test.tsx +55 -1
  435. package/src/Icon/Icon.tsx +5 -3
  436. package/src/Icon/defaultIcons.tsx +11 -2
  437. package/src/Icon/globalIconRegistry.test.tsx +16 -3
  438. package/src/Icon/globalIconRegistry.tsx +37 -6
  439. package/src/Icon/index.ts +1 -0
  440. package/src/Icon/useIcon.ts +9 -2
  441. package/src/Indicator/CheckboxIndicator.tsx +14 -8
  442. package/src/Indicator/Indicator.doc.mjs +2 -0
  443. package/src/Item/Item.tsx +2 -7
  444. package/src/Kbd/Kbd.test.tsx +0 -17
  445. package/src/Kbd/Kbd.tsx +2 -26
  446. package/src/Layer/gestureCounter.ts +57 -0
  447. package/src/Layer/useLayer.test.tsx +368 -16
  448. package/src/Layer/useLayer.tsx +208 -35
  449. package/src/Layout/__tests__/edgeCompensation.test.tsx +1 -1
  450. package/src/List/List.test.tsx +38 -0
  451. package/src/List/List.tsx +8 -1
  452. package/src/Markdown/Markdown.test.tsx +37 -0
  453. package/src/Markdown/Markdown.tsx +16 -5
  454. package/src/Markdown/parser.test.ts +33 -0
  455. package/src/Markdown/parser.ts +9 -3
  456. package/src/MetadataList/MetadataList.test.tsx +75 -2
  457. package/src/MetadataList/MetadataListItem.tsx +5 -2
  458. package/src/MultiSelector/MultiSelector.doc.mjs +22 -1
  459. package/src/MultiSelector/MultiSelector.test.tsx +205 -0
  460. package/src/MultiSelector/MultiSelector.tsx +103 -16
  461. package/src/MultiSelector/hooks.ts +9 -2
  462. package/src/NavIcon/NavIcon.doc.mjs +8 -2
  463. package/src/NavIcon/NavIcon.test.tsx +9 -0
  464. package/src/NavIcon/NavIcon.tsx +5 -1
  465. package/src/NavItem/navItemStyles.stylex.ts +0 -8
  466. package/src/NavMenu/NavHeadingMenu.test.tsx +30 -0
  467. package/src/NavMenu/NavHeadingMenu.tsx +7 -4
  468. package/src/NumberInput/NumberInput.doc.mjs +26 -7
  469. package/src/NumberInput/NumberInput.test.tsx +563 -8
  470. package/src/NumberInput/NumberInput.tsx +77 -131
  471. package/src/NumberInput/numberInputCommit.test.ts +72 -0
  472. package/src/NumberInput/numberInputCommit.ts +103 -0
  473. package/src/NumberInput/numberParser.docblock.test.ts +234 -0
  474. package/src/NumberInput/numberParser.test.ts +222 -0
  475. package/src/NumberInput/numberParser.ts +403 -0
  476. package/src/Outline/Outline.tsx +2 -4
  477. package/src/OverflowList/OverflowList.doc.mjs +102 -21
  478. package/src/OverflowList/OverflowList.test.tsx +550 -4
  479. package/src/OverflowList/OverflowList.tsx +100 -2
  480. package/src/Pagination/Pagination.test.tsx +3 -2
  481. package/src/Popover/Popover.doc.mjs +2 -2
  482. package/src/Popover/Popover.test.tsx +38 -0
  483. package/src/Popover/Popover.tsx +28 -66
  484. package/src/Popover/usePopover.tsx +44 -5
  485. package/src/PowerSearch/PowerSearchEditPopover.test.tsx +87 -0
  486. package/src/PowerSearch/PowerSearchValueEditor.test.tsx +64 -0
  487. package/src/PowerSearch/PowerSearchValueEditor.tsx +109 -10
  488. package/src/PowerSearch/formatFilterValue.test.ts +16 -1
  489. package/src/PowerSearch/formatFilterValue.ts +2 -0
  490. package/src/ProgressBar/ProgressBar.doc.mjs +42 -6
  491. package/src/ProgressBar/ProgressBar.test.tsx +24 -0
  492. package/src/ProgressBar/ProgressBar.tsx +28 -8
  493. package/src/Resizable/Resizable.doc.mjs +2 -2
  494. package/src/Resizable/useResizable.doc.mjs +21 -2
  495. package/src/Resizable/useResizable.test.ts +421 -0
  496. package/src/Resizable/useResizable.ts +133 -48
  497. package/src/SelectableCard/SelectableCard.doc.mjs +3 -0
  498. package/src/SelectableCard/SelectableCard.tsx +16 -0
  499. package/src/Selector/Selector.doc.mjs +14 -0
  500. package/src/Selector/Selector.source-build.test.mjs +65 -0
  501. package/src/Selector/Selector.test.tsx +301 -0
  502. package/src/Selector/Selector.tsx +145 -32
  503. package/src/Selector/hooks.ts +17 -2
  504. package/src/SideNav/SideNav.doc.mjs +2 -2
  505. package/src/SideNav/SideNav.test.tsx +1069 -6
  506. package/src/SideNav/SideNav.tsx +109 -38
  507. package/src/SideNav/SideNavHeading.tsx +5 -2
  508. package/src/SideNav/SideNavItem.doc.mjs +24 -3
  509. package/src/SideNav/SideNavItem.tsx +134 -44
  510. package/src/Slider/Slider.test.tsx +106 -1
  511. package/src/Slider/Slider.tsx +52 -1
  512. package/src/Spinner/Spinner.doc.mjs +17 -5
  513. package/src/Spinner/Spinner.test.tsx +164 -0
  514. package/src/Spinner/Spinner.tsx +252 -22
  515. package/src/StatusDot/StatusDot.doc.mjs +8 -2
  516. package/src/StatusDot/StatusDot.test.tsx +9 -0
  517. package/src/StatusDot/StatusDot.tsx +7 -1
  518. package/src/Stepper/Step.doc.mjs +1 -1
  519. package/src/Stepper/Step.tsx +7 -14
  520. package/src/Switch/Switch.doc.mjs +2 -0
  521. package/src/Switch/Switch.test.tsx +10 -0
  522. package/src/Switch/Switch.tsx +3 -0
  523. package/src/Table/BaseTable.tsx +6 -1
  524. package/src/Table/Table.doc.mjs +5 -3
  525. package/src/Table/Table.tsx +3 -8
  526. package/src/Table/TableBody.doc.mjs +2 -2
  527. package/src/Table/TableFooter.doc.mjs +1 -1
  528. package/src/Table/TableHeader.doc.mjs +1 -1
  529. package/src/Table/plugins/filtering/useTableFiltering.test.tsx +44 -6
  530. package/src/Table/plugins/filtering/useTableFiltering.tsx +100 -4
  531. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +50 -4
  532. package/src/Table/plugins/selection/useTableSelection.test.tsx +62 -0
  533. package/src/Table/plugins/selection/useTableSelection.tsx +25 -2
  534. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -2
  535. package/src/Table/useTableGroupedRows.doc.mjs +3 -3
  536. package/src/Table/useTablePagination.doc.mjs +1 -1
  537. package/src/Table/useTableSelection.doc.mjs +1 -1
  538. package/src/Text/Text.test.tsx +44 -0
  539. package/src/Text/Text.tsx +0 -1
  540. package/src/TextArea/TextArea.doc.mjs +12 -2
  541. package/src/TextArea/TextArea.test.tsx +11 -0
  542. package/src/TextArea/TextArea.tsx +34 -22
  543. package/src/Timestamp/Timestamp.test.tsx +89 -0
  544. package/src/Timestamp/Timestamp.tsx +8 -8
  545. package/src/Timestamp/formatInstant.ts +5 -0
  546. package/src/Toast/Toast.doc.mjs +213 -44
  547. package/src/Toast/Toast.tsx +118 -23
  548. package/src/Toast/ToastViewport.test.tsx +1434 -8
  549. package/src/Toast/ToastViewport.tsx +85 -14
  550. package/src/Toast/index.ts +2 -0
  551. package/src/Toast/types.ts +43 -5
  552. package/src/Toast/useToastGesture.ts +361 -0
  553. package/src/Token/Token.test.tsx +95 -0
  554. package/src/Token/Token.tsx +19 -17
  555. package/src/Token/TokenLink.tsx +12 -3
  556. package/src/Tokenizer/Tokenizer.doc.mjs +16 -3
  557. package/src/Tokenizer/Tokenizer.test.tsx +161 -0
  558. package/src/Tokenizer/Tokenizer.tsx +49 -24
  559. package/src/TopNav/TopNavHeading.tsx +2 -2
  560. package/src/TopNav/TopNavItem.tsx +3 -7
  561. package/src/TopNav/TopNavMegaMenu.test.tsx +104 -0
  562. package/src/TopNav/TopNavMegaMenu.tsx +47 -4
  563. package/src/TopNav/TopNavMegaMenuItem.tsx +10 -9
  564. package/src/TopNav/TopNavMenu.test.tsx +133 -1
  565. package/src/TopNav/TopNavMenu.tsx +38 -5
  566. package/src/TreeList/TreeList.test.tsx +49 -0
  567. package/src/TreeList/TreeList.tsx +7 -2
  568. package/src/TreeList/TreeListItem.tsx +2 -7
  569. package/src/Typeahead/BaseTypeahead.doc.mjs +13 -0
  570. package/src/Typeahead/BaseTypeahead.tsx +96 -6
  571. package/src/Typeahead/Typeahead.doc.mjs +6 -0
  572. package/src/Typeahead/Typeahead.test.tsx +154 -0
  573. package/src/Typeahead/Typeahead.tsx +9 -0
  574. package/src/Typeahead/TypeaheadItem.test.tsx +43 -0
  575. package/src/Typeahead/TypeaheadItem.tsx +8 -1
  576. package/src/hooks/useAnnounce.doc.mjs +96 -0
  577. package/src/hooks/useDevWarning.doc.mjs +96 -0
  578. package/src/hooks/useHotkeys.test.ts +0 -18
  579. package/src/hooks/useHotkeys.ts +3 -25
  580. package/src/hooks/useIndicatorFocusRing.doc.mjs +104 -0
  581. package/src/hooks/useInputStatusIcon.doc.mjs +142 -0
  582. package/src/hooks/useInteractiveRole.doc.mjs +119 -0
  583. package/src/hooks/useLongPress.doc.mjs +123 -0
  584. package/src/hooks/useOverflow.doc.mjs +58 -17
  585. package/src/hooks/useOverflow.ts +16 -4
  586. package/src/hooks/useTypeahead.doc.mjs +153 -0
  587. package/src/i18n/InternationalizationContext.ts +3 -0
  588. package/src/i18n/InternationalizationProvider.tsx +8 -1
  589. package/src/i18n/__tests__/resolve.test.ts +23 -1
  590. package/src/i18n/resolve.ts +46 -49
  591. package/src/i18n/useTranslator.ts +2 -7
  592. package/src/index.ts +2 -0
  593. package/src/raw-import.d.ts +14 -0
  594. package/src/theme/Theme.test.tsx +104 -2
  595. package/src/theme/Theme.tsx +49 -14
  596. package/src/theme/defineTheme.test.ts +23 -0
  597. package/src/theme/defineTheme.ts +12 -3
  598. package/src/theme/derivedVarRegistry.test.ts +87 -3
  599. package/src/theme/derivedVarRegistry.ts +23 -4
  600. package/src/theme/generateThemeRules.test.ts +99 -1
  601. package/src/theme/generateThemeRules.ts +28 -0
  602. package/src/theme/syntax/tokens.ts +5 -2
  603. package/src/theme/useTheme.test.tsx +10 -0
  604. package/src/theme/useTheme.ts +16 -10
  605. package/src/utils/dateParser.test.ts +34 -2
  606. package/src/utils/dateParser.ts +11 -14
  607. package/src/utils/focusOutline.stylex.ts +50 -0
  608. package/src/utils/interactionOverlay.stylex.ts +74 -0
  609. package/src/utils/isApplePlatform.test.ts +61 -0
  610. package/src/utils/isApplePlatform.ts +37 -0
  611. package/src/utils/plainDate.test.ts +46 -0
  612. package/src/utils/plainDate.ts +18 -3
@@ -46,21 +46,10 @@ export const calendarStyles = {
46
46
  },
47
47
  monthsContainer: {
48
48
  k1xSpc: "x78zum5",
49
+ kwnvtZ: "x1a02dak",
49
50
  kOIVth: "x18g69wz",
50
51
  $$css: true
51
52
  },
52
- srOnly: {
53
- kVAEAm: "x10l6tqk",
54
- kzqmXN: "x1i1rx1s",
55
- kZKoxP: "xjm9jq1",
56
- kmVPX3: "x1717udv",
57
- kogj98: "xkdpibf",
58
- kVQacm: "xb3r6kr",
59
- kMcinP: "xzpqnlu",
60
- khDVqt: "xuxw1ft",
61
- kMzoRj: "xc342km",
62
- $$css: true
63
- },
64
53
  navIcon: {
65
54
  k1xSpc: "x3nfvp2",
66
55
  $$css: true
@@ -122,6 +111,16 @@ export const monthGridStyles = {
122
111
  // Day Cell Styles - Structural (layout, sizing, positioning)
123
112
  // =============================================================================
124
113
 
114
+ // Half the gap between the day button and its cell — (--size-element-md minus
115
+ // --size-element-sm) / 2 — so the band's rounded caps line up with the button
116
+ // and the button's ::before bleeds out to meet its neighbour's. Deliberately a
117
+ // literal and NOT a spacing token: this is a layout value derived from the two
118
+ // size tokens, and pinning it to --spacing-0-5 desynchronises it from them
119
+ // (matcha sets that step to 3px, which overlaps adjacent days' hit targets by
120
+ // 2px). Deriving it with calc() from the size tokens would be better still and
121
+ // would close butter's 4px dead gap; that needs its own measured change.
122
+ const BAND_INSET = '2px';
123
+ const HIT_BLEED = '-2px';
125
124
  export const dayCellStyles = {
126
125
  cell: {
127
126
  kVAEAm: "x1n2onr6",
@@ -198,7 +197,7 @@ export const dayCellStyles = {
198
197
  k1xSpc: "x78zum5",
199
198
  kGNEyG: "x6s0dn4",
200
199
  kjj79g: "xl56j7k",
201
- kaIpWk: "x16rqkct",
200
+ kaIpWk: "xjspbzw",
202
201
  kMzoRj: "xc342km",
203
202
  ksu8eU: "xng3xce",
204
203
  kkrTdU: "x1ypdohk x16khyan",
@@ -253,7 +252,6 @@ export const dayCellTheme = {
253
252
  day: {
254
253
  kMwMTN: "x1tgivj0",
255
254
  kWkggS: "xjbqb8w",
256
- kKwaWg: "xmvprkv",
257
255
  $$css: true
258
256
  },
259
257
  dayOutside: {
@@ -269,9 +267,9 @@ export const dayCellTheme = {
269
267
  $$css: true
270
268
  },
271
269
  daySelected: {
272
- kWkggS: "x1ewilqj",
273
- kMwMTN: "x17wrial",
274
- kKwaWg: "xmvprkv",
270
+ kAXs8y: "x1kzknox",
271
+ kWkggS: "x1ewilqj x1jzqe4",
272
+ kMwMTN: "x17wrial x1k5gbb1",
275
273
  $$css: true
276
274
  },
277
275
  dayDisabled: {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @file Card.tsx
3
3
  * @input Uses container utility, StyleX
4
- * @output Exports Card component and CardProps
4
+ * @output Exports Card component, CardProps, CardVariant types
5
5
  * @position Core card container component
6
6
  *
7
7
  * SYNC: When modified, update these files to stay in sync:
@@ -13,8 +13,11 @@
13
13
  import type { ReactNode } from 'react';
14
14
  import type { Elevation, SizeValue, SpacingStep } from '../utils/types';
15
15
  import type { BaseProps } from '../BaseProps';
16
+ import type { CardVariantMap } from './index';
16
17
  /**
17
- * Background color variant for Card.
18
+ * Background color variant for Card, derived from CardVariantMap.
19
+ * Extensible via module augmentation of CardVariantMap.
20
+ *
18
21
  * - `default`: standard card background with visible border
19
22
  * - `transparent`: no background, no visible border — for grouping content without visual weight
20
23
  * - `muted`: subtle muted background for de-emphasised cards
@@ -26,18 +29,10 @@ import type { BaseProps } from '../BaseProps';
26
29
  * keeping content geometry faithful to the spacing scale and identical to the
27
30
  * borderless variants. Themes can override borderWidth/borderColor.
28
31
  */
29
- export type CardVariant = 'default' | 'transparent' | 'muted' | 'blue' | 'cyan' | 'gray' | 'green' | 'orange' | 'pink' | 'purple' | 'red' | 'teal' | 'yellow';
32
+ export type CardVariant = keyof CardVariantMap;
30
33
  export type { SizeValue } from '../utils/types';
31
34
  export interface CardProps extends BaseProps<HTMLDivElement> {
32
35
  ref?: React.Ref<HTMLDivElement>;
33
- /**
34
- * CSS class name(s) appended to the root element.
35
- */
36
- className?: string;
37
- /**
38
- * Inline styles to apply to the root element.
39
- */
40
- style?: React.CSSProperties;
41
36
  /**
42
37
  * Width of the card.
43
38
  * Numbers are treated as pixels, strings are used as-is.
@@ -66,7 +61,12 @@ export interface CardProps extends BaseProps<HTMLDivElement> {
66
61
  /**
67
62
  * Internal padding of the card using the spacing scale.
68
63
  * Accepts numeric spacing steps: 0, 0.5, 1, 1.5, 2, 3, 4, 5, 6, 8, 10.
69
- * @default 4 (16px)
64
+ *
65
+ * Omit it and the card takes the theme's card padding rather than a step, so
66
+ * passing a step is a decision to override the theme, not a way to restate
67
+ * the default.
68
+ *
69
+ * @default the theme's card padding (spacing step 4 with no theme)
70
70
  */
71
71
  padding?: SpacingStep;
72
72
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../src/Card/Card.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAiBrC,OAAO,KAAK,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,aAAa,GACb,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,CAAC;AA2Gb,YAAY,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC1D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAmB,EACnB,SAAkB,EAClB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,SAAS,+BA2DX;yBAzEe,IAAI"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../src/Card/Card.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAYrC,OAAO,KAAK,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAM5C;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;AAgH/C,YAAY,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC1D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAmB,EACnB,SAAkB,EAClB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,SAAS,+BAkDX;yBAhEe,IAAI"}
package/dist/Card/Card.js CHANGED
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @file Card.tsx
5
5
  * @input Uses container utility, StyleX
6
- * @output Exports Card component and CardProps
6
+ * @output Exports Card component, CardProps, CardVariant types
7
7
  * @position Core card container component
8
8
  *
9
9
  * SYNC: When modified, update these files to stay in sync:
@@ -17,7 +17,7 @@ import * as stylex from '@stylexjs/stylex';
17
17
  import "../theme/tokens.stylex.js";
18
18
  import { borderVars, colorVars, radiusVars, shadowVars } from "../theme/tokens.stylex.js";
19
19
  import { container } from "../Layout/container.stylex.js";
20
- import { paddingStyles, containerPaddingInlineVarStyles, containerPaddingBlockStartVarStyles, containerPaddingBlockEndVarStyles, spacingStepToToken } from "../Layout/padding.stylex.js";
20
+ import { spacingStepToToken } from "../Layout/padding.stylex.js";
21
21
  import { mergeProps } from "../utils/index.js";
22
22
  import { themeProps } from "../utils/themeProps.js";
23
23
 
@@ -26,7 +26,9 @@ import { themeProps } from "../utils/themeProps.js";
26
26
  // =============================================================================
27
27
 
28
28
  /**
29
- * Background color variant for Card.
29
+ * Background color variant for Card, derived from CardVariantMap.
30
+ * Extensible via module augmentation of CardVariantMap.
31
+ *
30
32
  * - `default`: standard card background with visible border
31
33
  * - `transparent`: no background, no visible border — for grouping content without visual weight
32
34
  * - `muted`: subtle muted background for de-emphasised cards
@@ -67,7 +69,10 @@ const styles = {
67
69
  }
68
70
  };
69
71
 
70
- // Background variant styles — each maps to a design token
72
+ // Background variant styles — each maps to a design token. Typed as PARTIAL
73
+ // over CardVariant: a theme can add a variant, and the record deliberately has
74
+ // no entry for it, so the lookup is undefined, StyleX drops it, and the card
75
+ // takes base styles for the theme rule to paint over.
71
76
  const variantStyles = {
72
77
  default: {
73
78
  kWkggS: "x1de1mus",
@@ -216,20 +221,23 @@ export function Card({
216
221
 
217
222
  // When no explicit padding prop, use theme default (set via container tokens)
218
223
  const useThemeDefault = padding == null;
219
- const effectivePadding = padding ?? 4;
220
- const paddingToken = spacingStepToToken[effectivePadding];
224
+ const paddingToken = useThemeDefault ? undefined : spacingStepToToken[padding];
221
225
  return /*#__PURE__*/_jsx("div", {
222
226
  ref: ref,
223
227
  ...mergeProps(themeProps('card', {
224
- variant
225
- }), stylex.props(styles.card, variantStyles[variant], elevationStyles[elevation], hasFixedHeight && styles.scrollable, dynamicStyles.sizing(width ?? null, height ?? null, maxWidth ?? null, minHeight ?? null), ...container(useThemeDefault ? {
228
+ variant,
229
+ elevation
230
+ }), stylex.props(styles.card,
231
+ // A theme's own variant is not a key here: the lookup is undefined,
232
+ // StyleX drops it, and the theme rule paints over base styles.
233
+ variantStyles[variant], elevationStyles[elevation], hasFixedHeight && styles.scrollable, dynamicStyles.sizing(width ?? null, height ?? null, maxWidth ?? null, minHeight ?? null), ...container(paddingToken == null ? {
226
234
  useThemeDefault: 'card'
227
235
  } : {
228
236
  paddingInnerX: paddingToken,
229
237
  paddingInnerY: paddingToken,
230
238
  paddingOuterX: paddingToken,
231
239
  paddingOuterY: paddingToken
232
- }), !useThemeDefault && effectivePadding !== 4 && paddingStyles[effectivePadding], !useThemeDefault && effectivePadding !== 4 && containerPaddingInlineVarStyles[effectivePadding], !useThemeDefault && effectivePadding !== 4 && containerPaddingBlockStartVarStyles[effectivePadding], !useThemeDefault && effectivePadding !== 4 && containerPaddingBlockEndVarStyles[effectivePadding],
240
+ }),
233
241
  // Applied after the container padding so the border-inset calc wins;
234
242
  // it reads the --container-padding-* vars set above.
235
243
  variant === 'default' && styles.withBorder, xstyle), className, style),
@@ -1,11 +1,45 @@
1
1
  /**
2
2
  * @file index.ts
3
3
  * @input Imports Card component
4
- * @output Exports Card component and types
4
+ * @output Exports Card, CardProps, CardVariant, CardVariantMap
5
5
  * @position Entry point for @astryxdesign/core/Card module
6
6
  *
7
7
  * SYNC: When modified, update /packages/core/src/Card/Card.doc.mjs
8
8
  */
9
+ /**
10
+ * Extensible variant map for Card.
11
+ *
12
+ * Theme packages can add custom variants via TypeScript module augmentation:
13
+ * @example
14
+ * ```
15
+ * declare module '@astryxdesign/core/Card' {
16
+ * interface CardVariantMap {
17
+ * 'brand': true;
18
+ * }
19
+ * }
20
+ * ```
21
+ *
22
+ * Pair the theme rule's `backgroundColor` with `--selectable-card-ring-color`.
23
+ * SelectableCard rings an added variant in that var, defaulting to the accent —
24
+ * no token the component could pick is guaranteed to contrast with a fill it
25
+ * cannot know, so the theme that supplied the fill picks the ring, in the same
26
+ * rule.
27
+ */
28
+ export interface CardVariantMap {
29
+ default: true;
30
+ transparent: true;
31
+ muted: true;
32
+ blue: true;
33
+ cyan: true;
34
+ gray: true;
35
+ green: true;
36
+ orange: true;
37
+ pink: true;
38
+ purple: true;
39
+ red: true;
40
+ teal: true;
41
+ yellow: true;
42
+ }
9
43
  export { Card } from './Card';
10
44
  export type { CardProps, CardVariant, SizeValue } from './Card';
11
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Card/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,YAAY,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Card/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,IAAI,CAAC;IACb,GAAG,EAAE,IAAI,CAAC;IACV,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,IAAI,CAAC;CACd;AAED,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,YAAY,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,QAAQ,CAAC"}
@@ -3,10 +3,30 @@
3
3
  /**
4
4
  * @file index.ts
5
5
  * @input Imports Card component
6
- * @output Exports Card component and types
6
+ * @output Exports Card, CardProps, CardVariant, CardVariantMap
7
7
  * @position Entry point for @astryxdesign/core/Card module
8
8
  *
9
9
  * SYNC: When modified, update /packages/core/src/Card/Card.doc.mjs
10
10
  */
11
11
 
12
+ /**
13
+ * Extensible variant map for Card.
14
+ *
15
+ * Theme packages can add custom variants via TypeScript module augmentation:
16
+ * @example
17
+ * ```
18
+ * declare module '@astryxdesign/core/Card' {
19
+ * interface CardVariantMap {
20
+ * 'brand': true;
21
+ * }
22
+ * }
23
+ * ```
24
+ *
25
+ * Pair the theme rule's `backgroundColor` with `--selectable-card-ring-color`.
26
+ * SelectableCard rings an added variant in that var, defaulting to the accent —
27
+ * no token the component could pick is guaranteed to contrast with a fill it
28
+ * cannot know, so the theme that supplied the fill picks the ring, in the same
29
+ * rule.
30
+ */
31
+
12
32
  export { Card } from "./Card.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../src/Carousel/Carousel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAef,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKhD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IACnB;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,aAAa,IAAI,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,kEAAkE;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA+JD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,SAAS,EACT,QAAQ,EACR,GAAO,EACP,UAAiB,EACjB,WAAkB,EAClB,OAAe,EACf,OAAe,EACf,OAAO,EACP,YAAY,EAAE,kBAAkB,EAChC,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,SAAS,EACb,EAAE,aAAa,+BAqRf;yBArSe,QAAQ"}
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../src/Carousel/Carousel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAef,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKhD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IACnB;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,aAAa,IAAI,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,kEAAkE;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyJD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,SAAS,EACT,QAAQ,EACR,GAAO,EACP,UAAiB,EACjB,WAAkB,EAClB,OAAe,EACf,OAAe,EACf,OAAO,EACP,YAAY,EAAE,kBAAkB,EAChC,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,SAAS,EACb,EAAE,aAAa,+BAgYf;yBAhZe,QAAQ"}
@@ -66,9 +66,6 @@ const styles = {
66
66
  khEr5k: "xkcv6ua xg83hb1",
67
67
  k5wCbM: "x1rohswg",
68
68
  kX1K2I: "xw4ya9i",
69
- k1ekBW: "x157bb6t",
70
- kIyJzY: "x80gvsz x12w9bfk",
71
- kAMwcw: "xlr8y92",
72
69
  $$css: true
73
70
  },
74
71
  fadeStart: {
@@ -229,6 +226,13 @@ export function Carousel({
229
226
  const t = useTranslator();
230
227
  const ariaLabel = ariaLabelFromProps ?? t('@astryx.carousel.label');
231
228
  const scrollElRef = useRef(null);
229
+ const startButtonRef = useRef(null);
230
+ const endButtonRef = useRef(null);
231
+ // Which nav button last held focus, and what the overflow state was on the
232
+ // previous render. Together they are how the Effect below recognises the one
233
+ // transition it is allowed to act on.
234
+ const focusedNavRef = useRef(null);
235
+ const prevCanScrollRef = useRef(null);
232
236
  const {
233
237
  scrollRef,
234
238
  overflowStart,
@@ -359,6 +363,76 @@ export function Carousel({
359
363
  // something to scroll; without loop they follow the per-edge overflow state.
360
364
  const canScrollStart = hasLoop && hasOverflow ? true : overflowStart;
361
365
  const canScrollEnd = hasLoop && hasOverflow ? true : overflowEnd;
366
+
367
+ // Keep the keyboard user where they are when a nav button disables under
368
+ // them. The browser drops focus off a control it disables, so reaching an
369
+ // edge used to land the user on <body> and cost them their place in the page.
370
+ //
371
+ // This is an Effect on purpose, and the exception is narrow. The thing that
372
+ // disables the button IS this state transition, so it is the only correct
373
+ // trigger: three attempts to predict it from the press -- the position after
374
+ // the scroll, the position before it plus the step, and the settled position
375
+ // reported by `scrollend` -- were each wrong somewhere, under reduced motion,
376
+ // under mandatory scroll-snap, and on a browser that never fires the event.
377
+ // Running after the commit also makes the opposite button a valid receiver,
378
+ // which it is not during the press: at that moment it is still disabled and
379
+ // focus() on a disabled control does nothing. Ruled acceptable by the
380
+ // maintainer, 2026-08-27, on the conditions encoded below: it acts only on
381
+ // the transition that newly disables the focused button, it moves focus and
382
+ // nothing else, and it cannot fire twice for one transition.
383
+ //
384
+ // Which button the person is on is tracked by the buttons' own focus and blur
385
+ // handlers, and the blur has to ignore the one the commit itself causes: a
386
+ // tracker that outlived the person let a later edge -- a swipe, a resize, no
387
+ // press at all -- pull their focus back onto a control they never chose.
388
+ useEffect(() => {
389
+ const previous = prevCanScrollRef.current;
390
+ prevCanScrollRef.current = {
391
+ start: canScrollStart,
392
+ end: canScrollEnd
393
+ };
394
+ const side = focusedNavRef.current;
395
+ if (previous == null || side == null) {
396
+ return;
397
+ }
398
+
399
+ // Only the edge that just ran out, and only while it held focus. An edge
400
+ // that was already disabled, or one the user was not on, is not ours.
401
+ const wasEnabled = side === 'start' ? previous.start : previous.end;
402
+ const isEnabled = side === 'start' ? canScrollStart : canScrollEnd;
403
+ if (!wasEnabled || isEnabled) {
404
+ return;
405
+ }
406
+ const pressed = side === 'start' ? startButtonRef.current : endButtonRef.current;
407
+ if (pressed == null) {
408
+ return;
409
+ }
410
+ // The browser has already blurred it, so focus reads as the body. Anything
411
+ // else means the user moved on themselves and this is not ours to redirect.
412
+ const active = pressed.ownerDocument.activeElement;
413
+ if (active !== pressed && active !== pressed.ownerDocument.body) {
414
+ return;
415
+ }
416
+ const opposite = side === 'start' ? endButtonRef.current : startButtonRef.current;
417
+ // The opposite button is the receiver. It is disabled only when the
418
+ // carousel stopped overflowing entirely, which happens when its content
419
+ // shrinks; the scroll container is then the nearest tab stop still inside
420
+ // the labelled region.
421
+ const receiver = opposite != null && !opposite.disabled ? opposite : scrollElRef.current;
422
+ if (receiver == null) {
423
+ return;
424
+ }
425
+
426
+ // One move per transition: clearing the tracker first means a re-render or
427
+ // a StrictMode double-invoke re-runs this and returns at the `side == null`
428
+ // guard above. Focusing the receiver sets it again, to the other side.
429
+ focusedNavRef.current = null;
430
+ // preventScroll: a plain focus() scrolls its element into view, which on
431
+ // the scroll container cancels the scroll the press just started.
432
+ receiver.focus({
433
+ preventScroll: true
434
+ });
435
+ }, [canScrollStart, canScrollEnd]);
362
436
  const fadeStyle = hasEdgeFade ? hasLoop && hasOverflow || overflowStart && overflowEnd ? styles.fadeBoth : overflowStart ? styles.fadeStart : overflowEnd ? styles.fadeEnd : null : null;
363
437
 
364
438
  // Self-authored position styles (positioning: 'custom' below): a cover
@@ -380,7 +454,12 @@ export function Carousel({
380
454
  ref: composedRef,
381
455
  tabIndex: 0,
382
456
  onWheel: handleWheel,
383
- ...stylex.props(styles.scroller, gapStyles[gap], padding != null && paddingStyles[padding], hasSnap && styles.snap, fadeStyle),
457
+ ...mergeProps(themeProps('carousel-scroller', {
458
+ gap,
459
+ padding,
460
+ snap: hasSnap ? 'snap' : null,
461
+ edgeFade: hasEdgeFade ? 'edge-fade' : null
462
+ }), stylex.props(styles.scroller, gapStyles[gap], padding != null && paddingStyles[padding], hasSnap && styles.snap, fadeStyle)),
384
463
  children: slides.map((child, index) =>
385
464
  /*#__PURE__*/
386
465
  // APG carousel pattern: each slide container is a group with
@@ -410,6 +489,7 @@ export function Carousel({
410
489
  }
411
490
  }[!!!canScrollStart << 0],
412
491
  children: /*#__PURE__*/_jsx(Button, {
492
+ ref: startButtonRef,
413
493
  icon: /*#__PURE__*/_jsx(Icon, {
414
494
  icon: "chevronLeft",
415
495
  size: "xsm",
@@ -420,11 +500,22 @@ export function Carousel({
420
500
  size: "sm",
421
501
  isIconOnly: true
422
502
  // Disabled when there's nothing to scroll toward. Keeps the
423
- // button mounted (stable layout/focus) but removes it from the
424
- // tab order and a11y tree while it's visually hidden, so
425
- // keyboard users don't land on an invisible control.
503
+ // button mounted (stable layout) but removes it from the tab
504
+ // order and a11y tree while it's visually hidden, so keyboard
505
+ // users don't land on an invisible control. The Effect above
506
+ // hands focus to the other button when the state behind this
507
+ // one flips it disabled.
426
508
  ,
427
509
  isDisabled: !canScrollStart,
510
+ onFocus: () => {
511
+ focusedNavRef.current = 'start';
512
+ },
513
+ onBlur: event => {
514
+ // A disabled button was blurred by the commit, not the person.
515
+ if (!event.currentTarget.disabled) {
516
+ focusedNavRef.current = null;
517
+ }
518
+ },
428
519
  onClick: () => scrollBy(-1),
429
520
  xstyle: styles.buttonRadiusOverride
430
521
  })
@@ -438,6 +529,7 @@ export function Carousel({
438
529
  }
439
530
  }[!!!canScrollEnd << 0],
440
531
  children: /*#__PURE__*/_jsx(Button, {
532
+ ref: endButtonRef,
441
533
  icon: /*#__PURE__*/_jsx(Icon, {
442
534
  icon: "chevronRight",
443
535
  size: "xsm",
@@ -451,6 +543,15 @@ export function Carousel({
451
543
  // button stays mounted but out of the tab order / a11y tree.
452
544
  ,
453
545
  isDisabled: !canScrollEnd,
546
+ onFocus: () => {
547
+ focusedNavRef.current = 'end';
548
+ },
549
+ onBlur: event => {
550
+ // A disabled button was blurred by the commit, not the person.
551
+ if (!event.currentTarget.disabled) {
552
+ focusedNavRef.current = null;
553
+ }
554
+ },
454
555
  onClick: () => scrollBy(1),
455
556
  xstyle: styles.buttonRadiusOverride
456
557
  })
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAS3C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAmFhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACrE,wDAAwD;IACxD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,QAAQ,EACR,eAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,IAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,kBAAkB,+BAwMpB;yBAjOe,aAAa"}
1
+ {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAS3C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAmFhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACrE,wDAAwD;IACxD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,QAAQ,EACR,eAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,IAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,kBAAkB,+BA6MpB;yBAtOe,aAAa"}
@@ -290,7 +290,13 @@ export function CheckboxInput({
290
290
  ...{
291
291
  className: "x78zum5 xdt5ytf x1lsbc85"
292
292
  },
293
- children: /*#__PURE__*/_jsx(FieldLabel, {
293
+ children: /*#__PURE__*/_jsx(FieldLabel
294
+ // A checkbox's label shares a row with its control, unlike a form
295
+ // field's label above its input. Naming the label rather than the
296
+ // arrangement means a theme asks for the thing it wants, and the
297
+ // component that actually knows what this is says so.
298
+ , {
299
+ ...themeProps('checkbox-label'),
294
300
  label: label,
295
301
  inputID: id,
296
302
  isLabelHidden: isLabelHidden,
@@ -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;AA6B5C,OAAO,EAAc,KAAK,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AA2WxE,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,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,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;AAqPD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,QAAsB,EACtB,KAAK,EACL,gBAAuB,EACvB,cAAsB,EACtB,cAAc,EACd,aAAoB,EACpB,MAAM,EACN,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,qBA6NhB;yBArPe,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;AA6B5C,OAAO,EAAc,KAAK,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AA2WxE,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,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,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;AAqPD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,QAAsB,EACtB,KAAK,EACL,gBAAuB,EACvB,cAAsB,EACtB,cAAc,EACd,aAAoB,EACpB,MAAM,EACN,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,qBA6OhB;yBArQe,SAAS"}
@@ -510,13 +510,17 @@ export function CodeBlock({
510
510
  void handleCopy();
511
511
  },
512
512
  xstyle: [styles.copyButton, !showHeader && styles.copyButtonAbsolute],
513
- ...themeProps('codeblock-copy-button')
513
+ ...themeProps('code-block-copy-button', undefined, {
514
+ legacyNames: ['codeblock-copy-button']
515
+ })
514
516
  }) : null;
515
517
  const headerEl = showHeader ? /*#__PURE__*/_jsxs("div", {
516
- ...mergeProps(themeProps('codeblock-header', {
518
+ ...mergeProps(themeProps('code-block-header', {
517
519
  size,
518
520
  language,
519
521
  container
522
+ }, {
523
+ legacyNames: ['codeblock-header']
520
524
  }), {
521
525
  0: {
522
526
  className: "x78zum5 x6s0dn4 x1qughib x1pzlopt xzyc27v x7wzq59 x13vifvy x1vjfegm xce4md1"
@@ -539,9 +543,11 @@ export function CodeBlock({
539
543
  } : undefined,
540
544
  ...focusOutlineProps.focusVisible(styles.header, canCollapse && styles.headerCollapsible),
541
545
  children: /*#__PURE__*/_jsxs("span", {
542
- ...mergeProps(themeProps('codeblock-title', {
546
+ ...mergeProps(themeProps('code-block-title', {
543
547
  size,
544
548
  language
549
+ }, {
550
+ legacyNames: ['codeblock-title']
545
551
  }), {
546
552
  className: "x78zum5 x6s0dn4 x141an7d x9m5x89 x1e4wzip x1mjzq1q x1ghz6dp x1ltkj2j"
547
553
  }),
@@ -604,10 +610,15 @@ export function CodeBlock({
604
610
  });
605
611
  const block = /*#__PURE__*/_jsxs("pre", {
606
612
  ref: ref,
607
- ...mergeProps(themeProps('codeblock', {
613
+ ...mergeProps(themeProps('code-block', {
608
614
  size,
609
615
  language,
610
616
  container
617
+ },
618
+ // `codeblock` ran the compound name together; themes styling it keep
619
+ // working until the next major.
620
+ {
621
+ legacyNames: ['codeblock']
611
622
  }), stylex.props(styles.root, dynamicStyles.width(widthProp), containerStyles[container], xstyle), className, style),
612
623
  ...props,
613
624
  children: [headerEl, canCollapse ? /*#__PURE__*/_jsx("div", {
@@ -54,7 +54,7 @@ function ensureDynamicHighlightType(tokenType) {
54
54
  }
55
55
  const name = `astryx-${tokenType}`;
56
56
  const colorVar = `var(--color-syntax-${tokenType}, currentColor)`;
57
- dynamicStyleSheet.insertRule(`.astryx-codeblock code::highlight(${name}), .astryx-codeeditor code::highlight(${name}) { color: ${colorVar}; }`);
57
+ dynamicStyleSheet.insertRule(`.astryx-code-block code::highlight(${name}), .astryx-codeeditor code::highlight(${name}) { color: ${colorVar}; }`);
58
58
  }
59
59
 
60
60
  // ---------------------------------------------------------------------------
@@ -28,31 +28,31 @@ const FALLBACK_TOKENS = `:root {\n${Object.entries(syntaxTokenDefaults).map(([na
28
28
  const HIGHLIGHT_STYLES = `
29
29
  ${FALLBACK_TOKENS}
30
30
 
31
- .astryx-codeblock code::highlight(astryx-keyword),
31
+ .astryx-code-block code::highlight(astryx-keyword),
32
32
  .astryx-codeeditor code::highlight(astryx-keyword) { color: var(--color-syntax-keyword); }
33
- .astryx-codeblock code::highlight(astryx-string),
33
+ .astryx-code-block code::highlight(astryx-string),
34
34
  .astryx-codeeditor code::highlight(astryx-string) { color: var(--color-syntax-string); }
35
- .astryx-codeblock code::highlight(astryx-comment),
35
+ .astryx-code-block code::highlight(astryx-comment),
36
36
  .astryx-codeeditor code::highlight(astryx-comment) { color: var(--color-syntax-comment); }
37
- .astryx-codeblock code::highlight(astryx-number),
37
+ .astryx-code-block code::highlight(astryx-number),
38
38
  .astryx-codeeditor code::highlight(astryx-number) { color: var(--color-syntax-number); }
39
- .astryx-codeblock code::highlight(astryx-function),
39
+ .astryx-code-block code::highlight(astryx-function),
40
40
  .astryx-codeeditor code::highlight(astryx-function) { color: var(--color-syntax-function); }
41
- .astryx-codeblock code::highlight(astryx-type),
41
+ .astryx-code-block code::highlight(astryx-type),
42
42
  .astryx-codeeditor code::highlight(astryx-type) { color: var(--color-syntax-type); }
43
- .astryx-codeblock code::highlight(astryx-tag),
43
+ .astryx-code-block code::highlight(astryx-tag),
44
44
  .astryx-codeeditor code::highlight(astryx-tag) { color: var(--color-syntax-tag); }
45
- .astryx-codeblock code::highlight(astryx-attribute),
45
+ .astryx-code-block code::highlight(astryx-attribute),
46
46
  .astryx-codeeditor code::highlight(astryx-attribute) { color: var(--color-syntax-attribute); }
47
- .astryx-codeblock code::highlight(astryx-property),
47
+ .astryx-code-block code::highlight(astryx-property),
48
48
  .astryx-codeeditor code::highlight(astryx-property) { color: var(--color-syntax-property); }
49
- .astryx-codeblock code::highlight(astryx-operator),
49
+ .astryx-code-block code::highlight(astryx-operator),
50
50
  .astryx-codeeditor code::highlight(astryx-operator) { color: var(--color-syntax-operator); }
51
- .astryx-codeblock code::highlight(astryx-constant),
51
+ .astryx-code-block code::highlight(astryx-constant),
52
52
  .astryx-codeeditor code::highlight(astryx-constant) { color: var(--color-syntax-constant); }
53
- .astryx-codeblock code::highlight(astryx-punctuation),
53
+ .astryx-code-block code::highlight(astryx-punctuation),
54
54
  .astryx-codeeditor code::highlight(astryx-punctuation) { color: var(--color-syntax-punctuation); }
55
- .astryx-codeblock code::highlight(astryx-variable),
55
+ .astryx-code-block code::highlight(astryx-variable),
56
56
  .astryx-codeeditor code::highlight(astryx-variable) { color: var(--color-syntax-variable); }
57
57
 
58
58
  /* Span-based fallback classes — used when highlightMode='spans' or
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPaletteItem.d.ts","sourceRoot":"","sources":["../../src/CommandPalette/CommandPaletteItem.tsx"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,EAA0C,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA6D5C,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CACnD,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,yCAAyC;IACzC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,aAAa,EAAE,qBAAqB,EACpC,UAAU,EAAE,kBAAkB,EAC9B,UAAkB,EAClB,QAAQ,EACR,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,gBAAgB,EAC9B,GAAG,KAAK,EACT,EAAE,uBAAuB,+BAkFzB;yBAhGe,kBAAkB"}
1
+ {"version":3,"file":"CommandPaletteItem.d.ts","sourceRoot":"","sources":["../../src/CommandPalette/CommandPaletteItem.tsx"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,EAA0C,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAmD5C,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CACnD,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,yCAAyC;IACzC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,aAAa,EAAE,qBAAqB,EACpC,UAAU,EAAE,kBAAkB,EAC9B,UAAkB,EAClB,QAAQ,EACR,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,gBAAgB,EAC9B,GAAG,KAAK,EACT,EAAE,uBAAuB,+BAkFzB;yBAhGe,kBAAkB"}