beem-component 1.5.8 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/.eslintrc +62 -0
  2. package/.prettierrc +6 -0
  3. package/babel.config.js +9 -10
  4. package/dist/components/Accordion/Accordion.js +7 -7
  5. package/dist/components/Accordion/Accordion.stories.js +28 -28
  6. package/dist/components/Avatars/avatars.js +30 -22
  7. package/dist/components/Avatars/avatars.stories.js +17 -17
  8. package/dist/components/BannerCard/bannerCard.stories.js +12 -12
  9. package/dist/components/BannerCard/bannerCards.js +14 -14
  10. package/dist/components/Buttons/Stories/basicbutton.stories.js +23 -23
  11. package/dist/components/Buttons/Stories/buttonAlertIcons.stories.js +16 -16
  12. package/dist/components/Buttons/Stories/buttonIconsOnly.stories.js +16 -16
  13. package/dist/components/Buttons/buttonAlertIcons.js +16 -16
  14. package/dist/components/Buttons/buttonIconsOnly.js +22 -22
  15. package/dist/components/Buttons/buttons.js +56 -56
  16. package/dist/components/Cards/cards.js +1 -1
  17. package/dist/components/Cards/cards.stories.js +6 -6
  18. package/dist/components/ChatComponents/ChatBody/chatBody.js +43 -36
  19. package/dist/components/ChatComponents/ChatBody/chatBody.stories.js +5 -5
  20. package/dist/components/ChatComponents/ChatHeader/chatHeader.js +1 -1
  21. package/dist/components/ChatComponents/ChatHeader/chatHeader.stories.js +1 -1
  22. package/dist/components/ChatComponents/ColorPicker/colorPicker.stories.js +7 -3
  23. package/dist/components/ChatComponents/ContactCards/contactCards.js +1 -2
  24. package/dist/components/ChatComponents/ContactCards/contactCards.stories.js +1 -1
  25. package/dist/components/ChatComponents/FormAccordion/FormAccordion.stories.js +9 -5
  26. package/dist/components/ChatComponents/InfoTab/infoTab.js +1 -1
  27. package/dist/components/ChatComponents/InfoTab/infoTab.stories.js +4 -4
  28. package/dist/components/ChatComponents/LabelAccordion/LabelAccordion.stories.js +12 -7
  29. package/dist/components/ChatComponents/NoteAccordion/NoteAccordion.stories.js +14 -12
  30. package/dist/components/Checkbox/checkboxToggler.js +64 -0
  31. package/dist/components/Checkbox/checkboxToggler.stories.js +92 -0
  32. package/dist/components/Lists/listBox.js +5 -5
  33. package/dist/components/Lists/listBox.stories.js +5 -5
  34. package/dist/components/Lists/listHeader.stories.js +11 -11
  35. package/dist/components/Lists/listheader.js +4 -4
  36. package/dist/components/Lists/rowLabels.js +2 -2
  37. package/dist/components/Lists/rowLabels.stories.js +16 -16
  38. package/dist/components/Loader/loader.js +7 -7
  39. package/dist/components/Loader/loader.stories.js +11 -11
  40. package/dist/components/MessageCounter/MessageCounter.stories.js +13 -13
  41. package/dist/components/MessageCounter/messageCounter.js +11 -11
  42. package/dist/components/Modals/modal.js +6 -8
  43. package/dist/components/Modals/modals.stories.js +6 -6
  44. package/dist/components/NoteBar/noteBar.js +14 -14
  45. package/dist/components/NoteBar/noteBar.stories.js +15 -15
  46. package/dist/components/PerformanceIndicator/performaceIndicator.stories.js +13 -13
  47. package/dist/components/PerformanceIndicator/performanceIndicator.js +14 -12
  48. package/dist/components/Pills/pills.js +10 -10
  49. package/dist/components/Pills/pills.stories.js +19 -21
  50. package/dist/components/ProfileIcon/ProfileIcon.js +14 -14
  51. package/dist/components/ProfileIcon/profileIcon.stories.js +16 -16
  52. package/dist/components/ProgressBar/progressbar.stories.js +6 -8
  53. package/dist/components/ProgressRing/progressRing.js +19 -19
  54. package/dist/components/ProgressRing/progressRing.stories.js +14 -14
  55. package/dist/components/RouteLink/link.js +3 -3
  56. package/dist/components/RouteLink/link.stories.js +1 -1
  57. package/dist/components/ScrollBar/scrollBar.js +9 -9
  58. package/dist/components/SuperFluid/SegmentCard/index.js +2 -2
  59. package/dist/components/Tabs/tabs.js +6 -6
  60. package/dist/components/Tabs/tabs.stories.js +17 -17
  61. package/dist/components/Tags/tags.js +21 -21
  62. package/dist/components/Tags/tags.stories.js +16 -16
  63. package/dist/components/breakpoints.js +3 -3
  64. package/dist/components/checkbox.js +4 -4
  65. package/dist/components/colors.js +32 -30
  66. package/dist/components/dropdownButton.js +35 -35
  67. package/dist/components/examples/InfoAccordion.js +0 -1
  68. package/dist/components/iconStyles.js +45 -45
  69. package/dist/components/index.js +24 -16
  70. package/dist/components/input.js +16 -16
  71. package/dist/components/typography.js +14 -14
  72. package/package.json +54 -31
  73. package/src/App.js +10 -7
  74. package/src/index.js +6 -8
  75. package/src/lib/components/Accordion/Accordion.js +32 -14
  76. package/src/lib/components/Accordion/Accordion.stories.js +31 -31
  77. package/src/lib/components/Avatars/avatars.js +44 -29
  78. package/src/lib/components/Avatars/avatars.stories.js +18 -18
  79. package/src/lib/components/BannerCard/bannerCard.stories.js +16 -17
  80. package/src/lib/components/BannerCard/bannerCards.js +18 -18
  81. package/src/lib/components/Buttons/Stories/basicbutton.stories.js +29 -29
  82. package/src/lib/components/Buttons/Stories/buttonAlertIcons.stories.js +17 -17
  83. package/src/lib/components/Buttons/Stories/buttonIconsOnly.stories.js +24 -24
  84. package/src/lib/components/Buttons/buttonAlertIcons.js +22 -25
  85. package/src/lib/components/Buttons/buttonIconsOnly.js +32 -28
  86. package/src/lib/components/Buttons/buttons.js +70 -73
  87. package/src/lib/components/Cards/cards.js +2 -3
  88. package/src/lib/components/Cards/cards.stories.js +10 -10
  89. package/src/lib/components/ChatComponents/ChatBody/chatBody.js +49 -45
  90. package/src/lib/components/ChatComponents/ChatBody/chatBody.stories.js +34 -28
  91. package/src/lib/components/ChatComponents/ChatBody/sessionDetails.js +2 -2
  92. package/src/lib/components/ChatComponents/ChatHeader/chatHeader.js +2 -2
  93. package/src/lib/components/ChatComponents/ChatHeader/chatHeader.stories.js +4 -4
  94. package/src/lib/components/ChatComponents/ColorPicker/colorPicker.js +2 -2
  95. package/src/lib/components/ChatComponents/ColorPicker/colorPicker.stories.js +4 -3
  96. package/src/lib/components/ChatComponents/ContactCards/contactCards.js +7 -5
  97. package/src/lib/components/ChatComponents/ContactCards/contactCards.stories.js +6 -6
  98. package/src/lib/components/ChatComponents/FormAccordion/FormAccordion.js +3 -3
  99. package/src/lib/components/ChatComponents/FormAccordion/FormAccordion.stories.js +4 -3
  100. package/src/lib/components/ChatComponents/InfoTab/infoTab.js +2 -2
  101. package/src/lib/components/ChatComponents/InfoTab/infoTab.stories.js +7 -7
  102. package/src/lib/components/ChatComponents/LabelAccordion/LabelAccordion.stories.js +5 -3
  103. package/src/lib/components/ChatComponents/NoteAccordion/NoteAccordion.js +2 -2
  104. package/src/lib/components/ChatComponents/NoteAccordion/NoteAccordion.stories.js +6 -5
  105. package/src/lib/components/Checkbox/checkboxToggler.js +89 -0
  106. package/src/lib/components/Checkbox/checkboxToggler.stories.js +48 -0
  107. package/src/lib/components/Lists/listBox.js +7 -7
  108. package/src/lib/components/Lists/listBox.stories.js +8 -11
  109. package/src/lib/components/Lists/listHeader.stories.js +13 -13
  110. package/src/lib/components/Lists/listheader.js +7 -7
  111. package/src/lib/components/Lists/rowLabels.js +6 -6
  112. package/src/lib/components/Lists/rowLabels.stories.js +18 -18
  113. package/src/lib/components/Loader/loader.js +13 -13
  114. package/src/lib/components/Loader/loader.stories.js +14 -14
  115. package/src/lib/components/MainWrapper/index.js +2 -2
  116. package/src/lib/components/MessageCounter/MessageCounter.stories.js +14 -14
  117. package/src/lib/components/MessageCounter/messageCounter.js +16 -16
  118. package/src/lib/components/Modals/modal.js +25 -23
  119. package/src/lib/components/Modals/modals.stories.js +9 -9
  120. package/src/lib/components/NoteBar/noteBar.js +20 -20
  121. package/src/lib/components/NoteBar/noteBar.stories.js +18 -17
  122. package/src/lib/components/PerformanceIndicator/performaceIndicator.stories.js +15 -15
  123. package/src/lib/components/PerformanceIndicator/performanceIndicator.js +11 -10
  124. package/src/lib/components/Pills/pills.js +16 -16
  125. package/src/lib/components/Pills/pills.stories.js +22 -23
  126. package/src/lib/components/ProfileIcon/ProfileIcon.js +50 -52
  127. package/src/lib/components/ProfileIcon/profileIcon.stories.js +22 -22
  128. package/src/lib/components/ProgressBar/progressbar.js +4 -5
  129. package/src/lib/components/ProgressBar/progressbar.stories.js +8 -9
  130. package/src/lib/components/ProgressRing/progressRing.js +25 -24
  131. package/src/lib/components/ProgressRing/progressRing.stories.js +18 -18
  132. package/src/lib/components/RouteLink/link.js +10 -8
  133. package/src/lib/components/RouteLink/link.stories.js +4 -4
  134. package/src/lib/components/ScrollBar/scrollBar.js +15 -14
  135. package/src/lib/components/SuperFluid/Content/index.js +2 -2
  136. package/src/lib/components/SuperFluid/ContentTitle.js/index.js +2 -2
  137. package/src/lib/components/SuperFluid/SegmentCard/index.js +9 -8
  138. package/src/lib/components/Tabs/tabs.js +11 -11
  139. package/src/lib/components/Tabs/tabs.stories.js +20 -20
  140. package/src/lib/components/Tags/tags.js +26 -24
  141. package/src/lib/components/Tags/tags.stories.js +19 -19
  142. package/src/lib/components/breakpoints.js +3 -3
  143. package/src/lib/components/checkbox.js +7 -6
  144. package/src/lib/components/colors.js +30 -28
  145. package/src/lib/components/dropdownButton.js +36 -39
  146. package/src/lib/components/examples/InfoAccordion.js +1 -1
  147. package/src/lib/components/globalStyles.js +2 -2
  148. package/src/lib/components/iconStyles.js +45 -48
  149. package/src/lib/components/index.js +47 -46
  150. package/src/lib/components/input.js +20 -20
  151. package/src/lib/components/text.js +1 -1
  152. package/src/lib/components/typography.js +14 -14
  153. package/src/reportWebVitals.js +1 -1
  154. package/dist/components/checkboxToggler.js +0 -50
  155. package/src/lib/components/checkboxToggler.js +0 -19
