@me-framework/me-ui-antdv-next 0.0.34 → 0.0.36

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.
@@ -19,6 +19,8 @@ declare const __VLS_export: import('vue').DefineComponent<MeInputPropertyProps,
19
19
  cancelText: string;
20
20
  disabled: boolean;
21
21
  modelValue: MeInputPropertyModel;
22
+ modalMode: boolean;
23
+ modalWidth: number | string;
22
24
  keyField: string;
23
25
  valueField: string;
24
26
  draggable: boolean;
@@ -30,8 +32,6 @@ declare const __VLS_export: import('vue').DefineComponent<MeInputPropertyProps,
30
32
  emptyText: string;
31
33
  keyColumnTitle: string;
32
34
  valueColumnTitle: string;
33
- modalMode: boolean;
34
- modalWidth: number | string;
35
35
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
36
36
  declare const _default: typeof __VLS_export;
37
37
  export default _default;
@@ -1 +1 @@
1
- .me-input-radio{--me-input-radio-primary-color:#1677ff;--me-input-radio-border-color:#d9d9d9;--me-input-radio-bg:#fff;--me-input-radio-title-color:var(--me-input-radio-primary-color);--me-input-radio-desc-color:#6c7a91;--me-input-radio-checked-bg:#1677ff0a;--me-input-radio-checked-shadow:0 0 0 .25rem #1677ff40;--me-input-radio-ribbon-color:#1677ff;--me-input-radio-padding:10px;--me-input-radio-check-size:14px;--me-input-radio-ribbon-size:30px;--me-input-radio-check-offset-bottom:7px;--me-input-radio-check-offset-right:2px;border:2px solid var(--me-input-radio-border-color);padding:var(--me-input-radio-padding);white-space:pre-wrap;border-radius:4px;align-items:flex-start;height:auto;margin-bottom:10px;line-height:1.5;transition:border-color .3s,background .3s,color .3s;display:inline-flex;position:relative;box-shadow:0 1px 1px #1824330f}.me-input-radio--small{--me-input-radio-padding:4px;--me-input-radio-check-size:10px;--me-input-radio-ribbon-size:20px;--me-input-radio-check-offset-bottom:5px;--me-input-radio-check-offset-right:0px}.me-input-radio .ant-radio+span{flex:1;width:100%;padding-inline-start:8px;overflow:hidden}.me-input-radio .ant-radio{display:none}.me-input-radio--radio .ant-radio{align-self:center;display:inline-flex}.me-input-radio--radio.ant-radio-wrapper-checked:before,.me-input-radio--radio.ant-radio-wrapper-checked:after{display:none!important}.me-input-radio .ant-radio-checked .ant-radio-inner{border-color:var(--me-input-radio-primary-color);background-color:var(--me-input-radio-primary-color)}.me-input-radio .ant-radio-checked .ant-radio-inner:after{opacity:1;transition:all .3s cubic-bezier(.78,.14,.15,.86);transform:scale(1)}.me-input-radio__content{flex:1}.me-input-radio__title{word-break:break-all;color:var(--me-input-radio-title-color);font-size:15px;font-weight:700}.me-input-radio__desc{letter-spacing:.3px;font-size:11px;color:var(--me-input-radio-desc-color)!important}.me-input-radio.ant-radio-wrapper-checked{border-color:var(--me-input-radio-primary-color);box-shadow:var(--me-input-radio-checked-shadow);background:var(--me-input-radio-checked-bg)}.me-input-radio.ant-radio-wrapper-checked:before{content:"";width:var(--me-input-radio-check-size);height:calc(var(--me-input-radio-check-size) * .5);top:auto;bottom:var(--me-input-radio-check-offset-bottom);right:var(--me-input-radio-check-offset-right);z-index:9;background:0 0;border-top:none;border-bottom:2px solid #fff;border-left:2px solid #fff;border-right:none;display:block;position:absolute;transform:rotate(315deg)}.me-input-radio.ant-radio-wrapper-checked:after{content:"";border-bottom:var(--me-input-radio-ribbon-size) solid var(--me-input-radio-ribbon-color);border-left:var(--me-input-radio-ribbon-size) solid transparent;width:0;height:0;position:absolute;bottom:0;right:0}.me-input-radio.ant-radio-wrapper-checked.me-input-radio--top:before{top:0;bottom:auto}.me-input-radio.ant-radio-wrapper-checked.me-input-radio--top:after{border-bottom:none;border-top:var(--me-input-radio-ribbon-size) solid var(--me-input-radio-ribbon-color);top:0;bottom:auto}.me-input-radio.ant-radio-wrapper-disabled{cursor:not-allowed}html.dark .me-input-radio,.dark .me-input-radio{--me-input-radio-primary-color:#4096ff;--me-input-radio-border-color:#434343;--me-input-radio-bg:#1d1e1f;--me-input-radio-title-color:#4096ff;--me-input-radio-desc-color:#a6adbb;--me-input-radio-checked-bg:#4096ff1a;--me-input-radio-checked-shadow:0 0 0 .25rem #4096ff40;--me-input-radio-ribbon-color:#4096ff;background-color:var(--me-input-radio-bg)}
1
+ .me-input-radio{--me-input-radio-primary-color:#1677ff;--me-input-radio-border-color:#d9d9d9;--me-input-radio-bg:#fff;--me-input-radio-title-color:var(--me-input-radio-primary-color);--me-input-radio-desc-color:#6c7a91;--me-input-radio-checked-bg:#1677ff0a;--me-input-radio-checked-shadow:0 0 0 .25rem #1677ff40;--me-input-radio-ribbon-color:#1677ff;--me-input-radio-padding:10px;--me-input-radio-check-size:14px;--me-input-radio-ribbon-size:30px;--me-input-radio-check-offset-bottom:7px;--me-input-radio-check-offset-right:2px;border:2px solid var(--me-input-radio-border-color);padding:var(--me-input-radio-padding);white-space:pre-wrap;border-radius:4px;align-items:flex-start;height:auto;margin-bottom:10px;line-height:1.5;transition:border-color .3s,background .3s,color .3s;display:inline-flex;position:relative;box-shadow:0 1px 1px #1824330f}.me-input-radio--small{--me-input-radio-padding:4px;--me-input-radio-check-size:10px;--me-input-radio-ribbon-size:20px;--me-input-radio-check-offset-bottom:5px;--me-input-radio-check-offset-right:0px}.me-input-radio .ant-radio+span{flex:1;width:100%;padding-inline-start:8px;overflow:hidden}.me-input-radio .ant-radio{display:none}.me-input-radio--radio .ant-radio{align-self:center;display:inline-flex}.me-input-radio--radio.ant-radio-wrapper-checked:before,.me-input-radio--radio.ant-radio-wrapper-checked:after{display:none!important}.me-input-radio .ant-radio-checked .ant-radio-inner{border-color:var(--me-input-radio-primary-color);background-color:var(--me-input-radio-primary-color)}.me-input-radio .ant-radio-checked .ant-radio-inner:after{opacity:1;transition:all .3s cubic-bezier(.78,.14,.15,.86);transform:scale(1)}.me-input-radio__content{flex:1}.me-input-radio__title{word-break:break-all;color:var(--me-input-radio-title-color);font-size:15px;font-weight:700}.me-input-radio__desc{letter-spacing:.3px;min-height:var(--me-input-radio-desc-height,0);font-size:11px;color:var(--me-input-radio-desc-color)!important}.me-input-radio--uniform{--me-input-radio-desc-height:16px}.me-input-radio.ant-radio-wrapper-checked{border-color:var(--me-input-radio-primary-color);box-shadow:var(--me-input-radio-checked-shadow);background:var(--me-input-radio-checked-bg)}.me-input-radio.ant-radio-wrapper-checked:before{content:"";width:var(--me-input-radio-check-size);height:calc(var(--me-input-radio-check-size) * .5);top:auto;bottom:var(--me-input-radio-check-offset-bottom);right:var(--me-input-radio-check-offset-right);z-index:9;background:0 0;border-top:none;border-bottom:2px solid #fff;border-left:2px solid #fff;border-right:none;display:block;position:absolute;transform:rotate(315deg)}.me-input-radio.ant-radio-wrapper-checked:after{content:"";border-bottom:var(--me-input-radio-ribbon-size) solid var(--me-input-radio-ribbon-color);border-left:var(--me-input-radio-ribbon-size) solid transparent;width:0;height:0;position:absolute;bottom:0;right:0}.me-input-radio.ant-radio-wrapper-checked.me-input-radio--top:before{top:0;bottom:auto}.me-input-radio.ant-radio-wrapper-checked.me-input-radio--top:after{border-bottom:none;border-top:var(--me-input-radio-ribbon-size) solid var(--me-input-radio-ribbon-color);top:0;bottom:auto}.me-input-radio.ant-radio-wrapper-disabled{cursor:not-allowed;background-color:var(--ant-color-bg-container-disabled);border-color:var(--ant-color-border);box-shadow:none}.me-input-radio.ant-radio-wrapper-disabled .me-input-radio__title,.me-input-radio.ant-radio-wrapper-disabled .me-input-radio__desc{color:var(--ant-color-text-disabled)!important}.me-input-radio.ant-radio-wrapper-disabled.ant-radio-wrapper-checked{border-color:var(--ant-color-border);box-shadow:none;background-color:var(--ant-color-bg-container-disabled)}.me-input-radio.ant-radio-wrapper-disabled.ant-radio-wrapper-checked:after{border-bottom-color:var(--ant-color-border)}html.dark .me-input-radio,.dark .me-input-radio{--me-input-radio-primary-color:#4096ff;--me-input-radio-border-color:#434343;--me-input-radio-bg:#1d1e1f;--me-input-radio-title-color:#4096ff;--me-input-radio-desc-color:#a6adbb;--me-input-radio-checked-bg:#4096ff1a;--me-input-radio-checked-shadow:0 0 0 .25rem #4096ff40;--me-input-radio-ribbon-color:#4096ff;background-color:var(--me-input-radio-bg)}
@@ -1,9 +1,24 @@
1
- import { computed as e, createBlock as t, createElementVNode as n, defineComponent as r, mergeProps as i, normalizeStyle as a, openBlock as o, resolveComponent as s, toDisplayString as c, withCtx as l } from "vue";
1
+ import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, defineComponent as o, mergeProps as s, normalizeClass as c, normalizeStyle as l, openBlock as u, renderList as d, resolveComponent as f, toDisplayString as p, withCtx as m } from "vue";
2
2
  //#region src/components/input-radio/index.vue?vue&type=script&setup=true&lang.ts
3
- var u = { class: "me-input-radio__content" }, d = /* @__PURE__ */ r({
3
+ var h = { class: "me-input-radio__content" }, g = { class: "me-input-radio__title" }, _ = {
4
+ key: 0,
5
+ class: "me-input-radio__desc"
6
+ }, v = { class: "me-input-radio__content" }, y = { class: "me-input-radio__title" }, b = { class: "me-input-radio__desc" }, x = /* @__PURE__ */ o({
4
7
  name: "MeInputRadio",
5
8
  __name: "index",
6
9
  props: {
10
+ modelValue: {
11
+ type: [
12
+ String,
13
+ Number,
14
+ Boolean
15
+ ],
16
+ default: ""
17
+ },
18
+ options: {
19
+ type: Array,
20
+ default: () => []
21
+ },
7
22
  title: {
8
23
  type: String,
9
24
  default: ""
@@ -45,52 +60,74 @@ var u = { class: "me-input-radio__content" }, d = /* @__PURE__ */ r({
45
60
  default: ""
46
61
  }
47
62
  },
48
- setup(r) {
49
- let d = r, f = e(() => d.disabled ? {
50
- backgroundColor: "var(--ant-color-bg-container-disabled)",
51
- color: "var(--ant-color-text-disabled)",
52
- borderColor: "var(--ant-color-border)",
53
- boxShadow: "none",
54
- cursor: "not-allowed"
55
- } : {}), p = e(() => ({ ...f.value })), m = e(() => ({ ...f.value }));
56
- return (e, d) => {
57
- let f = s("a-radio");
58
- return o(), t(f, i({
59
- value: r.label,
60
- disabled: r.disabled
61
- }, e.$attrs, {
63
+ emits: ["update:modelValue", "change"],
64
+ setup(o, { emit: x }) {
65
+ let S = o, C = x, w = t(() => S.options && S.options.length > 0), T = t(() => S.options.some((e) => e.desc && e.desc.trim())), E = (e) => {
66
+ let t = e.target.value;
67
+ C("update:modelValue", t), C("change", t);
68
+ };
69
+ return (t, x) => {
70
+ let S = f("a-radio"), C = f("a-radio-group");
71
+ return w.value ? (u(), n(C, s({
72
+ key: 0,
73
+ value: o.modelValue,
74
+ onChange: E
75
+ }, t.$attrs, { class: "me-input-radio-group" }), {
76
+ default: m(() => [(u(!0), i(e, null, d(o.options, (e) => (u(), n(S, {
77
+ key: e.value,
78
+ value: e.value,
79
+ disabled: e.disabled,
80
+ class: c(["me-input-radio", {
81
+ "me-input-radio--uniform": T.value,
82
+ "me-input-radio--top": o.top,
83
+ "me-input-radio--small": o.size === "small",
84
+ "me-input-radio--radio": o.radio
85
+ }]),
86
+ style: l({
87
+ width: o.width,
88
+ marginRight: o.gap
89
+ })
90
+ }, {
91
+ default: m(() => [a("div", h, [a("div", g, p(e.label), 1), T.value ? (u(), i("div", _, p(e.desc), 1)) : r("", !0)])]),
92
+ _: 2
93
+ }, 1032, [
94
+ "value",
95
+ "disabled",
96
+ "class",
97
+ "style"
98
+ ]))), 128))]),
99
+ _: 1
100
+ }, 16, ["value"])) : (u(), n(S, s({
101
+ key: 1,
102
+ value: o.label,
103
+ disabled: o.disabled
104
+ }, t.$attrs, {
62
105
  class: ["me-input-radio", {
63
- "me-input-radio--top": r.top,
64
- "me-input-radio--small": r.size === "small",
65
- "me-input-radio--radio": r.radio
106
+ "me-input-radio--top": o.top,
107
+ "me-input-radio--small": o.size === "small",
108
+ "me-input-radio--radio": o.radio
66
109
  }],
67
110
  style: {
68
- width: r.width,
69
- marginRight: r.gap
111
+ width: o.width,
112
+ marginRight: o.gap
70
113
  }
71
114
  }), {
72
- default: l(() => [n("div", u, [n("div", {
73
- class: "me-input-radio__title",
74
- style: a(p.value)
75
- }, c(r.title), 5), n("div", {
76
- class: "me-input-radio__desc",
77
- style: a(m.value)
78
- }, c(r.desc), 5)])]),
115
+ default: m(() => [a("div", v, [a("div", y, p(o.title), 1), a("div", b, p(o.desc), 1)])]),
79
116
  _: 1
80
117
  }, 16, [
81
118
  "value",
82
119
  "disabled",
83
120
  "class",
84
121
  "style"
85
- ]);
122
+ ]));
86
123
  };
87
124
  }
88
125
  });
89
126
  //#endregion
90
127
  //#region src/components/input-radio/index.ts
91
- d.install = (e) => {
92
- e.component("MeInputRadio", d);
128
+ x.install = (e) => {
129
+ e.component("MeInputRadio", x);
93
130
  };
94
- var f = d;
131
+ var S = x;
95
132
  //#endregion
96
- export { d as MeInputRadio, f as default };
133
+ export { x as MeInputRadio, S as default };
@@ -1,11 +1,22 @@
1
1
  import { PropType } from 'vue';
2
+ import { MeInputRadioOption } from './types';
2
3
  declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
- /** 标题 */
4
+ /** 绑定值(仅 options 模式下生效,支持 v-model) */
5
+ modelValue: {
6
+ type: PropType<string | number | boolean>;
7
+ default: string;
8
+ };
9
+ /** 选项配置数组,传入后组件以单选组模式渲染 */
10
+ options: {
11
+ type: PropType<MeInputRadioOption[]>;
12
+ default: () => never[];
13
+ };
14
+ /** 标题(单卡模式) */
4
15
  title: {
5
16
  type: StringConstructor;
6
17
  default: string;
7
18
  };
8
- /** 描述 */
19
+ /** 描述(单卡模式) */
9
20
  desc: {
10
21
  type: StringConstructor;
11
22
  default: string;
@@ -35,23 +46,36 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
35
46
  type: PropType<"small" | "normal">;
36
47
  default: string;
37
48
  };
38
- /** 是否禁用 */
49
+ /** 是否禁用(单卡模式) */
39
50
  disabled: {
40
51
  type: BooleanConstructor;
41
52
  default: boolean;
42
53
  };
43
- /** 单选框的值 */
54
+ /** 单选框的值(单卡模式) */
44
55
  label: {
45
56
  type: PropType<string | number | boolean>;
46
57
  default: string;
47
58
  };
48
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
49
- /** 标题 */
59
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
60
+ change: (value: string | number | boolean) => any;
61
+ "update:modelValue": (value: string | number | boolean) => any;
62
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
63
+ /** 绑定值(仅 options 模式下生效,支持 v-model) */
64
+ modelValue: {
65
+ type: PropType<string | number | boolean>;
66
+ default: string;
67
+ };
68
+ /** 选项配置数组,传入后组件以单选组模式渲染 */
69
+ options: {
70
+ type: PropType<MeInputRadioOption[]>;
71
+ default: () => never[];
72
+ };
73
+ /** 标题(单卡模式) */
50
74
  title: {
51
75
  type: StringConstructor;
52
76
  default: string;
53
77
  };
54
- /** 描述 */
78
+ /** 描述(单卡模式) */
55
79
  desc: {
56
80
  type: StringConstructor;
57
81
  default: string;
@@ -81,17 +105,20 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
81
105
  type: PropType<"small" | "normal">;
82
106
  default: string;
83
107
  };
84
- /** 是否禁用 */
108
+ /** 是否禁用(单卡模式) */
85
109
  disabled: {
86
110
  type: BooleanConstructor;
87
111
  default: boolean;
88
112
  };
89
- /** 单选框的值 */
113
+ /** 单选框的值(单卡模式) */
90
114
  label: {
91
115
  type: PropType<string | number | boolean>;
92
116
  default: string;
93
117
  };
94
- }>> & Readonly<{}>, {
118
+ }>> & Readonly<{
119
+ onChange?: ((value: string | number | boolean) => any) | undefined;
120
+ "onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
121
+ }>, {
95
122
  size: "normal" | "small";
96
123
  title: string;
97
124
  label: string | number | boolean;
@@ -99,6 +126,8 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
99
126
  top: boolean;
100
127
  width: string;
101
128
  disabled: boolean;
129
+ modelValue: string | number | boolean;
130
+ options: MeInputRadioOption[];
102
131
  radio: boolean;
103
132
  gap: string;
104
133
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -1,8 +1,23 @@
1
+ /** 单选项配置 */
2
+ export interface MeInputRadioOption {
3
+ /** 选中值 */
4
+ value: string | number | boolean;
5
+ /** 标题(显示文本) */
6
+ label: string;
7
+ /** 描述 */
8
+ desc?: string;
9
+ /** 是否禁用 */
10
+ disabled?: boolean;
11
+ }
1
12
  /** MeInputRadio 组件 Props */
2
13
  export interface MeInputRadioProps {
3
- /** 标题 */
14
+ /** 绑定值(仅 options 模式下生效,支持 v-model) */
15
+ modelValue?: string | number | boolean;
16
+ /** 选项配置数组,传入后组件以单选组模式渲染 */
17
+ options?: MeInputRadioOption[];
18
+ /** 标题(单卡模式) */
4
19
  title?: string;
5
- /** 描述 */
20
+ /** 描述(单卡模式) */
6
21
  desc?: string;
7
22
  /** 是否显示单选圆点 */
8
23
  radio?: boolean;
@@ -14,10 +29,17 @@ export interface MeInputRadioProps {
14
29
  gap?: string;
15
30
  /** 尺寸 */
16
31
  size?: 'small' | 'normal';
17
- /** 是否禁用 */
32
+ /** 是否禁用(单卡模式) */
18
33
  disabled?: boolean;
19
- /** 单选框的值 */
34
+ /** 单选框的值(单卡模式) */
20
35
  label?: string | number | boolean;
21
36
  }
37
+ /** MeInputRadio 组件 Emits */
38
+ export interface MeInputRadioEmits {
39
+ /** v-model 事件(仅 options 模式) */
40
+ (e: 'update:modelValue', value: string | number | boolean): void;
41
+ /** 值变化事件(仅 options 模式) */
42
+ (e: 'change', value: string | number | boolean): void;
43
+ }
22
44
  /** MeInputRadio 组件实例类型 */
23
45
  export type MeInputRadioInstance = InstanceType<typeof import('./index.vue').default>;