@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
@@ -1,28 +1,45 @@
1
1
  /**
2
- * TextCog component
2
+ * @typedef {CogsTypes.OnEventType} OnEventType
3
+ * @typedef {CogsTypes.Cogs.ValueProps} ValueProps
4
+ * @typedef {CogsTypes.Cogs.Text.TextProps} TextProps
5
+ */
6
+
7
+ /**
8
+ * TextCog 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/text/title'
18
+ import Description from '#cogs/cogs/text/description'
19
+ import ErrorMessage from '#cogs/cogs/text/error-message'
20
+ import Field from '#cogs/cogs/text/field'
21
+
22
+ /**
23
+ * @type {OnEventType}
24
+ */
25
+ function DEFAULT_HANDLE_EVENT () {
26
+ //
27
+ }
17
28
 
29
+ /**
30
+ * @extends {ValueCog<ValueProps & TextProps>}
31
+ */
18
32
  export default class TextCog extends ValueCog {
19
33
  getClassName () {
20
34
  return classnames(super.getClassName(), 'text')
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 TextCog 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,11 +124,3 @@ export default class TextCog extends ValueCog {
107
124
  )
108
125
  }
109
126
  }
110
-
111
- TextCog.propTypes = {
112
- ...ValueCog.propTypes
113
- }
114
-
115
- TextCog.defaultProps = {
116
- ...ValueCog.defaultProps
117
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/text/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/text/title'
2
+ export * from '#cogs/cogs/text/title'
@@ -1,9 +1,12 @@
1
1
  declare module '#cogs/cogs/text/title' {
2
2
  import Title from '#cogs/components/title'
3
3
 
4
- export default class TextTitle extends Title {}
4
+ export type TextProps = CogsTypes.Components.Title.Text.TextProps
5
+
6
+ export default class TextTitle<P extends TextProps> extends Title<P> {}
5
7
  }
6
8
 
7
9
  declare module '@modernpoacher/cogs/cogs/text/title' {
8
10
  export { default } from '#cogs/cogs/text/title'
11
+ export * from '#cogs/cogs/text/title'
9
12
  }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @typedef {CogsTypes.Super.Components.Title.TitleProps} TitleProps
3
+ * @typedef {CogsTypes.Components.Title.Text.TextProps} TextProps
4
+ */
5
+
6
+ /**
7
+ * TextTitle component
8
+ */
9
+ import classnames from 'classnames'
10
+ import Title from '#cogs/components/title'
11
+
12
+ /**
13
+ * @extends {Title<TitleProps & TextProps>}
14
+ */
15
+ export default class TextTitle extends Title {
16
+ getClassName () {
17
+ return classnames(super.getClassName(), 'text')
18
+ }
19
+ }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/textarea/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/textarea/description'
@@ -9,7 +9,3 @@ export default class TextareaDescription extends Description {
9
9
  return classnames(super.getClassName(), 'textarea')
10
10
  }
11
11
  }
12
-
13
- TextareaDescription.propTypes = {
14
- ...Description.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/textarea/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/textarea/error-message'
@@ -9,7 +9,3 @@ export default class TextareaErrorMessage extends ErrorMessage {
9
9
  return classnames(super.getClassName(), 'textarea')
10
10
  }
11
11
  }
