@proyecto-viviana/solidaria 0.4.0 → 0.4.2

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 (480) hide show
  1. package/dist/_chunk/DragManager.js +627 -0
  2. package/dist/_chunk/DragManager.js.map +1 -0
  3. package/dist/_chunk/DragManager.jsx +627 -0
  4. package/dist/_chunk/DragManager.jsx.map +1 -0
  5. package/dist/_chunk/FocusScope.js +400 -0
  6. package/dist/_chunk/FocusScope.js.map +1 -0
  7. package/dist/_chunk/FocusScope.jsx +375 -0
  8. package/dist/_chunk/FocusScope.jsx.map +1 -0
  9. package/dist/_chunk/actiongroup.js +13 -79
  10. package/dist/_chunk/actiongroup.js.map +1 -1
  11. package/dist/_chunk/actiongroup.jsx +13 -79
  12. package/dist/_chunk/actiongroup.jsx.map +1 -1
  13. package/dist/_chunk/{live-announcer.js → announce.js} +1 -1
  14. package/dist/_chunk/announce.js.map +1 -0
  15. package/dist/_chunk/{live-announcer.jsx → announce.jsx} +1 -1
  16. package/dist/_chunk/announce.jsx.map +1 -0
  17. package/dist/_chunk/autocomplete.js +56 -8
  18. package/dist/_chunk/autocomplete.js.map +1 -1
  19. package/dist/_chunk/autocomplete.jsx +56 -8
  20. package/dist/_chunk/autocomplete.jsx.map +1 -1
  21. package/dist/_chunk/breadcrumbs.js +6 -4
  22. package/dist/_chunk/breadcrumbs.js.map +1 -1
  23. package/dist/_chunk/breadcrumbs.jsx +6 -4
  24. package/dist/_chunk/breadcrumbs.jsx.map +1 -1
  25. package/dist/_chunk/button.js +8 -9
  26. package/dist/_chunk/button.js.map +1 -1
  27. package/dist/_chunk/button.jsx +8 -9
  28. package/dist/_chunk/button.jsx.map +1 -1
  29. package/dist/_chunk/calendar.js +27 -26
  30. package/dist/_chunk/calendar.js.map +1 -1
  31. package/dist/_chunk/calendar.jsx +27 -26
  32. package/dist/_chunk/calendar.jsx.map +1 -1
  33. package/dist/_chunk/checkbox.js +5 -4
  34. package/dist/_chunk/checkbox.js.map +1 -1
  35. package/dist/_chunk/checkbox.jsx +5 -4
  36. package/dist/_chunk/checkbox.jsx.map +1 -1
  37. package/dist/_chunk/color.js +302 -18
  38. package/dist/_chunk/color.js.map +1 -1
  39. package/dist/_chunk/color.jsx +302 -18
  40. package/dist/_chunk/color.jsx.map +1 -1
  41. package/dist/_chunk/combobox.js +638 -12
  42. package/dist/_chunk/combobox.js.map +1 -1
  43. package/dist/_chunk/combobox.jsx +638 -12
  44. package/dist/_chunk/combobox.jsx.map +1 -1
  45. package/dist/_chunk/constants.js +19 -0
  46. package/dist/_chunk/constants.js.map +1 -0
  47. package/dist/_chunk/constants.jsx +19 -0
  48. package/dist/_chunk/constants.jsx.map +1 -0
  49. package/dist/_chunk/createCollator.js +3 -171
  50. package/dist/_chunk/createCollator.js.map +1 -1
  51. package/dist/_chunk/createCollator.jsx +3 -165
  52. package/dist/_chunk/createCollator.jsx.map +1 -1
  53. package/dist/_chunk/createField.js +2 -1
  54. package/dist/_chunk/createField.js.map +1 -1
  55. package/dist/_chunk/createField.jsx +2 -1
  56. package/dist/_chunk/createField.jsx.map +1 -1
  57. package/dist/_chunk/createFocus.js +12 -8
  58. package/dist/_chunk/createFocus.js.map +1 -1
  59. package/dist/_chunk/createFocus.jsx +12 -8
  60. package/dist/_chunk/createFocus.jsx.map +1 -1
  61. package/dist/_chunk/createFocusWithin.js +12 -13
  62. package/dist/_chunk/createFocusWithin.js.map +1 -1
  63. package/dist/_chunk/createFocusWithin.jsx +12 -13
  64. package/dist/_chunk/createFocusWithin.jsx.map +1 -1
  65. package/dist/_chunk/createFocusable.js +3 -3
  66. package/dist/_chunk/createFocusable.js.map +1 -1
  67. package/dist/_chunk/createFocusable.jsx +3 -3
  68. package/dist/_chunk/createFocusable.jsx.map +1 -1
  69. package/dist/_chunk/{form.js → createFormReset.js} +1 -1
  70. package/dist/_chunk/createFormReset.js.map +1 -0
  71. package/dist/_chunk/{form.jsx → createFormReset.jsx} +1 -1
  72. package/dist/_chunk/createFormReset.jsx.map +1 -0
  73. package/dist/_chunk/createHover.js +2 -1
  74. package/dist/_chunk/createHover.js.map +1 -1
  75. package/dist/_chunk/createHover.jsx +2 -1
  76. package/dist/_chunk/createHover.jsx.map +1 -1
  77. package/dist/_chunk/createInteractionModality.js +2 -3
  78. package/dist/_chunk/createInteractionModality.js.map +1 -1
  79. package/dist/_chunk/createInteractionModality.jsx +2 -3
  80. package/dist/_chunk/createInteractionModality.jsx.map +1 -1
  81. package/dist/_chunk/createLabel.js +2 -1
  82. package/dist/_chunk/createLabel.js.map +1 -1
  83. package/dist/_chunk/createLabel.jsx +2 -1
  84. package/dist/_chunk/createLabel.jsx.map +1 -1
  85. package/dist/_chunk/createLabels.js +3 -2
  86. package/dist/_chunk/createLabels.js.map +1 -1
  87. package/dist/_chunk/createLabels.jsx +3 -2
  88. package/dist/_chunk/createLabels.jsx.map +1 -1
  89. package/dist/_chunk/createLandmark.js +1 -1
  90. package/dist/_chunk/createLandmark.jsx +1 -1
  91. package/dist/_chunk/createProgressBar.js +2 -1
  92. package/dist/_chunk/createProgressBar.js.map +1 -1
  93. package/dist/_chunk/createProgressBar.jsx +2 -1
  94. package/dist/_chunk/createProgressBar.jsx.map +1 -1
  95. package/dist/_chunk/createSelectableItem.js +7 -3
  96. package/dist/_chunk/createSelectableItem.js.map +1 -1
  97. package/dist/_chunk/createSelectableItem.jsx +7 -3
  98. package/dist/_chunk/createSelectableItem.jsx.map +1 -1
  99. package/dist/_chunk/createStringFormatter.js +61 -0
  100. package/dist/_chunk/createStringFormatter.js.map +1 -0
  101. package/dist/_chunk/createStringFormatter.jsx +61 -0
  102. package/dist/_chunk/createStringFormatter.jsx.map +1 -0
  103. package/dist/_chunk/createToggle.js +5 -4
  104. package/dist/_chunk/createToggle.js.map +1 -1
  105. package/dist/_chunk/createToggle.jsx +5 -4
  106. package/dist/_chunk/createToggle.jsx.map +1 -1
  107. package/dist/_chunk/datepicker.js +1413 -1100
  108. package/dist/_chunk/datepicker.js.map +1 -1
  109. package/dist/_chunk/datepicker.jsx +1413 -1100
  110. package/dist/_chunk/datepicker.jsx.map +1 -1
  111. package/dist/_chunk/disclosure.js +2 -2
  112. package/dist/_chunk/disclosure.js.map +1 -1
  113. package/dist/_chunk/disclosure.jsx +2 -2
  114. package/dist/_chunk/disclosure.jsx.map +1 -1
  115. package/dist/_chunk/dnd.js +1586 -495
  116. package/dist/_chunk/dnd.js.map +1 -1
  117. package/dist/_chunk/dnd.jsx +1586 -495
  118. package/dist/_chunk/dnd.jsx.map +1 -1
  119. package/dist/_chunk/env.js +1 -19
  120. package/dist/_chunk/env.js.map +1 -1
  121. package/dist/_chunk/env.jsx +1 -19
  122. package/dist/_chunk/env.jsx.map +1 -1
  123. package/dist/_chunk/focus.js +1 -1
  124. package/dist/_chunk/focus.js.map +1 -1
  125. package/dist/_chunk/focus.jsx +1 -1
  126. package/dist/_chunk/focus.jsx.map +1 -1
  127. package/dist/_chunk/focus2.js +54 -318
  128. package/dist/_chunk/focus2.js.map +1 -1
  129. package/dist/_chunk/focus2.jsx +53 -292
  130. package/dist/_chunk/focus2.jsx.map +1 -1
  131. package/dist/_chunk/grid.js +1 -1
  132. package/dist/_chunk/grid.jsx +1 -1
  133. package/dist/_chunk/gridlist.js +14 -9
  134. package/dist/_chunk/gridlist.js.map +1 -1
  135. package/dist/_chunk/gridlist.jsx +14 -9
  136. package/dist/_chunk/gridlist.jsx.map +1 -1
  137. package/dist/_chunk/i18n.js +3 -58
  138. package/dist/_chunk/i18n.js.map +1 -1
  139. package/dist/_chunk/i18n.jsx +3 -58
  140. package/dist/_chunk/i18n.jsx.map +1 -1
  141. package/dist/_chunk/interactions.js +99 -9
  142. package/dist/_chunk/interactions.js.map +1 -1
  143. package/dist/_chunk/interactions.jsx +97 -9
  144. package/dist/_chunk/interactions.jsx.map +1 -1
  145. package/dist/_chunk/link.js +2 -1
  146. package/dist/_chunk/link.js.map +1 -1
  147. package/dist/_chunk/link.jsx +2 -1
  148. package/dist/_chunk/link.jsx.map +1 -1
  149. package/dist/_chunk/listbox.js +42 -10
  150. package/dist/_chunk/listbox.js.map +1 -1
  151. package/dist/_chunk/listbox.jsx +42 -10
  152. package/dist/_chunk/listbox.jsx.map +1 -1
  153. package/dist/_chunk/locale.js +173 -0
  154. package/dist/_chunk/locale.js.map +1 -0
  155. package/dist/_chunk/locale.jsx +167 -0
  156. package/dist/_chunk/locale.jsx.map +1 -0
  157. package/dist/_chunk/menu.js +5 -4
  158. package/dist/_chunk/menu.js.map +1 -1
  159. package/dist/_chunk/menu.jsx +5 -4
  160. package/dist/_chunk/menu.jsx.map +1 -1
  161. package/dist/_chunk/numberfield.js +3 -2
  162. package/dist/_chunk/numberfield.js.map +1 -1
  163. package/dist/_chunk/numberfield.jsx +3 -2
  164. package/dist/_chunk/numberfield.jsx.map +1 -1
  165. package/dist/_chunk/overlays.js +1 -1
  166. package/dist/_chunk/overlays.jsx +1 -1
  167. package/dist/_chunk/popover.js +3 -3
  168. package/dist/_chunk/popover.js.map +1 -1
  169. package/dist/_chunk/popover.jsx +3 -3
  170. package/dist/_chunk/popover.jsx.map +1 -1
  171. package/dist/_chunk/radio.js +7 -6
  172. package/dist/_chunk/radio.js.map +1 -1
  173. package/dist/_chunk/radio.jsx +7 -6
  174. package/dist/_chunk/radio.jsx.map +1 -1
  175. package/dist/_chunk/reactivity.js +21 -0
  176. package/dist/_chunk/reactivity.js.map +1 -0
  177. package/dist/_chunk/reactivity.jsx +21 -0
  178. package/dist/_chunk/reactivity.jsx.map +1 -0
  179. package/dist/_chunk/searchfield.js +2 -1
  180. package/dist/_chunk/searchfield.js.map +1 -1
  181. package/dist/_chunk/searchfield.jsx +2 -1
  182. package/dist/_chunk/searchfield.jsx.map +1 -1
  183. package/dist/_chunk/select.js +8 -5
  184. package/dist/_chunk/select.js.map +1 -1
  185. package/dist/_chunk/select.jsx +8 -5
  186. package/dist/_chunk/select.jsx.map +1 -1
  187. package/dist/_chunk/selection.js +8 -21
  188. package/dist/_chunk/selection.js.map +1 -1
  189. package/dist/_chunk/selection.jsx +8 -21
  190. package/dist/_chunk/selection.jsx.map +1 -1
  191. package/dist/_chunk/separator.js +1 -1
  192. package/dist/_chunk/separator.jsx +1 -1
  193. package/dist/_chunk/slider.js +5 -4
  194. package/dist/_chunk/slider.js.map +1 -1
  195. package/dist/_chunk/slider.jsx +5 -4
  196. package/dist/_chunk/slider.jsx.map +1 -1
  197. package/dist/_chunk/spinbutton.js +153 -0
  198. package/dist/_chunk/spinbutton.js.map +1 -0
  199. package/dist/_chunk/spinbutton.jsx +153 -0
  200. package/dist/_chunk/spinbutton.jsx.map +1 -0
  201. package/dist/_chunk/table.js +45 -8
  202. package/dist/_chunk/table.js.map +1 -1
  203. package/dist/_chunk/table.jsx +45 -8
  204. package/dist/_chunk/table.jsx.map +1 -1
  205. package/dist/_chunk/tabs.js +11 -8
  206. package/dist/_chunk/tabs.js.map +1 -1
  207. package/dist/_chunk/tabs.jsx +11 -8
  208. package/dist/_chunk/tabs.jsx.map +1 -1
  209. package/dist/_chunk/tag.js +54 -18
  210. package/dist/_chunk/tag.js.map +1 -1
  211. package/dist/_chunk/tag.jsx +54 -18
  212. package/dist/_chunk/tag.jsx.map +1 -1
  213. package/dist/_chunk/textfield.js +2 -1
  214. package/dist/_chunk/textfield.js.map +1 -1
  215. package/dist/_chunk/textfield.jsx +2 -1
  216. package/dist/_chunk/textfield.jsx.map +1 -1
  217. package/dist/_chunk/toolbar.js +4 -36
  218. package/dist/_chunk/toolbar.js.map +1 -1
  219. package/dist/_chunk/toolbar.jsx +4 -36
  220. package/dist/_chunk/toolbar.jsx.map +1 -1
  221. package/dist/_chunk/tooltip.js +2 -2
  222. package/dist/_chunk/tooltip.js.map +1 -1
  223. package/dist/_chunk/tooltip.jsx +2 -2
  224. package/dist/_chunk/tooltip.jsx.map +1 -1
  225. package/dist/_chunk/tree.js +42 -14
  226. package/dist/_chunk/tree.js.map +1 -1
  227. package/dist/_chunk/tree.jsx +42 -14
  228. package/dist/_chunk/tree.jsx.map +1 -1
  229. package/dist/_chunk/utils.js +59 -19
  230. package/dist/_chunk/utils.js.map +1 -1
  231. package/dist/_chunk/utils.jsx +59 -19
  232. package/dist/_chunk/utils.jsx.map +1 -1
  233. package/dist/_chunk/visually-hidden.js +3 -2
  234. package/dist/_chunk/visually-hidden.js.map +1 -1
  235. package/dist/_chunk/visually-hidden.jsx +3 -2
  236. package/dist/_chunk/visually-hidden.jsx.map +1 -1
  237. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  238. package/dist/autocomplete/createAutocomplete.d.ts +10 -7
  239. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  240. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  241. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  242. package/dist/calendar/createCalendar.d.ts.map +1 -1
  243. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  244. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  245. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  246. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  247. package/dist/calendar/intl/index.d.ts +1 -1
  248. package/dist/calendar/intl/index.d.ts.map +1 -1
  249. package/dist/collections/index.js +1 -1
  250. package/dist/collections/index.jsx +1 -1
  251. package/dist/color/createColorArea.d.ts.map +1 -1
  252. package/dist/color/createColorField.d.ts.map +1 -1
  253. package/dist/color/createColorSlider.d.ts.map +1 -1
  254. package/dist/color/createColorSwatch.d.ts.map +1 -1
  255. package/dist/color/createColorWheel.d.ts.map +1 -1
  256. package/dist/color/intl/index.d.ts +30 -0
  257. package/dist/color/intl/index.d.ts.map +1 -0
  258. package/dist/combobox/createComboBox.d.ts.map +1 -1
  259. package/dist/combobox/intl/generated-locales.d.ts +16 -0
  260. package/dist/combobox/intl/generated-locales.d.ts.map +1 -0
  261. package/dist/combobox/intl/index.d.ts +2 -2
  262. package/dist/combobox/intl/index.d.ts.map +1 -1
  263. package/dist/datepicker/createDateField.d.ts +45 -23
  264. package/dist/datepicker/createDateField.d.ts.map +1 -1
  265. package/dist/datepicker/createDatePicker.d.ts +34 -6
  266. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  267. package/dist/datepicker/createDatePickerGroup.d.ts +13 -13
  268. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
  269. package/dist/datepicker/createDateRangePicker.d.ts +55 -7
  270. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  271. package/dist/datepicker/createDateSegment.d.ts +6 -15
  272. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  273. package/dist/datepicker/createDisplayNames.d.ts +17 -0
  274. package/dist/datepicker/createDisplayNames.d.ts.map +1 -0
  275. package/dist/datepicker/createTimeField.d.ts +12 -49
  276. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  277. package/dist/datepicker/index.d.ts +3 -3
  278. package/dist/datepicker/index.d.ts.map +1 -1
  279. package/dist/datepicker/index.js +2 -2
  280. package/dist/datepicker/index.jsx +2 -2
  281. package/dist/datepicker/intl.d.ts +12 -0
  282. package/dist/datepicker/intl.d.ts.map +1 -0
  283. package/dist/dnd/DragManager.d.ts +86 -0
  284. package/dist/dnd/DragManager.d.ts.map +1 -0
  285. package/dist/dnd/DropTargetKeyboardNavigation.d.ts +42 -0
  286. package/dist/dnd/DropTargetKeyboardNavigation.d.ts.map +1 -0
  287. package/dist/dnd/createDrag.d.ts.map +1 -1
  288. package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
  289. package/dist/dnd/createDraggableItem.d.ts +12 -7
  290. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  291. package/dist/dnd/createDroppableCollection.d.ts +7 -15
  292. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  293. package/dist/dnd/index.d.ts +5 -1
  294. package/dist/dnd/index.d.ts.map +1 -1
  295. package/dist/dnd/index.js +3 -2
  296. package/dist/dnd/index.jsx +3 -2
  297. package/dist/dnd/intl/index.d.ts +39 -0
  298. package/dist/dnd/intl/index.d.ts.map +1 -0
  299. package/dist/dnd/utils.d.ts +5 -0
  300. package/dist/dnd/utils.d.ts.map +1 -1
  301. package/dist/focus/FocusScope.d.ts +7 -0
  302. package/dist/focus/FocusScope.d.ts.map +1 -1
  303. package/dist/focus/index.d.ts +2 -1
  304. package/dist/focus/index.d.ts.map +1 -1
  305. package/dist/focus/index.js +3 -2
  306. package/dist/focus/index.jsx +3 -2
  307. package/dist/focus/virtualFocus.d.ts +26 -0
  308. package/dist/focus/virtualFocus.d.ts.map +1 -0
  309. package/dist/form/index.js +1 -1
  310. package/dist/form/index.jsx +1 -1
  311. package/dist/gridlist/createGridList.d.ts.map +1 -1
  312. package/dist/i18n/index.js +4 -2
  313. package/dist/i18n/index.jsx +4 -2
  314. package/dist/index.d.ts +3 -3
  315. package/dist/index.d.ts.map +1 -1
  316. package/dist/index.js +18 -12
  317. package/dist/index.jsx +18 -12
  318. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  319. package/dist/interactions/createFocus.d.ts.map +1 -1
  320. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  321. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  322. package/dist/interactions/index.js +1 -2
  323. package/dist/interactions/index.jsx +1 -2
  324. package/dist/label/createLabels.d.ts.map +1 -1
  325. package/dist/listbox/createListBox.d.ts.map +1 -1
  326. package/dist/listbox/createOption.d.ts +1 -1
  327. package/dist/listbox/createOption.d.ts.map +1 -1
  328. package/dist/live-announcer/index.js +1 -1
  329. package/dist/live-announcer/index.jsx +1 -1
  330. package/dist/select/createSelect.d.ts +2 -0
  331. package/dist/select/createSelect.d.ts.map +1 -1
  332. package/dist/selection/createSelectableItem.d.ts.map +1 -1
  333. package/dist/selection/index.js +2 -1
  334. package/dist/selection/index.jsx +2 -1
  335. package/dist/spinbutton/createSpinButton.d.ts +41 -0
  336. package/dist/spinbutton/createSpinButton.d.ts.map +1 -0
  337. package/dist/spinbutton/index.d.ts +3 -0
  338. package/dist/spinbutton/index.d.ts.map +1 -0
  339. package/dist/spinbutton/index.js +2 -0
  340. package/dist/spinbutton/index.jsx +2 -0
  341. package/dist/spinbutton/intl.d.ts +5 -0
  342. package/dist/spinbutton/intl.d.ts.map +1 -0
  343. package/dist/table/createTable.d.ts.map +1 -1
  344. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  345. package/dist/table/createTableRow.d.ts.map +1 -1
  346. package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
  347. package/dist/table/types.d.ts +8 -0
  348. package/dist/table/types.d.ts.map +1 -1
  349. package/dist/table/utils.d.ts +15 -0
  350. package/dist/table/utils.d.ts.map +1 -0
  351. package/dist/tabs/createTabs.d.ts +1 -0
  352. package/dist/tabs/createTabs.d.ts.map +1 -1
  353. package/dist/tag/createTag.d.ts.map +1 -1
  354. package/dist/tag/createTagGroup.d.ts +7 -0
  355. package/dist/tag/createTagGroup.d.ts.map +1 -1
  356. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  357. package/dist/tree/createTree.d.ts.map +1 -1
  358. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  359. package/dist/utils/animation.d.ts.map +1 -1
  360. package/dist/utils/dom.d.ts +1 -0
  361. package/dist/utils/dom.d.ts.map +1 -1
  362. package/dist/utils/index.d.ts +1 -1
  363. package/dist/utils/index.d.ts.map +1 -1
  364. package/dist/utils/index.js +4 -3
  365. package/dist/utils/index.jsx +4 -3
  366. package/package.json +2 -2
  367. package/src/actiongroup/createActionGroup.ts +26 -109
  368. package/src/autocomplete/createAutocomplete.ts +136 -15
  369. package/src/breadcrumbs/createBreadcrumbs.ts +12 -4
  370. package/src/button/createToggleButtonGroup.ts +19 -14
  371. package/src/calendar/createCalendar.ts +3 -4
  372. package/src/calendar/createCalendarCell.ts +17 -3
  373. package/src/calendar/createCalendarGrid.ts +5 -4
  374. package/src/calendar/createRangeCalendar.ts +27 -17
  375. package/src/calendar/createRangeCalendarCell.ts +17 -3
  376. package/src/calendar/intl/index.ts +8 -0
  377. package/src/color/createColorArea.ts +17 -10
  378. package/src/color/createColorField.ts +8 -1
  379. package/src/color/createColorSlider.ts +1 -2
  380. package/src/color/createColorSwatch.ts +4 -2
  381. package/src/color/createColorWheel.ts +0 -6
  382. package/src/color/intl/index.ts +316 -0
  383. package/src/combobox/createComboBox.ts +35 -4
  384. package/src/combobox/intl/generated-locales.ts +635 -0
  385. package/src/combobox/intl/index.ts +8 -2
  386. package/src/datepicker/createDateField.ts +228 -213
  387. package/src/datepicker/createDatePicker.ts +157 -146
  388. package/src/datepicker/createDatePickerGroup.ts +88 -82
  389. package/src/datepicker/createDateRangePicker.ts +230 -179
  390. package/src/datepicker/createDateSegment.ts +386 -389
  391. package/src/datepicker/createDisplayNames.ts +45 -0
  392. package/src/datepicker/createTimeField.ts +36 -129
  393. package/src/datepicker/index.ts +13 -14
  394. package/src/datepicker/intl.ts +633 -0
  395. package/src/dnd/DragManager.ts +693 -0
  396. package/src/dnd/DropTargetKeyboardNavigation.ts +337 -0
  397. package/src/dnd/createDrag.ts +31 -5
  398. package/src/dnd/createDraggableCollection.ts +33 -15
  399. package/src/dnd/createDraggableItem.ts +92 -5
  400. package/src/dnd/createDroppableCollection.ts +487 -373
  401. package/src/dnd/index.ts +11 -0
  402. package/src/dnd/intl/ar-AE.json +29 -0
  403. package/src/dnd/intl/bg-BG.json +29 -0
  404. package/src/dnd/intl/cs-CZ.json +29 -0
  405. package/src/dnd/intl/da-DK.json +29 -0
  406. package/src/dnd/intl/de-DE.json +29 -0
  407. package/src/dnd/intl/el-GR.json +29 -0
  408. package/src/dnd/intl/en-US.json +29 -0
  409. package/src/dnd/intl/es-ES.json +29 -0
  410. package/src/dnd/intl/et-EE.json +29 -0
  411. package/src/dnd/intl/fi-FI.json +29 -0
  412. package/src/dnd/intl/fr-FR.json +29 -0
  413. package/src/dnd/intl/he-IL.json +29 -0
  414. package/src/dnd/intl/hr-HR.json +29 -0
  415. package/src/dnd/intl/hu-HU.json +29 -0
  416. package/src/dnd/intl/index.ts +139 -0
  417. package/src/dnd/intl/it-IT.json +29 -0
  418. package/src/dnd/intl/ja-JP.json +29 -0
  419. package/src/dnd/intl/ko-KR.json +29 -0
  420. package/src/dnd/intl/lt-LT.json +29 -0
  421. package/src/dnd/intl/lv-LV.json +29 -0
  422. package/src/dnd/intl/nb-NO.json +29 -0
  423. package/src/dnd/intl/nl-NL.json +29 -0
  424. package/src/dnd/intl/pl-PL.json +29 -0
  425. package/src/dnd/intl/pt-BR.json +29 -0
  426. package/src/dnd/intl/pt-PT.json +29 -0
  427. package/src/dnd/intl/ro-RO.json +29 -0
  428. package/src/dnd/intl/ru-RU.json +29 -0
  429. package/src/dnd/intl/sk-SK.json +29 -0
  430. package/src/dnd/intl/sl-SI.json +29 -0
  431. package/src/dnd/intl/sr-SP.json +29 -0
  432. package/src/dnd/intl/sv-SE.json +29 -0
  433. package/src/dnd/intl/tr-TR.json +29 -0
  434. package/src/dnd/intl/uk-UA.json +29 -0
  435. package/src/dnd/intl/zh-CN.json +29 -0
  436. package/src/dnd/intl/zh-TW.json +29 -0
  437. package/src/dnd/utils.ts +36 -0
  438. package/src/focus/FocusScope.tsx +120 -12
  439. package/src/focus/index.ts +8 -0
  440. package/src/focus/virtualFocus.ts +55 -0
  441. package/src/gridlist/createGridList.ts +52 -16
  442. package/src/index.ts +11 -3
  443. package/src/interactions/FocusableProvider.tsx +11 -6
  444. package/src/interactions/createFocus.ts +26 -21
  445. package/src/interactions/createFocusWithin.ts +23 -24
  446. package/src/interactions/createInteractionModality.ts +5 -3
  447. package/src/label/createLabels.ts +7 -4
  448. package/src/listbox/createListBox.ts +74 -2
  449. package/src/listbox/createOption.ts +16 -1
  450. package/src/select/createSelect.ts +23 -2
  451. package/src/selection/createSelectableItem.ts +14 -0
  452. package/src/spinbutton/createSpinButton.ts +163 -0
  453. package/src/spinbutton/index.ts +10 -0
  454. package/src/spinbutton/intl.ts +115 -0
  455. package/src/table/createTable.ts +26 -1
  456. package/src/table/createTableColumnHeader.ts +10 -0
  457. package/src/table/createTableRow.ts +10 -0
  458. package/src/table/createTableSelectionCheckbox.ts +24 -1
  459. package/src/table/types.ts +8 -0
  460. package/src/table/utils.ts +41 -0
  461. package/src/tabs/createTabs.ts +53 -12
  462. package/src/tag/createTag.ts +21 -32
  463. package/src/tag/createTagGroup.ts +92 -0
  464. package/src/toolbar/createToolbar.ts +6 -58
  465. package/src/tree/createTree.ts +69 -14
  466. package/src/tree/createTreeSelectionCheckbox.ts +14 -1
  467. package/src/utils/animation.ts +119 -27
  468. package/src/utils/dom.ts +3 -2
  469. package/src/utils/index.ts +2 -0
  470. package/dist/_chunk/createLongPress.js +0 -91
  471. package/dist/_chunk/createLongPress.js.map +0 -1
  472. package/dist/_chunk/createLongPress.jsx +0 -91
  473. package/dist/_chunk/createLongPress.jsx.map +0 -1
  474. package/dist/_chunk/form.js.map +0 -1
  475. package/dist/_chunk/form.jsx.map +0 -1
  476. package/dist/_chunk/live-announcer.js.map +0 -1
  477. package/dist/_chunk/live-announcer.jsx.map +0 -1
  478. package/dist/datepicker/createTimeSegment.d.ts +0 -29
  479. package/dist/datepicker/createTimeSegment.d.ts.map +0 -1
  480. package/src/datepicker/createTimeSegment.ts +0 -352
