@stokr/components-library 3.0.71 → 3.0.72-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/components/2FA/Connect2FA.js +2 -2
  2. package/dist/components/2FA/EnterCode.js +2 -2
  3. package/dist/components/2FA/InstallAuthApp.js +3 -3
  4. package/dist/components/2FA/Sucess2FA.js +2 -2
  5. package/dist/components/2FA/disable-2fa-flow.js +3 -3
  6. package/dist/components/BlogPost/BlogPost.styles.js +2 -2
  7. package/dist/components/Button/Button.styles.js +6 -1
  8. package/dist/components/Button/GlareButton.js +2 -2
  9. package/dist/components/ButtonContainer/ButtonContainer.styles.js +5 -5
  10. package/dist/components/Copy/Copy.js +16 -0
  11. package/dist/components/Copy/copySource.js +16 -0
  12. package/dist/components/Copy/flatten.js +31 -0
  13. package/dist/components/CryptoAddressDetails/CryptoAddressDetails.js +2 -2
  14. package/dist/components/DoubleButton/DoubleButton.styles.js +3 -3
  15. package/dist/components/ForgotPasswordModal/ForgotPasswordModal.js +2 -2
  16. package/dist/components/Header/Header.js +9 -9
  17. package/dist/components/Header/Header.styles.js +2 -2
  18. package/dist/components/LoginModal/LoginModal.js +2 -2
  19. package/dist/components/Lottie/LottieAnimation.js +93 -0
  20. package/dist/components/Lottie/LottieAnimation.styles.js +12 -0
  21. package/dist/components/MainMenu/MainMenu.js +2 -2
  22. package/dist/components/Modal/NewVentureModal/NewVentureModal.js +9 -9
  23. package/dist/components/Modal/PaymentModal.js +2 -2
  24. package/dist/components/Modal/SuccessModal/SuccessModal.js +7 -30
  25. package/dist/components/Newsletter/Newsletter.styles.js +2 -2
  26. package/dist/components/Pagination/PaginationControls.js +2 -2
  27. package/dist/components/Payment/DetailRows.js +39 -0
  28. package/dist/components/Payment/DetailsToggle.js +68 -0
  29. package/dist/components/Payment/PaymentDisplay.js +108 -88
  30. package/dist/components/Payment/PaymentPendingCard.js +106 -0
  31. package/dist/components/Payment/PaymentSuccessCard.js +132 -0
  32. package/dist/components/RefreshButton/RefreshButton.styles.js +2 -2
  33. package/dist/components/RegisterModal/RegisterModal.js +2 -2
  34. package/dist/components/RequestDataBox/RequestDataBox.js +2 -2
  35. package/dist/components/ResetConfirmModal/ResetConfirmModal.js +2 -2
  36. package/dist/components/ResetPasswordModal/ResetPasswordModal.js +2 -2
  37. package/dist/components/StatusDot/StatusDot.js +5 -2
  38. package/dist/components/StatusDot/StatusDot.styles.js +7 -2
  39. package/dist/components/TermsModal/_styles.js +3 -3
  40. package/dist/components/VerifyEmailModal/VerifyEmailModal.js +2 -2
  41. package/dist/components/taxId/complete.js +2 -2
  42. package/dist/components/taxId/register-taxid.js +10 -10
  43. package/dist/context/AuthContext.js +3 -3
  44. package/dist/index.js +20 -0
  45. package/package.json +2 -1
