@weitutech/by-components 1.2.14 → 1.2.16

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.
@@ -78435,8 +78435,8 @@ var table_component = normalizeComponent(
78435
78435
  )
78436
78436
 
78437
78437
  /* harmony default export */ var table = (table_component.exports);
78438
- ;// ./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/form/form.vue?vue&type=template&id=1fc1d18e&scoped=true
78439
- var formvue_type_template_id_1fc1d18e_scoped_true_render = function render() {
78438
+ ;// ./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/form/form.vue?vue&type=template&id=04cd7112&scoped=true
78439
+ var formvue_type_template_id_04cd7112_scoped_true_render = function render() {
78440
78440
  var _vm = this,
78441
78441
  _c = _vm._self._c;
78442
78442
  return _c('div', {
@@ -78576,6 +78576,7 @@ var formvue_type_template_id_1fc1d18e_scoped_true_render = function render() {
78576
78576
  "options": item.options || [],
78577
78577
  "loadOptions": item.loadOptions,
78578
78578
  "hiddenAllOptions": item.hiddenAllOptions,
78579
+ "hiddenGroupTitle": item.hiddenGroupTitle || false,
78579
78580
  "multiple": item.multiple,
78580
78581
  "reserveKeyword": item.reserveKeyword !== false,
78581
78582
  "placeholder": item.placeholder,
@@ -78826,7 +78827,7 @@ var formvue_type_template_id_1fc1d18e_scoped_true_render = function render() {
78826
78827
  staticClass: "footer"
78827
78828
  }, [_vm._t("footer")], 2)], 1);
78828
78829
  };
78829
- var formvue_type_template_id_1fc1d18e_scoped_true_staticRenderFns = [];
78830
+ var formvue_type_template_id_04cd7112_scoped_true_staticRenderFns = [];
78830
78831
 
78831
78832
  ;// ./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/form/comps/pair-number-input.vue?vue&type=template&id=604235f6
78832
78833
  var pair_number_inputvue_type_template_id_604235f6_render = function render() {
@@ -79318,8 +79319,8 @@ var custom_date_picker_component = normalizeComponent(
79318
79319
  )
79319
79320
 
79320
79321
  /* harmony default export */ var custom_date_picker = (custom_date_picker_component.exports);
79321
- ;// ./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/common-selector/ByCommonSelector.vue?vue&type=template&id=781ea1a3
79322
- var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79322
+ ;// ./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/common-selector/ByCommonSelector.vue?vue&type=template&id=2ab5dba2
79323
+ var ByCommonSelectorvue_type_template_id_2ab5dba2_render = function render() {
79323
79324
  var _vm = this,
79324
79325
  _c = _vm._self._c;
79325
79326
  return _c('div', {
@@ -79338,7 +79339,8 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79338
79339
  "size": _vm.size,
79339
79340
  "multiple": _vm.multiple,
79340
79341
  "collapse-tags": _vm.multiple,
79341
- "loading": _vm.loading
79342
+ "loading": _vm.loading,
79343
+ "popper-class": _vm.selectPopperClass
79342
79344
  },
79343
79345
  on: {
79344
79346
  "change": _vm.selected
@@ -79350,7 +79352,26 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79350
79352
  },
79351
79353
  expression: "selectedValue"
79352
79354
  }
79353
- }, 'el-select', _vm.$attrs, false), _vm._l(_vm.localOptions, function (item) {
79355
+ }, 'el-select', _vm.$attrs, false), [_vm.isSelectGrouped ? _vm._l(_vm.groupedSelectOptions, function (group) {
79356
+ return _c('el-option-group', {
79357
+ key: group.title,
79358
+ class: {
79359
+ 'by_select-group--hidden-title': _vm.hiddenGroupTitle
79360
+ },
79361
+ attrs: {
79362
+ "label": _vm.hiddenGroupTitle ? '' : group.title
79363
+ }
79364
+ }, _vm._l(group.items, function (item) {
79365
+ return _c('el-option', {
79366
+ key: item.id,
79367
+ attrs: {
79368
+ "label": item.name,
79369
+ "value": item.id,
79370
+ "disabled": item.status === 0
79371
+ }
79372
+ });
79373
+ }), 1);
79374
+ }) : _vm._l(_vm.localOptions, function (item) {
79354
79375
  return _c('el-option', {
79355
79376
  key: item.id,
79356
79377
  attrs: {
@@ -79359,7 +79380,7 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79359
79380
  "disabled": item.status === 0
79360
79381
  }
79361
79382
  });
79362
- }), 1), _vm.showSelectBatchInput && _vm.multiple ? _c('el-popover', {
79383
+ })], 2), _vm.showSelectBatchInput && _vm.multiple ? _c('el-popover', {
79363
79384
  attrs: {
79364
79385
  "placement": "bottom-start",
79365
79386
  "width": _vm.selectBatchInputPopoverWidth,
@@ -79911,7 +79932,7 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79911
79932
  }
79912
79933
  }, [_vm._v(" 加载中... ")]) : _vm._e()], 2);
