savor-ui 0.12.2 → 0.13.0

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/es/components/index.d.ts +1 -0
  3. package/dist/es/components/index.mjs +1 -0
  4. package/dist/es/components/src/auto-complete/auto-complete.vue_vue_type_script_setup_true_vapor_true_lang.mjs +3 -1
  5. package/dist/es/components/src/auto-complete/index.d.ts +1 -0
  6. package/dist/es/components/src/auto-complete/types.d.ts +2 -0
  7. package/dist/es/components/src/cascader/cascader.vue_vue_type_script_setup_true_vapor_true_lang.mjs +3 -1
  8. package/dist/es/components/src/cascader/index.d.ts +1 -0
  9. package/dist/es/components/src/cascader/types.d.ts +2 -0
  10. package/dist/es/components/src/drawer/drawer.vue_vue_type_script_setup_true_vapor_true_lang.mjs +99 -89
  11. package/dist/es/components/src/drawer/index.d.ts +4 -2
  12. package/dist/es/components/src/drawer/types.d.ts +6 -2
  13. package/dist/es/components/src/form/form.vue_vue_type_script_setup_true_vapor_true_lang.mjs +1 -1
  14. package/dist/es/components/src/form/types.d.ts +2 -2
  15. package/dist/es/components/src/input-group/index.d.ts +18 -0
  16. package/dist/es/components/src/input-group/index.mjs +7 -0
  17. package/dist/es/components/src/input-group/input-group.d.ts +20 -0
  18. package/dist/es/components/src/input-group/input-group.vue.mjs +5 -0
  19. package/dist/es/components/src/input-group/input-group.vue_vue_type_script_setup_true_vapor_true_lang.mjs +14 -0
  20. package/dist/es/components/src/input-group/types.d.ts +4 -0
  21. package/dist/es/components/src/segmented/index.d.ts +1 -1
  22. package/dist/es/components/src/segmented/segmented.vue_vue_type_script_setup_true_vapor_true_lang.mjs +54 -53
  23. package/dist/es/components/src/segmented/types.d.ts +1 -1
  24. package/dist/es/components/src/select/index.d.ts +1 -0
  25. package/dist/es/components/src/select/select.vue_vue_type_script_setup_true_vapor_true_lang.mjs +128 -124
  26. package/dist/es/components/src/select/types.d.ts +2 -0
  27. package/dist/es/components/src/split/split-pane.vue_vue_type_script_setup_true_vapor_true_lang.mjs +69 -59
  28. package/dist/es/components/src/split/split.vue_vue_type_script_setup_true_vapor_true_lang.mjs +137 -130
  29. package/dist/es/components/src/split/types.d.ts +1 -0
  30. package/dist/es/components/src/tree-select/index.d.ts +1 -0
  31. package/dist/es/components/src/tree-select/tree-select.vue_vue_type_script_setup_true_vapor_true_lang.mjs +118 -114
  32. package/dist/es/components/src/tree-select/types.d.ts +2 -0
  33. package/dist/es/core/components.mjs +44 -42
  34. package/dist/es/core/global.d.ts +1 -0
  35. package/dist/es/core/index.mjs +44 -43
  36. package/dist/es/theme/components/date-picker.scss +4 -3
  37. package/dist/es/theme/components/datetime-picker.scss +4 -3
  38. package/dist/es/theme/components/drawer.scss +18 -14
  39. package/dist/es/theme/components/index.scss +1 -0
  40. package/dist/es/theme/components/input-group.scss +528 -0
  41. package/dist/es/theme/components/input-number.scss +3 -2
  42. package/dist/es/theme/components/input-tag.scss +3 -2
  43. package/dist/es/theme/components/segmented.scss +12 -4
  44. package/dist/es/theme/components/select.scss +15 -0
  45. package/dist/es/theme/components/tree-select.scss +15 -0
  46. package/dist/json/vetur-attributes.json +26 -2
  47. package/dist/json/vetur-tags.json +12 -3
  48. package/dist/json/web-types.json +63 -4
  49. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
 
4
4
 
