@stokr/components-library 0.8.0 → 0.8.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.
@@ -53,7 +53,7 @@ var UserChecklist = function UserChecklist(props) {
53
53
  setoptionalTasks = _useState10[1];
54
54
  (0, _react.useEffect)(function () {
55
55
  generateTodos(user);
56
- }, []);
56
+ }, [user]);
57
57
  (0, _react.useEffect)(function () {
58
58
  //calculate mandatory count from tasks
59
59
  if (mandatoryTasks.length > 0) {
@@ -97,15 +97,20 @@ var UserChecklist = function UserChecklist(props) {
97
97
  var generateTodos = function generateTodos(userData) {
98
98
  var country = user.country,
99
99
  entity_name = user.entity_name,
100
- investor_eth_addresses = user.investor_eth_addresses,
101
- investor_algo_addresses = user.investor_algo_addresses,
102
100
  countryObj = user.countryObj,
103
- _user$liquid_network = user.liquid_network,
104
- liquid_network = _user$liquid_network === void 0 ? {} : _user$liquid_network,
105
101
  is_risk_questionnaire_finished = user.is_risk_questionnaire_finished,
106
102
  kyc_status = user.kyc_status,
107
- KYCDocuments = user.KYCDocuments,
108
- lemonwayWallet = user.lemonwayWallet;
103
+ _user$wallets = user.wallets,
104
+ wallets = _user$wallets === void 0 ? [] : _user$wallets;
105
+ var liquidWallets = wallets.filter(function (wallet) {
106
+ return wallet.type === _globalVariables.walletTypes.LIQUID;
107
+ }) || [];
108
+ var algoWallets = wallets.filter(function (wallet) {
109
+ return wallet.type === _globalVariables.walletTypes.ALGORAND;
110
+ }) || [];
111
+ var ethWallets = wallets.filter(function (wallet) {
112
+ return wallet.type === _globalVariables.walletTypes.ETHEREUM;
113
+ }) || [];
109
114
  var platformURL = useRelativePath === true ? '' : "https://signup.".concat(_globalVariables.platformDomain);
110
115
  if (entity_name) {
111
116
  setmandatoryTasks([{
@@ -121,20 +126,20 @@ var UserChecklist = function UserChecklist(props) {
121
126
  }]);
122
127
  setwalletTasks([{
123
128
  title: 'Liquid Address',
124
- message: liquid_network && liquid_network.GAID ? 'Your address is registered' : 'Register a Liquid address where you will receive the securities',
125
- state: liquid_network && liquid_network.GAID ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
129
+ message: liquidWallets.length > 0 ? 'Your address is registered' : 'Register a Liquid address where you will receive the securities',
130
+ state: liquidWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
126
131
  link: "".concat(platformURL, "/register-liquid-securities")
127
132
  }, {
128
133
  title: 'Ethereum Address',
129
- message: investor_eth_addresses ? 'Your address is registered' : 'Register an Ethereum address where you will receive the securities',
130
- state: investor_eth_addresses ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
134
+ message: ethWallets.length > 0 ? 'Your address is registered' : 'Register an Ethereum address where you will receive the securities',
135
+ state: ethWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
131
136
  //link: '', //`${platformURL}/register-ethereum`,
132
137
  disabled: true,
133
138
  tooltip: 'Connecting your ethereum wallet is currently disabled until we have a new offer using the ethereum network.'
134
139
  }, {
135
140
  title: 'Algorand Address',
136
- message: investor_algo_addresses ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
137
- state: investor_algo_addresses ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
141
+ message: algoWallets.length > 0 ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
142
+ state: algoWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
138
143
  //: '',
139
144
  openModal: _ToDoList.ToDoModal.ALGO
140
145
  }]);
@@ -164,19 +169,19 @@ var UserChecklist = function UserChecklist(props) {
164
169
  }]);
165
170
  setwalletTasks([{
166
171
  title: 'Liquid Address',
167
- message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' : liquid_network && liquid_network.GAID ? 'Your address is registered' : 'Register a Liquid address where you will receive the securities',
168
- state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : liquid_network && liquid_network.GAID ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
172
+ message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' : liquidWallets.length > 0 ? 'Your address is registered' : 'Register a Liquid address where you will receive the securities',
173
+ state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : liquidWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
169
174
  link: isFromAllowedCountry && "".concat(platformURL, "/register-liquid-securities")
170
175
  }, {
171
176
  title: 'Ethereum Address',
172
- message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' : investor_eth_addresses ? 'Your address is registered' : 'Register an Ethereum address where you will receive the securities',
173
- state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : investor_eth_addresses ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
177
+ message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' : ethWallets.length > 0 ? 'Your address is registered' : 'Register an Ethereum address where you will receive the securities',
178
+ state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : ethWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
174
179
  disabled: true,
175
180
  tooltip: 'Connecting your ethereum wallet is currently disabled until we have a new offer using the ethereum network.'
176
181
  }, {
177
182
  title: 'Algorand Address',
178
- message: investor_algo_addresses ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
179
- state: investor_algo_addresses ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
183
+ message: algoWallets.length > 0 ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
184
+ state: algoWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
180
185
  openModal: _ToDoList.ToDoModal.ALGO
181
186
  //link: '',
182
187
  }]);
@@ -91,6 +91,37 @@ var userDev = {
91
91
  address: 'U4EIZEMPRGC77P6HJSFCLWYE4NUMNILU5DBZCKV44QMJ3TQOADRETVVAZU',
92
92
  whitelistedAssets: ['20918100', '92363258']
93
93
  }],
94
+ wallets: [{
95
+ _id: '641dd681b08b7543f433af1e',
96
+ userId: '61851acd5b9a890013297b12',
97
+ type: 'liquid',
98
+ address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
99
+ name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
100
+ createdAt: '2021-11-19T16:19:33.390Z',
101
+ isPrimary: true
102
+ }, {
103
+ _id: '641dd681b08b7543f433af1f',
104
+ userId: '61851acd5b9a890013297b12',
105
+ type: 'liquid',
106
+ address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
107
+ assetIds: ['2812e39a-ad94-4368-9db4-9d98c1c00f38'],
108
+ liquidAccount: 'infinite-fleet',
109
+ registered_user: 6020,
110
+ name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
111
+ createdAt: '2021-11-19T16:19:33.390Z',
112
+ isPrimary: true
113
+ }, {
114
+ _id: '641dd681b08b7543f433af20',
115
+ userId: '61851acd5b9a890013297b12',
116
+ type: 'liquid',
117
+ address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
118
+ assetIds: ['35c3c8ed-59a3-4a87-9612-b48236aeab3b'],
119
+ liquidAccount: 'blockstream',
120
+ registered_user: 273,
121
+ name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
122
+ createdAt: '2021-11-19T16:19:33.390Z',
123
+ isPrimary: true
124
+ }],
94
125
  liquid_network: {
95
126
  GAID: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
96
127
  dt: '2021-11-19T16:19:33.390Z',
@@ -66,22 +66,7 @@ var CryptoAddress = function CryptoAddress(_ref) {
66
66
  onClick: function onClick(e) {
67
67
  return e.preventDefault();
68
68
  }
69
- }, /*#__PURE__*/_react.default.createElement(_reactTippy.Tooltip, {
70
- position: "top",
71
- title: copiedAddressToClipboard ? 'Copied to clipboard!' : 'Click to copy address to clipboard',
72
- theme: "light",
73
- arrow: true,
74
- hideOnClick: false,
75
- onHidden: function onHidden() {
76
- return setCopiedAddressToClipboard(false);
77
- },
78
- duration: 200
79
- }, /*#__PURE__*/_react.default.createElement(_reactCopyToClipboard.CopyToClipboard, {
80
- text: address,
81
- onCopy: function onCopy() {
82
- return setCopiedAddressToClipboard(true);
83
- }
84
- }, /*#__PURE__*/_react.default.createElement(_CryptoAddress.CopyToClipboardButton, null))))), src && /*#__PURE__*/_react.default.createElement("img", {
69
+ }, copyToClipBoard(address, copiedAddressToClipboard, setCopiedAddressToClipboard))), src && /*#__PURE__*/_react.default.createElement("img", {
85
70
  src: src,
86
71
  alt: "project logo",
87
72
  height: "50",
@@ -91,11 +76,30 @@ var CryptoAddress = function CryptoAddress(_ref) {
91
76
  }
92
77
  }))), /*#__PURE__*/_react.default.createElement(_CryptoAddress.Body, {
93
78
  noBody: noBody
94
- }, /*#__PURE__*/_react.default.createElement(_CryptoAddress.DataBox, null, data.value && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Value, null, data.unit && "".concat(data.unit, " "), data.value), data.eqValue && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Equal, null, '= ', data.eqUnit && "".concat(data.eqUnit, " "), data.eqValue)), /*#__PURE__*/_react.default.createElement(_CryptoAddress.InfoBox, null, /*#__PURE__*/_react.default.createElement(_CryptoAddress.Value, null, info.unit && /*#__PURE__*/_react.default.createElement("strong", null, info.unit), info.value), info.eqValue && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Equal, null, info.noEqualsToSign ? ' ' : '= ', info.eqUnit && /*#__PURE__*/_react.default.createElement("strong", null, info.eqUnit), info.eqValue))), sideOptions && /*#__PURE__*/_react.default.createElement(_CryptoAddress.OptionsWrapper, null, sideOptions)))));
79
+ }, /*#__PURE__*/_react.default.createElement(_CryptoAddress.DataBox, null, data.value && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Value, null, data.unit && "".concat(data.unit, " "), data.value, data.tooltip && /*#__PURE__*/_react.default.createElement("div", null, copyToClipBoard(data.value, copiedAddressToClipboard, setCopiedAddressToClipboard))), data.eqValue && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Equal, null, '= ', data.eqUnit && "".concat(data.eqUnit, " "), data.eqValue)), /*#__PURE__*/_react.default.createElement(_CryptoAddress.InfoBox, null, /*#__PURE__*/_react.default.createElement(_CryptoAddress.Value, null, info.unit && /*#__PURE__*/_react.default.createElement("strong", null, info.unit), info.value), info.eqValue && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Equal, null, info.noEqualsToSign ? ' ' : '= ', info.eqUnit && /*#__PURE__*/_react.default.createElement("strong", null, info.eqUnit), info.eqValue))), sideOptions && /*#__PURE__*/_react.default.createElement(_CryptoAddress.OptionsWrapper, null, sideOptions)))));
95
80
  };