@@ -1,47 +1,46 @@
1
1
  /* eslint-disable import/no-anonymous-default-export */
2
- import { Delete, Favorite, Person } from "@material-ui/icons";
3
- import React from "react";
4
- import { BmPrimaryBlue } from "../colors";
5
- import { BmPill } from "./pills";
2
+ import { Delete, Favorite, Person } from '@material-ui/icons';
3
+ import React from 'react';
4
+ import { BmPill } from './pills';
6
5
 
7
6
  export default {
8
7
  component: BmPill,
9
- title: "components/Pills",
8
+ title: 'components/Pills',
10
9
  argTypes: {
11
10
  icon: {
12
- description: "Material-UI icon(optional)",
11
+ description: 'Material-UI icon(optional)',
13
12
  defaultValue: { summary: undefined },
14
13
  },
15
14
  avatarIcon: {
16
- description: "Material-UI icon(optional)",
15
+ description: 'Material-UI icon(optional)',
17
16
  defaultValue: { summary: undefined },
18
17
  },
19
18
  size: {
20
- options: ["xsmall", "small", "medium", "large", "xlarge"],
21
- control: { type: "select" },
22
- description: "Size of the Icon (Can also be predefined e.g. 10px)",
23
- defaultValue: { summary: "xsmall" },
19
+ options: ['xsmall', 'small', 'medium', 'large', 'xlarge'],
20
+ control: { type: 'select' },
21
+ description: 'Size of the Icon (Can also be predefined e.g. 10px)',
22
+ defaultValue: { summary: 'xsmall' },
24
23
  },
25
24
  avatarSize: {
26
- options: ["xsmall", "small", "medium", "large", "xlarge"],
27
- control: { type: "select" },
28
- description: "Size of the AvatarIcon (Can also be predefined e.g. 10px)",
29
- defaultValue: { summary: "xsmall" },
25
+ options: ['xsmall', 'small', 'medium', 'large', 'xlarge'],
26
+ control: { type: 'select' },
27
+ description: 'Size of the AvatarIcon (Can also be predefined e.g. 10px)',
28
+ defaultValue: { summary: 'xsmall' },
30
29
  },
31
30
  label: {
32
- description: "Pill label in uppercase",
33
- defaultValue: { summary: "undefined" },
31
+ description: 'Pill label in uppercase',
32
+ defaultValue: { summary: 'undefined' },
34
33
  },
35
34
  color: {
36
- description: "Color of Pill ",
37
- defaultValue: { summary: "black" },
35
+ description: 'Color of Pill ',
36
+ defaultValue: { summary: 'black' },
38
37
  },
39
38
  onDelete: {
40
- description: "Handles Deleting Pill",
39
+ description: 'Handles Deleting Pill',
41
40
  defaultValue: { summary: undefined },
42
41
  },
43
42
  deleteIcon: {
44
- description: "Material-UI icon (Used only when OnDelete is present)",
43
+ description: 'Material-UI icon (Used only when OnDelete is present)',
45
44
  defaultValue: { summary: undefined },
46
45
  },
47
46
  },
@@ -52,7 +51,7 @@ const MainPill = (args) => <BmPill {...args} />;
52
51
  export const BasicPill = MainPill.bind({});
53
52
  BasicPill.args = {
54
53
  icon: <Favorite />,
55
- label: "label",
54
+ label: 'label',
56
55
  color: undefined,
57
56
  onDelete: undefined,
58
57
  deleteIcon: undefined,
@@ -64,7 +63,7 @@ BasicPill.args = {
64
63
  export const CustomPill = MainPill.bind({});
65
64
  CustomPill.args = {
66
65
  icon: undefined,
67
- label: "label",
66
+ label: 'label',
68
67
  color: undefined,
69
68
  onDelete: true,
70
69
  deleteIcon: <Delete />,
@@ -5,74 +5,72 @@ import wa from '../../assets/wa.png';
5
5
  import fb from '../../assets/fb.png';
6
6
  import insta from '../../assets/insta.png';
7
7
 
8
-
9
8
  const handleSize = (size) => {
10
- if (size) {
11
- if (size === "large") return "3.429rem";
12
- if (size === "medium") return "2.286rem";
13
- if (size === "small") return "1.714rem";
14
- if (size === "xsmall") return "1.429rem";
15
- }
16
- return "3.429rem"
9
+ if (size) {
10
+ if (size === 'large') return '3.429rem';
11
+ if (size === 'medium') return '2.286rem';
12
+ if (size === 'small') return '1.714rem';
13
+ if (size === 'xsmall') return '1.429rem';
14
+ }
15
+ return '3.429rem';
17
16
  };
18
17
 
19
18
  const position = (size) => {
20
- if (size) {
21
- if (size === "large") return "2.286rem";
22
- if (size === "medium") return "1.5rem";
23
- if (size === "small") return "1rem";
24
- if (size === "xsmall") return "0.714rem";
25
- }
26
- return "2.286rem"
19
+ if (size) {
20
+ if (size === 'large') return '2.286rem';
21
+ if (size === 'medium') return '1.5rem';
22
+ if (size === 'small') return '1rem';
23
+ if (size === 'xsmall') return '0.714rem';
24
+ }
25
+ return '2.286rem';
27
26
  };
28
27
 
29
28
  const ProfileImg = styled.img`
30
- height: ${(props) => handleSize(props.size)};
31
- width: ${(props) => handleSize(props.size)};
32
- object-fit: contain;
33
- border-radius: 50%;
34
- display:flex;
29
+ height: ${(props) => handleSize(props.size)};
30
+ width: ${(props) => handleSize(props.size)};
31
+ object-fit: contain;
32
+ border-radius: 50%;
33
+ display: flex;
35
34
  `;
36
35
 
37
36
  const Profile = styled.div`
38
- height: ${(props) => handleSize(props.size)};
39
- width: ${(props) => handleSize(props.size)};
40
- border-radius: 50%;
41
- border: 1px solid ${BmBgLightBlue};
42
- display:flex;
43
- align-items:center;
44
- justify-content: center;
45
- position: relative;
46
- background: ${BmSecondaryBlue12};
37
+ height: ${(props) => handleSize(props.size)};
38
+ width: ${(props) => handleSize(props.size)};
39
+ border-radius: 50%;
40
+ border: 1px solid ${BmBgLightBlue};
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ position: relative;
45
+ background: ${BmSecondaryBlue12};
47
46
  `;
48
47
 
49
48
  const Content = styled.div`
50
- display:flex;
51
- align-items:center;
52
- justify-content: center;
53
- position: absolute;
49
+ display: flex;
50
+ align-items: center;
51
+ justify-content: center;
52
+ position: absolute;
54
53
  `;
55
54
 
56
-
57
55
  const Dot = styled.img`
58
- position: absolute;
59
- left: ${(props) => position(props.size)};
60
- bottom: 0rem;
61
- object-fit: contain;
62
- height: 1rem;
63
- width: 1rem;
56
+ position: absolute;
57
+ left: ${(props) => position(props.size)};
58
+ bottom: 0rem;
59
+ object-fit: contain;
60
+ height: 1rem;
61
+ width: 1rem;
64
62
  `;
65
63
 
66
64
  export const BmProfileIcon = ({ img, content, channel, size, ...rest }) => {
67
- return (
68
- <>
69
- <Profile size={size} {...rest}>
70
- {content && !img && <Content>{content}</Content>}
71
- {img && !content && <ProfileImg src={img} />}
72
- {channel && channel === 'whatsapp' && <Dot size={size} src={wa} />}
73
- {channel && channel === 'facebook' && <Dot size={size} src={fb} />}
74
- {channel && channel === 'instagram' && <Dot size={size} src={insta} />}
75
- </Profile>
76
- </>
77
- )
78
- }
65
+ return (
66
+ <>
67
+ <Profile size={size} {...rest}>
68
+ {content && !img && <Content>{content}</Content>}
69
+ {img && !content && <ProfileImg src={img} />}
70
+ {channel && channel === 'whatsapp' && <Dot size={size} src={wa} />}
71
+ {channel && channel === 'facebook' && <Dot size={size} src={fb} />}
72
+ {channel && channel === 'instagram' && <Dot size={size} src={insta} />}
73
+ </Profile>
74
+ </>
75
+ );
76
+ };
@@ -1,31 +1,32 @@
1
1
  /* eslint-disable import/no-anonymous-default-export */
2
- import React from "react";
3
- import { BmProfileIcon } from "./ProfileIcon";
2
+ import React from 'react';
3
+ import { BmProfileIcon } from './ProfileIcon';
4
4
  import beem from '../../assets/beem.jpeg';
5
5
 
6
-
7
6
  export default {
8
7
  component: BmProfileIcon,
9
- title: "components/ProfileIcon",
8
+ title: 'components/ProfileIcon',
10
9
  argTypes: {
11
10
  size: {
12
- options: ["xsmall", "small", "medium", "large"],
13
- control: { type: "select" },
14
- description: "Size of the profile",
15
- defaultValue: { summary: "large" },
11
+ options: ['xsmall', 'small', 'medium', 'large'],
12
+ control: { type: 'select' },
13
+ description: 'Size of the profile',
14
+ defaultValue: { summary: 'large' },
16
15
  },
17
16
  img: {
18
- description: "Image to be displayed (will not be displayed if content is present)",
17
+ description:
18
+ 'Image to be displayed (will not be displayed if content is present)',
19
19
  defaultValue: { summary: undefined },
20
20
  },
21
21
  content: {
22
- description: "Content to be displayed (will not be displayed if image is present)",
22
+ description:
23
+ 'Content to be displayed (will not be displayed if image is present)',
23
24
  defaultValue: { summary: undefined },
24
25
  },
25
26
  channel: {
26
- options: ["whatsapp", "instagram", "facebook"],
27
- control: { type: "select" },
28
- description: "Profile badge",
27
+ options: ['whatsapp', 'instagram', 'facebook'],
28
+ control: { type: 'select' },
29
+ description: 'Profile badge',
29
30
  defaultValue: { summary: undefined },
30
31
  },
31
32
  },
@@ -35,23 +36,22 @@ const MainProfileIcon = (args) => <BmProfileIcon {...args} />;
35
36
 
36
37
  export const Sample = MainProfileIcon.bind({});
37
38
  Sample.args = {
38
- channel: "whatsapp",
39
- size: "large",
39
+ channel: 'whatsapp',
40
+ size: 'large',
40
41
  };
41
42
 
42
43
  export const ImageProfile = MainProfileIcon.bind({});
43
44
  ImageProfile.args = {
44
- channel: "whatsapp",
45
- size: "large",
45
+ channel: 'whatsapp',
46
+ size: 'large',
46
47
  img: beem,
47
- content: undefined
48
+ content: undefined,
48
49
  };
49
50
 
50
51
  export const ContentProfile = MainProfileIcon.bind({});
51
52
  ContentProfile.args = {
52
- channel: "whatsapp",
53
- size: "large",
53
+ channel: 'whatsapp',
54
+ size: 'large',
54
55
  content: <h4>BC</h4>,
55
- img: undefined
56
+ img: undefined,
56
57
  };
57
-
@@ -1,7 +1,7 @@
1
- import React from "react";
2
- import styled from "styled-components";
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
3
  import Proptypes from 'prop-types';
4
- import { BmGrey100, BmPrimaryBlue } from "../colors";
4
+ import { BmGrey100, BmPrimaryBlue } from '../colors';
5
5
 
6
6
  const Container = styled.div`
7
7
  height: 0.75rem;
@@ -36,8 +36,7 @@ export const BmProgressBar = (props) => {
36
36
  );
37
37
  };
38
38
 
39
-
40
39
  BmProgressBar.propTypes = {
41
40
  value: Proptypes.string.isRequired,
42
41
  color: Proptypes.string,
43
- }
42
+ };
@@ -1,19 +1,18 @@
1
1
  /* eslint-disable import/no-anonymous-default-export */
2
- import React from "react";
3
- import { BmProgressBar } from "./progressbar";
4
- import { Home } from "@material-ui/icons";
2
+ import React from 'react';
3
+ import { BmProgressBar } from './progressbar';
5
4
 
6
5
  export default {
7
6
  component: BmProgressBar,
8
- title: "components/ProgressBar",
7
+ title: 'components/ProgressBar',
9
8
  argTypes: {
10
9
  value: {
11
- control: { type: "text" },
12
- description: "Progress value",
10
+ control: { type: 'text' },
11
+ description: 'Progress value',
13
12
  },
14
13
  color: {
15
- control: { type: "text" },
16
- description: "Color of the progress bar",
14
+ control: { type: 'text' },
15
+ description: 'Color of the progress bar',
17
16
  },
18
17
  },
19
18
  };
@@ -22,5 +21,5 @@ const MainProgressBar = (args) => <BmProgressBar {...args} />;
22
21
 
23
22
  export const ProgressBar = MainProgressBar.bind({});
24
23
  ProgressBar.args = {
25
- value: "50",
24
+ value: '50',
26
25
  };
@@ -1,13 +1,14 @@
1
- import React, { useEffect, useState, useRef } from "react";
2
- import PropTypes from "prop-types";
3
- import styled from "styled-components";
1
+ /* eslint-disable no-shadow */
2
+ import React, { useEffect, useState, useRef } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import styled from 'styled-components';
4
5
  import {
5
6
  BmGrey100,
6
7
  BmPrimaryBlue,
7
8
  BmSecondaryDarkGreen,
8
9
  BmPrimaryGold,
9
10
  BmSecondaryRed,
10
- } from "../colors";
11
+ } from '../colors';
11
12
 
12
13
  const small = 1.429;
13
14
  const medium = 1.714;
@@ -16,18 +17,18 @@ const large = 2.286;
16
17
  let center;
17
18
  let radius;
18
19
  let circumference;
19
- let strokeWidth = 5;
20
+ const strokeWidth = 5;
20
21
  let initialSize;
21
22
 
22
23
  const measurement = (size) => {
23
24
  let initialSize = size || large * 14;
24
- if (size === "small") {
25
+ if (size === 'small') {
25
26
  initialSize = small * 14;
26
27
  }
27
- if (size === "medium") {
28
+ if (size === 'medium') {
28
29
  initialSize = medium * 14;
29
30
  }
30
- if (size === "large") {
31
+ if (size === 'large') {
31
32
  initialSize = large * 14;
32
33
  }
33
34
  center = initialSize / 2;
@@ -38,17 +39,17 @@ const measurement = (size) => {
38
39
  const ProgressRingWrapper = styled.svg`
39
40
  display: flex;
40
41
  width: ${({ size }) => {
41
- if (size === "small") return "1.429rem";
42
- if (size === "medium") return "1.714rem";
43
- if (size === "large") return "2.286rem";
44
- if (!size) return "2.286rem";
42
+ if (size === 'small') return '1.429rem';
43
+ if (size === 'medium') return '1.714rem';
44
+ if (size === 'large') return '2.286rem';
45
+ if (!size) return '2.286rem';
45
46
  return `${size}px`;
46
47
  }};
47
48
  height: ${({ size }) => {
48
- if (size === "small") return "1.429rem";
49
- if (size === "medium") return "1.714rem";
50
- if (size === "large") return "2.286rem";
51
- if (!size) return "2.286rem";
49
+ if (size === 'small') return '1.429rem';
50
+ if (size === 'medium') return '1.714rem';
51
+ if (size === 'large') return '2.286rem';
52
+ if (!size) return '2.286rem';
52
53
  return `${size}px`;
53
54
  }};
54
55
  `;
@@ -61,10 +62,10 @@ const ProgressRingCircle2 = styled.circle`
61
62
  fill: none;
62
63
  stroke: ${({ variant, progress }) => {
63
64
  if (progress) {
64
- if (variant === "primary") return `${BmPrimaryBlue}`;
65
- if (variant === "success") return `${BmSecondaryDarkGreen}`;
66
- if (variant === "warning") return `${BmPrimaryGold}`;
67
- if (variant === "danger") return `${BmSecondaryRed}`;
65
+ if (variant === 'primary') return `${BmPrimaryBlue}`;
66
+ if (variant === 'success') return `${BmSecondaryDarkGreen}`;
67
+ if (variant === 'warning') return `${BmPrimaryGold}`;
68
+ if (variant === 'danger') return `${BmSecondaryRed}`;
68
69
  if (!variant) return `${BmPrimaryBlue}`;
69
70
  }
70
71
  if (!progress) return `${BmGrey100}`;
@@ -74,12 +75,12 @@ const ProgressRingCircle2 = styled.circle`
74
75
  const Text = styled.text`
75
76
  font-size: ${() => {
76
77
  if (initialSize >= 50 && initialSize < 100) {
77
- return "1rem";
78
+ return '1rem';
78
79
  }
79
80
  if (initialSize >= 100) {
80
- return "2rem";
81
+ return '2rem';
81
82
  }
82
- return "0.5rem";
83
+ return '0.5rem';
83
84
  }};
84
85
  text-anchor: middle;
85
86
  fill: black;
@@ -101,7 +102,7 @@ const BmProgressRing = (props) => {
101
102
  const progressOffset = ((100 - progress) / 100) * circumference;
102
103
  setOffset(progressOffset);
103
104
 
104
- circleRef.current.style = "transition: stroke-dashoffset 850ms ease-in-out";
105
+ circleRef.current.style = 'transition: stroke-dashoffset 850ms ease-in-out';
105
106
  }, [setOffset, progress, offset]);
106
107
 
107
108
  return (
@@ -1,25 +1,25 @@
1
1
  /* eslint-disable import/no-anonymous-default-export */
2
- import React from "react";
3
- import BmProgressRing from "./progressRing";
2
+ import React from 'react';
3
+ import BmProgressRing from './progressRing';
4
4
 
5
5
  export default {
6
6
  component: BmProgressRing,
7
- title: "components/ProgressRing",
7
+ title: 'components/ProgressRing',
8
8
  argTypes: {
9
9
  size: {
10
- options: ["small", "medium", "large"],
11
- control: { type: "select" },
12
- description: "Size of the Progress Ring (Can also be predefined e.g. 50)",
13
- defaultValue: { summary: "large" },
10
+ options: ['small', 'medium', 'large'],
11
+ control: { type: 'select' },
12
+ description: 'Size of the Progress Ring (Can also be predefined e.g. 50)',
13
+ defaultValue: { summary: 'large' },
14
14
  },
15
15
  progress: {
16
- description: "Progress Indicator",
16
+ description: 'Progress Indicator',
17
17
  },
18
18
  variant: {
19
- options: ["primary", "success", "warning", "danger"],
20
- control: { type: "select" },
21
- description: "Color of the Progress Ring",
22
- defaultValue: { summary: "xsmall" },
19
+ options: ['primary', 'success', 'warning', 'danger'],
20
+ control: { type: 'select' },
21
+ description: 'Color of the Progress Ring',
22
+ defaultValue: { summary: 'xsmall' },
23
23
  },
24
24
  },
25
25
  };
@@ -28,14 +28,14 @@ const MainProgressRing = (args) => <BmProgressRing {...args} />;
28
28
 
29
29
  export const BasicProgressRing = MainProgressRing.bind({});
30
30
  BasicProgressRing.args = {
31
- progress: 30,
32
- variant: "success",
33
- size: "xlarge"
31
+ progress: 30,
32
+ variant: 'success',
33
+ size: 'xlarge',
34
34
  };
35
35
 
36
36
  export const CustomProgressRing = MainProgressRing.bind({});
37
37
  CustomProgressRing.args = {
38
38
  progress: 50,
39
- variant: "primary",
40
- size: "40"
41
- };
39
+ variant: 'primary',
40
+ size: '40',
41
+ };
@@ -1,13 +1,14 @@
1
- import styled from "styled-components";
2
- import { Link } from "react-router-dom";
3
- import { BmPrimaryBlue } from "../colors";
4
- import { p } from "../text";
5
- import { darken } from "polished";
1
+ import styled from 'styled-components';
2
+ import { Link } from 'react-router-dom';
3
+ import { darken } from 'polished';
4
+ import { BmPrimaryBlue } from '../colors';
5
+ import { p } from '../text';
6
6
 
7
- //TODO: To be fixed for hover states
7
+ // TODO: To be fixed for hover states
8
8
  export const BmRouteLink = styled(Link)`
9
9
  ${p}
10
- color: ${(props) => (props.color ? props.color : `${BmPrimaryBlue} `)} !important;
10
+ color: ${(props) =>
11
+ props.color ? props.color : `${BmPrimaryBlue} `} !important;
11
12
  text-decoration: none;
12
13
  &:hover,
13
14
  &:focus,
@@ -16,6 +17,7 @@ export const BmRouteLink = styled(Link)`
16
17
  &:before {
17
18
  font-weight: normal;
18
19
  }
19
- color: ${(props) => darken(0.1, props.color ? props.color : `${BmPrimaryBlue}`)} !important;
20
+ color: ${(props) =>
21
+ darken(0.1, props.color ? props.color : `${BmPrimaryBlue}`)} !important;
20
22
  }
21
23
  `;
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable import/no-anonymous-default-export */
2
- import React from "react";
3
- import { BrowserRouter, Switch } from "react-router-dom";
4
- import { BmRouteLink } from "./link";
2
+ import React from 'react';
3
+ import { BrowserRouter, Switch } from 'react-router-dom';
4
+ import { BmRouteLink } from './link';
5
5
 
6
6
  export default {
7
7
  component: BmRouteLink,
8
- title: "components/RouteLink",
8
+ title: 'components/RouteLink',
9
9
  };
10
10
 
11
11
  export const SampleLink = () => {
@@ -1,26 +1,27 @@
1
- import styled from "styled-components";
1
+ import styled from 'styled-components';
2
2
 
3
3
  export const ScrollbarWrapper = styled.div(() => ({
4
- "::-webkit-scrollbar-thumb": {
5
- background: "blue",
6
- maxHeight: "10px",
7
- display: "block",
8
- width: "10em",
9
- overflow: "auto",
10
- height: "2em",
4
+ '::-webkit-scrollbar-thumb': {
5
+ background: 'blue',
6
+ maxHeight: '10px',
7
+ display: 'block',
8
+ width: '10em',
9
+ overflow: 'auto',
10
+ height: '2em',
11
11
  },
12
12
  }));
13
13
 
14
14
  export const Scrollbar = styled.div`
15
- ::-webkit-scrollbar {
15
+ ::-webkit-scrollbar {
16
16
  width: 0.714rem !important;
17
- }
18
- ::-webkit-scrollbar-thumb {
19
- background-color: #E2E2E2;
20
- }`;
17
+ }
18
+ ::-webkit-scrollbar-thumb {
19
+ background-color: #e2e2e2;
20
+ }
21
+ `;
21
22
 
22
23
  export const Content = styled.div(() => ({
23
- direction: "ltr", // if you want to show the scroll bar on the left
24
+ direction: 'ltr', // if you want to show the scroll bar on the left
24
25
  }));
25
26
 
26
27
  export default ScrollbarWrapper;
@@ -1,5 +1,5 @@
1
- import styled from "styled-components";
2
- import { BmGrey400, BmPrimaryWhite } from "../../colors";
1
+ import styled from 'styled-components';
2
+ import { BmGrey400, BmPrimaryWhite } from '../../colors';
3
3
 
4
4
  export const BmContent = styled.div`
5
5
  display: flex;
@@ -1,5 +1,5 @@
1
- import styled from "styled-components";
2
- import { BmPrimaryBlack } from "../../colors";
1
+ import styled from 'styled-components';
2
+ import { BmPrimaryBlack } from '../../colors';
3
3
 
4
4
  export const BmContentTitle = styled.h1`
5
5
  color: ${BmPrimaryBlack};