ivue-material-plus
Version:
A high quality UI components Library with Vue.js
1 lines • 2.15 kB
Source Map (JSON)
{"version":3,"file":"index2.mjs","sources":["../../../../../src/components/ivue-breadcrumb/index.vue"],"sourcesContent":["<template>\r\n <div ref=\"breadcrumb\" :class=\"prefixCls\" :style=\"styles\">\r\n <slot></slot>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { defineComponent, computed, provide } from 'vue';\r\n\r\n// type\r\nimport { Props, BreadcrumbContextKey } from './types/breadcrumb';\r\n\r\nconst prefixCls = 'ivue-breadcrumb';\r\n\r\nexport default defineComponent({\r\n name: prefixCls,\r\n props: {\r\n /**\r\n * 分隔符\r\n *\r\n * @type {String}\r\n */\r\n divider: {\r\n type: String,\r\n default: '/',\r\n },\r\n /**\r\n * 中间对齐\r\n *\r\n * @type {Boolean}\r\n */\r\n justifyCenter: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n /**\r\n * 尾部对齐\r\n *\r\n * @type {Boolean}\r\n */\r\n justifyEnd: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n setup(props: Props, { slots }) {\r\n // computed\r\n\r\n // 居中样式\r\n const styles = computed(() => {\r\n const justify = props.justifyCenter\r\n ? 'center'\r\n : props.justifyEnd\r\n ? 'flex-end'\r\n : 'flex-start';\r\n\r\n return {\r\n 'justify-content': justify,\r\n };\r\n });\r\n\r\n // 设置分隔符\r\n const computedDivider = computed(() => {\r\n return slots.divider ? slots.divider : props.divider;\r\n });\r\n\r\n // provide\r\n provide(BreadcrumbContextKey, {\r\n props,\r\n divider: computedDivider.value,\r\n });\r\n\r\n return {\r\n prefixCls,\r\n\r\n // computed\r\n styles,\r\n };\r\n },\r\n});\r\n</script>\r\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle"],"mappings":";;;;SACW,YAAY,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,QAAA,EAAA;EAAO,OAAAA,SAAA,EAAW,EAAAC,kBAAA,CAAA,KAAA,EAAA;AAAA,IAAG,GAAK,EAAA,YAAA;AAAA,IAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,SAAA,CAAA;AAAA,IAC7C,KAAA,EAAaC,cAAA,CAAA,IAAA,CAAA,MAAA,CAAA;AAAA,GAAA,EAAA;AAAA;;;;;;;"}