96
81
  exports.CryptoAddress = CryptoAddress;
82
+ var copyToClipBoard = function copyToClipBoard(value, isCopied, setCopy) {
83
+ return /*#__PURE__*/_react.default.createElement(_reactTippy.Tooltip, {
84
+ position: "top",
85
+ title: isCopied ? 'Copied to clipboard!' : 'Click to copy address to clipboard',
86
+ theme: "light",
87
+ arrow: true,
88
+ hideOnClick: false,
89
+ onHidden: function onHidden() {
90
+ return setCopy(false);
91
+ },
92
+ duration: 200
93
+ }, /*#__PURE__*/_react.default.createElement(_reactCopyToClipboard.CopyToClipboard, {
94
+ text: value,
95
+ onCopy: function onCopy() {
96
+ return setCopy(true);
97
+ }
98
+ }, /*#__PURE__*/_react.default.createElement(_CryptoAddress.CopyToClipboardButton, null)));
99
+ };
97
100
  var dataShape = _propTypes.default.shape({
98
101
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
102
+ tooltip: _propTypes.default.bool,
99
103
  unit: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
100
104
  eqValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
101
105
  eqUnit: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
@@ -7,6 +7,7 @@ exports.default = exports.CryptoAddressRadioWrap = exports.CryptoAddressOverview
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _CryptoAddress = _interopRequireDefault(require("./CryptoAddress"));
9
9
  var _ComponentWrapper = require("../ComponentWrapper/ComponentWrapper.styles");
10
+ var _global = _interopRequireDefault(require("../../styles/global"));
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12
  var _default = {
12
13
  title: 'Components Library/Crypto Address',
@@ -79,7 +80,7 @@ var _default = {
79
80
  // }
80
81
  exports.default = _default;
81
82
  var Template = function Template(args) {
82
- return /*#__PURE__*/_react.default.createElement(_ComponentWrapper.ComponentWrapper, null, /*#__PURE__*/_react.default.createElement(_CryptoAddress.default, args));
83
+ return /*#__PURE__*/_react.default.createElement(_ComponentWrapper.ComponentWrapper, null, /*#__PURE__*/_react.default.createElement(_global.default, null), /*#__PURE__*/_react.default.createElement(_CryptoAddress.default, args));
83
84
  };
84
85
  var CryptoAddressOverview = Template.bind({});
85
86
  exports.CryptoAddressOverview = CryptoAddressOverview;
@@ -92,7 +93,8 @@ CryptoAddressOverview.args = {
92
93
  value: '1',
93
94
  unit: '€',
94
95
  eqValue: '2',
95
- eqUnit: '$'
96
+ eqUnit: '$',
97
+ tooltip: true
96
98
  },
97
99
  info: {
98
100
  value: '3',
@@ -108,7 +108,7 @@ exports.InfoBox = InfoBox;
108
108
  var Value = _styledComponents.default.div.withConfig({
109
109
  displayName: "CryptoAddressstyles__Value",
110
110
  componentId: "sc-1wjvdgu-12"
111
- })(["position:relative;font-weight:300;font-size:22px;font-size:", "px;line-height:28px;letter-spacing:0.4px;strong{font-weight:normal;&:after{content:' ';}}"], function (props) {
111
+ })(["position:relative;font-weight:300;font-size:22px;font-size:", "px;line-height:28px;letter-spacing:0.4px;strong{font-weight:normal;&:after{content:' ';}}& > div{display:inline-block;margin-left:30px;& svg{max-width:16px;max-height:16px;}}"], function (props) {
112
112
  return props.fontSize;
113
113
  });
114
114
  exports.Value = Value;
@@ -176,7 +176,7 @@ exports.CryptoAddressOptionIcon = CryptoAddressOptionIcon;
176
176
  var CryptoAddressToggle = _styledComponents.default.button.withConfig({
177
177
  displayName: "CryptoAddressstyles__CryptoAddressToggle",
178
178
  componentId: "sc-1wjvdgu-20"
179
- })(["display:inline-block;position:relative;width:40px;height:40px;outline:none;margin-left:10px;border-radius:20px;color:", ";transition:color .2s;transform:translateZ(0);&:focus,&:hover{color:", ";}&:before{content:'", "';position:absolute;top:50%;left:50%;width:16px;height:16px;font-size:16px;line-height:16px;margin-top:-8px;margin-left:-8px;font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;transition:transform .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}", ""], function (props) {
179
+ })(["display:inline-block;position:relative;width:40px;height:40px;outline:none;margin-left:10px;border-radius:20px;color:", ";transition:color 0.2s;transform:translateZ(0);&:focus,&:hover{color:", ";}&:before{content:'", "';position:absolute;top:50%;left:50%;width:16px;height:16px;font-size:16px;line-height:16px;margin-top:-8px;margin-left:-8px;font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;transition:transform 0.2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}", ""], function (props) {
180
180
  return _theme.default.cBlack;
181
181
  }, function (props) {
182
182
  return _theme.default.cPrimary;
@@ -414,8 +414,11 @@ var checkTodoStatus = function checkTodoStatus(user) {
414
414
 
415
415
  // Country
416
416
  if (isFromAllowedCountry && (user.user_type === 'investor' || user.user_type === 'investor-entity')) {
417
- //wallet
418
- !user.investor_algo_addresses && !user.liquid_network && count++;
417
+ var _user$wallets;
418
+ //wallet (we only check for liquid wallet)
419
+ !(user !== null && user !== void 0 && (_user$wallets = user.wallets) !== null && _user$wallets !== void 0 && _user$wallets.some(function (wallet) {
420
+ return wallet.type === _globalVariables.walletTypes.LIQUID;
421
+ })) && count++;
419
422
  // Risk Questionnaire
420
423
  !user.is_risk_questionnaire_finished && count++
421
424
  // KYC
@@ -97,6 +97,37 @@ var userDev = {
97
97
  address: 'U4EIZEMPRGC77P6HJSFCLWYE4NUMNILU5DBZCKV44QMJ3TQOADRETVVAZU',
98
98
  whitelistedAssets: ['20918100', '92363258']
99
99
  }],
100
+ wallets: [{
101
+ _id: '641dd681b08b7543f433af1e',
102
+ userId: '61851acd5b9a890013297b12',
103
+ type: 'liquid',
104
+ address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
105
+ name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
106
+ createdAt: '2021-11-19T16:19:33.390Z',
107
+ isPrimary: true
108
+ }, {
109
+ _id: '641dd681b08b7543f433af1f',
110
+ userId: '61851acd5b9a890013297b12',
111
+ type: 'liquid',
112
+ address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
113
+ assetIds: ['2812e39a-ad94-4368-9db4-9d98c1c00f38'],
114
+ liquidAccount: 'infinite-fleet',
115
+ registered_user: 6020,
116
+ name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
117
+ createdAt: '2021-11-19T16:19:33.390Z',
118
+ isPrimary: true
119
+ }, {
120
+ _id: '641dd681b08b7543f433af20',
121
+ userId: '61851acd5b9a890013297b12',
122
+ type: 'liquid',
123
+ address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
124
+ assetIds: ['35c3c8ed-59a3-4a87-9612-b48236aeab3b'],
125
+ liquidAccount: 'blockstream',
126
+ registered_user: 273,
127
+ name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
128
+ createdAt: '2021-11-19T16:19:33.390Z',
129
+ isPrimary: true
130
+ }],
100
131
  liquid_network: {
101
132
  GAID: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
102
133
  dt: '2021-11-19T16:19:33.390Z',
@@ -38,18 +38,31 @@ var Input = function Input(props) {
38
38
  hasFocus = _useState4[0],
39
39
  setHasFocus = _useState4[1];
40
40
  (0, _react.useEffect)(function () {
41
- setLabelUp(hasFocus || !!value);
41
+ checkLabel(false);
42
+ }, []);
43
+ (0, _react.useEffect)(function () {
44
+ checkLabel(false);
42
45
  }, [hasFocus, value]);
46
+ (0, _react.useEffect)(function () {
47
+ if (value && !labelUp) setLabelUp(true);
48
+ }, [value, labelUp]);
43
49
  var onFocus = function onFocus(e, field) {
44
- props.onFocus && props.onFocus(e, field);
45
- setHasFocus(true);
50
+ var onFocus = props.onFocus;
51
+ onFocus && onFocus(e, field);
52
+ checkLabel(true);
46
53
  };
47
54
  var onBlur = function onBlur(e, field) {
48
- if (props.onBlur) props.onBlur(e, field);
49
- setHasFocus(false);
55
+ var onBlur = props.onBlur;
56
+ onBlur && onBlur(e, field);
57
+ checkLabel(false);
50
58
  };
51
59
  var onChange = function onChange(e, field) {
52
- props.onChange && props.onChange(e, field);
60
+ var onChange = props.onChange;
61
+ onChange && onChange(e, field);
62
+ };
63
+ var checkLabel = function checkLabel(focus) {
64
+ setHasFocus(focus);
65
+ setLabelUp(focus || !!value);
53
66
  };
54
67
  return /*#__PURE__*/_react.default.createElement(_Input.Wrapper, {
55
68
  inverted: inverted
@@ -70,7 +83,11 @@ var Input = function Input(props) {
70
83
  onBlur: onBlur,
71
84
  onFocus: onFocus,
72
85
  readOnly: readOnly,
73
- placeholder: placeholder
86
+ placeholder: placeholder,
87
+ style: {
88
+ WebkitAppearance: 'none',
89
+ WebkitBorderRadius: 0
90
+ }
74
91
  })));
75
92
  };
76
93
  exports.Input = Input;
@@ -22,7 +22,7 @@ exports.Wrapper = Wrapper;
22
22
  var Label = _styledComponents.default.label.withConfig({
23
23
  displayName: "Inputstyles__Label",
24
24
  componentId: "sc-1osolkh-1"
25
- })(["z-index:11;display:block;position:absolute;left:0;top:-2px;height:12px;font-size:11px;line-height:20px;letter-spacing:2px;text-transform:uppercase;color:", ";pointer-events:none;transform:translateY(15px);transition:transform .2s,font-size .2s;", " ", " ", ""], function (props) {
25
+ })(["z-index:11;display:block;position:absolute;left:0;top:-2px;font-weight:500;height:12px;font-size:11px;line-height:20px;letter-spacing:2px;text-transform:uppercase;color:", ";pointer-events:none;transform:translateY(15px);transition:transform 0.2s,font-size 0.2s;", " ", " ", ""], function (props) {
26
26
  return _theme.default.cBlack;
27
27
  }, function (props) {
28
28
  return props.isUp && "\n font-size: 10px;\n transform: translateY(0);\n ";
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.default = exports.LoginModal = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var _reactRouterDom = require("react-router-dom");
10
11
  var _formik = require("formik");
11
12
  var Yup = _interopRequireWildcard(require("yup"));
13
+ var _formikPersist = require("formik-persist");
12
14
  var _Modal = require("../Modal/Modal");
13
15
  var _Form = _interopRequireWildcard(require("../Form/Form"));
14
16
  var _Text = _interopRequireDefault(require("../Text/Text.styles"));
@@ -18,146 +20,162 @@ var _Button = _interopRequireDefault(require("../Button/Button.styles"));
18
20
  var _TextLink = _interopRequireDefault(require("../TextLink/TextLink.styles"));
19
21
  var _Grid = require("../Grid/Grid.styles");
20
22
  var _ComponentWrapper = _interopRequireDefault(require("../ComponentWrapper/ComponentWrapper.styles"));
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
25
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
26
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
27
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
28
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
29
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
30
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
31
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
32
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
33
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
34
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
35
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
36
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
37
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
38
- var LoginModal = /*#__PURE__*/function (_PureComponent) {
39
- _inherits(LoginModal, _PureComponent);
40
- var _super = _createSuper(LoginModal);
41
- function LoginModal() {
42
- var _this;
43
- _classCallCheck(this, LoginModal);
44
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
- args[_key] = arguments[_key];
25
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
28
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
29
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
30
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
31
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
32
+ var LoginModal = function LoginModal(props) {
33
+ var _React$useState = _react.default.useState(null),
34
+ _React$useState2 = _slicedToArray(_React$useState, 2),
35
+ email = _React$useState2[0],
36
+ setemail = _React$useState2[1];
37
+ var location = (0, _reactRouterDom.useLocation)();
38
+ _react.default.useEffect(function () {
39
+ //the URL will look like this: /login?email=some.email@email.com
40
+ var search = location.search;
41
+ if (search.includes('email=')) {
42
+ var emailFromURL = search.slice(search.indexOf('=') + 1);
43
+ if (emailFromURL) {
44
+ setemail(emailFromURL);
45
+ }
46
46
  }
47
- _this = _super.call.apply(_super, [this].concat(args));
48
- _defineProperty(_assertThisInitialized(_this), "initialValues", {
49
- email: '',
47
+ }, []);
48
+ var validationSchema = Yup.object().shape({
49
+ email: Yup.string().email("Oops, that's not a valid address").required('Oops, this can‘t be blank'),
50
+ password: Yup.string().required('Oops, this can‘t be blank')
51
+ });
52
+ var popupError = props.popupError,
53
+ isModalOpen = props.isModalOpen,
54
+ onModalClose = props.onModalClose,
55
+ onFormSend = props.onFormSend,
56
+ onModalSwitch = props.onModalSwitch,
57
+ onForgotPassword = props.onForgotPassword,
58
+ isActionLoading = props.isActionLoading,
59
+ background = props.background;
60
+ return /*#__PURE__*/_react.default.createElement(_Modal.Modal, {
61
+ isOpen: isModalOpen,
62
+ onClose: onModalClose,
63
+ background: background
64
+ }, /*#__PURE__*/_react.default.createElement(_Grid.Row, null, /*#__PURE__*/_react.default.createElement(_Grid.Column, {
65
+ part: 8
66
+ }, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
67
+ modalTop: true
68
+ }, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Log in"), /*#__PURE__*/_react.default.createElement("p", null, 'Come on in to stoke up innovation...'))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
69
+ modalBot: true
70
+ }, /*#__PURE__*/_react.default.createElement(_Modal.ModalLinkWrap, null, "Don't have an account yet? ", /*#__PURE__*/_react.default.createElement(_Modal.ModalLink, {
71
+ to: "#",
72
+ as: "button",
73
+ onClick: onModalSwitch
74
+ }, "Sign up")))), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
75
+ part: 8
76
+ }, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_formik.Formik, {
77
+ initialValues: {
78
+ email: email || '',
50
79
  password: ''
51
- });
52
- _defineProperty(_assertThisInitialized(_this), "validationSchema", Yup.object().shape({
53
- email: Yup.string().email('Email is not valid').required('Email is required'),
54
- password: Yup.string().required('Password is required')
55
- }));
56
- return _this;
57
- }
58
- _createClass(LoginModal, [{
59
- key: "render",
60
- value: function render() {
61
- var _this$props = this.props,
62
- isModalOpen = _this$props.isModalOpen,
63
- onModalClose = _this$props.onModalClose,
64
- onFormSend = _this$props.onFormSend,
65
- onModalSwitch = _this$props.onModalSwitch,
66
- onForgotPassword = _this$props.onForgotPassword;
67
- return /*#__PURE__*/_react.default.createElement(_Modal.Modal, {
68
- isOpen: isModalOpen,
69
- onClose: onModalClose
70
- }, /*#__PURE__*/_react.default.createElement(_Grid.Row, null, /*#__PURE__*/_react.default.createElement(_Grid.Column, {
71
- part: 8
72
- }, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
73
- modalTop: true
74
- }, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Log in"), /*#__PURE__*/_react.default.createElement("p", null, 'Please log in to engage in our community & invest in exciting opportunities.'))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
75
- modalBot: true
76
- }, /*#__PURE__*/_react.default.createElement(_Modal.ModalLinkWrap, null, "Don't have an account yet? ", /*#__PURE__*/_react.default.createElement(_Modal.ModalLink, {
77
- as: "button",
78
- onClick: onModalSwitch
79
- }, "Sign up")))), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
80
- part: 8
81
- }, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_formik.Formik, {
82
- initialValues: this.initialValues,
83
- validationSchema: this.validationSchema,
84
- onSubmit: onFormSend
85
- }, function (_ref) {
86
- var values = _ref.values,
87
- errors = _ref.errors,
88
- touched = _ref.touched,
89
- handleChange = _ref.handleChange,
90
- handleBlur = _ref.handleBlur,
91
- setFieldValue = _ref.setFieldValue,
92
- setFieldTouched = _ref.setFieldTouched;
93
- var onChangeWithTouch = function onChangeWithTouch(e) {
94
- var field = e.target;
95
- setFieldValue(field.name, field.value, false);
96
- setFieldTouched(field.name);
97
- };
98
- var submitDisabled = !touched.email || !touched.password || !!errors.email || !!errors.password;
99
- return /*#__PURE__*/_react.default.createElement(_Form.default, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
100
- noPadding: true
101
- }, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_Input.default, {
102
- id: "sign-up-email",
103
- name: "email",
104
- type: "email",
105
- label: "Your email",
106
- value: values.email,
107
- onChange: handleChange,
108
- onBlur: handleBlur,
109
- error: !!errors.email,
110
- touched: !!touched.email
111
- }), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
112
- show: errors.email && touched.email
113
- }, errors.email))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
114
- noPaddingBottom: true,
115
- noPaddingHorizontal: true
116
- }, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_InputPassword.default, {
117
- id: "sign-up-password",
118
- name: "password",
119
- type: "password",
120
- label: "Password",
121
- value: values.password,
122
- onChange: onChangeWithTouch,
123
- onBlur: handleBlur,
124
- error: !!errors.password,
125
- touched: !!touched.password
126
- }), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
127
- show: errors.password && touched.password
128
- }, errors.password))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
129
- noPaddingBottom: true,
130
- noPaddingHorizontal: true
131
- }, /*#__PURE__*/_react.default.createElement(_Button.default, {
132
- type: "submit",
133
- fluid: true,
134
- disabled: submitDisabled
135
- }, "Login")), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
136
- noPaddingBottom: true,
137
- noPaddingHorizontal: true
138
- }, /*#__PURE__*/_react.default.createElement(_TextLink.default, {
139
- as: "button",
140
- onClick: onForgotPassword
141
- }, "Forgot password?")), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
142
- noPaddingBottom: true,
143
- noPaddingHorizontal: true
144
- }, /*#__PURE__*/_react.default.createElement(_Form.FormInfo, {
145
- center: true
146
- }, 'By signing up for STOKR, you agree to our ', /*#__PURE__*/_react.default.createElement(_reactRouterDom.Link, {
147
- to: "#"
148
- }, "Terms of Service."))));
149
- })))));
150
80
  }