5
+ # [0.13.0](https://gitee.com/mach552/savor-ui/compare/v0.12.2...v0.13.0) (2026-07-22)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **drawer:** 修复内容区域无法滚动问题 ([ce46170](https://gitee.com/mach552/savor-ui/commits/ce461707a4c53fd2a9f0188b54a64e2979122471))
11
+ * **split:** 修复面板在弹窗内尺寸无法刷新的问题 ([4822d18](https://gitee.com/mach552/savor-ui/commits/4822d18aaee355c8bc6c5c4152118bfad39ce748))
12
+
13
+
14
+ ### Features
15
+
16
+ * **drawer:** 新增`footer`和`title`属性 ([e523f4d](https://gitee.com/mach552/savor-ui/commits/e523f4dce98c985c97fdb9993eb5290edd3e0fcc))
17
+ * **input-group:** 新增输入框组并同步其他输入组件样式 ([02b82c3](https://gitee.com/mach552/savor-ui/commits/02b82c3746a6822100e5c22ae051741707dd713a))
18
+ * **segmented:** 新增组件大小与表单大小联动 ([5fd43bb](https://gitee.com/mach552/savor-ui/commits/5fd43bbb7897c1d58fa5252586036ba006226212))
19
+
5
20
  ## [0.12.2](https://gitee.com/mach552/savor-ui/compare/v0.12.1...v0.12.2) (2026-07-17)
6
21
 
7
22
 
@@ -29,6 +29,7 @@ export * from './src/highlight';
29
29
  export * from './src/icon';
30
30
  export * from './src/image';
31
31
  export * from './src/input';
32
+ export * from './src/input-group';
32
33
  export * from './src/input-number';
33
34
  export * from './src/input-tag';
34
35
  export * from './src/layer';
@@ -47,6 +47,7 @@ import "./src/grid/index.mjs";
47
47
  import "./src/highlight/index.mjs";
48
48
  import "./src/image/types.mjs";
49
49
  import "./src/image/index.mjs";
50
+ import "./src/input-group/index.mjs";
50
51
  import "./src/input-number/index.mjs";
51
52
  import "./src/input-tag/index.mjs";
52
53
  import "./src/layer/method.mjs";
@@ -21,7 +21,8 @@ var j = /*@__PURE__*/ l({
21
21
  size: { default: "medium" },
22
22
  maxHeight: { default: "200px" },
23
23
  popoverProps: {},
24
- error: { type: Boolean }
24
+ error: { type: Boolean },
25
+ filled: { type: Boolean }
25
26
  }, {
26
27
  modelValue: { default: "" },
27
28
  modelModifiers: {}
@@ -134,6 +135,7 @@ var j = /*@__PURE__*/ l({
134
135
  clearable: () => l.clearable,
135
136
  error: () => C(L),
136
137
  size: () => C(I),
138
+ filled: () => l.filled,
137
139
  style: "width: 100%",
138
140
  onInput: () => q,
139
141
  onKeydown: () => ne,
@@ -16,6 +16,7 @@ export declare const SAutoComplete: ((__VLS_props: NonNullable<Awaited<typeof __
16
16
  maxHeight?: string | number | undefined;
17
17
  popoverProps?: Partial< PopoverProps> | undefined;
18
18
  error?: boolean | undefined;
19
+ filled?: boolean | undefined;
19
20
  onSearch?: ((value: string) => any) | undefined;
20
21
  onClear?: (() => any) | undefined;
21
22
  onChange?: ((value: string) => any) | undefined;
@@ -18,6 +18,8 @@ export interface AutoCompleteProps {
18
18
  popoverProps?: Partial<PopoverProps>;
19
19
  /** 是否错误 */
20
20
  error?: boolean;
21
+ /** 是否填充输入框 */
22
+ filled?: boolean;
21
23
  }
22
24
  export interface AutoCompleteEmits {
23
25
  /** 搜索时触发 */
@@ -32,7 +32,8 @@ var k = /*@__PURE__*/ p({
32
32
  disabled: { type: Boolean },
33
33
  clearable: { type: Boolean },
34
34
  checkStrictly: { type: Boolean },
35
- multiple: { type: Boolean }
35
+ multiple: { type: Boolean },
36
+ filled: { type: Boolean }
36
37
  }, {
37
38
  modelValue: { default: void 0 },
38
39
  modelModifiers: {},
@@ -167,6 +168,7 @@ var k = /*@__PURE__*/ p({
167
168
  disabled: () => p.disabled,
168
169
  error: () => w(P),
169
170
  size: () => w(N),
171
+ filled: () => p.filled,
170
172
  modelValue: () => R.value,
171
173
  "onUpdate:modelValue": () => (e) => R.value = e,
172
174
  readonly: "",
@@ -29,6 +29,7 @@ export declare const SCascader: ((__VLS_props: NonNullable<Awaited<typeof __VLS_
29
29
  clearable?: boolean | undefined;
30
30
  checkStrictly?: boolean | undefined;
31
31
  multiple?: boolean | undefined;
32
+ filled?: boolean | undefined;
32
33
  expandedKeys?: Array<string | number> | undefined;
33
34
  expanded?: CascaderOption[] | undefined;
34
35
  onClear?: (() => any) | undefined;
@@ -38,6 +38,8 @@ export interface CascaderProps {
38
38
  checkStrictly?: boolean;
39
39
  /** 是否支持多选 */
40
40
  multiple?: boolean;
41
+ /** 是否填充输入框 */
42
+ filled?: boolean;
41
43
  }
42
44
  export interface CascaderOption {
43
45
  key?: number | string;
@@ -9,14 +9,14 @@ import "../../../icons/index.mjs";
9
9
  import a from "../button/button.vue.mjs";
10
10
  import o from "../scrollbar/scrollbar.vue.mjs";
11
11
  import { STransition as s } from "../transition/index.mjs";
12
- import { VaporTeleport as ee, applyVShow as c, child as l, computed as u, createComponent as d, createIf as f, createInvoker as p, createSlot as m, createTemplateRefSetter as h, defineVaporComponent as g, delegateEvents as _, mergeModels as v, next as y, nextTick as b, onMounted as x, onUnmounted as te, ref as S, renderEffect as C, setClass as w, setInsertionState as T, setStyle as E, setText as D, template as O, toDisplayString as ne, txt as re, unref as k, useModel as ie, watch as A } from "vue";
12
+ import { VaporTeleport as ee, applyVShow as c, child as l, computed as u, createComponent as d, createIf as f, createInvoker as p, createSlot as m, createTemplateRefSetter as te, defineVaporComponent as h, delegateEvents as g, mergeModels as _, nextTick as v, onMounted as y, onUnmounted as b, ref as x, renderEffect as S, setClass as C, setInsertionState as w, setStyle as T, setText as ne, template as E, toDisplayString as re, txt as ie, unref as D, useModel as ae, watch as O } from "vue";
13
13
  //#region ../components/src/drawer/drawer.vue?vue&type=script&setup=true&vapor=true&lang.ts
14
- var j = O("<div>"), ae = O("<div> "), oe = O("<div><div><div></div><div></div><div>");
15
- _("click", "mousedown");
16
- var M = /*@__PURE__*/ g({
14
+ var k = E("<div>"), A = E("<div> "), j = E("<div><div><div></div>");
15
+ g("click", "mousedown");
16
+ var M = /*@__PURE__*/ h({
17
17
  name: "SDrawer",
18
18
  __name: "drawer",
19
- props: /*@__PURE__*/ v({
19
+ props: /*@__PURE__*/ _({
20
20
  modelValue: { type: Boolean },
21
21
  closeOnEsc: {
22
22
  type: Boolean,
@@ -39,13 +39,21 @@ var M = /*@__PURE__*/ g({
39
39
  placement: { default: "right" },
40
40
  resizable: { type: Boolean },
41
41
  to: { default: "body" },
42
- header: {},
42
+ title: {},
43
+ header: {
44
+ type: Boolean,
45
+ default: !0
46
+ },
47
+ footer: {
48
+ type: Boolean,
49
+ default: !0
50
+ },
43
51
  closable: {
44
52
  type: Boolean,
45
53
  default: !0
46
54
  },
47
55
  bodyStyle: {},
48
- bodyScroll: { type: Boolean },
56
+ scrollContent: { type: Boolean },
49
57
  scrollbarProps: {},
50
58
  push: { type: Boolean },
51
59
  drawerStyle: {},
@@ -57,7 +65,7 @@ var M = /*@__PURE__*/ g({
57
65
  },
58
66
  modelModifiers: {}
59
67
  }),
60
- emits: /*@__PURE__*/ v([
68
+ emits: /*@__PURE__*/ _([
61
69
  "esc",
62
70
  "maskClick",
63
71
  "open",
@@ -65,43 +73,43 @@ var M = /*@__PURE__*/ g({
65
73
  "close",
66
74
  "closed"
67
75
  ], ["update:modelValue"]),
68
- setup(g, { emit: _ }) {
69
- let v = g, O = _, M = t("drawer"), { nextZIndex: se } = r(), N = S(0), { lockScroll: ce, unlockScroll: le } = n(), P = ie(g, "modelValue"), F = S(!1), I = S(!1), L = S(!1), R = S(""), z = S("");
70
- R.value = e(v.width), z.value = e(v.height);
71
- let B = u(() => ({
72
- zIndex: N.value,
73
- position: v.to === "body" ? "fixed" : "absolute"
74
- })), V = u(() => {
75
- let e = { ...v.drawerStyle };
76
- return (v.placement === "left" || v.placement === "right") && (e.width = R.value), (v.placement === "top" || v.placement === "bottom") && (e.height = z.value), e;
77
- }), H = () => {
78
- O("opened");
79
- }, U = () => {
80
- I.value = !1, O("closed"), b(() => {
81
- Z.value && (Z.value.style.transition = "", Z.value.style.transform = ""), le();
76
+ setup(h, { emit: g }) {
77
+ let _ = h, E = g, M = t("drawer"), { nextZIndex: N } = r(), P = x(0), { lockScroll: F, unlockScroll: I } = n(), L = ae(h, "modelValue"), R = x(!1), z = x(!1), B = x(!1), V = x(""), H = x("");
78
+ V.value = e(_.width), H.value = e(_.height);
79
+ let U = u(() => ({
80
+ zIndex: P.value,
81
+ position: _.to === "body" ? "fixed" : "absolute"
82
+ })), W = u(() => {
83
+ let e = { ..._.drawerStyle };
84
+ return (_.placement === "left" || _.placement === "right") && (e.width = V.value), (_.placement === "top" || _.placement === "bottom") && (e.height = H.value), e;
85
+ }), oe = () => {
86
+ E("opened");
87
+ }, se = () => {
88
+ z.value = !1, E("closed"), v(() => {
89
+ Z.value && (Z.value.style.transition = "", Z.value.style.transform = ""), I();
82
90
  });
83
- }, W = () => {
84
- P.value = !1, O("close");
85
91
  }, G = () => {
86
- v.closeOnMask && (W(), O("maskClick"));
87
- }, ue = (e) => {
88
- e.preventDefault(), L.value = !0;
92
+ L.value = !1, E("close");
93
+ }, ce = () => {
94
+ _.closeOnMask && (G(), E("maskClick"));
95
+ }, le = (e) => {
96
+ e.preventDefault(), B.value = !0;
89
97
  }, K = (e) => {
90
- if (L.value) {
91
- if (v.placement === "right" && (R.value = X(window.innerWidth - e.clientX, v.minWidth, v.maxWidth, !0), $(R.value, !0)), v.placement === "left") {
98
+ if (B.value) {
99
+ if (_.placement === "right" && (V.value = X(window.innerWidth - e.clientX, _.minWidth, _.maxWidth, !0), $(V.value, !0)), _.placement === "left") {
92
100
  let t = e.clientX;
93
- R.value = X(t, v.minWidth, v.maxWidth, !0), $(R.value, !0);
101
+ V.value = X(t, _.minWidth, _.maxWidth, !0), $(V.value, !0);
94
102
  }
95
- if (v.placement === "bottom" && (z.value = X(window.innerHeight - e.clientY, v.minHeight, v.maxHeight, !1), $(z.value, !0)), v.placement === "top") {
103
+ if (_.placement === "bottom" && (H.value = X(window.innerHeight - e.clientY, _.minHeight, _.maxHeight, !1), $(H.value, !0)), _.placement === "top") {
96
104
  let t = e.clientY;
97
- z.value = X(t, v.minHeight, v.maxHeight, !1), $(z.value, !0);
105
+ H.value = X(t, _.minHeight, _.maxHeight, !1), $(H.value, !0);
98
106
  }
99
107
  }
100
108
  }, q = () => {
101
- L.value &&= !1;
109
+ B.value &&= !1;
102
110
  }, J = (e) => {
103
- e.key === "Escape" && v.closeOnEsc && P.value && (W(), O("esc"));
104
- }, de = (e) => {
111
+ e.key === "Escape" && _.closeOnEsc && L.value && (G(), E("esc"));
112
+ }, ue = (e) => {
105
113
  let t = String(e).trim().match(/^(\d*\.?\d+)(.*)$/);
106
114
  return t ? {
107
115
  num: parseFloat(t[1]),
@@ -111,7 +119,7 @@ var M = /*@__PURE__*/ g({
111
119
  unit: "px"
112
120
  };
113
121
  }, Y = (e, t) => {
114
- let { num: n, unit: r } = de(e), i = t ? window.innerWidth : window.innerHeight;
122
+ let { num: n, unit: r } = ue(e), i = t ? window.innerWidth : window.innerHeight;
115
123
  switch (r) {
116
124
  case "%":
117
125
  case "vw":
@@ -122,72 +130,74 @@ var M = /*@__PURE__*/ g({
122
130
  }, X = (e, t, n, r) => {
123
131
  let i = Y(t, r), a = Y(n, r);
124
132
  return Math.max(i, Math.min(e, a)) + "px";
125
- }, Z = S(null), Q = () => {
126
- v.to === "body" ? Z.value = document.querySelector("#app") : v.to instanceof HTMLElement ? Z.value = v.to : typeof v.to == "string" && (Z.value = document.querySelector(v.to));
133
+ }, Z = x(null), Q = () => {
134
+ _.to === "body" ? Z.value = document.querySelector("#app") : _.to instanceof HTMLElement ? Z.value = _.to : typeof _.to == "string" && (Z.value = document.querySelector(_.to));
127
135
  }, $ = (e, t) => {
128
- v.push && Z.value && (t ? (Z.value.style.transition = "transform 0.3s var(--s-bezier-out)", v.placement === "left" ? Z.value.style.transform = `translateX(${e})` : v.placement === "right" ? Z.value.style.transform = `translateX(-${e})` : v.placement === "top" ? Z.value.style.transform = `translateY(${e})` : v.placement === "bottom" && (Z.value.style.transform = `translateY(-${e})`)) : (Z.value.style.transition = "transform 0.3s var(--s-bezier-in)", Z.value.style.transform = "translate(0,0)"));
136
+ _.push && Z.value && (t ? (Z.value.style.transition = "transform 0.3s var(--s-bezier-out)", _.placement === "left" ? Z.value.style.transform = `translateX(${e})` : _.placement === "right" ? Z.value.style.transform = `translateX(-${e})` : _.placement === "top" ? Z.value.style.transform = `translateY(${e})` : _.placement === "bottom" && (Z.value.style.transform = `translateY(-${e})`)) : (Z.value.style.transition = "transform 0.3s var(--s-bezier-in)", Z.value.style.transform = "translate(0,0)"));
129
137
  };
130
- A(() => v.to, Q), A(() => P.value, (e) => {
131
- e ? (N.value = se(), ce(), I.value = !0, b(() => {
132
- F.value = !0, v.placement === "left" || v.placement === "right" ? $(V.value.width, !0) : (v.placement === "top" || v.placement === "bottom") && $(V.value.height, !0), v.closeOnEsc && (document.removeEventListener("keydown", J), document.addEventListener("keydown", J)), O("open");
133
- })) : (F.value = !1, document.removeEventListener("keydown", J), $("0", !1));
134
- }, { immediate: !0 }), A(() => v.resizable, (e) => {
138
+ O(() => _.to, Q), O(() => L.value, (e) => {
139
+ e ? (P.value = N(), F(), z.value = !0, v(() => {
140
+ R.value = !0, _.placement === "left" || _.placement === "right" ? $(W.value.width, !0) : (_.placement === "top" || _.placement === "bottom") && $(W.value.height, !0), _.closeOnEsc && (document.removeEventListener("keydown", J), document.addEventListener("keydown", J)), E("open");
141
+ })) : (R.value = !1, document.removeEventListener("keydown", J), $("0", !1));
142
+ }, { immediate: !0 }), O(() => _.resizable, (e) => {
135
143
  e ? (window.addEventListener("mousemove", K), window.addEventListener("mouseup", q)) : (window.removeEventListener("mousemove", K), window.removeEventListener("mouseup", q));
136
- }, { immediate: !0 }), x(() => {
144
+ }, { immediate: !0 }), y(() => {
137
145
  Q();
138
- }), te(() => {
146
+ }), b(() => {
139
147
  document.removeEventListener("keydown", J), window.removeEventListener("mousemove", K), window.removeEventListener("mouseup", q);
140
148
  });
141
- let fe = h();
149
+ let de = te();
142
150
  return d(ee, {
143
- to: () => g.to,
151
+ to: () => h.to,
144
152
  defer: ""
145
153
  }, () => {
146
- let e = j();
147
- return C(() => {
148
- w(e, [k(M).e("container")]), E(e, B.value);
149
- }), T(e, null, 0), d(k(s), { type: "opacity" }, () => f(() => g.mask && F.value, () => {
150
- let e = j();
151
- return e.$evtclick = p(G), C(() => {
152
- w(e, [k(M).e("mask")]), E(e, g.maskStyle);
154
+ let e = k();
155
+ return S(() => {
156
+ C(e, [D(M).e("container")]), T(e, U.value);
157
+ }), w(e, null, 0), d(D(s), { type: "opacity" }, () => f(() => h.mask && R.value, () => {
158
+ let e = k();
159
+ return e.$evtclick = p(ce), S(() => {
160
+ C(e, [D(M).e("mask")]), T(e, h.maskStyle);
153
161
  }), e;
154
- }, null, 129)), T(e, null, 1), d(k(s), {
162
+ }, null, 129)), w(e, null, 1), d(D(s), {
155
163
  type: "side",
156
- placement: () => g.placement,
157
- onAfterLeave: () => U,
158
- onAfterEnter: () => H
164
+ placement: () => h.placement,
165
+ onAfterLeave: () => se,
166
+ onAfterEnter: () => oe
159
167
  }, () => {
160
- let e = oe(), t = l(e, 1), n = l(t), r = y(n, 1), s = y(r, 2);
161
- return C(() => {
162
- let t = k(M);
163
- w(e, [t.b(), t.m(g.placement)]), E(e, V.value);
164
- }), T(e, 0, 0), f(() => g.resizable, () => {
165
- let e = j();
166
- return e.$evtmousedown = p(ue), C(() => {
167
- let t = k(M);
168
- w(e, [t.e("trigger"), t.is("dragging", L.value)]);
169
- }), e;
170
- }), C(() => {
171
- let e = k(M);
172
- w(t, [e.e("wrapper")]), w(n, [e.e("header")]);
173
- }), T(n, null, 0), m("header", null, () => {
174
- let e = ae(), t = re(e);
175
- return C(() => {
176
- w(e, [k(M).e("title")]), D(t, ne(g.header));
168
+ let e = j(), t = l(e, 1), n = l(t, 1);
169
+ return S(() => {
170
+ let t = D(M);
171
+ C(e, [t.b(), t.m(h.placement)]), T(e, W.value);
172
+ }), w(e, 0, 0), f(() => h.resizable, () => {
173
+ let e = k();
174
+ return e.$evtmousedown = p(le), S(() => {
175
+ let t = D(M);
176
+ C(e, [t.e("trigger"), t.is("dragging", B.value)]);
177
177
  }), e;
178
- }), T(n, null, 1), f(() => g.closable, () => d(a, {
179
- circle: "",
180
- text: "",
181
- size: "small",
182
- onClick: () => W
183
- }, { icon: () => d(k(i)) })), C(() => w(r, [k(M).e("body")])), T(r, null, 0), f(() => g.bodyScroll, () => d(o, { $: [() => ({ ...g.scrollbarProps })] }, () => {
184
- let e = j();
185
- return C(() => w(e, [k(M).e("content")])), T(e, null, 0), m(), e;
186
- }), () => {
187
- let e = j();
188
- return C(() => w(e, [k(M).e("content")])), T(e, null, 0), m(), e;
189
- }, 1029), C(() => w(s, [k(M).e("footer")])), T(s, null, 0), m("footer"), c(e, () => F.value), e;
190
- }), c(e, () => I.value), fe(e, "drawerContainerRef"), e;
178
+ }), S(() => C(t, [D(M).e("wrapper")])), w(t, 0, 0), f(() => h.header, () => {
179
+ let e = k();
180
+ return S(() => C(e, [D(M).e("header")])), w(e, null, 0), m("header", null, () => {
181
+ let e = A(), t = ie(e);
182
+ return S(() => {
183
+ C(e, [D(M).e("title")]), ne(t, re(h.title));
184
+ }), e;
185
+ }), w(e, null, 1), f(() => h.closable, () => d(a, {
186
+ circle: "",
187
+ text: "",
188
+ size: "small",
189
+ onClick: () => G
190
+ }, { icon: () => d(D(i)) })), e;
191
+ }), S(() => C(n, [D(M).e("body")])), w(n, null, 0), f(() => h.scrollContent, () => d(o, { $: [() => ({ ...h.scrollbarProps })] }, () => m("default", null, null, 4)), () => {
192
+ let e = k();
193
+ return S(() => {
194
+ C(e, [D(M).e("content")]), T(e, h.bodyStyle);
195
+ }), w(e, null, 0), m(), e;
196
+ }, 1285), w(t, null, 2), f(() => h.footer, () => {
197
+ let e = k();
198
+ return S(() => C(e, [D(M).e("footer")])), w(e, null, 0), m("footer"), e;
199
+ }), c(e, () => R.value), e;
200
+ }), c(e, () => z.value), de(e, "drawerContainerRef"), e;
191
201
  }, !0);
192
202
  }
193
203
  });
@@ -20,10 +20,12 @@ export declare const SDrawer: ((__VLS_props: NonNullable<Awaited<typeof __VLS_se
20
20
  placement?: "top" | "bottom" | "left" | "right" | undefined;
21
21
  resizable?: boolean | undefined;
22
22
  to?: (string | HTMLElement) | undefined;
23
- header?: string | undefined;
23
+ title?: string | undefined;
24
+ header?: boolean | undefined;
25
+ footer?: boolean | undefined;
24
26
  closable?: boolean | undefined;
25
27
  bodyStyle?: Record<string, string> | undefined;
26
- bodyScroll?: boolean | undefined;
28
+ scrollContent?: boolean | undefined;
27
29
  scrollbarProps?: ScrollbarProps | undefined;
28
30
  push?: boolean | undefined;
29
31
  drawerStyle?: Record<string, string> | undefined;
@@ -27,13 +27,17 @@ export interface DrawerProps {
27
27
  /** 挂载容器 */
28
28
  to?: string | HTMLElement;
29
29
  /** 标题 */
30
- header?: string;
30
+ title?: string;
31
+ /** 头部 */
32
+ header?: boolean;
33
+ /** 底部 */
34
+ footer?: boolean;
31
35
  /** 是否显示关闭按钮 */
32
36
  closable?: boolean;
33
37
  /** body样式 */
34
38
  bodyStyle?: Record<string, string>;
35
39
  /** body滚动容器 */
36
- bodyScroll?: boolean;
40
+ scrollContent?: boolean;
37
41
  /** 滚动条属性 */
38
42
  scrollbarProps?: ScrollbarProps;
39
43
  /** 是否推送其他内容 */
@@ -9,7 +9,7 @@ var g = f("<form>", 1), _ = /*@__PURE__*/ r({
9
9
  props: {
10
10
  model: {},
11
11
  rules: {},
12
- size: { default: "medium" },
12
+ size: {},
13
13
  labelWidth: { default: "100px" },
14
14
  labelPosition: { default: "left" },
15
15
  labelAlign: {}
@@ -56,7 +56,7 @@ export interface FormContext {
56
56
  /** 删除表单项 */
57
57
  removeField: (field: FormItemContext) => void;
58
58
  /** 表单尺寸 */
59
- size?: Ref<"mini" | "small" | "medium" | "large">;
59
+ size?: Ref<"mini" | "small" | "medium" | "large" | undefined>;
60
60
  /** 表单项标签宽度 */
61
61
  labelWidth?: Ref<string | number>;
62
62
  /** 表单项标签位置 */
@@ -96,7 +96,7 @@ export interface FormValidateError {
96
96
  fields: ValidateFieldsError;
97
97
  }
98
98
  export interface FormItemStatusContext {
99
- size?: Ref<"mini" | "small" | "medium" | "large">;
99
+ size?: Ref<"mini" | "small" | "medium" | "large" | undefined>;
100
100
  error?: Ref<boolean>;
101
101
  }
102
102
  export declare const formItemStatusContextKey: InjectionKey<FormItemStatusContext>;
@@ -0,0 +1,18 @@
1
+ import { InputGroupSlots } from './types';
2
+ import { PublicProps, VNode, Plugin } from 'vue';
3
+ export declare const SInputGroup: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
4
+ attrs: any;
5
+ slots: InputGroupSlots;
6
+ emit: {};
7
+ }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
8
+ props: PublicProps & (typeof globalThis extends {
9
+ __VLS_PROPS_FALLBACK: infer P;
10
+ } ? P : {});
11
+ expose: (exposed: {}) => void;
12
+ attrs: any;
13
+ slots: InputGroupSlots;
14
+ emit: {};
15
+ }>) => VNode & {
16
+ __ctx?: Awaited<typeof __VLS_setup>;
17
+ }) & Plugin;
18
+ export * from './types';
@@ -0,0 +1,7 @@
1
+ import { withInstall as e } from "../../../utils/src/install.mjs";
2
+ import "../../../utils/index.mjs";
3
+ import t from "./input-group.vue.mjs";
4
+ //#region ../components/src/input-group/index.ts
5
+ var n = e(t);
6
+ //#endregion
7
+ export { n as SInputGroup };
@@ -0,0 +1,20 @@
1
+ import { InputGroupSlots } from './types';
2
+ import { PublicProps, VNode } from 'vue';
3
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ props: PublicProps & (typeof globalThis extends {
5
+ __VLS_PROPS_FALLBACK: infer P;
6
+ } ? P : {});
7
+ expose: (exposed: {}) => void;
8
+ attrs: any;
9
+ slots: InputGroupSlots;
10
+ emit: {};
11
+ }>) => VNode & {
12
+ __ctx?: Awaited<typeof __VLS_setup>;
13
+ };
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
17
+ [K in keyof T]: T[K];
18
+ } : {
19
+ [K in keyof T as K]: T[K];
20
+ }) & {};
@@ -0,0 +1,5 @@
1
+ import e from "./input-group.vue_vue_type_script_setup_true_vapor_true_lang.mjs";
2
+ //#region ../components/src/input-group/input-group.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,14 @@
1
+ import { useNamespace as e } from "../../../hooks/src/use-namespace.mjs";
2
+ import "../../../hooks/index.mjs";
3
+ import { createSlot as t, defineVaporComponent as n, renderEffect as r, setClass as i, setInsertionState as a, template as o, unref as s } from "vue";
4
+ //#region ../components/src/input-group/input-group.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
+ var c = o("<div>", 1), l = /*@__PURE__*/ n({
6
+ name: "SInputGroup",
7
+ __name: "input-group",
8
+ setup(n) {
9
+ let o = e("input-group"), l = c();
10
+ return r(() => i(l, [s(o).b()])), a(l, null, 0), t(), l;
11
+ }
12
+ });
13
+ //#endregion
14
+ export { l as default };
@@ -0,0 +1,4 @@
1
+ export interface InputGroupSlots {
2
+ /** 默认 */
3
+ default: () => any;
4
+ }
@@ -9,7 +9,7 @@ export declare const SSegmented: ((__VLS_props: NonNullable<Awaited<typeof __VLS
9
9
  options: any[];
10
10
  fieldNames?: SegmentedFieldNamesProps | undefined;
11
11
  defaultValue?: string | number | boolean | undefined;
12
- size?: "small" | "medium" | "large" | undefined;
12
+ size?: "mini" | "small" | "medium" | "large" | undefined;
13
13
  block?: boolean | undefined;
14
14
  modelValue?: string | number | boolean | undefined;
15
15
  onChange?: ((value: string, evt: Event) => any) | undefined;