@cruk/cruk-react-components 6.0.0 → 6.0.2

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 (318) hide show
  1. package/lib/node_modules/tslib/tslib.es6.js +1 -1
  2. package/lib/node_modules/tslib/tslib.es6.js.map +1 -1
  3. package/lib/src/components/AddressLookup/index.js +1 -1
  4. package/lib/src/components/AddressLookup/index.js.map +1 -1
  5. package/lib/src/components/AddressLookup/styles.js +1 -38
  6. package/lib/src/components/AddressLookup/styles.js.map +1 -1
  7. package/lib/src/components/Avatar/index.js +1 -1
  8. package/lib/src/components/Avatar/index.js.map +1 -1
  9. package/lib/src/components/Avatar/styles.js +1 -10
  10. package/lib/src/components/Avatar/styles.js.map +1 -1
  11. package/lib/src/components/Badge/index.js +1 -1
  12. package/lib/src/components/Badge/index.js.map +1 -1
  13. package/lib/src/components/Badge/styles.js +1 -17
  14. package/lib/src/components/Badge/styles.js.map +1 -1
  15. package/lib/src/components/Box/index.js +1 -1
  16. package/lib/src/components/Box/index.js.map +1 -1
  17. package/lib/src/components/Box/styles.js +1 -13
  18. package/lib/src/components/Box/styles.js.map +1 -1
  19. package/lib/src/components/Button/index.js +1 -1
  20. package/lib/src/components/Button/index.js.map +1 -1
  21. package/lib/src/components/Button/styles.js +1 -108
  22. package/lib/src/components/Button/styles.js.map +1 -1
  23. package/lib/src/components/Carousel/Dots.js +1 -1
  24. package/lib/src/components/Carousel/Dots.js.map +1 -1
  25. package/lib/src/components/Carousel/index.js +1 -1
  26. package/lib/src/components/Carousel/index.js.map +1 -1
  27. package/lib/src/components/Carousel/styles.js +1 -96
  28. package/lib/src/components/Carousel/styles.js.map +1 -1
  29. package/lib/src/components/Checkbox/index.js +1 -1
  30. package/lib/src/components/Checkbox/index.js.map +1 -1
  31. package/lib/src/components/Checkbox/styles.js +1 -105
  32. package/lib/src/components/Checkbox/styles.js.map +1 -1
  33. package/lib/src/components/Collapse/index.js +1 -1
  34. package/lib/src/components/Collapse/index.js.map +1 -1
  35. package/lib/src/components/Collapse/styles.js +1 -31
  36. package/lib/src/components/Collapse/styles.js.map +1 -1
  37. package/lib/src/components/DateField/index.js +1 -1
  38. package/lib/src/components/DateField/index.js.map +1 -1
  39. package/lib/src/components/DateField/styles.js +1 -26
  40. package/lib/src/components/DateField/styles.js.map +1 -1
  41. package/lib/src/components/Divider.js +1 -17
  42. package/lib/src/components/Divider.js.map +1 -1
  43. package/lib/src/components/ErrorText/index.js +1 -1
  44. package/lib/src/components/ErrorText/index.js.map +1 -1
  45. package/lib/src/components/ErrorText/styles.js +1 -5
  46. package/lib/src/components/ErrorText/styles.js.map +1 -1
  47. package/lib/src/components/Flex.js +1 -7
  48. package/lib/src/components/Flex.js.map +1 -1
  49. package/lib/src/components/Fontface.js +1 -1
  50. package/lib/src/components/Fontface.js.map +1 -1
  51. package/lib/src/components/Footer/index.js +1 -1
  52. package/lib/src/components/Footer/index.js.map +1 -1
  53. package/lib/src/components/Footer/styles.js +1 -69
  54. package/lib/src/components/Footer/styles.js.map +1 -1
  55. package/lib/src/components/GlobalStyle.js +1 -37
  56. package/lib/src/components/GlobalStyle.js.map +1 -1
  57. package/lib/src/components/GlobalStyleNoFontFace.js +1 -37
  58. package/lib/src/components/GlobalStyleNoFontFace.js.map +1 -1
  59. package/lib/src/components/Header/index.js +1 -1
  60. package/lib/src/components/Header/index.js.map +1 -1
  61. package/lib/src/components/Header/styles.js +1 -109
  62. package/lib/src/components/Header/styles.js.map +1 -1
  63. package/lib/src/components/Heading/index.js +1 -1
  64. package/lib/src/components/Heading/index.js.map +1 -1
  65. package/lib/src/components/Heading/styles.js +1 -75
  66. package/lib/src/components/Heading/styles.js.map +1 -1
  67. package/lib/src/components/IconFa/index.js +1 -1
  68. package/lib/src/components/IconFa/index.js.map +1 -1
  69. package/lib/src/components/IconFa/styles.js +1 -10
  70. package/lib/src/components/IconFa/styles.js.map +1 -1
  71. package/lib/src/components/InfoBox/index.js +1 -1
  72. package/lib/src/components/InfoBox/index.js.map +1 -1
  73. package/lib/src/components/InfoBox/styles.js +1 -12
  74. package/lib/src/components/InfoBox/styles.js.map +1 -1
  75. package/lib/src/components/LabelWrapper/index.js +1 -1
  76. package/lib/src/components/LabelWrapper/index.js.map +1 -1
  77. package/lib/src/components/LabelWrapper/styles.js +1 -15
  78. package/lib/src/components/LabelWrapper/styles.js.map +1 -1
  79. package/lib/src/components/LegendWrapper/index.js +1 -1
  80. package/lib/src/components/LegendWrapper/index.js.map +1 -1
  81. package/lib/src/components/LegendWrapper/styles.js +1 -34
  82. package/lib/src/components/LegendWrapper/styles.js.map +1 -1
  83. package/lib/src/components/Link/index.js +1 -1
  84. package/lib/src/components/Link/index.js.map +1 -1
  85. package/lib/src/components/Link/styles.js +1 -29
  86. package/lib/src/components/Link/styles.js.map +1 -1
  87. package/lib/src/components/Loader/index.js +1 -1
  88. package/lib/src/components/Loader/index.js.map +1 -1
  89. package/lib/src/components/Loader/styles.js +1 -45
  90. package/lib/src/components/Loader/styles.js.map +1 -1
  91. package/lib/src/components/Modal/index.js +1 -1
  92. package/lib/src/components/Modal/index.js.map +1 -1
  93. package/lib/src/components/Modal/styles.js +1 -59
  94. package/lib/src/components/Modal/styles.js.map +1 -1
  95. package/lib/src/components/Pagination/index.js +1 -1
  96. package/lib/src/components/Pagination/index.js.map +1 -1
  97. package/lib/src/components/Pagination/styles.js +1 -92
  98. package/lib/src/components/Pagination/styles.js.map +1 -1
  99. package/lib/src/components/PopOver/index.js +1 -1
  100. package/lib/src/components/PopOver/index.js.map +1 -1
  101. package/lib/src/components/PopOver/styles.js +1 -81
  102. package/lib/src/components/PopOver/styles.js.map +1 -1
  103. package/lib/src/components/ProgressBar/index.js +1 -1
  104. package/lib/src/components/ProgressBar/index.js.map +1 -1
  105. package/lib/src/components/ProgressBar/styles.js +1 -132
  106. package/lib/src/components/ProgressBar/styles.js.map +1 -1
  107. package/lib/src/components/Radio/index.js +1 -1
  108. package/lib/src/components/Radio/index.js.map +1 -1
  109. package/lib/src/components/Radio/styles.js +1 -125
  110. package/lib/src/components/Radio/styles.js.map +1 -1
  111. package/lib/src/components/RadioConsent/index.js +1 -1
  112. package/lib/src/components/RadioConsent/index.js.map +1 -1
  113. package/lib/src/components/RadioConsent/styles.js +1 -26
  114. package/lib/src/components/RadioConsent/styles.js.map +1 -1
  115. package/lib/src/components/Select/index.js +1 -1
  116. package/lib/src/components/Select/index.js.map +1 -1
  117. package/lib/src/components/Select/styles.js +1 -41
  118. package/lib/src/components/Select/styles.js.map +1 -1
  119. package/lib/src/components/Spacing/index.js +1 -1
  120. package/lib/src/components/Spacing/index.js.map +1 -1
  121. package/lib/src/components/Step/index.js +1 -1
  122. package/lib/src/components/Step/index.js.map +1 -1
  123. package/lib/src/components/Step/styles.js +1 -79
  124. package/lib/src/components/Step/styles.js.map +1 -1
  125. package/lib/src/components/Text/index.js +1 -1
  126. package/lib/src/components/Text/index.js.map +1 -1
  127. package/lib/src/components/Text/styles.js +1 -19
  128. package/lib/src/components/Text/styles.js.map +1 -1
  129. package/lib/src/components/TextAreaField/index.js +1 -1
  130. package/lib/src/components/TextAreaField/index.js.map +1 -1
  131. package/lib/src/components/TextAreaField/styles.js +1 -29
  132. package/lib/src/components/TextAreaField/styles.js.map +1 -1
  133. package/lib/src/components/TextField/index.js +1 -1
  134. package/lib/src/components/TextField/index.js.map +1 -1
  135. package/lib/src/components/TextField/styles.js +1 -110
  136. package/lib/src/components/TextField/styles.js.map +1 -1
  137. package/lib/src/components/Totaliser/index.js +1 -1
  138. package/lib/src/components/Totaliser/index.js.map +1 -1
  139. package/lib/src/components/Totaliser/styles.js +1 -59
  140. package/lib/src/components/Totaliser/styles.js.map +1 -1
  141. package/lib/src/components/UserBlock/index.js +1 -1
  142. package/lib/src/components/UserBlock/index.js.map +1 -1
  143. package/lib/src/components/UserBlock/styles.js +1 -21
  144. package/lib/src/components/UserBlock/styles.js.map +1 -1
  145. package/lib/src/hooks/useEffectBrowser.js +1 -1
  146. package/lib/src/hooks/useEffectBrowser.js.map +1 -1
  147. package/lib/src/hooks/useKey.js +1 -1
  148. package/lib/src/hooks/useKey.js.map +1 -1
  149. package/lib/src/hooks/useLayoutEffectBrowser.js +1 -1
  150. package/lib/src/hooks/useLayoutEffectBrowser.js.map +1 -1
  151. package/lib/src/hooks/useScrollPosition.js +1 -1
  152. package/lib/src/hooks/useScrollPosition.js.map +1 -1
  153. package/lib/src/themes/bowelbabe.js +1 -1
  154. package/lib/src/themes/bowelbabe.js.map +1 -1
  155. package/lib/src/themes/cruk.js +1 -1
  156. package/lib/src/themes/cruk.js.map +1 -1
  157. package/lib/src/themes/rfl.js +1 -1
  158. package/lib/src/themes/rfl.js.map +1 -1
  159. package/lib/src/themes/su2c.js +1 -1
  160. package/lib/src/themes/su2c.js.map +1 -1
  161. package/lib/src/utils/Helper.js +1 -1
  162. package/lib/src/utils/Helper.js.map +1 -1
  163. package/lib/src/utils/debounce.js +1 -1
  164. package/lib/src/utils/debounce.js.map +1 -1
  165. package/lib/src/utils/themeUtils.js +1 -1
  166. package/lib/src/utils/themeUtils.js.map +1 -1
  167. package/lib/{src/utils → utils}/themeUtils.d.ts +1 -1
  168. package/package.json +3 -4
  169. package/lib/.storybook/main.d.ts +0 -3
  170. package/lib/.storybook/preview.d.ts +0 -3
  171. /package/lib/{src/components → components}/AddressLookup/AddressLookUp.test.cypress.d.ts +0 -0
  172. /package/lib/{src/components → components}/AddressLookup/AddressLookup.stories.d.ts +0 -0
  173. /package/lib/{src/components → components}/AddressLookup/index.d.ts +0 -0
  174. /package/lib/{src/components → components}/AddressLookup/styles.d.ts +0 -0
  175. /package/lib/{src/components → components}/AllThemesWrapper.d.ts +0 -0
  176. /package/lib/{src/components → components}/Avatar/Avatar.stories.d.ts +0 -0
  177. /package/lib/{src/components → components}/Avatar/Avatar.test.cypress.d.ts +0 -0
  178. /package/lib/{src/components → components}/Avatar/index.d.ts +0 -0
  179. /package/lib/{src/components → components}/Avatar/styles.d.ts +0 -0
  180. /package/lib/{src/components → components}/Badge/Badge.stories.d.ts +0 -0
  181. /package/lib/{src/components → components}/Badge/Badge.test.cypress.d.ts +0 -0
  182. /package/lib/{src/components → components}/Badge/index.d.ts +0 -0
  183. /package/lib/{src/components → components}/Badge/styles.d.ts +0 -0
  184. /package/lib/{src/components → components}/Box/Box.stories.d.ts +0 -0
  185. /package/lib/{src/components → components}/Box/Box.test.cypress.d.ts +0 -0
  186. /package/lib/{src/components → components}/Box/index.d.ts +0 -0
  187. /package/lib/{src/components → components}/Box/styles.d.ts +0 -0
  188. /package/lib/{src/components → components}/Button/Button.stories.d.ts +0 -0
  189. /package/lib/{src/components → components}/Button/Button.test.cypress.d.ts +0 -0
  190. /package/lib/{src/components → components}/Button/index.d.ts +0 -0
  191. /package/lib/{src/components → components}/Button/styles.d.ts +0 -0
  192. /package/lib/{src/components → components}/Carousel/Carousel.stories.d.ts +0 -0
  193. /package/lib/{src/components → components}/Carousel/Carousel.test.cypress.d.ts +0 -0
  194. /package/lib/{src/components → components}/Carousel/Dots.d.ts +0 -0
  195. /package/lib/{src/components → components}/Carousel/index.d.ts +0 -0
  196. /package/lib/{src/components → components}/Carousel/styles.d.ts +0 -0
  197. /package/lib/{src/components → components}/Checkbox/CheckBox.test.cypress.d.ts +0 -0
  198. /package/lib/{src/components → components}/Checkbox/Checkbox.stories.d.ts +0 -0
  199. /package/lib/{src/components → components}/Checkbox/index.d.ts +0 -0
  200. /package/lib/{src/components → components}/Checkbox/styles.d.ts +0 -0
  201. /package/lib/{src/components → components}/Collapse/Collapse.stories.d.ts +0 -0
  202. /package/lib/{src/components → components}/Collapse/Collapse.test.cypress.d.ts +0 -0
  203. /package/lib/{src/components → components}/Collapse/index.d.ts +0 -0
  204. /package/lib/{src/components → components}/Collapse/styles.d.ts +0 -0
  205. /package/lib/{src/components → components}/DateField/DateField.stories.d.ts +0 -0
  206. /package/lib/{src/components → components}/DateField/DateField.test.cypress.d.ts +0 -0
  207. /package/lib/{src/components → components}/DateField/index.d.ts +0 -0
  208. /package/lib/{src/components → components}/DateField/styles.d.ts +0 -0
  209. /package/lib/{src/components → components}/Divider.d.ts +0 -0
  210. /package/lib/{src/components → components}/ErrorText/ErrorText.stories.d.ts +0 -0
  211. /package/lib/{src/components → components}/ErrorText/ErrorText.test.cypress.d.ts +0 -0
  212. /package/lib/{src/components → components}/ErrorText/index.d.ts +0 -0
  213. /package/lib/{src/components → components}/ErrorText/styles.d.ts +0 -0
  214. /package/lib/{src/components → components}/Flex.d.ts +0 -0
  215. /package/lib/{src/components → components}/Fontface.d.ts +0 -0
  216. /package/lib/{src/components → components}/Footer/Footer.stories.d.ts +0 -0
  217. /package/lib/{src/components → components}/Footer/Footer.test.cypress.d.ts +0 -0
  218. /package/lib/{src/components → components}/Footer/index.d.ts +0 -0
  219. /package/lib/{src/components → components}/Footer/styles.d.ts +0 -0
  220. /package/lib/{src/components → components}/GlobalStyle.d.ts +0 -0
  221. /package/lib/{src/components → components}/GlobalStyleNoFontFace.d.ts +0 -0
  222. /package/lib/{src/components → components}/Header/Header.stories.d.ts +0 -0
  223. /package/lib/{src/components → components}/Header/Header.test.cypress.d.ts +0 -0
  224. /package/lib/{src/components → components}/Header/index.d.ts +0 -0
  225. /package/lib/{src/components → components}/Header/styles.d.ts +0 -0
  226. /package/lib/{src/components → components}/Heading/Heading.stories.d.ts +0 -0
  227. /package/lib/{src/components → components}/Heading/Heading.test.cypress.d.ts +0 -0
  228. /package/lib/{src/components → components}/Heading/index.d.ts +0 -0
  229. /package/lib/{src/components → components}/Heading/styles.d.ts +0 -0
  230. /package/lib/{src/components → components}/IconFa/IconFa.stories.d.ts +0 -0
  231. /package/lib/{src/components → components}/IconFa/IconFa.test.cypress.d.ts +0 -0
  232. /package/lib/{src/components → components}/IconFa/index.d.ts +0 -0
  233. /package/lib/{src/components → components}/IconFa/styles.d.ts +0 -0
  234. /package/lib/{src/components → components}/InfoBox/InfoBox.stories.d.ts +0 -0
  235. /package/lib/{src/components → components}/InfoBox/InfoBox.test.cypress.d.ts +0 -0
  236. /package/lib/{src/components → components}/InfoBox/index.d.ts +0 -0
  237. /package/lib/{src/components → components}/InfoBox/styles.d.ts +0 -0
  238. /package/lib/{src/components → components}/LabelWrapper/index.d.ts +0 -0
  239. /package/lib/{src/components → components}/LabelWrapper/styles.d.ts +0 -0
  240. /package/lib/{src/components → components}/LegendWrapper/LegendWrapper.stories.d.ts +0 -0
  241. /package/lib/{src/components → components}/LegendWrapper/LegendWrapper.test.cypress.d.ts +0 -0
  242. /package/lib/{src/components → components}/LegendWrapper/index.d.ts +0 -0
  243. /package/lib/{src/components → components}/LegendWrapper/styles.d.ts +0 -0
  244. /package/lib/{src/components → components}/Link/Link.stories.d.ts +0 -0
  245. /package/lib/{src/components → components}/Link/Link.test.cypress.d.ts +0 -0
  246. /package/lib/{src/components → components}/Link/index.d.ts +0 -0
  247. /package/lib/{src/components → components}/Link/styles.d.ts +0 -0
  248. /package/lib/{src/components → components}/Loader/Loader.stories.d.ts +0 -0
  249. /package/lib/{src/components → components}/Loader/Loader.test.cypress.d.ts +0 -0
  250. /package/lib/{src/components → components}/Loader/index.d.ts +0 -0
  251. /package/lib/{src/components → components}/Loader/styles.d.ts +0 -0
  252. /package/lib/{src/components → components}/Modal/Modal.stories.d.ts +0 -0
  253. /package/lib/{src/components → components}/Modal/Modal.test.cypress.d.ts +0 -0
  254. /package/lib/{src/components → components}/Modal/index.d.ts +0 -0
  255. /package/lib/{src/components → components}/Modal/styles.d.ts +0 -0
  256. /package/lib/{src/components → components}/Pagination/Pagination.stories.d.ts +0 -0
  257. /package/lib/{src/components → components}/Pagination/Pagination.test.cypress.d.ts +0 -0
  258. /package/lib/{src/components → components}/Pagination/index.d.ts +0 -0
  259. /package/lib/{src/components → components}/Pagination/styles.d.ts +0 -0
  260. /package/lib/{src/components → components}/PopOver/PopOver.test.cypress.d.ts +0 -0
  261. /package/lib/{src/components → components}/PopOver/Popover.stories.d.ts +0 -0
  262. /package/lib/{src/components → components}/PopOver/index.d.ts +0 -0
  263. /package/lib/{src/components → components}/PopOver/styles.d.ts +0 -0
  264. /package/lib/{src/components → components}/ProgressBar/ProgressBar.stories.d.ts +0 -0
  265. /package/lib/{src/components → components}/ProgressBar/ProgressBar.test.cypress.d.ts +0 -0
  266. /package/lib/{src/components → components}/ProgressBar/index.d.ts +0 -0
  267. /package/lib/{src/components → components}/ProgressBar/styles.d.ts +0 -0
  268. /package/lib/{src/components → components}/Radio/Radio.stories.d.ts +0 -0
  269. /package/lib/{src/components → components}/Radio/Radio.test.cypress.d.ts +0 -0
  270. /package/lib/{src/components → components}/Radio/index.d.ts +0 -0
  271. /package/lib/{src/components → components}/Radio/styles.d.ts +0 -0
  272. /package/lib/{src/components → components}/RadioConsent/Radio.stories.d.ts +0 -0
  273. /package/lib/{src/components → components}/RadioConsent/RadioConsent.test.cypress.d.ts +0 -0
  274. /package/lib/{src/components → components}/RadioConsent/index.d.ts +0 -0
  275. /package/lib/{src/components → components}/RadioConsent/styles.d.ts +0 -0
  276. /package/lib/{src/components → components}/Select/Select.test.cypress.d.ts +0 -0
  277. /package/lib/{src/components → components}/Select/Selelct.stories.d.ts +0 -0
  278. /package/lib/{src/components → components}/Select/index.d.ts +0 -0
  279. /package/lib/{src/components → components}/Select/styles.d.ts +0 -0
  280. /package/lib/{src/components → components}/Spacing/index.d.ts +0 -0
  281. /package/lib/{src/components → components}/Step/Step.stories.d.ts +0 -0
  282. /package/lib/{src/components → components}/Step/Step.test.cypress.d.ts +0 -0
  283. /package/lib/{src/components → components}/Step/index.d.ts +0 -0
  284. /package/lib/{src/components → components}/Step/styles.d.ts +0 -0
  285. /package/lib/{src/components → components}/Text/Text.stories.d.ts +0 -0
  286. /package/lib/{src/components → components}/Text/Text.test.cypress.d.ts +0 -0
  287. /package/lib/{src/components → components}/Text/index.d.ts +0 -0
  288. /package/lib/{src/components → components}/Text/styles.d.ts +0 -0
  289. /package/lib/{src/components → components}/TextAreaField/TextAreaField.stories.d.ts +0 -0
  290. /package/lib/{src/components → components}/TextAreaField/TextAreaField.test.cypress.d.ts +0 -0
  291. /package/lib/{src/components → components}/TextAreaField/index.d.ts +0 -0
  292. /package/lib/{src/components → components}/TextAreaField/styles.d.ts +0 -0
  293. /package/lib/{src/components → components}/TextField/TextField.stories.d.ts +0 -0
  294. /package/lib/{src/components → components}/TextField/TextField.test.cypress.d.ts +0 -0
  295. /package/lib/{src/components → components}/TextField/index.d.ts +0 -0
  296. /package/lib/{src/components → components}/TextField/styles.d.ts +0 -0
  297. /package/lib/{src/components → components}/ThemeCheatSheet.d.ts +0 -0
  298. /package/lib/{src/components → components}/Totaliser/Totaliser.stories.d.ts +0 -0
  299. /package/lib/{src/components → components}/Totaliser/Totaliser.test.cypress.d.ts +0 -0
  300. /package/lib/{src/components → components}/Totaliser/index.d.ts +0 -0
  301. /package/lib/{src/components → components}/Totaliser/styles.d.ts +0 -0
  302. /package/lib/{src/components → components}/UserBlock/UserBlock.stories.d.ts +0 -0
  303. /package/lib/{src/components → components}/UserBlock/UserBlock.test.cypress.d.ts +0 -0
  304. /package/lib/{src/components → components}/UserBlock/index.d.ts +0 -0
  305. /package/lib/{src/components → components}/UserBlock/styles.d.ts +0 -0
  306. /package/lib/{src/components → components}/index.d.ts +0 -0
  307. /package/lib/{src/hooks → hooks}/useEffectBrowser.d.ts +0 -0
  308. /package/lib/{src/hooks → hooks}/useKey.d.ts +0 -0
  309. /package/lib/{src/hooks → hooks}/useLayoutEffectBrowser.d.ts +0 -0
  310. /package/lib/{src/hooks → hooks}/useScrollPosition.d.ts +0 -0
  311. /package/lib/{src/themes → themes}/bowelbabe.d.ts +0 -0
  312. /package/lib/{src/themes → themes}/cruk.d.ts +0 -0
  313. /package/lib/{src/themes → themes}/rfl.d.ts +0 -0
  314. /package/lib/{src/themes → themes}/su2c.d.ts +0 -0
  315. /package/lib/{src/types.d.ts → types.d.ts} +0 -0
  316. /package/lib/{src/utils → utils}/Helper.d.ts +0 -0
  317. /package/lib/{src/utils → utils}/__tests__/testHelpers.test.d.ts +0 -0
  318. /package/lib/{src/utils → utils}/debounce.d.ts +0 -0
