react-tab-set 2.1.8 → 2.1.10

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/babel.config.cjs CHANGED
@@ -38,10 +38,24 @@ const presets = [
38
38
  ]
39
39
  ]
40
40
 
41
+ const plugins = [
42
+ [
43
+ 'module-resolver', {
44
+ alias: {
45
+ /**
46
+ * ESlint for Storybook `jsx`
47
+ */
48
+ 'react-tab-set': './src'
49
+ }
50
+ }
51
+ ]
52
+ ]
53
+
41
54
  module.exports = (api) => {
42
55
  if (api) api.cache.using(env)
43
56
 
44
57
  return {
45
- presets
58
+ presets,
59
+ plugins
46
60
  }
47
61
  }
package/eslint.config.mjs CHANGED
@@ -4,6 +4,7 @@ import typescript from '@sequencemedia/eslint-config-typescript/configs/recommen
4
4
  import babelParser from '@babel/eslint-parser'
5
5
  import typescriptParser from '@typescript-eslint/parser'
6
6
  import reactPlugin from 'eslint-plugin-react'
7
+ import storybookPlugin from 'eslint-plugin-storybook'
7
8
 
8
9
  const reactParserOptions = {
9
10
  ecmaFeatures: {
@@ -15,6 +16,10 @@ const reactPlugins = {
15
16
  react: reactPlugin
16
17
  }
17
18
 
19
+ const storybookPlugins = {
20
+ storybook: storybookPlugin
21
+ }
22
+
18
23
  const reactRules = {
19
24
  'no-unused-vars': [
20
25
  'error',
@@ -52,13 +57,21 @@ export default [
52
57
  */
53
58
  {
54
59
  ...reactPlugin.configs.flat.recommended,
55
- files: [
56
- '**/*.{jsx,tsx}'
57
- ]
60
+ settings: {
61
+ ...reactPlugin.configs.flat.recommended.settings,
62
+ ...reactSettings
63
+ }
58
64
  },
65
+ /**
66
+ * Storybook config
67
+ */
68
+ ...storybookPlugin.configs['flat/recommended'],
69
+ /**
70
+ * Standard config
71
+ */
59
72
  standard({
60
73
  files: [
61
- '**/*.{mjs,cjs}'
74
+ '**/*.{mjs,cjs,mts,cts}'
62
75
  ],
63
76
  ignores: [
64
77
  'src',
@@ -72,7 +85,8 @@ export default [
72
85
  }),
73
86
  standard({
74
87
  files: [
75
- 'src/**/*.{mjs,cjs}'
88
+ 'src/**/*.{mjs,cjs,mts,cts}',
89
+ 'stories/**/*.{mjs,cjs,mts,cts}'
76
90
  ],
77
91
  languageOptions: {
78
92
  globals: {
@@ -85,7 +99,8 @@ export default [
85
99
  */
86
100
  standard({
87
101
  files: [
88
- '**/*.{jsx,tsx}'
102
+ 'src/**/*.tsx',
103
+ 'stories/**/*.jsx'
89
104
  ],
90
105
  languageOptions: {
91
106
  parser: babelParser,
@@ -98,22 +113,28 @@ export default [
98
113
  }
99
114
  },
100
115
  plugins: {
101
- ...reactPlugins
116
+ ...reactPlugins,
117
+ ...storybookPlugins
102
118
  },
103
119
  rules: {
104
120
  ...reactRules
105
121
  },
106
122
  settings: {
107
- ...reactSettings
123
+ ...reactSettings,
124
+ 'import/resolver': {
125
+ 'babel-module': {}
126
+ }
108
127
  }
109
128
  }),
129
+ /**
130
+ * TypeScript config
131
+ */
110
132
  typescript({
111
133
  files: [
112
134
  '**/*.{mts,cts}'
113
135
  ],
114
136
  ignores: [
115
- 'src',
116
- 'stories'
137
+ 'src'
117
138
  ],
118
139
  languageOptions: {
119
140
  globals: {
@@ -142,6 +163,7 @@ export default [
142
163
  parser: typescriptParser,
143
164
  parserOptions: {
144
165
  ...reactParserOptions,
166
+ projectService: true,
145
167
  project: 'tsconfig.json'
146
168
  },
147
169
  globals: {
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "react-tab-set",
3
- "version": "2.1.8",
3
+ "version": "2.1.10",
4
4
  "description": "A React Tab Set component",
5
5
  "main": "./src/index.mjs",
6
6
  "type": "module",
7
+ "types": "./src/index.mts",
7
8
  "author": {
8
9
  "name": "Jonathan Perry for Sequence Media Limited",
9
10
  "email": "sequencemedia@sequencemedia.net",
@@ -25,7 +26,7 @@
25
26
  "storybook": "storybook dev -p 6006"
26
27
  },
27
28
  "dependencies": {
28
- "debug": "^4.3.7",
29
+ "debug": "^4.4.0",
29
30
  "uuid": "^11.0.3"
30
31
  },
31
32
  "devDependencies": {
@@ -40,14 +41,17 @@
40
41
  "@sequencemedia/eslint-config-standard": "^0.2.4",
41
42
  "@sequencemedia/eslint-config-typescript": "^0.1.4",
42
43
  "@storybook/addon-essentials": "7.6.20",
44
+ "@storybook/addon-links": "7.6.20",
43
45
  "@storybook/react": "7.6.20",
44
46
  "@storybook/react-webpack5": "7.6.20",
45
47
  "@types/debug": "^4.1.12",
46
48
  "@types/react": "^18.3.13",
47
49
  "@types/uuid": "^10.0.0",
48
50
  "@typescript-eslint/parser": "^8.17.0",
51
+ "babel-plugin-module-resolver": "^5.0.2",
49
52
  "core-js": "^3.39.0",
50
53
  "eslint": "^9.16.0",
54
+ "eslint-import-resolver-babel-module": "^5.3.2",
51
55
  "eslint-plugin-react": "^7.37.2",
52
56
  "eslint-plugin-storybook": "^0.11.1",
53
57
  "globals": "^15.13.0",
@@ -58,6 +62,13 @@
58
62
  "storybook": "7.6.20",
59
63
  "typescript": "^5.7.2"
60
64
  },
65
+ "imports": {
66
+ "#react-tab-set": "./src/index.mjs",
67
+ "#react-tab-set/tab-set": "./src/tab-set/index.jsx",
68
+ "#react-tab-set/tab-set/tab-group": "./src/tab-set/tab-group/index.jsx",
69
+ "#react-tab-set/tab-set/tab-group/tab": "./src/tab-set/tab-group/tab/index.jsx",
70
+ "#react-tab-set/tab-set/tab-panel": "./src/tab-set/tab-panel/index.jsx"
71
+ },
61
72
  "exports": {
62
73
  ".": {
63
74
  "require": "./src/index.cjs",
@@ -0,0 +1,4 @@
1
+ declare module 'react-tab-set/tab-set' {
2
+ export type { TabSetProps } from '#react-tab-set/tab-set'
3
+ export { default } from '#react-tab-set/tab-set'
4
+ }
@@ -0,0 +1,4 @@
1
+ declare module 'react-tab-set/tab-set/tab-group' {
2
+ export type { TabGroupProps } from '#react-tab-set/tab-set/tab-group'
3
+ export { default } from '#react-tab-set/tab-set/tab-group'
4
+ }
@@ -0,0 +1,4 @@
1
+ declare module 'react-tab-set/tab-set/tab-group/tab' {
2
+ export type { TabProps } from '#react-tab-set/tab-set/tab-group/tab'
3
+ export { default } from '#react-tab-set/tab-set/tab-group/tab'
4
+ }
@@ -0,0 +1,4 @@
1
+ declare module 'react-tab-set/tab-set/tab-panel' {
2
+ export type { TabPanelProps } from '#react-tab-set/tab-set/tab-panel'
3
+ export { default } from '#react-tab-set/tab-set/tab-panel'
4
+ }