@thecb/components 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/.eslintrc.json +29 -0
  2. package/.github/PULL_REQUEST_TEMPLATE.md +18 -0
  3. package/.github/stale.yml +17 -0
  4. package/.prettierignore +3 -0
  5. package/.tool-versions +1 -0
  6. package/README.md +149 -0
  7. package/dist/cb-components.cjs.js +77 -0
  8. package/package.json +96 -0
  9. package/rollup.config.js +35 -0
  10. package/src/components/atoms/alert/Alert.js +67 -0
  11. package/src/components/atoms/alert/Alert.theme.js +71 -0
  12. package/src/components/atoms/alert/index.js +3 -0
  13. package/src/components/atoms/amount-callout/AmountCallout.js +27 -0
  14. package/src/components/atoms/amount-callout/AmountCallout.theme.js +19 -0
  15. package/src/components/atoms/amount-callout/index.js +3 -0
  16. package/src/components/atoms/breadcrumb/Breadcrumb.js +50 -0
  17. package/src/components/atoms/breadcrumb/Breadcrumb.theme.js +25 -0
  18. package/src/components/atoms/breadcrumb/index.js +3 -0
  19. package/src/components/atoms/button-with-action/ButtonWithAction.js +128 -0
  20. package/src/components/atoms/button-with-action/ButtonWithAction.stories.js +125 -0
  21. package/src/components/atoms/button-with-action/ButtonWithAction.theme.js +360 -0
  22. package/src/components/atoms/button-with-action/index.js +3 -0
  23. package/src/components/atoms/button-with-link/ButtonWithLink.js +40 -0
  24. package/src/components/atoms/button-with-link/index.js +3 -0
  25. package/src/components/atoms/checkbox/Checkbox.js +143 -0
  26. package/src/components/atoms/checkbox/Checkbox.theme.js +54 -0
  27. package/src/components/atoms/checkbox/index.js +3 -0
  28. package/src/components/atoms/checkbox-list/CheckboxList.js +129 -0
  29. package/src/components/atoms/checkbox-list/CheckboxList.theme.js +42 -0
  30. package/src/components/atoms/checkbox-list/index.js +3 -0
  31. package/src/components/atoms/country-dropdown/CountryDropdown.js +24 -0
  32. package/src/components/atoms/country-dropdown/index.js +1 -0
  33. package/src/components/atoms/country-dropdown/options.js +249 -0
  34. package/src/components/atoms/display-box/DisplayBox.js +22 -0
  35. package/src/components/atoms/display-box/DisplayBox.theme.js +9 -0
  36. package/src/components/atoms/display-box/index.js +3 -0
  37. package/src/components/atoms/display-card/DisplayCard.js +65 -0
  38. package/src/components/atoms/display-card/index.js +3 -0
  39. package/src/components/atoms/dropdown/Dropdown.js +299 -0
  40. package/src/components/atoms/dropdown/Dropdown.theme.js +9 -0
  41. package/src/components/atoms/dropdown/DropdownIcon.js +31 -0
  42. package/src/components/atoms/dropdown/index.js +3 -0
  43. package/src/components/atoms/form-layouts/FormContainer.js +28 -0
  44. package/src/components/atoms/form-layouts/FormInput.js +218 -0
  45. package/src/components/atoms/form-layouts/FormInputColumn.js +15 -0
  46. package/src/components/atoms/form-layouts/FormInputRow.js +26 -0
  47. package/src/components/atoms/form-layouts/FormLayouts.theme.js +52 -0
  48. package/src/components/atoms/form-layouts/index.js +6 -0
  49. package/src/components/atoms/form-select/FormSelect.js +62 -0
  50. package/src/components/atoms/form-select/FormSelect.styled.js +65 -0
  51. package/src/components/atoms/form-select/index.js +3 -0
  52. package/src/components/atoms/formatted-address/FormattedAddress.js +53 -0
  53. package/src/components/atoms/formatted-address/FormattedAddress.theme.js +11 -0
  54. package/src/components/atoms/formatted-address/index.js +3 -0
  55. package/src/components/atoms/hamburger-button/HamburgerButton.js +113 -0
  56. package/src/components/atoms/hamburger-button/index.js +3 -0
  57. package/src/components/atoms/heading/Heading.js +37 -0
  58. package/src/components/atoms/heading/Heading.styled.js +14 -0
  59. package/src/components/atoms/heading/Heading.theme.js +18 -0
  60. package/src/components/atoms/heading/index.js +3 -0
  61. package/src/components/atoms/icons/AccountsAddIcon.js +42 -0
  62. package/src/components/atoms/icons/AccountsIcon.js +37 -0
  63. package/src/components/atoms/icons/AccountsIconSmall.js +63 -0
  64. package/src/components/atoms/icons/ChevronIcon.js +51 -0
  65. package/src/components/atoms/icons/ForgotPasswordIcon.js +46 -0
  66. package/src/components/atoms/icons/GoToEmailIcon.js +31 -0
  67. package/src/components/atoms/icons/Icons.theme.js +38 -0
  68. package/src/components/atoms/icons/PaymentMethodIcon.js +42 -0
  69. package/src/components/atoms/icons/PaymentsIconSmall.js +63 -0
  70. package/src/components/atoms/icons/ProfileIconSmall.js +44 -0
  71. package/src/components/atoms/icons/PropertiesAddIcon.js +70 -0
  72. package/src/components/atoms/icons/PropertiesIconSmall.js +32 -0
  73. package/src/components/atoms/icons/SettingsIconSmall.js +63 -0
  74. package/src/components/atoms/icons/VerifiedEmailIcon.js +53 -0
  75. package/src/components/atoms/icons/index.js +28 -0
  76. package/src/components/atoms/index.js +33 -0
  77. package/src/components/atoms/labeled-amount/LabeledAmount.js +35 -0
  78. package/src/components/atoms/labeled-amount/LabeledAmount.theme.js +10 -0
  79. package/src/components/atoms/labeled-amount/index.js +3 -0
  80. package/src/components/atoms/layouts/Box.js +83 -0
  81. package/src/components/atoms/layouts/Box.styled.js +131 -0
  82. package/src/components/atoms/layouts/Center.js +28 -0
  83. package/src/components/atoms/layouts/Center.styled.js +18 -0
  84. package/src/components/atoms/layouts/Cluster.js +37 -0
  85. package/src/components/atoms/layouts/Cluster.styled.js +21 -0
  86. package/src/components/atoms/layouts/Cover.js +49 -0
  87. package/src/components/atoms/layouts/Cover.styled.js +29 -0
  88. package/src/components/atoms/layouts/Frame.js +28 -0
  89. package/src/components/atoms/layouts/Frame.styled.js +27 -0
  90. package/src/components/atoms/layouts/Grid.js +38 -0
  91. package/src/components/atoms/layouts/Grid.styled.js +22 -0
  92. package/src/components/atoms/layouts/Imposter.js +52 -0
  93. package/src/components/atoms/layouts/Imposter.styled.js +19 -0
  94. package/src/components/atoms/layouts/Motion.js +51 -0
  95. package/src/components/atoms/layouts/Motion.styled.js +41 -0
  96. package/src/components/atoms/layouts/Reel.js +28 -0
  97. package/src/components/atoms/layouts/Reel.styled.js +17 -0
  98. package/src/components/atoms/layouts/Sidebar.js +42 -0
  99. package/src/components/atoms/layouts/Sidebar.styled.js +38 -0
  100. package/src/components/atoms/layouts/Stack.js +36 -0
  101. package/src/components/atoms/layouts/Stack.styled.js +30 -0
  102. package/src/components/atoms/layouts/Switcher.js +64 -0
  103. package/src/components/atoms/layouts/Switcher.styled.js +44 -0
  104. package/src/components/atoms/layouts/examples/FixedSizeContainer.js +22 -0
  105. package/src/components/atoms/layouts/examples/FixedSizeContainer.styled.js +20 -0
  106. package/src/components/atoms/layouts/examples/LayoutContentBlock.js +27 -0
  107. package/src/components/atoms/layouts/examples/LayoutContentBlock.styled.js +15 -0
  108. package/src/components/atoms/layouts/examples/ResizingContainer.js +49 -0
  109. package/src/components/atoms/layouts/examples/ResizingContainer.styled.js +39 -0
  110. package/src/components/atoms/layouts/examples/cluster-example/ClusterExample.js +10 -0
  111. package/src/components/atoms/layouts/examples/cluster-example/ClusterExample.stories.js +97 -0
  112. package/src/components/atoms/layouts/examples/grid-example/GridExample.js +49 -0
  113. package/src/components/atoms/layouts/examples/grid-example/GridExample.stories.js +44 -0
  114. package/src/components/atoms/layouts/examples/sidebar-example/SidebarExample.js +11 -0
  115. package/src/components/atoms/layouts/examples/sidebar-example/SidebarExample.stories.js +87 -0
  116. package/src/components/atoms/layouts/examples/stack-example/StackExample.js +27 -0
  117. package/src/components/atoms/layouts/examples/stack-example/StackExample.stories.js +69 -0
  118. package/src/components/atoms/layouts/examples/switcher-example/SwitcherExample.js +38 -0
  119. package/src/components/atoms/layouts/examples/switcher-example/SwitcherExample.stories.js +65 -0
  120. package/src/components/atoms/layouts/index.js +27 -0
  121. package/src/components/atoms/line-item/LineItem.js +30 -0
  122. package/src/components/atoms/line-item/LineItem.theme.js +7 -0
  123. package/src/components/atoms/line-item/index.js +3 -0
  124. package/src/components/atoms/link/ExternalLink.js +50 -0
  125. package/src/components/atoms/link/ExternalLink.styled.js +26 -0
  126. package/src/components/atoms/link/InternalLink.js +51 -0
  127. package/src/components/atoms/link/InternalLink.styled.js +39 -0
  128. package/src/components/atoms/link/Link.theme.js +8 -0
  129. package/src/components/atoms/link/index.js +4 -0
  130. package/src/components/atoms/nav-footer/NavFooter.js +57 -0
  131. package/src/components/atoms/nav-footer/index.js +3 -0
  132. package/src/components/atoms/nav-header/NavHeader.js +36 -0
  133. package/src/components/atoms/nav-header/index.js +3 -0
  134. package/src/components/atoms/paragraph/Paragraph.js +31 -0
  135. package/src/components/atoms/paragraph/Paragraph.styled.js +13 -0
  136. package/src/components/atoms/paragraph/Paragraph.theme.js +18 -0
  137. package/src/components/atoms/paragraph/index.js +3 -0
  138. package/src/components/atoms/password-requirements/PasswordRequirements.js +116 -0
  139. package/src/components/atoms/password-requirements/index.js +3 -0
  140. package/src/components/atoms/placeholder/Placeholder.js +122 -0
  141. package/src/components/atoms/placeholder/Placeholder.theme.js +9 -0
  142. package/src/components/atoms/placeholder/index.js +3 -0
  143. package/src/components/atoms/processing-fee/ProcessingFee.js +43 -0
  144. package/src/components/atoms/processing-fee/ProcessingFee.theme.js +7 -0
  145. package/src/components/atoms/processing-fee/index.js +3 -0
  146. package/src/components/atoms/radio-button/RadioButton.js +101 -0
  147. package/src/components/atoms/radio-button/RadioButton.theme.js +9 -0
  148. package/src/components/atoms/radio-button/index.js +3 -0
  149. package/src/components/atoms/solid-divider/SolidDivider.js +22 -0
  150. package/src/components/atoms/solid-divider/SolidDivider.theme.js +8 -0
  151. package/src/components/atoms/solid-divider/index.js +3 -0
  152. package/src/components/atoms/spinner/Spinner.js +61 -0
  153. package/src/components/atoms/spinner/Spinner.theme.js +5 -0
  154. package/src/components/atoms/spinner/index.js +3 -0
  155. package/src/components/atoms/state-province-dropdown/StateProvinceDropdown.js +28 -0
  156. package/src/components/atoms/state-province-dropdown/index.js +3 -0
  157. package/src/components/atoms/state-province-dropdown/options.js +3837 -0
  158. package/src/components/atoms/text/Text.js +37 -0
  159. package/src/components/atoms/text/Text.styled.js +32 -0
  160. package/src/components/atoms/text/Text.theme.js +22 -0
  161. package/src/components/atoms/text/index.js +3 -0
  162. package/src/components/atoms/toggle-switch/ToggleSwitch.js +212 -0
  163. package/src/components/atoms/toggle-switch/ToggleSwitch.theme.js +36 -0
  164. package/src/components/atoms/toggle-switch/index.js +3 -0
  165. package/src/components/index.js +3 -0
  166. package/src/components/molecules/address-form/AddressForm.js +110 -0
  167. package/src/components/molecules/address-form/AddressForm.state.js +52 -0
  168. package/src/components/molecules/address-form/index.js +11 -0
  169. package/src/components/molecules/change-password-form/ChangePasswordForm.js +92 -0
  170. package/src/components/molecules/change-password-form/ChangePasswordForm.state.js +33 -0
  171. package/src/components/molecules/change-password-form/index.js +11 -0
  172. package/src/components/molecules/collapsible-section/CollapsibleSection.js +126 -0
  173. package/src/components/molecules/collapsible-section/CollapsibleSection.theme.js +11 -0
  174. package/src/components/molecules/collapsible-section/index.js +3 -0
  175. package/src/components/molecules/edit-name-form/EditNameForm.js +51 -0
  176. package/src/components/molecules/edit-name-form/EditNameForm.state.js +14 -0
  177. package/src/components/molecules/edit-name-form/index.js +11 -0
  178. package/src/components/molecules/email-form/EmailForm.js +55 -0
  179. package/src/components/molecules/email-form/EmailForm.state.js +19 -0
  180. package/src/components/molecules/email-form/index.js +11 -0
  181. package/src/components/molecules/forgot-password-form/ForgotPasswordForm.js +32 -0
  182. package/src/components/molecules/forgot-password-form/ForgotPasswordForm.state.js +11 -0
  183. package/src/components/molecules/forgot-password-form/index.js +11 -0
  184. package/src/components/molecules/highlight-tab-row/HighlightTabRow.js +62 -0
  185. package/src/components/molecules/highlight-tab-row/HighlightTabRow.theme.js +7 -0
  186. package/src/components/molecules/highlight-tab-row/index.js +8 -0
  187. package/src/components/molecules/index.js +24 -0
  188. package/src/components/molecules/login-form/LoginForm.js +46 -0
  189. package/src/components/molecules/login-form/LoginForm.state.js +14 -0
  190. package/src/components/molecules/login-form/index.js +11 -0
  191. package/src/components/molecules/modal/Modal.js +138 -0
  192. package/src/components/molecules/modal/index.js +3 -0
  193. package/src/components/molecules/module/Module.js +42 -0
  194. package/src/components/molecules/module/Module.theme.js +30 -0
  195. package/src/components/molecules/module/index.js +8 -0
  196. package/src/components/molecules/nav-menu/NavMenu.theme.js +5 -0
  197. package/src/components/molecules/nav-menu/NavMenuDesktop.js +39 -0
  198. package/src/components/molecules/nav-menu/NavMenuMobile.js +63 -0
  199. package/src/components/molecules/nav-menu/index.js +4 -0
  200. package/src/components/molecules/obligation/Obligation.js +69 -0
  201. package/src/components/molecules/obligation/icons/AccountBillIcon.js +89 -0
  202. package/src/components/molecules/obligation/icons/AccountConstructionIcon.js +99 -0
  203. package/src/components/molecules/obligation/icons/AccountDentalIcon.js +94 -0
  204. package/src/components/molecules/obligation/icons/AccountElectricIcon.js +99 -0
  205. package/src/components/molecules/obligation/icons/AccountGarbageIcon.js +94 -0
  206. package/src/components/molecules/obligation/icons/AccountGasIcon.js +94 -0
  207. package/src/components/molecules/obligation/icons/AccountGenericIcon.js +89 -0
  208. package/src/components/molecules/obligation/icons/AccountMedicalIcon.js +94 -0
  209. package/src/components/molecules/obligation/icons/AccountWaterIcon.js +94 -0
  210. package/src/components/molecules/obligation/icons/PropertyApartmentIcon.js +99 -0
  211. package/src/components/molecules/obligation/icons/PropertyBusinessIcon.js +94 -0
  212. package/src/components/molecules/obligation/icons/PropertyCarIcon.js +99 -0
  213. package/src/components/molecules/obligation/icons/PropertyCommercialVehicleIcon.js +100 -0
  214. package/src/components/molecules/obligation/icons/PropertyGarageIcon.js +96 -0
  215. package/src/components/molecules/obligation/icons/PropertyLandIcon.js +99 -0
  216. package/src/components/molecules/obligation/icons/PropertyMotorcycleIcon.js +99 -0
  217. package/src/components/molecules/obligation/icons/PropertyPersonalIcon.js +94 -0
  218. package/src/components/molecules/obligation/icons/PropertyStorefrontIcon.js +100 -0
  219. package/src/components/molecules/obligation/icons/index.js +60 -0
  220. package/src/components/molecules/obligation/index.js +3 -0
  221. package/src/components/molecules/obligation/modules/AmountModule.js +36 -0
  222. package/src/components/molecules/obligation/modules/IconModule.js +29 -0
  223. package/src/components/molecules/obligation/modules/PaymentDetailsActions.js +67 -0
  224. package/src/components/molecules/obligation/modules/TitleModule.js +25 -0
  225. package/src/components/molecules/obligation/modules/index.js +6 -0
  226. package/src/components/molecules/payment-button-bar/PaymentButtonBar.js +80 -0
  227. package/src/components/molecules/payment-button-bar/index.js +3 -0
  228. package/src/components/molecules/payment-details/PaymentDetails.js +158 -0
  229. package/src/components/molecules/payment-details/PaymentDetails.theme.js +11 -0
  230. package/src/components/molecules/payment-details/index.js +1 -0
  231. package/src/components/molecules/phone-form/PhoneForm.js +44 -0
  232. package/src/components/molecules/phone-form/PhoneForm.state.js +17 -0
  233. package/src/components/molecules/phone-form/index.js +11 -0
  234. package/src/components/molecules/radio-section/RadioSection.js +205 -0
  235. package/src/components/molecules/radio-section/RadioSection.theme.js +15 -0
  236. package/src/components/molecules/radio-section/index.js +3 -0
  237. package/src/components/molecules/registration-form/RegistrationForm.js +104 -0
  238. package/src/components/molecules/registration-form/RegistrationForm.state.js +40 -0
  239. package/src/components/molecules/registration-form/index.js +11 -0
  240. package/src/components/molecules/reset-confirmation-form/ResetConfirmationForm.js +56 -0
  241. package/src/components/molecules/reset-confirmation-form/index.js +3 -0
  242. package/src/components/molecules/reset-password-form/ResetPasswordForm.js +67 -0
  243. package/src/components/molecules/reset-password-form/ResetPasswordForm.state.js +30 -0
  244. package/src/components/molecules/reset-password-form/index.js +11 -0
  245. package/src/components/molecules/reset-password-success/ResetPasswordSuccess.js +55 -0
  246. package/src/components/molecules/reset-password-success/index.js +3 -0
  247. package/src/components/molecules/tab-sidebar/TabSidebar.js +92 -0
  248. package/src/components/molecules/tab-sidebar/TabSidebar.theme.js +9 -0
  249. package/src/components/molecules/tab-sidebar/index.js +3 -0
  250. package/src/components/molecules/terms-and-conditions/TermsAndConditions.js +73 -0
  251. package/src/components/molecules/terms-and-conditions/index.js +3 -0
  252. package/src/components/molecules/terms-and-conditions-modal/TermsAndConditionsModal.js +64 -0
  253. package/src/components/molecules/terms-and-conditions-modal/TermsAndConditionsModal.theme.js +28 -0
  254. package/src/components/molecules/terms-and-conditions-modal/index.js +3 -0
  255. package/src/components/molecules/workflow-tile/WorkflowTile.js +58 -0
  256. package/src/components/molecules/workflow-tile/index.js +3 -0
  257. package/src/components/templates/center-single/CenterSingle.js +61 -0
  258. package/src/components/templates/center-single/index.js +3 -0
  259. package/src/components/templates/center-stack/CenterStack.js +49 -0
  260. package/src/components/templates/center-stack/index.js +3 -0
  261. package/src/components/templates/default-page-template/DefaultPageTemplate.js +49 -0
  262. package/src/components/templates/default-page-template/index.js +3 -0
  263. package/src/components/templates/index.js +5 -0
  264. package/src/components/templates/sidebar-single-content/SidebarSingleContent.js +60 -0
  265. package/src/components/templates/sidebar-single-content/index.js +3 -0
  266. package/src/components/templates/sidebar-stack-content/SidebarStackContent.js +81 -0
  267. package/src/components/templates/sidebar-stack-content/index.js +3 -0
  268. package/src/components/templates/templates.theme.js +5 -0
  269. package/src/components/withWindowSize.js +50 -0
  270. package/src/constants/colors.js +178 -0
  271. package/src/constants/regex_constants.js +1 -0
  272. package/src/constants/style_constants.js +21 -0
  273. package/src/deprecated/colors.js +154 -0
  274. package/src/deprecated/components/radio-button/index.js +3 -0
  275. package/src/deprecated/components/radio-button/radio-button.js +44 -0
  276. package/src/deprecated/icons/AlertErrorIcon.js +42 -0
  277. package/src/deprecated/icons/AlertInfoIcon.js +42 -0
  278. package/src/deprecated/icons/AlertSuccessIcon.js +42 -0
  279. package/src/deprecated/icons/AlertWarningIcon.js +36 -0
  280. package/src/deprecated/icons/BankIcon.js +82 -0
  281. package/src/deprecated/icons/GenericCard.js +39 -0
  282. package/src/deprecated/icons/IconAdd.js +44 -0
  283. package/src/deprecated/icons/IconCheck.js +23 -0
  284. package/src/deprecated/icons/IconCheckEmail.js +46 -0
  285. package/src/deprecated/icons/IconChevron.js +35 -0
  286. package/src/deprecated/icons/IconEmailVerified.js +62 -0
  287. package/src/deprecated/icons/IconEye.js +32 -0
  288. package/src/deprecated/icons/IconEyeSlash.js +48 -0
  289. package/src/deprecated/icons/IconInvalid.js +69 -0
  290. package/src/deprecated/icons/IconNeutral.js +27 -0
  291. package/src/deprecated/icons/IconQuit.js +32 -0
  292. package/src/deprecated/icons/IconValid.js +72 -0
  293. package/src/deprecated/icons/IconWarn.js +28 -0
  294. package/src/deprecated/icons/index.js +40 -0
  295. package/src/deprecated/index.js +1 -0
  296. package/src/deprecated/spinner/Spinner.js +68 -0
  297. package/src/deprecated/spinner/index.js +1 -0
  298. package/src/deprecated/utility/__tests__/safeConcat.spec.js +59 -0
  299. package/src/deprecated/utility/__tests__/validateKeyType.spec.js +116 -0
  300. package/src/deprecated/utility/index.js +2 -0
  301. package/src/deprecated/utility/safeConcat.js +10 -0
  302. package/src/deprecated/utility/validateKeyType.js +19 -0
  303. package/src/index.js +2 -0
  304. package/src/util/formats.js +30 -0
  305. package/src/util/general.js +15 -0
  306. package/src/util/inputValidationUtils.js +257 -0
  307. package/src/util/router-utils.js +23 -0
  308. package/src/util/themeUtils.js +144 -0
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ import { Box, Switcher } from "../layouts";
3
+
4
+ const FormInputRow = ({
5
+ breakpoint = "30rem",
6
+ childGap = "1rem",
7
+ largeChild,
8
+ largeChildSize,
9
+ children,
10
+ ...rest
11
+ }) => {
12
+ return (
13
+ <Box padding="0" {...rest}>
14
+ <Switcher
15
+ childGap={childGap}
16
+ breakpoint={breakpoint}
17
+ largeChild={largeChild}
18
+ largeChildSize={largeChildSize}
19
+ >
20
+ {children}
21
+ </Switcher>
22
+ </Box>
23
+ );
24
+ };
25
+
26
+ export default FormInputRow;
@@ -0,0 +1,52 @@
1
+ import {
2
+ STORM_GREY,
3
+ MATISSE_BLUE,
4
+ WHITE,
5
+ SEASHELL_WHITE,
6
+ MINESHAFT_GREY,
7
+ DUSTY_GREY,
8
+ GREY_CHATEAU,
9
+ ATHENS_GREY
10
+ } from "../../../constants/colors";
11
+ import { FONT_WEIGHT_REGULAR } from "../../../constants/style_constants";
12
+
13
+ const linkColor = { default: `${MATISSE_BLUE}`, disabled: `${MATISSE_BLUE}` };
14
+ const formBackgroundColor = {
15
+ default: `${WHITE}`,
16
+ disabled: `${WHITE}`,
17
+ checkout: `${ATHENS_GREY}`,
18
+ collapsible: `${ATHENS_GREY}`
19
+ };
20
+
21
+ const inputBackgroundColor = {
22
+ default: `${WHITE}`,
23
+ disabled: `${SEASHELL_WHITE}`
24
+ };
25
+ const color = { default: `${MINESHAFT_GREY}`, disabled: `${DUSTY_GREY}` };
26
+ const labelColor = { default: `${STORM_GREY}`, disabled: `${STORM_GREY}` };
27
+ const borderColor = { default: `${GREY_CHATEAU}`, disabled: `${GREY_CHATEAU}` };
28
+ const lineHeight = { default: "1rem", disabled: "1rem" };
29
+ const fontSize = { default: "0.875rem", disabled: "0.875rem" };
30
+ const errorFontSize = { default: "0.75rem", disabled: "0.75rem" };
31
+ const fontWeight = {
32
+ default: `${FONT_WEIGHT_REGULAR}`,
33
+ disabled: `${FONT_WEIGHT_REGULAR}`
34
+ };
35
+ const hoverFocusStyles = {
36
+ default: `color: #0E506D; outline: none; text-decoration: underline; `,
37
+ disabled: `color: #6E727E;`
38
+ };
39
+
40
+ export const fallbackValues = {
41
+ linkColor,
42
+ formBackgroundColor,
43
+ inputBackgroundColor,
44
+ color,
45
+ labelColor,
46
+ borderColor,
47
+ lineHeight,
48
+ fontSize,
49
+ errorFontSize,
50
+ fontWeight,
51
+ hoverFocusStyles
52
+ };
@@ -0,0 +1,6 @@
1
+ import FormInput from "./FormInput";
2
+ import FormInputRow from "./FormInputRow";
3
+ import FormInputColumn from "./FormInputColumn";
4
+ import FormContainer from "./FormContainer";
5
+
6
+ export { FormInput, FormInputRow, FormInputColumn, FormContainer };
@@ -0,0 +1,62 @@
1
+ import React, { useState, useRef, useEffect } from "react";
2
+ import Dropdown from "../dropdown";
3
+ import Text from "../text";
4
+ import { STORM_GREY } from "../../../constants/colors";
5
+ import { SelectContainer, SelectLabel } from "./FormSelect.styled";
6
+
7
+ const FormSelect = ({
8
+ fieldActions,
9
+ labelTextWhenNoError,
10
+ errorMessages,
11
+ options,
12
+ field,
13
+ showErrors,
14
+ onChange
15
+ }) => {
16
+ const [open, setOpen] = useState(false);
17
+ const dropdownRef = useRef(null);
18
+
19
+ const handleClickAway = event => {
20
+ if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
21
+ setOpen(false);
22
+ }
23
+ };
24
+
25
+ useEffect(() => {
26
+ document.addEventListener("mousedown", handleClickAway);
27
+ return () => {
28
+ document.removeEventListener("mousedown", handleClickAway);
29
+ };
30
+ });
31
+
32
+ return (
33
+ <SelectContainer ref={dropdownRef}>
34
+ <Text
35
+ variant="pS"
36
+ color={STORM_GREY}
37
+ weight="400"
38
+ extraStyles={`margin-bottom: 4px;`}
39
+ >
40
+ {labelTextWhenNoError}
41
+ </Text>
42
+ <Dropdown
43
+ placeholder={options[0] ? options[0].text : ""}
44
+ options={options}
45
+ value={field.rawValue}
46
+ isOpen={open}
47
+ isError={false}
48
+ onSelect={
49
+ onChange ? value => onChange(value) : value => fieldActions.set(value)
50
+ }
51
+ onClick={() => setOpen(!open)}
52
+ />
53
+ <SelectLabel field={field} showErrors={showErrors}>
54
+ {(field.hasErrors && field.dirty) || (field.hasErrors && showErrors)
55
+ ? errorMessages[field.errors[0]]
56
+ : null}
57
+ </SelectLabel>
58
+ </SelectContainer>
59
+ );
60
+ };
61
+
62
+ export default FormSelect;
@@ -0,0 +1,65 @@
1
+ import styled from "styled-components";
2
+ import {
3
+ MINESHAFT_GREY,
4
+ STORM_GREY,
5
+ WHITE,
6
+ SEASHELL_WHITE,
7
+ DUSTY_GREY,
8
+ GHOST_GREY,
9
+ ERROR_COLOR,
10
+ MATISSE_BLUE
11
+ } from "../../../constants/colors";
12
+ import { FONT_WEIGHT_REGULAR } from "../../../constants/style_constants";
13
+
14
+ export const SelectContainer = styled.div`
15
+ width: 100%;
16
+ display: flex;
17
+ flex-direction: column;
18
+ justify-content: space-between;
19
+ align-items: flex-start;
20
+ `;
21
+
22
+ export const SelectLabel = styled.label`
23
+ color: ${({ field, showErrors }) =>
24
+ (field.dirty && field.hasErrors) || (field.hasErrors && showErrors)
25
+ ? ERROR_COLOR
26
+ : STORM_GREY};
27
+ font-size: 14px;
28
+ line-height: 18px;
29
+ font-weight: ${FONT_WEIGHT_REGULAR};
30
+ margin-bottom: 4px;
31
+ font-family: Public Sans;
32
+
33
+ &::first-letter {
34
+ text-transform: uppercase;
35
+ }
36
+ `;
37
+
38
+ export const SelectField = styled.select`
39
+ border: 1px solid
40
+ ${({ field, showErrors }) =>
41
+ (field.dirty && field.hasErrors) || (field.hasErrors && showErrors)
42
+ ? ERROR_COLOR
43
+ : GHOST_GREY};
44
+ border-radius: 2px;
45
+ height: 48px;
46
+ width: 100%;
47
+ padding: 0.75rem 1rem;
48
+ min-width: 100px;
49
+ margin: 0;
50
+ box-sizing: border-box;
51
+ position: relative;
52
+ font-size: 1.1rem;
53
+ font-family: Public Sans;
54
+ line-height: 2rem;
55
+ font-weight: ${FONT_WEIGHT_REGULAR};
56
+ background-color: ${({ disabled }) => (disabled ? SEASHELL_WHITE : WHITE)};
57
+ color: ${({ disabled }) => (disabled ? DUSTY_GREY : MINESHAFT_GREY)};
58
+ box-shadow: none;
59
+
60
+ &:focus {
61
+ border: 1px solid ${MATISSE_BLUE};
62
+ }
63
+ `;
64
+
65
+ export const SelectOption = styled.option``;
@@ -0,0 +1,3 @@
1
+ import FormSelect from "./FormSelect";
2
+
3
+ export default FormSelect;
@@ -0,0 +1,53 @@
1
+ import React from "react";
2
+ import Text from "../text";
3
+ import Box from "../layouts/Box";
4
+ import { fallbackValues } from "./FormattedAddress.theme";
5
+ import { themeComponent } from "../../../util/themeUtils";
6
+
7
+ const FormattedAddress = ({
8
+ isActive,
9
+ street1,
10
+ city,
11
+ stateProvince,
12
+ country,
13
+ zip,
14
+ street2 = null,
15
+ name = null,
16
+ isRadio,
17
+ themeValues,
18
+ qaPrefix = "address"
19
+ }) => {
20
+ return (
21
+ <Box padding={themeValues.padding} isActive={isActive} isRadio={isRadio}>
22
+ {name && (
23
+ <Text variant="p" color={themeValues.color} dataQa={`${qaPrefix}-name`}>
24
+ {name}
25
+ </Text>
26
+ )}
27
+ <Box padding="0">
28
+ <Text variant="p" color={themeValues.color} dataQa={`${qaPrefix}-1`}>
29
+ {street1}
30
+ </Text>
31
+ {street2 && (
32
+ <Text variant="p" dataQa={`${qaPrefix}-2`}>
33
+ , {street2}
34
+ </Text>
35
+ )}
36
+ </Box>
37
+ <Box padding="0">
38
+ <Text variant="p" color={themeValues.color} dataQa={`${qaPrefix}-3`}>
39
+ {city}, {stateProvince}
40
+ {` ${zip}`}
41
+ {country ? ` ${country}` : ""}
42
+ </Text>
43
+ </Box>
44
+ </Box>
45
+ );
46
+ };
47
+
48
+ export default themeComponent(
49
+ FormattedAddress,
50
+ "FormattedAddress",
51
+ fallbackValues,
52
+ "default"
53
+ );
@@ -0,0 +1,11 @@
1
+ import { CHARADE_GREY, MINESHAFT_GREY } from "../../../constants/colors";
2
+
3
+ const fontSize = { default: "1rem", radio: "1.0625rem" };
4
+ const padding = { default: "0", radio: "0.625rem 0" };
5
+ const color = { default: `${CHARADE_GREY}`, radio: `${MINESHAFT_GREY}` };
6
+
7
+ export const fallbackValues = {
8
+ fontSize,
9
+ padding,
10
+ color
11
+ };
@@ -0,0 +1,3 @@
1
+ import FormattedAddress from "./FormattedAddress";
2
+
3
+ export default FormattedAddress;
@@ -0,0 +1,113 @@
1
+ import React from "react";
2
+ import styled from "styled-components";
3
+
4
+ const Hamburger = styled.button`
5
+ padding: 8px;
6
+ display: inline-block;
7
+ cursor: pointer;
8
+ transition-property: opacity;
9
+ transition-duration: 0.15s;
10
+ transition-timing-function: linear;
11
+ font: inherit;
12
+ color: inherit;
13
+ text-transform: none;
14
+ background-color: transparent;
15
+ border: 0;
16
+ margin: 0;
17
+ overflow: visible;
18
+
19
+ &:focus {
20
+ outline: none;
21
+ }
22
+ `;
23
+
24
+ const HamburgerBox = styled.span`
25
+ width: 34px;
26
+ height: 34px;
27
+ display: inline-block;
28
+ position: relative;
29
+ `;
30
+
31
+ const HamburgerInner = styled.span`
32
+ display: block;
33
+ top: auto;
34
+ bottom: 6px;
35
+ left: 2px;
36
+ transition-duration: 0.13s;
37
+ transition-delay: 0.13s;
38
+ transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
39
+ margin-top: 12px;
40
+ background-color: ${({ inactiveColor }) => inactiveColor};
41
+
42
+ &, &::before, &::after {
43
+ background-color: ${({ inactiveColor }) => inactiveColor};
44
+ width: 30px;
45
+ height: 3px;
46
+ position: absolute;
47
+ transition-property: transform;
48
+ transition-duration: 0.15s;
49
+ transition-timing-function: ease;
50
+ }
51
+
52
+ &::before, &::after {
53
+ content: "";
54
+ display: block;
55
+ }
56
+
57
+ &::before {
58
+ top: -10px;
59
+ transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),
60
+ transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
61
+ }
62
+
63
+ &::after {
64
+ bottom: -10px;
65
+ top: -20px;
66
+ transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),
67
+ opacity 0.1s linear;
68
+ }
69
+
70
+ &.active, &.active::before, &.active::after {
71
+ background-color: ${({ activeColor }) => activeColor};
72
+ }
73
+
74
+ &.active {
75
+ transform: translate3d(0, -10px, 0) rotate(-45deg);
76
+ transition-delay: 0.22s;
77
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
78
+ }
79
+
80
+ &.active::after {
81
+ top: 0;
82
+ opacity: 0;
83
+ transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333),
84
+ opacity: 0.1s 0.22s linear;
85
+ }
86
+
87
+ &.active::before {
88
+ top: 0;
89
+ transform: rotate(-90deg);
90
+ transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333),
91
+ transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
92
+ }
93
+ `;
94
+
95
+ const HamburgerButton = ({ activeColor, inactiveColor, isActive, onClick }) => (
96
+ <Hamburger
97
+ className={isActive === true ? "active" : ""}
98
+ onClick={onClick}
99
+ type="button"
100
+ ariaLabel="Menu"
101
+ ariaControls="navigation"
102
+ >
103
+ <HamburgerBox>
104
+ <HamburgerInner
105
+ className={isActive === true ? "active" : ""}
106
+ inactiveColor={inactiveColor}
107
+ activeColor={activeColor}
108
+ />
109
+ </HamburgerBox>
110
+ </Hamburger>
111
+ );
112
+
113
+ export default HamburgerButton;
@@ -0,0 +1,3 @@
1
+ import HamburgerButton from "./HamburgerButton";
2
+
3
+ export default HamburgerButton;
@@ -0,0 +1,37 @@
1
+ import React from "react";
2
+ import { FONT_WEIGHT_REGULAR } from "../../../constants/style_constants";
3
+ import { FIREFLY_GREY } from "../../../constants/colors";
4
+ import { HeadingText } from "./Heading.styled";
5
+ import { safeChildren } from "../../../util/general";
6
+ import { fallbackValues } from "./Heading.theme";
7
+ import { themeComponent } from "../../../util/themeUtils";
8
+
9
+ const Heading = ({
10
+ themeValues,
11
+ weight = FONT_WEIGHT_REGULAR,
12
+ color = FIREFLY_GREY,
13
+ margin = 0,
14
+ textAlign,
15
+ extraStyles = ``,
16
+ className,
17
+ variant = "h1",
18
+ children,
19
+ ...rest
20
+ }) => (
21
+ <HeadingText
22
+ as={variant}
23
+ weight={weight}
24
+ color={color}
25
+ margin={margin}
26
+ textAlign={textAlign}
27
+ extraStyles={extraStyles}
28
+ className={className}
29
+ fontFamily={themeValues.fontFamily}
30
+ fontSize={themeValues.fontSize}
31
+ {...rest}
32
+ >
33
+ {safeChildren(children, <span />)}
34
+ </HeadingText>
35
+ );
36
+
37
+ export default themeComponent(Heading, "Heading", fallbackValues, "h1");
@@ -0,0 +1,14 @@
1
+ import styled from "styled-components";
2
+
3
+ export const HeadingText = styled.h1`
4
+ --font-size: ${({ fontSize }) => fontSize};
5
+ font-size: var(--font-size);
6
+ line-height: calc(1.5 * var(--font-size));
7
+ color: ${({ color }) => color};
8
+ font-weight: ${({ weight }) => weight};
9
+ margin: ${({ margin }) => margin};
10
+ text-align: ${({ textAlign }) => textAlign};
11
+ font-family: ${({ fontFamily }) => fontFamily};
12
+
13
+ ${({ extraStyles }) => extraStyles};
14
+ `;
@@ -0,0 +1,18 @@
1
+ const fontFamily = {
2
+ primary: "Public Sans",
3
+ secondary: "Open Sans"
4
+ };
5
+
6
+ const fontSize = {
7
+ h1: "2.25rem",
8
+ h2: "2rem",
9
+ h3: "1.75rem",
10
+ h4: "1.5rem",
11
+ h5: "1.375rem",
12
+ h6: "1.25rem"
13
+ };
14
+
15
+ export const fallbackValues = {
16
+ fontFamily,
17
+ fontSize
18
+ };
@@ -0,0 +1,3 @@
1
+ import Heading from "./Heading";
2
+
3
+ export default Heading;
@@ -0,0 +1,42 @@
1
+ import React from "react";
2
+ import { fallbackValues } from "./Icons.theme";
3
+ import { themeComponent } from "../../../util/themeUtils";
4
+
5
+ const AccountsAddIcon = ({ themeValues }) => {
6
+ return (
7
+ <svg
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ xmlnsXlink="http://www.w3.org/1999/xlink"
10
+ width="100"
11
+ height="100"
12
+ viewBox="0 0 100 100"
13
+ >
14
+ <defs>
15
+ <path id="a" d="M0 0H100V100H0z"></path>
16
+ </defs>
17
+ <g fill="none" fillRule="evenodd" stroke="none" strokeWidth="1">
18
+ <mask id="b" fill={themeValues.primaryColor}>
19
+ <use xlinkHref="#a"></use>
20
+ </mask>
21
+ <path
22
+ fill={themeValues.primaryColor}
23
+ d="M66.728 11.967c.566 0 1.024.466 1.024 1.042v18.508h6.362c.527 0 .962.406 1.018.928l.006.114v42.7c-2.433 2.351-4.911 4.22-7.386 5.687v.024s-.311.19-.898.49c-17.526 9.718-34.635-.176-34.635-.176v-1.02c-4.533-2.49-7.386-5.006-7.386-5.006V13.01c0-.576.459-1.042 1.025-1.042h40.87z"
24
+ mask="url(#b)"
25
+ ></path>
26
+ <path
27
+ fill={themeValues.accentColor}
28
+ fillRule="nonzero"
29
+ d="M63.551 84.435l-.22.087A36.867 36.867 0 0150 87c-20.435 0-37-16.588-37-37.05a36.96 36.96 0 0110.865-26.227V13.01c0-1.056.81-1.927 1.843-2.004l.15-.005h40.87a2 2 0 011.986 1.86l.006.15v8.085L68.746 18a37.09 37.09 0 014.464 3.095A36.994 36.994 0 0187 49.95a36.915 36.915 0 01-5.216 18.978 12.433 12.433 0 00-1.743-2.803 34.02 34.02 0 004.062-16.175A34.09 34.09 0 0071.39 23.353a34.268 34.268 0 00-2.67-1.952l-.002 9.536c.185-.227.477-.387.89-.387h4.505c1.053 0 1.91.822 1.986 1.86l.005.149.002 30.394a12.38 12.38 0 00-1.936-.796L74.17 39.74h-5.451l.001 21.957c-.663.09-1.31.233-1.935.424V20.19H25.8v53.82C31.978 80.24 40.539 84.1 50 84.1c3.871 0 7.592-.646 11.06-1.837.73.83 1.567 1.562 2.491 2.173zm-4.016-4.331l-11.28-.001V76.38h9.926a12.374 12.374 0 001.354 3.724zm-35.67-52.095a34.047 34.047 0 00-7.968 21.941 34.039 34.039 0 007.968 21.939v-43.88zM61.68 64.1c.31 0 .586.146.763.373a12.463 12.463 0 00-1.731 1.76v-.199H31.873v2.931h27.166c-.276.62-.504 1.266-.677 1.934H30.906a.967.967 0 01-.96-.854l-.007-.113v-4.865c0-.496.373-.904.854-.96l.113-.007h30.773zm0-8.734c.496 0 .905.373.96.855l.007.112v4.865a.967.967 0 01-.854.961l-.113.007H30.906a.967.967 0 01-.96-.855l-.007-.113v-4.865c0-.496.373-.905.854-.96l.113-.007h30.773zM60.71 57.3H31.873v2.931h28.838V57.3zm-14.418-6.751a.967.967 0 01.113 1.928l-.113.006H30.906a.967.967 0 01-.113-1.928l.113-.006h15.387zm15.386-11.266c.496 0 .905.374.96.855l.007.113v4.865a.967.967 0 01-.854.96l-.113.007H30.906a.967.967 0 01-.96-.855l-.007-.112V40.25c0-.496.373-.905.854-.961l.113-.007h30.773zm-.968 1.934H31.873v2.931h28.838v-2.931zm.968-10.667c.496 0 .905.374.96.855l.007.112v4.865a.967.967 0 01-.854.961l-.113.007H30.906a.967.967 0 01-.96-.855l-.007-.113v-4.865c0-.496.373-.904.854-.96l.113-.007h30.773zm-.968 1.934H31.873v2.931h28.838v-2.931zm-14.418-6.752a.967.967 0 01.113 1.928l-.113.007H30.906a.967.967 0 01-.113-1.928l.113-.007h15.387z"
30
+ mask="url(#b)"
31
+ ></path>
32
+ <path
33
+ fill={themeValues.subIconColor}
34
+ d="M70.42 61.582c6.88 0 12.458 5.578 12.458 12.459 0 6.88-5.577 12.458-12.458 12.458-6.88 0-12.458-5.578-12.458-12.458 0-6.881 5.578-12.459 12.458-12.459zm.82 6.721H69.6v4.918h-4.917v1.64H69.6v4.917h1.639V74.86h4.918v-1.64H71.24v-4.917z"
35
+ mask="url(#b)"
36
+ ></path>
37
+ </g>
38
+ </svg>
39
+ );
40
+ };
41
+
42
+ export default themeComponent(AccountsAddIcon, "Icons", fallbackValues, "info");
@@ -0,0 +1,37 @@
1
+ import React from "react";
2
+ import { fallbackValues } from "./Icons.theme";
3
+ import { themeComponent } from "../../../util/themeUtils";
4
+
5
+ const AccountsIcon = ({ themeValues }) => {
6
+ return (
7
+ <svg
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ xmlnsXlink="http://www.w3.org/1999/xlink"
10
+ width="100"
11
+ height="100"
12
+ viewBox="0 0 100 100"
13
+ >
14
+ <defs>
15
+ <path id="a" d="M0 0H100V100H0z"></path>
16
+ </defs>
17
+ <g fill="none" fillRule="evenodd" stroke="none" strokeWidth="1">
18
+ <mask id="b" fill={themeValues.primaryColor}>
19
+ <use xlinkHref="#a"></use>
20
+ </mask>
21
+ <path
22
+ fill={themeValues.primaryColor}
23
+ d="M66.728 11.967c.566 0 1.024.466 1.024 1.042v18.508h6.362c.527 0 .962.406 1.018.928l.006.114v42.7c-2.433 2.351-4.911 4.22-7.386 5.687v.024s-.311.19-.898.49c-17.526 9.718-34.635-.176-34.635-.176v-1.02c-4.533-2.49-7.386-5.006-7.386-5.006V13.01c0-.576.459-1.042 1.025-1.042h40.87z"
24
+ mask="url(#b)"
25
+ ></path>
26
+ <path
27
+ fill={themeValues.accentColor}
28
+ fillRule="nonzero"
29
+ d="M66.728 11a2 2 0 011.986 1.86l.006.15v8.085L68.746 18a37.09 37.09 0 014.464 3.095A36.994 36.994 0 0187 49.95C87 70.412 70.435 87 50 87S13 70.412 13 49.95a36.96 36.96 0 0110.865-26.227V13.01c0-1.056.81-1.927 1.843-2.004l.15-.005h40.87zm.057 9.19H25.8v53.82C31.978 80.24 40.539 84.1 50 84.1c6.102 0 11.83-1.605 16.786-4.417l-.001-59.492zm-5.106 56.19v3.723H48.254V76.38H61.68zM74.17 39.74h-5.451l.001 38.758a34.276 34.276 0 005.45-4.458v-34.3zM68.72 21.4l-.001 9.536c.185-.227.477-.387.89-.387h4.505c1.053 0 1.91.822 1.986 1.86l.005.149.001 39.364a34.039 34.039 0 007.997-21.973A34.09 34.09 0 0071.39 23.353a34.268 34.268 0 00-2.67-1.952zm-52.823 28.55a34.039 34.039 0 007.968 21.938v-43.88a34.047 34.047 0 00-7.968 21.941zM61.68 64.1c.534 0 .967.432.967.966v4.865a.967.967 0 01-.967.968H30.906a.967.967 0 01-.967-.968v-4.865c0-.534.433-.967.967-.967zm-.968 1.933H31.873v2.931h28.838v-2.931zm.968-10.668c.534 0 .967.433.967.967v4.865a.967.967 0 01-.967.968H30.906a.967.967 0 01-.967-.968v-4.865c0-.534.433-.967.967-.967zM60.71 57.3H31.873v2.931h28.838V57.3zm-14.418-6.751a.967.967 0 01.113 1.928l-.113.006H30.906a.967.967 0 01-.113-1.928l.113-.006h15.387zm15.386-11.266c.534 0 .967.433.967.968v4.865a.967.967 0 01-.967.967H30.906a.967.967 0 01-.967-.967V40.25c0-.535.433-.968.967-.968zm-.968 1.934H31.873v2.931h28.838v-2.931zm.968-10.667c.534 0 .967.433.967.967v4.865a.967.967 0 01-.967.968H30.906a.967.967 0 01-.967-.968v-4.865c0-.534.433-.967.967-.967zm-.968 1.934H31.873v2.931h28.838v-2.931zm-14.418-6.752a.967.967 0 01.113 1.928l-.113.007H30.906a.967.967 0 01-.113-1.928l.113-.007h15.387z"
30
+ mask="url(#b)"
31
+ ></path>
32
+ </g>
33
+ </svg>
34
+ );
35
+ };
36
+
37
+ export default themeComponent(AccountsIcon, "Icons", fallbackValues, "info");
@@ -0,0 +1,63 @@
1
+ import React from "react";
2
+ import { fallbackValues } from "./Icons.theme";
3
+ import { themeComponent } from "../../../util/themeUtils";
4
+
5
+ const AccountsIconSmall = ({ themeValues }) => {
6
+ return (
7
+ <svg
8
+ width="22px"
9
+ height="22px"
10
+ viewBox="1 0 22 25"
11
+ version="1.1"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ xmlnsXlink="http://www.w3.org/1999/xlink"
14
+ style={{ display: "inline-block", verticalAlign: "text-bottom" }}
15
+ >
16
+ <defs>
17
+ <rect
18
+ id="path-1-accountssmall"
19
+ x="0"
20
+ y="0"
21
+ width="29"
22
+ height="27"
23
+ ></rect>
24
+ </defs>
25
+ <g
26
+ id="Random-Icon-Work"
27
+ stroke="none"
28
+ strokeWidth="1"
29
+ fill="none"
30
+ fillRule="evenodd"
31
+ >
32
+ <g id="Header/Desktop/Menu">
33
+ <g id="Header/Desktop/Menu/Accounts-Tab">
34
+ <g>
35
+ <g id="Payments">
36
+ <g id="folder-open">
37
+ <mask id="mask-2-accountssmall" fill="white">
38
+ <use xlinkHref="#path-1-accountssmall"></use>
39
+ </mask>
40
+ <g id="Mask"></g>
41
+ <path
42
+ d="M1.875,17.9609424 L4.30077547,13.8125148 C4.60546242,13.2968908 5.01561733,12.8867359 5.53124128,12.5820489 C6.04686523,12.277362 6.60936389,12.1250188 7.21873726,12.1250188 L7.21873726,12.1250188 L18.7499598,12.1250188 L18.7499598,10.4375228 C18.7499598,9.9687741 18.5858975,9.57033719 18.2577734,9.24221315 C17.9296494,8.91408911 17.5312125,8.75002682 17.0624638,8.75002682 L17.0624638,8.75002682 L11.4374772,8.75002682 L9.18748257,6.50003219 L3.56249598,6.50003219 C3.09374727,6.50003219 2.69531037,6.66409447 2.36718633,6.99221851 C2.03906229,7.32034255 1.875,7.71877946 1.875,8.18752816 L1.875,8.18752816 L1.875,17.9609424 Z M17.519494,20 C17.9179303,20 18.2929296,19.900391 18.6444913,19.7011726 C18.9960529,19.5019541 19.2655837,19.2265643 19.4530831,18.8750027 L19.4530831,18.8750027 L22.0194832,14.5156381 C22.1835455,14.2343887 22.1835455,13.9531394 22.0194832,13.6718901 C21.8554209,13.3906408 21.6093278,13.2500161 21.2812037,13.2500161 L21.2812037,13.2500161 L7.21873726,13.2500161 C6.82030089,13.2500161 6.4453016,13.3496251 6.09373994,13.5488435 C5.74217828,13.748062 5.47264749,14.0234517 5.28514812,14.3750134 L5.28514812,14.3750134 L2.71874799,18.734378 C2.5546857,19.0156273 2.5546857,19.2968767 2.71874799,19.578126 C2.88281028,19.8593753 3.12890344,20 3.45702748,20 L3.45702748,20 L17.519494,20 Z"
43
+ id="f"
44
+ fill={themeValues.singleIconColor}
45
+ fillRule="nonzero"
46
+ mask="url(#mask-2-accountssmall)"
47
+ ></path>
48
+ </g>
49
+ </g>
50
+ </g>
51
+ </g>
52
+ </g>
53
+ </g>
54
+ </svg>
55
+ );
56
+ };
57
+
58
+ export default themeComponent(
59
+ AccountsIconSmall,
60
+ "Icons",
61
+ fallbackValues,
62
+ "primary"
63
+ );