@pingux/astro 2.54.0-alpha.0 → 2.54.0-alpha.2
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.js +1 -1
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.test.js +2 -3
- package/lib/cjs/components/HelpHint/HelpHint.stories.js +7 -7
- package/lib/cjs/components/IconButton/IconButton.styles.d.ts +72 -1
- package/lib/cjs/components/Messages/Message.d.ts +9 -0
- package/lib/cjs/components/Messages/Message.js +16 -46
- package/lib/cjs/components/Messages/Message.styles.d.ts +151 -0
- package/lib/cjs/components/Messages/Messages.d.ts +4 -0
- package/lib/cjs/components/Messages/Messages.js +2 -15
- package/lib/cjs/components/Messages/Messages.stories.d.ts +128 -0
- package/lib/cjs/components/Messages/Messages.stories.js +96 -16
- package/lib/cjs/components/Messages/Messages.test.d.ts +1 -0
- package/lib/cjs/components/Messages/Messages.test.js +9 -9
- package/lib/cjs/components/Messages/index.d.ts +3 -0
- package/lib/cjs/components/Messages/index.js +2 -3
- package/lib/cjs/components/Messages/utils/index.d.ts +2 -0
- package/lib/cjs/components/Messages/utils/messagesReducer.d.ts +107 -0
- package/lib/cjs/components/Messages/utils/messagesReducer.js +29 -15
- package/lib/cjs/components/Messages/utils/multiMessagesReducer.d.ts +83 -0
- package/lib/cjs/components/Messages/utils/multiMessagesReducer.js +20 -14
- package/lib/cjs/components/Messages/utils/tests/messagesReducer.test.d.ts +1 -0
- package/lib/cjs/components/Messages/utils/tests/messagesReducer.test.js +4 -3
- package/lib/cjs/components/Messages/utils/tests/multiMessagesReducer.test.d.ts +1 -0
- package/lib/cjs/components/Messages/utils/tests/multiMessagesReducer.test.js +3 -2
- package/lib/cjs/types/index.d.ts +1 -0
- package/lib/cjs/types/index.js +25 -14
- package/lib/cjs/types/item.d.ts +2 -0
- package/lib/cjs/types/messages.d.ts +43 -0
- package/lib/cjs/types/messages.js +6 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.js +1 -1
- package/lib/components/Breadcrumbs/Breadcrumbs.test.js +2 -3
- package/lib/components/HelpHint/HelpHint.stories.js +7 -7
- package/lib/components/Messages/Message.js +14 -46
- package/lib/components/Messages/Messages.js +2 -15
- package/lib/components/Messages/Messages.stories.js +95 -15
- package/lib/components/Messages/Messages.test.js +9 -9
- package/lib/components/Messages/index.js +1 -1
- package/lib/components/Messages/utils/messagesReducer.js +27 -13
- package/lib/components/Messages/utils/multiMessagesReducer.js +20 -10
- package/lib/components/Messages/utils/tests/messagesReducer.test.js +4 -3
- package/lib/components/Messages/utils/tests/multiMessagesReducer.test.js +9 -8
- package/lib/types/index.js +1 -0
- package/lib/types/messages.js +1 -0
- package/package.json +1 -1
- package/lib/cjs/components/Messages/Messages.reducer.js +0 -51
- package/lib/components/Messages/Messages.reducer.js +0 -41
@@ -29,7 +29,7 @@ var _AccountIcon = _interopRequireDefault(require("@pingux/mdi-react/AccountIcon
|
|
29
29
|
var _storybookAddonDesigns = require("storybook-addon-designs");
|
30
30
|
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
31
31
|
var _index = require("../../index");
|
32
|
-
var _figmaLinks = require("../../utils/designUtils/figmaLinks
|
32
|
+
var _figmaLinks = require("../../utils/designUtils/figmaLinks");
|
33
33
|
var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
|
34
34
|
var _index2 = require("./index");
|
35
35
|
var _Messages = _interopRequireDefault(require("./Messages.mdx"));
|
@@ -73,15 +73,15 @@ var messages = [{
|
|
73
73
|
}, {
|
74
74
|
key: 'message2',
|
75
75
|
text: loremText,
|
76
|
-
status:
|
76
|
+
status: _statuses["default"].SUCCESS
|
77
77
|
}, {
|
78
78
|
key: 'message3',
|
79
79
|
text: loremText,
|
80
|
-
status:
|
80
|
+
status: _statuses["default"].WARNING
|
81
81
|
}, {
|
82
82
|
key: 'message4',
|
83
83
|
text: loremText,
|
84
|
-
status:
|
84
|
+
status: _statuses["default"].ERROR
|
85
85
|
}];
|
86
86
|
var Default = function Default(args) {
|
87
87
|
return (0, _react2.jsx)(_index.Messages, args, (0, _react2.jsx)(_reactStately.Item, {
|
@@ -90,7 +90,7 @@ var Default = function Default(args) {
|
|
90
90
|
}, loremText), (0, _react2.jsx)(_reactStately.Item, {
|
91
91
|
key: "message2",
|
92
92
|
"data-id": "message2",
|
93
|
-
status: "
|
93
|
+
status: _statuses["default"].SUCCESS
|
94
94
|
}, loremText));
|
95
95
|
};
|
96
96
|
exports.Default = Default;
|
@@ -101,18 +101,26 @@ Default.parameters = {
|
|
101
101
|
}
|
102
102
|
};
|
103
103
|
var DefaultDynamic = function DefaultDynamic(args) {
|
104
|
-
return (
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
return (0, _react2.jsx)(_reactStately.Item, item, item.text);
|
110
|
-
})
|
111
|
-
);
|
104
|
+
return (0, _react2.jsx)(_index.Messages, (0, _extends2["default"])({}, args, {
|
105
|
+
items: messages
|
106
|
+
}), function (item) {
|
107
|
+
return (0, _react2.jsx)(_reactStately.Item, item, item.text);
|
108
|
+
});
|
112
109
|
};
|
110
|
+
|
111
|
+
// Added to bypass color contrast in safari
|
113
112
|
exports.DefaultDynamic = DefaultDynamic;
|
113
|
+
DefaultDynamic.parameters = {
|
114
|
+
a11y: {
|
115
|
+
config: {
|
116
|
+
rules: [{
|
117
|
+
id: 'color-contrast',
|
118
|
+
enabled: false
|
119
|
+
}]
|
120
|
+
}
|
121
|
+
}
|
122
|
+
};
|
114
123
|
var Controlled = function Controlled(args) {
|
115
|
-
// messages = [{...}]
|
116
124
|
var _useState = (0, _react.useState)([]),
|
117
125
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
118
126
|
items = _useState2[0],
|
@@ -139,7 +147,19 @@ var Controlled = function Controlled(args) {
|
|
139
147
|
return (0, _react2.jsx)(_reactStately.Item, item, item.text);
|
140
148
|
});
|
141
149
|
};
|
150
|
+
|
151
|
+
// Added to bypass color contrast in safari
|
142
152
|
exports.Controlled = Controlled;
|
153
|
+
Controlled.parameters = {
|
154
|
+
a11y: {
|
155
|
+
config: {
|
156
|
+
rules: [{
|
157
|
+
id: 'color-contrast',
|
158
|
+
enabled: false
|
159
|
+
}]
|
160
|
+
}
|
161
|
+
}
|
162
|
+
};
|
143
163
|
var ControlledWithButton = function ControlledWithButton(args) {
|
144
164
|
var _useState3 = (0, _react.useState)([]),
|
145
165
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
@@ -174,7 +194,19 @@ var ControlledWithButton = function ControlledWithButton(args) {
|
|
174
194
|
return (0, _react2.jsx)(_reactStately.Item, item, item.text);
|
175
195
|
}));
|
176
196
|
};
|
197
|
+
|
198
|
+
// Added to bypass color contrast in safari
|
177
199
|
exports.ControlledWithButton = ControlledWithButton;
|
200
|
+
ControlledWithButton.parameters = {
|
201
|
+
a11y: {
|
202
|
+
config: {
|
203
|
+
rules: [{
|
204
|
+
id: 'color-contrast',
|
205
|
+
enabled: false
|
206
|
+
}]
|
207
|
+
}
|
208
|
+
}
|
209
|
+
};
|
178
210
|
var WithCustomColorsAndIcons = function WithCustomColorsAndIcons(args) {
|
179
211
|
return (0, _react2.jsx)(_index.Messages, args, (0, _react2.jsx)(_reactStately.Item, {
|
180
212
|
bg: "accent.99",
|
@@ -182,7 +214,19 @@ var WithCustomColorsAndIcons = function WithCustomColorsAndIcons(args) {
|
|
182
214
|
icon: _AccountIcon["default"]
|
183
215
|
}, loremText));
|
184
216
|
};
|
217
|
+
|
218
|
+
// Added to bypass color contrast in safari
|
185
219
|
exports.WithCustomColorsAndIcons = WithCustomColorsAndIcons;
|
220
|
+
WithCustomColorsAndIcons.parameters = {
|
221
|
+
a11y: {
|
222
|
+
config: {
|
223
|
+
rules: [{
|
224
|
+
id: 'color-contrast',
|
225
|
+
enabled: false
|
226
|
+
}]
|
227
|
+
}
|
228
|
+
}
|
229
|
+
};
|
186
230
|
var UseReducer = function UseReducer() {
|
187
231
|
// import { messagesReducer as messagesReducerCore } from '@pingux/astro';
|
188
232
|
// const messagesReducer = messagesReducerCore;
|
@@ -197,7 +241,7 @@ var UseReducer = function UseReducer() {
|
|
197
241
|
// showWarningMessage: makeShowMessage('warning', -1),
|
198
242
|
// };
|
199
243
|
|
200
|
-
var _useReducer = (0, _react.useReducer)(_index2.messagesReducerStory),
|
244
|
+
var _useReducer = (0, _react.useReducer)(_index2.messagesReducerStory, []),
|
201
245
|
_useReducer2 = (0, _slicedToArray2["default"])(_useReducer, 2),
|
202
246
|
items = _useReducer2[0],
|
203
247
|
dispatch = _useReducer2[1];
|
@@ -225,7 +269,19 @@ var UseReducer = function UseReducer() {
|
|
225
269
|
return (0, _react2.jsx)(_reactStately.Item, item, item.text);
|
226
270
|
}));
|
227
271
|
};
|
272
|
+
|
273
|
+
// Added to bypass color contrast in safari
|
228
274
|
exports.UseReducer = UseReducer;
|
275
|
+
UseReducer.parameters = {
|
276
|
+
a11y: {
|
277
|
+
config: {
|
278
|
+
rules: [{
|
279
|
+
id: 'color-contrast',
|
280
|
+
enabled: false
|
281
|
+
}]
|
282
|
+
}
|
283
|
+
}
|
284
|
+
};
|
229
285
|
var UseReducerWithMultipleContainers = function UseReducerWithMultipleContainers() {
|
230
286
|
var _useReducer3 = (0, _react.useReducer)(_index2.multiMessagesReducerStory, {
|
231
287
|
'container-one': [],
|
@@ -277,7 +333,19 @@ var UseReducerWithMultipleContainers = function UseReducerWithMultipleContainers
|
|
277
333
|
return (0, _react2.jsx)(_reactStately.Item, item, item.text);
|
278
334
|
}));
|
279
335
|
};
|
336
|
+
|
337
|
+
// Added to bypass color contrast in safari
|
280
338
|
exports.UseReducerWithMultipleContainers = UseReducerWithMultipleContainers;
|
339
|
+
UseReducerWithMultipleContainers.parameters = {
|
340
|
+
a11y: {
|
341
|
+
config: {
|
342
|
+
rules: [{
|
343
|
+
id: 'color-contrast',
|
344
|
+
enabled: false
|
345
|
+
}]
|
346
|
+
}
|
347
|
+
}
|
348
|
+
};
|
281
349
|
var WithTextStyling = function WithTextStyling(args) {
|
282
350
|
var items = [{
|
283
351
|
key: 'message1',
|
@@ -301,4 +369,16 @@ var WithTextStyling = function WithTextStyling(args) {
|
|
301
369
|
return (0, _react2.jsx)(_reactStately.Item, item, item.node || item.text);
|
302
370
|
});
|
303
371
|
};
|
304
|
-
|
372
|
+
|
373
|
+
// Added to bypass color contrast in safari
|
374
|
+
exports.WithTextStyling = WithTextStyling;
|
375
|
+
WithTextStyling.parameters = {
|
376
|
+
a11y: {
|
377
|
+
config: {
|
378
|
+
rules: [{
|
379
|
+
id: 'color-contrast',
|
380
|
+
enabled: false
|
381
|
+
}]
|
382
|
+
}
|
383
|
+
}
|
384
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -13,6 +13,7 @@ var _testUtils = require("react-dom/test-utils");
|
|
13
13
|
var _reactStately = require("react-stately");
|
14
14
|
var _AccountIcon = _interopRequireDefault(require("@pingux/mdi-react/AccountIcon"));
|
15
15
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
16
|
+
var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
|
16
17
|
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
17
18
|
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
18
19
|
var _Message = require("./Message");
|
@@ -36,7 +37,7 @@ var items = [{
|
|
36
37
|
}, {
|
37
38
|
key: 'message2',
|
38
39
|
text: 'Form saved successfully',
|
39
|
-
status:
|
40
|
+
status: _statuses["default"].SUCCESS
|
40
41
|
}];
|
41
42
|
var getComponent = function getComponent() {
|
42
43
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
@@ -47,7 +48,7 @@ var getComponent = function getComponent() {
|
|
47
48
|
}, "Here is a very neutral thing"), (0, _react2.jsx)(_reactStately.Item, {
|
48
49
|
key: "message2",
|
49
50
|
"data-id": "message2",
|
50
|
-
status: "
|
51
|
+
status: _statuses["default"].SUCCESS
|
51
52
|
}, "Form saved successfully")));
|
52
53
|
};
|
53
54
|
var getWithDynamicList = function getWithDynamicList() {
|
@@ -107,16 +108,15 @@ test('`onClose` get as first arg key of message', function () {
|
|
107
108
|
expect(onClose).toHaveBeenCalledWith('message1');
|
108
109
|
});
|
109
110
|
test('click on close button removes message after delay', function () {
|
110
|
-
|
111
|
-
global.setTimeout = jest.fn(function (cb) {
|
112
|
-
return cb();
|
113
|
-
});
|
114
|
-
});
|
111
|
+
jest.useFakeTimers();
|
115
112
|
getComponent();
|
116
113
|
var messages = _testWrapper.screen.getByTestId(testId);
|
117
114
|
expect(messages.childElementCount).toBe(2);
|
118
115
|
var buttons = _testWrapper.screen.getAllByRole('button');
|
119
116
|
_userEvent["default"].click(buttons[0]);
|
117
|
+
(0, _testUtils.act)(function () {
|
118
|
+
jest.runAllTimers();
|
119
|
+
});
|
120
120
|
expect(messages.childElementCount).toBe(1);
|
121
121
|
});
|
122
122
|
test('Item accepts a data-id and the data-id can be found in the DOM', function () {
|
@@ -147,12 +147,12 @@ test('messages without a status do not have an aria-label announcing the status'
|
|
147
147
|
});
|
148
148
|
test('should render messages with messagesReducerStory', function () {
|
149
149
|
getComponent();
|
150
|
-
_.messagesReducerStory.actions.showSuccessMessage();
|
150
|
+
_.messagesReducerStory.actions.showSuccessMessage('Some');
|
151
151
|
expect(_testWrapper.screen.getByTestId(testId)).toBeInTheDocument();
|
152
152
|
});
|
153
153
|
test('should render messages with multiMessagesReducerStory', function () {
|
154
154
|
getComponent();
|
155
|
-
_.multiMessagesReducerStory.actions.showSuccessMessage();
|
155
|
+
_.multiMessagesReducerStory.actions.showSuccessMessage('some', 'container-one');
|
156
156
|
expect(_testWrapper.screen.getByTestId(testId)).toBeInTheDocument();
|
157
157
|
});
|
158
158
|
test('should render a custom icon', function () {
|
@@ -21,17 +21,16 @@ _Object$defineProperty(exports, "default", {
|
|
21
21
|
_Object$defineProperty(exports, "messagesReducerStory", {
|
22
22
|
enumerable: true,
|
23
23
|
get: function get() {
|
24
|
-
return
|
24
|
+
return _utils.messagesReducer;
|
25
25
|
}
|
26
26
|
});
|
27
27
|
_Object$defineProperty(exports, "multiMessagesReducerStory", {
|
28
28
|
enumerable: true,
|
29
29
|
get: function get() {
|
30
|
-
return
|
30
|
+
return _utils.multiMessagesReducer;
|
31
31
|
}
|
32
32
|
});
|
33
33
|
var _Messages = _interopRequireDefault(require("./Messages"));
|
34
|
-
var _Messages2 = require("./Messages.reducer");
|
35
34
|
var _utils = require("./utils");
|
36
35
|
_forEachInstanceProperty(_context = _Object$keys(_utils)).call(_context, function (key) {
|
37
36
|
if (key === "default" || key === "__esModule") return;
|
@@ -0,0 +1,107 @@
|
|
1
|
+
import { Key } from 'react';
|
2
|
+
import { MessageItem, Status } from '../../../types';
|
3
|
+
/**
|
4
|
+
* A set of message util functions.
|
5
|
+
*/
|
6
|
+
export declare const messagesActions: {
|
7
|
+
ADD_MESSAGE: string;
|
8
|
+
HIDE_MESSAGE: string;
|
9
|
+
REMOVE_MESSAGE: string;
|
10
|
+
CLEAR_MESSAGES: string;
|
11
|
+
SHOW_SUCCESS_MESSAGE: string;
|
12
|
+
SHOW_ERROR_MESSAGE: string;
|
13
|
+
SHOW_WARNING_MESSAGE: string;
|
14
|
+
MULTI_SHOW_SUCCESS_MESSAGE: string;
|
15
|
+
MULTI_SHOW_CRITICAL_MESSAGE: string;
|
16
|
+
MULTI_SHOW_WARNING_MESSAGE: string;
|
17
|
+
};
|
18
|
+
export interface Message extends MessageItem {
|
19
|
+
isHidden?: boolean;
|
20
|
+
}
|
21
|
+
type MessageAction = {
|
22
|
+
message?: Message;
|
23
|
+
key?: Key;
|
24
|
+
};
|
25
|
+
export interface AddMessageAction extends MessageAction {
|
26
|
+
type: typeof messagesActions.ADD_MESSAGE;
|
27
|
+
}
|
28
|
+
export interface HideMessageAction extends MessageAction {
|
29
|
+
type: typeof messagesActions.HIDE_MESSAGE;
|
30
|
+
}
|
31
|
+
export interface RemoveMessageAction extends MessageAction {
|
32
|
+
type: typeof messagesActions.REMOVE_MESSAGE;
|
33
|
+
}
|
34
|
+
export interface ClearMessagesAction extends MessageAction {
|
35
|
+
type?: typeof messagesActions.CLEAR_MESSAGES;
|
36
|
+
}
|
37
|
+
export type MessageActions = AddMessageAction | HideMessageAction | RemoveMessageAction | ClearMessagesAction;
|
38
|
+
export type MessagesState = Message[];
|
39
|
+
/**
|
40
|
+
* Create an action to add a message
|
41
|
+
* The message object to be added
|
42
|
+
*/
|
43
|
+
export declare const addMessage: (message: Message) => AddMessageAction;
|
44
|
+
/**
|
45
|
+
* Create an action to hide a message by key
|
46
|
+
*/
|
47
|
+
export declare const hideMessage: (key: Key) => HideMessageAction;
|
48
|
+
/**
|
49
|
+
* Create an action to remove a message by key
|
50
|
+
*/
|
51
|
+
export declare const removeMessage: (key: Key) => RemoveMessageAction;
|
52
|
+
/**
|
53
|
+
* Create an action to add a message and then remove it if there's a timeout
|
54
|
+
*/
|
55
|
+
export declare const showMessage: (messageArg: Message, timeout?: number) => (dispatch: (action: MessageActions) => void) => {
|
56
|
+
isHidden?: boolean | undefined;
|
57
|
+
text?: string | undefined;
|
58
|
+
node?: import("react").ReactNode;
|
59
|
+
key: Key;
|
60
|
+
props?: import("../../../types").MessageItemProps | undefined;
|
61
|
+
status?: Status | undefined;
|
62
|
+
};
|
63
|
+
/** Create an action to clear all messages */
|
64
|
+
export declare const clearMessages: () => ClearMessagesAction;
|
65
|
+
/** Reducer to store a list of messages */
|
66
|
+
declare const messagesReducer: {
|
67
|
+
(state: MessagesState, action: MessageActions): MessagesState;
|
68
|
+
actions: {
|
69
|
+
addMessage: (message: Message) => AddMessageAction;
|
70
|
+
hideMessage: (key: Key) => HideMessageAction;
|
71
|
+
removeMessage: (key: Key) => RemoveMessageAction;
|
72
|
+
showMessage: (messageArg: Message, timeout?: number) => (dispatch: (action: MessageActions) => void) => {
|
73
|
+
isHidden?: boolean | undefined;
|
74
|
+
text?: string | undefined;
|
75
|
+
node?: import("react").ReactNode;
|
76
|
+
key: Key;
|
77
|
+
props?: import("../../../types").MessageItemProps | undefined;
|
78
|
+
status?: Status | undefined;
|
79
|
+
};
|
80
|
+
clearMessages: () => ClearMessagesAction;
|
81
|
+
showSuccessMessage: (text: string) => (dispatch: (action: MessageActions) => void) => {
|
82
|
+
isHidden?: boolean | undefined;
|
83
|
+
text?: string | undefined;
|
84
|
+
node?: import("react").ReactNode;
|
85
|
+
key: Key;
|
86
|
+
props?: import("../../../types").MessageItemProps | undefined;
|
87
|
+
status?: Status | undefined;
|
88
|
+
};
|
89
|
+
showErrorMessage: (text: string) => (dispatch: (action: MessageActions) => void) => {
|
90
|
+
isHidden?: boolean | undefined;
|
91
|
+
text?: string | undefined;
|
92
|
+
node?: import("react").ReactNode;
|
93
|
+
key: Key;
|
94
|
+
props?: import("../../../types").MessageItemProps | undefined;
|
95
|
+
status?: Status | undefined;
|
96
|
+
};
|
97
|
+
showWarningMessage: (text: string) => (dispatch: (action: MessageActions) => void) => {
|
98
|
+
isHidden?: boolean | undefined;
|
99
|
+
text?: string | undefined;
|
100
|
+
node?: import("react").ReactNode;
|
101
|
+
key: Key;
|
102
|
+
props?: import("../../../types").MessageItemProps | undefined;
|
103
|
+
status?: Status | undefined;
|
104
|
+
};
|
105
|
+
};
|
106
|
+
};
|
107
|
+
export default messagesReducer;
|
@@ -19,6 +19,7 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
|
|
19
19
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
20
20
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
21
21
|
var _uuid = require("uuid");
|
22
|
+
var _statuses = _interopRequireDefault(require("../../../utils/devUtils/constants/statuses"));
|
22
23
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty2(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
23
24
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
24
25
|
/**
|
@@ -28,14 +29,19 @@ var messagesActions = {
|
|
28
29
|
ADD_MESSAGE: 'ADD_MESSAGE',
|
29
30
|
HIDE_MESSAGE: 'HIDE_MESSAGE',
|
30
31
|
REMOVE_MESSAGE: 'REMOVE_MESSAGE',
|
31
|
-
CLEAR_MESSAGES: 'CLEAR_MESSAGES'
|
32
|
+
CLEAR_MESSAGES: 'CLEAR_MESSAGES',
|
33
|
+
SHOW_SUCCESS_MESSAGE: 'SHOW_SUCCESS_MESSAGE',
|
34
|
+
SHOW_ERROR_MESSAGE: 'SHOW_ERROR_MESSAGE',
|
35
|
+
SHOW_WARNING_MESSAGE: 'SHOW_WARNING_MESSAGE',
|
36
|
+
MULTI_SHOW_SUCCESS_MESSAGE: 'MULTI_SHOW_SUCCESS_MESSAGE',
|
37
|
+
MULTI_SHOW_CRITICAL_MESSAGE: 'MULTI_SHOW_CRITICAL_MESSAGE',
|
38
|
+
MULTI_SHOW_WARNING_MESSAGE: 'MULTI_SHOW_WARNING_MESSAGE'
|
32
39
|
};
|
33
|
-
|
40
|
+
exports.messagesActions = messagesActions;
|
34
41
|
/**
|
35
42
|
* Create an action to add a message
|
36
43
|
* The message object to be added
|
37
44
|
*/
|
38
|
-
exports.messagesActions = messagesActions;
|
39
45
|
var addMessage = function addMessage(message) {
|
40
46
|
return {
|
41
47
|
type: messagesActions.ADD_MESSAGE,
|
@@ -96,21 +102,26 @@ var clearMessages = function clearMessages() {
|
|
96
102
|
};
|
97
103
|
};
|
98
104
|
|
99
|
-
|
105
|
+
// eslint-disable-next-line max-len
|
100
106
|
exports.clearMessages = clearMessages;
|
101
|
-
var
|
107
|
+
var makeShowMessage = function makeShowMessage(status, timeout) {
|
108
|
+
return function (text) {
|
109
|
+
return messagesReducer.actions.showMessage({
|
110
|
+
text: text,
|
111
|
+
status: status
|
112
|
+
}, timeout);
|
113
|
+
};
|
114
|
+
};
|
115
|
+
|
116
|
+
/** Reducer to store a list of messages */
|
117
|
+
var messagesReducer = function messagesReducer(state, action) {
|
102
118
|
var _context;
|
103
|
-
|
104
|
-
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
105
|
-
type = _ref.type,
|
106
|
-
message = _ref.message,
|
107
|
-
key = _ref.key;
|
108
|
-
switch (type) {
|
119
|
+
switch (action.type) {
|
109
120
|
case messagesActions.ADD_MESSAGE:
|
110
|
-
return (0, _concat["default"])(_context = []).call(_context, state, [_objectSpread({}, message)]);
|
121
|
+
return (0, _concat["default"])(_context = []).call(_context, state, [_objectSpread({}, action.message)]);
|
111
122
|
case messagesActions.HIDE_MESSAGE:
|
112
123
|
return (0, _map["default"])(state).call(state, function (search) {
|
113
|
-
if (search.key === key) {
|
124
|
+
if (search.key === action.key) {
|
114
125
|
return _objectSpread(_objectSpread({}, search), {}, {
|
115
126
|
isHidden: true
|
116
127
|
});
|
@@ -119,7 +130,7 @@ var messagesReducer = function messagesReducer() {
|
|
119
130
|
});
|
120
131
|
case messagesActions.REMOVE_MESSAGE:
|
121
132
|
return (0, _filter["default"])(state).call(state, function (search) {
|
122
|
-
return key !== search.key;
|
133
|
+
return action.key !== search.key;
|
123
134
|
});
|
124
135
|
case messagesActions.CLEAR_MESSAGES:
|
125
136
|
return [];
|
@@ -132,7 +143,10 @@ messagesReducer.actions = {
|
|
132
143
|
hideMessage: hideMessage,
|
133
144
|
removeMessage: removeMessage,
|
134
145
|
showMessage: showMessage,
|
135
|
-
clearMessages: clearMessages
|
146
|
+
clearMessages: clearMessages,
|
147
|
+
showSuccessMessage: makeShowMessage(_statuses["default"].SUCCESS, 3000),
|
148
|
+
showErrorMessage: makeShowMessage(_statuses["default"].ERROR, -1),
|
149
|
+
showWarningMessage: makeShowMessage(_statuses["default"].WARNING, -1)
|
136
150
|
};
|
137
151
|
var _default = messagesReducer;
|
138
152
|
exports["default"] = _default;
|
@@ -0,0 +1,83 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { Message, MessageActions } from './messagesReducer';
|
3
|
+
export declare const withContainer: (container: any, action: any) => any;
|
4
|
+
export declare const createMultiple: (actionCreator: any) => (container: any, ...args: any[]) => any;
|
5
|
+
/**
|
6
|
+
* Create an action to add a message
|
7
|
+
*/
|
8
|
+
export declare const addMessage: (container: any, ...args: any[]) => any;
|
9
|
+
/**
|
10
|
+
* Create an action to hide a message by key
|
11
|
+
*/
|
12
|
+
export declare const hideMessage: (container: any, ...args: any[]) => any;
|
13
|
+
/**
|
14
|
+
* Create an action to remove a message
|
15
|
+
*/
|
16
|
+
export declare const removeMessage: (container: any, ...args: any[]) => any;
|
17
|
+
/**
|
18
|
+
* Create an action to clear all messages
|
19
|
+
*/
|
20
|
+
export declare const clearMessages: (container: any, ...args: any[]) => any;
|
21
|
+
/**
|
22
|
+
* Create an action to add a message and then remove it if there's a timeout
|
23
|
+
*/
|
24
|
+
export declare const showMessage: (container: any, messageArg: Message, timeout?: number) => (dispatch: any) => {
|
25
|
+
isHidden?: boolean | undefined;
|
26
|
+
text?: string | undefined;
|
27
|
+
node?: import("react").ReactNode;
|
28
|
+
key: import("react").Key;
|
29
|
+
props?: import("../../..").MessageItemProps | undefined;
|
30
|
+
status?: import("../../..").Status | undefined;
|
31
|
+
};
|
32
|
+
export interface MultiMessagesReducerState {
|
33
|
+
container?: string;
|
34
|
+
}
|
35
|
+
export interface MultiMessagesReducerActions {
|
36
|
+
container?: string;
|
37
|
+
action: MessageActions;
|
38
|
+
}
|
39
|
+
declare const multiMessagesReducer: {
|
40
|
+
(state: any, { container, ...action }: {
|
41
|
+
[x: string]: any;
|
42
|
+
container: any;
|
43
|
+
}): any;
|
44
|
+
actions: {
|
45
|
+
removeMessage: (container: any, ...args: any[]) => any;
|
46
|
+
addMessage: (container: any, ...args: any[]) => any;
|
47
|
+
hideMessage: (container: any, ...args: any[]) => any;
|
48
|
+
clearMessages: (container: any, ...args: any[]) => any;
|
49
|
+
showMessage: (container: any, messageArg: Message, timeout?: number) => (dispatch: any) => {
|
50
|
+
isHidden?: boolean | undefined;
|
51
|
+
text?: string | undefined;
|
52
|
+
node?: import("react").ReactNode;
|
53
|
+
key: import("react").Key;
|
54
|
+
props?: import("../../..").MessageItemProps | undefined;
|
55
|
+
status?: import("../../..").Status | undefined;
|
56
|
+
};
|
57
|
+
showSuccessMessage: (container: any, text: any) => (dispatch: any) => {
|
58
|
+
isHidden?: boolean | undefined;
|
59
|
+
text?: string | undefined;
|
60
|
+
node?: import("react").ReactNode;
|
61
|
+
key: import("react").Key;
|
62
|
+
props?: import("../../..").MessageItemProps | undefined;
|
63
|
+
status?: import("../../..").Status | undefined;
|
64
|
+
};
|
65
|
+
showCriticalMessage: (container: any, text: any) => (dispatch: any) => {
|
66
|
+
isHidden?: boolean | undefined;
|
67
|
+
text?: string | undefined;
|
68
|
+
node?: import("react").ReactNode;
|
69
|
+
key: import("react").Key;
|
70
|
+
props?: import("../../..").MessageItemProps | undefined;
|
71
|
+
status?: import("../../..").Status | undefined;
|
72
|
+
};
|
73
|
+
showWarningMessage: (container: any, text: any) => (dispatch: any) => {
|
74
|
+
isHidden?: boolean | undefined;
|
75
|
+
text?: string | undefined;
|
76
|
+
node?: import("react").ReactNode;
|
77
|
+
key: import("react").Key;
|
78
|
+
props?: import("../../..").MessageItemProps | undefined;
|
79
|
+
status?: import("../../..").Status | undefined;
|
80
|
+
};
|
81
|
+
};
|
82
|
+
};
|
83
|
+
export default multiMessagesReducer;
|
@@ -1,6 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
4
3
|
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
5
4
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
6
5
|
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
@@ -9,7 +8,6 @@ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/in
|
|
9
8
|
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
10
9
|
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
11
10
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
12
|
-
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
13
11
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
14
12
|
_Object$defineProperty(exports, "__esModule", {
|
15
13
|
value: true
|
@@ -19,10 +17,9 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-c
|
|
19
17
|
var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
|
20
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
21
19
|
var _uuid = require("uuid");
|
22
|
-
var
|
20
|
+
var _statuses = _interopRequireDefault(require("../../../utils/devUtils/constants/statuses"));
|
21
|
+
var _messagesReducer = _interopRequireDefault(require("./messagesReducer"));
|
23
22
|
var _excluded = ["container"];
|
24
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
25
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
26
23
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
27
24
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
28
25
|
var withContainer = function withContainer(container, action) {
|
@@ -44,25 +41,25 @@ var createMultiple = function createMultiple(actionCreator) {
|
|
44
41
|
* Create an action to add a message
|
45
42
|
*/
|
46
43
|
exports.createMultiple = createMultiple;
|
47
|
-
var addMessage = createMultiple(_messagesReducer.addMessage);
|
44
|
+
var addMessage = createMultiple(_messagesReducer["default"].actions.addMessage);
|
48
45
|
|
49
46
|
/**
|
50
47
|
* Create an action to hide a message by key
|
51
48
|
*/
|
52
49
|
exports.addMessage = addMessage;
|
53
|
-
var hideMessage = createMultiple(_messagesReducer.hideMessage);
|
50
|
+
var hideMessage = createMultiple(_messagesReducer["default"].actions.hideMessage);
|
54
51
|
|
55
52
|
/**
|
56
53
|
* Create an action to remove a message
|
57
54
|
*/
|
58
55
|
exports.hideMessage = hideMessage;
|
59
|
-
var removeMessage = createMultiple(_messagesReducer.removeMessage);
|
56
|
+
var removeMessage = createMultiple(_messagesReducer["default"].actions.removeMessage);
|
60
57
|
|
61
58
|
/**
|
62
59
|
* Create an action to clear all messages
|
63
60
|
*/
|
64
61
|
exports.removeMessage = removeMessage;
|
65
|
-
var clearMessages = createMultiple(_messagesReducer.clearMessages);
|
62
|
+
var clearMessages = createMultiple(_messagesReducer["default"].actions.clearMessages);
|
66
63
|
|
67
64
|
/**
|
68
65
|
* Create an action to add a message and then remove it if there's a timeout
|
@@ -87,10 +84,16 @@ var showMessage = function showMessage(container, messageArg) {
|
|
87
84
|
};
|
88
85
|
};
|
89
86
|
exports.showMessage = showMessage;
|
90
|
-
var
|
91
|
-
|
92
|
-
|
93
|
-
|
87
|
+
var makeMultiShowMessage = function makeMultiShowMessage(status, timeout) {
|
88
|
+
return function (container, text) {
|
89
|
+
return multiMessagesReducer.actions.showMessage(container, {
|
90
|
+
text: text,
|
91
|
+
status: status
|
92
|
+
}, timeout);
|
93
|
+
};
|
94
|
+
};
|
95
|
+
var multiMessagesReducer = function multiMessagesReducer(state, _ref) {
|
96
|
+
var container = _ref.container,
|
94
97
|
action = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
95
98
|
return container ? _objectSpread(_objectSpread({}, state), {}, (0, _defineProperty2["default"])({}, container, (0, _messagesReducer["default"])(state[container], action))) : state;
|
96
99
|
};
|
@@ -99,7 +102,10 @@ multiMessagesReducer.actions = {
|
|
99
102
|
addMessage: addMessage,
|
100
103
|
hideMessage: hideMessage,
|
101
104
|
clearMessages: clearMessages,
|
102
|
-
showMessage: showMessage
|
105
|
+
showMessage: showMessage,
|
106
|
+
showSuccessMessage: makeMultiShowMessage(_statuses["default"].SUCCESS, 3000),
|
107
|
+
showCriticalMessage: makeMultiShowMessage(_statuses["default"].ERROR, -1),
|
108
|
+
showWarningMessage: makeMultiShowMessage(_statuses["default"].WARNING, -1)
|
103
109
|
};
|
104
110
|
var _default = multiMessagesReducer;
|
105
111
|
exports["default"] = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|