@modernpoacher/sprockets 0.0.288 → 1.0.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 (165) hide show
  1. package/.prettierignore +4 -0
  2. package/babel.config.cjs +6 -2
  3. package/eslint.config.mjs +33 -71
  4. package/index.d.mts +156 -6
  5. package/jest.after-each.mjs +10 -0
  6. package/jest.before-each.mjs +10 -0
  7. package/jest.config.mjs +11 -1
  8. package/package.json +93 -35
  9. package/src/js/components/common/text-content/index.cjs +20 -0
  10. package/src/js/components/common/text-content/index.d.cts +2 -0
  11. package/src/{components → js/components}/common/text-content/index.d.mts +1 -3
  12. package/src/{components → js/components}/common/text-content/index.jsx +7 -6
  13. package/src/{components → js/components}/common/visually-hidden-text/index.cjs +5 -2
  14. package/src/js/components/common/visually-hidden-text/index.d.cts +2 -0
  15. package/src/{components → js/components}/common/visually-hidden-text/index.d.mts +1 -3
  16. package/src/{components → js/components}/common/visually-hidden-text/index.jsx +7 -6
  17. package/src/{components → js/components}/description/index.cjs +5 -2
  18. package/src/js/components/description/index.d.cts +2 -0
  19. package/src/{components → js/components}/description/index.d.mts +2 -7
  20. package/src/js/components/description/index.jsx +5 -0
  21. package/src/{components → js/components}/error-message/index.cjs +5 -2
  22. package/src/js/components/error-message/index.d.cts +2 -0
  23. package/src/{components → js/components}/error-message/index.d.mts +2 -7
  24. package/src/js/components/error-message/index.jsx +5 -0
  25. package/src/{components → js/components}/group/index.cjs +5 -2
  26. package/src/js/components/group/index.d.cts +2 -0
  27. package/src/js/components/group/index.d.mts +9 -0
  28. package/src/js/components/group/index.jsx +5 -0
  29. package/src/js/components/index.cjs +32 -0
  30. package/src/js/components/index.d.cts +4 -0
  31. package/src/js/components/index.d.mts +4 -0
  32. package/src/js/components/index.mjs +10 -0
  33. package/src/{components → js/components}/title/index.cjs +5 -2
  34. package/src/js/components/title/index.d.cts +2 -0
  35. package/src/{components → js/components}/title/index.d.mts +2 -7
  36. package/src/js/components/title/index.jsx +5 -0
  37. package/src/js/index.d.cts +34 -0
  38. package/src/js/index.d.mts +34 -0
  39. package/src/js/sprockets/check-answers/group/answer-item.d.cts +1 -0
  40. package/src/js/sprockets/check-answers/group/answer-item.d.mts +11 -0
  41. package/src/{sprockets → js/sprockets}/check-answers/group/answer-item.jsx +9 -0
  42. package/src/{sprockets → js/sprockets}/check-answers/group/answer-title.cjs +1 -0
  43. package/src/js/sprockets/check-answers/group/answer-title.d.cts +1 -0
  44. package/src/js/sprockets/check-answers/group/answer-title.d.mts +9 -0
  45. package/src/{sprockets → js/sprockets}/check-answers/group/answer-title.jsx +2 -2
  46. package/src/{sprockets → js/sprockets}/check-answers/group/answer-value.cjs +1 -0
  47. package/src/js/sprockets/check-answers/group/answer-value.d.cts +1 -0
  48. package/src/js/sprockets/check-answers/group/answer-value.d.mts +9 -0
  49. package/src/js/sprockets/check-answers/group/answer-value.jsx +63 -0
  50. package/src/{sprockets → js/sprockets}/check-answers/group/change-answer.cjs +1 -0
  51. package/src/js/sprockets/check-answers/group/change-answer.d.cts +1 -0
  52. package/src/js/sprockets/check-answers/group/change-answer.d.mts +9 -0
  53. package/src/{sprockets → js/sprockets}/check-answers/group/change-answer.jsx +20 -12
  54. package/src/{sprockets → js/sprockets}/check-answers/group/index.cjs +5 -2
  55. package/src/js/sprockets/check-answers/group/index.d.cts +2 -0
  56. package/src/js/sprockets/check-answers/group/index.d.mts +13 -0
  57. package/src/js/sprockets/check-answers/group/index.jsx +134 -0
  58. package/src/{sprockets → js/sprockets}/check-answers/index.cjs +5 -2
  59. package/src/js/sprockets/check-answers/index.d.cts +2 -0
  60. package/src/js/sprockets/check-answers/index.d.mts +12 -0
  61. package/src/{sprockets → js/sprockets}/check-answers/index.jsx +25 -12
  62. package/src/{sprockets → js/sprockets}/check-answers/title/index.cjs +5 -2
  63. package/src/js/sprockets/check-answers/title/index.d.cts +2 -0
  64. package/src/js/sprockets/check-answers/title/index.d.mts +12 -0
  65. package/src/js/sprockets/check-answers/title/index.jsx +37 -0
  66. package/src/{sprockets → js/sprockets}/error-summary/group/index.cjs +5 -2
  67. package/src/js/sprockets/error-summary/group/index.d.cts +2 -0
  68. package/src/js/sprockets/error-summary/group/index.d.mts +13 -0
  69. package/src/js/sprockets/error-summary/group/index.jsx +124 -0
  70. package/src/{sprockets → js/sprockets}/error-summary/index.cjs +5 -2
  71. package/src/js/sprockets/error-summary/index.d.cts +2 -0
  72. package/src/js/sprockets/error-summary/index.d.mts +12 -0
  73. package/src/{sprockets → js/sprockets}/error-summary/index.jsx +26 -13
  74. package/src/{sprockets → js/sprockets}/error-summary/title/index.cjs +5 -2
  75. package/src/js/sprockets/error-summary/title/index.d.cts +2 -0
  76. package/src/js/sprockets/error-summary/title/index.d.mts +12 -0
  77. package/src/js/sprockets/error-summary/title/index.jsx +37 -0
  78. package/src/{sprockets → js/sprockets}/fieldset/description/index.cjs +5 -2
  79. package/src/js/sprockets/fieldset/description/index.d.cts +1 -0
  80. package/src/{sprockets → js/sprockets}/fieldset/description/index.jsx +2 -7
  81. package/src/{sprockets → js/sprockets}/fieldset/error-message/index.cjs +5 -2
  82. package/src/js/sprockets/fieldset/error-message/index.d.cts +1 -0
  83. package/src/{sprockets → js/sprockets}/fieldset/error-message/index.d.mts +1 -1
  84. package/src/{sprockets → js/sprockets}/fieldset/error-message/index.jsx +2 -7
  85. package/src/{sprockets → js/sprockets}/fieldset/group/index.cjs +5 -2
  86. package/src/js/sprockets/fieldset/group/index.d.cts +2 -0
  87. package/src/js/sprockets/fieldset/group/index.d.mts +13 -0
  88. package/src/js/sprockets/fieldset/group/index.jsx +21 -0
  89. package/src/{sprockets → js/sprockets}/fieldset/index.cjs +5 -2
  90. package/src/js/sprockets/fieldset/index.d.cts +2 -0
  91. package/src/js/sprockets/fieldset/index.d.mts +18 -0
  92. package/src/{sprockets → js/sprockets}/fieldset/index.jsx +26 -26
  93. package/src/{sprockets → js/sprockets}/fieldset/title/index.cjs +5 -2
  94. package/src/js/sprockets/fieldset/title/index.d.cts +2 -0
  95. package/src/js/sprockets/fieldset/title/index.d.mts +12 -0
  96. package/src/js/sprockets/fieldset/title/index.jsx +20 -0
  97. package/src/{sprockets → js/sprockets}/index.cjs +5 -5
  98. package/src/js/sprockets/index.d.cts +2 -0
  99. package/src/js/sprockets/index.d.mts +9 -0
  100. package/src/js/sprockets/index.jsx +5 -0
  101. package/src/js/super/components/description/index.cjs +20 -0
  102. package/src/js/super/components/description/index.d.cts +2 -0
  103. package/src/js/super/components/description/index.d.mts +18 -0
  104. package/src/{components → js/super/components}/description/index.jsx +15 -3
  105. package/src/js/super/components/error-message/index.cjs +20 -0
  106. package/src/js/super/components/error-message/index.d.cts +2 -0
  107. package/src/js/super/components/error-message/index.d.mts +27 -0
  108. package/src/{components → js/super/components}/error-message/index.jsx +8 -6
  109. package/src/js/super/components/group/index.cjs +20 -0
  110. package/src/js/super/components/group/index.d.cts +2 -0
  111. package/src/js/super/components/group/index.d.mts +19 -0
  112. package/src/js/super/components/group/index.jsx +59 -0
  113. package/src/js/super/components/index.cjs +32 -0
  114. package/src/js/super/components/index.d.cts +4 -0
  115. package/src/js/super/components/index.d.mts +4 -0
  116. package/src/js/super/components/index.mjs +10 -0
  117. package/src/js/super/components/title/index.cjs +20 -0
  118. package/src/js/super/components/title/index.d.cts +2 -0
  119. package/src/js/super/components/title/index.d.mts +20 -0
  120. package/src/js/super/components/title/index.jsx +62 -0
  121. package/src/{components/common/text-content → js/super/sprockets}/index.cjs +6 -3
  122. package/src/js/super/sprockets/index.d.cts +2 -0
  123. package/src/js/super/sprockets/index.d.mts +22 -0
  124. package/src/{sprockets → js/super/sprockets}/index.jsx +11 -18
  125. package/src/js/transformers/common/index.d.mts +1 -0
  126. package/src/{transformers → js/transformers}/common/index.mjs +5 -5
  127. package/src/js/transformers/index.d.mts +1 -0
  128. package/src/js/transformers/index.mjs +1 -0
  129. package/src/sass/.stylelintrc +14 -0
  130. package/src/sass/_sprockets.scss +77 -0
  131. package/src/sass/sprockets/_check-answers.scss +54 -0
  132. package/src/sass/sprockets/_error-summary.scss +57 -0
  133. package/src/sass/sprockets/_error.scss +47 -0
  134. package/jsconfig.json +0 -5
  135. package/src/common/index.d.mts +0 -9
  136. package/src/common/index.mjs +0 -7
  137. package/src/components/group/index.d.mts +0 -16
  138. package/src/components/group/index.jsx +0 -59
  139. package/src/components/title/index.jsx +0 -59
  140. package/src/index.d.mts +0 -9
  141. package/src/sprockets/check-answers/group/answer-value.jsx +0 -46
  142. package/src/sprockets/check-answers/group/index.d.mts +0 -9
  143. package/src/sprockets/check-answers/group/index.jsx +0 -125
  144. package/src/sprockets/check-answers/index.d.mts +0 -9
  145. package/src/sprockets/check-answers/title/index.d.mts +0 -9
  146. package/src/sprockets/check-answers/title/index.jsx +0 -29
  147. package/src/sprockets/error-summary/group/error-item.cjs +0 -13
  148. package/src/sprockets/error-summary/group/error-item.jsx +0 -22
  149. package/src/sprockets/error-summary/group/index.d.mts +0 -9
  150. package/src/sprockets/error-summary/group/index.jsx +0 -115
  151. package/src/sprockets/error-summary/index.d.mts +0 -9
  152. package/src/sprockets/error-summary/title/index.d.mts +0 -9
  153. package/src/sprockets/error-summary/title/index.jsx +0 -29
  154. package/src/sprockets/fieldset/group/index.d.mts +0 -9
  155. package/src/sprockets/fieldset/group/index.jsx +0 -16
  156. package/src/sprockets/fieldset/index.d.mts +0 -9
  157. package/src/sprockets/fieldset/title/index.d.mts +0 -9
  158. package/src/sprockets/fieldset/title/index.jsx +0 -15
  159. package/src/sprockets/index.d.mts +0 -17
  160. package/src/transformers/common/index.d.mts +0 -7
  161. package/tsconfig.json +0 -18
  162. /package/src/{index.cjs → js/index.cjs} +0 -0
  163. /package/src/{index.mjs → js/index.mjs} +0 -0
  164. /package/src/{sprockets → js/sprockets}/check-answers/group/answer-item.cjs +0 -0
  165. /package/src/{sprockets → js/sprockets}/fieldset/description/index.d.mts +0 -0