79913
79934
  };
79914
- var ByCommonSelectorvue_type_template_id_781ea1a3_staticRenderFns = [];
79935
+ var ByCommonSelectorvue_type_template_id_2ab5dba2_staticRenderFns = [];
79915
79936
 
79916
79937
  ;// ./node_modules/pinyin-pro/dist/index.mjs
79917
79938
 
@@ -90205,6 +90226,7 @@ function segment(word, options) {
90205
90226
 
90206
90227
 
90207
90228
 
90229
+
90208
90230
  //拼音库,用于搜索栏生成A~Z字母
90209
90231
 
90210
90232
 
@@ -90232,7 +90254,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90232
90254
  default: 'select'
90233
90255
  },
90234
90256
  /**
90235
- * 选项数据,格式:[{id: 1, name: '选项1', initial: 'A', status: 1}]
90257
+ * 选项数据,格式:[{id: 1, name: '选项1', initial: 'A', status: 1, groupTitle: '分组名'}]
90258
+ * select 模式下,当每一项都配置了 groupTitle 时,将按 groupTitle 分组展示
90236
90259
  * 如果loadOptions存在,则options无效
90237
90260
  */
90238
90261
  options: {
@@ -90491,6 +90514,15 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90491
90514
  selectBatchInputPopoverWidth: {
90492
90515
  type: [String, Number],
90493
90516
  default: '300'
90517
+ },
90518
+ // ********************************** select 类型分组展示相关 **********************************
90519
+ /**
90520
+ * select 类型下是否隐藏分组标题
90521
+ * 注意:仅在所有选项都配置了 groupTitle 时生效;隐藏后组与组之间以分割线分隔
90522
+ */
90523
+ hiddenGroupTitle: {
90524
+ type: Boolean,
90525
+ default: false
90494
90526
  }
90495
90527
  },
90496
90528
  data() {
@@ -90584,6 +90616,46 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90584
90616
  // 标准化后的 enhancedAllOptions(将 value/label 转为 id/name)
90585
90617
  normalizedEnhancedAllOptions() {
90586
90618
  return this.normalizeOptions(this.enhancedAllOptions || []);
90619
+ },
90620
+ // select 模式下是否按 groupTitle 分组展示(需每一项都配置非空 groupTitle)
90621
+ isSelectGrouped() {
90622
+ if (this.type !== 'select' || this.localOptions.length === 0) {
90623
+ return false;
90624
+ }
90625
+ return this.localOptions.every(item => item.groupTitle != null && item.groupTitle !== '');
90626
+ },
90627
+ // select 模式下的分组选项(按 groupTitle 首次出现顺序)
90628
+ groupedSelectOptions() {
90629
+ if (!this.isSelectGrouped) {
90630
+ return [];
90631
+ }
90632
+ const groupMap = new Map();
90633
+ const groups = [];
90634
+ this.localOptions.forEach(item => {
90635
+ const title = item.groupTitle;
90636
+ if (!groupMap.has(title)) {
90637
+ const group = {
90638
+ title,
90639
+ items: []
90640
+ };
90641
+ groupMap.set(title, group);
90642
+ groups.push(group);
90643
+ }
90644
+ groupMap.get(title).items.push(item);
90645
+ });
90646
+ return groups;
90647
+ },
90648
+ // select 下拉面板 class(合并外部传入的 popper-class)
90649
+ selectPopperClass() {
90650
+ const classes = [];
90651
+ const attrClass = this.$attrs['popper-class'] || this.$attrs.popperClass;
90652
+ if (attrClass) {
90653
+ classes.push(attrClass);
90654
+ }
90655
+ if (this.isSelectGrouped && this.hiddenGroupTitle) {
90656
+ classes.push('by_common-selector-select--hidden-group-title');
90657
+ }
90658
+ return classes.join(' ');
90587
90659
  }
90588
90660
  },
