@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
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @typedef {CogsTypes.Components.Field.ValueProps} ValueProps
3
+ * @typedef {CogsTypes.Components.Field.Password.PasswordProps} PasswordProps
4
+ */
5
+
6
+ /**
7
+ * PasswordField 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 & PasswordProps>}
19
+ */
20
+ export default class PasswordField extends ValueField {
21
+ getClassName () {
22
+ return classnames(super.getClassName(), 'password')
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='password'
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='password'
79
+ ref={fieldRef}
80
+ />
81
+ )
82
+ }
83
+ }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/password')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Password
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Password
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/cogs/password'
2
+ export * from '#cogs/cogs/password'
@@ -0,0 +1,18 @@
1
+ declare module '#cogs/cogs/password' {
2
+ import {
3
+ ValueCog
4
+ } from '#cogs/cogs'
5
+
6
+ export type PasswordProps = CogsTypes.Cogs.Password.PasswordProps
7
+
8
+ export default class PasswordCog<P extends PasswordProps> extends ValueCog<P> {
9
+ handleChange (
10
+ value?: string | string[]
11
+ ): void
12
+ }
13
+ }
14
+
15
+ declare module '@modernpoacher/cogs/cogs/password' {
16
+ export { default } from '#cogs/cogs/password'
17
+ export * from '#cogs/cogs/password'
18
+ }
@@ -1,28 +1,45 @@
1
1
  /**
2
- * PasswordCog component
2
+ * @typedef {CogsTypes.OnEventType} OnEventType
3
+ * @typedef {CogsTypes.Cogs.ValueProps} ValueProps
4
+ * @typedef {CogsTypes.Cogs.Password.PasswordProps} PasswordProps
5
+ */
6
+
7
+ /**
8
+ * PasswordCog 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/password/title'
18
+ import Description from '#cogs/cogs/password/description'
19
+ import ErrorMessage from '#cogs/cogs/password/error-message'
20
+ import Field from '#cogs/cogs/password/field'
21
+
22
+ /**
23
+ * @type {OnEventType}
24
+ */
25
+ function DEFAULT_HANDLE_EVENT () {
26
+ //
27
+ }
17
28
 
29
+ /**
30
+ * @extends {ValueCog<ValueProps & PasswordProps>}
31
+ */
18
32
  export default class PasswordCog extends ValueCog {
19
33
  getClassName () {
20
34
  return classnames(super.getClassName(), 'password')
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 PasswordCog 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 PasswordCog extends ValueCog {
107
124
  )
108
125
  }
109
126
  }
