shinkansen-sprockets 1.2.21 → 1.3.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.
Files changed (87) hide show
  1. package/babel.config.cjs +2 -1
  2. package/eslint.config.mjs +16 -3
  3. package/index.d.mts +84 -59
  4. package/package.json +26 -4
  5. package/src/components/common/text-content/index.cjs +5 -2
  6. package/src/components/common/text-content/index.jsx +1 -1
  7. package/src/components/common/visually-hidden-text/index.cjs +5 -2
  8. package/src/components/common/visually-hidden-text/index.jsx +1 -1
  9. package/src/components/description/index.cjs +5 -2
  10. package/src/components/description/index.d.mts +2 -11
  11. package/src/components/description/index.jsx +2 -44
  12. package/src/components/error-message/index.cjs +5 -2
  13. package/src/components/error-message/index.d.mts +2 -20
  14. package/src/components/error-message/index.jsx +2 -118
  15. package/src/components/group/index.cjs +5 -2
  16. package/src/components/group/index.d.mts +2 -12
  17. package/src/components/group/index.jsx +2 -49
  18. package/src/components/index.cjs +1 -1
  19. package/src/components/index.d.cts +4 -4
  20. package/src/components/index.d.mts +4 -4
  21. package/src/components/index.mjs +4 -4
  22. package/src/components/title/index.cjs +5 -2
  23. package/src/components/title/index.d.mts +2 -17
  24. package/src/components/title/index.jsx +2 -70
  25. package/src/sprockets/check-answers/group/change-answer.jsx +4 -4
  26. package/src/sprockets/check-answers/group/index.cjs +5 -2
  27. package/src/sprockets/check-answers/group/index.d.mts +3 -3
  28. package/src/sprockets/check-answers/group/index.jsx +9 -9
  29. package/src/sprockets/check-answers/index.cjs +5 -2
  30. package/src/sprockets/check-answers/index.d.mts +1 -1
  31. package/src/sprockets/check-answers/index.jsx +3 -3
  32. package/src/sprockets/check-answers/title/index.cjs +5 -2
  33. package/src/sprockets/check-answers/title/index.d.mts +2 -2
  34. package/src/sprockets/check-answers/title/index.jsx +5 -4
  35. package/src/sprockets/error-summary/group/index.cjs +5 -2
  36. package/src/sprockets/error-summary/group/index.d.mts +3 -3
  37. package/src/sprockets/error-summary/group/index.jsx +9 -9
  38. package/src/sprockets/error-summary/index.cjs +5 -2
  39. package/src/sprockets/error-summary/index.d.mts +1 -1
  40. package/src/sprockets/error-summary/index.jsx +3 -3
  41. package/src/sprockets/error-summary/title/index.cjs +5 -2
  42. package/src/sprockets/error-summary/title/index.d.mts +2 -2
  43. package/src/sprockets/error-summary/title/index.jsx +5 -4
  44. package/src/sprockets/fieldset/description/index.cjs +5 -2
  45. package/src/sprockets/fieldset/description/index.d.mts +1 -1
  46. package/src/sprockets/fieldset/description/index.jsx +2 -2
  47. package/src/sprockets/fieldset/error-message/index.cjs +5 -2
  48. package/src/sprockets/fieldset/error-message/index.d.mts +1 -1
  49. package/src/sprockets/fieldset/error-message/index.jsx +2 -2
  50. package/src/sprockets/fieldset/group/index.cjs +5 -2
  51. package/src/sprockets/fieldset/group/index.d.mts +3 -3
  52. package/src/sprockets/fieldset/group/index.jsx +6 -6
  53. package/src/sprockets/fieldset/index.cjs +5 -2
  54. package/src/sprockets/fieldset/index.d.mts +1 -1
  55. package/src/sprockets/fieldset/index.jsx +3 -3
  56. package/src/sprockets/fieldset/title/index.cjs +5 -2
  57. package/src/sprockets/fieldset/title/index.d.mts +2 -2
  58. package/src/sprockets/fieldset/title/index.jsx +5 -4
  59. package/src/sprockets/index.cjs +5 -2
  60. package/src/sprockets/index.d.mts +2 -15
  61. package/src/sprockets/index.jsx +2 -76
  62. package/src/super/components/description/index.cjs +20 -0
  63. package/src/super/components/description/index.d.cts +2 -0
  64. package/src/super/components/description/index.d.mts +18 -0
  65. package/src/super/components/description/index.jsx +47 -0
  66. package/src/super/components/error-message/index.cjs +20 -0
  67. package/src/super/components/error-message/index.d.cts +2 -0
  68. package/src/super/components/error-message/index.d.mts +27 -0
  69. package/src/super/components/error-message/index.jsx +121 -0
  70. package/src/super/components/group/index.cjs +20 -0
  71. package/src/super/components/group/index.d.cts +2 -0
  72. package/src/super/components/group/index.d.mts +19 -0
  73. package/src/super/components/group/index.jsx +52 -0
  74. package/src/super/components/index.cjs +16 -0
  75. package/src/super/components/index.d.cts +4 -0
  76. package/src/super/components/index.d.mts +4 -0
  77. package/src/super/components/index.mjs +10 -0
  78. package/src/super/components/title/index.cjs +20 -0
  79. package/src/super/components/title/index.d.cts +2 -0
  80. package/src/super/components/title/index.d.mts +24 -0
  81. package/src/super/components/title/index.jsx +73 -0
  82. package/src/super/sprockets/index.cjs +20 -0
  83. package/src/super/sprockets/index.d.cts +2 -0
  84. package/src/super/sprockets/index.d.mts +22 -0
  85. package/src/super/sprockets/index.jsx +79 -0
  86. package/src/common/index.d.mts +0 -1
  87. package/src/common/index.mjs +0 -1