@@ -9,6 +9,7 @@ import type { Color, ColorAreaState, ColorChannel } from "@proyecto-viviana/soli
9
9
  import { parseColor } from "@proyecto-viviana/solid-stately";
10
10
  import { useLocale } from "../i18n";
11
11
  import { createId } from "../ssr";
12
+ import { createColorStringFormatter } from "./intl";
12
13
  import type { AriaColorAreaOptions, ColorAreaAria } from "./types";
13
14
 
14
15
  /**
@@ -22,6 +23,7 @@ export function createColorArea(
22
23
  const getProps = () => props();
23
24
  const getState = () => state();
24
25
  const locale = useLocale();
26
+ const stringFormatter = createColorStringFormatter();
25
27
  const isRTL = () => locale().direction === "rtl";
26
28
  const [focusedInput, setFocusedInput] = createSignal<"x" | "y" | null>(null);
27
29
  const [valueChangedViaKeyboard, setValueChangedViaKeyboard] = createSignal(false);
@@ -32,11 +34,18 @@ export function createColorArea(
32
34
  const xInputId = createId();
33
35
  const yInputId = createId();
34
36
 
35
- const colorPickerLabel = () => "Color picker";
37
+ const colorPickerLabel = () => stringFormatter().format("colorPicker");
36
38
  const colorInputLabel = () => {
37
39
  const ariaLabel = getProps()["aria-label"];
38
- return ariaLabel ? `${ariaLabel}, ${colorPickerLabel()}` : colorPickerLabel();
40
+ return ariaLabel
41
+ ? stringFormatter().format("colorInputLabel", {
42
+ label: ariaLabel,
43
+ channelLabel: colorPickerLabel(),
44
+ })
45
+ : colorPickerLabel();
39
46
  };
47
+ // Upstream joins the group label with a literal ", " (useColorArea.ts:488),
48
+ // NOT the colorInputLabel message.
40
49
  const colorAreaLabel = () => {
41
50
  const ariaLabel = getProps()["aria-label"];
42
51
  return ariaLabel ? `${ariaLabel}, ${colorPickerLabel()}` : undefined;
@@ -44,7 +53,10 @@ export function createColorArea(
44
53
  const formatChannelValueText = (channel: ColorChannel) => {
45
54
  const value = getState().getDisplayColor();
46
55
  const loc = locale().locale;
47
- return `${value.getChannelName(channel, loc)}: ${value.formatChannelValue(channel, loc)}`;
56
+ return stringFormatter().format("colorNameAndValue", {
57
+ name: value.getChannelName(channel, loc),
58
+ value: value.formatChannelValue(channel, loc),
59
+ });
48
60
  };
49
61
  const getAriaValueTextForChannel = (channel: ColorChannel) => {
50
62
  const s = getState();
@@ -355,7 +367,7 @@ export function createColorArea(
355
367
  type: "range",
356
368
  id: p.id ?? xInputId,
357
369
  "aria-label": colorInputLabel(),
358
- "aria-roledescription": "2D slider",
370
+ "aria-roledescription": stringFormatter().format("twoDimensionalSlider"),
359
371
  "aria-valuetext": getAriaValueTextForChannel(s.xChannel),
360
372
  "aria-orientation": "horizontal" as const,
361
373
  "aria-describedby": p["aria-describedby"],
@@ -375,11 +387,6 @@ export function createColorArea(
375
387
  onKeyDown,
376
388
  onInput: (e: Event) => updateFromInput(e, "x"),
377
389
  onChange: (e: Event) => updateFromInput(e, "x"),
378
- onBlur: () => {
379
- if (s.isDragging) {
380
- s.setDragging(false);
381
- }
382
- },
383
390
  tabIndex: !focusedInput() || focusedInput() === "x" ? undefined : -1,
384
391
  style: {
385
392
  position: "absolute" as const,
@@ -405,7 +412,7 @@ export function createColorArea(
405
412
  type: "range",
406
413
  id: p.id ?? yInputId,
407
414
  "aria-label": colorInputLabel(),
408
- "aria-roledescription": "2D slider",
415
+ "aria-roledescription": stringFormatter().format("twoDimensionalSlider"),
409
416
  "aria-valuetext": getAriaValueTextForChannel(s.yChannel),
410
417
  "aria-orientation": "vertical" as const,
411
418
  "aria-describedby": p["aria-describedby"],
@@ -134,7 +134,14 @@ export function createColorField(
134
134
  disabled: isDisabled(),
135
135
  readOnly: isReadOnly(),
136
136
  required: validationBehavior() === "native" ? required || undefined : undefined,
137
- tabIndex: p.excludeFromTabOrder ? -1 : undefined,
137
+ // Upstream routes the input through useFormattedTextField → useTextField →
138
+ // useFocusable, which ALWAYS sets a tabIndex ("so that Safari allows focusing
139
+ // native buttons and inputs"): `excludeFromTabOrder ? -1 : 0`, then `undefined`
140
+ // when disabled (useFocusable.mjs:65-66). We hand-roll inputProps, so replay that
141
+ // one focusable prop here — the port previously dropped the default `0`, so the
142
+ // rendered input carried no `tabindex` while React's carries `tabindex="0"` (a D5
143
+ // focus-trail divergence), exactly as createNumberField already replays it.
144
+ tabIndex: isDisabled() ? undefined : p.excludeFromTabOrder ? -1 : 0,
138
145
  autoComplete: "off",
139
146
  autoCorrect: "off",
140
147
  spellCheck: "false",
@@ -44,7 +44,7 @@ export function createColorSlider(
44
44
  const p = getProps();
45
45
  if (p.channelName) return p.channelName;
46
46
  const s = getState();
47
- return s.value.getChannelName(s.channel, "en-US");
47
+ return s.value.getChannelName(s.channel, locale().locale);
48
48
  });
49
49
 
50
50
  const orientation = () => getProps().orientation ?? "horizontal";
@@ -325,7 +325,6 @@ export function createColorSlider(
325
325
  const y = orientation() === "horizontal" ? 0.5 : 1 - percent;
326
326
 
327
327
  return {
328
- role: "presentation" as const,
329
328
  onKeyDown,
330
329
  style: {
331
330
  position: "absolute" as const,
@@ -9,6 +9,7 @@ import { normalizeColor } from "@proyecto-viviana/solid-stately";
9
9
  import { useLocale } from "../i18n";
10
10
  import { createId } from "../ssr";
11
11
  import { filterDOMProps } from "../utils/filterDOMProps";
12
+ import { createColorStringFormatter } from "./intl";
12
13
  import type { AriaColorSwatchOptions, ColorSwatchAria } from "./types";
13
14
 
14
15
  /**
@@ -17,6 +18,7 @@ import type { AriaColorSwatchOptions, ColorSwatchAria } from "./types";
17
18
  export function createColorSwatch(props: Accessor<AriaColorSwatchOptions>): ColorSwatchAria {
18
19
  const getProps = () => props();
19
20
  const locale = useLocale();
21
+ const stringFormatter = createColorStringFormatter();
20
22
  const generatedId = createId();
21
23
  const id = () => getProps().id ?? generatedId;
22
24
 
@@ -28,7 +30,7 @@ export function createColorSwatch(props: Accessor<AriaColorSwatchOptions>): Colo
28
30
 
29
31
  const resolvedColor = color();
30
32
  if (resolvedColor.getChannelValue("alpha") === 0) {
31
- return "transparent";
33
+ return stringFormatter().format("transparent");
32
34
  }
33
35
 
34
36
  return resolvedColor.getColorName(locale().locale);
@@ -44,7 +46,7 @@ export function createColorSwatch(props: Accessor<AriaColorSwatchOptions>): Colo
44
46
  id: id(),
45
47
  slot: p.slot,
46
48
  role: "img" as const,
47
- "aria-roledescription": "color swatch",
49
+ "aria-roledescription": stringFormatter().format("colorSwatch"),
48
50
  "aria-label": ariaLabel,
49
51
  "aria-labelledby": p["aria-labelledby"] ? `${id()} ${p["aria-labelledby"]}` : undefined,
50
52
  style: {
@@ -290,7 +290,6 @@ export function createColorWheel(
290
290
  name: p.name,
291
291
  form: p.form,
292
292
  disabled: s.isDisabled || p.isDisabled,
293
- tabIndex: s.isDisabled || p.isDisabled ? undefined : 0,
294
293
  "aria-label":
295
294
  p["aria-label"] ??
296
295
  (p["aria-labelledby"] ? undefined : s.value.getChannelName("hue", locale().locale)),
@@ -308,11 +307,6 @@ export function createColorWheel(
308
307
  const target = e.target as HTMLInputElement;
309
308
  s.setHue(parseFloat(target.value));
310
309
  },
311
- onBlur: () => {
312
- if (s.isDragging) {
313
- s.setDragging(false);
314
- }
315
- },
316
310
  style: {
317
311
  position: "absolute" as const,
318
312
  width: "100%",
@@ -0,0 +1,316 @@
1
+ /**
2
+ * Color internationalization strings.
3
+ *
4
+ * Port of `@react-aria/color`'s intl catalog — the `colorPicker`,
5
+ * `twoDimensionalSlider`, `colorSwatch`, `transparent`, `colorNameAndValue`,
6
+ * and `colorInputLabel` messages across all 34 upstream locales. Consumed via
7
+ * `createColorStringFormatter`, mirroring upstream's
8
+ * `useLocalizedStringFormatter(intlMessages, '@react-aria/color')`.
9
+ *
10
+ * The per-locale message SEPARATORS differ (e.g. CJK `:`/`、`, French
11
+ * non-breaking ` :`), so each locale's function form is preserved
12
+ * verbatim rather than shared.
13
+ */
14
+
15
+ import type { LocalizedStrings } from "@internationalized/string";
16
+ import { createStringFormatter } from "../../i18n";
17
+
18
+ export type ColorIntlKey =
19
+ | "colorPicker"
20
+ | "twoDimensionalSlider"
21
+ | "colorSwatch"
22
+ | "transparent"
23
+ | "colorNameAndValue"
24
+ | "colorInputLabel";
25
+
26
+ export type ColorIntlVariables = {
27
+ name?: string;
28
+ value?: string;
29
+ label?: string;
30
+ channelLabel?: string;
31
+ };
32
+
33
+ type ColorIntlMessage = string | ((args: ColorIntlVariables | undefined) => string);
34
+
35
+ export const colorIntlStrings: LocalizedStrings<ColorIntlKey, ColorIntlMessage> = {
36
+ "ar-AE": {
37
+ colorPicker: "أداة انتقاء اللون",
38
+ twoDimensionalSlider: "مُنزلق 2D",
39
+ colorSwatch: "تغيير الألوان",
40
+ transparent: "شفاف",
41
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
42
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
43
+ },
44
+ "bg-BG": {
45
+ colorPicker: "Средство за избиране на цвят",
46
+ twoDimensionalSlider: "2D плъзгач",
47
+ colorSwatch: "цветна мостра",
48
+ transparent: "прозрачен",
49
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
50
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
51
+ },
52
+ "cs-CZ": {
53
+ colorPicker: "Výběr barvy",
54
+ twoDimensionalSlider: "2D posuvník",
55
+ colorSwatch: "barevný vzorek",
56
+ transparent: "průhledný",
57
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
58
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
59
+ },
60
+ "da-DK": {
61
+ colorPicker: "Farvevælger",
62
+ twoDimensionalSlider: "2D-skyder",
63
+ colorSwatch: "farveprøve",
64
+ transparent: "gennemsigtig",
65
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
66
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
67
+ },
68
+ "de-DE": {
69
+ colorPicker: "Farbwähler",
70
+ twoDimensionalSlider: "2D-Schieberegler",
71
+ colorSwatch: "Farbfeld",
72
+ transparent: "transparent",
73
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
74
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
75
+ },
76
+ "el-GR": {
77
+ colorPicker: "Επιλογέας χρωμάτων",
78
+ twoDimensionalSlider: "Ρυθμιστικό 2D",
79
+ colorSwatch: "χρωματικό δείγμα",
80
+ transparent: "διαφανές",
81
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
82
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
83
+ },
84
+ "en-US": {
85
+ colorPicker: "Color picker",
86
+ twoDimensionalSlider: "2D slider",
87
+ colorSwatch: "color swatch",
88
+ transparent: "transparent",
89
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
90
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
91
+ },
92
+ "es-ES": {
93
+ colorPicker: "Selector de color",
94
+ twoDimensionalSlider: "Regulador 2D",
95
+ colorSwatch: "muestra de color",
96
+ transparent: "transparente",
97
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
98
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
99
+ },
100
+ "et-EE": {
101
+ colorPicker: "Värvivalija",
102
+ twoDimensionalSlider: "2D-liugur",
103
+ colorSwatch: "värvinäidis",
104
+ transparent: "läbipaistev",
105
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
106
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
107
+ },
108
+ "fi-FI": {
109
+ colorPicker: "Värimuokkain",
110
+ twoDimensionalSlider: "2D-liukusäädin",
111
+ colorSwatch: "värimalli",
112
+ transparent: "läpinäkyvä",
113
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
114
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
115
+ },
116
+ "fr-FR": {
117
+ colorPicker: "Sélecteur de couleurs",
118
+ twoDimensionalSlider: "Curseur 2D",
119
+ colorSwatch: "Échantillon de couleurs",
120
+ transparent: "Transparent",
121
+ colorNameAndValue: (args) => `${args?.name} : ${args?.value}`,
122
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
123
+ },
124
+ "he-IL": {
125
+ colorPicker: "בוחר הצבעים",
126
+ twoDimensionalSlider: "מחוון דו מימדי",
127
+ colorSwatch: "דוגמית צבע",
128
+ transparent: "שקוף",
129
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
130
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
131
+ },
132
+ "hr-HR": {
133
+ colorPicker: "Odabir boje",
134
+ twoDimensionalSlider: "2D klizač",
135
+ colorSwatch: "uzorak boje",
136
+ transparent: "transparentno",
137
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
138
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
139
+ },
140
+ "hu-HU": {
141
+ colorPicker: "Színválasztó",
142
+ twoDimensionalSlider: "2D-csúszka",
143
+ colorSwatch: "színtár",
144
+ transparent: "átlátszó",
145
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
146
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
147
+ },
148
+ "it-IT": {
149
+ colorPicker: "Selettore colore",
150
+ twoDimensionalSlider: "Cursore 2D",
151
+ colorSwatch: "campione di colore",
152
+ transparent: "trasparente",
153
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
154
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
155
+ },
156
+ "ja-JP": {
157
+ colorPicker: "カラーピッカー",
158
+ twoDimensionalSlider: "2D スライダー",
159
+ colorSwatch: "カラースウォッチ",
160
+ transparent: "透明",
161
+ colorNameAndValue: (args) => `${args?.name} : ${args?.value}`,
162
+ colorInputLabel: (args) => `${args?.label}、${args?.channelLabel}`,
163
+ },
164
+ "ko-KR": {
165
+ colorPicker: "색상 피커",
166
+ twoDimensionalSlider: "2D 슬라이더",
167
+ colorSwatch: "색상 견본",
168
+ transparent: "투명도",
169
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
170
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
171
+ },
172
+ "lt-LT": {
173
+ colorPicker: "Spalvų parinkiklis",
174
+ twoDimensionalSlider: "2D slankiklis",
175
+ colorSwatch: "spalvų pavyzdys",
176
+ transparent: "skaidrus",
177
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
178
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
179
+ },
180
+ "lv-LV": {
181
+ colorPicker: "Krāsu atlasītājs",
182
+ twoDimensionalSlider: "2D slīdnis",
183
+ colorSwatch: "krāsu paraugs",
184
+ transparent: "caurspīdīgs",
185
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
186
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
187
+ },
188
+ "nb-NO": {
189
+ colorPicker: "Fargevelger",
190
+ twoDimensionalSlider: "2D-glidebryter",
191
+ colorSwatch: "fargekart",
192
+ transparent: "gjennomsiktig",
193
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
194
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
195
+ },
196
+ "nl-NL": {
197
+ colorPicker: "Kleurkiezer",
198
+ twoDimensionalSlider: "2D-schuifregelaar",
199
+ colorSwatch: "kleurstaal",
200
+ transparent: "transparant",
201
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
202
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
203
+ },
204
+ "pl-PL": {
205
+ colorPicker: "Próbnik kolorów",
206
+ twoDimensionalSlider: "Suwak 2D",
207
+ colorSwatch: "próbka koloru",
208
+ transparent: "przezroczysty",
209
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
210
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
211
+ },
212
+ "pt-BR": {
213
+ colorPicker: "Seletor de cores",
214
+ twoDimensionalSlider: "Controle deslizante 2D",
215
+ colorSwatch: "amostra de cores",
216
+ transparent: "transparente",
217
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
218
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
219
+ },
220
+ "pt-PT": {
221
+ colorPicker: "Seletor de cores",
222
+ twoDimensionalSlider: "Controle deslizante 2D",
223
+ colorSwatch: "amostra de cor",
224
+ transparent: "transparente",
225
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
226
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
227
+ },
228
+ "ro-RO": {
229
+ colorPicker: "Selector de culori",
230
+ twoDimensionalSlider: "Glisor 2D",
231
+ colorSwatch: "specimen de culoare",
232
+ transparent: "transparent",
233
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
234
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
235
+ },
236
+ "ru-RU": {
237
+ colorPicker: "Палитра цветов",
238
+ twoDimensionalSlider: "Ползунок 2D",
239
+ colorSwatch: "цветовой образец",
240
+ transparent: "прозрачный",
241
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
242
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
243
+ },
244
+ "sk-SK": {
245
+ colorPicker: "Výber farieb",
246
+ twoDimensionalSlider: "2D jazdec",
247
+ colorSwatch: "vzorkovník farieb",
248
+ transparent: "transparentný",
249
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
250
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
251
+ },
252
+ "sl-SI": {
253
+ colorPicker: "Izbirnik barv",
254
+ twoDimensionalSlider: "2D drsnik",
255
+ colorSwatch: "barvna paleta",
256
+ transparent: "prozorno",
257
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
258
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
259
+ },
260
+ "sr-SP": {
261
+ colorPicker: "Birač boja",
262
+ twoDimensionalSlider: "2D klizač",
263
+ colorSwatch: "Uzorak boje",
264
+ transparent: "providno",
265
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
266
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
267
+ },
268
+ "sv-SE": {
269
+ colorPicker: "Färgväljaren",
270
+ twoDimensionalSlider: "2D-reglage",
271
+ colorSwatch: "färgruta",
272
+ transparent: "genomskinlig",
273
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
274
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
275
+ },
276
+ "tr-TR": {
277
+ colorPicker: "Renk Seçici",
278
+ twoDimensionalSlider: "2D sürgü",
279
+ colorSwatch: "renk örneği",
280
+ transparent: "saydam",
281
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
282
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
283
+ },
284
+ "uk-UA": {
285
+ colorPicker: "Палітра кольорів",
286
+ twoDimensionalSlider: "Повзунок 2D",
287
+ colorSwatch: "зразок кольору",
288
+ transparent: "прозорий",
289
+ colorNameAndValue: (args) => `${args?.name}: ${args?.value}`,
290
+ colorInputLabel: (args) => `${args?.label}, ${args?.channelLabel}`,
291
+ },
292
+ "zh-CN": {
293
+ colorPicker: "拾色器",
294
+ twoDimensionalSlider: "2D 滑块",
295
+ colorSwatch: "颜色色板",
296
+ transparent: "透明",
297
+ colorNameAndValue: (args) => `${args?.name}:${args?.value}`,
298
+ colorInputLabel: (args) => `${args?.label}、${args?.channelLabel}`,
299
+ },
300
+ "zh-TW": {
301
+ colorPicker: "檢色器",
302
+ twoDimensionalSlider: "2D 滑桿",
303
+ colorSwatch: "色票",
304
+ transparent: "透明",
305
+ colorNameAndValue: (args) => `${args?.name}:${args?.value}`,
306
+ colorInputLabel: (args) => `${args?.label},${args?.channelLabel}`,
307
+ },
308
+ };
309
+
310
+ /**
311
+ * Reactive color string formatter for the current locale. Mirrors upstream
312
+ * `useLocalizedStringFormatter(intlMessages, '@react-aria/color')`.
313
+ */
314
+ export function createColorStringFormatter() {
315
+ return createStringFormatter(colorIntlStrings, "@react-aria/color");
316
+ }
@@ -9,6 +9,7 @@ import { isServer } from "solid-js/web";
9
9
  import { createPress } from "../interactions/createPress";
