@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 @@
1
+ (function(P,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","pinia","vue-router","element-resize-detector","vuedraggable"],o):(P=typeof globalThis<"u"?globalThis:P||self,o(P.naiveplus={},P.naiveUi,P.Vue,P.antd,P.pinia,P.vueRouter,P.elementResizeDetectorMaker,P.Draggable))})(this,function(P,o,e,E,v,D,de,fe){"use strict";const pe={id:"data-content"},he={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},ue={key:1},me={key:2},ge=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(l,{expose:i}){const w=e.ref(null),g=o.useDialog(),x=o.useMessage(),u=e.ref(!1),y=e.ref([]),b=e.ref([]),S=e.ref(null),B=e.ref(!1),f=e.ref(!1),k=e.ref(!1),n=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async a=>{n.value.page=a,await O()},onUpdatePageSize:async a=>{n.value.pageSize=a,await O()}}),r=l,p=a=>{const d=N=>{const L=[];return a&&a.forEach(t=>{t.key!=="edit"&&t.key!=="delete"&&L.push({label:t.name,key:t.key,props:{onClick:()=>t.action(N)}})}),L};return{title:"操作",key:"actions",width:100,fixed:"left",render:N=>{let L=[];if(r.hiddenEdit||L.push({label:"编辑",key:"edit",props:{onClick:()=>A(N)}}),r.hiddenDelete||L.push({label:"删除",key:"delete",props:{onClick:()=>_(N)}}),L=[...L,...d(N)],!(L.length<=0))return e.h(o.NDropdown,{options:L,placement:"bottom-start"},{default:()=>e.h(o.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(o.NIcon,()=>e.h(E.MoreOutlined))]})})}}},m=e.computed(()=>{const a=r.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})),d=r.columns.reduce((N,L)=>L.key==="action"?L:N,void 0)?.action;return d&&d?.length>0||!r.hiddenDelete||!r.hiddenEdit?[{type:"selection",fixed:"left"},...a,p(d)]:[{type:"selection",fixed:"left"},...a]}),h=async()=>{await O()},_=a=>{T([a])},M=()=>{const a=W();T(a)},T=a=>{a&&a.length>0&&g.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(r.onDelete)try{await r.onDelete(a)?(O(),x.success("删除成功")):x.error("删除失败")}catch(d){console.error(d),x.error("删除异常,详情F12请查看控制台日志")}}})},C=()=>{if(r.onOpenModal){r.onOpenModal();return}f.value=!1,B.value=!0},A=async a=>{if(r.onOpenModal){r.onOpenModal(a);return}r.onGet&&(a=await r.onGet(a[r.idField])),S.value=a,Object.assign(r.item,a),B.value=!1,f.value=!0},H=async()=>{if(r.onSave)try{k.value=!0,(B.value?await r.onSave():await r.onSave(S.value[r.idField]))&&(R(),await O())}catch(a){console.error(a),x.error("操作失败, 详情F12请查看控制台日志")}finally{k.value=!1}},R=()=>{r.onCloseModal&&r.onCloseModal(),Object.keys(r.item).forEach(a=>r.item[a]=void 0),S.value=null,B.value=!1,f.value=!1},W=()=>y.value?b.value.filter(d=>y.value.includes(d.id)).map(d=>e.toRaw(d)):[],K=()=>W()[0],j=()=>e.toRaw(b.value),O=async()=>{if(!u.value){u.value=!0;try{if(r.onLoad){var{data:a,total:d}=await r.onLoad(n.value.page,n.value.pageSize);b.value=a,n.value.itemCount=d}}catch(N){console.error(N),x.error("获取数据失败, 详情F12请查看控制台日志")}finally{u.value=!1}}},Y=e.computed(()=>{const a=e.unref(w);if(!a)return;const d=a?.$el,N=d.querySelector(".n-data-table-thead "),{bottomIncludeBody:L}=G(N),t=64;let c=2,s=24;const V=d.querySelector(".n-data-table__pagination");if(V){const F=V.offsetHeight;c+=F||0}else c+=28;let $=L-(t+c+s);return console.log("height",$),$}),X=a=>!a||!a.getBoundingClientRect?0:a.getBoundingClientRect(),G=a=>{const d=document.documentElement,N=d.scrollLeft,L=d.scrollTop,t=d.clientLeft,c=d.clientTop,s=window.pageXOffset,V=window.pageYOffset,$=X(a),{left:F,top:J,width:Z,height:Ye}=$,Xe=(s||N)-(t||0),Ge=(V||L)-(c||0),Je=F+s,Ze=J+V,Q=Je-Xe,U=Ze-Ge,ce=window.document.documentElement.clientWidth,ie=window.document.documentElement.clientHeight;return{left:Q,top:U,right:ce-Z-Q,bottom:ie-Ye-U,rightIncludeBody:ce-Q,bottomIncludeBody:ie-U}};return e.onMounted(async()=>await h()),i({getData:j,getSelectedRow:K,getSelectedRows:W,closeModal:R,refreshData:O,resetPage:()=>{n.value.page=1}}),(a,d)=>{const N=o.NTooltip,L=o.NDataTable,t=o.NSpace,c=o.NModal;return e.openBlock(),e.createBlock(e.unref(o.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[a.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(N,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:C},{default:e.withCtx(()=>[e.createVNode(e.unref(E.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[d[3]||(d[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),a.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(N,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:M},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[d[4]||(d[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(N,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:h},{default:e.withCtx(()=>[e.createVNode(e.unref(E.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[d[5]||(d[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",pe,[a.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",he,[e.renderSlot(a.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(L,{remote:"",ref_key:"$table",ref:w,"checked-row-keys":y.value,"onUpdate:checkedRowKeys":d[0]||(d[0]=s=>y.value=s),"max-height":Y.value,loading:u.value,bordered:!1,"single-line":!1,columns:m.value,data:b.value,pagination:n.value,"row-key":s=>s[a.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),a.$slots.addModal?(e.openBlock(),e.createElementBlock("div",ue,[e.createVNode(c,{title:"新增",preset:"dialog",show:B.value,"onUpdate:show":d[1]||(d[1]=s=>B.value=s),closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${a.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NButton),{type:"primary",loading:k.value,onClick:H},{default:e.withCtx(()=>d[6]||(d[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(o.NButton),{onClick:R},{default:e.withCtx(()=>d[7]||(d[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(a.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),a.$slots.editModal?(e.openBlock(),e.createElementBlock("div",me,[e.createVNode(c,{title:"编辑",show:f.value,"onUpdate:show":d[2]||(d[2]=s=>f.value=s),preset:"dialog",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${a.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NButton),{type:"primary",loading:k.value,onClick:H},{default:e.withCtx(()=>d[8]||(d[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(o.NButton),{onClick:R},{default:e.withCtx(()=>d[9]||(d[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(a.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),I=l=>{const i=l;return i.install=function(w){w.component(i.__name,l)},l},ee=I(ge),_e=["Redirect","RedirectSon","login"],z=v.defineStore("p-layout",()=>{const l=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:l,initTabs:p=>{p.sort((m,h)=>(h.meta.affix?1:0)-(m.meta.affix?1:0)),l.tabs=p},addTab:p=>_e.includes(p.name)?!1:(l.tabs?.some(h=>h.fullPath==p.fullPath)||l.tabs?.push(p),!0),closeCurrentTab:p=>{const m=l.tabs.findIndex(h=>h.fullPath==p.fullPath);l.tabs.splice(m,1)},closeAllTabs:()=>{l.tabs=l.tabs.filter(p=>p?.meta?.affix??!1)},closeOtherTabs:p=>{l.tabs=l.tabs.filter(m=>m.fullPath==p.fullPath||(m?.meta?.affix??!1))},closeLeftTabs:p=>{const m=l.tabs.findIndex(h=>h.fullPath==p.fullPath);l.tabs=l.tabs.filter((h,_)=>_>=m||(h?.meta?.affix??!1))},closeRightTabs:p=>{const m=l.tabs.findIndex(h=>h.fullPath==p.fullPath);l.tabs=l.tabs.filter((h,_)=>_<=m||(h?.meta?.affix??!1))},collapse:()=>{l.collapsed=!l.collapsed},setTitle:p=>{l.title=p},setLogo:p=>{l.logo=p},setUser:(p,m)=>{l.uid=p,l.uname=m},setSettingPages:p=>{l.settingPages=p},setLogout:p=>{l.logout=p}}}),we={class:"logo"},ye=e.defineComponent({__name:"PLogo",setup(l){const i=z();return(w,g)=>(e.openBlock(),e.createElementBlock("div",we,[e.createVNode(e.unref(o.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(i).state.logo,class:e.normalizeClass({"mr-2":!e.unref(i).state.collapsed})},null,8,["src","class"]),e.withDirectives(e.createElementVNode("h1",{class:"font-bold ease-in-out ml-2 logo-size"},e.toDisplayString(e.unref(i).state.title),513),[[e.vShow,!e.unref(i).state.collapsed]])]))}}),q=(l,i)=>{const w=l.__vccOpts||l;for(const[g,x]of i)w[g]=x;return w},be=q(ye,[["__scopeId","data-v-c9496d2e"]]),ke={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:l=>{},initLanguage:l=>{}},te=v.defineStore("language",()=>{const l=e.ref(ke),i=f=>{f.forEach(k=>{(k.key==="Chinese"||k.key==="chinese")&&(k.key="chinese_simplified")}),l.value.options=[...f]},w=()=>l.value.options,g=f=>{if(l.value.currentLanguage===f)return;const k=l.value.options.find(n=>n.key===f);k&&(l.value.currentLanguage=k.key,l.value.selectCallback(k))},x=()=>{if(l.value.currentLanguage)return l.value.options.find(f=>f.key===l.value.currentLanguage)},u=f=>{l.value.selectCallback=f},y=()=>l.value.translationApiUrl,b=f=>{l.value.translationApiUrl=f},S=f=>{(f==="Chinese"||f==="chinese")&&(f="chinese_simplified"),l.value.defaultLanguage=f},B=()=>l.value.defaultLanguage?l.value.defaultLanguage:"chinese_simplified";return e.onMounted(()=>{l.value.initLanguage(l.value)}),{state:l,select:g,setLanguages:i,getLanguages:w,getCurrentLanguage:x,setSelectCallback:u,setTranslationApiUrl:b,getTranslationApiUrl:y,setDefaultLanguage:S,getDefaultLanguage:B}}),Ce={key:1},oe=e.defineComponent({__name:"PLanguage",setup(l){const{select:i,getLanguages:w,getCurrentLanguage:g,getDefaultLanguage:x,getTranslationApiUrl:u}=te(),y=S=>i(S),b=()=>{window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=w().map(S=>S.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(x()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(u()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute()};return e.onMounted(async()=>{b()}),(S,B)=>{const f=o.NIcon,k=o.NButton;return e.unref(w)().length>0?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:y,options:e.unref(w)()},{default:e.withCtx(()=>[e.createVNode(k,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(g)()?(e.openBlock(),e.createElementBlock("label",Ce,e.toDisplayString(e.unref(g)()?.label),1)):(e.openBlock(),e.createBlock(f,{key:0,size:"18"},{default:e.withCtx(()=>B[0]||(B[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])),_:1,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),Ne={class:"layout-header"},xe={class:"layout-header-left"},Ve={class:"link-text"},Se={key:1,class:"link-text"},Be={class:"layout-header-right"},Pe={class:"layout-header-trigger-min"},Te={class:"layout-header-trigger layout-header-trigger-min"},Le={class:"layout-header-trigger layout-header-trigger-min"},Ee={class:"avatar"},Me=q(e.defineComponent({__name:"PHeader",setup(l){const i=o.useMessage(),w=o.useDialog(),g=z(),x=D.useRouter(),u=D.useRoute(),y=e.inject("reloadPage"),b=m=>x.push({name:m}),S=e.computed(()=>B(u.matched)),B=m=>m.map(h=>{const _={key:h.name,label:h.meta.title,icon:h.meta.icon,meta:h.meta,disabled:h.path==="/",children:void 0};return h.children&&h.children.length>0&&(_.children=B(h.children)),_}),f=e.ref(!1),k=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),f.value=!1):(document.documentElement.requestFullscreen(),f.value=!0)},n=e.computed(()=>{const m=[];return m.push({label:"退出登录",key:"logout"}),g.state.settingPages&&g.state.settingPages.length>0&&g.state.settingPages.forEach(h=>{m.push({label:h.title,key:h.route})}),m}),r=m=>{switch(m){case"logout":p();break;default:x.push({name:m})}},p=()=>{w.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(g.state.logout)try{await g.state.logout(),localStorage.removeItem("TABS-ROUTES"),i.error("退出成功")}catch(m){console.error(m),i.error("退出登录失败")}finally{location.reload()}else i.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(m,h)=>{const _=o.NTooltip,M=o.NDivider,T=o.NAvatar;return e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",xe,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:h[0]||(h[0]=(...C)=>e.unref(g).collapse&&e.unref(g).collapse(...C))},[e.unref(g).state.collapsed?(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:h[1]||(h[1]=(...C)=>e.unref(y)&&e.unref(y)(...C))},[e.createVNode(e.unref(o.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(o.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.label},[C.label?(e.openBlock(),e.createBlock(e.unref(o.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[C.children&&C.children.length?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,options:C.children,onSelect:b},{default:e.withCtx(()=>[e.createElementVNode("span",Ve,[C.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(C.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Se,[C.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(C.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",Be,[e.createElementVNode("div",Pe,[e.createVNode(oe)]),e.createElementVNode("div",Te,[e.createVNode(_,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",onClick:e.withModifiers(k,["stop"])},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(e.unref(E.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(E.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[h[2]||(h[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1,__:[2]})]),e.createElementVNode("div",Le,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:r,options:n.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ee,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g).state.uname),1),e.createVNode(M,{vertical:""}),e.createVNode(T,{round:"",src:e.unref(g).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-93589779"]]),$e={class:"mt-1"},Oe=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(l){return(i,w)=>{const g=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",$e,[i.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(({Component:x,route:u})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x),{key:u.fullPath}))],1024))]),_:1}))])}}}),De={class:"tabs-view-main"},ze=["id","onClick","onContextmenu"],Re={class:"tabs-close"},Ie={class:"tabs-close-btn"},Ae=q(e.defineComponent({__name:"PTabs",setup(l){e.useCssVars(t=>({"4cb4fdc8":w.value,"21e8bab2":g.value}));const i=o.useThemeVars(),w=e.computed(()=>i.value.cardColor),g=e.computed(()=>i.value.textColor1),x=o.useMessage(),u=D.useRoute(),y=D.useRouter(),b=e.ref(null),S=e.ref(null),B=e.ref(!1),f=z(),k=e.computed(()=>f.state.tabs),n=e.reactive({activeKey:u.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),r=["Login","Redirect","ErrorPage"],p=t=>{const{fullPath:c,hash:s,meta:V,name:$,params:F,path:J,query:Z}=t;return{fullPath:c,hash:s,meta:V,name:$,params:F,path:J,query:Z}},m=e.computed(()=>{const s=f.state.collapsed?"64px":"272px";return{left:s,width:`calc(100% - ${s})`}}),h=e.computed(()=>{const t=k.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:B.value||t,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.MinusOutlined)})}]}),_=()=>{let t=[];const c=p(u);try{if(f.state.cacheTabs){const s=localStorage.getItem("TABS_ROUTES");t=s?JSON.parse(s):[c]}}catch{t=[c]}finally{return t}},M=t=>{const c=y.getRoutes();t.forEach(s=>{const V=c.find($=>$.path===s.path);V&&(s.meta=V.meta||s.meta,s.name=V.name||s.name)}),f.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},T=()=>{const t=_();M(t),f.initTabs(t)},C=async t=>{if(await e.nextTick(),!b.value)return;const c=b.value.offsetWidth,s=b.value.scrollWidth;c<s?(n.scrollable=!0,t&&[...b.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach($=>{$.id===`tag${n.activeKey.split("/").join("/")}`&&$.scrollIntoView&&$.scrollIntoView()})):n.scrollable=!1},A=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),H=()=>{let t;t=de(),t.listenTo(S.value,()=>C(!0))},R=t=>{const{fullPath:c}=t;if(c===u.fullPath||(n.activeKey=c,!t))return;const{replace:s}=y;toString.call(t),s(t).catch(console.error)},W=(t,c)=>{t.preventDefault(),B.value=c.path==="/home",n.showDropdown=!1,e.nextTick().then(()=>{n.showDropdown=!0,n.dropdownX=t.clientX,n.dropdownY=t.clientY})},K=()=>{u.meta.keepAlive&&y.currentRoute.value.matched.find(t=>t.name==u.name)?.components?.default.name},j=t=>{if(k.value.length===1)return x.warning("这已经是最后一页,不能再关闭了!");if(K(),f.closeCurrentTab(t),n.activeKey===t.fullPath){const c=k.value[Math.max(0,k.value.length-1)];n.activeKey=c.fullPath,y.push(c)}C()},O=t=>{const{fullPath:c}=t,s=k.value.find(V=>V.fullPath==c);j(s)},Y=t=>{f.closeOtherTabs(t),n.activeKey=t.fullPath,y.replace(t.fullPath),C()},X=()=>{f.closeAllTabs(),C()},G=e.inject("reloadPage"),a=t=>{switch(t){case"1":G();break;case"2":j(u);break;case"3":Y(u);break;case"4":X();break}C(),n.showDropdown=!1},d=(t,c)=>{const s=b.value.scrollLeft,V=c>0&&s+c>=t||c<0&&s+c<=t?t:s+c;if(b.value&&b.value.scrollTo(V,0),V!==t)return window.requestAnimationFrame(()=>d(t,c))},N=()=>{const t=b.value.offsetWidth,c=b.value.scrollLeft;if(!c)return;const s=c>t?c-t:0;d(s,(s-c)/20)},L=()=>{const t=b.value.offsetWidth,c=b.value.scrollWidth,s=b.value.scrollLeft;if(c-s<=t)return;const V=c-s>t*2?s+t:c-t;d(V,(V-s)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(k.value))}),window.addEventListener("scroll",t=>{let c=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;n.isMultiHeaderFixed=c>=64},!0),e.watch(()=>u.fullPath,t=>{r.includes(u.name)||(n.activeKey=t,f.addTab(p(u)),C(!0))},{immediate:!0}),T(),e.onMounted(()=>H()),(t,c)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(m.value)},[e.createElementVNode("div",De,[e.createElementVNode("div",{ref_key:"navWrap",ref:S,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":n.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!n.scrollable}]),onClick:N},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!n.scrollable}]),onClick:L},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:b,class:"tabs-card-scroll"},[e.createVNode(e.unref(fe),{list:k.value,animation:"300","item-key":"fullPath",class:"flex",move:A},{item:e.withCtx(({element:s})=>[e.createElementVNode("div",{id:`tag${s.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":n.activeKey===s.fullPath}]),onClick:e.withModifiers(V=>R(s),["stop"]),onContextmenu:V=>W(V,s)},[e.createElementVNode("span",null,e.toDisplayString(s.meta.title),1),s.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"14",onClick:e.withModifiers(V=>O(s),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(E.CloseOutlined))]),_:2},1032,["onClick"]))],42,ze)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",Re,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:a,placement:"bottom-end",options:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ie,[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(o.NDropdown),{show:n.showDropdown,x:n.dropdownX,y:n.dropdownY,onClickoutside:c[0]||(c[0]=s=>n.showDropdown=!1),placement:"bottom-start",onSelect:a,options:h.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-f0706f46"]]),We=e.defineComponent({__name:"PMenus",setup(l){const i=D.useRoute(),w=D.useRouter(),g=z(),x=e.ref(i.name),u=e.ref(i.matched&&i.matched.length?i.matched.map(n=>n.name):[]),y=e.ref([]),b=n=>{/http(s)?:/.test(n)?window.open(n):w.push({name:n})},S=n=>{if(!n)return;const r=n.find(p=>u.value.indexOf(p)===-1);u.value=r?[r]:[]},B=()=>{const n=i.matched;u.value=n.map(p=>p.name);const r=i.meta?.activeMenu||"";x.value=r||i.name},f=(n,r=[],p=!1)=>{const m=[],h=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!n||n.length===0)return m;n=n.sort((_,M)=>{let T=(M.children?.length?1:0)-(_.children?.length?1:0);return T===0&&(T=(_.meta?.sort??0)-(M.meta?.sort??0)),T});for(const _ of n){if(p||(_.meta?.hidden||!1)==!0||h.includes(_.path)){r.push(_.name),_.children&&_.children.length>0&&f(_.children,r,!0);continue}const M=_.meta?.alwaysShow!=!0&&_?.children?.filter(A=>!A?.meta?.hidden)?.length===1,T=M?_.children[0]:_,C={key:T.name,label:T.meta?.title,affix:T.meta?.affix,sort:T.meta?.sort,path:T.path,redirect:T.redirect,icon:M?_.meta?.icon:T.meta?.icon,permissions:T.meta?.permissions,meta:T.meta,children:void 0};if(!r.includes(_.name)){if(m.push(C),r.push(_.name),M){f(_.children,r,p);continue}_.children&&_.children.length>0&&(C.children=f(_.children,r,p))}}return m},k=()=>{const n=w.getRoutes();y.value=f(n)};return e.watch(()=>i.fullPath,()=>{B()}),e.onMounted(()=>{k(),B()}),(n,r)=>(e.openBlock(),e.createBlock(e.unref(o.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:y.value,collapsed:e.unref(g).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":u.value,value:x.value,"onUpdate:value":b,"onUpdate:expandedKeys":S},null,8,["options","collapsed","expanded-keys","value"]))}}),Fe={class:"layout-content-main layout-content-main-fix"},qe={class:"main-view main-view-fix"},ne=I(q(e.defineComponent({__name:"PLayout",setup(l){const i=z(),w=e.ref(!1),g=()=>{w.value=!0,e.nextTick(()=>w.value=!1)};return e.provide("reloadPage",g),(x,u)=>{const y=o.NBackTop;return e.openBlock(),e.createBlock(e.unref(o.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width",collapsed:e.unref(i).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(i).collapse,onExpand:e.unref(i).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(be),e.createVNode(We)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(o.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(Me)]),_:1}),e.createVNode(e.unref(o.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Fe,[e.createVNode(Ae),e.createElementVNode("div",qe,[e.createVNode(Oe,{loading:w.value},null,8,["loading"])])])]),_:1}),e.createVNode(y,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-87dcb433"]])),le=I(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(l){return(i,w)=>{const g=o.NConfigProvider;return e.openBlock(),e.createBlock(g,{locale:e.unref(o.zhCN),theme:i.theme,"theme-overrides":i.themeOverrides,"date-locale":e.unref(o.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),He={class:"w-full cursor-move",id:"basic-modal-bar"},ae=I(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保 存"},closable:{type:Boolean,default:!1},preset:{default:"dialog"},title:{default:"操作"},onSave:{},onClose:{}},setup(l,{expose:i}){const w=o.useMessage(),g=l,x=e.ref(null),u=e.ref(!1),y=e.ref(!1),b=async()=>{u.value=!0;try{g.onSave&&await g.onSave()&&S()}catch(n){console.error(n),w.error("操作失败, 详情F12请查看控制台日志")}finally{u.value=!1}},S=()=>{y.value=!1,u.value=!1},B=async()=>{try{g.onClose?await g.onClose()&&S():S()}catch(n){console.error(n),w.error("取消失败, 详情F12请查看控制台日志")}};return i({open:()=>{u.value=!1,y.value=!0},close:()=>{y.value=!1,u.value=!1}}),(n,r)=>{const p=o.NButton,m=o.NSpace;return e.openBlock(),e.createBlock(e.unref(o.NModal),e.mergeProps({ref_key:"$modal",ref:x,preset:"dialog",show:y.value,"onUpdate:show":r[0]||(r[0]=h=>y.value=h)},n.$attrs,{draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,style:{width:"800px"},onClose:S}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",He,e.toDisplayString(n.title),1)]),default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:2},[n.$slots.action?{name:"action",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"action")]),key:"1"}:{name:"action",fn:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(p,{type:"primary",loading:u.value,onClick:b},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.saveBtnText),1)]),_:1},8,["loading"]),e.createVNode(p,{onClick:B},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode("取 消",-1)])),_:1,__:[1]})]),_:1})]),key:"0"}]),1040,["show"])}}})),se=I(oe),je=Object.freeze(Object.defineProperty({__proto__:null,PApplication:le,PLanguage:se,PLayout:ne,PModal:ae,PTable:ee},Symbol.toStringTag,{value:"Module"})),re=l=>(Object.values(je).forEach(i=>{i.install&&l.use(i)}),l),Ke={install:re};P.PApplication=le,P.PLanguage=se,P.PLayout=ne,P.PModal=ae,P.PTable=ee,P.default=Ke,P.install=re,P.usePLanguageStore=te,P.usePLayoutStore=z,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .logo[data-v-c9496d2e]{display:flex;align-items:center;justify-content:start;padding-left:16px;height:64px;line-height:64px;overflow:hidden;white-space:nowrap}.logo-size[data-v-c9496d2e]{font-size:20px}.layout-header[data-v-93589779]{display:flex;justify-content:space-between;align-items:center;padding:0;height:64px;box-shadow:0 1px 4px #00152914;transition:all .2s ease-in-out;width:100%;z-index:11}.layout-header-left[data-v-93589779]{display:flex;align-items:center}.layout-header-left .logo[data-v-93589779]{display:flex;align-items:center;justify-content:center;height:64px;line-height:64px;overflow:hidden;white-space:nowrap;padding-left:10px}.layout-header-left .logo img[data-v-93589779]{width:auto;height:32px;margin-right:10px}.layout-header-left .logo .title[data-v-93589779]{margin-bottom:0}.layout-header-left[data-v-93589779] .ant-breadcrumb span:last-child .link-text{color:#515a6e}.layout-header-left .n-breadcrumb[data-v-93589779]{display:inline-block}.layout-header-left-menu[data-v-93589779]{color:var(--text-color)}.layout-header-right[data-v-93589779]{display:flex;align-items:center;margin-right:5px}.layout-header-right .avatar[data-v-93589779]{display:flex;align-items:center;height:64px}.layout-header-right[data-v-93589779]>*{cursor:pointer}.layout-header-trigger[data-v-93589779]{display:inline-block;width:64px;height:64px;text-align:center;cursor:pointer;transition:all .2s ease-in-out}.layout-header-trigger .n-icon[data-v-93589779]{display:flex;align-items:center;height:64px;line-height:64px}.layout-header-trigger[data-v-93589779]:hover{background:#ffffff14}.layout-header-trigger .anticon[data-v-93589779]{font-size:16px;color:#515a6e}.layout-header-trigger-min[data-v-93589779]{width:auto;padding:0 10px}.layout-header-light[data-v-93589779]{background:#fff;color:#515a6e}.layout-header-light .n-icon[data-v-93589779]{color:#515a6e}.layout-header-light .layout-header-left[data-v-93589779] .n-breadcrumb .n-breadcrumb-item:last-child .n-breadcrumb-item__link{color:#515a6e}.layout-header-light .layout-header-trigger[data-v-93589779]:hover{background:#f8f8f9}.layout-header-fix[data-v-93589779]{position:fixed;top:0;right:0;left:200px;z-index:11}[data-v-93589779] .menu-router-link{color:#515a6e}[data-v-93589779] .menu-router-link:hover{color:#1890ff}.tabs-view[data-v-f0706f46]{width:100%;padding:6px 0;display:flex;transition:all .2s ease-in-out}.tabs-view-main[data-v-f0706f46]{height:32px;display:flex;max-width:100%;min-width:100%}.tabs-view-main .tabs-card[data-v-f0706f46]{-webkit-box-flex:1;flex-grow:1;flex-shrink:1;overflow:hidden;position:relative}.tabs-view-main .tabs-card .tabs-card-prev[data-v-f0706f46],.tabs-view-main .tabs-card .tabs-card-next[data-v-f0706f46]{width:32px;text-align:center;position:absolute;line-height:32px;cursor:pointer}.tabs-view-main .tabs-card .tabs-card-prev .n-icon[data-v-f0706f46],.tabs-view-main .tabs-card .tabs-card-next .n-icon[data-v-f0706f46]{display:flex;align-items:center;justify-content:center;height:32px;width:32px}.tabs-view-main .tabs-card .tabs-card-prev[data-v-f0706f46]{left:0}.tabs-view-main .tabs-card .tabs-card-next[data-v-f0706f46]{right:0}.tabs-view-main .tabs-card .tabs-card-next-hide[data-v-f0706f46],.tabs-view-main .tabs-card .tabs-card-prev-hide[data-v-f0706f46]{display:none}.tabs-view-main .tabs-card-scroll[data-v-f0706f46]{white-space:nowrap;overflow:hidden}.tabs-view-main .tabs-card-scroll-item[data-v-f0706f46]{background:var(--4cb4fdc8);color:var(--21e8bab2);height:32px;padding:6px 16px 4px;border-radius:3px;margin-right:6px;cursor:pointer;display:inline-block;position:relative;flex:0 0 auto}.tabs-view-main .tabs-card-scroll-item span[data-v-f0706f46]{float:left;vertical-align:middle}.tabs-view-main .tabs-card-scroll-item[data-v-f0706f46]:hover{color:#515a6e}.tabs-view-main .tabs-card-scroll-item .n-icon[data-v-f0706f46]{height:22px;width:21px;margin-right:-6px;position:relative;vertical-align:middle;text-align:center;color:#808695}.tabs-view-main .tabs-card-scroll-item .n-icon[data-v-f0706f46]:hover{color:#515a6e!important}.tabs-view-main .tabs-card-scroll-item .n-icon svg[data-v-f0706f46]{height:21px;display:inline-block}.tabs-view-main .tabs-card-scroll .active-item[data-v-f0706f46]{color:#2d8cf0}.tabs-view-main .tabs-card-scrollable[data-v-f0706f46]{padding:0 32px;overflow:hidden}.tabs-view .tabs-close[data-v-f0706f46]{min-width:32px;width:32px;height:32px;line-height:32px;text-align:center;background:var(--color);border-radius:2px;cursor:pointer}.tabs-view .tabs-close-btn[data-v-f0706f46]{color:var(--color);height:100%;display:flex;align-items:center;justify-content:center}.tabs-view-default-background[data-v-f0706f46]{background:#f5f7f9}.tabs-view-dark-background[data-v-f0706f46]{background:#101014}.tabs-view-fix[data-v-f0706f46]{position:fixed;z-index:5;padding:6px 10px;left:200px}.tabs-view-fixed-header[data-v-f0706f46]{top:0}.layout[data-v-87dcb433]{display:flex;flex-direction:row;flex:auto}.layout-default-background[data-v-87dcb433]{background:#f5f7f9}.layout .layout-sider[data-v-87dcb433]{min-height:100vh;box-shadow:2px 0 8px #1d23290d;position:relative;z-index:13;transition:all .2s ease-in-out}.layout .layout-sider-fix[data-v-87dcb433]{position:fixed;top:0;left:0}.layout .ant-layout[data-v-87dcb433]{overflow:hidden}.layout .layout-right-fix[data-v-87dcb433]{overflow-x:hidden;padding-left:200px;min-height:100vh;transition:all .2s ease-in-out}.layout .layout-content[data-v-87dcb433]{flex:auto;min-height:100vh}.layout .n-layout-header.n-layout-header--absolute-positioned[data-v-87dcb433]{z-index:11}.layout-content-main[data-v-87dcb433]{margin:0 10px 10px;position:relative;padding-top:64px}.layout-content-main-fix[data-v-87dcb433]{padding-top:64px}.main-view-fix[data-v-87dcb433]{padding-top:44px}
@@ -0,0 +1,9 @@
1
+ const s = (t, e) => {
2
+ const o = t.__vccOpts || t;
3
+ for (const [r, c] of e)
4
+ o[r] = c;
5
+ return o;
6
+ };
7
+ export {
8
+ s as default
9
+ };
@@ -0,0 +1,23 @@
1
+ type __VLS_Props = {
2
+ theme?: any;
3
+ themeOverrides?: any;
4
+ };
5
+ declare function __VLS_template(): {
6
+ attrs: Partial<{}>;
7
+ slots: {
8
+ default?(_: {}): any;
9
+ };
10
+ refs: {};
11
+ rootEl: any;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
15
+ themeOverrides: any;
16
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
18
+ export default _default;
19
+ type __VLS_WithTemplateSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1,53 @@
1
+ import { NConfigProvider as a, dateZhCN as d, zhCN as i, NDialogProvider as n, NNotificationProvider as f, NMessageProvider as m } from "naive-ui";
2
+ import { defineComponent as c, createBlock as p, openBlock as s, unref as e, withCtx as o, createVNode as t, renderSlot as u } from "vue";
3
+ const N = /* @__PURE__ */ c({
4
+ __name: "PApplication",
5
+ props: {
6
+ theme: {},
7
+ themeOverrides: { default: {
8
+ common: {
9
+ primaryColor: "#2d8cf0",
10
+ primaryColorHover: "#3c9bff",
11
+ primaryColorPressed: "#3c9bff",
12
+ primaryColorSuppl: "#2d8cf0"
13
+ },
14
+ LoadingBar: {
15
+ colorLoading: "#2d8cf0"
16
+ }
17
+ } }
18
+ },
19
+ setup(h) {
20
+ return (r, _) => {
21
+ const l = a;
22
+ return s(), p(l, {
23
+ locale: e(i),
24
+ theme: r.theme,
25
+ "theme-overrides": r.themeOverrides,
26
+ "date-locale": e(d)
27
+ }, {
28
+ default: o(() => [
29
+ t(e(n), null, {
30
+ default: o(() => [
31
+ t(e(f), null, {
32
+ default: o(() => [
33
+ t(e(m), null, {
34
+ default: o(() => [
35
+ u(r.$slots, "default")
36
+ ]),
37
+ _: 3
38
+ })
39
+ ]),
40
+ _: 3
41
+ })
42
+ ]),
43
+ _: 3
44
+ })
45
+ ]),
46
+ _: 3
47
+ }, 8, ["locale", "theme", "theme-overrides", "date-locale"]);
48
+ };
49
+ }
50
+ });
51
+ export {
52
+ N as default
53
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./PApplication.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,33 @@
1
+ declare const _default: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ theme?: any;
4
+ themeOverrides?: any;
5
+ }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
6
+ themeOverrides: any;
7
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
8
+ P: {};
9
+ B: {};
10
+ D: {};
11
+ C: {};
12
+ M: {};
13
+ Defaults: {};
14
+ }, Readonly<{
15
+ theme?: any;
16
+ themeOverrides?: any;
17
+ }> & Readonly<{}>, {}, {}, {}, {}, {
18
+ themeOverrides: any;
19
+ }>;
20
+ __isFragment?: never;
21
+ __isTeleport?: never;
22
+ __isSuspense?: never;
23
+ } & import('vue').ComponentOptionsBase<Readonly<{
24
+ theme?: any;
25
+ themeOverrides?: any;
26
+ }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
27
+ themeOverrides: any;
28
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
29
+ $slots: {
30
+ default?(_: {}): any;
31
+ };
32
+ }) & import('vue').Plugin;
33
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import t from "./PApplication.vue.js";
2
+ import { withInstall as o } from "../utils/install.js";
3
+ const r = o(t);
4
+ export {
5
+ r as default
6
+ };
@@ -0,0 +1,5 @@
1
+ export { default as PTable } from './table';
2
+ export { default as PLayout } from './layout';
3
+ export { default as PApplication } from './application';
4
+ export { default as PModal } from './modal';
5
+ export { default as PLanguage } from './languages';
@@ -0,0 +1,12 @@
1
+ import { default as e } from "./table/index.js";
2
+ import { default as r } from "./layout/index.js";
3
+ import { default as l } from "./application/index.js";
4
+ import { default as u } from "./modal/index.js";
5
+ import { PLanguageSwitch as d } from "./languages/index.js";
6
+ export {
7
+ l as PApplication,
8
+ d as PLanguage,
9
+ r as PLayout,
10
+ u as PModal,
11
+ e as PTable
12
+ };
package/es/index.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { App } from 'vue';
2
+ export * from './components';
3
+ export * from './typing';
4
+ export type { NaivePlusUIResolver } from './utils/resolver';
5
+ export declare const install: (app: App) => App<any>;
6
+ declare const _default: {
7
+ install: (app: App) => App<any>;
8
+ };
9
+ export default _default;
package/es/index.js ADDED
@@ -0,0 +1,24 @@
1
+ import * as t from "./components.js";
2
+ import { PLanguageSwitch as u } from "./languages/index.js";
3
+ import { default as n } from "./table/index.js";
4
+ import { default as p } from "./layout/index.js";
5
+ import { default as i } from "./application/index.js";
6
+ import { default as d } from "./modal/index.js";
7
+ import { usePLayoutStore as g } from "./layout/layout.js";
8
+ import { usePLanguageStore as S } from "./languages/store.js";
9
+ const a = (e) => (Object.values(t).forEach((o) => {
10
+ o.install && e.use(o);
11
+ }), e), r = {
12
+ install: a
13
+ };
14
+ export {
15
+ i as PApplication,
16
+ u as PLanguage,
17
+ p as PLayout,
18
+ d as PModal,
19
+ n as PTable,
20
+ r as default,
21
+ a as install,
22
+ S as usePLanguageStore,
23
+ g as usePLayoutStore
24
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,69 @@
1
+ import { NDropdown as m, NButton as _, NIcon as h } from "naive-ui";
2
+ import { defineComponent as L, onMounted as x, createBlock as i, createCommentVNode as k, unref as t, openBlock as a, withCtx as o, createVNode as v, createElementBlock as y, createElementVNode as l, toDisplayString as q } from "vue";
3
+ import { usePLanguageStore as C } from "./store.js";
4
+ const N = { key: 1 }, M = /* @__PURE__ */ L({
5
+ __name: "PLanguage",
6
+ setup(b) {
7
+ const {
8
+ select: c,
9
+ getLanguages: n,
10
+ getCurrentLanguage: r,
11
+ getDefaultLanguage: g,
12
+ getTranslationApiUrl: u
13
+ } = C(), w = (e) => c(e), p = () => {
14
+ window.translate.selectLanguageTag.show = !1, window.translate.selectLanguageTag.languages = n().map((e) => e.key).join(","), window.translate.ignore.class.push("ignore-translate-flag"), window.translate.ignore.id.push("ignore-translation"), window.translate.language.setLocal(g()), window.translate.request.api.translate = "api/v1/translation", window.translate.request.api.connectTest = "api/v1/translation/connect-test", window.translate.request.api.init = "api/v1/translation/init", window.translate.request.api.language = "api/v1/translation/language", window.translate.request.setHost(u()), window.translate.request.listener.start(), window.translate.listener.start(), window.translate.whole.enableAll(), window.translate.execute();
15
+ };
16
+ return x(async () => {
17
+ p();
18
+ }), (e, s) => {
19
+ const d = h, f = _;
20
+ return t(n)().length > 0 ? (a(), i(t(m), {
21
+ key: 0,
22
+ id: "ignore-translation",
23
+ placement: "bottom-start",
24
+ trigger: "hover",
25
+ class: "flex flex-col justify-center h-full ignore",
26
+ onSelect: w,
27
+ options: t(n)()
28
+ }, {
29
+ default: o(() => [
30
+ v(f, {
31
+ quaternary: "",
32
+ type: "info"
33
+ }, {
34
+ default: o(() => [
35
+ t(r)() ? (a(), y("label", N, q(t(r)()?.label), 1)) : (a(), i(d, {
36
+ key: 0,
37
+ size: "18"
38
+ }, {
39
+ default: o(() => s[0] || (s[0] = [
40
+ l("svg", {
41
+ xmlns: "http://www.w3.org/2000/svg",
42
+ "xmlns:xlink": "http://www.w3.org/1999/xlink",
43
+ viewBox: "0 0 512 512"
44
+ }, [
45
+ l("path", {
46
+ d: "M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",
47
+ fill: "currentColor"
48
+ }),
49
+ l("path", {
50
+ d: "M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",
51
+ fill: "currentColor"
52
+ })
53
+ ], -1)
54
+ ])),
55
+ _: 1,
56
+ __: [0]
57
+ }))
58
+ ]),
59
+ _: 1
60
+ })
61
+ ]),
62
+ _: 1
63
+ }, 8, ["options"])) : k("", !0);
64
+ };
65
+ }
66
+ });
67
+ export {
68
+ M as default
69
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./PLanguage.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,16 @@
1
+ export type { LanguageOption, LanguageState } from './typing';
2
+ export { usePLanguageStore } from './store';
3
+ export declare const PLanguageSwitch: {
4
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
5
+ P: {};
6
+ B: {};
7
+ D: {};
8
+ C: {};
9
+ M: {};
10
+ Defaults: {};
11
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
12
+ __isFragment?: never;
13
+ __isTeleport?: never;
14
+ __isSuspense?: never;
15
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin;
16
+ export default PLanguageSwitch;
@@ -0,0 +1,7 @@
1
+ import { withInstall as t } from "../utils/install.js";
2
+ import a from "./PLanguage.vue.js";
3
+ const m = t(a);
4
+ export {
5
+ m as PLanguageSwitch,
6
+ m as default
7
+ };
@@ -0,0 +1,137 @@
1
+ import { LanguageOption, LanguageState } from './typing';
2
+ export declare const usePLanguageStore: import('pinia').StoreDefinition<"language", Pick<{
3
+ state: import('vue').Ref<{
4
+ translationApiUrl: string;
5
+ defaultLanguage: string;
6
+ currentLanguage: string;
7
+ options: {
8
+ [x: string]: any;
9
+ id: string;
10
+ label: string;
11
+ key: string;
12
+ }[];
13
+ selectCallback: (language: LanguageOption) => void;
14
+ initLanguage: (state: LanguageState) => void;
15
+ }, LanguageState | {
16
+ translationApiUrl: string;
17
+ defaultLanguage: string;
18
+ currentLanguage: string;
19
+ options: {
20
+ [x: string]: any;
21
+ id: string;
22
+ label: string;
23
+ key: string;
24
+ }[];
25
+ selectCallback: (language: LanguageOption) => void;
26
+ initLanguage: (state: LanguageState) => void;
27
+ }>;
28
+ select: (key: string) => void;
29
+ setLanguages: (languages: LanguageOption[]) => void;
30
+ getLanguages: () => {
31
+ [x: string]: any;
32
+ id: string;
33
+ label: string;
34
+ key: string;
35
+ }[];
36
+ getCurrentLanguage: () => {
37
+ [x: string]: any;
38
+ id: string;
39
+ label: string;
40
+ key: string;
41
+ } | undefined;
42
+ setSelectCallback: (callback: (language: LanguageOption) => void) => void;
43
+ setTranslationApiUrl: (url: string) => void;
44
+ getTranslationApiUrl: () => string;
45
+ setDefaultLanguage: (language: string) => void;
46
+ getDefaultLanguage: () => string;
47
+ }, "state">, Pick<{
48
+ state: import('vue').Ref<{
49
+ translationApiUrl: string;
50
+ defaultLanguage: string;
51
+ currentLanguage: string;
52
+ options: {
53
+ [x: string]: any;
54
+ id: string;
55
+ label: string;
56
+ key: string;
57
+ }[];
58
+ selectCallback: (language: LanguageOption) => void;
59
+ initLanguage: (state: LanguageState) => void;
60
+ }, LanguageState | {
61
+ translationApiUrl: string;
62
+ defaultLanguage: string;
63
+ currentLanguage: string;
64
+ options: {
65
+ [x: string]: any;
66
+ id: string;
67
+ label: string;
68
+ key: string;
69
+ }[];
70
+ selectCallback: (language: LanguageOption) => void;
71
+ initLanguage: (state: LanguageState) => void;
72
+ }>;
73
+ select: (key: string) => void;
74
+ setLanguages: (languages: LanguageOption[]) => void;
75
+ getLanguages: () => {
76
+ [x: string]: any;
77
+ id: string;
78
+ label: string;
79
+ key: string;
80
+ }[];
81
+ getCurrentLanguage: () => {
82
+ [x: string]: any;
83
+ id: string;
84
+ label: string;
85
+ key: string;
86
+ } | undefined;
87
+ setSelectCallback: (callback: (language: LanguageOption) => void) => void;
88
+ setTranslationApiUrl: (url: string) => void;
89
+ getTranslationApiUrl: () => string;
90
+ setDefaultLanguage: (language: string) => void;
91
+ getDefaultLanguage: () => string;
92
+ }, never>, Pick<{
93
+ state: import('vue').Ref<{
94
+ translationApiUrl: string;
95
+ defaultLanguage: string;
96
+ currentLanguage: string;
97
+ options: {
98
+ [x: string]: any;
99
+ id: string;
100
+ label: string;
101
+ key: string;
102
+ }[];
103
+ selectCallback: (language: LanguageOption) => void;
104
+ initLanguage: (state: LanguageState) => void;
105
+ }, LanguageState | {
106
+ translationApiUrl: string;
107
+ defaultLanguage: string;
108
+ currentLanguage: string;
109
+ options: {
110
+ [x: string]: any;
111
+ id: string;
112
+ label: string;
113
+ key: string;
114
+ }[];
115
+ selectCallback: (language: LanguageOption) => void;
116
+ initLanguage: (state: LanguageState) => void;
117
+ }>;
118
+ select: (key: string) => void;
119
+ setLanguages: (languages: LanguageOption[]) => void;
120
+ getLanguages: () => {
121
+ [x: string]: any;
122
+ id: string;
123
+ label: string;
124
+ key: string;
125
+ }[];
126
+ getCurrentLanguage: () => {
127
+ [x: string]: any;
128
+ id: string;
129
+ label: string;
130
+ key: string;
131
+ } | undefined;
132
+ setSelectCallback: (callback: (language: LanguageOption) => void) => void;
133
+ setTranslationApiUrl: (url: string) => void;
134
+ getTranslationApiUrl: () => string;
135
+ setDefaultLanguage: (language: string) => void;
136
+ getDefaultLanguage: () => string;
137
+ }, "select" | "setLanguages" | "getLanguages" | "getCurrentLanguage" | "setSelectCallback" | "setTranslationApiUrl" | "getTranslationApiUrl" | "setDefaultLanguage" | "getDefaultLanguage">>;
@@ -0,0 +1,53 @@
1
+ import { defineStore as v } from "pinia";
2
+ import { ref as p, onMounted as L } from "vue";
3
+ const d = {
4
+ translationApiUrl: "https://translate.zvo.cn/api",
5
+ defaultLanguage: "chinese",
6
+ currentLanguage: "",
7
+ options: [],
8
+ selectCallback: (e) => {
9
+ },
10
+ initLanguage: (e) => {
11
+ }
12
+ }, C = v("language", () => {
13
+ const e = p(d), n = (a) => {
14
+ a.forEach((t) => {
15
+ (t.key === "Chinese" || t.key === "chinese") && (t.key = "chinese_simplified");
16
+ }), e.value.options = [...a];
17
+ }, u = () => e.value.options, i = (a) => {
18
+ if (e.value.currentLanguage === a)
19
+ return;
20
+ const t = e.value.options.find(
21
+ (f) => f.key === a
22
+ );
23
+ t && (e.value.currentLanguage = t.key, e.value.selectCallback(t));
24
+ }, l = () => {
25
+ if (e.value.currentLanguage)
26
+ return e.value.options.find(
27
+ (a) => a.key === e.value.currentLanguage
28
+ );
29
+ }, r = (a) => {
30
+ e.value.selectCallback = a;
31
+ }, s = () => e.value.translationApiUrl, o = (a) => {
32
+ e.value.translationApiUrl = a;
33
+ }, c = (a) => {
34
+ (a === "Chinese" || a === "chinese") && (a = "chinese_simplified"), e.value.defaultLanguage = a;
35
+ }, g = () => e.value.defaultLanguage ? e.value.defaultLanguage : "chinese_simplified";
36
+ return L(() => {
37
+ e.value.initLanguage(e.value);
38
+ }), {
39
+ state: e,
40
+ select: i,
41
+ setLanguages: n,
42
+ getLanguages: u,
43
+ getCurrentLanguage: l,
44
+ setSelectCallback: r,
45
+ setTranslationApiUrl: o,
46
+ getTranslationApiUrl: s,
47
+ setDefaultLanguage: c,
48
+ getDefaultLanguage: g
49
+ };
50
+ });
51
+ export {
52
+ C as usePLanguageStore
53
+ };
@@ -0,0 +1,14 @@
1
+ export type LanguageOption = {
2
+ id: string;
3
+ label: string;
4
+ key: string;
5
+ [key: string]: any;
6
+ };
7
+ export type LanguageState = {
8
+ translationApiUrl: string;
9
+ defaultLanguage: string;
10
+ currentLanguage: string;
11
+ options: LanguageOption[];
12
+ selectCallback: (language: LanguageOption) => void;
13
+ initLanguage: (state: LanguageState) => void;
14
+ };
@@ -0,0 +1 @@
1
+ .layout[data-v-87dcb433]{display:flex;flex-direction:row;flex:auto}.layout-default-background[data-v-87dcb433]{background:#f5f7f9}.layout .layout-sider[data-v-87dcb433]{min-height:100vh;box-shadow:2px 0 8px #1d23290d;position:relative;z-index:13;transition:all .2s ease-in-out}.layout .layout-sider-fix[data-v-87dcb433]{position:fixed;top:0;left:0}.layout .ant-layout[data-v-87dcb433]{overflow:hidden}.layout .layout-right-fix[data-v-87dcb433]{overflow-x:hidden;padding-left:200px;min-height:100vh;transition:all .2s ease-in-out}.layout .layout-content[data-v-87dcb433]{flex:auto;min-height:100vh}.layout .n-layout-header.n-layout-header--absolute-positioned[data-v-87dcb433]{z-index:11}.layout-content-main[data-v-87dcb433]{margin:0 10px 10px;position:relative;padding-top:64px}.layout-content-main-fix[data-v-87dcb433]{padding-top:64px}.main-view-fix[data-v-87dcb433]{padding-top:44px}
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import o from "./PLayout.vue2.js";
2
+ /* empty css */
3
+ import t from "../_virtual/_plugin-vue_export-helper.js";
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-87dcb433"]]);
5
+ export {
6
+ p as default
7
+ };