package/babel.config.cjs CHANGED
@@ -40,7 +40,8 @@ const presets = [
40
40
  ]
41
41
 
42
42
  const plugins = [
43
- '@babel/syntax-jsx'
43
+ '@babel/syntax-jsx',
44
+ '@babel/syntax-import-attributes'
44
45
  ]
45
46
 
46
47
  // @ts-ignore
package/eslint.config.mjs CHANGED
@@ -79,7 +79,8 @@ export default [
79
79
  ],
80
80
  ignores: [
81
81
  'src',
82
- 'stories'
82
+ 'stories',
83
+ 'test'
83
84
  ],
84
85
  languageOptions: {
85
86
  globals: {
@@ -98,6 +99,16 @@ export default [
98
99
  }
99
100
  }
100
101
  }),
102
+ standard({
103
+ files: [
104
+ 'test/**/*.{mjs,cjs,mts,cts}'
105
+ ],
106
+ languageOptions: {
107
+ globals: {
108
+ ...globals.mocha
109
+ }
110
+ }
111
+ }),
101
112
  /**
102
113
  * Standard config for all `jsx` files
103
114
  */
@@ -166,7 +177,8 @@ export default [
166
177
  '**/*.{mts,cts}'
167
178
  ],
168
179
  ignores: [
169
- 'src'
180
+ 'src',
181
+ 'test'
170
182
  ],
171
183
  languageOptions: {
172
184
  parser: typescriptParser,
@@ -182,7 +194,8 @@ export default [
182
194
  }),
