@stokr/components-library 3.0.54 → 3.0.56

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 (28) hide show
  1. package/dist/components/BackButton/BackButton.js +1 -3
  2. package/dist/components/ComponentScroll/ComponentScroll.js +1 -1
  3. package/dist/components/FAQ/FAQ.js +2 -5
  4. package/dist/components/Input/InputPassword.js +7 -11
  5. package/dist/components/MultiProgressBar/MultiProgressBar.js +1 -3
  6. package/dist/components/RegisterModal/RegisterModal.js +12 -7
  7. package/dist/components/ResetPasswordModal/ResetPasswordModal.js +12 -13
  8. package/dist/components/Tabs/Tabs.js +1 -3
  9. package/dist/components/TabsNav/TabsNav.js +1 -3
  10. package/dist/index.js +8 -17
  11. package/dist/utils/password-validation.js +49 -0
  12. package/dist/utils/scrollUtils.js +9 -9
  13. package/package.json +4 -13
  14. package/dist/components/CapitalRaisedSummary/CaptialRaisedSummary.js +0 -18
  15. package/dist/components/CapitalRaisedSummary/CaptialRaisedSummary.styles.js +0 -41
  16. package/dist/components/LearnMoreCarousel/LearnMoreCarousel.js +0 -32
  17. package/dist/components/LearnMoreCarousel/LearnMoreCarousel.styles.js +0 -208
  18. package/dist/components/LearnMorePage/LearnMore.js +0 -190
  19. package/dist/components/LearnMorePage/LearnMore.propTypes.js +0 -20
  20. package/dist/components/LearnMorePage/LearnMore.shared.styles.js +0 -56
  21. package/dist/components/LearnMorePage/LearnMore.styles.js +0 -276
  22. package/dist/components/LearnMorePage/LearnMoreExampleObject.js +0 -120
  23. package/dist/components/LearnMorePage/LearnMoreItem.js +0 -57
  24. package/dist/components/LearnMorePage/LearnMoreItem.styles.js +0 -234
  25. package/dist/components/LearnMoreSection/LearnMore.js +0 -138
  26. package/dist/components/LearnMoreSection/LearnMore.styles.js +0 -147
  27. package/dist/components/LearnMoreSection/LearnMoreItem.js +0 -33
  28. package/dist/components/LearnMoreSection/LearnMoreItem.styles.js +0 -60
