p-pc-ui 1.3.1 → 1.3.2
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.
|
@@ -14,7 +14,8 @@ interface Base<K extends string = string> {
|
|
|
14
14
|
colon?: boolean,
|
|
15
15
|
labelSpan?: number,
|
|
16
16
|
valueSpan?: number,
|
|
17
|
-
labelAlign?: 'left' | 'right'
|
|
17
|
+
labelAlign?: 'left' | 'right',
|
|
18
|
+
disabled:?: boolean
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
|
|
@@ -75,13 +76,13 @@ interface UploadBase<K extends string = string> extends Base<K> {
|
|
|
75
76
|
|
|
76
77
|
export interface UploadOss<K extends string = string> extends UploadBase<K> {
|
|
77
78
|
type: 'uploadOss',
|
|
78
|
-
getOssToken: ({file_name}) => Promise<any>,
|
|
79
|
+
getOssToken: ({ file_name }) => Promise<any>,
|
|
79
80
|
baseOssUrl: string,
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
export interface UploadTos<K extends string = string> extends UploadBase<K> {
|
|
83
84
|
type: 'uploadTos',
|
|
84
|
-
getTosToken: ({file_name}) => Promise<any>,
|
|
85
|
+
getTosToken: ({ file_name }) => Promise<any>,
|
|
85
86
|
baseTosUrl: string,
|
|
86
87
|
}
|
|
87
88
|
|
|
@@ -257,8 +257,8 @@ const initFormState = (renderData: FormDataItem[], initFromData = {}) => {
|
|
|
257
257
|
|
|
258
258
|
const handlePicPreview = (file: any) => {
|
|
259
259
|
const url = URL.createObjectURL(file.originFileObj);
|
|
260
|
-
|
|
261
|
-
viewerApi({ images: [url ||file.url || file.key || file.thumbUrl] });
|
|
260
|
+
|
|
261
|
+
viewerApi({ images: [url || file.url || file.key || file.thumbUrl] });
|
|
262
262
|
};
|
|
263
263
|
|
|
264
264
|
const replaceUrl = (str, urlToReplace, replacement) => {
|
|
@@ -494,180 +494,188 @@ defineExpose({
|
|
|
494
494
|
:tooltip="renderItem.tooltip"
|
|
495
495
|
:label-align="renderItem.labelAlign || 'right'"
|
|
496
496
|
>
|
|
497
|
-
<
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
>
|
|
503
|
-
<template v-if="renderItem.prefix" v-slot:prefix>
|
|
504
|
-
<component :is="renderItem.prefix" />
|
|
505
|
-
</template>
|
|
506
|
-
<template v-if="renderItem.suffix" v-slot:suffix>
|
|
507
|
-
<component :is="renderItem.suffix" />
|
|
508
|
-
</template>
|
|
509
|
-
</a-input>
|
|
510
|
-
|
|
511
|
-
<a-input
|
|
512
|
-
v-model:value.number="formState[renderItem.key]"
|
|
513
|
-
v-if="renderItem.type == 'input' && renderItem.fieldType == 'number'"
|
|
514
|
-
type="number"
|
|
515
|
-
:placeholder="renderItem.placeholder || `请输入${renderItem.label}`"
|
|
516
|
-
>
|
|
517
|
-
<template v-if="renderItem.prefix" v-slot:prefix>
|
|
518
|
-
<component :is="renderItem.prefix" />
|
|
519
|
-
</template>
|
|
520
|
-
<template v-if="renderItem.suffix" v-slot:suffix>
|
|
521
|
-
<component :is="renderItem.suffix" />
|
|
522
|
-
</template>
|
|
523
|
-
</a-input>
|
|
524
|
-
|
|
525
|
-
<a-input-password
|
|
526
|
-
v-model:value="formState[renderItem.key]"
|
|
527
|
-
v-if="renderItem.type == 'password'"
|
|
528
|
-
type="password"
|
|
529
|
-
:placeholder="renderItem.placeholder || `请输入${renderItem.label}`"
|
|
530
|
-
>
|
|
531
|
-
<template v-if="renderItem.prefix" v-slot:prefix>
|
|
532
|
-
<component :is="renderItem.prefix" />
|
|
533
|
-
</template>
|
|
534
|
-
</a-input-password>
|
|
535
|
-
|
|
536
|
-
<a-input
|
|
537
|
-
v-model:value="formState[renderItem.key]"
|
|
538
|
-
v-if="renderItem.type == 'code' && [undefined, 'string'].includes(renderItem.fieldType)"
|
|
539
|
-
type="text"
|
|
540
|
-
:placeholder="renderItem.placeholder || `请输入${renderItem.label}`"
|
|
541
|
-
>
|
|
542
|
-
<template v-if="renderItem.prefix" v-slot:prefix>
|
|
543
|
-
<component :is="renderItem.prefix" />
|
|
544
|
-
</template>
|
|
545
|
-
<template v-slot:suffix>
|
|
546
|
-
<span
|
|
547
|
-
v-if="
|
|
548
|
-
(!renderItem.activityFunc || (renderItem.activityFunc && renderItem.activityFunc(formState))) &&
|
|
549
|
-
renderItem.sendStatus != 'sending'
|
|
550
|
-
"
|
|
551
|
-
class="send-notice send-notice-activity"
|
|
552
|
-
@click="sendNoticeClick(renderItem)"
|
|
553
|
-
>
|
|
554
|
-
{{ renderItem.codeName }}
|
|
555
|
-
</span>
|
|
556
|
-
<span v-else class="send-notice">
|
|
557
|
-
{{ renderItem.codeName }}
|
|
558
|
-
</span>
|
|
559
|
-
</template>
|
|
560
|
-
</a-input>
|
|
561
|
-
|
|
562
|
-
<a-textarea
|
|
563
|
-
v-model:value="formState[renderItem.key]"
|
|
564
|
-
v-if="renderItem.type == 'textarea'"
|
|
565
|
-
:placeholder="renderItem.placeholder || `请输入${renderItem.label}`"
|
|
566
|
-
:auto-size="{ minRows: 2, maxRows: 10 }"
|
|
567
|
-
/>
|
|
568
|
-
|
|
569
|
-
<a-select
|
|
570
|
-
style="min-width: 170px; margin-right: 15px"
|
|
571
|
-
v-model:value="formState[renderItem.key]"
|
|
572
|
-
:placeholder="renderItem.placeholder || `请选择`"
|
|
573
|
-
v-if="renderItem.type == 'select'"
|
|
574
|
-
:fieldNames="renderItem.fieldNames || { label: 'label', value: 'value' }"
|
|
575
|
-
:options="renderItem.optionList"
|
|
576
|
-
:mode="renderItem.isMultiple ? 'multiple' : undefined"
|
|
577
|
-
></a-select>
|
|
578
|
-
|
|
579
|
-
<a-radio-group v-if="renderItem.type == 'radio'" v-model:value="formState[renderItem.key]">
|
|
580
|
-
<a-radio v-for="item in renderItem.optionList" :value="item[renderItem.fieldNames?.value || 'value']">
|
|
581
|
-
{{ item[renderItem.fieldNames?.label || "label"] }}
|
|
582
|
-
</a-radio>
|
|
583
|
-
</a-radio-group>
|
|
584
|
-
|
|
585
|
-
<a-date-picker
|
|
586
|
-
v-model:value="formState[renderItem.key]"
|
|
587
|
-
v-if="renderItem.type === 'datePicker'"
|
|
588
|
-
show-time
|
|
589
|
-
:placeholder="`请选择${renderItem.label}`"
|
|
590
|
-
class="ant-input"
|
|
591
|
-
format="YYYY-MM-DD HH:mm:ss"
|
|
592
|
-
value-format="YYYY-MM-DD HH:mm:ss"
|
|
593
|
-
/>
|
|
594
|
-
|
|
595
|
-
<a-tree-select
|
|
596
|
-
style="min-width: 170px; margin-right: 15px"
|
|
597
|
-
v-model:value="formState[renderItem.key]"
|
|
598
|
-
:tree-data="renderItem.optionList"
|
|
599
|
-
v-if="renderItem.type == 'treeSelect'"
|
|
600
|
-
:fieldNames="renderItem.fieldNames || { children: 'children', label: 'name', value: 'id' }"
|
|
601
|
-
:placeholder="renderItem.placeholder || `请选择`"
|
|
602
|
-
></a-tree-select>
|
|
603
|
-
|
|
604
|
-
<a-upload
|
|
605
|
-
v-if="renderItem.type == 'uploadOss' || renderItem.type == 'uploadTos' || renderItem.type == 'upload'"
|
|
606
|
-
:file-list="formState[renderItem.key]"
|
|
607
|
-
:multiple="true"
|
|
608
|
-
:max-count="renderItem?.maxCount || 1"
|
|
609
|
-
@preview="handlePicPreview"
|
|
610
|
-
:customRequest="
|
|
611
|
-
(e) => {
|
|
612
|
-
uploadRequest(e, renderItem);
|
|
613
|
-
}
|
|
614
|
-
"
|
|
615
|
-
@change="
|
|
616
|
-
(e) => {
|
|
617
|
-
uploadChange(e, renderItem);
|
|
618
|
-
}
|
|
619
|
-
"
|
|
620
|
-
:headers="{
|
|
621
|
-
'Cache-Control': 'max-age=15552000',
|
|
497
|
+
<div
|
|
498
|
+
:style="{
|
|
499
|
+
pointerEvents: renderItem.disabled ? 'none' : 'auto',
|
|
500
|
+
opacity: renderItem.disabled ? 0.6 : 1,
|
|
501
|
+
cursor: renderItem.disabled ? 'not-allowed' : 'auto',
|
|
622
502
|
}"
|
|
623
|
-
:list-type="renderItem.uploadType == 'pic' ? 'picture-card' : undefined"
|
|
624
503
|
>
|
|
625
|
-
<
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
504
|
+
<a-input
|
|
505
|
+
v-model:value="formState[renderItem.key]"
|
|
506
|
+
v-if="renderItem.type == 'input' && [undefined, 'string'].includes(renderItem.fieldType)"
|
|
507
|
+
type="text"
|
|
508
|
+
:placeholder="renderItem.placeholder || `请输入${renderItem.label}`"
|
|
509
|
+
>
|
|
510
|
+
<template v-if="renderItem.prefix" v-slot:prefix>
|
|
511
|
+
<component :is="renderItem.prefix" />
|
|
512
|
+
</template>
|
|
513
|
+
<template v-if="renderItem.suffix" v-slot:suffix>
|
|
514
|
+
<component :is="renderItem.suffix" />
|
|
515
|
+
</template>
|
|
516
|
+
</a-input>
|
|
517
|
+
|
|
518
|
+
<a-input
|
|
519
|
+
v-model:value.number="formState[renderItem.key]"
|
|
520
|
+
v-if="renderItem.type == 'input' && renderItem.fieldType == 'number'"
|
|
521
|
+
type="number"
|
|
522
|
+
:placeholder="renderItem.placeholder || `请输入${renderItem.label}`"
|
|
523
|
+
>
|
|
524
|
+
<template v-if="renderItem.prefix" v-slot:prefix>
|
|
525
|
+
<component :is="renderItem.prefix" />
|
|
526
|
+
</template>
|
|
527
|
+
<template v-if="renderItem.suffix" v-slot:suffix>
|
|
528
|
+
<component :is="renderItem.suffix" />
|
|
529
|
+
</template>
|
|
530
|
+
</a-input>
|
|
531
|
+
|
|
532
|
+
<a-input-password
|
|
533
|
+
v-model:value="formState[renderItem.key]"
|
|
534
|
+
v-if="renderItem.type == 'password'"
|
|
535
|
+
type="password"
|
|
536
|
+
:placeholder="renderItem.placeholder || `请输入${renderItem.label}`"
|
|
537
|
+
>
|
|
538
|
+
<template v-if="renderItem.prefix" v-slot:prefix>
|
|
539
|
+
<component :is="renderItem.prefix" />
|
|
540
|
+
</template>
|
|
541
|
+
</a-input-password>
|
|
542
|
+
|
|
543
|
+
<a-input
|
|
544
|
+
v-model:value="formState[renderItem.key]"
|
|
545
|
+
v-if="renderItem.type == 'code' && [undefined, 'string'].includes(renderItem.fieldType)"
|
|
546
|
+
type="text"
|
|
547
|
+
:placeholder="renderItem.placeholder || `请输入${renderItem.label}`"
|
|
548
|
+
>
|
|
549
|
+
<template v-if="renderItem.prefix" v-slot:prefix>
|
|
550
|
+
<component :is="renderItem.prefix" />
|
|
551
|
+
</template>
|
|
552
|
+
<template v-slot:suffix>
|
|
553
|
+
<span
|
|
554
|
+
v-if="
|
|
555
|
+
(!renderItem.activityFunc || (renderItem.activityFunc && renderItem.activityFunc(formState))) &&
|
|
556
|
+
renderItem.sendStatus != 'sending'
|
|
557
|
+
"
|
|
558
|
+
class="send-notice send-notice-activity"
|
|
559
|
+
@click="sendNoticeClick(renderItem)"
|
|
560
|
+
>
|
|
561
|
+
{{ renderItem.codeName }}
|
|
562
|
+
</span>
|
|
563
|
+
<span v-else class="send-notice">
|
|
564
|
+
{{ renderItem.codeName }}
|
|
565
|
+
</span>
|
|
566
|
+
</template>
|
|
567
|
+
</a-input>
|
|
568
|
+
|
|
569
|
+
<a-textarea
|
|
570
|
+
v-model:value="formState[renderItem.key]"
|
|
571
|
+
v-if="renderItem.type == 'textarea'"
|
|
572
|
+
:placeholder="renderItem.placeholder || `请输入${renderItem.label}`"
|
|
573
|
+
:auto-size="{ minRows: 2, maxRows: 10 }"
|
|
574
|
+
/>
|
|
629
575
|
|
|
630
|
-
<
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
:
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
576
|
+
<a-select
|
|
577
|
+
style="min-width: 170px; margin-right: 15px"
|
|
578
|
+
v-model:value="formState[renderItem.key]"
|
|
579
|
+
:placeholder="renderItem.placeholder || `请选择`"
|
|
580
|
+
v-if="renderItem.type == 'select'"
|
|
581
|
+
:fieldNames="renderItem.fieldNames || { label: 'label', value: 'value' }"
|
|
582
|
+
:options="renderItem.optionList"
|
|
583
|
+
:mode="renderItem.isMultiple ? 'multiple' : undefined"
|
|
584
|
+
></a-select>
|
|
585
|
+
|
|
586
|
+
<a-radio-group v-if="renderItem.type == 'radio'" v-model:value="formState[renderItem.key]">
|
|
587
|
+
<a-radio v-for="item in renderItem.optionList" :value="item[renderItem.fieldNames?.value || 'value']">
|
|
588
|
+
{{ item[renderItem.fieldNames?.label || "label"] }}
|
|
589
|
+
</a-radio>
|
|
590
|
+
</a-radio-group>
|
|
591
|
+
|
|
592
|
+
<a-date-picker
|
|
593
|
+
v-model:value="formState[renderItem.key]"
|
|
594
|
+
v-if="renderItem.type === 'datePicker'"
|
|
595
|
+
show-time
|
|
596
|
+
:placeholder="`请选择${renderItem.label}`"
|
|
597
|
+
class="ant-input"
|
|
598
|
+
format="YYYY-MM-DD HH:mm:ss"
|
|
599
|
+
value-format="YYYY-MM-DD HH:mm:ss"
|
|
646
600
|
/>
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
:
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
601
|
+
|
|
602
|
+
<a-tree-select
|
|
603
|
+
style="min-width: 170px; margin-right: 15px"
|
|
604
|
+
v-model:value="formState[renderItem.key]"
|
|
605
|
+
:tree-data="renderItem.optionList"
|
|
606
|
+
v-if="renderItem.type == 'treeSelect'"
|
|
607
|
+
:fieldNames="renderItem.fieldNames || { children: 'children', label: 'name', value: 'id' }"
|
|
608
|
+
:placeholder="renderItem.placeholder || `请选择`"
|
|
609
|
+
></a-tree-select>
|
|
610
|
+
|
|
611
|
+
<a-upload
|
|
612
|
+
v-if="renderItem.type == 'uploadOss' || renderItem.type == 'uploadTos' || renderItem.type == 'upload'"
|
|
613
|
+
:file-list="formState[renderItem.key]"
|
|
614
|
+
:multiple="true"
|
|
615
|
+
:max-count="renderItem?.maxCount || 1"
|
|
616
|
+
@preview="handlePicPreview"
|
|
617
|
+
:customRequest="
|
|
618
|
+
(e) => {
|
|
619
|
+
uploadRequest(e, renderItem);
|
|
620
|
+
}
|
|
621
|
+
"
|
|
622
|
+
@change="
|
|
623
|
+
(e) => {
|
|
624
|
+
uploadChange(e, renderItem);
|
|
625
|
+
}
|
|
626
|
+
"
|
|
627
|
+
:headers="{
|
|
628
|
+
'Cache-Control': 'max-age=15552000',
|
|
629
|
+
}"
|
|
630
|
+
:list-type="renderItem.uploadType == 'pic' ? 'picture-card' : undefined"
|
|
631
|
+
>
|
|
632
|
+
<div v-if="renderItem.uploadType == 'pic'">
|
|
633
|
+
<plus-outlined />
|
|
634
|
+
<div style="margin-top: 8px">{{ renderItem.label }}</div>
|
|
635
|
+
</div>
|
|
636
|
+
|
|
637
|
+
<div v-else>
|
|
638
|
+
<a-button style="display: flex; align-items: center">
|
|
639
|
+
<upload-outlined></upload-outlined>
|
|
640
|
+
上传
|
|
641
|
+
</a-button>
|
|
642
|
+
</div>
|
|
643
|
+
</a-upload>
|
|
644
|
+
|
|
645
|
+
<div style="border: 1px solid #ccc" v-if="renderItem.type == 'editor'">
|
|
646
|
+
<Toolbar
|
|
647
|
+
style="border-bottom: 1px solid #ccc"
|
|
648
|
+
:editor="editorRef"
|
|
649
|
+
:defaultConfig="{
|
|
650
|
+
excludeKeys: ['insertVideo', 'insertImage', 'codeBlock'],
|
|
651
|
+
}"
|
|
652
|
+
mode="default"
|
|
653
|
+
/>
|
|
654
|
+
<Editor
|
|
655
|
+
style="height: 500px; overflow-y: hidden"
|
|
656
|
+
v-model="formState[renderItem.key]"
|
|
657
|
+
:defaultConfig="{
|
|
658
|
+
placeholder: '请输入内容...',
|
|
659
|
+
MENU_CONF: {
|
|
660
|
+
uploadImage: {
|
|
661
|
+
customUpload: async (file, insertFn) => {
|
|
662
|
+
await editorUpload(renderItem, file, insertFn);
|
|
663
|
+
},
|
|
656
664
|
},
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
665
|
+
uploadVideo: {
|
|
666
|
+
customUpload: async (file, insertFn) => {
|
|
667
|
+
await editorUpload(renderItem, file, insertFn);
|
|
668
|
+
},
|
|
661
669
|
},
|
|
662
670
|
},
|
|
663
|
-
}
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
</div>
|
|
671
|
+
}"
|
|
672
|
+
mode="default"
|
|
673
|
+
@onCreated="handleRichEditorCreated"
|
|
674
|
+
/>
|
|
675
|
+
</div>
|
|
669
676
|
|
|
670
|
-
|
|
677
|
+
<component v-if="renderItem.type == 'component'" :is="renderItem.component"></component>
|
|
678
|
+
</div>
|
|
671
679
|
</a-form-item>
|
|
672
680
|
</div>
|
|
673
681
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { ref, reactive, onMounted, computed,
|
|
2
|
+
import { ref, reactive, onMounted, computed, useSlots } from 'vue'
|
|
3
3
|
import PButtonRounded from '../p-button-rounded/p-button-rounded.vue'
|
|
4
4
|
import { Modal as AModal } from 'ant-design-vue'
|
|
5
5
|
const {
|
|
@@ -69,7 +69,7 @@ const confirmClick = async () => {
|
|
|
69
69
|
:closable="closable"
|
|
70
70
|
>
|
|
71
71
|
<template #title v-if="title">
|
|
72
|
-
<div
|
|
72
|
+
<div style="padding: 20px; font-size: 18px; font-weight: bold; line-height: 27px; color: #272727;">
|
|
73
73
|
{{ title }}
|
|
74
74
|
</div>
|
|
75
75
|
</template>
|
|
@@ -81,8 +81,8 @@ const confirmClick = async () => {
|
|
|
81
81
|
<slot name="footer"></slot>
|
|
82
82
|
</div>
|
|
83
83
|
|
|
84
|
-
<div v-else
|
|
85
|
-
<div
|
|
84
|
+
<div v-else style="display: flex; padding: 24px;" v-if="showFooter">
|
|
85
|
+
<div style="display: flex; align-items: center; justify-content: flex-start; gap: 4px;" v-if="footerTip">
|
|
86
86
|
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
87
87
|
<path
|
|
88
88
|
fill-rule="evenodd"
|
|
@@ -91,12 +91,12 @@ const confirmClick = async () => {
|
|
|
91
91
|
fill="#5A5A5A"
|
|
92
92
|
/>
|
|
93
93
|
</svg>
|
|
94
|
-
<div
|
|
94
|
+
<div style="font-size: 12px; color: #5A5A5A;">
|
|
95
95
|
{{ footerTip }}
|
|
96
96
|
</div>
|
|
97
97
|
</div>
|
|
98
98
|
|
|
99
|
-
<div
|
|
99
|
+
<div style="margin-left: auto;">
|
|
100
100
|
<p-button-rounded
|
|
101
101
|
:width="btnWidth"
|
|
102
102
|
:height="btnHeight"
|
|
@@ -83,8 +83,9 @@ const renderTableColumns = (tableColumns: TableColumn[]) => {
|
|
|
83
83
|
// return h("div", { style: { display: "flex", justifyContent: "space-around" } }, buttons);
|
|
84
84
|
// };
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
if(!renderItem.width){
|
|
87
|
+
renderItem.width = renderItem.operateButtons.length * 60;
|
|
88
|
+
}
|
|
88
89
|
|
|
89
90
|
if(editColumns.length > 0){
|
|
90
91
|
renderItem.width +=110
|
|
@@ -299,11 +300,8 @@ defineExpose({
|
|
|
299
300
|
rowKey="id"
|
|
300
301
|
:row-selection="rowSelection"
|
|
301
302
|
:columns="columns"
|
|
302
|
-
:data-source="tableData
|
|
303
|
+
:data-source="data && data.length >0 ? data : (tableData.data || [])"
|
|
303
304
|
:loading="loading"
|
|
304
|
-
:scroll="{
|
|
305
|
-
y: height,
|
|
306
|
-
}"
|
|
307
305
|
:pagination="data.length >0? false :{
|
|
308
306
|
current: pageQuery.p,
|
|
309
307
|
defaultPageSize: pageQuery.pc,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "p-pc-ui",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "dist/index.ts",
|
|
6
6
|
"main": "dist/index.ts",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"vue": "3.5.13"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"
|
|
25
|
-
"
|
|
24
|
+
"ts-node": "^10.9.2",
|
|
25
|
+
"typescript": "5.8.3"
|
|
26
26
|
}
|
|
27
|
-
}
|
|
27
|
+
}
|