@tenancy.nz/feature-ui 1.10.6 → 1.10.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.
Files changed (43) hide show
  1. package/dist/cjs/_virtual/_rollupPluginBabelHelpers.cjs +15 -4
  2. package/dist/cjs/components/BackButton.cjs +18 -0
  3. package/dist/cjs/components/ConfirmButton.cjs +91 -0
  4. package/dist/cjs/components/ContactCard.cjs +71 -0
  5. package/dist/cjs/components/ContactCardHeader.cjs +17 -22
  6. package/dist/cjs/components/ContactMethod.cjs +111 -0
  7. package/dist/cjs/components/DeleteIconButton.cjs +17 -0
  8. package/dist/cjs/components/DownloadIconButton.cjs +17 -0
  9. package/dist/cjs/components/EditIconButton.cjs +17 -0
  10. package/dist/cjs/components/LogoutButton.cjs +17 -0
  11. package/dist/cjs/components/OpenInNewIconButton.cjs +17 -0
  12. package/dist/cjs/components/ScrollTopButton.cjs +2 -1
  13. package/dist/cjs/index.cjs +20 -10
  14. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +14 -5
  15. package/dist/esm/components/BackButton.js +14 -0
  16. package/dist/esm/components/ConfirmButton.js +87 -0
  17. package/dist/esm/components/ContactCard.js +68 -0
  18. package/dist/esm/components/ContactCardHeader.js +18 -23
  19. package/dist/esm/components/ContactMethod.js +107 -0
  20. package/dist/esm/components/DeleteIconButton.js +13 -0
  21. package/dist/esm/components/DownloadIconButton.js +13 -0
  22. package/dist/esm/components/EditIconButton.js +13 -0
  23. package/dist/esm/components/LogoutButton.js +13 -0
  24. package/dist/esm/components/OpenInNewIconButton.js +13 -0
  25. package/dist/esm/components/ScrollTopButton.js +2 -1
  26. package/dist/esm/index.js +10 -5
  27. package/package.json +5 -7
  28. package/dist/cjs/components/AnalyticsSection.cjs +0 -186
  29. package/dist/cjs/components/BookingChart.cjs +0 -128
  30. package/dist/cjs/components/BookingChart.styled.cjs +0 -48
  31. package/dist/cjs/components/ChartLegend.cjs +0 -63
  32. package/dist/cjs/components/analytics-doughnut-chart.cjs +0 -116
  33. package/dist/cjs/components/doughnut-chart.cjs +0 -130
  34. package/dist/cjs/components/pdf-analytics-section.cjs +0 -173
  35. package/dist/cjs/utils/helpers/general.cjs +0 -10
  36. package/dist/esm/components/AnalyticsSection.js +0 -182
  37. package/dist/esm/components/BookingChart.js +0 -124
  38. package/dist/esm/components/BookingChart.styled.js +0 -42
  39. package/dist/esm/components/ChartLegend.js +0 -59
  40. package/dist/esm/components/analytics-doughnut-chart.js +0 -112
  41. package/dist/esm/components/doughnut-chart.js +0 -126
  42. package/dist/esm/components/pdf-analytics-section.js +0 -169
  43. package/dist/esm/utils/helpers/general.js +0 -8
