@aclymatepackages/modules 1.0.0
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/README.md +43 -0
- package/babel.config.json +18 -0
- package/dist/components/CompaniesAutocomplete.js +126 -0
- package/dist/components/CompanyOnboardingInput.js +116 -0
- package/dist/components/ComparisonChart.js +200 -0
- package/dist/components/CustomTooltipDisplayRow.js +59 -0
- package/dist/components/EmissionsChart.js +467 -0
- package/dist/components/EmissionsCustomTooltip.js +181 -0
- package/dist/components/EmissionsPieChart.js +130 -0
- package/dist/components/EmissionsReductionGraph.js +118 -0
- package/dist/components/FootprintEquivalencies.js +181 -0
- package/dist/components/FootprintVideo.js +262 -0
- package/dist/components/FuelTypesSelect.js +36 -0
- package/dist/components/IndustryAutocomplete.js +58 -0
- package/dist/components/PlacesAutocomplete.js +173 -0
- package/dist/components/StripeElements.js +95 -0
- package/dist/components/YesNoQuestion.js +88 -0
- package/dist/components/stripeInput.js +293 -0
- package/dist/components/useChartWarningLabels.js +143 -0
- package/dist/index.js +118 -0
- package/package.json +74 -0
- package/public/favicon.ico +0 -0
- package/public/index.html +43 -0
- package/public/logo192.png +0 -0
- package/public/logo512.png +0 -0
- package/public/manifest.json +25 -0
- package/public/robots.txt +3 -0
- package/src/components/CompaniesAutocomplete.js +125 -0
- package/src/components/CompanyOnboardingInput.js +113 -0
- package/src/components/ComparisonChart.js +236 -0
- package/src/components/CustomTooltipDisplayRow.js +41 -0
- package/src/components/EmissionsChart.js +579 -0
- package/src/components/EmissionsCustomTooltip.js +146 -0
- package/src/components/EmissionsPieChart.js +120 -0
- package/src/components/EmissionsReductionGraph.js +107 -0
- package/src/components/FootprintEquivalencies.js +203 -0
- package/src/components/FootprintVideo.js +328 -0
- package/src/components/FuelTypesSelect.js +29 -0
- package/src/components/IndustryAutocomplete.js +56 -0
- package/src/components/PlacesAutocomplete.js +174 -0
- package/src/components/StripeElements.js +95 -0
- package/src/components/YesNoQuestion.js +68 -0
- package/src/components/stripeInput.js +288 -0
- package/src/components/useChartWarningLabels.js +139 -0
- package/src/index.js +35 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.assign.js");
|
|
4
|
+
require("core-js/modules/es.weak-map.js");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
+
require("core-js/modules/es.array.reduce.js");
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _reactCountup = _interopRequireDefault(require("react-countup"));
|
|
13
|
+
var _typewriterEffect = _interopRequireDefault(require("typewriter-effect"));
|
|
14
|
+
var _styles = require("@mui/material/styles");
|
|
15
|
+
var _material = require("@mui/material");
|
|
16
|
+
var _atoms = require("@aclymatepackages/atoms");
|
|
17
|
+
var _arrayImmutabilityHelpers = require("@aclymatepackages/array-immutability-helpers");
|
|
18
|
+
var _themes = require("@aclymatepackages/themes");
|
|
19
|
+
var _converters = require("@aclymatepackages/converters");
|
|
20
|
+
var _formatters = require("@aclymatepackages/formatters");
|
|
21
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
+
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
|
+
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 _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
|
+
const OnboardingFootprintLayout = _ref => {
|
|
26
|
+
let {
|
|
27
|
+
children
|
|
28
|
+
} = _ref;
|
|
29
|
+
const [backgroundFade, setBackgroundFade] = (0, _react.useState)(false);
|
|
30
|
+
(0, _react.useEffect)(() => {
|
|
31
|
+
const fadeBackground = setTimeout(() => setBackgroundFade(true), 1500);
|
|
32
|
+
return () => clearTimeout(fadeBackground);
|
|
33
|
+
}, []);
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
35
|
+
style: {
|
|
36
|
+
position: "absolute",
|
|
37
|
+
top: 0,
|
|
38
|
+
left: 0,
|
|
39
|
+
bottom: 0,
|
|
40
|
+
right: 0,
|
|
41
|
+
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
42
|
+
opacity: backgroundFade ? 1 : 0,
|
|
43
|
+
transition: "opacity 1s"
|
|
44
|
+
},
|
|
45
|
+
display: "flex",
|
|
46
|
+
alignItems: "center",
|
|
47
|
+
justifyContent: "center",
|
|
48
|
+
p: 4
|
|
49
|
+
}, backgroundFade && /*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
|
|
50
|
+
theme: _themes.mergeDarkTheme
|
|
51
|
+
}, children));
|
|
52
|
+
};
|
|
53
|
+
const VideoFootprintDisplay = _ref2 => {
|
|
54
|
+
let {
|
|
55
|
+
monthlyFootprintTons,
|
|
56
|
+
onAdvanceSlide
|
|
57
|
+
} = _ref2;
|
|
58
|
+
const [showCaption, setShowCaption] = (0, _react.useState)(false);
|
|
59
|
+
(0, _react.useEffect)(() => {
|
|
60
|
+
const advanceSlide = setTimeout(onAdvanceSlide, 8500);
|
|
61
|
+
return () => clearTimeout(advanceSlide);
|
|
62
|
+
}, [onAdvanceSlide]);
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement(OnboardingFootprintLayout, null, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
64
|
+
container: true,
|
|
65
|
+
direction: "column",
|
|
66
|
+
spacing: 2
|
|
67
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
68
|
+
item: true
|
|
69
|
+
}, /*#__PURE__*/_react.default.createElement(_reactCountup.default, {
|
|
70
|
+
delay: 0,
|
|
71
|
+
start: 0,
|
|
72
|
+
startOnMount: true,
|
|
73
|
+
end: Math.round((0, _converters.tonsToLbs)(monthlyFootprintTons)),
|
|
74
|
+
separator: ",",
|
|
75
|
+
decimal: ".",
|
|
76
|
+
suffix: " lbs.",
|
|
77
|
+
duration: 1.5,
|
|
78
|
+
onEnd: () => setShowCaption(true)
|
|
79
|
+
}, _ref3 => {
|
|
80
|
+
let {
|
|
81
|
+
countUpRef
|
|
82
|
+
} = _ref3;
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
84
|
+
ref: countUpRef,
|
|
85
|
+
variant: "h2",
|
|
86
|
+
align: "center",
|
|
87
|
+
color: "textPrimary"
|
|
88
|
+
});
|
|
89
|
+
})), showCaption && /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
90
|
+
item: true
|
|
91
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
92
|
+
variant: "h5",
|
|
93
|
+
align: "center",
|
|
94
|
+
color: "textSecondary"
|
|
95
|
+
}, /*#__PURE__*/_react.default.createElement(_typewriterEffect.default, {
|
|
96
|
+
options: {
|
|
97
|
+
strings: ["This is our preliminary estimate of your company's monthly carbon emissions."],
|
|
98
|
+
autoStart: true,
|
|
99
|
+
delay: 50,
|
|
100
|
+
deleteSpeed: 100000
|
|
101
|
+
}
|
|
102
|
+
})))));
|
|
103
|
+
};
|
|
104
|
+
const FootprintVideoIntermediateStep = _ref4 => {
|
|
105
|
+
let {
|
|
106
|
+
label,
|
|
107
|
+
onAdvanceSlide
|
|
108
|
+
} = _ref4;
|
|
109
|
+
(0, _react.useEffect)(() => {
|
|
110
|
+
const advanceSlide = setTimeout(onAdvanceSlide, 8000);
|
|
111
|
+
return () => clearTimeout(advanceSlide);
|
|
112
|
+
}, [onAdvanceSlide]);
|
|
113
|
+
return /*#__PURE__*/_react.default.createElement(OnboardingFootprintLayout, {
|
|
114
|
+
video: "logging"
|
|
115
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
116
|
+
variant: "h5",
|
|
117
|
+
align: "center",
|
|
118
|
+
color: "textSecondary"
|
|
119
|
+
}, /*#__PURE__*/_react.default.createElement(_typewriterEffect.default, {
|
|
120
|
+
options: {
|
|
121
|
+
strings: [label],
|
|
122
|
+
autoStart: true,
|
|
123
|
+
delay: 50,
|
|
124
|
+
deleteSpeed: 100000
|
|
125
|
+
}
|
|
126
|
+
})));
|
|
127
|
+
};
|
|
128
|
+
const FootprintVideoFinal = _ref5 => {
|
|
129
|
+
let {
|
|
130
|
+
actionButton,
|
|
131
|
+
onVideoEnd
|
|
132
|
+
} = _ref5;
|
|
133
|
+
const [showButton, setShowButton] = (0, _react.useState)(false);
|
|
134
|
+
(0, _react.useEffect)(() => {
|
|
135
|
+
const onShowButton = setTimeout(() => {
|
|
136
|
+
setShowButton(true);
|
|
137
|
+
if (onVideoEnd) {
|
|
138
|
+
onVideoEnd();
|
|
139
|
+
}
|
|
140
|
+
}, 9000);
|
|
141
|
+
return () => clearTimeout(onShowButton);
|
|
142
|
+
}, [onVideoEnd]);
|
|
143
|
+
return /*#__PURE__*/_react.default.createElement(OnboardingFootprintLayout, null, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
144
|
+
container: true,
|
|
145
|
+
direction: "column",
|
|
146
|
+
spacing: 2,
|
|
147
|
+
alignItems: "center"
|
|
148
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
149
|
+
item: true
|
|
150
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
151
|
+
variant: "h5",
|
|
152
|
+
align: "center",
|
|
153
|
+
color: "textSecondary"
|
|
154
|
+
}, /*#__PURE__*/_react.default.createElement(_typewriterEffect.default, {
|
|
155
|
+
onInit: typewriter => typewriter.changeDelay(50).typeString("But all of that ends now.").pauseFor(1500).typeString(" Welcome to your climate journey.").start()
|
|
156
|
+
}))), /*#__PURE__*/_react.default.createElement(_material.Fade, {
|
|
157
|
+
in: showButton
|
|
158
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
159
|
+
item: true
|
|
160
|
+
}, actionButton))));
|
|
161
|
+
};
|
|
162
|
+
const FootprintVideo = _ref6 => {
|
|
163
|
+
let {
|
|
164
|
+
monthlyFootprintTons,
|
|
165
|
+
footprintLoading,
|
|
166
|
+
actionButton,
|
|
167
|
+
onVideoEnd
|
|
168
|
+
} = _ref6;
|
|
169
|
+
const [videoStep, setVideoStep] = (0, _react.useState)(0);
|
|
170
|
+
const [loadedVideos, setLoadedVideos] = (0, _react.useState)({
|
|
171
|
+
pollution: false,
|
|
172
|
+
driving: false,
|
|
173
|
+
logging: false,
|
|
174
|
+
glacier: false,
|
|
175
|
+
monthly: false,
|
|
176
|
+
mountains: false
|
|
177
|
+
});
|
|
178
|
+
const [showVideos, setShowVideos] = (0, _react.useState)(false);
|
|
179
|
+
const onVideoLoaded = video => (0, _arrayImmutabilityHelpers.editObjectData)(setLoadedVideos, video, true);
|
|
180
|
+
const pollutionVideoRef = (0, _react.useRef)();
|
|
181
|
+
const drivingVideoRef = (0, _react.useRef)();
|
|
182
|
+
const loggingVideoRef = (0, _react.useRef)();
|
|
183
|
+
const glacierVideoRef = (0, _react.useRef)();
|
|
184
|
+
const monthlyVideoRef = (0, _react.useRef)();
|
|
185
|
+
const mountainsVideoRef = (0, _react.useRef)();
|
|
186
|
+
const videoRefsArray = [pollutionVideoRef, drivingVideoRef, loggingVideoRef, glacierVideoRef, monthlyVideoRef, mountainsVideoRef];
|
|
187
|
+
(0, _react.useEffect)(() => {
|
|
188
|
+
const areAllVideosLoaded = Object.values(loadedVideos).reduce((acc, isLoaded) => isLoaded && acc, true);
|
|
189
|
+
if (areAllVideosLoaded && !footprintLoading) {
|
|
190
|
+
setShowVideos(true);
|
|
191
|
+
}
|
|
192
|
+
}, [loadedVideos, footprintLoading]);
|
|
193
|
+
(0, _react.useEffect)(() => {
|
|
194
|
+
if (pollutionVideoRef.current && loggingVideoRef.current && glacierVideoRef.current && drivingVideoRef.current && monthlyVideoRef.current && mountainsVideoRef.current && showVideos) {
|
|
195
|
+
var _videoRefsArray$video;
|
|
196
|
+
(_videoRefsArray$video = videoRefsArray[videoStep]) === null || _videoRefsArray$video === void 0 || (_videoRefsArray$video = _videoRefsArray$video.current) === null || _videoRefsArray$video === void 0 || _videoRefsArray$video.play();
|
|
197
|
+
}
|
|
198
|
+
// eslint-disable-next-line
|
|
199
|
+
}, [videoStep, showVideos]);
|
|
200
|
+
const onAdvanceSlide = () => setVideoStep(currentStep => currentStep + 1);
|
|
201
|
+
const intermediateStepLabels = ["That's as much carbon as driving ".concat((0, _converters.convertFootprintToDriving)(monthlyFootprintTons), " miles."), "Or cutting down more than ".concat((0, _converters.convertFootprintToTrees)(monthlyFootprintTons), " 50-year-old tree").concat((0, _formatters.letterSBoolean)((0, _converters.convertFootprintToTrees)(monthlyFootprintTons)), "."), "It's enough to melt more than ".concat(formatDecimal((0, _converters.convertFootprintToIce)(monthlyFootprintTons)), " square feet of Arctic sea ice that will never come back."), "And your company emits this much carbon every single month."];
|
|
202
|
+
const onboardingFootprintSteps = [/*#__PURE__*/_react.default.createElement(VideoFootprintDisplay, {
|
|
203
|
+
monthlyFootprintTons: monthlyFootprintTons,
|
|
204
|
+
onAdvanceSlide: onAdvanceSlide
|
|
205
|
+
}), ...intermediateStepLabels.map((label, idx) => /*#__PURE__*/_react.default.createElement(FootprintVideoIntermediateStep, {
|
|
206
|
+
label: label,
|
|
207
|
+
onAdvanceSlide: onAdvanceSlide,
|
|
208
|
+
key: "video-intermediate-step-".concat(idx)
|
|
209
|
+
})), /*#__PURE__*/_react.default.createElement(FootprintVideoFinal, {
|
|
210
|
+
actionButton: actionButton,
|
|
211
|
+
onVideoEnd: onVideoEnd
|
|
212
|
+
})];
|
|
213
|
+
const buildVideoProps = idx => ({
|
|
214
|
+
autoPlay: !idx,
|
|
215
|
+
style: {
|
|
216
|
+
position: "absolute",
|
|
217
|
+
top: 0,
|
|
218
|
+
objectFit: "cover",
|
|
219
|
+
objectPosition: "center center",
|
|
220
|
+
opacity: showVideos && idx === videoStep ? 1 : 0,
|
|
221
|
+
transition: "opacity 1s",
|
|
222
|
+
marginBottom: "-10px",
|
|
223
|
+
width: "100%"
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
const buildSrcProps = video => ({
|
|
227
|
+
src: "/videos/".concat(video, ".mp4"),
|
|
228
|
+
type: "video/mp4"
|
|
229
|
+
});
|
|
230
|
+
const videos = ["pollution", "driving", "logging", "glacier", "monthly", "mountains"];
|
|
231
|
+
return /*#__PURE__*/_react.default.createElement(_material.Container, {
|
|
232
|
+
maxWidth: "md"
|
|
233
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Paper, {
|
|
234
|
+
style: {
|
|
235
|
+
overflow: "hidden"
|
|
236
|
+
}
|
|
237
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
238
|
+
style: {
|
|
239
|
+
position: "relative",
|
|
240
|
+
paddingTop: "56.25%"
|
|
241
|
+
}
|
|
242
|
+
}, !showVideos && /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
243
|
+
display: "flex",
|
|
244
|
+
alignItems: "center",
|
|
245
|
+
justifyContent: "center",
|
|
246
|
+
style: {
|
|
247
|
+
position: "absolute",
|
|
248
|
+
top: 0,
|
|
249
|
+
left: 0,
|
|
250
|
+
bottom: 0,
|
|
251
|
+
right: 0
|
|
252
|
+
}
|
|
253
|
+
}, /*#__PURE__*/_react.default.createElement(_atoms.AnimatedLogo, null)), videos.map((video, idx) => /*#__PURE__*/_react.default.createElement("video", _extends({
|
|
254
|
+
key: "footprint-video-".concat(idx),
|
|
255
|
+
muted: true
|
|
256
|
+
}, buildVideoProps(idx), {
|
|
257
|
+
ref: videoRefsArray[idx],
|
|
258
|
+
onLoadedData: () => onVideoLoaded(video)
|
|
259
|
+
}), /*#__PURE__*/_react.default.createElement("source", buildSrcProps(video)))), onboardingFootprintSteps[videoStep])));
|
|
260
|
+
};
|
|
261
|
+
var _default = FootprintVideo;
|
|
262
|
+
exports.default = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _atoms = require("@aclymatepackages/atoms");
|
|
9
|
+
var _formatters = require("@aclymatepackages/formatters");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
const FuelTypesSelect = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
fuelType,
|
|
14
|
+
editVehicle,
|
|
15
|
+
availableFuelTypes,
|
|
16
|
+
id,
|
|
17
|
+
smallFont,
|
|
18
|
+
variant,
|
|
19
|
+
noLabel
|
|
20
|
+
} = _ref;
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_atoms.Select, {
|
|
22
|
+
id: id,
|
|
23
|
+
size: "small",
|
|
24
|
+
label: noLabel || "Fuel Type",
|
|
25
|
+
value: fuelType || "",
|
|
26
|
+
editValue: editVehicle,
|
|
27
|
+
options: availableFuelTypes.map(option => ({
|
|
28
|
+
label: (0, _formatters.ucFirstLetters)(option),
|
|
29
|
+
value: option
|
|
30
|
+
})),
|
|
31
|
+
smallFont: smallFont,
|
|
32
|
+
variant: variant
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
var _default = FuelTypesSelect;
|
|
36
|
+
exports.default = _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.weak-map.js");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
|
+
require("core-js/modules/es.object.assign.js");
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _Autocomplete = _interopRequireDefault(require("@mui/lab/Autocomplete"));
|
|
12
|
+
var _material = require("@mui/material");
|
|
13
|
+
var _lists = require("@aclymatepackages/lists");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
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); }
|
|
16
|
+
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; }
|
|
17
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
18
|
+
const CustomPopper = props => /*#__PURE__*/_react.default.createElement(_material.Popper, _extends({}, props, {
|
|
19
|
+
style: {
|
|
20
|
+
width: "fit-content"
|
|
21
|
+
}
|
|
22
|
+
}));
|
|
23
|
+
const IndustryAutocomplete = _ref => {
|
|
24
|
+
let {
|
|
25
|
+
industry,
|
|
26
|
+
setIndustry,
|
|
27
|
+
style,
|
|
28
|
+
variant = "outlined",
|
|
29
|
+
label,
|
|
30
|
+
helperText,
|
|
31
|
+
textFieldProps
|
|
32
|
+
} = _ref;
|
|
33
|
+
const [inputValue, setInputValue] = (0, _react.useState)("");
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
35
|
+
onClick: e => e.stopPropagation(),
|
|
36
|
+
onFocus: e => e.stopPropagation()
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement(_Autocomplete.default, {
|
|
38
|
+
id: "company-industry-autocomplete",
|
|
39
|
+
options: _lists.industriesList,
|
|
40
|
+
getOptionLabel: option => typeof option === "string" ? option : option.label,
|
|
41
|
+
renderInput: params => /*#__PURE__*/_react.default.createElement(_material.TextField, _extends({}, params, {
|
|
42
|
+
label: label || "Company Industry",
|
|
43
|
+
fullWidth: true,
|
|
44
|
+
size: "small",
|
|
45
|
+
variant: variant,
|
|
46
|
+
style: style,
|
|
47
|
+
helperText: helperText
|
|
48
|
+
}, textFieldProps)),
|
|
49
|
+
inputValue: inputValue,
|
|
50
|
+
onInputChange: (e, newInputValue) => setInputValue(newInputValue),
|
|
51
|
+
onChange: (event, newValue) => setIndustry(newValue || null),
|
|
52
|
+
value: industry !== null && industry !== void 0 ? industry : null,
|
|
53
|
+
getOptionSelected: (option, value) => option.label === value.label,
|
|
54
|
+
PopperComponent: CustomPopper
|
|
55
|
+
}));
|
|
56
|
+
};
|
|
57
|
+
var _default = IndustryAutocomplete;
|
|
58
|
+
exports.default = _default;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.assign.js");
|
|
4
|
+
require("core-js/modules/es.weak-map.js");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
+
require("core-js/modules/es.promise.js");
|
|
11
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
12
|
+
require("core-js/modules/es.string.replace.js");
|
|
13
|
+
require("core-js/modules/esnext.string.replace-all.js");
|
|
14
|
+
require("core-js/modules/es.json.stringify.js");
|
|
15
|
+
require("core-js/modules/es.symbol.description.js");
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
var _parse = _interopRequireDefault(require("autosuggest-highlight/parse"));
|
|
18
|
+
var _Autocomplete = _interopRequireDefault(require("@mui/lab/Autocomplete"));
|
|
19
|
+
var _material = require("@mui/material");
|
|
20
|
+
var _fetchAclymateApi = _interopRequireDefault(require("@aclymatepackages/fetch-aclymate-api"));
|
|
21
|
+
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
22
|
+
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
23
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
|
+
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); }
|
|
25
|
+
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; }
|
|
26
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
27
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
28
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
29
|
+
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; }
|
|
30
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
31
|
+
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); }
|
|
32
|
+
const PlacesAutocomplete = _ref => {
|
|
33
|
+
let {
|
|
34
|
+
place,
|
|
35
|
+
editPlace,
|
|
36
|
+
label,
|
|
37
|
+
errorMsg,
|
|
38
|
+
variant = "outlined",
|
|
39
|
+
size = "medium",
|
|
40
|
+
disabled,
|
|
41
|
+
helperText,
|
|
42
|
+
error,
|
|
43
|
+
id,
|
|
44
|
+
style,
|
|
45
|
+
textFieldProps,
|
|
46
|
+
coordinates
|
|
47
|
+
} = _ref;
|
|
48
|
+
const [inputValue, setInputValue] = (0, _react.useState)("");
|
|
49
|
+
const [options, setOptions] = (0, _react.useState)([]);
|
|
50
|
+
const [previousCharacterCount, setPreviousCharacterCount] = (0, _react.useState)(0);
|
|
51
|
+
const fetchPlaces = (0, _react.useCallback)(async _ref2 => {
|
|
52
|
+
let {
|
|
53
|
+
value,
|
|
54
|
+
signal
|
|
55
|
+
} = _ref2;
|
|
56
|
+
const formattedPlaceValue = (value || inputValue).replaceAll(/#|\?/gm, "");
|
|
57
|
+
const placeObj = {
|
|
58
|
+
place: formattedPlaceValue
|
|
59
|
+
};
|
|
60
|
+
const coordinatesObj = coordinates ? {
|
|
61
|
+
coordinates
|
|
62
|
+
} : {};
|
|
63
|
+
const dataString = JSON.stringify(_objectSpread(_objectSpread({}, placeObj), coordinatesObj));
|
|
64
|
+
const placesFetchCallback = data => {
|
|
65
|
+
setOptions(data.predictions || []);
|
|
66
|
+
return data.predictions;
|
|
67
|
+
};
|
|
68
|
+
return await (0, _fetchAclymateApi.default)({
|
|
69
|
+
path: "/google-maps/autocomplete/".concat(dataString),
|
|
70
|
+
method: "GET",
|
|
71
|
+
signal,
|
|
72
|
+
callback: placesFetchCallback
|
|
73
|
+
});
|
|
74
|
+
}, [inputValue, coordinates]);
|
|
75
|
+
(0, _react.useEffect)(() => {
|
|
76
|
+
if (inputValue === "") {
|
|
77
|
+
setOptions(place ? [place] : []);
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
const controller = new AbortController();
|
|
81
|
+
const {
|
|
82
|
+
signal
|
|
83
|
+
} = controller;
|
|
84
|
+
fetchPlaces({
|
|
85
|
+
signal
|
|
86
|
+
});
|
|
87
|
+
return () => {
|
|
88
|
+
controller.abort();
|
|
89
|
+
};
|
|
90
|
+
}, [inputValue, place, fetchPlaces]);
|
|
91
|
+
return /*#__PURE__*/_react.default.createElement(_Autocomplete.default, {
|
|
92
|
+
id: id || "places1-autocomplete",
|
|
93
|
+
options: options,
|
|
94
|
+
getOptionLabel: option => typeof option === "string" ? option : option.description || option.address || "",
|
|
95
|
+
filterOptions: x => x,
|
|
96
|
+
autoComplete: true,
|
|
97
|
+
filterSelectedOptions: true,
|
|
98
|
+
includeInputInList: true,
|
|
99
|
+
disabled: disabled,
|
|
100
|
+
renderInput: params => /*#__PURE__*/_react.default.createElement(_material.TextField, _extends({
|
|
101
|
+
id: "places-autocomplete-input"
|
|
102
|
+
}, params, {
|
|
103
|
+
label: label,
|
|
104
|
+
variant: variant,
|
|
105
|
+
error: errorMsg && !place || error,
|
|
106
|
+
size: size,
|
|
107
|
+
autoComplete: "off",
|
|
108
|
+
helperText: helperText,
|
|
109
|
+
style: style
|
|
110
|
+
}, textFieldProps)),
|
|
111
|
+
getOptionSelected: (option, value) => {
|
|
112
|
+
return option === "" || option.description === value.description || option === value;
|
|
113
|
+
},
|
|
114
|
+
value: place || "",
|
|
115
|
+
onChange: (event, newValue) => {
|
|
116
|
+
setOptions(newValue ? [newValue, ...options] : options);
|
|
117
|
+
editPlace(newValue);
|
|
118
|
+
},
|
|
119
|
+
onInputChange: (event, newInputValue) => {
|
|
120
|
+
setInputValue(newInputValue);
|
|
121
|
+
if (newInputValue && Math.abs(previousCharacterCount - newInputValue.length) > 1 && newInputValue !== (place === null || place === void 0 ? void 0 : place.description)) {
|
|
122
|
+
fetchPlaces({
|
|
123
|
+
value: newInputValue
|
|
124
|
+
}).then(function () {
|
|
125
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
126
|
+
const firstOption = options[0];
|
|
127
|
+
if (firstOption) {
|
|
128
|
+
const {
|
|
129
|
+
place_id,
|
|
130
|
+
description
|
|
131
|
+
} = firstOption;
|
|
132
|
+
setInputValue(description);
|
|
133
|
+
editPlace({
|
|
134
|
+
place_id,
|
|
135
|
+
description
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
setPreviousCharacterCount(newInputValue.length);
|
|
141
|
+
},
|
|
142
|
+
renderOption: (props, option) => {
|
|
143
|
+
if (option.description) {
|
|
144
|
+
var _option$structured_fo, _option$structured_fo2, _option$structured_fo3;
|
|
145
|
+
const matches = option === null || option === void 0 || (_option$structured_fo = option.structured_formatting) === null || _option$structured_fo === void 0 ? void 0 : _option$structured_fo.main_text_matched_substrings;
|
|
146
|
+
const parts = !!(matches !== null && matches !== void 0 && matches.length) ? (0, _parse.default)(option === null || option === void 0 || (_option$structured_fo2 = option.structured_formatting) === null || _option$structured_fo2 === void 0 ? void 0 : _option$structured_fo2.main_text, matches.map(match => [match.offset, match.offset + match.length])) : [];
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement("li", props, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
148
|
+
container: true,
|
|
149
|
+
alignItems: "center",
|
|
150
|
+
spacing: 2
|
|
151
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
152
|
+
item: true
|
|
153
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
154
|
+
icon: _freeSolidSvgIcons.faMapMarkerAlt
|
|
155
|
+
})), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
156
|
+
item: true,
|
|
157
|
+
xs: true
|
|
158
|
+
}, parts.length ? parts.map((part, index) => /*#__PURE__*/_react.default.createElement("span", {
|
|
159
|
+
key: index,
|
|
160
|
+
style: {
|
|
161
|
+
fontWeight: part.highlight ? 700 : 400
|
|
162
|
+
}
|
|
163
|
+
}, part.text)) : "", /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
164
|
+
variant: "body2",
|
|
165
|
+
color: "textSecondary"
|
|
166
|
+
}, option === null || option === void 0 || (_option$structured_fo3 = option.structured_formatting) === null || _option$structured_fo3 === void 0 ? void 0 : _option$structured_fo3.secondary_text))));
|
|
167
|
+
}
|
|
168
|
+
return /*#__PURE__*/_react.default.createElement("li", props, option);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
};
|
|
172
|
+
var _default = PlacesAutocomplete;
|
|
173
|
+
exports.default = _default;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.assign.js");
|
|
4
|
+
require("core-js/modules/es.weak-map.js");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
+
require("core-js/modules/es.promise.js");
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _reactStripeJs = require("@stripe/react-stripe-js");
|
|
13
|
+
var _stripeJs = require("@stripe/stripe-js");
|
|
14
|
+
var _material = require("@mui/material");
|
|
15
|
+
var _fetchAclymateApi = _interopRequireDefault(require("@aclymatepackages/fetch-aclymate-api"));
|
|
16
|
+
const _excluded = ["stripePublishableKey", "children"];
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
+
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); }
|
|
19
|
+
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; }
|
|
20
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
21
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
22
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
23
|
+
const StripeElementsWrapper = _ref => {
|
|
24
|
+
let {
|
|
25
|
+
accountData,
|
|
26
|
+
accountCollection,
|
|
27
|
+
loadingComponent,
|
|
28
|
+
baseFetchHost,
|
|
29
|
+
stripePromise,
|
|
30
|
+
children
|
|
31
|
+
} = _ref;
|
|
32
|
+
const [stripeClientSecret, setStripeClientSecret] = (0, _react.useState)("");
|
|
33
|
+
const {
|
|
34
|
+
id: accountId,
|
|
35
|
+
stripeCustomerId: accountDataCustomerId,
|
|
36
|
+
billing = {}
|
|
37
|
+
} = accountData;
|
|
38
|
+
const {
|
|
39
|
+
stripeCustomerId: billingObjStripeCustomerId
|
|
40
|
+
} = billing;
|
|
41
|
+
(0, _react.useEffect)(() => {
|
|
42
|
+
const getStripeClientSecret = async () => {
|
|
43
|
+
const {
|
|
44
|
+
clientSecret
|
|
45
|
+
} = await (0, _fetchAclymateApi.default)({
|
|
46
|
+
path: "/stripe/create-setup-intent",
|
|
47
|
+
method: "POST",
|
|
48
|
+
data: {
|
|
49
|
+
accountId,
|
|
50
|
+
accountType: accountCollection,
|
|
51
|
+
customerId: billingObjStripeCustomerId || accountDataCustomerId
|
|
52
|
+
},
|
|
53
|
+
callback: response => response,
|
|
54
|
+
baseFetchHost
|
|
55
|
+
});
|
|
56
|
+
setStripeClientSecret(clientSecret);
|
|
57
|
+
};
|
|
58
|
+
if (!stripeClientSecret) {
|
|
59
|
+
getStripeClientSecret();
|
|
60
|
+
}
|
|
61
|
+
}, [stripeClientSecret, accountDataCustomerId, accountId, billingObjStripeCustomerId, accountCollection, baseFetchHost]);
|
|
62
|
+
const appearance = {
|
|
63
|
+
theme: "stripe",
|
|
64
|
+
variables: {
|
|
65
|
+
colorPrimary: "#27aae1",
|
|
66
|
+
colorBackground: "fafafa"
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !stripeClientSecret ? loadingComponent ? /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
70
|
+
container: true,
|
|
71
|
+
justifyContent: "center",
|
|
72
|
+
spacing: 2
|
|
73
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
74
|
+
item: true
|
|
75
|
+
}, loadingComponent)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null) : /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
|
|
76
|
+
stripe: stripePromise,
|
|
77
|
+
options: {
|
|
78
|
+
clientSecret: stripeClientSecret,
|
|
79
|
+
appearance
|
|
80
|
+
}
|
|
81
|
+
}, children));
|
|
82
|
+
};
|
|
83
|
+
const StripeElements = _ref2 => {
|
|
84
|
+
let {
|
|
85
|
+
stripePublishableKey,
|
|
86
|
+
children
|
|
87
|
+
} = _ref2,
|
|
88
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded);
|
|
89
|
+
const stripePromise = (0, _stripeJs.loadStripe)(stripePublishableKey);
|
|
90
|
+
return /*#__PURE__*/_react.default.createElement(StripeElementsWrapper, _extends({
|
|
91
|
+
stripePromise: stripePromise
|
|
92
|
+
}, otherProps), children);
|
|
93
|
+
};
|
|
94
|
+
var _default = StripeElements;
|
|
95
|
+
exports.default = _default;
|