@cruk/cruk-react-components 7.0.0 → 7.1.1

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 (205) hide show
  1. package/README.md +138 -9
  2. package/lib/index.css +4247 -1
  3. package/lib/index.css.map +1 -1
  4. package/lib/node_modules/tslib/tslib.es6.js +1 -1
  5. package/lib/node_modules/tslib/tslib.es6.js.map +1 -1
  6. package/lib/src/components/AddressLookup/index.d.ts +8 -9
  7. package/lib/src/components/AddressLookup/index.js +1 -1
  8. package/lib/src/components/AddressLookup/index.js.map +1 -1
  9. package/lib/src/components/Avatar/index.d.ts +2 -1
  10. package/lib/src/components/Avatar/index.js +1 -1
  11. package/lib/src/components/Avatar/index.js.map +1 -1
  12. package/lib/src/components/Badge/index.d.ts +7 -10
  13. package/lib/src/components/Badge/index.js +1 -1
  14. package/lib/src/components/Badge/index.js.map +1 -1
  15. package/lib/src/components/Box/index.d.ts +6 -7
  16. package/lib/src/components/Box/index.js +1 -1
  17. package/lib/src/components/Box/index.js.map +1 -1
  18. package/lib/src/components/Button/index.d.ts +7 -16
  19. package/lib/src/components/Button/index.js +1 -1
  20. package/lib/src/components/Button/index.js.map +1 -1
  21. package/lib/src/components/Carousel/Dots.js +1 -1
  22. package/lib/src/components/Carousel/Dots.js.map +1 -1
  23. package/lib/src/components/Carousel/index.d.ts +23 -13
  24. package/lib/src/components/Carousel/index.js +1 -1
  25. package/lib/src/components/Carousel/index.js.map +1 -1
  26. package/lib/src/components/Checkbox/index.d.ts +7 -8
  27. package/lib/src/components/Checkbox/index.js +1 -1
  28. package/lib/src/components/Checkbox/index.js.map +1 -1
  29. package/lib/src/components/Collapse/index.d.ts +2 -2
  30. package/lib/src/components/Collapse/index.js +1 -1
  31. package/lib/src/components/Collapse/index.js.map +1 -1
  32. package/lib/src/components/DateField/index.d.ts +5 -6
  33. package/lib/src/components/DateField/index.js +1 -1
  34. package/lib/src/components/DateField/index.js.map +1 -1
  35. package/lib/src/components/ErrorText/index.d.ts +7 -6
  36. package/lib/src/components/ErrorText/index.js +1 -1
  37. package/lib/src/components/ErrorText/index.js.map +1 -1
  38. package/lib/src/components/Footer/index.js +1 -1
  39. package/lib/src/components/Footer/index.js.map +1 -1
  40. package/lib/src/components/Header/index.js +1 -1
  41. package/lib/src/components/Header/index.js.map +1 -1
  42. package/lib/src/components/Heading/index.d.ts +5 -17
  43. package/lib/src/components/Heading/index.js +1 -1
  44. package/lib/src/components/Heading/index.js.map +1 -1
  45. package/lib/src/components/IconFa/index.d.ts +9 -9
  46. package/lib/src/components/IconFa/index.js +1 -1
  47. package/lib/src/components/IconFa/index.js.map +1 -1
  48. package/lib/src/components/InfoBox/index.d.ts +13 -17
  49. package/lib/src/components/InfoBox/index.js +1 -1
  50. package/lib/src/components/InfoBox/index.js.map +1 -1
  51. package/lib/src/components/LabelWrapper/index.js +1 -1
  52. package/lib/src/components/LabelWrapper/index.js.map +1 -1
  53. package/lib/src/components/LegendWrapper/index.js +1 -1
  54. package/lib/src/components/LegendWrapper/index.js.map +1 -1
  55. package/lib/src/components/Link/index.d.ts +6 -10
  56. package/lib/src/components/Link/index.js +1 -1
  57. package/lib/src/components/Link/index.js.map +1 -1
  58. package/lib/src/components/Loader/index.js +1 -1
  59. package/lib/src/components/Loader/index.js.map +1 -1
  60. package/lib/src/components/Modal/index.d.ts +14 -18
  61. package/lib/src/components/Modal/index.js +1 -1
  62. package/lib/src/components/Modal/index.js.map +1 -1
  63. package/lib/src/components/Pagination/index.js +1 -1
  64. package/lib/src/components/Pagination/index.js.map +1 -1
  65. package/lib/src/components/PopOver/index.d.ts +1 -1
  66. package/lib/src/components/PopOver/index.js +1 -1
  67. package/lib/src/components/PopOver/index.js.map +1 -1
  68. package/lib/src/components/ProgressBar/index.d.ts +1 -1
  69. package/lib/src/components/ProgressBar/index.js +1 -1
  70. package/lib/src/components/ProgressBar/index.js.map +1 -1
  71. package/lib/src/components/Radio/index.js +1 -1
  72. package/lib/src/components/Radio/index.js.map +1 -1
  73. package/lib/src/components/RadioConsent/index.d.ts +8 -9
  74. package/lib/src/components/RadioConsent/index.js +1 -1
  75. package/lib/src/components/RadioConsent/index.js.map +1 -1
  76. package/lib/src/components/Select/index.js +1 -1
  77. package/lib/src/components/Select/index.js.map +1 -1
  78. package/lib/src/components/Step/index.d.ts +7 -8
  79. package/lib/src/components/Step/index.js +1 -1
  80. package/lib/src/components/Step/index.js.map +1 -1
  81. package/lib/src/components/Text/index.d.ts +7 -27
  82. package/lib/src/components/Text/index.js +1 -1
  83. package/lib/src/components/Text/index.js.map +1 -1
  84. package/lib/src/components/TextAreaField/index.d.ts +5 -6
  85. package/lib/src/components/TextAreaField/index.js +1 -1
  86. package/lib/src/components/TextAreaField/index.js.map +1 -1
  87. package/lib/src/components/TextField/index.d.ts +3 -1
  88. package/lib/src/components/TextField/index.js +1 -1
  89. package/lib/src/components/TextField/index.js.map +1 -1
  90. package/lib/src/components/Totaliser/index.js +1 -1
  91. package/lib/src/components/Totaliser/index.js.map +1 -1
  92. package/lib/src/components/UserBlock/index.js +1 -1
  93. package/lib/src/components/UserBlock/index.js.map +1 -1
  94. package/lib/src/components/index.d.ts +33 -2
  95. package/lib/src/components/index.js +1 -1
  96. package/lib/src/types.d.ts +40 -3
  97. package/lib/src/types.js +1 -1
  98. package/lib/src/types.js.map +1 -1
  99. package/lib/src/utils/Helper.d.ts +3 -0
  100. package/lib/src/utils/Helper.js +1 -1
  101. package/lib/src/utils/Helper.js.map +1 -1
  102. package/lib/src/utils/themeUtils.js +1 -1
  103. package/lib/src/utils/themeUtils.js.map +1 -1
  104. package/package.json +3 -6
  105. package/lib/src/components/AddressLookup/styles.d.ts +0 -12
  106. package/lib/src/components/AddressLookup/styles.js +0 -2
  107. package/lib/src/components/AddressLookup/styles.js.map +0 -1
  108. package/lib/src/components/Avatar/styles.d.ts +0 -4
  109. package/lib/src/components/Avatar/styles.js +0 -2
  110. package/lib/src/components/Avatar/styles.js.map +0 -1
  111. package/lib/src/components/Badge/styles.d.ts +0 -9
  112. package/lib/src/components/Badge/styles.js +0 -2
  113. package/lib/src/components/Badge/styles.js.map +0 -1
  114. package/lib/src/components/Box/styles.d.ts +0 -8
  115. package/lib/src/components/Box/styles.js +0 -2
  116. package/lib/src/components/Box/styles.js.map +0 -1
  117. package/lib/src/components/Button/styles.d.ts +0 -10
  118. package/lib/src/components/Button/styles.js +0 -2
  119. package/lib/src/components/Button/styles.js.map +0 -1
  120. package/lib/src/components/Carousel/styles.d.ts +0 -24
  121. package/lib/src/components/Carousel/styles.js +0 -2
  122. package/lib/src/components/Carousel/styles.js.map +0 -1
  123. package/lib/src/components/Checkbox/styles.d.ts +0 -9
  124. package/lib/src/components/Checkbox/styles.js +0 -2
  125. package/lib/src/components/Checkbox/styles.js.map +0 -1
  126. package/lib/src/components/Collapse/styles.d.ts +0 -24
  127. package/lib/src/components/Collapse/styles.js +0 -2
  128. package/lib/src/components/Collapse/styles.js.map +0 -1
  129. package/lib/src/components/DateField/styles.d.ts +0 -16
  130. package/lib/src/components/DateField/styles.js +0 -2
  131. package/lib/src/components/DateField/styles.js.map +0 -1
  132. package/lib/src/components/Divider.d.ts +0 -5
  133. package/lib/src/components/Divider.js +0 -2
  134. package/lib/src/components/Divider.js.map +0 -1
  135. package/lib/src/components/ErrorText/styles.d.ts +0 -12
  136. package/lib/src/components/ErrorText/styles.js +0 -2
  137. package/lib/src/components/ErrorText/styles.js.map +0 -1
  138. package/lib/src/components/Footer/styles.d.ts +0 -9
  139. package/lib/src/components/Footer/styles.js +0 -2
  140. package/lib/src/components/Footer/styles.js.map +0 -1
  141. package/lib/src/components/Header/styles.d.ts +0 -22
  142. package/lib/src/components/Header/styles.js +0 -2
  143. package/lib/src/components/Header/styles.js.map +0 -1
  144. package/lib/src/components/Heading/styles.d.ts +0 -16
  145. package/lib/src/components/Heading/styles.js +0 -2
  146. package/lib/src/components/Heading/styles.js.map +0 -1
  147. package/lib/src/components/IconFa/styles.d.ts +0 -5
  148. package/lib/src/components/IconFa/styles.js +0 -2
  149. package/lib/src/components/IconFa/styles.js.map +0 -1
  150. package/lib/src/components/InfoBox/styles.d.ts +0 -11
  151. package/lib/src/components/InfoBox/styles.js +0 -2
  152. package/lib/src/components/InfoBox/styles.js.map +0 -1
  153. package/lib/src/components/LabelWrapper/styles.d.ts +0 -6
  154. package/lib/src/components/LabelWrapper/styles.js +0 -2
  155. package/lib/src/components/LabelWrapper/styles.js.map +0 -1
  156. package/lib/src/components/LegendWrapper/styles.d.ts +0 -10
  157. package/lib/src/components/LegendWrapper/styles.js +0 -2
  158. package/lib/src/components/LegendWrapper/styles.js.map +0 -1
  159. package/lib/src/components/Link/styles.d.ts +0 -18
  160. package/lib/src/components/Link/styles.js +0 -2
  161. package/lib/src/components/Link/styles.js.map +0 -1
  162. package/lib/src/components/Loader/styles.module.css.js +0 -2
  163. package/lib/src/components/Loader/styles.module.css.js.map +0 -1
  164. package/lib/src/components/Modal/styles.d.ts +0 -27
  165. package/lib/src/components/Modal/styles.js +0 -2
  166. package/lib/src/components/Modal/styles.js.map +0 -1
  167. package/lib/src/components/Pagination/styles.d.ts +0 -8
  168. package/lib/src/components/Pagination/styles.js +0 -2
  169. package/lib/src/components/Pagination/styles.js.map +0 -1
  170. package/lib/src/components/PopOver/styles.d.ts +0 -10
  171. package/lib/src/components/PopOver/styles.js +0 -2
  172. package/lib/src/components/PopOver/styles.js.map +0 -1
  173. package/lib/src/components/ProgressBar/styles.d.ts +0 -23
  174. package/lib/src/components/ProgressBar/styles.js +0 -2
  175. package/lib/src/components/ProgressBar/styles.js.map +0 -1
  176. package/lib/src/components/Radio/styles.d.ts +0 -12
  177. package/lib/src/components/Radio/styles.js +0 -2
  178. package/lib/src/components/Radio/styles.js.map +0 -1
  179. package/lib/src/components/RadioConsent/styles.d.ts +0 -3
  180. package/lib/src/components/RadioConsent/styles.js +0 -2
  181. package/lib/src/components/RadioConsent/styles.js.map +0 -1
  182. package/lib/src/components/Select/styles.d.ts +0 -4
  183. package/lib/src/components/Select/styles.js +0 -2
  184. package/lib/src/components/Select/styles.js.map +0 -1
  185. package/lib/src/components/Spacing/index.d.ts +0 -68
  186. package/lib/src/components/Spacing/index.js +0 -2
  187. package/lib/src/components/Spacing/index.js.map +0 -1
  188. package/lib/src/components/Step/styles.d.ts +0 -10
  189. package/lib/src/components/Step/styles.js +0 -2
  190. package/lib/src/components/Step/styles.js.map +0 -1
  191. package/lib/src/components/Text/styles.d.ts +0 -14
  192. package/lib/src/components/Text/styles.js +0 -2
  193. package/lib/src/components/Text/styles.js.map +0 -1
  194. package/lib/src/components/TextAreaField/styles.d.ts +0 -7
  195. package/lib/src/components/TextAreaField/styles.js +0 -2
  196. package/lib/src/components/TextAreaField/styles.js.map +0 -1
  197. package/lib/src/components/TextField/styles.d.ts +0 -13
  198. package/lib/src/components/TextField/styles.js +0 -2
  199. package/lib/src/components/TextField/styles.js.map +0 -1
  200. package/lib/src/components/Totaliser/styles.d.ts +0 -14
  201. package/lib/src/components/Totaliser/styles.js +0 -2
  202. package/lib/src/components/Totaliser/styles.js.map +0 -1
  203. package/lib/src/components/UserBlock/styles.d.ts +0 -4
  204. package/lib/src/components/UserBlock/styles.js +0 -2
  205. package/lib/src/components/UserBlock/styles.js.map +0 -1
