@pingux/astro 1.41.0-alpha.1 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/NOTICE.html +4707 -0
- package/lib/Patterns/AttributeMappingDisplayViewPattern.stories.hidden.js +138 -0
- package/lib/Patterns/AttributeMappingEditViewPattern.stories.hidden.js +145 -0
- package/lib/Patterns/ListAndPanelPattern.stories.hidden.js +381 -0
- package/lib/Patterns/MessagesPattern.stories.hidden.js +69 -0
- package/lib/Patterns/SaveBarPattern.stories.hidden.js +80 -0
- package/lib/Patterns/UnsavedChangesPattern.stories.hidden.js +106 -0
- package/lib/cjs/Patterns/AttributeMappingDisplayViewPattern.stories.hidden.js +158 -0
- package/lib/cjs/Patterns/AttributeMappingEditViewPattern.stories.hidden.js +167 -0
- package/lib/cjs/Patterns/ListAndPanelPattern.stories.hidden.js +418 -0
- package/lib/cjs/Patterns/MessagesPattern.stories.hidden.js +99 -0
- package/lib/cjs/Patterns/SaveBarPattern.stories.hidden.js +109 -0
- package/lib/cjs/Patterns/UnsavedChangesPattern.stories.hidden.js +136 -0
- package/lib/cjs/components/Bracket/Bracket.stories.js +1 -3
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +1 -1
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +2 -18
- package/lib/cjs/components/Card/Card.js +117 -2
- package/lib/cjs/components/Card/Card.stories.js +45 -17
- package/lib/cjs/components/Card/Card.test.js +50 -0
- package/lib/cjs/components/ComboBoxField/ComboBoxField.stories.js +13 -1
- package/lib/cjs/components/ComboBoxField/ComboBoxField.test.js +75 -4
- package/lib/cjs/components/DataTable/DataTable.js +56 -12
- package/lib/cjs/components/DataTable/DataTable.stories.js +84 -17
- package/lib/cjs/components/DataTable/DataTable.test.js +38 -6
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +1 -1
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +18 -3
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +19 -5
- package/lib/cjs/components/Image/Image.stories.js +2 -2
- package/lib/cjs/components/ListBox/ListBoxSection.js +8 -1
- package/lib/cjs/components/ListView/ListView.stories.js +6 -4
- package/lib/cjs/components/OverlayPanel/OverlayPanel.stories.js +2 -1
- package/lib/cjs/components/SelectField/SelectField.stories.js +13 -1
- package/lib/cjs/components/SelectField/SelectField.test.js +75 -0
- package/lib/cjs/recipes/ConditionalFilter.stories.js +0 -1
- package/lib/cjs/recipes/ScrollableListView.stories.js +3 -2
- package/lib/cjs/recipes/TrialExperienceIndustryButtons.stories.js +4 -8
- package/lib/cjs/styles/variants/boxes.js +6 -6
- package/lib/cjs/utils/devUtils/constants/text.js +11 -0
- package/lib/components/Bracket/Bracket.stories.js +1 -3
- package/lib/components/Breadcrumbs/Breadcrumbs.js +1 -1
- package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +0 -13
- package/lib/components/Card/Card.js +110 -2
- package/lib/components/Card/Card.stories.js +35 -10
- package/lib/components/Card/Card.test.js +36 -0
- package/lib/components/ComboBoxField/ComboBoxField.stories.js +13 -1
- package/lib/components/ComboBoxField/ComboBoxField.test.js +70 -5
- package/lib/components/DataTable/DataTable.js +56 -12
- package/lib/components/DataTable/DataTable.stories.js +75 -17
- package/lib/components/DataTable/DataTable.test.js +36 -6
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +1 -1
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +18 -3
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +16 -5
- package/lib/components/Image/Image.stories.js +2 -2
- package/lib/components/ListBox/ListBoxSection.js +7 -2
- package/lib/components/ListView/ListView.stories.js +6 -4
- package/lib/components/OverlayPanel/OverlayPanel.stories.js +2 -1
- package/lib/components/SelectField/SelectField.stories.js +13 -1
- package/lib/components/SelectField/SelectField.test.js +68 -1
- package/lib/recipes/ConditionalFilter.stories.js +0 -1
- package/lib/recipes/ScrollableListView.stories.js +3 -2
- package/lib/recipes/TrialExperienceIndustryButtons.stories.js +4 -8
- package/lib/styles/variants/boxes.js +6 -6
- package/lib/utils/devUtils/constants/text.js +1 -0
- package/package.json +1 -1
@@ -0,0 +1,136 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
4
|
+
|
5
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
6
|
+
|
7
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
|
+
|
9
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
10
|
+
|
11
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
12
|
+
|
13
|
+
_Object$defineProperty(exports, "__esModule", {
|
14
|
+
value: true
|
15
|
+
});
|
16
|
+
|
17
|
+
exports["default"] = exports.Default = void 0;
|
18
|
+
|
19
|
+
var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
|
20
|
+
|
21
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
22
|
+
|
23
|
+
var _react = _interopRequireWildcard(require("react"));
|
24
|
+
|
25
|
+
var _hooks = require("../hooks");
|
26
|
+
|
27
|
+
var _index = require("../index");
|
28
|
+
|
29
|
+
var _react2 = require("@emotion/react");
|
30
|
+
|
31
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
32
|
+
|
33
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
34
|
+
|
35
|
+
var _default = {
|
36
|
+
title: 'Design Patterns/Unsaved Changes'
|
37
|
+
};
|
38
|
+
exports["default"] = _default;
|
39
|
+
|
40
|
+
var Default = function Default() {
|
41
|
+
var state = (0, _hooks.useModalState)();
|
42
|
+
|
43
|
+
var _useState = (0, _react.useState)(''),
|
44
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
45
|
+
value = _useState2[0],
|
46
|
+
setValue = _useState2[1];
|
47
|
+
|
48
|
+
var _useState3 = (0, _react.useState)(false),
|
49
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
50
|
+
isShowingNeutral = _useState4[0],
|
51
|
+
setIsShowingNeutral = _useState4[1];
|
52
|
+
|
53
|
+
var _useState5 = (0, _react.useState)(null),
|
54
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
55
|
+
isShowingSuccess = _useState6[0],
|
56
|
+
setIsShowingSuccess = _useState6[1];
|
57
|
+
|
58
|
+
var closeModalAndClearInput = function closeModalAndClearInput() {
|
59
|
+
setValue('');
|
60
|
+
state.close();
|
61
|
+
setIsShowingNeutral(true);
|
62
|
+
(0, _setTimeout2["default"])(function () {
|
63
|
+
return setIsShowingNeutral(false);
|
64
|
+
}, 3000);
|
65
|
+
};
|
66
|
+
|
67
|
+
var closeModalAndShowSuccess = function closeModalAndShowSuccess() {
|
68
|
+
setValue('');
|
69
|
+
state.close();
|
70
|
+
setIsShowingSuccess(true);
|
71
|
+
(0, _setTimeout2["default"])(function () {
|
72
|
+
return setIsShowingSuccess(null);
|
73
|
+
}, 3000);
|
74
|
+
};
|
75
|
+
|
76
|
+
var sx = {
|
77
|
+
mainContentBox: {
|
78
|
+
p: 'xx'
|
79
|
+
},
|
80
|
+
textFieldBoxStyle: {
|
81
|
+
p: 'sm'
|
82
|
+
},
|
83
|
+
modalTextSaveChanges: {
|
84
|
+
mb: 'lg',
|
85
|
+
fontWeight: '0',
|
86
|
+
fontSize: 'xx',
|
87
|
+
lineHeight: '23px'
|
88
|
+
},
|
89
|
+
modalTextSaveOrDiscard: {
|
90
|
+
mb: 'lg',
|
91
|
+
fontSize: 'md',
|
92
|
+
lineHeight: '17.89px',
|
93
|
+
fontWeight: '0'
|
94
|
+
}
|
95
|
+
};
|
96
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Box, {
|
97
|
+
sx: sx.mainContentBox,
|
98
|
+
gap: "lg"
|
99
|
+
}, (0, _react2.jsx)(_index.Box, {
|
100
|
+
sx: sx.textFieldBoxStyle,
|
101
|
+
gap: "lg"
|
102
|
+
}, (0, _react2.jsx)(_index.TextField, {
|
103
|
+
label: "Place Holder",
|
104
|
+
onChange: function onChange(e) {
|
105
|
+
return setValue(e.target.value);
|
106
|
+
},
|
107
|
+
value: value
|
108
|
+
})), (0, _react2.jsx)(_index.Link, {
|
109
|
+
onPress: state.open,
|
110
|
+
"aria-label": "Open modal"
|
111
|
+
}, "Go Somewhere Else")), state.isOpen && (0, _react2.jsx)(_index.Modal, {
|
112
|
+
isOpen: state.isOpen,
|
113
|
+
onClose: state.close,
|
114
|
+
hasCloseButton: true
|
115
|
+
}, (0, _react2.jsx)(_index.Text, {
|
116
|
+
sx: sx.modalTextSaveChanges,
|
117
|
+
variant: "Bold"
|
118
|
+
}, "Save Changes?"), (0, _react2.jsx)(_index.Text, {
|
119
|
+
sx: sx.modalTextSaveOrDiscard
|
120
|
+
}, "Save or discard your changes before leaving this page."), (0, _react2.jsx)(_index.Box, {
|
121
|
+
isRow: true,
|
122
|
+
gap: "md"
|
123
|
+
}, (0, _react2.jsx)(_index.Button, {
|
124
|
+
variant: "primary",
|
125
|
+
onPress: closeModalAndShowSuccess
|
126
|
+
}, "Save"), (0, _react2.jsx)(_index.Button, {
|
127
|
+
onPress: closeModalAndClearInput
|
128
|
+
}, "Discard Changes"), (0, _react2.jsx)(_index.Button, {
|
129
|
+
variant: "link",
|
130
|
+
onPress: state.close
|
131
|
+
}, "Cancel"))), (0, _react2.jsx)(_index.Messages, null, isShowingNeutral && (0, _react2.jsx)(_index.Item, null, "Changes have been Discarded."), isShowingSuccess && (0, _react2.jsx)(_index.Item, {
|
132
|
+
status: "success"
|
133
|
+
}, "Form has been saved successfully."))));
|
134
|
+
};
|
135
|
+
|
136
|
+
exports.Default = Default;
|
@@ -61,8 +61,7 @@ var Default = function Default() {
|
|
61
61
|
ml: "sm",
|
62
62
|
bg: "background"
|
63
63
|
}, (0, _react2.jsx)(_index.Box, {
|
64
|
-
isRow: true
|
65
|
-
mb: "xs"
|
64
|
+
isRow: true
|
66
65
|
}, (0, _react2.jsx)(_index.Chip, {
|
67
66
|
label: "Any",
|
68
67
|
bg: "neutral.20",
|
@@ -77,7 +76,6 @@ var Default = function Default() {
|
|
77
76
|
isLast: index === anyConditions.length - 1
|
78
77
|
}), (0, _react2.jsx)(_index.Box, {
|
79
78
|
mt: "md",
|
80
|
-
ml: "xs",
|
81
79
|
variant: "forms.input.container",
|
82
80
|
bg: "white",
|
83
81
|
isRow: true,
|
@@ -90,7 +90,7 @@ var Breadcrumbs = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
90
90
|
"aria-hidden": "true",
|
91
91
|
icon: icon,
|
92
92
|
mx: 5,
|
93
|
-
size:
|
93
|
+
size: "xs"
|
94
94
|
}, iconProps)));
|
95
95
|
}, [children.length, filteredChildren, icon, iconProps, onAction]);
|
96
96
|
return (0, _react2.jsx)("nav", {
|
@@ -8,7 +8,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
9
9
|
});
|
10
10
|
|
11
|
-
exports["default"] = exports.
|
11
|
+
exports["default"] = exports.Default = void 0;
|
12
12
|
|
13
13
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
14
14
|
|
@@ -86,20 +86,4 @@ var Default = function Default(args) {
|
|
86
86
|
}, "March 2020 Assets"));
|
87
87
|
};
|
88
88
|
|
89
|
-
exports.Default = Default;
|
90
|
-
|
91
|
-
var WithSpan = function WithSpan() {
|
92
|
-
return (0, _react2.jsx)(_Breadcrumbs["default"], {
|
93
|
-
icon: _ChevronRightIcon["default"]
|
94
|
-
}, (0, _react2.jsx)(_collections.Item, {
|
95
|
-
key: "Parent",
|
96
|
-
"aria-label": "parent",
|
97
|
-
elementType: "span"
|
98
|
-
}, "Parent"), (0, _react2.jsx)(_collections.Item, {
|
99
|
-
key: "FonsVernall",
|
100
|
-
"aria-label": "fons-vernall",
|
101
|
-
elementType: "span"
|
102
|
-
}, "Fons Vernall"));
|
103
|
-
};
|
104
|
-
|
105
|
-
exports.WithSpan = WithSpan;
|
89
|
+
exports.Default = Default;
|
@@ -18,12 +18,26 @@ exports["default"] = void 0;
|
|
18
18
|
|
19
19
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
20
20
|
|
21
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
22
|
+
|
21
23
|
var _react = _interopRequireWildcard(require("react"));
|
22
24
|
|
25
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
26
|
+
|
27
|
+
var _utils = require("@react-aria/utils");
|
28
|
+
|
29
|
+
var _interactions = require("@react-aria/interactions");
|
30
|
+
|
31
|
+
var _focus = require("@react-aria/focus");
|
32
|
+
|
23
33
|
var _Box = _interopRequireDefault(require("../Box"));
|
24
34
|
|
35
|
+
var _hooks = require("../../hooks");
|
36
|
+
|
25
37
|
var _react2 = require("@emotion/react");
|
26
38
|
|
39
|
+
var _excluded = ["className", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp"];
|
40
|
+
|
27
41
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
28
42
|
|
29
43
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
@@ -33,11 +47,112 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
33
47
|
* See Box for list of props.
|
34
48
|
*/
|
35
49
|
var Card = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
50
|
+
var className = props.className,
|
51
|
+
onHoverStart = props.onHoverStart,
|
52
|
+
onHoverChange = props.onHoverChange,
|
53
|
+
onHoverEnd = props.onHoverEnd,
|
54
|
+
onPress = props.onPress,
|
55
|
+
onPressStart = props.onPressStart,
|
56
|
+
onPressEnd = props.onPressEnd,
|
57
|
+
onPressChange = props.onPressChange,
|
58
|
+
onPressUp = props.onPressUp,
|
59
|
+
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
60
|
+
|
61
|
+
var _useHover = (0, _interactions.useHover)(props),
|
62
|
+
hoverProps = _useHover.hoverProps,
|
63
|
+
isHovered = _useHover.isHovered;
|
64
|
+
|
65
|
+
var _useFocusRing = (0, _focus.useFocusRing)(),
|
66
|
+
focusProps = _useFocusRing.focusProps,
|
67
|
+
isFocusVisible = _useFocusRing.isFocusVisible;
|
68
|
+
|
69
|
+
var _usePress = (0, _interactions.usePress)({
|
70
|
+
ref: ref,
|
71
|
+
onPress: onPress,
|
72
|
+
onPressStart: onPressStart,
|
73
|
+
onPressEnd: onPressEnd,
|
74
|
+
onPressChange: onPressChange,
|
75
|
+
onPressUp: onPressUp
|
76
|
+
}),
|
77
|
+
pressProps = _usePress.pressProps,
|
78
|
+
isPressed = _usePress.isPressed;
|
79
|
+
|
80
|
+
var _useFocusRing2 = (0, _focus.useFocusRing)({
|
81
|
+
within: true
|
82
|
+
}),
|
83
|
+
focusWithinProps = _useFocusRing2.focusProps,
|
84
|
+
isFocusedWithin = _useFocusRing2.isFocusVisible;
|
85
|
+
|
86
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
87
|
+
isHovered: isHovered,
|
88
|
+
isPressed: isPressed,
|
89
|
+
isFocused: isFocusVisible || isFocusedWithin
|
90
|
+
}),
|
91
|
+
classNames = _useStatusClasses.classNames;
|
92
|
+
|
93
|
+
var ariaLabel = props['aria-label'];
|
36
94
|
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
95
|
+
"aria-label": ariaLabel,
|
37
96
|
variant: "boxes.card",
|
38
|
-
|
39
|
-
|
97
|
+
className: classNames,
|
98
|
+
ref: ref,
|
99
|
+
isFocused: isFocusVisible
|
100
|
+
}, others, (0, _utils.mergeProps)(hoverProps, pressProps, focusProps, focusWithinProps)));
|
40
101
|
});
|
102
|
+
Card.propTypes = {
|
103
|
+
/** Defines a string value that labels the current element. */
|
104
|
+
'aria-label': _propTypes["default"].string,
|
105
|
+
|
106
|
+
/**
|
107
|
+
* Handler that is called when a hover interaction starts.
|
108
|
+
* (e: HoverEvent) => void
|
109
|
+
*/
|
110
|
+
onHoverStart: _propTypes["default"].func,
|
111
|
+
|
112
|
+
/**
|
113
|
+
* Handler that is called when a hover interaction ends.
|
114
|
+
* (e: HoverEvent) => void
|
115
|
+
*/
|
116
|
+
onHoverEnd: _propTypes["default"].func,
|
117
|
+
|
118
|
+
/**
|
119
|
+
* Handler that is called when the hover state changes.
|
120
|
+
* (isHovering: boolean) => void
|
121
|
+
*/
|
122
|
+
onHoverChange: _propTypes["default"].func,
|
123
|
+
|
124
|
+
/**
|
125
|
+
* Handler that is called when the press is released over the target.
|
126
|
+
* (e: PressEvent) => void
|
127
|
+
*/
|
128
|
+
onPress: _propTypes["default"].func,
|
129
|
+
|
130
|
+
/**
|
131
|
+
* Handler that is called when a press interaction starts.
|
132
|
+
* (e: PressEvent) => void
|
133
|
+
*/
|
134
|
+
onPressStart: _propTypes["default"].func,
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Handler that is called when a press interaction ends, either over the target or when the
|
138
|
+
* pointer leaves the target.
|
139
|
+
* (e: PressEvent) => void
|
140
|
+
*/
|
141
|
+
onPressEnd: _propTypes["default"].func,
|
142
|
+
|
143
|
+
/**
|
144
|
+
* Handler that is called when the press state changes.
|
145
|
+
* (isPressed: boolean) => void
|
146
|
+
*/
|
147
|
+
onPressChange: _propTypes["default"].func,
|
148
|
+
|
149
|
+
/**
|
150
|
+
* Handler that is called when a press is released over the target, regardless of whether it
|
151
|
+
* started on the target or not.
|
152
|
+
* (e: PressEvent) => void
|
153
|
+
*/
|
154
|
+
onPressUp: _propTypes["default"].func
|
155
|
+
};
|
41
156
|
Card.displayName = 'Card';
|
42
157
|
var _default = Card;
|
43
158
|
exports["default"] = _default;
|
@@ -8,23 +8,23 @@ _Object$defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
9
9
|
});
|
10
10
|
|
11
|
-
exports["default"] = exports.Default = exports.CardRow = void 0;
|
11
|
+
exports["default"] = exports.InteractiveCard = exports.Default = exports.CardRow = void 0;
|
12
12
|
|
13
|
-
var
|
13
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
14
14
|
|
15
|
-
var
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
16
16
|
|
17
|
-
var
|
17
|
+
var _index = require("../../index");
|
18
18
|
|
19
19
|
var _react2 = require("@emotion/react");
|
20
20
|
|
21
21
|
var _default = {
|
22
22
|
title: 'Components/Card',
|
23
|
-
component:
|
23
|
+
component: _index.Card,
|
24
24
|
argTypes: {
|
25
25
|
children: {
|
26
26
|
description: 'Card content.',
|
27
|
-
defaultValue: '
|
27
|
+
defaultValue: 'Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut at enim nunc. Cras congue consequat odio, ac sodales lacus imperdiet quis. In id ex eu lorem sollicitudin hendrerit feugiat ultrices elit. Curabitur imperdiet libero vitae luctus blandit. Ut ac dignissim tortor. Pellentesque convallis eu metus vitae mollis. Donec sapien felis, laoreet eu egestas eu, blandit quis tellus. Donec luctus suscipit nibh, et tincidunt nisl facilisis ut. Mauris molestie purus at lectus venenatis, ac ultrices felis ultrices.',
|
28
28
|
table: {
|
29
29
|
type: {}
|
30
30
|
},
|
@@ -37,12 +37,12 @@ var _default = {
|
|
37
37
|
exports["default"] = _default;
|
38
38
|
|
39
39
|
var Default = function Default(args) {
|
40
|
-
return (0, _react2.jsx)(
|
40
|
+
return (0, _react2.jsx)(_index.Card, args);
|
41
41
|
};
|
42
42
|
|
43
43
|
exports.Default = Default;
|
44
44
|
|
45
|
-
var CardRow = function CardRow() {
|
45
|
+
var CardRow = function CardRow(args) {
|
46
46
|
var sx = {
|
47
47
|
li: {
|
48
48
|
display: 'inline',
|
@@ -53,27 +53,55 @@ var CardRow = function CardRow() {
|
|
53
53
|
display: 'block'
|
54
54
|
}
|
55
55
|
};
|
56
|
-
return (0, _react2.jsx)(
|
56
|
+
return (0, _react2.jsx)(_index.Box, {
|
57
57
|
isRow: true,
|
58
58
|
gap: "md",
|
59
59
|
as: "ul",
|
60
60
|
pl: "0px"
|
61
|
-
}, (0, _react2.jsx)(
|
61
|
+
}, (0, _react2.jsx)(_index.Box, {
|
62
62
|
as: "li",
|
63
63
|
sx: sx.li
|
64
|
-
}, (0, _react2.jsx)(
|
64
|
+
}, (0, _react2.jsx)(_index.Card, (0, _extends2["default"])({
|
65
65
|
sx: sx.card
|
66
|
-
},
|
66
|
+
}, args))), (0, _react2.jsx)(_index.Box, {
|
67
67
|
as: "li",
|
68
68
|
sx: sx.li
|
69
|
-
}, (0, _react2.jsx)(
|
69
|
+
}, (0, _react2.jsx)(_index.Card, (0, _extends2["default"])({
|
70
70
|
sx: sx.card
|
71
|
-
},
|
71
|
+
}, args))), (0, _react2.jsx)(_index.Box, {
|
72
72
|
as: "li",
|
73
73
|
sx: sx.li
|
74
|
-
}, (0, _react2.jsx)(
|
74
|
+
}, (0, _react2.jsx)(_index.Card, (0, _extends2["default"])({
|
75
75
|
sx: sx.card
|
76
|
-
},
|
76
|
+
}, args))));
|
77
|
+
};
|
78
|
+
|
79
|
+
exports.CardRow = CardRow;
|
80
|
+
|
81
|
+
var InteractiveCard = function InteractiveCard() {
|
82
|
+
var sx = {
|
83
|
+
alignContent: 'center',
|
84
|
+
height: '221px',
|
85
|
+
justifyContent: 'center',
|
86
|
+
textAlign: 'center',
|
87
|
+
width: '233px'
|
88
|
+
};
|
89
|
+
return (0, _react2.jsx)(_index.Card, {
|
90
|
+
onPress: function onPress() {
|
91
|
+
return console.log('card pressed');
|
92
|
+
},
|
93
|
+
onHoverStart: function onHoverStart() {
|
94
|
+
return console.log('card hovered');
|
95
|
+
},
|
96
|
+
tabIndex: "0",
|
97
|
+
sx: sx
|
98
|
+
}, "Interactive Card", (0, _react2.jsx)(_index.Button, {
|
99
|
+
variant: "inline",
|
100
|
+
mt: "md",
|
101
|
+
onPress: function onPress() {
|
102
|
+
return console.log('button pressed');
|
103
|
+
}
|
104
|
+
}, "Explore"));
|
77
105
|
};
|
78
106
|
|
79
|
-
exports.
|
107
|
+
exports.InteractiveCard = InteractiveCard;
|
@@ -8,6 +8,8 @@ var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
|
9
9
|
var _react2 = require("@testing-library/react");
|
10
10
|
|
11
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
12
|
+
|
11
13
|
var _Card = _interopRequireDefault(require("./Card"));
|
12
14
|
|
13
15
|
var _Button = _interopRequireDefault(require("../Button"));
|
@@ -45,4 +47,52 @@ test('renders children within Card component', function () {
|
|
45
47
|
var mockedChildren = _react2.screen.getByRole('button');
|
46
48
|
|
47
49
|
expect(mockedChildren).toBeInTheDocument();
|
50
|
+
});
|
51
|
+
test('card allows hover, focus, and press events', function () {
|
52
|
+
var children = (0, _react3.jsx)(_Button["default"], null);
|
53
|
+
var onPress = jest.fn();
|
54
|
+
getComponent({
|
55
|
+
children: children,
|
56
|
+
onPress: onPress,
|
57
|
+
tabIndex: 0
|
58
|
+
});
|
59
|
+
|
60
|
+
var card = _react2.screen.getByTestId(testId);
|
61
|
+
|
62
|
+
expect(card).not.toHaveClass('is-hovered');
|
63
|
+
|
64
|
+
_userEvent["default"].hover(card);
|
65
|
+
|
66
|
+
expect(card).toHaveClass('is-hovered');
|
67
|
+
|
68
|
+
_userEvent["default"].click(card);
|
69
|
+
|
70
|
+
expect(onPress).toHaveBeenCalled();
|
71
|
+
expect(card).not.toHaveClass('is-focused');
|
72
|
+
|
73
|
+
_userEvent["default"].tab();
|
74
|
+
|
75
|
+
expect(card).toHaveClass('is-focused');
|
76
|
+
});
|
77
|
+
test('allows focus within card', function () {
|
78
|
+
var children = (0, _react3.jsx)(_Button["default"], null);
|
79
|
+
getComponent({
|
80
|
+
children: children,
|
81
|
+
tabIndex: 0
|
82
|
+
});
|
83
|
+
|
84
|
+
var button = _react2.screen.getByRole('button');
|
85
|
+
|
86
|
+
var card = _react2.screen.getByTestId(testId);
|
87
|
+
|
88
|
+
expect(button).not.toHaveClass('is-focused');
|
89
|
+
|
90
|
+
_userEvent["default"].tab();
|
91
|
+
|
92
|
+
expect(button).not.toHaveClass('is-focused');
|
93
|
+
expect(card).toHaveClass('is-focused');
|
94
|
+
|
95
|
+
_userEvent["default"].tab();
|
96
|
+
|
97
|
+
expect(button).toHaveClass('is-focused');
|
48
98
|
});
|
@@ -134,6 +134,7 @@ var animals = [{
|
|
134
134
|
}];
|
135
135
|
var withSection = [{
|
136
136
|
name: 'Animals',
|
137
|
+
key: 'Animals',
|
137
138
|
children: [{
|
138
139
|
name: 'Raccoon'
|
139
140
|
}, {
|
@@ -143,6 +144,7 @@ var withSection = [{
|
|
143
144
|
}]
|
144
145
|
}, {
|
145
146
|
name: 'People',
|
147
|
+
key: 'People',
|
146
148
|
children: [{
|
147
149
|
name: 'Michael'
|
148
150
|
}, {
|
@@ -150,6 +152,16 @@ var withSection = [{
|
|
150
152
|
}, {
|
151
153
|
name: 'Creed'
|
152
154
|
}]
|
155
|
+
}, {
|
156
|
+
name: null,
|
157
|
+
key: 'fruit',
|
158
|
+
children: [{
|
159
|
+
name: 'Apple'
|
160
|
+
}, {
|
161
|
+
name: 'Orange'
|
162
|
+
}, {
|
163
|
+
name: 'Banana'
|
164
|
+
}]
|
153
165
|
}];
|
154
166
|
var actions = {
|
155
167
|
onOpenChange: (0, _addonActions.action)('onOpenChange'),
|
@@ -243,7 +255,7 @@ var WithSections = function WithSections(args) {
|
|
243
255
|
items: withSection
|
244
256
|
}, args), function (section) {
|
245
257
|
return (0, _react2.jsx)(_.Section, {
|
246
|
-
key: section.
|
258
|
+
key: section.key,
|
247
259
|
items: section.children,
|
248
260
|
title: section.name
|
249
261
|
}, function (item) {
|
@@ -82,6 +82,37 @@ var items = [{
|
|
82
82
|
name: 'Snake',
|
83
83
|
id: '3'
|
84
84
|
}];
|
85
|
+
var withSection = [{
|
86
|
+
name: 'Animals',
|
87
|
+
key: 'Animals',
|
88
|
+
kids: [{
|
89
|
+
name: 'Raccoon'
|
90
|
+
}, {
|
91
|
+
name: 'Kangaroo'
|
92
|
+
}, {
|
93
|
+
name: 'Opossum'
|
94
|
+
}]
|
95
|
+
}, {
|
96
|
+
name: 'People',
|
97
|
+
key: 'People',
|
98
|
+
kids: [{
|
99
|
+
name: 'Michael'
|
100
|
+
}, {
|
101
|
+
name: 'Dwight'
|
102
|
+
}, {
|
103
|
+
name: 'Creed'
|
104
|
+
}]
|
105
|
+
}, {
|
106
|
+
name: null,
|
107
|
+
key: 'fruit',
|
108
|
+
kids: [{
|
109
|
+
name: 'Apple'
|
110
|
+
}, {
|
111
|
+
name: 'Orange'
|
112
|
+
}, {
|
113
|
+
name: 'Banana'
|
114
|
+
}]
|
115
|
+
}];
|
85
116
|
var defaultProps = {
|
86
117
|
defaultItems: items,
|
87
118
|
label: 'Test Label'
|
@@ -102,6 +133,28 @@ var getComponent = function getComponent() {
|
|
102
133
|
})));
|
103
134
|
};
|
104
135
|
|
136
|
+
var getComponentWithSections = function getComponentWithSections() {
|
137
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
138
|
+
|
139
|
+
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
140
|
+
_ref2$renderFn = _ref2.renderFn,
|
141
|
+
renderFn = _ref2$renderFn === void 0 ? _testWrapper.render : _ref2$renderFn;
|
142
|
+
|
143
|
+
return renderFn((0, _react3.jsx)(_index.OverlayProvider, null, (0, _react3.jsx)(_index.ComboBoxField, (0, _extends2["default"])({}, defaultProps, props, {
|
144
|
+
items: withSection
|
145
|
+
}), function (section) {
|
146
|
+
return (0, _react3.jsx)(_index.Section, {
|
147
|
+
key: section.key,
|
148
|
+
items: section.kids,
|
149
|
+
title: section.name
|
150
|
+
}, function (item) {
|
151
|
+
return (0, _react3.jsx)(_index.Item, {
|
152
|
+
key: item.name
|
153
|
+
}, item.name);
|
154
|
+
});
|
155
|
+
})));
|
156
|
+
};
|
157
|
+
|
105
158
|
var ComboBoxWithCustomFilter = function ComboBoxWithCustomFilter() {
|
106
159
|
var _useFilter = (0, _i18n.useFilter)({
|
107
160
|
sensitivity: 'base'
|
@@ -118,8 +171,8 @@ var ComboBoxWithCustomFilter = function ComboBoxWithCustomFilter() {
|
|
118
171
|
setFieldState = _useState2[1];
|
119
172
|
|
120
173
|
var onSelectionChange = function onSelectionChange(key) {
|
121
|
-
var selectedItem = (0, _filter["default"])(items).call(items, function (
|
122
|
-
var id =
|
174
|
+
var selectedItem = (0, _filter["default"])(items).call(items, function (_ref3) {
|
175
|
+
var id = _ref3.id;
|
123
176
|
return id === key;
|
124
177
|
});
|
125
178
|
setFieldState({
|
@@ -189,8 +242,8 @@ var ComboBoxWithAddOption = function ComboBoxWithAddOption() {
|
|
189
242
|
setSelectedKey = _useState8[1];
|
190
243
|
|
191
244
|
var onSelectionChange = function onSelectionChange(key) {
|
192
|
-
if (key && !(0, _find["default"])(options).call(options, function (
|
193
|
-
var name =
|
245
|
+
if (key && !(0, _find["default"])(options).call(options, function (_ref4) {
|
246
|
+
var name = _ref4.name;
|
194
247
|
return name === key;
|
195
248
|
})) {
|
196
249
|
var _context;
|
@@ -1216,6 +1269,24 @@ test('popover closes on input blur', function () {
|
|
1216
1269
|
expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
|
1217
1270
|
expect(_testWrapper.screen.queryByRole('option')).not.toBeInTheDocument();
|
1218
1271
|
});
|
1272
|
+
test('passing sections, renders separators', function () {
|
1273
|
+
getComponentWithSections();
|
1274
|
+
|
1275
|
+
var button = _testWrapper.screen.getByRole('button');
|
1276
|
+
|
1277
|
+
_userEvent["default"].click(button);
|
1278
|
+
|
1279
|
+
expect(_testWrapper.screen.queryAllByRole('separator')).toHaveLength(4);
|
1280
|
+
});
|
1281
|
+
test('a blank title does not render', function () {
|
1282
|
+
getComponentWithSections();
|
1283
|
+
|
1284
|
+
var button = _testWrapper.screen.getByRole('button');
|
1285
|
+
|
1286
|
+
_userEvent["default"].click(button);
|
1287
|
+
|
1288
|
+
expect(_testWrapper.screen.queryByText('Fruit')).not.toBeInTheDocument();
|
1289
|
+
});
|
1219
1290
|
describe('when isReadOnly is true', function () {
|
1220
1291
|
var testProp = {
|
1221
1292
|
isReadOnly: true
|