skyline-vue-admin 0.0.13 → 0.0.15

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 (107) hide show
  1. package/dist/components/avatar-input/index.cjs.map +1 -1
  2. package/dist/components/avatar-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/edit-button/index.cjs.map +1 -1
  6. package/dist/components/edit-button/index.mjs.map +1 -1
  7. package/dist/components/file-multiple-input/index.cjs.map +1 -1
  8. package/dist/components/file-multiple-input/index.mjs.map +1 -1
  9. package/dist/components/image-field/index.cjs.map +1 -1
  10. package/dist/components/image-field/index.mjs.map +1 -1
  11. package/dist/components/link-field/index.cjs.map +1 -1
  12. package/dist/components/link-field/index.mjs.map +1 -1
  13. package/dist/components/radio-button-group-input/index.cjs.map +1 -1
  14. package/dist/components/radio-button-group-input/index.mjs.map +1 -1
  15. package/dist/components/reference-array-field/index.cjs.map +1 -1
  16. package/dist/components/reference-array-field/index.mjs.map +1 -1
  17. package/dist/components/reference-array-input/index.cjs.map +1 -1
  18. package/dist/components/reference-array-input/index.mjs.map +1 -1
  19. package/dist/components/reference-field/index.cjs.map +1 -1
  20. package/dist/components/reference-field/index.mjs.map +1 -1
  21. package/dist/components/reference-image-field/index.cjs.map +1 -1
  22. package/dist/components/reference-image-field/index.mjs.map +1 -1
  23. package/dist/components/show/index.cjs.map +1 -1
  24. package/dist/components/show/index.mjs.map +1 -1
  25. package/dist/components/show-button/index.cjs.map +1 -1
  26. package/dist/components/show-button/index.mjs.map +1 -1
  27. package/dist/components/show-simple-layout/index.cjs.map +1 -1
  28. package/dist/components/show-simple-layout/index.mjs.map +1 -1
  29. package/dist/components/simple-form/index.cjs.map +1 -1
  30. package/dist/components/simple-form/index.mjs.map +1 -1
  31. package/dist/components/single-field-list/index.cjs.map +1 -1
  32. package/dist/components/single-field-list/index.mjs.map +1 -1
  33. package/dist/components/text-input/index.cjs.map +1 -1
  34. package/dist/components/text-input/index.mjs.map +1 -1
  35. package/dist/components/tree-with-details/index.cjs +1 -1
  36. package/dist/components/tree-with-details/index.cjs.map +1 -1
  37. package/dist/components/tree-with-details/index.mjs +48 -42
  38. package/dist/components/tree-with-details/index.mjs.map +1 -1
  39. package/dist/hooks/useFormGrid.cjs.map +1 -1
  40. package/dist/hooks/useFormGrid.mjs.map +1 -1
  41. package/dist/hooks/useMenu.cjs.map +1 -1
  42. package/dist/hooks/useMenu.mjs.map +1 -1
  43. package/dist/hooks/usePermission.cjs.map +1 -1
  44. package/dist/hooks/usePermission.mjs.map +1 -1
  45. package/dist/hooks/useReferenceArrayField.cjs.map +1 -1
  46. package/dist/hooks/useReferenceArrayField.mjs.map +1 -1
  47. package/dist/hooks/useReferenceArrayInput.cjs.map +1 -1
  48. package/dist/hooks/useReferenceArrayInput.mjs.map +1 -1
  49. package/dist/hooks/useRouteKeepAlive.cjs.map +1 -1
  50. package/dist/hooks/useRouteKeepAlive.mjs.map +1 -1
  51. package/dist/hooks/useShow.cjs.map +1 -1
  52. package/dist/hooks/useShow.mjs.map +1 -1
  53. package/dist/hooks/useSize.cjs.map +1 -1
  54. package/dist/hooks/useSize.mjs.map +1 -1
  55. package/dist/hooks/useTab.cjs.map +1 -1
  56. package/dist/hooks/useTab.mjs.map +1 -1
  57. package/dist/hooks/useTreeWithDetails.cjs.map +1 -1
  58. package/dist/hooks/useTreeWithDetails.mjs.map +1 -1
  59. package/dist/hooks/useUser.cjs.map +1 -1
  60. package/dist/hooks/useUser.mjs.map +1 -1
  61. package/dist/i18n/locales/en.cjs.map +1 -1
  62. package/dist/i18n/locales/en.mjs.map +1 -1
  63. package/dist/i18n/locales/zh-cn.cjs.map +1 -1
  64. package/dist/i18n/locales/zh-cn.mjs.map +1 -1
  65. package/dist/icons/EpDelete.cjs.map +1 -1
  66. package/dist/icons/EpDelete.mjs.map +1 -1
  67. package/dist/icons/EpDocumentAdd.cjs.map +1 -1
  68. package/dist/icons/EpDocumentAdd.mjs.map +1 -1
  69. package/dist/icons/EpDownload.cjs.map +1 -1
  70. package/dist/icons/EpDownload.mjs.map +1 -1
  71. package/dist/icons/EpFullScreen.cjs.map +1 -1
  72. package/dist/icons/EpFullScreen.mjs.map +1 -1
  73. package/dist/icons/EpMoon.cjs.map +1 -1
  74. package/dist/icons/EpMoon.mjs.map +1 -1
  75. package/dist/icons/EpPlus.cjs.map +1 -1
  76. package/dist/icons/EpPlus.mjs.map +1 -1
  77. package/dist/icons/EpRefresh.cjs.map +1 -1
  78. package/dist/icons/EpRefresh.mjs.map +1 -1
  79. package/dist/icons/EpSunny.cjs.map +1 -1
  80. package/dist/icons/EpSunny.mjs.map +1 -1
  81. package/dist/icons/EpSwitchFilled.cjs.map +1 -1
  82. package/dist/icons/EpSwitchFilled.mjs.map +1 -1
  83. package/dist/icons/EpUploadFilled.cjs.map +1 -1
  84. package/dist/icons/EpUploadFilled.mjs.map +1 -1
  85. package/dist/icons/FluentFullScreenMinimize20Regular.cjs.map +1 -1
  86. package/dist/icons/FluentFullScreenMinimize20Regular.mjs.map +1 -1
  87. package/dist/icons/NimbusTextSize.cjs.map +1 -1
  88. package/dist/icons/NimbusTextSize.mjs.map +1 -1
  89. package/dist/icons/SkyMenuCollapse.cjs.map +1 -1
  90. package/dist/icons/SkyMenuCollapse.mjs.map +1 -1
  91. package/dist/icons/SlTrans.cjs.map +1 -1
  92. package/dist/icons/SlTrans.mjs.map +1 -1
  93. package/dist/layouts/default.cjs +1 -1
  94. package/dist/layouts/default.cjs.map +1 -1
  95. package/dist/layouts/default.mjs +35 -33
  96. package/dist/layouts/default.mjs.map +1 -1
  97. package/dist/pages/login.cjs.map +1 -1
  98. package/dist/pages/login.mjs.map +1 -1
  99. package/dist/pages/not-found.cjs.map +1 -1
  100. package/dist/pages/not-found.mjs.map +1 -1
  101. package/dist/pages/welcome.cjs.map +1 -1
  102. package/dist/pages/welcome.mjs.map +1 -1
  103. package/dist/router/index.cjs.map +1 -1
  104. package/dist/router/index.mjs.map +1 -1
  105. package/dist/setup/index.cjs.map +1 -1
  106. package/dist/setup/index.mjs.map +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EpUploadFilled.mjs","sources":["../../src/icons/EpUploadFilled.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport const EpUploadFilled = defineComponent({\r\n name: 'EpUploadFilled',\r\n setup() {\r\n return () => (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 1024\">\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M544 864V672h128L512 480L352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.81 239.81 0 0 1 512 192a239.87 239.87 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6z\"\r\n />\r\n </svg>\r\n )\r\n },\r\n})\r\n"],"names":["EpUploadFilled","defineComponent","name","setup","_createVNode"],"mappings":";AAEO,MAAMA,IAAiBC,gBAAAA,EAAgB;AAAA,EAC5CC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,SAAA;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":"EpUploadFilled.mjs","sources":["../../src/icons/EpUploadFilled.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport const EpUploadFilled = defineComponent({\n name: 'EpUploadFilled',\n setup() {\n return () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 1024\">\n <path\n fill=\"currentColor\"\n d=\"M544 864V672h128L512 480L352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.81 239.81 0 0 1 512 192a239.87 239.87 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6z\"\n />\n </svg>\n )\n },\n})\n"],"names":["EpUploadFilled","defineComponent","name","setup","_createVNode"],"mappings":";AAEO,MAAMA,IAAiBC,gBAAAA,EAAgB;AAAA,EAC5CC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,SAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,OAAA,IAAA,CAAA,CAAA;AAAA,EAQT;AACF,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FluentFullScreenMinimize20Regular.cjs","sources":["../../src/icons/FluentFullScreenMinimize20Regular.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport const FluentFullScreenMinimize20Regular = defineComponent({\r\n name: 'FluentFullScreenMinimize20Regular',\r\n setup() {\r\n return () => (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 20 20\">\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M14 5a1 1 0 0 0 1 1h2a.5.5 0 0 1 0 1h-2a2 2 0 0 1-2-2V3a.5.5 0 0 1 1 0zM6 15a1 1 0 0 0-1-1H3a.5.5 0 0 1 0-1h2a2 2 0 0 1 2 2v2a.5.5 0 0 1-1 0zm8 0a1 1 0 0 1 1-1h2a.5.5 0 0 0 0-1h-2a2 2 0 0 0-2 2v2a.5.5 0 0 0 1 0zM5 6a1 1 0 0 0 1-1V3a.5.5 0 0 1 1 0v2a2 2 0 0 1-2 2H3a.5.5 0 0 1 0-1z\"\r\n />\r\n </svg>\r\n )\r\n },\r\n})\r\n"],"names":["FluentFullScreenMinimize20Regular","defineComponent","name","setup","_createVNode"],"mappings":"uGAEaA,EAAoCC,EAAAA,gBAAgB,CAC/DC,KAAM,oCACNC,OAAQ,CACN,MAAO,IAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,6BAAA,MAAA,MAAA,OAAA,MAAA,QAAA,WAAA,EAAA,CAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,4RAAA,IAAA,CAAA,CAAA,CAQT,CACF,CAAC"}
1
+ {"version":3,"file":"FluentFullScreenMinimize20Regular.cjs","sources":["../../src/icons/FluentFullScreenMinimize20Regular.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport const FluentFullScreenMinimize20Regular = defineComponent({\n name: 'FluentFullScreenMinimize20Regular',\n setup() {\n return () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 20 20\">\n <path\n fill=\"currentColor\"\n d=\"M14 5a1 1 0 0 0 1 1h2a.5.5 0 0 1 0 1h-2a2 2 0 0 1-2-2V3a.5.5 0 0 1 1 0zM6 15a1 1 0 0 0-1-1H3a.5.5 0 0 1 0-1h2a2 2 0 0 1 2 2v2a.5.5 0 0 1-1 0zm8 0a1 1 0 0 1 1-1h2a.5.5 0 0 0 0-1h-2a2 2 0 0 0-2 2v2a.5.5 0 0 0 1 0zM5 6a1 1 0 0 0 1-1V3a.5.5 0 0 1 1 0v2a2 2 0 0 1-2 2H3a.5.5 0 0 1 0-1z\"\n />\n </svg>\n )\n },\n})\n"],"names":["FluentFullScreenMinimize20Regular","defineComponent","name","setup","_createVNode"],"mappings":"uGAEaA,EAAoCC,EAAAA,gBAAgB,CAC/DC,KAAM,oCACNC,OAAQ,CACN,MAAO,IAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,6BAAA,MAAA,MAAA,OAAA,MAAA,QAAA,WAAA,EAAA,CAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,4RAAA,IAAA,CAAA,CAAA,CAQT,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FluentFullScreenMinimize20Regular.mjs","sources":["../../src/icons/FluentFullScreenMinimize20Regular.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport const FluentFullScreenMinimize20Regular = defineComponent({\r\n name: 'FluentFullScreenMinimize20Regular',\r\n setup() {\r\n return () => (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 20 20\">\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M14 5a1 1 0 0 0 1 1h2a.5.5 0 0 1 0 1h-2a2 2 0 0 1-2-2V3a.5.5 0 0 1 1 0zM6 15a1 1 0 0 0-1-1H3a.5.5 0 0 1 0-1h2a2 2 0 0 1 2 2v2a.5.5 0 0 1-1 0zm8 0a1 1 0 0 1 1-1h2a.5.5 0 0 0 0-1h-2a2 2 0 0 0-2 2v2a.5.5 0 0 0 1 0zM5 6a1 1 0 0 0 1-1V3a.5.5 0 0 1 1 0v2a2 2 0 0 1-2 2H3a.5.5 0 0 1 0-1z\"\r\n />\r\n </svg>\r\n )\r\n },\r\n})\r\n"],"names":["FluentFullScreenMinimize20Regular","defineComponent","name","setup","_createVNode"],"mappings":";AAEO,MAAMA,IAAoCC,gBAAAA,EAAgB;AAAA,EAC/DC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,QAAA;AAAA,MAAA,SAAA;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":"FluentFullScreenMinimize20Regular.mjs","sources":["../../src/icons/FluentFullScreenMinimize20Regular.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport const FluentFullScreenMinimize20Regular = defineComponent({\n name: 'FluentFullScreenMinimize20Regular',\n setup() {\n return () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 20 20\">\n <path\n fill=\"currentColor\"\n d=\"M14 5a1 1 0 0 0 1 1h2a.5.5 0 0 1 0 1h-2a2 2 0 0 1-2-2V3a.5.5 0 0 1 1 0zM6 15a1 1 0 0 0-1-1H3a.5.5 0 0 1 0-1h2a2 2 0 0 1 2 2v2a.5.5 0 0 1-1 0zm8 0a1 1 0 0 1 1-1h2a.5.5 0 0 0 0-1h-2a2 2 0 0 0-2 2v2a.5.5 0 0 0 1 0zM5 6a1 1 0 0 0 1-1V3a.5.5 0 0 1 1 0v2a2 2 0 0 1-2 2H3a.5.5 0 0 1 0-1z\"\n />\n </svg>\n )\n },\n})\n"],"names":["FluentFullScreenMinimize20Regular","defineComponent","name","setup","_createVNode"],"mappings":";AAEO,MAAMA,IAAoCC,gBAAAA,EAAgB;AAAA,EAC/DC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,QAAA;AAAA,MAAA,SAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,OAAA,IAAA,CAAA,CAAA;AAAA,EAQT;AACF,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"NimbusTextSize.cjs","sources":["../../src/icons/NimbusTextSize.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport const NimbusTextSize = defineComponent({\r\n name: 'NimbusTextSize',\r\n setup() {\r\n return () => (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M6.1 2.75h3.09V4h1.25V1.5H.5V4h1.25V2.75h3.1v10.5H2.7v1.25h5.55v-1.25H6.1z\"\r\n />\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M12.4 6.75H8.06v2.5h1.25V8h1.84v5.25H9.63v1.25h4.3v-1.25H12.4V8h1.85v1.25h1.25v-2.5z\"\r\n />\r\n </svg>\r\n )\r\n },\r\n})\r\n"],"names":["NimbusTextSize","defineComponent","name","setup","_createVNode"],"mappings":"uGAEaA,EAAiBC,EAAAA,gBAAgB,CAC5CC,KAAM,iBACNC,OAAQ,CACN,MAAO,IAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,6BAAA,QAAA,WAAA,EAAA,CAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,4EAAA,EAAA,IAAA,EAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,wFAAA,IAAA,CAAA,CAAA,CAYT,CACF,CAAC"}
1
+ {"version":3,"file":"NimbusTextSize.cjs","sources":["../../src/icons/NimbusTextSize.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport const NimbusTextSize = defineComponent({\n name: 'NimbusTextSize',\n setup() {\n return () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n d=\"M6.1 2.75h3.09V4h1.25V1.5H.5V4h1.25V2.75h3.1v10.5H2.7v1.25h5.55v-1.25H6.1z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M12.4 6.75H8.06v2.5h1.25V8h1.84v5.25H9.63v1.25h4.3v-1.25H12.4V8h1.85v1.25h1.25v-2.5z\"\n />\n </svg>\n )\n },\n})\n"],"names":["NimbusTextSize","defineComponent","name","setup","_createVNode"],"mappings":"uGAEaA,EAAiBC,EAAAA,gBAAgB,CAC5CC,KAAM,iBACNC,OAAQ,CACN,MAAO,IAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,6BAAA,QAAA,WAAA,EAAA,CAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,4EAAA,EAAA,IAAA,EAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,wFAAA,IAAA,CAAA,CAAA,CAYT,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NimbusTextSize.mjs","sources":["../../src/icons/NimbusTextSize.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport const NimbusTextSize = defineComponent({\r\n name: 'NimbusTextSize',\r\n setup() {\r\n return () => (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M6.1 2.75h3.09V4h1.25V1.5H.5V4h1.25V2.75h3.1v10.5H2.7v1.25h5.55v-1.25H6.1z\"\r\n />\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M12.4 6.75H8.06v2.5h1.25V8h1.84v5.25H9.63v1.25h4.3v-1.25H12.4V8h1.85v1.25h1.25v-2.5z\"\r\n />\r\n </svg>\r\n )\r\n },\r\n})\r\n"],"names":["NimbusTextSize","defineComponent","name","setup","_createVNode"],"mappings":";AAEO,MAAMA,IAAiBC,gBAAAA,EAAgB;AAAA,EAC5CC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,SAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,IAAA,GAAA,IAAA,GAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,OAAA,IAAA,CAAA,CAAA;AAAA,EAYT;AACF,CAAC;"}
1
+ {"version":3,"file":"NimbusTextSize.mjs","sources":["../../src/icons/NimbusTextSize.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport const NimbusTextSize = defineComponent({\n name: 'NimbusTextSize',\n setup() {\n return () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n d=\"M6.1 2.75h3.09V4h1.25V1.5H.5V4h1.25V2.75h3.1v10.5H2.7v1.25h5.55v-1.25H6.1z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M12.4 6.75H8.06v2.5h1.25V8h1.84v5.25H9.63v1.25h4.3v-1.25H12.4V8h1.85v1.25h1.25v-2.5z\"\n />\n </svg>\n )\n },\n})\n"],"names":["NimbusTextSize","defineComponent","name","setup","_createVNode"],"mappings":";AAEO,MAAMA,IAAiBC,gBAAAA,EAAgB;AAAA,EAC5CC,MAAM;AAAA,EACNC,QAAQ;AACN,WAAO,MAAAC,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,MAAA,SAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,IAAA,GAAA,IAAA,GAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,OAAA,IAAA,CAAA,CAAA;AAAA,EAYT;AACF,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkyMenuCollapse.cjs","sources":["../../src/icons/SkyMenuCollapse.tsx"],"sourcesContent":["import { defineComponent, onMounted, useTemplateRef } from 'vue'\r\n\r\nexport const SkyMenuCollapse = defineComponent({\r\n name: 'SkyMenuCollapse',\r\n setup() {\r\n const pathRef = useTemplateRef<SVGPathElement | null>('pathRef')\r\n onMounted(() => {\r\n pathRef.value?.setAttribute('fill', 'var(--sky-bg-color)')\r\n })\r\n return () => (\r\n <svg\r\n ref=\"svgRef\"\r\n width=\"15\"\r\n height=\"92\"\r\n viewBox=\"0 0 15 92\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n style=\"color: var(--el-border-color-light)\"\r\n >\r\n <path\r\n ref=\"pathRef\"\r\n d=\"M2 92L2 0H3C3 3.77087 4.42026 7.40332 6.97794 10.1742L10.4917 13.9807C13.3904 17.121 15 21.2378 15 25.5115V66.626C15 71.0146 13.3028 75.2332 10.2636 78.399L7.1792 81.6119C4.4975 84.4054 3 88.1277 3 92H2Z\"\r\n />\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M2 92H3C3 88.1277 4.4975 84.4054 7.17919 81.612L10.2636 78.3991C13.3028 75.2332 15 71.0147 15 66.6261V25.5115C15 21.2379 13.3904 17.121 10.4917 13.9807L6.97795 10.1742C4.42026 7.40337 3 3.77085 3 0H2C2 1.91731 2.34422 3.80108 3 5.56777C3.71995 7.50734 4.81541 9.30577 6.24314 10.8525L9.75686 14.659C12.4851 17.6146 14 21.4892 14 25.5115V66.6261C14 70.7565 12.4027 74.7269 9.5422 77.7066L6.4578 80.9195C4.92573 82.5154 3.75601 84.3955 3 86.4322C2.34449 88.1982 2 90.0818 2 92Z\"\r\n />\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M8.44061 41.6074L9.05932 42.2261L5.28535 46.0001L9.05932 49.7741L8.44061 50.3928L4.04791 46.0001L8.44061 41.6074Z\"\r\n />\r\n </svg>\r\n )\r\n },\r\n})\r\n"],"names":["SkyMenuCollapse","defineComponent","name","setup","pathRef","useTemplateRef","onMounted","value","setAttribute","_createVNode"],"mappings":"uGAEaA,EAAkBC,EAAAA,gBAAgB,CAC7CC,KAAM,kBACNC,OAAQ,CACN,MAAMC,EAAUC,EAAAA,eAAsC,SAAS,EAC/DC,OAAAA,EAAAA,UAAU,IAAM,CACdF,EAAQG,OAAOC,aAAa,OAAQ,qBAAqB,CAC3D,CAAC,EACM,IAAAC,EAAAA,YAAA,MAAA,CAAA,IAAA,SAAA,MAAA,KAAA,OAAA,KAAA,QAAA,YAAA,MAAA,6BAAA,MAAA,qCAAA,EAAA,CAAAA,EAAAA,YAAA,OAAA,CAAA,IAAA,UAAA,EAAA,6MAAA,EAAA,IAAA,EAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,6dAAA,EAAA,IAAA,EAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,qHAAA,IAAA,CAAA,CAAA,CAuBT,CACF,CAAC"}
1
+ {"version":3,"file":"SkyMenuCollapse.cjs","sources":["../../src/icons/SkyMenuCollapse.tsx"],"sourcesContent":["import { defineComponent, onMounted, useTemplateRef } from 'vue'\n\nexport const SkyMenuCollapse = defineComponent({\n name: 'SkyMenuCollapse',\n setup() {\n const pathRef = useTemplateRef<SVGPathElement | null>('pathRef')\n onMounted(() => {\n pathRef.value?.setAttribute('fill', 'var(--sky-bg-color)')\n })\n return () => (\n <svg\n ref=\"svgRef\"\n width=\"15\"\n height=\"92\"\n viewBox=\"0 0 15 92\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: var(--el-border-color-light)\"\n >\n <path\n ref=\"pathRef\"\n d=\"M2 92L2 0H3C3 3.77087 4.42026 7.40332 6.97794 10.1742L10.4917 13.9807C13.3904 17.121 15 21.2378 15 25.5115V66.626C15 71.0146 13.3028 75.2332 10.2636 78.399L7.1792 81.6119C4.4975 84.4054 3 88.1277 3 92H2Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M2 92H3C3 88.1277 4.4975 84.4054 7.17919 81.612L10.2636 78.3991C13.3028 75.2332 15 71.0147 15 66.6261V25.5115C15 21.2379 13.3904 17.121 10.4917 13.9807L6.97795 10.1742C4.42026 7.40337 3 3.77085 3 0H2C2 1.91731 2.34422 3.80108 3 5.56777C3.71995 7.50734 4.81541 9.30577 6.24314 10.8525L9.75686 14.659C12.4851 17.6146 14 21.4892 14 25.5115V66.6261C14 70.7565 12.4027 74.7269 9.5422 77.7066L6.4578 80.9195C4.92573 82.5154 3.75601 84.3955 3 86.4322C2.34449 88.1982 2 90.0818 2 92Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M8.44061 41.6074L9.05932 42.2261L5.28535 46.0001L9.05932 49.7741L8.44061 50.3928L4.04791 46.0001L8.44061 41.6074Z\"\n />\n </svg>\n )\n },\n})\n"],"names":["SkyMenuCollapse","defineComponent","name","setup","pathRef","useTemplateRef","onMounted","value","setAttribute","_createVNode"],"mappings":"uGAEaA,EAAkBC,EAAAA,gBAAgB,CAC7CC,KAAM,kBACNC,OAAQ,CACN,MAAMC,EAAUC,EAAAA,eAAsC,SAAS,EAC/DC,OAAAA,EAAAA,UAAU,IAAM,CACdF,EAAQG,OAAOC,aAAa,OAAQ,qBAAqB,CAC3D,CAAC,EACM,IAAAC,EAAAA,YAAA,MAAA,CAAA,IAAA,SAAA,MAAA,KAAA,OAAA,KAAA,QAAA,YAAA,MAAA,6BAAA,MAAA,qCAAA,EAAA,CAAAA,EAAAA,YAAA,OAAA,CAAA,IAAA,UAAA,EAAA,6MAAA,EAAA,IAAA,EAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,6dAAA,EAAA,IAAA,EAAAA,EAAAA,YAAA,OAAA,CAAA,KAAA,eAAA,EAAA,qHAAA,IAAA,CAAA,CAAA,CAuBT,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkyMenuCollapse.mjs","sources":["../../src/icons/SkyMenuCollapse.tsx"],"sourcesContent":["import { defineComponent, onMounted, useTemplateRef } from 'vue'\r\n\r\nexport const SkyMenuCollapse = defineComponent({\r\n name: 'SkyMenuCollapse',\r\n setup() {\r\n const pathRef = useTemplateRef<SVGPathElement | null>('pathRef')\r\n onMounted(() => {\r\n pathRef.value?.setAttribute('fill', 'var(--sky-bg-color)')\r\n })\r\n return () => (\r\n <svg\r\n ref=\"svgRef\"\r\n width=\"15\"\r\n height=\"92\"\r\n viewBox=\"0 0 15 92\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n style=\"color: var(--el-border-color-light)\"\r\n >\r\n <path\r\n ref=\"pathRef\"\r\n d=\"M2 92L2 0H3C3 3.77087 4.42026 7.40332 6.97794 10.1742L10.4917 13.9807C13.3904 17.121 15 21.2378 15 25.5115V66.626C15 71.0146 13.3028 75.2332 10.2636 78.399L7.1792 81.6119C4.4975 84.4054 3 88.1277 3 92H2Z\"\r\n />\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M2 92H3C3 88.1277 4.4975 84.4054 7.17919 81.612L10.2636 78.3991C13.3028 75.2332 15 71.0147 15 66.6261V25.5115C15 21.2379 13.3904 17.121 10.4917 13.9807L6.97795 10.1742C4.42026 7.40337 3 3.77085 3 0H2C2 1.91731 2.34422 3.80108 3 5.56777C3.71995 7.50734 4.81541 9.30577 6.24314 10.8525L9.75686 14.659C12.4851 17.6146 14 21.4892 14 25.5115V66.6261C14 70.7565 12.4027 74.7269 9.5422 77.7066L6.4578 80.9195C4.92573 82.5154 3.75601 84.3955 3 86.4322C2.34449 88.1982 2 90.0818 2 92Z\"\r\n />\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M8.44061 41.6074L9.05932 42.2261L5.28535 46.0001L9.05932 49.7741L8.44061 50.3928L4.04791 46.0001L8.44061 41.6074Z\"\r\n />\r\n </svg>\r\n )\r\n },\r\n})\r\n"],"names":["SkyMenuCollapse","defineComponent","name","setup","pathRef","useTemplateRef","onMounted","value","setAttribute","_createVNode"],"mappings":";AAEO,MAAMA,IAAkBC,gBAAAA,EAAgB;AAAA,EAC7CC,MAAM;AAAA,EACNC,QAAQ;AACN,UAAMC,IAAUC,EAAsC,SAAS;AAC/DC,WAAAA,EAAU,MAAM;AACdF,MAAAA,EAAQG,OAAOC,aAAa,QAAQ,qBAAqB;AAAA,IAC3D,CAAC,GACM,MAAAC,EAAA,OAAA;AAAA,MAAA,KAAA;AAAA,MAAA,OAAA;AAAA,MAAA,QAAA;AAAA,MAAA,SAAA;AAAA,MAAA,OAAA;AAAA,MAAA,OAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,QAAA;AAAA,MAAA,KAAA;AAAA,MAAA,GAAA;AAAA,IAAA,GAAA,IAAA,GAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,IAAA,GAAA,IAAA,GAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,OAAA,IAAA,CAAA,CAAA;AAAA,EAuBT;AACF,CAAC;"}
1
+ {"version":3,"file":"SkyMenuCollapse.mjs","sources":["../../src/icons/SkyMenuCollapse.tsx"],"sourcesContent":["import { defineComponent, onMounted, useTemplateRef } from 'vue'\n\nexport const SkyMenuCollapse = defineComponent({\n name: 'SkyMenuCollapse',\n setup() {\n const pathRef = useTemplateRef<SVGPathElement | null>('pathRef')\n onMounted(() => {\n pathRef.value?.setAttribute('fill', 'var(--sky-bg-color)')\n })\n return () => (\n <svg\n ref=\"svgRef\"\n width=\"15\"\n height=\"92\"\n viewBox=\"0 0 15 92\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: var(--el-border-color-light)\"\n >\n <path\n ref=\"pathRef\"\n d=\"M2 92L2 0H3C3 3.77087 4.42026 7.40332 6.97794 10.1742L10.4917 13.9807C13.3904 17.121 15 21.2378 15 25.5115V66.626C15 71.0146 13.3028 75.2332 10.2636 78.399L7.1792 81.6119C4.4975 84.4054 3 88.1277 3 92H2Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M2 92H3C3 88.1277 4.4975 84.4054 7.17919 81.612L10.2636 78.3991C13.3028 75.2332 15 71.0147 15 66.6261V25.5115C15 21.2379 13.3904 17.121 10.4917 13.9807L6.97795 10.1742C4.42026 7.40337 3 3.77085 3 0H2C2 1.91731 2.34422 3.80108 3 5.56777C3.71995 7.50734 4.81541 9.30577 6.24314 10.8525L9.75686 14.659C12.4851 17.6146 14 21.4892 14 25.5115V66.6261C14 70.7565 12.4027 74.7269 9.5422 77.7066L6.4578 80.9195C4.92573 82.5154 3.75601 84.3955 3 86.4322C2.34449 88.1982 2 90.0818 2 92Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M8.44061 41.6074L9.05932 42.2261L5.28535 46.0001L9.05932 49.7741L8.44061 50.3928L4.04791 46.0001L8.44061 41.6074Z\"\n />\n </svg>\n )\n },\n})\n"],"names":["SkyMenuCollapse","defineComponent","name","setup","pathRef","useTemplateRef","onMounted","value","setAttribute","_createVNode"],"mappings":";AAEO,MAAMA,IAAkBC,gBAAAA,EAAgB;AAAA,EAC7CC,MAAM;AAAA,EACNC,QAAQ;AACN,UAAMC,IAAUC,EAAsC,SAAS;AAC/DC,WAAAA,EAAU,MAAM;AACdF,MAAAA,EAAQG,OAAOC,aAAa,QAAQ,qBAAqB;AAAA,IAC3D,CAAC,GACM,MAAAC,EAAA,OAAA;AAAA,MAAA,KAAA;AAAA,MAAA,OAAA;AAAA,MAAA,QAAA;AAAA,MAAA,SAAA;AAAA,MAAA,OAAA;AAAA,MAAA,OAAA;AAAA,IAAA,GAAA,CAAAA,EAAA,QAAA;AAAA,MAAA,KAAA;AAAA,MAAA,GAAA;AAAA,IAAA,GAAA,IAAA,GAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,IAAA,GAAA,IAAA,GAAAA,EAAA,QAAA;AAAA,MAAA,MAAA;AAAA,MAAA,GAAA;AAAA,OAAA,IAAA,CAAA,CAAA;AAAA,EAuBT;AACF,CAAC;"}
@@ -1 +1 @@
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
+ {"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 +1 @@
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;"}
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,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("element-plus/es/components/dropdown/style/css");require("element-plus/es/components/dropdown-item/style/css");require("element-plus/es/components/dropdown-menu/style/css");require("element-plus/es/components/icon/style/css");require("element-plus/es/components/menu/style/css");require("element-plus/es/components/menu-item/style/css");require("element-plus/es/components/scrollbar/style/css");require("element-plus/es/components/sub-menu/style/css");require("element-plus/es/components/tab-pane/style/css");require("element-plus/es/components/tabs/style/css");require("element-plus/es/components/text/style/css");const e=require("vue"),h=require("../icons/EpFullScreen.cjs"),z=require("../icons/EpRefresh.cjs"),M=require("../icons/FluentFullScreenMinimize20Regular.cjs"),T=require("../icons/NimbusTextSize.cjs"),D=require("../icons/SkyMenuCollapse.cjs"),I=require("../icons/SlTrans.cjs"),R=require("../hooks/useUser.cjs");require("../hooks/usePermission.cjs");const w=require("../hooks/useMenu.cjs"),L=require("../hooks/useTab.cjs"),F=require("../hooks/useRouteKeepAlive.cjs"),f=require("../hooks/useSize.cjs"),P=require("../hooks/useLang.cjs"),p=require("../hooks/useTheme.cjs");require("../hooks/useList.cjs");require("../hooks/useHiddenTitle.cjs");require("../hooks/useForm.cjs");require("../hooks/useShow.cjs");require("../hooks/useReferenceArrayField.cjs");require("../hooks/useTreeWithDetails.cjs");require("../hooks/useFormGrid.cjs");require("../hooks/useReferenceArrayInput.cjs");const C=require("@vueuse/core"),o=require("element-plus"),k=require("vue-i18n"),v=require("vue-router"),V=require("../setup/index.cjs");function N(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const r=e.defineComponent({name:"SkyLayoutPage",setup(){const t=v.useRouter(),a=v.useRoute(),{collapse:u,menus:l}=w.useMenu(),{removeTab:s,lastTab:n,tabs:c}=L.useTab(),{includeList:m,addKeepAlive:y,removeKeepAlive:_}=F.useRouteKeepAlive(),q=g=>{const d=c.value.find(i=>i.routeName===g);d&&t.push({name:d.routeName,params:d.routeParams})},b=g=>{const d=c.value.find(i=>i.routeName===g);d&&(d?.routeKeepAliveName&&_(d.routeKeepAliveName),s(d.routeName),d.routeName===a.name&&n.value&&t.replace({name:n.value.routeName,params:n.value.routeParams}))};e.watch(()=>a.meta,g=>y(String(g.keepAliveName)),{immediate:!0});const S=e.inject(V.skyConfig.getIconFnName);return()=>{let g,d;return e.createVNode("div",{class:"sky-layout"},[e.createVNode("header",{class:"sky-layout__header"},[e.createVNode(r.Logo,null,null),e.createVNode("div",{class:"sky-layout__header-opt"},[e.createVNode(r.ConfigeSize,null,null),e.createVNode(r.ConfigLang,null,null),e.createVNode(r.ConfigTheme,null,null),e.createVNode(r.Fullscreen,null,null),e.createVNode(r.Refresh,null,null),e.createVNode(r.User,null,null)])]),e.createVNode("section",{class:"sky-layout__container"},[e.createVNode("aside",{class:"sky-layout__menu"},[e.createVNode(o.ElScrollbar,null,{default:()=>[e.createVNode(o.ElMenu,{collapse:u.value,"default-active":a.name,"unique-opened":!0,"collapse-transition":!0},N(g=l.value.map(i=>e.createVNode(r.SubMenu,{key:i.routeName,item:i},null)))?g:{default:()=>[g]})]}),e.createVNode("div",{class:"sky-layout__menu-collapse",onClick:()=>u.value=!u.value},[e.createVNode(D.SkyMenuCollapse,null,null)])]),e.createVNode("section",{class:"sky-layout__main"},[e.createVNode("div",{class:"sky-layout__tab"},[e.createVNode(o.ElTabs,{type:"card","model-value":a.name,onTabChange:q,onTabRemove:b},N(d=c.value.map(i=>e.createVNode(o.ElTabPane,{key:i.routeName,name:i.routeName,closable:i.closable},{label:()=>e.createVNode("div",{class:"sky-layout__tab-pane"},[i.icon&&S(i.icon),e.createVNode("span",null,[i.title])])})))?d:{default:()=>[d]})]),e.createVNode("div",{class:"sky-layout__body"},[e.createVNode(o.ElScrollbar,null,{default:()=>[e.createVNode(v.RouterView,null,{default:({Component:i,route:E})=>e.createVNode(e.Transition,{"enter-active-class":"sky-layout-fade-enter-active","enter-from-class":"sky-layout-fade-enter-from","enter-to-class":"sky-layout-fade-enter-to","leave-active-class":"sky-layout-fade-leave-active","leave-from-class":"sky-layout-fade-leave-from","leave-to-class":"sky-layout-fade-leave-to",appear:!0,mode:"out-in"},{default:()=>[e.createVNode(e.KeepAlive,{include:m.value},[e.h(i,{key:E.fullPath})])]})})]})])])])])}}});r.Logo=e.defineComponent({name:"DefaultLayoutPageLogo",setup(){return()=>V.skyConfig.logoImg&&e.createVNode("div",{class:"sky-layout__logo",style:{backgroundImage:`url(${V.skyConfig.logoImg})`}},null)}});r.ConfigeSize=e.defineComponent({name:"DefaultLayoutPageConfigeSize",setup(){const{t}=k.useI18n(),{enabled:a,size:u,select:l}=f.useSize();return()=>a&&e.createVNode("div",{class:"sky-layout__config"},[e.createVNode(o.ElDropdown,{trigger:"click",onCommand:l},{default:()=>e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[u.value]},{default:()=>[e.createVNode(T.NimbusTextSize,null,null)]}),dropdown:()=>{let s;return e.createVNode(o.ElDropdownMenu,null,N(s=Object.values(f.SizeConfig.options).map(n=>{let c;return e.createVNode(o.ElDropdownItem,{key:n.value,command:n.value,disabled:u.value===n.value},N(c=t(n.label))?c:{default:()=>[c]})}))?s:{default:()=>[s]})}})])}});r.ConfigLang=e.defineComponent({name:"DefaultLayoutPageConfigLang",setup(){const{messages:t,t:a,locale:u}=k.useI18n(),{lang:l}=P.useLang(),{size:s}=f.useSize(),n=e.computed(()=>Object.keys(t.value).map(m=>({value:m,label:a(`lang.${m}`)}))),c=m=>{l.value=m,u.value=m};return()=>n.value.length>1?e.createVNode("div",{class:"sky-layout__config"},[e.createVNode(o.ElDropdown,{trigger:"click",onCommand:c},{default:()=>e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[s.value]},{default:()=>[e.createVNode(I.SlTrans,null,null)]}),dropdown:()=>{let m;return e.createVNode(o.ElDropdownMenu,null,N(m=n.value.map(y=>e.createVNode(o.ElDropdownItem,{key:y.value,command:y.value,disabled:l.value===y.value},{default:()=>[y.label]})))?m:{default:()=>[m]})}})]):null}});r.ConfigTheme=e.defineComponent({name:"DefaultLayoutPageConfigTheme",setup(){const{select:t,theme:a}=p.useTheme(),{size:u}=f.useSize();return()=>V.skyConfig.themeEnabled&&e.createVNode("div",{class:"sky-layout__config"},[e.createVNode(o.ElDropdown,{trigger:"click",onCommand:t},{default:()=>e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[u.value]},{default:()=>e.h(p.ThemeConfig[a.value].icon)}),dropdown:()=>{let l;return e.createVNode(o.ElDropdownMenu,null,N(l=Object.values(p.ThemeConfig).map(s=>e.createVNode(o.ElDropdownItem,{key:s.value,command:s.value,disabled:a.value===s.value},{default:()=>[e.createVNode(o.ElIcon,null,{default:()=>e.h(s.icon)})]})))?l:{default:()=>[l]})}})])}});r.Fullscreen=e.defineComponent({name:"DefaultLayoutPageFullscreen",setup(){const{isFullscreen:t,toggle:a}=C.useFullscreen();C.useEventListener("keydown",l=>{l.key==="F11"&&(l.preventDefault(),a())});const{size:u}=f.useSize();return()=>e.createVNode("div",{class:"sky-layout__config",onClick:a},[e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[u.value]},{default:()=>[t.value?e.createVNode(M.FluentFullScreenMinimize20Regular,null,null):e.createVNode(h.EpFullScreen,null,null)]})])}});r.Refresh=e.defineComponent({name:"DefaultLayoutPageRefresh",setup(){const{size:t}=f.useSize(),a=v.useRouter(),u=v.useRoute(),l=()=>{a.replace({name:u.name,query:{t:Date.now()}})};return()=>e.createVNode("div",{class:"sky-layout__config",onClick:l},[e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[t.value]},{default:()=>[e.createVNode(z.EpRefresh,null,null)]})])}});r.User=e.defineComponent({name:"DefaultLayoutPageUser",setup(){const t=v.useRouter(),{t:a}=k.useI18n(),{username:u,logout:l}=R.useUser(),s=n=>{n==="edit"||n==="logout"&&(l(),t.replace({name:V.skyConfig.loginRouteName}))};return()=>u.value&&e.createVNode("div",{class:"sky-layout__config"},[e.createVNode(o.ElDropdown,{trigger:"click",onCommand:s},{default:()=>e.createVNode(o.ElText,null,{default:()=>[u.value]}),dropdown:()=>e.createVNode(o.ElDropdownMenu,null,{default:()=>{let n,c;return e.createVNode(e.Fragment,null,[e.createVNode(o.ElDropdownItem,{command:"edit"},N(n=a("user.edit"))?n:{default:()=>[n]}),e.createVNode(o.ElDropdownItem,{command:"logout"},N(c=a("user.logout"))?c:{default:()=>[c]})])}})})])}});r.SubMenu=e.defineComponent({name:"DefaultLayoutPageSubMenu",props:{item:{type:Object,required:!0}},setup(t){const a=v.useRouter(),u=()=>{a.hasRoute(t.item.routeName)&&a.push({name:t.item.routeName,params:t.item.routeParams})},l=e.inject(V.skyConfig.getIconFnName);return()=>e.createVNode(e.Fragment,null,[t.item.children?.length?e.createVNode(o.ElSubMenu,{index:t.item.routeName},{default:()=>t.item.children.map(s=>e.createVNode(r.SubMenu,{key:s.routeName,item:s},null)),title:()=>e.createVNode(e.Fragment,null,[t.item.icon&&l(t.item.icon),e.createVNode("span",null,[t.item.title])])}):e.createVNode(o.ElMenuItem,{index:t.item.routeName,onClick:u},{default:()=>t.item.icon&&l(t.item.icon),title:()=>t.item.title})])}});exports.default=r;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("element-plus/es/components/dropdown/style/css");require("element-plus/es/components/dropdown-item/style/css");require("element-plus/es/components/dropdown-menu/style/css");require("element-plus/es/components/icon/style/css");require("element-plus/es/components/menu/style/css");require("element-plus/es/components/menu-item/style/css");require("element-plus/es/components/scrollbar/style/css");require("element-plus/es/components/sub-menu/style/css");require("element-plus/es/components/tab-pane/style/css");require("element-plus/es/components/tabs/style/css");require("element-plus/es/components/text/style/css");const e=require("vue"),h=require("../icons/EpFullScreen.cjs"),z=require("../icons/EpRefresh.cjs"),T=require("../icons/FluentFullScreenMinimize20Regular.cjs"),D=require("../icons/NimbusTextSize.cjs"),I=require("../icons/SkyMenuCollapse.cjs"),M=require("../icons/SlTrans.cjs"),R=require("../hooks/useUser.cjs");require("../hooks/usePermission.cjs");const w=require("../hooks/useMenu.cjs"),L=require("../hooks/useTab.cjs"),F=require("../hooks/useRouteKeepAlive.cjs"),f=require("../hooks/useSize.cjs"),P=require("../hooks/useLang.cjs"),p=require("../hooks/useTheme.cjs");require("../hooks/useList.cjs");require("../hooks/useHiddenTitle.cjs");require("../hooks/useForm.cjs");require("../hooks/useShow.cjs");require("../hooks/useReferenceArrayField.cjs");require("../hooks/useTreeWithDetails.cjs");require("../hooks/useFormGrid.cjs");require("../hooks/useReferenceArrayInput.cjs");const C=require("@vueuse/core"),o=require("element-plus"),k=require("vue-i18n"),v=require("vue-router"),V=require("../setup/index.cjs");function g(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const r=e.defineComponent({name:"SkyLayoutPage",setup(){const t=v.useRouter(),a=v.useRoute(),{collapse:u,menus:l}=w.useMenu(),{removeTab:s,lastTab:n,tabs:c}=L.useTab(),{includeList:m,addKeepAlive:y,removeKeepAlive:_}=F.useRouteKeepAlive(),q=N=>{const d=c.value.find(i=>i.routeName===N);d&&t.push({name:d.routeName,params:d.routeParams})},b=N=>{const d=c.value.find(i=>i.routeName===N);d&&(d?.routeKeepAliveName&&_(d.routeKeepAliveName),s(d.routeName),d.routeName===a.name&&n.value&&t.replace({name:n.value.routeName,params:n.value.routeParams}))};e.watch(()=>a.meta,N=>{N.keepAliveName&&y(N.keepAliveName)},{immediate:!0});const S=e.inject(V.skyConfig.getIconFnName);return()=>{let N,d;return e.createVNode("div",{class:"sky-layout"},[e.createVNode("header",{class:"sky-layout__header"},[e.createVNode(r.Logo,null,null),e.createVNode("div",{class:"sky-layout__header-opt"},[e.createVNode(r.ConfigeSize,null,null),e.createVNode(r.ConfigLang,null,null),e.createVNode(r.ConfigTheme,null,null),e.createVNode(r.Fullscreen,null,null),e.createVNode(r.Refresh,null,null),e.createVNode(r.User,null,null)])]),e.createVNode("section",{class:"sky-layout__container"},[e.createVNode("aside",{class:"sky-layout__menu"},[e.createVNode(o.ElScrollbar,null,{default:()=>[e.createVNode(o.ElMenu,{collapse:u.value,"default-active":a.name,"unique-opened":!0,"collapse-transition":!0},g(N=l.value.map(i=>e.createVNode(r.SubMenu,{key:i.routeName,item:i},null)))?N:{default:()=>[N]})]}),e.createVNode("div",{class:"sky-layout__menu-collapse",onClick:()=>u.value=!u.value},[e.createVNode(I.SkyMenuCollapse,null,null)])]),e.createVNode("section",{class:"sky-layout__main"},[e.createVNode("div",{class:"sky-layout__tab"},[e.createVNode(o.ElTabs,{type:"card","model-value":a.name,onTabChange:q,onTabRemove:b},g(d=c.value.map(i=>e.createVNode(o.ElTabPane,{key:i.routeName,name:i.routeName,closable:i.closable},{label:()=>e.createVNode("div",{class:"sky-layout__tab-pane"},[i.icon&&S(i.icon),e.createVNode("span",null,[i.title])])})))?d:{default:()=>[d]})]),e.createVNode("div",{class:"sky-layout__body"},[e.createVNode(o.ElScrollbar,null,{default:()=>[e.createVNode(v.RouterView,null,{default:({Component:i,route:E})=>e.createVNode(e.Transition,{"enter-active-class":"sky-layout-fade-enter-active","enter-from-class":"sky-layout-fade-enter-from","enter-to-class":"sky-layout-fade-enter-to","leave-active-class":"sky-layout-fade-leave-active","leave-from-class":"sky-layout-fade-leave-from","leave-to-class":"sky-layout-fade-leave-to",appear:!0,mode:"out-in"},{default:()=>[e.createVNode(e.KeepAlive,{include:m.value},[e.h(i,{key:E.fullPath})])]})})]})])])])])}}});r.Logo=e.defineComponent({name:"DefaultLayoutPageLogo",setup(){return()=>V.skyConfig.logoImg&&e.createVNode("div",{class:"sky-layout__logo",style:{backgroundImage:`url(${V.skyConfig.logoImg})`}},null)}});r.ConfigeSize=e.defineComponent({name:"DefaultLayoutPageConfigeSize",setup(){const{t}=k.useI18n(),{enabled:a,size:u,select:l}=f.useSize();return()=>a&&e.createVNode("div",{class:"sky-layout__config"},[e.createVNode(o.ElDropdown,{trigger:"click",onCommand:l},{default:()=>e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[u.value]},{default:()=>[e.createVNode(D.NimbusTextSize,null,null)]}),dropdown:()=>{let s;return e.createVNode(o.ElDropdownMenu,null,g(s=Object.values(f.SizeConfig.options).map(n=>{let c;return e.createVNode(o.ElDropdownItem,{key:n.value,command:n.value,disabled:u.value===n.value},g(c=t(n.label))?c:{default:()=>[c]})}))?s:{default:()=>[s]})}})])}});r.ConfigLang=e.defineComponent({name:"DefaultLayoutPageConfigLang",setup(){const{messages:t,t:a,locale:u}=k.useI18n(),{lang:l}=P.useLang(),{size:s}=f.useSize(),n=e.computed(()=>Object.keys(t.value).map(m=>({value:m,label:a(`lang.${m}`)}))),c=m=>{l.value=m,u.value=m};return()=>n.value.length>1?e.createVNode("div",{class:"sky-layout__config"},[e.createVNode(o.ElDropdown,{trigger:"click",onCommand:c},{default:()=>e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[s.value]},{default:()=>[e.createVNode(M.SlTrans,null,null)]}),dropdown:()=>{let m;return e.createVNode(o.ElDropdownMenu,null,g(m=n.value.map(y=>e.createVNode(o.ElDropdownItem,{key:y.value,command:y.value,disabled:l.value===y.value},{default:()=>[y.label]})))?m:{default:()=>[m]})}})]):null}});r.ConfigTheme=e.defineComponent({name:"DefaultLayoutPageConfigTheme",setup(){const{select:t,theme:a}=p.useTheme(),{size:u}=f.useSize();return()=>V.skyConfig.themeEnabled&&e.createVNode("div",{class:"sky-layout__config"},[e.createVNode(o.ElDropdown,{trigger:"click",onCommand:t},{default:()=>e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[u.value]},{default:()=>e.h(p.ThemeConfig[a.value].icon)}),dropdown:()=>{let l;return e.createVNode(o.ElDropdownMenu,null,g(l=Object.values(p.ThemeConfig).map(s=>e.createVNode(o.ElDropdownItem,{key:s.value,command:s.value,disabled:a.value===s.value},{default:()=>[e.createVNode(o.ElIcon,null,{default:()=>e.h(s.icon)})]})))?l:{default:()=>[l]})}})])}});r.Fullscreen=e.defineComponent({name:"DefaultLayoutPageFullscreen",setup(){const{isFullscreen:t,toggle:a}=C.useFullscreen();C.useEventListener("keydown",l=>{l.key==="F11"&&(l.preventDefault(),a())});const{size:u}=f.useSize();return()=>e.createVNode("div",{class:"sky-layout__config",onClick:a},[e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[u.value]},{default:()=>[t.value?e.createVNode(T.FluentFullScreenMinimize20Regular,null,null):e.createVNode(h.EpFullScreen,null,null)]})])}});r.Refresh=e.defineComponent({name:"DefaultLayoutPageRefresh",setup(){const{size:t}=f.useSize(),a=v.useRouter(),u=v.useRoute(),l=()=>{a.replace({name:u.name,query:{t:Date.now()}})};return()=>e.createVNode("div",{class:"sky-layout__config",onClick:l},[e.createVNode(o.ElIcon,{size:f.SizeConfig.iconMap[t.value]},{default:()=>[e.createVNode(z.EpRefresh,null,null)]})])}});r.User=e.defineComponent({name:"DefaultLayoutPageUser",setup(){const t=v.useRouter(),{t:a}=k.useI18n(),{username:u,logout:l}=R.useUser(),s=n=>{n==="edit"||n==="logout"&&(l(),t.replace({name:V.skyConfig.loginRouteName}))};return()=>u.value&&e.createVNode("div",{class:"sky-layout__config"},[e.createVNode(o.ElDropdown,{trigger:"click",onCommand:s},{default:()=>e.createVNode(o.ElText,null,{default:()=>[u.value]}),dropdown:()=>e.createVNode(o.ElDropdownMenu,null,{default:()=>{let n,c;return e.createVNode(e.Fragment,null,[e.createVNode(o.ElDropdownItem,{command:"edit"},g(n=a("user.edit"))?n:{default:()=>[n]}),e.createVNode(o.ElDropdownItem,{command:"logout"},g(c=a("user.logout"))?c:{default:()=>[c]})])}})})])}});r.SubMenu=e.defineComponent({name:"DefaultLayoutPageSubMenu",props:{item:{type:Object,required:!0}},setup(t){const a=v.useRouter(),u=()=>{a.hasRoute(t.item.routeName)&&a.push({name:t.item.routeName,params:t.item.routeParams})},l=e.inject(V.skyConfig.getIconFnName);return()=>e.createVNode(e.Fragment,null,[t.item.children?.length?e.createVNode(o.ElSubMenu,{index:t.item.routeName},{default:()=>t.item.children.map(s=>e.createVNode(r.SubMenu,{key:s.routeName,item:s},null)),title:()=>e.createVNode(e.Fragment,null,[t.item.icon&&l(t.item.icon),e.createVNode("span",null,[t.item.title])])}):e.createVNode(o.ElMenuItem,{index:t.item.routeName,onClick:u},{default:()=>t.item.icon&&l(t.item.icon),title:()=>t.item.title})])}});exports.default=r;
2
2
  //# sourceMappingURL=default.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.cjs","sources":["../../src/layouts/default.tsx"],"sourcesContent":["import { EpFullScreen } from '@/icons/EpFullScreen'\nimport { EpRefresh } from '@/icons/EpRefresh'\nimport { FluentFullScreenMinimize20Regular } from '@/icons/FluentFullScreenMinimize20Regular'\nimport { NimbusTextSize } from '@/icons/NimbusTextSize'\nimport { SkyMenuCollapse } from '@/icons/SkyMenuCollapse'\nimport { SlTrans } from '@/icons/SlTrans'\nimport {\n SizeConfig,\n ThemeConfig,\n useLang,\n useMenu,\n useRouteKeepAlive,\n useSize,\n useTab,\n useTheme,\n useUser,\n} from '@/hooks'\nimport { useEventListener, useFullscreen } from '@vueuse/core'\nimport {\n ElDropdown,\n ElDropdownItem,\n ElDropdownMenu,\n ElIcon,\n ElMenu,\n ElMenuItem,\n ElScrollbar,\n ElSubMenu,\n ElTabPane,\n ElTabs,\n ElText,\n type TabPaneName,\n} from 'element-plus'\nimport {\n computed,\n defineComponent,\n h,\n inject,\n KeepAlive,\n Transition,\n watch,\n type PropType,\n type VNode,\n} from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { RouterView, useRoute, useRouter, type RouteLocationNormalizedLoaded } from 'vue-router'\nimport { skyConfig, type GetIconFn, type SkyMenu } from '@/setup'\n\nexport interface RouterViewSlot {\n Component: VNode\n route: RouteLocationNormalizedLoaded\n}\n\nconst SkyLayoutPage = defineComponent({\n name: 'SkyLayoutPage',\n setup() {\n const router = useRouter()\n const route = useRoute()\n const { collapse, menus } = useMenu()\n const { removeTab, lastTab, tabs } = useTab()\n const { includeList, addKeepAlive, removeKeepAlive } = useRouteKeepAlive()\n\n const onTabChange = (routeName: TabPaneName) => {\n const tab = tabs.value.find((tab) => tab.routeName === routeName)\n if (tab) {\n router.push({ name: tab.routeName, params: tab.routeParams })\n }\n }\n\n const onTabRemove = (routeName: TabPaneName) => {\n const tab = tabs.value.find((tab) => tab.routeName === routeName)\n if (tab) {\n // 如果当前 tab 是存在,那么尝试删除它的 keepAlive 缓存\n if (tab?.routeKeepAliveName) {\n removeKeepAlive(tab.routeKeepAliveName)\n }\n removeTab(tab.routeName)\n // 如果删除是当前页面并且存在lastTab,就跳转到lastTab\n if (tab.routeName === route.name && lastTab.value) {\n router.replace({ name: lastTab.value.routeName, params: lastTab.value.routeParams })\n }\n }\n }\n\n watch(\n () => route.meta,\n (routeMeta) => addKeepAlive(String(routeMeta.keepAliveName)),\n {\n immediate: true,\n },\n )\n\n const getIcon = inject<GetIconFn>(skyConfig.getIconFnName)!\n\n return () => (\n <div class=\"sky-layout\">\n <header class=\"sky-layout__header\">\n <SkyLayoutPage.Logo />\n\n <div class=\"sky-layout__header-opt\">\n <SkyLayoutPage.ConfigeSize />\n <SkyLayoutPage.ConfigLang />\n <SkyLayoutPage.ConfigTheme />\n <SkyLayoutPage.Fullscreen />\n <SkyLayoutPage.Refresh />\n <SkyLayoutPage.User />\n </div>\n </header>\n <section class=\"sky-layout__container\">\n <aside class=\"sky-layout__menu\">\n <ElScrollbar>\n <ElMenu\n collapse={collapse.value}\n default-active={route.name}\n unique-opened\n collapse-transition\n >\n {menus.value.map((menu) => (\n <SkyLayoutPage.SubMenu key={menu.routeName} item={menu} />\n ))}\n </ElMenu>\n </ElScrollbar>\n <div\n class=\"sky-layout__menu-collapse\"\n onClick={() => (collapse.value = !collapse.value)}\n >\n <SkyMenuCollapse />\n </div>\n </aside>\n <section class=\"sky-layout__main\">\n <div class=\"sky-layout__tab\">\n <ElTabs\n type=\"card\"\n model-value={route.name}\n onTabChange={onTabChange}\n onTabRemove={onTabRemove}\n >\n {tabs.value.map((tab) => (\n <ElTabPane key={tab.routeName} name={tab.routeName} closable={tab.closable}>\n {{\n label: () => (\n <div class=\"sky-layout__tab-pane\">\n {tab.icon && getIcon(tab.icon)}\n <span>{tab.title}</span>\n </div>\n ),\n }}\n </ElTabPane>\n ))}\n </ElTabs>\n </div>\n\n <div class=\"sky-layout__body\">\n <ElScrollbar>\n <RouterView>\n {{\n default: ({ Component, route }: RouterViewSlot) => (\n <Transition\n enter-active-class=\"sky-layout-fade-enter-active\"\n enter-from-class=\"sky-layout-fade-enter-from\"\n enter-to-class=\"sky-layout-fade-enter-to\"\n leave-active-class=\"sky-layout-fade-leave-active\"\n leave-from-class=\"sky-layout-fade-leave-from\"\n leave-to-class=\"sky-layout-fade-leave-to\"\n appear\n mode=\"out-in\"\n >\n <KeepAlive include={includeList.value}>\n {/* UserCreate ---> /user/create 会缓存一次 */}\n {/* UserEdit ---> /user/edit/1、/user/edit/2 ... 会缓存n次,直到关闭当前 tab,从include移除当前component name会等待GC全部释放所有缓存的组件实例;缓存N次不会出现数据错乱吗?默认情况会,但是加上 { key: route.fullPath } 就可以区分相同组件不同路由地址实例(●'◡'●) */}\n {h(Component, { key: route.fullPath })}\n </KeepAlive>\n </Transition>\n ),\n }}\n </RouterView>\n </ElScrollbar>\n </div>\n </section>\n </section>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Logo = defineComponent({\n name: 'DefaultLayoutPageLogo',\n setup() {\n return () =>\n skyConfig.logoImg && (\n <div\n class=\"sky-layout__logo\"\n style={{ backgroundImage: `url(${skyConfig.logoImg})` }}\n ></div>\n )\n },\n})\n\nSkyLayoutPage.ConfigeSize = defineComponent({\n name: 'DefaultLayoutPageConfigeSize',\n setup() {\n const { t } = useI18n()\n const { enabled, size, select } = useSize()\n return () =>\n enabled && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={select}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <NimbusTextSize />\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {Object.values(SizeConfig.options).map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={size.value === c.value}\n >\n {t(c.label)}\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.ConfigLang = defineComponent({\n name: 'DefaultLayoutPageConfigLang',\n setup() {\n const { messages, t, locale } = useI18n()\n const { lang } = useLang()\n const { size } = useSize()\n const langList = computed(() =>\n Object.keys(messages.value).map((key) => ({\n value: key,\n label: t(`lang.${key}`),\n })),\n )\n const onCommand = (v: string) => {\n lang.value = v\n locale.value = v\n }\n return () =>\n langList.value.length > 1 ? (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={onCommand}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <SlTrans />\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {langList.value.map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={lang.value === c.value}\n >\n {c.label}\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n ) : null\n },\n})\n\nSkyLayoutPage.ConfigTheme = defineComponent({\n name: 'DefaultLayoutPageConfigTheme',\n setup() {\n const { select, theme } = useTheme()\n const { size } = useSize()\n return () =>\n skyConfig.themeEnabled && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={select}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n {() => h(ThemeConfig[theme.value].icon)}\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {Object.values(ThemeConfig).map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={theme.value === c.value}\n >\n <ElIcon>{() => h(c.icon)}</ElIcon>\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Fullscreen = defineComponent({\n name: 'DefaultLayoutPageFullscreen',\n setup() {\n // 页面全屏\n const { isFullscreen, toggle } = useFullscreen()\n // F11默认全屏效果不能满足这里的需求,禁止默认全屏行为,采用我们项目的全屏逻辑\n useEventListener('keydown', (e) => {\n if (e.key === 'F11') {\n // 禁用f11\n e.preventDefault()\n toggle()\n }\n })\n const { size } = useSize()\n return () => (\n <div class=\"sky-layout__config\" onClick={toggle}>\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n {isFullscreen.value ? <FluentFullScreenMinimize20Regular /> : <EpFullScreen />}\n </ElIcon>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Refresh = defineComponent({\n name: 'DefaultLayoutPageRefresh',\n setup() {\n const { size } = useSize()\n const router = useRouter()\n const route = useRoute()\n const onRefresh = () => {\n router.replace({ name: route.name, query: { t: Date.now() } })\n }\n return () => (\n <div class=\"sky-layout__config\" onClick={onRefresh}>\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <EpRefresh />\n </ElIcon>\n </div>\n )\n },\n})\n\nSkyLayoutPage.User = defineComponent({\n name: 'DefaultLayoutPageUser',\n setup() {\n const router = useRouter()\n const { t } = useI18n()\n const { username, logout } = useUser()\n const onCommand = (command: string) => {\n if (command === 'edit') {\n } else if (command === 'logout') {\n logout()\n router.replace({ name: skyConfig.loginRouteName })\n }\n }\n return () =>\n username.value && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={onCommand}>\n {{\n default: () => <ElText>{username.value}</ElText>,\n dropdown: () => (\n <ElDropdownMenu>\n {() => (\n <>\n <ElDropdownItem command=\"edit\">{t('user.edit')}</ElDropdownItem>\n <ElDropdownItem command=\"logout\">{t('user.logout')}</ElDropdownItem>\n </>\n )}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.SubMenu = defineComponent({\n name: 'DefaultLayoutPageSubMenu',\n props: {\n item: {\n type: Object as PropType<SkyMenu>,\n required: true,\n },\n },\n setup(props) {\n const router = useRouter()\n\n const onClick = () => {\n if (router.hasRoute(props.item.routeName)) {\n router.push({ name: props.item.routeName, params: props.item.routeParams })\n }\n }\n\n const getIcon = inject<GetIconFn>(skyConfig.getIconFnName)!\n\n return () => (\n <>\n {props.item.children?.length ? (\n <ElSubMenu index={props.item.routeName}>\n {{\n default: () =>\n props.item.children!.map((menu) => (\n <SkyLayoutPage.SubMenu key={menu.routeName} item={menu} />\n )),\n title: () => (\n <>\n {props.item.icon && getIcon(props.item.icon)}\n <span>{props.item.title}</span>\n </>\n ),\n }}\n </ElSubMenu>\n ) : (\n <ElMenuItem index={props.item.routeName} onClick={onClick}>\n {{\n default: () => props.item.icon && getIcon(props.item.icon),\n title: () => props.item.title,\n }}\n </ElMenuItem>\n )}\n </>\n )\n },\n})\n\nexport default SkyLayoutPage\n"],"names":["_isSlot","s","_isVNode","SkyLayoutPage","defineComponent","name","setup","router","useRouter","route","useRoute","menus","tabs","removeKeepAlive","tab","routeName","removeTab","params","watch","immediate","getIcon","inject","skyConfig","_createVNode","default","_slot","menu","SkyMenuCollapse","onTabChange","_slot2","ElTabPane","includeList","backgroundImage","t","select","SizeConfig","size","dropdown","_slot4","ElDropdownMenu","c","_slot3","locale","lang","langList","computed","messages","key","value","label","_slot5","ElDropdownItem","theme","_slot6","toggle","useEventListener","e","query","logout","username","_Fragment","props","item","type","required","ElSubMenu","title"],"mappings":"8sDA6CiE,SAAAA,EAAAC,EAAA,CAAA,OAAA,OAAAA,GAAA,YAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,IAAA,mBAAA,CAAAC,EAAAA,QAAAD,CAAA,CAAA,CAOjE,MAAAE,EAAAC,EAAAA,gBAAA,CACEC,KAAAA,gBACAC,OAAAA,CACE,MAAAC,EAAAC,EAAAA,UAAA,EACAC,EAAAC,EAAAA,SAAA,cACkBC,MAAAA,sCACUC,KAAAA,4CACOC,gBAAAA,+BAGjC,MAAAC,EAAAF,EAAA,MAAA,KAAAE,GAAAA,EAAA,YAAAC,CAAA,EACAD,gDAC6D,CAAA,SAK7D,MAAAA,EAAAF,EAAA,MAAA,KAAAE,GAAAA,EAAA,YAAAC,CAAA,EACAD,2BAGID,EAAAA,EAAAA,kBAAAA,EAEFG,EAAAA,EAAAA,SAAAA,4CAGmBX,KAAAA,EAAAA,MAAAA,UAA+BY,OAAAA,EAAAA,MAAAA,WAAkC,CAAA,IAKxFC,QAAAA,IAAAA,EAAAA,KAAAA,GAAAA,EAAAA,OAAAA,EAAAA,aAAAA,CAAAA,EAAAA,CAIIC,UAAAA,EACF,CAAA,EAGF,MAAAC,EAAAC,EAAAA,OAAAC,EAAAA,UAAA,aAAA,qBAEO,OAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,YAAA,EAAA,CAAAA,EAAAA,YAAA,SAAA,CAAA,MAAA,oBAAA,EAAA,CAAAA,EAAAA,YAAApB,EAAA,KAAA,KAAA,IAAA,EAAAoB,EAAAA,YAAA,MAAA,CAAA,MAAA,wBAAA,EAAA,CAAAA,EAAAA,YAAApB,EAAA,YAAA,KAAA,IAAA,EAAAoB,EAAAA,YAAApB,EAAA,WAAA,KAAA,IAAA,EAAAoB,cAAApB,EAAA,YAAA,KAAA,IAAA,EAAAoB,EAAAA,YAAApB,EAAA,WAAA,KAAA,IAAA,EAAAoB,EAAAA,YAAApB,EAAA,QAAA,KAAA,IAAA,EAAAoB,EAAAA,YAAApB,EAAA,KAAA,KAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAoB,EAAAA,YAAA,UAAA,CAAA,MAAA,uBAAA,EAAA,CAAAA,EAAAA,YAAA,QAAA,CAAA,MAAA,uDAAAC,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,SAAAA,0CAmB+B,gBAAA,GAAA,sBAAA,EAAA,EAAAxB,EAAAyB,EAAAd,EAAA,MAAA,IAAAe,GAAAH,EAAAA,YAAApB,EAAA,QAAA,mDAMxB,CAAA,CAAA,CAAA,CAAA,EAAAoB,EAAAA,YAAA,MAAA,CAAA,MAAA,wDAK6C,EAAA,CAAAA,EAAAA,YAAAI,EAAAA,gBAAA,KAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAJ,EAAAA,YAAA,UAAA,CAAA,MAAA,kBAAA,EAAA,CAAAA,EAAAA,YAAA,MAAA,CAAA,MAAA,4CAAA,KAAA,4BASxB,YAAAK,eAEC,EAAA5B,EAAA6B,EAAAjB,EAAA,MAAA,IAAAE,GAAAS,EAAAA,YAAAO,YAAA,kCAG4B,SAAAhB,EAAA,QAAwB,EAAA,gCAE/D,MAAA,sBAAA,EAAA,CAAAA,EAAA,MAAAM,EAAAN,EAAA,IAAA,EAAAS,EAAAA,YAAA,OAAA,KAAA,CAAAT,EAAA,KAAA,CAAA,CAAA,CAAA,wBAQX,CAAA,CAAA,CAAA,EAAAS,EAAAA,YAAA,MAAA,CAAA,MAAA,uDAAAC,QAAAA,IAAAA,CAAAA,cAAAA,EAAAA,WAAAA,KAAAA,CAQEA,QAAAA,CAAAA,aAAuBf,MAAAA,iCAAuB,qBAAA,+BAAA,mBAAA,6BAAA,iBAAA,2BAAA,qBAAA,+BAAA,mBAAA,6BAAA,iBAAA,2BAAA,OAAA,GAAA,KAAA,QAAA,EAAA,CAAAe,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,YAAAA,CAAA,QAAAO,EAAA,6BAcJ,CAAA,CAAA,CAAA,CAAA,CAAE,CAAA,CAG3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EASnB,CACF,CAAA,EAEA5B,EAAAA,KAAAA,EAAAA,gBAAAA,CACEE,KAAAA,wBACAC,OAAAA,CACE,MAAA,IAAAgB,EAAAA,UAAA,SAAAC,EAAAA,YAAA,MAAA,CACmB,MAAA,0BAGJS,gBAAAA,OAAAA,EAAAA,UAAAA,OAAAA,GAA6C,QAG9D,CACF,CAAA,EAEA7B,EAAAA,YAAAA,EAAAA,gBAAAA,CACEE,KAAAA,+BACAC,OAAAA,OACU2B,iCACeC,OAAAA,iDAEd,MAAA,mDAAA,QAAA,mBAE0C,EAAA,CAEzCV,QAAAA,IAAAA,EAAAA,YAAAA,SAAAA,CAAS,KAAAW,EAAAA,WAAA,QAAAC,EAAA,KAAA,CACqC,EAAA,CAAAZ,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,EAAAA,eAAAA,KAAAA,IAAAA,CAAAA,IAI9Ca,SAAAA,IAAAA,CAAU,IAAAC,EAAA,OAAAf,cAAAgB,EAAAA,eAAA,KAAAvC,EAAAsC,EAAA,OAAA,OAAAH,EAAAA,WAAA,OAAA,EAAA,IAAAK,GAAA,CAEmC,IAAAC,qEAGrB,SAAAL,EAAA,QAAAI,EAAA,yCAGL,CAAA,uBAEb,CAAA,CAAA,KAOlB,CACF,CAAA,EAEArC,EAAAA,WAAAA,EAAAA,gBAAAA,CACEE,KAAAA,8BACAC,OAAAA,sBACuBoC,OAAAA,gBACbC,KAAAA,gBACAP,KAAAA,eACRQ,EAAAC,WAAA,IAAA,OAAA,KAAAC,EAAA,KAAA,EAAA,IAAAC,IAAA,CAEIC,MAAAA,EACAC,MAAAA,EAAAA,QAAAA,CAAAA,EAAAA,iFAQuB,MAAA,mDAAA,QAAA,mBAE2B,EAAA,CAE5CzB,QAAAA,IAAAA,EAAAA,YAAAA,SAAAA,CAAS,KAAAW,EAAAA,WAAA,QAAAC,EAAA,KAAA,CACqC,EAAA,CAAAZ,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,EAAAA,QAAAA,KAAAA,IAAAA,CAAAA,IAI9Ca,SAAAA,IAAAA,CAAU,IAAAa,EAAA,OAAA3B,cAAAgB,EAAAA,eAAA,KAAAvC,EAAAkD,EAAAN,EAAA,MAAA,IAAAJ,GAAAjB,EAAAA,YAAA4B,EAAAA,eAAA,6BAKc,SAAAR,EAAA,QAAAH,EAAA,KACgB,EAAA,CAAAhB,QAAAA,IAAAA,CAAAA,EAAAA,KAAAA,wBAIlC,CAAA,CAAA,CAEL,CAAA,CAAA,CAAA,EAAA,IAKb,CACF,CAAA,EAEArB,EAAAA,YAAAA,EAAAA,gBAAAA,CACEE,KAAAA,+BACAC,OAAAA,gBACkB8C,MAAAA,iBACRhB,KAAAA,eACR,MAAA,IAAAd,EAAAA,UAAA,cAAAC,EAAAA,YAAA,MAAA,CACwB,MAAA,mDAAA,QAAA,mBAE2B,EAAA,CAEzCC,QAAAA,IAAAA,EAAAA,YAAAA,SAAAA,CAAS,KAAAW,EAAAA,WAAA,QAAAC,EAAA,KAAA,CACqC,EAAA,CAAAZ,QAAAA,IAAAA,EAAAA,EAAAA,EAAAA,YAAAA,EAAAA,KAAAA,EAAAA,IAAAA,IAI9Ca,SAAAA,IAAAA,CAAU,IAAAgB,iJAKc,SAAAD,EAAA,QAAAZ,EAAA,KACiB,EAAA,CAAAhB,QAAAA,IAAAA,CAAAA,cAAAA,EAAAA,OAAAA,KAAAA,CAAAA,QAAAA,IAAAA,IAAAA,EAAAA,IAAAA,CAET,CAAA,CAAA,wBAE1B,CAAA,CAAA,KAOlB,CACF,CAAA,EAEArB,EAAAA,WAAAA,EAAAA,gBAAAA,CACEE,KAAAA,8BACAC,OAAAA,sBAEwBgD,OAAAA,qBAEtBC,EAAAA,iBAAAA,UAAAA,GAAAA,CACEC,EAAA,MAAA,2BAGEF,EAAAA,EAEJ,CAAA,QACQlB,KAAAA,eACR,MAAA,IAAAb,EAAAA,YAAA,MAAA,CAAO,MAAA,yDAC0C,KAAAY,EAAAA,WAAA,QAAAC,EAAA,KAAA,CACD,EAAA,CAAAZ,QAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA,YAAAA,EAAAA,kCAAAA,KAAAA,IAAAA,EAAAA,EAAAA,YAAAA,eAAAA,KAAAA,IAAAA,CAAAA,KAKlD,CACF,CAAA,EAEArB,EAAAA,QAAAA,EAAAA,gBAAAA,CACEE,KAAAA,2BACAC,OAAAA,OACU8B,KAAAA,eACR7B,EAAAC,EAAAA,UAAA,EACAC,EAAAC,EAAAA,SAAA,gCAEqC+C,MAAAA,CAASxB,EAAAA,KAAAA,IAAAA,CAAc,CAAE,CAAA,GAE9D,MAAA,IAAAV,EAAAA,YAAA,MAAA,CAAO,MAAA,yDAC6C,KAAAY,EAAAA,WAAA,QAAAC,EAAA,KAAA,CACJ,EAAA,CAAAZ,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,EAAAA,UAAAA,KAAAA,IAAAA,CAAAA,KAKlD,CACF,CAAA,EAEArB,EAAAA,KAAAA,EAAAA,gBAAAA,CACEE,KAAAA,wBACAC,OAAAA,CACE,MAAAC,EAAAC,EAAAA,UAAA,GACQyB,EAAAA,2BACUyB,OAAAA,gDAIdA,EAAAA,4CACgD,CAAA,IAGpD,MAAA,IAAAC,EAAA,OAAApC,EAAAA,YAAA,MAAA,CACgB,MAAA,mDAAA,QAAA,mBAEsC,EAAA,CAE5CC,QAAAA,IAAAA,EAAAA,YAAAA,EAAAA,OAAAA,KAAAA,CAASA,QAAAA,IAAAA,CAAAA,EAAAA,KAAAA,IACTa,SAAAA,IAAAA,EAAAA,YAAAA,EAAAA,eAAAA,KAAAA,CAAUb,QAAAA,IAAAA,SAEL,OAAAD,EAAAA,YAAAqC,EAAAA,SAAA,KAAA,CAAArC,EAAAA,YAAA4B,EAAAA,eAAA,CAAA,QAAA,iFAEiD,QAAA,kDACI,CAAA,CAAA,CAAA,CAAA,CAErD,CAAA,KAOjB,CACF,CAAA,EAEAhD,EAAAA,QAAAA,EAAAA,gBAAAA,CACEE,KAAAA,2BACAwD,MAAAA,CACEC,KAAAA,CACEC,KAAAA,OACAC,SAAAA,EACF,YAGA,MAAAzD,EAAAC,EAAAA,UAAA,+CAIkBH,KAAAA,EAAAA,KAAAA,UAA4BY,OAAAA,EAAAA,KAAAA,WAA+B,CAAA,GAI7EG,EAAAC,EAAAA,OAAAC,EAAAA,UAAA,aAAA,EAEA,MAAA,IAAAC,EAAAA,YAAAqC,WAAA,KAAA,CAAAC,EAAA,KAAA,UAAA,OAAAtC,EAAAA,YAAA0C,YAAA,uBAG4C,EAAA,CAElCzC,QAAAA,IAAAA,EAAAA,KAAAA,SAAAA,IAAAA,GAAAA,EAAAA,YAAAA,EAAAA,QAAAA,uBAE0D,EAAA,IAAA,CAAA,EAE1D0C,MAAAA,IAAAA,EAAAA,YAAAA,WAAAA,KAAAA,CAAAA,EAAAA,KAAAA,MAAAA,EAAAA,EAAAA,KAAAA,IAAAA,EAAAA,EAAAA,YAAAA,OAAAA,KAAAA,CAAAA,EAAAA,KAAAA,KAAAA,CAAAA,CAAAA,CAAAA,gCAKC,MAAAL,EAAA,KAAA,mBAIoD,EAAA,CAErDrC,QAAAA,IAAAA,EAAAA,KAAAA,MAAAA,EAAAA,EAAAA,KAAAA,IAAAA,EACA0C,MAAAA,IAAAA,EAAAA,KAAAA,KAA6B,CAAA,CAAA,CAAA,CAMzC,CACF,CAAA"}
