@react-spectrum/list 3.0.0-alpha.3 → 3.0.0-alpha.4
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.
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/dist/main.js +83 -36
- package/dist/main.js.map +1 -1
- package/dist/module.js +82 -36
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +14 -14
- package/src/ListView.tsx +32 -9
- package/src/ListViewItem.tsx +22 -11
- package/src/listview.css +71 -19
package/dist/module.js
CHANGED
|
@@ -4,7 +4,7 @@ import { Virtualizer } from "@react-aria/virtualizer";
|
|
|
4
4
|
import { useProvider } from "@react-spectrum/provider";
|
|
5
5
|
import { ProgressCircle } from "@react-spectrum/progress";
|
|
6
6
|
import { useLocale, useCollator, useMessageFormatter } from "@react-aria/i18n";
|
|
7
|
-
import { useHover } from "@react-aria/interactions";
|
|
7
|
+
import { useHover, usePress } from "@react-aria/interactions";
|
|
8
8
|
import { useFocusRing } from "@react-aria/focus";
|
|
9
9
|
import _react, { useContext, useRef, useMemo } from "react";
|
|
10
10
|
import { mergeProps } from "@react-aria/utils";
|
|
@@ -29,24 +29,29 @@ function $parcel$interopDefault(a) {
|
|
|
29
29
|
// ASSET: /Users/govett/dev/react-spectrum-v3/packages/@react-spectrum/list/src/listview.css
|
|
30
30
|
var $ebb597d7e6956599eca07e96d462420$exports = {};
|
|
31
31
|
$ebb597d7e6956599eca07e96d462420$exports = {
|
|
32
|
-
"react-spectrum-ListView": "_react-spectrum-
|
|
33
|
-
"react-spectrum-ListView--quiet": "_react-spectrum-ListView--
|
|
34
|
-
"react-spectrum-ListViewItem": "_react-spectrum-
|
|
35
|
-
"
|
|
36
|
-
"is-
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"react-spectrum-
|
|
44
|
-
"react-spectrum-
|
|
45
|
-
"react-spectrum-ListViewItem-
|
|
46
|
-
"react-spectrum-ListViewItem-
|
|
47
|
-
"react-spectrum-ListViewItem-
|
|
48
|
-
"react-spectrum-
|
|
49
|
-
"react-spectrum-ListViewItem-
|
|
32
|
+
"react-spectrum-ListView": "_react-spectrum-ListView_42387",
|
|
33
|
+
"react-spectrum-ListView--quiet": "_react-spectrum-ListView--quiet_42387",
|
|
34
|
+
"react-spectrum-ListViewItem": "_react-spectrum-ListViewItem_42387",
|
|
35
|
+
"react-spectrum-ListView--emphasized": "_react-spectrum-ListView--emphasized_42387",
|
|
36
|
+
"is-selected": "_is-selected_42387",
|
|
37
|
+
"is-hovered": "_is-hovered_42387",
|
|
38
|
+
"is-active": "_is-active_42387",
|
|
39
|
+
"is-previous-selected": "_is-previous-selected_42387",
|
|
40
|
+
"is-focused": "_is-focused_42387",
|
|
41
|
+
"focus-ring": "_focus-ring_42387",
|
|
42
|
+
"has-checkbox": "_has-checkbox_42387",
|
|
43
|
+
"react-spectrum-ListView--compact": "_react-spectrum-ListView--compact_42387",
|
|
44
|
+
"react-spectrum-ListView--spacious": "_react-spectrum-ListView--spacious_42387",
|
|
45
|
+
"react-spectrum-ListViewItem-grid": "_react-spectrum-ListViewItem-grid_42387",
|
|
46
|
+
"react-spectrum-ListViewItem-checkbox": "_react-spectrum-ListViewItem-checkbox_42387",
|
|
47
|
+
"react-spectrum-ListViewItem-icon": "_react-spectrum-ListViewItem-icon_42387",
|
|
48
|
+
"react-spectrum-ListViewItem-image": "_react-spectrum-ListViewItem-image_42387",
|
|
49
|
+
"react-spectrum-ListViewItem-content": "_react-spectrum-ListViewItem-content_42387",
|
|
50
|
+
"react-spectrum-ListViewItem-description": "_react-spectrum-ListViewItem-description_42387",
|
|
51
|
+
"react-spectrum-ListViewItem-actions": "_react-spectrum-ListViewItem-actions_42387",
|
|
52
|
+
"react-spectrum-ListViewItem-actionmenu": "_react-spectrum-ListViewItem-actionmenu_42387",
|
|
53
|
+
"react-spectrum-ListView-centeredWrapper": "_react-spectrum-ListView-centeredWrapper_42387",
|
|
54
|
+
"react-spectrum-ListViewItem-parentIndicator": "_react-spectrum-ListViewItem-parentIndicator_42387"
|
|
50
55
|
};
|
|
51
56
|
// ASSET: /Users/govett/dev/react-spectrum-v3/packages/@react-spectrum/list/intl/ar-AE.json
|
|
52
57
|
var $b85ce4af889dd6c3d521a587c1900ce$exports = {};
|
|
@@ -154,7 +159,9 @@ var $ebb597d7e6956599eca07e96d462420$$interop$default = $parcel$interopDefault($
|
|
|
154
159
|
|
|
155
160
|
function $ac0abb3242b77613ec5573307b88e112$export$ListViewItem(props) {
|
|
156
161
|
let {
|
|
157
|
-
item
|
|
162
|
+
item,
|
|
163
|
+
onAction,
|
|
164
|
+
isEmphasized
|
|
158
165
|
} = props;
|
|
159
166
|
let cellNode = [...item.childNodes][0];
|
|
160
167
|
let {
|
|
@@ -175,18 +182,26 @@ function $ac0abb3242b77613ec5573307b88e112$export$ListViewItem(props) {
|
|
|
175
182
|
isFocusVisible,
|
|
176
183
|
focusProps
|
|
177
184
|
} = useFocusRing();
|
|
178
|
-
let
|
|
185
|
+
let allowsInteraction = state.selectionManager.selectionMode !== 'none' || onAction;
|
|
186
|
+
let isDisabled = !allowsInteraction || state.disabledKeys.has(item.key);
|
|
179
187
|
let {
|
|
180
188
|
hoverProps,
|
|
181
189
|
isHovered
|
|
182
190
|
} = useHover({
|
|
183
191
|
isDisabled
|
|
184
192
|
});
|
|
193
|
+
let {
|
|
194
|
+
pressProps,
|
|
195
|
+
isPressed
|
|
196
|
+
} = usePress({
|
|
197
|
+
isDisabled
|
|
198
|
+
});
|
|
185
199
|
let {
|
|
186
200
|
rowProps
|
|
187
201
|
} = useGridRow({
|
|
188
202
|
node: item,
|
|
189
|
-
isVirtualized: true
|
|
203
|
+
isVirtualized: true,
|
|
204
|
+
onAction: onAction ? () => onAction(item.key) : null
|
|
190
205
|
}, state, rowRef);
|
|
191
206
|
let {
|
|
192
207
|
gridCellProps
|
|
@@ -194,7 +209,7 @@ function $ac0abb3242b77613ec5573307b88e112$export$ListViewItem(props) {
|
|
|
194
209
|
node: cellNode,
|
|
195
210
|
focusMode: 'cell'
|
|
196
211
|
}, state, cellRef);
|
|
197
|
-
const mergedProps = mergeProps(
|
|
212
|
+
const mergedProps = mergeProps(gridCellProps, hoverProps, focusWithinProps, focusProps);
|
|
198
213
|
let {
|
|
199
214
|
checkboxProps
|
|
200
215
|
} = useGridSelectionCheckbox(_babelRuntimeHelpersEsmExtends({}, props, {
|
|
@@ -212,22 +227,27 @@ function $ac0abb3242b77613ec5573307b88e112$export$ListViewItem(props) {
|
|
|
212
227
|
});
|
|
213
228
|
}
|
|
214
229
|
|
|
215
|
-
let showCheckbox = state.selectionManager.selectionMode !== 'none';
|
|
216
|
-
|
|
230
|
+
let showCheckbox = state.selectionManager.selectionMode !== 'none' && state.selectionManager.selectionBehavior === 'toggle';
|
|
231
|
+
let isSelected = state.selectionManager.isSelected(item.key);
|
|
232
|
+
return /*#__PURE__*/_react.createElement("div", _babelRuntimeHelpersEsmExtends({}, mergeProps(rowProps, pressProps), {
|
|
217
233
|
ref: rowRef
|
|
218
234
|
}), /*#__PURE__*/_react.createElement("div", _babelRuntimeHelpersEsmExtends({
|
|
219
235
|
className: classNames($ebb597d7e6956599eca07e96d462420$$interop$default, 'react-spectrum-ListViewItem', {
|
|
236
|
+
'is-active': isPressed,
|
|
220
237
|
'is-focused': isFocusVisibleWithin,
|
|
221
238
|
'focus-ring': isFocusVisible,
|
|
222
|
-
'is-hovered': isHovered
|
|
239
|
+
'is-hovered': isHovered,
|
|
240
|
+
'is-selected': isSelected,
|
|
241
|
+
'is-previous-selected': state.selectionManager.isSelected(item.prevKey),
|
|
242
|
+
'react-spectrum-ListViewItem--highlightSelection': state.selectionManager.selectionBehavior === 'replace' && (isSelected || state.selectionManager.isSelected(item.nextKey))
|
|
223
243
|
}),
|
|
224
244
|
ref: cellRef
|
|
225
|
-
},
|
|
245
|
+
}, mergedProps), /*#__PURE__*/_react.createElement(Grid, {
|
|
226
246
|
UNSAFE_className: $ebb597d7e6956599eca07e96d462420$$interop$default['react-spectrum-ListViewItem-grid']
|
|
227
247
|
}, showCheckbox && /*#__PURE__*/_react.createElement(Checkbox, _babelRuntimeHelpersEsmExtends({
|
|
228
248
|
UNSAFE_className: $ebb597d7e6956599eca07e96d462420$$interop$default['react-spectrum-ListViewItem-checkbox']
|
|
229
249
|
}, checkboxProps, {
|
|
230
|
-
isEmphasized:
|
|
250
|
+
isEmphasized: isEmphasized
|
|
231
251
|
})), /*#__PURE__*/_react.createElement(SlotProvider, {
|
|
232
252
|
slots: {
|
|
233
253
|
content: {
|
|
@@ -258,6 +278,10 @@ function $ac0abb3242b77613ec5573307b88e112$export$ListViewItem(props) {
|
|
|
258
278
|
UNSAFE_className: $ebb597d7e6956599eca07e96d462420$$interop$default['react-spectrum-ListViewItem-actions'],
|
|
259
279
|
isQuiet: true,
|
|
260
280
|
density: 'compact'
|
|
281
|
+
},
|
|
282
|
+
actionMenu: {
|
|
283
|
+
UNSAFE_className: $ebb597d7e6956599eca07e96d462420$$interop$default['react-spectrum-ListViewItem-actionmenu'],
|
|
284
|
+
isQuiet: true
|
|
261
285
|
}
|
|
262
286
|
}
|
|
263
287
|
}, typeof item.rendered === 'string' ? /*#__PURE__*/_react.createElement(Content, null, item.rendered) : item.rendered, /*#__PURE__*/_react.createElement(ClearSlots, null, chevron)))));
|
|
@@ -303,7 +327,22 @@ const $cef2d30b40f481de186f4529c10639c$var$intlMessages = {
|
|
|
303
327
|
|
|
304
328
|
const $cef2d30b40f481de186f4529c10639c$export$ListViewContext = /*#__PURE__*/_react.createContext(null);
|
|
305
329
|
|
|
306
|
-
|
|
330
|
+
const $cef2d30b40f481de186f4529c10639c$var$ROW_HEIGHTS = {
|
|
331
|
+
compact: {
|
|
332
|
+
medium: 32,
|
|
333
|
+
large: 40
|
|
334
|
+
},
|
|
335
|
+
regular: {
|
|
336
|
+
medium: 40,
|
|
337
|
+
large: 50
|
|
338
|
+
},
|
|
339
|
+
spacious: {
|
|
340
|
+
medium: 48,
|
|
341
|
+
large: 60
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
function $cef2d30b40f481de186f4529c10639c$export$useListLayout(state, density) {
|
|
307
346
|
let {
|
|
308
347
|
scale
|
|
309
348
|
} = useProvider();
|
|
@@ -312,10 +351,10 @@ function $cef2d30b40f481de186f4529c10639c$export$useListLayout(state) {
|
|
|
312
351
|
sensitivity: 'base'
|
|
313
352
|
});
|
|
314
353
|
let layout = useMemo(() => new ListLayout({
|
|
315
|
-
estimatedRowHeight: scale
|
|
354
|
+
estimatedRowHeight: $cef2d30b40f481de186f4529c10639c$var$ROW_HEIGHTS[density][scale],
|
|
316
355
|
padding: 0,
|
|
317
356
|
collator
|
|
318
|
-
}), [collator, scale]);
|
|
357
|
+
}), [collator, scale, density]);
|
|
319
358
|
layout.collection = state.collection;
|
|
320
359
|
layout.disabledKeys = state.disabledKeys;
|
|
321
360
|
return layout;
|
|
@@ -326,7 +365,8 @@ function $cef2d30b40f481de186f4529c10639c$var$ListView(props, ref) {
|
|
|
326
365
|
density = 'regular',
|
|
327
366
|
loadingState,
|
|
328
367
|
isQuiet,
|
|
329
|
-
transitionDuration = 0
|
|
368
|
+
transitionDuration = 0,
|
|
369
|
+
onAction
|
|
330
370
|
} = props;
|
|
331
371
|
let domRef = useDOMRef(ref);
|
|
332
372
|
let {
|
|
@@ -361,15 +401,19 @@ function $cef2d30b40f481de186f4529c10639c$var$ListView(props, ref) {
|
|
|
361
401
|
}))
|
|
362
402
|
}), [collection]);
|
|
363
403
|
let state = useGridState(_babelRuntimeHelpersEsmExtends({}, props, {
|
|
364
|
-
collection: gridCollection
|
|
404
|
+
collection: gridCollection,
|
|
405
|
+
focusMode: 'cell',
|
|
406
|
+
selectionBehavior: props.selectionStyle === 'highlight' ? 'replace' : 'toggle'
|
|
365
407
|
}));
|
|
366
|
-
let layout = $cef2d30b40f481de186f4529c10639c$export$useListLayout(state);
|
|
408
|
+
let layout = $cef2d30b40f481de186f4529c10639c$export$useListLayout(state, props.density || 'regular');
|
|
367
409
|
let keyboardDelegate = useMemo(() => new GridKeyboardDelegate({
|
|
368
410
|
collection: state.collection,
|
|
369
411
|
disabledKeys: state.disabledKeys,
|
|
370
412
|
ref: domRef,
|
|
371
413
|
direction,
|
|
372
414
|
collator,
|
|
415
|
+
// Focus the ListView cell instead of the row so that focus doesn't change with left/right arrow keys when there aren't any
|
|
416
|
+
// focusable children in the cell.
|
|
373
417
|
focusMode: 'cell'
|
|
374
418
|
}), [state, domRef, direction, collator]);
|
|
375
419
|
let {
|
|
@@ -396,7 +440,7 @@ function $cef2d30b40f481de186f4529c10639c$var$ListView(props, ref) {
|
|
|
396
440
|
ref: domRef,
|
|
397
441
|
focusedKey: focusedKey,
|
|
398
442
|
scrollDirection: "vertical",
|
|
399
|
-
className: classNames($ebb597d7e6956599eca07e96d462420$$interop$default, 'react-spectrum-ListView', "react-spectrum-ListView--" + density, {
|
|
443
|
+
className: classNames($ebb597d7e6956599eca07e96d462420$$interop$default, 'react-spectrum-ListView', "react-spectrum-ListView--" + density, 'react-spectrum-ListView--emphasized', {
|
|
400
444
|
'react-spectrum-ListView--quiet': isQuiet
|
|
401
445
|
}, styleProps.className),
|
|
402
446
|
layout: layout,
|
|
@@ -405,7 +449,9 @@ function $cef2d30b40f481de186f4529c10639c$var$ListView(props, ref) {
|
|
|
405
449
|
}), (type, item) => {
|
|
406
450
|
if (type === 'item') {
|
|
407
451
|
return /*#__PURE__*/_react.createElement($ac0abb3242b77613ec5573307b88e112$export$ListViewItem, {
|
|
408
|
-
item: item
|
|
452
|
+
item: item,
|
|
453
|
+
onAction: onAction,
|
|
454
|
+
isEmphasized: true
|
|
409
455
|
});
|
|
410
456
|
} else if (type === 'loader') {
|
|
411
457
|
return /*#__PURE__*/_react.createElement($cef2d30b40f481de186f4529c10639c$var$CenteredWrapper, null, /*#__PURE__*/_react.createElement(ProgressCircle, {
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./packages/@react-spectrum/list/src/listview.css","./packages/@react-spectrum/list/intl/ar-AE.json","./packages/@react-spectrum/list/intl/bg-BG.json","./packages/@react-spectrum/list/intl/cs-CZ.json","./packages/@react-spectrum/list/intl/da-DK.json","./packages/@react-spectrum/list/intl/de-DE.json","./packages/@react-spectrum/list/intl/el-GR.json","./packages/@react-spectrum/list/intl/en-US.json","./packages/@react-spectrum/list/intl/es-ES.json","./packages/@react-spectrum/list/intl/et-EE.json","./packages/@react-spectrum/list/intl/fi-FI.json","./packages/@react-spectrum/list/intl/fr-FR.json","./packages/@react-spectrum/list/intl/he-IL.json","./packages/@react-spectrum/list/intl/hr-HR.json","./packages/@react-spectrum/list/intl/hu-HU.json","./packages/@react-spectrum/list/intl/it-IT.json","./packages/@react-spectrum/list/intl/ja-JP.json","./packages/@react-spectrum/list/intl/ko-KR.json","./packages/@react-spectrum/list/intl/lt-LT.json","./packages/@react-spectrum/list/intl/lv-LV.json","./packages/@react-spectrum/list/intl/nb-NO.json","./packages/@react-spectrum/list/intl/nl-NL.json","./packages/@react-spectrum/list/intl/pl-PL.json","./packages/@react-spectrum/list/intl/pt-BR.json","./packages/@react-spectrum/list/intl/pt-PT.json","./packages/@react-spectrum/list/intl/ro-RO.json","./packages/@react-spectrum/list/intl/ru-RU.json","./packages/@react-spectrum/list/intl/sk-SK.json","./packages/@react-spectrum/list/intl/sl-SI.json","./packages/@react-spectrum/list/intl/sr-SP.json","./packages/@react-spectrum/list/intl/sv-SE.json","./packages/@react-spectrum/list/intl/tr-TR.json","./packages/@react-spectrum/list/intl/uk-UA.json","./packages/@react-spectrum/list/intl/zh-CN.json","./packages/@react-spectrum/list/intl/zh-TW.json","./packages/@react-spectrum/list/src/ListViewItem.tsx","./packages/@react-spectrum/list/src/ListView.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","\n:root {\n --spectrum-listview-item-compact-padding-y: var(--spectrum-global-dimension-size-50);\n --spectrum-listview-item-regular-padding-y: var(--spectrum-global-dimension-size-75);\n --spectrum-listview-item-spacious-padding-y: var(--spectrum-global-dimension-size-100);\n}\n\n.react-spectrum-ListView {\n box-sizing: border-box;\n border-color: var(--spectrum-table-border-color, var(--spectrum-alias-border-color-mid));\n border-style: solid;\n position: relative;\n border-width: var(--spectrum-table-border-size, var(--spectrum-alias-border-size-thin));\n border-radius: var(--spectrum-table-border-radius, var(--spectrum-alias-border-radius-regular));\n overflow: auto;\n vertical-align: var(--spectrum-table-cell-vertical-alignment);\n border-collapse: separate;\n border-spacing: 0;\n transform: translate3d(0, 0, 0);\n padding: 0;\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n outline: 0;\n}\n\n.react-spectrum-ListView--quiet {\n background-color: var(--spectrum-alias-background-color-transparent);\n border-width: 0;\n}\n\n.react-spectrum-ListViewItem {\n display: grid; /* TODO: define grid areas */\n border-bottom: 1px solid var(--spectrum-tabel-cell-border-color, var(--spectrum-global-color-gray-300));\n box-sizing: border-box;\n font-size: var(--spectrum-table-cell-text-size, var(--spectrum-alias-font-size-default));\n font-weight: var(--spectrum-table-cell-text-font-weight, var(--spectrum-global-font-weight-regular));\n line-height: calc(var(--spectrum-table-cell-text-size, var(--spectrum-alias-font-size-default)) * var(--spectrum-table-cell-text-line-height, var(--spectrum-alias-body-text-line-height)) - 1px);\n padding: var(--spectrum-listview-item-regular-padding-y) var(--spectrum-global-dimension-size-150);\n transition: background-color var(--spectrum-global-animation-duration-100) ease-in-out;\n position: relative;\n /*background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));*/\n color: var(--spectrum-table-cell-text-color, var(--spectrum-alias-text-color));\n outline: 0;\n\n .react-spectrum-ListView--quiet & {\n border-bottom: 0;\n }\n\n &.is-hovered,\n &.is-focused {\n background-color: var(--spectrum-table-row-background-color-hover);\n\n .react-spectrum-ListView--quiet & {\n border-radius: var(--spectrum-table-border-radius, var(--spectrum-alias-border-radius-regular));\n }\n }\n\n &:focus-ring {\n background-color: var(--spectrum-table-row-background-color-hover);\n box-shadow: inset 0 0 0 2px var(--spectrum-table-cell-border-color-key-focus);\n border-radius: var(--spectrum-table-cell-border-radius-key-focus);\n }\n}\n\n.react-spectrum-ListViewItem-selected {\n background-color: var(--spectrum-table-row-background-color-selected, var(--spectrum-alias-highlight-selected));\n &.is-hovered {\n background-color: var(--spectrum-table-quiet-row-background-color-selected-hover);\n }\n}\n\n.react-spectrum-ListView--compact .react-spectrum-ListViewItem {\n padding-top: var(--spectrum-listview-item-compact-padding-y);\n padding-bottom: var(--spectrum-listview-item-compact-padding-y);\n}\n\n.react-spectrum-ListView--spacious .react-spectrum-ListViewItem {\n padding-top: var(--spectrum-listview-item-spacious-padding-y);\n padding-bottom: var(--spectrum-listview-item-spacious-padding-y);\n}\n\n.react-spectrum-ListViewItem-grid {\n display: grid;\n grid-template-columns: auto auto auto 1fr auto auto;\n grid-template-rows: 1fr auto;\n grid-template-areas:\n \"checkbox icon image content actions chevron\"\n \"checkbox icon image description actions chevron\"\n ;\n align-items: center;\n}\n\n.react-spectrum-ListViewItem-checkbox {\n grid-area: checkbox;\n align-items: center;\n justify-items: center;\n}\n\n.react-spectrum-ListViewItem-icon,\n.react-spectrum-ListViewItem-image {\n grid-area: image;\n align-items: center;\n justify-items: center;\n\n [dir=\"ltr\"] & {\n padding-right: var(--spectrum-global-dimension-size-100);\n }\n [dir=\"rtl\"] & {\n padding-left: var(--spectrum-global-dimension-size-100);\n }\n}\n\n.react-spectrum-ListViewItem-image {\n border-radius: var(--spectrum-global-dimension-size-25);\n width: var(--spectrum-global-dimension-size-400);\n height: var(--spectrum-global-dimension-size-400);\n}\n\n.react-spectrum-ListViewItem-content,\n.react-spectrum-ListViewItem-description {\n flex-grow: 1;\n}\n\n.react-spectrum-ListViewItem-content {\n grid-area: content;\n}\n\n.react-spectrum-ListViewItem-description {\n grid-area: description;\n}\n\n.react-spectrum-ListViewItem-actions {\n grid-area: actions;\n flex-grow: 0;\n flex-shrink: 0;\n}\n\n.react-spectrum-ListView-centeredWrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.react-spectrum-ListViewItem-parentIndicator {\n grid-area: chevron;\n\n [dir=\"ltr\"] & {\n padding-left: var(--spectrum-global-dimension-size-75);\n }\n [dir=\"rtl\"] & {\n padding-right: var(--spectrum-global-dimension-size-75);\n }\n}\n","{\n \"loading\": \"جارٍ التحميل...\",\n \"loadingMore\": \"جارٍ تحميل المزيد...\"\n}\n","{\n \"loading\": \"Зареждане...\",\n \"loadingMore\": \"Зареждане на още...\"\n}\n","{\n \"loading\": \"Načítání...\",\n \"loadingMore\": \"Načítání dalších...\"\n}\n","{\n \"loading\": \"Indlæser...\",\n \"loadingMore\": \"Indlæser flere...\"\n}\n","{\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Mehr laden ...\"\n}\n","{\n \"loading\": \"Φόρτωση...\",\n \"loadingMore\": \"Φόρτωση περισσότερων...\"\n}\n","{\n \"loading\": \"Loading…\",\n \"loadingMore\": \"Loading more…\"\n}\n","{\n \"loading\": \"Cargando…\",\n \"loadingMore\": \"Cargando más…\"\n}\n","{\n \"loading\": \"Laadimine...\",\n \"loadingMore\": \"Laadi rohkem...\"\n}\n","{\n \"loading\": \"Ladataan…\",\n \"loadingMore\": \"Ladataan lisää…\"\n}\n","{\n \"loading\": \"Chargement...\",\n \"loadingMore\": \"Chargement supplémentaire...\"\n}\n","{\n \"loading\": \"טוען...\",\n \"loadingMore\": \"טוען עוד...\"\n}\n","{\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\"\n}\n","{\n \"loading\": \"Betöltés folyamatban…\",\n \"loadingMore\": \"Továbbiak betöltése folyamatban…\"\n}\n","{\n \"loading\": \"Caricamento...\",\n \"loadingMore\": \"Caricamento altri...\"\n}\n","{\n \"loading\": \"読み込み中...\",\n \"loadingMore\": \"さらに読み込み中...\"\n}\n","{\n \"loading\": \"로드 중…\",\n \"loadingMore\": \"추가 로드 중…\"\n}\n","{\n \"loading\": \"Įkeliama...\",\n \"loadingMore\": \"Įkeliama daugiau...\"\n}\n","{\n \"loading\": \"Notiek ielāde...\",\n \"loadingMore\": \"Tiek ielādēts vēl...\"\n}\n","{\n \"loading\": \"Laster inn ...\",\n \"loadingMore\": \"Laster inn flere ...\"\n}\n","{\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Meer laden...\"\n}\n","{\n \"loading\": \"Ładowanie...\",\n \"loadingMore\": \"Wczytywanie większej liczby...\"\n}\n","{\n \"loading\": \"Carregando...\",\n \"loadingMore\": \"Carregando mais...\"\n}\n","{\n \"loading\": \"A carregar...\",\n \"loadingMore\": \"A carregar mais...\"\n}\n","{\n \"loading\": \"Se încarcă...\",\n \"loadingMore\": \"Se încarcă mai multe...\"\n}\n","{\n \"loading\": \"Загрузка...\",\n \"loadingMore\": \"Дополнительная загрузка...\"\n}\n","{\n \"loading\": \"Načítava sa...\",\n \"loadingMore\": \"Načítava sa viac...\"\n}\n","{\n \"loading\": \"Nalaganje ...\",\n \"loadingMore\": \"Nalaganje več vsebine ...\"\n}\n","{\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\"\n}\n","{\n \"loading\": \"Läser in...\",\n \"loadingMore\": \"Läser in mer...\"\n}\n","{\n \"loading\": \"Yükleniyor...\",\n \"loadingMore\": \"Daha fazla yükleniyor...\"\n}\n","{\n \"loading\": \"Завантаження…\",\n \"loadingMore\": \"Завантаження інших об’єктів...\"\n}\n","{\n \"loading\": \"正在加载...\",\n \"loadingMore\": \"正在加载更多...\"\n}\n","{\n \"loading\": \"載入中…\",\n \"loadingMore\": \"正在載入更多…\"\n}\n","/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {Checkbox} from '@react-spectrum/checkbox';\nimport ChevronLeftMedium from '@spectrum-icons/ui/ChevronLeftMedium';\nimport ChevronRightMedium from '@spectrum-icons/ui/ChevronRightMedium';\nimport {classNames, ClearSlots, SlotProvider} from '@react-spectrum/utils';\nimport {Content} from '@react-spectrum/view';\nimport {Grid} from '@react-spectrum/layout';\nimport listStyles from './listview.css';\nimport {ListViewContext} from './ListView';\nimport {mergeProps} from '@react-aria/utils';\nimport React, {useContext, useRef} from 'react';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useGridCell, useGridRow, useGridSelectionCheckbox} from '@react-aria/grid';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\n\nexport function ListViewItem(props) {\n let {\n item\n } = props;\n let cellNode = [...item.childNodes][0];\n let {state} = useContext(ListViewContext);\n let {direction} = useLocale();\n let rowRef = useRef<HTMLDivElement>();\n let cellRef = useRef<HTMLDivElement>();\n let {\n isFocusVisible: isFocusVisibleWithin,\n focusProps: focusWithinProps\n } = useFocusRing({within: true});\n let {isFocusVisible, focusProps} = useFocusRing();\n let isDisabled = state.disabledKeys.has(item.key);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let {rowProps} = useGridRow({\n node: item,\n isVirtualized: true\n }, state, rowRef);\n let {gridCellProps} = useGridCell({\n node: cellNode,\n focusMode: 'cell'\n }, state, cellRef);\n const mergedProps = mergeProps(\n rowProps,\n hoverProps,\n focusWithinProps,\n focusProps\n );\n let {checkboxProps} = useGridSelectionCheckbox({...props, key: item.key}, state);\n\n let chevron = null;\n if (item.props.hasChildItems) {\n chevron = direction === 'ltr'\n ? (\n <ChevronRightMedium\n aria-hidden=\"true\"\n UNSAFE_className={listStyles['react-spectrum-ListViewItem-parentIndicator']} />\n )\n : (\n <ChevronLeftMedium\n aria-hidden=\"true\"\n UNSAFE_className={listStyles['react-spectrum-ListViewItem-parentIndicator']} />\n );\n }\n\n let showCheckbox = state.selectionManager.selectionMode !== 'none';\n return (\n <div\n {...mergedProps}\n ref={rowRef}>\n <div\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem',\n {\n 'is-focused': isFocusVisibleWithin,\n 'focus-ring': isFocusVisible,\n 'is-hovered': isHovered\n }\n )\n }\n ref={cellRef}\n {...gridCellProps}>\n <Grid UNSAFE_className={listStyles['react-spectrum-ListViewItem-grid']}>\n {showCheckbox && (\n <Checkbox\n UNSAFE_className={listStyles['react-spectrum-ListViewItem-checkbox']}\n {...checkboxProps}\n isEmphasized />\n )}\n <SlotProvider\n slots={{\n content: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content']},\n text: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content']},\n description: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-description']},\n icon: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-icon'], size: 'M'},\n image: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-image']},\n link: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content'], isQuiet: true},\n actionButton: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'], isQuiet: true},\n actionGroup: {\n UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'],\n isQuiet: true,\n density: 'compact'\n }\n }}>\n {typeof item.rendered === 'string' ? <Content>{item.rendered}</Content> : item.rendered}\n <ClearSlots>\n {chevron}\n </ClearSlots>\n </SlotProvider>\n </Grid>\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {\n AriaLabelingProps,\n CollectionBase,\n DOMProps,\n DOMRef,\n LoadingState,\n MultipleSelection,\n StyleProps\n} from '@react-types/shared';\nimport {classNames, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {GridCollection, useGridState} from '@react-stately/grid';\nimport {GridKeyboardDelegate, useGrid} from '@react-aria/grid';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {ListLayout} from '@react-stately/layout';\nimport {ListState, useListState} from '@react-stately/list';\nimport listStyles from './listview.css';\nimport {ListViewItem} from './ListViewItem';\nimport {ProgressCircle} from '@react-spectrum/progress';\nimport React, {ReactElement, useContext, useMemo} from 'react';\nimport {useCollator, useLocale, useMessageFormatter} from '@react-aria/i18n';\nimport {useProvider} from '@react-spectrum/provider';\nimport {Virtualizer} from '@react-aria/virtualizer';\n\n\nexport const ListViewContext = React.createContext(null);\n\nexport function useListLayout<T>(state: ListState<T>) {\n let {scale} = useProvider();\n let collator = useCollator({usage: 'search', sensitivity: 'base'});\n let layout = useMemo(() =>\n new ListLayout<T>({\n estimatedRowHeight: scale === 'large' ? 40 : 32,\n padding: 0,\n collator\n })\n , [collator, scale]);\n\n layout.collection = state.collection;\n layout.disabledKeys = state.disabledKeys;\n return layout;\n}\n\ninterface ListViewProps<T> extends CollectionBase<T>, DOMProps, AriaLabelingProps, StyleProps, MultipleSelection {\n /**\n * Sets the amount of vertical padding within each cell.\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious',\n isQuiet?: boolean,\n loadingState?: LoadingState,\n renderEmptyState?: () => JSX.Element,\n transitionDuration?: number\n}\n\nfunction ListView<T extends object>(props: ListViewProps<T>, ref: DOMRef<HTMLDivElement>) {\n let {\n density = 'regular',\n loadingState,\n isQuiet,\n transitionDuration = 0\n } = props;\n let domRef = useDOMRef(ref);\n let {collection} = useListState(props);\n let formatMessage = useMessageFormatter(intlMessages);\n\n let {styleProps} = useStyleProps(props);\n let {direction} = useLocale();\n let collator = useCollator({usage: 'search', sensitivity: 'base'});\n let gridCollection = useMemo(() => new GridCollection({\n columnCount: 1,\n items: [...collection].map(item => ({\n ...item,\n hasChildNodes: true,\n childNodes: [{\n key: `cell-${item.key}`,\n type: 'cell',\n index: 0,\n value: null,\n level: 0,\n rendered: null,\n textValue: item.textValue,\n hasChildNodes: false,\n childNodes: []\n }]\n }))\n }), [collection]);\n let state = useGridState({\n ...props,\n collection: gridCollection\n });\n let layout = useListLayout(state);\n let keyboardDelegate = useMemo(() => new GridKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.disabledKeys,\n ref: domRef,\n direction,\n collator,\n focusMode: 'cell'\n }), [state, domRef, direction, collator]);\n let {gridProps} = useGrid({\n ...props,\n isVirtualized: true,\n keyboardDelegate\n }, state, domRef);\n\n // Sync loading state into the layout.\n layout.isLoading = loadingState === 'loading';\n\n let focusedKey = state.selectionManager.focusedKey;\n let focusedItem = gridCollection.getItem(state.selectionManager.focusedKey);\n if (focusedItem?.parentKey != null) {\n focusedKey = focusedItem.parentKey;\n }\n\n return (\n <ListViewContext.Provider value={{state, keyboardDelegate}}>\n <Virtualizer\n {...gridProps}\n {...styleProps}\n ref={domRef}\n focusedKey={focusedKey}\n scrollDirection=\"vertical\"\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListView',\n `react-spectrum-ListView--${density}`,\n {\n 'react-spectrum-ListView--quiet': isQuiet\n },\n styleProps.className\n )\n }\n layout={layout}\n collection={gridCollection}\n transitionDuration={transitionDuration}>\n {(type, item) => {\n if (type === 'item') {\n return (\n <ListViewItem item={item} />\n );\n } else if (type === 'loader') {\n return (\n <CenteredWrapper>\n <ProgressCircle\n isIndeterminate\n aria-label={state.collection.size > 0 ? formatMessage('loadingMore') : formatMessage('loading')} />\n </CenteredWrapper>\n );\n } else if (type === 'placeholder') {\n let emptyState = props.renderEmptyState ? props.renderEmptyState() : null;\n if (emptyState == null) {\n return null;\n }\n\n return (\n <CenteredWrapper>\n {emptyState}\n </CenteredWrapper>\n );\n }\n\n }}\n </Virtualizer>\n </ListViewContext.Provider>\n );\n}\n\n\nfunction CenteredWrapper({children}) {\n let {state} = useContext(ListViewContext);\n return (\n <div\n role=\"row\"\n aria-rowindex={state.collection.size + 1}\n className={classNames(listStyles, 'react-spectrum-ListView-centeredWrapper')}>\n <div role=\"gridcell\">\n {children}\n </div>\n </div>\n );\n}\n\nconst _ListView = React.forwardRef(ListView) as <T>(props: ListViewProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_ListView as ListView};\n"],"names":["$parcel$interopDefault","a","__esModule","default","JSON","parse","ListViewItem","props","item","cellNode","childNodes","state","useContext","direction","useLocale","rowRef","useRef","cellRef","isFocusVisible","isFocusVisibleWithin","focusProps","focusWithinProps","useFocusRing","within","isDisabled","disabledKeys","has","key","hoverProps","isHovered","useHover","rowProps","useGridRow","node","isVirtualized","gridCellProps","useGridCell","focusMode","mergedProps","mergeProps","checkboxProps","useGridSelectionCheckbox","chevron","hasChildItems","showCheckbox","selectionManager","selectionMode","classNames","content","UNSAFE_className","text","description","icon","size","image","link","isQuiet","actionButton","actionGroup","density","rendered","ListViewContext","React","createContext","useListLayout","scale","useProvider","collator","useCollator","usage","sensitivity","layout","useMemo","ListLayout","estimatedRowHeight","padding","collection","ListView","ref","loadingState","transitionDuration","domRef","useDOMRef","useListState","formatMessage","useMessageFormatter","intlMessages","styleProps","useStyleProps","gridCollection","GridCollection","columnCount","items","map","hasChildNodes","type","index","value","level","textValue","useGridState","keyboardDelegate","GridKeyboardDelegate","gridProps","useGrid","isLoading","focusedKey","focusedItem","getItem","parentKey","className","emptyState","renderEmptyState","CenteredWrapper","children","_ListView","forwardRef"],"version":3,"file":"module.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./packages/@react-spectrum/list/src/listview.css","./packages/@react-spectrum/list/intl/ar-AE.json","./packages/@react-spectrum/list/intl/bg-BG.json","./packages/@react-spectrum/list/intl/cs-CZ.json","./packages/@react-spectrum/list/intl/da-DK.json","./packages/@react-spectrum/list/intl/de-DE.json","./packages/@react-spectrum/list/intl/el-GR.json","./packages/@react-spectrum/list/intl/en-US.json","./packages/@react-spectrum/list/intl/es-ES.json","./packages/@react-spectrum/list/intl/et-EE.json","./packages/@react-spectrum/list/intl/fi-FI.json","./packages/@react-spectrum/list/intl/fr-FR.json","./packages/@react-spectrum/list/intl/he-IL.json","./packages/@react-spectrum/list/intl/hr-HR.json","./packages/@react-spectrum/list/intl/hu-HU.json","./packages/@react-spectrum/list/intl/it-IT.json","./packages/@react-spectrum/list/intl/ja-JP.json","./packages/@react-spectrum/list/intl/ko-KR.json","./packages/@react-spectrum/list/intl/lt-LT.json","./packages/@react-spectrum/list/intl/lv-LV.json","./packages/@react-spectrum/list/intl/nb-NO.json","./packages/@react-spectrum/list/intl/nl-NL.json","./packages/@react-spectrum/list/intl/pl-PL.json","./packages/@react-spectrum/list/intl/pt-BR.json","./packages/@react-spectrum/list/intl/pt-PT.json","./packages/@react-spectrum/list/intl/ro-RO.json","./packages/@react-spectrum/list/intl/ru-RU.json","./packages/@react-spectrum/list/intl/sk-SK.json","./packages/@react-spectrum/list/intl/sl-SI.json","./packages/@react-spectrum/list/intl/sr-SP.json","./packages/@react-spectrum/list/intl/sv-SE.json","./packages/@react-spectrum/list/intl/tr-TR.json","./packages/@react-spectrum/list/intl/uk-UA.json","./packages/@react-spectrum/list/intl/zh-CN.json","./packages/@react-spectrum/list/intl/zh-TW.json","./packages/@react-spectrum/list/src/ListViewItem.tsx","./packages/@react-spectrum/list/src/ListView.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","\n:root {\n --spectrum-listview-item-compact-padding-y: var(--spectrum-global-dimension-size-50);\n --spectrum-listview-item-regular-padding-y: var(--spectrum-global-dimension-size-75);\n --spectrum-listview-item-spacious-padding-y: var(--spectrum-global-dimension-size-100);\n --spectrum-listview-border-width: var(--spectrum-table-border-size, var(--spectrum-alias-border-size-thin));\n --spectrum-listview-border-radius: var(--spectrum-table-border-radius, var(--spectrum-alias-border-radius-regular));\n --spectrum-listview-item-start-end-border-radius: calc(var(--spectrum-listview-border-radius) - var(--spectrum-listview-border-width));\n}\n\n.react-spectrum-ListView {\n box-sizing: border-box;\n border-color: var(--spectrum-table-border-color, var(--spectrum-alias-border-color-mid));\n border-style: solid;\n position: relative;\n border-width: var(--spectrum-listview-border-width);\n border-radius: var(--spectrum-listview-border-radius);\n overflow: auto;\n vertical-align: var(--spectrum-table-cell-vertical-alignment);\n border-collapse: separate;\n border-spacing: 0;\n transform: translate3d(0, 0, 0);\n padding: 0;\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n outline: 0;\n\n [role=\"row\"] {\n outline: none;\n }\n}\n\n.react-spectrum-ListView--quiet {\n background-color: var(--spectrum-alias-background-color-transparent);\n border-width: 0;\n}\n\n.react-spectrum-ListViewItem {\n display: grid; /* TODO: define grid areas */\n border: 1px solid transparent;\n border-bottom-color: var(--spectrum-table-cell-border-color, var(--spectrum-global-color-gray-300));\n box-sizing: border-box;\n font-size: var(--spectrum-table-cell-text-size, var(--spectrum-alias-font-size-default));\n font-weight: var(--spectrum-table-cell-text-font-weight, var(--spectrum-global-font-weight-regular));\n line-height: calc(var(--spectrum-table-cell-text-size, var(--spectrum-alias-font-size-default)) * var(--spectrum-table-cell-text-line-height, var(--spectrum-alias-body-text-line-height)) - 1px);\n padding: var(--spectrum-listview-item-regular-padding-y) var(--spectrum-global-dimension-size-150);\n transition: background-color var(--spectrum-global-animation-duration-100) ease-in-out;\n position: relative;\n /*background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));*/\n color: var(--spectrum-table-cell-text-color, var(--spectrum-alias-text-color));\n outline: 0;\n min-height: var(--spectrum-global-dimension-size-500);\n\n .react-spectrum-ListView--emphasized & {\n &.is-selected {\n background-color: var(--spectrum-table-row-background-color-selected);\n border-color: var(--spectrum-global-color-blue-500);\n &.is-hovered,\n &.is-active {\n background-color: var(--spectrum-table-row-background-color-selected);\n }\n\n /* avoid double border for adjacent selected items */\n &.is-previous-selected { \n &:not(.is-focused) {\n border-top-color: transparent;\n }\n }\n }\n }\n\n &.is-hovered,\n &.is-focused {\n background-color: var(--spectrum-table-row-background-color-hover);\n }\n\n &:focus-ring {\n background-color: var(--spectrum-table-row-background-color-hover);\n box-shadow: inset 0 0 0 1px var(--spectrum-table-cell-border-color-key-focus);\n border-color: var(--spectrum-global-color-blue-500);\n }\n\n &.is-active {\n background-color: var(--spectrum-table-row-background-color-down);\n }\n\n &.is-selected {\n background-color: var(--spectrum-table-row-background-color-hover);\n\n &.is-hovered,\n &.is-active {\n background-color: var(--spectrum-table-row-background-color-hover);\n }\n }\n\n &.has-checkbox {\n /* have to eliminate vertical padding to allow proper vertical alignment */\n padding-top: 0px;\n padding-bottom: 0px;\n }\n \n /* give first and last items border-radius to match listview container */\n div:first-child > div[role=\"row\"] > & {\n border-start-start-radius: var(--spectrum-listview-item-start-end-border-radius);\n border-start-end-radius: var(--spectrum-listview-item-start-end-border-radius);\n }\n div:last-child > div[role=\"row\"] > & {\n border-end-start-radius: var(--spectrum-listview-item-start-end-border-radius);\n border-end-end-radius: var(--spectrum-listview-item-start-end-border-radius);\n }\n}\n\n.react-spectrum-ListView--compact .react-spectrum-ListViewItem {\n padding-top: var(--spectrum-listview-item-compact-padding-y);\n padding-bottom: var(--spectrum-listview-item-compact-padding-y);\n min-height: var(--spectrum-global-dimension-size-400);\n}\n\n.react-spectrum-ListView--spacious .react-spectrum-ListViewItem {\n padding-top: var(--spectrum-listview-item-spacious-padding-y);\n padding-bottom: var(--spectrum-listview-item-spacious-padding-y);\n min-height: var(--spectrum-global-dimension-size-600);\n}\n\n.react-spectrum-ListViewItem-grid {\n display: grid;\n grid-template-columns: auto auto auto 1fr auto auto;\n grid-template-rows: 1fr auto;\n grid-template-areas:\n \"checkbox icon image content actions actionmenu chevron\"\n \"checkbox icon image description actions actionmenu chevron\"\n ;\n align-items: center;\n}\n\n.react-spectrum-ListViewItem-checkbox {\n grid-area: checkbox;\n align-items: center;\n justify-items: center;\n min-height: 0;\n height: 100%;\n > span {\n margin: 0;\n }\n}\n\n.react-spectrum-ListViewItem-icon,\n.react-spectrum-ListViewItem-image {\n grid-area: image;\n align-items: center;\n justify-items: center;\n\n [dir=\"ltr\"] & {\n padding-right: var(--spectrum-global-dimension-size-100);\n }\n [dir=\"rtl\"] & {\n padding-left: var(--spectrum-global-dimension-size-100);\n }\n}\n\n.react-spectrum-ListViewItem-image {\n border-radius: var(--spectrum-global-dimension-size-25);\n width: var(--spectrum-global-dimension-size-400);\n height: var(--spectrum-global-dimension-size-400);\n}\n\n.react-spectrum-ListViewItem-content,\n.react-spectrum-ListViewItem-description {\n flex-grow: 1;\n}\n\n.react-spectrum-ListViewItem-content {\n grid-area: content;\n}\n\n.react-spectrum-ListViewItem-description {\n grid-area: description;\n}\n\n.react-spectrum-ListViewItem-actions {\n grid-area: actions;\n flex-grow: 0;\n flex-shrink: 0;\n}\n\n.react-spectrum-ListViewItem-actionmenu {\n grid-area: actionmenu;\n}\n\n.react-spectrum-ListView-centeredWrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.react-spectrum-ListViewItem-parentIndicator {\n grid-area: chevron;\n\n [dir=\"ltr\"] & {\n padding-left: var(--spectrum-global-dimension-size-75);\n }\n [dir=\"rtl\"] & {\n padding-right: var(--spectrum-global-dimension-size-75);\n }\n}\n","{\n \"loading\": \"جارٍ التحميل...\",\n \"loadingMore\": \"جارٍ تحميل المزيد...\"\n}\n","{\n \"loading\": \"Зареждане...\",\n \"loadingMore\": \"Зареждане на още...\"\n}\n","{\n \"loading\": \"Načítání...\",\n \"loadingMore\": \"Načítání dalších...\"\n}\n","{\n \"loading\": \"Indlæser...\",\n \"loadingMore\": \"Indlæser flere...\"\n}\n","{\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Mehr laden ...\"\n}\n","{\n \"loading\": \"Φόρτωση...\",\n \"loadingMore\": \"Φόρτωση περισσότερων...\"\n}\n","{\n \"loading\": \"Loading…\",\n \"loadingMore\": \"Loading more…\"\n}\n","{\n \"loading\": \"Cargando…\",\n \"loadingMore\": \"Cargando más…\"\n}\n","{\n \"loading\": \"Laadimine...\",\n \"loadingMore\": \"Laadi rohkem...\"\n}\n","{\n \"loading\": \"Ladataan…\",\n \"loadingMore\": \"Ladataan lisää…\"\n}\n","{\n \"loading\": \"Chargement...\",\n \"loadingMore\": \"Chargement supplémentaire...\"\n}\n","{\n \"loading\": \"טוען...\",\n \"loadingMore\": \"טוען עוד...\"\n}\n","{\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\"\n}\n","{\n \"loading\": \"Betöltés folyamatban…\",\n \"loadingMore\": \"Továbbiak betöltése folyamatban…\"\n}\n","{\n \"loading\": \"Caricamento...\",\n \"loadingMore\": \"Caricamento altri...\"\n}\n","{\n \"loading\": \"読み込み中...\",\n \"loadingMore\": \"さらに読み込み中...\"\n}\n","{\n \"loading\": \"로드 중…\",\n \"loadingMore\": \"추가 로드 중…\"\n}\n","{\n \"loading\": \"Įkeliama...\",\n \"loadingMore\": \"Įkeliama daugiau...\"\n}\n","{\n \"loading\": \"Notiek ielāde...\",\n \"loadingMore\": \"Tiek ielādēts vēl...\"\n}\n","{\n \"loading\": \"Laster inn ...\",\n \"loadingMore\": \"Laster inn flere ...\"\n}\n","{\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Meer laden...\"\n}\n","{\n \"loading\": \"Ładowanie...\",\n \"loadingMore\": \"Wczytywanie większej liczby...\"\n}\n","{\n \"loading\": \"Carregando...\",\n \"loadingMore\": \"Carregando mais...\"\n}\n","{\n \"loading\": \"A carregar...\",\n \"loadingMore\": \"A carregar mais...\"\n}\n","{\n \"loading\": \"Se încarcă...\",\n \"loadingMore\": \"Se încarcă mai multe...\"\n}\n","{\n \"loading\": \"Загрузка...\",\n \"loadingMore\": \"Дополнительная загрузка...\"\n}\n","{\n \"loading\": \"Načítava sa...\",\n \"loadingMore\": \"Načítava sa viac...\"\n}\n","{\n \"loading\": \"Nalaganje ...\",\n \"loadingMore\": \"Nalaganje več vsebine ...\"\n}\n","{\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\"\n}\n","{\n \"loading\": \"Läser in...\",\n \"loadingMore\": \"Läser in mer...\"\n}\n","{\n \"loading\": \"Yükleniyor...\",\n \"loadingMore\": \"Daha fazla yükleniyor...\"\n}\n","{\n \"loading\": \"Завантаження…\",\n \"loadingMore\": \"Завантаження інших об’єктів...\"\n}\n","{\n \"loading\": \"正在加载...\",\n \"loadingMore\": \"正在加载更多...\"\n}\n","{\n \"loading\": \"載入中…\",\n \"loadingMore\": \"正在載入更多…\"\n}\n","/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {Checkbox} from '@react-spectrum/checkbox';\nimport ChevronLeftMedium from '@spectrum-icons/ui/ChevronLeftMedium';\nimport ChevronRightMedium from '@spectrum-icons/ui/ChevronRightMedium';\nimport {classNames, ClearSlots, SlotProvider} from '@react-spectrum/utils';\nimport {Content} from '@react-spectrum/view';\nimport {Grid} from '@react-spectrum/layout';\nimport listStyles from './listview.css';\nimport {ListViewContext} from './ListView';\nimport {mergeProps} from '@react-aria/utils';\nimport React, {useContext, useRef} from 'react';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useGridCell, useGridRow, useGridSelectionCheckbox} from '@react-aria/grid';\nimport {useHover, usePress} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\n\nexport function ListViewItem(props) {\n let {\n item,\n onAction,\n isEmphasized\n } = props;\n let cellNode = [...item.childNodes][0];\n let {state} = useContext(ListViewContext);\n let {direction} = useLocale();\n let rowRef = useRef<HTMLDivElement>();\n let cellRef = useRef<HTMLDivElement>();\n let {\n isFocusVisible: isFocusVisibleWithin,\n focusProps: focusWithinProps\n } = useFocusRing({within: true});\n let {isFocusVisible, focusProps} = useFocusRing();\n let allowsInteraction = state.selectionManager.selectionMode !== 'none' || onAction;\n let isDisabled = !allowsInteraction || state.disabledKeys.has(item.key);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let {pressProps, isPressed} = usePress({isDisabled});\n let {rowProps} = useGridRow({\n node: item,\n isVirtualized: true,\n onAction: onAction ? () => onAction(item.key) : null\n }, state, rowRef);\n let {gridCellProps} = useGridCell({\n node: cellNode,\n focusMode: 'cell'\n }, state, cellRef);\n const mergedProps = mergeProps(\n gridCellProps,\n hoverProps,\n focusWithinProps,\n focusProps\n );\n let {checkboxProps} = useGridSelectionCheckbox({...props, key: item.key}, state);\n\n let chevron = null;\n if (item.props.hasChildItems) {\n chevron = direction === 'ltr'\n ? (\n <ChevronRightMedium\n aria-hidden=\"true\"\n UNSAFE_className={listStyles['react-spectrum-ListViewItem-parentIndicator']} />\n )\n : (\n <ChevronLeftMedium\n aria-hidden=\"true\"\n UNSAFE_className={listStyles['react-spectrum-ListViewItem-parentIndicator']} />\n );\n }\n\n let showCheckbox = state.selectionManager.selectionMode !== 'none' && state.selectionManager.selectionBehavior === 'toggle';\n let isSelected = state.selectionManager.isSelected(item.key);\n return (\n <div\n {...mergeProps(rowProps, pressProps)}\n ref={rowRef}>\n <div\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem',\n {\n 'is-active': isPressed,\n 'is-focused': isFocusVisibleWithin,\n 'focus-ring': isFocusVisible,\n 'is-hovered': isHovered,\n 'is-selected': isSelected,\n 'is-previous-selected': state.selectionManager.isSelected(item.prevKey),\n 'react-spectrum-ListViewItem--highlightSelection': state.selectionManager.selectionBehavior === 'replace' && (isSelected || state.selectionManager.isSelected(item.nextKey))\n }\n )\n }\n ref={cellRef}\n {...mergedProps}>\n <Grid UNSAFE_className={listStyles['react-spectrum-ListViewItem-grid']}>\n {showCheckbox && (\n <Checkbox\n UNSAFE_className={listStyles['react-spectrum-ListViewItem-checkbox']}\n {...checkboxProps}\n isEmphasized={isEmphasized} />\n )}\n <SlotProvider\n slots={{\n content: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content']},\n text: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content']},\n description: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-description']},\n icon: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-icon'], size: 'M'},\n image: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-image']},\n link: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content'], isQuiet: true},\n actionButton: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'], isQuiet: true},\n actionGroup: {\n UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'],\n isQuiet: true,\n density: 'compact'\n },\n actionMenu: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actionmenu'], isQuiet: true}\n }}>\n {typeof item.rendered === 'string' ? <Content>{item.rendered}</Content> : item.rendered}\n <ClearSlots>\n {chevron}\n </ClearSlots>\n </SlotProvider>\n </Grid>\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {\n AriaLabelingProps,\n CollectionBase,\n DOMProps,\n DOMRef,\n LoadingState,\n MultipleSelection,\n SpectrumSelectionProps,\n StyleProps\n} from '@react-types/shared';\nimport {classNames, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {GridCollection, useGridState} from '@react-stately/grid';\nimport {GridKeyboardDelegate, useGrid} from '@react-aria/grid';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {ListLayout} from '@react-stately/layout';\nimport {ListState, useListState} from '@react-stately/list';\nimport listStyles from './listview.css';\nimport {ListViewItem} from './ListViewItem';\nimport {ProgressCircle} from '@react-spectrum/progress';\nimport React, {ReactElement, useContext, useMemo} from 'react';\nimport {useCollator, useLocale, useMessageFormatter} from '@react-aria/i18n';\nimport {useProvider} from '@react-spectrum/provider';\nimport {Virtualizer} from '@react-aria/virtualizer';\n\n\nexport const ListViewContext = React.createContext(null);\n\nconst ROW_HEIGHTS = {\n compact: {\n medium: 32,\n large: 40\n },\n regular: {\n medium: 40,\n large: 50\n },\n spacious: {\n medium: 48,\n large: 60\n }\n};\n\nexport function useListLayout<T>(state: ListState<T>, density: ListViewProps<T>['density']) {\n let {scale} = useProvider();\n let collator = useCollator({usage: 'search', sensitivity: 'base'});\n let layout = useMemo(() =>\n new ListLayout<T>({\n estimatedRowHeight: ROW_HEIGHTS[density][scale],\n padding: 0,\n collator\n })\n , [collator, scale, density]);\n\n layout.collection = state.collection;\n layout.disabledKeys = state.disabledKeys;\n return layout;\n}\n\ninterface ListViewProps<T> extends CollectionBase<T>, DOMProps, AriaLabelingProps, StyleProps, MultipleSelection, SpectrumSelectionProps {\n /**\n * Sets the amount of vertical padding within each cell.\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious',\n isQuiet?: boolean,\n loadingState?: LoadingState,\n renderEmptyState?: () => JSX.Element,\n transitionDuration?: number,\n onAction?: (key: string) => void\n}\n\nfunction ListView<T extends object>(props: ListViewProps<T>, ref: DOMRef<HTMLDivElement>) {\n let {\n density = 'regular',\n loadingState,\n isQuiet,\n transitionDuration = 0,\n onAction\n } = props;\n let domRef = useDOMRef(ref);\n let {collection} = useListState(props);\n let formatMessage = useMessageFormatter(intlMessages);\n\n let {styleProps} = useStyleProps(props);\n let {direction} = useLocale();\n let collator = useCollator({usage: 'search', sensitivity: 'base'});\n let gridCollection = useMemo(() => new GridCollection({\n columnCount: 1,\n items: [...collection].map(item => ({\n ...item,\n hasChildNodes: true,\n childNodes: [{\n key: `cell-${item.key}`,\n type: 'cell',\n index: 0,\n value: null,\n level: 0,\n rendered: null,\n textValue: item.textValue,\n hasChildNodes: false,\n childNodes: []\n }]\n }))\n }), [collection]);\n let state = useGridState({\n ...props,\n collection: gridCollection,\n focusMode: 'cell',\n selectionBehavior: props.selectionStyle === 'highlight' ? 'replace' : 'toggle'\n });\n let layout = useListLayout(state, props.density || 'regular');\n let keyboardDelegate = useMemo(() => new GridKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.disabledKeys,\n ref: domRef,\n direction,\n collator,\n // Focus the ListView cell instead of the row so that focus doesn't change with left/right arrow keys when there aren't any\n // focusable children in the cell.\n focusMode: 'cell'\n }), [state, domRef, direction, collator]);\n let {gridProps} = useGrid({\n ...props,\n isVirtualized: true,\n keyboardDelegate\n }, state, domRef);\n\n // Sync loading state into the layout.\n layout.isLoading = loadingState === 'loading';\n\n let focusedKey = state.selectionManager.focusedKey;\n let focusedItem = gridCollection.getItem(state.selectionManager.focusedKey);\n if (focusedItem?.parentKey != null) {\n focusedKey = focusedItem.parentKey;\n }\n\n return (\n <ListViewContext.Provider value={{state, keyboardDelegate}}>\n <Virtualizer\n {...gridProps}\n {...styleProps}\n ref={domRef}\n focusedKey={focusedKey}\n scrollDirection=\"vertical\"\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListView',\n `react-spectrum-ListView--${density}`,\n 'react-spectrum-ListView--emphasized',\n {\n 'react-spectrum-ListView--quiet': isQuiet\n },\n styleProps.className\n )\n }\n layout={layout}\n collection={gridCollection}\n transitionDuration={transitionDuration}>\n {(type, item) => {\n if (type === 'item') {\n return (\n <ListViewItem item={item} onAction={onAction} isEmphasized />\n );\n } else if (type === 'loader') {\n return (\n <CenteredWrapper>\n <ProgressCircle\n isIndeterminate\n aria-label={state.collection.size > 0 ? formatMessage('loadingMore') : formatMessage('loading')} />\n </CenteredWrapper>\n );\n } else if (type === 'placeholder') {\n let emptyState = props.renderEmptyState ? props.renderEmptyState() : null;\n if (emptyState == null) {\n return null;\n }\n\n return (\n <CenteredWrapper>\n {emptyState}\n </CenteredWrapper>\n );\n }\n\n }}\n </Virtualizer>\n </ListViewContext.Provider>\n );\n}\n\n\nfunction CenteredWrapper({children}) {\n let {state} = useContext(ListViewContext);\n return (\n <div\n role=\"row\"\n aria-rowindex={state.collection.size + 1}\n className={classNames(listStyles, 'react-spectrum-ListView-centeredWrapper')}>\n <div role=\"gridcell\">\n {children}\n </div>\n </div>\n );\n}\n\nconst _ListView = React.forwardRef(ListView) as <T>(props: ListViewProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_ListView as ListView};\n"],"names":["$parcel$interopDefault","a","__esModule","default","JSON","parse","ListViewItem","props","item","onAction","isEmphasized","cellNode","childNodes","state","useContext","direction","useLocale","rowRef","useRef","cellRef","isFocusVisible","isFocusVisibleWithin","focusProps","focusWithinProps","useFocusRing","within","allowsInteraction","selectionManager","selectionMode","isDisabled","disabledKeys","has","key","hoverProps","isHovered","useHover","pressProps","isPressed","usePress","rowProps","useGridRow","node","isVirtualized","gridCellProps","useGridCell","focusMode","mergedProps","mergeProps","checkboxProps","useGridSelectionCheckbox","chevron","hasChildItems","showCheckbox","selectionBehavior","isSelected","classNames","prevKey","nextKey","content","UNSAFE_className","text","description","icon","size","image","link","isQuiet","actionButton","actionGroup","density","actionMenu","rendered","ListViewContext","React","createContext","ROW_HEIGHTS","compact","medium","large","regular","spacious","useListLayout","scale","useProvider","collator","useCollator","usage","sensitivity","layout","useMemo","ListLayout","estimatedRowHeight","padding","collection","ListView","ref","loadingState","transitionDuration","domRef","useDOMRef","useListState","formatMessage","useMessageFormatter","intlMessages","styleProps","useStyleProps","gridCollection","GridCollection","columnCount","items","map","hasChildNodes","type","index","value","level","textValue","useGridState","selectionStyle","keyboardDelegate","GridKeyboardDelegate","gridProps","useGrid","isLoading","focusedKey","focusedItem","getItem","parentKey","className","emptyState","renderEmptyState","CenteredWrapper","children","_ListView","forwardRef"],"version":3,"file":"module.js.map"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AriaLabelingProps, CollectionBase, DOMProps, LoadingState, MultipleSelection, StyleProps } from "@react-types/shared";
|
|
1
|
+
import { AriaLabelingProps, CollectionBase, DOMProps, LoadingState, MultipleSelection, SpectrumSelectionProps, StyleProps } from "@react-types/shared";
|
|
2
2
|
import React from "react";
|
|
3
|
-
interface ListViewProps<T> extends CollectionBase<T>, DOMProps, AriaLabelingProps, StyleProps, MultipleSelection {
|
|
3
|
+
interface ListViewProps<T> extends CollectionBase<T>, DOMProps, AriaLabelingProps, StyleProps, MultipleSelection, SpectrumSelectionProps {
|
|
4
4
|
/**
|
|
5
5
|
* Sets the amount of vertical padding within each cell.
|
|
6
6
|
* @default 'regular'
|
|
@@ -10,6 +10,7 @@ interface ListViewProps<T> extends CollectionBase<T>, DOMProps, AriaLabelingProp
|
|
|
10
10
|
loadingState?: LoadingState;
|
|
11
11
|
renderEmptyState?: () => JSX.Element;
|
|
12
12
|
transitionDuration?: number;
|
|
13
|
+
onAction?: (key: string) => void;
|
|
13
14
|
}
|
|
14
15
|
export const ListView: <T>(props: ListViewProps<T> & {
|
|
15
16
|
ref?: React.Ref<import("@react-types/shared").DOMRefValue<HTMLDivElement>>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A;A;
|
|
1
|
+
{"mappings":"A;A;ACsEA,wBAAwB,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,sBAAsB;IACtI;A;A;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,IAAI,OAAO,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC;AAyID,OAAA,MAAM;A;6MAAuH,CAAC;ACzN9H,OAAO,EAAC,IAAI,EAAC,MAAM,4BAA4B,CAAC","sources":["./packages/@react-spectrum/list/src/packages/@react-spectrum/list/src/ListViewItem.tsx","./packages/@react-spectrum/list/src/packages/@react-spectrum/list/src/ListView.tsx","./packages/@react-spectrum/list/src/packages/@react-spectrum/list/src/index.ts"],"sourcesContent":[null,null,null],"names":[],"version":3,"file":"types.d.ts.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/list",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.4",
|
|
4
4
|
"description": "Spectrum UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -33,29 +33,29 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@babel/runtime": "^7.6.2",
|
|
35
35
|
"@react-aria/focus": "^3.4.1",
|
|
36
|
-
"@react-aria/grid": "^3.
|
|
37
|
-
"@react-aria/i18n": "^3.3.
|
|
38
|
-
"@react-aria/interactions": "^3.
|
|
39
|
-
"@react-aria/listbox": "^3.
|
|
36
|
+
"@react-aria/grid": "^3.1.0",
|
|
37
|
+
"@react-aria/i18n": "^3.3.3",
|
|
38
|
+
"@react-aria/interactions": "^3.7.0",
|
|
39
|
+
"@react-aria/listbox": "^3.4.0",
|
|
40
40
|
"@react-aria/separator": "^3.1.3",
|
|
41
|
-
"@react-aria/utils": "^3.
|
|
42
|
-
"@react-aria/virtualizer": "^3.3.
|
|
41
|
+
"@react-aria/utils": "^3.10.0",
|
|
42
|
+
"@react-aria/virtualizer": "^3.3.5",
|
|
43
43
|
"@react-spectrum/button": "^3.5.1",
|
|
44
44
|
"@react-spectrum/checkbox": "^3.2.3",
|
|
45
45
|
"@react-spectrum/layout": "^3.2.1",
|
|
46
46
|
"@react-spectrum/listbox": "^3.5.3",
|
|
47
47
|
"@react-spectrum/progress": "^3.1.3",
|
|
48
48
|
"@react-spectrum/text": "^3.1.3",
|
|
49
|
-
"@react-spectrum/textfield": "^3.
|
|
50
|
-
"@react-spectrum/utils": "^3.6.
|
|
49
|
+
"@react-spectrum/textfield": "^3.3.0",
|
|
50
|
+
"@react-spectrum/utils": "^3.6.3",
|
|
51
51
|
"@react-spectrum/view": "^3.1.3",
|
|
52
52
|
"@react-stately/collections": "^3.3.4",
|
|
53
|
-
"@react-stately/grid": "^3.
|
|
53
|
+
"@react-stately/grid": "^3.1.0",
|
|
54
54
|
"@react-stately/layout": "^3.4.0",
|
|
55
|
-
"@react-stately/list": "^3.
|
|
56
|
-
"@react-stately/virtualizer": "^3.1.
|
|
55
|
+
"@react-stately/list": "^3.4.0",
|
|
56
|
+
"@react-stately/virtualizer": "^3.1.6",
|
|
57
57
|
"@react-types/listbox": "^3.2.1",
|
|
58
|
-
"@react-types/shared": "^3.
|
|
58
|
+
"@react-types/shared": "^3.10.0",
|
|
59
59
|
"@spectrum-icons/ui": "^3.2.1"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"publishConfig": {
|
|
70
70
|
"access": "public"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "896eabe5521a0349a675c4773ed7629addd4b8c4"
|
|
73
73
|
}
|
package/src/ListView.tsx
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
DOMRef,
|
|
17
17
|
LoadingState,
|
|
18
18
|
MultipleSelection,
|
|
19
|
+
SpectrumSelectionProps,
|
|
19
20
|
StyleProps
|
|
20
21
|
} from '@react-types/shared';
|
|
21
22
|
import {classNames, useDOMRef, useStyleProps} from '@react-spectrum/utils';
|
|
@@ -36,23 +37,38 @@ import {Virtualizer} from '@react-aria/virtualizer';
|
|
|
36
37
|
|
|
37
38
|
export const ListViewContext = React.createContext(null);
|
|
38
39
|
|
|
39
|
-
|
|
40
|
+
const ROW_HEIGHTS = {
|
|
41
|
+
compact: {
|
|
42
|
+
medium: 32,
|
|
43
|
+
large: 40
|
|
44
|
+
},
|
|
45
|
+
regular: {
|
|
46
|
+
medium: 40,
|
|
47
|
+
large: 50
|
|
48
|
+
},
|
|
49
|
+
spacious: {
|
|
50
|
+
medium: 48,
|
|
51
|
+
large: 60
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export function useListLayout<T>(state: ListState<T>, density: ListViewProps<T>['density']) {
|
|
40
56
|
let {scale} = useProvider();
|
|
41
57
|
let collator = useCollator({usage: 'search', sensitivity: 'base'});
|
|
42
58
|
let layout = useMemo(() =>
|
|
43
59
|
new ListLayout<T>({
|
|
44
|
-
estimatedRowHeight: scale
|
|
60
|
+
estimatedRowHeight: ROW_HEIGHTS[density][scale],
|
|
45
61
|
padding: 0,
|
|
46
62
|
collator
|
|
47
63
|
})
|
|
48
|
-
, [collator, scale]);
|
|
64
|
+
, [collator, scale, density]);
|
|
49
65
|
|
|
50
66
|
layout.collection = state.collection;
|
|
51
67
|
layout.disabledKeys = state.disabledKeys;
|
|
52
68
|
return layout;
|
|
53
69
|
}
|
|
54
70
|
|
|
55
|
-
interface ListViewProps<T> extends CollectionBase<T>, DOMProps, AriaLabelingProps, StyleProps, MultipleSelection {
|
|
71
|
+
interface ListViewProps<T> extends CollectionBase<T>, DOMProps, AriaLabelingProps, StyleProps, MultipleSelection, SpectrumSelectionProps {
|
|
56
72
|
/**
|
|
57
73
|
* Sets the amount of vertical padding within each cell.
|
|
58
74
|
* @default 'regular'
|
|
@@ -61,7 +77,8 @@ interface ListViewProps<T> extends CollectionBase<T>, DOMProps, AriaLabelingProp
|
|
|
61
77
|
isQuiet?: boolean,
|
|
62
78
|
loadingState?: LoadingState,
|
|
63
79
|
renderEmptyState?: () => JSX.Element,
|
|
64
|
-
transitionDuration?: number
|
|
80
|
+
transitionDuration?: number,
|
|
81
|
+
onAction?: (key: string) => void
|
|
65
82
|
}
|
|
66
83
|
|
|
67
84
|
function ListView<T extends object>(props: ListViewProps<T>, ref: DOMRef<HTMLDivElement>) {
|
|
@@ -69,7 +86,8 @@ function ListView<T extends object>(props: ListViewProps<T>, ref: DOMRef<HTMLDiv
|
|
|
69
86
|
density = 'regular',
|
|
70
87
|
loadingState,
|
|
71
88
|
isQuiet,
|
|
72
|
-
transitionDuration = 0
|
|
89
|
+
transitionDuration = 0,
|
|
90
|
+
onAction
|
|
73
91
|
} = props;
|
|
74
92
|
let domRef = useDOMRef(ref);
|
|
75
93
|
let {collection} = useListState(props);
|
|
@@ -98,15 +116,19 @@ function ListView<T extends object>(props: ListViewProps<T>, ref: DOMRef<HTMLDiv
|
|
|
98
116
|
}), [collection]);
|
|
99
117
|
let state = useGridState({
|
|
100
118
|
...props,
|
|
101
|
-
collection: gridCollection
|
|
119
|
+
collection: gridCollection,
|
|
120
|
+
focusMode: 'cell',
|
|
121
|
+
selectionBehavior: props.selectionStyle === 'highlight' ? 'replace' : 'toggle'
|
|
102
122
|
});
|
|
103
|
-
let layout = useListLayout(state);
|
|
123
|
+
let layout = useListLayout(state, props.density || 'regular');
|
|
104
124
|
let keyboardDelegate = useMemo(() => new GridKeyboardDelegate({
|
|
105
125
|
collection: state.collection,
|
|
106
126
|
disabledKeys: state.disabledKeys,
|
|
107
127
|
ref: domRef,
|
|
108
128
|
direction,
|
|
109
129
|
collator,
|
|
130
|
+
// Focus the ListView cell instead of the row so that focus doesn't change with left/right arrow keys when there aren't any
|
|
131
|
+
// focusable children in the cell.
|
|
110
132
|
focusMode: 'cell'
|
|
111
133
|
}), [state, domRef, direction, collator]);
|
|
112
134
|
let {gridProps} = useGrid({
|
|
@@ -137,6 +159,7 @@ function ListView<T extends object>(props: ListViewProps<T>, ref: DOMRef<HTMLDiv
|
|
|
137
159
|
listStyles,
|
|
138
160
|
'react-spectrum-ListView',
|
|
139
161
|
`react-spectrum-ListView--${density}`,
|
|
162
|
+
'react-spectrum-ListView--emphasized',
|
|
140
163
|
{
|
|
141
164
|
'react-spectrum-ListView--quiet': isQuiet
|
|
142
165
|
},
|
|
@@ -149,7 +172,7 @@ function ListView<T extends object>(props: ListViewProps<T>, ref: DOMRef<HTMLDiv
|
|
|
149
172
|
{(type, item) => {
|
|
150
173
|
if (type === 'item') {
|
|
151
174
|
return (
|
|
152
|
-
<ListViewItem item={item} />
|
|
175
|
+
<ListViewItem item={item} onAction={onAction} isEmphasized />
|
|
153
176
|
);
|
|
154
177
|
} else if (type === 'loader') {
|
|
155
178
|
return (
|