@enact/moonstone
Version:
Large-screen/TV support library for Enact, containing a variety of UI components.
32 lines (31 loc) • 1.3 kB
JavaScript
;
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;