@pingux/astro 2.203.0-alpha.0 → 2.205.0-alpha.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.
Files changed (35) hide show
  1. package/lib/cjs/components/LinkSelectField/LinkSelectField.js +29 -10
  2. package/lib/cjs/components/LinkSelectField/LinkSelectField.stories.js +55 -1
  3. package/lib/cjs/components/LinkSelectField/LinkSelectField.test.js +33 -8
  4. package/lib/cjs/components/Stepper/Line.d.ts +7 -0
  5. package/lib/cjs/components/Stepper/Line.js +0 -5
  6. package/lib/cjs/components/Stepper/Step.d.ts +10 -0
  7. package/lib/cjs/components/Stepper/Step.js +6 -14
  8. package/lib/cjs/components/Stepper/Stepper.constants.d.ts +6 -0
  9. package/lib/cjs/components/Stepper/Stepper.d.ts +4 -0
  10. package/lib/cjs/components/Stepper/Stepper.js +15 -29
  11. package/lib/cjs/components/Stepper/Stepper.stories.js +2 -2
  12. package/lib/cjs/components/Stepper/Stepper.styles.d.ts +257 -0
  13. package/lib/cjs/components/Stepper/Stepper.test.js +18 -20
  14. package/lib/cjs/components/Stepper/index.d.ts +2 -0
  15. package/lib/cjs/styles/themeOverrides/onyxDarkUiLibraryOverride.js +3 -1
  16. package/lib/cjs/types/Stepper.d.ts +33 -0
  17. package/lib/cjs/types/Stepper.js +6 -0
  18. package/lib/cjs/types/index.d.ts +1 -0
  19. package/lib/cjs/types/index.js +20 -9
  20. package/lib/cjs/types/tabs.d.ts +2 -2
  21. package/lib/cjs/utils/devUtils/props/isValidPositiveInt.d.ts +2 -0
  22. package/lib/cjs/utils/devUtils/props/isValidPositiveInt.js +2 -1
  23. package/lib/components/LinkSelectField/LinkSelectField.js +29 -10
  24. package/lib/components/LinkSelectField/LinkSelectField.stories.js +55 -1
  25. package/lib/components/LinkSelectField/LinkSelectField.test.js +33 -8
  26. package/lib/components/Stepper/Line.js +0 -5
  27. package/lib/components/Stepper/Step.js +6 -14
  28. package/lib/components/Stepper/Stepper.js +17 -31
  29. package/lib/components/Stepper/Stepper.stories.js +2 -2
  30. package/lib/components/Stepper/Stepper.test.js +18 -20
  31. package/lib/styles/themeOverrides/onyxDarkUiLibraryOverride.js +3 -1
  32. package/lib/types/Stepper.js +1 -0
  33. package/lib/types/index.js +1 -0
  34. package/lib/utils/devUtils/props/isValidPositiveInt.js +2 -1
  35. package/package.json +1 -1
@@ -15,6 +15,7 @@ _Object$defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
17
  exports["default"] = void 0;
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
18
19
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
19
20
  var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectDestructuringEmpty"));
20
21
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
@@ -31,6 +32,7 @@ var _fieldAttributes = require("../../utils/docUtils/fieldAttributes");
31
32
  var _statusProp = require("../../utils/docUtils/statusProp");
32
33
  var _SelectFieldBase = _interopRequireDefault(require("../SelectFieldBase"));
33
34
  var _react2 = require("@emotion/react");
35
+ var _excluded = ["sx"];
34
36
  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); }
35
37
  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; }
36
38
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -40,10 +42,11 @@ var LinkSelectField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
40
42
  isDisabled = props.isDisabled,
41
43
  status = props.status,
42
44
  helperText = props.helperText,
43
- iconProps = props.iconProps,
44
45
  hasInlineLoader = props.hasInlineLoader,
45
46
  popoverWidth = props.popoverWidth,
46
- triggerProps = props.triggerProps;
47
+ iconProps = props.iconProps,
48
+ triggerProps = props.triggerProps,
49
+ triggerProp = props.trigger;
47
50
  var _getAriaAttributeProp = (0, _ariaAttributes.getAriaAttributeProps)(props),
48
51
  ariaProps = _getAriaAttributeProp.ariaProps;
