shinkansen-sprockets 1.2.21 → 1.3.1
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 +2 -1
- package/eslint.config.mjs +16 -3
- package/index.d.mts +84 -59
- package/package.json +35 -10
- package/src/components/common/text-content/index.cjs +5 -2
- package/src/components/common/text-content/index.jsx +1 -1
- package/src/components/common/visually-hidden-text/index.cjs +5 -2
- package/src/components/common/visually-hidden-text/index.jsx +1 -1
- package/src/components/description/index.cjs +5 -2
- package/src/components/description/index.d.mts +2 -11
- package/src/components/description/index.jsx +2 -44
- package/src/components/error-message/index.cjs +5 -2
- package/src/components/error-message/index.d.mts +2 -20
- package/src/components/error-message/index.jsx +2 -118
- package/src/components/group/index.cjs +5 -2
- package/src/components/group/index.d.mts +2 -12
- package/src/components/group/index.jsx +2 -49
- package/src/components/index.cjs +1 -1
- package/src/components/index.d.cts +4 -4
- package/src/components/index.d.mts +4 -4
- package/src/components/index.mjs +4 -4
- package/src/components/title/index.cjs +5 -2
- package/src/components/title/index.d.mts +2 -17
- package/src/components/title/index.jsx +2 -70
- package/src/sprockets/check-answers/group/change-answer.jsx +4 -4
- package/src/sprockets/check-answers/group/index.cjs +5 -2
- package/src/sprockets/check-answers/group/index.d.mts +3 -3
- package/src/sprockets/check-answers/group/index.jsx +9 -9
- package/src/sprockets/check-answers/index.cjs +5 -2
- package/src/sprockets/check-answers/index.d.mts +1 -1
- package/src/sprockets/check-answers/index.jsx +3 -3
- package/src/sprockets/check-answers/title/index.cjs +5 -2
- package/src/sprockets/check-answers/title/index.d.mts +2 -2
- package/src/sprockets/check-answers/title/index.jsx +5 -4
- package/src/sprockets/error-summary/group/index.cjs +5 -2
- package/src/sprockets/error-summary/group/index.d.mts +3 -3
- package/src/sprockets/error-summary/group/index.jsx +9 -9
- package/src/sprockets/error-summary/index.cjs +5 -2
- package/src/sprockets/error-summary/index.d.mts +1 -1
- package/src/sprockets/error-summary/index.jsx +3 -3
- package/src/sprockets/error-summary/title/index.cjs +5 -2
- package/src/sprockets/error-summary/title/index.d.mts +2 -2
- package/src/sprockets/error-summary/title/index.jsx +5 -4
- package/src/sprockets/fieldset/description/index.cjs +5 -2
- package/src/sprockets/fieldset/description/index.d.mts +1 -1
- package/src/sprockets/fieldset/description/index.jsx +2 -2
- package/src/sprockets/fieldset/error-message/index.cjs +5 -2
- package/src/sprockets/fieldset/error-message/index.d.mts +1 -1
- package/src/sprockets/fieldset/error-message/index.jsx +2 -2
- package/src/sprockets/fieldset/group/index.cjs +5 -2
- package/src/sprockets/fieldset/group/index.d.mts +3 -3
- package/src/sprockets/fieldset/group/index.jsx +6 -6
- package/src/sprockets/fieldset/index.cjs +5 -2
- package/src/sprockets/fieldset/index.d.mts +1 -1
- package/src/sprockets/fieldset/index.jsx +3 -3
- package/src/sprockets/fieldset/title/index.cjs +5 -2
- package/src/sprockets/fieldset/title/index.d.mts +2 -2
- package/src/sprockets/fieldset/title/index.jsx +5 -4
- package/src/sprockets/index.cjs +5 -2
- package/src/sprockets/index.d.mts +2 -15
- package/src/sprockets/index.jsx +2 -76
- package/src/super/components/description/index.cjs +20 -0
- package/src/super/components/description/index.d.cts +2 -0
- package/src/super/components/description/index.d.mts +18 -0
- package/src/super/components/description/index.jsx +47 -0
- package/src/super/components/error-message/index.cjs +20 -0
- package/src/super/components/error-message/index.d.cts +2 -0
- package/src/super/components/error-message/index.d.mts +27 -0
- package/src/super/components/error-message/index.jsx +121 -0
- package/src/super/components/group/index.cjs +20 -0
- package/src/super/components/group/index.d.cts +2 -0
- package/src/super/components/group/index.d.mts +19 -0
- package/src/super/components/group/index.jsx +52 -0
- package/src/super/components/index.cjs +16 -0
- package/src/super/components/index.d.cts +4 -0
- package/src/super/components/index.d.mts +4 -0
- package/src/super/components/index.mjs +10 -0
- package/src/super/components/title/index.cjs +20 -0
- package/src/super/components/title/index.d.cts +2 -0
- package/src/super/components/title/index.d.mts +24 -0
- package/src/super/components/title/index.jsx +73 -0
- package/src/super/sprockets/index.cjs +20 -0
- package/src/super/sprockets/index.d.cts +2 -0
- package/src/super/sprockets/index.d.mts +22 -0
- package/src/super/sprockets/index.jsx +79 -0
- package/src/common/index.d.mts +0 -1
- package/src/common/index.mjs +0 -1
@@ -0,0 +1,24 @@
|
|
1
|
+
declare module '#sprockets/super/components/title' {
|
2
|
+
import React from 'react'
|
3
|
+
|
4
|
+
export type TitleProps = SprocketsTypes.Super.Components.Title.TitleProps
|
5
|
+
|
6
|
+
export default class Title<P extends TitleProps> extends React.Component<P> {
|
7
|
+
static propTypes: object
|
8
|
+
|
9
|
+
hasTextContent (): boolean
|
10
|
+
|
11
|
+
getTextContent (): string
|
12
|
+
|
13
|
+
getClassName (): string
|
14
|
+
|
15
|
+
shouldComponentUpdate (props: TitleProps): boolean
|
16
|
+
|
17
|
+
renderTextContent (): React.JSX.Element | null
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
declare module 'shinkansen-sprockets/super/components/title' {
|
22
|
+
export { default } from '#sprockets/super/components/title'
|
23
|
+
export * from '#sprockets/super/components/title'
|
24
|
+
}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
/**
|
2
|
+
* @typedef {SprocketsTypes.Super.Components.Title.TitleProps} TitleProps
|
3
|
+
*/
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Title 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 Title extends Component {
|
14
|
+
hasTextContent () {
|
15
|
+
const {
|
16
|
+
title
|
17
|
+
} = this.props
|
18
|
+
|
19
|
+
return !!title
|
20
|
+
}
|
21
|
+
|
22
|
+
getTextContent () {
|
23
|
+
const {
|
24
|
+
title
|
25
|
+
} = this.props
|
26
|
+
|
27
|
+
return title
|
28
|
+
}
|
29
|
+
|
30
|
+
getClassName () {
|
31
|
+
return 'title'
|
32
|
+
}
|
33
|
+
|
34
|
+
/**
|
35
|
+
* @param {TitleProps} props
|
36
|
+
* @returns {boolean}
|
37
|
+
*/
|
38
|
+
shouldComponentUpdate (props) {
|
39
|
+
return (
|
40
|
+
(props.title !== this.props.title)
|
41
|
+
)
|
42
|
+
}
|
43
|
+
|
44
|
+
renderTextContent () {
|
45
|
+
if (this.hasTextContent()) {
|
46
|
+
const textContent = this.getTextContent()
|
47
|
+
|
48
|
+
return (
|
49
|
+
<TextContent
|
50
|
+
textContent={textContent}
|
51
|
+
/>
|
52
|
+
)
|
53
|
+
}
|
54
|
+
|
55
|
+
return null
|
56
|
+
}
|
57
|
+
|
58
|
+
render () {
|
59
|
+
if (this.hasTextContent()) {
|
60
|
+
return (
|
61
|
+
<legend className={this.getClassName()}>
|
62
|
+
{this.renderTextContent()}
|
63
|
+
</legend>
|
64
|
+
)
|
65
|
+
}
|
66
|
+
|
67
|
+
return null
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
Title.propTypes = {
|
72
|
+
title: PropTypes.string
|
73
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require('@babel/register')({
|
2
|
+
ignore: [
|
3
|
+
/node_modules\/(?!shinkansen|@modernpoacher)/
|
4
|
+
]
|
5
|
+
})
|
6
|
+
|
7
|
+
const debug = require('debug')
|
8
|
+
|
9
|
+
const log = debug('shinkansen-sprockets/super/sprockets')
|
10
|
+
|
11
|
+
log('`shinkansen` is awake')
|
12
|
+
|
13
|
+
const {
|
14
|
+
default: Sprocket // @ts-expect-error
|
15
|
+
} = require('./index.jsx')
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Exports only default
|
19
|
+
*/
|
20
|
+
module.exports = Sprocket
|
@@ -0,0 +1,22 @@
|
|
1
|
+
declare module '#sprockets/super/sprockets' {
|
2
|
+
import React from 'react'
|
3
|
+
|
4
|
+
export type SprocketProps = SprocketsTypes.Sprockets.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
|
12
|
+
|
13
|
+
renderTitle (): React.JSX.Element | null
|
14
|
+
|
15
|
+
renderGroup (): React.JSX.Element | null
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
declare module 'shinkansen-sprockets/super/sprockets' {
|
20
|
+
export { default } from '#sprockets/super/sprockets'
|
21
|
+
export * from '#sprockets/super/sprockets'
|
22
|
+
}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
/**
|
2
|
+
* @typedef {SprocketsTypes.Sprockets.SprocketProps} SprocketProps
|
3
|
+
*/
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Sprocket component
|
7
|
+
*/
|
8
|
+
import React, { Component } from 'react'
|
9
|
+
import PropTypes from 'prop-types'
|
10
|
+
|
11
|
+
import Title from '#sprockets/super/components/title'
|
12
|
+
import Group from '#sprockets/super/components/group'
|
13
|
+
|
14
|
+
export default class Sprocket extends Component {
|
15
|
+
getClassName () {
|
16
|
+
return 'sprocket'
|
17
|
+
}
|
18
|
+
|
19
|
+
/**
|
20
|
+
* @param {SprocketProps} props
|
21
|
+
* @returns {boolean}
|
22
|
+
*/
|
23
|
+
shouldComponentUpdate (props) {
|
24
|
+
return (
|
25
|
+
(props.children !== this.props.children) ||
|
26
|
+
(props.title !== this.props.title)
|
27
|
+
)
|
28
|
+
}
|
29
|
+
|
30
|
+
renderTitle () {
|
31
|
+
const {
|
32
|
+
title
|
33
|
+
} = this.props
|
34
|
+
|
35
|
+
return (
|
36
|
+
<Title
|
37
|
+
title={title}
|
38
|
+
/>
|
39
|
+
)
|
40
|
+
}
|
41
|
+
|
42
|
+
renderGroup () {
|
43
|
+
const {
|
44
|
+
groupRef,
|
45
|
+
children
|
46
|
+
} = this.props
|
47
|
+
|
48
|
+
return (
|
49
|
+
<Group
|
50
|
+
groupRef={groupRef}>
|
51
|
+
{this.renderTitle()}
|
52
|
+
{children}
|
53
|
+
</Group>
|
54
|
+
)
|
55
|
+
}
|
56
|
+
|
57
|
+
render () {
|
58
|
+
const className = this.getClassName()
|
59
|
+
|
60
|
+
return (
|
61
|
+
<div className={className}>
|
62
|
+
{this.renderGroup()}
|
63
|
+
</div>
|
64
|
+
)
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
Sprocket.propTypes = {
|
69
|
+
title: PropTypes.string,
|
70
|
+
children: PropTypes.oneOfType([
|
71
|
+
PropTypes.node,
|
72
|
+
PropTypes.arrayOf(
|
73
|
+
PropTypes.node
|
74
|
+
)
|
75
|
+
]),
|
76
|
+
groupRef: PropTypes.shape({
|
77
|
+
current: PropTypes.shape({}).isRequired
|
78
|
+
})
|
79
|
+
}
|
package/src/common/index.d.mts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export {}
|
package/src/common/index.mjs
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export default {}
|