@react-spectrum/tabs 3.7.3-nightly.4153 → 3.7.3-nightly.4162

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -53,72 +53,84 @@ $parcel$export(module.exports, "Item", () => $8zXxA$reactstatelycollections.Item
53
53
 
54
54
  var $29add1fad43dc941$exports = {};
55
55
 
56
- $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel", () => $29add1fad43dc941$export$34f1a65c57bb7bb, (v) => $29add1fad43dc941$export$34f1a65c57bb7bb = v);
57
- $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel--horizontal", () => $29add1fad43dc941$export$778fb839eaa0528c, (v) => $29add1fad43dc941$export$778fb839eaa0528c = v);
58
- $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel--vertical", () => $29add1fad43dc941$export$9a6e2fb72c648072, (v) => $29add1fad43dc941$export$9a6e2fb72c648072 = v);
59
- $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs", () => $29add1fad43dc941$export$35c105c0d9c8e56f, (v) => $29add1fad43dc941$export$35c105c0d9c8e56f = v);
60
- $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-item", () => $29add1fad43dc941$export$123e4c01a5440a3e, (v) => $29add1fad43dc941$export$123e4c01a5440a3e = v);
56
+ $parcel$export($29add1fad43dc941$exports, "focus-ring", () => $29add1fad43dc941$export$f39a09f249340e2a, (v) => $29add1fad43dc941$export$f39a09f249340e2a = v);
57
+ $parcel$export($29add1fad43dc941$exports, "i18nFontFamily", () => $29add1fad43dc941$export$8c4ee2c50c22c514, (v) => $29add1fad43dc941$export$8c4ee2c50c22c514 = v);
61
58
  $parcel$export($29add1fad43dc941$exports, "is-disabled", () => $29add1fad43dc941$export$d35bc1e505d1ebbf, (v) => $29add1fad43dc941$export$d35bc1e505d1ebbf = v);
59
+ $parcel$export($29add1fad43dc941$exports, "is-hovered", () => $29add1fad43dc941$export$b8813cd5d7824ce7, (v) => $29add1fad43dc941$export$b8813cd5d7824ce7 = v);
60
+ $parcel$export($29add1fad43dc941$exports, "is-selected", () => $29add1fad43dc941$export$1e0fb04f31d3c22a, (v) => $29add1fad43dc941$export$1e0fb04f31d3c22a = v);
61
+ $parcel$export($29add1fad43dc941$exports, "spectrum-FocusRing-ring", () => $29add1fad43dc941$export$4109102f950813a6, (v) => $29add1fad43dc941$export$4109102f950813a6 = v);
62
+ $parcel$export($29add1fad43dc941$exports, "spectrum-FocusRing", () => $29add1fad43dc941$export$24c7f46a6e3605dd, (v) => $29add1fad43dc941$export$24c7f46a6e3605dd = v);
63
+ $parcel$export($29add1fad43dc941$exports, "spectrum-FocusRing--quiet", () => $29add1fad43dc941$export$2927016961429360, (v) => $29add1fad43dc941$export$2927016961429360 = v);
62
64
  $parcel$export($29add1fad43dc941$exports, "spectrum-Icon", () => $29add1fad43dc941$export$d374b04f30360026, (v) => $29add1fad43dc941$export$d374b04f30360026 = v);
63
- $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-itemLabel", () => $29add1fad43dc941$export$1f253edac4b98526, (v) => $29add1fad43dc941$export$1f253edac4b98526 = v);
64
- $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-selectionIndicator", () => $29add1fad43dc941$export$a115f9117a19563e, (v) => $29add1fad43dc941$export$a115f9117a19563e = v);
65
- $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--horizontal", () => $29add1fad43dc941$export$229f1ac4d3d38f0e, (v) => $29add1fad43dc941$export$229f1ac4d3d38f0e = v);
65
+ $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs", () => $29add1fad43dc941$export$35c105c0d9c8e56f, (v) => $29add1fad43dc941$export$35c105c0d9c8e56f = v);
66
66
  $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--compact", () => $29add1fad43dc941$export$e15c78184ee03abe, (v) => $29add1fad43dc941$export$e15c78184ee03abe = v);
67
+ $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--emphasized", () => $29add1fad43dc941$export$87b15021e28e067a, (v) => $29add1fad43dc941$export$87b15021e28e067a = v);
68
+ $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--horizontal", () => $29add1fad43dc941$export$229f1ac4d3d38f0e, (v) => $29add1fad43dc941$export$229f1ac4d3d38f0e = v);
67
69
  $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--isCollapsed", () => $29add1fad43dc941$export$ea514cd060922d6b, (v) => $29add1fad43dc941$export$ea514cd060922d6b = v);
68
70
  $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--quiet", () => $29add1fad43dc941$export$831e830d5828d42b, (v) => $29add1fad43dc941$export$831e830d5828d42b = v);
69
71
  $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--vertical", () => $29add1fad43dc941$export$e415005be3957065, (v) => $29add1fad43dc941$export$e415005be3957065 = v);
72
+ $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-item", () => $29add1fad43dc941$export$123e4c01a5440a3e, (v) => $29add1fad43dc941$export$123e4c01a5440a3e = v);
73
+ $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-itemLabel", () => $29add1fad43dc941$export$1f253edac4b98526, (v) => $29add1fad43dc941$export$1f253edac4b98526 = v);
74
+ $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-picker", () => $29add1fad43dc941$export$12dc6b25c6dddfc1, (v) => $29add1fad43dc941$export$12dc6b25c6dddfc1 = v);
75
+ $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-selectionIndicator", () => $29add1fad43dc941$export$a115f9117a19563e, (v) => $29add1fad43dc941$export$a115f9117a19563e = v);
76
+ $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel", () => $29add1fad43dc941$export$34f1a65c57bb7bb, (v) => $29add1fad43dc941$export$34f1a65c57bb7bb = v);
77
+ $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel--horizontal", () => $29add1fad43dc941$export$778fb839eaa0528c, (v) => $29add1fad43dc941$export$778fb839eaa0528c = v);
78
+ $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel--vertical", () => $29add1fad43dc941$export$9a6e2fb72c648072, (v) => $29add1fad43dc941$export$9a6e2fb72c648072 = v);
70
79
  $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel-collapseWrapper", () => $29add1fad43dc941$export$e09869956b4c96f2, (v) => $29add1fad43dc941$export$e09869956b4c96f2 = v);
71
- $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel-tabs", () => $29add1fad43dc941$export$4a157a691c854e23, (v) => $29add1fad43dc941$export$4a157a691c854e23 = v);
72
80
  $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel-tabpanel", () => $29add1fad43dc941$export$acb5da0970288266, (v) => $29add1fad43dc941$export$acb5da0970288266 = v);
73
- $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-picker", () => $29add1fad43dc941$export$12dc6b25c6dddfc1, (v) => $29add1fad43dc941$export$12dc6b25c6dddfc1 = v);
74
- $parcel$export($29add1fad43dc941$exports, "focus-ring", () => $29add1fad43dc941$export$f39a09f249340e2a, (v) => $29add1fad43dc941$export$f39a09f249340e2a = v);
75
- $parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--emphasized", () => $29add1fad43dc941$export$87b15021e28e067a, (v) => $29add1fad43dc941$export$87b15021e28e067a = v);
76
- $parcel$export($29add1fad43dc941$exports, "is-hovered", () => $29add1fad43dc941$export$b8813cd5d7824ce7, (v) => $29add1fad43dc941$export$b8813cd5d7824ce7 = v);
77
- $parcel$export($29add1fad43dc941$exports, "is-selected", () => $29add1fad43dc941$export$1e0fb04f31d3c22a, (v) => $29add1fad43dc941$export$1e0fb04f31d3c22a = v);
78
- var $29add1fad43dc941$export$34f1a65c57bb7bb;
79
- var $29add1fad43dc941$export$778fb839eaa0528c;
80
- var $29add1fad43dc941$export$9a6e2fb72c648072;
81
- var $29add1fad43dc941$export$35c105c0d9c8e56f;
82
- var $29add1fad43dc941$export$123e4c01a5440a3e;
81
+ $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel-tabs", () => $29add1fad43dc941$export$4a157a691c854e23, (v) => $29add1fad43dc941$export$4a157a691c854e23 = v);
82
+ var $29add1fad43dc941$export$f39a09f249340e2a;
83
+ var $29add1fad43dc941$export$8c4ee2c50c22c514;
83
84
  var $29add1fad43dc941$export$d35bc1e505d1ebbf;
85
+ var $29add1fad43dc941$export$b8813cd5d7824ce7;
86
+ var $29add1fad43dc941$export$1e0fb04f31d3c22a;
87
+ var $29add1fad43dc941$export$4109102f950813a6;
88
+ var $29add1fad43dc941$export$24c7f46a6e3605dd;
89
+ var $29add1fad43dc941$export$2927016961429360;
84
90
  var $29add1fad43dc941$export$d374b04f30360026;
85
- var $29add1fad43dc941$export$1f253edac4b98526;
86
- var $29add1fad43dc941$export$a115f9117a19563e;
87
- var $29add1fad43dc941$export$229f1ac4d3d38f0e;
91
+ var $29add1fad43dc941$export$35c105c0d9c8e56f;
88
92
  var $29add1fad43dc941$export$e15c78184ee03abe;
93
+ var $29add1fad43dc941$export$87b15021e28e067a;
94
+ var $29add1fad43dc941$export$229f1ac4d3d38f0e;
89
95
  var $29add1fad43dc941$export$ea514cd060922d6b;
90
96
  var $29add1fad43dc941$export$831e830d5828d42b;
91
97
  var $29add1fad43dc941$export$e415005be3957065;
98
+ var $29add1fad43dc941$export$123e4c01a5440a3e;
99
+ var $29add1fad43dc941$export$1f253edac4b98526;
100
+ var $29add1fad43dc941$export$12dc6b25c6dddfc1;
101
+ var $29add1fad43dc941$export$a115f9117a19563e;
102
+ var $29add1fad43dc941$export$34f1a65c57bb7bb;
103
+ var $29add1fad43dc941$export$778fb839eaa0528c;
104
+ var $29add1fad43dc941$export$9a6e2fb72c648072;
92
105
  var $29add1fad43dc941$export$e09869956b4c96f2;
93
- var $29add1fad43dc941$export$4a157a691c854e23;
94
106
  var $29add1fad43dc941$export$acb5da0970288266;
95
- var $29add1fad43dc941$export$12dc6b25c6dddfc1;
96
- var $29add1fad43dc941$export$f39a09f249340e2a;
97
- var $29add1fad43dc941$export$87b15021e28e067a;
98
- var $29add1fad43dc941$export$b8813cd5d7824ce7;
99
- var $29add1fad43dc941$export$1e0fb04f31d3c22a;
100
- $29add1fad43dc941$export$34f1a65c57bb7bb = "spectrum-TabsPanel_3e140b";
101
- $29add1fad43dc941$export$778fb839eaa0528c = "spectrum-TabsPanel--horizontal_3e140b";
102
- $29add1fad43dc941$export$9a6e2fb72c648072 = "spectrum-TabsPanel--vertical_3e140b";
103
- $29add1fad43dc941$export$35c105c0d9c8e56f = "spectrum-Tabs_3e140b";
104
- $29add1fad43dc941$export$123e4c01a5440a3e = "spectrum-Tabs-item_3e140b";
105
- $29add1fad43dc941$export$d35bc1e505d1ebbf = "is-disabled_3e140b";
106
- $29add1fad43dc941$export$d374b04f30360026 = "spectrum-Icon_3e140b";
107
- $29add1fad43dc941$export$1f253edac4b98526 = "spectrum-Tabs-itemLabel_3e140b";
108
- $29add1fad43dc941$export$a115f9117a19563e = "spectrum-Tabs-selectionIndicator_3e140b";
109
- $29add1fad43dc941$export$229f1ac4d3d38f0e = "spectrum-Tabs--horizontal_3e140b";
110
- $29add1fad43dc941$export$e15c78184ee03abe = "spectrum-Tabs--compact_3e140b";
111
- $29add1fad43dc941$export$ea514cd060922d6b = "spectrum-Tabs--isCollapsed_3e140b";
112
- $29add1fad43dc941$export$831e830d5828d42b = "spectrum-Tabs--quiet_3e140b";
113
- $29add1fad43dc941$export$e415005be3957065 = "spectrum-Tabs--vertical_3e140b";
114
- $29add1fad43dc941$export$e09869956b4c96f2 = "spectrum-TabsPanel-collapseWrapper_3e140b";
115
- $29add1fad43dc941$export$4a157a691c854e23 = "spectrum-TabsPanel-tabs_3e140b";
116
- $29add1fad43dc941$export$acb5da0970288266 = "spectrum-TabsPanel-tabpanel_3e140b";
117
- $29add1fad43dc941$export$12dc6b25c6dddfc1 = "spectrum-Tabs-picker_3e140b";
118
- $29add1fad43dc941$export$f39a09f249340e2a = "focus-ring_3e140b";
119
- $29add1fad43dc941$export$87b15021e28e067a = "spectrum-Tabs--emphasized_3e140b";
120
- $29add1fad43dc941$export$b8813cd5d7824ce7 = "is-hovered_3e140b";
121
- $29add1fad43dc941$export$1e0fb04f31d3c22a = "is-selected_3e140b";
107
+ var $29add1fad43dc941$export$4a157a691c854e23;
108
+ $29add1fad43dc941$export$f39a09f249340e2a = `FzVSrW_focus-ring`;
109
+ $29add1fad43dc941$export$8c4ee2c50c22c514 = `FzVSrW_i18nFontFamily`;
110
+ $29add1fad43dc941$export$d35bc1e505d1ebbf = `FzVSrW_is-disabled`;
111
+ $29add1fad43dc941$export$b8813cd5d7824ce7 = `FzVSrW_is-hovered`;
112
+ $29add1fad43dc941$export$1e0fb04f31d3c22a = `FzVSrW_is-selected`;
113
+ $29add1fad43dc941$export$4109102f950813a6 = `FzVSrW_spectrum-FocusRing-ring`;
114
+ $29add1fad43dc941$export$24c7f46a6e3605dd = `FzVSrW_spectrum-FocusRing ${$29add1fad43dc941$export$4109102f950813a6}`;
115
+ $29add1fad43dc941$export$2927016961429360 = `FzVSrW_spectrum-FocusRing--quiet`;
116
+ $29add1fad43dc941$export$d374b04f30360026 = `FzVSrW_spectrum-Icon`;
117
+ $29add1fad43dc941$export$35c105c0d9c8e56f = `FzVSrW_spectrum-Tabs`;
118
+ $29add1fad43dc941$export$e15c78184ee03abe = `FzVSrW_spectrum-Tabs--compact`;
119
+ $29add1fad43dc941$export$87b15021e28e067a = `FzVSrW_spectrum-Tabs--emphasized`;
120
+ $29add1fad43dc941$export$229f1ac4d3d38f0e = `FzVSrW_spectrum-Tabs--horizontal`;
121
+ $29add1fad43dc941$export$ea514cd060922d6b = `FzVSrW_spectrum-Tabs--isCollapsed`;
122
+ $29add1fad43dc941$export$831e830d5828d42b = `FzVSrW_spectrum-Tabs--quiet`;
123
+ $29add1fad43dc941$export$e415005be3957065 = `FzVSrW_spectrum-Tabs--vertical`;
124
+ $29add1fad43dc941$export$123e4c01a5440a3e = `FzVSrW_spectrum-Tabs-item`;
125
+ $29add1fad43dc941$export$1f253edac4b98526 = `FzVSrW_spectrum-Tabs-itemLabel`;
126
+ $29add1fad43dc941$export$12dc6b25c6dddfc1 = `FzVSrW_spectrum-Tabs-picker`;
127
+ $29add1fad43dc941$export$a115f9117a19563e = `FzVSrW_spectrum-Tabs-selectionIndicator`;
128
+ $29add1fad43dc941$export$34f1a65c57bb7bb = `FzVSrW_spectrum-TabsPanel`;
129
+ $29add1fad43dc941$export$778fb839eaa0528c = `FzVSrW_spectrum-TabsPanel--horizontal`;
130
+ $29add1fad43dc941$export$9a6e2fb72c648072 = `FzVSrW_spectrum-TabsPanel--vertical`;
131
+ $29add1fad43dc941$export$e09869956b4c96f2 = `FzVSrW_spectrum-TabsPanel-collapseWrapper`;
132
+ $29add1fad43dc941$export$acb5da0970288266 = `FzVSrW_spectrum-TabsPanel-tabpanel`;
133
+ $29add1fad43dc941$export$4a157a691c854e23 = `FzVSrW_spectrum-TabsPanel-tabs`;
122
134
 
123
135
 
124
136
 
@@ -131,12 +143,12 @@ $29add1fad43dc941$export$1e0fb04f31d3c22a = "is-selected_3e140b";
131
143
  const $e8d58e7e32285ba6$var$TabContext = /*#__PURE__*/ (0, ($parcel$interopDefault($8zXxA$react))).createContext(null);
132
144
  function $e8d58e7e32285ba6$var$Tabs(props, ref) {
133
145
  props = (0, $8zXxA$reactspectrumprovider.useProviderProps)(props);
134
- let { orientation: orientation = "horizontal" , density: density = "regular" , children: children , ...otherProps } = props;
146
+ let { orientation: orientation = "horizontal", density: density = "regular", children: children, ...otherProps } = props;
135
147
  let domRef = (0, $8zXxA$reactspectrumutils.useDOMRef)(ref);
136
148
  let tablistRef = (0, $8zXxA$react.useRef)();
137
149
  let wrapperRef = (0, $8zXxA$react.useRef)();
138
- let { direction: direction } = (0, $8zXxA$reactariai18n.useLocale)();
139
- let { styleProps: styleProps } = (0, $8zXxA$reactspectrumutils.useStyleProps)(otherProps);
150
+ let { direction: direction } = (0, $8zXxA$reactariai18n.useLocale)();
151
+ let { styleProps: styleProps } = (0, $8zXxA$reactspectrumutils.useStyleProps)(otherProps);
140
152
  let [collapsed, setCollapsed] = (0, $8zXxA$react.useState)(false);
141
153
  let [selectedTab, setSelectedTab] = (0, $8zXxA$react.useState)();
142
154
  const [tabListState, setTabListState] = (0, $8zXxA$react.useState)(null);
@@ -228,13 +240,13 @@ function $e8d58e7e32285ba6$var$Tabs(props, ref) {
228
240
  }
229
241
  // @private
230
242
  function $e8d58e7e32285ba6$var$Tab(props) {
231
- let { item: item , state: state } = props;
232
- let { key: key , rendered: rendered } = item;
243
+ let { item: item, state: state } = props;
244
+ let { key: key, rendered: rendered } = item;
233
245
  let ref = (0, $8zXxA$react.useRef)();
234
- let { tabProps: tabProps , isSelected: isSelected , isDisabled: isDisabled } = (0, $8zXxA$reactariatabs.useTab)({
246
+ let { tabProps: tabProps, isSelected: isSelected, isDisabled: isDisabled } = (0, $8zXxA$reactariatabs.useTab)({
235
247
  key: key
236
248
  }, state, ref);
237
- let { hoverProps: hoverProps , isHovered: isHovered } = (0, $8zXxA$reactariainteractions.useHover)({
249
+ let { hoverProps: hoverProps, isHovered: isHovered } = (0, $8zXxA$reactariainteractions.useHover)({
238
250
  ...props
239
251
  });
240
252
  let ElementType = item.props.href ? "a" : "div";
@@ -262,12 +274,12 @@ function $e8d58e7e32285ba6$var$Tab(props) {
262
274
  }
263
275
  // @private
264
276
  function $e8d58e7e32285ba6$var$TabLine(props) {
265
- let { orientation: orientation , selectedTab: // Is either the tab node (non-collapsed) or the picker node (collapsed)
266
- selectedTab , selectedKey: // selectedKey is provided so that the TabLine styles are updated when the TabPicker's width updates from a selection change
267
- selectedKey } = props;
268
- let { direction: direction } = (0, $8zXxA$reactariai18n.useLocale)();
269
- let { scale: scale } = (0, $8zXxA$reactspectrumprovider.useProvider)();
270
- let { tabLineState: tabLineState } = (0, $8zXxA$react.useContext)($e8d58e7e32285ba6$var$TabContext);
277
+ let { orientation: orientation, selectedTab: // Is either the tab node (non-collapsed) or the picker node (collapsed)
278
+ selectedTab, selectedKey: // selectedKey is provided so that the TabLine styles are updated when the TabPicker's width updates from a selection change
279
+ selectedKey } = props;
280
+ let { direction: direction } = (0, $8zXxA$reactariai18n.useLocale)();
281
+ let { scale: scale } = (0, $8zXxA$reactspectrumprovider.useProvider)();
282
+ let { tabLineState: tabLineState } = (0, $8zXxA$react.useContext)($e8d58e7e32285ba6$var$TabContext);
271
283
  let [style, setStyle] = (0, $8zXxA$react.useState)({
272
284
  width: undefined,
273
285
  height: undefined
@@ -309,17 +321,17 @@ function $e8d58e7e32285ba6$var$TabLine(props) {
309
321
  }
310
322
  function $e8d58e7e32285ba6$export$e51a686c67fdaa2d(props) {
311
323
  const tabContext = (0, $8zXxA$react.useContext)($e8d58e7e32285ba6$var$TabContext);
312
- const { refs: refs , tabState: tabState , tabProps: tabProps , tabPanelProps: tabPanelProps } = tabContext;
313
- const { isQuiet: isQuiet , density: density , isEmphasized: isEmphasized , orientation: orientation } = tabProps;
314
- const { selectedTab: selectedTab , collapsed: collapsed , setTabListState: setTabListState } = tabState;
315
- const { tablistRef: tablistRef , wrapperRef: wrapperRef } = refs;
324
+ const { refs: refs, tabState: tabState, tabProps: tabProps, tabPanelProps: tabPanelProps } = tabContext;
325
+ const { isQuiet: isQuiet, density: density, isEmphasized: isEmphasized, orientation: orientation } = tabProps;
326
+ const { selectedTab: selectedTab, collapsed: collapsed, setTabListState: setTabListState } = tabState;
327
+ const { tablistRef: tablistRef, wrapperRef: wrapperRef } = refs;
316
328
  // Pass original Tab props but override children to create the collection.
317
329
  const state = (0, $8zXxA$reactstatelytabs.useTabListState)({
318
330
  ...tabProps,
319
331
  children: props.children
320
332
  });
321
- let { styleProps: styleProps } = (0, $8zXxA$reactspectrumutils.useStyleProps)(props);
322
- const { tabListProps: tabListProps } = (0, $8zXxA$reactariatabs.useTabList)({
333
+ let { styleProps: styleProps } = (0, $8zXxA$reactspectrumutils.useStyleProps)(props);
334
+ const { tabListProps: tabListProps } = (0, $8zXxA$reactariatabs.useTabList)({
323
335
  ...tabProps,
324
336
  ...props
325
337
  }, state, tablistRef);
@@ -381,8 +393,8 @@ function $e8d58e7e32285ba6$export$e51a686c67fdaa2d(props) {
381
393
  }), tabContent);
382
394
  }
383
395
  function $e8d58e7e32285ba6$export$5dae8d435677f210(props) {
384
- const { tabState: tabState , tabProps: tabProps } = (0, $8zXxA$react.useContext)($e8d58e7e32285ba6$var$TabContext);
385
- const { tabListState: tabListState } = tabState;
396
+ const { tabState: tabState, tabProps: tabProps } = (0, $8zXxA$react.useContext)($e8d58e7e32285ba6$var$TabContext);
397
+ const { tabListState: tabListState } = tabState;
386
398
  const factory = (0, $8zXxA$react.useCallback)((nodes)=>new (0, $8zXxA$reactstatelylist.ListCollection)(nodes), []);
387
399
  const collection = (0, $8zXxA$reactstatelycollections.useCollection)({
388
400
  items: tabProps.items,
@@ -398,11 +410,11 @@ function $e8d58e7e32285ba6$export$5dae8d435677f210(props) {
398
410
  }
399
411
  // @private
400
412
  function $e8d58e7e32285ba6$var$TabPanel(props) {
401
- const { tabState: tabState , tabPanelProps: ctxTabPanelProps } = (0, $8zXxA$react.useContext)($e8d58e7e32285ba6$var$TabContext);
402
- const { tabListState: tabListState } = tabState;
413
+ const { tabState: tabState, tabPanelProps: ctxTabPanelProps } = (0, $8zXxA$react.useContext)($e8d58e7e32285ba6$var$TabContext);
414
+ const { tabListState: tabListState } = tabState;
403
415
  let ref = (0, $8zXxA$react.useRef)();
404
- const { tabPanelProps: tabPanelProps } = (0, $8zXxA$reactariatabs.useTabPanel)(props, tabListState, ref);
405
- let { styleProps: styleProps } = (0, $8zXxA$reactspectrumutils.useStyleProps)(props);
416
+ const { tabPanelProps: tabPanelProps } = (0, $8zXxA$reactariatabs.useTabPanel)(props, tabListState, ref);
417
+ let { styleProps: styleProps } = (0, $8zXxA$reactspectrumutils.useStyleProps)(props);
406
418
  if (ctxTabPanelProps["aria-labelledby"]) tabPanelProps["aria-labelledby"] = ctxTabPanelProps["aria-labelledby"];
407
419
  return /*#__PURE__*/ (0, ($parcel$interopDefault($8zXxA$react))).createElement((0, $8zXxA$reactariafocus.FocusRing), {
408
420
  focusRingClass: (0, $8zXxA$reactspectrumutils.classNames)((0, (/*@__PURE__*/$parcel$interopDefault($29add1fad43dc941$exports))), "focus-ring")
@@ -414,7 +426,7 @@ function $e8d58e7e32285ba6$var$TabPanel(props) {
414
426
  }, props.children));
415
427
  }
416
428
  function $e8d58e7e32285ba6$var$TabPicker(props) {
417
- let { isDisabled: isDisabled , isEmphasized: isEmphasized , isQuiet: isQuiet , state: state , "aria-labelledby": ariaLabeledBy , "aria-label": ariaLabel , density: density , className: className , id: id , visible: visible } = props;
429
+ let { isDisabled: isDisabled, isEmphasized: isEmphasized, isQuiet: isQuiet, state: state, "aria-labelledby": ariaLabeledBy, "aria-label": ariaLabel, density: density, className: className, id: id, visible: visible } = props;
418
430
  let ref = (0, $8zXxA$react.useRef)();
419
431
  let [pickerNode, setPickerNode] = (0, $8zXxA$react.useState)(null);
420
432
  (0, $8zXxA$react.useEffect)(()=>{
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-spectrum/tabs/src/index.ts","packages/@react-spectrum/tabs/src/Tabs.tsx","packages/@adobe/spectrum-css-temp/components/tabs/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/// <reference types=\"css-module-types\" />\n\nexport {TabList, TabPanels, Tabs} from './Tabs';\nexport {Item} from '@react-stately/collections';\nexport type {SpectrumTabsProps, SpectrumTabListProps, SpectrumTabPanelsProps} from '@react-types/tabs';\n","/*\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\nimport {AriaTabPanelProps, SpectrumTabListProps, SpectrumTabPanelsProps, SpectrumTabsProps} from '@react-types/tabs';\nimport {classNames, SlotProvider, unwrapDOMRef, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMProps, DOMRef, Node, Orientation, StyleProps} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, useId, useLayoutEffect, useResizeObserver} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Item, Picker} from '@react-spectrum/picker';\nimport {ListCollection} from '@react-stately/list';\nimport React, {\n Key,\n MutableRefObject,\n ReactElement,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState\n} from 'react';\nimport {SpectrumPickerProps} from '@react-types/select';\nimport styles from '@adobe/spectrum-css-temp/components/tabs/vars.css';\nimport {TabListState, useTabListState} from '@react-stately/tabs';\nimport {Text} from '@react-spectrum/text';\nimport {useCollection} from '@react-stately/collections';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProvider, useProviderProps} from '@react-spectrum/provider';\nimport {useTab, useTabList, useTabPanel} from '@react-aria/tabs';\n\ninterface TabsContext<T> {\n tabProps: SpectrumTabsProps<T>,\n tabState: {\n tabListState: TabListState<T>,\n setTabListState: (state: TabListState<T>) => void,\n selectedTab: HTMLElement,\n collapsed: boolean\n },\n refs: {\n wrapperRef: MutableRefObject<HTMLDivElement>,\n tablistRef: MutableRefObject<HTMLDivElement>\n },\n tabPanelProps: {\n 'aria-labelledby': string\n },\n tabLineState: Array<DOMRect>\n}\n\nconst TabContext = React.createContext<TabsContext<any>>(null);\n\nfunction Tabs<T extends object>(props: SpectrumTabsProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n orientation = 'horizontal' as Orientation,\n density = 'regular',\n children,\n ...otherProps\n } = props;\n\n let domRef = useDOMRef(ref);\n let tablistRef = useRef<HTMLDivElement>();\n let wrapperRef = useRef<HTMLDivElement>();\n\n let {direction} = useLocale();\n let {styleProps} = useStyleProps(otherProps);\n let [collapsed, setCollapsed] = useState(false);\n let [selectedTab, setSelectedTab] = useState<HTMLElement>();\n const [tabListState, setTabListState] = useState<TabListState<T>>(null);\n let [tabPositions, setTabPositions] = useState([]);\n let prevTabPositions = useRef(tabPositions);\n\n useEffect(() => {\n if (tablistRef.current) {\n let selectedTab: HTMLElement = tablistRef.current.querySelector(`[data-key=\"${tabListState?.selectedKey}\"]`);\n\n if (selectedTab != null) {\n setSelectedTab(selectedTab);\n }\n }\n // collapse is in the dep array so selectedTab can be updated for TabLine positioning\n }, [children, tabListState?.selectedKey, collapsed, tablistRef]);\n\n let checkShouldCollapse = useCallback(() => {\n if (wrapperRef.current && orientation !== 'vertical') {\n let tabsComponent = wrapperRef.current;\n let tabs = tablistRef.current.querySelectorAll('[role=\"tab\"]');\n let tabDimensions = [...tabs].map(tab => tab.getBoundingClientRect());\n\n let end = direction === 'rtl' ? 'left' : 'right';\n let farEdgeTabList = tabsComponent.getBoundingClientRect()[end];\n let farEdgeLastTab = tabDimensions[tabDimensions.length - 1][end];\n let shouldCollapse = direction === 'rtl' ? farEdgeLastTab < farEdgeTabList : farEdgeTabList < farEdgeLastTab;\n setCollapsed(shouldCollapse);\n if (tabDimensions.length !== prevTabPositions.current.length || tabDimensions.some((box, index) => box?.left !== prevTabPositions.current[index]?.left || box?.right !== prevTabPositions.current[index]?.right)) {\n setTabPositions(tabDimensions);\n prevTabPositions.current = tabDimensions;\n }\n }\n }, [tablistRef, wrapperRef, direction, orientation, setCollapsed, prevTabPositions, setTabPositions]);\n\n useEffect(() => {\n checkShouldCollapse();\n }, [children, checkShouldCollapse]);\n\n useResizeObserver({ref: wrapperRef, onResize: checkShouldCollapse});\n\n let tabPanelProps = {\n 'aria-labelledby': undefined\n };\n\n // When the tabs are collapsed, the tabPanel should be labelled by the Picker button element.\n let collapsibleTabListId = useId();\n if (collapsed && orientation !== 'vertical') {\n tabPanelProps['aria-labelledby'] = collapsibleTabListId;\n }\n return (\n <TabContext.Provider\n value={{\n tabProps: {...props, orientation, density},\n tabState: {tabListState, setTabListState, selectedTab, collapsed},\n refs: {tablistRef, wrapperRef},\n tabPanelProps,\n tabLineState: tabPositions\n }}>\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n ref={domRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel',\n `spectrum-TabsPanel--${orientation}`,\n styleProps.className\n )}>\n {props.children}\n </div>\n </TabContext.Provider>\n );\n}\n\ninterface TabProps<T> extends DOMProps {\n item: Node<T>,\n state: TabListState<T>,\n isDisabled?: boolean,\n orientation?: Orientation\n}\n\n// @private\nfunction Tab<T>(props: TabProps<T>) {\n let {item, state} = props;\n let {key, rendered} = item;\n\n let ref = useRef<any>();\n let {tabProps, isSelected, isDisabled} = useTab({key}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n ...props\n });\n let ElementType: React.ElementType = item.props.href ? 'a' : 'div';\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <ElementType\n {...mergeProps(tabProps, hoverProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Tabs-item',\n {\n 'is-selected': isSelected,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n }\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n UNSAFE_className: classNames(styles, 'spectrum-Tabs-itemLabel')\n }\n }}>\n {typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered}\n </SlotProvider>\n </ElementType>\n </FocusRing>\n );\n}\n\ninterface TabLineProps {\n orientation?: Orientation,\n selectedTab?: HTMLElement,\n selectedKey?: Key\n}\n\n// @private\nfunction TabLine(props: TabLineProps) {\n let {\n orientation,\n // Is either the tab node (non-collapsed) or the picker node (collapsed)\n selectedTab,\n // selectedKey is provided so that the TabLine styles are updated when the TabPicker's width updates from a selection change\n selectedKey\n } = props;\n\n let {direction} = useLocale();\n let {scale} = useProvider();\n let {tabLineState} = useContext(TabContext);\n\n let [style, setStyle] = useState({\n width: undefined,\n height: undefined\n });\n\n let onResize = useCallback(() => {\n if (selectedTab) {\n let styleObj = {transform: undefined, width: undefined, height: undefined};\n // In RTL, calculate the transform from the right edge of the tablist so that resizing the window doesn't break the Tabline position due to offsetLeft changes\n let offset = direction === 'rtl' ? -1 * ((selectedTab.offsetParent as HTMLElement)?.offsetWidth - selectedTab.offsetWidth - selectedTab.offsetLeft) : selectedTab.offsetLeft;\n styleObj.transform = orientation === 'vertical'\n ? `translateY(${selectedTab.offsetTop}px)`\n : `translateX(${offset}px)`;\n\n if (orientation === 'horizontal') {\n styleObj.width = `${selectedTab.offsetWidth}px`;\n } else {\n styleObj.height = `${selectedTab.offsetHeight}px`;\n }\n setStyle(styleObj);\n }\n }, [direction, setStyle, selectedTab, orientation]);\n\n useLayoutEffect(() => {\n onResize();\n }, [onResize, scale, selectedKey, tabLineState]);\n\n return <div className={classNames(styles, 'spectrum-Tabs-selectionIndicator')} role=\"presentation\" style={style} />;\n}\n\n/**\n * A TabList is used within Tabs to group tabs that a user can switch between.\n * The keys of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.\n */\nexport function TabList<T>(props: SpectrumTabListProps<T>) {\n const tabContext = useContext(TabContext);\n const {refs, tabState, tabProps, tabPanelProps} = tabContext;\n const {isQuiet, density, isEmphasized, orientation} = tabProps;\n const {selectedTab, collapsed, setTabListState} = tabState;\n const {tablistRef, wrapperRef} = refs;\n // Pass original Tab props but override children to create the collection.\n const state = useTabListState({...tabProps, children: props.children});\n\n let {styleProps} = useStyleProps(props);\n const {tabListProps} = useTabList({...tabProps, ...props}, state, tablistRef);\n\n useEffect(() => {\n // Passing back to root as useTabPanel needs the TabListState\n setTabListState(state);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.disabledKeys, state.selectedItem, state.selectedKey, props.children]);\n\n let collapseStyle : React.CSSProperties = collapsed && orientation !== 'vertical' ? {maxWidth: 'calc(100% + 1px)', overflow: 'hidden', visibility: 'hidden', position: 'absolute'} : {maxWidth: 'calc(100% + 1px)'};\n let stylePropsFinal = orientation === 'vertical' ? styleProps : {style: collapseStyle};\n\n if (collapsed && orientation !== 'vertical') {\n tabListProps['aria-hidden'] = true;\n }\n\n let tabListclassName = classNames(styles, 'spectrum-TabsPanel-tabs');\n\n const tabContent = (\n <div\n {...stylePropsFinal}\n {...tabListProps}\n ref={tablistRef}\n className={classNames(\n styles,\n 'spectrum-Tabs',\n `spectrum-Tabs--${orientation}`,\n tabListclassName,\n {\n 'spectrum-Tabs--quiet': isQuiet,\n 'spectrum-Tabs--emphasized': isEmphasized,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n orientation === 'vertical' && styleProps.className\n )\n }>\n {[...state.collection].map((item) => (\n <Tab key={item.key} item={item} state={state} orientation={orientation} />\n ))}\n <TabLine orientation={orientation} selectedTab={selectedTab} />\n </div>\n );\n\n\n if (orientation === 'vertical') {\n return tabContent;\n } else {\n return (\n <div\n {...styleProps}\n ref={wrapperRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel-collapseWrapper',\n styleProps.className\n )}>\n <TabPicker {...props} {...tabProps} visible={collapsed} id={tabPanelProps['aria-labelledby']} state={state} className={tabListclassName} />\n {tabContent}\n </div>\n );\n }\n}\n\n/**\n * TabPanels is used within Tabs as a container for the content of each tab.\n * The keys of the items within the <TabPanels> must match up with a corresponding item inside the <TabList>.\n */\nexport function TabPanels<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabProps} = useContext(TabContext);\n const {tabListState} = tabState;\n\n const factory = useCallback(nodes => new ListCollection(nodes), []);\n const collection = useCollection({items: tabProps.items, ...props}, factory, {suppressTextValueWarning: true});\n const selectedItem = tabListState ? collection.getItem(tabListState.selectedKey) : null;\n\n return (\n <TabPanel {...props} key={tabListState?.selectedKey}>\n {selectedItem && selectedItem.props.children}\n </TabPanel>\n );\n}\n\ninterface TabPanelProps extends AriaTabPanelProps, StyleProps {\n children?: ReactNode\n}\n\n// @private\nfunction TabPanel(props: TabPanelProps) {\n const {tabState, tabPanelProps: ctxTabPanelProps} = useContext(TabContext);\n const {tabListState} = tabState;\n let ref = useRef();\n const {tabPanelProps} = useTabPanel(props, tabListState, ref);\n let {styleProps} = useStyleProps(props);\n\n if (ctxTabPanelProps['aria-labelledby']) {\n tabPanelProps['aria-labelledby'] = ctxTabPanelProps['aria-labelledby'];\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div {...styleProps} {...tabPanelProps} ref={ref} className={classNames(styles, 'spectrum-TabsPanel-tabpanel', styleProps.className)}>\n {props.children}\n </div>\n </FocusRing>\n );\n}\n\ninterface TabPickerProps<T> extends Omit<SpectrumPickerProps<T>, 'children'> {\n density?: 'compact' | 'regular',\n isEmphasized?: boolean,\n state: TabListState<T>,\n className?: string,\n visible: boolean\n}\n\nfunction TabPicker<T>(props: TabPickerProps<T>) {\n let {\n isDisabled,\n isEmphasized,\n isQuiet,\n state,\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel,\n density,\n className,\n id,\n visible\n } = props;\n\n let ref = useRef();\n let [pickerNode, setPickerNode] = useState(null);\n\n useEffect(() => {\n let node = unwrapDOMRef(ref);\n setPickerNode(node.current);\n }, [ref]);\n\n let items = [...state.collection];\n let pickerProps = {\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel\n };\n\n const style : React.CSSProperties = visible ? {} : {visibility: 'hidden', position: 'absolute'};\n\n // TODO: Figure out if tabListProps should go onto the div here, v2 doesn't do it\n return (\n <div\n className={classNames(\n styles,\n 'spectrum-Tabs',\n 'spectrum-Tabs--horizontal',\n 'spectrum-Tabs--isCollapsed',\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact',\n 'spectrum-Tabs--emphasized': isEmphasized\n },\n className\n )}\n style={style}\n aria-hidden={visible ? undefined : true}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n button: {\n focusRingClass: classNames(styles, 'focus-ring')\n }\n }}>\n <Picker\n {...pickerProps}\n id={id}\n items={items}\n ref={ref}\n isQuiet\n isDisabled={!visible || isDisabled}\n selectedKey={state.selectedKey}\n disabledKeys={state.disabledKeys}\n onSelectionChange={state.setSelectedKey}\n UNSAFE_className={classNames(styles, 'spectrum-Tabs-picker')}>\n {item => <Item {...item.props}>{item.rendered}</Item>}\n </Picker>\n {pickerNode && <TabLine orientation=\"horizontal\" selectedTab={pickerNode} selectedKey={state.selectedKey} />}\n </SlotProvider>\n </div>\n );\n}\n\n/**\n * Tabs organize content into multiple sections and allow users to navigate between them. The content under the set of tabs should be related and form a coherent unit.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Tabs = React.forwardRef(Tabs) as <T>(props: SpectrumTabsProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_Tabs as Tabs};\n","/*\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":"main.js.map"}
1
+ {"mappings":"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","sources":["packages/@react-spectrum/tabs/src/index.ts","packages/@react-spectrum/tabs/src/Tabs.tsx","packages/@adobe/spectrum-css-temp/components/tabs/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/// <reference types=\"css-module-types\" />\n\nexport {TabList, TabPanels, Tabs} from './Tabs';\nexport {Item} from '@react-stately/collections';\nexport type {SpectrumTabsProps, SpectrumTabListProps, SpectrumTabPanelsProps} from '@react-types/tabs';\n","/*\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\nimport {AriaTabPanelProps, SpectrumTabListProps, SpectrumTabPanelsProps, SpectrumTabsProps} from '@react-types/tabs';\nimport {classNames, SlotProvider, unwrapDOMRef, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMProps, DOMRef, Node, Orientation, StyleProps} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, useId, useLayoutEffect, useResizeObserver} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Item, Picker} from '@react-spectrum/picker';\nimport {ListCollection} from '@react-stately/list';\nimport React, {\n Key,\n MutableRefObject,\n ReactElement,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState\n} from 'react';\nimport {SpectrumPickerProps} from '@react-types/select';\nimport styles from '@adobe/spectrum-css-temp/components/tabs/vars.css';\nimport {TabListState, useTabListState} from '@react-stately/tabs';\nimport {Text} from '@react-spectrum/text';\nimport {useCollection} from '@react-stately/collections';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProvider, useProviderProps} from '@react-spectrum/provider';\nimport {useTab, useTabList, useTabPanel} from '@react-aria/tabs';\n\ninterface TabsContext<T> {\n tabProps: SpectrumTabsProps<T>,\n tabState: {\n tabListState: TabListState<T>,\n setTabListState: (state: TabListState<T>) => void,\n selectedTab: HTMLElement,\n collapsed: boolean\n },\n refs: {\n wrapperRef: MutableRefObject<HTMLDivElement>,\n tablistRef: MutableRefObject<HTMLDivElement>\n },\n tabPanelProps: {\n 'aria-labelledby': string\n },\n tabLineState: Array<DOMRect>\n}\n\nconst TabContext = React.createContext<TabsContext<any>>(null);\n\nfunction Tabs<T extends object>(props: SpectrumTabsProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n orientation = 'horizontal' as Orientation,\n density = 'regular',\n children,\n ...otherProps\n } = props;\n\n let domRef = useDOMRef(ref);\n let tablistRef = useRef<HTMLDivElement>();\n let wrapperRef = useRef<HTMLDivElement>();\n\n let {direction} = useLocale();\n let {styleProps} = useStyleProps(otherProps);\n let [collapsed, setCollapsed] = useState(false);\n let [selectedTab, setSelectedTab] = useState<HTMLElement>();\n const [tabListState, setTabListState] = useState<TabListState<T>>(null);\n let [tabPositions, setTabPositions] = useState([]);\n let prevTabPositions = useRef(tabPositions);\n\n useEffect(() => {\n if (tablistRef.current) {\n let selectedTab: HTMLElement = tablistRef.current.querySelector(`[data-key=\"${tabListState?.selectedKey}\"]`);\n\n if (selectedTab != null) {\n setSelectedTab(selectedTab);\n }\n }\n // collapse is in the dep array so selectedTab can be updated for TabLine positioning\n }, [children, tabListState?.selectedKey, collapsed, tablistRef]);\n\n let checkShouldCollapse = useCallback(() => {\n if (wrapperRef.current && orientation !== 'vertical') {\n let tabsComponent = wrapperRef.current;\n let tabs = tablistRef.current.querySelectorAll('[role=\"tab\"]');\n let tabDimensions = [...tabs].map(tab => tab.getBoundingClientRect());\n\n let end = direction === 'rtl' ? 'left' : 'right';\n let farEdgeTabList = tabsComponent.getBoundingClientRect()[end];\n let farEdgeLastTab = tabDimensions[tabDimensions.length - 1][end];\n let shouldCollapse = direction === 'rtl' ? farEdgeLastTab < farEdgeTabList : farEdgeTabList < farEdgeLastTab;\n setCollapsed(shouldCollapse);\n if (tabDimensions.length !== prevTabPositions.current.length || tabDimensions.some((box, index) => box?.left !== prevTabPositions.current[index]?.left || box?.right !== prevTabPositions.current[index]?.right)) {\n setTabPositions(tabDimensions);\n prevTabPositions.current = tabDimensions;\n }\n }\n }, [tablistRef, wrapperRef, direction, orientation, setCollapsed, prevTabPositions, setTabPositions]);\n\n useEffect(() => {\n checkShouldCollapse();\n }, [children, checkShouldCollapse]);\n\n useResizeObserver({ref: wrapperRef, onResize: checkShouldCollapse});\n\n let tabPanelProps = {\n 'aria-labelledby': undefined\n };\n\n // When the tabs are collapsed, the tabPanel should be labelled by the Picker button element.\n let collapsibleTabListId = useId();\n if (collapsed && orientation !== 'vertical') {\n tabPanelProps['aria-labelledby'] = collapsibleTabListId;\n }\n return (\n <TabContext.Provider\n value={{\n tabProps: {...props, orientation, density},\n tabState: {tabListState, setTabListState, selectedTab, collapsed},\n refs: {tablistRef, wrapperRef},\n tabPanelProps,\n tabLineState: tabPositions\n }}>\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n ref={domRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel',\n `spectrum-TabsPanel--${orientation}`,\n styleProps.className\n )}>\n {props.children}\n </div>\n </TabContext.Provider>\n );\n}\n\ninterface TabProps<T> extends DOMProps {\n item: Node<T>,\n state: TabListState<T>,\n isDisabled?: boolean,\n orientation?: Orientation\n}\n\n// @private\nfunction Tab<T>(props: TabProps<T>) {\n let {item, state} = props;\n let {key, rendered} = item;\n\n let ref = useRef<any>();\n let {tabProps, isSelected, isDisabled} = useTab({key}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n ...props\n });\n let ElementType: React.ElementType = item.props.href ? 'a' : 'div';\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <ElementType\n {...mergeProps(tabProps, hoverProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Tabs-item',\n {\n 'is-selected': isSelected,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n }\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n UNSAFE_className: classNames(styles, 'spectrum-Tabs-itemLabel')\n }\n }}>\n {typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered}\n </SlotProvider>\n </ElementType>\n </FocusRing>\n );\n}\n\ninterface TabLineProps {\n orientation?: Orientation,\n selectedTab?: HTMLElement,\n selectedKey?: Key\n}\n\n// @private\nfunction TabLine(props: TabLineProps) {\n let {\n orientation,\n // Is either the tab node (non-collapsed) or the picker node (collapsed)\n selectedTab,\n // selectedKey is provided so that the TabLine styles are updated when the TabPicker's width updates from a selection change\n selectedKey\n } = props;\n\n let {direction} = useLocale();\n let {scale} = useProvider();\n let {tabLineState} = useContext(TabContext);\n\n let [style, setStyle] = useState({\n width: undefined,\n height: undefined\n });\n\n let onResize = useCallback(() => {\n if (selectedTab) {\n let styleObj = {transform: undefined, width: undefined, height: undefined};\n // In RTL, calculate the transform from the right edge of the tablist so that resizing the window doesn't break the Tabline position due to offsetLeft changes\n let offset = direction === 'rtl' ? -1 * ((selectedTab.offsetParent as HTMLElement)?.offsetWidth - selectedTab.offsetWidth - selectedTab.offsetLeft) : selectedTab.offsetLeft;\n styleObj.transform = orientation === 'vertical'\n ? `translateY(${selectedTab.offsetTop}px)`\n : `translateX(${offset}px)`;\n\n if (orientation === 'horizontal') {\n styleObj.width = `${selectedTab.offsetWidth}px`;\n } else {\n styleObj.height = `${selectedTab.offsetHeight}px`;\n }\n setStyle(styleObj);\n }\n }, [direction, setStyle, selectedTab, orientation]);\n\n useLayoutEffect(() => {\n onResize();\n }, [onResize, scale, selectedKey, tabLineState]);\n\n return <div className={classNames(styles, 'spectrum-Tabs-selectionIndicator')} role=\"presentation\" style={style} />;\n}\n\n/**\n * A TabList is used within Tabs to group tabs that a user can switch between.\n * The keys of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.\n */\nexport function TabList<T>(props: SpectrumTabListProps<T>) {\n const tabContext = useContext(TabContext);\n const {refs, tabState, tabProps, tabPanelProps} = tabContext;\n const {isQuiet, density, isEmphasized, orientation} = tabProps;\n const {selectedTab, collapsed, setTabListState} = tabState;\n const {tablistRef, wrapperRef} = refs;\n // Pass original Tab props but override children to create the collection.\n const state = useTabListState({...tabProps, children: props.children});\n\n let {styleProps} = useStyleProps(props);\n const {tabListProps} = useTabList({...tabProps, ...props}, state, tablistRef);\n\n useEffect(() => {\n // Passing back to root as useTabPanel needs the TabListState\n setTabListState(state);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.disabledKeys, state.selectedItem, state.selectedKey, props.children]);\n\n let collapseStyle : React.CSSProperties = collapsed && orientation !== 'vertical' ? {maxWidth: 'calc(100% + 1px)', overflow: 'hidden', visibility: 'hidden', position: 'absolute'} : {maxWidth: 'calc(100% + 1px)'};\n let stylePropsFinal = orientation === 'vertical' ? styleProps : {style: collapseStyle};\n\n if (collapsed && orientation !== 'vertical') {\n tabListProps['aria-hidden'] = true;\n }\n\n let tabListclassName = classNames(styles, 'spectrum-TabsPanel-tabs');\n\n const tabContent = (\n <div\n {...stylePropsFinal}\n {...tabListProps}\n ref={tablistRef}\n className={classNames(\n styles,\n 'spectrum-Tabs',\n `spectrum-Tabs--${orientation}`,\n tabListclassName,\n {\n 'spectrum-Tabs--quiet': isQuiet,\n 'spectrum-Tabs--emphasized': isEmphasized,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n orientation === 'vertical' && styleProps.className\n )\n }>\n {[...state.collection].map((item) => (\n <Tab key={item.key} item={item} state={state} orientation={orientation} />\n ))}\n <TabLine orientation={orientation} selectedTab={selectedTab} />\n </div>\n );\n\n\n if (orientation === 'vertical') {\n return tabContent;\n } else {\n return (\n <div\n {...styleProps}\n ref={wrapperRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel-collapseWrapper',\n styleProps.className\n )}>\n <TabPicker {...props} {...tabProps} visible={collapsed} id={tabPanelProps['aria-labelledby']} state={state} className={tabListclassName} />\n {tabContent}\n </div>\n );\n }\n}\n\n/**\n * TabPanels is used within Tabs as a container for the content of each tab.\n * The keys of the items within the <TabPanels> must match up with a corresponding item inside the <TabList>.\n */\nexport function TabPanels<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabProps} = useContext(TabContext);\n const {tabListState} = tabState;\n\n const factory = useCallback(nodes => new ListCollection(nodes), []);\n const collection = useCollection({items: tabProps.items, ...props}, factory, {suppressTextValueWarning: true});\n const selectedItem = tabListState ? collection.getItem(tabListState.selectedKey) : null;\n\n return (\n <TabPanel {...props} key={tabListState?.selectedKey}>\n {selectedItem && selectedItem.props.children}\n </TabPanel>\n );\n}\n\ninterface TabPanelProps extends AriaTabPanelProps, StyleProps {\n children?: ReactNode\n}\n\n// @private\nfunction TabPanel(props: TabPanelProps) {\n const {tabState, tabPanelProps: ctxTabPanelProps} = useContext(TabContext);\n const {tabListState} = tabState;\n let ref = useRef();\n const {tabPanelProps} = useTabPanel(props, tabListState, ref);\n let {styleProps} = useStyleProps(props);\n\n if (ctxTabPanelProps['aria-labelledby']) {\n tabPanelProps['aria-labelledby'] = ctxTabPanelProps['aria-labelledby'];\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div {...styleProps} {...tabPanelProps} ref={ref} className={classNames(styles, 'spectrum-TabsPanel-tabpanel', styleProps.className)}>\n {props.children}\n </div>\n </FocusRing>\n );\n}\n\ninterface TabPickerProps<T> extends Omit<SpectrumPickerProps<T>, 'children'> {\n density?: 'compact' | 'regular',\n isEmphasized?: boolean,\n state: TabListState<T>,\n className?: string,\n visible: boolean\n}\n\nfunction TabPicker<T>(props: TabPickerProps<T>) {\n let {\n isDisabled,\n isEmphasized,\n isQuiet,\n state,\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel,\n density,\n className,\n id,\n visible\n } = props;\n\n let ref = useRef();\n let [pickerNode, setPickerNode] = useState(null);\n\n useEffect(() => {\n let node = unwrapDOMRef(ref);\n setPickerNode(node.current);\n }, [ref]);\n\n let items = [...state.collection];\n let pickerProps = {\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel\n };\n\n const style : React.CSSProperties = visible ? {} : {visibility: 'hidden', position: 'absolute'};\n\n // TODO: Figure out if tabListProps should go onto the div here, v2 doesn't do it\n return (\n <div\n className={classNames(\n styles,\n 'spectrum-Tabs',\n 'spectrum-Tabs--horizontal',\n 'spectrum-Tabs--isCollapsed',\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact',\n 'spectrum-Tabs--emphasized': isEmphasized\n },\n className\n )}\n style={style}\n aria-hidden={visible ? undefined : true}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n button: {\n focusRingClass: classNames(styles, 'focus-ring')\n }\n }}>\n <Picker\n {...pickerProps}\n id={id}\n items={items}\n ref={ref}\n isQuiet\n isDisabled={!visible || isDisabled}\n selectedKey={state.selectedKey}\n disabledKeys={state.disabledKeys}\n onSelectionChange={state.setSelectedKey}\n UNSAFE_className={classNames(styles, 'spectrum-Tabs-picker')}>\n {item => <Item {...item.props}>{item.rendered}</Item>}\n </Picker>\n {pickerNode && <TabLine orientation=\"horizontal\" selectedTab={pickerNode} selectedKey={state.selectedKey} />}\n </SlotProvider>\n </div>\n );\n}\n\n/**\n * Tabs organize content into multiple sections and allow users to navigate between them. The content under the set of tabs should be related and form a coherent unit.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Tabs = React.forwardRef(Tabs) as <T>(props: SpectrumTabsProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_Tabs as Tabs};\n","/*\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":"main.js.map"}