@react-spectrum/table 3.0.0-beta.1 → 3.0.0-nightly-641446f65-240905

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 (266) hide show
  1. package/dist/DragPreview.main.js +54 -0
  2. package/dist/DragPreview.main.js.map +1 -0
  3. package/dist/DragPreview.mjs +49 -0
  4. package/dist/DragPreview.module.js +49 -0
  5. package/dist/DragPreview.module.js.map +1 -0
  6. package/dist/InsertionIndicator.main.js +63 -0
  7. package/dist/InsertionIndicator.main.js.map +1 -0
  8. package/dist/InsertionIndicator.mjs +58 -0
  9. package/dist/InsertionIndicator.module.js +58 -0
  10. package/dist/InsertionIndicator.module.js.map +1 -0
  11. package/dist/Nubbin.main.js +62 -0
  12. package/dist/Nubbin.main.js.map +1 -0
  13. package/dist/Nubbin.mjs +53 -0
  14. package/dist/Nubbin.module.js +53 -0
  15. package/dist/Nubbin.module.js.map +1 -0
  16. package/dist/Resizer.main.js +150 -0
  17. package/dist/Resizer.main.js.map +1 -0
  18. package/dist/Resizer.mjs +144 -0
  19. package/dist/Resizer.module.js +144 -0
  20. package/dist/Resizer.module.js.map +1 -0
  21. package/dist/RootDropIndicator.main.js +57 -0
  22. package/dist/RootDropIndicator.main.js.map +1 -0
  23. package/dist/RootDropIndicator.mjs +48 -0
  24. package/dist/RootDropIndicator.module.js +48 -0
  25. package/dist/RootDropIndicator.module.js.map +1 -0
  26. package/dist/TableView.main.js +50 -0
  27. package/dist/TableView.main.js.map +1 -0
  28. package/dist/TableView.mjs +41 -0
  29. package/dist/TableView.module.js +41 -0
  30. package/dist/TableView.module.js.map +1 -0
  31. package/dist/TableViewBase.main.js +1238 -0
  32. package/dist/TableViewBase.main.js.map +1 -0
  33. package/dist/TableViewBase.mjs +1231 -0
  34. package/dist/TableViewBase.module.js +1231 -0
  35. package/dist/TableViewBase.module.js.map +1 -0
  36. package/dist/TableViewLayout.main.js +97 -0
  37. package/dist/TableViewLayout.main.js.map +1 -0
  38. package/dist/TableViewLayout.mjs +92 -0
  39. package/dist/TableViewLayout.module.js +92 -0
  40. package/dist/TableViewLayout.module.js.map +1 -0
  41. package/dist/TableViewWrapper.main.js +46 -0
  42. package/dist/TableViewWrapper.main.js.map +1 -0
  43. package/dist/TableViewWrapper.mjs +37 -0
  44. package/dist/TableViewWrapper.module.js +37 -0
  45. package/dist/TableViewWrapper.module.js.map +1 -0
  46. package/dist/TreeGridTableView.main.js +50 -0
  47. package/dist/TreeGridTableView.main.js.map +1 -0
  48. package/dist/TreeGridTableView.mjs +41 -0
  49. package/dist/TreeGridTableView.module.js +41 -0
  50. package/dist/TreeGridTableView.module.js.map +1 -0
  51. package/dist/ar-AE.main.js +14 -0
  52. package/dist/ar-AE.main.js.map +1 -0
  53. package/dist/ar-AE.mjs +16 -0
  54. package/dist/ar-AE.module.js +16 -0
  55. package/dist/ar-AE.module.js.map +1 -0
  56. package/dist/bg-BG.main.js +14 -0
  57. package/dist/bg-BG.main.js.map +1 -0
  58. package/dist/bg-BG.mjs +16 -0
  59. package/dist/bg-BG.module.js +16 -0
  60. package/dist/bg-BG.module.js.map +1 -0
  61. package/dist/cs-CZ.main.js +14 -0
  62. package/dist/cs-CZ.main.js.map +1 -0
  63. package/dist/cs-CZ.mjs +16 -0
  64. package/dist/cs-CZ.module.js +16 -0
  65. package/dist/cs-CZ.module.js.map +1 -0
  66. package/dist/da-DK.main.js +14 -0
  67. package/dist/da-DK.main.js.map +1 -0
  68. package/dist/da-DK.mjs +16 -0
  69. package/dist/da-DK.module.js +16 -0
  70. package/dist/da-DK.module.js.map +1 -0
  71. package/dist/de-DE.main.js +14 -0
  72. package/dist/de-DE.main.js.map +1 -0
  73. package/dist/de-DE.mjs +16 -0
  74. package/dist/de-DE.module.js +16 -0
  75. package/dist/de-DE.module.js.map +1 -0
  76. package/dist/el-GR.main.js +14 -0
  77. package/dist/el-GR.main.js.map +1 -0
  78. package/dist/el-GR.mjs +16 -0
  79. package/dist/el-GR.module.js +16 -0
  80. package/dist/el-GR.module.js.map +1 -0
  81. package/dist/en-US.main.js +14 -0
  82. package/dist/en-US.main.js.map +1 -0
  83. package/dist/en-US.mjs +16 -0
  84. package/dist/en-US.module.js +16 -0
  85. package/dist/en-US.module.js.map +1 -0
  86. package/dist/es-ES.main.js +14 -0
  87. package/dist/es-ES.main.js.map +1 -0
  88. package/dist/es-ES.mjs +16 -0
  89. package/dist/es-ES.module.js +16 -0
  90. package/dist/es-ES.module.js.map +1 -0
  91. package/dist/et-EE.main.js +14 -0
  92. package/dist/et-EE.main.js.map +1 -0
  93. package/dist/et-EE.mjs +16 -0
  94. package/dist/et-EE.module.js +16 -0
  95. package/dist/et-EE.module.js.map +1 -0
  96. package/dist/fi-FI.main.js +14 -0
  97. package/dist/fi-FI.main.js.map +1 -0
  98. package/dist/fi-FI.mjs +16 -0
  99. package/dist/fi-FI.module.js +16 -0
  100. package/dist/fi-FI.module.js.map +1 -0
  101. package/dist/fr-FR.main.js +14 -0
  102. package/dist/fr-FR.main.js.map +1 -0
  103. package/dist/fr-FR.mjs +16 -0
  104. package/dist/fr-FR.module.js +16 -0
  105. package/dist/fr-FR.module.js.map +1 -0
  106. package/dist/he-IL.main.js +14 -0
  107. package/dist/he-IL.main.js.map +1 -0
  108. package/dist/he-IL.mjs +16 -0
  109. package/dist/he-IL.module.js +16 -0
  110. package/dist/he-IL.module.js.map +1 -0
  111. package/dist/hr-HR.main.js +14 -0
  112. package/dist/hr-HR.main.js.map +1 -0
  113. package/dist/hr-HR.mjs +16 -0
  114. package/dist/hr-HR.module.js +16 -0
  115. package/dist/hr-HR.module.js.map +1 -0
  116. package/dist/hu-HU.main.js +14 -0
  117. package/dist/hu-HU.main.js.map +1 -0
  118. package/dist/hu-HU.mjs +16 -0
  119. package/dist/hu-HU.module.js +16 -0
  120. package/dist/hu-HU.module.js.map +1 -0
  121. package/dist/import.mjs +22 -0
  122. package/dist/intlStrings.main.js +108 -0
  123. package/dist/intlStrings.main.js.map +1 -0
  124. package/dist/intlStrings.mjs +110 -0
  125. package/dist/intlStrings.module.js +110 -0
  126. package/dist/intlStrings.module.js.map +1 -0
  127. package/dist/it-IT.main.js +14 -0
  128. package/dist/it-IT.main.js.map +1 -0
  129. package/dist/it-IT.mjs +16 -0
  130. package/dist/it-IT.module.js +16 -0
  131. package/dist/it-IT.module.js.map +1 -0
  132. package/dist/ja-JP.main.js +14 -0
  133. package/dist/ja-JP.main.js.map +1 -0
  134. package/dist/ja-JP.mjs +16 -0
  135. package/dist/ja-JP.module.js +16 -0
  136. package/dist/ja-JP.module.js.map +1 -0
  137. package/dist/ko-KR.main.js +14 -0
  138. package/dist/ko-KR.main.js.map +1 -0
  139. package/dist/ko-KR.mjs +16 -0
  140. package/dist/ko-KR.module.js +16 -0
  141. package/dist/ko-KR.module.js.map +1 -0
  142. package/dist/lt-LT.main.js +14 -0
  143. package/dist/lt-LT.main.js.map +1 -0
  144. package/dist/lt-LT.mjs +16 -0
  145. package/dist/lt-LT.module.js +16 -0
  146. package/dist/lt-LT.module.js.map +1 -0
  147. package/dist/lv-LV.main.js +14 -0
  148. package/dist/lv-LV.main.js.map +1 -0
  149. package/dist/lv-LV.mjs +16 -0
  150. package/dist/lv-LV.module.js +16 -0
  151. package/dist/lv-LV.module.js.map +1 -0
  152. package/dist/main.js +28 -884
  153. package/dist/main.js.map +1 -1
  154. package/dist/module.js +17 -792
  155. package/dist/module.js.map +1 -1
  156. package/dist/nb-NO.main.js +14 -0
  157. package/dist/nb-NO.main.js.map +1 -0
  158. package/dist/nb-NO.mjs +16 -0
  159. package/dist/nb-NO.module.js +16 -0
  160. package/dist/nb-NO.module.js.map +1 -0
  161. package/dist/nl-NL.main.js +14 -0
  162. package/dist/nl-NL.main.js.map +1 -0
  163. package/dist/nl-NL.mjs +16 -0
  164. package/dist/nl-NL.module.js +16 -0
  165. package/dist/nl-NL.module.js.map +1 -0
  166. package/dist/pl-PL.main.js +14 -0
  167. package/dist/pl-PL.main.js.map +1 -0
  168. package/dist/pl-PL.mjs +16 -0
  169. package/dist/pl-PL.module.js +16 -0
  170. package/dist/pl-PL.module.js.map +1 -0
  171. package/dist/pt-BR.main.js +14 -0
  172. package/dist/pt-BR.main.js.map +1 -0
  173. package/dist/pt-BR.mjs +16 -0
  174. package/dist/pt-BR.module.js +16 -0
  175. package/dist/pt-BR.module.js.map +1 -0
  176. package/dist/pt-PT.main.js +14 -0
  177. package/dist/pt-PT.main.js.map +1 -0
  178. package/dist/pt-PT.mjs +16 -0
  179. package/dist/pt-PT.module.js +16 -0
  180. package/dist/pt-PT.module.js.map +1 -0
  181. package/dist/ro-RO.main.js +14 -0
  182. package/dist/ro-RO.main.js.map +1 -0
  183. package/dist/ro-RO.mjs +16 -0
  184. package/dist/ro-RO.module.js +16 -0
  185. package/dist/ro-RO.module.js.map +1 -0
  186. package/dist/ru-RU.main.js +14 -0
  187. package/dist/ru-RU.main.js.map +1 -0
  188. package/dist/ru-RU.mjs +16 -0
  189. package/dist/ru-RU.module.js +16 -0
  190. package/dist/ru-RU.module.js.map +1 -0
  191. package/dist/sk-SK.main.js +14 -0
  192. package/dist/sk-SK.main.js.map +1 -0
  193. package/dist/sk-SK.mjs +16 -0
  194. package/dist/sk-SK.module.js +16 -0
  195. package/dist/sk-SK.module.js.map +1 -0
  196. package/dist/sl-SI.main.js +14 -0
  197. package/dist/sl-SI.main.js.map +1 -0
  198. package/dist/sl-SI.mjs +16 -0
  199. package/dist/sl-SI.module.js +16 -0
  200. package/dist/sl-SI.module.js.map +1 -0
  201. package/dist/sr-SP.main.js +14 -0
  202. package/dist/sr-SP.main.js.map +1 -0
  203. package/dist/sr-SP.mjs +16 -0
  204. package/dist/sr-SP.module.js +16 -0
  205. package/dist/sr-SP.module.js.map +1 -0
  206. package/dist/sv-SE.main.js +14 -0
  207. package/dist/sv-SE.main.js.map +1 -0
  208. package/dist/sv-SE.mjs +16 -0
  209. package/dist/sv-SE.module.js +16 -0
  210. package/dist/sv-SE.module.js.map +1 -0
  211. package/dist/table.b13eee90.css +220 -0
  212. package/dist/table.b13eee90.css.map +1 -0
  213. package/dist/table_css.main.js +74 -0
  214. package/dist/table_css.main.js.map +1 -0
  215. package/dist/table_css.mjs +76 -0
  216. package/dist/table_css.module.js +76 -0
  217. package/dist/table_css.module.js.map +1 -0
  218. package/dist/table_vars_css.main.js +197 -0
  219. package/dist/table_vars_css.main.js.map +1 -0
  220. package/dist/table_vars_css.mjs +199 -0
  221. package/dist/table_vars_css.module.js +199 -0
  222. package/dist/table_vars_css.module.js.map +1 -0
  223. package/dist/tr-TR.main.js +14 -0
  224. package/dist/tr-TR.main.js.map +1 -0
  225. package/dist/tr-TR.mjs +16 -0
  226. package/dist/tr-TR.module.js +16 -0
  227. package/dist/tr-TR.module.js.map +1 -0
  228. package/dist/types.d.ts +77 -4
  229. package/dist/types.d.ts.map +1 -1
  230. package/dist/uk-UA.main.js +14 -0
  231. package/dist/uk-UA.main.js.map +1 -0
  232. package/dist/uk-UA.mjs +16 -0
  233. package/dist/uk-UA.module.js +16 -0
  234. package/dist/uk-UA.module.js.map +1 -0
  235. package/dist/vars.ce47d5ba.css +992 -0
  236. package/dist/vars.ce47d5ba.css.map +1 -0
  237. package/dist/zh-CN.main.js +14 -0
  238. package/dist/zh-CN.main.js.map +1 -0
  239. package/dist/zh-CN.mjs +16 -0
  240. package/dist/zh-CN.module.js +16 -0
  241. package/dist/zh-CN.module.js.map +1 -0
  242. package/dist/zh-TW.main.js +14 -0
  243. package/dist/zh-TW.main.js.map +1 -0
  244. package/dist/zh-TW.mjs +16 -0
  245. package/dist/zh-TW.module.js +16 -0
  246. package/dist/zh-TW.module.js.map +1 -0
  247. package/package.json +40 -28
  248. package/src/DragPreview.tsx +77 -0
  249. package/src/InsertionIndicator.tsx +62 -0
  250. package/src/Nubbin.tsx +28 -0
  251. package/src/Resizer.tsx +139 -0
  252. package/src/RootDropIndicator.tsx +40 -0
  253. package/src/TableView.tsx +24 -630
  254. package/src/TableViewBase.tsx +1552 -0
  255. package/src/TableViewLayout.ts +95 -0
  256. package/src/TableViewWrapper.tsx +106 -0
  257. package/src/TreeGridTableView.tsx +47 -0
  258. package/src/cursors/Cur_MoveHorizontal_9_9.svg +10 -0
  259. package/src/cursors/Cur_MoveToLeft_9_9.svg +10 -0
  260. package/src/cursors/Cur_MoveToRight_9_9.svg +10 -0
  261. package/src/index.ts +5 -1
  262. package/src/table.css +191 -0
  263. package/LICENSE +0 -201
  264. package/dist/main.css +0 -2
  265. package/dist/main.css.map +0 -1
  266. package/src/.DS_Store +0 -0