@@ -0,0 +1,132 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "react";
3
+ import styled from "styled-components";
4
+ import { ComponentWrapper } from "../ComponentWrapper/ComponentWrapper.styles.js";
5
+ import { colors } from "../../styles/colors.js";
6
+ import { Button } from "../Button/Button.styles.js";
7
+ import { CodeWrapper, AmountIcon, AmountValue, AmountCurrency } from "./PaymentDisplay.js";
8
+ import { DetailsToggle } from "./DetailsToggle.js";
9
+ import { LottieAnimation } from "../Lottie/LottieAnimation.js";
10
+ import { getCurrencyIcon } from "../../utils/formatCurrencyValue.js";
11
+ import externalLinkIcon from "../../static/images/external-link-icon.svg.js";
12
+ const IconCircle = styled.div`
13
+ flex-shrink: 0;
14
+ width: 100px;
15
+ height: 100px;
16
+ border-radius: 50%;
17
+ background: #f0fdf4;
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ `;
22
+ const TextBlock = styled.div`
23
+ display: flex;
24
+ flex-direction: column;
25
+ align-items: center;
26
+ gap: 8px;
27
+ text-align: center;
28
+ max-width: 544px;
29
+ `;
30
+ const Title = styled.h2`
31
+ margin: 0;
32
+ font-size: 22px;
33
+ font-weight: 800;
34
+ line-height: 28px;
35
+ letter-spacing: 0.8px;
36
+ text-transform: uppercase;
37
+ color: ${colors.black};
38
+ `;
39
+ const Description = styled.p`
40
+ margin: 0;
41
+ font-size: 16px;
42
+ font-weight: 300;
43
+ line-height: 24px;
44
+ letter-spacing: 0.6px;
45
+ color: ${colors.black};
46
+ `;
47
+ const AmountRow = styled.div`
48
+ display: flex;
49
+ align-items: center;
50
+ gap: 8px;
51
+ `;
52
+ const ActionsRow = styled.div`
53
+ display: flex;
54
+ flex-wrap: wrap;
55
+ gap: 21px;
56
+ width: 100%;
57
+
58
+ > * {
59
+ flex: 1 1 200px;
60
+ }
61
+ `;
62
+ const ActionButton = styled(Button)`
63
+ display: inline-flex;
64
+ align-items: center;
65
+ justify-content: center;
66
+ gap: 8px;
67
+ `;
68
+ const ButtonIcon = styled.img`
69
+ width: 12px;
70
+ height: 12px;
71
+ `;
72
+ const PaymentSuccessCard = ({
73
+ title,
74
+ description,
75
+ amount,
76
+ currency,
77
+ customCurrencyIcon,
78
+ rows = [],
79
+ detailsDefaultOpen = false,
80
+ showDetailsLabel = "show details",
81
+ hideDetailsLabel = "hide details",
82
+ primaryActionLabel,
83
+ primaryActionHref,
84
+ onPrimaryActionClick,
85
+ secondaryActionLabel,
86
+ secondaryActionHref,
87
+ onSecondaryActionClick,
88
+ maxWidth,
89
+ containerStyle,
90
+ codeWrapperStyle,
91
+ className,
92
+ codeWrapperClassName,
93
+ children
94
+ }) => {
95
+ const hasAmount = amount !== void 0 && amount !== null && amount !== "";
96
+ const hasActions = Boolean(primaryActionLabel || secondaryActionLabel);
97
+ return /* @__PURE__ */ jsx(ComponentWrapper, { noPadding: true, center: true, style: containerStyle, className, children: /* @__PURE__ */ jsxs(CodeWrapper, { style: codeWrapperStyle, maxWidth, className: codeWrapperClassName, children: [
98
+ /* @__PURE__ */ jsx(IconCircle, { children: /* @__PURE__ */ jsx(LottieAnimation, { variant: "success", size: 76 }) }),
99
+ (title || description) && /* @__PURE__ */ jsxs(TextBlock, { children: [
100
+ title && /* @__PURE__ */ jsx(Title, { children: title }),
101
+ description && /* @__PURE__ */ jsx(Description, { children: description })
102
+ ] }),
103
+ hasAmount && /* @__PURE__ */ jsxs(AmountRow, { children: [
104
+ currency && /* @__PURE__ */ jsx(AmountIcon, { src: getCurrencyIcon(currency, customCurrencyIcon), alt: currency }),
105
+ /* @__PURE__ */ jsx(AmountValue, { children: amount }),
106
+ currency && /* @__PURE__ */ jsx(AmountCurrency, { children: currency })
107
+ ] }),
108
+ rows.length > 0 && /* @__PURE__ */ jsx(DetailsToggle, { rows, defaultOpen: detailsDefaultOpen, showLabel: showDetailsLabel, hideLabel: hideDetailsLabel }),
109
+ hasActions && /* @__PURE__ */ jsxs(ActionsRow, { children: [
110
+ secondaryActionLabel && /* @__PURE__ */ jsxs(
111
+ ActionButton,
112
+ {
113
+ as: secondaryActionHref ? "a" : "button",
114
+ href: secondaryActionHref,
115
+ target: secondaryActionHref ? "_blank" : void 0,
116
+ rel: secondaryActionHref ? "noopener noreferrer" : void 0,
117
+ onClick: onSecondaryActionClick,
118
+ outlineBlack: true,
119
+ children: [
120
+ secondaryActionLabel,
121
+ secondaryActionHref && /* @__PURE__ */ jsx(ButtonIcon, { src: externalLinkIcon, alt: "" })
122
+ ]
123
+ }
124
+ ),
125
+ primaryActionLabel && /* @__PURE__ */ jsx(ActionButton, { as: primaryActionHref ? "a" : "button", href: primaryActionHref, onClick: onPrimaryActionClick, children: primaryActionLabel })
126
+ ] }),
127
+ children
128
+ ] }) });
129
+ };
130
+ export {
131
+ PaymentSuccessCard
132
+ };
@@ -1,5 +1,5 @@
1
1
  import styled from "styled-components";
