@thecb/components 3.3.7 → 3.3.8-beta.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 (31) hide show
  1. package/dist/index.cjs.js +10079 -11688
  2. package/package.json +2 -2
  3. package/src/components/atoms/button-with-link/ButtonWithLink.js +1 -1
  4. package/src/components/atoms/form-layouts/FormInput.js +0 -1
  5. package/src/components/atoms/heading/Heading.js +0 -2
  6. package/src/components/atoms/icons/index.js +1 -3
  7. package/src/components/atoms/index.js +0 -1
  8. package/src/components/atoms/layouts/Cover.js +1 -1
  9. package/src/components/atoms/layouts/Cover.styled.js +1 -0
  10. package/src/components/atoms/layouts/Imposter.styled.js +1 -0
  11. package/src/components/atoms/paragraph/Paragraph.js +0 -2
  12. package/src/components/atoms/placeholder/Placeholder.js +60 -77
  13. package/src/components/molecules/email-form/EmailForm.js +14 -1
  14. package/src/components/molecules/email-form/EmailForm.state.js +9 -1
  15. package/src/components/molecules/nav-menu/NavMenu.theme.js +1 -3
  16. package/src/components/molecules/nav-menu/NavMenuDesktop.js +1 -1
  17. package/src/components/molecules/partial-amount-form/PartialAmountForm.state.js +1 -2
  18. package/src/components/molecules/radio-section/RadioSection.js +1 -2
  19. package/src/components/templates/center-single/CenterSingle.js +5 -7
  20. package/src/components/templates/center-stack/CenterStack.js +2 -7
  21. package/src/components/templates/default-page-template/DefaultPageTemplate.js +2 -7
  22. package/src/components/templates/sidebar-single-content/SidebarSingleContent.js +2 -7
  23. package/src/components/templates/sidebar-stack-content/SidebarStackContent.js +5 -2
  24. package/src/deprecated/icons/IconAdd.js +44 -0
  25. package/src/deprecated/icons/index.js +2 -0
  26. package/src/util/index.js +1 -2
  27. package/src/components/atoms/add-obligation/AddObligation.js +0 -64
  28. package/src/components/atoms/add-obligation/AddObligation.stories.js +0 -18
  29. package/src/components/atoms/add-obligation/AddObligation.theme.js +0 -9
  30. package/src/components/atoms/add-obligation/index.js +0 -3
  31. package/src/components/atoms/icons/IconAdd.js +0 -36
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thecb/components",
3
- "version": "3.3.7",
3
+ "version": "3.3.8-beta.0",
4
4
  "description": "Common lib for CityBase react components",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -61,6 +61,7 @@
61
61
  "styled-theming": "^2.2.0"
62
62
  },
63
63
  "peerDependencies": {
64
+ "ramda": "^0.27.0",
64
65
  "react": "^16.13.1",
65
66
  "react-dom": "^16.13.1",
66
67
  "react-router-dom": "6.0.0-alpha.3",
@@ -73,7 +74,6 @@
73
74
  }
74
75
  },