package/README.md CHANGED
@@ -1,28 +1,35 @@
1
1
  # cruk-react-components
2
2
 
3
- React implementation of the CRUK design system.
3
+ React implementation of the CRUK design system using only React HTML and CSS.
4
+ Contains the following themes for all components
4
5
 
5
- ## View the docs
6
+ - CRUK
7
+ - RFL
8
+ - SU2C
9
+ - Bowelbabe
6
10
 
7
- cruk-react-component docs site: https://master.d28a8la187lo73.amplifyapp.com/
11
+ ## View storybook
8
12
 
9
- ## Usage
13
+ cruk-react-component storybook site demoing all the components with their different variants and themes:
14
+ https://master.d28a8la187lo73.amplifyapp.com/
10
15
 
11
- ---
16
+ ## Getting Started
12
17
 
13
18
  Add cruk-react-components and its peer dependencies react, react-dom and styled-components to your package.json file.
14
19
 
15
20
  ```sh
16
21
  "dependencies": {
17
22
  "react": "^19",
18
- "react-dom": "^19",
19
- "styled-components": "^6"
23
+ "react-dom": "^19"
20
24
  }
21
25
  ```
22
26
 
23
27
  After an `npm i @cruk/cruk-react-components --save`, you can start importing components from the library:
24
28
 