49
52
  var _useGetTheme = (0, _hooks.useGetTheme)(),
@@ -67,7 +70,10 @@ var LinkSelectField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
67
70
  state = selectFieldProps.state,
68
71
  raTriggerProps = selectFieldProps.triggerProps,
69
72
  triggerRef = selectFieldProps.triggerRef;
70
- var trigger = (0, _react2.jsx)(_.Button, (0, _extends2["default"])({
73
+ var _ref = iconProps || {},
74
+ iconPropsSx = _ref.sx,
75
+ restIconProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
76
+ var triggerNode = (0, _react2.jsx)(_.Button, (0, _extends2["default"])({
71
77
  className: fieldControlInputProps.className,
72
78
  ref: triggerRef,
73
79
  variant: "selectLink",
@@ -87,23 +93,25 @@ var LinkSelectField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
87
93
  variant: "forms.select.arrow"
88
94
  }, (0, _react2.jsx)(_.Icon, (0, _extends2["default"])({
89
95
  icon: MenuDown,
96
+ title: {
97
+ name: 'Menu Down Icon'
98
+ },
99
+ sx: _objectSpread(_objectSpread({}, state.isOpen ? {
100
+ transform: 'rotate(180deg)'
101
+ } : null), iconPropsSx)
102
+ }, restIconProps, {
90
103
  title: {
91
104
  name: ''
92
105
  },
93
106
  color: isOnyx ? 'font.link' : 'active',
94
107
  size: linkSelectFieldIcon,
95
108
  "aria-hidden": "true"
96
- }, iconProps, {
97
- sx: _objectSpread({
98
- transform: state.isOpen ? 'rotate(180deg)' : 'rotate(0deg)',
99
- transition: 'transform 150ms ease'
100
- }, iconProps === null || iconProps === void 0 ? void 0 : iconProps.sx)
101
109
  })))), (0, _react2.jsx)(_reactAria.VisuallyHidden, {
102
110
  "aria-live": "polite",
103
111
  id: helperTextId
104
112
  }, helperText));
105
113
  return (0, _react2.jsx)(_SelectFieldBase["default"], (0, _extends2["default"])({}, props, selectFieldProps, {
106
- trigger: trigger
114
+ trigger: triggerProp || triggerNode
107
115
  }));
108
116
  });
