@pingux/astro 1.2.0-alpha.9 → 1.2.1
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 +43 -0
- 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 +14 -2
- package/lib/cjs/components/Button/Button.stories.js +33 -33
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +5 -3
- package/lib/cjs/components/Link/Link.js +2 -1
- 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 +54 -9
- package/lib/cjs/components/TextAreaField/TextAreaField.stories.js +31 -52
- package/lib/cjs/components/TextAreaField/TextAreaField.test.js +12 -0
- package/lib/cjs/context/AccordionGridContext/index.js +20 -0
- package/lib/cjs/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
- 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 +20 -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 +15 -3
- package/lib/components/Button/Button.stories.js +17 -15
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +5 -3
- package/lib/components/Link/Link.js +2 -1
- 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 +54 -10
- package/lib/components/TextAreaField/TextAreaField.stories.js +26 -42
- package/lib/components/TextAreaField/TextAreaField.test.js +13 -0
- package/lib/context/AccordionGridContext/index.js +5 -0
- package/lib/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
- 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 +20 -0
- package/package.json +2 -2
- package/lib/cjs/components/AccordionGridGroup/AccordionGridContext.js +0 -17
- package/lib/components/AccordionGridGroup/AccordionGridContext.js +0 -2
@@ -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
|
|
@@ -34,7 +34,7 @@ var _MenuDownIcon = _interopRequireDefault(require("mdi-react/MenuDownIcon"));
|
|
34
34
|
|
35
35
|
var _MenuUpIcon = _interopRequireDefault(require("mdi-react/MenuUpIcon"));
|
36
36
|
|
37
|
-
var _AccordionGridContext = require("
|
37
|
+
var _AccordionGridContext = require("../../context/AccordionGridContext");
|
38
38
|
|
39
39
|
var _Box = _interopRequireDefault(require("../Box"));
|
40
40
|
|
@@ -50,20 +50,26 @@ var AccordionGridItemHeader = /*#__PURE__*/(0, _react.forwardRef)(function (prop
|
|
50
50
|
var item = props.item,
|
51
51
|
className = props.className,
|
52
52
|
children = props.children,
|
53
|
-
key = props.key,
|
54
53
|
isSelected = props.isSelected,
|
55
|
-
others = (0, _objectWithoutProperties2["default"])(props, ["item", "className", "children", "
|
54
|
+
others = (0, _objectWithoutProperties2["default"])(props, ["item", "className", "children", "isSelected"]);
|
56
55
|
|
57
|
-
var
|
58
|
-
state =
|
56
|
+
var _useAccordionGridCont = (0, _AccordionGridContext.useAccordionGridContext)(),
|
57
|
+
state = _useAccordionGridCont.state;
|
59
58
|
|
59
|
+
var cellRef = (0, _react.useRef)();
|
60
|
+
/* istanbul ignore next */
|
61
|
+
|
62
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
63
|
+
return cellRef.current;
|
64
|
+
});
|
60
65
|
var cellNode = (0, _concat["default"])(_context = []).call(_context, item.childNodes)[0];
|
61
66
|
|
62
67
|
var _useGridCell = (0, _grid.useGridCell)({
|
63
68
|
node: cellNode,
|
64
69
|
focusMode: 'cell'
|
65
|
-
}, state,
|
66
|
-
gridCellProps = _useGridCell.gridCellProps
|
70
|
+
}, state, cellRef),
|
71
|
+
gridCellProps = _useGridCell.gridCellProps,
|
72
|
+
isPressed = _useGridCell.isPressed;
|
67
73
|
|
68
74
|
var _useHover = (0, _interactions.useHover)({}),
|
69
75
|
hoverProps = _useHover.hoverProps,
|
@@ -78,14 +84,7 @@ var AccordionGridItemHeader = /*#__PURE__*/(0, _react.forwardRef)(function (prop
|
|
78
84
|
focusProps = _useFocusRing2.focusProps,
|
79
85
|
isFocusVisible = _useFocusRing2.isFocusVisible;
|
80
86
|
|
81
|
-
var
|
82
|
-
ref: ref,
|
83
|
-
isPressed: item.props.isPressed
|
84
|
-
}),
|
85
|
-
pressProps = _usePress.pressProps,
|
86
|
-
isPressed = _usePress.isPressed;
|
87
|
-
|
88
|
-
var mergedProps = (0, _utils.mergeProps)(gridCellProps, hoverProps, focusWithinProps, focusProps, pressProps);
|
87
|
+
var mergedProps = (0, _utils.mergeProps)(gridCellProps, hoverProps, focusWithinProps, focusProps);
|
89
88
|
|
90
89
|
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
91
90
|
isPressed: isPressed,
|
@@ -98,9 +97,8 @@ var AccordionGridItemHeader = /*#__PURE__*/(0, _react.forwardRef)(function (prop
|
|
98
97
|
var ariaLabel = props['aria-label'];
|
99
98
|
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
100
99
|
as: "div",
|
101
|
-
ref:
|
100
|
+
ref: cellRef
|
102
101
|
}, mergedProps, {
|
103
|
-
role: "gridcell",
|
104
102
|
variant: "accordion.accordionGridHeader",
|
105
103
|
isFocused: isFocusVisible,
|
106
104
|
isSelected: isSelected,
|
@@ -123,8 +121,8 @@ var AccordionGridItemHeader = /*#__PURE__*/(0, _react.forwardRef)(function (prop
|
|
123
121
|
AccordionGridItemHeader.propTypes = {
|
124
122
|
'aria-label': _propTypes["default"].string,
|
125
123
|
isSelected: _propTypes["default"].bool,
|
126
|
-
key: _propTypes["default"].string,
|
127
124
|
item: _propTypes["default"].shape({
|
125
|
+
key: _propTypes["default"].string,
|
128
126
|
childNodes: _propTypes["default"].arrayOf(_propTypes["default"].shape({})),
|
129
127
|
props: _propTypes["default"].shape({
|
130
128
|
isPressed: _propTypes["default"].bool
|
@@ -57,8 +57,9 @@ var AccordionGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
57
57
|
|
58
58
|
var _useAccordion = (0, _accordion.useAccordion)(props, state, accordionRef),
|
59
59
|
accordionProps = _useAccordion.accordionProps;
|
60
|
-
/* istanbul ignore next */
|
61
60
|
|
61
|
+
delete accordionProps.onMouseDown;
|
62
|
+
/* istanbul ignore next */
|
62
63
|
|
63
64
|
(0, _react.useImperativeHandle)(ref, function () {
|
64
65
|
return accordionRef.current;
|
@@ -46,7 +46,11 @@ var getComponent = function getComponent() {
|
|
46
46
|
textValue: "Duplicate",
|
47
47
|
"data-id": "third",
|
48
48
|
label: "Accordion item"
|
49
|
-
}, (0, _react2.jsx)(
|
49
|
+
}, (0, _react2.jsx)(_index.TextField, {
|
50
|
+
role: "form",
|
51
|
+
label: "Example Label",
|
52
|
+
"data-testid": "testField"
|
53
|
+
}))));
|
50
54
|
};
|
51
55
|
|
52
56
|
var getComponentInOverlayPanel = function getComponentInOverlayPanel() {
|
@@ -280,6 +284,21 @@ test('expanded keys expands an accordion item', function () {
|
|
280
284
|
var selectedItem = buttons[0];
|
281
285
|
expect(selectedItem).toHaveAttribute('aria-expanded', 'true');
|
282
286
|
});
|
287
|
+
test('able to click a textfield that is the rendered child of an accordion', function () {
|
288
|
+
getComponent({
|
289
|
+
expandedKeys: ['third']
|
290
|
+
});
|
291
|
+
|
292
|
+
var field = _testWrapper.screen.getByTestId('testField');
|
293
|
+
|
294
|
+
var input = _testWrapper.screen.getByRole('form');
|
295
|
+
|
296
|
+
_userEvent["default"].click(input);
|
297
|
+
|
298
|
+
_userEvent["default"].type(input, 'banana');
|
299
|
+
|
300
|
+
expect(field).toHaveClass('has-focus-within');
|
301
|
+
});
|
283
302
|
test('Item accepts a data-id and the data-id can be found in the DOM', function () {
|
284
303
|
getComponent();
|
285
304
|
|
@@ -63,15 +63,15 @@ var Default = function Default(args) {
|
|
63
63
|
onAction: onAction
|
64
64
|
}, args), (0, _react2.jsx)(_collections.Item, {
|
65
65
|
key: "home",
|
66
|
-
variant: "
|
66
|
+
variant: "link",
|
67
67
|
"data-id": "home"
|
68
68
|
}, "Home"), (0, _react2.jsx)(_collections.Item, {
|
69
69
|
key: "trendy",
|
70
|
-
variant: "
|
70
|
+
variant: "link",
|
71
71
|
"data-id": "trendy"
|
72
72
|
}, "Trendy"), (0, _react2.jsx)(_collections.Item, {
|
73
73
|
key: "march 2020 assets",
|
74
|
-
variant: "
|
74
|
+
variant: "link",
|
75
75
|
"data-id": "march"
|
76
76
|
}, "March 2020 Assets"));
|
77
77
|
};
|
@@ -71,7 +71,8 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
71
71
|
onPressChange = props.onPressChange,
|
72
72
|
onPressUp = props.onPressUp,
|
73
73
|
children = props.children,
|
74
|
-
|
74
|
+
variant = props.variant,
|
75
|
+
others = (0, _objectWithoutProperties2["default"])(props, ["className", "isDisabled", "isLoading", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp", "children", "variant"]);
|
75
76
|
var buttonRef = (0, _react.useRef)();
|
76
77
|
(0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
|
77
78
|
/* istanbul ignore next */
|
@@ -102,7 +103,17 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
102
103
|
}),
|
103
104
|
classNames = _useStatusClasses.classNames;
|
104
105
|
|
106
|
+
(0, _hooks.useDeprecationWarning)('The "icon" variant for `Button` is deprecated in Astro-UI 1.0.0, use the `IconButton` component instead.', {
|
107
|
+
isActive: props.variant === 'icon'
|
108
|
+
});
|
109
|
+
(0, _hooks.useDeprecationWarning)('The "danger" variant for `Button` will be deprecated in Astro-UI 2.0.0, use the `critical` variant instead.', {
|
110
|
+
isActive: props.variant === 'danger'
|
111
|
+
});
|
112
|
+
(0, _hooks.useDeprecationWarning)('The "text" variant for `Button` will be deprecated in Astro-UI 2.0.0, use the `link` variant instead.', {
|
113
|
+
isActive: props.variant === 'text'
|
114
|
+
});
|
105
115
|
var ariaLabel = props['aria-label'];
|
116
|
+
(0, _hooks.useAriaLabelWarning)('Button', ariaLabel, variant === 'filter');
|
106
117
|
return (0, _react2.jsx)(_themeUi.Button, (0, _extends2["default"])({
|
107
118
|
"aria-label": ariaLabel,
|
108
119
|
ref: buttonRef,
|
@@ -113,7 +124,8 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
113
124
|
display: 'flex',
|
114
125
|
justifyContent: 'center',
|
115
126
|
alignItems: 'center'
|
116
|
-
}
|
127
|
+
},
|
128
|
+
variant: variant
|
117
129
|
}, others, (0, _utils.mergeProps)(hoverProps, focusProps, buttonProps)), isLoading ? (0, _react2.jsx)("span", {
|
118
130
|
style: {
|
119
131
|
visibility: 'hidden'
|
@@ -8,7 +8,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
9
9
|
});
|
10
10
|
|
11
|
-
exports.
|
11
|
+
exports.FilterButton = exports.ColorBlockButton = exports.InlineButton = exports.TextIconButton = exports.Disabled = exports.Default = exports["default"] = void 0;
|
12
12
|
|
13
13
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
14
14
|
|
@@ -20,16 +20,12 @@ var _AddCircleIcon = _interopRequireDefault(require("mdi-react/AddCircleIcon"));
|
|
20
20
|
|
21
21
|
var _CreateIcon = _interopRequireDefault(require("mdi-react/CreateIcon"));
|
22
22
|
|
23
|
-
var
|
24
|
-
|
25
|
-
var _ = _interopRequireDefault(require("."));
|
26
|
-
|
27
|
-
var _Icon = _interopRequireDefault(require("../Icon"));
|
28
|
-
|
29
|
-
var _Text = _interopRequireDefault(require("../Text"));
|
23
|
+
var _FilterIcon = _interopRequireDefault(require("mdi-react/FilterIcon"));
|
30
24
|
|
31
25
|
var _variants = require("../../utils/devUtils/constants/variants");
|
32
26
|
|
27
|
+
var _index = require("../../index");
|
28
|
+
|
33
29
|
var _react2 = require("@emotion/react");
|
34
30
|
|
35
31
|
// removing the iconButton variants from this story.
|
@@ -41,7 +37,7 @@ delete variants.INVERTED; // add designer approved variants for devs to use here
|
|
41
37
|
var variantOptions = ['critical', 'danger', 'default', 'inline', 'link', 'primary', 'success', 'text'];
|
42
38
|
var _default = {
|
43
39
|
title: 'Button',
|
44
|
-
component:
|
40
|
+
component: _index.Button,
|
45
41
|
argTypes: {
|
46
42
|
variant: {
|
47
43
|
control: {
|
@@ -74,13 +70,13 @@ var _default = {
|
|
74
70
|
exports["default"] = _default;
|
75
71
|
|
76
72
|
var Default = function Default(args) {
|
77
|
-
return (0, _react2.jsx)(
|
73
|
+
return (0, _react2.jsx)(_index.Button, args);
|
78
74
|
};
|
79
75
|
|
80
76
|
exports.Default = Default;
|
81
77
|
|
82
78
|
var Disabled = function Disabled() {
|
83
|
-
return (0, _react2.jsx)(
|
79
|
+
return (0, _react2.jsx)(_index.Button, {
|
84
80
|
isDisabled: true
|
85
81
|
}, "Button Text");
|
86
82
|
};
|
@@ -88,12 +84,12 @@ var Disabled = function Disabled() {
|
|
88
84
|
exports.Disabled = Disabled;
|
89
85
|
|
90
86
|
var TextIconButton = function TextIconButton() {
|
91
|
-
return (0, _react2.jsx)(
|
87
|
+
return (0, _react2.jsx)(_index.Button, {
|
92
88
|
mb: "sm"
|
93
|
-
}, (0, _react2.jsx)(
|
89
|
+
}, (0, _react2.jsx)(_index.Box, {
|
94
90
|
isRow: true,
|
95
91
|
alignItems: "center"
|
96
|
-
}, (0, _react2.jsx)(
|
92
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
97
93
|
icon: _AddCircleIcon["default"],
|
98
94
|
mr: "sm",
|
99
95
|
color: "active",
|
@@ -103,21 +99,8 @@ var TextIconButton = function TextIconButton() {
|
|
103
99
|
|
104
100
|
exports.TextIconButton = TextIconButton;
|
105
101
|
|
106
|
-
var TextButton = function TextButton() {
|
107
|
-
return (0, _react2.jsx)(_["default"], {
|
108
|
-
mb: "sm",
|
109
|
-
variant: "text",
|
110
|
-
"aria-label": "Add option"
|
111
|
-
}, (0, _react2.jsx)(_Text["default"], {
|
112
|
-
variant: "label",
|
113
|
-
color: "active"
|
114
|
-
}, " + Add Option"));
|
115
|
-
};
|
116
|
-
|
117
|
-
exports.TextButton = TextButton;
|
118
|
-
|
119
102
|
var InlineButton = function InlineButton() {
|
120
|
-
return (0, _react2.jsx)(
|
103
|
+
return (0, _react2.jsx)(_index.Button, {
|
121
104
|
mb: "sm",
|
122
105
|
variant: "inline"
|
123
106
|
}, "Inline");
|
@@ -129,14 +112,14 @@ var ColorBlockButton = function ColorBlockButton(args) {
|
|
129
112
|
// Change `isConfigured` property in storybook controls
|
130
113
|
var isConfigured = args.isConfigured,
|
131
114
|
props = (0, _objectWithoutProperties2["default"])(args, ["isConfigured"]);
|
132
|
-
return (0, _react2.jsx)(
|
115
|
+
return (0, _react2.jsx)(_index.Button, (0, _extends2["default"])({}, props, {
|
133
116
|
variant: "colorBlock",
|
134
117
|
className: isConfigured ? 'is-configured' : ''
|
135
|
-
}), (0, _react2.jsx)(
|
118
|
+
}), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Text, {
|
136
119
|
variant: "buttonTitle"
|
137
|
-
}, "Title"), (0, _react2.jsx)(
|
120
|
+
}, "Title"), (0, _react2.jsx)(_index.Text, {
|
138
121
|
variant: "buttonSubtitle"
|
139
|
-
}, "Info")), (0, _react2.jsx)(
|
122
|
+
}, "Info")), (0, _react2.jsx)(_index.Icon, {
|
140
123
|
icon: _CreateIcon["default"]
|
141
124
|
}));
|
142
125
|
};
|
@@ -151,4 +134,21 @@ ColorBlockButton.story = {
|
|
151
134
|
defaultValue: false
|
152
135
|
}
|
153
136
|
}
|
154
|
-
};
|
137
|
+
};
|
138
|
+
|
139
|
+
var FilterButton = function FilterButton() {
|
140
|
+
return (0, _react2.jsx)(_index.Box, {
|
141
|
+
p: "xx",
|
142
|
+
isRow: true,
|
143
|
+
gap: "md"
|
144
|
+
}, (0, _react2.jsx)(_index.SearchField, {
|
145
|
+
"aria-label": "search items"
|
146
|
+
}), (0, _react2.jsx)(_index.Button, {
|
147
|
+
variant: "filter",
|
148
|
+
"aria-label": "filter button"
|
149
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
150
|
+
icon: _FilterIcon["default"]
|
151
|
+
})));
|
152
|
+
};
|
153
|
+
|
154
|
+
exports.FilterButton = FilterButton;
|
@@ -313,9 +313,11 @@ EnvironmentBreadcrumb.propTypes = {
|
|
313
313
|
/** The list of environments. */
|
314
314
|
items: _isIterable.isIterableProp,
|
315
315
|
|
316
|
-
/**
|
317
|
-
*
|
318
|
-
*
|
316
|
+
/**
|
317
|
+
* Filter function to generate a filtered list of nodes.
|
318
|
+
*
|
319
|
+
* `(nodes: Iterable<Node>) => Iterable<Node>`
|
320
|
+
*/
|
319
321
|
itemsFilter: _propTypes["default"].func,
|
320
322
|
|
321
323
|
/** Callback function that fires when the dropdown is opened. */
|
@@ -37,7 +37,8 @@ var _react2 = require("@emotion/react");
|
|
37
37
|
var Link = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
38
38
|
var className = props.className,
|
39
39
|
isDisabled = props.isDisabled,
|
40
|
-
|
40
|
+
onPress = props.onPress,
|
41
|
+
others = (0, _objectWithoutProperties2["default"])(props, ["className", "isDisabled", "onPress"]);
|
41
42
|
var linkRef = (0, _react.useRef)();
|
42
43
|
(0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
|
43
44
|
/* istanbul ignore next */
|
@@ -45,8 +45,6 @@ var _grid = require("@react-stately/grid");
|
|
45
45
|
|
46
46
|
var _grid2 = require("@react-aria/grid");
|
47
47
|
|
48
|
-
var _utils = require("@react-aria/utils");
|
49
|
-
|
50
48
|
var _layout = require("@react-stately/layout");
|
51
49
|
|
52
50
|
var _list = require("@react-stately/list");
|
@@ -103,12 +101,9 @@ function useListLayout(state) {
|
|
103
101
|
}
|
104
102
|
|
105
103
|
var ListView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
106
|
-
var
|
107
|
-
loadingState = props.loadingState,
|
108
|
-
selectedKeys = props.selectedKeys,
|
104
|
+
var loadingState = props.loadingState,
|
109
105
|
onLoadMore = props.onLoadMore,
|
110
|
-
|
111
|
-
selectionMode = props.selectionMode;
|
106
|
+
selectionStyle = props.selectionStyle;
|
112
107
|
var isLoading = loadingState === _loadingStates["default"].LOADING_MORE || loadingState === _loadingStates["default"].LOADING;
|
113
108
|
|
114
109
|
var renderWrapper = function renderWrapper(parent, reusableView) {
|
@@ -160,11 +155,9 @@ var ListView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
160
155
|
});
|
161
156
|
}, [collection]);
|
162
157
|
var state = (0, _grid.useGridState)(_objectSpread(_objectSpread({}, props), {}, {
|
163
|
-
disabledKeys: disabledKeys,
|
164
|
-
selectedKeys: selectedKeys,
|
165
158
|
collection: gridCollection,
|
166
|
-
|
167
|
-
|
159
|
+
focusMode: 'cell',
|
160
|
+
selectionBehavior: selectionStyle === 'highlight' ? 'replace' : 'toggle'
|
168
161
|
}));
|
169
162
|
var layout = useListLayout(state);
|
170
163
|
var keyboardDelegate = (0, _react.useMemo)(function () {
|
@@ -199,7 +192,7 @@ var ListView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
199
192
|
state: state,
|
200
193
|
keyboardDelegate: keyboardDelegate
|
201
194
|
}
|
202
|
-
}, (0, _react2.jsx)(_virtualizer.Virtualizer, (0, _extends2["default"])({},
|
195
|
+
}, (0, _react2.jsx)(_virtualizer.Virtualizer, (0, _extends2["default"])({}, gridProps, {
|
203
196
|
onLoadMore: onLoadMore,
|
204
197
|
ref: listViewRef,
|
205
198
|
focusedKey: focusedKey,
|
@@ -266,6 +259,9 @@ ListView.propTypes = {
|
|
266
259
|
/** The type of selection that is allowed in the collection. */
|
267
260
|
selectionMode: _propTypes["default"].oneOf(['none', 'single', 'multiple']),
|
268
261
|
|
262
|
+
/** */
|
263
|
+
selectionStyle: _propTypes["default"].oneOf(['highlight', undefined]),
|
264
|
+
|
269
265
|
/** Callback function that fires when the selected key changes. */
|
270
266
|
onSelectionChange: _propTypes["default"].func,
|
271
267
|
|
@@ -278,7 +274,7 @@ ListView.propTypes = {
|
|
278
274
|
};
|
279
275
|
ListView.defaultProps = {
|
280
276
|
'aria-label': 'listView',
|
281
|
-
|
277
|
+
selectionMode: 'single'
|
282
278
|
};
|
283
279
|
var _default = ListView;
|
284
280
|
exports["default"] = _default;
|
@@ -28,6 +28,8 @@ var _grid = require("@react-aria/grid");
|
|
28
28
|
|
29
29
|
var _interactions = require("@react-aria/interactions");
|
30
30
|
|
31
|
+
var _selection = require("@react-aria/selection");
|
32
|
+
|
31
33
|
var _ListViewContext = require("../ListView/ListViewContext");
|
32
34
|
|
33
35
|
var _Box = _interopRequireDefault(require("../Box"));
|
@@ -40,7 +42,9 @@ var ListViewItem = function ListViewItem(props) {
|
|
40
42
|
var _context;
|
41
43
|
|
42
44
|
var item = props.item,
|
43
|
-
_props$item
|
45
|
+
_props$item = props.item,
|
46
|
+
key = _props$item.key,
|
47
|
+
_props$item$props = _props$item.props,
|
44
48
|
listItemProps = _props$item$props.listItemProps,
|
45
49
|
rowProps = _props$item$props.rowProps,
|
46
50
|
_props$item$props$has = _props$item$props.hasSeparator,
|
@@ -75,7 +79,7 @@ var ListViewItem = function ListViewItem(props) {
|
|
75
79
|
}, state, rowRef),
|
76
80
|
raRowProps = _useGridRow.rowProps;
|
77
81
|
|
78
|
-
var isSelected =
|
82
|
+
var isSelected = state.selectionManager.isSelected(item.key);
|
79
83
|
|
80
84
|
var _useGridCell = (0, _grid.useGridCell)({
|
81
85
|
node: cellNode,
|
@@ -83,7 +87,15 @@ var ListViewItem = function ListViewItem(props) {
|
|
83
87
|
}, state, cellRef),
|
84
88
|
gridCellProps = _useGridCell.gridCellProps;
|
85
89
|
|
86
|
-
var
|
90
|
+
var _useSelectableItem = (0, _selection.useSelectableItem)({
|
91
|
+
isDisabled: isDisabled,
|
92
|
+
selectionManager: state.selectionManager,
|
93
|
+
key: key,
|
94
|
+
ref: cellRef
|
95
|
+
}),
|
96
|
+
selectableItemProps = _useSelectableItem.itemProps;
|
97
|
+
|
98
|
+
var mergedProps = (0, _utils.mergeProps)(gridCellProps, hoverProps, focusWithinProps, focusProps, selectableItemProps);
|
87
99
|
|
88
100
|
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
89
101
|
isHovered: isHovered,
|
@@ -163,7 +163,7 @@ var DarkVariant = function DarkVariant() {
|
|
163
163
|
onPress: state.close,
|
164
164
|
"aria-label": "Yes"
|
165
165
|
}, "Yes"), (0, _react2.jsx)(_index.Button, {
|
166
|
-
variant: "
|
166
|
+
variant: "link",
|
167
167
|
onPress: state.close,
|
168
168
|
"aria-label": "Cancel"
|
169
169
|
}, "Cancel"))))
|
@@ -40,11 +40,9 @@ var _collections = require("@react-stately/collections");
|
|
40
40
|
|
41
41
|
var _focus = require("@react-aria/focus");
|
42
42
|
|
43
|
-
var _utils = require("@react-aria/utils");
|
44
|
-
|
45
43
|
var _hooks = require("../../hooks");
|
46
44
|
|
47
|
-
var
|
45
|
+
var _index = require("../../index");
|
48
46
|
|
49
47
|
var _RockerButtonGroup = require("../RockerButtonGroup");
|
50
48
|
|
@@ -56,19 +54,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
56
54
|
|
57
55
|
var CollectionRockerButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
58
56
|
var className = props.className,
|
59
|
-
item = props.item
|
60
|
-
buttonGroupDisabled = props.isDisabled;
|
61
|
-
var defaultSelectedStyles = {
|
62
|
-
bg: 'active'
|
63
|
-
};
|
57
|
+
item = props.item;
|
64
58
|
var key = item.key,
|
65
59
|
rendered = item.rendered,
|
66
60
|
itemProps = item.props;
|
67
|
-
var _itemProps$selectedSt = itemProps.selectedStyles,
|
68
|
-
selectedStyles = _itemProps$selectedSt === void 0 ? defaultSelectedStyles : _itemProps$selectedSt,
|
69
|
-
rockerButtonDisabled = itemProps.isDisabled;
|
70
|
-
var isDisabled = buttonGroupDisabled || rockerButtonDisabled;
|
71
61
|
var state = (0, _react.useContext)(_RockerButtonGroup.RockerContext);
|
62
|
+
var isDisabled = state.disabledKeys.has(key);
|
72
63
|
|
73
64
|
var _useFocusRing = (0, _focus.useFocusRing)(),
|
74
65
|
isFocusVisible = _useFocusRing.isFocusVisible,
|
@@ -78,7 +69,8 @@ var CollectionRockerButton = /*#__PURE__*/(0, _react.forwardRef)(function (props
|
|
78
69
|
|
79
70
|
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
80
71
|
isFocused: isFocusVisible,
|
81
|
-
isSelected: isSelected
|
72
|
+
isSelected: isSelected,
|
73
|
+
isDisabled: isDisabled
|
82
74
|
}),
|
83
75
|
classNames = _useStatusClasses.classNames;
|
84
76
|
|
@@ -92,26 +84,26 @@ var CollectionRockerButton = /*#__PURE__*/(0, _react.forwardRef)(function (props
|
|
92
84
|
|
93
85
|
var _useRockerButton = (0, _hooks.useRockerButton)({
|
94
86
|
item: item,
|
95
|
-
isDisabled: isDisabled
|
87
|
+
isDisabled: isDisabled,
|
88
|
+
isSelected: isSelected
|
96
89
|
}, state, rockerButtonRef),
|
97
90
|
rockerButtonProps = _useRockerButton.rockerButtonProps;
|
98
91
|
|
99
|
-
return (0, _react2.jsx)(
|
92
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
93
|
+
as: "button",
|
100
94
|
className: classNames,
|
101
|
-
variant: "rocker"
|
102
|
-
},
|
103
|
-
ref: rockerButtonRef
|
95
|
+
variant: "buttons.rocker"
|
96
|
+
}, rockerButtonProps, {
|
97
|
+
ref: rockerButtonRef
|
98
|
+
}, focusProps, itemProps, {
|
104
99
|
sx: {
|
105
|
-
'&.is-selected': _objectSpread({}, selectedStyles)
|
100
|
+
'&.is-selected': _objectSpread({}, itemProps.selectedStyles)
|
106
101
|
}
|
107
102
|
}), rendered);
|
108
103
|
});
|
109
104
|
exports.CollectionRockerButton = CollectionRockerButton;
|
110
105
|
CollectionRockerButton.displayName = 'CollectionRockerButton';
|
111
106
|
CollectionRockerButton.propTypes = {
|
112
|
-
/** Whether the button is disabled. */
|
113
|
-
isDisabled: _propTypes["default"].bool,
|
114
|
-
|
115
107
|
/** Allows custom styles to be passed to button. */
|
116
108
|
selectedStyles: _propTypes["default"].shape({}),
|
117
109
|
// adding to surface in props table
|