@@ -1,208 +0,0 @@
1
- import styled from "styled-components";
2
- import rwd from "../../styles/rwd.js";
3
- import theme from "../../styles/theme.js";
4
- const Container = styled.div`
5
- overflow: hidden;
6
- `;
7
- const Offset = styled.div`
8
- position: relative;
9
- padding-top: 28px;
10
- padding-bottom: 76px;
11
- margin-right: 0;
12
-
13
- ${rwd.Medium`
14
- padding-top: 32px;
15
- padding-bottom: 72px;
16
- margin-right: 64px;
17
- `}
18
-
19
- ${rwd.Large`
20
- padding-top: 64px;
21
- padding-bottom: 88px;
22
- margin-right: 128px;
23
- `}
24
- `;
25
- const Wrapper = styled.div`
26
- margin-right: 0;
27
-
28
- ${rwd.Medium`
29
- margin-right: -100%;
30
- `}
31
-
32
- .slick-list {
33
- z-index: 0;
34
- }
35
-
36
- .slick-arrow {
37
- z-index: 1;
38
- width: 32px;
39
- height: 48px;
40
- background-color: ${() => theme.cWarning};
41
- transition: background-color 0.2s;
42
-
43
- ${rwd.Large`
44
- width: 64px;
45
- `}
46
-
47
- &.slick-prev ,
48
- &.slick-next {
49
- top: 100%;
50
- right: 50%;
51
- margin-top: 40px;
52
- transform: none;
53
-
54
- ${rwd.Medium`
55
- margin-top: 24px;
56
- `}
57
-
58
- ${rwd.Large`
59
- margin-top: 40px;
60
- `}
61
-
62
- &:before {
63
- font-family: 'Ionicons';
64
- speak: none;
65
- font-style: normal;
66
- font-weight: normal;
67
- font-variant: normal;
68
- text-transform: none;
69
- text-rendering: auto;
70
- -webkit-font-smoothing: antialiased;
71
- -moz-osx-font-smoothing: grayscale;
72
- font-size: 20px;
73
- line-height: 24px;
74
- text-align: center;
75
- opacity: 1;
76
- color: ${() => theme.cWhite};
77
- }
78
-
79
- &:focus,
80
- &:hover {
81
- background-color: ${() => theme.cWarningDark};
82
- }
83
- }
84
-
85
- &.slick-prev {
86
- left: auto;
87
- margin-right: -32px;
88
-
89
- ${rwd.Large`
90
- margin-right: -64px;
91
- `}
92
-
93
- &:before {
94
- content: '\f3cf';
95
- }
96
- }
97
-
98
- &.slick-next {
99
- border-left: 1px solid ${() => theme.cWarningDark};
100
- margin-right: -64px;
101
-
102
- ${rwd.Large`
103
- margin-right: -128px;
104
- `}
105
-
106
- &:before {
107
- content: '\f3d1';
108
- }
109
- }
110
- }
111
-
112
- .slick-dots {
113
- z-index: 1;
114
- height: auto;
115
- top: 100%;
116
- margin-left: 8px;
117
- text-align: center;
118
- width: 100%;
119
- margin-top: 28px;
120
-
121
- ${rwd.Medium`
122
- margin-top: 36px;
123
- width: 50%;
124
- padding-right: 32px;
125
- text-align: right;
126
- `}
127
-
128
- ${rwd.Large`
129
- margin-top: 52px;
130
- padding-right: 36px;
131
- `}
132
-
133
- li {
134
- display: inline-block;
135
- width: 24px;
136
- height: 24px;
137
- margin: 0;
138
-
139
- button {
140
- display: block;
141
- padding: 8px;
142
- width: 24px;
143
- height: 24px;
144
-
145
- &:before {
146
- position: relative;
147
- content: '';
148
- display: block;
149
- width: 8px;
150
- height: 8px;
151
- border-radius: 4px;
152
- background-color: #eee;
153
- opacity: 1;
154
- transition: background-color 0.2s;
155
- }
156
-
157
- &:hover {
158
- &:before {
159
- background-color: #0050ca;
160
- }
161
- }
162
- }
163
-
164
- &.slick-active {
165
- button {
166
- &:before {
167
- background-color: #ee220d;
168
- }
169
- }
170
- }
171
- }
172
- }
173
-
174
- .slick-track {
175
- display: flex;
176
- align-items: stretch;
177
- }
178
-
179
- .slick-slide {
180
- height: auto;
181
-
182
- & > div {
183
- height: 100%;
184
- }
185
- }
186
- `;
187
- const LearnMoreSlide = styled.div`
188
- outline: 0;
189
- height: 100%;
190
- padding-left: 32px;
191
- padding-right: 32px;
192
-
193
- ${rwd.Medium`
194
- padding-left: 32px;
195
- padding-right: 0;
196
- `}
197
-
198
- ${rwd.Large`
199
- padding-left: 64px;
200
- padding-right: 0;
201
- `}
202
- `;
203
- export {
204
- Container,
205
- LearnMoreSlide,
206
- Offset,
207
- Wrapper
208
- };
@@ -1,190 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { PureComponent, Fragment } from "react";
3
- import PropTypes from "prop-types";
4
- import { Collapse } from "react-collapse";
5
- import stdin_default$2 from "../TabsNav/TabsNav.js";
6
- import { Row } from "../Grid/Grid.styles.js";
7
- import stdin_default from "../ComponentScroll/ComponentScroll.js";
8
- import { getMedia } from "../../styles/rwd.js";
9
- import stdin_default$1 from "../BackButton/BackButton.js";
10
- import stdin_default$3 from "./LearnMoreItem.js";
11
- import { learnMoreCategoryPropTypes, learnMorePostPropTypes } from "./LearnMore.propTypes.js";
12
- import { Container, MobileMenuToggler, SidebarColumn, TitleContainer, SidebarHeading, SidebarTitle, TabNav, TabArrow, SubTabNav, ContentColumn } from "./LearnMore.styles.js";
13
- import { CompleteMarkTooltip, CompleteMarkContainer, CompleteMark } from "./LearnMore.shared.styles.js";
14
- import { withRouter } from "../../utils/withRouter.js";
15
- class LearnMoreClass extends PureComponent {
16
- state = {
17
- openedTab: "",
18
- isMobile: false,
19
- isSidebarExpanded: false
20
- };
21
- componentDidMount() {
22
- this.setDefaultActiveTab();
23
- window.addEventListener("resize", this.onResize);
24
- this.onResizeTimeout();
25
- }
26
- componentWillUnmount() {
27
- window.removeEventListener("resize", this.onResize);
28
- }
29
- getActiveTab = (tabId) => {
30
- const { categories } = this.props;
31
- let activeTabObject = {};
32
- if (!categories?.length) return activeTabObject;
33
- categories?.find((category) => {
34
- const { subcategories } = category;
35
- if (subcategories?.length > 0) {
36
- activeTabObject = subcategories.find((subcategory) => subcategory.id === tabId);
37
- if (activeTabObject) {
38
- return true;
39
- }
40
- }
41
- if (category.id === tabId) {
42
- activeTabObject = category;
43
- return true;
44
- }
45
- return false;
46
- });
47
- return activeTabObject;
48
- };
49
- setDefaultActiveTab = () => {
50
- const { activeCategory } = this.props;
51
- this.toggleTab(activeCategory);
52
- };
53
- toggleTab = (tabId) => {
54
- const { openedTab } = this.state;
55
- if (openedTab === tabId) {
56
- this.setState({
57
- openedTab: ""
58
- });
59
- return;
60
- }
61
- this.setState({
62
- openedTab: tabId
63
- });
64
- };
65
- toggleSidebar = () => {
66
- this.setState((prevState) => ({
67
- isSidebarExpanded: !prevState.isSidebarExpanded
68
- }));
69
- };
70
- onResize = () => {
71
- clearTimeout(this.timeout);
72
- this.timeout = setTimeout(this.onResizeTimeout, 200);
73
- };
74
- onResizeTimeout = () => {
75
- this.setState({
76
- isMobile: this.checkIsMobile()
77
- });
78
- };
79
- checkIsMobile = () => !window.matchMedia(getMedia("Medium")).matches;
80
- navigateToSubcategory = (subcategoryId) => {
81
- const { categories, items } = this.props;
82
- this.props.navigate(`/learn-more/${subcategoryId}`, {
83
- state: {
84
- learnMore: {
85
- categories,
86
- items
87
- }
88
- }
89
- });
90
- };
91
- render() {
92
- const { activeItem, items, categories, onMarkComplete = () => {
93
- } } = this.props;
94
- const { openedTab, isMobile, isSidebarExpanded } = this.state;
95
- const activeTabObject = this.getActiveTab(activeItem) || {};
96
- const activeItemObject = items?.find((post) => post.id === activeItem);
97
- return /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsxs(Row, { nowrap: true, children: [
98
- isMobile && /* @__PURE__ */ jsxs(MobileMenuToggler, { isActive: isSidebarExpanded, onClick: this.toggleSidebar, children: [
99
- /* @__PURE__ */ jsx("span", {}),
100
- /* @__PURE__ */ jsx("span", {}),
101
- /* @__PURE__ */ jsx("span", {})
102
- ] }),
103
- /* @__PURE__ */ jsx(SidebarColumn, { part: 6, isExpanded: isSidebarExpanded, children: /* @__PURE__ */ jsxs(stdin_default, { autoHeight: true, autoHeightMin: "100vh", autoHeightMax: "100vh", children: [
104
- /* @__PURE__ */ jsxs(TitleContainer, { children: [
105
- /* @__PURE__ */ jsx(SidebarHeading, { children: "INVESTING 101" }),
106
- /* @__PURE__ */ jsx(SidebarTitle, { children: "LEARN MORE ABOUT INVESTING" }),
107
- /* @__PURE__ */ jsx(stdin_default$1, { to: "/", children: "Back to previous page" })
108
- ] }),
109
- /* @__PURE__ */ jsx(stdin_default$2, { activeTab: activeItem, children: categories?.map((category) => /* @__PURE__ */ jsxs(Fragment, { children: [
110
- /* @__PURE__ */ jsxs(
111
- TabNav,
112
- {
113
- borderTop: true,
114
- isActive: category.subcategories?.some((subcategory) => subcategory.id === activeItem),
115
- complete: category.complete,
116
- onClick: () => this.toggleTab(category.id),
117
- children: [
118
- /* @__PURE__ */ jsx(TabArrow, { isActive: openedTab === category.id }),
119
- category.title,
120
- /* @__PURE__ */ jsx(
121
- CompleteMarkTooltip,
122
- {
123
- disabled: !category.tooltip,
124
- position: "right center",
125
- content: category.tooltip,
126
- trigger: /* @__PURE__ */ jsx(CompleteMarkContainer, { inProgress: category.inProgress, complete: category.complete, children: /* @__PURE__ */ jsx(CompleteMark, {}) })
127
- }
128
- )
129
- ]
130
- },
131
- category.id
132
- ),
133
- /* @__PURE__ */ jsx(Collapse, { isOpened: openedTab === category.id, children: category.subcategories?.map((subcategory) => /* @__PURE__ */ jsxs(
134
- SubTabNav,
135
- {
136
- isActive: activeItem === subcategory.id,
137
- onClick: () => this.navigateToSubcategory(subcategory.id),
138
- children: [
139
- subcategory.title,
140
- /* @__PURE__ */ jsx(
141
- CompleteMarkTooltip,
142
- {
143
- disabled: !subcategory.tooltip,
144
- position: "right center",
145
- content: subcategory.tooltip,
146
- trigger: /* @__PURE__ */ jsx(
147
- CompleteMarkContainer,
148
- {
149
- inProgress: subcategory.inProgress,
150
- complete: subcategory.complete,
151
- children: /* @__PURE__ */ jsx(CompleteMark, {})
152
- }
153
- )
154
- }
155
- )
156
- ]
157
- },
158
- subcategory.id
159
- )) })
160
- ] }, category.id)) })
161
- ] }) }),
162
- /* @__PURE__ */ jsx(ContentColumn, { part: 16, children: activeItemObject && /* @__PURE__ */ jsx(
163
- stdin_default$3,
164
- {
165
- postItem: activeItemObject,
166
- activeTabObject,
167
- onMarkComplete
168
- }
169
- ) })
170
- ] }) });
171
- }
172
- }
173
- LearnMoreClass.propTypes = {
174
- items: PropTypes.arrayOf(PropTypes.shape(learnMorePostPropTypes)).isRequired,
175
- categories: PropTypes.arrayOf(
176
- PropTypes.shape({
177
- ...learnMoreCategoryPropTypes,
178
- subcategories: PropTypes.arrayOf(PropTypes.shape(learnMoreCategoryPropTypes))
179
- })
180
- ).isRequired,
181
- onMarkComplete: PropTypes.func,
182
- activeCategory: PropTypes.string.isRequired,
183
- activeItem: PropTypes.string.isRequired
184
- };
185
- const LearnMore = withRouter(LearnMoreClass);
186
- export {
187
- LearnMore,
188
- learnMoreCategoryPropTypes,
189
- learnMorePostPropTypes
190
- };
@@ -1,20 +0,0 @@
1
- import PropTypes from "prop-types";
2
- const learnMoreCategoryPropTypes = {
3
- title: PropTypes.string.isRequired,
4
- inProgress: PropTypes.bool,
5
- complete: PropTypes.bool,
6
- tooltip: PropTypes.node
7
- };
8
- const learnMorePostPropTypes = {
9
- id: PropTypes.string.isRequired,
10
- title: PropTypes.string.isRequired,
11
- excerpt: PropTypes.string.isRequired,
12
- content: PropTypes.string.isRequired,
13
- postType: PropTypes.oneOf(["video", "text"]),
14
- cover: PropTypes.string,
15
- videoSrc: PropTypes.string
16
- };
17
- export {
18
- learnMoreCategoryPropTypes,
19
- learnMorePostPropTypes
20
- };
@@ -1,56 +0,0 @@
1
- import styled, { css } from "styled-components";
2
- import { Popup } from "semantic-ui-react";
3
- import theme from "../../styles/theme.js";
4
- const CompleteMark = styled.i.attrs({
5
- className: "ion ion-md-checkmark"
6
- })`
7
- margin: auto;
8
- `;
9
- const CompleteMarkContainer = styled.div.withConfig({
10
- shouldForwardProp: (props) => !["inProgress", "complete", "large"].includes(props)
11
- })`
12
- width: 20px;
13
- height: 20px;
14
- border-radius: 50%;
15
- display: flex;
16
- border: 1px dotted ${() => theme.cLightGrey};
17
- margin-left: auto;
18
-
19
- ${CompleteMark} {
20
- display: none;
21
- }
22
-
23
- ${(props) => props.inProgress && `
24
- border-style: solid;
25
- border-color: ${theme.cLighterGreen};
26
- `}
27
-
28
- ${(props) => props.complete && css`
29
- border-style: solid;
30
- border-color: ${theme.cLighterGreen};
31
- background: ${theme.cLighterGreen};
32
-
33
- ${CompleteMark} {
34
- display: block;
35
- color: ${theme.cDarkGreen};
36
- }
37
- `}
38
-
39
- ${(props) => props.large && css`
40
- width: 40px;
41
- height: 40px;
42
-
43
- ${CompleteMark} {
44
- font-size: 2em;
45
- }
46
- `}
47
- `;
48
- const CompleteMarkTooltip = styled(Popup)`
49
- margin-left: auto;
50
- padding-left: 8px;
51
- `;
52
- export {
53
- CompleteMark,
54
- CompleteMarkContainer,
55
- CompleteMarkTooltip
56
- };