@atlaskit/tabs 13.4.4 → 13.4.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @atlaskit/tabs
2
2
 
3
+ ## 13.4.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [`e7f99a81404`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e7f99a81404) - Update to use `xcss` where possible. There should be no difference in behaviour.
8
+ - Updated dependencies
9
+
3
10
  ## 13.4.4
4
11
 
5
12
  ### Patch Changes
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _react2 = require("@emotion/react");
9
- var _dsExplorations = require("@atlaskit/ds-explorations");
10
9
  var _components = require("@atlaskit/theme/components");
11
10
  var _hooks = require("../hooks");
12
11
  var _context = require("../internal/context");
@@ -14,6 +13,12 @@ var _styles = require("../internal/styles");
14
13
  var _utils = require("../internal/utils");
15
14
  /** @jsx jsx */
16
15
 
16
+ var baseStyles = (0, _react2.css)({
17
+ display: 'flex',
18
+ padding: "var(--ds-space-0, 0px)",
19
+ position: 'relative'
20
+ });
21
+
17
22
  /**
18
23
  * __TabList__
19
24
  *
@@ -23,8 +28,8 @@ var _utils = require("../internal/utils");
23
28
  * - [Code](https://atlassian.design/components/tabs/code)
24
29
  * - [Usage](https://atlassian.design/components/tabs/usage)
25
30
  */
