@weitutech/by-components 1.2.7 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74291,7 +74291,9 @@ __webpack_require__.d(__webpack_exports__, {
74291
74291
  ByPager: function() { return /* reexport */ pager; },
74292
74292
  ByPopoverSelector: function() { return /* reexport */ ByPopoverSelector; },
74293
74293
  BySelect: function() { return /* reexport */ comps_select; },
74294
+ ByTabPane: function() { return /* reexport */ ByTabPane; },
74294
74295
  ByTable: function() { return /* reexport */ table; },
74296
+ ByTabs: function() { return /* reexport */ ByTabs; },
74295
74297
  ByTag: function() { return /* reexport */ ByTag; },
74296
74298
  ByThumbnailImage: function() { return /* reexport */ ByThumbnailImage; },
74297
74299
  ByToolBar: function() { return /* reexport */ ByToolBar; },
@@ -102810,6 +102812,305 @@ var ByThumbnailImage_component = normalizeComponent(
102810
102812
  )
102811
102813
 
102812
102814
  /* harmony default export */ var ByThumbnailImage = (ByThumbnailImage_component.exports);
102815
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-tabs/ByTabs.vue?vue&type=template&id=0fbc4065&scoped=true
102816
+ var ByTabsvue_type_template_id_0fbc4065_scoped_true_render = function render() {
102817
+ var _vm = this,
102818
+ _c = _vm._self._c;
102819
+ return _c('div', {
102820
+ staticClass: "by-tabs-wrapper"
102821
+ }, [_c('el-tabs', _vm._g(_vm._b({
102822
+ ref: "tabs",
102823
+ staticClass: "by-tabs"
102824
+ }, 'el-tabs', _vm.$attrs, false), _vm.$listeners), [_vm._t("default")], 2)], 1);
102825
+ };
102826
+ var ByTabsvue_type_template_id_0fbc4065_scoped_true_staticRenderFns = [];
102827
+
102828
+ ;// ./src/components/by-tabs/variantTabStyles.js
102829
+
102830
+
102831
+
102832
+ function escapeTabName(name) {
102833
+ const value = String(name);
102834
+ if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
102835
+ return CSS.escape(value);
102836
+ }
102837
+ return value.replace(/[^a-zA-Z0-9_-]/g, '\\$&');
102838
+ }
102839
+ function buildSelector(names, suffix = '') {
102840
+ return names.map(name => `.by-tabs .el-tabs__item#tab-${escapeTabName(name)}${suffix}`).join(',\n');
102841
+ }
102842
+ function buildVariantTabStyles(paneVariants = {}) {
102843
+ const subtleNames = Object.entries(paneVariants).filter(([, variant]) => variant === 'subtle').map(([name]) => name);
102844
+ if (!subtleNames.length) return '';
102845
+ const base = buildSelector(subtleNames);
102846
+ const hover = buildSelector(subtleNames, ':hover');
102847
+ const active = buildSelector(subtleNames, '.is-active');
102848
+ return `
102849
+ ${base} {
102850
+ height: 26px;
102851
+ line-height: 24px;
102852
+ padding: 0 10px;
102853
+ margin-bottom: 0;
102854
+ font-size: 12px;
102855
+ font-weight: 600;
102856
+ color: #93939a;
102857
+ border-radius: 12px 12px 0 0;
102858
+ border-color: #e2e6ed;
102859
+ background: linear-gradient(180deg, #f8f9fb 0%, #f0f2f6 100%);
102860
+ }
102861
+ ${hover} {
102862
+ color: #7babdb;
102863
+ border-color: #c5daf3;
102864
+ background: linear-gradient(180deg, #f5f9ff 0%, #eaf3ff 100%);
102865
+ }
102866
+ ${active} {
102867
+ height: 32px;
102868
+ line-height: 30px;
102869
+ padding: 0 12px;
102870
+ font-size: 12px;
102871
+ color: #409eff;
102872
+ border-color: #c6ddf5;
102873
+ border-bottom-color: #f5f7fa;
102874
+ background: linear-gradient(180deg, #f0f7ff 0%, #f5f7fa 100%);
102875
+ margin-bottom: -1px;
102876
+ z-index: 2;
102877
+ }
102878
+ `;
102879
+ }
102880
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-tabs/ByTabs.vue?vue&type=script&lang=js
102881
+
102882
+ /* harmony default export */ var ByTabsvue_type_script_lang_js = ({
102883
+ name: 'ByTabs',
102884
+ provide() {
102885
+ return {
102886
+ byTabsRegisterPane: this.registerPane
102887
+ };
102888
+ },
102889
+ data() {
102890
+ return {
102891
+ paneVariants: {},
102892
+ variantStyleEl: null
102893
+ };
102894
+ },
102895
+ computed: {
102896
+ variantStyle() {
102897
+ return buildVariantTabStyles(this.paneVariants);
102898
+ }
102899
+ },
102900
+ watch: {
102901
+ variantStyle(style) {
102902
+ this.updateVariantStyle(style);
102903
+ }
102904
+ },
102905
+ mounted() {
102906
+ this.variantStyleEl = document.createElement('style');
102907
+ this.variantStyleEl.setAttribute('data-by-tabs-variant', '');
102908
+ document.head.appendChild(this.variantStyleEl);
102909
+ this.updateVariantStyle(this.variantStyle);
102910
+ },
102911
+ beforeDestroy() {
102912
+ if (this.variantStyleEl && this.variantStyleEl.parentNode) {
102913
+ this.variantStyleEl.parentNode.removeChild(this.variantStyleEl);
102914
+ }
102915
+ this.variantStyleEl = null;
102916
+ },
102917
+ methods: {
102918
+ registerPane(name, variant, register) {
102919
+ if (!name) return;
102920
+ const normalizedVariant = variant || 'default';
102921
+ if (register) {
102922
+ if (this.paneVariants[name] === normalizedVariant) return;
102923
+ this.$set(this.paneVariants, name, normalizedVariant);
102924
+ return;
102925
+ }
102926
+ if (!Object.prototype.hasOwnProperty.call(this.paneVariants, name)) return;
102927
+ this.$delete(this.paneVariants, name);
102928
+ },
102929
+ updateVariantStyle(style) {
102930
+ if (!this.variantStyleEl) return;
102931
+ this.variantStyleEl.textContent = style || '';
102932
+ }
102933
+ }
102934
+ });
102935
+ ;// ./src/components/by-tabs/ByTabs.vue?vue&type=script&lang=js
102936
+ /* harmony default export */ var by_tabs_ByTabsvue_type_script_lang_js = (ByTabsvue_type_script_lang_js);
102937
+ ;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-tabs/ByTabs.vue?vue&type=style&index=0&id=0fbc4065&prod&scoped=true&lang=css
102938
+ // extracted by mini-css-extract-plugin
102939
+
102940
+ ;// ./src/components/by-tabs/ByTabs.vue?vue&type=style&index=0&id=0fbc4065&prod&scoped=true&lang=css
102941
+
102942
+ ;// ./src/components/by-tabs/ByTabs.vue
102943
+
102944
+
102945
+
102946
+ ;
102947
+
102948
+
102949
+ /* normalize component */
102950
+
102951
+ var ByTabs_component = normalizeComponent(
102952
+ by_tabs_ByTabsvue_type_script_lang_js,
102953
+ ByTabsvue_type_template_id_0fbc4065_scoped_true_render,
102954
+ ByTabsvue_type_template_id_0fbc4065_scoped_true_staticRenderFns,
102955
+ false,
102956
+ null,
102957
+ "0fbc4065",
102958
+ null
102959
+
102960
+ )
102961
+
102962
+ /* harmony default export */ var ByTabs = (ByTabs_component.exports);
102963
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./node_modules/element-ui/packages/tabs/src/tab-pane.vue?vue&type=template&id=702b58b3
102964
+ var tab_panevue_type_template_id_702b58b3_render = function render() {
102965
+ var _vm = this,
102966
+ _c = _vm._self._c;
102967
+ return !_vm.lazy || _vm.loaded || _vm.active ? _c('div', {
102968
+ directives: [{
102969
+ name: "show",
102970
+ rawName: "v-show",
102971
+ value: _vm.active,
102972
+ expression: "active"
102973
+ }],
102974
+ staticClass: "el-tab-pane",
102975
+ attrs: {
102976
+ "role": "tabpanel",
102977
+ "aria-hidden": !_vm.active,
102978
+ "id": `pane-${_vm.paneName}`,
102979
+ "aria-labelledby": `tab-${_vm.paneName}`
102980
+ }
102981
+ }, [_vm._t("default")], 2) : _vm._e();
102982
+ };
102983
+ var tab_panevue_type_template_id_702b58b3_staticRenderFns = [];
102984
+
102985
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./node_modules/element-ui/packages/tabs/src/tab-pane.vue?vue&type=script&lang=js
102986
+ /* harmony default export */ var tab_panevue_type_script_lang_js = ({
102987
+ name: 'ElTabPane',
102988
+ componentName: 'ElTabPane',
102989
+ props: {
102990
+ label: String,
102991
+ labelContent: Function,
102992
+ name: String,
102993
+ closable: Boolean,
102994
+ disabled: Boolean,
102995
+ lazy: Boolean
102996
+ },
102997
+ data() {
102998
+ return {
102999
+ index: null,
103000
+ loaded: false
103001
+ };
103002
+ },
103003
+ computed: {
103004
+ isClosable() {
103005
+ return this.closable || this.$parent.closable;
103006
+ },
103007
+ active() {
103008
+ const active = this.$parent.currentName === (this.name || this.index);
103009
+ if (active) {
103010
+ this.loaded = true;
103011
+ }
103012
+ return active;
103013
+ },
103014
+ paneName() {
103015
+ return this.name || this.index;
103016
+ }
103017
+ },
103018
+ updated() {
103019
+ this.$parent.$emit('tab-nav-update');
103020
+ }
103021
+ });
103022
+ ;// ./node_modules/element-ui/packages/tabs/src/tab-pane.vue?vue&type=script&lang=js
103023
+ /* harmony default export */ var src_tab_panevue_type_script_lang_js = (tab_panevue_type_script_lang_js);
103024
+ ;// ./node_modules/element-ui/packages/tabs/src/tab-pane.vue
103025
+
103026
+
103027
+
103028
+
103029
+
103030
+ /* normalize component */
103031
+ ;
103032
+ var tab_pane_component = normalizeComponent(
103033
+ src_tab_panevue_type_script_lang_js,
103034
+ tab_panevue_type_template_id_702b58b3_render,
103035
+ tab_panevue_type_template_id_702b58b3_staticRenderFns,
103036
+ false,
103037
+ null,
103038
+ null,
103039
+ null
103040
+
103041
+ )
103042
+
103043
+ /* harmony default export */ var tab_pane = (tab_pane_component.exports);
103044
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-tabs/ByTabPane.vue?vue&type=script&lang=js
103045
+
103046
+ const VARIANTS = ['default', 'subtle'];
103047
+ /* harmony default export */ var ByTabPanevue_type_script_lang_js = ({
103048
+ extends: tab_pane,
103049
+ name: 'ElTabPane',
103050
+ componentName: 'ElTabPane',
103051
+ inject: {
103052
+ byTabsRegisterPane: {
103053
+ default: null
103054
+ }
103055
+ },
103056
+ props: {
103057
+ /**
103058
+ * Tab 样式变体。default 为常规样式;subtle 为次要 tab(如项目 tab)的置灰样式
103059
+ */
103060
+ variant: {
103061
+ type: String,
103062
+ default: 'default',
103063
+ validator: value => VARIANTS.includes(value)
103064
+ }
103065
+ },
103066
+ watch: {
103067
+ paneName() {
103068
+ this.syncPaneRegistration();
103069
+ },
103070
+ variant() {
103071
+ this.syncPaneRegistration();
103072
+ }
103073
+ },
103074
+ mounted() {
103075
+ this.syncPaneRegistration(true);
103076
+ },
103077
+ beforeDestroy() {
103078
+ this.syncPaneRegistration(false);
103079
+ },
103080
+ methods: {
103081
+ syncPaneRegistration(register = true) {
103082
+ if (!this.byTabsRegisterPane) return;
103083
+ const name = this.paneName;
103084
+ if (name === null || name === undefined || name === '') return;
103085
+ this.byTabsRegisterPane(String(name), this.variant, register);
103086
+ }
103087
+ }
103088
+ });
103089
+ ;// ./src/components/by-tabs/ByTabPane.vue?vue&type=script&lang=js
103090
+ /* harmony default export */ var by_tabs_ByTabPanevue_type_script_lang_js = (ByTabPanevue_type_script_lang_js);
103091
+ ;// ./src/components/by-tabs/ByTabPane.vue
103092
+ var ByTabPane_render, ByTabPane_staticRenderFns
103093
+ ;
103094
+
103095
+
103096
+
103097
+ /* normalize component */
103098
+ ;
103099
+ var ByTabPane_component = normalizeComponent(
103100
+ by_tabs_ByTabPanevue_type_script_lang_js,
103101
+ ByTabPane_render,
103102
+ ByTabPane_staticRenderFns,
103103
+ false,
103104
+ null,
103105
+ null,
103106
+ null
103107
+
103108
+ )
103109
+
103110
+ /* harmony default export */ var ByTabPane = (ByTabPane_component.exports);
103111
+ ;// ./src/components/by-tabs/index.js
103112
+
103113
+
102813
103114
  ;// ./src/index.js
102814
103115
 
102815
103116
 
@@ -102839,6 +103140,7 @@ var ByThumbnailImage_component = normalizeComponent(
102839
103140
 
102840
103141
 
102841
103142
 
103143
+
102842
103144
 
102843
103145
 
102844
103146
  const components = {
@@ -102864,7 +103166,9 @@ const components = {
102864
103166
  ByTag: ByTag,
102865
103167
  ByCardView: ByCardView,
102866
103168
  ByCardSelector: ByCardSelector,
102867
- ByThumbnailImage: ByThumbnailImage
103169
+ ByThumbnailImage: ByThumbnailImage,
103170
+ ByTabs: ByTabs,
103171
+ ByTabPane: ByTabPane
102868
103172
  };
102869
103173
  index_esm.setCurrent(99999);
102870
103174
  const install = Vue => {
@@ -1 +1 @@
1
- .b-form .header[data-v-1fc1d18e]{margin-bottom:20px}.b-form .footer[data-v-1fc1d18e]{margin-top:20px}
1
+ .b-form .header[data-v-1fc1d18e]{margin-bottom:20px}.b-form .footer[data-v-1fc1d18e]{margin-top:20px}.by-tabs-wrapper[data-v-0fbc4065]{width:100%}
@@ -74301,7 +74301,9 @@ __webpack_require__.d(__webpack_exports__, {
74301
74301
  ByPager: function() { return /* reexport */ pager; },
74302
74302
  ByPopoverSelector: function() { return /* reexport */ ByPopoverSelector; },
74303
74303
  BySelect: function() { return /* reexport */ comps_select; },
74304
+ ByTabPane: function() { return /* reexport */ ByTabPane; },
74304
74305
  ByTable: function() { return /* reexport */ table; },
74306
+ ByTabs: function() { return /* reexport */ ByTabs; },
74305
74307
  ByTag: function() { return /* reexport */ ByTag; },
74306
74308
  ByThumbnailImage: function() { return /* reexport */ ByThumbnailImage; },
74307
74309
  ByToolBar: function() { return /* reexport */ ByToolBar; },
@@ -102820,6 +102822,305 @@ var ByThumbnailImage_component = normalizeComponent(
102820
102822
  )
102821
102823
 
102822
102824
  /* harmony default export */ var ByThumbnailImage = (ByThumbnailImage_component.exports);
102825
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-tabs/ByTabs.vue?vue&type=template&id=0fbc4065&scoped=true
102826
+ var ByTabsvue_type_template_id_0fbc4065_scoped_true_render = function render() {
102827
+ var _vm = this,
102828
+ _c = _vm._self._c;
102829
+ return _c('div', {
102830
+ staticClass: "by-tabs-wrapper"
102831
+ }, [_c('el-tabs', _vm._g(_vm._b({
102832
+ ref: "tabs",
102833
+ staticClass: "by-tabs"
102834
+ }, 'el-tabs', _vm.$attrs, false), _vm.$listeners), [_vm._t("default")], 2)], 1);
102835
+ };
102836
+ var ByTabsvue_type_template_id_0fbc4065_scoped_true_staticRenderFns = [];
102837
+
102838
+ ;// ./src/components/by-tabs/variantTabStyles.js
102839
+
102840
+
102841
+
102842
+ function escapeTabName(name) {
102843
+ const value = String(name);
102844
+ if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
102845
+ return CSS.escape(value);
102846
+ }
102847
+ return value.replace(/[^a-zA-Z0-9_-]/g, '\\$&');
102848
+ }
102849
+ function buildSelector(names, suffix = '') {
102850
+ return names.map(name => `.by-tabs .el-tabs__item#tab-${escapeTabName(name)}${suffix}`).join(',\n');
102851
+ }
102852
+ function buildVariantTabStyles(paneVariants = {}) {
102853
+ const subtleNames = Object.entries(paneVariants).filter(([, variant]) => variant === 'subtle').map(([name]) => name);
102854
+ if (!subtleNames.length) return '';
102855
+ const base = buildSelector(subtleNames);
102856
+ const hover = buildSelector(subtleNames, ':hover');
102857
+ const active = buildSelector(subtleNames, '.is-active');
102858
+ return `
102859
+ ${base} {
102860
+ height: 26px;
102861
+ line-height: 24px;
102862
+ padding: 0 10px;
102863
+ margin-bottom: 0;
102864
+ font-size: 12px;
102865
+ font-weight: 600;
102866
+ color: #93939a;
102867
+ border-radius: 12px 12px 0 0;
102868
+ border-color: #e2e6ed;
102869
+ background: linear-gradient(180deg, #f8f9fb 0%, #f0f2f6 100%);
102870
+ }
102871
+ ${hover} {
102872
+ color: #7babdb;
102873
+ border-color: #c5daf3;
102874
+ background: linear-gradient(180deg, #f5f9ff 0%, #eaf3ff 100%);
102875
+ }
102876
+ ${active} {
102877
+ height: 32px;
102878
+ line-height: 30px;
102879
+ padding: 0 12px;
102880
+ font-size: 12px;
102881
+ color: #409eff;
102882
+ border-color: #c6ddf5;
102883
+ border-bottom-color: #f5f7fa;
102884
+ background: linear-gradient(180deg, #f0f7ff 0%, #f5f7fa 100%);
102885
+ margin-bottom: -1px;
102886
+ z-index: 2;
102887
+ }
102888
+ `;
102889
+ }
102890
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-tabs/ByTabs.vue?vue&type=script&lang=js
102891
+
102892
+ /* harmony default export */ var ByTabsvue_type_script_lang_js = ({
102893
+ name: 'ByTabs',
102894
+ provide() {
102895
+ return {
102896
+ byTabsRegisterPane: this.registerPane
102897
+ };
102898
+ },
102899
+ data() {
102900
+ return {
102901
+ paneVariants: {},
102902
+ variantStyleEl: null
102903
+ };
102904
+ },
102905
+ computed: {
102906
+ variantStyle() {
102907
+ return buildVariantTabStyles(this.paneVariants);
102908
+ }
102909
+ },
102910
+ watch: {
102911
+ variantStyle(style) {
102912
+ this.updateVariantStyle(style);
102913
+ }
102914
+ },
102915
+ mounted() {
102916
+ this.variantStyleEl = document.createElement('style');
102917
+ this.variantStyleEl.setAttribute('data-by-tabs-variant', '');
102918
+ document.head.appendChild(this.variantStyleEl);
102919
+ this.updateVariantStyle(this.variantStyle);
102920
+ },
102921
+ beforeDestroy() {
102922
+ if (this.variantStyleEl && this.variantStyleEl.parentNode) {
102923
+ this.variantStyleEl.parentNode.removeChild(this.variantStyleEl);
102924
+ }
102925
+ this.variantStyleEl = null;
102926
+ },
102927
+ methods: {
102928
+ registerPane(name, variant, register) {
102929
+ if (!name) return;
102930
+ const normalizedVariant = variant || 'default';
102931
+ if (register) {
102932
+ if (this.paneVariants[name] === normalizedVariant) return;
102933
+ this.$set(this.paneVariants, name, normalizedVariant);
102934
+ return;
102935
+ }
102936
+ if (!Object.prototype.hasOwnProperty.call(this.paneVariants, name)) return;
102937
+ this.$delete(this.paneVariants, name);
102938
+ },
102939
+ updateVariantStyle(style) {
102940
+ if (!this.variantStyleEl) return;
102941
+ this.variantStyleEl.textContent = style || '';
102942
+ }
102943
+ }
102944
+ });
102945
+ ;// ./src/components/by-tabs/ByTabs.vue?vue&type=script&lang=js
102946
+ /* harmony default export */ var by_tabs_ByTabsvue_type_script_lang_js = (ByTabsvue_type_script_lang_js);
102947
+ ;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-tabs/ByTabs.vue?vue&type=style&index=0&id=0fbc4065&prod&scoped=true&lang=css
102948
+ // extracted by mini-css-extract-plugin
102949
+
102950
+ ;// ./src/components/by-tabs/ByTabs.vue?vue&type=style&index=0&id=0fbc4065&prod&scoped=true&lang=css
102951
+
102952
+ ;// ./src/components/by-tabs/ByTabs.vue
102953
+
102954
+
102955
+
102956
+ ;
102957
+
102958
+
102959
+ /* normalize component */
102960
+
102961
+ var ByTabs_component = normalizeComponent(
102962
+ by_tabs_ByTabsvue_type_script_lang_js,
102963
+ ByTabsvue_type_template_id_0fbc4065_scoped_true_render,
102964
+ ByTabsvue_type_template_id_0fbc4065_scoped_true_staticRenderFns,
102965
+ false,
102966
+ null,
102967
+ "0fbc4065",
102968
+ null
102969
+
102970
+ )
102971
+
102972
+ /* harmony default export */ var ByTabs = (ByTabs_component.exports);
102973
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./node_modules/element-ui/packages/tabs/src/tab-pane.vue?vue&type=template&id=702b58b3
102974
+ var tab_panevue_type_template_id_702b58b3_render = function render() {
102975
+ var _vm = this,
102976
+ _c = _vm._self._c;
102977
+ return !_vm.lazy || _vm.loaded || _vm.active ? _c('div', {
102978
+ directives: [{
102979
+ name: "show",
102980
+ rawName: "v-show",
102981
+ value: _vm.active,
102982
+ expression: "active"
102983
+ }],
102984
+ staticClass: "el-tab-pane",
102985
+ attrs: {
102986
+ "role": "tabpanel",
102987
+ "aria-hidden": !_vm.active,
102988
+ "id": `pane-${_vm.paneName}`,
102989
+ "aria-labelledby": `tab-${_vm.paneName}`
102990
+ }
102991
+ }, [_vm._t("default")], 2) : _vm._e();
102992
+ };
102993
+ var tab_panevue_type_template_id_702b58b3_staticRenderFns = [];
102994
+
102995
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./node_modules/element-ui/packages/tabs/src/tab-pane.vue?vue&type=script&lang=js
102996
+ /* harmony default export */ var tab_panevue_type_script_lang_js = ({
102997
+ name: 'ElTabPane',
102998
+ componentName: 'ElTabPane',
102999
+ props: {
103000
+ label: String,
103001
+ labelContent: Function,
103002
+ name: String,
103003
+ closable: Boolean,
103004
+ disabled: Boolean,
103005
+ lazy: Boolean
103006
+ },
103007
+ data() {
103008
+ return {
103009
+ index: null,
103010
+ loaded: false
103011
+ };
103012
+ },
103013
+ computed: {
103014
+ isClosable() {
103015
+ return this.closable || this.$parent.closable;
103016
+ },
103017
+ active() {
103018
+ const active = this.$parent.currentName === (this.name || this.index);
103019
+ if (active) {
103020
+ this.loaded = true;
103021
+ }
103022
+ return active;
103023
+ },
103024
+ paneName() {
103025
+ return this.name || this.index;
103026
+ }
103027
+ },
103028
+ updated() {
103029
+ this.$parent.$emit('tab-nav-update');
103030
+ }
103031
+ });
103032
+ ;// ./node_modules/element-ui/packages/tabs/src/tab-pane.vue?vue&type=script&lang=js
103033
+ /* harmony default export */ var src_tab_panevue_type_script_lang_js = (tab_panevue_type_script_lang_js);
103034
+ ;// ./node_modules/element-ui/packages/tabs/src/tab-pane.vue
103035
+
103036
+
103037
+
103038
+
103039
+
103040
+ /* normalize component */
103041
+ ;
103042
+ var tab_pane_component = normalizeComponent(
103043
+ src_tab_panevue_type_script_lang_js,
103044
+ tab_panevue_type_template_id_702b58b3_render,
103045
+ tab_panevue_type_template_id_702b58b3_staticRenderFns,
103046
+ false,
103047
+ null,
103048
+ null,
103049
+ null
103050
+
103051
+ )
103052
+
103053
+ /* harmony default export */ var tab_pane = (tab_pane_component.exports);
103054
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-tabs/ByTabPane.vue?vue&type=script&lang=js
103055
+
103056
+ const VARIANTS = ['default', 'subtle'];
103057
+ /* harmony default export */ var ByTabPanevue_type_script_lang_js = ({
103058
+ extends: tab_pane,
103059
+ name: 'ElTabPane',
103060
+ componentName: 'ElTabPane',
103061
+ inject: {
103062
+ byTabsRegisterPane: {
103063
+ default: null
103064
+ }
103065
+ },
103066
+ props: {
103067
+ /**
103068
+ * Tab 样式变体。default 为常规样式;subtle 为次要 tab(如项目 tab)的置灰样式
103069
+ */
103070
+ variant: {
103071
+ type: String,
103072
+ default: 'default',
103073
+ validator: value => VARIANTS.includes(value)
103074
+ }
103075
+ },
103076
+ watch: {
103077
+ paneName() {
103078
+ this.syncPaneRegistration();
103079
+ },
103080
+ variant() {
103081
+ this.syncPaneRegistration();
103082
+ }
103083
+ },
103084
+ mounted() {
103085
+ this.syncPaneRegistration(true);
103086
+ },
103087
+ beforeDestroy() {
103088
+ this.syncPaneRegistration(false);
103089
+ },
103090
+ methods: {
103091
+ syncPaneRegistration(register = true) {
103092
+ if (!this.byTabsRegisterPane) return;
103093
+ const name = this.paneName;
103094
+ if (name === null || name === undefined || name === '') return;
103095
+ this.byTabsRegisterPane(String(name), this.variant, register);
103096
+ }
103097
+ }
103098
+ });
103099
+ ;// ./src/components/by-tabs/ByTabPane.vue?vue&type=script&lang=js
103100
+ /* harmony default export */ var by_tabs_ByTabPanevue_type_script_lang_js = (ByTabPanevue_type_script_lang_js);
103101
+ ;// ./src/components/by-tabs/ByTabPane.vue
103102
+ var ByTabPane_render, ByTabPane_staticRenderFns
103103
+ ;
103104
+
103105
+
103106
+
103107
+ /* normalize component */
103108
+ ;
103109
+ var ByTabPane_component = normalizeComponent(
103110
+ by_tabs_ByTabPanevue_type_script_lang_js,
103111
+ ByTabPane_render,
103112
+ ByTabPane_staticRenderFns,
103113
+ false,
103114
+ null,
103115
+ null,
103116
+ null
103117
+
103118
+ )
103119
+
103120
+ /* harmony default export */ var ByTabPane = (ByTabPane_component.exports);
103121
+ ;// ./src/components/by-tabs/index.js
103122
+
103123
+
102823
103124
  ;// ./src/index.js
102824
103125
 
102825
103126
 
@@ -102849,6 +103150,7 @@ var ByThumbnailImage_component = normalizeComponent(
102849
103150
 
102850
103151
 
102851
103152
 
103153
+
102852
103154
 
102853
103155
 
102854
103156
  const components = {
@@ -102874,7 +103176,9 @@ const components = {
102874
103176
  ByTag: ByTag,
102875
103177
  ByCardView: ByCardView,
102876
103178
  ByCardSelector: ByCardSelector,
102877
- ByThumbnailImage: ByThumbnailImage
103179
+ ByThumbnailImage: ByThumbnailImage,
103180
+ ByTabs: ByTabs,
103181
+ ByTabPane: ByTabPane
102878
103182
  };
102879
103183
  index_esm.setCurrent(99999);
102880
103184
  const install = Vue => {