@@ -1,128 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
6
- var React = require('react');
7
- var ui = require('@tenancy.nz/ui');
8
- var chart_js = require('primereact/chart.js');
9
- var BookingChart_styled = require('./BookingChart.styled.cjs');
10
-
11
- var defaultOptions = {
12
- scaleFontColor: "black",
13
- legend: {
14
- display: false
15
- },
16
- plugins: {
17
- datalabels: {
18
- align: "centre",
19
- font: {
20
- weight: "700",
21
- size: 12,
22
- family: "Montserrat, sans-serif"
23
- },
24
- display: function display(ctx) {
25
- return ctx.dataset.data[ctx.dataIndex] > 0;
26
- }
27
- }
28
- },
29
- scales: {
30
- xAxes: [{
31
- gridLines: {
32
- labelString: "Date",
33
- display: false
34
- },
35
- ticks: {
36
- fontSize: 13,
37
- family: "Montserrat, sans-serif",
38
- fontWeight: "bold"
39
- },
40
- stacked: true
41
- }],
42
- yAxes: [{
43
- scaleLabel: {
44
- display: true,
45
- labelString: "Total bookings",
46
- fontFamily: "Montserrat, sans-serif",
47
- fontSize: 13,
48
- fontStyle: "600"
49
- },
50
- ticks: {
51
- min: 0,
52
- stepSize: 5,
53
- fontSize: 13,
54
- fontWeight: 500
55
- },
56
- gridLines: {
57
- display: false
58
- },
59
- stacked: true
60
- }]
61
- }
62
- };
63
- function BookingChart(_ref) {
64
- var data = _ref.data,
65
- labels = _ref.labels,
66
- _ref$mode = _ref.mode,
67
- mode = _ref$mode === void 0 ? "day" : _ref$mode,
68
- _ref$options = _ref.options,
69
- options = _ref$options === void 0 ? {} : _ref$options,
70
- _ref$onModeChange = _ref.onModeChange,
71
- onModeChange = _ref$onModeChange === void 0 ? void 0 : _ref$onModeChange;
72
- var legends = React.useMemo(function () {
73
- return data.map(function (_ref2) {
74
- var label = _ref2.label,
75
- backgroundColor = _ref2.backgroundColor;
76
- return [label, backgroundColor];
77
- }).filter(function (_ref3, i, items) {
78
- var _ref4 = _rollupPluginBabelHelpers.slicedToArray(_ref3, 1),
79
- label = _ref4[0];
80
- return items.findIndex(function (_ref5) {
81
- var _ref6 = _rollupPluginBabelHelpers.slicedToArray(_ref5, 1),
82
- l = _ref6[0];
83
- return l === label;
84
- }) === i;
85
- });
86
- }, [data]);
87
- return /* @__PURE__ */React.createElement(ui.Box, {
88
- display: "flex",
89
- direction: "column",
90
- gap: "16px",
91
- width: "100%"
92
- }, legends.length > 0 && /* @__PURE__ */React.createElement(BookingChart_styled.StyledBookingChartStack, null, legends.map(function (_ref7) {
93
- var _ref8 = _rollupPluginBabelHelpers.slicedToArray(_ref7, 2),
94
- label = _ref8[0],
95
- backgroundColor = _ref8[1];
96
- return /* @__PURE__ */React.createElement(BookingChart_styled.StyledBookingChartLegend, {
97
- key: label,
98
- color: backgroundColor
99
- }, label);
100
- })), /* @__PURE__ */React.createElement(ui.Box, {
101
- sx: {
102
- position: "relative",
103
- width: "100%",
104
- overflow: "hidden"
105
- }
106
- }, /* @__PURE__ */React.createElement(chart_js.Chart, {
107
- type: "bar",
108
- data: {
109
- labels: labels,
110
- datasets: data
111
- },
112
- options: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, defaultOptions), options)
113
- })), onModeChange && /* @__PURE__ */React.createElement(BookingChart_styled.StyledBookingChartStack, null, /* @__PURE__ */React.createElement(BookingChart_styled.StyledBookingChartButton, {
114
- onClick: onModeChange,
115
- active: mode === "day",
116
- value: "day"
117
- }, "Day"), /* @__PURE__ */React.createElement(BookingChart_styled.StyledBookingChartButton, {
118
- onClick: onModeChange,
119
- active: mode === "week",
120
- value: "week"
121
- }, "Week"), /* @__PURE__ */React.createElement(BookingChart_styled.StyledBookingChartButton, {
122
- onClick: onModeChange,
123
- active: mode === "month",
124
- value: "month"
125
- }, "Month")));
126
- }
127
-
128
- exports.default = BookingChart;
@@ -1,48 +0,0 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
4
- var react = require('@emotion/react');
5
- var styled = require('@emotion/styled');
6
-
7
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
8
- var StyledBookingChartStack = styled.div(_templateObject || (_templateObject = _rollupPluginBabelHelpers.taggedTemplateLiteral(["\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding: 0;\n margin: 0;\n list-style: none;\n font-size: 12px;\n justify-content: center;\n color: #000;\n width: 100%;\n"])));
9
- var StyledBookingChartLegend = styled("span", {
10
- shouldForwardProp: function shouldForwardProp(prop) {
11
- return !["color"].includes(prop);
12
- }
13
- })(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers.taggedTemplateLiteral(["\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 6px;\n\n &::before {\n content: '';\n display: inline-flex;\n width: 32px;\n height: 18px;\n background-color: ", ";\n border-radius: 4px;\n }\n"])), function (props) {
14
- return props.color;
15
- });
16
- var StyledBookingChartButton = styled("button", {
17
- shouldForwardProp: function shouldForwardProp(prop) {
18
- return !["color"].includes(prop);
19
- }
20
- })(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers.taggedTemplateLiteral(["\n && {\n font-weight: 500;\n display: flex;\n align-items: center;\n padding: 6px 10px;\n font-size: 14px;\n border-radius: 4px;\n font-family: inherit;\n color: ", ";\n border: 1px solid ", ";\n box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);\n background-color: ", ";\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n }\n"])), function (_ref) {
21
- var theme = _ref.theme;
22
- return theme.palette.primary.main;
23
- }, function (_ref2) {
24
- var theme = _ref2.theme;
25
- return theme.palette.primary.main;
26
- }, function (_ref3) {
27
- var active = _ref3.active,
28
- theme = _ref3.theme;
29
- return active ? "#CEF3ED" : theme.palette.background.paper;
30
- }, function (_ref4) {
31
- var active = _ref4.active,
32
- theme = _ref4.theme;
33
- return !active ? theme.palette.grey[100] : null;
34
- });
35
- var StyledPropertyDetailsBox = styled.div(_templateObject4 || (_templateObject4 = _rollupPluginBabelHelpers.taggedTemplateLiteral(["\n display: flex;\n width: 100%;\n align-items: flex-start;\n padding: 16px 24px 16px 20px;\n flex-direction: column;\n\n ", "\n\n @media print {\n flex-direction: row;\n align-items: center;\n }\n"])), function (_ref5) {
36
- var theme = _ref5.theme;
37
- return react.css(_templateObject5 || (_templateObject5 = _rollupPluginBabelHelpers.taggedTemplateLiteral(["\n ", " {\n flex-direction: row;\n align-items: center;\n }\n "])), theme.breakpoints.up("sm"));
38
- });
39
- var StyledPropertyAmenitiesBox = styled.div(_templateObject6 || (_templateObject6 = _rollupPluginBabelHelpers.taggedTemplateLiteral(["\n padding-right: 25px;\n display: flex;\n flex-direction: column;\n margin-top: 5px;\n\n gap: 18px;\n min-width: 170px;\n height: 100%;\n justify-content: space-between;\n\n ", "\n\n @media print {\n align-items: flex-end;\n }\n"])), function (_ref6) {
40
- var theme = _ref6.theme;
41
- return "\n @media (min-width: ".concat(theme.breakpoints.values.md, "px) {\n align-items: flex-end;\n }\n ");
42
- });
43
-
44
- exports.StyledBookingChartButton = StyledBookingChartButton;
45
- exports.StyledBookingChartLegend = StyledBookingChartLegend;
46
- exports.StyledBookingChartStack = StyledBookingChartStack;
47
- exports.StyledPropertyAmenitiesBox = StyledPropertyAmenitiesBox;
48
- exports.StyledPropertyDetailsBox = StyledPropertyDetailsBox;
@@ -1,63 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
6
- var React = require('react');
7
- var Stack = require('@mui/material/Stack');
8
- var ui = require('@tenancy.nz/ui');
9
-
10
- function ChartLegend(_ref) {
11
- var _ref$color = _ref.color,
12
- color = _ref$color === void 0 ? void 0 : _ref$color,
13
- _ref$count = _ref.count,
14
- count = _ref$count === void 0 ? void 0 : _ref$count,
15
- label = _ref.label,
16
- _ref$sx = _ref.sx,
17
- sx = _ref$sx === void 0 ? {} : _ref$sx;
18
- return /* @__PURE__ */React.createElement(Stack, {
19
- flexDirection: "row",
20
- alignItems: "center",
21
- gap: 1.5,
22
- sx: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, sx), {}, {
23
- userSelect: "none",
24
- fontSize: {
25
- xs: "8px",
26
- md: "12px"
27
- }
28
- })
29
- }, /* @__PURE__ */React.createElement(ui.Box, {
30
- bgcolor: color || "#D9D9D9",
31
- sx: {
32
- width: {
33
- xs: "20px",
34
- md: "32px"
35
- },
36
- height: {
37
- xs: "12px",
38
- md: "18px"
39
- },
40
- borderRadius: {
41
- xs: "2px",
42
- md: "4px"
43
- }
44
- }
45
- }), /* @__PURE__ */React.createElement(ui.Box, {
46
- xs: {
47
- minWidth: {
48
- xs: "20px",
49
- md: "24px"
50
- }
51
- }
52
- }, count !== void 0 && count >= 0 && /* @__PURE__ */React.createElement(ui.Text, {
53
- align: "center",
54
- weight: "700",
55
- variant: "inherit"
56
- }, count)), typeof label !== "string" ? label : /* @__PURE__ */React.createElement(ui.Text, {
57
- weight: "500",
58
- variant: "inherit",
59
- color: "primary"
60
- }, label));
61
- }
62
-
63
- exports.default = ChartLegend;
@@ -1,116 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
6
- var React = require('react');
7
- var doughnutChart = require('./doughnut-chart.cjs');
8
- var partnerLogo = require('./partner-logo.cjs');
9
- var general = require('../utils/helpers/general.cjs');
10
-
11
- var _excluded = ["bookMeCount", "oneRoofCount", "realEstateCount", "tradeMeCount", "manualCount", "websiteCount", "heading"];
12
- function AnalyticsDoughnutChart(_ref) {
13
- var _ref$bookMeCount = _ref.bookMeCount,
14
- bookMeCount = _ref$bookMeCount === void 0 ? 0 : _ref$bookMeCount,
15
- _ref$oneRoofCount = _ref.oneRoofCount,
16
- oneRoofCount = _ref$oneRoofCount === void 0 ? 0 : _ref$oneRoofCount,
17
- _ref$realEstateCount = _ref.realEstateCount,
18
- realEstateCount = _ref$realEstateCount === void 0 ? 0 : _ref$realEstateCount,
19
- _ref$tradeMeCount = _ref.tradeMeCount,
20
- tradeMeCount = _ref$tradeMeCount === void 0 ? 0 : _ref$tradeMeCount,
21
- _ref$manualCount = _ref.manualCount,
22
- manualCount = _ref$manualCount === void 0 ? 0 : _ref$manualCount,
23
- _ref$websiteCount = _ref.websiteCount,
24
- websiteCount = _ref$websiteCount === void 0 ? 0 : _ref$websiteCount,
25
- _ref$heading = _ref.heading,
26
- heading = _ref$heading === void 0 ? void 0 : _ref$heading,
27
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
28
- var data = [{
29
- color: "#0CC1A3",
30
- count: general.parseChartCount(bookMeCount),
31
- slug: "bookme",
32
- title: "Tenant Portal"
33
- },
34
- // {
35
- // color: '#000000',
36
- // count: parseChartCount(allhouseCount),
37
- // slug: 'allhouse',
38
- // title: 'Allhouse',
39
- // logo: (
40
- // <PartnerLogo
41
- // name="allhouse"
42
- // width={{xs: '48px', md: '59px'}}
43
- // height={{xs: '12px', md: '14px'}}
44
- // />
45
- // ),
46
- // },
47
- {
48
- color: "#FF8500",
49
- count: general.parseChartCount(oneRoofCount),
50
- slug: "oneroof",
51
- title: "OneRoof",
52
- logo: /* @__PURE__ */React.createElement(partnerLogo.default, {
53
- name: "oneroof",
54
- width: {
55
- xs: "52px",
56
- md: "66px"
57
- },
58
- height: {
59
- xs: "",
60
- md: "12px"
61
- }
62
- })
63
- }, {
64
- color: "#0098FF",
65
- count: general.parseChartCount(realEstateCount),
66
- slug: "realestate",
67
- title: "realestate.co.nz",
68
- logo: /* @__PURE__ */React.createElement(partnerLogo.default, {
69
- name: "realestate",
70
- width: {
71
- xs: "72px",
72
- md: "92px"
73
- },
74
- height: {
75
- xs: "12px",
76
- md: "14px"
77
- }
78
- })
79
- }, {
80
- color: "#4854D3",
81
- count: general.parseChartCount(tradeMeCount),
82
- slug: "trademe",
83
- title: "Trade Me",
84
- logo: /* @__PURE__ */React.createElement(partnerLogo.default, {
85
- name: "trademe",
86
- width: {
87
- xs: "64px",
88
- md: "90px"
89
- },
90
- height: {
91
- xs: "12px",
92
- md: "12px"
93
- }
94
- })
95
- }, {
96
- color: "#6D6D6D",
97
- count: general.parseChartCount(websiteCount),
98
- slug: "website",
99
- title: "Office Website"
100
- }, {
101
- color: "#D9D9D9",
102
- count: general.parseChartCount(manualCount),
103
- slug: "manual",
104
- title: "Manually Generated"
105
- }];
106
- return /* @__PURE__ */React.createElement(doughnutChart.default, _rollupPluginBabelHelpers.objectSpread2({
107
- data: data,
108
- heading: heading,
109
- size: {
110
- xs: "100px",
111
- md: "165px"
112
- }
113
- }, rest));
114
- }
115
-
116
- exports.default = AnalyticsDoughnutChart;
@@ -1,130 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
6
- var React = require('react');
7
- var reactUid = require('react-uid');
8
- var Stack = require('@mui/material/Stack');
9
- var ui = require('@tenancy.nz/ui');
10
- var chart_js = require('primereact/chart.js');
11
- var ChartLegend = require('./ChartLegend.cjs');
12
-
13
- function DoughnutChart(_ref) {
14
- var data = _ref.data,
15
- _ref$heading = _ref.heading,
16
- heading = _ref$heading === void 0 ? void 0 : _ref$heading,
17
- _ref$chartProps = _ref.chartProps,
18
- chartProps = _ref$chartProps === void 0 ? {} : _ref$chartProps,
19
- _ref$size = _ref.size,
20
- size = _ref$size === void 0 ? "164px" : _ref$size;
21
- if (!Array.isArray(data) || data.length === 0) {
22
- return null;
23
- }
24
- var chartLabels = data.map(function (d) {
25
- return d.title;
26
- });
27
- var chartValues = data.map(function (d) {
28
- return d.count;
29
- });
30
- var chartColors = data.map(function (d) {
31
- return d.color;
32
- });
33
- return /* @__PURE__ */React.createElement(Stack, {
34
- sx: {
35
- position: "relative"
36
- },
37
- alignItems: "center",
38
- gap: 4
39
- }, heading && /* @__PURE__ */React.createElement(ui.Heading, {
40
- as: "h4",
41
- color: "primary"
42
- }, heading), /* @__PURE__ */React.createElement(Stack, {
43
- flexDirection: "row",
44
- gap: {
45
- xs: 4,
46
- md: 12
47
- },
48
- alignItems: "center"
49
- }, /* @__PURE__ */React.createElement(ui.Box, {
50
- overflow: "hidden",
51
- position: "relative",
52
- maxWidth: "100%",
53
- sx: {
54
- width: size,
55
- height: size,
56
- "&& > canvas": {
57
- width: "100%",
58
- height: "100%"
59
- }
60
- }
61
- }, /* @__PURE__ */React.createElement(chart_js.Chart, _rollupPluginBabelHelpers.objectSpread2({
62
- type: "doughnut",
63
- data: {
64
- labels: chartLabels,
65
- datasets: [{
66
- data: chartValues,
67
- backgroundColor: chartColors,
68
- hoverBackgroundColor: chartColors,
69
- borderWidth: 0
70
- }]
71
- },
72
- options: {
73
- responsive: true,
74
- maintainAspectRatio: false,
75
- cutoutPercentage: 64,
76
- legend: {
77
- display: false
78
- },
79
- animation: {
80
- duration: 0
81
- },
82
- tooltips: {
83
- backgroundColor: "#0E0044",
84
- titleFontColor: "#fff",
85
- bodyFontColor: "#fff",
86
- xPadding: 8,
87
- yPadding: 8,
88
- bodyFontFamily: "Montserrat, sans-serif",
89
- bodyFontStyle: "semibold",
90
- bodyFontSize: 14,
91
- borderColor: "transparent",
92
- callbacks: {
93
- labelColor: function labelColor(tooltipItem, chart) {
94
- var dataset = chart.config.data.datasets[tooltipItem.datasetIndex];
95
- var color = dataset.backgroundColor[tooltipItem.index];
96
- return {
97
- borderColor: color,
98
- backgroundColor: color,
99
- borderWidth: 0,
100
- borderRadius: 5
101
- };
102
- },
103
- label: function label(_ref2) {
104
- var index = _ref2.index;
105
- return " ".concat(chartLabels[index], ": ").concat(parseInt(String(chartValues[index]), 10));
106
- }
107
- }
108
- }
109
- },
110
- style: {
111
- width: "100%",
112
- height: "100%"
113
- }
114
- }, chartProps))), /* @__PURE__ */React.createElement(Stack, {
115
- gap: 2
116
- }, data.map(function (item) {
117
- var color = item.color,
118
- count = item.count,
119
- title = item.title,
120
- logo = item.logo;
121
- return /* @__PURE__ */React.createElement(ChartLegend.default, {
122
- key: reactUid.uid(item),
123
- color: color,
124
- count: parseInt(String(count), 10),
125
- label: logo || title
126
- });
127
- }))));
128
- }
129
-
130
- exports.default = DoughnutChart;
@@ -1,173 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var reactUid = require('react-uid');
7
- var Stack = require('@mui/material/Stack');
8
- var useMediaQuery = require('@mui/material/useMediaQuery');
9
- var ui = require('@tenancy.nz/ui');
10
- var AnalyticsBox = require('./AnalyticsBox.cjs');
11
- var analyticsDoughnutChart = require('./analytics-doughnut-chart.cjs');
12
-
13
- var styles = {
14
- chartPaper: {
15
- height: "100%",
16
- width: "100%",
17
- alignItems: "center",
18
- justifyContent: "center",
19
- display: "flex"
20
- }
21
- };
22
- function PDFAnalyticsSection(_ref) {
23
- var viewingsCount = _ref.viewingsCount,
24
- bookingsCount = _ref.bookingsCount,
25
- attendeesCount = _ref.attendeesCount,
26
- cancellationsCount = _ref.cancellationsCount,
27
- applicationsCount = _ref.applicationsCount,
28
- averageRent = _ref.averageRent,
29
- textUsage = _ref.textUsage,
30
- agreementsCount = _ref.agreementsCount,
31
- agreementsFinalisedCount = _ref.agreementsFinalisedCount,
32
- filterDaysCount = _ref.filterDaysCount,
33
- allHouseEnquiriesCount = _ref.allHouseEnquiriesCount,
34
- bookMeEnquiriesCount = _ref.bookMeEnquiriesCount,
35
- oneRoofEnquiriesCount = _ref.oneRoofEnquiriesCount,
36
- realestateEnquiriesCount = _ref.realestateEnquiriesCount,
37
- tradeMeEnquiriesCount = _ref.tradeMeEnquiriesCount,
38
- manualEnquiryCount = _ref.manualEnquiryCount,
39
- websiteEnquiryCount = _ref.websiteEnquiryCount,
40
- allHouseBookingsCount = _ref.allHouseBookingsCount,
41
- bookMeBookingsCount = _ref.bookMeBookingsCount,
42
- oneRoofBookingsCount = _ref.oneRoofBookingsCount,
43
- realestateBookingsCount = _ref.realestateBookingsCount,
44
- tradeMeBookingsCount = _ref.tradeMeBookingsCount,
45
- manualBookingsCount = _ref.manualBookingsCount,
46
- websiteBookingsCount = _ref.websiteBookingsCount;
47
- var isXlUp = useMediaQuery(function (theme) {
48
- return theme.breakpoints.up("xl");
49
- });
50
- var stats = [{
51
- label: "Viewings",
52
- value: viewingsCount
53
- }, {
54
- label: "Bookings",
55
- value: bookingsCount
56
- }, {
57
- label: "Attendees",
58
- value: attendeesCount
59
- }, {
60
- label: "Cancellations",
61
- value: cancellationsCount
62
- }, {
63
- label: "Applications",
64
- value: applicationsCount
65
- }, {
66
- label: "Average Rent",
67
- value: "$".concat(averageRent)
68
- }, {
69
- label: "Text Usage Total",
70
- value: textUsage
71
- }];
72
- return /* @__PURE__ */React.createElement(Stack, {
73
- gap: 6
74
- }, /* @__PURE__ */React.createElement(ui.Grid, {
75
- container: true,
76
- spacing: 6
77
- }, /* @__PURE__ */React.createElement(ui.Grid, {
78
- container: true,
79
- item: true,
80
- spacing: 6,
81
- xs: 12
82
- }, /* @__PURE__ */React.createElement(ui.Grid, {
83
- item: true,
84
- xs: 6
85
- }, /* @__PURE__ */React.createElement(ui.Paper, {
86
- outlined: true,
87
- inset: "medium",
88
- overflow: false,
89
- sx: styles.chartPaper
90
- }, /* @__PURE__ */React.createElement(analyticsDoughnutChart.default, {
91
- tradeMeCount: tradeMeEnquiriesCount,
92
- bookMeCount: bookMeEnquiriesCount,
93
- manualCount: manualEnquiryCount,
94
- allhouseCount: allHouseEnquiriesCount,
95
- oneRoofCount: oneRoofEnquiriesCount,
96
- realEstateCount: realestateEnquiriesCount,
97
- websiteCount: websiteEnquiryCount,
98
- heading: "Number of enquiries"
99
- }))), /* @__PURE__ */React.createElement(ui.Grid, {
100
- item: true,
101
- xs: 6
102
- }, /* @__PURE__ */React.createElement(ui.Paper, {
103
- outlined: true,
104
- inset: "medium",
105
- overflow: false,
106
- sx: styles.chartPaper
107
- }, /* @__PURE__ */React.createElement(analyticsDoughnutChart.default, {
108
- tradeMeCount: tradeMeBookingsCount,
109
- bookMeCount: bookMeBookingsCount,
110
- manualCount: manualBookingsCount,
111
- allhouseCount: allHouseBookingsCount,
112
- oneRoofCount: oneRoofBookingsCount,
113
- realEstateCount: realestateBookingsCount,
114
- websiteCount: websiteBookingsCount,
115
- heading: "Number of bookings"
116
- })))), /* @__PURE__ */React.createElement(ui.Grid, {
117
- item: true,
118
- container: true,
119
- xs: 12,
120
- spacing: 6
121
- }, /* @__PURE__ */React.createElement(ui.Grid, {
122
- item: true,
123
- xs: 6
124
- }, /* @__PURE__ */React.createElement(AnalyticsBox.default, {
125
- outlined: true,
126
- label: /* @__PURE__ */React.createElement("strong", null, "Converted Properties"),
127
- amount: agreementsCount,
128
- width: "100%",
129
- height: isXlUp ? "157px" : "auto",
130
- text: /* @__PURE__ */React.createElement(ui.Text, {
131
- as: "span",
132
- variant: "inherit"
133
- }, "Properties that have had a viewing in the last", " ", /* @__PURE__ */React.createElement("strong", null, filterDaysCount), " days where an agreement has been ", /* @__PURE__ */React.createElement("strong", null, "created"))
134
- })), /* @__PURE__ */React.createElement(ui.Grid, {
135
- item: true,
136
- xs: 6,
137
- sx: {
138
- display: "flex",
139
- alignItems: "flex-end"
140
- }
141
- }, /* @__PURE__ */React.createElement(AnalyticsBox.default, {
142
- outlined: true,
143
- label: /* @__PURE__ */React.createElement("strong", null, "Converted Properties"),
144
- amount: agreementsFinalisedCount,
145
- width: "100%",
146
- height: isXlUp ? "157px" : "auto",
147
- text: /* @__PURE__ */React.createElement(ui.Text, {
148
- as: "span",
149
- variant: "inherit"
150
- }, "Properties that have had a viewing in the last", " ", /* @__PURE__ */React.createElement("strong", null, " ", filterDaysCount), " days where an agreement has been ", /* @__PURE__ */React.createElement("strong", null, "finalised"))
151
- })))), /* @__PURE__ */React.createElement(ui.Grid, {
152
- container: true,
153
- spacing: {
154
- xs: 3,
155
- md: 6
156
- }
157
- }, stats.map(function (stat, i) {
158
- return /* @__PURE__ */React.createElement(ui.Grid, {
159
- item: true,
160
- key: reactUid.uid(stat, i),
161
- xs: 3,
162
- md: 2
163
- }, /* @__PURE__ */React.createElement(AnalyticsBox.default, {
164
- outlined: true,
165
- label: stat.label,
166
- amount: stat.value,
167
- width: "100%",
168
- height: isXlUp ? "157px" : "124px"
169
- }));
170
- })));
171
- }
172
-
173
- exports.default = PDFAnalyticsSection;
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- var parseChartCount = function parseChartCount(value) {
4
- if (Number.isNaN(Number.parseInt(String(value), 10))) {
5
- return 0;
6
- }
7
- return Math.max(Number(value), 1e-3);
8
- };
9
-
10
- exports.parseChartCount = parseChartCount;