skyline-vue-admin 0.0.21 → 0.0.23

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 (122) hide show
  1. package/dist/components/auto-complete-array-input/index.cjs.map +1 -1
  2. package/dist/components/auto-complete-array-input/index.mjs.map +1 -1
  3. package/dist/components/create/index.cjs.map +1 -1
  4. package/dist/components/create/index.mjs.map +1 -1
  5. package/dist/components/data-list-input/index.cjs +2 -0
  6. package/dist/components/data-list-input/index.cjs.map +1 -0
  7. package/dist/components/data-list-input/index.d.ts +10 -0
  8. package/dist/components/data-list-input/index.mjs +135 -0
  9. package/dist/components/data-list-input/index.mjs.map +1 -0
  10. package/dist/components/data-list-item-input/index.cjs +2 -0
  11. package/dist/components/data-list-item-input/index.cjs.map +1 -0
  12. package/dist/components/data-list-item-input/index.d.ts +6 -0
  13. package/dist/components/data-list-item-input/index.mjs +22 -0
  14. package/dist/components/data-list-item-input/index.mjs.map +1 -0
  15. package/dist/components/edit-button/index.cjs.map +1 -1
  16. package/dist/components/edit-button/index.mjs.map +1 -1
  17. package/dist/components/image-field/index.cjs.map +1 -1
  18. package/dist/components/image-field/index.mjs.map +1 -1
  19. package/dist/components/index.d.ts +2 -0
  20. package/dist/components/link-field/index.cjs.map +1 -1
  21. package/dist/components/link-field/index.mjs.map +1 -1
  22. package/dist/components/radio-button-group-input/index.cjs.map +1 -1
  23. package/dist/components/radio-button-group-input/index.mjs.map +1 -1
  24. package/dist/components/reference-array-field/index.cjs.map +1 -1
  25. package/dist/components/reference-array-field/index.mjs.map +1 -1
  26. package/dist/components/reference-array-input/index.cjs.map +1 -1
  27. package/dist/components/reference-array-input/index.mjs.map +1 -1
  28. package/dist/components/reference-field/index.cjs.map +1 -1
  29. package/dist/components/reference-field/index.mjs.map +1 -1
  30. package/dist/components/reference-image-field/index.cjs.map +1 -1
  31. package/dist/components/reference-image-field/index.mjs.map +1 -1
  32. package/dist/components/show/index.cjs.map +1 -1
  33. package/dist/components/show/index.mjs.map +1 -1
  34. package/dist/components/show-button/index.cjs.map +1 -1
  35. package/dist/components/show-button/index.mjs.map +1 -1
  36. package/dist/components/show-simple-layout/index.cjs.map +1 -1
  37. package/dist/components/show-simple-layout/index.mjs.map +1 -1
  38. package/dist/components/simple-form/index.cjs.map +1 -1
  39. package/dist/components/simple-form/index.mjs.map +1 -1
  40. package/dist/components/single-field-list/index.cjs.map +1 -1
  41. package/dist/components/single-field-list/index.mjs.map +1 -1
  42. package/dist/components/text-input/index.cjs.map +1 -1
  43. package/dist/components/text-input/index.mjs.map +1 -1
  44. package/dist/hooks/useFormGrid.cjs.map +1 -1
  45. package/dist/hooks/useFormGrid.mjs.map +1 -1
  46. package/dist/hooks/useMenu.cjs.map +1 -1
  47. package/dist/hooks/useMenu.mjs.map +1 -1
  48. package/dist/hooks/usePermission.cjs.map +1 -1
  49. package/dist/hooks/usePermission.mjs.map +1 -1
  50. package/dist/hooks/useReferenceArrayField.cjs.map +1 -1
  51. package/dist/hooks/useReferenceArrayField.mjs.map +1 -1
  52. package/dist/hooks/useReferenceArrayInput.cjs.map +1 -1
  53. package/dist/hooks/useReferenceArrayInput.mjs.map +1 -1
  54. package/dist/hooks/useRouteKeepAlive.cjs.map +1 -1
  55. package/dist/hooks/useRouteKeepAlive.mjs.map +1 -1
  56. package/dist/hooks/useShow.cjs.map +1 -1
  57. package/dist/hooks/useShow.mjs.map +1 -1
  58. package/dist/hooks/useSize.cjs.map +1 -1
  59. package/dist/hooks/useSize.mjs.map +1 -1
  60. package/dist/hooks/useTab.cjs.map +1 -1
  61. package/dist/hooks/useTab.mjs.map +1 -1
  62. package/dist/hooks/useTreeWithDetails.cjs.map +1 -1
  63. package/dist/hooks/useTreeWithDetails.mjs.map +1 -1
  64. package/dist/hooks/useUpload.cjs.map +1 -1
  65. package/dist/hooks/useUpload.mjs.map +1 -1
  66. package/dist/hooks/useUser.cjs.map +1 -1
  67. package/dist/hooks/useUser.mjs.map +1 -1
  68. package/dist/i18n/locales/en.cjs +1 -1
  69. package/dist/i18n/locales/en.cjs.map +1 -1
  70. package/dist/i18n/locales/en.d.ts +3 -0
  71. package/dist/i18n/locales/en.mjs +3 -0
  72. package/dist/i18n/locales/en.mjs.map +1 -1
  73. package/dist/i18n/locales/zh-cn.cjs +1 -1
  74. package/dist/i18n/locales/zh-cn.cjs.map +1 -1
  75. package/dist/i18n/locales/zh-cn.d.ts +3 -0
  76. package/dist/i18n/locales/zh-cn.mjs +3 -0
  77. package/dist/i18n/locales/zh-cn.mjs.map +1 -1
  78. package/dist/icons/EpDelete.cjs.map +1 -1
  79. package/dist/icons/EpDelete.mjs.map +1 -1
  80. package/dist/icons/EpDocumentAdd.cjs.map +1 -1
  81. package/dist/icons/EpDocumentAdd.mjs.map +1 -1
  82. package/dist/icons/EpDownload.cjs.map +1 -1
  83. package/dist/icons/EpDownload.mjs.map +1 -1
  84. package/dist/icons/EpFullScreen.cjs.map +1 -1
  85. package/dist/icons/EpFullScreen.mjs.map +1 -1
  86. package/dist/icons/EpMoon.cjs.map +1 -1
  87. package/dist/icons/EpMoon.mjs.map +1 -1
  88. package/dist/icons/EpPlus.cjs.map +1 -1
  89. package/dist/icons/EpPlus.mjs.map +1 -1
  90. package/dist/icons/EpRefresh.cjs.map +1 -1
  91. package/dist/icons/EpRefresh.mjs.map +1 -1
  92. package/dist/icons/EpSunny.cjs.map +1 -1
  93. package/dist/icons/EpSunny.mjs.map +1 -1
  94. package/dist/icons/EpSwitchFilled.cjs.map +1 -1
  95. package/dist/icons/EpSwitchFilled.mjs.map +1 -1
  96. package/dist/icons/EpUploadFilled.cjs.map +1 -1
  97. package/dist/icons/EpUploadFilled.mjs.map +1 -1
  98. package/dist/icons/FluentFullScreenMinimize20Regular.cjs.map +1 -1
  99. package/dist/icons/FluentFullScreenMinimize20Regular.mjs.map +1 -1
  100. package/dist/icons/NimbusTextSize.cjs.map +1 -1
  101. package/dist/icons/NimbusTextSize.mjs.map +1 -1
  102. package/dist/icons/SkyMenuCollapse.cjs.map +1 -1
  103. package/dist/icons/SkyMenuCollapse.mjs.map +1 -1
  104. package/dist/icons/SlTrans.cjs.map +1 -1
  105. package/dist/icons/SlTrans.mjs.map +1 -1
  106. package/dist/index.cjs +1 -1
  107. package/dist/index.mjs +38 -34
  108. package/dist/index.mjs.map +1 -1
  109. package/dist/pages/login.cjs.map +1 -1
  110. package/dist/pages/login.mjs.map +1 -1
  111. package/dist/pages/not-found.cjs.map +1 -1
  112. package/dist/pages/not-found.mjs.map +1 -1
  113. package/dist/pages/welcome.cjs.map +1 -1
  114. package/dist/pages/welcome.mjs.map +1 -1
  115. package/dist/router/index.cjs.map +1 -1
  116. package/dist/router/index.mjs.map +1 -1
  117. package/dist/setup/index.cjs.map +1 -1
  118. package/dist/setup/index.mjs.map +1 -1
  119. package/dist/styles/components/data-list-input.css +1 -0
  120. package/dist/styles/components/data-list-item-input.css +1 -0
  121. package/dist/styles/index.css +1 -1
  122. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SlTrans.cjs","sources":["../../src/icons/SlTrans.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport const SlTrans = defineComponent({\n name: 'SlTrans',\n setup() {\n return () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1.2em\" height=\"1.2em\">\n <path\n fill=\"currentColor\"\n d=\"m18.5 10l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16.5 10h2zM10 2v2h6v2h-1.968a18.222 18.222 0 0 1-3.62 6.301a14.864 14.864 0 0 0 2.336 1.707l-.751 1.878A17.015 17.015 0 0 1 9 13.725a16.676 16.676 0 0 1-6.201 3.548l-.536-1.929a14.7 14.7 0 0 0 5.327-3.042A18.078 18.078 0 0 1 4.767 8h2.24A16.032 16.032 0 0 0 9 10.877a16.165 16.165 0 0 0 2.91-4.876L2 6V4h6V2h2zm7.5 10.885L16.253 16h2.492L17.5 12.885z\"\n ></path>\n </svg>\n )\n },\n})\n"],"names":["SlTrans","defineComponent","name","setup","_createVNode"],"mappings":"uGAEaA,EAAUC,EAAAA,gBAAgB,CACrCC,KAAM,UACNC,OAAQ,CACN,MAAO,IAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,6BAAA,QAAA,YAAA,MAAA,QAAA,OAAA,OAAA,EAAA,CAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,wZAAA,IAAA,CAAA,CAAA,CAQT,CACF,CAAC"}
1
+ {"version":3,"file":"SlTrans.cjs","sources":["../../src/icons/SlTrans.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport const SlTrans = defineComponent({\r\n name: 'SlTrans',\r\n setup() {\r\n return () => (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1.2em\" height=\"1.2em\">\r\n <path\r\n fill=\"currentColor\"\r\n d=\"m18.5 10l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16.5 10h2zM10 2v2h6v2h-1.968a18.222 18.222 0 0 1-3.62 6.301a14.864 14.864 0 0 0 2.336 1.707l-.751 1.878A17.015 17.015 0 0 1 9 13.725a16.676 16.676 0 0 1-6.201 3.548l-.536-1.929a14.7 14.7 0 0 0 5.327-3.042A18.078 18.078 0 0 1 4.767 8h2.24A16.032 16.032 0 0 0 9 10.877a16.165 16.165 0 0 0 2.91-4.876L2 6V4h6V2h2zm7.5 10.885L16.253 16h2.492L17.5 12.885z\"\r\n ></path>\r\n </svg>\r\n )\r\n },\r\n})\r\n"],"names":["SlTrans","defineComponent","name","setup","_createVNode"],"mappings":"uGAEaA,EAAUC,EAAAA,gBAAgB,CACrCC,KAAM,UACNC,OAAQ,CACN,MAAO,IAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,6BAAA,QAAA,YAAA,MAAA,QAAA,OAAA,OAAA,EAAA,CAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,wZAAA,IAAA,CAAA,CAAA,CAQT,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlTrans.mjs","sources":["../../src/icons/SlTrans.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport const SlTrans = defineComponent({\n name: 'SlTrans',\n setup() {\n return () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1.2em\" height=\"1.2em\">\n <path\n fill=\"currentColor\"\n d=\"m18.5 10l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16.5 10h2zM10 2v2h6v2h-1.968a18.222 18.222 0 0 1-3.62 6.301a14.864 14.864 0 0 0 2.336 1.707l-.751 1.878A17.015 17.015 0 0 1 9 13.725a16.676 16.676 0 0 1-6.201 3.548l-.536-1.929a14.7 14.7 0 0 0 5.327-3.042A18.078 18.078 0 0 1 4.767 8h2.24A16.032 16.032 0 0 0 9 10.877a16.165 16.165 0 0 0 2.91-4.876L2 6V4h6V2h2zm7.5 10.885L16.253 16h2.492L17.5 12.885z\"\n ></path>\n </svg>\n )\n },\n})\n"],"names":["SlTrans","defineComponent","name","setup","_createVNode"],"mappings":";AAEO,MAAMA,IAAUC,gBAAAA,EAAgB;AAAA,EACrCC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,SAAA;AAAA,MAAA,OAAA;AAAA,MAAA,QAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,OAAA,IAAA,CAAA,CAAA;AAAA,EAQT;AACF,CAAC;"}
1
+ {"version":3,"file":"SlTrans.mjs","sources":["../../src/icons/SlTrans.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport const SlTrans = defineComponent({\r\n name: 'SlTrans',\r\n setup() {\r\n return () => (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1.2em\" height=\"1.2em\">\r\n <path\r\n fill=\"currentColor\"\r\n d=\"m18.5 10l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16.5 10h2zM10 2v2h6v2h-1.968a18.222 18.222 0 0 1-3.62 6.301a14.864 14.864 0 0 0 2.336 1.707l-.751 1.878A17.015 17.015 0 0 1 9 13.725a16.676 16.676 0 0 1-6.201 3.548l-.536-1.929a14.7 14.7 0 0 0 5.327-3.042A18.078 18.078 0 0 1 4.767 8h2.24A16.032 16.032 0 0 0 9 10.877a16.165 16.165 0 0 0 2.91-4.876L2 6V4h6V2h2zm7.5 10.885L16.253 16h2.492L17.5 12.885z\"\r\n ></path>\r\n </svg>\r\n )\r\n },\r\n})\r\n"],"names":["SlTrans","defineComponent","name","setup","_createVNode"],"mappings":";AAEO,MAAMA,IAAUC,gBAAAA,EAAgB;AAAA,EACrCC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,SAAA;AAAA,MAAA,OAAA;AAAA,MAAA,QAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,OAAA,IAAA,CAAA,CAAA;AAAA,EAQT;AACF,CAAC;"}
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./setup/index.cjs"),c=require("./hooks/useUser.cjs"),l=require("./hooks/usePermission.cjs"),k=require("./hooks/useMenu.cjs"),q=require("./hooks/useTab.cjs"),m=require("./hooks/useRouteKeepAlive.cjs"),i=require("./hooks/useSize.cjs"),p=require("./hooks/useLang.cjs"),t=require("./hooks/useTheme.cjs"),u=require("./hooks/useList.cjs"),n=require("./hooks/useHiddenTitle.cjs"),s=require("./hooks/useForm.cjs"),o=require("./hooks/useShow.cjs"),d=require("./hooks/useReferenceArrayField.cjs"),a=require("./hooks/useTreeWithDetails.cjs"),S=require("./hooks/useFormGrid.cjs"),y=require("./hooks/useReferenceArrayInput.cjs"),R=require("./hooks/useUpload.cjs"),r=require("./router/index.cjs"),F=require("./components/can-access/index.cjs"),x=require("./components/list/index.cjs"),g=require("./components/filter/index.cjs"),h=require("./components/data-table/index.cjs"),T=require("./components/data-table-col/index.cjs"),A=require("./components/edit-button/index.cjs"),$=require("./components/show-button/index.cjs"),f=require("./components/show/index.cjs"),I=require("./components/show-simple-layout/index.cjs"),v=require("./components/text-field/index.cjs"),L=require("./components/image-field/index.cjs"),P=require("./components/reference-image-field/index.cjs"),C=require("./components/reference-array-field/index.cjs"),w=require("./components/single-field-list/index.cjs"),D=require("./components/link-field/index.cjs"),b=require("./components/reference-field/index.cjs"),M=require("./components/create/index.cjs"),N=require("./components/simple-form/index.cjs"),z=require("./components/text-input/index.cjs"),G=require("./components/radio-button-group-input/index.cjs"),W=require("./components/reference-array-input/index.cjs"),B=require("./components/auto-complete-array-input/index.cjs"),E=require("./components/avatar-input/index.cjs"),U=require("./components/file-multiple-input/index.cjs"),H=require("./components/file-multiple-model-input/index.cjs"),K=require("./components/tree-select-input/index.cjs"),j=require("./components/tree-with-details/index.cjs"),O=require("./components/edit/index.cjs"),J=require("./i18n/locales/en.cjs"),Q=require("./i18n/locales/zh-cn.cjs");exports.getCreateRouteName=e.getCreateRouteName;exports.getEditRouteName=e.getEditRouteName;exports.getListRouteName=e.getListRouteName;exports.getRandomRouteName=e.getRandomRouteName;exports.getShowRouteName=e.getShowRouteName;exports.skyAdmin=e.skyAdmin;exports.skyConfig=e.skyConfig;exports.useUser=c.useUser;exports.usePermission=l.usePermission;exports.useMenu=k.useMenu;exports.useTab=q.useTab;exports.useRouteKeepAlive=m.useRouteKeepAlive;exports.SizeConfig=i.SizeConfig;exports.useSize=i.useSize;exports.useLang=p.useLang;exports.ThemeConfig=t.ThemeConfig;exports.useTheme=t.useTheme;exports.useList=u.useList;exports.useProvideList=u.useProvideList;exports.useHiddenTitle=n.useHiddenTitle;exports.useProvideHiddenTitle=n.useProvideHiddenTitle;exports.useForm=s.useForm;exports.useProvideForm=s.useProvideForm;exports.useProvideShow=o.useProvideShow;exports.useShow=o.useShow;exports.useProvideReferenceArrayField=d.useProvideReferenceArrayField;exports.useReferenceArrayField=d.useReferenceArrayField;exports.useProvideTreeWithDetails=a.useProvideTreeWithDetails;exports.useTreeWithDetails=a.useTreeWithDetails;exports.useFormGrid=S.useFormGrid;exports.useProvideFormGrid=S.useProvideFormGrid;exports.useProvideReferenceArrayInput=y.useProvideReferenceArrayInput;exports.useReferenceArrayInput=y.useReferenceArrayInput;exports.useUpload=R.useUpload;exports.addLayoutRoutes=r.addLayoutRoutes;exports.checkAuth=r.checkAuth;exports.getRoutes=r.getRoutes;exports.guard=r.guard;exports.SkyCanAccess=F.SkyCanAccess;exports.SkyList=x.SkyList;exports.SkyFilter=g.SkyFilter;exports.SkyDataTable=h.SkyDataTable;exports.SkyDataTableCol=T.SkyDataTableCol;exports.SkyEditButton=A.SkyEditButton;exports.SkyShowButton=$.SkyShowButton;exports.SkyShow=f.SkyShow;exports.SkyShowSimpleLayout=I.SkyShowSimpleLayout;exports.SkyTextField=v.SkyTextField;exports.SkyImageField=L.SkyImageField;exports.SkyReferenceImageField=P.SkyReferenceImageField;exports.SkyReferenceArrayField=C.SkyReferenceArrayField;exports.SkySingleFieldList=w.SkySingleFieldList;exports.SkyLinkField=D.SkyLinkField;exports.SkyReferenceField=b.SkyReferenceField;exports.SkyCreate=M.SkyCreate;exports.SkySimpleForm=N.SkySimpleForm;exports.SkyTextInput=z.SkyTextInput;exports.SkyRadioButtonGroupInput=G.SkyRadioButtonGroupInput;exports.SkyReferenceArrayInput=W.SkyReferenceArrayInput;exports.SkyAutoCompleteArrayInput=B.SkyAutoCompleteArrayInput;exports.SkyAvatarInput=E.SkyAvatarInput;exports.SkyFileMultipleInput=U.SkyFileMultipleInput;exports.SkyFileMultipleModelInput=H.SkyFileMultipleModelInput;exports.SkyTreeSelectInput=K.SkyTreeSelectInput;exports.SkyTreeWithDetails=j.SkyTreeWithDetails;exports.SkyEdit=O.SkyEdit;exports.en=J.default;exports.zhCn=Q.default;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./setup/index.cjs"),c=require("./hooks/useUser.cjs"),l=require("./hooks/usePermission.cjs"),k=require("./hooks/useMenu.cjs"),q=require("./hooks/useTab.cjs"),m=require("./hooks/useRouteKeepAlive.cjs"),i=require("./hooks/useSize.cjs"),p=require("./hooks/useLang.cjs"),t=require("./hooks/useTheme.cjs"),u=require("./hooks/useList.cjs"),n=require("./hooks/useHiddenTitle.cjs"),s=require("./hooks/useForm.cjs"),o=require("./hooks/useShow.cjs"),d=require("./hooks/useReferenceArrayField.cjs"),a=require("./hooks/useTreeWithDetails.cjs"),S=require("./hooks/useFormGrid.cjs"),y=require("./hooks/useReferenceArrayInput.cjs"),R=require("./hooks/useUpload.cjs"),r=require("./router/index.cjs"),F=require("./components/can-access/index.cjs"),x=require("./components/list/index.cjs"),g=require("./components/filter/index.cjs"),h=require("./components/data-table/index.cjs"),I=require("./components/data-table-col/index.cjs"),T=require("./components/edit-button/index.cjs"),$=require("./components/show-button/index.cjs"),A=require("./components/show/index.cjs"),f=require("./components/show-simple-layout/index.cjs"),L=require("./components/text-field/index.cjs"),v=require("./components/image-field/index.cjs"),P=require("./components/reference-image-field/index.cjs"),C=require("./components/reference-array-field/index.cjs"),D=require("./components/single-field-list/index.cjs"),w=require("./components/link-field/index.cjs"),b=require("./components/reference-field/index.cjs"),M=require("./components/create/index.cjs"),N=require("./components/simple-form/index.cjs"),z=require("./components/text-input/index.cjs"),G=require("./components/radio-button-group-input/index.cjs"),W=require("./components/reference-array-input/index.cjs"),B=require("./components/auto-complete-array-input/index.cjs"),E=require("./components/avatar-input/index.cjs"),U=require("./components/file-multiple-input/index.cjs"),H=require("./components/file-multiple-model-input/index.cjs"),K=require("./components/tree-select-input/index.cjs"),j=require("./components/tree-with-details/index.cjs"),O=require("./components/edit/index.cjs"),J=require("./components/data-list-input/index.cjs"),Q=require("./components/data-list-item-input/index.cjs"),V=require("./i18n/locales/en.cjs"),X=require("./i18n/locales/zh-cn.cjs");exports.getCreateRouteName=e.getCreateRouteName;exports.getEditRouteName=e.getEditRouteName;exports.getListRouteName=e.getListRouteName;exports.getRandomRouteName=e.getRandomRouteName;exports.getShowRouteName=e.getShowRouteName;exports.skyAdmin=e.skyAdmin;exports.skyConfig=e.skyConfig;exports.useUser=c.useUser;exports.usePermission=l.usePermission;exports.useMenu=k.useMenu;exports.useTab=q.useTab;exports.useRouteKeepAlive=m.useRouteKeepAlive;exports.SizeConfig=i.SizeConfig;exports.useSize=i.useSize;exports.useLang=p.useLang;exports.ThemeConfig=t.ThemeConfig;exports.useTheme=t.useTheme;exports.useList=u.useList;exports.useProvideList=u.useProvideList;exports.useHiddenTitle=n.useHiddenTitle;exports.useProvideHiddenTitle=n.useProvideHiddenTitle;exports.useForm=s.useForm;exports.useProvideForm=s.useProvideForm;exports.useProvideShow=o.useProvideShow;exports.useShow=o.useShow;exports.useProvideReferenceArrayField=d.useProvideReferenceArrayField;exports.useReferenceArrayField=d.useReferenceArrayField;exports.useProvideTreeWithDetails=a.useProvideTreeWithDetails;exports.useTreeWithDetails=a.useTreeWithDetails;exports.useFormGrid=S.useFormGrid;exports.useProvideFormGrid=S.useProvideFormGrid;exports.useProvideReferenceArrayInput=y.useProvideReferenceArrayInput;exports.useReferenceArrayInput=y.useReferenceArrayInput;exports.useUpload=R.useUpload;exports.addLayoutRoutes=r.addLayoutRoutes;exports.checkAuth=r.checkAuth;exports.getRoutes=r.getRoutes;exports.guard=r.guard;exports.SkyCanAccess=F.SkyCanAccess;exports.SkyList=x.SkyList;exports.SkyFilter=g.SkyFilter;exports.SkyDataTable=h.SkyDataTable;exports.SkyDataTableCol=I.SkyDataTableCol;exports.SkyEditButton=T.SkyEditButton;exports.SkyShowButton=$.SkyShowButton;exports.SkyShow=A.SkyShow;exports.SkyShowSimpleLayout=f.SkyShowSimpleLayout;exports.SkyTextField=L.SkyTextField;exports.SkyImageField=v.SkyImageField;exports.SkyReferenceImageField=P.SkyReferenceImageField;exports.SkyReferenceArrayField=C.SkyReferenceArrayField;exports.SkySingleFieldList=D.SkySingleFieldList;exports.SkyLinkField=w.SkyLinkField;exports.SkyReferenceField=b.SkyReferenceField;exports.SkyCreate=M.SkyCreate;exports.SkySimpleForm=N.SkySimpleForm;exports.SkyTextInput=z.SkyTextInput;exports.SkyRadioButtonGroupInput=G.SkyRadioButtonGroupInput;exports.SkyReferenceArrayInput=W.SkyReferenceArrayInput;exports.SkyAutoCompleteArrayInput=B.SkyAutoCompleteArrayInput;exports.SkyAvatarInput=E.SkyAvatarInput;exports.SkyFileMultipleInput=U.SkyFileMultipleInput;exports.SkyFileMultipleModelInput=H.SkyFileMultipleModelInput;exports.SkyTreeSelectInput=K.SkyTreeSelectInput;exports.SkyTreeWithDetails=j.SkyTreeWithDetails;exports.SkyEdit=O.SkyEdit;exports.SkyDataListInput=J.SkyDataListInput;exports.SkyDataListItemInput=Q.SkyDataListItemInput;exports.en=V.default;exports.zhCn=X.default;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.mjs CHANGED
@@ -1,14 +1,14 @@
1
1
  import { getCreateRouteName as o, getEditRouteName as t, getListRouteName as m, getRandomRouteName as p, getShowRouteName as f, skyAdmin as u, skyConfig as i } from "./setup/index.mjs";
