@pingux/astro 2.99.0 → 2.100.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.
@@ -16,6 +16,7 @@ _Object$defineProperty(exports, "__esModule", {
16
16
  });
17
17
  exports["default"] = exports.ELEMENT_TYPE = void 0;
18
18
  var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
19
+ var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/reflect/delete-property"));
19
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
20
21
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
21
22
  var _react = _interopRequireWildcard(require("react"));
@@ -49,6 +50,7 @@ var BreadcrumbItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
49
50
  var _useBreadcrumbItem = (0, _reactAria.useBreadcrumbItem)(_objectSpread({}, props), itemRef),
50
51
  itemProps = _useBreadcrumbItem.itemProps;
51
52
  var BreadcrumbItemElementType = (0, _react.useMemo)(function () {
53
+ if (isCurrent) return _index.Text;
52
54
  switch (elementType) {
53
55
  case ELEMENT_TYPE.BUTTON:
54
56
  return _index.Button;
@@ -63,7 +65,7 @@ var BreadcrumbItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
63
65
  default:
64
66
  return elementType;
65
67
  }
66
- }, [elementType]);
68
+ }, [elementType, isCurrent]);
67
69
  var onPressHandler = (0, _react.useCallback)(function () {
68
70
  if (onAction) {
69
71
  onAction(actionKey);
@@ -77,13 +79,17 @@ var BreadcrumbItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
77
79
  }
78
80
  if (isCurrent) {
79
81
  elementTypeProps.className = elementTypeProps.className ? "".concat(elementTypeProps.className, " is-current") : 'is-current';
82
+ (0, _deleteProperty["default"])(elementTypeProps, 'onPress');
83
+ (0, _deleteProperty["default"])(elementTypeProps, 'href');
80
84
  }
81
85
  return (0, _object.omit)(elementTypeProps, 'onClick', 'onKeyDown', 'onKeyUp');
82
- }, [elementType, itemProps, others, onPressHandler]);
83
- var elementVariantProps = elementType !== ELEMENT_TYPE.FRAGMENT && _objectSpread({
86
+ }, [elementType, itemProps, others, onPressHandler, isCurrent, elementsWithOnPressProp]);
87
+ var elementVariantProps = elementType !== ELEMENT_TYPE.FRAGMENT && _objectSpread(_objectSpread({
84
88
  variant: elementType === ELEMENT_TYPE.LINK ? 'variants.breadcrumb.link' : '',
85
89
  ref: itemRef
86
- }, elementProps);
90
+ }, elementProps), {}, {
91
+ role: isCurrent ? 'text' : 'link'
92
+ });
87
93
  return (0, _react2.jsx)(_index.Box, {
88
94
  as: "li",
89
95
  className: isCurrent ? 'is-current' : '',
@@ -105,4 +105,11 @@ test('will render correctly with single child item', function () {
105
105
  }, testItemsArr[0])));
106
106
  expect(_testWrapper.screen.getByTestId(testId)).toBeInTheDocument();
107
107
  expect(_testWrapper.screen.getByText(testItemsArr[0])).toBeInTheDocument();
108
+ });
109
+ test('will render the last item as a span when isCurrent is true', function () {
110
+ getComponent();
111
+ var lastItem = _testWrapper.screen.getByText(testItemsArr[testItemsArr.length - 1]);
112
+ expect(lastItem).toBeInstanceOf(HTMLSpanElement);
113
+ expect(lastItem).toHaveAttribute('aria-current', 'page');
114
+ expect(lastItem).toHaveAttribute('role', 'text');
108
115
  });
@@ -10,6 +10,7 @@ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
10
10
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
11
11
  var _excluded = ["children", "elementType", "onAction", "actionKey", "isCurrent"];
12
12
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
13
+ import _Reflect$deleteProperty from "@babel/runtime-corejs3/core-js-stable/reflect/delete-property";
13
14
  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
15
  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
16
  import React, { forwardRef, Fragment, useCallback, useMemo } from 'react';
@@ -37,6 +38,7 @@ var BreadcrumbItem = /*#__PURE__*/forwardRef(function (props, ref) {
37
38
  var _useBreadcrumbItem = useBreadcrumbItem(_objectSpread({}, props), itemRef),
38
39
  itemProps = _useBreadcrumbItem.itemProps;
39
40
  var BreadcrumbItemElementType = useMemo(function () {
41
+ if (isCurrent) return Text;
40
42
  switch (elementType) {
41
43
  case ELEMENT_TYPE.BUTTON:
42
44
  return Button;
@@ -51,7 +53,7 @@ var BreadcrumbItem = /*#__PURE__*/forwardRef(function (props, ref) {
51
53
  default:
52
54
  return elementType;
53
55
  }
54
- }, [elementType]);
56
+ }, [elementType, isCurrent]);
55
57
  var onPressHandler = useCallback(function () {
56
58
  if (onAction) {
57
59
  onAction(actionKey);
@@ -65,13 +67,17 @@ var BreadcrumbItem = /*#__PURE__*/forwardRef(function (props, ref) {
65
67
  }
66
68
  if (isCurrent) {
67
69
  elementTypeProps.className = elementTypeProps.className ? "".concat(elementTypeProps.className, " is-current") : 'is-current';
70
+ _Reflect$deleteProperty(elementTypeProps, 'onPress');
71
+ _Reflect$deleteProperty(elementTypeProps, 'href');
68
72
  }
69
73
  return omit(elementTypeProps, 'onClick', 'onKeyDown', 'onKeyUp');
70
- }, [elementType, itemProps, others, onPressHandler]);
71
- var elementVariantProps = elementType !== ELEMENT_TYPE.FRAGMENT && _objectSpread({
74
+ }, [elementType, itemProps, others, onPressHandler, isCurrent, elementsWithOnPressProp]);
75
+ var elementVariantProps = elementType !== ELEMENT_TYPE.FRAGMENT && _objectSpread(_objectSpread({
72
76
  variant: elementType === ELEMENT_TYPE.LINK ? 'variants.breadcrumb.link' : '',
73
77
  ref: itemRef
74
- }, elementProps);
78
+ }, elementProps), {}, {
79
+ role: isCurrent ? 'text' : 'link'
80
+ });
75
81
  return ___EmotionJSX(Box, {
76
82
  as: "li",
77
83
  className: isCurrent ? 'is-current' : '',
@@ -102,4 +102,11 @@ test('will render correctly with single child item', function () {
102
102
  }, testItemsArr[0])));
103
103
  expect(screen.getByTestId(testId)).toBeInTheDocument();
104
104
  expect(screen.getByText(testItemsArr[0])).toBeInTheDocument();
105
+ });
106
+ test('will render the last item as a span when isCurrent is true', function () {
107
+ getComponent();
108
+ var lastItem = screen.getByText(testItemsArr[testItemsArr.length - 1]);
109
+ expect(lastItem).toBeInstanceOf(HTMLSpanElement);
110
+ expect(lastItem).toHaveAttribute('aria-current', 'page');
111
+ expect(lastItem).toHaveAttribute('role', 'text');
105
112
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "2.99.0",
3
+ "version": "2.100.0-alpha.0",
4
4
  "description": "React component library for Ping Identity's design system",
5
5
  "repository": {
6
6
  "type": "git",