@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.
Files changed (46) hide show
  1. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +1 -1
  2. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.test.js +2 -3
  3. package/lib/cjs/components/HelpHint/HelpHint.stories.js +7 -7
  4. package/lib/cjs/components/IconButton/IconButton.styles.d.ts +72 -1
  5. package/lib/cjs/components/Messages/Message.d.ts +9 -0
  6. package/lib/cjs/components/Messages/Message.js +16 -46
  7. package/lib/cjs/components/Messages/Message.styles.d.ts +151 -0
  8. package/lib/cjs/components/Messages/Messages.d.ts +4 -0
  9. package/lib/cjs/components/Messages/Messages.js +2 -15
  10. package/lib/cjs/components/Messages/Messages.stories.d.ts +128 -0
  11. package/lib/cjs/components/Messages/Messages.stories.js +96 -16
  12. package/lib/cjs/components/Messages/Messages.test.d.ts +1 -0
  13. package/lib/cjs/components/Messages/Messages.test.js +9 -9
  14. package/lib/cjs/components/Messages/index.d.ts +3 -0
  15. package/lib/cjs/components/Messages/index.js +2 -3
  16. package/lib/cjs/components/Messages/utils/index.d.ts +2 -0
  17. package/lib/cjs/components/Messages/utils/messagesReducer.d.ts +107 -0
  18. package/lib/cjs/components/Messages/utils/messagesReducer.js +29 -15
  19. package/lib/cjs/components/Messages/utils/multiMessagesReducer.d.ts +83 -0
  20. package/lib/cjs/components/Messages/utils/multiMessagesReducer.js +20 -14
  21. package/lib/cjs/components/Messages/utils/tests/messagesReducer.test.d.ts +1 -0
  22. package/lib/cjs/components/Messages/utils/tests/messagesReducer.test.js +4 -3
  23. package/lib/cjs/components/Messages/utils/tests/multiMessagesReducer.test.d.ts +1 -0
  24. package/lib/cjs/components/Messages/utils/tests/multiMessagesReducer.test.js +3 -2
  25. package/lib/cjs/types/index.d.ts +1 -0
  26. package/lib/cjs/types/index.js +25 -14
  27. package/lib/cjs/types/item.d.ts +2 -0
  28. package/lib/cjs/types/messages.d.ts +43 -0
  29. package/lib/cjs/types/messages.js +6 -0
  30. package/lib/components/Breadcrumbs/Breadcrumbs.js +1 -1
  31. package/lib/components/Breadcrumbs/Breadcrumbs.test.js +2 -3
  32. package/lib/components/HelpHint/HelpHint.stories.js +7 -7
  33. package/lib/components/Messages/Message.js +14 -46
  34. package/lib/components/Messages/Messages.js +2 -15
  35. package/lib/components/Messages/Messages.stories.js +95 -15
  36. package/lib/components/Messages/Messages.test.js +9 -9
  37. package/lib/components/Messages/index.js +1 -1
  38. package/lib/components/Messages/utils/messagesReducer.js +27 -13
  39. package/lib/components/Messages/utils/multiMessagesReducer.js +20 -10
  40. package/lib/components/Messages/utils/tests/messagesReducer.test.js +4 -3
  41. package/lib/components/Messages/utils/tests/multiMessagesReducer.test.js +9 -8
  42. package/lib/types/index.js +1 -0
  43. package/lib/types/messages.js +1 -0
  44. package/package.json +1 -1
  45. package/lib/cjs/components/Messages/Messages.reducer.js +0 -51
  46. 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.ts");
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: 'success'
76
+ status: _statuses["default"].SUCCESS
77
77
  }, {
78
78
  key: 'message3',
79
79
  text: loremText,
80
- status: 'warning'
80
+ status: _statuses["default"].WARNING
81
81
  }, {
82
82
  key: 'message4',
83
83
  text: loremText,
84
- status: 'error'
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: "success"
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
- // messages = [{...}]
106
- (0, _react2.jsx)(_index.Messages, (0, _extends2["default"])({}, args, {
107
- items: messages
108
- }), function (item) {
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
- exports.WithTextStyling = WithTextStyling;
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: 'success'
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: "success"
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
- (0, _testUtils.act)(function () {
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 () {
@@ -0,0 +1,3 @@
1
+ export { default } from './Messages';
2
+ export { messagesReducer as messagesReducerStory, multiMessagesReducer as multiMessagesReducerStory, } from './utils';
3
+ export * from './utils';
@@ -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 _Messages2.messagesReducer;
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 _Messages2.multiMessagesReducer;
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,2 @@
1
+ export { default as messagesReducer } from './messagesReducer';
2
+ export { default as multiMessagesReducer } from './multiMessagesReducer';
@@ -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
- /** Reducer to store a list of messages */
105
+ // eslint-disable-next-line max-len
100
106
  exports.clearMessages = clearMessages;
101
- var messagesReducer = function messagesReducer() {
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
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
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 _messagesReducer = _interopRequireWildcard(require("./messagesReducer"));
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 multiMessagesReducer = function multiMessagesReducer() {
91
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
92
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
93
- container = _ref.container,
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;