@pingux/astro 1.2.0-alpha.1 → 1.2.0-alpha.13
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/lib/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +3 -3
- package/lib/cjs/components/Button/Button.js +14 -2
- package/lib/cjs/components/Button/Button.stories.js +69 -28
- package/lib/cjs/components/Button/Button.test.js +26 -0
- package/lib/cjs/components/CopyText/CopyButton.js +9 -2
- package/lib/cjs/components/HelpHint/HelpHint.js +24 -6
- package/lib/cjs/components/HelpHint/HelpHint.stories.js +57 -0
- package/lib/cjs/components/HelpHint/HelpHint.test.js +80 -0
- package/lib/cjs/components/Messages/Messages.reducer.js +2 -1
- package/lib/cjs/components/Messages/Messages.stories.js +10 -10
- package/lib/cjs/components/Messages/Messages.test.js +15 -1
- package/lib/cjs/components/Messages/index.js +21 -2
- package/lib/cjs/components/Modal/Modal.stories.js +1 -1
- package/lib/cjs/components/MultivaluesField/MultivaluesField.js +3 -1
- package/lib/cjs/components/NumberField/NumberField.js +3 -1
- package/lib/cjs/components/NumberField/NumberField.test.js +7 -0
- package/lib/cjs/components/OverlayPanel/OverlayPanel.js +2 -16
- package/lib/cjs/components/OverlayPanel/OverlayPanel.test.js +44 -0
- package/lib/cjs/components/SearchField/SearchField.stories.js +1 -15
- package/lib/cjs/components/TextAreaField/TextAreaField.js +1 -1
- package/lib/cjs/components/TextAreaField/TextAreaField.stories.js +1 -54
- package/lib/cjs/components/TextField/TextField.stories.js +79 -2
- package/lib/cjs/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
- package/lib/cjs/layouts/ListLayout.stories.js +6 -6
- package/lib/cjs/recipes/ArrayField.stories.js +1 -1
- package/lib/cjs/recipes/ConditionalFilter.stories.js +7 -3
- package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +1 -1
- package/lib/cjs/styles/variants/buttons.js +78 -2
- package/lib/cjs/styles/variants/text.js +14 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +3 -3
- package/lib/components/Button/Button.js +15 -3
- package/lib/components/Button/Button.stories.js +53 -15
- package/lib/components/Button/Button.test.js +20 -0
- package/lib/components/CopyText/CopyButton.js +7 -2
- package/lib/components/HelpHint/HelpHint.js +25 -5
- package/lib/components/HelpHint/HelpHint.stories.js +34 -0
- package/lib/components/HelpHint/HelpHint.test.js +58 -0
- package/lib/components/Messages/Messages.reducer.js +1 -1
- package/lib/components/Messages/Messages.stories.js +1 -1
- package/lib/components/Messages/Messages.test.js +11 -1
- package/lib/components/Messages/index.js +2 -1
- package/lib/components/Modal/Modal.stories.js +1 -1
- package/lib/components/MultivaluesField/MultivaluesField.js +3 -1
- package/lib/components/NumberField/NumberField.js +2 -1
- package/lib/components/NumberField/NumberField.test.js +7 -0
- package/lib/components/OverlayPanel/OverlayPanel.js +3 -16
- package/lib/components/OverlayPanel/OverlayPanel.test.js +38 -0
- package/lib/components/SearchField/SearchField.stories.js +0 -11
- package/lib/components/TextAreaField/TextAreaField.js +1 -1
- package/lib/components/TextAreaField/TextAreaField.stories.js +0 -43
- package/lib/components/TextField/TextField.stories.js +72 -0
- package/lib/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
- package/lib/layouts/ListLayout.stories.js +6 -6
- package/lib/recipes/ArrayField.stories.js +1 -1
- package/lib/recipes/ConditionalFilter.stories.js +7 -3
- package/lib/recipes/RadioButtonsWithLinks.stories.js +1 -1
- package/lib/styles/variants/buttons.js +78 -2
- package/lib/styles/variants/text.js +14 -0
- package/package.json +2 -2
@@ -63,15 +63,15 @@ var Default = function Default(args) {
|
|
63
63
|
onAction: onAction
|
64
64
|
}, args), (0, _react2.jsx)(_collections.Item, {
|
65
65
|
key: "home",
|
66
|
-
variant: "
|
66
|
+
variant: "link",
|
67
67
|
"data-id": "home"
|
68
68
|
}, "Home"), (0, _react2.jsx)(_collections.Item, {
|
69
69
|
key: "trendy",
|
70
|
-
variant: "
|
70
|
+
variant: "link",
|
71
71
|
"data-id": "trendy"
|
72
72
|
}, "Trendy"), (0, _react2.jsx)(_collections.Item, {
|
73
73
|
key: "march 2020 assets",
|
74
|
-
variant: "
|
74
|
+
variant: "link",
|
75
75
|
"data-id": "march"
|
76
76
|
}, "March 2020 Assets"));
|
77
77
|
};
|
@@ -71,7 +71,8 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
71
71
|
onPressChange = props.onPressChange,
|
72
72
|
onPressUp = props.onPressUp,
|
73
73
|
children = props.children,
|
74
|
-
|
74
|
+
variant = props.variant,
|
75
|
+
others = (0, _objectWithoutProperties2["default"])(props, ["className", "isDisabled", "isLoading", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp", "children", "variant"]);
|
75
76
|
var buttonRef = (0, _react.useRef)();
|
76
77
|
(0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
|
77
78
|
/* istanbul ignore next */
|
@@ -102,7 +103,17 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
102
103
|
}),
|
103
104
|
classNames = _useStatusClasses.classNames;
|
104
105
|
|
106
|
+
(0, _hooks.useDeprecationWarning)('The "icon" variant for `Button` is deprecated in Astro-UI 1.0.0, use the `IconButton` component instead.', {
|
107
|
+
isActive: props.variant === 'icon'
|
108
|
+
});
|
109
|
+
(0, _hooks.useDeprecationWarning)('The "danger" variant for `Button` will be deprecated in Astro-UI 2.0.0, use the `critical` variant instead.', {
|
110
|
+
isActive: props.variant === 'danger'
|
111
|
+
});
|
112
|
+
(0, _hooks.useDeprecationWarning)('The "text" variant for `Button` will be deprecated in Astro-UI 2.0.0, use the `link` variant instead.', {
|
113
|
+
isActive: props.variant === 'text'
|
114
|
+
});
|
105
115
|
var ariaLabel = props['aria-label'];
|
116
|
+
(0, _hooks.useAriaLabelWarning)('Button', ariaLabel, variant === 'filter');
|
106
117
|
return (0, _react2.jsx)(_themeUi.Button, (0, _extends2["default"])({
|
107
118
|
"aria-label": ariaLabel,
|
108
119
|
ref: buttonRef,
|
@@ -113,7 +124,8 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
113
124
|
display: 'flex',
|
114
125
|
justifyContent: 'center',
|
115
126
|
alignItems: 'center'
|
116
|
-
}
|
127
|
+
},
|
128
|
+
variant: variant
|
117
129
|
}, others, (0, _utils.mergeProps)(hoverProps, focusProps, buttonProps)), isLoading ? (0, _react2.jsx)("span", {
|
118
130
|
style: {
|
119
131
|
visibility: 'hidden'
|
@@ -8,22 +8,24 @@ _Object$defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
9
9
|
});
|
10
10
|
|
11
|
-
exports.
|
11
|
+
exports.FilterButton = exports.ColorBlockButton = exports.InlineButton = exports.TextIconButton = exports.Disabled = exports.Default = exports["default"] = void 0;
|
12
12
|
|
13
|
-
var
|
13
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
14
14
|
|
15
|
-
var
|
15
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
16
16
|
|
17
|
-
var
|
17
|
+
var _react = _interopRequireDefault(require("react"));
|
18
18
|
|
19
|
-
var
|
19
|
+
var _AddCircleIcon = _interopRequireDefault(require("mdi-react/AddCircleIcon"));
|
20
20
|
|
21
|
-
var
|
21
|
+
var _CreateIcon = _interopRequireDefault(require("mdi-react/CreateIcon"));
|
22
22
|
|
23
|
-
var
|
23
|
+
var _FilterIcon = _interopRequireDefault(require("mdi-react/FilterIcon"));
|
24
24
|
|
25
25
|
var _variants = require("../../utils/devUtils/constants/variants");
|
26
26
|
|
27
|
+
var _index = require("../../index");
|
28
|
+
|
27
29
|
var _react2 = require("@emotion/react");
|
28
30
|
|
29
31
|
// removing the iconButton variants from this story.
|
@@ -35,7 +37,7 @@ delete variants.INVERTED; // add designer approved variants for devs to use here
|
|
35
37
|
var variantOptions = ['critical', 'danger', 'default', 'inline', 'link', 'primary', 'success', 'text'];
|
36
38
|
var _default = {
|
37
39
|
title: 'Button',
|
38
|
-
component:
|
40
|
+
component: _index.Button,
|
39
41
|
argTypes: {
|
40
42
|
variant: {
|
41
43
|
control: {
|
@@ -56,18 +58,25 @@ var _default = {
|
|
56
58
|
type: 'text'
|
57
59
|
}
|
58
60
|
}
|
61
|
+
},
|
62
|
+
parameters: {
|
63
|
+
docs: {
|
64
|
+
source: {
|
65
|
+
type: 'code'
|
66
|
+
}
|
67
|
+
}
|
59
68
|
}
|
60
69
|
};
|
61
70
|
exports["default"] = _default;
|
62
71
|
|
63
72
|
var Default = function Default(args) {
|
64
|
-
return (0, _react2.jsx)(
|
73
|
+
return (0, _react2.jsx)(_index.Button, args);
|
65
74
|
};
|
66
75
|
|
67
76
|
exports.Default = Default;
|
68
77
|
|
69
78
|
var Disabled = function Disabled() {
|
70
|
-
return (0, _react2.jsx)(
|
79
|
+
return (0, _react2.jsx)(_index.Button, {
|
71
80
|
isDisabled: true
|
72
81
|
}, "Button Text");
|
73
82
|
};
|
@@ -75,12 +84,12 @@ var Disabled = function Disabled() {
|
|
75
84
|
exports.Disabled = Disabled;
|
76
85
|
|
77
86
|
var TextIconButton = function TextIconButton() {
|
78
|
-
return (0, _react2.jsx)(
|
87
|
+
return (0, _react2.jsx)(_index.Button, {
|
79
88
|
mb: "sm"
|
80
|
-
}, (0, _react2.jsx)(
|
89
|
+
}, (0, _react2.jsx)(_index.Box, {
|
81
90
|
isRow: true,
|
82
91
|
alignItems: "center"
|
83
|
-
}, (0, _react2.jsx)(
|
92
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
84
93
|
icon: _AddCircleIcon["default"],
|
85
94
|
mr: "sm",
|
86
95
|
color: "active",
|
@@ -90,24 +99,56 @@ var TextIconButton = function TextIconButton() {
|
|
90
99
|
|
91
100
|
exports.TextIconButton = TextIconButton;
|
92
101
|
|
93
|
-
var TextButton = function TextButton() {
|
94
|
-
return (0, _react2.jsx)(_["default"], {
|
95
|
-
mb: "sm",
|
96
|
-
variant: "text",
|
97
|
-
"aria-label": "Add option"
|
98
|
-
}, (0, _react2.jsx)(_Text["default"], {
|
99
|
-
variant: "label",
|
100
|
-
color: "active"
|
101
|
-
}, " + Add Option"));
|
102
|
-
};
|
103
|
-
|
104
|
-
exports.TextButton = TextButton;
|
105
|
-
|
106
102
|
var InlineButton = function InlineButton() {
|
107
|
-
return (0, _react2.jsx)(
|
103
|
+
return (0, _react2.jsx)(_index.Button, {
|
108
104
|
mb: "sm",
|
109
105
|
variant: "inline"
|
110
106
|
}, "Inline");
|
111
107
|
};
|
112
108
|
|
113
|
-
exports.InlineButton = InlineButton;
|
109
|
+
exports.InlineButton = InlineButton;
|
110
|
+
|
111
|
+
var ColorBlockButton = function ColorBlockButton(args) {
|
112
|
+
// Change `isConfigured` property in storybook controls
|
113
|
+
var isConfigured = args.isConfigured,
|
114
|
+
props = (0, _objectWithoutProperties2["default"])(args, ["isConfigured"]);
|
115
|
+
return (0, _react2.jsx)(_index.Button, (0, _extends2["default"])({}, props, {
|
116
|
+
variant: "colorBlock",
|
117
|
+
className: isConfigured ? 'is-configured' : ''
|
118
|
+
}), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Text, {
|
119
|
+
variant: "buttonTitle"
|
120
|
+
}, "Title"), (0, _react2.jsx)(_index.Text, {
|
121
|
+
variant: "buttonSubtitle"
|
122
|
+
}, "Info")), (0, _react2.jsx)(_index.Icon, {
|
123
|
+
icon: _CreateIcon["default"]
|
124
|
+
}));
|
125
|
+
};
|
126
|
+
|
127
|
+
exports.ColorBlockButton = ColorBlockButton;
|
128
|
+
ColorBlockButton.story = {
|
129
|
+
argTypes: {
|
130
|
+
isConfigured: {
|
131
|
+
control: {
|
132
|
+
type: 'boolean'
|
133
|
+
},
|
134
|
+
defaultValue: false
|
135
|
+
}
|
136
|
+
}
|
137
|
+
};
|
138
|
+
|
139
|
+
var FilterButton = function FilterButton() {
|
140
|
+
return (0, _react2.jsx)(_index.Box, {
|
141
|
+
p: "xx",
|
142
|
+
isRow: true,
|
143
|
+
gap: "md"
|
144
|
+
}, (0, _react2.jsx)(_index.SearchField, {
|
145
|
+
"aria-label": "search items"
|
146
|
+
}), (0, _react2.jsx)(_index.Button, {
|
147
|
+
variant: "filter",
|
148
|
+
"aria-label": "filter button"
|
149
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
150
|
+
icon: _FilterIcon["default"]
|
151
|
+
})));
|
152
|
+
};
|
153
|
+
|
154
|
+
exports.FilterButton = FilterButton;
|
@@ -122,4 +122,30 @@ test('button renders children when not loading', function () {
|
|
122
122
|
expect(childWrapper).toBeInTheDocument();
|
123
123
|
expect(childWrapper).toBeVisible();
|
124
124
|
expect(_testWrapper.screen.queryByRole('progressbar')).not.toBeInTheDocument();
|
125
|
+
});
|
126
|
+
test('color block button renders in default state', function () {
|
127
|
+
getComponent({
|
128
|
+
variant: 'colorBlock'
|
129
|
+
});
|
130
|
+
|
131
|
+
var button = _testWrapper.screen.getByRole('button');
|
132
|
+
|
133
|
+
expect(button).toBeInTheDocument();
|
134
|
+
expect(button).not.toHaveClass('is-configured');
|
135
|
+
|
136
|
+
_userEvent["default"].tab();
|
137
|
+
|
138
|
+
expect(button).toHaveClass('is-focused');
|
139
|
+
expect(button).toHaveFocus();
|
140
|
+
});
|
141
|
+
test('color block button renders in configured state', function () {
|
142
|
+
getComponent({
|
143
|
+
variant: 'colorBlock',
|
144
|
+
className: 'is-configured'
|
145
|
+
});
|
146
|
+
|
147
|
+
var button = _testWrapper.screen.getByRole('button');
|
148
|
+
|
149
|
+
expect(button).toBeInTheDocument();
|
150
|
+
expect(button).toHaveClass('is-configured');
|
125
151
|
});
|
@@ -18,6 +18,10 @@ var _react = _interopRequireWildcard(require("react"));
|
|
18
18
|
|
19
19
|
var _ContentCopyIcon = _interopRequireDefault(require("mdi-react/ContentCopyIcon"));
|
20
20
|
|
21
|
+
var _lodash = require("lodash");
|
22
|
+
|
23
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
24
|
+
|
21
25
|
var _Icon = _interopRequireDefault(require("../Icon"));
|
22
26
|
|
23
27
|
var _IconButton = _interopRequireDefault(require("../IconButton"));
|
@@ -29,10 +33,13 @@ var CopyButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
29
33
|
ref: ref,
|
30
34
|
"aria-label": "copy",
|
31
35
|
variant: "buttons.copy"
|
32
|
-
}, props), (0, _react2.jsx)(_Icon["default"], {
|
36
|
+
}, (0, _lodash.omit)(props, 'iconProps')), (0, _react2.jsx)(_Icon["default"], (0, _extends2["default"])({
|
33
37
|
icon: _ContentCopyIcon["default"],
|
34
38
|
size: 15
|
35
|
-
}));
|
39
|
+
}, props === null || props === void 0 ? void 0 : props.iconProps)));
|
36
40
|
});
|
41
|
+
CopyButton.propTypes = {
|
42
|
+
iconProps: _propTypes["default"].shape({})
|
43
|
+
};
|
37
44
|
var _default = CopyButton;
|
38
45
|
exports["default"] = _default;
|
@@ -18,8 +18,6 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-c
|
|
18
18
|
|
19
19
|
var _react = _interopRequireWildcard(require("react"));
|
20
20
|
|
21
|
-
var _HelpIcon = _interopRequireDefault(require("mdi-react/HelpIcon"));
|
22
|
-
|
23
21
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
24
22
|
|
25
23
|
var _IconButton = _interopRequireDefault(require("../IconButton"));
|
@@ -30,20 +28,40 @@ var _Icon = _interopRequireDefault(require("../Icon"));
|
|
30
28
|
|
31
29
|
var _react2 = require("@emotion/react");
|
32
30
|
|
31
|
+
var HelpIcon = function HelpIcon() {
|
32
|
+
return (0, _react2.jsx)("svg", {
|
33
|
+
width: "7",
|
34
|
+
height: "9",
|
35
|
+
viewBox: "0 0 7 9",
|
36
|
+
fill: "none",
|
37
|
+
xmlns: "http://www.w3.org/2000/svg"
|
38
|
+
}, (0, _react2.jsx)("path", {
|
39
|
+
d: "M2.56685 7.306V9H4.29385V7.306H2.56685ZM0.795848 3.676H2.41285C2.41285 3.478 2.43485 3.29467 2.47885 3.126C2.52285 2.95 2.58885 2.79967 2.67685 2.675C2.77218 2.543 2.88951 2.44033 3.02885 2.367C3.17551 2.28633 3.34785 2.246 3.54585 2.246C3.83918 2.246 4.06651 2.32667 4.22785 2.488C4.39651 2.64933 4.48085 2.89867 4.48085 3.236C4.48818 3.434 4.45151 3.599 4.37085 3.731C4.29751 3.863 4.19851 3.984 4.07385 4.094C3.94918 4.204 3.81351 4.314 3.66685 4.424C3.52018 4.534 3.38085 4.666 3.24885 4.82C3.11685 4.96667 2.99951 5.14633 2.89685 5.359C2.80151 5.57167 2.74285 5.83567 2.72085 6.151V6.646H4.20585V6.228C4.23518 6.008 4.30485 5.82467 4.41485 5.678C4.53218 5.53133 4.66418 5.403 4.81085 5.293C4.95751 5.17567 5.11151 5.062 5.27285 4.952C5.44151 4.83467 5.59185 4.69533 5.72385 4.534C5.86318 4.37267 5.97685 4.17833 6.06485 3.951C6.16018 3.72367 6.20785 3.434 6.20785 3.082C6.20785 2.86933 6.16018 2.642 6.06485 2.4C5.97685 2.15067 5.82651 1.91967 5.61385 1.707C5.40118 1.49433 5.11885 1.31833 4.76685 1.179C4.42218 1.03233 3.98951 0.959 3.46885 0.959C3.06551 0.959 2.69885 1.02867 2.36885 1.168C2.04618 1.3 1.76751 1.487 1.53285 1.729C1.30551 1.971 1.12585 2.257 0.993848 2.587C0.869181 2.917 0.803181 3.28 0.795848 3.676Z",
|
40
|
+
fill: "#3B4A58"
|
41
|
+
}));
|
42
|
+
};
|
43
|
+
/**
|
44
|
+
* A `HelpHint` is a composed component using tooltip trigger and icon button.
|
45
|
+
*
|
46
|
+
* For customization the trigger icon,
|
47
|
+
* please see the [TooltipTrigger](./?path=/docs/tooltiptrigger--default) docs.
|
48
|
+
*/
|
49
|
+
|
50
|
+
|
33
51
|
var HelpHint = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
34
52
|
var children = props.children,
|
35
53
|
tooltipProps = props.tooltipProps,
|
36
54
|
iconButtonProps = props.iconButtonProps,
|
37
55
|
others = (0, _objectWithoutProperties2["default"])(props, ["children", "tooltipProps", "iconButtonProps"]);
|
38
56
|
return (0, _react2.jsx)(_TooltipTrigger["default"], (0, _extends2["default"])({
|
39
|
-
ref: ref
|
40
|
-
|
57
|
+
ref: ref,
|
58
|
+
direction: "top"
|
59
|
+
}, others, tooltipProps), (0, _react2.jsx)(_IconButton["default"], (0, _extends2["default"])({
|
41
60
|
variant: "helpHint",
|
42
61
|
"aria-label": "label help hint",
|
43
62
|
"data-testid": "help-hint__button"
|
44
63
|
}, iconButtonProps), (0, _react2.jsx)(_Icon["default"], {
|
45
|
-
icon:
|
46
|
-
size: "11px"
|
64
|
+
icon: HelpIcon
|
47
65
|
})), (0, _react2.jsx)(_TooltipTrigger.Tooltip, tooltipProps, children));
|
48
66
|
});
|
49
67
|
HelpHint.propTypes = {
|
@@ -0,0 +1,57 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
_Object$defineProperty(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
|
11
|
+
exports.WithTooltipAndIconButtonProps = exports.Default = exports["default"] = void 0;
|
12
|
+
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
14
|
+
|
15
|
+
var _ = _interopRequireDefault(require("."));
|
16
|
+
|
17
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
18
|
+
|
19
|
+
var _react2 = require("@emotion/react");
|
20
|
+
|
21
|
+
var _default = {
|
22
|
+
title: 'HelpHint',
|
23
|
+
component: _["default"],
|
24
|
+
argTypes: {
|
25
|
+
children: {
|
26
|
+
description: 'Tooltip content',
|
27
|
+
defaultValue: 'Text of the tooltip right here...',
|
28
|
+
control: {
|
29
|
+
type: 'text'
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
};
|
34
|
+
exports["default"] = _default;
|
35
|
+
|
36
|
+
var Default = function Default(args) {
|
37
|
+
return (0, _react2.jsx)(_Box["default"], {
|
38
|
+
p: 50
|
39
|
+
}, (0, _react2.jsx)(_["default"], args));
|
40
|
+
};
|
41
|
+
|
42
|
+
exports.Default = Default;
|
43
|
+
|
44
|
+
var WithTooltipAndIconButtonProps = function WithTooltipAndIconButtonProps() {
|
45
|
+
return (0, _react2.jsx)(_Box["default"], {
|
46
|
+
p: 50
|
47
|
+
}, (0, _react2.jsx)(_["default"], {
|
48
|
+
tooltipProps: {
|
49
|
+
direction: 'bottom'
|
50
|
+
},
|
51
|
+
iconButtonProps: {
|
52
|
+
'aria-label': 'Help hint'
|
53
|
+
}
|
54
|
+
}, "Text of the tooltip right here..."));
|
55
|
+
};
|
56
|
+
|
57
|
+
exports.WithTooltipAndIconButtonProps = WithTooltipAndIconButtonProps;
|
@@ -0,0 +1,80 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
6
|
+
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
8
|
+
|
9
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
10
|
+
|
11
|
+
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
12
|
+
|
13
|
+
var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
|
14
|
+
|
15
|
+
var _HelpHint = _interopRequireDefault(require("./HelpHint"));
|
16
|
+
|
17
|
+
var _react2 = require("@emotion/react");
|
18
|
+
|
19
|
+
var testId = 'help-hint__button';
|
20
|
+
var tooltipValue = 'Some text';
|
21
|
+
var defaultProps = {
|
22
|
+
children: tooltipValue
|
23
|
+
};
|
24
|
+
|
25
|
+
var getComponent = function getComponent() {
|
26
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
27
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_HelpHint["default"], (0, _extends2["default"])({}, defaultProps, props)));
|
28
|
+
}; // Need to be added to each test file to test accessibility using axe.
|
29
|
+
|
30
|
+
|
31
|
+
(0, _testAxe["default"])(getComponent);
|
32
|
+
test('renders HelpHint component', function () {
|
33
|
+
getComponent();
|
34
|
+
|
35
|
+
var helpHintButton = _testWrapper.screen.getByTestId(testId);
|
36
|
+
|
37
|
+
expect(helpHintButton).toBeInTheDocument();
|
38
|
+
});
|
39
|
+
test('shows tooltip on hover', function () {
|
40
|
+
getComponent();
|
41
|
+
|
42
|
+
var helpHintButton = _testWrapper.screen.getByTestId(testId);
|
43
|
+
|
44
|
+
expect(_testWrapper.screen.queryByText(tooltipValue)).not.toBeInTheDocument();
|
45
|
+
|
46
|
+
_testWrapper.fireEvent.mouseMove(helpHintButton);
|
47
|
+
|
48
|
+
_testWrapper.fireEvent.mouseEnter(helpHintButton);
|
49
|
+
|
50
|
+
expect(_testWrapper.screen.getByText(tooltipValue)).toBeInTheDocument();
|
51
|
+
});
|
52
|
+
test('shows tooltip on focus', function () {
|
53
|
+
getComponent();
|
54
|
+
|
55
|
+
var helpHintButton = _testWrapper.screen.getByTestId(testId);
|
56
|
+
|
57
|
+
expect(_testWrapper.screen.queryByText(tooltipValue)).not.toBeInTheDocument();
|
58
|
+
|
59
|
+
_userEvent["default"].tab();
|
60
|
+
|
61
|
+
expect(helpHintButton).toHaveFocus();
|
62
|
+
expect(_testWrapper.screen.queryByText(tooltipValue)).toBeInTheDocument();
|
63
|
+
});
|
64
|
+
test('applies tooltipProps', function () {
|
65
|
+
getComponent({
|
66
|
+
tooltipProps: {
|
67
|
+
isOpen: true
|
68
|
+
}
|
69
|
+
});
|
70
|
+
expect(_testWrapper.screen.getByText(tooltipValue)).toBeInTheDocument();
|
71
|
+
});
|
72
|
+
test('applies iconButtonProps', function () {
|
73
|
+
var newLabel = 'New label';
|
74
|
+
getComponent({
|
75
|
+
iconButtonProps: {
|
76
|
+
'aria-label': newLabel
|
77
|
+
}
|
78
|
+
});
|
79
|
+
expect(_testWrapper.screen.getByLabelText(newLabel)).toBeInTheDocument();
|
80
|
+
});
|
@@ -8,7 +8,7 @@ _Object$defineProperty2(exports, "__esModule", {
|
|
8
8
|
value: true
|
9
9
|
});
|
10
10
|
|
11
|
-
exports["default"] = exports.multiMessagesReducer = void 0;
|
11
|
+
exports["default"] = exports.multiMessagesReducer = exports.messagesReducer = void 0;
|
12
12
|
|
13
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
|
14
14
|
|
@@ -35,6 +35,7 @@ function ownKeys(object, enumerableOnly) { var keys = (0, _keys["default"])(obje
|
|
35
35
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; (0, _forEach["default"])(_context = ownKeys(Object(source), true)).call(_context, function (key) { (0, _defineProperty3["default"])(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors["default"]) { (0, _defineProperties["default"])(target, (0, _getOwnPropertyDescriptors["default"])(source)); } else { var _context2; (0, _forEach["default"])(_context2 = ownKeys(Object(source))).call(_context2, function (key) { (0, _defineProperty2["default"])(target, key, (0, _getOwnPropertyDescriptor["default"])(source, key)); }); } } return target; }
|
36
36
|
|
37
37
|
var messagesReducer = _utils.messagesReducer;
|
38
|
+
exports.messagesReducer = messagesReducer;
|
38
39
|
var multiMessagesReducer = _utils.multiMessagesReducer;
|
39
40
|
exports.multiMessagesReducer = multiMessagesReducer;
|
40
41
|
|
@@ -52,7 +52,7 @@ var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/s
|
|
52
52
|
|
53
53
|
var _ = require("../..");
|
54
54
|
|
55
|
-
var
|
55
|
+
var _index = require("./index");
|
56
56
|
|
57
57
|
var _react2 = require("@emotion/react");
|
58
58
|
|
@@ -233,21 +233,21 @@ var UseReducer = function UseReducer() {
|
|
233
233
|
// showErrorMessage: makeShowMessage('error', -1),
|
234
234
|
// showWarningMessage: makeShowMessage('warning', -1),
|
235
235
|
// };
|
236
|
-
var _useReducer = (0, _react.useReducer)(
|
236
|
+
var _useReducer = (0, _react.useReducer)(_index.messagesReducerStory),
|
237
237
|
_useReducer2 = (0, _slicedToArray2["default"])(_useReducer, 2),
|
238
238
|
items = _useReducer2[0],
|
239
239
|
dispatch = _useReducer2[1];
|
240
240
|
|
241
241
|
var showAMessage = function showAMessage() {
|
242
|
-
var actionFn = [
|
242
|
+
var actionFn = [_index.messagesReducerStory.actions.showSuccessMessage, _index.messagesReducerStory.actions.showErrorMessage, _index.messagesReducerStory.actions.showWarningMessage][Math.floor(Math.random() * 3)];
|
243
243
|
var message = messageText[Math.floor(Math.random() * 6)];
|
244
244
|
actionFn(message)(dispatch);
|
245
245
|
};
|
246
246
|
|
247
247
|
var removeMessage = function removeMessage(key) {
|
248
|
-
dispatch(
|
248
|
+
dispatch(_index.messagesReducerStory.actions.hideMessage(key));
|
249
249
|
(0, _setTimeout2["default"])(function () {
|
250
|
-
return dispatch(
|
250
|
+
return dispatch(_index.messagesReducerStory.actions.removeMessage(key));
|
251
251
|
}, 200);
|
252
252
|
};
|
253
253
|
|
@@ -256,7 +256,7 @@ var UseReducer = function UseReducer() {
|
|
256
256
|
}, "Add Message"), (items === null || items === void 0 ? void 0 : items.length) > 0 && (0, _react2.jsx)(_.Button, {
|
257
257
|
mt: "md",
|
258
258
|
onPress: function onPress() {
|
259
|
-
return dispatch(
|
259
|
+
return dispatch(_index.messagesReducerStory.actions.clearMessages());
|
260
260
|
}
|
261
261
|
}, "Clear messages"), (0, _react2.jsx)(_.Messages, {
|
262
262
|
items: items,
|
@@ -269,7 +269,7 @@ var UseReducer = function UseReducer() {
|
|
269
269
|
exports.UseReducer = UseReducer;
|
270
270
|
|
271
271
|
var UseReducerWithMultipleContainers = function UseReducerWithMultipleContainers() {
|
272
|
-
var _useReducer3 = (0, _react.useReducer)(
|
272
|
+
var _useReducer3 = (0, _react.useReducer)(_index.multiMessagesReducerStory, {
|
273
273
|
'container-one': [],
|
274
274
|
'container-two': []
|
275
275
|
}),
|
@@ -278,15 +278,15 @@ var UseReducerWithMultipleContainers = function UseReducerWithMultipleContainers
|
|
278
278
|
dispatch = _useReducer4[1];
|
279
279
|
|
280
280
|
var showAMessage = function showAMessage(container) {
|
281
|
-
var actionFn = [
|
281
|
+
var actionFn = [_index.multiMessagesReducerStory.actions.showSuccessMessage, _index.multiMessagesReducerStory.actions.showCriticalMessage, _index.multiMessagesReducerStory.actions.showWarningMessage][Math.floor(Math.random() * 3)];
|
282
282
|
var message = messageText[Math.floor(Math.random() * 6)];
|
283
283
|
actionFn(container, message)(dispatch);
|
284
284
|
};
|
285
285
|
|
286
286
|
var removeMessage = function removeMessage(key, container) {
|
287
|
-
dispatch(
|
287
|
+
dispatch(_index.multiMessagesReducerStory.actions.hideMessage(container, key));
|
288
288
|
(0, _setTimeout2["default"])(function () {
|
289
|
-
return dispatch(
|
289
|
+
return dispatch(_index.multiMessagesReducerStory.actions.removeMessage(container, key));
|
290
290
|
}, 200);
|
291
291
|
};
|
292
292
|
|
@@ -26,7 +26,7 @@ var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
|
|
26
26
|
|
27
27
|
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
28
28
|
|
29
|
-
var _ =
|
29
|
+
var _ = _interopRequireWildcard(require("."));
|
30
30
|
|
31
31
|
var _Button = _interopRequireDefault(require("../Button"));
|
32
32
|
|
@@ -211,4 +211,18 @@ describe('announcements', function () {
|
|
211
211
|
expect(messages.childElementCount).toBe(1);
|
212
212
|
expect(_liveAnnouncer.announce).toHaveBeenCalledWith('New message 1', 'polite');
|
213
213
|
});
|
214
|
+
});
|
215
|
+
test('should render messages with messagesReducerStory', function () {
|
216
|
+
getComponent();
|
217
|
+
|
218
|
+
_.messagesReducerStory.actions.showSuccessMessage();
|
219
|
+
|
220
|
+
expect(_testWrapper.screen.getByTestId(testId)).toBeInTheDocument();
|
221
|
+
});
|
222
|
+
test('should render messages with multiMessagesReducerStory', function () {
|
223
|
+
getComponent();
|
224
|
+
|
225
|
+
_.multiMessagesReducerStory.actions.showSuccessMessage();
|
226
|
+
|
227
|
+
expect(_testWrapper.screen.getByTestId(testId)).toBeInTheDocument();
|
214
228
|
});
|
@@ -14,7 +14,10 @@ _Object$defineProperty(exports, "__esModule", {
|
|
14
14
|
value: true
|
15
15
|
});
|
16
16
|
|
17
|
-
var _exportNames = {
|
17
|
+
var _exportNames = {
|
18
|
+
messagesReducerStory: true,
|
19
|
+
multiMessagesReducerStory: true
|
20
|
+
};
|
18
21
|
|
19
22
|
_Object$defineProperty(exports, "default", {
|
20
23
|
enumerable: true,
|
@@ -23,6 +26,20 @@ _Object$defineProperty(exports, "default", {
|
|
23
26
|
}
|
24
27
|
});
|
25
28
|
|
29
|
+
_Object$defineProperty(exports, "messagesReducerStory", {
|
30
|
+
enumerable: true,
|
31
|
+
get: function get() {
|
32
|
+
return _Messages2.messagesReducer;
|
33
|
+
}
|
34
|
+
});
|
35
|
+
|
36
|
+
_Object$defineProperty(exports, "multiMessagesReducerStory", {
|
37
|
+
enumerable: true,
|
38
|
+
get: function get() {
|
39
|
+
return _Messages2.multiMessagesReducer;
|
40
|
+
}
|
41
|
+
});
|
42
|
+
|
26
43
|
var _Messages = _interopRequireDefault(require("./Messages"));
|
27
44
|
|
28
45
|
var _utils = require("./utils");
|
@@ -37,4 +54,6 @@ _forEachInstanceProperty(_context = _Object$keys(_utils)).call(_context, functio
|
|
37
54
|
return _utils[key];
|
38
55
|
}
|
39
56
|
});
|
40
|
-
});
|
57
|
+
});
|
58
|
+
|
59
|
+
var _Messages2 = require("./Messages.reducer");
|
@@ -163,7 +163,7 @@ var DarkVariant = function DarkVariant() {
|
|
163
163
|
onPress: state.close,
|
164
164
|
"aria-label": "Yes"
|
165
165
|
}, "Yes"), (0, _react2.jsx)(_index.Button, {
|
166
|
-
variant: "
|
166
|
+
variant: "link",
|
167
167
|
onPress: state.close,
|
168
168
|
"aria-label": "Cancel"
|
169
169
|
}, "Cancel"))))
|
@@ -50,6 +50,8 @@ var _i18n = require("@react-aria/i18n");
|
|
50
50
|
|
51
51
|
var _utils = require("@react-aria/utils");
|
52
52
|
|
53
|
+
var _omit = _interopRequireDefault(require("lodash/omit"));
|
54
|
+
|
53
55
|
var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
|
54
56
|
|
55
57
|
var _index = require("../../index");
|
@@ -130,7 +132,7 @@ var NumberField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
130
132
|
ref: inputRef // we don't want to merge this props, we want to
|
131
133
|
// overwrite them like defaultValue, value, ect.
|
132
134
|
|
133
|
-
}, fieldControlProps, inputProps)), ControlArrows), helperText && (0, _react2.jsx)(_index.FieldHelperText, {
|
135
|
+
}, fieldControlProps, (0, _omit["default"])(inputProps, 'name'))), ControlArrows), helperText && (0, _react2.jsx)(_index.FieldHelperText, {
|
134
136
|
status: status
|
135
137
|
}, helperText)));
|
136
138
|
});
|