75
76
  "dependencies": {
76
- "ramda": "^0.27.0",
77
77
  "formatted-input": "^0.1.3",
78
78
  "framer-motion": "^1.11.0",
79
79
  "numeral": "^2.0.6",
@@ -44,7 +44,7 @@ const ButtonWithLink = ({
44
44
  url={url}
45
45
  disabled={disabled}
46
46
  newTab={newTab}
47
- extraStyles={`text-decoration: none; &:hover {
47
+ extraStyles={`text-decoration: none; ${extraStyles} &:hover {
48
48
  text-decoration: none; }`}
49
49
  >
50
50
  <ButtonWithAction {...otherProps} extraStyles={extraStyles} />
@@ -135,7 +135,6 @@ const FormInput = ({
135
135
  color={themeValues.linkColor}
136
136
  weight={themeValues.fontWeight}
137
137
  hoverStyles={themeValues.hoverFocusStyles}
138
- focusStyles={themeValues.hoverFocusStyles}
139
138
  extraStyles={`cursor: pointer;`}
140
139
  onClick={() => setShowPassword(!showPassword)}
141
140
  aria-label="Show password"
@@ -15,7 +15,6 @@ const Heading = ({
15
15
  extraStyles = ``,
16
16
  className,
17
17
  variant = "h1",
18
- dataQa,
19
18
  children,
20
19
  ...rest
21
20
  }) => (
@@ -29,7 +28,6 @@ const Heading = ({
29
28
  className={className}
30
29
  fontFamily={themeValues.fontFamily}
31
30
  fontSize={themeValues.fontSize}
32
- data-qa={dataQa}
33
31
  {...rest}
34
32
  >
35
33
  {safeChildren(children, <span />)}
@@ -17,7 +17,6 @@ import CheckmarkIcon from "./CheckmarkIcon";
17
17
  import BankIcon from "./BankIcon";
18
18
  import GenericCard from "./GenericCard";
19
19
  import PaymentIcon from "./PaymentIcon";
20
- import IconAdd from "./IconAdd";
21
20
 
22
21
  export {
23
22
  AccountsIcon,
@@ -38,6 +37,5 @@ export {
38
37
  CheckmarkIcon,
39
38
  BankIcon,
40
39
  GenericCard,
41
- PaymentIcon,
42
- IconAdd
40
+ PaymentIcon
43
41
  };
@@ -1,4 +1,3 @@
1
- export { default as AddObligation } from "./add-obligation";
2
1
  export { default as Alert } from "./alert";
3
2
  export { default as AmountCallout } from "./amount-callout";
4
3
  export { default as Breadcrumb } from "./breadcrumb";
@@ -23,7 +23,7 @@ import { CoverOuterContainer } from "./Cover.styled";
23
23
  */
24
24
 
25
25
  const Cover = ({
26
- minHeight = "100%",
26
+ minHeight = "100vh",
27
27
  childGap,
28
28
  padding,
29
29
  fillCenter,
@@ -6,6 +6,7 @@ export const CoverOuterContainer = styled.div`
6
6
  flex-direction: column;
7
7
  min-height: ${({ minHeight }) => minHeight};
8
8
  padding: ${({ padding }) => padding};
9
+ min-width: ${({ fillCenter }) => (fillCenter ? "100%" : "auto")};
9
10
 
10
11
  > * {
11
12
  margin-top: ${({ childGap }) => childGap};
@@ -16,4 +16,5 @@ export const ImposterWrapper = styled.div`
16
16
  max-width: calc(100% - (${horizontalMargin} * 2));
17
17
  max-height: calc(100% - (${verticalMargin} * 2));
18
18
  `}
19
+ ${({ extraStyles }) => extraStyles};
19
20
  `;
@@ -12,7 +12,6 @@ const Paragraph = ({
12
12
  color = FIREFLY_GREY,
13
13
  margin = 0,
14
14
  extraStyles = ``,
15
- dataQa,
16
15
  children,
17
16
  ...rest
18
17
  }) => (
@@ -23,7 +22,6 @@ const Paragraph = ({
23
22
  fontFamily={themeValues.fontFamily}
24
23
  fontSize={themeValues.fontSize}
25
24
  extraStyles={extraStyles}
26
- data-qa={dataQa}
27
25
  {...rest}
28
26
  >
29
27
  {safeChildren(children, <span />)}
@@ -1,16 +1,15 @@
1
- import React from "react";
1
+ import React, { useContext } from "react";
2
+ import { ThemeContext } from "styled-components";
2
3
  import { Link } from "react-router-dom";
3
4
  import Text from "../text";
4
- import { Box, Switcher, Center, Cluster, Cover } from "../layouts";
5
+ import { Box, Switcher, Center, Cluster } from "../layouts";
5
6
  import { fallbackValues } from "./Placeholder.theme";
6
7
  import { themeComponent } from "../../../util/themeUtils";
7
- import {
8
- STORM_GREY,
9
- GRECIAN_GREY,
10
- CHARADE_GREY
11
- } from "../../../constants/colors";
12
- import { AccountsAddIcon, PropertiesAddIcon, IconAdd } from "../icons";
8
+ import { IconAdd } from "../../../deprecated/icons";
9
+ import { STORM_GREY, GRECIAN_GREY } from "../../../constants/colors";
10
+ import { AccountsAddIcon, PropertiesAddIcon } from "../icons";
13
11
  import { FONT_WEIGHT_REGULAR } from "../../../constants/style_constants";
12
+ import withWindowSize from "../../withWindowSize";
14
13
 
15
14
  const PlaceholderContentWrapper = ({
16
15
  isLink,
@@ -41,26 +40,30 @@ const Placeholder = ({
41
40
  text,
42
41
  action,
43
42
  visible = true,
43
+ iconID,
44
44
  isLink = false,
45
45
  destination,
46
46
  variant,
47
47
  largeIcon,
48
48
  themeValues,
49
49
  dataQa
50
- }) => (
51
- <PlaceholderContentWrapper
52
- isLink={isLink}
53
- action={action}
54
- destination={destination}
55
- dataQa={dataQa}
56
- >
57
- <Box
58
- padding="0"
59
- borderRadius="4px"
60
- border="none"
61
- minHeight={themeValues.height}
62
- hiddenStyles={!visible}
63
- extraStyles={`
50
+ }) => {
51
+ const { isMobile } = useContext(ThemeContext);
52
+
53
+ return (
54
+ <PlaceholderContentWrapper
55
+ isLink={isLink}
56
+ action={action}
57
+ destination={destination}
58
+ dataQa={dataQa}
59
+ >
60
+ <Box
61
+ padding="0"
62
+ borderRadius="4px"
63
+ border="none"
64
+ minHeight={themeValues.height}
65
+ hiddenStyles={!visible}
66
+ extraStyles={`
64
67
  background: linear-gradient(
65
68
  to right,
66
69
  ${STORM_GREY} 40%,
@@ -75,65 +78,45 @@ const Placeholder = ({
75
78
  display: flex;
76
79
  justify-content: center;
77
80
  align-items:center;`}
78
- hoverStyles={`background-color: ${GRECIAN_GREY};`}
79
- >
80
- <Center maxWidth="300px">
81
- <Box padding="0px 0px 0px 0px">
82
- <Cluster justify="center" align="center" minHeight="100%">
83
- <Switcher maxChildren={2} childGap="0">
84
- {variant === "large" && <div></div>}
85
- <Box
86
- padding="0"
87
- extraStyles={`.fill {
88
- fill: ${CHARADE_GREY};
89
- } .stroke {
90
- stroke: ${CHARADE_GREY};
91
- }`}
92
- >
93
- {variant === "large" ? (
94
- <Center intrinsic>
95
- {largeIcon === "accounts" ? (
81
+ hoverStyles={`background-color: ${GRECIAN_GREY};`}
82
+ >
83
+ <Center maxWidth="300px">
84
+ <Box padding="0px 0px 0px 0px">
85
+ <Cluster justify="center" align="center" minHeight="100%">
86
+ <Switcher maxChildren={2} childGap="0">
87
+ {variant === "large" && <div></div>}
88
+ <Cluster justify="center" align="center" minHeight="100%">
89
+ {variant === "large" ? (
90
+ largeIcon === "accounts" ? (
96
91
  <AccountsAddIcon />
97
92
  ) : (
98
93
  <PropertiesAddIcon />
99
- )}
100
- <Text
101
- variant="pS"
102
- color={themeValues.color}
103
- weight={FONT_WEIGHT_REGULAR}
104
- extraStyles={`text-align: center;`}
105
- >
106
- {text}
107
- </Text>
108
- </Center>
109
- ) : (
110
- <Cover singleChild minHeight="100%">
111
- <Cluster justify="center" align="center">
112
- <IconAdd />
113
- <Center intrinsic>
114
- <Text
115
- variant="pS"
116
- color={themeValues.color}
117
- weight={FONT_WEIGHT_REGULAR}
118
- extraStyles={`padding: 0 0 0 8px; text-align: center;`}
119
- >
120
- {text}
121
- </Text>
122
- </Center>
123
- </Cluster>
124
- </Cover>
125
- )}
126
- </Box>
127
- </Switcher>
128
- </Cluster>
129
- </Box>
130
- </Center>
131
- </Box>
132
- </PlaceholderContentWrapper>
133
- );
134
-
94
+ )
95
+ ) : (
96
+ <IconAdd iconID={iconID} isMobile={isMobile} />
97
+ )}
98
+ </Cluster>
99
+ <Center intrinsic>
100
+ <Text
101
+ variant="pS"
102
+ color={themeValues.color}
103
+ weight={FONT_WEIGHT_REGULAR}
104
+ textAlign="center"
105
+ extraStyles={variant !== "large" && `padding: 0 0 0 8px;`}
106
+ >
107
+ {text}
108
+ </Text>
109
+ </Center>
110
+ </Switcher>
111
+ </Cluster>
112
+ </Box>
113
+ </Center>
114
+ </Box>
115
+ </PlaceholderContentWrapper>
116
+ );
117
+ };
135
118
  export default themeComponent(
136
- Placeholder,
119
+ withWindowSize(Placeholder),
137
120
  "Placeholder",
138
121
  fallbackValues,
139
122
  "default"
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect } from "react";
2
- import { required, isProbablyEmail } from "redux-freeform";
2
+ import { required, matchesField, isProbablyEmail } from "redux-freeform";
3
3
  import {
4
4
  FormInput,
5
5
  FormContainer,
@@ -22,6 +22,10 @@ const EmailForm = ({
22
22
  [required.error]: "Email is required",
23
23
  [isProbablyEmail.error]: "Invalid email address"
24
24
  };
25
+ const confirmEmailFieldErrorMessages = {
26
+ [matchesField.error]: "Confirm email must match email",
27
+ [required.error]: "Confirm email must match email"
28
+ };
25
29
 
26
30
  return (
27
31
  <FormContainer variant={variant} role="form" aria-label="Email">
@@ -35,6 +39,15 @@ const EmailForm = ({
35
39
  showErrors={showErrors}
36
40
  onKeyDown={e => e.key === "Enter" && handleSubmit(e)}
37
41
  />
42
+ <FormInput
43
+ labelTextWhenNoError="Confirm email"
44
+ errorMessages={confirmEmailFieldErrorMessages}
45
+ type="email"
46
+ field={fields.confirmEmail}
47
+ fieldActions={actions.fields.confirmEmail}
48
+ showErrors={showErrors}
49
+ onKeyDown={e => e.key === "Enter" && handleSubmit(e)}
50
+ />
38
51
  </FormInputColumn>
39
52
  </FormContainer>
40
53
  );
@@ -1,8 +1,16 @@
1
- import { createFormState, required, isProbablyEmail } from "redux-freeform";
1
+ import {
2
+ createFormState,
3
+ required,
4
+ matchesField,
5
+ isProbablyEmail
6
+ } from "redux-freeform";
2
7
 
3
8
  const formConfig = {
4
9
  email: {
5
10
  validators: [required(), isProbablyEmail()]
11
+ },
12
+ confirmEmail: {
13
+ validators: [required(), matchesField("email")]
6
14
  }
7
15
  };
8
16
 
@@ -1,7 +1,5 @@
1
1
  const backgroundColor = "#3b414d";
2
- const shadowColor = "#292A33";
3
2
 
4
3
  export const fallbackValues = {
5
- backgroundColor,
6
- shadowColor
4
+ backgroundColor
7
5
  };
@@ -24,7 +24,7 @@ const NavMenuDesktop = ({
24
24
  extraStyles={`position: relative; ${menuCarat}`}
25
25
  background={themeValues.backgroundColor}
26
26
  borderRadius="5px"
27
- boxShadow={`0px 3px 8px 0px ${themeValues.shadowColor}, 0px 2px 14px 0px ${themeValues.shadowColor};`}
27
+ boxShadow={`0px 3px 8px 0px ${themeValues.backgroundColor}, 0px 2px 14px 0px ${themeValues.backgroundColor};`}
28
28
  onMouseEnter={onMouseEnter}
29
29
  onMouseLeave={onMouseLeave}
30
30
  onFocus={onFocus}
@@ -36,8 +36,7 @@ export const createPartialAmountFormState = (
36
36
  ...acc,
37
37
  [item.id]: {
38
38
  validators: validators,
39
- constraints: [onlyNaturals()],
40
- defaultValue: String(item.amount)
39
+ constraints: [onlyNaturals()]
41
40
  }
42
41
  };
43
42
  }, {});
@@ -146,9 +146,8 @@ const RadioSection = ({
146
146
  justify="space-between"
147
147
  align="center"
148
148
  childGap="0.5rem"
149
- nowrap
150
149
  >
151
- <Cluster justify="flex-start" align="center" nowrap>
150
+ <Cluster justify="flex-start" align="center">
152
151
  {!section.hideRadioButton && (
153
152
  <Box padding="0">
154
153
  <RadioButton
@@ -20,13 +20,11 @@ const CenterSingle = ({
20
20
  const { isMobile } = themeContext;
21
21
 
22
22
  return (
23
- <Box
24
- padding="0"
25
- minWidth="100%"
26
- background={themeValues.pageBackground}
27
- extraStyles="flex-grow: 1;"
28
- >
29
- <Cover centerOverride={isMobile && !centeredMobileContent}>
23
+ <Box padding="0" minWidth="100%" background={themeValues.pageBackground}>
24
+ <Cover
25
+ minHeight="100vh"
26
+ centerOverride={isMobile && !centeredMobileContent}
27
+ >
30
28
  {header ? header : <Box padding="0" />}
31
29
  <Box
32
30
  padding="0"
@@ -20,13 +20,8 @@ const CenterStack = ({
20
20
  const { isMobile } = themeContext;
21
21
 
22
22
  return (
23
- <Box
24
- padding="0"
25
- minWidth="100%"
26
- background={themeValues.pageBackground}
27
- extraStyles="flex-grow: 1;"
28
- >
29
- <Cover>
23
+ <Box padding="0" minWidth="100%" background={themeValues.pageBackground}>
24
+ <Cover minHeight="100vh">
30
25
  {header ? header : <Box padding="0" />}
31
26
  <Box padding="0" minWidth="100%" role="main">
32
27
  {subHeader && !(isMobile && hideMobileSubHeader) ? (
@@ -19,13 +19,8 @@ const CenterSingle = ({
19
19
  const { isMobile } = themeContext;
20
20
 
21
21
  return (
22
- <Box
23
- padding="0"
24
- minWidth="100%"
25
- background={themeValues.pageBackground}
26
- extraStyles="flex-grow: 1;"
27
- >
28
- <Cover childGap="0" fillCenter>
22
+ <Box padding="0" minWidth="100%" background={themeValues.pageBackground}>
23
+ <Cover minHeight="100vh" childGap="0" fillCenter>
29
24
  {header ? header : <Box padding="0" />}
30
25
  <Box
31
26
  padding="0"
@@ -25,13 +25,8 @@ const SidebarSingleContent = ({
25
25
  const { isMobile } = themeContext;
26
26
 
27
27
  return (
28
- <Box
29
- padding="0"
30
- minWidth="100%"
31
- background={themeValues.pageBackground}
32
- extraStyles="flex-grow: 1;"
33
- >
34
- <Cover centerOverride={!sidebarVerticalCenter}>
28
+ <Box padding="0" minWidth="100%" background={themeValues.pageBackground}>
29
+ <Cover minHeight="100vh" centerOverride={!sidebarVerticalCenter}>
35
30
  {header ? header : <Box padding="0" />}
36
31
  <Box padding="0" minWidth="100%" role="main">
37
32
  {subHeader && !(isMobile && hideMobileSubHeader) ? (
@@ -31,9 +31,12 @@ const SidebarStackContent = ({
31
31
  minWidth="100%"
32
32
  background={themeValues.pageBackground}
33
33
  key="page-bg"
34
- extraStyles="flex-grow: 1;"
35
34
  >
36
- <Cover centerOverride={!sidebarVerticalCenter} key="page-cover">
35
+ <Cover
36
+ minHeight="100vh"
37
+ centerOverride={!sidebarVerticalCenter}
38
+ key="page-cover"
39
+ >
37
40
  {header ? header : <Box padding="0" key="header-box" />}
38
41
  <Box padding="0" minWidth="100%" key="content-box" role="main">
39
42
  {subHeader && !(isMobile && hideMobileSubHeader) ? (
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import { WHITE, CHARADE_GREY } from "../../constants/colors";
3
+
4
+ export const IconAdd = ({ fill = CHARADE_GREY, iconID, isMobile }) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ xmlnsXlink="http://www.w3.org/1999/xlink"
8
+ width="18"
9
+ height="18"
10
+ viewBox={isMobile ? "0 -0.25 20 20" : "-0.5 -0.5 18 18"}
11
+ id={`icon-add-${iconID}`}
12
+ >
13
+ <defs>
14
+ <path
15
+ id="path-1"
16
+ d="M9.91666623 6.78508747L6.78508747 6.78508747 6.78508747 9.91666623 5.74122788 9.91666623 5.74122788 6.78508747 2.60964912 6.78508747 2.60964912 5.74122788 5.74122788 5.74122788 5.74122788 2.60964912 6.78508747 2.60964912 6.78508747 5.74122788 9.91666623 5.74122788z"
17
+ ></path>
18
+ </defs>
19
+ <g fill="none" fillRule="evenodd" stroke="none" strokeWidth="1">
20
+ <g transform="translate(-383 -15)">
21
+ <g transform="translate(384 16)">
22
+ <g>
23
+ <g transform="translate(1.94 1.858)">
24
+ <mask id="mask-2" fill={WHITE}>
25
+ <use xlinkHref="#path-1"></use>
26
+ </mask>
27
+ <use fill="#000" fillRule="evenodd" xlinkHref="#path-1"></use>
28
+ <g fill={fill} fillRule="evenodd" mask="url(#mask-2)">
29
+ <path d="M0 0H12.526V12.526H0z"></path>
30
+ </g>
31
+ </g>
32
+ <circle
33
+ cx="8.155"
34
+ cy="8.072"
35
+ r="8"
36
+ stroke={fill}
37
+ strokeWidth="0.644"
38
+ ></circle>
39
+ </g>
40
+ </g>
41
+ </g>
42
+ </g>
43
+ </svg>
44
+ );
@@ -1,3 +1,4 @@
1
+ import { IconAdd } from "./IconAdd";
1
2
  import { IconWarn } from "./IconWarn";
2
3
  import { IconCheck } from "./IconCheck";
3
4
  import { IconCheckEmail } from "./IconCheckEmail";
@@ -23,6 +24,7 @@ const AlertIcons = {
23
24
  };
24
25
 
25
26
  export {
27
+ IconAdd,
26
28
  IconWarn,
27
29
  IconCheck,
28
30
  IconCheckEmail,
package/src/util/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import * as formats from "./formats";
2
2
  import * as general from "./general";
3
- import * as theme from "./themeUtils";
4
3
 
5
- export { formats, general, theme };
4
+ export { formats, general };
@@ -1,64 +0,0 @@
1
- import React from "react";
2
- import ButtonWithAction from "../button-with-action";
3
- import { Box, Center, Cluster, Cover } from "../layouts";
4
- import { IconAdd } from "../icons";
5
- import { FONT_WEIGHT_SEMIBOLD } from "../../../constants/style_constants";
6
- import { fallbackValues } from "./AddObligation.theme";
7
- import { themeComponent } from "../../../util/themeUtils";
8
-
9
- const AddObligation = ({
10
- text,
11
- action,
12
- themeValues,
13
- extraStyles,
14
- textExtraStyles
15
- }) => {
16
- const hoverStyles = `
17
- &:hover {
18
- .fill { fill: ${themeValues.hoverColor}; }
19
- .stroke { stroke: ${themeValues.hoverColor}; }
20
- button { text-decoration: underline; text-decoration-color: ${themeValues.hoverColor}; }
21
- span { color: ${themeValues.hoverColor}; }
22
- }`;
23
-
24
- const activeStyles = `
25
- &:active {
26
- .fill { fill: ${themeValues.activeColor}; }
27
- .stroke { stroke: ${themeValues.activeColor}; }
28
- button { text-decoration: underline; text-decoration-color: ${themeValues.activeColor}; }
29
- span { color: ${themeValues.activeColor}; }
30
- }`;
31
-
32
- const defaultStyles = `
33
- min-height: 0;
34
- .fill { fill: ${themeValues.color}; }
35
- .stroke { stroke: ${themeValues.color}; }
36
- `;
37
- return (
38
- <Box
39
- className="button"
40
- padding="0.5rem 0"
41
- hoverStyles={hoverStyles}
42
- activeStyles={activeStyles}
43
- extraStyles={defaultStyles}
44
- onClick={action}
45
- >
46
- <Cover singleChild minHeight="100%">
47
- <Cluster justify="center" align="center" minHeight="100%">
48
- <IconAdd />
49
- <Center intrinsic>
50
- <ButtonWithAction
51
- action={action}
52
- text={text}
53
- variant="smallGhost"
54
- extraStyles={`min-height: 0; ${extraStyles}`}
55
- textExtraStyles={`padding: 0 0 0 0.75rem; font-size: 0.875rem; font-weight ${FONT_WEIGHT_SEMIBOLD}; ${textExtraStyles}`}
56
- />
57
- </Center>
58
- </Cluster>
59
- </Cover>
60
- </Box>
61
- );
62
- };
63
-
64
- export default themeComponent(AddObligation, "AddObligation", fallbackValues);
@@ -1,18 +0,0 @@
1
- import React from "react";
2
- import { text } from "@storybook/addon-knobs";
3
- import AddObligation from "./AddObligation";
4
- import page from "../../../../.storybook/page";
5
-
6
- export const addObligation = () => (
7
- <AddObligation
8
- text={text("text", "Lorem", "props")}
9
- extraStyles={text("extraStyles", "", "props")}
10
- textExtraStyles={text("textExtraStyles", "", "props")}
11
- />
12
- );
13
-
14
- const story = page({
15
- title: "Components|Atoms/AddObligation",
16
- Component: AddObligation
17
- });
18
- export default story;
@@ -1,9 +0,0 @@
1
- const color = "#15749D";
2
- const hoverColor = "#116285";
3
- const activeColor = "#0E506D";
4
-
5
- export const fallbackValues = {
6
- color,
7
- hoverColor,
8
- activeColor
9
- };
@@ -1,3 +0,0 @@
1
- import AddObligation from "./AddObligation";
2
-
3
- export default AddObligation;