UNPKG

@dialpad/dialtone

Version:

Dialpad's Dialtone design system monorepo

86 lines (85 loc) 2.65 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const breadcrumbs_constants = require("./breadcrumbs_constants.cjs"); const common_utils = require("../../common/utils.cjs"); const link_constants = require("../link/link_constants.cjs"); const vue = require("vue"); const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.cjs"); const link = require("../link/link.vue.cjs"); const _sfc_main = { name: "DtBreadcrumbItem", components: { DtLink: link.default }, inheritAttrs: false, props: { /** * Passed through to link. If true, applies inverted styles to the link. */ inverted: { type: Boolean, default: false }, /** * Applies selected styles to the breadcrumb */ selected: { type: Boolean, default: false }, /** * Describes the breadcrumb. Overridden by default slot */ label: { type: String, default: "" } }, data() { return { BREADCRUMB_ITEM_SELECTED_MODIFIER: breadcrumbs_constants.BREADCRUMB_ITEM_SELECTED_MODIFIER }; }, computed: { linkKind() { return this.inverted ? "" : link_constants.MUTED; }, linkInverted() { return !!this.inverted; }, ariaCurrent() { return this.selected ? "location" : void 0; } }, methods: { removeClassStyleAttrs: common_utils.removeClassStyleAttrs, addClassStyleAttrs: common_utils.addClassStyleAttrs } }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_dt_link = vue.resolveComponent("dt-link"); return vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({ "data-qa": "dt-breadcrumb-item", class: [ "d-breadcrumbs__item", { [$data.BREADCRUMB_ITEM_SELECTED_MODIFIER]: $props.selected } ] }, $options.addClassStyleAttrs(_ctx.$attrs)), [ vue.createVNode(_component_dt_link, vue.mergeProps({ kind: $options.linkKind, inverted: $options.linkInverted, "aria-current": $options.ariaCurrent, "data-qa": "breadcrumb-item" }, $options.removeClassStyleAttrs(_ctx.$attrs)), { default: vue.withCtx(() => [ vue.renderSlot(_ctx.$slots, "default", {}, () => [ vue.createTextVNode(vue.toDisplayString($props.label), 1) ]) ]), _: 3 }, 16, ["kind", "inverted", "aria-current"]) ], 16); } const DtBreadcrumbItem = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render]]); exports.default = DtBreadcrumbItem; //# sourceMappingURL=breadcrumb_item.vue.cjs.map