UNPKG

@enact/moonstone

Version:

Large-screen/TV support library for Enact, containing a variety of UI components.

32 lines (31 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.IndexedBreadcrumbs = void 0; var _Breadcrumb = _interopRequireDefault(require("./Breadcrumb")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } /** * Generates an array of at most `max` breadcrumbs with zero-padded labels prefixed by < * * @param {Number} index Index of active breadcrumb * @param {Number} max Maximum number of breadcrumbs to dispaly * @param {Function} onSelect Handler for selecting a breadcrumb * @returns {React.element[]} Array of breadcrumbs * @private */var IndexedBreadcrumbs = exports.IndexedBreadcrumbs = function IndexedBreadcrumbs(id, index, max, onSelect) { var breadcrumbs = new Array(index < max ? index : max); var start = Math.max(index - max, 0); for (var i = start; i < index; i++) { var label = (i < 9 ? '0' : '') + (i + 1); breadcrumbs[index - i - 1] = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Breadcrumb["default"], { onSelect: onSelect, id: "".concat(id, "_bc_").concat(i), index: i, children: ["< ", label] }, i); } return breadcrumbs; }; var _default = exports["default"] = IndexedBreadcrumbs;