@pingux/astro 1.2.0-alpha.5 → 1.2.0-alpha.6

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.
@@ -18,8 +18,6 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-c
18
18
 
19
19
  var _react = _interopRequireWildcard(require("react"));
20
20
 
21
- var _HelpIcon = _interopRequireDefault(require("mdi-react/HelpIcon"));
22
-
23
21
  var _propTypes = _interopRequireDefault(require("prop-types"));
24
22
 
25
23
  var _IconButton = _interopRequireDefault(require("../IconButton"));
@@ -30,20 +28,40 @@ var _Icon = _interopRequireDefault(require("../Icon"));
30
28
 
31
29
  var _react2 = require("@emotion/react");
32
30
 
31
+ var HelpIcon = function HelpIcon() {
32
+ return (0, _react2.jsx)("svg", {
33
+ width: "7",
34
+ height: "9",
35
+ viewBox: "0 0 7 9",
36
+ fill: "none",
37
+ xmlns: "http://www.w3.org/2000/svg"
38
+ }, (0, _react2.jsx)("path", {
39
+ d: "M2.56685 7.306V9H4.29385V7.306H2.56685ZM0.795848 3.676H2.41285C2.41285 3.478 2.43485 3.29467 2.47885 3.126C2.52285 2.95 2.58885 2.79967 2.67685 2.675C2.77218 2.543 2.88951 2.44033 3.02885 2.367C3.17551 2.28633 3.34785 2.246 3.54585 2.246C3.83918 2.246 4.06651 2.32667 4.22785 2.488C4.39651 2.64933 4.48085 2.89867 4.48085 3.236C4.48818 3.434 4.45151 3.599 4.37085 3.731C4.29751 3.863 4.19851 3.984 4.07385 4.094C3.94918 4.204 3.81351 4.314 3.66685 4.424C3.52018 4.534 3.38085 4.666 3.24885 4.82C3.11685 4.96667 2.99951 5.14633 2.89685 5.359C2.80151 5.57167 2.74285 5.83567 2.72085 6.151V6.646H4.20585V6.228C4.23518 6.008 4.30485 5.82467 4.41485 5.678C4.53218 5.53133 4.66418 5.403 4.81085 5.293C4.95751 5.17567 5.11151 5.062 5.27285 4.952C5.44151 4.83467 5.59185 4.69533 5.72385 4.534C5.86318 4.37267 5.97685 4.17833 6.06485 3.951C6.16018 3.72367 6.20785 3.434 6.20785 3.082C6.20785 2.86933 6.16018 2.642 6.06485 2.4C5.97685 2.15067 5.82651 1.91967 5.61385 1.707C5.40118 1.49433 5.11885 1.31833 4.76685 1.179C4.42218 1.03233 3.98951 0.959 3.46885 0.959C3.06551 0.959 2.69885 1.02867 2.36885 1.168C2.04618 1.3 1.76751 1.487 1.53285 1.729C1.30551 1.971 1.12585 2.257 0.993848 2.587C0.869181 2.917 0.803181 3.28 0.795848 3.676Z",
40
+ fill: "#3B4A58"
41
+ }));
42
+ };
43
+ /**
44
+ * A `HelpHint` is a composed component using tooltip trigger and icon button.
45
+ *
46
+ * For customization the trigger icon,
47
+ * please see the [TooltipTrigger](./?path=/docs/tooltiptrigger--default) docs.
48
+ */
49
+
50
+
33
51
  var HelpHint = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
34
52
  var children = props.children,
35
53
  tooltipProps = props.tooltipProps,
36
54
  iconButtonProps = props.iconButtonProps,
37
55
  others = (0, _objectWithoutProperties2["default"])(props, ["children", "tooltipProps", "iconButtonProps"]);
38
56
  return (0, _react2.jsx)(_TooltipTrigger["default"], (0, _extends2["default"])({
39
- ref: ref
40
- }, others), (0, _react2.jsx)(_IconButton["default"], (0, _extends2["default"])({
57
+ ref: ref,
58
+ direction: "top"
59
+ }, others, tooltipProps), (0, _react2.jsx)(_IconButton["default"], (0, _extends2["default"])({
41
60
  variant: "helpHint",
42
61
  "aria-label": "label help hint",
43
62
  "data-testid": "help-hint__button"
44
63
  }, iconButtonProps), (0, _react2.jsx)(_Icon["default"], {
45
- icon: _HelpIcon["default"],
46
- size: "11px"
64
+ icon: HelpIcon
47
65
  })), (0, _react2.jsx)(_TooltipTrigger.Tooltip, tooltipProps, children));
48
66
  });