1
+ {"version":3,"file":"default.cjs","sources":["../../src/layouts/default.tsx"],"sourcesContent":["import { EpFullScreen } from '@/icons/EpFullScreen'\nimport { EpRefresh } from '@/icons/EpRefresh'\nimport { FluentFullScreenMinimize20Regular } from '@/icons/FluentFullScreenMinimize20Regular'\nimport { NimbusTextSize } from '@/icons/NimbusTextSize'\nimport { SkyMenuCollapse } from '@/icons/SkyMenuCollapse'\nimport { SlTrans } from '@/icons/SlTrans'\nimport {\n SizeConfig,\n ThemeConfig,\n useLang,\n useMenu,\n useRouteKeepAlive,\n useSize,\n useTab,\n useTheme,\n useUser,\n} from '@/hooks'\nimport { useEventListener, useFullscreen } from '@vueuse/core'\nimport {\n ElDropdown,\n ElDropdownItem,\n ElDropdownMenu,\n ElIcon,\n ElMenu,\n ElMenuItem,\n ElScrollbar,\n ElSubMenu,\n ElTabPane,\n ElTabs,\n ElText,\n type TabPaneName,\n} from 'element-plus'\nimport {\n computed,\n defineComponent,\n h,\n inject,\n KeepAlive,\n Transition,\n watch,\n type PropType,\n type VNode,\n} from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { RouterView, useRoute, useRouter, type RouteLocationNormalizedLoaded } from 'vue-router'\nimport { skyConfig, type GetIconFn, type SkyMenu } from '@/setup'\n\nexport interface RouterViewSlot {\n Component: VNode\n route: RouteLocationNormalizedLoaded\n}\n\nconst SkyLayoutPage = defineComponent({\n name: 'SkyLayoutPage',\n setup() {\n const router = useRouter()\n const route = useRoute()\n const { collapse, menus } = useMenu()\n const { removeTab, lastTab, tabs } = useTab()\n const { includeList, addKeepAlive, removeKeepAlive } = useRouteKeepAlive()\n\n const onTabChange = (routeName: TabPaneName) => {\n const tab = tabs.value.find((tab) => tab.routeName === routeName)\n if (tab) {\n router.push({ name: tab.routeName, params: tab.routeParams })\n }\n }\n\n const onTabRemove = (routeName: TabPaneName) => {\n const tab = tabs.value.find((tab) => tab.routeName === routeName)\n if (tab) {\n // 如果当前 tab 是存在,那么尝试删除它的 keepAlive 缓存\n if (tab?.routeKeepAliveName) {\n removeKeepAlive(tab.routeKeepAliveName)\n }\n removeTab(tab.routeName)\n // 如果删除是当前页面并且存在lastTab,就跳转到lastTab\n if (tab.routeName === route.name && lastTab.value) {\n router.replace({ name: lastTab.value.routeName, params: lastTab.value.routeParams })\n }\n }\n }\n\n watch(\n () => route.meta,\n (routeMeta) => {\n if (routeMeta.keepAliveName) {\n addKeepAlive(routeMeta.keepAliveName as string)\n }\n },\n {\n immediate: true,\n },\n )\n\n const getIcon = inject<GetIconFn>(skyConfig.getIconFnName)!\n\n return () => (\n <div class=\"sky-layout\">\n <header class=\"sky-layout__header\">\n <SkyLayoutPage.Logo />\n\n <div class=\"sky-layout__header-opt\">\n <SkyLayoutPage.ConfigeSize />\n <SkyLayoutPage.ConfigLang />\n <SkyLayoutPage.ConfigTheme />\n <SkyLayoutPage.Fullscreen />\n <SkyLayoutPage.Refresh />\n <SkyLayoutPage.User />\n </div>\n </header>\n <section class=\"sky-layout__container\">\n <aside class=\"sky-layout__menu\">\n <ElScrollbar>\n <ElMenu\n collapse={collapse.value}\n default-active={route.name}\n unique-opened\n collapse-transition\n >\n {menus.value.map((menu) => (\n <SkyLayoutPage.SubMenu key={menu.routeName} item={menu} />\n ))}\n </ElMenu>\n </ElScrollbar>\n <div\n class=\"sky-layout__menu-collapse\"\n onClick={() => (collapse.value = !collapse.value)}\n >\n <SkyMenuCollapse />\n </div>\n </aside>\n <section class=\"sky-layout__main\">\n <div class=\"sky-layout__tab\">\n <ElTabs\n type=\"card\"\n model-value={route.name}\n onTabChange={onTabChange}\n onTabRemove={onTabRemove}\n >\n {tabs.value.map((tab) => (\n <ElTabPane key={tab.routeName} name={tab.routeName} closable={tab.closable}>\n {{\n label: () => (\n <div class=\"sky-layout__tab-pane\">\n {tab.icon && getIcon(tab.icon)}\n <span>{tab.title}</span>\n </div>\n ),\n }}\n </ElTabPane>\n ))}\n </ElTabs>\n </div>\n\n <div class=\"sky-layout__body\">\n <ElScrollbar>\n <RouterView>\n {{\n default: ({ Component, route }: RouterViewSlot) => (\n <Transition\n enter-active-class=\"sky-layout-fade-enter-active\"\n enter-from-class=\"sky-layout-fade-enter-from\"\n enter-to-class=\"sky-layout-fade-enter-to\"\n leave-active-class=\"sky-layout-fade-leave-active\"\n leave-from-class=\"sky-layout-fade-leave-from\"\n leave-to-class=\"sky-layout-fade-leave-to\"\n appear\n mode=\"out-in\"\n >\n <KeepAlive include={includeList.value}>\n {/* UserCreate ---> /user/create 会缓存一次 */}\n {/* UserEdit ---> /user/edit/1、/user/edit/2 ... 会缓存n次,直到关闭当前 tab,从include移除当前component name会等待GC全部释放所有缓存的组件实例;缓存N次不会出现数据错乱吗?默认情况会,但是加上 { key: route.fullPath } 就可以区分相同组件不同路由地址实例(●'◡'●) */}\n {h(Component, { key: route.fullPath })}\n </KeepAlive>\n </Transition>\n ),\n }}\n </RouterView>\n </ElScrollbar>\n </div>\n </section>\n </section>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Logo = defineComponent({\n name: 'DefaultLayoutPageLogo',\n setup() {\n return () =>\n skyConfig.logoImg && (\n <div\n class=\"sky-layout__logo\"\n style={{ backgroundImage: `url(${skyConfig.logoImg})` }}\n ></div>\n )\n },\n})\n\nSkyLayoutPage.ConfigeSize = defineComponent({\n name: 'DefaultLayoutPageConfigeSize',\n setup() {\n const { t } = useI18n()\n const { enabled, size, select } = useSize()\n return () =>\n enabled && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={select}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <NimbusTextSize />\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {Object.values(SizeConfig.options).map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={size.value === c.value}\n >\n {t(c.label)}\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.ConfigLang = defineComponent({\n name: 'DefaultLayoutPageConfigLang',\n setup() {\n const { messages, t, locale } = useI18n()\n const { lang } = useLang()\n const { size } = useSize()\n const langList = computed(() =>\n Object.keys(messages.value).map((key) => ({\n value: key,\n label: t(`lang.${key}`),\n })),\n )\n const onCommand = (v: string) => {\n lang.value = v\n locale.value = v\n }\n return () =>\n langList.value.length > 1 ? (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={onCommand}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <SlTrans />\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {langList.value.map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={lang.value === c.value}\n >\n {c.label}\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n ) : null\n },\n})\n\nSkyLayoutPage.ConfigTheme = defineComponent({\n name: 'DefaultLayoutPageConfigTheme',\n setup() {\n const { select, theme } = useTheme()\n const { size } = useSize()\n return () =>\n skyConfig.themeEnabled && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={select}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n {() => h(ThemeConfig[theme.value].icon)}\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {Object.values(ThemeConfig).map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={theme.value === c.value}\n >\n <ElIcon>{() => h(c.icon)}</ElIcon>\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Fullscreen = defineComponent({\n name: 'DefaultLayoutPageFullscreen',\n setup() {\n // 页面全屏\n const { isFullscreen, toggle } = useFullscreen()\n // F11默认全屏效果不能满足这里的需求,禁止默认全屏行为,采用我们项目的全屏逻辑\n useEventListener('keydown', (e) => {\n if (e.key === 'F11') {\n // 禁用f11\n e.preventDefault()\n toggle()\n }\n })\n const { size } = useSize()\n return () => (\n <div class=\"sky-layout__config\" onClick={toggle}>\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n {isFullscreen.value ? <FluentFullScreenMinimize20Regular /> : <EpFullScreen />}\n </ElIcon>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Refresh = defineComponent({\n name: 'DefaultLayoutPageRefresh',\n setup() {\n const { size } = useSize()\n const router = useRouter()\n const route = useRoute()\n const onRefresh = () => {\n router.replace({ name: route.name, query: { t: Date.now() } })\n }\n return () => (\n <div class=\"sky-layout__config\" onClick={onRefresh}>\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <EpRefresh />\n </ElIcon>\n </div>\n )\n },\n})\n\nSkyLayoutPage.User = defineComponent({\n name: 'DefaultLayoutPageUser',\n setup() {\n const router = useRouter()\n const { t } = useI18n()\n const { username, logout } = useUser()\n const onCommand = (command: string) => {\n if (command === 'edit') {\n } else if (command === 'logout') {\n logout()\n router.replace({ name: skyConfig.loginRouteName })\n }\n }\n return () =>\n username.value && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={onCommand}>\n {{\n default: () => <ElText>{username.value}</ElText>,\n dropdown: () => (\n <ElDropdownMenu>\n {() => (\n <>\n <ElDropdownItem command=\"edit\">{t('user.edit')}</ElDropdownItem>\n <ElDropdownItem command=\"logout\">{t('user.logout')}</ElDropdownItem>\n </>\n )}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.SubMenu = defineComponent({\n name: 'DefaultLayoutPageSubMenu',\n props: {\n item: {\n type: Object as PropType<SkyMenu>,\n required: true,\n },\n },\n setup(props) {\n const router = useRouter()\n\n const onClick = () => {\n if (router.hasRoute(props.item.routeName)) {\n router.push({ name: props.item.routeName, params: props.item.routeParams })\n }\n }\n\n const getIcon = inject<GetIconFn>(skyConfig.getIconFnName)!\n\n return () => (\n <>\n {props.item.children?.length ? (\n <ElSubMenu index={props.item.routeName}>\n {{\n default: () =>\n props.item.children!.map((menu) => (\n <SkyLayoutPage.SubMenu key={menu.routeName} item={menu} />\n )),\n title: () => (\n <>\n {props.item.icon && getIcon(props.item.icon)}\n <span>{props.item.title}</span>\n </>\n ),\n }}\n </ElSubMenu>\n ) : (\n <ElMenuItem index={props.item.routeName} onClick={onClick}>\n {{\n default: () => props.item.icon && getIcon(props.item.icon),\n title: () => props.item.title,\n }}\n </ElMenuItem>\n )}\n </>\n )\n },\n})\n\nexport default SkyLayoutPage\n"],"names":["_isSlot","s","_isVNode","SkyLayoutPage","defineComponent","name","setup","router","useRouter","route","useRoute","menus","tabs","removeKeepAlive","tab","routeName","removeTab","params","watch","addKeepAlive","immediate","getIcon","inject","skyConfig","_createVNode","default","_slot","menu","SkyMenuCollapse","onTabChange","_slot2","ElTabPane","includeList","backgroundImage","t","select","SizeConfig","size","dropdown","_slot4","ElDropdownMenu","c","_slot3","locale","lang","langList","computed","messages","key","value","label","_slot5","ElDropdownItem","theme","_slot6","toggle","useEventListener","e","query","logout","username","_Fragment","props","item","type","required","ElSubMenu","title"],"mappings":"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"}
@@ -9,7 +9,7 @@ import "element-plus/es/components/sub-menu/style/css";
9
9
  import "element-plus/es/components/tab-pane/style/css";
