@stokr/components-library 2.3.78 → 2.3.80
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.
- package/dist/api/authenticationApi.js +13 -0
- package/dist/auth/index.js +34 -0
- package/dist/components/LearnMorePage/LearnMore.propTypes.js +20 -0
- package/dist/components/Modal/PaymentModal.js +15 -10
- package/dist/components/StatusDot/StatusDot.js +68 -0
- package/dist/components/StatusDot/StatusDot.styles.js +45 -0
- package/dist/config.js +33 -0
- package/dist/manifest.json +2 -2
- package/dist/routing/RouterWrapper.js +17 -0
- package/dist/routing/navigate-app.js +24 -0
- package/dist/runtime-config.js +98 -0
- package/dist/static/animations/checked.lottie.js +4 -0
- package/dist/static/animations/progress.lottie.js +4 -0
- package/dist/static/animations/upload.lottie +0 -0
- package/dist/static/animations/upload.lottie.js +4 -0
- package/dist/static/fonts/Ionicons/Ionicons.ttf.js +4 -0
- package/dist/static/fonts/Ionicons/Ionicons.woff.js +4 -0
- package/dist/static/fonts/Ionicons/Ionicons.woff2.js +4 -0
- package/dist/static/fonts/Ionicons/ionicons.min.css.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-Bold.ttf.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-Bold.woff.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-Bold.woff2.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-ExtraBold.ttf.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-ExtraBold.woff.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-ExtraBold.woff2.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-Light.ttf.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-Light.woff.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-Light.woff2.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-Regular.ttf.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-Regular.woff.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-Regular.woff2.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-SemiBold.ttf.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-SemiBold.woff.js +4 -0
- package/dist/static/fonts/OpenSans/OpenSans-SemiBold.woff2.js +4 -0
- package/dist/static/fonts/icomoon/icomoon.eot.js +4 -0
- package/dist/static/fonts/icomoon/icomoon.svg.js +4 -0
- package/dist/static/fonts/icomoon/icomoon.ttf.js +4 -0
- package/dist/static/fonts/icomoon/icomoon.woff.js +4 -0
- package/dist/static/images/add-folder-icon.svg.js +5 -0
- package/dist/static/images/address-refreshing.gif.js +4 -0
- package/dist/static/images/arrow-down-black.svg.js +4 -0
- package/dist/static/images/avatar-placeholder.png.js +4 -0
- package/dist/static/images/background3.png.js +4 -0
- package/dist/static/images/check-icon.svg.js +5 -0
- package/dist/static/images/checkmark-circle-icon.svg.js +5 -0
- package/dist/static/images/close-circle-icon.svg.js +5 -0
- package/dist/static/images/copy_icon.svg.js +5 -0
- package/dist/static/images/cross-icon.svg.js +5 -0
- package/dist/static/images/currency/bitcoin-logo.png +0 -0
- package/dist/static/images/currency/bitcoin-logo.png.js +4 -0
- package/dist/static/images/currency/bmn2-logo.png +0 -0
- package/dist/static/images/currency/bmn2-logo.png.js +4 -0
- package/dist/static/images/currency/eth.svg +10 -0
- package/dist/static/images/currency/eth_logo.svg +9 -0
- package/dist/static/images/currency/eth_logo.svg.js +4 -0
- package/dist/static/images/currency/eur.svg +3 -0
- package/dist/static/images/currency/usdc-logo.svg +5 -0
- package/dist/static/images/currency/usdc-logo.svg.js +4 -0
- package/dist/static/images/currency/usdq-logo.png +0 -0
- package/dist/static/images/currency/usdq-logo.png.js +4 -0
- package/dist/static/images/currency/usdt-logo.png +0 -0
- package/dist/static/images/currency/usdt-logo.png.js +4 -0
- package/dist/static/images/early-adopter.png.js +4 -0
- package/dist/static/images/eth_logo.svg +8 -8
- package/dist/static/images/external-link-icon.svg.js +4 -0
- package/dist/static/images/filter-icon.svg.js +5 -0
- package/dist/static/images/google_auth.png.js +4 -0
- package/dist/static/images/graduation.png.js +4 -0
- package/dist/static/images/mangopay.svg.js +4 -0
- package/dist/static/images/numbers/number_eight.svg.js +5 -0
- package/dist/static/images/numbers/number_five.svg.js +5 -0
- package/dist/static/images/numbers/number_four.svg.js +5 -0
- package/dist/static/images/numbers/number_nine.svg.js +5 -0
- package/dist/static/images/numbers/number_one.svg.js +5 -0
- package/dist/static/images/numbers/number_seven.svg.js +5 -0
- package/dist/static/images/numbers/number_six.svg.js +5 -0
- package/dist/static/images/numbers/number_three.svg.js +5 -0
- package/dist/static/images/numbers/number_two.svg.js +5 -0
- package/dist/static/images/numbers/number_zero.svg.js +5 -0
- package/dist/static/images/process-waiting.gif.js +4 -0
- package/dist/static/images/search-icon.svg.js +5 -0
- package/dist/static/images/social/Facebook_Logo.png.js +4 -0
- package/dist/static/images/social/LI-In-Bug.png.js +4 -0
- package/dist/static/images/social/Telegram-Logo.png.js +4 -0
- package/dist/static/images/social/X-logo-black.png.js +4 -0
- package/dist/static/images/social/youtube_social_circle_red.png.js +4 -0
- package/dist/static/images/transfer-icon.svg.js +5 -0
- package/dist/static/images/warning-filled.svg.js +5 -0
- package/dist/styles/ioniconsStyles.js +31 -0
- package/dist/utils/app-urls-analytics-backoffice.js +30 -0
- package/dist/utils/app-urls.js +10 -0
- package/dist/utils/formatCurrencyValue.js +4 -2
- package/dist/utils/transition.js +101 -0
- package/dist/utils/user-identity.js +10 -0
- package/package.json +1 -1
- package/dist/index.css +0 -1
- package/dist/utils/analytics.js +0 -44
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import axiosInstance from "../model/axios.js";
|
|
2
|
+
const authenticationApi = {
|
|
3
|
+
/**
|
|
4
|
+
* @param {string} pathSegment — appended to `auth/` (e.g. `forgotPass` → `POST auth/forgotPass`)
|
|
5
|
+
* @param {Record<string, unknown>} body
|
|
6
|
+
*/
|
|
7
|
+
post(pathSegment, body) {
|
|
8
|
+
return axiosInstance.post(`auth/${pathSegment}`, body);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
authenticationApi
|
|
13
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { configure } from "../config.js";
|
|
2
|
+
import { default as default2 } from "../components/2FA/Connect2FA.js";
|
|
3
|
+
import { default as default3 } from "../components/2FA/enable-2fa-flow.js";
|
|
4
|
+
import { default as default4 } from "../components/2FA/EnterCode.js";
|
|
5
|
+
import { default as default5 } from "../components/2FA/InstallAuthApp.js";
|
|
6
|
+
import { default as default6 } from "../components/2FA/login-with-otp-flow.js";
|
|
7
|
+
import { default as default7 } from "../components/2FA/Sucess2FA.js";
|
|
8
|
+
import { default as default8 } from "../components/2FA/main-flow.js";
|
|
9
|
+
import { default as default9 } from "../components/2FA/ResetCode.js";
|
|
10
|
+
import { Auth, DEFAULT_TOKEN_EXPIRY_MS } from "../context/Auth.js";
|
|
11
|
+
import { AuthConsumer, AuthContext, AuthProvider } from "../context/AuthContext.js";
|
|
12
|
+
import { LoadingDots, StokrLoader, StokrLoaderBox } from "../components/StokrLoader/StokrLoader.js";
|
|
13
|
+
import { getConfig, resetRuntimeConfig } from "../runtime-config.js";
|
|
14
|
+
export {
|
|
15
|
+
Auth,
|
|
16
|
+
AuthConsumer,
|
|
17
|
+
AuthContext,
|
|
18
|
+
AuthProvider,
|
|
19
|
+
default2 as Connect2FA,
|
|
20
|
+
DEFAULT_TOKEN_EXPIRY_MS,
|
|
21
|
+
default3 as Enable2FAFlow,
|
|
22
|
+
default4 as EnterCode,
|
|
23
|
+
default5 as InstallAuthApp,
|
|
24
|
+
LoadingDots,
|
|
25
|
+
default6 as LoginWithOTPFlow,
|
|
26
|
+
default8 as Main2FAFlow,
|
|
27
|
+
default9 as ResetCode,
|
|
28
|
+
StokrLoader,
|
|
29
|
+
StokrLoaderBox,
|
|
30
|
+
default7 as Sucess2FA,
|
|
31
|
+
configure,
|
|
32
|
+
getConfig,
|
|
33
|
+
resetRuntimeConfig
|
|
34
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
};
|
|
@@ -17,7 +17,7 @@ var _formatCurrencyValue = require("../../utils/formatCurrencyValue");
|
|
|
17
17
|
var _theme = _interopRequireDefault(require("../../styles/theme"));
|
|
18
18
|
var _Icon = _interopRequireWildcard(require("../Icon/Icon.style"));
|
|
19
19
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
20
|
-
const _excluded = ["data", "user", "isModalOpen", "onModalClose", "onCTAClick", "isRedemption", "noCTA", "CTAText", "additionalInfoRight", "withTimer", "error", "secondsRemaining", "modalTitle", "txTextInRed", "sendTokenTextRight", "numberOfSecuritiesText", "formatAmountInLink"];
|
|
20
|
+
const _excluded = ["data", "user", "isModalOpen", "onModalClose", "onCTAClick", "isRedemption", "noCTA", "CTAText", "additionalInfoRight", "withTimer", "error", "secondsRemaining", "modalTitle", "txTextInRed", "sendTokenTextRight", "numberOfSecuritiesText", "formatAmountInLink", "transactionCostMessage", "paymentLink", "showKYCWarningBox"];
|
|
21
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
23
23
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
@@ -48,7 +48,10 @@ const PaymentModal = _ref => {
|
|
|
48
48
|
txTextInRed = true,
|
|
49
49
|
sendTokenTextRight = /*#__PURE__*/_react.default.createElement("p", null, "Send your ", data === null || data === void 0 ? void 0 : data.tokenSymbolToSend, " to the treasury wallet below."),
|
|
50
50
|
numberOfSecuritiesText = 'Redeem securities',
|
|
51
|
-
formatAmountInLink = true
|
|
51
|
+
formatAmountInLink = true,
|
|
52
|
+
transactionCostMessage,
|
|
53
|
+
paymentLink: paymentLinkProp,
|
|
54
|
+
showKYCWarningBox = true
|
|
52
55
|
} = _ref,
|
|
53
56
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
54
57
|
const {
|
|
@@ -66,7 +69,11 @@ const PaymentModal = _ref => {
|
|
|
66
69
|
//https://github.com/ElementsProject/elements/issues/805
|
|
67
70
|
newTokenAmount = (tokenAmount * Math.pow(10, tokenDecimals - 8)).toFixed(8);
|
|
68
71
|
}
|
|
69
|
-
|
|
72
|
+
const defaultPaymentLink = "liquidnetwork:".concat(projectData === null || projectData === void 0 ? void 0 : projectData.companyWallet, "?amount=").concat(newTokenAmount, "&assetid=").concat(projectData === null || projectData === void 0 ? void 0 : projectData.secondaryAssetId);
|
|
73
|
+
const resolvedPaymentLink = paymentLinkProp !== null && paymentLinkProp !== void 0 ? paymentLinkProp : defaultPaymentLink;
|
|
74
|
+
const txCostParagraphStyle = {
|
|
75
|
+
color: txTextInRed ? _theme.default.cWarning : 'inherit'
|
|
76
|
+
};
|
|
70
77
|
const isKYCVerified = (user === null || user === void 0 ? void 0 : user.kyc_status) === 'Accepted';
|
|
71
78
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Modal.Modal, {
|
|
72
79
|
isOpen: isModalOpen,
|
|
@@ -99,11 +106,9 @@ const PaymentModal = _ref => {
|
|
|
99
106
|
onClick: onCTAClick
|
|
100
107
|
}, CTAText))), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
101
108
|
part: 8
|
|
102
|
-
}, error ? error : /*#__PURE__*/_react.default.createElement(_Text.default, null, sendTokenTextRight, /*#__PURE__*/_react.default.createElement("p", {
|
|
103
|
-
style:
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
}, "We have transfered 0.00002 LBTC to cover your transaction costs."), isKYCVerified ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CryptoAddress.default
|
|
109
|
+
}, error ? error : /*#__PURE__*/_react.default.createElement(_Text.default, null, sendTokenTextRight, transactionCostMessage != null && transactionCostMessage !== false && (/*#__PURE__*/_react.default.isValidElement(transactionCostMessage) ? transactionCostMessage : /*#__PURE__*/_react.default.createElement("p", {
|
|
110
|
+
style: txCostParagraphStyle
|
|
111
|
+
}, transactionCostMessage)), isKYCVerified || !showKYCWarningBox ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CryptoAddress.default
|
|
107
112
|
//noHead
|
|
108
113
|
, {
|
|
109
114
|
title: 'Treasury wallet:',
|
|
@@ -117,7 +122,7 @@ const PaymentModal = _ref => {
|
|
|
117
122
|
noPaddingHorizontal: true,
|
|
118
123
|
noPaddingBottom: true
|
|
119
124
|
}, /*#__PURE__*/_react.default.createElement(_qrcode.QRCodeSVG, {
|
|
120
|
-
value:
|
|
125
|
+
value: resolvedPaymentLink,
|
|
121
126
|
size: 150
|
|
122
127
|
}))) : /*#__PURE__*/_react.default.createElement("div", {
|
|
123
128
|
style: {
|
|
@@ -140,7 +145,7 @@ const PaymentModal = _ref => {
|
|
|
140
145
|
noPaddingHorizontal: true,
|
|
141
146
|
noPaddingBottom: true
|
|
142
147
|
}, /*#__PURE__*/_react.default.createElement(_qrcode.QRCodeSVG, {
|
|
143
|
-
value:
|
|
148
|
+
value: resolvedPaymentLink,
|
|
144
149
|
size: 150
|
|
145
150
|
})))), additionalInfoRight && additionalInfoRight)))))));
|
|
146
151
|
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import { colors } from "../../styles/colors.js";
|
|
4
|
+
import { Root, Dot, Label } from "./StatusDot.styles.js";
|
|
5
|
+
const VARIANT_PRESETS = {
|
|
6
|
+
pending: {
|
|
7
|
+
color: colors.grey2,
|
|
8
|
+
backgroundColor: "rgba(155, 155, 155, 0.14)"
|
|
9
|
+
},
|
|
10
|
+
initiated: {
|
|
11
|
+
color: colors.blue,
|
|
12
|
+
backgroundColor: "#0050CA0D"
|
|
13
|
+
},
|
|
14
|
+
paid: {
|
|
15
|
+
color: colors.fernGreen,
|
|
16
|
+
backgroundColor: "#4D97410D"
|
|
17
|
+
},
|
|
18
|
+
declined: {
|
|
19
|
+
color: colors.darkRed,
|
|
20
|
+
backgroundColor: "rgba(210, 32, 13, 0.08)"
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const StatusDot = ({
|
|
24
|
+
children,
|
|
25
|
+
variant,
|
|
26
|
+
color,
|
|
27
|
+
backgroundColor,
|
|
28
|
+
surface = "transparent",
|
|
29
|
+
uppercase = false,
|
|
30
|
+
dotSize = 6,
|
|
31
|
+
className,
|
|
32
|
+
style,
|
|
33
|
+
labelStyle,
|
|
34
|
+
onClick,
|
|
35
|
+
...rest
|
|
36
|
+
}) => {
|
|
37
|
+
const preset = variant && VARIANT_PRESETS[variant] ? VARIANT_PRESETS[variant] : null;
|
|
38
|
+
const resolvedColor = color ?? preset?.color ?? colors.black;
|
|
39
|
+
const isSubtle = surface === "subtle";
|
|
40
|
+
const resolvedBackground = isSubtle && (backgroundColor !== void 0 ? backgroundColor : preset?.backgroundColor);
|
|
41
|
+
return /* @__PURE__ */ jsxs(
|
|
42
|
+
Root,
|
|
43
|
+
{
|
|
44
|
+
$subtle: isSubtle,
|
|
45
|
+
$backgroundColor: resolvedBackground,
|
|
46
|
+
$hasClick: Boolean(onClick),
|
|
47
|
+
className,
|
|
48
|
+
style,
|
|
49
|
+
onClick,
|
|
50
|
+
role: onClick ? "button" : void 0,
|
|
51
|
+
tabIndex: onClick ? 0 : void 0,
|
|
52
|
+
onKeyDown: onClick ? (e) => {
|
|
53
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
54
|
+
e.preventDefault();
|
|
55
|
+
onClick(e);
|
|
56
|
+
}
|
|
57
|
+
} : void 0,
|
|
58
|
+
...rest,
|
|
59
|
+
children: [
|
|
60
|
+
/* @__PURE__ */ jsx(Dot, { $size: dotSize, $color: resolvedColor }),
|
|
61
|
+
/* @__PURE__ */ jsx(Label, { $color: resolvedColor, $uppercase: uppercase, style: labelStyle, children })
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
};
|
|
66
|
+
export {
|
|
67
|
+
StatusDot
|
|
68
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
const Root = styled.div.withConfig({
|
|
3
|
+
shouldForwardProp: (prop) => !["$subtle", "$backgroundColor", "$hasClick"].includes(prop)
|
|
4
|
+
})`
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
gap: 8px;
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
padding: ${(p) => p.$subtle ? "2px 8px" : "0"};
|
|
10
|
+
background-color: ${(p) => p.$subtle && p.$backgroundColor ? p.$backgroundColor : "transparent"};
|
|
11
|
+
border-radius: ${(p) => p.$subtle ? "2px" : "0"};
|
|
12
|
+
cursor: ${(p) => p.$hasClick ? "pointer" : "default"};
|
|
13
|
+
white-space: nowrap;
|
|
14
|
+
transition: opacity 0.2s ease;
|
|
15
|
+
|
|
16
|
+
${(p) => p.$hasClick && `
|
|
17
|
+
&:hover {
|
|
18
|
+
opacity: 0.85;
|
|
19
|
+
}
|
|
20
|
+
`}
|
|
21
|
+
`;
|
|
22
|
+
const Dot = styled.span.withConfig({
|
|
23
|
+
shouldForwardProp: (prop) => !["$size", "$color"].includes(prop)
|
|
24
|
+
})`
|
|
25
|
+
width: ${(p) => p.$size}px;
|
|
26
|
+
height: ${(p) => p.$size}px;
|
|
27
|
+
border-radius: 50%;
|
|
28
|
+
background-color: ${(p) => p.$color};
|
|
29
|
+
flex-shrink: 0;
|
|
30
|
+
`;
|
|
31
|
+
const Label = styled.span.withConfig({
|
|
32
|
+
shouldForwardProp: (prop) => !["$color", "$uppercase"].includes(prop)
|
|
33
|
+
})`
|
|
34
|
+
font-size: ${(p) => p.$uppercase ? "11px" : "12px"};
|
|
35
|
+
font-weight: ${(p) => p.$uppercase ? "700" : "400"};
|
|
36
|
+
line-height: 20px;
|
|
37
|
+
color: ${(p) => p.$color};
|
|
38
|
+
text-transform: ${(p) => p.$uppercase ? "uppercase" : "none"};
|
|
39
|
+
letter-spacing: ${(p) => p.$uppercase ? "2px" : "0.6px"};
|
|
40
|
+
`;
|
|
41
|
+
export {
|
|
42
|
+
Dot,
|
|
43
|
+
Label,
|
|
44
|
+
Root
|
|
45
|
+
};
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { isValidFirebaseConfig, initFirebase } from "./firebase-config.js";
|
|
2
|
+
import axiosInstance from "./model/axios.js";
|
|
3
|
+
import axiosInstance$1 from "./model/axiosPublic.js";
|
|
4
|
+
import { assignRuntimeConfig } from "./runtime-config.js";
|
|
5
|
+
import { getConfig, resetRuntimeConfig } from "./runtime-config.js";
|
|
6
|
+
let _lastFirebaseConfig = null;
|
|
7
|
+
function configure(config = {}) {
|
|
8
|
+
assignRuntimeConfig(config);
|
|
9
|
+
if (config.apiUrl != null) {
|
|
10
|
+
axiosInstance.defaults.baseURL = config.apiUrl;
|
|
11
|
+
}
|
|
12
|
+
if (config.baseUrlPublic != null) {
|
|
13
|
+
axiosInstance$1.defaults.baseURL = config.baseUrlPublic;
|
|
14
|
+
}
|
|
15
|
+
if (Object.prototype.hasOwnProperty.call(config, "firebase")) {
|
|
16
|
+
const fb = config.firebase;
|
|
17
|
+
if (fb != null && isValidFirebaseConfig(fb)) {
|
|
18
|
+
_lastFirebaseConfig = fb;
|
|
19
|
+
initFirebase(fb);
|
|
20
|
+
} else {
|
|
21
|
+
_lastFirebaseConfig = null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function getLastFirebaseConfig() {
|
|
26
|
+
return _lastFirebaseConfig;
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
configure,
|
|
30
|
+
getConfig,
|
|
31
|
+
getLastFirebaseConfig,
|
|
32
|
+
resetRuntimeConfig
|
|
33
|
+
};
|
package/dist/manifest.json
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import { useInRouterContext, BrowserRouter } from "react-router-dom";
|
|
5
|
+
function RouterWrapper({ children }) {
|
|
6
|
+
const inRouter = useInRouterContext();
|
|
7
|
+
if (inRouter) {
|
|
8
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
9
|
+
}
|
|
10
|
+
return /* @__PURE__ */ jsx(BrowserRouter, { future: { v7_relativeSplatPath: false, v7_startTransition: false }, children });
|
|
11
|
+
}
|
|
12
|
+
RouterWrapper.propTypes = {
|
|
13
|
+
children: PropTypes.node
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
RouterWrapper
|
|
17
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function pathnameIfSameOrigin(absoluteHref) {
|
|
2
|
+
if (typeof window === "undefined" || !absoluteHref) return null;
|
|
3
|
+
try {
|
|
4
|
+
const u = new URL(absoluteHref, window.location.href);
|
|
5
|
+
if (u.origin === window.location.origin) {
|
|
6
|
+
return `${u.pathname}${u.search}${u.hash}`;
|
|
7
|
+
}
|
|
8
|
+
} catch {
|
|
9
|
+
}
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
function navigateToHref(navigate, href) {
|
|
13
|
+
if (!href) return;
|
|
14
|
+
const internal = pathnameIfSameOrigin(href);
|
|
15
|
+
if (internal != null && typeof navigate === "function") {
|
|
16
|
+
navigate(internal);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
window.location.assign(href);
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
navigateToHref,
|
|
23
|
+
pathnameIfSameOrigin
|
|
24
|
+
};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
const __vite_import_meta_env__ = { "BASE_URL": "/", "DEV": false, "MODE": "production", "PROD": true, "SSR": false };
|
|
2
|
+
const _overrides = {};
|
|
3
|
+
const ENV_KEY_BY_CONFIG = {
|
|
4
|
+
apiUrl: "VITE_API_URL",
|
|
5
|
+
baseUrlPublic: "VITE_BASE_URL_PUBLIC",
|
|
6
|
+
cookieDomain: "VITE_COOKIE_DOMAIN",
|
|
7
|
+
websiteDomain: "VITE_WEBSITE_DOMAIN",
|
|
8
|
+
photoApiUrl: "VITE_PHOTO_API_URL",
|
|
9
|
+
onboardingUrl: "VITE_ONBOARDING_URL",
|
|
10
|
+
dashboardUrl: "VITE_DASHBOARD_URL",
|
|
11
|
+
adminUrl: "VITE_ADMIN_URL",
|
|
12
|
+
registerUrl: "VITE_REGISTER_URL"
|
|
13
|
+
};
|
|
14
|
+
const FIREBASE_ENV_VARS = [
|
|
15
|
+
"VITE_FIREBASE_API_KEY",
|
|
16
|
+
"VITE_FIREBASE_AUTH_DOMAIN",
|
|
17
|
+
"VITE_FIREBASE_PROJECT_ID",
|
|
18
|
+
"VITE_FIREBASE_STORAGE_BUCKET",
|
|
19
|
+
"VITE_FIREBASE_MESSAGING_SENDER_ID",
|
|
20
|
+
"VITE_FIREBASE_APP_ID"
|
|
21
|
+
];
|
|
22
|
+
let hasWarnedMissingEnv = false;
|
|
23
|
+
function env(name) {
|
|
24
|
+
try {
|
|
25
|
+
return __vite_import_meta_env__?.[name];
|
|
26
|
+
} catch {
|
|
27
|
+
return void 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function isProvided(value) {
|
|
31
|
+
if (value == null) return false;
|
|
32
|
+
if (typeof value === "string") return value.trim() !== "";
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
function getMissingRuntimeEnvVarNames() {
|
|
36
|
+
const missing = [];
|
|
37
|
+
for (const [configKey, envName] of Object.entries(ENV_KEY_BY_CONFIG)) {
|
|
38
|
+
const resolved = _overrides[configKey] ?? env(envName);
|
|
39
|
+
if (!isProvided(resolved)) missing.push(envName);
|
|
40
|
+
}
|
|
41
|
+
if (!_overrides.firebase) {
|
|
42
|
+
for (const envName of FIREBASE_ENV_VARS) {
|
|
43
|
+
if (!isProvided(env(envName))) missing.push(envName);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return missing;
|
|
47
|
+
}
|
|
48
|
+
function warnMissingRuntimeEnvOnce() {
|
|
49
|
+
if (hasWarnedMissingEnv || typeof console === "undefined" || !console.warn) return;
|
|
50
|
+
const missing = getMissingRuntimeEnvVarNames();
|
|
51
|
+
if (missing.length === 0) return;
|
|
52
|
+
hasWarnedMissingEnv = true;
|
|
53
|
+
console.warn(
|
|
54
|
+
"[@stokr/components-library] Missing runtime configuration: no value from configure() / AuthProvider and no Vite env fallback for:\n - " + missing.join("\n - ")
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
function assignRuntimeConfig(config = {}) {
|
|
58
|
+
Object.assign(_overrides, config);
|
|
59
|
+
warnMissingRuntimeEnvOnce();
|
|
60
|
+
}
|
|
61
|
+
function resetRuntimeConfig() {
|
|
62
|
+
for (const k of Object.keys(_overrides)) {
|
|
63
|
+
delete _overrides[k];
|
|
64
|
+
}
|
|
65
|
+
hasWarnedMissingEnv = false;
|
|
66
|
+
}
|
|
67
|
+
function buildFirebaseConfigFromEnv() {
|
|
68
|
+
return {
|
|
69
|
+
apiKey: env("VITE_FIREBASE_API_KEY"),
|
|
70
|
+
authDomain: env("VITE_FIREBASE_AUTH_DOMAIN"),
|
|
71
|
+
projectId: env("VITE_FIREBASE_PROJECT_ID"),
|
|
72
|
+
storageBucket: env("VITE_FIREBASE_STORAGE_BUCKET"),
|
|
73
|
+
messagingSenderId: env("VITE_FIREBASE_MESSAGING_SENDER_ID"),
|
|
74
|
+
appId: env("VITE_FIREBASE_APP_ID"),
|
|
75
|
+
measurementId: env("VITE_FIREBASE_MEASUREMENT_ID")
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function getConfig(key) {
|
|
79
|
+
if (key === "firebase") {
|
|
80
|
+
return _overrides.firebase ?? buildFirebaseConfigFromEnv();
|
|
81
|
+
}
|
|
82
|
+
const envName = ENV_KEY_BY_CONFIG[key];
|
|
83
|
+
if (envName) {
|
|
84
|
+
return _overrides[key] ?? env(envName);
|
|
85
|
+
}
|
|
86
|
+
return _overrides[key];
|
|
87
|
+
}
|
|
88
|
+
function getPlatformURL() {
|
|
89
|
+
const domain = getConfig("websiteDomain");
|
|
90
|
+
return domain ? `https://${domain}` : "";
|
|
91
|
+
}
|
|
92
|
+
export {
|
|
93
|
+
assignRuntimeConfig,
|
|
94
|
+
getConfig,
|
|
95
|
+
getMissingRuntimeEnvVarNames,
|
|
96
|
+
getPlatformURL,
|
|
97
|
+
resetRuntimeConfig
|
|
98
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const successAnimation = "data:application/octet-stream;base64,UEsDBBQAAAAIAAAAAABcGXfZeQAAAJ4AAAANAAAAbWFuaWZlc3QuanNvbiXNOw7CMBAE0LtMHRDm0/gAVNwAUVjxChZiL1ovIBTl7ti4nNEbzYyQOQVjyQX+PIMjPNx2tz9gQJJINWbRFKaaIyuNzcK75TIgvOwmWsVJzJiOPFFpjMqo/OwQtbhSJg32p1Gs69W92Qd9P6Kxnjf4Ji195dYbLD9QSwMEFAAAAAgAAAAAAIzjOJqXBAAATRgAABUAAABhbmltYXRpb25zLzEyMzQ1Lmpzb27tWE2P2zYQ/SsGz7JAUhQp+taPNJceCqToxdiD69XW6sofkJSmwSL/vW8o0pa89K7XjRfIIkhWlDhDcuZx+GboB/YPm7E8NamQLGF3DZtJlbBqx2Y8YVs0OkvYJzbLJb5Xvt2sMeinVbm8r6u2m9DI29tbN2TRtmXXstn8JmH14nPZ0PvDXlxt0IqEdZ/ZDOuMJ8I0LQyA+B6jHtiWHou+w81SUce/eOWp1gYrYJa5uPkCSw+SLMu8hJOkg81YmMwQnHoeqEvLvgsdUK4wUggoY3W3IgZgRbKXJBwSIDGQzGVu07wwidQ8FcIm3M+CaWs8MQC6owHW9ANsMRoA3/wA5/JhAIxN/J9X1V6VJoe/5NRqsSt7gAlQ9lcDCCu4R1gR0tBxgnZFgn65Htv9Qg7V+ZyTRYMn1sQa0X5EzHyeq9TkKplmGpEjIJwKkyo46DroO2iIVChD45Zsdreo2xL2O6jQuv3/bdGtJgIGrjf4+uHnH99N/iiX3baZfCD/JtPJ+2b7cQeFFVzyU3iPXdBg4hFyifvnUctCdOwVCFUnUhAhtAciiWAnSQ5JjWlpO/92zZ+wNET+h67Z3pdxk983i92qWsLoXitqdUf7dBxRVqXWCBcg2tgQT48jye1Fv5kno2bgezSk9WlQDE3q4uJ4EMHVjo3xEoLLIfN7s9i0d9tmzehYuS63dw6rDTwGkkt/TjyiPiojQJ7a825NRHGaG87mBWK6I17IcMiOeAG6ZRwq2pwxil5AuMM72OZ99eBU6wkFexsPnV+quisbRA4pjjwnUw6MbIiCEfj07UAk20cEixVHBNtUy5oi8ZthV82JWZ9n1alJtTQJNVY8waknfEwGz+Cvo46xz8Lp7J/B/4QM7DEQhcdAqlRKmexbj8lFywJq6OyfkWVdINDozC8X2isv67dXCL9caA8RsD9aMUAuymeHuoGV9YAAAvGZIlU66ZsBeR5F1iGm6Iy60/GurqtdW7qT+XQa8prPk9I4wAcEEotDmRHZn3fW/H4/hnkA66ux0lM5mKfcqJzbgmcW287T3GpuCpWJzLjAUpYL33VZqhaD3HPFVH1HsfY1nCMPnqDc85PWgVtPxwCB0nP9EAxsZf0cFKRzds0yot83U7EEQgg1C/C9uGZ5aeZG/TnM3L9Wm6vlbelzVixVnD1JZh8l/1APXD35o1KmavllaZ/S2P9PgB46JBzKOY99H17eLkt3L7y+TYVEJuEODJgaPvHRvyHtO0HoD9e7uJRuc/H5wvUPXRIXPp3nkPs3r3voDyr9tREk2jUfr377w+7mXGZZrixuczwtpM0Kba3Qgj4NtzbXSlktL70jjvMORR3yDtEBtpey0itcFUe/JbwZ4v16V0VPu3ROz+NdEO6QdxF6t9tPV2PeUQq/lHmRKo6YV/lK4C0zr4cOVuJ/xPfXZ178bmNsYFD/hfdRt/s4sG5MBrqMzjRgXGFEqul2g9uOewu0ve8PKldj3Hg5XBSFyAUxLApenlqluMltZg2n6riwucmUQrUskCwj5fARrbxS8fqdRc9lUYyNsygU1ovmvv+R/+bLf1BLAQIAABQAAAAIAAAAAABcGXfZeQAAAJ4AAAANAAAAAAAAAAAAAAAAAAAAAABtYW5pZmVzdC5qc29uUEsBAgAAFAAAAAgAAAAAAIzjOJqXBAAATRgAABUAAAAAAAAAAAAAAAAApAAAAGFuaW1hdGlvbnMvMTIzNDUuanNvblBLBQYAAAAAAgACAH4AAABuBQAAAAA=";
|
|
2
|
+
export {
|
|
3
|
+
successAnimation as default
|
|
4
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const progressAnimation = "data:application/octet-stream;base64,UEsDBBQAAAAIAMhlkVv8EF7IaAAAAJkAAAANAAAAbWFuaWZlc3QuanNvbo2NOwqFQAxF95L6PT9gZeUGXIFYBCboyDiRJAoi7t1U1nb3cy73goNEI2dooYYfTJRJ0Fjcd4EtsVmk8lX/Rbu6aIrKWdxt/gbmuKL5iUI7XBCDbzbhSUjV6y3h2XMgTzPLignu8X4AUEsDBBQAAAAIAMhlkVt5yYml/QMAAGwbAAAYAAAAYW5pbWF0aW9ucy9wcm9ncmVzcy5qc29u7VnbbtpAEP0VtM8L8voOb616eY2Uqi8oDy6Y4GIwst2mUcS/98zu2qwNhAQCaWhEfGFnvJ45c3xmcR7YbzZgXi/ouYyzSc4GjsVZsmQDHDIchIeTOzbwLByn+riY46KrPLvN46LAdePxWF4QFUVcFmwwvOEsje7jnM4fanOywFFwVt6zgatnKZPRrIMpCtwaphmueGAZ7SJ5zQzDdMvkD07EijP4GbbKYsGCaA3L0HY9bnsutxAM+diICXs4wsd0tDg+2gkhaCcZyNqJgtCbdvW1K02IgOFXTKNlrFKmFNltjsSSUmFQZ87ilPJtTh/2PI6tCnUzm3WIDowSus9pmiyLuHMVldOOwJzzBUY/fPr4ufM9HpVZ3rmmgDrdjvaEyxRxTKK0iFdcB1mUGB61kuXyY9xwR0VcmEAOw9RXBg+GFLMSnj/lYQ6wUPQfiLxi0HWZZ7N4e+hf82g5TUYIXnltjb0kgFtAuUCy64qebYK5WfGq3jsrbSS/lXL+blQCmhQDmxcRXkUzGG0hwCQo3/JoUUyyfM5WCKFRaBvZLpCug4JpRms4NXW3oJj9Wm6FzuSmfC4xi+LDlAxqPvU01qHCE/4KPblHgICgNQJBGQ497qIQGEQxPJxgHGzQIdRlUTqyl767s3hh8gogarKXJOO87O1aIC7vilq03jx5VREJpd3UxbcDqbtHVoUTcmxvX1bbzDy/rpKqXgwpqxo/TkuMPoOW5XyDf5UyI5JYG0hVlejSAIxDqxc6DgLDHPq8wkFZhR/UVjqHFdwPPHmzoYXvCIANQhuNTw4R1JRpVaomplVuMCBThCNRrKFK5pL4xXb2fEnSMs5BHnJsoED3W68aHSocHgH6LgGlIBvLQCBtLgPnUbLojJJ8lBIjT7AY9C1u4yE6cjG4o3rc2JuVbIxvVBXj9d6scGNcVRvRV6WtV6EE6bnDCHsV74RAFLS9TiRVGH2L468Kov0YrLE6xZrd9kOO7RWay8FSo1EVLeyddZU0vppvNawGAZ+rLXjUjtSWx3qq1evbfVeIwHcDywdHAlt4fujbgesJoowT4Edg3xJ9/9DWC406X+udENFeIkdKpMrxGCY8sdEQOkq1TThQ03QfGOTz9PUxJKexnrusdQjYdPAvu2YHFh79BN7ThLHAMZswtHCc3e1pwy+1gAkxUU0ixax+UDFrzatntnnP6dl460P7va2+6/q8a4f/YLs3sGm0+wZG9GZObpfX304igq1H+VyC5dKrva5jNV7uXZZqHfM+SqsWMZ5kS9P7MdGCWu0ULfmK7LSyhUesJVvCqjvi/65ba3DaumWA9C5c78J1OcIF5sr1luY3CIqDUi64zKN8pv4NdrP6C1BLAQIUABQAAAAIAMhlkVv8EF7IaAAAAJkAAAANAAAAAAAAAAAAAAAAAAAAAABtYW5pZmVzdC5qc29uUEsBAhQAFAAAAAgAyGWRW3nJiaX9AwAAbBsAABgAAAAAAAAAAAAAAAAAkwAAAGFuaW1hdGlvbnMvcHJvZ3Jlc3MuanNvblBLBQYAAAAAAgACAIEAAADGBAAAAAA=";
|
|
2
|
+
export {
|
|
3
|
+
progressAnimation as default
|
|
4
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const uploadAnimation = "data:application/octet-stream;base64,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";
|
|
2
|
+
export {
|
|
3
|
+
uploadAnimation as default
|
|
4
|
+
};
|