@fmdeui/fmui 1.0.90 → 1.0.92

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/es/component.mjs CHANGED
@@ -13,6 +13,7 @@ import { FSettings } from './packages/components/fm-settings/index.mjs';
13
13
  import { FModifyRecord } from './packages/components/modifyRecord/index.mjs';
14
14
  import { FmTree } from './packages/components/fmtree/index.mjs';
15
15
  import { FmCascader } from './packages/components/fmcascader/index.mjs';
16
+ import { FmInputNumber } from './packages/components/fm-inputnumber/index.mjs';
16
17
 
17
18
  const plugins = [
18
19
  FButton,
@@ -29,7 +30,8 @@ const plugins = [
29
30
  FSettings,
30
31
  FModifyRecord,
31
32
  FmTree,
32
- FmCascader
33
+ FmCascader,
34
+ FmInputNumber
33
35
  ];
34
36
 
35
37
  export { plugins as default };
@@ -0,0 +1,94 @@
1
+ import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, ComponentOptionsBase, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
2
+ export declare const FmInputNumber: {
3
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
4
+ placeholder: {
5
+ type: StringConstructor;
6
+ default: string;
7
+ };
8
+ defaultValue: {
9
+ type: NumberConstructor;
10
+ default: number;
11
+ };
12
+ bType: {
13
+ type: StringConstructor;
14
+ default: string;
15
+ };
16
+ modelValue: {
17
+ type: PropType<Number>;
18
+ required: true;
19
+ };
20
+ }>> & Readonly<{
21
+ "onUpdate:modelValue"?: ((value: Number) => any) | undefined;
22
+ }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
23
+ "update:modelValue": (value: Number) => any;
24
+ }, PublicProps, {
25
+ defaultValue: number;
26
+ placeholder: string;
27
+ bType: string;
28
+ }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
29
+ P: {};
30
+ B: {};
31
+ D: {};
32
+ C: {};
33
+ M: {};
34
+ Defaults: {};
35
+ }, Readonly< ExtractPropTypes<{
36
+ placeholder: {
37
+ type: StringConstructor;
38
+ default: string;
39
+ };
40
+ defaultValue: {
41
+ type: NumberConstructor;
42
+ default: number;
43
+ };
44
+ bType: {
45
+ type: StringConstructor;
46
+ default: string;
47
+ };
48
+ modelValue: {
49
+ type: PropType<Number>;
50
+ required: true;
51
+ };
52
+ }>> & Readonly<{
53
+ "onUpdate:modelValue"?: ((value: Number) => any) | undefined;
54
+ }>, {}, {}, {}, {}, {
55
+ defaultValue: number;
56
+ placeholder: string;
57
+ bType: string;
58
+ }>;
59
+ __isFragment?: never;
60
+ __isTeleport?: never;
61
+ __isSuspense?: never;
62
+ } & ComponentOptionsBase<Readonly< ExtractPropTypes<{
63
+ placeholder: {
64
+ type: StringConstructor;
65
+ default: string;
66
+ };
67
+ defaultValue: {
68
+ type: NumberConstructor;
69
+ default: number;
70
+ };
71
+ bType: {
72
+ type: StringConstructor;
73
+ default: string;
74
+ };
75
+ modelValue: {
76
+ type: PropType<Number>;
77
+ required: true;
78
+ };
79
+ }>> & Readonly<{
80
+ "onUpdate:modelValue"?: ((value: Number) => any) | undefined;
81
+ }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
82
+ "update:modelValue": (value: Number) => any;
83
+ }, string, {
84
+ defaultValue: number;
85
+ placeholder: string;
86
+ bType: string;
87
+ }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
88
+ $slots: {
89
+ prepend?(_: {}): any;
90
+ append?(_: {}): any;
91
+ prefix?(_: {}): any;
92
+ suffix?(_: {}): any;
93
+ };
94
+ });
@@ -0,0 +1,63 @@
1
+ import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ prepend?(_: {}): any;
6
+ append?(_: {}): any;
7
+ prefix?(_: {}): any;
8
+ suffix?(_: {}): any;
9
+ };
10
+ refs: {};
11
+ rootEl: any;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
15
+ placeholder: {
16
+ type: StringConstructor;
17
+ default: string;
18
+ };
19
+ defaultValue: {
20
+ type: NumberConstructor;
21
+ default: number;
22
+ };
23
+ bType: {
24
+ type: StringConstructor;
25
+ default: string;
26
+ };
27
+ modelValue: {
28
+ type: PropType<Number>;
29
+ required: true;
30
+ };
31
+ }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
32
+ "update:modelValue": (value: Number) => any;
33
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
34
+ placeholder: {
35
+ type: StringConstructor;
36
+ default: string;
37
+ };
38
+ defaultValue: {
39
+ type: NumberConstructor;
40
+ default: number;
41
+ };
42
+ bType: {
43
+ type: StringConstructor;
44
+ default: string;
45
+ };
46
+ modelValue: {
47
+ type: PropType<Number>;
48
+ required: true;
49
+ };
50
+ }>> & Readonly<{
51
+ "onUpdate:modelValue"?: ((value: Number) => any) | undefined;
52
+ }>, {
53
+ defaultValue: number;
54
+ placeholder: string;
55
+ bType: string;
56
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
57
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
58
+ export default _default;
59
+ type __VLS_WithTemplateSlots<T, S> = T & {
60
+ new (): {
61
+ $slots: S;
62
+ };
63
+ };
@@ -12,3 +12,4 @@ export * from './fm-layout';
12
12
  export * from './fm-settings';
13
13
  export * from './modifyRecord';
14
14
  export * from './fm-inputdropdown';
15
+ export * from './fm-inputnumber';
@@ -0,0 +1,6 @@
1
+ import './index.vue.mjs';
2
+ import _sfc_main from './index.vue2.mjs';
3
+
4
+ const FmInputNumber = _sfc_main;
5
+
6
+ export { FmInputNumber };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from './index.vue2.mjs';
2
+
3
+
4
+
5
+ export { _sfc_main as default };
@@ -0,0 +1,105 @@
1
+ import { defineComponent, useModel, watch, resolveComponent, openBlock, createBlock, createSlots, withCtx, renderSlot, mergeModels } from 'vue';
2
+
3
+ var _sfc_main = /* @__PURE__ */ defineComponent({
4
+ ...{ name: "FmInputNumber" },
5
+ __name: "index",
6
+ props: /* @__PURE__ */ mergeModels({
7
+ placeholder: {
8
+ type: String,
9
+ default: "\u8BF7\u8F93\u5165\u91D1\u989D"
10
+ },
11
+ defaultValue: {
12
+ type: Number,
13
+ default: -1
14
+ },
15
+ bType: {
16
+ type: String,
17
+ default: "money"
18
+ }
19
+ }, {
20
+ "modelValue": { required: true, default: 0 },
21
+ "modelModifiers": {}
22
+ }),
23
+ emits: ["update:modelValue"],
24
+ setup(__props) {
25
+ const modelValue = useModel(__props, "modelValue");
26
+ const props = __props;
27
+ const handleInput = (val) => {
28
+ if (val === "" || val === null || val === void 0) {
29
+ modelValue.value = props.defaultValue !== -1 ? props.defaultValue : 0;
30
+ return;
31
+ }
32
+ if (props.bType == "number") {
33
+ const num = parseInt(val, 10);
34
+ modelValue.value = Number.isNaN(num) ? props.defaultValue : num;
35
+ return;
36
+ }
37
+ let cleaned = String(val).replace(/[^\d.]/g, "");
38
+ const dotIndex = cleaned.indexOf(".");
39
+ if (dotIndex !== -1) {
40
+ const before = cleaned.substring(0, dotIndex + 1);
41
+ const after = cleaned.substring(dotIndex + 1).replace(/\./g, "");
42
+ cleaned = before + after;
43
+ }
44
+ if (cleaned.startsWith(".")) {
45
+ cleaned = "0" + cleaned;
46
+ }
47
+ const parts = cleaned.split(".");
48
+ parts[0] = parts[0].replace(/^0+/, "") || "0";
49
+ cleaned = parts.join(".");
50
+ if (cleaned.includes(".")) {
51
+ const [intPart, decPart] = cleaned.split(".");
52
+ cleaned = `${intPart}.${decPart.substring(0, 2)}`;
53
+ }
54
+ modelValue.value = cleaned;
55
+ };
56
+ watch(() => modelValue.value, (newvalue, oldValue) => {
57
+ if (newvalue == "") {
58
+ modelValue.value = props.defaultValue == -1 ? 0 : props.defaultValue;
59
+ }
60
+ });
61
+ return (_ctx, _cache) => {
62
+ const _component_el_input = resolveComponent("el-input");
63
+ return openBlock(), createBlock(_component_el_input, {
64
+ modelValue: modelValue.value,
65
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
66
+ placeholder: __props.placeholder,
67
+ onInput: handleInput
68
+ }, createSlots({
69
+ _: 2
70
+ /* DYNAMIC */
71
+ }, [
72
+ _ctx.$slots.prepend ? {
73
+ name: "prepend",
74
+ fn: withCtx(() => [
75
+ renderSlot(_ctx.$slots, "prepend")
76
+ ]),
77
+ key: "0"
78
+ } : void 0,
79
+ _ctx.$slots.append ? {
80
+ name: "append",
81
+ fn: withCtx(() => [
82
+ renderSlot(_ctx.$slots, "append")
83
+ ]),
84
+ key: "1"
85
+ } : void 0,
86
+ _ctx.$slots.prefix ? {
87
+ name: "prefix",
88
+ fn: withCtx(() => [
89
+ renderSlot(_ctx.$slots, "prefix")
90
+ ]),
91
+ key: "2"
92
+ } : void 0,
93
+ _ctx.$slots.suffix ? {
94
+ name: "suffix",
95
+ fn: withCtx(() => [
96
+ renderSlot(_ctx.$slots, "suffix")
97
+ ]),
98
+ key: "3"
99
+ } : void 0
100
+ ]), 1032, ["modelValue", "placeholder"]);
101
+ };
102
+ }
103
+ });
104
+
105
+ export { _sfc_main as default };
@@ -12,3 +12,4 @@ export { FLayout } from './fm-layout/index.mjs';
12
12
  export { FSettings } from './fm-settings/index.mjs';
13
13
  export { FModifyRecord } from './modifyRecord/index.mjs';
14
14
  export { Fminputdropdown } from './fm-inputdropdown/index.mjs';
15
+ export { FmInputNumber } from './fm-inputnumber/index.mjs';