@react-spectrum/s2 3.0.0-nightly-5ae234603-240925 → 3.0.0-nightly-a626c2596-240926

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 (232) hide show
  1. package/dist/Button.cjs +5 -1
  2. package/dist/Button.cjs.map +1 -1
  3. package/dist/Button.css.map +1 -1
  4. package/dist/Button.mjs +5 -1
  5. package/dist/Button.mjs.map +1 -1
  6. package/dist/Card.cjs +1 -1
  7. package/dist/Card.cjs.map +1 -1
  8. package/dist/Card.css.map +1 -1
  9. package/dist/Card.mjs +1 -1
  10. package/dist/Card.mjs.map +1 -1
  11. package/dist/Checkbox.cjs +4 -1
  12. package/dist/Checkbox.cjs.map +1 -1
  13. package/dist/Checkbox.css +4 -0
  14. package/dist/Checkbox.css.map +1 -1
  15. package/dist/Checkbox.mjs +4 -1
  16. package/dist/Checkbox.mjs.map +1 -1
  17. package/dist/ComboBox.cjs +3 -0
  18. package/dist/ComboBox.cjs.map +1 -1
  19. package/dist/ComboBox.css.map +1 -1
  20. package/dist/ComboBox.mjs +3 -0
  21. package/dist/ComboBox.mjs.map +1 -1
  22. package/dist/Content.cjs +0 -2
  23. package/dist/Content.cjs.map +1 -1
  24. package/dist/Content.mjs +1 -2
  25. package/dist/Content.mjs.map +1 -1
  26. package/dist/Dialog.cjs +7 -5
  27. package/dist/Dialog.cjs.map +1 -1
  28. package/dist/Dialog.css.map +1 -1
  29. package/dist/Dialog.mjs +8 -6
  30. package/dist/Dialog.mjs.map +1 -1
  31. package/dist/MoveHorizontalCircleTableWidget.cjs +33 -0
  32. package/dist/MoveHorizontalCircleTableWidget.cjs.map +1 -0
  33. package/dist/MoveHorizontalCircleTableWidget.mjs +28 -0
  34. package/dist/MoveHorizontalCircleTableWidget.mjs.map +1 -0
  35. package/dist/Picker.cjs +3 -0
  36. package/dist/Picker.cjs.map +1 -1
  37. package/dist/Picker.css.map +1 -1
  38. package/dist/Picker.mjs +3 -0
  39. package/dist/Picker.mjs.map +1 -1
  40. package/dist/Popover.cjs +1 -0
  41. package/dist/Popover.cjs.map +1 -1
  42. package/dist/Popover.css +4 -0
  43. package/dist/Popover.css.map +1 -1
  44. package/dist/Popover.mjs +1 -0
  45. package/dist/Popover.mjs.map +1 -1
  46. package/dist/Table.cjs +1093 -0
  47. package/dist/Table.cjs.map +1 -0
  48. package/dist/Table.css +821 -0
  49. package/dist/Table.css.map +1 -0
  50. package/dist/Table.mjs +1083 -0
  51. package/dist/Table.mjs.map +1 -0
  52. package/dist/TagGroup.cjs +5 -3
  53. package/dist/TagGroup.cjs.map +1 -1
  54. package/dist/TagGroup.css.map +1 -1
  55. package/dist/TagGroup.mjs +5 -3
  56. package/dist/TagGroup.mjs.map +1 -1
  57. package/dist/ar-AE.cjs +5 -0
  58. package/dist/ar-AE.cjs.map +1 -1
  59. package/dist/ar-AE.mjs +5 -0
  60. package/dist/ar-AE.mjs.map +1 -1
  61. package/dist/bg-BG.cjs +5 -0
  62. package/dist/bg-BG.cjs.map +1 -1
  63. package/dist/bg-BG.mjs +5 -0
  64. package/dist/bg-BG.mjs.map +1 -1
  65. package/dist/cs-CZ.cjs +5 -0
  66. package/dist/cs-CZ.cjs.map +1 -1
  67. package/dist/cs-CZ.mjs +5 -0
  68. package/dist/cs-CZ.mjs.map +1 -1
  69. package/dist/da-DK.cjs +5 -0
  70. package/dist/da-DK.cjs.map +1 -1
  71. package/dist/da-DK.mjs +5 -0
  72. package/dist/da-DK.mjs.map +1 -1
  73. package/dist/de-DE.cjs +5 -0
  74. package/dist/de-DE.cjs.map +1 -1
  75. package/dist/de-DE.mjs +5 -0
  76. package/dist/de-DE.mjs.map +1 -1
  77. package/dist/el-GR.cjs +5 -0
  78. package/dist/el-GR.cjs.map +1 -1
  79. package/dist/el-GR.mjs +5 -0
  80. package/dist/el-GR.mjs.map +1 -1
  81. package/dist/en-US.cjs +5 -0
  82. package/dist/en-US.cjs.map +1 -1
  83. package/dist/en-US.mjs +5 -0
  84. package/dist/en-US.mjs.map +1 -1
  85. package/dist/es-ES.cjs +5 -0
  86. package/dist/es-ES.cjs.map +1 -1
  87. package/dist/es-ES.mjs +5 -0
  88. package/dist/es-ES.mjs.map +1 -1
  89. package/dist/et-EE.cjs +5 -0
  90. package/dist/et-EE.cjs.map +1 -1
  91. package/dist/et-EE.mjs +5 -0
  92. package/dist/et-EE.mjs.map +1 -1
  93. package/dist/fi-FI.cjs +5 -0
  94. package/dist/fi-FI.cjs.map +1 -1
  95. package/dist/fi-FI.mjs +5 -0
  96. package/dist/fi-FI.mjs.map +1 -1
  97. package/dist/fr-FR.cjs +5 -0
  98. package/dist/fr-FR.cjs.map +1 -1
  99. package/dist/fr-FR.mjs +5 -0
  100. package/dist/fr-FR.mjs.map +1 -1
  101. package/dist/he-IL.cjs +5 -0
  102. package/dist/he-IL.cjs.map +1 -1
  103. package/dist/he-IL.mjs +5 -0
  104. package/dist/he-IL.mjs.map +1 -1
  105. package/dist/hr-HR.cjs +5 -0
  106. package/dist/hr-HR.cjs.map +1 -1
  107. package/dist/hr-HR.mjs +5 -0
  108. package/dist/hr-HR.mjs.map +1 -1
  109. package/dist/hu-HU.cjs +5 -0
  110. package/dist/hu-HU.cjs.map +1 -1
  111. package/dist/hu-HU.mjs +5 -0
  112. package/dist/hu-HU.mjs.map +1 -1
  113. package/dist/it-IT.cjs +5 -0
  114. package/dist/it-IT.cjs.map +1 -1
  115. package/dist/it-IT.mjs +5 -0
  116. package/dist/it-IT.mjs.map +1 -1
  117. package/dist/ja-JP.cjs +5 -0
  118. package/dist/ja-JP.cjs.map +1 -1
  119. package/dist/ja-JP.mjs +5 -0
  120. package/dist/ja-JP.mjs.map +1 -1
  121. package/dist/ko-KR.cjs +5 -0
  122. package/dist/ko-KR.cjs.map +1 -1
  123. package/dist/ko-KR.mjs +5 -0
  124. package/dist/ko-KR.mjs.map +1 -1
  125. package/dist/lt-LT.cjs +5 -0
  126. package/dist/lt-LT.cjs.map +1 -1
  127. package/dist/lt-LT.mjs +5 -0
  128. package/dist/lt-LT.mjs.map +1 -1
  129. package/dist/lv-LV.cjs +5 -0
  130. package/dist/lv-LV.cjs.map +1 -1
  131. package/dist/lv-LV.mjs +5 -0
  132. package/dist/lv-LV.mjs.map +1 -1
  133. package/dist/main.cjs +8 -0
  134. package/dist/main.cjs.map +1 -1
  135. package/dist/module.mjs +3 -1
  136. package/dist/module.mjs.map +1 -1
  137. package/dist/nb-NO.cjs +5 -0
  138. package/dist/nb-NO.cjs.map +1 -1
  139. package/dist/nb-NO.mjs +5 -0
  140. package/dist/nb-NO.mjs.map +1 -1
  141. package/dist/nl-NL.cjs +5 -0
  142. package/dist/nl-NL.cjs.map +1 -1
  143. package/dist/nl-NL.mjs +5 -0
  144. package/dist/nl-NL.mjs.map +1 -1
  145. package/dist/pl-PL.cjs +5 -0
  146. package/dist/pl-PL.cjs.map +1 -1
  147. package/dist/pl-PL.mjs +5 -0
  148. package/dist/pl-PL.mjs.map +1 -1
  149. package/dist/pt-BR.cjs +5 -0
  150. package/dist/pt-BR.cjs.map +1 -1
  151. package/dist/pt-BR.mjs +5 -0
  152. package/dist/pt-BR.mjs.map +1 -1
  153. package/dist/pt-PT.cjs +5 -0
  154. package/dist/pt-PT.cjs.map +1 -1
  155. package/dist/pt-PT.mjs +5 -0
  156. package/dist/pt-PT.mjs.map +1 -1
  157. package/dist/ro-RO.cjs +5 -0
  158. package/dist/ro-RO.cjs.map +1 -1
  159. package/dist/ro-RO.mjs +5 -0
  160. package/dist/ro-RO.mjs.map +1 -1
  161. package/dist/ru-RU.cjs +5 -0
  162. package/dist/ru-RU.cjs.map +1 -1
  163. package/dist/ru-RU.mjs +5 -0
  164. package/dist/ru-RU.mjs.map +1 -1
  165. package/dist/sk-SK.cjs +5 -0
  166. package/dist/sk-SK.cjs.map +1 -1
  167. package/dist/sk-SK.mjs +5 -0
  168. package/dist/sk-SK.mjs.map +1 -1
  169. package/dist/sl-SI.cjs +5 -0
  170. package/dist/sl-SI.cjs.map +1 -1
  171. package/dist/sl-SI.mjs +5 -0
  172. package/dist/sl-SI.mjs.map +1 -1
  173. package/dist/sr-SP.cjs +5 -0
  174. package/dist/sr-SP.cjs.map +1 -1
  175. package/dist/sr-SP.mjs +5 -0
  176. package/dist/sr-SP.mjs.map +1 -1
  177. package/dist/sv-SE.cjs +5 -0
  178. package/dist/sv-SE.cjs.map +1 -1
  179. package/dist/sv-SE.mjs +5 -0
  180. package/dist/sv-SE.mjs.map +1 -1
  181. package/dist/tr-TR.cjs +5 -0
  182. package/dist/tr-TR.cjs.map +1 -1
  183. package/dist/tr-TR.mjs +5 -0
  184. package/dist/tr-TR.mjs.map +1 -1
  185. package/dist/types.d.ts +90 -1
  186. package/dist/types.d.ts.map +1 -1
  187. package/dist/uk-UA.cjs +5 -0
  188. package/dist/uk-UA.cjs.map +1 -1
  189. package/dist/uk-UA.mjs +5 -0
  190. package/dist/uk-UA.mjs.map +1 -1
  191. package/dist/utils.cjs +30 -0
  192. package/dist/utils.cjs.map +1 -0
  193. package/dist/utils.mjs +25 -0
  194. package/dist/utils.mjs.map +1 -0
  195. package/dist/zh-CN.cjs +5 -0
  196. package/dist/zh-CN.cjs.map +1 -1
  197. package/dist/zh-CN.mjs +5 -0
  198. package/dist/zh-CN.mjs.map +1 -1
  199. package/dist/zh-TW.cjs +5 -0
  200. package/dist/zh-TW.cjs.map +1 -1
  201. package/dist/zh-TW.mjs +5 -0
  202. package/dist/zh-TW.mjs.map +1 -1
  203. package/package.json +18 -16
  204. package/src/Button.tsx +22 -14
  205. package/src/Card.tsx +1 -1
  206. package/src/Checkbox.tsx +1 -0
  207. package/src/ComboBox.tsx +3 -0
  208. package/src/Content.tsx +1 -3
  209. package/src/Dialog.tsx +3 -2
  210. package/src/Picker.tsx +3 -0
  211. package/src/Popover.tsx +4 -1
  212. package/src/Table.tsx +1084 -48
  213. package/src/TagGroup.tsx +3 -2
  214. package/src/index.ts +2 -0
  215. package/src/utils.ts +28 -0
  216. package/style/__tests__/mergeStyles.test.js +32 -0
  217. package/style/__tests__/style-macro.test.js +128 -0
  218. package/style/dist/main.cjs +1984 -0
  219. package/style/dist/main.cjs.map +1 -0
  220. package/style/dist/module.mjs +1973 -0
  221. package/style/dist/module.mjs.map +1 -0
  222. package/style/dist/style-macro.cjs +543 -0
  223. package/style/dist/style-macro.cjs.map +1 -0
  224. package/style/dist/style-macro.mjs +534 -0
  225. package/style/dist/style-macro.mjs.map +1 -0
  226. package/style/dist/types.d.ts +780 -0
  227. package/style/dist/types.d.ts.map +1 -0
  228. package/style/runtime.ts +103 -0
  229. package/style/spectrum-theme.ts +974 -0
  230. package/style/style-macro.ts +638 -0
  231. package/style/tokens.ts +68 -0
  232. package/style/types.ts +177 -0
