react-aria-components 3.0.0-nightly-77b3442e4-250522 → 3.0.0-nightly-0784c3d29-250523

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.
@@ -10,8 +10,8 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import {CollectionBranchProps, CollectionRenderer, CollectionRendererContext, CollectionRootProps} from './Collection';
14
- import {DropPosition, DropTarget, DropTargetDelegate, ItemDropTarget, Node} from '@react-types/shared';
13
+ import {CollectionBranchProps, CollectionRenderer, CollectionRendererContext, CollectionRootProps, renderAfterDropIndicators} from './Collection';
14
+ import {DropTargetDelegate, ItemDropTarget, Node} from '@react-types/shared';
15
15
  import {Layout, ReusableView, useVirtualizerState, VirtualizerState} from '@react-stately/virtualizer';
16
16
  import React, {createContext, JSX, ReactNode, useContext, useMemo} from 'react';
17
17
  import {useScrollView, VirtualizerItem} from '@react-aria/virtualizer';
@@ -137,13 +137,13 @@ function renderWrapper(
137
137
  );
138
138
 
139
139
  let {collection, layout} = reusableView.virtualizer;
140
- let {key, type} = reusableView.content!;
141
- if (type === 'item' && renderDropIndicator && layout.getDropTargetLayoutInfo) {
140
+ let node = reusableView.content!;
141
+ if (node.type === 'item' && renderDropIndicator && layout.getDropTargetLayoutInfo) {
142
142
  rendered = (
143
143
  <React.Fragment key={reusableView.key}>
144
- {renderDropIndicatorWrapper(parent, reusableView, 'before', renderDropIndicator)}
144
+ {renderDropIndicatorWrapper(parent, reusableView, {type: 'item', key: reusableView.content!.key, dropPosition: 'before'}, renderDropIndicator)}
145
145
  {rendered}
146
- {collection.getKeyAfter(key) == null && renderDropIndicatorWrapper(parent, reusableView, 'after', renderDropIndicator)}
146
+ {renderAfterDropIndicators(collection, node, target => renderDropIndicatorWrapper(parent, reusableView, target, renderDropIndicator))}
147
147
  </React.Fragment>
148
148
  );
149
149
  }
@@ -154,10 +154,9 @@ function renderWrapper(
154
154
  function renderDropIndicatorWrapper(
155
155
  parent: View | null,
156
156
  reusableView: View,
157
- dropPosition: DropPosition,
157
+ target: ItemDropTarget,
158
158
  renderDropIndicator: (target: ItemDropTarget) => ReactNode
159
159
  ) {
160
- let target: DropTarget = {type: 'item', key: reusableView.content!.key, dropPosition};
161
160
  let indicator = renderDropIndicator(target);
162
161
  if (indicator) {
163
162
  let layoutInfo = reusableView.virtualizer.layout.getDropTargetLayoutInfo!(target);