12
-
13
- TextareaErrorMessage.propTypes = {
14
- ...ErrorMessage.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/textarea/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/textarea/field'
2
+ export * from '#cogs/cogs/textarea/field'
@@ -0,0 +1,18 @@
1
+ declare module '#cogs/cogs/textarea/field' {
2
+ import type { ChangeEvent } from 'react'
3
+
4
+ import {
5
+ ValueField
6
+ } from '#cogs/components/field'
7
+
8
+ export type TextareaProps = CogsTypes.Components.Field.Textarea.TextareaProps
9
+
10
+ export default class TextareaField<P extends TextareaProps> extends ValueField<P> {
11
+ handleChange (event: ChangeEvent<HTMLTextAreaElement>): void
12
+ }
13
+ }
14
+
15
+ declare module '@modernpoacher/cogs/cogs/textarea/field' {
16
+ export { default } from '#cogs/cogs/textarea/field'
17
+ export * from '#cogs/cogs/textarea/field'
18
+ }
@@ -1,11 +1,22 @@
1
+ /**
2
+ * @typedef {CogsTypes.Components.Field.ValueProps} ValueProps
3
+ * @typedef {CogsTypes.Components.Field.Textarea.TextareaProps} TextareaProps
4
+ */
5
+
1
6
  /**
2
7
  * TextareaField component
3
8
  */
4
9
  import React from 'react'
5
10
  import classnames from 'classnames'
6
11
 
7
- import { ValueField } from '#cogs/components/field'
12
+ import {
13
+ ValueField,
14
+ toInputValue
15
+ } from '#cogs/components/field'
8
16
 
17
+ /**
18
+ * @extends {ValueField<ValueProps & TextareaProps>}
19
+ */
9
20
  export default class TextareaField extends ValueField {
10
21
  getClassName () {
11
22
  return classnames(super.getClassName(), 'textarea')
@@ -13,9 +24,8 @@ export default class TextareaField extends ValueField {
13
24
 
14
25
  render () {
15
26
  const {
16
- id,
17
27
  name,
18
- value,
28
+ id,
19
29
  defaultValue,
20
30
  required = false,
21
31
  disabled = false,
@@ -28,12 +38,34 @@ export default class TextareaField extends ValueField {
28
38
 
29
39
  const className = this.getClassName()
30
40
 
41
+ if (defaultValue === undefined) {
42
+ const {
43
+ value
44
+ } = this.props
45
+
46
+ return (
47
+ <textarea
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
+ ref={fieldRef}
60
+ />
61
+ )
62
+ }
63
+
31
64
  return (
32
65
  <textarea
33
- id={id}
34
66
  name={name}
35
- value={value}
36
- defaultValue={defaultValue}
67
+ id={id}
68
+ defaultValue={String(defaultValue)}
37
69
  required={required}
38
70
  disabled={disabled}
39
71
  readOnly={readOnly}
@@ -47,7 +79,3 @@ export default class TextareaField extends ValueField {
47
79
  )
48
80
  }
49
81
  }
50
-
51
- TextareaField.propTypes = {
52
- ...ValueField.propTypes
53
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/textarea')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Textarea
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Textarea
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/cogs/textarea'
2
+ export * from '#cogs/cogs/textarea'
@@ -0,0 +1,18 @@
1
+ declare module '#cogs/cogs/textarea' {
2
+ import {
3
+ ValueCog
4
+ } from '#cogs/cogs'
5
+
6
+ export type TextareaProps = CogsTypes.Cogs.Textarea.TextareaProps
7
+
8
+ export default class TextareaCog<P extends TextareaProps> extends ValueCog<P> {
9
+ handleChange (
10
+ value?: string | string[]
11
+ ): void
12
+ }
13
+ }
14
+
15
+ declare module '@modernpoacher/cogs/cogs/textarea' {
16
+ export { default } from '#cogs/cogs/textarea'
17
+ export * from '#cogs/cogs/textarea'
18
+ }
@@ -1,28 +1,45 @@
1
+ /**
2
+ * @typedef {CogsTypes.OnEventType} OnEventType
3
+ * @typedef {CogsTypes.Cogs.ValueProps} ValueProps
4
+ * @typedef {CogsTypes.Cogs.Textarea.TextareaProps} TextareaProps
5
+ */
6
+
1
7
  /**
2
8
  * TextareaCog 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/textarea/title'
18
+ import Description from '#cogs/cogs/textarea/description'
19
+ import ErrorMessage from '#cogs/cogs/textarea/error-message'
20
+ import Field from '#cogs/cogs/textarea/field'
21
+
22
+ /**
23
+ * @type {OnEventType}
24
+ */
25
+ function DEFAULT_HANDLE_EVENT () {
26
+ //
27
+ }
17
28
 
29
+ /**
30
+ * @extends {ValueCog<ValueProps & TextareaProps>}
31
+ */
18
32
  export default class TextareaCog extends ValueCog {
19
33
  getClassName () {
20
34
  return classnames(super.getClassName(), 'textarea')
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 TextareaCog 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 TextareaCog extends ValueCog {
107
124
  )
108
125
  }
109
126
  }
110
-
111
- TextareaCog.propTypes = {
112
- ...ValueCog.propTypes
113
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/cogs/textarea/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/textarea/title'
2
+ export * from '#cogs/cogs/textarea/title'
@@ -1,9 +1,12 @@
1
1
  declare module '#cogs/cogs/textarea/title' {
2
2
  import Title from '#cogs/components/title'
3
3
 
4
- export default class TextareaTitle extends Title {}
4
+ export type TextareaProps = CogsTypes.Components.Title.Textarea.TextareaProps
5
+
6
+ export default class TextareaTitle<P extends TextareaProps> extends Title<P> {}
5
7
  }
6
8
 
7
9
  declare module '@modernpoacher/cogs/cogs/textarea/title' {
8
10
  export { default } from '#cogs/cogs/textarea/title'
11
+ export * from '#cogs/cogs/textarea/title'
9
12
  }
@@ -1,15 +1,19 @@
1
+ /**
2
+ * @typedef {CogsTypes.Super.Components.Title.TitleProps} TitleProps
3
+ * @typedef {CogsTypes.Components.Title.Textarea.TextareaProps} TextareaProps
4
+ */
5
+
1
6
  /**
2
7
  * TextareaTitle component
3
8
  */
4
9
  import classnames from 'classnames'
5
10
  import Title from '#cogs/components/title'
6
11
 
12
+ /**
13
+ * @extends {Title<TitleProps & TextareaProps>}
14
+ */
7
15
  export default class TextareaTitle extends Title {
8
16
  getClassName () {
9
17
  return classnames(super.getClassName(), 'textarea')
10
18
  }
11
19
  }
12
-
13
- TextareaTitle.propTypes = {
14
- ...Title.propTypes
15
- }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/components/common/disabled')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Disabled
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Disabled
@@ -0,0 +1 @@
1
+ export { default } from '#cogs/components/common/disabled'
@@ -0,0 +1,11 @@
1
+ import React from 'react'
2
+
3
+ const DISABLED = String.fromCharCode(42)
4
+
5
+ export default function Disabled () {
6
+ return (
7
+ <span className='is-disabled'>
8
+ {DISABLED}
9
+ </span>
10
+ )
11
+ }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/components/common/readonly')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: ReadOnly
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = ReadOnly
@@ -0,0 +1 @@
1
+ export { default } from '#cogs/components/common/readonly'
@@ -0,0 +1,11 @@
1
+ import React from 'react'
2
+
3
+ const READONLY = String.fromCharCode(42)
4
+
5
+ export default function ReadOnly () {
6
+ return (
7
+ <span className='is-readonly'>
8
+ {READONLY}
9
+ </span>
10
+ )
11
+ }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/components/common/readonly')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: Required
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = Required
@@ -0,0 +1 @@
1
+ export { default } from '#cogs/components/common/required'
@@ -0,0 +1,11 @@
1
+ import React from 'react'
2
+
3
+ const REQUIRED = String.fromCharCode(42)
4
+
5
+ export default function Required () {
6
+ return (
7
+ <span className='is-required'>
8
+ {REQUIRED}
9
+ </span>
10
+ )
11
+ }
@@ -1,6 +1,6 @@
1
1
  require('@babel/register')({
2
2
  ignore: [
3
- /node_modules\/(?!@modernpoacher\/cogs|@modernpoacher\/sprockets|@modernpoacher\/gremlins)/
3
+ /node_modules\/(?!shinkansen|@modernpoacher)/
4
4
  ]
5
5
  })
6
6
 
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/components/common/text-content')
11
11
  log('`cogs` is awake')
12
12
 
13
13
  const {
14
- default: component
14
+ default: TextContent
15
15
  } = require('./index.jsx')
16
16
 
17
- module.exports = component
17
+ /**
18
+ * Exports only default
19
+ */
20
+ module.exports = TextContent
@@ -0,0 +1,2 @@
1
+ export { default } from '#cogs/components/common/text-content'
2
+ export * from '#cogs/components/common/text-content'
@@ -1,9 +1,7 @@
1
1
  declare module '#cogs/components/common/text-content' {
2
2
  import type React from 'react'
3
3
 
4
- export interface TextContentProps {
5
- textContent: string
6
- }
4
+ export type TextContentProps = CogsTypes.Components.Common.TextContent.TextContentProps
7
5
 
8
6
  export default function TextContent (props: TextContentProps): React.JSX.Element | null
9
7
  }
@@ -1,15 +1,16 @@
1
1
  /**
2
- * TextContent component
3
- *
4
- * @typedef {import('@modernpoacher/cogs/components/common/text-content').TextContentProps} TextContentProps
2
+ * @typedef {CogsTypes.Components.Common.TextContent.TextContentProps} TextContentProps
5
3
  */
6
4
 
5
+ /**
6
+ * TextContent component
7
+ */
7
8
  import React from 'react'
8
9
  import PropTypes from 'prop-types'
9
10
 
10
11
  /**
11
- * @param {TextContentProps}
12
- * @returns {React.JSX.Element | null}
12
+ * @param {TextContentProps} props
13
+ * @returns {React.JSX.Element | null}
13
14
  */
14
15
  export default function TextContent ({ textContent }) {
15
16
  if (textContent) {
@@ -24,5 +25,5 @@ export default function TextContent ({ textContent }) {
24
25
  }
25
26
 
26
27
  TextContent.propTypes = {
27
- textContent: PropTypes.string.isRequired
28
+ textContent: PropTypes.string
28
29
  }
@@ -11,7 +11,10 @@ const log = debug('@modernpoacher/cogs/components/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,2 @@
1
+ export { default } from '#cogs/components/description'
2
+ export * from '#cogs/components/description'
@@ -1,11 +1,6 @@
1
1
  declare module '#cogs/components/description' {
2
- import React from 'react'
3
-
4
- export interface DescriptionProps {
5
- description: string
6
- }
7
-
8
- export default class Description extends React.Component<DescriptionProps> {}
2
+ export { default } from '#cogs/super/components/description'
3
+ export * from '#cogs/super/components/description'
9
4
  }
10
5
 
11
6
  declare module '@modernpoacher/cogs/components/description' {
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Description component
3
+ */
4
+
5
+ export { default } from '#cogs/super/components/description'