@pingux/astro 1.23.0-alpha.3 → 1.24.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/CHANGELOG.md +20 -0
- package/lib/cjs/components/Bracket/Bracket.js +118 -0
- package/lib/cjs/components/Bracket/Bracket.stories.js +90 -0
- package/lib/cjs/components/Bracket/Bracket.test.js +47 -0
- package/lib/cjs/components/Bracket/index.js +18 -0
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +0 -1
- package/lib/cjs/components/ListView/ListView.js +6 -0
- package/lib/cjs/components/SwitchField/SwitchField.js +10 -2
- package/lib/cjs/index.js +83 -60
- package/lib/cjs/recipes/ConditionalFilter.stories.js +9 -47
- package/lib/cjs/styles/forms/switch.js +3 -3
- package/lib/cjs/styles/variants/boxes.js +6 -0
- package/lib/components/Bracket/Bracket.js +88 -0
- package/lib/components/Bracket/Bracket.stories.js +70 -0
- package/lib/components/Bracket/Bracket.test.js +35 -0
- package/lib/components/Bracket/index.js +1 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.js +0 -1
- package/lib/components/ListView/ListView.js +6 -0
- package/lib/components/SwitchField/SwitchField.js +9 -2
- package/lib/index.js +2 -0
- package/lib/recipes/ConditionalFilter.stories.js +10 -48
- package/lib/styles/forms/switch.js +3 -3
- package/lib/styles/variants/boxes.js +6 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,26 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
# [1.23.0](https://gitlab.corp.pingidentity.com/ux/pingux/compare/@pingux/astro@1.22.0...@pingux/astro@1.23.0) (2022-07-19)
|
7
|
+
|
8
|
+
|
9
|
+
### Bug Fixes
|
10
|
+
|
11
|
+
* [UIP-5484] toggling SwitchField when using in ListView ([6b3dd18](https://gitlab.corp.pingidentity.com/ux/pingux/commit/6b3dd18cbabbe2283f270aa8b7ad555b28beeed7))
|
12
|
+
* [UIP-5512] Rocker button accessibility issues ([9bae6a4](https://gitlab.corp.pingidentity.com/ux/pingux/commit/9bae6a4f45a2e510e612a59652ee7f02a0be4600))
|
13
|
+
* [UIP-5517] add props to TooltipTrigger ([bed6ead](https://gitlab.corp.pingidentity.com/ux/pingux/commit/bed6ead817cda471b0c718c732a8b7fea4ad62b6))
|
14
|
+
* [UIP-5544] ArrayField add button fix ([3034f77](https://gitlab.corp.pingidentity.com/ux/pingux/commit/3034f776f1776e38d2d197c839aafe3856d1fdab))
|
15
|
+
* [UIP-5545] listBox focus fix ([ab4238a](https://gitlab.corp.pingidentity.com/ux/pingux/commit/ab4238ad6ac046aa6f344469c77d274daad0a2f1))
|
16
|
+
|
17
|
+
|
18
|
+
### Features
|
19
|
+
|
20
|
+
* [UIP-5519] Analyze ArrayField for Performance ([84fc74b](https://gitlab.corp.pingidentity.com/ux/pingux/commit/84fc74bf0470541ea10ae07baa9f5cfc27029405))
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
6
26
|
# [1.22.0](https://gitlab.corp.pingidentity.com/ux/pingux/compare/@pingux/astro@1.21.1...@pingux/astro@1.22.0) (2022-07-06)
|
7
27
|
|
8
28
|
|
@@ -0,0 +1,118 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
6
|
+
|
7
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
|
+
|
9
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
10
|
+
|
11
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
12
|
+
|
13
|
+
_Object$defineProperty(exports, "__esModule", {
|
14
|
+
value: true
|
15
|
+
});
|
16
|
+
|
17
|
+
exports["default"] = void 0;
|
18
|
+
|
19
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
20
|
+
|
21
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
22
|
+
|
23
|
+
var _react = _interopRequireWildcard(require("react"));
|
24
|
+
|
25
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
26
|
+
|
27
|
+
var _index = require("../../index");
|
28
|
+
|
29
|
+
var _colors = require("../../styles/colors");
|
30
|
+
|
31
|
+
var _react2 = require("@emotion/react");
|
32
|
+
|
33
|
+
var _excluded = ["isLast", "color"];
|
34
|
+
|
35
|
+
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); }
|
36
|
+
|
37
|
+
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; }
|
38
|
+
|
39
|
+
var Bracket = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
40
|
+
var isLast = props.isLast,
|
41
|
+
color = props.color,
|
42
|
+
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
43
|
+
var bracketRef = (0, _react.useRef)();
|
44
|
+
/* istanbul ignore next */
|
45
|
+
|
46
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
47
|
+
return bracketRef.current;
|
48
|
+
});
|
49
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
50
|
+
variant: "boxes.bracketBase"
|
51
|
+
}, others), !isLast && (0, _react2.jsx)(_index.Box, {
|
52
|
+
width: 15,
|
53
|
+
sx: {
|
54
|
+
position: 'absolute',
|
55
|
+
top: 0,
|
56
|
+
bottom: 0
|
57
|
+
}
|
58
|
+
}, (0, _react2.jsx)("svg", {
|
59
|
+
xmlns: "http://www.w3.org/2000/svg",
|
60
|
+
version: "1.1",
|
61
|
+
preserveAspectRatio: "none",
|
62
|
+
viewBox: "0 0 10 10",
|
63
|
+
style: {
|
64
|
+
flexGrow: 1
|
65
|
+
},
|
66
|
+
"data-testid": "isLastLayer"
|
67
|
+
}, (0, _react2.jsx)("title", null, "bracket-fill"), (0, _react2.jsx)("g", null, (0, _react2.jsx)("title", null, "Layer 3"), (0, _react2.jsx)("line", {
|
68
|
+
strokeLinecap: "undefined",
|
69
|
+
strokeLinejoin: "undefined",
|
70
|
+
y2: "0",
|
71
|
+
x2: "0",
|
72
|
+
y1: "10",
|
73
|
+
x1: "0",
|
74
|
+
stroke: color,
|
75
|
+
fill: "none"
|
76
|
+
})))), (0, _react2.jsx)(_index.Box, {
|
77
|
+
flexBasis: "50%"
|
78
|
+
}, (0, _react2.jsx)("svg", {
|
79
|
+
xmlns: "http://www.w3.org/2000/svg",
|
80
|
+
version: "1.1",
|
81
|
+
preserveAspectRatio: "none",
|
82
|
+
viewBox: "0 0 10 10",
|
83
|
+
style: {
|
84
|
+
flexGrow: 1
|
85
|
+
}
|
86
|
+
}, (0, _react2.jsx)("title", null, "bracket-fill"), (0, _react2.jsx)("g", null, (0, _react2.jsx)("title", null, "Layer 1"), (0, _react2.jsx)("line", {
|
87
|
+
strokeLinecap: "undefined",
|
88
|
+
strokeLinejoin: "undefined",
|
89
|
+
y2: "0",
|
90
|
+
x2: "0",
|
91
|
+
y1: "10",
|
92
|
+
x1: "0",
|
93
|
+
stroke: color,
|
94
|
+
fill: "none"
|
95
|
+
}))), (0, _react2.jsx)("svg", {
|
96
|
+
xmlns: "http://www.w3.org/2000/svg",
|
97
|
+
version: "1.1",
|
98
|
+
height: "15"
|
99
|
+
}, (0, _react2.jsx)("title", null, "bracket-fill"), (0, _react2.jsx)("g", {
|
100
|
+
transform: "translate(-1, 0)"
|
101
|
+
}, (0, _react2.jsx)("title", null, "Layer 2"), (0, _react2.jsx)("path", {
|
102
|
+
fill: "none",
|
103
|
+
stroke: color,
|
104
|
+
d: "M1 0C1 2.5 1 8 1 10C1 12.5 3 14.5 5.5 14.5C7.1 14.5 9.33333 14.5 10.5 14.5"
|
105
|
+
})))));
|
106
|
+
});
|
107
|
+
Bracket.defaultProps = {
|
108
|
+
color: _colors.line.light
|
109
|
+
};
|
110
|
+
Bracket.propTypes = {
|
111
|
+
/** A prop to set the strokes color. */
|
112
|
+
color: _propTypes["default"].string,
|
113
|
+
|
114
|
+
/** Whether or not the bracket is the last in a series of brackets. */
|
115
|
+
isLast: _propTypes["default"].bool
|
116
|
+
};
|
117
|
+
var _default = Bracket;
|
118
|
+
exports["default"] = _default;
|
@@ -0,0 +1,90 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
_Object$defineProperty(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
|
11
|
+
exports["default"] = exports.Default = void 0;
|
12
|
+
|
13
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
14
|
+
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
16
|
+
|
17
|
+
var _index = require("../../index");
|
18
|
+
|
19
|
+
var _react2 = require("@emotion/react");
|
20
|
+
|
21
|
+
var _default = {
|
22
|
+
title: 'Bracket',
|
23
|
+
component: _index.Bracket
|
24
|
+
};
|
25
|
+
exports["default"] = _default;
|
26
|
+
|
27
|
+
var Default = function Default() {
|
28
|
+
var anyConditions = [{
|
29
|
+
field1: 'Group',
|
30
|
+
field3: 'Marketing',
|
31
|
+
key: 'Group1Field'
|
32
|
+
}, {
|
33
|
+
field1: 'Group',
|
34
|
+
field3: 'UX Team',
|
35
|
+
key: 'Group2Field'
|
36
|
+
}];
|
37
|
+
var customChipStyles = {
|
38
|
+
'& > span': {
|
39
|
+
textTransform: 'none',
|
40
|
+
fontWeight: '500'
|
41
|
+
},
|
42
|
+
minWidth: '65px',
|
43
|
+
'z-index': '1'
|
44
|
+
};
|
45
|
+
return (0, _react2.jsx)(_index.Box, {
|
46
|
+
p: "md",
|
47
|
+
ml: "sm",
|
48
|
+
bg: "background"
|
49
|
+
}, (0, _react2.jsx)(_index.Box, {
|
50
|
+
isRow: true
|
51
|
+
}, (0, _react2.jsx)(_index.Chip, {
|
52
|
+
label: "Any",
|
53
|
+
bg: "neutral.20",
|
54
|
+
mr: "sm",
|
55
|
+
sx: customChipStyles,
|
56
|
+
alignSelf: "center"
|
57
|
+
}), (0, _react2.jsx)(_index.Text, null, " of the conditions are true")), (0, _map["default"])(anyConditions).call(anyConditions, function (item, index) {
|
58
|
+
return (0, _react2.jsx)(_index.Box, {
|
59
|
+
isRow: true,
|
60
|
+
key: item.key
|
61
|
+
}, (0, _react2.jsx)(_index.Bracket, {
|
62
|
+
isLast: index === anyConditions.length - 1
|
63
|
+
}), (0, _react2.jsx)(_index.Box, {
|
64
|
+
mt: "md",
|
65
|
+
variant: "forms.input.container",
|
66
|
+
bg: "white",
|
67
|
+
isRow: true,
|
68
|
+
alignItems: "center",
|
69
|
+
borderRadius: "4px",
|
70
|
+
width: "100%",
|
71
|
+
sx: {
|
72
|
+
'&::after': {
|
73
|
+
bg: 'decorative.4'
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}, (0, _react2.jsx)(_index.Text, {
|
77
|
+
pl: "md",
|
78
|
+
pr: "sm"
|
79
|
+
}, item.field1), (0, _react2.jsx)(_index.Chip, {
|
80
|
+
label: "Equals",
|
81
|
+
bg: "accent.90",
|
82
|
+
textColor: "neutral.10",
|
83
|
+
sx: customChipStyles,
|
84
|
+
mr: "sm",
|
85
|
+
alignSelf: "center"
|
86
|
+
}), (0, _react2.jsx)(_index.Text, null, item.field3)));
|
87
|
+
}));
|
88
|
+
};
|
89
|
+
|
90
|
+
exports.Default = Default;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
6
|
+
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
8
|
+
|
9
|
+
var _react2 = require("@testing-library/react");
|
10
|
+
|
11
|
+
var _ = _interopRequireDefault(require("."));
|
12
|
+
|
13
|
+
var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
|
14
|
+
|
15
|
+
var _react3 = require("@emotion/react");
|
16
|
+
|
17
|
+
var testId = 'test-bracket';
|
18
|
+
var defaultProps = {
|
19
|
+
'data-testid': testId
|
20
|
+
};
|
21
|
+
|
22
|
+
var getComponent = function getComponent() {
|
23
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
24
|
+
return (0, _react2.render)((0, _react3.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props)));
|
25
|
+
}; // // Need to be added to each test file to test accessibility using axe.
|
26
|
+
|
27
|
+
|
28
|
+
(0, _testAxe["default"])(getComponent);
|
29
|
+
test('default bracket', function () {
|
30
|
+
getComponent();
|
31
|
+
|
32
|
+
var bracket = _react2.screen.getByTestId(testId);
|
33
|
+
|
34
|
+
expect(bracket).toBeInTheDocument();
|
35
|
+
});
|
36
|
+
test('additional svg does not render if isLast=true', function () {
|
37
|
+
getComponent({
|
38
|
+
isLast: true
|
39
|
+
});
|
40
|
+
expect(_react2.screen.queryByTestId('isLastLayer')).not.toBeInTheDocument();
|
41
|
+
});
|
42
|
+
test('additional svg does render if isLast=false', function () {
|
43
|
+
getComponent({
|
44
|
+
isLast: false
|
45
|
+
});
|
46
|
+
expect(_react2.screen.queryByTestId('isLastLayer')).toBeInTheDocument();
|
47
|
+
});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
_Object$defineProperty(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
|
11
|
+
_Object$defineProperty(exports, "default", {
|
12
|
+
enumerable: true,
|
13
|
+
get: function get() {
|
14
|
+
return _Bracket["default"];
|
15
|
+
}
|
16
|
+
});
|
17
|
+
|
18
|
+
var _Bracket = _interopRequireDefault(require("./Bracket"));
|
@@ -105,6 +105,12 @@ function useListLayout(state) {
|
|
105
105
|
* ListViews are used to display a list of items. Users can select,
|
106
106
|
* view, or edit items in this list. This virtualized component supports
|
107
107
|
* asynchronous data in infinitely scrollable lists.
|
108
|
+
*
|
109
|
+
* NOTE: be careful with putting focusable elements inside ListView.
|
110
|
+
* It is using a grid (useList hook) with its own event listeners under the hood.
|
111
|
+
* [react-specttrum-github-issue](https://github.com/adobe/react-spectrum/issues/2801)
|
112
|
+
* If you decided to add a focusable element inside ListView,
|
113
|
+
* you should stop bubbling of a pointerDown event and put a focus on the element.
|
108
114
|
*/
|
109
115
|
|
110
116
|
|
@@ -48,6 +48,8 @@ var _toggle = require("@react-stately/toggle");
|
|
48
48
|
|
49
49
|
var _switch = require("@react-aria/switch");
|
50
50
|
|
51
|
+
var _interactions = require("@react-aria/interactions");
|
52
|
+
|
51
53
|
var _hooks = require("../../hooks");
|
52
54
|
|
53
55
|
var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
|
@@ -113,6 +115,12 @@ var SwitchField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
113
115
|
var state = (0, _toggle.useToggleState)(_objectSpread({
|
114
116
|
defaultSelected: isDefaultSelected
|
115
117
|
}, props));
|
118
|
+
|
119
|
+
var _usePress = (0, _interactions.usePress)({
|
120
|
+
isDisabled: isDisabled
|
121
|
+
}),
|
122
|
+
containerPressProps = _usePress.pressProps;
|
123
|
+
|
116
124
|
var whitelistedProps = (0, _omit["default"])(props, (0, _keys["default"])(others));
|
117
125
|
|
118
126
|
var _useSwitch = (0, _switch.useSwitch)(_objectSpread({
|
@@ -124,9 +132,9 @@ var SwitchField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
124
132
|
isSelected: inputProps.checked
|
125
133
|
};
|
126
134
|
|
127
|
-
var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread({
|
135
|
+
var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread(_objectSpread({
|
128
136
|
statusClasses: statusClasses
|
129
|
-
}, props), {}, {
|
137
|
+
}, containerPressProps), props), {}, {
|
130
138
|
controlProps: _objectSpread(_objectSpread({}, controlProps), inputProps)
|
131
139
|
})),
|
132
140
|
fieldContainerProps = _useField.fieldContainerProps,
|