@pingux/astro 1.0.0-alpha.17 → 1.0.0-alpha.20
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 +30 -0
- package/lib/cjs/components/Button/Button.js +5 -24
- package/lib/cjs/components/Button/Button.test.js +0 -24
- package/lib/cjs/components/IconButton/IconButton.js +7 -7
- package/lib/cjs/components/IconButton/IconButton.test.js +0 -1
- package/lib/cjs/components/ListItem/ListItem.stories.js +0 -2
- package/lib/cjs/components/Stepper/Stepper.js +1 -0
- package/lib/cjs/components/Tab/Tab.js +4 -2
- package/lib/cjs/index.js +48 -136
- package/lib/cjs/layouts/SchemaFormLayout.stories.js +2 -21
- package/lib/cjs/recipes/ArrayField.stories.js +3 -3
- package/lib/cjs/styles/theme.js +0 -3
- package/lib/cjs/styles/variants/boxes.js +0 -15
- package/lib/cjs/styles/variants/buttons.js +1 -27
- package/lib/cjs/styles/variants/variants.js +0 -3
- package/lib/components/Button/Button.js +7 -24
- package/lib/components/Button/Button.test.js +0 -20
- package/lib/components/IconButton/IconButton.js +7 -8
- package/lib/components/IconButton/IconButton.test.js +0 -1
- package/lib/components/ListItem/ListItem.stories.js +0 -2
- package/lib/components/Stepper/Stepper.js +1 -0
- package/lib/components/Tab/Tab.js +4 -2
- package/lib/index.js +0 -8
- package/lib/layouts/SchemaFormLayout.stories.js +2 -19
- package/lib/recipes/ArrayField.stories.js +3 -3
- package/lib/styles/theme.js +0 -3
- package/lib/styles/variants/boxes.js +0 -15
- package/lib/styles/variants/buttons.js +1 -27
- package/lib/styles/variants/variants.js +0 -2
- package/package.json +1 -1
- package/lib/cjs/components/Dropdown/Dropdown.js +0 -112
- package/lib/cjs/components/Dropdown/Dropdown.test.js +0 -80
- package/lib/cjs/components/Dropdown/index.js +0 -18
- package/lib/cjs/components/DropdownField/DropdownField.js +0 -187
- package/lib/cjs/components/DropdownField/DropdownField.stories.js +0 -278
- package/lib/cjs/components/DropdownField/DropdownField.test.js +0 -80
- package/lib/cjs/components/DropdownField/index.js +0 -18
- package/lib/cjs/components/Panel/Panel.js +0 -101
- package/lib/cjs/components/Panel/Panel.stories.js +0 -57
- package/lib/cjs/components/Panel/Panel.test.js +0 -72
- package/lib/cjs/components/Panel/index.js +0 -18
- package/lib/cjs/components/Popover/Popover.js +0 -87
- package/lib/cjs/components/Popover/Popover.stories.js +0 -80
- package/lib/cjs/components/Popover/Popover.test.js +0 -91
- package/lib/cjs/components/Popover/index.js +0 -18
- package/lib/cjs/recipes/InputBoxWithLinkedChip.stories.js +0 -67
- package/lib/cjs/styles/variants/popover.js +0 -86
- package/lib/components/Dropdown/Dropdown.js +0 -90
- package/lib/components/Dropdown/Dropdown.test.js +0 -62
- package/lib/components/Dropdown/index.js +0 -1
- package/lib/components/DropdownField/DropdownField.js +0 -155
- package/lib/components/DropdownField/DropdownField.stories.js +0 -222
- package/lib/components/DropdownField/DropdownField.test.js +0 -60
- package/lib/components/DropdownField/index.js +0 -1
- package/lib/components/Panel/Panel.js +0 -71
- package/lib/components/Panel/Panel.stories.js +0 -35
- package/lib/components/Panel/Panel.test.js +0 -52
- package/lib/components/Panel/index.js +0 -1
- package/lib/components/Popover/Popover.js +0 -65
- package/lib/components/Popover/Popover.stories.js +0 -52
- package/lib/components/Popover/Popover.test.js +0 -75
- package/lib/components/Popover/index.js +0 -2
- package/lib/recipes/InputBoxWithLinkedChip.stories.js +0 -43
- package/lib/styles/variants/popover.js +0 -76
@@ -179,32 +179,7 @@ var accordionHeader = _objectSpread(_objectSpread({}, base), {}, {
|
|
179
179
|
color: 'accent.20'
|
180
180
|
},
|
181
181
|
'&.is-focused': _objectSpread({}, defaultFocus)
|
182
|
-
});
|
183
|
-
|
184
|
-
|
185
|
-
var icon = {
|
186
|
-
p: '3px',
|
187
|
-
alignSelf: 'flex-start',
|
188
|
-
flexGrow: 0,
|
189
|
-
borderRadius: '100%',
|
190
|
-
cursor: 'pointer',
|
191
|
-
bg: 'transparent',
|
192
|
-
'path': {
|
193
|
-
fill: 'text.secondary'
|
194
|
-
},
|
195
|
-
outline: 'none',
|
196
|
-
color: 'white',
|
197
|
-
'&.is-hovered': {
|
198
|
-
bg: 'accent.90'
|
199
|
-
},
|
200
|
-
'&.is-pressed': {
|
201
|
-
'path': {
|
202
|
-
fill: 'white'
|
203
|
-
},
|
204
|
-
bg: 'active'
|
205
|
-
},
|
206
|
-
'&.is-focused': _objectSpread({}, defaultFocus)
|
207
|
-
};
|
182
|
+
});
|
208
183
|
|
209
184
|
var primary = _objectSpread(_objectSpread({}, base), {}, {
|
210
185
|
display: 'inline-flex',
|
@@ -512,7 +487,6 @@ var _default = {
|
|
512
487
|
expandableRow: expandableRow,
|
513
488
|
fileInputField: fileInputField,
|
514
489
|
iconButton: iconButton,
|
515
|
-
icon: icon,
|
516
490
|
imageUpload: imageUpload,
|
517
491
|
inline: inline,
|
518
492
|
inverted: inverted,
|
@@ -54,8 +54,6 @@ var _messages = _interopRequireDefault(require("./messages"));
|
|
54
54
|
|
55
55
|
var _numberField = _interopRequireDefault(require("./numberField"));
|
56
56
|
|
57
|
-
var _popover = _interopRequireDefault(require("./popover"));
|
58
|
-
|
59
57
|
var _overlayPanel = _interopRequireDefault(require("./overlayPanel"));
|
60
58
|
|
61
59
|
var _popoverMenu = _interopRequireDefault(require("./popoverMenu"));
|
@@ -90,7 +88,6 @@ var _default = _objectSpread(_objectSpread({
|
|
90
88
|
modal: _modal["default"],
|
91
89
|
numberField: _numberField["default"],
|
92
90
|
overlayPanel: _overlayPanel["default"],
|
93
|
-
popover: _popover["default"],
|
94
91
|
popoverMenu: _popoverMenu["default"],
|
95
92
|
rockerbutton: _rockerbutton["default"],
|
96
93
|
separator: _separator["default"],
|
@@ -14,17 +14,15 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
|
|
14
14
|
|
15
15
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty(_context = ownKeys(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context2; _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
16
16
|
|
17
|
-
import React, { forwardRef, useRef, useImperativeHandle
|
17
|
+
import React, { forwardRef, useRef, useImperativeHandle } from 'react';
|
18
18
|
import PropTypes from 'prop-types';
|
19
19
|
import { Button as ThemeUIButton } from 'theme-ui';
|
20
20
|
import { useButton } from '@react-aria/button';
|
21
21
|
import { useHover } from '@react-aria/interactions';
|
22
22
|
import { useFocusRing } from '@react-aria/focus';
|
23
23
|
import { mergeProps } from '@react-aria/utils';
|
24
|
-
import {
|
25
|
-
import { useAriaLabelWarning, useStatusClasses, useDeprecationWarning, usePropWarning } from '../../hooks';
|
24
|
+
import { useAriaLabelWarning, useStatusClasses, usePropWarning } from '../../hooks';
|
26
25
|
import Loader from '../Loader';
|
27
|
-
import Box from '../Box';
|
28
26
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
29
27
|
var Button = /*#__PURE__*/forwardRef(function (props, ref) {
|
30
28
|
var className = props.className,
|
@@ -39,8 +37,7 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
39
37
|
onPressChange = props.onPressChange,
|
40
38
|
onPressUp = props.onPressUp,
|
41
39
|
children = props.children,
|
42
|
-
|
43
|
-
others = _objectWithoutProperties(props, ["className", "isDisabled", "isLoading", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp", "children", "mode"]);
|
40
|
+
others = _objectWithoutProperties(props, ["className", "isDisabled", "isLoading", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp", "children"]);
|
44
41
|
|
45
42
|
var buttonRef = useRef();
|
46
43
|
usePropWarning(props, 'disabled', 'isDisabled');
|
@@ -49,20 +46,13 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
49
46
|
useImperativeHandle(ref, function () {
|
50
47
|
return buttonRef.current;
|
51
48
|
});
|
52
|
-
var ButtonBase = useMemo(function () {
|
53
|
-
return mode === modes.ICON ? Box : ThemeUIButton;
|
54
|
-
}, [mode]);
|
55
|
-
var elementType = useMemo(function () {
|
56
|
-
if (mode === modes.ICON) return 'div';
|
57
|
-
return 'button';
|
58
|
-
}, [mode]);
|
59
49
|
|
60
50
|
var _useFocusRing = useFocusRing(),
|
61
51
|
isFocusVisible = _useFocusRing.isFocusVisible,
|
62
52
|
focusProps = _useFocusRing.focusProps;
|
63
53
|
|
64
54
|
var _useButton = useButton(_objectSpread({
|
65
|
-
elementType:
|
55
|
+
elementType: 'button'
|
66
56
|
}, props), buttonRef),
|
67
57
|
buttonProps = _useButton.buttonProps,
|
68
58
|
isPressed = _useButton.isPressed;
|
@@ -79,12 +69,9 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
79
69
|
}),
|
80
70
|
classNames = _useStatusClasses.classNames;
|
81
71
|
|
82
|
-
useDeprecationWarning('The "icon" variant for `Button` will be deprecated in Astro-UI 1.0.0, use the `IconButton` component instead.', {
|
83
|
-
isActive: props.variant === 'icon'
|
84
|
-
});
|
85
72
|
var ariaLabel = props['aria-label'];
|
86
73
|
useAriaLabelWarning('Button', ariaLabel);
|
87
|
-
return ___EmotionJSX(
|
74
|
+
return ___EmotionJSX(ThemeUIButton, _extends({
|
88
75
|
"aria-label": ariaLabel || 'Button',
|
89
76
|
ref: buttonRef,
|
90
77
|
className: classNames,
|
@@ -167,15 +154,11 @@ Button.propTypes = {
|
|
167
154
|
onPressUp: PropTypes.func,
|
168
155
|
|
169
156
|
/** The styling variation of the button. */
|
170
|
-
variant: PropTypes.string
|
171
|
-
|
172
|
-
/** The behavioral pattern to apply to the button. */
|
173
|
-
mode: PropTypes.oneOf(['default', 'icon'])
|
157
|
+
variant: PropTypes.string
|
174
158
|
};
|
175
159
|
Button.defaultProps = {
|
176
160
|
isDisabled: false,
|
177
|
-
variant: 'default'
|
178
|
-
mode: 'default'
|
161
|
+
variant: 'default'
|
179
162
|
};
|
180
163
|
Button.displayName = 'Button';
|
181
164
|
export default Button;
|
@@ -1,11 +1,9 @@
|
|
1
1
|
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
2
2
|
import React from 'react';
|
3
3
|
import userEvent from '@testing-library/user-event';
|
4
|
-
import AddCircleIcon from 'mdi-react/AddCircleIcon';
|
5
4
|
import axeTest from '../../utils/testUtils/testAxe';
|
6
5
|
import { fireEvent, render, screen } from '../../utils/testUtils/testWrapper';
|
7
6
|
import Button from '.';
|
8
|
-
import Icon from '../Icon';
|
9
7
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
10
8
|
var testId = 'test-button';
|
11
9
|
var defaultProps = {
|
@@ -15,15 +13,6 @@ var defaultProps = {
|
|
15
13
|
var getComponent = function getComponent() {
|
16
14
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
17
15
|
return render(___EmotionJSX(Button, _extends({}, defaultProps, props)));
|
18
|
-
};
|
19
|
-
|
20
|
-
var getIconButton = function getIconButton() {
|
21
|
-
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
22
|
-
return render(___EmotionJSX(Button, _extends({}, defaultProps, props, {
|
23
|
-
variant: "icon"
|
24
|
-
}), ___EmotionJSX(Icon, {
|
25
|
-
icon: AddCircleIcon
|
26
|
-
})));
|
27
16
|
}; // Need to be added to each test file to test accessibility using axe.
|
28
17
|
|
29
18
|
|
@@ -99,13 +88,4 @@ test('button renders children when not loading', function () {
|
|
99
88
|
expect(childWrapper).toBeInTheDocument();
|
100
89
|
expect(childWrapper).toBeVisible();
|
101
90
|
expect(screen.queryByRole('progressbar')).not.toBeInTheDocument();
|
102
|
-
});
|
103
|
-
test('passing in an icon makes the button parent a div', function () {
|
104
|
-
getIconButton({
|
105
|
-
mode: 'icon'
|
106
|
-
});
|
107
|
-
var button = screen.getByRole('button');
|
108
|
-
expect(button).toBeInTheDocument();
|
109
|
-
expect(button).toBeVisible();
|
110
|
-
expect(button).toBeInstanceOf(HTMLDivElement);
|
111
91
|
});
|
@@ -17,8 +17,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
17
17
|
import React, { forwardRef, useRef, useImperativeHandle, useContext } from 'react';
|
18
18
|
import PropTypes from 'prop-types';
|
19
19
|
import { IconButton as ThemeUIIconButton } from 'theme-ui';
|
20
|
+
import { useButton } from '@react-aria/button';
|
20
21
|
import { useFocusRing } from '@react-aria/focus';
|
21
|
-
import { Pressable, useHover
|
22
|
+
import { Pressable, useHover } from '@react-aria/interactions';
|
22
23
|
import { mergeProps } from '@react-aria/utils';
|
23
24
|
import { useAriaLabelWarning, useStatusClasses } from '../../hooks';
|
24
25
|
import { ChipContext } from '../Chip/ChipContext';
|
@@ -52,15 +53,13 @@ var IconButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
52
53
|
return buttonRef.current;
|
53
54
|
});
|
54
55
|
|
56
|
+
var _useButton = useButton(_objectSpread({}, props), buttonRef),
|
57
|
+
buttonProps = _useButton.buttonProps,
|
58
|
+
isPressed = _useButton.isPressed;
|
59
|
+
|
55
60
|
var _useContext = useContext(ChipContext),
|
56
61
|
chipBg = _useContext.bg;
|
57
62
|
|
58
|
-
var _usePress = usePress(_objectSpread({
|
59
|
-
ref: buttonRef
|
60
|
-
}, props)),
|
61
|
-
isPressed = _usePress.isPressed,
|
62
|
-
pressProps = _usePress.pressProps;
|
63
|
-
|
64
63
|
var _useHover = useHover(props),
|
65
64
|
hoverProps = _useHover.hoverProps,
|
66
65
|
isHovered = _useHover.isHovered;
|
@@ -90,7 +89,7 @@ var IconButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
90
89
|
fill: chipBg
|
91
90
|
}
|
92
91
|
}
|
93
|
-
},
|
92
|
+
}, mergeProps(hoverProps, focusProps, buttonProps, others)), children);
|
94
93
|
|
95
94
|
if (title) {
|
96
95
|
return ___EmotionJSX(TooltipTrigger, {
|
@@ -32,7 +32,6 @@ test('default icon button', function () {
|
|
32
32
|
var button = screen.getByRole('button');
|
33
33
|
expect(button).toHaveAttribute('data-testid', testId);
|
34
34
|
expect(button).toBeInstanceOf(HTMLButtonElement);
|
35
|
-
expect(button).toHaveAttribute('tabindex', '0');
|
36
35
|
expect(button).toBeInTheDocument();
|
37
36
|
});
|
38
37
|
test('icon button hover', function () {
|
@@ -32,7 +32,6 @@ export var Default = function Default(args) {
|
|
32
32
|
isRow: true,
|
33
33
|
alignSelf: "center"
|
34
34
|
}, ___EmotionJSX(IconButton, {
|
35
|
-
variant: "icon",
|
36
35
|
size: 26
|
37
36
|
}, ___EmotionJSX(Icon, {
|
38
37
|
icon: MoreVertIcon,
|
@@ -64,7 +63,6 @@ export var WithSubtitle = function WithSubtitle(args) {
|
|
64
63
|
isRow: true,
|
65
64
|
alignSelf: "center"
|
66
65
|
}, ___EmotionJSX(IconButton, {
|
67
|
-
variant: "icon",
|
68
66
|
size: 26
|
69
67
|
}, ___EmotionJSX(Icon, {
|
70
68
|
icon: MoreVertIcon,
|
@@ -33,7 +33,8 @@ export var CollectionTab = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
33
33
|
tabLabelProps = itemProps.tabLabelProps,
|
34
34
|
tabLineProps = itemProps.tabLineProps,
|
35
35
|
content = itemProps.content,
|
36
|
-
|
36
|
+
titleAttr = itemProps.titleAttr,
|
37
|
+
otherItemProps = _objectWithoutProperties(itemProps, ["icon", "isDisabled", "separator", "tabLabelProps", "tabLineProps", "content", "titleAttr"]);
|
37
38
|
|
38
39
|
var state = useContext(TabsContext);
|
39
40
|
var isDisabled = tabsDisabled || tabDisabled || state.disabledKeys.has(key);
|
@@ -77,7 +78,8 @@ export var CollectionTab = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
77
78
|
className: classNames,
|
78
79
|
variant: "tab"
|
79
80
|
}, mergeProps(focusProps, hoverProps, tabProps), otherItemProps, {
|
80
|
-
ref: tabRef
|
81
|
+
ref: tabRef,
|
82
|
+
title: titleAttr || undefined
|
81
83
|
}), icon, ___EmotionJSX(Text, _extends({
|
82
84
|
variant: "tabLabel"
|
83
85
|
}, tabLabelProps), rendered), isSelected && !isDisabled && ___EmotionJSX(TabLine, tabLineProps)), slots === null || slots === void 0 ? void 0 : slots.afterTab);
|
package/lib/index.js
CHANGED
@@ -30,10 +30,6 @@ export * from './components/Chip';
|
|
30
30
|
export { default as ComboBoxField } from './components/ComboBoxField';
|
31
31
|
export { default as CopyText } from './components/CopyText';
|
32
32
|
export { default as ColorField } from './components/ColorField';
|
33
|
-
export { default as Dropdown } from './components/Dropdown';
|
34
|
-
export * from './components/Dropdown';
|
35
|
-
export { default as DropdownField } from './components/DropdownField';
|
36
|
-
export * from './components/DropdownField';
|
37
33
|
export { default as FieldHelperText } from './components/FieldHelperText';
|
38
34
|
export * from './components/FieldHelperText';
|
39
35
|
export { default as FileInputField } from './components/FileInputField';
|
@@ -77,12 +73,8 @@ export { default as OverlayPanel } from './components/OverlayPanel';
|
|
77
73
|
export * from './components/OverlayPanel';
|
78
74
|
export { default as PageHeader } from './components/PageHeader';
|
79
75
|
export * from './components/PageHeader';
|
80
|
-
export { default as Panel } from './components/Panel';
|
81
|
-
export * from './components/Panel';
|
82
76
|
export { default as PasswordField } from './components/PasswordField';
|
83
77
|
export * from './components/PasswordField';
|
84
|
-
export { default as Popover } from './components/Popover';
|
85
|
-
export * from './components/Popover';
|
86
78
|
export { default as PopoverContainer } from './components/PopoverContainer';
|
87
79
|
export * from './components/PopoverContainer';
|
88
80
|
export { default as PopoverMenu } from './components/PopoverMenu';
|
@@ -3,14 +3,12 @@ import React from 'react';
|
|
3
3
|
import Earth from 'mdi-react/EarthIcon';
|
4
4
|
import Cog from 'mdi-react/CogOutlineIcon';
|
5
5
|
import Button from '../components/Button/Button';
|
6
|
-
import Panel from '../components/Panel/Panel';
|
7
6
|
import Box from '../components/Box/Box';
|
8
7
|
import Icon from '../components/Icon/Icon';
|
9
8
|
import Text from '../components/Text/Text';
|
10
9
|
import Separator from '../components/Separator/Separator';
|
11
10
|
import TextField from '../components/TextField/TextField';
|
12
11
|
import TextAreaField from '../components/TextAreaField/TextAreaField';
|
13
|
-
import DropdownField from '../components/DropdownField/DropdownField';
|
14
12
|
import RadioGroupField from '../components/RadioGroupField/RadioGroupField';
|
15
13
|
import RadioField from '../components/RadioField/RadioField';
|
16
14
|
import Tabs from '../components/Tabs/Tabs';
|
@@ -96,10 +94,7 @@ export var Default = function Default() {
|
|
96
94
|
}), ___EmotionJSX(TextAreaField, {
|
97
95
|
mb: "lg",
|
98
96
|
label: "Description"
|
99
|
-
}), ___EmotionJSX(
|
100
|
-
label: "Category",
|
101
|
-
mb: "lg"
|
102
|
-
}, ___EmotionJSX("option", null, "Option 1"), ___EmotionJSX("option", null, "Option 2"), ___EmotionJSX("option", null, "Option 3")), ___EmotionJSX(RadioGroupField, {
|
97
|
+
}), ___EmotionJSX(RadioGroupField, {
|
103
98
|
label: "Required Fields",
|
104
99
|
variant: "radioGroupBasic"
|
105
100
|
}, ___EmotionJSX(RadioField, {
|
@@ -108,17 +103,5 @@ export var Default = function Default() {
|
|
108
103
|
}), ___EmotionJSX(RadioField, {
|
109
104
|
value: "B",
|
110
105
|
label: "Option B"
|
111
|
-
}))))
|
112
|
-
isVisible: visible,
|
113
|
-
width: "70%",
|
114
|
-
bg: "accent.99"
|
115
|
-
}, ___EmotionJSX(Box, {
|
116
|
-
p: "lg",
|
117
|
-
onClick: function onClick() {
|
118
|
-
return setVisible(!visible);
|
119
|
-
}
|
120
|
-
}, ___EmotionJSX(Box, {
|
121
|
-
p: "lg",
|
122
|
-
bg: "white"
|
123
|
-
}, ___EmotionJSX(Text, null, "Your content here."))))));
|
106
|
+
}))))));
|
124
107
|
};
|
@@ -82,11 +82,11 @@ export var Default = function Default() {
|
|
82
82
|
sx: {
|
83
83
|
position: 'absolute',
|
84
84
|
right: -30,
|
85
|
-
top: 5
|
85
|
+
top: 5,
|
86
|
+
width: 'auto'
|
86
87
|
},
|
87
88
|
type: "delete",
|
88
|
-
title: "Delete Field"
|
89
|
-
variant: "icon"
|
89
|
+
title: "Delete Field"
|
90
90
|
}, ___EmotionJSX(Icon, {
|
91
91
|
icon: TrashIcon,
|
92
92
|
size: 20,
|
package/lib/styles/theme.js
CHANGED
@@ -16,20 +16,6 @@ import { text } from './text';
|
|
16
16
|
var base = {
|
17
17
|
display: 'flex'
|
18
18
|
};
|
19
|
-
var panel = {
|
20
|
-
outline: 'none',
|
21
|
-
position: 'relative',
|
22
|
-
bg: 'white',
|
23
|
-
borderLeft: 'separator',
|
24
|
-
transition: 'margin 0.25s ease-in',
|
25
|
-
visibility: 'hidden',
|
26
|
-
'&.is-focused': {
|
27
|
-
boxShadow: 'focus'
|
28
|
-
},
|
29
|
-
'&.is-visible': {
|
30
|
-
visibility: 'visible'
|
31
|
-
}
|
32
|
-
};
|
33
19
|
var card = {
|
34
20
|
boxShadow: 'standard',
|
35
21
|
p: 'lg',
|
@@ -280,7 +266,6 @@ export default {
|
|
280
266
|
listItem: listItem,
|
281
267
|
listBoxSectionTitle: listBoxSectionTitle,
|
282
268
|
listViewItem: listViewItem,
|
283
|
-
panel: panel,
|
284
269
|
radioCheckedContent: radioCheckedContent,
|
285
270
|
radioContainer: radioContainer,
|
286
271
|
scrollbox: scrollbox,
|
@@ -158,32 +158,7 @@ var accordionHeader = _objectSpread(_objectSpread({}, base), {}, {
|
|
158
158
|
color: 'accent.20'
|
159
159
|
},
|
160
160
|
'&.is-focused': _objectSpread({}, defaultFocus)
|
161
|
-
});
|
162
|
-
|
163
|
-
|
164
|
-
var icon = {
|
165
|
-
p: '3px',
|
166
|
-
alignSelf: 'flex-start',
|
167
|
-
flexGrow: 0,
|
168
|
-
borderRadius: '100%',
|
169
|
-
cursor: 'pointer',
|
170
|
-
bg: 'transparent',
|
171
|
-
'path': {
|
172
|
-
fill: 'text.secondary'
|
173
|
-
},
|
174
|
-
outline: 'none',
|
175
|
-
color: 'white',
|
176
|
-
'&.is-hovered': {
|
177
|
-
bg: 'accent.90'
|
178
|
-
},
|
179
|
-
'&.is-pressed': {
|
180
|
-
'path': {
|
181
|
-
fill: 'white'
|
182
|
-
},
|
183
|
-
bg: 'active'
|
184
|
-
},
|
185
|
-
'&.is-focused': _objectSpread({}, defaultFocus)
|
186
|
-
};
|
161
|
+
});
|
187
162
|
|
188
163
|
var primary = _objectSpread(_objectSpread({}, base), {}, {
|
189
164
|
display: 'inline-flex',
|
@@ -491,7 +466,6 @@ export default {
|
|
491
466
|
expandableRow: expandableRow,
|
492
467
|
fileInputField: fileInputField,
|
493
468
|
iconButton: iconButton,
|
494
|
-
icon: icon,
|
495
469
|
imageUpload: imageUpload,
|
496
470
|
inline: inline,
|
497
471
|
inverted: inverted,
|
@@ -24,7 +24,6 @@ import menu from './menu';
|
|
24
24
|
import menuItem from './menuItem';
|
25
25
|
import messages from './messages';
|
26
26
|
import numberField from './numberField';
|
27
|
-
import popover from './popover';
|
28
27
|
import overlayPanel from './overlayPanel';
|
29
28
|
import popoverMenu from './popoverMenu';
|
30
29
|
import rockerbutton from './rockerbutton';
|
@@ -47,7 +46,6 @@ export default _objectSpread(_objectSpread({
|
|
47
46
|
modal: modal,
|
48
47
|
numberField: numberField,
|
49
48
|
overlayPanel: overlayPanel,
|
50
|
-
popover: popover,
|
51
49
|
popoverMenu: popoverMenu,
|
52
50
|
rockerbutton: rockerbutton,
|
53
51
|
separator: separator,
|
package/package.json
CHANGED
@@ -1,112 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
|
4
|
-
|
5
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
6
|
-
|
7
|
-
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
|
-
|
9
|
-
_Object$defineProperty(exports, "__esModule", {
|
10
|
-
value: true
|
11
|
-
});
|
12
|
-
|
13
|
-
exports["default"] = void 0;
|
14
|
-
|
15
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
16
|
-
|
17
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
18
|
-
|
19
|
-
var _react = _interopRequireWildcard(require("react"));
|
20
|
-
|
21
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
22
|
-
|
23
|
-
var _forms = require("@rebass/forms");
|
24
|
-
|
25
|
-
var _focus = require("@react-aria/focus");
|
26
|
-
|
27
|
-
var _hooks = require("../../hooks");
|
28
|
-
|
29
|
-
var _react2 = require("@emotion/react");
|
30
|
-
|
31
|
-
/**
|
32
|
-
* Basic dropdown menu input.
|
33
|
-
* Accepts most styling props from [styled-system](https://styled-system.com/table).
|
34
|
-
* Built on top of the [Select component from Rebass Forms](https://rebassjs.org/forms/select).
|
35
|
-
*/
|
36
|
-
var Dropdown = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
37
|
-
var className = props.className,
|
38
|
-
children = props.children,
|
39
|
-
hasNoneOption = props.hasNoneOption,
|
40
|
-
hasDisabledFirstOption = props.hasDisabledFirstOption,
|
41
|
-
firstLabel = props.firstLabel,
|
42
|
-
noneLabel = props.noneLabel,
|
43
|
-
defaultValue = props.defaultValue,
|
44
|
-
value = props.value,
|
45
|
-
others = (0, _objectWithoutProperties2["default"])(props, ["className", "children", "hasNoneOption", "hasDisabledFirstOption", "firstLabel", "noneLabel", "defaultValue", "value"]);
|
46
|
-
var dropdownRef = (0, _react.useRef)();
|
47
|
-
/* istanbul ignore next */
|
48
|
-
|
49
|
-
(0, _react.useImperativeHandle)(ref, function () {
|
50
|
-
return dropdownRef.current;
|
51
|
-
});
|
52
|
-
|
53
|
-
var _useFocusRing = (0, _focus.useFocusRing)(),
|
54
|
-
isFocusVisible = _useFocusRing.isFocusVisible,
|
55
|
-
focusProps = _useFocusRing.focusProps;
|
56
|
-
|
57
|
-
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
58
|
-
isFocused: isFocusVisible
|
59
|
-
}),
|
60
|
-
classNames = _useStatusClasses.classNames;
|
61
|
-
|
62
|
-
return (0, _react2.jsx)(_forms.Select, (0, _extends2["default"])({
|
63
|
-
ref: dropdownRef,
|
64
|
-
className: classNames,
|
65
|
-
defaultValue: value ? undefined : defaultValue || '',
|
66
|
-
value: value
|
67
|
-
}, others, focusProps), !hasNoneOption && (0, _react2.jsx)("option", {
|
68
|
-
key: "__empty",
|
69
|
-
value: "",
|
70
|
-
disabled: hasDisabledFirstOption
|
71
|
-
}, firstLabel), hasNoneOption && (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)("option", {
|
72
|
-
key: "__empty",
|
73
|
-
value: "",
|
74
|
-
disabled: hasDisabledFirstOption
|
75
|
-
}, noneLabel || firstLabel), (0, _react2.jsx)("option", {
|
76
|
-
key: "__spacer",
|
77
|
-
disabled: true
|
78
|
-
}, "--------")), children);
|
79
|
-
});
|
80
|
-
|
81
|
-
Dropdown.propTypes = {
|
82
|
-
/** Displays a none option within the dropdown options */
|
83
|
-
hasNoneOption: _propTypes["default"].bool,
|
84
|
-
|
85
|
-
/** Whether the first option is disabled. Useful to prevent reselection of the first option. */
|
86
|
-
hasDisabledFirstOption: _propTypes["default"].bool,
|
87
|
-
|
88
|
-
/** Id of the selected element */
|
89
|
-
id: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
90
|
-
|
91
|
-
/** Label for first option. */
|
92
|
-
firstLabel: _propTypes["default"].string,
|
93
|
-
|
94
|
-
/** Label for none option. `firstLabel` prop can also be used. */
|
95
|
-
noneLabel: _propTypes["default"].string,
|
96
|
-
|
97
|
-
/** Value of the select (controlled). */
|
98
|
-
value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
99
|
-
|
100
|
-
/** Default value of the select (uncontrolled). */
|
101
|
-
defaultValue: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
102
|
-
|
103
|
-
/** Handler that is called when the element's selection state changes. */
|
104
|
-
onChange: _propTypes["default"].func
|
105
|
-
};
|
106
|
-
Dropdown.defaultProps = {
|
107
|
-
hasNoneOption: false,
|
108
|
-
firstLabel: 'Select an option'
|
109
|
-
};
|
110
|
-
Dropdown.displayName = 'Dropdown';
|
111
|
-
var _default = Dropdown;
|
112
|
-
exports["default"] = _default;
|
@@ -1,80 +0,0 @@
|
|
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 _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
|
10
|
-
|
11
|
-
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
12
|
-
|
13
|
-
var _ = _interopRequireDefault(require("."));
|
14
|
-
|
15
|
-
var _react2 = require("@emotion/react");
|
16
|
-
|
17
|
-
var testId = 'test-box';
|
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
|
-
var children = props.children;
|
25
|
-
return (0, _testWrapper.render)((0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props), children));
|
26
|
-
}; // Need to be added to each test file to test accessibility using axe.
|
27
|
-
|
28
|
-
|
29
|
-
(0, _testAxe["default"])(getComponent, {
|
30
|
-
// Dropdown with label provided by DropdownField
|
31
|
-
rules: {
|
32
|
-
'select-name': {
|
33
|
-
enabled: false
|
34
|
-
}
|
35
|
-
}
|
36
|
-
});
|
37
|
-
test('dropdown renders', function () {
|
38
|
-
getComponent();
|
39
|
-
|
40
|
-
var dropdown = _testWrapper.screen.getByTestId(testId);
|
41
|
-
|
42
|
-
expect(dropdown).toBeInstanceOf(HTMLSelectElement);
|
43
|
-
expect(dropdown).toBeInTheDocument();
|
44
|
-
});
|
45
|
-
test('hasNoneOption prop renders none option', function () {
|
46
|
-
getComponent({
|
47
|
-
hasNoneOption: true,
|
48
|
-
noneLabel: 'None'
|
49
|
-
});
|
50
|
-
expect((0, _testWrapper.within)(document).getByText('None')).toBeInTheDocument();
|
51
|
-
});
|
52
|
-
test('default option is first one', function () {
|
53
|
-
getComponent();
|
54
|
-
|
55
|
-
var firstOption = _testWrapper.screen.getByRole('option');
|
56
|
-
|
57
|
-
expect(firstOption.value).toEqual('');
|
58
|
-
expect(firstOption).toHaveAttribute('selected', '');
|
59
|
-
expect(firstOption).toBeEnabled();
|
60
|
-
});
|
61
|
-
test('default option is disabled when hasDisabledFirstOption is passed in', function () {
|
62
|
-
getComponent({
|
63
|
-
hasDisabledFirstOption: true
|
64
|
-
});
|
65
|
-
|
66
|
-
var firstOption = _testWrapper.screen.getByRole('option');
|
67
|
-
|
68
|
-
expect(firstOption.value).toEqual('');
|
69
|
-
expect(firstOption).toHaveAttribute('selected', '');
|
70
|
-
expect(firstOption).toBeDisabled();
|
71
|
-
});
|
72
|
-
test('default option is not first one when custom defaultValue is passed in', function () {
|
73
|
-
getComponent({
|
74
|
-
defaultValue: '1'
|
75
|
-
});
|
76
|
-
|
77
|
-
var firstOption = _testWrapper.screen.getByRole('option');
|
78
|
-
|
79
|
-
expect(firstOption).not.toHaveAttribute('selected', '');
|
80
|
-
});
|