109
117
  LinkSelectField.propTypes = _objectSpread(_objectSpread(_objectSpread({
@@ -172,8 +180,19 @@ LinkSelectField.propTypes = _objectSpread(_objectSpread(_objectSpread({
172
180
  onSelectionChange: _propTypes["default"].func,
173
181
  /** Display an inline loader inside the select trigger while loading. */
174
182
  hasInlineLoader: _propTypes["default"].bool,
183
+ /**
184
+ * Props object that is spread directly into the Icon inside the default trigger button.
185
+ * Supports all IconProps (icon, title, size, color, sx, etc.).
186
+ * The sx prop is merged with the rotation style.
187
+ */
188
+ iconProps: _propTypes["default"].shape({}),
175
189
  /** Width of the popover menu. Accepts any valid CSS unit. */
176
- popoverWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
190
+ popoverWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
191
+ /**
192
+ * A ReactNode that replaces the default Button trigger entirely.
193
+ * When provided, the local Button element is not rendered.
194
+ */
195
+ trigger: _propTypes["default"].node
177
196
  }, _statusProp.statusPropTypes), _fieldAttributes.inputFieldAttributesBasePropTypes), _ariaAttributes.ariaAttributesBasePropTypes);
178
197
  LinkSelectField.defaultProps = _objectSpread({
179
198
  placeholder: 'Select',
@@ -23,7 +23,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
23
23
  _Object$defineProperty(exports, "__esModule", {
24
24
  value: true
25
25
  });
26
- exports["default"] = exports.WithPopoverWidth = exports.WithNoneOption = exports.NoOptionsAvailable = exports.LeftLabel = exports.HelperText = exports.DynamicItems = exports.DisabledOptions = exports.DisabledField = exports.Default = exports.Controlled = exports.AsyncLoading = void 0;
26
+ exports["default"] = exports.WithPopoverWidth = exports.WithNoneOption = exports.WithIconProps = exports.WithCustomTrigger = exports.NoOptionsAvailable = exports.LeftLabel = exports.HelperText = exports.DynamicItems = exports.DisabledOptions = exports.DisabledField = exports.Default = exports.Controlled = exports.AsyncLoading = void 0;
27
27
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
28
28
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
29
29
  var _fill = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/fill"));
@@ -32,6 +32,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/e
32
32
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
33
33
  var _react = _interopRequireWildcard(require("react"));
34
34
  var _reactAria = require("react-aria");
35
+ var _EarthIcon = _interopRequireDefault(require("@pingux/mdi-react/EarthIcon"));
35
36
  var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
36
37
  var _users = require("../../api/users");
37
38
  var _index = require("../../index");
@@ -94,6 +95,14 @@ var _default = exports["default"] = {
94
95
  isRequired: {},
95
96
  selectedKey: {
96
97
  control: false
98
+ },
99
+ iconProps: {
100
+ control: false,
101
+ description: 'Props object spread into the Icon inside the default trigger button. Supports icon, title, size, color, sx, and other IconProps. The sx prop is merged with the rotation style.'
102
+ },
103
+ trigger: {
104
+ control: false,
105
+ description: 'A ReactNode that replaces the default Button trigger entirely. When provided, the local Button element is not rendered.'
97
106
  }
98
107
  }, _statusProp.statusArgTypes), _ariaAttributes.ariaAttributeBaseArgTypes), _fieldAttributes.inputFieldAttributeBaseArgTypes),
99
108
  args: {
@@ -352,4 +361,49 @@ WithPopoverWidth.parameters = {
352
361
  story: 'The `popoverWidth` prop can be used to set a custom width for the dropdown/popover.'
353
362
  }
354
363
  }
364
+ };
365
+ var WithIconProps = exports.WithIconProps = function WithIconProps() {
366
+ return (0, _react2.jsx)(_reactAria.OverlayProvider, null, (0, _react2.jsx)(_index.LinkSelectField, {
367
+ label: "What's your favorite color?",
368
+ iconProps: {
369
+ icon: _EarthIcon["default"],
370
+ sx: {
371
+ color: 'accent.40'
372
+ }
373
+ }
374
+ }, (0, _react2.jsx)(_index.Item, {
375
+ key: "red"
376
+ }, "Red"), (0, _react2.jsx)(_index.Item, {
377
+ key: "blue"
378
+ }, "Blue"), (0, _react2.jsx)(_index.Item, {
379
+ key: "yellow"
380
+ }, "Yellow")));
381
+ };
382
+ WithIconProps.parameters = {
383
+ docs: {
384
+ description: {
385
+ story: 'Use the `iconProps` prop to customize the icon inside the default trigger button. Here a different icon and custom `sx` color are passed via `iconProps`.'
386
+ }
387
+ }
388
+ };
389
+ var WithCustomTrigger = exports.WithCustomTrigger = function WithCustomTrigger() {
390
+ return (0, _react2.jsx)(_reactAria.OverlayProvider, null, (0, _react2.jsx)(_index.LinkSelectField, {
391
+ label: "What's your favorite color?",
392
+ trigger: (0, _react2.jsx)(_index.Button, {
393
+ variant: "primary"
394
+ }, "Open menu")
395
+ }, (0, _react2.jsx)(_index.Item, {
396
+ key: "red"
397
+ }, "Red"), (0, _react2.jsx)(_index.Item, {
398
+ key: "blue"
399
+ }, "Blue"), (0, _react2.jsx)(_index.Item, {
400
+ key: "yellow"
401
+ }, "Yellow")));
402
+ };
403
+ WithCustomTrigger.parameters = {
404
+ docs: {
405
+ description: {
406
+ story: 'Use the `trigger` prop to supply a fully custom ReactNode trigger, replacing the default `Button` element entirely.'
407
+ }
408
+ }
355
409
  };
@@ -15,6 +15,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
15
15
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
16
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
17
17
  var _react = _interopRequireDefault(require("react"));
18
+ var _EarthIcon = _interopRequireDefault(require("@pingux/mdi-react/EarthIcon"));
18
19
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
19
20
  var _index = require("../../index");
20
21
  var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
@@ -231,23 +232,47 @@ test('passing helper text should display it and correct aria attributes on input
231
232
  var helperTextID = helper.getAttribute('id');
232
233
  expect(_testWrapper.screen.getByRole('button')).toHaveAttribute('aria-describedby', helperTextID);
233
234
  });
234
- test('iconProps are spread to the icon element', function () {
235
- var iconTestId = 'custom-icon';
235
+ test('iconProps data-testid is applied to the inner Icon element', function () {
236
236
  getComponent({
237
237
  iconProps: {
238
- 'data-testid': iconTestId
238
+ 'data-testid': 'custom-icon',
239
+ sx: {
240
+ color: 'red'
241
+ }
239
242
  }
240
243
  });
241
- expect(_testWrapper.screen.getByTestId(iconTestId)).toBeInTheDocument();
244
+ var icon = _testWrapper.screen.getByTestId('custom-icon');
245
+ expect(icon).toBeInTheDocument();
246
+ expect(icon).toBeInstanceOf(SVGSVGElement);
242
247
  });
243
- test('triggerProps are spread to the trigger button', function () {
248
+ test('iconProps with a custom icon renders the substitute icon without throwing', function () {
244
249
  getComponent({
245
- triggerProps: {
246
- 'data-custom': 'custom-trigger'
250
+ iconProps: {
251
+ icon: _EarthIcon["default"]
247
252
  }
248
253
  });
254
+ // The default trigger button is still present when only iconProps is provided
255
+ var button = _testWrapper.screen.getByRole('button');
256
+ expect(button).toBeInTheDocument();
257
+ });
258
+ test('trigger prop replaces the default Button trigger', function () {
259
+ getComponent({
260
+ trigger: (0, _react2.jsx)("button", {
261
+ type: "button",
262
+ "data-testid": "custom-trigger"
263
+ }, "Custom")
264
+ });
265
+ expect(_testWrapper.screen.getByTestId('custom-trigger')).toBeInTheDocument();
266
+ // The default Button trigger (identified by its pendo data attribute) should not be rendered
267
+ expect(document.querySelector('[data-pendo-id="LinkSelectField"]')).not.toBeInTheDocument();
268
+ });
269
+ test('default render is unchanged when neither iconProps nor trigger is provided', function () {
270
+ getComponent();
271
+ // The default trigger button is present via getByRole
249
272
  var button = _testWrapper.screen.getByRole('button');
250
- expect(button).toHaveAttribute('data-custom', 'custom-trigger');
273
+ expect(button).toBeInTheDocument();
274
+ // The default button has the pendo ID set by the component
275
+ expect(document.querySelector('[data-pendo-id="LinkSelectField"]')).toBeInTheDocument();
251
276
  });
252
277
 
253
278
  // Needs to be added to each components test file
@@ -0,0 +1,7 @@
1
+ import { StepStatus } from './Stepper.constants';
2
+ interface LineProps {
3
+ className?: string;
4
+ status?: StepStatus;
5
+ }
6
+ declare const Line: ({ className, status, }: LineProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default Line;
@@ -6,9 +6,7 @@ _Object$defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
- var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
10
9
  var _react = _interopRequireDefault(require("react"));
11
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
10
  var _hooks = require("../../hooks");
13
11
  var _Box = _interopRequireDefault(require("../Box"));
14
12
  var _Stepper = require("./Stepper.constants");
@@ -29,7 +27,4 @@ var Line = function Line(_ref) {
29
27
  className: classNames
30
28
  });
31
29
  };
32
- Line.propTypes = {
33
- status: _propTypes["default"].oneOf((0, _values["default"])(_Stepper.stepStatuses))
34
- };
35
30
  var _default = exports["default"] = Line;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { StepStatus } from './Stepper.constants';
3
+ interface StepProps {
4
+ status?: StepStatus;
5
+ value?: number;
6
+ className?: string;
7
+ orientation?: 'vertical' | 'horizontal';
8
+ }
9
+ declare const Step: React.ForwardRefExoticComponent<StepProps & React.RefAttributes<HTMLElement>>;
10
+ export default Step;
@@ -9,12 +9,10 @@ _Object$defineProperty(exports, "__esModule", {
9
9
  value: true
10
10
  });
11
11
  exports["default"] = void 0;
12
- var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
13
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
14
13
  var _react = _interopRequireWildcard(require("react"));
15
14
  var _CheckBoldIcon = _interopRequireDefault(require("@pingux/mdi-react/CheckBoldIcon"));
16
15
  var _interactions = require("@react-aria/interactions");
17
- var _propTypes = _interopRequireDefault(require("prop-types"));
18
16
  var _index = require("../../index");
19
17
  var _orientation = _interopRequireDefault(require("../../utils/devUtils/constants/orientation"));
20
18
  var _Stepper = require("./Stepper.constants");
@@ -23,11 +21,13 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var
23
21
  var COMPLETED = _Stepper.stepStatuses.COMPLETED,
24
22
  INACTIVE = _Stepper.stepStatuses.INACTIVE;
25
23
  var Step = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
26
- var status = props.status,
27
- value = props.value,
24
+ var _props$status = props.status,
25
+ status = _props$status === void 0 ? INACTIVE : _props$status,
26
+ _props$value = props.value,
27
+ value = _props$value === void 0 ? 0 : _props$value,
28
28
  className = props.className,
29
29
  orientation = props.orientation;
30
- var _useHover = (0, _interactions.useHover)(props),
30
+ var _useHover = (0, _interactions.useHover)({}),
31
31
  hoverProps = _useHover.hoverProps,
32
32
  isHovered = _useHover.isHovered;
33
33
  var stepValue = orientation !== _orientation["default"].VERTICAL && value;
@@ -45,13 +45,5 @@ var Step = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
45
45
  }
46
46
  }) : stepValue);
47
47
  });