@@ -1,16 +1,11 @@
1
1
  /**
2
- * FieldsetDescription component
2
+ * FieldsetDescription component
3
3
  */
4
-
5
4
  import classnames from 'classnames'
6
- import Description from '#sprockets/components/description'
5
+ import Description from '#sprockets/super/components/description'
7
6
 
8
7
  export default class FieldsetDescription extends Description {
9
8
  getClassName () {
10
9
  return classnames(super.getClassName(), 'fieldset')
11
10
  }
12
11
  }
13
-
14
- FieldsetDescription.propTypes = {
15
- ...Description.propTypes
16
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/sprockets/sprockets/fieldset/error-message')
11
11
  log('`sprockets` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: ErrorMessage
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = ErrorMessage
@@ -0,0 +1 @@
1
+ export { default } from '#sprockets/sprockets/fieldset/error-message'
@@ -1,5 +1,5 @@
1
1
  declare module '#sprockets/sprockets/fieldset/error-message' {
2
- import ErrorMessage from '#sprockets/components/error-message'
2
+ import ErrorMessage from '#sprockets/super/components/error-message'
3
3
 
4
4
  export default class FieldsetErrorMessage extends ErrorMessage {}
5
5
  }
@@ -1,16 +1,11 @@
1
1
  /**
2
- * FieldsetErrorMessage component
2
+ * FieldsetErrorMessage component
3
3
  */
4
-
5
4
  import classnames from 'classnames'
6
- import ErrorMessage from '#sprockets/components/error-message'
5
+ import ErrorMessage from '#sprockets/super/components/error-message'
7
6
 
8
7
  export default class FieldsetErrorMessage extends ErrorMessage {
9
8
  getClassName () {
10
9
  return classnames(super.getClassName(), 'fieldset')
11
10
  }
12
11
  }
13
-
14
- FieldsetErrorMessage.propTypes = {
15
- ...ErrorMessage.propTypes
16
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/sprockets/sprockets/fieldset/group')
11
11
  log('`sprockets` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Group
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Group
@@ -0,0 +1,2 @@
1
+ export { default } from '#sprockets/sprockets/fieldset/group'
2
+ export * from '#sprockets/sprockets/fieldset/group'
@@ -0,0 +1,13 @@
1
+ declare module '#sprockets/sprockets/fieldset/group' {
2
+ import Group from '#sprockets/super/components/group'
3
+
4
+ export type FieldsetProps = SprocketsTypes.Sprockets.Fieldset.Group.FieldsetProps
5
+ export type FieldsetState = SprocketsTypes.Sprockets.Fieldset.Group.FieldsetState
6
+
7
+ export default class FieldsetGroup<P extends FieldsetProps, S extends FieldsetState> extends Group<P, S> {}
8
+ }
9
+
10
+ declare module '@modernpoacher/sprockets/sprockets/fieldset/group' {
11
+ export { default } from '#sprockets/sprockets/fieldset/group'
12
+ export * from '#sprockets/sprockets/fieldset/group'
13
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @typedef {SprocketsTypes.Super.Components.Group.GroupProps} GroupProps
3
+ * @typedef {SprocketsTypes.Super.Components.Group.GroupState} GroupState
4
+ * @typedef {SprocketsTypes.Sprockets.Fieldset.Group.FieldsetProps} FieldsetProps
5
+ * @typedef {SprocketsTypes.Sprockets.Fieldset.Group.FieldsetState} FieldsetState
6
+ */
7
+
8
+ /**
9
+ * FieldsetGroup component
10
+ */
11
+ import classnames from 'classnames'
12
+ import Group from '#sprockets/super/components/group'
13
+
14
+ /**
15
+ * @extends {Group<GroupProps & FieldsetProps, GroupState & FieldsetState>}
16
+ */
17
+ export default class FieldsetGroup extends Group {
18
+ getClassName () {
19
+ return classnames(super.getClassName(), 'fieldset')
20
+ }
21
+ }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/sprockets/sprockets/fieldset')
11
11
  log('`sprockets` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Fieldset
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Fieldset
@@ -0,0 +1,2 @@
1
+ export { default } from '#sprockets/sprockets/fieldset'
2
+ export * from '#sprockets/sprockets/fieldset'
@@ -0,0 +1,18 @@
1
+ declare module '#sprockets/sprockets/fieldset' {
2
+ import type React from 'react'
3
+
4
+ import Sprocket from '#sprockets/sprockets'
5
+
6
+ export type FieldsetProps = SprocketsTypes.Sprockets.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
+ }
13
+ }
14
+
15
+ declare module '@modernpoacher/sprockets/sprockets/fieldset' {
16
+ export { default } from '#sprockets/sprockets/fieldset'
17
+ export * from '#sprockets/sprockets/fieldset'
18
+ }
@@ -1,25 +1,25 @@
1
1
  /**
2
- * FieldsetSprocket component
3
- *
4
- * @typedef {import('@modernpoacher/sprockets/sprockets').SprocketProps} SprocketProps
2
+ * @typedef {SprocketsTypes.Sprockets.SprocketProps} SprocketProps
3
+ * @typedef {SprocketsTypes.Sprockets.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
-
10
11
  import classnames from 'classnames'
11
12
 
12
13
  import Sprocket from '#sprockets/sprockets'
13
14
 
14
- import {
15
- DEFAULT_HANDLE_CHANGE
16
- } from '#sprockets/common'
17
-
18
- import Title from './title/index.jsx'
19
- import Description from './description/index.jsx'
20
- import ErrorMessage from './error-message/index.jsx'
21
- import Group from './group/index.jsx'
15
+ import Title from '#sprockets/sprockets/fieldset/title'
16
+ import Description from '#sprockets/sprockets/fieldset/description'
17
+ import ErrorMessage from '#sprockets/sprockets/fieldset/error-message'
18
+ import Group from '#sprockets/sprockets/fieldset/group'
22
19
 
20
+ /**
21
+ * @extends {Sprocket<SprocketProps & FieldsetProps>}
22
+ */
23
23
  export default class FieldsetSprocket extends Sprocket {
24
24
  getClassName () {
25
25
  const {
@@ -30,14 +30,20 @@ export default class FieldsetSprocket extends Sprocket {
30
30
  }
31
31
 
32
32
  /**
33
- * @param {SprocketProps} props
34
- * @returns {boolean}
33
+ * @param {FieldsetProps} props
34
+ * @returns {boolean}
35
35
  */
36
- shouldComponentUpdate (props, state) {
36
+ shouldComponentUpdate (props) {
37
+ const {
38
+ description,
39
+ errorMessage,
40
+ ...superProps
41
+ } = props
42
+
37
43
  return (
38
- super.shouldComponentUpdate(props, state) ||
39
- (props.description !== this.props.description) ||
40
- (props.errorMessage !== this.props.errorMessage)
44
+ super.shouldComponentUpdate(superProps) ||
45
+ (description !== this.props.description) ||
46
+ (errorMessage !== this.props.errorMessage)
41
47
  )
42
48
  }
43
49
 
@@ -79,13 +85,11 @@ export default class FieldsetSprocket extends Sprocket {
79
85
 
80
86
  renderGroup () {
81
87
  const {
82
- onChange = DEFAULT_HANDLE_CHANGE,
83
88
  children
84
89
  } = this.props
85
90
 
86
91
  return (
87
- <Group
88
- onChange={onChange}>
92
+ <Group>
89
93
  {this.renderTitle()}
90
94
  {this.renderDescription()}
91
95
  {this.renderErrorMessage()}
@@ -98,9 +102,5 @@ export default class FieldsetSprocket extends Sprocket {
98
102
  FieldsetSprocket.propTypes = {
99
103
  ...Sprocket.propTypes,
100
104
  description: PropTypes.string,
101
- errorMessage: PropTypes.shape({
102
- type: PropTypes.string.isRequired,
103
- params: PropTypes.shape().isRequired,
104
- uri: PropTypes.string.isRequired
105
- })
105
+ errorMessage: PropTypes.string
106
106
  }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/sprockets/sprockets/fieldset/title')
11
11
  log('`sprockets` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Title
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Title
@@ -0,0 +1,2 @@
1
+ export { default } from '#sprockets/sprockets/fieldset/title'
2
+ export * from '#sprockets/sprockets/fieldset/title'
@@ -0,0 +1,12 @@
1
+ declare module '#sprockets/sprockets/fieldset/title' {
2
+ import Title from '#sprockets/super/components/title'
3
+
4
+ export type FieldsetProps = SprocketsTypes.Sprockets.Fieldset.Title.FieldsetProps
5
+
6
+ export default class FieldsetTitle<P extends FieldsetProps> extends Title<P> {}
7
+ }
8
+
9
+ declare module '@modernpoacher/sprockets/sprockets/fieldset/title' {
10
+ export { default } from '#sprockets/sprockets/fieldset/title'
11
+ export * from '#sprockets/sprockets/fieldset/title'
12
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @typedef {SprocketsTypes.Super.Components.Title.TitleProps} TitleProps
3
+ * @typedef {SprocketsTypes.Sprockets.Fieldset.Title.FieldsetProps} FieldsetProps
4
+ */
5
+
6
+ /**
7
+ * FieldsetTitle component
8
+ */
9
+ import classnames from 'classnames'
10
+
11
+ import Title from '#sprockets/super/components/title'
12
+
13
+ /**
14
+ * @extends {Title<TitleProps & FieldsetProps>}
15
+ */
16
+ export default class FieldsetTitle extends Title {
17
+ getClassName () {
18
+ return classnames(super.getClassName(), 'fieldset')
19
+ }
20
+ }
@@ -10,11 +10,11 @@ const log = debug('@modernpoacher/sprockets/sprockets')
10
10
 
11
11
  log('`sprockets` is awake')
12
12
 
13
- /**
14
- * Has only default export
15
- */
16
13
  const {
17
- default: component
14
+ default: Sprocket
18
15
  } = require('./index.jsx')
19
16
 
20
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Sprocket
@@ -0,0 +1,2 @@
1
+ export { default } from '#sprockets/sprockets'
2
+ export * from '#sprockets/sprockets'
@@ -0,0 +1,9 @@
1
+ declare module '#sprockets/sprockets' {
2
+ export { default } from '#sprockets/super/sprockets'
3
+ export * from '#sprockets/super/sprockets'
4
+ }
5
+
6
+ declare module '@modernpoacher/sprockets/sprockets' {
7
+ export { default } from '#sprockets/sprockets'
8
+ export * from '#sprockets/sprockets'
9
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Sprocket component
3
+ */
4
+
5
+ export { default } from '#sprockets/super/sprockets'
@@ -0,0 +1,20 @@
1
+ require('@babel/register')({
2
+ ignore: [
3
+ /node_modules\/(?!@modernpoacher\/cogs|@modernpoacher\/sprockets|@modernpoacher\/gremlins)/
4
+ ]
5
+ })
6
+
7
+ const debug = require('debug')
8
+
9
+ const log = debug('@modernpoacher/sprockets/components/description')
10
+
11
+ log('`sprockets` is awake')
12
+
13
+ const {
14
+ default: Description
15
+ } = require('./index.jsx')
16
+
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Description
@@ -0,0 +1,2 @@
1
+ export { default } from '#sprockets/super/components/description'
2
+ export * from '#sprockets/super/components/description'
@@ -0,0 +1,18 @@
1
+ declare module '#sprockets/super/components/description' {
2
+ import React from 'react'
3
+
4
+ export type DescriptionProps = SprocketsTypes.Super.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
+ }
13
+ }
14
+
15
+ declare module '@modernpoacher/sprockets/super/components/description' {
16
+ export { default } from '#sprockets/super/components/description'
17
+ export * from '#sprockets/super/components/description'
18
+ }
@@ -1,25 +1,37 @@
1
1
  /**
2
- * Description component
2
+ * @typedef {SprocketsTypes.Super.Components.Description.DescriptionProps} DescriptionProps
3
3
  */
4
4
 
5
+ /**
6
+ * Description component
7
+ */
5
8
  import React, { Component } from 'react'
6
9
  import PropTypes from 'prop-types'
7
10
 
8
11
  import TextContent from '#sprockets/components/common/text-content'
9
12
 
13
+ /**
14
+ * @extends {Component<DescriptionProps>}
15
+ */
10
16
  export default class Description extends Component {
11
17
  getClassName () {
12
18
  return 'description'
13
19
  }
14
20
 
15
- shouldComponentUpdate (props, state) {
21
+ /**
22
+ * @param {DescriptionProps} props
23
+ * @returns {boolean}
24
+ */
25
+ shouldComponentUpdate (props) {
16
26
  return (
17
27
  (props.description !== this.props.description)
18
28
  )
19
29
  }
20
30
 
21
31
  render () {
22
- const { description } = this.props
32
+ const {
33
+ description
34
+ } = this.props
23
35
 
24
36
  if (description) {
25
37
  return (
@@ -0,0 +1,20 @@
1
+ require('@babel/register')({
2
+ ignore: [
3
+ /node_modules\/(?!@modernpoacher\/cogs|@modernpoacher\/sprockets|@modernpoacher\/gremlins)/
4
+ ]
5
+ })
6
+
7
+ const debug = require('debug')
8
+
9
+ const log = debug('@modernpoacher/sprockets/super/components/error-message')
10
+
11
+ log('`sprockets` is awake')
12
+
13
+ const {
14
+ default: ErrorMessage
15
+ } = require('./index.jsx')
16
+
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = ErrorMessage
@@ -0,0 +1,2 @@
1
+ export { default } from '#sprockets/super/components/error-message'
2
+ export * from '#sprockets/super/components/error-message'
@@ -0,0 +1,27 @@
1
+ declare module '#sprockets/super/components/error-message' {
2
+ import React from 'react'
3
+
4
+ export type ErrorMessageProps = SprocketsTypes.Super.Components.ErrorMessage.ErrorMessageProps
5
+ export type ErrorMessageState = SprocketsTypes.Super.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
+ }
22
+ }
23
+
24
+ declare module '@modernpoacher/sprockets/super/components/error-message' {
25
+ export { default } from '#sprockets/super/components/error-message'
26
+ export * from '#sprockets/super/components/error-message'
27
+ }
@@ -1,5 +1,4 @@
1
1
  /**
2
- * @typedef {SprocketsTypes.ErrorDefinitionType} ErrorDefinitionType
3
2
  * @typedef {SprocketsTypes.Super.Components.ErrorMessage.ErrorMessageProps} ErrorMessageProps
4
3
  * @typedef {SprocketsTypes.Super.Components.ErrorMessage.ErrorMessageState} ErrorMessageState
5
4
  */
@@ -7,7 +6,6 @@
7
6
  /**
8
7
  * ErrorMessage component
9
8
  */
10
-
11
9
  import React, { Component } from 'react'
12
10
  import PropTypes from 'prop-types'
13
11
 
@@ -29,20 +27,24 @@ export default class ErrorMessage extends Component {
29
27
  /**
30
28
  * Compare current and latest `props` for changes to `errorMessage`
31
29
  *
32
- * @param {{errorMessage?: string}} props Latest props
30
+ * @param {ErrorMessageProps} props Latest props
33
31
  * @returns {boolean}
34
32
  */
35
- shouldComponentUpdate (props, state) {
33
+ shouldComponentUpdate (props) {
36
34
  return (props.errorMessage !== this.props.errorMessage)
37
35
  }
38
36
 
39
37
  render () {
40
- const { errorMessage } = this.props
38
+ const {
39
+ errorMessage
40
+ } = this.props
41
41
 
42
42
  if (errorMessage) {
43
43
  return (
44
44
  <span className={this.getClassName()}>
45
- <TextContent textContent={errorMessage} />
45
+ <TextContent
46
+ textContent={errorMessage}
47
+ />
46
48
  </span>
47
49
  )
48
50
  }
@@ -0,0 +1,20 @@
1
+ require('@babel/register')({
2
+ ignore: [
3
+ /node_modules\/(?!@modernpoacher\/cogs|@modernpoacher\/sprockets|@modernpoacher\/gremlins)/
4
+ ]
5
+ })
6
+
7
+ const debug = require('debug')
8
+
9
+ const log = debug('@modernpoacher/sprockets/super/components/group')
10
+
11
+ log('`sprockets` is awake')
12
+
13
+ const {
14
+ default: Group
15
+ } = require('./index.jsx')
16
+
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Group
@@ -0,0 +1,2 @@
1
+ export { default } from '#sprockets/super/components/group'
2
+ export * from '#sprockets/super/components/group'
@@ -0,0 +1,19 @@
1
+ declare module '#sprockets/super/components/group' {
2
+ import React from 'react'
3
+
4
+ export type GroupProps = SprocketsTypes.Super.Components.Group.GroupProps
5
+ export type GroupState = SprocketsTypes.Super.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
+ }
14
+ }
15
+
16
+ declare module '@modernpoacher/sprockets/super/components/group' {
17
+ export { default } from '#sprockets/super/components/group'
18
+ export * from '#sprockets/super/components/group'
19
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @typedef {SprocketsTypes.Super.Components.Group.GroupProps} GroupProps
3
+ */
4
+
5
+ /**
6
+ * Group component
7
+ */
8
+ import React, { Component } from 'react'
9
+ import PropTypes from 'prop-types'
10
+
11
+ export default class Group extends Component {
12
+ getClassName () {
13
+ return 'group'
14
+ }
15
+
16
+ /**
17
+ * @param {GroupProps} props
18
+ * @returns {boolean}
19
+ */
20
+ shouldComponentUpdate (props) {
21
+ return (
22
+ (props.children !== this.props.children)
23
+ )
24
+ }
25
+
26
+ render () {
27
+ const {
28
+ children
29
+ } = this.props
30
+
31
+ if (children) {
32
+ const {
33
+ groupRef
34
+ } = this.props
35
+
36
+ return (
37
+ <fieldset
38
+ className={this.getClassName()}
39
+ ref={groupRef}>
40
+ {children}
41
+ </fieldset>
42
+ )
43
+ }
44
+
45
+ return null
46
+ }
47
+ }
48
+
49
+ Group.propTypes = {
50
+ children: PropTypes.oneOfType([
51
+ PropTypes.node,
52
+ PropTypes.arrayOf(
53
+ PropTypes.node
54
+ )
55
+ ]),
56
+ groupRef: PropTypes.shape({
57
+ current: PropTypes.shape({})
58
+ })
59
+ }
@@ -0,0 +1,32 @@
1
+ require('@babel/register')({
2
+ ignore: [
3
+ /node_modules\/(?!@modernpoacher\/cogs|@modernpoacher\/sprockets|@modernpoacher\/gremlins)/
4
+ ]
5
+ })
6
+
7
+ const debug = require('debug')
8
+
9
+ const log = debug('@modernpoacher/sprockets/super/components')
10
+
11
+ log('`sprockets` is awake')
12
+
13
+ const {
14
+ default: Description
15
+ } = require('./description/index.jsx')
16
+
17
+ const {
18
+ default: ErrorMessage
19
+ } = require('./error-message/index.jsx')
20
+
21
+ const {
22
+ default: Group
23
+ } = require('./group/index.jsx')
24
+
25
+ const {
26
+ default: Title
27
+ } = require('./title/index.jsx')
28
+
29
+ module.exports.Description = Description
30
+ module.exports.ErrorMessage = ErrorMessage
31
+ module.exports.Group = Group
32
+ module.exports.Title = Title