@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
package/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Getting Started with Aclymate Modules
|
|
2
|
+
|
|
3
|
+
These are modules that can be used in front-end development for the Aclymate website and platform.
|
|
4
|
+
|
|
5
|
+
## Available Modules
|
|
6
|
+
|
|
7
|
+
In the project directory, you can find:
|
|
8
|
+
|
|
9
|
+
### `OffsetsPurchaseDialogBox.js`
|
|
10
|
+
|
|
11
|
+
Exports the OffsetsPurchaseDialogBox component
|
|
12
|
+
|
|
13
|
+
### `FootprintVideo.js`
|
|
14
|
+
|
|
15
|
+
Exports the following:
|
|
16
|
+
{
|
|
17
|
+
FootprintVideo,
|
|
18
|
+
convertFootprintToDriving,
|
|
19
|
+
convertFootprintToTrees,
|
|
20
|
+
convertFootprintToIce,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
### `IndustryAutocomplete.js`
|
|
24
|
+
|
|
25
|
+
Exports the IndustryAutocomplete component
|
|
26
|
+
|
|
27
|
+
### `PlacesAutocomplete.js`
|
|
28
|
+
|
|
29
|
+
Exports the custom PlacesAutocomplete component
|
|
30
|
+
|
|
31
|
+
### `ProjectsTypesSelect.js`
|
|
32
|
+
|
|
33
|
+
Exports the custom ProjectsTypesSelect component
|
|
34
|
+
|
|
35
|
+
## Usage
|
|
36
|
+
|
|
37
|
+
To use an atom component in your code, first run:
|
|
38
|
+
|
|
39
|
+
### `npm i @aclymatepackages/modules`
|
|
40
|
+
|
|
41
|
+
This will install or update this package. Then, use your atoms of choice like so:
|
|
42
|
+
|
|
43
|
+
### `import { module } from "@aclymatepackages/modules"`
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
4
|
+
require("core-js/modules/es.object.assign.js");
|
|
5
|
+
require("core-js/modules/es.weak-map.js");
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.default = void 0;
|
|
10
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
11
|
+
require("core-js/modules/es.promise.js");
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _peopledatalabs = _interopRequireDefault(require("peopledatalabs"));
|
|
14
|
+
var _material = require("@mui/material");
|
|
15
|
+
var _formatters = require("@aclymatepackages/formatters");
|
|
16
|
+
var _otherHelpers = require("@aclymatepackages/other-helpers");
|
|
17
|
+
const _excluded = ["name"];
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
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); }
|
|
20
|
+
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; }
|
|
21
|
+
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); }
|
|
22
|
+
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; }
|
|
23
|
+
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; }
|
|
24
|
+
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; }
|
|
25
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
26
|
+
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); }
|
|
27
|
+
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; }
|
|
28
|
+
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; }
|
|
29
|
+
const CompaniesAutocomplete = _ref => {
|
|
30
|
+
let {
|
|
31
|
+
setCompanyName,
|
|
32
|
+
onSelectCompany,
|
|
33
|
+
label,
|
|
34
|
+
variant = "outlined",
|
|
35
|
+
size = "medium",
|
|
36
|
+
disabled,
|
|
37
|
+
helperText = "",
|
|
38
|
+
id,
|
|
39
|
+
style,
|
|
40
|
+
textFieldProps,
|
|
41
|
+
pdlApiKey
|
|
42
|
+
} = _ref;
|
|
43
|
+
const [nextStepIsLoading, setNextStepIsLoading] = (0, _react.useState)(false);
|
|
44
|
+
const [inputValue, setInputValue] = (0, _react.useState)("");
|
|
45
|
+
const [options, setOptions] = (0, _react.useState)([]);
|
|
46
|
+
const pdlClient = (0, _react.useMemo)(() => new _peopledatalabs.default({
|
|
47
|
+
apiKey: pdlApiKey
|
|
48
|
+
}), [pdlApiKey]);
|
|
49
|
+
const fetchCompanies = async value => {
|
|
50
|
+
setNextStepIsLoading(true);
|
|
51
|
+
const autocompleteParamsObj = {
|
|
52
|
+
field: "company",
|
|
53
|
+
text: value || inputValue,
|
|
54
|
+
size: 10,
|
|
55
|
+
pretty: true
|
|
56
|
+
};
|
|
57
|
+
return await pdlClient.autocomplete(autocompleteParamsObj).then(_ref2 => {
|
|
58
|
+
let {
|
|
59
|
+
data
|
|
60
|
+
} = _ref2;
|
|
61
|
+
const capitalizedCompanyNamesOptions = data.map(_ref3 => {
|
|
62
|
+
let {
|
|
63
|
+
name
|
|
64
|
+
} = _ref3,
|
|
65
|
+
otherProps = _objectWithoutProperties(_ref3, _excluded);
|
|
66
|
+
return _objectSpread({
|
|
67
|
+
name: (0, _formatters.ucFirstLetters)(name)
|
|
68
|
+
}, otherProps);
|
|
69
|
+
});
|
|
70
|
+
setNextStepIsLoading(false);
|
|
71
|
+
setOptions(capitalizedCompanyNamesOptions);
|
|
72
|
+
return data;
|
|
73
|
+
}).catch(() => setOptions([]));
|
|
74
|
+
};
|
|
75
|
+
const onInputChange = (_, newInputValue) => {
|
|
76
|
+
if (newInputValue === "I don't see my company") {
|
|
77
|
+
setNextStepIsLoading(false);
|
|
78
|
+
return setCompanyName(inputValue);
|
|
79
|
+
}
|
|
80
|
+
setNextStepIsLoading(false);
|
|
81
|
+
setInputValue(newInputValue);
|
|
82
|
+
if (newInputValue === "") {
|
|
83
|
+
return setOptions([]);
|
|
84
|
+
}
|
|
85
|
+
return fetchCompanies();
|
|
86
|
+
};
|
|
87
|
+
const isError = !!inputValue && (0, _otherHelpers.incorrectNameCheck)(inputValue, 60);
|
|
88
|
+
return /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
89
|
+
container: true,
|
|
90
|
+
spacing: 1,
|
|
91
|
+
direction: "column"
|
|
92
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
93
|
+
item: true
|
|
94
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Autocomplete, {
|
|
95
|
+
id: id || "companies-autocomplete",
|
|
96
|
+
freeSolo: true,
|
|
97
|
+
options: [...options, "I don't see my company"],
|
|
98
|
+
getOptionLabel: option => typeof option === "string" ? option : option.name || "",
|
|
99
|
+
filterOptions: option => option,
|
|
100
|
+
autoComplete: true,
|
|
101
|
+
includeInputInList: true,
|
|
102
|
+
disabled: disabled,
|
|
103
|
+
renderInput: params => /*#__PURE__*/_react.default.createElement(_material.TextField, _extends({
|
|
104
|
+
id: "companies-autocomplete-input"
|
|
105
|
+
}, params, {
|
|
106
|
+
label: label,
|
|
107
|
+
variant: variant,
|
|
108
|
+
error: isError,
|
|
109
|
+
size: size,
|
|
110
|
+
autoComplete: "off",
|
|
111
|
+
helperText: isError ? "This company name is not valid" : helperText || "",
|
|
112
|
+
style: style
|
|
113
|
+
}, textFieldProps)),
|
|
114
|
+
getOptionSelected: (option, value) => option === "" || option.name === value.name || option === value,
|
|
115
|
+
value: inputValue,
|
|
116
|
+
onChange: (_, newValue) => {
|
|
117
|
+
setOptions(newValue ? [newValue, ...options] : options);
|
|
118
|
+
return onSelectCompany(newValue);
|
|
119
|
+
},
|
|
120
|
+
onInputChange: onInputChange
|
|
121
|
+
})), nextStepIsLoading && /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
122
|
+
item: true
|
|
123
|
+
}, /*#__PURE__*/_react.default.createElement(_material.LinearProgress, null)));
|
|
124
|
+
};
|
|
125
|
+
var _default = CompaniesAutocomplete;
|
|
126
|
+
exports.default = _default;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.description.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
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _material = require("@mui/material");
|
|
12
|
+
var _atoms = require("@aclymatepackages/atoms");
|
|
13
|
+
var _arrayImmutabilityHelpers = require("@aclymatepackages/array-immutability-helpers");
|
|
14
|
+
var _regExp = require("@aclymatepackages/reg-exp");
|
|
15
|
+
var _multiPartForm = require("@aclymatepackages/multi-part-form");
|
|
16
|
+
var _themes = _interopRequireDefault(require("@aclymatepackages/themes"));
|
|
17
|
+
var _IndustryAutocomplete = _interopRequireDefault(require("./IndustryAutocomplete"));
|
|
18
|
+
var _YesNoQuestion = _interopRequireDefault(require("./YesNoQuestion"));
|
|
19
|
+
var _PlacesAutocomplete = _interopRequireDefault(require("./PlacesAutocomplete"));
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
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); }
|
|
22
|
+
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; }
|
|
23
|
+
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; }
|
|
24
|
+
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; }
|
|
25
|
+
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; }
|
|
26
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
27
|
+
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); }
|
|
28
|
+
const CompanyOnboardingInput = _ref => {
|
|
29
|
+
let {
|
|
30
|
+
companyName,
|
|
31
|
+
header,
|
|
32
|
+
onFormComplete,
|
|
33
|
+
PlacesAutocomplete,
|
|
34
|
+
theme
|
|
35
|
+
} = _ref;
|
|
36
|
+
const [inputData, setInputData] = (0, _react.useState)({
|
|
37
|
+
name: companyName
|
|
38
|
+
});
|
|
39
|
+
const editInputData = field => value => (0, _arrayImmutabilityHelpers.editObjectData)(setInputData, field, value);
|
|
40
|
+
const {
|
|
41
|
+
location,
|
|
42
|
+
industry,
|
|
43
|
+
employeeCount,
|
|
44
|
+
isRemote,
|
|
45
|
+
name
|
|
46
|
+
} = inputData;
|
|
47
|
+
const PlacesAutocompleteComponent = PlacesAutocomplete || _PlacesAutocomplete.default;
|
|
48
|
+
const nonPeopleDataLabsCompanyInputs = [{
|
|
49
|
+
label: "How many employees work for your company?",
|
|
50
|
+
value: employeeCount,
|
|
51
|
+
editData: editInputData("employeeCount"),
|
|
52
|
+
error: !(0, _regExp.numbersRegExpTest)(employeeCount) || employeeCount < 0 || employeeCount > 10000 || !Number.isInteger(Number(employeeCount))
|
|
53
|
+
}, {
|
|
54
|
+
value: industry,
|
|
55
|
+
input: /*#__PURE__*/_react.default.createElement(_IndustryAutocomplete.default, {
|
|
56
|
+
label: "Choose your company's industry",
|
|
57
|
+
industry: industry,
|
|
58
|
+
setIndustry: editInputData("industry"),
|
|
59
|
+
helperText: "We'll use this to estimate your emissions and benchmark to other similar companies"
|
|
60
|
+
})
|
|
61
|
+
}, {
|
|
62
|
+
value: location,
|
|
63
|
+
input: /*#__PURE__*/_react.default.createElement(PlacesAutocompleteComponent, {
|
|
64
|
+
place: location,
|
|
65
|
+
editPlace: editInputData("location"),
|
|
66
|
+
size: "small",
|
|
67
|
+
label: "What's your company's primary address?",
|
|
68
|
+
helperText: "We only need your physical address, not your suite number",
|
|
69
|
+
id: "company-address-autocomplete"
|
|
70
|
+
})
|
|
71
|
+
}, {
|
|
72
|
+
value: isRemote !== undefined,
|
|
73
|
+
input: /*#__PURE__*/_react.default.createElement(_YesNoQuestion.default, {
|
|
74
|
+
question: "Does your company only work remotely?",
|
|
75
|
+
value: isRemote,
|
|
76
|
+
setValue: editInputData("isRemote"),
|
|
77
|
+
lightBackground: true
|
|
78
|
+
}),
|
|
79
|
+
onNextStep: () => onFormComplete(inputData)
|
|
80
|
+
}];
|
|
81
|
+
const formInputArray = nonPeopleDataLabsCompanyInputs.map(input => _objectSpread(_objectSpread({}, input), {}, {
|
|
82
|
+
form: "onboarding"
|
|
83
|
+
}));
|
|
84
|
+
return /*#__PURE__*/_react.default.createElement(_material.Container, {
|
|
85
|
+
maxWidth: "sm"
|
|
86
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
87
|
+
container: true,
|
|
88
|
+
direction: "column",
|
|
89
|
+
spacing: 2
|
|
90
|
+
}, header, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
91
|
+
item: true
|
|
92
|
+
}, /*#__PURE__*/_react.default.createElement(_atoms.TextField, {
|
|
93
|
+
value: name,
|
|
94
|
+
setValue: editInputData("name"),
|
|
95
|
+
variant: "standard",
|
|
96
|
+
label: "What is your company's name?"
|
|
97
|
+
})), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
98
|
+
item: true,
|
|
99
|
+
xs: 12
|
|
100
|
+
}, /*#__PURE__*/_react.default.createElement(_multiPartForm.MultiPartFormLayout, {
|
|
101
|
+
forms: [{
|
|
102
|
+
name: "onboarding",
|
|
103
|
+
label: "Onboarding"
|
|
104
|
+
}],
|
|
105
|
+
rows: formInputArray,
|
|
106
|
+
confirmClose: false,
|
|
107
|
+
theme: theme || _themes.default,
|
|
108
|
+
styleProps: {
|
|
109
|
+
padding: 0
|
|
110
|
+
},
|
|
111
|
+
p: 0,
|
|
112
|
+
noGutter: true
|
|
113
|
+
}))));
|
|
114
|
+
};
|
|
115
|
+
var _default = CompanyOnboardingInput;
|
|
116
|
+
exports.default = _default;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
require("core-js/modules/es.object.assign.js");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _material = require("@mui/material");
|
|
10
|
+
var _styles = require("@mui/material/styles");
|
|
11
|
+
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
12
|
+
var _converters = require("@aclymatepackages/converters");
|
|
13
|
+
var _formatters = require("@aclymatepackages/formatters");
|
|
14
|
+
var _themes = require("@aclymatepackages/themes");
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
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); }
|
|
17
|
+
const GraphBar = _ref => {
|
|
18
|
+
let {
|
|
19
|
+
color,
|
|
20
|
+
categoryMaxTons,
|
|
21
|
+
dataCategoryTons,
|
|
22
|
+
left,
|
|
23
|
+
isUnitsTons
|
|
24
|
+
} = _ref;
|
|
25
|
+
const {
|
|
26
|
+
theme,
|
|
27
|
+
isMobile
|
|
28
|
+
} = (0, _themes.useLayoutHelpers)();
|
|
29
|
+
const displayColor = theme.palette[color].main;
|
|
30
|
+
const maxPercentage = dataCategoryTons / categoryMaxTons;
|
|
31
|
+
const barPercentage = maxPercentage * 100;
|
|
32
|
+
const barSize = isMobile ? 40 : 50;
|
|
33
|
+
const dataCategoryDisplayValue = isUnitsTons ? dataCategoryTons : Math.round((0, _converters.tonsToLbs)(dataCategoryTons));
|
|
34
|
+
const SmallBarAnnotation = () => /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
35
|
+
style: {
|
|
36
|
+
height: barSize - 10,
|
|
37
|
+
width: barSize - 10,
|
|
38
|
+
backgroundColor: "white",
|
|
39
|
+
borderRadius: "50%",
|
|
40
|
+
border: "".concat(displayColor, " solid thin"),
|
|
41
|
+
color: displayColor
|
|
42
|
+
},
|
|
43
|
+
display: "flex",
|
|
44
|
+
alignItems: "center",
|
|
45
|
+
justifyContent: "center"
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
47
|
+
variant: isMobile ? "caption" : "subtitle1",
|
|
48
|
+
align: "center",
|
|
49
|
+
color: (0, _themes.isColorDarkTheme)(displayColor) ? "secondary" : "textPrimary"
|
|
50
|
+
}, (0, _formatters.formatDecimal)(dataCategoryDisplayValue)));
|
|
51
|
+
const barPercentageMobileBreakPoint = isMobile ? 25 : 15;
|
|
52
|
+
return /*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
|
|
53
|
+
theme: (0, _themes.isColorDarkTheme)(displayColor) ? _themes.mergeDarkTheme : _themes.mergeMainTheme
|
|
54
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
55
|
+
display: "flex",
|
|
56
|
+
justifyContent: left ? "flex-end" : "flex-start",
|
|
57
|
+
alignItems: "center"
|
|
58
|
+
}, barPercentage < barPercentageMobileBreakPoint && left && /*#__PURE__*/_react.default.createElement(SmallBarAnnotation, null), /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
59
|
+
style: {
|
|
60
|
+
width: "".concat(barPercentage > 100 ? 100 : barPercentage, "%"),
|
|
61
|
+
height: "".concat(barSize, "px"),
|
|
62
|
+
backgroundColor: displayColor,
|
|
63
|
+
borderRadius: left ? "25px 0 0 25px" : "0 25px 25px 0"
|
|
64
|
+
},
|
|
65
|
+
display: "flex",
|
|
66
|
+
alignItems: "center",
|
|
67
|
+
justifyContent: "center"
|
|
68
|
+
}, barPercentage > barPercentageMobileBreakPoint && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
69
|
+
variant: isMobile ? "subtitle1" : "h6",
|
|
70
|
+
color: "textPrimary",
|
|
71
|
+
align: "center"
|
|
72
|
+
}, "".concat((0, _formatters.formatDecimal)(dataCategoryDisplayValue))))), barPercentage < barPercentageMobileBreakPoint && !left && /*#__PURE__*/_react.default.createElement(SmallBarAnnotation, null)));
|
|
73
|
+
};
|
|
74
|
+
const GraphRow = _ref2 => {
|
|
75
|
+
let {
|
|
76
|
+
category,
|
|
77
|
+
idx,
|
|
78
|
+
individualData,
|
|
79
|
+
comparisonData,
|
|
80
|
+
categories,
|
|
81
|
+
isUnitsTons
|
|
82
|
+
} = _ref2;
|
|
83
|
+
const {
|
|
84
|
+
theme,
|
|
85
|
+
isMobile
|
|
86
|
+
} = (0, _themes.useLayoutHelpers)();
|
|
87
|
+
const {
|
|
88
|
+
color,
|
|
89
|
+
title,
|
|
90
|
+
icon,
|
|
91
|
+
type,
|
|
92
|
+
categoryMaxTons
|
|
93
|
+
} = category;
|
|
94
|
+
const individualTons = individualData["".concat(type, "Tons")] || 0;
|
|
95
|
+
const comparisonTons = comparisonData["".concat(type, "Tons")];
|
|
96
|
+
const barDisplayMaxTons = categoryMaxTons > individualTons ? categoryMaxTons : individualTons;
|
|
97
|
+
return /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
98
|
+
item: true,
|
|
99
|
+
container: true,
|
|
100
|
+
justifyContent: "center",
|
|
101
|
+
alignItems: "center",
|
|
102
|
+
wrap: "nowrap"
|
|
103
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
104
|
+
item: true,
|
|
105
|
+
xs: 5
|
|
106
|
+
}, /*#__PURE__*/_react.default.createElement(GraphBar, _extends({}, category, {
|
|
107
|
+
categoryMaxTons: barDisplayMaxTons,
|
|
108
|
+
dataCategoryTons: individualTons,
|
|
109
|
+
isUnitsTons: isUnitsTons,
|
|
110
|
+
left: true
|
|
111
|
+
}))), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
112
|
+
item: true,
|
|
113
|
+
xs: "auto"
|
|
114
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
115
|
+
style: {
|
|
116
|
+
height: isMobile ? "65px" : "85px",
|
|
117
|
+
width: isMobile ? "65px" : "85px",
|
|
118
|
+
backgroundColor: theme.palette.backgroundGray.dark,
|
|
119
|
+
borderRadius: !idx ? "8px 8px 0 0" : idx === categories.length - 1 ? "0 0 8px 8px" : 0
|
|
120
|
+
},
|
|
121
|
+
display: "flex",
|
|
122
|
+
alignItems: "center",
|
|
123
|
+
justifyContent: "center"
|
|
124
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
|
|
125
|
+
title: title,
|
|
126
|
+
key: "comparison-graphic-category-icon-".concat(idx)
|
|
127
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
128
|
+
style: {
|
|
129
|
+
backgroundColor: theme.palette[color].main,
|
|
130
|
+
height: isMobile ? "50px" : "70px",
|
|
131
|
+
width: isMobile ? "50px" : "70px",
|
|
132
|
+
borderRadius: "50%"
|
|
133
|
+
},
|
|
134
|
+
display: "flex",
|
|
135
|
+
alignItems: "center",
|
|
136
|
+
justifyContent: "center"
|
|
137
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
138
|
+
icon: icon,
|
|
139
|
+
size: isMobile ? "1x" : "2x",
|
|
140
|
+
style: {
|
|
141
|
+
color: "white"
|
|
142
|
+
}
|
|
143
|
+
}))))), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
144
|
+
item: true,
|
|
145
|
+
xs: 5
|
|
146
|
+
}, /*#__PURE__*/_react.default.createElement(GraphBar, _extends({}, category, {
|
|
147
|
+
categoryMaxTons: barDisplayMaxTons,
|
|
148
|
+
dataCategoryTons: comparisonTons,
|
|
149
|
+
isUnitsTons: isUnitsTons
|
|
150
|
+
}))));
|
|
151
|
+
};
|
|
152
|
+
const ComparisonChart = _ref3 => {
|
|
153
|
+
let {
|
|
154
|
+
individualData,
|
|
155
|
+
comparisonData,
|
|
156
|
+
categories,
|
|
157
|
+
youTitle = "You",
|
|
158
|
+
comparisonTitle = "US Average",
|
|
159
|
+
isUnitsTons
|
|
160
|
+
} = _ref3;
|
|
161
|
+
const {
|
|
162
|
+
isMobile
|
|
163
|
+
} = (0, _themes.useLayoutHelpers)();
|
|
164
|
+
return /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
165
|
+
container: true,
|
|
166
|
+
direction: "column"
|
|
167
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
168
|
+
item: true,
|
|
169
|
+
container: true,
|
|
170
|
+
alignItems: "flex-end"
|
|
171
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
172
|
+
item: true,
|
|
173
|
+
xs: 5
|
|
174
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
175
|
+
variant: isMobile ? "subtitle1" : "h5",
|
|
176
|
+
align: "center"
|
|
177
|
+
}, youTitle)), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
178
|
+
item: true,
|
|
179
|
+
xs: 2
|
|
180
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
181
|
+
variant: isMobile ? "h5" : "h3",
|
|
182
|
+
align: "center"
|
|
183
|
+
}, "VS")), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
184
|
+
item: true,
|
|
185
|
+
xs: 5
|
|
186
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
187
|
+
variant: isMobile ? "subtitle1" : "h5",
|
|
188
|
+
align: "center"
|
|
189
|
+
}, comparisonTitle))), categories.map((category, idx) => /*#__PURE__*/_react.default.createElement(GraphRow, {
|
|
190
|
+
idx: idx,
|
|
191
|
+
key: "comparison-graph-row-".concat(idx),
|
|
192
|
+
individualData: individualData,
|
|
193
|
+
comparisonData: comparisonData,
|
|
194
|
+
categories: categories,
|
|
195
|
+
category: category,
|
|
196
|
+
isUnitsTons: isUnitsTons
|
|
197
|
+
})));
|
|
198
|
+
};
|
|
199
|
+
var _default = ComparisonChart;
|
|
200
|
+
exports.default = _default;
|
|
@@ -0,0 +1,59 @@
|
|
|
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 _material = require("@mui/material");
|
|
9
|
+
var _formatters = require("@aclymatepackages/formatters");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
const CustomTooltipDisplayRow = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
category,
|
|
14
|
+
Icon,
|
|
15
|
+
icon,
|
|
16
|
+
customAvatar,
|
|
17
|
+
color,
|
|
18
|
+
name,
|
|
19
|
+
subtitle
|
|
20
|
+
} = _ref;
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
22
|
+
item: true,
|
|
23
|
+
container: true,
|
|
24
|
+
spacing: 1,
|
|
25
|
+
wrap: "nowrap",
|
|
26
|
+
alignItems: "center"
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
28
|
+
item: true
|
|
29
|
+
}, customAvatar || /*#__PURE__*/_react.default.createElement(_material.Avatar, {
|
|
30
|
+
style: {
|
|
31
|
+
backgroundColor: color,
|
|
32
|
+
color: "white"
|
|
33
|
+
}
|
|
34
|
+
}, icon, Icon && /*#__PURE__*/_react.default.createElement(Icon, {
|
|
35
|
+
style: {
|
|
36
|
+
color: "inherit"
|
|
37
|
+
}
|
|
38
|
+
}))), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
39
|
+
item: true,
|
|
40
|
+
container: true,
|
|
41
|
+
direction: "column",
|
|
42
|
+
wrap: "nowrap"
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
44
|
+
item: true,
|
|
45
|
+
xs: 12
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
47
|
+
variant: "subtitle1",
|
|
48
|
+
color: "textPrimary",
|
|
49
|
+
noWrap: true
|
|
50
|
+
}, "".concat((0, _formatters.ucFirstLetters)(name || category)))), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
51
|
+
item: true,
|
|
52
|
+
xs: 12
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
54
|
+
variant: "caption",
|
|
55
|
+
color: "textSecondary"
|
|
56
|
+
}, subtitle))));
|
|
57
|
+
};
|
|
58
|
+
var _default = CustomTooltipDisplayRow;
|
|
59
|
+
exports.default = _default;
|