@pingux/astro 2.140.0-alpha.4 → 2.140.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.
- package/lib/cjs/components/Callout/Callout.stories.js +16 -6
- package/lib/cjs/components/Popover/Popover.d.ts +14 -0
- package/lib/cjs/components/Popover/Popover.js +67 -0
- package/lib/cjs/components/Popover/Popover.test.d.ts +1 -0
- package/lib/cjs/components/Popover/Popover.test.js +70 -0
- package/lib/cjs/components/Popover/index.d.ts +1 -0
- package/lib/cjs/components/Popover/index.js +14 -0
- package/lib/cjs/components/SelectFieldBase/SelectFieldBase.test.js +0 -3
- package/lib/cjs/components/Stepper/Step.js +11 -4
- package/lib/cjs/components/Stepper/Stepper.js +42 -8
- package/lib/cjs/components/Stepper/Stepper.stories.js +48 -2
- package/lib/cjs/components/Stepper/Stepper.styles.js +85 -30
- package/lib/cjs/components/Text/Text.styles.d.ts +840 -0
- package/lib/cjs/components/Text/Text.styles.js +10 -1
- package/lib/cjs/hooks/useSelectField/useSelectField.js +5 -9
- package/lib/components/Callout/Callout.stories.js +16 -6
- package/lib/components/Popover/Popover.js +55 -0
- package/lib/components/Popover/Popover.test.js +67 -0
- package/lib/components/Popover/index.js +1 -0
- package/lib/components/SelectFieldBase/SelectFieldBase.test.js +0 -3
- package/lib/components/Stepper/Step.js +11 -4
- package/lib/components/Stepper/Stepper.js +43 -9
- package/lib/components/Stepper/Stepper.stories.js +45 -0
- package/lib/components/Stepper/Stepper.styles.js +83 -29
- package/lib/components/Text/Text.styles.js +10 -1
- package/lib/hooks/useSelectField/useSelectField.js +5 -9
- package/package.json +2 -2
@@ -50,6 +50,14 @@ var tabLabel = _objectSpread(_objectSpread(_objectSpread({}, base), wordWrap), {
|
|
50
50
|
color: 'neutral.80'
|
51
51
|
}
|
52
52
|
});
|
53
|
+
var stepperLabel = _objectSpread(_objectSpread({}, base), {}, {
|
54
|
+
fontSize: '14px',
|
55
|
+
fontWeight: '500',
|
56
|
+
display: 'flex',
|
57
|
+
ml: '14px',
|
58
|
+
color: 'neutral.30',
|
59
|
+
cursor: 'pointer'
|
60
|
+
});
|
53
61
|
var environmentBreadcrumb = _objectSpread(_objectSpread({}, base), {}, {
|
54
62
|
fontSize: 'sm',
|
55
63
|
fontWeight: 3,
|
@@ -249,6 +257,7 @@ var text = _objectSpread(_objectSpread(_objectSpread({
|
|
249
257
|
title: title,
|
250
258
|
copyRightText: copyRightText,
|
251
259
|
attachmentTitle: attachmentTitle,
|
252
|
-
messagesText: _objectSpread({}, base)
|
260
|
+
messagesText: _objectSpread({}, base),
|
261
|
+
stepperLabel: stepperLabel
|
253
262
|
});
|
254
263
|
exports.text = text;
|
@@ -25,7 +25,7 @@ var _select = require("@react-aria/select");
|
|
25
25
|
var _utils = require("@react-aria/utils");
|
26
26
|
var _select2 = require("@react-stately/select");
|
27
27
|
var _ListBox = _interopRequireDefault(require("../../components/ListBox/ListBox"));
|
28
|
-
var
|
28
|
+
var _Popover = _interopRequireDefault(require("../../components/Popover/Popover"));
|
29
29
|
var _ScrollBox = _interopRequireDefault(require("../../components/ScrollBox"));
|
30
30
|
var _labelModes = require("../../utils/devUtils/constants/labelModes");
|
31
31
|
var _ = require("..");
|
@@ -204,15 +204,11 @@ var useSelectField = function useSelectField(props, ref) {
|
|
204
204
|
return state.close();
|
205
205
|
}
|
206
206
|
}));
|
207
|
-
var overlay = (0, _react2.jsx)(
|
208
|
-
hasNoArrow: true,
|
209
|
-
isDismissable: true,
|
207
|
+
var overlay = (0, _react2.jsx)(_Popover["default"], {
|
210
208
|
isNonModal: true,
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
ref: popoverRef,
|
215
|
-
style: style
|
209
|
+
triggerRef: triggerRef,
|
210
|
+
style: style,
|
211
|
+
state: state
|
216
212
|
}, (0, _react2.jsx)(_ScrollBox["default"], scrollBoxProps, listbox));
|
217
213
|
return {
|
218
214
|
columnStyleProps: columnStyleProps,
|
@@ -116,15 +116,25 @@ Warning.parameters = {
|
|
116
116
|
url: FIGMA_LINKS.callout.warning
|
117
117
|
}
|
118
118
|
};
|
119
|
+
var iconContainer = {
|
120
|
+
display: 'flex',
|
121
|
+
justifyContent: 'center',
|
122
|
+
alignItems: 'center',
|
123
|
+
width: 25,
|
124
|
+
height: 25,
|
125
|
+
minWidth: 25,
|
126
|
+
minHeight: 25,
|
127
|
+
borderStyle: 'solid',
|
128
|
+
borderRadius: '50%',
|
129
|
+
backgroundColor: 'active',
|
130
|
+
borderColor: 'active',
|
131
|
+
color: 'text.primaryLight',
|
132
|
+
mx: 'md'
|
133
|
+
};
|
119
134
|
export var WithCustomIcon = function WithCustomIcon() {
|
120
135
|
return ___EmotionJSX(Callout, {
|
121
136
|
icon: ___EmotionJSX(Box, {
|
122
|
-
|
123
|
-
mx: "md",
|
124
|
-
minHeight: 25,
|
125
|
-
minWidth: 25,
|
126
|
-
height: 25,
|
127
|
-
width: 25
|
137
|
+
sx: iconContainer
|
128
138
|
}, ___EmotionJSX(Icon, {
|
129
139
|
icon: CheckBoldIcon,
|
130
140
|
title: {
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
|
2
|
+
import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
|
3
|
+
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
4
|
+
import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
|
5
|
+
import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
|
6
|
+
import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
|
7
|
+
import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
|
8
|
+
import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
|
9
|
+
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
10
|
+
import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
|
11
|
+
import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
|
12
|
+
var _excluded = ["popoverRef", "state", "children", "className", "isNonModal", "width"];
|
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
|
+
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
|
+
import * as React from 'react';
|
16
|
+
import { DismissButton, Overlay, usePopover } from '@react-aria/overlays';
|
17
|
+
import { useStatusClasses } from '../../hooks';
|
18
|
+
import Box from '../Box';
|
19
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
20
|
+
var Popover = function Popover(props) {
|
21
|
+
var ref = React.useRef(null);
|
22
|
+
var _props$popoverRef = props.popoverRef,
|
23
|
+
popoverRef = _props$popoverRef === void 0 ? ref : _props$popoverRef,
|
24
|
+
state = props.state,
|
25
|
+
children = props.children,
|
26
|
+
className = props.className,
|
27
|
+
isNonModal = props.isNonModal,
|
28
|
+
width = props.width,
|
29
|
+
others = _objectWithoutProperties(props, _excluded);
|
30
|
+
var _usePopover = usePopover(_objectSpread(_objectSpread({}, props), {}, {
|
31
|
+
popoverRef: popoverRef
|
32
|
+
}), state),
|
33
|
+
popoverProps = _usePopover.popoverProps,
|
34
|
+
underlayProps = _usePopover.underlayProps;
|
35
|
+
var isOpen = state.isOpen;
|
36
|
+
var _useStatusClasses = useStatusClasses(className, {
|
37
|
+
isOpen: isOpen
|
38
|
+
}),
|
39
|
+
classNames = _useStatusClasses.classNames;
|
40
|
+
if (!isOpen) {
|
41
|
+
return null;
|
42
|
+
}
|
43
|
+
return ___EmotionJSX(Overlay, null, !isNonModal && ___EmotionJSX("div", underlayProps), ___EmotionJSX(Box, _extends({
|
44
|
+
ref: popoverRef,
|
45
|
+
variant: "popoverMenu.container",
|
46
|
+
className: classNames,
|
47
|
+
role: "presentation",
|
48
|
+
width: width
|
49
|
+
}, popoverProps, others), !isNonModal && ___EmotionJSX(DismissButton, {
|
50
|
+
onDismiss: state.close
|
51
|
+
}), children, ___EmotionJSX(DismissButton, {
|
52
|
+
onDismiss: state.close
|
53
|
+
})));
|
54
|
+
};
|
55
|
+
export default Popover;
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
2
|
+
import React from 'react';
|
3
|
+
import { render, screen } from '@testing-library/react';
|
4
|
+
import Box from '../Box';
|
5
|
+
import Popover from './Popover';
|
6
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
7
|
+
var mockState = function mockState(isOpen) {
|
8
|
+
return {
|
9
|
+
isOpen: isOpen,
|
10
|
+
close: jest.fn(),
|
11
|
+
open: jest.fn(),
|
12
|
+
toggle: jest.fn(),
|
13
|
+
setOpen: jest.fn()
|
14
|
+
};
|
15
|
+
};
|
16
|
+
var triggerRef = /*#__PURE__*/React.createRef();
|
17
|
+
var defaultProps = {
|
18
|
+
'data-testid': 'popover',
|
19
|
+
state: mockState(true),
|
20
|
+
triggerRef: triggerRef
|
21
|
+
};
|
22
|
+
var getComponent = function getComponent() {
|
23
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
24
|
+
return render(___EmotionJSX(Popover, _extends({}, defaultProps, props), ___EmotionJSX(Box, {
|
25
|
+
"data-testid": "popover-children"
|
26
|
+
}, "I am in a popover")));
|
27
|
+
};
|
28
|
+
describe('Popover', function () {
|
29
|
+
test('does not render when isOpen is false', function () {
|
30
|
+
getComponent({
|
31
|
+
state: mockState(false)
|
32
|
+
});
|
33
|
+
expect(screen.queryByTestId('popover')).not.toBeInTheDocument();
|
34
|
+
});
|
35
|
+
test('renders when isOpen is true', function () {
|
36
|
+
getComponent({
|
37
|
+
state: mockState(true)
|
38
|
+
});
|
39
|
+
expect(screen.getByTestId('popover')).toBeInTheDocument();
|
40
|
+
expect(screen.getByTestId('popover-children')).toBeInTheDocument();
|
41
|
+
});
|
42
|
+
test('applies custom className', function () {
|
43
|
+
getComponent({
|
44
|
+
state: mockState(true),
|
45
|
+
className: 'custom-class'
|
46
|
+
});
|
47
|
+
expect(screen.getByTestId('popover')).toHaveClass('custom-class');
|
48
|
+
});
|
49
|
+
test('applies custom width', function () {
|
50
|
+
getComponent({
|
51
|
+
state: mockState(true),
|
52
|
+
width: 300
|
53
|
+
});
|
54
|
+
expect(screen.getByTestId('popover')).toHaveStyle({
|
55
|
+
width: '300px'
|
56
|
+
});
|
57
|
+
});
|
58
|
+
test('renders underlay and DismissButton when isNonModal is false', function () {
|
59
|
+
var _screen$getByTestId$p;
|
60
|
+
getComponent({
|
61
|
+
state: mockState(true),
|
62
|
+
isNonModal: false
|
63
|
+
});
|
64
|
+
expect((_screen$getByTestId$p = screen.getByTestId('popover').parentElement) === null || _screen$getByTestId$p === void 0 ? void 0 : _screen$getByTestId$p.querySelector('div')).toBeTruthy();
|
65
|
+
expect(screen.getByTestId('popover')).toBeInTheDocument();
|
66
|
+
});
|
67
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './Popover';
|
@@ -291,9 +291,6 @@ test('two listbox can not be open at the same time', function () {
|
|
291
291
|
name: 'Alpha'
|
292
292
|
})).toBeInTheDocument();
|
293
293
|
userEvent.click(button2);
|
294
|
-
expect(screen.queryByRole('listbox')).not.toBeInTheDocument();
|
295
|
-
expect(screen.queryByRole('option')).not.toBeInTheDocument();
|
296
|
-
userEvent.click(button2);
|
297
294
|
expect(screen.queryByRole('listbox')).toBeInTheDocument();
|
298
295
|
expect(screen.queryAllByRole('option')).toHaveLength(3);
|
299
296
|
expect(screen.queryByRole('option', {
|
@@ -5,31 +5,38 @@ import CheckBoldIcon from '@pingux/mdi-react/CheckBoldIcon';
|
|
5
5
|
import { useHover } from '@react-aria/interactions';
|
6
6
|
import PropTypes from 'prop-types';
|
7
7
|
import { Box, Icon } from '../../index';
|
8
|
+
import ORIENTATION from '../../utils/devUtils/constants/orientation';
|
8
9
|
import { stepStatuses } from './Stepper.constants';
|
9
10
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
10
11
|
var COMPLETED = stepStatuses.COMPLETED,
|
11
12
|
INACTIVE = stepStatuses.INACTIVE;
|
12
13
|
var Step = /*#__PURE__*/forwardRef(function (props, ref) {
|
13
14
|
var status = props.status,
|
14
|
-
value = props.value
|
15
|
+
value = props.value,
|
16
|
+
className = props.className,
|
17
|
+
orientation = props.orientation;
|
15
18
|
var _useHover = useHover(props),
|
16
19
|
hoverProps = _useHover.hoverProps,
|
17
20
|
isHovered = _useHover.isHovered;
|
21
|
+
var stepValue = orientation !== ORIENTATION.VERTICAL && value;
|
18
22
|
return ___EmotionJSX(Box, _extends({
|
19
23
|
variant: "stepper.step.".concat(status),
|
20
24
|
ref: ref
|
21
|
-
}, hoverProps
|
25
|
+
}, hoverProps, {
|
26
|
+
className: className
|
27
|
+
}), status === COMPLETED && !isHovered ? ___EmotionJSX(Icon, {
|
22
28
|
icon: CheckBoldIcon,
|
23
29
|
size: 23,
|
24
30
|
color: "text.primaryLight",
|
25
31
|
title: {
|
26
32
|
name: 'Check Bold Icon'
|
27
33
|
}
|
28
|
-
}) :
|
34
|
+
}) : stepValue);
|
29
35
|
});
|
30
36
|
Step.propTypes = {
|
31
37
|
status: PropTypes.oneOf(_Object$values(stepStatuses)),
|
32
|
-
value: PropTypes.number
|
38
|
+
value: PropTypes.number,
|
39
|
+
orientation: PropTypes.oneOf([ORIENTATION.VERTICAL, ORIENTATION.HORIZONTAL])
|
33
40
|
};
|
34
41
|
Step.defaultProps = {
|
35
42
|
status: INACTIVE,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
2
2
|
import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
|
3
3
|
import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
|
4
|
-
var _excluded = ["activeStep", "onStepChange", "tabListProps", "tooltipProps"];
|
4
|
+
var _excluded = ["activeStep", "onStepChange", "tabListProps", "tooltipProps", "orientation", "className"];
|
5
5
|
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; }
|
6
6
|
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; }
|
7
7
|
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
@@ -19,10 +19,13 @@ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object
|
|
19
19
|
import React, { forwardRef } from 'react';
|
20
20
|
import { useSingleSelectListState } from '@react-stately/list';
|
21
21
|
import PropTypes from 'prop-types';
|
22
|
-
import { Step, Tab, Tabs } from '../..';
|
22
|
+
import { Box, Step, Tab, Tabs, Text } from '../..';
|
23
|
+
import { useStatusClasses } from '../../hooks';
|
24
|
+
import ORIENTATION from '../../utils/devUtils/constants/orientation';
|
23
25
|
import isValidPositiveInt from '../../utils/devUtils/props/isValidPositiveInt';
|
24
26
|
import Line from './Line';
|
25
27
|
import { stepStatuses } from './Stepper.constants';
|
28
|
+
import { verticalLine } from './Stepper.styles';
|
26
29
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
27
30
|
var ACTIVE = stepStatuses.ACTIVE,
|
28
31
|
COMPLETED = stepStatuses.COMPLETED,
|
@@ -33,6 +36,8 @@ var Stepper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
33
36
|
onStepChange = props.onStepChange,
|
34
37
|
tabListProps = props.tabListProps,
|
35
38
|
tooltipProps = props.tooltipProps,
|
39
|
+
orientation = props.orientation,
|
40
|
+
className = props.className,
|
36
41
|
others = _objectWithoutProperties(props, _excluded);
|
37
42
|
var state = useSingleSelectListState(props);
|
38
43
|
var getStatus = function getStatus(i) {
|
@@ -49,23 +54,46 @@ var Stepper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
49
54
|
onStepChange(+key);
|
50
55
|
}
|
51
56
|
};
|
57
|
+
var _useStatusClasses = useStatusClasses(className, {
|
58
|
+
'is-vertical': orientation === ORIENTATION.VERTICAL,
|
59
|
+
'is-horizontal': orientation === ORIENTATION.HORIZONTAL
|
60
|
+
}),
|
61
|
+
classNames = _useStatusClasses.classNames;
|
52
62
|
var steps = _Array$from(state.collection);
|
53
63
|
var lines = _mapInstanceProperty(steps).call(steps, function (_v, i) {
|
54
64
|
return ___EmotionJSX(Line, {
|
65
|
+
className: classNames,
|
55
66
|
status: getStatus(i + 2)
|
56
67
|
});
|
57
68
|
});
|
58
69
|
var isFirst = true; // make sure not to insert until there's at least one non-null child
|
59
70
|
|
60
71
|
var render = _mapInstanceProperty(steps).call(steps, function (item, i) {
|
72
|
+
var _item$props;
|
61
73
|
var stepIndex = i + 1;
|
62
74
|
var stepStatus = getStatus(stepIndex);
|
75
|
+
var line = _Array$isArray(lines) ? lines[i - 1] : lines;
|
76
|
+
var defaultIndicator = ___EmotionJSX(Box, {
|
77
|
+
variant: "forms.label.indicator"
|
78
|
+
}, "*");
|
63
79
|
var step = ___EmotionJSX(Step, {
|
64
80
|
key: item.key,
|
65
81
|
value: stepIndex,
|
66
|
-
status: stepStatus
|
82
|
+
status: stepStatus,
|
83
|
+
className: classNames,
|
84
|
+
orientation: orientation
|
67
85
|
});
|
68
|
-
var
|
86
|
+
var verticalStep = ___EmotionJSX(Box, {
|
87
|
+
isRow: true
|
88
|
+
}, ___EmotionJSX(Step, {
|
89
|
+
key: item.key,
|
90
|
+
value: stepIndex,
|
91
|
+
status: stepStatus,
|
92
|
+
className: classNames,
|
93
|
+
orientation: orientation
|
94
|
+
}), ___EmotionJSX(Text, {
|
95
|
+
variant: "stepperLabel"
|
96
|
+
}, item.textValue, (item === null || item === void 0 || (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.isRequired) && defaultIndicator));
|
69
97
|
|
70
98
|
/* istanbul ignore next */
|
71
99
|
var textValue = item && item.value && item.value.label || item.textValue || stepIndex.toString();
|
@@ -79,11 +107,12 @@ var Stepper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
79
107
|
variant: 'stepper.tabLabel'
|
80
108
|
},
|
81
109
|
textValue: textValue,
|
82
|
-
title: step,
|
110
|
+
title: orientation === ORIENTATION.VERTICAL ? verticalStep : step,
|
83
111
|
"aria-label": textValue,
|
84
112
|
content: item.rendered,
|
85
|
-
separator: !isFirst && line,
|
86
|
-
tooltipTriggerProps: tooltipProps
|
113
|
+
separator: !isFirst && orientation === ORIENTATION.HORIZONTAL && !isFirst && line,
|
114
|
+
tooltipTriggerProps: tooltipProps,
|
115
|
+
sx: i !== steps.length - 1 && orientation === ORIENTATION.VERTICAL && verticalLine
|
87
116
|
});
|
88
117
|
isFirst = isFirst && !container;
|
89
118
|
return container;
|
@@ -97,7 +126,8 @@ var Stepper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
97
126
|
}, tabListProps),
|
98
127
|
onSelectionChange: onStepChangeHandler,
|
99
128
|
selectedKey: activeStep === null || activeStep === void 0 ? void 0 : activeStep.toString(),
|
100
|
-
mode: "tooltip"
|
129
|
+
mode: "tooltip",
|
130
|
+
orientation: orientation
|
101
131
|
}, others), render);
|
102
132
|
});
|
103
133
|
Stepper.propTypes = {
|
@@ -121,7 +151,11 @@ Stepper.propTypes = {
|
|
121
151
|
onStepChange: PropTypes.func,
|
122
152
|
/** A props object that is subsequently spread into the rendered tablist. */
|
123
153
|
tabListProps: PropTypes.shape({}),
|
124
|
-
tooltipProps: PropTypes.shape({})
|
154
|
+
tooltipProps: PropTypes.shape({}),
|
155
|
+
orientation: PropTypes.oneOf(['vertical', 'horizontal'])
|
125
156
|
};
|
126
157
|
Stepper.displayName = 'Stepper';
|
158
|
+
Stepper.defaultProps = {
|
159
|
+
orientation: 'horizontal'
|
160
|
+
};
|
127
161
|
export default Stepper;
|
@@ -70,6 +70,23 @@ var steps = [{
|
|
70
70
|
title: 'Excepteur Sint',
|
71
71
|
name: 'step3'
|
72
72
|
}];
|
73
|
+
var customSteps = [{
|
74
|
+
label: 'Duis Aute',
|
75
|
+
children: 'Quis autem vel eum iure reprehenderit qui in ea voluptate',
|
76
|
+
title: 'Duis Aute',
|
77
|
+
name: 'step1',
|
78
|
+
isRequired: true
|
79
|
+
}, {
|
80
|
+
label: 'Lorem Ipsum',
|
81
|
+
children: 'Sed ut perspiciatis unde omnis',
|
82
|
+
title: 'Lorem Ipsum',
|
83
|
+
name: 'step2'
|
84
|
+
}, {
|
85
|
+
label: 'Excepteur Sint',
|
86
|
+
children: 'Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam',
|
87
|
+
title: 'Excepteur Sint',
|
88
|
+
name: 'step3'
|
89
|
+
}];
|
73
90
|
var sx = {
|
74
91
|
overlayPanel: {
|
75
92
|
padding: '0px',
|
@@ -84,6 +101,11 @@ var sx = {
|
|
84
101
|
},
|
85
102
|
buttonStyle: {
|
86
103
|
margin: '50px 0px'
|
104
|
+
},
|
105
|
+
verticalContentContainer: {
|
106
|
+
marginTop: 'lg',
|
107
|
+
ml: 'lg',
|
108
|
+
gap: 'sm'
|
87
109
|
}
|
88
110
|
};
|
89
111
|
export var Default = function Default(args) {
|
@@ -274,4 +296,27 @@ export var Panel = function Panel() {
|
|
274
296
|
}, item.children)));
|
275
297
|
})))
|
276
298
|
);
|
299
|
+
};
|
300
|
+
export var VerticalStepper = function VerticalStepper() {
|
301
|
+
var _useState5 = useState(2),
|
302
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
303
|
+
activeStep = _useState6[0],
|
304
|
+
setActiveStep = _useState6[1];
|
305
|
+
return ___EmotionJSX(Stepper, {
|
306
|
+
items: customSteps,
|
307
|
+
activeStep: activeStep,
|
308
|
+
onStepChange: setActiveStep,
|
309
|
+
orientation: "vertical",
|
310
|
+
mode: "tooltipIsDisabled"
|
311
|
+
}, function (item) {
|
312
|
+
return ___EmotionJSX(Item, {
|
313
|
+
key: item.name,
|
314
|
+
textValue: item.title,
|
315
|
+
isRequired: item === null || item === void 0 ? void 0 : item.isRequired
|
316
|
+
}, ___EmotionJSX(Box, {
|
317
|
+
sx: sx.verticalContentContainer
|
318
|
+
}, ___EmotionJSX(Text, {
|
319
|
+
fontSize: "md"
|
320
|
+
}, item.children)));
|
321
|
+
});
|
277
322
|
};
|
@@ -18,19 +18,48 @@ var tabs = {
|
|
18
18
|
outline: 'none',
|
19
19
|
borderBottom: 'none',
|
20
20
|
mb: 0,
|
21
|
-
|
22
|
-
|
21
|
+
justifyContent: 'center',
|
22
|
+
'&.is-horizontal': {
|
23
|
+
width: '100%'
|
24
|
+
},
|
25
|
+
'&.is-vertical': {
|
26
|
+
minWidth: '217px',
|
27
|
+
borderRight: '1px solid #e4e6e9'
|
28
|
+
}
|
29
|
+
};
|
30
|
+
export var verticalLine = {
|
31
|
+
'&:before': {
|
32
|
+
position: 'absolute',
|
33
|
+
content: '""',
|
34
|
+
borderLeft: '2px solid',
|
35
|
+
borderLeftColor: 'neutral.80',
|
36
|
+
left: '27px',
|
37
|
+
top: '28px',
|
38
|
+
height: '26px'
|
39
|
+
}
|
23
40
|
};
|
24
41
|
var tab = {
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
42
|
+
'&.is-horizontal': {
|
43
|
+
mb: 0,
|
44
|
+
mr: 0,
|
45
|
+
outline: 'none',
|
46
|
+
'&.is-focused': _objectSpread({
|
47
|
+
borderRadius: '50%'
|
48
|
+
}, defaultFocus),
|
49
|
+
'&:not(:first-of-type)': {
|
50
|
+
flex: 1,
|
51
|
+
maxWidth: 122
|
52
|
+
}
|
53
|
+
},
|
54
|
+
'&.is-vertical': {
|
55
|
+
position: 'relative',
|
56
|
+
height: '42px',
|
57
|
+
width: '100%',
|
58
|
+
py: '12px',
|
59
|
+
px: '20px',
|
60
|
+
':focus-visible:not(.is-focused)': {
|
61
|
+
outline: 'none'
|
62
|
+
}
|
34
63
|
}
|
35
64
|
};
|
36
65
|
var tabLabel = {
|
@@ -42,13 +71,13 @@ var outerWrapper = {
|
|
42
71
|
|
43
72
|
/** Step styles */
|
44
73
|
var stepBase = {
|
74
|
+
display: 'flex',
|
75
|
+
justifyContent: 'center',
|
76
|
+
alignItems: 'center',
|
45
77
|
width: 32,
|
46
78
|
height: 32,
|
47
79
|
minWidth: 32,
|
48
80
|
minHeight: 32,
|
49
|
-
display: 'flex',
|
50
|
-
justifyContent: 'center',
|
51
|
-
alignItems: 'center',
|
52
81
|
borderWidth: 1,
|
53
82
|
borderStyle: 'solid',
|
54
83
|
borderRadius: '50%',
|
@@ -61,22 +90,47 @@ var stepBase = {
|
|
61
90
|
color: 'text.primaryLight'
|
62
91
|
}
|
63
92
|
};
|
93
|
+
var stepBaseVertical = _objectSpread(_objectSpread({}, stepBase), {}, {
|
94
|
+
width: 16,
|
95
|
+
height: 16,
|
96
|
+
minWidth: 16,
|
97
|
+
minHeight: 16
|
98
|
+
});
|
64
99
|
var step = {
|
65
|
-
active:
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
100
|
+
active: {
|
101
|
+
'&.is-horizontal': _objectSpread({
|
102
|
+
backgroundColor: 'accent.99',
|
103
|
+
borderColor: 'active',
|
104
|
+
color: 'active'
|
105
|
+
}, stepBase),
|
106
|
+
'&.is-vertical': _objectSpread(_objectSpread({}, stepBaseVertical), {}, {
|
107
|
+
backgroundColor: '#fff',
|
108
|
+
border: '4px solid',
|
109
|
+
borderColor: 'active'
|
110
|
+
})
|
111
|
+
},
|
112
|
+
completed: {
|
113
|
+
'&.is-horizontal': _objectSpread({
|
114
|
+
backgroundColor: 'active',
|
115
|
+
borderColor: 'active',
|
116
|
+
color: 'text.primaryLight'
|
117
|
+
}, stepBase),
|
118
|
+
'&.is-vertical': _objectSpread({
|
119
|
+
backgroundColor: 'active',
|
120
|
+
borderColor: 'transparent'
|
121
|
+
}, stepBaseVertical)
|
122
|
+
},
|
123
|
+
inactive: {
|
124
|
+
'&.is-horizontal': _objectSpread({
|
125
|
+
backgroundColor: 'white',
|
126
|
+
borderColor: 'neutral.80',
|
127
|
+
color: 'neutral.40'
|
128
|
+
}, stepBase),
|
129
|
+
'&.is-vertical': _objectSpread(_objectSpread({}, stepBaseVertical), {}, {
|
130
|
+
backgroundColor: '#caced3',
|
131
|
+
border: '4px solid #fff'
|
132
|
+
})
|
133
|
+
}
|
80
134
|
};
|
81
135
|
|
82
136
|
/** Line styles */
|
@@ -41,6 +41,14 @@ var tabLabel = _objectSpread(_objectSpread(_objectSpread({}, base), wordWrap), {
|
|
41
41
|
color: 'neutral.80'
|
42
42
|
}
|
43
43
|
});
|
44
|
+
var stepperLabel = _objectSpread(_objectSpread({}, base), {}, {
|
45
|
+
fontSize: '14px',
|
46
|
+
fontWeight: '500',
|
47
|
+
display: 'flex',
|
48
|
+
ml: '14px',
|
49
|
+
color: 'neutral.30',
|
50
|
+
cursor: 'pointer'
|
51
|
+
});
|
44
52
|
var environmentBreadcrumb = _objectSpread(_objectSpread({}, base), {}, {
|
45
53
|
fontSize: 'sm',
|
46
54
|
fontWeight: 3,
|
@@ -240,5 +248,6 @@ export var text = _objectSpread(_objectSpread(_objectSpread({
|
|
240
248
|
title: title,
|
241
249
|
copyRightText: copyRightText,
|
242
250
|
attachmentTitle: attachmentTitle,
|
243
|
-
messagesText: _objectSpread({}, base)
|
251
|
+
messagesText: _objectSpread({}, base),
|
252
|
+
stepperLabel: stepperLabel
|
244
253
|
});
|
@@ -18,7 +18,7 @@ import { useSelect } from '@react-aria/select';
|
|
18
18
|
import { useResizeObserver } from '@react-aria/utils';
|
19
19
|
import { useSelectState } from '@react-stately/select';
|
20
20
|
import ListBox from '../../components/ListBox/ListBox';
|
21
|
-
import
|
21
|
+
import Popover from '../../components/Popover/Popover';
|
22
22
|
import ScrollBox from '../../components/ScrollBox';
|
23
23
|
import { modes } from '../../utils/devUtils/constants/labelModes';
|
24
24
|
import { useColumnStyles, useDeprecationWarning, useField } from '..';
|
@@ -193,15 +193,11 @@ var useSelectField = function useSelectField(props, ref) {
|
|
193
193
|
return state.close();
|
194
194
|
}
|
195
195
|
}));
|
196
|
-
var overlay = ___EmotionJSX(
|
197
|
-
hasNoArrow: true,
|
198
|
-
isDismissable: true,
|
196
|
+
var overlay = ___EmotionJSX(Popover, {
|
199
197
|
isNonModal: true,
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
ref: popoverRef,
|
204
|
-
style: style
|
198
|
+
triggerRef: triggerRef,
|
199
|
+
style: style,
|
200
|
+
state: state
|
205
201
|
}, ___EmotionJSX(ScrollBox, scrollBoxProps, listbox));
|
206
202
|
return {
|
207
203
|
columnStyleProps: columnStyleProps,
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@pingux/astro",
|
3
|
-
"version": "2.140.0-alpha.
|
3
|
+
"version": "2.140.0-alpha.6",
|
4
4
|
"description": "React component library for Ping Identity's design system",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -71,7 +71,7 @@
|
|
71
71
|
"@react-aria/list": "^3.0.0-beta.0",
|
72
72
|
"@react-aria/listbox": "~3.10.2",
|
73
73
|
"@react-aria/live-announcer": "~3.1.1",
|
74
|
-
"@react-aria/overlays": "^3.
|
74
|
+
"@react-aria/overlays": "^3.28.0",
|
75
75
|
"@react-aria/progress": "^3.4.9",
|
76
76
|
"@react-aria/select": "^3.14.5",
|
77
77
|
"@react-aria/selection": "~3.10.1",
|