48
- Step.propTypes = {
49
- status: _propTypes["default"].oneOf((0, _values["default"])(_Stepper.stepStatuses)),
50
- value: _propTypes["default"].number,
51
- orientation: _propTypes["default"].oneOf([_orientation["default"].VERTICAL, _orientation["default"].HORIZONTAL])
52
- };
53
- Step.defaultProps = {
54
- status: INACTIVE,
55
- value: 0
56
- };
48
+ Step.displayName = 'Step';
57
49
  var _default = exports["default"] = Step;
@@ -0,0 +1,6 @@
1
+ export declare const stepStatuses: {
2
+ readonly ACTIVE: "active";
3
+ readonly COMPLETED: "completed";
4
+ readonly INACTIVE: "inactive";
5
+ };
6
+ export type StepStatus = typeof stepStatuses[keyof typeof stepStatuses];
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { StepperProps } from '../../types';
3
+ declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLElement>>;
4
+ export default Stepper;
@@ -23,11 +23,11 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/he
23
23
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
24
24
  var _react = _interopRequireWildcard(require("react"));
25
25
  var _list = require("@react-stately/list");
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
26
  var _ = require("../..");
28
27
  var _hooks = require("../../hooks");
29
28
  var _orientation = _interopRequireDefault(require("../../utils/devUtils/constants/orientation"));
