@astryxdesign/core 0.7.6-canary.bcb16db → 0.7.6-canary.ccb1a52

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 (293) hide show
  1. package/dist/DateInput/Wheel.d.ts.map +1 -1
  2. package/dist/DateInput/Wheel.js +11 -7
  3. package/dist/DateInput/usePointerDragScroll.d.ts +10 -1
  4. package/dist/DateInput/usePointerDragScroll.d.ts.map +1 -1
  5. package/dist/DateInput/usePointerDragScroll.js +25 -9
  6. package/dist/DateInput/useScrollSettle.d.ts +3 -1
  7. package/dist/DateInput/useScrollSettle.d.ts.map +1 -1
  8. package/dist/DateInput/useScrollSettle.js +37 -8
  9. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  10. package/dist/DropdownMenu/DropdownMenu.js +28 -19
  11. package/dist/FieldStatus/FieldStatus.d.ts +3 -0
  12. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  13. package/dist/FieldStatus/FieldStatus.js +1 -0
  14. package/dist/FileInput/FileInput.d.ts +3 -0
  15. package/dist/FileInput/FileInput.d.ts.map +1 -1
  16. package/dist/FileInput/FileInput.js +27 -12
  17. package/dist/Item/Item.d.ts.map +1 -1
  18. package/dist/Item/Item.js +19 -6
  19. package/dist/Layer/useLayer.d.ts.map +1 -1
  20. package/dist/Layer/useLayer.js +27 -6
  21. package/dist/Link/Link.d.ts.map +1 -1
  22. package/dist/Link/Link.js +8 -3
  23. package/dist/Markdown/plugins/headingLinks.a11y.chromium.spec.js +1 -1
  24. package/dist/NavMenu/NavHeadingMenuItem.d.ts.map +1 -1
  25. package/dist/NavMenu/NavHeadingMenuItem.js +5 -29
  26. package/dist/Outline/Outline.d.ts.map +1 -1
  27. package/dist/Outline/Outline.js +27 -0
  28. package/dist/Popover/usePopover.d.ts.map +1 -1
  29. package/dist/Popover/usePopover.js +10 -3
  30. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  31. package/dist/PowerSearch/PowerSearch.js +37 -30
  32. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  33. package/dist/RadioList/RadioListItem.js +11 -3
  34. package/dist/Switch/Switch.d.ts.map +1 -1
  35. package/dist/Switch/Switch.js +10 -3
  36. package/dist/Table/Table.d.ts.map +1 -1
  37. package/dist/Table/Table.js +36 -10
  38. package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
  39. package/dist/Table/plugins/sortable/useTableSortable.js +46 -58
  40. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  41. package/dist/Toast/ToastViewport.js +19 -3
  42. package/dist/ToggleButton/ToggleButtonGroup.d.ts +7 -1
  43. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  44. package/dist/ToggleButton/ToggleButtonGroup.js +16 -2
  45. package/dist/Token/Token.d.ts +1 -1
  46. package/dist/Token/Token.d.ts.map +1 -1
  47. package/dist/Token/Token.js +52 -5
  48. package/dist/Token/TokenLink.d.ts.map +1 -1
  49. package/dist/Token/TokenLink.js +14 -2
  50. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  51. package/dist/Tokenizer/Tokenizer.js +31 -5
  52. package/dist/Tokenizer/TokenizerClearAllMessageContext.d.ts +2 -0
  53. package/dist/Tokenizer/TokenizerClearAllMessageContext.d.ts.map +1 -0
  54. package/dist/Tokenizer/TokenizerClearAllMessageContext.js +17 -0
  55. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  56. package/dist/TreeList/TreeListItem.js +27 -4
  57. package/dist/Typeahead/BaseTypeahead.d.ts +4 -4
  58. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  59. package/dist/Typeahead/BaseTypeahead.js +43 -7
  60. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  61. package/dist/Typeahead/Typeahead.js +36 -10
  62. package/dist/gestures/GestureArena.d.ts +1 -1
  63. package/dist/gestures/GestureArena.d.ts.map +1 -1
  64. package/dist/gestures/GestureArena.js +2 -1
  65. package/dist/gestures/GestureHost.d.ts +2 -3
  66. package/dist/gestures/GestureHost.d.ts.map +1 -1
  67. package/dist/gestures/GestureHost.js +7 -7
  68. package/dist/i18n/generated-locales/af-ZA.generated.d.ts.map +1 -1
  69. package/dist/i18n/generated-locales/af-ZA.generated.js +0 -5
  70. package/dist/i18n/generated-locales/ar-SA.generated.d.ts.map +1 -1
  71. package/dist/i18n/generated-locales/ar-SA.generated.js +0 -5
  72. package/dist/i18n/generated-locales/ca-ES.generated.d.ts.map +1 -1
  73. package/dist/i18n/generated-locales/ca-ES.generated.js +0 -5
  74. package/dist/i18n/generated-locales/cs-CZ.generated.d.ts.map +1 -1
  75. package/dist/i18n/generated-locales/cs-CZ.generated.js +0 -5
  76. package/dist/i18n/generated-locales/da-DK.generated.d.ts.map +1 -1
  77. package/dist/i18n/generated-locales/da-DK.generated.js +0 -5
  78. package/dist/i18n/generated-locales/de-DE.generated.d.ts.map +1 -1
  79. package/dist/i18n/generated-locales/de-DE.generated.js +0 -5
  80. package/dist/i18n/generated-locales/el-GR.generated.d.ts.map +1 -1
  81. package/dist/i18n/generated-locales/el-GR.generated.js +0 -5
  82. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  83. package/dist/i18n/generated-locales/en.generated.js +2 -5
  84. package/dist/i18n/generated-locales/es-ES.generated.d.ts.map +1 -1
  85. package/dist/i18n/generated-locales/es-ES.generated.js +0 -5
  86. package/dist/i18n/generated-locales/fi-FI.generated.d.ts.map +1 -1
  87. package/dist/i18n/generated-locales/fi-FI.generated.js +0 -5
  88. package/dist/i18n/generated-locales/fr-FR.generated.d.ts.map +1 -1
  89. package/dist/i18n/generated-locales/fr-FR.generated.js +0 -5
  90. package/dist/i18n/generated-locales/he-IL.generated.d.ts.map +1 -1
  91. package/dist/i18n/generated-locales/he-IL.generated.js +0 -5
  92. package/dist/i18n/generated-locales/hu-HU.generated.d.ts.map +1 -1
  93. package/dist/i18n/generated-locales/hu-HU.generated.js +0 -5
  94. package/dist/i18n/generated-locales/it-IT.generated.d.ts.map +1 -1
  95. package/dist/i18n/generated-locales/it-IT.generated.js +0 -5
  96. package/dist/i18n/generated-locales/ja-JP.generated.d.ts.map +1 -1
  97. package/dist/i18n/generated-locales/ja-JP.generated.js +0 -5
  98. package/dist/i18n/generated-locales/ko-KR.generated.d.ts.map +1 -1
  99. package/dist/i18n/generated-locales/ko-KR.generated.js +0 -5
  100. package/dist/i18n/generated-locales/nl-NL.generated.d.ts.map +1 -1
  101. package/dist/i18n/generated-locales/nl-NL.generated.js +0 -5
  102. package/dist/i18n/generated-locales/no-NO.generated.d.ts.map +1 -1
  103. package/dist/i18n/generated-locales/no-NO.generated.js +0 -5
  104. package/dist/i18n/generated-locales/pl-PL.generated.d.ts.map +1 -1
  105. package/dist/i18n/generated-locales/pl-PL.generated.js +0 -5
  106. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  107. package/dist/i18n/generated-locales/pseudo.generated.js +2 -5
  108. package/dist/i18n/generated-locales/pt-BR.generated.d.ts.map +1 -1
  109. package/dist/i18n/generated-locales/pt-BR.generated.js +0 -5
  110. package/dist/i18n/generated-locales/pt-PT.generated.d.ts.map +1 -1
  111. package/dist/i18n/generated-locales/pt-PT.generated.js +0 -5
  112. package/dist/i18n/generated-locales/ro-RO.generated.d.ts.map +1 -1
  113. package/dist/i18n/generated-locales/ro-RO.generated.js +0 -5
  114. package/dist/i18n/generated-locales/ru-RU.generated.d.ts.map +1 -1
  115. package/dist/i18n/generated-locales/ru-RU.generated.js +0 -5
  116. package/dist/i18n/generated-locales/sr-SP.generated.d.ts.map +1 -1
  117. package/dist/i18n/generated-locales/sr-SP.generated.js +0 -5
  118. package/dist/i18n/generated-locales/sv-SE.generated.d.ts.map +1 -1
  119. package/dist/i18n/generated-locales/sv-SE.generated.js +0 -5
  120. package/dist/i18n/generated-locales/tr-TR.generated.d.ts.map +1 -1
  121. package/dist/i18n/generated-locales/tr-TR.generated.js +0 -5
  122. package/dist/i18n/generated-locales/uk-UA.generated.d.ts.map +1 -1
  123. package/dist/i18n/generated-locales/uk-UA.generated.js +0 -5
  124. package/dist/i18n/generated-locales/vi-VN.generated.d.ts.map +1 -1
  125. package/dist/i18n/generated-locales/vi-VN.generated.js +0 -5
  126. package/dist/i18n/generated-locales/zh-CN.generated.d.ts.map +1 -1
  127. package/dist/i18n/generated-locales/zh-CN.generated.js +0 -5
  128. package/dist/i18n/generated-locales/zh-TW.generated.d.ts.map +1 -1
  129. package/dist/i18n/generated-locales/zh-TW.generated.js +0 -5
  130. package/dist/i18n/useListFormatter.d.ts +9 -0
  131. package/dist/i18n/useListFormatter.d.ts.map +1 -0
  132. package/dist/i18n/useListFormatter.js +41 -0
  133. package/dist/utils/useFocusAcrossSwap.d.ts +19 -0
  134. package/dist/utils/useFocusAcrossSwap.d.ts.map +1 -0
  135. package/dist/utils/useFocusAcrossSwap.js +41 -0
  136. package/locales/af-ZA.json +0 -21
  137. package/locales/ar-SA.json +0 -21
  138. package/locales/ca-ES.json +0 -21
  139. package/locales/cs-CZ.json +0 -21
  140. package/locales/da-DK.json +0 -21
  141. package/locales/de-DE.json +0 -21
  142. package/locales/el-GR.json +0 -21
  143. package/locales/en.json +8 -20
  144. package/locales/es-ES.json +0 -21
  145. package/locales/fi-FI.json +0 -21
  146. package/locales/fr-FR.json +0 -21
  147. package/locales/he-IL.json +0 -21
  148. package/locales/hu-HU.json +0 -21
  149. package/locales/it-IT.json +0 -21
  150. package/locales/ja-JP.json +0 -21
  151. package/locales/ko-KR.json +0 -21
  152. package/locales/nl-NL.json +0 -21
  153. package/locales/no-NO.json +0 -21
  154. package/locales/pl-PL.json +0 -21
  155. package/locales/pseudo.json +5 -14
  156. package/locales/pt-BR.json +0 -21
  157. package/locales/pt-PT.json +0 -21
  158. package/locales/ro-RO.json +0 -21
  159. package/locales/ru-RU.json +0 -21
  160. package/locales/sr-SP.json +0 -21
  161. package/locales/sv-SE.json +0 -21
  162. package/locales/tr-TR.json +0 -21
  163. package/locales/uk-UA.json +0 -21
  164. package/locales/vi-VN.json +0 -21
  165. package/locales/zh-CN.json +0 -21
  166. package/locales/zh-TW.json +0 -21
  167. package/package.json +4 -4
  168. package/src/Chat/ChatComposer.spec.md +75 -59
  169. package/src/Chat/ChatDictationButton.spec.md +126 -81
  170. package/src/Chat/ChatLayout.spec.md +41 -36
  171. package/src/Chat/ChatLayoutScrollButton.spec.md +87 -103
  172. package/src/Chat/ChatMessage.spec.md +64 -65
  173. package/src/Chat/ChatSendButton.spec.md +78 -67
  174. package/src/Citation/Citation.spec.md +60 -47
  175. package/src/CodeBlock/__tests__/CodeBlockCopyClearance.a11y.chromium.spec.ts +38 -3
  176. package/src/ContextMenu/ContextMenu.spec.md +84 -56
  177. package/src/ContextMenu/ContextMenuItem.spec.md +132 -0
  178. package/src/DateInput/DateInput.spec.md +74 -57
  179. package/src/DateInput/DateInputTouch.test.tsx +44 -0
  180. package/src/DateInput/Wheel.tsx +9 -6
  181. package/src/DateInput/usePointerDragScroll.ts +34 -10
  182. package/src/DateInput/useScrollSettle.ts +38 -7
  183. package/src/DropdownMenu/DropdownMenu.spec.md +198 -218
  184. package/src/DropdownMenu/DropdownMenu.test.tsx +117 -0
  185. package/src/DropdownMenu/DropdownMenu.tsx +33 -18
  186. package/src/DropdownMenu/DropdownMenuCheckboxItem.spec.md +192 -0
  187. package/src/DropdownMenu/DropdownMenuDivider.spec.md +25 -31
  188. package/src/DropdownMenu/DropdownMenuGroup.spec.md +145 -0
  189. package/src/DropdownMenu/DropdownMenuItem.spec.md +48 -42
  190. package/src/DropdownMenu/DropdownMenuRadioGroup.spec.md +34 -37
  191. package/src/DropdownMenu/DropdownMenuRadioItem.spec.md +54 -53
  192. package/src/DropdownMenu/DropdownMenuSubMenu.spec.md +47 -41
  193. package/src/EmptyState/EmptyState.spec.md +35 -29
  194. package/src/FieldStatus/FieldStatus.tsx +7 -0
  195. package/src/FieldStatus/__tests__/FieldStatusAudit.a11y.chromium.spec.ts +477 -0
  196. package/src/FileInput/FileInput.test.tsx +138 -0
  197. package/src/FileInput/FileInput.tsx +30 -5
  198. package/src/FileInput/__tests__/FileInputAudit.a11y.chromium.spec.ts +796 -0
  199. package/src/FormLayout/FormLayout.spec.md +11 -19
  200. package/src/Item/Item.test.tsx +60 -0
  201. package/src/Item/Item.tsx +14 -7
  202. package/src/Layer/useLayer.test.tsx +78 -3
  203. package/src/Layer/useLayer.tsx +27 -6
  204. package/src/Link/Link.spec.md +3 -2
  205. package/src/Link/Link.tsx +11 -0
  206. package/src/Link/__tests__/Link.truncation.a11y.chromium.spec.ts +58 -0
  207. package/src/Markdown/plugins/headingLinks.a11y.chromium.spec.ts +1 -1
  208. package/src/NavMenu/NavHeadingMenuItem.tsx +5 -39
  209. package/src/Outline/Outline.spec.md +165 -69
  210. package/src/Outline/Outline.test.tsx +67 -2
  211. package/src/Outline/Outline.tsx +23 -0
  212. package/src/Outline/modules/parseOutlineFromMarkdown.spec.md +3 -4
  213. package/src/OverflowList/OverflowList.spec.md +102 -55
  214. package/src/Pagination/Pagination.spec.md +158 -84
  215. package/src/Popover/Popover.test.tsx +44 -0
  216. package/src/Popover/usePopover.tsx +10 -3
  217. package/src/PowerSearch/PowerSearch.test.tsx +24 -0
  218. package/src/PowerSearch/PowerSearch.tsx +42 -31
  219. package/src/RadioList/RadioList.spec.md +1 -1
  220. package/src/RadioList/RadioList.test.tsx +84 -0
  221. package/src/RadioList/RadioListItem.tsx +11 -2
  222. package/src/Resizable/Resizable.spec.md +144 -124
  223. package/src/Switch/Switch.spec.md +1 -1
  224. package/src/Switch/Switch.test.tsx +66 -1
  225. package/src/Switch/Switch.tsx +11 -3
  226. package/src/Table/Table.spec.md +1 -1
  227. package/src/Table/Table.test.tsx +32 -0
  228. package/src/Table/Table.tsx +43 -11
  229. package/src/Table/__tests__/Table.a11y.states.ts +1 -5
  230. package/src/Table/plugins/sortable/useTableSortable.test.tsx +73 -144
  231. package/src/Table/plugins/sortable/useTableSortable.tsx +44 -73
  232. package/src/Table/plugins/sortable/useTableSortableState.test.tsx +9 -21
  233. package/src/TimeInput/TimeInput.spec.md +13 -13
  234. package/src/Toast/Toast.spec.md +2 -5
  235. package/src/Toast/ToastViewport.test.tsx +79 -0
  236. package/src/Toast/ToastViewport.tsx +21 -3
  237. package/src/ToggleButton/ToggleButton.test.tsx +27 -0
  238. package/src/ToggleButton/ToggleButtonGroup.tsx +20 -1
  239. package/src/Token/Token.doc.mjs +2 -2
  240. package/src/Token/Token.spec.md +52 -61
  241. package/src/Token/Token.test.tsx +104 -0
  242. package/src/Token/Token.tsx +75 -5
  243. package/src/Token/TokenLink.tsx +21 -7
  244. package/src/Tokenizer/Tokenizer.spec.md +13 -1
  245. package/src/Tokenizer/Tokenizer.test.tsx +108 -0
  246. package/src/Tokenizer/Tokenizer.tsx +34 -10
  247. package/src/Tokenizer/TokenizerBottomSheet.test.tsx +8 -0
  248. package/src/Tokenizer/TokenizerClearAllMessageContext.ts +21 -0
  249. package/src/TreeList/TreeList.test.tsx +26 -0
  250. package/src/TreeList/TreeListItem.tsx +26 -4
  251. package/src/Typeahead/BaseTypeahead.doc.mjs +3 -3
  252. package/src/Typeahead/BaseTypeahead.spec.md +45 -45
  253. package/src/Typeahead/BaseTypeahead.tsx +48 -9
  254. package/src/Typeahead/Typeahead.test.tsx +254 -11
  255. package/src/Typeahead/Typeahead.tsx +40 -9
  256. package/src/gestures/GestureArena.ts +1 -1
  257. package/src/gestures/GestureHost.ts +6 -7
  258. package/src/i18n/__tests__/useListFormatter.test.tsx +58 -0
  259. package/src/i18n/generated-locales/af-ZA.generated.ts +0 -7
  260. package/src/i18n/generated-locales/ar-SA.generated.ts +0 -6
  261. package/src/i18n/generated-locales/ca-ES.generated.ts +0 -7
  262. package/src/i18n/generated-locales/cs-CZ.generated.ts +0 -6
  263. package/src/i18n/generated-locales/da-DK.generated.ts +0 -6
  264. package/src/i18n/generated-locales/de-DE.generated.ts +0 -6
  265. package/src/i18n/generated-locales/el-GR.generated.ts +0 -7
  266. package/src/i18n/generated-locales/en.generated.ts +2 -6
  267. package/src/i18n/generated-locales/es-ES.generated.ts +0 -7
  268. package/src/i18n/generated-locales/fi-FI.generated.ts +0 -6
  269. package/src/i18n/generated-locales/fr-FR.generated.ts +0 -7
  270. package/src/i18n/generated-locales/he-IL.generated.ts +0 -6
  271. package/src/i18n/generated-locales/hu-HU.generated.ts +0 -6
  272. package/src/i18n/generated-locales/it-IT.generated.ts +0 -7
  273. package/src/i18n/generated-locales/ja-JP.generated.ts +0 -6
  274. package/src/i18n/generated-locales/ko-KR.generated.ts +0 -6
  275. package/src/i18n/generated-locales/nl-NL.generated.ts +0 -6
  276. package/src/i18n/generated-locales/no-NO.generated.ts +0 -6
  277. package/src/i18n/generated-locales/pl-PL.generated.ts +0 -7
  278. package/src/i18n/generated-locales/pseudo.generated.ts +2 -6
  279. package/src/i18n/generated-locales/pt-BR.generated.ts +0 -7
  280. package/src/i18n/generated-locales/pt-PT.generated.ts +0 -7
  281. package/src/i18n/generated-locales/ro-RO.generated.ts +0 -6
  282. package/src/i18n/generated-locales/ru-RU.generated.ts +0 -7
  283. package/src/i18n/generated-locales/sr-SP.generated.ts +0 -6
  284. package/src/i18n/generated-locales/sv-SE.generated.ts +0 -6
  285. package/src/i18n/generated-locales/tr-TR.generated.ts +0 -7
  286. package/src/i18n/generated-locales/uk-UA.generated.ts +0 -7
  287. package/src/i18n/generated-locales/vi-VN.generated.ts +0 -6
  288. package/src/i18n/generated-locales/zh-CN.generated.ts +0 -6
  289. package/src/i18n/generated-locales/zh-TW.generated.ts +0 -6
  290. package/src/i18n/useListFormatter.ts +42 -0
  291. package/src/motion/README.md +2 -1
  292. package/src/motion/roles.test.ts +5 -4
  293. package/src/utils/useFocusAcrossSwap.ts +55 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Wheel.d.ts","sourceRoot":"","sources":["../../src/DateInput/Wheel.tsx"],"names":[],"mappings":"AA8MA,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAe,GAChB,EAAE,UAAU,+BAgOZ;yBAtOe,KAAK"}
