@astryxdesign/core 0.1.8 → 0.1.9-canary.75d2d03

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 (512) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/dist/AppShell/AppShell.d.ts.map +1 -1
  3. package/dist/AppShell/AppShell.js +6 -2
  4. package/dist/AppShell/AppShellMobileContext.d.ts +8 -0
  5. package/dist/AppShell/AppShellMobileContext.d.ts.map +1 -1
  6. package/dist/Avatar/Avatar.d.ts +18 -2
  7. package/dist/Avatar/Avatar.d.ts.map +1 -1
  8. package/dist/Avatar/Avatar.js +63 -7
  9. package/dist/Avatar/AvatarStatusDot.d.ts +33 -5
  10. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  11. package/dist/Avatar/AvatarStatusDot.js +144 -19
  12. package/dist/Banner/Banner.d.ts +9 -1
  13. package/dist/Banner/Banner.d.ts.map +1 -1
  14. package/dist/Banner/Banner.js +31 -2
  15. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +31 -2
  16. package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  17. package/dist/Breadcrumbs/BreadcrumbItem.js +208 -6
  18. package/dist/Breadcrumbs/index.d.ts +5 -0
  19. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  20. package/dist/Breadcrumbs/index.js +9 -1
  21. package/dist/Button/Button.d.ts +8 -2
  22. package/dist/Button/Button.d.ts.map +1 -1
  23. package/dist/Button/Button.js +31 -2
  24. package/dist/ButtonGroup/ButtonGroup.d.ts +9 -1
  25. package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  26. package/dist/ButtonGroup/ButtonGroup.js +30 -1
  27. package/dist/Calendar/Calendar.d.ts.map +1 -1
  28. package/dist/Calendar/Calendar.js +30 -2
  29. package/dist/Calendar/dayCellUtils.js +1 -1
  30. package/dist/Card/Card.d.ts +8 -2
  31. package/dist/Card/Card.d.ts.map +1 -1
  32. package/dist/Card/Card.js +28 -2
  33. package/dist/Carousel/Carousel.d.ts +4 -1
  34. package/dist/Carousel/Carousel.d.ts.map +1 -1
  35. package/dist/Carousel/Carousel.js +24 -4
  36. package/dist/Chat/ChatComposer.d.ts +8 -0
  37. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  38. package/dist/Chat/ChatComposer.js +46 -7
  39. package/dist/Chat/ChatComposerDrawer.d.ts +2 -0
  40. package/dist/Chat/ChatComposerDrawer.d.ts.map +1 -1
  41. package/dist/Chat/ChatComposerDrawer.js +11 -1
  42. package/dist/Chat/ChatComposerInput.d.ts +20 -3
  43. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  44. package/dist/Chat/ChatComposerInput.js +35 -3
  45. package/dist/Chat/ChatContext.d.ts +33 -0
  46. package/dist/Chat/ChatContext.d.ts.map +1 -1
  47. package/dist/Chat/ChatContext.js +16 -2
  48. package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
  49. package/dist/Chat/ChatDictationButton.js +1 -1
  50. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  51. package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
  52. package/dist/Chat/ChatLayoutScrollButton.js +4 -4
  53. package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
  54. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  55. package/dist/Chat/ChatSendButton.js +7 -1
  56. package/dist/Chat/ChatToolCalls.d.ts +5 -1
  57. package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
  58. package/dist/Chat/ChatToolCalls.js +18 -9
  59. package/dist/Chat/index.d.ts +2 -1
  60. package/dist/Chat/index.d.ts.map +1 -1
  61. package/dist/Chat/index.js +1 -1
  62. package/dist/Chat/useChatStreamScroll.d.ts +2 -1
  63. package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
  64. package/dist/Chat/useChatStreamScroll.js +22 -8
  65. package/dist/Chat/useSpeechRecognition.d.ts +0 -1
  66. package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
  67. package/dist/Chat/useSpeechRecognition.js +1 -1
  68. package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
  69. package/dist/CheckboxInput/CheckboxInput.js +1 -1
  70. package/dist/CheckboxList/CheckboxListItem.d.ts +20 -1
  71. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  72. package/dist/CheckboxList/CheckboxListItem.js +11 -1
  73. package/dist/ClickableCard/ClickableCard.d.ts +9 -2
  74. package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
  75. package/dist/ClickableCard/ClickableCard.js +5 -2
  76. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  77. package/dist/CodeBlock/CodeBlock.js +8 -1
  78. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  79. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  80. package/dist/CommandPalette/CommandPalette.js +3 -1
  81. package/dist/CommandPalette/CommandPaletteGroup.d.ts.map +1 -1
  82. package/dist/CommandPalette/CommandPaletteGroup.js +9 -2
  83. package/dist/CommandPalette/CommandPaletteInput.d.ts +7 -1
  84. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  85. package/dist/CommandPalette/CommandPaletteInput.js +6 -1
  86. package/dist/DateInput/DateInput.d.ts +47 -1
  87. package/dist/DateInput/DateInput.d.ts.map +1 -1
  88. package/dist/DateInput/DateInput.js +26 -2
  89. package/dist/DateInput/index.d.ts +1 -1
  90. package/dist/DateInput/index.d.ts.map +1 -1
  91. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  92. package/dist/DateTimeInput/DateTimeInput.js +10 -1
  93. package/dist/Dialog/Dialog.d.ts +3 -0
  94. package/dist/Dialog/Dialog.d.ts.map +1 -1
  95. package/dist/Dialog/Dialog.js +57 -6
  96. package/dist/Dialog/DialogContext.d.ts +7 -0
  97. package/dist/Dialog/DialogContext.d.ts.map +1 -1
  98. package/dist/Dialog/DialogContext.js +2 -2
  99. package/dist/Dialog/DialogHeader.d.ts +5 -2
  100. package/dist/Dialog/DialogHeader.d.ts.map +1 -1
  101. package/dist/Dialog/DialogHeader.js +6 -1
  102. package/dist/Divider/Divider.js +1 -1
  103. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +1 -2
  104. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  105. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +1 -2
  106. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +1 -2
  107. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  108. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +1 -2
  109. package/dist/Field/Field.d.ts.map +1 -1
  110. package/dist/Field/Field.js +2 -3
  111. package/dist/Field/FieldLabel.d.ts +1 -1
  112. package/dist/Field/FieldLabel.d.ts.map +1 -1
  113. package/dist/Field/FieldLabel.js +42 -15
  114. package/dist/FieldStatus/FieldStatus.d.ts +8 -0
  115. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  116. package/dist/FieldStatus/FieldStatus.js +22 -4
  117. package/dist/FileInput/FileInput.d.ts.map +1 -1
  118. package/dist/FileInput/FileInput.js +10 -2
  119. package/dist/HoverCard/HoverCard.d.ts +9 -1
  120. package/dist/HoverCard/HoverCard.d.ts.map +1 -1
  121. package/dist/HoverCard/HoverCard.js +2 -0
  122. package/dist/HoverCard/useHoverCard.d.ts +8 -0
  123. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  124. package/dist/HoverCard/useHoverCard.js +7 -2
  125. package/dist/Icon/Icon.d.ts +7 -2
  126. package/dist/Icon/Icon.d.ts.map +1 -1
  127. package/dist/Item/Item.d.ts +6 -1
  128. package/dist/Item/Item.d.ts.map +1 -1
  129. package/dist/Item/Item.js +22 -1
  130. package/dist/Layer/useLayer.d.ts +6 -0
  131. package/dist/Layer/useLayer.d.ts.map +1 -1
  132. package/dist/Layer/useLayer.js +2 -0
  133. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  134. package/dist/MobileNav/MobileNav.js +6 -1
  135. package/dist/MobileNav/MobileNavToggle.d.ts.map +1 -1
  136. package/dist/MobileNav/MobileNavToggle.js +4 -0
  137. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  138. package/dist/MultiSelector/MultiSelector.js +39 -12
  139. package/dist/MultiSelector/hooks.d.ts.map +1 -1
  140. package/dist/MultiSelector/hooks.js +16 -0
  141. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  142. package/dist/Outline/Outline.d.ts +0 -1
  143. package/dist/Outline/Outline.d.ts.map +1 -1
  144. package/dist/Outline/Outline.js +0 -1
  145. package/dist/OverflowList/OverflowList.d.ts +20 -3
  146. package/dist/OverflowList/OverflowList.d.ts.map +1 -1
  147. package/dist/OverflowList/OverflowList.js +29 -4
  148. package/dist/Pagination/Pagination.d.ts.map +1 -1
  149. package/dist/Pagination/Pagination.js +11 -3
  150. package/dist/Popover/Popover.d.ts.map +1 -1
  151. package/dist/Popover/Popover.js +3 -2
  152. package/dist/Popover/usePopover.d.ts.map +1 -1
  153. package/dist/Popover/usePopover.js +3 -9
  154. package/dist/PowerSearch/PowerSearchEditPopover.js +1 -1
  155. package/dist/PowerSearch/usePowerSearchSource.d.ts.map +1 -1
  156. package/dist/SelectableCard/SelectableCard.d.ts +9 -2
  157. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  158. package/dist/SelectableCard/SelectableCard.js +16 -13
  159. package/dist/Selector/Selector.d.ts.map +1 -1
  160. package/dist/Selector/Selector.js +4 -2
  161. package/dist/Selector/hooks.d.ts.map +1 -1
  162. package/dist/Selector/hooks.js +16 -0
  163. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  164. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  165. package/dist/SideNav/SideNavHeading.js +21 -8
  166. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  167. package/dist/Slider/Slider.d.ts.map +1 -1
  168. package/dist/Slider/Slider.js +19 -2
  169. package/dist/Stack/stack.stylex.d.ts +9 -9
  170. package/dist/Table/BaseTable.d.ts.map +1 -1
  171. package/dist/Table/BaseTable.js +3 -2
  172. package/dist/Table/index.d.ts +2 -0
  173. package/dist/Table/index.d.ts.map +1 -1
  174. package/dist/Table/index.js +1 -0
  175. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
  176. package/dist/Table/plugins/rowStatus/index.d.ts +3 -0
  177. package/dist/Table/plugins/rowStatus/index.d.ts.map +1 -0
  178. package/dist/Table/plugins/rowStatus/index.js +3 -0
  179. package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts +60 -0
  180. package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts.map +1 -0
  181. package/dist/Table/plugins/rowStatus/useTableRowStatus.js +145 -0
  182. package/dist/Table/plugins/selection/useTableSelection.d.ts +13 -0
  183. package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
  184. package/dist/Table/plugins/selection/useTableSelection.js +4 -1
  185. package/dist/Table/plugins/tree/useTableTreeData.d.ts +16 -0
  186. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  187. package/dist/Table/plugins/tree/useTableTreeData.js +87 -0
  188. package/dist/Table/plugins/tree/useTableTreeState.d.ts +6 -0
  189. package/dist/Table/plugins/tree/useTableTreeState.d.ts.map +1 -1
  190. package/dist/Table/plugins/tree/useTableTreeState.js +22 -1
  191. package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
  192. package/dist/Table/useBaseTablePlugins.js +5 -3
  193. package/dist/Thumbnail/Thumbnail.d.ts +26 -5
  194. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  195. package/dist/Thumbnail/Thumbnail.js +97 -54
  196. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +9 -0
  197. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +1 -0
  198. package/dist/Thumbnail/thumbnail.markers.stylex.js +14 -0
  199. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  200. package/dist/TimeInput/TimeInput.js +15 -4
  201. package/dist/Timestamp/Timestamp.d.ts +3 -1
  202. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  203. package/dist/Timestamp/Timestamp.js +8 -6
  204. package/dist/Toast/useToast.d.ts.map +1 -1
  205. package/dist/Toast/useToast.js +2 -5
  206. package/dist/ToggleButton/ToggleButtonGroup.d.ts +0 -1
  207. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  208. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  209. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  210. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  211. package/dist/Tokenizer/Tokenizer.js +16 -4
  212. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  213. package/dist/TopNav/TopNavHeading.js +18 -8
  214. package/dist/TopNav/TopNavMegaMenu.js +10 -4
  215. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +9 -1
  216. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
  217. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +8 -1
  218. package/dist/TopNav/TopNavMenu.d.ts +2 -1
  219. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  220. package/dist/TopNav/TopNavMenu.js +68 -6
  221. package/dist/TreeList/TreeList.d.ts +12 -3
  222. package/dist/TreeList/TreeList.d.ts.map +1 -1
  223. package/dist/TreeList/TreeList.js +2 -0
  224. package/dist/TreeList/TreeListBranches.d.ts +5 -0
  225. package/dist/TreeList/TreeListBranches.d.ts.map +1 -1
  226. package/dist/TreeList/TreeListBranches.js +10 -4
  227. package/dist/TreeList/TreeListItem.d.ts +8 -2
  228. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  229. package/dist/TreeList/TreeListItem.js +27 -7
  230. package/dist/TreeList/TreeListTypes.d.ts +25 -1
  231. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  232. package/dist/TreeList/index.d.ts +2 -2
  233. package/dist/TreeList/index.d.ts.map +1 -1
  234. package/dist/astryx.css +28 -18
  235. package/dist/astryx.umd.js +51 -51
  236. package/dist/astryx.umd.js.map +4 -4
  237. package/dist/authoring/doc.d.ts.map +1 -1
  238. package/dist/docs-types.d.ts +8 -0
  239. package/dist/docs-types.d.ts.map +1 -1
  240. package/dist/hooks/computeOverflow.d.ts +47 -0
  241. package/dist/hooks/computeOverflow.d.ts.map +1 -0
  242. package/dist/hooks/computeOverflow.js +213 -0
  243. package/dist/hooks/index.d.ts +1 -0
  244. package/dist/hooks/index.d.ts.map +1 -1
  245. package/dist/hooks/index.js +2 -1
  246. package/dist/hooks/useDevWarning.d.ts +18 -0
  247. package/dist/hooks/useDevWarning.d.ts.map +1 -0
  248. package/dist/hooks/useDevWarning.js +49 -0
  249. package/dist/hooks/useOverflow.d.ts +19 -0
  250. package/dist/hooks/useOverflow.d.ts.map +1 -1
  251. package/dist/hooks/useOverflow.js +36 -25
  252. package/dist/i18n/InternationalizationContext.d.ts +1 -0
  253. package/dist/i18n/InternationalizationContext.d.ts.map +1 -1
  254. package/dist/i18n/InternationalizationContext.js +3 -0
  255. package/dist/i18n/InternationalizationProvider.d.ts +8 -1
  256. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  257. package/dist/i18n/InternationalizationProvider.js +5 -1
  258. package/dist/i18n/getLocaleDirection.d.ts +18 -0
  259. package/dist/i18n/getLocaleDirection.d.ts.map +1 -0
  260. package/dist/i18n/getLocaleDirection.js +29 -0
  261. package/dist/i18n/index.d.ts +6 -0
  262. package/dist/i18n/index.d.ts.map +1 -1
  263. package/dist/i18n/index.js +7 -1
  264. package/dist/i18n/resolve.d.ts.map +1 -1
  265. package/dist/i18n/resolve.js +7 -18
  266. package/dist/i18n/useDirection.d.ts +2 -0
  267. package/dist/i18n/useDirection.d.ts.map +1 -0
  268. package/dist/i18n/useDirection.js +27 -0
  269. package/dist/theme/Theme.d.ts.map +1 -1
  270. package/dist/theme/Theme.js +2 -7
  271. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  272. package/dist/theme/generateThemeRules.js +51 -0
  273. package/dist/theme/hct.d.ts +0 -1
  274. package/dist/theme/hct.d.ts.map +1 -1
  275. package/dist/theme/hct.js +1 -1
  276. package/dist/theme/syntax/defineSyntaxTheme.d.ts.map +1 -1
  277. package/dist/theme/syntax/defineSyntaxTheme.js +2 -1
  278. package/dist/utils/devWarning.d.ts +42 -0
  279. package/dist/utils/devWarning.d.ts.map +1 -0
  280. package/dist/utils/devWarning.js +88 -0
  281. package/dist/utils/index.d.ts +3 -1
  282. package/dist/utils/index.d.ts.map +1 -1
  283. package/dist/utils/index.js +3 -2
  284. package/dist/utils/plainDate.d.ts +30 -0
  285. package/dist/utils/plainDate.d.ts.map +1 -1
  286. package/dist/utils/plainDate.js +53 -0
  287. package/dist/utils/types.d.ts +13 -0
  288. package/dist/utils/types.d.ts.map +1 -1
  289. package/locales/en.json +24 -0
  290. package/locales/fr-FR.json +14 -0
  291. package/locales/pseudo.json +18 -0
  292. package/package.json +1 -1
  293. package/src/AppShell/AppShell.tsx +6 -0
  294. package/src/AppShell/AppShellMobileContext.tsx +8 -0
  295. package/src/AppShell/useAppShellMobile.doc.mjs +8 -0
  296. package/src/Avatar/Avatar.doc.mjs +15 -3
  297. package/src/Avatar/Avatar.test.tsx +156 -1
  298. package/src/Avatar/Avatar.tsx +96 -4
  299. package/src/Avatar/AvatarStatusDot.doc.mjs +23 -12
  300. package/src/Avatar/AvatarStatusDot.test.tsx +284 -0
  301. package/src/Avatar/AvatarStatusDot.tsx +178 -21
  302. package/src/Banner/Banner.doc.mjs +9 -0
  303. package/src/Banner/Banner.test.tsx +30 -0
  304. package/src/Banner/Banner.tsx +47 -3
  305. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +26 -0
  306. package/src/Breadcrumbs/BreadcrumbItem.tsx +333 -14
  307. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +2 -0
  308. package/src/Breadcrumbs/Breadcrumbs.test.tsx +284 -2
  309. package/src/Breadcrumbs/index.ts +27 -0
  310. package/src/Button/Button.doc.mjs +9 -0
  311. package/src/Button/Button.test.tsx +49 -0
  312. package/src/Button/Button.tsx +25 -1
  313. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -0
  314. package/src/ButtonGroup/ButtonGroup.test.tsx +37 -0
  315. package/src/ButtonGroup/ButtonGroup.tsx +32 -0
  316. package/src/Calendar/Calendar.doc.mjs +12 -1
  317. package/src/Calendar/Calendar.test.tsx +193 -0
  318. package/src/Calendar/Calendar.tsx +38 -16
  319. package/src/Calendar/dayCellUtils.test.ts +5 -0
  320. package/src/Calendar/dayCellUtils.ts +1 -1
  321. package/src/Card/Card.doc.mjs +9 -0
  322. package/src/Card/Card.test.tsx +21 -3
  323. package/src/Card/Card.tsx +35 -2
  324. package/src/Carousel/Carousel.doc.mjs +1 -0
  325. package/src/Carousel/Carousel.test.tsx +53 -0
  326. package/src/Carousel/Carousel.tsx +34 -4
  327. package/src/Chat/ChatComposer.doc.mjs +12 -3
  328. package/src/Chat/ChatComposer.test.tsx +115 -0
  329. package/src/Chat/ChatComposer.tsx +73 -9
  330. package/src/Chat/ChatComposerDrawer.test.tsx +61 -0
  331. package/src/Chat/ChatComposerDrawer.tsx +11 -1
  332. package/src/Chat/ChatComposerInput.doc.mjs +7 -0
  333. package/src/Chat/ChatComposerInput.test.tsx +103 -0
  334. package/src/Chat/ChatComposerInput.tsx +49 -3
  335. package/src/Chat/ChatContext.tsx +37 -10
  336. package/src/Chat/ChatDictationButton.tsx +4 -1
  337. package/src/Chat/ChatLayout.tsx +3 -1
  338. package/src/Chat/ChatLayoutScrollButton.tsx +7 -2
  339. package/src/Chat/ChatMessageMetadata.tsx +1 -2
  340. package/src/Chat/ChatSendButton.tsx +11 -1
  341. package/src/Chat/ChatToolCalls.test.tsx +64 -0
  342. package/src/Chat/ChatToolCalls.tsx +25 -4
  343. package/src/Chat/index.ts +5 -1
  344. package/src/Chat/useChatStreamScroll.test.tsx +49 -0
  345. package/src/Chat/useChatStreamScroll.ts +27 -10
  346. package/src/Chat/useSpeechRecognition.ts +1 -1
  347. package/src/Chat/useTriggerMenu.tsx +3 -1
  348. package/src/CheckboxInput/CheckboxInput.test.tsx +32 -1
  349. package/src/CheckboxInput/CheckboxInput.tsx +1 -1
  350. package/src/CheckboxList/CheckboxList.test.tsx +81 -3
  351. package/src/CheckboxList/CheckboxListItem.doc.mjs +33 -5
  352. package/src/CheckboxList/CheckboxListItem.tsx +41 -5
  353. package/src/ClickableCard/ClickableCard.doc.mjs +2 -0
  354. package/src/ClickableCard/ClickableCard.test.tsx +34 -0
  355. package/src/ClickableCard/ClickableCard.tsx +13 -3
  356. package/src/CodeBlock/CodeBlock.test.tsx +56 -0
  357. package/src/CodeBlock/CodeBlock.tsx +9 -1
  358. package/src/CommandPalette/CommandPalette.doc.mjs +1 -0
  359. package/src/CommandPalette/CommandPalette.tsx +3 -1
  360. package/src/CommandPalette/CommandPaletteGroup.test.tsx +71 -0
  361. package/src/CommandPalette/CommandPaletteGroup.tsx +12 -1
  362. package/src/CommandPalette/CommandPaletteInput.doc.mjs +26 -9
  363. package/src/CommandPalette/CommandPaletteInput.test.tsx +34 -0
  364. package/src/CommandPalette/CommandPaletteInput.tsx +11 -0
  365. package/src/ContextMenu/ContextMenu.test.tsx +193 -0
  366. package/src/DateInput/DateInput.doc.mjs +16 -0
  367. package/src/DateInput/DateInput.test.tsx +108 -0
  368. package/src/DateInput/DateInput.tsx +68 -3
  369. package/src/DateInput/index.ts +1 -0
  370. package/src/DateTimeInput/DateTimeInput.test.tsx +35 -0
  371. package/src/DateTimeInput/DateTimeInput.tsx +14 -2
  372. package/src/Dialog/Dialog.doc.mjs +2 -2
  373. package/src/Dialog/Dialog.test.tsx +77 -4
  374. package/src/Dialog/Dialog.tsx +89 -5
  375. package/src/Dialog/DialogContext.ts +9 -2
  376. package/src/Dialog/DialogHeader.doc.mjs +2 -2
  377. package/src/Dialog/DialogHeader.tsx +9 -2
  378. package/src/Divider/Divider.tsx +2 -2
  379. package/src/DropdownMenu/DropdownMenu.test.tsx +169 -0
  380. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +1 -2
  381. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +1 -2
  382. package/src/Field/Field.test.tsx +57 -12
  383. package/src/Field/Field.tsx +6 -5
  384. package/src/Field/FieldLabel.tsx +8 -0
  385. package/src/FieldStatus/FieldStatus.doc.mjs +17 -5
  386. package/src/FieldStatus/FieldStatus.test.tsx +78 -40
  387. package/src/FieldStatus/FieldStatus.tsx +22 -4
  388. package/src/FileInput/FileInput.test.tsx +52 -3
  389. package/src/FileInput/FileInput.tsx +13 -2
  390. package/src/HoverCard/HoverCard.doc.mjs +13 -0
  391. package/src/HoverCard/HoverCard.test.tsx +21 -2
  392. package/src/HoverCard/HoverCard.tsx +11 -0
  393. package/src/HoverCard/useHoverCard.doc.mjs +2 -0
  394. package/src/HoverCard/useHoverCard.tsx +24 -2
  395. package/src/Icon/Icon.doc.mjs +3 -2
  396. package/src/Icon/Icon.tsx +7 -2
  397. package/src/IconButton/IconButton.doc.mjs +8 -0
  398. package/src/IconButton/IconButton.test.tsx +15 -18
  399. package/src/Item/Item.test.tsx +40 -18
  400. package/src/Item/Item.tsx +38 -2
  401. package/src/Layer/useLayer.tsx +8 -0
  402. package/src/List/List.test.tsx +9 -8
  403. package/src/MobileNav/MobileNav.tsx +12 -1
  404. package/src/MobileNav/MobileNavToggle.test.tsx +116 -0
  405. package/src/MobileNav/MobileNavToggle.tsx +9 -1
  406. package/src/MultiSelector/MultiSelector.doc.mjs +4 -2
  407. package/src/MultiSelector/MultiSelector.test.tsx +172 -3
  408. package/src/MultiSelector/MultiSelector.tsx +55 -12
  409. package/src/MultiSelector/hooks.ts +17 -0
  410. package/src/NumberInput/NumberInput.test.tsx +11 -7
  411. package/src/NumberInput/NumberInput.tsx +1 -2
  412. package/src/Outline/Outline.tsx +0 -1
  413. package/src/OverflowList/OverflowList.doc.mjs +39 -6
  414. package/src/OverflowList/OverflowList.test.tsx +111 -0
  415. package/src/OverflowList/OverflowList.tsx +48 -8
  416. package/src/Pagination/Pagination.tsx +11 -3
  417. package/src/Popover/Popover.tsx +7 -4
  418. package/src/Popover/usePopover.tsx +9 -13
  419. package/src/PowerSearch/PowerSearch.doc.mjs +14 -0
  420. package/src/PowerSearch/PowerSearch.test.tsx +20 -0
  421. package/src/PowerSearch/PowerSearchEditPopover.test.tsx +67 -0
  422. package/src/PowerSearch/PowerSearchEditPopover.tsx +1 -1
  423. package/src/PowerSearch/usePowerSearchSource.ts +1 -2
  424. package/src/SelectableCard/SelectableCard.doc.mjs +2 -0
  425. package/src/SelectableCard/SelectableCard.test.tsx +46 -4
  426. package/src/SelectableCard/SelectableCard.tsx +29 -16
  427. package/src/Selector/Selector.test.tsx +69 -0
  428. package/src/Selector/Selector.tsx +5 -1
  429. package/src/Selector/hooks.ts +17 -0
  430. package/src/SideNav/SideNav.test.tsx +119 -3
  431. package/src/SideNav/SideNavCollapseButton.tsx +6 -1
  432. package/src/SideNav/SideNavHeading.tsx +24 -8
  433. package/src/SideNav/SideNavItem.tsx +5 -1
  434. package/src/Slider/Slider.test.tsx +75 -2
  435. package/src/Slider/Slider.tsx +21 -5
  436. package/src/Switch/Switch.test.tsx +32 -1
  437. package/src/Table/BaseTable.tsx +3 -5
  438. package/src/Table/index.ts +5 -0
  439. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +6 -2
  440. package/src/Table/plugins/rowStatus/index.ts +7 -0
  441. package/src/Table/plugins/rowStatus/useTableRowStatus.test.tsx +138 -0
  442. package/src/Table/plugins/rowStatus/useTableRowStatus.tsx +189 -0
  443. package/src/Table/plugins/selection/useTableSelection.test.tsx +16 -0
  444. package/src/Table/plugins/selection/useTableSelection.tsx +19 -1
  445. package/src/Table/plugins/tree/useTableTreeData.test.tsx +135 -3
  446. package/src/Table/plugins/tree/useTableTreeData.tsx +128 -1
  447. package/src/Table/plugins/tree/useTableTreeState.test.tsx +104 -0
  448. package/src/Table/plugins/tree/useTableTreeState.tsx +46 -2
  449. package/src/Table/useBaseTablePlugins.ts +10 -6
  450. package/src/Table/useTableRowStatus.doc.mjs +30 -0
  451. package/src/Table/useTableSelection.doc.mjs +65 -14
  452. package/src/Table/useTableTreeData.doc.mjs +29 -0
  453. package/src/Table/useTableTreeState.doc.mjs +2 -2
  454. package/src/TextArea/TextArea.test.tsx +9 -1
  455. package/src/Thumbnail/Thumbnail.doc.mjs +19 -10
  456. package/src/Thumbnail/Thumbnail.test.tsx +98 -7
  457. package/src/Thumbnail/Thumbnail.tsx +141 -41
  458. package/src/Thumbnail/thumbnail.markers.stylex.ts +12 -0
  459. package/src/TimeInput/TimeInput.test.tsx +76 -1
  460. package/src/TimeInput/TimeInput.tsx +19 -6
  461. package/src/Timestamp/Timestamp.doc.mjs +4 -4
  462. package/src/Timestamp/Timestamp.test.tsx +32 -0
  463. package/src/Timestamp/Timestamp.tsx +28 -8
  464. package/src/Toast/useToast.tsx +7 -8
  465. package/src/ToggleButton/ToggleButtonGroup.tsx +1 -1
  466. package/src/Tokenizer/Tokenizer.doc.mjs +15 -1
  467. package/src/Tokenizer/Tokenizer.test.tsx +183 -2
  468. package/src/Tokenizer/Tokenizer.tsx +16 -4
  469. package/src/TopNav/TopNav.test.tsx +125 -1
  470. package/src/TopNav/TopNavHeading.tsx +24 -8
  471. package/src/TopNav/TopNavMegaMenu.test.tsx +149 -1
  472. package/src/TopNav/TopNavMegaMenu.tsx +10 -4
  473. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +3 -3
  474. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +19 -2
  475. package/src/TopNav/TopNavMenu.test.tsx +118 -4
  476. package/src/TopNav/TopNavMenu.tsx +83 -5
  477. package/src/TreeList/TreeList.doc.mjs +22 -0
  478. package/src/TreeList/TreeList.test.tsx +232 -0
  479. package/src/TreeList/TreeList.tsx +18 -2
  480. package/src/TreeList/TreeListBranches.tsx +16 -2
  481. package/src/TreeList/TreeListItem.tsx +51 -11
  482. package/src/TreeList/TreeListTypes.ts +27 -1
  483. package/src/TreeList/index.ts +2 -2
  484. package/src/authoring/doc.ts +1 -3
  485. package/src/docs-types.ts +5 -0
  486. package/src/hooks/computeOverflow.test.ts +422 -0
  487. package/src/hooks/computeOverflow.ts +290 -0
  488. package/src/hooks/index.ts +2 -0
  489. package/src/hooks/useDevWarning.test.tsx +45 -0
  490. package/src/hooks/useDevWarning.ts +54 -0
  491. package/src/hooks/useOverflow.test.ts +96 -4
  492. package/src/hooks/useOverflow.ts +74 -33
  493. package/src/i18n/InternationalizationContext.ts +4 -0
  494. package/src/i18n/InternationalizationProvider.doc.mjs +99 -2
  495. package/src/i18n/InternationalizationProvider.tsx +12 -2
  496. package/src/i18n/__tests__/getLocaleDirection.test.ts +40 -0
  497. package/src/i18n/__tests__/useDirection.test.tsx +66 -0
  498. package/src/i18n/getLocaleDirection.ts +29 -0
  499. package/src/i18n/index.ts +6 -0
  500. package/src/i18n/resolve.ts +9 -21
  501. package/src/i18n/useDirection.ts +29 -0
  502. package/src/theme/Theme.tsx +11 -14
  503. package/src/theme/generateThemeRules.test.ts +65 -0
  504. package/src/theme/generateThemeRules.ts +56 -0
  505. package/src/theme/hct.ts +1 -1
  506. package/src/theme/syntax/defineSyntaxTheme.ts +5 -6
  507. package/src/utils/devWarning.test.ts +56 -0
  508. package/src/utils/devWarning.ts +102 -0
  509. package/src/utils/index.ts +6 -0
  510. package/src/utils/plainDate.test.ts +22 -0
  511. package/src/utils/plainDate.ts +61 -0
  512. package/src/utils/types.ts +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"InternationalizationProvider.d.ts","sourceRoot":"","sources":["../../src/i18n/InternationalizationProvider.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9C,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAEjE,MAAM,WAAW,iCAAiC;IAChD;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE,iCAAiC,+BAUnC;yBAfe,4BAA4B"}