10
10
  import "element-plus/es/components/tabs/style/css";
11
11
  import "element-plus/es/components/text/style/css";
12
- import { defineComponent as f, watch as j, inject as E, createVNode as e, Transition as A, KeepAlive as K, h as S, isVNode as O, computed as x, Fragment as L } from "vue";
12
+ import { defineComponent as f, watch as j, inject as M, createVNode as e, Transition as A, KeepAlive as K, h as L, isVNode as O, computed as x, Fragment as S } from "vue";
13
13
  import { EpFullScreen as U } from "../icons/EpFullScreen.mjs";
14
14
  import { EpRefresh as q } from "../icons/EpRefresh.mjs";
15
15
  import { FluentFullScreenMinimize20Regular as V } from "../icons/FluentFullScreenMinimize20Regular.mjs";
@@ -33,7 +33,7 @@ import "../hooks/useTreeWithDetails.mjs";
33
33
  import "../hooks/useFormGrid.mjs";
34
34
  import "../hooks/useReferenceArrayInput.mjs";
35
35
  import { useFullscreen as Z, useEventListener as ee } from "@vueuse/core";
36
- import { ElScrollbar as M, ElMenu as le, ElTabs as te, ElTabPane as ae, ElDropdown as h, ElDropdownMenu as C, ElDropdownItem as _, ElIcon as g, ElText as oe, ElSubMenu as ue, ElMenuItem as ne } from "element-plus";
36
+ import { ElScrollbar as E, ElMenu as le, ElTabs as te, ElTabPane as ae, ElDropdown as h, ElDropdownMenu as C, ElDropdownItem as _, ElIcon as g, ElText as oe, ElSubMenu as ue, ElMenuItem as ne } from "element-plus";
37
37
  import { useI18n as T } from "vue-i18n";
