@cruk/cruk-react-components 5.0.7 → 6.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 (359) hide show
  1. package/README.md +20 -7
  2. package/lib/.storybook/main.d.ts +3 -0
  3. package/lib/.storybook/preview.d.ts +3 -0
  4. package/lib/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +1 -1
  5. package/lib/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  6. package/lib/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +1 -1
  7. package/lib/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -1
  8. package/lib/node_modules/@fortawesome/free-solid-svg-icons/index.js +6 -1
  9. package/lib/node_modules/@fortawesome/free-solid-svg-icons/index.js.map +1 -1
  10. package/lib/node_modules/focus-lock/dist/es2015/focusInside.js.map +1 -1
  11. package/lib/node_modules/focus-lock/dist/es2015/focusIsHidden.js.map +1 -1
  12. package/lib/node_modules/focus-lock/dist/es2015/focusSolver.js +1 -1
  13. package/lib/node_modules/focus-lock/dist/es2015/moveFocusInside.js.map +1 -1
  14. package/lib/node_modules/focus-lock/dist/es2015/return-focus.js.map +1 -1
  15. package/lib/node_modules/focus-lock/dist/es2015/sibling.js +1 -1
  16. package/lib/node_modules/focus-lock/dist/es2015/sibling.js.map +1 -1
  17. package/lib/node_modules/focus-lock/dist/es2015/solver.js +1 -1
  18. package/lib/node_modules/focus-lock/dist/es2015/solver.js.map +1 -1
  19. package/lib/node_modules/focus-lock/dist/es2015/utils/DOMutils.js.map +1 -1
  20. package/lib/node_modules/focus-lock/dist/es2015/utils/all-affected.js +1 -1
  21. package/lib/node_modules/focus-lock/dist/es2015/utils/auto-focus.js.map +1 -1
  22. package/lib/node_modules/focus-lock/dist/es2015/utils/getActiveElement.js.map +1 -1
  23. package/lib/node_modules/focus-lock/dist/es2015/utils/is.js.map +1 -1
  24. package/lib/node_modules/focus-lock/dist/es2015/utils/parenting.js.map +1 -1
  25. package/lib/node_modules/focus-lock/dist/es2015/utils/tabOrder.js.map +1 -1
  26. package/lib/node_modules/focus-lock/dist/es2015/utils/tabUtils.js.map +1 -1
  27. package/lib/node_modules/react-focus-lock/dist/es2015/Combination.js +1 -1
  28. package/lib/node_modules/react-focus-lock/dist/es2015/Combination.js.map +1 -1
  29. package/lib/node_modules/react-focus-lock/dist/es2015/FocusGuard.js.map +1 -1
  30. package/lib/node_modules/react-focus-lock/dist/es2015/Lock.js +1 -1
  31. package/lib/node_modules/react-focus-lock/dist/es2015/Lock.js.map +1 -1
  32. package/lib/node_modules/react-focus-lock/dist/es2015/Trap.js +1 -1
  33. package/lib/node_modules/react-focus-lock/dist/es2015/Trap.js.map +1 -1
  34. package/lib/node_modules/react-intersection-observer/dist/index.js.map +1 -1
  35. package/lib/node_modules/tslib/tslib.es6.js +1 -1
  36. package/lib/node_modules/tslib/tslib.es6.js.map +1 -1
  37. package/lib/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
  38. package/lib/{components → src/components}/AddressLookup/AddressLookup.stories.d.ts +4 -4
  39. package/lib/{components → src/components}/AddressLookup/index.d.ts +2 -2
  40. package/lib/src/components/AddressLookup/index.js +1 -1
  41. package/lib/src/components/AddressLookup/index.js.map +1 -1
  42. package/lib/src/components/AddressLookup/styles.js +38 -1
  43. package/lib/src/components/AddressLookup/styles.js.map +1 -1
  44. package/lib/{components → src/components}/Avatar/Avatar.stories.d.ts +1 -1
  45. package/lib/src/components/Avatar/index.js +1 -1
  46. package/lib/src/components/Avatar/index.js.map +1 -1
  47. package/lib/src/components/Avatar/styles.js +10 -1
  48. package/lib/src/components/Avatar/styles.js.map +1 -1
  49. package/lib/{components → src/components}/Badge/Badge.stories.d.ts +1 -1
  50. package/lib/src/components/Badge/index.js +1 -1
  51. package/lib/src/components/Badge/index.js.map +1 -1
  52. package/lib/src/components/Badge/styles.js +17 -1
  53. package/lib/src/components/Badge/styles.js.map +1 -1
  54. package/lib/{components → src/components}/Box/Box.stories.d.ts +2 -2
  55. package/lib/{components → src/components}/Box/index.d.ts +1 -1
  56. package/lib/src/components/Box/index.js +1 -1
  57. package/lib/src/components/Box/index.js.map +1 -1
  58. package/lib/src/components/Box/styles.js +13 -1
  59. package/lib/src/components/Box/styles.js.map +1 -1
  60. package/lib/{components → src/components}/Button/Button.stories.d.ts +2 -2
  61. package/lib/{components → src/components}/Button/index.d.ts +1 -1
  62. package/lib/src/components/Button/index.js +1 -1
  63. package/lib/src/components/Button/index.js.map +1 -1
  64. package/lib/src/components/Button/styles.js +108 -1
  65. package/lib/src/components/Button/styles.js.map +1 -1
  66. package/lib/{components → src/components}/Carousel/Carousel.stories.d.ts +2 -2
  67. package/lib/src/components/Carousel/Dots.js +1 -1
  68. package/lib/src/components/Carousel/Dots.js.map +1 -1
  69. package/lib/src/components/Carousel/index.js +1 -1
  70. package/lib/src/components/Carousel/index.js.map +1 -1
  71. package/lib/src/components/Carousel/styles.js +96 -1
  72. package/lib/src/components/Carousel/styles.js.map +1 -1
  73. package/lib/{components → src/components}/Checkbox/Checkbox.stories.d.ts +3 -3
  74. package/lib/{components → src/components}/Checkbox/index.d.ts +3 -3
  75. package/lib/src/components/Checkbox/index.js +1 -1
  76. package/lib/src/components/Checkbox/index.js.map +1 -1
  77. package/lib/src/components/Checkbox/styles.js +105 -1
  78. package/lib/src/components/Checkbox/styles.js.map +1 -1
  79. package/lib/{components → src/components}/Collapse/Collapse.stories.d.ts +1 -1
  80. package/lib/src/components/Collapse/index.js +1 -1
  81. package/lib/src/components/Collapse/index.js.map +1 -1
  82. package/lib/{components → src/components}/Collapse/styles.d.ts +11 -3
  83. package/lib/src/components/Collapse/styles.js +31 -1
  84. package/lib/src/components/Collapse/styles.js.map +1 -1
  85. package/lib/{components → src/components}/DateField/DateField.stories.d.ts +1 -1
  86. package/lib/src/components/DateField/index.js +1 -1
  87. package/lib/src/components/DateField/index.js.map +1 -1
  88. package/lib/{components → src/components}/DateField/styles.d.ts +12 -6
  89. package/lib/src/components/DateField/styles.js +26 -1
  90. package/lib/src/components/DateField/styles.js.map +1 -1
  91. package/lib/src/components/Divider.js +17 -1
  92. package/lib/src/components/Divider.js.map +1 -1
  93. package/lib/{components → src/components}/ErrorText/ErrorText.stories.d.ts +1 -1
  94. package/lib/src/components/ErrorText/index.js +1 -1
  95. package/lib/src/components/ErrorText/index.js.map +1 -1
  96. package/lib/src/components/ErrorText/styles.d.ts +16 -0
  97. package/lib/src/components/ErrorText/styles.js +5 -1
  98. package/lib/src/components/ErrorText/styles.js.map +1 -1
  99. package/lib/src/components/Flex.js +7 -1
  100. package/lib/src/components/Flex.js.map +1 -1
  101. package/lib/src/components/Fontface.js +1 -1
  102. package/lib/src/components/Fontface.js.map +1 -1
  103. package/lib/{components → src/components}/Footer/Footer.stories.d.ts +2 -2
  104. package/lib/src/components/Footer/index.js +1 -1
  105. package/lib/src/components/Footer/index.js.map +1 -1
  106. package/lib/{components → src/components}/Footer/styles.d.ts +3 -9
  107. package/lib/src/components/Footer/styles.js +69 -1
  108. package/lib/src/components/Footer/styles.js.map +1 -1
  109. package/lib/src/components/GlobalStyle.d.ts +2 -0
  110. package/lib/src/components/GlobalStyle.js +37 -1
  111. package/lib/src/components/GlobalStyle.js.map +1 -1
  112. package/lib/src/components/GlobalStyleNoFontFace.d.ts +2 -0
  113. package/lib/src/components/GlobalStyleNoFontFace.js +37 -1
  114. package/lib/src/components/GlobalStyleNoFontFace.js.map +1 -1
  115. package/lib/{components → src/components}/Header/Header.stories.d.ts +1 -1
  116. package/lib/src/components/Header/index.js +1 -1
  117. package/lib/src/components/Header/index.js.map +1 -1
  118. package/lib/src/components/Header/styles.js +109 -1
  119. package/lib/src/components/Header/styles.js.map +1 -1
  120. package/lib/{components → src/components}/Heading/Heading.stories.d.ts +1 -1
  121. package/lib/src/components/Heading/index.js +1 -1
  122. package/lib/src/components/Heading/index.js.map +1 -1
  123. package/lib/src/components/Heading/styles.js +75 -1
  124. package/lib/src/components/Heading/styles.js.map +1 -1
  125. package/lib/{components → src/components}/IconFa/IconFa.stories.d.ts +1 -1
  126. package/lib/src/components/IconFa/index.js +1 -1
  127. package/lib/src/components/IconFa/index.js.map +1 -1
  128. package/lib/src/components/IconFa/styles.js +10 -1
  129. package/lib/src/components/IconFa/styles.js.map +1 -1
  130. package/lib/{components → src/components}/InfoBox/InfoBox.stories.d.ts +2 -2
  131. package/lib/{components → src/components}/InfoBox/index.d.ts +1 -1
  132. package/lib/src/components/InfoBox/index.js +1 -1
  133. package/lib/src/components/InfoBox/index.js.map +1 -1
  134. package/lib/src/components/InfoBox/styles.d.ts +13 -0
  135. package/lib/src/components/InfoBox/styles.js +12 -1
  136. package/lib/src/components/InfoBox/styles.js.map +1 -1
  137. package/lib/src/components/LabelWrapper/index.js +1 -1
  138. package/lib/src/components/LabelWrapper/index.js.map +1 -1
  139. package/lib/src/components/LabelWrapper/styles.js +15 -1
  140. package/lib/src/components/LabelWrapper/styles.js.map +1 -1
  141. package/lib/{components → src/components}/LegendWrapper/LegendWrapper.stories.d.ts +1 -1
  142. package/lib/src/components/LegendWrapper/index.js +1 -1
  143. package/lib/src/components/LegendWrapper/index.js.map +1 -1
  144. package/lib/src/components/LegendWrapper/styles.js +34 -1
  145. package/lib/src/components/LegendWrapper/styles.js.map +1 -1
  146. package/lib/{components → src/components}/Link/Link.stories.d.ts +5 -2
  147. package/lib/{components → src/components}/Link/index.d.ts +4 -1
  148. package/lib/src/components/Link/index.js +1 -1
  149. package/lib/src/components/Link/index.js.map +1 -1
  150. package/lib/src/components/Link/styles.d.ts +20 -0
  151. package/lib/src/components/Link/styles.js +29 -1
  152. package/lib/src/components/Link/styles.js.map +1 -1
  153. package/lib/{components → src/components}/Loader/Loader.stories.d.ts +1 -1
  154. package/lib/src/components/Loader/index.js +1 -1
  155. package/lib/src/components/Loader/index.js.map +1 -1
  156. package/lib/src/components/Loader/styles.js +45 -1
  157. package/lib/src/components/Loader/styles.js.map +1 -1
  158. package/lib/{components → src/components}/Modal/Modal.stories.d.ts +1 -1
  159. package/lib/src/components/Modal/index.js +1 -1
  160. package/lib/src/components/Modal/index.js.map +1 -1
  161. package/lib/src/components/Modal/styles.d.ts +32 -0
  162. package/lib/src/components/Modal/styles.js +59 -1
  163. package/lib/src/components/Modal/styles.js.map +1 -1
  164. package/lib/{components → src/components}/Pagination/Pagination.stories.d.ts +1 -1
  165. package/lib/src/components/Pagination/index.js +1 -1
  166. package/lib/src/components/Pagination/index.js.map +1 -1
  167. package/lib/src/components/Pagination/styles.js +92 -1
  168. package/lib/src/components/Pagination/styles.js.map +1 -1
  169. package/lib/{components → src/components}/PopOver/Popover.stories.d.ts +1 -1
  170. package/lib/src/components/PopOver/index.js +1 -1
  171. package/lib/src/components/PopOver/index.js.map +1 -1
  172. package/lib/src/components/PopOver/styles.js +81 -1
  173. package/lib/src/components/PopOver/styles.js.map +1 -1
  174. package/lib/{components → src/components}/ProgressBar/ProgressBar.stories.d.ts +1 -1
  175. package/lib/src/components/ProgressBar/index.js +1 -1
  176. package/lib/src/components/ProgressBar/index.js.map +1 -1
  177. package/lib/src/components/ProgressBar/styles.js +132 -1
  178. package/lib/src/components/ProgressBar/styles.js.map +1 -1
  179. package/lib/{components → src/components}/Radio/Radio.stories.d.ts +3 -3
  180. package/lib/{components → src/components}/Radio/index.d.ts +3 -3
  181. package/lib/src/components/Radio/index.js +1 -1
  182. package/lib/src/components/Radio/index.js.map +1 -1
  183. package/lib/src/components/Radio/styles.js +125 -1
  184. package/lib/src/components/Radio/styles.js.map +1 -1
  185. package/lib/{components → src/components}/RadioConsent/Radio.stories.d.ts +1 -1
  186. package/lib/src/components/RadioConsent/index.js +1 -1
  187. package/lib/src/components/RadioConsent/index.js.map +1 -1
  188. package/lib/{components → src/components}/RadioConsent/styles.d.ts +6 -3
  189. package/lib/src/components/RadioConsent/styles.js +26 -1
  190. package/lib/src/components/RadioConsent/styles.js.map +1 -1
  191. package/lib/{components → src/components}/Select/Selelct.stories.d.ts +3 -3
  192. package/lib/{components → src/components}/Select/index.d.ts +3 -3
  193. package/lib/src/components/Select/index.js +1 -1
  194. package/lib/src/components/Select/index.js.map +1 -1
  195. package/lib/src/components/Select/styles.js +41 -1
  196. package/lib/src/components/Select/styles.js.map +1 -1
  197. package/lib/src/components/Spacing/index.js +1 -1
  198. package/lib/src/components/Spacing/index.js.map +1 -1
  199. package/lib/{components → src/components}/Step/Step.stories.d.ts +1 -1
  200. package/lib/src/components/Step/index.js +1 -1
  201. package/lib/src/components/Step/index.js.map +1 -1
  202. package/lib/src/components/Step/styles.js +79 -1
  203. package/lib/src/components/Step/styles.js.map +1 -1
  204. package/lib/{components → src/components}/Text/Text.stories.d.ts +2 -2
  205. package/lib/{components → src/components}/Text/index.d.ts +1 -1
  206. package/lib/src/components/Text/index.js +1 -1
  207. package/lib/src/components/Text/index.js.map +1 -1
  208. package/lib/src/components/Text/styles.js +19 -1
  209. package/lib/src/components/Text/styles.js.map +1 -1
  210. package/lib/{components → src/components}/TextAreaField/TextAreaField.stories.d.ts +2 -2
  211. package/lib/{components → src/components}/TextAreaField/index.d.ts +1 -1
  212. package/lib/src/components/TextAreaField/index.js +1 -1
  213. package/lib/src/components/TextAreaField/index.js.map +1 -1
  214. package/lib/src/components/TextAreaField/styles.js +29 -1
  215. package/lib/src/components/TextAreaField/styles.js.map +1 -1
  216. package/lib/{components → src/components}/TextField/TextField.stories.d.ts +2 -2
  217. package/lib/{components → src/components}/TextField/index.d.ts +1 -1
  218. package/lib/src/components/TextField/index.js +1 -1
  219. package/lib/src/components/TextField/index.js.map +1 -1
  220. package/lib/{components → src/components}/TextField/styles.d.ts +2 -6
  221. package/lib/src/components/TextField/styles.js +110 -1
  222. package/lib/src/components/TextField/styles.js.map +1 -1
  223. package/lib/src/components/ThemeCheatSheet.d.ts +7 -0
  224. package/lib/{components → src/components}/Totaliser/Totaliser.stories.d.ts +1 -1
  225. package/lib/src/components/Totaliser/index.js +1 -1
  226. package/lib/src/components/Totaliser/index.js.map +1 -1
  227. package/lib/src/components/Totaliser/styles.js +59 -1
  228. package/lib/src/components/Totaliser/styles.js.map +1 -1
  229. package/lib/{components → src/components}/UserBlock/UserBlock.stories.d.ts +1 -1
  230. package/lib/src/components/UserBlock/index.js +1 -1
  231. package/lib/src/components/UserBlock/index.js.map +1 -1
  232. package/lib/src/components/UserBlock/styles.js +21 -1
  233. package/lib/src/components/UserBlock/styles.js.map +1 -1
  234. package/lib/{hooks → src/hooks}/useEffectBrowser.d.ts +1 -1
  235. package/lib/src/hooks/useEffectBrowser.js +1 -1
  236. package/lib/src/hooks/useEffectBrowser.js.map +1 -1
  237. package/lib/src/hooks/useKey.js +1 -1
  238. package/lib/src/hooks/useKey.js.map +1 -1
  239. package/lib/{hooks → src/hooks}/useLayoutEffectBrowser.d.ts +1 -1
  240. package/lib/src/hooks/useLayoutEffectBrowser.js +1 -1
  241. package/lib/src/hooks/useLayoutEffectBrowser.js.map +1 -1
  242. package/lib/{hooks → src/hooks}/useScrollPosition.d.ts +2 -2
  243. package/lib/src/hooks/useScrollPosition.js +1 -1
  244. package/lib/src/hooks/useScrollPosition.js.map +1 -1
  245. package/lib/src/themes/bowelbabe.js +1 -1
  246. package/lib/src/themes/bowelbabe.js.map +1 -1
  247. package/lib/src/themes/cruk.js +1 -1
  248. package/lib/src/themes/cruk.js.map +1 -1
  249. package/lib/src/themes/rfl.js +1 -1
  250. package/lib/src/themes/rfl.js.map +1 -1
  251. package/lib/src/themes/su2c.js +1 -1
  252. package/lib/src/themes/su2c.js.map +1 -1
  253. package/lib/{types.d.ts → src/types.d.ts} +1 -3
  254. package/lib/src/utils/Helper.js +1 -1
  255. package/lib/src/utils/Helper.js.map +1 -1
  256. package/lib/src/utils/debounce.d.ts +2 -0
  257. package/lib/src/utils/debounce.js +1 -1
  258. package/lib/src/utils/debounce.js.map +1 -1
  259. package/lib/src/utils/themeUtils.js +1 -1
  260. package/lib/src/utils/themeUtils.js.map +1 -1
  261. package/package.json +37 -44
  262. package/lib/components/ErrorText/styles.d.ts +0 -8
  263. package/lib/components/GlobalStyle.d.ts +0 -2
  264. package/lib/components/GlobalStyleNoFontFace.d.ts +0 -2
  265. package/lib/components/InfoBox/styles.d.ts +0 -10
  266. package/lib/components/Link/styles.d.ts +0 -12
  267. package/lib/components/Modal/styles.d.ts +0 -21
  268. package/lib/components/ThemeCheatSheet.d.ts +0 -7
  269. package/lib/utils/debounce.d.ts +0 -2
  270. /package/lib/{components → src/components}/AddressLookup/AddressLookUp.test.cypress.d.ts +0 -0
  271. /package/lib/{components → src/components}/AddressLookup/styles.d.ts +0 -0
  272. /package/lib/{components → src/components}/AllThemesWrapper.d.ts +0 -0
  273. /package/lib/{components → src/components}/Avatar/Avatar.test.cypress.d.ts +0 -0
  274. /package/lib/{components → src/components}/Avatar/index.d.ts +0 -0
  275. /package/lib/{components → src/components}/Avatar/styles.d.ts +0 -0
  276. /package/lib/{components → src/components}/Badge/Badge.test.cypress.d.ts +0 -0
  277. /package/lib/{components → src/components}/Badge/index.d.ts +0 -0
  278. /package/lib/{components → src/components}/Badge/styles.d.ts +0 -0
  279. /package/lib/{components → src/components}/Box/Box.test.cypress.d.ts +0 -0
  280. /package/lib/{components → src/components}/Box/styles.d.ts +0 -0
  281. /package/lib/{components → src/components}/Button/Button.test.cypress.d.ts +0 -0
  282. /package/lib/{components → src/components}/Button/styles.d.ts +0 -0
  283. /package/lib/{components → src/components}/Carousel/Carousel.test.cypress.d.ts +0 -0
  284. /package/lib/{components → src/components}/Carousel/Dots.d.ts +0 -0
  285. /package/lib/{components → src/components}/Carousel/index.d.ts +0 -0
  286. /package/lib/{components → src/components}/Carousel/styles.d.ts +0 -0
  287. /package/lib/{components → src/components}/Checkbox/CheckBox.test.cypress.d.ts +0 -0
  288. /package/lib/{components → src/components}/Checkbox/styles.d.ts +0 -0
  289. /package/lib/{components → src/components}/Collapse/Collapse.test.cypress.d.ts +0 -0
  290. /package/lib/{components → src/components}/Collapse/index.d.ts +0 -0
  291. /package/lib/{components → src/components}/DateField/DateField.test.cypress.d.ts +0 -0
  292. /package/lib/{components → src/components}/DateField/index.d.ts +0 -0
  293. /package/lib/{components → src/components}/Divider.d.ts +0 -0
  294. /package/lib/{components → src/components}/ErrorText/ErrorText.test.cypress.d.ts +0 -0
  295. /package/lib/{components → src/components}/ErrorText/index.d.ts +0 -0
  296. /package/lib/{components → src/components}/Flex.d.ts +0 -0
  297. /package/lib/{components → src/components}/Fontface.d.ts +0 -0
  298. /package/lib/{components → src/components}/Footer/Footer.test.cypress.d.ts +0 -0
  299. /package/lib/{components → src/components}/Footer/index.d.ts +0 -0
  300. /package/lib/{components → src/components}/Header/Header.test.cypress.d.ts +0 -0
  301. /package/lib/{components → src/components}/Header/index.d.ts +0 -0
  302. /package/lib/{components → src/components}/Header/styles.d.ts +0 -0
  303. /package/lib/{components → src/components}/Heading/Heading.test.cypress.d.ts +0 -0
  304. /package/lib/{components → src/components}/Heading/index.d.ts +0 -0
  305. /package/lib/{components → src/components}/Heading/styles.d.ts +0 -0
  306. /package/lib/{components → src/components}/IconFa/IconFa.test.cypress.d.ts +0 -0
  307. /package/lib/{components → src/components}/IconFa/index.d.ts +0 -0
  308. /package/lib/{components → src/components}/IconFa/styles.d.ts +0 -0
  309. /package/lib/{components → src/components}/InfoBox/InfoBox.test.cypress.d.ts +0 -0
  310. /package/lib/{components → src/components}/LabelWrapper/index.d.ts +0 -0
  311. /package/lib/{components → src/components}/LabelWrapper/styles.d.ts +0 -0
  312. /package/lib/{components → src/components}/LegendWrapper/LegendWrapper.test.cypress.d.ts +0 -0
  313. /package/lib/{components → src/components}/LegendWrapper/index.d.ts +0 -0
  314. /package/lib/{components → src/components}/LegendWrapper/styles.d.ts +0 -0
  315. /package/lib/{components → src/components}/Link/Link.test.cypress.d.ts +0 -0
  316. /package/lib/{components → src/components}/Loader/Loader.test.cypress.d.ts +0 -0
  317. /package/lib/{components → src/components}/Loader/index.d.ts +0 -0
  318. /package/lib/{components → src/components}/Loader/styles.d.ts +0 -0
  319. /package/lib/{components → src/components}/Modal/Modal.test.cypress.d.ts +0 -0
  320. /package/lib/{components → src/components}/Modal/index.d.ts +0 -0
  321. /package/lib/{components → src/components}/Pagination/Pagination.test.cypress.d.ts +0 -0
  322. /package/lib/{components → src/components}/Pagination/index.d.ts +0 -0
  323. /package/lib/{components → src/components}/Pagination/styles.d.ts +0 -0
  324. /package/lib/{components → src/components}/PopOver/PopOver.test.cypress.d.ts +0 -0
  325. /package/lib/{components → src/components}/PopOver/index.d.ts +0 -0
  326. /package/lib/{components → src/components}/PopOver/styles.d.ts +0 -0
  327. /package/lib/{components → src/components}/ProgressBar/ProgressBar.test.cypress.d.ts +0 -0
  328. /package/lib/{components → src/components}/ProgressBar/index.d.ts +0 -0
  329. /package/lib/{components → src/components}/ProgressBar/styles.d.ts +0 -0
  330. /package/lib/{components → src/components}/Radio/Radio.test.cypress.d.ts +0 -0
  331. /package/lib/{components → src/components}/Radio/styles.d.ts +0 -0
  332. /package/lib/{components → src/components}/RadioConsent/RadioConsent.test.cypress.d.ts +0 -0
  333. /package/lib/{components → src/components}/RadioConsent/index.d.ts +0 -0
  334. /package/lib/{components → src/components}/Select/Select.test.cypress.d.ts +0 -0
  335. /package/lib/{components → src/components}/Select/styles.d.ts +0 -0
  336. /package/lib/{components → src/components}/Spacing/index.d.ts +0 -0
  337. /package/lib/{components → src/components}/Step/Step.test.cypress.d.ts +0 -0
  338. /package/lib/{components → src/components}/Step/index.d.ts +0 -0
  339. /package/lib/{components → src/components}/Step/styles.d.ts +0 -0
  340. /package/lib/{components → src/components}/Text/Text.test.cypress.d.ts +0 -0
  341. /package/lib/{components → src/components}/Text/styles.d.ts +0 -0
  342. /package/lib/{components → src/components}/TextAreaField/TextAreaField.test.cypress.d.ts +0 -0
  343. /package/lib/{components → src/components}/TextAreaField/styles.d.ts +0 -0
  344. /package/lib/{components → src/components}/TextField/TextField.test.cypress.d.ts +0 -0
  345. /package/lib/{components → src/components}/Totaliser/Totaliser.test.cypress.d.ts +0 -0
  346. /package/lib/{components → src/components}/Totaliser/index.d.ts +0 -0
  347. /package/lib/{components → src/components}/Totaliser/styles.d.ts +0 -0
  348. /package/lib/{components → src/components}/UserBlock/UserBlock.test.cypress.d.ts +0 -0
  349. /package/lib/{components → src/components}/UserBlock/index.d.ts +0 -0
  350. /package/lib/{components → src/components}/UserBlock/styles.d.ts +0 -0
  351. /package/lib/{components → src/components}/index.d.ts +0 -0
  352. /package/lib/{hooks → src/hooks}/useKey.d.ts +0 -0
  353. /package/lib/{themes → src/themes}/bowelbabe.d.ts +0 -0
  354. /package/lib/{themes → src/themes}/cruk.d.ts +0 -0
  355. /package/lib/{themes → src/themes}/rfl.d.ts +0 -0
  356. /package/lib/{themes → src/themes}/su2c.d.ts +0 -0
  357. /package/lib/{utils → src/utils}/Helper.d.ts +0 -0
  358. /package/lib/{utils → src/utils}/__tests__/testHelpers.test.d.ts +0 -0
  359. /package/lib/{utils → src/utils}/themeUtils.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/ProgressBar/index.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport { ThemeProvider, useTheme } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport {\n ProgressBarWrapper,\n CircularWrapper,\n CircleSvg,\n EmptyCircle,\n FullCircle,\n CircularValue,\n LineProgressBarWrapper,\n LineProgressBar,\n ScreenReaderOnly,\n} from \"./styles\";\n\nconst DEFAULT_CIRCLE_SIZE = \"90px\";\n\nexport type ProgressBarProps = {\n /** percentage value of the progressbar */\n percentage: number;\n /** percentage value of a secondary (highter) amount of the progressbar */\n secondaryPercentage?: number;\n /** flag which converts line bar to donut chart */\n isCircular?: boolean;\n /** contents inside the donut chart */\n circleContents?: ReactNode;\n /** diameter of the donut chart */\n circleSize?: string;\n /** foreground colour of chart bar */\n barColor?: string;\n /** foreground colour of chart secondary bar */\n secondaryBarColor?: string;\n children?: ReactNode;\n};\n\n/**\n * Provide up-to-date feedback on the progress of a workflow or action with\nsimple yet flexible progress bars.\n*/\nexport function ProgressBar({\n percentage = 0,\n isCircular,\n circleContents,\n circleSize,\n barColor,\n secondaryBarColor,\n secondaryPercentage,\n children,\n}: ProgressBarProps) {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n const percentageNumber = !Number.isNaN(percentage) ? percentage : 0;\n const percentageLimited = percentageNumber > 100 ? 100 : percentageNumber;\n const percentString = `${percentageNumber}%`;\n\n const secondaryPercentageNumber =\n secondaryPercentage && !Number.isNaN(secondaryPercentage)\n ? secondaryPercentage\n : 0;\n\n const secondaryPercentageLimited =\n secondaryPercentageNumber > 100 ? 100 : secondaryPercentageNumber;\n\n const descriptivePercentageString = `${\n typeof circleContents === \"string\" ? circleContents : \"\"\n } ${percentString}% Complete`;\n const textOrPercentString = circleContents || percentString;\n\n const strokeWidth = 6;\n const d = 128;\n const r = d / 2 - strokeWidth;\n const c = 2 * Math.PI * r;\n\n return (\n <ThemeProvider theme={theme}>\n <ProgressBarWrapper>\n {isCircular ? (\n <CircularWrapper $circleSize={circleSize || DEFAULT_CIRCLE_SIZE}>\n <CircleSvg viewBox={`0 0 ${d} ${d}`}>\n <EmptyCircle\n cx={r + strokeWidth}\n cy={r + strokeWidth}\n r={r}\n strokeWidth={strokeWidth}\n />\n <FullCircle\n $isSecondary\n $barColor={secondaryBarColor}\n cx={r + strokeWidth}\n cy={r + strokeWidth}\n r={r}\n strokeWidth={strokeWidth}\n strokeDasharray={c}\n strokeDashoffset={c * (1 - secondaryPercentageLimited / 100)}\n $strokeDashoffsetInit={c}\n />\n\n <FullCircle\n $barColor={barColor}\n cx={r + strokeWidth}\n cy={r + strokeWidth}\n r={r}\n strokeWidth={strokeWidth}\n strokeDasharray={c}\n strokeDashoffset={c * (1 - percentageLimited / 100)}\n $strokeDashoffsetInit={c}\n />\n </CircleSvg>\n <CircularValue>{textOrPercentString}</CircularValue>\n </CircularWrapper>\n ) : (\n <LineProgressBarWrapper\n $percentage={percentageLimited}\n $secondaryPercentage={secondaryPercentageLimited}\n >\n <LineProgressBar\n $isSecondary\n $percentage={secondaryPercentageLimited}\n $barColor={secondaryBarColor}\n />\n\n <LineProgressBar\n $percentage={percentageLimited}\n $barColor={barColor}\n />\n <ScreenReaderOnly>{descriptivePercentageString}</ScreenReaderOnly>\n </LineProgressBarWrapper>\n )}\n {children}\n </ProgressBarWrapper>\n </ThemeProvider>\n );\n}\n\nexport default ProgressBar;\n"],"names":["ProgressBar","_a","_b","percentage","isCircular","circleContents","circleSize","barColor","secondaryBarColor","secondaryPercentage","children","foundTheme","useTheme","theme","__assign","defaultTheme","percentageNumber","Number","isNaN","percentageLimited","percentString","concat","secondaryPercentageNumber","secondaryPercentageLimited","descriptivePercentageString","textOrPercentString","r","d","c","Math","PI","React","createElement","ThemeProvider","ProgressBarWrapper","CircularWrapper","$circleSize","CircleSvg","viewBox","EmptyCircle","cx","cy","strokeWidth","FullCircle","$isSecondary","$barColor","strokeDasharray","strokeDashoffset","$strokeDashoffsetInit","CircularValue","LineProgressBarWrapper","$percentage","LineProgressBar","ScreenReaderOnly"],"mappings":"0ZAyCM,SAAUA,EAAYC,OAC1BC,EAAcD,EAAAE,WAAdA,OAAU,IAAAD,EAAG,EAACA,EACdE,EAAUH,EAAAG,WACVC,EAAcJ,EAAAI,eACdC,EAAUL,EAAAK,WACVC,EAAQN,EAAAM,SACRC,EAAiBP,EAAAO,kBACjBC,EAAmBR,EAAAQ,oBACnBC,EAAQT,EAAAS,SAEFC,EAAaC,IACbC,EACDC,EAAAA,EAAA,CAAA,EAAAC,GACAJ,GAECK,EAAoBC,OAAOC,MAAMf,GAA2B,EAAbA,EAC/CgB,EAAoBH,EAAmB,IAAM,IAAMA,EACnDI,EAAgB,GAAGC,OAAAL,OAEnBM,EACJb,IAAwBQ,OAAOC,MAAMT,GACjCA,EACA,EAEAc,EACJD,EAA4B,IAAM,IAAMA,EAEpCE,EAA8B,GAAAH,OACR,iBAAnBhB,EAA8BA,EAAiB,GACpD,KAAAgB,OAAAD,gBACEK,EAAsBpB,GAAkBe,EAIxCM,EAAIC,GACJC,EAAI,EAAIC,KAAKC,GAAKJ,EAExB,OACEK,EAACC,cAAAC,EAAc,CAAApB,MAAOA,GACpBkB,EAAAC,cAACE,EAAkB,KAChB9B,EACC2B,gBAACI,EAAe,CAAAC,YAAc9B,GAjEZ,QAkEhByB,EAACC,cAAAK,GAAUC,QAAS,cATpB,IAS4B,KAAAjB,OAT5B,MAUEU,EAACC,cAAAO,GACCC,GAAId,GACJe,GAAIf,GACJA,EAAGA,EACHgB,YAfM,IAiBRX,EAAAC,cAACW,EAEY,CAAAC,cAAA,EAAAC,UAAArC,EACXgC,GAAId,GACJe,GAAIf,GACJA,EAAGA,EACHgB,YAvBM,EAwBNI,gBAAiBlB,EACjBmB,iBAAkBnB,GAAK,EAAIL,EAA6B,KAAIyB,sBACrCpB,IAGzBG,EAAAC,cAACW,EACY,CAAAE,UAAAtC,EACXiC,GAAId,GACJe,GAAIf,GACJA,EAAGA,EACHgB,YAlCM,EAmCNI,gBAAiBlB,EACjBmB,iBAAkBnB,GAAK,EAAIT,EAAoB,KACxB6B,sBAAApB,KAG3BG,EAAAC,cAACiB,EAAa,KAAExB,IAGlBM,EAACC,cAAAkB,EACc,CAAAC,YAAAhC,uBACSI,GAEtBQ,EAAAC,cAACoB,EAAe,CAAAR,cAAA,EAAAO,YAED5B,EAA0BsB,UAC5BrC,IAGbuB,EAAAC,cAACoB,EAAe,CAAAD,YACDhC,EAAiB0B,UACnBtC,IAEbwB,EAAAC,cAACqB,EAAgB,KAAE7B,IAGtBd,GAIT"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/ProgressBar/index.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport { ThemeProvider, useTheme } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport {\n ProgressBarWrapper,\n CircularWrapper,\n CircleSvg,\n EmptyCircle,\n FullCircle,\n CircularValue,\n LineProgressBarWrapper,\n LineProgressBar,\n ScreenReaderOnly,\n} from \"./styles\";\n\nconst DEFAULT_CIRCLE_SIZE = \"90px\";\n\nexport type ProgressBarProps = {\n /** percentage value of the progressbar */\n percentage: number;\n /** percentage value of a secondary (highter) amount of the progressbar */\n secondaryPercentage?: number;\n /** flag which converts line bar to donut chart */\n isCircular?: boolean;\n /** contents inside the donut chart */\n circleContents?: ReactNode;\n /** diameter of the donut chart */\n circleSize?: string;\n /** foreground colour of chart bar */\n barColor?: string;\n /** foreground colour of chart secondary bar */\n secondaryBarColor?: string;\n children?: ReactNode;\n};\n\n/**\n * Provide up-to-date feedback on the progress of a workflow or action with\nsimple yet flexible progress bars.\n*/\nexport function ProgressBar({\n percentage = 0,\n isCircular,\n circleContents,\n circleSize,\n barColor,\n secondaryBarColor,\n secondaryPercentage,\n children,\n}: ProgressBarProps) {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n const percentageNumber = !Number.isNaN(percentage) ? percentage : 0;\n const percentageLimited = percentageNumber > 100 ? 100 : percentageNumber;\n const percentString = `${percentageNumber}%`;\n\n const secondaryPercentageNumber =\n secondaryPercentage && !Number.isNaN(secondaryPercentage)\n ? secondaryPercentage\n : 0;\n\n const secondaryPercentageLimited =\n secondaryPercentageNumber > 100 ? 100 : secondaryPercentageNumber;\n\n const descriptivePercentageString = `${\n typeof circleContents === \"string\" ? circleContents : \"\"\n } ${percentString}% Complete`;\n const textOrPercentString = circleContents || percentString;\n\n const strokeWidth = 6;\n const d = 128;\n const r = d / 2 - strokeWidth;\n const c = 2 * Math.PI * r;\n\n return (\n <ThemeProvider theme={theme}>\n <ProgressBarWrapper>\n {isCircular ? (\n <CircularWrapper $circleSize={circleSize || DEFAULT_CIRCLE_SIZE}>\n <CircleSvg viewBox={`0 0 ${d} ${d}`}>\n <EmptyCircle\n cx={r + strokeWidth}\n cy={r + strokeWidth}\n r={r}\n strokeWidth={strokeWidth}\n />\n <FullCircle\n $isSecondary\n $barColor={secondaryBarColor}\n cx={r + strokeWidth}\n cy={r + strokeWidth}\n r={r}\n strokeWidth={strokeWidth}\n strokeDasharray={c}\n strokeDashoffset={c * (1 - secondaryPercentageLimited / 100)}\n $strokeDashoffsetInit={c}\n />\n\n <FullCircle\n $barColor={barColor}\n cx={r + strokeWidth}\n cy={r + strokeWidth}\n r={r}\n strokeWidth={strokeWidth}\n strokeDasharray={c}\n strokeDashoffset={c * (1 - percentageLimited / 100)}\n $strokeDashoffsetInit={c}\n />\n </CircleSvg>\n <CircularValue>{textOrPercentString}</CircularValue>\n </CircularWrapper>\n ) : (\n <LineProgressBarWrapper\n $percentage={percentageLimited}\n $secondaryPercentage={secondaryPercentageLimited}\n >\n <LineProgressBar\n $isSecondary\n $percentage={secondaryPercentageLimited}\n $barColor={secondaryBarColor}\n />\n\n <LineProgressBar\n $percentage={percentageLimited}\n $barColor={barColor}\n />\n <ScreenReaderOnly>{descriptivePercentageString}</ScreenReaderOnly>\n </LineProgressBarWrapper>\n )}\n {children}\n </ProgressBarWrapper>\n </ThemeProvider>\n );\n}\n\nexport default ProgressBar;\n"],"names":["ProgressBar","percentage","isCircular","circleContents","circleSize","barColor","secondaryBarColor","secondaryPercentage","children","foundTheme","useTheme","theme","defaultTheme","percentageNumber","Number","isNaN","percentageLimited","percentString","secondaryPercentageNumber","secondaryPercentageLimited","descriptivePercentageString","textOrPercentString","r","d","c","Math","PI","React","createElement","ThemeProvider","ProgressBarWrapper","CircularWrapper","$circleSize","CircleSvg","viewBox","EmptyCircle","cx","cy","strokeWidth","FullCircle","$isSecondary","$barColor","strokeDasharray","strokeDashoffset","$strokeDashoffsetInit","CircularValue","LineProgressBarWrapper","$percentage","LineProgressBar","ScreenReaderOnly"],"mappings":"sVAyCM,SAAUA,GAAYC,WAC1BA,EAAa,EAACC,WACdA,EAAUC,eACVA,EAAcC,WACdA,EAAUC,SACVA,EAAQC,kBACRA,EAAiBC,oBACjBA,EAAmBC,SACnBA,IAEA,MAAMC,EAAaC,IACbC,EAAQ,IACTC,KACAH,GAECI,EAAoBC,OAAOC,MAAMd,GAA2B,EAAbA,EAC/Ce,EAAoBH,EAAmB,IAAM,IAAMA,EACnDI,EAAgB,GAAGJ,KAEnBK,EACJX,IAAwBO,OAAOC,MAAMR,GACjCA,EACA,EAEAY,EACJD,EAA4B,IAAM,IAAMA,EAEpCE,EAA8B,GACR,iBAAnBjB,EAA8BA,EAAiB,MACpDc,cACEI,EAAsBlB,GAAkBc,EAIxCK,EAAIC,GACJC,EAAI,EAAIC,KAAKC,GAAKJ,EAExB,OACEK,EAACC,cAAAC,EAAc,CAAAlB,MAAOA,GACpBgB,EAAAC,cAACE,EAAkB,KAChB5B,EACCyB,gBAACI,EAAe,CAAAC,YAAc5B,GAjEZ,QAkEhBuB,EAACC,cAAAK,GAAUC,QAAS,eAClBP,EAACC,cAAAO,GACCC,GAAId,GACJe,GAAIf,GACJA,EAAGA,EACHgB,YAfM,IAiBRX,EAAAC,cAACW,EAEY,CAAAC,cAAA,EAAAC,UAAAnC,EACX8B,GAAId,GACJe,GAAIf,GACJA,EAAGA,EACHgB,YAvBM,EAwBNI,gBAAiBlB,EACjBmB,iBAAkBnB,GAAK,EAAIL,EAA6B,KAAIyB,sBACrCpB,IAGzBG,EAAAC,cAACW,EACY,CAAAE,UAAApC,EACX+B,GAAId,GACJe,GAAIf,GACJA,EAAGA,EACHgB,YAlCM,EAmCNI,gBAAiBlB,EACjBmB,iBAAkBnB,GAAK,EAAIR,EAAoB,KACxB4B,sBAAApB,KAG3BG,EAAAC,cAACiB,EAAa,KAAExB,IAGlBM,EAACC,cAAAkB,EACc,CAAAC,YAAA/B,uBACSG,GAEtBQ,EAAAC,cAACoB,EAAe,CAAAR,cAAA,EAAAO,YAED5B,EAA0BsB,UAC5BnC,IAGbqB,EAAAC,cAACoB,EAAe,CAAAD,YACD/B,EAAiByB,UACnBpC,IAEbsB,EAAAC,cAACqB,EAAgB,KAAE7B,IAGtBZ,GAIT"}
