@mvf/external-components 3.38.0 → 3.38.1
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/Experiments/CRO-712/Atoms/ProgressBar/ProgressBar.js +15 -6
- package/Experiments/CRO-712/Atoms/ProgressBar/ProgressBar.js.map +1 -1
- package/Experiments/CRO-712/Atoms/ProgressBar/ProgressBar.test.js +61 -2
- package/Experiments/CRO-712/Atoms/ProgressBar/ProgressBar.test.js.map +1 -1
- package/Experiments/CRO-712/Atoms/ProgressBar/ProgressBarStory.js +2 -4
- package/Experiments/CRO-712/Atoms/ProgressBar/ProgressBarStory.js.map +1 -1
- package/Experiments/CRO-712/Atoms/ProgressBar/makeProgressBarStyling.d.ts +1 -1
- package/Experiments/CRO-712/Atoms/ProgressBar/makeProgressBarStyling.js +23 -9
- package/Experiments/CRO-712/Atoms/ProgressBar/makeProgressBarStyling.js.map +1 -1
- package/Experiments/CRO-712/Atoms/ProgressBar/makeProgressBarStyling.test.js +4 -4
- package/Experiments/CRO-712/Atoms/ProgressBar/makeProgressBarStyling.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,26 +16,35 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
18
18
|
/** @jsxImportSource @emotion/react */
|
|
19
|
+
var react_1 = require("react");
|
|
19
20
|
var Box_1 = __importDefault(require("@mui/material/Box"));
|
|
20
21
|
var LinearProgress_1 = __importDefault(require("@mui/material/LinearProgress"));
|
|
21
22
|
var Typography_1 = __importDefault(require("@mui/material/Typography"));
|
|
22
23
|
var defaultProps_1 = __importDefault(require("./defaultProps"));
|
|
23
|
-
var
|
|
24
|
+
var react_2 = require("@emotion/react");
|
|
24
25
|
var ProgressBarHelpers_1 = require("./ProgressBarHelpers");
|
|
25
26
|
var makeProgressBarStyling_1 = __importDefault(require("./makeProgressBarStyling"));
|
|
27
|
+
var HEAD_START = 6;
|
|
26
28
|
var ProgressBar = function (_a) {
|
|
27
29
|
var id = _a.id, progress = _a.progress, text = _a.text, testId = _a.testId, totalSteps = _a.totalSteps;
|
|
28
|
-
var theme = (0,
|
|
30
|
+
var theme = (0, react_2.useTheme)();
|
|
29
31
|
var displayProgress = totalSteps
|
|
30
|
-
? Math.min(
|
|
32
|
+
? Math.min(99, progress + Math.round(100 / totalSteps))
|
|
31
33
|
: progress;
|
|
34
|
+
// Widens the bar only. The remaining range is compressed by the same amount
|
|
35
|
+
// so later steps don't add the head start again, and 99% stays under full.
|
|
36
|
+
var drawnProgress = totalSteps
|
|
37
|
+
? HEAD_START + (displayProgress * (100 - HEAD_START)) / 100
|
|
38
|
+
: displayProgress;
|
|
39
|
+
// Keep this fixed for the mount so returning to question one doesn't replay it.
|
|
40
|
+
var animateEntry = (0, react_1.useState)(function () { return progress === 0 && Boolean(totalSteps); })[0];
|
|
32
41
|
var useLightText = (0, ProgressBarHelpers_1.shouldUseLightText)({
|
|
33
42
|
progressBarFilledColor: theme.mvf.palette.component.progressBarFilledColor,
|
|
34
43
|
progressBarUnfilledColor: theme.mvf.palette.component.progressBarUnfilledColor,
|
|
35
|
-
progress:
|
|
44
|
+
progress: drawnProgress,
|
|
36
45
|
});
|
|
37
|
-
var styles = (0, makeProgressBarStyling_1.default)(theme, useLightText,
|
|
38
|
-
return ((0, jsx_runtime_1.jsxs)(Box_1.default, __assign({ css: styles.container, "data-testid": testId }, { children: [(0, jsx_runtime_1.jsxs)(Typography_1.default, __assign({ css: styles.text }, { children: [text, " ", displayProgress, "%"] })), (0, jsx_runtime_1.jsx)(LinearProgress_1.default, { variant: "determinate", css: styles.progressBar, id: id, value: displayProgress })] })));
|
|
46
|
+
var styles = (0, makeProgressBarStyling_1.default)(theme, useLightText, animateEntry);
|
|
47
|
+
return ((0, jsx_runtime_1.jsxs)(Box_1.default, __assign({ css: styles.container, "data-testid": testId }, { children: [(0, jsx_runtime_1.jsxs)(Typography_1.default, __assign({ css: styles.text }, { children: [text, " ", displayProgress, "%"] })), (0, jsx_runtime_1.jsx)(LinearProgress_1.default, { variant: "determinate", css: styles.progressBar, id: id, value: drawnProgress, "aria-valuenow": displayProgress })] })));
|
|
39
48
|
};
|
|
40
49
|
ProgressBar.defaultProps = defaultProps_1.default;
|
|
41
50
|
exports.default = ProgressBar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/ProgressBar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,0DAAoC;AACpC,gFAA0D;AAC1D,wEAAkD;AAElD,gEAA0C;AAE1C,wCAA0C;AAC1C,2DAA0D;AAE1D,oFAA8D;AAQ9D,IAAM,WAAW,GAAoB,UAAC,EAMrC;QALC,EAAE,QAAA,EACF,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,UAAU,gBAAA;IAEV,IAAM,KAAK,GAAW,IAAA,gBAAQ,GAAE,CAAC;IAEjC,IAAM,eAAe,GAAG,UAAU;QAChC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/ProgressBar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAAiC;AACjC,0DAAoC;AACpC,gFAA0D;AAC1D,wEAAkD;AAElD,gEAA0C;AAE1C,wCAA0C;AAC1C,2DAA0D;AAE1D,oFAA8D;AAQ9D,IAAM,UAAU,GAAG,CAAC,CAAC;AAErB,IAAM,WAAW,GAAoB,UAAC,EAMrC;QALC,EAAE,QAAA,EACF,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,UAAU,gBAAA;IAEV,IAAM,KAAK,GAAW,IAAA,gBAAQ,GAAE,CAAC;IAEjC,IAAM,eAAe,GAAG,UAAU;QAChC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC;QACvD,CAAC,CAAC,QAAQ,CAAC;IAEb,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,UAAU,GAAG,CAAC,eAAe,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,GAAG,GAAG;QAC3D,CAAC,CAAC,eAAe,CAAC;IAEpB,gFAAgF;IACzE,IAAA,YAAY,GAAI,IAAA,gBAAQ,EAAC,cAAM,OAAA,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,EAArC,CAAqC,CAAC,GAAzD,CAA0D;IAE7E,IAAM,YAAY,GAAG,IAAA,uCAAkB,EAAC;QACtC,sBAAsB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,sBAAsB;QAC1E,wBAAwB,EACtB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,wBAAwB;QACtD,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAC;IAEH,IAAM,MAAM,GAAG,IAAA,gCAAsB,EAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACzE,OAAO,CACL,wBAAC,aAAG,aAAC,GAAG,EAAE,MAAM,CAAC,SAAS,iBAAe,MAAM,iBAC7C,wBAAC,oBAAU,aAAC,GAAG,EAAE,MAAM,CAAC,IAAI,iBACzB,IAAI,OAAG,eAAe,UACZ,EACb,uBAAC,wBAAc,IACb,OAAO,EAAC,aAAa,EACrB,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,aAAa,mBAGL,eAAe,GAC9B,KACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,YAAY,GAAG,sBAAY,CAAC;AAExC,kBAAe,WAAW,CAAC"}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
@@ -7,7 +30,23 @@ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
|
7
30
|
/** @jsxImportSource @emotion/react */
|
|
8
31
|
var renderWithProviders_1 = __importDefault(require("../../../../Helpers/React/renderWithProviders"));
|
|
9
32
|
var ProgressBar_1 = __importDefault(require("./ProgressBar"));
|
|
33
|
+
var progressBarStyling = __importStar(require("./makeProgressBarStyling"));
|
|
10
34
|
describe('<ProgressBar /> (CRO-712 head-start)', function () {
|
|
35
|
+
it.each([
|
|
36
|
+
{ progress: 0, totalSteps: 10, animateEntry: true },
|
|
37
|
+
{ progress: 50, totalSteps: 10, animateEntry: false },
|
|
38
|
+
{ progress: 0, totalSteps: undefined, animateEntry: false },
|
|
39
|
+
])('sets entry animation to $animateEntry when mounted with progress=$progress and totalSteps=$totalSteps', function (_a) {
|
|
40
|
+
var progress = _a.progress, totalSteps = _a.totalSteps, animateEntry = _a.animateEntry;
|
|
41
|
+
var stylingSpy = jest.spyOn(progressBarStyling, 'default');
|
|
42
|
+
try {
|
|
43
|
+
(0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(ProgressBar_1.default, { progress: progress, totalSteps: totalSteps, experimentName: "CRO-712" }));
|
|
44
|
+
expect(stylingSpy).toHaveBeenLastCalledWith(expect.anything(), expect.any(Boolean), animateEntry);
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
stylingSpy.mockRestore();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
11
50
|
it('should display progress bar', function () {
|
|
12
51
|
var getByTestId = (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(ProgressBar_1.default, { id: "test-id", testId: "test-id", progress: 50, experimentName: "CRO-712" })).getByTestId;
|
|
13
52
|
expect(getByTestId('test-id')).toBeTruthy();
|
|
@@ -16,13 +55,33 @@ describe('<ProgressBar /> (CRO-712 head-start)', function () {
|
|
|
16
55
|
var getByText = (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(ProgressBar_1.default, { id: "test-id", progress: 0, totalSteps: 9, text: "Progress:", experimentName: "CRO-712" })).getByText;
|
|
17
56
|
expect(getByText(/11%/)).toBeTruthy();
|
|
18
57
|
});
|
|
19
|
-
it('clamps the shifted progress at
|
|
58
|
+
it('clamps the shifted progress at 99% to avoid premature closure', function () {
|
|
20
59
|
var getByText = (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(ProgressBar_1.default, { id: "test-id", progress: 95, totalSteps: 9, text: "Progress:", experimentName: "CRO-712" })).getByText;
|
|
21
|
-
expect(getByText(/
|
|
60
|
+
expect(getByText(/99%/)).toBeTruthy();
|
|
22
61
|
});
|
|
23
62
|
it('falls back to the plain progress value when totalSteps is not provided', function () {
|
|
24
63
|
var getByText = (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(ProgressBar_1.default, { id: "test-id", progress: 50, text: "Progress:", experimentName: "CRO-712" })).getByText;
|
|
25
64
|
expect(getByText(/50%/)).toBeTruthy();
|
|
26
65
|
});
|
|
66
|
+
it('reports the computed percentage to assistive technology during entry', function () {
|
|
67
|
+
var getByRole = (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(ProgressBar_1.default, { progress: 0, totalSteps: 10, experimentName: "CRO-712" })).getByRole;
|
|
68
|
+
expect(getByRole('progressbar')).toHaveAttribute('aria-valuenow', '10');
|
|
69
|
+
});
|
|
70
|
+
it('starts at the current percentage when mounted on a later question', function () {
|
|
71
|
+
var getByRole = (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(ProgressBar_1.default, { progress: 50, totalSteps: 10, experimentName: "CRO-712" })).getByRole;
|
|
72
|
+
expect(getByRole('progressbar')).toHaveAttribute('aria-valuenow', '60');
|
|
73
|
+
});
|
|
74
|
+
// Pins the aria-valuenow override: MUI derives its own from `value`, and ours
|
|
75
|
+
// only wins because caller props are spread after it.
|
|
76
|
+
it('draws the head start without reporting it to assistive technology', function () {
|
|
77
|
+
var _a = (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(ProgressBar_1.default, { progress: 0, totalSteps: 10, experimentName: "CRO-712" })), getByRole = _a.getByRole, container = _a.container;
|
|
78
|
+
expect(getByRole('progressbar')).toHaveAttribute('aria-valuenow', '10');
|
|
79
|
+
expect(container.querySelector('.MuiLinearProgress-bar1Determinate')).toHaveStyle('transform: translateX(-84.6%)');
|
|
80
|
+
});
|
|
81
|
+
it('draws the plain progress value when totalSteps is not provided', function () {
|
|
82
|
+
var _a = (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(ProgressBar_1.default, { progress: 50, experimentName: "CRO-712" })), getByRole = _a.getByRole, container = _a.container;
|
|
83
|
+
expect(getByRole('progressbar')).toHaveAttribute('aria-valuenow', '50');
|
|
84
|
+
expect(container.querySelector('.MuiLinearProgress-bar1Determinate')).toHaveStyle('transform: translateX(-50%)');
|
|
85
|
+
});
|
|
27
86
|
});
|
|
28
87
|
//# sourceMappingURL=ProgressBar.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.test.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/ProgressBar.test.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProgressBar.test.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/ProgressBar.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,7 @@ var ProgressBar_1 = __importDefault(require("./ProgressBar"));
|
|
|
25
25
|
var ProgressBarStory = function (_a) {
|
|
26
26
|
var text = _a.text, progress = _a.progress, onProgressChange = _a.onProgressChange;
|
|
27
27
|
var _b = react_1.default.useState(10), totalSteps = _b[0], setTotalSteps = _b[1];
|
|
28
|
-
var
|
|
29
|
-
var clampedStep = Math.min(step, totalSteps);
|
|
28
|
+
var step = Math.min(Math.round((progress * totalSteps) / 100) + 1, totalSteps);
|
|
30
29
|
var applyStep = function (nextStep, nextTotalSteps) {
|
|
31
30
|
var clamped = Math.min(nextStep, nextTotalSteps);
|
|
32
31
|
onProgressChange(Math.round(((clamped - 1) * 100) / nextTotalSteps));
|
|
@@ -35,9 +34,8 @@ var ProgressBarStory = function (_a) {
|
|
|
35
34
|
var next = Number(event.target.value);
|
|
36
35
|
setTotalSteps(next);
|
|
37
36
|
applyStep(step, next);
|
|
38
|
-
}, style: { width: '100%' } })] })), (0, jsx_runtime_1.jsxs)("label", __assign({ style: { display: 'block', marginBottom: 16 } }, { children: ["step: ",
|
|
37
|
+
}, style: { width: '100%' } })] })), (0, jsx_runtime_1.jsxs)("label", __assign({ style: { display: 'block', marginBottom: 16 } }, { children: ["step: ", step, " / ", totalSteps, (0, jsx_runtime_1.jsx)("input", { type: "range", min: 1, max: totalSteps, value: step, onChange: function (event) {
|
|
39
38
|
var next = Number(event.target.value);
|
|
40
|
-
setStep(next);
|
|
41
39
|
applyStep(next, totalSteps);
|
|
42
40
|
}, style: { width: '100%' } })] })), (0, jsx_runtime_1.jsx)("div", __assign({ style: { position: 'relative' } }, { children: (0, jsx_runtime_1.jsx)(ProgressBar_1.default, { id: "id", progress: progress, text: text, totalSteps: totalSteps, experimentName: "CRO-712" }) }))] })));
|
|
43
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBarStory.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/ProgressBarStory.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,8DAAwC;AAQxC,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,yCAAyC;AACzC,IAAM,gBAAgB,GAAyB,UAAC,EAI/C;QAHC,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,gBAAgB,sBAAA;IAEV,IAAA,KAA8B,eAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAA/C,UAAU,QAAA,EAAE,aAAa,QAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProgressBarStory.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/ProgressBarStory.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,8DAAwC;AAQxC,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,yCAAyC;AACzC,IAAM,gBAAgB,GAAyB,UAAC,EAI/C;QAHC,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,gBAAgB,sBAAA;IAEV,IAAA,KAA8B,eAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAA/C,UAAU,QAAA,EAAE,aAAa,QAAsB,CAAC;IACvD,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAC7C,UAAU,CACX,CAAC;IAEF,IAAM,SAAS,GAAG,UAAC,QAAgB,EAAE,cAAsB;QACzD,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACnD,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,OAAO,CACL,0CAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAC/B,4CAAO,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,iCACrC,UAAU,EACvB,kCACE,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,EAAE,EACP,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,UAAC,KAAK;4BACd,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BACxC,aAAa,CAAC,IAAI,CAAC,CAAC;4BACpB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACxB,CAAC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GACxB,KACI,EACR,4CAAO,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,2BAC3C,IAAI,SAAK,UAAU,EAC1B,kCACE,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,UAAC,KAAK;4BACd,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BACxC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;wBAC9B,CAAC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GACxB,KACI,EACR,yCAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAClC,uBAAC,qBAAW,IACV,EAAE,EAAC,IAAI,EACP,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,cAAc,EAAC,SAAS,GACxB,IACE,KACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ITheme } from '../../../../Themes/themes';
|
|
2
|
-
declare const makeProgressBarStyling: (theme: ITheme, useLightText: boolean,
|
|
2
|
+
declare const makeProgressBarStyling: (theme: ITheme, useLightText: boolean, animateEntry?: boolean) => {
|
|
3
3
|
container: import("@emotion/react").SerializedStyles;
|
|
4
4
|
progressBar: import("@emotion/react").SerializedStyles;
|
|
5
5
|
text: import("@emotion/react").SerializedStyles;
|
|
@@ -16,22 +16,36 @@ var LIGHT_TEXT_SHADOW = 'rgb(255, 255, 255) 1px 1px 4px';
|
|
|
16
16
|
var DARK_TEXT_SHADOW = 'rgb(0, 0, 0) 1px 1px 4px';
|
|
17
17
|
var DARK_TEXT_COLOR = 'rgb(0, 0, 0)';
|
|
18
18
|
var LIGHT_TEXT_COLOR = 'rgb(255, 255, 255)';
|
|
19
|
-
var makeProgressBarStyling = function (theme, useLightText,
|
|
20
|
-
|
|
19
|
+
var makeProgressBarStyling = function (theme, useLightText, animateEntry) {
|
|
20
|
+
if (animateEntry === void 0) { animateEntry = false; }
|
|
21
|
+
// The final transform comes from MUI's computed progress value.
|
|
22
|
+
var enter = (0, react_1.keyframes)({
|
|
23
|
+
from: {
|
|
24
|
+
transform: "translateX(".concat(theme.direction === 'rtl' ? 100 : -100, "%)"),
|
|
25
|
+
},
|
|
26
|
+
});
|
|
21
27
|
return {
|
|
22
28
|
container: (0, react_1.css)({
|
|
23
29
|
height: 25,
|
|
24
30
|
display: 'grid',
|
|
25
31
|
width: '100%',
|
|
26
|
-
containerType: 'inline-size',
|
|
27
32
|
}),
|
|
28
|
-
progressBar: (0, react_1.css)(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
progressBar: (0, react_1.css)({
|
|
34
|
+
height: '100%',
|
|
35
|
+
position: 'relative',
|
|
36
|
+
gridRowStart: 1,
|
|
37
|
+
gridColumnStart: 1,
|
|
38
|
+
'& .MuiLinearProgress-barColorPrimary': __assign(__assign({ backgroundColor: theme.mvf.palette.component.progressBarFilledColor }, (animateEntry && {
|
|
39
|
+
'@media (prefers-reduced-motion: no-preference)': {
|
|
40
|
+
animation: "".concat(enter, " 400ms ease-out 200ms backwards"),
|
|
41
|
+
},
|
|
42
|
+
})), { '@media (prefers-reduced-motion: reduce)': {
|
|
43
|
+
transition: 'none',
|
|
44
|
+
} }),
|
|
45
|
+
'&.MuiLinearProgress-colorPrimary': {
|
|
33
46
|
backgroundColor: theme.mvf.palette.component.progressBarUnfilledColor,
|
|
34
|
-
}
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
35
49
|
text: (0, react_1.css)({
|
|
36
50
|
gridRowStart: 1,
|
|
37
51
|
gridColumnStart: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeProgressBarStyling.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/makeProgressBarStyling.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"makeProgressBarStyling.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/makeProgressBarStyling.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,wCAAgD;AAGhD,IAAM,iBAAiB,GAAG,gCAAgC,CAAC;AAC3D,IAAM,gBAAgB,GAAG,0BAA0B,CAAC;AACpD,IAAM,eAAe,GAAG,cAAc,CAAC;AACvC,IAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAE9C,IAAM,sBAAsB,GAAG,UAC7B,KAAa,EACb,YAAqB,EACrB,YAAoB;IAApB,6BAAA,EAAA,oBAAoB;IAEpB,gEAAgE;IAChE,IAAM,KAAK,GAAG,IAAA,iBAAS,EAAC;QACtB,IAAI,EAAE;YACJ,SAAS,EAAE,qBAAc,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAI;SACpE;KACF,CAAC,CAAC;IAEH,OAAO;QACL,SAAS,EAAE,IAAA,WAAG,EAAC;YACb,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,MAAM;SACd,CAAC;QACF,WAAW,EAAE,IAAA,WAAG,EAAC;YACf,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,sCAAsC,sBACpC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,sBAAsB,IAChE,CAAC,YAAY,IAAI;gBAClB,gDAAgD,EAAE;oBAChD,SAAS,EAAE,UAAG,KAAK,oCAAiC;iBACrD;aACF,CAAC,KACF,yCAAyC,EAAE;oBACzC,UAAU,EAAE,MAAM;iBACnB,GACF;YACD,kCAAkC,EAAE;gBAClC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,wBAAwB;aACtE;SACF,CAAC;QACF,IAAI,EAAE,IAAA,WAAG,EAAC;YACR,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;YACjC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB;YAC/D,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe;YACxD,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,uCAAuC;SACpD,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,sBAAsB,CAAC"}
|
|
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
var Themes_1 = require("../../../../Themes");
|
|
7
7
|
var makeProgressBarStyling_1 = __importDefault(require("./makeProgressBarStyling"));
|
|
8
8
|
describe('makeProgressBarStyling', function () {
|
|
9
|
-
it('
|
|
9
|
+
it('animates the entry when animateEntry is true', function () {
|
|
10
10
|
var progressBar = (0, makeProgressBarStyling_1.default)(Themes_1.chameleonTheme, false, true).progressBar;
|
|
11
|
-
expect(progressBar.styles).toContain('
|
|
11
|
+
expect(progressBar.styles).toContain('animation');
|
|
12
12
|
});
|
|
13
|
-
it('omits the
|
|
13
|
+
it('omits the entry animation when animateEntry is false', function () {
|
|
14
14
|
var progressBar = (0, makeProgressBarStyling_1.default)(Themes_1.chameleonTheme, false, false).progressBar;
|
|
15
|
-
expect(progressBar.styles).not.toContain('
|
|
15
|
+
expect(progressBar.styles).not.toContain('animation');
|
|
16
16
|
});
|
|
17
17
|
});
|
|
18
18
|
//# sourceMappingURL=makeProgressBarStyling.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeProgressBarStyling.test.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/makeProgressBarStyling.test.ts"],"names":[],"mappings":";;;;;AAAA,6CAAoD;AACpD,oFAA8D;AAE9D,QAAQ,CAAC,wBAAwB,EAAE;IACjC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"makeProgressBarStyling.test.js","sourceRoot":"","sources":["../../../../../src/Experiments/CRO-712/Atoms/ProgressBar/makeProgressBarStyling.test.ts"],"names":[],"mappings":";;;;;AAAA,6CAAoD;AACpD,oFAA8D;AAE9D,QAAQ,CAAC,wBAAwB,EAAE;IACjC,EAAE,CAAC,8CAA8C,EAAE;QACzC,IAAA,WAAW,GAAK,IAAA,gCAAsB,EAAC,uBAAc,EAAE,KAAK,EAAE,IAAI,CAAC,YAAxD,CAAyD;QAC5E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE;QACjD,IAAA,WAAW,GAAK,IAAA,gCAAsB,EAC5C,uBAAc,EACd,KAAK,EACL,KAAK,CACN,YAJkB,CAIjB;QACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|