react-tab-set 1.1.440 → 1.1.441
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/README.md +2 -2
- package/{babel.config.js → babel.config.cjs} +0 -2
- package/index.mjs +1 -0
- package/package.json +34 -26
- package/src/.babelrc +1 -22
- package/src/index.d.mts +49 -0
- package/src/index.mjs +1 -0
- package/src/tab-set/index.cjs +11 -0
- package/src/tab-set/index.jsx +107 -0
- package/src/tab-set/is-tab-group.mjs +5 -0
- package/src/tab-set/is-tab-panel.mjs +5 -0
- package/src/tab-set/tab-group/index.cjs +11 -0
- package/src/tab-set/tab-group/index.jsx +79 -0
- package/src/tab-set/tab-group/is-tab.mjs +5 -0
- package/src/tab-set/tab-group/tab/index.cjs +11 -0
- package/src/tab-set/tab-group/tab/index.jsx +43 -0
- package/src/tab-set/tab-panel/index.cjs +11 -0
- package/src/tab-set/tab-panel/index.jsx +43 -0
- package/index.js +0 -2
- package/lib/index.js +0 -1
- package/lib/tab-set/index.js +0 -1
- package/lib/tab-set/is-tab-group.js +0 -1
- package/lib/tab-set/is-tab-panel.js +0 -1
- package/lib/tab-set/tab-group/index.js +0 -1
- package/lib/tab-set/tab-group/is-tab.js +0 -1
- package/lib/tab-set/tab-group/tab/index.js +0 -1
- package/lib/tab-set/tab-panel/index.js +0 -1
- package/src/index.ts +0 -23
- package/src/tab-set/index.tsx +0 -107
- package/src/tab-set/is-tab-group.ts +0 -5
- package/src/tab-set/is-tab-panel.ts +0 -5
- package/src/tab-set/tab-group/index.tsx +0 -92
- package/src/tab-set/tab-group/is-tab.ts +0 -5
- package/src/tab-set/tab-group/tab/index.tsx +0 -57
- package/src/tab-set/tab-panel/index.tsx +0 -63
- package/tsconfig.json +0 -27
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@ Content can be declared either as children or as the return of a function assign
|
|
|
47
47
|
|
|
48
48
|
If your component extends `PureComponent` or is presentational, you might prefer to declare content as children.
|
|
49
49
|
|
|
50
|
-
Otherwise, you
|
|
50
|
+
Otherwise, you can assign a function to the `render` prop, so that rendering is deferred until the tab is selected.
|
|
51
51
|
|
|
52
52
|
### Content as children
|
|
53
53
|
|
|
@@ -99,7 +99,7 @@ Similarly, they can be declared in any combination.
|
|
|
99
99
|
|
|
100
100
|
## Demonstrating _react-tab-set_
|
|
101
101
|
|
|
102
|
-
[Example `Storybooks` are available
|
|
102
|
+
[Example `Storybooks` are available](https://github.com/sequencemedia/react-tab-set).
|
|
103
103
|
|
|
104
104
|
Clone the repository, then:
|
|
105
105
|
|
package/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/index.cjs'
|
package/package.json
CHANGED
|
@@ -1,63 +1,71 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-tab-set",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.441",
|
|
4
4
|
"description": "A React Tab Set component",
|
|
5
|
-
"main": "./index.
|
|
5
|
+
"main": "./src/index.mjs",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"types": "./src/index.d.mts",
|
|
6
8
|
"author": {
|
|
7
9
|
"name": "Jonathan Perry for Sequence Media Limited",
|
|
8
10
|
"email": "sequencemedia@sequencemedia.net",
|
|
9
11
|
"url": "http://www.sequencemedia.net"
|
|
10
12
|
},
|
|
11
13
|
"license": "MIT",
|
|
14
|
+
"engines": {
|
|
15
|
+
"node": ">=18.17.0"
|
|
16
|
+
},
|
|
12
17
|
"repository": {
|
|
13
18
|
"type": "git",
|
|
14
19
|
"url": "git://github.com/sequencemedia/react-tab-set.git"
|
|
15
20
|
},
|
|
16
21
|
"scripts": {
|
|
17
|
-
"
|
|
18
|
-
"prebuild": "npm run clean",
|
|
19
|
-
"build": "npm run babel",
|
|
20
|
-
"build:watch": "npm run babel:watch",
|
|
21
|
-
"babel": "babel src -d lib --extensions .ts,.tsx",
|
|
22
|
-
"babel:watch": "npm run babel -- -w",
|
|
23
|
-
"clean": "rimraf lib",
|
|
24
|
-
"lint": "eslint .",
|
|
22
|
+
"lint": "eslint . --ext .mjs,.cjs,.jsx,.mts,.cts",
|
|
25
23
|
"lint:fix": "npm run lint -- --fix",
|
|
26
|
-
"prepare": "husky install"
|
|
24
|
+
"prepare": "husky install",
|
|
25
|
+
"storybook": "storybook dev -p 6006",
|
|
26
|
+
"build-storybook": "storybook build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
+
"debug": "^4.3.4",
|
|
29
30
|
"uuid": "^9.0.1"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
|
-
"@babel/cli": "^7.22.15",
|
|
33
33
|
"@babel/core": "^7.22.20",
|
|
34
34
|
"@babel/eslint-parser": "^7.22.15",
|
|
35
|
-
"@babel/plugin-
|
|
36
|
-
"@babel/plugin-proposal-export-default-from": "^7.22.17",
|
|
37
|
-
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
|
38
|
-
"@babel/plugin-transform-typescript": "^7.22.15",
|
|
35
|
+
"@babel/plugin-syntax-jsx": "^7.22.5",
|
|
39
36
|
"@babel/preset-env": "^7.22.20",
|
|
40
37
|
"@babel/preset-react": "^7.22.15",
|
|
41
|
-
"@babel/preset-typescript": "^7.22.15",
|
|
42
38
|
"@babel/register": "^7.22.15",
|
|
43
39
|
"@sequencemedia/hooks": "^1.0.453",
|
|
40
|
+
"@storybook/addon-essentials": "^7.4.3",
|
|
41
|
+
"@storybook/addon-links": "^7.4.4",
|
|
42
|
+
"@storybook/react": "^7.4.4",
|
|
43
|
+
"@storybook/react-webpack5": "^7.4.4",
|
|
44
|
+
"@types/debug": "^4.1.9",
|
|
44
45
|
"@types/react": "^18.2.22",
|
|
45
46
|
"@types/uuid": "^9.0.4",
|
|
46
|
-
"@typescript-eslint/eslint-plugin": "
|
|
47
|
-
"@typescript-eslint/parser": "
|
|
48
|
-
"babel-plugin-module-resolver": "^5.0.0",
|
|
47
|
+
"@typescript-eslint/eslint-plugin": "^6.7.2",
|
|
48
|
+
"@typescript-eslint/parser": "^6.7.2",
|
|
49
49
|
"core-js": "^3.32.2",
|
|
50
50
|
"cross-env": "^7.0.3",
|
|
51
51
|
"eslint": "^8.49.0",
|
|
52
52
|
"eslint-config-standard": "^17.1.0",
|
|
53
|
-
"eslint-config-standard-with-typescript": "
|
|
54
|
-
"eslint-import-resolver-babel-module": "^5.3.2",
|
|
53
|
+
"eslint-config-standard-with-typescript": "^39.0.0",
|
|
55
54
|
"eslint-plugin-react": "^7.33.2",
|
|
55
|
+
"eslint-plugin-storybook": "^0.6.14",
|
|
56
56
|
"husky": "^8.0.3",
|
|
57
57
|
"prop-types": "15.7.2",
|
|
58
|
-
"react": "
|
|
59
|
-
"react-dom": "
|
|
60
|
-
"
|
|
61
|
-
|
|
58
|
+
"react": "latest",
|
|
59
|
+
"react-dom": "latest",
|
|
60
|
+
"storybook": "^7.4.4"
|
|
61
|
+
},
|
|
62
|
+
"exports": {
|
|
63
|
+
".": "./src/index.mjs",
|
|
64
|
+
"./tab-set/is-tab-group": "./src/tab-set/is-tab-group.mjs",
|
|
65
|
+
"./tab-set/is-tab-panel": "./src/tab-set/is-tab-panel.mjs",
|
|
66
|
+
"./tab-set/tab-group": "./src/tab-set/tab-group/index.cjs",
|
|
67
|
+
"./tab-set/tab-group/tab": "./src/tab-set/tab-group/tab/index.cjs",
|
|
68
|
+
"./tab-set/tab-panel": "./src/tab-set/tab-panel/index.cjs",
|
|
69
|
+
"./tab-set": "./src/tab-set/index.cjs"
|
|
62
70
|
}
|
|
63
71
|
}
|
package/src/.babelrc
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"presets": [
|
|
3
|
-
"@babel/typescript",
|
|
4
3
|
[
|
|
5
4
|
"@babel/env",
|
|
6
5
|
{
|
|
@@ -21,26 +20,6 @@
|
|
|
21
20
|
"@babel/react"
|
|
22
21
|
],
|
|
23
22
|
"plugins": [
|
|
24
|
-
"@babel/
|
|
25
|
-
"@babel/proposal-export-default-from",
|
|
26
|
-
"@babel/proposal-export-namespace-from",
|
|
27
|
-
[
|
|
28
|
-
"@babel/proposal-class-properties",
|
|
29
|
-
{
|
|
30
|
-
"loose": false
|
|
31
|
-
}
|
|
32
|
-
],
|
|
33
|
-
[
|
|
34
|
-
"module-resolver",
|
|
35
|
-
{
|
|
36
|
-
"root": [
|
|
37
|
-
".."
|
|
38
|
-
],
|
|
39
|
-
"cwd": "babelrc",
|
|
40
|
-
"alias": {
|
|
41
|
-
"react-tab-set": "."
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
]
|
|
23
|
+
"@babel/syntax-jsx"
|
|
45
24
|
]
|
|
46
25
|
}
|
package/src/index.d.mts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
declare module 'react-tab-set' {
|
|
2
|
+
import type React from 'react'
|
|
3
|
+
|
|
4
|
+
import type {
|
|
5
|
+
JSX
|
|
6
|
+
} from 'react'
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
Component
|
|
10
|
+
} from 'react'
|
|
11
|
+
|
|
12
|
+
export interface TabSetProps {
|
|
13
|
+
children: JSX.Element | JSX.Element[]
|
|
14
|
+
selectedTab: string
|
|
15
|
+
onChange: (selectedTab: string) => void
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface TabGroupProps {
|
|
19
|
+
children: JSX.Element | JSX.Element[]
|
|
20
|
+
selectedTab: string
|
|
21
|
+
onTabSelect: (value: React.SetStateAction<string>) => void
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface TabProps {
|
|
25
|
+
children: JSX.Element | JSX.Element[] | string | number | boolean
|
|
26
|
+
tab: string
|
|
27
|
+
selectedTab: string
|
|
28
|
+
onTabSelect: (value: React.SetStateAction<string>) => void
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface TabPanelProps {
|
|
32
|
+
children?: JSX.Element | JSX.Element[] | string | number | boolean | undefined | null
|
|
33
|
+
tab: string
|
|
34
|
+
selectedTab: string
|
|
35
|
+
render?: () => JSX.Element | JSX.Element[] | string | number | boolean | undefined | null
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function isTabGroup (component: any): component is TabGroup
|
|
39
|
+
export function isTab (component: any): component is Tab
|
|
40
|
+
export function isTabPanel (component: any): component is TabPanel
|
|
41
|
+
|
|
42
|
+
class TabSet extends Component<TabSetProps> {}
|
|
43
|
+
|
|
44
|
+
export class TabGroup extends Component<TabGroupProps> {}
|
|
45
|
+
export class Tab extends Component<TabProps> {}
|
|
46
|
+
export class TabPanel extends Component<TabPanelProps> {}
|
|
47
|
+
|
|
48
|
+
export default TabSet
|
|
49
|
+
}
|
package/src/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './tab-set/index.cjs'
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
Children,
|
|
3
|
+
cloneElement,
|
|
4
|
+
useState,
|
|
5
|
+
useEffect
|
|
6
|
+
} from 'react'
|
|
7
|
+
import PropTypes from 'prop-types'
|
|
8
|
+
import {
|
|
9
|
+
v4
|
|
10
|
+
} from 'uuid'
|
|
11
|
+
import debug from 'debug'
|
|
12
|
+
|
|
13
|
+
import isTabPanel from './is-tab-panel.mjs'
|
|
14
|
+
import isTabGroup from './is-tab-group.mjs'
|
|
15
|
+
|
|
16
|
+
const error = debug('react-tab-set/tab-set')
|
|
17
|
+
|
|
18
|
+
function mapChildren (
|
|
19
|
+
children,
|
|
20
|
+
selectedTab,
|
|
21
|
+
onTabSelect
|
|
22
|
+
) {
|
|
23
|
+
return Children.map(children, (child) => {
|
|
24
|
+
const { type } = child
|
|
25
|
+
|
|
26
|
+
if (type) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
27
|
+
const { props } = child
|
|
28
|
+
|
|
29
|
+
if (isTabGroup(type)) {
|
|
30
|
+
return cloneElement(
|
|
31
|
+
child,
|
|
32
|
+
{
|
|
33
|
+
...props,
|
|
34
|
+
selectedTab,
|
|
35
|
+
onTabSelect
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (isTabPanel(type)) {
|
|
41
|
+
return cloneElement(
|
|
42
|
+
child,
|
|
43
|
+
{
|
|
44
|
+
...props,
|
|
45
|
+
selectedTab
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const {
|
|
51
|
+
children
|
|
52
|
+
} = props
|
|
53
|
+
|
|
54
|
+
if (children) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
55
|
+
return cloneElement(
|
|
56
|
+
child,
|
|
57
|
+
{
|
|
58
|
+
...props,
|
|
59
|
+
children: mapChildren(children, selectedTab, onTabSelect)
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return child
|
|
66
|
+
})
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export default function TabSet (props) {
|
|
70
|
+
const {
|
|
71
|
+
children,
|
|
72
|
+
selectedTab: tab
|
|
73
|
+
} = props
|
|
74
|
+
|
|
75
|
+
const [selectedTab, setSelectedTab] = useState(tab)
|
|
76
|
+
|
|
77
|
+
useEffect(() => { setSelectedTab(tab) }, [tab])
|
|
78
|
+
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
const { onChange } = props
|
|
81
|
+
|
|
82
|
+
try {
|
|
83
|
+
onChange(selectedTab)
|
|
84
|
+
} catch {
|
|
85
|
+
error('Error `onChange`')
|
|
86
|
+
}
|
|
87
|
+
}, [selectedTab])
|
|
88
|
+
|
|
89
|
+
return (
|
|
90
|
+
<div className='tab-set'>
|
|
91
|
+
{mapChildren(children, selectedTab, setSelectedTab)}
|
|
92
|
+
</div>
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
TabSet.propTypes = {
|
|
97
|
+
children: PropTypes.oneOfType([
|
|
98
|
+
PropTypes.node,
|
|
99
|
+
PropTypes.arrayOf(PropTypes.node)
|
|
100
|
+
]).isRequired,
|
|
101
|
+
selectedTab: PropTypes.string,
|
|
102
|
+
onChange: PropTypes.func
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
TabSet.defaultProps = {
|
|
106
|
+
selectedTab: v4()
|
|
107
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
Children,
|
|
3
|
+
cloneElement
|
|
4
|
+
} from 'react'
|
|
5
|
+
import PropTypes from 'prop-types'
|
|
6
|
+
import {
|
|
7
|
+
v4
|
|
8
|
+
} from 'uuid'
|
|
9
|
+
|
|
10
|
+
import isTab from './is-tab.mjs'
|
|
11
|
+
|
|
12
|
+
function mapChildren (
|
|
13
|
+
children,
|
|
14
|
+
selectedTab,
|
|
15
|
+
onTabSelect
|
|
16
|
+
) {
|
|
17
|
+
return Children.map(children, (child) => {
|
|
18
|
+
const { type } = child
|
|
19
|
+
|
|
20
|
+
if (type) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
21
|
+
const { props } = child
|
|
22
|
+
|
|
23
|
+
if (isTab(type)) {
|
|
24
|
+
return cloneElement(
|
|
25
|
+
child,
|
|
26
|
+
{
|
|
27
|
+
...props,
|
|
28
|
+
selectedTab,
|
|
29
|
+
onTabSelect
|
|
30
|
+
}
|
|
31
|
+
)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const {
|
|
35
|
+
children
|
|
36
|
+
} = props
|
|
37
|
+
|
|
38
|
+
if (children) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
39
|
+
return cloneElement(
|
|
40
|
+
child,
|
|
41
|
+
{
|
|
42
|
+
...props,
|
|
43
|
+
children: mapChildren(children, selectedTab, onTabSelect)
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return child
|
|
50
|
+
})
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default function TabGroup (props) {
|
|
54
|
+
const {
|
|
55
|
+
children,
|
|
56
|
+
selectedTab,
|
|
57
|
+
onTabSelect
|
|
58
|
+
} = props
|
|
59
|
+
|
|
60
|
+
return (
|
|
61
|
+
<ul className='tab-group'>
|
|
62
|
+
{mapChildren(children, selectedTab, onTabSelect)}
|
|
63
|
+
</ul>
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
TabGroup.propTypes = {
|
|
68
|
+
children: PropTypes.oneOfType([
|
|
69
|
+
PropTypes.node,
|
|
70
|
+
PropTypes.arrayOf(PropTypes.node)
|
|
71
|
+
]).isRequired,
|
|
72
|
+
selectedTab: PropTypes.string,
|
|
73
|
+
onTabSelect: PropTypes.func
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
TabGroup.defaultProps = {
|
|
77
|
+
selectedTab: v4(),
|
|
78
|
+
onTabSelect () { }
|
|
79
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import PropTypes from 'prop-types'
|
|
3
|
+
import {
|
|
4
|
+
v4
|
|
5
|
+
} from 'uuid'
|
|
6
|
+
|
|
7
|
+
export default function Tab (props) {
|
|
8
|
+
const {
|
|
9
|
+
children,
|
|
10
|
+
tab,
|
|
11
|
+
selectedTab,
|
|
12
|
+
onTabSelect
|
|
13
|
+
} = props
|
|
14
|
+
|
|
15
|
+
const className = (tab === selectedTab)
|
|
16
|
+
? 'tab selected'
|
|
17
|
+
: 'tab'
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<li
|
|
21
|
+
className={className}
|
|
22
|
+
onClick={() => {
|
|
23
|
+
onTabSelect(tab)
|
|
24
|
+
}}>
|
|
25
|
+
{children}
|
|
26
|
+
</li>
|
|
27
|
+
)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
Tab.propTypes = {
|
|
31
|
+
children: PropTypes.oneOfType([
|
|
32
|
+
PropTypes.node,
|
|
33
|
+
PropTypes.arrayOf(PropTypes.node)
|
|
34
|
+
]).isRequired,
|
|
35
|
+
tab: PropTypes.string.isRequired,
|
|
36
|
+
selectedTab: PropTypes.string,
|
|
37
|
+
onTabSelect: PropTypes.func
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
Tab.defaultProps = {
|
|
41
|
+
selectedTab: v4(),
|
|
42
|
+
onTabSelect () { }
|
|
43
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import PropTypes from 'prop-types'
|
|
3
|
+
import {
|
|
4
|
+
v4
|
|
5
|
+
} from 'uuid'
|
|
6
|
+
|
|
7
|
+
export default function TabPanel (props) {
|
|
8
|
+
const {
|
|
9
|
+
tab,
|
|
10
|
+
selectedTab
|
|
11
|
+
} = props
|
|
12
|
+
|
|
13
|
+
if (tab === selectedTab) {
|
|
14
|
+
const {
|
|
15
|
+
render = () => null,
|
|
16
|
+
children = render()
|
|
17
|
+
} = props
|
|
18
|
+
|
|
19
|
+
if (children) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
20
|
+
return (
|
|
21
|
+
<div className='tab-panel'>
|
|
22
|
+
{children}
|
|
23
|
+
</div>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return null
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
TabPanel.propTypes = {
|
|
32
|
+
children: PropTypes.oneOfType([
|
|
33
|
+
PropTypes.node,
|
|
34
|
+
PropTypes.arrayOf(PropTypes.node)
|
|
35
|
+
]),
|
|
36
|
+
tab: PropTypes.string.isRequired,
|
|
37
|
+
selectedTab: PropTypes.string,
|
|
38
|
+
render: PropTypes.func
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
TabPanel.defaultProps = {
|
|
42
|
+
selectedTab: v4()
|
|
43
|
+
}
|
package/index.js
DELETED
package/lib/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Tab",{enumerable:true,get:function get(){return _tab["default"];}});Object.defineProperty(exports,"TabGroup",{enumerable:true,get:function get(){return _tabGroup["default"];}});Object.defineProperty(exports,"TabPanel",{enumerable:true,get:function get(){return _tabPanel["default"];}});exports["default"]=void 0;Object.defineProperty(exports,"isTab",{enumerable:true,get:function get(){return _isTab["default"];}});Object.defineProperty(exports,"isTabGroup",{enumerable:true,get:function get(){return _isTabGroup["default"];}});Object.defineProperty(exports,"isTabPanel",{enumerable:true,get:function get(){return _isTabPanel["default"];}});var _isTabGroup=_interopRequireDefault(require("./tab-set/is-tab-group"));var _isTab=_interopRequireDefault(require("./tab-set/tab-group/is-tab"));var _isTabPanel=_interopRequireDefault(require("./tab-set/is-tab-panel"));var _tabGroup=_interopRequireDefault(require("./tab-set/tab-group"));var _tab=_interopRequireDefault(require("./tab-set/tab-group/tab"));var _tabPanel=_interopRequireDefault(require("./tab-set/tab-panel"));var _tabSet=_interopRequireDefault(require("./tab-set"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var _default=_tabSet["default"];exports["default"]=_default;
|
package/lib/tab-set/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");require("core-js/modules/es.object.set-prototype-of.js");require("core-js/modules/es.function.bind.js");require("core-js/modules/es.object.get-prototype-of.js");require("core-js/modules/es.reflect.construct.js");require("core-js/modules/es.object.create.js");require("core-js/modules/es.object.keys.js");require("core-js/modules/es.array.filter.js");require("core-js/modules/es.object.get-own-property-descriptor.js");require("core-js/modules/es.array.for-each.js");require("core-js/modules/web.dom-collections.for-each.js");require("core-js/modules/es.object.get-own-property-descriptors.js");require("core-js/modules/es.object.define-properties.js");require("core-js/modules/es.symbol.iterator.js");require("core-js/modules/es.array.iterator.js");require("core-js/modules/es.string.iterator.js");require("core-js/modules/web.dom-collections.iterator.js");require("core-js/modules/es.weak-map.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;require("core-js/modules/es.array.concat.js");require("core-js/modules/es.array.map.js");require("core-js/modules/es.symbol.to-primitive.js");require("core-js/modules/es.date.to-primitive.js");require("core-js/modules/es.symbol.js");require("core-js/modules/es.symbol.description.js");require("core-js/modules/es.object.to-string.js");require("core-js/modules/es.number.constructor.js");var _react=_interopRequireWildcard(require("react"));var _uuid=require("uuid");var _isTabPanel=_interopRequireDefault(require("./is-tab-panel"));var _isTabGroup=_interopRequireDefault(require("./is-tab-group"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}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);}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;}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;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return _typeof(key)==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(_typeof(input)!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(_typeof(res)!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var TabSet=function(_Component){_inherits(TabSet,_Component);var _super=_createSuper(TabSet);function TabSet(){var _this;_classCallCheck(this,TabSet);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"handleTabSelect",function(selectedTab){if(selectedTab!==_this.props.selectedTab){var onChange=_this.props.onChange;_this.setState({selectedTab:selectedTab});onChange(selectedTab);}});return _this;}_createClass(TabSet,[{key:"shouldComponentUpdate",value:function shouldComponentUpdate(props){return props.children!==this.props.children||props.selectedTab!==this.props.selectedTab;}},{key:"mapChildren",value:function mapChildren(children,selectedTab){var _this2=this;return _react.Children.map(children,function(child){var type=child.type;if(type){var props=child.props;if((0,_isTabGroup["default"])(type)){return(0,_react.cloneElement)(child,_objectSpread(_objectSpread({},props),{},{selectedTab:selectedTab,onTabSelect:_this2.handleTabSelect}));}if((0,_isTabPanel["default"])(type)){return(0,_react.cloneElement)(child,_objectSpread(_objectSpread({},props),{},{selectedTab:selectedTab}));}var _children=props.children;if(_children){return(0,_react.cloneElement)(child,_objectSpread(_objectSpread({},props),{},{children:_this2.mapChildren(_children,selectedTab)}));}}return child;});}},{key:"getChildren",value:function getChildren(){var _this$props=this.props,children=_this$props.children,selectedTab=_this$props.selectedTab;return this.mapChildren(children,selectedTab);}},{key:"render",value:function render(){return _react["default"].createElement("div",{className:"tab-set"},this.getChildren());}}]);return TabSet;}(_react.Component);exports["default"]=TabSet;_defineProperty(TabSet,"defaultProps",{onChange:function onChange(){},selectedTab:(0,_uuid.v4)(),children:[]});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _tabGroup=_interopRequireDefault(require("./tab-group"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var isTabGroup=function isTabGroup(c){return c===_tabGroup["default"];};var _default=isTabGroup;exports["default"]=_default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _tabPanel=_interopRequireDefault(require("./tab-panel"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var isTabPanel=function isTabPanel(c){return c===_tabPanel["default"];};var _default=isTabPanel;exports["default"]=_default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");require("core-js/modules/es.object.set-prototype-of.js");require("core-js/modules/es.function.bind.js");require("core-js/modules/es.object.get-prototype-of.js");require("core-js/modules/es.reflect.construct.js");require("core-js/modules/es.object.create.js");require("core-js/modules/es.object.keys.js");require("core-js/modules/es.array.filter.js");require("core-js/modules/es.object.get-own-property-descriptor.js");require("core-js/modules/es.array.for-each.js");require("core-js/modules/web.dom-collections.for-each.js");require("core-js/modules/es.object.get-own-property-descriptors.js");require("core-js/modules/es.object.define-properties.js");require("core-js/modules/es.symbol.iterator.js");require("core-js/modules/es.array.iterator.js");require("core-js/modules/es.string.iterator.js");require("core-js/modules/web.dom-collections.iterator.js");require("core-js/modules/es.weak-map.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;require("core-js/modules/es.array.concat.js");require("core-js/modules/es.array.map.js");require("core-js/modules/es.symbol.to-primitive.js");require("core-js/modules/es.date.to-primitive.js");require("core-js/modules/es.symbol.js");require("core-js/modules/es.symbol.description.js");require("core-js/modules/es.object.to-string.js");require("core-js/modules/es.number.constructor.js");var _react=_interopRequireWildcard(require("react"));var _uuid=require("uuid");var _isTab=_interopRequireDefault(require("./is-tab"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}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);}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;}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;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return _typeof(key)==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(_typeof(input)!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(_typeof(res)!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var TabGroup=function(_Component){_inherits(TabGroup,_Component);var _super=_createSuper(TabGroup);function TabGroup(){var _this;_classCallCheck(this,TabGroup);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"handleTabClick",function(tab){var onTabSelect=_this.props.onTabSelect;onTabSelect(tab);});return _this;}_createClass(TabGroup,[{key:"shouldComponentUpdate",value:function shouldComponentUpdate(props){return props.children!==this.props.children||props.selectedTab!==this.props.selectedTab;}},{key:"mapChildren",value:function mapChildren(children,selectedTab){var _this2=this;return _react.Children.map(children,function(child){var type=child.type;if(type){var props=child.props;if((0,_isTab["default"])(type)){return(0,_react.cloneElement)(child,_objectSpread(_objectSpread({},props),{},{selectedTab:selectedTab,onTabClick:_this2.handleTabClick}));}var _children=props.children;if(_children){return(0,_react.cloneElement)(child,_objectSpread(_objectSpread({},props),{},{children:_this2.mapChildren(_children,selectedTab)}));}}return child;});}},{key:"getChildren",value:function getChildren(){var _this$props=this.props,children=_this$props.children,selectedTab=_this$props.selectedTab;return this.mapChildren(children,selectedTab);}},{key:"render",value:function render(){return _react["default"].createElement("ul",{className:"tab-group"},this.getChildren());}}]);return TabGroup;}(_react.Component);exports["default"]=TabGroup;_defineProperty(TabGroup,"defaultProps",{onTabSelect:function onTabSelect(){},selectedTab:(0,_uuid.v4)(),children:[]});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _tab=_interopRequireDefault(require("./tab"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var isTab=function isTab(c){return c===_tab["default"];};var _default=isTab;exports["default"]=_default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");require("core-js/modules/es.object.set-prototype-of.js");require("core-js/modules/es.function.bind.js");require("core-js/modules/es.object.get-prototype-of.js");require("core-js/modules/es.reflect.construct.js");require("core-js/modules/es.object.create.js");require("core-js/modules/es.symbol.iterator.js");require("core-js/modules/es.array.iterator.js");require("core-js/modules/es.string.iterator.js");require("core-js/modules/web.dom-collections.iterator.js");require("core-js/modules/es.weak-map.js");require("core-js/modules/es.object.get-own-property-descriptor.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;require("core-js/modules/es.array.concat.js");require("core-js/modules/es.symbol.to-primitive.js");require("core-js/modules/es.date.to-primitive.js");require("core-js/modules/es.symbol.js");require("core-js/modules/es.symbol.description.js");require("core-js/modules/es.object.to-string.js");require("core-js/modules/es.number.constructor.js");var _react=_interopRequireWildcard(require("react"));var _uuid=require("uuid");function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}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);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return _typeof(key)==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(_typeof(input)!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(_typeof(res)!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var Tab=function(_Component){_inherits(Tab,_Component);var _super=_createSuper(Tab);function Tab(){var _this;_classCallCheck(this,Tab);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"handleClick",function(){var _this$props=_this.props,tab=_this$props.tab,onTabClick=_this$props.onTabClick;onTabClick(tab);});return _this;}_createClass(Tab,[{key:"shouldComponentUpdate",value:function shouldComponentUpdate(props){return props.children!==this.props.children||props.tab!==this.props.tab||props.selectedTab!==this.props.selectedTab;}},{key:"render",value:function render(){var _this$props2=this.props,tab=_this$props2.tab,selectedTab=_this$props2.selectedTab,children=_this$props2.children;var className=tab===selectedTab?'tab selected':'tab';return _react["default"].createElement("li",{className:className,onClick:this.handleClick},children);}}]);return Tab;}(_react.Component);exports["default"]=Tab;_defineProperty(Tab,"defaultProps",{onTabClick:function onTabClick(){},tab:(0,_uuid.v4)(),selectedTab:(0,_uuid.v4)(),children:[]});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");require("core-js/modules/es.object.set-prototype-of.js");require("core-js/modules/es.function.bind.js");require("core-js/modules/es.object.get-prototype-of.js");require("core-js/modules/es.reflect.construct.js");require("core-js/modules/es.object.create.js");require("core-js/modules/es.symbol.iterator.js");require("core-js/modules/es.array.iterator.js");require("core-js/modules/es.string.iterator.js");require("core-js/modules/web.dom-collections.iterator.js");require("core-js/modules/es.weak-map.js");require("core-js/modules/es.object.get-own-property-descriptor.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;require("core-js/modules/es.symbol.to-primitive.js");require("core-js/modules/es.date.to-primitive.js");require("core-js/modules/es.symbol.js");require("core-js/modules/es.symbol.description.js");require("core-js/modules/es.object.to-string.js");require("core-js/modules/es.number.constructor.js");var _react=_interopRequireWildcard(require("react"));var _uuid=require("uuid");function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}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);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return _typeof(key)==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(_typeof(input)!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(_typeof(res)!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var TabPanel=function(_Component){_inherits(TabPanel,_Component);var _super=_createSuper(TabPanel);function TabPanel(){_classCallCheck(this,TabPanel);return _super.apply(this,arguments);}_createClass(TabPanel,[{key:"shouldComponentUpdate",value:function shouldComponentUpdate(props){if(props.render instanceof Function)return true;return props.children!==this.props.children||props.tab!==this.props.tab||props.selectedTab!==this.props.selectedTab;}},{key:"renderPanel",value:function renderPanel(){var _this$props=this.props,_this$props$render=_this$props.render,render=_this$props$render===void 0?function(){return null;}:_this$props$render,_this$props$children=_this$props.children,children=_this$props$children===void 0?render():_this$props$children;if(children){return _react["default"].createElement("div",{className:"tab-panel"},children);}return null;}},{key:"render",value:function render(){var _this$props2=this.props,tab=_this$props2.tab,selectedTab=_this$props2.selectedTab;if(tab===selectedTab){return this.renderPanel();}return null;}}]);return TabPanel;}(_react.Component);exports["default"]=TabPanel;_defineProperty(TabPanel,"defaultProps",{tab:(0,_uuid.v4)(),selectedTab:(0,_uuid.v4)()});
|
package/src/index.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import isTabGroup from './tab-set/is-tab-group'
|
|
2
|
-
import isTab from './tab-set/tab-group/is-tab'
|
|
3
|
-
import isTabPanel from './tab-set/is-tab-panel'
|
|
4
|
-
|
|
5
|
-
import TabGroup from './tab-set/tab-group'
|
|
6
|
-
import Tab from './tab-set/tab-group/tab'
|
|
7
|
-
import TabPanel from './tab-set/tab-panel'
|
|
8
|
-
|
|
9
|
-
import TabSet from './tab-set'
|
|
10
|
-
|
|
11
|
-
export {
|
|
12
|
-
isTabGroup,
|
|
13
|
-
isTab,
|
|
14
|
-
isTabPanel
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export {
|
|
18
|
-
TabGroup,
|
|
19
|
-
Tab,
|
|
20
|
-
TabPanel
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export default TabSet
|
package/src/tab-set/index.tsx
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import React, { Component, Children, cloneElement } from 'react'
|
|
2
|
-
import {
|
|
3
|
-
v4
|
|
4
|
-
} from 'uuid'
|
|
5
|
-
|
|
6
|
-
import isTabPanel from './is-tab-panel'
|
|
7
|
-
import isTabGroup from './is-tab-group'
|
|
8
|
-
|
|
9
|
-
export interface TabSetProps {
|
|
10
|
-
onChange: (selectedTab: string) => void
|
|
11
|
-
selectedTab: string
|
|
12
|
-
children: JSX.Element | JSX.Element[]
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export default class TabSet extends Component<TabSetProps> {
|
|
16
|
-
/*
|
|
17
|
-
* The selected tab default does not have to be a uuid, but a uuid
|
|
18
|
-
* reduces the likelihood that this default has the same value as
|
|
19
|
-
* an implemented tab
|
|
20
|
-
*/
|
|
21
|
-
static defaultProps = {
|
|
22
|
-
onChange: () => {},
|
|
23
|
-
selectedTab: v4(),
|
|
24
|
-
children: []
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
shouldComponentUpdate (props: TabSetProps): boolean {
|
|
28
|
-
return (
|
|
29
|
-
props.children !== this.props.children ||
|
|
30
|
-
props.selectedTab !== this.props.selectedTab
|
|
31
|
-
)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
handleTabSelect = (selectedTab: string): void => {
|
|
35
|
-
if (selectedTab !== this.props.selectedTab) {
|
|
36
|
-
const { onChange } = this.props
|
|
37
|
-
|
|
38
|
-
this.setState({ selectedTab })
|
|
39
|
-
|
|
40
|
-
onChange(selectedTab)
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
mapChildren (children: JSX.Element | JSX.Element[], selectedTab: string): JSX.Element[] {
|
|
45
|
-
return Children.map(children, (child) => {
|
|
46
|
-
const { type } = child
|
|
47
|
-
|
|
48
|
-
if (type) {
|
|
49
|
-
const { props } = child
|
|
50
|
-
|
|
51
|
-
if (isTabGroup(type)) {
|
|
52
|
-
return cloneElement(
|
|
53
|
-
child,
|
|
54
|
-
{
|
|
55
|
-
...props,
|
|
56
|
-
selectedTab,
|
|
57
|
-
onTabSelect: this.handleTabSelect
|
|
58
|
-
}
|
|
59
|
-
)
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (isTabPanel(type)) {
|
|
63
|
-
return cloneElement(
|
|
64
|
-
child,
|
|
65
|
-
{
|
|
66
|
-
...props,
|
|
67
|
-
selectedTab
|
|
68
|
-
}
|
|
69
|
-
)
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const {
|
|
73
|
-
children
|
|
74
|
-
} = props
|
|
75
|
-
|
|
76
|
-
if (children) {
|
|
77
|
-
return cloneElement(
|
|
78
|
-
child,
|
|
79
|
-
{
|
|
80
|
-
...props,
|
|
81
|
-
children: this.mapChildren(children, selectedTab)
|
|
82
|
-
}
|
|
83
|
-
)
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return child
|
|
88
|
-
})
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
getChildren (): JSX.Element[] {
|
|
92
|
-
const {
|
|
93
|
-
children,
|
|
94
|
-
selectedTab
|
|
95
|
-
} = this.props
|
|
96
|
-
|
|
97
|
-
return this.mapChildren(children, selectedTab)
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
render (): JSX.Element {
|
|
101
|
-
return (
|
|
102
|
-
<div className='tab-set'>
|
|
103
|
-
{this.getChildren()}
|
|
104
|
-
</div>
|
|
105
|
-
)
|
|
106
|
-
}
|
|
107
|
-
}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import React, { Component, Children, cloneElement } from 'react'
|
|
2
|
-
import {
|
|
3
|
-
v4
|
|
4
|
-
} from 'uuid'
|
|
5
|
-
|
|
6
|
-
import isTab from './is-tab'
|
|
7
|
-
|
|
8
|
-
interface TabGroupProps {
|
|
9
|
-
onTabSelect: (selectedTab: string) => void
|
|
10
|
-
children: JSX.Element | JSX.Element[]
|
|
11
|
-
selectedTab: string
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export default class TabGroup extends Component<TabGroupProps> {
|
|
15
|
-
/*
|
|
16
|
-
* The selected tab default does not have to be a uuid, but a uuid
|
|
17
|
-
* reduces the likelihood that this default has the same value as
|
|
18
|
-
* an implemented tab
|
|
19
|
-
*/
|
|
20
|
-
static defaultProps = {
|
|
21
|
-
onTabSelect: () => {},
|
|
22
|
-
selectedTab: v4(),
|
|
23
|
-
children: []
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
shouldComponentUpdate (props: TabGroupProps): boolean {
|
|
27
|
-
return (
|
|
28
|
-
props.children !== this.props.children ||
|
|
29
|
-
props.selectedTab !== this.props.selectedTab
|
|
30
|
-
)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
handleTabClick = (tab: string): void => {
|
|
34
|
-
const { onTabSelect } = this.props
|
|
35
|
-
|
|
36
|
-
onTabSelect(tab)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
mapChildren (children: JSX.Element | JSX.Element[], selectedTab: string): JSX.Element[] {
|
|
40
|
-
return Children.map(children, (child) => {
|
|
41
|
-
const { type } = child
|
|
42
|
-
|
|
43
|
-
if (type) {
|
|
44
|
-
const { props } = child
|
|
45
|
-
|
|
46
|
-
if (isTab(type)) {
|
|
47
|
-
return cloneElement(
|
|
48
|
-
child,
|
|
49
|
-
{
|
|
50
|
-
...props,
|
|
51
|
-
selectedTab,
|
|
52
|
-
onTabClick: this.handleTabClick
|
|
53
|
-
}
|
|
54
|
-
)
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const {
|
|
58
|
-
children
|
|
59
|
-
} = props
|
|
60
|
-
|
|
61
|
-
if (children) {
|
|
62
|
-
return cloneElement(
|
|
63
|
-
child,
|
|
64
|
-
{
|
|
65
|
-
...props,
|
|
66
|
-
children: this.mapChildren(children, selectedTab)
|
|
67
|
-
}
|
|
68
|
-
)
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return child
|
|
73
|
-
})
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
getChildren (): JSX.Element[] {
|
|
77
|
-
const {
|
|
78
|
-
children,
|
|
79
|
-
selectedTab
|
|
80
|
-
} = this.props
|
|
81
|
-
|
|
82
|
-
return this.mapChildren(children, selectedTab)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
render (): JSX.Element {
|
|
86
|
-
return (
|
|
87
|
-
<ul className='tab-group'>
|
|
88
|
-
{this.getChildren()}
|
|
89
|
-
</ul>
|
|
90
|
-
)
|
|
91
|
-
}
|
|
92
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import React, { Component } from 'react'
|
|
2
|
-
import {
|
|
3
|
-
v4
|
|
4
|
-
} from 'uuid'
|
|
5
|
-
|
|
6
|
-
export interface TabProps {
|
|
7
|
-
onTabClick: (tab: string) => void
|
|
8
|
-
children: JSX.Element | JSX.Element[] | string | number | boolean
|
|
9
|
-
tab: string
|
|
10
|
-
selectedTab: string
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export default class Tab extends Component<TabProps> {
|
|
14
|
-
/*
|
|
15
|
-
* The tab and selected tab defaults do not have to be a uuid, but a uuid
|
|
16
|
-
* reduces the likelihood that this default has the same value as
|
|
17
|
-
* an implemented tab
|
|
18
|
-
*/
|
|
19
|
-
static defaultProps = {
|
|
20
|
-
onTabClick: () => {},
|
|
21
|
-
tab: v4(),
|
|
22
|
-
selectedTab: v4(),
|
|
23
|
-
children: []
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
shouldComponentUpdate (props: TabProps): boolean {
|
|
27
|
-
return (
|
|
28
|
-
props.children !== this.props.children ||
|
|
29
|
-
props.tab !== this.props.tab ||
|
|
30
|
-
props.selectedTab !== this.props.selectedTab
|
|
31
|
-
)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
handleClick = (): void => {
|
|
35
|
-
const { tab, onTabClick } = this.props
|
|
36
|
-
|
|
37
|
-
onTabClick(tab)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
render (): JSX.Element {
|
|
41
|
-
const {
|
|
42
|
-
tab,
|
|
43
|
-
selectedTab,
|
|
44
|
-
children
|
|
45
|
-
} = this.props
|
|
46
|
-
|
|
47
|
-
const className = (tab === selectedTab)
|
|
48
|
-
? 'tab selected'
|
|
49
|
-
: 'tab'
|
|
50
|
-
|
|
51
|
-
return (
|
|
52
|
-
<li className={className} onClick={this.handleClick}>
|
|
53
|
-
{children}
|
|
54
|
-
</li>
|
|
55
|
-
)
|
|
56
|
-
}
|
|
57
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import React, { Component } from 'react'
|
|
2
|
-
import {
|
|
3
|
-
v4
|
|
4
|
-
} from 'uuid'
|
|
5
|
-
|
|
6
|
-
interface TabPanelProps {
|
|
7
|
-
children: JSX.Element | JSX.Element[] | string | number | boolean | undefined | null
|
|
8
|
-
tab: string
|
|
9
|
-
selectedTab: string
|
|
10
|
-
render?: () => JSX.Element | JSX.Element[] | string | number | boolean | undefined | null
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export default class TabPanel extends Component<TabPanelProps> {
|
|
14
|
-
/*
|
|
15
|
-
* The tab and selected tab defaults do not have to be a uuid, but a uuid
|
|
16
|
-
* reduces the likelihood that this default has the same value as
|
|
17
|
-
* an implemented tab
|
|
18
|
-
*/
|
|
19
|
-
static defaultProps = {
|
|
20
|
-
tab: v4(),
|
|
21
|
-
selectedTab: v4()
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
shouldComponentUpdate (props: TabPanelProps): boolean {
|
|
25
|
-
if (props.render instanceof Function) return true
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
props.children !== this.props.children ||
|
|
29
|
-
props.tab !== this.props.tab ||
|
|
30
|
-
props.selectedTab !== this.props.selectedTab
|
|
31
|
-
)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
renderPanel (): JSX.Element | null {
|
|
35
|
-
const {
|
|
36
|
-
render = () => null,
|
|
37
|
-
children = render()
|
|
38
|
-
} = this.props
|
|
39
|
-
|
|
40
|
-
if (children) {
|
|
41
|
-
return (
|
|
42
|
-
<div className='tab-panel'>
|
|
43
|
-
{children}
|
|
44
|
-
</div>
|
|
45
|
-
)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return null
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
render (): JSX.Element | null {
|
|
52
|
-
const {
|
|
53
|
-
tab,
|
|
54
|
-
selectedTab
|
|
55
|
-
} = this.props
|
|
56
|
-
|
|
57
|
-
if (tab === selectedTab) {
|
|
58
|
-
return this.renderPanel()
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return null
|
|
62
|
-
}
|
|
63
|
-
}
|
package/tsconfig.json
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"jsx": "react",
|
|
4
|
-
"module": "es2020",
|
|
5
|
-
"target": "es2020",
|
|
6
|
-
"moduleResolution": "node",
|
|
7
|
-
"noEmit": true,
|
|
8
|
-
"strict": true,
|
|
9
|
-
"isolatedModules": true,
|
|
10
|
-
"noImplicitAny": true,
|
|
11
|
-
"allowSyntheticDefaultImports": true,
|
|
12
|
-
"allowImportingTsExtensions": true,
|
|
13
|
-
"baseUrl": ".",
|
|
14
|
-
"paths": {
|
|
15
|
-
"react-tab-set": [
|
|
16
|
-
"src"
|
|
17
|
-
],
|
|
18
|
-
"react-tab-set/*": [
|
|
19
|
-
"src/*"
|
|
20
|
-
]
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
"include": [
|
|
24
|
-
"src/**/*",
|
|
25
|
-
"stories/**/*"
|
|
26
|
-
]
|
|
27
|
-
}
|