110
-
111
- PasswordCog.propTypes = {
112
- ...ValueCog.propTypes
113
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/password/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/password/title'
2
+ export * from '#cogs/cogs/password/title'
@@ -1,9 +1,12 @@
1
1
  declare module '#cogs/cogs/password/title' {
2
2
  import Title from '#cogs/components/title'
3
3
 
4
- export default class PasswordTitle extends Title {}
4
+ export type PasswordProps = CogsTypes.Components.Title.Password.PasswordProps
5
+
6
+ export default class PasswordTitle<P extends PasswordProps> extends Title<P> {}
5
7
  }
6
8
 
7
9
  declare module '@modernpoacher/cogs/cogs/password/title' {
8
10
  export { default } from '#cogs/cogs/password/title'
11
+ export * from '#cogs/cogs/password/title'
9
12
  }
@@ -1,15 +1,19 @@
1
+ /**
2
+ * @typedef {CogsTypes.Super.Components.Title.TitleProps} TitleProps
3
+ * @typedef {CogsTypes.Components.Title.Password.PasswordProps} PasswordProps
4
+ */
5
+
1
6
  /**
2
7
  * PasswordTitle component
3
8
  */
4
9
  import classnames from 'classnames'
5
10
  import Title from '#cogs/components/title'
6
11
 
12
+ /**
13
+ * @extends {Title<TitleProps & PasswordProps>}
14
+ */
7
15
  export default class PasswordTitle extends Title {
8
16
  getClassName () {
9
17
  return classnames(super.getClassName(), 'password')
10
18
  }
11
19
  }
12
-
13
- PasswordTitle.propTypes = {
14
- ...Title.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/radio/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/radio/description'
@@ -9,7 +9,3 @@ export default class RadioDescription extends Description {
9
9
  return classnames(super.getClassName(), 'radio')
10
10
  }
11
11
  }
12
-
13
- RadioDescription.propTypes = {
14
- ...Description.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/radio/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/radio/error-message'
@@ -9,7 +9,3 @@ export default class RadioErrorMessage extends ErrorMessage {
9
9
  return classnames(super.getClassName(), 'radio')
10
10
  }
11
11
  }
12
-
13
- RadioErrorMessage.propTypes = {
14
- ...ErrorMessage.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/radio/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/radio/field'
2
+ export * from '#cogs/cogs/radio/field'
@@ -0,0 +1,14 @@
1
+ declare module '#cogs/cogs/radio/field' {
2
+ import {
3
+ CheckField
4
+ } from '#cogs/components/field'
5
+
6
+ export type RadioProps = CogsTypes.Components.Field.Radio.RadioProps
7
+
8
+ export default class RadioField<P extends RadioProps> extends CheckField<P> {}
9
+ }
10
+
11
+ declare module '@modernpoacher/cogs/cogs/radio/field' {
12
+ export { default } from '#cogs/cogs/radio/field'
13
+ export * from '#cogs/cogs/radio/field'
14
+ }
@@ -1,12 +1,23 @@
1
1
  /**
2
- * RadioField component
2
+ * @typedef {CogsTypes.Components.Field.CheckProps} CheckProps
3
+ * @typedef {CogsTypes.Components.Field.Radio.RadioProps} RadioProps
4
+ */
5
+
6
+ /**
7
+ * RadioField 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 & RadioProps>}
20
+ */
10
21
  export default class RadioField extends CheckField {
11
22
  getClassName () {
12
23
  return classnames(super.getClassName(), 'radio')
@@ -15,8 +26,8 @@ export default class RadioField extends CheckField {
15
26
  render () {
16
27
  const {
17
28
  checked,
18
- id,
19
29
  name,
30
+ id,
20
31
  value,
21
32
  required = false,
22
33
  disabled = false,
@@ -31,10 +42,10 @@ export default class RadioField 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 RadioField 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/radio')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Radio
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Radio
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/cogs/radio'
2
+ export * from '#cogs/cogs/radio'
@@ -0,0 +1,24 @@
1
+ declare module '#cogs/cogs/radio' {
2
+ import {
3
+ CheckCog
4
+ } from '#cogs/cogs'
5
+
6
+ export type RadioProps = CogsTypes.Cogs.Radio.RadioProps
7
+
8
+ export default class RadioCog<P extends RadioProps> 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/radio' {
22
+ export { default } from '#cogs/cogs/radio'
23
+ export * from '#cogs/cogs/radio'
24
+ }
@@ -1,50 +1,66 @@
1
1
  /**
2
- * Radio component
2
+ * @typedef {CogsTypes.OnEventType} OnEventType
3
+ * @typedef {CogsTypes.Cogs.CheckProps} CheckProps
4
+ * @typedef {CogsTypes.Cogs.Radio.RadioProps} RadioProps
5
+ */
6
+
7
+ /**
8
+ * Radio component
3
9
  */
4
10
  import React from 'react'
5
11
  import PropTypes from 'prop-types'
6
12
  import classnames from 'classnames'
7
13
 
8
- import { CheckCog } from '#cogs/cogs'
9
-
10
14
  import {
11
- DEFAULT_HANDLE_CHANGE,
12
- DEFAULT_HANDLE_CLICK
13
- } from '#cogs/common'
15
+ CheckCog
16
+ } from '#cogs/cogs'
14
17
 
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'
18
+ import Title from '#cogs/cogs/radio/title'
19
+ import Description from '#cogs/cogs/radio/description'
20
+ import ErrorMessage from '#cogs/cogs/radio/error-message'
21
+ import Field from '#cogs/cogs/radio/field'
22
+
23
+ /**
24
+ * @type {OnEventType}
25
+ */
26
+ function DEFAULT_HANDLE_EVENT () {
27
+ //
28
+ }
19
29
 
30
+ /**
31
+ * @extends {CheckCog<CheckProps & RadioProps>}
32
+ */
20
33
  export default class Radio extends CheckCog {
21
34
  getClassName () {
22
35
  return classnames(super.getClassName(), 'radio')
23
36
  }
24
37
 
38
+ /**
39
+ * @param {string} name
40
+ * @param {string | string[]} [value]
41
+ * @param {boolean} [checked]
42
+ */
25
43
  handleChange = (value, checked) => {
26
44
  const {
27
- onChange = DEFAULT_HANDLE_CHANGE
45
+ onChange = DEFAULT_HANDLE_EVENT
28
46
  } = this.props
29
47
 
30
48
  onChange(value, checked)
31
49
  }
32
50
 
51
+ /**
52
+ * @param {string} name
53
+ * @param {string | string[]} [value]
54
+ * @param {boolean} [checked]
55
+ */
33
56
  handleClick = (value, checked) => {
34
57
  const {
35
- onClick = DEFAULT_HANDLE_CLICK
58
+ onClick = DEFAULT_HANDLE_EVENT
36
59
  } = this.props
37
60
 
38
61
  onClick(value, checked)
39
62
  }
40
63
 
41
- shouldComponentUpdate (props, state) {
42
- return (
43
- super.shouldComponentUpdate(props) ||
44
- (props.value !== this.props.value)
45
- )
46
- }
47
-
48
64
  renderTitle () {
49
65
  const id = this.getId()
50
66
 
@@ -109,8 +125,8 @@ export default class Radio extends CheckCog {
109
125
 
110
126
  return (
111
127
  <Field
112
- id={id}
113
128
  name={name}
129
+ id={id}
114
130
  value={value}
115
131
  checked={checked}
116
132
  defaultChecked={defaultChecked}
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/radio/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/radio/title'
2
+ export * from '#cogs/cogs/radio/title'
@@ -1,9 +1,12 @@
1
1
  declare module '#cogs/cogs/radio/title' {
2
2
  import Title from '#cogs/components/title'
3
3
 
4
- export default class RadioTitle extends Title {}
4
+ export type RadioProps = CogsTypes.Components.Title.Radio.RadioProps
5
+
6
+ export default class RadioTitle<P extends RadioProps> extends Title<P> {}
5
7
  }
6
8
 
7
9
  declare module '@modernpoacher/cogs/cogs/radio/title' {
8
10
  export { default } from '#cogs/cogs/radio/title'
11
+ export * from '#cogs/cogs/radio/title'
9
12
  }
@@ -1,15 +1,19 @@
1
+ /**
2
+ * @typedef {CogsTypes.Super.Components.Title.TitleProps} TitleProps
3
+ * @typedef {CogsTypes.Components.Title.Radio.RadioProps} RadioProps
4
+ */
5
+
1
6
  /**
2
7
  * RadioTitle component
3
8
  */
4
9
  import classnames from 'classnames'
5
10
  import Title from '#cogs/components/title'
6
11
 
12
+ /**
13
+ * @extends {Title<TitleProps & RadioProps>}
14
+ */
7
15
  export default class RadioTitle extends Title {
8
16
  getClassName () {
9
17
  return classnames(super.getClassName(), 'radio')
10
18
  }
11
19
  }
12
-
13
- RadioTitle.propTypes = {
14
- ...Title.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/select/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/select/description'
@@ -9,7 +9,3 @@ export default class SelectDescription extends Description {
9
9
  return classnames(super.getClassName(), 'select')
10
10
  }
11
11
  }
12
-
13
- SelectDescription.propTypes = {
14
- ...Description.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/select/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/select/error-message'
@@ -9,7 +9,3 @@ export default class SelectErrorMessage extends ErrorMessage {
9
9
  return classnames(super.getClassName(), 'select')
10
10
  }
11
11
  }
12
-
13
- SelectErrorMessage.propTypes = {
14
- ...ErrorMessage.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/select/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/select/field'
2
+ export * from '#cogs/cogs/select/field'