@astryxdesign/core 0.1.2-canary.f03e2cc → 0.1.2-canary.f57fb72

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 (320) hide show
  1. package/README.md +12 -12
  2. package/dist/Avatar/Avatar.d.ts.map +1 -1
  3. package/dist/Avatar/Avatar.js +11 -5
  4. package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  5. package/dist/Breadcrumbs/BreadcrumbItem.js +20 -4
  6. package/dist/Calendar/Calendar.d.ts.map +1 -1
  7. package/dist/Calendar/Calendar.js +43 -28
  8. package/dist/Calendar/styles.d.ts +3 -9
  9. package/dist/Calendar/styles.d.ts.map +1 -1
  10. package/dist/Calendar/styles.js +3 -11
  11. package/dist/Carousel/Carousel.d.ts.map +1 -1
  12. package/dist/Carousel/Carousel.js +17 -3
  13. package/dist/Chat/ChatMessageList.d.ts +14 -1
  14. package/dist/Chat/ChatMessageList.d.ts.map +1 -1
  15. package/dist/Chat/ChatMessageList.js +2 -0
  16. package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
  17. package/dist/Chat/useTriggerMenu.js +4 -1
  18. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  19. package/dist/CheckboxInput/CheckboxInput.js +4 -2
  20. package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
  21. package/dist/CheckboxList/CheckboxList.js +12 -4
  22. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  23. package/dist/CodeBlock/CodeBlock.js +49 -37
  24. package/dist/ContextMenu/ContextMenu.d.ts +6 -1
  25. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  26. package/dist/ContextMenu/ContextMenu.js +95 -7
  27. package/dist/DateInput/DateInput.d.ts.map +1 -1
  28. package/dist/DateInput/DateInput.js +17 -2
  29. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  30. package/dist/DateRangeInput/DateRangeInput.js +9 -4
  31. package/dist/DateTimeInput/DateTimeInput.d.ts +7 -1
  32. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  33. package/dist/DateTimeInput/DateTimeInput.js +15 -3
  34. package/dist/Dialog/Dialog.d.ts.map +1 -1
  35. package/dist/Dialog/Dialog.js +12 -0
  36. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  37. package/dist/DropdownMenu/DropdownMenu.js +38 -5
  38. package/dist/Field/Field.d.ts +19 -2
  39. package/dist/Field/Field.d.ts.map +1 -1
  40. package/dist/Field/Field.js +4 -0
  41. package/dist/Field/FieldLabel.d.ts +21 -2
  42. package/dist/Field/FieldLabel.d.ts.map +1 -1
  43. package/dist/Field/FieldLabel.js +41 -26
  44. package/dist/FileInput/FileInput.d.ts.map +1 -1
  45. package/dist/FileInput/FileInput.js +27 -6
  46. package/dist/InputGroup/InputGroup.d.ts.map +1 -1
  47. package/dist/InputGroup/InputGroup.js +4 -1
  48. package/dist/Kbd/Kbd.d.ts.map +1 -1
  49. package/dist/Kbd/Kbd.js +33 -1
  50. package/dist/Layer/layerAnimations.stylex.d.ts +4 -0
  51. package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
  52. package/dist/Layer/layerAnimations.stylex.js +8 -4
  53. package/dist/Layer/useLayer.d.ts +10 -0
  54. package/dist/Layer/useLayer.d.ts.map +1 -1
  55. package/dist/Layer/useLayer.js +41 -6
  56. package/dist/Layout/padding.stylex.d.ts +51 -0
  57. package/dist/Layout/padding.stylex.d.ts.map +1 -1
  58. package/dist/Layout/padding.stylex.js +63 -0
  59. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  60. package/dist/Lightbox/Lightbox.js +4 -2
  61. package/dist/Link/Link.d.ts +7 -1
  62. package/dist/Link/Link.d.ts.map +1 -1
  63. package/dist/Link/Link.js +15 -7
  64. package/dist/Markdown/Markdown.d.ts.map +1 -1
  65. package/dist/Markdown/Markdown.js +5 -0
  66. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  67. package/dist/MultiSelector/MultiSelector.js +61 -14
  68. package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
  69. package/dist/NavMenu/NavHeadingMenu.js +34 -3
  70. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  71. package/dist/NumberInput/NumberInput.js +7 -1
  72. package/dist/Pagination/Pagination.d.ts +1 -1
  73. package/dist/Pagination/Pagination.d.ts.map +1 -1
  74. package/dist/Pagination/Pagination.js +15 -1
  75. package/dist/Popover/usePopover.d.ts +25 -2
  76. package/dist/Popover/usePopover.d.ts.map +1 -1
  77. package/dist/Popover/usePopover.js +18 -6
  78. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  79. package/dist/PowerSearch/PowerSearch.js +4 -1
  80. package/dist/ProgressBar/ProgressBar.js +1 -1
  81. package/dist/RadioList/RadioList.d.ts +1 -1
  82. package/dist/RadioList/RadioList.d.ts.map +1 -1
  83. package/dist/RadioList/RadioList.js +76 -3
  84. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  85. package/dist/SegmentedControl/SegmentedControl.js +22 -0
  86. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  87. package/dist/SegmentedControl/SegmentedControlItem.js +6 -2
  88. package/dist/Selector/Selector.d.ts.map +1 -1
  89. package/dist/Selector/Selector.js +39 -10
  90. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  91. package/dist/SideNav/SideNavItem.js +1 -1
  92. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  93. package/dist/Skeleton/Skeleton.js +8 -2
  94. package/dist/Spinner/Spinner.d.ts.map +1 -1
  95. package/dist/Spinner/Spinner.js +1 -1
  96. package/dist/Stack/Stack.d.ts +28 -1
  97. package/dist/Stack/Stack.d.ts.map +1 -1
  98. package/dist/Stack/Stack.js +17 -1
  99. package/dist/Stack/StackItem.d.ts +12 -1
  100. package/dist/Stack/StackItem.d.ts.map +1 -1
  101. package/dist/Stack/StackItem.js +8 -1
  102. package/dist/TabList/Tab.d.ts.map +1 -1
  103. package/dist/TabList/Tab.js +6 -0
  104. package/dist/TabList/TabList.d.ts +14 -3
  105. package/dist/TabList/TabList.d.ts.map +1 -1
  106. package/dist/TabList/TabList.js +75 -4
  107. package/dist/TabList/TabListContext.d.ts +5 -0
  108. package/dist/TabList/TabListContext.d.ts.map +1 -1
  109. package/dist/TabList/TabListContext.js +5 -0
  110. package/dist/TabList/TabMenu.d.ts.map +1 -1
  111. package/dist/TabList/TabMenu.js +6 -1
  112. package/dist/Table/Table.d.ts.map +1 -1
  113. package/dist/Table/Table.js +7 -1
  114. package/dist/Table/plugins/pagination/paginateData.d.ts +2 -1
  115. package/dist/Table/plugins/pagination/paginateData.d.ts.map +1 -1
  116. package/dist/Table/plugins/pagination/paginateData.js +8 -3
  117. package/dist/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
  118. package/dist/Table/plugins/pagination/useTablePagination.js +6 -1
  119. package/dist/Toast/Toast.d.ts.map +1 -1
  120. package/dist/Toast/Toast.js +14 -0
  121. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  122. package/dist/Toast/ToastViewport.js +132 -3
  123. package/dist/Toolbar/Toolbar.d.ts.map +1 -1
  124. package/dist/Toolbar/Toolbar.js +7 -3
  125. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  126. package/dist/Tooltip/useTooltip.js +56 -9
  127. package/dist/TreeList/TreeList.d.ts +1 -1
  128. package/dist/TreeList/TreeList.d.ts.map +1 -1
  129. package/dist/TreeList/TreeList.js +78 -2
  130. package/dist/TreeList/TreeListItem.d.ts +10 -1
  131. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  132. package/dist/TreeList/TreeListItem.js +51 -12
  133. package/dist/TreeList/treeListItem.markers.stylex.d.ts +16 -0
  134. package/dist/TreeList/treeListItem.markers.stylex.d.ts.map +1 -0
  135. package/dist/TreeList/treeListItem.markers.stylex.js +22 -0
  136. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  137. package/dist/Typeahead/BaseTypeahead.js +58 -4
  138. package/dist/VisuallyHidden/VisuallyHidden.d.ts +61 -0
  139. package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  140. package/dist/VisuallyHidden/VisuallyHidden.js +65 -0
  141. package/dist/VisuallyHidden/index.d.ts +11 -0
  142. package/dist/VisuallyHidden/index.d.ts.map +1 -0
  143. package/dist/VisuallyHidden/index.js +13 -0
  144. package/dist/astryx.css +7 -0
  145. package/dist/astryx.umd.js +48 -48
  146. package/dist/astryx.umd.js.map +4 -4
  147. package/dist/hooks/focusableSelector.d.ts +22 -0
  148. package/dist/hooks/focusableSelector.d.ts.map +1 -0
  149. package/dist/hooks/focusableSelector.js +24 -0
  150. package/dist/hooks/index.d.ts +10 -2
  151. package/dist/hooks/index.d.ts.map +1 -1
  152. package/dist/hooks/index.js +6 -2
  153. package/dist/hooks/useAnnounce.d.ts +40 -0
  154. package/dist/hooks/useAnnounce.d.ts.map +1 -0
  155. package/dist/hooks/useAnnounce.js +142 -0
  156. package/dist/hooks/useClickableContainer.d.ts +16 -1
  157. package/dist/hooks/useClickableContainer.d.ts.map +1 -1
  158. package/dist/hooks/useClickableContainer.js +16 -4
  159. package/dist/hooks/useEntryAnimation.d.ts.map +1 -1
  160. package/dist/hooks/useEntryAnimation.js +4 -4
  161. package/dist/hooks/useFocusTrap.d.ts +18 -0
  162. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  163. package/dist/hooks/useFocusTrap.js +87 -3
  164. package/dist/hooks/useGridFocus.d.ts +32 -1
  165. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  166. package/dist/hooks/useGridFocus.js +143 -58
  167. package/dist/hooks/useListFocus.d.ts +78 -7
  168. package/dist/hooks/useListFocus.d.ts.map +1 -1
  169. package/dist/hooks/useListFocus.js +305 -52
  170. package/dist/hooks/useLongPress.d.ts +21 -0
  171. package/dist/hooks/useLongPress.d.ts.map +1 -0
  172. package/dist/hooks/useLongPress.js +89 -0
  173. package/dist/hooks/useTreeFocus.d.ts +133 -0
  174. package/dist/hooks/useTreeFocus.d.ts.map +1 -0
  175. package/dist/hooks/useTreeFocus.js +274 -0
  176. package/dist/hooks/useTypeahead.d.ts +63 -0
  177. package/dist/hooks/useTypeahead.d.ts.map +1 -0
  178. package/dist/hooks/useTypeahead.js +117 -0
  179. package/dist/index.d.ts +1 -0
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.js +1 -0
  182. package/dist/utils/index.d.ts +2 -0
  183. package/dist/utils/index.d.ts.map +1 -1
  184. package/dist/utils/index.js +1 -0
  185. package/package.json +11 -5
  186. package/src/Avatar/Avatar.test.tsx +37 -0
  187. package/src/Avatar/Avatar.tsx +10 -5
  188. package/src/Breadcrumbs/BreadcrumbItem.tsx +20 -5
  189. package/src/Breadcrumbs/Breadcrumbs.test.tsx +31 -10
  190. package/src/Calendar/Calendar.doc.mjs +1 -1
  191. package/src/Calendar/Calendar.test.tsx +147 -4
  192. package/src/Calendar/Calendar.tsx +52 -43
  193. package/src/Calendar/styles.ts +4 -9
  194. package/src/Carousel/Carousel.test.tsx +20 -0
  195. package/src/Carousel/Carousel.tsx +16 -1
  196. package/src/Chat/ChatMessageList.doc.mjs +8 -0
  197. package/src/Chat/ChatMessageList.test.tsx +18 -0
  198. package/src/Chat/ChatMessageList.tsx +16 -0
  199. package/src/Chat/useTriggerMenu.tsx +3 -0
  200. package/src/CheckboxInput/CheckboxInput.test.tsx +14 -25
  201. package/src/CheckboxInput/CheckboxInput.tsx +4 -2
  202. package/src/CheckboxList/CheckboxList.test.tsx +30 -14
  203. package/src/CheckboxList/CheckboxList.tsx +18 -3
  204. package/src/CodeBlock/CodeBlock.test.tsx +115 -0
  205. package/src/CodeBlock/CodeBlock.tsx +61 -33
  206. package/src/ContextMenu/ContextMenu.doc.mjs +6 -0
  207. package/src/ContextMenu/ContextMenu.test.tsx +157 -1
  208. package/src/ContextMenu/ContextMenu.tsx +116 -7
  209. package/src/DateInput/DateInput.test.tsx +59 -0
  210. package/src/DateInput/DateInput.tsx +24 -7
  211. package/src/DateRangeInput/DateRangeInput.test.tsx +69 -18
  212. package/src/DateRangeInput/DateRangeInput.tsx +7 -3
  213. package/src/DateTimeInput/DateTimeInput.doc.mjs +7 -0
  214. package/src/DateTimeInput/DateTimeInput.test.tsx +99 -6
  215. package/src/DateTimeInput/DateTimeInput.tsx +32 -3
  216. package/src/Dialog/Dialog.tsx +12 -0
  217. package/src/DropdownMenu/DropdownMenu.test.tsx +56 -19
  218. package/src/DropdownMenu/DropdownMenu.tsx +48 -2
  219. package/src/Field/Field.test.tsx +32 -0
  220. package/src/Field/Field.tsx +23 -5
  221. package/src/Field/FieldLabel.tsx +55 -17
  222. package/src/FileInput/FileInput.test.tsx +104 -49
  223. package/src/FileInput/FileInput.tsx +27 -3
  224. package/src/InputGroup/InputGroup.test.tsx +21 -63
  225. package/src/InputGroup/InputGroup.tsx +4 -1
  226. package/src/Kbd/Kbd.test.tsx +22 -4
  227. package/src/Kbd/Kbd.tsx +35 -3
  228. package/src/Layer/layerAnimations.stylex.ts +20 -4
  229. package/src/Layer/useLayer.doc.mjs +5 -0
  230. package/src/Layer/useLayer.tsx +67 -6
  231. package/src/Layout/padding.stylex.ts +52 -0
  232. package/src/Lightbox/Lightbox.test.tsx +53 -5
  233. package/src/Lightbox/Lightbox.tsx +9 -4
  234. package/src/Link/Link.doc.mjs +14 -0
  235. package/src/Link/Link.test.tsx +32 -0
  236. package/src/Link/Link.tsx +41 -4
  237. package/src/Markdown/Markdown.test.tsx +11 -0
  238. package/src/Markdown/Markdown.tsx +5 -0
  239. package/src/MetadataList/MetadataListItem.doc.mjs +4 -0
  240. package/src/MultiSelector/MultiSelector.test.tsx +172 -8
  241. package/src/MultiSelector/MultiSelector.tsx +73 -11
  242. package/src/NavMenu/NavHeadingMenu.test.tsx +77 -1
  243. package/src/NavMenu/NavHeadingMenu.tsx +50 -3
  244. package/src/NumberInput/NumberInput.test.tsx +72 -38
  245. package/src/NumberInput/NumberInput.tsx +12 -1
  246. package/src/Pagination/Pagination.doc.mjs +3 -3
  247. package/src/Pagination/Pagination.test.tsx +117 -5
  248. package/src/Pagination/Pagination.tsx +21 -1
  249. package/src/Popover/usePopover.doc.mjs +7 -3
  250. package/src/Popover/usePopover.tsx +49 -6
  251. package/src/PowerSearch/PowerSearch.tsx +3 -0
  252. package/src/ProgressBar/ProgressBar.test.tsx +34 -26
  253. package/src/ProgressBar/ProgressBar.tsx +1 -1
  254. package/src/RadioList/RadioList.test.tsx +129 -14
  255. package/src/RadioList/RadioList.tsx +103 -8
  256. package/src/SegmentedControl/SegmentedControl.test.tsx +84 -40
  257. package/src/SegmentedControl/SegmentedControl.tsx +26 -0
  258. package/src/SegmentedControl/SegmentedControlItem.tsx +4 -1
  259. package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
  260. package/src/Selector/Selector.test.tsx +146 -14
  261. package/src/Selector/Selector.tsx +59 -30
  262. package/src/SideNav/SideNav.test.tsx +16 -0
  263. package/src/SideNav/SideNavItem.tsx +2 -4
  264. package/src/Skeleton/Skeleton.test.tsx +25 -0
  265. package/src/Skeleton/Skeleton.tsx +11 -1
  266. package/src/Spinner/Spinner.tsx +7 -1
  267. package/src/Stack/Stack.doc.mjs +57 -0
  268. package/src/Stack/Stack.test.tsx +55 -5
  269. package/src/Stack/Stack.tsx +53 -1
  270. package/src/Stack/StackItem.test.tsx +23 -0
  271. package/src/Stack/StackItem.tsx +20 -0
  272. package/src/TabList/Tab.tsx +6 -0
  273. package/src/TabList/TabList.doc.mjs +6 -0
  274. package/src/TabList/TabList.test.tsx +167 -0
  275. package/src/TabList/TabList.tsx +103 -9
  276. package/src/TabList/TabListContext.ts +7 -3
  277. package/src/TabList/TabMenu.tsx +6 -3
  278. package/src/Table/Table.test.tsx +10 -0
  279. package/src/Table/Table.tsx +5 -0
  280. package/src/Table/plugins/pagination/paginateData.ts +10 -3
  281. package/src/Table/plugins/pagination/useTablePagination.test.tsx +16 -0
  282. package/src/Table/plugins/pagination/useTablePagination.tsx +8 -1
  283. package/src/Toast/Toast.tsx +14 -0
  284. package/src/Toast/ToastViewport.test.tsx +204 -0
  285. package/src/Toast/ToastViewport.tsx +167 -21
  286. package/src/Toolbar/Toolbar.test.tsx +45 -0
  287. package/src/Toolbar/Toolbar.tsx +5 -2
  288. package/src/Tooltip/Tooltip.test.tsx +68 -0
  289. package/src/Tooltip/useTooltip.tsx +55 -8
  290. package/src/TreeList/TreeList.test.tsx +295 -6
  291. package/src/TreeList/TreeList.tsx +84 -1
  292. package/src/TreeList/TreeListItem.tsx +50 -5
  293. package/src/TreeList/treeListItem.markers.stylex.ts +20 -0
  294. package/src/Typeahead/BaseTypeahead.tsx +69 -8
  295. package/src/Typeahead/Typeahead.test.tsx +160 -0
  296. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +80 -0
  297. package/src/VisuallyHidden/VisuallyHidden.test.tsx +76 -0
  298. package/src/VisuallyHidden/VisuallyHidden.tsx +113 -0
  299. package/src/VisuallyHidden/index.ts +15 -0
  300. package/src/hooks/focusableSelector.ts +25 -0
  301. package/src/hooks/index.ts +21 -2
  302. package/src/hooks/useAnnounce.test.tsx +101 -0
  303. package/src/hooks/useAnnounce.ts +168 -0
  304. package/src/hooks/useClickableContainer.ts +16 -4
  305. package/src/hooks/useEntryAnimation.ts +16 -4
  306. package/src/hooks/useFocusTrap.test.tsx +132 -0
  307. package/src/hooks/useFocusTrap.ts +98 -4
  308. package/src/hooks/useGridFocus.ts +184 -64
  309. package/src/hooks/useListFocus.doc.mjs +49 -10
  310. package/src/hooks/useListFocus.test.tsx +375 -0
  311. package/src/hooks/useListFocus.ts +395 -57
  312. package/src/hooks/useLongPress.test.tsx +134 -0
  313. package/src/hooks/useLongPress.ts +119 -0
  314. package/src/hooks/useTreeFocus.doc.mjs +126 -0
  315. package/src/hooks/useTreeFocus.test.tsx +214 -0
  316. package/src/hooks/useTreeFocus.ts +464 -0
  317. package/src/hooks/useTypeahead.test.tsx +109 -0
  318. package/src/hooks/useTypeahead.ts +183 -0
  319. package/src/index.ts +1 -0
  320. package/src/utils/index.ts +7 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @astryxdesign/core