@@ -1,2 +1,2 @@
1
- var r=function(){return r=Object.assign||function(r){for(var t,e=1,n=arguments.length;e<n;e++)for(var o in t=arguments[e])Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=t[o]);return r},r.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;export{r as __assign};
1
+ var r=function(){return r=Object.assign||function(r){for(var e,t=1,n=arguments.length;t<n;t++)for(var o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r},r.apply(this,arguments)};function e(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(null!=r&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(r);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(r,n[o])&&(t[n[o]]=r[n[o]])}return t}function t(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}"function"==typeof SuppressedError&&SuppressedError;export{r as __assign,t as __makeTemplateObject,e as __rest};
2
2
  //# sourceMappingURL=tslib.es6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tslib.es6.js","sources":["../../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError"],"mappings":"AA+BU,IAACA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACV,EACMH,EAASa,MAAMC,KAAMP,UAChC,EAgSkD,mBAApBQ,iBAAiCA","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"tslib.es6.js","sources":["../../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__makeTemplateObject","cooked","raw","defineProperty","value","SuppressedError"],"mappings":"AA+BU,IAACA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACV,EACMH,EAASa,MAAMC,KAAMP,UAChC,EAEO,SAASQ,EAAOX,EAAGY,GACtB,IAAIb,EAAI,CAAA,EACR,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,IAC9EN,EAAEM,GAAKL,EAAEK,IACb,GAAS,MAALL,GAAqD,mBAAjCH,OAAOiB,sBACtB,KAAIb,EAAI,EAAb,IAAgBI,EAAIR,OAAOiB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAC3DW,EAAEC,QAAQR,EAAEJ,IAAM,GAAKJ,OAAOS,UAAUS,qBAAqBP,KAAKR,EAAGK,EAAEJ,MACvEF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,IAF4B,CAItD,OAAOF,CACX,CA0MO,SAASiB,EAAqBC,EAAQC,GAEzC,OADIrB,OAAOsB,eAAkBtB,OAAOsB,eAAeF,EAAQ,MAAO,CAAEG,MAAOF,IAAiBD,EAAOC,IAAMA,EAClGD,CACX,CAuEkD,mBAApBI,iBAAiCA","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import e,{useState as t,useRef as r,useCallback as n,useEffect as s}from"react";import{useTheme as o}from"styled-components";import{faChevronRight as a}from"../../../node_modules/@fortawesome/free-solid-svg-icons/index.js";import{useKey as i}from"../../hooks/useKey.js";import{debounce as l}from"../../utils/debounce.js";import{removeCommasFromObjectStringValues as d}from"../../utils/Helper.js";import{Text as m}from"../Text/index.js";import{TextField as c}from"../TextField/index.js";import{IconFa as u}from"../IconFa/index.js";import{crukTheme as p}from"../../themes/cruk.js";import{ScreenReaderOnly as h,ListWrapper as f,List as g,ListItem as y}from"./styles.js";const w=({apiKey:w,countries:E,errorMessage:v,hasError:x,isValid:j,isValidVisible:I,isInvalidVisible:b,label:T,hintText:$,ref:k,onAddressError:A=e=>{console.log(e)},onAddressSelected:C,onChange:V,onBlur:D,...K})=>{const[F,S]=t([]),[H,L]=t(-1),M=r(null),_=o(),B={...p,..._},O=()=>{L(-1),S([])},U=n(l(500,(e=>{q(e)})),[]),q=(e,t="")=>{if(0===e.length)return S([]);let r=`https://api.addressy.com/Capture/Interactive/Find/v1.1/json3.ws?Key=${w}&Text=${e}&Container=${t}`;return void 0!==E&&(r=`${r}&Countries=${E.join(",")}`),fetch(r).then((e=>{if(!e.ok)throw new Error("Something went wrong please try again");return e.json()})).then((e=>{if(e.Items[0].Error)throw new Error("Something went wrong please try again");return S(e.Items||[]),null})).catch((e=>A(e))),null},R=e=>{fetch(`https://api.addressy.com/Capture/Interactive/Retrieve/v1/json3.ws?Key=${w}&Id=${e}`).then((e=>{if(!e.ok)throw new Error("Something went wrong please try again");return e.json()})).then((e=>{const t=e.Items[0],r=d(t);return C(r),O(),null})).catch((e=>A(e)))},W=e=>"Address"===e.Type?R(e.Id):(q(e.Text,e.Id),null),z=e=>{M.current&&e.target instanceof HTMLElement&&!M.current.contains(e.target)&&O()};return s((()=>(document.addEventListener("mousedown",z),()=>{document.removeEventListener("mousedown",z)}))),i((()=>{O()}),{detectKeys:["Escape","Tab"]},[]),e.createElement(e.Fragment,null,e.createElement(c,{"aria-activedescendant":F.length?`addressOptions-${H}`:"","aria-owns":"found_addresses","aria-autocomplete":"both","aria-expanded":F.length?"true":"false",autoComplete:"off",hasError:x||!!v,errorMessage:v,hintText:$??"Start typing your address or postcode",isValid:j,isValidVisible:I,isInvalidVisible:b,label:T??"Home address",ref:k,required:!0,role:"combobox",type:"search",...K,onKeyDown:e=>{"Enter"===e.key&&F[H]?(e.preventDefault(),"Address"===F[H].Type&&R(F[H].Id),q(F[H].Text,F[H].Id),L(-1)):"ArrowUp"===e.key?(e.preventDefault(),H<=-1&&L(F.length-1),L(H-1)):"ArrowDown"===e.key?(e.preventDefault(),H+1>=F.length&&L(0),L(H+1)):L(-1)},onChange:e=>{U(e.target.value),V&&V(e)},onBlur:e=>{const t=!!F.length;D&&!t&&D(e)}}),!!F.length&&e.createElement(e.Fragment,null,e.createElement(h,{role:"status","aria-live":"assertive"},!!F.length&&`We have found ${F.length} result${1!==F.length?"s":""} matching your search. Use up and down arrow keys to navigate`),e.createElement(f,{ref:M},e.createElement(g,{"aria-label":"found addresses",id:"found_addresses",role:"listbox",theme:B},F.map(((t,r)=>e.createElement(y,{tabIndex:0,id:`addressOptions-${r}`,$isActive:r===H,key:t.Id,onClick:()=>{W(t)},onKeyDown:e=>{"Enter"===e.key&&W(t)},role:"option","data-hj-suppress":!0,theme:B},e.createElement(m,{as:"span","data-hj-suppress":!0},t.Text," ",t.Description),"Address"!==t.Type&&e.createElement(e.Fragment,null,e.createElement(h,null,"press enter for these addresses"),e.createElement(u,{faIcon:a})))))))))};export{w as AddressLookup,w as default};
1
+ import{__rest as e,__assign as t}from"../../../node_modules/tslib/tslib.es6.js";import n,{useState as r,useRef as o,useCallback as s,useEffect as a}from"react";import{useTheme as i}from"styled-components";import{faChevronRight as l}from"../../../node_modules/@fortawesome/free-solid-svg-icons/index.js";import{useKey as c}from"../../hooks/useKey.js";import{debounce as d}from"../../utils/debounce.js";import{removeCommasFromObjectStringValues as u}from"../../utils/Helper.js";import{Text as m}from"../Text/index.js";import{TextField as f}from"../TextField/index.js";import{IconFa as p}from"../IconFa/index.js";import{crukTheme as h}from"../../themes/cruk.js";import{ScreenReaderOnly as g,ListWrapper as v,List as y,ListItem as E}from"./styles.js";var w=function(w){var b=w.apiKey,x=w.countries,j=w.errorMessage,I=w.hasError,T=w.isValid,V=w.isValidVisible,k=w.isInvalidVisible,A=w.label,C=w.hintText,K=w.ref,D=w.onAddressError,F=void 0===D?function(e){console.log(e)}:D,S=w.onAddressSelected,M=w.onChange,_=w.onBlur,B=e(w,["apiKey","countries","errorMessage","hasError","isValid","isValidVisible","isInvalidVisible","label","hintText","ref","onAddressError","onAddressSelected","onChange","onBlur"]),H=r([]),L=H[0],O=H[1],U=r(-1),q=U[0],R=U[1],W=o(null),$=i(),z=t(t({},h),$),G=function(){R(-1),O([])},J=s(d(500,(function(e){N(e)})),[]),N=function(e,t){if(void 0===t&&(t=""),0===e.length)return O([]);var n="".concat("https://api.addressy.com/Capture/Interactive/Find/v1.1/json3.ws","?Key=").concat(b,"&Text=").concat(e,"&Container=").concat(t);return void 0!==x&&(n="".concat(n,"&Countries=").concat(x.join(","))),fetch(n).then((function(e){if(!e.ok)throw new Error("Something went wrong please try again");return e.json()})).then((function(e){if(e.Items[0].Error)throw new Error("Something went wrong please try again");return O(e.Items||[]),null})).catch((function(e){return F(e)})),null},P=function(e){fetch("".concat("https://api.addressy.com/Capture/Interactive/Retrieve/v1/json3.ws","?Key=").concat(b,"&Id=").concat(e)).then((function(e){if(!e.ok)throw new Error("Something went wrong please try again");return e.json()})).then((function(e){var t=e.Items[0],n=u(t);return S(n),G(),null})).catch((function(e){return F(e)}))},Q=function(e){return"Address"===e.Type?P(e.Id):(N(e.Text,e.Id),null)},X=function(e){W.current&&e.target instanceof HTMLElement&&!W.current.contains(e.target)&&G()};return a((function(){return document.addEventListener("mousedown",X),function(){document.removeEventListener("mousedown",X)}})),c((function(){G()}),{detectKeys:["Escape","Tab"]},[]),n.createElement(n.Fragment,null,n.createElement(f,t({"aria-activedescendant":L.length?"addressOptions-".concat(q):"","aria-owns":"found_addresses","aria-autocomplete":"both","aria-expanded":L.length?"true":"false",autoComplete:"off",hasError:I||!!j,errorMessage:j,hintText:null!=C?C:"Start typing your address or postcode",isValid:T,isValidVisible:V,isInvalidVisible:k,label:null!=A?A:"Home address",ref:K,required:!0,role:"combobox",type:"search"},B,{onKeyDown:function(e){"Enter"===e.key&&L[q]?(e.preventDefault(),"Address"===L[q].Type&&P(L[q].Id),N(L[q].Text,L[q].Id),R(-1)):"ArrowUp"===e.key?(e.preventDefault(),q<=-1&&R(L.length-1),R(q-1)):"ArrowDown"===e.key?(e.preventDefault(),q+1>=L.length&&R(0),R(q+1)):R(-1)},onChange:function(e){J(e.target.value),M&&M(e)},onBlur:function(e){var t=!!L.length;_&&!t&&_(e)}})),!!L.length&&n.createElement(n.Fragment,null,n.createElement(g,{role:"status","aria-live":"assertive"},!!L.length&&"We have found ".concat(L.length," result").concat(1!==L.length?"s":""," matching your search. Use up and down arrow keys to navigate")),n.createElement(v,{ref:W},n.createElement(y,{"aria-label":"found addresses",id:"found_addresses",role:"listbox",theme:z},L.map((function(e,t){return n.createElement(E,{tabIndex:0,id:"addressOptions-".concat(t),$isActive:t===q,key:e.Id,onClick:function(){Q(e)},onKeyDown:function(t){"Enter"===t.key&&Q(e)},role:"option","data-hj-suppress":!0,theme:z},n.createElement(m,{as:"span","data-hj-suppress":!0},e.Text," ",e.Description),"Address"!==e.Type&&n.createElement(n.Fragment,null,n.createElement(g,null,"press enter for these addresses"),n.createElement(p,{faIcon:l})))}))))))};export{w as AddressLookup,w as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/AddressLookup/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useState,\n useRef,\n type InputHTMLAttributes,\n type Ref,\n type FocusEvent,\n type ChangeEvent,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport { useTheme } from \"styled-components\";\nimport { faChevronRight } from \"@fortawesome/free-solid-svg-icons\";\n\nimport { type AddressDataType, type AddressOptionsType } from \"../../types\";\nimport { useKey } from \"../../hooks/useKey\";\n\nimport { debounce } from \"../../utils/debounce\";\nimport { removeCommasFromObjectStringValues } from \"../../utils/Helper\";\nimport { Text } from \"../Text\";\nimport { TextField } from \"../TextField\";\nimport { IconFa } from \"../IconFa\";\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport { ListWrapper, ListItem, ScreenReaderOnly, List } from \"./styles\";\n\nconst FIND_URL =\n \"https://api.addressy.com/Capture/Interactive/Find/v1.1/json3.ws\";\nconst RETRIEVE_URL =\n \"https://api.addressy.com/Capture/Interactive/Retrieve/v1/json3.ws\";\n\nexport type AddressLookupProps = InputHTMLAttributes<HTMLInputElement> & {\n /** api key for loqate */\n apiKey: string;\n /** list of countries codes you want the address look up to search within */\n countries?: string[];\n /** callback function which is passed the selected address data */\n onAddressSelected: (address: AddressDataType) => void;\n /** error message */\n errorMessage?: string;\n /** when true a input has a red border */\n hasError?: boolean;\n /** flag which effects the check or cross icons to the right of the input */\n isValid?: boolean;\n /** flag to hide or show the check icon when valid */\n isValidVisible?: boolean;\n /** flag to hide or show the cross icon when invalid */\n isInvalidVisible?: boolean;\n /** label text */\n label?: string;\n /** hint text text */\n hintText?: ReactNode;\n /** callback function which is passed the error */\n onAddressError?: (error: Error) => void;\n /** onBlur handler */\n onBlur?: (e: FocusEvent) => void;\n /** attach a DOM reference variable to your component */\n ref?: Ref<HTMLInputElement>;\n};\n\n/**\n * This component creates a combobox for a user to type in a post code or partial address and be presented with a of verified addresses.\n * We use Loqate (formerly Addressy and Postcode Anywhere) API v3, we have looked at v4 but it is more expensive without many benefits for our use case.\n * You will need a Loqate api key, the examples below use \"MG17-ZD93-FF33-KF13\" our development key.\n * This component is generally only used for country codes including \"GBR\", \"GGY\", \"IMN\", \"JEY\". An example of this behavior is included bellow.\n */\nexport const AddressLookup = ({\n apiKey,\n countries,\n errorMessage,\n hasError,\n isValid,\n isValidVisible,\n isInvalidVisible,\n label,\n hintText,\n ref,\n onAddressError = (error: Error) => {\n console.log(error);\n },\n onAddressSelected,\n onChange,\n onBlur,\n ...props\n}: AddressLookupProps) => {\n const [addressOptions, setAddressOptions] = useState<AddressOptionsType[]>(\n [],\n );\n const [activeOption, setActiveOption] = useState(-1);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n\n const clearOptions = () => {\n setActiveOption(-1);\n setAddressOptions([]);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const searchDebounced = useCallback(\n debounce(500, (query: string) => {\n search(query);\n }),\n [],\n );\n\n const search = (query: string, id = \"\") => {\n if (query.length === 0) return setAddressOptions([]);\n let searchUrl = `${FIND_URL}?Key=${apiKey}&Text=${query}&Container=${id}`;\n if (countries !== undefined) {\n searchUrl = `${searchUrl}&Countries=${countries.join(\",\")}`;\n }\n fetch(searchUrl)\n .then((res: Response) => {\n if (!res.ok) throw new Error(\"Something went wrong please try again\");\n return res.json();\n })\n .then((data: { Items: AddressOptionsType[] }) => {\n // Occasionally get the error \"The query didn't respond fast enough, it may be too complex.\"\n // returned with a 200 response. Example query \"n17 6t\"\n if (data.Items[0].Error)\n throw new Error(\"Something went wrong please try again\");\n setAddressOptions(data.Items || []);\n return null;\n })\n .catch((err) => onAddressError(err as Error));\n return null;\n };\n\n const getAddress = (id: string) => {\n fetch(`${RETRIEVE_URL}?Key=${apiKey}&Id=${id}`)\n .then((res: Response) => {\n if (!res.ok) throw new Error(\"Something went wrong please try again\");\n return res.json();\n })\n .then((data: { Items: AddressDataType[] }) => {\n const selectedAddress = data.Items[0];\n const selectedAddressWithoutCommas =\n removeCommasFromObjectStringValues<AddressDataType>(selectedAddress);\n onAddressSelected(selectedAddressWithoutCommas);\n clearOptions();\n return null;\n })\n .catch((err) => onAddressError(err as Error));\n };\n\n const selectAddress = (address: AddressOptionsType) => {\n if (address.Type === \"Address\") return getAddress(address.Id);\n search(address.Text, address.Id);\n return null;\n };\n\n const handleKeyDown = (e: KeyboardEvent): void => {\n if (e.key === \"Enter\" && addressOptions[activeOption]) {\n e.preventDefault();\n if (addressOptions[activeOption].Type === \"Address\")\n getAddress(addressOptions[activeOption].Id);\n search(\n addressOptions[activeOption].Text,\n addressOptions[activeOption].Id,\n );\n setActiveOption(-1);\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n if (activeOption <= -1) setActiveOption(addressOptions.length - 1);\n setActiveOption(activeOption - 1);\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n if (activeOption + 1 >= addressOptions.length) setActiveOption(0);\n setActiveOption(activeOption + 1);\n } else {\n setActiveOption(-1);\n }\n };\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n searchDebounced(e.target.value);\n if (onChange) onChange(e);\n };\n\n const handleBlur = (e: FocusEvent) => {\n const isOptionsOpen = !!addressOptions.length;\n if (onBlur && !isOptionsOpen) onBlur(e);\n };\n\n const handleClickOutside = (event: MouseEvent) => {\n if (\n wrapperRef.current &&\n event.target instanceof HTMLElement &&\n !wrapperRef.current.contains(event.target)\n )\n clearOptions();\n };\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n });\n\n useKey(\n () => {\n clearOptions();\n },\n {\n detectKeys: [\"Escape\", \"Tab\"],\n },\n [],\n );\n\n return (\n <>\n <TextField\n aria-activedescendant={\n addressOptions.length ? `addressOptions-${activeOption}` : \"\"\n }\n aria-owns=\"found_addresses\"\n aria-autocomplete=\"both\"\n aria-expanded={addressOptions.length ? \"true\" : \"false\"}\n autoComplete=\"off\"\n hasError={hasError || !!errorMessage}\n errorMessage={errorMessage}\n hintText={hintText ?? \"Start typing your address or postcode\"}\n isValid={isValid}\n isValidVisible={isValidVisible}\n isInvalidVisible={isInvalidVisible}\n label={label ?? \"Home address\"}\n ref={ref}\n required\n role=\"combobox\"\n type=\"search\"\n {...props}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n onBlur={handleBlur}\n />\n\n {!!addressOptions.length && (\n <>\n <ScreenReaderOnly role=\"status\" aria-live=\"assertive\">\n {!!addressOptions.length &&\n `We have found ${addressOptions.length} result${\n addressOptions.length !== 1 ? \"s\" : \"\"\n } matching your search. Use up and down arrow keys to navigate`}\n </ScreenReaderOnly>\n <ListWrapper ref={wrapperRef}>\n <List\n aria-label=\"found addresses\"\n id=\"found_addresses\"\n role=\"listbox\"\n theme={theme}\n >\n {addressOptions.map((address, index) => (\n <ListItem\n tabIndex={0}\n id={`addressOptions-${index}`}\n $isActive={index === activeOption}\n key={address.Id}\n onClick={() => {\n selectAddress(address);\n }}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n selectAddress(address);\n }\n }}\n role=\"option\"\n data-hj-suppress\n theme={theme}\n >\n <Text as=\"span\" data-hj-suppress>\n {address.Text} {address.Description}\n </Text>\n {address.Type !== \"Address\" && (\n <>\n <ScreenReaderOnly>\n press enter for these addresses\n </ScreenReaderOnly>\n <IconFa faIcon={faChevronRight} />\n </>\n )}\n </ListItem>\n ))}\n </List>\n </ListWrapper>\n </>\n )}\n </>\n );\n};\n\nexport default AddressLookup;\n"],"names":["AddressLookup","apiKey","countries","errorMessage","hasError","isValid","isValidVisible","isInvalidVisible","label","hintText","ref","onAddressError","error","console","log","onAddressSelected","onChange","onBlur","props","addressOptions","setAddressOptions","useState","activeOption","setActiveOption","wrapperRef","useRef","foundTheme","useTheme","theme","defaultTheme","clearOptions","searchDebounced","useCallback","debounce","query","search","id","length","searchUrl","undefined","join","fetch","then","res","ok","Error","json","data","Items","catch","err","getAddress","selectedAddress","selectedAddressWithoutCommas","removeCommasFromObjectStringValues","selectAddress","address","Type","Id","Text","handleClickOutside","event","current","target","HTMLElement","contains","useEffect","document","addEventListener","removeEventListener","useKey","detectKeys","React","createElement","Fragment","TextField","autoComplete","required","role","type","onKeyDown","e","key","preventDefault","value","isOptionsOpen","ScreenReaderOnly","ListWrapper","List","map","index","ListItem","tabIndex","$isActive","onClick","as","Description","IconFa","faIcon","faChevronRight"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/AddressLookup/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useState,\n useRef,\n type InputHTMLAttributes,\n type Ref,\n type FocusEvent,\n type ChangeEvent,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport { useTheme } from \"styled-components\";\nimport { faChevronRight } from \"@fortawesome/free-solid-svg-icons\";\n\nimport { type AddressDataType, type AddressOptionsType } from \"../../types\";\nimport { useKey } from \"../../hooks/useKey\";\n\nimport { debounce } from \"../../utils/debounce\";\nimport { removeCommasFromObjectStringValues } from \"../../utils/Helper\";\nimport { Text } from \"../Text\";\nimport { TextField } from \"../TextField\";\nimport { IconFa } from \"../IconFa\";\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport { ListWrapper, ListItem, ScreenReaderOnly, List } from \"./styles\";\n\nconst FIND_URL =\n \"https://api.addressy.com/Capture/Interactive/Find/v1.1/json3.ws\";\nconst RETRIEVE_URL =\n \"https://api.addressy.com/Capture/Interactive/Retrieve/v1/json3.ws\";\n\nexport type AddressLookupProps = InputHTMLAttributes<HTMLInputElement> & {\n /** api key for loqate */\n apiKey: string;\n /** list of countries codes you want the address look up to search within */\n countries?: string[];\n /** callback function which is passed the selected address data */\n onAddressSelected: (address: AddressDataType) => void;\n /** error message */\n errorMessage?: string;\n /** when true a input has a red border */\n hasError?: boolean;\n /** flag which effects the check or cross icons to the right of the input */\n isValid?: boolean;\n /** flag to hide or show the check icon when valid */\n isValidVisible?: boolean;\n /** flag to hide or show the cross icon when invalid */\n isInvalidVisible?: boolean;\n /** label text */\n label?: string;\n /** hint text text */\n hintText?: ReactNode;\n /** callback function which is passed the error */\n onAddressError?: (error: Error) => void;\n /** onBlur handler */\n onBlur?: (e: FocusEvent) => void;\n /** attach a DOM reference variable to your component */\n ref?: Ref<HTMLInputElement>;\n};\n\n/**\n * This component creates a combobox for a user to type in a post code or partial address and be presented with a of verified addresses.\n * We use Loqate (formerly Addressy and Postcode Anywhere) API v3, we have looked at v4 but it is more expensive without many benefits for our use case.\n * You will need a Loqate api key, the examples below use \"MG17-ZD93-FF33-KF13\" our development key.\n * This component is generally only used for country codes including \"GBR\", \"GGY\", \"IMN\", \"JEY\". An example of this behavior is included bellow.\n */\nexport const AddressLookup = ({\n apiKey,\n countries,\n errorMessage,\n hasError,\n isValid,\n isValidVisible,\n isInvalidVisible,\n label,\n hintText,\n ref,\n onAddressError = (error: Error) => {\n console.log(error);\n },\n onAddressSelected,\n onChange,\n onBlur,\n ...props\n}: AddressLookupProps) => {\n const [addressOptions, setAddressOptions] = useState<AddressOptionsType[]>(\n [],\n );\n const [activeOption, setActiveOption] = useState(-1);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n\n const clearOptions = () => {\n setActiveOption(-1);\n setAddressOptions([]);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const searchDebounced = useCallback(\n debounce(500, (query: string) => {\n search(query);\n }),\n [],\n );\n\n const search = (query: string, id = \"\") => {\n if (query.length === 0) return setAddressOptions([]);\n let searchUrl = `${FIND_URL}?Key=${apiKey}&Text=${query}&Container=${id}`;\n if (countries !== undefined) {\n searchUrl = `${searchUrl}&Countries=${countries.join(\",\")}`;\n }\n fetch(searchUrl)\n .then((res: Response) => {\n if (!res.ok) throw new Error(\"Something went wrong please try again\");\n return res.json();\n })\n .then((data: { Items: AddressOptionsType[] }) => {\n // Occasionally get the error \"The query didn't respond fast enough, it may be too complex.\"\n // returned with a 200 response. Example query \"n17 6t\"\n if (data.Items[0].Error)\n throw new Error(\"Something went wrong please try again\");\n setAddressOptions(data.Items || []);\n return null;\n })\n .catch((err) => onAddressError(err as Error));\n return null;\n };\n\n const getAddress = (id: string) => {\n fetch(`${RETRIEVE_URL}?Key=${apiKey}&Id=${id}`)\n .then((res: Response) => {\n if (!res.ok) throw new Error(\"Something went wrong please try again\");\n return res.json();\n })\n .then((data: { Items: AddressDataType[] }) => {\n const selectedAddress = data.Items[0];\n const selectedAddressWithoutCommas =\n removeCommasFromObjectStringValues<AddressDataType>(selectedAddress);\n onAddressSelected(selectedAddressWithoutCommas);\n clearOptions();\n return null;\n })\n .catch((err) => onAddressError(err as Error));\n };\n\n const selectAddress = (address: AddressOptionsType) => {\n if (address.Type === \"Address\") return getAddress(address.Id);\n search(address.Text, address.Id);\n return null;\n };\n\n const handleKeyDown = (e: KeyboardEvent): void => {\n if (e.key === \"Enter\" && addressOptions[activeOption]) {\n e.preventDefault();\n if (addressOptions[activeOption].Type === \"Address\")\n getAddress(addressOptions[activeOption].Id);\n search(\n addressOptions[activeOption].Text,\n addressOptions[activeOption].Id,\n );\n setActiveOption(-1);\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n if (activeOption <= -1) setActiveOption(addressOptions.length - 1);\n setActiveOption(activeOption - 1);\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n if (activeOption + 1 >= addressOptions.length) setActiveOption(0);\n setActiveOption(activeOption + 1);\n } else {\n setActiveOption(-1);\n }\n };\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n searchDebounced(e.target.value);\n if (onChange) onChange(e);\n };\n\n const handleBlur = (e: FocusEvent) => {\n const isOptionsOpen = !!addressOptions.length;\n if (onBlur && !isOptionsOpen) onBlur(e);\n };\n\n const handleClickOutside = (event: MouseEvent) => {\n if (\n wrapperRef.current &&\n event.target instanceof HTMLElement &&\n !wrapperRef.current.contains(event.target)\n )\n clearOptions();\n };\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n });\n\n useKey(\n () => {\n clearOptions();\n },\n {\n detectKeys: [\"Escape\", \"Tab\"],\n },\n [],\n );\n\n return (\n <>\n <TextField\n aria-activedescendant={\n addressOptions.length ? `addressOptions-${activeOption}` : \"\"\n }\n aria-owns=\"found_addresses\"\n aria-autocomplete=\"both\"\n aria-expanded={addressOptions.length ? \"true\" : \"false\"}\n autoComplete=\"off\"\n hasError={hasError || !!errorMessage}\n errorMessage={errorMessage}\n hintText={hintText ?? \"Start typing your address or postcode\"}\n isValid={isValid}\n isValidVisible={isValidVisible}\n isInvalidVisible={isInvalidVisible}\n label={label ?? \"Home address\"}\n ref={ref}\n required\n role=\"combobox\"\n type=\"search\"\n {...props}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n onBlur={handleBlur}\n />\n\n {!!addressOptions.length && (\n <>\n <ScreenReaderOnly role=\"status\" aria-live=\"assertive\">\n {!!addressOptions.length &&\n `We have found ${addressOptions.length} result${\n addressOptions.length !== 1 ? \"s\" : \"\"\n } matching your search. Use up and down arrow keys to navigate`}\n </ScreenReaderOnly>\n <ListWrapper ref={wrapperRef}>\n <List\n aria-label=\"found addresses\"\n id=\"found_addresses\"\n role=\"listbox\"\n theme={theme}\n >\n {addressOptions.map((address, index) => (\n <ListItem\n tabIndex={0}\n id={`addressOptions-${index}`}\n $isActive={index === activeOption}\n key={address.Id}\n onClick={() => {\n selectAddress(address);\n }}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n selectAddress(address);\n }\n }}\n role=\"option\"\n data-hj-suppress\n theme={theme}\n >\n <Text as=\"span\" data-hj-suppress>\n {address.Text} {address.Description}\n </Text>\n {address.Type !== \"Address\" && (\n <>\n <ScreenReaderOnly>\n press enter for these addresses\n </ScreenReaderOnly>\n <IconFa faIcon={faChevronRight} />\n </>\n )}\n </ListItem>\n ))}\n </List>\n </ListWrapper>\n </>\n )}\n </>\n );\n};\n\nexport default AddressLookup;\n"],"names":["AddressLookup","_a","apiKey","countries","errorMessage","hasError","isValid","isValidVisible","isInvalidVisible","label","hintText","ref","_b","onAddressError","undefined","error","console","log","onAddressSelected","onChange","onBlur","props","__rest","_c","useState","addressOptions","setAddressOptions","_d","activeOption","setActiveOption","wrapperRef","useRef","foundTheme","useTheme","theme","__assign","defaultTheme","clearOptions","searchDebounced","useCallback","debounce","query","search","id","length","searchUrl","concat","join","fetch","then","res","ok","Error","json","data","Items","catch","err","getAddress","selectedAddress","selectedAddressWithoutCommas","removeCommasFromObjectStringValues","selectAddress","address","Type","Id","Text","handleClickOutside","event","current","target","HTMLElement","contains","useEffect","document","addEventListener","removeEventListener","useKey","detectKeys","React","createElement","Fragment","TextField","autoComplete","required","role","type","onKeyDown","e","key","preventDefault","value","isOptionsOpen","ScreenReaderOnly","ListWrapper","List","map","index","ListItem","tabIndex","onClick","as","Description","IconFa","faIcon","faChevronRight"],"mappings":"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"}
@@ -1,39 +1,2 @@
1
- import o from"styled-components";const i=o.div`
2
- position: relative;
3
- `,e=o.ul`
4
- background-color: ${({theme:o})=>o.colors.backgroundLight};
5
- border-radius: 3px;
6
- border: 2px solid #ccc;
7
- box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.2);
8
- list-style: none;
9
- margin-top: 0;
10
- max-height: 400px;
11
- overflow-y: auto;
12
- padding: 0;
13
- position: absolute;
14
- width: 100%;
15
- z-index: 999;
16
- `,r=o.li`
17
- align-items: center;
18
- background-color: ${({theme:o,$isActive:i})=>i?o.colors.backgroundMid:o.colors.backgroundLight};
19
- cursor: pointer;
20
- display: flex;
21
- justify-content: space-between;
22
- padding: 5px;
23
- &:hover,
24
- &:focus {
25
- background-color: #ddd;
26
- }
27
- `,t=o.div`
28
- border: 0px;
29
- clip: rect(0px, 0px, 0px, 0px);
30
- height: 1px;
31
- margin-bottom: -1px;
32
- margin-right: -1px;
33
- overflow: hidden;
34
- padding: 0px;
35
- position: absolute;
36
- white-space: nowrap;
37
- width: 1px;
38
- `;export{e as List,r as ListItem,i as ListWrapper,t as ScreenReaderOnly};
1
+ import{__makeTemplateObject as n}from"../../../node_modules/tslib/tslib.es6.js";import o from"styled-components";var i,r,e,t,p=o.div(i||(i=n(["\n position: relative;\n"],["\n position: relative;\n"]))),d=o.ul(r||(r=n(["\n background-color: ",";\n border-radius: 3px;\n border: 2px solid #ccc;\n box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.2);\n list-style: none;\n margin-top: 0;\n max-height: 400px;\n overflow-y: auto;\n padding: 0;\n position: absolute;\n width: 100%;\n z-index: 999;\n"],["\n background-color: ",";\n border-radius: 3px;\n border: 2px solid #ccc;\n box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.2);\n list-style: none;\n margin-top: 0;\n max-height: 400px;\n overflow-y: auto;\n padding: 0;\n position: absolute;\n width: 100%;\n z-index: 999;\n"])),(function(n){return n.theme.colors.backgroundLight})),a=o.li(e||(e=n(["\n align-items: center;\n background-color: ",";\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n padding: 5px;\n &:hover,\n &:focus {\n background-color: #ddd;\n }\n"],["\n align-items: center;\n background-color: ",";\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n padding: 5px;\n &:hover,\n &:focus {\n background-color: #ddd;\n }\n"])),(function(n){var o=n.theme;return n.$isActive?o.colors.backgroundMid:o.colors.backgroundLight})),s=o.div(t||(t=n(["\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n height: 1px;\n margin-bottom: -1px;\n margin-right: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n"],["\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n height: 1px;\n margin-bottom: -1px;\n margin-right: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n"])));export{d as List,a as ListItem,p as ListWrapper,s as ScreenReaderOnly};
39
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/AddressLookup/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { type ThemeType } from \"../../types\";\n\ninterface ListWrapperProps extends React.HTMLProps<HTMLDivElement> {\n tabIndex?: number;\n}\n\ntype ListProps = {\n theme: ThemeType;\n $isActive?: boolean;\n};\n\nexport const ListWrapper = styled.div<ListWrapperProps>`\n position: relative;\n`;\n\nexport const List = styled.ul<\n ListProps & { ref?: React.Ref<HTMLUListElement> }\n>`\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n border-radius: 3px;\n border: 2px solid #ccc;\n box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.2);\n list-style: none;\n margin-top: 0;\n max-height: 400px;\n overflow-y: auto;\n padding: 0;\n position: absolute;\n width: 100%;\n z-index: 999;\n`;\n\nexport const ListItem = styled.li<\n ListProps & {\n ref?: React.Ref<HTMLLIElement>;\n }\n>`\n align-items: center;\n background-color: ${({ theme, $isActive }: ListProps) =>\n $isActive ? theme.colors.backgroundMid : theme.colors.backgroundLight};\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n padding: 5px;\n &:hover,\n &:focus {\n background-color: #ddd;\n }\n`;\n\n// TODO move to its own component\nexport const ScreenReaderOnly = styled.div`\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n height: 1px;\n margin-bottom: -1px;\n margin-right: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\n"],"names":["ListWrapper","styled","div","List","ul","theme","colors","backgroundLight","ListItem","li","$isActive","backgroundMid","ScreenReaderOnly"],"mappings":"iCAYa,MAAAA,EAAcC,EAAOC,GAAqB;;EAI1CC,EAAOF,EAAOG,EAE1B;sBACqB,EAAGC,WAAYA,EAAMC,OAAOC;;;;;;;;;;;;EAcrCC,EAAWP,EAAOQ,EAI9B;;sBAEqB,EAAGJ,QAAOK,eAC5BA,EAAYL,EAAMC,OAAOK,cAAgBN,EAAMC,OAAOC;;;;;;;;;EAY7CK,EAAmBX,EAAOC,GAAG;;;;;;;;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/AddressLookup/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { type ThemeType } from \"../../types\";\n\ninterface ListWrapperProps extends React.HTMLProps<HTMLDivElement> {\n tabIndex?: number;\n}\n\ntype ListProps = {\n theme: ThemeType;\n $isActive?: boolean;\n};\n\nexport const ListWrapper = styled.div<ListWrapperProps>`\n position: relative;\n`;\n\nexport const List = styled.ul<\n ListProps & { ref?: React.Ref<HTMLUListElement> }\n>`\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n border-radius: 3px;\n border: 2px solid #ccc;\n box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.2);\n list-style: none;\n margin-top: 0;\n max-height: 400px;\n overflow-y: auto;\n padding: 0;\n position: absolute;\n width: 100%;\n z-index: 999;\n`;\n\nexport const ListItem = styled.li<\n ListProps & {\n ref?: React.Ref<HTMLLIElement>;\n }\n>`\n align-items: center;\n background-color: ${({ theme, $isActive }: ListProps) =>\n $isActive ? theme.colors.backgroundMid : theme.colors.backgroundLight};\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n padding: 5px;\n &:hover,\n &:focus {\n background-color: #ddd;\n }\n`;\n\n// TODO move to its own component\nexport const ScreenReaderOnly = styled.div`\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n height: 1px;\n margin-bottom: -1px;\n margin-right: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\n"],"names":["ListWrapper","styled","div","templateObject_1","__makeTemplateObject","List","ul","templateObject_2","_a","theme","colors","backgroundLight","ListItem","li","templateObject_3","$isActive","backgroundMid","ScreenReaderOnly","templateObject_4"],"mappings":"iHAYa,YAAAA,EAAcC,EAAOC,IAAGC,IAAAA,EAAAC,EAAA,CAAA,6BAAA,CAAkB,gCAI1CC,EAAOJ,EAAOK,GAAEC,IAAAA,EAAAH,EAAA,CAAA,yBAAA,kQAAA,CAE5B,yBACgE,qQAA3C,SAACI,GAAc,OAAPA,EAAAC,MAAaC,OAAOC,eAAb,IAcxBC,EAAWX,EAAOY,GAAEC,IAAAA,EAAAV,EAAA,CAAA,iDAAA,4JAAA,CAIhC,iDAGwE,+JADnD,SAACI,OAAEC,EAAKD,EAAAC,MAC1B,OADqCD,EAAAO,UACzBN,EAAMC,OAAOM,cAAgBP,EAAMC,OAAOC,eAAtD,IAYSM,EAAmBhB,EAAOC,IAAGgB,IAAAA,EAAAd,EAAA,CAAA,4NAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import t from"react";import{useTheme as r}from"styled-components";import{crukTheme as e}from"../../themes/cruk.js";import{StyledAvatar as a}from"./styles.js";function o({url:o,name:n,size:m="m",alt:s="",...i}){const p=r(),c={...e,...p};return t.createElement(a,{...i,$size:c.avatar[m||"m"],src:(()=>{if(o)return o;const t=n&&"string"==typeof n&&"Anonymous"!==n&&/[a-z]/i.exec(n[0].trim())?`icon-avatar-${n[0].trim().toUpperCase()}.png`:"icon-avatar-Anonymous.png";return`${c.avatar.path}${t}`})(),alt:s})}export{o as Avatar,o as default};
1
+ import{__rest as t,__assign as r}from"../../../node_modules/tslib/tslib.es6.js";import o from"react";import{useTheme as a}from"styled-components";import{crukTheme as e}from"../../themes/cruk.js";import{StyledAvatar as n}from"./styles.js";function m(m){var i=m.url,s=m.name,c=m.size,p=void 0===c?"m":c,l=m.alt,u=void 0===l?"":l,f=t(m,["url","name","size","alt"]),v=a(),d=r(r({},e),v);return o.createElement(n,r({},f,{$size:d.avatar[p||"m"],src:function(){if(i)return i;var t=s&&"string"==typeof s&&"Anonymous"!==s&&/[a-z]/i.exec(s[0].trim())?"icon-avatar-".concat(s[0].trim().toUpperCase(),".png"):"icon-avatar-Anonymous.png";return"".concat(d.avatar.path).concat(t)}(),alt:u}))}export{m as Avatar,m as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Avatar/index.tsx"],"sourcesContent":["import React, { type ImgHTMLAttributes } from \"react\";\nimport { useTheme } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport { StyledAvatar } from \"./styles\";\n\nexport type AvatarProps = ImgHTMLAttributes<HTMLElement> & {\n /** name of user/entity */\n name?: string;\n /** image url */\n url?: string;\n /** image size */\n size?: \"s\" | \"m\" | \"l\" | \"xl\";\n};\n\n/**\n *\n * You can use an avatar to display ownership of an item of content. If you pass a URL of an image that will be displayed otherwise the first letter of the name will be used to display a branded avatar.\n */\nexport function Avatar({\n url,\n name,\n size = \"m\",\n alt = \"\",\n ...rest\n}: AvatarProps) {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n\n const avatarUrl = () => {\n if (url) return url;\n const fileName =\n name &&\n typeof name === \"string\" &&\n name !== \"Anonymous\" &&\n /[a-z]/i.exec(name[0].trim())\n ? `icon-avatar-${name[0].trim().toUpperCase()}.png`\n : \"icon-avatar-Anonymous.png\";\n\n return `${theme.avatar.path}${fileName}`;\n };\n\n return (\n <StyledAvatar\n {...rest}\n $size={theme.avatar[size || \"m\"]}\n src={avatarUrl()}\n alt={alt}\n />\n );\n}\n\nexport default Avatar;\n"],"names":["Avatar","url","name","size","alt","rest","foundTheme","useTheme","theme","defaultTheme","React","createElement","StyledAvatar","avatar","src","fileName","exec","trim","toUpperCase","path","avatarUrl"],"mappings":"uKAoBgBA,GAAOC,IACrBA,EAAGC,KACHA,EAAIC,KACJA,EAAO,IAAGC,IACVA,EAAM,MACHC,IAEH,MAAMC,EAAaC,IACbC,EAAQ,IACTC,KACAH,GAgBL,OACEI,EAACC,cAAAC,EACK,IAAAP,QACGG,EAAMK,OAAOV,GAAQ,KAC5BW,IAjBc,MAChB,GAAIb,EAAK,OAAOA,EAChB,MAAMc,EACJb,GACgB,iBAATA,GACE,cAATA,GACA,SAASc,KAAKd,EAAK,GAAGe,QAClB,eAAef,EAAK,GAAGe,OAAOC,oBAC9B,4BAEN,MAAO,GAAGV,EAAMK,OAAOM,OAAOJ,GAAU,EAOjCK,GACLhB,IAAKA,GAGX"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Avatar/index.tsx"],"sourcesContent":["import React, { type ImgHTMLAttributes } from \"react\";\nimport { useTheme } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport { StyledAvatar } from \"./styles\";\n\nexport type AvatarProps = ImgHTMLAttributes<HTMLElement> & {\n /** name of user/entity */\n name?: string;\n /** image url */\n url?: string;\n /** image size */\n size?: \"s\" | \"m\" | \"l\" | \"xl\";\n};\n\n/**\n *\n * You can use an avatar to display ownership of an item of content. If you pass a URL of an image that will be displayed otherwise the first letter of the name will be used to display a branded avatar.\n */\nexport function Avatar({\n url,\n name,\n size = \"m\",\n alt = \"\",\n ...rest\n}: AvatarProps) {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n\n const avatarUrl = () => {\n if (url) return url;\n const fileName =\n name &&\n typeof name === \"string\" &&\n name !== \"Anonymous\" &&\n /[a-z]/i.exec(name[0].trim())\n ? `icon-avatar-${name[0].trim().toUpperCase()}.png`\n : \"icon-avatar-Anonymous.png\";\n\n return `${theme.avatar.path}${fileName}`;\n };\n\n return (\n <StyledAvatar\n {...rest}\n $size={theme.avatar[size || \"m\"]}\n src={avatarUrl()}\n alt={alt}\n />\n );\n}\n\nexport default Avatar;\n"],"names":["Avatar","_a","url","name","_b","size","undefined","_c","alt","rest","__rest","foundTheme","useTheme","theme","__assign","defaultTheme","React","createElement","StyledAvatar","avatar","src","fileName","exec","trim","concat","toUpperCase","path","avatarUrl"],"mappings":"8OAoBM,SAAUA,EAAOC,GACrB,IAAAC,QACAC,SACAC,EAAAH,EAAAI,KAAAA,OAAOC,IAAAF,EAAA,MACPG,EAAAN,EAAAO,IAAAA,OAAMF,IAAAC,EAAA,KACHE,EALkBC,EAAAT,EAAA,CAAA,MAAA,OAAA,OAAA,QAOfU,EAAaC,IACbC,EACDC,EAAAA,EAAA,CAAA,EAAAC,GACAJ,GAgBL,OACEK,EAACC,cAAAC,EACKJ,EAAA,GAAAL,SACGI,EAAMM,OAAOd,GAAQ,KAC5Be,IAjBc,WAChB,GAAIlB,EAAK,OAAOA,EAChB,IAAMmB,EACJlB,GACgB,iBAATA,GACE,cAATA,GACA,SAASmB,KAAKnB,EAAK,GAAGoB,QAClB,eAAAC,OAAerB,EAAK,GAAGoB,OAAOE,cAAmB,QACjD,4BAEN,MAAO,GAAAD,OAAGX,EAAMM,OAAOO,MAAIF,OAAGH,EAC/B,CAMQM,GACLnB,IAAKA,IAGX"}
@@ -1,11 +1,2 @@
1
- import o from"styled-components";const r=o.img`
2
- box-sizing: border-box;
3
- border-radius: 50%;
4
- height: ${({$size:o})=>o};
5
- object-fit: cover;
6
- width: ${({$size:o})=>o};
7
- border-style: solid;
8
- border-width: 2px;
9
- border-color: ${({theme:o})=>o.colors.avatarBorder};
10
- `;export{r as StyledAvatar,r as default};
1
+ import{__makeTemplateObject as r}from"../../../node_modules/tslib/tslib.es6.js";import o from"styled-components";var e,n=o.img(e||(e=r(["\n box-sizing: border-box;\n border-radius: 50%;\n height: ",";\n object-fit: cover;\n width: ",";\n border-style: solid;\n border-width: 2px;\n border-color: ",";\n"],["\n box-sizing: border-box;\n border-radius: 50%;\n height: ",";\n object-fit: cover;\n width: ",";\n border-style: solid;\n border-width: 2px;\n border-color: ",";\n"])),(function(r){return r.$size}),(function(r){return r.$size}),(function(r){return r.theme.colors.avatarBorder}));export{n as StyledAvatar,n as default};
11
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/Avatar/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { type ThemeType } from \"../../types\";\n\nexport const StyledAvatar = styled.img<{\n $size?: string;\n theme: ThemeType;\n}>`\n box-sizing: border-box;\n border-radius: 50%;\n height: ${({ $size }) => $size};\n object-fit: cover;\n width: ${({ $size }) => $size};\n border-style: solid;\n border-width: 2px;\n border-color: ${({ theme }) => theme.colors.avatarBorder};\n`;\n\nexport default StyledAvatar;\n"],"names":["StyledAvatar","styled","img","$size","theme","colors","avatarBorder"],"mappings":"iCAGa,MAAAA,EAAeC,EAAOC,GAGjC;;;YAGU,EAAGC,WAAYA;;WAEhB,EAAGA,WAAYA;;;kBAGR,EAAGC,WAAYA,EAAMC,OAAOC;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/Avatar/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { type ThemeType } from \"../../types\";\n\nexport const StyledAvatar = styled.img<{\n $size?: string;\n theme: ThemeType;\n}>`\n box-sizing: border-box;\n border-radius: 50%;\n height: ${({ $size }) => $size};\n object-fit: cover;\n width: ${({ $size }) => $size};\n border-style: solid;\n border-width: 2px;\n border-color: ${({ theme }) => theme.colors.avatarBorder};\n`;\n\nexport default StyledAvatar;\n"],"names":["StyledAvatar","styled","img","templateObject_1","__makeTemplateObject","_a","$size","theme","colors","avatarBorder"],"mappings":"iHAGa,MAAAA,EAAeC,EAAOC,IAAGC,IAAAA,EAAAC,EAAA,CAAA,iEAAA,qCAAA,oEAAA,OAAA,CAGpC,iEAG8B,qCAED,oEAG2B,UAL9C,SAACC,GAAc,OAAPA,EAAAC,KAAO,IAEhB,SAACD,GAAc,OAAPA,EAAAC,KAAO,IAGR,SAACD,GAAc,OAAPA,EAAAE,MAAaC,OAAOC,YAAb"}
@@ -1,2 +1,2 @@
1
- import r from"react";import{useTheme as o}from"styled-components";import{crukTheme as t}from"../../themes/cruk.js";import{StyledBadge as e}from"./styles.js";import{themeColorOrString as s}from"../../utils/themeUtils.js";function m({children:m,size:i="xs",backgroundColor:n="primary",borderColor:l="transparent",textColor:a="textOnPrimary",isSquare:p}){const c=o(),u={...t,...c},f=p??!("string"==typeof m);return r.createElement(e,{theme:u,$isSquare:f,$size:i,$backgroundColor:s(n,u),$borderColor:s(l,u),$textColor:s(a,u)},m)}export{m as Badge,m as default};
1
+ import{__assign as r}from"../../../node_modules/tslib/tslib.es6.js";import o from"react";import{useTheme as t}from"styled-components";import{crukTheme as e}from"../../themes/cruk.js";import{StyledBadge as i}from"./styles.js";import{themeColorOrString as s}from"../../utils/themeUtils.js";function m(m){var l=m.children,n=m.size,a=void 0===n?"xs":n,d=m.backgroundColor,p=void 0===d?"primary":d,u=m.borderColor,f=void 0===u?"transparent":u,c=m.textColor,b=void 0===c?"textOnPrimary":c,C=m.isSquare,v=t(),x=r(r({},e),v),y=null!=C?C:!("string"==typeof l);return o.createElement(i,{theme:x,$isSquare:y,$size:a,$backgroundColor:s(p,x),$borderColor:s(f,x),$textColor:s(b,x)},l)}export{m as Badge,m as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Badge/index.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport { useTheme } from \"styled-components\";\n\nimport { type SpaceType } from \"../../types\";\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport { StyledBadge } from \"./styles\";\nimport { themeColorOrString } from \"../../utils/themeUtils\";\n\nexport type BadgeProps = {\n /** background colour of badge */\n backgroundColor?: string;\n /** border colour of badge */\n borderColor?: string;\n /** text colour of badge */\n textColor?: string;\n /** size of badge */\n size?: SpaceType;\n /** contents of badge */\n children?: ReactNode;\n /** forces shape to have equal width and height set by size attribute */\n isSquare?: boolean;\n};\n\n/**\n * Displays a numeric or icon indicator. You can use the icon prop to\nindicate the importance of the badge to the user.\n\nNote that depending on how they are used, badges may be confusing for users\nof screen readers and similar assistive technologies. While the styling of\nbadges provides a visual cue as to their purpose, these users will simply\nbe presented with the content of the badge. Depending on the specific\nsituation, these badges may seem like random additional words or numbers\nat the end of a sentence, link, or button. Unless the context is clear,\nconsider including additional context with a visually hidden piece of\nadditional text.\n */\nexport function Badge({\n children,\n size = \"xs\",\n backgroundColor = \"primary\",\n borderColor = \"transparent\",\n textColor = \"textOnPrimary\",\n isSquare,\n}: BadgeProps) {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n\n const isSquareCalculated = isSquare ?? !(typeof children === \"string\");\n\n return (\n <StyledBadge\n theme={theme}\n $isSquare={isSquareCalculated}\n $size={size}\n $backgroundColor={themeColorOrString(backgroundColor, theme)}\n $borderColor={themeColorOrString(borderColor, theme)}\n $textColor={themeColorOrString(textColor, theme)}\n >\n {children}\n </StyledBadge>\n );\n}\n\nexport default Badge;\n"],"names":["Badge","children","size","backgroundColor","borderColor","textColor","isSquare","foundTheme","useTheme","theme","defaultTheme","isSquareCalculated","React","createElement","StyledBadge","$isSquare","$size","$backgroundColor","themeColorOrString","$borderColor"],"mappings":"4NAqCM,SAAUA,GAAMC,SACpBA,EAAQC,KACRA,EAAO,KAAIC,gBACXA,EAAkB,UAASC,YAC3BA,EAAc,cAAaC,UAC3BA,EAAY,gBAAeC,SAC3BA,IAEA,MAAMC,EAAaC,IACbC,EAAQ,IACTC,KACAH,GAGCI,EAAqBL,KAAkC,iBAAbL,GAEhD,OACEW,EAACC,cAAAC,EACC,CAAAL,MAAOA,EAAKM,UACDJ,EAAkBK,MACtBd,EACWe,iBAAAC,EAAmBf,EAAiBM,GACxCU,aAAAD,EAAmBd,EAAaK,cAClCS,EAAmBb,EAAWI,IAEzCR,EAGP"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Badge/index.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport { useTheme } from \"styled-components\";\n\nimport { type SpaceType } from \"../../types\";\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport { StyledBadge } from \"./styles\";\nimport { themeColorOrString } from \"../../utils/themeUtils\";\n\nexport type BadgeProps = {\n /** background colour of badge */\n backgroundColor?: string;\n /** border colour of badge */\n borderColor?: string;\n /** text colour of badge */\n textColor?: string;\n /** size of badge */\n size?: SpaceType;\n /** contents of badge */\n children?: ReactNode;\n /** forces shape to have equal width and height set by size attribute */\n isSquare?: boolean;\n};\n\n/**\n * Displays a numeric or icon indicator. You can use the icon prop to\nindicate the importance of the badge to the user.\n\nNote that depending on how they are used, badges may be confusing for users\nof screen readers and similar assistive technologies. While the styling of\nbadges provides a visual cue as to their purpose, these users will simply\nbe presented with the content of the badge. Depending on the specific\nsituation, these badges may seem like random additional words or numbers\nat the end of a sentence, link, or button. Unless the context is clear,\nconsider including additional context with a visually hidden piece of\nadditional text.\n */\nexport function Badge({\n children,\n size = \"xs\",\n backgroundColor = \"primary\",\n borderColor = \"transparent\",\n textColor = \"textOnPrimary\",\n isSquare,\n}: BadgeProps) {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n\n const isSquareCalculated = isSquare ?? !(typeof children === \"string\");\n\n return (\n <StyledBadge\n theme={theme}\n $isSquare={isSquareCalculated}\n $size={size}\n $backgroundColor={themeColorOrString(backgroundColor, theme)}\n $borderColor={themeColorOrString(borderColor, theme)}\n $textColor={themeColorOrString(textColor, theme)}\n >\n {children}\n </StyledBadge>\n );\n}\n\nexport default Badge;\n"],"names":["Badge","_a","children","_b","size","undefined","_c","backgroundColor","_d","borderColor","_e","textColor","isSquare","foundTheme","useTheme","theme","__assign","defaultTheme","isSquareCalculated","React","createElement","StyledBadge","$isSquare","$size","$backgroundColor","themeColorOrString","$borderColor"],"mappings":"gSAqCM,SAAUA,EAAMC,GACpB,IAAAC,EAAQD,EAAAC,SACRC,EAAWF,EAAAG,KAAXA,OAAIC,IAAAF,EAAG,KAAIA,EACXG,EAAAL,EAAAM,gBAAAA,aAAkB,UAASD,EAC3BE,EAAAP,EAAAQ,YAAAA,OAAcJ,IAAAG,EAAA,gBACdE,EAAAT,EAAAU,UAAAA,OAAYN,IAAAK,EAAA,gBAAeA,EAC3BE,EAAQX,EAAAW,SAEFC,EAAaC,IACbC,EACDC,EAAAA,EAAA,CAAA,EAAAC,GACAJ,GAGCK,EAAqBN,QAAAA,IAAkC,iBAAbV,GAEhD,OACEiB,EAACC,cAAAC,EACC,CAAAN,MAAOA,EAAKO,UACDJ,EAAkBK,MACtBnB,EACWoB,iBAAAC,EAAmBlB,EAAiBQ,GACxCW,aAAAD,EAAmBhB,EAAaM,cAClCU,EAAmBd,EAAWI,IAEzCb,EAGP"}
@@ -1,18 +1,2 @@
1
- import e from"styled-components";const i=e.span`
2
- display: inline-block;
3
- border-width: 1px;
4
- border-style: solid;
5
- text-align: center;
6
- font-size: ${({theme:e})=>e.fontSizes.m};
7
- padding: ${({theme:e,$isSquare:i})=>i?0:e.spacing.xxs};
8
- border-radius: ${({$isSquare:e})=>e?"50%":" 1.5rem"};
9
- height: ${({$isSquare:e,$size:i,theme:s})=>e?`calc(${s.spacing[i]} + ${s.spacing.xs})`:"auto"};
10
- width: ${({$isSquare:e,$size:i,theme:s})=>e?`calc(${s.spacing[i]} + ${s.spacing.xs})`:"auto"};
11
- line-height: ${({$isSquare:e,$size:i,theme:s})=>e?`calc(${s.spacing[i]} + ${s.spacing.xs})`:" 1rem"};
12
- min-width: ${({$size:e,theme:i})=>`calc(${i.spacing[e]} + ${i.spacing.xs})`};
13
-
14
- background-color: ${({$backgroundColor:e})=>e};
15
- border-color: ${({$borderColor:e})=>e};
16
- color: ${({$textColor:e})=>e};
17
- `;export{i as StyledBadge,i as default};
1
+ import{__makeTemplateObject as n}from"../../../node_modules/tslib/tslib.es6.js";import r from"styled-components";var e,t=r.span(e||(e=n(["\n display: inline-block;\n border-width: 1px;\n border-style: solid;\n text-align: center;\n font-size: ",";\n padding: ",";\n border-radius: ",";\n height: ",";\n width: ",";\n line-height: ",";\n min-width: ",";\n\n background-color: ",";\n border-color: ",";\n color: ",";\n"],["\n display: inline-block;\n border-width: 1px;\n border-style: solid;\n text-align: center;\n font-size: ",";\n padding: ",";\n border-radius: ",";\n height: ",";\n width: ",";\n line-height: ",";\n min-width: ",";\n\n background-color: ",";\n border-color: ",";\n color: ",";\n"])),(function(n){return n.theme.fontSizes.m}),(function(n){var r=n.theme;return n.$isSquare?0:r.spacing.xxs}),(function(n){return n.$isSquare?"50%":" 1.5rem"}),(function(n){var r=n.$isSquare,e=n.$size,t=n.theme;return r?"calc(".concat(t.spacing[e]," + ").concat(t.spacing.xs,")"):"auto"}),(function(n){var r=n.$isSquare,e=n.$size,t=n.theme;return r?"calc(".concat(t.spacing[e]," + ").concat(t.spacing.xs,")"):"auto"}),(function(n){var r=n.$isSquare,e=n.$size,t=n.theme;return r?"calc(".concat(t.spacing[e]," + ").concat(t.spacing.xs,")"):" 1rem"}),(function(n){var r=n.$size,e=n.theme;return"calc(".concat(e.spacing[r]," + ").concat(e.spacing.xs,")")}),(function(n){return n.$backgroundColor}),(function(n){return n.$borderColor}),(function(n){return n.$textColor}));export{t as StyledBadge,t as default};
18
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/Badge/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\n\nimport { type SpaceType, type ThemeType } from \"../../types\";\n\nexport const StyledBadge = styled.span<{\n $backgroundColor: string;\n $borderColor: string;\n $textColor: string;\n $isSquare: boolean;\n $size: SpaceType;\n theme: ThemeType;\n}>`\n display: inline-block;\n border-width: 1px;\n border-style: solid;\n text-align: center;\n font-size: ${({ theme }) => theme.fontSizes.m};\n padding: ${({ theme, $isSquare }) => ($isSquare ? 0 : theme.spacing.xxs)};\n border-radius: ${({ $isSquare }) => ($isSquare ? \"50%\" : ` 1.5rem`)};\n height: ${({ $isSquare, $size, theme }) =>\n $isSquare ? `calc(${theme.spacing[$size]} + ${theme.spacing.xs})` : `auto`};\n width: ${({ $isSquare, $size, theme }) =>\n $isSquare ? `calc(${theme.spacing[$size]} + ${theme.spacing.xs})` : `auto`};\n line-height: ${({ $isSquare, $size, theme }) =>\n $isSquare\n ? `calc(${theme.spacing[$size]} + ${theme.spacing.xs})`\n : ` 1rem`};\n min-width: ${({ $size, theme }) =>\n `calc(${theme.spacing[$size]} + ${theme.spacing.xs})`};\n\n background-color: ${({ $backgroundColor }) => $backgroundColor};\n border-color: ${({ $borderColor }) => $borderColor};\n color: ${({ $textColor }) => $textColor};\n`;\n\nexport default StyledBadge;\n"],"names":["StyledBadge","styled","span","theme","fontSizes","m","$isSquare","spacing","xxs","$size","xs","$backgroundColor","$borderColor","$textColor"],"mappings":"iCAIa,MAAAA,EAAcC,EAAOC,IAOhC;;;;;eAKa,EAAGC,WAAYA,EAAMC,UAAUC;aACjC,EAAGF,QAAOG,eAAiBA,EAAY,EAAIH,EAAMI,QAAQC;mBACnD,EAAGF,eAAiBA,EAAY,MAAQ;YAC/C,EAAGA,YAAWG,QAAON,WAC7BG,EAAY,QAAQH,EAAMI,QAAQE,QAAYN,EAAMI,QAAQG,MAAQ;WAC7D,EAAGJ,YAAWG,QAAON,WAC5BG,EAAY,QAAQH,EAAMI,QAAQE,QAAYN,EAAMI,QAAQG,MAAQ;iBACvD,EAAGJ,YAAWG,QAAON,WAClCG,EACI,QAAQH,EAAMI,QAAQE,QAAYN,EAAMI,QAAQG,MAChD;eACO,EAAGD,QAAON,WACrB,QAAQA,EAAMI,QAAQE,QAAYN,EAAMI,QAAQG;;sBAE9B,EAAGC,sBAAuBA;kBAC9B,EAAGC,kBAAmBA;WAC7B,EAAGC,gBAAiBA;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/Badge/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\n\nimport { type SpaceType, type ThemeType } from \"../../types\";\n\nexport const StyledBadge = styled.span<{\n $backgroundColor: string;\n $borderColor: string;\n $textColor: string;\n $isSquare: boolean;\n $size: SpaceType;\n theme: ThemeType;\n}>`\n display: inline-block;\n border-width: 1px;\n border-style: solid;\n text-align: center;\n font-size: ${({ theme }) => theme.fontSizes.m};\n padding: ${({ theme, $isSquare }) => ($isSquare ? 0 : theme.spacing.xxs)};\n border-radius: ${({ $isSquare }) => ($isSquare ? \"50%\" : ` 1.5rem`)};\n height: ${({ $isSquare, $size, theme }) =>\n $isSquare ? `calc(${theme.spacing[$size]} + ${theme.spacing.xs})` : `auto`};\n width: ${({ $isSquare, $size, theme }) =>\n $isSquare ? `calc(${theme.spacing[$size]} + ${theme.spacing.xs})` : `auto`};\n line-height: ${({ $isSquare, $size, theme }) =>\n $isSquare\n ? `calc(${theme.spacing[$size]} + ${theme.spacing.xs})`\n : ` 1rem`};\n min-width: ${({ $size, theme }) =>\n `calc(${theme.spacing[$size]} + ${theme.spacing.xs})`};\n\n background-color: ${({ $backgroundColor }) => $backgroundColor};\n border-color: ${({ $borderColor }) => $borderColor};\n color: ${({ $textColor }) => $textColor};\n`;\n\nexport default StyledBadge;\n"],"names":["StyledBadge","styled","span","templateObject_1","__makeTemplateObject","_a","theme","fontSizes","m","$isSquare","spacing","xxs","$size","concat","xs","$backgroundColor","$borderColor","$textColor"],"mappings":"iHAIO,MAAMA,EAAcC,EAAOC,KAAIC,IAAAA,EAAAC,EAAA,CAAA,iHAAA,iBAAA,uBAAA,gBAAA,eAAA,qBAAA,mBAAA,4BAAA,sBAAA,eAAA,OAAA,CAOpC,iHAK6C,iBAC2B,uBACL,gBAES,eAEA,qBAI/D,mBAE0C,4BAEO,sBACZ,eACX,UAhB1B,SAACC,GAAc,OAAPA,EAAAC,MAAaC,UAAUC,CAAhB,IACjB,SAACH,OAAEC,EAAKD,EAAAC,MAAkB,OAAPD,EAAAI,UAAoB,EAAIH,EAAMI,QAAQC,GAA/B,IACpB,SAACN,GAAkB,OAAPA,EAAAI,UAAoB,MAAQ,SAArB,IAC1B,SAACJ,GAAE,IAAAI,cAAWG,EAAKP,EAAAO,MAAEN,EAAKD,EAAAC,MAClC,OAAAG,EAAY,eAAQH,EAAMI,QAAQE,GAAY,OAAAC,OAAAP,EAAMI,QAAQI,GAAK,KAAG,MAApE,IACO,SAACT,GAAE,IAAAI,cAAWG,EAAKP,EAAAO,MAAEN,EAAKD,EAAAC,MACjC,OAAAG,EAAY,eAAQH,EAAMI,QAAQE,GAAY,OAAAC,OAAAP,EAAMI,QAAQI,GAAK,KAAG,MAApE,IACa,SAACT,GAAE,IAAAI,cAAWG,EAAKP,EAAAO,MAAEN,EAAKD,EAAAC,MACvC,OAAAG,EACI,QAAAI,OAAQP,EAAMI,QAAQE,GAAM,OAAAC,OAAMP,EAAMI,QAAQI,GAAK,KACrD,OAFJ,IAGW,SAACT,OAAEO,EAAKP,EAAAO,MAAEN,EAAKD,EAAAC,MAC1B,MAAA,QAAQO,OAAAP,EAAMI,QAAQE,GAAM,OAAAC,OAAMP,EAAMI,QAAQI,GAAK,IAArD,IAEkB,SAACT,GAAyB,OAAPA,EAAAU,gBAAO,IAC9B,SAACV,GAAqB,OAAPA,EAAAW,YAAO,IAC7B,SAACX,GAAmB,OAAPA,EAAAY,UAAO"}
@@ -1,2 +1,2 @@
1
- import r from"react";import{useTheme as o}from"styled-components";import{crukTheme as e}from"../../themes/cruk.js";import{spacingPropsToSpacingPropsInternal as t}from"../Spacing/index.js";import{StyledBox as m}from"./styles.js";const n=({...n})=>{const{children:s,backgroundColor:c,ref:f,...i}=n,p=o(),a={...e,...p},l=t(i);return r.createElement(m,{theme:a,$backgroundColor:c,...l,ref:f},s)};export{n as Box,n as default};
1
+ import{__rest as r,__assign as o}from"../../../node_modules/tslib/tslib.es6.js";import e from"react";import{useTheme as t}from"styled-components";import{crukTheme as m}from"../../themes/cruk.js";import{spacingPropsToSpacingPropsInternal as n}from"../Spacing/index.js";import{StyledBox as s}from"./styles.js";var i=function(i){var l=r(i,[]),c=l.children,f=l.backgroundColor,a=l.ref,d=r(l,["children","backgroundColor","ref"]),p=t(),u=o(o({},m),p),b=n(d);return e.createElement(s,o({theme:u,$backgroundColor:f},b,{ref:a}),c)};export{i as Box,i as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Box/index.tsx"],"sourcesContent":["import React, {\n type HTMLAttributes,\n type Ref,\n type ReactNode,\n type ElementType,\n} from \"react\";\nimport { useTheme } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport {\n spacingPropsToSpacingPropsInternal,\n type SpacingProps,\n} from \"../Spacing\";\nimport { StyledBox } from \"./styles\";\n\nexport type BoxProps = SpacingProps &\n HTMLAttributes<HTMLElement> & {\n /** background color of box, this will add default padding */\n backgroundColor?: string;\n ref?: Ref<HTMLDivElement>;\n children?: ReactNode;\n /** styled-component polymorphic feature so you take the styling of a box and cast the component to be a \"span\" for example */\n as?: ElementType;\n };\n\n/**\n * Box is used to wrap other components to add margin and padding.\n * The values will be in the t-shirt sizes specified in the theme sizes.\n * The more specific the the target the higher priority the css will have.\n * For example `margin` will be overridden by the `marginVertical` or `marginHorizontal` props. `marginTop`, `marginBottom`, `marginLeft`, `marginRight` will override the the `marginVertical` and `marginHorizontal` props.\n */\nexport const Box = ({ ...props }: BoxProps) => {\n const { children, backgroundColor, ref, ...rest } = props;\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n const restWithInternalSpacingProps = spacingPropsToSpacingPropsInternal(rest);\n\n return (\n <StyledBox\n theme={theme}\n $backgroundColor={backgroundColor}\n {...restWithInternalSpacingProps}\n ref={ref}\n >\n {children}\n </StyledBox>\n );\n};\n\nexport default Box;\n"],"names":["Box","props","children","backgroundColor","ref","rest","foundTheme","useTheme","theme","defaultTheme","restWithInternalSpacingProps","spacingPropsToSpacingPropsInternal","React","createElement","StyledBox","$backgroundColor"],"mappings":"oOAgCa,MAAAA,EAAM,KAAMC,MACvB,MAAMC,SAAEA,EAAQC,gBAAEA,EAAeC,IAAEA,KAAQC,GAASJ,EAC9CK,EAAaC,IACbC,EAAQ,IACTC,KACAH,GAECI,EAA+BC,EAAmCN,GAExE,OACEO,EAACC,cAAAC,GACCN,MAAOA,EACWO,iBAAAZ,KACdO,EACJN,IAAKA,GAEJF,EACS"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Box/index.tsx"],"sourcesContent":["import React, {\n type HTMLAttributes,\n type Ref,\n type ReactNode,\n type ElementType,\n} from \"react\";\nimport { useTheme } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\n\nimport {\n spacingPropsToSpacingPropsInternal,\n type SpacingProps,\n} from \"../Spacing\";\nimport { StyledBox } from \"./styles\";\n\nexport type BoxProps = SpacingProps &\n HTMLAttributes<HTMLElement> & {\n /** background color of box, this will add default padding */\n backgroundColor?: string;\n ref?: Ref<HTMLDivElement>;\n children?: ReactNode;\n /** styled-component polymorphic feature so you take the styling of a box and cast the component to be a \"span\" for example */\n as?: ElementType;\n };\n\n/**\n * Box is used to wrap other components to add margin and padding.\n * The values will be in the t-shirt sizes specified in the theme sizes.\n * The more specific the the target the higher priority the css will have.\n * For example `margin` will be overridden by the `marginVertical` or `marginHorizontal` props. `marginTop`, `marginBottom`, `marginLeft`, `marginRight` will override the the `marginVertical` and `marginHorizontal` props.\n */\nexport const Box = ({ ...props }: BoxProps) => {\n const { children, backgroundColor, ref, ...rest } = props;\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n const restWithInternalSpacingProps = spacingPropsToSpacingPropsInternal(rest);\n\n return (\n <StyledBox\n theme={theme}\n $backgroundColor={backgroundColor}\n {...restWithInternalSpacingProps}\n ref={ref}\n >\n {children}\n </StyledBox>\n );\n};\n\nexport default Box;\n"],"names":["Box","_a","props","__rest","children","backgroundColor","ref","rest","foundTheme","useTheme","theme","__assign","defaultTheme","restWithInternalSpacingProps","spacingPropsToSpacingPropsInternal","React","createElement","StyledBox","$backgroundColor"],"mappings":"oTAgCO,IAAMA,EAAM,SAACC,OAAKC,EAAKC,EAAAF,EAAV,IACVG,EAA4CF,EAAKE,SAAvCC,EAAkCH,EAAnBG,gBAAEC,EAAiBJ,MAATK,IAASL,EAA9C,CAA2C,WAAA,kBAAA,QAC3CM,EAAaC,IACbC,EACDC,EAAAA,EAAA,CAAA,EAAAC,GACAJ,GAECK,EAA+BC,EAAmCP,GAExE,OACEQ,EAACC,cAAAC,KACCP,MAAOA,EACWQ,iBAAAb,GACdQ,EAA4B,CAChCP,IAAKA,IAEJF,EAGP"}
@@ -1,14 +1,2 @@
1
- import o from"styled-components";import{spacing as r}from"../Spacing/index.js";const t=o.div`
2
- background-color: ${({theme:o})=>o.colors.backgroundLight};
3
- padding: ${({theme:o,$backgroundColor:r})=>r?o.spacing.s:0};
4
- margin: 0 0 ${({theme:o})=>o.spacing.m} 0;
5
-
6
- &:last-child {
7
- margin-bottom: 0;
8
- }
9
-
10
- background-color: ${({theme:o,$backgroundColor:r})=>r&&void 0!==o.colors[r]?o.colors[r]:r||"transparent"};
11
-
12
- ${o=>r(o,o.theme)}
13
- `;export{t as StyledBox,t as default};
1
+ import{__makeTemplateObject as n}from"../../../node_modules/tslib/tslib.es6.js";import o from"styled-components";import{spacing as r}from"../Spacing/index.js";var t,a=o.div(t||(t=n(["\n background-color: ",";\n padding: ",";\n margin: 0 0 "," 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n background-color: ",";\n\n ","\n"],["\n background-color: ",";\n padding: ",";\n margin: 0 0 "," 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n background-color: ",";\n\n ","\n"])),(function(n){return n.theme.colors.backgroundLight}),(function(n){var o=n.theme;return n.$backgroundColor?o.spacing.s:0}),(function(n){return n.theme.spacing.m}),(function(n){var o=n.theme,r=n.$backgroundColor;return r&&void 0!==o.colors[r]?o.colors[r]:r||"transparent"}),(function(n){return r(n,n.theme)}));export{a as StyledBox,a as default};
14
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/Box/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\n\nimport { spacing, type SpacingPropsInternal } from \"../Spacing\";\nimport { type ColorKeyType, type ThemeType } from \"../../types\";\n\ntype StyledBoxProps = SpacingPropsInternal & {\n $backgroundColor?: string;\n $css?: string;\n theme: ThemeType;\n};\n\nexport const StyledBox = styled.div<StyledBoxProps>`\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n padding: ${({ theme, $backgroundColor }) =>\n $backgroundColor ? theme.spacing.s : 0};\n margin: 0 0 ${({ theme }) => theme.spacing.m} 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n background-color: ${({ theme, $backgroundColor }) =>\n $backgroundColor &&\n typeof theme.colors[$backgroundColor as ColorKeyType] !== \"undefined\"\n ? theme.colors[$backgroundColor as ColorKeyType]\n : $backgroundColor || \"transparent\"};\n\n ${(props) => spacing(props, props.theme as ThemeType)}\n`;\n\nexport default StyledBox;\n"],"names":["StyledBox","styled","div","theme","colors","backgroundLight","$backgroundColor","spacing","s","m","props"],"mappings":"+EAWa,MAAAA,EAAYC,EAAOC,GAAmB;sBAC7B,EAAGC,WAAYA,EAAMC,OAAOC;aACrC,EAAGF,QAAOG,sBACnBA,EAAmBH,EAAMI,QAAQC,EAAI;gBACzB,EAAGL,WAAYA,EAAMI,QAAQE;;;;;;sBAMvB,EAAGN,QAAOG,sBAC5BA,QAC0D,IAAnDH,EAAMC,OAAOE,GAChBH,EAAMC,OAAOE,GACbA,GAAoB;;IAEvBI,GAAUH,EAAQG,EAAOA,EAAMP;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/Box/styles.ts"],"sourcesContent":["import styled from \"styled-components\";\n\nimport { spacing, type SpacingPropsInternal } from \"../Spacing\";\nimport { type ColorKeyType, type ThemeType } from \"../../types\";\n\ntype StyledBoxProps = SpacingPropsInternal & {\n $backgroundColor?: string;\n $css?: string;\n theme: ThemeType;\n};\n\nexport const StyledBox = styled.div<StyledBoxProps>`\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n padding: ${({ theme, $backgroundColor }) =>\n $backgroundColor ? theme.spacing.s : 0};\n margin: 0 0 ${({ theme }) => theme.spacing.m} 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n background-color: ${({ theme, $backgroundColor }) =>\n $backgroundColor &&\n typeof theme.colors[$backgroundColor as ColorKeyType] !== \"undefined\"\n ? theme.colors[$backgroundColor as ColorKeyType]\n : $backgroundColor || \"transparent\"};\n\n ${(props) => spacing(props, props.theme as ThemeType)}\n`;\n\nexport default StyledBox;\n"],"names":["StyledBox","styled","div","_a","theme","colors","backgroundLight","$backgroundColor","spacing","s","m","props"],"mappings":"qKAWaA,EAAYC,EAAOC,0KAAmB,yBACc,iBAEvB,oBACI,8EAUL,UAEc,SAfjC,SAACC,GAAc,OAAPA,EAAAC,MAAaC,OAAOC,eAAb,IACxB,SAACH,OAAEC,EAAKD,EAAAC,MACjB,OADmCD,EAAAI,iBAChBH,EAAMI,QAAQC,EAAI,CAArC,IACY,SAACN,GAAc,OAAPA,EAAAC,MAAaI,QAAQE,CAAd,IAMT,SAACP,OAAEC,EAAKD,EAAAC,MAAEG,EAAgBJ,EAAAI,iBAC5C,OAAAA,QAC0D,IAAnDH,EAAMC,OAAOE,GAChBH,EAAMC,OAAOE,GACbA,GAAoB,aAHxB,IAKA,SAACI,GAAU,OAAAH,EAAQG,EAAOA,EAAMP,MAAmB"}
@@ -1,2 +1,2 @@
1
- import e from"react";import{useTheme as t}from"styled-components";import{crukTheme as r}from"../../themes/cruk.js";import{IconFa as n}from"../IconFa/index.js";import{StyledButton as o,Spacer as l}from"./styles.js";const m=m=>{const a=t(),i={...r,...a},{appearance:s="primary",isIconButton:c=!1,full:p=!1,size:f="m",children:h,ref:u,...d}=m,y=e.Children.toArray(h),$="string"==typeof y[0],g=y[0],j=!(!c&&(1===y.length&&!$&&g?.type)!==n);return e.createElement(o,{as:m.href?"a":"button",...m.href?{role:"button"}:{},$full:!!p,$size:f,$appearance:s,$isIconButton:j,...d,theme:i,ref:u},m.children&&y.length?e.Children.map(m.children,((t,r)=>e.createElement(l,{theme:i,key:r},t))):null)};export{m as Button,m as default};
1
+ import{__assign as e,__rest as r}from"../../../node_modules/tslib/tslib.es6.js";import t from"react";import{useTheme as o}from"styled-components";import{crukTheme as n}from"../../themes/cruk.js";import{IconFa as i}from"../IconFa/index.js";import{StyledButton as l,Spacer as a}from"./styles.js";var m=function(m){var s=o(),c=e(e({},n),s),f=m.appearance,p=void 0===f?"primary":f,u=m.isIconButton,d=void 0!==u&&u,h=m.full,v=void 0!==h&&h,y=m.size,b=void 0===y?"m":y,j=m.children,I=m.ref,$=r(m,["appearance","isIconButton","full","size","children","ref"]),g=t.Children.toArray(j),z="string"==typeof g[0],B=g[0],k=!(!d&&(1===g.length&&!z&&(null==B?void 0:B.type))!==i);return t.createElement(l,e({as:m.href?"a":"button"},m.href?{role:"button"}:{},{$full:!!v,$size:b,$appearance:p,$isIconButton:k},$,{theme:c,ref:I}),m.children&&g.length?t.Children.map(m.children,(function(e,r){return t.createElement(a,{theme:c,key:r},e)})):null)};export{m as Button,m as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Button/index.tsx"],"sourcesContent":["import React, {\n type ReactNode,\n type ButtonHTMLAttributes,\n type Ref,\n type ReactElement,\n type ElementType,\n} from \"react\";\nimport { useTheme } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\nimport { IconFa } from \"../IconFa\";\n\nimport { Spacer, StyledButton } from \"./styles\";\nimport { type ButtonAppearanceType } from \"../../types\";\n\nexport type ButtonProps = ButtonHTMLAttributes<HTMLElement> & {\n /** the look and feel of the button */\n appearance?: ButtonAppearanceType;\n /** flag to stretch but to 100% width */\n full?: boolean;\n /** this is a url which will convert the button to an anchor tag */\n href?: string;\n /** the height of the button, this will add padding not increase text size */\n size?: \"m\" | \"l\";\n css?: unknown;\n /** styled-components polymorphism where you can use the styling of a button but convert to another element like an anchor tag */\n as?: ElementType;\n /** flag to force button into an icon button shape which is square or round */\n isIconButton?: boolean;\n /** Element reference */\n ref?: Ref<HTMLElement>;\n /** Component reference */\n children?: ReactNode;\n};\n\n/**\n * Design system documentation CRUK https://zeroheight.com/23de8a59a/p/180ef6-buttons/b/32e1a2\n *\n * Design system documentation SU2C https://zeroheight.com/79db39f7e/p/22ff0e-button/b/32e1a2\n */\nexport const Button = (props: ButtonProps) => {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n const {\n appearance = \"primary\",\n isIconButton = false,\n full = false,\n size = \"m\",\n children,\n ref,\n ...rest\n } = props;\n\n const childArray = React.Children.toArray(children);\n const isChildString = typeof childArray[0] === \"string\";\n const firstElement = childArray[0] as ReactElement<HTMLElement>;\n\n // button has a fixed width if there is a single icon\n const setIconButton = !!(\n isIconButton ||\n (childArray.length === 1 && !isChildString && firstElement?.type) === IconFa\n );\n\n return (\n <StyledButton\n as={props.href ? \"a\" : \"button\"}\n {...(props.href ? { role: \"button\" } : {})}\n $full={!!full}\n $size={size}\n $appearance={appearance}\n $isIconButton={setIconButton}\n {...rest}\n theme={theme}\n ref={ref}\n >\n {props.children && childArray.length\n ? React.Children.map(\n props.children,\n (child: ReactNode, index: number) => (\n <Spacer theme={theme} key={index}>\n {child}\n </Spacer>\n ),\n )\n : null}\n </StyledButton>\n );\n};\n\nexport default Button;\n"],"names":["Button","props","foundTheme","useTheme","theme","defaultTheme","appearance","isIconButton","full","size","children","ref","rest","childArray","React","Children","toArray","isChildString","firstElement","setIconButton","length","type","IconFa","createElement","StyledButton","as","href","role","$full","$size","$appearance","$isIconButton","map","child","index","Spacer","key"],"mappings":"sNAwCa,MAAAA,EAAUC,IACrB,MAAMC,EAAaC,IACbC,EAAQ,IACTC,KACAH,IAECI,WACJA,EAAa,UAASC,aACtBA,GAAe,EAAKC,KACpBA,GAAO,EAAKC,KACZA,EAAO,IAAGC,SACVA,EAAQC,IACRA,KACGC,GACDX,EAEEY,EAAaC,EAAMC,SAASC,QAAQN,GACpCO,EAAyC,iBAAlBJ,EAAW,GAClCK,EAAeL,EAAW,GAG1BM,KACJZ,IACuB,IAAtBM,EAAWO,SAAiBH,GAAiBC,GAAcG,QAAUC,GAGxE,OACER,EAAAS,cAACC,EAAY,CACXC,GAAIxB,EAAMyB,KAAO,IAAM,YAClBzB,EAAMyB,KAAO,CAAEC,KAAM,UAAa,CAAA,EAChCC,QAAEpB,EACFqB,MAAApB,EACMqB,YAAAxB,EACEyB,cAAAZ,KACXP,EACJR,MAAOA,EACPO,IAAKA,GAEJV,EAAMS,UAAYG,EAAWO,OAC1BN,EAAMC,SAASiB,IACb/B,EAAMS,UACN,CAACuB,EAAkBC,IACjBpB,EAAAS,cAACY,EAAM,CAAC/B,MAAOA,EAAOgC,IAAKF,GACxBD,KAIP,KACS"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Button/index.tsx"],"sourcesContent":["import React, {\n type ReactNode,\n type ButtonHTMLAttributes,\n type Ref,\n type ReactElement,\n type ElementType,\n} from \"react\";\nimport { useTheme } from \"styled-components\";\n\nimport { crukTheme as defaultTheme } from \"../../themes/cruk\";\nimport { IconFa } from \"../IconFa\";\n\nimport { Spacer, StyledButton } from \"./styles\";\nimport { type ButtonAppearanceType } from \"../../types\";\n\nexport type ButtonProps = ButtonHTMLAttributes<HTMLElement> & {\n /** the look and feel of the button */\n appearance?: ButtonAppearanceType;\n /** flag to stretch but to 100% width */\n full?: boolean;\n /** this is a url which will convert the button to an anchor tag */\n href?: string;\n /** the height of the button, this will add padding not increase text size */\n size?: \"m\" | \"l\";\n css?: unknown;\n /** styled-components polymorphism where you can use the styling of a button but convert to another element like an anchor tag */\n as?: ElementType;\n /** flag to force button into an icon button shape which is square or round */\n isIconButton?: boolean;\n /** Element reference */\n ref?: Ref<HTMLElement>;\n /** Component reference */\n children?: ReactNode;\n};\n\n/**\n * Design system documentation CRUK https://zeroheight.com/23de8a59a/p/180ef6-buttons/b/32e1a2\n *\n * Design system documentation SU2C https://zeroheight.com/79db39f7e/p/22ff0e-button/b/32e1a2\n */\nexport const Button = (props: ButtonProps) => {\n const foundTheme = useTheme();\n const theme = {\n ...defaultTheme,\n ...foundTheme,\n };\n const {\n appearance = \"primary\",\n isIconButton = false,\n full = false,\n size = \"m\",\n children,\n ref,\n ...rest\n } = props;\n\n const childArray = React.Children.toArray(children);\n const isChildString = typeof childArray[0] === \"string\";\n const firstElement = childArray[0] as ReactElement<HTMLElement>;\n\n // button has a fixed width if there is a single icon\n const setIconButton = !!(\n isIconButton ||\n (childArray.length === 1 && !isChildString && firstElement?.type) === IconFa\n );\n\n return (\n <StyledButton\n as={props.href ? \"a\" : \"button\"}\n {...(props.href ? { role: \"button\" } : {})}\n $full={!!full}\n $size={size}\n $appearance={appearance}\n $isIconButton={setIconButton}\n {...rest}\n theme={theme}\n ref={ref}\n >\n {props.children && childArray.length\n ? React.Children.map(\n props.children,\n (child: ReactNode, index: number) => (\n <Spacer theme={theme} key={index}>\n {child}\n </Spacer>\n ),\n )\n : null}\n </StyledButton>\n );\n};\n\nexport default Button;\n"],"names":["Button","props","foundTheme","useTheme","theme","__assign","defaultTheme","_a","appearance","_b","isIconButton","undefined","_c","full","_d","size","children","ref","rest","childArray","React","Children","toArray","isChildString","firstElement","setIconButton","length","type","IconFa","createElement","StyledButton","as","href","role","$full","$size","$appearance","$isIconButton","map","child","index","Spacer","key"],"mappings":"sSAwCO,IAAMA,EAAS,SAACC,GACrB,IAAMC,EAAaC,IACbC,EACDC,EAAAA,EAAA,CAAA,EAAAC,GACAJ,GAGHK,EAOEN,EAAKO,WAPPA,aAAa,UAASD,EACtBE,EAMER,EAAKS,aANPA,OAAYC,IAAAF,GAAQA,EACpBG,EAKEX,EALUY,KAAZA,OAAIF,IAAAC,GAAQA,EACZE,EAIEb,EAJQc,KAAVA,OAAIJ,IAAAG,EAAG,IAAGA,EACVE,EAGEf,EAAKe,SAFPC,EAEEhB,EAAKgB,IADJC,IACDjB,EARE,CAQL,aAAA,eAAA,OAAA,OAAA,WAAA,QAEKkB,EAAaC,EAAMC,SAASC,QAAQN,GACpCO,EAAyC,iBAAlBJ,EAAW,GAClCK,EAAeL,EAAW,GAG1BM,KACJf,IACuB,IAAtBS,EAAWO,SAAiBH,IAAiBC,aAAYb,EAAZa,EAAcG,SAAUC,GAGxE,OACER,EAAAS,cAACC,EAAYzB,EAAA,CACX0B,GAAI9B,EAAM+B,KAAO,IAAM,UAClB/B,EAAM+B,KAAO,CAAEC,KAAM,UAAa,CAAA,EAChC,CAAAC,QAAErB,EACFsB,MAAApB,EACMqB,YAAA5B,EACE6B,cAAAZ,GACXP,EACJ,CAAAd,MAAOA,EACPa,IAAKA,IAEJhB,EAAMe,UAAYG,EAAWO,OAC1BN,EAAMC,SAASiB,IACbrC,EAAMe,UACN,SAACuB,EAAkBC,GAAkB,OACnCpB,EAAAS,cAACY,EAAM,CAACrC,MAAOA,EAAOsC,IAAKF,GACxBD,EAEJ,IAEH,KAGV"}