@@ -1,2 +1,133 @@
1
- import{__makeTemplateObject as n}from"../../../node_modules/tslib/tslib.es6.js";import t,{css as o,keyframes as e}from"styled-components";var r,i,s,a,h,c,d,f,l,p,u,g,b,x,m,k="16px",w=function(){return e(s||(s=n(["\n 0% {\n width: 0px;\n height: 0px;\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n width: 64px;\n height: 64px;\n right: -32px;\n }\n"],["\n 0% {\n width: 0px;\n height: 0px;\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n width: 64px;\n height: 64px;\n right: -32px;\n }\n"])))},y=function(){return e(a||(a=n(["\n 0% {\n transform: scale(1);\n border-radius: 0px;\n\n }\n 50% {\n transform:scale(1.025);\n }\n 100% {\n transform: scale(1);\n border-radius: 0px;\n }\n"],["\n 0% {\n transform: scale(1);\n border-radius: 0px;\n\n }\n 50% {\n transform:scale(1.025);\n }\n 100% {\n transform: scale(1);\n border-radius: 0px;\n }\n"])))},v=t.div(h||(h=n(["\n margin-top: ",";\n"],["\n margin-top: ",";\n"])),k),$=t.div(d||(d=n(["\n position: relative;\n height: ",";\n margin-bottom: 0;\n background-color: ",";\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n\n ","\n"],["\n position: relative;\n height: ",";\n margin-bottom: 0;\n background-color: ",";\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n\n ","\n"])),k,(function(n){return n.theme.colors.progressBarBackground}),(function(t){var e=t.$percentage,r=t.$secondaryPercentage;return(100===e||100===r)&&o(c||(c=n(["\n animation: "," 0.3s 0.5s 1 ease-out;\n "],["\n animation: "," 0.3s 0.5s 1 ease-out;\n "])),y)})),D=t.div(l||(l=n(["\n position: absolute;\n left: 0;\n height: ",";\n background-color: ",";\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n transition: width 0.6s ease;\n width: ",'%;\n\n &::before {\n content: "";\n display: inline-block;\n position: absolute;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: 0px;\n height: 0px;\n border-radius: 50%;\n opacity: 0;\n filter: blur(2px);\n background-color: ',";\n\n ","\n }\n"],["\n position: absolute;\n left: 0;\n height: ",";\n background-color: ",";\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n transition: width 0.6s ease;\n width: ",'%;\n\n &::before {\n content: "";\n display: inline-block;\n position: absolute;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: 0px;\n height: 0px;\n border-radius: 50%;\n opacity: 0;\n filter: blur(2px);\n background-color: ',";\n\n ","\n }\n"])),k,(function(n){var t=n.$barColor,o=n.$isSecondary,e=n.theme;return t||o?e.colors.progressBarSecondary:e.colors.progressBar}),(function(n){return n.$percentage}),(function(n){var t=n.$barColor,o=n.$isSecondary,e=n.theme.colors,r=e.progressBar,i=e.progressBarSecondary;return t||o?i:r}),(function(t){return 100===t.$percentage&&o(f||(f=n(["\n animation: "," 0.33s 0.75s 3 ease-in;\n "],["\n animation: "," 0.33s 0.75s 3 ease-in;\n "])),w)})),S=t.span(p||(p=n(["\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n"],["\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n"]))),z=t.div(u||(u=n(["\n position: relative;\n width: ",";\n height: ",";\n background: none;\n margin: 0 auto;\n box-shadow: none;\n"],["\n position: relative;\n width: ",";\n height: ",";\n background: none;\n margin: 0 auto;\n box-shadow: none;\n"])),(function(n){return n.$circleSize}),(function(n){return n.$circleSize})),B=t.svg(g||(g=n(["\n position: absolute;\n transform: rotate(-90deg);\n fill: none;\n stroke-linecap: round;\n width: 100%;\n height: 100%;\n"],["\n position: absolute;\n transform: rotate(-90deg);\n fill: none;\n stroke-linecap: round;\n width: 100%;\n height: 100%;\n"]))),I=t.circle(b||(b=n(["\n stroke: ",";\n"],["\n stroke: ",";\n"])),(function(n){return n.theme.tokenColors.grey_200})),C=t.circle(x||(x=n(["\n stroke: ",";\n animation: ","\n 1s linear;\n"],["\n stroke: ",";\n animation: ","\n 1s linear;\n"])),(function(n){var t=n.$isSecondary,o=n.$barColor,e=n.theme.colors,r=e.circularProgress,i=e.circularProgressSecondary;return o||t?i:r}),(function(t){var o=t.$isSecondary,s=t.strokeDashoffset,a=t.$strokeDashoffsetInit;return o?function(t){var o=t.$strokeDashoffsetInit,r=t.strokeDashoffset;return e(i||(i=n(["\n 0% {\n stroke-dashoffset: "," ;\n }\n 100% {\n stroke-dashoffset: "," ;\n }\n"],["\n 0% {\n stroke-dashoffset: "," ;\n }\n 100% {\n stroke-dashoffset: "," ;\n }\n"])),o,r)}({strokeDashoffset:s,$strokeDashoffsetInit:a}):function(t){var o=t.$strokeDashoffsetInit,i=t.strokeDashoffset;return e(r||(r=n(["\n 0% {\n stroke-dashoffset: "," ;\n }\n 50% {\n stroke-dashoffset: "," ;\n }\n 100% {\n stroke-dashoffset: "," ;\n }\n"],["\n 0% {\n stroke-dashoffset: "," ;\n }\n 50% {\n stroke-dashoffset: "," ;\n }\n 100% {\n stroke-dashoffset: "," ;\n }\n"])),o,i,i)}({strokeDashoffset:s,$strokeDashoffsetInit:a})})),j=t.div(m||(m=n(["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n z-index: 2;\n font-size: ",";\n line-height: ",";\n text-align: center;\n height: 100%;\n color: ",";\n"],["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n z-index: 2;\n font-size: ",";\n line-height: ",";\n text-align: center;\n height: 100%;\n color: ",";\n"])),(function(n){return n.theme.fontSizes.l}),(function(n){return n.theme.fontSizes.l}),(function(n){return n.theme.colors.textDark}));export{B as CircleSvg,j as CircularValue,z as CircularWrapper,I as EmptyCircle,C as FullCircle,D as LineProgressBar,$ as LineProgressBarWrapper,v as ProgressBarWrapper,S as ScreenReaderOnly};
1
+ import e,{css as o,keyframes as t}from"styled-components";const r="16px",s=()=>t`
2
+ 0% {
3
+ width: 0px;
4
+ height: 0px;
5
+ opacity: 0;
6
+ }
7
+ 50% {
8
+ opacity: 1;
9
+ }
10
+ 100% {
11
+ opacity: 0;
12
+ width: 64px;
13
+ height: 64px;
14
+ right: -32px;
15
+ }
16
+ `,i=()=>t`
17
+ 0% {
18
+ transform: scale(1);
19
+ border-radius: 0px;
20
+
21
+ }
22
+ 50% {
23
+ transform:scale(1.025);
24
+ }
25
+ 100% {
26
+ transform: scale(1);
27
+ border-radius: 0px;
28
+ }
29
+ `,a=e.div`
30
+ margin-top: ${r};
31
+ `,n=e.div`
32
+ position: relative;
33
+ height: ${r};
34
+ margin-bottom: 0;
35
+ background-color: ${({theme:{colors:{progressBarBackground:e}}})=>e};
36
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
37
+
38
+ ${({$percentage:e,$secondaryPercentage:t})=>(100===e||100===t)&&o`
39
+ animation: ${i} 0.3s 0.5s 1 ease-out;
40
+ `}
41
+ `,h=e.div`
42
+ position: absolute;
43
+ left: 0;
44
+ height: ${r};
45
+ background-color: ${({$barColor:e,$isSecondary:o,theme:t})=>e||o?t.colors.progressBarSecondary:t.colors.progressBar};
46
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
47
+ transition: width 0.6s ease;
48
+ width: ${({$percentage:e})=>e}%;
49
+
50
+ &::before {
51
+ content: "";
52
+ display: inline-block;
53
+ position: absolute;
54
+ margin: auto;
55
+ position: absolute;
56
+ top: 0;
57
+ bottom: 0;
58
+ right: 0;
59
+ width: 0px;
60
+ height: 0px;
61
+ border-radius: 50%;
62
+ opacity: 0;
63
+ filter: blur(2px);
64
+ background-color: ${({$barColor:e,$isSecondary:o,theme:{colors:{progressBar:t,progressBarSecondary:r}}})=>e||o?r:t};
65
+
66
+ ${({$percentage:e})=>100===e&&o`
67
+ animation: ${s} 0.33s 0.75s 3 ease-in;
68
+ `}
69
+ }
70
+ `,c=e.span`
71
+ position: absolute;
72
+ width: 1px;
73
+ height: 1px;
74
+ padding: 0;
75
+ margin: -1px;
76
+ overflow: hidden;
77
+ clip: rect(0, 0, 0, 0);
78
+ border: 0;
79
+ `,d=e.div`
80
+ position: relative;
81
+ width: ${({$circleSize:e})=>e};
82
+ height: ${({$circleSize:e})=>e};
83
+ background: none;
84
+ margin: 0 auto;
85
+ box-shadow: none;
86
+ `,l=e.svg`
87
+ position: absolute;
88
+ transform: rotate(-90deg);
89
+ fill: none;
90
+ stroke-linecap: round;
91
+ width: 100%;
92
+ height: 100%;
93
+ `,p=e.circle`
94
+ stroke: ${({theme:e})=>e.tokenColors.grey_200};
95
+ `,f=e.circle`
96
+ stroke: ${({$isSecondary:e,$barColor:o,theme:{colors:{circularProgress:t,circularProgressSecondary:r}}})=>o||e?r:t};
97
+ animation: ${({$isSecondary:e,strokeDashoffset:o,$strokeDashoffsetInit:r})=>e?(({$strokeDashoffsetInit:e,strokeDashoffset:o})=>t`
98
+ 0% {
99
+ stroke-dashoffset: ${e} ;
100
+ }
101
+ 100% {
102
+ stroke-dashoffset: ${o} ;
103
+ }
104
+ `)({strokeDashoffset:o,$strokeDashoffsetInit:r}):(({$strokeDashoffsetInit:e,strokeDashoffset:o})=>t`
105
+ 0% {
106
+ stroke-dashoffset: ${e} ;
107
+ }
108
+ 50% {
109
+ stroke-dashoffset: ${o} ;
110
+ }
111
+ 100% {
112
+ stroke-dashoffset: ${o} ;
113
+ }
114
+ `)({strokeDashoffset:o,$strokeDashoffsetInit:r})}
115
+ 1s linear;
116
+ `,g=e.div`
117
+ position: absolute;
118
+ width: 100%;
119
+ height: 100%;
120
+ top: 0;
121
+ left: 0;
122
+ display: flex;
123
+ align-items: center;
124
+ justify-content: center;
125
+ border-radius: 50%;
126
+ z-index: 2;
127
+ font-size: ${({theme:{fontSizes:{l:e}}})=>e};
128
+ line-height: ${({theme:{fontSizes:{l:e}}})=>e};
129
+ text-align: center;
130
+ height: 100%;
131
+ color: ${({theme:{colors:{textDark:e}}})=>e};
132
+ `;export{l as CircleSvg,g as CircularValue,d as CircularWrapper,p as EmptyCircle,f as FullCircle,h as LineProgressBar,n as LineProgressBarWrapper,a as ProgressBarWrapper,c as ScreenReaderOnly};
2
133
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/ProgressBar/styles.ts"],"sourcesContent":["import styled, { css, keyframes } from \"styled-components\";\nimport { type ThemeType } from \"../../types\";\n\nconst BAR_HEIGHT = \"16px\";\n\ntype CircleKeyCircleFillKeyFramesProps = {\n $strokeDashoffsetInit: number;\n strokeDashoffset: number;\n};\n\nconst CircleFillKeyFrames = ({\n $strokeDashoffsetInit,\n strokeDashoffset,\n}: CircleKeyCircleFillKeyFramesProps) => keyframes`\n 0% {\n stroke-dashoffset: ${$strokeDashoffsetInit} ;\n }\n 50% {\n stroke-dashoffset: ${strokeDashoffset} ;\n }\n 100% {\n stroke-dashoffset: ${strokeDashoffset} ;\n }\n`;\n\nconst SecondaryCircleFillKeyFrames = ({\n $strokeDashoffsetInit,\n strokeDashoffset,\n}: CircleKeyCircleFillKeyFramesProps) => keyframes`\n 0% {\n stroke-dashoffset: ${$strokeDashoffsetInit} ;\n }\n 100% {\n stroke-dashoffset: ${strokeDashoffset} ;\n }\n`;\n\nconst TargetBarPulseKeyFrames = () => keyframes`\n 0% {\n width: 0px;\n height: 0px;\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n width: 64px;\n height: 64px;\n right: -32px;\n }\n`;\n\nconst LineBarPulseKeyFrames = () => keyframes`\n 0% {\n transform: scale(1);\n border-radius: 0px;\n\n }\n 50% {\n transform:scale(1.025);\n }\n 100% {\n transform: scale(1);\n border-radius: 0px;\n }\n`;\n\nexport const ProgressBarWrapper = styled.div`\n margin-top: ${BAR_HEIGHT};\n`;\n\nexport const LineProgressBarWrapper = styled.div<{\n $percentage: number;\n $secondaryPercentage: number;\n theme: ThemeType;\n}>`\n position: relative;\n height: ${BAR_HEIGHT};\n margin-bottom: 0;\n background-color: ${({\n theme: {\n colors: { progressBarBackground },\n },\n }) => progressBarBackground};\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n\n ${({ $percentage, $secondaryPercentage }) =>\n ($percentage === 100 || $secondaryPercentage === 100) &&\n css`\n animation: ${LineBarPulseKeyFrames} 0.3s 0.5s 1 ease-out;\n `}\n`;\n\nexport const LineProgressBar = styled.div<{\n $percentage: number;\n $barColor?: string;\n $isSecondary?: boolean;\n theme: ThemeType;\n}>`\n position: absolute;\n left: 0;\n height: ${BAR_HEIGHT};\n background-color: ${({ $barColor, $isSecondary, theme }) =>\n !!$barColor || !!$isSecondary\n ? theme.colors.progressBarSecondary\n : theme.colors.progressBar};\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n transition: width 0.6s ease;\n width: ${({ $percentage }) => $percentage}%;\n\n &::before {\n content: \"\";\n display: inline-block;\n position: absolute;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: 0px;\n height: 0px;\n border-radius: 50%;\n opacity: 0;\n filter: blur(2px);\n background-color: ${({\n $barColor,\n $isSecondary,\n theme: {\n colors: { progressBar, progressBarSecondary },\n },\n }) => ($barColor || $isSecondary ? progressBarSecondary : progressBar)};\n\n ${({ $percentage }) =>\n $percentage === 100 &&\n css`\n animation: ${TargetBarPulseKeyFrames} 0.33s 0.75s 3 ease-in;\n `}\n }\n`;\n\nexport const ScreenReaderOnly = styled.span`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n`;\n\nexport const CircularWrapper = styled.div<{\n $circleSize: string;\n theme: ThemeType;\n}>`\n position: relative;\n width: ${({ $circleSize }) => $circleSize};\n height: ${({ $circleSize }) => $circleSize};\n background: none;\n margin: 0 auto;\n box-shadow: none;\n`;\n\nexport const CircleSvg = styled.svg`\n position: absolute;\n transform: rotate(-90deg);\n fill: none;\n stroke-linecap: round;\n width: 100%;\n height: 100%;\n`;\n\nexport const EmptyCircle = styled.circle<{\n theme: ThemeType;\n}>`\n stroke: ${({ theme }) => theme.tokenColors.grey_200};\n`;\n\nexport const FullCircle = styled.circle<{\n strokeDashoffset: number;\n theme: ThemeType;\n $strokeDashoffsetInit: number;\n $barColor?: string;\n $isSecondary?: boolean;\n}>`\n stroke: ${({\n $isSecondary,\n $barColor,\n theme: {\n colors: { circularProgress, circularProgressSecondary },\n },\n }) =>\n $barColor || $isSecondary ? circularProgressSecondary : circularProgress};\n animation: ${({ $isSecondary, strokeDashoffset, $strokeDashoffsetInit }) =>\n $isSecondary\n ? SecondaryCircleFillKeyFrames({\n strokeDashoffset,\n $strokeDashoffsetInit,\n })\n : CircleFillKeyFrames({ strokeDashoffset, $strokeDashoffsetInit })}\n 1s linear;\n`;\n\nexport const CircularValue = styled.div<{\n theme: ThemeType;\n}>`\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n z-index: 2;\n font-size: ${({\n theme: {\n fontSizes: { l },\n },\n }) => l};\n line-height: ${({\n theme: {\n fontSizes: { l },\n },\n }) => l};\n text-align: center;\n height: 100%;\n color: ${({\n theme: {\n colors: { textDark },\n },\n }) => textDark};\n`;\n"],"names":["BAR_HEIGHT","TargetBarPulseKeyFrames","keyframes","templateObject_3","__makeTemplateObject","LineBarPulseKeyFrames","templateObject_4","ProgressBarWrapper","styled","div","templateObject_5","LineProgressBarWrapper","templateObject_7","_a","theme","colors","progressBarBackground","$percentage","$secondaryPercentage","css","templateObject_6","LineProgressBar","templateObject_9","$barColor","$isSecondary","progressBarSecondary","progressBar","_b","templateObject_8","ScreenReaderOnly","span","templateObject_10","CircularWrapper","templateObject_11","$circleSize","CircleSvg","svg","templateObject_12","EmptyCircle","circle","templateObject_13","tokenColors","grey_200","FullCircle","templateObject_14","circularProgress","circularProgressSecondary","strokeDashoffset","$strokeDashoffsetInit","templateObject_2","SecondaryCircleFillKeyFrames","templateObject_1","CircleFillKeyFrames","CircularValue","templateObject_15","fontSizes","l","textDark"],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/ProgressBar/styles.ts"],"sourcesContent":["import styled, { css, keyframes } from \"styled-components\";\nimport { type ThemeType } from \"../../types\";\n\nconst BAR_HEIGHT = \"16px\";\n\ntype CircleKeyCircleFillKeyFramesProps = {\n $strokeDashoffsetInit: number;\n strokeDashoffset: number;\n};\n\nconst CircleFillKeyFrames = ({\n $strokeDashoffsetInit,\n strokeDashoffset,\n}: CircleKeyCircleFillKeyFramesProps) => keyframes`\n 0% {\n stroke-dashoffset: ${$strokeDashoffsetInit} ;\n }\n 50% {\n stroke-dashoffset: ${strokeDashoffset} ;\n }\n 100% {\n stroke-dashoffset: ${strokeDashoffset} ;\n }\n`;\n\nconst SecondaryCircleFillKeyFrames = ({\n $strokeDashoffsetInit,\n strokeDashoffset,\n}: CircleKeyCircleFillKeyFramesProps) => keyframes`\n 0% {\n stroke-dashoffset: ${$strokeDashoffsetInit} ;\n }\n 100% {\n stroke-dashoffset: ${strokeDashoffset} ;\n }\n`;\n\nconst TargetBarPulseKeyFrames = () => keyframes`\n 0% {\n width: 0px;\n height: 0px;\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n width: 64px;\n height: 64px;\n right: -32px;\n }\n`;\n\nconst LineBarPulseKeyFrames = () => keyframes`\n 0% {\n transform: scale(1);\n border-radius: 0px;\n\n }\n 50% {\n transform:scale(1.025);\n }\n 100% {\n transform: scale(1);\n border-radius: 0px;\n }\n`;\n\nexport const ProgressBarWrapper = styled.div`\n margin-top: ${BAR_HEIGHT};\n`;\n\nexport const LineProgressBarWrapper = styled.div<{\n $percentage: number;\n $secondaryPercentage: number;\n theme: ThemeType;\n}>`\n position: relative;\n height: ${BAR_HEIGHT};\n margin-bottom: 0;\n background-color: ${({\n theme: {\n colors: { progressBarBackground },\n },\n }) => progressBarBackground};\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n\n ${({ $percentage, $secondaryPercentage }) =>\n ($percentage === 100 || $secondaryPercentage === 100) &&\n css`\n animation: ${LineBarPulseKeyFrames} 0.3s 0.5s 1 ease-out;\n `}\n`;\n\nexport const LineProgressBar = styled.div<{\n $percentage: number;\n $barColor?: string;\n $isSecondary?: boolean;\n theme: ThemeType;\n}>`\n position: absolute;\n left: 0;\n height: ${BAR_HEIGHT};\n background-color: ${({ $barColor, $isSecondary, theme }) =>\n !!$barColor || !!$isSecondary\n ? theme.colors.progressBarSecondary\n : theme.colors.progressBar};\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n transition: width 0.6s ease;\n width: ${({ $percentage }) => $percentage}%;\n\n &::before {\n content: \"\";\n display: inline-block;\n position: absolute;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: 0px;\n height: 0px;\n border-radius: 50%;\n opacity: 0;\n filter: blur(2px);\n background-color: ${({\n $barColor,\n $isSecondary,\n theme: {\n colors: { progressBar, progressBarSecondary },\n },\n }) => ($barColor || $isSecondary ? progressBarSecondary : progressBar)};\n\n ${({ $percentage }) =>\n $percentage === 100 &&\n css`\n animation: ${TargetBarPulseKeyFrames} 0.33s 0.75s 3 ease-in;\n `}\n }\n`;\n\nexport const ScreenReaderOnly = styled.span`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n`;\n\nexport const CircularWrapper = styled.div<{\n $circleSize: string;\n theme: ThemeType;\n}>`\n position: relative;\n width: ${({ $circleSize }) => $circleSize};\n height: ${({ $circleSize }) => $circleSize};\n background: none;\n margin: 0 auto;\n box-shadow: none;\n`;\n\nexport const CircleSvg = styled.svg`\n position: absolute;\n transform: rotate(-90deg);\n fill: none;\n stroke-linecap: round;\n width: 100%;\n height: 100%;\n`;\n\nexport const EmptyCircle = styled.circle<{\n theme: ThemeType;\n}>`\n stroke: ${({ theme }) => theme.tokenColors.grey_200};\n`;\n\nexport const FullCircle = styled.circle<{\n strokeDashoffset: number;\n theme: ThemeType;\n $strokeDashoffsetInit: number;\n $barColor?: string;\n $isSecondary?: boolean;\n}>`\n stroke: ${({\n $isSecondary,\n $barColor,\n theme: {\n colors: { circularProgress, circularProgressSecondary },\n },\n }) =>\n $barColor || $isSecondary ? circularProgressSecondary : circularProgress};\n animation: ${({ $isSecondary, strokeDashoffset, $strokeDashoffsetInit }) =>\n $isSecondary\n ? SecondaryCircleFillKeyFrames({\n strokeDashoffset,\n $strokeDashoffsetInit,\n })\n : CircleFillKeyFrames({ strokeDashoffset, $strokeDashoffsetInit })}\n 1s linear;\n`;\n\nexport const CircularValue = styled.div<{\n theme: ThemeType;\n}>`\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n z-index: 2;\n font-size: ${({\n theme: {\n fontSizes: { l },\n },\n }) => l};\n line-height: ${({\n theme: {\n fontSizes: { l },\n },\n }) => l};\n text-align: center;\n height: 100%;\n color: ${({\n theme: {\n colors: { textDark },\n },\n }) => textDark};\n`;\n"],"names":["BAR_HEIGHT","TargetBarPulseKeyFrames","keyframes","LineBarPulseKeyFrames","ProgressBarWrapper","styled","div","LineProgressBarWrapper","theme","colors","progressBarBackground","$percentage","$secondaryPercentage","css","LineProgressBar","$barColor","$isSecondary","progressBarSecondary","progressBar","ScreenReaderOnly","span","CircularWrapper","$circleSize","CircleSvg","svg","EmptyCircle","circle","tokenColors","grey_200","FullCircle","circularProgress","circularProgressSecondary","strokeDashoffset","$strokeDashoffsetInit","SecondaryCircleFillKeyFrames","CircleFillKeyFrames","CircularValue","fontSizes","l","textDark"],"mappings":"0DAGA,MAAMA,EAAa,OAkCbC,EAA0B,IAAMC,CAAS;;;;;;;;;;;;;;;EAiBzCC,EAAwB,IAAMD,CAAS;;;;;;;;;;;;;EAehCE,EAAqBC,EAAOC,GAAG;gBAC5BN;EAGHO,EAAyBF,EAAOC,GAI3C;;YAEUN;;sBAEU,EAClBQ,OACEC,QAAUC,6BAERA;;;IAGJ,EAAGC,cAAaC,2BACC,MAAhBD,GAAgD,MAAzBC,IACxBC,CAAG;mBACYV;;EAINW,EAAkBT,EAAOC,GAKpC;;;YAGUN;sBACU,EAAGe,YAAWC,eAAcR,WAC5CO,GAAeC,EACbR,EAAMC,OAAOQ,qBACbT,EAAMC,OAAOS;;;WAGV,EAAGP,iBAAkBA;;;;;;;;;;;;;;;;wBAgBR,EAClBI,YACAC,eACAR,OACEC,QAAUS,cAAaD,4BAEpBF,GAAaC,EAAeC,EAAuBC;;MAExD,EAAGP,iBACa,MAAhBA,GACAE,CAAG;qBACYZ;;;EAKRkB,EAAmBd,EAAOe,IAAI;;;;;;;;;EAW9BC,EAAkBhB,EAAOC,GAGpC;;WAES,EAAGgB,iBAAkBA;YACpB,EAAGA,iBAAkBA;;;;EAMpBC,EAAYlB,EAAOmB,GAAG;;;;;;;EAStBC,EAAcpB,EAAOqB,MAEhC;YACU,EAAGlB,WAAYA,EAAMmB,YAAYC;EAGhCC,EAAaxB,EAAOqB,MAM/B;YACU,EACRV,eACAD,YACAP,OACEC,QAAUqB,mBAAkBC,iCAG9BhB,GAAaC,EAAee,EAA4BD;eAC7C,EAAGd,eAAcgB,mBAAkBC,2BAC5CjB,EA3K+B,GACnCiB,wBACAD,sBACuC9B,CAAS;;0BAExB+B;;;0BAGAD;;EAoKhBE,CAA6B,CAC3BF,mBACAC,0BA7LgB,GAC1BA,wBACAD,sBACuC9B,CAAS;;0BAExB+B;;;0BAGAD;;;0BAGAA;;EAoLhBG,CAAoB,CAAEH,mBAAkBC;;EAIrCG,EAAgB/B,EAAOC,GAElC;;;;;;;;;;;eAWa,EACXE,OACE6B,WAAaC,SAEXA;iBACS,EACb9B,OACE6B,WAAaC,SAEXA;;;WAGG,EACP9B,OACEC,QAAU8B,gBAERA;"}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import { StoryObj } from "@storybook/react";
3
- import Radio, { RadioProps } from ".";
2
+ import { type StoryObj } from "@storybook/react";
3
+ import Radio, { type RadioProps } from ".";
4
4
  declare const _default: {
5
5
  title: string;
6
- component: React.ForwardRefExoticComponent<Omit<RadioProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
6
+ component: (props: RadioProps) => React.JSX.Element;
7
7
  args: {
8
8
  id: string;
9
9
  value: string;
@@ -1,6 +1,6 @@
1
- import React, { type InputHTMLAttributes, type Ref, type ReactNode, type LegacyRef } from "react";
1
+ import React, { type InputHTMLAttributes, type Ref, type ReactNode } from "react";
2
2
  export type RadioProps = InputHTMLAttributes<HTMLInputElement> & {
3
- ref?: Ref<HTMLInputElement> | LegacyRef<HTMLInputElement>;
3
+ ref?: Ref<HTMLInputElement>;
4
4
  /** flag for error styling */
5
5
  hasError?: boolean;
6
6
  /** error message text */
@@ -12,5 +12,5 @@ export type RadioProps = InputHTMLAttributes<HTMLInputElement> & {
12
12
  *
13
13
  * The value or children becomes the label, if you want an outer label for a radio or group of radios please use a LegendWrapper component
14
14
  */
15
- export declare const Radio: React.ForwardRefExoticComponent<Omit<RadioProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
15
+ export declare const Radio: (props: RadioProps) => React.JSX.Element;
16
16
  export default Radio;
@@ -1,2 +1,2 @@
1
- import{__assign as e,__rest as r}from"../../../node_modules/tslib/tslib.es6.js";import s,{forwardRef as t}from"react";import{useTheme as a,ThemeProvider as o}from"styled-components";import{crukTheme as l}from"../../themes/cruk.js";import{ErrorText as i}from"../ErrorText/index.js";import{StyledLabel as d,StyledInput as m,SelectedBorder as n,CheckWrapper as c,Check as u,VerticalAlign as E}from"./styles.js";var h=t((function(t,h){var f=a(),p=e(e({},l),f);t.children,t.hasError,t.errorMessage;var b=r(t,["children","hasError","errorMessage"]);return s.createElement(o,{theme:p},s.createElement(d,{$hasError:t.hasError||!!t.errorMessage||!1,className:t.className,$checked:t.checked||!1,$disabled:t.disabled||!1},s.createElement(m,e({},b,{disabled:t.disabled||!1,type:"radio",ref:h,"aria-describedby":t.id&&t.errorMessage?"".concat(t.id,"-error"):void 0})),s.createElement(n,null),p.utilities.useDefaultFromControls?null:s.createElement(c,null,s.createElement(u,null)),s.createElement(E,null,t.children||t.value)),!!t.errorMessage&&s.createElement(i,{marginTop:"xxs",id:t.id?"".concat(t.id,"-error"):void 0},t.errorMessage))}));export{h as Radio,h as default};
1
+ import e from"react";import{useTheme as r,ThemeProvider as t}from"styled-components";import{crukTheme as s}from"../../themes/cruk.js";import{ErrorText as a}from"../ErrorText/index.js";import{StyledLabel as l,StyledInput as o,SelectedBorder as i,CheckWrapper as d,Check as m,VerticalAlign as n}from"./styles.js";const c=c=>{const u=r(),E={...s,...u},{children:f,hasError:h,errorMessage:p,ref:b,...g}=c;return e.createElement(t,{theme:E},e.createElement(l,{$hasError:c.hasError||!!c.errorMessage||!1,className:c.className,$checked:c.checked||!1,$disabled:c.disabled||!1},e.createElement(o,{...g,disabled:c.disabled||!1,type:"radio",ref:b,"aria-describedby":c.id&&c.errorMessage?`${c.id}-error`:void 0}),e.createElement(i,null),E.utilities.useDefaultFromControls?null:e.createElement(d,null,e.createElement(m,null)),e.createElement(n,null,c.children||c.value)),!!c.errorMessage&&e.createElement(a,{marginTop:"xxs",id:c.id?`${c.id}-error`:void 0},c.errorMessage))};export{c as Radio,c as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Radio/index.tsx"],"sourcesContent":["import React, {\n type InputHTMLAttributes,\n type Ref,\n forwardRef,\n type ReactNode,\n type LegacyRef,\n} from \"react\";\nimport { useTheme, ThemeProvider } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\nimport { ErrorText } from \"../ErrorText\";\n\nimport {\n StyledLabel,\n StyledInput,\n SelectedBorder,\n CheckWrapper,\n Check,\n VerticalAlign,\n} from \"./styles\";\n\nexport type RadioProps = InputHTMLAttributes<HTMLInputElement> & {\n ref?: Ref<HTMLInputElement> | LegacyRef<HTMLInputElement>;\n /** flag for error styling */\n hasError?: boolean;\n /** error message text */\n errorMessage?: string;\n children?: ReactNode;\n};\n\n/**\n * A single radio button which should be part of a field set of radio buttons\n *\n * The value or children becomes the label, if you want an outer label for a radio or group of radios please use a LegendWrapper component\n */\nexport const Radio = forwardRef(\n (props: RadioProps, ref?: Ref<HTMLInputElement>) => {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { children, hasError, errorMessage, ...rest } = props;\n return (\n <ThemeProvider theme={theme}>\n <StyledLabel\n $hasError={props.hasError || !!props.errorMessage || false}\n className={props.className}\n $checked={props.checked || false}\n $disabled={props.disabled || false}\n >\n <StyledInput\n {...rest}\n disabled={props.disabled || false}\n type=\"radio\"\n ref={ref}\n aria-describedby={\n !!props.id && !!props.errorMessage\n ? `${props.id}-error`\n : undefined\n }\n />\n <SelectedBorder />\n {theme.utilities.useDefaultFromControls ? null : (\n <CheckWrapper>\n <Check />\n </CheckWrapper>\n )}\n <VerticalAlign>{props.children || props.value}</VerticalAlign>\n </StyledLabel>\n {!!props.errorMessage && (\n <ErrorText\n marginTop=\"xxs\"\n id={props.id ? `${props.id}-error` : undefined}\n >\n {props.errorMessage}\n </ErrorText>\n )}\n </ThemeProvider>\n );\n },\n);\n\nexport default Radio;\n"],"names":["Radio","forwardRef","props","ref","foundTheme","useTheme","theme","__assign","defaultTheme","children","hasError","rest","React","createElement","ThemeProvider","StyledLabel","$hasError","errorMessage","className","$checked","checked","$disabled","disabled","StyledInput","type","id","concat","undefined","SelectedBorder","utilities","useDefaultFromControls","CheckWrapper","Check","VerticalAlign","value","ErrorText","marginTop"],"mappings":"4ZAmCaA,EAAQC,GACnB,SAACC,EAAmBC,GAClB,IAAMC,EAAaC,IACbC,EACDC,EAAAA,EAAA,CAAA,EAAAC,GACAJ,GAGiDF,EAAKO,SAALP,EAA5BQ,SAA4BR,eAAT,IAAAS,IAAST,EAAhD,CAA6C,WAAA,WAAA,iBACnD,OACEU,EAACC,cAAAC,EAAc,CAAAR,MAAOA,GACpBM,EAAAC,cAACE,EAAW,CAAAC,UACCd,EAAMQ,YAAcR,EAAMe,eAAgB,EACrDC,UAAWhB,EAAMgB,UACPC,SAAAjB,EAAMkB,UAAW,EAChBC,UAAAnB,EAAMoB,WAAY,GAE7BV,EAAAC,cAACU,EAAWhB,EAAA,CAAA,EACNI,EAAI,CACRW,SAAUpB,EAAMoB,WAAY,EAC5BE,KAAK,QACLrB,IAAKA,EAEH,mBAAED,EAAMuB,IAAQvB,EAAMe,aAClB,GAAAS,OAAGxB,EAAMuB,GAAU,eACnBE,KAGRf,EAAAC,cAACe,EAAiB,MACjBtB,EAAMuB,UAAUC,uBAAyB,KACxClB,gBAACmB,EAAY,KACXnB,EAACC,cAAAmB,EAAQ,OAGbpB,EAACC,cAAAoB,EAAe,KAAA/B,EAAMO,UAAYP,EAAMgC,UAEvChC,EAAMe,cACPL,EAACC,cAAAsB,EACC,CAAAC,UAAU,MACVX,GAAIvB,EAAMuB,GAAK,UAAGvB,EAAMuB,GAAE,eAAWE,GAEpCzB,EAAMe,cAKjB"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Radio/index.tsx"],"sourcesContent":["import React, {\n type InputHTMLAttributes,\n type Ref,\n type ReactNode,\n} from \"react\";\nimport { useTheme, ThemeProvider } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\nimport { ErrorText } from \"../ErrorText\";\n\nimport {\n StyledLabel,\n StyledInput,\n SelectedBorder,\n CheckWrapper,\n Check,\n VerticalAlign,\n} from \"./styles\";\n\nexport type RadioProps = InputHTMLAttributes<HTMLInputElement> & {\n ref?: Ref<HTMLInputElement>;\n /** flag for error styling */\n hasError?: boolean;\n /** error message text */\n errorMessage?: string;\n children?: ReactNode;\n};\n\n/**\n * A single radio button which should be part of a field set of radio buttons\n *\n * The value or children becomes the label, if you want an outer label for a radio or group of radios please use a LegendWrapper component\n */\nexport const Radio = (props: RadioProps) => {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { children, hasError, errorMessage, ref, ...rest } = props;\n return (\n <ThemeProvider theme={theme}>\n <StyledLabel\n $hasError={props.hasError || !!props.errorMessage || false}\n className={props.className}\n $checked={props.checked || false}\n $disabled={props.disabled || false}\n >\n <StyledInput\n {...rest}\n disabled={props.disabled || false}\n type=\"radio\"\n ref={ref}\n aria-describedby={\n !!props.id && !!props.errorMessage ? `${props.id}-error` : undefined\n }\n />\n <SelectedBorder />\n {theme.utilities.useDefaultFromControls ? null : (\n <CheckWrapper>\n <Check />\n </CheckWrapper>\n )}\n <VerticalAlign>{props.children || props.value}</VerticalAlign>\n </StyledLabel>\n {!!props.errorMessage && (\n <ErrorText\n marginTop=\"xxs\"\n id={props.id ? `${props.id}-error` : undefined}\n >\n {props.errorMessage}\n </ErrorText>\n )}\n </ThemeProvider>\n );\n};\n\nexport default Radio;\n"],"names":["Radio","props","foundTheme","useTheme","theme","defaultTheme","children","hasError","errorMessage","ref","rest","React","createElement","ThemeProvider","StyledLabel","$hasError","className","$checked","checked","$disabled","disabled","StyledInput","type","id","undefined","SelectedBorder","utilities","useDefaultFromControls","CheckWrapper","Check","VerticalAlign","value","ErrorText","marginTop"],"mappings":"uTAiCa,MAAAA,EAASC,IACpB,MAAMC,EAAaC,IACbC,EAAQ,IACTC,KACAH,IAGCI,SAAEA,EAAQC,SAAEA,EAAQC,aAAEA,EAAYC,IAAEA,KAAQC,GAAST,EAC3D,OACEU,EAACC,cAAAC,EAAc,CAAAT,MAAOA,GACpBO,EAAAC,cAACE,EAAW,CAAAC,UACCd,EAAMM,YAAcN,EAAMO,eAAgB,EACrDQ,UAAWf,EAAMe,UACPC,SAAAhB,EAAMiB,UAAW,EAChBC,UAAAlB,EAAMmB,WAAY,GAE7BT,EAAAC,cAACS,EACK,IAAAX,EACJU,SAAUnB,EAAMmB,WAAY,EAC5BE,KAAK,QACLb,IAAKA,EAEH,mBAAER,EAAMsB,IAAQtB,EAAMO,aAAe,GAAGP,EAAMsB,gBAAaC,IAG/Db,EAAAC,cAACa,EAAiB,MACjBrB,EAAMsB,UAAUC,uBAAyB,KACxChB,gBAACiB,EAAY,KACXjB,EAACC,cAAAiB,EAAQ,OAGblB,EAACC,cAAAkB,EAAe,KAAA7B,EAAMK,UAAYL,EAAM8B,UAEvC9B,EAAMO,cACPG,EAACC,cAAAoB,EACC,CAAAC,UAAU,MACVV,GAAItB,EAAMsB,GAAK,GAAGtB,EAAMsB,gBAAaC,GAEpCvB,EAAMO,cAGG"}
@@ -1,2 +1,126 @@
1
- import{__makeTemplateObject as n}from"../../../node_modules/tslib/tslib.es6.js";import o,{css as e}from"styled-components";var i,t,r,l,a,s,c,d,b,h="1.5rem",p="0.75rem",g=o.div(i||(i=n(["\n display: inline-block;\n height: ",";\n width: ",";\n position: absolute;\n top: calc(50% - ("," / 2));\n left: ",";\n"],["\n display: inline-block;\n height: ",";\n width: ",";\n position: absolute;\n top: calc(50% - ("," / 2));\n left: ",";\n"])),h,h,h,(function(n){return n.theme.spacing.xs})),u=o.span(t||(t=n(["\n display: block;\n position: relative;\n border: 2px solid ",";\n pointer-events: none;\n border-radius: 100%;\n height: ",";\n width: ",';\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 5;\n transition:\n border 0.25s linear,\n box-shadow 0.25s linear;\n\n &:before {\n display: block;\n position: absolute;\n content: "";\n border-radius: 100%;\n pointer-events: none;\n height: ',";\n width: ",";\n top: calc(50% - ("," / 2));\n left: calc(50% - ("," / 2));\n margin: auto;\n background-color: rgba(255, 255, 255, 0);\n transition: background-color 0.25s linear;\n }\n"],["\n display: block;\n position: relative;\n border: 2px solid ",";\n pointer-events: none;\n border-radius: 100%;\n height: ",";\n width: ",';\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 5;\n transition:\n border 0.25s linear,\n box-shadow 0.25s linear;\n\n &:before {\n display: block;\n position: absolute;\n content: "";\n border-radius: 100%;\n pointer-events: none;\n height: ',";\n width: ",";\n top: calc(50% - ("," / 2));\n left: calc(50% - ("," / 2));\n margin: auto;\n background-color: rgba(255, 255, 255, 0);\n transition: background-color 0.25s linear;\n }\n"])),(function(n){return n.theme.colors.selectionBorder}),h,h,p,p,p,p),f=o.label(l||(l=n(["\n box-sizing: border-box;\n *,\n *:after,\n *:before {\n box-sizing: border-box;\n }\n line-height: ",";\n font-size: ",";\n font-family: ",";\n\n background-color: ",";\n width: 100%;\n position: relative;\n\n cursor: ",";\n display: inline-block;\n\n color: ",";\n padding: ",";\n vertical-align: middle;\n\n ","\n"],["\n box-sizing: border-box;\n *,\n *:after,\n *:before {\n box-sizing: border-box;\n }\n line-height: ",";\n font-size: ",";\n font-family: ",";\n\n background-color: ",";\n width: 100%;\n position: relative;\n\n cursor: ",";\n display: inline-block;\n\n color: ",";\n padding: ",";\n vertical-align: middle;\n\n ","\n"])),(function(n){return n.theme.typography.lineHeight}),(function(n){return n.theme.typography.fontSizeBase}),(function(n){return n.theme.typography.fontFamilyBase}),(function(n){return n.theme.colors.backgroundLight}),(function(n){return n.$disabled?"not-allowed":"pointer"}),(function(n){var o=n.theme;return n.$disabled?o.colors.disabled:o.colors.textDark}),(function(n){var o=n.theme;return"calc( (".concat("3em"," - ( ").concat(o.utilities.inputBorderWidth," * 2) - ").concat(o.typography.lineHeight," ) / 2) ").concat(o.spacing.m," calc( (").concat("3em"," - ( ").concat(o.utilities.inputBorderWidth," * 2) - ").concat(o.typography.lineHeight," ) / 2) ").concat(o.spacing.xl)}),(function(o){var i=o.theme,t=o.$disabled,l=o.$checked,a=o.$hasError;return i.utilities.useDefaultFromControls?null:e(r||(r=n(["\n min-height: 2rem;\n\n "," "," {\n border: solid 2px\n ",";\n &:before {\n background-color: ",";\n }\n }\n\n &:hover "," "," {\n border: solid 2px\n ",";\n }\n "],["\n min-height: 2rem;\n\n "," "," {\n border: solid 2px\n ",";\n &:before {\n background-color: ",";\n }\n }\n\n &:hover "," "," {\n border: solid 2px\n ",";\n }\n "])),g,u,t?i.colors.disabled:a?i.colors.danger:l?i.colors.check:i.colors.inputBorder,l?i.colors.check:"rgba(255, 255, 255, 0)",g,u,t?i.colors.disabled:i.colors.check)})),m=o.span(a||(a=n(["\n display: inline;\n vertical-align: middle;\n line-height: 100%;\n background-color: ",";\n min-height: 2em;\n z-index: 1;\n"],["\n display: inline;\n vertical-align: middle;\n line-height: 100%;\n background-color: ",";\n min-height: 2em;\n z-index: 1;\n"])),(function(n){return n.theme.colors.backgroundLight})),x=o.div(s||(s=n(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(255, 255, 255, 0);\n z-index: 0;\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(255, 255, 255, 0);\n z-index: 0;\n"]))),k=o.input(b||(b=n(["\n *,\n *:after,\n *:before {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n margin-right: ",";\n\n ","\n"],["\n *,\n *:after,\n *:before {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n margin-right: ",";\n\n ","\n"])),(function(n){return n.theme.spacing.xxs}),(function(o){var i=o.theme,t=o.disabled;return i.utilities.useDefaultFromControls?e(c||(c=n(["\n position: absolute;\n display: inline-block;\n transform: translate(-50%, -50%);\n top: 50%;\n margin: 0;\n padding: 0;\n left: ",";\n "],["\n position: absolute;\n display: inline-block;\n transform: translate(-50%, -50%);\n top: 50%;\n margin: 0;\n padding: 0;\n left: ",";\n "])),i.spacing.s):e(d||(d=n(["\n position: absolute;\n left: ",";\n opacity: 0;\n\n &:focus ~ "," {\n outline: none !important;\n box-shadow: inset 0 0 0 2px ",";\n box-shadow: inset 0 0 0 2px -webkit-focus-ring-color;\n }\n\n &:checked ~ "," ","::before {\n background: ",";\n }\n "],["\n position: absolute;\n left: ",";\n opacity: 0;\n\n &:focus ~ "," {\n outline: none !important;\n box-shadow: inset 0 0 0 2px ",";\n box-shadow: inset 0 0 0 2px -webkit-focus-ring-color;\n }\n\n &:checked ~ "," ","::before {\n background: ",";\n }\n "])),i.spacing.xxs,x,i.colors.inputBorder,g,u,t?i.colors.disabled:i.colors.check)}));export{u as Check,g as CheckWrapper,x as SelectedBorder,k as StyledInput,f as StyledLabel,m as VerticalAlign};
1
+ import o,{css as e}from"styled-components";const i="1.5rem",t="0.75rem",r=o.div`
2
+ display: inline-block;
3
+ height: ${i};
4
+ width: ${i};
5
+ position: absolute;
6
+ top: calc(50% - (${i} / 2));
7
+ left: ${({theme:{spacing:{xs:o}}})=>o};
8
+ `,l=o.span`
9
+ display: block;
10
+ position: relative;
11
+ border: 2px solid ${({theme:o})=>o.colors.selectionBorder};
12
+ pointer-events: none;
13
+ border-radius: 100%;
14
+ height: ${i};
15
+ width: ${i};
16
+ top: 0;
17
+ bottom: 0;
18
+ left: 0;
19
+ right: 0;
20
+ z-index: 5;
21
+ transition:
22
+ border 0.25s linear,
23
+ box-shadow 0.25s linear;
24
+
25
+ &:before {
26
+ display: block;
27
+ position: absolute;
28
+ content: "";
29
+ border-radius: 100%;
30
+ pointer-events: none;
31
+ height: ${t};
32
+ width: ${t};
33
+ top: calc(50% - (${t} / 2));
34
+ left: calc(50% - (${t} / 2));
35
+ margin: auto;
36
+ background-color: rgba(255, 255, 255, 0);
37
+ transition: background-color 0.25s linear;
38
+ }
39
+ `,n=o.label`
40
+ box-sizing: border-box;
41
+ *,
42
+ *:after,
43
+ *:before {
44
+ box-sizing: border-box;
45
+ }
46
+ line-height: ${({theme:o})=>o.typography.lineHeight};
47
+ font-size: ${({theme:o})=>o.typography.fontSizeBase};
48
+ font-family: ${({theme:o})=>o.typography.fontFamilyBase};
49
+
50
+ background-color: ${({theme:o})=>o.colors.backgroundLight};
51
+ width: 100%;
52
+ position: relative;
53
+
54
+ cursor: ${({$disabled:o})=>o?"not-allowed":"pointer"};
55
+ display: inline-block;
56
+
57
+ color: ${({theme:o,$disabled:e})=>e?o.colors.disabled:o.colors.textDark};
58
+ padding: ${({theme:o})=>`calc( (3em - ( ${o.utilities.inputBorderWidth} * 2) - ${o.typography.lineHeight} ) / 2) ${o.spacing.m} calc( (3em - ( ${o.utilities.inputBorderWidth} * 2) - ${o.typography.lineHeight} ) / 2) ${o.spacing.xl}`};
59
+ vertical-align: middle;
60
+
61
+ ${({theme:o,$disabled:i,$checked:t,$hasError:n})=>o.utilities.useDefaultFromControls?null:e`
62
+ min-height: 2rem;
63
+
64
+ ${r} ${l} {
65
+ border: solid 2px
66
+ ${i?o.colors.disabled:n?o.colors.danger:t?o.colors.check:o.colors.inputBorder};
67
+ &:before {
68
+ background-color: ${t?o.colors.check:"rgba(255, 255, 255, 0)"};
69
+ }
70
+ }
71
+
72
+ &:hover ${r} ${l} {
73
+ border: solid 2px
74
+ ${i?o.colors.disabled:o.colors.check};
75
+ }
76
+ `}
77
+ `,s=o.span`
78
+ display: inline;
79
+ vertical-align: middle;
80
+ line-height: 100%;
81
+ background-color: ${({theme:o})=>o.colors.backgroundLight};
82
+ min-height: 2em;
83
+ z-index: 1;
84
+ `,a=o.div`
85
+ position: absolute;
86
+ top: 0;
87
+ left: 0;
88
+ width: 100%;
89
+ height: 100%;
90
+ background-color: rgba(255, 255, 255, 0);
91
+ z-index: 0;
92
+ `,d=o.input`
93
+ *,
94
+ *:after,
95
+ *:before {
96
+ -webkit-box-sizing: border-box;
97
+ -moz-box-sizing: border-box;
98
+ box-sizing: border-box;
99
+ }
100
+ margin-right: ${({theme:{spacing:{xxs:o}}})=>o};
101
+
102
+ ${({theme:o,disabled:i})=>o.utilities.useDefaultFromControls?e`
103
+ position: absolute;
104
+ display: inline-block;
105
+ transform: translate(-50%, -50%);
106
+ top: 50%;
107
+ margin: 0;
108
+ padding: 0;
109
+ left: ${o.spacing.s};
110
+ `:e`
111
+ position: absolute;
112
+ left: ${o.spacing.xxs};
113
+ opacity: 0;
114
+
115
+ &:focus ~ ${a} {
116
+ outline: none !important;
117
+ box-shadow: inset 0 0 0 2px ${o.colors.inputBorder};
118
+ box-shadow: inset 0 0 0 2px -webkit-focus-ring-color;
119
+ }
120
+
121
+ &:checked ~ ${r} ${l}::before {
122
+ background: ${i?o.colors.disabled:o.colors.check};
123
+ }
124
+ `}
125
+ `;export{l as Check,r as CheckWrapper,a as SelectedBorder,d as StyledInput,n as StyledLabel,s as VerticalAlign};
2
126
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/Radio/styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport { type ThemeType } from \"../../types\";\n\nconst RADIO_SIZE = \"1.5rem\";\nconst RADIO_INNER_SIZE = \"0.75rem\";\nconst BUTTON_HEIGHT = \"3em\";\n\nexport const CheckWrapper = styled.div<{\n theme: ThemeType;\n}>`\n display: inline-block;\n height: ${RADIO_SIZE};\n width: ${RADIO_SIZE};\n position: absolute;\n top: calc(50% - (${RADIO_SIZE} / 2));\n left: ${({\n theme: {\n spacing: { xs },\n },\n }) => xs};\n`;\n\nexport const Check = styled.span<{\n theme: ThemeType;\n}>`\n display: block;\n position: relative;\n border: 2px solid ${({ theme }) => theme.colors.selectionBorder};\n pointer-events: none;\n border-radius: 100%;\n height: ${RADIO_SIZE};\n width: ${RADIO_SIZE};\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 5;\n transition:\n border 0.25s linear,\n box-shadow 0.25s linear;\n\n &:before {\n display: block;\n position: absolute;\n content: \"\";\n border-radius: 100%;\n pointer-events: none;\n height: ${RADIO_INNER_SIZE};\n width: ${RADIO_INNER_SIZE};\n top: calc(50% - (${RADIO_INNER_SIZE} / 2));\n left: calc(50% - (${RADIO_INNER_SIZE} / 2));\n margin: auto;\n background-color: rgba(255, 255, 255, 0);\n transition: background-color 0.25s linear;\n }\n`;\n\nexport const StyledLabel = styled.label<{\n $hasError: boolean;\n $disabled: boolean;\n $checked: boolean;\n theme: ThemeType;\n}>`\n box-sizing: border-box;\n *,\n *:after,\n *:before {\n box-sizing: border-box;\n }\n line-height: ${({ theme }) => theme.typography.lineHeight};\n font-size: ${({ theme }) => theme.typography.fontSizeBase};\n font-family: ${({ theme }) => theme.typography.fontFamilyBase};\n\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n width: 100%;\n position: relative;\n\n cursor: ${({ $disabled }) => ($disabled ? \"not-allowed\" : \"pointer\")};\n display: inline-block;\n\n color: ${({ theme, $disabled }) =>\n $disabled ? theme.colors.disabled : theme.colors.textDark};\n padding: ${({ theme }) =>\n `calc( (${BUTTON_HEIGHT} - ( ${theme.utilities.inputBorderWidth} * 2) - ${theme.typography.lineHeight} ) / 2) ${theme.spacing.m} calc( (${BUTTON_HEIGHT} - ( ${theme.utilities.inputBorderWidth} * 2) - ${theme.typography.lineHeight} ) / 2) ${theme.spacing.xl}`};\n vertical-align: middle;\n\n ${({ theme, $disabled: isDisabled, $checked, $hasError }) =>\n theme.utilities.useDefaultFromControls\n ? null\n : css`\n min-height: 2rem;\n\n ${CheckWrapper} ${Check} {\n border: solid 2px\n ${isDisabled\n ? theme.colors.disabled\n : $hasError\n ? theme.colors.danger\n : $checked\n ? theme.colors.check\n : theme.colors.inputBorder};\n &:before {\n background-color: ${$checked\n ? theme.colors.check\n : `rgba(255, 255, 255, 0)`};\n }\n }\n\n &:hover ${CheckWrapper} ${Check} {\n border: solid 2px\n ${isDisabled ? theme.colors.disabled : theme.colors.check};\n }\n `}\n`;\n\nexport const VerticalAlign = styled.span<{\n theme: ThemeType;\n}>`\n display: inline;\n vertical-align: middle;\n line-height: 100%;\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n min-height: 2em;\n z-index: 1;\n`;\n\nexport const SelectedBorder = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(255, 255, 255, 0);\n z-index: 0;\n`;\n\nexport const StyledInput = styled.input<{\n disabled: boolean;\n theme: ThemeType;\n}>`\n *,\n *:after,\n *:before {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n margin-right: ${({\n theme: {\n spacing: { xxs },\n },\n }) => xxs};\n\n ${({ theme, disabled }) =>\n theme.utilities.useDefaultFromControls\n ? css`\n position: absolute;\n display: inline-block;\n transform: translate(-50%, -50%);\n top: 50%;\n margin: 0;\n padding: 0;\n left: ${theme.spacing.s};\n `\n : css`\n position: absolute;\n left: ${theme.spacing.xxs};\n opacity: 0;\n\n &:focus ~ ${SelectedBorder} {\n outline: none !important;\n box-shadow: inset 0 0 0 2px ${theme.colors.inputBorder};\n box-shadow: inset 0 0 0 2px -webkit-focus-ring-color;\n }\n\n &:checked ~ ${CheckWrapper} ${Check}::before {\n background: ${disabled\n ? theme.colors.disabled\n : theme.colors.check};\n }\n `}\n`;\n"],"names":["RADIO_SIZE","RADIO_INNER_SIZE","CheckWrapper","styled","div","templateObject_1","__makeTemplateObject","_a","theme","spacing","xs","Check","span","templateObject_2","colors","selectionBorder","StyledLabel","label","templateObject_4","typography","lineHeight","fontSizeBase","fontFamilyBase","backgroundLight","$disabled","disabled","textDark","concat","utilities","inputBorderWidth","m","xl","isDisabled","$checked","$hasError","useDefaultFromControls","css","templateObject_3","danger","check","inputBorder","VerticalAlign","templateObject_5","SelectedBorder","templateObject_6","StyledInput","input","templateObject_9","xxs","templateObject_7","s","templateObject_8"],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/Radio/styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport { type ThemeType } from \"../../types\";\n\nconst RADIO_SIZE = \"1.5rem\";\nconst RADIO_INNER_SIZE = \"0.75rem\";\nconst BUTTON_HEIGHT = \"3em\";\n\nexport const CheckWrapper = styled.div<{\n theme: ThemeType;\n}>`\n display: inline-block;\n height: ${RADIO_SIZE};\n width: ${RADIO_SIZE};\n position: absolute;\n top: calc(50% - (${RADIO_SIZE} / 2));\n left: ${({\n theme: {\n spacing: { xs },\n },\n }) => xs};\n`;\n\nexport const Check = styled.span<{\n theme: ThemeType;\n}>`\n display: block;\n position: relative;\n border: 2px solid ${({ theme }) => theme.colors.selectionBorder};\n pointer-events: none;\n border-radius: 100%;\n height: ${RADIO_SIZE};\n width: ${RADIO_SIZE};\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 5;\n transition:\n border 0.25s linear,\n box-shadow 0.25s linear;\n\n &:before {\n display: block;\n position: absolute;\n content: \"\";\n border-radius: 100%;\n pointer-events: none;\n height: ${RADIO_INNER_SIZE};\n width: ${RADIO_INNER_SIZE};\n top: calc(50% - (${RADIO_INNER_SIZE} / 2));\n left: calc(50% - (${RADIO_INNER_SIZE} / 2));\n margin: auto;\n background-color: rgba(255, 255, 255, 0);\n transition: background-color 0.25s linear;\n }\n`;\n\nexport const StyledLabel = styled.label<{\n $hasError: boolean;\n $disabled: boolean;\n $checked: boolean;\n theme: ThemeType;\n}>`\n box-sizing: border-box;\n *,\n *:after,\n *:before {\n box-sizing: border-box;\n }\n line-height: ${({ theme }) => theme.typography.lineHeight};\n font-size: ${({ theme }) => theme.typography.fontSizeBase};\n font-family: ${({ theme }) => theme.typography.fontFamilyBase};\n\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n width: 100%;\n position: relative;\n\n cursor: ${({ $disabled }) => ($disabled ? \"not-allowed\" : \"pointer\")};\n display: inline-block;\n\n color: ${({ theme, $disabled }) =>\n $disabled ? theme.colors.disabled : theme.colors.textDark};\n padding: ${({ theme }) =>\n `calc( (${BUTTON_HEIGHT} - ( ${theme.utilities.inputBorderWidth} * 2) - ${theme.typography.lineHeight} ) / 2) ${theme.spacing.m} calc( (${BUTTON_HEIGHT} - ( ${theme.utilities.inputBorderWidth} * 2) - ${theme.typography.lineHeight} ) / 2) ${theme.spacing.xl}`};\n vertical-align: middle;\n\n ${({ theme, $disabled: isDisabled, $checked, $hasError }) =>\n theme.utilities.useDefaultFromControls\n ? null\n : css`\n min-height: 2rem;\n\n ${CheckWrapper} ${Check} {\n border: solid 2px\n ${isDisabled\n ? theme.colors.disabled\n : $hasError\n ? theme.colors.danger\n : $checked\n ? theme.colors.check\n : theme.colors.inputBorder};\n &:before {\n background-color: ${$checked\n ? theme.colors.check\n : `rgba(255, 255, 255, 0)`};\n }\n }\n\n &:hover ${CheckWrapper} ${Check} {\n border: solid 2px\n ${isDisabled ? theme.colors.disabled : theme.colors.check};\n }\n `}\n`;\n\nexport const VerticalAlign = styled.span<{\n theme: ThemeType;\n}>`\n display: inline;\n vertical-align: middle;\n line-height: 100%;\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n min-height: 2em;\n z-index: 1;\n`;\n\nexport const SelectedBorder = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(255, 255, 255, 0);\n z-index: 0;\n`;\n\nexport const StyledInput = styled.input<{\n disabled: boolean;\n theme: ThemeType;\n}>`\n *,\n *:after,\n *:before {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n margin-right: ${({\n theme: {\n spacing: { xxs },\n },\n }) => xxs};\n\n ${({ theme, disabled }) =>\n theme.utilities.useDefaultFromControls\n ? css`\n position: absolute;\n display: inline-block;\n transform: translate(-50%, -50%);\n top: 50%;\n margin: 0;\n padding: 0;\n left: ${theme.spacing.s};\n `\n : css`\n position: absolute;\n left: ${theme.spacing.xxs};\n opacity: 0;\n\n &:focus ~ ${SelectedBorder} {\n outline: none !important;\n box-shadow: inset 0 0 0 2px ${theme.colors.inputBorder};\n box-shadow: inset 0 0 0 2px -webkit-focus-ring-color;\n }\n\n &:checked ~ ${CheckWrapper} ${Check}::before {\n background: ${disabled\n ? theme.colors.disabled\n : theme.colors.check};\n }\n `}\n`;\n"],"names":["RADIO_SIZE","RADIO_INNER_SIZE","CheckWrapper","styled","div","theme","spacing","xs","Check","span","colors","selectionBorder","StyledLabel","label","typography","lineHeight","fontSizeBase","fontFamilyBase","backgroundLight","$disabled","disabled","textDark","utilities","inputBorderWidth","m","xl","isDisabled","$checked","$hasError","useDefaultFromControls","css","danger","check","inputBorder","VerticalAlign","SelectedBorder","StyledInput","input","xxs","s"],"mappings":"2CAGA,MAAMA,EAAa,SACbC,EAAmB,UAGZC,EAAeC,EAAOC,GAEjC;;YAEUJ;WACDA;;qBAEUA;UACX,EACNK,OACEC,SAAWC,UAETA;EAGKC,EAAQL,EAAOM,IAE1B;;;sBAGoB,EAAGJ,WAAYA,EAAMK,OAAOC;;;YAGtCX;WACDA;;;;;;;;;;;;;;;;cAgBGC;aACDA;uBACUA;wBACCA;;;;;EAOXW,EAAcT,EAAOU,KAKhC;;;;;;;iBAOe,EAAGR,WAAYA,EAAMS,WAAWC;eAClC,EAAGV,WAAYA,EAAMS,WAAWE;iBAC9B,EAAGX,WAAYA,EAAMS,WAAWG;;sBAE3B,EAAGZ,WAAYA,EAAMK,OAAOQ;;;;YAItC,EAAGC,eAAiBA,EAAY,cAAgB;;;WAGjD,EAAGd,QAAOc,eACjBA,EAAYd,EAAMK,OAAOU,SAAWf,EAAMK,OAAOW;aACxC,EAAGhB,WACZ,kBAA+BA,EAAMiB,UAAUC,2BAA2BlB,EAAMS,WAAWC,qBAAqBV,EAAMC,QAAQkB,oBAAiCnB,EAAMiB,UAAUC,2BAA2BlB,EAAMS,WAAWC,qBAAqBV,EAAMC,QAAQmB;;;IAG9P,EAAGpB,QAAOc,UAAWO,EAAYC,WAAUC,eAC3CvB,EAAMiB,UAAUO,uBACZ,KACAC,CAAG;;;YAGC5B,KAAgBM;;gBAEZkB,EACErB,EAAMK,OAAOU,SACbQ,EACEvB,EAAMK,OAAOqB,OACbJ,EACEtB,EAAMK,OAAOsB,MACb3B,EAAMK,OAAOuB;;kCAEDN,EAChBtB,EAAMK,OAAOsB,MACb;;;;oBAIE9B,KAAgBM;;gBAEpBkB,EAAarB,EAAMK,OAAOU,SAAWf,EAAMK,OAAOsB;;;EAKrDE,EAAgB/B,EAAOM,IAElC;;;;sBAIoB,EAAGJ,WAAYA,EAAMK,OAAOQ;;;EAKrCiB,EAAiBhC,EAAOC,GAAG;;;;;;;;EAU3BgC,EAAcjC,EAAOkC,KAGhC;;;;;;;;kBAQgB,EACdhC,OACEC,SAAWgC,WAETA;;IAEJ,EAAGjC,QAAOe,cACVf,EAAMiB,UAAUO,uBACZC,CAAG;;;;;;;kBAOOzB,EAAMC,QAAQiC;UAExBT,CAAG;;kBAEOzB,EAAMC,QAAQgC;;;sBAGVH;;0CAEoB9B,EAAMK,OAAOuB;;;;wBAI/B/B,KAAgBM;0BACdY,EACVf,EAAMK,OAAOU,SACbf,EAAMK,OAAOsB;;;"}
@@ -1,4 +1,4 @@
1
- import { StoryObj } from "@storybook/react";
1
+ import { type StoryObj } from "@storybook/react";
2
2
  import RadioConsent from ".";
3
3
  declare const _default: {
4
4
  title: string;
@@ -1,2 +1,2 @@
1
- import{__assign as e}from"../../../node_modules/tslib/tslib.es6.js";import t from"react";import{useTheme as n,ThemeProvider as r}from"styled-components";import{crukTheme as l}from"../../themes/cruk.js";import{StyledFieldSet as m,StyledLegend as o,StyledRadio as a}from"./styles.js";function u(u){var s=n(),i=e(e({},l),s),c=u.legend,f=u.attributes,p=u.onChange,d=u.selectedValue,h=void 0===d?"":d,v=u.name;return t.createElement(r,{theme:i},t.createElement(m,null,t.createElement(o,null,c),f.map((function(e){return t.createElement(a,{$numberOfAttributes:f.length||0,key:e.value,checked:h===e.value,onChange:p,name:v,value:e.value},e.option)}))))}export{u as RadioConsent,u as default};
1
+ import e from"react";import{useTheme as t,ThemeProvider as n}from"styled-components";import{crukTheme as r}from"../../themes/cruk.js";import{StyledFieldSet as l,StyledLegend as m,StyledRadio as a}from"./styles.js";function o(o){const u=t(),c={...r,...u},{legend:s,attributes:i,onChange:p,selectedValue:f="",name:h}=o;return e.createElement(n,{theme:c},e.createElement(l,null,e.createElement(m,null,s),i.map((t=>e.createElement(a,{$numberOfAttributes:i.length||0,key:t.value,checked:f===t.value,onChange:p,name:h,value:t.value},t.option)))))}export{o as RadioConsent,o as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/RadioConsent/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTheme, ThemeProvider } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport { StyledFieldSet, StyledLegend, StyledRadio } from \"./styles\";\n\ntype Attribute = {\n value: string;\n option: string;\n};\n\nexport type RadioConsentProps = {\n /** because each radio has its own label this is the consent group label text */\n legend: string;\n /** array of option for radio constent group where option is the option name and value is the option value */\n attributes: Attribute[];\n /** on change handler callback passed change event */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /** set the value of selected option */\n selectedValue?: string;\n /** name of field this is what groups all the options together */\n name: string;\n};\n\n/**\n *\n * RadioConsent is a component for showing a bunch of yes/no radios predominantly used for notification selections where a unselected state is usefull for analytics.\n *\n * This is always a controlled component that will only change state with the selectedValue prop\n */\nexport function RadioConsent(props: RadioConsentProps) {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n const { legend, attributes, onChange, selectedValue = \"\", name } = props;\n\n return (\n <ThemeProvider theme={theme}>\n <StyledFieldSet>\n <StyledLegend>{legend}</StyledLegend>\n {attributes.map((item: Attribute) => (\n <StyledRadio\n $numberOfAttributes={attributes.length || 0}\n key={item.value}\n checked={selectedValue === item.value}\n onChange={onChange}\n name={name}\n value={item.value}\n >\n {item.option}\n </StyledRadio>\n ))}\n </StyledFieldSet>\n </ThemeProvider>\n );\n}\n\nexport default RadioConsent;\n"],"names":["RadioConsent","props","foundTheme","useTheme","theme","__assign","defaultTheme","legend","attributes","onChange","_a","selectedValue","name","React","createElement","ThemeProvider","StyledFieldSet","StyledLegend","map","item","StyledRadio","$numberOfAttributes","length","key","value","checked","option"],"mappings":"0RA+BM,SAAUA,EAAaC,GAC3B,IAAMC,EAAaC,IACbC,EACDC,EAAAA,EAAA,CAAA,EAAAC,GACAJ,GAEGK,EAA2DN,EAAKM,OAAxDC,EAAmDP,EAAzCO,WAAEC,EAAuCR,EAAKQ,SAAlCC,EAA6BT,EAAKU,cAAlCA,OAAgB,IAAAD,EAAA,GAAEA,EAAEE,EAASX,EAAKW,KAExE,OACEC,EAACC,cAAAC,EAAc,CAAAX,MAAOA,GACpBS,EAAAC,cAACE,EAAc,KACbH,EAACC,cAAAG,EAAc,KAAAV,GACdC,EAAWU,KAAI,SAACC,GAAoB,OACnCN,EAAAC,cAACM,EAAW,CAAAC,oBACWb,EAAWc,QAAU,EAC1CC,IAAKJ,EAAKK,MACVC,QAASd,IAAkBQ,EAAKK,MAChCf,SAAUA,EACVG,KAAMA,EACNY,MAAOL,EAAKK,OAEXL,EAAKO,OAET,KAIT"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/RadioConsent/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTheme, ThemeProvider } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport { StyledFieldSet, StyledLegend, StyledRadio } from \"./styles\";\n\ntype Attribute = {\n value: string;\n option: string;\n};\n\nexport type RadioConsentProps = {\n /** because each radio has its own label this is the consent group label text */\n legend: string;\n /** array of option for radio constent group where option is the option name and value is the option value */\n attributes: Attribute[];\n /** on change handler callback passed change event */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /** set the value of selected option */\n selectedValue?: string;\n /** name of field this is what groups all the options together */\n name: string;\n};\n\n/**\n *\n * RadioConsent is a component for showing a bunch of yes/no radios predominantly used for notification selections where a unselected state is usefull for analytics.\n *\n * This is always a controlled component that will only change state with the selectedValue prop\n */\nexport function RadioConsent(props: RadioConsentProps) {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n const { legend, attributes, onChange, selectedValue = \"\", name } = props;\n\n return (\n <ThemeProvider theme={theme}>\n <StyledFieldSet>\n <StyledLegend>{legend}</StyledLegend>\n {attributes.map((item: Attribute) => (\n <StyledRadio\n $numberOfAttributes={attributes.length || 0}\n key={item.value}\n checked={selectedValue === item.value}\n onChange={onChange}\n name={name}\n value={item.value}\n >\n {item.option}\n </StyledRadio>\n ))}\n </StyledFieldSet>\n </ThemeProvider>\n );\n}\n\nexport default RadioConsent;\n"],"names":["RadioConsent","props","foundTheme","useTheme","theme","defaultTheme","legend","attributes","onChange","selectedValue","name","React","createElement","ThemeProvider","StyledFieldSet","StyledLegend","map","item","StyledRadio","$numberOfAttributes","length","key","value","checked","option"],"mappings":"sNA+BM,SAAUA,EAAaC,GAC3B,MAAMC,EAAaC,IACbC,EAAQ,IACTC,KACAH,IAECI,OAAEA,EAAMC,WAAEA,EAAUC,SAAEA,EAAQC,cAAEA,EAAgB,GAAEC,KAAEA,GAAST,EAEnE,OACEU,EAACC,cAAAC,EAAc,CAAAT,MAAOA,GACpBO,EAAAC,cAACE,EAAc,KACbH,EAACC,cAAAG,EAAc,KAAAT,GACdC,EAAWS,KAAKC,GACfN,EAAAC,cAACM,EAAW,CAAAC,oBACWZ,EAAWa,QAAU,EAC1CC,IAAKJ,EAAKK,MACVC,QAASd,IAAkBQ,EAAKK,MAChCd,SAAUA,EACVE,KAAMA,EACNY,MAAOL,EAAKK,OAEXL,EAAKO,WAMlB"}
@@ -3,9 +3,12 @@ type StyleRadioWidthProp = {
3
3
  $numberOfAttributes: number;
4
4
  theme: ThemeType;
5
5
  };
6
- export declare const StyledRadio: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<Omit<Omit<import("../Radio").RadioProps, "ref"> & import("react").RefAttributes<HTMLInputElement>, "ref"> & {
7
- ref?: ((instance: HTMLInputElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLInputElement> | null | undefined;
8
- }, StyleRadioWidthProp>> & string & Omit<import("react").ForwardRefExoticComponent<Omit<import("../Radio").RadioProps, "ref"> & import("react").RefAttributes<HTMLInputElement>>, keyof import("react").Component<any, {}, any>>;
6
+ export declare const StyledRadio: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").InputHTMLAttributes<HTMLInputElement> & {
7
+ ref?: import("react").Ref<HTMLInputElement>;
8
+ hasError?: boolean;
9
+ errorMessage?: string;
10
+ children?: import("react").ReactNode;
11
+ }, StyleRadioWidthProp>> & string & Omit<(props: import("../Radio").RadioProps) => import("react").JSX.Element, keyof import("react").Component<any, {}, any>>;
9
12
  export declare const StyledLegend: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLLegendElement>, HTMLLegendElement>, {
10
13
  theme: ThemeType;
11
14
  }>> & string;
@@ -1,2 +1,27 @@
1
- import{__makeTemplateObject as n}from"../../../node_modules/tslib/tslib.es6.js";import t from"styled-components";import{Radio as e}from"../Radio/index.js";var i,o,r,a=t(e)(i||(i=n(["\n display: block;\n float: left;\n text-align: left;\n margin-left: ",";\n max-width: ",";\n width: ",";\n"],["\n display: block;\n float: left;\n text-align: left;\n margin-left: ",";\n max-width: ",";\n width: ",";\n"])),(function(n){return n.theme.spacing.s}),"5em",(function(n){var t=n.$numberOfAttributes,e=n.theme;return"calc(((100% - ".concat("20%",") / ").concat(t,") - ").concat(e.spacing.s,")")})),l=t.legend(o||(o=n(["\n width: ",";\n display: block;\n float: left;\n font-family: ",";\n"],["\n width: ",";\n display: block;\n float: left;\n font-family: ",";\n"])),"20%",(function(n){return n.theme.typography.fontFamilyBase})),d=t.fieldset(r||(r=n(["\n box-sizing: border-box;\n *,\n *:after,\n *:before {\n box-sizing: border-box;\n }\n display: block;\n position: relative;\n border: none;\n padding: 0;\n margin: 0 0 "," 0;\n width: 100%;\n"],["\n box-sizing: border-box;\n *,\n *:after,\n *:before {\n box-sizing: border-box;\n }\n display: block;\n position: relative;\n border: none;\n padding: 0;\n margin: 0 0 "," 0;\n width: 100%;\n"])),(function(n){return n.theme.spacing.s}));export{d as StyledFieldSet,l as StyledLegend,a as StyledRadio};
1
+ import e from"styled-components";import{Radio as t}from"../Radio/index.js";const i=e(t)`
2
+ display: block;
3
+ float: left;
4
+ text-align: left;
5
+ margin-left: ${({theme:e})=>e.spacing.s};
6
+ max-width: ${"5em"};
7
+ width: ${({$numberOfAttributes:e,theme:t})=>`calc(((100% - 20%) / ${e}) - ${t.spacing.s})`};
8
+ `,o=e.legend`
9
+ width: ${"20%"};
10
+ display: block;
11
+ float: left;
12
+ font-family: ${({theme:e})=>e.typography.fontFamilyBase};
13
+ `,a=e.fieldset`
14
+ box-sizing: border-box;
15
+ *,
16
+ *:after,
17
+ *:before {
18
+ box-sizing: border-box;
19
+ }
20
+ display: block;
21
+ position: relative;
22
+ border: none;
23
+ padding: 0;
24
+ margin: 0 0 ${({theme:e})=>e.spacing.s} 0;
25
+ width: 100%;
26
+ `;export{a as StyledFieldSet,o as StyledLegend,i as StyledRadio};
2
27
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/RadioConsent/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\n\nimport RadioInput from \"../Radio\";\n\nimport { type ThemeType } from \"../../types\";\n\nconst LEGEND_WIDTH = \"20%\";\nconst MAX_WIDTH = \"5em\";\n\ntype StyleRadioWidthProp = { $numberOfAttributes: number; theme: ThemeType };\n\nexport const StyledRadio = styled(RadioInput)<StyleRadioWidthProp>`\n display: block;\n float: left;\n text-align: left;\n margin-left: ${({ theme }) => theme.spacing.s};\n max-width: ${MAX_WIDTH};\n width: ${({ $numberOfAttributes, theme }) =>\n `calc(((100% - ${LEGEND_WIDTH}) / ${$numberOfAttributes}) - ${theme.spacing.s})`};\n`;\n\nexport const StyledLegend = styled.legend<{\n theme: ThemeType;\n}>`\n width: ${LEGEND_WIDTH};\n display: block;\n float: left;\n font-family: ${({ theme }) => theme.typography.fontFamilyBase};\n`;\n\nexport const StyledFieldSet = styled.fieldset<{\n theme: ThemeType;\n}>`\n box-sizing: border-box;\n *,\n *:after,\n *:before {\n box-sizing: border-box;\n }\n display: block;\n position: relative;\n border: none;\n padding: 0;\n margin: 0 0 ${({ theme }) => theme.spacing.s} 0;\n width: 100%;\n`;\n"],"names":["StyledRadio","styled","RadioInput","templateObject_1","__makeTemplateObject","_a","theme","spacing","s","$numberOfAttributes","concat","StyledLegend","legend","templateObject_2","typography","fontFamilyBase","StyledFieldSet","fieldset","templateObject_3"],"mappings":"2JAMA,UAKaA,EAAcC,EAAOC,EAAPD,CAAkBE,IAAAA,EAAAC,EAAA,CAAA,4EAAA,mBAAA,eAAA,OAAA,CAAqB,4EAInB,mBACvB,eAE4D,UAHnE,SAACC,GAAc,OAAPA,EAAAC,MAAaC,QAAQC,CAAd,GARd,OAUP,SAACH,OAAEI,EAAmBJ,EAAAI,oBAAEH,EAAKD,EAAAC,MACpC,MAAA,iBAAAI,OAZiB,MAYY,QAAAA,OAAOD,EAAmB,QAAAC,OAAOJ,EAAMC,QAAQC,EAAI,IAAhF,IAGSG,EAAeV,EAAOW,OAAMC,IAAAA,EAAAT,EAAA,CAAA,cAAA,wDAAA,OAAA,CAEvC,cACqB,wDAGwC,SArB1C,OAqBJ,SAACC,GAAc,OAAPA,EAAAC,MAAaQ,WAAWC,cAAjB,IAGnBC,EAAiBf,EAAOgB,SAAQC,IAAAA,EAAAd,EAAA,CAAA,0LAAA,yBAAA,CAE3C,0LAW4C,4BAA9B,SAACC,GAAc,OAAPA,EAAAC,MAAaC,QAAQC,CAAd"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/RadioConsent/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\n\nimport RadioInput from \"../Radio\";\n\nimport { type ThemeType } from \"../../types\";\n\nconst LEGEND_WIDTH = \"20%\";\nconst MAX_WIDTH = \"5em\";\n\ntype StyleRadioWidthProp = { $numberOfAttributes: number; theme: ThemeType };\n\nexport const StyledRadio = styled(RadioInput)<StyleRadioWidthProp>`\n display: block;\n float: left;\n text-align: left;\n margin-left: ${({ theme }) => theme.spacing.s};\n max-width: ${MAX_WIDTH};\n width: ${({ $numberOfAttributes, theme }) =>\n `calc(((100% - ${LEGEND_WIDTH}) / ${$numberOfAttributes}) - ${theme.spacing.s})`};\n`;\n\nexport const StyledLegend = styled.legend<{\n theme: ThemeType;\n}>`\n width: ${LEGEND_WIDTH};\n display: block;\n float: left;\n font-family: ${({ theme }) => theme.typography.fontFamilyBase};\n`;\n\nexport const StyledFieldSet = styled.fieldset<{\n theme: ThemeType;\n}>`\n box-sizing: border-box;\n *,\n *:after,\n *:before {\n box-sizing: border-box;\n }\n display: block;\n position: relative;\n border: none;\n padding: 0;\n margin: 0 0 ${({ theme }) => theme.spacing.s} 0;\n width: 100%;\n`;\n"],"names":["StyledRadio","styled","RadioInput","theme","spacing","s","$numberOfAttributes","StyledLegend","legend","typography","fontFamilyBase","StyledFieldSet","fieldset"],"mappings":"2EAMA,MAKaA,EAAcC,EAAOC,EAAgC;;;;iBAIjD,EAAGC,WAAYA,EAAMC,QAAQC;eAR5B;WAUP,EAAGC,sBAAqBH,WAC/B,wBAAoCG,QAA0BH,EAAMC,QAAQC;EAGnEE,EAAeN,EAAOO,MAEjC;WAjBmB;;;iBAqBJ,EAAGL,WAAYA,EAAMM,WAAWC;EAGpCC,EAAiBV,EAAOW,QAEnC;;;;;;;;;;;gBAWc,EAAGT,WAAYA,EAAMC,QAAQC;;"}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import { StoryObj } from "@storybook/react";
3
- import Select, { SelectProps } from ".";
2
+ import { type StoryObj } from "@storybook/react";
3
+ import Select, { type SelectProps } from ".";
4
4
  declare const _default: {
5
5
  title: string;
6
- component: React.ForwardRefExoticComponent<Omit<SelectProps, "ref"> & React.RefAttributes<HTMLSelectElement>>;
6
+ component: ({ errorMessage, hasError, required, label, hintText, hideRequiredInLabel, ref, ...props }: SelectProps) => React.JSX.Element;
7
7
  args: {
8
8
  disabled: boolean;
9
9
  required: boolean;