49
67
  HelpHint.propTypes = {
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ exports.WithTooltipAndIconButtonProps = exports.Default = exports["default"] = void 0;
12
+
13
+ var _react = _interopRequireDefault(require("react"));
14
+
15
+ var _ = _interopRequireDefault(require("."));
16
+
17
+ var _Box = _interopRequireDefault(require("../Box"));
18
+
19
+ var _react2 = require("@emotion/react");
20
+
21
+ var _default = {
22
+ title: 'HelpHint',
23
+ component: _["default"],
24
+ argTypes: {
25
+ children: {
26
+ description: 'Tooltip content',
27
+ defaultValue: 'Text of the tooltip right here...',
28
+ control: {
29
+ type: 'text'
30
+ }
31
+ }
32
+ }
33
+ };
34
+ exports["default"] = _default;
35
+
36
+ var Default = function Default(args) {
37
+ return (0, _react2.jsx)(_Box["default"], {
38
+ p: 50
39
+ }, (0, _react2.jsx)(_["default"], args));
40
+ };
41
+
42
+ exports.Default = Default;
43
+
44
+ var WithTooltipAndIconButtonProps = function WithTooltipAndIconButtonProps() {
45
+ return (0, _react2.jsx)(_Box["default"], {
46
+ p: 50
47
+ }, (0, _react2.jsx)(_["default"], {
48
+ tooltipProps: {
49
+ direction: 'bottom'
50
+ },
51
+ iconButtonProps: {
52
+ 'aria-label': 'Help hint'
53
+ }
54
+ }, "Text of the tooltip right here..."));
55
+ };
56
+
57
+ exports.WithTooltipAndIconButtonProps = WithTooltipAndIconButtonProps;
@@ -0,0 +1,80 @@
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 _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
+
11
+ var _testWrapper = require("../../utils/testUtils/testWrapper");
12
+
13
+ var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
14
+
15
+ var _HelpHint = _interopRequireDefault(require("./HelpHint"));
16
+
17
+ var _react2 = require("@emotion/react");
18
+
19
+ var testId = 'help-hint__button';
20
+ var tooltipValue = 'Some text';
21
+ var defaultProps = {
22
+ children: tooltipValue
23
+ };
24
+
25
+ var getComponent = function getComponent() {
26
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27
+ return (0, _testWrapper.render)((0, _react2.jsx)(_HelpHint["default"], (0, _extends2["default"])({}, defaultProps, props)));
28
+ }; // Need to be added to each test file to test accessibility using axe.
29
+
30
+
31
+ (0, _testAxe["default"])(getComponent);
32
+ test('renders HelpHint component', function () {
33
+ getComponent();
34
+
35
+ var helpHintButton = _testWrapper.screen.getByTestId(testId);
36
+
37
+ expect(helpHintButton).toBeInTheDocument();
38
+ });
39
+ test('shows tooltip on hover', function () {
40
+ getComponent();
41
+
42
+ var helpHintButton = _testWrapper.screen.getByTestId(testId);
43
+
44
+ expect(_testWrapper.screen.queryByText(tooltipValue)).not.toBeInTheDocument();
45
+
46
+ _testWrapper.fireEvent.mouseMove(helpHintButton);
47
+
48
+ _testWrapper.fireEvent.mouseEnter(helpHintButton);
49
+
50
+ expect(_testWrapper.screen.getByText(tooltipValue)).toBeInTheDocument();
51
+ });
52
+ test('shows tooltip on focus', function () {
53
+ getComponent();
54
+
55
+ var helpHintButton = _testWrapper.screen.getByTestId(testId);
56
+
57
+ expect(_testWrapper.screen.queryByText(tooltipValue)).not.toBeInTheDocument();
58
+
59
+ _userEvent["default"].tab();
60
+
61
+ expect(helpHintButton).toHaveFocus();
62
+ expect(_testWrapper.screen.queryByText(tooltipValue)).toBeInTheDocument();
63
+ });
64
+ test('applies tooltipProps', function () {
65
+ getComponent({
66
+ tooltipProps: {
67
+ isOpen: true
68
+ }
69
+ });
70
+ expect(_testWrapper.screen.getByText(tooltipValue)).toBeInTheDocument();
71
+ });
72
+ test('applies iconButtonProps', function () {
73
+ var newLabel = 'New label';
74
+ getComponent({
75
+ iconButtonProps: {
76
+ 'aria-label': newLabel
77
+ }
78
+ });
79
+ expect(_testWrapper.screen.getByLabelText(newLabel)).toBeInTheDocument();
80
+ });
@@ -50,6 +50,8 @@ var _i18n = require("@react-aria/i18n");
50
50
 
51
51
  var _utils = require("@react-aria/utils");
52
52
 
53
+ var _omit = _interopRequireDefault(require("lodash/omit"));
54
+
53
55
  var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
54
56
 
55
57
  var _index = require("../../index");
@@ -130,7 +132,7 @@ var NumberField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
130
132
  ref: inputRef // we don't want to merge this props, we want to
131
133
  // overwrite them like defaultValue, value, ect.
132
134
 
133
- }, fieldControlProps, inputProps)), ControlArrows), helperText && (0, _react2.jsx)(_index.FieldHelperText, {
135
+ }, fieldControlProps, (0, _omit["default"])(inputProps, 'name'))), ControlArrows), helperText && (0, _react2.jsx)(_index.FieldHelperText, {
134
136
  status: status
135
137
  }, helperText)));