2
- import { Button } from "../Button/Button.styles.js";
2
+ import stdin_default from "../Button/Button.styles.js";
3
3
  import theme from "../../styles/theme.js";
4
4
  const IconWrap = styled.div`
5
5
  display: block;
@@ -25,7 +25,7 @@ const IconWrap = styled.div`
25
25
  transition: color 0.2s;
26
26
  }
27
27
  `;
28
- const StyledButton = styled(Button).attrs((props) => ({
28
+ const StyledButton = styled(stdin_default).attrs((props) => ({
29
29
  type: props.type || "button"
30
30
  }))`
31
31
  position: relative;
@@ -11,7 +11,7 @@ import { Text } from "../Text/Text.styles.js";
11
11
  import { Input } from "../Input/Input.js";
12
12
  import stdin_default$2 from "../Input/InputPassword.js";
13
13
  import stdin_default$3 from "../Checkbox/Checkbox.js";
14
- import { Button } from "../Button/Button.styles.js";
14
+ import stdin_default$4 from "../Button/Button.styles.js";
15
15
  import { Row, Column } from "../Grid/Grid.styles.js";
16
16
  import { ComponentWrapper } from "../ComponentWrapper/ComponentWrapper.styles.js";
17
17
  import fetchDataPublic from "../../api/fetchDataPublic.js";
@@ -248,7 +248,7 @@ const RegisterModal = (props) => {
248
248
  ] })
249
249
  ] }),
250
250
  /* @__PURE__ */ jsx(ComponentWrapper, { noPaddingBottom: true, noPaddingHorizontal: true, children: /* @__PURE__ */ jsx(
251
- Button,
251
+ stdin_default$4,
252
252
  {
253
253
  type: "submit",
254
254
  fluid: true,
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import "react";
3
3
  import PropTypes from "prop-types";
4
- import { Button } from "../Button/Button.styles.js";
4
+ import stdin_default from "../Button/Button.styles.js";
5
5
  import { Box, Title, Subtitle } from "./RequestDataBox.styles.js";
6
6
  const RequestDataBox = ({ title, subtitle, onClick = () => {
7
7
  } }) => /* @__PURE__ */ jsxs(Box, { children: [
@@ -9,7 +9,7 @@ const RequestDataBox = ({ title, subtitle, onClick = () => {
9
9
  /* @__PURE__ */ jsx(Title, { children: title }),
10
10
  /* @__PURE__ */ jsx(Subtitle, { children: subtitle })
11
11
  ] }),
12
- /* @__PURE__ */ jsx(Button, { minWidth: "240px", onClick, children: title })
12
+ /* @__PURE__ */ jsx(stdin_default, { minWidth: "240px", onClick, children: title })
13
13
  ] });
14
14
  RequestDataBox.propTypes = {
15
15
  title: PropTypes.string.isRequired,
@@ -4,7 +4,7 @@ import PropTypes from "prop-types";
4
4
  import styled from "styled-components";
5
5
  import { RED_BASE_HEX } from "../../constants/style.js";
6
6
  import { Modal } from "../Modal/Modal.js";
7
- import { Button } from "../Button/Button.styles.js";
7
+ import stdin_default$1 from "../Button/Button.styles.js";
8
8
  import { Text } from "../Text/Text.styles.js";
9
9
  import { Row, Column } from "../Grid/Grid.styles.js";
10
10
  import { ContainerWithLine } from "./ResetConfirmModal.styles.js";
@@ -25,7 +25,7 @@ const ResetConfirmModal = ({ isModalOpen, onModalClose, onModalSwitch }) => /* @
25
25
  ] }),
26
26
  /* @__PURE__ */ jsx("br", {}),
27
27
  /* @__PURE__ */ jsx("br", {}),
28
- /* @__PURE__ */ jsx(Button, { "data-cy": "reset-confirm-modal-login", onClick: onModalSwitch, children: "Log in" })
28
+ /* @__PURE__ */ jsx(stdin_default$1, { "data-cy": "reset-confirm-modal-login", onClick: onModalSwitch, children: "Log in" })
29
29
  ] }) }) }) }),
