react-aria-components
Version:
A library of styleable components built using React Aria
94 lines (83 loc) • 4.87 kB
JavaScript
var $3114c2382242bdc0$exports = require("./Collection.main.js");
var $c5ccf687772c0422$exports = require("./utils.main.js");
var $c87397ee936d2bda$exports = require("./Link.main.js");
var $l7mU3$reactariautils = require("@react-aria/utils");
var $l7mU3$react = require("react");
function $parcel$interopDefault(a) {
return a && a.__esModule ? a.default : a;
}
function $parcel$export(e, n, v, s) {
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
}
$parcel$export(module.exports, "BreadcrumbsContext", () => $afa44b644f65ed30$export$65596d3621b0a4a0);
$parcel$export(module.exports, "Breadcrumbs", () => $afa44b644f65ed30$export$2dc68d50d56fbbd);
$parcel$export(module.exports, "Breadcrumb", () => $afa44b644f65ed30$export$dabcc1ec9dd9d1cc);
/*
* Copyright 2022 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
const $afa44b644f65ed30$export$65596d3621b0a4a0 = /*#__PURE__*/ (0, $l7mU3$react.createContext)(null);
function $afa44b644f65ed30$var$Breadcrumbs(props, ref) {
[props, ref] = (0, $c5ccf687772c0422$exports.useContextProps)(props, ref, $afa44b644f65ed30$export$65596d3621b0a4a0);
let { portal: portal, collection: collection } = (0, $3114c2382242bdc0$exports.useCollection)(props);
// Render the portal first so that we have the collection by the time we render the DOM in SSR
return /*#__PURE__*/ (0, ($parcel$interopDefault($l7mU3$react))).createElement((0, ($parcel$interopDefault($l7mU3$react))).Fragment, null, portal, /*#__PURE__*/ (0, ($parcel$interopDefault($l7mU3$react))).createElement($afa44b644f65ed30$var$BreadcrumbsInner, {
props: props,
collection: collection,
breadcrumbsRef: ref
}));
}
function $afa44b644f65ed30$var$BreadcrumbsInner({ props: props, collection: collection, breadcrumbsRef: ref }) {
var _props_className;
return /*#__PURE__*/ (0, ($parcel$interopDefault($l7mU3$react))).createElement("ol", {
ref: ref,
...(0, $l7mU3$reactariautils.filterDOMProps)(props, {
labelable: true
}),
slot: props.slot || undefined,
style: props.style,
className: (_props_className = props.className) !== null && _props_className !== void 0 ? _props_className : 'react-aria-Breadcrumbs'
}, [
...collection
].map((node, i)=>/*#__PURE__*/ (0, ($parcel$interopDefault($l7mU3$react))).createElement($afa44b644f65ed30$var$BreadcrumbItem, {
key: node.key,
node: node,
isCurrent: i === collection.size - 1,
isDisabled: props.isDisabled,
onAction: props.onAction
})));
}
/**
* Breadcrumbs display a hierarchy of links to the current page or resource in an application.
*/ const $afa44b644f65ed30$export$2dc68d50d56fbbd = /*#__PURE__*/ (0, $l7mU3$react.forwardRef)($afa44b644f65ed30$var$Breadcrumbs);
function $afa44b644f65ed30$var$Breadcrumb(props, ref) {
return (0, $3114c2382242bdc0$exports.useSSRCollectionNode)('item', props, ref, props.children);
}
/**
* A Breadcrumb represents an individual item in a `<Breadcrumbs>` list.
*/ const $afa44b644f65ed30$export$dabcc1ec9dd9d1cc = /*#__PURE__*/ (0, $l7mU3$react.forwardRef)($afa44b644f65ed30$var$Breadcrumb);
function $afa44b644f65ed30$var$BreadcrumbItem({ node: node, isCurrent: isCurrent, isDisabled: isDisabled, onAction: onAction }) {
// Recreating useBreadcrumbItem because we want to use composition instead of having the link builtin.
let linkProps = {
'aria-current': isCurrent ? 'page' : null,
isDisabled: isDisabled || isCurrent,
onPress: ()=>onAction === null || onAction === void 0 ? void 0 : onAction(node.key)
};
var _node_props_className;
return /*#__PURE__*/ (0, ($parcel$interopDefault($l7mU3$react))).createElement("li", {
...(0, $l7mU3$reactariautils.filterDOMProps)(node.props),
ref: node.props.ref,
style: node.props.style,
className: (_node_props_className = node.props.className) !== null && _node_props_className !== void 0 ? _node_props_className : 'react-aria-Breadcrumb'
}, /*#__PURE__*/ (0, ($parcel$interopDefault($l7mU3$react))).createElement((0, $c87397ee936d2bda$exports.LinkContext).Provider, {
value: linkProps
}, node.rendered));
}
//# sourceMappingURL=Breadcrumbs.main.js.map