90589
90661
  watch: {
@@ -91442,8 +91514,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
91442
91514
  ;
91443
91515
  var ByCommonSelector_component = normalizeComponent(
91444
91516
  common_selector_ByCommonSelectorvue_type_script_lang_js,
91445
- ByCommonSelectorvue_type_template_id_781ea1a3_render,
91446
- ByCommonSelectorvue_type_template_id_781ea1a3_staticRenderFns,
91517
+ ByCommonSelectorvue_type_template_id_2ab5dba2_render,
91518
+ ByCommonSelectorvue_type_template_id_2ab5dba2_staticRenderFns,
91447
91519
  false,
91448
91520
  null,
91449
91521
  null,
@@ -92912,10 +92984,10 @@ var ByCommonInput_component = normalizeComponent(
92912
92984
  });
92913
92985
  ;// ./src/components/form/form.vue?vue&type=script&lang=js
92914
92986
  /* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
92915
- ;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.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-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[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/form/form.vue?vue&type=style&index=0&id=1fc1d18e&prod&lang=scss&scoped=true
92987
+ ;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.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-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[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/form/form.vue?vue&type=style&index=0&id=04cd7112&prod&lang=scss&scoped=true
92916
92988
  // extracted by mini-css-extract-plugin
92917
92989
 
92918
- ;// ./src/components/form/form.vue?vue&type=style&index=0&id=1fc1d18e&prod&lang=scss&scoped=true
92990
+ ;// ./src/components/form/form.vue?vue&type=style&index=0&id=04cd7112&prod&lang=scss&scoped=true
92919
92991
 
92920
92992
  ;// ./src/components/form/form.vue
92921
92993
 
@@ -92928,11 +93000,11 @@ var ByCommonInput_component = normalizeComponent(
92928
93000
 
92929
93001
  var form_component = normalizeComponent(
92930
93002
  form_formvue_type_script_lang_js,
92931
- formvue_type_template_id_1fc1d18e_scoped_true_render,
92932
- formvue_type_template_id_1fc1d18e_scoped_true_staticRenderFns,
93003
+ formvue_type_template_id_04cd7112_scoped_true_render,
93004
+ formvue_type_template_id_04cd7112_scoped_true_staticRenderFns,
92933
93005
  false,
92934
93006
  null,
92935
- "1fc1d18e",
93007
+ "04cd7112",
92936
93008
  null
92937
93009
 
92938
93010
  )
@@ -101681,8 +101753,8 @@ var ByCardView_component = normalizeComponent(
101681
101753
  )
101682
101754
 
101683
101755
  /* harmony default export */ var ByCardView = (ByCardView_component.exports);
101684
- ;// ./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/card-selector/ByCardSelector.vue?vue&type=template&id=681372fb
101685
- var ByCardSelectorvue_type_template_id_681372fb_render = function render() {
101756
+ ;// ./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/card-selector/ByCardSelector.vue?vue&type=template&id=4f6402cc
101757
+ var ByCardSelectorvue_type_template_id_4f6402cc_render = function render() {
101686
101758
  var _vm = this,
101687
101759
  _c = _vm._self._c;
101688
101760
  return _c('div', {
@@ -101703,7 +101775,8 @@ var ByCardSelectorvue_type_template_id_681372fb_render = function render() {
101703
101775
  class: {
101704
101776
  'is-selected': _vm.isSelected(item),
101705
101777
  'is-disabled': _vm.isItemDisabled(item),
101706
- 'is-focusable': !_vm.isItemDisabled(item)
101778
+ 'is-focusable': !_vm.isItemDisabled(item),
101779
+ 'by-card-selector__card--title-only': _vm.isTitleOnlyCard(item)
101707
101780
  },
101708
101781
  attrs: {
101709
101782
  "role": "option",
@@ -101727,7 +101800,7 @@ var ByCardSelectorvue_type_template_id_681372fb_render = function render() {
101727
101800
  "index": index,
101728
101801
  "selected": _vm.isSelected(item),
101729
101802
  "disabled": _vm.isItemDisabled(item)
101730
- }) : _c('div', {
101803
+ }) : [_c('div', {
101731
101804
  staticClass: "by-card-selector__card-inner"
101732
101805
  }, [_vm.hasIconArea(item) ? _c('div', {
101733
101806
  staticClass: "by-card-selector__icon-wrap"
@@ -101788,14 +101861,14 @@ var ByCardSelectorvue_type_template_id_681372fb_render = function render() {
101788
101861
  "type": "info",
101789
101862
  "effect": "plain"
101790
101863
  }
101791
- }, [_vm._v(" +" + _vm._s(_vm.tagOverflowCount(item)) + " ")]) : _vm._e()], 2) : _vm._e()]), _vm.showCheckmark ? _c('div', {
101864
+ }, [_vm._v(" +" + _vm._s(_vm.tagOverflowCount(item)) + " ")]) : _vm._e()], 2) : _vm._e()])]), _vm.showCheckmark && _vm.isSelected(item) ? _c('div', {
101792
101865
  staticClass: "by-card-selector__check",
101793
101866
  attrs: {
101794
101867
  "aria-hidden": "true"
101795
101868
  }
101796
- }, [_vm.isSelected(item) ? _c('i', {
101869
+ }, [_c('i', {
101797
101870
  staticClass: "el-icon-check by-card-selector__check-icon"
101798
- }) : _vm._e()]) : _vm._e()])], 2);
101871
+ })]) : _vm._e()]], 2);
101799
101872
  }), _vm.hasGroupTooltip ? _c('div', {
101800
101873
  staticClass: "by-card-selector__suffix",
101801
101874
  attrs: {
@@ -101818,7 +101891,7 @@ var ByCardSelectorvue_type_template_id_681372fb_render = function render() {
101818
101891
  staticClass: "el-icon-question"
101819
101892
  })])])], 1) : _vm._e()], 2);
