@modernpoacher/sprockets 0.0.287 → 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.
- package/.prettierignore +4 -0
- package/babel.config.cjs +6 -2
- package/eslint.config.mjs +33 -71
- package/index.d.mts +156 -6
- package/jest.after-each.mjs +10 -0
- package/jest.before-each.mjs +10 -0
- package/jest.config.mjs +11 -1
- package/package.json +103 -45
- package/src/js/components/common/text-content/index.cjs +20 -0
- package/src/js/components/common/text-content/index.d.cts +2 -0
- package/src/{components → js/components}/common/text-content/index.d.mts +1 -3
- package/src/{components → js/components}/common/text-content/index.jsx +7 -6
- package/src/{components → js/components}/common/visually-hidden-text/index.cjs +5 -2
- package/src/js/components/common/visually-hidden-text/index.d.cts +2 -0
- package/src/{components → js/components}/common/visually-hidden-text/index.d.mts +1 -3
- package/src/{components → js/components}/common/visually-hidden-text/index.jsx +7 -6
- package/src/{components → js/components}/description/index.cjs +5 -2
- package/src/js/components/description/index.d.cts +2 -0
- package/src/{components → js/components}/description/index.d.mts +2 -7
- package/src/js/components/description/index.jsx +5 -0
- package/src/{components → js/components}/error-message/index.cjs +5 -2
- package/src/js/components/error-message/index.d.cts +2 -0
- package/src/{components → js/components}/error-message/index.d.mts +2 -7
- package/src/js/components/error-message/index.jsx +5 -0
- package/src/{components → js/components}/group/index.cjs +5 -2
- package/src/js/components/group/index.d.cts +2 -0
- package/src/js/components/group/index.d.mts +9 -0
- package/src/js/components/group/index.jsx +5 -0
- package/src/js/components/index.cjs +32 -0
- package/src/js/components/index.d.cts +4 -0
- package/src/js/components/index.d.mts +4 -0
- package/src/js/components/index.mjs +10 -0
- package/src/{components → js/components}/title/index.cjs +5 -2
- package/src/js/components/title/index.d.cts +2 -0
- package/src/{components → js/components}/title/index.d.mts +2 -7
- package/src/js/components/title/index.jsx +5 -0
- package/src/js/index.d.cts +34 -0
- package/src/js/index.d.mts +34 -0
- package/src/js/sprockets/check-answers/group/answer-item.d.cts +1 -0
- package/src/js/sprockets/check-answers/group/answer-item.d.mts +11 -0
- package/src/{sprockets → js/sprockets}/check-answers/group/answer-item.jsx +9 -0
- package/src/{sprockets → js/sprockets}/check-answers/group/answer-title.cjs +1 -0
- package/src/js/sprockets/check-answers/group/answer-title.d.cts +1 -0
- package/src/js/sprockets/check-answers/group/answer-title.d.mts +9 -0
- package/src/{sprockets → js/sprockets}/check-answers/group/answer-title.jsx +2 -2
- package/src/{sprockets → js/sprockets}/check-answers/group/answer-value.cjs +1 -0
- package/src/js/sprockets/check-answers/group/answer-value.d.cts +1 -0
- package/src/js/sprockets/check-answers/group/answer-value.d.mts +9 -0
- package/src/js/sprockets/check-answers/group/answer-value.jsx +63 -0
- package/src/{sprockets → js/sprockets}/check-answers/group/change-answer.cjs +1 -0
- package/src/js/sprockets/check-answers/group/change-answer.d.cts +1 -0
- package/src/js/sprockets/check-answers/group/change-answer.d.mts +9 -0
- package/src/{sprockets → js/sprockets}/check-answers/group/change-answer.jsx +20 -12
- package/src/{sprockets → js/sprockets}/check-answers/group/index.cjs +5 -2
- package/src/js/sprockets/check-answers/group/index.d.cts +2 -0
- package/src/js/sprockets/check-answers/group/index.d.mts +13 -0
- package/src/js/sprockets/check-answers/group/index.jsx +134 -0
- package/src/{sprockets → js/sprockets}/check-answers/index.cjs +5 -2
- package/src/js/sprockets/check-answers/index.d.cts +2 -0
- package/src/js/sprockets/check-answers/index.d.mts +12 -0
- package/src/{sprockets → js/sprockets}/check-answers/index.jsx +25 -12
- package/src/{sprockets → js/sprockets}/check-answers/title/index.cjs +5 -2
- package/src/js/sprockets/check-answers/title/index.d.cts +2 -0
- package/src/js/sprockets/check-answers/title/index.d.mts +12 -0
- package/src/js/sprockets/check-answers/title/index.jsx +37 -0
- package/src/{sprockets → js/sprockets}/error-summary/group/index.cjs +5 -2
- package/src/js/sprockets/error-summary/group/index.d.cts +2 -0
- package/src/js/sprockets/error-summary/group/index.d.mts +13 -0
- package/src/js/sprockets/error-summary/group/index.jsx +124 -0
- package/src/{sprockets → js/sprockets}/error-summary/index.cjs +5 -2
- package/src/js/sprockets/error-summary/index.d.cts +2 -0
- package/src/js/sprockets/error-summary/index.d.mts +12 -0
- package/src/{sprockets → js/sprockets}/error-summary/index.jsx +26 -13
- package/src/{sprockets → js/sprockets}/error-summary/title/index.cjs +5 -2
- package/src/js/sprockets/error-summary/title/index.d.cts +2 -0
- package/src/js/sprockets/error-summary/title/index.d.mts +12 -0
- package/src/js/sprockets/error-summary/title/index.jsx +37 -0
- package/src/{sprockets → js/sprockets}/fieldset/description/index.cjs +5 -2
- package/src/js/sprockets/fieldset/description/index.d.cts +1 -0
- package/src/{sprockets → js/sprockets}/fieldset/description/index.jsx +2 -7
- package/src/{sprockets → js/sprockets}/fieldset/error-message/index.cjs +5 -2
- package/src/js/sprockets/fieldset/error-message/index.d.cts +1 -0
- package/src/{sprockets → js/sprockets}/fieldset/error-message/index.d.mts +1 -1
- package/src/{sprockets → js/sprockets}/fieldset/error-message/index.jsx +2 -7
- package/src/{sprockets → js/sprockets}/fieldset/group/index.cjs +5 -2
- package/src/js/sprockets/fieldset/group/index.d.cts +2 -0
- package/src/js/sprockets/fieldset/group/index.d.mts +13 -0
- package/src/js/sprockets/fieldset/group/index.jsx +21 -0
- package/src/{sprockets → js/sprockets}/fieldset/index.cjs +5 -2
- package/src/js/sprockets/fieldset/index.d.cts +2 -0
- package/src/js/sprockets/fieldset/index.d.mts +18 -0
- package/src/{sprockets → js/sprockets}/fieldset/index.jsx +26 -26
- package/src/{sprockets → js/sprockets}/fieldset/title/index.cjs +5 -2
- package/src/js/sprockets/fieldset/title/index.d.cts +2 -0
- package/src/js/sprockets/fieldset/title/index.d.mts +12 -0
- package/src/js/sprockets/fieldset/title/index.jsx +20 -0
- package/src/{sprockets → js/sprockets}/index.cjs +5 -5
- package/src/js/sprockets/index.d.cts +2 -0
- package/src/js/sprockets/index.d.mts +9 -0
- package/src/js/sprockets/index.jsx +5 -0
- package/src/js/super/components/description/index.cjs +20 -0
- package/src/js/super/components/description/index.d.cts +2 -0
- package/src/js/super/components/description/index.d.mts +18 -0
- package/src/{components → js/super/components}/description/index.jsx +15 -3
- package/src/js/super/components/error-message/index.cjs +20 -0
- package/src/js/super/components/error-message/index.d.cts +2 -0
- package/src/js/super/components/error-message/index.d.mts +27 -0
- package/src/{components → js/super/components}/error-message/index.jsx +8 -6
- package/src/js/super/components/group/index.cjs +20 -0
- package/src/js/super/components/group/index.d.cts +2 -0
- package/src/js/super/components/group/index.d.mts +19 -0
- package/src/js/super/components/group/index.jsx +59 -0
- package/src/js/super/components/index.cjs +32 -0
- package/src/js/super/components/index.d.cts +4 -0
- package/src/js/super/components/index.d.mts +4 -0
- package/src/js/super/components/index.mjs +10 -0
- package/src/js/super/components/title/index.cjs +20 -0
- package/src/js/super/components/title/index.d.cts +2 -0
- package/src/js/super/components/title/index.d.mts +20 -0
- package/src/js/super/components/title/index.jsx +62 -0
- package/src/{components/common/text-content → js/super/sprockets}/index.cjs +6 -3
- package/src/js/super/sprockets/index.d.cts +2 -0
- package/src/js/super/sprockets/index.d.mts +22 -0
- package/src/{sprockets → js/super/sprockets}/index.jsx +11 -18
- package/src/js/transformers/common/index.d.mts +1 -0
- package/src/{transformers → js/transformers}/common/index.mjs +5 -5
- package/src/js/transformers/index.d.mts +1 -0
- package/src/js/transformers/index.mjs +1 -0
- package/src/sass/.stylelintrc +14 -0
- package/src/sass/_sprockets.scss +77 -0
- package/src/sass/sprockets/_check-answers.scss +54 -0
- package/src/sass/sprockets/_error-summary.scss +57 -0
- package/src/sass/sprockets/_error.scss +47 -0
- package/jsconfig.json +0 -5
- package/src/common/index.d.mts +0 -9
- package/src/common/index.mjs +0 -7
- package/src/components/group/index.d.mts +0 -16
- package/src/components/group/index.jsx +0 -59
- package/src/components/title/index.jsx +0 -59
- package/src/index.d.mts +0 -9
- package/src/sprockets/check-answers/group/answer-value.jsx +0 -46
- package/src/sprockets/check-answers/group/index.d.mts +0 -9
- package/src/sprockets/check-answers/group/index.jsx +0 -125
- package/src/sprockets/check-answers/index.d.mts +0 -9
- package/src/sprockets/check-answers/title/index.d.mts +0 -9
- package/src/sprockets/check-answers/title/index.jsx +0 -29
- package/src/sprockets/error-summary/group/error-item.cjs +0 -13
- package/src/sprockets/error-summary/group/error-item.jsx +0 -22
- package/src/sprockets/error-summary/group/index.d.mts +0 -9
- package/src/sprockets/error-summary/group/index.jsx +0 -115
- package/src/sprockets/error-summary/index.d.mts +0 -9
- package/src/sprockets/error-summary/title/index.d.mts +0 -9
- package/src/sprockets/error-summary/title/index.jsx +0 -29
- package/src/sprockets/fieldset/group/index.d.mts +0 -9
- package/src/sprockets/fieldset/group/index.jsx +0 -16
- package/src/sprockets/fieldset/index.d.mts +0 -9
- package/src/sprockets/fieldset/title/index.d.mts +0 -9
- package/src/sprockets/fieldset/title/index.jsx +0 -15
- package/src/sprockets/index.d.mts +0 -17
- package/src/transformers/common/index.d.mts +0 -7
- package/tsconfig.json +0 -18
- /package/src/{index.cjs → js/index.cjs} +0 -0
- /package/src/{index.mjs → js/index.mjs} +0 -0
- /package/src/{sprockets → js/sprockets}/check-answers/group/answer-item.cjs +0 -0
- /package/src/{sprockets → js/sprockets}/fieldset/description/index.d.mts +0 -0
package/.prettierignore
ADDED
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
|
|
@@ -51,7 +52,10 @@ module.exports = (api) => {
|
|
|
51
52
|
presets,
|
|
52
53
|
plugins,
|
|
53
54
|
ignore: [
|
|
54
|
-
/node_modules\/(?!@modernpoacher\/cogs|@modernpoacher\/sprockets|@modernpoacher\/gremlins)
|
|
55
|
+
/node_modules\/(?!@modernpoacher\/cogs|@modernpoacher\/sprockets|@modernpoacher\/gremlins)\//,
|
|
56
|
+
/node_modules\/(?!react-component-instance)\//,
|
|
57
|
+
/node_modules\/(?!react-component-snapshot)\//,
|
|
58
|
+
/node_modules\/(?!react-component-name)\//
|
|
55
59
|
]
|
|
56
60
|
}
|
|
57
61
|
}
|
package/eslint.config.mjs
CHANGED
|
@@ -58,12 +58,11 @@ export default [
|
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
60
|
/**
|
|
61
|
-
* React config for all `jsx`
|
|
61
|
+
* React config for all `jsx` files
|
|
62
62
|
*/
|
|
63
63
|
{
|
|
64
64
|
...reactPlugin.configs.flat.recommended,
|
|
65
65
|
settings: {
|
|
66
|
-
...reactPlugin.configs.flat.recommended.settings,
|
|
67
66
|
...reactSettings
|
|
68
67
|
}
|
|
69
68
|
},
|
|
@@ -80,7 +79,9 @@ export default [
|
|
|
80
79
|
],
|
|
81
80
|
ignores: [
|
|
82
81
|
'src',
|
|
83
|
-
'stories'
|
|
82
|
+
'stories',
|
|
83
|
+
'test',
|
|
84
|
+
'jest.*.mjs'
|
|
84
85
|
],
|
|
85
86
|
languageOptions: {
|
|
86
87
|
globals: {
|
|
@@ -99,16 +100,26 @@ export default [
|
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
102
|
}),
|
|
103
|
+
standard({
|
|
104
|
+
files: [
|
|
105
|
+
'test/**/*.{mjs,cjs,mts,cts}'
|
|
106
|
+
],
|
|
107
|
+
languageOptions: {
|
|
108
|
+
globals: {
|
|
109
|
+
...globals.mocha
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}),
|
|
102
113
|
/**
|
|
103
|
-
* Standard config for all `jsx`
|
|
114
|
+
* Standard config for all `jsx` files
|
|
104
115
|
*/
|
|
105
116
|
standard({
|
|
106
117
|
files: [
|
|
107
|
-
'src/**/*.
|
|
118
|
+
'src/**/*.jsx',
|
|
108
119
|
'stories/**/*.jsx'
|
|
109
120
|
],
|
|
110
121
|
ignores: [
|
|
111
|
-
'src/**/__tests__/**/*.
|
|
122
|
+
'src/**/__tests__/**/*.jsx',
|
|
112
123
|
'stories/**/__tests__/**/*.jsx'
|
|
113
124
|
],
|
|
114
125
|
languageOptions: {
|
|
@@ -120,25 +131,23 @@ export default [
|
|
|
120
131
|
globals: {
|
|
121
132
|
...globals.browser
|
|
122
133
|
}
|
|
123
|
-
},
|
|
134
|
+
}, // @ts-expect-error Storybook
|
|
124
135
|
plugins: {
|
|
125
136
|
...reactPlugins,
|
|
126
137
|
...storybookPlugins
|
|
127
|
-
},
|
|
138
|
+
}, // @ts-expect-error Storybook
|
|
128
139
|
rules: {
|
|
129
140
|
...reactRules
|
|
130
141
|
},
|
|
131
142
|
settings: {
|
|
132
|
-
...reactSettings
|
|
133
|
-
'import/resolver': {
|
|
134
|
-
'babel-module': {}
|
|
135
|
-
}
|
|
143
|
+
...reactSettings
|
|
136
144
|
}
|
|
137
145
|
}),
|
|
138
146
|
standard({
|
|
139
147
|
files: [
|
|
140
|
-
'src/**/__tests__/**/*.
|
|
141
|
-
'stories/**/__tests__/**/*.jsx'
|
|
148
|
+
'src/**/__tests__/**/*.jsx',
|
|
149
|
+
'stories/**/__tests__/**/*.jsx',
|
|
150
|
+
'jest.*.mjs'
|
|
142
151
|
],
|
|
143
152
|
languageOptions: {
|
|
144
153
|
parser: babelParser,
|
|
@@ -150,19 +159,16 @@ export default [
|
|
|
150
159
|
...globals.browser,
|
|
151
160
|
...globals.jest
|
|
152
161
|
}
|
|
153
|
-
},
|
|
162
|
+
}, // @ts-expect-error Storybook
|
|
154
163
|
plugins: {
|
|
155
164
|
...reactPlugins,
|
|
156
165
|
...storybookPlugins
|
|
157
|
-
},
|
|
166
|
+
}, // @ts-expect-error Storybook
|
|
158
167
|
rules: {
|
|
159
168
|
...reactRules
|
|
160
169
|
},
|
|
161
170
|
settings: {
|
|
162
|
-
...reactSettings
|
|
163
|
-
'import/resolver': {
|
|
164
|
-
'babel-module': {}
|
|
165
|
-
}
|
|
171
|
+
...reactSettings
|
|
166
172
|
}
|
|
167
173
|
}),
|
|
168
174
|
/**
|
|
@@ -173,80 +179,36 @@ export default [
|
|
|
173
179
|
'**/*.{mts,cts}'
|
|
174
180
|
],
|
|
175
181
|
ignores: [
|
|
176
|
-
'src'
|
|
177
|
-
|
|
178
|
-
languageOptions: {
|
|
179
|
-
globals: {
|
|
180
|
-
...globals.node,
|
|
181
|
-
SprocketsTypes: 'readonly'
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}),
|
|
185
|
-
typescript({
|
|
186
|
-
files: [
|
|
187
|
-
'src/**/*.{mts,cts}'
|
|
188
|
-
],
|
|
189
|
-
languageOptions: {
|
|
190
|
-
globals: {
|
|
191
|
-
...globals.browser
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}),
|
|
195
|
-
/**
|
|
196
|
-
* TypeScript config for only `tsx` files
|
|
197
|
-
*/
|
|
198
|
-
typescript({
|
|
199
|
-
files: [
|
|
200
|
-
'src/**/*.tsx'
|
|
201
|
-
],
|
|
202
|
-
ignores: [
|
|
203
|
-
'src/**/__tests__/**/*.tsx'
|
|
182
|
+
'src',
|
|
183
|
+
'test'
|
|
204
184
|
],
|
|
205
185
|
languageOptions: {
|
|
206
186
|
parser: typescriptParser,
|
|
207
187
|
parserOptions: {
|
|
208
|
-
...reactParserOptions,
|
|
209
188
|
projectService: true,
|
|
210
189
|
project: 'tsconfig.json'
|
|
211
190
|
},
|
|
212
191
|
globals: {
|
|
213
|
-
...globals.
|
|
192
|
+
...globals.node,
|
|
193
|
+
SprocketsTypes: 'readonly'
|
|
214
194
|
}
|
|
215
|
-
},
|
|
216
|
-
plugins: {
|
|
217
|
-
...reactPlugins
|
|
218
|
-
},
|
|
219
|
-
rules: {
|
|
220
|
-
...reactRules
|
|
221
|
-
},
|
|
222
|
-
settings: {
|
|
223
|
-
...reactSettings
|
|
224
195
|
}
|
|
225
196
|
}),
|
|
226
197
|
typescript({
|
|
227
198
|
files: [
|
|
228
|
-
'src
|
|
199
|
+
'src/**/*.{mts,cts}',
|
|
200
|
+
'test/**/*.{mts,cts}'
|
|
229
201
|
],
|
|
230
202
|
languageOptions: {
|
|
231
203
|
parser: typescriptParser,
|
|
232
204
|
parserOptions: {
|
|
233
|
-
...reactParserOptions,
|
|
234
205
|
projectService: true,
|
|
235
206
|
project: 'tsconfig.json'
|
|
236
207
|
},
|
|
237
208
|
globals: {
|
|
238
209
|
...globals.browser,
|
|
239
|
-
|
|
210
|
+
SprocketsTypes: 'readonly'
|
|
240
211
|
}
|
|
241
|
-
},
|
|
242
|
-
plugins: {
|
|
243
|
-
...reactPlugins
|
|
244
|
-
},
|
|
245
|
-
rules: {
|
|
246
|
-
...reactRules
|
|
247
|
-
},
|
|
248
|
-
settings: {
|
|
249
|
-
...reactSettings
|
|
250
212
|
}
|
|
251
213
|
})
|
|
252
214
|
]
|
package/index.d.mts
CHANGED
|
@@ -1,23 +1,173 @@
|
|
|
1
|
+
import type React from 'react'
|
|
2
|
+
|
|
1
3
|
declare global {
|
|
2
4
|
namespace SprocketsTypes {
|
|
3
|
-
|
|
5
|
+
interface AnswerChangeAnswerType {
|
|
6
|
+
href: string
|
|
7
|
+
text: string
|
|
8
|
+
visuallyHiddenText?: string
|
|
9
|
+
}
|
|
4
10
|
|
|
5
11
|
export interface AnswerDefinitionType {
|
|
6
12
|
answer: {
|
|
7
13
|
title: string
|
|
8
14
|
value: string | string[]
|
|
9
15
|
}
|
|
10
|
-
changeAnswer:
|
|
11
|
-
text: string
|
|
12
|
-
href: string
|
|
13
|
-
visuallyHiddenText?: string
|
|
14
|
-
}
|
|
16
|
+
changeAnswer: AnswerChangeAnswerType
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
export interface ErrorDefinitionType {
|
|
18
20
|
text: string
|
|
19
21
|
href: string
|
|
20
22
|
}
|
|
23
|
+
|
|
24
|
+
export interface FieldChangeType {
|
|
25
|
+
text: string
|
|
26
|
+
href: string
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface FieldErrorType {
|
|
30
|
+
text: string
|
|
31
|
+
href: string
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export namespace Super {
|
|
35
|
+
export namespace Sprockets {
|
|
36
|
+
export interface SprocketProps extends React.PropsWithChildren {
|
|
37
|
+
groupRef?: React.RefObject<any> // eslint-disable-line @typescript-eslint/no-explicit-any -- Simplicity
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export type SprocketState = Record<PropertyKey, unknown>
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export namespace Components {
|
|
44
|
+
export namespace Description {
|
|
45
|
+
export interface DescriptionProps {
|
|
46
|
+
description?: string
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export namespace ErrorMessage {
|
|
51
|
+
export interface ErrorMessageProps {
|
|
52
|
+
errorMessage?: string
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface ErrorMessageState {
|
|
56
|
+
errorMessage?: string
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export namespace Group {
|
|
61
|
+
export type GroupProps = Sprockets.SprocketProps
|
|
62
|
+
|
|
63
|
+
export type GroupState = Sprockets.SprocketState
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export namespace Title {
|
|
67
|
+
export interface TitleProps {
|
|
68
|
+
title?: string
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export namespace Components {
|
|
75
|
+
export namespace Common {
|
|
76
|
+
export namespace TextContent {
|
|
77
|
+
export interface TextContentProps {
|
|
78
|
+
textContent?: string
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export namespace VisuallyHiddenText {
|
|
83
|
+
export interface VisuallyHiddenTextProps {
|
|
84
|
+
visuallyHiddenText?: string
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export namespace Description {
|
|
90
|
+
export type DescriptionProps = Super.Components.Description.DescriptionProps
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export namespace ErrorMessage {
|
|
94
|
+
export type ErrorMessageProps = Super.Components.ErrorMessage.ErrorMessageProps
|
|
95
|
+
|
|
96
|
+
export type ErrorMessageState = Super.Components.ErrorMessage.ErrorMessageState
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export namespace Group {
|
|
100
|
+
export type GroupProps = Super.Components.Group.GroupProps
|
|
101
|
+
|
|
102
|
+
export type GroupState = Super.Components.Group.GroupState
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export namespace Title {
|
|
106
|
+
export type TitleProps = Super.Components.Title.TitleProps
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export namespace Sprockets {
|
|
111
|
+
export type SprocketProps = Super.Sprockets.SprocketProps
|
|
112
|
+
|
|
113
|
+
export type SprocketState = Super.Sprockets.SprocketState
|
|
114
|
+
|
|
115
|
+
export namespace CheckAnswers {
|
|
116
|
+
export interface CheckAnswersProps extends SprocketProps {
|
|
117
|
+
checkAnswers?: AnswerDefinitionType[]
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export namespace Group {
|
|
121
|
+
export interface CheckAnswersProps extends Super.Components.Group.GroupProps {
|
|
122
|
+
checkAnswers?: AnswerDefinitionType[]
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export interface CheckAnswersState extends Super.Components.Group.GroupState {
|
|
126
|
+
checkAnswers?: AnswerDefinitionType[]
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export namespace Title {
|
|
131
|
+
export type CheckAnswersProps = Super.Components.Title.TitleProps
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export namespace ErrorSummary {
|
|
136
|
+
export interface ErrorSummaryProps extends SprocketProps {
|
|
137
|
+
errorSummary?: ErrorDefinitionType[]
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export namespace Group {
|
|
141
|
+
export interface ErrorSummaryProps extends Super.Components.Group.GroupProps {
|
|
142
|
+
errorSummary?: ErrorDefinitionType[]
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export interface ErrorSummaryState extends Super.Components.Group.GroupState {
|
|
146
|
+
errorSummary?: ErrorDefinitionType[]
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export namespace Title {
|
|
151
|
+
export type ErrorSummaryProps = Super.Components.Title.TitleProps
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export namespace Fieldset {
|
|
156
|
+
export type FieldsetProps = SprocketProps
|
|
157
|
+
|
|
158
|
+
export type FieldsetState = SprocketState
|
|
159
|
+
|
|
160
|
+
export namespace Group {
|
|
161
|
+
export type FieldsetProps = Super.Components.Group.GroupProps
|
|
162
|
+
|
|
163
|
+
export type FieldsetState = Super.Components.Group.GroupState
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export namespace Title {
|
|
167
|
+
export type FieldsetProps = Super.Components.Title.TitleProps
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
21
171
|
}
|
|
22
172
|
}
|
|
23
173
|
|
package/jest.config.mjs
CHANGED
|
@@ -14,5 +14,15 @@ export default {
|
|
|
14
14
|
'^.+\\.jsx$': 'babel-jest',
|
|
15
15
|
'^.+\\.mjs$': 'babel-jest'
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
transformIgnorePatterns: [
|
|
18
|
+
'/node_modules\\/(?!react-component-instance)\\/',
|
|
19
|
+
'/node_modules\\/(?!react-component-snapshot)\\/',
|
|
20
|
+
'/node_modules\\/(?!react-component-name)\\/'
|
|
21
|
+
],
|
|
22
|
+
moduleFileExtensions: ['js', 'jsx', 'mjs'],
|
|
23
|
+
testEnvironment: 'jsdom',
|
|
24
|
+
setupFilesAfterEnv: [
|
|
25
|
+
'<rootDir>/jest.before-each.mjs',
|
|
26
|
+
'<rootDir>/jest.after-each.mjs'
|
|
27
|
+
]
|
|
18
28
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modernpoacher/sprockets",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Sprockets",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Sprockets",
|
|
7
7
|
"React"
|
|
8
8
|
],
|
|
9
|
-
"main": "./src/index.
|
|
9
|
+
"main": "./src/js/index.mjs",
|
|
10
10
|
"type": "module",
|
|
11
11
|
"types": "./index.d.mts",
|
|
12
12
|
"author": {
|
|
@@ -23,57 +23,77 @@
|
|
|
23
23
|
"url": "git+ssh://git@github.com/modernpoacher/sprockets.git"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
|
-
"build": "cross-env DEBUG=@modernpoacher/sprockets* webpack",
|
|
26
|
+
"build": "cross-env DEBUG=@modernpoacher/sprockets* webpack -c .storybook/webpack.config.mjs",
|
|
27
27
|
"build-storybook": "storybook build",
|
|
28
|
-
"build:watch": "
|
|
29
|
-
"lint": "
|
|
30
|
-
"lint:fix": "npm run lint
|
|
28
|
+
"build:watch": "npm run build -- -w",
|
|
29
|
+
"lint": "npm run lint:js && npm run lint:sass",
|
|
30
|
+
"lint:fix": "npm run lint:js:fix && npm run lint:sass:fix",
|
|
31
|
+
"lint:js": "eslint",
|
|
32
|
+
"lint:js:fix": "npm run lint:js -- --fix",
|
|
33
|
+
"lint:sass": "stylelint src/sass .storybook/*.scss",
|
|
34
|
+
"lint:sass:fix": "npm run lint:sass -- --fix",
|
|
31
35
|
"nvm": "bash nvm.sh",
|
|
32
36
|
"prebuild": "npm run nvm",
|
|
33
37
|
"prelint": "npm run nvm",
|
|
34
38
|
"prepare": "husky",
|
|
35
|
-
"prestorybook": "npm run build && npm run transform",
|
|
39
|
+
"prestorybook": "npm run build && npm run prettier && npm run transform",
|
|
36
40
|
"pretest": "npm run nvm",
|
|
41
|
+
"prettier": "prettier src/sass .storybook --write",
|
|
37
42
|
"storybook": "storybook dev -p 6007",
|
|
38
|
-
"test": "
|
|
39
|
-
"
|
|
43
|
+
"test": "npm run test:mocha && npm run test:jest",
|
|
44
|
+
"test:jest": "cross-env NODE_ENV=test jest",
|
|
45
|
+
"test:mocha": "cross-env NODE_ENV=test mocha test --recursive",
|
|
46
|
+
"transform": "cross-env DEBUG=@modernpoacher/sprockets* .storybook/transform.sh"
|
|
40
47
|
},
|
|
41
48
|
"dependencies": {
|
|
42
49
|
"classnames": "^2.5.1",
|
|
43
|
-
"debug": "^4.4.0"
|
|
50
|
+
"debug": "^4.4.0",
|
|
51
|
+
"fast-deep-equal": "^3.1.3"
|
|
44
52
|
},
|
|
45
53
|
"devDependencies": {
|
|
46
54
|
"@babel/core": "^7.26.10",
|
|
47
55
|
"@babel/eslint-parser": "^7.27.0",
|
|
56
|
+
"@babel/plugin-syntax-import-attributes": "^7.26.0",
|
|
48
57
|
"@babel/preset-env": "^7.26.9",
|
|
49
58
|
"@babel/preset-react": "^7.26.3",
|
|
50
59
|
"@babel/register": "^7.25.9",
|
|
51
|
-
"@modernpoacher/design-system": "
|
|
52
|
-
"@sequencemedia/eslint-config-standard": "^0.2.
|
|
53
|
-
"@sequencemedia/eslint-config-typescript": "^0.1.
|
|
54
|
-
"@storybook/addon-actions": "^8.6.
|
|
55
|
-
"@storybook/addon-essentials": "^8.6.
|
|
56
|
-
"@storybook/addon-links": "^8.6.
|
|
60
|
+
"@modernpoacher/design-system": "2.0.2",
|
|
61
|
+
"@sequencemedia/eslint-config-standard": "^0.2.47",
|
|
62
|
+
"@sequencemedia/eslint-config-typescript": "^0.1.68",
|
|
63
|
+
"@storybook/addon-actions": "^8.6.10",
|
|
64
|
+
"@storybook/addon-essentials": "^8.6.10",
|
|
65
|
+
"@storybook/addon-links": "^8.6.10",
|
|
57
66
|
"@storybook/addon-webpack5-compiler-babel": "^3.0.5",
|
|
58
|
-
"@storybook/manager-api": "^8.6.
|
|
59
|
-
"@storybook/react": "^8.6.
|
|
60
|
-
"@storybook/react-webpack5": "^8.6.
|
|
61
|
-
"@storybook/
|
|
62
|
-
"@
|
|
67
|
+
"@storybook/manager-api": "^8.6.10",
|
|
68
|
+
"@storybook/react": "^8.6.10",
|
|
69
|
+
"@storybook/react-webpack5": "^8.6.10",
|
|
70
|
+
"@storybook/test": "^8.6.9",
|
|
71
|
+
"@storybook/theming": "^8.6.10",
|
|
72
|
+
"@testing-library/jest-dom": "^6.6.3",
|
|
73
|
+
"@testing-library/react": "^16.2.0",
|
|
74
|
+
"@types/babel__register": "^7.17.3",
|
|
75
|
+
"@types/chai": "^5.2.1",
|
|
76
|
+
"@types/debug": "^4.1.12",
|
|
77
|
+
"@types/jest": "^29.5.14",
|
|
78
|
+
"@types/mocha": "^10.0.10",
|
|
79
|
+
"@types/prop-types": "^15.7.14",
|
|
80
|
+
"@types/react": "^19.0.12",
|
|
81
|
+
"@types/react-dom": "^19.0.4",
|
|
63
82
|
"@typescript-eslint/eslint-plugin": "^8.28.0",
|
|
64
83
|
"@typescript-eslint/parser": "^8.28.0",
|
|
65
84
|
"autoprefixer": "^10.4.21",
|
|
66
|
-
"
|
|
85
|
+
"chai": "^5.2.0",
|
|
67
86
|
"core-js": "^3.41.0",
|
|
68
87
|
"cross-env": "^7.0.3",
|
|
69
88
|
"eslint": "^9.23.0",
|
|
70
|
-
"eslint-import-resolver-babel-module": "^5.3.2",
|
|
71
89
|
"eslint-plugin-react": "^7.37.4",
|
|
72
90
|
"eslint-plugin-storybook": "^0.12.0",
|
|
73
91
|
"globals": "^16.0.0",
|
|
74
92
|
"husky": "^9.1.7",
|
|
75
93
|
"jest": "^29.7.0",
|
|
94
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
76
95
|
"mini-css-extract-plugin": "^2.9.2",
|
|
96
|
+
"mocha": "^11.1.0",
|
|
77
97
|
"perfectionist": "^2.4.0",
|
|
78
98
|
"postcss": "^8.5.3",
|
|
79
99
|
"postcss-discard-comments": "^7.0.3",
|
|
@@ -81,41 +101,79 @@
|
|
|
81
101
|
"postcss-import": "^16.1.0",
|
|
82
102
|
"postcss-loader": "^8.1.1",
|
|
83
103
|
"postcss-map": "^0.11.0",
|
|
104
|
+
"prettier": "^3.5.3",
|
|
84
105
|
"prop-types": "^15.8.1",
|
|
85
|
-
"react": "
|
|
86
|
-
"react-
|
|
106
|
+
"react": "^19.0.0",
|
|
107
|
+
"react-component-instance": "^0.0.15",
|
|
108
|
+
"react-component-snapshot": "^0.0.15",
|
|
109
|
+
"react-dom": "^19.0.0",
|
|
87
110
|
"react-router": "^7.4.0",
|
|
88
|
-
"react-test-renderer": "18.3.1",
|
|
89
111
|
"remove-files-webpack-plugin": "^1.5.0",
|
|
90
112
|
"sass": "^1.86.0",
|
|
91
113
|
"sass-loader": "^16.0.5",
|
|
92
|
-
"storybook": "^8.6.
|
|
114
|
+
"storybook": "^8.6.10",
|
|
115
|
+
"stylelint": "^16.16.0",
|
|
116
|
+
"stylelint-config-recommended-scss": "^14.1.0",
|
|
117
|
+
"stylelint-scss": "^6.11.1",
|
|
93
118
|
"webpack": "^5.98.0",
|
|
94
119
|
"webpack-cli": "^6.0.1"
|
|
95
120
|
},
|
|
96
121
|
"imports": {
|
|
97
|
-
"#
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
"#sprockets/
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
"#sprockets/
|
|
122
|
+
"#sprockets": {
|
|
123
|
+
"require": "./src/js/index.cjs",
|
|
124
|
+
"import": "./src/js/index.mjs"
|
|
125
|
+
},
|
|
126
|
+
"#sprockets/components": {
|
|
127
|
+
"require": "./src/js/components/index.cjs",
|
|
128
|
+
"import": "./src/js/components/index.mjs"
|
|
129
|
+
},
|
|
130
|
+
"#sprockets/components/*": "./src/js/components/*/index.cjs",
|
|
131
|
+
"#sprockets/sprockets": "./src/js/sprockets/index.cjs",
|
|
132
|
+
"#sprockets/sprockets/*": "./src/js/sprockets/*/index.cjs",
|
|
133
|
+
"#sprockets/sprockets/check-answers/group/*": "./src/js/sprockets/check-answers/group/*.cjs",
|
|
134
|
+
"#sprockets/sprockets/error-summary/group/*": "./src/js/sprockets/error-summary/group/*.cjs",
|
|
135
|
+
"#sprockets/super": {
|
|
136
|
+
"require": "./src/js/super/index.cjs",
|
|
137
|
+
"import": "./src/js/super/index.mjs"
|
|
138
|
+
},
|
|
139
|
+
"#sprockets/super/components": {
|
|
140
|
+
"require": "./src/js/super/components/index.cjs",
|
|
141
|
+
"import": "./src/js/super/components/index.mjs"
|
|
142
|
+
},
|
|
143
|
+
"#sprockets/super/components/*": "./src/js/super/components/*/index.cjs",
|
|
144
|
+
"#sprockets/super/sprockets": "./src/js/super/sprockets/index.cjs",
|
|
145
|
+
"#sprockets/super/sprockets/*": "./src/js/super/sprockets/*/index.cjs",
|
|
146
|
+
"#sprockets/transformers": "./src/js/transformers/index.mjs",
|
|
147
|
+
"#sprockets/transformers/*": "./src/js/transformers/*/index.mjs",
|
|
148
|
+
"#stories/definitions/*": "./stories/definitions/*.json",
|
|
106
149
|
"#stories/sprockets/*": "./stories/sprockets/*/index.stories.jsx"
|
|
107
150
|
},
|
|
108
151
|
"exports": {
|
|
109
152
|
".": {
|
|
110
|
-
"require": "./src/index.cjs",
|
|
111
|
-
"import": "./src/index.mjs"
|
|
153
|
+
"require": "./src/js/index.cjs",
|
|
154
|
+
"import": "./src/js/index.mjs"
|
|
155
|
+
},
|
|
156
|
+
"./components": {
|
|
157
|
+
"require": "./src/js/components/index.cjs",
|
|
158
|
+
"import": "./src/js/components/index.mjs"
|
|
159
|
+
},
|
|
160
|
+
"./components/*": "./src/js/components/*/index.cjs",
|
|
161
|
+
"./sprockets": "./src/js/sprockets/index.cjs",
|
|
162
|
+
"./sprockets/*": "./src/js/sprockets/*/index.cjs",
|
|
163
|
+
"./sprockets/check-answers/group/*": "./src/js/sprockets/check-answers/group/*.cjs",
|
|
164
|
+
"./sprockets/error-summary/group/*": "./src/js/sprockets/error-summary/group/*.cjs",
|
|
165
|
+
"./super": {
|
|
166
|
+
"require": "./src/js/super/index.cjs",
|
|
167
|
+
"import": "./src/js/super/index.mjs"
|
|
168
|
+
},
|
|
169
|
+
"./super/components": {
|
|
170
|
+
"require": "./src/js/super/components/index.cjs",
|
|
171
|
+
"import": "./src/js/super/components/index.mjs"
|
|
112
172
|
},
|
|
113
|
-
"./
|
|
114
|
-
"./
|
|
115
|
-
"./sprockets": "./src/sprockets
|
|
116
|
-
"./
|
|
117
|
-
"./
|
|
118
|
-
"./sprockets/error-summary/group/*": "./src/sprockets/error-summary/group/*.cjs",
|
|
119
|
-
"./transformers/*": "./src/transformers/*/index.mjs"
|
|
173
|
+
"./super/components/*": "./src/js/super/components/*/index.cjs",
|
|
174
|
+
"./super/sprockets": "./src/js/super/sprockets/index.cjs",
|
|
175
|
+
"./super/sprockets/*": "./src/js/super/sprockets/*/index.cjs",
|
|
176
|
+
"./transformers": "./src/js/transformers/index.mjs",
|
|
177
|
+
"./transformers/*": "./src/js/transformers/*/index.mjs"
|
|
120
178
|
}
|
|
121
179
|
}
|
|
@@ -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/common/text-content')
|
|
10
|
+
|
|
11
|
+
log('`sprockets` is awake')
|
|
12
|
+
|
|
13
|
+
const {
|
|
14
|
+
default: TextContent
|
|
15
|
+
} = require('./index.jsx')
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Exports only default
|
|
19
|
+
*/
|
|
20
|
+
module.exports = TextContent
|