@kayak-sj/design 1.0.53 → 1.0.55

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.
package/dist/index.js CHANGED
@@ -461,7 +461,10 @@ var it = /* @__PURE__ */ j({
461
461
  "k-form--inline-layout": a.inline,
462
462
  "k-form--query-layout": a.autoLayout,
463
463
  "k-form--grid-layout": !a.autoLayout && !a.inline
464
- })), g = C(() => ({ "--k-form-cols": String(a.colLength) })), _ = C(() => a.modelValue !== void 0), v = et({
464
+ })), g = C(() => ({
465
+ "--k-form-cols": String(a.colLength),
466
+ "--k-form-label-width": m.value
467
+ })), _ = C(() => a.modelValue !== void 0), v = et({
465
468
  formConfigs: H(a, "formConfigs"),
466
469
  data: H(a, "data"),
467
470
  modelValue: H(a, "modelValue"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kayak-sj/design",
3
- "version": "1.0.53",
3
+ "version": "1.0.55",
4
4
  "type": "module",
5
5
  "description": "PC 组件库(Vue3 + Element Plus,对应旧 @kayak/kayak-design-vue2)",
6
6
  "license": "ISC",
@@ -7,9 +7,28 @@
7
7
  flex-wrap: wrap;
8
8
 
9
9
  /// 编辑/弹窗:Grid 多列 + 右对齐标签
10
+ /// auto-fit:列最小宽给足「偏宽 label(含 tip) + 300px 控件」,不够两列时先换行,不改 label 宽度算法
10
11
  &--grid-layout {
11
12
  display: grid;
12
- grid-template-columns: repeat(var(--k-form-cols, 2), minmax(0, 1fr));
13
+ /* 面板再窄也不把控件压扁,由外层滚动条横向承载 */
14
+ min-width: var(--k-form-min-width);
15
+ width: 100%;
16
+ box-sizing: border-box;
17
+ grid-template-columns: repeat(
18
+ auto-fit,
19
+ minmax(
20
+ min(
21
+ 100%,
22
+ max(
23
+ var(--k-form-grid-min-col),
24
+ calc(
25
+ (100% - (var(--k-form-cols, 2) - 1) * var(--k-form-grid-gap-x)) / var(--k-form-cols, 2)
26
+ )
27
+ )
28
+ ),
29
+ 1fr
30
+ )
31
+ );
13
32
  column-gap: var(--k-form-grid-gap-x);
14
33
  row-gap: 0;
15
34
  padding: 4px var(--k-form-padding-x) 0;
@@ -92,6 +92,9 @@
92
92
  --k-form-control-border: var(--k-color-border);
93
93
  --k-form-control-bg: var(--k-color-bg-surface);
94
94
  --k-form-control-max-width: #{sem.$form-control-max-width};
95
+ /// 引用 label / control 变量,便于表单实例覆盖 --k-form-label-width 后自动重算
96
+ --k-form-grid-min-col: calc(var(--k-form-label-width) + var(--k-form-control-max-width));
97
+ --k-form-min-width: calc(var(--k-form-grid-min-col) + var(--k-form-padding-x) * 2);
95
98
  --k-form-textarea-max-width: #{sem.$form-textarea-max-width};
96
99
 
97
100
  --k-form-query-col-width: #{sem.$form-query-col-width};
@@ -30,6 +30,10 @@ $form-label-width-query: 120px !default;
30
30
  $form-control-height: 32px !default;
31
31
  $form-control-font-size: typo.$font-size-medium !default;
32
32
  $form-control-max-width: 300px !default;
33
+ /** grid 单列最小宽 = label + 控件 max;运行时随 --k-form-label-width 变化 */
34
+ $form-grid-min-col: calc(#{$form-label-width} + #{$form-control-max-width}) !default;
35
+ /** 编辑表单整体最小宽:单列 label+控件+左右 padding,再窄则横向撑开由容器滚动 */
36
+ $form-min-width: calc(#{$form-grid-min-col} + #{$form-padding-x} * 2) !default;
33
37
  $form-textarea-max-width: 500px !default;
34
38
 
35
39
  $form-query-col-width: 320px !default;