@simplybusiness/mobius 3.0.0 → 3.1.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/CHANGELOG.md +18 -0
- package/dist/cjs/components/Chopin/Actions/Actions.d.ts +3 -6
- package/dist/cjs/components/Chopin/Actions/Actions.js +5 -19
- package/dist/cjs/components/Chopin/Actions/Actions.js.map +1 -1
- package/dist/cjs/components/Chopin/Actions/Actions.test.js +24 -24
- package/dist/cjs/components/Chopin/Actions/Actions.test.js.map +1 -1
- package/dist/cjs/components/Chopin/Question/Question.js +1 -1
- package/dist/cjs/components/Chopin/Question/Question.js.map +1 -1
- package/dist/cjs/components/Chopin/Question/Question.test.js +6 -0
- package/dist/cjs/components/Chopin/Question/Question.test.js.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/esm/components/Chopin/Actions/Actions.js +5 -19
- package/dist/esm/components/Chopin/Actions/Actions.js.map +1 -1
- package/dist/esm/components/Chopin/Actions/Actions.test.js +24 -24
- package/dist/esm/components/Chopin/Actions/Actions.test.js.map +1 -1
- package/dist/esm/components/Chopin/Question/Question.js +1 -1
- package/dist/esm/components/Chopin/Question/Question.js.map +1 -1
- package/dist/esm/components/Chopin/Question/Question.test.js +6 -0
- package/dist/esm/components/Chopin/Question/Question.test.js.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/mobius.d.ts +14 -6
- package/package.json +1 -1
- package/src/components/Chopin/Actions/Actions.story.mdx +32 -19
- package/src/components/Chopin/Actions/Actions.test.tsx +57 -35
- package/src/components/Chopin/Actions/Actions.tsx +16 -32
- package/src/components/Chopin/Question/Question.story.mdx +26 -0
- package/src/components/Chopin/Question/Question.test.tsx +13 -0
- package/src/components/Chopin/Question/Question.tsx +6 -1
- package/src/components/index.tsx +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file, or link in
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.1.1] - 2022-11-30
|
|
9
|
+
|
|
10
|
+
## Added
|
|
11
|
+
|
|
12
|
+
- Make `<DatePicker>` component available
|
|
13
|
+
|
|
14
|
+
## Changed
|
|
15
|
+
|
|
16
|
+
- Render `<Question>` label as `<span>` when no child components provided. This is to accommodate for `renderAs: "info"` in Chopin-next
|
|
17
|
+
|
|
18
|
+
## [3.1.0] - 2022-11-24
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Refactored props in `Chopin.Actions` molecule to only require back/next labels and respective `LinkButton` props; this allows users to assign any link or button attributes to buttons, e.g. disabled state.
|
|
23
|
+
|
|
8
24
|
## [3.0.0] - 2022-11-23
|
|
9
25
|
|
|
10
26
|
### Breaking Changes
|
|
@@ -83,6 +99,8 @@ Additionally, mobius and themes are available on the public NPM registry and can
|
|
|
83
99
|
|
|
84
100
|
## Github Links
|
|
85
101
|
|
|
102
|
+
[3.1.1]: https://github.com/simplybusiness/mobius/releases/tag/v3.1.1
|
|
103
|
+
[3.1.0]: https://github.com/simplybusiness/mobius/releases/tag/v3.1.0
|
|
86
104
|
[3.0.0]: https://github.com/simplybusiness/mobius/releases/tag/v3.0.0
|
|
87
105
|
[2.18.6]: https://github.com/simplybusiness/mobius/releases/tag/v2.18.6
|
|
88
106
|
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { Ref } from "react";
|
|
2
2
|
import { DOMProps } from "@react-types/shared";
|
|
3
3
|
import { ForwardedRefComponent } from "../../../types/components";
|
|
4
|
+
import { type LinkButtonProps } from "../../LinkButton";
|
|
4
5
|
export declare type ActionsElementType = HTMLDivElement;
|
|
5
6
|
export interface ActionsProps extends DOMProps {
|
|
6
7
|
/** Custom class name for setting specific CSS */
|
|
7
8
|
className?: string;
|
|
9
|
+
backButton?: LinkButtonProps;
|
|
10
|
+
nextButton?: LinkButtonProps;
|
|
8
11
|
backLabel?: string;
|
|
9
|
-
backLink?: string;
|
|
10
12
|
nextLabel?: string;
|
|
11
|
-
nextLink?: string;
|
|
12
|
-
backElementType?: React.ElementType;
|
|
13
|
-
nextElementType?: React.ElementType;
|
|
14
|
-
onNextClick?: () => void;
|
|
15
|
-
onBackClick?: () => void;
|
|
16
13
|
}
|
|
17
14
|
export declare type ActionsRef = Ref<ActionsElementType>;
|
|
18
15
|
declare const Actions: ForwardedRefComponent<ActionsProps, ActionsElementType>;
|
|
@@ -21,28 +21,14 @@ const clsx_1 = __importDefault(require("clsx"));
|
|
|
21
21
|
const Flex_1 = require("../../Flex");
|
|
22
22
|
const LinkButton_1 = require("../../LinkButton");
|
|
23
23
|
const Actions = (0, react_1.forwardRef)((props, ref) => {
|
|
24
|
-
const {
|
|
24
|
+
const { className, backButton, nextButton, backLabel, nextLabel } = props, rest = __rest(props, ["className", "backButton", "nextButton", "backLabel", "nextLabel"]);
|
|
25
25
|
const classes = (0, clsx_1.default)("chopin", "chopin/Actions", className);
|
|
26
26
|
const nextButtonClasses = (0, clsx_1.default)("chopin/ActionsNext", {
|
|
27
|
-
"--single-action": !
|
|
27
|
+
"--single-action": !backButton,
|
|
28
28
|
});
|
|
29
|
-
const backButtonProps = {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
variant: "basic",
|
|
33
|
-
icon: "buttonArrowLeft",
|
|
34
|
-
href: backLink,
|
|
35
|
-
to: backLink,
|
|
36
|
-
elementType: backElementType,
|
|
37
|
-
};
|
|
38
|
-
const nextButtonProps = {
|
|
39
|
-
className: nextButtonClasses,
|
|
40
|
-
onClick: onNextClick,
|
|
41
|
-
href: nextLink,
|
|
42
|
-
to: nextLink,
|
|
43
|
-
elementType: nextElementType,
|
|
44
|
-
};
|
|
45
|
-
return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, Object.assign({ ref: ref, className: classes, justifyContent: "center" }, rest, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, Object.assign({ className: "chopin/ActionsContainer", justifyContent: "space-between", alignItems: "center" }, { children: [backLink && ((0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, Object.assign({}, backButtonProps, { children: backLabel }))), nextLink && ((0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, Object.assign({}, nextButtonProps, { children: nextLabel })))] })) })));
|
|
29
|
+
const backButtonProps = Object.assign(Object.assign({}, backButton), { className: "chopin/ActionsBack", variant: "basic", icon: "buttonArrowLeft" });
|
|
30
|
+
const nextButtonProps = Object.assign(Object.assign({}, nextButton), { className: nextButtonClasses });
|
|
31
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, Object.assign({ ref: ref, className: classes, justifyContent: "center" }, rest, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, Object.assign({ className: "chopin/ActionsContainer", justifyContent: "space-between", alignItems: "center" }, { children: [(backButton === null || backButton === void 0 ? void 0 : backButton.href) && ((0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, Object.assign({}, backButtonProps, { href: backButtonProps.href }, { children: backLabel }))), (nextButton === null || nextButton === void 0 ? void 0 : nextButton.href) && ((0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, Object.assign({}, nextButtonProps, { href: nextButtonProps.href }, { children: nextLabel })))] })) })));
|
|
46
32
|
});
|
|
47
33
|
exports.Actions = Actions;
|
|
48
34
|
Actions.displayName = "Actions";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAAwC;AAExC,gDAAwB;AAGxB,qCAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAAwC;AAExC,gDAAwB;AAGxB,qCAAkC;AAElC,iDAAoE;AAepE,MAAM,OAAO,GACX,IAAA,kBAAU,EAAC,CAAC,KAAmB,EAAE,GAAe,EAAE,EAAE;IAClD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,KAC7D,KAAK,EAD6D,IAAI,UACtE,KAAK,EADD,mEAAoE,CACnE,CAAC;IAER,MAAM,OAAO,GAAG,IAAA,cAAI,EAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,IAAA,cAAI,EAAC,oBAAoB,EAAE;QACnD,iBAAiB,EAAE,CAAC,UAAU;KAC/B,CAAC,CAAC;IAEH,MAAM,eAAe,mCAChB,UAAU,KACb,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,OAAkB,EAC3B,IAAI,EAAE,iBAA6B,GACpC,CAAC;IAEF,MAAM,eAAe,mCAChB,UAAU,KACb,SAAS,EAAE,iBAAiB,GAC7B,CAAC;IAEF,OAAO,CACL,uBAAC,WAAI,kBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAC,QAAQ,IAAK,IAAI,cAClE,wBAAC,WAAI,kBACH,SAAS,EAAC,yBAAyB,EACnC,cAAc,EAAC,eAAe,EAC9B,UAAU,EAAC,QAAQ,iBAElB,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,CACnB,uBAAC,uBAAU,oBAAK,eAAe,IAAE,IAAI,EAAE,eAAe,CAAC,IAAK,gBACzD,SAAS,IACC,CACd,EACA,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,CACnB,uBAAC,uBAAU,oBAAK,eAAe,IAAE,IAAI,EAAE,eAAe,CAAC,IAAK,gBACzD,SAAS,IACC,CACd,KACI,IACF,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAGI,0BAAO;AADhB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC"}
|
|
@@ -7,40 +7,33 @@ const ACTION_CLASS_NAME = "chopin/Actions";
|
|
|
7
7
|
const BACK_ACTION_CLASS_NAME = "chopin/ActionsBack";
|
|
8
8
|
const NEXT_ACTION_CLASS_NAME = "chopin/ActionsNext";
|
|
9
9
|
const NEXT_SINGLE_ACTION_CLASS_NAME = "--single-action";
|
|
10
|
-
const backLink = "https://test.com";
|
|
11
10
|
const backLabel = "Back";
|
|
12
|
-
const nextLabel = "Next step";
|
|
13
|
-
const nextLink = "https://test.com";
|
|
14
|
-
const mockOnNextClick = jest.fn();
|
|
15
11
|
const mockOnBackClick = jest.fn();
|
|
12
|
+
const BackButton = {
|
|
13
|
+
href: "https://test.com",
|
|
14
|
+
};
|
|
15
|
+
const mockOnNextClick = jest.fn();
|
|
16
|
+
const nextLabel = "Next step";
|
|
17
|
+
const NextButton = {
|
|
18
|
+
href: "https://test.com",
|
|
19
|
+
};
|
|
16
20
|
describe("Actions", () => {
|
|
17
|
-
it("should render without errors", () => {
|
|
18
|
-
const component = (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, {}));
|
|
19
|
-
expect(component).toBeTruthy();
|
|
20
|
-
});
|
|
21
21
|
describe("uses correct class names", () => {
|
|
22
|
-
it("uses Chopin class", () => {
|
|
23
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { "data-testid": "test-id" }));
|
|
24
|
-
expect(react_1.screen.getByTestId("test-id")).toHaveClass("chopin");
|
|
25
|
-
});
|
|
26
|
-
it("uses chopin/Actions class", () => {
|
|
27
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { "data-testid": "test-id" }));
|
|
28
|
-
expect(react_1.screen.getByTestId("test-id")).toHaveClass(ACTION_CLASS_NAME);
|
|
29
|
-
});
|
|
30
22
|
it("includes custom class name", () => {
|
|
31
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { "data-testid": "test-id", className: "my-class" }));
|
|
23
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { "data-testid": "test-id", className: "my-class", nextButton: Object.assign({}, NextButton), nextLabel: nextLabel, backButton: Object.assign({}, BackButton), backLabel: backLabel }));
|
|
24
|
+
expect(react_1.screen.getByTestId("test-id")).toHaveClass("chopin");
|
|
32
25
|
expect(react_1.screen.getByTestId("test-id")).toHaveClass("my-class");
|
|
33
26
|
expect(react_1.screen.getByTestId("test-id")).toHaveClass(ACTION_CLASS_NAME);
|
|
34
27
|
});
|
|
35
28
|
it("uses links class names", () => {
|
|
36
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, {
|
|
29
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { backButton: Object.assign({}, BackButton), backLabel: backLabel, nextButton: Object.assign({}, NextButton), nextLabel: nextLabel }));
|
|
37
30
|
const nextLinkEl = react_1.screen.getByRole("link", { name: /next step/i });
|
|
38
31
|
expect(react_1.screen.getByRole("link", { name: /back/i })).toHaveClass(BACK_ACTION_CLASS_NAME);
|
|
39
32
|
expect(nextLinkEl).toHaveClass(NEXT_ACTION_CLASS_NAME);
|
|
40
33
|
expect(nextLinkEl).not.toHaveClass(NEXT_SINGLE_ACTION_CLASS_NAME);
|
|
41
34
|
});
|
|
42
35
|
it("uses --single-action class name with one action btn", () => {
|
|
43
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, {
|
|
36
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { nextButton: Object.assign({}, NextButton), nextLabel: nextLabel }));
|
|
44
37
|
expect(react_1.screen.getByRole("link", { name: /next step/i })).toHaveClass(NEXT_SINGLE_ACTION_CLASS_NAME);
|
|
45
38
|
});
|
|
46
39
|
});
|
|
@@ -58,7 +51,7 @@ describe("Actions", () => {
|
|
|
58
51
|
})).not.toBeInTheDocument();
|
|
59
52
|
});
|
|
60
53
|
it("renders button elements if elementType is button", () => {
|
|
61
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, {
|
|
54
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { backButton: Object.assign(Object.assign({}, BackButton), { elementType: "button" }), backLabel: backLabel, nextButton: Object.assign(Object.assign({}, NextButton), { elementType: "button" }), nextLabel: nextLabel }));
|
|
62
55
|
expect(react_1.screen.queryByRole("link", {
|
|
63
56
|
name: /back/i,
|
|
64
57
|
})).not.toBeInTheDocument();
|
|
@@ -73,21 +66,28 @@ describe("Actions", () => {
|
|
|
73
66
|
})).toBeInTheDocument();
|
|
74
67
|
});
|
|
75
68
|
it("fires onNextClick handler on click event", () => {
|
|
76
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, {
|
|
69
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { backButton: Object.assign({}, BackButton), backLabel: backLabel, nextButton: Object.assign(Object.assign({}, NextButton), { elementType: "button", onClick: mockOnNextClick }), nextLabel: nextLabel }));
|
|
77
70
|
const nextActionBtn = react_1.screen.getByRole("button", {
|
|
78
|
-
name: /
|
|
71
|
+
name: /Next step/i,
|
|
79
72
|
});
|
|
80
73
|
react_1.fireEvent.click(nextActionBtn);
|
|
81
74
|
expect(mockOnNextClick).toHaveBeenCalledTimes(1);
|
|
82
75
|
});
|
|
83
76
|
it("fires onBackClick handler on click event", () => {
|
|
84
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, {
|
|
77
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { backButton: Object.assign(Object.assign({}, BackButton), { elementType: "button", onClick: mockOnBackClick }), backLabel: backLabel, nextButton: Object.assign({}, NextButton), nextLabel: nextLabel }));
|
|
85
78
|
const backActionBtn = react_1.screen.getByRole("button", {
|
|
86
|
-
name: /
|
|
79
|
+
name: /Back/i,
|
|
87
80
|
});
|
|
88
81
|
react_1.fireEvent.click(backActionBtn);
|
|
89
82
|
expect(mockOnBackClick).toHaveBeenCalledTimes(1);
|
|
90
83
|
});
|
|
84
|
+
it("allows buttons to be disabled", () => {
|
|
85
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Actions, { nextButton: Object.assign(Object.assign({}, NextButton), { elementType: "button", isDisabled: true }), nextLabel: nextLabel }));
|
|
86
|
+
const nextActionBtn = react_1.screen.getByRole("button", {
|
|
87
|
+
name: /Next step/i,
|
|
88
|
+
});
|
|
89
|
+
expect(nextActionBtn).toHaveClass("--is-disabled");
|
|
90
|
+
});
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
93
|
//# sourceMappingURL=Actions.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.test.tsx"],"names":[],"mappings":";;;AAAA,kDAAmE;AACnE,wBAA4B;AAE5B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;AAExD,MAAM,
|
|
1
|
+
{"version":3,"file":"Actions.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ function Question({ label, description, children, errorMessage, validationState,
|
|
|
31
31
|
"--is-valid": validationState === "valid",
|
|
32
32
|
"--is-invalid": validationState === "invalid",
|
|
33
33
|
});
|
|
34
|
-
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: classes }, { children: [(0, jsx_runtime_1.jsx)(Label_1.Label, Object.assign({ htmlFor: forAttr, id: labelId, className: labelClasses }, { children: label })), help && ((0, jsx_runtime_1.jsx)(QuestionHelp_1.QuestionHelp, Object.assign({ onChange: handleChange, isDesktop: isDesktop }, { children: help }))), description && ((0, jsx_runtime_1.jsx)(DescriptionComponent, Object.assign({ id: descriptionId, className: "chopin/QuestionDescription" }, { children: description }))), react_1.Children.map(children, child => (0, react_1.isValidElement)(child)
|
|
34
|
+
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: classes }, { children: [(0, jsx_runtime_1.jsx)(Label_1.Label, Object.assign({ elementType: children ? "label" : "span", htmlFor: forAttr, id: labelId, className: labelClasses }, { children: label })), help && ((0, jsx_runtime_1.jsx)(QuestionHelp_1.QuestionHelp, Object.assign({ onChange: handleChange, isDesktop: isDesktop }, { children: help }))), description && ((0, jsx_runtime_1.jsx)(DescriptionComponent, Object.assign({ id: descriptionId, className: "chopin/QuestionDescription" }, { children: description }))), react_1.Children.map(children, child => (0, react_1.isValidElement)(child)
|
|
35
35
|
? (0, react_1.cloneElement)(child, {
|
|
36
36
|
errorMessage,
|
|
37
37
|
validationState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Question/Question.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAOe;AACf,gDAAwB;AACxB,6CAA0C;AAC1C,0CAA+C;AAC/C,uCAAoC;AACpC,qCAAkC;AAClC,+DAA4D;AAY5D,SAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,IAAI,EACJ,SAAS,GACK;IACd,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAA,aAAK,GAAE,CAAC;IACxB,MAAM,aAAa,GAAG,IAAA,aAAK,GAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAA,aAAK,GAAE,CAAC;IACxB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,qBAAa,GAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,IAAA,cAAI,EAClB,QAAQ,EACR,iBAAiB,EACjB;QACE,iBAAiB,EAAE,MAAM;KAC1B,EACD,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAC/B,SAAS,CACV,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE;QACtC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,mCAAmC;IACnC,MAAM,oBAAoB,GAAG,IAAA,sBAAc,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAI,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,cAAI,EAAC,sBAAsB,EAAE;QAChD,YAAY,EAAE,eAAe,KAAK,OAAO;QACzC,cAAc,EAAE,eAAe,KAAK,SAAS;KAC9C,CAAC,CAAC;IAEH,OAAO,CACL,+CAAK,SAAS,EAAE,OAAO,iBACrB,uBAAC,aAAK,
|
|
1
|
+
{"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Question/Question.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAOe;AACf,gDAAwB;AACxB,6CAA0C;AAC1C,0CAA+C;AAC/C,uCAAoC;AACpC,qCAAkC;AAClC,+DAA4D;AAY5D,SAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,IAAI,EACJ,SAAS,GACK;IACd,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAA,aAAK,GAAE,CAAC;IACxB,MAAM,aAAa,GAAG,IAAA,aAAK,GAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAA,aAAK,GAAE,CAAC;IACxB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,qBAAa,GAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,IAAA,cAAI,EAClB,QAAQ,EACR,iBAAiB,EACjB;QACE,iBAAiB,EAAE,MAAM;KAC1B,EACD,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAC/B,SAAS,CACV,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE;QACtC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,mCAAmC;IACnC,MAAM,oBAAoB,GAAG,IAAA,sBAAc,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAI,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,cAAI,EAAC,sBAAsB,EAAE;QAChD,YAAY,EAAE,eAAe,KAAK,OAAO;QACzC,cAAc,EAAE,eAAe,KAAK,SAAS;KAC9C,CAAC,CAAC;IAEH,OAAO,CACL,+CAAK,SAAS,EAAE,OAAO,iBACrB,uBAAC,aAAK,kBACJ,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EACxC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,OAAO,EACX,SAAS,EAAE,YAAY,gBAEtB,KAAK,IACA,EACP,IAAI,IAAI,CACP,uBAAC,2BAAY,kBAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,gBACvD,IAAI,IACQ,CAChB,EACA,WAAW,IAAI,CACd,uBAAC,oBAAoB,kBACnB,EAAE,EAAE,aAAa,EACjB,SAAS,EAAC,4BAA4B,gBAErC,WAAW,IACS,CACxB,EACA,gBAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAC9B,IAAA,sBAAc,EAAC,KAAK,CAAC;gBACnB,CAAC,CAAC,IAAA,oBAAY,EAAC,KAAK,EAAE;oBAClB,YAAY;oBACZ,eAAe;oBACf,EAAE,EAAE,OAAO;oBACX,iBAAiB,EAAE,OAAO;oBAC1B,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;iBACrD,CAAC;gBACX,CAAC,CAAC,KAAK,CACV,KACG,CACP,CAAC;AACJ,CAAC;AA1ED,4BA0EC"}
|
|
@@ -30,6 +30,12 @@ describe("Question", () => {
|
|
|
30
30
|
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Question, Object.assign({ label: "Question", description: "Sample description", errorMessage: "Sample error" }, { children: (0, jsx_runtime_1.jsx)(TextField_1.TextField, {}) })));
|
|
31
31
|
expect(react_1.screen.getByLabelText("Question")).toHaveAccessibleDescription("Sample error Sample description");
|
|
32
32
|
});
|
|
33
|
+
describe("given no input component is provided", () => {
|
|
34
|
+
it("renders label text as span element", () => {
|
|
35
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Question, { label: "Question label", description: "Sample description", errorMessage: "Sample error" }));
|
|
36
|
+
expect(react_1.screen.getByText("Question label").tagName).toBe("SPAN");
|
|
37
|
+
});
|
|
38
|
+
});
|
|
33
39
|
describe("uses correct Question class name", () => {
|
|
34
40
|
it("uses chopin class", () => {
|
|
35
41
|
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Question, Object.assign({ label: "Question" }, { children: (0, jsx_runtime_1.jsx)(TextField_1.TextField, {}) })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Question.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Question/Question.test.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Question.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Question/Question.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ __exportStar(require("./Breadcrumbs"), exports);
|
|
|
35
35
|
__exportStar(require("./Button"), exports);
|
|
36
36
|
__exportStar(require("./Checkbox"), exports);
|
|
37
37
|
__exportStar(require("./Container"), exports);
|
|
38
|
+
__exportStar(require("./DatePicker"), exports);
|
|
38
39
|
__exportStar(require("./Divider"), exports);
|
|
39
40
|
__exportStar(require("./DropdownMenu"), exports);
|
|
40
41
|
__exportStar(require("./ErrorMessage"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAE1B,wBAAM;AAEf,8CAA4B;AAC5B,wCAAsB;AACtB,gDAA8B;AAC9B,2CAAyB;AACzB,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,iDAA+B;AAC/B,iDAA+B;AAC/B,6CAA2B;AAC3B,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB;AACvB,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,+CAA6B;AAC7B,yCAAuB;AACvB,qDAAmC;AACnC,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,6CAA2B;AAC3B,kDAAgC;AAChC,8CAA4B;AAC5B,0CAAwB;AACxB,mDAAiC;AACjC,0CAAwB;AACxB,8CAA4B;AAC5B,kDAAgC;AAChC,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAE1B,wBAAM;AAEf,8CAA4B;AAC5B,wCAAsB;AACtB,gDAA8B;AAC9B,2CAAyB;AACzB,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,4CAA0B;AAC1B,iDAA+B;AAC/B,iDAA+B;AAC/B,6CAA2B;AAC3B,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB;AACvB,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,+CAA6B;AAC7B,yCAAuB;AACvB,qDAAmC;AACnC,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,6CAA2B;AAC3B,kDAAgC;AAChC,8CAA4B;AAC5B,0CAAwB;AACxB,mDAAiC;AACjC,0CAAwB;AACxB,8CAA4B;AAC5B,kDAAgC;AAChC,gDAA8B"}
|
|
@@ -15,28 +15,14 @@ import clsx from "clsx";
|
|
|
15
15
|
import { Flex } from "../../Flex";
|
|
16
16
|
import { LinkButton } from "../../LinkButton";
|
|
17
17
|
const Actions = forwardRef((props, ref) => {
|
|
18
|
-
const {
|
|
18
|
+
const { className, backButton, nextButton, backLabel, nextLabel } = props, rest = __rest(props, ["className", "backButton", "nextButton", "backLabel", "nextLabel"]);
|
|
19
19
|
const classes = clsx("chopin", "chopin/Actions", className);
|
|
20
20
|
const nextButtonClasses = clsx("chopin/ActionsNext", {
|
|
21
|
-
"--single-action": !
|
|
21
|
+
"--single-action": !backButton,
|
|
22
22
|
});
|
|
23
|
-
const backButtonProps = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
variant: "basic",
|
|
27
|
-
icon: "buttonArrowLeft",
|
|
28
|
-
href: backLink,
|
|
29
|
-
to: backLink,
|
|
30
|
-
elementType: backElementType,
|
|
31
|
-
};
|
|
32
|
-
const nextButtonProps = {
|
|
33
|
-
className: nextButtonClasses,
|
|
34
|
-
onClick: onNextClick,
|
|
35
|
-
href: nextLink,
|
|
36
|
-
to: nextLink,
|
|
37
|
-
elementType: nextElementType,
|
|
38
|
-
};
|
|
39
|
-
return (_jsx(Flex, Object.assign({ ref: ref, className: classes, justifyContent: "center" }, rest, { children: _jsxs(Flex, Object.assign({ className: "chopin/ActionsContainer", justifyContent: "space-between", alignItems: "center" }, { children: [backLink && (_jsx(LinkButton, Object.assign({}, backButtonProps, { children: backLabel }))), nextLink && (_jsx(LinkButton, Object.assign({}, nextButtonProps, { children: nextLabel })))] })) })));
|
|
23
|
+
const backButtonProps = Object.assign(Object.assign({}, backButton), { className: "chopin/ActionsBack", variant: "basic", icon: "buttonArrowLeft" });
|
|
24
|
+
const nextButtonProps = Object.assign(Object.assign({}, nextButton), { className: nextButtonClasses });
|
|
25
|
+
return (_jsx(Flex, Object.assign({ ref: ref, className: classes, justifyContent: "center" }, rest, { children: _jsxs(Flex, Object.assign({ className: "chopin/ActionsContainer", justifyContent: "space-between", alignItems: "center" }, { children: [(backButton === null || backButton === void 0 ? void 0 : backButton.href) && (_jsx(LinkButton, Object.assign({}, backButtonProps, { href: backButtonProps.href }, { children: backLabel }))), (nextButton === null || nextButton === void 0 ? void 0 : nextButton.href) && (_jsx(LinkButton, Object.assign({}, nextButtonProps, { href: nextButtonProps.href }, { children: nextLabel })))] })) })));
|
|
40
26
|
});
|
|
41
27
|
Actions.displayName = "Actions";
|
|
42
28
|
export { Actions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAO,MAAM,OAAO,CAAC;AAExC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAO,MAAM,OAAO,CAAC;AAExC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAC;AAepE,MAAM,OAAO,GACX,UAAU,CAAC,CAAC,KAAmB,EAAE,GAAe,EAAE,EAAE;IAClD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,KAC7D,KAAK,EAD6D,IAAI,UACtE,KAAK,EADD,mEAAoE,CACnE,CAAC;IAER,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE;QACnD,iBAAiB,EAAE,CAAC,UAAU;KAC/B,CAAC,CAAC;IAEH,MAAM,eAAe,mCAChB,UAAU,KACb,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,OAAkB,EAC3B,IAAI,EAAE,iBAA6B,GACpC,CAAC;IAEF,MAAM,eAAe,mCAChB,UAAU,KACb,SAAS,EAAE,iBAAiB,GAC7B,CAAC;IAEF,OAAO,CACL,KAAC,IAAI,kBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAC,QAAQ,IAAK,IAAI,cAClE,MAAC,IAAI,kBACH,SAAS,EAAC,yBAAyB,EACnC,cAAc,EAAC,eAAe,EAC9B,UAAU,EAAC,QAAQ,iBAElB,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,CACnB,KAAC,UAAU,oBAAK,eAAe,IAAE,IAAI,EAAE,eAAe,CAAC,IAAK,gBACzD,SAAS,IACC,CACd,EACA,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,CACnB,KAAC,UAAU,oBAAK,eAAe,IAAE,IAAI,EAAE,eAAe,CAAC,IAAK,gBACzD,SAAS,IACC,CACd,KACI,IACF,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -5,40 +5,33 @@ const ACTION_CLASS_NAME = "chopin/Actions";
|
|
|
5
5
|
const BACK_ACTION_CLASS_NAME = "chopin/ActionsBack";
|
|
6
6
|
const NEXT_ACTION_CLASS_NAME = "chopin/ActionsNext";
|
|
7
7
|
const NEXT_SINGLE_ACTION_CLASS_NAME = "--single-action";
|
|
8
|
-
const backLink = "https://test.com";
|
|
9
8
|
const backLabel = "Back";
|
|
10
|
-
const nextLabel = "Next step";
|
|
11
|
-
const nextLink = "https://test.com";
|
|
12
|
-
const mockOnNextClick = jest.fn();
|
|
13
9
|
const mockOnBackClick = jest.fn();
|
|
10
|
+
const BackButton = {
|
|
11
|
+
href: "https://test.com",
|
|
12
|
+
};
|
|
13
|
+
const mockOnNextClick = jest.fn();
|
|
14
|
+
const nextLabel = "Next step";
|
|
15
|
+
const NextButton = {
|
|
16
|
+
href: "https://test.com",
|
|
17
|
+
};
|
|
14
18
|
describe("Actions", () => {
|
|
15
|
-
it("should render without errors", () => {
|
|
16
|
-
const component = render(_jsx(Actions, {}));
|
|
17
|
-
expect(component).toBeTruthy();
|
|
18
|
-
});
|
|
19
19
|
describe("uses correct class names", () => {
|
|
20
|
-
it("uses Chopin class", () => {
|
|
21
|
-
render(_jsx(Actions, { "data-testid": "test-id" }));
|
|
22
|
-
expect(screen.getByTestId("test-id")).toHaveClass("chopin");
|
|
23
|
-
});
|
|
24
|
-
it("uses chopin/Actions class", () => {
|
|
25
|
-
render(_jsx(Actions, { "data-testid": "test-id" }));
|
|
26
|
-
expect(screen.getByTestId("test-id")).toHaveClass(ACTION_CLASS_NAME);
|
|
27
|
-
});
|
|
28
20
|
it("includes custom class name", () => {
|
|
29
|
-
render(_jsx(Actions, { "data-testid": "test-id", className: "my-class" }));
|
|
21
|
+
render(_jsx(Actions, { "data-testid": "test-id", className: "my-class", nextButton: Object.assign({}, NextButton), nextLabel: nextLabel, backButton: Object.assign({}, BackButton), backLabel: backLabel }));
|
|
22
|
+
expect(screen.getByTestId("test-id")).toHaveClass("chopin");
|
|
30
23
|
expect(screen.getByTestId("test-id")).toHaveClass("my-class");
|
|
31
24
|
expect(screen.getByTestId("test-id")).toHaveClass(ACTION_CLASS_NAME);
|
|
32
25
|
});
|
|
33
26
|
it("uses links class names", () => {
|
|
34
|
-
render(_jsx(Actions, {
|
|
27
|
+
render(_jsx(Actions, { backButton: Object.assign({}, BackButton), backLabel: backLabel, nextButton: Object.assign({}, NextButton), nextLabel: nextLabel }));
|
|
35
28
|
const nextLinkEl = screen.getByRole("link", { name: /next step/i });
|
|
36
29
|
expect(screen.getByRole("link", { name: /back/i })).toHaveClass(BACK_ACTION_CLASS_NAME);
|
|
37
30
|
expect(nextLinkEl).toHaveClass(NEXT_ACTION_CLASS_NAME);
|
|
38
31
|
expect(nextLinkEl).not.toHaveClass(NEXT_SINGLE_ACTION_CLASS_NAME);
|
|
39
32
|
});
|
|
40
33
|
it("uses --single-action class name with one action btn", () => {
|
|
41
|
-
render(_jsx(Actions, {
|
|
34
|
+
render(_jsx(Actions, { nextButton: Object.assign({}, NextButton), nextLabel: nextLabel }));
|
|
42
35
|
expect(screen.getByRole("link", { name: /next step/i })).toHaveClass(NEXT_SINGLE_ACTION_CLASS_NAME);
|
|
43
36
|
});
|
|
44
37
|
});
|
|
@@ -56,7 +49,7 @@ describe("Actions", () => {
|
|
|
56
49
|
})).not.toBeInTheDocument();
|
|
57
50
|
});
|
|
58
51
|
it("renders button elements if elementType is button", () => {
|
|
59
|
-
render(_jsx(Actions, {
|
|
52
|
+
render(_jsx(Actions, { backButton: Object.assign(Object.assign({}, BackButton), { elementType: "button" }), backLabel: backLabel, nextButton: Object.assign(Object.assign({}, NextButton), { elementType: "button" }), nextLabel: nextLabel }));
|
|
60
53
|
expect(screen.queryByRole("link", {
|
|
61
54
|
name: /back/i,
|
|
62
55
|
})).not.toBeInTheDocument();
|
|
@@ -71,21 +64,28 @@ describe("Actions", () => {
|
|
|
71
64
|
})).toBeInTheDocument();
|
|
72
65
|
});
|
|
73
66
|
it("fires onNextClick handler on click event", () => {
|
|
74
|
-
render(_jsx(Actions, {
|
|
67
|
+
render(_jsx(Actions, { backButton: Object.assign({}, BackButton), backLabel: backLabel, nextButton: Object.assign(Object.assign({}, NextButton), { elementType: "button", onClick: mockOnNextClick }), nextLabel: nextLabel }));
|
|
75
68
|
const nextActionBtn = screen.getByRole("button", {
|
|
76
|
-
name: /
|
|
69
|
+
name: /Next step/i,
|
|
77
70
|
});
|
|
78
71
|
fireEvent.click(nextActionBtn);
|
|
79
72
|
expect(mockOnNextClick).toHaveBeenCalledTimes(1);
|
|
80
73
|
});
|
|
81
74
|
it("fires onBackClick handler on click event", () => {
|
|
82
|
-
render(_jsx(Actions, {
|
|
75
|
+
render(_jsx(Actions, { backButton: Object.assign(Object.assign({}, BackButton), { elementType: "button", onClick: mockOnBackClick }), backLabel: backLabel, nextButton: Object.assign({}, NextButton), nextLabel: nextLabel }));
|
|
83
76
|
const backActionBtn = screen.getByRole("button", {
|
|
84
|
-
name: /
|
|
77
|
+
name: /Back/i,
|
|
85
78
|
});
|
|
86
79
|
fireEvent.click(backActionBtn);
|
|
87
80
|
expect(mockOnBackClick).toHaveBeenCalledTimes(1);
|
|
88
81
|
});
|
|
82
|
+
it("allows buttons to be disabled", () => {
|
|
83
|
+
render(_jsx(Actions, { nextButton: Object.assign(Object.assign({}, NextButton), { elementType: "button", isDisabled: true }), nextLabel: nextLabel }));
|
|
84
|
+
const nextActionBtn = screen.getByRole("button", {
|
|
85
|
+
name: /Next step/i,
|
|
86
|
+
});
|
|
87
|
+
expect(nextActionBtn).toHaveClass("--is-disabled");
|
|
88
|
+
});
|
|
89
89
|
});
|
|
90
90
|
});
|
|
91
91
|
//# sourceMappingURL=Actions.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;AAExD,MAAM,
|
|
1
|
+
{"version":3,"file":"Actions.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;AAExD,MAAM,SAAS,GAAG,MAAM,CAAC;AACzB,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAClC,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,kBAAkB;CACzB,CAAC;AACF,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAClC,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,kBAAkB;CACzB,CAAC;AAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CACJ,KAAC,OAAO,mBACM,SAAS,EACrB,SAAS,EAAC,UAAU,EACpB,UAAU,oBAAO,UAAU,GAC3B,SAAS,EAAE,SAAS,EACpB,UAAU,oBAAO,UAAU,GAC3B,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,MAAM,CACJ,KAAC,OAAO,IACN,UAAU,oBAAO,UAAU,GAC3B,SAAS,EAAE,SAAS,EACpB,UAAU,oBAAO,UAAU,GAC3B,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,CAC7D,sBAAsB,CACvB,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YACvD,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,KAAC,OAAO,IAAC,UAAU,oBAAO,UAAU,GAAI,SAAS,EAAE,SAAS,GAAI,CAAC,CAAC;YACzE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,WAAW,CAClE,6BAA6B,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC9D,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,CAAC,KAAC,OAAO,IAAC,SAAS,EAAE,SAAS,GAAI,CAAC,CAAC;YAC1C,MAAM,CACJ,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,CAAC,KAAC,OAAO,IAAC,SAAS,EAAE,SAAS,GAAI,CAAC,CAAC;YAC1C,MAAM,CACJ,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,YAAY;aACnB,CAAC,CACH,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CACJ,KAAC,OAAO,IACN,UAAU,kCAAO,UAAU,KAAE,WAAW,EAAE,QAAQ,KAClD,SAAS,EAAE,SAAS,EACpB,UAAU,kCAAO,UAAU,KAAE,WAAW,EAAE,QAAQ,KAClD,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;YACF,MAAM,CACJ,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC1B,MAAM,CACJ,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,YAAY;aACnB,CAAC,CACH,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC1B,MAAM,CACJ,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACzB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,iBAAiB,EAAE,CAAC;YACtB,MAAM,CACJ,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACzB,IAAI,EAAE,YAAY;aACnB,CAAC,CACH,CAAC,iBAAiB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CACJ,KAAC,OAAO,IACN,UAAU,oBAAO,UAAU,GAC3B,SAAS,EAAE,SAAS,EACpB,UAAU,kCACL,UAAU,KACb,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,eAAe,KAE1B,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC/C,IAAI,EAAE,YAAY;aACnB,CAAC,CAAC;YACH,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/B,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CACJ,KAAC,OAAO,IACN,UAAU,kCACL,UAAU,KACb,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,eAAe,KAE1B,SAAS,EAAE,SAAS,EACpB,UAAU,oBAAO,UAAU,GAC3B,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC/C,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YACH,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/B,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,CACJ,KAAC,OAAO,IACN,UAAU,kCACL,UAAU,KACb,WAAW,EAAE,QAAQ,EACrB,UAAU,EAAE,IAAI,KAElB,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC/C,IAAI,EAAE,YAAY;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -25,7 +25,7 @@ export function Question({ label, description, children, errorMessage, validatio
|
|
|
25
25
|
"--is-valid": validationState === "valid",
|
|
26
26
|
"--is-invalid": validationState === "invalid",
|
|
27
27
|
});
|
|
28
|
-
return (_jsxs("div", Object.assign({ className: classes }, { children: [_jsx(Label, Object.assign({ htmlFor: forAttr, id: labelId, className: labelClasses }, { children: label })), help && (_jsx(QuestionHelp, Object.assign({ onChange: handleChange, isDesktop: isDesktop }, { children: help }))), description && (_jsx(DescriptionComponent, Object.assign({ id: descriptionId, className: "chopin/QuestionDescription" }, { children: description }))), Children.map(children, child => isValidElement(child)
|
|
28
|
+
return (_jsxs("div", Object.assign({ className: classes }, { children: [_jsx(Label, Object.assign({ elementType: children ? "label" : "span", htmlFor: forAttr, id: labelId, className: labelClasses }, { children: label })), help && (_jsx(QuestionHelp, Object.assign({ onChange: handleChange, isDesktop: isDesktop }, { children: help }))), description && (_jsx(DescriptionComponent, Object.assign({ id: descriptionId, className: "chopin/QuestionDescription" }, { children: description }))), Children.map(children, child => isValidElement(child)
|
|
29
29
|
? cloneElement(child, {
|
|
30
30
|
errorMessage,
|
|
31
31
|
validationState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Question/Question.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EAEd,QAAQ,GAET,MAAM,OAAO,CAAC;AACf,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAY5D,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,IAAI,EACJ,SAAS,GACK;IACd,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,aAAa,GAAG,KAAK,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,IAAI,CAClB,QAAQ,EACR,iBAAiB,EACjB;QACE,iBAAiB,EAAE,MAAM;KAC1B,EACD,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAC/B,SAAS,CACV,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE;QACtC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,mCAAmC;IACnC,MAAM,oBAAoB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAExE,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE;QAChD,YAAY,EAAE,eAAe,KAAK,OAAO;QACzC,cAAc,EAAE,eAAe,KAAK,SAAS;KAC9C,CAAC,CAAC;IAEH,OAAO,CACL,6BAAK,SAAS,EAAE,OAAO,iBACrB,KAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Question/Question.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EAEd,QAAQ,GAET,MAAM,OAAO,CAAC;AACf,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAY5D,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,IAAI,EACJ,SAAS,GACK;IACd,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,aAAa,GAAG,KAAK,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,IAAI,CAClB,QAAQ,EACR,iBAAiB,EACjB;QACE,iBAAiB,EAAE,MAAM;KAC1B,EACD,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAC/B,SAAS,CACV,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE;QACtC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,mCAAmC;IACnC,MAAM,oBAAoB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAExE,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE;QAChD,YAAY,EAAE,eAAe,KAAK,OAAO;QACzC,cAAc,EAAE,eAAe,KAAK,SAAS;KAC9C,CAAC,CAAC;IAEH,OAAO,CACL,6BAAK,SAAS,EAAE,OAAO,iBACrB,KAAC,KAAK,kBACJ,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EACxC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,OAAO,EACX,SAAS,EAAE,YAAY,gBAEtB,KAAK,IACA,EACP,IAAI,IAAI,CACP,KAAC,YAAY,kBAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,gBACvD,IAAI,IACQ,CAChB,EACA,WAAW,IAAI,CACd,KAAC,oBAAoB,kBACnB,EAAE,EAAE,aAAa,EACjB,SAAS,EAAC,4BAA4B,gBAErC,WAAW,IACS,CACxB,EACA,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAC9B,cAAc,CAAC,KAAK,CAAC;gBACnB,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;oBAClB,YAAY;oBACZ,eAAe;oBACf,EAAE,EAAE,OAAO;oBACX,iBAAiB,EAAE,OAAO;oBAC1B,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;iBACrD,CAAC;gBACX,CAAC,CAAC,KAAK,CACV,KACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -25,6 +25,12 @@ describe("Question", () => {
|
|
|
25
25
|
render(_jsx(Question, Object.assign({ label: "Question", description: "Sample description", errorMessage: "Sample error" }, { children: _jsx(TextField, {}) })));
|
|
26
26
|
expect(screen.getByLabelText("Question")).toHaveAccessibleDescription("Sample error Sample description");
|
|
27
27
|
});
|
|
28
|
+
describe("given no input component is provided", () => {
|
|
29
|
+
it("renders label text as span element", () => {
|
|
30
|
+
render(_jsx(Question, { label: "Question label", description: "Sample description", errorMessage: "Sample error" }));
|
|
31
|
+
expect(screen.getByText("Question label").tagName).toBe("SPAN");
|
|
32
|
+
});
|
|
33
|
+
});
|
|
28
34
|
describe("uses correct Question class name", () => {
|
|
29
35
|
it("uses chopin class", () => {
|
|
30
36
|
const { container } = render(_jsx(Question, Object.assign({ label: "Question" }, { children: _jsx(TextField, {}) })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Question.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Question/Question.test.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Question.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Question/Question.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
|
package/dist/mobius.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { AriaBreadcrumbsProps } from '@react-types/breadcrumbs';
|
|
|
5
5
|
import type { AriaButtonProps } from '@react-types/button';
|
|
6
6
|
import type { AriaCheckboxGroupProps } from '@react-types/checkbox';
|
|
7
7
|
import { AriaCheckboxProps } from '@react-types/checkbox';
|
|
8
|
+
import { AriaDatePickerProps } from '@react-aria/datepicker';
|
|
8
9
|
import { AriaLinkProps } from '@react-types/link';
|
|
9
10
|
import { AriaNumberFieldProps } from '@react-aria/numberfield';
|
|
10
11
|
import type { AriaProgressBarProps } from '@react-types/progress';
|
|
@@ -15,6 +16,8 @@ import type { CheckboxGroupProps as CheckboxGroupProps_2 } from '@react-types/ch
|
|
|
15
16
|
import { Column } from 'react-table';
|
|
16
17
|
import { ComponentProps } from 'react';
|
|
17
18
|
import { Context } from 'react';
|
|
19
|
+
import { DatePickerStateOptions } from '@react-stately/datepicker';
|
|
20
|
+
import { DateValue } from '@internationalized/date';
|
|
18
21
|
import { DOMProps } from '@react-types/shared';
|
|
19
22
|
import { FC } from 'react';
|
|
20
23
|
import { FocusEvents } from '@react-types/shared';
|
|
@@ -27,6 +30,7 @@ import { IconName } from '@simplybusiness/icons';
|
|
|
27
30
|
import { JSX as JSX_2 } from '@emotion/react/jsx-runtime';
|
|
28
31
|
import { LabelableProps } from '@react-types/shared';
|
|
29
32
|
import { Link as Link_2 } from 'react-router-dom';
|
|
33
|
+
import { parseDate } from '@internationalized/date';
|
|
30
34
|
import type { Property } from 'csstype';
|
|
31
35
|
import { PropsWithoutRef } from 'react';
|
|
32
36
|
import type { RadioGroupProps as RadioGroupProps_2 } from '@react-types/radio';
|
|
@@ -80,14 +84,10 @@ declare type ActionsElementType = HTMLDivElement;
|
|
|
80
84
|
declare interface ActionsProps extends DOMProps {
|
|
81
85
|
/** Custom class name for setting specific CSS */
|
|
82
86
|
className?: string;
|
|
87
|
+
backButton?: LinkButtonProps;
|
|
88
|
+
nextButton?: LinkButtonProps;
|
|
83
89
|
backLabel?: string;
|
|
84
|
-
backLink?: string;
|
|
85
90
|
nextLabel?: string;
|
|
86
|
-
nextLink?: string;
|
|
87
|
-
backElementType?: React.ElementType;
|
|
88
|
-
nextElementType?: React.ElementType;
|
|
89
|
-
onNextClick?: () => void;
|
|
90
|
-
onBackClick?: () => void;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
declare type ActionsRef = Ref<ActionsElementType>;
|
|
@@ -314,6 +314,12 @@ export declare interface DataTableProps extends DOMProps, RefAttributes<DataTabl
|
|
|
314
314
|
|
|
315
315
|
export declare type DataTableRef = Ref<DataTableElementType>;
|
|
316
316
|
|
|
317
|
+
export declare function DatePicker(props: DatePickerProps): JSX_2.Element;
|
|
318
|
+
|
|
319
|
+
export declare interface DatePickerProps extends AriaDatePickerProps<DateValue>, DatePickerStateOptions {
|
|
320
|
+
label: string;
|
|
321
|
+
}
|
|
322
|
+
|
|
317
323
|
export declare const DEFAULT_BREAKPOINT: Breakpoint;
|
|
318
324
|
|
|
319
325
|
export declare const Divider: {
|
|
@@ -751,6 +757,8 @@ export declare interface OptionProps extends RefAttributes<HTMLOptionElement> {
|
|
|
751
757
|
|
|
752
758
|
export declare type OptionRef = Ref<HTMLOptionElement>;
|
|
753
759
|
|
|
760
|
+
export { parseDate }
|
|
761
|
+
|
|
754
762
|
export declare const PasswordField: ForwardRefExoticComponent<Pick<PasswordFieldProps, "type" | "key" | "id" | "name" | "value" | "label" | "pattern" | "className" | "children" | "inputMode" | "description" | "autoComplete" | "autoFocus" | "maxLength" | "minLength" | "defaultValue" | "placeholder" | "aria-activedescendant" | "aria-autocomplete" | "aria-describedby" | "aria-details" | "aria-errormessage" | "aria-haspopup" | "aria-label" | "aria-labelledby" | "onCopy" | "onCut" | "onPaste" | "onCompositionEnd" | "onCompositionStart" | "onCompositionUpdate" | "onFocus" | "onBlur" | "onChange" | "onBeforeInput" | "onInput" | "onKeyDown" | "onKeyUp" | "onSelect" | "excludeFromTabOrder" | "isDisabled" | "errorMessage" | "onFocusChange" | "isRequired" | "isReadOnly" | "validationState" | "onHoverStart" | "onHoverEnd" | "onHoverChange" | "inputElementType"> & RefAttributes<HTMLInputElement>>;
|
|
755
763
|
|
|
756
764
|
export declare interface PasswordFieldProps extends TextFieldProps {
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@ import { excludeControls } from "../../../utils/excludeControls";
|
|
|
17
17
|
|
|
18
18
|
# Actions
|
|
19
19
|
|
|
20
|
-
The `Actions` component includes `Back` and `Next` action buttons and is used within the questionnaire journey.
|
|
20
|
+
The `Actions` component includes `Back` and `Next` action buttons and is used within the questionnaire journey. The `backButton` and `nextButton` props take any of the props for [LinkButton](/docs/components-linkbutton--normal).
|
|
21
21
|
|
|
22
22
|
## Install
|
|
23
23
|
|
|
@@ -36,10 +36,10 @@ import { Chopin } from "@simplybusiness/mobius";
|
|
|
36
36
|
<Story
|
|
37
37
|
name="Normal"
|
|
38
38
|
args={{
|
|
39
|
-
backLink: "https://www.google.com",
|
|
40
|
-
nextLink: "https://www.google.com",
|
|
41
39
|
backLabel: "Back",
|
|
40
|
+
backButton: { href: "https://www.google.com" },
|
|
42
41
|
nextLabel: "Next Step",
|
|
42
|
+
nextButton: { href: "https://www.google.com" },
|
|
43
43
|
}}
|
|
44
44
|
>
|
|
45
45
|
{args => (
|
|
@@ -54,10 +54,10 @@ import { Chopin } from "@simplybusiness/mobius";
|
|
|
54
54
|
import { Chopin } from "@simplybusiness/mobius";
|
|
55
55
|
|
|
56
56
|
<Chopin.Actions
|
|
57
|
-
backLink="https://www.google.com"
|
|
58
|
-
nextLink="https://www.google.com"
|
|
59
57
|
backLabel="Back"
|
|
58
|
+
backButton={ href: "https://www.google.com" }
|
|
60
59
|
nextLabel="Next Step"
|
|
60
|
+
nextButton={ href: "https://www.google.com" }
|
|
61
61
|
/>
|
|
62
62
|
```
|
|
63
63
|
|
|
@@ -66,8 +66,8 @@ import { Chopin } from "@simplybusiness/mobius";
|
|
|
66
66
|
<Story
|
|
67
67
|
name="One Action"
|
|
68
68
|
args={{
|
|
69
|
-
nextLink: "https://www.google.com",
|
|
70
69
|
nextLabel: "Next Step",
|
|
70
|
+
nextButton: { href: "https://www.google.com" },
|
|
71
71
|
}}
|
|
72
72
|
argTypes={excludeControls("backLabel", "backLink")}
|
|
73
73
|
>
|
|
@@ -83,8 +83,8 @@ import { Chopin } from "@simplybusiness/mobius";
|
|
|
83
83
|
import { Chopin } from "@simplybusiness/mobius";
|
|
84
84
|
|
|
85
85
|
<Chopin.Actions
|
|
86
|
-
nextLink="https://www.google.com"
|
|
87
86
|
nextLabel="Next Step"
|
|
87
|
+
nextButton={ href: "https://www.google.com" }
|
|
88
88
|
/>
|
|
89
89
|
```
|
|
90
90
|
|
|
@@ -93,8 +93,8 @@ import { Chopin } from "@simplybusiness/mobius";
|
|
|
93
93
|
<Story
|
|
94
94
|
name="One Back Action"
|
|
95
95
|
args={{
|
|
96
|
-
backLink: "https://www.google.com",
|
|
97
96
|
backLabel: "Back",
|
|
97
|
+
backButton: { href: "https://www.google.com" },
|
|
98
98
|
}}
|
|
99
99
|
argTypes={excludeControls("nextLabel", "nextLink")}
|
|
100
100
|
>
|
|
@@ -110,23 +110,32 @@ import { Chopin } from "@simplybusiness/mobius";
|
|
|
110
110
|
import { Chopin } from "@simplybusiness/mobius";
|
|
111
111
|
|
|
112
112
|
<Chopin.Actions
|
|
113
|
-
backLink="https://www.google.com"
|
|
114
113
|
backLabel="Back"
|
|
114
|
+
backButton={
|
|
115
|
+
href: "https://www.google.com",
|
|
116
|
+
isDisabled: false,
|
|
117
|
+
}
|
|
115
118
|
/>
|
|
116
119
|
```
|
|
117
120
|
|
|
118
|
-
##
|
|
121
|
+
## Disable Actions
|
|
119
122
|
|
|
120
123
|
<Canvas>
|
|
121
124
|
<Story
|
|
122
|
-
name="
|
|
125
|
+
name="Disable Actions"
|
|
123
126
|
args={{
|
|
124
127
|
backLabel: "Back",
|
|
125
|
-
|
|
126
|
-
|
|
128
|
+
backButton: {
|
|
129
|
+
href: "https://www.google.com",
|
|
130
|
+
elementType: "button",
|
|
131
|
+
isDisabled: false,
|
|
132
|
+
},
|
|
127
133
|
nextLabel: "Next Step",
|
|
128
|
-
|
|
129
|
-
|
|
134
|
+
nextButton: {
|
|
135
|
+
href: "https://www.google.com",
|
|
136
|
+
elementType: "button",
|
|
137
|
+
isDisabled: true,
|
|
138
|
+
},
|
|
130
139
|
}}
|
|
131
140
|
>
|
|
132
141
|
{args => (
|
|
@@ -143,11 +152,15 @@ import { Chopin } from "@simplybusiness/mobius";
|
|
|
143
152
|
|
|
144
153
|
<Chopin.Actions
|
|
145
154
|
backLabel="Back"
|
|
146
|
-
|
|
147
|
-
|
|
155
|
+
backButton={
|
|
156
|
+
href: "https://www.google.com",
|
|
157
|
+
isDisabled: false,
|
|
158
|
+
}
|
|
148
159
|
nextLabel="Next Step"
|
|
149
|
-
|
|
150
|
-
|
|
160
|
+
nextButton={
|
|
161
|
+
href: "https://www.google.com",
|
|
162
|
+
isDisabled: true,
|
|
163
|
+
}
|
|
151
164
|
/>
|
|
152
165
|
```
|
|
153
166
|
|
|
@@ -6,32 +6,31 @@ const BACK_ACTION_CLASS_NAME = "chopin/ActionsBack";
|
|
|
6
6
|
const NEXT_ACTION_CLASS_NAME = "chopin/ActionsNext";
|
|
7
7
|
const NEXT_SINGLE_ACTION_CLASS_NAME = "--single-action";
|
|
8
8
|
|
|
9
|
-
const backLink = "https://test.com";
|
|
10
9
|
const backLabel = "Back";
|
|
11
|
-
const nextLabel = "Next step";
|
|
12
|
-
const nextLink = "https://test.com";
|
|
13
|
-
const mockOnNextClick = jest.fn();
|
|
14
10
|
const mockOnBackClick = jest.fn();
|
|
11
|
+
const BackButton = {
|
|
12
|
+
href: "https://test.com",
|
|
13
|
+
};
|
|
14
|
+
const mockOnNextClick = jest.fn();
|
|
15
|
+
const nextLabel = "Next step";
|
|
16
|
+
const NextButton = {
|
|
17
|
+
href: "https://test.com",
|
|
18
|
+
};
|
|
15
19
|
|
|
16
20
|
describe("Actions", () => {
|
|
17
|
-
it("should render without errors", () => {
|
|
18
|
-
const component = render(<Actions />);
|
|
19
|
-
expect(component).toBeTruthy();
|
|
20
|
-
});
|
|
21
|
-
|
|
22
21
|
describe("uses correct class names", () => {
|
|
23
|
-
it("uses Chopin class", () => {
|
|
24
|
-
render(<Actions data-testid="test-id" />);
|
|
25
|
-
expect(screen.getByTestId("test-id")).toHaveClass("chopin");
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it("uses chopin/Actions class", () => {
|
|
29
|
-
render(<Actions data-testid="test-id" />);
|
|
30
|
-
expect(screen.getByTestId("test-id")).toHaveClass(ACTION_CLASS_NAME);
|
|
31
|
-
});
|
|
32
|
-
|
|
33
22
|
it("includes custom class name", () => {
|
|
34
|
-
render(
|
|
23
|
+
render(
|
|
24
|
+
<Actions
|
|
25
|
+
data-testid="test-id"
|
|
26
|
+
className="my-class"
|
|
27
|
+
nextButton={{ ...NextButton }}
|
|
28
|
+
nextLabel={nextLabel}
|
|
29
|
+
backButton={{ ...BackButton }}
|
|
30
|
+
backLabel={backLabel}
|
|
31
|
+
/>,
|
|
32
|
+
);
|
|
33
|
+
expect(screen.getByTestId("test-id")).toHaveClass("chopin");
|
|
35
34
|
expect(screen.getByTestId("test-id")).toHaveClass("my-class");
|
|
36
35
|
expect(screen.getByTestId("test-id")).toHaveClass(ACTION_CLASS_NAME);
|
|
37
36
|
});
|
|
@@ -39,9 +38,9 @@ describe("Actions", () => {
|
|
|
39
38
|
it("uses links class names", () => {
|
|
40
39
|
render(
|
|
41
40
|
<Actions
|
|
42
|
-
|
|
41
|
+
backButton={{ ...BackButton }}
|
|
43
42
|
backLabel={backLabel}
|
|
44
|
-
|
|
43
|
+
nextButton={{ ...NextButton }}
|
|
45
44
|
nextLabel={nextLabel}
|
|
46
45
|
/>,
|
|
47
46
|
);
|
|
@@ -54,7 +53,7 @@ describe("Actions", () => {
|
|
|
54
53
|
});
|
|
55
54
|
|
|
56
55
|
it("uses --single-action class name with one action btn", () => {
|
|
57
|
-
render(<Actions
|
|
56
|
+
render(<Actions nextButton={{ ...NextButton }} nextLabel={nextLabel} />);
|
|
58
57
|
expect(screen.getByRole("link", { name: /next step/i })).toHaveClass(
|
|
59
58
|
NEXT_SINGLE_ACTION_CLASS_NAME,
|
|
60
59
|
);
|
|
@@ -83,11 +82,9 @@ describe("Actions", () => {
|
|
|
83
82
|
it("renders button elements if elementType is button", () => {
|
|
84
83
|
render(
|
|
85
84
|
<Actions
|
|
85
|
+
backButton={{ ...BackButton, elementType: "button" }}
|
|
86
86
|
backLabel={backLabel}
|
|
87
|
-
|
|
88
|
-
backElementType="button"
|
|
89
|
-
nextElementType="button"
|
|
90
|
-
nextLink={nextLink}
|
|
87
|
+
nextButton={{ ...NextButton, elementType: "button" }}
|
|
91
88
|
nextLabel={nextLabel}
|
|
92
89
|
/>,
|
|
93
90
|
);
|
|
@@ -116,14 +113,18 @@ describe("Actions", () => {
|
|
|
116
113
|
it("fires onNextClick handler on click event", () => {
|
|
117
114
|
render(
|
|
118
115
|
<Actions
|
|
119
|
-
|
|
116
|
+
backButton={{ ...BackButton }}
|
|
117
|
+
backLabel={backLabel}
|
|
118
|
+
nextButton={{
|
|
119
|
+
...NextButton,
|
|
120
|
+
elementType: "button",
|
|
121
|
+
onClick: mockOnNextClick,
|
|
122
|
+
}}
|
|
120
123
|
nextLabel={nextLabel}
|
|
121
|
-
nextElementType="button"
|
|
122
|
-
onNextClick={mockOnNextClick}
|
|
123
124
|
/>,
|
|
124
125
|
);
|
|
125
126
|
const nextActionBtn = screen.getByRole("button", {
|
|
126
|
-
name: /
|
|
127
|
+
name: /Next step/i,
|
|
127
128
|
});
|
|
128
129
|
fireEvent.click(nextActionBtn);
|
|
129
130
|
expect(mockOnNextClick).toHaveBeenCalledTimes(1);
|
|
@@ -132,17 +133,38 @@ describe("Actions", () => {
|
|
|
132
133
|
it("fires onBackClick handler on click event", () => {
|
|
133
134
|
render(
|
|
134
135
|
<Actions
|
|
135
|
-
|
|
136
|
+
backButton={{
|
|
137
|
+
...BackButton,
|
|
138
|
+
elementType: "button",
|
|
139
|
+
onClick: mockOnBackClick,
|
|
140
|
+
}}
|
|
136
141
|
backLabel={backLabel}
|
|
137
|
-
|
|
138
|
-
|
|
142
|
+
nextButton={{ ...NextButton }}
|
|
143
|
+
nextLabel={nextLabel}
|
|
139
144
|
/>,
|
|
140
145
|
);
|
|
141
146
|
const backActionBtn = screen.getByRole("button", {
|
|
142
|
-
name: /
|
|
147
|
+
name: /Back/i,
|
|
143
148
|
});
|
|
144
149
|
fireEvent.click(backActionBtn);
|
|
145
150
|
expect(mockOnBackClick).toHaveBeenCalledTimes(1);
|
|
146
151
|
});
|
|
152
|
+
|
|
153
|
+
it("allows buttons to be disabled", () => {
|
|
154
|
+
render(
|
|
155
|
+
<Actions
|
|
156
|
+
nextButton={{
|
|
157
|
+
...NextButton,
|
|
158
|
+
elementType: "button",
|
|
159
|
+
isDisabled: true,
|
|
160
|
+
}}
|
|
161
|
+
nextLabel={nextLabel}
|
|
162
|
+
/>,
|
|
163
|
+
);
|
|
164
|
+
const nextActionBtn = screen.getByRole("button", {
|
|
165
|
+
name: /Next step/i,
|
|
166
|
+
});
|
|
167
|
+
expect(nextActionBtn).toHaveClass("--is-disabled");
|
|
168
|
+
});
|
|
147
169
|
});
|
|
148
170
|
});
|
|
@@ -5,61 +5,41 @@ import type { IconName } from "@simplybusiness/icons";
|
|
|
5
5
|
import { Variant } from "../../Button";
|
|
6
6
|
import { Flex } from "../../Flex";
|
|
7
7
|
import { ForwardedRefComponent } from "../../../types/components";
|
|
8
|
-
import { LinkButton } from "../../LinkButton";
|
|
8
|
+
import { LinkButton, type LinkButtonProps } from "../../LinkButton";
|
|
9
9
|
|
|
10
10
|
export type ActionsElementType = HTMLDivElement;
|
|
11
11
|
|
|
12
12
|
export interface ActionsProps extends DOMProps {
|
|
13
13
|
/** Custom class name for setting specific CSS */
|
|
14
14
|
className?: string;
|
|
15
|
+
backButton?: LinkButtonProps;
|
|
16
|
+
nextButton?: LinkButtonProps;
|
|
15
17
|
backLabel?: string;
|
|
16
|
-
backLink?: string;
|
|
17
18
|
nextLabel?: string;
|
|
18
|
-
nextLink?: string;
|
|
19
|
-
backElementType?: React.ElementType;
|
|
20
|
-
nextElementType?: React.ElementType;
|
|
21
|
-
onNextClick?: () => void;
|
|
22
|
-
onBackClick?: () => void;
|
|
23
19
|
}
|
|
24
20
|
|
|
25
21
|
export type ActionsRef = Ref<ActionsElementType>;
|
|
26
22
|
|
|
27
23
|
const Actions: ForwardedRefComponent<ActionsProps, ActionsElementType> =
|
|
28
24
|
forwardRef((props: ActionsProps, ref: ActionsRef) => {
|
|
29
|
-
const {
|
|
30
|
-
|
|
31
|
-
nextLink = "",
|
|
32
|
-
backLabel,
|
|
33
|
-
nextLabel,
|
|
34
|
-
className,
|
|
35
|
-
onNextClick,
|
|
36
|
-
onBackClick,
|
|
37
|
-
backElementType,
|
|
38
|
-
nextElementType,
|
|
39
|
-
...rest
|
|
40
|
-
} = props;
|
|
25
|
+
const { className, backButton, nextButton, backLabel, nextLabel, ...rest } =
|
|
26
|
+
props;
|
|
41
27
|
|
|
42
28
|
const classes = clsx("chopin", "chopin/Actions", className);
|
|
43
29
|
const nextButtonClasses = clsx("chopin/ActionsNext", {
|
|
44
|
-
"--single-action": !
|
|
30
|
+
"--single-action": !backButton,
|
|
45
31
|
});
|
|
46
32
|
|
|
47
33
|
const backButtonProps = {
|
|
34
|
+
...backButton,
|
|
48
35
|
className: "chopin/ActionsBack",
|
|
49
|
-
onClick: onBackClick,
|
|
50
36
|
variant: "basic" as Variant,
|
|
51
37
|
icon: "buttonArrowLeft" as IconName,
|
|
52
|
-
href: backLink,
|
|
53
|
-
to: backLink,
|
|
54
|
-
elementType: backElementType,
|
|
55
38
|
};
|
|
56
39
|
|
|
57
40
|
const nextButtonProps = {
|
|
41
|
+
...nextButton,
|
|
58
42
|
className: nextButtonClasses,
|
|
59
|
-
onClick: onNextClick,
|
|
60
|
-
href: nextLink,
|
|
61
|
-
to: nextLink,
|
|
62
|
-
elementType: nextElementType,
|
|
63
43
|
};
|
|
64
44
|
|
|
65
45
|
return (
|
|
@@ -69,11 +49,15 @@ const Actions: ForwardedRefComponent<ActionsProps, ActionsElementType> =
|
|
|
69
49
|
justifyContent="space-between"
|
|
70
50
|
alignItems="center"
|
|
71
51
|
>
|
|
72
|
-
{
|
|
73
|
-
<LinkButton {...backButtonProps}
|
|
52
|
+
{backButton?.href && (
|
|
53
|
+
<LinkButton {...backButtonProps} href={backButtonProps.href!}>
|
|
54
|
+
{backLabel}
|
|
55
|
+
</LinkButton>
|
|
74
56
|
)}
|
|
75
|
-
{
|
|
76
|
-
<LinkButton {...nextButtonProps}
|
|
57
|
+
{nextButton?.href && (
|
|
58
|
+
<LinkButton {...nextButtonProps} href={nextButtonProps.href!}>
|
|
59
|
+
{nextLabel}
|
|
60
|
+
</LinkButton>
|
|
77
61
|
)}
|
|
78
62
|
</Flex>
|
|
79
63
|
</Flex>
|
|
@@ -136,6 +136,32 @@ import { Chopin } from "@simplybusiness/mobius";
|
|
|
136
136
|
</Chopin.Question>
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
+
<Story
|
|
140
|
+
name="With No Input"
|
|
141
|
+
args={{
|
|
142
|
+
label: (
|
|
143
|
+
<>
|
|
144
|
+
<p>Based on what you've told us:</p>
|
|
145
|
+
<p>We've added employers' liability cover to your quote</p>
|
|
146
|
+
</>
|
|
147
|
+
),
|
|
148
|
+
description:
|
|
149
|
+
"You're required by law to have this cover if you have people working for you.",
|
|
150
|
+
}}
|
|
151
|
+
>
|
|
152
|
+
{args => <Question {...args} />}
|
|
153
|
+
</Story>
|
|
154
|
+
|
|
155
|
+
<!-- prettier-ignore -->
|
|
156
|
+
```jsx
|
|
157
|
+
import { Chopin } from "@simplybusiness/mobius";
|
|
158
|
+
|
|
159
|
+
<Chopin.Question
|
|
160
|
+
description="lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"
|
|
161
|
+
label="Question label"
|
|
162
|
+
/>
|
|
163
|
+
```
|
|
164
|
+
|
|
139
165
|
<Story
|
|
140
166
|
name="With Help text"
|
|
141
167
|
args={{
|
|
@@ -57,6 +57,19 @@ describe("Question", () => {
|
|
|
57
57
|
);
|
|
58
58
|
});
|
|
59
59
|
|
|
60
|
+
describe("given no input component is provided", () => {
|
|
61
|
+
it("renders label text as span element", () => {
|
|
62
|
+
render(
|
|
63
|
+
<Question
|
|
64
|
+
label="Question label"
|
|
65
|
+
description="Sample description"
|
|
66
|
+
errorMessage="Sample error"
|
|
67
|
+
/>,
|
|
68
|
+
);
|
|
69
|
+
expect(screen.getByText("Question label").tagName).toBe("SPAN");
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
|
|
60
73
|
describe("uses correct Question class name", () => {
|
|
61
74
|
it("uses chopin class", () => {
|
|
62
75
|
const { container } = render(
|
|
@@ -63,7 +63,12 @@ export function Question({
|
|
|
63
63
|
|
|
64
64
|
return (
|
|
65
65
|
<div className={classes}>
|
|
66
|
-
<Label
|
|
66
|
+
<Label
|
|
67
|
+
elementType={children ? "label" : "span"}
|
|
68
|
+
htmlFor={forAttr}
|
|
69
|
+
id={labelId}
|
|
70
|
+
className={labelClasses}
|
|
71
|
+
>
|
|
67
72
|
{label}
|
|
68
73
|
</Label>
|
|
69
74
|
{help && (
|
package/src/components/index.tsx
CHANGED