@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/cogs/checkbox/description')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Description
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Description
@@ -0,0 +1 @@
1
+ export { default } from '#cogs/cogs/checkbox/description'
@@ -9,7 +9,3 @@ export default class CheckboxDescription extends Description {
9
9
  return classnames(super.getClassName(), 'checkbox')
10
10
  }
11
11
  }
12
-
13
- CheckboxDescription.propTypes = {
14
- ...Description.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/checkbox/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 @@
1
+ export { default } from '#cogs/cogs/checkbox/error-message'
@@ -9,7 +9,3 @@ export default class CheckboxErrorMessage extends ErrorMessage {
9
9
  return classnames(super.getClassName(), 'checkbox')
10
10
  }
11
11
  }
12
-
13
- CheckboxErrorMessage.propTypes = {
14
- ...ErrorMessage.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/checkbox/field')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Field
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Field
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/cogs/checkbox/field'
2
+ export * from '#cogs/cogs/checkbox/field'
@@ -0,0 +1,14 @@
1
+ declare module '#cogs/cogs/checkbox/field' {
2
+ import {
3
+ CheckField
4
+ } from '#cogs/components/field'
5
+
6
+ export type CheckboxProps = CogsTypes.Components.Field.Checkbox.CheckboxProps
7
+
8
+ export default class CheckboxField<P extends CheckboxProps> extends CheckField<P> {}
9
+ }
10
+
11
+ declare module '@modernpoacher/cogs/cogs/checkbox/field' {
12
+ export { default } from '#cogs/cogs/checkbox/field'
13
+ export * from '#cogs/cogs/checkbox/field'
14
+ }
@@ -1,12 +1,23 @@
1
1
  /**
2
- * CheckboxField component
2
+ * @typedef {CogsTypes.Components.Field.CheckProps} CheckProps
3
+ * @typedef {CogsTypes.Components.Field.Checkbox.CheckboxProps} CheckboxProps
4
+ */
5
+
6
+ /**
7
+ * CheckboxField component
3
8
  */
4
9
  import React from 'react'
5
10
  import PropTypes from 'prop-types'
6
11
  import classnames from 'classnames'
7
12
 
8
- import { CheckField } from '#cogs/components/field'
13
+ import {
14
+ CheckField,
15
+ toInputValue
16
+ } from '#cogs/components/field'
9
17
 
18
+ /**
19
+ * @extends {CheckField<CheckProps & CheckboxProps>}
20
+ */
10
21
  export default class CheckboxField extends CheckField {
11
22
  getClassName () {
12
23
  return classnames(super.getClassName(), 'checkbox')
@@ -14,10 +25,10 @@ export default class CheckboxField extends CheckField {
14
25
 
15
26
  render () {
16
27
  const {
17
- checked,
18
- id,
19
28
  name,
29
+ id,
20
30
  value,
31
+ checked,
21
32
  required = false,
22
33
  disabled = false,
23
34
  readOnly = false,
@@ -31,10 +42,10 @@ export default class CheckboxField extends CheckField {
31
42
  if (typeof checked === 'boolean') {
32
43
  return (
33
44
  <input
34
- checked={checked}
35
- id={id}
36
45
  name={name}
37
- value={value}
46
+ id={id}
47
+ value={toInputValue(value)}
48
+ checked={checked}
38
49
  required={required}
39
50
  disabled={disabled}
40
51
  readOnly={readOnly}
@@ -55,10 +66,10 @@ export default class CheckboxField extends CheckField {
55
66
 
56
67
  return (
57
68
  <input
58
- defaultChecked={defaultChecked}
59
- id={id}
60
69
  name={name}
61
- value={value}
70
+ id={id}
71
+ value={toInputValue(value)}
72
+ defaultChecked={defaultChecked}
62
73
  required={required}
63
74
  disabled={disabled}
64
75
  readOnly={readOnly}
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/textbox')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Checkbox
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Checkbox
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/cogs/checkbox'
2
+ export * from '#cogs/cogs/checkbox'
@@ -0,0 +1,24 @@
1
+ declare module '#cogs/cogs/checkbox' {
2
+ import {
3
+ CheckCog
4
+ } from '#cogs/cogs'
5
+
6
+ export type CheckboxProps = CogsTypes.Cogs.Checkbox.CheckboxProps
7
+
8
+ export default class CheckboxCog<P extends CheckboxProps> extends CheckCog<P> {
9
+ handleChange (
10
+ value?: string | string[],
11
+ checked?: boolean
12
+ ): void
13
+
14
+ handleClick (
15
+ value?: string | string[],
16
+ checked?: boolean
17
+ ): void
18
+ }
19
+ }
20
+
21
+ declare module '@modernpoacher/cogs/cogs/checkbox' {
22
+ export { default } from '#cogs/cogs/checkbox'
23
+ export * from '#cogs/cogs/checkbox'
24
+ }
@@ -1,50 +1,63 @@
1
1
  /**
2
- * CheckboxCog component
2
+ * @typedef {CogsTypes.OnEventType} OnEventType
3
+ * @typedef {CogsTypes.Cogs.CheckProps} CheckProps
4
+ * @typedef {CogsTypes.Cogs.Checkbox.CheckboxProps} CheckboxProps
5
+ */
6
+
7
+ /**
8
+ * CheckboxCog component
3
9
  */
4
10
  import React from 'react'
5
- import PropTypes from 'prop-types'
6
11
  import classnames from 'classnames'
7
12
 
8
- import { CheckCog } from '#cogs/cogs'
9
-
10
13
  import {
11
- DEFAULT_HANDLE_CHANGE,
12
- DEFAULT_HANDLE_CLICK
13
- } from '#cogs/common'
14
+ CheckCog
15
+ } from '#cogs/cogs'
14
16
 
15
- import Title from './title/index.jsx'
16
- import Description from './description/index.jsx'
17
- import ErrorMessage from './error-message/index.jsx'
18
- import Field from './field/index.jsx'
17
+ import Title from '#cogs/cogs/checkbox/title'
18
+ import Description from '#cogs/cogs/checkbox/description'
19
+ import ErrorMessage from '#cogs/cogs/checkbox/error-message'
20
+ import Field from '#cogs/cogs/checkbox/field'
19
21
 
22
+ /**
23
+ * @type {OnEventType}
24
+ */
25
+ function DEFAULT_HANDLE_EVENT () {
26
+ //
27
+ }
28
+
29
+ /**
30
+ * @extends {CheckCog<CheckProps & CheckboxProps>}
31
+ */
20
32
  export default class CheckboxCog extends CheckCog {
21
33
  getClassName () {
22
34
  return classnames(super.getClassName(), 'checkbox')
23
35
  }
24
36
 
37
+ /**
38
+ * @param {string | string[]} [value]
39
+ * @param {boolean} [checked]
40
+ */
25
41
  handleChange = (value, checked) => {
26
42
  const {
27
- onChange = DEFAULT_HANDLE_CHANGE
43
+ onChange = DEFAULT_HANDLE_EVENT
28
44
  } = this.props
29
45
 
30
46
  onChange(value, checked)
31
47
  }
32
48
 
49
+ /**
50
+ * @param {string | string[]} [value]
51
+ * @param {boolean} [checked]
52
+ */
33
53
  handleClick = (value, checked) => {
34
54
  const {
35
- onClick = DEFAULT_HANDLE_CLICK
55
+ onClick = DEFAULT_HANDLE_EVENT
36
56
  } = this.props
37
57
 
38
58
  onClick(value, checked)
39
59
  }
40
60
 
41
- shouldComponentUpdate (props, state) {
42
- return (
43
- super.shouldComponentUpdate(props) ||
44
- (props.value !== this.props.value)
45
- )
46
- }
47
-
48
61
  renderTitle () {
49
62
  const id = this.getId()
50
63
 
@@ -109,8 +122,8 @@ export default class CheckboxCog extends CheckCog {
109
122
 
110
123
  return (
111
124
  <Field
112
- id={id}
113
125
  name={name}
126
+ id={id}
114
127
  value={value}
115
128
  checked={checked}
116
129
  defaultChecked={defaultChecked}
@@ -140,8 +153,3 @@ export default class CheckboxCog extends CheckCog {
140
153
  )
141
154
  }
142
155
  }
143
-
144
- CheckboxCog.propTypes = {
145
- ...CheckCog.propTypes,
146
- value: PropTypes.string.isRequired
147
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/checkbox/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
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Title
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/cogs/checkbox/title'
2
+ export * from '#cogs/cogs/checkbox/title'
@@ -1,9 +1,12 @@
1
1
  declare module '#cogs/cogs/checkbox/title' {
2
2
  import Title from '#cogs/components/title'
3
3
 
4
- export default class CheckboxTitle extends Title {}
4
+ export type CheckboxProps = CogsTypes.Components.Title.Checkbox.CheckboxProps
5
+
6
+ export default class CheckboxTitle<P extends CheckboxProps> extends Title<P> {}
5
7
  }
6
8
 
7
9
  declare module '@modernpoacher/cogs/cogs/checkbox/title' {
8
10
  export { default } from '#cogs/cogs/checkbox/title'
11
+ export * from '#cogs/cogs/checkbox/title'
9
12
  }
@@ -1,15 +1,19 @@
1
+ /**
2
+ * @typedef {CogsTypes.Super.Components.Title.TitleProps} TitleProps
3
+ * @typedef {CogsTypes.Components.Title.Checkbox.CheckboxProps} CheckboxProps
4
+ */
5
+
1
6
  /**
2
7
  * CheckboxTitle component
3
8
  */
4
9
  import classnames from 'classnames'
5
10
  import Title from '#cogs/components/title'
6
11
 
12
+ /**
13
+ * @extends {Title<TitleProps & CheckboxProps>}
14
+ */
7
15
  export default class CheckboxTitle extends Title {
8
16
  getClassName () {
9
17
  return classnames(super.getClassName(), 'checkbox')
10
18
  }
11
19
  }
12
-
13
- CheckboxTitle.propTypes = {
14
- ...Title.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/email/description')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Description
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Description
@@ -0,0 +1 @@
1
+ export { default } from '#cogs/cogs/email/description'
@@ -9,7 +9,3 @@ export default class EmailDescription extends Description {
9
9
  return classnames(super.getClassName(), 'email')
10
10
  }
11
11
  }
12
-
13
- EmailDescription.propTypes = {
14
- ...Description.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/email/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 @@
1
+ export { default } from '#cogs/cogs/email/error-message'
@@ -9,7 +9,3 @@ export default class EmailErrorMessage extends ErrorMessage {
9
9
  return classnames(super.getClassName(), 'email')
10
10
  }
11
11
  }
12
-
13
- EmailErrorMessage.propTypes = {
14
- ...ErrorMessage.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/email/field')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Field
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Field
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/cogs/email/field'
2
+ export * from '#cogs/cogs/email/field'
@@ -0,0 +1,14 @@
1
+ declare module '#cogs/cogs/email/field' {
2
+ import {
3
+ ValueField
4
+ } from '#cogs/components/field'
5
+
6
+ export type EmailProps = CogsTypes.Components.Field.Email.EmailProps
7
+
8
+ export default class EmailField<P extends EmailProps> extends ValueField<P> {}
9
+ }
10
+
11
+ declare module '@modernpoacher/cogs/cogs/email/field' {
12
+ export { default } from '#cogs/cogs/email/field'
13
+ export * from '#cogs/cogs/email/field'
14
+ }
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @typedef {CogsTypes.Components.Field.ValueProps} ValueProps
3
+ * @typedef {CogsTypes.Components.Field.Email.EmailProps} EmailProps
4
+ */
5
+
6
+ /**
7
+ * EmailField component
8
+ */
9
+ import React from 'react'
10
+ import classnames from 'classnames'
11
+
12
+ import {
13
+ ValueField,
14
+ toInputValue
15
+ } from '#cogs/components/field'
16
+
17
+ /**
18
+ * @extends {ValueField<ValueProps & EmailProps>}
19
+ */
20
+ export default class EmailField extends ValueField {
21
+ getClassName () {
22
+ return classnames(super.getClassName(), 'email')
23
+ }
24
+
25
+ render () {
26
+ const {
27
+ name,
28
+ id,
29
+ defaultValue,
30
+ required = false,
31
+ disabled = false,
32
+ readOnly = false,
33
+ tabIndex,
34
+ accessKey,
35
+ placeholder,
36
+ fieldRef
37
+ } = this.props
38
+
39
+ const className = this.getClassName()
40
+
41
+ if (defaultValue === undefined) {
42
+ const {
43
+ value
44
+ } = this.props
45
+
46
+ return (
47
+ <input
48
+ name={name}
49
+ id={id}
50
+ value={toInputValue(value)}
51
+ required={required}
52
+ disabled={disabled}
53
+ readOnly={readOnly}
54
+ tabIndex={tabIndex}
55
+ accessKey={accessKey}
56
+ placeholder={placeholder}
57
+ onChange={this.handleChange}
58
+ className={className}
59
+ type='email'
60
+ ref={fieldRef}
61
+ />
62
+ )
63
+ }
64
+
65
+ return (
66
+ <input
67
+ name={name}
68
+ id={id}
69
+ defaultValue={String(defaultValue)}
70
+ required={required}
71
+ disabled={disabled}
72
+ readOnly={readOnly}
73
+ tabIndex={tabIndex}
74
+ accessKey={accessKey}
75
+ placeholder={placeholder}
76
+ onChange={this.handleChange}
77
+ className={className}
78
+ type='email'
79
+ ref={fieldRef}
80
+ />
81
+ )
82
+ }
83
+ }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/email')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Email
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Email
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/cogs/email'
2
+ export * from '#cogs/cogs/email'
@@ -0,0 +1,18 @@
1
+ declare module '#cogs/cogs/email' {
2
+ import {
3
+ ValueCog
4
+ } from '#cogs/cogs'
5
+
6
+ export type EmailProps = CogsTypes.Cogs.Email.EmailProps
7
+
8
+ export default class EmailCog<P extends EmailProps> extends ValueCog<P> {
9
+ handleChange (
10
+ value?: string | string[]
11
+ ): void
12
+ }
13
+ }
14
+
15
+ declare module '@modernpoacher/cogs/cogs/email' {
16
+ export { default } from '#cogs/cogs/email'
17
+ export * from '#cogs/cogs/email'
18
+ }
@@ -1,28 +1,45 @@
1
1
  /**
2
- * EmailCog component
2
+ * @typedef {CogsTypes.OnEventType} OnEventType
3
+ * @typedef {CogsTypes.Cogs.ValueProps} ValueProps
4
+ * @typedef {CogsTypes.Cogs.Email.EmailProps} EmailProps
5
+ */
6
+
7
+ /**
8
+ * EmailCog component
3
9
  */
4
10
  import React from 'react'
5
11
  import classnames from 'classnames'
6
12
 
7
- import { ValueCog } from '#cogs/cogs'
8
-
9
13
  import {
10
- DEFAULT_HANDLE_CHANGE
11
- } from '#cogs/common'
14
+ ValueCog
15
+ } from '#cogs/cogs'
12
16
 
13
- import Title from './title/index.jsx'
14
- import Description from './description/index.jsx'
15
- import ErrorMessage from './error-message/index.jsx'
16
- import Field from './field/index.jsx'
17
+ import Title from '#cogs/cogs/email/title'
18
+ import Description from '#cogs/cogs/email/description'
19
+ import ErrorMessage from '#cogs/cogs/email/error-message'
20
+ import Field from '#cogs/cogs/email/field'
21
+
22
+ /**
23
+ * @type {OnEventType}
24
+ */
25
+ function DEFAULT_HANDLE_EVENT () {
26
+ //
27
+ }
17
28
 
29
+ /**
30
+ * @extends {ValueCog<ValueProps & EmailProps>}
31
+ */
18
32
  export default class EmailCog extends ValueCog {
19
33
  getClassName () {
20
34
  return classnames(super.getClassName(), 'email')
21
35
  }
22
36
 
37
+ /**
38
+ * @param {string | string[]} [value]
39
+ */
23
40
  handleChange = (value) => {
24
41
  const {
25
- onChange = DEFAULT_HANDLE_CHANGE
42
+ onChange = DEFAULT_HANDLE_EVENT
26
43
  } = this.props
27
44
 
28
45
  onChange(value)
@@ -91,8 +108,8 @@ export default class EmailCog extends ValueCog {
91
108
 
92
109
  return (
93
110
  <Field
94
- id={id}
95
111
  name={name}
112
+ id={id}
96
113
  value={value}
97
114
  defaultValue={defaultValue}
98
115
  required={required}
@@ -107,7 +124,3 @@ export default class EmailCog extends ValueCog {
107
124
  )
108
125
  }
109
126
  }
110
-
111
- EmailCog.propTypes = {
112
- ...ValueCog.propTypes
113
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/email/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
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Title
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/cogs/email/title'
2
+ export * from '#cogs/cogs/email/title'
@@ -1,9 +1,12 @@
1
1
  declare module '#cogs/cogs/email/title' {
2
2
  import Title from '#cogs/components/title'
3
3
 
4
- export default class EmailTitle extends Title {}
4
+ export type EmailProps = CogsTypes.Components.Title.Email.EmailProps
5
+
6
+ export default class EmailTitle<P extends EmailProps> extends Title<P> {}
5
7
  }
6
8
 
7
9
  declare module '@modernpoacher/cogs/cogs/email/title' {
8
10
  export { default } from '#cogs/cogs/email/title'
11
+ export * from '#cogs/cogs/email/title'
9
12
  }