@react-spectrum/list 3.10.10 → 3.11.0

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 (229) hide show
  1. package/dist/import.mjs +3 -3
  2. package/dist/main.js +4 -4
  3. package/dist/main.js.map +1 -1
  4. package/dist/module.js +3 -3
  5. package/dist/module.js.map +1 -1
  6. package/dist/types/src/index.d.ts +3 -0
  7. package/package.json +13 -50
  8. package/src/index.ts +4 -3
  9. package/dist/DragPreview.main.js +0 -79
  10. package/dist/DragPreview.main.js.map +0 -1
  11. package/dist/DragPreview.mjs +0 -74
  12. package/dist/DragPreview.module.js +0 -74
  13. package/dist/DragPreview.module.js.map +0 -1
  14. package/dist/InsertionIndicator.main.js +0 -49
  15. package/dist/InsertionIndicator.main.js.map +0 -1
  16. package/dist/InsertionIndicator.mjs +0 -44
  17. package/dist/InsertionIndicator.module.js +0 -44
  18. package/dist/InsertionIndicator.module.js.map +0 -1
  19. package/dist/ListView.main.js +0 -300
  20. package/dist/ListView.main.js.map +0 -1
  21. package/dist/ListView.mjs +0 -294
  22. package/dist/ListView.module.js +0 -294
  23. package/dist/ListView.module.js.map +0 -1
  24. package/dist/ListViewItem.main.js +0 -245
  25. package/dist/ListViewItem.main.js.map +0 -1
  26. package/dist/ListViewItem.mjs +0 -240
  27. package/dist/ListViewItem.module.js +0 -240
  28. package/dist/ListViewItem.module.js.map +0 -1
  29. package/dist/ListViewLayout.main.js +0 -69
  30. package/dist/ListViewLayout.main.js.map +0 -1
  31. package/dist/ListViewLayout.mjs +0 -64
  32. package/dist/ListViewLayout.module.js +0 -64
  33. package/dist/ListViewLayout.module.js.map +0 -1
  34. package/dist/RootDropIndicator.main.js +0 -46
  35. package/dist/RootDropIndicator.main.js.map +0 -1
  36. package/dist/RootDropIndicator.mjs +0 -37
  37. package/dist/RootDropIndicator.module.js +0 -37
  38. package/dist/RootDropIndicator.module.js.map +0 -1
  39. package/dist/ar-AE.main.js +0 -7
  40. package/dist/ar-AE.main.js.map +0 -1
  41. package/dist/ar-AE.mjs +0 -9
  42. package/dist/ar-AE.module.js +0 -9
  43. package/dist/ar-AE.module.js.map +0 -1
  44. package/dist/bg-BG.main.js +0 -7
  45. package/dist/bg-BG.main.js.map +0 -1
  46. package/dist/bg-BG.mjs +0 -9
  47. package/dist/bg-BG.module.js +0 -9
  48. package/dist/bg-BG.module.js.map +0 -1
  49. package/dist/cs-CZ.main.js +0 -7
  50. package/dist/cs-CZ.main.js.map +0 -1
  51. package/dist/cs-CZ.mjs +0 -9
  52. package/dist/cs-CZ.module.js +0 -9
  53. package/dist/cs-CZ.module.js.map +0 -1
  54. package/dist/da-DK.main.js +0 -7
  55. package/dist/da-DK.main.js.map +0 -1
  56. package/dist/da-DK.mjs +0 -9
  57. package/dist/da-DK.module.js +0 -9
  58. package/dist/da-DK.module.js.map +0 -1
  59. package/dist/de-DE.main.js +0 -7
  60. package/dist/de-DE.main.js.map +0 -1
  61. package/dist/de-DE.mjs +0 -9
  62. package/dist/de-DE.module.js +0 -9
  63. package/dist/de-DE.module.js.map +0 -1
  64. package/dist/el-GR.main.js +0 -7
  65. package/dist/el-GR.main.js.map +0 -1
  66. package/dist/el-GR.mjs +0 -9
  67. package/dist/el-GR.module.js +0 -9
  68. package/dist/el-GR.module.js.map +0 -1
  69. package/dist/en-US.main.js +0 -7
  70. package/dist/en-US.main.js.map +0 -1
  71. package/dist/en-US.mjs +0 -9
  72. package/dist/en-US.module.js +0 -9
  73. package/dist/en-US.module.js.map +0 -1
  74. package/dist/es-ES.main.js +0 -7
  75. package/dist/es-ES.main.js.map +0 -1
  76. package/dist/es-ES.mjs +0 -9
  77. package/dist/es-ES.module.js +0 -9
  78. package/dist/es-ES.module.js.map +0 -1
  79. package/dist/et-EE.main.js +0 -7
  80. package/dist/et-EE.main.js.map +0 -1
  81. package/dist/et-EE.mjs +0 -9
  82. package/dist/et-EE.module.js +0 -9
  83. package/dist/et-EE.module.js.map +0 -1
  84. package/dist/fi-FI.main.js +0 -7
  85. package/dist/fi-FI.main.js.map +0 -1
  86. package/dist/fi-FI.mjs +0 -9
  87. package/dist/fi-FI.module.js +0 -9
  88. package/dist/fi-FI.module.js.map +0 -1
  89. package/dist/fr-FR.main.js +0 -7
  90. package/dist/fr-FR.main.js.map +0 -1
  91. package/dist/fr-FR.mjs +0 -9
  92. package/dist/fr-FR.module.js +0 -9
  93. package/dist/fr-FR.module.js.map +0 -1
  94. package/dist/he-IL.main.js +0 -7
  95. package/dist/he-IL.main.js.map +0 -1
  96. package/dist/he-IL.mjs +0 -9
  97. package/dist/he-IL.module.js +0 -9
  98. package/dist/he-IL.module.js.map +0 -1
  99. package/dist/hr-HR.main.js +0 -7
  100. package/dist/hr-HR.main.js.map +0 -1
  101. package/dist/hr-HR.mjs +0 -9
  102. package/dist/hr-HR.module.js +0 -9
  103. package/dist/hr-HR.module.js.map +0 -1
  104. package/dist/hu-HU.main.js +0 -7
  105. package/dist/hu-HU.main.js.map +0 -1
  106. package/dist/hu-HU.mjs +0 -9
  107. package/dist/hu-HU.module.js +0 -9
  108. package/dist/hu-HU.module.js.map +0 -1
  109. package/dist/intlStrings.main.js +0 -108
  110. package/dist/intlStrings.main.js.map +0 -1
  111. package/dist/intlStrings.mjs +0 -110
  112. package/dist/intlStrings.module.js +0 -110
  113. package/dist/intlStrings.module.js.map +0 -1
  114. package/dist/it-IT.main.js +0 -7
  115. package/dist/it-IT.main.js.map +0 -1
  116. package/dist/it-IT.mjs +0 -9
  117. package/dist/it-IT.module.js +0 -9
  118. package/dist/it-IT.module.js.map +0 -1
  119. package/dist/ja-JP.main.js +0 -7
  120. package/dist/ja-JP.main.js.map +0 -1
  121. package/dist/ja-JP.mjs +0 -9
  122. package/dist/ja-JP.module.js +0 -9
  123. package/dist/ja-JP.module.js.map +0 -1
  124. package/dist/ko-KR.main.js +0 -7
  125. package/dist/ko-KR.main.js.map +0 -1
  126. package/dist/ko-KR.mjs +0 -9
  127. package/dist/ko-KR.module.js +0 -9
  128. package/dist/ko-KR.module.js.map +0 -1
  129. package/dist/list.5918e378.css +0 -839
  130. package/dist/list.5918e378.css.map +0 -1
  131. package/dist/lt-LT.main.js +0 -7
  132. package/dist/lt-LT.main.js.map +0 -1
  133. package/dist/lt-LT.mjs +0 -9
  134. package/dist/lt-LT.module.js +0 -9
  135. package/dist/lt-LT.module.js.map +0 -1
  136. package/dist/lv-LV.main.js +0 -7
  137. package/dist/lv-LV.main.js.map +0 -1
  138. package/dist/lv-LV.mjs +0 -9
  139. package/dist/lv-LV.module.js +0 -9
  140. package/dist/lv-LV.module.js.map +0 -1
  141. package/dist/nb-NO.main.js +0 -7
  142. package/dist/nb-NO.main.js.map +0 -1
  143. package/dist/nb-NO.mjs +0 -9
  144. package/dist/nb-NO.module.js +0 -9
  145. package/dist/nb-NO.module.js.map +0 -1
  146. package/dist/nl-NL.main.js +0 -7
  147. package/dist/nl-NL.main.js.map +0 -1
  148. package/dist/nl-NL.mjs +0 -9
  149. package/dist/nl-NL.module.js +0 -9
  150. package/dist/nl-NL.module.js.map +0 -1
  151. package/dist/pl-PL.main.js +0 -7
  152. package/dist/pl-PL.main.js.map +0 -1
  153. package/dist/pl-PL.mjs +0 -9
  154. package/dist/pl-PL.module.js +0 -9
  155. package/dist/pl-PL.module.js.map +0 -1
  156. package/dist/pt-BR.main.js +0 -7
  157. package/dist/pt-BR.main.js.map +0 -1
  158. package/dist/pt-BR.mjs +0 -9
  159. package/dist/pt-BR.module.js +0 -9
  160. package/dist/pt-BR.module.js.map +0 -1
  161. package/dist/pt-PT.main.js +0 -7
  162. package/dist/pt-PT.main.js.map +0 -1
  163. package/dist/pt-PT.mjs +0 -9
  164. package/dist/pt-PT.module.js +0 -9
  165. package/dist/pt-PT.module.js.map +0 -1
  166. package/dist/ro-RO.main.js +0 -7
  167. package/dist/ro-RO.main.js.map +0 -1
  168. package/dist/ro-RO.mjs +0 -9
  169. package/dist/ro-RO.module.js +0 -9
  170. package/dist/ro-RO.module.js.map +0 -1
  171. package/dist/ru-RU.main.js +0 -7
  172. package/dist/ru-RU.main.js.map +0 -1
  173. package/dist/ru-RU.mjs +0 -9
  174. package/dist/ru-RU.module.js +0 -9
  175. package/dist/ru-RU.module.js.map +0 -1
  176. package/dist/sk-SK.main.js +0 -7
  177. package/dist/sk-SK.main.js.map +0 -1
  178. package/dist/sk-SK.mjs +0 -9
  179. package/dist/sk-SK.module.js +0 -9
  180. package/dist/sk-SK.module.js.map +0 -1
  181. package/dist/sl-SI.main.js +0 -7
  182. package/dist/sl-SI.main.js.map +0 -1
  183. package/dist/sl-SI.mjs +0 -9
  184. package/dist/sl-SI.module.js +0 -9
  185. package/dist/sl-SI.module.js.map +0 -1
  186. package/dist/sr-SP.main.js +0 -7
  187. package/dist/sr-SP.main.js.map +0 -1
  188. package/dist/sr-SP.mjs +0 -9
  189. package/dist/sr-SP.module.js +0 -9
  190. package/dist/sr-SP.module.js.map +0 -1
  191. package/dist/styles_css.main.js +0 -197
  192. package/dist/styles_css.main.js.map +0 -1
  193. package/dist/styles_css.mjs +0 -199
  194. package/dist/styles_css.module.js +0 -199
  195. package/dist/styles_css.module.js.map +0 -1
  196. package/dist/sv-SE.main.js +0 -7
  197. package/dist/sv-SE.main.js.map +0 -1
  198. package/dist/sv-SE.mjs +0 -9
  199. package/dist/sv-SE.module.js +0 -9
  200. package/dist/sv-SE.module.js.map +0 -1
  201. package/dist/tr-TR.main.js +0 -7
  202. package/dist/tr-TR.main.js.map +0 -1
  203. package/dist/tr-TR.mjs +0 -9
  204. package/dist/tr-TR.module.js +0 -9
  205. package/dist/tr-TR.module.js.map +0 -1
  206. package/dist/types.d.ts +0 -40
  207. package/dist/types.d.ts.map +0 -1
  208. package/dist/uk-UA.main.js +0 -7
  209. package/dist/uk-UA.main.js.map +0 -1
  210. package/dist/uk-UA.mjs +0 -9
  211. package/dist/uk-UA.module.js +0 -9
  212. package/dist/uk-UA.module.js.map +0 -1
  213. package/dist/zh-CN.main.js +0 -7
  214. package/dist/zh-CN.main.js.map +0 -1
  215. package/dist/zh-CN.mjs +0 -9
  216. package/dist/zh-CN.module.js +0 -9
  217. package/dist/zh-CN.module.js.map +0 -1
  218. package/dist/zh-TW.main.js +0 -7
  219. package/dist/zh-TW.main.js.map +0 -1
  220. package/dist/zh-TW.mjs +0 -9
  221. package/dist/zh-TW.module.js +0 -9
  222. package/dist/zh-TW.module.js.map +0 -1
  223. package/src/DragPreview.tsx +0 -72
  224. package/src/InsertionIndicator.tsx +0 -46
  225. package/src/ListView.tsx +0 -356
  226. package/src/ListViewItem.tsx +0 -284
  227. package/src/ListViewLayout.ts +0 -66
  228. package/src/RootDropIndicator.tsx +0 -27
  229. package/src/styles.css +0 -720