package/dist/Table.cjs ADDED
@@ -0,0 +1,1093 @@
1
+ require("./Table.css");
2
+ var $af04e099a53d3e85$exports = require("./Checkbox.cjs");
3
+ var $1df9f1c9262ce5df$exports = require("./Chevron.cjs");
4
+ var $bde97c91243ed164$exports = require("../icons/Icon.cjs");
5
+ var $4526404114e78c80$exports = require("./intlStrings.cjs");
6
+ var $e741ea6b88ce4866$exports = require("./Menu.cjs");
7
+ var $308b180f49d82d28$exports = require("../icons/runtime.cjs");
8
+ var $d256e21c80839377$exports = require("./MoveHorizontalCircleTableWidget.cjs");
9
+ var $1c116ea4b0d2d023$exports = require("./ProgressCircle.cjs");
10
+ var $22bf2407c3628a21$exports = require("../icons/SortDown.cjs");
11
+ var $2197830b90e71c31$exports = require("../icons/SortUp.cjs");
12
+ var $ee7b4c497f520c08$exports = require("./utils.cjs");
13
+ var $4Eob6$reactjsxruntime = require("react/jsx-runtime");
14
+ var $4Eob6$reactariacomponents = require("react-aria-components");
15
+ var $4Eob6$react = require("react");
16
+ var $4Eob6$reactstatelyvirtualizer = require("@react-stately/virtualizer");
17
+ var $4Eob6$reactspectrumutils = require("@react-spectrum/utils");
18
+ var $4Eob6$reactariautils = require("@react-aria/utils");
19
+ var $4Eob6$reactariai18n = require("@react-aria/i18n");
20
+ var $4Eob6$reactaria = require("react-aria");
21
+
22
+
23
+ function $parcel$interopDefault(a) {
24
+ return a && a.__esModule ? a.default : a;
25
+ }
26
+
27
+ function $parcel$export(e, n, v, s) {
28
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
29
+ }
30
+
31
+ $parcel$export(module.exports, "TableBody", () => $93ff1e08f8313b57$export$76ccd210b9029917);
32
+ $parcel$export(module.exports, "Column", () => $93ff1e08f8313b57$export$816b5d811295e6bc);
33
+ $parcel$export(module.exports, "TableHeader", () => $93ff1e08f8313b57$export$f850895b287ef28e);
34
+ $parcel$export(module.exports, "Cell", () => $93ff1e08f8313b57$export$f6f0c3fe4ec306ea);
35
+ $parcel$export(module.exports, "Row", () => $93ff1e08f8313b57$export$b59bdbef9ce70de2);
36
+ $parcel$export(module.exports, "Table", () => $93ff1e08f8313b57$export$54ec01a60f47d33d);
37
+ /*
38
+ * Copyright 2024 Adobe. All rights reserved.
39
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
40
+ * you may not use this file except in compliance with the License. You may obtain a copy
41
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
42
+ *
43
+ * Unless required by applicable law or agreed to in writing, software distributed under
44
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
45
+ * OF ANY KIND, either express or implied. See the License for the specific language
46
+ * governing permissions and limitations under the License.
47
+ */
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+ let $93ff1e08f8313b57$var$InternalTableContext = /*#__PURE__*/ (0, $4Eob6$react.createContext)({});
67
+ const $93ff1e08f8313b57$var$tableWrapper = " . oa oba qa qba _Zd __Fa __R-yksgrp";
68
+ const $93ff1e08f8313b57$var$table = function anonymous(props, overrides) {
69
+ let rules = " .";
70
+ let matches = (overrides || '').match(/(?:^|\s)(?:y|z|A|B|_9|_8|h|_5|_4|__A|__c|__d|__a|__b|U|__Q|X|Z|V|W|l|q|r|k|o|p)[^\s]+/g) || [];
71
+ rules += matches.join('');
72
+ let $l = false;
73
+ let $o = false;
74
+ let $q = false;
75
+ for (let p of matches){
76
+ if (/^\s*l/.test(p)) $l = true;
77
+ if (/^\s*o/.test(p)) $o = true;
78
+ if (/^\s*q/.test(p)) $q = true;
79
+ }
80
+ if (!$l) rules += ' l4';
81
+ rules += ' __Da';
82
+ if (!$o) {
83
+ rules += ' oba';
84
+ rules += ' oa';
85
+ }
86
+ if (!$q) {
87
+ rules += ' qba';
88
+ rules += ' qa';
89
+ }
90
+ rules += ' _c-bc1l9oh';
91
+ rules += ' _c-1uotwbwg';
92
+ rules += ' _c-eo0c6sf';
93
+ rules += ' _c-enzzrge';
94
+ rules += ' _c-enzykdd';
95
+ rules += ' _c-enzwzjc';
96
+ rules += ' _c-enzrfpb';
97
+ rules += ' _ca';
98
+ rules += ' _eb';
99
+ rules += ' __va';
100
+ rules += ' __wa';
101
+ rules += ' ba_____u';
102
+ if (props.isQuiet) rules += ' ba';
103
+ else rules += ' bd';
104
+ rules += ' da_____v';
105
+ if (props.isFocusVisible) rules += ' dx';
106
+ else rules += ' di';
107
+ if (props.isFocusVisible) rules += ' _Nc';
108
+ else if (props.isQuiet) rules += ' _Na';
109
+ else rules += ' _Nb';
110
+ rules += ' _Lb';
111
+ if (props.isQuiet) rules += ' _va';
112
+ else {
113
+ rules += ' _vb-1aa9md1';
114
+ rules += ' _v-6njx2e';
115
+ }
116
+ if (props.isQuiet) rules += ' _wa';
117
+ else {
118
+ rules += ' _wb-1aa9md1';
119
+ rules += ' _w-6njx2e';
120
+ }
121
+ if (props.isQuiet) rules += ' _xa';
122
+ else {
123
+ rules += ' _xb-1aa9md1';
124
+ rules += ' _x-6njx2e';
125
+ }
126
+ if (props.isQuiet) rules += ' _ya';
127
+ else {
128
+ rules += ' _yb-1aa9md1';
129
+ rules += ' _y-6njx2e';
130
+ }
131
+ rules += ' Mj';
132
+ if (props.isCheckboxSelection) rules += ' Kl';
133
+ return rules;
134
+ };
135
+ // component-height-100
136
+ const $93ff1e08f8313b57$var$DEFAULT_HEADER_HEIGHT = {
137
+ medium: 32,
138
+ large: 40
139
+ };
140
+ const $93ff1e08f8313b57$var$ROW_HEIGHTS = {
141
+ compact: {
142
+ medium: 32,
143
+ large: 40
144
+ },
145
+ regular: {
146
+ medium: 40,
147
+ large: 50
148
+ },
149
+ spacious: {
150
+ medium: 48,
151
+ large: 60
152
+ }
153
+ };
154
+ class $93ff1e08f8313b57$export$4e03bdf0174fd602 extends (0, $4Eob6$reactariacomponents.UNSTABLE_TableLayout) {
155
+ constructor(options){
156
+ super({
157
+ ...options,
158
+ loaderHeight: 60
159
+ });
160
+ }
161
+ isStickyColumn(node) {
162
+ return node.props.isSticky;
163
+ }
164
+ buildCollection() {
165
+ let [header, body] = super.buildCollection();
166
+ let { children: children, layoutInfo: layoutInfo } = body;
167
+ // TableLayout's buildCollection always sets the body width to the max width between the header width, but
168
+ // we want the body to be sticky and only as wide as the table so it is always in view if loading/empty
169
+ if (children?.length === 0) layoutInfo.rect.width = this.virtualizer.visibleRect.width - 80;
170
+ return [
171
+ header,
172
+ body
173
+ ];
174
+ }
175
+ buildLoader(node, x, y) {
176
+ let layoutNode = super.buildLoader(node, x, y);
177
+ let { layoutInfo: layoutInfo } = layoutNode;
178
+ layoutInfo.allowOverflow = true;
179
+ layoutInfo.rect.width = this.virtualizer.visibleRect.width;
180
+ layoutInfo.isSticky = true;
181
+ return layoutNode;
182
+ }
183
+ buildBody(y) {
184
+ let layoutNode = super.buildBody(y);
185
+ let { children: children, layoutInfo: layoutInfo } = layoutNode;
186
+ // Needs overflow for sticky loader
187
+ layoutInfo.allowOverflow = true;
188
+ // If loading or empty, we'll want the body to be sticky and centered
189
+ if (children?.length === 0) {
190
+ layoutInfo.rect = new (0, $4Eob6$reactstatelyvirtualizer.Rect)(40, 40, this.virtualizer.visibleRect.width - 80, this.virtualizer.visibleRect.height - 80);
191
+ layoutInfo.isSticky = true;
192
+ }
193
+ return {
194
+ ...layoutNode,
195
+ layoutInfo: layoutInfo
196
+ };
197
+ }
198
+ buildRow(node, x, y) {
199
+ let layoutNode = super.buildRow(node, x, y);
200
+ layoutNode.layoutInfo.allowOverflow = true;
201
+ // Needs overflow for sticky selection/drag cells
202
+ return layoutNode;
203
+ }
204
+ buildTableHeader() {
205
+ let layoutNode = super.buildTableHeader();
206
+ // Needs overflow for sticky selection/drag column
207
+ layoutNode.layoutInfo.allowOverflow = true;
208
+ return layoutNode;
209
+ }
210
+ buildColumn(node, x, y) {
211
+ let layoutNode = super.buildColumn(node, x, y);
212
+ // Needs overflow for the resize handle
213
+ layoutNode.layoutInfo.allowOverflow = true;
214
+ return layoutNode;
215
+ }
216
+ }
217
+ function $93ff1e08f8313b57$var$Table(props, ref) {
218
+ let { UNSAFE_style: UNSAFE_style, UNSAFE_className: UNSAFE_className, isQuiet: isQuiet = false, density: density = 'regular', overflowMode: overflowMode = 'truncate', styles: styles, loadingState: loadingState, onLoadMore: onLoadMore, onResize: propsOnResize, onResizeStart: propsOnResizeStart, onResizeEnd: propsOnResizeEnd, onAction: onAction, ...otherProps } = props;
219
+ let domRef = (0, $4Eob6$reactspectrumutils.useDOMRef)(ref);
220
+ let scale = (0, $ee7b4c497f520c08$exports.useScale)();
221
+ let layout = (0, $4Eob6$react.useMemo)(()=>{
222
+ return new $93ff1e08f8313b57$export$4e03bdf0174fd602({
223
+ rowHeight: overflowMode === 'wrap' ? undefined : $93ff1e08f8313b57$var$ROW_HEIGHTS[density][scale],
224
+ estimatedRowHeight: overflowMode === 'wrap' ? $93ff1e08f8313b57$var$ROW_HEIGHTS[density][scale] : undefined,
225
+ // No need for estimated headingHeight since the headers aren't affected by overflow mode: wrap
226
+ headingHeight: $93ff1e08f8313b57$var$DEFAULT_HEADER_HEIGHT[scale]
227
+ });
228
+ }, [
229
+ overflowMode,
230
+ density,
231
+ scale
232
+ ]);
233
+ // Starts when the user selects resize from the menu, ends when resizing ends
234
+ // used to control the visibility of the resizer Nubbin
235
+ let [isInResizeMode, setIsInResizeMode] = (0, $4Eob6$react.useState)(false);
236
+ let onResizeStart = (0, $4Eob6$react.useCallback)((widths)=>{
237
+ propsOnResizeStart?.(widths);
238
+ }, [
239
+ propsOnResizeStart
240
+ ]);
241
+ let onResizeEnd = (0, $4Eob6$react.useCallback)((widths)=>{
242
+ setIsInResizeMode(false);
243
+ propsOnResizeEnd?.(widths);
244
+ }, [
245
+ propsOnResizeEnd,
246
+ setIsInResizeMode
247
+ ]);
248
+ let context = (0, $4Eob6$react.useMemo)(()=>({
249
+ isQuiet: isQuiet,
250
+ density: density,
251
+ overflowMode: overflowMode,
252
+ loadingState: loadingState,
253
+ isInResizeMode: isInResizeMode,
254
+ setIsInResizeMode: setIsInResizeMode
255
+ }), [
256
+ isQuiet,
257
+ density,
258
+ overflowMode,
259
+ loadingState,
260
+ isInResizeMode,
261
+ setIsInResizeMode
262
+ ]);
263
+ let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';
264
+ let scrollRef = (0, $4Eob6$react.useRef)(null);
265
+ let memoedLoadMoreProps = (0, $4Eob6$react.useMemo)(()=>({
266
+ isLoading: isLoading,
267
+ onLoadMore: onLoadMore
268
+ }), [
269
+ isLoading,
270
+ onLoadMore
271
+ ]);
272
+ (0, $4Eob6$reactariautils.useLoadMore)(memoedLoadMoreProps, scrollRef);
273
+ let isCheckboxSelection = props.selectionMode === 'multiple' || props.selectionMode === 'single';
274
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.ResizableTableContainer), {
275
+ // TODO: perhaps this ref should be attached to the RACTable but it expects a table type ref which isn't true in the virtualized case
276
+ ref: domRef,
277
+ onResize: propsOnResize,
278
+ onResizeEnd: onResizeEnd,
279
+ onResizeStart: onResizeStart,
280
+ className: (UNSAFE_className || '') + (0, $308b180f49d82d28$exports.mergeStyles)($93ff1e08f8313b57$var$tableWrapper, styles),
281
+ style: UNSAFE_style,
282
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.UNSTABLE_Virtualizer), {
283
+ layout: layout,
284
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$InternalTableContext.Provider, {
285
+ value: context,
286
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Table), {
287
+ ref: scrollRef,
288
+ // Fix webkit bug where scrollbars appear above the checkboxes/other table elements
289
+ style: {
290
+ WebkitTransform: 'translateZ(0)'
291
+ },
292
+ className: (renderProps)=>$93ff1e08f8313b57$var$table({
293
+ ...renderProps,
294
+ isCheckboxSelection: isCheckboxSelection,
295
+ isQuiet: isQuiet
296
+ }),
297
+ selectionBehavior: "toggle",
298
+ onRowAction: onAction,
299
+ ...otherProps
300
+ })
301
+ })
302
+ })
303
+ });
304
+ }
305
+ const $93ff1e08f8313b57$var$centeredWrapper = " . _Zd _1c _2d l4 k4";
306
+ function $93ff1e08f8313b57$export$76ccd210b9029917(props) {
307
+ let { items: items, renderEmptyState: renderEmptyState, children: children } = props;
308
+ let { loadingState: loadingState } = (0, $4Eob6$react.useContext)($93ff1e08f8313b57$var$InternalTableContext);
309
+ let emptyRender;
310
+ let renderer = children;
311
+ let stringFormatter = (0, $4Eob6$reactariai18n.useLocalizedStringFormatter)((0, ($parcel$interopDefault($4526404114e78c80$exports))), '@react-spectrum/s2');
312
+ let loadMoreSpinner = /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.UNSTABLE_TableLoadingIndicator), {
313
+ className: " . k4 l4",
314
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
315
+ className: $93ff1e08f8313b57$var$centeredWrapper,
316
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $1c116ea4b0d2d023$exports.ProgressCircle), {
317
+ isIndeterminate: true,
318
+ "aria-label": stringFormatter.format('table.loadingMore')
319
+ })
320
+ })
321
+ });
322
+ // If the user is rendering their rows in dynamic fashion, wrap their render function in Collection so we can inject
323
+ // the loader. Otherwise it is a static renderer and thus we can simply add the table loader after
324
+ // TODO: this assumes that the user isn't providing their children in some wrapper though and/or isn't doing a map of children
325
+ // (though I guess they wouldn't provide items then so the check for this is still valid in the latter case)...
326
+ if (typeof children === 'function' && items) renderer = /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
327
+ children: [
328
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Collection), {
329
+ items: items,
330
+ children: children
331
+ }),
332
+ loadingState === 'loadingMore' && loadMoreSpinner
333
+ ]
334
+ });
335
+ else renderer = /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
336
+ children: [
337
+ children,
338
+ loadingState === 'loadingMore' && loadMoreSpinner
339
+ ]
340
+ });
341
+ if (renderEmptyState != null && loadingState !== 'loading') emptyRender = (props)=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
342
+ className: $93ff1e08f8313b57$var$centeredWrapper,
343
+ children: renderEmptyState(props)
344
+ });
345
+ else if (loadingState === 'loading') emptyRender = ()=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
346
+ className: $93ff1e08f8313b57$var$centeredWrapper,
347
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $1c116ea4b0d2d023$exports.ProgressCircle), {
348
+ isIndeterminate: true,
349
+ "aria-label": stringFormatter.format('table.loading')
350
+ })
351
+ });
352
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.TableBody), {
353
+ className: " . k4",
354
+ ...props,
355
+ renderEmptyState: emptyRender,
356
+ dependencies: [
357
+ loadingState
358
+ ],
359
+ children: renderer
360
+ });
361
+ }
362
+ const $93ff1e08f8313b57$var$cellFocus = {
363
+ outlineStyle: {
364
+ default: 'none',
365
+ isFocusVisible: 'solid'
366
+ },
367
+ outlineOffset: -2,
368
+ outlineWidth: 2,
369
+ outlineColor: 'focus-ring',
370
+ borderRadius: {
371
+ "default": "[0.375rem]",
372
+ touch: "[0.46875rem]"
373
+ }
374
+ };
375
+ function $93ff1e08f8313b57$var$CellFocusRing(props1) {
376
+ let { isFocusVisible: isFocusVisible } = props1;
377
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
378
+ role: "presentation",
379
+ className: function anonymous(props) {
380
+ let rules = " .";
381
+ if (props.isFocusVisible) rules += ' _Lb';
382
+ else rules += ' _La';
383
+ rules += ' _M-3hmpw';
384
+ rules += ' _Nc';
385
+ rules += ' da_____z';
386
+ rules += ' dx';
387
+ rules += ' _vb-1aa9md1';
388
+ rules += ' _v-6njx2e';
389
+ rules += ' _wb-1aa9md1';
390
+ rules += ' _w-6njx2e';
391
+ rules += ' _xb-1aa9md1';
392
+ rules += ' _x-6njx2e';
393
+ rules += ' _yb-1aa9md1';
394
+ rules += ' _y-6njx2e';
395
+ rules += ' Ua';
396
+ rules += ' Xa';
397
+ rules += ' Za';
398
+ rules += ' Va';
399
+ rules += ' Wa';
400
+ return rules;
401
+ }({
402
+ isFocusVisible: isFocusVisible
403
+ })
404
+ });
405
+ }
406
+ const $93ff1e08f8313b57$var$columnStyles = function anonymous(props) {
407
+ let rules = " .";
408
+ rules += ' k-17zqamw';
409
+ rules += ' __na';
410
+ rules += ' aa_____x';
411
+ if (props.isPressed) rules += ' ao';
412
+ else if (props.isFocusVisible) rules += ' ao';
413
+ else if (props.isHovered) rules += ' ao';
414
+ else rules += ' an';
415
+ if (props.isColumnResizable) rules += ' Ca';
416
+ else rules += ' Cf';
417
+ if (props.isColumnResizable) rules += ' Da';
418
+ else rules += ' Df';
419
+ if (props.align === "end") rules += ' _jc';
420
+ else if (props.align === "center") rules += ' _jb';
421
+ else if (props.align === "start") rules += ' _ja';
422
+ rules += ' _La';
423
+ rules += ' Uc';
424
+ if (props.size === "XL") {
425
+ rules += ' _dbj';
426
+ rules += ' _di';
427
+ } else if (props.size === "L") {
428
+ rules += ' _dbh';
429
+ rules += ' _dg';
430
+ } else if (props.size === "S") {
431
+ rules += ' _dbd';
432
+ rules += ' _dc';
433
+ } else if (props.size === "XS") {
434
+ rules += ' _dbb';
435
+ rules += ' _da';
436
+ } else {
437
+ rules += ' _dbf';
438
+ rules += ' _de';
439
+ }
440
+ rules += ' _c-bc1l9oh';
441
+ rules += ' _c-1uotwbwg';
442
+ rules += ' _c-eo0c6sf';
443
+ rules += ' _c-enzzrge';
444
+ rules += ' _c-enzykdd';
445
+ rules += ' _c-enzwzjc';
446
+ rules += ' _c-enzrfpb';
447
+ rules += ' _ca';
448
+ rules += ' _ed';
449
+ rules += ' _Zd';
450
+ rules += ' ca_____v';
451
+ rules += ' ci';
452
+ rules += ' ua';
453
+ rules += ' vb';
454
+ rules += ' sa';
455
+ if (props.isColumnResizable) rules += ' tb';
456
+ else rules += ' ta';
457
+ rules += ' wa';
458
+ rules += ' _zb';
459
+ return rules;
460
+ };
461
+ function $93ff1e08f8313b57$export$816b5d811295e6bc(props) {
462
+ let { isHeaderRowHovered: isHeaderRowHovered } = (0, $4Eob6$react.useContext)($93ff1e08f8313b57$var$InternalTableHeaderContext);
463
+ let { allowsResizing: allowsResizing, children: children, align: align = 'start' } = props;
464
+ let isColumnResizable = allowsResizing;
465
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Column), {
466
+ ...props,
467
+ style: {
468
+ borderInlineEndColor: 'transparent'
469
+ },
470
+ className: (renderProps)=>$93ff1e08f8313b57$var$columnStyles({
471
+ ...renderProps,
472
+ isColumnResizable: isColumnResizable,
473
+ align: align
474
+ }),
475
+ children: ({ allowsSorting: allowsSorting, sortDirection: sortDirection, isFocusVisible: isFocusVisible, sort: sort, startResize: startResize, isHovered: isHovered })=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
476
+ children: [
477
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$CellFocusRing, {
478
+ isFocusVisible: isFocusVisible
479
+ }),
480
+ isColumnResizable ? /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$ResizableColumnContents, {
481
+ allowsSorting: allowsSorting,
482
+ sortDirection: sortDirection,
483
+ sort: sort,
484
+ startResize: startResize,
485
+ isHovered: isHeaderRowHovered || isHovered,
486
+ align: align,
487
+ children: children
488
+ }) : /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$ColumnContents, {
489
+ allowsSorting: allowsSorting,
490
+ sortDirection: sortDirection,
491
+ children: children
492
+ })
493
+ ]
494
+ })
495
+ });
496
+ }
497
+ const $93ff1e08f8313b57$var$columnContentWrapper = " . qa qba _Zd _1c l4";
498
+ const $93ff1e08f8313b57$var$sortIcon = function anonymous(props) {
499
+ let rules = " .";
500
+ rules += ' l-1wikn8b';
501
+ rules += ' k-1wikn8b';
502
+ rules += ' _8-3t1x';
503
+ if (props.isButton) {
504
+ rules += ' zbH';
505
+ rules += ' zG';
506
+ } else rules += ' zd';
507
+ if (props.isButton) rules += ' _kundefined';
508
+ else rules += ' _kd';
509
+ rules += ' -rwx0fg_e-b';
510
+ return rules;
511
+ };
512
+ function $93ff1e08f8313b57$var$ColumnContents(props) {
513
+ let { allowsSorting: allowsSorting, sortDirection: sortDirection, children: children } = props;
514
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)("div", {
515
+ className: $93ff1e08f8313b57$var$columnContentWrapper,
516
+ children: [
517
+ allowsSorting && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Provider), {
518
+ values: [
519
+ [
520
+ (0, $bde97c91243ed164$exports.IconContext),
521
+ {
522
+ styles: $93ff1e08f8313b57$var$sortIcon({})
523
+ }
524
+ ]
525
+ ],
526
+ children: sortDirection != null && (sortDirection === 'ascending' ? /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $2197830b90e71c31$exports.default), {}) : /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $22bf2407c3628a21$exports.default), {}))
527
+ }),
528
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("span", {
529
+ className: " . __vb __wb _ma _pb l4",
530
+ children: children
531
+ })
532
+ ]
533
+ });
534
+ }
535
+ const $93ff1e08f8313b57$var$resizableMenuButtonWrapper = function anonymous(props) {
536
+ let rules = " .";
537
+ if (props.isFocusVisible) rules += ' _Lb';
538
+ else rules += ' _La';
539
+ rules += ' _M-3hmpw';
540
+ rules += ' _Nc';
541
+ rules += ' da_____z';
542
+ rules += ' dx';
543
+ rules += ' _vb-1aa9md1';
544
+ rules += ' _v-6njx2e';
545
+ rules += ' _wb-1aa9md1';
546
+ rules += ' _w-6njx2e';
547
+ rules += ' _xb-1aa9md1';
548
+ rules += ' _x-6njx2e';
549
+ rules += ' _yb-1aa9md1';
550
+ rules += ' _y-6njx2e';
551
+ rules += ' an';
552
+ rules += ' l4';
553
+ rules += ' Uc';
554
+ rules += ' _Zd';
555
+ rules += ' _1c';
556
+ if (props.align === "end") rules += ' _2c';
557
+ else if (props.align === "center") rules += ' _2d';
558
+ else if (props.align === "default") rules += ' _2b';
559
+ rules += ' Cf';
560
+ rules += ' Df';
561
+ rules += ' ba';
562
+ rules += ' wf';
563
+ if (props.size === "XL") {
564
+ rules += ' _dbj';
565
+ rules += ' _di';
566
+ } else if (props.size === "L") {
567
+ rules += ' _dbh';
568
+ rules += ' _dg';
569
+ } else if (props.size === "S") {
570
+ rules += ' _dbd';
571
+ rules += ' _dc';
572
+ } else if (props.size === "XS") {
573
+ rules += ' _dbb';
574
+ rules += ' _da';
575
+ } else {
576
+ rules += ' _dbf';
577
+ rules += ' _de';
578
+ }
579
+ rules += ' _c-bc1l9oh';
580
+ rules += ' _c-1uotwbwg';
581
+ rules += ' _c-eo0c6sf';
582
+ rules += ' _c-enzzrge';
583
+ rules += ' _c-enzykdd';
584
+ rules += ' _c-enzwzjc';
585
+ rules += ' _c-enzrfpb';
586
+ rules += ' _ca';
587
+ rules += ' _ed';
588
+ return rules;
589
+ };
590
+ const $93ff1e08f8313b57$var$resizerHandleContainer = function anonymous(props) {
591
+ let rules = " .";
592
+ if (props.isHovered) rules += ' _Za';
593
+ else if (props.isResizing) rules += ' _Za';
594
+ else rules += ' _Zj';
595
+ rules += ' lbi';
596
+ rules += ' lh';
597
+ rules += ' k4';
598
+ rules += ' Ua';
599
+ rules += ' Xa';
600
+ rules += ' Wb-1l44p6q';
601
+ rules += ' W-2al4ab';
602
+ if (props.resizableDirection === "both") rules += ' __HD';
603
+ else if (props.resizableDirection === "right") rules += ' __Hz';
604
+ else if (props.resizableDirection === "left") rules += ' __Hx';
605
+ else rules += ' __Hi';
606
+ rules += ' -_1m7qh0o_d-a_____z';
607
+ rules += ' -_1m7qh0o_d-x';
608
+ return rules;
609
+ };
610
+ const $93ff1e08f8313b57$var$resizerHandle = function anonymous(props) {
611
+ let rules = " .";
612
+ if (props.isResizing) rules += ' ba_____z';
613
+ else if (props.isFocusVisible) rules += ' ba_____z';
614
+ else if (props.isHovered) rules += ' ba_____v';
615
+ else rules += ' ba_____u';
616
+ if (props.isResizing) rules += ' b-1m7qh0o';
617
+ else if (props.isFocusVisible) rules += ' b-1m7qh0o';
618
+ else if (props.isHovered) rules += ' bi';
619
+ else rules += ' ba';
620
+ if (props.isResizing) rules += ' k_c';
621
+ else rules += ' k4';
622
+ if (props.isResizing) {
623
+ rules += ' lb-13yuhxm';
624
+ rules += ' l-59f7mn';
625
+ } else {
626
+ rules += ' lb-1332gxq';
627
+ rules += ' l-cplj4k';
628
+ }
629
+ rules += ' Ua';
630
+ rules += ' Vb-1aa9md1';
631
+ rules += ' V-6njx2e';
632
+ return rules;
633
+ };
634
+ const $93ff1e08f8313b57$var$columnHeaderText = " . __vb __wb _ma _pb q-1wikn8b _9-3t1x _8-3t1y hF";
635
+ const $93ff1e08f8313b57$var$chevronIcon = " . R-3hn0u yG ybH q-1wikn8b _8-3t1x -rwx0fg_e-b";
636
+ const $93ff1e08f8313b57$var$nubbin = " . Ua Xa V-avx9c1 Vb-15azsa3 l-1wikn8b k-1wikn8b e-1m7qh0o ea_____U -rwx0fg_e-x -rwx0fg_e-a_____V";
637
+ function $93ff1e08f8313b57$var$ResizableColumnContents(props) {
638
+ let { allowsSorting: allowsSorting, sortDirection: sortDirection, sort: sort, startResize: startResize, children: children, isHovered: isHovered, align: align } = props;
639
+ let { setIsInResizeMode: setIsInResizeMode, isInResizeMode: isInResizeMode } = (0, $4Eob6$react.useContext)($93ff1e08f8313b57$var$InternalTableContext);
640
+ let stringFormatter = (0, $4Eob6$reactariai18n.useLocalizedStringFormatter)((0, ($parcel$interopDefault($4526404114e78c80$exports))), '@react-spectrum/s2');
641
+ const onMenuSelect = (key)=>{
642
+ switch(key){
643
+ case 'sort-asc':
644
+ sort('ascending');
645
+ break;
646
+ case 'sort-desc':
647
+ sort('descending');
648
+ break;
649
+ case 'resize':
650
+ setIsInResizeMode?.(true);
651
+ startResize();
652
+ break;
653
+ }
654
+ };
655
+ let items = (0, $4Eob6$react.useMemo)(()=>{
656
+ let options = [
657
+ {
658
+ label: stringFormatter.format('table.resizeColumn'),
659
+ id: 'resize'
660
+ }
661
+ ];
662
+ if (allowsSorting) options = [
663
+ {
664
+ label: stringFormatter.format('table.sortAscending'),
665
+ id: 'sort-asc'
666
+ },
667
+ {
668
+ label: stringFormatter.format('table.sortDescending'),
669
+ id: 'sort-desc'
670
+ },
671
+ ...options
672
+ ];
673
+ return options;
674
+ // eslint-disable-next-line react-hooks/exhaustive-deps
675
+ }, [
676
+ allowsSorting
677
+ ]);
678
+ let buttonAlignment = 'start';
679
+ let menuAlign = 'start';
680
+ if (align === 'center') buttonAlignment = 'center';
681
+ else if (align === 'end') {
682
+ buttonAlignment = 'end';
683
+ menuAlign = 'end';
684
+ }
685
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
686
+ children: [
687
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $e741ea6b88ce4866$exports.MenuTrigger), {
688
+ align: menuAlign,
689
+ children: [
690
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactariacomponents.Button), {
691
+ className: (renderProps)=>$93ff1e08f8313b57$var$resizableMenuButtonWrapper({
692
+ ...renderProps,
693
+ align: buttonAlignment
694
+ }),
695
+ children: [
696
+ allowsSorting && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Provider), {
697
+ values: [
698
+ [
699
+ (0, $bde97c91243ed164$exports.IconContext),
700
+ {
701
+ styles: $93ff1e08f8313b57$var$sortIcon({
702
+ isButton: true
703
+ })
704
+ }
705
+ ]
706
+ ],
707
+ children: sortDirection != null && (sortDirection === 'ascending' ? /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $2197830b90e71c31$exports.default), {}) : /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $22bf2407c3628a21$exports.default), {}))
708
+ }),
709
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
710
+ className: $93ff1e08f8313b57$var$columnHeaderText,
711
+ children: children
712
+ }),
713
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $1df9f1c9262ce5df$exports.default), {
714
+ size: "M",
715
+ className: $93ff1e08f8313b57$var$chevronIcon
716
+ })
717
+ ]
718
+ }),
719
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $e741ea6b88ce4866$exports.Menu), {
720
+ onAction: onMenuSelect,
721
+ items: items,
722
+ styles: " . qI qbJ",
723
+ children: (item)=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $e741ea6b88ce4866$exports.MenuItem), {
724
+ children: item?.label
725
+ })
726
+ })
727
+ ]
728
+ }),
729
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
730
+ "data-react-aria-prevent-focus": "true",
731
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.ColumnResizer), {
732
+ "data-react-aria-prevent-focus": "true",
733
+ className: ({ resizableDirection: resizableDirection, isResizing: isResizing })=>$93ff1e08f8313b57$var$resizerHandleContainer({
734
+ resizableDirection: resizableDirection,
735
+ isResizing: isResizing,
736
+ isHovered: isInResizeMode || isHovered
737
+ }),
738
+ children: ({ isFocusVisible: isFocusVisible, isResizing: isResizing })=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
739
+ children: [
740
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$ResizerIndicator, {
741
+ isInResizeMode: isInResizeMode,
742
+ isFocusVisible: isFocusVisible,
743
+ isHovered: isHovered,
744
+ isResizing: isResizing
745
+ }),
746
+ (isFocusVisible || isInResizeMode) && isResizing && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
747
+ className: $93ff1e08f8313b57$var$nubbin,
748
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $d256e21c80839377$exports.default), {})
749
+ })
750
+ ]
751
+ })
752
+ })
753
+ })
754
+ ]
755
+ });
756
+ }
757
+ function $93ff1e08f8313b57$var$ResizerIndicator({ isFocusVisible: isFocusVisible, isHovered: isHovered, isResizing: isResizing, isInResizeMode: isInResizeMode }) {
758
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
759
+ className: $93ff1e08f8313b57$var$resizerHandle({
760
+ isFocusVisible: isFocusVisible,
761
+ isHovered: isHovered || isInResizeMode,
762
+ isResizing: isResizing
763
+ })
764
+ });
765
+ }
766
+ const $93ff1e08f8313b57$var$tableHeader = " . k4 l4 bf A-yj899n";
767
+ const $93ff1e08f8313b57$var$selectAllCheckbox = " . yf";
768
+ const $93ff1e08f8313b57$var$selectAllCheckboxColumn = " . Ea Fa Ca Da k-1xrzxd1 _La Uc _0b ci ca_____v sa ta ua vb wa bf";
769
+ let $93ff1e08f8313b57$var$InternalTableHeaderContext = /*#__PURE__*/ (0, $4Eob6$react.createContext)({
770
+ isHeaderRowHovered: false
771
+ });
772
+ function $93ff1e08f8313b57$export$f850895b287ef28e({ columns: columns, children: children }) {
773
+ let scale = (0, $ee7b4c497f520c08$exports.useScale)();
774
+ let { selectionBehavior: selectionBehavior, selectionMode: selectionMode } = (0, $4Eob6$reactariacomponents.useTableOptions)();
775
+ let [isHeaderRowHovered, setHeaderRowHovered] = (0, $4Eob6$react.useState)(false);
776
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$InternalTableHeaderContext.Provider, {
777
+ value: {
778
+ isHeaderRowHovered: isHeaderRowHovered
779
+ },
780
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactariacomponents.TableHeader), {
781
+ onHoverChange: setHeaderRowHovered,
782
+ className: $93ff1e08f8313b57$var$tableHeader,
783
+ children: [
784
+ selectionBehavior === 'toggle' && // Also isSticky prop is applied just for the layout, will decide what the RAC api should be later
785
+ // @ts-ignore
786
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Column), {
787
+ isSticky: true,
788
+ width: scale === 'medium' ? 40 : 52,
789
+ minWidth: scale === 'medium' ? 40 : 52,
790
+ className: $93ff1e08f8313b57$var$selectAllCheckboxColumn,
791
+ children: ({ isFocusVisible: isFocusVisible })=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
792
+ children: [
793
+ selectionMode === 'single' && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
794
+ children: [
795
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$CellFocusRing, {
796
+ isFocusVisible: isFocusVisible
797
+ }),
798
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$VisuallyHiddenSelectAllLabel, {})
799
+ ]
800
+ }),
801
+ selectionMode === 'multiple' && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $af04e099a53d3e85$exports.Checkbox), {
802
+ isEmphasized: true,
803
+ styles: $93ff1e08f8313b57$var$selectAllCheckbox,
804
+ slot: "selection"
805
+ })
806
+ ]
807
+ })
808
+ }),
809
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Collection), {
810
+ items: columns,
811
+ children: children
812
+ })
813
+ ]
814
+ })
815
+ });
816
+ }
817
+ function $93ff1e08f8313b57$var$VisuallyHiddenSelectAllLabel() {
818
+ let checkboxProps = (0, $4Eob6$reactariacomponents.useSlottedContext)((0, $4Eob6$reactariacomponents.CheckboxContext), 'selection');
819
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactaria.VisuallyHidden), {
820
+ children: checkboxProps?.['aria-label']
821
+ });
822
+ }
823
+ const $93ff1e08f8313b57$var$commonCellStyles = {
824
+ borderColor: 'transparent',
825
+ borderBottomWidth: 1,
826
+ borderTopWidth: 0,
827
+ borderXWidth: 0,
828
+ borderStyle: 'solid',
829
+ position: 'relative',
830
+ color: {
831
+ default: 'gray-800',
832
+ forcedColors: 'ButtonText'
833
+ },
834
+ outlineStyle: 'none',
835
+ paddingX: 16 // table-edge-to-content
836
+ };
837
+ const $93ff1e08f8313b57$var$cell = function anonymous(props) {
838
+ let rules = " .";
839
+ rules += ' ca_____v';
840
+ rules += ' ci';
841
+ rules += ' v-375tp1';
842
+ rules += ' u-375tp0';
843
+ rules += ' sa';
844
+ if (props.isDivider) rules += ' tb';
845
+ else rules += ' ta';
846
+ if (props.isDivider) rules += ' wa';
847
+ else rules += ' wf';
848
+ rules += ' Uc';
849
+ if (props.isPressed) rules += ' ao';
850
+ else if (props.isFocusVisible) rules += ' ao';
851
+ else if (props.isHovered) rules += ' ao';
852
+ else rules += ' an';
853
+ rules += ' _La';
854
+ rules += ' Cf';
855
+ rules += ' Df';
856
+ rules += ' E-1dbqcch';
857
+ rules += ' F-1dbqcch';
858
+ rules += ' o-375tou';
859
+ rules += ' __na';
860
+ rules += ' k4';
861
+ rules += ' l4';
862
+ if (props.size === "XL") {
863
+ rules += ' _dbj';
864
+ rules += ' _di';
865
+ } else if (props.size === "L") {
866
+ rules += ' _dbh';
867
+ rules += ' _dg';
868
+ } else if (props.size === "S") {
869
+ rules += ' _dbd';
870
+ rules += ' _dc';
871
+ } else if (props.size === "XS") {
872
+ rules += ' _dbb';
873
+ rules += ' _da';
874
+ } else {
875
+ rules += ' _dbf';
876
+ rules += ' _de';
877
+ }
878
+ rules += ' _1c';
879
+ rules += ' _Zd';
880
+ if (props.density === "spacious") {
881
+ rules += ' -_375tou_o-by';
882
+ rules += ' -_375tou_o-x';
883
+ } else if (props.density === "compact") {
884
+ rules += ' -_375tou_o-br';
885
+ rules += ' -_375tou_o-q';
886
+ } else {
887
+ rules += ' -_375tou_o-bu';
888
+ rules += ' -_375tou_o-r';
889
+ }
890
+ rules += ' -_375tp0_u-a';
891
+ rules += ' -_375tp1_v-b';
892
+ return rules;
893
+ };
894
+ const $93ff1e08f8313b57$var$stickyCell = {
895
+ backgroundColor: 'gray-25'
896
+ };
897
+ const $93ff1e08f8313b57$var$checkboxCellStyle = " . ca va ua sa ta wa Uc an aa_____x _La Cf Df bd _0b k-1xrzxd1";
898
+ const $93ff1e08f8313b57$var$cellContent = function anonymous(props) {
899
+ let rules = " .";
900
+ rules += ' __vb';
901
+ rules += ' __wb';
902
+ rules += ' _ma';
903
+ if (props.overflowMode === "wrap") rules += ' _pa';
904
+ else rules += ' _pb';
905
+ if (props.align === "end") rules += ' _jc';
906
+ else if (props.align === "center") rules += ' _jb';
907
+ else if (props.align === "start") rules += ' _ja';
908
+ rules += ' l4';
909
+ rules += ' __Fa';
910
+ if (props.isSticky) rules += ' Ea';
911
+ else rules += ' Ec';
912
+ if (props.isSticky) rules += ' Fa';
913
+ else rules += ' Fc';
914
+ if (props.isSticky) rules += ' Ca';
915
+ else rules += ' Cc';
916
+ if (props.isSticky) rules += ' Da';
917
+ else rules += ' Dc';
918
+ if (props.isSticky) rules += ' Aa';
919
+ else rules += ' AK';
920
+ if (props.isSticky) rules += ' Ba';
921
+ else rules += ' BK';
922
+ if (props.isSticky) rules += ' ya';
923
+ else rules += ' yK';
924
+ if (props.isSticky) rules += ' za';
925
+ else rules += ' zK';
926
+ return rules;
927
+ };
928
+ const $93ff1e08f8313b57$var$cellBackground = function anonymous(props) {
929
+ let rules = " .";
930
+ rules += ' Ua';
931
+ rules += ' Xa';
932
+ rules += ' Za';
933
+ rules += ' _aa';
934
+ rules += ' Ya';
935
+ if (props.isSticky) rules += ' b-19jpv4m';
936
+ else rules += ' ba';
937
+ return rules;
938
+ };
939
+ function $93ff1e08f8313b57$export$f6f0c3fe4ec306ea(props) {
940
+ let { children: children, isSticky: isSticky, showDivider: showDivider = false, align: align, textValue: textValue, ...otherProps } = props;
941
+ let tableVisualOptions = (0, $4Eob6$react.useContext)($93ff1e08f8313b57$var$InternalTableContext);
942
+ textValue ||= typeof children === 'string' ? children : undefined;
943
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Cell), {
944
+ // Also isSticky prop is applied just for the layout, will decide what the RAC api should be later
945
+ // @ts-ignore
946
+ isSticky: isSticky,
947
+ className: (renderProps)=>$93ff1e08f8313b57$var$cell({
948
+ ...renderProps,
949
+ ...tableVisualOptions,
950
+ isDivider: showDivider
951
+ }),
952
+ textValue: textValue,
953
+ ...otherProps,
954
+ children: ({ isFocusVisible: isFocusVisible })=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
955
+ children: [
956
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
957
+ role: "presentation",
958
+ className: $93ff1e08f8313b57$var$cellBackground({
959
+ isSticky: isSticky
960
+ })
961
+ }),
962
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$CellFocusRing, {
963
+ isFocusVisible: isFocusVisible
964
+ }),
965
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("span", {
966
+ className: $93ff1e08f8313b57$var$cellContent({
967
+ ...tableVisualOptions,
968
+ isSticky: isSticky,
969
+ align: align || 'start'
970
+ }),
971
+ children: children
972
+ })
973
+ ]
974
+ })
975
+ });
976
+ }
977
+ const $93ff1e08f8313b57$var$rowBackgroundColor = {
978
+ default: 'gray-25',
979
+ isFocusVisibleWithin: 'gray-900/7',
980
+ isHovered: 'gray-900/7',
981
+ isPressed: 'gray-900/10',
982
+ isSelected: {
983
+ default: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 10%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 10%))]",
984
+ isFocusVisibleWithin: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]",
985
+ isHovered: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]",
986
+ isPressed: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]"
987
+ },
988
+ isQuiet: {
989
+ default: 'transparent',
990
+ isFocusVisibleWithin: 'gray-900/7',
991
+ isHovered: 'gray-900/7',
992
+ isPressed: 'gray-900/10',
993
+ isSelected: {
994
+ default: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 10%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 10%))]",
995
+ isFocusVisibleWithin: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]",
996
+ isHovered: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]",
997
+ isPressed: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]"
998
+ }
999
+ },
1000
+ forcedColors: {
1001
+ default: 'Background'
1002
+ }
1003
+ };
1004
+ const $93ff1e08f8313b57$var$row = function anonymous(props) {
1005
+ let rules = " .";
1006
+ rules += ' k4';
1007
+ rules += ' Uc';
1008
+ rules += ' __na';
1009
+ rules += ' ba_____u';
1010
+ if (props.isQuiet) {
1011
+ if (props.isSelected) {
1012
+ if (props.isPressed) rules += ' b-f92o7v';
1013
+ else if (props.isHovered) rules += ' b-f92o7v';
1014
+ else if (props.isFocusVisibleWithin) rules += ' b-f92o7v';
1015
+ else rules += ' b-54erqp';
1016
+ } else if (props.isPressed) rules += ' bo10';
1017
+ else if (props.isHovered) rules += ' bo7';
1018
+ else if (props.isFocusVisibleWithin) rules += ' bo7';
1019
+ else rules += ' ba';
1020
+ } else if (props.isSelected) {
1021
+ if (props.isPressed) rules += ' b-f92o7v';
1022
+ else if (props.isHovered) rules += ' b-f92o7v';
1023
+ else if (props.isFocusVisibleWithin) rules += ' b-f92o7v';
1024
+ else rules += ' b-54erqp';
1025
+ } else if (props.isPressed) rules += ' bo10';
1026
+ else if (props.isHovered) rules += ' bo7';
1027
+ else if (props.isFocusVisibleWithin) rules += ' bo7';
1028
+ else rules += ' bd';
1029
+ rules += ' -_19jpv4m_b-a_____u';
1030
+ if (props.isQuiet) {
1031
+ if (props.isSelected) {
1032
+ if (props.isPressed) rules += ' -_19jpv4m_b--f92o7v';
1033
+ else if (props.isHovered) rules += ' -_19jpv4m_b--f92o7v';
1034
+ else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b--f92o7v';
1035
+ else rules += ' -_19jpv4m_b--54erqp';
1036
+ } else if (props.isPressed) rules += ' -_19jpv4m_b-o10';
1037
+ else if (props.isHovered) rules += ' -_19jpv4m_b-o7';
1038
+ else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b-o7';
1039
+ else rules += ' -_19jpv4m_b-a';
1040
+ } else if (props.isSelected) {
1041
+ if (props.isPressed) rules += ' -_19jpv4m_b--f92o7v';
1042
+ else if (props.isHovered) rules += ' -_19jpv4m_b--f92o7v';
1043
+ else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b--f92o7v';
1044
+ else rules += ' -_19jpv4m_b--54erqp';
1045
+ } else if (props.isPressed) rules += ' -_19jpv4m_b-o10';
1046
+ else if (props.isHovered) rules += ' -_19jpv4m_b-o7';
1047
+ else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b-o7';
1048
+ else rules += ' -_19jpv4m_b-d';
1049
+ rules += ' -oorfdf_d-a_____z';
1050
+ rules += ' -oorfdf_d-x';
1051
+ rules += ' _La';
1052
+ rules += ' ua';
1053
+ rules += ' vb';
1054
+ rules += ' sa';
1055
+ rules += ' ta';
1056
+ rules += ' wa';
1057
+ rules += ' ca_____v';
1058
+ rules += ' ci';
1059
+ rules += ' _zb';
1060
+ return rules;
1061
+ };
1062
+ function $93ff1e08f8313b57$export$b59bdbef9ce70de2({ id: id, columns: columns, children: children, ...otherProps }) {
1063
+ let { selectionBehavior: selectionBehavior, selectionMode: selectionMode } = (0, $4Eob6$reactariacomponents.useTableOptions)();
1064
+ let tableVisualOptions = (0, $4Eob6$react.useContext)($93ff1e08f8313b57$var$InternalTableContext);
1065
+ return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactariacomponents.Row), {
1066
+ id: id,
1067
+ className: (renderProps)=>$93ff1e08f8313b57$var$row({
1068
+ ...renderProps,
1069
+ ...tableVisualOptions
1070
+ }) + (renderProps.isFocusVisible && " -zwoa9h"),
1071
+ ...otherProps,
1072
+ children: [
1073
+ selectionMode !== 'none' && selectionBehavior === 'toggle' && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$export$f6f0c3fe4ec306ea, {
1074
+ isSticky: true,
1075
+ className: $93ff1e08f8313b57$var$checkboxCellStyle,
1076
+ children: /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $af04e099a53d3e85$exports.Checkbox), {
1077
+ isEmphasized: true,
1078
+ slot: "selection"
1079
+ })
1080
+ }),
1081
+ /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Collection), {
1082
+ items: columns,
1083
+ children: children
1084
+ })
1085
+ ]
1086
+ });
1087
+ }
1088
+ /**
1089
+ * Tables are containers for displaying information. They allow users to quickly scan, sort, compare, and take action on large amounts of data.
1090
+ */ const $93ff1e08f8313b57$export$54ec01a60f47d33d = /*#__PURE__*/ (0, $4Eob6$react.forwardRef)($93ff1e08f8313b57$var$Table);
1091
+
1092
+
1093
+ //# sourceMappingURL=Table.cjs.map