2
2
  import { useUser as s } from "./hooks/useUser.mjs";
3
3
  import { usePermission as S } from "./hooks/usePermission.mjs";
4
- import { useMenu as d } from "./hooks/useMenu.mjs";
5
- import { useTab as l } from "./hooks/useTab.mjs";
4
+ import { useMenu as n } from "./hooks/useMenu.mjs";
5
+ import { useTab as k } from "./hooks/useTab.mjs";
6
6
  import { useRouteKeepAlive as R } from "./hooks/useRouteKeepAlive.mjs";
7
- import { SizeConfig as g, useSize as h } from "./hooks/useSize.mjs";
8
- import { useLang as A } from "./hooks/useLang.mjs";
9
- import { ThemeConfig as I, useTheme as v } from "./hooks/useTheme.mjs";
10
- import { useList as L, useProvideList as P } from "./hooks/useList.mjs";
11
- import { useHiddenTitle as D, useProvideHiddenTitle as N } from "./hooks/useHiddenTitle.mjs";
7
+ import { SizeConfig as I, useSize as g } from "./hooks/useSize.mjs";
8
+ import { useLang as c } from "./hooks/useLang.mjs";
9
+ import { ThemeConfig as T, useTheme as L } from "./hooks/useTheme.mjs";
10
+ import { useList as C, useProvideList as P } from "./hooks/useList.mjs";
11
+ import { useHiddenTitle as w, useProvideHiddenTitle as N } from "./hooks/useHiddenTitle.mjs";
12
12
  import { useForm as b, useProvideForm as z } from "./hooks/useForm.mjs";
13
13
  import { useProvideShow as E, useShow as G } from "./hooks/useShow.mjs";
14
14
  import { useProvideReferenceArrayField as H, useReferenceArrayField as U } from "./hooks/useReferenceArrayField.mjs";
@@ -22,15 +22,15 @@ import { SkyList as ue } from "./components/list/index.mjs";
22
22
  import { SkyFilter as xe } from "./components/filter/index.mjs";
23
23
  import { SkyDataTable as ae } from "./components/data-table/index.mjs";
24
24
  import { SkyDataTableCol as ye } from "./components/data-table-col/index.mjs";
25
- import { SkyEditButton as ne } from "./components/edit-button/index.mjs";
26
- import { SkyShowButton as ke } from "./components/show-button/index.mjs";
25
+ import { SkyEditButton as de } from "./components/edit-button/index.mjs";
26
+ import { SkyShowButton as le } from "./components/show-button/index.mjs";
27
27
  import { SkyShow as Fe } from "./components/show/index.mjs";
28
- import { SkyShowSimpleLayout as he } from "./components/show-simple-layout/index.mjs";
29
- import { SkyTextField as Ae } from "./components/text-field/index.mjs";
30
- import { SkyImageField as Ie } from "./components/image-field/index.mjs";
31
- import { SkyReferenceImageField as Ce } from "./components/reference-image-field/index.mjs";
28
+ import { SkyShowSimpleLayout as ge } from "./components/show-simple-layout/index.mjs";
29
+ import { SkyTextField as ce } from "./components/text-field/index.mjs";
30
+ import { SkyImageField as Te } from "./components/image-field/index.mjs";
31
+ import { SkyReferenceImageField as ve } from "./components/reference-image-field/index.mjs";
32
32
  import { SkyReferenceArrayField as Pe } from "./components/reference-array-field/index.mjs";
33
- import { SkySingleFieldList as De } from "./components/single-field-list/index.mjs";
33
+ import { SkySingleFieldList as we } from "./components/single-field-list/index.mjs";
34
34
  import { SkyLinkField as Me } from "./components/link-field/index.mjs";
35
35
  import { SkyReferenceField as ze } from "./components/reference-field/index.mjs";
36
36
  import { SkyCreate as Ee } from "./components/create/index.mjs";
@@ -45,42 +45,46 @@ import { SkyFileMultipleModelInput as $e } from "./components/file-multiple-mode
45
45
  import { SkyTreeSelectInput as rr } from "./components/tree-select-input/index.mjs";
46
46
  import { SkyTreeWithDetails as tr } from "./components/tree-with-details/index.mjs";
47
47
  import { SkyEdit as pr } from "./components/edit/index.mjs";