151
- }]);
152
- return LoginModal;
153
- }(_react.PureComponent);
154
- exports.LoginModal = LoginModal;
81
+ // initialTouched={{ email: false, password: false }}
82
+ ,
83
+ validationSchema: validationSchema,
84
+ onSubmit: function onSubmit(values) {
85
+ onFormSend(values);
86
+ }
87
+ }, function (_ref) {
88
+ var values = _ref.values,
89
+ errors = _ref.errors,
90
+ touched = _ref.touched,
91
+ handleChange = _ref.handleChange,
92
+ handleBlur = _ref.handleBlur,
93
+ setFieldValue = _ref.setFieldValue,
94
+ setFieldTouched = _ref.setFieldTouched,
95
+ setErrors = _ref.setErrors;
96
+ var onChangeWithTouch = function onChangeWithTouch(e) {
97
+ var field = e.target;
98
+ setFieldValue(field.name, field.value, false);
99
+ setFieldTouched(field.name);
100
+ };
101
+ if (email && values.email !== email) {
102
+ setFieldValue('email', email);
103
+ }
104
+
105
+ //hack to avoid error when autofill from browser
106
+ if (values.password && errors.password && values.email && !errors.email) {
107
+ setErrors({});
108
+ setFieldValue('password', values.password, false);
109
+ }
110
+ var submitDisabled = !touched.email || !touched.password || !!errors.email || !!errors.password || isActionLoading === 'login';
111
+ return /*#__PURE__*/_react.default.createElement(_Form.default, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
112
+ noPadding: true
113
+ }, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_Input.default, {
114
+ id: "sign-up-email",
115
+ name: "email",
116
+ type: "email",
117
+ label: "Your email",
118
+ value: email || values.email,
119
+ onChange: onChangeWithTouch,
120
+ onBlur: handleBlur,
121
+ error: !!errors.email,
122
+ touched: !!touched.email
123
+ }), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
124
+ show: errors.email && touched.email
125
+ }, errors.email))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
126
+ noPaddingBottom: true,
127
+ noPaddingHorizontal: true
128
+ }, /*#__PURE__*/_react.default.createElement(_formikPersist.Persist, {
129
+ name: "login-form",
130
+ isSessionStorage: true
131
+ }), /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_InputPassword.default, {
132
+ id: "sign-up-password",
133
+ name: "password",
134
+ type: "password",
135
+ label: "Password",
136
+ value: values.password,
137
+ onChange: onChangeWithTouch,
138
+ onBlur: handleBlur,
139
+ error: !!errors.password,
140
+ touched: !!touched.password
141
+ }), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
142
+ show: errors.password && touched.password
143
+ }, errors.password))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
144
+ noPaddingBottom: true,
145
+ noPaddingHorizontal: true
146
+ }, /*#__PURE__*/_react.default.createElement(_Button.default, {
147
+ type: "submit",
148
+ fluid: true,
149
+ disabled: submitDisabled
150
+ }, isActionLoading === 'login' ? 'Logging in' : 'Login')), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
151
+ paddingVeticalHalf: true,
152
+ noPaddingHorizontal: true
153
+ }, /*#__PURE__*/_react.default.createElement(_Form.FormError, {
154
+ show: popupError.popup === 'login'
155
+ }, popupError.message)), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
156
+ noPaddingBottom: true,
157
+ noPaddingHorizontal: true
158
+ }, /*#__PURE__*/_react.default.createElement(_TextLink.default, {
159
+ as: "button",
160
+ onClick: function onClick() {
161
+ values.password = '';
162
+ onForgotPassword.apply(void 0, arguments);
163
+ }
164
+ }, "Forgot password?")));
165
+ })))));
166
+ };
155
167
  LoginModal.propTypes = {
156
168
  isModalOpen: _propTypes.default.bool.isRequired,
157
169
  onModalClose: _propTypes.default.func.isRequired,
158
170
  onFormSend: _propTypes.default.func.isRequired,
159
171
  onModalSwitch: _propTypes.default.func.isRequired,
160
- onForgotPassword: _propTypes.default.func.isRequired
172
+ onForgotPassword: _propTypes.default.func.isRequired,
173
+ isActionLoading: _propTypes.default.bool,
174
+ popupError: _propTypes.default.shape({
175
+ popup: _propTypes.default.string,
176
+ message: _propTypes.default.string
177
+ }).isRequired,
178
+ background: _propTypes.default.string
161
179
  };