101820
101893
  };
101821
- var ByCardSelectorvue_type_template_id_681372fb_staticRenderFns = [];
101894
+ var ByCardSelectorvue_type_template_id_4f6402cc_staticRenderFns = [];
101822
101895
 
101823
101896
  ;// ./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/card-selector/ByCardSelector.vue?vue&type=script&lang=js
101824
101897
 
@@ -101942,7 +102015,7 @@ const VALUE_FALLBACK_FIELD = 'id';
101942
102015
  type: [String, Number],
101943
102016
  default: ''
101944
102017
  },
101945
- /** 是否在卡片右侧展示圆形打钩选中指示,默认展示;如不需要可显式设为 false */
102018
+ /** 是否在选中卡片右上角展示角标打钩,默认展示;未选中时不占位;如不需要可显式设为 false */
101946
102019
  showCheckmark: {
101947
102020
  type: Boolean,
101948
102021
  default: true
@@ -102094,6 +102167,11 @@ const VALUE_FALLBACK_FIELD = 'id';
102094
102167
  hasIconArea(item) {
102095
102168
  return Boolean(this.rawIcon(item)) || this.hasIconSlot;
102096
102169
  },
102170
+ /** 仅标题卡片:无图标、描述、标签、单项 tooltip,角标自动缩小尺寸 */
102171
+ isTitleOnlyCard(item) {
102172
+ if (this.hasCardSlot) return false;
102173
+ return !this.hasIconArea(item) && !this.optionDescription(item) && !this.rawTags(item).length && !this.optionTooltip(item);
102174
+ },
102097
102175
  iconFallbackLetter(item) {
102098
102176
  const t = this.optionLabel(item);
102099
102177
  return t ? t.trim().charAt(0).toUpperCase() : '?';
@@ -102225,8 +102303,8 @@ const VALUE_FALLBACK_FIELD = 'id';
102225
102303
  ;
102226
102304
  var ByCardSelector_component = normalizeComponent(
102227
102305
  card_selector_ByCardSelectorvue_type_script_lang_js,
102228
- ByCardSelectorvue_type_template_id_681372fb_render,
102229
- ByCardSelectorvue_type_template_id_681372fb_staticRenderFns,
102306
+ ByCardSelectorvue_type_template_id_4f6402cc_render,
102307
+ ByCardSelectorvue_type_template_id_4f6402cc_staticRenderFns,
102230
102308
  false,
102231
102309
  null,
102232
102310
  null,
@@ -102831,6 +102909,22 @@ var ByTabsvue_type_template_id_8c36e07e_scoped_true_staticRenderFns = [];
102831
102909
 
102832
102910
 
102833
102911
 
102912
+ /**
102913
+ * 为 by-tab-pane 的 variant="subtle" 动态生成 tab 样式。
102914
+ *
102915
+ * 背景:
102916
+ * - el-tabs 的 tab 项由 Element UI 内部渲染,无法直接给单个 .el-tabs__item 挂自定义 class
102917
+ * - 若用 JS 改 class,Vue / el-tabs 重渲染时会覆盖,导致 subtle tab 闪烁
102918
+ *
102919
+ * 方案:
102920
+ * - ByTabPane 向 ByTabs 注册 { name, variant }
102921
+ * - 本模块按 name 生成 CSS,选择器命中 el-tabs 自带的 #tab-{name}
102922
+ * - ByTabs 将结果写入 <style data-by-tabs-variant> 注入 document.head
102923
+ *
102924
+ * 样式分两套:默认盒状 tab、type="line" 下划线 tab(buildDefaultSubtleStyles / buildLineSubtleStyles)
102925
+ */
102926
+
102927
+ /** 转义 tab name,避免特殊字符破坏 CSS 选择器 */
102834
102928
  function escapeTabName(name) {
102835
102929
  const value = String(name);
102836
102930
  if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
@@ -102838,10 +102932,19 @@ function escapeTabName(name) {
102838
102932
  }
102839
102933
  return value.replace(/[^a-zA-Z0-9_-]/g, '\\$&');
102840
102934
  }
102935
+
102936
+ /**
102937
+ * 拼接 subtle tab 的 CSS 选择器
102938
+ * @param {string[]} names - tab 的 name 列表
102939
+ * @param {string} suffix - 伪类/状态后缀,如 ':hover'、'.is-active'
102940
+ * @param {boolean} line - 是否为 type="line" 模式
102941
+ */
102841
102942
  function buildSelector(names, suffix = '', line = false) {
102842
102943
  const root = line ? '.by-tabs.by-tabs--line' : '.by-tabs';
102843
102944
  return names.map(name => `${root} .el-tabs__item#tab-${escapeTabName(name)}${suffix}`).join(',\n');
102844
102945
  }
102946
+
102947
+ /** 默认模式下的 subtle tab:更小、置灰、圆角胶囊(如定向监管的项目 tab) */
102845
102948
  function buildDefaultSubtleStyles(subtleNames) {
102846
102949
  const base = buildSelector(subtleNames);
102847
102950
  const hover = buildSelector(subtleNames, ':hover');
@@ -102878,6 +102981,8 @@ ${active} {
102878
102981
  }
102879
102982
  `;
102880
102983
  }
102984
+
102985
+ /** line 模式下的 subtle tab:透明底 + 下划线选中,尺寸与 line 主 tab 协调 */
102881
102986
  function buildLineSubtleStyles(subtleNames) {
102882
102987
  const base = buildSelector(subtleNames, '', true);
102883
102988
  const hover = buildSelector(subtleNames, ':hover', true);
@@ -102916,6 +103021,13 @@ ${activeAfter} {
102916
103021
  }
102917
103022
  `;
102918
103023
  }
103024
+
103025
+ /**
103026
+ * 根据已注册的 pane variant 生成 subtle 样式字符串
103027
+ * @param {Record<string, string>} paneVariants - { [tabName]: 'default' | 'subtle' }
103028
+ * @param {{ line?: boolean }} options - line 为 true 时使用下划线风格
103029
+ * @returns {string} 可注入 <style> 的 CSS,无 subtle tab 时返回空字符串
103030
+ */
102919
103031
  function buildVariantTabStyles(paneVariants = {}, options = {}) {
102920
103032
  const subtleNames = Object.entries(paneVariants).filter(([, variant]) => variant === 'subtle').map(([name]) => name);
102921
103033
  if (!subtleNames.length) return '';
@@ -1 +1 @@
1
- .b-form .header[data-v-1fc1d18e]{margin-bottom:20px}.b-form .footer[data-v-1fc1d18e]{margin-top:20px}.by-tabs-wrapper[data-v-8c36e07e]{width:100%}
1
+ .b-form .header[data-v-04cd7112]{margin-bottom:20px}.b-form .footer[data-v-04cd7112]{margin-top:20px}.by-tabs-wrapper[data-v-8c36e07e]{width:100%}