UNPKG

@dialpad/dialtone

Version:

Dialpad's Dialtone design system monorepo

72 lines (71 loc) 2.03 kB
import { BREADCRUMBS_INVERTED_MODIFIER } from "./breadcrumbs_constants.js"; import DtBreadcrumbItem from "./breadcrumb_item.vue.js"; import utils from "../../common/utils.js"; import normalizeComponent from "../../_virtual/_plugin-vue2_normalizer.js"; const _sfc_main = { name: "DtBreadcrumbs", components: { DtBreadcrumbItem }, props: { /** * A provided list of breadcrumbs. Overridden by default slot */ breadcrumbs: { type: Array, default: () => [], validate(breadcrumbs2) { return breadcrumbs2.every(({ href, label }) => { return href !== void 0 && label !== void 0; }); } }, /** * Passed through to link. If true, applies inverted styles to the link. * @values true, false */ inverted: { type: Boolean, default: false }, /** * Descriptive label for the navigation content. */ ariaLabel: { type: String, default: "breadcrumb" } }, data() { return { BREADCRUMBS_INVERTED_MODIFIER }; }, methods: { getBreadcrumbItemKey(index) { return `breadcrumbs-item-${index}-${utils.getUniqueString()}`; } } }; var _sfc_render = function render() { var _vm = this, _c = _vm._self._c; return _c("nav", { class: [ "d-breadcrumbs", { [_vm.BREADCRUMBS_INVERTED_MODIFIER]: _vm.inverted } ], attrs: { "aria-label": _vm.ariaLabel, "data-qa": "dt-breadcrumbs" } }, [_c("ol", [_vm._t("default", function() { return _vm._l(_vm.breadcrumbs, function(item, index) { return _c("dt-breadcrumb-item", _vm._g(_vm._b({ key: _vm.getBreadcrumbItemKey(index), attrs: { "inverted": _vm.inverted } }, "dt-breadcrumb-item", item, false), _vm.$listeners)); }); })], 2)]); }; var _sfc_staticRenderFns = []; var __component__ = /* @__PURE__ */ normalizeComponent( _sfc_main, _sfc_render, _sfc_staticRenderFns ); const breadcrumbs = __component__.exports; export { breadcrumbs as default }; //# sourceMappingURL=breadcrumbs.vue.js.map