@pingux/astro 2.163.1-alpha.1 → 2.163.1-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/ComboBoxField/ComboBoxField.js +7 -3
- package/lib/cjs/components/ListBox/ListBox.js +15 -0
- package/lib/cjs/components/ListBox/ListBox.test.js +14 -1
- package/lib/cjs/components/MenuItem/MenuItem.js +22 -13
- package/lib/cjs/components/MenuItem/MenuItem.styles.d.ts +1 -1
- package/lib/cjs/components/MenuItem/MenuItem.styles.js +1 -1
- package/lib/cjs/components/MenuItem/MenuItem.test.js +217 -194
- package/lib/cjs/components/MenuSection/MenuSection.js +2 -1
- package/lib/cjs/components/PopoverMenu/PopoverMenu.stories.js +57 -33
- package/lib/cjs/components/TimeZonePicker/TimeZonePicker.js +117 -140
- package/lib/cjs/components/TimeZonePicker/TimeZonePicker.test.js +29 -2
- package/lib/cjs/components/TimeZonePicker/helper.d.ts +6 -0
- package/lib/cjs/components/TimeZonePicker/helper.js +59 -0
- package/lib/cjs/components/TimeZonePicker/helper.test.js +79 -0
- package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +2 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/colors.d.ts +3 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/colors.js +3 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/icons.d.ts +1 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +1 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/menu.d.ts +15 -2
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/menu.js +20 -7
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +15 -2
- package/lib/cjs/styles/themeOverrides/onyxSideNav.d.ts +1 -0
- package/lib/cjs/styles/themes/astro/customProperties/icons.d.ts +1 -0
- package/lib/cjs/styles/themes/astro/customProperties/icons.js +1 -1
- package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +1 -0
- package/lib/cjs/styles/themes/next-gen/customProperties/icons.d.ts +1 -0
- package/lib/cjs/styles/themes/next-gen/customProperties/icons.js +1 -1
- package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +1 -0
- package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +34 -2
- package/lib/cjs/styles/themes/next-gen/variants/menu.d.ts +32 -2
- package/lib/cjs/styles/themes/next-gen/variants/menu.js +39 -9
- package/lib/cjs/styles/themes/next-gen/variants/popoverMenu.d.ts +1 -0
- package/lib/cjs/styles/themes/next-gen/variants/popoverMenu.js +1 -0
- package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +33 -2
- package/lib/cjs/styles/themes/next-gen/variants/variants.js +1 -0
- package/lib/cjs/types/listBox.d.ts +1 -1
- package/lib/components/ComboBoxField/ComboBoxField.js +7 -3
- package/lib/components/ListBox/ListBox.js +15 -0
- package/lib/components/ListBox/ListBox.test.js +14 -1
- package/lib/components/MenuItem/MenuItem.js +25 -16
- package/lib/components/MenuItem/MenuItem.styles.js +1 -1
- package/lib/components/MenuItem/MenuItem.test.js +224 -201
- package/lib/components/MenuSection/MenuSection.js +2 -1
- package/lib/components/PopoverMenu/PopoverMenu.stories.js +57 -33
- package/lib/components/TimeZonePicker/TimeZonePicker.js +122 -146
- package/lib/components/TimeZonePicker/TimeZonePicker.test.js +29 -2
- package/lib/components/TimeZonePicker/helper.js +51 -0
- package/lib/components/TimeZonePicker/helper.test.js +76 -0
- package/lib/styles/themeOverrides/nextGenDarkMode/colors.js +3 -0
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/menu.js +20 -7
- package/lib/styles/themes/astro/customProperties/icons.js +1 -1
- package/lib/styles/themes/next-gen/customProperties/icons.js +1 -1
- package/lib/styles/themes/next-gen/variants/menu.js +38 -8
- package/lib/styles/themes/next-gen/variants/popoverMenu.js +1 -0
- package/lib/styles/themes/next-gen/variants/variants.js +2 -1
- package/lib/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -39,7 +39,7 @@ var _ListBox = _interopRequireDefault(require("../ListBox"));
|
|
|
39
39
|
var _PopoverContainer = _interopRequireDefault(require("../PopoverContainer"));
|
|
40
40
|
var _ScrollBox = _interopRequireDefault(require("../ScrollBox"));
|
|
41
41
|
var _react2 = require("@emotion/react");
|
|
42
|
-
var _excluded = ["hasAutoFocus", "hasAddOption", "hasCustomValue", "hasNoEmptySelection", "selectedKey", "onSelectionChange", "defaultItems", "items", "loadingState", "onLoadMore", "inputValue", "isReadOnly", "menuTrigger", "isNotFlippable", "direction", "scrollBoxProps", "controlProps", "defaultFilter", "status", "helperText"],
|
|
42
|
+
var _excluded = ["hasAutoFocus", "hasAddOption", "hasCustomValue", "hasNoEmptySelection", "selectedKey", "onSelectionChange", "defaultItems", "items", "loadingState", "onLoadMore", "inputValue", "isReadOnly", "menuTrigger", "isNotFlippable", "direction", "scrollBoxProps", "controlProps", "defaultFilter", "status", "helperText", "renderEmptyState", "allowsEmptyCollection"],
|
|
43
43
|
_excluded2 = ["shouldFocusOnHover", "shouldSelectOnPressUp", "UNSTABLE_itemBehavior"];
|
|
44
44
|
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
45
45
|
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -66,6 +66,8 @@ var ComboBoxField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
66
66
|
defaultFilter = props.defaultFilter,
|
|
67
67
|
status = props.status,
|
|
68
68
|
helperText = props.helperText,
|
|
69
|
+
renderEmptyState = props.renderEmptyState,
|
|
70
|
+
allowsEmptyCollection = props.allowsEmptyCollection,
|
|
69
71
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
70
72
|
var _getAriaAttributeProp = (0, _ariaAttributes.getAriaAttributeProps)(others),
|
|
71
73
|
nonAriaProps = _getAriaAttributeProp.nonAriaProps;
|
|
@@ -81,7 +83,8 @@ var ComboBoxField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
81
83
|
menuTrigger: menuTrigger,
|
|
82
84
|
shouldFlip: !isNotFlippable,
|
|
83
85
|
direction: direction,
|
|
84
|
-
label: 'default'
|
|
86
|
+
label: 'default',
|
|
87
|
+
allowsEmptyCollection: allowsEmptyCollection
|
|
85
88
|
}, nonAriaProps);
|
|
86
89
|
var popoverRef = (0, _react.useRef)();
|
|
87
90
|
var buttonRef = (0, _react.useRef)();
|
|
@@ -207,7 +210,8 @@ var ComboBoxField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
207
210
|
isLoading: loadingState === _loadingStates["default"].LOADING_MORE,
|
|
208
211
|
onLoadMore: onLoadMore,
|
|
209
212
|
isFocusedOnHover: shouldFocusOnHover,
|
|
210
|
-
isSelectedOnPressUp: shouldSelectOnPressUp
|
|
213
|
+
isSelectedOnPressUp: shouldSelectOnPressUp,
|
|
214
|
+
renderEmptyState: renderEmptyState
|
|
211
215
|
}, otherListBoxProps))), (0, _react2.jsx)(_reactAria.DismissButton, {
|
|
212
216
|
onDismiss: state.close
|
|
213
217
|
})));
|
|
@@ -165,6 +165,18 @@ var ListBox = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
165
165
|
};
|
|
166
166
|
}, [isLoading, onLoadPrev, items]);
|
|
167
167
|
(0, _useLoadPrev["default"])(memoedLoadMoreProps, listBoxRef);
|
|
168
|
+
var EmptyState = function EmptyState() {
|
|
169
|
+
var emptyState = renderEmptyState ? renderEmptyState() : null;
|
|
170
|
+
if (emptyState == null) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
return (0, _react2.jsx)(_Box["default"], {
|
|
174
|
+
as: "li",
|
|
175
|
+
isRow: true,
|
|
176
|
+
role: "option",
|
|
177
|
+
variant: "listBox.option"
|
|
178
|
+
}, emptyState);
|
|
179
|
+
};
|
|
168
180
|
return (0, _react2.jsx)(_ListBoxContext.ListBoxContext.Provider, {
|
|
169
181
|
value: state
|
|
170
182
|
}, (0, _react2.jsx)(_Box["default"], {
|
|
@@ -206,6 +218,9 @@ var ListBox = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
206
218
|
"aria-label": "Loading more..."
|
|
207
219
|
});
|
|
208
220
|
}
|
|
221
|
+
if (type === collectionTypes.PLACEHOLDER) {
|
|
222
|
+
return (0, _react2.jsx)(EmptyState, null);
|
|
223
|
+
}
|
|
209
224
|
return null;
|
|
210
225
|
})));
|
|
211
226
|
});
|
|
@@ -163,4 +163,17 @@ test('should have is-focused class when hover', /*#__PURE__*/(0, _asyncToGenerat
|
|
|
163
163
|
return _context.stop();
|
|
164
164
|
}
|
|
165
165
|
}, _callee);
|
|
166
|
-
})));
|
|
166
|
+
})));
|
|
167
|
+
test('should render empty state when no items', function () {
|
|
168
|
+
getComponent({
|
|
169
|
+
items: [],
|
|
170
|
+
renderEmptyState: function renderEmptyState() {
|
|
171
|
+
return (0, _react3.jsx)("div", {
|
|
172
|
+
"data-testid": "empty-state"
|
|
173
|
+
}, "No items");
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
var emptyState = _react2.screen.getByTestId('empty-state');
|
|
177
|
+
expect(emptyState).toBeInTheDocument();
|
|
178
|
+
expect(emptyState).toHaveTextContent('No items');
|
|
179
|
+
});
|
|
@@ -10,12 +10,14 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
10
10
|
});
|
|
11
11
|
exports["default"] = void 0;
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
13
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
14
13
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
|
15
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
15
|
var _reactAria = require("react-aria");
|
|
16
|
+
var _CheckIcon = _interopRequireDefault(require("@pingux/mdi-react/CheckIcon"));
|
|
17
|
+
var _focus = require("@react-aria/focus");
|
|
17
18
|
var _interactions = require("@react-aria/interactions");
|
|
18
19
|
var _uuid = require("uuid");
|
|
20
|
+
var _ = require("../..");
|
|
19
21
|
var _MenuContext = require("../../context/MenuContext");
|
|
20
22
|
var _hooks = require("../../hooks");
|
|
21
23
|
var _Box = _interopRequireDefault(require("../Box"));
|
|
@@ -31,7 +33,6 @@ var MenuItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
31
33
|
var _item$key;
|
|
32
34
|
var item = props.item,
|
|
33
35
|
isPropDisabled = props.isDisabled,
|
|
34
|
-
isFocusVisible = props.isFocusVisible,
|
|
35
36
|
isNotFocusedOnHover = props.isNotFocusedOnHover,
|
|
36
37
|
className = props.className,
|
|
37
38
|
state = props.state;
|
|
@@ -59,10 +60,6 @@ var MenuItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
59
60
|
closeOnSelect: shouldCloseOnSelect
|
|
60
61
|
}, state, menuItemRef),
|
|
61
62
|
menuItemProps = _useMenuItem.menuItemProps;
|
|
62
|
-
var _useState = (0, _react.useState)(false),
|
|
63
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
64
|
-
isFocused = _useState2[0],
|
|
65
|
-
setFocused = _useState2[1];
|
|
66
63
|
var _usePress = (0, _interactions.usePress)({
|
|
67
64
|
ref: menuItemRef,
|
|
68
65
|
isDisabled: isDisabled,
|
|
@@ -70,34 +67,46 @@ var MenuItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
70
67
|
}),
|
|
71
68
|
pressProps = _usePress.pressProps,
|
|
72
69
|
isPressed = _usePress.isPressed;
|
|
73
|
-
var
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
focusProps = _useFocus.focusProps;
|
|
70
|
+
var _useFocusRing = (0, _focus.useFocusRing)(),
|
|
71
|
+
focusProps = _useFocusRing.focusProps,
|
|
72
|
+
isFocusVisible = _useFocusRing.isFocusVisible;
|
|
77
73
|
var _useHover = (0, _interactions.useHover)({
|
|
78
74
|
isDisabled: isDisabled
|
|
79
75
|
}),
|
|
80
76
|
hoverProps = _useHover.hoverProps,
|
|
81
77
|
isHovered = _useHover.isHovered;
|
|
82
78
|
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
|
83
|
-
isFocused:
|
|
79
|
+
isFocused: isFocusVisible && !isNotFocusedOnHover,
|
|
84
80
|
isDisabled: isDisabled,
|
|
85
81
|
isSelected: isSelected,
|
|
86
|
-
isPressed: isPressed
|
|
82
|
+
isPressed: isPressed,
|
|
83
|
+
isHovered: isHovered
|
|
87
84
|
}),
|
|
88
85
|
classNames = _useStatusClasses.classNames;
|
|
89
86
|
if (isNotFocusedOnHover) {
|
|
90
87
|
delete menuItemProps.onPointerEnter;
|
|
91
88
|
delete menuItemProps.onPointerLeave;
|
|
92
89
|
}
|
|
90
|
+
var _useGetTheme = (0, _hooks.useGetTheme)(),
|
|
91
|
+
isOnyx = _useGetTheme.themeState.isOnyx;
|
|
93
92
|
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
|
94
93
|
as: "li",
|
|
94
|
+
isRow: true,
|
|
95
|
+
alignItems: "center",
|
|
96
|
+
justifyContent: "space-between",
|
|
95
97
|
className: classNames,
|
|
96
98
|
ref: menuItemRef,
|
|
97
99
|
variant: isSeparator ? 'menuItem.separator' : 'menuItem.item',
|
|
98
100
|
"data-id": dataId,
|
|
99
101
|
"aria-disabled": isDisabled
|
|
100
|
-
}, (0, _reactAria.mergeProps)(pressProps, hoverProps, focusProps, menuItemProps, others)), rendered)
|
|
102
|
+
}, (0, _reactAria.mergeProps)(pressProps, hoverProps, focusProps, menuItemProps, others)), rendered, isSelected && isOnyx && (0, _react2.jsx)(_.Icon, {
|
|
103
|
+
icon: _CheckIcon["default"],
|
|
104
|
+
title: {
|
|
105
|
+
name: 'Check Icon'
|
|
106
|
+
},
|
|
107
|
+
color: "success.bright",
|
|
108
|
+
size: "sm"
|
|
109
|
+
}));
|
|
101
110
|
});
|
|
102
111
|
MenuItem.displayName = 'MenuItem';
|
|
103
112
|
MenuItem.defaultProps = {
|