10
10
  import { createFocusRing } from "../interactions/createFocusRing";
11
11
  import { createLabel } from "../label/createLabel";
12
+ import { createLabels } from "../label/createLabels";
12
13
  import { filterDOMProps } from "../utils/filterDOMProps";
13
14
  import { mergeProps } from "../utils/mergeProps";
14
15
  import { createId } from "../ssr";
@@ -215,8 +216,14 @@ export function createComboBox<T>(
215
216
  labelElementType: "label",
216
217
  });
217
218
 
218
- // Focus ring for keyboard focus styling
219
+ // Focus ring for keyboard focus styling. `isTextInput: true` mirrors RAC's
220
+ // `<Input>` (react-aria-components Input.tsx:84-85): a text input focused via
221
+ // pointer (e.g. clicking the chevron to open) must NOT read as focus-visible,
222
+ // and typing must not flash the ring. Without it the input — and, through the
223
+ // option's activedescendant focus-visible inheritance, the highlighted option —
224
+ // paints the brighter `:focused` neutral/accent tokens on a mouse open.
219
225
  const { isFocusVisible, focusProps } = createFocusRing({
226
+ isTextInput: true,
220
227
  get autoFocus() {
221
228
  return getProps().autoFocus;
222
229
  },
@@ -670,6 +677,15 @@ export function createComboBox<T>(
670
677
  const isDisabled = p.isDisabled ?? state.isDisabled;
671
678
  const isReadOnly = p.isReadOnly ?? state.isReadOnly;
672
679
 
680
+ // Mirror useComboBox: fold the field label into the trigger's name via
681
+ // useLabels — keeps aria-label ("Show suggestions") and self-references the
682
+ // button so the accessible name resolves to "<buttonLabel> <fieldLabel>".
683
+ const triggerLabels = createLabels({
684
+ id: buttonId,
685
+ "aria-label": stringFormatter?.().format("buttonLabel") ?? "Show suggestions",
686
+ "aria-labelledby": p["aria-labelledby"] ?? labelProps.id,
687
+ });
688
+
673
689
  return mergeProps(
674
690
  pressProps as Record<string, unknown>,
675
691
  {
@@ -681,20 +697,35 @@ export function createComboBox<T>(
681
697
  "aria-controls": isOpen ? listBoxId : undefined,
682
698
  "aria-disabled": isDisabled || isReadOnly || undefined,
683
699
  disabled: isDisabled || isReadOnly || undefined,
684
- "aria-label": stringFormatter?.().format("buttonLabel") ?? "Show suggestions",
700
+ "aria-label": triggerLabels["aria-label"],
701
+ "aria-labelledby": triggerLabels["aria-labelledby"],
685
702
  "data-open": isOpen || undefined,
686
703
  "data-disabled": isDisabled || isReadOnly || undefined,
687
704
  } as Record<string, unknown>,
688
705
  ) as JSX.HTMLAttributes<HTMLElement>;
689
706
  },
690
707
  get listBoxProps() {
708
+ const p = getProps();
691
709
  const isMulti = state.selectionMode() === "multiple";
710
+ // Mirror useComboBox: name the listbox via useLabels — aria-label
711
+ // ("Suggestions") folded with the field label id (not the input id).
712
+ const boxLabels = createLabels({
713
+ id: listBoxId,
714
+ "aria-label": stringFormatter?.().format("listboxLabel") ?? "Suggestions",
715
+ "aria-labelledby": p["aria-labelledby"] ?? labelProps.id,
716
+ });
692
717
  return {
693
718
  id: listBoxId,
694
719
  role: "listbox",
695
- "aria-labelledby": inputId,
720
+ "aria-label": boxLabels["aria-label"],
721
+ "aria-labelledby": boxLabels["aria-labelledby"],
696
722
  "aria-multiselectable": isMulti || undefined,
697
- tabIndex: -1,
723
+ // No tabIndex here: useComboBox's listBoxProps never set one
724
+ // (useComboBox.ts:488-496) — the popover listbox's tabIndex flows from
725
+ // `useSelectableCollection`, which leaves it `undefined` under virtual
726
+ // focus so the container never enters the roving-focus trail. createListBox
727
+ // computes that (undefined for virtual focus); hardcoding -1 here made the
728
+ // listbox a stray `[tabindex]` node in the D5 focus snapshot.
698
729
  shouldSelectOnPressUp: true,
699
730
  shouldFocusOnHover: true,
700
731
  // Track pointerdown inside listbox to prevent blur from closing