26
- var TabList = function TabList(props) {
27
- var children = props.children;
31
+ var TabList = function TabList(_ref) {
32
+ var children = _ref.children;
28
33
  var _useGlobalTheme = (0, _components.useGlobalTheme)(),
29
34
  mode = _useGlobalTheme.mode;
30
35
  var _useTabList = (0, _hooks.useTabList)(),
@@ -75,10 +80,10 @@ var TabList = function TabList(props) {
75
80
  }, [length, selectTabByIndex]);
76
81
 
77
82
  // Memoized so the function isn't recreated each time
78
- var getTabWithContext = (0, _react.useCallback)(function (_ref) {
79
- var tab = _ref.tab,
80
- isSelected = _ref.isSelected,
81
- index = _ref.index;
83
+ var getTabWithContext = (0, _react.useCallback)(function (_ref2) {
84
+ var tab = _ref2.tab,
85
+ isSelected = _ref2.isSelected,
86
+ index = _ref2.index;
82
87
  return (0, _react2.jsx)(_context.TabContext.Provider, {
83
88
  value: {
84
89
  onClick: function onClick() {
@@ -102,16 +107,12 @@ var TabList = function TabList(props) {
102
107
  // The other styles applied through the CSS prop are there for styling children
103
108
  // through inheritance. This is important for custom cases that use the useTab(),
104
109
  // which applies accessibility atributes that we use as a styling hook.
105
- (0, _react2.jsx)(_dsExplorations.UNSAFE_Box, {
106
- as: "div",
110
+ (0, _react2.jsx)("div", {
107
111
  role: "tablist",
108
- display: "flex",
109
- position: "relative",
110
- padding: "space.0",
111
112
  ref: ref
112
113
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
113
114
  ,
114
- css: tabListStyles
115
+ css: [baseStyles, tabListStyles]
115
116
  }, childrenArray.map(function (child, index) {
116
117
  return getTabWithContext({
117
118
  tab: child,
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
7
  var _react = require("react");
10
8
  var _react2 = require("@emotion/react");
11
- var _dsExplorations = require("@atlaskit/ds-explorations");
9
+ var _primitives = require("@atlaskit/primitives");
12
10
  var _hooks = require("../hooks");
13
11
  /** @jsx jsx */
14
12
 
@@ -25,11 +23,22 @@ var _hooks = require("../hooks");
25
23
  var TabPanel = function TabPanel(_ref) {
26
24
  var children = _ref.children,
27
25
  testId = _ref.testId;
28
- var tabPanelAttributes = (0, _hooks.useTabPanel)();
29
- return (0, _react2.jsx)(_dsExplorations.UNSAFE_Box, (0, _extends2.default)({
26
+ var _useTabPanel = (0, _hooks.useTabPanel)(),
27
+ role = _useTabPanel.role,
28
+ id = _useTabPanel.id,
29
+ hidden = _useTabPanel.hidden,
30
+ ariaLabelledBy = _useTabPanel['aria-labelledby'],
31
+ onMouseDown = _useTabPanel.onMouseDown,
32
+ tabIndex = _useTabPanel.tabIndex;
33
+ return (0, _react2.jsx)(_primitives.Box, {
30
34
  testId: testId,
31
- as: "div"
32
- }, tabPanelAttributes), (0, _react2.jsx)(_react.Fragment, null, children));
35
+ role: role,
36
+ id: id,
37
+ hidden: hidden,
38
+ "aria-labelledby": ariaLabelledBy,
39
+ onMouseDown: onMouseDown,
40
+ tabIndex: tabIndex
41
+ }, (0, _react2.jsx)(_react.Fragment, null, children));
33
42
  };
34
43
  var _default = TabPanel;
35
44
  exports.default = _default;
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = Tab;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
7
  var _react = require("@emotion/react");
10
8
  var _dsExplorations = require("@atlaskit/ds-explorations");
9
+ var _primitives = require("@atlaskit/primitives");
11
10
  var _hooks = require("../hooks");
12
11
  /** @jsx jsx */
13
12
 
@@ -23,11 +22,30 @@ var _hooks = require("../hooks");
23
22
  function Tab(_ref) {
24
23
  var children = _ref.children,
25
24
  testId = _ref.testId;
26
- var tabAttributes = (0, _hooks.useTab)();
27
- return (0, _react.jsx)(_dsExplorations.UNSAFE_Box, (0, _extends2.default)({
28
- as: "div",
29
- testId: testId
30
- }, tabAttributes), (0, _react.jsx)(_dsExplorations.UNSAFE_Text, {
25
+ var _useTab = (0, _hooks.useTab)(),
26
+ onClick = _useTab.onClick,
27
+ id = _useTab.id,
28
+ ariaControls = _useTab['aria-controls'],
29
+ ariaPosinset = _useTab['aria-posinset'],
30
+ ariaSelected = _useTab['aria-selected'],
31
+ ariaSetsize = _useTab['aria-setsize'],
32
+ onMouseDown = _useTab.onMouseDown,
33
+ onKeyDown = _useTab.onKeyDown,
34
+ role = _useTab.role,
35
+ tabIndex = _useTab.tabIndex;
36
+ return (0, _react.jsx)(_primitives.Box, {
37
+ testId: testId,
38
+ onClick: onClick,
39
+ id: id,
40
+ "aria-controls": ariaControls,
41
+ "aria-posinset": ariaPosinset,
42
+ "aria-selected": ariaSelected,
43
+ "aria-setsize": ariaSetsize,
44
+ onMouseDown: onMouseDown,
45
+ onKeyDown: onKeyDown,
46
+ role: role,
47
+ tabIndex: tabIndex
48
+ }, (0, _react.jsx)(_dsExplorations.UNSAFE_Text, {
31
49
  shouldTruncate: true,
32
50
  UNSAFE_style: {
33
51
  color: 'inherit'
@@ -11,17 +11,24 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _react = require("react");
12
12
  var _react2 = require("@emotion/react");
13
13
  var _usePlatformLeafEventHandler = require("@atlaskit/analytics-next/usePlatformLeafEventHandler");
14
- var _dsExplorations = require("@atlaskit/ds-explorations");
15
14
  var _components = require("@atlaskit/theme/components");
16
15
  var _context = require("../internal/context");
17
16
  var _styles = require("../internal/styles");
18
17
  var _utils = require("../internal/utils");
19
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } /** @jsx jsx */
18
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** @jsx jsx */
20
+ var baseStyles = (0, _react2.css)({
21
+ display: 'flex',
22
+ maxWidth: '100%',
23
+ minHeight: '0%',
24
+ flexBasis: '100%',
25
+ flexDirection: 'column',
26
+ flexGrow: 1
27
+ });
21
28
  var analyticsAttributes = {
22
29
  componentName: 'tabs',
23
30
  packageName: "@atlaskit/tabs",
24
- packageVersion: "13.4.4"
31
+ packageVersion: "13.4.5"
25
32
  };
26
33
  var getTabPanelWithContext = function getTabPanelWithContext(_ref) {
27
34
  var tabPanel = _ref.tabPanel,
@@ -118,21 +125,12 @@ var Tabs = function Tabs(props) {
118
125
  // Only styles that affect the Tabs container itself have been applied via primitives.
119
126
  // The other styles applied through the CSS prop are there for styling children
120
127
  // through inheritance. This is important for custom cases that use the useTabPanel(),
121
- // which applies accessibility atributes that we use as a styling hook.
122
- (0, _react2.jsx)(_dsExplorations.UNSAFE_Box, {
123
- as: "div",
124
- testId: testId,
125
- display: "flex",
126
- flexDirection: "column",
127
- UNSAFE_style: {
128
- maxWidth: '100%',
129
- minHeight: '0%',
130
- flexBasis: '100%',
131
- flexGrow: 1
132
- }
128
+ // which applies accessibility attributes that we use as a styling hook.
129
+ (0, _react2.jsx)("div", {
130
+ "data-testid": testId
133
131
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
134
132
  ,
135
- css: tabsStyles
133
+ css: [baseStyles, tabsStyles]
136
134
  }, (0, _react2.jsx)(_context.TabListContext.Provider, {
137
135
  value: {
138
136
  selected: selected,
@@ -8,8 +8,8 @@ exports.getTabsStyles = exports.getTabStyles = exports.getTabListStyles = void 0
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _react = require("@emotion/react");
10
10
  var _colors = require("./colors");
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
13
  var tabLeftRightPadding = "var(--ds-space-100, 8px)";
14
14
  var tabTopBottomPadding = "var(--ds-space-050, 4px)";
15
15
  // TODO this should probably be `border.width.indicator`
@@ -1,12 +1,17 @@
1
1
  /** @jsx jsx */
2
2
  import { Children, createRef, useCallback, useMemo } from 'react';
3
- import { jsx } from '@emotion/react';
4
- import { UNSAFE_Box as Box } from '@atlaskit/ds-explorations';
3
+ import { css, jsx } from '@emotion/react';
5
4
  import { useGlobalTheme } from '@atlaskit/theme/components';
6
5
  import { useTabList } from '../hooks';
7
6
  import { TabContext } from '../internal/context';
8
7
  import { getTabListStyles } from '../internal/styles';
9
8
  import { onMouseDownBlur } from '../internal/utils';
9
+ const baseStyles = css({
10
+ display: 'flex',
11
+ padding: "var(--ds-space-0, 0px)",
12
+ position: 'relative'
13
+ });
14
+
10
15
  /**
11
16
  * __TabList__
12
17
  *
@@ -16,10 +21,9 @@ import { onMouseDownBlur } from '../internal/utils';
16
21
  * - [Code](https://atlassian.design/components/tabs/code)
17
22
  * - [Usage](https://atlassian.design/components/tabs/usage)
18
23
  */
19
- const TabList = props => {
20
- const {
21
- children
22
- } = props;
24
+ const TabList = ({
25
+ children
26
+ }) => {
23
27
  const {
24
28
  mode
25
29
  } = useGlobalTheme();
@@ -94,16 +98,12 @@ const TabList = props => {
94
98
  // The other styles applied through the CSS prop are there for styling children
95
99
  // through inheritance. This is important for custom cases that use the useTab(),
96
100
  // which applies accessibility atributes that we use as a styling hook.
97
- jsx(Box, {
98
- as: "div",
101
+ jsx("div", {
99
102
  role: "tablist",
100
- display: "flex",
101
- position: "relative",
102
- padding: "space.0",
103
103
  ref: ref
104
104
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
105
105
  ,
106
- css: tabListStyles
106
+ css: [baseStyles, tabListStyles]
107
107
  }, childrenArray.map((child, index) => getTabWithContext({
108
108
  tab: child,
109
109
  index,
@@ -1,8 +1,7 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  /** @jsx jsx */
3
2
  import { Fragment } from 'react';
4
3
  import { jsx } from '@emotion/react';
5
- import { UNSAFE_Box as Box } from '@atlaskit/ds-explorations';
4
+ import { Box } from '@atlaskit/primitives';
6
5
  import { useTabPanel } from '../hooks';
7
6
  // Note this is not being memoized as children is an unstable reference
8
7
  /**
@@ -18,10 +17,22 @@ const TabPanel = ({
18
17
  children,
19
18
  testId
20
19
  }) => {
21
- const tabPanelAttributes = useTabPanel();
22
- return jsx(Box, _extends({
20
+ const {
21
+ role,
22
+ id,
23
+ hidden,
24
+ 'aria-labelledby': ariaLabelledBy,
25
+ onMouseDown,
26
+ tabIndex
27
+ } = useTabPanel();
28
+ return jsx(Box, {
23
29
  testId: testId,
24
- as: "div"
25
- }, tabPanelAttributes), jsx(Fragment, null, children));
30
+ role: role,
31
+ id: id,
32
+ hidden: hidden,
33
+ "aria-labelledby": ariaLabelledBy,
34
+ onMouseDown: onMouseDown,
35
+ tabIndex: tabIndex
36
+ }, jsx(Fragment, null, children));
26
37
  };
27
38
  export default TabPanel;
@@ -1,7 +1,7 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  /** @jsx jsx */
3
2
  import { jsx } from '@emotion/react';
4
- import { UNSAFE_Box as Box, UNSAFE_Text as Text } from '@atlaskit/ds-explorations';
3
+ import { UNSAFE_Text as Text } from '@atlaskit/ds-explorations';
4
+ import { Box } from '@atlaskit/primitives';
5
5
  import { useTab } from '../hooks';
6
6
  /**
7
7
  * __Tab__
@@ -16,11 +16,31 @@ export default function Tab({
16
16
  children,
17
17
  testId
18
18
  }) {
19
- const tabAttributes = useTab();
20
- return jsx(Box, _extends({
21
- as: "div",
22
- testId: testId
23
- }, tabAttributes), jsx(Text, {
19
+ const {
20
+ onClick,
21
+ id,
22
+ 'aria-controls': ariaControls,
23
+ 'aria-posinset': ariaPosinset,
24
+ 'aria-selected': ariaSelected,
25
+ 'aria-setsize': ariaSetsize,
26
+ onMouseDown,
27
+ onKeyDown,
28
+ role,
29
+ tabIndex
30
+ } = useTab();
31
+ return jsx(Box, {
32
+ testId: testId,
33
+ onClick: onClick,
34
+ id: id,
35
+ "aria-controls": ariaControls,
36
+ "aria-posinset": ariaPosinset,
37
+ "aria-selected": ariaSelected,
38
+ "aria-setsize": ariaSetsize,
39
+ onMouseDown: onMouseDown,
40
+ onKeyDown: onKeyDown,
41
+ role: role,
42
+ tabIndex: tabIndex
43
+ }, jsx(Text, {
24
44
  shouldTruncate: true,
25
45
  UNSAFE_style: {
26
46
  color: 'inherit'
@@ -1,16 +1,23 @@
1
1
  /** @jsx jsx */
2
2
  import { Children, Fragment, useCallback, useMemo, useRef, useState } from 'react';
3
- import { jsx } from '@emotion/react';
3
+ import { css, jsx } from '@emotion/react';
4
4
  import { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';
5
- import { UNSAFE_Box as Box } from '@atlaskit/ds-explorations';
6
5
  import { useGlobalTheme } from '@atlaskit/theme/components';
7
6
  import { TabListContext, TabPanelContext } from '../internal/context';
8
7
  import { getTabsStyles } from '../internal/styles';
9
8
  import { onMouseDownBlur } from '../internal/utils';
9
+ const baseStyles = css({
10
+ display: 'flex',
11
+ maxWidth: '100%',
12
+ minHeight: '0%',
13
+ flexBasis: '100%',
14
+ flexDirection: 'column',
15
+ flexGrow: 1
16
+ });
10
17
  const analyticsAttributes = {
11
18
  componentName: 'tabs',
12
19
  packageName: "@atlaskit/tabs",
13
- packageVersion: "13.4.4"
20
+ packageVersion: "13.4.5"
14
21
  };
15
22
  const getTabPanelWithContext = ({
16
23
  tabPanel,
@@ -97,21 +104,12 @@ const Tabs = props => {
97
104
  // Only styles that affect the Tabs container itself have been applied via primitives.
98
105
  // The other styles applied through the CSS prop are there for styling children
99
106
  // through inheritance. This is important for custom cases that use the useTabPanel(),
100
- // which applies accessibility atributes that we use as a styling hook.
101
- jsx(Box, {
102
- as: "div",
103
- testId: testId,
104
- display: "flex",
105
- flexDirection: "column",
106
- UNSAFE_style: {
107
- maxWidth: '100%',
108
- minHeight: '0%',
109
- flexBasis: '100%',
110
- flexGrow: 1
111
- }
107
+ // which applies accessibility attributes that we use as a styling hook.
108
+ jsx("div", {
109
+ "data-testid": testId
112
110
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
113
111
  ,
114
- css: tabsStyles
112
+ css: [baseStyles, tabsStyles]
115
113
  }, jsx(TabListContext.Provider, {
116
114
  value: {
117
115
  selected,
@@ -1,12 +1,17 @@
1
1
  /** @jsx jsx */
2
2
  import { Children, createRef, useCallback, useMemo } from 'react';
3
- import { jsx } from '@emotion/react';
4
- import { UNSAFE_Box as Box } from '@atlaskit/ds-explorations';
3
+ import { css, jsx } from '@emotion/react';
5
4
  import { useGlobalTheme } from '@atlaskit/theme/components';
6
5
  import { useTabList } from '../hooks';
7
6
  import { TabContext } from '../internal/context';
8
7
  import { getTabListStyles } from '../internal/styles';
9
8
  import { onMouseDownBlur } from '../internal/utils';
9
+ var baseStyles = css({
10
+ display: 'flex',
11
+ padding: "var(--ds-space-0, 0px)",
12
+ position: 'relative'
13
+ });
14
+
10
15
  /**
11
16
  * __TabList__
12
17
  *
@@ -16,8 +21,8 @@ import { onMouseDownBlur } from '../internal/utils';
16
21
  * - [Code](https://atlassian.design/components/tabs/code)
17
22
  * - [Usage](https://atlassian.design/components/tabs/usage)
18
23
  */
19
- var TabList = function TabList(props) {
20
- var children = props.children;
24
+ var TabList = function TabList(_ref) {
25
+ var children = _ref.children;
21
26
  var _useGlobalTheme = useGlobalTheme(),
22
27
  mode = _useGlobalTheme.mode;
23
28
  var _useTabList = useTabList(),
@@ -68,10 +73,10 @@ var TabList = function TabList(props) {
68
73
  }, [length, selectTabByIndex]);
69
74
 
70
75
  // Memoized so the function isn't recreated each time
71
- var getTabWithContext = useCallback(function (_ref) {
72
- var tab = _ref.tab,
73
- isSelected = _ref.isSelected,
74
- index = _ref.index;
76
+ var getTabWithContext = useCallback(function (_ref2) {
77
+ var tab = _ref2.tab,
78
+ isSelected = _ref2.isSelected,
79
+ index = _ref2.index;
75
80
  return jsx(TabContext.Provider, {
76
81
  value: {
77
82
  onClick: function onClick() {
@@ -95,16 +100,12 @@ var TabList = function TabList(props) {
95
100
  // The other styles applied through the CSS prop are there for styling children
96
101
  // through inheritance. This is important for custom cases that use the useTab(),
97
102
  // which applies accessibility atributes that we use as a styling hook.
98
- jsx(Box, {
99
- as: "div",
103
+ jsx("div", {
100
104
  role: "tablist",
101
- display: "flex",
102
- position: "relative",
103
- padding: "space.0",
104
105
  ref: ref
105
106
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
106
107
  ,
107
- css: tabListStyles
108
+ css: [baseStyles, tabListStyles]
108
109
  }, childrenArray.map(function (child, index) {
109
110
  return getTabWithContext({
110
111
  tab: child,
@@ -1,8 +1,7 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  /** @jsx jsx */
3
2
  import { Fragment } from 'react';
4
3
  import { jsx } from '@emotion/react';
5
- import { UNSAFE_Box as Box } from '@atlaskit/ds-explorations';
4
+ import { Box } from '@atlaskit/primitives';
6
5
  import { useTabPanel } from '../hooks';
7
6
  // Note this is not being memoized as children is an unstable reference
8
7
  /**
@@ -17,10 +16,21 @@ import { useTabPanel } from '../hooks';
17
16
  var TabPanel = function TabPanel(_ref) {
18
17
  var children = _ref.children,
19
18
  testId = _ref.testId;
20
- var tabPanelAttributes = useTabPanel();
21
- return jsx(Box, _extends({
19
+ var _useTabPanel = useTabPanel(),
20
+ role = _useTabPanel.role,
21
+ id = _useTabPanel.id,
22
+ hidden = _useTabPanel.hidden,
23
+ ariaLabelledBy = _useTabPanel['aria-labelledby'],
24
+ onMouseDown = _useTabPanel.onMouseDown,
25
+ tabIndex = _useTabPanel.tabIndex;
26
+ return jsx(Box, {
22
27
  testId: testId,
23
- as: "div"
24
- }, tabPanelAttributes), jsx(Fragment, null, children));
28
+ role: role,
29
+ id: id,
30
+ hidden: hidden,
31
+ "aria-labelledby": ariaLabelledBy,
32
+ onMouseDown: onMouseDown,
33
+ tabIndex: tabIndex
34
+ }, jsx(Fragment, null, children));
25
35
  };
26
36
  export default TabPanel;
@@ -1,7 +1,7 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  /** @jsx jsx */
3
2
  import { jsx } from '@emotion/react';
4
- import { UNSAFE_Box as Box, UNSAFE_Text as Text } from '@atlaskit/ds-explorations';
3
+ import { UNSAFE_Text as Text } from '@atlaskit/ds-explorations';
4
+ import { Box } from '@atlaskit/primitives';
5
5
  import { useTab } from '../hooks';
6
6
  /**
7
7
  * __Tab__
@@ -15,11 +15,30 @@ import { useTab } from '../hooks';
15
15
  export default function Tab(_ref) {
16
16
  var children = _ref.children,
17
17
  testId = _ref.testId;
18
- var tabAttributes = useTab();
19
- return jsx(Box, _extends({
20
- as: "div",
21
- testId: testId
22
- }, tabAttributes), jsx(Text, {
18
+ var _useTab = useTab(),
19
+ onClick = _useTab.onClick,
20
+ id = _useTab.id,
21
+ ariaControls = _useTab['aria-controls'],
22
+ ariaPosinset = _useTab['aria-posinset'],
23
+ ariaSelected = _useTab['aria-selected'],
24
+ ariaSetsize = _useTab['aria-setsize'],
25
+ onMouseDown = _useTab.onMouseDown,
26
+ onKeyDown = _useTab.onKeyDown,
27
+ role = _useTab.role,
28
+ tabIndex = _useTab.tabIndex;
29
+ return jsx(Box, {
30
+ testId: testId,
31
+ onClick: onClick,
32
+ id: id,
33
+ "aria-controls": ariaControls,
34
+ "aria-posinset": ariaPosinset,
35
+ "aria-selected": ariaSelected,
36
+ "aria-setsize": ariaSetsize,
37
+ onMouseDown: onMouseDown,
38
+ onKeyDown: onKeyDown,
39
+ role: role,
40
+ tabIndex: tabIndex
41
+ }, jsx(Text, {
23
42
  shouldTruncate: true,
24
43
  UNSAFE_style: {
25
44
  color: 'inherit'
@@ -1,21 +1,28 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _toArray from "@babel/runtime/helpers/toArray";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  /** @jsx jsx */
7
7
  import { Children, Fragment, useCallback, useMemo, useRef, useState } from 'react';
8
- import { jsx } from '@emotion/react';
8
+ import { css, jsx } from '@emotion/react';
9
9
  import { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';
10
- import { UNSAFE_Box as Box } from '@atlaskit/ds-explorations';
11
10
  import { useGlobalTheme } from '@atlaskit/theme/components';
12
11
  import { TabListContext, TabPanelContext } from '../internal/context';
13
12
  import { getTabsStyles } from '../internal/styles';
14
13
  import { onMouseDownBlur } from '../internal/utils';
14
+ var baseStyles = css({
15
+ display: 'flex',
16
+ maxWidth: '100%',
17
+ minHeight: '0%',
18
+ flexBasis: '100%',
19
+ flexDirection: 'column',
20
+ flexGrow: 1
21
+ });
15
22
  var analyticsAttributes = {
16
23
  componentName: 'tabs',
17
24
  packageName: "@atlaskit/tabs",
18
- packageVersion: "13.4.4"
25
+ packageVersion: "13.4.5"
19
26
  };
20
27
  var getTabPanelWithContext = function getTabPanelWithContext(_ref) {
21
28
  var tabPanel = _ref.tabPanel,
@@ -112,21 +119,12 @@ var Tabs = function Tabs(props) {
112
119
  // Only styles that affect the Tabs container itself have been applied via primitives.
113
120
  // The other styles applied through the CSS prop are there for styling children
114
121
  // through inheritance. This is important for custom cases that use the useTabPanel(),
115
- // which applies accessibility atributes that we use as a styling hook.
116
- jsx(Box, {
117
- as: "div",
118
- testId: testId,
119
- display: "flex",
120
- flexDirection: "column",
121
- UNSAFE_style: {
122
- maxWidth: '100%',
123
- minHeight: '0%',
124
- flexBasis: '100%',
125
- flexGrow: 1
126
- }
122
+ // which applies accessibility attributes that we use as a styling hook.
123
+ jsx("div", {
124
+ "data-testid": testId
127
125
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
128
126
  ,
129
- css: tabsStyles
127
+ css: [baseStyles, tabsStyles]
130
128
  }, jsx(TabListContext.Provider, {
131
129
  value: {
132
130
  selected: selected,
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  import { css } from '@emotion/react';
5
5
  import { getTabColors, getTabLineColor, getTabPanelFocusColor } from './colors';
6
6
  var tabLeftRightPadding = "var(--ds-space-100, 8px)";
@@ -9,5 +9,5 @@ import { TabListProps } from '../types';
9
9
  * - [Code](https://atlassian.design/components/tabs/code)
10
10
  * - [Usage](https://atlassian.design/components/tabs/usage)
11
11
  */
12
- declare const TabList: (props: TabListProps) => jsx.JSX.Element;
12
+ declare const TabList: ({ children }: TabListProps) => jsx.JSX.Element;
13
13
  export default TabList;
@@ -9,5 +9,5 @@ import { TabListProps } from '../types';
9
9
  * - [Code](https://atlassian.design/components/tabs/code)
10
10
  * - [Usage](https://atlassian.design/components/tabs/usage)
11
11
  */
12
- declare const TabList: (props: TabListProps) => jsx.JSX.Element;
12
+ declare const TabList: ({ children }: TabListProps) => jsx.JSX.Element;
13
13
  export default TabList;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/tabs",
3
- "version": "13.4.4",
3
+ "version": "13.4.5",
4
4
  "description": "Tabs are used to organize content by grouping similar information on the same page.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -34,8 +34,9 @@
34
34
  "@atlaskit/analytics-next": "^9.1.0",
35
35
  "@atlaskit/codemod-utils": "^4.2.0",
36
36
  "@atlaskit/ds-explorations": "^2.2.0",
37
+ "@atlaskit/primitives": "^1.2.0",
37
38
  "@atlaskit/theme": "^12.5.0",
38
- "@atlaskit/tokens": "^1.14.0",
39
+ "@atlaskit/tokens": "^1.18.0",
39
40
  "@babel/runtime": "^7.0.0",
40
41
  "@emotion/react": "^11.7.1"
41
42
  },
package/report.api.md CHANGED
@@ -57,7 +57,7 @@ export interface TabData {
57
57
  }
58
58
 
59
59
  // @public
60
- export const TabList: (props: TabListProps) => jsx.JSX.Element;
60
+ export const TabList: ({ children }: TabListProps) => jsx.JSX.Element;
61
61
 
62
62
  // @public (undocumented)
63
63
  export type TabListAttributesType = {
@@ -43,7 +43,7 @@ export interface TabData {
43
43
  }
44
44
 
45
45
  // @public
46
- export const TabList: (props: TabListProps) => jsx.JSX.Element;
46
+ export const TabList: ({ children }: TabListProps) => jsx.JSX.Element;
47
47
 
48
48
  // @public (undocumented)
49
49
  export type TabListAttributesType = {