183
195
  typescript({
184
196
  files: [
185
- 'src/**/*.{mts,cts}'
197
+ 'src/**/*.{mts,cts}',
198
+ 'test/**/*.{mts,cts}'
186
199
  ],
187
200
  languageOptions: {
188
201
  parser: typescriptParser,
package/index.d.mts CHANGED
@@ -35,6 +35,46 @@ declare global {
35
35
  href: string
36
36
  }
37
37
 
38
+ export namespace Super {
39
+ export namespace Sprockets {
40
+ export interface SprocketProps extends React.PropsWithChildren {
41
+ title?: string
42
+ groupRe?: React.RefObject<any> // eslint-disable-line @typescript-eslint/no-explicit-any -- Simplicity
43
+ }
44
+ }
45
+ export namespace Components {
46
+ export namespace Description {
47
+ export interface DescriptionProps {
48
+ description?: string
49
+ }
50
+ }
51
+
52
+ export namespace ErrorMessage {
53
+ export interface ErrorMessageProps {
54
+ errorMessage?: ErrorDefinitionType[]
55
+ }
56
+
57
+ export interface ErrorMessageState {
58
+ errorMessage?: ErrorDefinitionType[]
59
+ }
60
+ }
61
+
62
+ export namespace Group {
63
+ export interface GroupProps extends React.PropsWithChildren {
64
+ groupRef?: React.RefObject<any> // eslint-disable-line @typescript-eslint/no-explicit-any -- Simplicity
65
+ }
66
+
67
+ export type GroupState = Record<PropertyKey, unknown>
68
+ }
69
+
70
+ export namespace Title {
71
+ export interface TitleProps {
72
+ title?: string
73
+ }
74
+ }
75
+ }
76
+ }
77
+
38
78
  export namespace Components {
39
79
  export namespace Common {
40
80
  export namespace TextContent {
@@ -51,97 +91,82 @@ declare global {
51
91
  }
52
92
 
53
93
  export namespace Description {
54
- export interface DescriptionProps {
55
- description?: string
56
- }
94
+ export type DescriptionProps = Super.Components.Description.DescriptionProps
57
95
  }
58
96
 
59
97
  export namespace ErrorMessage {
60
- export interface ErrorMessageProps {
61
- errorMessage?: ErrorDefinitionType[]
62
- }
98
+ export type ErrorMessageProps = Super.Components.ErrorMessage.ErrorMessageProps
63
99
 
64
- export interface ErrorMessageState {
65
- errorMessage?: ErrorDefinitionType[]
66
- }
100
+ export type ErrorMessageState = Super.Components.ErrorMessage.ErrorMessageState
67
101
  }
68
102
 
69
103
  export namespace Group {
70
- export interface GroupProps extends React.PropsWithChildren {
71
- groupRef?: React.RefObject<any> // eslint-disable-line @typescript-eslint/no-explicit-any -- Simplicity
72
- }
104
+ export type GroupProps = Super.Components.Group.GroupProps
73
105
 
74
- export type GroupState = Record<PropertyKey, unknown>
106
+ export type GroupState = Super.Components.Group.GroupState
107
+ }
75
108
 
76
- export namespace CheckAnswers {
77
- export interface CheckAnswersProps extends GroupProps {
78
- checkAnswers?: AnswerDefinitionType[]
79
- }
109
+ export namespace Title {
110
+ export type TitleProps = Super.Components.Title.TitleProps
111
+ }
112
+ }
80
113
 
81
- export interface CheckAnswersState extends GroupState {
82
- checkAnswers?: AnswerDefinitionType[]
83
- }
114
+ export namespace Sprockets {
115
+ export type SprocketProps = Super.Sprockets.SprocketProps
116
+
117
+ export namespace CheckAnswers {
118
+ export interface CheckAnswersProps extends Super.Sprockets.SprocketProps {
119
+ checkAnswers?: AnswerDefinitionType[]
84
120
  }
85
121
 
86
- export namespace ErrorSummary {
87
- export interface ErrorSummaryProps extends GroupProps {
88
- errorSummary?: ErrorDefinitionType[]
122
+ export namespace Group {
123
+ export interface CheckAnswersProps extends Super.Components.Group.GroupProps {
124
+ checkAnswers?: AnswerDefinitionType[]
89
125
  }
90
126
 
91
- export interface ErrorSummaryState extends GroupState {
92
- errorSummary?: ErrorDefinitionType[]
127
+ export interface CheckAnswersState extends Super.Components.Group.GroupState {
128
+ checkAnswers?: AnswerDefinitionType[]
93
129
  }
94
130
  }
95
131
 
96
- export namespace Fieldset {
97
- export type FieldsetProps = GroupProps
98
- export type FieldsetState = GroupState
132
+ export namespace Title {
133
+ export type CheckAnswersProps = Super.Components.Title.TitleProps
99
134
  }
100
135
  }
101
136
 
102
- export namespace Title {
103
- export interface TitleProps {
104
- title?: string
137
+ export namespace ErrorSummary {
138
+ export interface ErrorSummaryProps extends Super.Sprockets.SprocketProps {
139
+ errorSummary?: ErrorDefinitionType[]
105
140
  }
106
141
 
107
- export namespace CheckAnswers {
108
- export type CheckAnswersProps = TitleProps
109
- }
142
+ export namespace Group {
143
+ export interface ErrorSummaryProps extends Super.Components.Group.GroupProps {
144
+ errorSummary?: ErrorDefinitionType[]
145
+ }
110
146
 
111
- export namespace ErrorSummary {
112
- export type ErrorSummaryProps = TitleProps
147
+ export interface ErrorSummaryState extends Super.Components.Group.GroupState {
148
+ errorSummary?: ErrorDefinitionType[]
149
+ }
113
150
  }
114
151
 
115
- export namespace Fieldset {
116
- export type FieldsetProps = TitleProps
152
+ export namespace Title {
153
+ export type ErrorSummaryProps = Super.Components.Title.TitleProps
117
154
  }
118
155
  }
119
- }
120
156
 
121
- export namespace Sprockets {
122
- export namespace Sprocket {
123
- export interface SprocketProps extends React.PropsWithChildren {
124
- title?: string
125
- groupRe?: React.RefObject<any> // eslint-disable-line @typescript-eslint/no-explicit-any -- Simplicity
126
- }
127
-
128
- export namespace CheckAnswers {
129
- export interface CheckAnswersProps extends SprocketProps {
130
- checkAnswers?: AnswerDefinitionType[]
131
- }
157
+ export namespace Fieldset {
158
+ export interface FieldsetProps extends Super.Sprockets.SprocketProps {
159
+ description?: string
160
+ errorMessage?: ErrorDefinitionType[]
132
161
  }
133
162
 
134
- export namespace ErrorSummary {
135
- export interface ErrorSummaryProps extends SprocketProps {
136
- errorSummary?: ErrorDefinitionType[]
137
- }
163
+ export namespace Group {
164
+ export type FieldsetProps = Super.Components.Group.GroupProps
165
+ export type FieldsetState = Super.Components.Group.GroupState
138
166
  }
139
167
 
140
- export namespace Fieldset {
141
- export interface FieldsetProps extends SprocketProps {
142
- description?: string
143
- errorMessage?: ErrorDefinitionType[]
144
- }
168
+ export namespace Title {
169
+ export type FieldsetProps = Super.Components.Title.TitleProps
145
170
  }
146
171
  }
147
172
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shinkansen-sprockets",
3
- "version": "1.2.21",
3
+ "version": "1.3.0",
4
4
  "description": "Shinkansen Sprockets",
5
5
  "keywords": [
6
6
  "Shinkansen",
@@ -39,7 +39,9 @@
39
39
  "prestorybook": "npm run build && npm run transform",
40
40
  "pretest": "npm run nvm",
41
41
  "storybook": "storybook dev -p 6007",
42
- "test": "cross-env NODE_ENV=test jest",
42
+ "test": "npm run test:mocha && npm run test:jest",
43
+ "test:jest": "cross-env NODE_ENV=test jest",
44
+ "test:mocha": "cross-env NODE_ENV=test mocha test --recursive",
43
45
  "transform": "cross-env DEBUG=shinkansen-sprockets* ./transform.sh"
44
46
  },
45
47
  "dependencies": {
@@ -50,6 +52,7 @@
50
52
  "devDependencies": {
51
53
  "@babel/core": "^7.26.9",
52
54
  "@babel/eslint-parser": "^7.26.8",
55
+ "@babel/plugin-syntax-import-attributes": "^7.26.0",
53
56
  "@babel/preset-env": "^7.26.9",
54
57
  "@babel/preset-react": "^7.26.3",
55
58
  "@babel/register": "^7.25.9",
@@ -62,13 +65,16 @@
62
65
  "@storybook/react": "7.6.20",
63
66
  "@storybook/react-webpack5": "7.6.20",
64
67
  "@types/babel__register": "^7.17.3",
68
+ "@types/chai": "^5.0.1",
65
69
  "@types/debug": "^4.1.12",
66
70
  "@types/jest": "^29.5.14",
71
+ "@types/mocha": "^10.0.10",
67
72
  "@types/react": "18.3.13",
68
73
  "@types/react-test-renderer": "^19.0.0",
69
74
  "@typescript-eslint/eslint-plugin": "^8.26.0",
70
75
  "@typescript-eslint/parser": "^8.26.0",
71
76
  "autoprefixer": "^10.4.20",
77
+ "chai": "^5.2.0",
72
78
  "clean-webpack-plugin": "^4.0.0",
73
79
  "core-js": "^3.41.0",
74
80
  "cross-env": "^7.0.3",
@@ -79,6 +85,7 @@
79
85
  "husky": "^9.1.7",
80
86
  "jest": "^29.7.0",
81
87
  "mini-css-extract-plugin": "^2.9.2",
88
+ "mocha": "^11.1.0",
82
89
  "perfectionist": "^2.4.0",
83
90
  "postcss": "^8.5.3",
84
91
  "postcss-discard-comments": "^7.0.3",
@@ -104,7 +111,6 @@
104
111
  "require": "./src/index.cjs",
105
112
  "import": "./src/index.mjs"
106
113
  },
107
- "#sprockets/common": "./src/common/index.mjs",
108
114
  "#sprockets/components": {
109
115
  "require": "./src/components/index.cjs",
110
116
  "import": "./src/components/index.mjs"
@@ -114,6 +120,12 @@
114
120
  "#sprockets/sprockets/*": "./src/sprockets/*/index.cjs",
115
121
  "#sprockets/sprockets/check-answers/group/*": "./src/sprockets/check-answers/group/*.cjs",
116
122
  "#sprockets/sprockets/error-summary/group/*": "./src/sprockets/error-summary/group/*.cjs",
123
+ "#sprockets/super/components": {
124
+ "require": "./src/super/components/index.cjs",
125
+ "import": "./src/super/components/index.mjs"
126
+ },
127
+ "#sprockets/super/components/*": "./src/super/components/*/index.cjs",
128
+ "#sprockets/super/sprockets": "./src/super/sprockets/index.cjs",
117
129
  "#sprockets/transformers": "./src/transformers/index.mjs",
118
130
  "#sprockets/transformers/*": "./src/transformers/*/index.mjs",
119
131
  "#stories/definitions/*": "./stories/definitions/*.json",
@@ -125,12 +137,22 @@
125
137
  "require": "./src/index.cjs",
126
138
  "import": "./src/index.mjs"
127
139
  },
128
- "./common": "./src/common/index.mjs",
140
+ "./components": {
141
+ "require": "./src/components/index.cjs",
142
+ "import": "./src/components/index.mjs"
143
+ },
129
144
  "./components/*": "./src/components/*/index.cjs",
130
145
  "./sprockets": "./src/sprockets/index.cjs",
131
146
  "./sprockets/*": "./src/sprockets/*/index.cjs",
132
147
  "./sprockets/check-answers/group/*": "./src/sprockets/check-answers/group/*.cjs",
133
148
  "./sprockets/error-summary/group/*": "./src/sprockets/error-summary/group/*.cjs",
149
+ "./super/components": {
150
+ "require": "./src/super/components/index.cjs",
151
+ "import": "./src/super/components/index.mjs"
152
+ },
153
+ "./super/components/*": "./src/super/components/*/index.cjs",
154
+ "./super/sprockets": "./src/super/sprockets/index.cjs",
155
+ "./transformers": "./src/transformers/index.mjs",
134
156
  "./transformers/*": "./src/transformers/*/index.mjs"
135
157
  }
136
158
  }
@@ -11,7 +11,10 @@ const log = debug('shinkansen-sprockets/components/common/text-content')
11
11
  log('`shinkansen` is awake')
12
12
 
13
13
  const {
14
- default: component // @ts-ignore
14
+ default: TextContent // @ts-expect-error
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = TextContent
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /**
6
- * TextContent component
6
+ * TextContent component
7
7
  */
8
8
  import React from 'react'
9
9
  import PropTypes from 'prop-types'
@@ -11,7 +11,10 @@ const log = debug('shinkansen-sprockets/components/common/visually-hidden-text')
11
11
  log('`shinkansen` is awake')
12
12
 
13
13
  const {
14
- default: component // @ts-ignore
14
+ default: VisuallyHiddenText // @ts-expect-error
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = VisuallyHiddenText
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /**
6
- * VisuallyHiddenText component
6
+ * VisuallyHiddenText component
7
7
  */
8
8
  import React from 'react'
9
9
  import PropTypes from 'prop-types'
@@ -11,7 +11,10 @@ const log = debug('shinkansen-sprockets/components/description')
11
11
  log('`shinkansen` is awake')
12
12
 
13
13
  const {
14
- default: component // @ts-ignore
14
+ default: Description // @ts-expect-error
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Description
@@ -1,15 +1,6 @@
1
1
  declare module '#sprockets/components/description' {
2
- import React from 'react'
3
-
4
- export type DescriptionProps = SprocketsTypes.Components.Description.DescriptionProps
5
-
6
- export default class Description extends React.Component<DescriptionProps> {
7
- static propTypes: object
8
-
9
- getClassName (): string
10
-
11
- shouldComponentUpdate (props: DescriptionProps): boolean
12
- }
2
+ export { default } from '#sprockets/super/components/description'
3
+ export * from '#sprockets/super/components/description'
13
4
  }
14
5
 
15
6
  declare module 'shinkansen-sprockets/components/description' {
@@ -1,47 +1,5 @@
1
1
  /**
2
- * @typedef {SprocketsTypes.Components.Description.DescriptionProps} DescriptionProps
2
+ * Description component
3
3
  */
4
4
 
5
- /**
6
- * Description component
7
- */
8
- import React, { Component } from 'react'
9
- import PropTypes from 'prop-types'
10
-
11
- import TextContent from '#sprockets/components/common/text-content'
12
-
13
- export default class Description extends Component {
14
- getClassName () {
15
- return 'description'
16
- }
17
-
18
- /**
19
- * @param {DescriptionProps} props
20
- * @returns {boolean}
21
- */
22
- shouldComponentUpdate (props) {
23
- return (
24
- (props.description !== this.props.description)
25
- )
26
- }
27
-
28
- render () {
29
- const {
30
- description
31
- } = this.props
32
-
33
- if (description) {
34
- return (
35
- <span className={this.getClassName()}>
36
- <TextContent textContent={description} />
37
- </span>
38
- )
39
- }
40
-
41
- return null
42
- }
43
- }
44
-
45
- Description.propTypes = {
46
- description: PropTypes.string
47
- }
5
+ export { default } from '#sprockets/super/components/description'
@@ -11,7 +11,10 @@ const log = debug('shinkansen-sprockets/components/error-message')
11
11
  log('`shinkansen` is awake')
12
12
 
13
13
  const {
14
- default: component // @ts-ignore
14
+ default: ErrorMessage // @ts-expect-error
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = ErrorMessage
@@ -1,24 +1,6 @@
1
1
  declare module '#sprockets/components/error-message' {
2
- import React from 'react'
3
-
4
- export type ErrorMessageProps = SprocketsTypes.Components.ErrorMessage.ErrorMessageProps
5
- export type ErrorMessageState = SprocketsTypes.Components.ErrorMessage.ErrorMessageState
6
-
7
- export default class ErrorMessage extends React.Component<ErrorMessageProps, ErrorMessageState> {
8
- static propTypes: object
9
-
10
- hasTextContent (): boolean
11
-
12
- getTextContent (): string
13
-
14
- getClassName (): string
15
-
16
- static getDerivedStateFromProps (props: ErrorMessageProps, state: ErrorMessageState): ErrorMessageState
17
-
18
- shouldComponentUpdate (props: ErrorMessageProps, state: ErrorMessageState): boolean
19
-
20
- renderTextContent (): React.JSX.Element | null
21
- }
2
+ export { default } from '#sprockets/super/components/error-message'
3
+ export * from '#sprockets/super/components/error-message'
22
4
  }
23
5
 
24
6
  declare module 'shinkansen-sprockets/components/error-message' {
@@ -1,121 +1,5 @@
1
1
  /**
2
- * @typedef {SprocketsTypes.ErrorDefinitionType} ErrorDefinitionType
3
- * @typedef {SprocketsTypes.Components.ErrorMessage.ErrorMessageProps} ErrorMessageProps
4
- * @typedef {SprocketsTypes.Components.ErrorMessage.ErrorMessageState} ErrorMessageState
2
+ * ErrorMessage component
5
3
  */
6
4
 
7
- /**
8
- * ErrorMessage component
9
- */
10
- import React, { Component } from 'react'
11
- import PropTypes from 'prop-types'
12
- import equal from 'fast-deep-equal'
13
-
14
- import transform from '#sprockets/transformers/error-message'
15
-
16
- import TextContent from '#sprockets/components/common/text-content'
17
-
18
- export default class ErrorMessage extends Component {
19
- /**
20
- * @type {ErrorMessageState}
21
- */
22
- state = {}
23
-
24
- hasTextContent () {
25
- const {
26
- errorMessage
27
- } = this.props
28
-
29
- const {
30
- text
31
- } = transform(errorMessage)
32
-
33
- return !!text
34
- }
35
-
36
- getTextContent () {
37
- const {
38
- errorMessage
39
- } = this.props
40
-
41
- const {
42
- text
43
- } = transform(errorMessage)
44
-
45
- return text
46
- }
47
-
48
- getClassName () {
49
- return 'error-message'
50
- }
51
-
52
- /**
53
- * Merge latest `props` to `state`
54
- *
55
- * @param {ErrorMessageProps} props Latest props
56
- * @param {ErrorMessageState} state Current state
57
- * @returns {ErrorMessageState}
58
- */
59
- static getDerivedStateFromProps ({ errorMessage }, { errorMessage: E }) {
60
- return {
61
- errorMessage: equal(errorMessage, E) ? E : errorMessage
62
- }
63
- }
64
-
65
- /**
66
- * Compare current and latest `state` for changes to `errorMessage`
67
- *
68
- * @param {ErrorMessageProps} props Latest props
69
- * @param {ErrorMessageState} state Latest state
70
- * @returns {boolean}
71
- */
72
- shouldComponentUpdate (props, state) {
73
- const {
74
- errorMessage: e
75
- } = state
76
-
77
- const {
78
- errorMessage: E
79
- } = this.state
80
-
81
- return !equal(E, e)
82
- }
83
-
84
- renderTextContent () {
85
- if (this.hasTextContent()) {
86
- const textContent = this.getTextContent()
87
-
88
- return (
89
- <TextContent
90
- textContent={textContent}
91
- />
92
- )
93
- }
94
-
95
- return null
96
- }
97
-
98
- render () {
99
- const {
100
- errorMessage
101
- } = this.props
102
-
103
- if (errorMessage) {
104
- return (
105
- <span className={this.getClassName()}>
106
- {this.renderTextContent()}
107
- </span>
108
- )
109
- }
110
-
111
- return null
112
- }
113
- }
114
-
115
- ErrorMessage.propTypes = {
116
- errorMessage: PropTypes.shape({
117
- type: PropTypes.string.isRequired,
118
- params: PropTypes.shape({}).isRequired,
119
- uri: PropTypes.string.isRequired
120
- })
121
- }
5
+ export { default } from '#sprockets/super/components/error-message'
@@ -11,7 +11,10 @@ const log = debug('shinkansen-sprockets/components/group')
11
11
  log('`shinkansen` is awake')
12
12
 
13
13
  const {
14
- default: component // @ts-ignore
14
+ default: Group // @ts-expect-error
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Group
@@ -1,16 +1,6 @@
1
1
  declare module '#sprockets/components/group' {
2
- import React from 'react'
3
-
4
- export type GroupProps = SprocketsTypes.Components.Group.GroupProps
5
- export type GroupState = SprocketsTypes.Components.Group.GroupState
6
-
7
- export default class Group<P extends GroupProps, S extends GroupState> extends React.Component<P, S> {
8
- static propTypes: object
9
-
10
- getClassName (): string
11
-
12
- shouldComponentUpdate (props: GroupProps, state: GroupState): boolean
13
- }
2
+ export { default } from '#sprockets/super/components/group'
3
+ export * from '#sprockets/super/components/group'
14
4
  }
15
5
 
16
6
  declare module 'shinkansen-sprockets/components/group' {