2
2
 
3
- Core UI components, theme system, and utilities for the XDS design system. For project setup, see [Quick Start](#quick-start) below.
3
+ Core UI components, theme system, and utilities for the Astryx design system. For project setup, see [Quick Start](#quick-start) below.
4
4
 
5
5
  ## Component Docs
6
6
 
@@ -15,9 +15,9 @@ node node_modules/@astryxdesign/core/docs.mjs --list --brief # brief summaries
15
15
  ## Page Layouts
16
16
 
17
17
  Building a full page? Start with a template rather than composing from scratch.
18
- Templates are content-only; they compose `XDSLayout` with header, content, and
18
+ Templates are content-only; they compose `Layout` with header, content, and
19
19
  panel slots into common page patterns (dashboards, settings, forms, detail pages).
20
- Wrap them in your own app chrome (`XDSAppShell`, `XDSTopNav`, `XDSSideNav`) to add
20
+ Wrap them in your own app chrome (`AppShell`, `TopNav`, `SideNav`) to add
21
21
  global navigation.
22
22
 
23
23
  Requires `@astryxdesign/cli` (`npm install -D @astryxdesign/cli`):
@@ -28,7 +28,7 @@ npx astryx template dashboard # emit full page source
28
28
  npx astryx template settings --skeleton # layout skeleton with spatial annotations
29
29
  ```
30
30
 
31
- ## XDS CLI
31
+ ## Astryx CLI
32
32
 
33
33
  The CLI (`@astryxdesign/cli`) provides additional tooling:
34
34
 
@@ -38,11 +38,11 @@ npx astryx component Button # full docs + related block templates
38
38
  npx astryx docs # reference docs (principles, tokens, theming, styling)
39
39
  npx astryx docs theme # theming guide (Theme, defineTheme, light/dark)
40
40
  npx astryx docs tokens # spacing, color, radius, typography token reference
41
- npx astryx init # initialize XDS in your project
41
+ npx astryx init # initialize Astryx in your project
42
42
  npx astryx theme build # build theme CSS for production
43
43
  npx astryx swizzle Button # eject component source for customization
44
44
  npx astryx upgrade --apply # run codemods to migrate between versions
45
- npx astryx discover # discover external XDS packages
45
+ npx astryx discover # discover external Astryx packages
46
46
  npx astryx gap-report # report a missing capability
47
47
  ```
48
48
 
@@ -62,7 +62,7 @@ npx astryx gap-report # report a missing capability
62
62
 
63
63
  ## Quick Start
64
64
 
65
- Install XDS and a theme:
65
+ Install Astryx and a theme:
66
66
 
67
67
  ```bash
68
68
  npm install @astryxdesign/core @astryxdesign/theme-neutral
@@ -122,7 +122,7 @@ export default function RootLayout({children}: {children: React.ReactNode}) {
122
122
 
123
123
  ### Next.js + Tailwind
124
124
 
125
- No build plugins needed; XDS ships pre-built CSS that works alongside Tailwind.
125
+ No build plugins needed; Astryx ships pre-built CSS that works alongside Tailwind.
126
126
 
127
127
  **`src/app/globals.css`**
128
128
 
@@ -150,7 +150,7 @@ The `tailwind-theme.css` import maps system tokens to Tailwind utilities via `@t
150
150
 
151
151
  Some useful mappings:
152
152
 
153
- | Tailwind class | XDS token |
153
+ | Tailwind class | Astryx token |
154
154
  | --------------------------------------------------------- | ------------------------------------------------- |
155
155
  | `text-primary` / `text-secondary` | `--color-text-primary` / `--color-text-secondary` |
156
156
  | `bg-surface` / `bg-card` / `bg-body` | `--color-background-surface` / `card` / `body` |
@@ -160,7 +160,7 @@ Some useful mappings:
160
160
  | `rounded-sm` / `rounded-md` / `rounded-lg` | `--radius-inner` / `element` / `container` |
161
161
  | `shadow-sm` / `shadow-md` / `shadow-lg` | `--shadow-low` / `med` / `high` |
162
162
 
163
- Spacing references `var(--spacing-1)` as the base unit, so `p-4` = 16px, matching XDS's `--spacing-4`. Arbitrary values still work as an escape hatch: `bg-[var(--color-background-surface)]`.
163
+ Spacing references `var(--spacing-1)` as the base unit, so `p-4` = 16px, matching Astryx's `--spacing-4`. Arbitrary values still work as an escape hatch: `bg-[var(--color-background-surface)]`.
164
164
 
165
165
  **`src/app/providers.tsx`**
166
166
 
@@ -204,7 +204,7 @@ That's it. Start using components:
204
204
  import {Button} from '@astryxdesign/core/Button';
205
205
 
206
206
  export default function Page() {
207
- return <Button label="Hello XDS" variant="primary" />;
207
+ return <Button label="Hello Astryx" variant="primary" />;
208
208
  }
209
209
  ```
210
210
 
@@ -232,7 +232,7 @@ Providers and layout are the same as the Tailwind example (use `@astryxdesign/th
232
232
  npm install @astryxdesign/core @astryxdesign/theme-neutral
233
233
  ```
234
234
 
235
- Same CSS imports and providers as above. No build plugins needed; XDS ships pre-built.
235
+ Same CSS imports and providers as above. No build plugins needed; Astryx ships pre-built.
236
236
 
237
237
  ### No build step (CDN)
238
238
 
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsC5C;;GAEG;AACH,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExE;;GAEG;AACH,KAAK,iBAAiB,GAClB,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,GAAG,GACH,GAAG,GACH,GAAG,CAAC;AAER;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBpD;AAqFD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAsCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,WAAW,EACX,IAAI,EACJ,IAAc,EACd,GAAG,EACH,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,+BA8Eb;yBA3Fe,MAAM"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsC5C;;GAEG;AACH,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExE;;GAEG;AACH,KAAK,iBAAiB,GAClB,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,GAAG,GACH,GAAG,GACH,GAAG,CAAC;AAER;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBpD;AAqFD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAsCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,WAAW,EACX,IAAI,EACJ,IAAc,EACd,GAAG,EACH,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,+BAmFb;yBAhGe,MAAM"}
@@ -247,7 +247,12 @@ export function Avatar({
247
247
  const showFallbackImage = !showImage && fallbackSrc && !fallbackError;
248
248
  const showInitials = !showImage && !showFallbackImage && name;
249
249
  const showIcon = !showImage && !showFallbackImage && !name;
250
- const accessibleName = alt || name || 'Avatar';
250
+
251
+ // A meaningful accessible name comes from `alt` or `name`. With neither, the
252
+ // avatar is decorative — expose it as `presentation`/`aria-hidden` rather than
253
+ // announcing a meaningless generic "Avatar" (obs-9).
254
+ const accessibleName = alt || name;
255
+ const isDecorative = !accessibleName;
251
256
  const avatarGroup = useAvatarGroup();
252
257
  const resolvedSize = avatarGroup?.size ?? size;
253
258
  const numericSize = useMemo(() => resolveSize(resolvedSize), [resolvedSize]);
@@ -255,8 +260,9 @@ export function Avatar({
255
260
  value: numericSize,
256
261
  children: /*#__PURE__*/_jsxs("div", {
257
262
  ref: ref,
258
- role: "img",
259
- "aria-label": accessibleName,
263
+ role: isDecorative ? 'presentation' : 'img',
264
+ "aria-label": isDecorative ? undefined : accessibleName,
265
+ "aria-hidden": isDecorative || undefined,
260
266
  "data-testid": testId,
261
267
  ...mergeProps(themeProps('avatar', {
262
268
  size: resolvedSize
@@ -266,14 +272,14 @@ export function Avatar({
266
272
  ...stylex.props(styles.content, dynamicStyles.size(numericSize)),
267
273
  children: [showImage && /*#__PURE__*/_jsx("img", {
268
274
  src: src,
269
- alt: accessibleName,
275
+ alt: "",
270
276
  onError: () => setImageError(true),
271
277
  ...{
272
278
  className: "xh8yej3 x5yr21d xl1xv1r"
273
279
  }
274
280
  }), showFallbackImage && /*#__PURE__*/_jsx("img", {
275
281
  src: fallbackSrc,
276
- alt: accessibleName,
282
+ alt: "",
277
283
  onError: () => setFallbackError(true),
278
284
  ...{
279
285
  className: "xh8yej3 x5yr21d xl1xv1r"
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbItem.d.ts","sourceRoot":"","sources":["../../src/Breadcrumbs/BreadcrumbItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAIZ,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,SAAS,CAAC,aAAa,CAAC,EACxB,SAAS,CACV;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAoFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,SAAS,EAAE,aAAa,EACxB,SAAS,EACT,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,GACtB,EAAE,mBAAmB,qBAsIrB;yBAlJe,cAAc"}
1
+ {"version":3,"file":"BreadcrumbItem.d.ts","sourceRoot":"","sources":["../../src/Breadcrumbs/BreadcrumbItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAIZ,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,SAAS,CAAC,aAAa,CAAC,EACxB,SAAS,CACV;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAoFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,SAAS,EAAE,aAAa,EACxB,SAAS,EACT,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,GACtB,EAAE,mBAAmB,qBAqJrB;yBAjKe,cAAc"}
@@ -88,12 +88,20 @@ export function BreadcrumbItem({
88
88
  const LinkComponent = useLinkComponent(as);
89
89
  const isSupporting = ctx.variant === 'supporting';
90
90
  const liRef = useRef(null);
91
+ // Points at the element we render to hold the item's content (the
92
+ // link/button/span in the auto-candidate path). Auto-current detection sets
93
+ // aria-current on this instead of guessing the <li>'s last child.
94
+ const contentRef = useRef(null);
91
95
  const isCurrent = isCurrentProp === true;
92
96
  const isAutoCandidate = isCurrentProp == null;
93
97
 
94
98
  // Auto-detect: if no sibling has aria-current="page" and this is the last
95
99
  // non-separator item, set aria-current on our content element.
96
100
  // Runs as useEffect (not layout) — only sets an aria attribute, no visual change.
101
+ // Placed on the item's content element (the link/button/span after the
102
+ // separator), matching where the explicit `isCurrent` path sets it, so
103
+ // aria-current lands on the actual interactive element — including when the
104
+ // last item is a link — rather than on the outer <li> (navigation-11).
97
105
  useEffect(() => {
98
106
  if (!isAutoCandidate) {
99
107
  return;
@@ -112,11 +120,16 @@ export function BreadcrumbItem({
112
120
  const isLast = items.length > 0 && items[items.length - 1] === li;
113
121
  const hasExplicit = ol.querySelector('[aria-current="page"]');
114
122
  if (isLast && !hasExplicit) {
115
- li.setAttribute('aria-current', 'page');
123
+ // We control the element that holds the content (see the auto-candidate
124
+ // render path below), so set aria-current on that ref rather than
125
+ // assuming a positional last child. Fall back to the <li> only if the
126
+ // ref is somehow unresolved.
127
+ const target = contentRef.current ?? li;
128
+ target.setAttribute('aria-current', 'page');
129
+ return () => {
130
+ target.removeAttribute('aria-current');
131
+ };
116
132
  }
117
- return () => {
118
- li.removeAttribute('aria-current');
119
- };
120
133
  });
121
134
  const content = /*#__PURE__*/_jsxs(_Fragment, {
122
135
  children: [startIcon && /*#__PURE__*/_jsx("span", {
@@ -165,6 +178,7 @@ export function BreadcrumbItem({
165
178
  },
166
179
  children: ctx.separator
167
180
  }), href != null ? /*#__PURE__*/_jsx(LinkComponent, {
181
+ ref: contentRef,
168
182
  href: href,
169
183
  onClick: onClick,
170
184
  ...{
@@ -177,6 +191,7 @@ export function BreadcrumbItem({
177
191
  }[!!isSupporting << 0],
178
192
  children: content
179
193
  }) : onClick != null ? /*#__PURE__*/_jsx("button", {
194
+ ref: contentRef,
180
195
  type: "button",
181
196
  onClick: onClick,
182
197
  ...{
@@ -189,6 +204,7 @@ export function BreadcrumbItem({
189
204
  }[!!isSupporting << 0],
190
205
  children: content
191
206
  }) : /*#__PURE__*/_jsx("span", {
207
+ ref: contentRef,
192
208
  ...{
193
209
  0: {
194
210
  className: "x78zum5 x6s0dn4 xzye2dw x1pd3egz x1tgivj0"
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA8C5C,YAAY,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACV,MAAM,oBAAoB,CAAC;AAI5B,+CAA+C;AAE/C,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C;AAID,UAAU,iBAAkB,SAAQ,IAAI,CACtC,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,cAAc,CAC5B;IACC,kDAAkD;IAClD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,+CAA+C;IAC/C,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAEzD;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAEvD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CAC1C;AAID,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,qBAAqB;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED,UAAU,kBAAmB,SAAQ,iBAAiB;IACpD,qBAAqB;IACrB,IAAI,EAAE,OAAO,CAAC;IAEd,0BAA0B;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAMrE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAC,GAAG,EAAE,GAAG,KAAK,EAAC,EAAE,aAAa,+BA4RtD;yBA5Re,QAAQ"}
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA6C5C,YAAY,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACV,MAAM,oBAAoB,CAAC;AAI5B,+CAA+C;AAE/C,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C;AAID,UAAU,iBAAkB,SAAQ,IAAI,CACtC,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,cAAc,CAC5B;IACC,kDAAkD;IAClD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,+CAA+C;IAC/C,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAEzD;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAEvD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CAC1C;AAID,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,qBAAqB;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED,UAAU,kBAAmB,SAAQ,iBAAiB;IACpD,qBAAqB;IACrB,IAAI,EAAE,OAAO,CAAC;IAEd,0BAA0B;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAMrE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAC,GAAG,EAAE,GAAG,KAAK,EAAC,EAAE,aAAa,+BA4RtD;yBA5Re,QAAQ"}
@@ -23,7 +23,7 @@ import { Icon } from "../Icon/index.js";
23
23
  import { useGridFocus } from "../hooks/index.js";
24
24
  import { useCalendarDays, useCalendarConstraints, useCalendarRovingTabindex } from "./hooks/index.js";
25
25
  import { calendarStyles, monthGridStyles, dayCellStyles, dayCellTheme } from "./styles.js";
26
- import { plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, plainDateSetFirstOfMonth, plainDateAddMonths, plainDateAddDays, plainDateIsBefore, plainDateIsEqual, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_MONTH_YEAR } from "../utils/plainDate.js";
26
+ import { plainDateFromISO, plainDateToISO, plainDateToDate, plainDateToday, plainDateSetFirstOfMonth, plainDateAddMonths, plainDateAddDays, plainDateIsBefore, plainDateIsEqual, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_MONTH_YEAR } from "../utils/plainDate.js";
27
27
  import { mergeProps } from "../utils/index.js";
28
28
  import { computeDayCellState, computeRangeRounding, computePreviewRounding, isEndpoint } from "./dayCellUtils.js";
29
29
 
@@ -361,21 +361,21 @@ function MonthGrid({
361
361
  selectedDate: selectedDateForTabindex
362
362
  });
363
363
 
364
- // Helper to get the focused date from the currently focused element
364
+ // Helper to get the focused date from the currently focused element.
365
+ // Reads the machine-readable `data-date` (ISO) attribute rather than parsing
366
+ // the human-readable `aria-label` with `new Date()`, which is locale/format
367
+ // dependent and returns Invalid Date in non-English locales (e.g. fr-FR,
368
+ // ja-JP), silently swallowing month-boundary arrow navigation (complex-4).
365
369
  const getFocusedDate = useCallback(() => {
366
370
  const activeElement = document.activeElement;
367
371
  if (!activeElement) {
368
372
  return null;
369
373
  }
370
- const ariaLabel = activeElement.getAttribute('aria-label');
371
- if (!ariaLabel) {
374
+ const iso = activeElement.getAttribute('data-date');
375
+ if (!iso) {
372
376
  return null;
373
377
  }
374
- const parsed = new Date(ariaLabel);
375
- if (isNaN(parsed.getTime())) {
376
- return null;
377
- }
378
- return plainDateToISO(plainDateFromDate(parsed));
378
+ return iso;
379
379
  }, []);
380
380
 
381
381
  // Handle navigation to previous month
@@ -408,13 +408,23 @@ function MonthGrid({
408
408
  }
409
409
  }, [getFocusedDate, onNavigateNext]);
410
410
 
411
- // Grid focus navigation
411
+ // Grid focus navigation.
412
+ //
413
+ // The hook enumerates ALL grid cells (every `role="gridcell"`, including
414
+ // disabled days and empty placeholder cells) so the true 7-column geometry is
415
+ // preserved. `isCellFocusable` / `getFocusTarget` tell the hook which cells
416
+ // can take focus (those containing an enabled day button) and where to send
417
+ // focus (the day button inside the cell). Arrow keys move to the target
418
+ // row/column and, if that cell is disabled, continue in the same direction to
419
+ // the next enabled cell.
412
420
  const {
413
421
  gridRef,
414
422
  handleKeyDown: handleGridKeyDown
415
423
  } = useGridFocus({
416
424
  columns: 7,
417
- cellSelector: 'button:not([disabled])',
425
+ cellSelector: '[role="gridcell"]',
426
+ isCellFocusable: cell => cell.querySelector('button:not([disabled])') !== null,
427
+ getFocusTarget: cell => cell.querySelector('button'),
418
428
  onNavigateBefore: handleNavigatePrevious,
419
429
  onNavigateAfter: handleNavigateNext,
420
430
  onPageUp: handlePageUp,
@@ -428,10 +438,10 @@ function MonthGrid({
428
438
  }
429
439
  const buttons = gridRef.current.querySelectorAll('button:not([disabled])');
430
440
  const targetPd = plainDateFromISO(pendingFocus);
431
- const targetLabel = plainDateFormat(targetPd, DATE_FORMAT_WITH_WEEKDAY);
441
+ const targetIso = plainDateToISO(targetPd);
432
442
  let targetButton = null;
433
443
  for (const button of buttons) {
434
- if (button.getAttribute('aria-label') === targetLabel) {
444
+ if (button.getAttribute('data-date') === targetIso) {
435
445
  targetButton = button;
436
446
  break;
437
447
  }
@@ -482,30 +492,32 @@ function MonthGrid({
482
492
  const monthLabel = useMemo(() => {
483
493
  return plainDateFormat(month, DATE_FORMAT_MONTH_YEAR);
484
494
  }, [month]);
485
- return /*#__PURE__*/_jsxs("div", {
495
+ return /*#__PURE__*/_jsx("div", {
486
496
  ...stylex.props(monthGridStyles.monthGrid),
487
- children: [/*#__PURE__*/_jsxs("div", {
488
- ...stylex.props(monthGridStyles.weekHeader, hasWeekNumbers && monthGridStyles.weekHeaderWithNumbers),
489
- children: [hasWeekNumbers && /*#__PURE__*/_jsx("div", {
490
- ...stylex.props(monthGridStyles.dayName, monthGridStyles.weekNumberHeader)
491
- }), dayNames.map(name => /*#__PURE__*/_jsx("div", {
492
- role: "columnheader",
493
- ...stylex.props(monthGridStyles.dayName),
494
- children: name
495
- }, name))]
496
- }), /*#__PURE__*/_jsx("div", {
497
+ children: /*#__PURE__*/_jsxs("div", {
497
498
  ref: gridRef,
498
499
  role: "grid",
499
500
  "aria-label": monthLabel,
500
501
  onKeyDown: handleGridKeyDown,
501
502
  ...stylex.props(monthGridStyles.daysGrid, hasWeekNumbers && monthGridStyles.daysGridWithNumbers),
502
- children: weeks.map(week => {
503
+ children: [/*#__PURE__*/_jsxs("div", {
504
+ role: "row",
505
+ ...stylex.props(monthGridStyles.weekRow),
506
+ children: [hasWeekNumbers && /*#__PURE__*/_jsx("div", {
507
+ ...stylex.props(monthGridStyles.dayName, monthGridStyles.weekNumberHeader)
508
+ }), dayNames.map(name => /*#__PURE__*/_jsx("div", {
509
+ role: "columnheader",
510
+ ...stylex.props(monthGridStyles.dayName),
511
+ children: name
512
+ }, name))]
513
+ }), weeks.map(week => {
503
514
  const weekDate = week.find(d => !d.isOutside)?.date || week[0].date;
504
515
  const weekNum = plainDateGetWeekNumber(weekDate);
505
516
  return /*#__PURE__*/_jsxs("div", {
506
517
  role: "row",
507
518
  ...stylex.props(monthGridStyles.weekRow),
508
519
  children: [hasWeekNumbers && /*#__PURE__*/_jsx("div", {
520
+ role: "rowheader",
509
521
  ...stylex.props(monthGridStyles.weekNumber),
510
522
  children: weekNum
511
523
  }), week.map((day, dayIndex) => /*#__PURE__*/_jsx(DayCell, {
@@ -525,8 +537,8 @@ function MonthGrid({
525
537
  onDayHover: onDayHover
526
538
  }, day.iso))]
527
539
  }, plainDateToISO(weekDate));
528
- })
529
- })]
540
+ })]
541
+ })
530
542
  });
531
543
  }
532
544
 
@@ -556,7 +568,10 @@ function DayCell({
556
568
  dayNumber
557
569
  } = day;
558
570
  if (isOutside && !hasOutsideDays) {
571
+ // Empty placeholder cell — still a gridcell so the grid geometry stays a
572
+ // clean 7-per-row set for keyboard navigation.
559
573
  return /*#__PURE__*/_jsx("div", {
574
+ role: "gridcell",
560
575
  ...stylex.props(dayCellStyles.cell)
561
576
  });
562
577
  }
@@ -577,6 +592,7 @@ function DayCell({
577
592
  const rangeRounding = computeRangeRounding(state);
578
593
  const previewRounding = computePreviewRounding(state);
579
594
  return /*#__PURE__*/_jsxs("div", {
595
+ role: "gridcell",
580
596
  ...stylex.props(dayCellStyles.cell),
581
597
  children: [state.isInRange && /*#__PURE__*/_jsx("div", {
582
598
  ...stylex.props(dayCellStyles.rangeBg, dayCellTheme.rangeBg, rangeRounding.roundLeft && dayCellStyles.rangeBgRadiusLeft, rangeRounding.roundRight && dayCellStyles.rangeBgRadiusRight, state.isRangeStart && dayCellStyles.rangeInsetLeft, state.isRangeStart && rangeRounding.roundRight && dayCellStyles.rangeInsetRight, state.isRangeEnd && dayCellStyles.rangeInsetRight, state.isRangeStart && rangeRounding.roundLeft && dayCellStyles.rangeInsetLeft)
@@ -584,7 +600,6 @@ function DayCell({
584
600
  ...stylex.props(dayCellStyles.previewBg, dayCellTheme.previewBg, previewRounding.roundLeft && dayCellStyles.previewBgRadiusLeft, previewRounding.roundRight && dayCellStyles.previewBgRadiusRight, state.isPreviewStart && dayCellStyles.previewStart, state.isPreviewEnd && dayCellStyles.previewEnd)
585
601
  }), /*#__PURE__*/_jsx("button", {
586
602
  type: "button",
587
- role: "gridcell",
588
603
  "data-date": day.iso,
589
604
  "aria-label": plainDateFormat(date, DATE_FORMAT_WITH_WEEKDAY),
590
605
  "aria-selected": state.isSelected || state.isInRange || undefined,
@@ -55,17 +55,11 @@ export declare const monthGridStyles: Readonly<{
55
55
  readonly monthGrid: Readonly<{
56
56
  readonly flex: stylex.StyleXClassNameFor<"flex", "1 1 0">;
57
57
  }>;
58
- readonly weekHeader: Readonly<{
59
- readonly display: stylex.StyleXClassNameFor<"display", "grid">;
60
- readonly gridTemplateColumns: stylex.StyleXClassNameFor<"gridTemplateColumns", "repeat(7, 1fr)">;
61
- readonly marginBottom: stylex.StyleXClassNameFor<"marginBottom", "4px">;
62
- }>;
63
- readonly weekHeaderWithNumbers: Readonly<{
64
- readonly gridTemplateColumns: stylex.StyleXClassNameFor<"gridTemplateColumns", "auto repeat(7, 1fr)">;
65
- }>;
66
58
  readonly dayName: Readonly<{
67
59
  readonly width: stylex.StyleXClassNameFor<"width", "32px">;
68
- readonly height: stylex.StyleXClassNameFor<"height", "32px">;
60
+ readonly height: stylex.StyleXClassNameFor<"height", `calc(${stylex.StyleXVar<"32px">} + ${stylex.StyleXVar<"4px">})`>;
61
+ readonly paddingBottom: stylex.StyleXClassNameFor<"paddingBottom", "4px">;
62
+ readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
69
63
  readonly display: stylex.StyleXClassNameFor<"display", "flex">;
70
64
  readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
71
65
  readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "center">;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/Calendar/styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAgB3C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCzB,CAAC;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4C1B,CAAC;AAMH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4GxB,CAAC;AAMH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEvB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/Calendar/styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAgB3C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCzB,CAAC;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuC1B,CAAC;AAMH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4GxB,CAAC;AAMH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEvB,CAAC"}
@@ -77,19 +77,11 @@ export const monthGridStyles = {
77
77
  kUk6DE: "x1cqoux5",
78
78
  $$css: true
79
79
  },
80
- weekHeader: {
81
- k1xSpc: "xrvj5dj",
82
- kumcoG: "x1mzazjb",
83
- k1K539: "x14cgwvg",
84
- $$css: true
85
- },
86
- weekHeaderWithNumbers: {
87
- kumcoG: "x1wthsqz",
88
- $$css: true
89
- },
90
80
  dayName: {
91
81
  kzqmXN: "x805d0l",
92
- kZKoxP: "x1ueg155",
82
+ kZKoxP: "x1u5rhrp",
83
+ kGO01o: "xy143xn",
84
+ kB7OPa: "x9f619",
93
85
  k1xSpc: "x78zum5",
94
86
  kGNEyG: "x6s0dn4",
95
87
  kjj79g: "xl56j7k",
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../src/Carousel/Carousel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAA2C,MAAM,OAAO,CAAC;AAc/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAGhD,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,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;;;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,QAAQ,EACR,GAAO,EACP,UAAiB,EACjB,WAAkB,EAClB,OAAe,EACf,OAAO,EACP,YAAY,EAAE,SAAsB,EACpC,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,SAAS,EACb,EAAE,aAAa,+BAgIf;yBA9Ie,QAAQ"}
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../src/Carousel/Carousel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAA2C,MAAM,OAAO,CAAC;AAc/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAGhD,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,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;;;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,QAAQ,EACR,GAAO,EACP,UAAiB,EACjB,WAAkB,EAClB,OAAe,EACf,OAAO,EACP,YAAY,EAAE,SAAsB,EACpC,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,SAAS,EACb,EAAE,aAAa,+BA+If;yBA7Je,QAAQ"}
@@ -239,9 +239,13 @@ export function Carousel({
239
239
  const firstChild = el.firstElementChild;
240
240
  const itemWidth = firstChild ? firstChild.offsetWidth : 0;
241
241
  const amount = el.clientWidth - itemWidth * 0.5;
242
+ // Respect the user's reduced-motion preference — mirrors the CSS
243
+ // scroll-behavior override so button-driven scrolling doesn't animate
244
+ // for users who opted out of motion.
245
+ const prefersReducedMotion = typeof window !== 'undefined' && typeof window.matchMedia === 'function' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
242
246
  el.scrollBy({
243
247
  left: direction * Math.max(amount, itemWidth),
244
- behavior: 'smooth'
248
+ behavior: prefersReducedMotion ? 'auto' : 'smooth'
245
249
  });
246
250
  }, []);
247
251
  const fadeStyle = hasEdgeFade ? overflowStart && overflowEnd ? styles.fadeBoth : overflowStart ? styles.fadeStart : overflowEnd ? styles.fadeEnd : null : null;
@@ -285,7 +289,13 @@ export function Carousel({
285
289
  label: "Scroll left",
286
290
  variant: "ghost",
287
291
  size: "sm",
288
- isIconOnly: true,
292
+ isIconOnly: true
293
+ // Disabled when there's nothing to scroll toward. Keeps the
294
+ // button mounted (stable layout/focus) but removes it from the
295
+ // tab order and a11y tree while it's visually hidden, so
296
+ // keyboard users don't land on an invisible control.
297
+ ,
298
+ isDisabled: !overflowStart,
289
299
  onClick: () => scrollBy(-1),
290
300
  xstyle: styles.buttonRadiusOverride
291
301
  })
@@ -306,7 +316,11 @@ export function Carousel({
306
316
  label: "Scroll right",
307
317
  variant: "ghost",
308
318
  size: "sm",
309
- isIconOnly: true,
319
+ isIconOnly: true
320
+ // See "Scroll left" — disabled while visually hidden so the
321
+ // button stays mounted but out of the tab order / a11y tree.
322
+ ,
323
+ isDisabled: !overflowEnd,
310
324
  onClick: () => scrollBy(1),
311
325
  xstyle: styles.buttonRadiusOverride
312
326
  })
@@ -52,6 +52,19 @@ export interface ChatMessageListProps extends BaseProps<HTMLDivElement> {
52
52
  * be grouped) and row spacing should be tuned separately from density.
53
53
  */
54
54
  gap?: SpacingStep;
55
+ /**
56
+ * Whether an assistant message is actively streaming into the list.
57
+ *
58
+ * The list is a `role="log"` / `aria-live="polite"` region, so while a
59
+ * message streams in token-by-token, screen readers would otherwise
60
+ * re-announce the accumulating partial text on every mutation. Set
61
+ * `isStreaming` to `true` for the duration of a stream: it marks the log
62
+ * `aria-busy="true"` so assistive tech waits and announces the completed
63
+ * message once, when `isStreaming` returns to `false`.
64
+ *
65
+ * @default false
66
+ */
67
+ isStreaming?: boolean;
55
68
  }
56
69
  /**
57
70
  * Presentational container for chat messages.
@@ -73,7 +86,7 @@ export interface ChatMessageListProps extends BaseProps<HTMLDivElement> {
73
86
  * </ChatMessageList>
74
87
  * ```
75
88
  */
76
- export declare function ChatMessageList({ children, emptyState, scrollToTopAction, density, gap, xstyle, className, style, 'data-testid': testId, ref, }: ChatMessageListProps): import("react").JSX.Element;
89
+ export declare function ChatMessageList({ children, emptyState, scrollToTopAction, density, gap, isStreaming, xstyle, className, style, 'data-testid': testId, ref, }: ChatMessageListProps): import("react").JSX.Element;
77
90
  export declare namespace ChatMessageList {
78
91
  var displayName: string;
79
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageList.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatMessageList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAC,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAGhF,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAGhD,MAAM,WAAW,oBAAqB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACrE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AA4FD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,OAAoB,EACpB,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,GACJ,EAAE,oBAAoB,+BA2FtB;yBAtGe,eAAe"}
1
+ {"version":3,"file":"ChatMessageList.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatMessageList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAC,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAGhF,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAGhD,MAAM,WAAW,oBAAqB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACrE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;IAElB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA4FD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,OAAoB,EACpB,GAAG,EACH,WAAmB,EACnB,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,GACJ,EAAE,oBAAoB,+BA4FtB;yBAxGe,eAAe"}
@@ -145,6 +145,7 @@ export function ChatMessageList({
145
145
  scrollToTopAction,
146
146
  density = 'balanced',
147
147
  gap,
148
+ isStreaming = false,
148
149
  xstyle,
149
150
  className,
150
151
  style,
@@ -195,6 +196,7 @@ export function ChatMessageList({
195
196
  ref: ref,
196
197
  role: "log",
197
198
  "aria-live": "polite",
199
+ "aria-busy": isStreaming || undefined,
198
200
  tabIndex: 0,
199
201
  "data-testid": testId,
200
202
  ...mergeProps(themeProps('chat-message-list', {
@@ -1 +1 @@
1
- {"version":3,"file":"useTriggerMenu.d.ts","sourceRoot":"","sources":["../../src/Chat/useTriggerMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAWf,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAM7B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,gEAAgE;IAChE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oEAAoE;IACpE,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,OAAO,CAAC;IACnD,sCAAsC;IACtC,UAAU,EAAE,MAAM,SAAS,CAAC;IAC5B,mCAAmC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE;QACT,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,eAAe,CAAC,EAAE,SAAS,CAAC;KAC7B,CAAC;CACH;AA+JD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,qBAAqB,GAC7B,oBAAoB,CAwctB"}
1
+ {"version":3,"file":"useTriggerMenu.d.ts","sourceRoot":"","sources":["../../src/Chat/useTriggerMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAWf,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAM7B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,gEAAgE;IAChE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oEAAoE;IACpE,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,OAAO,CAAC;IACnD,sCAAsC;IACtC,UAAU,EAAE,MAAM,SAAS,CAAC;IAC5B,mCAAmC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE;QACT,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,eAAe,CAAC,EAAE,SAAS,CAAC;KAC7B,CAAC;CACH;AA+JD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,qBAAqB,GAC7B,oBAAoB,CA2ctB"}
@@ -159,7 +159,10 @@ export function useTriggerMenu(options) {
159
159
  }, [removeAnchorSpan]),
160
160
  hasLightDismiss: true,
161
161
  hasCloseButton: false,
162
- hasAutoFocus: false
162
+ hasAutoFocus: false,
163
+ // The popup's own role="listbox" is the exposed semantics; focus stays in
164
+ // the contenteditable composer, so a modal dialog wrapper is incorrect.
165
+ role: 'none'
163
166
  });
164
167
 
165
168
  // Cleanup on unmount
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAY3C,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;AA4IhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAmCH,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;IACrB;;;;;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,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,GACJ,EAAE,kBAAkB,+BAoKpB;yBA1Le,aAAa"}
1
+ {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAY3C,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;AA4IhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAmCH,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;IACrB;;;;;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,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,GACJ,EAAE,kBAAkB,+BAsKpB;yBA5Le,aAAa"}
@@ -227,7 +227,10 @@ export function CheckboxInput({
227
227
  const isChecked = optimisticValue === true;
228
228
  const isCheckedOrIndeterminate = isChecked || isIndeterminate;
229
229
 
230
- // Sync the native indeterminate DOM property (can't be set via JSX attribute)
230
+ // Sync the native indeterminate DOM property (can't be set via JSX
231
+ // attribute). On a native checkbox this is the authoritative way to expose
232
+ // the mixed state — a separate aria-checked="mixed" would be redundant and
233
+ // can desync from / override the native state (forms-16), so it is omitted.
231
234
  const indeterminateRef = useCallback(el => {
232
235
  if (el) {
233
236
  el.indeterminate = isIndeterminate;
@@ -275,7 +278,6 @@ export function CheckboxInput({
275
278
  },
276
279
  onFocus: onFocus,
277
280
  onBlur: onBlur,
278
- "aria-checked": isIndeterminate ? 'mixed' : undefined,
279
281
  "aria-readonly": isReadOnly || undefined,
280
282
  "aria-describedby": ariaDescribedBy,
281
283
  "aria-invalid": status?.type === 'error' ? true : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxList.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAUrD,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,MAAM,EACN,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAoB,EACpB,WAAmB,EACnB,UAAkB,EAClB,UAAkB,EAClB,QAAQ,EACR,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAU,GAC1B,EAAE,iBAAiB,+BAmFnB;yBAtGe,YAAY"}
1
+ {"version":3,"file":"CheckboxList.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAUrD,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,MAAM,EACN,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAoB,EACpB,WAAmB,EACnB,UAAkB,EAClB,UAAkB,EAClB,QAAQ,EACR,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAU,GAC1B,EAAE,iBAAiB,+BAkGnB;yBArHe,YAAY"}