@modernpoacher/cogs 0.1.256 → 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 (276) hide show
  1. package/.prettierignore +4 -0
  2. package/babel.config.cjs +4 -1
  3. package/eslint.config.mjs +32 -71
  4. package/index.d.mts +224 -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 +89 -36
  9. package/src/{cogs → js/cogs}/checkbox/description/index.cjs +5 -2
  10. package/src/js/cogs/checkbox/description/index.d.cts +1 -0
  11. package/src/{cogs → js/cogs}/checkbox/description/index.jsx +0 -4
  12. package/src/{cogs → js/cogs}/checkbox/error-message/index.cjs +5 -2
  13. package/src/js/cogs/checkbox/error-message/index.d.cts +1 -0
  14. package/src/{cogs → js/cogs}/checkbox/error-message/index.jsx +0 -4
  15. package/src/{cogs → js/cogs}/checkbox/field/index.cjs +5 -2
  16. package/src/js/cogs/checkbox/field/index.d.cts +2 -0
  17. package/src/js/cogs/checkbox/field/index.d.mts +14 -0
  18. package/src/{cogs → js/cogs}/checkbox/field/index.jsx +21 -10
  19. package/src/{cogs → js/cogs}/checkbox/index.cjs +5 -2
  20. package/src/js/cogs/checkbox/index.d.cts +2 -0
  21. package/src/js/cogs/checkbox/index.d.mts +24 -0
  22. package/src/{cogs → js/cogs}/checkbox/index.jsx +34 -26
  23. package/src/{cogs → js/cogs}/checkbox/title/index.cjs +5 -2
  24. package/src/js/cogs/checkbox/title/index.d.cts +2 -0
  25. package/src/{cogs → js/cogs}/checkbox/title/index.d.mts +4 -1
  26. package/src/{cogs → js/cogs}/checkbox/title/index.jsx +8 -4
  27. package/src/{cogs → js/cogs}/email/description/index.cjs +5 -2
  28. package/src/js/cogs/email/description/index.d.cts +1 -0
  29. package/src/{cogs → js/cogs}/email/description/index.jsx +0 -4
  30. package/src/{cogs → js/cogs}/email/error-message/index.cjs +5 -2
  31. package/src/js/cogs/email/error-message/index.d.cts +1 -0
  32. package/src/{cogs → js/cogs}/email/error-message/index.jsx +0 -4
  33. package/src/{cogs → js/cogs}/email/field/index.cjs +5 -2
  34. package/src/js/cogs/email/field/index.d.cts +2 -0
  35. package/src/js/cogs/email/field/index.d.mts +14 -0
  36. package/src/js/cogs/email/field/index.jsx +83 -0
  37. package/src/{cogs → js/cogs}/email/index.cjs +5 -2
  38. package/src/js/cogs/email/index.d.cts +2 -0
  39. package/src/js/cogs/email/index.d.mts +18 -0
  40. package/src/{cogs → js/cogs}/email/index.jsx +28 -15
  41. package/src/{cogs → js/cogs}/email/title/index.cjs +5 -2
  42. package/src/js/cogs/email/title/index.d.cts +2 -0
  43. package/src/{cogs → js/cogs}/email/title/index.d.mts +4 -1
  44. package/src/js/cogs/email/title/index.jsx +19 -0
  45. package/src/{cogs → js/cogs}/index.cjs +9 -4
  46. package/src/js/cogs/index.d.cts +5 -0
  47. package/src/js/cogs/index.d.mts +25 -0
  48. package/src/js/cogs/index.jsx +160 -0
  49. package/src/{cogs → js/cogs}/number/description/index.cjs +5 -2
  50. package/src/js/cogs/number/description/index.d.cts +1 -0
  51. package/src/{cogs → js/cogs}/number/description/index.jsx +0 -4
  52. package/src/{cogs → js/cogs}/number/error-message/index.cjs +5 -2
  53. package/src/js/cogs/number/error-message/index.d.cts +1 -0
  54. package/src/{cogs → js/cogs}/number/error-message/index.jsx +0 -4
  55. package/src/{cogs → js/cogs}/number/field/index.cjs +5 -2
  56. package/src/js/cogs/number/field/index.d.cts +2 -0
  57. package/src/js/cogs/number/field/index.d.mts +14 -0
  58. package/src/{cogs → js/cogs}/number/field/index.jsx +40 -7
  59. package/src/{cogs → js/cogs}/number/index.cjs +5 -2
  60. package/src/js/cogs/number/index.d.cts +2 -0
  61. package/src/js/cogs/number/index.d.mts +18 -0
  62. package/src/{cogs → js/cogs}/number/index.jsx +28 -11
  63. package/src/{cogs → js/cogs}/number/title/index.cjs +5 -2
  64. package/src/js/cogs/number/title/index.d.cts +2 -0
  65. package/src/{cogs → js/cogs}/number/title/index.d.mts +4 -1
  66. package/src/{cogs → js/cogs}/number/title/index.jsx +8 -4
  67. package/src/{cogs → js/cogs}/password/description/index.cjs +5 -2
  68. package/src/js/cogs/password/description/index.d.cts +1 -0
  69. package/src/{cogs → js/cogs}/password/description/index.jsx +0 -4
  70. package/src/{cogs → js/cogs}/password/error-message/index.cjs +5 -2
  71. package/src/js/cogs/password/error-message/index.d.cts +1 -0
  72. package/src/{cogs → js/cogs}/password/error-message/index.jsx +0 -4
  73. package/src/{cogs → js/cogs}/password/field/index.cjs +5 -2
  74. package/src/js/cogs/password/field/index.d.cts +2 -0
  75. package/src/js/cogs/password/field/index.d.mts +14 -0
  76. package/src/js/cogs/password/field/index.jsx +83 -0
  77. package/src/{cogs → js/cogs}/password/index.cjs +5 -2
  78. package/src/js/cogs/password/index.d.cts +2 -0
  79. package/src/js/cogs/password/index.d.mts +18 -0
  80. package/src/{cogs → js/cogs}/password/index.jsx +28 -15
  81. package/src/{cogs → js/cogs}/password/title/index.cjs +5 -2
  82. package/src/js/cogs/password/title/index.d.cts +2 -0
  83. package/src/{cogs → js/cogs}/password/title/index.d.mts +4 -1
  84. package/src/{cogs → js/cogs}/password/title/index.jsx +8 -4
  85. package/src/{cogs → js/cogs}/radio/description/index.cjs +5 -2
  86. package/src/js/cogs/radio/description/index.d.cts +1 -0
  87. package/src/{cogs → js/cogs}/radio/description/index.jsx +0 -4
  88. package/src/{cogs → js/cogs}/radio/error-message/index.cjs +5 -2
  89. package/src/js/cogs/radio/error-message/index.d.cts +1 -0
  90. package/src/{cogs → js/cogs}/radio/error-message/index.jsx +0 -4
  91. package/src/{cogs → js/cogs}/radio/field/index.cjs +5 -2
  92. package/src/js/cogs/radio/field/index.d.cts +2 -0
  93. package/src/js/cogs/radio/field/index.d.mts +14 -0
  94. package/src/{cogs → js/cogs}/radio/field/index.jsx +20 -9
  95. package/src/{cogs → js/cogs}/radio/index.cjs +5 -2
  96. package/src/js/cogs/radio/index.d.cts +2 -0
  97. package/src/js/cogs/radio/index.d.mts +24 -0
  98. package/src/{cogs → js/cogs}/radio/index.jsx +36 -20
  99. package/src/{cogs → js/cogs}/radio/title/index.cjs +5 -2
  100. package/src/js/cogs/radio/title/index.d.cts +2 -0
  101. package/src/{cogs → js/cogs}/radio/title/index.d.mts +4 -1
  102. package/src/{cogs → js/cogs}/radio/title/index.jsx +8 -4
  103. package/src/{cogs → js/cogs}/select/description/index.cjs +5 -2
  104. package/src/js/cogs/select/description/index.d.cts +1 -0
  105. package/src/{cogs → js/cogs}/select/description/index.jsx +0 -4
  106. package/src/{cogs → js/cogs}/select/error-message/index.cjs +5 -2
  107. package/src/js/cogs/select/error-message/index.d.cts +1 -0
  108. package/src/{cogs → js/cogs}/select/error-message/index.jsx +0 -4
  109. package/src/{cogs → js/cogs}/select/field/index.cjs +5 -2
  110. package/src/js/cogs/select/field/index.d.cts +2 -0
  111. package/src/js/cogs/select/field/index.d.mts +18 -0
  112. package/src/js/cogs/select/field/index.jsx +200 -0
  113. package/src/{cogs → js/cogs}/select/index.cjs +5 -2
  114. package/src/js/cogs/select/index.d.cts +2 -0
  115. package/src/js/cogs/select/index.d.mts +18 -0
  116. package/src/{cogs → js/cogs}/select/index.jsx +56 -19
  117. package/src/{cogs → js/cogs}/select/title/index.cjs +5 -2
  118. package/src/js/cogs/select/title/index.d.cts +2 -0
  119. package/src/{cogs → js/cogs}/select/title/index.d.mts +4 -1
  120. package/src/js/cogs/select/title/index.jsx +19 -0
  121. package/src/{cogs → js/cogs}/text/description/index.cjs +5 -2
  122. package/src/js/cogs/text/description/index.d.cts +1 -0
  123. package/src/{cogs → js/cogs}/text/description/index.jsx +0 -4
  124. package/src/{cogs → js/cogs}/text/error-message/index.cjs +5 -2
  125. package/src/js/cogs/text/error-message/index.d.cts +1 -0
  126. package/src/{cogs → js/cogs}/text/error-message/index.jsx +1 -5
  127. package/src/{cogs → js/cogs}/text/field/index.cjs +5 -2
  128. package/src/js/cogs/text/field/index.d.cts +2 -0
  129. package/src/js/cogs/text/field/index.d.mts +14 -0
  130. package/src/js/cogs/text/field/index.jsx +83 -0
  131. package/src/{cogs → js/cogs}/text/index.cjs +5 -2
  132. package/src/js/cogs/text/index.d.cts +2 -0
  133. package/src/js/cogs/text/index.d.mts +18 -0
  134. package/src/{cogs → js/cogs}/text/index.jsx +28 -19
  135. package/src/{cogs → js/cogs}/text/title/index.cjs +5 -2
  136. package/src/js/cogs/text/title/index.d.cts +2 -0
  137. package/src/{cogs → js/cogs}/text/title/index.d.mts +4 -1
  138. package/src/js/cogs/text/title/index.jsx +19 -0
  139. package/src/{cogs → js/cogs}/textarea/description/index.cjs +5 -2
  140. package/src/js/cogs/textarea/description/index.d.cts +1 -0
  141. package/src/{cogs → js/cogs}/textarea/description/index.jsx +0 -4
  142. package/src/{cogs → js/cogs}/textarea/error-message/index.cjs +5 -2
  143. package/src/js/cogs/textarea/error-message/index.d.cts +1 -0
  144. package/src/{cogs → js/cogs}/textarea/error-message/index.jsx +0 -4
  145. package/src/{cogs → js/cogs}/textarea/field/index.cjs +5 -2
  146. package/src/js/cogs/textarea/field/index.d.cts +2 -0
  147. package/src/js/cogs/textarea/field/index.d.mts +18 -0
  148. package/src/{cogs → js/cogs}/textarea/field/index.jsx +38 -10
  149. package/src/{cogs → js/cogs}/textarea/index.cjs +5 -2
  150. package/src/js/cogs/textarea/index.d.cts +2 -0
  151. package/src/js/cogs/textarea/index.d.mts +18 -0
  152. package/src/{cogs → js/cogs}/textarea/index.jsx +27 -14
  153. package/src/{cogs → js/cogs}/textarea/title/index.cjs +5 -2
  154. package/src/js/cogs/textarea/title/index.d.cts +2 -0
  155. package/src/{cogs → js/cogs}/textarea/title/index.d.mts +4 -1
  156. package/src/{cogs → js/cogs}/textarea/title/index.jsx +8 -4
  157. package/src/{components → js/components}/common/disabled/index.cjs +5 -2
  158. package/src/js/components/common/disabled/index.d.cts +1 -0
  159. package/src/js/components/common/disabled/index.jsx +11 -0
  160. package/src/{components → js/components}/common/readonly/index.cjs +5 -2
  161. package/src/js/components/common/readonly/index.d.cts +1 -0
  162. package/src/js/components/common/readonly/index.jsx +11 -0
  163. package/src/{components → js/components}/common/required/index.cjs +5 -2
  164. package/src/js/components/common/required/index.d.cts +1 -0
  165. package/src/js/components/common/required/index.jsx +11 -0
  166. package/src/{components → js/components}/common/text-content/index.cjs +6 -3
  167. package/src/js/components/common/text-content/index.d.cts +2 -0
  168. package/src/{components → js/components}/common/text-content/index.d.mts +1 -3
  169. package/src/{components → js/components}/common/text-content/index.jsx +7 -6
  170. package/src/{components → js/components}/description/index.cjs +5 -2
  171. package/src/js/components/description/index.d.cts +2 -0
  172. package/src/{components → js/components}/description/index.d.mts +2 -7
  173. package/src/js/components/description/index.jsx +5 -0
  174. package/src/{components → js/components}/error-message/index.cjs +5 -2
  175. package/src/js/components/error-message/index.d.cts +2 -0
  176. package/src/{components → js/components}/error-message/index.d.mts +2 -5
  177. package/src/js/components/error-message/index.jsx +5 -0
  178. package/src/{components → js/components}/field/index.cjs +10 -2
  179. package/src/js/components/field/index.d.cts +1 -0
  180. package/src/js/components/field/index.d.mts +24 -0
  181. package/src/js/components/field/index.jsx +98 -0
  182. package/src/js/components/index.cjs +38 -0
  183. package/src/js/components/index.d.cts +4 -0
  184. package/src/js/components/index.d.mts +4 -0
  185. package/src/js/components/index.mjs +10 -0
  186. package/src/{components → js/components}/title/index.cjs +2 -2
  187. package/src/js/components/title/index.d.cts +2 -0
  188. package/src/js/components/title/index.d.mts +9 -0
  189. package/src/js/components/title/index.jsx +5 -0
  190. package/src/js/index.d.cts +72 -0
  191. package/src/js/index.d.mts +72 -0
  192. package/src/js/super/cogs/index.cjs +20 -0
  193. package/src/js/super/cogs/index.d.cts +2 -0
  194. package/src/js/super/cogs/index.d.mts +28 -0
  195. package/src/{cogs → js/super/cogs}/index.jsx +36 -118
  196. package/src/js/super/components/description/index.cjs +20 -0
  197. package/src/js/super/components/description/index.d.cts +2 -0
  198. package/src/js/super/components/description/index.d.mts +18 -0
  199. package/src/{components → js/super/components}/description/index.jsx +16 -3
  200. package/src/js/super/components/error-message/index.cjs +20 -0
  201. package/src/js/super/components/error-message/index.d.cts +2 -0
  202. package/src/js/super/components/error-message/index.d.mts +27 -0
  203. package/src/{components → js/super/components}/error-message/index.jsx +14 -7
  204. package/src/js/super/components/field/index.cjs +20 -0
  205. package/src/js/super/components/field/index.d.cts +2 -0
  206. package/src/js/super/components/field/index.d.mts +23 -0
  207. package/src/{components → js/super/components}/field/index.jsx +44 -71
  208. package/src/js/super/components/index.cjs +32 -0
  209. package/src/js/super/components/index.d.cts +4 -0
  210. package/src/js/super/components/index.d.mts +4 -0
  211. package/src/js/super/components/index.mjs +10 -0
  212. package/src/js/super/components/title/index.cjs +20 -0
  213. package/src/js/super/components/title/index.d.cts +2 -0
  214. package/src/js/super/components/title/index.d.mts +32 -0
  215. package/src/{components → js/super/components}/title/index.jsx +34 -7
  216. package/src/sass/.stylelintrc +14 -0
  217. package/src/sass/_cogs.scss +62 -0
  218. package/src/sass/cogs/_checkbox.scss +87 -0
  219. package/src/sass/cogs/_disabled.scss +15 -0
  220. package/src/sass/cogs/_error.scss +48 -0
  221. package/src/sass/cogs/_radio.scss +93 -0
  222. package/jsconfig.json +0 -5
  223. package/src/cogs/checkbox/field/index.d.mts +0 -9
  224. package/src/cogs/checkbox/index.d.mts +0 -9
  225. package/src/cogs/email/field/index.d.mts +0 -9
  226. package/src/cogs/email/field/index.jsx +0 -54
  227. package/src/cogs/email/index.d.mts +0 -9
  228. package/src/cogs/email/title/index.jsx +0 -15
  229. package/src/cogs/index.d.mts +0 -24
  230. package/src/cogs/number/field/index.d.mts +0 -9
  231. package/src/cogs/number/index.d.mts +0 -9
  232. package/src/cogs/password/field/index.d.mts +0 -9
  233. package/src/cogs/password/field/index.jsx +0 -54
  234. package/src/cogs/password/index.d.mts +0 -9
  235. package/src/cogs/radio/field/index.d.mts +0 -9
  236. package/src/cogs/radio/index.d.mts +0 -9
  237. package/src/cogs/select/field/index.d.mts +0 -9
  238. package/src/cogs/select/field/index.jsx +0 -111
  239. package/src/cogs/select/index.d.mts +0 -9
  240. package/src/cogs/select/title/index.jsx +0 -15
  241. package/src/cogs/text/field/index.d.mts +0 -9
  242. package/src/cogs/text/field/index.jsx +0 -54
  243. package/src/cogs/text/index.d.mts +0 -9
  244. package/src/cogs/text/title/index.jsx +0 -15
  245. package/src/cogs/textarea/field/index.d.mts +0 -9
  246. package/src/cogs/textarea/index.d.mts +0 -9
  247. package/src/common/index.d.mts +0 -9
  248. package/src/common/index.mjs +0 -7
  249. package/src/components/common/disabled/index.jsx +0 -9
  250. package/src/components/common/readonly/index.jsx +0 -9
  251. package/src/components/common/required/index.jsx +0 -9
  252. package/src/components/field/index.d.mts +0 -23
  253. package/src/components/title/index.d.mts +0 -19
  254. package/src/index.d.mts +0 -14
  255. package/tsconfig.json +0 -21
  256. /package/src/{cogs → js/cogs}/checkbox/description/index.d.mts +0 -0
  257. /package/src/{cogs → js/cogs}/checkbox/error-message/index.d.mts +0 -0
  258. /package/src/{cogs → js/cogs}/email/description/index.d.mts +0 -0
  259. /package/src/{cogs → js/cogs}/email/error-message/index.d.mts +0 -0
  260. /package/src/{cogs → js/cogs}/number/description/index.d.mts +0 -0
  261. /package/src/{cogs → js/cogs}/number/error-message/index.d.mts +0 -0
  262. /package/src/{cogs → js/cogs}/password/description/index.d.mts +0 -0
  263. /package/src/{cogs → js/cogs}/password/error-message/index.d.mts +0 -0
  264. /package/src/{cogs → js/cogs}/radio/description/index.d.mts +0 -0
  265. /package/src/{cogs → js/cogs}/radio/error-message/index.d.mts +0 -0
  266. /package/src/{cogs → js/cogs}/select/description/index.d.mts +0 -0
  267. /package/src/{cogs → js/cogs}/select/error-message/index.d.mts +0 -0
  268. /package/src/{cogs → js/cogs}/text/description/index.d.mts +0 -0
  269. /package/src/{cogs → js/cogs}/text/error-message/index.d.mts +0 -0
  270. /package/src/{cogs → js/cogs}/textarea/description/index.d.mts +0 -0
  271. /package/src/{cogs → js/cogs}/textarea/error-message/index.d.mts +0 -0
  272. /package/src/{components → js/components}/common/disabled/index.d.mts +0 -0
  273. /package/src/{components → js/components}/common/readonly/index.d.mts +0 -0
  274. /package/src/{components → js/components}/common/required/index.d.mts +0 -0
  275. /package/src/{index.cjs → js/index.cjs} +0 -0
  276. /package/src/{index.mjs → js/index.mjs} +0 -0
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/components/error-message')
11
11
  log('`cogs` 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,2 @@
1
+ export { default } from '#cogs/components/error-message'
2
+ export * from '#cogs/components/error-message'
@@ -1,9 +1,6 @@
1
1
  declare module '#cogs/components/error-message' {
2
- import React from 'react'
3
-
4
- export type ErrorMessageProps = CogsTypes.ErrorDefinitionType
5
-
6
- export default class ErrorMessage extends React.Component<ErrorMessageProps> {}
2
+ export { default } from '#cogs/super/components/error-message'
3
+ export * from '#cogs/super/components/error-message'
7
4
  }
8
5
 
9
6
  declare module '@modernpoacher/cogs/components/error-message' {
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ErrorMessage component
3
+ */
4
+
5
+ export { default } from '#cogs/super/components/error-message'
@@ -10,7 +10,15 @@ const log = debug('@modernpoacher/cogs/components/field')
10
10
 
11
11
  log('`cogs` is awake')
12
12
 
13
+ const {
14
+ ValueField,
15
+ CheckField,
16
+ toInputValue
17
+ } = require('./index.jsx')
18
+
13
19
  /**
14
- * Exports default, etc
20
+ * Exports ValueField and CheckField
15
21
  */
16
- module.exports = require('./index.jsx')
22
+ module.exports.ValueField = ValueField
23
+ module.exports.CheckField = CheckField
24
+ module.exports.toInputValue = toInputValue
@@ -0,0 +1 @@
1
+ export * from '#cogs/components/field'
@@ -0,0 +1,24 @@
1
+ declare module '#cogs/components/field' {
2
+ import type { MouseEvent } from 'react'
3
+
4
+ import Field from '#cogs/super/components/field'
5
+
6
+ export function toInputValue (value: unknown): string
7
+
8
+ export type ValueProps = CogsTypes.Components.Field.ValueProps
9
+ export type CheckProps = CogsTypes.Components.Field.CheckProps
10
+
11
+ export class ValueField<P extends ValueProps> extends Field<P> {
12
+ shouldComponentUpdate (props: ValueProps): boolean
13
+ }
14
+
15
+ export class CheckField<P extends CheckProps> extends Field<P> {
16
+ shouldComponentUpdate (props: CheckProps): boolean
17
+
18
+ handleClick (event: MouseEvent<HTMLInputElement>): void
19
+ }
20
+ }
21
+
22
+ declare module '@modernpoacher/cogs/components/field' {
23
+ export * from '#cogs/components/field'
24
+ }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * @typedef {CogsTypes.OnEventType} OnEventType
3
+ * @typedef {CogsTypes.Super.Components.Field.FieldProps} FieldProps
4
+ * @typedef {CogsTypes.Components.Field.ValueProps} ValueProps
5
+ * @typedef {CogsTypes.Components.Field.CheckProps} CheckProps
6
+ */
7
+
8
+ /**
9
+ * Field component
10
+ */
11
+ import PropTypes from 'prop-types'
12
+
13
+ import Field from '#cogs/super/components/field'
14
+
15
+ /**
16
+ * @type {OnEventType}
17
+ */
18
+ function DEFAULT_HANDLE_EVENT () {
19
+ //
20
+ }
21
+
22
+ /**
23
+ * @param {unknown} value
24
+ * @returns {string}
25
+ */
26
+ export function toInputValue (value) {
27
+ return (value === undefined) ? '' : String(value)
28
+ }
29
+
30
+ /**
31
+ * ValueField component
32
+ *
33
+ * @extends {Field<FieldProps & ValueProps>}
34
+ */
35
+ export class ValueField extends Field {}
36
+
37
+ ValueField.propTypes = {
38
+ ...Field.propTypes,
39
+ defaultValue: PropTypes.string
40
+ }
41
+
42
+ /**
43
+ * CheckField component
44
+ *
45
+ * @extends {Field<FieldProps & CheckProps>}
46
+ */
47
+ export class CheckField extends Field {
48
+ /**
49
+ * @param {CheckProps} props
50
+ * @returns {boolean}
51
+ */
52
+ shouldComponentUpdate (props) {
53
+ const {
54
+ checked,
55
+ defaultChecked,
56
+ onClick,
57
+ ...superProps
58
+ } = props
59
+
60
+ return (
61
+ (checked !== this.props.checked) ||
62
+ (defaultChecked !== this.props.defaultChecked) ||
63
+ super.shouldComponentUpdate(superProps) ||
64
+ (onClick !== this.props.onClick)
65
+ )
66
+ }
67
+
68
+ /**
69
+ * @param {{ target: { value?: string, checked?: boolean } }} event
70
+ * @returns {void}
71
+ */
72
+ handleChange = ({ target: { value, checked } }) => {
73
+ const {
74
+ onChange = DEFAULT_HANDLE_EVENT
75
+ } = this.props
76
+
77
+ onChange(value, checked)
78
+ }
79
+
80
+ /**
81
+ * @param {{ target: { value?: string, checked?: boolean } }} event
82
+ * @returns {void}
83
+ */
84
+ handleClick = ({ target: { value, checked } }) => {
85
+ const {
86
+ onClick = DEFAULT_HANDLE_EVENT
87
+ } = this.props
88
+
89
+ onClick(value, checked)
90
+ }
91
+ }
92
+
93
+ CheckField.propTypes = {
94
+ ...Field.propTypes,
95
+ checked: PropTypes.bool,
96
+ defaultChecked: PropTypes.bool,
97
+ onClick: PropTypes.func
98
+ }
@@ -0,0 +1,38 @@
1
+ require('@babel/register')({
2
+ ignore: [
3
+ /node_modules\/(?!shinkansen|@modernpoacher)/
4
+ ]
5
+ })
6
+
7
+ const debug = require('debug')
8
+
9
+ const log = debug('@modernpoacher/cogs/components')
10
+
11
+ log('`cogs` 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
+ ValueField,
23
+ CheckField,
24
+ toInputValue
25
+ } = require('./field/index.jsx')
26
+
27
+ const {
28
+ default: Title
29
+ } = require('./title/index.jsx')
30
+
31
+ module.exports.Description = Description
32
+ module.exports.ErrorMessage = ErrorMessage
33
+ module.exports.Field = {
34
+ ValueField,
35
+ CheckField,
36
+ toInputValue
37
+ }
38
+ module.exports.Title = Title
@@ -0,0 +1,4 @@
1
+ export { default as Description } from '#cogs/components/description'
2
+ export { default as ErrorMessage } from '#cogs/components/error-message'
3
+ export { default as Field } from '#cogs/components/field'
4
+ export { default as Title } from '#cogs/components/title'
@@ -0,0 +1,4 @@
1
+ export { default as Description } from '#cogs/components/description'
2
+ export { default as ErrorMessage } from '#cogs/components/error-message'
3
+ export { default as Field } from '#cogs/components/field'
4
+ export { default as Title } from '#cogs/components/title'
@@ -0,0 +1,10 @@
1
+ import debug from 'debug'
2
+
3
+ const log = debug('@modernpoacher/cogs/components')
4
+
5
+ log('`cogs` is awake')
6
+
7
+ export { default as Description } from './description/index.cjs'
8
+ export { default as ErrorMessage } from './error-message/index.cjs'
9
+ export { default as Field } from './field/index.cjs'
10
+ export { default as Title } from './title/index.cjs'
@@ -11,10 +11,10 @@ const log = debug('@modernpoacher/cogs/components/title')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Title
15
15
  } = require('./index.jsx')
16
16
 
17
17
  /**
18
18
  * Exports only default
19
19
  */
20
- module.exports = component
20
+ module.exports = Title
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/components/title'
2
+ export * from '#cogs/components/title'
@@ -0,0 +1,9 @@
1
+ declare module '#cogs/components/title' {
2
+ export { default } from '#cogs/super/components/title'
3
+ export * from '#cogs/super/components/title'
4
+ }
5
+
6
+ declare module '@modernpoacher/cogs/components/title' {
7
+ export { default } from '#cogs/components/title'
8
+ export * from '#cogs/components/title'
9
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Title component
3
+ */
4
+
5
+ export { default } from '#cogs/super/components/title'
@@ -0,0 +1,72 @@
1
+ import type CheckboxCog from '#cogs/cogs/checkbox'
2
+
3
+ import type {
4
+ CheckboxProps
5
+ } from '#cogs/cogs/checkbox'
6
+
7
+ import type EmailCog from '#cogs/cogs/email'
8
+
9
+ import type {
10
+ EmailProps
11
+ } from '#cogs/cogs/email'
12
+
13
+ import type NumberCog from '#cogs/cogs/number'
14
+
15
+ import type {
16
+ NumberProps
17
+ } from '#cogs/cogs/number'
18
+
19
+ import type PasswordCog from '#cogs/cogs/password'
20
+
21
+ import type {
22
+ PasswordProps
23
+ } from '#cogs/cogs/password'
24
+
25
+ import type RadioCog from '#cogs/cogs/radio'
26
+
27
+ import type {
28
+ RadioProps
29
+ } from '#cogs/cogs/radio'
30
+
31
+ import type SelectCog from '#cogs/cogs/select'
32
+
33
+ import type {
34
+ SelectProps
35
+ } from '#cogs/cogs/select'
36
+
37
+ import type TextCog from '#cogs/cogs/text'
38
+
39
+ import type {
40
+ TextProps
41
+ } from '#cogs/cogs/text'
42
+
43
+ import type TextareaCog from '#cogs/cogs/textarea'
44
+
45
+ import type {
46
+ TextareaProps
47
+ } from '#cogs/cogs/textarea'
48
+
49
+ export type ErrorDefinitionType = CogsTypes.ErrorDefinitionType
50
+ export type FieldErrorType = CogsTypes.FieldErrorType
51
+
52
+ export { default as CheckboxCog } from '#cogs/cogs/checkbox'
53
+ export { default as EmailCog } from '#cogs/cogs/email'
54
+ export { default as NumberCog } from '#cogs/cogs/number'
55
+ export { default as PasswordCog } from '#cogs/cogs/password'
56
+ export { default as RadioCog } from '#cogs/cogs/radio'
57
+ export { default as SelectCog } from '#cogs/cogs/select'
58
+ export { default as TextCog } from '#cogs/cogs/text'
59
+ export { default as TextareaCog } from '#cogs/cogs/textarea'
60
+
61
+ declare const cogs: {
62
+ CheckboxCog: CheckboxCog<CheckboxProps>
63
+ EmailCog: EmailCog<EmailProps>
64
+ NumberCog: NumberCog<NumberProps>
65
+ PasswordCog: PasswordCog<PasswordProps>
66
+ RadioCog: RadioCog<RadioProps>
67
+ SelectCog: SelectCog<SelectProps>
68
+ TextCog: TextCog<TextProps>
69
+ TextareaCog: TextareaCog<TextareaProps>
70
+ }
71
+
72
+ export default cogs
@@ -0,0 +1,72 @@
1
+ import type CheckboxCog from '#cogs/cogs/checkbox'
2
+
3
+ import type {
4
+ CheckboxProps
5
+ } from '#cogs/cogs/checkbox'
6
+
7
+ import type EmailCog from '#cogs/cogs/email'
8
+
9
+ import type {
10
+ EmailProps
11
+ } from '#cogs/cogs/email'
12
+
13
+ import type NumberCog from '#cogs/cogs/number'
14
+
15
+ import type {
16
+ NumberProps
17
+ } from '#cogs/cogs/number'
18
+
19
+ import type PasswordCog from '#cogs/cogs/password'
20
+
21
+ import type {
22
+ PasswordProps
23
+ } from '#cogs/cogs/password'
24
+
25
+ import type RadioCog from '#cogs/cogs/radio'
26
+
27
+ import type {
28
+ RadioProps
29
+ } from '#cogs/cogs/radio'
30
+
31
+ import type SelectCog from '#cogs/cogs/select'
32
+
33
+ import type {
34
+ SelectProps
35
+ } from '#cogs/cogs/select'
36
+
37
+ import type TextCog from '#cogs/cogs/text'
38
+
39
+ import type {
40
+ TextProps
41
+ } from '#cogs/cogs/text'
42
+
43
+ import type TextareaCog from '#cogs/cogs/textarea'
44
+
45
+ import type {
46
+ TextareaProps
47
+ } from '#cogs/cogs/textarea'
48
+
49
+ export type ErrorDefinitionType = CogsTypes.ErrorDefinitionType
50
+ export type FieldErrorType = CogsTypes.FieldErrorType
51
+
52
+ export { default as CheckboxCog } from '#cogs/cogs/checkbox'
53
+ export { default as EmailCog } from '#cogs/cogs/email'
54
+ export { default as NumberCog } from '#cogs/cogs/number'
55
+ export { default as PasswordCog } from '#cogs/cogs/password'
56
+ export { default as RadioCog } from '#cogs/cogs/radio'
57
+ export { default as SelectCog } from '#cogs/cogs/select'
58
+ export { default as TextCog } from '#cogs/cogs/text'
59
+ export { default as TextareaCog } from '#cogs/cogs/textarea'
60
+
61
+ declare const cogs: {
62
+ CheckboxCog: CheckboxCog<CheckboxProps>
63
+ EmailCog: EmailCog<EmailProps>
64
+ NumberCog: NumberCog<NumberProps>
65
+ PasswordCog: PasswordCog<PasswordProps>
66
+ RadioCog: RadioCog<RadioProps>
67
+ SelectCog: SelectCog<SelectProps>
68
+ TextCog: TextCog<TextProps>
69
+ TextareaCog: TextareaCog<TextareaProps>
70
+ }
71
+
72
+ export default cogs
@@ -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('@modernpoacher/cogs/super/cogs')
10
+
11
+ log('`cogs` is awake')
12
+
13
+ const {
14
+ default: Cog
15
+ } = require('./index.jsx')
16
+
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Cog
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/super/cogs'
2
+ export * from '#cogs/super/cogs'
@@ -0,0 +1,28 @@
1
+ declare module '#cogs/super/cogs' {
2
+ import React from 'react'
3
+
4
+ export type CogProps = CogsTypes.Super.Cogs.CogProps
5
+
6
+ export default class Cog<P extends CogProps> extends React.Component<P> {
7
+ static propTypes: Record<PropertyKey, unknown>
8
+
9
+ getClassName (): string
10
+
11
+ getId (): string
12
+
13
+ shouldComponentUpdate (props: CogProps): boolean
14
+
15
+ renderTitle (): React.JSX.Element | null
16
+
17
+ renderDescription (): React.JSX.Element | null
18
+
19
+ renderErrorMessage (): React.JSX.Element | null
20
+
21
+ renderField (): React.JSX.Element | null
22
+ }
23
+ }
24
+
25
+ declare module '@modernpoacher/cogs/super/cogs' {
26
+ export { default } from '#cogs/super/cogs'
27
+ export * from '#cogs/super/cogs'
28
+ }
@@ -1,24 +1,26 @@
1
1
  /**
2
- * Cog component
3
- *
4
- * @typedef {import('@modernpoacher/cogs/cogs').CogProps} CogProps
2
+ * @typedef {CogsTypes.OnEventType} OnEventType
3
+ * @typedef {CogsTypes.Super.Cogs.CogProps} CogProps
4
+ */
5
+
6
+ /**
7
+ * Cog component
5
8
  */
6
9
  import React, { Component } from 'react'
7
10
  import PropTypes from 'prop-types'
8
11
  import classnames from 'classnames'
9
12
 
10
- import {
11
- DEFAULT_HANDLE_CHANGE,
12
- DEFAULT_HANDLE_CLICK
13
- } from '#cogs/common'
13
+ import Title from '#cogs/super/components/title'
14
+ import Description from '#cogs/super/components/description'
15
+ import ErrorMessage from '#cogs/super/components/error-message'
16
+ import Field from '#cogs/super/components/field'
14
17
 
15
- import Title from '#cogs/components/title'
16
- import Description from '#cogs/components/description'
17
- import ErrorMessage from '#cogs/components/error-message'
18
- import Field, {
19
- ValueField,
20
- CheckField
21
- } from '#cogs/components/field'
18
+ /**
19
+ * @type {OnEventType}
20
+ */
21
+ function DEFAULT_HANDLE_EVENT () {
22
+ //
23
+ }
22
24
 
23
25
  export default class Cog extends Component {
24
26
  getClassName () {
@@ -42,14 +44,15 @@ export default class Cog extends Component {
42
44
  }
43
45
 
44
46
  /**
45
- * @param {CogProps} props
46
- * @returns {boolean}
47
+ * @param {CogProps} props
48
+ * @returns {boolean}
47
49
  */
48
- shouldComponentUpdate (props, state) {
50
+ shouldComponentUpdate (props) {
49
51
  return (
50
52
  (props.name !== this.props.name) ||
51
53
  (props.id !== this.props.id) ||
52
54
  (props.title !== this.props.title) ||
55
+ (props.value !== this.props.value) ||
53
56
  (props.description !== this.props.description) ||
54
57
  (props.errorMessage !== this.props.errorMessage) ||
55
58
  (props.required !== this.props.required) ||
@@ -112,20 +115,22 @@ export default class Cog extends Component {
112
115
 
113
116
  const {
114
117
  name,
118
+ value,
115
119
  required = false,
116
120
  disabled = false,
117
121
  readOnly = false,
118
122
  tabIndex,
119
123
  accessKey,
120
124
  placeholder,
121
- onChange = DEFAULT_HANDLE_CHANGE,
125
+ onChange = DEFAULT_HANDLE_EVENT,
122
126
  fieldRef
123
127
  } = this.props
124
128
 
125
129
  return (
126
130
  <Field
127
- id={id}
128
131
  name={name}
132
+ id={id}
133
+ value={value}
129
134
  required={required}
130
135
  disabled={disabled}
131
136
  readOnly={readOnly}
@@ -153,113 +158,26 @@ export default class Cog extends Component {
153
158
  }
154
159
 
155
160
  Cog.propTypes = {
156
- id: PropTypes.string,
157
161
  name: PropTypes.string.isRequired,
162
+ id: PropTypes.string,
158
163
  title: PropTypes.string,
164
+ value: PropTypes.string,
159
165
  description: PropTypes.string,
160
- errorMessage: PropTypes.string,
166
+ errorMessage: PropTypes.shape({
167
+ type: PropTypes.string.isRequired,
168
+ params: PropTypes.shape({}).isRequired,
169
+ uri: PropTypes.string.isRequired
170
+ }),
161
171
  required: PropTypes.bool,
162
172
  disabled: PropTypes.bool,
163
173
  readOnly: PropTypes.bool,
174
+ tabIndex: PropTypes.number,
175
+ accessKey: PropTypes.string,
164
176
  placeholder: PropTypes.string,
165
177
  onChange: PropTypes.func,
166
178
  fieldRef: PropTypes.shape({
167
- current: PropTypes.shape().isRequired
179
+ current: PropTypes.shape({
180
+ value: PropTypes.string
181
+ })
168
182
  })
169
183
  }
170
-
171
- export class ValueCog extends Cog {
172
- shouldComponentUpdate (props, state) {
173
- return (
174
- super.shouldComponentUpdate(props) ||
175
- (props.value !== this.props.value)
176
- )
177
- }
178
-
179
- renderField () {
180
- const id = this.getId()
181
-
182
- const {
183
- name,
184
- required = false,
185
- disabled = false,
186
- readOnly = false,
187
- tabIndex,
188
- accessKey,
189
- placeholder,
190
- onChange = DEFAULT_HANDLE_CHANGE,
191
- fieldRef
192
- } = this.props
193
-
194
- return (
195
- <ValueField
196
- id={id}
197
- name={name}
198
- required={required}
199
- disabled={disabled}
200
- readOnly={readOnly}
201
- tabIndex={tabIndex}
202
- accessKey={accessKey}
203
- placeholder={placeholder}
204
- onChange={onChange}
205
- fieldRef={fieldRef}
206
- />
207
- )
208
- }
209
- }
210
-
211
- ValueCog.propTypes = {
212
- ...Cog.propTypes,
213
- value: PropTypes.string,
214
- defaultValue: PropTypes.string
215
- }
216
-
217
- export class CheckCog extends Cog {
218
- shouldComponentUpdate (props, state) {
219
- return (
220
- super.shouldComponentUpdate(props) ||
221
- (props.checked !== this.props.checked) ||
222
- (props.onClick !== this.props.onClick)
223
- )
224
- }
225
-
226
- renderField () {
227
- const id = this.getId()
228
-
229
- const {
230
- name,
231
- required = false,
232
- disabled = false,
233
- readOnly = false,
234
- tabIndex,
235
- accessKey,
236
- placeholder,
237
- onChange = DEFAULT_HANDLE_CHANGE,
238
- onClick = DEFAULT_HANDLE_CLICK,
239
- fieldRef
240
- } = this.props
241
-
242
- return (
243
- <CheckField
244
- id={id}
245
- name={name}
246
- required={required}
247
- disabled={disabled}
248
- readOnly={readOnly}
249
- tabIndex={tabIndex}
250
- accessKey={accessKey}
251
- placeholder={placeholder}
252
- onChange={onChange}
253
- onClick={onClick}
254
- fieldRef={fieldRef}
255
- />
256
- )
257
- }
258
- }
259
-
260
- CheckCog.propTypes = {
261
- ...Cog.propTypes,
262
- checked: PropTypes.bool,
263
- defaultChecked: PropTypes.bool,
264
- onClick: PropTypes.func
265
- }