@chewel611/naive-ui-plus 0.0.1

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 (129) hide show
  1. package/README.md +73 -0
  2. package/dist/index.js +1377 -0
  3. package/dist/index.umd.cjs +1 -0
  4. package/dist/style.css +1 -0
  5. package/es/_virtual/_plugin-vue_export-helper.js +9 -0
  6. package/es/application/PApplication.d.ts +23 -0
  7. package/es/application/PApplication.vue.js +53 -0
  8. package/es/application/PApplication.vue2.js +4 -0
  9. package/es/application/index.d.ts +33 -0
  10. package/es/application/index.js +6 -0
  11. package/es/components.d.ts +5 -0
  12. package/es/components.js +12 -0
  13. package/es/index.d.ts +9 -0
  14. package/es/index.js +24 -0
  15. package/es/languages/PLanguage.d.ts +2 -0
  16. package/es/languages/PLanguage.vue.js +69 -0
  17. package/es/languages/PLanguage.vue2.js +4 -0
  18. package/es/languages/index.d.ts +16 -0
  19. package/es/languages/index.js +7 -0
  20. package/es/languages/store.d.ts +137 -0
  21. package/es/languages/store.js +53 -0
  22. package/es/languages/typing.d.ts +14 -0
  23. package/es/layout/PLayout.css +1 -0
  24. package/es/layout/PLayout.d.ts +2 -0
  25. package/es/layout/PLayout.vue.js +7 -0
  26. package/es/layout/PLayout.vue2.js +80 -0
  27. package/es/layout/content/PContent.d.ts +7 -0
  28. package/es/layout/content/PContent.vue.js +27 -0
  29. package/es/layout/content/PContent.vue2.js +4 -0
  30. package/es/layout/content/PTabs.css +1 -0
  31. package/es/layout/content/PTabs.d.ts +5 -0
  32. package/es/layout/content/PTabs.vue.js +7 -0
  33. package/es/layout/content/PTabs.vue2.js +281 -0
  34. package/es/layout/header/PHeader.css +1 -0
  35. package/es/layout/header/PHeader.d.ts +2 -0
  36. package/es/layout/header/PHeader.vue.js +7 -0
  37. package/es/layout/header/PHeader.vue2.js +188 -0
  38. package/es/layout/index.d.ts +15 -0
  39. package/es/layout/index.js +6 -0
  40. package/es/layout/layout.d.ts +21002 -0
  41. package/es/layout/layout.js +74 -0
  42. package/es/layout/sider/PLogo.css +1 -0
  43. package/es/layout/sider/PLogo.d.ts +2 -0
  44. package/es/layout/sider/PLogo.vue.js +7 -0
  45. package/es/layout/sider/PLogo.vue2.js +23 -0
  46. package/es/layout/sider/PMenus.d.ts +2 -0
  47. package/es/layout/sider/PMenus.vue.js +90 -0
  48. package/es/layout/sider/PMenus.vue2.js +4 -0
  49. package/es/modal/PModal.d.ts +4173 -0
  50. package/es/modal/PModal.vue.js +106 -0
  51. package/es/modal/PModal.vue2.js +4 -0
  52. package/es/modal/index.d.ts +2116 -0
  53. package/es/modal/index.js +6 -0
  54. package/es/modal/typing.d.ts +12 -0
  55. package/es/table/PTable.d.ts +37 -0
  56. package/es/table/PTable.vue.js +384 -0
  57. package/es/table/PTable.vue2.js +4 -0
  58. package/es/table/index.d.ts +61 -0
  59. package/es/table/index.js +6 -0
  60. package/es/table/typing.d.ts +41 -0
  61. package/es/typing.d.ts +5 -0
  62. package/es/utils/install.d.ts +2 -0
  63. package/es/utils/install.js +9 -0
  64. package/es/utils/plus.d.ts +6 -0
  65. package/es/utils/resolver.d.ts +7 -0
  66. package/es/utils/storage.d.ts +7 -0
  67. package/lib/_virtual/_plugin-vue_export-helper.cjs +1 -0
  68. package/lib/application/PApplication.d.ts +23 -0
  69. package/lib/application/PApplication.vue.cjs +1 -0
  70. package/lib/application/PApplication.vue2.cjs +1 -0
  71. package/lib/application/index.cjs +1 -0
  72. package/lib/application/index.d.ts +33 -0
  73. package/lib/components.cjs +1 -0
  74. package/lib/components.d.ts +5 -0
  75. package/lib/index.cjs +1 -0
  76. package/lib/index.d.ts +9 -0
  77. package/lib/languages/PLanguage.d.ts +2 -0
  78. package/lib/languages/PLanguage.vue.cjs +1 -0
  79. package/lib/languages/PLanguage.vue2.cjs +1 -0
  80. package/lib/languages/index.cjs +1 -0
  81. package/lib/languages/index.d.ts +16 -0
  82. package/lib/languages/store.cjs +1 -0
  83. package/lib/languages/store.d.ts +137 -0
  84. package/lib/languages/typing.d.ts +14 -0
  85. package/lib/layout/PLayout.css +1 -0
  86. package/lib/layout/PLayout.d.ts +2 -0
  87. package/lib/layout/PLayout.vue.cjs +1 -0
  88. package/lib/layout/PLayout.vue2.cjs +1 -0
  89. package/lib/layout/content/PContent.d.ts +7 -0
  90. package/lib/layout/content/PContent.vue.cjs +1 -0
  91. package/lib/layout/content/PContent.vue2.cjs +1 -0
  92. package/lib/layout/content/PTabs.css +1 -0
  93. package/lib/layout/content/PTabs.d.ts +5 -0
  94. package/lib/layout/content/PTabs.vue.cjs +1 -0
  95. package/lib/layout/content/PTabs.vue2.cjs +1 -0
  96. package/lib/layout/header/PHeader.css +1 -0
  97. package/lib/layout/header/PHeader.d.ts +2 -0
  98. package/lib/layout/header/PHeader.vue.cjs +1 -0
  99. package/lib/layout/header/PHeader.vue2.cjs +1 -0
  100. package/lib/layout/index.cjs +1 -0
  101. package/lib/layout/index.d.ts +15 -0
  102. package/lib/layout/layout.cjs +1 -0
  103. package/lib/layout/layout.d.ts +21002 -0
  104. package/lib/layout/sider/PLogo.css +1 -0
  105. package/lib/layout/sider/PLogo.d.ts +2 -0
  106. package/lib/layout/sider/PLogo.vue.cjs +1 -0
  107. package/lib/layout/sider/PLogo.vue2.cjs +1 -0
  108. package/lib/layout/sider/PMenus.d.ts +2 -0
  109. package/lib/layout/sider/PMenus.vue.cjs +1 -0
  110. package/lib/layout/sider/PMenus.vue2.cjs +1 -0
  111. package/lib/modal/PModal.d.ts +4173 -0
  112. package/lib/modal/PModal.vue.cjs +1 -0
  113. package/lib/modal/PModal.vue2.cjs +1 -0
  114. package/lib/modal/index.cjs +1 -0
  115. package/lib/modal/index.d.ts +2116 -0
  116. package/lib/modal/typing.d.ts +12 -0
  117. package/lib/table/PTable.d.ts +37 -0
  118. package/lib/table/PTable.vue.cjs +1 -0
  119. package/lib/table/PTable.vue2.cjs +1 -0
  120. package/lib/table/index.cjs +1 -0
  121. package/lib/table/index.d.ts +61 -0
  122. package/lib/table/typing.d.ts +41 -0
  123. package/lib/typing.d.ts +5 -0
  124. package/lib/utils/install.cjs +1 -0
  125. package/lib/utils/install.d.ts +2 -0
  126. package/lib/utils/plus.d.ts +6 -0
  127. package/lib/utils/resolver.d.ts +7 -0
  128. package/lib/utils/storage.d.ts +7 -0
  129. package/package.json +103 -0
