@aclymatepackages/modules 2.1.6 → 2.1.8
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.
|
@@ -117,7 +117,7 @@ const EmissionsPieChart = _ref2 => {
|
|
|
117
117
|
wrapperStyle: {
|
|
118
118
|
zIndex: 99
|
|
119
119
|
},
|
|
120
|
-
content: /*#__PURE__*/_react.default.createElement(TooltipComponent,
|
|
120
|
+
content: props => /*#__PURE__*/_react.default.createElement(TooltipComponent, props)
|
|
121
121
|
})));
|
|
122
122
|
};
|
|
123
123
|
var _default = exports.default = EmissionsPieChart;
|
|
@@ -0,0 +1,156 @@
|
|
|
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/es.promise.js");
|
|
10
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _peopledatalabs = _interopRequireDefault(require("peopledatalabs"));
|
|
13
|
+
var _material = require("@mui/material");
|
|
14
|
+
var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
|
|
15
|
+
var _Search = _interopRequireDefault(require("@mui/icons-material/Search"));
|
|
16
|
+
var _atoms = require("@aclymatepackages/atoms");
|
|
17
|
+
var _formatters = require("@aclymatepackages/formatters");
|
|
18
|
+
const _excluded = ["name"];
|
|
19
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
22
|
+
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); }
|
|
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(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
27
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
28
|
+
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; }
|
|
29
|
+
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; }
|
|
30
|
+
const CompanySelectionChip = _ref => {
|
|
31
|
+
let {
|
|
32
|
+
id,
|
|
33
|
+
name,
|
|
34
|
+
isSelected,
|
|
35
|
+
setSelectedCompanyId
|
|
36
|
+
} = _ref;
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
38
|
+
item: true
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Chip, {
|
|
40
|
+
label: name,
|
|
41
|
+
style: {
|
|
42
|
+
color: isSelected ? "white" : "inherit"
|
|
43
|
+
},
|
|
44
|
+
onClick: () => setSelectedCompanyId(currentId => currentId === id ? null : id),
|
|
45
|
+
icon: isSelected && /*#__PURE__*/_react.default.createElement(_Check.default, {
|
|
46
|
+
style: {
|
|
47
|
+
color: "white"
|
|
48
|
+
}
|
|
49
|
+
}),
|
|
50
|
+
color: isSelected ? "primary" : "default"
|
|
51
|
+
}));
|
|
52
|
+
};
|
|
53
|
+
const PdlCompanySelect = _ref2 => {
|
|
54
|
+
let {
|
|
55
|
+
onSelectCompany
|
|
56
|
+
} = _ref2;
|
|
57
|
+
const [inputValue, setInputValue] = (0, _react.useState)("");
|
|
58
|
+
const [matchingCompanies, setMatchingCompanies] = (0, _react.useState)([]);
|
|
59
|
+
const [inputComplete, setInputComplete] = (0, _react.useState)(false);
|
|
60
|
+
const [pdlFetchLoading, setPdlFetchLoading] = (0, _react.useState)(false);
|
|
61
|
+
const [selectedCompanyId, setSelectedCompanyId] = (0, _react.useState)(null);
|
|
62
|
+
const pdlClient = (0, _react.useMemo)(() => new _peopledatalabs.default({
|
|
63
|
+
apiKey: process.env.REACT_APP_PEOPLEDATALABS_API_KEY
|
|
64
|
+
}), []);
|
|
65
|
+
const fetchMatchingCompanies = async () => {
|
|
66
|
+
setPdlFetchLoading(true);
|
|
67
|
+
const {
|
|
68
|
+
data: matchingPdlCompanies
|
|
69
|
+
} = await pdlClient.autocomplete({
|
|
70
|
+
field: "company",
|
|
71
|
+
text: inputValue,
|
|
72
|
+
size: 10,
|
|
73
|
+
pretty: true
|
|
74
|
+
});
|
|
75
|
+
const capitalizedCompanies = matchingPdlCompanies.map(_ref3 => {
|
|
76
|
+
let {
|
|
77
|
+
name
|
|
78
|
+
} = _ref3,
|
|
79
|
+
otherProps = _objectWithoutProperties(_ref3, _excluded);
|
|
80
|
+
return _objectSpread({
|
|
81
|
+
name: (0, _formatters.ucFirstLetters)(name)
|
|
82
|
+
}, otherProps);
|
|
83
|
+
});
|
|
84
|
+
setPdlFetchLoading(false);
|
|
85
|
+
setMatchingCompanies(capitalizedCompanies);
|
|
86
|
+
return setInputComplete(true);
|
|
87
|
+
};
|
|
88
|
+
return /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
89
|
+
container: true,
|
|
90
|
+
spacing: 2,
|
|
91
|
+
direction: "column"
|
|
92
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
93
|
+
item: true
|
|
94
|
+
}, /*#__PURE__*/_react.default.createElement(_atoms.TextField, {
|
|
95
|
+
disabled: pdlFetchLoading,
|
|
96
|
+
label: "Enter your company's name",
|
|
97
|
+
value: inputValue,
|
|
98
|
+
setValue: setInputValue,
|
|
99
|
+
onKeyPress: _ref4 => {
|
|
100
|
+
let {
|
|
101
|
+
key
|
|
102
|
+
} = _ref4;
|
|
103
|
+
if (key === "Enter") {
|
|
104
|
+
return fetchMatchingCompanies();
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
InputProps: {
|
|
108
|
+
endAdornment: /*#__PURE__*/_react.default.createElement(_material.InputAdornment, null, /*#__PURE__*/_react.default.createElement(_material.IconButton, {
|
|
109
|
+
disabled: pdlFetchLoading,
|
|
110
|
+
onClick: fetchMatchingCompanies
|
|
111
|
+
}, pdlFetchLoading ? /*#__PURE__*/_react.default.createElement(_material.CircularProgress, {
|
|
112
|
+
size: 20
|
|
113
|
+
}) : /*#__PURE__*/_react.default.createElement(_Search.default, null)))
|
|
114
|
+
}
|
|
115
|
+
})), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
116
|
+
item: true,
|
|
117
|
+
container: true,
|
|
118
|
+
justifyContent: "center"
|
|
119
|
+
}), inputComplete && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
120
|
+
item: true
|
|
121
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
122
|
+
variant: "h6",
|
|
123
|
+
align: "center"
|
|
124
|
+
}, "Please select your company from these options")), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
125
|
+
item: true,
|
|
126
|
+
container: true,
|
|
127
|
+
spacing: 2,
|
|
128
|
+
justifyContent: "center"
|
|
129
|
+
}, matchingCompanies.map((_ref5, idx) => {
|
|
130
|
+
let {
|
|
131
|
+
name,
|
|
132
|
+
meta
|
|
133
|
+
} = _ref5;
|
|
134
|
+
return /*#__PURE__*/_react.default.createElement(CompanySelectionChip, _extends({
|
|
135
|
+
key: "company-list-item-".concat(idx),
|
|
136
|
+
name: name,
|
|
137
|
+
isSelected: selectedCompanyId === meta.id,
|
|
138
|
+
setSelectedCompanyId: setSelectedCompanyId
|
|
139
|
+
}, meta));
|
|
140
|
+
})), /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
141
|
+
item: true,
|
|
142
|
+
container: true,
|
|
143
|
+
spacing: 2,
|
|
144
|
+
justifyContent: "center"
|
|
145
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
146
|
+
item: true
|
|
147
|
+
}, selectedCompanyId ? /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
148
|
+
variant: "contained",
|
|
149
|
+
color: "secondary",
|
|
150
|
+
onClick: () => onSelectCompany(selectedCompanyId)
|
|
151
|
+
}, "Choose this company") : /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
152
|
+
color: "primary",
|
|
153
|
+
onClick: () => onSelectCompany("none", inputValue)
|
|
154
|
+
}, "I don't see my company")))));
|
|
155
|
+
};
|
|
156
|
+
var _default = exports.default = PdlCompanySelect;
|
package/dist/index.js
CHANGED
|
@@ -81,6 +81,12 @@ Object.defineProperty(exports, "IndustryAutocomplete", {
|
|
|
81
81
|
return _IndustryAutocomplete.default;
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
|
+
Object.defineProperty(exports, "PdlCompanySelect", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function get() {
|
|
87
|
+
return _PdlCompanySelect.default;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
84
90
|
Object.defineProperty(exports, "PlacesAutocomplete", {
|
|
85
91
|
enumerable: true,
|
|
86
92
|
get: function get() {
|
|
@@ -143,4 +149,5 @@ var _useChartWarningLabels = _interopRequireDefault(require("./components/useCha
|
|
|
143
149
|
var _ReportSummaryBlock = _interopRequireDefault(require("./components/ReportSummaryBlock"));
|
|
144
150
|
var _ReportGraphContentLayout = _interopRequireDefault(require("./components/ReportGraphContentLayout"));
|
|
145
151
|
var _EmissionsSummarySentence = _interopRequireDefault(require("./components/EmissionsSummarySentence"));
|
|
152
|
+
var _PdlCompanySelect = _interopRequireDefault(require("./components/PdlCompanySelect"));
|
|
146
153
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/package.json
CHANGED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import React, { useState, useMemo } from "react";
|
|
2
|
+
import PDLJS from "peopledatalabs";
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
Grid,
|
|
6
|
+
Chip,
|
|
7
|
+
InputAdornment,
|
|
8
|
+
CircularProgress,
|
|
9
|
+
IconButton,
|
|
10
|
+
Button,
|
|
11
|
+
Typography,
|
|
12
|
+
} from "@mui/material";
|
|
13
|
+
import CheckIcon from "@mui/icons-material/Check";
|
|
14
|
+
import SearchIcon from "@mui/icons-material/Search";
|
|
15
|
+
|
|
16
|
+
import { TextField } from "@aclymatepackages/atoms";
|
|
17
|
+
import { ucFirstLetters } from "@aclymatepackages/formatters";
|
|
18
|
+
|
|
19
|
+
const CompanySelectionChip = ({
|
|
20
|
+
id,
|
|
21
|
+
name,
|
|
22
|
+
isSelected,
|
|
23
|
+
setSelectedCompanyId,
|
|
24
|
+
}) => (
|
|
25
|
+
<Grid item>
|
|
26
|
+
<Chip
|
|
27
|
+
label={name}
|
|
28
|
+
style={{ color: isSelected ? "white" : "inherit" }}
|
|
29
|
+
onClick={() =>
|
|
30
|
+
setSelectedCompanyId((currentId) => (currentId === id ? null : id))
|
|
31
|
+
}
|
|
32
|
+
icon={isSelected && <CheckIcon style={{ color: "white" }} />}
|
|
33
|
+
color={isSelected ? "primary" : "default"}
|
|
34
|
+
/>
|
|
35
|
+
</Grid>
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
const PdlCompanySelect = ({ onSelectCompany }) => {
|
|
39
|
+
const [inputValue, setInputValue] = useState("");
|
|
40
|
+
const [matchingCompanies, setMatchingCompanies] = useState([]);
|
|
41
|
+
const [inputComplete, setInputComplete] = useState(false);
|
|
42
|
+
const [pdlFetchLoading, setPdlFetchLoading] = useState(false);
|
|
43
|
+
const [selectedCompanyId, setSelectedCompanyId] = useState(null);
|
|
44
|
+
|
|
45
|
+
const pdlClient = useMemo(
|
|
46
|
+
() =>
|
|
47
|
+
new PDLJS({
|
|
48
|
+
apiKey: process.env.REACT_APP_PEOPLEDATALABS_API_KEY,
|
|
49
|
+
}),
|
|
50
|
+
[]
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
const fetchMatchingCompanies = async () => {
|
|
54
|
+
setPdlFetchLoading(true);
|
|
55
|
+
|
|
56
|
+
const { data: matchingPdlCompanies } = await pdlClient.autocomplete({
|
|
57
|
+
field: "company",
|
|
58
|
+
text: inputValue,
|
|
59
|
+
size: 10,
|
|
60
|
+
pretty: true,
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
const capitalizedCompanies = matchingPdlCompanies.map(
|
|
64
|
+
({ name, ...otherProps }) => ({
|
|
65
|
+
name: ucFirstLetters(name),
|
|
66
|
+
...otherProps,
|
|
67
|
+
})
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
setPdlFetchLoading(false);
|
|
71
|
+
setMatchingCompanies(capitalizedCompanies);
|
|
72
|
+
return setInputComplete(true);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<Grid container spacing={2} direction="column">
|
|
77
|
+
<Grid item>
|
|
78
|
+
<TextField
|
|
79
|
+
disabled={pdlFetchLoading}
|
|
80
|
+
label="Enter your company's name"
|
|
81
|
+
value={inputValue}
|
|
82
|
+
setValue={setInputValue}
|
|
83
|
+
onKeyPress={({ key }) => {
|
|
84
|
+
if (key === "Enter") {
|
|
85
|
+
return fetchMatchingCompanies();
|
|
86
|
+
}
|
|
87
|
+
}}
|
|
88
|
+
InputProps={{
|
|
89
|
+
endAdornment: (
|
|
90
|
+
<InputAdornment>
|
|
91
|
+
<IconButton
|
|
92
|
+
disabled={pdlFetchLoading}
|
|
93
|
+
onClick={fetchMatchingCompanies}
|
|
94
|
+
>
|
|
95
|
+
{pdlFetchLoading ? (
|
|
96
|
+
<CircularProgress size={20} />
|
|
97
|
+
) : (
|
|
98
|
+
<SearchIcon />
|
|
99
|
+
)}
|
|
100
|
+
</IconButton>
|
|
101
|
+
</InputAdornment>
|
|
102
|
+
),
|
|
103
|
+
}}
|
|
104
|
+
/>
|
|
105
|
+
</Grid>
|
|
106
|
+
<Grid item container justifyContent="center"></Grid>
|
|
107
|
+
{inputComplete && (
|
|
108
|
+
<>
|
|
109
|
+
<Grid item>
|
|
110
|
+
<Typography variant="h6" align="center">
|
|
111
|
+
Please select your company from these options
|
|
112
|
+
</Typography>
|
|
113
|
+
</Grid>
|
|
114
|
+
<Grid item container spacing={2} justifyContent="center">
|
|
115
|
+
{matchingCompanies.map(({ name, meta }, idx) => (
|
|
116
|
+
<CompanySelectionChip
|
|
117
|
+
key={`company-list-item-${idx}`}
|
|
118
|
+
name={name}
|
|
119
|
+
isSelected={selectedCompanyId === meta.id}
|
|
120
|
+
setSelectedCompanyId={setSelectedCompanyId}
|
|
121
|
+
{...meta}
|
|
122
|
+
/>
|
|
123
|
+
))}
|
|
124
|
+
</Grid>
|
|
125
|
+
<Grid item container spacing={2} justifyContent="center">
|
|
126
|
+
<Grid item>
|
|
127
|
+
{selectedCompanyId ? (
|
|
128
|
+
<Button
|
|
129
|
+
variant="contained"
|
|
130
|
+
color="secondary"
|
|
131
|
+
onClick={() => onSelectCompany(selectedCompanyId)}
|
|
132
|
+
>
|
|
133
|
+
Choose this company
|
|
134
|
+
</Button>
|
|
135
|
+
) : (
|
|
136
|
+
<Button
|
|
137
|
+
color="primary"
|
|
138
|
+
onClick={() => onSelectCompany("none", inputValue)}
|
|
139
|
+
>
|
|
140
|
+
I don't see my company
|
|
141
|
+
</Button>
|
|
142
|
+
)}
|
|
143
|
+
</Grid>
|
|
144
|
+
</Grid>
|
|
145
|
+
</>
|
|
146
|
+
)}
|
|
147
|
+
</Grid>
|
|
148
|
+
);
|
|
149
|
+
};
|
|
150
|
+
export default PdlCompanySelect;
|
package/src/index.js
CHANGED
|
@@ -18,6 +18,7 @@ import useChartWarningLabels from "./components/useChartWarningLabels";
|
|
|
18
18
|
import ReportSummaryBlock from "./components/ReportSummaryBlock";
|
|
19
19
|
import ReportGraphContentLayout from "./components/ReportGraphContentLayout";
|
|
20
20
|
import EmissionsSummarySentence from "./components/EmissionsSummarySentence";
|
|
21
|
+
import PdlCompanySelect from "./components/PdlCompanySelect";
|
|
21
22
|
|
|
22
23
|
export {
|
|
23
24
|
AccountingChart,
|
|
@@ -40,4 +41,5 @@ export {
|
|
|
40
41
|
ReportSummaryBlock,
|
|
41
42
|
ReportGraphContentLayout,
|
|
42
43
|
EmissionsSummarySentence,
|
|
44
|
+
PdlCompanySelect,
|
|
43
45
|
};
|