136
138
  });
@@ -169,4 +169,11 @@ test('increment and decrement buttons shouldn\'t be able to be focused via keybo
169
169
  _userEvent["default"].tab();
170
170
 
171
171
  expect(_testWrapper.screen.getByLabelText('arrow-down')).not.toHaveFocus();
172
+ });
173
+ test('number field input receiving name attribute', function () {
174
+ var testName = 'testName';
175
+ getComponent({
176
+ name: testName
177
+ });
178
+ expect(_testWrapper.screen.getByLabelText(testLabel)).toHaveAttribute('name', testName);
172
179
  });
@@ -317,6 +317,11 @@ var helpHint = _objectSpread(_objectSpread({}, iconButton), {}, {
317
317
  ml: '5px',
318
318
  maxWidth: '13px',
319
319
  maxHeight: '14px',
320
+ borderRadius: '5.5px',
321
+ 'svg': {
322
+ 'height': '100%',
323
+ mb: 0.75
324
+ },
320
325
  'path': {
321
326
  fill: 'neutral.20'
322
327
  },
@@ -1,12 +1,32 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
3
  import React, { forwardRef } from 'react';
4
- import HelpIcon from 'mdi-react/HelpIcon';
5
4
  import PropTypes from 'prop-types';
6
5
  import IconButton from '../IconButton';
7
6
  import TooltipTrigger, { Tooltip } from '../TooltipTrigger';
8
7
  import Icon from '../Icon';
9
8
  import { jsx as ___EmotionJSX } from "@emotion/react";
9
+
10
+ var HelpIcon = function HelpIcon() {
11
+ return ___EmotionJSX("svg", {
12
+ width: "7",
13
+ height: "9",
14
+ viewBox: "0 0 7 9",
15
+ fill: "none",
16
+ xmlns: "http://www.w3.org/2000/svg"
17
+ }, ___EmotionJSX("path", {
18
+ d: "M2.56685 7.306V9H4.29385V7.306H2.56685ZM0.795848 3.676H2.41285C2.41285 3.478 2.43485 3.29467 2.47885 3.126C2.52285 2.95 2.58885 2.79967 2.67685 2.675C2.77218 2.543 2.88951 2.44033 3.02885 2.367C3.17551 2.28633 3.34785 2.246 3.54585 2.246C3.83918 2.246 4.06651 2.32667 4.22785 2.488C4.39651 2.64933 4.48085 2.89867 4.48085 3.236C4.48818 3.434 4.45151 3.599 4.37085 3.731C4.29751 3.863 4.19851 3.984 4.07385 4.094C3.94918 4.204 3.81351 4.314 3.66685 4.424C3.52018 4.534 3.38085 4.666 3.24885 4.82C3.11685 4.96667 2.99951 5.14633 2.89685 5.359C2.80151 5.57167 2.74285 5.83567 2.72085 6.151V6.646H4.20585V6.228C4.23518 6.008 4.30485 5.82467 4.41485 5.678C4.53218 5.53133 4.66418 5.403 4.81085 5.293C4.95751 5.17567 5.11151 5.062 5.27285 4.952C5.44151 4.83467 5.59185 4.69533 5.72385 4.534C5.86318 4.37267 5.97685 4.17833 6.06485 3.951C6.16018 3.72367 6.20785 3.434 6.20785 3.082C6.20785 2.86933 6.16018 2.642 6.06485 2.4C5.97685 2.15067 5.82651 1.91967 5.61385 1.707C5.40118 1.49433 5.11885 1.31833 4.76685 1.179C4.42218 1.03233 3.98951 0.959 3.46885 0.959C3.06551 0.959 2.69885 1.02867 2.36885 1.168C2.04618 1.3 1.76751 1.487 1.53285 1.729C1.30551 1.971 1.12585 2.257 0.993848 2.587C0.869181 2.917 0.803181 3.28 0.795848 3.676Z",
19
+ fill: "#3B4A58"
20
+ }));
21
+ };
22
+ /**
23
+ * A `HelpHint` is a composed component using tooltip trigger and icon button.
24
+ *
25
+ * For customization the trigger icon,
26
+ * please see the [TooltipTrigger](./?path=/docs/tooltiptrigger--default) docs.
27
+ */
28
+
29
+
10
30
  var HelpHint = /*#__PURE__*/forwardRef(function (props, ref) {
11
31
  var children = props.children,
12
32
  tooltipProps = props.tooltipProps,
@@ -14,14 +34,14 @@ var HelpHint = /*#__PURE__*/forwardRef(function (props, ref) {
14
34
  others = _objectWithoutProperties(props, ["children", "tooltipProps", "iconButtonProps"]);
15
35
 
16
36
  return ___EmotionJSX(TooltipTrigger, _extends({
17
- ref: ref
18
- }, others), ___EmotionJSX(IconButton, _extends({
37
+ ref: ref,
38
+ direction: "top"
39
+ }, others, tooltipProps), ___EmotionJSX(IconButton, _extends({
19
40
  variant: "helpHint",
20
41
  "aria-label": "label help hint",
21
42
  "data-testid": "help-hint__button"
22
43
  }, iconButtonProps), ___EmotionJSX(Icon, {
23
- icon: HelpIcon,
24
- size: "11px"
44
+ icon: HelpIcon
25
45
  })), ___EmotionJSX(Tooltip, tooltipProps, children));
26
46
  });
27
47
  HelpHint.propTypes = {
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import HelpHint from '.';
3
+ import Box from '../Box';
4
+ import { jsx as ___EmotionJSX } from "@emotion/react";
5
+ export default {
6
+ title: 'HelpHint',
7
+ component: HelpHint,
8
+ argTypes: {
9
+ children: {
10
+ description: 'Tooltip content',
11
+ defaultValue: 'Text of the tooltip right here...',
12
+ control: {
13
+ type: 'text'
14
+ }
15
+ }
16
+ }
17
+ };
18
+ export var Default = function Default(args) {
19
+ return ___EmotionJSX(Box, {
20
+ p: 50
21
+ }, ___EmotionJSX(HelpHint, args));
22
+ };
23
+ export var WithTooltipAndIconButtonProps = function WithTooltipAndIconButtonProps() {
24
+ return ___EmotionJSX(Box, {
25
+ p: 50
26
+ }, ___EmotionJSX(HelpHint, {
27
+ tooltipProps: {
28
+ direction: 'bottom'
29
+ },
30
+ iconButtonProps: {
31
+ 'aria-label': 'Help hint'
32
+ }
33
+ }, "Text of the tooltip right here..."));
34
+ };
@@ -0,0 +1,58 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
+ import React from 'react';
3
+ import userEvent from '@testing-library/user-event';
4
+ import { fireEvent, render, screen } from '../../utils/testUtils/testWrapper';
5
+ import axeTest from '../../utils/testUtils/testAxe';
6
+ import HelpHint from './HelpHint';
7
+ import { jsx as ___EmotionJSX } from "@emotion/react";
8
+ var testId = 'help-hint__button';
9
+ var tooltipValue = 'Some text';
10
+ var defaultProps = {
11
+ children: tooltipValue
12
+ };
13
+
14
+ var getComponent = function getComponent() {
15
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
16
+ return render(___EmotionJSX(HelpHint, _extends({}, defaultProps, props)));
17
+ }; // Need to be added to each test file to test accessibility using axe.
18
+
19
+
20
+ axeTest(getComponent);
21
+ test('renders HelpHint component', function () {
22
+ getComponent();
23
+ var helpHintButton = screen.getByTestId(testId);
24
+ expect(helpHintButton).toBeInTheDocument();
25
+ });
26
+ test('shows tooltip on hover', function () {
27
+ getComponent();
28
+ var helpHintButton = screen.getByTestId(testId);
29
+ expect(screen.queryByText(tooltipValue)).not.toBeInTheDocument();
30
+ fireEvent.mouseMove(helpHintButton);
31
+ fireEvent.mouseEnter(helpHintButton);
32
+ expect(screen.getByText(tooltipValue)).toBeInTheDocument();
33
+ });
34
+ test('shows tooltip on focus', function () {
35
+ getComponent();
36
+ var helpHintButton = screen.getByTestId(testId);
37
+ expect(screen.queryByText(tooltipValue)).not.toBeInTheDocument();
38
+ userEvent.tab();
39
+ expect(helpHintButton).toHaveFocus();
40
+ expect(screen.queryByText(tooltipValue)).toBeInTheDocument();
41
+ });
42
+ test('applies tooltipProps', function () {
43
+ getComponent({
44
+ tooltipProps: {
45
+ isOpen: true
46
+ }
47
+ });
48
+ expect(screen.getByText(tooltipValue)).toBeInTheDocument();
49
+ });
50
+ test('applies iconButtonProps', function () {
51
+ var newLabel = 'New label';
52
+ getComponent({
53
+ iconButtonProps: {
54
+ 'aria-label': newLabel
55
+ }
56
+ });
57
+ expect(screen.getByLabelText(newLabel)).toBeInTheDocument();
58
+ });
@@ -22,6 +22,7 @@ import { useNumberField } from '@react-aria/numberfield';
22
22
  import { useNumberFieldState } from '@react-stately/numberfield';
23
23
  import { useLocale } from '@react-aria/i18n';
24
24
  import { mergeProps } from '@react-aria/utils';
25
+ import omit from 'lodash/omit';
25
26
  import statuses from '../../utils/devUtils/constants/statuses';
26
27
  import { Box, FieldHelperText, Icon, IconButton, Input, Label } from '../../index';
27
28
  import { useField, usePropWarning } from '../../hooks';
@@ -94,7 +95,7 @@ var NumberField = /*#__PURE__*/forwardRef(function (props, ref) {
94
95
  ref: inputRef // we don't want to merge this props, we want to
95
96
  // overwrite them like defaultValue, value, ect.
96
97
 
97
- }, fieldControlProps, inputProps)), ControlArrows), helperText && ___EmotionJSX(FieldHelperText, {
98
+ }, fieldControlProps, omit(inputProps, 'name'))), ControlArrows), helperText && ___EmotionJSX(FieldHelperText, {
98
99
  status: status
99
100
  }, helperText)));