48
- import { default as ur } from "./i18n/locales/en.mjs";
49
- import { default as xr } from "./i18n/locales/zh-cn.mjs";
48
+ import { SkyDataListInput as ur } from "./components/data-list-input/index.mjs";
49
+ import { SkyDataListItemInput as xr } from "./components/data-list-item-input/index.mjs";
50
+ import { default as ar } from "./i18n/locales/en.mjs";
51
+ import { default as yr } from "./i18n/locales/zh-cn.mjs";
50
52
  export {
51
- g as SizeConfig,
53
+ I as SizeConfig,
52
54
  Qe as SkyAutoCompleteArrayInput,
53
55
  Xe as SkyAvatarInput,
54
56
  pe as SkyCanAccess,
55
57
  Ee as SkyCreate,
58
+ ur as SkyDataListInput,
59
+ xr as SkyDataListItemInput,
56
60
  ae as SkyDataTable,
57
61
  ye as SkyDataTableCol,
58
62
  pr as SkyEdit,
59
- ne as SkyEditButton,
63
+ de as SkyEditButton,
60
64
  Ze as SkyFileMultipleInput,
61
65
  $e as SkyFileMultipleModelInput,
62
66
  xe as SkyFilter,
63
- Ie as SkyImageField,
67
+ Te as SkyImageField,
64
68
  Me as SkyLinkField,
65
69
  ue as SkyList,
66
70
  je as SkyRadioButtonGroupInput,
67
71
  Pe as SkyReferenceArrayField,
68
72
  Je as SkyReferenceArrayInput,
69
73
  ze as SkyReferenceField,
70
- Ce as SkyReferenceImageField,
74
+ ve as SkyReferenceImageField,
71
75
  Fe as SkyShow,
72
- ke as SkyShowButton,
73
- he as SkyShowSimpleLayout,
76
+ le as SkyShowButton,
77
+ ge as SkyShowSimpleLayout,
74
78
  We as SkySimpleForm,
75
- De as SkySingleFieldList,
76
- Ae as SkyTextField,
79
+ we as SkySingleFieldList,
80
+ ce as SkyTextField,
77
81
  Ue as SkyTextInput,
78
82
  rr as SkyTreeSelectInput,
79
83
  tr as SkyTreeWithDetails,
80
- I as ThemeConfig,
84
+ T as ThemeConfig,
81
85
  ee as addLayoutRoutes,
82
86
  re as checkAuth,
83
- ur as en,
87
+ ar as en,
84
88
  o as getCreateRouteName,
85
89
  t as getEditRouteName,
86
90
  m as getListRouteName,
@@ -92,10 +96,10 @@ export {
92
96
  i as skyConfig,
93
97
  b as useForm,
94
98
  O as useFormGrid,
95
- D as useHiddenTitle,
96
- A as useLang,
97
- L as useList,
98
- d as useMenu,
99
+ w as useHiddenTitle,
100
+ c as useLang,
101
+ C as useList,
102
+ n as useMenu,
99
103
  S as usePermission,
100
104
  z as useProvideForm,
101
105
  Q as useProvideFormGrid,
@@ -109,12 +113,12 @@ export {
109
113
  Y as useReferenceArrayInput,
110
114
  R as useRouteKeepAlive,
111
115
  G as useShow,
112
- h as useSize,
113
- l as useTab,
114
- v as useTheme,
116
+ g as useSize,
117
+ k as useTab,
118
+ L as useTheme,
115
119
  q as useTreeWithDetails,
116
120
  _ as useUpload,
117
121
  s as useUser,
118
- xr as zhCn
122
+ yr as zhCn
119
123
  };
120
124
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.cjs","sources":["../../src/pages/login.tsx"],"sourcesContent":["import { useUser } from '@/hooks'\nimport type { LoginParams, LoginResult } from '@/provides'\nimport { skyConfig } from '@/setup'\nimport { useAsyncState } from '@vueuse/core'\nimport { ElButton, ElInput } from 'element-plus'\nimport { defineComponent, reactive } from 'vue'\nimport { useRouter } from 'vue-router'\n\nexport default defineComponent({\n name: 'SkyLoginPage',\n setup() {\n const router = useRouter()\n const { login } = useUser()\n const formData = reactive<LoginParams>({\n username: '',\n password: '',\n })\n const { execute, isLoading } = useAsyncState<LoginResult | undefined>(\n async () => skyConfig.dataProvider?.login?.({ ...formData }),\n undefined,\n {\n immediate: false,\n },\n )\n\n const onSubmit = async () => {\n const res = await execute()\n if (res) {\n login(res)\n // window.location.reload()\n router.replace({ name: skyConfig.welcomeRouteName })\n }\n }\n\n return () => (\n <div class=\"sky-page-login\">\n {skyConfig.loginImg && <img class=\"sky-page-login__back\" src={skyConfig.loginImg} />}\n <div class=\"sky-page-login__main\">\n <h3 class=\"sky-page-login__title\">登录进入 Skyline</h3>\n <div>\n <ElInput\n model-value={formData.username}\n onUpdate:modelValue={(value) => (formData.username = value)}\n placeholder=\"用户名\"\n />\n </div>\n <div>\n <ElInput\n model-value={formData.password}\n onUpdate:modelValue={(value) => (formData.password = value)}\n placeholder=\"密码\"\n type=\"password\"\n show-password\n />\n </div>\n <div>\n <ElButton\n class=\"sky-page-login__button\"\n type=\"primary\"\n size=\"large\"\n loading={isLoading.value}\n onClick={onSubmit}\n >\n 登录\n </ElButton>\n </div>\n </div>\n </div>\n )\n },\n})\n"],"names":["login","defineComponent","name","setup","router","useRouter","username","password","isLoading","immediate","onSubmit","res","execute","_createVNode","skyConfig","_createTextVNode","ElInput","value","formData","ElButton"],"mappings":"w6BAQAA,EAAAC,kBAAA,CACEC,KAAAA,eACAC,OAAAA,CACE,MAAAC,EAAAC,EAAAA,UAAA,GACQL,MAAAA,6BAENM,SAAAA,GACAC,SAAAA,EACF,CAAA,aACiBC,UAAAA,8EAIbC,UAAAA,EACF,CAAA,EAGFC,EAAA,SAAA,CACE,MAAAC,EAAA,MAAAC,EAAA,EACAD,qDAGoD,CAAA,IAItD,MAAA,IAAAE,EAAAA,YAAA,MAAA,CAAO,MAAA,gBAAA,EAAA,CAAAC,EAAAA,UAAA,UAAAD,EAAAA,YAAA,MAAA,CAEgB,MAAA,uBAAA,IAAAC,EAAAA,UAAA,QAA6D,EAAA,IAAA,EAAAD,EAAAA,YAAA,MAAA,CAAI,MAAA,sBAAA,EAAA,CAAAA,EAAAA,YAAA,KAAA,CAAA,MAAA,uBAAA,EAAA,CAAAE,EAAAA,gBAAA,cAAA,CAAA,CAAA,EAAAF,cAAA,MAAA,KAAA,CAAAA,EAAAA,YAAAG,UAAA,0BAKhD,sBAAAC,GAAAC,EAAA,SAAAD,EAC6B,YAAA,KAAA,EAAA,IAAA,CAAA,CAAA,EAAAJ,EAAAA,YAAA,MAAA,KAAA,CAAAA,EAAAA,YAAAG,UAAA,0BAM7B,sBAAAC,GAAAC,EAAA,SAAAD,EAC6B,YAAA,KAAA,KAAA,WAAA,gBAAA,EAAA,EAAA,IAAA,CAAA,CAAA,EAAAJ,EAAAA,YAAA,MAAA,KAAA,CAAAA,EAAAA,YAAAM,WAAA,CAAA,MAAA,yBAAA,KAAA,UAAA,KAAA,iCAY1C,EAAA,8CAQ7B,CACF,CAAA"}
1
+ {"version":3,"file":"login.cjs","sources":["../../src/pages/login.tsx"],"sourcesContent":["import { useUser } from '@/hooks'\r\nimport type { LoginParams, LoginResult } from '@/provides'\r\nimport { skyConfig } from '@/setup'\r\nimport { useAsyncState } from '@vueuse/core'\r\nimport { ElButton, ElInput } from 'element-plus'\r\nimport { defineComponent, reactive } from 'vue'\r\nimport { useRouter } from 'vue-router'\r\n\r\nexport default defineComponent({\r\n name: 'SkyLoginPage',\r\n setup() {\r\n const router = useRouter()\r\n const { login } = useUser()\r\n const formData = reactive<LoginParams>({\r\n username: '',\r\n password: '',\r\n })\r\n const { execute, isLoading } = useAsyncState<LoginResult | undefined>(\r\n async () => skyConfig.dataProvider?.login?.({ ...formData }),\r\n undefined,\r\n {\r\n immediate: false,\r\n },\r\n )\r\n\r\n const onSubmit = async () => {\r\n const res = await execute()\r\n if (res) {\r\n login(res)\r\n // window.location.reload()\r\n router.replace({ name: skyConfig.welcomeRouteName })\r\n }\r\n }\r\n\r\n return () => (\r\n <div class=\"sky-page-login\">\r\n {skyConfig.loginImg && <img class=\"sky-page-login__back\" src={skyConfig.loginImg} />}\r\n <div class=\"sky-page-login__main\">\r\n <h3 class=\"sky-page-login__title\">登录进入 Skyline</h3>\r\n <div>\r\n <ElInput\r\n model-value={formData.username}\r\n onUpdate:modelValue={(value) => (formData.username = value)}\r\n placeholder=\"用户名\"\r\n />\r\n </div>\r\n <div>\r\n <ElInput\r\n model-value={formData.password}\r\n onUpdate:modelValue={(value) => (formData.password = value)}\r\n placeholder=\"密码\"\r\n type=\"password\"\r\n show-password\r\n />\r\n </div>\r\n <div>\r\n <ElButton\r\n class=\"sky-page-login__button\"\r\n type=\"primary\"\r\n size=\"large\"\r\n loading={isLoading.value}\r\n onClick={onSubmit}\r\n >\r\n 登录\r\n </ElButton>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["login","defineComponent","name","setup","router","useRouter","username","password","isLoading","immediate","onSubmit","res","execute","_createVNode","skyConfig","_createTextVNode","ElInput","value","formData","ElButton"],"mappings":"w6BAQAA,EAAAC,kBAAA,CACEC,KAAAA,eACAC,OAAAA,CACE,MAAAC,EAAAC,EAAAA,UAAA,GACQL,MAAAA,6BAENM,SAAAA,GACAC,SAAAA,EACF,CAAA,aACiBC,UAAAA,8EAIbC,UAAAA,EACF,CAAA,EAGFC,EAAA,SAAA,CACE,MAAAC,EAAA,MAAAC,EAAA,EACAD,qDAGoD,CAAA,IAItD,MAAA,IAAAE,EAAAA,YAAA,MAAA,CAAO,MAAA,gBAAA,EAAA,CAAAC,EAAAA,UAAA,UAAAD,EAAAA,YAAA,MAAA,CAEgB,MAAA,uBAAA,IAAAC,EAAAA,UAAA,QAA6D,EAAA,IAAA,EAAAD,EAAAA,YAAA,MAAA,CAAI,MAAA,sBAAA,EAAA,CAAAA,EAAAA,YAAA,KAAA,CAAA,MAAA,uBAAA,EAAA,CAAAE,EAAAA,gBAAA,cAAA,CAAA,CAAA,EAAAF,cAAA,MAAA,KAAA,CAAAA,EAAAA,YAAAG,UAAA,0BAKhD,sBAAAC,GAAAC,EAAA,SAAAD,EAC6B,YAAA,KAAA,EAAA,IAAA,CAAA,CAAA,EAAAJ,EAAAA,YAAA,MAAA,KAAA,CAAAA,EAAAA,YAAAG,UAAA,0BAM7B,sBAAAC,GAAAC,EAAA,SAAAD,EAC6B,YAAA,KAAA,KAAA,WAAA,gBAAA,EAAA,EAAA,IAAA,CAAA,CAAA,EAAAJ,EAAAA,YAAA,MAAA,KAAA,CAAAA,EAAAA,YAAAM,WAAA,CAAA,MAAA,yBAAA,KAAA,UAAA,KAAA,iCAY1C,EAAA,8CAQ7B,CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.mjs","sources":["../../src/pages/login.tsx"],"sourcesContent":["import { useUser } from '@/hooks'\nimport type { LoginParams, LoginResult } from '@/provides'\nimport { skyConfig } from '@/setup'\nimport { useAsyncState } from '@vueuse/core'\nimport { ElButton, ElInput } from 'element-plus'\nimport { defineComponent, reactive } from 'vue'\nimport { useRouter } from 'vue-router'\n\nexport default defineComponent({\n name: 'SkyLoginPage',\n setup() {\n const router = useRouter()\n const { login } = useUser()\n const formData = reactive<LoginParams>({\n username: '',\n password: '',\n })\n const { execute, isLoading } = useAsyncState<LoginResult | undefined>(\n async () => skyConfig.dataProvider?.login?.({ ...formData }),\n undefined,\n {\n immediate: false,\n },\n )\n\n const onSubmit = async () => {\n const res = await execute()\n if (res) {\n login(res)\n // window.location.reload()\n router.replace({ name: skyConfig.welcomeRouteName })\n }\n }\n\n return () => (\n <div class=\"sky-page-login\">\n {skyConfig.loginImg && <img class=\"sky-page-login__back\" src={skyConfig.loginImg} />}\n <div class=\"sky-page-login__main\">\n <h3 class=\"sky-page-login__title\">登录进入 Skyline</h3>\n <div>\n <ElInput\n model-value={formData.username}\n onUpdate:modelValue={(value) => (formData.username = value)}\n placeholder=\"用户名\"\n />\n </div>\n <div>\n <ElInput\n model-value={formData.password}\n onUpdate:modelValue={(value) => (formData.password = value)}\n placeholder=\"密码\"\n type=\"password\"\n show-password\n />\n </div>\n <div>\n <ElButton\n class=\"sky-page-login__button\"\n type=\"primary\"\n size=\"large\"\n loading={isLoading.value}\n onClick={onSubmit}\n >\n 登录\n </ElButton>\n </div>\n </div>\n </div>\n )\n },\n})\n"],"names":["login","defineComponent","name","setup","router","useRouter","username","password","isLoading","immediate","onSubmit","res","execute","_createVNode","skyConfig","_createTextVNode","ElInput","value","formData","ElButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,QAAAA;AACE,UAAAC,IAAAC,EAAA;MACQL,OAAAA;AAAAA;MAENM,UAAAA;AAAAA,MACAC,UAAAA;AAAAA,IACF,CAAA;;MACiBC,WAAAA;AAAAA;;;MAIbC,WAAAA;AAAAA,IACF,CAAA,GAGFC,IAAA,YAAA;AACE,YAAAC,IAAA,MAAAC,EAAA;AACA,MAAAD;;MAGoD,CAAA;AAAA;AAItD,WAAA,MAAAE,EAAA,OAAA;AAAA,MAAO,OAAA;AAAA,IAAA,GAAA,CAAAC,EAAA,YAAAD,EAAA,OAAA;AAAA,MAEgB,OAAA;AAAA,MAAA,KAAAC,EAAA;AAAA,IAA6D,GAAA,IAAA,GAAAD,EAAA,OAAA;AAAA,MAAI,OAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,MAAA;AAAA,MAAA,OAAA;AAAA,IAAA,GAAA,CAAAE,EAAA,cAAA,CAAA,CAAA,GAAAF,EAAA,OAAA,MAAA,CAAAA,EAAAG,GAAA;AAAA;MAKhD,uBAAA,CAAAC,MAAAC,EAAA,WAAAD;AAAA,MAC6B,aAAA;AAAA,IAAA,GAAA,IAAA,CAAA,CAAA,GAAAJ,EAAA,OAAA,MAAA,CAAAA,EAAAG,GAAA;AAAA;MAM7B,uBAAA,CAAAC,MAAAC,EAAA,WAAAD;AAAA,MAC6B,aAAA;AAAA,MAAA,MAAA;AAAA,MAAA,iBAAA;AAAA,IAAA,GAAA,IAAA,CAAA,CAAA,GAAAJ,EAAA,OAAA,MAAA,CAAAA,EAAAM,GAAA;AAAA,MAAA,OAAA;AAAA,MAAA,MAAA;AAAA,MAAA,MAAA;AAAA;;IAY1C,GAAA;AAAA;;EAQ7B;AACF,CAAA;"}
1
+ {"version":3,"file":"login.mjs","sources":["../../src/pages/login.tsx"],"sourcesContent":["import { useUser } from '@/hooks'\r\nimport type { LoginParams, LoginResult } from '@/provides'\r\nimport { skyConfig } from '@/setup'\r\nimport { useAsyncState } from '@vueuse/core'\r\nimport { ElButton, ElInput } from 'element-plus'\r\nimport { defineComponent, reactive } from 'vue'\r\nimport { useRouter } from 'vue-router'\r\n\r\nexport default defineComponent({\r\n name: 'SkyLoginPage',\r\n setup() {\r\n const router = useRouter()\r\n const { login } = useUser()\r\n const formData = reactive<LoginParams>({\r\n username: '',\r\n password: '',\r\n })\r\n const { execute, isLoading } = useAsyncState<LoginResult | undefined>(\r\n async () => skyConfig.dataProvider?.login?.({ ...formData }),\r\n undefined,\r\n {\r\n immediate: false,\r\n },\r\n )\r\n\r\n const onSubmit = async () => {\r\n const res = await execute()\r\n if (res) {\r\n login(res)\r\n // window.location.reload()\r\n router.replace({ name: skyConfig.welcomeRouteName })\r\n }\r\n }\r\n\r\n return () => (\r\n <div class=\"sky-page-login\">\r\n {skyConfig.loginImg && <img class=\"sky-page-login__back\" src={skyConfig.loginImg} />}\r\n <div class=\"sky-page-login__main\">\r\n <h3 class=\"sky-page-login__title\">登录进入 Skyline</h3>\r\n <div>\r\n <ElInput\r\n model-value={formData.username}\r\n onUpdate:modelValue={(value) => (formData.username = value)}\r\n placeholder=\"用户名\"\r\n />\r\n </div>\r\n <div>\r\n <ElInput\r\n model-value={formData.password}\r\n onUpdate:modelValue={(value) => (formData.password = value)}\r\n placeholder=\"密码\"\r\n type=\"password\"\r\n show-password\r\n />\r\n </div>\r\n <div>\r\n <ElButton\r\n class=\"sky-page-login__button\"\r\n type=\"primary\"\r\n size=\"large\"\r\n loading={isLoading.value}\r\n onClick={onSubmit}\r\n >\r\n 登录\r\n </ElButton>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["login","defineComponent","name","setup","router","useRouter","username","password","isLoading","immediate","onSubmit","res","execute","_createVNode","skyConfig","_createTextVNode","ElInput","value","formData","ElButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,QAAAA;AACE,UAAAC,IAAAC,EAAA;MACQL,OAAAA;AAAAA;MAENM,UAAAA;AAAAA,MACAC,UAAAA;AAAAA,IACF,CAAA;;MACiBC,WAAAA;AAAAA;;;MAIbC,WAAAA;AAAAA,IACF,CAAA,GAGFC,IAAA,YAAA;AACE,YAAAC,IAAA,MAAAC,EAAA;AACA,MAAAD;;MAGoD,CAAA;AAAA;AAItD,WAAA,MAAAE,EAAA,OAAA;AAAA,MAAO,OAAA;AAAA,IAAA,GAAA,CAAAC,EAAA,YAAAD,EAAA,OAAA;AAAA,MAEgB,OAAA;AAAA,MAAA,KAAAC,EAAA;AAAA,IAA6D,GAAA,IAAA,GAAAD,EAAA,OAAA;AAAA,MAAI,OAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,MAAA;AAAA,MAAA,OAAA;AAAA,IAAA,GAAA,CAAAE,EAAA,cAAA,CAAA,CAAA,GAAAF,EAAA,OAAA,MAAA,CAAAA,EAAAG,GAAA;AAAA;MAKhD,uBAAA,CAAAC,MAAAC,EAAA,WAAAD;AAAA,MAC6B,aAAA;AAAA,IAAA,GAAA,IAAA,CAAA,CAAA,GAAAJ,EAAA,OAAA,MAAA,CAAAA,EAAAG,GAAA;AAAA;MAM7B,uBAAA,CAAAC,MAAAC,EAAA,WAAAD;AAAA,MAC6B,aAAA;AAAA,MAAA,MAAA;AAAA,MAAA,iBAAA;AAAA,IAAA,GAAA,IAAA,CAAA,CAAA,GAAAJ,EAAA,OAAA,MAAA,CAAAA,EAAAM,GAAA;AAAA,MAAA,OAAA;AAAA,MAAA,MAAA;AAAA,MAAA,MAAA;AAAA;;IAY1C,GAAA;AAAA;;EAQ7B;AACF,CAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"not-found.cjs","sources":["../../src/pages/not-found.tsx"],"sourcesContent":["import { ElButton, ElEmpty } from 'element-plus'\nimport { defineComponent } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRouter } from 'vue-router'\n\nexport default defineComponent({\n name: 'SkyNotFoundPage',\n setup() {\n const { t } = useI18n()\n const router = useRouter()\n return () => (\n <div class=\"sky-page-not-found\">\n <ElEmpty description={t('notFound')}>\n <ElButton onClick={() => router.go(-1)}>返回</ElButton>\n </ElEmpty>\n </div>\n )\n },\n})\n"],"names":["notFound","defineComponent","name","setup","t","router","useRouter","_createVNode","default"],"mappings":"wTAKAA,EAAAC,kBAAA,CACEC,KAAAA,kBACAC,OAAAA,OACUC,EAAAA,eACRC,EAAAC,EAAAA,UAAA,EACA,MAAA,IAAAC,EAAAA,YAAA,MAAA,CAAO,MAAA,yEAEgC,EAAA,CAAAC,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,WAAAA,CAAA,QAAA,IAAAH,EAAA,GAAA,EAAA,CACK,EAAA,sCAAA,CAAA,CAAA,KAI9C,CACF,CAAA"}
1
+ {"version":3,"file":"not-found.cjs","sources":["../../src/pages/not-found.tsx"],"sourcesContent":["import { ElButton, ElEmpty } from 'element-plus'\r\nimport { defineComponent } from 'vue'\r\nimport { useI18n } from 'vue-i18n'\r\nimport { useRouter } from 'vue-router'\r\n\r\nexport default defineComponent({\r\n name: 'SkyNotFoundPage',\r\n setup() {\r\n const { t } = useI18n()\r\n const router = useRouter()\r\n return () => (\r\n <div class=\"sky-page-not-found\">\r\n <ElEmpty description={t('notFound')}>\r\n <ElButton onClick={() => router.go(-1)}>返回</ElButton>\r\n </ElEmpty>\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["notFound","defineComponent","name","setup","t","router","useRouter","_createVNode","default"],"mappings":"wTAKAA,EAAAC,kBAAA,CACEC,KAAAA,kBACAC,OAAAA,OACUC,EAAAA,eACRC,EAAAC,EAAAA,UAAA,EACA,MAAA,IAAAC,EAAAA,YAAA,MAAA,CAAO,MAAA,yEAEgC,EAAA,CAAAC,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,WAAAA,CAAA,QAAA,IAAAH,EAAA,GAAA,EAAA,CACK,EAAA,sCAAA,CAAA,CAAA,KAI9C,CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"not-found.mjs","sources":["../../src/pages/not-found.tsx"],"sourcesContent":["import { ElButton, ElEmpty } from 'element-plus'\nimport { defineComponent } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRouter } from 'vue-router'\n\nexport default defineComponent({\n name: 'SkyNotFoundPage',\n setup() {\n const { t } = useI18n()\n const router = useRouter()\n return () => (\n <div class=\"sky-page-not-found\">\n <ElEmpty description={t('notFound')}>\n <ElButton onClick={() => router.go(-1)}>返回</ElButton>\n </ElEmpty>\n </div>\n )\n },\n})\n"],"names":["notFound","defineComponent","name","setup","t","router","useRouter","_createVNode","default"],"mappings":";;;;;;AAKA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,QAAAA;;MACUC;AAAAA,aACRC,IAAAC,EAAA;AACA,WAAA,MAAAC,EAAA,OAAA;AAAA,MAAO,OAAA;AAAA;;IAEgC,GAAA;AAAA,MAAAC,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA;AAAAA,QAAA,SAAA,MAAAH,EAAA,GAAA,EAAA;AAAA,MACK,GAAA;AAAA;MAAA,CAAA,CAAA;AAAA;EAI9C;AACF,CAAA;"}
1
+ {"version":3,"file":"not-found.mjs","sources":["../../src/pages/not-found.tsx"],"sourcesContent":["import { ElButton, ElEmpty } from 'element-plus'\r\nimport { defineComponent } from 'vue'\r\nimport { useI18n } from 'vue-i18n'\r\nimport { useRouter } from 'vue-router'\r\n\r\nexport default defineComponent({\r\n name: 'SkyNotFoundPage',\r\n setup() {\r\n const { t } = useI18n()\r\n const router = useRouter()\r\n return () => (\r\n <div class=\"sky-page-not-found\">\r\n <ElEmpty description={t('notFound')}>\r\n <ElButton onClick={() => router.go(-1)}>返回</ElButton>\r\n </ElEmpty>\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["notFound","defineComponent","name","setup","t","router","useRouter","_createVNode","default"],"mappings":";;;;;;AAKA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,QAAAA;;MACUC;AAAAA,aACRC,IAAAC,EAAA;AACA,WAAA,MAAAC,EAAA,OAAA;AAAA,MAAO,OAAA;AAAA;;IAEgC,GAAA;AAAA,MAAAC,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA;AAAAA,QAAA,SAAA,MAAAH,EAAA,GAAA,EAAA;AAAA,MACK,GAAA;AAAA;MAAA,CAAA,CAAA;AAAA;EAI9C;AACF,CAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"welcome.cjs","sources":["../../src/pages/welcome.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'SkyWelcomePage',\n setup() {\n return () => <div style=\"padding: 20px;\">欢迎进入 Skyline Admin</div>\n },\n})\n"],"names":["welcome","name","setup","_createVNode","_createTextVNode"],"mappings":"mIAEAA,oBAA+B,CAC7BC,KAAM,iBACNC,OAAQ,CACN,MAAO,IAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,gBAAA,EAAA,CAAAC,EAAAA,gBAAA,oBAAA,CAAA,CAAA,CACT,CACF,CAAC"}
1
+ {"version":3,"file":"welcome.cjs","sources":["../../src/pages/welcome.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport default defineComponent({\r\n name: 'SkyWelcomePage',\r\n setup() {\r\n return () => <div style=\"padding: 20px;\">欢迎进入 Skyline Admin</div>\r\n },\r\n})\r\n"],"names":["welcome","name","setup","_createVNode","_createTextVNode"],"mappings":"mIAEAA,oBAA+B,CAC7BC,KAAM,iBACNC,OAAQ,CACN,MAAO,IAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,gBAAA,EAAA,CAAAC,EAAAA,gBAAA,oBAAA,CAAA,CAAA,CACT,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"welcome.mjs","sources":["../../src/pages/welcome.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'SkyWelcomePage',\n setup() {\n return () => <div style=\"padding: 20px;\">欢迎进入 Skyline Admin</div>\n },\n})\n"],"names":["welcome","name","setup","_createVNode","_createTextVNode"],"mappings":";AAEA,MAAAA,sBAA+B;AAAA,EAC7BC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,IAAA,GAAA,CAAAC,EAAA,oBAAA,CAAA,CAAA;AAAA,EACT;AACF,CAAC;"}
1
+ {"version":3,"file":"welcome.mjs","sources":["../../src/pages/welcome.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport default defineComponent({\r\n name: 'SkyWelcomePage',\r\n setup() {\r\n return () => <div style=\"padding: 20px;\">欢迎进入 Skyline Admin</div>\r\n },\r\n})\r\n"],"names":["welcome","name","setup","_createVNode","_createTextVNode"],"mappings":";AAEA,MAAAA,sBAA+B;AAAA,EAC7BC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,IAAA,GAAA,CAAAC,EAAA,oBAAA,CAAA,CAAA;AAAA,EACT;AACF,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/router/index.ts"],"sourcesContent":["import type { RouteLocationNormalizedGeneric, Router } from 'vue-router'\n\nimport { skyConfig } from '@/setup'\nimport type { RouteRecordRaw } from 'vue-router'\nimport { usePermission, useTab, useUser } from '@/hooks'\nimport type { CanAccessItem } from '@/provides'\n\nexport type SkyLayoutRouteMeta = {\n tab: true\n resource: string\n action: 'list' | 'create' | 'edit' | 'show'\n row: string\n column: string\n tabTitle: string\n // 是否添加到 keepAlive 列表\n keepAliveName?: string\n icon?: string\n}\n\nexport const getRoutes = (): RouteRecordRaw[] => {\n return [\n {\n name: skyConfig.layoutRouteName,\n path: '/',\n component: () => skyConfig.layoutPage ?? import('@/layouts/default'),\n redirect: { name: skyConfig.welcomeRouteName },\n children: [\n {\n name: skyConfig.welcomeRouteName,\n path: 'welcome',\n component: () => skyConfig.welcomePage ?? import('@/pages/welcome'),\n meta: {\n tab: true,\n tabTitle: '欢迎界面',\n resource: '*',\n action: '*',\n row: '*',\n column: '*',\n },\n },\n ],\n },\n {\n name: skyConfig.loginRouteName,\n path: '/login',\n component: () => skyConfig.loginPage ?? import('@/pages/login'),\n },\n {\n name: skyConfig.notFoundRouteName,\n path: '/:pathMatch(.*)*',\n component: () => skyConfig.notFoundPage ?? import('@/pages/not-found'),\n },\n ]\n}\n\nexport const checkAuth = (router: Router, to: RouteLocationNormalizedGeneric) => {\n const { isLogin } = useUser()\n\n // 检测是否需要登录\n // openLogin - 表示开启登录界面功能\n // isLogin - 表示是否已经登录\n const openLogin = router.hasRoute(skyConfig.loginRouteName)\n if (openLogin) {\n if (to.name === skyConfig.loginRouteName) {\n if (isLogin.value) {\n return { name: skyConfig.layoutRouteName }\n } else {\n return true\n }\n } else {\n if (!isLogin.value) {\n return { name: skyConfig.loginRouteName }\n }\n }\n }\n}\n\nexport const addLayoutRoutes = async (router: Router, permissions: CanAccessItem[]) => {\n const result: string[] = []\n const resources =\n typeof skyConfig.resources === 'function' ? await skyConfig.resources() : skyConfig.resources\n if (resources) {\n for (const resource of resources) {\n const routes = [\n {\n comp: resource.list,\n name: skyConfig.getListRouteName(resource.name),\n path: resource.name,\n action: 'list',\n },\n {\n comp: resource.create,\n name: skyConfig.getCreateRouteName(resource.name),\n path: `${resource.name}/create`,\n action: 'create',\n },\n {\n comp: resource.edit,\n name: skyConfig.getEditRouteName(resource.name),\n path: `${resource.name}/edit/:id`,\n action: 'edit',\n },\n {\n comp: resource.show,\n name: skyConfig.getShowRouteName(resource.name),\n path: `${resource.name}/show/:id`,\n action: 'show',\n },\n ]\n for (const route of routes) {\n if (\n route.comp &&\n skyConfig.dataProvider?.canAccess?.(\n { resource: resource.name, action: route.action },\n permissions,\n )\n ) {\n if (!router.hasRoute(route.name)) {\n router.addRoute(skyConfig.layoutRouteName, {\n name: route.name,\n path: route.path,\n component: route.comp,\n meta: {\n tab: true,\n tabTitle: route.comp.title || `${resource.name} ${route.action}`,\n resource: resource.name,\n action: route.action,\n keepAliveName: route.comp.keepAlive ? route.comp.name : undefined,\n icon: route.comp.icon,\n },\n })\n }\n result.push(route.name)\n } else {\n if (router.hasRoute(route.name)) {\n router.removeRoute(route.name)\n }\n }\n }\n }\n }\n\n return result\n}\n\nexport const guard = (router: Router) => {\n const beforeEach = async (to: RouteLocationNormalizedGeneric) => {\n const authTo = checkAuth(router, to)\n\n if (typeof authTo !== 'undefined') {\n return authTo\n }\n\n // 获取所有权限\n const permissions = await skyConfig.dataProvider?.getPermissions?.()\n\n const { addTab, lastTab } = useTab()\n\n const meta = to.meta as SkyLayoutRouteMeta\n\n let routes: string[] | undefined\n if (permissions) {\n // 每次路由获取权限,需要全局存储下来\n usePermission().permissions.value = permissions\n\n routes = await addLayoutRoutes(router, permissions)\n\n if (typeof to.name === 'string' && routes.includes(to.name)) {\n addTab({\n routeName: to.name,\n routeParams: to.params,\n routeKeepAliveName: meta.keepAliveName,\n title: meta.tabTitle,\n icon: meta.icon,\n })\n return true\n }\n }\n\n // 所有都支持访问 welcome\n if (to.name === skyConfig.welcomeRouteName) {\n addTab({\n routeName: to.name,\n routeParams: to.params,\n routeKeepAliveName: meta.keepAliveName,\n title: meta.tabTitle,\n icon: meta.icon,\n })\n return true\n } else if (to.name === skyConfig.notFoundRouteName) {\n if (lastTab.value?.routeName && routes?.includes(lastTab.value.routeName)) {\n return { name: lastTab.value.routeName, params: lastTab.value.routeParams }\n }\n return { name: skyConfig.welcomeRouteName }\n }\n\n // 无权限\n return false\n }\n\n return {\n beforeEach,\n }\n}\n"],"names":["getRoutes","skyConfig","checkAuth","router","to","isLogin","useUser","addLayoutRoutes","permissions","result","resources","resource","routes","route","guard","authTo","addTab","lastTab","useTab","meta","usePermission"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/router/index.ts"],"sourcesContent":["import type { RouteLocationNormalizedGeneric, Router } from 'vue-router'\r\n\r\nimport { skyConfig } from '@/setup'\r\nimport type { RouteRecordRaw } from 'vue-router'\r\nimport { usePermission, useTab, useUser } from '@/hooks'\r\nimport type { CanAccessItem } from '@/provides'\r\n\r\nexport type SkyLayoutRouteMeta = {\r\n tab: true\r\n resource: string\r\n action: 'list' | 'create' | 'edit' | 'show'\r\n row: string\r\n column: string\r\n tabTitle: string\r\n // 是否添加到 keepAlive 列表\r\n keepAliveName?: string\r\n icon?: string\r\n}\r\n\r\nexport const getRoutes = (): RouteRecordRaw[] => {\r\n return [\r\n {\r\n name: skyConfig.layoutRouteName,\r\n path: '/',\r\n component: () => skyConfig.layoutPage ?? import('@/layouts/default'),\r\n redirect: { name: skyConfig.welcomeRouteName },\r\n children: [\r\n {\r\n name: skyConfig.welcomeRouteName,\r\n path: 'welcome',\r\n component: () => skyConfig.welcomePage ?? import('@/pages/welcome'),\r\n meta: {\r\n tab: true,\r\n tabTitle: '欢迎界面',\r\n resource: '*',\r\n action: '*',\r\n row: '*',\r\n column: '*',\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n name: skyConfig.loginRouteName,\r\n path: '/login',\r\n component: () => skyConfig.loginPage ?? import('@/pages/login'),\r\n },\r\n {\r\n name: skyConfig.notFoundRouteName,\r\n path: '/:pathMatch(.*)*',\r\n component: () => skyConfig.notFoundPage ?? import('@/pages/not-found'),\r\n },\r\n ]\r\n}\r\n\r\nexport const checkAuth = (router: Router, to: RouteLocationNormalizedGeneric) => {\r\n const { isLogin } = useUser()\r\n\r\n // 检测是否需要登录\r\n // openLogin - 表示开启登录界面功能\r\n // isLogin - 表示是否已经登录\r\n const openLogin = router.hasRoute(skyConfig.loginRouteName)\r\n if (openLogin) {\r\n if (to.name === skyConfig.loginRouteName) {\r\n if (isLogin.value) {\r\n return { name: skyConfig.layoutRouteName }\r\n } else {\r\n return true\r\n }\r\n } else {\r\n if (!isLogin.value) {\r\n return { name: skyConfig.loginRouteName }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const addLayoutRoutes = async (router: Router, permissions: CanAccessItem[]) => {\r\n const result: string[] = []\r\n const resources =\r\n typeof skyConfig.resources === 'function' ? await skyConfig.resources() : skyConfig.resources\r\n if (resources) {\r\n for (const resource of resources) {\r\n const routes = [\r\n {\r\n comp: resource.list,\r\n name: skyConfig.getListRouteName(resource.name),\r\n path: resource.name,\r\n action: 'list',\r\n },\r\n {\r\n comp: resource.create,\r\n name: skyConfig.getCreateRouteName(resource.name),\r\n path: `${resource.name}/create`,\r\n action: 'create',\r\n },\r\n {\r\n comp: resource.edit,\r\n name: skyConfig.getEditRouteName(resource.name),\r\n path: `${resource.name}/edit/:id`,\r\n action: 'edit',\r\n },\r\n {\r\n comp: resource.show,\r\n name: skyConfig.getShowRouteName(resource.name),\r\n path: `${resource.name}/show/:id`,\r\n action: 'show',\r\n },\r\n ]\r\n for (const route of routes) {\r\n if (\r\n route.comp &&\r\n skyConfig.dataProvider?.canAccess?.(\r\n { resource: resource.name, action: route.action },\r\n permissions,\r\n )\r\n ) {\r\n if (!router.hasRoute(route.name)) {\r\n router.addRoute(skyConfig.layoutRouteName, {\r\n name: route.name,\r\n path: route.path,\r\n component: route.comp,\r\n meta: {\r\n tab: true,\r\n tabTitle: route.comp.title || `${resource.name} ${route.action}`,\r\n resource: resource.name,\r\n action: route.action,\r\n keepAliveName: route.comp.keepAlive ? route.comp.name : undefined,\r\n icon: route.comp.icon,\r\n },\r\n })\r\n }\r\n result.push(route.name)\r\n } else {\r\n if (router.hasRoute(route.name)) {\r\n router.removeRoute(route.name)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return result\r\n}\r\n\r\nexport const guard = (router: Router) => {\r\n const beforeEach = async (to: RouteLocationNormalizedGeneric) => {\r\n const authTo = checkAuth(router, to)\r\n\r\n if (typeof authTo !== 'undefined') {\r\n return authTo\r\n }\r\n\r\n // 获取所有权限\r\n const permissions = await skyConfig.dataProvider?.getPermissions?.()\r\n\r\n const { addTab, lastTab } = useTab()\r\n\r\n const meta = to.meta as SkyLayoutRouteMeta\r\n\r\n let routes: string[] | undefined\r\n if (permissions) {\r\n // 每次路由获取权限,需要全局存储下来\r\n usePermission().permissions.value = permissions\r\n\r\n routes = await addLayoutRoutes(router, permissions)\r\n\r\n if (typeof to.name === 'string' && routes.includes(to.name)) {\r\n addTab({\r\n routeName: to.name,\r\n routeParams: to.params,\r\n routeKeepAliveName: meta.keepAliveName,\r\n title: meta.tabTitle,\r\n icon: meta.icon,\r\n })\r\n return true\r\n }\r\n }\r\n\r\n // 所有都支持访问 welcome\r\n if (to.name === skyConfig.welcomeRouteName) {\r\n addTab({\r\n routeName: to.name,\r\n routeParams: to.params,\r\n routeKeepAliveName: meta.keepAliveName,\r\n title: meta.tabTitle,\r\n icon: meta.icon,\r\n })\r\n return true\r\n } else if (to.name === skyConfig.notFoundRouteName) {\r\n if (lastTab.value?.routeName && routes?.includes(lastTab.value.routeName)) {\r\n return { name: lastTab.value.routeName, params: lastTab.value.routeParams }\r\n }\r\n return { name: skyConfig.welcomeRouteName }\r\n }\r\n\r\n // 无权限\r\n return false\r\n }\r\n\r\n return {\r\n beforeEach,\r\n }\r\n}\r\n"],"names":["getRoutes","skyConfig","checkAuth","router","to","isLogin","useUser","addLayoutRoutes","permissions","result","resources","resource","routes","route","guard","authTo","addTab","lastTab","useTab","meta","usePermission"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/router/index.ts"],"sourcesContent":["import type { RouteLocationNormalizedGeneric, Router } from 'vue-router'\n\nimport { skyConfig } from '@/setup'\nimport type { RouteRecordRaw } from 'vue-router'\nimport { usePermission, useTab, useUser } from '@/hooks'\nimport type { CanAccessItem } from '@/provides'\n\nexport type SkyLayoutRouteMeta = {\n tab: true\n resource: string\n action: 'list' | 'create' | 'edit' | 'show'\n row: string\n column: string\n tabTitle: string\n // 是否添加到 keepAlive 列表\n keepAliveName?: string\n icon?: string\n}\n\nexport const getRoutes = (): RouteRecordRaw[] => {\n return [\n {\n name: skyConfig.layoutRouteName,\n path: '/',\n component: () => skyConfig.layoutPage ?? import('@/layouts/default'),\n redirect: { name: skyConfig.welcomeRouteName },\n children: [\n {\n name: skyConfig.welcomeRouteName,\n path: 'welcome',\n component: () => skyConfig.welcomePage ?? import('@/pages/welcome'),\n meta: {\n tab: true,\n tabTitle: '欢迎界面',\n resource: '*',\n action: '*',\n row: '*',\n column: '*',\n },\n },\n ],\n },\n {\n name: skyConfig.loginRouteName,\n path: '/login',\n component: () => skyConfig.loginPage ?? import('@/pages/login'),\n },\n {\n name: skyConfig.notFoundRouteName,\n path: '/:pathMatch(.*)*',\n component: () => skyConfig.notFoundPage ?? import('@/pages/not-found'),\n },\n ]\n}\n\nexport const checkAuth = (router: Router, to: RouteLocationNormalizedGeneric) => {\n const { isLogin } = useUser()\n\n // 检测是否需要登录\n // openLogin - 表示开启登录界面功能\n // isLogin - 表示是否已经登录\n const openLogin = router.hasRoute(skyConfig.loginRouteName)\n if (openLogin) {\n if (to.name === skyConfig.loginRouteName) {\n if (isLogin.value) {\n return { name: skyConfig.layoutRouteName }\n } else {\n return true\n }\n } else {\n if (!isLogin.value) {\n return { name: skyConfig.loginRouteName }\n }\n }\n }\n}\n\nexport const addLayoutRoutes = async (router: Router, permissions: CanAccessItem[]) => {\n const result: string[] = []\n const resources =\n typeof skyConfig.resources === 'function' ? await skyConfig.resources() : skyConfig.resources\n if (resources) {\n for (const resource of resources) {\n const routes = [\n {\n comp: resource.list,\n name: skyConfig.getListRouteName(resource.name),\n path: resource.name,\n action: 'list',\n },\n {\n comp: resource.create,\n name: skyConfig.getCreateRouteName(resource.name),\n path: `${resource.name}/create`,\n action: 'create',\n },\n {\n comp: resource.edit,\n name: skyConfig.getEditRouteName(resource.name),\n path: `${resource.name}/edit/:id`,\n action: 'edit',\n },\n {\n comp: resource.show,\n name: skyConfig.getShowRouteName(resource.name),\n path: `${resource.name}/show/:id`,\n action: 'show',\n },\n ]\n for (const route of routes) {\n if (\n route.comp &&\n skyConfig.dataProvider?.canAccess?.(\n { resource: resource.name, action: route.action },\n permissions,\n )\n ) {\n if (!router.hasRoute(route.name)) {\n router.addRoute(skyConfig.layoutRouteName, {\n name: route.name,\n path: route.path,\n component: route.comp,\n meta: {\n tab: true,\n tabTitle: route.comp.title || `${resource.name} ${route.action}`,\n resource: resource.name,\n action: route.action,\n keepAliveName: route.comp.keepAlive ? route.comp.name : undefined,\n icon: route.comp.icon,\n },\n })\n }\n result.push(route.name)\n } else {\n if (router.hasRoute(route.name)) {\n router.removeRoute(route.name)\n }\n }\n }\n }\n }\n\n return result\n}\n\nexport const guard = (router: Router) => {\n const beforeEach = async (to: RouteLocationNormalizedGeneric) => {\n const authTo = checkAuth(router, to)\n\n if (typeof authTo !== 'undefined') {\n return authTo\n }\n\n // 获取所有权限\n const permissions = await skyConfig.dataProvider?.getPermissions?.()\n\n const { addTab, lastTab } = useTab()\n\n const meta = to.meta as SkyLayoutRouteMeta\n\n let routes: string[] | undefined\n if (permissions) {\n // 每次路由获取权限,需要全局存储下来\n usePermission().permissions.value = permissions\n\n routes = await addLayoutRoutes(router, permissions)\n\n if (typeof to.name === 'string' && routes.includes(to.name)) {\n addTab({\n routeName: to.name,\n routeParams: to.params,\n routeKeepAliveName: meta.keepAliveName,\n title: meta.tabTitle,\n icon: meta.icon,\n })\n return true\n }\n }\n\n // 所有都支持访问 welcome\n if (to.name === skyConfig.welcomeRouteName) {\n addTab({\n routeName: to.name,\n routeParams: to.params,\n routeKeepAliveName: meta.keepAliveName,\n title: meta.tabTitle,\n icon: meta.icon,\n })\n return true\n } else if (to.name === skyConfig.notFoundRouteName) {\n if (lastTab.value?.routeName && routes?.includes(lastTab.value.routeName)) {\n return { name: lastTab.value.routeName, params: lastTab.value.routeParams }\n }\n return { name: skyConfig.welcomeRouteName }\n }\n\n // 无权限\n return false\n }\n\n return {\n beforeEach,\n }\n}\n"],"names":["getRoutes","skyConfig","checkAuth","router","to","isLogin","useUser","addLayoutRoutes","permissions","result","resources","resource","routes","route","guard","authTo","addTab","lastTab","useTab","meta","usePermission"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/router/index.ts"],"sourcesContent":["import type { RouteLocationNormalizedGeneric, Router } from 'vue-router'\r\n\r\nimport { skyConfig } from '@/setup'\r\nimport type { RouteRecordRaw } from 'vue-router'\r\nimport { usePermission, useTab, useUser } from '@/hooks'\r\nimport type { CanAccessItem } from '@/provides'\r\n\r\nexport type SkyLayoutRouteMeta = {\r\n tab: true\r\n resource: string\r\n action: 'list' | 'create' | 'edit' | 'show'\r\n row: string\r\n column: string\r\n tabTitle: string\r\n // 是否添加到 keepAlive 列表\r\n keepAliveName?: string\r\n icon?: string\r\n}\r\n\r\nexport const getRoutes = (): RouteRecordRaw[] => {\r\n return [\r\n {\r\n name: skyConfig.layoutRouteName,\r\n path: '/',\r\n component: () => skyConfig.layoutPage ?? import('@/layouts/default'),\r\n redirect: { name: skyConfig.welcomeRouteName },\r\n children: [\r\n {\r\n name: skyConfig.welcomeRouteName,\r\n path: 'welcome',\r\n component: () => skyConfig.welcomePage ?? import('@/pages/welcome'),\r\n meta: {\r\n tab: true,\r\n tabTitle: '欢迎界面',\r\n resource: '*',\r\n action: '*',\r\n row: '*',\r\n column: '*',\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n name: skyConfig.loginRouteName,\r\n path: '/login',\r\n component: () => skyConfig.loginPage ?? import('@/pages/login'),\r\n },\r\n {\r\n name: skyConfig.notFoundRouteName,\r\n path: '/:pathMatch(.*)*',\r\n component: () => skyConfig.notFoundPage ?? import('@/pages/not-found'),\r\n },\r\n ]\r\n}\r\n\r\nexport const checkAuth = (router: Router, to: RouteLocationNormalizedGeneric) => {\r\n const { isLogin } = useUser()\r\n\r\n // 检测是否需要登录\r\n // openLogin - 表示开启登录界面功能\r\n // isLogin - 表示是否已经登录\r\n const openLogin = router.hasRoute(skyConfig.loginRouteName)\r\n if (openLogin) {\r\n if (to.name === skyConfig.loginRouteName) {\r\n if (isLogin.value) {\r\n return { name: skyConfig.layoutRouteName }\r\n } else {\r\n return true\r\n }\r\n } else {\r\n if (!isLogin.value) {\r\n return { name: skyConfig.loginRouteName }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const addLayoutRoutes = async (router: Router, permissions: CanAccessItem[]) => {\r\n const result: string[] = []\r\n const resources =\r\n typeof skyConfig.resources === 'function' ? await skyConfig.resources() : skyConfig.resources\r\n if (resources) {\r\n for (const resource of resources) {\r\n const routes = [\r\n {\r\n comp: resource.list,\r\n name: skyConfig.getListRouteName(resource.name),\r\n path: resource.name,\r\n action: 'list',\r\n },\r\n {\r\n comp: resource.create,\r\n name: skyConfig.getCreateRouteName(resource.name),\r\n path: `${resource.name}/create`,\r\n action: 'create',\r\n },\r\n {\r\n comp: resource.edit,\r\n name: skyConfig.getEditRouteName(resource.name),\r\n path: `${resource.name}/edit/:id`,\r\n action: 'edit',\r\n },\r\n {\r\n comp: resource.show,\r\n name: skyConfig.getShowRouteName(resource.name),\r\n path: `${resource.name}/show/:id`,\r\n action: 'show',\r\n },\r\n ]\r\n for (const route of routes) {\r\n if (\r\n route.comp &&\r\n skyConfig.dataProvider?.canAccess?.(\r\n { resource: resource.name, action: route.action },\r\n permissions,\r\n )\r\n ) {\r\n if (!router.hasRoute(route.name)) {\r\n router.addRoute(skyConfig.layoutRouteName, {\r\n name: route.name,\r\n path: route.path,\r\n component: route.comp,\r\n meta: {\r\n tab: true,\r\n tabTitle: route.comp.title || `${resource.name} ${route.action}`,\r\n resource: resource.name,\r\n action: route.action,\r\n keepAliveName: route.comp.keepAlive ? route.comp.name : undefined,\r\n icon: route.comp.icon,\r\n },\r\n })\r\n }\r\n result.push(route.name)\r\n } else {\r\n if (router.hasRoute(route.name)) {\r\n router.removeRoute(route.name)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return result\r\n}\r\n\r\nexport const guard = (router: Router) => {\r\n const beforeEach = async (to: RouteLocationNormalizedGeneric) => {\r\n const authTo = checkAuth(router, to)\r\n\r\n if (typeof authTo !== 'undefined') {\r\n return authTo\r\n }\r\n\r\n // 获取所有权限\r\n const permissions = await skyConfig.dataProvider?.getPermissions?.()\r\n\r\n const { addTab, lastTab } = useTab()\r\n\r\n const meta = to.meta as SkyLayoutRouteMeta\r\n\r\n let routes: string[] | undefined\r\n if (permissions) {\r\n // 每次路由获取权限,需要全局存储下来\r\n usePermission().permissions.value = permissions\r\n\r\n routes = await addLayoutRoutes(router, permissions)\r\n\r\n if (typeof to.name === 'string' && routes.includes(to.name)) {\r\n addTab({\r\n routeName: to.name,\r\n routeParams: to.params,\r\n routeKeepAliveName: meta.keepAliveName,\r\n title: meta.tabTitle,\r\n icon: meta.icon,\r\n })\r\n return true\r\n }\r\n }\r\n\r\n // 所有都支持访问 welcome\r\n if (to.name === skyConfig.welcomeRouteName) {\r\n addTab({\r\n routeName: to.name,\r\n routeParams: to.params,\r\n routeKeepAliveName: meta.keepAliveName,\r\n title: meta.tabTitle,\r\n icon: meta.icon,\r\n })\r\n return true\r\n } else if (to.name === skyConfig.notFoundRouteName) {\r\n if (lastTab.value?.routeName && routes?.includes(lastTab.value.routeName)) {\r\n return { name: lastTab.value.routeName, params: lastTab.value.routeParams }\r\n }\r\n return { name: skyConfig.welcomeRouteName }\r\n }\r\n\r\n // 无权限\r\n return false\r\n }\r\n\r\n return {\r\n beforeEach,\r\n }\r\n}\r\n"],"names":["getRoutes","skyConfig","checkAuth","router","to","isLogin","useUser","addLayoutRoutes","permissions","result","resources","resource","routes","route","guard","authTo","addTab","lastTab","useTab","meta","usePermission"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/setup/index.ts"],"sourcesContent":["import type { CanAccessItem, DataProvider } from '@/provides/dataProvider'\nimport { h, type App, type Component, type VNode } from 'vue'\nimport { default as en } from '@/i18n/locales/en'\nimport { createI18n } from 'vue-i18n'\nimport type { RouteParamsGeneric } from 'vue-router'\nimport { ElIcon } from 'element-plus'\n\nexport type SkyLanguage = typeof en\n\nexport type SkyComponent = Component & {\n title?: string\n // 是否添加到 keepAlive 列表\n // keepAliveName?: string\n keepAlive?: boolean\n icon?: string\n}\n\nexport interface SkyResource {\n name: string\n list?: SkyComponent\n create?: SkyComponent\n edit?: SkyComponent\n show?: SkyComponent\n}\n\nexport interface SkyMenu {\n routeName: string\n routeParams?: RouteParamsGeneric\n title: string\n icon?: string\n children?: SkyMenu[]\n permission: CanAccessItem\n}\n\nexport type SkyConfig = {\n sizeName: string\n langName: string\n tokenName: string\n usernameName: string\n collapseName: string\n tabsName: string\n tabListStackName: string\n notFoundRouteName: string\n loginRouteName: string\n welcomeRouteName: string\n layoutRouteName: string\n permissionThrottle: number\n dataProvider?: DataProvider\n icons?: Record<string, Component>\n menus?: SkyMenu[]\n resources?: SkyResource[] | (() => Promise<SkyResource[]>)\n getRandomRouteName: () => string\n getListRouteName: (resource: string) => string\n getCreateRouteName: (resource: string) => string\n getEditRouteName: (resource: string) => string\n getShowRouteName: (resource: string) => string\n locales: Record<string, SkyLanguage>\n loginPage?: Component | Promise<Component>\n layoutPage?: Component | Promise<Component>\n notFoundPage?: Component | Promise<Component>\n welcomePage?: Component | Promise<Component>\n logoImg?: string\n loginImg?: string\n themeEnabled: boolean\n getIconFnName: string\n}\n\nexport type SkyConfigKey = keyof SkyConfig\n\nexport const getRandomRouteName = () => Math.random().toString(16).slice(2)\nexport const getListRouteName = (resource: string) => `/sky/layout/${resource}`\nexport const getCreateRouteName = (resource: string) => `/sky/layout/${resource}/create`\nexport const getEditRouteName = (resource: string) => `/sky/layout/${resource}/edit`\nexport const getShowRouteName = (resource: string) => `/sky/layout/${resource}/show`\n\nexport const skyConfig: SkyConfig = {\n sizeName: 'sky:size',\n langName: 'sky:lang',\n tokenName: 'sky:user:token',\n usernameName: 'sky:user:username',\n collapseName: 'sky:menu:collapse',\n tabsName: 'sky:tab:tabs',\n tabListStackName: 'sky:tab:tabListStack',\n notFoundRouteName: '/sky/not-found',\n loginRouteName: '/sky/login',\n welcomeRouteName: '/sky/welcome',\n layoutRouteName: '/sky/layout',\n permissionThrottle: 5000,\n getRandomRouteName,\n getListRouteName,\n getCreateRouteName,\n getEditRouteName,\n getShowRouteName,\n locales: {\n en,\n },\n themeEnabled: false,\n getIconFnName: 'getIconFn',\n}\n\nexport type GetIconFn = (icon: string) => VNode | undefined\n\nexport const skyAdmin = {\n install: (app: App, config: Partial<SkyConfig>) => {\n Object.assign(skyConfig, config)\n\n app.use(\n createI18n({\n // 适配 composition API\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n messages: skyConfig.locales,\n }),\n )\n\n app.provide<GetIconFn>(skyConfig.getIconFnName, (icon) => {\n if (skyConfig.icons?.[icon]) {\n return h(ElIcon, null, {\n default: () => h(skyConfig.icons![icon]!),\n })\n }\n })\n },\n}\n"],"names":["getRandomRouteName","getListRouteName","resource","getCreateRouteName","getEditRouteName","getShowRouteName","skyConfig","en","skyAdmin","app","config","createI18n","icon","h","ElIcon"],"mappings":"2LAqEaA,EAAqB,IAAM,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,CAAC,EAC7DC,EAAoBC,GAAqB,eAAeA,CAAQ,GAChEC,EAAsBD,GAAqB,eAAeA,CAAQ,UAClEE,EAAoBF,GAAqB,eAAeA,CAAQ,QAChEG,EAAoBH,GAAqB,eAAeA,CAAQ,QAEhEI,EAAuB,CAClC,SAAU,WACV,SAAU,WACV,UAAW,iBACX,aAAc,oBACd,aAAc,oBACd,SAAU,eACV,iBAAkB,uBAClB,kBAAmB,iBACnB,eAAgB,aAChB,iBAAkB,eAClB,gBAAiB,cACjB,mBAAoB,IACpB,mBAAAN,EACA,iBAAAC,EACA,mBAAAE,EACA,iBAAAC,EACA,iBAAAC,EACA,QAAS,CAAA,GACPE,EAAAA,OAAA,EAEF,aAAc,GACd,cAAe,WACjB,EAIaC,EAAW,CACtB,QAAS,CAACC,EAAUC,IAA+B,CACjD,OAAO,OAAOJ,EAAWI,CAAM,EAE/BD,EAAI,IACFE,aAAW,CAET,OAAQ,GACR,OAAQ,KACR,eAAgB,KAChB,SAAUL,EAAU,OAAA,CACrB,CAAA,EAGHG,EAAI,QAAmBH,EAAU,cAAgBM,GAAS,CACxD,GAAIN,EAAU,QAAQM,CAAI,EACxB,OAAOC,EAAAA,EAAEC,EAAAA,OAAQ,KAAM,CACrB,QAAS,IAAMD,EAAAA,EAAEP,EAAU,MAAOM,CAAI,CAAE,CAAA,CACzC,CAEL,CAAC,CACH,CACF"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/setup/index.ts"],"sourcesContent":["import type { CanAccessItem, DataProvider } from '@/provides/dataProvider'\r\nimport { h, type App, type Component, type VNode } from 'vue'\r\nimport { default as en } from '@/i18n/locales/en'\r\nimport { createI18n } from 'vue-i18n'\r\nimport type { RouteParamsGeneric } from 'vue-router'\r\nimport { ElIcon } from 'element-plus'\r\n\r\nexport type SkyLanguage = typeof en\r\n\r\nexport type SkyComponent = Component & {\r\n title?: string\r\n // 是否添加到 keepAlive 列表\r\n // keepAliveName?: string\r\n keepAlive?: boolean\r\n icon?: string\r\n}\r\n\r\nexport interface SkyResource {\r\n name: string\r\n list?: SkyComponent\r\n create?: SkyComponent\r\n edit?: SkyComponent\r\n show?: SkyComponent\r\n}\r\n\r\nexport interface SkyMenu {\r\n routeName: string\r\n routeParams?: RouteParamsGeneric\r\n title: string\r\n icon?: string\r\n children?: SkyMenu[]\r\n permission: CanAccessItem\r\n}\r\n\r\nexport type SkyConfig = {\r\n sizeName: string\r\n langName: string\r\n tokenName: string\r\n usernameName: string\r\n collapseName: string\r\n tabsName: string\r\n tabListStackName: string\r\n notFoundRouteName: string\r\n loginRouteName: string\r\n welcomeRouteName: string\r\n layoutRouteName: string\r\n permissionThrottle: number\r\n dataProvider?: DataProvider\r\n icons?: Record<string, Component>\r\n menus?: SkyMenu[]\r\n resources?: SkyResource[] | (() => Promise<SkyResource[]>)\r\n getRandomRouteName: () => string\r\n getListRouteName: (resource: string) => string\r\n getCreateRouteName: (resource: string) => string\r\n getEditRouteName: (resource: string) => string\r\n getShowRouteName: (resource: string) => string\r\n locales: Record<string, SkyLanguage>\r\n loginPage?: Component | Promise<Component>\r\n layoutPage?: Component | Promise<Component>\r\n notFoundPage?: Component | Promise<Component>\r\n welcomePage?: Component | Promise<Component>\r\n logoImg?: string\r\n loginImg?: string\r\n themeEnabled: boolean\r\n getIconFnName: string\r\n}\r\n\r\nexport type SkyConfigKey = keyof SkyConfig\r\n\r\nexport const getRandomRouteName = () => Math.random().toString(16).slice(2)\r\nexport const getListRouteName = (resource: string) => `/sky/layout/${resource}`\r\nexport const getCreateRouteName = (resource: string) => `/sky/layout/${resource}/create`\r\nexport const getEditRouteName = (resource: string) => `/sky/layout/${resource}/edit`\r\nexport const getShowRouteName = (resource: string) => `/sky/layout/${resource}/show`\r\n\r\nexport const skyConfig: SkyConfig = {\r\n sizeName: 'sky:size',\r\n langName: 'sky:lang',\r\n tokenName: 'sky:user:token',\r\n usernameName: 'sky:user:username',\r\n collapseName: 'sky:menu:collapse',\r\n tabsName: 'sky:tab:tabs',\r\n tabListStackName: 'sky:tab:tabListStack',\r\n notFoundRouteName: '/sky/not-found',\r\n loginRouteName: '/sky/login',\r\n welcomeRouteName: '/sky/welcome',\r\n layoutRouteName: '/sky/layout',\r\n permissionThrottle: 5000,\r\n getRandomRouteName,\r\n getListRouteName,\r\n getCreateRouteName,\r\n getEditRouteName,\r\n getShowRouteName,\r\n locales: {\r\n en,\r\n },\r\n themeEnabled: false,\r\n getIconFnName: 'getIconFn',\r\n}\r\n\r\nexport type GetIconFn = (icon: string) => VNode | undefined\r\n\r\nexport const skyAdmin = {\r\n install: (app: App, config: Partial<SkyConfig>) => {\r\n Object.assign(skyConfig, config)\r\n\r\n app.use(\r\n createI18n({\r\n // 适配 composition API\r\n legacy: false,\r\n locale: 'en',\r\n fallbackLocale: 'en',\r\n messages: skyConfig.locales,\r\n }),\r\n )\r\n\r\n app.provide<GetIconFn>(skyConfig.getIconFnName, (icon) => {\r\n if (skyConfig.icons?.[icon]) {\r\n return h(ElIcon, null, {\r\n default: () => h(skyConfig.icons![icon]!),\r\n })\r\n }\r\n })\r\n },\r\n}\r\n"],"names":["getRandomRouteName","getListRouteName","resource","getCreateRouteName","getEditRouteName","getShowRouteName","skyConfig","en","skyAdmin","app","config","createI18n","icon","h","ElIcon"],"mappings":"2LAqEaA,EAAqB,IAAM,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,CAAC,EAC7DC,EAAoBC,GAAqB,eAAeA,CAAQ,GAChEC,EAAsBD,GAAqB,eAAeA,CAAQ,UAClEE,EAAoBF,GAAqB,eAAeA,CAAQ,QAChEG,EAAoBH,GAAqB,eAAeA,CAAQ,QAEhEI,EAAuB,CAClC,SAAU,WACV,SAAU,WACV,UAAW,iBACX,aAAc,oBACd,aAAc,oBACd,SAAU,eACV,iBAAkB,uBAClB,kBAAmB,iBACnB,eAAgB,aAChB,iBAAkB,eAClB,gBAAiB,cACjB,mBAAoB,IACpB,mBAAAN,EACA,iBAAAC,EACA,mBAAAE,EACA,iBAAAC,EACA,iBAAAC,EACA,QAAS,CAAA,GACPE,EAAAA,OAAA,EAEF,aAAc,GACd,cAAe,WACjB,EAIaC,EAAW,CACtB,QAAS,CAACC,EAAUC,IAA+B,CACjD,OAAO,OAAOJ,EAAWI,CAAM,EAE/BD,EAAI,IACFE,aAAW,CAET,OAAQ,GACR,OAAQ,KACR,eAAgB,KAChB,SAAUL,EAAU,OAAA,CACrB,CAAA,EAGHG,EAAI,QAAmBH,EAAU,cAAgBM,GAAS,CACxD,GAAIN,EAAU,QAAQM,CAAI,EACxB,OAAOC,EAAAA,EAAEC,EAAAA,OAAQ,KAAM,CACrB,QAAS,IAAMD,EAAAA,EAAEP,EAAU,MAAOM,CAAI,CAAE,CAAA,CACzC,CAEL,CAAC,CACH,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/setup/index.ts"],"sourcesContent":["import type { CanAccessItem, DataProvider } from '@/provides/dataProvider'\nimport { h, type App, type Component, type VNode } from 'vue'\nimport { default as en } from '@/i18n/locales/en'\nimport { createI18n } from 'vue-i18n'\nimport type { RouteParamsGeneric } from 'vue-router'\nimport { ElIcon } from 'element-plus'\n\nexport type SkyLanguage = typeof en\n\nexport type SkyComponent = Component & {\n title?: string\n // 是否添加到 keepAlive 列表\n // keepAliveName?: string\n keepAlive?: boolean\n icon?: string\n}\n\nexport interface SkyResource {\n name: string\n list?: SkyComponent\n create?: SkyComponent\n edit?: SkyComponent\n show?: SkyComponent\n}\n\nexport interface SkyMenu {\n routeName: string\n routeParams?: RouteParamsGeneric\n title: string\n icon?: string\n children?: SkyMenu[]\n permission: CanAccessItem\n}\n\nexport type SkyConfig = {\n sizeName: string\n langName: string\n tokenName: string\n usernameName: string\n collapseName: string\n tabsName: string\n tabListStackName: string\n notFoundRouteName: string\n loginRouteName: string\n welcomeRouteName: string\n layoutRouteName: string\n permissionThrottle: number\n dataProvider?: DataProvider\n icons?: Record<string, Component>\n menus?: SkyMenu[]\n resources?: SkyResource[] | (() => Promise<SkyResource[]>)\n getRandomRouteName: () => string\n getListRouteName: (resource: string) => string\n getCreateRouteName: (resource: string) => string\n getEditRouteName: (resource: string) => string\n getShowRouteName: (resource: string) => string\n locales: Record<string, SkyLanguage>\n loginPage?: Component | Promise<Component>\n layoutPage?: Component | Promise<Component>\n notFoundPage?: Component | Promise<Component>\n welcomePage?: Component | Promise<Component>\n logoImg?: string\n loginImg?: string\n themeEnabled: boolean\n getIconFnName: string\n}\n\nexport type SkyConfigKey = keyof SkyConfig\n\nexport const getRandomRouteName = () => Math.random().toString(16).slice(2)\nexport const getListRouteName = (resource: string) => `/sky/layout/${resource}`\nexport const getCreateRouteName = (resource: string) => `/sky/layout/${resource}/create`\nexport const getEditRouteName = (resource: string) => `/sky/layout/${resource}/edit`\nexport const getShowRouteName = (resource: string) => `/sky/layout/${resource}/show`\n\nexport const skyConfig: SkyConfig = {\n sizeName: 'sky:size',\n langName: 'sky:lang',\n tokenName: 'sky:user:token',\n usernameName: 'sky:user:username',\n collapseName: 'sky:menu:collapse',\n tabsName: 'sky:tab:tabs',\n tabListStackName: 'sky:tab:tabListStack',\n notFoundRouteName: '/sky/not-found',\n loginRouteName: '/sky/login',\n welcomeRouteName: '/sky/welcome',\n layoutRouteName: '/sky/layout',\n permissionThrottle: 5000,\n getRandomRouteName,\n getListRouteName,\n getCreateRouteName,\n getEditRouteName,\n getShowRouteName,\n locales: {\n en,\n },\n themeEnabled: false,\n getIconFnName: 'getIconFn',\n}\n\nexport type GetIconFn = (icon: string) => VNode | undefined\n\nexport const skyAdmin = {\n install: (app: App, config: Partial<SkyConfig>) => {\n Object.assign(skyConfig, config)\n\n app.use(\n createI18n({\n // 适配 composition API\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n messages: skyConfig.locales,\n }),\n )\n\n app.provide<GetIconFn>(skyConfig.getIconFnName, (icon) => {\n if (skyConfig.icons?.[icon]) {\n return h(ElIcon, null, {\n default: () => h(skyConfig.icons![icon]!),\n })\n }\n })\n },\n}\n"],"names":["getRandomRouteName","getListRouteName","resource","getCreateRouteName","getEditRouteName","getShowRouteName","skyConfig","en","skyAdmin","app","config","createI18n","icon","h","ElIcon"],"mappings":";;;;AAqEO,MAAMA,IAAqB,MAAM,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,CAAC,GAC7DC,IAAmB,CAACC,MAAqB,eAAeA,CAAQ,IAChEC,IAAqB,CAACD,MAAqB,eAAeA,CAAQ,WAClEE,IAAmB,CAACF,MAAqB,eAAeA,CAAQ,SAChEG,IAAmB,CAACH,MAAqB,eAAeA,CAAQ,SAEhEI,IAAuB;AAAA,EAClC,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc;AAAA,EACd,cAAc;AAAA,EACd,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,oBAAAN;AAAA,EACA,kBAAAC;AAAA,EACA,oBAAAE;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,SAAS;AAAA,IACP,IAAAE;AAAA,EAAA;AAAA,EAEF,cAAc;AAAA,EACd,eAAe;AACjB,GAIaC,IAAW;AAAA,EACtB,SAAS,CAACC,GAAUC,MAA+B;AACjD,WAAO,OAAOJ,GAAWI,CAAM,GAE/BD,EAAI;AAAA,MACFE,EAAW;AAAA;AAAA,QAET,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,UAAUL,EAAU;AAAA,MAAA,CACrB;AAAA,IAAA,GAGHG,EAAI,QAAmBH,EAAU,eAAe,CAACM,MAAS;AACxD,UAAIN,EAAU,QAAQM,CAAI;AACxB,eAAOC,EAAEC,GAAQ,MAAM;AAAA,UACrB,SAAS,MAAMD,EAAEP,EAAU,MAAOM,CAAI,CAAE;AAAA,QAAA,CACzC;AAAA,IAEL,CAAC;AAAA,EACH;AACF;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/setup/index.ts"],"sourcesContent":["import type { CanAccessItem, DataProvider } from '@/provides/dataProvider'\r\nimport { h, type App, type Component, type VNode } from 'vue'\r\nimport { default as en } from '@/i18n/locales/en'\r\nimport { createI18n } from 'vue-i18n'\r\nimport type { RouteParamsGeneric } from 'vue-router'\r\nimport { ElIcon } from 'element-plus'\r\n\r\nexport type SkyLanguage = typeof en\r\n\r\nexport type SkyComponent = Component & {\r\n title?: string\r\n // 是否添加到 keepAlive 列表\r\n // keepAliveName?: string\r\n keepAlive?: boolean\r\n icon?: string\r\n}\r\n\r\nexport interface SkyResource {\r\n name: string\r\n list?: SkyComponent\r\n create?: SkyComponent\r\n edit?: SkyComponent\r\n show?: SkyComponent\r\n}\r\n\r\nexport interface SkyMenu {\r\n routeName: string\r\n routeParams?: RouteParamsGeneric\r\n title: string\r\n icon?: string\r\n children?: SkyMenu[]\r\n permission: CanAccessItem\r\n}\r\n\r\nexport type SkyConfig = {\r\n sizeName: string\r\n langName: string\r\n tokenName: string\r\n usernameName: string\r\n collapseName: string\r\n tabsName: string\r\n tabListStackName: string\r\n notFoundRouteName: string\r\n loginRouteName: string\r\n welcomeRouteName: string\r\n layoutRouteName: string\r\n permissionThrottle: number\r\n dataProvider?: DataProvider\r\n icons?: Record<string, Component>\r\n menus?: SkyMenu[]\r\n resources?: SkyResource[] | (() => Promise<SkyResource[]>)\r\n getRandomRouteName: () => string\r\n getListRouteName: (resource: string) => string\r\n getCreateRouteName: (resource: string) => string\r\n getEditRouteName: (resource: string) => string\r\n getShowRouteName: (resource: string) => string\r\n locales: Record<string, SkyLanguage>\r\n loginPage?: Component | Promise<Component>\r\n layoutPage?: Component | Promise<Component>\r\n notFoundPage?: Component | Promise<Component>\r\n welcomePage?: Component | Promise<Component>\r\n logoImg?: string\r\n loginImg?: string\r\n themeEnabled: boolean\r\n getIconFnName: string\r\n}\r\n\r\nexport type SkyConfigKey = keyof SkyConfig\r\n\r\nexport const getRandomRouteName = () => Math.random().toString(16).slice(2)\r\nexport const getListRouteName = (resource: string) => `/sky/layout/${resource}`\r\nexport const getCreateRouteName = (resource: string) => `/sky/layout/${resource}/create`\r\nexport const getEditRouteName = (resource: string) => `/sky/layout/${resource}/edit`\r\nexport const getShowRouteName = (resource: string) => `/sky/layout/${resource}/show`\r\n\r\nexport const skyConfig: SkyConfig = {\r\n sizeName: 'sky:size',\r\n langName: 'sky:lang',\r\n tokenName: 'sky:user:token',\r\n usernameName: 'sky:user:username',\r\n collapseName: 'sky:menu:collapse',\r\n tabsName: 'sky:tab:tabs',\r\n tabListStackName: 'sky:tab:tabListStack',\r\n notFoundRouteName: '/sky/not-found',\r\n loginRouteName: '/sky/login',\r\n welcomeRouteName: '/sky/welcome',\r\n layoutRouteName: '/sky/layout',\r\n permissionThrottle: 5000,\r\n getRandomRouteName,\r\n getListRouteName,\r\n getCreateRouteName,\r\n getEditRouteName,\r\n getShowRouteName,\r\n locales: {\r\n en,\r\n },\r\n themeEnabled: false,\r\n getIconFnName: 'getIconFn',\r\n}\r\n\r\nexport type GetIconFn = (icon: string) => VNode | undefined\r\n\r\nexport const skyAdmin = {\r\n install: (app: App, config: Partial<SkyConfig>) => {\r\n Object.assign(skyConfig, config)\r\n\r\n app.use(\r\n createI18n({\r\n // 适配 composition API\r\n legacy: false,\r\n locale: 'en',\r\n fallbackLocale: 'en',\r\n messages: skyConfig.locales,\r\n }),\r\n )\r\n\r\n app.provide<GetIconFn>(skyConfig.getIconFnName, (icon) => {\r\n if (skyConfig.icons?.[icon]) {\r\n return h(ElIcon, null, {\r\n default: () => h(skyConfig.icons![icon]!),\r\n })\r\n }\r\n })\r\n },\r\n}\r\n"],"names":["getRandomRouteName","getListRouteName","resource","getCreateRouteName","getEditRouteName","getShowRouteName","skyConfig","en","skyAdmin","app","config","createI18n","icon","h","ElIcon"],"mappings":";;;;AAqEO,MAAMA,IAAqB,MAAM,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,CAAC,GAC7DC,IAAmB,CAACC,MAAqB,eAAeA,CAAQ,IAChEC,IAAqB,CAACD,MAAqB,eAAeA,CAAQ,WAClEE,IAAmB,CAACF,MAAqB,eAAeA,CAAQ,SAChEG,IAAmB,CAACH,MAAqB,eAAeA,CAAQ,SAEhEI,IAAuB;AAAA,EAClC,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc;AAAA,EACd,cAAc;AAAA,EACd,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,oBAAAN;AAAA,EACA,kBAAAC;AAAA,EACA,oBAAAE;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,SAAS;AAAA,IACP,IAAAE;AAAA,EAAA;AAAA,EAEF,cAAc;AAAA,EACd,eAAe;AACjB,GAIaC,IAAW;AAAA,EACtB,SAAS,CAACC,GAAUC,MAA+B;AACjD,WAAO,OAAOJ,GAAWI,CAAM,GAE/BD,EAAI;AAAA,MACFE,EAAW;AAAA;AAAA,QAET,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,UAAUL,EAAU;AAAA,MAAA,CACrB;AAAA,IAAA,GAGHG,EAAI,QAAmBH,EAAU,eAAe,CAACM,MAAS;AACxD,UAAIN,EAAU,QAAQM,CAAI;AACxB,eAAOC,EAAEC,GAAQ,MAAM;AAAA,UACrB,SAAS,MAAMD,EAAEP,EAAU,MAAOM,CAAI,CAAE;AAAA,QAAA,CACzC;AAAA,IAEL,CAAC;AAAA,EACH;AACF;"}
@@ -0,0 +1 @@
1
+ .sky-data-list-input .sky-data-list-input__button-add{width:100%;margin-top:8px}.sky-data-list-input .el-table .el-table__body tr:hover>td{background-color:rgba(0,0,0,0) !important}
@@ -1 +1 @@
1
- .sky-avatar-input .sky-avatar-input__preview{width:100%;height:100%;background:center/cover no-repeat}.sky-create{padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-create .el-card{display:flex;flex-direction:column;height:100%}.sky-create .el-card .el-card__body{flex:1;overflow:hidden}.sky-create .sky-create__footer{display:flex}.sky-data-table{position:relative;height:100%}.sky-data-table .sky-data-table__main,.sky-data-table .sky-data-table__main .el-table__inner-wrapper{height:100%}.sky-data-table .sky-data-table__alert{position:absolute;top:0;z-index:10}.sky-data-table .sky-data-table__alert .el-alert__content{padding-left:32px;flex:1}.sky-data-table .sky-data-table__alert .el-alert__description{display:flex;justify-content:space-between;align-items:center}.sky-data-table .sky-data-table__alert .el-alert__close-btn{right:auto;left:16px;top:50%;transform:translateY(-50%)}.sky-edit{padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-edit .el-card{display:flex;flex-direction:column;height:100%}.sky-edit .el-card .el-card__body{flex:1;overflow:hidden}.sky-edit .sky-edit__footer{display:flex;justify-content:space-between}.sky-file-multiple-input.is-file .el-form-item__content>div{width:100%}.sky-file-multiple-input.is-file .el-upload-dragger{background-color:var(--el-fill-color-lighter)}.sky-file-multiple-model-input .sky-file-multiple-model-input__img{width:100%;height:auto}.sky-file-multiple-model-input .sky-file-multiple-model-input__icon{font-size:67px;color:var(--el-text-color-placeholder);margin-bottom:16px;line-height:50px}.sky-file-multiple-model-input .sky-file-multiple-model-input__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.sky-file-multiple-model-input .sky-file-multiple-model-input__text em{color:var(--el-color-primary);font-style:normal}.sky-filter{display:flex;flex-wrap:wrap;gap:16px 32px}.sky-filter .el-form-item{margin:0}.sky-image-field{display:flex;flex-direction:column;gap:8px}.sky-image-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-link-field{display:flex;flex-direction:column;gap:8px}.sky-link-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-list{padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-list .el-card{display:flex;flex-direction:column;height:100%}.sky-list .el-card .el-card__body{flex:1;overflow:hidden}.sky-list .sky-list__header{display:flex;align-items:center;justify-content:space-between}.sky-list .sky-list__header_search{display:flex;flex:1;min-width:0}.sky-list .sky-list__pagination{display:flex;justify-content:space-between;padding:8px 16px}.sky-reference-array-field{display:flex;flex-direction:column;gap:8px}.sky-reference-array-field h4{font-size:14px;line-height:1.4;color:#6a7282}.sky-reference-field{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.sky-reference-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-reference-image-field{display:flex;flex-direction:column;gap:8px}.sky-reference-image-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-show-simple-layout{display:flex;flex-direction:column;gap:16px;padding:16px}.sky-show{padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-show .el-card{display:flex;flex-direction:column;height:100%}.sky-show .el-card .el-card__body{flex:1;overflow:hidden}.sky-simple-form{padding:16px}.sky-simple-form.is-grid{display:grid}.sky-single-field-list{display:flex;flex-wrap:wrap;gap:4px}.sky-text-field{display:flex;flex-direction:column;gap:8px}.sky-text-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-tree-with-details{--el-color-primary-light-9: var(--el-color-primary-light-7);padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-tree-with-details .el-tree{background:transparent}.sky-tree-with-details .sky-create,.sky-tree-with-details .sky-edit{padding:0}.sky-layout{--sky-width: 100vw;--sky-height: 100vh;--sky-header-height: 60px;--sky-logo-width: 100px;--sky-logo-height: 30px;--sky-aside-width: 200px;--sky-aisde-collapsed-width: 80px;--sky-tab-height: 40px;--sky-border-color: var(--el-border-color-light);--sky-bg-color: var(--el-bg-color);width:var(--sky-width);height:var(--sky-height);min-width:1000px;background-color:var(--sky-bg-color)}.sky-layout .sky-layout__header{height:var(--sky-header-height);border-bottom:1px solid var(--sky-border-color);display:flex;justify-content:space-between;align-items:center;padding:0 8px}.sky-layout .sky-layout__logo{width:var(--sky-logo-width);height:var(--sky-logo-height);background:transparent center/cover no-repeat}.sky-layout .sky-layout__header-opt{display:flex;align-items:center;gap:8px}.sky-layout .sky-layout__config{display:flex;cursor:pointer}.sky-layout .sky-layout__container{height:calc(var(--sky-height) - var(--sky-header-height));display:flex;overflow:hidden}.sky-layout .sky-layout__menu{position:relative;width:auto;border-right:1px solid var(--sky-border-color)}.sky-layout .sky-layout__menu .el-menu{width:var(--sky-aside-width);border:none}.sky-layout .sky-layout__menu .el-menu.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.sky-layout .sky-layout__menu .sky-layout__menu-collapse{position:absolute;right:-13px;top:50%;transform:translateY(-50%);cursor:pointer;z-index:99}.sky-layout .sky-layout__main{display:flex;flex-direction:column;flex:1;min-width:0}.sky-layout .sky-layout__tab{height:var(--sky-tab-height)}.sky-layout .sky-layout__tab .el-tabs__header{--el-tabs-header-height: var(--sky-tab-height);margin:0}.sky-layout .sky-layout__tab .el-tabs__nav-next,.sky-layout .sky-layout__tab .el-tabs__nav-prev{line-height:40px}.sky-layout .sky-layout__tab .el-tabs__nav-next .el-icon,.sky-layout .sky-layout__tab .el-tabs__nav-prev .el-icon{vertical-align:middle}.sky-layout .sky-layout__tab .el-tabs--card>.el-tabs__header .el-tabs__nav{border:none}.sky-layout .sky-layout__tab .el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:3px solid transparent}.sky-layout .sky-layout__tab .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom:3px solid var(--el-color-primary)}.sky-layout .sky-layout__tab .el-tabs--card>.el-tabs__header .el-tabs__item:last-child{border-right:1px solid var(--el-border-color-light)}.sky-layout .sky-layout__tab .el-tabs--card .el-tabs__nav-next{border-left:1px dashed var(--el-border-color-light)}.sky-layout .sky-layout__tab .el-tabs--card .el-tabs__nav-prev{border-right:1px dashed var(--el-border-color-light)}.sky-layout .sky-layout__tab-pane{display:flex;align-items:center;gap:4px}.sky-layout .sky-layout__body{--sky-layout-body-height: calc( var(--sky-height) - var(--sky-header-height) - var(--sky-tab-height) );--sky-layout-body-padding-top: 20px;--sky-layout-body-padding-left: 30px;height:var(--sky-layout-body-height)}.sky-layout .sky-layout-fade-enter-active{transition:opacity .3s ease-out}.sky-layout .sky-layout-fade-enter-from{opacity:0}.sky-layout .sky-layout-fade-enter-to{opacity:1}.sky-layout .sky-layout-fade-leave-active{transition:opacity .2s ease-in}.sky-layout .sky-layout-fade-leave-from{opacity:1}.sky-layout .sky-layout-fade-leave-to{opacity:0}.sky-page-login{display:flex;justify-content:center;align-items:center;gap:64px;height:100vh;margin:auto;padding:128px;max-width:1024px}@media(min-width:1024px){.sky-page-login{gap:128px}}@media(min-width:768px){.sky-page-login{padding:32px}}.sky-page-login .sky-page-login__back{display:none;width:50%;height:auto}@media(min-width:768px){.sky-page-login .sky-page-login__back{display:block}}.sky-page-login .sky-page-login__main{flex:1;display:flex;flex-direction:column;gap:16px}.sky-page-login .sky-page-login__title{font-size:24px;line-height:1.33}.sky-page-login .sky-page-login__button{width:100%}.sky-page-not-found{height:100vh;display:flex;justify-content:center;align-items:center}
1
+ .sky-avatar-input .sky-avatar-input__preview{width:100%;height:100%;background:center/cover no-repeat}.sky-create{padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-create .el-card{display:flex;flex-direction:column;height:100%}.sky-create .el-card .el-card__body{flex:1;overflow:hidden}.sky-create .sky-create__footer{display:flex}.sky-data-list-input .sky-data-list-input__button-add{width:100%;margin-top:8px}.sky-data-list-input .el-table .el-table__body tr:hover>td{background-color:transparent!important}.sky-data-table{position:relative;height:100%}.sky-data-table .sky-data-table__main,.sky-data-table .sky-data-table__main .el-table__inner-wrapper{height:100%}.sky-data-table .sky-data-table__alert{position:absolute;top:0;z-index:10}.sky-data-table .sky-data-table__alert .el-alert__content{padding-left:32px;flex:1}.sky-data-table .sky-data-table__alert .el-alert__description{display:flex;justify-content:space-between;align-items:center}.sky-data-table .sky-data-table__alert .el-alert__close-btn{right:auto;left:16px;top:50%;transform:translateY(-50%)}.sky-edit{padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-edit .el-card{display:flex;flex-direction:column;height:100%}.sky-edit .el-card .el-card__body{flex:1;overflow:hidden}.sky-edit .sky-edit__footer{display:flex;justify-content:space-between}.sky-file-multiple-input.is-file .el-form-item__content>div{width:100%}.sky-file-multiple-input.is-file .el-upload-dragger{background-color:var(--el-fill-color-lighter)}.sky-file-multiple-model-input .sky-file-multiple-model-input__img{width:100%;height:auto}.sky-file-multiple-model-input .sky-file-multiple-model-input__icon{font-size:67px;color:var(--el-text-color-placeholder);margin-bottom:16px;line-height:50px}.sky-file-multiple-model-input .sky-file-multiple-model-input__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.sky-file-multiple-model-input .sky-file-multiple-model-input__text em{color:var(--el-color-primary);font-style:normal}.sky-filter{display:flex;flex-wrap:wrap;gap:16px 32px}.sky-filter .el-form-item{margin:0}.sky-image-field{display:flex;flex-direction:column;gap:8px}.sky-image-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-link-field{display:flex;flex-direction:column;gap:8px}.sky-link-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-list{padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-list .el-card{display:flex;flex-direction:column;height:100%}.sky-list .el-card .el-card__body{flex:1;overflow:hidden}.sky-list .sky-list__header{display:flex;align-items:center;justify-content:space-between}.sky-list .sky-list__header_search{display:flex;flex:1;min-width:0}.sky-list .sky-list__pagination{display:flex;justify-content:space-between;padding:8px 16px}.sky-reference-array-field{display:flex;flex-direction:column;gap:8px}.sky-reference-array-field h4{font-size:14px;line-height:1.4;color:#6a7282}.sky-reference-field{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.sky-reference-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-reference-image-field{display:flex;flex-direction:column;gap:8px}.sky-reference-image-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-show-simple-layout{display:flex;flex-direction:column;gap:16px;padding:16px}.sky-show{padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-show .el-card{display:flex;flex-direction:column;height:100%}.sky-show .el-card .el-card__body{flex:1;overflow:hidden}.sky-simple-form{padding:16px}.sky-simple-form.is-grid{display:grid}.sky-single-field-list{display:flex;flex-wrap:wrap;gap:4px}.sky-text-field{display:flex;flex-direction:column;gap:8px}.sky-text-field h4{font-size:14px;line-height:1.4;color:#6a7282;font-weight:700}.sky-tree-with-details{--el-color-primary-light-9: var(--el-color-primary-light-7);padding:var(--sky-layout-body-padding-top) var(--sky-layout-body-padding-left)}.sky-tree-with-details .el-tree{background:transparent}.sky-tree-with-details .sky-create,.sky-tree-with-details .sky-edit{padding:0}.sky-layout{--sky-width: 100vw;--sky-height: 100vh;--sky-header-height: 60px;--sky-logo-width: 100px;--sky-logo-height: 30px;--sky-aside-width: 200px;--sky-aisde-collapsed-width: 80px;--sky-tab-height: 40px;--sky-border-color: var(--el-border-color-light);--sky-bg-color: var(--el-bg-color);width:var(--sky-width);height:var(--sky-height);min-width:1000px;background-color:var(--sky-bg-color)}.sky-layout .sky-layout__header{height:var(--sky-header-height);border-bottom:1px solid var(--sky-border-color);display:flex;justify-content:space-between;align-items:center;padding:0 8px}.sky-layout .sky-layout__logo{width:var(--sky-logo-width);height:var(--sky-logo-height);background:transparent center/cover no-repeat}.sky-layout .sky-layout__header-opt{display:flex;align-items:center;gap:8px}.sky-layout .sky-layout__config{display:flex;cursor:pointer}.sky-layout .sky-layout__container{height:calc(var(--sky-height) - var(--sky-header-height));display:flex;overflow:hidden}.sky-layout .sky-layout__menu{position:relative;width:auto;border-right:1px solid var(--sky-border-color)}.sky-layout .sky-layout__menu .el-menu{width:var(--sky-aside-width);border:none}.sky-layout .sky-layout__menu .el-menu.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.sky-layout .sky-layout__menu .sky-layout__menu-collapse{position:absolute;right:-13px;top:50%;transform:translateY(-50%);cursor:pointer;z-index:99}.sky-layout .sky-layout__main{display:flex;flex-direction:column;flex:1;min-width:0}.sky-layout .sky-layout__tab{height:var(--sky-tab-height)}.sky-layout .sky-layout__tab .el-tabs__header{--el-tabs-header-height: var(--sky-tab-height);margin:0}.sky-layout .sky-layout__tab .el-tabs__nav-next,.sky-layout .sky-layout__tab .el-tabs__nav-prev{line-height:40px}.sky-layout .sky-layout__tab .el-tabs__nav-next .el-icon,.sky-layout .sky-layout__tab .el-tabs__nav-prev .el-icon{vertical-align:middle}.sky-layout .sky-layout__tab .el-tabs--card>.el-tabs__header .el-tabs__nav{border:none}.sky-layout .sky-layout__tab .el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:3px solid transparent}.sky-layout .sky-layout__tab .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom:3px solid var(--el-color-primary)}.sky-layout .sky-layout__tab .el-tabs--card>.el-tabs__header .el-tabs__item:last-child{border-right:1px solid var(--el-border-color-light)}.sky-layout .sky-layout__tab .el-tabs--card .el-tabs__nav-next{border-left:1px dashed var(--el-border-color-light)}.sky-layout .sky-layout__tab .el-tabs--card .el-tabs__nav-prev{border-right:1px dashed var(--el-border-color-light)}.sky-layout .sky-layout__tab-pane{display:flex;align-items:center;gap:4px}.sky-layout .sky-layout__body{--sky-layout-body-height: calc( var(--sky-height) - var(--sky-header-height) - var(--sky-tab-height) );--sky-layout-body-padding-top: 20px;--sky-layout-body-padding-left: 30px;height:var(--sky-layout-body-height)}.sky-layout .sky-layout-fade-enter-active{transition:opacity .3s ease-out}.sky-layout .sky-layout-fade-enter-from{opacity:0}.sky-layout .sky-layout-fade-enter-to{opacity:1}.sky-layout .sky-layout-fade-leave-active{transition:opacity .2s ease-in}.sky-layout .sky-layout-fade-leave-from{opacity:1}.sky-layout .sky-layout-fade-leave-to{opacity:0}.sky-page-login{display:flex;justify-content:center;align-items:center;gap:64px;height:100vh;margin:auto;padding:128px;max-width:1024px}@media(min-width:1024px){.sky-page-login{gap:128px}}@media(min-width:768px){.sky-page-login{padding:32px}}.sky-page-login .sky-page-login__back{display:none;width:50%;height:auto}@media(min-width:768px){.sky-page-login .sky-page-login__back{display:block}}.sky-page-login .sky-page-login__main{flex:1;display:flex;flex-direction:column;gap:16px}.sky-page-login .sky-page-login__title{font-size:24px;line-height:1.33}.sky-page-login .sky-page-login__button{width:100%}.sky-page-not-found{height:100vh;display:flex;justify-content:center;align-items:center}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skyline-vue-admin",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },