@pingux/astro 2.111.0-alpha.3 → 2.111.0-alpha.4
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/IconButton/IconButton.js +4 -3
- package/lib/cjs/components/IconButton/IconButton.test.js +12 -0
- package/lib/cjs/types/iconButton.d.ts +2 -0
- package/lib/components/IconButton/IconButton.js +4 -3
- package/lib/components/IconButton/IconButton.test.js +12 -0
- package/package.json +1 -1
@@ -27,7 +27,7 @@ var _hooks = require("../../hooks");
|
|
27
27
|
var _pendoID = require("../../utils/devUtils/constants/pendoID");
|
28
28
|
var _TooltipTrigger = _interopRequireWildcard(require("../TooltipTrigger"));
|
29
29
|
var _react2 = require("@emotion/react");
|
30
|
-
var _excluded = ["children", "className", "title", "variant", "onBlur", "onFocus", "onHoverChange", "onHoverEnd", "onHoverStart", "onKeyDown", "onKeyUp", "onPress", "onPressEnd", "onPressStart", "onPressChange", "onPressUp", "isDisabled"];
|
30
|
+
var _excluded = ["children", "className", "tooltipTriggerProps", "title", "variant", "onBlur", "onFocus", "onHoverChange", "onHoverEnd", "onHoverStart", "onKeyDown", "onKeyUp", "onPress", "onPressEnd", "onPressStart", "onPressChange", "onPressUp", "isDisabled"];
|
31
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
32
|
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
33
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
@@ -36,6 +36,7 @@ var displayName = 'IconButton';
|
|
36
36
|
var IconButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
37
37
|
var children = props.children,
|
38
38
|
className = props.className,
|
39
|
+
tooltipTriggerProps = props.tooltipTriggerProps,
|
39
40
|
title = props.title,
|
40
41
|
variant = props.variant,
|
41
42
|
onBlur = props.onBlur,
|
@@ -112,9 +113,9 @@ var IconButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
112
113
|
onPointerOver: hoverProps.onPointerEnter
|
113
114
|
}, children));
|
114
115
|
if (title) {
|
115
|
-
return (0, _react2.jsx)(_TooltipTrigger["default"], {
|
116
|
+
return (0, _react2.jsx)(_TooltipTrigger["default"], (0, _extends2["default"])({
|
116
117
|
isDisabled: !title
|
117
|
-
}, button, title && (0, _react2.jsx)(_TooltipTrigger.Tooltip, null, title));
|
118
|
+
}, tooltipTriggerProps), button, title && (0, _react2.jsx)(_TooltipTrigger.Tooltip, null, title));
|
118
119
|
}
|
119
120
|
return button;
|
120
121
|
});
|
@@ -105,6 +105,18 @@ test('tooltip is shown on focus when the prop is passed and not show by default'
|
|
105
105
|
_userEvent["default"].tab();
|
106
106
|
expect(_testWrapper.screen.queryByRole('tooltip')).toBeInTheDocument();
|
107
107
|
});
|
108
|
+
test('tooltipTrigger applies nested props correctly', function () {
|
109
|
+
getComponent({
|
110
|
+
title: 'Test Tooltip',
|
111
|
+
tooltipTriggerProps: {
|
112
|
+
direction: 'right'
|
113
|
+
}
|
114
|
+
});
|
115
|
+
expect(_testWrapper.screen.queryByRole('tooltip')).not.toBeInTheDocument();
|
116
|
+
_userEvent["default"].tab();
|
117
|
+
expect(_testWrapper.screen.queryByRole('tooltip')).toBeInTheDocument();
|
118
|
+
expect(_testWrapper.screen.queryByTestId('popover-container')).toHaveClass('is-right');
|
119
|
+
});
|
108
120
|
test('tooltip is shown on hover when the prop is passed and not show by default', function () {
|
109
121
|
getComponent({
|
110
122
|
title: 'Test Tooltip'
|
@@ -2,6 +2,7 @@ import { IconButtonProps as ThemeUIIconButtonProps } from 'theme-ui';
|
|
2
2
|
import { TestingAttributes } from './shared/test';
|
3
3
|
import { IconTypeExtended } from './icon';
|
4
4
|
import { HoverProps, IconSize, PressProps } from './shared';
|
5
|
+
import { TooltipTriggerProps } from './tooltipTrigger';
|
5
6
|
export interface IconButtonProps extends ThemeUIIconButtonProps, TestingAttributes, PressProps, HoverProps {
|
6
7
|
/** The styling variation of the element. */
|
7
8
|
variant?: string | undefined;
|
@@ -19,4 +20,5 @@ export interface IconButtonProps extends ThemeUIIconButtonProps, TestingAttribut
|
|
19
20
|
size?: IconSize;
|
20
21
|
isRow?: boolean;
|
21
22
|
'aria-controls'?: string | undefined;
|
23
|
+
tooltipTriggerProps?: TooltipTriggerProps;
|
22
24
|
}
|
@@ -9,7 +9,7 @@ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object
|
|
9
9
|
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
10
10
|
import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
|
11
11
|
import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
|
12
|
-
var _excluded = ["children", "className", "title", "variant", "onBlur", "onFocus", "onHoverChange", "onHoverEnd", "onHoverStart", "onKeyDown", "onKeyUp", "onPress", "onPressEnd", "onPressStart", "onPressChange", "onPressUp", "isDisabled"];
|
12
|
+
var _excluded = ["children", "className", "tooltipTriggerProps", "title", "variant", "onBlur", "onFocus", "onHoverChange", "onHoverEnd", "onHoverStart", "onKeyDown", "onKeyUp", "onPress", "onPressEnd", "onPressStart", "onPressChange", "onPressUp", "isDisabled"];
|
13
13
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
14
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
15
15
|
import React, { forwardRef, useContext, useImperativeHandle, useRef } from 'react';
|
@@ -25,6 +25,7 @@ var displayName = 'IconButton';
|
|
25
25
|
var IconButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
26
26
|
var children = props.children,
|
27
27
|
className = props.className,
|
28
|
+
tooltipTriggerProps = props.tooltipTriggerProps,
|
28
29
|
title = props.title,
|
29
30
|
variant = props.variant,
|
30
31
|
onBlur = props.onBlur,
|
@@ -101,9 +102,9 @@ var IconButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
101
102
|
onPointerOver: hoverProps.onPointerEnter
|
102
103
|
}, children));
|
103
104
|
if (title) {
|
104
|
-
return ___EmotionJSX(TooltipTrigger, {
|
105
|
+
return ___EmotionJSX(TooltipTrigger, _extends({
|
105
106
|
isDisabled: !title
|
106
|
-
}, button, title && ___EmotionJSX(Tooltip, null, title));
|
107
|
+
}, tooltipTriggerProps), button, title && ___EmotionJSX(Tooltip, null, title));
|
107
108
|
}
|
108
109
|
return button;
|
109
110
|
});
|
@@ -102,6 +102,18 @@ test('tooltip is shown on focus when the prop is passed and not show by default'
|
|
102
102
|
userEvent.tab();
|
103
103
|
expect(screen.queryByRole('tooltip')).toBeInTheDocument();
|
104
104
|
});
|
105
|
+
test('tooltipTrigger applies nested props correctly', function () {
|
106
|
+
getComponent({
|
107
|
+
title: 'Test Tooltip',
|
108
|
+
tooltipTriggerProps: {
|
109
|
+
direction: 'right'
|
110
|
+
}
|
111
|
+
});
|
112
|
+
expect(screen.queryByRole('tooltip')).not.toBeInTheDocument();
|
113
|
+
userEvent.tab();
|
114
|
+
expect(screen.queryByRole('tooltip')).toBeInTheDocument();
|
115
|
+
expect(screen.queryByTestId('popover-container')).toHaveClass('is-right');
|
116
|
+
});
|
105
117
|
test('tooltip is shown on hover when the prop is passed and not show by default', function () {
|
106
118
|
getComponent({
|
107
119
|
title: 'Test Tooltip'
|