100
101
  });
@@ -128,4 +128,11 @@ test('increment and decrement buttons shouldn\'t be able to be focused via keybo
128
128
  expect(screen.getByLabelText('arrow-up')).not.toHaveFocus();
129
129
  userEvent.tab();
130
130
  expect(screen.getByLabelText('arrow-down')).not.toHaveFocus();
131
+ });
132
+ test('number field input receiving name attribute', function () {
133
+ var testName = 'testName';
134
+ getComponent({
135
+ name: testName
136
+ });
137
+ expect(screen.getByLabelText(testLabel)).toHaveAttribute('name', testName);
131
138
  });
@@ -295,6 +295,11 @@ var helpHint = _objectSpread(_objectSpread({}, iconButton), {}, {
295
295
  ml: '5px',
296
296
  maxWidth: '13px',
297
297
  maxHeight: '14px',
298
+ borderRadius: '5.5px',
299
+ 'svg': {
300
+ 'height': '100%',
301
+ mb: 0.75
302
+ },
298
303
  'path': {
299
304
  fill: 'neutral.20'
300
305
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "1.2.0-alpha.5",
3
+ "version": "1.2.0-alpha.6",
4
4
  "description": "PingUX themeable React component library",
5
5
  "author": "uxdev@pingidentity.com",
6
6
  "license": "Apache-2.0",