@react-spectrum/tabs 3.7.3-nightly.4138 → 3.7.3-nightly.4140
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/import.mjs +10 -13
- package/dist/main.css +1 -1
- package/dist/main.js +10 -13
- package/dist/main.js.map +1 -1
- package/dist/module.js +10 -13
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/Tabs.tsx +7 -11
package/dist/import.mjs
CHANGED
|
@@ -54,8 +54,8 @@ $parcel$export($32d597b82a7aad64$exports, "spectrum-TabsPanel--vertical", () =>
|
|
|
54
54
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs", () => $32d597b82a7aad64$export$35c105c0d9c8e56f, (v) => $32d597b82a7aad64$export$35c105c0d9c8e56f = v);
|
|
55
55
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs-item", () => $32d597b82a7aad64$export$123e4c01a5440a3e, (v) => $32d597b82a7aad64$export$123e4c01a5440a3e = v);
|
|
56
56
|
$parcel$export($32d597b82a7aad64$exports, "is-disabled", () => $32d597b82a7aad64$export$d35bc1e505d1ebbf, (v) => $32d597b82a7aad64$export$d35bc1e505d1ebbf = v);
|
|
57
|
-
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs-itemLabel", () => $32d597b82a7aad64$export$1f253edac4b98526, (v) => $32d597b82a7aad64$export$1f253edac4b98526 = v);
|
|
58
57
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Icon", () => $32d597b82a7aad64$export$d374b04f30360026, (v) => $32d597b82a7aad64$export$d374b04f30360026 = v);
|
|
58
|
+
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs-itemLabel", () => $32d597b82a7aad64$export$1f253edac4b98526, (v) => $32d597b82a7aad64$export$1f253edac4b98526 = v);
|
|
59
59
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs-selectionIndicator", () => $32d597b82a7aad64$export$a115f9117a19563e, (v) => $32d597b82a7aad64$export$a115f9117a19563e = v);
|
|
60
60
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs--horizontal", () => $32d597b82a7aad64$export$229f1ac4d3d38f0e, (v) => $32d597b82a7aad64$export$229f1ac4d3d38f0e = v);
|
|
61
61
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs--compact", () => $32d597b82a7aad64$export$e15c78184ee03abe, (v) => $32d597b82a7aad64$export$e15c78184ee03abe = v);
|
|
@@ -76,8 +76,8 @@ var $32d597b82a7aad64$export$9a6e2fb72c648072;
|
|
|
76
76
|
var $32d597b82a7aad64$export$35c105c0d9c8e56f;
|
|
77
77
|
var $32d597b82a7aad64$export$123e4c01a5440a3e;
|
|
78
78
|
var $32d597b82a7aad64$export$d35bc1e505d1ebbf;
|
|
79
|
-
var $32d597b82a7aad64$export$1f253edac4b98526;
|
|
80
79
|
var $32d597b82a7aad64$export$d374b04f30360026;
|
|
80
|
+
var $32d597b82a7aad64$export$1f253edac4b98526;
|
|
81
81
|
var $32d597b82a7aad64$export$a115f9117a19563e;
|
|
82
82
|
var $32d597b82a7aad64$export$229f1ac4d3d38f0e;
|
|
83
83
|
var $32d597b82a7aad64$export$e15c78184ee03abe;
|
|
@@ -98,8 +98,8 @@ $32d597b82a7aad64$export$9a6e2fb72c648072 = "spectrum-TabsPanel--vertical_3e140b
|
|
|
98
98
|
$32d597b82a7aad64$export$35c105c0d9c8e56f = "spectrum-Tabs_3e140b";
|
|
99
99
|
$32d597b82a7aad64$export$123e4c01a5440a3e = "spectrum-Tabs-item_3e140b";
|
|
100
100
|
$32d597b82a7aad64$export$d35bc1e505d1ebbf = "is-disabled_3e140b";
|
|
101
|
-
$32d597b82a7aad64$export$1f253edac4b98526 = "spectrum-Tabs-itemLabel_3e140b";
|
|
102
101
|
$32d597b82a7aad64$export$d374b04f30360026 = "spectrum-Icon_3e140b";
|
|
102
|
+
$32d597b82a7aad64$export$1f253edac4b98526 = "spectrum-Tabs-itemLabel_3e140b";
|
|
103
103
|
$32d597b82a7aad64$export$a115f9117a19563e = "spectrum-Tabs-selectionIndicator_3e140b";
|
|
104
104
|
$32d597b82a7aad64$export$229f1ac4d3d38f0e = "spectrum-Tabs--horizontal_3e140b";
|
|
105
105
|
$32d597b82a7aad64$export$e15c78184ee03abe = "spectrum-Tabs--compact_3e140b";
|
|
@@ -232,11 +232,14 @@ function $65ab70ddbed1564b$var$Tab(props) {
|
|
|
232
232
|
let { hoverProps: hoverProps , isHovered: isHovered } = (0, $cLzzU$useHover)({
|
|
233
233
|
...props
|
|
234
234
|
});
|
|
235
|
-
let
|
|
235
|
+
let ElementType = item.props.href ? "a" : "div";
|
|
236
|
+
let domProps = (0, $cLzzU$filterDOMProps)(item.props, {
|
|
237
|
+
isLink: !!item.props.href
|
|
238
|
+
});
|
|
236
239
|
delete domProps.id;
|
|
237
240
|
return /*#__PURE__*/ (0, $cLzzU$react).createElement((0, $cLzzU$FocusRing), {
|
|
238
241
|
focusRingClass: (0, $cLzzU$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($32d597b82a7aad64$exports))), "focus-ring")
|
|
239
|
-
}, /*#__PURE__*/ (0, $cLzzU$react).createElement(
|
|
242
|
+
}, /*#__PURE__*/ (0, $cLzzU$react).createElement(ElementType, {
|
|
240
243
|
...(0, $cLzzU$mergeProps)(tabProps, hoverProps, domProps),
|
|
241
244
|
ref: ref,
|
|
242
245
|
className: (0, $cLzzU$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($32d597b82a7aad64$exports))), "spectrum-Tabs-item", {
|
|
@@ -421,11 +424,7 @@ function $65ab70ddbed1564b$var$TabPicker(props) {
|
|
|
421
424
|
]);
|
|
422
425
|
let items = [
|
|
423
426
|
...state.collection
|
|
424
|
-
]
|
|
425
|
-
rendered: item.rendered,
|
|
426
|
-
textValue: item.textValue,
|
|
427
|
-
id: item.key
|
|
428
|
-
}));
|
|
427
|
+
];
|
|
429
428
|
let pickerProps = {
|
|
430
429
|
"aria-labelledby": ariaLabeledBy,
|
|
431
430
|
"aria-label": ariaLabel
|
|
@@ -464,9 +463,7 @@ function $65ab70ddbed1564b$var$TabPicker(props) {
|
|
|
464
463
|
disabledKeys: state.disabledKeys,
|
|
465
464
|
onSelectionChange: state.setSelectedKey,
|
|
466
465
|
UNSAFE_className: (0, $cLzzU$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($32d597b82a7aad64$exports))), "spectrum-Tabs-picker")
|
|
467
|
-
}, (item)=>/*#__PURE__*/ (0, $cLzzU$react).createElement((0, $cLzzU$Item), {
|
|
468
|
-
textValue: item.textValue
|
|
469
|
-
}, item.rendered)), pickerNode && /*#__PURE__*/ (0, $cLzzU$react).createElement($65ab70ddbed1564b$var$TabLine, {
|
|
466
|
+
}, (item)=>/*#__PURE__*/ (0, $cLzzU$react).createElement((0, $cLzzU$Item), item.props, item.rendered)), pickerNode && /*#__PURE__*/ (0, $cLzzU$react).createElement($65ab70ddbed1564b$var$TabLine, {
|
|
470
467
|
orientation: "horizontal",
|
|
471
468
|
selectedTab: pickerNode,
|
|
472
469
|
selectedKey: state.selectedKey
|
package/dist/main.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{font-synthesis:weight}.spectrum-TabsPanel_3e140b{width:100%;display:flex}.spectrum-TabsPanel--horizontal_3e140b{flex-direction:column}.spectrum-TabsPanel--vertical_3e140b{flex-direction:row}.spectrum-Tabs_3e140b{z-index:0;vertical-align:top;-webkit-user-select:none;user-select:none;outline:none;margin:0;padding:0;display:flex;position:relative}.spectrum-Tabs-item_3e140b{box-sizing:border-box;height:calc(var(--spectrum-tabs-height,var(--spectrum-global-dimension-size-600)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));line-height:calc(var(--spectrum-tabs-height,var(--spectrum-global-dimension-size-600)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));z-index:1;white-space:nowrap;transition:color var(--spectrum-global-animation-duration-100,.13s)ease-out;cursor:default;outline:none;text-decoration:none;position:relative}.spectrum-Tabs-item_3e140b.is-disabled_3e140b,.spectrum-Tabs-item_3e140b.is-disabled_3e140b .spectrum-Tabs-itemLabel_3e140b{cursor:default}.spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b{height:calc(var(--spectrum-tabs-height,var(--spectrum-global-dimension-size-600)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));transition:fill var(--spectrum-global-animation-duration-100,.13s)ease-out;transform:translate(0,0)}[dir=ltr] .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b+.spectrum-Tabs-itemLabel_3e140b{margin-left:var(--spectrum-tabs-icon-gap,var(--spectrum-global-dimension-size-100))}[dir=rtl] .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b+.spectrum-Tabs-itemLabel_3e140b{margin-right:var(--spectrum-tabs-icon-gap,var(--spectrum-global-dimension-size-100))}[dir=ltr] .spectrum-Tabs-item_3e140b:before{left:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}[dir=rtl] .spectrum-Tabs-item_3e140b:before,[dir=ltr] .spectrum-Tabs-item_3e140b:before{right:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}[dir=rtl] .spectrum-Tabs-item_3e140b:before{left:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}.spectrum-Tabs-item_3e140b:before{content:"";box-sizing:border-box;height:var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height));margin-top:calc(var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height))/-2 + var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick))/2);border:var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))solid transparent;border-radius:var(--spectrum-tabs-focus-ring-border-radius);pointer-events:none;position:absolute;top:50%}.spectrum-Tabs-itemLabel_3e140b{cursor:default;vertical-align:top;font-size:var(--spectrum-tabs-text-size,var(--spectrum-alias-font-size-default));font-weight:var(--spectrum-tabs-text-font-weight,var(--spectrum-alias-body-text-font-weight));display:inline-block}.spectrum-Tabs-itemLabel_3e140b:empty{display:none}[dir=ltr] .spectrum-Tabs-selectionIndicator_3e140b{left:0}[dir=rtl] .spectrum-Tabs-selectionIndicator_3e140b{right:0}.spectrum-Tabs-selectionIndicator_3e140b{z-index:0;transform-origin:0 0;border-radius:var(--spectrum-tabs-rule-border-radius,var(--spectrum-global-dimension-static-size-10));position:absolute}[dir=ltr] .spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-selectionIndicator_3e140b{transform:translateX(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100)))}[dir=rtl] .spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-selectionIndicator_3e140b{transform:translateX(calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1))}.spectrum-Tabs--compact_3e140b .spectrum-Tabs-item_3e140b{height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));line-height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)))}.spectrum-Tabs--compact_3e140b .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b{height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)))}.spectrum-Tabs--horizontal_3e140b{border-bottom:var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick))solid;align-items:center}.spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-item_3e140b{vertical-align:top}[dir=ltr] .spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-item_3e140b+:not(.spectrum-Tabs-selectionIndicator_3e140b){margin-left:var(--spectrum-tabs-item-gap,var(--spectrum-global-dimension-size-300))}[dir=rtl] .spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-item_3e140b+:not(.spectrum-Tabs-selectionIndicator_3e140b){margin-right:var(--spectrum-tabs-item-gap,var(--spectrum-global-dimension-size-300))}.spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-selectionIndicator_3e140b{height:var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick));bottom:calc(var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick))*-1);transition:transform var(--spectrum-tabs-selection-indicator-animation-duration,var(--spectrum-global-animation-duration-100))ease-in-out,width var(--spectrum-tabs-selection-indicator-animation-duration,var(--spectrum-global-animation-duration-100))ease-in-out;position:absolute}[dir=ltr] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b{left:0}[dir=rtl] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b{right:0}.spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b{height:calc(var(--spectrum-tabs-height,var(--spectrum-global-dimension-size-600)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)))}[dir=ltr] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before{left:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}[dir=rtl] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before,[dir=ltr] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before{right:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}[dir=rtl] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before{left:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}.spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before{content:"";box-sizing:border-box;height:var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height));margin-top:calc(var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height))/-2 + var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick))/2);border:var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))solid transparent;border-radius:var(--spectrum-tabs-focus-ring-border-radius);pointer-events:none;position:absolute;top:50%}.spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b.spectrum-Tabs--compact_3e140b button{height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)))}.spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--compact_3e140b{box-sizing:content-box;height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));align-items:end}.spectrum-Tabs--quiet_3e140b{display:inline-flex}[dir=ltr] .spectrum-Tabs--vertical_3e140b{border-left:var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick))solid}[dir=rtl] .spectrum-Tabs--vertical_3e140b{border-right:var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick))solid}.spectrum-Tabs--vertical_3e140b{flex-direction:column;padding:0;display:inline-flex}[dir=ltr] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b{margin-left:calc(var(--spectrum-tabs-vertical-item-margin-left,var(--spectrum-global-dimension-size-150)) - var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100)))}[dir=rtl] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b{margin-right:calc(var(--spectrum-tabs-vertical-item-margin-left,var(--spectrum-global-dimension-size-150)) - var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100)))}.spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b{height:var(--spectrum-tabs-vertical-item-height,var(--spectrum-global-dimension-size-550));padding:0 var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100));margin-bottom:var(--spectrum-tabs-vertical-item-gap,var(--spectrum-global-dimension-size-50))}[dir=ltr] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before{left:calc(var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))*-1)}[dir=rtl] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before,[dir=ltr] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before{right:calc(var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))*-1)}[dir=rtl] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before{left:calc(var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))*-1)}.spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before{margin-top:calc(var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height))/-2)}.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b .spectrum-Tabs-item_3e140b{height:var(--spectrum-tabs-compact-vertical-item-height,var(--spectrum-global-dimension-size-400));line-height:var(--spectrum-tabs-compact-vertical-item-height,var(--spectrum-global-dimension-size-400));margin-bottom:var(--spectrum-tabs-compact-vertical-item-gap,var(--spectrum-global-dimension-size-50))}.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b{height:var(--spectrum-tabs-compact-vertical-item-height,var(--spectrum-global-dimension-size-400))}[dir=ltr] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-selectionIndicator_3e140b{left:calc(var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick))*-1)}[dir=rtl] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-selectionIndicator_3e140b{right:calc(var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick))*-1)}.spectrum-Tabs--vertical_3e140b .spectrum-Tabs-selectionIndicator_3e140b{width:var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick));transition:transform var(--spectrum-tabs-selection-indicator-animation-duration,var(--spectrum-global-animation-duration-100))ease-in-out,height var(--spectrum-tabs-selection-indicator-animation-duration,var(--spectrum-global-animation-duration-100))ease-in-out;position:absolute}.spectrum-TabsPanel-collapseWrapper_3e140b{display:flex;position:relative}.spectrum-TabsPanel-tabs_3e140b{flex:1 0}.spectrum-TabsPanel-tabs_3e140b.spectrum-Tabs--vertical_3e140b{flex-grow:0}.spectrum-TabsPanel-tabpanel_3e140b{border:var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))solid transparent;flex-grow:1}.spectrum-TabsPanel--vertical_3e140b .spectrum-Tabs_3e140b{padding-right:var(--spectrum-global-dimension-size-160)}.spectrum-Tabs_3e140b{border-bottom-color:var(--spectrum-global-color-gray-300)}.spectrum-Tabs_3e140b.spectrum-Tabs--isCollapsed_3e140b .spectrum-Tabs-picker_3e140b{width:auto}.spectrum-Tabs_3e140b.spectrum-Tabs--isCollapsed_3e140b .focus-ring_3e140b:after{box-shadow:none}.spectrum-Tabs_3e140b.spectrum-Tabs--isCollapsed_3e140b .focus-ring_3e140b:before{border-color:var(--spectrum-tabs-focus-ring-color,var(--spectrum-alias-border-color-focus))}[dir=ltr] .spectrum-Tabs--vertical_3e140b{border-left-color:var(--spectrum-global-color-gray-300)}[dir=rtl] .spectrum-Tabs--vertical_3e140b{border-right-color:var(--spectrum-global-color-gray-300)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-accent-color-900)}.spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-tabs-selection-indicator-color,var(--spectrum-global-color-gray-900))}.spectrum-Tabs-item_3e140b{color:var(--spectrum-tabs-text-color,var(--spectrum-alias-label-text-color))}.spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color,var(--spectrum-alias-icon-color))}.spectrum-Tabs-item_3e140b.is-hovered_3e140b{color:var(--spectrum-tabs-text-color-hover,var(--spectrum-alias-text-color-hover))}.spectrum-Tabs-item_3e140b.is-hovered_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color-hover,var(--spectrum-alias-icon-color-hover))}.spectrum-Tabs-item_3e140b.is-selected_3e140b{color:var(--spectrum-tabs-text-color-selected,var(--spectrum-global-color-gray-900))}.spectrum-Tabs-item_3e140b.is-selected_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color-selected,var(--spectrum-global-color-gray-900))}.spectrum-Tabs-item_3e140b.focus-ring_3e140b{color:var(--spectrum-tabs-text-color-key-focus,var(--spectrum-alias-text-color-hover))}.spectrum-Tabs-item_3e140b.focus-ring_3e140b:before{border-color:var(--spectrum-tabs-focus-ring-color,var(--spectrum-alias-border-color-focus))}.spectrum-Tabs-item_3e140b.focus-ring_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color-key-focus,var(--spectrum-alias-icon-color-focus))}.spectrum-Tabs-item_3e140b.is-disabled_3e140b{color:var(--spectrum-tabs-text-color-disabled,var(--spectrum-alias-text-color-disabled))}.spectrum-Tabs-item_3e140b.is-disabled_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color-disabled,var(--spectrum-alias-icon-color-disabled))}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b{color:var(--spectrum-accent-color-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-accent-color-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.focus-ring_3e140b{color:var(--spectrum-accent-color-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.focus-ring_3e140b:before{border-color:var(--spectrum-blue-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.focus-ring_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-accent-color-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.is-hovered_3e140b{color:var(--spectrum-accent-color-1000)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.is-hovered_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-accent-color-1000)}.spectrum-Tabs--quiet_3e140b{border-bottom-color:var(--spectrum-tabs-quiet-rule-color,var(--spectrum-alias-border-color-transparent))}.spectrum-Tabs--quiet_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-tabs-quiet-selection-indicator-color,var(--spectrum-global-color-gray-900))}.spectrum-Tabs--quiet_3e140b.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-accent-color-900)}[dir=ltr] .spectrum-Tabs--vertical_3e140b.spectrum-Tabs--quiet_3e140b,[dir=ltr] .spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b{border-left-color:var(--spectrum-tabs-quiet-vertical-rule-color,var(--spectrum-alias-border-color-transparent))}[dir=rtl] .spectrum-Tabs--vertical_3e140b.spectrum-Tabs--quiet_3e140b,[dir=rtl] .spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b{border-right-color:var(--spectrum-tabs-quiet-vertical-rule-color,var(--spectrum-alias-border-color-transparent))}.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--quiet_3e140b .spectrum-Tabs-selectionIndicator_3e140b,.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-tabs-quiet-selection-indicator-color,var(--spectrum-global-color-gray-900))}.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-accent-color-900)}.spectrum-TabsPanel-tabpanel_3e140b:focus{outline:none}.spectrum-TabsPanel-tabpanel_3e140b.focus-ring_3e140b{border-color:var(--spectrum-tabs-focus-ring-color,var(--spectrum-alias-border-color-focus))}@media (forced-colors:active){.spectrum-Tabs_3e140b{forced-color-adjust:none;--spectrum-tabs-focus-ring-color:ButtonText;--spectrum-tabs-icon-color:ButtonText;--spectrum-tabs-icon-color-disabled:GrayText;--spectrum-tabs-icon-color-hover:ButtonText;--spectrum-tabs-icon-color-key-focus:ButtonText;--spectrum-tabs-icon-color-selected:HighlightText;--spectrum-tabs-quiet-rule-color:transparent;--spectrum-tabs-quiet-selection-indicator-color:transparent;--spectrum-tabs-quiet-vertical-rule-color:transparent;--spectrum-tabs-rule-color:transparent;--spectrum-tabs-selection-indicator-color:transparent;--spectrum-tabs-text-color:ButtonText;--spectrum-tabs-text-color-disabled:GrayText;--spectrum-tabs-text-color-hover:ButtonText;--spectrum-tabs-text-color-key-focus:ButtonText;--spectrum-tabs-text-color-selected:HighlightText;--spectrum-tabs-vertical-rule-color:transparent}.spectrum-Tabs_3e140b .spectrum-Tabs-item_3e140b:before{background-color:ButtonFace}.spectrum-Tabs_3e140b .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b,.spectrum-Tabs_3e140b .spectrum-Tabs-item_3e140b .spectrum-Tabs-itemLabel_3e140b{z-index:1;position:relative}.spectrum-Tabs_3e140b .is-selected_3e140b{color:HighlightText}.spectrum-Tabs_3e140b .is-selected_3e140b .spectrum-Icon_3e140b{fill:HighlightText}.spectrum-Tabs_3e140b .is-selected_3e140b:before{background-color:Highlight;color:HighlightText}.spectrum-Tabs_3e140b .is-selected_3e140b .spectrum-Tabs-itemLabel_3e140b{color:HighlightText}.spectrum-Tabs_3e140b.spectrum-Tabs--isCollapsed_3e140b .focus-ring_3e140b{outline:none}}
|
|
1
|
+
:root{font-synthesis:weight}.spectrum-TabsPanel_3e140b{width:100%;display:flex}.spectrum-TabsPanel--horizontal_3e140b{flex-direction:column}.spectrum-TabsPanel--vertical_3e140b{flex-direction:row}.spectrum-Tabs_3e140b{z-index:0;vertical-align:top;-webkit-user-select:none;user-select:none;outline:none;margin:0;padding:0;display:flex;position:relative}.spectrum-Tabs-item_3e140b{box-sizing:border-box;height:calc(var(--spectrum-tabs-height,var(--spectrum-global-dimension-size-600)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));line-height:calc(var(--spectrum-tabs-height,var(--spectrum-global-dimension-size-600)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));z-index:1;white-space:nowrap;transition:color var(--spectrum-global-animation-duration-100,.13s)ease-out;cursor:default;outline:none;text-decoration:none;position:relative}.spectrum-Tabs-item_3e140b[href]{cursor:pointer}.spectrum-Tabs-item_3e140b.is-disabled_3e140b{cursor:default}.spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b{height:calc(var(--spectrum-tabs-height,var(--spectrum-global-dimension-size-600)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));transition:fill var(--spectrum-global-animation-duration-100,.13s)ease-out;transform:translate(0,0)}[dir=ltr] .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b+.spectrum-Tabs-itemLabel_3e140b{margin-left:var(--spectrum-tabs-icon-gap,var(--spectrum-global-dimension-size-100))}[dir=rtl] .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b+.spectrum-Tabs-itemLabel_3e140b{margin-right:var(--spectrum-tabs-icon-gap,var(--spectrum-global-dimension-size-100))}[dir=ltr] .spectrum-Tabs-item_3e140b:before{left:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}[dir=rtl] .spectrum-Tabs-item_3e140b:before,[dir=ltr] .spectrum-Tabs-item_3e140b:before{right:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}[dir=rtl] .spectrum-Tabs-item_3e140b:before{left:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}.spectrum-Tabs-item_3e140b:before{content:"";box-sizing:border-box;height:var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height));margin-top:calc(var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height))/-2 + var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick))/2);border:var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))solid transparent;border-radius:var(--spectrum-tabs-focus-ring-border-radius);pointer-events:none;position:absolute;top:50%}.spectrum-Tabs-itemLabel_3e140b{vertical-align:top;font-size:var(--spectrum-tabs-text-size,var(--spectrum-alias-font-size-default));font-weight:var(--spectrum-tabs-text-font-weight,var(--spectrum-alias-body-text-font-weight));display:inline-block}.spectrum-Tabs-itemLabel_3e140b:empty{display:none}[dir=ltr] .spectrum-Tabs-selectionIndicator_3e140b{left:0}[dir=rtl] .spectrum-Tabs-selectionIndicator_3e140b{right:0}.spectrum-Tabs-selectionIndicator_3e140b{z-index:0;transform-origin:0 0;border-radius:var(--spectrum-tabs-rule-border-radius,var(--spectrum-global-dimension-static-size-10));position:absolute}[dir=ltr] .spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-selectionIndicator_3e140b{transform:translateX(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100)))}[dir=rtl] .spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-selectionIndicator_3e140b{transform:translateX(calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1))}.spectrum-Tabs--compact_3e140b .spectrum-Tabs-item_3e140b{height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));line-height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)))}.spectrum-Tabs--compact_3e140b .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b{height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)))}.spectrum-Tabs--horizontal_3e140b{border-bottom:var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick))solid;align-items:center}.spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-item_3e140b{vertical-align:top}[dir=ltr] .spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-item_3e140b+:not(.spectrum-Tabs-selectionIndicator_3e140b){margin-left:var(--spectrum-tabs-item-gap,var(--spectrum-global-dimension-size-300))}[dir=rtl] .spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-item_3e140b+:not(.spectrum-Tabs-selectionIndicator_3e140b){margin-right:var(--spectrum-tabs-item-gap,var(--spectrum-global-dimension-size-300))}.spectrum-Tabs--horizontal_3e140b .spectrum-Tabs-selectionIndicator_3e140b{height:var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick));bottom:calc(var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick))*-1);transition:transform var(--spectrum-tabs-selection-indicator-animation-duration,var(--spectrum-global-animation-duration-100))ease-in-out,width var(--spectrum-tabs-selection-indicator-animation-duration,var(--spectrum-global-animation-duration-100))ease-in-out;position:absolute}[dir=ltr] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b{left:0}[dir=rtl] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b{right:0}.spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b{height:calc(var(--spectrum-tabs-height,var(--spectrum-global-dimension-size-600)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)))}[dir=ltr] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before{left:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}[dir=rtl] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before,[dir=ltr] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before{right:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}[dir=rtl] .spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before{left:calc(var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100))*-1)}.spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b button:before{content:"";box-sizing:border-box;height:var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height));margin-top:calc(var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height))/-2 + var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick))/2);border:var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))solid transparent;border-radius:var(--spectrum-tabs-focus-ring-border-radius);pointer-events:none;position:absolute;top:50%}.spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--isCollapsed_3e140b.spectrum-Tabs--compact_3e140b button{height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)))}.spectrum-Tabs--horizontal_3e140b.spectrum-Tabs--compact_3e140b{box-sizing:content-box;height:calc(var(--spectrum-tabs-quiet-compact-height,var(--spectrum-global-dimension-size-400)) - var(--spectrum-tabs-rule-height,var(--spectrum-alias-border-size-thick)));align-items:end}.spectrum-Tabs--quiet_3e140b{display:inline-flex}[dir=ltr] .spectrum-Tabs--vertical_3e140b{border-left:var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick))solid}[dir=rtl] .spectrum-Tabs--vertical_3e140b{border-right:var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick))solid}.spectrum-Tabs--vertical_3e140b{flex-direction:column;padding:0;display:inline-flex}[dir=ltr] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b{margin-left:calc(var(--spectrum-tabs-vertical-item-margin-left,var(--spectrum-global-dimension-size-150)) - var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100)))}[dir=rtl] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b{margin-right:calc(var(--spectrum-tabs-vertical-item-margin-left,var(--spectrum-global-dimension-size-150)) - var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100)))}.spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b{height:var(--spectrum-tabs-vertical-item-height,var(--spectrum-global-dimension-size-550));padding:0 var(--spectrum-tabs-focus-ring-padding-x,var(--spectrum-global-dimension-size-100));margin-bottom:var(--spectrum-tabs-vertical-item-gap,var(--spectrum-global-dimension-size-50))}[dir=ltr] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before{left:calc(var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))*-1)}[dir=rtl] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before,[dir=ltr] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before{right:calc(var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))*-1)}[dir=rtl] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before{left:calc(var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))*-1)}.spectrum-Tabs--vertical_3e140b .spectrum-Tabs-item_3e140b:before{margin-top:calc(var(--spectrum-tabs-focus-ring-height,var(--spectrum-alias-single-line-height))/-2)}.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b .spectrum-Tabs-item_3e140b{height:var(--spectrum-tabs-compact-vertical-item-height,var(--spectrum-global-dimension-size-400));line-height:var(--spectrum-tabs-compact-vertical-item-height,var(--spectrum-global-dimension-size-400));margin-bottom:var(--spectrum-tabs-compact-vertical-item-gap,var(--spectrum-global-dimension-size-50))}.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b{height:var(--spectrum-tabs-compact-vertical-item-height,var(--spectrum-global-dimension-size-400))}[dir=ltr] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-selectionIndicator_3e140b{left:calc(var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick))*-1)}[dir=rtl] .spectrum-Tabs--vertical_3e140b .spectrum-Tabs-selectionIndicator_3e140b{right:calc(var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick))*-1)}.spectrum-Tabs--vertical_3e140b .spectrum-Tabs-selectionIndicator_3e140b{width:var(--spectrum-tabs-vertical-rule-width,var(--spectrum-alias-border-size-thick));transition:transform var(--spectrum-tabs-selection-indicator-animation-duration,var(--spectrum-global-animation-duration-100))ease-in-out,height var(--spectrum-tabs-selection-indicator-animation-duration,var(--spectrum-global-animation-duration-100))ease-in-out;position:absolute}.spectrum-TabsPanel-collapseWrapper_3e140b{display:flex;position:relative}.spectrum-TabsPanel-tabs_3e140b{flex:1 0}.spectrum-TabsPanel-tabs_3e140b.spectrum-Tabs--vertical_3e140b{flex-grow:0}.spectrum-TabsPanel-tabpanel_3e140b{border:var(--spectrum-tabs-focus-ring-size,var(--spectrum-alias-border-size-thick))solid transparent;flex-grow:1}.spectrum-TabsPanel--vertical_3e140b .spectrum-Tabs_3e140b{padding-right:var(--spectrum-global-dimension-size-160)}.spectrum-Tabs_3e140b{border-bottom-color:var(--spectrum-global-color-gray-300)}.spectrum-Tabs_3e140b.spectrum-Tabs--isCollapsed_3e140b .spectrum-Tabs-picker_3e140b{width:auto}.spectrum-Tabs_3e140b.spectrum-Tabs--isCollapsed_3e140b .focus-ring_3e140b:after{box-shadow:none}.spectrum-Tabs_3e140b.spectrum-Tabs--isCollapsed_3e140b .focus-ring_3e140b:before{border-color:var(--spectrum-tabs-focus-ring-color,var(--spectrum-alias-border-color-focus))}[dir=ltr] .spectrum-Tabs--vertical_3e140b{border-left-color:var(--spectrum-global-color-gray-300)}[dir=rtl] .spectrum-Tabs--vertical_3e140b{border-right-color:var(--spectrum-global-color-gray-300)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-accent-color-900)}.spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-tabs-selection-indicator-color,var(--spectrum-global-color-gray-900))}.spectrum-Tabs-item_3e140b{color:var(--spectrum-tabs-text-color,var(--spectrum-alias-label-text-color))}.spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color,var(--spectrum-alias-icon-color))}.spectrum-Tabs-item_3e140b.is-hovered_3e140b{color:var(--spectrum-tabs-text-color-hover,var(--spectrum-alias-text-color-hover))}.spectrum-Tabs-item_3e140b.is-hovered_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color-hover,var(--spectrum-alias-icon-color-hover))}.spectrum-Tabs-item_3e140b.is-selected_3e140b{color:var(--spectrum-tabs-text-color-selected,var(--spectrum-global-color-gray-900))}.spectrum-Tabs-item_3e140b.is-selected_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color-selected,var(--spectrum-global-color-gray-900))}.spectrum-Tabs-item_3e140b.focus-ring_3e140b{color:var(--spectrum-tabs-text-color-key-focus,var(--spectrum-alias-text-color-hover))}.spectrum-Tabs-item_3e140b.focus-ring_3e140b:before{border-color:var(--spectrum-tabs-focus-ring-color,var(--spectrum-alias-border-color-focus))}.spectrum-Tabs-item_3e140b.focus-ring_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color-key-focus,var(--spectrum-alias-icon-color-focus))}.spectrum-Tabs-item_3e140b.is-disabled_3e140b{color:var(--spectrum-tabs-text-color-disabled,var(--spectrum-alias-text-color-disabled))}.spectrum-Tabs-item_3e140b.is-disabled_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-tabs-icon-color-disabled,var(--spectrum-alias-icon-color-disabled))}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b{color:var(--spectrum-accent-color-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-accent-color-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.focus-ring_3e140b{color:var(--spectrum-accent-color-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.focus-ring_3e140b:before{border-color:var(--spectrum-blue-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.focus-ring_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-accent-color-900)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.is-hovered_3e140b{color:var(--spectrum-accent-color-1000)}.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-item_3e140b.is-selected_3e140b.is-hovered_3e140b .spectrum-Icon_3e140b{fill:var(--spectrum-accent-color-1000)}.spectrum-Tabs--quiet_3e140b{border-bottom-color:var(--spectrum-tabs-quiet-rule-color,var(--spectrum-alias-border-color-transparent))}.spectrum-Tabs--quiet_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-tabs-quiet-selection-indicator-color,var(--spectrum-global-color-gray-900))}.spectrum-Tabs--quiet_3e140b.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-accent-color-900)}[dir=ltr] .spectrum-Tabs--vertical_3e140b.spectrum-Tabs--quiet_3e140b,[dir=ltr] .spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b{border-left-color:var(--spectrum-tabs-quiet-vertical-rule-color,var(--spectrum-alias-border-color-transparent))}[dir=rtl] .spectrum-Tabs--vertical_3e140b.spectrum-Tabs--quiet_3e140b,[dir=rtl] .spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b{border-right-color:var(--spectrum-tabs-quiet-vertical-rule-color,var(--spectrum-alias-border-color-transparent))}.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--quiet_3e140b .spectrum-Tabs-selectionIndicator_3e140b,.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--compact_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-tabs-quiet-selection-indicator-color,var(--spectrum-global-color-gray-900))}.spectrum-Tabs--vertical_3e140b.spectrum-Tabs--emphasized_3e140b .spectrum-Tabs-selectionIndicator_3e140b{background-color:var(--spectrum-accent-color-900)}.spectrum-TabsPanel-tabpanel_3e140b:focus{outline:none}.spectrum-TabsPanel-tabpanel_3e140b.focus-ring_3e140b{border-color:var(--spectrum-tabs-focus-ring-color,var(--spectrum-alias-border-color-focus))}@media (forced-colors:active){.spectrum-Tabs_3e140b{forced-color-adjust:none;--spectrum-tabs-focus-ring-color:ButtonText;--spectrum-tabs-icon-color:ButtonText;--spectrum-tabs-icon-color-disabled:GrayText;--spectrum-tabs-icon-color-hover:ButtonText;--spectrum-tabs-icon-color-key-focus:ButtonText;--spectrum-tabs-icon-color-selected:HighlightText;--spectrum-tabs-quiet-rule-color:transparent;--spectrum-tabs-quiet-selection-indicator-color:transparent;--spectrum-tabs-quiet-vertical-rule-color:transparent;--spectrum-tabs-rule-color:transparent;--spectrum-tabs-selection-indicator-color:transparent;--spectrum-tabs-text-color:ButtonText;--spectrum-tabs-text-color-disabled:GrayText;--spectrum-tabs-text-color-hover:ButtonText;--spectrum-tabs-text-color-key-focus:ButtonText;--spectrum-tabs-text-color-selected:HighlightText;--spectrum-tabs-vertical-rule-color:transparent}.spectrum-Tabs_3e140b .spectrum-Tabs-item_3e140b:before{background-color:ButtonFace}.spectrum-Tabs_3e140b .spectrum-Tabs-item_3e140b .spectrum-Icon_3e140b,.spectrum-Tabs_3e140b .spectrum-Tabs-item_3e140b .spectrum-Tabs-itemLabel_3e140b{z-index:1;position:relative}.spectrum-Tabs_3e140b .is-selected_3e140b{color:HighlightText}.spectrum-Tabs_3e140b .is-selected_3e140b .spectrum-Icon_3e140b{fill:HighlightText}.spectrum-Tabs_3e140b .is-selected_3e140b:before{background-color:Highlight;color:HighlightText}.spectrum-Tabs_3e140b .is-selected_3e140b .spectrum-Tabs-itemLabel_3e140b{color:HighlightText}.spectrum-Tabs_3e140b.spectrum-Tabs--isCollapsed_3e140b .focus-ring_3e140b{outline:none}}
|
package/dist/main.js
CHANGED
|
@@ -59,8 +59,8 @@ $parcel$export($29add1fad43dc941$exports, "spectrum-TabsPanel--vertical", () =>
|
|
|
59
59
|
$parcel$export($29add1fad43dc941$exports, "spectrum-Tabs", () => $29add1fad43dc941$export$35c105c0d9c8e56f, (v) => $29add1fad43dc941$export$35c105c0d9c8e56f = v);
|
|
60
60
|
$parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-item", () => $29add1fad43dc941$export$123e4c01a5440a3e, (v) => $29add1fad43dc941$export$123e4c01a5440a3e = v);
|
|
61
61
|
$parcel$export($29add1fad43dc941$exports, "is-disabled", () => $29add1fad43dc941$export$d35bc1e505d1ebbf, (v) => $29add1fad43dc941$export$d35bc1e505d1ebbf = v);
|
|
62
|
-
$parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-itemLabel", () => $29add1fad43dc941$export$1f253edac4b98526, (v) => $29add1fad43dc941$export$1f253edac4b98526 = v);
|
|
63
62
|
$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
64
|
$parcel$export($29add1fad43dc941$exports, "spectrum-Tabs-selectionIndicator", () => $29add1fad43dc941$export$a115f9117a19563e, (v) => $29add1fad43dc941$export$a115f9117a19563e = v);
|
|
65
65
|
$parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--horizontal", () => $29add1fad43dc941$export$229f1ac4d3d38f0e, (v) => $29add1fad43dc941$export$229f1ac4d3d38f0e = v);
|
|
66
66
|
$parcel$export($29add1fad43dc941$exports, "spectrum-Tabs--compact", () => $29add1fad43dc941$export$e15c78184ee03abe, (v) => $29add1fad43dc941$export$e15c78184ee03abe = v);
|
|
@@ -81,8 +81,8 @@ var $29add1fad43dc941$export$9a6e2fb72c648072;
|
|
|
81
81
|
var $29add1fad43dc941$export$35c105c0d9c8e56f;
|
|
82
82
|
var $29add1fad43dc941$export$123e4c01a5440a3e;
|
|
83
83
|
var $29add1fad43dc941$export$d35bc1e505d1ebbf;
|
|
84
|
-
var $29add1fad43dc941$export$1f253edac4b98526;
|
|
85
84
|
var $29add1fad43dc941$export$d374b04f30360026;
|
|
85
|
+
var $29add1fad43dc941$export$1f253edac4b98526;
|
|
86
86
|
var $29add1fad43dc941$export$a115f9117a19563e;
|
|
87
87
|
var $29add1fad43dc941$export$229f1ac4d3d38f0e;
|
|
88
88
|
var $29add1fad43dc941$export$e15c78184ee03abe;
|
|
@@ -103,8 +103,8 @@ $29add1fad43dc941$export$9a6e2fb72c648072 = "spectrum-TabsPanel--vertical_3e140b
|
|
|
103
103
|
$29add1fad43dc941$export$35c105c0d9c8e56f = "spectrum-Tabs_3e140b";
|
|
104
104
|
$29add1fad43dc941$export$123e4c01a5440a3e = "spectrum-Tabs-item_3e140b";
|
|
105
105
|
$29add1fad43dc941$export$d35bc1e505d1ebbf = "is-disabled_3e140b";
|
|
106
|
-
$29add1fad43dc941$export$1f253edac4b98526 = "spectrum-Tabs-itemLabel_3e140b";
|
|
107
106
|
$29add1fad43dc941$export$d374b04f30360026 = "spectrum-Icon_3e140b";
|
|
107
|
+
$29add1fad43dc941$export$1f253edac4b98526 = "spectrum-Tabs-itemLabel_3e140b";
|
|
108
108
|
$29add1fad43dc941$export$a115f9117a19563e = "spectrum-Tabs-selectionIndicator_3e140b";
|
|
109
109
|
$29add1fad43dc941$export$229f1ac4d3d38f0e = "spectrum-Tabs--horizontal_3e140b";
|
|
110
110
|
$29add1fad43dc941$export$e15c78184ee03abe = "spectrum-Tabs--compact_3e140b";
|
|
@@ -237,11 +237,14 @@ function $e8d58e7e32285ba6$var$Tab(props) {
|
|
|
237
237
|
let { hoverProps: hoverProps , isHovered: isHovered } = (0, $8zXxA$reactariainteractions.useHover)({
|
|
238
238
|
...props
|
|
239
239
|
});
|
|
240
|
-
let
|
|
240
|
+
let ElementType = item.props.href ? "a" : "div";
|
|
241
|
+
let domProps = (0, $8zXxA$reactariautils.filterDOMProps)(item.props, {
|
|
242
|
+
isLink: !!item.props.href
|
|
243
|
+
});
|
|
241
244
|
delete domProps.id;
|
|
242
245
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($8zXxA$react))).createElement((0, $8zXxA$reactariafocus.FocusRing), {
|
|
243
246
|
focusRingClass: (0, $8zXxA$reactspectrumutils.classNames)((0, (/*@__PURE__*/$parcel$interopDefault($29add1fad43dc941$exports))), "focus-ring")
|
|
244
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($8zXxA$react))).createElement(
|
|
247
|
+
}, /*#__PURE__*/ (0, ($parcel$interopDefault($8zXxA$react))).createElement(ElementType, {
|
|
245
248
|
...(0, $8zXxA$reactariautils.mergeProps)(tabProps, hoverProps, domProps),
|
|
246
249
|
ref: ref,
|
|
247
250
|
className: (0, $8zXxA$reactspectrumutils.classNames)((0, (/*@__PURE__*/$parcel$interopDefault($29add1fad43dc941$exports))), "spectrum-Tabs-item", {
|
|
@@ -426,11 +429,7 @@ function $e8d58e7e32285ba6$var$TabPicker(props) {
|
|
|
426
429
|
]);
|
|
427
430
|
let items = [
|
|
428
431
|
...state.collection
|
|
429
|
-
]
|
|
430
|
-
rendered: item.rendered,
|
|
431
|
-
textValue: item.textValue,
|
|
432
|
-
id: item.key
|
|
433
|
-
}));
|
|
432
|
+
];
|
|
434
433
|
let pickerProps = {
|
|
435
434
|
"aria-labelledby": ariaLabeledBy,
|
|
436
435
|
"aria-label": ariaLabel
|
|
@@ -469,9 +468,7 @@ function $e8d58e7e32285ba6$var$TabPicker(props) {
|
|
|
469
468
|
disabledKeys: state.disabledKeys,
|
|
470
469
|
onSelectionChange: state.setSelectedKey,
|
|
471
470
|
UNSAFE_className: (0, $8zXxA$reactspectrumutils.classNames)((0, (/*@__PURE__*/$parcel$interopDefault($29add1fad43dc941$exports))), "spectrum-Tabs-picker")
|
|
472
|
-
}, (item)=>/*#__PURE__*/ (0, ($parcel$interopDefault($8zXxA$react))).createElement((0, $8zXxA$reactspectrumpicker.Item), {
|
|
473
|
-
textValue: item.textValue
|
|
474
|
-
}, item.rendered)), pickerNode && /*#__PURE__*/ (0, ($parcel$interopDefault($8zXxA$react))).createElement($e8d58e7e32285ba6$var$TabLine, {
|
|
471
|
+
}, (item)=>/*#__PURE__*/ (0, ($parcel$interopDefault($8zXxA$react))).createElement((0, $8zXxA$reactspectrumpicker.Item), item.props, item.rendered)), pickerNode && /*#__PURE__*/ (0, ($parcel$interopDefault($8zXxA$react))).createElement($e8d58e7e32285ba6$var$TabLine, {
|
|
475
472
|
orientation: "horizontal",
|
|
476
473
|
selectedTab: pickerNode,
|
|
477
474
|
selectedKey: state.selectedKey
|
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<HTMLDivElement>();\n let {tabProps, isSelected, isDisabled} = useTab({key}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n ...props\n });\n let domProps = filterDOMProps(item.props);\n delete domProps.id;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(tabProps, hoverProps, domProps)}\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 </div>\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].map((item) => ({\n rendered: item.rendered,\n textValue: item.textValue,\n id: item.key\n }));\n\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 textValue={item.textValue}>{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 let domProps = filterDOMProps(item.props as any, {isLink: !!item.props.href});\n delete domProps.id;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <ElementType\n {...mergeProps(tabProps, hoverProps, domProps)}\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"}
|
package/dist/module.js
CHANGED
|
@@ -54,8 +54,8 @@ $parcel$export($32d597b82a7aad64$exports, "spectrum-TabsPanel--vertical", () =>
|
|
|
54
54
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs", () => $32d597b82a7aad64$export$35c105c0d9c8e56f, (v) => $32d597b82a7aad64$export$35c105c0d9c8e56f = v);
|
|
55
55
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs-item", () => $32d597b82a7aad64$export$123e4c01a5440a3e, (v) => $32d597b82a7aad64$export$123e4c01a5440a3e = v);
|
|
56
56
|
$parcel$export($32d597b82a7aad64$exports, "is-disabled", () => $32d597b82a7aad64$export$d35bc1e505d1ebbf, (v) => $32d597b82a7aad64$export$d35bc1e505d1ebbf = v);
|
|
57
|
-
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs-itemLabel", () => $32d597b82a7aad64$export$1f253edac4b98526, (v) => $32d597b82a7aad64$export$1f253edac4b98526 = v);
|
|
58
57
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Icon", () => $32d597b82a7aad64$export$d374b04f30360026, (v) => $32d597b82a7aad64$export$d374b04f30360026 = v);
|
|
58
|
+
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs-itemLabel", () => $32d597b82a7aad64$export$1f253edac4b98526, (v) => $32d597b82a7aad64$export$1f253edac4b98526 = v);
|
|
59
59
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs-selectionIndicator", () => $32d597b82a7aad64$export$a115f9117a19563e, (v) => $32d597b82a7aad64$export$a115f9117a19563e = v);
|
|
60
60
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs--horizontal", () => $32d597b82a7aad64$export$229f1ac4d3d38f0e, (v) => $32d597b82a7aad64$export$229f1ac4d3d38f0e = v);
|
|
61
61
|
$parcel$export($32d597b82a7aad64$exports, "spectrum-Tabs--compact", () => $32d597b82a7aad64$export$e15c78184ee03abe, (v) => $32d597b82a7aad64$export$e15c78184ee03abe = v);
|
|
@@ -76,8 +76,8 @@ var $32d597b82a7aad64$export$9a6e2fb72c648072;
|
|
|
76
76
|
var $32d597b82a7aad64$export$35c105c0d9c8e56f;
|
|
77
77
|
var $32d597b82a7aad64$export$123e4c01a5440a3e;
|
|
78
78
|
var $32d597b82a7aad64$export$d35bc1e505d1ebbf;
|
|
79
|
-
var $32d597b82a7aad64$export$1f253edac4b98526;
|
|
80
79
|
var $32d597b82a7aad64$export$d374b04f30360026;
|
|
80
|
+
var $32d597b82a7aad64$export$1f253edac4b98526;
|
|
81
81
|
var $32d597b82a7aad64$export$a115f9117a19563e;
|
|
82
82
|
var $32d597b82a7aad64$export$229f1ac4d3d38f0e;
|
|
83
83
|
var $32d597b82a7aad64$export$e15c78184ee03abe;
|
|
@@ -98,8 +98,8 @@ $32d597b82a7aad64$export$9a6e2fb72c648072 = "spectrum-TabsPanel--vertical_3e140b
|
|
|
98
98
|
$32d597b82a7aad64$export$35c105c0d9c8e56f = "spectrum-Tabs_3e140b";
|
|
99
99
|
$32d597b82a7aad64$export$123e4c01a5440a3e = "spectrum-Tabs-item_3e140b";
|
|
100
100
|
$32d597b82a7aad64$export$d35bc1e505d1ebbf = "is-disabled_3e140b";
|
|
101
|
-
$32d597b82a7aad64$export$1f253edac4b98526 = "spectrum-Tabs-itemLabel_3e140b";
|
|
102
101
|
$32d597b82a7aad64$export$d374b04f30360026 = "spectrum-Icon_3e140b";
|
|
102
|
+
$32d597b82a7aad64$export$1f253edac4b98526 = "spectrum-Tabs-itemLabel_3e140b";
|
|
103
103
|
$32d597b82a7aad64$export$a115f9117a19563e = "spectrum-Tabs-selectionIndicator_3e140b";
|
|
104
104
|
$32d597b82a7aad64$export$229f1ac4d3d38f0e = "spectrum-Tabs--horizontal_3e140b";
|
|
105
105
|
$32d597b82a7aad64$export$e15c78184ee03abe = "spectrum-Tabs--compact_3e140b";
|
|
@@ -232,11 +232,14 @@ function $65ab70ddbed1564b$var$Tab(props) {
|
|
|
232
232
|
let { hoverProps: hoverProps , isHovered: isHovered } = (0, $cLzzU$useHover)({
|
|
233
233
|
...props
|
|
234
234
|
});
|
|
235
|
-
let
|
|
235
|
+
let ElementType = item.props.href ? "a" : "div";
|
|
236
|
+
let domProps = (0, $cLzzU$filterDOMProps)(item.props, {
|
|
237
|
+
isLink: !!item.props.href
|
|
238
|
+
});
|
|
236
239
|
delete domProps.id;
|
|
237
240
|
return /*#__PURE__*/ (0, $cLzzU$react).createElement((0, $cLzzU$FocusRing), {
|
|
238
241
|
focusRingClass: (0, $cLzzU$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($32d597b82a7aad64$exports))), "focus-ring")
|
|
239
|
-
}, /*#__PURE__*/ (0, $cLzzU$react).createElement(
|
|
242
|
+
}, /*#__PURE__*/ (0, $cLzzU$react).createElement(ElementType, {
|
|
240
243
|
...(0, $cLzzU$mergeProps)(tabProps, hoverProps, domProps),
|
|
241
244
|
ref: ref,
|
|
242
245
|
className: (0, $cLzzU$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($32d597b82a7aad64$exports))), "spectrum-Tabs-item", {
|
|
@@ -421,11 +424,7 @@ function $65ab70ddbed1564b$var$TabPicker(props) {
|
|
|
421
424
|
]);
|
|
422
425
|
let items = [
|
|
423
426
|
...state.collection
|
|
424
|
-
]
|
|
425
|
-
rendered: item.rendered,
|
|
426
|
-
textValue: item.textValue,
|
|
427
|
-
id: item.key
|
|
428
|
-
}));
|
|
427
|
+
];
|
|
429
428
|
let pickerProps = {
|
|
430
429
|
"aria-labelledby": ariaLabeledBy,
|
|
431
430
|
"aria-label": ariaLabel
|
|
@@ -464,9 +463,7 @@ function $65ab70ddbed1564b$var$TabPicker(props) {
|
|
|
464
463
|
disabledKeys: state.disabledKeys,
|
|
465
464
|
onSelectionChange: state.setSelectedKey,
|
|
466
465
|
UNSAFE_className: (0, $cLzzU$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($32d597b82a7aad64$exports))), "spectrum-Tabs-picker")
|
|
467
|
-
}, (item)=>/*#__PURE__*/ (0, $cLzzU$react).createElement((0, $cLzzU$Item), {
|
|
468
|
-
textValue: item.textValue
|
|
469
|
-
}, item.rendered)), pickerNode && /*#__PURE__*/ (0, $cLzzU$react).createElement($65ab70ddbed1564b$var$TabLine, {
|
|
466
|
+
}, (item)=>/*#__PURE__*/ (0, $cLzzU$react).createElement((0, $cLzzU$Item), item.props, item.rendered)), pickerNode && /*#__PURE__*/ (0, $cLzzU$react).createElement($65ab70ddbed1564b$var$TabLine, {
|
|
470
467
|
orientation: "horizontal",
|
|
471
468
|
selectedTab: pickerNode,
|
|
472
469
|
selectedKey: state.selectedKey
|
package/dist/module.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<HTMLDivElement>();\n let {tabProps, isSelected, isDisabled} = useTab({key}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n ...props\n });\n let domProps = filterDOMProps(item.props);\n delete domProps.id;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(tabProps, hoverProps, domProps)}\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 </div>\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].map((item) => ({\n rendered: item.rendered,\n textValue: item.textValue,\n id: item.key\n }));\n\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 textValue={item.textValue}>{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":"module.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 let domProps = filterDOMProps(item.props as any, {isLink: !!item.props.href});\n delete domProps.id;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <ElementType\n {...mergeProps(tabProps, hoverProps, domProps)}\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":"module.js.map"}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;
|
|
1
|
+
{"mappings":";;;AA+PA;;;GAGG;AACH,wBAAwB,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,qBAsExD;AAED;;;GAGG;AACH,0BAA0B,CAAC,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC,qBAa5D;AA+GD;;GAEG;AAGH,OAAA,MAAM;UAA2E,OAAO,cAAc,CAAC;MAAM,YAAY,CAAC;ACjc1H,OAAO,EAAC,IAAI,EAAC,MAAM,4BAA4B,CAAC;AAChD,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAC,MAAM,mBAAmB,CAAC","sources":["packages/@react-spectrum/tabs/src/packages/@react-spectrum/tabs/src/Tabs.tsx","packages/@react-spectrum/tabs/src/packages/@react-spectrum/tabs/src/index.ts","packages/@react-spectrum/tabs/src/index.ts"],"sourcesContent":[null,null,"/*\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"],"names":[],"version":3,"file":"types.d.ts.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/tabs",
|
|
3
|
-
"version": "3.7.3-nightly.
|
|
3
|
+
"version": "3.7.3-nightly.4140+24bffc08c",
|
|
4
4
|
"description": "Spectrum UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -36,27 +36,27 @@
|
|
|
36
36
|
"url": "https://github.com/adobe/react-spectrum"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@react-aria/focus": "3.0.0-nightly.
|
|
40
|
-
"@react-aria/i18n": "3.0.0-nightly.
|
|
41
|
-
"@react-aria/interactions": "3.0.0-nightly.
|
|
42
|
-
"@react-aria/tabs": "3.7.1-nightly.
|
|
43
|
-
"@react-aria/utils": "3.0.0-nightly.
|
|
44
|
-
"@react-spectrum/button": "3.0.0-nightly.
|
|
45
|
-
"@react-spectrum/menu": "3.14.1-nightly.
|
|
46
|
-
"@react-spectrum/picker": "3.12.1-nightly.
|
|
47
|
-
"@react-spectrum/text": "3.4.6-nightly.
|
|
48
|
-
"@react-spectrum/utils": "3.0.0-nightly.
|
|
49
|
-
"@react-stately/collections": "3.0.0-nightly.
|
|
50
|
-
"@react-stately/list": "3.9.3-nightly.
|
|
51
|
-
"@react-stately/tabs": "3.0.0-nightly.
|
|
52
|
-
"@react-types/select": "3.8.4-nightly.
|
|
53
|
-
"@react-types/shared": "3.0.0-nightly.
|
|
54
|
-
"@react-types/tabs": "3.3.3-nightly.
|
|
55
|
-
"@spectrum-icons/workflow": "3.0.0-nightly.
|
|
39
|
+
"@react-aria/focus": "3.0.0-nightly.2431+24bffc08c",
|
|
40
|
+
"@react-aria/i18n": "3.0.0-nightly.2431+24bffc08c",
|
|
41
|
+
"@react-aria/interactions": "3.0.0-nightly.2431+24bffc08c",
|
|
42
|
+
"@react-aria/tabs": "3.7.1-nightly.4140+24bffc08c",
|
|
43
|
+
"@react-aria/utils": "3.0.0-nightly.2431+24bffc08c",
|
|
44
|
+
"@react-spectrum/button": "3.0.0-nightly.2431+24bffc08c",
|
|
45
|
+
"@react-spectrum/menu": "3.14.1-nightly.4140+24bffc08c",
|
|
46
|
+
"@react-spectrum/picker": "3.12.1-nightly.4140+24bffc08c",
|
|
47
|
+
"@react-spectrum/text": "3.4.6-nightly.4140+24bffc08c",
|
|
48
|
+
"@react-spectrum/utils": "3.0.0-nightly.2431+24bffc08c",
|
|
49
|
+
"@react-stately/collections": "3.0.0-nightly.2431+24bffc08c",
|
|
50
|
+
"@react-stately/list": "3.9.3-nightly.4140+24bffc08c",
|
|
51
|
+
"@react-stately/tabs": "3.0.0-nightly.2431+24bffc08c",
|
|
52
|
+
"@react-types/select": "3.8.4-nightly.4140+24bffc08c",
|
|
53
|
+
"@react-types/shared": "3.0.0-nightly.2431+24bffc08c",
|
|
54
|
+
"@react-types/tabs": "3.3.3-nightly.4140+24bffc08c",
|
|
55
|
+
"@spectrum-icons/workflow": "3.0.0-nightly.2431+24bffc08c",
|
|
56
56
|
"@swc/helpers": "^0.5.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@adobe/spectrum-css-temp": "3.0.0-nightly.
|
|
59
|
+
"@adobe/spectrum-css-temp": "3.0.0-nightly.2431+24bffc08c"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
62
|
"@react-spectrum/provider": "^3.0.0",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"publishConfig": {
|
|
67
67
|
"access": "public"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "24bffc08cd4435d0a75c99326883085c3a90b009"
|
|
70
70
|
}
|
package/src/Tabs.tsx
CHANGED
|
@@ -160,18 +160,19 @@ function Tab<T>(props: TabProps<T>) {
|
|
|
160
160
|
let {item, state} = props;
|
|
161
161
|
let {key, rendered} = item;
|
|
162
162
|
|
|
163
|
-
let ref = useRef<
|
|
163
|
+
let ref = useRef<any>();
|
|
164
164
|
let {tabProps, isSelected, isDisabled} = useTab({key}, state, ref);
|
|
165
165
|
|
|
166
166
|
let {hoverProps, isHovered} = useHover({
|
|
167
167
|
...props
|
|
168
168
|
});
|
|
169
|
-
let
|
|
169
|
+
let ElementType: React.ElementType = item.props.href ? 'a' : 'div';
|
|
170
|
+
let domProps = filterDOMProps(item.props as any, {isLink: !!item.props.href});
|
|
170
171
|
delete domProps.id;
|
|
171
172
|
|
|
172
173
|
return (
|
|
173
174
|
<FocusRing focusRingClass={classNames(styles, 'focus-ring')}>
|
|
174
|
-
<
|
|
175
|
+
<ElementType
|
|
175
176
|
{...mergeProps(tabProps, hoverProps, domProps)}
|
|
176
177
|
ref={ref}
|
|
177
178
|
className={classNames(
|
|
@@ -197,7 +198,7 @@ function Tab<T>(props: TabProps<T>) {
|
|
|
197
198
|
? <Text>{rendered}</Text>
|
|
198
199
|
: rendered}
|
|
199
200
|
</SlotProvider>
|
|
200
|
-
</
|
|
201
|
+
</ElementType>
|
|
201
202
|
</FocusRing>
|
|
202
203
|
);
|
|
203
204
|
}
|
|
@@ -402,12 +403,7 @@ function TabPicker<T>(props: TabPickerProps<T>) {
|
|
|
402
403
|
setPickerNode(node.current);
|
|
403
404
|
}, [ref]);
|
|
404
405
|
|
|
405
|
-
let items = [...state.collection]
|
|
406
|
-
rendered: item.rendered,
|
|
407
|
-
textValue: item.textValue,
|
|
408
|
-
id: item.key
|
|
409
|
-
}));
|
|
410
|
-
|
|
406
|
+
let items = [...state.collection];
|
|
411
407
|
let pickerProps = {
|
|
412
408
|
'aria-labelledby': ariaLabeledBy,
|
|
413
409
|
'aria-label': ariaLabel
|
|
@@ -453,7 +449,7 @@ function TabPicker<T>(props: TabPickerProps<T>) {
|
|
|
453
449
|
disabledKeys={state.disabledKeys}
|
|
454
450
|
onSelectionChange={state.setSelectedKey}
|
|
455
451
|
UNSAFE_className={classNames(styles, 'spectrum-Tabs-picker')}>
|
|
456
|
-
{item => <Item
|
|
452
|
+
{item => <Item {...item.props}>{item.rendered}</Item>}
|
|
457
453
|
</Picker>
|
|
458
454
|
{pickerNode && <TabLine orientation="horizontal" selectedTab={pickerNode} selectedKey={state.selectedKey} />}
|
|
459
455
|
</SlotProvider>
|