25
29
  ```js
30
+ // Ideally you would import the css on the top level entry point on you app
31
+ // because you only need to import this once
32
+ import "@cruk/cruk-react-components/lib/index.css";
26
33
  import { Button } from "cruk-react-components";
27
34
 
28
35
  const MyComponent = () => (
@@ -32,12 +39,134 @@ const MyComponent = () => (
32
39
  );
33
40
  ```
34
41
 
42
+ ## Extending your components with custom styles
43
+
44
+ ### Using the style prop
45
+
46
+ ```js
47
+ import { Button } from "cruk-react-components";
48
+
49
+ const MyComponent = () => (
50
+ <div>
51
+ <Button style={{ color: "#ff0000" }} />
52
+ </div>
53
+ );
54
+ ```
55
+
56
+ ### Using your own css class
57
+
58
+ Lets say we want to preseve and use the API that exists on the component, we want to add our own CSS class but we don't want to overwrite the CSS class that already styles the component The solution is simple because each components CSS already exposed when you import the index css
59
+
60
+ ```js
61
+ import "@cruk/cruk-react-components/lib/index.css";
62
+ ```
63
+
64
+ The always follow the same naming convetion of
65
+
66
+ `.component-{componentName}`
67
+
68
+ For example
69
+
70
+ - `.component-button`
71
+ - `.component-link`
72
+ - `.component-text-field`
73
+ - `.component-textarea-field`
74
+
75
+ So we need to include the component class as well as our new CSS classes
76
+
77
+ ```js
78
+ import { Button } from "cruk-react-components";
79
+
80
+ const MyComponent = () => (
81
+ <div>
82
+ <Button
83
+ appearance="primary"
84
+ className={["component-button", "my-other-class-name"].join(" ")}
85
+ />
86
+ </div>
87
+ );
88
+ ```
89
+
90
+ ### Utility classes
91
+
92
+ There are currently three utility CCS classes
93
+
94
+ - `color-props`
95
+ - `spacing-props`
96
+ - `text-props`
97
+
98
+ This utility CSS classes can be used like this
99
+
100
+ ```js
101
+ const MyComponent = () => (
102
+ <div className="color-props" data-bg-color="primary">
103
+ <Button
104
+ appearance="primary"
105
+ className={["component-button", "spacing-props"].join(" ")}
106
+ data-margin-bottom="s"
107
+ />
108
+ </div>
109
+ );
110
+ ```
111
+
112
+ ##### color-props
113
+
114
+ This CSS class will take names colours within the themes and applies them to the following data attributes
115
+
116
+ - `data-color`: the text and svg colour
117
+ - `data-bg-color`: the background colour
118
+ - `data-border-color`: the border colour
119
+
120
+ ##### text-props
121
+
122
+ This CSS class will take theme values like named font weights (vlight, light, medum, normal, heavy), named font families (base, buttons, links, headings, labels) and named font sizes (xs, s, m, l, xl, xxl, xxxl ) specified in each theme, as well as word wrap, overflow wrap, text align etc following data attributes
123
+
124
+ - `data-word-break`: word-break
125
+ - `data-overflow-wrap`: overflow-wrßap
126
+ - `data-text-font-family`: sets font family using named font categories
127
+ - `data-text-weight`: sets font weight using names weight categories, matches HTML convention
128
+ - `data-text-size`: sets font size using named font sizes from themes
129
+
130
+ ##### spacing-props
131
+
132
+ This CSS class will set the following named spacing values to different spacing CSS attributes.
133
+ The names spacing values are:
134
+
135
+ - `none`: 0;
136
+ - `auto`: auto;
137
+ - `xxxs`: 0.25rem; /_ 4px _/
138
+ - `xxs`: 0.5rem; /_ 8px _/
139
+ - `xs`: 1rem; /_ 16px _/
140
+ - `s`: 1.5rem; /_ 24px _/
141
+ - `m`: 2rem; /_ 32px _/
142
+ - `l`: 2.5rem; /_ 40px _/
143
+ - `xl`: 3rem; /_ 48px _/
144
+ - `xxl`: 3.5rem; /_ 56px _/
145
+ - `full`: 100%;
146
+
147
+ The attribute available are:
148
+
149
+ - `data-margin`: all margins
150
+ - `data-margin-vertical`: top and bottom margin
151
+ - `data-margin-horizontal`: left and right margin
152
+ - `data-margin-top`: top margin
153
+ - `data-margin-bottom`: bottom margin
154
+ - `data-margin-left`: left margin
155
+ - `data-margin-right`: right margin
156
+ - `data-padding`: all padding
157
+ - `data-padding-vertical`: top and bottom padding
158
+ - `data-padding-horizontal`: left and right padding
159
+ - `data-padding-top`: top padding
160
+ - `data-padding-bottom`: bottom padding
161
+ - `data-padding-left`: left padding
162
+ - `data-padding-right`: right padding
163
+
35
164
  ## Migration from V5 and V6 to V7
36
165
 
37
166
  Styled Components has entered maintenance mode.
38
167
 
39
- - The first phase is to uses CSS variables and data attributes on HTML elements for theming, instead of using Styled Components themes and ThemeProvider.
40
- - The second phase is to convert components written in Styled Components into html and css modules and remove Styled Components.
168
+ - The first phase was to uses CSS variables and data attributes on HTML elements for theming, instead of using Styled Components themes and ThemeProvider.
169
+ - The second phase was to convert components written in Styled Components into html and css modules and remove Styled Components.
41
170
 
42
171
  ### Themeing
43
172