mamba-layout 0.7.0 → 0.9.0

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 (103) hide show
  1. package/dist/index.css +1 -0
  2. package/dist/index.js.js +2560 -0
  3. package/dist/layout/hooks/useTheme.d.ts +6 -14
  4. package/dist/layout.es.js +5734 -5735
  5. package/dist/layout.global.js +30 -30
  6. package/package.json +1 -1
  7. package/dist/_virtual/_plugin-vue_export-helper.js +0 -9
  8. package/dist/assets/logo.png.js +0 -4
  9. package/dist/components/UserAvatar/index.js +0 -5
  10. package/dist/components/UserAvatar/src/UserAvatar.css +0 -1
  11. package/dist/components/UserAvatar/src/UserAvatar.vue.js +0 -7
  12. package/dist/components/UserAvatar/src/UserAvatar.vue2.js +0 -61
  13. package/dist/components/index.js +0 -10
  14. package/dist/index.js +0 -35
  15. package/dist/layout/BaseLayout.css +0 -1
  16. package/dist/layout/BaseLayout.vue.js +0 -7
  17. package/dist/layout/BaseLayout.vue2.js +0 -111
  18. package/dist/layout/components/AppSelect.css +0 -1
  19. package/dist/layout/components/AppSelect.vue.js +0 -7
  20. package/dist/layout/components/AppSelect.vue2.js +0 -69
  21. package/dist/layout/components/AsideBar.css +0 -1
  22. package/dist/layout/components/AsideBar.vue.js +0 -7
  23. package/dist/layout/components/AsideBar.vue2.js +0 -49
  24. package/dist/layout/components/AsideSubMenuItem.vue.js +0 -84
  25. package/dist/layout/components/AsideSubMenuItem.vue2.js +0 -4
  26. package/dist/layout/components/AsideSubMenus.vue.js +0 -36
  27. package/dist/layout/components/AsideSubMenus.vue2.js +0 -4
  28. package/dist/layout/components/HeaderBar.css +0 -1
  29. package/dist/layout/components/HeaderBar.vue.js +0 -7
  30. package/dist/layout/components/HeaderBar.vue2.js +0 -55
  31. package/dist/layout/components/LanguageSelect.css +0 -1
  32. package/dist/layout/components/LanguageSelect.vue.js +0 -8
  33. package/dist/layout/components/LanguageSelect.vue2.js +0 -100
  34. package/dist/layout/components/LanguageSelect2.css +0 -1
  35. package/dist/layout/components/LayoutBreadcrumb.css +0 -1
  36. package/dist/layout/components/LayoutBreadcrumb.vue.js +0 -7
  37. package/dist/layout/components/LayoutBreadcrumb.vue2.js +0 -189
  38. package/dist/layout/components/MenuItemIcon.css +0 -1
  39. package/dist/layout/components/MenuItemIcon.vue.js +0 -7
  40. package/dist/layout/components/MenuItemIcon.vue2.js +0 -23
  41. package/dist/layout/components/NavIconBtn.css +0 -1
  42. package/dist/layout/components/NavIconBtn.vue.js +0 -7
  43. package/dist/layout/components/NavIconBtn.vue2.js +0 -23
  44. package/dist/layout/components/SHeaderRight.css +0 -1
  45. package/dist/layout/components/SHeaderRight.vue.js +0 -7
  46. package/dist/layout/components/SHeaderRight.vue2.js +0 -68
  47. package/dist/layout/components/ThemeToggle.css +0 -1
  48. package/dist/layout/components/ThemeToggle.vue.js +0 -7
  49. package/dist/layout/components/ThemeToggle.vue2.js +0 -30
  50. package/dist/layout/components/TimezoneSelect.css +0 -1
  51. package/dist/layout/components/TimezoneSelect.vue.js +0 -8
  52. package/dist/layout/components/TimezoneSelect.vue2.js +0 -78
  53. package/dist/layout/components/TimezoneSelect2.css +0 -1
  54. package/dist/layout/components/UserInfo.css +0 -1
  55. package/dist/layout/components/UserInfo.vue.js +0 -8
  56. package/dist/layout/components/UserInfo.vue2.js +0 -111
  57. package/dist/layout/components/UserInfo2.css +0 -1
  58. package/dist/layout/components/index.js +0 -8
  59. package/dist/layout/components/mobile/AppSelectMobile.vue.js +0 -60
  60. package/dist/layout/components/mobile/AppSelectMobile.vue2.js +0 -4
  61. package/dist/layout/components/mobile/AsideBarMobile.css +0 -1
  62. package/dist/layout/components/mobile/AsideBarMobile.vue.js +0 -7
  63. package/dist/layout/components/mobile/AsideBarMobile.vue2.js +0 -49
  64. package/dist/layout/components/mobile/AsideUserMobile.css +0 -1
  65. package/dist/layout/components/mobile/AsideUserMobile.vue.js +0 -7
  66. package/dist/layout/components/mobile/AsideUserMobile.vue2.js +0 -56
  67. package/dist/layout/components/mobile/AsideUserMobilePopover.css +0 -1
  68. package/dist/layout/components/mobile/AsideUserMobilePopover.vue.js +0 -7
  69. package/dist/layout/components/mobile/AsideUserMobilePopover.vue2.js +0 -52
  70. package/dist/layout/components/mobile/HeaderRightMobile.css +0 -1
  71. package/dist/layout/components/mobile/HeaderRightMobile.vue.js +0 -7
  72. package/dist/layout/components/mobile/HeaderRightMobile.vue2.js +0 -46
  73. package/dist/layout/components/mobile/MobileMenuToggle.css +0 -1
  74. package/dist/layout/components/mobile/MobileMenuToggle.vue.js +0 -7
  75. package/dist/layout/components/mobile/MobileMenuToggle.vue2.js +0 -33
  76. package/dist/layout/hooks/index.js +0 -21
  77. package/dist/layout/hooks/useApp.js +0 -20
  78. package/dist/layout/hooks/useSetting.js +0 -24
  79. package/dist/layout/hooks/useState.js +0 -100
  80. package/dist/layout/hooks/useTheme.js +0 -48
  81. package/dist/layout/utils/index.js +0 -54
  82. package/dist/locales/en/account.js +0 -12
  83. package/dist/locales/en/admin.js +0 -209
  84. package/dist/locales/en/common.js +0 -42
  85. package/dist/locales/en/components.js +0 -39
  86. package/dist/locales/en/constant.js +0 -153
  87. package/dist/locales/en/filterBox.js +0 -13
  88. package/dist/locales/en/index.js +0 -22
  89. package/dist/locales/en/instanceForm.js +0 -19
  90. package/dist/locales/en/password.js +0 -20
  91. package/dist/locales/index.js +0 -12
  92. package/dist/locales/messages.js +0 -9
  93. package/dist/locales/zh-cn/account.js +0 -12
  94. package/dist/locales/zh-cn/admin.js +0 -207
  95. package/dist/locales/zh-cn/common.js +0 -42
  96. package/dist/locales/zh-cn/components.js +0 -39
  97. package/dist/locales/zh-cn/constant.js +0 -153
  98. package/dist/locales/zh-cn/filterBox.js +0 -13
  99. package/dist/locales/zh-cn/index.js +0 -22
  100. package/dist/locales/zh-cn/instanceForm.js +0 -19
  101. package/dist/locales/zh-cn/password.js +0 -20
  102. package/dist/utils/createContext.js +0 -14
  103. package/dist/utils/repoUtils.js +0 -160
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mamba-layout",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "Shared Mamba Vue layout shell and standalone browser layout.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -1,9 +0,0 @@
1
- const s = (t, e) => {
2
- const o = t.__vccOpts || t;
3
- for (const [r, c] of e)
4
- o[r] = c;
5
- return o;
6
- };
7
- export {
8
- s as default
9
- };
@@ -1,4 +0,0 @@
1
- const A = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQgAAABMCAYAAACRSCkxAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABCKADAAQAAAABAAAATAAAAADXpTM6AAAqwklEQVR4Ae2dB5ScxZXvu3tGYRSREAoglEkSSkiASEYEIxBiwWLBgWXBNjZhD9hr1mvY52eLc+yzz/v8dtdmk9c2tvGaY+DAguGRbJAAWShhgQBFUA6ApFHWaKTp/t7v/3VXz5dDzwwM5311pqbSrXtv3aq6363wfZ3PfcLdrrVWn4NNh68t5PN/mctZI3P5XNdcLt+Us3Kr8gXrsVLuyBMnjuvb+AlvZsZ+JoGPRQL5j4VqOxHdvrJpxNGjuZ/mc/mLUA51TrT5fN4ifdCyrN/lS/n7hk7qvsZZnsUzCWQSiJfAJ1ZBbF5w6IRiQ+5hmnheYDMrLUNRHEZJPFHXtfCdE8d2XxsIm2VmEsgkECiBQmBuJ89curSxb0tD/juWlTuzVLJyUb5YLHVnuXHp0ebizevXW907edMy9jIJdCoJfOIUxNKfLO3Sr9TtC8WW0mwUQxe3csihLPAsLuxQcXyxZB1rFfPTrMaDJ3cq6WfMZBLo5BKo7+T8udibM8cq9Jxw4DwUwDesnNU/V2JL0uW07eBwraX5fM4aWipap1G63AGRRTMJZBKIkMAnSkFcf/m+0Xmr7ltFyxpmlaxC6/yPaKGKAGQjsxfqo38MZFacSSCTgEMCnxgFseC5zf1LxfyX2XCcli/kuhBWmxGoKKqZRGxQS8upT9ySqtrILJJJ4GOQwCdCQayfa3XfX3/gz7EarmNp0TdX9C4tbCMhWHz2aSdFtpKoao1g2Cw3k0AmAZcEOr2CsNh3WGbtPa+umP9KKZ8bxhRPNMurQCZStiJcjc8SmQQyCURLoNMriNcv2DuyLp//Yslig9HK1bcuLIIaZrRBuYydyYrlUE47ViVBlbO8TAKZBDwS6NQKYuncfQNyxeINxVLuEuZ6j9bZ7lYErW0KVh9SFHYJJkjmMglkEkgugU6rIJ55Zm230hFrBguK2RxRDuQ6A5ciTcOCFYEp9YZlBVGt7C3O0pkEMgmESKBT7upzQpHvV3/s1JJVutkq5U7lolNBpxbuS1Fp0lyYwgwploohYsiyMwlkEgiSQKe0IJa80Dg015L/QilvnYWt0K0tz/6y1SGLw3KaIEGyyPIyCWQS8EigUyqIppbiyIJVN4kTyt7OxUQqRWGAQaCo8HRKc8nTIVkyk0BnkkCnVBD5o3UNpXypQdsOtrDMZK9IzpP0yLNS6gOyuD7hVDeealkyk0AmAZ8EOqWCaIHNPLuSracWylDauNZEa8yUBSiBCpC5M2UgszCTQCaBaAl0SgWRQ0Ow/wDnzGyjAVzz3pWwW2jAfM1VgUGVHXP6xJNlZBKIkkCnVBDFsoaAb4ciCNUA7uYFgtkrFXBZgaVuBFkqk0AmgaoEOqWCaOE0Ul+Mqy4JyhcZqkx7I85p71AprWAgso2I8rqlNT+LZRLIJBApgU6pIMSxrixUJ35VU0S2pRXegBkEFa2ByjElWZhJIJNAAgl0SgVRZA8iz9dgfBM64fz2gVUyuFqVQCQZSCaBTAJGAp1SQXAeWT6SZGK7Jnt4wrSnGrpAK7mBy49qjSySSSCTgFcCnVJBtEhDaDY7ZrTZZ2xtgKOwNdMXq9yksHFl9oNPPFlGJoFICXROBWEvMXQ12s97UJ4fyp/DJ+eyBYZfLFlOJoFICXRKBSGO9TXq8m/fkHBqBQyHAL0R2UgVWmx0FvS568xlEsgkkFgCnVJB2JuUTGgpibJzaIU8v5NlWUd497srb3hGv17h0iT5XDHTD0agWZhJIJEEOqWC0D2I8ier3TO6/HN61rvYEKvQEpfwBnhPlw4IanIFAL1CabQ+Caqe5WUS+P9ZAh+ZguBpX88EZ3chiWvBenBPfVYZ6ANrL2uFfyQ2nFtU04XJrULCcdvYMv0QLqCsJJNAgAQ+kikj5QDtCyphABvuLC0xyr+OVfkojP2xmNxhPnv/0MHmLk8UrVITH5FJ/gEZ6rfgi0VMk8xlEsgkkFgCH4mCgJvT8d/Cu36BO5RL5rG+ANX6BSk+BlXKvcaWw8+37vn3HSUSKpOScCuK8uam9i68ni9T2XmhNLOCTAKZBHwS6HAFgdVwIlT/F36kj3pIhtYh5YnPEoJ1Bcrg3RJLi5adzSvmzJkj/WArCKME0CXAm7wIy0JAmcskkEkgsQQ6dA8C5dAHTr6BvxT/XlKuWtAQ2qS0X9jK5XewIfmzI4eLC+6YM/KwcLQwz8uazb8D4d65AFgZFTCUTeYyCWQSSCGBDlMQlf2GWfDyJXyypUWV8aJ9JMlJZxMbm88VW4pP3nHv6N2muIQC4TO2zH2fOjAggSWZfqiKJ4tkEkgkgQ5TEFA/E38vXlZEKqdNykKd9hWtBRxP/qL/iFHrnAi0xpBy4GDDmR0arxoRH/H3IOC/y86dO7sfPXq0W0tLS9c6nJiE/1KXLl2ONjU1Hdm+fXvzueeeK8soWWNCW5m8AL4kEvFSLB8dJ6/bVsgK7a7gsaB9JAgfMN3Il5F4+KPmT/w45FOCfoesS6Gh9oE+3yE75442lI1tNSyZ05io8tQhCgLmRsPL3fhTkvHkhmpBQ9Tl6teC5+lcc9PS669vZViQ2nvgspTrgqUbQ3BKtyk70qlTUAi9unbtOhilMHzHjh3afxmIXtCvivemvAu6AdatliNHjjQVCoW9xx9//I733nvvfco3kr9p8+bNjRdddJG2YdrdgV8TbxRe/SLFvY+89YRrGRSHCDvEQUMKqRf+BPxIZDAM/w75i6B71EsU2U1GgU4ifwcwejhswjcC26EdCK1e0B7DaZdk1BvfTHp7fX29lscfBPFKfmJXkcOxVBiHlyz0cw7bCFfihb9NyqiCvx+4xP8wvNqQdo4fAc8W6r0FPzvTVqZetAN5bzr/Swz+i4GsCb9l1e0utrQ8Ueha/+pfzRl3wEuRMwy+WYkF4Vth+DJcVf3wruKaE7S5sG/fvmP2798/lsE0BWthAsI9DX8CZX2QB78KluuCJ0sXOuxxXiQ8jFf79uDXEH9ryJAhb65YsWIZ8Y3jxo0LfMICm9qBrzuVroCXz8DDFOKasPvJf5u+epzwRfJ3pUYcUQGc6pB+yGMcNM4gLj8OOkOQ0/3El+F9CgKFegZ8au/qKDhWAf8m4RL8G+RtJ92miQQOnwP3IJTBbHBfij8NgJ7kHSW+BWW++PDhwy8uXbp04dSpU/f6KifIAJdkMYZ2fQ5ZcMnP0gSW20r8RfKeJHyz1rbBm8bXZPCL/3OIjyHsAc6Uy3t+cCKfl0J+nro/q2kCUznQgbAe7XsNBG6E0b4AEdVEjp64XmTFlvwadMuav/72iMDO0B6EvYHpwxvxgKEoLR9evoLSWAm9Dxw4oIF/CW2+kHAsdI5BDvXIwygDX9VKx/WkQH4Q6ZMJL2WgbCVcDK7nly1b9sqkSZM2gi+iYUAncxdCYw6g4yq0Ta2ToXUSeZoQD0Gr2RS0JRQ+6o9HOVwBzumkx5LW062OuOTSgJIIJIHsulBHT9pj8KfiLwN+HRP4VeTzB5TxK3369NkZWLmGTHD3hM+7oHkz1YdAvzpgyRtF+RkoiHOIP7ho0aLHzz777FoUaT/w3g3+zxFqbhg3Aryn0QdDadv/JnO1KUgawl8BnDPxd4DrbNKyDmWpJkXhgqPecDJOxzcH95ALPFViMshvocZgfAFmXRNE6STur+eM1BM13PH8kD5OvWTQZYh2crSzcOjQocF07FWgnI3XU7mf8vGpqVBHHcqn/nNang1DVpO6des2edWqVY+88847r7fFmgBvFwbP7eAdLzoe5jQZNRiuwb+GX+UpT5UU/oMHDw5kMs9iwF9N5XOQkSa7i27UWAA+R90qXXD2AH4cGaMpOxu5jGtubn6MpZysizZ3KrLRE/0r+OOqRCsRtQeaPWjPFPGBdbNn7ty5T7EMtE/UvPBhaWho4n6WcqdyELj6vT/hDGBeJ/4ebUq1xGQvaypLsnuodya8prUYxEOQkzK/qd0UBEwOR4i3weQZNNKHl/wgJmrK4yK2vcQoV47A6ynyJGuirUq0rw6zU0uImxnIn6FjpXHtJ2PNSCsVwa0BoxfRZOYOpcNPIvxPTMg/YN7Wuk8wEHwXC3cQf6JH/im0YzxhzQoCPAUm7ggG663gmQ2+kYSBAxZYisKdt5y0eG9A5pOIS4GeCq1fEZ9L3LdMCcfsLmGy12M93EGurRy8dAWtPPpBFqHk8xdYL5sJF6kIn8hR/wrqyyIKcmrbYJTPJEI9/RuDgILywNmLsXgP4VnQaNWqQcAp85DrCN9ETonDBheTmGBfkhBAKtOSQG12Ozbj3Bk1pkoMh3xVFDF95GCjPQx12lqgQ8Yy+O8lPgMvTeugUmOj/NWEUxuberr15WnZe8GCBY9z4tHkB43OgV/x2As8UYC9UXZ60tfkwJ2vKM1vguAq0rKmQuUSw4vL8vTAyjI9ljxZJ8fzYOqFhfV0rRbWlClT9EQ/m7Eb2m7Rl4eu1vl6ZWDt/PnzN51//vnaYEzkwD8sChDcdYypY1ASmj+JFQRK8lPUndHeyqHC64fVaRbFfFQZwirQSZfD4LXAHUdaT0BboM4wqgOi8AeVqS/NVevW69ghNyh5x7skTyXd126LU9tQhDqZ0AbaLNL9ldcWnFF1hRuvzcWp+Ft69OhxwSOPPBL4RI7Co8FH+wP7BfymrwrApMZt6DIGTqD+3+Jn4/vjA+mRb/eFwjDnhFHcwaMdJ0+4tQE3jbbdPnr06AuJ18Q7+yA9mJh9qO+j48xz8HoM+VeisC9AMcnySuSoUx/UFkOj0qYC4yvVnKTelfDfQ7jb08PXEfA93GYLgnW49h2+TEdph1ZvbCYSWFuAJIigh3aZcgh9ZUc+QOM54pSiPwPjTtorZdg7vkb7QECvO/4sZHvzmDFjtoB1RVrM1I+tUpZrLJgPQPzxJPsm4Wx8nKXiqx+UIV6ixhJ0KM7r2PZc4rehoPYRl9mfyoFDijFyUoLfVh4VxKI7Gv952qzl2HJ8rHCNbIUryjn3XqLgTBn4tDdikoEhvGpPI+nmcxFYWTBPUe+nbVIQKIehaK8vgkzHKom1KbBtcrZ+CMWgG5Yepwxe7GrLw55OqGePRWbtX9LmNMpBI1nLgr34JvDo8k03Qq1HddToY5c8n6NOA4NMR1hvLFy4cMu0adM0IRI5TP/IyZYISQQQ4+BGim+kTWpPEgeoZX3wwQeBsMhXMhJIYLnJpBywfAPhxYQfsjm6uWfPnonNfgceE7VDL11Nbk+eNnan46/BiviA5Y3usUQ6T/1AWPAF5kdlIqsBCerp2PxXwPmuDATgLrLM2da9e3cpv+01Kwgu9DSwuaNd2ZkQ1lrZbp0EkYDhAL6SZ9naWBfRYuTpLEY9AO/MSU6vAnkC4V/RvgFJaiIDbZytwy+A36Wkt+APaPCTJ5NQm2IT8ZfhdZQXaSJX5Ku19wysGD0pX8YndrbMEkMnB+TIUcek36BtMr3jKgpgJ/414OcPGjQo8KlG2SvgegQ4KeTBeNuF4Ac8r7smn+bpuwiYX5PWUzCxi5ONky647fEtmvjrqPtWkj0Q0VDdKCc6aS0I8NbF4aV8CxvHTzHpd0XRV5mUtvqFOvZJSk0KgjcqC7169fo0zH2BBp1IaJtoYjSO2TgGk5Tbq1csgrKCCBd6tYSIPXRjx284ddp4E6Xj6cQq2jBoZKBJ8Bh1dK9AtxT3IXRdeio9+uijueuuuy7/2muvdRk2bNjT5P0KU/WzwNwBbm2YRTnJeQr+AhT04hNPPDHxhqVzkIcRSALjrKtxQFqbkifR1ji5aMC9gf8JCm4u90e2MYYCj/M42l1x6qmnfhdl+iRyuZc658GbPcaI+5zKgBsGD7NYBi4EINVJTFy7VS4PDacnmT+FfI2L1fh3fIw5MgwOR5YvKvxpXRK84JTCPNjQ0HAwLf6aFMRdd901ls7QEd/pdOJHsu/gbJiewfaJhC1P/6w3YnaWyILg6xFONInjdMKxtPNLhNrFjnR08gbgfoJ8HjzuuOM+IB1GVJNDS47G1atXr0PDbwL2H0jHLV/05Jr6/vvvj6b+25HMOArB60i1T/RrX/vaeNp5Pfz4rB8PPd3OW4QMv88yYN7QoUMPo9xCGeI4V9bXB+D4/d69e1czzn5AXPs+pmuDGqCxfA5w9ikD9MLk7qrLpqArHZQwbdHTHbzVhyDxevJ0Qe7q5cuXb5swYcLuoPrKA6ZaLwzG0AkrD8pPUkcwLBuCqsfmpVYQaOjjKk+8iyAcO2EMB0kaYmDjQu1B2C9qhQ6xMgbXaEJILGzjUAeWM7CvoGBoYKEjkwGzk3b+gsn+QL9+/XaQjuGQdpRh9q9fv/63LNl05+FG8hxY/VFoHAfM8ZQkUhDsnYQOTtMvJvRTC8+Bhxuop+VlOBDGG3DvIMN/RSYv9e/fP3BZEYSAenphbz1K4m8pH0F8ahCc8igDPK/7HmehPH9P1gblJ3HUcYF505rccuD3eRSELnHdDMxC7qq8WlFuLnxKeHH6ACoZSRSWs67hzZnXnvFUCoJGduVlpNkwcAO+L2l1io8fCcMpTB9AGzPsq9a87h3s3PxUU4DHGsHBCLUu/DwDPE4F6yn5Arf8HsSU+zAEVWj2yJEj97CW/T71H9KElpMMzcBCeTjrHmXjcYszIy4eN5BMn8XhMeXA9969e/efka6K2JQ5Q9rQCOwTWA5PpFEOBgf11dHr9+zZo3snT+B1TyDQAas+mszR5XjCDYFAAZlJZKNqsiDk1C/Gl5P50Tyhb+cYejPptYLxOvj2ZvnSgjE0fIUhGeJdvES5JLTD6qdREHleTZ6G8G+AoWEwRhDNWBjRtua3IJS60HEZ1hEoLe1bpHQ8vXTXYVpcNWSxESXy/A9+8INNcbBh5eyGazLtCSs3+ffdd1+O9X/5sWYyY8K4QaLyOBgnCZSDbv0NialDsbWGQf9kmv0SJx0T79u378Jdu3Y9T1oPqEAHLQ3IUfiTdF/k+uuvT7TMiGmDLReN9TAPvQIKYiZ+AfsnP2P/ZL+XwSQT2VsnSbqj8BraiRUEZtsIKt2MMHXuHPc0Nfg7JKwuMVJglwKvRZ1xrXYCndA/ihQDp4RM3ubpPzftxPXiFS5vXnukk06CpLSQybnAxh1ta4+F5fnyt5LijYDThuxv8FfHjL++yHDkjBkztOGb6EZinGzAo6dhC4pO414boj5lQX4Pyr/OA3QB+JZ4+zEBDVsRoWRAldwJbxxulXPalBypAzKRgmDHXE9RbRJdS2i3QEIyTgyYdFBcZQivhFmc/hFuiDhCKQhtOeqvlQsHgDdqA/HTe7VNvcledAHpfbRvJUuLrQFldhZyKXCCEcgupxph1ZQvmWktV7PsdA8iiTN9mASW9pwOXPX9E/W714GvEb+0Pb5vAZ4iy4w3aMt2aEXtB2kdcDwwxxHGKgguWAWa9c72QPsgfiWTtwc4J+BJlpUE8aqyIDqM/L/hdf07ibvuRnTUk154E7jp8PX01q1bXetUZz3aW2QMbybviU2bNv3e3LOJVRBU7ALii2HkFiprB92Jt2p+uTI9CeqAxtoyduzYRCafp7ovaQtbqsExKN1c+arQicrzD2I/pC9npC/Hk0HbdrG8WE87A3tLx4FLliyZwJXg/sDk9ZTgSWN7oVq3bp2NUXlyWCImbdFpzeTvbGxsfP/NN988WOtkg0cbZ9S/hIMtp/aAbxi4dAsxFCVNlan9bihAygI28A6AczW0qwoiqF3A9Kc/dBEtkYtqgxBAQ18AWwR93ewaAf4+hAR+S4K8q7is9ey2bdt+y8eAqi/Xic8gXoVfeEwohZXG0c5q/Yh6AyiTj3QVXFfD9xyWSj/VUilSQdCgAtbDRAbpV4mfHIk9pJDGU9XSRz7+J76dFARCtQe8e9C3KonWmGFLFodHt5miyBDeqxd1wgCRj25Jbg8rnzVrVnfafh/+EpSDjsZsUA1MxaFRPYaS8nDky3JopryRAbqM7xD8llOkedwf2EV++MwMYEQ0ohz4oopdZbfddptudcqEV+e6ypwJyprYXHU9SZ3laeNc9DnKZueGBLz2YrCHbmZ66Ua1wQG7D7pPkj6D8GrCruLD68nvRh/+HfLRF9gX4+1+iqIRVeagHxhtS90ghODrTZvuQdbziC8LVRAU5tGCegHnJhBNx1Mv+SByEN8Hru+vXbv29WeeeabbMcccU+CiTB5zvMBgLxx77LE5Np9yaM4jSd+x1wQqs+LmpzUVPGi55OxgK3FUEyHSwY9unvk2pkwl2pdnB78rykBXrO0PyZgyyTRIriYP3FIu4mEE/hysCV2s+jl49N2A4IYa5JVQpyJGKXmKqknwBfJRBXBEoN8VK0evpEcqCCZpCz5ULg6UiaLIQnsBe8VrjOtCe9v1CF79cdJJJ61mHD8Mbr2LoU3awP0IykdRfvett956Bwpih+E1jm/RSOsQSeJ+S4Fbx+hj582btzxUQWD29kET6hrw52lYYmEbJiQMiFgMzqUogkUohjNRCjoa1Vt4eoOuO4qigc0T7QC38FR8m/yXVcfgCAtl1ZZlWQY1Yo2uqJsTNRkwoTIy/MFzkYkbur4zcG0JkY0m4xBo3YIXrR/hdWMzkdNAinLgDDWBvfXoL33ByL7iC0+uYmcanCX6uN3kwslJjidb0UnDRbySgK74K5tpQQCevCB83jzJR+3ZuHHjS+DWt0CG47V5TdBqSUgRKwM3Czk9C55fEpdu81D1J0VT9dM41fHymqZ+EKz4Bac9WQIHf+U11vNo1NcAPjYISVCeEYJhWmk2lWSFPIjvCS6ZfXozUU9SvfBioyHUbvfP0VjzyYgdUGUF4R6YQmQUhY004J+/RgCQP+uAP8udA/9dGTTawOpwBy29nHMt9F5HZnrjLpHWAzaSN5UnHZx8Yu8ICl1LH7kosXfB2ugFYa3d2+xQwtr7CHxblHwnfv36e7KdWWqZcetE4I0b/MOHD9+NkvhvyidC4yrCboRSCl7fnbK/Q6ktJtTDL3YiC0daZ/hKWy8CHpTWOnh5Z/r06X4tS2GejhhFeAtI9P1CW4AKjfciNzAM2pzMWe2ayxPXU+9U4McSDscPwKuDU1skTprq0PJ3INS5rV5XsJ1pV5zxY78m5USUII6gYnfCaY+son4J0LUXyBjonQUybZYlcsBX+y8srv5L4k455RR9bPdgGB6TTz91A2fs5lgSmoJhH0bftRhS7n/39w8MTYWUN0E3/g51hbCzblDcyx/fpdSn7h5Hoa7Da9ljK1cpWOOVh9c8upsPJfUVz0G4nXmCSevUZ0HycOZBQ1bXYfJCPeV6SO/Hvwfcv7Hkl5LwfxqO3cv+KIgbYfQKiNPe8v1zMe4UhOJyIHR5O7OD/0mOZfKup4aLql8XM3AiH3au6s7ERmciJK6vJw0NKcuxz0Kx/Zq3ZqDNmuRnZGjqmbxKPoHvqWRAddSsTeNB+N0mMypUPzmdN+0si4vD11GOwrT5KFM0yiaW9TAKvygOZ8JyKWK9IBUJTvkexm6ig39dba7IOxSnl54uYLF5/zz1tA8xgDkiJUjS11/q689yxXwhS+lEFxzSXrX28hbSiC3ALcaHXnNnOcT3lEraiH0V2T3HpT3bcnYtMdiU7MF+wUwQ3YLvbrQhCsPWjCCpmqHSUMDY/JgwhLl2zxZtaQi/EnCSai1VDDVW5dcJlSCut/TU0FaE/kpai56sL1zzgpZvU+7DDz8sDhw4cCEwOsNyrd0lOyM/tasyyBqwviZwAqDNIjvPKGoTgqcv/ZFop17WnPDEuSQwBgc8ryR+BaFrDJlyhZTJqprIdx8frfV41uADVwGldDLhcLzJ9oW0QY/h95FN4v2ZMHwmX3IxcUOQm6GNvBr9EOnRlF0JjJYUpv+cYQO8fJN+04mOqR7YH14aVeCIiBkzESAqehO4/wGPodYwvFlYDYf5BJ9+za4q4GrnwlxhzZo1Z4DsThozEHPOPqdXKMVgnBphT1CT8TGE0g96nTNaRVTbWOUw3cFgtdpyYjJXG6o5nggy0eA4BVnpqf66pzg3c+bMI4sXL/4p5froqr3zL9NQspUzoeLgyrNuPwkF8X+I6+Wj6uA08Yr8pWiint5CV3WqG+eSwBgc8P8nxgm33kvlSxumwB1q32niyJEjTyR7vbsoXWrLli3at5JCagjjU/nQ0wDXhZ9ElpW4UL0wnIbLoDGP0n+bd5Meo+444E5Wf+CdysEoAp1q6Dc+DLpQeqqfxiXhHZgj9FXjaaedtisNbsFWFQS3v4ZyyvB1BusUdp5z8iC18YkJCcjZwLSE2hNeL2vp8yo6l0jlajvm3ACNNfiJEbTUq6cgo0u5kr5q8ODB3vfurbPOOksmeazjrU79VN8laPQRyFtrblvukr2nH5qZpOW3umKxlidBHFiawQkv+u2OXYRRVozGlz4NcDnHgw9wTBhq4sbxhhV0Ovzpk3aRR6vg2QzMWi6lJd6DkIyjHPgCi+FHtzufo78mE9fpki5nEfiUhMaHjoUD8ZhMlTsfxiY/KozDqbpJYMJo2BqA9VQDv+j0VV6Imal7CuxQ2081oyDCKn9c+erQ8odopbhS+BoYprObofc7wuje5YO9wMziGO6cyq8cpaZGR9ahGE4j/CKVo05FtJexDtgdSYnYMpPcIrysmqRu1KhR+kWo+Rp8UR56QyifDd5zavngrvh59913B4Ln6/hh+FB6gFJcehtl8rbqJXVR/KtMNOWDHPNlN5P61/S93r9o1pwxnnQ1HkfDlAfRiMpTnxn+osIoHFFlOjbKs4n2Z1gPX+SKqP1rR2pYZ3bqqqBTDPVhqGfsh3VyXFuRkY619kTBAaN12CRo3IxJPSWtklA/sEE8mvq3EddSL8rtAGYZCj2xggA+dGKpzAyuKKLOMsaINrUepq6OO0NxA9OF8qnUvWXy5MkTibeuV50IQ+LcxxlEndvxV4FL4zWKlvpoKXDrQ9AFZgfhBEdVJipXOsyxCbkCpfAQfhPePtUwykGhvMHhxBsUD6MRlp8Er2BqdfWcaY/lqXcvCPSTY7Xi+UjrlcSmrcPSNrw2xcey621k8ywdrUtjUUh6ATOTju/BE/YBlgvzURZ74TaSUT1ZmQj6jsHt1P1zaHSNEGgRGovhaVHS34LABI5AVy7SINJATunmwe986lwSU68v5dr8rufrWb/k7c5FUV9fEi7dxWGyjYf3m0l+Dt8b73PiWw7edaKyHP+K2YH3AQdkJDnFCKjmyoK2lhq/g1/tRXyFtN4olbNlqlDO8Gon2umflEwSV/PbnFyZ1dpJnw5LPTqSMNYRMLZQYgeztzkaSMmE6eUZ+Rxlh/cnTOCLKRvsLXemGQT9gNcPmZyIRfYiJxs6NlrBANrJ/QG9FWgzIQujd+/eOonQjbxPgeNK/DR8Tyc+bxzYjdB4lrqBHybxwpt0koGUBMbgU8iewj6snh/Ck376oL+zzBmnDBD7o7ba7R/B/tar1HsYeSwj7XsqoRzGIJfPgGMGdafhI2UiWsDsIHieNryldBpH3VjwOBgtNTgB/AXtmYK/AIT2RUDiVQsiDoeY6KBjztj2hQHU0xFXwnji3fAwRB9lfgtTrMCWgM4x5LyqoMyLv9MTjINy1YD/WFrLGAQyI+9kwsdd9NL+gTauhiNbPV3f47sSW/jgzm524w8yiHUC0YtwMLj0wVedfmitXt00DmBBWYeA+T3+D1gmh0NgArOpE5jf1kzk8gqK8Fe05y5ohC4fKNPmoiysqYRjoLuVD/fqCDno9UX90pUeXLpoFCcTTUBd3NIxsn5hyz6/T9Mu6oaCR5V5K7F3t4aXyR6AH13FHoy3h2YliFymGFwG1qTjQh5augTlUrJenhmzDYy/ERzL9vUqIE7MbBImH33A1lbLrokTJ+pNVFv4w+OY6GzlsqrKhr67Y4MVRSv3EeOgFSgkNmDAAA28n7MBdioCv5yJHalU6SR9K0G/NKbboxPoeN1i08/J67hLa+l6vF7Eso8+KQuhXM3WJ+1eowN/g3m+vpqbIKIlBnVjIeEnFsYLoN8L5abgPzPQxlH2aXBEEqJcSkQ3x/qhWAJlCK8DkMdAwiTKQXshb4LzF1h5q738JUmbdpswqE4S+QFT5LX8p/n03DnEb8LL8iEo70FE4Tc0BZvGcR/jEO0HdXmfxIQaTybOeNXy9YeM2RbGT47Q9oKRU5pyk6c9pfVvvPHG41wTf1UdENsJNpZ2+EfjNQK1hpbaaibUR0klQT1F9r/88suJqBStUlPBKkhNBMKHiFjSiJ2FgQjJFO+4dxH2PyLYIWTpFl0IKRcWweiIy95XqLQ37XpUMlsJ3V+i3V8n7npiuKiFJMxgCCm2s8EbVRxaxpHippUrV/49A20QOCbQxtoQVShowCZx0KJZpQ3Q0xuu88I+GBuHK4ls1G9JHG/t7oWX/9CkBP5svH0xTnXjcKicegJN7FhqbqfeOLVBXrIzcUc4GJhBBqn62elFU7AKqa85Iiv3DKyOe/QU080/bSK1t9MLM/puwS6IbSPcCAEdjSlvP4zo7rfO8sWYRsRGXo1NNDKslvxm9rNbr6WFcO4ZpQeRyu4Q0ETZ8H0EnhdgRXyPcA7p0wk9ZBKhSgMk5aBju/tRDk/piZ2msoGFTxMNDZPAhFWmjxdQ/9v4OcDoFCZSLrQpDJU9WIPKnfxRrsfmFsbOv/FUfGT8+PHaDK7JOfGGIUgCY+qyx7KScf1PpP8TPvspX/U1CWNcEWsv0RwweMD/CvHLHGkTdYVO/hUP81SShaf7HFrm/Y0UxEKIzHBhqyEBHq2J9daeNs+W4VfiN+G3I6wDbIYeZhNHN7r00Y8Sm3YlbqLZR0Jill18SS9+FAuopWWJVVe/m9uUetM0fKRRKAeA8G4tlqyaTFAbSeUfsmriMtTzaG6ZYt8g/SnCjrLCjiKvP0H6h0yC55kEvmvcTt7C4nS0LDZNqKjHk446BFeT04nKggULXmSfZh+K7DsguRDvk4v6Wg652WHYP8EZWC8M+XpJSOPrfsbWo9CuWfGz9paM9eZn4MlRhQc9jBK/HUrbtC/wDHV+g9evscn8DG0PMHKS/w5OpyKP021Ixz94fwQZ3EXWQEd2bDRO/iCQ5XO+fm9Sv3Q0nYyoK7M+glRWT+/DbySuSyLaJNIE3Mqxqb7R2FT5NSmtncujgsL2cAfrWzZ1LxaeY4zdCr7AjhUdDCmbHMR300GLi3sP6EZkm51uSvLeylzW0LKGxMM1eGnddnEVeUm2LxK/H4tlCZPAezszMS3qb2eNKeU9JKKS3l2QQq/ZnXvuuU18FGgR6+J7UEqSi24+Bp5uaMLQtlBaKve6ily0NJ3PpNC+x6vm24le2KRpFP0uNlrfBX5sEM0KHt0Y3ZAUp+DgURvKPyJ6MfGxyovAr+Lt+Df5LGPafl4P3vuh8V3q2wqZuPCFurhyR8W6AheknqUz/4NKsaYNMPBiqQHLif+Y8CY66jqeGN/E/xc/KruA9+XX8U27nZpEwGhTzt/TDg5qic6bd1FLqbnln1gt/UlWW5jHYuAV7xI3Ia2X8A++sHxGWuGHsqfvDbJGW8Lk+zZAd9POuYQ1mf+GSEVWkpne5/gWsv061sp8dpTbxDcv4EjZ/Ix+1oaebeo6Q/r0AGndrVhqeKk15L2TZvYjlvHg+Q447wT3y3gtJ11mreiHOZV54UmL91X47yGfW5HNC21VDqKv69/g/DH47XclAujKUnwdejLl07r3qKCn+8YAvM42as3/Eu3SXZtU8wX4FhTcv1D/gYollJbHUHhwL6nn32F2Xr/LU18fU/0yDfGdOQOjdfCHYHqJ8icR1hIUwgf8hJr2GWIVSygHbSh4YfGFGy45e+GX84Wj/woPF4DKc8SGoC2LCZt/hnnxvRcXXbCiDeQCq1barn2VX7OD/gJAlyCbawmnUqYXrTw8BaKxM4HfB7yWE3r55/+yDNtS66ablwq4LS4o/Zglnu5cXE+5Xi4zToPzSZTDv2ClNJrMtoSV36PYzl2PR8H7CjK5DLqfoV1nE+oEI2qpY2+0MdhtFoA9TJ3VhI/A52OcEKyHz8TmfpJ2YIk8CJ+nAHsrtJxX3HV8+hJ0f8S7NFuS4HLCgIvq1jzyrmW+/APx8/FOi1cXRPaQ9zD0/5kHwTZn/aRxbnIKx70slzYgt6/C73DqRpsRAoiwNCjTVf7vVpHw3cQ+LDUuR0n8BXVPh0gfiOptve34ecQfp9JbrDF13CeFkUrTUacD3JzCmWfOHNir0Dyb1+g+D4FhGHJdMV4P88Nba9AQv7MKdU+89NoLmG/pfmgmLbPIR7Ks565DX+Q4kviZyE272HodeACTRN9GqCdPT3A9PvVREz3ZN1C+hEH6R5YBK7BI9mJmdoTllf/jH/94HBbjDOhew0AaDBvv049/YCA89dxzz21jkzj8sQ6jNbo8ikKmb1+8jojPo72Sy7O0+b+0LPHi5c3XG5CFfvNzFbDzqLOcJd3OK664Qg+kDhl3WL99oHM5/hpoDIduI/J5mfjjKOoNhDXLBlwFXoYceOjQoYvAfynpk2mzBf514H0aP+/pp59ubKv8wduDB4twXwbuc+nXQYT2C3+ELsuRMWCnFVLPGT8K7BvU/TX5r/8/j40HcI8c53QAAAAASUVORK5CYII=";
2
- export {
3
- A as default
4
- };
@@ -1,5 +0,0 @@
1
- import { default as r, default as t } from "./src/UserAvatar.vue.js";
2
- export {
3
- r as UserAvatar,
4
- t as default
5
- };
@@ -1 +0,0 @@
1
- .user-avatar[data-v-50be58a7]{--el-avatar-bg-color: transparent}.user-avatar--fallback[data-v-50be58a7]{--el-avatar-bg-color: var(--ui-avatar-bg, var(--el-color-primary));color:var(--ui-text-on-brand)}.user-avatar__fallback[data-v-50be58a7]{color:inherit;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.user-avatar__icon[data-v-50be58a7]{color:inherit;font-size:1em}
@@ -1,7 +0,0 @@
1
- import o from "./UserAvatar.vue2.js";
2
- /* empty css */
3
- import r from "../../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-50be58a7"]]);
5
- export {
6
- m as default
7
- };
@@ -1,61 +0,0 @@
1
- import { defineComponent as b, ref as w, computed as a, watch as A, resolveComponent as n, openBlock as s, createBlock as u, mergeProps as C, withCtx as v, createElementBlock as y, toDisplayString as F, createVNode as N, unref as B, createCommentVNode as E } from "vue";
2
- import { User as g } from "@element-plus/icons-vue";
3
- const x = {
4
- key: 0,
5
- class: "user-avatar__fallback"
6
- }, L = /* @__PURE__ */ b({
7
- __name: "UserAvatar",
8
- props: {
9
- src: { default: "" },
10
- name: { default: "" }
11
- },
12
- setup(d) {
13
- const r = d, e = w(!1), t = a(() => r.name.trim()), m = a(
14
- () => t.value.charAt(0).toUpperCase() || "U"
15
- ), p = a(() => t.value || "User avatar"), l = a(() => r.src.trim()), o = a(
16
- () => !l.value || e.value
17
- ), i = a(
18
- () => o.value && !!t.value
19
- ), _ = a(
20
- () => o.value && !t.value
21
- ), c = a(
22
- () => l.value && !e.value ? l.value : void 0
23
- );
24
- A(
25
- () => r.src,
26
- () => {
27
- e.value = !1;
28
- }
29
- );
30
- const f = () => {
31
- e.value = !0;
32
- };
33
- return (h, I) => {
34
- const k = n("el-icon"), U = n("el-avatar");
35
- return s(), u(U, C(h.$attrs, {
36
- src: c.value,
37
- "data-src": c.value,
38
- alt: p.value,
39
- class: ["user-avatar", { "user-avatar--fallback": o.value }],
40
- onError: f
41
- }), {
42
- default: v(() => [
43
- i.value ? (s(), y("span", x, F(m.value), 1)) : _.value ? (s(), u(k, {
44
- key: 1,
45
- class: "user-avatar__icon",
46
- "aria-hidden": "true"
47
- }, {
48
- default: v(() => [
49
- N(B(g))
50
- ]),
51
- _: 1
52
- })) : E("", !0)
53
- ]),
54
- _: 1
55
- }, 16, ["src", "data-src", "alt", "class"]);
56
- };
57
- }
58
- });
59
- export {
60
- L as default
61
- };
@@ -1,10 +0,0 @@
1
- import { default as a } from "./UserAvatar/src/UserAvatar.vue.js";
2
- import { default as t } from "../layout/components/LayoutBreadcrumb.vue.js";
3
- import { default as m } from "../layout/components/TimezoneSelect.vue.js";
4
- import { default as u } from "../layout/components/UserInfo.vue.js";
5
- export {
6
- t as LayoutBreadcrumb,
7
- m as TimezoneSelect,
8
- a as UserAvatar,
9
- u as UserInfo
10
- };
package/dist/index.js DELETED
@@ -1,35 +0,0 @@
1
- import { default as o } from "./layout/BaseLayout.vue.js";
2
- import { useApp as a } from "./layout/hooks/useApp.js";
3
- import { injectLayoutContext as s, provideLayoutContext as f, useStateHook as p } from "./layout/hooks/useState.js";
4
- import { applyThemeClass as x, getBrowserPreferredTheme as l, initTheme as n, normalizeTheme as i, resolveTheme as d, setTheme as T, syncThemeFromSetting as h, toggleTheme as g, useTheme as y } from "./layout/hooks/useTheme.js";
5
- import { provideSetting as c, useSetting as v } from "./layout/hooks/useSetting.js";
6
- import { default as B } from "./components/UserAvatar/src/UserAvatar.vue.js";
7
- import { default as z } from "./layout/components/LayoutBreadcrumb.vue.js";
8
- import { default as U } from "./layout/components/TimezoneSelect.vue.js";
9
- import { default as j } from "./layout/components/UserInfo.vue.js";
10
- import { default as w } from "./locales/index.js";
11
- import { messages as H } from "./locales/messages.js";
12
- export {
13
- o as BaseLayout,
14
- z as LayoutBreadcrumb,
15
- U as TimezoneSelect,
16
- B as UserAvatar,
17
- j as UserInfo,
18
- x as applyThemeClass,
19
- l as getBrowserPreferredTheme,
20
- w as i18n,
21
- n as initTheme,
22
- s as injectLayoutContext,
23
- H as messages,
24
- i as normalizeTheme,
25
- f as provideLayoutContext,
26
- c as provideSetting,
27
- d as resolveTheme,
28
- T as setTheme,
29
- h as syncThemeFromSetting,
30
- g as toggleTheme,
31
- a as useApp,
32
- v as useSetting,
33
- p as useStateHook,
34
- y as useTheme
35
- };
@@ -1 +0,0 @@
1
- .layout-shell[data-v-bcf098e8]{height:100vh;--layout-mobile-header-height: 56px;background:var(--ui-topnav-bg);color:var(--ui-text-primary);overflow:hidden}.layout-shell__body[data-v-bcf098e8]{border-radius:var(--ui-body-radius);background:var(--ui-bg-page)}.layout-shell__content[data-v-bcf098e8]{background:var(--ui-bg-page)}.layout-shell__overlay[data-v-bcf098e8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:230;background:var(--ui-bg-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);touch-action:none}.layout-page-view[data-v-bcf098e8]{display:flex;flex:1 1 auto;flex-direction:column;width:100%;min-width:0;min-height:0;background:var(--ui-bg-page);contain:paint}.layout-overlay-enter-active[data-v-bcf098e8],.layout-overlay-leave-active[data-v-bcf098e8]{transition:opacity var(--ui-transition-base)}.layout-overlay-enter-from[data-v-bcf098e8],.layout-overlay-leave-to[data-v-bcf098e8]{opacity:0}.layout-page-enter-active[data-v-bcf098e8],.layout-page-leave-active[data-v-bcf098e8]{transition:opacity var(--ui-transition-base),transform var(--ui-transition-base);will-change:opacity,transform}.layout-page-enter-from[data-v-bcf098e8]{opacity:0;transform:translate3d(8px,0,0)}.layout-page-leave-to[data-v-bcf098e8]{opacity:0;transform:translate3d(-6px,0,0)}@media(prefers-reduced-motion:reduce){.layout-overlay-enter-active[data-v-bcf098e8],.layout-overlay-leave-active[data-v-bcf098e8],.layout-page-enter-active[data-v-bcf098e8],.layout-page-leave-active[data-v-bcf098e8]{transition:none}.layout-page-enter-from[data-v-bcf098e8],.layout-page-leave-to[data-v-bcf098e8]{opacity:1;transform:none}}@media(max-width:1023px){.layout-shell[data-v-bcf098e8]{background:var(--ui-bg-page)}.layout-shell__body[data-v-bcf098e8]{border-radius:0}.layout-page-view[data-v-bcf098e8]{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.layout-page-enter-from[data-v-bcf098e8]{transform:translate3d(0,6px,0)}.layout-page-leave-to[data-v-bcf098e8]{transform:translate3d(0,-4px,0)}}
@@ -1,7 +0,0 @@
1
- import o from "./BaseLayout.vue2.js";
2
- /* empty css */
3
- import t from "../_virtual/_plugin-vue_export-helper.js";
4
- const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-bcf098e8"]]);
5
- export {
6
- f as default
7
- };
@@ -1,111 +0,0 @@
1
- import { defineComponent as E, computed as A, watchEffect as C, watch as S, onMounted as M, onUnmounted as N, resolveComponent as j, openBlock as s, createElementBlock as f, createVNode as u, withCtx as c, renderSlot as K, createElementVNode as p, unref as y, createBlock as v, Transition as k, resolveDynamicComponent as O, createCommentVNode as R } from "vue";
2
- import V from "./components/AsideBar.vue.js";
3
- import $ from "./components/HeaderBar.vue.js";
4
- import H from "./components/mobile/AsideBarMobile.vue.js";
5
- import P from "../assets/logo.png.js";
6
- import { provideSetting as D } from "./hooks/useSetting.js";
7
- import { useStateHook as T } from "./hooks/useState.js";
8
- const U = { class: "layout-shell w-full flex flex-col" }, q = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, z = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, F = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, Z = /* @__PURE__ */ E({
9
- __name: "BaseLayout",
10
- props: {
11
- setting: {}
12
- },
13
- setup(x) {
14
- const l = x, L = A(() => {
15
- var e, o, a, t, n, g, w;
16
- return {
17
- ...l.setting || {},
18
- logo: ((e = l.setting) == null ? void 0 : e.logo) || P,
19
- menus: ((o = l.setting) == null ? void 0 : o.menus) || [],
20
- accountMenu: ((a = l.setting) == null ? void 0 : a.accountMenu) || [],
21
- user: ((t = l.setting) == null ? void 0 : t.user) ?? null,
22
- appList: ((n = l.setting) == null ? void 0 : n.appList) || [],
23
- onLogin: (g = l.setting) == null ? void 0 : g.onLogin,
24
- onLogout: (w = l.setting) == null ? void 0 : w.onLogout
25
- };
26
- });
27
- C(() => void D(L.value));
28
- const { isMobile: i, sideOpen: d } = T();
29
- let m = "", r = !1;
30
- const h = () => void (d.value = !1), B = (e) => {
31
- const o = e.matched[1];
32
- if (!o) return e.path;
33
- const a = b(o, e);
34
- return [o.path, a].filter(Boolean).join("|");
35
- }, b = (e, o) => Array.from(
36
- e.path.matchAll(/:(\w+)/g),
37
- ([, t]) => t
38
- ).map((t) => {
39
- const n = o.params[t];
40
- return `${t}:${Array.isArray(n) ? n.join(",") : n || ""}`;
41
- }).join("|"), _ = (e) => {
42
- e.key === "Escape" && i.value && d.value && h();
43
- };
44
- return S(
45
- () => i.value && d.value,
46
- (e) => {
47
- if (!(typeof document > "u")) {
48
- if (e && !r) {
49
- m = document.body.style.overflow, document.body.style.overflow = "hidden", r = !0;
50
- return;
51
- }
52
- !e && r && (document.body.style.overflow = m, r = !1);
53
- }
54
- },
55
- { immediate: !0 }
56
- ), M(() => {
57
- window.addEventListener("keydown", _);
58
- }), N(() => {
59
- window.removeEventListener("keydown", _), typeof document < "u" && r && (document.body.style.overflow = m);
60
- }), (e, o) => {
61
- const a = j("router-view");
62
- return s(), f("div", U, [
63
- u($, null, {
64
- default: c(() => [
65
- K(e.$slots, "header-right", {}, void 0, !0)
66
- ]),
67
- _: 3
68
- }),
69
- p("div", q, [
70
- y(i) ? (s(), v(H, { key: 1 })) : (s(), v(V, { key: 0 })),
71
- p("main", z, [
72
- p("div", F, [
73
- u(a, null, {
74
- default: c(({ Component: t, route: n }) => [
75
- u(k, {
76
- name: String(n.meta.transition || "layout-page"),
77
- mode: "out-in"
78
- }, {
79
- default: c(() => [
80
- (s(), f("div", {
81
- key: B(n),
82
- class: "layout-page-view"
83
- }, [
84
- (s(), v(O(t)))
85
- ]))
86
- ]),
87
- _: 2
88
- }, 1032, ["name"])
89
- ]),
90
- _: 1
91
- })
92
- ])
93
- ])
94
- ]),
95
- u(k, { name: "layout-overlay" }, {
96
- default: c(() => [
97
- y(i) && y(d) ? (s(), f("div", {
98
- key: 0,
99
- class: "layout-shell__overlay",
100
- onClick: h
101
- })) : R("", !0)
102
- ]),
103
- _: 1
104
- })
105
- ]);
106
- };
107
- }
108
- });
109
- export {
110
- Z as default
111
- };
@@ -1 +0,0 @@
1
- .app-select[data-v-b6da0897]{display:flex;gap:4px;line-height:1}.app-select__group[data-v-b6da0897]{position:relative;min-height:52px;display:flex;align-items:center}.app-select__group:hover .app-select__link[data-v-b6da0897]:not(.app-select__link--active){color:var(--ui-topnav-foreground);background:var(--ui-topnav-surface)}.app-select__group:hover .app-select__dropdown[data-v-b6da0897]{opacity:1;visibility:visible;transform:translateY(0)}.app-select__link[data-v-b6da0897]{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;height:32px;color:var(--ui-topnav-muted);font-size:13px;font-weight:600;transition:color var(--ui-transition-fast);border-radius:6px}.app-select__link--active[data-v-b6da0897],.app-select__link--active[data-v-b6da0897]:hover{background:var(--ui-topnav-active-bg);color:var(--ui-topnav-active-fg, var(--el-color-primary))}.app-select__dropdown[data-v-b6da0897]{position:absolute;top:calc(100% + 0px);left:0;width:400px;padding:8px;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-card);background:var(--ui-bg-card, var(--el-bg-color));box-shadow:var(--ui-shadow-pop, var(--el-box-shadow));opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity var(--ui-transition-fast),visibility var(--ui-transition-fast),transform var(--ui-transition-fast);z-index:20}.app-select__dropdown-item[data-v-b6da0897]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--ui-radius-control);color:var(--ui-text-primary);transition:background var(--ui-transition-fast),color var(--ui-transition-fast)}.app-select__dropdown-item[data-v-b6da0897]:hover{background:var(--ui-bg-muted)}.app-select__dropdown-item--active[data-v-b6da0897]{color:var(--el-color-primary);background:var(--el-color-primary-light-10)}.app-select__dropdown-icon[data-v-b6da0897]{color:var(--ui-text-muted)}.app-select__dropdown-desc[data-v-b6da0897]{font-size:12px;color:var(--ui-text-muted);line-height:1.4;margin-top:2px}
@@ -1,7 +0,0 @@
1
- import o from "./AppSelect.vue2.js";
2
- /* empty css */
3
- import t from "../../_virtual/_plugin-vue_export-helper.js";
4
- const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b6da0897"]]);
5
- export {
6
- e as default
7
- };
@@ -1,69 +0,0 @@
1
- import { defineComponent as x, resolveComponent as y, unref as p, openBlock as t, createElementBlock as s, Fragment as g, renderList as w, createElementVNode as o, normalizeClass as a, toDisplayString as _, createBlock as A, withCtx as C, createVNode as I, createCommentVNode as d } from "vue";
2
- import { ArrowDown as B } from "@element-plus/icons-vue";
3
- import { useApp as L } from "../hooks/useApp.js";
4
- import { injectLayoutContext as N } from "../hooks/useState.js";
5
- const V = {
6
- key: 0,
7
- class: "app-select"
8
- }, D = ["href"], E = {
9
- key: 0,
10
- class: "app-select__dropdown"
11
- }, S = ["href"], j = { class: "app-select__dropdown-icon text-xl" }, z = { class: "app-select__dropdown-desc" }, H = /* @__PURE__ */ x({
12
- __name: "AppSelect",
13
- setup(F) {
14
- const { currentAppId: i } = N(), { appList: u, getAppPath: m } = L(), h = (c) => {
15
- var r;
16
- return i.value === c.appId || !!((r = c.children) != null && r.some((l) => l.appId === i.value));
17
- };
18
- return (c, r) => {
19
- var v;
20
- const l = y("el-icon");
21
- return (v = p(u)) != null && v.length ? (t(), s("div", V, [
22
- (t(!0), s(g, null, w(p(u), (e) => {
23
- var f, k;
24
- return t(), s("div", {
25
- key: e.appId,
26
- class: "app-select__group"
27
- }, [
28
- o("a", {
29
- class: a(["app-select__link", {
30
- "app-select__link--active": h(e)
31
- }]),
32
- href: p(m)(e) || void 0
33
- }, [
34
- o("span", null, _(e.name), 1),
35
- (f = e.children) != null && f.length ? (t(), A(l, { key: 0 }, {
36
- default: C(() => [
37
- I(p(B))
38
- ]),
39
- _: 1
40
- })) : d("", !0)
41
- ], 10, D),
42
- (k = e.children) != null && k.length ? (t(), s("div", E, [
43
- (t(!0), s(g, null, w(e.children, (n) => (t(), s("a", {
44
- key: n.appId,
45
- class: a(["app-select__dropdown-item", {
46
- "app-select__dropdown-item--active": h(n)
47
- }]),
48
- href: p(m)(n) || void 0
49
- }, [
50
- o("span", j, [
51
- o("i", {
52
- class: a(n.icon || "metisicon-moxingku")
53
- }, null, 2)
54
- ]),
55
- o("div", null, [
56
- o("div", null, _(n.name), 1),
57
- o("div", z, _(n.desc), 1)
58
- ])
59
- ], 10, S))), 128))
60
- ])) : d("", !0)
61
- ]);
62
- }), 128))
63
- ])) : d("", !0);
64
- };
65
- }
66
- });
67
- export {
68
- H as default
69
- };
@@ -1 +0,0 @@
1
- .aside-bar[data-v-f328029c]{border-right:1px solid var(--ui-sidebar-border, var(--el-border-color));background:var(--ui-sidebar-bg);color:var(--ui-sidebar-foreground)}.aside-bar__mobile-head[data-v-f328029c]{border-bottom:1px solid var(--ui-sidebar-border, var(--el-border-color))}.aside-bar__close[data-v-f328029c]{color:var(--ui-text-muted)}
@@ -1,7 +0,0 @@
1
- import o from "./AsideBar.vue2.js";
2
- /* empty css */
3
- import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-f328029c"]]);
5
- export {
6
- m as default
7
- };
@@ -1,49 +0,0 @@
1
- import { defineComponent as u, resolveComponent as s, unref as e, openBlock as i, createElementBlock as a, normalizeClass as b, createElementVNode as c, createVNode as t, withCtx as d, createCommentVNode as m, renderSlot as x } from "vue";
2
- import { Fold as h } from "@element-plus/icons-vue";
3
- import { injectLayoutContext as v } from "../hooks/useState.js";
4
- import C from "./AsideSubMenus.vue.js";
5
- const g = {
6
- key: 0,
7
- class: "aside-bar__mobile-head flex justify-between items-center pt-4 pb-4 px-4"
8
- }, k = { class: "p-3" }, $ = /* @__PURE__ */ u({
9
- __name: "AsideBar",
10
- setup(w) {
11
- const { menus: l, isMobile: n, sideOpen: o } = v(), _ = () => void (o.value = !o.value);
12
- return (r, y) => {
13
- const p = s("el-icon"), f = s("el-scrollbar");
14
- return e(l).length && !r.$route.meta.hideSidebar ? (i(), a("div", {
15
- key: 0,
16
- class: b(["aside-bar flex flex-col h-full min-h-0 w-64 min-width-50", [
17
- e(n) ? "fixed top-0 left-0 z-200 transition-all" : "",
18
- e(o) ? "translate-x-[0px]" : "translate-x-[-100%]"
19
- ]])
20
- }, [
21
- e(n) ? (i(), a("div", g, [
22
- c("div", {
23
- class: "aside-bar__close text-lg cursor-pointer p-2 leading-4",
24
- onClick: _
25
- }, [
26
- t(p, null, {
27
- default: d(() => [
28
- t(e(h))
29
- ]),
30
- _: 1
31
- })
32
- ])
33
- ])) : m("", !0),
34
- t(f, { ref: "leftScrollRef" }, {
35
- default: d(() => [
36
- c("div", k, [
37
- t(C, { menus: e(l) }, null, 8, ["menus"])
38
- ])
39
- ]),
40
- _: 1
41
- }, 512),
42
- x(r.$slots, "sidebar-foot", {}, void 0, !0)
43
- ], 2)) : m("", !0);
44
- };
45
- }
46
- });
47
- export {
48
- $ as default
49
- };
@@ -1,84 +0,0 @@
1
- import { defineComponent as S, computed as l, resolveComponent as A, openBlock as n, createElementBlock as m, Fragment as b, createBlock as s, resolveDynamicComponent as M, mergeProps as N, unref as i, withCtx as B, normalizeClass as y, createCommentVNode as x, createElementVNode as L, toDisplayString as j, renderList as D } from "vue";
2
- import { useRouter as E } from "vue-router";
3
- import { hasRoutePermission as R, replaceName as V, tname as W } from "../../utils/repoUtils.js";
4
- import { injectLayoutContext as w } from "../hooks/useState.js";
5
- import z from "./MenuItemIcon.vue.js";
6
- const F = { key: 0 }, J = /* @__PURE__ */ S({
7
- __name: "AsideSubMenuItem",
8
- props: {
9
- menu: {
10
- type: Object,
11
- default: () => ({})
12
- },
13
- level: {
14
- type: Number,
15
- default: 1
16
- }
17
- },
18
- setup(_) {
19
- const e = _, r = l(
20
- () => {
21
- var t;
22
- return (t = e.menu.children) == null ? void 0 : t.filter((v) => {
23
- var a;
24
- return ((a = v.meta) == null ? void 0 : a.visible) != "0";
25
- });
26
- }
27
- ), { defaultParentActive: c, currentTabPath: p } = w(), k = E(), C = l(() => {
28
- var t;
29
- return e.level == 1 && !R(k, e.menu.path || "") ? "div" : /^http/.test(e.menu.path || "") || !((t = e.menu.path) != null && t.startsWith(p.value)) ? "a" : "router-link";
30
- }), I = l(() => {
31
- var t;
32
- return /^http/.test(e.menu.path || "") || !((t = e.menu.path) != null && t.startsWith(p.value)) ? {
33
- href: e.menu.path || ""
34
- } : {
35
- to: e.menu.path || ""
36
- };
37
- }), P = l(
38
- () => {
39
- var t;
40
- return String(e.menu.icon || ((t = e.menu.meta) == null ? void 0 : t.icon) || "metisicon-yingyong");
41
- }
42
- );
43
- return (t, v) => {
44
- var d, h;
45
- const a = A("AsideSubMenuItem", !0);
46
- return n(), m(b, null, [
47
- (n(), s(M(C.value), N({
48
- class: ["pt-1 pb-1 pl-3 pr-3 flex items-center gap-2 rounded-md", [
49
- e.menu.path == i(c) ? "bg-[var(--ui-sidebar-active-bg,var(--el-fill-color))] text-[var(--ui-sidebar-active-fg)] font-medium" : "text-[var(--ui-sidebar-foreground)]",
50
- (d = r.value) != null && d.length ? " h-7" : " h-9.5 cursor-pointer hover:bg-[var(--ui-sidebar-hover-bg)]"
51
- ]],
52
- style: { paddingLeft: "calc(var(--spacing) * 3)" }
53
- }, I.value), {
54
- default: B(() => {
55
- var o, u, f, g;
56
- return [
57
- (o = r.value) != null && o.length ? x("", !0) : (n(), s(z, {
58
- key: 0,
59
- icon: P.value,
60
- class: y(["text-md", [
61
- e.menu.path == i(c) ? "opacity-100" : "opacity-60"
62
- ]])
63
- }, null, 8, ["icon", "class"])),
64
- L("div", {
65
- class: y(["truncate", (u = r.value) != null && u.length ? "text-xs text-gray-400" : ""])
66
- }, j(i(V)(i(W)(((g = (f = e.menu) == null ? void 0 : f.meta) == null ? void 0 : g.translations) || {}, "name"))), 3)
67
- ];
68
- }),
69
- _: 1
70
- }, 16, ["class"])),
71
- (h = r.value) != null && h.length ? (n(), m("div", F, [
72
- (n(!0), m(b, null, D(r.value, (o, u) => (n(), s(a, {
73
- menu: o,
74
- key: u,
75
- level: e.level + 1
76
- }, null, 8, ["menu", "level"]))), 128))
77
- ])) : x("", !0)
78
- ], 64);
79
- };
80
- }
81
- });
82
- export {
83
- J as default
84
- };
@@ -1,4 +0,0 @@
1
- import f from "./AsideSubMenuItem.vue.js";
2
- export {
3
- f as default
4
- };
@@ -1,36 +0,0 @@
1
- import { defineComponent as u, withDirectives as c, openBlock as t, createElementBlock as s, Fragment as l, renderList as i, createBlock as a, createCommentVNode as _, vShow as p } from "vue";
2
- import d from "./AsideSubMenuItem.vue.js";
3
- const f = { class: "h-full" }, h = {
4
- key: 0,
5
- class: ""
6
- }, B = /* @__PURE__ */ u({
7
- __name: "AsideSubMenus",
8
- props: {
9
- menus: {
10
- type: Array,
11
- default: () => []
12
- }
13
- },
14
- setup(m) {
15
- const n = m;
16
- return (k, v) => {
17
- var o;
18
- return c((t(), s("div", f, [
19
- (o = n.menus) != null && o.length ? (t(), s("div", h, [
20
- (t(!0), s(l, null, i(n.menus.filter((r) => {
21
- var e;
22
- return ((e = r.meta) == null ? void 0 : e.visible) != "0";
23
- }), (r, e) => (t(), a(d, {
24
- key: e,
25
- menu: r
26
- }, null, 8, ["menu"]))), 128))
27
- ])) : _("", !0)
28
- ], 512)), [
29
- [p, n.menus.length]
30
- ]);
31
- };
32
- }
33
- });
34
- export {
35
- B as default
36
- };
@@ -1,4 +0,0 @@
1
- import f from "./AsideSubMenus.vue.js";
2
- export {
3
- f as default
4
- };
@@ -1 +0,0 @@
1
- .header-bar[data-v-9ee7aec2]{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 12px;background:var(--ui-topnav-bg);color:var(--ui-topnav-muted)}.header-bar__left[data-v-9ee7aec2],.header-bar__right[data-v-9ee7aec2]{display:flex;align-items:center;min-width:0}.header-bar__left[data-v-9ee7aec2]{gap:12px;flex:1}.header-bar__right[data-v-9ee7aec2]{flex-shrink:0}.header-bar__logo-wrap[data-v-9ee7aec2]{display:flex;align-items:center;min-width:0}.header-bar__logo-link[data-v-9ee7aec2]{display:inline-flex;align-items:center;justify-content:center;min-height:40px;color:inherit}.header-bar__divider[data-v-9ee7aec2]{width:1px;height:18px;background:var(--ui-topnav-border)}[header-bar][data-v-9ee7aec2] .el-image .el-image__inner{width:auto;display:block}
@@ -1,7 +0,0 @@
1
- import e from "./HeaderBar.vue2.js";
2
- /* empty css */
3
- import o from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ o(e, [["__scopeId", "data-v-9ee7aec2"]]);
5
- export {
6
- m as default
7
- };