@@ -0,0 +1 @@
1
+ {"mappings":"AA4DA;;;;;AAIE;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAQA;;;;AAIA;;;;AAKF;;;;;;;;AAOE;;;;;;;;;;;AAqBE;;;;;AAQF;;;;AAKE;;;;;AAOJ;EACE;;;;EAIE;;;;;AAMJ;;;;;;;;AAUA;;;;;;;;;AAYA;;;;;;;AAQA;;;;;;;;;;;;AAYA;;;;;;;;AAQA;;;;;;;;;;;;;AAYE;;;;AAME;;;;;AAQA;;;;AAIF;;;;AAEE;;;;;AAIA;;;;;;;AAWJ;;;;;;;;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAUE;;;;;;;;AAQA;;;;AAMF;;;;;;;;;AAQA;;;;;;;;AAQA;;;;AAIA;;;;AAOE;;;;;;;AAWF;;;;;;;;;AAWE;;;;AAAA;;;;AAAA;;;;AAAA;;;;AASA;;;;;AAIE;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAMJ;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;;;AAQE;;;;;;;AAQF;;;;;;;;;;;AAgBA;;;;;;;;;;;AAWI;;;;AAGA;;;;AAMJ;;;;;AAKA;;;;AAIA;;;;AAKE;;;;AAQE;;;;;;;;AAJF;;;;AAIE;;;;;;;;AAiBJ;;;;;AAKA;;;;;;;;AAQA;;;;;;;;AAQA;;;;;;;;AAQA;;;;;;;;AAYI;;;;;;;AASJ;;;;AAIA;;;;;;AAKE;;;;AAIA;;;;AAME;;;;;;;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAWA;;;;;AAUE;;;;;AAAA;;;;;AAAA;;;;;AAAA;;;;;AAWA;;;;;AAAA;;;;;AAAA;;;;;AAAA;;;;;AASE;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAMA;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAUA;;;;;AAAA;;;;;AAAA;;;;;AAAA;;;;;AAWR;;;;AAIA;;;;AAKE;;;;;AAKA;;;;AAOI;;;;AAON;;;;;;;AAQE;;;;AAKF;;;;AAIA;;;;;;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAQE;;;;AAKF;;;;;;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAAA;;;;AAUE;;;;AAKF;EAMM;;;;;;;;AAsBN;;;;;;;;;;AAUA;;;;;;AASA;;;;;;AAUI;;;;AAIA;;;;AAGE;;;;AAKF;;;;AAIE;;;;AAJF;;;;AAIE;;;;AAKF;;;;AAGE;;;;AAxBF;;;;AAIA;;;;AAGE;;;;AAKF;;;;AAIE;;;;AAJF;;;;AAIE;;;;AAKF;;;;AAGE;;;;AASN;;;;;AAIE;;;;AAUE;;;;;AASJ;;;;;;AAMI;;;;;;;;;;AAWF;;;;;AAIE;;;;AASJ;;;;AAGE;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAKF;;;;AAGE;;;;AAQA;;;;AAUE;;;;AAKF;;;;AAIA;;;;AAYA;;;;;;;;;;;AAkBE;;;;AAMA;;;;AAIA;;;;AAKA;;;;AAMA;;;;AAUE;;;;AAOF;;;;;;AAUJ;;;;;AAKA;;;;;AAME;;;;;AAIE;;;;;AAIE;;;;AAOF;;;;AAIA;;;;AASA;;;;AAKE;;;;AAIA;;;;AAIA;;;;AAQF;;;;;AASF;;;;AAOE;;;;AAOF;;;;AAOE;;;;;AAIA;;;;;AAOJ;;;;AAIA;EACE;;;;;;;;;;;;;;;;EAkBI;;;;EASA","sources":["packages/@adobe/spectrum-css-temp/components/table/vars.css"],"sourcesContent":["/*\n * Copyright 2020 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 */\n\n@import './index.css';\n@import './skin.css';\n"],"names":[],"version":3,"file":"vars.ce47d5ba.css.map"}
@@ -0,0 +1,14 @@
1
+ module.exports = {
2
+ "collapse": `\u{6298}\u{53E0}`,
3
+ "columnResizer": `\u{5217}\u{5C3A}\u{5BF8}\u{8C03}\u{6574}\u{5668}`,
4
+ "drag": `\u{62D6}\u{52A8}`,
5
+ "expand": `\u{6269}\u{5C55}`,
6
+ "loading": `\u{6B63}\u{5728}\u{52A0}\u{8F7D}...`,
7
+ "loadingMore": `\u{6B63}\u{5728}\u{52A0}\u{8F7D}\u{66F4}\u{591A}...`,
8
+ "resizeColumn": `\u{8C03}\u{6574}\u{5217}\u{5927}\u{5C0F}`,
9
+ "sortAscending": `\u{5347}\u{5E8F}\u{6392}\u{5E8F}`,
10
+ "sortDescending": `\u{964D}\u{5E8F}\u{6392}\u{5E8F}`
11
+ };
12
+
13
+
14
+ //# sourceMappingURL=zh-CN.main.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"AAAA,iBAAiB;IAAG,YAAY,CAAC,gBAAE,CAAC;IAClC,iBAAiB,CAAC,gDAAM,CAAC;IACzB,QAAQ,CAAC,gBAAE,CAAC;IACZ,UAAU,CAAC,gBAAE,CAAC;IACd,WAAW,CAAC,mCAAO,CAAC;IACpB,eAAe,CAAC,mDAAS,CAAC;IAC1B,gBAAgB,CAAC,wCAAK,CAAC;IACvB,iBAAiB,CAAC,gCAAI,CAAC;IACvB,kBAAkB,CAAC,gCAAI,CAAC;AAC1B","sources":["packages/@react-spectrum/table/intl/zh-CN.json"],"sourcesContent":["{\n \"collapse\": \"折叠\",\n \"columnResizer\": \"列尺寸调整器\",\n \"drag\": \"拖动\",\n \"expand\": \"扩展\",\n \"loading\": \"正在加载...\",\n \"loadingMore\": \"正在加载更多...\",\n \"resizeColumn\": \"调整列大小\",\n \"sortAscending\": \"升序排序\",\n \"sortDescending\": \"降序排序\"\n}\n"],"names":[],"version":3,"file":"zh-CN.main.js.map"}
package/dist/zh-CN.mjs ADDED
@@ -0,0 +1,16 @@
1
+ var $8de129c51e22709f$exports = {};
2
+ $8de129c51e22709f$exports = {
3
+ "collapse": `\u{6298}\u{53E0}`,
4
+ "columnResizer": `\u{5217}\u{5C3A}\u{5BF8}\u{8C03}\u{6574}\u{5668}`,
5
+ "drag": `\u{62D6}\u{52A8}`,
6
+ "expand": `\u{6269}\u{5C55}`,
7
+ "loading": `\u{6B63}\u{5728}\u{52A0}\u{8F7D}...`,
8
+ "loadingMore": `\u{6B63}\u{5728}\u{52A0}\u{8F7D}\u{66F4}\u{591A}...`,
9
+ "resizeColumn": `\u{8C03}\u{6574}\u{5217}\u{5927}\u{5C0F}`,
10
+ "sortAscending": `\u{5347}\u{5E8F}\u{6392}\u{5E8F}`,
11
+ "sortDescending": `\u{964D}\u{5E8F}\u{6392}\u{5E8F}`
12
+ };
13
+
14
+
15
+ export {$8de129c51e22709f$exports as default};
16
+ //# sourceMappingURL=zh-CN.module.js.map
@@ -0,0 +1,16 @@
1
+ var $8de129c51e22709f$exports = {};
2
+ $8de129c51e22709f$exports = {
3
+ "collapse": `\u{6298}\u{53E0}`,
4
+ "columnResizer": `\u{5217}\u{5C3A}\u{5BF8}\u{8C03}\u{6574}\u{5668}`,
5
+ "drag": `\u{62D6}\u{52A8}`,
6
+ "expand": `\u{6269}\u{5C55}`,
7
+ "loading": `\u{6B63}\u{5728}\u{52A0}\u{8F7D}...`,
8
+ "loadingMore": `\u{6B63}\u{5728}\u{52A0}\u{8F7D}\u{66F4}\u{591A}...`,
9
+ "resizeColumn": `\u{8C03}\u{6574}\u{5217}\u{5927}\u{5C0F}`,
10
+ "sortAscending": `\u{5347}\u{5E8F}\u{6392}\u{5E8F}`,
11
+ "sortDescending": `\u{964D}\u{5E8F}\u{6392}\u{5E8F}`
12
+ };
13
+
14
+
15
+ export {$8de129c51e22709f$exports as default};
16
+ //# sourceMappingURL=zh-CN.module.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";AAAA,4BAAiB;IAAG,YAAY,CAAC,gBAAE,CAAC;IAClC,iBAAiB,CAAC,gDAAM,CAAC;IACzB,QAAQ,CAAC,gBAAE,CAAC;IACZ,UAAU,CAAC,gBAAE,CAAC;IACd,WAAW,CAAC,mCAAO,CAAC;IACpB,eAAe,CAAC,mDAAS,CAAC;IAC1B,gBAAgB,CAAC,wCAAK,CAAC;IACvB,iBAAiB,CAAC,gCAAI,CAAC;IACvB,kBAAkB,CAAC,gCAAI,CAAC;AAC1B","sources":["packages/@react-spectrum/table/intl/zh-CN.json"],"sourcesContent":["{\n \"collapse\": \"折叠\",\n \"columnResizer\": \"列尺寸调整器\",\n \"drag\": \"拖动\",\n \"expand\": \"扩展\",\n \"loading\": \"正在加载...\",\n \"loadingMore\": \"正在加载更多...\",\n \"resizeColumn\": \"调整列大小\",\n \"sortAscending\": \"升序排序\",\n \"sortDescending\": \"降序排序\"\n}\n"],"names":[],"version":3,"file":"zh-CN.module.js.map"}
@@ -0,0 +1,14 @@
1
+ module.exports = {
2
+ "collapse": `\u{6536}\u{5408}`,
3
+ "columnResizer": `\u{6B04}\u{5927}\u{5C0F}\u{8ABF}\u{6574}\u{5668}`,
4
+ "drag": `\u{62D6}\u{66F3}`,
5
+ "expand": `\u{5C55}\u{958B}`,
6
+ "loading": `\u{8F09}\u{5165}\u{4E2D}\u{2026}`,
7
+ "loadingMore": `\u{6B63}\u{5728}\u{8F09}\u{5165}\u{66F4}\u{591A}\u{2026}`,
8
+ "resizeColumn": `\u{8ABF}\u{6574}\u{6B04}\u{5927}\u{5C0F}`,
9
+ "sortAscending": `\u{5347}\u{5E8F}\u{6392}\u{5E8F}`,
10
+ "sortDescending": `\u{964D}\u{5E8F}\u{6392}\u{5E8F}`
11
+ };
12
+
13
+
14
+ //# sourceMappingURL=zh-TW.main.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"AAAA,iBAAiB;IAAG,YAAY,CAAC,gBAAE,CAAC;IAClC,iBAAiB,CAAC,gDAAM,CAAC;IACzB,QAAQ,CAAC,gBAAE,CAAC;IACZ,UAAU,CAAC,gBAAE,CAAC;IACd,WAAW,CAAC,gCAAI,CAAC;IACjB,eAAe,CAAC,wDAAO,CAAC;IACxB,gBAAgB,CAAC,wCAAK,CAAC;IACvB,iBAAiB,CAAC,gCAAI,CAAC;IACvB,kBAAkB,CAAC,gCAAI,CAAC;AAC1B","sources":["packages/@react-spectrum/table/intl/zh-TW.json"],"sourcesContent":["{\n \"collapse\": \"收合\",\n \"columnResizer\": \"欄大小調整器\",\n \"drag\": \"拖曳\",\n \"expand\": \"展開\",\n \"loading\": \"載入中…\",\n \"loadingMore\": \"正在載入更多…\",\n \"resizeColumn\": \"調整欄大小\",\n \"sortAscending\": \"升序排序\",\n \"sortDescending\": \"降序排序\"\n}\n"],"names":[],"version":3,"file":"zh-TW.main.js.map"}
package/dist/zh-TW.mjs ADDED
@@ -0,0 +1,16 @@
1
+ var $e57af0887d00746b$exports = {};
2
+ $e57af0887d00746b$exports = {
3
+ "collapse": `\u{6536}\u{5408}`,
4
+ "columnResizer": `\u{6B04}\u{5927}\u{5C0F}\u{8ABF}\u{6574}\u{5668}`,
5
+ "drag": `\u{62D6}\u{66F3}`,
6
+ "expand": `\u{5C55}\u{958B}`,
7
+ "loading": `\u{8F09}\u{5165}\u{4E2D}\u{2026}`,
8
+ "loadingMore": `\u{6B63}\u{5728}\u{8F09}\u{5165}\u{66F4}\u{591A}\u{2026}`,
9
+ "resizeColumn": `\u{8ABF}\u{6574}\u{6B04}\u{5927}\u{5C0F}`,
10
+ "sortAscending": `\u{5347}\u{5E8F}\u{6392}\u{5E8F}`,
11
+ "sortDescending": `\u{964D}\u{5E8F}\u{6392}\u{5E8F}`
12
+ };
13
+
14
+
15
+ export {$e57af0887d00746b$exports as default};
16
+ //# sourceMappingURL=zh-TW.module.js.map
@@ -0,0 +1,16 @@
1
+ var $e57af0887d00746b$exports = {};
2
+ $e57af0887d00746b$exports = {
3
+ "collapse": `\u{6536}\u{5408}`,
4
+ "columnResizer": `\u{6B04}\u{5927}\u{5C0F}\u{8ABF}\u{6574}\u{5668}`,
5
+ "drag": `\u{62D6}\u{66F3}`,
6
+ "expand": `\u{5C55}\u{958B}`,
7
+ "loading": `\u{8F09}\u{5165}\u{4E2D}\u{2026}`,
8
+ "loadingMore": `\u{6B63}\u{5728}\u{8F09}\u{5165}\u{66F4}\u{591A}\u{2026}`,
9
+ "resizeColumn": `\u{8ABF}\u{6574}\u{6B04}\u{5927}\u{5C0F}`,
10
+ "sortAscending": `\u{5347}\u{5E8F}\u{6392}\u{5E8F}`,
11
+ "sortDescending": `\u{964D}\u{5E8F}\u{6392}\u{5E8F}`
12
+ };
13
+
14
+
15
+ export {$e57af0887d00746b$exports as default};
16
+ //# sourceMappingURL=zh-TW.module.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";AAAA,4BAAiB;IAAG,YAAY,CAAC,gBAAE,CAAC;IAClC,iBAAiB,CAAC,gDAAM,CAAC;IACzB,QAAQ,CAAC,gBAAE,CAAC;IACZ,UAAU,CAAC,gBAAE,CAAC;IACd,WAAW,CAAC,gCAAI,CAAC;IACjB,eAAe,CAAC,wDAAO,CAAC;IACxB,gBAAgB,CAAC,wCAAK,CAAC;IACvB,iBAAiB,CAAC,gCAAI,CAAC;IACvB,kBAAkB,CAAC,gCAAI,CAAC;AAC1B","sources":["packages/@react-spectrum/table/intl/zh-TW.json"],"sourcesContent":["{\n \"collapse\": \"收合\",\n \"columnResizer\": \"欄大小調整器\",\n \"drag\": \"拖曳\",\n \"expand\": \"展開\",\n \"loading\": \"載入中…\",\n \"loadingMore\": \"正在載入更多…\",\n \"resizeColumn\": \"調整欄大小\",\n \"sortAscending\": \"升序排序\",\n \"sortDescending\": \"降序排序\"\n}\n"],"names":[],"version":3,"file":"zh-TW.module.js.map"}
package/package.json CHANGED
@@ -1,10 +1,15 @@
1
1
  {
2
2
  "name": "@react-spectrum/table",
3
- "version": "3.0.0-beta.1",
3
+ "version": "3.0.0-nightly-641446f65-240905",
4
4
  "description": "Spectrum UI components in React",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/main.js",
7
7
  "module": "dist/module.js",
8
+ "exports": {
9
+ "types": "./dist/types.d.ts",
10
+ "import": "./dist/import.mjs",
11
+ "require": "./dist/main.js"
12
+ },
8
13
  "types": "dist/types.d.ts",
9
14
  "source": "src/index.ts",
10
15
  "files": [
@@ -31,38 +36,45 @@
31
36
  "url": "https://github.com/adobe/react-spectrum"
32
37
  },
33
38
  "dependencies": {
34
- "@babel/runtime": "^7.6.2",
35
- "@react-aria/focus": "^3.4.0",
36
- "@react-aria/grid": "3.0.0-beta.1",
37
- "@react-aria/i18n": "^3.3.1",
38
- "@react-aria/interactions": "^3.5.0",
39
- "@react-aria/table": "3.0.0-beta.1",
40
- "@react-aria/utils": "^3.8.1",
41
- "@react-aria/virtualizer": "^3.3.3",
42
- "@react-aria/visually-hidden": "^3.2.2",
43
- "@react-spectrum/checkbox": "^3.2.3",
44
- "@react-spectrum/progress": "^3.1.2",
45
- "@react-spectrum/tooltip": "^3.1.3",
46
- "@react-spectrum/utils": "^3.6.1",
47
- "@react-stately/collections": "^3.3.2",
48
- "@react-stately/grid": "3.0.0-beta.0",
49
- "@react-stately/layout": "^3.3.1",
50
- "@react-stately/table": "3.0.0-beta.1",
51
- "@react-stately/virtualizer": "^3.1.4",
52
- "@react-types/grid": "3.0.0-beta.0",
53
- "@react-types/shared": "^3.7.0",
54
- "@react-types/table": "3.0.0-beta.1",
55
- "@spectrum-icons/ui": "^3.2.0"
39
+ "@react-aria/button": "^3.0.0-nightly-641446f65-240905",
40
+ "@react-aria/focus": "^3.0.0-nightly-641446f65-240905",
41
+ "@react-aria/i18n": "^3.0.0-nightly-641446f65-240905",
42
+ "@react-aria/interactions": "^3.0.0-nightly-641446f65-240905",
43
+ "@react-aria/overlays": "^3.0.0-nightly-641446f65-240905",
44
+ "@react-aria/selection": "^3.0.0-nightly-641446f65-240905",
45
+ "@react-aria/table": "^3.0.0-nightly-641446f65-240905",
46
+ "@react-aria/utils": "^3.0.0-nightly-641446f65-240905",
47
+ "@react-aria/virtualizer": "^3.0.0-nightly-641446f65-240905",
48
+ "@react-aria/visually-hidden": "^3.0.0-nightly-641446f65-240905",
49
+ "@react-spectrum/checkbox": "^3.0.0-nightly-641446f65-240905",
50
+ "@react-spectrum/dnd": "^3.0.0-nightly-641446f65-240905",
51
+ "@react-spectrum/layout": "^3.0.0-nightly-641446f65-240905",
52
+ "@react-spectrum/menu": "^3.0.0-nightly-641446f65-240905",
53
+ "@react-spectrum/progress": "^3.0.0-nightly-641446f65-240905",
54
+ "@react-spectrum/tooltip": "^3.0.0-nightly-641446f65-240905",
55
+ "@react-spectrum/utils": "^3.0.0-nightly-641446f65-240905",
56
+ "@react-stately/flags": "^3.0.0-nightly-641446f65-240905",
57
+ "@react-stately/layout": "^3.0.0-nightly-641446f65-240905",
58
+ "@react-stately/table": "^3.0.0-nightly-641446f65-240905",
59
+ "@react-stately/virtualizer": "^3.0.0-nightly-641446f65-240905",
60
+ "@react-types/grid": "^3.0.0-nightly-641446f65-240905",
61
+ "@react-types/shared": "^3.0.0-nightly-641446f65-240905",
62
+ "@react-types/table": "^3.0.0-nightly-641446f65-240905",
63
+ "@spectrum-icons/ui": "^3.0.0-nightly-641446f65-240905",
64
+ "@swc/helpers": "^0.5.0"
56
65
  },
57
66
  "devDependencies": {
58
- "@adobe/spectrum-css-temp": "3.0.0-alpha.1"
67
+ "@adobe/spectrum-css-temp": "3.0.0-alpha.1",
68
+ "@react-aria/dnd": "^3.0.0-nightly-641446f65-240905",
69
+ "@react-stately/dnd": "^3.0.0-nightly-641446f65-240905"
59
70
  },
60
71
  "peerDependencies": {
61
- "@react-spectrum/provider": "^3.0.0-rc.1",
62
- "react": "^16.8.0 || ^17.0.0-rc.1"
72
+ "@react-spectrum/provider": "^3.0.0-nightly-641446f65-240905",
73
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
74
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
63
75
  },
64
76
  "publishConfig": {
65
77
  "access": "public"
66
78
  },
67
- "gitHead": "2c7164335bcbadf2382d1f984859cc620dc00cc7"
68
- }
79
+ "stableVersion": "3.13.1"
80
+ }
@@ -0,0 +1,77 @@
1
+ /*
2
+ * Copyright 2023 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
+ import {classNames} from '@react-spectrum/utils';
14
+ import {Flex} from '@react-spectrum/layout';
15
+ import React from 'react';
16
+ import styles from '@adobe/spectrum-css-temp/components/table/vars.css';
17
+ import stylesOverrides from './table.css';
18
+
19
+ interface DragPreviewProps {
20
+ itemText: string,
21
+ itemCount: number,
22
+ height: number,
23
+ maxWidth: number
24
+ }
25
+
26
+ export function DragPreview(props: DragPreviewProps) {
27
+ let {
28
+ itemText,
29
+ itemCount,
30
+ height,
31
+ maxWidth
32
+ } = props;
33
+ let isDraggingMultiple = itemCount > 1;
34
+ return (
35
+ <Flex
36
+ justifyContent="space-between"
37
+ height={height}
38
+ maxWidth={maxWidth}
39
+ UNSAFE_className={
40
+ classNames(
41
+ styles,
42
+ 'spectrum-Table-row',
43
+ classNames(
44
+ stylesOverrides,
45
+ 'react-spectrum-Table-row',
46
+ 'react-spectrum-Table-row-dragPreview',
47
+ {'react-spectrum-Table-row-dragPreview--multiple': isDraggingMultiple}
48
+ )
49
+ )
50
+ }>
51
+ <div
52
+ className={
53
+ classNames(
54
+ styles,
55
+ 'spectrum-Table-cell',
56
+ classNames(
57
+ stylesOverrides,
58
+ 'react-spectrum-Table-cell'
59
+ )
60
+ )
61
+ }>
62
+ <span
63
+ className={
64
+ classNames(
65
+ styles,
66
+ 'spectrum-Table-cellContents'
67
+ )
68
+ }>
69
+ {itemText}
70
+ </span>
71
+ </div>
72
+ {isDraggingMultiple &&
73
+ <div className={classNames(stylesOverrides, 'react-spectrum-Table-row-badge')}>{itemCount}</div>
74
+ }
75
+ </Flex>
76
+ );
77
+ }
@@ -0,0 +1,62 @@
1
+ /*
2
+ * Copyright 2023 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
+ import {classNames} from '@react-spectrum/utils';
14
+ import {FocusableElement, ItemDropTarget} from '@react-types/shared';
15
+ import React, {DOMAttributes, HTMLAttributes, useRef} from 'react';
16
+ import styles from './table.css';
17
+ import {useTableContext} from './TableViewBase';
18
+ import {useVisuallyHidden} from '@react-aria/visually-hidden';
19
+
20
+ interface InsertionIndicatorProps {
21
+ target: ItemDropTarget,
22
+ rowProps: HTMLAttributes<HTMLElement> & DOMAttributes<FocusableElement>
23
+ }
24
+
25
+ export function InsertionIndicator(props: InsertionIndicatorProps) {
26
+ let {dropState, dragAndDropHooks} = useTableContext();
27
+ const {target, rowProps} = props;
28
+
29
+ let ref = useRef(undefined);
30
+ let {dropIndicatorProps} = dragAndDropHooks.useDropIndicator(props, dropState, ref);
31
+ let {visuallyHiddenProps} = useVisuallyHidden();
32
+
33
+ let isDropTarget = dropState.isDropTarget(target);
34
+
35
+ if (!isDropTarget && dropIndicatorProps['aria-hidden']) {
36
+ return null;
37
+ }
38
+
39
+ return (
40
+ <div
41
+ style={{
42
+ position: 'absolute',
43
+ top: rowProps.style.top as number + (target.dropPosition === 'after' ? rowProps.style.height as number : 0),
44
+ width: rowProps.style.width
45
+ }}
46
+ role="row"
47
+ aria-hidden={dropIndicatorProps['aria-hidden']}>
48
+ <div
49
+ role="gridcell"
50
+ className={
51
+ classNames(
52
+ styles,
53
+ 'react-spectrum-Table-InsertionIndicator',
54
+ {
55
+ 'react-spectrum-Table-InsertionIndicator--dropTarget': isDropTarget
56
+ }
57
+ )}>
58
+ <div {...visuallyHiddenProps} role="button" {...dropIndicatorProps} ref={ref} />
59
+ </div>
60
+ </div>
61
+ );
62
+ }
package/src/Nubbin.tsx ADDED
@@ -0,0 +1,28 @@
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
+ import React from 'react';
14
+
15
+
16
+ // TODO resize with scale? colors should be variables
17
+ export function Nubbin() {
18
+ return (
19
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
20
+ <g fill="var(--spectrum-global-color-blue-600)" stroke="var(--spectrum-global-color-blue-600)" strokeWidth="2">
21
+ <circle cx="8" cy="8" r="8" stroke="none" />
22
+ <circle cx="8" cy="8" r="7" fill="none" />
23
+ </g>
24
+ <path d="M-2106-7380.263v5l2.5-2.551Z" transform="translate(2116 7385.763)" fill="#fff" stroke="#fff" strokeLinejoin="round" strokeWidth="2" />
25
+ <path d="M-2106-7380.263v5l2.5-2.551Z" transform="translate(-2100 -7369.763) rotate(180)" fill="#fff" stroke="#fff" strokeLinejoin="round" strokeWidth="2" />
26
+ </svg>
27
+ );
28
+ }
@@ -0,0 +1,139 @@
1
+ /* eslint-disable jsx-a11y/role-supports-aria-props */
2
+ import {classNames} from '@react-spectrum/utils';
3
+ import {ColumnSize} from '@react-types/table';
4
+ import eCursor from 'bundle-text:./cursors/Cur_MoveToRight_9_9.svg';
5
+ import ewCursor from 'bundle-text:./cursors/Cur_MoveHorizontal_9_9.svg';
6
+ import {FocusRing} from '@react-aria/focus';
7
+ import {GridNode} from '@react-types/grid';
8
+ // @ts-ignore
9
+ import intlMessages from '../intl/*.json';
10
+ import {isWebKit, mergeProps} from '@react-aria/utils';
11
+ import {Key, RefObject} from '@react-types/shared';
12
+ import React, {createContext, useContext, useEffect, useState} from 'react';
13
+ import ReactDOM from 'react-dom';
14
+ import styles from '@adobe/spectrum-css-temp/components/table/vars.css';
15
+ import {TableColumnResizeState} from '@react-stately/table';
16
+ import {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';
17
+ import {useTableColumnResize} from '@react-aria/table';
18
+ import {useTableContext, useVirtualizerContext} from './TableViewBase';
19
+ import {useUNSTABLE_PortalContext} from '@react-aria/overlays';
20
+ // @ts-ignore
21
+ import wCursor from 'bundle-text:./cursors/Cur_MoveToLeft_9_9.svg';
22
+
23
+ function getCursor(svg: string, fallback: string) {
24
+ // WebKit renders SVG cursors blurry on 2x screens: https://bugs.webkit.org/show_bug.cgi?id=160657
25
+ // To work around this, we generate two SVGs at different sizes and use image-set to pick between them.
26
+ // Only do this in WebKit to avoid Firefox rendering the cursor at twice the size.
27
+ if (isWebKit()) {
28
+ return `image-set(url("data:image/svg+xml,${encodeURIComponent(svg)}") 1x, url("data:image/svg+xml,${encodeURIComponent(svg.replace('width="32" height="32"', 'width="64" height="64"'))}") 2x) 8 8, ${fallback}`;
29
+ } else {
30
+ return `url("data:image/svg+xml,${encodeURIComponent(svg)}") 8 8, ${fallback}`;
31
+ }
32
+ }
33
+
34
+ interface ResizerProps<T> {
35
+ column: GridNode<T>,
36
+ showResizer: boolean,
37
+ triggerRef: RefObject<HTMLDivElement | null>,
38
+ onResizeStart: (widths: Map<Key, ColumnSize>) => void,
39
+ onResize: (widths: Map<Key, ColumnSize>) => void,
40
+ onResizeEnd: (widths: Map<Key, ColumnSize>) => void
41
+ }
42
+
43
+ const CURSORS = {
44
+ ew: getCursor(ewCursor, 'ew-resize'),
45
+ w: getCursor(wCursor, 'w-resize'),
46
+ e: getCursor(eCursor, 'e-resize')
47
+ };
48
+
49
+ export const ResizeStateContext = createContext<TableColumnResizeState<unknown> | null>(null);
50
+
51
+ function Resizer<T>(props: ResizerProps<T>, ref: RefObject<HTMLInputElement | null>) {
52
+ let {column, showResizer} = props;
53
+ let {isEmpty, onFocusedResizer} = useTableContext();
54
+ let layout = useContext(ResizeStateContext)!;
55
+ // Virtualizer re-renders, but these components are all cached
56
+ // in order to get around that and cause a rerender here, we use context
57
+ // but we don't actually need any value, they are available on the layout object
58
+ useVirtualizerContext();
59
+ let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');
60
+ let {direction} = useLocale();
61
+
62
+ let [isPointerDown, setIsPointerDown] = useState(false);
63
+ useEffect(() => {
64
+ let setDown = (e) => {
65
+ if (e.pointerType === 'mouse') {
66
+ setIsPointerDown(true);
67
+ }
68
+ };
69
+ let setUp = (e) => {
70
+ if (e.pointerType === 'mouse') {
71
+ setIsPointerDown(false);
72
+ }
73
+ };
74
+ document.addEventListener('pointerdown', setDown, {capture: true});
75
+ document.addEventListener('pointerup', setUp, {capture: true});
76
+ return () => {
77
+ document.removeEventListener('pointerdown', setDown, {capture: true});
78
+ document.removeEventListener('pointerup', setUp, {capture: true});
79
+ };
80
+ }, []);
81
+
82
+ let {inputProps, resizerProps} = useTableColumnResize<unknown>(
83
+ mergeProps(props, {
84
+ 'aria-label': stringFormatter.format('columnResizer'),
85
+ isDisabled: isEmpty
86
+ }), layout, ref);
87
+
88
+ let isEResizable = layout.getColumnMinWidth(column.key) >= layout.getColumnWidth(column.key);
89
+ let isWResizable = layout.getColumnMaxWidth(column.key) <= layout.getColumnWidth(column.key);
90
+ let isResizing = layout.resizingColumn === column.key;
91
+ let cursor = '';
92
+ if (isEResizable) {
93
+ cursor = direction === 'rtl' ? CURSORS.w : CURSORS.e;
94
+ } else if (isWResizable) {
95
+ cursor = direction === 'rtl' ? CURSORS.e : CURSORS.w;
96
+ } else {
97
+ cursor = CURSORS.ew;
98
+ }
99
+
100
+ let style = {
101
+ ...resizerProps.style,
102
+ height: '100%',
103
+ display: showResizer ? undefined : 'none',
104
+ cursor
105
+ };
106
+
107
+ return (
108
+ <>
109
+ <FocusRing within focusRingClass={classNames(styles, 'focus-ring')}>
110
+ <div
111
+ {...resizerProps}
112
+ role="presentation"
113
+ style={style}
114
+ className={classNames(styles, 'spectrum-Table-columnResizer')}>
115
+ <input
116
+ ref={ref}
117
+ {...mergeProps(inputProps, {onFocus: onFocusedResizer})} />
118
+ </div>
119
+ </FocusRing>
120
+ {/* Placeholder so that the title doesn't intersect with space reserved by the resizer when it appears. */}
121
+ <div
122
+ aria-hidden
123
+ role="presentation"
124
+ className={classNames(styles, 'spectrum-Table-columnResizerPlaceholder')} />
125
+ <CursorOverlay show={isResizing && isPointerDown}>
126
+ <div style={{position: 'fixed', top: 0, left: 0, bottom: 0, right: 0, cursor}} />
127
+ </CursorOverlay>
128
+ </>
129
+ );
130
+ }
131
+
132
+ function CursorOverlay(props) {
133
+ let {show, children} = props;
134
+ let {getContainer} = useUNSTABLE_PortalContext();
135
+ return show ? ReactDOM.createPortal(children, getContainer?.() ?? document.body) : null;
136
+ }
137
+
138
+ const _Resizer = React.forwardRef(Resizer);
139
+ export {_Resizer as Resizer};
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Copyright 2023 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
+ import React, {useRef} from 'react';
14
+ import {useTableContext} from './TableViewBase';
15
+ import {useVisuallyHidden} from '@react-aria/visually-hidden';
16
+
17
+ export function RootDropIndicator() {
18
+ let {dropState, dragAndDropHooks, state} = useTableContext();
19
+ let ref = useRef(undefined);
20
+ let {dropIndicatorProps} = dragAndDropHooks.useDropIndicator({
21
+ target: {type: 'root'}
22
+ }, dropState, ref);
23
+ let isDropTarget = dropState.isDropTarget({type: 'root'});
24
+ let {visuallyHiddenProps} = useVisuallyHidden();
25
+
26
+ if (!isDropTarget && dropIndicatorProps['aria-hidden']) {
27
+ return null;
28
+ }
29
+
30
+ return (
31
+ <div role="row" aria-hidden={dropIndicatorProps['aria-hidden']}>
32
+ <div
33
+ role="gridcell"
34
+ aria-selected="false"
35
+ aria-colspan={state.collection.columns.length}>
36
+ <div role="button" {...visuallyHiddenProps} {...dropIndicatorProps} ref={ref} />
37
+ </div>
38
+ </div>
39
+ );
40
+ }