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.
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 +35 -10
  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
@@ -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,2 @@
1
+ export { default } from '#sprockets/super/sprockets'
2
+ export * from '#sprockets/super/sprockets'
@@ -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
+ }
@@ -1 +0,0 @@
1
- export {}
@@ -1 +0,0 @@
1
- export default {}