@pingux/astro 2.7.1 → 2.8.0-alpha.0
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/Button/Button.js +2 -55
- package/lib/cjs/components/Button/Button.stories.js +12 -30
- package/lib/cjs/components/Button/buttonAttributes.js +109 -0
- package/lib/cjs/components/Calendar/Calendar.test.js +6 -6
- package/lib/cjs/components/Calendar/CalendarCell.js +6 -5
- package/lib/cjs/experimental/SaveBar/SaveBar.js +85 -0
- package/lib/cjs/experimental/SaveBar/SaveBar.stories.js +101 -0
- package/lib/cjs/experimental/SaveBar/SaveBar.test.js +94 -0
- package/lib/cjs/experimental/SaveBar/index.js +14 -0
- package/lib/cjs/utils/docUtils/ariaAttributes.js +2 -1
- package/lib/cjs/utils/docUtils/docArgTypes.js +41 -0
- package/lib/components/Button/Button.js +2 -55
- package/lib/components/Button/Button.stories.js +13 -31
- package/lib/components/Button/buttonAttributes.js +101 -0
- package/lib/components/Calendar/Calendar.test.js +6 -6
- package/lib/components/Calendar/CalendarCell.js +6 -5
- package/lib/experimental/SaveBar/SaveBar.js +76 -0
- package/lib/experimental/SaveBar/SaveBar.stories.js +88 -0
- package/lib/experimental/SaveBar/SaveBar.test.js +91 -0
- package/lib/experimental/SaveBar/index.js +1 -0
- package/lib/utils/docUtils/ariaAttributes.js +1 -1
- package/lib/utils/docUtils/docArgTypes.js +29 -0
- package/package.json +1 -1
- package/NOTICE.html +0 -12804
@@ -21,10 +21,10 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-c
|
|
21
21
|
var _react = _interopRequireWildcard(require("react"));
|
22
22
|
var _reactAria = require("react-aria");
|
23
23
|
var _interactions = require("@react-aria/interactions");
|
24
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
25
24
|
var _themeUi = require("theme-ui");
|
26
25
|
var _hooks = require("../../hooks");
|
27
26
|
var _Loader = _interopRequireDefault(require("../Loader"));
|
27
|
+
var _buttonAttributes = require("./buttonAttributes");
|
28
28
|
var _react2 = require("@emotion/react");
|
29
29
|
var _excluded = ["className", "isDisabled", "isLoading", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp", "children", "variant", "tabIndex"];
|
30
30
|
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); }
|
@@ -101,60 +101,7 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
101
101
|
}
|
102
102
|
})));
|
103
103
|
});
|
104
|
-
Button.propTypes =
|
105
|
-
/** Defines a string value that labels the current element. */
|
106
|
-
'aria-label': _propTypes["default"].string,
|
107
|
-
/** Whether the button is disabled. */
|
108
|
-
isDisabled: _propTypes["default"].bool,
|
109
|
-
/** Shows loader instead of children */
|
110
|
-
isLoading: _propTypes["default"].bool,
|
111
|
-
/**
|
112
|
-
* Handler that is called when a hover interaction starts.
|
113
|
-
* (e: HoverEvent) => void
|
114
|
-
*/
|
115
|
-
onHoverStart: _propTypes["default"].func,
|
116
|
-
/**
|
117
|
-
* Handler that is called when a hover interaction ends.
|
118
|
-
* (e: HoverEvent) => void
|
119
|
-
*/
|
120
|
-
onHoverEnd: _propTypes["default"].func,
|
121
|
-
/**
|
122
|
-
* Handler that is called when the hover state changes.
|
123
|
-
* (isHovering: boolean) => void
|
124
|
-
*/
|
125
|
-
onHoverChange: _propTypes["default"].func,
|
126
|
-
/**
|
127
|
-
* Handler that is called when the press is released over the target.
|
128
|
-
* (e: PressEvent) => void
|
129
|
-
*/
|
130
|
-
onPress: _propTypes["default"].func,
|
131
|
-
/**
|
132
|
-
* Handler that is called when a press interaction starts.
|
133
|
-
* (e: PressEvent) => void
|
134
|
-
*/
|
135
|
-
onPressStart: _propTypes["default"].func,
|
136
|
-
/**
|
137
|
-
* Handler that is called when a press interaction ends, either over the target or when the
|
138
|
-
* pointer leaves the target.
|
139
|
-
* (e: PressEvent) => void
|
140
|
-
*/
|
141
|
-
onPressEnd: _propTypes["default"].func,
|
142
|
-
/**
|
143
|
-
* Handler that is called when the press state changes.
|
144
|
-
* (isPressed: boolean) => void
|
145
|
-
*/
|
146
|
-
onPressChange: _propTypes["default"].func,
|
147
|
-
/**
|
148
|
-
* Handler that is called when a press is released over the target, regardless of whether it
|
149
|
-
* started on the target or not.
|
150
|
-
* (e: PressEvent) => void
|
151
|
-
*/
|
152
|
-
onPressUp: _propTypes["default"].func,
|
153
|
-
/** The styling variation of the button. */
|
154
|
-
variant: _propTypes["default"].string,
|
155
|
-
/** The focus variation of the button. */
|
156
|
-
tabIndex: _propTypes["default"].number
|
157
|
-
};
|
104
|
+
Button.propTypes = _buttonAttributes.buttonPropTypes;
|
158
105
|
Button.defaultProps = {
|
159
106
|
isDisabled: false,
|
160
107
|
variant: 'default'
|
@@ -1,5 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
5
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
7
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
8
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
9
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
3
10
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
11
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
12
|
_Object$defineProperty(exports, "__esModule", {
|
@@ -8,6 +15,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
8
15
|
exports["default"] = exports.TextIconButton = exports.Primary = exports.InlineButton = exports.FilterButton = exports.Disabled = exports.Default = exports.Critical = exports.ColorBlockButton = void 0;
|
9
16
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
10
17
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
11
19
|
var _react = _interopRequireDefault(require("react"));
|
12
20
|
var _AddCircleIcon = _interopRequireDefault(require("@pingux/mdi-react/AddCircleIcon"));
|
13
21
|
var _CreateIcon = _interopRequireDefault(require("@pingux/mdi-react/CreateIcon"));
|
@@ -16,43 +24,17 @@ var _storybookAddonDesigns = require("storybook-addon-designs");
|
|
16
24
|
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
17
25
|
var _index = require("../../index");
|
18
26
|
var _figmaLinks = require("../../utils/designUtils/figmaLinks.js");
|
19
|
-
var _variants = require("../../utils/devUtils/constants/variants");
|
20
27
|
var _Button = _interopRequireDefault(require("./Button.mdx"));
|
28
|
+
var _buttonAttributes = require("./buttonAttributes");
|
21
29
|
var _react2 = require("@emotion/react");
|
22
30
|
var _excluded = ["isConfigured"];
|
23
|
-
|
24
|
-
var
|
25
|
-
delete variants.ICON;
|
26
|
-
delete variants.ICON_BUTTON;
|
27
|
-
delete variants.INVERTED;
|
28
|
-
|
29
|
-
// add designer approved variants for devs to use here
|
30
|
-
var variantOptions = ['critical', 'default', 'inline', 'inlinePrimary', 'link', 'primary'];
|
31
|
+
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; }
|
32
|
+
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; }
|
31
33
|
var _default = {
|
32
34
|
title: 'Components/Button',
|
33
35
|
component: _index.Button,
|
34
36
|
decorators: [_storybookAddonDesigns.withDesign],
|
35
|
-
argTypes: {
|
36
|
-
variant: {
|
37
|
-
control: {
|
38
|
-
type: 'select',
|
39
|
-
options: variantOptions
|
40
|
-
},
|
41
|
-
defaultValue: 'default'
|
42
|
-
},
|
43
|
-
children: {
|
44
|
-
description: 'Button text.',
|
45
|
-
defaultValue: 'Button Text',
|
46
|
-
table: {
|
47
|
-
type: {
|
48
|
-
summary: 'string'
|
49
|
-
}
|
50
|
-
},
|
51
|
-
control: {
|
52
|
-
type: 'text'
|
53
|
-
}
|
54
|
-
}
|
55
|
-
},
|
37
|
+
argTypes: _objectSpread({}, _buttonAttributes.buttonArgTypes),
|
56
38
|
parameters: {
|
57
39
|
docs: {
|
58
40
|
source: {
|
@@ -0,0 +1,109 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
5
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
7
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
8
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
9
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
10
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
11
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
12
|
+
_Object$defineProperty(exports, "__esModule", {
|
13
|
+
value: true
|
14
|
+
});
|
15
|
+
exports.buttonPropTypes = exports.buttonArgTypes = void 0;
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
17
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
18
|
+
var _ariaAttributes = require("../../utils/docUtils/ariaAttributes");
|
19
|
+
var _docArgTypes = require("../../utils/docUtils/docArgTypes");
|
20
|
+
var _hoverProps = require("../../utils/docUtils/hoverProps");
|
21
|
+
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; }
|
22
|
+
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; }
|
23
|
+
// add designer approved variants for devs to use here
|
24
|
+
var variantOptions = ['critical', 'default', 'inline', 'inlinePrimary', 'link', 'primary'];
|
25
|
+
var descriptions = {
|
26
|
+
isDisabled: 'Whether the button is disabled.',
|
27
|
+
isLoading: 'Shows loader instead of children',
|
28
|
+
onHoverStart: 'Handler that is called when a hover interaction starts. (e: HoverEvent) => void',
|
29
|
+
onHoverEnd: 'Handler that is called when the hover state changes. (isHovering: boolean) => void',
|
30
|
+
onHoverChange: 'Handler that is called when the press is released over the target. (e: PressEvent) => void',
|
31
|
+
onPress: 'Handler that is called when the press is released over the target. (e: PressEvent) => void',
|
32
|
+
onPressChange: 'Handler that is called when the press state changes. (isPressed: boolean) => void',
|
33
|
+
onPressEnd: 'Handler that is called when a press interaction ends, either over the target or when the pointer leaves the target. (e: PressEvent) => void',
|
34
|
+
onPressStart: 'Handler that is called when a press interaction starts. (e: PressEvent) => void',
|
35
|
+
onPressUp: 'Handler that is called when a press is released over the target, regardless of whether it started on the target or not. (e: PressEvent) => void',
|
36
|
+
variant: 'The styling variation of the button.',
|
37
|
+
tabIndex: 'The focus variation of button',
|
38
|
+
children: 'Button text.'
|
39
|
+
};
|
40
|
+
var buttonArgTypes = _objectSpread(_objectSpread({
|
41
|
+
variant: {
|
42
|
+
control: {
|
43
|
+
type: 'select',
|
44
|
+
options: variantOptions
|
45
|
+
},
|
46
|
+
defaultValue: 'default',
|
47
|
+
description: descriptions.variant
|
48
|
+
},
|
49
|
+
children: {
|
50
|
+
defaultValue: 'Button Text',
|
51
|
+
table: {
|
52
|
+
type: {
|
53
|
+
summary: 'string'
|
54
|
+
}
|
55
|
+
},
|
56
|
+
control: {
|
57
|
+
type: 'text'
|
58
|
+
},
|
59
|
+
description: descriptions.children
|
60
|
+
},
|
61
|
+
onPress: _objectSpread({
|
62
|
+
description: descriptions.onPress
|
63
|
+
}, _docArgTypes.funcArg),
|
64
|
+
onPressStart: _objectSpread({
|
65
|
+
description: descriptions.onPressStart
|
66
|
+
}, _docArgTypes.funcArg),
|
67
|
+
onPressEnd: _objectSpread({
|
68
|
+
description: descriptions.onPressEnd
|
69
|
+
}, _docArgTypes.funcArg),
|
70
|
+
onPressChange: _objectSpread({
|
71
|
+
description: descriptions.onPressChange
|
72
|
+
}, _docArgTypes.funcArg),
|
73
|
+
onPressUp: _objectSpread({
|
74
|
+
description: descriptions.onPressUp
|
75
|
+
}, _docArgTypes.funcArg)
|
76
|
+
}, _hoverProps.onHoverArgTypes), {}, {
|
77
|
+
isLoading: _objectSpread(_objectSpread({}, _docArgTypes.booleanArg), {}, {
|
78
|
+
description: descriptions.isLoading
|
79
|
+
}),
|
80
|
+
isDisabled: _objectSpread(_objectSpread({}, _docArgTypes.booleanArg), {}, {
|
81
|
+
description: descriptions.isDisabled
|
82
|
+
}),
|
83
|
+
tabIndex: {
|
84
|
+
description: descriptions.tabIndex
|
85
|
+
},
|
86
|
+
'aria-label': {
|
87
|
+
control: {
|
88
|
+
type: 'text'
|
89
|
+
},
|
90
|
+
description: _ariaAttributes.descriptions.ariaLabel
|
91
|
+
}
|
92
|
+
});
|
93
|
+
exports.buttonArgTypes = buttonArgTypes;
|
94
|
+
var buttonPropTypes = {
|
95
|
+
'aria-label': _propTypes["default"].string,
|
96
|
+
isDisabled: _propTypes["default"].bool,
|
97
|
+
isLoading: _propTypes["default"].bool,
|
98
|
+
onHoverStart: _propTypes["default"].func,
|
99
|
+
onHoverEnd: _propTypes["default"].func,
|
100
|
+
onHoverChange: _propTypes["default"].func,
|
101
|
+
onPress: _propTypes["default"].func,
|
102
|
+
onPressStart: _propTypes["default"].func,
|
103
|
+
onPressEnd: _propTypes["default"].func,
|
104
|
+
onPressChange: _propTypes["default"].func,
|
105
|
+
onPressUp: _propTypes["default"].func,
|
106
|
+
variant: _propTypes["default"].string,
|
107
|
+
tabIndex: _propTypes["default"].number
|
108
|
+
};
|
109
|
+
exports.buttonPropTypes = buttonPropTypes;
|
@@ -127,7 +127,7 @@ test('should be able to select dates', function () {
|
|
127
127
|
_userEvent["default"].click(dateButtons[4]);
|
128
128
|
expect(dateButtons[4]).toHaveClass('is-selected');
|
129
129
|
});
|
130
|
-
test('should be able to navigate
|
130
|
+
test('should be able to navigate to previous month dates without selection', function () {
|
131
131
|
var _context3;
|
132
132
|
getComponent({
|
133
133
|
defaultValue: '2022-08-10'
|
@@ -138,10 +138,10 @@ test('should be able to navigate and select shown previous month dates', functio
|
|
138
138
|
var previousDate = disabledGridCells[0];
|
139
139
|
expect((0, _testWrapper.within)(previousDate).getByText(31)).toHaveAttribute('aria-label', 'Sunday, July 31, 2022');
|
140
140
|
_userEvent["default"].click(previousDate);
|
141
|
-
var
|
142
|
-
expect(
|
141
|
+
var selectedMonth = _testWrapper.screen.queryByRole('grid');
|
142
|
+
expect(selectedMonth).toHaveAttribute('aria-label', 'July 2022');
|
143
143
|
});
|
144
|
-
test('should be able to navigate
|
144
|
+
test('should be able to navigate to next month dates without selection', function () {
|
145
145
|
var _context4;
|
146
146
|
getComponent({
|
147
147
|
defaultValue: '2022-08-10'
|
@@ -152,8 +152,8 @@ test('should be able to navigate and select shown next month dates', function ()
|
|
152
152
|
var NextDate = disabledGridCells[34];
|
153
153
|
expect((0, _testWrapper.within)(NextDate).getByText(3)).toHaveAttribute('aria-label', 'Saturday, September 3, 2022');
|
154
154
|
_userEvent["default"].click(NextDate);
|
155
|
-
var
|
156
|
-
expect(
|
155
|
+
var selectedMonth = _testWrapper.screen.queryByRole('grid');
|
156
|
+
expect(selectedMonth).toHaveAttribute('aria-label', 'September 2022');
|
157
157
|
});
|
158
158
|
test('allows users to open calendar item with enter / space key', function () {
|
159
159
|
getComponent({
|
@@ -50,8 +50,8 @@ var CalendarCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
50
50
|
formattedDate = _useCalendarCell.formattedDate,
|
51
51
|
isDisabled = _useCalendarCell.isDisabled;
|
52
52
|
var focusPreviousPage = state.focusPreviousPage,
|
53
|
-
|
54
|
-
|
53
|
+
focusNextPage = state.focusNextPage,
|
54
|
+
setFocused = state.setFocused;
|
55
55
|
|
56
56
|
/**
|
57
57
|
* Function handles the navigation and adds focus to previous or next month dates
|
@@ -61,13 +61,13 @@ var CalendarCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
61
61
|
var handleDisableClick = (0, _react.useCallback)(function () {
|
62
62
|
var _cellRef$current, _cellRef$current2;
|
63
63
|
if ((_cellRef$current = cellRef.current) !== null && _cellRef$current !== void 0 && _cellRef$current.hidden && !state.isDisabled && formattedDate > 20) {
|
64
|
+
setFocused(undefined);
|
64
65
|
focusPreviousPage();
|
65
|
-
setValue(date);
|
66
66
|
} else if ((_cellRef$current2 = cellRef.current) !== null && _cellRef$current2 !== void 0 && _cellRef$current2.hidden && !state.isDisabled && formattedDate < 15) {
|
67
|
+
setFocused(undefined);
|
67
68
|
focusNextPage();
|
68
|
-
setValue(date);
|
69
69
|
}
|
70
|
-
}, [date, focusNextPage, focusPreviousPage, formattedDate,
|
70
|
+
}, [date, focusNextPage, focusPreviousPage, formattedDate, state, setFocused]);
|
71
71
|
var _useHover = (0, _interactions.useHover)({}),
|
72
72
|
hoverProps = _useHover.hoverProps,
|
73
73
|
isHovered = _useHover.isHovered;
|
@@ -116,6 +116,7 @@ CalendarCell.propTypes = {
|
|
116
116
|
focusPreviousPage: _propTypes["default"].func,
|
117
117
|
setValue: _propTypes["default"].func,
|
118
118
|
focusNextPage: _propTypes["default"].func,
|
119
|
+
setFocused: _propTypes["default"].func,
|
119
120
|
setFocusedDate: _propTypes["default"].func,
|
120
121
|
isDisabled: _propTypes["default"].bool
|
121
122
|
}),
|
@@ -0,0 +1,85 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports["default"] = void 0;
|
9
|
+
var _reverse = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reverse"));
|
10
|
+
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
11
|
+
var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
|
12
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
13
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
15
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
17
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
18
|
+
var _buttonAttributes = require("../../components/Button/buttonAttributes");
|
19
|
+
var _index = require("../../index");
|
20
|
+
var _react2 = require("@emotion/react");
|
21
|
+
var _excluded = ["saveButtonProps", "cancelButtonProps", "refreshButtonProps", "isJustifiedRight", "children"];
|
22
|
+
var SaveButton = function SaveButton(props) {
|
23
|
+
return (0, _react2.jsx)(_index.Button, (0, _extends2["default"])({
|
24
|
+
variant: "primary",
|
25
|
+
"data-id": "save-button"
|
26
|
+
}, props), props.text);
|
27
|
+
};
|
28
|
+
var CancelButton = function CancelButton(props) {
|
29
|
+
return (0, _react2.jsx)(_index.Button, (0, _extends2["default"])({
|
30
|
+
variant: "link",
|
31
|
+
"data-id": "cancel-button"
|
32
|
+
}, props), props.text);
|
33
|
+
};
|
34
|
+
var RefreshButton = function RefreshButton(props) {
|
35
|
+
return (0, _react2.jsx)(_index.Button, (0, _extends2["default"])({
|
36
|
+
"data-id": "refresh-button"
|
37
|
+
}, props), props.text);
|
38
|
+
};
|
39
|
+
var SaveBar = function SaveBar(props) {
|
40
|
+
var _context2;
|
41
|
+
var saveButtonProps = props.saveButtonProps,
|
42
|
+
cancelButtonProps = props.cancelButtonProps,
|
43
|
+
refreshButtonProps = props.refreshButtonProps,
|
44
|
+
isJustifiedRight = props.isJustifiedRight,
|
45
|
+
children = props.children,
|
46
|
+
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
47
|
+
var ButtonArray = [(0, _react2.jsx)(SaveButton, saveButtonProps), (0, _react2.jsx)(CancelButton, cancelButtonProps)];
|
48
|
+
var Content = function Content() {
|
49
|
+
var _context;
|
50
|
+
var content = isJustifiedRight ? (0, _reverse["default"])(_context = (0, _slice["default"])(ButtonArray).call(ButtonArray)).call(_context) : ButtonArray;
|
51
|
+
if (refreshButtonProps) {
|
52
|
+
(0, _splice["default"])(content).call(content, 1, 0, (0, _react2.jsx)(RefreshButton, refreshButtonProps));
|
53
|
+
}
|
54
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _map["default"])(content).call(content, function (child) {
|
55
|
+
return child;
|
56
|
+
}));
|
57
|
+
};
|
58
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
59
|
+
isRow: true,
|
60
|
+
gap: "md",
|
61
|
+
sx: {
|
62
|
+
bg: 'white',
|
63
|
+
px: 'lg',
|
64
|
+
py: 'md',
|
65
|
+
justifyContent: isJustifiedRight ? 'right' : 'left'
|
66
|
+
}
|
67
|
+
}, others), children ? (0, _concat["default"])(_context2 = []).call(_context2, children) : (0, _react2.jsx)(Content, null));
|
68
|
+
};
|
69
|
+
SaveBar.propTypes = {
|
70
|
+
saveButtonProps: _propTypes["default"].shape(_buttonAttributes.buttonPropTypes),
|
71
|
+
cancelButtonProps: _propTypes["default"].shape(_buttonAttributes.buttonPropTypes),
|
72
|
+
refreshButtonProps: _propTypes["default"].shape(_buttonAttributes.buttonPropTypes),
|
73
|
+
isJustifiedRight: _propTypes["default"].bool
|
74
|
+
};
|
75
|
+
SaveButton.propTypes = {
|
76
|
+
text: _propTypes["default"].string
|
77
|
+
};
|
78
|
+
CancelButton.propTypes = {
|
79
|
+
text: _propTypes["default"].string
|
80
|
+
};
|
81
|
+
RefreshButton.propTypes = {
|
82
|
+
text: _propTypes["default"].string
|
83
|
+
};
|
84
|
+
var _default = SaveBar;
|
85
|
+
exports["default"] = _default;
|
@@ -0,0 +1,101 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports["default"] = exports.WithRefreshButton = exports.WithChildren = exports.JustifiedRight = exports.Default = void 0;
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
11
|
+
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
12
|
+
var _index = require("../../index");
|
13
|
+
var _SaveBar = _interopRequireDefault(require("./SaveBar"));
|
14
|
+
var _SaveBar2 = _interopRequireDefault(require("./SaveBar.mdx"));
|
15
|
+
var _react2 = require("@emotion/react");
|
16
|
+
var _default = {
|
17
|
+
title: 'Experimental/SaveBar',
|
18
|
+
component: _SaveBar["default"],
|
19
|
+
parameters: {
|
20
|
+
docs: {
|
21
|
+
source: {
|
22
|
+
type: 'code'
|
23
|
+
},
|
24
|
+
page: function page() {
|
25
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_SaveBar2["default"], null), (0, _react2.jsx)(_storybookDocsLayout["default"], null));
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
};
|
30
|
+
exports["default"] = _default;
|
31
|
+
var Default = function Default(args) {
|
32
|
+
return (0, _react2.jsx)(_SaveBar["default"], (0, _extends2["default"])({
|
33
|
+
saveButtonProps: {
|
34
|
+
key: 'save button',
|
35
|
+
text: 'Save',
|
36
|
+
onPress: function onPress() {
|
37
|
+
return alert('Save button pressed');
|
38
|
+
}
|
39
|
+
},
|
40
|
+
cancelButtonProps: {
|
41
|
+
key: 'cancel button',
|
42
|
+
text: 'Cancel',
|
43
|
+
onPress: function onPress() {
|
44
|
+
return alert('Cancel button pressed');
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}, args));
|
48
|
+
};
|
49
|
+
exports.Default = Default;
|
50
|
+
var WithRefreshButton = function WithRefreshButton(args) {
|
51
|
+
return (0, _react2.jsx)(_SaveBar["default"], (0, _extends2["default"])({
|
52
|
+
saveButtonProps: {
|
53
|
+
key: 'save button',
|
54
|
+
text: 'Save',
|
55
|
+
onPress: function onPress() {
|
56
|
+
return alert('Save button pressed');
|
57
|
+
}
|
58
|
+
},
|
59
|
+
cancelButtonProps: {
|
60
|
+
key: 'cancel button',
|
61
|
+
text: 'Cancel',
|
62
|
+
onPress: function onPress() {
|
63
|
+
return alert('Cancel button pressed');
|
64
|
+
}
|
65
|
+
},
|
66
|
+
refreshButtonProps: {
|
67
|
+
key: 'refresh button',
|
68
|
+
text: 'Refresh',
|
69
|
+
onPress: function onPress() {
|
70
|
+
return alert('Refresh button pressed');
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}, args));
|
74
|
+
};
|
75
|
+
exports.WithRefreshButton = WithRefreshButton;
|
76
|
+
var JustifiedRight = function JustifiedRight() {
|
77
|
+
return (0, _react2.jsx)(_SaveBar["default"], {
|
78
|
+
saveButtonProps: {
|
79
|
+
key: 'next button',
|
80
|
+
text: 'Next',
|
81
|
+
onPress: function onPress() {
|
82
|
+
return alert('Save button pressed');
|
83
|
+
}
|
84
|
+
},
|
85
|
+
cancelButtonProps: {
|
86
|
+
key: 'cancel button',
|
87
|
+
text: 'Cancel',
|
88
|
+
onPress: function onPress() {
|
89
|
+
return alert('Cancel button pressed');
|
90
|
+
}
|
91
|
+
},
|
92
|
+
isJustifiedRight: true
|
93
|
+
});
|
94
|
+
};
|
95
|
+
exports.JustifiedRight = JustifiedRight;
|
96
|
+
var WithChildren = function WithChildren(args) {
|
97
|
+
return (0, _react2.jsx)(_SaveBar["default"], args, (0, _react2.jsx)(_index.Button, null, "Custom Button!"), (0, _react2.jsx)(_index.Button, {
|
98
|
+
variant: "link"
|
99
|
+
}, "Custom Link!"));
|
100
|
+
};
|
101
|
+
exports.WithChildren = WithChildren;
|
@@ -0,0 +1,94 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
6
|
+
var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
|
7
|
+
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
8
|
+
var _ = _interopRequireDefault(require("."));
|
9
|
+
var _react2 = require("@emotion/react");
|
10
|
+
var testId = 'test-SaveBar';
|
11
|
+
var saveButtonProps = {
|
12
|
+
key: 'save button',
|
13
|
+
text: 'Save',
|
14
|
+
onPress: function onPress() {
|
15
|
+
return alert('Save button pressed');
|
16
|
+
}
|
17
|
+
};
|
18
|
+
var cancelButtonProps = {
|
19
|
+
key: 'cancel button',
|
20
|
+
text: 'Cancel',
|
21
|
+
onPress: function onPress() {
|
22
|
+
return alert('Cancel button pressed');
|
23
|
+
}
|
24
|
+
};
|
25
|
+
var refreshButtonProps = {
|
26
|
+
key: 'refresh button',
|
27
|
+
text: 'Refresh',
|
28
|
+
onPress: function onPress() {
|
29
|
+
return alert('Refresh button pressed');
|
30
|
+
}
|
31
|
+
};
|
32
|
+
var defaultProps = {
|
33
|
+
'data-testid': testId,
|
34
|
+
saveButtonProps: saveButtonProps,
|
35
|
+
cancelButtonProps: cancelButtonProps
|
36
|
+
};
|
37
|
+
var getComponent = function getComponent() {
|
38
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
39
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props)));
|
40
|
+
};
|
41
|
+
var getComponentCustomChildren = function getComponentCustomChildren() {
|
42
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
43
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props), (0, _react2.jsx)("button", null, "custom text"), (0, _react2.jsx)("button", null, "Also custom text")));
|
44
|
+
};
|
45
|
+
var getComponentTextChildren = function getComponentTextChildren() {
|
46
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
47
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_["default"], props, "custom text"));
|
48
|
+
};
|
49
|
+
(0, _testAxe["default"])(getComponent);
|
50
|
+
afterEach(function () {
|
51
|
+
jest.resetAllMocks();
|
52
|
+
});
|
53
|
+
test('SaveBar does render', function () {
|
54
|
+
getComponent({});
|
55
|
+
var element = _testWrapper.screen.getByTestId(testId);
|
56
|
+
expect(element).toBeInTheDocument();
|
57
|
+
});
|
58
|
+
test('renders save and cancel buttons', function () {
|
59
|
+
getComponent();
|
60
|
+
var saveButton = _testWrapper.screen.getByText(saveButtonProps.text);
|
61
|
+
expect(saveButton).toBeInTheDocument();
|
62
|
+
var cancelButton = _testWrapper.screen.getByText(cancelButtonProps.text);
|
63
|
+
expect(cancelButton).toBeInTheDocument();
|
64
|
+
});
|
65
|
+
test('renders all three buttons', function () {
|
66
|
+
getComponent({
|
67
|
+
refreshButtonProps: refreshButtonProps
|
68
|
+
});
|
69
|
+
var saveButton = _testWrapper.screen.getByText(saveButtonProps.text);
|
70
|
+
expect(saveButton).toBeInTheDocument();
|
71
|
+
var refreshButton = _testWrapper.screen.getByText(refreshButtonProps.text);
|
72
|
+
expect(refreshButton).toBeInTheDocument();
|
73
|
+
var cancelButton = _testWrapper.screen.getByText(cancelButtonProps.text);
|
74
|
+
expect(cancelButton).toBeInTheDocument();
|
75
|
+
});
|
76
|
+
test('renders custom children', function () {
|
77
|
+
getComponentCustomChildren();
|
78
|
+
var firstButton = _testWrapper.screen.getByText('custom text');
|
79
|
+
var secondButton = _testWrapper.screen.getByText('Also custom text');
|
80
|
+
expect(firstButton).toBeInTheDocument();
|
81
|
+
expect(secondButton).toBeInTheDocument();
|
82
|
+
});
|
83
|
+
test('renders custom text', function () {
|
84
|
+
getComponentTextChildren();
|
85
|
+
var firstText = _testWrapper.screen.getByText('custom text');
|
86
|
+
expect(firstText).toBeInTheDocument();
|
87
|
+
});
|
88
|
+
test('isJustifiedRight reverses order of button', function () {
|
89
|
+
getComponent({
|
90
|
+
isJustifiedRight: true
|
91
|
+
});
|
92
|
+
var buttons = _testWrapper.screen.getAllByRole('button');
|
93
|
+
expect(buttons[0]).toHaveAttribute('data-id', 'cancel-button');
|
94
|
+
});
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
_Object$defineProperty(exports, "default", {
|
9
|
+
enumerable: true,
|
10
|
+
get: function get() {
|
11
|
+
return _SaveBar["default"];
|
12
|
+
}
|
13
|
+
});
|
14
|
+
var _SaveBar = _interopRequireDefault(require("./SaveBar"));
|
@@ -12,7 +12,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
12
12
|
_Object$defineProperty(exports, "__esModule", {
|
13
13
|
value: true
|
14
14
|
});
|
15
|
-
exports.getAriaAttributeProps = exports.ariaAttributesBasePropTypes = exports.ariaAttributeBaseDocSettings = exports.ariaAttributeBaseArgTypes = void 0;
|
15
|
+
exports.getAriaAttributeProps = exports.descriptions = exports.ariaAttributesBasePropTypes = exports.ariaAttributeBaseDocSettings = exports.ariaAttributeBaseArgTypes = void 0;
|
16
16
|
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
17
17
|
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
|
18
18
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
@@ -30,6 +30,7 @@ var descriptions = {
|
|
30
30
|
ariaLabel: 'Defines a string value that labels the current element.',
|
31
31
|
ariaLabelledby: 'Identifies the element (or elements) that labels the current element.'
|
32
32
|
};
|
33
|
+
exports.descriptions = descriptions;
|
33
34
|
var ariaAttributeBaseDocSettings = {
|
34
35
|
type: {
|
35
36
|
summary: 'string'
|