shinkansen-sprockets 1.1.463 → 1.2.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.
- package/babel.config.cjs +1 -0
- package/eslint.config.mjs +11 -56
- package/index.d.mts +122 -13
- package/package.json +6 -1
- package/src/common/index.d.mts +1 -3
- package/src/common/index.mjs +1 -7
- package/src/components/common/text-content/index.cjs +1 -1
- package/src/components/common/text-content/index.d.mts +3 -4
- package/src/components/common/text-content/index.jsx +7 -6
- package/src/components/common/visually-hidden-text/index.cjs +1 -1
- package/src/components/common/visually-hidden-text/index.d.mts +3 -4
- package/src/components/common/visually-hidden-text/index.jsx +7 -6
- package/src/components/description/index.cjs +1 -1
- package/src/components/description/index.d.mts +10 -5
- package/src/components/description/index.jsx +12 -3
- package/src/components/error-message/index.cjs +1 -1
- package/src/components/error-message/index.d.mts +20 -5
- package/src/components/error-message/index.jsx +30 -15
- package/src/components/group/index.cjs +1 -1
- package/src/components/group/index.d.mts +12 -7
- package/src/components/group/index.jsx +8 -15
- package/src/components/title/index.cjs +1 -1
- package/src/components/title/index.d.mts +16 -5
- package/src/components/title/index.jsx +18 -4
- package/src/index.d.mts +8 -0
- package/src/sprockets/check-answers/group/answer-title.cjs +1 -0
- package/src/sprockets/check-answers/group/answer-title.jsx +2 -2
- package/src/sprockets/check-answers/group/answer-value.cjs +1 -0
- package/src/sprockets/check-answers/group/answer-value.jsx +29 -12
- package/src/sprockets/check-answers/group/change-answer.cjs +1 -0
- package/src/sprockets/check-answers/group/change-answer.jsx +17 -7
- package/src/sprockets/check-answers/group/index.cjs +1 -1
- package/src/sprockets/check-answers/group/index.d.mts +7 -1
- package/src/sprockets/check-answers/group/index.jsx +43 -28
- package/src/sprockets/check-answers/index.cjs +1 -1
- package/src/sprockets/check-answers/index.d.mts +5 -1
- package/src/sprockets/check-answers/index.jsx +25 -9
- package/src/sprockets/check-answers/title/index.cjs +1 -1
- package/src/sprockets/check-answers/title/index.d.mts +5 -1
- package/src/sprockets/check-answers/title/index.jsx +8 -5
- package/src/sprockets/error-summary/group/index.cjs +1 -1
- package/src/sprockets/error-summary/group/index.d.mts +7 -1
- package/src/sprockets/error-summary/group/index.jsx +31 -23
- package/src/sprockets/error-summary/index.cjs +1 -1
- package/src/sprockets/error-summary/index.d.mts +5 -1
- package/src/sprockets/error-summary/index.jsx +19 -9
- package/src/sprockets/error-summary/title/index.cjs +1 -1
- package/src/sprockets/error-summary/title/index.d.mts +5 -1
- package/src/sprockets/error-summary/title/index.jsx +8 -5
- package/src/sprockets/fieldset/description/index.cjs +1 -1
- package/src/sprockets/fieldset/description/index.jsx +0 -5
- package/src/sprockets/fieldset/error-message/index.cjs +1 -1
- package/src/sprockets/fieldset/error-message/index.jsx +0 -5
- package/src/sprockets/fieldset/group/index.cjs +1 -1
- package/src/sprockets/fieldset/group/index.d.mts +7 -1
- package/src/sprockets/fieldset/group/index.jsx +10 -5
- package/src/sprockets/fieldset/index.cjs +1 -1
- package/src/sprockets/fieldset/index.d.mts +11 -1
- package/src/sprockets/fieldset/index.jsx +22 -17
- package/src/sprockets/fieldset/title/index.cjs +1 -1
- package/src/sprockets/fieldset/title/index.d.mts +5 -1
- package/src/sprockets/fieldset/title/index.jsx +8 -4
- package/src/sprockets/index.cjs +1 -4
- package/src/sprockets/index.d.mts +14 -8
- package/src/sprockets/index.jsx +9 -16
- package/src/transformers/check-answers/index.d.mts +8 -0
- package/src/transformers/check-answers/index.mjs +2 -2
- package/src/transformers/common/index.mjs +4 -4
- package/src/transformers/error-message/index.d.mts +8 -0
- package/src/transformers/error-message/index.mjs +12 -4
- package/src/transformers/error-summary/index.d.mts +8 -0
- package/src/transformers/error-summary/index.mjs +10 -6
@@ -1,9 +1,15 @@
|
|
1
1
|
declare module '#sprockets/sprockets/error-summary/group' {
|
2
2
|
import Group from '#sprockets/components/group'
|
3
3
|
|
4
|
-
|
4
|
+
type ErrorSummaryProps = SprocketsTypes.Components.Group.ErrorSummary.ErrorSummaryProps
|
5
|
+
type ErrorSummaryState = SprocketsTypes.Components.Group.ErrorSummary.ErrorSummaryState
|
6
|
+
|
7
|
+
export default class ErrorSummaryGroup<P extends ErrorSummaryProps, S extends ErrorSummaryState> extends Group<P, S> {}
|
5
8
|
}
|
6
9
|
|
7
10
|
declare module 'shinkansen-sprockets/sprockets/error-summary/group' {
|
11
|
+
export type ErrorSummaryProps = SprocketsTypes.Components.Group.ErrorSummary.ErrorSummaryProps
|
12
|
+
export type ErrorSummaryState = SprocketsTypes.Components.Group.ErrorSummary.ErrorSummaryState
|
13
|
+
|
8
14
|
export { default } from '#sprockets/sprockets/error-summary/group'
|
9
15
|
}
|
@@ -1,22 +1,22 @@
|
|
1
1
|
/**
|
2
|
-
*
|
3
|
-
*
|
4
|
-
*
|
5
|
-
*
|
6
|
-
* Group
|
7
|
-
*
|
8
|
-
* @typedef {Object} GroupState
|
9
|
-
* @property {{}} [errorSummary]
|
2
|
+
* @typedef {SprocketsTypes.ErrorDefinitionType} ErrorDefinitionType
|
3
|
+
* @typedef {SprocketsTypes.Components.Group.GroupProps} GroupProps
|
4
|
+
* @typedef {SprocketsTypes.Components.Group.GroupState} GroupState
|
5
|
+
* @typedef {SprocketsTypes.Components.Group.ErrorSummary.ErrorSummaryProps} ErrorSummaryProps
|
6
|
+
* @typedef {SprocketsTypes.Components.Group.ErrorSummary.ErrorSummaryState} ErrorSummaryState
|
10
7
|
*/
|
11
8
|
|
9
|
+
/**
|
10
|
+
* ErrorSummaryGroup component
|
11
|
+
*/
|
12
12
|
import React from 'react'
|
13
13
|
import PropTypes from 'prop-types'
|
14
14
|
|
15
|
-
import debug from 'debug'
|
16
|
-
|
17
15
|
import equal from 'fast-deep-equal'
|
18
16
|
import classnames from 'classnames'
|
19
17
|
|
18
|
+
import debug from 'debug'
|
19
|
+
|
20
20
|
import Group from '#sprockets/components/group'
|
21
21
|
|
22
22
|
import transform from '#sprockets/transformers/error-summary'
|
@@ -26,11 +26,18 @@ import {
|
|
26
26
|
|
27
27
|
import TextContent from '#sprockets/components/common/text-content'
|
28
28
|
|
29
|
+
/**
|
30
|
+
* @type {ErrorDefinitionType[]}
|
31
|
+
*/
|
29
32
|
const DEFAULT_ERROR_SUMMARY = []
|
30
33
|
|
31
34
|
const log = debug('shinkansen-sprockets/sprockets/error-summary/group')
|
32
35
|
|
33
|
-
|
36
|
+
/**
|
37
|
+
* @param {ErrorDefinitionType} error
|
38
|
+
* @param {number} index
|
39
|
+
* @returns {React.JSX.Element}
|
40
|
+
*/
|
34
41
|
function render (error, index) {
|
35
42
|
log('render')
|
36
43
|
|
@@ -48,13 +55,14 @@ function render (error, index) {
|
|
48
55
|
)
|
49
56
|
}
|
50
57
|
|
58
|
+
/**
|
59
|
+
* @extends {Group<GroupProps & ErrorSummaryProps, GroupState & ErrorSummaryState>}
|
60
|
+
*/
|
51
61
|
export default class ErrorSummaryGroup extends Group {
|
52
62
|
/**
|
53
|
-
*
|
63
|
+
* @type {ErrorSummaryState}
|
54
64
|
*/
|
55
|
-
state = {
|
56
|
-
errorSummary: DEFAULT_ERROR_SUMMARY
|
57
|
-
}
|
65
|
+
state = {}
|
58
66
|
|
59
67
|
getClassName () {
|
60
68
|
return classnames(super.getClassName(), 'error-summary')
|
@@ -63,9 +71,9 @@ export default class ErrorSummaryGroup extends Group {
|
|
63
71
|
/**
|
64
72
|
* Compare latest 'props' with 'state' for changes to 'errorSummary'
|
65
73
|
*
|
66
|
-
*
|
67
|
-
*
|
68
|
-
*
|
74
|
+
* @param {ErrorSummaryProps} props Latest props
|
75
|
+
* @param {ErrorSummaryState} state Current state
|
76
|
+
* @returns {ErrorSummaryState}
|
69
77
|
*/
|
70
78
|
static getDerivedStateFromProps ({ errorSummary }, { errorSummary: E }) {
|
71
79
|
return {
|
@@ -76,9 +84,9 @@ export default class ErrorSummaryGroup extends Group {
|
|
76
84
|
/**
|
77
85
|
* Compare latest 'props' with 'state' for changes to 'errorSummary'
|
78
86
|
*
|
79
|
-
*
|
80
|
-
*
|
81
|
-
*
|
87
|
+
* @param {ErrorSummaryProps} props Latest props
|
88
|
+
* @param {ErrorSummaryState} state Current state
|
89
|
+
* @returns {boolean}
|
82
90
|
*/
|
83
91
|
shouldComponentUpdate (props, state) {
|
84
92
|
const {
|
@@ -89,7 +97,7 @@ export default class ErrorSummaryGroup extends Group {
|
|
89
97
|
errorSummary: E = DEFAULT_ERROR_SUMMARY
|
90
98
|
} = this.state
|
91
99
|
|
92
|
-
return (e
|
100
|
+
return !equal(e, E)
|
93
101
|
}
|
94
102
|
|
95
103
|
render () {
|
@@ -117,5 +125,5 @@ export default class ErrorSummaryGroup extends Group {
|
|
117
125
|
|
118
126
|
ErrorSummaryGroup.propTypes = {
|
119
127
|
...Group.propTypes,
|
120
|
-
errorSummary: PropTypes.arrayOf(PropTypes.shape())
|
128
|
+
errorSummary: PropTypes.arrayOf(PropTypes.shape({}))
|
121
129
|
}
|
@@ -1,9 +1,13 @@
|
|
1
1
|
declare module '#sprockets/sprockets/error-summary' {
|
2
2
|
import Sprocket from '#sprockets/sprockets'
|
3
3
|
|
4
|
-
|
4
|
+
type ErrorSummaryProps = SprocketsTypes.Sprockets.Sprocket.ErrorSummary.ErrorSummaryProps
|
5
|
+
|
6
|
+
export default class ErrorSummarySprocket<P extends ErrorSummaryProps> extends Sprocket<P> {}
|
5
7
|
}
|
6
8
|
|
7
9
|
declare module 'shinkansen-sprockets/sprockets/error-summary' {
|
10
|
+
export type ErrorSummaryProps = SprocketsTypes.Sprockets.Sprocket.ErrorSummary.ErrorSummaryProps
|
11
|
+
|
8
12
|
export { default } from '#sprockets/sprockets/error-summary'
|
9
13
|
}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
/**
|
2
|
-
*
|
3
|
-
*
|
4
|
-
* @typedef {import('shinkansen-sprockets/sprockets').SprocketProps} SprocketProps
|
2
|
+
* @typedef {SprocketsTypes.Sprockets.Sprocket.SprocketProps} SprocketProps
|
3
|
+
* @typedef {SprocketsTypes.Sprockets.Sprocket.ErrorSummary.ErrorSummaryProps} ErrorSummaryProps
|
5
4
|
*/
|
6
5
|
|
6
|
+
/**
|
7
|
+
* ErrorSummarySprocket component
|
8
|
+
*/
|
7
9
|
import React from 'react'
|
8
10
|
import PropTypes from 'prop-types'
|
9
11
|
|
@@ -15,19 +17,27 @@ import Group from './group/index.jsx'
|
|
15
17
|
|
16
18
|
const DEFAULT_ERROR_SUMMARY = []
|
17
19
|
|
20
|
+
/**
|
21
|
+
* @extends {Sprocket<SprocketProps & ErrorSummaryProps>}
|
22
|
+
*/
|
18
23
|
export default class ErrorSummarySprocket extends Sprocket {
|
19
24
|
getClassName () {
|
20
25
|
return classnames(super.getClassName(), 'error-summary')
|
21
26
|
}
|
22
27
|
|
23
28
|
/**
|
24
|
-
*
|
25
|
-
*
|
29
|
+
* @param {ErrorSummaryProps} props
|
30
|
+
* @returns {boolean}
|
26
31
|
*/
|
27
|
-
shouldComponentUpdate (props
|
32
|
+
shouldComponentUpdate (props) {
|
33
|
+
const {
|
34
|
+
errorSummary,
|
35
|
+
...superProps
|
36
|
+
} = props
|
37
|
+
|
28
38
|
return (
|
29
|
-
super.shouldComponentUpdate(
|
30
|
-
(
|
39
|
+
super.shouldComponentUpdate(superProps) ||
|
40
|
+
(errorSummary !== this.props.errorSummary)
|
31
41
|
)
|
32
42
|
}
|
33
43
|
|
@@ -77,5 +87,5 @@ export default class ErrorSummarySprocket extends Sprocket {
|
|
77
87
|
|
78
88
|
ErrorSummarySprocket.propTypes = {
|
79
89
|
...Sprocket.propTypes,
|
80
|
-
errorSummary: PropTypes.arrayOf(PropTypes.shape())
|
90
|
+
errorSummary: PropTypes.arrayOf(PropTypes.shape({}))
|
81
91
|
}
|
@@ -1,9 +1,13 @@
|
|
1
1
|
declare module '#sprockets/sprockets/error-summary/title' {
|
2
2
|
import Title from '#sprockets/components/title'
|
3
3
|
|
4
|
-
|
4
|
+
type ErrorSummaryProps = SprocketsTypes.Components.Title.ErrorSummary.ErrorSummaryProps
|
5
|
+
|
6
|
+
export default class ErrorSummaryTitle<P extends ErrorSummaryProps> extends Title<P> {}
|
5
7
|
}
|
6
8
|
|
7
9
|
declare module 'shinkansen-sprockets/sprockets/error-summary/title' {
|
10
|
+
export type ErrorSummaryProps = SprocketsTypes.Components.Title.ErrorSummary.ErrorSummaryProps
|
11
|
+
|
8
12
|
export { default } from '#sprockets/sprockets/error-summary/title'
|
9
13
|
}
|
@@ -1,11 +1,18 @@
|
|
1
1
|
/**
|
2
|
-
*
|
2
|
+
* @typedef {SprocketsTypes.Components.Title.TitleProps} TitleProps
|
3
|
+
* @typedef {SprocketsTypes.Components.Title.ErrorSummary.ErrorSummaryProps} ErrorSummaryProps
|
3
4
|
*/
|
4
5
|
|
6
|
+
/**
|
7
|
+
* ErrorSummaryTitle component
|
8
|
+
*/
|
5
9
|
import React from 'react'
|
6
10
|
import classnames from 'classnames'
|
7
11
|
import Title from '#sprockets/components/title'
|
8
12
|
|
13
|
+
/**
|
14
|
+
* @extends {Title<TitleProps & ErrorSummaryProps>}
|
15
|
+
*/
|
9
16
|
export default class ErrorSummaryTitle extends Title {
|
10
17
|
getClassName () {
|
11
18
|
return classnames(super.getClassName(), 'error-summary')
|
@@ -23,7 +30,3 @@ export default class ErrorSummaryTitle extends Title {
|
|
23
30
|
return null
|
24
31
|
}
|
25
32
|
}
|
26
|
-
|
27
|
-
ErrorSummaryTitle.propTypes = {
|
28
|
-
...Title.propTypes
|
29
|
-
}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* FieldsetDescription component
|
3
3
|
*/
|
4
|
-
|
5
4
|
import classnames from 'classnames'
|
6
5
|
import Description from '#sprockets/components/description'
|
7
6
|
|
@@ -10,7 +9,3 @@ export default class FieldsetDescription extends Description {
|
|
10
9
|
return classnames(super.getClassName(), 'fieldset')
|
11
10
|
}
|
12
11
|
}
|
13
|
-
|
14
|
-
FieldsetDescription.propTypes = {
|
15
|
-
...Description.propTypes
|
16
|
-
}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* FieldsetErrorMessage component
|
3
3
|
*/
|
4
|
-
|
5
4
|
import classnames from 'classnames'
|
6
5
|
import ErrorMessage from '#sprockets/components/error-message'
|
7
6
|
|
@@ -10,7 +9,3 @@ export default class FieldsetErrorMessage extends ErrorMessage {
|
|
10
9
|
return classnames(super.getClassName(), 'fieldset')
|
11
10
|
}
|
12
11
|
}
|
13
|
-
|
14
|
-
FieldsetErrorMessage.propTypes = {
|
15
|
-
...ErrorMessage.propTypes
|
16
|
-
}
|
@@ -1,9 +1,15 @@
|
|
1
1
|
declare module '#sprockets/sprockets/fieldset/group' {
|
2
2
|
import Group from '#sprockets/components/group'
|
3
3
|
|
4
|
-
|
4
|
+
type FieldsetProps = SprocketsTypes.Components.Group.Fieldset.FieldsetProps
|
5
|
+
type FieldsetState = SprocketsTypes.Components.Group.Fieldset.FieldsetState
|
6
|
+
|
7
|
+
export default class FieldsetGroup<P extends FieldsetProps, S extends FieldsetState> extends Group<P, S> {}
|
5
8
|
}
|
6
9
|
|
7
10
|
declare module 'shinkansen-sprockets/sprockets/fieldset/group' {
|
11
|
+
export type FieldsetProps = SprocketsTypes.Components.Group.Fieldset.FieldsetProps
|
12
|
+
export type FieldsetState = SprocketsTypes.Components.Group.Fieldset.FieldsetState
|
13
|
+
|
8
14
|
export { default } from '#sprockets/sprockets/fieldset/group'
|
9
15
|
}
|
@@ -1,16 +1,21 @@
|
|
1
1
|
/**
|
2
|
-
*
|
2
|
+
* @typedef {SprocketsTypes.Components.Group.GroupProps} GroupProps
|
3
|
+
* @typedef {SprocketsTypes.Components.Group.GroupState} GroupState
|
4
|
+
* @typedef {SprocketsTypes.Components.Group.Fieldset.FieldsetProps} FieldsetProps
|
5
|
+
* @typedef {SprocketsTypes.Components.Group.Fieldset.FieldsetState} FieldsetState
|
3
6
|
*/
|
4
7
|
|
8
|
+
/**
|
9
|
+
* FieldsetGroup component
|
10
|
+
*/
|
5
11
|
import classnames from 'classnames'
|
6
12
|
import Group from '#sprockets/components/group'
|
7
13
|
|
14
|
+
/**
|
15
|
+
* @extends {Group<GroupProps & FieldsetProps, GroupState & FieldsetState>}
|
16
|
+
*/
|
8
17
|
export default class FieldsetGroup extends Group {
|
9
18
|
getClassName () {
|
10
19
|
return classnames(super.getClassName(), 'fieldset')
|
11
20
|
}
|
12
21
|
}
|
13
|
-
|
14
|
-
FieldsetGroup.propTypes = {
|
15
|
-
...Group.propTypes
|
16
|
-
}
|
@@ -1,9 +1,19 @@
|
|
1
1
|
declare module '#sprockets/sprockets/fieldset' {
|
2
|
+
import type React from 'react'
|
3
|
+
|
2
4
|
import Sprocket from '#sprockets/sprockets'
|
3
5
|
|
4
|
-
|
6
|
+
type FieldsetProps = SprocketsTypes.Sprockets.Sprocket.Fieldset.FieldsetProps
|
7
|
+
|
8
|
+
export default class FieldsetSprocket<P extends FieldsetProps> extends Sprocket<P> {
|
9
|
+
renderDescription (): React.JSX.Element | null
|
10
|
+
|
11
|
+
renderErrorMessage (): React.JSX.Element | null
|
12
|
+
}
|
5
13
|
}
|
6
14
|
|
7
15
|
declare module 'shinkansen-sprockets/sprockets/fieldset' {
|
16
|
+
export type FieldsetProps = SprocketsTypes.Sprockets.Sprocket.Fieldset.FieldsetProps
|
17
|
+
|
8
18
|
export { default } from '#sprockets/sprockets/fieldset'
|
9
19
|
}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
/**
|
2
|
-
*
|
3
|
-
*
|
4
|
-
* @typedef {import('shinkansen-sprockets/sprockets').SprocketProps} SprocketProps
|
2
|
+
* @typedef {SprocketsTypes.Sprockets.Sprocket.SprocketProps} SprocketProps
|
3
|
+
* @typedef {SprocketsTypes.Sprockets.Sprocket.Fieldset.FieldsetProps} FieldsetProps
|
5
4
|
*/
|
6
5
|
|
6
|
+
/**
|
7
|
+
* FieldsetSprocket component
|
8
|
+
*/
|
7
9
|
import React from 'react'
|
8
10
|
import PropTypes from 'prop-types'
|
9
11
|
|
@@ -11,15 +13,14 @@ import classnames from 'classnames'
|
|
11
13
|
|
12
14
|
import Sprocket from '#sprockets/sprockets'
|
13
15
|
|
14
|
-
import {
|
15
|
-
DEFAULT_HANDLE_CHANGE
|
16
|
-
} from '#sprockets/common'
|
17
|
-
|
18
16
|
import Title from './title/index.jsx'
|
19
17
|
import Description from './description/index.jsx'
|
20
18
|
import ErrorMessage from './error-message/index.jsx'
|
21
19
|
import Group from './group/index.jsx'
|
22
20
|
|
21
|
+
/**
|
22
|
+
* @extends {Sprocket<SprocketProps & FieldsetProps>}
|
23
|
+
*/
|
23
24
|
export default class FieldsetSprocket extends Sprocket {
|
24
25
|
getClassName () {
|
25
26
|
const {
|
@@ -30,14 +31,20 @@ export default class FieldsetSprocket extends Sprocket {
|
|
30
31
|
}
|
31
32
|
|
32
33
|
/**
|
33
|
-
*
|
34
|
-
*
|
34
|
+
* @param {FieldsetProps} props
|
35
|
+
* @returns {boolean}
|
35
36
|
*/
|
36
|
-
shouldComponentUpdate (props
|
37
|
+
shouldComponentUpdate (props) {
|
38
|
+
const {
|
39
|
+
description,
|
40
|
+
errorMessage,
|
41
|
+
...superProps
|
42
|
+
} = props
|
43
|
+
|
37
44
|
return (
|
38
|
-
super.shouldComponentUpdate(
|
39
|
-
(
|
40
|
-
(
|
45
|
+
super.shouldComponentUpdate(superProps) ||
|
46
|
+
(description !== this.props.description) ||
|
47
|
+
(errorMessage !== this.props.errorMessage)
|
41
48
|
)
|
42
49
|
}
|
43
50
|
|
@@ -79,13 +86,11 @@ export default class FieldsetSprocket extends Sprocket {
|
|
79
86
|
|
80
87
|
renderGroup () {
|
81
88
|
const {
|
82
|
-
onChange = DEFAULT_HANDLE_CHANGE,
|
83
89
|
children
|
84
90
|
} = this.props
|
85
91
|
|
86
92
|
return (
|
87
|
-
<Group
|
88
|
-
onChange={onChange}>
|
93
|
+
<Group>
|
89
94
|
{this.renderTitle()}
|
90
95
|
{this.renderDescription()}
|
91
96
|
{this.renderErrorMessage()}
|
@@ -100,7 +105,7 @@ FieldsetSprocket.propTypes = {
|
|
100
105
|
description: PropTypes.string,
|
101
106
|
errorMessage: PropTypes.shape({
|
102
107
|
type: PropTypes.string.isRequired,
|
103
|
-
params: PropTypes.shape().isRequired,
|
108
|
+
params: PropTypes.shape({}).isRequired,
|
104
109
|
uri: PropTypes.string.isRequired
|
105
110
|
})
|
106
111
|
}
|
@@ -1,9 +1,13 @@
|
|
1
1
|
declare module '#sprockets/sprockets/fieldset/title' {
|
2
2
|
import Title from '#sprockets/components/title'
|
3
3
|
|
4
|
-
|
4
|
+
type FieldsetProps = SprocketsTypes.Components.Title.Fieldset.FieldsetProps
|
5
|
+
|
6
|
+
export default class FieldsetTitle<P extends FieldsetProps> extends Title<P> {}
|
5
7
|
}
|
6
8
|
|
7
9
|
declare module 'shinkansen-sprockets/sprockets/fieldset/title' {
|
10
|
+
export type FieldsetProps = SprocketsTypes.Components.Title.Fieldset.FieldsetProps
|
11
|
+
|
8
12
|
export { default } from '#sprockets/sprockets/fieldset/title'
|
9
13
|
}
|
@@ -1,15 +1,19 @@
|
|
1
|
+
/**
|
2
|
+
* @typedef {SprocketsTypes.Components.Title.TitleProps} TitleProps
|
3
|
+
* @typedef {SprocketsTypes.Components.Title.Fieldset.FieldsetProps} FieldsetProps
|
4
|
+
*/
|
5
|
+
|
1
6
|
/**
|
2
7
|
* FieldsetTitle component
|
3
8
|
*/
|
4
9
|
import classnames from 'classnames'
|
5
10
|
import Title from '#sprockets/components/title'
|
6
11
|
|
12
|
+
/**
|
13
|
+
* @extends {Title<TitleProps & FieldsetProps>}
|
14
|
+
*/
|
7
15
|
export default class FieldsetTitle extends Title {
|
8
16
|
getClassName () {
|
9
17
|
return classnames(super.getClassName(), 'fieldset')
|
10
18
|
}
|
11
19
|
}
|
12
|
-
|
13
|
-
FieldsetTitle.propTypes = {
|
14
|
-
...Title.propTypes
|
15
|
-
}
|
package/src/sprockets/index.cjs
CHANGED
@@ -10,11 +10,8 @@ const log = debug('shinkansen-sprockets/sprockets')
|
|
10
10
|
|
11
11
|
log('`shinkansen` is awake')
|
12
12
|
|
13
|
-
/**
|
14
|
-
* Has only default export
|
15
|
-
*/
|
16
13
|
const {
|
17
|
-
default: component
|
14
|
+
default: component // @ts-ignore
|
18
15
|
} = require('./index.jsx')
|
19
16
|
|
20
17
|
module.exports = component
|
@@ -1,17 +1,23 @@
|
|
1
1
|
declare module '#sprockets/sprockets' {
|
2
2
|
import React from 'react'
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
type SprocketProps = SprocketsTypes.Sprockets.Sprocket.SprocketProps
|
5
|
+
|
6
|
+
export default class Sprocket<P extends SprocketProps> extends React.Component<P> {
|
7
|
+
static propTypes: object
|
8
|
+
|
9
|
+
getClassName (): string
|
10
|
+
|
11
|
+
shouldComponentUpdate (props: SprocketProps): boolean
|
10
12
|
|
11
|
-
|
13
|
+
renderTitle (): React.JSX.Element | null
|
14
|
+
|
15
|
+
renderGroup (): React.JSX.Element | null
|
16
|
+
}
|
12
17
|
}
|
13
18
|
|
14
19
|
declare module 'shinkansen-sprockets/sprockets' {
|
20
|
+
export type SprocketProps = SprocketsTypes.Sprockets.Sprocket.SprocketProps
|
21
|
+
|
15
22
|
export { default } from '#sprockets/sprockets'
|
16
|
-
export * from '#sprockets/sprockets'
|
17
23
|
}
|
package/src/sprockets/index.jsx
CHANGED
@@ -1,16 +1,13 @@
|
|
1
1
|
/**
|
2
|
-
* Sprocket
|
3
|
-
*
|
4
|
-
* @typedef {import('shinkansen-sprockets/sprockets').SprocketProps} SprocketProps
|
2
|
+
* @typedef {SprocketsTypes.Sprockets.Sprocket.SprocketProps} SprocketProps
|
5
3
|
*/
|
6
4
|
|
5
|
+
/**
|
6
|
+
* Sprocket component
|
7
|
+
*/
|
7
8
|
import React, { Component } from 'react'
|
8
9
|
import PropTypes from 'prop-types'
|
9
10
|
|
10
|
-
import {
|
11
|
-
DEFAULT_HANDLE_CHANGE
|
12
|
-
} from '#sprockets/common'
|
13
|
-
|
14
11
|
import Title from '#sprockets/components/title'
|
15
12
|
import Group from '#sprockets/components/group'
|
16
13
|
|
@@ -20,14 +17,13 @@ export default class Sprocket extends Component {
|
|
20
17
|
}
|
21
18
|
|
22
19
|
/**
|
23
|
-
*
|
24
|
-
*
|
20
|
+
* @param {SprocketProps} props
|
21
|
+
* @returns {boolean}
|
25
22
|
*/
|
26
|
-
shouldComponentUpdate (props
|
23
|
+
shouldComponentUpdate (props) {
|
27
24
|
return (
|
28
25
|
(props.children !== this.props.children) ||
|
29
|
-
(props.title !== this.props.title)
|
30
|
-
(props.onChange !== this.props.onChange)
|
26
|
+
(props.title !== this.props.title)
|
31
27
|
)
|
32
28
|
}
|
33
29
|
|
@@ -45,14 +41,12 @@ export default class Sprocket extends Component {
|
|
45
41
|
|
46
42
|
renderGroup () {
|
47
43
|
const {
|
48
|
-
onChange = DEFAULT_HANDLE_CHANGE,
|
49
44
|
groupRef,
|
50
45
|
children
|
51
46
|
} = this.props
|
52
47
|
|
53
48
|
return (
|
54
49
|
<Group
|
55
|
-
onChange={onChange}
|
56
50
|
groupRef={groupRef}>
|
57
51
|
{this.renderTitle()}
|
58
52
|
{children}
|
@@ -73,7 +67,6 @@ export default class Sprocket extends Component {
|
|
73
67
|
|
74
68
|
Sprocket.propTypes = {
|
75
69
|
title: PropTypes.string,
|
76
|
-
onChange: PropTypes.func,
|
77
70
|
children: PropTypes.oneOfType([
|
78
71
|
PropTypes.node,
|
79
72
|
PropTypes.arrayOf(
|
@@ -81,6 +74,6 @@ Sprocket.propTypes = {
|
|
81
74
|
)
|
82
75
|
]),
|
83
76
|
groupRef: PropTypes.shape({
|
84
|
-
current: PropTypes.shape().isRequired
|
77
|
+
current: PropTypes.shape({}).isRequired
|
85
78
|
})
|
86
79
|
}
|