38
38
  import { useRouter as N, useRoute as P, RouterView as ie } from "vue-router";
39
39
  import { skyConfig as k } from "../setup/index.mjs";
@@ -49,28 +49,30 @@ const i = /* @__PURE__ */ f({
49
49
  } = J(), {
50
50
  removeTab: n,
51
51
  lastTab: u,
52
- tabs: s
52
+ tabs: r
53
53
  } = Q(), {
54
54
  includeList: c,
55
55
  addKeepAlive: v,
56
56
  removeKeepAlive: R
57
57
  } = W(), D = (d) => {
58
- const m = s.value.find((r) => r.routeName === d);
58
+ const m = r.value.find((s) => s.routeName === d);
59
59
  m && l.push({
60
60
  name: m.routeName,
61
61
  params: m.routeParams
62
62
  });
63
63
  }, F = (d) => {
64
- const m = s.value.find((r) => r.routeName === d);
64
+ const m = r.value.find((s) => s.routeName === d);
65
65
  m && (m?.routeKeepAliveName && R(m.routeKeepAliveName), n(m.routeName), m.routeName === t.name && u.value && l.replace({
66
66
  name: u.value.routeName,
67
67
  params: u.value.routeParams
68
68
  }));
69
69
  };
70
- j(() => t.meta, (d) => v(String(d.keepAliveName)), {
70
+ j(() => t.meta, (d) => {
71
+ d.keepAliveName && v(d.keepAliveName);
72
+ }, {
71
73
  immediate: !0
72
74
  });
73
- const w = E(k.getIconFnName);
75
+ const w = M(k.getIconFnName);
74
76
  return () => {
75
77
  let d, m;
76
78
  return e("div", {
@@ -83,15 +85,15 @@ const i = /* @__PURE__ */ f({
83
85
  class: "sky-layout__container"
84
86
  }, [e("aside", {
85
87
  class: "sky-layout__menu"
86
- }, [e(M, null, {
88
+ }, [e(E, null, {
87
89
  default: () => [e(le, {
88
90
  collapse: o.value,
89
91
  "default-active": t.name,
90
92
  "unique-opened": !0,
91
93
  "collapse-transition": !0
92
- }, p(d = a.value.map((r) => e(i.SubMenu, {
93
- key: r.routeName,
94
- item: r
94
+ }, p(d = a.value.map((s) => e(i.SubMenu, {
95
+ key: s.routeName,
96
+ item: s
95
97
  }, null))) ? d : {
96
98
  default: () => [d]
97
99
  })]
@@ -107,22 +109,22 @@ const i = /* @__PURE__ */ f({
107
109
  "model-value": t.name,
108
110
  onTabChange: D,
109
111
  onTabRemove: F
110
- }, p(m = s.value.map((r) => e(ae, {
111
- key: r.routeName,
112
- name: r.routeName,
113
- closable: r.closable
112
+ }, p(m = r.value.map((s) => e(ae, {
113
+ key: s.routeName,
114
+ name: s.routeName,
115
+ closable: s.closable
114
116
  }, {
115
117
  label: () => e("div", {
116
118
  class: "sky-layout__tab-pane"
117
- }, [r.icon && w(r.icon), e("span", null, [r.title])])
119
+ }, [s.icon && w(s.icon), e("span", null, [s.title])])
118
120
  }))) ? m : {
119
121
  default: () => [m]
120
122
  })]), e("div", {
121
123
  class: "sky-layout__body"
122
- }, [e(M, null, {
124
+ }, [e(E, null, {
123
125
  default: () => [e(ie, null, {
124
126
  default: ({
125
- Component: r,
127
+ Component: s,
126
128
  route: I
127
129
  }) => e(A, {
128
130
  "enter-active-class": "sky-layout-fade-enter-active",
@@ -136,7 +138,7 @@ const i = /* @__PURE__ */ f({
136
138
  }, {
137
139
  default: () => [e(K, {
138
140
  include: c.value
139
- }, [S(r, {
141
+ }, [L(s, {
140
142
  key: I.fullPath
141
143
  })])]
142
144
  })
@@ -180,13 +182,13 @@ i.ConfigeSize = /* @__PURE__ */ f({
180
182
  dropdown: () => {
181
183
  let n;
182
184
  return e(C, null, p(n = Object.values(y.options).map((u) => {
183
- let s;
185
+ let r;
184
186
  return e(_, {
185
187
  key: u.value,
186
188
  command: u.value,
187
189
  disabled: o.value === u.value
188
- }, p(s = l(u.label)) ? s : {
189
- default: () => [s]
190
+ }, p(r = l(u.label)) ? r : {
191
+ default: () => [r]
190
192
  });
191
193
  })) ? n : {
192
194
  default: () => [n]
@@ -209,14 +211,14 @@ i.ConfigLang = /* @__PURE__ */ f({
209
211
  } = b(), u = x(() => Object.keys(l.value).map((c) => ({
210
212
  value: c,
211
213
  label: t(`lang.${c}`)
212
- }))), s = (c) => {
214
+ }))), r = (c) => {
213
215
  a.value = c, o.value = c;
214
216
  };
215
217
  return () => u.value.length > 1 ? e("div", {
216
218
  class: "sky-layout__config"
217
219
  }, [e(h, {
218
220
  trigger: "click",
219
- onCommand: s
221
+ onCommand: r
220
222
  }, {
221
223
  default: () => e(g, {
222
224
  size: y.iconMap[n.value]
@@ -256,7 +258,7 @@ i.ConfigTheme = /* @__PURE__ */ f({
256
258
  default: () => e(g, {
257
259
  size: y.iconMap[o.value]
258
260
  }, {
259
- default: () => S(z[t.value].icon)
261
+ default: () => L(z[t.value].icon)
260
262
  }),
261
263
  dropdown: () => {
262
264
  let a;
@@ -266,7 +268,7 @@ i.ConfigTheme = /* @__PURE__ */ f({
266
268
  disabled: t.value === n.value
267
269
  }, {
268
270
  default: () => [e(g, null, {
269
- default: () => S(n.icon)
271
+ default: () => L(n.icon)
270
272
  })]
271
273
  }))) ? a : {
272
274
  default: () => [a]
@@ -345,15 +347,15 @@ i.User = /* @__PURE__ */ f({
345
347
  }),
346
348
  dropdown: () => e(C, null, {
347
349
  default: () => {
348
- let u, s;
349
- return e(L, null, [e(_, {
350
+ let u, r;
351
+ return e(S, null, [e(_, {
350
352
  command: "edit"
351
353
  }, p(u = t("user.edit")) ? u : {
352
354
  default: () => [u]
353
355
  }), e(_, {
354
356
  command: "logout"
355
- }, p(s = t("user.logout")) ? s : {
356
- default: () => [s]
357
+ }, p(r = t("user.logout")) ? r : {
358
+ default: () => [r]
357
359
  })]);
358
360
  }
359
361
  })
@@ -374,15 +376,15 @@ i.SubMenu = /* @__PURE__ */ f({
374
376
  name: l.item.routeName,
375
377
  params: l.item.routeParams
376
378
  });
377
- }, a = E(k.getIconFnName);
378
- return () => e(L, null, [l.item.children?.length ? e(ue, {
379
+ }, a = M(k.getIconFnName);
380
+ return () => e(S, null, [l.item.children?.length ? e(ue, {
379
381
  index: l.item.routeName
380
382
  }, {
381
383
  default: () => l.item.children.map((n) => e(i.SubMenu, {
382
384
  key: n.routeName,
383
385
  item: n
384
386
  }, null)),
385
- title: () => e(L, null, [l.item.icon && a(l.item.icon), e("span", null, [l.item.title])])
387
+ title: () => e(S, null, [l.item.icon && a(l.item.icon), e("span", null, [l.item.title])])
386
388
  }) : e(ne, {
387
389
  index: l.item.routeName,
388
390
  onClick: o
@@ -1 +1 @@
1
- {"version":3,"file":"default.mjs","sources":["../../src/layouts/default.tsx"],"sourcesContent":["import { EpFullScreen } from '@/icons/EpFullScreen'\nimport { EpRefresh } from '@/icons/EpRefresh'\nimport { FluentFullScreenMinimize20Regular } from '@/icons/FluentFullScreenMinimize20Regular'\nimport { NimbusTextSize } from '@/icons/NimbusTextSize'\nimport { SkyMenuCollapse } from '@/icons/SkyMenuCollapse'\nimport { SlTrans } from '@/icons/SlTrans'\nimport {\n SizeConfig,\n ThemeConfig,\n useLang,\n useMenu,\n useRouteKeepAlive,\n useSize,\n useTab,\n useTheme,\n useUser,\n} from '@/hooks'\nimport { useEventListener, useFullscreen } from '@vueuse/core'\nimport {\n ElDropdown,\n ElDropdownItem,\n ElDropdownMenu,\n ElIcon,\n ElMenu,\n ElMenuItem,\n ElScrollbar,\n ElSubMenu,\n ElTabPane,\n ElTabs,\n ElText,\n type TabPaneName,\n} from 'element-plus'\nimport {\n computed,\n defineComponent,\n h,\n inject,\n KeepAlive,\n Transition,\n watch,\n type PropType,\n type VNode,\n} from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { RouterView, useRoute, useRouter, type RouteLocationNormalizedLoaded } from 'vue-router'\nimport { skyConfig, type GetIconFn, type SkyMenu } from '@/setup'\n\nexport interface RouterViewSlot {\n Component: VNode\n route: RouteLocationNormalizedLoaded\n}\n\nconst SkyLayoutPage = defineComponent({\n name: 'SkyLayoutPage',\n setup() {\n const router = useRouter()\n const route = useRoute()\n const { collapse, menus } = useMenu()\n const { removeTab, lastTab, tabs } = useTab()\n const { includeList, addKeepAlive, removeKeepAlive } = useRouteKeepAlive()\n\n const onTabChange = (routeName: TabPaneName) => {\n const tab = tabs.value.find((tab) => tab.routeName === routeName)\n if (tab) {\n router.push({ name: tab.routeName, params: tab.routeParams })\n }\n }\n\n const onTabRemove = (routeName: TabPaneName) => {\n const tab = tabs.value.find((tab) => tab.routeName === routeName)\n if (tab) {\n // 如果当前 tab 是存在,那么尝试删除它的 keepAlive 缓存\n if (tab?.routeKeepAliveName) {\n removeKeepAlive(tab.routeKeepAliveName)\n }\n removeTab(tab.routeName)\n // 如果删除是当前页面并且存在lastTab,就跳转到lastTab\n if (tab.routeName === route.name && lastTab.value) {\n router.replace({ name: lastTab.value.routeName, params: lastTab.value.routeParams })\n }\n }\n }\n\n watch(\n () => route.meta,\n (routeMeta) => addKeepAlive(String(routeMeta.keepAliveName)),\n {\n immediate: true,\n },\n )\n\n const getIcon = inject<GetIconFn>(skyConfig.getIconFnName)!\n\n return () => (\n <div class=\"sky-layout\">\n <header class=\"sky-layout__header\">\n <SkyLayoutPage.Logo />\n\n <div class=\"sky-layout__header-opt\">\n <SkyLayoutPage.ConfigeSize />\n <SkyLayoutPage.ConfigLang />\n <SkyLayoutPage.ConfigTheme />\n <SkyLayoutPage.Fullscreen />\n <SkyLayoutPage.Refresh />\n <SkyLayoutPage.User />\n </div>\n </header>\n <section class=\"sky-layout__container\">\n <aside class=\"sky-layout__menu\">\n <ElScrollbar>\n <ElMenu\n collapse={collapse.value}\n default-active={route.name}\n unique-opened\n collapse-transition\n >\n {menus.value.map((menu) => (\n <SkyLayoutPage.SubMenu key={menu.routeName} item={menu} />\n ))}\n </ElMenu>\n </ElScrollbar>\n <div\n class=\"sky-layout__menu-collapse\"\n onClick={() => (collapse.value = !collapse.value)}\n >\n <SkyMenuCollapse />\n </div>\n </aside>\n <section class=\"sky-layout__main\">\n <div class=\"sky-layout__tab\">\n <ElTabs\n type=\"card\"\n model-value={route.name}\n onTabChange={onTabChange}\n onTabRemove={onTabRemove}\n >\n {tabs.value.map((tab) => (\n <ElTabPane key={tab.routeName} name={tab.routeName} closable={tab.closable}>\n {{\n label: () => (\n <div class=\"sky-layout__tab-pane\">\n {tab.icon && getIcon(tab.icon)}\n <span>{tab.title}</span>\n </div>\n ),\n }}\n </ElTabPane>\n ))}\n </ElTabs>\n </div>\n\n <div class=\"sky-layout__body\">\n <ElScrollbar>\n <RouterView>\n {{\n default: ({ Component, route }: RouterViewSlot) => (\n <Transition\n enter-active-class=\"sky-layout-fade-enter-active\"\n enter-from-class=\"sky-layout-fade-enter-from\"\n enter-to-class=\"sky-layout-fade-enter-to\"\n leave-active-class=\"sky-layout-fade-leave-active\"\n leave-from-class=\"sky-layout-fade-leave-from\"\n leave-to-class=\"sky-layout-fade-leave-to\"\n appear\n mode=\"out-in\"\n >\n <KeepAlive include={includeList.value}>\n {/* UserCreate ---> /user/create 会缓存一次 */}\n {/* UserEdit ---> /user/edit/1、/user/edit/2 ... 会缓存n次,直到关闭当前 tab,从include移除当前component name会等待GC全部释放所有缓存的组件实例;缓存N次不会出现数据错乱吗?默认情况会,但是加上 { key: route.fullPath } 就可以区分相同组件不同路由地址实例(●'◡'●) */}\n {h(Component, { key: route.fullPath })}\n </KeepAlive>\n </Transition>\n ),\n }}\n </RouterView>\n </ElScrollbar>\n </div>\n </section>\n </section>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Logo = defineComponent({\n name: 'DefaultLayoutPageLogo',\n setup() {\n return () =>\n skyConfig.logoImg && (\n <div\n class=\"sky-layout__logo\"\n style={{ backgroundImage: `url(${skyConfig.logoImg})` }}\n ></div>\n )\n },\n})\n\nSkyLayoutPage.ConfigeSize = defineComponent({\n name: 'DefaultLayoutPageConfigeSize',\n setup() {\n const { t } = useI18n()\n const { enabled, size, select } = useSize()\n return () =>\n enabled && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={select}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <NimbusTextSize />\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {Object.values(SizeConfig.options).map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={size.value === c.value}\n >\n {t(c.label)}\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.ConfigLang = defineComponent({\n name: 'DefaultLayoutPageConfigLang',\n setup() {\n const { messages, t, locale } = useI18n()\n const { lang } = useLang()\n const { size } = useSize()\n const langList = computed(() =>\n Object.keys(messages.value).map((key) => ({\n value: key,\n label: t(`lang.${key}`),\n })),\n )\n const onCommand = (v: string) => {\n lang.value = v\n locale.value = v\n }\n return () =>\n langList.value.length > 1 ? (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={onCommand}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <SlTrans />\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {langList.value.map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={lang.value === c.value}\n >\n {c.label}\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n ) : null\n },\n})\n\nSkyLayoutPage.ConfigTheme = defineComponent({\n name: 'DefaultLayoutPageConfigTheme',\n setup() {\n const { select, theme } = useTheme()\n const { size } = useSize()\n return () =>\n skyConfig.themeEnabled && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={select}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n {() => h(ThemeConfig[theme.value].icon)}\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {Object.values(ThemeConfig).map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={theme.value === c.value}\n >\n <ElIcon>{() => h(c.icon)}</ElIcon>\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Fullscreen = defineComponent({\n name: 'DefaultLayoutPageFullscreen',\n setup() {\n // 页面全屏\n const { isFullscreen, toggle } = useFullscreen()\n // F11默认全屏效果不能满足这里的需求,禁止默认全屏行为,采用我们项目的全屏逻辑\n useEventListener('keydown', (e) => {\n if (e.key === 'F11') {\n // 禁用f11\n e.preventDefault()\n toggle()\n }\n })\n const { size } = useSize()\n return () => (\n <div class=\"sky-layout__config\" onClick={toggle}>\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n {isFullscreen.value ? <FluentFullScreenMinimize20Regular /> : <EpFullScreen />}\n </ElIcon>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Refresh = defineComponent({\n name: 'DefaultLayoutPageRefresh',\n setup() {\n const { size } = useSize()\n const router = useRouter()\n const route = useRoute()\n const onRefresh = () => {\n router.replace({ name: route.name, query: { t: Date.now() } })\n }\n return () => (\n <div class=\"sky-layout__config\" onClick={onRefresh}>\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <EpRefresh />\n </ElIcon>\n </div>\n )\n },\n})\n\nSkyLayoutPage.User = defineComponent({\n name: 'DefaultLayoutPageUser',\n setup() {\n const router = useRouter()\n const { t } = useI18n()\n const { username, logout } = useUser()\n const onCommand = (command: string) => {\n if (command === 'edit') {\n } else if (command === 'logout') {\n logout()\n router.replace({ name: skyConfig.loginRouteName })\n }\n }\n return () =>\n username.value && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={onCommand}>\n {{\n default: () => <ElText>{username.value}</ElText>,\n dropdown: () => (\n <ElDropdownMenu>\n {() => (\n <>\n <ElDropdownItem command=\"edit\">{t('user.edit')}</ElDropdownItem>\n <ElDropdownItem command=\"logout\">{t('user.logout')}</ElDropdownItem>\n </>\n )}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.SubMenu = defineComponent({\n name: 'DefaultLayoutPageSubMenu',\n props: {\n item: {\n type: Object as PropType<SkyMenu>,\n required: true,\n },\n },\n setup(props) {\n const router = useRouter()\n\n const onClick = () => {\n if (router.hasRoute(props.item.routeName)) {\n router.push({ name: props.item.routeName, params: props.item.routeParams })\n }\n }\n\n const getIcon = inject<GetIconFn>(skyConfig.getIconFnName)!\n\n return () => (\n <>\n {props.item.children?.length ? (\n <ElSubMenu index={props.item.routeName}>\n {{\n default: () =>\n props.item.children!.map((menu) => (\n <SkyLayoutPage.SubMenu key={menu.routeName} item={menu} />\n )),\n title: () => (\n <>\n {props.item.icon && getIcon(props.item.icon)}\n <span>{props.item.title}</span>\n </>\n ),\n }}\n </ElSubMenu>\n ) : (\n <ElMenuItem index={props.item.routeName} onClick={onClick}>\n {{\n default: () => props.item.icon && getIcon(props.item.icon),\n title: () => props.item.title,\n }}\n </ElMenuItem>\n )}\n </>\n )\n },\n})\n\nexport default SkyLayoutPage\n"],"names":["_isSlot","s","_isVNode","SkyLayoutPage","defineComponent","name","setup","router","useRouter","route","useRoute","menus","tabs","removeKeepAlive","tab","routeName","removeTab","params","watch","immediate","getIcon","inject","skyConfig","_createVNode","default","_slot","menu","SkyMenuCollapse","onTabChange","_slot2","ElTabPane","includeList","backgroundImage","t","select","SizeConfig","size","dropdown","_slot4","ElDropdownMenu","c","_slot3","locale","lang","langList","computed","messages","key","value","label","_slot5","ElDropdownItem","theme","_slot6","toggle","useEventListener","e","query","logout","username","_Fragment","props","item","type","required","ElSubMenu","title"],"mappings":"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"}
1
+ {"version":3,"file":"default.mjs","sources":["../../src/layouts/default.tsx"],"sourcesContent":["import { EpFullScreen } from '@/icons/EpFullScreen'\nimport { EpRefresh } from '@/icons/EpRefresh'\nimport { FluentFullScreenMinimize20Regular } from '@/icons/FluentFullScreenMinimize20Regular'\nimport { NimbusTextSize } from '@/icons/NimbusTextSize'\nimport { SkyMenuCollapse } from '@/icons/SkyMenuCollapse'\nimport { SlTrans } from '@/icons/SlTrans'\nimport {\n SizeConfig,\n ThemeConfig,\n useLang,\n useMenu,\n useRouteKeepAlive,\n useSize,\n useTab,\n useTheme,\n useUser,\n} from '@/hooks'\nimport { useEventListener, useFullscreen } from '@vueuse/core'\nimport {\n ElDropdown,\n ElDropdownItem,\n ElDropdownMenu,\n ElIcon,\n ElMenu,\n ElMenuItem,\n ElScrollbar,\n ElSubMenu,\n ElTabPane,\n ElTabs,\n ElText,\n type TabPaneName,\n} from 'element-plus'\nimport {\n computed,\n defineComponent,\n h,\n inject,\n KeepAlive,\n Transition,\n watch,\n type PropType,\n type VNode,\n} from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { RouterView, useRoute, useRouter, type RouteLocationNormalizedLoaded } from 'vue-router'\nimport { skyConfig, type GetIconFn, type SkyMenu } from '@/setup'\n\nexport interface RouterViewSlot {\n Component: VNode\n route: RouteLocationNormalizedLoaded\n}\n\nconst SkyLayoutPage = defineComponent({\n name: 'SkyLayoutPage',\n setup() {\n const router = useRouter()\n const route = useRoute()\n const { collapse, menus } = useMenu()\n const { removeTab, lastTab, tabs } = useTab()\n const { includeList, addKeepAlive, removeKeepAlive } = useRouteKeepAlive()\n\n const onTabChange = (routeName: TabPaneName) => {\n const tab = tabs.value.find((tab) => tab.routeName === routeName)\n if (tab) {\n router.push({ name: tab.routeName, params: tab.routeParams })\n }\n }\n\n const onTabRemove = (routeName: TabPaneName) => {\n const tab = tabs.value.find((tab) => tab.routeName === routeName)\n if (tab) {\n // 如果当前 tab 是存在,那么尝试删除它的 keepAlive 缓存\n if (tab?.routeKeepAliveName) {\n removeKeepAlive(tab.routeKeepAliveName)\n }\n removeTab(tab.routeName)\n // 如果删除是当前页面并且存在lastTab,就跳转到lastTab\n if (tab.routeName === route.name && lastTab.value) {\n router.replace({ name: lastTab.value.routeName, params: lastTab.value.routeParams })\n }\n }\n }\n\n watch(\n () => route.meta,\n (routeMeta) => {\n if (routeMeta.keepAliveName) {\n addKeepAlive(routeMeta.keepAliveName as string)\n }\n },\n {\n immediate: true,\n },\n )\n\n const getIcon = inject<GetIconFn>(skyConfig.getIconFnName)!\n\n return () => (\n <div class=\"sky-layout\">\n <header class=\"sky-layout__header\">\n <SkyLayoutPage.Logo />\n\n <div class=\"sky-layout__header-opt\">\n <SkyLayoutPage.ConfigeSize />\n <SkyLayoutPage.ConfigLang />\n <SkyLayoutPage.ConfigTheme />\n <SkyLayoutPage.Fullscreen />\n <SkyLayoutPage.Refresh />\n <SkyLayoutPage.User />\n </div>\n </header>\n <section class=\"sky-layout__container\">\n <aside class=\"sky-layout__menu\">\n <ElScrollbar>\n <ElMenu\n collapse={collapse.value}\n default-active={route.name}\n unique-opened\n collapse-transition\n >\n {menus.value.map((menu) => (\n <SkyLayoutPage.SubMenu key={menu.routeName} item={menu} />\n ))}\n </ElMenu>\n </ElScrollbar>\n <div\n class=\"sky-layout__menu-collapse\"\n onClick={() => (collapse.value = !collapse.value)}\n >\n <SkyMenuCollapse />\n </div>\n </aside>\n <section class=\"sky-layout__main\">\n <div class=\"sky-layout__tab\">\n <ElTabs\n type=\"card\"\n model-value={route.name}\n onTabChange={onTabChange}\n onTabRemove={onTabRemove}\n >\n {tabs.value.map((tab) => (\n <ElTabPane key={tab.routeName} name={tab.routeName} closable={tab.closable}>\n {{\n label: () => (\n <div class=\"sky-layout__tab-pane\">\n {tab.icon && getIcon(tab.icon)}\n <span>{tab.title}</span>\n </div>\n ),\n }}\n </ElTabPane>\n ))}\n </ElTabs>\n </div>\n\n <div class=\"sky-layout__body\">\n <ElScrollbar>\n <RouterView>\n {{\n default: ({ Component, route }: RouterViewSlot) => (\n <Transition\n enter-active-class=\"sky-layout-fade-enter-active\"\n enter-from-class=\"sky-layout-fade-enter-from\"\n enter-to-class=\"sky-layout-fade-enter-to\"\n leave-active-class=\"sky-layout-fade-leave-active\"\n leave-from-class=\"sky-layout-fade-leave-from\"\n leave-to-class=\"sky-layout-fade-leave-to\"\n appear\n mode=\"out-in\"\n >\n <KeepAlive include={includeList.value}>\n {/* UserCreate ---> /user/create 会缓存一次 */}\n {/* UserEdit ---> /user/edit/1、/user/edit/2 ... 会缓存n次,直到关闭当前 tab,从include移除当前component name会等待GC全部释放所有缓存的组件实例;缓存N次不会出现数据错乱吗?默认情况会,但是加上 { key: route.fullPath } 就可以区分相同组件不同路由地址实例(●'◡'●) */}\n {h(Component, { key: route.fullPath })}\n </KeepAlive>\n </Transition>\n ),\n }}\n </RouterView>\n </ElScrollbar>\n </div>\n </section>\n </section>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Logo = defineComponent({\n name: 'DefaultLayoutPageLogo',\n setup() {\n return () =>\n skyConfig.logoImg && (\n <div\n class=\"sky-layout__logo\"\n style={{ backgroundImage: `url(${skyConfig.logoImg})` }}\n ></div>\n )\n },\n})\n\nSkyLayoutPage.ConfigeSize = defineComponent({\n name: 'DefaultLayoutPageConfigeSize',\n setup() {\n const { t } = useI18n()\n const { enabled, size, select } = useSize()\n return () =>\n enabled && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={select}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <NimbusTextSize />\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {Object.values(SizeConfig.options).map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={size.value === c.value}\n >\n {t(c.label)}\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.ConfigLang = defineComponent({\n name: 'DefaultLayoutPageConfigLang',\n setup() {\n const { messages, t, locale } = useI18n()\n const { lang } = useLang()\n const { size } = useSize()\n const langList = computed(() =>\n Object.keys(messages.value).map((key) => ({\n value: key,\n label: t(`lang.${key}`),\n })),\n )\n const onCommand = (v: string) => {\n lang.value = v\n locale.value = v\n }\n return () =>\n langList.value.length > 1 ? (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={onCommand}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <SlTrans />\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {langList.value.map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={lang.value === c.value}\n >\n {c.label}\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n ) : null\n },\n})\n\nSkyLayoutPage.ConfigTheme = defineComponent({\n name: 'DefaultLayoutPageConfigTheme',\n setup() {\n const { select, theme } = useTheme()\n const { size } = useSize()\n return () =>\n skyConfig.themeEnabled && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={select}>\n {{\n default: () => (\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n {() => h(ThemeConfig[theme.value].icon)}\n </ElIcon>\n ),\n dropdown: () => (\n <ElDropdownMenu>\n {Object.values(ThemeConfig).map((c) => (\n <ElDropdownItem\n key={c.value}\n command={c.value}\n disabled={theme.value === c.value}\n >\n <ElIcon>{() => h(c.icon)}</ElIcon>\n </ElDropdownItem>\n ))}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Fullscreen = defineComponent({\n name: 'DefaultLayoutPageFullscreen',\n setup() {\n // 页面全屏\n const { isFullscreen, toggle } = useFullscreen()\n // F11默认全屏效果不能满足这里的需求,禁止默认全屏行为,采用我们项目的全屏逻辑\n useEventListener('keydown', (e) => {\n if (e.key === 'F11') {\n // 禁用f11\n e.preventDefault()\n toggle()\n }\n })\n const { size } = useSize()\n return () => (\n <div class=\"sky-layout__config\" onClick={toggle}>\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n {isFullscreen.value ? <FluentFullScreenMinimize20Regular /> : <EpFullScreen />}\n </ElIcon>\n </div>\n )\n },\n})\n\nSkyLayoutPage.Refresh = defineComponent({\n name: 'DefaultLayoutPageRefresh',\n setup() {\n const { size } = useSize()\n const router = useRouter()\n const route = useRoute()\n const onRefresh = () => {\n router.replace({ name: route.name, query: { t: Date.now() } })\n }\n return () => (\n <div class=\"sky-layout__config\" onClick={onRefresh}>\n <ElIcon size={SizeConfig.iconMap[size.value]}>\n <EpRefresh />\n </ElIcon>\n </div>\n )\n },\n})\n\nSkyLayoutPage.User = defineComponent({\n name: 'DefaultLayoutPageUser',\n setup() {\n const router = useRouter()\n const { t } = useI18n()\n const { username, logout } = useUser()\n const onCommand = (command: string) => {\n if (command === 'edit') {\n } else if (command === 'logout') {\n logout()\n router.replace({ name: skyConfig.loginRouteName })\n }\n }\n return () =>\n username.value && (\n <div class=\"sky-layout__config\">\n <ElDropdown trigger=\"click\" onCommand={onCommand}>\n {{\n default: () => <ElText>{username.value}</ElText>,\n dropdown: () => (\n <ElDropdownMenu>\n {() => (\n <>\n <ElDropdownItem command=\"edit\">{t('user.edit')}</ElDropdownItem>\n <ElDropdownItem command=\"logout\">{t('user.logout')}</ElDropdownItem>\n </>\n )}\n </ElDropdownMenu>\n ),\n }}\n </ElDropdown>\n </div>\n )\n },\n})\n\nSkyLayoutPage.SubMenu = defineComponent({\n name: 'DefaultLayoutPageSubMenu',\n props: {\n item: {\n type: Object as PropType<SkyMenu>,\n required: true,\n },\n },\n setup(props) {\n const router = useRouter()\n\n const onClick = () => {\n if (router.hasRoute(props.item.routeName)) {\n router.push({ name: props.item.routeName, params: props.item.routeParams })\n }\n }\n\n const getIcon = inject<GetIconFn>(skyConfig.getIconFnName)!\n\n return () => (\n <>\n {props.item.children?.length ? (\n <ElSubMenu index={props.item.routeName}>\n {{\n default: () =>\n props.item.children!.map((menu) => (\n <SkyLayoutPage.SubMenu key={menu.routeName} item={menu} />\n )),\n title: () => (\n <>\n {props.item.icon && getIcon(props.item.icon)}\n <span>{props.item.title}</span>\n </>\n ),\n }}\n </ElSubMenu>\n ) : (\n <ElMenuItem index={props.item.routeName} onClick={onClick}>\n {{\n default: () => props.item.icon && getIcon(props.item.icon),\n title: () => props.item.title,\n }}\n </ElMenuItem>\n )}\n </>\n )\n },\n})\n\nexport default SkyLayoutPage\n"],"names":["_isSlot","s","_isVNode","SkyLayoutPage","defineComponent","name","setup","router","useRouter","route","useRoute","menus","tabs","removeKeepAlive","tab","routeName","removeTab","params","watch","addKeepAlive","immediate","getIcon","inject","skyConfig","_createVNode","default","_slot","menu","SkyMenuCollapse","onTabChange","_slot2","ElTabPane","includeList","backgroundImage","t","select","SizeConfig","size","dropdown","_slot4","ElDropdownMenu","c","_slot3","locale","lang","langList","computed","messages","key","value","label","_slot5","ElDropdownItem","theme","_slot6","toggle","useEventListener","e","query","logout","username","_Fragment","props","item","type","required","ElSubMenu","title"],"mappings":"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"}