30
29
  var _isValidPositiveInt = _interopRequireDefault(require("../../utils/devUtils/props/isValidPositiveInt"));
30
+ var _Tab = _interopRequireDefault(require("../Tab"));
31
31
  var _Line = _interopRequireDefault(require("./Line"));
32
32
  var _Stepper = require("./Stepper.constants");
33
33
  var _Stepper2 = require("./Stepper.styles");
@@ -49,6 +49,15 @@ var Stepper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
49
49
  orientation = props.orientation,
50
50
  className = props.className,
51
51
  others = (0, _objectWithoutProperties2["default"])(props, _excluded);
52
+ var stepperRef = (0, _hooks.useLocalOrForwardRef)(ref);
53
+ if (process.env.NODE_ENV !== 'production' && props.activeStep !== undefined) {
54
+ var validationError = (0, _isValidPositiveInt["default"])({
55
+ activeStep: props.activeStep
56
+ }, 'activeStep', 'Stepper');
57
+ if (validationError) {
58
+ console.error(validationError.message);
59
+ }
60
+ }
52
61
  var state = (0, _list.useSingleSelectListState)(props);
53
62
  var getStatus = function getStatus(i) {
54
63
  if (i === activeStep) {
@@ -61,7 +70,7 @@ var Stepper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
61
70
  };
62
71
  var onStepChangeHandler = function onStepChangeHandler(key) {
63
72
  if (onStepChange) {
64
- onStepChange(+key);
73
+ onStepChange(Number(key));
65
74
  }
66
75
  };
67
76
  var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
@@ -107,7 +116,8 @@ var Stepper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
107
116
 
108
117
  /* istanbul ignore next */
109
118
  var textValue = item && item.value && item.value.label || item.textValue || stepIndex.toString();
110
- var container = (0, _react2.jsx)(_.Tab, {
119
+ var TabItem = _Tab["default"];
120
+ var container = (0, _react2.jsx)(TabItem, {
111
121
  key: stepIndex,
112
122
  variant: "stepper.tab",
113
123
  tabLineProps: {
@@ -122,13 +132,13 @@ var Stepper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
122
132
  content: item.rendered,
123
133
  separator: !isFirst && orientation === _orientation["default"].HORIZONTAL && !isFirst && line,
124
134
  tooltipTriggerProps: tooltipProps,
125
- sx: i !== steps.length - 1 && orientation === _orientation["default"].VERTICAL && _Stepper2.verticalLine
135
+ sx: i !== steps.length - 1 && orientation === _orientation["default"].VERTICAL ? _Stepper2.verticalLine : undefined
126
136
  });
127
137
  isFirst = isFirst && !container;
128
138
  return container;
129
139
  });
130
140
  return (0, _react2.jsx)(_.Tabs, (0, _extends2["default"])({
131
- ref: ref,
141
+ ref: stepperRef,
132
142
  variant: "stepper.wrapper",
133
143
  tabListProps: _objectSpread({
134
144
  variant: 'stepper.tabs',
@@ -140,30 +150,6 @@ var Stepper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
140
150
  orientation: orientation
141
151
  }, others), render);
142
152
  });
143
- Stepper.propTypes = {
144
- /**
145
- * *For performance reasons,
146
- use this prop instead of Array.map when iteratively rendering Items*.
147
- * For use with [dynamic collections](https://react-spectrum.adobe.com/react-stately/collections.html#dynamic-collections).
148
- */
149
- items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
150
- /** The primary option for the tooltip label. */
151
- label: _propTypes["default"].string,
152
- children: _propTypes["default"].node,
153
- name: _propTypes["default"].string
154
- })),
155
- /** The number of the current step (using one-based indexing) */
156
- activeStep: _isValidPositiveInt["default"],
157
- /**
158
- * Handler that is called when the current step changes
159
- * `(index: number) => void`
160
- */
161
- onStepChange: _propTypes["default"].func,
162
- /** A props object that is subsequently spread into the rendered tablist. */
163
- tabListProps: _propTypes["default"].shape({}),
164
- tooltipProps: _propTypes["default"].shape({}),
165
- orientation: _propTypes["default"].oneOf(['vertical', 'horizontal'])
166
- };
167
153
  Stepper.displayName = 'Stepper';
168
154
  Stepper.defaultProps = {
169
155
  orientation: 'horizontal'
@@ -16,7 +16,7 @@ var _CreationOutlineIcon = _interopRequireDefault(require("@pingux/mdi-react/Cre
16
16
  var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
17
17
  var _hooks = require("../../hooks");
18
18
  var _index = require("../../index");
19
- var _figmaLinks = require("../../utils/designUtils/figmaLinks.ts");
19
+ var _figmaLinks = require("../../utils/designUtils/figmaLinks");
20
20
  var _Stepper = _interopRequireDefault(require("./Stepper.mdx"));
21
21
  var _react2 = require("@emotion/react");
22
22
  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); }
@@ -248,7 +248,7 @@ var Panel = exports.Panel = function Panel() {
248
248
  var _useOverlayPanelState = (0, _hooks.useOverlayPanelState)(),
249
249
  state = _useOverlayPanelState.state,
250
250
  onClose = _useOverlayPanelState.onClose;
251
- var triggerRef = _react.useRef < HTMLButtonElement > null;
251
+ var triggerRef = (0, _react.useRef)(null);
252
252
  var onCloseHandler = function onCloseHandler() {
253
253
  return onClose(state, triggerRef);
254
254
  };