@clayui/tabs 3.142.2 → 3.143.0

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.
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /**
11
+ * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
12
+ * SPDX-License-Identifier: BSD-3-Clause
13
+ */
14
+ const Content = /*#__PURE__*/_react.default.forwardRef(function Content(_ref, ref) {
15
+ let {
16
+ active,
17
+ activeIndex = 0,
18
+ children,
19
+ className,
20
+ fade = false,
21
+ tabsId,
22
+ ...otherProps
23
+ } = _ref;
24
+ return /*#__PURE__*/_react.default.createElement("div", _extends({
25
+ className: (0, _classnames.default)('tab-content', className)
26
+ }, otherProps, {
27
+ ref: ref
28
+ }), _react.default.Children.map(children, (child, index) => {
29
+ if (! /*#__PURE__*/_react.default.isValidElement(child)) {
30
+ return child;
31
+ }
32
+ return /*#__PURE__*/_react.default.cloneElement(child, {
33
+ ...child.props,
34
+ active: typeof active === 'number' ? active === index : activeIndex === index,
35
+ 'aria-labelledby': tabsId ? `${tabsId}-tab-${index}` : child.props['aria-labelledby'],
36
+ fade,
37
+ id: tabsId ? `${tabsId}-tabpanel-${index}` : child.props.id,
38
+ key: index
39
+ });
40
+ }));
41
+ });
42
+ var _default = exports.default = Content;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _shared = require("@clayui/shared");
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /**
12
+ * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
13
+ * SPDX-License-Identifier: BSD-3-Clause
14
+ */
15
+ const Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
16
+ let {
17
+ active = false,
18
+ children,
19
+ className,
20
+ disabled = false,
21
+ href,
22
+ innerProps = {},
23
+ onClick,
24
+ ...otherProps
25
+ } = _ref;
26
+ return /*#__PURE__*/_react.default.createElement("li", _extends({}, otherProps, {
27
+ className: (0, _classnames.default)('nav-item', className),
28
+ role: "none"
29
+ }), /*#__PURE__*/_react.default.createElement(_shared.LinkOrButton, _extends({}, innerProps, {
30
+ "aria-selected": active,
31
+ buttonDisplayType: "unstyled",
32
+ buttonType: "button",
33
+ className: (0, _classnames.default)('nav-link', {
34
+ active,
35
+ disabled
36
+ }),
37
+ disabled: disabled,
38
+ href: href,
39
+ onClick: onClick,
40
+ ref: ref,
41
+ role: "tab",
42
+ tabIndex: !active ? -1 : 0
43
+ }), children));
44
+ });
45
+ Item.displayName = 'ClayTabsItem';
46
+ var _default = exports.default = Item;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.List = void 0;
7
+ var _shared = require("@clayui/shared");
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /**
14
+ * SPDX-FileCopyrightText: © 2022 Liferay, Inc. <https://liferay.com>
15
+ * SPDX-License-Identifier: BSD-3-Clause
16
+ */
17
+ const List = exports.List = /*#__PURE__*/_react.default.forwardRef(function List(_ref, ref) {
18
+ let {
19
+ activation,
20
+ active,
21
+ children,
22
+ className,
23
+ displayType = null,
24
+ justified,
25
+ modern: __,
26
+ onActiveChange,
27
+ shouldUseActive = false,
28
+ tabsId,
29
+ ...otherProps
30
+ } = _ref;
31
+ const tabsRef = (0, _react.useRef)(null);
32
+ const {
33
+ navigationProps
34
+ } = (0, _shared.useNavigation)({
35
+ activation,
36
+ containerRef: tabsRef,
37
+ orientation: 'horizontal'
38
+ });
39
+ (0, _react.useImperativeHandle)(ref, () => tabsRef.current, [tabsRef]);
40
+ (0, _react.useEffect)(() => {
41
+ // Internal API to maintain compatibility with the old Tabs pattern and to
42
+ // only update the initial state when the component is in
43
+ // uncontrolled mode.
44
+ if (!shouldUseActive) {
45
+ return;
46
+ }
47
+ const childrenArray = _react.default.Children.toArray(children);
48
+
49
+ // The `active` API in the new pattern has uncontrolled behavior, working
50
+ // just like defaultActive as in the prop declared in the root component.
51
+ for (let index = 0; index < childrenArray.length; index++) {
52
+ const child = childrenArray[index];
53
+ if (/*#__PURE__*/_react.default.isValidElement(child) && child.props.active) {
54
+ onActiveChange(index);
55
+ break;
56
+ }
57
+ }
58
+ }, []);
59
+ return /*#__PURE__*/_react.default.createElement("ul", _extends({}, otherProps, navigationProps, {
60
+ className: (0, _classnames.default)('nav nav-tabs', {
61
+ 'nav-justified': justified
62
+ }, {
63
+ [`nav-tabs-${displayType}`]: displayType === 'light'
64
+ }, className),
65
+ ref: tabsRef,
66
+ role: "tablist"
67
+ }), _react.default.Children.map(children, (child, index) => {
68
+ if (! /*#__PURE__*/_react.default.isValidElement(child)) {
69
+ return child;
70
+ }
71
+ return /*#__PURE__*/_react.default.cloneElement(child, {
72
+ active: !shouldUseActive && child.props.active !== undefined ? child.props.active : active === index,
73
+ innerProps: {
74
+ 'aria-controls': tabsId && `${tabsId}-tabpanel-${index}`,
75
+ id: tabsId && `${tabsId}-tab-${index}`,
76
+ ...(child.props.innerProps ?? {})
77
+ },
78
+ onClick: event => {
79
+ const {
80
+ onClick
81
+ } = child.props;
82
+ if (onClick) {
83
+ onClick(event);
84
+ } else {
85
+ onActiveChange(index);
86
+ }
87
+ }
88
+ });
89
+ }));
90
+ });
91
+ List.displayName = 'ClayTabsList';
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /**
11
+ * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
12
+ * SPDX-License-Identifier: BSD-3-Clause
13
+ */
14
+ const delay = function (fn) {
15
+ let val = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 150;
16
+ return setTimeout(() => {
17
+ fn();
18
+ }, val);
19
+ };
20
+ const TabPane = /*#__PURE__*/_react.default.forwardRef(function TabPane(_ref, ref) {
21
+ let {
22
+ active = false,
23
+ children,
24
+ className,
25
+ fade,
26
+ tabIndex = 0,
27
+ ...otherProps
28
+ } = _ref;
29
+ const [internalActive, setInternalActive] = _react.default.useState(active);
30
+ const [internalShow, setInternalShow] = _react.default.useState(active);
31
+ _react.default.useEffect(() => {
32
+ let delayFn = () => {
33
+ setInternalActive(true);
34
+ delay(() => setInternalShow(true), 50);
35
+ };
36
+ if (!active) {
37
+ setInternalShow(false);
38
+ delayFn = () => setInternalActive(false);
39
+ }
40
+ const timer = delay(delayFn);
41
+ return () => {
42
+ clearTimeout(timer);
43
+ setInternalShow(false);
44
+ };
45
+ }, [active]);
46
+ return /*#__PURE__*/_react.default.createElement("div", _extends({}, otherProps, {
47
+ className: (0, _classnames.default)('tab-pane', {
48
+ active: internalActive,
49
+ fade,
50
+ show: internalShow
51
+ }, className),
52
+ ref: ref,
53
+ role: "tabpanel",
54
+ tabIndex: tabIndex
55
+ }), children);
56
+ });
57
+ var _default = exports.default = TabPane;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _shared = require("@clayui/shared");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _Content = _interopRequireDefault(require("./Content"));
10
+ var _Item = _interopRequireDefault(require("./Item"));
11
+ var _List = require("./List");
12
+ var _TabPane = _interopRequireDefault(require("./TabPane"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /**
15
+ * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */
18
+ function Tabs(_ref) {
19
+ let {
20
+ activation = 'manual',
21
+ active: externalActive,
22
+ children,
23
+ className,
24
+ defaultActive = 0,
25
+ displayType,
26
+ fade = false,
27
+ justified,
28
+ modern = false,
29
+ onActiveChange,
30
+ ...otherProps
31
+ } = _ref;
32
+ const [active, setActive, isUncontrolled] = (0, _shared.useControlledState)({
33
+ defaultName: 'defaultActive',
34
+ defaultValue: defaultActive,
35
+ handleName: 'onActiveChange',
36
+ name: 'active',
37
+ onChange: onActiveChange,
38
+ value: externalActive
39
+ });
40
+ const [left, right] = _react.default.Children.toArray(children);
41
+ const tabsId = (0, _shared.useId)();
42
+
43
+ // @ts-ignore
44
+ if (left?.type?.displayName === 'ClayTabsList') {
45
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.cloneElement(left, {
46
+ activation,
47
+ active,
48
+ displayType,
49
+ justified,
50
+ modern,
51
+ onActiveChange: setActive,
52
+ shouldUseActive: isUncontrolled,
53
+ tabsId
54
+ }), /*#__PURE__*/_react.default.isValidElement(right) && /*#__PURE__*/_react.default.cloneElement(right, {
55
+ active,
56
+ fade,
57
+ tabsId
58
+ }));
59
+ }
60
+ return /*#__PURE__*/_react.default.createElement(_List.List, _extends({}, otherProps, {
61
+ activation: activation,
62
+ active: active,
63
+ className: className,
64
+ displayType: displayType,
65
+ justified: justified,
66
+ modern: modern,
67
+ onActiveChange: setActive
68
+ }), children);
69
+ }
70
+
71
+ /**
72
+ * @deprecated since v3.78.2 - Use new composition with Tabs.List and Tabs.Panels.
73
+ */
74
+ Tabs.Content = _Content.default;
75
+ Tabs.Panels = _Content.default;
76
+ Tabs.Item = _Item.default;
77
+ Tabs.List = _List.List;
78
+ Tabs.TabPane = _TabPane.default;
79
+ Tabs.TabPanel = _TabPane.default;
80
+ var _default = exports.default = Tabs;
@@ -0,0 +1,37 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ /**
3
+ * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+
7
+ import classNames from 'classnames';
8
+ import React from 'react';
9
+ const Content = /*#__PURE__*/React.forwardRef(function Content(_ref, ref) {
10
+ let {
11
+ active,
12
+ activeIndex = 0,
13
+ children,
14
+ className,
15
+ fade = false,
16
+ tabsId,
17
+ ...otherProps
18
+ } = _ref;
19
+ return /*#__PURE__*/React.createElement("div", _extends({
20
+ className: classNames('tab-content', className)
21
+ }, otherProps, {
22
+ ref: ref
23
+ }), React.Children.map(children, (child, index) => {
24
+ if (! /*#__PURE__*/React.isValidElement(child)) {
25
+ return child;
26
+ }
27
+ return /*#__PURE__*/React.cloneElement(child, {
28
+ ...child.props,
29
+ active: typeof active === 'number' ? active === index : activeIndex === index,
30
+ 'aria-labelledby': tabsId ? `${tabsId}-tab-${index}` : child.props['aria-labelledby'],
31
+ fade,
32
+ id: tabsId ? `${tabsId}-tabpanel-${index}` : child.props.id,
33
+ key: index
34
+ });
35
+ }));
36
+ });
37
+ export default Content;
@@ -0,0 +1,41 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ /**
3
+ * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+
7
+ import { LinkOrButton } from '@clayui/shared';
8
+ import classNames from 'classnames';
9
+ import React from 'react';
10
+ const Item = /*#__PURE__*/React.forwardRef((_ref, ref) => {
11
+ let {
12
+ active = false,
13
+ children,
14
+ className,
15
+ disabled = false,
16
+ href,
17
+ innerProps = {},
18
+ onClick,
19
+ ...otherProps
20
+ } = _ref;
21
+ return /*#__PURE__*/React.createElement("li", _extends({}, otherProps, {
22
+ className: classNames('nav-item', className),
23
+ role: "none"
24
+ }), /*#__PURE__*/React.createElement(LinkOrButton, _extends({}, innerProps, {
25
+ "aria-selected": active,
26
+ buttonDisplayType: "unstyled",
27
+ buttonType: "button",
28
+ className: classNames('nav-link', {
29
+ active,
30
+ disabled
31
+ }),
32
+ disabled: disabled,
33
+ href: href,
34
+ onClick: onClick,
35
+ ref: ref,
36
+ role: "tab",
37
+ tabIndex: !active ? -1 : 0
38
+ }), children));
39
+ });
40
+ Item.displayName = 'ClayTabsItem';
41
+ export default Item;
@@ -0,0 +1,84 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ /**
3
+ * SPDX-FileCopyrightText: © 2022 Liferay, Inc. <https://liferay.com>
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+
7
+ import { useNavigation } from '@clayui/shared';
8
+ import classNames from 'classnames';
9
+ import React, { useEffect, useImperativeHandle, useRef } from 'react';
10
+ export const List = /*#__PURE__*/React.forwardRef(function List(_ref, ref) {
11
+ let {
12
+ activation,
13
+ active,
14
+ children,
15
+ className,
16
+ displayType = null,
17
+ justified,
18
+ modern: __,
19
+ onActiveChange,
20
+ shouldUseActive = false,
21
+ tabsId,
22
+ ...otherProps
23
+ } = _ref;
24
+ const tabsRef = useRef(null);
25
+ const {
26
+ navigationProps
27
+ } = useNavigation({
28
+ activation,
29
+ containerRef: tabsRef,
30
+ orientation: 'horizontal'
31
+ });
32
+ useImperativeHandle(ref, () => tabsRef.current, [tabsRef]);
33
+ useEffect(() => {
34
+ // Internal API to maintain compatibility with the old Tabs pattern and to
35
+ // only update the initial state when the component is in
36
+ // uncontrolled mode.
37
+ if (!shouldUseActive) {
38
+ return;
39
+ }
40
+ const childrenArray = React.Children.toArray(children);
41
+
42
+ // The `active` API in the new pattern has uncontrolled behavior, working
43
+ // just like defaultActive as in the prop declared in the root component.
44
+ for (let index = 0; index < childrenArray.length; index++) {
45
+ const child = childrenArray[index];
46
+ if (/*#__PURE__*/React.isValidElement(child) && child.props.active) {
47
+ onActiveChange(index);
48
+ break;
49
+ }
50
+ }
51
+ }, []);
52
+ return /*#__PURE__*/React.createElement("ul", _extends({}, otherProps, navigationProps, {
53
+ className: classNames('nav nav-tabs', {
54
+ 'nav-justified': justified
55
+ }, {
56
+ [`nav-tabs-${displayType}`]: displayType === 'light'
57
+ }, className),
58
+ ref: tabsRef,
59
+ role: "tablist"
60
+ }), React.Children.map(children, (child, index) => {
61
+ if (! /*#__PURE__*/React.isValidElement(child)) {
62
+ return child;
63
+ }
64
+ return /*#__PURE__*/React.cloneElement(child, {
65
+ active: !shouldUseActive && child.props.active !== undefined ? child.props.active : active === index,
66
+ innerProps: {
67
+ 'aria-controls': tabsId && `${tabsId}-tabpanel-${index}`,
68
+ id: tabsId && `${tabsId}-tab-${index}`,
69
+ ...(child.props.innerProps ?? {})
70
+ },
71
+ onClick: event => {
72
+ const {
73
+ onClick
74
+ } = child.props;
75
+ if (onClick) {
76
+ onClick(event);
77
+ } else {
78
+ onActiveChange(index);
79
+ }
80
+ }
81
+ });
82
+ }));
83
+ });
84
+ List.displayName = 'ClayTabsList';
@@ -0,0 +1,52 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ /**
3
+ * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+
7
+ import classNames from 'classnames';
8
+ import React from 'react';
9
+ const delay = function (fn) {
10
+ let val = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 150;
11
+ return setTimeout(() => {
12
+ fn();
13
+ }, val);
14
+ };
15
+ const TabPane = /*#__PURE__*/React.forwardRef(function TabPane(_ref, ref) {
16
+ let {
17
+ active = false,
18
+ children,
19
+ className,
20
+ fade,
21
+ tabIndex = 0,
22
+ ...otherProps
23
+ } = _ref;
24
+ const [internalActive, setInternalActive] = React.useState(active);
25
+ const [internalShow, setInternalShow] = React.useState(active);
26
+ React.useEffect(() => {
27
+ let delayFn = () => {
28
+ setInternalActive(true);
29
+ delay(() => setInternalShow(true), 50);
30
+ };
31
+ if (!active) {
32
+ setInternalShow(false);
33
+ delayFn = () => setInternalActive(false);
34
+ }
35
+ const timer = delay(delayFn);
36
+ return () => {
37
+ clearTimeout(timer);
38
+ setInternalShow(false);
39
+ };
40
+ }, [active]);
41
+ return /*#__PURE__*/React.createElement("div", _extends({}, otherProps, {
42
+ className: classNames('tab-pane', {
43
+ active: internalActive,
44
+ fade,
45
+ show: internalShow
46
+ }, className),
47
+ ref: ref,
48
+ role: "tabpanel",
49
+ tabIndex: tabIndex
50
+ }), children);
51
+ });
52
+ export default TabPane;
@@ -0,0 +1,75 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ /**
3
+ * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+
7
+ import { useControlledState, useId } from '@clayui/shared';
8
+ import React from 'react';
9
+ import Content from "./Content.js";
10
+ import Item from "./Item.js";
11
+ import { List } from "./List.js";
12
+ import TabPane from "./TabPane.js";
13
+ function Tabs(_ref) {
14
+ let {
15
+ activation = 'manual',
16
+ active: externalActive,
17
+ children,
18
+ className,
19
+ defaultActive = 0,
20
+ displayType,
21
+ fade = false,
22
+ justified,
23
+ modern = false,
24
+ onActiveChange,
25
+ ...otherProps
26
+ } = _ref;
27
+ const [active, setActive, isUncontrolled] = useControlledState({
28
+ defaultName: 'defaultActive',
29
+ defaultValue: defaultActive,
30
+ handleName: 'onActiveChange',
31
+ name: 'active',
32
+ onChange: onActiveChange,
33
+ value: externalActive
34
+ });
35
+ const [left, right] = React.Children.toArray(children);
36
+ const tabsId = useId();
37
+
38
+ // @ts-ignore
39
+ if (left?.type?.displayName === 'ClayTabsList') {
40
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.cloneElement(left, {
41
+ activation,
42
+ active,
43
+ displayType,
44
+ justified,
45
+ modern,
46
+ onActiveChange: setActive,
47
+ shouldUseActive: isUncontrolled,
48
+ tabsId
49
+ }), /*#__PURE__*/React.isValidElement(right) && /*#__PURE__*/React.cloneElement(right, {
50
+ active,
51
+ fade,
52
+ tabsId
53
+ }));
54
+ }
55
+ return /*#__PURE__*/React.createElement(List, _extends({}, otherProps, {
56
+ activation: activation,
57
+ active: active,
58
+ className: className,
59
+ displayType: displayType,
60
+ justified: justified,
61
+ modern: modern,
62
+ onActiveChange: setActive
63
+ }), children);
64
+ }
65
+
66
+ /**
67
+ * @deprecated since v3.78.2 - Use new composition with Tabs.List and Tabs.Panels.
68
+ */
69
+ Tabs.Content = Content;
70
+ Tabs.Panels = Content;
71
+ Tabs.Item = Item;
72
+ Tabs.List = List;
73
+ Tabs.TabPane = TabPane;
74
+ Tabs.TabPanel = TabPane;
75
+ export default Tabs;
package/package.json CHANGED
@@ -1,21 +1,24 @@
1
1
  {
2
2
  "name": "@clayui/tabs",
3
- "version": "3.142.2",
3
+ "version": "3.143.0",
4
4
  "description": "ClayTabs component",
5
5
  "license": "BSD-3-Clause",
6
6
  "repository": "https://github.com/liferay/clay",
7
- "engines": {
8
- "node": ">=0.12.0",
9
- "npm": ">=3.0.0"
7
+ "main": "lib/cjs/index.js",
8
+ "module": "lib/esm/index.js",
9
+ "exports": {
10
+ "import": "./lib/esm/index.js",
11
+ "require": "./lib/cjs/index.js"
10
12
  },
11
- "main": "lib/index.js",
12
13
  "types": "lib/index.d.ts",
13
14
  "ts:main": "src/index.tsx",
14
15
  "files": [
15
16
  "lib"
16
17
  ],
17
18
  "scripts": {
18
- "build": "cross-env NODE_ENV=production babel src --root-mode upward --out-dir lib --extensions .ts,.tsx",
19
+ "build": "yarn build:cjs && yarn build:esm",
20
+ "build:cjs": "cross-env NODE_ENV=production babel src --root-mode upward --out-dir lib/cjs --extensions .ts,.tsx",
21
+ "build:esm": "cross-env NODE_ENV=production babel src --root-mode upward --out-dir lib/esm --extensions .ts,.tsx --env-name esm",
19
22
  "buildTypes": "cross-env NODE_ENV=production tsc --project ./tsconfig.declarations.json",
20
23
  "format": "prettier --write \"**/*.{js,ts,tsx,md,mdx,json,scss}\"",
21
24
  "test": "jest --config ../../jest.config.js"
@@ -25,7 +28,7 @@
25
28
  "react"
26
29
  ],
27
30
  "dependencies": {
28
- "@clayui/shared": "^3.142.0",
31
+ "@clayui/shared": "^3.143.0",
29
32
  "classnames": "^2.2.6"
30
33
  },
31
34
  "peerDependencies": {
@@ -36,5 +39,5 @@
36
39
  "browserslist": [
37
40
  "extends browserslist-config-clay"
38
41
  ],
39
- "gitHead": "23c8fd8ea81ae12b41cca8191a47c1f69ea8d1e2"
42
+ "gitHead": "aacf20646cc7fb25c4d60e865ec77d2d503d23e9"
40
43
  }
package/lib/Content.js DELETED
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _classnames = _interopRequireDefault(require("classnames"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _excluded = ["active", "activeIndex", "children", "className", "fade", "tabsId"];
11
- /**
12
- * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
13
- * SPDX-License-Identifier: BSD-3-Clause
14
- */
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
17
- 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; }
18
- 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; }
19
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
20
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
23
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
24
- var Content = /*#__PURE__*/_react.default.forwardRef(function Content(_ref, ref) {
25
- var active = _ref.active,
26
- _ref$activeIndex = _ref.activeIndex,
27
- activeIndex = _ref$activeIndex === void 0 ? 0 : _ref$activeIndex,
28
- children = _ref.children,
29
- className = _ref.className,
30
- _ref$fade = _ref.fade,
31
- fade = _ref$fade === void 0 ? false : _ref$fade,
32
- tabsId = _ref.tabsId,
33
- otherProps = _objectWithoutProperties(_ref, _excluded);
34
- return /*#__PURE__*/_react.default.createElement("div", _extends({
35
- className: (0, _classnames.default)('tab-content', className)
36
- }, otherProps, {
37
- ref: ref
38
- }), _react.default.Children.map(children, function (child, index) {
39
- if (! /*#__PURE__*/_react.default.isValidElement(child)) {
40
- return child;
41
- }
42
- return /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
43
- active: typeof active === 'number' ? active === index : activeIndex === index,
44
- 'aria-labelledby': tabsId ? "".concat(tabsId, "-tab-").concat(index) : child.props['aria-labelledby'],
45
- fade: fade,
46
- id: tabsId ? "".concat(tabsId, "-tabpanel-").concat(index) : child.props.id,
47
- key: index
48
- }));
49
- }));
50
- });
51
- var _default = exports.default = Content;
package/lib/Item.js DELETED
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _shared = require("@clayui/shared");
8
- var _classnames = _interopRequireDefault(require("classnames"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _excluded = ["active", "children", "className", "disabled", "href", "innerProps", "onClick"];
11
- /**
12
- * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
13
- * SPDX-License-Identifier: BSD-3-Clause
14
- */
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
17
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
18
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
19
- var Item = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
20
- var _ref$active = _ref.active,
21
- active = _ref$active === void 0 ? false : _ref$active,
22
- children = _ref.children,
23
- className = _ref.className,
24
- _ref$disabled = _ref.disabled,
25
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
26
- href = _ref.href,
27
- _ref$innerProps = _ref.innerProps,
28
- innerProps = _ref$innerProps === void 0 ? {} : _ref$innerProps,
29
- onClick = _ref.onClick,
30
- otherProps = _objectWithoutProperties(_ref, _excluded);
31
- return /*#__PURE__*/_react.default.createElement("li", _extends({}, otherProps, {
32
- className: (0, _classnames.default)('nav-item', className),
33
- role: "none"
34
- }), /*#__PURE__*/_react.default.createElement(_shared.LinkOrButton, _extends({}, innerProps, {
35
- "aria-selected": active,
36
- buttonDisplayType: "unstyled",
37
- buttonType: "button",
38
- className: (0, _classnames.default)('nav-link', {
39
- active: active,
40
- disabled: disabled
41
- }),
42
- disabled: disabled,
43
- href: href,
44
- onClick: onClick,
45
- ref: ref,
46
- role: "tab",
47
- tabIndex: !active ? -1 : 0
48
- }), children));
49
- });
50
- Item.displayName = 'ClayTabsItem';
51
- var _default = exports.default = Item;
package/lib/List.js DELETED
@@ -1,98 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.List = void 0;
8
- var _shared = require("@clayui/shared");
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _excluded = ["activation", "active", "children", "className", "displayType", "justified", "modern", "onActiveChange", "shouldUseActive", "tabsId"];
12
- /**
13
- * SPDX-FileCopyrightText: © 2022 Liferay, Inc. <https://liferay.com>
14
- * SPDX-License-Identifier: BSD-3-Clause
15
- */
16
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }
18
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
20
- 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; }
21
- 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; }
22
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
23
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
24
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
26
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
27
- var List = exports.List = /*#__PURE__*/_react.default.forwardRef(function List(_ref, ref) {
28
- var activation = _ref.activation,
29
- active = _ref.active,
30
- children = _ref.children,
31
- className = _ref.className,
32
- _ref$displayType = _ref.displayType,
33
- displayType = _ref$displayType === void 0 ? null : _ref$displayType,
34
- justified = _ref.justified,
35
- __ = _ref.modern,
36
- onActiveChange = _ref.onActiveChange,
37
- _ref$shouldUseActive = _ref.shouldUseActive,
38
- shouldUseActive = _ref$shouldUseActive === void 0 ? false : _ref$shouldUseActive,
39
- tabsId = _ref.tabsId,
40
- otherProps = _objectWithoutProperties(_ref, _excluded);
41
- var tabsRef = (0, _react.useRef)(null);
42
- var _useNavigation = (0, _shared.useNavigation)({
43
- activation: activation,
44
- containerRef: tabsRef,
45
- orientation: 'horizontal'
46
- }),
47
- navigationProps = _useNavigation.navigationProps;
48
- (0, _react.useImperativeHandle)(ref, function () {
49
- return tabsRef.current;
50
- }, [tabsRef]);
51
- (0, _react.useEffect)(function () {
52
- // Internal API to maintain compatibility with the old Tabs pattern and to
53
- // only update the initial state when the component is in
54
- // uncontrolled mode.
55
- if (!shouldUseActive) {
56
- return;
57
- }
58
- var childrenArray = _react.default.Children.toArray(children);
59
-
60
- // The `active` API in the new pattern has uncontrolled behavior, working
61
- // just like defaultActive as in the prop declared in the root component.
62
- for (var index = 0; index < childrenArray.length; index++) {
63
- var child = childrenArray[index];
64
- if (/*#__PURE__*/_react.default.isValidElement(child) && child.props.active) {
65
- onActiveChange(index);
66
- break;
67
- }
68
- }
69
- }, []);
70
- return /*#__PURE__*/_react.default.createElement("ul", _extends({}, otherProps, navigationProps, {
71
- className: (0, _classnames.default)('nav nav-tabs', {
72
- 'nav-justified': justified
73
- }, _defineProperty({}, "nav-tabs-".concat(displayType), displayType === 'light'), className),
74
- ref: tabsRef,
75
- role: "tablist"
76
- }), _react.default.Children.map(children, function (child, index) {
77
- var _child$props$innerPro;
78
- if (! /*#__PURE__*/_react.default.isValidElement(child)) {
79
- return child;
80
- }
81
- return /*#__PURE__*/_react.default.cloneElement(child, {
82
- active: !shouldUseActive && child.props.active !== undefined ? child.props.active : active === index,
83
- innerProps: _objectSpread({
84
- 'aria-controls': tabsId && "".concat(tabsId, "-tabpanel-").concat(index),
85
- id: tabsId && "".concat(tabsId, "-tab-").concat(index)
86
- }, (_child$props$innerPro = child.props.innerProps) !== null && _child$props$innerPro !== void 0 ? _child$props$innerPro : {}),
87
- onClick: function onClick(event) {
88
- var onClick = child.props.onClick;
89
- if (onClick) {
90
- onClick(event);
91
- } else {
92
- onActiveChange(index);
93
- }
94
- }
95
- });
96
- }));
97
- });
98
- List.displayName = 'ClayTabsList';
package/lib/TabPane.js DELETED
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _classnames = _interopRequireDefault(require("classnames"));
8
- var _react = _interopRequireDefault(require("react"));
9
- var _excluded = ["active", "children", "className", "fade", "tabIndex"];
10
- /**
11
- * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
12
- * SPDX-License-Identifier: BSD-3-Clause
13
- */
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
16
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
17
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) { n[e] = r[e]; } return n; }
20
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) { ; } } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
22
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
23
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
24
- var delay = function delay(fn) {
25
- var val = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 150;
26
- return setTimeout(function () {
27
- fn();
28
- }, val);
29
- };
30
- var TabPane = /*#__PURE__*/_react.default.forwardRef(function TabPane(_ref, ref) {
31
- var _ref$active = _ref.active,
32
- active = _ref$active === void 0 ? false : _ref$active,
33
- children = _ref.children,
34
- className = _ref.className,
35
- fade = _ref.fade,
36
- _ref$tabIndex = _ref.tabIndex,
37
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
38
- otherProps = _objectWithoutProperties(_ref, _excluded);
39
- var _React$useState = _react.default.useState(active),
40
- _React$useState2 = _slicedToArray(_React$useState, 2),
41
- internalActive = _React$useState2[0],
42
- setInternalActive = _React$useState2[1];
43
- var _React$useState3 = _react.default.useState(active),
44
- _React$useState4 = _slicedToArray(_React$useState3, 2),
45
- internalShow = _React$useState4[0],
46
- setInternalShow = _React$useState4[1];
47
- _react.default.useEffect(function () {
48
- var delayFn = function delayFn() {
49
- setInternalActive(true);
50
- delay(function () {
51
- return setInternalShow(true);
52
- }, 50);
53
- };
54
- if (!active) {
55
- setInternalShow(false);
56
- delayFn = function delayFn() {
57
- return setInternalActive(false);
58
- };
59
- }
60
- var timer = delay(delayFn);
61
- return function () {
62
- clearTimeout(timer);
63
- setInternalShow(false);
64
- };
65
- }, [active]);
66
- return /*#__PURE__*/_react.default.createElement("div", _extends({}, otherProps, {
67
- className: (0, _classnames.default)('tab-pane', {
68
- active: internalActive,
69
- fade: fade,
70
- show: internalShow
71
- }, className),
72
- ref: ref,
73
- role: "tabpanel",
74
- tabIndex: tabIndex
75
- }), children);
76
- });
77
- var _default = exports.default = TabPane;
package/lib/index.js DELETED
@@ -1,100 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _shared = require("@clayui/shared");
8
- var _react = _interopRequireDefault(require("react"));
9
- var _Content = _interopRequireDefault(require("./Content"));
10
- var _Item = _interopRequireDefault(require("./Item"));
11
- var _List = require("./List");
12
- var _TabPane = _interopRequireDefault(require("./TabPane"));
13
- var _excluded = ["activation", "active", "children", "className", "defaultActive", "displayType", "fade", "justified", "modern", "onActiveChange"];
14
- /**
15
- * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
16
- * SPDX-License-Identifier: BSD-3-Clause
17
- */
18
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
20
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
21
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
23
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) { n[e] = r[e]; } return n; }
24
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) { ; } } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
25
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
26
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
27
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
28
- function Tabs(_ref) {
29
- var _left$type;
30
- var _ref$activation = _ref.activation,
31
- activation = _ref$activation === void 0 ? 'manual' : _ref$activation,
32
- externalActive = _ref.active,
33
- children = _ref.children,
34
- className = _ref.className,
35
- _ref$defaultActive = _ref.defaultActive,
36
- defaultActive = _ref$defaultActive === void 0 ? 0 : _ref$defaultActive,
37
- displayType = _ref.displayType,
38
- _ref$fade = _ref.fade,
39
- fade = _ref$fade === void 0 ? false : _ref$fade,
40
- justified = _ref.justified,
41
- _ref$modern = _ref.modern,
42
- modern = _ref$modern === void 0 ? false : _ref$modern,
43
- onActiveChange = _ref.onActiveChange,
44
- otherProps = _objectWithoutProperties(_ref, _excluded);
45
- var _useControlledState = (0, _shared.useControlledState)({
46
- defaultName: 'defaultActive',
47
- defaultValue: defaultActive,
48
- handleName: 'onActiveChange',
49
- name: 'active',
50
- onChange: onActiveChange,
51
- value: externalActive
52
- }),
53
- _useControlledState2 = _slicedToArray(_useControlledState, 3),
54
- active = _useControlledState2[0],
55
- setActive = _useControlledState2[1],
56
- isUncontrolled = _useControlledState2[2];
57
- var _React$Children$toArr = _react.default.Children.toArray(children),
58
- _React$Children$toArr2 = _slicedToArray(_React$Children$toArr, 2),
59
- left = _React$Children$toArr2[0],
60
- right = _React$Children$toArr2[1];
61
- var tabsId = (0, _shared.useId)();
62
-
63
- // @ts-ignore
64
- if ((left === null || left === void 0 ? void 0 : (_left$type = left.type) === null || _left$type === void 0 ? void 0 : _left$type.displayName) === 'ClayTabsList') {
65
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.cloneElement(left, {
66
- activation: activation,
67
- active: active,
68
- displayType: displayType,
69
- justified: justified,
70
- modern: modern,
71
- onActiveChange: setActive,
72
- shouldUseActive: isUncontrolled,
73
- tabsId: tabsId
74
- }), /*#__PURE__*/_react.default.isValidElement(right) && /*#__PURE__*/_react.default.cloneElement(right, {
75
- active: active,
76
- fade: fade,
77
- tabsId: tabsId
78
- }));
79
- }
80
- return /*#__PURE__*/_react.default.createElement(_List.List, _extends({}, otherProps, {
81
- activation: activation,
82
- active: active,
83
- className: className,
84
- displayType: displayType,
85
- justified: justified,
86
- modern: modern,
87
- onActiveChange: setActive
88
- }), children);
89
- }
90
-
91
- /**
92
- * @deprecated since v3.78.2 - Use new composition with Tabs.List and Tabs.Panels.
93
- */
94
- Tabs.Content = _Content.default;
95
- Tabs.Panels = _Content.default;
96
- Tabs.Item = _Item.default;
97
- Tabs.List = _List.List;
98
- Tabs.TabPane = _TabPane.default;
99
- Tabs.TabPanel = _TabPane.default;
100
- var _default = exports.default = Tabs;