30
30
  /* @__PURE__ */ jsx(RedBar, {})
31
31
  ] });
@@ -7,7 +7,7 @@ import { Modal } from "../Modal/Modal.js";
7
7
  import stdin_default$1 from "../Form/Form.js";
8
8
  import { Text } from "../Text/Text.styles.js";
9
9
  import stdin_default$2 from "../Input/InputPassword.js";
10
- import { Button } from "../Button/Button.styles.js";
10
+ import stdin_default$3 from "../Button/Button.styles.js";
11
11
  import { Row, Column } from "../Grid/Grid.styles.js";
12
12
  import { ComponentWrapper } from "../ComponentWrapper/ComponentWrapper.styles.js";
13
13
  import { isPasswordValid, PASSWORD_REQUIREMENTS_MESSAGE } from "../../utils/password-validation.js";
@@ -108,7 +108,7 @@ const ResetPasswordModal = ({
108
108
  /* @__PURE__ */ jsx(FormError, { show: errors.confirmPassword && touched.confirmPassword, children: errors.confirmPassword })
109
109
  ] }) }),
110
110
  /* @__PURE__ */ jsx(ComponentWrapper, { noPaddingBottom: true, noPaddingHorizontal: true, children: /* @__PURE__ */ jsx(
111
- Button,
111
+ stdin_default$3,
112
112
  {
113
113
  type: "submit",
114
114
  id: "reset-password-submit-btn",
@@ -24,10 +24,12 @@ const StatusDot = ({
24
24
  children,
25
25
  variant,
26
26
  color,
27
+ labelColor,
27
28
  backgroundColor,
28
29
  surface = "transparent",
29
30
  uppercase = false,
30
31
  dotSize = 6,
32
+ pulse = false,
31
33
  className,
32
34
  style,
33
35
  labelStyle,
@@ -36,6 +38,7 @@ const StatusDot = ({
36
38
  }) => {
37
39
  const preset = variant && VARIANT_PRESETS[variant] ? VARIANT_PRESETS[variant] : null;
38
40
  const resolvedColor = color ?? preset?.color ?? colors.black;
41
+ const resolvedLabelColor = labelColor ?? resolvedColor;
39
42
  const isSubtle = surface === "subtle";
40
43
  const resolvedBackground = isSubtle && (backgroundColor !== void 0 ? backgroundColor : preset?.backgroundColor);
41
44
  return /* @__PURE__ */ jsxs(
@@ -57,8 +60,8 @@ const StatusDot = ({
57
60
  } : void 0,
58
61
  ...rest,
59
62
  children: [
60
- /* @__PURE__ */ jsx(Dot, { $size: dotSize, $color: resolvedColor }),
61
- /* @__PURE__ */ jsx(Label, { $color: resolvedColor, $uppercase: uppercase, style: labelStyle, children })
63
+ /* @__PURE__ */ jsx(Dot, { $size: dotSize, $color: resolvedColor, $pulse: pulse }),
64
+ /* @__PURE__ */ jsx(Label, { $color: resolvedLabelColor, $uppercase: uppercase, style: labelStyle, children })
62
65
  ]
63
66
  }
64
67
  );
@@ -1,4 +1,8 @@
1
- import styled from "styled-components";
1
+ import styled, { keyframes } from "styled-components";
2
+ const pulse = keyframes`
3
+ 0%, 100% { opacity: 1; }
4
+ 50% { opacity: 0.35; }
5
+ `;
2
6
  const Root = styled.div.withConfig({
3
7
  shouldForwardProp: (prop) => !["$subtle", "$backgroundColor", "$hasClick"].includes(prop)
4
8
  })`
@@ -20,13 +24,14 @@ const Root = styled.div.withConfig({
20
24
  `}
21
25
  `;
22
26
  const Dot = styled.span.withConfig({
23
- shouldForwardProp: (prop) => !["$size", "$color"].includes(prop)
27
+ shouldForwardProp: (prop) => !["$size", "$color", "$pulse"].includes(prop)
24
28
  })`
25
29
  width: ${(p) => p.$size}px;
26
30
  height: ${(p) => p.$size}px;
27
31
  border-radius: 50%;
28
32
  background-color: ${(p) => p.$color};
29
33
  flex-shrink: 0;
34
+ animation: ${(p) => p.$pulse ? pulse : "none"} 1.6s ease-in-out infinite;
30
35
  `;
31
36
  const Label = styled.span.withConfig({
32
37
  shouldForwardProp: (prop) => !["$color", "$uppercase"].includes(prop)
@@ -1,6 +1,6 @@
1
1
  import styled, { css } from "styled-components";
2
2
  import rwd from "../../styles/rwd.js";
3
- import { Button } from "../Button/Button.styles.js";
3
+ import stdin_default from "../Button/Button.styles.js";
4
4
  import "../Form/Form.js";
5
5
  import { Row } from "../Grid/Grid.styles.js";
6
6
  import { Text } from "../Text/Text.styles.js";
@@ -54,7 +54,7 @@ styled.div`
54
54
  margin-right: 0;
55
55
  `}
56
56
 
57
- ${Button}${Button}${Button} {
57
+ ${stdin_default}${stdin_default}${stdin_default} {
58
58
  margin-right: 16px;
59
59
 
60
60
  &:last-child {
@@ -197,7 +197,7 @@ styled.input.attrs((props) => ({
197
197
  height: 0.1px;
198
198
  z-index: -1;
199
199
  `;
200
- styled(Button).attrs({
200
+ styled(stdin_default).attrs({
201
201
  as: "label",
202
202
  type: void 0
203
203
  })`
@@ -6,7 +6,7 @@ import { Text } from "../Text/Text.styles.js";
6
6
  import { Row, Column } from "../Grid/Grid.styles.js";
7
7
  import { ComponentWrapper } from "../ComponentWrapper/ComponentWrapper.styles.js";
8
8
  import { FormField, FormError } from "../Form/Form.styles.js";
9
- import { Button } from "../Button/Button.styles.js";
9
+ import stdin_default$3 from "../Button/Button.styles.js";
10
10
  import { Formik } from "formik";
11
11
  import * as Yup from "yup";
12
12
  import stdin_default$2 from "../Form/Form.js";
@@ -83,7 +83,7 @@ const RenderErrorModal = (props) => {
83
83
  /* @__PURE__ */ jsx(FormError, { show: errors.email && touched.email, children: errors.email })
84
84
  ] }) }),
85
85
  /* @__PURE__ */ jsx(ComponentWrapper, { noPaddingBottom: true, noPaddingHorizontal: true, children: /* @__PURE__ */ jsx(
86
- Button,
86
+ stdin_default$3,
87
87
  {
88
88
  type: "submit",
89
89
  id: "verify-email-submit-btn",
@@ -5,7 +5,7 @@ import { Text } from "../Text/Text.styles.js";
5
5
  import { useNavigate } from "react-router-dom";
6
6
  import { ComponentWrapper } from "../ComponentWrapper/ComponentWrapper.styles.js";
7
7
  import { TextButton } from "../TextLink/TextLink.styles.js";
8
- import { Button } from "../Button/Button.styles.js";
8
+ import stdin_default$1 from "../Button/Button.styles.js";
9
9
  const noop = () => {
10
10
  };
11
11
  const RegisterTaxIdComplete = ({ showBackButton, onClick = noop }) => {
@@ -27,7 +27,7 @@ const RegisterTaxIdComplete = ({ showBackButton, onClick = noop }) => {
27
27
  /* @__PURE__ */ jsx("p", { children: "You have successfully submitted your Tax ID information. You will be ready to invest once you have completed all required steps on your checklist. Please continue!" })
28
28
  ] }) }),
29
29
  /* @__PURE__ */ jsx(ComponentWrapper, { noPaddingTop: true, children: /* @__PURE__ */ jsx(
30
- Button,
30
+ stdin_default$1,
31
31
  {
32
32
  "data-cy": "tax-id-complete-continue-button",
33
33
  onClick: () => {
@@ -8,16 +8,16 @@ import * as Yup from "yup";
8
8
  import { Formik } from "formik";
9
9
  import { Input } from "../Input/Input.js";
10
10
  import stdin_default$1 from "../Form/Form.js";
11
- import stdin_default$4 from "../ToDoList/ToDoListTask.js";
11
+ import stdin_default$5 from "../ToDoList/ToDoListTask.js";
12
12
  import { ToDoTaskState } from "../ToDoList/ToDoList.js";
13
13
  import { iconsMap } from "../Icon/Icon.style.js";
14
14
  import { ComponentWrapper } from "../ComponentWrapper/ComponentWrapper.styles.js";
15
15
  import { TextButton } from "../TextLink/TextLink.styles.js";
16
- import { Button } from "../Button/Button.styles.js";
17
- import stdin_default$2 from "../CryptoAddressWrapper/CryptoAddressWrapper.js";
18
- import stdin_default$3 from "../RefreshButton/RefreshButton.js";
16
+ import stdin_default$2 from "../Button/Button.styles.js";
17
+ import stdin_default$3 from "../CryptoAddressWrapper/CryptoAddressWrapper.js";
18
+ import stdin_default$4 from "../RefreshButton/RefreshButton.js";
19
19
  import { SectionTitle } from "../SectionTitle/SectionTitle.styles.js";
20
- import stdin_default$5 from "../FAQ/FAQ.js";
20
+ import stdin_default$6 from "../FAQ/FAQ.js";
21
21
  import deleteRedirectCookieAndNavigate from "../../utils/delete-redirect-cookie-and-navigate.js";
22
22
  import { FormField, FormError } from "../Form/Form.styles.js";
23
23
  const noop = () => {
@@ -123,7 +123,7 @@ const RegisterTaxId = ({
123
123
  ] }) }),
124
124
  /* @__PURE__ */ jsx("br", {}),
125
125
  !taxId && /* @__PURE__ */ jsx(ComponentWrapper, { noPaddingBottom: true, noPaddingHorizontal: true, children: /* @__PURE__ */ jsx(
126
- Button,
126
+ stdin_default$2,
127
127
  {
128
128
  minWidth: "230px",
129
129
  type: "submit",
@@ -136,7 +136,7 @@ const RegisterTaxId = ({
136
136
  ] });
137
137
  } }) }),
138
138
  (isUpdatingUser || error) && /* @__PURE__ */ jsx(ComponentWrapper, { borderTop: true, borderBottom: true, center: true, children: /* @__PURE__ */ jsx(
139
- stdin_default$2,
139
+ stdin_default$3,
140
140
  {
141
141
  noFailedIcon: true,
142
142
  relative: true,
@@ -144,9 +144,9 @@ const RegisterTaxId = ({
144
144
  failed: error
145
145
  }
146
146
  ) }),
147
- error && /* @__PURE__ */ jsx(ComponentWrapper, { center: true, noPaddingBottom: true, children: /* @__PURE__ */ jsx(stdin_default$3, { "data-cy": "tax-id-try-again", onClick: onRefreshClick, children: "TRY AGAIN" }) }),
147
+ error && /* @__PURE__ */ jsx(ComponentWrapper, { center: true, noPaddingBottom: true, children: /* @__PURE__ */ jsx(stdin_default$4, { "data-cy": "tax-id-try-again", onClick: onRefreshClick, children: "TRY AGAIN" }) }),
148
148
  taxId && /* @__PURE__ */ jsx(ComponentWrapper, { noPaddingVertical: true, children: /* @__PURE__ */ jsx(
149
- stdin_default$4,
149
+ stdin_default$5,
150
150
  {
151
151
  title: "Tax ID",
152
152
  message: "You tax ID is submitted",
@@ -178,7 +178,7 @@ const RegisterTaxId = ({
178
178
  }
179
179
  ) }),
180
180
  /* @__PURE__ */ jsx(ComponentWrapper, { noPaddingBottom: true, children: /* @__PURE__ */ jsx(SectionTitle, { children: "Frequently Asked Questions" }) }),
181
- /* @__PURE__ */ jsx(ComponentWrapper, { children: /* @__PURE__ */ jsx(stdin_default$5, { scrollRef, items: faqItems, dataCyPrefix: "tax-id-faq" }) })
181
+ /* @__PURE__ */ jsx(ComponentWrapper, { children: /* @__PURE__ */ jsx(stdin_default$6, { scrollRef, items: faqItems, dataCyPrefix: "tax-id-faq" }) })
182
182
  ] });
183
183
  };
184
184
  var stdin_default = RegisterTaxId;
@@ -8,7 +8,7 @@ import { reset, identify } from "../analytics/index.js";
8
8
  import { withRouter } from "../utils/withRouter.js";
9
9
  import { Text } from "../components/Text/Text.styles.js";
10
10
  import { Auth, DEFAULT_TOKEN_EXPIRY_MS } from "./Auth.js";
11
- import { Button } from "../components/Button/Button.styles.js";
11
+ import stdin_default from "../components/Button/Button.styles.js";
12
12
  import { hasLoggedInSession } from "../utils/user-identity.js";
13
13
  import { getConfig, getPlatformURL } from "../runtime-config.js";
14
14
  import avatarPlaceholder from "../static/images/avatar-placeholder.png.js";
@@ -920,7 +920,7 @@ class AuthProviderClass extends Component {
920
920
  variant: "progress",
921
921
  title: "Session is about to expire",
922
922
  subtitle: "Your session will expire due to inactivity. Click below to stay signed in.",
923
- content: /* @__PURE__ */ jsx(Text, { children: /* @__PURE__ */ jsx(Button, { onClick: this.extendSessionFromInactivityWarning, children: "To continue, press here" }) }),
923
+ content: /* @__PURE__ */ jsx(Text, { children: /* @__PURE__ */ jsx(stdin_default, { onClick: this.extendSessionFromInactivityWarning, children: "To continue, press here" }) }),
924
924
  maxWidth: "600px"
925
925
  }
926
926
  ),
@@ -934,7 +934,7 @@ class AuthProviderClass extends Component {
934
934
  content: /* @__PURE__ */ jsxs(Text, { children: [
935
935
  /* @__PURE__ */ jsx("p", { style: { fontSize: 16 }, children: this.state.sessionExpiryPendingReason === "inactivity" || this.state.loggedOutDueToInactivity ? "You have been logged out due to inactivity." : "Your session has expired. Please log in again." }),
936
936
  /* @__PURE__ */ jsx(
937
- Button,
937
+ stdin_default,
938
938
  {
939
939
  onClick: () => {
940
940
  this.dismissSessionExpiryModal();
package/dist/index.js CHANGED
@@ -3,6 +3,9 @@ import { Table } from "./components/AdminDashboard/Table/Table.js";
3
3
  import { ReactTable } from "./components/AdminDashboard/Table/ReactTable.js";
4
4
  import { ReactTableWrapper } from "./components/AdminDashboard/Table/ReactTableWrapper.js";
5
5
  import { AgreementItem } from "./components/AgreementItem/AgreementItem.js";
6
+ import { Copy } from "./components/Copy/Copy.js";
7
+ import { getCopySource, resolveCopy, setCopySource } from "./components/Copy/copySource.js";
8
+ import { flatten, isCopyKey } from "./components/Copy/flatten.js";
6
9
  import { BackButton } from "./components/BackButton/BackButton.js";
7
10
  import { Background } from "./components/Background/Background.js";
8
11
  import { HeroVideoBlock } from "./components/HeroBlock/HeroVideoBlock.js";
@@ -52,6 +55,7 @@ import { PaymentModal } from "./components/Modal/PaymentModal.js";
52
55
  import { NewVentureModal } from "./components/Modal/NewVentureModal/NewVentureModal.js";
53
56
  import { SideModal } from "./components/Modal/SideModal.js";
54
57
  import { ConfirmModal, confirm } from "./components/ConfirmModal/ConfirmModal.js";
58
+ import { LOTTIE_ANIMATIONS, LottieAnimation } from "./components/Lottie/LottieAnimation.js";
55
59
  import { MultiProgressBar } from "./components/MultiProgressBar/MultiProgressBar.js";
56
60
  import { NotificationCounter } from "./components/NotificationCounter/NotificationCounter.styles.js";
57
61
  import { Number, NumberWithContainer } from "./components/Number/Number.js";
@@ -102,6 +106,10 @@ import { Chip } from "./components/Chips/Chip.js";
102
106
  import { ChipsWrapper } from "./components/Chips/ChipWrapper.js";
103
107
  import { ChecklistCard } from "./components/Checklist/ChecklistCard.js";
104
108
  import { CodeWrapper, PaymentDisplay } from "./components/Payment/PaymentDisplay.js";
109
+ import { PaymentPendingCard } from "./components/Payment/PaymentPendingCard.js";
110
+ import { PaymentSuccessCard } from "./components/Payment/PaymentSuccessCard.js";
111
+ import { DetailsToggle } from "./components/Payment/DetailsToggle.js";
112
+ import { DetailRows } from "./components/Payment/DetailRows.js";
105
113
  import { TimerComponent } from "./components/Payment/TimerComponent.js";
106
114
  import { CurrencyLogo, DetailItem, DetailsSection, PaymentDetailsCard } from "./components/Payment/PaymentDetailsCard.js";
107
115
  import { Timeline } from "./components/Timeline/Timeline.js";
@@ -304,6 +312,7 @@ export {
304
312
  ContentInnerText,
305
313
  ContentSection,
306
314
  ContentText,
315
+ Copy,
307
316
  CopyToClipBoardTooltip,
308
317
  CopyToClipboard,
309
318
  CountrySelect,
@@ -317,7 +326,9 @@ export {
317
326
  DESKTOP_MEDIA,
318
327
  DatePickerInput,
319
328
  DetailItem,
329
+ DetailRows,
320
330
  DetailsSection,
331
+ DetailsToggle,
321
332
  DisplayOnBreakpoint,
322
333
  default13 as DocumentBackSvg,
323
334
  default14 as DocumentSmallSvg,
@@ -391,6 +402,7 @@ export {
391
402
  IoniconsStyles,
392
403
  Item,
393
404
  Items,
405
+ LOTTIE_ANIMATIONS,
394
406
  LandingPageTitle,
395
407
  LandingPageTitleLink,
396
408
  LatestUpdate,
@@ -407,6 +419,7 @@ export {
407
419
  default27 as LoginWithOTPFlow,
408
420
  Logo,
409
421
  default28 as LogoSvg,
422
+ LottieAnimation,
410
423
  MAX_WIDTH,
411
424
  default29 as Main2FAFlow,
412
425
  MainMenu,
@@ -447,6 +460,8 @@ export {
447
460
  PaymentDetailsCard,
448
461
  PaymentDisplay,
449
462
  PaymentModal,
463
+ PaymentPendingCard,
464
+ PaymentSuccessCard,
450
465
  Process,
451
466
  ProfessionalInvestorStatuses,
452
467
  ProfileBadge,
@@ -596,6 +611,7 @@ export {
596
611
  copyTextToClipboard,
597
612
  emailRegex,
598
613
  fixDecimals,
614
+ flatten,
599
615
  default2 as fontFaces,
600
616
  format,
601
617
  formatCurrencyValue,
@@ -605,6 +621,7 @@ export {
605
621
  getAnalyticsIngestUrl,
606
622
  getBackofficeAppUrl,
607
623
  getConfig,
624
+ getCopySource,
608
625
  getCurrencyConfig,
609
626
  getCurrencyIcon,
610
627
  getCurrencySymbol,
@@ -623,6 +640,7 @@ export {
623
640
  initAnalytics,
624
641
  isAccountLockedError,
625
642
  isAlreadyOnOnboardingFlow,
643
+ isCopyKey,
626
644
  isExternalUrl,
627
645
  isPasswordValid,
628
646
  isUSInvestor,
@@ -637,11 +655,13 @@ export {
637
655
  default4 as reactTippyStyle,
638
656
  reset,
639
657
  resetRuntimeConfig,
658
+ resolveCopy,
640
659
  default5 as rwd,
641
660
  rwdMax,
642
661
  saveAs,
643
662
  scrollToElement,
644
663
  default6 as semanticUiStyle,
664
+ setCopySource,
645
665
  setUserProperties,
646
666
  showAccountLockedModal,
647
667
  showProgress,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stokr/components-library",
3
- "version": "3.0.71",
3
+ "version": "3.0.72-beta.2",
4
4
  "description": "STOKR - Components Library",
5
5
  "author": "Bilal Hodzic <bilal@stokr.io>",
6
6
  "license": "MIT",
@@ -55,6 +55,7 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "@lottiefiles/dotlottie-react": "^0.19.4",
58
+ "@lottiefiles/dotlottie-web": "^0.74.0",
58
59
  "axios": "^1.13.5",
59
60
  "country-flag-icons": "^1.6.17",
60
61
  "date-fns": "^4.1.0",