1
+ {"version":3,"file":"Wheel.d.ts","sourceRoot":"","sources":["../../src/DateInput/Wheel.tsx"],"names":[],"mappings":"AA8MA,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAe,GAChB,EAAE,UAAU,+BAmOZ;yBAzOe,KAAK"}
@@ -12,7 +12,7 @@
12
12
  * rubber-banding, and the settle animation are the platform's; all this adds
13
13
  * is `scroll-snap-align: center` on each option, half a viewport of padding at
14
14
  * each end so the first and last option can reach the middle, and a commit
15
- * when the scrolling stops.
15
+ * when the scrolling stops and no finger or mouse drag still holds it.
16
16
  *
17
17
  * The falloff (rows fading and tipping away from the centre) is a CSS
18
18
  * scroll-driven animation on a `view()` timeline — the browser interpolates it
@@ -99,6 +99,15 @@ export function Wheel({
99
99
  // `selectedIndex` only catches up when the wheel settles.
100
100
  const [activeIndex, setActiveIndex] = useState(selectedIndex);
101
101
 
102
+ // A mouse cannot drag a scroll container, so without this the wheel ignores
103
+ // the one gesture its shape invites. Touch is untouched — it pans natively,
104
+ // with momentum this could not match. See usePointerDragScroll. The drag it
105
+ // holds is not rest either: the settle below waits for its release, as it
106
+ // waits for a finger's (useScrollSettle).
107
+ const {
108
+ isDraggingRef
109
+ } = usePointerDragScroll(scrollerRef, isActive);
110
+
102
111
  // Row height in px, read from layout rather than assumed, so a theme that
103
112
  // retunes --date-input-touch-wheel-item-size still lands on the right row.
104
113
  const itemBlockSize = useCallback(() => {
@@ -138,7 +147,7 @@ export function Wheel({
138
147
  if (option.value !== value) {
139
148
  onChange(option.value);
140
149
  }
141
- }, isActive);
150
+ }, isActive, isDraggingRef);
142
151
 
143
152
  // Park the committed row under the band whenever the wheel is shown, or the
144
153
  // value is changed from outside (the calendar scrolled to another month).
@@ -210,11 +219,6 @@ export function Wheel({
210
219
  useOwnScrollGesture(scrollerRef, 'all', {
211
220
  isEnabled: isActive
212
221
  });
213
-
214
- // A mouse cannot drag a scroll container, so without this the wheel ignores
215
- // the one gesture its shape invites. Touch is untouched — it pans natively,
216
- // with momentum this could not match. See usePointerDragScroll.
217
- usePointerDragScroll(scrollerRef, isActive);
218
222
  const moveBy = useCallback(delta => {
219
223
  const next = Math.min(options.length - 1, Math.max(0, activeIndex + delta));
220
224
  const option = options[next];
@@ -3,6 +3,15 @@
3
3
  * press of the button itself, and a wheel row is a click target.
4
4
  */
5
5
  export declare const DRAG_SLOP = 4;
6
+ /** What {@link usePointerDragScroll} reports back about the drag. */
7
+ export type PointerDragScrollState = {
8
+ /**
9
+ * True while a mouse drag holds the container: from the press that moved
10
+ * past {@link DRAG_SLOP} until its release. Pass it to `useScrollSettle`,
11
+ * which treats a held drag as it treats a finger still down.
12
+ */
13
+ isDraggingRef: React.RefObject<boolean>;
14
+ };
6
15
  /**
7
16
  * Let a mouse drag `ref`'s contents, on a container that already scrolls and
8
17
  * snaps for touch.
@@ -11,5 +20,5 @@ export declare const DRAG_SLOP = 4;
11
20
  * @param isEnabled - skip while the wheel is hidden; a hidden panel keeps its
12
21
  * layout box, so its listeners would otherwise still be live
13
22
  */
14
- export declare function usePointerDragScroll(ref: React.RefObject<HTMLElement | null>, isEnabled?: boolean): void;
23
+ export declare function usePointerDragScroll(ref: React.RefObject<HTMLElement | null>, isEnabled?: boolean): PointerDragScrollState;
15
24
  //# sourceMappingURL=usePointerDragScroll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePointerDragScroll.d.ts","sourceRoot":"","sources":["../../src/DateInput/usePointerDragScroll.ts"],"names":[],"mappings":"AA+CA;;;GAGG;AACH,eAAO,MAAM,SAAS,IAAI,CAAC;AAK3B;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,SAAS,GAAE,OAAc,GACxB,IAAI,CA8IN"}
1
+ {"version":3,"file":"usePointerDragScroll.d.ts","sourceRoot":"","sources":["../../src/DateInput/usePointerDragScroll.ts"],"names":[],"mappings":"AAwDA;;;GAGG;AACH,eAAO,MAAM,SAAS,IAAI,CAAC;AAK3B,qEAAqE;AACrE,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,SAAS,GAAE,OAAc,GACxB,sBAAsB,CAmJxB"}
@@ -5,7 +5,8 @@
5
5
  /**
6
6
  * @file usePointerDragScroll.ts
7
7
  * @input A scroll container ref
8
- * @output Lets a mouse drag the container's contents the way a finger does
8
+ * @output Lets a mouse drag the container's contents the way a finger does,
9
+ * and reports while a drag holds it (`isDraggingRef`)
9
10
  * @position Internal behavior hook; consumed by Wheel.tsx
10
11
  *
11
12
  * ## Why this exists
@@ -38,11 +39,19 @@
38
39
  * then jumps a whole one. The drag therefore suspends snapping, and restores
39
40
  * it once the release has settled somewhere legal.
40
41
  *
42
+ * ## A held drag is not rest
43
+ *
44
+ * Every `scrollTop` the drag assigns is a programmatic scroll, and Chromium
45
+ * ends each one with a `scrollend` — 14 moves, 14 of them. A settle listening
46
+ * for `scrollend` alone would commit the row under the band at every step,
47
+ * with the button still down. `isDraggingRef` tells `useScrollSettle` the
48
+ * drag is still held, the way a touch that has not ended does.
49
+ *
41
50
  * SYNC: When modified, update:
42
51
  * - /packages/core/src/DateInput/Wheel.tsx
43
52
  * - /packages/core/src/DateInput/DateInputTouch.test.tsx
44
53
  */
45
- import { useEffect } from 'react';
54
+ import { useEffect, useRef } from 'react';
46
55
 
47
56
  /**
48
57
  * Movement below this stays a click. A mouse shifts a pixel or two under the
@@ -53,6 +62,8 @@ export const DRAG_SLOP = 4;
53
62
  /** How long to wait for a release's settle before restoring snapping. */
54
63
  const SETTLE_FALLBACK_MS = 260;
55
64
 
65
+ /** What {@link usePointerDragScroll} reports back about the drag. */
66
+
56
67
  /**
57
68
  * Let a mouse drag `ref`'s contents, on a container that already scrolls and
58
69
  * snaps for touch.
@@ -62,6 +73,7 @@ const SETTLE_FALLBACK_MS = 260;
62
73
  * layout box, so its listeners would otherwise still be live
63
74
  */
64
75
  export function usePointerDragScroll(ref, isEnabled = true) {
76
+ const isDraggingRef = useRef(false);
65
77
  useEffect(() => {
66
78
  const element = ref.current;
67
79
  if (element == null || !isEnabled) {
@@ -70,9 +82,9 @@ export function usePointerDragScroll(ref, isEnabled = true) {
70
82
  let pointerId = null;
71
83
  let originY = 0;
72
84
  let originScrollTop = 0;
73
- let isDragging = false;
85
+ isDraggingRef.current = false;
74
86
  // Survives from the drag's end to the click it produces, which is the
75
- // whole reason it is not just `isDragging`.
87
+ // whole reason it is not just `isDraggingRef`.
76
88
  let wasDragged = false;
77
89
  let restoreTimer;
78
90
  const restoreSnap = () => {
@@ -112,7 +124,7 @@ export function usePointerDragScroll(ref, isEnabled = true) {
112
124
  pointerId = event.pointerId;
113
125
  originY = event.clientY;
114
126
  originScrollTop = element.scrollTop;
115
- isDragging = false;
127
+ isDraggingRef.current = false;
116
128
  // Not captured yet: a press that never moves has to stay a click on the
117
129
  // row under it, and capturing here would retarget that click.
118
130
  };
@@ -121,11 +133,11 @@ export function usePointerDragScroll(ref, isEnabled = true) {
121
133
  return;
122
134
  }
123
135
  const delta = event.clientY - originY;
124
- if (!isDragging) {
136
+ if (!isDraggingRef.current) {
125
137
  if (Math.abs(delta) < DRAG_SLOP) {
126
138
  return;
127
139
  }
128
- isDragging = true;
140
+ isDraggingRef.current = true;
129
141
  element.setPointerCapture(event.pointerId);
130
142
  suspendSnap();
131
143
  // Dragging across rows would otherwise select their text, leaving the
@@ -141,10 +153,10 @@ export function usePointerDragScroll(ref, isEnabled = true) {
141
153
  return;
142
154
  }
143
155
  pointerId = null;
144
- if (!isDragging) {
156
+ if (!isDraggingRef.current) {
145
157
  return;
146
158
  }
147
- isDragging = false;
159
+ isDraggingRef.current = false;
148
160
  wasDragged = true;
149
161
  element.style.removeProperty('user-select');
150
162
  if (element.hasPointerCapture(event.pointerId)) {
@@ -200,9 +212,13 @@ export function usePointerDragScroll(ref, isEnabled = true) {
200
212
  element.removeEventListener('click', onClickCapture, {
201
213
  capture: true
202
214
  });
215
+ isDraggingRef.current = false;
203
216
  restoreSnap();
204
217
  };
205
218
  }, [ref, isEnabled]);
219
+ return {
220
+ isDraggingRef
221
+ };
206
222
  }
207
223
 
208
224
  /**
@@ -21,6 +21,8 @@ export type ScrollSettleState = {
21
21
  * @param ref - the scroll container
22
22
  * @param onSettle - called with the settled element; may change every render
23
23
  * @param isEnabled - skip attaching while false (e.g. a hidden panel)
24
+ * @param isHeldRef - true while a mouse drag holds the scroller
25
+ * (usePointerDragScroll's `isDraggingRef`): not rest, however quiet
24
26
  */
25
- export declare function useScrollSettle(ref: React.RefObject<HTMLElement | null>, onSettle: (element: HTMLElement) => void, isEnabled?: boolean): ScrollSettleState;
27
+ export declare function useScrollSettle(ref: React.RefObject<HTMLElement | null>, onSettle: (element: HTMLElement) => void, isEnabled?: boolean, isHeldRef?: React.RefObject<boolean>): ScrollSettleState;
26
28
  //# sourceMappingURL=useScrollSettle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollSettle.d.ts","sourceRoot":"","sources":["../../src/DateInput/useScrollSettle.ts"],"names":[],"mappings":"AAsDA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;;OAKG;IACH,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,EACxC,SAAS,GAAE,OAAc,GACxB,iBAAiB,CA+EnB"}
1
+ {"version":3,"file":"useScrollSettle.d.ts","sourceRoot":"","sources":["../../src/DateInput/useScrollSettle.ts"],"names":[],"mappings":"AA0DA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;;OAKG;IACH,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,EACxC,SAAS,GAAE,OAAc,EACzB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GACnC,iBAAiB,CAuGnB"}
@@ -4,7 +4,8 @@
4
4
 
5
5
  /**
6
6
  * @file useScrollSettle.ts
7
- * @input A scroll container ref and a settle callback
7
+ * @input A scroll container ref, a settle callback, and optionally whether a
8
+ * mouse drag holds it (usePointerDragScroll's `isDraggingRef`)
8
9
  * @output Calls back once, after scrolling (including momentum) stops
9
10
  * @position Internal behavior hook; consumed by Wheel.tsx and MonthScroller.tsx
10
11
  *
@@ -27,7 +28,10 @@
27
28
  * moment without lifting and the scroll events stop, so the timer fires
28
29
  * and the value commits to whatever is under the band. Chrome hides this
29
30
  * because it has `scrollend`, which does not fire until the touch is
30
- * released.
31
+ * released. A mouse drag (usePointerDragScroll) is held the same way, and
32
+ * there Chrome gives no cover at all: each `scrollTop` the drag assigns
33
+ * ends in its own `scrollend`, so the settle waits for the drag's
34
+ * `pointerup` as it waits for `touchend`.
31
35
  *
32
36
  * 2. **Momentum is not rest either.** iOS momentum runs on the UI thread and
33
37
  * keeps going for a second or more after the finger is gone, and its scroll
@@ -41,7 +45,7 @@
41
45
  * underneath, and the fresh scroll events start the next premature settle —
42
46
  * each one landing a row further along, which is why the month climbed.
43
47
  *
44
- * So: the settle waits for the touch to end, and then for a quiet period
48
+ * So: the settle waits for the touch or the mouse drag to end, and then for a quiet period
45
49
  * measured from the LAST scroll event, which is what makes it outlast
46
50
  * momentum however long it runs. {@link useScrollSettle} also reports whether
47
51
  * the scroller is at rest, so a caller can refuse to reposition one that is
@@ -67,8 +71,10 @@ export const SCROLL_QUIET_MS = 220;
67
71
  * @param ref - the scroll container
68
72
  * @param onSettle - called with the settled element; may change every render
69
73
  * @param isEnabled - skip attaching while false (e.g. a hidden panel)
74
+ * @param isHeldRef - true while a mouse drag holds the scroller
75
+ * (usePointerDragScroll's `isDraggingRef`): not rest, however quiet
70
76
  */
71
- export function useScrollSettle(ref, onSettle, isEnabled = true) {
77
+ export function useScrollSettle(ref, onSettle, isEnabled = true, isHeldRef) {
72
78
  // The callback closes over render-fresh values (the option list, the current
73
79
  // value); keeping it in a ref means the listeners attach once instead of
74
80
  // re-attaching mid-scroll, which would drop an in-flight settle.
@@ -84,10 +90,17 @@ export function useScrollSettle(ref, onSettle, isEnabled = true) {
84
90
  let timer;
85
91
  let hasSettled = false;
86
92
  let isTouching = false;
93
+ // Whether a mouse drag held this gesture, so its release re-arms the
94
+ // settle; a plain click does not.
95
+ let wasHeld = false;
87
96
  const settle = () => {
88
- // A finger still on the glass is not rest, however quiet the scroller
89
- // has gone. The release re-arms this.
90
- if (hasSettled || isTouching) {
97
+ // A finger still on the glass, or a mouse button still holding a drag,
98
+ // is not rest, however quiet the scroller has gone. The release re-arms
99
+ // this.
100
+ if (isHeldRef?.current) {
101
+ wasHeld = true;
102
+ }
103
+ if (hasSettled || isTouching || isHeldRef?.current) {
91
104
  return;
92
105
  }
93
106
  hasSettled = true;
@@ -106,6 +119,9 @@ export function useScrollSettle(ref, onSettle, isEnabled = true) {
106
119
  // the last of it however long it runs.
107
120
  hasSettled = false;
108
121
  isAtRestRef.current = false;
122
+ if (isHeldRef?.current) {
123
+ wasHeld = true;
124
+ }
109
125
  arm();
110
126
  };
111
127
  const onTouchStart = () => {
@@ -121,6 +137,15 @@ export function useScrollSettle(ref, onSettle, isEnabled = true) {
121
137
  // produces no further scroll events at all.
122
138
  arm();
123
139
  };
140
+ const onPointerEnd = () => {
141
+ // The drag's release: its glide to the nearest row re-arms this on its
142
+ // own, and the timer covers a release already on a row, which scrolls
143
+ // no further.
144
+ if (wasHeld) {
145
+ wasHeld = false;
146
+ arm();
147
+ }
148
+ };
124
149
  element.addEventListener('scroll', onScroll, {
125
150
  passive: true
126
151
  });
@@ -134,6 +159,8 @@ export function useScrollSettle(ref, onSettle, isEnabled = true) {
134
159
  element.addEventListener('touchcancel', onTouchEnd, {
135
160
  passive: true
136
161
  });
162
+ element.addEventListener('pointerup', onPointerEnd);
163
+ element.addEventListener('pointercancel', onPointerEnd);
137
164
  return () => {
138
165
  clearTimeout(timer);
139
166
  element.removeEventListener('scroll', onScroll);
@@ -141,8 +168,10 @@ export function useScrollSettle(ref, onSettle, isEnabled = true) {
141
168
  element.removeEventListener('touchstart', onTouchStart);
142
169
  element.removeEventListener('touchend', onTouchEnd);
143
170
  element.removeEventListener('touchcancel', onTouchEnd);
171
+ element.removeEventListener('pointerup', onPointerEnd);
172
+ element.removeEventListener('pointercancel', onPointerEnd);
144
173
  };
145
- }, [ref, isEnabled]);
174
+ }, [ref, isEnabled, isHeldRef]);
146
175
  return {
147
176
  isAtRestRef
148
177
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
@@ -509,11 +509,13 @@ function DropdownMenuBottomSheet({
509
509
  xstyle: [bottomSheetStyles.viewHeading, submenuPath.length === 0 && [bottomSheetStyles.rootHeading, menuBottomSheetStyles.headingAlone]],
510
510
  children: currentTitle
511
511
  });
512
+ // A stable ref: an inline one re-runs on every render (null, then the element).
513
+ const sheetTriggerRef = useCallback(el => {
514
+ buttonRef.current = el;
515
+ }, []);
512
516
  return /*#__PURE__*/_jsxs(_Fragment, {
513
517
  children: [renderTrigger != null ? renderTrigger({
514
- ref: el => {
515
- buttonRef.current = el;
516
- },
518
+ ref: sheetTriggerRef,
517
519
  id: triggerId,
518
520
  onClick: handleSheetTriggerClick,
519
521
  onClickCapture: () => {},
@@ -1178,11 +1180,29 @@ function DropdownMenuPopover({
1178
1180
  }) : /*#__PURE__*/_jsxs(_Fragment, {
1179
1181
  children: [menu, surfaceHostElement]
1180
1182
  });
1183
+
1184
+ // Stable trigger refs. An inline ref is a new function every render, so React
1185
+ // re-runs it on every commit (null, then the element), and each run moved the
1186
+ // popover's anchor off the trigger and back: two inline-style writes on the
1187
+ // trigger per render of the menu.
1188
+ const popoverTriggerRef = popover.triggerRef;
1189
+ const triggerRef = useCallback(el => {
1190
+ buttonRef.current = el;
1191
+ popoverTriggerRef(el);
1192
+ }, [popoverTriggerRef]);
1193
+ const consumerButtonRef = button.ref;
1194
+ const buttonTriggerRef = useCallback(el => {
1195
+ triggerRef(el);
1196
+ if (typeof consumerButtonRef === 'function') {
1197
+ consumerButtonRef(el);
1198
+ } else if (consumerButtonRef) {
1199
+ /* eslint-disable react-compiler/react-compiler -- ref callback: forwarding consumer ref object */
1200
+ consumerButtonRef.current = el;
1201
+ /* eslint-enable react-compiler/react-compiler */
1202
+ }
1203
+ }, [triggerRef, consumerButtonRef]);
1181
1204
  const triggerProps = {
1182
- ref: el => {
1183
- buttonRef.current = el;
1184
- popover.triggerRef(el);
1185
- },
1205
+ ref: triggerRef,
1186
1206
  id: triggerId,
1187
1207
  onClick: handleButtonClick,
1188
1208
  onClickCapture: handleTriggerClickCapture,
@@ -1200,18 +1220,7 @@ function DropdownMenuPopover({
1200
1220
  return /*#__PURE__*/_jsxs(_Fragment, {
1201
1221
  children: [renderTrigger != null ? renderTrigger(triggerProps) : /*#__PURE__*/_jsx(Button, {
1202
1222
  ...button,
1203
- ref: el => {
1204
- buttonRef.current = el;
1205
- popover.triggerRef(el);
1206
- const consumerRef = button.ref;
1207
- if (typeof consumerRef === 'function') {
1208
- consumerRef(el);
1209
- } else if (consumerRef) {
1210
- /* eslint-disable react-compiler/react-compiler -- ref callback: forwarding consumer ref object */
1211
- consumerRef.current = el;
1212
- /* eslint-enable react-compiler/react-compiler */
1213
- }
1214
- },
1223
+ ref: buttonTriggerRef,
1215
1224
  xstyle: [styles.triggerPressable, isOpen && styles.triggerOpen, button.xstyle, isFocusRingSuppressed && focusOutlineStyles.suppressed],
1216
1225
  tooltip: isOpen ? undefined : button.tooltip,
1217
1226
  endContent: resolvedEndContent,
@@ -7,6 +7,9 @@ import type { FieldStatusVariantMap } from './index.js';
7
7
  */
8
8
  export type FieldStatusVariant = keyof FieldStatusVariantMap;
9
9
  export interface FieldStatusProps extends BaseProps<HTMLDivElement> {
10
+ /**
11
+ * Ref to the rendered message box.
12
+ */
10
13
  ref?: React.Ref<HTMLDivElement>;
11
14
  /**
12
15
  * The type of status to display.
@@ -1 +1 @@
1
- {"version":3,"file":"FieldStatus.d.ts","sourceRoot":"","sources":["../../src/FieldStatus/FieldStatus.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAS5C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAKpD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAC;AA+EnD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACjE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,IAAI,EACJ,OAAO,EACP,EAAE,EACF,OAAoB,EACpB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,gBAAgB,qBA+ClB;yBAzDe,WAAW"}
1
+ {"version":3,"file":"FieldStatus.d.ts","sourceRoot":"","sources":["../../src/FieldStatus/FieldStatus.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAS5C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAKpD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAC;AAmFnD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACjE;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,IAAI,EACJ,OAAO,EACP,EAAE,EACF,OAAoB,EACpB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,gBAAgB,qBA+ClB;yBAzDe,WAAW"}
@@ -48,6 +48,7 @@ const styles = {
48
48
  kMv6JI: "x9ynric",
49
49
  kGuDYH: "x141an7d",
50
50
  kLWn49: "x1ltkj2j",
51
+ kHjlTd: "xj0a0fe",
51
52
  $$css: true
52
53
  },
53
54
  attached: {
@@ -3,6 +3,9 @@ export type { InputStatus as FileInputStatus, InputStatusType as FileInputStatus
3
3
  import { type FieldInputBaseProps } from '../Field/fieldParts.js';
4
4
  import type { SizeValue } from '../utils/types.js';
5
5
  export interface FileInputProps extends Omit<FieldInputBaseProps, 'onChange' | 'defaultValue' | 'value'> {
6
+ /**
7
+ * Ref to the native file input.
8
+ */
6
9
  ref?: React.Ref<HTMLInputElement>;
7
10
  /**
8
11
  * Accessible label for the file input.
@@ -1 +1 @@
1
- {"version":3,"file":"FileInput.d.ts","sourceRoot":"","sources":["../../src/FileInput/FileInput.tsx"],"names":[],"mappings":"AAuCA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAUlB,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,eAAe,IAAI,mBAAmB,GACvC,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAsP9C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,mBAAmB,EACnB,UAAU,GAAG,cAAc,GAAG,OAAO,CACtC;IACC,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,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAqB,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,UAAkB,EAClB,OAAO,EACP,QAAQ,EACR,UAAkB,EAClB,eAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,MAAM,EAAE,UAAU,EAClB,aAA0B,EAC1B,WAAW,EACX,WAAW,EACX,IAAc,EACd,UAAkB,EAClB,YAAY,EACZ,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,EAAE,EAAE,MAAM,EACV,GAAG,SAAS,EACb,EAAE,cAAc,+BAydhB;yBAxfe,SAAS"}
1
+ {"version":3,"file":"FileInput.d.ts","sourceRoot":"","sources":["../../src/FileInput/FileInput.tsx"],"names":[],"mappings":"AAuCA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAUlB,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,eAAe,IAAI,mBAAmB,GACvC,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAuP9C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,mBAAmB,EACnB,UAAU,GAAG,cAAc,GAAG,OAAO,CACtC;IACC;;OAEG;IACH,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,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAqB,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,UAAkB,EAClB,OAAO,EACP,QAAQ,EACR,UAAkB,EAClB,eAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,MAAM,EAAE,UAAU,EAClB,aAA0B,EAC1B,WAAW,EACX,WAAW,EACX,IAAc,EACd,UAAkB,EAClB,YAAY,EACZ,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,EAAE,EAAE,MAAM,EACV,GAAG,SAAS,EACb,EAAE,cAAc,+BA8ehB;yBA7gBe,SAAS"}
@@ -33,6 +33,7 @@ import { useFieldInputStyling } from "../Field/fieldParts.js";
33
33
  import { themeProps } from "../utils/themeProps.js";
34
34
  import { useTranslator } from "../i18n/index.js";
35
35
  import { useMergedRefs } from "../hooks/useMergedRefs.js";
36
+ import { useListFormatter } from "../i18n/useListFormatter.js";
36
37
  import { useResolvedRequired } from "../hooks/useResolvedRequired.js";
37
38
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
38
39
  function formatFileSize(bytes, t) {
@@ -238,6 +239,7 @@ export function FileInput({
238
239
  const containerRef = useRef(null);
239
240
  const [isDragOver, setIsDragOver] = useState(false);
240
241
  const [validationError, setValidationError] = useState(null);
242
+ const formatList = useListFormatter();
241
243
  const [, startTransition] = useTransition();
242
244
  const [optimisticValue, setOptimisticValue] = useOptimistic(value);
243
245
  const isBusy = isLoading || optimisticValue !== value;
@@ -307,7 +309,9 @@ export function FileInput({
307
309
  errors
308
310
  } = validateFiles(fileList, accept, maxSize, maxFiles, isMultiple, t);
309
311
  if (errors.length > 0) {
310
- setValidationError(errors[0]);
312
+ // Every rejected file is identified, in one status message
313
+ // (WCAG 3.3.1), joined as a list in the active locale.
314
+ setValidationError(formatList(errors));
311
315
  } else {
312
316
  setValidationError(null);
313
317
  }
@@ -336,7 +340,7 @@ export function FileInput({
336
340
  await changeAction(result);
337
341
  });
338
342
  }
339
- }, [accept, isDisabled, isMultiple, maxFiles, maxSize, onChange, changeAction, startTransition, setOptimisticValue, announce, t]);
343
+ }, [accept, isDisabled, isMultiple, maxFiles, maxSize, onChange, changeAction, startTransition, setOptimisticValue, announce, t, formatList]);
340
344
  const handleInputChange = useCallback(e => {
341
345
  const fileList = Array.from(e.target.files ?? []);
342
346
  handleFiles(fileList);
@@ -438,19 +442,30 @@ export function FileInput({
438
442
  }, [isDisabled, mode, handleFiles]);
439
443
  const hasFiles = optimisticValue != null && (Array.isArray(optimisticValue) ? optimisticValue.length > 0 : true);
440
444
  const fileNames = hasFiles ? Array.isArray(optimisticValue) ? optimisticValue.map(f => f.name).join(', ') : optimisticValue?.name ?? '' : null;
445
+
446
+ // The tooltip placement renders no message box: its focusable status button
447
+ // is the only place the message lives, and the trigger's aria-describedby
448
+ // points at that button's tooltip. Every content branch that can show a
449
+ // status keeps it, so the message stays reachable in dropzone mode and while
450
+ // busy (family:input-fields FR8).
451
+ const tooltipStatus = statusTooltipDescribedBy != null ? statusIcon : null;
441
452
  const renderDropzoneContent = () => {
442
453
  if (isBusy) {
443
- return /*#__PURE__*/_jsx(Spinner, {
444
- size: "md",
445
- "aria-hidden": "true"
454
+ return /*#__PURE__*/_jsxs(_Fragment, {
455
+ children: [/*#__PURE__*/_jsx(Spinner, {
456
+ size: "md",
457
+ "aria-hidden": "true"
458
+ }), tooltipStatus]
446
459
  });
447
460
  }
448
461
  if (hasFiles) {
449
- return /*#__PURE__*/_jsx("div", {
450
- ...{
451
- className: "x9ynric xjm74w1 xf9zqsd xw6l6zx x1tgivj0 xb3r6kr xlyipyv x98rzlu xeuugli x2b8uid xeaf4i8"
452
- },
453
- children: fileNames
462
+ return /*#__PURE__*/_jsxs(_Fragment, {
463
+ children: [/*#__PURE__*/_jsx("div", {
464
+ ...{
465
+ className: "x9ynric xjm74w1 xf9zqsd xw6l6zx x1tgivj0 xb3r6kr xlyipyv x98rzlu xeuugli x2b8uid xeaf4i8"
466
+ },
467
+ children: fileNames
468
+ }), tooltipStatus]
454
469
  });
455
470
  }
456
471
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -466,7 +481,7 @@ export function FileInput({
466
481
  className: "x9ynric xjm74w1 xf9zqsd xw6l6zx xv1l7n4 x2b8uid x87ps6o"
467
482
  },
468
483
  children: isDragOver ? t('@astryx.fileInput.dropHint') : displayPlaceholder
469
- })]
484
+ }), tooltipStatus]
470
485
  });
471
486
  };
472
487
  const renderCompactContent = () => {
@@ -480,7 +495,7 @@ export function FileInput({
480
495
  }), /*#__PURE__*/_jsx(Spinner, {
481
496
  size: "sm",
482
497
  "aria-hidden": "true"
483
- })]
498
+ }), tooltipStatus]
484
499
  });
485
500
  }
486
501
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../src/Item/Item.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../src/Item/Item.tsx"],"names":[],"mappings":"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"}
package/dist/Item/Item.js CHANGED
@@ -34,6 +34,7 @@ import "../theme/tokens.stylex.js";
34
34
  import { colorVars, radiusVars, spacingVars, durationVars, easeVars, typeScaleVars } from "../theme/tokens.stylex.js";
35
35
  import { isRenderable } from "../utils/isRenderable.js";
36
36
  import { mergeProps } from "../utils/mergeProps.js";
37
+ import { useFocusAcrossSwap } from "../utils/useFocusAcrossSwap.js";
37
38
  import { ItemDescriptionContext } from "./ItemDescriptionContext.js";
38
39
  import { ItemMarkerColumnsContext } from "./ItemMarkerColumnsContext.js";
39
40
  import { useMergedRefs } from "../hooks/useMergedRefs.js";
@@ -274,6 +275,13 @@ export function Item({
274
275
  const pressable = usePressFeedback();
275
276
  const columnMarker = use(ItemMarkerColumnsContext);
276
277
  const LinkComponent = useLinkComponent();
278
+ // A disabled row's anchor has no destination, so no activation path (a
279
+ // screen reader's click, Enter, a link context menu) can navigate
280
+ // (spec:AST-085 FR2). Like a disabled Link, it keeps the link role and skips
281
+ // the router link component, which may require a live href. The element type
282
+ // then changes with `isDisabled`, so focus follows the swap (FR4).
283
+ const RowAnchor = isDisabled ? 'a' : LinkComponent;
284
+ const anchorRef = useFocusAcrossSwap();
277
285
 
278
286
  // Delegation mode: the row is an enlarged click/tap target for a nested
279
287
  // control (e.g. a checkbox) that owns the keyboard access and action. The
@@ -399,12 +407,17 @@ export function Item({
399
407
  }
400
408
  }[!!isInline << 1 | !!isDisabled << 0],
401
409
  children: labelAndDescription
402
- }) : href != null && !isLinkRoot ? /*#__PURE__*/_jsx(LinkComponent, {
403
- href: href,
404
- target: target,
405
- rel: rel,
406
- "aria-disabled": isDisabled || undefined,
407
- tabIndex: isDisabled ? -1 : undefined,
410
+ }) : href != null && !isLinkRoot ? /*#__PURE__*/_jsx(RowAnchor, {
411
+ ref: anchorRef,
412
+ ...(isDisabled ? {
413
+ role: 'link',
414
+ 'aria-disabled': true,
415
+ tabIndex: -1
416
+ } : {
417
+ href,
418
+ target,
419
+ rel
420
+ }),
408
421
  ...{
409
422
  0: {
410
423
  className: "xmper1u x16khyan x1heor9g x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h x1hl2dhg x1a2a7pz"
@@ -1 +1 @@
1
- {"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,EAQZ,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAsInD;;GAEG;AACH,UAAU,kBAAkB;IAC1B,aAAa,EAAE,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD;;;OAGG;IACH,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;CACtD;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAClC;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACpD;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,IAAI,EAAE,SAAS,CAAC;IAChB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE9B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,kBAAkB,KAAK,SAAS,CAAC;CACxE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,EAAE,SAAS,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,KAAK,SAAS,CAAC;CACrE;AAED,UAAU,mBAAmB;IAC3B,gBAAgB,EAAE,MAAM,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,UAAU,2BAA4B,SAAQ,mBAAmB;IAC/D;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,KAAK,0BAA0B,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAC3E,KAAK,wBAAwB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAmiBvE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,GAAE,cAAwB,EACnC,SAAS,GAAE,cAAyB,GACnC,MAAM,CAiBR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,OAAO,GACtB,KAAK,CAAC,aAAa,CAQrB;AA4BD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,GACd,kBAAkB,CAoCpB;AAm2BD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;AAC3E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;AAWvE;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,2BAA2B,GACnC,0BAA0B,CAAC;AAC9B,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,iBAAiB,GACzB,wBAAwB,CAAC"}