UNPKG

react-aria-components

Version:

A library of styleable components built using React Aria

94 lines (83 loc) 4.87 kB
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