|
| 1 | +{/* Copyright 2022 Adobe. All rights reserved. |
| 2 | +This file is licensed to you under the Apache License, Version 2.0 (the "License"); |
| 3 | +you may not use this file except in compliance with the License. You may obtain a copy |
| 4 | +of the License at http://www.apache.org/licenses/LICENSE-2.0 |
| 5 | +Unless required by applicable law or agreed to in writing, software distributed under |
| 6 | +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS |
| 7 | +OF ANY KIND, either express or implied. See the License for the specific language |
| 8 | +governing permissions and limitations under the License. */} |
| 9 | + |
| 10 | +import {BlogPostLayout, Hero} from '@react-spectrum/docs'; |
| 11 | +export default BlogPostLayout; |
| 12 | + |
| 13 | +--- |
| 14 | +description: We have been busy this month with new components and plenty of drag and drop updates. Drag and drop has moved into RC status in this release, and includes many API improvements to make common experiences even easier to build. We have also added new Badge and LabeledValue components, HelpText support to CheckBoxGroup and RadioGroup, and ContextualHelp support to all form components. |
| 15 | +date: 2022-10-04 |
| 16 | +--- |
| 17 | + |
| 18 | +# October 4, 2022 Release |
| 19 | +We have been busy this month with new components and plenty of drag and drop updates. Drag and drop has moved into RC status in this release, and includes many API improvements to make common experiences even easier to build. See [below](#drag-and-drop-updates) for more information. We have also added [Badge](https://react-spectrum.adobe.com/react-spectrum/Badge.html) and [LabeledValue](https://react-spectrum.adobe.com/react-spectrum/LabeledValue.html) in this release. Badges are handy for showing a small amount of color-categorized metadata and LabeledValue is for displaying non-editable values with a label such as in a properties panel. It also formats numbers, dates, times, and lists according to the user's locale. [CheckBoxGroup](https://react-spectrum.adobe.com/react-spectrum/CheckboxGroup.html#help-text) and [RadioGroup](https://react-spectrum.adobe.com/react-spectrum/RadioGroup.html#help-text) have also been updated to include HelpText and [ContextualHelp](https://react-spectrum.adobe.com/react-spectrum/TextField.html#contextual-help) support has been added to all form components. |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +## New Components |
| 24 | + Badge |
| 25 | + - `@react-spectrum/badge` - [Docs](https://react-spectrum.adobe.com/react-spectrum/Badge.html) |
| 26 | + |
| 27 | + LabeledValue |
| 28 | + - `@react-spectrum/labeledvalue` - [Docs](https://react-spectrum.adobe.com/react-spectrum/LabeledValue.html) |
| 29 | + |
| 30 | +## New Features |
| 31 | +* Add icon-only variant for `Button` - [@jluyau](https://github.com/jluyau) - [PR](https://github.com/adobe/react-spectrum/pull/3460) |
| 32 | +* Add HelpText to `CheckboxGroup` and `RadioGroup` - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/3527) |
| 33 | +* Add `ContextualHelp` support to all form fields - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3521) |
| 34 | +* Support nested focusable elements in `VisuallyHidden` with `isFocusable` option - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/3572) |
| 35 | + |
| 36 | + |
| 37 | +## Fixes |
| 38 | +* Disabling TableView/ListView keyboard navigation and press interactions if collection is empty - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/3422) |
| 39 | +* Focus first element in scope if `nodeToRestore` does not exist - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3385) |
| 40 | +* Fix `ActionGroup` more icon not rendering - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/3501) |
| 41 | +* Drag and drop translation update, and fix on `Picker` for Spanish - [@rgeraghty](https://github.com/rgeraghty) - [PR](https://github.com/adobe/react-spectrum/pull/3540) |
| 42 | +* Ensure checkboxes without explicit values render no `value` attribute in the DOM - [@brandonpittman](https://github.com/brandonpittman) - [PR](https://github.com/adobe/react-spectrum/pull/3554) |
| 43 | +* Fix `DatePicker` aria-live not announcing new months - [@majornista](https://github.com/majornista) - [PR](https://github.com/adobe/react-spectrum/pull/3564) |
| 44 | +* `ContextualHelp` style props - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/3542) |
| 45 | +* Fix `TableView` infinite resize issue - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/3474) |
| 46 | +* Remove extra tabstop for `TableView` when using overflow: auto in Firefox - [@ktabors](https://github.com/ktabors) - [PR](https://github.com/adobe/react-spectrum/pull/3474) |
| 47 | +* Section and header style improvements for `TableView` and `Menu` - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/3560) |
| 48 | +* Fix wrapping of field label in Safari - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3566) |
| 49 | +* Confine `TableView` sticky column issue to Chrome version 105 only - [@ktabors](https://github.com/ktabors) - [PR](https://github.com/adobe/react-spectrum/pull/3475) |
| 50 | +* `Provider` props should not disable elements inside a `Dialog` - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/3587) |
| 51 | + |
| 52 | + |
| 53 | +## Docs |
| 54 | +* Update `TextArea` docs to remove old resizing info - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/3485) |
| 55 | +* Update mentions of illustration support in `ListView` docs - [@jluyau](https://github.com/jluyau) - [PR](https://github.com/adobe/react-spectrum/pull/3486) |
| 56 | +* Add missing styled example to `useMenu` docs - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3541) |
| 57 | + |
| 58 | +## Under construction |
| 59 | +Fixes to pre-released components are listed below. Please feel free to try them out, and report any issues you encounter. |
| 60 | + |
| 61 | +* Adding utility handlers to DnD hooks to simplify implementation experience - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/3266) |
| 62 | +* Skip row contents when cycling through droppable `ListView` rows via TalkBack - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/3401) |
| 63 | +* Fix focus behavior after dropping `ListView` item - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/3369) |
| 64 | +* Handle drag and drop modifier keys more consistently across browsers - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3479) |
| 65 | +* Support `onAction` and drag and drop in `ListBox` - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3421) |
| 66 | +* Fix `ListView` drag preview density - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/3493) |
| 67 | +* Hide dragging `ListView` row from Talkback during virtual drag - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/3492) |
| 68 | +* Fix sticky drop indicator when exiting list - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3497) |
| 69 | +* Fix text truncation in mobile SearchAutocomplete - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3507) |
| 70 | +* Increase Column resize hit area - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/3414) |
| 71 | +* Update Spectrum DnD docs and rename Spectrum DnD hook - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/3548) |
| 72 | +* Add documentation for drag and drop in React Aria - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3423) |
| 73 | +* Handle dragging with NVDA/JAWS in browse mode - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/3524) |
| 74 | +* Fix root drop indicator so iOS VO can target it via swiping - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/3569) |
| 75 | +* Update simplified DnD handler api and memoize useDnDHooks - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/3533) |
| 76 | +* Focus an item after it has been dropped on - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/3549) |
| 77 | + |
| 78 | +## Drag and Drop Updates |
| 79 | + |
| 80 | +We have enhanced the drag and drop API in React Spectrum and React Aria in this release, and it is now entering RC status. This includes a few breaking changes. |
| 81 | + |
| 82 | +For React Spectrum: |
| 83 | + |
| 84 | +* useDragHooks and useDropHooks were merged into a single hook: useDragAndDrop which combines all options together, along with some new ones (see below). |
| 85 | +* The corresponding dragHooks and dropHooks props of ListView have been merged into the new dragAndDropHooks prop. |
| 86 | + |
| 87 | +For both React Spectrum and React Aria, we have added a new higher level API for drag and drop that makes it easier to build common experiences such as reordering, inserting items, dropping on folders, etc. The new options are: |
| 88 | + |
| 89 | +* onReorder |
| 90 | +* onInsert |
| 91 | +* onItemDrop |
| 92 | +* onRootDrop |
| 93 | +* acceptedDragTypes |
| 94 | +* shouldAcceptItemDrop |
| 95 | + |
| 96 | +The previous low level API is also still available, and useful for building more custom experiences. |
| 97 | + |
| 98 | +Check out the new drag and drop documentation for [React Spectrum](https://react-spectrum.adobe.com/react-spectrum/dnd.html) and [React Aria](https://react-spectrum.adobe.com/react-aria/dnd.html) to learn more. |
| 99 | + |
| 100 | +## Released packages |
| 101 | + |
| 102 | +``` |
| 103 | + |
| 104 | + |
| 105 | + |
| 106 | + |
| 107 | + |
| 108 | + |
| 109 | + |
| 110 | + |
| 111 | + |
| 112 | + |
| 113 | + |
| 114 | + |
| 115 | + |
| 116 | + |
| 117 | + |
| 118 | + |
| 119 | + |
| 120 | + |
| 121 | + |
| 122 | + |
| 123 | + |
| 124 | + |
| 125 | + |
| 126 | + |
| 127 | + |
| 128 | + |
| 129 | + |
| 130 | + |
| 131 | + |
| 132 | + |
| 133 | + |
| 134 | + |
| 135 | + |
| 136 | + |
| 137 | + |
| 138 | + |
| 139 | + |
| 140 | + |
| 141 | + |
| 142 | + |
| 143 | + |
| 144 | + |
| 145 | + |
| 146 | + |
| 147 | + |
| 148 | +- @react-spectrum/[email protected] |
| 149 | +- @react-spectrum/[email protected] |
| 150 | +- @react-spectrum/[email protected] |
| 151 | +- @react-spectrum/[email protected] |
| 152 | +- @react-spectrum/[email protected] |
| 153 | +- @react-spectrum/[email protected] |
| 154 | +- @react-spectrum/[email protected] |
| 155 | +- @react-spectrum/[email protected] |
| 156 | +- @react-spectrum/[email protected] |
| 157 | +- @react-spectrum/[email protected] |
| 158 | +- @react-spectrum/[email protected] |
| 159 | +- @react-spectrum/[email protected] |
| 160 | +- @react-spectrum/[email protected] |
| 161 | +- @react-spectrum/[email protected] |
| 162 | +- @react-spectrum/[email protected] |
| 163 | +- @react-spectrum/[email protected] |
| 164 | +- @react-spectrum/[email protected] |
| 165 | +- @react-spectrum/[email protected] |
| 166 | +- @react-spectrum/[email protected] |
| 167 | +- @react-spectrum/[email protected] |
| 168 | +- @react-spectrum/[email protected] |
| 169 | +- @react-spectrum/[email protected] |
| 170 | +- @react-spectrum/[email protected] |
| 171 | +- @react-spectrum/[email protected] |
| 172 | +- @react-spectrum/[email protected] |
| 173 | +- @react-spectrum/[email protected] |
| 174 | +- @react-spectrum/[email protected] |
| 175 | +- @react-spectrum/[email protected] |
| 176 | +- @react-spectrum/[email protected] |
| 177 | +- @react-spectrum/[email protected] |
| 178 | +- @react-spectrum/[email protected] |
| 179 | +- @react-spectrum/[email protected] |
| 180 | +- @react-spectrum/[email protected] |
| 181 | +- @react-spectrum/[email protected] |
| 182 | +- @react-spectrum/[email protected] |
| 183 | +- @react-spectrum/[email protected] |
| 184 | +- @react-spectrum/[email protected] |
| 185 | +- @react-spectrum/[email protected] |
| 186 | +- @react-spectrum/[email protected] |
| 187 | +- @react-spectrum/[email protected] |
| 188 | +- @react-spectrum/[email protected] |
| 189 | +- @react-spectrum/[email protected] |
| 190 | +- @react-spectrum/[email protected] |
| 191 | +- @react-spectrum/[email protected] |
| 192 | +- @react-spectrum/[email protected] |
| 193 | +- @react-spectrum/[email protected] |
| 194 | +- @react-spectrum/[email protected] |
| 195 | +- @react-spectrum/[email protected] |
| 196 | +- @react-spectrum/[email protected] |
| 197 | +- @react-spectrum/[email protected] |
| 198 | +- @react-spectrum/[email protected] |
| 199 | +- @react-spectrum/[email protected] |
| 200 | +- @react-spectrum/[email protected] |
| 201 | +- @react-spectrum/[email protected] |
| 202 | +- @react-stately/[email protected] |
| 203 | +- @react-stately/[email protected] |
| 204 | +- @react-stately/[email protected] |
| 205 | +- @react-stately/[email protected] |
| 206 | +- @react-stately/[email protected] |
| 207 | +- @react-stately/[email protected] |
| 208 | +- @react-stately/[email protected] |
| 209 | +- @react-stately/[email protected] |
| 210 | +- @react-stately/[email protected] |
| 211 | +- @react-stately/[email protected] |
| 212 | +- @react-stately/[email protected] |
| 213 | +- @react-stately/[email protected] |
| 214 | +- @react-stately/[email protected] |
| 215 | +- @react-stately/[email protected] |
| 216 | +- @react-stately/[email protected] |
| 217 | +- @react-stately/[email protected] |
| 218 | +- @react-stately/[email protected] |
| 219 | +- @react-stately/[email protected] |
| 220 | +- @react-stately/[email protected] |
| 221 | +- @react-stately/[email protected] |
| 222 | +- @react-stately/[email protected] |
| 223 | +- @react-stately/[email protected] |
| 224 | +- @react-stately/[email protected] |
| 225 | +- @react-stately/[email protected] |
| 226 | +- @react-stately/[email protected] |
| 227 | + |
| 228 | + |
| 229 | + |
| 230 | + |
| 231 | + |
| 232 | + |
| 233 | + |
| 234 | + |
| 235 | + |
| 236 | + |
| 237 | + |
| 238 | + |
| 239 | + |
| 240 | + |
| 241 | + |
| 242 | + |
| 243 | + |
| 244 | + |
| 245 | + |
| 246 | + |
| 247 | + |
| 248 | + |
| 249 | + |
| 250 | + |
| 251 | + |
| 252 | + |
| 253 | + |
| 254 | + |
| 255 | + |
| 256 | + |
| 257 | + |
| 258 | + |
| 259 | + |
| 260 | + |
| 261 | + |
| 262 | + |
| 263 | + |
| 264 | + |
| 265 | + |
| 266 | + |
| 267 | + |
| 268 | + |
| 269 | + |
| 270 | + |
| 271 | + |
| 272 | + |
| 273 | + |
| 274 | + |
| 275 | + |
| 276 | +- @spectrum-icons/[email protected] |
| 277 | +- @spectrum-icons/[email protected] |
| 278 | +- @spectrum-icons/[email protected] |
| 279 | +- @spectrum-icons/[email protected] |
| 280 | + |
| 281 | + |
| 282 | +``` |
0 commit comments