@servicetitan/marketing-ui 1.13.0 → 1.16.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/CHANGELOG.md +328 -0
- package/dist/components/ads/ads-stat.js +13 -18
- package/dist/components/ads/ads-stat.js.map +1 -1
- package/dist/components/charts/funnel-chart/components/funnel-chart.js +15 -41
- package/dist/components/charts/funnel-chart/components/funnel-chart.js.map +1 -1
- package/dist/components/charts/funnel-chart/components/funnel-svg.js +9 -16
- package/dist/components/charts/funnel-chart/components/funnel-svg.js.map +1 -1
- package/dist/components/charts/funnel-chart/funnel-chart.stories.js +11 -14
- package/dist/components/charts/funnel-chart/funnel-chart.stories.js.map +1 -1
- package/dist/components/charts/funnel-chart/index.js +2 -16
- package/dist/components/charts/funnel-chart/index.js.map +1 -1
- package/dist/components/charts/funnel-chart/utils/const.js +2 -5
- package/dist/components/charts/funnel-chart/utils/const.js.map +1 -1
- package/dist/components/charts/funnel-chart/utils/interface.js +1 -2
- package/dist/components/charts/line-chart/components/body.js +26 -51
- package/dist/components/charts/line-chart/components/body.js.map +1 -1
- package/dist/components/charts/line-chart/components/container.js +12 -15
- package/dist/components/charts/line-chart/components/container.js.map +1 -1
- package/dist/components/charts/line-chart/components/hover-popover.js +20 -45
- package/dist/components/charts/line-chart/components/hover-popover.js.map +1 -1
- package/dist/components/charts/line-chart/components/sidebar.js +9 -35
- package/dist/components/charts/line-chart/components/sidebar.js.map +1 -1
- package/dist/components/charts/line-chart/components/stuff.js +13 -41
- package/dist/components/charts/line-chart/components/stuff.js.map +1 -1
- package/dist/components/charts/line-chart/components/svg-bars.js +14 -17
- package/dist/components/charts/line-chart/components/svg-bars.js.map +1 -1
- package/dist/components/charts/line-chart/components/svg-body.js +15 -41
- package/dist/components/charts/line-chart/components/svg-body.js.map +1 -1
- package/dist/components/charts/line-chart/components/svg-lines.js +11 -33
- package/dist/components/charts/line-chart/components/svg-lines.js.map +1 -1
- package/dist/components/charts/line-chart/index.js +2 -14
- package/dist/components/charts/line-chart/index.js.map +1 -1
- package/dist/components/charts/line-chart/line-chart.stories.js +19 -27
- package/dist/components/charts/line-chart/line-chart.stories.js.map +1 -1
- package/dist/components/charts/line-chart/stores/line-chart.store.js +20 -23
- package/dist/components/charts/line-chart/stores/line-chart.store.js.map +1 -1
- package/dist/components/charts/line-chart/stores/svg.store.js +10 -13
- package/dist/components/charts/line-chart/stores/svg.store.js.map +1 -1
- package/dist/components/charts/line-chart/utils/const.js +2 -6
- package/dist/components/charts/line-chart/utils/const.js.map +1 -1
- package/dist/components/charts/line-chart/utils/formatters.js +7 -11
- package/dist/components/charts/line-chart/utils/formatters.js.map +1 -1
- package/dist/components/charts/line-chart/utils/interfaces.js +1 -2
- package/dist/components/charts/line-chart/utils/internal-interfaces.js +1 -2
- package/dist/components/charts/line-chart/utils/key.js +1 -5
- package/dist/components/charts/line-chart/utils/key.js.map +1 -1
- package/dist/components/charts/line-chart/utils/labels.js +19 -26
- package/dist/components/charts/line-chart/utils/labels.js.map +1 -1
- package/dist/components/charts/pie-chart/components/pie-chart.js +12 -38
- package/dist/components/charts/pie-chart/components/pie-chart.js.map +1 -1
- package/dist/components/charts/pie-chart/components/pie.js +20 -27
- package/dist/components/charts/pie-chart/components/pie.js.map +1 -1
- package/dist/components/charts/pie-chart/index.js +1 -5
- package/dist/components/charts/pie-chart/index.js.map +1 -1
- package/dist/components/charts/pie-chart/pie-chart.stories.js +11 -18
- package/dist/components/charts/pie-chart/pie-chart.stories.js.map +1 -1
- package/dist/components/charts/pie-chart/utils/const.js +5 -9
- package/dist/components/charts/pie-chart/utils/const.js.map +1 -1
- package/dist/components/charts/pie-chart/utils/interface.js +1 -2
- package/dist/components/image-cropper/image-cropper.js +17 -23
- package/dist/components/image-cropper/image-cropper.js.map +1 -1
- package/dist/components/image-cropper/image-cropper.stories.js +10 -14
- package/dist/components/image-cropper/image-cropper.stories.js.map +1 -1
- package/dist/components/stat/stat-card.js +15 -42
- package/dist/components/stat/stat-card.js.map +1 -1
- package/dist/components/stat/stat-cards.stories.js +10 -13
- package/dist/components/stat/stat-cards.stories.js.map +1 -1
- package/dist/components/stat/stat-extended-card.js +9 -35
- package/dist/components/stat/stat-extended-card.js.map +1 -1
- package/dist/components/stat/stat-extended-card.stories.js +8 -11
- package/dist/components/stat/stat-extended-card.stories.js.map +1 -1
- package/dist/components/ui/action-button/action-button.d.ts +14 -0
- package/dist/components/ui/action-button/action-button.d.ts.map +1 -0
- package/dist/components/ui/action-button/action-button.js +32 -0
- package/dist/components/ui/action-button/action-button.js.map +1 -0
- package/dist/components/ui/action-button/action-button.module.less +51 -0
- package/dist/components/ui/action-button/action-button.stories.d.ts +10 -0
- package/dist/components/ui/action-button/action-button.stories.d.ts.map +1 -0
- package/dist/components/ui/action-button/action-button.stories.js +11 -0
- package/dist/components/ui/action-button/action-button.stories.js.map +1 -0
- package/dist/components/ui/centered-spinner.js +5 -12
- package/dist/components/ui/centered-spinner.js.map +1 -1
- package/dist/components/ui/centered-spinner.stories.js +8 -11
- package/dist/components/ui/centered-spinner.stories.js.map +1 -1
- package/dist/components/ui/date-range-picker/date-range-picker.js +11 -36
- package/dist/components/ui/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/components/ui/date-range-picker/date-range-picker.stories.js +9 -12
- package/dist/components/ui/date-range-picker/date-range-picker.stories.js.map +1 -1
- package/dist/components/ui/disabled-button.js +4 -8
- package/dist/components/ui/disabled-button.js.map +1 -1
- package/dist/components/ui/line-text/index.js +1 -13
- package/dist/components/ui/line-text/index.js.map +1 -1
- package/dist/components/ui/line-text/line-text-body.stories.js +7 -10
- package/dist/components/ui/line-text/line-text-body.stories.js.map +1 -1
- package/dist/components/ui/line-text/line-text-head.stories.js +7 -10
- package/dist/components/ui/line-text/line-text-head.stories.js.map +1 -1
- package/dist/components/ui/line-text/line-text.js +15 -42
- package/dist/components/ui/line-text/line-text.js.map +1 -1
- package/dist/components/ui/title-popover/title-popover.d.ts +17 -0
- package/dist/components/ui/title-popover/title-popover.d.ts.map +1 -0
- package/dist/components/ui/title-popover/title-popover.js +96 -0
- package/dist/components/ui/title-popover/title-popover.js.map +1 -0
- package/dist/components/ui/title-popover/title-popover.module.less +10 -0
- package/dist/components/ui/title-popover/title-popover.stories.d.ts +11 -0
- package/dist/components/ui/title-popover/title-popover.stories.d.ts.map +1 -0
- package/dist/components/ui/title-popover/title-popover.stories.js +17 -0
- package/dist/components/ui/title-popover/title-popover.stories.js.map +1 -0
- package/dist/index.js +12 -24
- package/dist/index.js.map +1 -1
- package/dist/utils/ads-texts.d.ts +1 -1
- package/dist/utils/ads-texts.d.ts.map +1 -1
- package/dist/utils/ads-texts.js +3 -5
- package/dist/utils/ads-texts.js.map +1 -1
- package/dist/utils/date/__mocks__/date-mock.js +1 -5
- package/dist/utils/date/__mocks__/date-mock.js.map +1 -1
- package/dist/utils/date/date-range-picker-options.js +7 -12
- package/dist/utils/date/date-range-picker-options.js.map +1 -1
- package/dist/utils/date/date-range-picker-state.js +6 -10
- package/dist/utils/date/date-range-picker-state.js.map +1 -1
- package/dist/utils/date/date-tenant.js +1 -5
- package/dist/utils/date/date-tenant.js.map +1 -1
- package/dist/utils/date/date.js +3 -9
- package/dist/utils/date/date.js.map +1 -1
- package/dist/utils/date/index.js +4 -16
- package/dist/utils/date/index.js.map +1 -1
- package/dist/utils/format-big-numbers.js +1 -5
- package/dist/utils/format-big-numbers.js.map +1 -1
- package/dist/utils/formatters.js +13 -41
- package/dist/utils/formatters.js.map +1 -1
- package/dist/utils/helpers.js +2 -7
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/string-case.js +2 -7
- package/dist/utils/string-case.js.map +1 -1
- package/dist/utils/use-client-rect.js +7 -11
- package/dist/utils/use-client-rect.js.map +1 -1
- package/dist/utils/use-target-range-store.d.ts +7 -0
- package/dist/utils/use-target-range-store.d.ts.map +1 -0
- package/dist/utils/use-target-range-store.js +9 -0
- package/dist/utils/use-target-range-store.js.map +1 -0
- package/package.json +2 -2
- package/src/components/charts/pie-chart/utils/const.ts +1 -1
- package/src/components/ui/action-button/action-button.module.less +51 -0
- package/src/components/ui/action-button/action-button.module.less.d.ts +9 -0
- package/src/components/ui/action-button/action-button.stories.tsx +19 -0
- package/src/components/ui/action-button/action-button.tsx +82 -0
- package/src/components/ui/title-popover/title-popover.module.less +10 -0
- package/src/components/ui/title-popover/title-popover.module.less.d.ts +3 -0
- package/src/components/ui/title-popover/title-popover.stories.tsx +28 -0
- package/src/components/ui/title-popover/title-popover.tsx +86 -0
- package/src/utils/ads-texts.tsx +4 -1
- package/src/utils/use-target-range-store.ts +17 -0
|
@@ -1,60 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.Body = void 0;
|
|
26
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
-
const react_1 = require("react");
|
|
28
|
-
const mobx_react_1 = require("mobx-react");
|
|
29
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
30
|
-
const design_system_1 = require("@servicetitan/design-system");
|
|
31
|
-
const react_ioc_1 = require("@servicetitan/react-ioc");
|
|
32
|
-
const use_client_rect_1 = require("../../../../utils/use-client-rect");
|
|
33
|
-
const line_chart_store_1 = require("../stores/line-chart.store");
|
|
34
|
-
const svg_store_1 = require("../stores/svg.store");
|
|
35
|
-
const labels_1 = require("../utils/labels");
|
|
36
|
-
const sidebar_1 = require("./sidebar");
|
|
37
|
-
const stuff_1 = require("./stuff");
|
|
38
|
-
const svg_body_1 = require("./svg-body");
|
|
39
|
-
const hover_popover_1 = require("./hover-popover");
|
|
40
|
-
const Styles = __importStar(require("./body.module.less"));
|
|
41
|
-
exports.Body = (0, react_ioc_1.provide)({ singletons: [svg_store_1.SvgStore] })((0, mobx_react_1.observer)(({ classNameTitle }) => {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo, Fragment } from 'react';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { Stack } from '@servicetitan/design-system';
|
|
6
|
+
import { provide, useDependencies } from '@servicetitan/react-ioc';
|
|
7
|
+
import { useClientRect } from '../../../../utils/use-client-rect';
|
|
8
|
+
import { LineChartStore } from '../stores/line-chart.store';
|
|
9
|
+
import { SvgStore } from '../stores/svg.store';
|
|
10
|
+
import { getXLabels } from '../utils/labels';
|
|
11
|
+
import { Sidebar } from './sidebar';
|
|
12
|
+
import { MetricsTitle, XAxisLabels } from './stuff';
|
|
13
|
+
import { SvgBody, SvgBodyHover } from './svg-body';
|
|
14
|
+
import { HoverPopover } from './hover-popover';
|
|
15
|
+
import * as Styles from './body.module.less';
|
|
16
|
+
export const Body = provide({ singletons: [SvgStore] })(observer(({ classNameTitle }) => {
|
|
42
17
|
var _a, _b, _c;
|
|
43
|
-
const [{ display, metrics, left, right, periods, resolution, setHoveredIndex }, svgStore] =
|
|
44
|
-
|
|
18
|
+
const [{ display, metrics, left, right, periods, resolution, setHoveredIndex }, svgStore] = useDependencies(LineChartStore, SvgStore);
|
|
19
|
+
useEffect(() => {
|
|
45
20
|
var _a, _b;
|
|
46
21
|
svgStore.init(periods.length, metrics, (_a = left === null || left === void 0 ? void 0 : left.maxValue) !== null && _a !== void 0 ? _a : 0, (_b = right === null || right === void 0 ? void 0 : right.maxValue) !== null && _b !== void 0 ? _b : 0);
|
|
47
22
|
}, [svgStore, periods, metrics, left, right]);
|
|
48
|
-
const [rect, ref] =
|
|
49
|
-
const onBarHover =
|
|
50
|
-
const onBarLeave =
|
|
51
|
-
const labels =
|
|
52
|
-
return ((
|
|
23
|
+
const [rect, ref] = useClientRect();
|
|
24
|
+
const onBarHover = useCallback((ind) => setHoveredIndex(ind, true), [setHoveredIndex]);
|
|
25
|
+
const onBarLeave = useCallback((ind) => setHoveredIndex(ind, false), [setHoveredIndex]);
|
|
26
|
+
const labels = useMemo(() => { var _a; return (display.xLabels ? getXLabels(periods, resolution, (_a = rect === null || rect === void 0 ? void 0 : rect.width) !== null && _a !== void 0 ? _a : 0) : []); }, [display, periods, resolution, rect]);
|
|
27
|
+
return (_jsxs("div", Object.assign({ className: "d-f flex-column" }, { children: [_jsxs(Stack, Object.assign({ alignItems: "stretch" }, { children: [left && _jsx(Sidebar, { settings: left, classNameTitle: classNameTitle }), _jsx(Stack.Item, Object.assign({ fill: true }, { children: _jsx("div", Object.assign({ ref: ref, className: classNames(Styles.chartWrapper, 'border-bottom', {
|
|
53
28
|
'border-left': !!left && display.yLeft,
|
|
54
29
|
'border-right': !!right && display.yRight,
|
|
55
|
-
}) }, { children: periods.length ? ((
|
|
30
|
+
}) }, { children: periods.length ? (_jsxs(Fragment, { children: [periods.length !== labels.length && (_jsx("div", Object.assign({ className: Styles.labelBorders }, { children: labels
|
|
56
31
|
.map(([text, flex], ind) => [flex, `${ind}${text}`])
|
|
57
|
-
.map(([flex, key]) => ((
|
|
58
|
-
.length }
|
|
32
|
+
.map(([flex, key]) => (_jsx("div", { style: { flex } }, key))) }))), _jsx(SvgBody, { horizontalGrid: display.yGrid, metrics: metrics }), _jsx(HoverPopover, {}), _jsx(SvgBodyHover, { onValueHover: onBarHover, onValueLeave: onBarLeave })] })) : (_jsx(Stack, Object.assign({ className: "h-100", justifyContent: "center", alignItems: "center" }, { children: "No Data" }))) })) })), right && _jsx(Sidebar, { settings: right, right: true, classNameTitle: classNameTitle })] })), display.xLabels && (_jsx(XAxisLabels, { labels: labels, width: (_a = rect === null || rect === void 0 ? void 0 : rect.width) !== null && _a !== void 0 ? _a : 0, left: (_b = left === null || left === void 0 ? void 0 : left.width) !== null && _b !== void 0 ? _b : 0, right: (_c = right === null || right === void 0 ? void 0 : right.width) !== null && _c !== void 0 ? _c : 0, labelsMerged: periods.length !== labels.length, hasBars: !!metrics.filter(m => m.type === 'bar' || m.type === 'stacked-bar')
|
|
33
|
+
.length })), display.metricsTitlePosition === 'bottom' && (_jsx(Stack, Object.assign({ direction: "row", justifyContent: "center", className: "p-3" }, { children: _jsx(MetricsTitle, { metrics: metrics }) })))] })));
|
|
59
34
|
}));
|
|
60
35
|
//# sourceMappingURL=body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/body.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/body.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const [{ init, isInit }] = (0, react_ioc_1.useDependencies)(line_chart_store_1.LineChartStore);
|
|
14
|
-
(0, react_1.useEffect)(() => init(props), [init, props]);
|
|
15
|
-
return isInit ? (0, jsx_runtime_1.jsx)(body_1.Body, { classNameTitle: props.classNameTitle }, void 0) : null;
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
4
|
+
import { provide, useDependencies } from '@servicetitan/react-ioc';
|
|
5
|
+
import { LineChartStore } from '../stores/line-chart.store';
|
|
6
|
+
import { Body } from './body';
|
|
7
|
+
export const LineChart = provide({
|
|
8
|
+
singletons: [LineChartStore],
|
|
9
|
+
})(observer(props => {
|
|
10
|
+
const [{ init, isInit }] = useDependencies(LineChartStore);
|
|
11
|
+
useEffect(() => init(props), [init, props]);
|
|
12
|
+
return isInit ? _jsx(Body, { classNameTitle: props.classNameTitle }) : null;
|
|
16
13
|
}));
|
|
17
14
|
//# sourceMappingURL=container.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/container.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/container.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAM,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAuB,OAAO,CAAC;IACjD,UAAU,EAAE,CAAC,cAAc,CAAC;CAC/B,CAAC,CACE,QAAQ,CAAC,KAAK,CAAC,EAAE;IACb,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,cAAc,EAAE,KAAK,CAAC,cAAc,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC,CAAC,CACL,CAAC"}
|
|
@@ -1,47 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.HoverPopover = void 0;
|
|
26
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
-
const react_1 = require("react");
|
|
28
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
29
|
-
const mobx_react_1 = require("mobx-react");
|
|
30
|
-
const react_ioc_1 = require("@servicetitan/react-ioc");
|
|
31
|
-
const design_system_1 = require("@servicetitan/design-system");
|
|
32
|
-
const line_chart_store_1 = require("../stores/line-chart.store");
|
|
33
|
-
const svg_store_1 = require("../stores/svg.store");
|
|
34
|
-
const formatters_1 = require("../utils/formatters");
|
|
35
|
-
const labels_1 = require("../utils/labels");
|
|
36
|
-
const Styles = __importStar(require("./hover-popover.module.less"));
|
|
37
|
-
const stuff_1 = require("./stuff");
|
|
38
|
-
exports.HoverPopover = (0, mobx_react_1.observer)(() => {
|
|
39
|
-
const [{ periods, resolution, hoveredIndex, metrics, display }, svgStore] = (0, react_ioc_1.useDependencies)(line_chart_store_1.LineChartStore, svg_store_1.SvgStore);
|
|
40
|
-
const formatDateTitle = (0, react_1.useMemo)(() => labels_1.periodDateTitleFormatter[resolution], [resolution]);
|
|
41
|
-
const formatValue = (0, react_1.useCallback)((title, value, isRight) => (0, formatters_1.getFormatter)(isRight ? display.metricsRightFormat : display.metricsLeftFormat)(value) +
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useMemo, Fragment } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
5
|
+
import { useDependencies } from '@servicetitan/react-ioc';
|
|
6
|
+
import { BodyText } from '@servicetitan/design-system';
|
|
7
|
+
import { LineChartStore } from '../stores/line-chart.store';
|
|
8
|
+
import { SvgStore } from '../stores/svg.store';
|
|
9
|
+
import { getFormatter } from '../utils/formatters';
|
|
10
|
+
import { periodDateTitleFormatter } from '../utils/labels';
|
|
11
|
+
import * as Styles from './hover-popover.module.less';
|
|
12
|
+
import { ColorTag } from './stuff';
|
|
13
|
+
export const HoverPopover = observer(() => {
|
|
14
|
+
const [{ periods, resolution, hoveredIndex, metrics, display }, svgStore] = useDependencies(LineChartStore, SvgStore);
|
|
15
|
+
const formatDateTitle = useMemo(() => periodDateTitleFormatter[resolution], [resolution]);
|
|
16
|
+
const formatValue = useCallback((title, value, isRight) => getFormatter(isRight ? display.metricsRightFormat : display.metricsLeftFormat)(value) +
|
|
42
17
|
' ' +
|
|
43
18
|
title, [display]);
|
|
44
|
-
const popoverStyle =
|
|
19
|
+
const popoverStyle = useMemo(() => {
|
|
45
20
|
const pos = svgStore.periodX(hoveredIndex);
|
|
46
21
|
if (hoveredIndex < periods.length / 2) {
|
|
47
22
|
return { left: `${svgStore.fpx(pos + 2)}%` };
|
|
@@ -53,9 +28,9 @@ exports.HoverPopover = (0, mobx_react_1.observer)(() => {
|
|
|
53
28
|
}
|
|
54
29
|
const period = periods[hoveredIndex];
|
|
55
30
|
const partialWeek = !!period.partial;
|
|
56
|
-
return ((
|
|
31
|
+
return (_jsxs(Fragment, { children: [_jsx("div", { className: Styles.line, style: { left: svgStore.fpx(svgStore.periodX(hoveredIndex)) + '%' } }), _jsxs("div", Object.assign({ className: classNames(Styles.popover, 'bg-white border border-radius-1 p-1'), style: popoverStyle }, { children: [_jsx(BodyText, Object.assign({ size: "small", bold: true }, { children: formatDateTitle(period) })), partialWeek && (_jsx(BodyText, Object.assign({ size: "xsmall", subdued: true }, { children: "Partial week" }))), metrics.map(m => {
|
|
57
32
|
var _a;
|
|
58
|
-
return m.values[hoveredIndex] !== undefined && ((
|
|
59
|
-
})] })
|
|
33
|
+
return m.values[hoveredIndex] !== undefined && (_jsx(ColorTag, { label: formatValue(m.title, m.values[hoveredIndex], m.isRight), color: m.color, className: "m-t-1", dashed: (_a = m.opts) === null || _a === void 0 ? void 0 : _a.dashed, small: true }, m.title));
|
|
34
|
+
})] }))] }));
|
|
60
35
|
});
|
|
61
36
|
//# sourceMappingURL=hover-popover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-popover.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/hover-popover.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hover-popover.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/hover-popover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.Sidebar = void 0;
|
|
26
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
28
|
-
const design_system_1 = require("@servicetitan/design-system");
|
|
29
|
-
const Styles = __importStar(require("./sidebar.module.less"));
|
|
30
|
-
const key_1 = require("../utils/key");
|
|
31
|
-
const Sidebar = ({ settings, right, className, classNameTitle }) => {
|
|
32
|
-
const sidebarTitle = settings.title ? ((0, jsx_runtime_1.jsx)(design_system_1.Stack.Item, Object.assign({ className: (0, classnames_1.default)(Styles.sidebarTitle, Styles.sidebarTitleText, classNameTitle !== null && classNameTitle !== void 0 ? classNameTitle : Styles.sidebarTitleDefault) }, { children: settings.title || '' }), void 0)) : undefined;
|
|
33
|
-
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, classnames_1.default)('d-f flex-row', className, Styles.sidebar, sidebarTitle ? Styles.sidebarWithTitle : Styles.sidebarNoTitle, right ? Styles.sidebarRight : Styles.sidebarLeft, {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { Stack } from '@servicetitan/design-system';
|
|
4
|
+
import * as Styles from './sidebar.module.less';
|
|
5
|
+
import { keyVal } from '../utils/key';
|
|
6
|
+
export const Sidebar = ({ settings, right, className, classNameTitle }) => {
|
|
7
|
+
const sidebarTitle = settings.title ? (_jsx(Stack.Item, Object.assign({ className: classNames(Styles.sidebarTitle, Styles.sidebarTitleText, classNameTitle !== null && classNameTitle !== void 0 ? classNameTitle : Styles.sidebarTitleDefault) }, { children: settings.title || '' }))) : undefined;
|
|
8
|
+
return (_jsxs("div", Object.assign({ className: classNames('d-f flex-row', className, Styles.sidebar, sidebarTitle ? Styles.sidebarWithTitle : Styles.sidebarNoTitle, right ? Styles.sidebarRight : Styles.sidebarLeft, {
|
|
34
9
|
[Styles.sidebarNoTitle]: !sidebarTitle,
|
|
35
|
-
}), style: { width: `${settings.width}px` } }, { children: [!right && sidebarTitle, (
|
|
10
|
+
}), style: { width: `${settings.width}px` } }, { children: [!right && sidebarTitle, _jsxs(Stack, Object.assign({ className: Styles.sidebarValues, direction: "column", justifyContent: "space-evenly" }, { children: [_jsx("div", { className: Styles.labelGap }), settings.values.map((val, i) => (_jsx("div", Object.assign({ className: Styles.label }, { children: val }), keyVal(val, i)))), _jsx("div", { className: Styles.labelGap })] })), !!right && sidebarTitle] })));
|
|
36
11
|
};
|
|
37
|
-
exports.Sidebar = Sidebar;
|
|
38
12
|
//# sourceMappingURL=sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/sidebar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/sidebar.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAStC,MAAM,CAAC,MAAM,OAAO,GAAqB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;IACxF,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAClC,KAAC,KAAK,CAAC,IAAI,kBACP,SAAS,EAAE,UAAU,CACjB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,gBAAgB,EACvB,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,MAAM,CAAC,mBAAmB,CAC/C,gBAEA,QAAQ,CAAC,KAAK,IAAI,EAAE,IACZ,CAChB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACH,6BACI,SAAS,EAAE,UAAU,CACjB,cAAc,EACd,SAAS,EACT,MAAM,CAAC,OAAO,EACd,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAC9D,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAChD;YACI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,YAAY;SACzC,CACJ,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,iBAEtC,CAAC,KAAK,IAAI,YAAY,EACvB,MAAC,KAAK,kBACF,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,SAAS,EAAC,QAAQ,EAClB,cAAc,EAAC,cAAc,iBAE7B,cAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,GAAI,EAClC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7B,4BAA0B,SAAS,EAAE,MAAM,CAAC,KAAK,gBAC5C,GAAG,KADE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAElB,CACT,CAAC,EACF,cAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,GAAI,KAC/B,EACP,CAAC,CAAC,KAAK,IAAI,YAAY,KACtB,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,48 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.XAxisLabels = exports.MetricsTitle = exports.ColorTag = void 0;
|
|
26
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
-
const react_1 = require("react");
|
|
28
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
29
|
-
const design_system_1 = require("@servicetitan/design-system");
|
|
30
|
-
const Styles = __importStar(require("./stuff.module.less"));
|
|
31
|
-
const ColorTag = ({ label, color, className, small, dashed }) => ((0, jsx_runtime_1.jsxs)(design_system_1.Stack, Object.assign({ alignItems: "center", className: className }, { children: [(0, jsx_runtime_1.jsx)("div", { style: dashed
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { BodyText, Stack } from '@servicetitan/design-system';
|
|
5
|
+
import * as Styles from './stuff.module.less';
|
|
6
|
+
export const ColorTag = ({ label, color, className, small, dashed }) => (_jsxs(Stack, Object.assign({ alignItems: "center", className: className }, { children: [_jsx("div", { style: dashed
|
|
32
7
|
? {
|
|
33
8
|
borderColor: color,
|
|
34
9
|
}
|
|
35
10
|
: {
|
|
36
11
|
backgroundColor: color,
|
|
37
|
-
}, className: (
|
|
38
|
-
|
|
39
|
-
const MetricsTitle = ({ metrics }) => ((0, jsx_runtime_1.jsx)(design_system_1.Stack, Object.assign({ alignItems: "center" }, { children: metrics.map(m => {
|
|
12
|
+
}, className: classNames(Styles.colorTag, dashed && Styles.colorTagDashed, small && Styles.colorTagSmall) }), _jsx(BodyText, Object.assign({ size: small ? 'xsmall' : 'small' }, { children: label }))] })));
|
|
13
|
+
export const MetricsTitle = ({ metrics }) => (_jsx(Stack, Object.assign({ alignItems: "center" }, { children: metrics.map(m => {
|
|
40
14
|
var _a;
|
|
41
|
-
return ((
|
|
42
|
-
}) })
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
const data = (0, react_1.useMemo)(() => {
|
|
15
|
+
return (_jsx(ColorTag, { label: m.title, color: m.color, dashed: (_a = m.opts) === null || _a === void 0 ? void 0 : _a.dashed, className: "m-r-4" }, m.id));
|
|
16
|
+
}) })));
|
|
17
|
+
export const XAxisLabels = ({ labels, width, left, right, labelsMerged, hasBars }) => {
|
|
18
|
+
const data = useMemo(() => {
|
|
46
19
|
const styles = {};
|
|
47
20
|
const labelsMapped = labels.map(([text, flex], ind) => ({
|
|
48
21
|
text,
|
|
@@ -89,7 +62,6 @@ const XAxisLabels = ({ labels, width, left, right, labelsMerged, hasBars }) => {
|
|
|
89
62
|
styles,
|
|
90
63
|
};
|
|
91
64
|
}, [labels, left, right, labelsMerged, width, hasBars]);
|
|
92
|
-
return ((
|
|
65
|
+
return (_jsx("div", Object.assign({ style: data.styles }, { children: _jsx(Stack, Object.assign({ direction: "row", justifyContent: "space-between", alignItems: "center", className: "m-t-1" }, { children: data.labels.map(({ text, flex, key, className }) => (_jsx("div", Object.assign({ style: { flex }, className: className }, { children: _jsx(BodyText, Object.assign({ size: "xsmall", className: classNames(Styles.xAxisLabel, 'ta-center') }, { children: text })) }), key))) })) })));
|
|
93
66
|
};
|
|
94
|
-
exports.XAxisLabels = XAxisLabels;
|
|
95
67
|
//# sourceMappingURL=stuff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stuff.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/stuff.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stuff.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/stuff.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const svg_store_1 = require("../stores/svg.store");
|
|
9
|
-
exports.SvgBars = (0, mobx_react_1.observer)(({ metrics, isStackedBarChart }) => {
|
|
10
|
-
const [store] = (0, react_ioc_1.useDependencies)(svg_store_1.SvgStore);
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
3
|
+
import { useDependencies } from '@servicetitan/react-ioc';
|
|
4
|
+
import { keyVal } from '../utils/key';
|
|
5
|
+
import { SvgStore } from '../stores/svg.store';
|
|
6
|
+
export const SvgBars = observer(({ metrics, isStackedBarChart }) => {
|
|
7
|
+
const [store] = useDependencies(SvgStore);
|
|
11
8
|
const { fpx, fpy, barWidth, length } = store;
|
|
12
9
|
const barWidthHalf = barWidth / 2;
|
|
13
10
|
const paths = [];
|
|
@@ -24,28 +21,28 @@ exports.SvgBars = (0, mobx_react_1.observer)(({ metrics, isStackedBarChart }) =>
|
|
|
24
21
|
if (isStackedBarChart) {
|
|
25
22
|
let stackedBarHeight = values.reduce((sum, curr) => sum + curr.val, 0);
|
|
26
23
|
for (const value of values) {
|
|
27
|
-
paths.push((
|
|
24
|
+
paths.push(_jsx("rect", { x: fpx(x - barWidthHalf), y: fpy(stackedBarHeight), width: fpx(barWidth), height: fpx(value.val), fill: value.color }, keyVal(value.id, i)));
|
|
28
25
|
stackedBarHeight -= value.val;
|
|
29
26
|
}
|
|
30
27
|
}
|
|
31
28
|
else {
|
|
32
29
|
values.sort((a, b) => b.val - a.val);
|
|
33
30
|
for (const value of values) {
|
|
34
|
-
paths.push((
|
|
31
|
+
paths.push(_jsx("rect", { x: fpx(x - barWidthHalf), y: fpy(value.val), width: fpx(barWidth), height: fpx(value.val), fill: value.color }, keyVal(value.id, i)));
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
34
|
}
|
|
38
|
-
return (
|
|
35
|
+
return _jsx("g", { children: paths });
|
|
39
36
|
});
|
|
40
|
-
|
|
41
|
-
const [store] =
|
|
37
|
+
export const SvgBarsHover = observer(({ onHover, onLeave }) => {
|
|
38
|
+
const [store] = useDependencies(SvgStore);
|
|
42
39
|
const { fpx, fpy, barWidth, length } = store;
|
|
43
40
|
const barWidthHalf = barWidth / 2;
|
|
44
41
|
const paths = [];
|
|
45
42
|
for (let i = 0; i < length; i++) {
|
|
46
43
|
const x = store.periodX(i);
|
|
47
|
-
paths.push((
|
|
44
|
+
paths.push(_jsx("rect", { onMouseEnter: () => onHover(i), onMouseLeave: () => onLeave(i), x: fpx(x - barWidthHalf), y: fpy(100), width: fpx(barWidth), height: "100%", fill: "white", fillOpacity: "0" }, keyVal('_', i)));
|
|
48
45
|
}
|
|
49
|
-
return (
|
|
46
|
+
return _jsx("g", { children: paths });
|
|
50
47
|
});
|
|
51
48
|
//# sourceMappingURL=svg-bars.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-bars.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/svg-bars.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"svg-bars.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/svg-bars.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.SvgBodyHover = exports.SvgBody = void 0;
|
|
26
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
-
const mobx_react_1 = require("mobx-react");
|
|
28
|
-
const tokens_1 = __importDefault(require("@servicetitan/tokens"));
|
|
29
|
-
const react_ioc_1 = require("@servicetitan/react-ioc");
|
|
30
|
-
const svg_store_1 = require("../stores/svg.store");
|
|
31
|
-
const key_1 = require("../utils/key");
|
|
32
|
-
const svg_bars_1 = require("./svg-bars");
|
|
33
|
-
const svg_lines_1 = require("./svg-lines");
|
|
34
|
-
const Styles = __importStar(require("./svg.module.less"));
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
3
|
+
import tokens from '@servicetitan/tokens';
|
|
4
|
+
import { useDependencies } from '@servicetitan/react-ioc';
|
|
5
|
+
import { SvgStore } from '../stores/svg.store';
|
|
6
|
+
import { keyVal } from '../utils/key';
|
|
7
|
+
import { SvgBars, SvgBarsHover } from './svg-bars';
|
|
8
|
+
import { SvgLines } from './svg-lines';
|
|
9
|
+
import * as Styles from './svg.module.less';
|
|
35
10
|
const SvgGrid = () => {
|
|
36
11
|
const lines = [];
|
|
37
12
|
for (let i = 1; i <= 10; i += 1) {
|
|
38
13
|
const y = `${9.09 * i}%`;
|
|
39
|
-
lines.push((
|
|
14
|
+
lines.push(_jsx("line", { className: Styles.line, x1: "0", y1: y, x2: "100%", y2: y, stroke: tokens.colorNeutral60, strokeWidth: "1" }, y));
|
|
40
15
|
}
|
|
41
|
-
return (
|
|
16
|
+
return _jsx("g", { children: lines });
|
|
42
17
|
};
|
|
43
|
-
|
|
44
|
-
const [{ key }] =
|
|
18
|
+
export const SvgBody = observer(({ horizontalGrid, metrics }) => {
|
|
19
|
+
const [{ key }] = useDependencies(SvgStore);
|
|
45
20
|
const barMetrics = metrics.filter(m => m.type === 'bar');
|
|
46
21
|
const stackedBarMetrics = metrics.filter(m => m.type === 'stacked-bar');
|
|
47
22
|
const lineMetrics = metrics.filter(m => m.type === 'line');
|
|
48
|
-
return ((
|
|
23
|
+
return (_jsxs("svg", Object.assign({ className: Styles.svgBody, viewBox: "0 0 100 100", preserveAspectRatio: "none", vectorEffect: "non-scaling-stroke" }, { children: [horizontalGrid && _jsx(SvgGrid, {}), !!barMetrics.length && _jsx(SvgBars, { metrics: barMetrics }, keyVal('bars', key)), !!stackedBarMetrics.length && (_jsx(SvgBars, { metrics: stackedBarMetrics, isStackedBarChart: true }, keyVal('stacked-bars', key))), !!lineMetrics.length && _jsx(SvgLines, { metrics: lineMetrics }, keyVal('lines', key))] })));
|
|
49
24
|
});
|
|
50
|
-
const SvgBodyHover = ({ onValueHover, onValueLeave }) => ((
|
|
51
|
-
exports.SvgBodyHover = SvgBodyHover;
|
|
25
|
+
export const SvgBodyHover = ({ onValueHover, onValueLeave }) => (_jsx("svg", Object.assign({ className: Styles.svgHover, viewBox: "0 0 100 100", preserveAspectRatio: "none" }, { children: _jsx(SvgBarsHover, { onHover: onValueHover, onLeave: onValueLeave }) })));
|
|
52
26
|
//# sourceMappingURL=svg-body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-body.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/svg-body.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"svg-body.js","sourceRoot":"","sources":["../../../../../src/components/charts/line-chart/components/svg-body.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,OAAO,GAAO,GAAG,EAAE;IACrB,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;QAC7B,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;QAEzB,KAAK,CAAC,IAAI,CACN,eACI,SAAS,EAAE,MAAM,CAAC,IAAI,EAEtB,EAAE,EAAC,GAAG,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAC,MAAM,EACT,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,MAAM,CAAC,cAAc,EAC7B,WAAW,EAAC,GAAG,IANV,CAAC,CAOR,CACL,CAAC;KACL;IAED,OAAO,sBAAI,KAAK,GAAK,CAAC;AAC1B,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,OAAO,GAAqB,QAAQ,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9E,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAE3D,OAAO,CACH,6BACI,SAAS,EAAE,MAAM,CAAC,OAAO,EACzB,OAAO,EAAC,aAAa,EACrB,mBAAmB,EAAC,MAAM,EAC1B,YAAY,EAAC,oBAAoB,iBAEhC,cAAc,IAAI,KAAC,OAAO,KAAG,EAC7B,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,KAAC,OAAO,IAA2B,OAAO,EAAE,UAAU,IAAxC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAyB,EACjF,CAAC,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAC3B,KAAC,OAAO,IAEJ,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,UAFZ,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAGlC,CACL,EACA,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,KAAC,QAAQ,IAA4B,OAAO,EAAE,WAAW,IAA1C,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAA0B,KACpF,CACT,CAAC;AACN,CAAC,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CACnF,4BAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAC,aAAa,EAAC,mBAAmB,EAAC,MAAM,gBAC7E,KAAC,YAAY,IAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAI,IAC5D,CACT,CAAC"}
|