@pingux/astro 1.2.0-alpha.14 → 1.2.0-alpha.15
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/AccordionGridGroup/AccordionGridGroup.js +32 -25
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.stories.js +148 -169
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.test.js +25 -30
- package/lib/cjs/components/AccordionGridItem/AccordionGridItem.js +29 -14
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +3 -3
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +16 -18
- package/lib/cjs/components/AccordionGroup/AccordionGroup.js +2 -1
- package/lib/cjs/components/AccordionGroup/AccordionGroup.test.js +20 -1
- package/lib/cjs/components/ListView/ListView.js +9 -13
- package/lib/cjs/components/ListViewItem/ListViewItem.js +15 -3
- package/lib/cjs/components/RockerButton/RockerButton.js +14 -22
- package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.js +5 -9
- package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.stories.js +4 -22
- package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.test.js +5 -14
- package/lib/cjs/components/TextAreaField/TextAreaField.js +53 -8
- package/lib/cjs/components/TextAreaField/TextAreaField.stories.js +33 -1
- package/lib/cjs/components/TextAreaField/TextAreaField.test.js +12 -0
- package/lib/cjs/context/AccordionGridContext/index.js +20 -0
- package/lib/cjs/hooks/useField/useField.js +5 -0
- package/lib/cjs/hooks/useRockerButton/useRockerButton.js +4 -6
- package/lib/cjs/styles/variants/boxes.js +9 -0
- package/lib/cjs/styles/variants/buttons.js +2 -0
- package/lib/components/AccordionGridGroup/AccordionGridGroup.js +32 -24
- package/lib/components/AccordionGridGroup/AccordionGridGroup.stories.js +143 -166
- package/lib/components/AccordionGridGroup/AccordionGridGroup.test.js +24 -25
- package/lib/components/AccordionGridItem/AccordionGridItem.js +29 -15
- package/lib/components/AccordionGridItem/AccordionGridItemBody.js +4 -4
- package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +19 -20
- package/lib/components/AccordionGroup/AccordionGroup.js +2 -1
- package/lib/components/AccordionGroup/AccordionGroup.test.js +16 -2
- package/lib/components/ListView/ListView.js +9 -12
- package/lib/components/ListViewItem/ListViewItem.js +14 -3
- package/lib/components/RockerButton/RockerButton.js +14 -21
- package/lib/components/RockerButtonGroup/RockerButtonGroup.js +5 -9
- package/lib/components/RockerButtonGroup/RockerButtonGroup.stories.js +2 -17
- package/lib/components/RockerButtonGroup/RockerButtonGroup.test.js +5 -11
- package/lib/components/TextAreaField/TextAreaField.js +53 -9
- package/lib/components/TextAreaField/TextAreaField.stories.js +27 -0
- package/lib/components/TextAreaField/TextAreaField.test.js +13 -0
- package/lib/context/AccordionGridContext/index.js +5 -0
- package/lib/hooks/useField/useField.js +5 -0
- package/lib/hooks/useRockerButton/useRockerButton.js +4 -6
- package/lib/styles/variants/boxes.js +9 -0
- package/lib/styles/variants/buttons.js +2 -0
- package/package.json +1 -1
- package/lib/cjs/components/AccordionGridGroup/AccordionGridContext.js +0 -17
- package/lib/components/AccordionGridGroup/AccordionGridContext.js +0 -2
@@ -42,15 +42,13 @@ var _grid = require("@react-stately/grid");
|
|
42
42
|
|
43
43
|
var _grid2 = require("@react-aria/grid");
|
44
44
|
|
45
|
-
var _utils = require("@react-aria/utils");
|
46
|
-
|
47
45
|
var _list = require("@react-stately/list");
|
48
46
|
|
49
47
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
50
48
|
|
51
49
|
var _i18n = require("@react-aria/i18n");
|
52
50
|
|
53
|
-
var _AccordionGridContext = require("
|
51
|
+
var _AccordionGridContext = require("../../context/AccordionGridContext");
|
54
52
|
|
55
53
|
var _AccordionGridItem = _interopRequireDefault(require("../AccordionGridItem"));
|
56
54
|
|
@@ -84,9 +82,7 @@ exports.collectionTypes = collectionTypes;
|
|
84
82
|
var AccordionGridGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
85
83
|
var _context2;
|
86
84
|
|
87
|
-
var disabledKeys = props.disabledKeys
|
88
|
-
selectedKeys = props.selectedKeys,
|
89
|
-
onSelectionChange = props.onSelectionChange;
|
85
|
+
var disabledKeys = props.disabledKeys;
|
90
86
|
var accordionGridRef = (0, _react.useRef)();
|
91
87
|
/* istanbul ignore next */
|
92
88
|
|
@@ -111,9 +107,11 @@ var AccordionGridGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
|
|
111
107
|
columnCount: 1,
|
112
108
|
items: (0, _map["default"])(_context = (0, _from["default"])(collection)).call(_context, function (item) {
|
113
109
|
return _objectSpread(_objectSpread({}, item), {}, {
|
110
|
+
key: "row-".concat(item.key),
|
114
111
|
hasChildNodes: true,
|
115
112
|
childNodes: [{
|
116
|
-
key:
|
113
|
+
key: item.key,
|
114
|
+
// use key for first cell, fixes selection after changes from UIP-5170
|
117
115
|
type: 'cell',
|
118
116
|
index: 0,
|
119
117
|
value: null,
|
@@ -139,12 +137,11 @@ var AccordionGridGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
|
|
139
137
|
}, [collection]);
|
140
138
|
var state = (0, _grid.useGridState)(_objectSpread(_objectSpread({}, props), {}, {
|
141
139
|
disabledKeys: disabledKeys,
|
142
|
-
selectedKeys: selectedKeys,
|
143
140
|
collection: gridCollection,
|
144
|
-
selectionMode: 'multiple'
|
145
|
-
|
146
|
-
|
147
|
-
|
141
|
+
selectionMode: 'multiple'
|
142
|
+
})); // Required to enable header selection
|
143
|
+
|
144
|
+
state.selectionManager.allowsCellSelection = true;
|
148
145
|
var keyboardDelegate = (0, _react.useMemo)(function () {
|
149
146
|
return new _grid2.GridKeyboardDelegate({
|
150
147
|
collection: state.collection,
|
@@ -157,7 +154,6 @@ var AccordionGridGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
|
|
157
154
|
}, [state, accordionGridRef, direction, collator]);
|
158
155
|
|
159
156
|
var _useGrid = (0, _grid2.useGrid)(_objectSpread(_objectSpread({}, props), {}, {
|
160
|
-
isVirtualized: true,
|
161
157
|
keyboardDelegate: keyboardDelegate
|
162
158
|
}), state, accordionGridRef),
|
163
159
|
gridProps = _useGrid.gridProps;
|
@@ -167,7 +163,7 @@ var AccordionGridGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
|
|
167
163
|
state: state,
|
168
164
|
keyboardDelegate: keyboardDelegate
|
169
165
|
}
|
170
|
-
}, (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({},
|
166
|
+
}, (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({}, gridProps, {
|
171
167
|
ref: accordionGridRef
|
172
168
|
}), (0, _map["default"])(_context2 = (0, _from["default"])(state.collection)).call(_context2, function (item) {
|
173
169
|
return (0, _react2.jsx)(_AccordionGridItem["default"], (0, _extends2["default"])({
|
@@ -177,6 +173,27 @@ var AccordionGridGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
|
|
177
173
|
})));
|
178
174
|
});
|
179
175
|
AccordionGridGroup.propTypes = {
|
176
|
+
/**
|
177
|
+
* The currently selected keys in the collection (uncontrolled).
|
178
|
+
*
|
179
|
+
* `selectedKeys="all"` can be used to select every key.
|
180
|
+
*/
|
181
|
+
defaultSelectedKeys: _isIterable.isIterableProp,
|
182
|
+
|
183
|
+
/**
|
184
|
+
* The currently selected keys in the collection (controlled).
|
185
|
+
*
|
186
|
+
* `selectedKeys="all"` can be used to select every key.
|
187
|
+
*/
|
188
|
+
selectedKeys: _isIterable.isIterableProp,
|
189
|
+
|
190
|
+
/**
|
191
|
+
* Callback function that fires when the selected key changes.
|
192
|
+
*
|
193
|
+
* `(selectedKeys: Set) => void`
|
194
|
+
*/
|
195
|
+
onSelectionChange: _propTypes["default"].func,
|
196
|
+
|
180
197
|
/**
|
181
198
|
* The item keys that are disabled. These items cannot be selected, focused, or otherwise
|
182
199
|
* interacted with.
|
@@ -202,17 +219,7 @@ AccordionGridGroup.propTypes = {
|
|
202
219
|
* Identifies the element (or elements) that provide a detailed, extended description for
|
203
220
|
* the object.
|
204
221
|
*/
|
205
|
-
'aria-details': _propTypes["default"].string
|
206
|
-
|
207
|
-
/**
|
208
|
-
* The currently selected keys in the collection (controlled).
|
209
|
-
*
|
210
|
-
* `selectedKeys="all"` can be used to select every key.
|
211
|
-
*/
|
212
|
-
selectedKeys: _isIterable.isIterableProp,
|
213
|
-
|
214
|
-
/** Callback function that fires when the selected key changes. */
|
215
|
-
onSelectionChange: _propTypes["default"].func
|
222
|
+
'aria-details': _propTypes["default"].string
|
216
223
|
};
|
217
224
|
AccordionGridGroup.defaultProps = {
|
218
225
|
'aria-label': 'accordion'
|
@@ -10,12 +10,12 @@ _Object$defineProperty(exports, "__esModule", {
|
|
10
10
|
value: true
|
11
11
|
});
|
12
12
|
|
13
|
-
exports.Default = exports["default"] = void 0;
|
14
|
-
|
15
|
-
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
13
|
+
exports.Controlled = exports.Default = exports["default"] = void 0;
|
16
14
|
|
17
15
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
18
16
|
|
17
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
18
|
+
|
19
19
|
var _react = _interopRequireWildcard(require("react"));
|
20
20
|
|
21
21
|
var _collections = require("@react-stately/collections");
|
@@ -97,188 +97,167 @@ var _default = {
|
|
97
97
|
};
|
98
98
|
exports["default"] = _default;
|
99
99
|
|
100
|
-
var
|
101
|
-
var
|
102
|
-
|
103
|
-
|
104
|
-
|
100
|
+
var Header = function Header(props) {
|
101
|
+
var item = props.item;
|
102
|
+
return (0, _react2.jsx)(_index.Box, {
|
103
|
+
isRow: true,
|
104
|
+
sx: {
|
105
|
+
flexGrow: 1
|
106
|
+
}
|
107
|
+
}, (0, _react2.jsx)(_index.Box, {
|
108
|
+
isRow: true,
|
109
|
+
alignSelf: "center",
|
110
|
+
sx: {
|
111
|
+
flexGrow: 1,
|
112
|
+
width: '50%'
|
113
|
+
}
|
114
|
+
}, (0, _react2.jsx)(_index.Text, {
|
115
|
+
sx: {
|
116
|
+
fontWeight: 3,
|
117
|
+
textOverflow: 'ellipsis',
|
118
|
+
whiteSpace: 'nowrap',
|
119
|
+
overflow: 'hidden'
|
120
|
+
},
|
121
|
+
variant: "itemTitle",
|
122
|
+
alignSelf: "center"
|
123
|
+
}, item.name)), (0, _react2.jsx)(_index.Box, {
|
124
|
+
isRow: true,
|
125
|
+
alignSelf: "center",
|
126
|
+
sx: {
|
127
|
+
flexGrow: 1,
|
128
|
+
width: '50%'
|
129
|
+
}
|
130
|
+
}, (0, _react2.jsx)(_index.Text, {
|
131
|
+
sx: {
|
132
|
+
fontWeight: 0,
|
133
|
+
textOverflow: 'ellipsis',
|
134
|
+
whiteSpace: 'nowrap',
|
135
|
+
overflow: 'hidden'
|
136
|
+
},
|
137
|
+
alignSelf: "center"
|
138
|
+
}, item.organizations.length, " Organizations"), (0, _react2.jsx)(_index.Box, {
|
139
|
+
isRow: true,
|
140
|
+
alignSelf: "center",
|
141
|
+
sx: {
|
142
|
+
ml: 'auto'
|
143
|
+
}
|
144
|
+
}, (0, _react2.jsx)(_index.IconButton, {
|
145
|
+
"aria-label": "create-icon",
|
146
|
+
sx: {
|
147
|
+
mr: '4px',
|
148
|
+
height: '26px',
|
149
|
+
width: '26px'
|
150
|
+
}
|
151
|
+
}, (0, _react2.jsx)(_CreateIcon["default"], null)), (0, _react2.jsx)(_index.IconButton, {
|
152
|
+
"aria-label": "vertical-lines-icon",
|
153
|
+
sx: {
|
154
|
+
mr: '4px',
|
155
|
+
height: '26px',
|
156
|
+
width: '26px'
|
157
|
+
}
|
158
|
+
}, (0, _react2.jsx)(_MoreVertIcon["default"], null)))));
|
159
|
+
};
|
160
|
+
|
161
|
+
var Body = function Body(props) {
|
162
|
+
var _context;
|
163
|
+
|
164
|
+
var item = props.item;
|
165
|
+
return (0, _react2.jsx)(_index.Box, {
|
166
|
+
isRow: true
|
167
|
+
}, (0, _react2.jsx)(_index.Box, {
|
168
|
+
sx: {
|
169
|
+
flexGrow: 1,
|
170
|
+
width: 'calc(50% - 20px)'
|
171
|
+
}
|
172
|
+
}, (0, _react2.jsx)(_index.Link, {
|
173
|
+
"aria-label": "permissions",
|
174
|
+
variant: "link",
|
175
|
+
sx: {
|
176
|
+
marginTop: '15px',
|
177
|
+
whiteSpace: 'nowrap',
|
178
|
+
overflow: 'hidden',
|
179
|
+
textOverflow: 'ellipsis',
|
180
|
+
textDecoration: 'none'
|
181
|
+
},
|
182
|
+
href: "https://www.pingidentity.com",
|
183
|
+
target: "_blank"
|
184
|
+
}, "View permissions")), (0, _react2.jsx)(_index.Box, {
|
185
|
+
sx: {
|
186
|
+
flexGrow: 1,
|
187
|
+
width: '50%'
|
188
|
+
}
|
189
|
+
}, (0, _map["default"])(_context = item.organizations).call(_context, function (org) {
|
190
|
+
var _context2;
|
105
191
|
|
106
|
-
var Header = function Header(props) {
|
107
|
-
var item = props.item;
|
108
192
|
return (0, _react2.jsx)(_index.Box, {
|
109
|
-
|
193
|
+
key: "box".concat(org.name),
|
110
194
|
sx: {
|
111
|
-
|
112
|
-
|
113
|
-
}, (0, _react2.jsx)(_index.Box, {
|
114
|
-
isRow: true,
|
115
|
-
alignSelf: "center",
|
116
|
-
sx: {
|
117
|
-
flexGrow: 1,
|
118
|
-
width: '50%'
|
119
|
-
}
|
120
|
-
}, (0, _react2.jsx)(_index.Text, {
|
121
|
-
sx: {
|
122
|
-
fontWeight: 3,
|
123
|
-
textOverflow: 'ellipsis',
|
124
|
-
whiteSpace: 'nowrap',
|
125
|
-
overflow: 'hidden'
|
126
|
-
},
|
127
|
-
variant: "itemTitle",
|
128
|
-
alignSelf: "center"
|
129
|
-
}, item.name)), (0, _react2.jsx)(_index.Box, {
|
130
|
-
isRow: true,
|
131
|
-
alignSelf: "center",
|
132
|
-
sx: {
|
133
|
-
flexGrow: 1,
|
134
|
-
width: '50%'
|
195
|
+
marginTop: '15px',
|
196
|
+
mb: '15px'
|
135
197
|
}
|
136
198
|
}, (0, _react2.jsx)(_index.Text, {
|
137
199
|
sx: {
|
138
|
-
fontWeight: 0,
|
139
200
|
textOverflow: 'ellipsis',
|
140
201
|
whiteSpace: 'nowrap',
|
141
202
|
overflow: 'hidden'
|
142
203
|
},
|
143
|
-
|
144
|
-
},
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
"aria-label": "vertical-lines-icon",
|
159
|
-
sx: {
|
160
|
-
mr: '4px',
|
161
|
-
height: '26px',
|
162
|
-
width: '26px'
|
163
|
-
}
|
164
|
-
}, (0, _react2.jsx)(_MoreVertIcon["default"], null)))));
|
165
|
-
};
|
166
|
-
|
167
|
-
var Body = function Body(props) {
|
168
|
-
var _context;
|
204
|
+
key: "text".concat(org.name)
|
205
|
+
}, org.name), (0, _map["default"])(_context2 = org.populations).call(_context2, function (pop) {
|
206
|
+
return (0, _react2.jsx)(_index.Text, {
|
207
|
+
key: pop,
|
208
|
+
sx: {
|
209
|
+
marginLeft: 'md',
|
210
|
+
mt: '10px',
|
211
|
+
textOverflow: 'ellipsis',
|
212
|
+
whiteSpace: 'nowrap',
|
213
|
+
overflow: 'hidden'
|
214
|
+
}
|
215
|
+
}, pop, ")");
|
216
|
+
}));
|
217
|
+
})));
|
218
|
+
};
|
169
219
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
}, (0, _react2.jsx)(_index.Box, {
|
220
|
+
var Default = function Default() {
|
221
|
+
return (// See story source for info about the data used
|
222
|
+
(0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.Text, {
|
174
223
|
sx: {
|
175
|
-
|
176
|
-
|
224
|
+
fontWeight: 3,
|
225
|
+
fontSize: '13px'
|
177
226
|
}
|
178
|
-
}, (0, _react2.jsx)(_index.
|
179
|
-
"aria-label": "permissions",
|
180
|
-
variant: "link",
|
181
|
-
sx: {
|
182
|
-
marginTop: '15px',
|
183
|
-
whiteSpace: 'nowrap',
|
184
|
-
overflow: 'hidden',
|
185
|
-
textOverflow: 'ellipsis',
|
186
|
-
textDecoration: 'none'
|
187
|
-
},
|
188
|
-
href: "https://www.pingidentity.com",
|
189
|
-
target: "_blank"
|
190
|
-
}, "View permissions")), (0, _react2.jsx)(_index.Box, {
|
227
|
+
}, "Role"), (0, _react2.jsx)(_index.Separator, {
|
191
228
|
sx: {
|
192
|
-
|
193
|
-
width: '50%'
|
229
|
+
mb: 0
|
194
230
|
}
|
195
|
-
}, (0,
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
231
|
+
}), (0, _react2.jsx)(_AccordionGridGroup["default"], {
|
232
|
+
items: data,
|
233
|
+
defaultSelectedKeys: ['Environment']
|
234
|
+
}, function (item) {
|
235
|
+
return (0, _react2.jsx)(_collections.Item, {
|
236
|
+
key: item.key,
|
237
|
+
textValue: item.name
|
238
|
+
}, (0, _react2.jsx)(Header, {
|
239
|
+
item: item
|
240
|
+
}), (0, _react2.jsx)(Body, {
|
241
|
+
item: item
|
242
|
+
}), item.key !== 'Organization' ? (0, _react2.jsx)(_index.Separator, {
|
200
243
|
sx: {
|
201
|
-
|
202
|
-
|
244
|
+
m: 0,
|
245
|
+
bg: 'neutral.90'
|
203
246
|
}
|
204
|
-
}
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
mt: '10px',
|
217
|
-
textOverflow: 'ellipsis',
|
218
|
-
whiteSpace: 'nowrap',
|
219
|
-
overflow: 'hidden'
|
220
|
-
}
|
221
|
-
}, pop, ")");
|
222
|
-
}));
|
223
|
-
})));
|
224
|
-
};
|
247
|
+
}) : null);
|
248
|
+
}))
|
249
|
+
);
|
250
|
+
};
|
251
|
+
|
252
|
+
exports.Default = Default;
|
253
|
+
|
254
|
+
var Controlled = function Controlled() {
|
255
|
+
var _useState = (0, _react.useState)(['Client']),
|
256
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
257
|
+
selectedKeys = _useState2[0],
|
258
|
+
setSelectedKeys = _useState2[1];
|
225
259
|
|
226
|
-
return (//
|
227
|
-
// {
|
228
|
-
// name: 'Client Application Developer',
|
229
|
-
// key: '1',
|
230
|
-
// organizations: [
|
231
|
-
// {
|
232
|
-
// name: 'Montana (Environment)',
|
233
|
-
// populations: [
|
234
|
-
// 'Administrators (Population)',
|
235
|
-
// 'Other Population (Population)',
|
236
|
-
// ],
|
237
|
-
// },
|
238
|
-
// {
|
239
|
-
// name: 'Boston (Environment)',
|
240
|
-
// populations: [
|
241
|
-
// ],
|
242
|
-
// },
|
243
|
-
// ],
|
244
|
-
// },
|
245
|
-
// {
|
246
|
-
// name: 'Environment Admin',
|
247
|
-
// key: '2',
|
248
|
-
// organizations: [
|
249
|
-
// {
|
250
|
-
// name: 'Montana (Environment)',
|
251
|
-
// populations: [
|
252
|
-
// 'Administrators (Population)',
|
253
|
-
// 'Other Population (Population)',
|
254
|
-
// ],
|
255
|
-
// },
|
256
|
-
// {
|
257
|
-
// name: 'Boston (Environment)',
|
258
|
-
// populations: [
|
259
|
-
// ],
|
260
|
-
// },
|
261
|
-
// ],
|
262
|
-
// },
|
263
|
-
// {
|
264
|
-
// name: 'Organization Admin',
|
265
|
-
// key: '3',
|
266
|
-
// organizations: [
|
267
|
-
// {
|
268
|
-
// name: 'Montana (Environment)',
|
269
|
-
// populations: [
|
270
|
-
// 'Administrators (Population)',
|
271
|
-
// 'Other Population (Population)',
|
272
|
-
// ],
|
273
|
-
// },
|
274
|
-
// {
|
275
|
-
// name: 'Boston (Environment)',
|
276
|
-
// populations: [
|
277
|
-
// ],
|
278
|
-
// },
|
279
|
-
// ],
|
280
|
-
// },
|
281
|
-
// ];
|
260
|
+
return (// See story source for info about the data used
|
282
261
|
(0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.Text, {
|
283
262
|
sx: {
|
284
263
|
fontWeight: 3,
|
@@ -291,7 +270,7 @@ var Default = function Default() {
|
|
291
270
|
}), (0, _react2.jsx)(_AccordionGridGroup["default"], {
|
292
271
|
items: data,
|
293
272
|
selectedKeys: selectedKeys,
|
294
|
-
onSelectionChange:
|
273
|
+
onSelectionChange: setSelectedKeys
|
295
274
|
}, function (item) {
|
296
275
|
return (0, _react2.jsx)(_collections.Item, {
|
297
276
|
key: item.key,
|
@@ -310,4 +289,4 @@ var Default = function Default() {
|
|
310
289
|
);
|
311
290
|
};
|
312
291
|
|
313
|
-
exports.
|
292
|
+
exports.Controlled = Controlled;
|
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
4
|
|
5
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
|
6
|
+
|
7
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
|
8
|
+
|
5
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
6
10
|
|
7
11
|
var _react = _interopRequireDefault(require("react"));
|
@@ -63,23 +67,6 @@ var getComponentInOverlayPanel = function getComponentInOverlayPanel() {
|
|
63
67
|
}
|
64
68
|
}
|
65
69
|
});
|
66
|
-
test('button press', function () {
|
67
|
-
var onPress = jest.fn();
|
68
|
-
getComponent({
|
69
|
-
onPress: onPress
|
70
|
-
});
|
71
|
-
|
72
|
-
var buttons = _testWrapper.screen.getAllByRole('gridcell');
|
73
|
-
|
74
|
-
var selectedItem = buttons[0];
|
75
|
-
expect(selectedItem).toBeInTheDocument();
|
76
|
-
expect(selectedItem).not.toHaveClass('is-pressed');
|
77
|
-
expect(onPress).not.toHaveBeenCalled(); // Hold down the button to see pressed styles
|
78
|
-
|
79
|
-
_testWrapper.fireEvent.mouseDown(selectedItem);
|
80
|
-
|
81
|
-
expect(selectedItem).toHaveClass('is-pressed');
|
82
|
-
});
|
83
70
|
test('button press uses callback', function () {
|
84
71
|
var onPress = jest.fn();
|
85
72
|
getComponent({
|
@@ -92,9 +79,7 @@ test('button press uses callback', function () {
|
|
92
79
|
expect(selectedItem).not.toHaveClass('is-pressed');
|
93
80
|
expect(onPress).not.toHaveBeenCalled(); // Hold down the button to see pressed styles
|
94
81
|
|
95
|
-
|
96
|
-
|
97
|
-
_testWrapper.fireEvent.mouseUp(selectedItem);
|
82
|
+
_userEvent["default"].click(selectedItem);
|
98
83
|
|
99
84
|
expect(onPress).toHaveBeenCalled();
|
100
85
|
});
|
@@ -237,16 +222,26 @@ test('disabled keys prop disables an accordion item, and disables focus', functi
|
|
237
222
|
expect(selectedRow).toHaveClass('is-disabled');
|
238
223
|
expect(selectedRow).not.toHaveClass('is-focused');
|
239
224
|
});
|
240
|
-
test('default expanded keys expands an accordion item', function () {
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
225
|
+
test('default expanded keys expands an accordion item', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
226
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
227
|
+
while (1) {
|
228
|
+
switch (_context.prev = _context.next) {
|
229
|
+
case 0:
|
230
|
+
getComponent({
|
231
|
+
selectedKeys: ['first']
|
232
|
+
});
|
233
|
+
_context.next = 3;
|
234
|
+
return (0, _testWrapper.waitFor)(function () {
|
235
|
+
return expect(_testWrapper.screen.getAllByRole('row')[0]).toHaveAttribute('aria-selected', 'true');
|
236
|
+
});
|
237
|
+
|
238
|
+
case 3:
|
239
|
+
case "end":
|
240
|
+
return _context.stop();
|
241
|
+
}
|
242
|
+
}
|
243
|
+
}, _callee);
|
244
|
+
})));
|
250
245
|
test('items do not automatically expand if wrapped in an open OverlayPanel', function () {
|
251
246
|
getComponentInOverlayPanel();
|
252
247
|
|
@@ -30,7 +30,7 @@ var _grid = require("@react-aria/grid");
|
|
30
30
|
|
31
31
|
var _utils = require("@react-aria/utils");
|
32
32
|
|
33
|
-
var _AccordionGridContext = require("
|
33
|
+
var _AccordionGridContext = require("../../context/AccordionGridContext");
|
34
34
|
|
35
35
|
var _Box = _interopRequireDefault(require("../Box"));
|
36
36
|
|
@@ -38,6 +38,8 @@ var _AccordionGridItemHeader = _interopRequireDefault(require("./AccordionGridIt
|
|
38
38
|
|
39
39
|
var _AccordionGridItemBody = _interopRequireDefault(require("./AccordionGridItemBody"));
|
40
40
|
|
41
|
+
var _hooks = require("../../hooks");
|
42
|
+
|
41
43
|
var _react2 = require("@emotion/react");
|
42
44
|
|
43
45
|
var AccordionGridItem = function AccordionGridItem(props) {
|
@@ -47,7 +49,8 @@ var AccordionGridItem = function AccordionGridItem(props) {
|
|
47
49
|
headerProps = props.headerProps,
|
48
50
|
bodyProps = props.bodyProps,
|
49
51
|
children = props.children,
|
50
|
-
|
52
|
+
className = props.className,
|
53
|
+
others = (0, _objectWithoutProperties2["default"])(props, ["item", "headerProps", "bodyProps", "children", "className"]);
|
51
54
|
|
52
55
|
var _React$Children$toArr = _react["default"].Children.toArray(children),
|
53
56
|
_React$Children$toArr2 = (0, _toArray2["default"])(_React$Children$toArr),
|
@@ -57,10 +60,18 @@ var AccordionGridItem = function AccordionGridItem(props) {
|
|
57
60
|
|
58
61
|
var cellNode = (0, _concat["default"])(_context = []).call(_context, item.childNodes)[0];
|
59
62
|
|
60
|
-
var
|
61
|
-
state =
|
63
|
+
var _useAccordionGridCont = (0, _AccordionGridContext.useAccordionGridContext)(),
|
64
|
+
state = _useAccordionGridCont.state; // Treat first cell as a row, fixes focus and keyboard interactions
|
65
|
+
|
66
|
+
|
67
|
+
var isDisabled = state.disabledKeys.has(cellNode.key);
|
68
|
+
var isSelected = state.selectionManager.isSelected(cellNode.key); // Sync selection between the first cell and the row
|
62
69
|
|
63
|
-
|
70
|
+
(0, _react.useEffect)(function () {
|
71
|
+
if (isSelected !== state.selectionManager.isSelected(item.key)) {
|
72
|
+
state.selectionManager.toggleSelection(item.key);
|
73
|
+
}
|
74
|
+
}, [isSelected, state.selectionManager, item.key]);
|
64
75
|
var rowRef = (0, _react.useRef)();
|
65
76
|
var cellRef = (0, _react.useRef)();
|
66
77
|
var cellBodyRef = (0, _react.useRef)();
|
@@ -70,20 +81,24 @@ var AccordionGridItem = function AccordionGridItem(props) {
|
|
70
81
|
}, state, rowRef),
|
71
82
|
rowProps = _useGridRow.rowProps;
|
72
83
|
|
73
|
-
var
|
74
|
-
|
75
|
-
as: "div",
|
84
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
85
|
+
isSelected: isSelected,
|
76
86
|
isDisabled: isDisabled
|
87
|
+
}),
|
88
|
+
classNames = _useStatusClasses.classNames;
|
89
|
+
|
90
|
+
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
91
|
+
as: "div"
|
77
92
|
}, (0, _utils.mergeProps)(rowProps, others), {
|
78
|
-
|
79
|
-
|
93
|
+
"aria-selected": isSelected,
|
94
|
+
className: classNames,
|
95
|
+
ref: rowRef
|
80
96
|
}), (0, _react2.jsx)(_AccordionGridItemHeader["default"], (0, _extends2["default"])({
|
81
97
|
item: item,
|
82
|
-
|
83
|
-
|
84
|
-
}, headerProps, {
|
98
|
+
ref: cellRef,
|
99
|
+
isDisabled: isDisabled,
|
85
100
|
isSelected: isSelected
|
86
|
-
}), header), (0, _react2.jsx)(_AccordionGridItemBody["default"], (0, _extends2["default"])({
|
101
|
+
}, headerProps), header), (0, _react2.jsx)(_AccordionGridItemBody["default"], (0, _extends2["default"])({
|
87
102
|
item: item,
|
88
103
|
ref: cellBodyRef,
|
89
104
|
isSelected: isSelected
|
@@ -26,7 +26,7 @@ var _grid = require("@react-aria/grid");
|
|
26
26
|
|
27
27
|
var _interactions = require("@react-aria/interactions");
|
28
28
|
|
29
|
-
var _AccordionGridContext = require("
|
29
|
+
var _AccordionGridContext = require("../../context/AccordionGridContext");
|
30
30
|
|
31
31
|
var _Box = _interopRequireDefault(require("../Box"));
|
32
32
|
|
@@ -42,8 +42,8 @@ var AccordionGridItemBody = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
42
42
|
children = props.children,
|
43
43
|
isSelected = props.isSelected;
|
44
44
|
|
45
|
-
var
|
46
|
-
state =
|
45
|
+
var _useAccordionGridCont = (0, _AccordionGridContext.useAccordionGridContext)(),
|
46
|
+
state = _useAccordionGridCont.state;
|
47
47
|
|
48
48
|
var cellNode = (0, _concat["default"])(_context = []).call(_context, item.childNodes)[1];
|
49
49
|
|