@pingux/astro 1.2.0-alpha.11 → 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/Breadcrumbs/Breadcrumbs.stories.js +3 -3
- package/lib/cjs/components/Button/Button.js +9 -0
- package/lib/cjs/components/Button/Button.stories.js +1 -14
- package/lib/cjs/components/ListView/ListView.js +9 -13
- package/lib/cjs/components/ListViewItem/ListViewItem.js +15 -3
- package/lib/cjs/components/Modal/Modal.stories.js +1 -1
- 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/SearchField/SearchField.stories.js +1 -15
- 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/layouts/ListLayout.stories.js +6 -6
- package/lib/cjs/recipes/ArrayField.stories.js +1 -1
- package/lib/cjs/recipes/ConditionalFilter.stories.js +7 -3
- package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +1 -1
- 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/Breadcrumbs/Breadcrumbs.stories.js +3 -3
- package/lib/components/Button/Button.js +10 -1
- package/lib/components/Button/Button.stories.js +0 -10
- package/lib/components/ListView/ListView.js +9 -12
- package/lib/components/ListViewItem/ListViewItem.js +14 -3
- package/lib/components/Modal/Modal.stories.js +1 -1
- 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/SearchField/SearchField.stories.js +0 -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/layouts/ListLayout.stories.js +6 -6
- package/lib/recipes/ArrayField.stories.js +1 -1
- package/lib/recipes/ConditionalFilter.stories.js +7 -3
- package/lib/recipes/RadioButtonsWithLinks.stories.js +1 -1
- 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
@@ -38,6 +38,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
38
38
|
|
39
39
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
40
40
|
|
41
|
+
var _utils = require("@react-aria/utils");
|
42
|
+
|
41
43
|
var _hooks = require("../../hooks");
|
42
44
|
|
43
45
|
var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
|
@@ -63,7 +65,8 @@ var TextAreaField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
63
65
|
var helperText = props.helperText,
|
64
66
|
isUnresizable = props.isUnresizable,
|
65
67
|
rows = props.rows,
|
66
|
-
status = props.status
|
68
|
+
status = props.status,
|
69
|
+
slots = props.slots;
|
67
70
|
var statusClasses = {
|
68
71
|
isUnresizable: isUnresizable
|
69
72
|
};
|
@@ -77,6 +80,9 @@ var TextAreaField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
77
80
|
|
78
81
|
var textAreaRef = (0, _react.useRef)();
|
79
82
|
var labelRef = (0, _react.useRef)();
|
83
|
+
var containerRef = (0, _react.useRef)();
|
84
|
+
var inputContainerRef = (0, _react.useRef)();
|
85
|
+
var slotContainer = (0, _react.useRef)();
|
80
86
|
(0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
|
81
87
|
/* istanbul ignore next */
|
82
88
|
|
@@ -89,6 +95,24 @@ var TextAreaField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
89
95
|
/* istanbul ignore next */
|
90
96
|
labelRef.current.style.width = textAreaRef.current.style.width;
|
91
97
|
};
|
98
|
+
/* istanbul ignore next */
|
99
|
+
|
100
|
+
|
101
|
+
var resizeSlotContainer = function resizeSlotContainer() {
|
102
|
+
inputContainerRef.current.style.width = textAreaRef.current.style.width;
|
103
|
+
};
|
104
|
+
|
105
|
+
var onResize = (0, _react.useCallback)(function () {
|
106
|
+
/* istanbul ignore next */
|
107
|
+
if (slots === null || slots === void 0 ? void 0 : slots.inContainer) {
|
108
|
+
resizeSlotContainer();
|
109
|
+
}
|
110
|
+
}, [slotContainer]);
|
111
|
+
(0, _utils.useResizeObserver)({
|
112
|
+
ref: textAreaRef,
|
113
|
+
onResize: onResize
|
114
|
+
});
|
115
|
+
(0, _utils.useLayoutEffect)(onResize, [onResize]);
|
92
116
|
|
93
117
|
var _useLabelHeight = (0, _hooks.useLabelHeight)({
|
94
118
|
labelRef: labelRef,
|
@@ -100,18 +124,22 @@ var TextAreaField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
100
124
|
labelMode: props.labelMode
|
101
125
|
});
|
102
126
|
(0, _react.useEffect)(function () {
|
127
|
+
var thisRef = textAreaRef.current;
|
128
|
+
|
103
129
|
if (!props.isUnresizable && props.labelMode === 'float') {
|
104
|
-
|
130
|
+
thisRef.addEventListener('mousemove', props.resizeCallback ? props.resizeCallback : resizeFloatLabel);
|
105
131
|
}
|
106
132
|
|
107
133
|
return function () {
|
108
|
-
|
134
|
+
thisRef.removeEventListener('mousemove', props.resizeCallback ? props.resizeCallback : resizeFloatLabel);
|
109
135
|
};
|
110
|
-
}, []);
|
136
|
+
}, [props.isUnresizable, props.labelMode, props.resizeCallback]);
|
111
137
|
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
112
138
|
variant: "forms.input.wrapper"
|
113
139
|
}, fieldContainerProps, {
|
114
|
-
sx: _objectSpread(_objectSpread({}, columnStyleProps === null || columnStyleProps === void 0 ? void 0 : columnStyleProps.sx), fieldContainerProps === null || fieldContainerProps === void 0 ? void 0 : fieldContainerProps.sx)
|
140
|
+
sx: _objectSpread(_objectSpread({}, columnStyleProps === null || columnStyleProps === void 0 ? void 0 : columnStyleProps.sx), fieldContainerProps === null || fieldContainerProps === void 0 ? void 0 : fieldContainerProps.sx),
|
141
|
+
ref: containerRef,
|
142
|
+
maxWidth: "100%"
|
115
143
|
}), (0, _react2.jsx)(_Label["default"], (0, _extends2["default"])({
|
116
144
|
ref: labelRef
|
117
145
|
}, fieldLabelProps, {
|
@@ -119,12 +147,23 @@ var TextAreaField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
119
147
|
gridRow: '1/5'
|
120
148
|
}
|
121
149
|
})), (0, _react2.jsx)(_Box["default"], {
|
150
|
+
isRow: true,
|
122
151
|
variant: "forms.input.container",
|
123
|
-
className: fieldControlProps.className
|
152
|
+
className: fieldControlProps.className,
|
153
|
+
minWidth: "40px",
|
154
|
+
maxWidth: "100%",
|
155
|
+
ref: inputContainerRef
|
124
156
|
}, (0, _react2.jsx)(_TextArea["default"], (0, _extends2["default"])({
|
125
157
|
ref: textAreaRef,
|
126
158
|
rows: rows
|
127
|
-
}, fieldControlProps
|
159
|
+
}, fieldControlProps, {
|
160
|
+
sx: (slots === null || slots === void 0 ? void 0 : slots.inContainer) && {
|
161
|
+
paddingRight: '35px'
|
162
|
+
}
|
163
|
+
})), (slots === null || slots === void 0 ? void 0 : slots.inContainer) && (0, _react2.jsx)(_Box["default"], {
|
164
|
+
variant: "boxes.textFieldInContainerSlot",
|
165
|
+
ref: slotContainer
|
166
|
+
}, slots === null || slots === void 0 ? void 0 : slots.inContainer)), helperText && (0, _react2.jsx)(_FieldHelperText["default"], {
|
128
167
|
status: status
|
129
168
|
}, helperText));
|
130
169
|
});
|
@@ -219,7 +258,13 @@ TextAreaField.propTypes = {
|
|
219
258
|
controlProps: _propTypes["default"].shape({}),
|
220
259
|
|
221
260
|
/** Props object that is spread directly into the label element. */
|
222
|
-
labelProps: _propTypes["default"].shape({})
|
261
|
+
labelProps: _propTypes["default"].shape({}),
|
262
|
+
|
263
|
+
/** Provides a way to insert markup in specified places. */
|
264
|
+
slots: _propTypes["default"].shape({
|
265
|
+
/** The given node will be inserted into the field container. */
|
266
|
+
inContainer: _propTypes["default"].node
|
267
|
+
})
|
223
268
|
};
|
224
269
|
TextAreaField.defaultProps = {
|
225
270
|
hasAutoFocus: false,
|
@@ -10,16 +10,24 @@ _Object$defineProperty(exports, "__esModule", {
|
|
10
10
|
value: true
|
11
11
|
});
|
12
12
|
|
13
|
-
exports.MaxLength = exports.WithoutStatusIndicator = exports.Error = exports.Unresizable = exports.Rows = exports.Required = exports.ReadOnly = exports.Disabled = exports.Controlled = exports.FloatLabel = exports.Default = exports["default"] = void 0;
|
13
|
+
exports.MaxLength = exports.WithoutStatusIndicator = exports.Error = exports.Unresizable = exports.Rows = exports.Required = exports.ReadOnly = exports.Disabled = exports.Controlled = exports.FloatLabel = exports.WithSlots = exports.Default = exports["default"] = void 0;
|
14
14
|
|
15
15
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
16
16
|
|
17
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
18
|
+
|
17
19
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
|
18
20
|
|
19
21
|
var _react = _interopRequireWildcard(require("react"));
|
20
22
|
|
23
|
+
var _SearchIcon = _interopRequireDefault(require("mdi-react/SearchIcon"));
|
24
|
+
|
21
25
|
var _ = _interopRequireDefault(require("."));
|
22
26
|
|
27
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
28
|
+
|
29
|
+
var _Icon = _interopRequireDefault(require("../Icon"));
|
30
|
+
|
23
31
|
var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
|
24
32
|
|
25
33
|
var _constants = require("../Label/constants");
|
@@ -83,6 +91,11 @@ var _default = {
|
|
83
91
|
}
|
84
92
|
};
|
85
93
|
exports["default"] = _default;
|
94
|
+
var IconSlot = (0, _react2.jsx)(_Box["default"], {
|
95
|
+
isRow: true
|
96
|
+
}, (0, _react2.jsx)(_Icon["default"], {
|
97
|
+
icon: _SearchIcon["default"]
|
98
|
+
}));
|
86
99
|
|
87
100
|
var Default = function Default(args) {
|
88
101
|
return (0, _react2.jsx)(_["default"], args);
|
@@ -90,6 +103,25 @@ var Default = function Default(args) {
|
|
90
103
|
|
91
104
|
exports.Default = Default;
|
92
105
|
|
106
|
+
var WithSlots = function WithSlots(args) {
|
107
|
+
return (// This is an example of a slot that can be passed into the component
|
108
|
+
// const IconSlot = (
|
109
|
+
// <Box isRow>
|
110
|
+
// <Icon
|
111
|
+
// icon={SearchIcon}
|
112
|
+
// />
|
113
|
+
// </Box>
|
114
|
+
// );
|
115
|
+
(0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, args, {
|
116
|
+
slots: {
|
117
|
+
inContainer: IconSlot
|
118
|
+
}
|
119
|
+
}))
|
120
|
+
);
|
121
|
+
};
|
122
|
+
|
123
|
+
exports.WithSlots = WithSlots;
|
124
|
+
|
93
125
|
var FloatLabel = function FloatLabel() {
|
94
126
|
return (0, _react2.jsx)(_["default"], {
|
95
127
|
label: "Example label",
|
@@ -153,4 +153,16 @@ test('form wrapper will have a max label column width when custom width set', fu
|
|
153
153
|
var textAreaContainer = _testWrapper.screen.getByTestId(testId);
|
154
154
|
|
155
155
|
expect(textAreaContainer).toHaveStyle('grid-template-columns: 120px auto');
|
156
|
+
});
|
157
|
+
test('providing slot props causes slot to render', function () {
|
158
|
+
var slot = (0, _react3.jsx)("p", {
|
159
|
+
"data-testid": "testSlot"
|
160
|
+
}, "testText");
|
161
|
+
var slots = {
|
162
|
+
inContainer: slot
|
163
|
+
};
|
164
|
+
getComponent({
|
165
|
+
slots: slots
|
166
|
+
});
|
167
|
+
expect(_testWrapper.screen.getByTestId('testSlot')).toBeInTheDocument();
|
156
168
|
});
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
|
9
|
+
exports.useAccordionGridContext = exports.AccordionGridContext = void 0;
|
10
|
+
|
11
|
+
var _react = require("react");
|
12
|
+
|
13
|
+
var AccordionGridContext = /*#__PURE__*/(0, _react.createContext)({});
|
14
|
+
exports.AccordionGridContext = AccordionGridContext;
|
15
|
+
|
16
|
+
var useAccordionGridContext = function useAccordionGridContext() {
|
17
|
+
return (0, _react.useContext)(AccordionGridContext);
|
18
|
+
};
|
19
|
+
|
20
|
+
exports.useAccordionGridContext = useAccordionGridContext;
|
@@ -145,6 +145,11 @@ var useField = function useField() {
|
|
145
145
|
setHasValue(true);
|
146
146
|
} else {
|
147
147
|
setHasValue(false);
|
148
|
+
} // adding this function resolves the error brought up in UIP-5116
|
149
|
+
|
150
|
+
|
151
|
+
if (e.persist) {
|
152
|
+
e.persist();
|
148
153
|
} // Make sure to call the original onChange event
|
149
154
|
|
150
155
|
|
@@ -38,24 +38,22 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
38
38
|
|
39
39
|
var useRockerButton = function useRockerButton(props, state, ref) {
|
40
40
|
var item = props.item,
|
41
|
-
|
41
|
+
isDisabled = props.isDisabled,
|
42
|
+
isSelected = props.isSelected;
|
42
43
|
var key = item.key;
|
43
|
-
var manager = state.selectionManager
|
44
|
-
selectedKey = state.selectedKey;
|
45
|
-
var isSelected = key === selectedKey;
|
44
|
+
var manager = state.selectionManager;
|
46
45
|
|
47
46
|
var _useSelectableItem = (0, _selection.useSelectableItem)({
|
47
|
+
isDisabled: isDisabled,
|
48
48
|
selectionManager: manager,
|
49
49
|
key: key,
|
50
50
|
ref: ref
|
51
51
|
}),
|
52
52
|
itemProps = _useSelectableItem.itemProps;
|
53
53
|
|
54
|
-
var isDisabled = propsDisabled || state.disabledKeys.has(key);
|
55
54
|
var rockerButtonId = (0, _utils.useId)();
|
56
55
|
return {
|
57
56
|
rockerButtonProps: _objectSpread(_objectSpread({}, itemProps), {}, {
|
58
|
-
isDisabled: isDisabled,
|
59
57
|
id: rockerButtonId,
|
60
58
|
'aria-pressed': isSelected,
|
61
59
|
'aria-disabled': isDisabled || undefined
|
@@ -574,7 +574,7 @@ var Default = function Default() {
|
|
574
574
|
mr: "md",
|
575
575
|
"aria-label": "Save Button"
|
576
576
|
}, "Save"), (0, _react2.jsx)(_index.Button, {
|
577
|
-
variant: "
|
577
|
+
variant: "link",
|
578
578
|
onPress: viewItem,
|
579
579
|
"aria-label": "Cancel Button"
|
580
580
|
}, "Cancel"))), editConfigurationVisible && (0, _react2.jsx)(_index.OverlayPanel, {
|
@@ -704,7 +704,7 @@ var Default = function Default() {
|
|
704
704
|
mr: "md",
|
705
705
|
"aria-label": "Save Button"
|
706
706
|
}, "Save"), (0, _react2.jsx)(_index.Button, {
|
707
|
-
variant: "
|
707
|
+
variant: "link",
|
708
708
|
onPress: viewItem,
|
709
709
|
"aria-label": "Cancel Button"
|
710
710
|
}, "Cancel"))), addItemVisible && (0, _react2.jsx)(_index.OverlayPanel, {
|
@@ -790,7 +790,7 @@ var Default = function Default() {
|
|
790
790
|
isRow: true,
|
791
791
|
sx: buttonBarStyles
|
792
792
|
}, (0, _react2.jsx)(_index.Button, {
|
793
|
-
variant: "
|
793
|
+
variant: "link",
|
794
794
|
onPress: resetListItem,
|
795
795
|
mr: "md",
|
796
796
|
"aria-label": "Cancel Button"
|
@@ -851,7 +851,7 @@ var Default = function Default() {
|
|
851
851
|
isRow: true,
|
852
852
|
sx: buttonBarStyles
|
853
853
|
}, (0, _react2.jsx)(_index.Button, {
|
854
|
-
variant: "
|
854
|
+
variant: "link",
|
855
855
|
onPress: resetListItem,
|
856
856
|
mr: "md"
|
857
857
|
}, "Cancel"), (0, _react2.jsx)(_index.Button, {
|
@@ -873,11 +873,11 @@ var Default = function Default() {
|
|
873
873
|
pt: "lg",
|
874
874
|
mr: "auto"
|
875
875
|
}, (0, _react2.jsx)(_index.Button, {
|
876
|
-
variant: "
|
876
|
+
variant: "critical",
|
877
877
|
mr: "md",
|
878
878
|
onPress: deleteItem
|
879
879
|
}, "Delete"), (0, _react2.jsx)(_index.Button, {
|
880
|
-
variant: "
|
880
|
+
variant: "link",
|
881
881
|
onPress: function onPress() {
|
882
882
|
return setIsDeleting(false);
|
883
883
|
}
|
@@ -118,7 +118,9 @@ var Default = function Default() {
|
|
118
118
|
setEditOverviewVisible = _React$useState4[1];
|
119
119
|
|
120
120
|
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Button, {
|
121
|
-
onPress:
|
121
|
+
onPress: function onPress() {
|
122
|
+
return setStaticOverviewVisible(true);
|
123
|
+
}
|
122
124
|
}, "Open Panel"), staticOverviewVisible && (0, _react2.jsx)(_OverlayPanel["default"], {
|
123
125
|
isOpen: staticOverviewVisible
|
124
126
|
}, (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Box, {
|
@@ -133,7 +135,9 @@ var Default = function Default() {
|
|
133
135
|
"aria-label": "edit",
|
134
136
|
variant: "inverted",
|
135
137
|
ml: "xs",
|
136
|
-
onPress:
|
138
|
+
onPress: function onPress() {
|
139
|
+
return setEditOverviewVisible(true);
|
140
|
+
}
|
137
141
|
}, (0, _react2.jsx)(_index.Icon, {
|
138
142
|
icon: _CreateIcon["default"],
|
139
143
|
size: 14
|
@@ -457,7 +461,7 @@ var Default = function Default() {
|
|
457
461
|
onPress: function onPress() {
|
458
462
|
return setEditOverviewVisible(false);
|
459
463
|
},
|
460
|
-
variant: "
|
464
|
+
variant: "link",
|
461
465
|
"aria-label": "cancel"
|
462
466
|
}, "Cancel"))))));
|
463
467
|
};
|
@@ -139,6 +139,14 @@ var inputInContainerSlot = {
|
|
139
139
|
top: '50%',
|
140
140
|
transform: 'translateY(-50%)'
|
141
141
|
};
|
142
|
+
var textFieldInContainerSlot = {
|
143
|
+
position: 'absolute',
|
144
|
+
bg: 'transparent',
|
145
|
+
width: '20px',
|
146
|
+
right: '10px',
|
147
|
+
top: '50%',
|
148
|
+
transform: 'translateY(-50%)'
|
149
|
+
};
|
142
150
|
var copy = {
|
143
151
|
alignItems: 'center',
|
144
152
|
width: 'max-content',
|
@@ -317,6 +325,7 @@ var _default = {
|
|
317
325
|
environmentChip: environmentChip,
|
318
326
|
expandableRow: expandableRow,
|
319
327
|
inputInContainerSlot: inputInContainerSlot,
|
328
|
+
textFieldInContainerSlot: textFieldInContainerSlot,
|
320
329
|
fileInputFieldWrapper: fileInputFieldWrapper,
|
321
330
|
listItem: listItem,
|
322
331
|
listBoxSectionTitle: listBoxSectionTitle,
|
@@ -397,6 +397,7 @@ var chipDeleteButton = {
|
|
397
397
|
};
|
398
398
|
|
399
399
|
var rocker = _objectSpread(_objectSpread({}, base), {}, {
|
400
|
+
border: '0',
|
400
401
|
display: 'inline-flex',
|
401
402
|
height: '26px',
|
402
403
|
lineHeight: '26px',
|
@@ -408,6 +409,7 @@ var rocker = _objectSpread(_objectSpread({}, base), {}, {
|
|
408
409
|
textTransform: 'uppercase',
|
409
410
|
bg: 'accent.95',
|
410
411
|
'&.is-selected': {
|
412
|
+
bg: 'active',
|
411
413
|
color: 'white'
|
412
414
|
},
|
413
415
|
'&.is-focused': _objectSpread({}, defaultFocus)
|
@@ -18,11 +18,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
18
18
|
import React, { useMemo, forwardRef, useImperativeHandle, useRef } from 'react';
|
19
19
|
import { GridCollection, useGridState } from '@react-stately/grid';
|
20
20
|
import { GridKeyboardDelegate, useGrid } from '@react-aria/grid';
|
21
|
-
import { mergeProps } from '@react-aria/utils';
|
22
21
|
import { useListState } from '@react-stately/list';
|
23
22
|
import PropTypes from 'prop-types';
|
24
23
|
import { useCollator, useLocale } from '@react-aria/i18n';
|
25
|
-
import { AccordionGridContext } from '
|
24
|
+
import { AccordionGridContext } from '../../context/AccordionGridContext';
|
26
25
|
import AccordionGridItem from '../AccordionGridItem';
|
27
26
|
import Box from '../Box';
|
28
27
|
import { isIterableProp } from '../../utils/devUtils/props/isIterable';
|
@@ -46,9 +45,7 @@ export var collectionTypes = {
|
|
46
45
|
var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
|
47
46
|
var _context2;
|
48
47
|
|
49
|
-
var disabledKeys = props.disabledKeys
|
50
|
-
selectedKeys = props.selectedKeys,
|
51
|
-
onSelectionChange = props.onSelectionChange;
|
48
|
+
var disabledKeys = props.disabledKeys;
|
52
49
|
var accordionGridRef = useRef();
|
53
50
|
/* istanbul ignore next */
|
54
51
|
|
@@ -73,9 +70,11 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
73
70
|
columnCount: 1,
|
74
71
|
items: _mapInstanceProperty(_context = _Array$from(collection)).call(_context, function (item) {
|
75
72
|
return _objectSpread(_objectSpread({}, item), {}, {
|
73
|
+
key: "row-".concat(item.key),
|
76
74
|
hasChildNodes: true,
|
77
75
|
childNodes: [{
|
78
|
-
key:
|
76
|
+
key: item.key,
|
77
|
+
// use key for first cell, fixes selection after changes from UIP-5170
|
79
78
|
type: 'cell',
|
80
79
|
index: 0,
|
81
80
|
value: null,
|
@@ -101,12 +100,11 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
101
100
|
}, [collection]);
|
102
101
|
var state = useGridState(_objectSpread(_objectSpread({}, props), {}, {
|
103
102
|
disabledKeys: disabledKeys,
|
104
|
-
selectedKeys: selectedKeys,
|
105
103
|
collection: gridCollection,
|
106
|
-
selectionMode: 'multiple'
|
107
|
-
|
108
|
-
|
109
|
-
|
104
|
+
selectionMode: 'multiple'
|
105
|
+
})); // Required to enable header selection
|
106
|
+
|
107
|
+
state.selectionManager.allowsCellSelection = true;
|
110
108
|
var keyboardDelegate = useMemo(function () {
|
111
109
|
return new GridKeyboardDelegate({
|
112
110
|
collection: state.collection,
|
@@ -119,7 +117,6 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
119
117
|
}, [state, accordionGridRef, direction, collator]);
|
120
118
|
|
121
119
|
var _useGrid = useGrid(_objectSpread(_objectSpread({}, props), {}, {
|
122
|
-
isVirtualized: true,
|
123
120
|
keyboardDelegate: keyboardDelegate
|
124
121
|
}), state, accordionGridRef),
|
125
122
|
gridProps = _useGrid.gridProps;
|
@@ -129,7 +126,7 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
129
126
|
state: state,
|
130
127
|
keyboardDelegate: keyboardDelegate
|
131
128
|
}
|
132
|
-
}, ___EmotionJSX(Box, _extends({},
|
129
|
+
}, ___EmotionJSX(Box, _extends({}, gridProps, {
|
133
130
|
ref: accordionGridRef
|
134
131
|
}), _mapInstanceProperty(_context2 = _Array$from(state.collection)).call(_context2, function (item) {
|
135
132
|
return ___EmotionJSX(AccordionGridItem, _extends({
|
@@ -139,6 +136,27 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
139
136
|
})));
|
140
137
|
});
|
141
138
|
AccordionGridGroup.propTypes = {
|
139
|
+
/**
|
140
|
+
* The currently selected keys in the collection (uncontrolled).
|
141
|
+
*
|
142
|
+
* `selectedKeys="all"` can be used to select every key.
|
143
|
+
*/
|
144
|
+
defaultSelectedKeys: isIterableProp,
|
145
|
+
|
146
|
+
/**
|
147
|
+
* The currently selected keys in the collection (controlled).
|
148
|
+
*
|
149
|
+
* `selectedKeys="all"` can be used to select every key.
|
150
|
+
*/
|
151
|
+
selectedKeys: isIterableProp,
|
152
|
+
|
153
|
+
/**
|
154
|
+
* Callback function that fires when the selected key changes.
|
155
|
+
*
|
156
|
+
* `(selectedKeys: Set) => void`
|
157
|
+
*/
|
158
|
+
onSelectionChange: PropTypes.func,
|
159
|
+
|
142
160
|
/**
|
143
161
|
* The item keys that are disabled. These items cannot be selected, focused, or otherwise
|
144
162
|
* interacted with.
|
@@ -164,17 +182,7 @@ AccordionGridGroup.propTypes = {
|
|
164
182
|
* Identifies the element (or elements) that provide a detailed, extended description for
|
165
183
|
* the object.
|
166
184
|
*/
|
167
|
-
'aria-details': PropTypes.string
|
168
|
-
|
169
|
-
/**
|
170
|
-
* The currently selected keys in the collection (controlled).
|
171
|
-
*
|
172
|
-
* `selectedKeys="all"` can be used to select every key.
|
173
|
-
*/
|
174
|
-
selectedKeys: isIterableProp,
|
175
|
-
|
176
|
-
/** Callback function that fires when the selected key changes. */
|
177
|
-
onSelectionChange: PropTypes.func
|
185
|
+
'aria-details': PropTypes.string
|
178
186
|
};
|
179
187
|
AccordionGridGroup.defaultProps = {
|
180
188
|
'aria-label': 'accordion'
|