@@ -0,0 +1,12 @@
1
+ export type PModalProps = {
2
+ saveBtnText?: string;
3
+ closable?: boolean;
4
+ preset?: "dialog" | "card";
5
+ title?: string;
6
+ onSave?: () => Promise<boolean> | boolean;
7
+ onClose?: () => Promise<boolean> | boolean;
8
+ };
9
+ export type PModalMethods = {
10
+ open: () => void;
11
+ close: () => void;
12
+ };
@@ -0,0 +1,37 @@
1
+ import { DataTableProps } from './typing';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ toolbar?(_: {}): any;
6
+ addModal?(_: {}): any;
7
+ editModal?(_: {}): any;
8
+ };
9
+ refs: {
10
+ $table: unknown;
11
+ };
12
+ rootEl: any;
13
+ };
14
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
+ declare const __VLS_component: import('vue').DefineComponent<DataTableProps, {
16
+ refreshData: () => Promise<void>;
17
+ getData: <T>() => T[];
18
+ getSelectedRows: <T>() => T[];
19
+ closeModal: () => void;
20
+ resetPage: () => void;
21
+ getSelectedRow: <T>() => T;
22
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<DataTableProps> & Readonly<{}>, {
23
+ idField: string;
24
+ modalWidth: number;
25
+ hiddenAdd: boolean;
26
+ hiddenEdit: boolean;
27
+ hiddenDelete: boolean;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
29
+ $table: unknown;
30
+ }, any>;
31
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
32
+ export default _default;
33
+ type __VLS_WithTemplateSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("naive-ui"),e=require("vue"),N=require("@vicons/antd"),te={id:"data-content"},oe={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},le={key:1},ne={key:2},ae=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(R,{expose:$}){const S=e.ref(null),z=r.useDialog(),p=r.useMessage(),m=e.ref(!1),v=e.ref([]),w=e.ref([]),b=e.ref(null),u=e.ref(!1),h=e.ref(!1),y=e.ref(!1),c=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{c.value.page=t,await f()},onUpdatePageSize:async t=>{c.value.pageSize=t,await f()}}),l=R,L=t=>{const o=n=>{const a=[];return t&&t.forEach(i=>{i.key!=="edit"&&i.key!=="delete"&&a.push({label:i.name,key:i.key,props:{onClick:()=>i.action(n)}})}),a};return{title:"操作",key:"actions",width:100,fixed:"left",render:n=>{let a=[];if(l.hiddenEdit||a.push({label:"编辑",key:"edit",props:{onClick:()=>q(n)}}),l.hiddenDelete||a.push({label:"删除",key:"delete",props:{onClick:()=>I(n)}}),a=[...a,...o(n)],!(a.length<=0))return e.h(r.NDropdown,{options:a,placement:"bottom-start"},{default:()=>e.h(r.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(r.NIcon,()=>e.h(N.MoreOutlined))]})})}}},H=e.computed(()=>{const t=l.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,render:n.render,ellipsis:n.ellipsis?{tooltip:!0}:!1})),o=l.columns.reduce((n,a)=>a.key==="action"?a:n,void 0)?.action;return o&&o?.length>0||!l.hiddenDelete||!l.hiddenEdit?[{type:"selection",fixed:"left"},...t,L(o)]:[{type:"selection",fixed:"left"},...t]}),M=async()=>{await f()},I=t=>{E([t])},F=()=>{const t=V();E(t)},E=t=>{t&&t.length>0&&z.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(l.onDelete)try{await l.onDelete(t)?(f(),p.success("删除成功")):p.error("删除失败")}catch(o){console.error(o),p.error("删除异常,详情F12请查看控制台日志")}}})},P=()=>{if(l.onOpenModal){l.onOpenModal();return}h.value=!1,u.value=!0},q=async t=>{if(l.onOpenModal){l.onOpenModal(t);return}l.onGet&&(t=await l.onGet(t[l.idField])),b.value=t,Object.assign(l.item,t),u.value=!1,h.value=!0},O=async()=>{if(l.onSave)try{y.value=!0,(u.value?await l.onSave():await l.onSave(b.value[l.idField]))&&(k(),await f())}catch(t){console.error(t),p.error("操作失败, 详情F12请查看控制台日志")}finally{y.value=!1}},k=()=>{l.onCloseModal&&l.onCloseModal(),Object.keys(l.item).forEach(t=>l.item[t]=void 0),b.value=null,u.value=!1,h.value=!1},V=()=>v.value?w.value.filter(o=>v.value.includes(o.id)).map(o=>e.toRaw(o)):[],W=()=>V()[0],A=()=>e.toRaw(w.value),f=async()=>{if(!m.value){m.value=!0;try{if(l.onLoad){var{data:t,total:o}=await l.onLoad(c.value.page,c.value.pageSize);w.value=t,c.value.itemCount=o}}catch(n){console.error(n),p.error("获取数据失败, 详情F12请查看控制台日志")}finally{m.value=!1}}},U=e.computed(()=>{const t=e.unref(S);if(!t)return;const o=t?.$el,n=o.querySelector(".n-data-table-thead "),{bottomIncludeBody:a}=G(n),i=64;let d=2,s=24;const g=o.querySelector(".n-data-table__pagination");if(g){const _=g.offsetHeight;d+=_||0}else d+=28;let C=a-(i+d+s);return console.log("height",C),C}),j=t=>!t||!t.getBoundingClientRect?0:t.getBoundingClientRect(),G=t=>{const o=document.documentElement,n=o.scrollLeft,a=o.scrollTop,i=o.clientLeft,d=o.clientTop,s=window.pageXOffset,g=window.pageYOffset,C=j(t),{left:_,top:K,width:X,height:Y}=C,J=(s||n)-(i||0),Q=(g||a)-(d||0),Z=_+s,ee=K+g,x=Z-J,B=ee-Q,T=window.document.documentElement.clientWidth,D=window.document.documentElement.clientHeight;return{left:x,top:B,right:T-X-x,bottom:D-Y-B,rightIncludeBody:T-x,bottomIncludeBody:D-B}};return e.onMounted(async()=>await M()),$({getData:A,getSelectedRow:W,getSelectedRows:V,closeModal:k,refreshData:f,resetPage:()=>{c.value.page=1}}),(t,o)=>{const n=r.NTooltip,a=r.NDataTable,i=r.NSpace,d=r.NModal;return e.openBlock(),e.createBlock(e.unref(r.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[t.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(r.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:P},{default:e.withCtx(()=>[e.createVNode(e.unref(N.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[o[3]||(o[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),t.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(r.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:F},{default:e.withCtx(()=>[e.createVNode(e.unref(N.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[o[4]||(o[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(n,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(r.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:M},{default:e.withCtx(()=>[e.createVNode(e.unref(N.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[o[5]||(o[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",te,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(a,{remote:"",ref_key:"$table",ref:S,"checked-row-keys":v.value,"onUpdate:checkedRowKeys":o[0]||(o[0]=s=>v.value=s),"max-height":U.value,loading:m.value,bordered:!1,"single-line":!1,columns:H.value,data:w.value,pagination:c.value,"row-key":s=>s[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),t.$slots.addModal?(e.openBlock(),e.createElementBlock("div",le,[e.createVNode(d,{title:"新增",preset:"dialog",show:u.value,"onUpdate:show":o[1]||(o[1]=s=>u.value=s),closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(e.unref(r.NButton),{type:"primary",loading:y.value,onClick:O},{default:e.withCtx(()=>o[6]||(o[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(r.NButton),{onClick:k},{default:e.withCtx(()=>o[7]||(o[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),t.$slots.editModal?(e.openBlock(),e.createElementBlock("div",ne,[e.createVNode(d,{title:"编辑",show:h.value,"onUpdate:show":o[2]||(o[2]=s=>h.value=s),preset:"dialog",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(e.unref(r.NButton),{type:"primary",loading:y.value,onClick:O},{default:e.withCtx(()=>o[8]||(o[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(r.NButton),{onClick:k},{default:e.withCtx(()=>o[9]||(o[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}});exports.default=ae;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./PTable.vue.cjs");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./PTable.vue.cjs"),t=require("../utils/install.cjs"),u=t.withInstall(e.default);exports.default=u;
@@ -0,0 +1,61 @@
1
+ declare const _default: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./typing').DataTableProps> & Readonly<{}>, {
3
+ refreshData: () => Promise<void>;
4
+ getData: <T>() => T[];
5
+ getSelectedRows: <T>() => T[];
6
+ closeModal: () => void;
7
+ resetPage: () => void;
8
+ getSelectedRow: <T>() => T;
9
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
10
+ idField: string;
11
+ modalWidth: number;
12
+ hiddenAdd: boolean;
13
+ hiddenEdit: boolean;
14
+ hiddenDelete: boolean;
15
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
16
+ $table: unknown;
17
+ }, any, import('vue').ComponentProvideOptions, {
18
+ P: {};
19
+ B: {};
20
+ D: {};
21
+ C: {};
22
+ M: {};
23
+ Defaults: {};
24
+ }, Readonly<import('./typing').DataTableProps> & Readonly<{}>, {
25
+ refreshData: () => Promise<void>;
26
+ getData: <T>() => T[];
27
+ getSelectedRows: <T>() => T[];
28
+ closeModal: () => void;
29
+ resetPage: () => void;
30
+ getSelectedRow: <T>() => T;
31
+ }, {}, {}, {}, {
32
+ idField: string;
33
+ modalWidth: number;
34
+ hiddenAdd: boolean;
35
+ hiddenEdit: boolean;
36
+ hiddenDelete: boolean;
37
+ }>;
38
+ __isFragment?: never;
39
+ __isTeleport?: never;
40
+ __isSuspense?: never;
41
+ } & import('vue').ComponentOptionsBase<Readonly<import('./typing').DataTableProps> & Readonly<{}>, {
42
+ refreshData: () => Promise<void>;
43
+ getData: <T>() => T[];
44
+ getSelectedRows: <T>() => T[];
45
+ closeModal: () => void;
46
+ resetPage: () => void;
47
+ getSelectedRow: <T>() => T;
48
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
49
+ idField: string;
50
+ modalWidth: number;
51
+ hiddenAdd: boolean;
52
+ hiddenEdit: boolean;
53
+ hiddenDelete: boolean;
54
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
55
+ $slots: {
56
+ toolbar?(_: {}): any;
57
+ addModal?(_: {}): any;
58
+ editModal?(_: {}): any;
59
+ };
60
+ }) & import('vue').Plugin;
61
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import { VNodeChild } from 'vue';
2
+ export interface DataTableColumnActionDefine {
3
+ name: string;
4
+ key: string;
5
+ icon?: string;
6
+ action: (row: any) => void;
7
+ }
8
+ export interface DataTableColumnDefine {
9
+ title: string;
10
+ key: string;
11
+ width?: number;
12
+ ellipsis?: boolean;
13
+ action?: DataTableColumnActionDefine[];
14
+ render?: (data: any, index: number) => VNodeChild;
15
+ }
16
+ export interface DataTableProps {
17
+ idField?: string;
18
+ item: any;
19
+ columns: DataTableColumnDefine[];
20
+ modalWidth?: number;
21
+ hiddenAdd?: boolean;
22
+ hiddenEdit?: boolean;
23
+ hiddenDelete?: boolean;
24
+ onLoad: (page: number, pageSize: number) => Promise<{
25
+ data: any[];
26
+ total: number;
27
+ }>;
28
+ onGet?: (id: string | number) => Promise<any>;
29
+ onOpenModal?: (item?: any) => void;
30
+ onCloseModal?: (item?: any) => void;
31
+ onSave?: (id?: string | number) => Promise<boolean> | boolean;
32
+ onDelete?: (rows: any[]) => Promise<boolean> | boolean;
33
+ }
34
+ export interface DataTableMethods {
35
+ refreshData: () => Promise<void>;
36
+ getData: <T>() => T[];
37
+ getSelectedRows: <T>() => T[];
38
+ closeModal: () => void;
39
+ resetPage: () => void;
40
+ getSelectedRow: <T>() => T;
41
+ }
@@ -0,0 +1,5 @@
1
+ export * from './table/typing';
2
+ export type * from './modal/typing';
3
+ export type * from './languages/typing';
4
+ export { usePLayoutStore } from './layout';
5
+ export { usePLanguageStore } from './languages';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=t=>{const n=t;return n.install=function(e){e.component(n.__name,t)},t};exports.withInstall=l;
@@ -0,0 +1,2 @@
1
+ import { Plugin, Component } from 'vue';
2
+ export declare const withInstall: <T extends Component>(comp: T) => T & Plugin;
@@ -0,0 +1,6 @@
1
+ import { ExtractPropTypes, InjectionKey } from 'vue';
2
+ export type RemoveReadonly<T> = {
3
+ -readonly [key in keyof T]: T[key];
4
+ };
5
+ export type ExtractPublicPropTypes<T> = Partial<RemoveReadonly<ExtractPropTypes<T>>>;
6
+ export declare const createInjectionKey: <T>(key: string) => InjectionKey<T>;
@@ -0,0 +1,7 @@
1
+ export declare function NaivePlusUIResolver(): {
2
+ type: "component";
3
+ resolve: (componentName: string) => {
4
+ name: "PlusTable";
5
+ from: string;
6
+ } | undefined;
7
+ };
@@ -0,0 +1,7 @@
1
+ declare const _default: {
2
+ get: (key: string, defaultValue?: any) => any;
3
+ set: (key: string, value: any) => void;
4
+ remove: (key: string) => void;
5
+ clear: () => void;
6
+ };
7
+ export default _default;
package/package.json ADDED
@@ -0,0 +1,103 @@
1
+ {
2
+ "name": "@chewel611/naive-ui-plus",
3
+ "private": false,
4
+ "version": "0.0.1",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "main": "lib/index.cjs",
9
+ "module": "es/index.js",
10
+ "types": "es/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./es/index.d.ts",
14
+ "import": "./es/index.js",
15
+ "require": "./lib/index.cjs"
16
+ },
17
+ "./css": "./dist/style.css",
18
+ "./*": "./*"
19
+ },
20
+ "scripts": {
21
+ "dev": "vite",
22
+ "pub": "sh scripts/publish.sh",
23
+ "build": "run-s format clean build:components",
24
+ "format": "prettier --write src/ components/",
25
+ "clean": "rimraf dist es lib",
26
+ "build:components": "run-p type-check build:dist build-only",
27
+ "type-check": "vue-tsc --build --force",
28
+ "build:dist": "vite build -- dir=dist",
29
+ "build-only": "vite build",
30
+ "preview": "vite preview",
31
+ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
32
+ },
33
+ "peerDependency": {
34
+ "@tailwindcss/vite": "^4.1.11",
35
+ "@vicons/antd": "^0.13.0",
36
+ "pinia": "^3.0.3",
37
+ "less": "^4.4.0",
38
+ "less-loader": "^12.3.0",
39
+ "vue-router": "^4.5.1"
40
+ },
41
+ "dependencies": {
42
+ "@chewel/naive-ui-plus": "^0.0.64",
43
+ "@vicons/antd": "^0.13.0",
44
+ "element-resize-detector": "^1.2.4",
45
+ "i18n-jsautotranslate": "^3.18.98",
46
+ "less": "^4.4.0",
47
+ "less-loader": "^12.3.0",
48
+ "pinia": "^3.0.3",
49
+ "vuedraggable": "^4.1.0"
50
+ },
51
+ "devDependencies": {
52
+ "@tailwindcss/vite": "^4.1.11",
53
+ "@types/element-resize-detector": "^1.1.6",
54
+ "@types/minimist": "^1.2.5",
55
+ "@types/node": "^24.1.0",
56
+ "@vicons/antd": "^0.13.0",
57
+ "@vitejs/plugin-vue": "^6.0.0",
58
+ "@vue/tsconfig": "^0.7.0",
59
+ "less": "^4.4.0",
60
+ "less-loader": "^12.3.0",
61
+ "minimist": "^1.2.8",
62
+ "naive-ui": "^2.42.0",
63
+ "npm-run-all2": "^8.0.4",
64
+ "pinia": "^3.0.3",
65
+ "prettier": "^3.6.2",
66
+ "rimraf": "^6.0.1",
67
+ "rollup": "^4.46.2",
68
+ "tailwindcss": "^4.1.11",
69
+ "typescript": "~5.8.3",
70
+ "unplugin-vue-components": "^28.8.0",
71
+ "vite": "^7.0.4",
72
+ "vite-plugin-dts": "^4.5.4",
73
+ "vite-plugin-vue-devtools": "^8.0.0",
74
+ "vue": "^3.5.17",
75
+ "vue-router": "^4.5.1",
76
+ "vue-tsc": "^2.2.12"
77
+ },
78
+ "homepage": "https://gitee.com/chewel/naive-ui-plus",
79
+ "repository": {
80
+ "type": "git",
81
+ "url": "https://gitee.com/chewel/naive-ui-plus.git"
82
+ },
83
+ "files": [
84
+ "dist",
85
+ "es",
86
+ "lib",
87
+ "package.json",
88
+ "README.md",
89
+ "README.zh-CN.md"
90
+ ],
91
+ "keywords": [
92
+ "naive-ui",
93
+ "naive-ui-plus",
94
+ "component library",
95
+ "ui framework",
96
+ "ui",
97
+ "vue"
98
+ ],
99
+ "publishConfig": {
100
+ "access": "public",
101
+ "registry": "https://registry.npmjs.org/"
102
+ }
103
+ }