162
180
  var _default = LoginModal;
163
181
  exports.default = _default;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.LoginModalOpen = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactRouterDom = require("react-router-dom");
9
+ var _ComponentWrapper = require("../ComponentWrapper/ComponentWrapper.styles");
10
+ var _LoginModal = _interopRequireDefault(require("./LoginModal"));
11
+ var _global = _interopRequireDefault(require("../../styles/global"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ var _default = {
14
+ title: 'Components Library/LoginModal',
15
+ component: _LoginModal.default,
16
+ argTypes: {
17
+ popupError: {
18
+ type: 'object',
19
+ defaultValue: {
20
+ message: null,
21
+ popup: null
22
+ },
23
+ required: true
24
+ },
25
+ isActionLoading: {
26
+ type: 'boolean',
27
+ defaultValue: false
28
+ },
29
+ isModalOpen: {
30
+ type: 'boolean',
31
+ defaultValue: true
32
+ },
33
+ onFormSend: {
34
+ type: 'function',
35
+ action: 'onFormSend'
36
+ },
37
+ onModalSwitch: {
38
+ type: 'function',
39
+ action: 'onModalSwitch'
40
+ },
41
+ onForgotPassword: {
42
+ type: 'function',
43
+ action: 'onForgotPassword'
44
+ },
45
+ onModalClose: {
46
+ type: 'function',
47
+ action: 'onModalClose'
48
+ }
49
+ }
50
+ };
51
+ exports.default = _default;
52
+ var Template = function Template(args) {
53
+ return /*#__PURE__*/_react.default.createElement(_ComponentWrapper.ComponentWrapper, null, /*#__PURE__*/_react.default.createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react.default.createElement(_global.default, null), /*#__PURE__*/_react.default.createElement(_LoginModal.default, args)));
54
+ };
55
+ var LoginModalOpen = Template.bind({});
56
+ exports.LoginModalOpen = LoginModalOpen;
57
+ LoginModalOpen.args = {
58
+ onFormSend: function onFormSend(data) {
59
+ console.log(data);
60
+ },
61
+ onModalClose: function onModalClose(data) {
62
+ console.log('close modal');
63
+ },
64
+ onModalSwitch: function onModalSwitch(data) {
65
+ console.log('switch modal');
66
+ },
67
+ onForgotPassword: function onForgotPassword(data) {
68
+ console.log('forgot password');
69
+ }
70
+ };
@@ -77,7 +77,9 @@ var Modal = function Modal(_ref) {
77
77
  isOpen = _ref.isOpen,
78
78
  onClose = _ref.onClose,
79
79
  className = _ref.className,
80
- isRegisterEntity = _ref.isRegisterEntity;
80
+ isRegisterEntity = _ref.isRegisterEntity,
81
+ modalLogin = _ref.modalLogin,
82
+ background = _ref.background;
81
83
  (0, _react.useEffect)(function () {
82
84
  //if modal open, disable scroll on the background
83
85
  if (isOpen) {
@@ -103,6 +105,7 @@ var Modal = function Modal(_ref) {
103
105
  className: className,
104
106
  style: getTransitionStyles[status]
105
107
  }, /*#__PURE__*/_react.default.createElement(_Modal.Dimmer, {
108
+ background: background,
106
109
  open: isOpen,
107
110
  kyc: kyc,
108
111
  closeOnDimmerClick: false,
@@ -125,7 +128,8 @@ Modal.propTypes = {
125
128
  kyc: _propTypes.default.bool,
126
129
  thin: _propTypes.default.bool,
127
130
  isOpen: _propTypes.default.bool.isRequired,
128
- onClose: _propTypes.default.func.isRequired
131
+ onClose: _propTypes.default.func.isRequired,
132
+ background: _propTypes.default.string
129
133
  };
130
134
  Modal.defaultProps = {
131
135
  className: '',
@@ -23,7 +23,9 @@ exports.ModalRoot = ModalRoot;
23
23
  var Dimmer = _styledComponents.default.div.withConfig({
24
24
  displayName: "Modalstyles__Dimmer",
25
25
  componentId: "sc-9hc271-1"
26
- })(["position:relative;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0.7);font-size:0;text-align:center;overflow-y:auto;", " &:after{content:'';display:inline-block;vertical-align:middle;height:100%;width:0;}"], function (props) {
26
+ })(["position:relative;top:0;left:0;display:block;width:100%;height:100%;background:", ";background-size:cover;font-size:0;text-align:center;overflow-y:auto;", " &:after{content:'';display:inline-block;vertical-align:middle;height:100%;width:0;}"], function (props) {
27
+ return props.background ? props.background : 'rgba(0, 0, 0, 0.7)';
28
+ }, function (props) {
27
29
  return props.kyc && 'overflow: visible;';
28
30
  });
29
31
  exports.Dimmer = Dimmer;
@@ -3,8 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.platformURL = exports.platformDomain = void 0;
6
+ exports.walletTypes = exports.platformURL = exports.platformDomain = void 0;
7
7
  var platformDomain = process.env.REACT_APP_WEBSITE_DOMAIN || 'stokr.info';
8
8
  exports.platformDomain = platformDomain;
9
9
  var platformURL = 'https://' + platformDomain;
10
- exports.platformURL = platformURL;
10
+ exports.platformURL = platformURL;
11
+ var walletTypes = {
12
+ LIQUID: 'liquid',
13
+ ALGORAND: 'algo',
14
+ ETHEREUM: 'eth'
15
+ };
16
+ exports.walletTypes = walletTypes;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stokr/components-library",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "STOKR - Components Library",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -22,7 +22,7 @@
22
22
  "test": "react-app-rewired test",
23
23
  "prepare": "npm run build",
24
24
  "storybook": "start-storybook -p 6006",
25
- "start": "react-app-rewired start",
25
+ "start": "npm run storybook",
26
26
  "chromatic": "CHROMATIC_APP_CODE=7kzdke5umep chromatic",
27
27
  "release": "auto shipit",
28
28
  "pub": "rm -rf ./dist && npm publish --access public"
@@ -43,6 +43,7 @@
43
43
  "d3": "^7.8.3",
44
44
  "date-fns": "^2.29.3",
45
45
  "formik": "^2.2.9",
46
+ "formik-persist": "^1.1.0",
46
47
  "js-cookie": "^2.2.1",
47
48
  "mobile-detect": "^1.4.5",
48
49
  "polished": "^4.2.2",
@@ -73,6 +74,7 @@
73
74
  "styled-breakpoints": "^11.1.1",
74
75
  "styled-components": "^5.3.6",
75
76
  "support-color": "^7.1.0",
77
+ "supports-color": "^9.3.1",
76
78
  "yup": "^1.0.0"
77
79
  },
78
80
  "devDependencies": {