package/src/styles.css DELETED
@@ -1,720 +0,0 @@
1
- /*
2
- * Copyright 2022 Adobe. All rights reserved.
3
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License. You may obtain a copy
5
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
- *
7
- * Unless required by applicable law or agreed to in writing, software distributed under
8
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
- * OF ANY KIND, either express or implied. See the License for the specific language
10
- * governing permissions and limitations under the License.
11
- */
12
-
13
- .react-spectrum-ListView,
14
- .react-spectrum-ListViewItem {
15
- --spectrum-listview-item-compact-padding-y: var(--spectrum-global-dimension-size-50);
16
- --spectrum-listview-item-regular-padding-y: var(--spectrum-global-dimension-size-85);
17
- --spectrum-listview-item-spacious-padding-y: var(--spectrum-global-dimension-size-100);
18
- --spectrum-listview-border-width: var(--spectrum-table-border-size, var(--spectrum-alias-border-size-thin));
19
- --spectrum-listview-border-radius: var(--spectrum-table-border-radius, var(--spectrum-alias-border-radius-regular));
20
- --spectrum-listview-item-border-radius: calc(var(--spectrum-listview-border-radius) - var(--spectrum-listview-border-width));
21
- --spectrum-listview-row-sticky-focus-indicator-width: 3px;
22
- --spectrum-listview-item-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);
23
- --spectrum-listview-item-title-text-color: var(--spectrum-global-color-gray-800);
24
- --spectrum-listview-item-title-text-size: var(--spectrum-global-dimension-font-size-100);
25
- --spectrum-listview-item-description-text-color: var(--spectrum-global-color-gray-700);
26
- --spectrum-listview-item-description-text-size: var(--spectrum-global-dimension-font-size-75);
27
-
28
- --spectrum-listview-border-color: var(--spectrum-table-border-color, var(--spectrum-alias-border-color-mid));
29
- --spectrum-listview-border-color-key-focus: var(--spectrum-table-cell-border-color-key-focus, var(--spectrum-alias-focus-color));
30
- --spectrum-listview-background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));
31
- --spectrum-listview-item-background-color-hover: var(--spectrum-table-row-background-color-hover);
32
- --spectrum-listview-item-background-color-down: var(--spectrum-table-row-background-color-down);
33
- --spectrum-listview-item-background-color-selected: var(--spectrum-table-row-background-color-selected);
34
- --spectrum-listview-item-background-color-selected-hover: var(--spectrum-table-row-background-color-selected);
35
- --spectrum-listview-item-background-color-selected-key-focus: var(--spectrum-table-row-background-color-selected-key-focus);
36
- --spectrum-listview-item-border-color: var(--spectrum-table-cell-border-color, var(--spectrum-alias-border-color-mid));
37
- --spectrum-listview-item-border-color-selected: var(--spectrum-global-color-blue-500);
38
- --spectrum-listview-item-border-color-key-focus: var(--spectrum-table-cell-border-color-key-focus, var(--spectrum-alias-focus-color));
39
- --spectrum-listview-row-sticky-focus-indicator-color: var(--spectrum-selectlist-option-focus-indicator-color);
40
- --spectrum-listview-quiet-background-color: var(--spectrum-alias-background-color-transparent);
41
- --spectrum-listview-item-text-color: var(--spectrum-table-cell-text-color, var(--spectrum-alias-text-color));
42
- --spectrum-listview-item-text-color-disabled: var(--spectrum-alias-text-color-disabled);
43
- --spectrum-listview-droptarget-background-color: var(--spectrum-alias-highlight-selected);
44
- --spectrum-listview-dropindicator-border-color: var(--spectrum-dropindicator-border-color);
45
- --spectrum-listview-dropindicator-circle-border-color: var(--spectrum-dropindicator-circle-border-color);
46
-
47
- --spectrum-listview-dropindicator-circle-size: var(--spectrum-dropindicator-circle-size);
48
- --spectrum-listview-dropindicator-border-size: var(--spectrum-dropindicator-border-size);
49
-
50
- --spectrum-listview-dropzone-border-color-selected-hover: var(--spectrum-dropzone-border-color-selected-hover);
51
- --spectrum-listview-item-badge-text-color: var(--spectrum-global-color-static-white);
52
- --spectrum-listview-item-badge-background-color: var(--spectrum-global-color-blue-400);
53
-
54
- --spectrum-listview-item-draghandle-border-color-key-focus: var(--spectrum-listview-item-border-color-key-focus);
55
- }
56
-
57
- .react-spectrum-ListView {
58
- box-sizing: border-box;
59
- border-color: var(--spectrum-listview-border-color);
60
- border-style: solid;
61
- position: relative;
62
- border-width: var(--spectrum-listview-border-width);
63
- border-radius: var(--spectrum-listview-border-radius);
64
- overflow: auto;
65
- vertical-align: var(--spectrum-table-cell-vertical-alignment);
66
- border-collapse: separate;
67
- border-spacing: 0;
68
- transform: translate3d(0, 0, 0);
69
- padding: 0;
70
- background-color: var(--spectrum-listview-background-color);
71
- outline: 0;
72
- user-select: none;
73
-
74
- .react-spectrum-ListView-row {
75
- outline: none;
76
- }
77
-
78
- &.react-spectrum-ListView--emphasized {
79
- &.react-spectrum-ListView--dropTarget {
80
- .react-spectrum-ListViewItem:not(.is-selected) {
81
- /* shift bottom border inwards so it doesn't overlap the root drop target */
82
- &:after {
83
- inset-inline-start: 1px;
84
- inset-inline-end: 1px;
85
- }
86
- }
87
- }
88
- .react-spectrum-ListViewItem {
89
- /* common pseudoelement for box shadows */
90
- &:after {
91
- content: '';
92
- display: block;
93
- position: absolute;
94
- inset-inline-start: 0;
95
- inset-inline-end: 0;
96
- inset-block-end: 0;
97
- inset-block-start: 0;
98
- z-index: 3;
99
- pointer-events: none;
100
-
101
- /* forced-color-adjust: none, so that box-shadow style will render */
102
- forced-color-adjust: none;
103
- }
104
-
105
- &.is-selected {
106
- background-color: var(--spectrum-listview-item-background-color-selected);
107
- &.is-hovered,
108
- &.is-active {
109
- background-color: var(--spectrum-listview-item-background-color-selected-hover);
110
- }
111
-
112
- &:focus-visible {
113
- background-color: var(--spectrum-listview-item-background-color-selected-key-focus);
114
- }
115
-
116
- /* Negative block start causes borders to actually be shared between items. Only works if we allow item overflow to be visible, like card focus rings. */
117
- &:after {
118
- inset-block-start: -1px;
119
- box-shadow:
120
- inset 1px 0 0 0 var(--spectrum-listview-item-border-color-selected),
121
- inset -1px 0 0 0 var(--spectrum-listview-item-border-color-selected),
122
- inset 0 -1px 0 0 var(--spectrum-listview-item-border-color-selected),
123
- inset 0 1px 0 0 var(--spectrum-listview-item-border-color-selected);
124
- }
125
- }
126
-
127
- /* First item in the ListView should not have a border that extends outside of itself to the top, it doesn't need to share a border space. */
128
- &.react-spectrum-ListViewItem--firstRow {
129
- &.is-selected {
130
- &:after {
131
- inset-block-start: 0px;
132
- }
133
- }
134
- }
135
- }
136
-
137
- &:not(.react-spectrum-ListView--quiet) {
138
- .react-spectrum-ListViewItem {
139
- /* Box shadow for bottom border for non-selected rows that aren't immediately above a selected row (grey border bottom). */
140
- /* Also omit bottom border for last row if the total content height of the ListView is equal or greater than the height of the container. This avoids overlapping bottom borders. */
141
- &:not(.is-selected):not(.is-next-selected):not(.react-spectrum-ListViewItem--isFlushBottom) {
142
- &:after {
143
- box-shadow: inset 0 -1px 0 0 var(--spectrum-listview-item-border-color);
144
- }
145
- }
146
-
147
- &.react-spectrum-ListViewItem--firstRow.is-selected {
148
- &:after {
149
- border-start-start-radius: var(--spectrum-listview-item-border-radius);
150
- border-start-end-radius: var(--spectrum-listview-item-border-radius);
151
- }
152
- }
153
- }
154
-
155
- &:not(.react-spectrum-ListView--loadingMore) {
156
- .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem--isFlushBottom.is-selected {
157
- &:after {
158
- border-end-start-radius: var(--spectrum-listview-item-border-radius);
159
- border-end-end-radius: var(--spectrum-listview-item-border-radius);
160
- }
161
- }
162
- }
163
-
164
- &.react-spectrum-ListView--isVerticalScrollbarVisible {
165
- .react-spectrum-ListViewItem {
166
- &.react-spectrum-ListViewItem--firstRow.is-selected {
167
- &:after {
168
- border-start-end-radius: 0;
169
- }
170
- }
171
- }
172
-
173
- &:not(.react-spectrum-ListView--loadingMore) {
174
- .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem--isFlushBottom.is-selected {
175
- &:after {
176
- border-end-end-radius: 0;
177
- }
178
- }
179
- }
180
- }
181
-
182
- &.react-spectrum-ListView--isHorizontalScrollbarVisible {
183
- &:not(.react-spectrum-ListView--loadingMore) {
184
- .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem--isFlushBottom.is-selected {
185
- &:after {
186
- border-end-start-radius: 0;
187
- border-end-end-radius: 0;
188
- }
189
- }
190
- }
191
- }
192
- }
193
- }
194
- &.react-spectrum-ListView--wrap .react-spectrum-ListViewItem {
195
- & .react-spectrum-ListViewItem-content,
196
- & .react-spectrum-ListViewItem-description {
197
- white-space: normal;
198
- height: auto;
199
- }
200
- }
201
- }
202
-
203
- .react-spectrum-ListView-row {
204
- cursor: default;
205
- /* Not sticky because listview is a single column. If we want to make sticky, will need a cell wrapper like TableView for display: inline-block */
206
- &:focus-visible {
207
- &:before {
208
- content: '';
209
- position: absolute;
210
- inset-block-start: 0;
211
- inset-block-end: 0;
212
- inset-inline-start: 0;
213
- width: var(--spectrum-listview-row-sticky-focus-indicator-width);
214
- z-index: 4;
215
- background: var(--spectrum-listview-row-sticky-focus-indicator-color);
216
-
217
- /* forced-color-adjust: none, so that background color will render for the sticky focus indicator. */
218
- forced-color-adjust: none;
219
- }
220
- }
221
- }
222
-
223
- .react-spectrum-ListView.react-spectrum-ListView--quiet {
224
- background-color: var(--spectrum-listview-quiet-background-color);
225
- border-width: 0;
226
- border-radius: 0;
227
-
228
- .react-spectrum-ListView-row {
229
- &.round-tops {
230
- &:focus-visible {
231
- &:before {
232
- border-start-start-radius: var(--spectrum-listview-item-border-radius);
233
- }
234
- }
235
- & > .react-spectrum-ListViewItem {
236
- border-start-start-radius: var(--spectrum-listview-item-border-radius);
237
- border-start-end-radius: var(--spectrum-listview-item-border-radius);
238
-
239
- &:after {
240
- border-start-start-radius: var(--spectrum-listview-item-border-radius);
241
- border-start-end-radius: var(--spectrum-listview-item-border-radius);
242
- }
243
- }
244
- }
245
-
246
- &.round-bottoms {
247
- &:focus-visible {
248
- &:before {
249
- border-end-start-radius: var(--spectrum-listview-item-border-radius);
250
- }
251
- }
252
- & > .react-spectrum-ListViewItem {
253
- border-end-start-radius: var(--spectrum-listview-item-border-radius);
254
- border-end-end-radius: var(--spectrum-listview-item-border-radius);
255
-
256
- &:after {
257
- border-end-start-radius: var(--spectrum-listview-item-border-radius);
258
- border-end-end-radius: var(--spectrum-listview-item-border-radius);
259
- }
260
- }
261
- }
262
- }
263
- }
264
-
265
- .react-spectrum-ListView-row[data-href] {
266
- cursor: pointer;
267
- }
268
-
269
- .react-spectrum-ListViewItem {
270
- display: grid; /* TODO: define grid areas */
271
- box-sizing: border-box;
272
- font-size: var(--spectrum-table-cell-text-size, var(--spectrum-alias-font-size-default));
273
- font-weight: var(--spectrum-table-cell-text-font-weight, var(--spectrum-global-font-weight-regular));
274
- line-height: var(--spectrum-listview-item-line-height);
275
- padding: var(--spectrum-listview-item-regular-padding-y) var(--spectrum-global-dimension-size-160);
276
- position: relative;
277
- /*background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));*/
278
- color: var(--spectrum-listview-item-text-color);
279
- outline: 0;
280
- min-height: var(--spectrum-global-dimension-size-500);
281
-
282
- &.is-hovered,
283
- &.is-focused {
284
- background-color: var(--spectrum-listview-item-background-color-hover);
285
- }
286
-
287
- &:focus-visible {
288
- background-color: var(--spectrum-listview-item-background-color-hover);
289
- }
290
-
291
- &.is-active {
292
- background-color: var(--spectrum-listview-item-background-color-down);
293
- }
294
-
295
- &.is-selected {
296
- background-color: var(--spectrum-listview-item-background-color-hover);
297
-
298
- &.is-hovered,
299
- &.is-active {
300
- background-color: var(--spectrum-listview-item-background-color-hover);
301
- }
302
-
303
- &:focus-visible {
304
- background-color: var(--spectrum-listview-item-background-color-selected-key-focus);
305
- }
306
- }
307
-
308
- &.is-disabled {
309
- &, .react-spectrum-ListViewItem-content, .react-spectrum-ListViewItem-description {
310
- color: var(--spectrum-listview-item-text-color-disabled);
311
- }
312
- }
313
-
314
- &.has-checkbox {
315
- /* have to eliminate vertical padding to allow proper vertical alignment */
316
- padding-top: 0px;
317
- padding-bottom: 0px;
318
- }
319
-
320
- .react-spectrum-ListViewItem-grid {
321
- display: grid;
322
- grid-template-columns: auto auto auto 1fr auto auto auto;
323
- grid-template-rows: 1fr auto;
324
- grid-template-areas:
325
- "draghandle checkbox thumbnail content actions actionmenu chevron"
326
- "draghandle checkbox thumbnail description actions actionmenu chevron";
327
- align-items: center;
328
- }
329
-
330
- .react-spectrum-ListViewItem-draghandle-container {
331
- grid-area: draghandle;
332
- width: var(--spectrum-global-dimension-size-250);
333
- display: flex;
334
- align-self: stretch;
335
- justify-self: stretch;
336
- justify-content: center;
337
- padding: var(--spectrum-global-dimension-size-25);
338
- padding-inline-start: var(--spectrum-global-dimension-size-40);
339
-
340
-
341
- .react-spectrum-ListViewItem-draghandle-button {
342
- width: var(--spectrum-global-dimension-size-200);
343
- display: flex;
344
- align-items: center;
345
- justify-content: center;
346
- border-radius: var(--spectrum-alias-border-radius-regular);
347
-
348
- &:focus-visible {
349
- box-shadow: inset 0 0 0 2px var(--spectrum-listview-item-draghandle-border-color-key-focus);
350
- outline: none;
351
-
352
- /* forced-color-adjust: none, so that box-shadow style will render */
353
- forced-color-adjust: none;
354
- }
355
- }
356
- }
357
-
358
- .react-spectrum-ListViewItem-checkboxWrapper {
359
- grid-area: checkbox;
360
- align-items: center;
361
- justify-items: center;
362
- transition-duration: 160ms;
363
- display: flex;
364
- }
365
-
366
- .react-spectrum-ListViewItem-checkbox {
367
- min-height: 0;
368
- height: 100%;
369
-
370
- > span {
371
- margin: 0;
372
- }
373
- }
374
-
375
- .react-spectrum-ListViewItem-thumbnail {
376
- box-sizing: content-box;
377
- grid-area: thumbnail;
378
- justify-items: center;
379
- padding-inline-end: var(--spectrum-global-dimension-size-100);
380
- display: flex;
381
- border-radius: var(--spectrum-global-dimension-size-25);
382
- width: var(--spectrum-global-dimension-size-400);
383
- height: var(--spectrum-global-dimension-size-400);
384
- align-items: center;
385
- justify-content: center;
386
-
387
- > img {
388
- width: unset;
389
- height: 100%;
390
- }
391
- }
392
-
393
- .react-spectrum-ListViewItem-content,
394
- .react-spectrum-ListViewItem-description {
395
- flex-grow: 1;
396
-
397
- /* truncate text with ellipsis */
398
- overflow: hidden;
399
- white-space: nowrap;
400
- text-overflow: ellipsis;
401
- height: var(--spectrum-listview-item-line-height);
402
- }
403
-
404
- .react-spectrum-ListViewItem-content {
405
- grid-area: content;
406
- color: var(--spectrum-listview-item-title-text-color);
407
- font-size: var(--spectrum-listview-item-title-text-size);
408
- }
409
-
410
- &:not(.react-spectrum-ListView--hasDescription) {
411
- .react-spectrum-ListViewItem-content {
412
- grid-area: content / description;
413
- }
414
- }
415
-
416
- .react-spectrum-ListViewItem-description {
417
- grid-area: description;
418
- color: var(--spectrum-listview-item-description-text-color);
419
- font-size: var(--spectrum-listview-item-description-text-size);
420
- }
421
-
422
- .react-spectrum-ListViewItem-actions {
423
- grid-area: actions;
424
- flex-grow: 0;
425
- flex-shrink: 0;
426
- }
427
-
428
- .react-spectrum-ListViewItem-actionmenu {
429
- grid-area: actionmenu;
430
- }
431
-
432
- .react-spectrum-ListViewItem-parentIndicator {
433
- grid-area: chevron;
434
- padding-inline-start: var(--spectrum-global-dimension-size-75);
435
- display: none;
436
- transition: color var(--spectrum-global-animation-duration-100);
437
-
438
- &.is-disabled {
439
- color: var(--spectrum-alias-icon-color-disabled);
440
- }
441
- }
442
-
443
- &.react-spectrum-ListViewItem-dragPreview {
444
- width: var(--spectrum-global-dimension-size-2400);
445
- border: 1px solid var(--spectrum-listview-dropzone-border-color-selected-hover);
446
- border-radius: var(--spectrum-alias-border-radius-regular);
447
- background-color: var(--spectrum-listview-background-color);
448
-
449
- /* forced-color-adjust: none, so that background-color style will render */
450
- forced-color-adjust: none;
451
-
452
- &.react-spectrum-ListViewItem-dragPreview--compact {
453
- padding-top: var(--spectrum-listview-item-compact-padding-y);
454
- padding-bottom: var(--spectrum-listview-item-compact-padding-y);
455
- }
456
-
457
- &.react-spectrum-ListViewItem-dragPreview--spacious {
458
- padding-top: var(--spectrum-listview-item-spacious-padding-y);
459
- padding-bottom: var(--spectrum-listview-item-spacious-padding-y);
460
- }
461
-
462
- .react-spectrum-ListViewItem-grid {
463
- grid-template-areas:
464
- "thumbnail content . badge"
465
- "thumbnail description . badge";
466
- grid-template-columns: auto auto 1fr auto;
467
- }
468
-
469
- .react-spectrum-ListViewItem-badge {
470
- grid-area: badge;
471
- color: var(--spectrum-listview-item-badge-text-color);
472
- background: var(--spectrum-listview-item-badge-background-color);
473
- padding: 0 8px;
474
- border-radius: var(--spectrum-alias-border-radius-regular);
475
- }
476
-
477
- &.react-spectrum-ListViewItem-dragPreview--multiple {
478
- position: relative;
479
-
480
- &:after {
481
- content: '';
482
- display: block;
483
- position: absolute;
484
- z-index: -1;
485
- top: 4px;
486
- inset-inline-start: 4px;
487
- width: 100%;
488
- height: 100%;
489
- border: 1px solid var(--spectrum-listview-dropzone-border-color-selected-hover);
490
- border-radius: var(--spectrum-alias-border-radius-regular);
491
- background-color: var(--spectrum-listview-background-color);
492
-
493
- /* forced-color-adjust: none, so that box-shadow style will render */
494
- forced-color-adjust: none;
495
- }
496
- }
497
-
498
- .react-spectrum-ListViewItem-actions,
499
- .react-spectrum-ListViewItem-actionmenu {
500
- display: none;
501
- }
502
- }
503
- }
504
- .react-spectrum-ListView:not(.react-spectrum-ListView--quiet) {
505
- /* give first and last items border-radius to match listview container */
506
-
507
- .react-spectrum-ListViewItem--firstRow.react-spectrum-ListViewItem {
508
- border-start-start-radius: var(--spectrum-listview-item-start-end-border-radius);
509
- border-start-end-radius: var(--spectrum-listview-item-start-end-border-radius);
510
- }
511
-
512
- .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem {
513
- border-end-start-radius: var(--spectrum-listview-item-start-end-border-radius);
514
- border-end-end-radius: var(--spectrum-listview-item-start-end-border-radius);
515
- }
516
-
517
- &.react-spectrum-ListView--isVerticalScrollbarVisible {
518
- .react-spectrum-ListViewItem--firstRow.react-spectrum-ListViewItem {
519
- border-start-end-radius: 0;
520
- }
521
-
522
- .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem {
523
- border-end-end-radius: 0;
524
- }
525
- }
526
-
527
- &.react-spectrum-ListView--isHorizontalScrollbarVisible {
528
- .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem {
529
- border-end-start-radius: 0;
530
- border-end-end-radius: 0;
531
- }
532
- }
533
- }
534
-
535
- .react-spectrum-ListView {
536
- /* When we can use subgrid, get rid of this. */
537
- &.react-spectrum-ListView--hasAnyChildren {
538
- .react-spectrum-ListViewItem-parentIndicator {
539
- display: inline-block;
540
- visibility: hidden;
541
- }
542
- .react-spectrum-ListViewItem-parentIndicator--hasChildItems {
543
- visibility: visible;
544
- }
545
- }
546
- }
547
-
548
- .react-spectrum-ListView--compact .react-spectrum-ListViewItem {
549
- padding-top: var(--spectrum-listview-item-compact-padding-y);
550
- padding-bottom: var(--spectrum-listview-item-compact-padding-y);
551
- min-height: var(--spectrum-global-dimension-size-400);
552
- }
553
-
554
- .react-spectrum-ListView--spacious .react-spectrum-ListViewItem {
555
- padding-top: var(--spectrum-listview-item-spacious-padding-y);
556
- padding-bottom: var(--spectrum-listview-item-spacious-padding-y);
557
- min-height: var(--spectrum-global-dimension-size-600);
558
- }
559
-
560
- .react-spectrum-ListView--draggable .react-spectrum-ListViewItem {
561
- padding-inline-start: 0;
562
-
563
- .react-spectrum-ListViewItem-checkbox {
564
- input {
565
- inset-inline-start: 0;
566
- }
567
- }
568
- }
569
-
570
- .react-spectrum-ListViewItem--dropTarget {
571
- background-color: var(--spectrum-listview-droptarget-background-color);
572
- box-shadow:
573
- inset 2px 0 0 0 var(--spectrum-listview-item-border-color-key-focus),
574
- inset -2px 0 0 0 var(--spectrum-listview-item-border-color-key-focus),
575
- inset 0 -3px 0 0 var(--spectrum-listview-item-border-color-key-focus),
576
- inset 0 2px 0 0 var(--spectrum-listview-item-border-color-key-focus);
577
-
578
- /* forced-color-adjust: none, so that box-shadow style will render */
579
- forced-color-adjust: none;
580
- }
581
-
582
- .react-spectrum-ListView.react-spectrum-ListView--dropTarget {
583
- border-color: var(--spectrum-listview-border-color-key-focus);
584
- background-color: var(--spectrum-listview-droptarget-background-color);
585
- box-shadow: inset 0 0 0 1px var(--spectrum-listview-item-border-color-key-focus);
586
-
587
- /* forced-color-adjust: none, so that box-shadow and background color styles will render */
588
- forced-color-adjust: none;
589
-
590
- /* Add border to quiet ListView only when it is a drop target */
591
- &.react-spectrum-ListView--quiet {
592
- box-shadow: inset 0 0 0 1px var(--spectrum-listview-item-border-color-key-focus), 0 0 0 1px var(--spectrum-listview-item-border-color-key-focus);
593
- }
594
- }
595
-
596
- .react-spectrum-ListView-centeredWrapper {
597
- display: flex;
598
- align-items: center;
599
- justify-content: center;
600
- width: 100%;
601
- height: 100%;
602
- &.react-spectrum-ListView-centeredWrapper--loadingMore {
603
- padding-top: var(--spectrum-global-dimension-size-50);
604
- }
605
- }
606
-
607
- .react-spectrum-ListViewInsertionIndicator {
608
- width: calc(100% - (2 * var(--spectrum-listview-dropindicator-circle-size)));
609
- inset-inline-start: var(--spectrum-listview-dropindicator-circle-size);
610
- position: absolute;
611
- outline: none;
612
-
613
- &.react-spectrum-ListViewInsertionIndicator--dropTarget {
614
- background: var(--spectrum-listview-dropindicator-border-color);
615
- border-bottom: 2px solid var(--spectrum-listview-dropindicator-border-color);
616
-
617
- /* forced-color-adjust: none, so that background color
618
- will render border for insertion indicator. */
619
- forced-color-adjust: none;
620
-
621
- &:before {
622
- left: calc(var(--spectrum-listview-dropindicator-circle-size) * -1);
623
- }
624
-
625
- &:after {
626
- right: calc(var(--spectrum-listview-dropindicator-circle-size) * -1);
627
- }
628
-
629
- &:before,
630
- &:after {
631
- content: '';
632
- position: absolute;
633
- top: calc(var(--spectrum-listview-dropindicator-circle-size) * -1 / 2 + var(--spectrum-listview-dropindicator-border-size) / 2);
634
- width: var(--spectrum-listview-dropindicator-circle-size);
635
- height: var(--spectrum-listview-dropindicator-circle-size);
636
- border-radius: 50%;
637
- border: var(--spectrum-listview-dropindicator-border-size) solid;
638
- box-sizing: border-box;
639
- border-color: var(--spectrum-listview-dropindicator-circle-border-color);
640
- background-color: var(--spectrum-listview-background-color);
641
- z-index: 5;
642
-
643
- /* forced-color-adjust: none, so that box-shadow and background-color styles will render */
644
- forced-color-adjust: none;
645
- }
646
- }
647
- }
648
-
649
- .react-spectrum-ListViewItem-checkbox--enter {
650
- opacity: 0.01;
651
- max-width: 0px;
652
- }
653
- .react-spectrum-ListViewItem-checkbox--enterActive {
654
- opacity: 1;
655
- max-width: 80px;
656
- }
657
- .react-spectrum-ListViewItem-checkbox--exit {
658
- opacity: 1;
659
- max-width: 80px;
660
- }
661
- .react-spectrum-ListViewItem-checkbox--exitActive {
662
- opacity: 0.01;
663
- max-width: 0px;
664
- }
665
-
666
- .react-spectrum-ListView {
667
- &:focus-visible {
668
- border-color: var(--spectrum-listview-border-color-key-focus);
669
- box-shadow: inset 0 0 0 1px var(--spectrum-listview-border-color-key-focus);
670
- }
671
- }
672
-
673
- @media (forced-colors: active) {
674
- .react-spectrum-ListView,
675
- .react-spectrum-ListViewItem {
676
- --spectrum-listview-background-color: Canvas;
677
- --spectrum-listview-item-background-color: Canvas;
678
- --spectrum-listview-item-background-color-selected: Canvas;
679
- --spectrum-listview-border-color-key-focus: Highlight;
680
- --spectrum-listview-item-border-color: CanvasText;
681
- --spectrum-listview-item-border-color-selected: Highlight;
682
- --spectrum-listview-item-border-color-key-focus: Highlight;
683
- --spectrum-listview-row-sticky-focus-indicator-color: Highlight;
684
- --spectrum-listview-droptarget-background-color: var(--spectrum-alias-global-color-transparent);
685
- --spectrum-listview-dropindicator-border-color: Highlight;
686
- --spectrum-listview-dropindicator-circle-border-color: Highlight;
687
- --spectrum-listview-dropzone-border-color-selected-hover: Highlight;
688
- --spectrum-listview-item-badge-text-color: HighlightText;
689
- --spectrum-listview-item-badge-background-color: Highlight;
690
- --spectrum-listview-item-title-text-color: CanvasText;
691
- --spectrum-listview-item-description-text-color: CanvasText;
692
- }
693
-
694
- .react-spectrum-ListView-row {
695
- &:focus-visible {
696
- .react-spectrum-ListViewItem {
697
- /* Adds a full outline style to the focused listview item to better distinguish between
698
- the selected, not selected, selected + focused and selected + not focused
699
- states without using a background color on the row in forced-colors: active mode. */
700
- &:after {
701
- outline: var(--spectrum-listview-row-sticky-focus-indicator-width) solid var(--spectrum-listview-row-sticky-focus-indicator-color);
702
- outline-offset: calc(-1 * var(--spectrum-listview-row-sticky-focus-indicator-width));
703
- top: calc(-1 * var(--spectrum-listview-border-width));
704
- height: calc(100% + var(--spectrum-listview-border-width));
705
- }
706
- }
707
- }
708
- }
709
-
710
- .react-spectrum-ListViewItem-draghandle-container {
711
- box-sizing: content-box;
712
-
713
- .react-spectrum-ListViewItem-draghandle-button {
714
- /* Use CanvasText, so that focus ring color on drag handle button matches
715
- focus ring color for other interactive elements within the listview item. */
716
- --spectrum-listview-item-draghandle-border-color-key-focus: CanvasText;
717
- }
718
- }
719
-
720
- }