1
+ {"version":3,"file":"InternationalizationProvider.d.ts","sourceRoot":"","sources":["../../src/i18n/InternationalizationProvider.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAG9C,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAEjE,MAAM,WAAW,iCAAiC;IAChD;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,MAAM,EACN,QAAQ,EACR,SAAS,EACT,GAAG,EACH,QAAQ,GACT,EAAE,iCAAiC,+BAWnC;yBAjBe,4BAA4B"}
@@ -20,6 +20,7 @@
20
20
  */
21
21
  import { useMemo } from 'react';
22
22
  import { InternationalizationContext } from "./InternationalizationContext.js";
23
+ import { getLocaleDirection } from "./getLocaleDirection.js";
23
24
  import { jsx as _jsx } from "react/jsx-runtime";
24
25
  /**
25
26
  * Provides locale + additional messages + overrides to all astryx
@@ -29,13 +30,16 @@ export function InternationalizationProvider({
29
30
  locale,
30
31
  messages,
31
32
  overrides,
33
+ dir,
32
34
  children
33
35
  }) {
36
+ const direction = dir ?? getLocaleDirection(locale);
34
37
  const value = useMemo(() => ({
35
38
  locale,
39
+ direction,
36
40
  messages: messages ?? {},
37
41
  overrides
38
- }), [locale, messages, overrides]);
42
+ }), [locale, direction, messages, overrides]);
39
43
  return /*#__PURE__*/_jsx(InternationalizationContext, {
40
44
  value: value,
41
45
  children: children
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @file getLocaleDirection.ts
3
+ * @input BCP 47 locale tag
4
+ * @output 'ltr' | 'rtl'
5
+ * @position Server-safe helper for computing text direction from a locale.
6
+ * Callable in React Server Components / Next.js layouts to set <html dir>.
7
+ *
8
+ * Uses Intl.Locale.getTextInfo() (CLDR-backed) with a try/catch fallback to
9
+ * 'ltr'. React 19 baseline covers all target browsers + Node ≥20; the older
10
+ * accessor form (`.textInfo`) is handled as a fallback for defensive parity.
11
+ *
12
+ * SYNC: When modified, update these files to stay in sync:
13
+ * - /packages/core/src/i18n/InternationalizationProvider.tsx (uses this to derive default)
14
+ * - /packages/core/src/i18n/useDirection.ts (client-side hook counterpart)
15
+ * - /packages/core/src/i18n/index.ts (public export)
16
+ */
17
+ export declare function getLocaleDirection(locale: string): 'ltr' | 'rtl';
18
+ //# sourceMappingURL=getLocaleDirection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLocaleDirection.d.ts","sourceRoot":"","sources":["../../src/i18n/getLocaleDirection.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAShE"}
@@ -0,0 +1,29 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file getLocaleDirection.ts
5
+ * @input BCP 47 locale tag
6
+ * @output 'ltr' | 'rtl'
7
+ * @position Server-safe helper for computing text direction from a locale.
8
+ * Callable in React Server Components / Next.js layouts to set <html dir>.
9
+ *
10
+ * Uses Intl.Locale.getTextInfo() (CLDR-backed) with a try/catch fallback to
11
+ * 'ltr'. React 19 baseline covers all target browsers + Node ≥20; the older
12
+ * accessor form (`.textInfo`) is handled as a fallback for defensive parity.
13
+ *
14
+ * SYNC: When modified, update these files to stay in sync:
15
+ * - /packages/core/src/i18n/InternationalizationProvider.tsx (uses this to derive default)
16
+ * - /packages/core/src/i18n/useDirection.ts (client-side hook counterpart)
17
+ * - /packages/core/src/i18n/index.ts (public export)
18
+ */
19
+
20
+ export function getLocaleDirection(locale) {
21
+ try {
22
+ const loc = new Intl.Locale(locale);
23
+ // @ts-expect-error — older engines expose accessor form `.textInfo`
24
+ const info = typeof loc.getTextInfo === 'function' ? loc.getTextInfo() : loc.textInfo;
25
+ return info?.direction === 'rtl' ? 'rtl' : 'ltr';
26
+ } catch {
27
+ return 'ltr';
28
+ }
29
+ }
@@ -8,10 +8,14 @@
8
8
  * The public API is deliberately small:
9
9
  * - InternationalizationProvider — provider component
10
10
  * - useTranslator — hook returning a translator function
11
+ * - useDirection — hook returning the ambient text direction
12
+ * - getLocaleDirection — server-safe locale → direction helper
11
13
  * - Translator — interface for consumer-injected runtimes
12
14
  *
13
15
  * SYNC: When modified, update these files to stay in sync:
14
16
  * - /packages/core/src/index.ts
17
+ * - /packages/core/src/i18n/useDirection.ts
18
+ * - /packages/core/src/i18n/getLocaleDirection.ts
15
19
  */
16
20
  export { InternationalizationProvider } from './InternationalizationProvider';
17
21
  export type { InternationalizationProviderProps } from './InternationalizationProvider';
@@ -19,6 +23,8 @@ export { InternationalizationContext } from './InternationalizationContext';
19
23
  export type { InternationalizationContextValue } from './InternationalizationContext';
20
24
  export { useTranslator } from './useTranslator';
21
25
  export type { TranslatorFn } from './useTranslator';
26
+ export { useDirection } from './useDirection';
27
+ export { getLocaleDirection } from './getLocaleDirection';
22
28
  export type { Translator } from './translator';
23
29
  export type { Locale, Catalog, MessageEntry, MessagesByLocale, Overrides, } from './types';
24
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,4BAA4B,EAAC,MAAM,gCAAgC,CAAC;AAC5E,YAAY,EAAC,iCAAiC,EAAC,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAC1E,YAAY,EAAC,gCAAgC,EAAC,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,YAAY,EACV,MAAM,EACN,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,SAAS,GACV,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAC,4BAA4B,EAAC,MAAM,gCAAgC,CAAC;AAC5E,YAAY,EAAC,iCAAiC,EAAC,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAC1E,YAAY,EAAC,gCAAgC,EAAC,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,YAAY,EACV,MAAM,EACN,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,SAAS,GACV,MAAM,SAAS,CAAC"}
@@ -10,12 +10,18 @@
10
10
  * The public API is deliberately small:
11
11
  * - InternationalizationProvider — provider component
12
12
  * - useTranslator — hook returning a translator function
13
+ * - useDirection — hook returning the ambient text direction
14
+ * - getLocaleDirection — server-safe locale → direction helper
13
15
  * - Translator — interface for consumer-injected runtimes
14
16
  *
15
17
  * SYNC: When modified, update these files to stay in sync:
16
18
  * - /packages/core/src/index.ts
19
+ * - /packages/core/src/i18n/useDirection.ts
20
+ * - /packages/core/src/i18n/getLocaleDirection.ts
17
21
  */
18
22
 
19
23
  export { InternationalizationProvider } from "./InternationalizationProvider.js";
20
24
  export { InternationalizationContext } from "./InternationalizationContext.js";
21
- export { useTranslator } from "./useTranslator.js";
25
+ export { useTranslator } from "./useTranslator.js";
26
+ export { useDirection } from "./useDirection.js";
27
+ export { getLocaleDirection } from "./getLocaleDirection.js";
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/i18n/resolve.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAU,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAuB1E;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAc3D;AAuDD,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,SAAS,GAAG,SAAS,GAC/B,MAAM,CAsBR;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAGtC"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/i18n/resolve.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAU,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAwB1E;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAc3D;AAsCD,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,SAAS,GAAG,SAAS,GAC/B,MAAM,CA0BR;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAGtC"}
@@ -21,6 +21,7 @@
21
21
 
22
22
  import IntlMessageFormat from 'intl-messageformat';
23
23
  import enSource from '../../locales/en.json' with { type: 'json' };
24
+ import { warnOnce, __resetDevWarnings } from "../utils/devWarning.js";
24
25
  const EN_CATALOG = enSource;
25
26
 
26
27
  /**
@@ -68,22 +69,6 @@ export function resolveLocaleChain(locale) {
68
69
  }
69
70
  return chain;
70
71
  }
71
-
72
- /**
73
- * Missing-key warn-once tracking. Fires ONLY when a key is missing from
74
- * every source including the shipped `en` catalog — that's a real bug
75
- * (typo, stale catalog, deleted key). Fallback to `en` from a non-en
76
- * locale is expected and silent, matching the FormatJS / i18next default
77
- * of not spamming the console when a translation simply hasn't been
78
- * written yet.
79
- */
80
- const warnedMissing = new Set();
81
- function warnOnce(bucket, key, message) {
82
- if (!bucket.has(key)) {
83
- bucket.add(key);
84
- console.warn(message);
85
- }
86
- }
87
72
  function lookup(key, locale, messages, overrides) {
88
73
  const chain = resolveLocaleChain(locale);
89
74
 
@@ -117,7 +102,11 @@ function lookup(key, locale, messages, overrides) {
117
102
  export function resolve(key, values, locale, messages, overrides) {
118
103
  const result = lookup(key, locale, messages, overrides);
119
104
  if (result === null) {
120
- warnOnce(warnedMissing, `${locale}::${key}`, `[astryx-i18n] missing key: ${key} (locale: ${locale})`);
105
+ // Fires ONLY when a key is missing from every source including the
106
+ // shipped `en` catalog — a real bug (typo, stale catalog, deleted key).
107
+ // Fallback to `en` from a non-en locale is expected and stays silent,
108
+ // matching the FormatJS / i18next default.
109
+ warnOnce(`astryx-i18n:${locale}::${key}`, 'astryx-i18n', `missing key: ${key} (locale: ${locale})`);
121
110
  return key;
122
111
  }
123
112
  if (values === undefined) {
@@ -137,5 +126,5 @@ export function resolve(key, values, locale, messages, overrides) {
137
126
  */
138
127
  export function __resetForTests() {
139
128
  formatterCache.clear();
140
- warnedMissing.clear();
129
+ __resetDevWarnings();
141
130
  }
@@ -0,0 +1,2 @@
1
+ export declare function useDirection(): 'ltr' | 'rtl';
2
+ //# sourceMappingURL=useDirection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDirection.d.ts","sourceRoot":"","sources":["../../src/i18n/useDirection.ts"],"names":[],"mappings":"AAyBA,wBAAgB,YAAY,IAAI,KAAK,GAAG,KAAK,CAG5C"}
@@ -0,0 +1,27 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file useDirection.ts
7
+ * @input InternationalizationContext (via use())
8
+ * @output 'ltr' | 'rtl'
9
+ * @position Client hook for reading the ambient text direction. Returns 'ltr'
10
+ * when called outside a provider (matches the silent-en-fallback pattern of
11
+ * useTranslator).
12
+ *
13
+ * Use this in components that need to swap directional icons, mirror
14
+ * behavioral logic (slider math, keyboard nav), or apply direction-specific
15
+ * styling that CSS logical properties can't express.
16
+ *
17
+ * SYNC: When modified, update these files to stay in sync:
18
+ * - /packages/core/src/i18n/InternationalizationContext.ts
19
+ * - /packages/core/src/i18n/getLocaleDirection.ts (server-safe counterpart)
20
+ * - /packages/core/src/i18n/index.ts
21
+ */
22
+ import { use } from 'react';
23
+ import { InternationalizationContext } from "./InternationalizationContext.js";
24
+ export function useDirection() {
25
+ const ctx = use(InternationalizationContext);
26
+ return ctx.direction;
27
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../src/theme/Theme.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAgD,MAAM,OAAO,CAAC;AAGrE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAmB,KAAK,YAAY,EAAC,MAAM,eAAe,CAAC;AAIlE;;GAEG;AACH,UAAU,UAAU;IAClB,+BAA+B;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,kDAAkD;IAClD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,yBAAyB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AA0KD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,IAAe,EACf,QAAQ,GACT,EAAE,UAAU,GAAG,KAAK,CAAC,YAAY,CAmCjC;yBAvCe,KAAK"}
1
+ {"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../src/theme/Theme.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAgD,MAAM,OAAO,CAAC;AAGrE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAmB,KAAK,YAAY,EAAC,MAAM,eAAe,CAAC;AAKlE;;GAEG;AACH,UAAU,UAAU;IAClB,+BAA+B;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,kDAAkD;IAClD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,yBAAyB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAsKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,IAAe,EACf,QAAQ,GACT,EAAE,UAAU,GAAG,KAAK,CAAC,YAAY,CAmCjC;yBAvCe,KAAK"}
@@ -44,6 +44,7 @@ import { registerIcons } from "../Icon/globalIconRegistry.js";
44
44
  import { generateThemeCSS } from "./defineTheme.js";
45
45
  import { dataAttr } from "../naming.js";
46
46
  import { ThemeContext } from "./useTheme.js";
47
+ import { warnOnce } from "../utils/devWarning.js";
47
48
 
48
49
  /**
49
50
  * Theme provider props
@@ -92,9 +93,6 @@ ThemeNestingContext.displayName = 'ThemeNestingContext';
92
93
  /** Track which themes have already been injected */
93
94
  const injectedThemes = new Set();
94
95
 
95
- /** Track which themes have already logged the perf warning */
96
- const warnedThemes = new Set();
97
-
98
96
  /**
99
97
  * Hook to inject theme CSS into the document.
100
98
  * Built themes (from `astryx theme build`) skip injection — their CSS
@@ -113,10 +111,7 @@ function useThemeStyleInjection(theme) {
113
111
  }
114
112
 
115
113
  // One-time perf hint per theme
116
- if (!warnedThemes.has(theme.name)) {
117
- warnedThemes.add(theme.name);
118
- console.warn(`[Astryx] Theme "${theme.name}" is using runtime style injection. ` + `For better performance, use the pre-built theme:\n\n` + ` import {${theme.name}Theme} from '@astryxdesign/theme-${theme.name}/built';\n` + ` import '@astryxdesign/theme-${theme.name}/theme.css';\n\n` + `For custom themes, run \`npx @astryxdesign/cli theme build <file>\` to generate ` + `the built artifacts.`);
119
- }
114
+ warnOnce(`theme-injection:${theme.name}`, 'Theme', `"${theme.name}" is using runtime style injection. ` + `For better performance, use the pre-built theme:\n\n` + ` import {${theme.name}Theme} from '@astryxdesign/theme-${theme.name}/built';\n` + ` import '@astryxdesign/theme-${theme.name}/theme.css';\n\n` + `For custom themes, run \`npx @astryxdesign/cli theme build <file>\` to generate ` + `the built artifacts.`);
120
115
  const {
121
116
  prose,
122
117
  component
@@ -1 +1 @@
1
- {"version":3,"file":"generateThemeRules.d.ts","sourceRoot":"","sources":["../../src/theme/generateThemeRules.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AA+DhD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kFAAkF;IAClF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAgKD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAgChE;AAoMD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,CAe5E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CA4E9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,CA2BpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAQhE"}
1
+ {"version":3,"file":"generateThemeRules.d.ts","sourceRoot":"","sources":["../../src/theme/generateThemeRules.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AA+DhD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kFAAkF;IAClF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAgKD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAoChE;AAwPD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,CAe5E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CA4E9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,CA2BpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAQhE"}
@@ -247,6 +247,10 @@ export function generateThemeRules(theme) {
247
247
  // 4. Prop-level color overrides (for text/heading/link specificity)
248
248
  generateColorOverrides(theme.components || {}, parts);
249
249
 
250
+ // 5. Text `size`-prop font-size overrides (so an explicit size beats a
251
+ // themed type's font-size across the astryx-base → astryx-theme layers)
252
+ generateSizeOverrides(theme.components || {}, parts);
253
+
250
254
  // (on-media rules are generated separately — see generateOnMediaCSS)
251
255
 
252
256
  return parts;
@@ -408,6 +412,53 @@ function generateColorOverrides(components, parts) {
408
412
  }
409
413
  }
410
414
 
415
+ /**
416
+ * Map a Text `size` prop value to its raw font-size token.
417
+ * Mirrors `sizeStyles` in `Text/text.stylex.ts` (note `xsm` → `--font-size-xs`).
418
+ * <!-- SYNC: packages/core/src/Text/text.stylex.ts (sizeStyles) -->
419
+ */
420
+ const TEXT_SIZE_TOKEN_MAP = {
421
+ '4xs': 'var(--font-size-4xs)',
422
+ '3xs': 'var(--font-size-3xs)',
423
+ '2xs': 'var(--font-size-2xs)',
424
+ xsm: 'var(--font-size-xs)',
425
+ sm: 'var(--font-size-sm)',
426
+ base: 'var(--font-size-base)',
427
+ lg: 'var(--font-size-lg)',
428
+ xl: 'var(--font-size-xl)',
429
+ '2xl': 'var(--font-size-2xl)',
430
+ '3xl': 'var(--font-size-3xl)',
431
+ '4xl': 'var(--font-size-4xl)'
432
+ };
433
+
434
+ /**
435
+ * Generate `size`-prop font-size overrides for the Text component.
436
+ *
437
+ * The `size` prop is documented as a font-size override that wins over the
438
+ * size implied by `type`. Its StyleX class lives in `@layer astryx-base`, but a
439
+ * theme's per-type font-size rule (`.astryx-text.<type>`) lives in the higher
440
+ * `@layer astryx-theme`, so the layer cascade let the theme silently shadow
441
+ * `size` for any `type` the theme styled. Re-emitting the size classes here —
442
+ * same layer as the type rules, same `.astryx-text.<x>` specificity, later in
443
+ * source — restores `size` as a real override.
444
+ *
445
+ * Only `font-size` is overridden; line-height and other type properties are
446
+ * intentionally preserved, matching the prop's documented contract.
447
+ *
448
+ * Gated on the theme touching `text` (which includes the auto-generated
449
+ * type-scale rules) — with no theme type rule to beat, the base-layer StyleX
450
+ * class already wins and no override is needed.
451
+ */
452
+ function generateSizeOverrides(components, parts) {
453
+ if (!('text' in components)) {
454
+ return;
455
+ }
456
+ for (const [sizeName, sizeValue] of Object.entries(TEXT_SIZE_TOKEN_MAP)) {
457
+ const suffix = parseStyleKey(`size:${sizeName}`);
458
+ parts.push(` ${componentClassSelector('text', suffix)} { font-size: ${sizeValue}; }`);
459
+ }
460
+ }
461
+
411
462
  /**
412
463
  * Generate theme rules split into component and prose groups.
413
464
  *
@@ -3,7 +3,6 @@ export interface HCT {
3
3
  chroma: number;
4
4
  tone: number;
5
5
  }
6
- export declare function toneToY(tone: number): number;
7
6
  /**
8
7
  * Convert a hex color to HCT.
9
8
  * Hue: 0-360, Chroma: 0-~120, Tone: 0-100.
@@ -1 +1 @@
1
- {"version":3,"file":"hct.d.ts","sourceRoot":"","sources":["../../src/theme/hct.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAoFD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAkBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAkBzC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CA8BzC;AAkDD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/D"}
1
+ {"version":3,"file":"hct.d.ts","sourceRoot":"","sources":["../../src/theme/hct.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAwGD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAkBzC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CA8BzC;AAkDD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/D"}
package/dist/theme/hct.js CHANGED
@@ -76,7 +76,7 @@ function labToXyz(L, a, b) {
76
76
  // Tone <-> Y (CIE Luminance)
77
77
  // =============================================================================
78
78
 
79
- export function toneToY(tone) {
79
+ function toneToY(tone) {
80
80
  return labFInv((tone + 16) / 116);
81
81
  }
82
82
 
@@ -1 +1 @@
1
- {"version":3,"file":"defineSyntaxTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/syntax/defineSyntaxTheme.ts"],"names":[],"mappings":"AAmBA,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,GACV,KAAK,GACL,WAAW,GACX,UAAU,GACV,aAAa,GACb,YAAY,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEtE,+EAA+E;AAC/E,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC,mBAAmB,EACnB,gBAAgB,CACjB,CAAC;AAEF,yFAAyF;AACzF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAEtE,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,mEAAmE;IACnE,aAAa,EAAE,qBAAqB,CAAC;CACtC;AAYD,sEAAsE;AACtE,eAAO,MAAM,eAAe,EAAE,mBAAmB,EAEW,CAAC;AAc7D;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,OAAO,GAAG,MAAM,GACrB,MAAM,CASR;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,GACtB,qBAAqB,CAuBvB;AAMD,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,qBAAqB,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAIrE"}
1
+ {"version":3,"file":"defineSyntaxTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/syntax/defineSyntaxTheme.ts"],"names":[],"mappings":"AAoBA,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,GACV,KAAK,GACL,WAAW,GACX,UAAU,GACV,aAAa,GACb,YAAY,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEtE,+EAA+E;AAC/E,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC,mBAAmB,EACnB,gBAAgB,CACjB,CAAC;AAEF,yFAAyF;AACzF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAEtE,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,mEAAmE;IACnE,aAAa,EAAE,qBAAqB,CAAC;CACtC;AAYD,sEAAsE;AACtE,eAAO,MAAM,eAAe,EAAE,mBAAmB,EAEW,CAAC;AAc7D;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,OAAO,GAAG,MAAM,GACrB,MAAM,CASR;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,GACtB,qBAAqB,CAqBvB;AAMD,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,qBAAqB,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAIrE"}
@@ -11,6 +11,7 @@
11
11
  * @see https://github.com/facebook/astryx/issues/1148
12
12
  */
13
13
  import { syntaxTokenDefaults } from "./tokens.js";
14
+ import { devWarn } from "../../utils/devWarning.js";
14
15
 
15
16
  // =============================================================================
16
17
  // Types
@@ -97,7 +98,7 @@ export function resolveSyntaxTokenForMode(value, mode) {
97
98
  export function defineSyntaxTheme(input) {
98
99
  const missing = ALL_SYNTAX_KEYS.filter(key => !(key in input.tokens));
99
100
  if (missing.length > 0) {
100
- console.warn('[Astryx] defineSyntaxTheme("' + input.name + '"): missing tokens: ' + missing.join(', ') + '. All 14 syntax tokens are required.');
101
+ devWarn('defineSyntaxTheme', `"${input.name}": missing tokens: ${missing.join(', ')}. ` + `All 14 syntax tokens are required.`);
101
102
  }
102
103
 
103
104
  // Resolve tuples to light-dark() CSS strings
@@ -0,0 +1,42 @@
1
+ /** Format a message as `Component: message`. */
2
+ export declare function formatDevMessage(component: string, message: string): string;
3
+ /**
4
+ * Dev-only `console.warn` in the standardized `Component: message` format.
5
+ * A no-op in production — warnings are builder guardrails, not shipped noise.
6
+ * Extra args (e.g. an offending value) are forwarded to `console.warn`.
7
+ *
8
+ * @example
9
+ * ```
10
+ * devWarn('Popover', 'children must contain a <button>.');
11
+ * ```
12
+ */
13
+ export declare function devWarn(component: string, message: string, ...args: unknown[]): void;
14
+ /**
15
+ * `console.error` in the standardized `Component: message` format. Unlike
16
+ * {@link devWarn}, this runs in production too: it reports real runtime
17
+ * failures (e.g. a thrown callback) that should reach error telemetry.
18
+ *
19
+ * @example
20
+ * ```
21
+ * devError('Table', 'Plugin at index 0 threw in transform:', error);
22
+ * ```
23
+ */
24
+ export declare function devError(component: string, message: string, ...args: unknown[]): void;
25
+ /**
26
+ * Dev-only warning that fires at most once per `key` for the lifetime of the
27
+ * app. Use for singleton warnings that aren't tied to a component instance —
28
+ * a missing translation key, a per-theme perf hint, a one-time fallback.
29
+ * For per-component-instance warnings, use the `useDevWarning` hook instead.
30
+ *
31
+ * @example
32
+ * ```
33
+ * warnOnce(`theme:${name}`, 'Theme', `"${name}" uses runtime injection.`);
34
+ * ```
35
+ */
36
+ export declare function warnOnce(key: string, component: string, message: string, ...args: unknown[]): void;
37
+ /**
38
+ * Clear `warnOnce` dedup state. Test-only.
39
+ * @internal
40
+ */
41
+ export declare function __resetDevWarnings(): void;
42
+ //# sourceMappingURL=devWarning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devWarning.d.ts","sourceRoot":"","sources":["../../src/utils/devWarning.ts"],"names":[],"mappings":"AAyBA,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,IAAI,CAKN;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,IAAI,CAEN;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -0,0 +1,88 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file devWarning.ts
5
+ * @input A component/hook name and a message
6
+ * @output Standardized `Component: message` console warnings and errors
7
+ * @position Shared dev-logging utility used across components and hooks
8
+ *
9
+ * Standardizes how the design system surfaces information to the builder:
10
+ * every message reads `Component: message` (e.g. `Field: isOptional and
11
+ * isRequired are mutually exclusive.`), so the source is always obvious in
12
+ * the console.
13
+ *
14
+ * Prefer the `useDevWarning` hook inside components — it guards against
15
+ * repeating a warning on every render. These imperative helpers exist for
16
+ * the non-render contexts a hook can't cover: plain functions, module
17
+ * initialization, and inside effects.
18
+ *
19
+ * SYNC: When modified, update:
20
+ * - /packages/core/src/utils/index.ts
21
+ * - /packages/core/src/hooks/useDevWarning.ts (the render-path counterpart)
22
+ */
23
+
24
+ const isDev = process.env.NODE_ENV !== 'production';
25
+
26
+ /** Format a message as `Component: message`. */
27
+ export function formatDevMessage(component, message) {
28
+ return `${component}: ${message}`;
29
+ }
30
+
31
+ /**
32
+ * Dev-only `console.warn` in the standardized `Component: message` format.
33
+ * A no-op in production — warnings are builder guardrails, not shipped noise.
34
+ * Extra args (e.g. an offending value) are forwarded to `console.warn`.
35
+ *
36
+ * @example
37
+ * ```
38
+ * devWarn('Popover', 'children must contain a <button>.');
39
+ * ```
40
+ */
41
+ export function devWarn(component, message, ...args) {
42
+ if (!isDev) {
43
+ return;
44
+ }
45
+ console.warn(formatDevMessage(component, message), ...args);
46
+ }
47
+
48
+ /**
49
+ * `console.error` in the standardized `Component: message` format. Unlike
50
+ * {@link devWarn}, this runs in production too: it reports real runtime
51
+ * failures (e.g. a thrown callback) that should reach error telemetry.
52
+ *
53
+ * @example
54
+ * ```
55
+ * devError('Table', 'Plugin at index 0 threw in transform:', error);
56
+ * ```
57
+ */
58
+ export function devError(component, message, ...args) {
59
+ console.error(formatDevMessage(component, message), ...args);
60
+ }
61
+ const warnedKeys = new Set();
62
+
63
+ /**
64
+ * Dev-only warning that fires at most once per `key` for the lifetime of the
65
+ * app. Use for singleton warnings that aren't tied to a component instance —
66
+ * a missing translation key, a per-theme perf hint, a one-time fallback.
67
+ * For per-component-instance warnings, use the `useDevWarning` hook instead.
68
+ *
69
+ * @example
70
+ * ```
71
+ * warnOnce(`theme:${name}`, 'Theme', `"${name}" uses runtime injection.`);
72
+ * ```
73
+ */
74
+ export function warnOnce(key, component, message, ...args) {
75
+ if (!isDev || warnedKeys.has(key)) {
76
+ return;
77
+ }
78
+ warnedKeys.add(key);
79
+ console.warn(formatDevMessage(component, message), ...args);
80
+ }
81
+
82
+ /**
83
+ * Clear `warnOnce` dedup state. Test-only.
84
+ * @internal
85
+ */
86
+ export function __resetDevWarnings() {
87
+ warnedKeys.clear();
88
+ }
@@ -7,7 +7,8 @@
7
7
  export type { SizeValue } from './types';
8
8
  export type { ISODateString, DayOfWeek, PlainDate, DateRange } from './dateTypes';
9
9
  export { parseDateInput, dateToISO, parseISO, isLocaleDayFirst, } from './dateParser';
10
- export { plainDateCreate, plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, getDaysInMonth, plainDateDayOfWeek, plainDateAddMonths, plainDateAddDays, plainDateToInstant, plainDateFromInstant, plainDateIsBefore, plainDateIsAfter, plainDateIsEqual, plainDateMax, plainDateMin, plainDateIsInRange, plainDateSetFirstOfMonth, plainDateSetStartOfWeek, plainDateSetEndOfWeekExclusive, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_LONG, DATE_FORMAT_MONTH_YEAR, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR, } from './plainDate';
10
+ export { plainDateCreate, plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, getDaysInMonth, plainDateDayOfWeek, plainDateAddMonths, plainDateAddDays, plainDateToInstant, plainDateFromInstant, plainDateIsBefore, plainDateIsAfter, plainDateIsEqual, plainDateMax, plainDateMin, plainDateIsInRange, plainDateSetFirstOfMonth, plainDateSetStartOfWeek, plainDateSetEndOfWeekExclusive, plainDateGetWeekNumber, plainDateFormat, formatSharedDate, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_SHORT_WITH_WEEKDAY, DATE_FORMAT_LONG, DATE_FORMAT_MONTH_YEAR, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR, SHARED_DATE_FORMAT_OPTIONS, } from './plainDate';
11
+ export type { SharedDateFormat } from './plainDate';
11
12
  export { parseISOTime, formatISOTime, formatDisplayTime12h, formatDisplayTime24h, parseTimeInput, compareTime, isTimeInRange, clampTime, adjustTime, createISOTimeString, } from './timeParser';
12
13
  export type { ISOTimeString, ParsedTime } from './timeParser';
13
14
  export { parseStyleKey } from './parseStyleKey';
@@ -25,4 +26,5 @@ export { getInputARIA } from './inputAria';
25
26
  export type { InputARIA, InputARIAInputGroup } from './inputAria';
26
27
  export { parseHex, parseRgb, parseColor, formatHex, formatColor, toGLFloats, } from './color';
27
28
  export type { RGBA } from './color';
29
+ export { devWarn, devError, warnOnce, formatDevMessage } from './devWarning';
28
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,YAAY,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEhF,OAAO,EACL,cAAc,EACd,SAAS,EACT,QAAQ,EACR,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,WAAW,EAAC,MAAM,UAAU,CAAC;AAE5D,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAC7D,YAAY,EACV,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AACtD,YAAY,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAE,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,YAAY,EAAC,SAAS,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEhE,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,YAAY,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,YAAY,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEhF,OAAO,EACL,cAAc,EACd,SAAS,EACT,QAAQ,EACR,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,8BAA8B,EAC9B,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAElD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,WAAW,EAAC,MAAM,UAAU,CAAC;AAE5D,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAC7D,YAAY,EACV,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AACtD,YAAY,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAE,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,YAAY,EAAC,SAAS,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEhE,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,YAAY,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAElC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  export { parseDateInput, dateToISO, parseISO, isLocaleDayFirst } from "./dateParser.js";
11
- export { plainDateCreate, plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, getDaysInMonth, plainDateDayOfWeek, plainDateAddMonths, plainDateAddDays, plainDateToInstant, plainDateFromInstant, plainDateIsBefore, plainDateIsAfter, plainDateIsEqual, plainDateMax, plainDateMin, plainDateIsInRange, plainDateSetFirstOfMonth, plainDateSetStartOfWeek, plainDateSetEndOfWeekExclusive, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_LONG, DATE_FORMAT_MONTH_YEAR, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR } from "./plainDate.js";
11
+ export { plainDateCreate, plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, getDaysInMonth, plainDateDayOfWeek, plainDateAddMonths, plainDateAddDays, plainDateToInstant, plainDateFromInstant, plainDateIsBefore, plainDateIsAfter, plainDateIsEqual, plainDateMax, plainDateMin, plainDateIsInRange, plainDateSetFirstOfMonth, plainDateSetStartOfWeek, plainDateSetEndOfWeekExclusive, plainDateGetWeekNumber, plainDateFormat, formatSharedDate, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_SHORT_WITH_WEEKDAY, DATE_FORMAT_LONG, DATE_FORMAT_MONTH_YEAR, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR, SHARED_DATE_FORMAT_OPTIONS } from "./plainDate.js";
12
12
  export { parseISOTime, formatISOTime, formatDisplayTime12h, formatDisplayTime24h, parseTimeInput, compareTime, isTimeInRange, clampTime, adjustTime, createISOTimeString } from "./timeParser.js";
13
13
  export { parseStyleKey } from "./parseStyleKey.js";
14
14
  export { getKey } from "./getKey.js";
@@ -20,4 +20,5 @@ export { groupItems, getItemGroup } from "./groupItems.js";
20
20
  export { observeResize, unobserveResize } from "./sharedResizeObserver.js";
21
21
  export { isRenderable } from "./isRenderable.js";
22
22
  export { getInputARIA } from "./inputAria.js";
23
- export { parseHex, parseRgb, parseColor, formatHex, formatColor, toGLFloats } from "./color.js";
23
+ export { parseHex, parseRgb, parseColor, formatHex, formatColor, toGLFloats } from "./color.js";
24
+ export { devWarn, devError, warnOnce, formatDevMessage } from "./devWarning.js";
@@ -29,9 +29,39 @@ export declare function plainDateSetStartOfWeek(pd: PlainDate, weekStartsOn: num
29
29
  export declare function plainDateSetEndOfWeekExclusive(pd: PlainDate, weekStartsOn: number): PlainDate;
30
30
  export declare function plainDateGetWeekNumber(pd: PlainDate): number;
31
31
  export declare const DATE_FORMAT_WITH_WEEKDAY: Intl.DateTimeFormatOptions;
32
+ export declare const DATE_FORMAT_SHORT_WITH_WEEKDAY: Intl.DateTimeFormatOptions;
32
33
  export declare const DATE_FORMAT_LONG: Intl.DateTimeFormatOptions;
33
34
  export declare const DATE_FORMAT_MONTH_YEAR: Intl.DateTimeFormatOptions;
34
35
  export declare const DATE_FORMAT_SHORT: Intl.DateTimeFormatOptions;
35
36
  export declare const DATE_FORMAT_SHORT_WITH_YEAR: Intl.DateTimeFormatOptions;
36
37
  export declare function plainDateFormat(pd: PlainDate, options: Intl.DateTimeFormatOptions): string;
38
+ /**
39
+ * The date-only members of Timestamp's `format` vocabulary that a
40
+ * calendar-date field (no time-of-day) can render. Both Timestamp and
41
+ * DateInput share these string literals and the mapping below so that the same
42
+ * literal renders the same date shape in either component.
43
+ *
44
+ * - `date`: locale short-month date, e.g. "Mar 21, 2026"
45
+ * - `date_long`: locale long-month date, e.g. "March 21, 2026"
46
+ * - `date_weekday`: short weekday + short-month date, e.g. "Wed, Mar 21, 2026"
47
+ * - `system_date`: ISO 8601 calendar date, e.g. "2026-03-21"
48
+ */
49
+ export type SharedDateFormat = 'date' | 'date_long' | 'date_weekday' | 'system_date';
50
+ /**
51
+ * Intl option bags for the locale-aware shared date members. `system_date` is
52
+ * intentionally absent — it is emitted as a fixed ISO `YYYY-MM-DD` string, not
53
+ * via `Intl` — and is handled directly by {@link formatSharedDate}.
54
+ *
55
+ * This is the single source of truth consumed by both Timestamp's
56
+ * `formatTimestamp` switch and DateInput's display path, so the two never
57
+ * drift for the members they share.
58
+ */
59
+ export declare const SHARED_DATE_FORMAT_OPTIONS: Record<Exclude<SharedDateFormat, 'system_date'>, Intl.DateTimeFormatOptions>;
60
+ /**
61
+ * Renders a {@link PlainDate} using one of the {@link SharedDateFormat}
62
+ * members. The shared entry point DateInput uses for the named-format path;
63
+ * Timestamp maps the same members onto {@link SHARED_DATE_FORMAT_OPTIONS} in
64
+ * its own `formatTimestamp` switch (its input is a `Date`, not a `PlainDate`).
65
+ */
66
+ export declare function formatSharedDate(pd: PlainDate, format: SharedDateFormat): string;
37
67
  //# sourceMappingURL=plainDate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plainDate.d.ts","sourceRoot":"","sources":["../../src/utils/plainDate.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAE1D,YAAY,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAE3C,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,SAAS,CAcX;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAG9D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,aAAa,CAK3D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAEnD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAMpD;AAED,wBAAgB,cAAc,IAAI,SAAS,CAE1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAItE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAIpE;AAsDD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,SAAI,EACR,MAAM,SAAI,GACT,MAAM,CAMR;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,SAAS,CAGX;AAYD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAErE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAElE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAElE;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,GAC5B,OAAO,CAET;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAEjE;AAED,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,MAAM,GACnB,SAAS,CAIX;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,MAAM,GACnB,SAAS,CAEX;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAM5D;AAGD,eAAO,MAAM,wBAAwB,EAAE,IAAI,CAAC,qBAK3C,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,qBAInC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,IAAI,CAAC,qBAGzC,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,IAAI,CAAC,qBAGpC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,IAAI,CAAC,qBAI9C,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,IAAI,CAAC,qBAAqB,GAClC,MAAM,CAIR"}
1
+ {"version":3,"file":"plainDate.d.ts","sourceRoot":"","sources":["../../src/utils/plainDate.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAE1D,YAAY,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAE3C,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,SAAS,CAcX;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAG9D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,aAAa,CAK3D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAEnD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAMpD;AAED,wBAAgB,cAAc,IAAI,SAAS,CAE1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAItE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAIpE;AAsDD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,SAAI,EACR,MAAM,SAAI,GACT,MAAM,CAMR;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,SAAS,CAGX;AAYD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAErE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAElE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAElE;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,GAC5B,OAAO,CAET;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAEjE;AAED,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,MAAM,GACnB,SAAS,CAIX;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,MAAM,GACnB,SAAS,CAEX;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAM5D;AAGD,eAAO,MAAM,wBAAwB,EAAE,IAAI,CAAC,qBAK3C,CAAC;AAIF,eAAO,MAAM,8BAA8B,EAAE,IAAI,CAAC,qBAKjD,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,qBAInC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,IAAI,CAAC,qBAGzC,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,IAAI,CAAC,qBAGpC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,IAAI,CAAC,qBAI9C,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,IAAI,CAAC,qBAAqB,GAClC,MAAM,CAIR;AAMD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAC1B,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAC7C,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC,EACxC,IAAI,CAAC,qBAAqB,CAK3B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,gBAAgB,GACvB,MAAM,CAKR"}