@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
|
});
|