vft 0.0.4 → 0.0.6

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 (167) hide show
  1. package/dist/index.css +1 -1
  2. package/es/component.mjs +9 -6
  3. package/es/component.mjs.map +1 -1
  4. package/es/components/avatar/avatar.vue2.mjs +12 -11
  5. package/es/components/avatar/avatar.vue2.mjs.map +1 -1
  6. package/es/components/avatar/index.mjs +2 -0
  7. package/es/components/avatar/index.mjs.map +1 -1
  8. package/es/components/back-top/back-top.vue2.mjs +20 -18
  9. package/es/components/back-top/back-top.vue2.mjs.map +1 -1
  10. package/es/components/back-top/index.mjs +2 -0
  11. package/es/components/back-top/index.mjs.map +1 -1
  12. package/es/components/divider/divider.vue2.mjs +4 -2
  13. package/es/components/divider/divider.vue2.mjs.map +1 -1
  14. package/es/components/divider/index.mjs +5 -3
  15. package/es/components/divider/index.mjs.map +1 -1
  16. package/es/components/empty/empty.vue2.mjs.map +1 -1
  17. package/es/components/empty/index.mjs +7 -5
  18. package/es/components/empty/index.mjs.map +1 -1
  19. package/es/components/exception/index.mjs +5 -3
  20. package/es/components/exception/index.mjs.map +1 -1
  21. package/es/components/icon/icon.vue2.mjs +11 -10
  22. package/es/components/icon/icon.vue2.mjs.map +1 -1
  23. package/es/components/icon/index.mjs +5 -3
  24. package/es/components/icon/index.mjs.map +1 -1
  25. package/es/components/index.d.ts +1 -0
  26. package/es/components/index.mjs +11 -6
  27. package/es/components/index.mjs.map +1 -1
  28. package/es/components/result/index.mjs +5 -3
  29. package/es/components/result/index.mjs.map +1 -1
  30. package/es/components/result/result.vue2.mjs +4 -2
  31. package/es/components/result/result.vue2.mjs.map +1 -1
  32. package/es/components/tabs/index.d.ts +356 -0
  33. package/es/components/tabs/index.mjs +15 -0
  34. package/es/components/tabs/index.mjs.map +1 -0
  35. package/es/components/tabs/style/css.d.ts +0 -0
  36. package/es/components/tabs/style/css.mjs +3 -0
  37. package/es/components/tabs/style/css.mjs.map +1 -0
  38. package/es/components/tabs/style/index.d.ts +0 -0
  39. package/es/components/tabs/style/index.mjs +3 -0
  40. package/es/components/tabs/style/index.mjs.map +1 -0
  41. package/es/components/tabs/tab-bar.vue.d.ts +51 -0
  42. package/es/components/tabs/tab-bar.vue.mjs +5 -0
  43. package/es/components/tabs/tab-bar.vue.mjs.map +1 -0
  44. package/es/components/tabs/tab-bar.vue2.mjs +53 -0
  45. package/es/components/tabs/tab-bar.vue2.mjs.map +1 -0
  46. package/es/components/tabs/tab-nav.vue.d.ts +121 -0
  47. package/es/components/tabs/tab-nav.vue.mjs +5 -0
  48. package/es/components/tabs/tab-nav.vue.mjs.map +1 -0
  49. package/es/components/tabs/tab-nav.vue2.mjs +167 -0
  50. package/es/components/tabs/tab-nav.vue2.mjs.map +1 -0
  51. package/es/components/tabs/tab-pane.vue.d.ts +45 -0
  52. package/es/components/tabs/tab-pane.vue.mjs +5 -0
  53. package/es/components/tabs/tab-pane.vue.mjs.map +1 -0
  54. package/es/components/tabs/tab-pane.vue2.mjs +57 -0
  55. package/es/components/tabs/tab-pane.vue2.mjs.map +1 -0
  56. package/es/components/tabs/tabs.vue.d.ts +159 -0
  57. package/es/components/tabs/tabs.vue.mjs +5 -0
  58. package/es/components/tabs/tabs.vue.mjs.map +1 -0
  59. package/es/components/tabs/tabs.vue2.mjs +151 -0
  60. package/es/components/tabs/tabs.vue2.mjs.map +1 -0
  61. package/es/components/tabs/types.d.ts +58 -0
  62. package/es/components/tabs/types.mjs +5 -0
  63. package/es/components/tabs/types.mjs.map +1 -0
  64. package/es/hooks/index.d.ts +1 -0
  65. package/es/hooks/index.mjs +6 -4
  66. package/es/hooks/index.mjs.map +1 -1
  67. package/es/hooks/use-ordered-children/index.d.ts +8 -0
  68. package/es/hooks/use-ordered-children/index.mjs +27 -0
  69. package/es/hooks/use-ordered-children/index.mjs.map +1 -0
  70. package/es/index.d.ts +1 -1
  71. package/es/index.mjs +42 -35
  72. package/es/index.mjs.map +1 -1
  73. package/es/package.json.mjs +1 -1
  74. package/es/style.css +1 -1
  75. package/es/theme-style/src/tabs.scss.mjs +5 -0
  76. package/es/theme-style/src/tabs.scss.mjs.map +1 -0
  77. package/es/utils/index.mjs +23 -10
  78. package/es/utils/index.mjs.map +1 -1
  79. package/es/utils/vue/index.d.ts +1 -0
  80. package/es/utils/vue/index.mjs +18 -5
  81. package/es/utils/vue/index.mjs.map +1 -1
  82. package/es/utils/vue/vnode.d.ts +51 -0
  83. package/es/utils/vue/vnode.mjs +67 -0
  84. package/es/utils/vue/vnode.mjs.map +1 -0
  85. package/lib/component.js +1 -1
  86. package/lib/component.js.map +1 -1
  87. package/lib/components/avatar/avatar.vue2.js +1 -1
  88. package/lib/components/avatar/avatar.vue2.js.map +1 -1
  89. package/lib/components/avatar/index.js +1 -1
  90. package/lib/components/avatar/index.js.map +1 -1
  91. package/lib/components/back-top/back-top.vue2.js +1 -1
  92. package/lib/components/back-top/back-top.vue2.js.map +1 -1
  93. package/lib/components/back-top/index.js +1 -1
  94. package/lib/components/back-top/index.js.map +1 -1
  95. package/lib/components/divider/divider.vue2.js +1 -1
  96. package/lib/components/divider/divider.vue2.js.map +1 -1
  97. package/lib/components/divider/index.js +1 -1
  98. package/lib/components/divider/index.js.map +1 -1
  99. package/lib/components/empty/empty.vue2.js.map +1 -1
  100. package/lib/components/empty/index.js +1 -1
  101. package/lib/components/empty/index.js.map +1 -1
  102. package/lib/components/exception/index.js +1 -1
  103. package/lib/components/exception/index.js.map +1 -1
  104. package/lib/components/icon/icon.vue2.js +1 -1
  105. package/lib/components/icon/icon.vue2.js.map +1 -1
  106. package/lib/components/icon/index.js +1 -1
  107. package/lib/components/icon/index.js.map +1 -1
  108. package/lib/components/index.d.ts +1 -0
  109. package/lib/components/index.js +1 -1
  110. package/lib/components/result/index.js +1 -1
  111. package/lib/components/result/index.js.map +1 -1
  112. package/lib/components/result/result.vue2.js +1 -1
  113. package/lib/components/result/result.vue2.js.map +1 -1
  114. package/lib/components/tabs/index.d.ts +356 -0
  115. package/lib/components/tabs/index.js +2 -0
  116. package/lib/components/tabs/index.js.map +1 -0
  117. package/lib/components/tabs/style/css.d.ts +0 -0
  118. package/lib/components/tabs/style/css.js +2 -0
  119. package/lib/components/tabs/style/css.js.map +1 -0
  120. package/lib/components/tabs/style/index.d.ts +0 -0
  121. package/lib/components/tabs/style/index.js +2 -0
  122. package/lib/components/tabs/style/index.js.map +1 -0
  123. package/lib/components/tabs/tab-bar.vue.d.ts +51 -0
  124. package/lib/components/tabs/tab-bar.vue.js +2 -0
  125. package/lib/components/tabs/tab-bar.vue.js.map +1 -0
  126. package/lib/components/tabs/tab-bar.vue2.js +2 -0
  127. package/lib/components/tabs/tab-bar.vue2.js.map +1 -0
  128. package/lib/components/tabs/tab-nav.vue.d.ts +121 -0
  129. package/lib/components/tabs/tab-nav.vue.js +2 -0
  130. package/lib/components/tabs/tab-nav.vue.js.map +1 -0
  131. package/lib/components/tabs/tab-nav.vue2.js +2 -0
  132. package/lib/components/tabs/tab-nav.vue2.js.map +1 -0
  133. package/lib/components/tabs/tab-pane.vue.d.ts +45 -0
  134. package/lib/components/tabs/tab-pane.vue.js +2 -0
  135. package/lib/components/tabs/tab-pane.vue.js.map +1 -0
  136. package/lib/components/tabs/tab-pane.vue2.js +2 -0
  137. package/lib/components/tabs/tab-pane.vue2.js.map +1 -0
  138. package/lib/components/tabs/tabs.vue.d.ts +159 -0
  139. package/lib/components/tabs/tabs.vue.js +2 -0
  140. package/lib/components/tabs/tabs.vue.js.map +1 -0
  141. package/lib/components/tabs/tabs.vue2.js +2 -0
  142. package/lib/components/tabs/tabs.vue2.js.map +1 -0
  143. package/lib/components/tabs/types.d.ts +58 -0
  144. package/lib/components/tabs/types.js +2 -0
  145. package/lib/components/tabs/types.js.map +1 -0
  146. package/lib/hooks/index.d.ts +1 -0
  147. package/lib/hooks/index.js +1 -1
  148. package/lib/hooks/use-ordered-children/index.d.ts +8 -0
  149. package/lib/hooks/use-ordered-children/index.js +2 -0
  150. package/lib/hooks/use-ordered-children/index.js.map +1 -0
  151. package/lib/index.d.ts +1 -1
  152. package/lib/index.js +1 -1
  153. package/lib/index.js.map +1 -1
  154. package/lib/package.json.js +1 -1
  155. package/lib/theme-style/src/tabs.scss.js +2 -0
  156. package/lib/theme-style/src/tabs.scss.js.map +1 -0
  157. package/lib/utils/index.js +1 -1
  158. package/lib/utils/vue/index.d.ts +1 -0
  159. package/lib/utils/vue/index.js +1 -1
  160. package/lib/utils/vue/vnode.d.ts +51 -0
  161. package/lib/utils/vue/vnode.js +2 -0
  162. package/lib/utils/vue/vnode.js.map +1 -0
  163. package/package.json +4 -1
  164. package/theme-style/index.css +1 -1
  165. package/theme-style/src/index.scss +1 -0
  166. package/theme-style/src/tabs.scss +582 -0
  167. package/theme-style/vft-tabs.css +1 -0
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";:root{--vft-color-white:#fff;--vft-color-black:#000;--vft-theme-color:#fff;--vft-theme-color-reverse:#000;--vft-font-size-extra-large:20px;--vft-font-size-large:18px;--vft-font-size-medium:16px;--vft-font-size-base:14px;--vft-font-size-small:13px;--vft-font-size-extra-small:12px;--vft-font-family:'Helvetica Neue',Helvetica,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','微软雅黑',Arial,sans-serif;--vft-font-weight-primary:500;--vft-font-line-height-primary:24px;--vft-index-normal:1;--vft-index-top:1000;--vft-index-popper:2000;--vft-border-radius-base:4px;--vft-border-radius-small:2px;--vft-border-radius-round:20px;--vft-border-radius-circle:100%;--vft-transition-duration:0.3s;--vft-transition-duration-fast:0.2s;--vft-transition-function-ease-in-out-bezier:cubic-bezier(0.645, 0.045, 0.355, 1);--vft-transition-function-fast-bezier:cubic-bezier(0.23, 1, 0.32, 1);--vft-transition-all:all var(--vft-transition-duration) var(--vft-transition-function-ease-in-out-bezier);--vft-transition-fade:opacity var(--vft-transition-duration) var(--vft-transition-function-fast-bezier);--vft-transition-md-fade:transform var(--vft-transition-duration) var(--vft-transition-function-fast-bezier),opacity var(--vft-transition-duration) var(--vft-transition-function-fast-bezier);--vft-transition-fade-linear:opacity var(--vft-transition-duration-fast) linear;--vft-transition-border:border-color var(--vft-transition-duration-fast) var(--vft-transition-function-ease-in-out-bezier);--vft-transition-box-shadow:box-shadow var(--vft-transition-duration-fast) var(--vft-transition-function-ease-in-out-bezier);--vft-transition-color:color var(--vft-transition-duration-fast) var(--vft-transition-function-ease-in-out-bezier)}:root{color-scheme:light;--vft-primary-color:#2196f3;--vft-primary-color-light-3:#64b6f7;--vft-primary-color-light-5:#90cbf9;--vft-primary-color-light-7:#bce0fb;--vft-primary-color-light-8:#d3eafd;--vft-primary-color-light-9:#e9f5fe;--vft-primary-color-dark-2:#1a78c2;--vft-success-color:#3eaf7c;--vft-success-color-light-3:#78c7a3;--vft-success-color-light-5:#9fd7be;--vft-success-color-light-7:#c5e7d8;--vft-success-color-light-8:#d8efe5;--vft-success-color-light-9:#ecf7f2;--vft-success-color-dark-2:#328c63;--vft-warning-color:#fb9b5f;--vft-warning-color-light-3:#fcb98f;--vft-warning-color-light-5:#fdcdaf;--vft-warning-color-light-7:#fee1cf;--vft-warning-color-light-8:#feebdf;--vft-warning-color-light-9:#fff5ef;--vft-warning-color-dark-2:#c97c4c;--vft-danger-color:#f26d6d;--vft-danger-color-light-3:#f69999;--vft-danger-color-light-5:#f9b6b6;--vft-danger-color-light-7:#fbd3d3;--vft-danger-color-light-8:#fce2e2;--vft-danger-color-light-9:#fef0f0;--vft-danger-color-dark-2:#c25757;--vft-error-color:#f26d6d;--vft-error-color-light-3:#f69999;--vft-error-color-light-5:#f9b6b6;--vft-error-color-light-7:#fbd3d3;--vft-error-color-light-8:#fce2e2;--vft-error-color-light-9:#fef0f0;--vft-error-color-dark-2:#c25757;--vft-info-color:#909399;--vft-info-color-light-3:#b1b3b8;--vft-info-color-light-5:#c8c9cc;--vft-info-color-light-7:#dedfe0;--vft-info-color-light-8:#e9e9eb;--vft-info-color-light-9:#f4f4f5;--vft-info-color-dark-2:#73767a;--vft-bg-color:#fff;--vft-bg-color-page:#f2f3f5;--vft-bg-color-overlay:#fff;--vft-text-primary-color:#303133;--vft-text-regular-color:#606266;--vft-text-secondary-color:#909399;--vft-text-placeholder-color:#a8abb2;--vft-text-disabled-color:#c0c4cc;--vft-border-color:#dcdfe6;--vft-border-color-light:#e4e7ed;--vft-border-color-lighter:#ebeef5;--vft-border-color-extra-light:#f2f6fc;--vft-border-color-dark:#d4d7de;--vft-border-color-darker:#cdd0d6;--vft-fill-color:#f0f2f5;--vft-fill-color-light:#f5f7fa;--vft-fill-color-lighter:#fafafa;--vft-fill-color-extra-light:#fafcff;--vft-fill-color-dark:#ebedf0;--vft-fill-color-darker:#e6e8eb;--vft-fill-color-blank:#fff;--vft-box-shadow:0px 12px 32px 4px rgba(0, 0, 0, 0.04),0px 8px 20px rgba(0, 0, 0, 0.08);--vft-box-shadow-light:0px 0px 12px rgba(0, 0, 0, 0.12);--vft-box-shadow-lighter:0px 0px 6px rgba(0, 0, 0, 0.12);--vft-box-shadow-dark:0px 16px 48px 16px rgba(0, 0, 0, 0.08),0px 12px 32px rgba(0, 0, 0, 0.12),0px 8px 16px -8px rgba(0, 0, 0, 0.16);--vft-disabled-bg-color:var(--vft-fill-color-light);--vft-disabled-text-color:var(--vft-text-color-placeholder);--vft-disabled-border-color:var(--vft-border-color-light);--vft-overlay-color:rgba(0, 0, 0, 0.8);--vft-overlay-color-light:rgba(0, 0, 0, 0.7);--vft-overlay-color-lighter:rgba(0, 0, 0, 0.5);--vft-mask-color:rgba(255, 255, 255, 0.9);--vft-mask-color-extra-light:rgba(255, 255, 255, 0.3);--vft-border-width:1px;--vft-border-style:solid;--vft-border-color-hover:var(--vft-text-disabled-color);--vft-border:var(--vft-border-width) var(--vft-border-style) var(--vft-border-color);--vft-svg-monochrome-grey:var(--vft-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--vft-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.vft-fade-in-linear-enter-active,.vft-fade-in-linear-leave-active{transition:var(--vft-transition-fade-linear)}.vft-fade-in-linear-enter-from,.vft-fade-in-linear-leave-to{opacity:0}.vft-fade-in-enter-active,.vft-fade-in-leave-active{transition:all var(--vft-transition-duration) cubic-bezier(.55,0,.1,1)}.vft-fade-in-enter-from,.vft-fade-in-leave-active{opacity:0}.vft-zoom-in-center-enter-active,.vft-zoom-in-center-leave-active{transition:all var(--vft-transition-duration) cubic-bezier(.55,0,.1,1)}.vft-zoom-in-center-enter-from,.vft-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.vft-zoom-in-top-enter-active,.vft-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--vft-transition-md-fade);transform-origin:center top}.vft-zoom-in-top-enter-active[data-popper-placement^=top],.vft-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.vft-zoom-in-top-enter-from,.vft-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.vft-zoom-in-bottom-enter-active,.vft-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--vft-transition-md-fade);transform-origin:center bottom}.vft-zoom-in-bottom-enter-from,.vft-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.vft-zoom-in-left-enter-active,.vft-zoom-in-left-leave-active{opacity:1;transform:scale(1,1);transition:var(--vft-transition-md-fade);transform-origin:top left}.vft-zoom-in-left-enter-from,.vft-zoom-in-left-leave-active{opacity:0;transform:scale(.45,.45)}.collapse-transition{transition:var(--vft-transition-duration) height ease-in-out,var(--vft-transition-duration) padding-top ease-in-out,var(--vft-transition-duration) padding-bottom ease-in-out}.vft-collapse-transition-enter-active,.vft-collapse-transition-leave-active{transition:var(--vft-transition-duration) max-height ease-in-out,var(--vft-transition-duration) padding-top ease-in-out,var(--vft-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--vft-transition-duration) width ease-in-out,var(--vft-transition-duration) padding-left ease-in-out,var(--vft-transition-duration) padding-right ease-in-out}.vft-list-enter-active,.vft-list-leave-active{transition:all 1s}.vft-list-enter-from,.vft-list-leave-to{opacity:0;transform:translateY(-30px)}.vft-list-leave-active{position:absolute!important}.vft-opacity-transition{transition:opacity var(--vft-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--vft-divider-margin-y:24px;--vft-divider-margin-x:8px;--vft-divider-border-color:#dcdfe6;--vft-divider-border-style:solid}.vft-divider{position:relative}.vft-divider--horizontal{display:block;height:1px;width:100%;margin:var(--vft-divider-margin-y) 0;border-top:1px var(--vft-divider-border-color) var(--vft-divider-border-style)}.vft-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 var(--vft-divider-margin-x);vertical-align:middle;position:relative;border-left:1px var(--vft-divider-border-color) var(--vft-divider-border-style)}.vft-divider__text{position:absolute;background-color:var(--vft-bg-color);padding:0 20px;font-weight:500;color:var(--vft-text-primary-color);font-size:14px}.vft-divider__text.is-left{left:20px;transform:translateY(-50%)}.vft-divider__text.is-center{left:50%;transform:translateX(-50%) translateY(-50%)}.vft-divider__text.is-right{right:20px;transform:translateY(-50%)}:root{--vft-avatar-text-color:var(--vft-color-white);--vft-avatar-bg-color:var(--vft-text-disabled-color);--vft-avatar-text-size:14px;--vft-avatar-icon-size:18px;--vft-avatar-border-radius:var(--vft-border-radius-base)}.vft-avatar{--vft-avatar-size-large:56px;--vft-avatar-size:40px;--vft-avatar-size-small:24px;--vft-avatar-size:40px;display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--vft-avatar-text-color);background:var(--vft-avatar-bg-color);width:var(--vft-avatar-size);height:var(--vft-avatar-size);font-size:var(--vft-avatar-text-size)}.vft-avatar>img{display:block;height:100%}.vft-avatar--circle{border-radius:50%}.vft-avatar--square{border-radius:var(--vft-avatar-border-radius)}.vft-avatar--icon{font-size:var(--vft-avatar-icon-size)}.vft-avatar--small{--vft-avatar-size:24px}.vft-avatar--large{--vft-avatar-size:56px}.vft-back-top{--vft-backtop-bg-color:var(--vft-bg-color-overlay);--vft-backtop-text-color:var(--vft-primary-color);--vft-backtop-hover-bg-color:var(--vft-border-color-extra-light);position:fixed;background-color:var(--vft-backtop-bg-color);width:40px;height:40px;border-radius:50%;color:var(--vft-backtop-text-color);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:var(--vft-box-shadow-lighter);cursor:pointer;z-index:5}.vft-back-top:hover{background-color:var(--vft-backtop-hover-bg-color)}.vft-back-top__icon{font-size:20px}:root{--vft-empty-img-size:160px;--vft-empty-img-size-small:80px;--vft-empty-img-size-large:240px;--vft-empty-text-color:white;--vft-empty-desc-top:10px;--vft-empty-desc-color:var(--vft-text-placeholder-color);--vft-empty-desc-size:14px}.vft-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:10px 0}.vft-empty__image{width:var(--vft-empty-img-size);height:var(--vft-empty-img-size)}.vft-empty__image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.vft-empty--large .vft-empty__image{width:var(--vft-empty-img-size-large);height:var(--vft-empty-img-size-large)}.vft-empty--small .vft-empty__image{width:var(--vft-empty-img-size-small);height:var(--vft-empty-img-size-small)}.vft-empty__desc{margin-top:var(--vft-empty-desc-top);color:var(--vft-empty-desc-color);font-size:var(--vft-empty-desc-size)}.vft-empty__bottom{margin-top:5px}:root{--vft-result-padding:40px 30px;--vft-result-icon-font-size:64px;--vft-result-title-font-size:20px;--vft-result-title-margin-top:20px;--vft-result-sub-title-margin-top:10px;--vft-result-extra-margin-top:30px}.vft-result{display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;box-sizing:border-box;padding:var(--vft-result-padding)}.vft-result__icon svg{width:var(--vft-result-icon-font-size);height:var(--vft-result-icon-font-size)}.vft-result__icon [class~=vft-icon]{font-size:var(--vft-result-icon-font-size)}.vft-result__title{margin-top:var(--vft-result-title-margin-top)}.vft-result__title p{margin:0;font-size:var(--vft-result-title-font-size);color:var(--vft-text-color-primary);line-height:1.3}.vft-result__sub-title{margin-top:var(--vft-result-sub-title-margin-top)}.vft-result__sub-title p{margin:0;font-size:var(--vft-font-size-base);color:var(--vft-text-color-regular);line-height:1.3}.vft-result__extra{margin-top:var(--vft-result-extra-margin-top)}.vft-result .icon-primary{--vft-result-color:var(--vft-color-primary);color:var(--vft-result-color)}.vft-result .icon-success{--vft-result-color:var(--vft-color-success);color:var(--vft-result-color)}.vft-result .icon-warning{--vft-result-color:var(--vft-color-warning);color:var(--vft-result-color)}.vft-result .icon-danger{--vft-result-color:var(--vft-color-danger);color:var(--vft-result-color)}.vft-result .icon-error{--vft-result-color:var(--vft-color-error);color:var(--vft-result-color)}.vft-result .icon-info{--vft-result-color:var(--vft-color-info);color:var(--vft-result-color)}
1
+ @charset "UTF-8";:root{--vft-color-white:#fff;--vft-color-black:#000;--vft-theme-color:#fff;--vft-theme-color-reverse:#000;--vft-font-size-extra-large:20px;--vft-font-size-large:18px;--vft-font-size-medium:16px;--vft-font-size-base:14px;--vft-font-size-small:13px;--vft-font-size-extra-small:12px;--vft-font-family:'Helvetica Neue',Helvetica,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','微软雅黑',Arial,sans-serif;--vft-font-weight-primary:500;--vft-font-line-height-primary:24px;--vft-index-normal:1;--vft-index-top:1000;--vft-index-popper:2000;--vft-border-radius-base:4px;--vft-border-radius-small:2px;--vft-border-radius-round:20px;--vft-border-radius-circle:100%;--vft-transition-duration:0.3s;--vft-transition-duration-fast:0.2s;--vft-transition-function-ease-in-out-bezier:cubic-bezier(0.645, 0.045, 0.355, 1);--vft-transition-function-fast-bezier:cubic-bezier(0.23, 1, 0.32, 1);--vft-transition-all:all var(--vft-transition-duration) var(--vft-transition-function-ease-in-out-bezier);--vft-transition-fade:opacity var(--vft-transition-duration) var(--vft-transition-function-fast-bezier);--vft-transition-md-fade:transform var(--vft-transition-duration) var(--vft-transition-function-fast-bezier),opacity var(--vft-transition-duration) var(--vft-transition-function-fast-bezier);--vft-transition-fade-linear:opacity var(--vft-transition-duration-fast) linear;--vft-transition-border:border-color var(--vft-transition-duration-fast) var(--vft-transition-function-ease-in-out-bezier);--vft-transition-box-shadow:box-shadow var(--vft-transition-duration-fast) var(--vft-transition-function-ease-in-out-bezier);--vft-transition-color:color var(--vft-transition-duration-fast) var(--vft-transition-function-ease-in-out-bezier)}:root{color-scheme:light;--vft-primary-color:#2196f3;--vft-primary-color-light-3:#64b6f7;--vft-primary-color-light-5:#90cbf9;--vft-primary-color-light-7:#bce0fb;--vft-primary-color-light-8:#d3eafd;--vft-primary-color-light-9:#e9f5fe;--vft-primary-color-dark-2:#1a78c2;--vft-success-color:#3eaf7c;--vft-success-color-light-3:#78c7a3;--vft-success-color-light-5:#9fd7be;--vft-success-color-light-7:#c5e7d8;--vft-success-color-light-8:#d8efe5;--vft-success-color-light-9:#ecf7f2;--vft-success-color-dark-2:#328c63;--vft-warning-color:#fb9b5f;--vft-warning-color-light-3:#fcb98f;--vft-warning-color-light-5:#fdcdaf;--vft-warning-color-light-7:#fee1cf;--vft-warning-color-light-8:#feebdf;--vft-warning-color-light-9:#fff5ef;--vft-warning-color-dark-2:#c97c4c;--vft-danger-color:#f26d6d;--vft-danger-color-light-3:#f69999;--vft-danger-color-light-5:#f9b6b6;--vft-danger-color-light-7:#fbd3d3;--vft-danger-color-light-8:#fce2e2;--vft-danger-color-light-9:#fef0f0;--vft-danger-color-dark-2:#c25757;--vft-error-color:#f26d6d;--vft-error-color-light-3:#f69999;--vft-error-color-light-5:#f9b6b6;--vft-error-color-light-7:#fbd3d3;--vft-error-color-light-8:#fce2e2;--vft-error-color-light-9:#fef0f0;--vft-error-color-dark-2:#c25757;--vft-info-color:#909399;--vft-info-color-light-3:#b1b3b8;--vft-info-color-light-5:#c8c9cc;--vft-info-color-light-7:#dedfe0;--vft-info-color-light-8:#e9e9eb;--vft-info-color-light-9:#f4f4f5;--vft-info-color-dark-2:#73767a;--vft-bg-color:#fff;--vft-bg-color-page:#f2f3f5;--vft-bg-color-overlay:#fff;--vft-text-primary-color:#303133;--vft-text-regular-color:#606266;--vft-text-secondary-color:#909399;--vft-text-placeholder-color:#a8abb2;--vft-text-disabled-color:#c0c4cc;--vft-border-color:#dcdfe6;--vft-border-color-light:#e4e7ed;--vft-border-color-lighter:#ebeef5;--vft-border-color-extra-light:#f2f6fc;--vft-border-color-dark:#d4d7de;--vft-border-color-darker:#cdd0d6;--vft-fill-color:#f0f2f5;--vft-fill-color-light:#f5f7fa;--vft-fill-color-lighter:#fafafa;--vft-fill-color-extra-light:#fafcff;--vft-fill-color-dark:#ebedf0;--vft-fill-color-darker:#e6e8eb;--vft-fill-color-blank:#fff;--vft-box-shadow:0px 12px 32px 4px rgba(0, 0, 0, 0.04),0px 8px 20px rgba(0, 0, 0, 0.08);--vft-box-shadow-light:0px 0px 12px rgba(0, 0, 0, 0.12);--vft-box-shadow-lighter:0px 0px 6px rgba(0, 0, 0, 0.12);--vft-box-shadow-dark:0px 16px 48px 16px rgba(0, 0, 0, 0.08),0px 12px 32px rgba(0, 0, 0, 0.12),0px 8px 16px -8px rgba(0, 0, 0, 0.16);--vft-disabled-bg-color:var(--vft-fill-color-light);--vft-disabled-text-color:var(--vft-text-color-placeholder);--vft-disabled-border-color:var(--vft-border-color-light);--vft-overlay-color:rgba(0, 0, 0, 0.8);--vft-overlay-color-light:rgba(0, 0, 0, 0.7);--vft-overlay-color-lighter:rgba(0, 0, 0, 0.5);--vft-mask-color:rgba(255, 255, 255, 0.9);--vft-mask-color-extra-light:rgba(255, 255, 255, 0.3);--vft-border-width:1px;--vft-border-style:solid;--vft-border-color-hover:var(--vft-text-disabled-color);--vft-border:var(--vft-border-width) var(--vft-border-style) var(--vft-border-color);--vft-svg-monochrome-grey:var(--vft-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--vft-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.vft-fade-in-linear-enter-active,.vft-fade-in-linear-leave-active{transition:var(--vft-transition-fade-linear)}.vft-fade-in-linear-enter-from,.vft-fade-in-linear-leave-to{opacity:0}.vft-fade-in-enter-active,.vft-fade-in-leave-active{transition:all var(--vft-transition-duration) cubic-bezier(.55,0,.1,1)}.vft-fade-in-enter-from,.vft-fade-in-leave-active{opacity:0}.vft-zoom-in-center-enter-active,.vft-zoom-in-center-leave-active{transition:all var(--vft-transition-duration) cubic-bezier(.55,0,.1,1)}.vft-zoom-in-center-enter-from,.vft-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.vft-zoom-in-top-enter-active,.vft-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--vft-transition-md-fade);transform-origin:center top}.vft-zoom-in-top-enter-active[data-popper-placement^=top],.vft-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.vft-zoom-in-top-enter-from,.vft-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.vft-zoom-in-bottom-enter-active,.vft-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--vft-transition-md-fade);transform-origin:center bottom}.vft-zoom-in-bottom-enter-from,.vft-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.vft-zoom-in-left-enter-active,.vft-zoom-in-left-leave-active{opacity:1;transform:scale(1,1);transition:var(--vft-transition-md-fade);transform-origin:top left}.vft-zoom-in-left-enter-from,.vft-zoom-in-left-leave-active{opacity:0;transform:scale(.45,.45)}.collapse-transition{transition:var(--vft-transition-duration) height ease-in-out,var(--vft-transition-duration) padding-top ease-in-out,var(--vft-transition-duration) padding-bottom ease-in-out}.vft-collapse-transition-enter-active,.vft-collapse-transition-leave-active{transition:var(--vft-transition-duration) max-height ease-in-out,var(--vft-transition-duration) padding-top ease-in-out,var(--vft-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--vft-transition-duration) width ease-in-out,var(--vft-transition-duration) padding-left ease-in-out,var(--vft-transition-duration) padding-right ease-in-out}.vft-list-enter-active,.vft-list-leave-active{transition:all 1s}.vft-list-enter-from,.vft-list-leave-to{opacity:0;transform:translateY(-30px)}.vft-list-leave-active{position:absolute!important}.vft-opacity-transition{transition:opacity var(--vft-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--vft-divider-margin-y:24px;--vft-divider-margin-x:8px;--vft-divider-border-color:#dcdfe6;--vft-divider-border-style:solid}.vft-divider{position:relative}.vft-divider--horizontal{display:block;height:1px;width:100%;margin:var(--vft-divider-margin-y) 0;border-top:1px var(--vft-divider-border-color) var(--vft-divider-border-style)}.vft-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 var(--vft-divider-margin-x);vertical-align:middle;position:relative;border-left:1px var(--vft-divider-border-color) var(--vft-divider-border-style)}.vft-divider__text{position:absolute;background-color:var(--vft-bg-color);padding:0 20px;font-weight:500;color:var(--vft-text-primary-color);font-size:14px}.vft-divider__text.is-left{left:20px;transform:translateY(-50%)}.vft-divider__text.is-center{left:50%;transform:translateX(-50%) translateY(-50%)}.vft-divider__text.is-right{right:20px;transform:translateY(-50%)}:root{--vft-avatar-text-color:var(--vft-color-white);--vft-avatar-bg-color:var(--vft-text-disabled-color);--vft-avatar-text-size:14px;--vft-avatar-icon-size:18px;--vft-avatar-border-radius:var(--vft-border-radius-base)}.vft-avatar{--vft-avatar-size-large:56px;--vft-avatar-size:40px;--vft-avatar-size-small:24px;--vft-avatar-size:40px;display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--vft-avatar-text-color);background:var(--vft-avatar-bg-color);width:var(--vft-avatar-size);height:var(--vft-avatar-size);font-size:var(--vft-avatar-text-size)}.vft-avatar>img{display:block;height:100%}.vft-avatar--circle{border-radius:50%}.vft-avatar--square{border-radius:var(--vft-avatar-border-radius)}.vft-avatar--icon{font-size:var(--vft-avatar-icon-size)}.vft-avatar--small{--vft-avatar-size:24px}.vft-avatar--large{--vft-avatar-size:56px}.vft-back-top{--vft-backtop-bg-color:var(--vft-bg-color-overlay);--vft-backtop-text-color:var(--vft-primary-color);--vft-backtop-hover-bg-color:var(--vft-border-color-extra-light);position:fixed;background-color:var(--vft-backtop-bg-color);width:40px;height:40px;border-radius:50%;color:var(--vft-backtop-text-color);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:var(--vft-box-shadow-lighter);cursor:pointer;z-index:5}.vft-back-top:hover{background-color:var(--vft-backtop-hover-bg-color)}.vft-back-top__icon{font-size:20px}:root{--vft-empty-img-size:160px;--vft-empty-img-size-small:80px;--vft-empty-img-size-large:240px;--vft-empty-text-color:white;--vft-empty-desc-top:10px;--vft-empty-desc-color:var(--vft-text-placeholder-color);--vft-empty-desc-size:14px}.vft-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:10px 0}.vft-empty__image{width:var(--vft-empty-img-size);height:var(--vft-empty-img-size)}.vft-empty__image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.vft-empty--large .vft-empty__image{width:var(--vft-empty-img-size-large);height:var(--vft-empty-img-size-large)}.vft-empty--small .vft-empty__image{width:var(--vft-empty-img-size-small);height:var(--vft-empty-img-size-small)}.vft-empty__desc{margin-top:var(--vft-empty-desc-top);color:var(--vft-empty-desc-color);font-size:var(--vft-empty-desc-size)}.vft-empty__bottom{margin-top:5px}:root{--vft-result-padding:40px 30px;--vft-result-icon-font-size:64px;--vft-result-title-font-size:20px;--vft-result-title-margin-top:20px;--vft-result-sub-title-margin-top:10px;--vft-result-extra-margin-top:30px}.vft-result{display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;box-sizing:border-box;padding:var(--vft-result-padding)}.vft-result__icon svg{width:var(--vft-result-icon-font-size);height:var(--vft-result-icon-font-size)}.vft-result__icon [class~=vft-icon]{font-size:var(--vft-result-icon-font-size)}.vft-result__title{margin-top:var(--vft-result-title-margin-top)}.vft-result__title p{margin:0;font-size:var(--vft-result-title-font-size);color:var(--vft-text-color-primary);line-height:1.3}.vft-result__sub-title{margin-top:var(--vft-result-sub-title-margin-top)}.vft-result__sub-title p{margin:0;font-size:var(--vft-font-size-base);color:var(--vft-text-color-regular);line-height:1.3}.vft-result__extra{margin-top:var(--vft-result-extra-margin-top)}.vft-result .icon-primary{--vft-result-color:var(--vft-color-primary);color:var(--vft-result-color)}.vft-result .icon-success{--vft-result-color:var(--vft-color-success);color:var(--vft-result-color)}.vft-result .icon-warning{--vft-result-color:var(--vft-color-warning);color:var(--vft-result-color)}.vft-result .icon-danger{--vft-result-color:var(--vft-color-danger);color:var(--vft-result-color)}.vft-result .icon-error{--vft-result-color:var(--vft-color-error);color:var(--vft-result-color)}.vft-result .icon-info{--vft-result-color:var(--vft-color-info);color:var(--vft-result-color)}:root{--vft-tabs-padding:0;--vft-tabs-font-size:14px;--vft-tabs-font-weight:400;--vft-tabs-font-weight-active:500;--vft-tabs-header-height:40px;--vft-tabs-border-bottom:1px solid #eee;--vft-tabs-nav-color:#eee;--vft-tabs-header-margin:0 0 15px;--vft-tabs-header-padding:0;--vft-tabs-header-border-bottom:none;--vft-tabs-item-padding:0 20px;--vft-tabs-item-max-width:100%;--vft-tabs-item-bg-color:white;--vft-tabs-item-bg-color-active:#15b4f1;--vft-tabs-item-bg-color-hover:#15b4f1;--vft-tabs-item-color:black;--vft-tabs-item-color-active:white;--vft-tabs-item-color-hover:white;--vft-tabs-item-border:1px solid #eee;--vft-tabs-item-border-active:0 solid transparent;--vft-tabs-item-border-hover:0 solid transparent;--vft-tabs-item-distance:10px;--vft-tabs-item-border-radius:2px 2px 0 0;--vft-tabs-close-icon-left:5px;--vft-tabs-close-icon-hover-color:white;--vft-tabs-close-icon-hover-bg-color:#a8abb2;--vft-tabs-add-icon-right:30px;--vft-tabs-add-icon-padding-left:20px;--vft-tabs-scroll-padding:0 60px 0 20px;--vft-tabs-active-distance:14px;--vft-tabs-show-border-bottom:block}.vft-tabs{padding:var(--vft-tabs-padding)}.vft-tabs__header{padding:var(--vft-tabs-header-padding);border-bottom:var(--vft-tabs-header-border-bottom);position:relative;margin:var(--vft-tabs-header-margin)}.vft-tabs__item{padding:var(--vft-tabs-item-padding);height:var(--vft-tabs-header-height);box-sizing:border-box;display:inline-flex;justify-content:flex-start;align-items:center;list-style:none;line-height:1;font-size:var(--vft-tabs-font-size);font-weight:var(--vft-tabs-font-weight);color:var(--vft-tabs-item-color);background-color:var(--vft-tabs-item-bg-color);border:var(--vft-tabs-item-border);margin-right:var(--vft-tabs-item-distance)}.vft-tabs__item:focus,.vft-tabs__item:focus:active{outline:0}.vft-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--vft-primary-color) inset;border-radius:3px}.vft-tabs__item .is-icon-close{transition:all var(--vft-transition-duration) var(--vft-transition-function-ease-in-out-bezier);margin-left:var(--vft-tabs-close-icon-left);display:flex;justify-content:center;align-items:center;height:var(--vft-tabs-active-distance);width:var(--vft-tabs-active-distance);border-radius:50%}.vft-tabs__item .is-icon-close:hover{background-color:var(--vft-tabs-close-icon-hover-bg-color)}.vft-tabs__item .is-icon-close:hover i{color:var(--vft-tabs-close-icon-hover-color)!important}.vft-tabs__item.is-active{color:var(--vft-tabs-item-color-active);background-color:var(--vft-tabs-item-bg-color-active);font-weight:var(--vft-tabs-font-weight-active);border:var(--vft-tabs-item-border-active)}.vft-tabs__item:hover{color:var(--vft-tabs-item-color-hover);background-color:var(--vft-tabs-item-bg-color-hover);border:var(--vft-tabs-item-border-hover);cursor:pointer}.vft-tabs__item.is-disabled{color:var(--vft-disabled-text-color);cursor:not-allowed}.vft-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:var(--vft-primary-color);z-index:1;transition:width var(--vft-transition-duration) var(--vft-transition-function-ease-in-out-bezier),transform var(--vft-transition-duration) var(--vft-transition-function-ease-in-out-bezier);list-style:none}.vft-tabs__new-tab{cursor:pointer;transition:all .15s;position:absolute;right:auto;display:inline-flex;align-items:center;height:100%;padding-left:var(--vft-tabs-add-icon-padding-left)}.vft-tabs__new-tab:hover{color:var(--vft-primary-color)}.vft-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.vft-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:var(--vft-tabs-nav-color);z-index:var(--vft-index-normal);display:var(--vft-tabs-show-border-bottom)}.vft-tabs__nav-wrap.is-scrollable{padding:var(--vft-tabs-scroll-padding);box-sizing:border-box}.vft-tabs__nav-wrap.is-scrollable .vft-tabs__new-tab{right:var(--vft-tabs-add-icon-right)}.vft-tabs__nav-scroll{overflow:hidden}.vft-tabs__nav-next,.vft-tabs__nav-prev{position:absolute;cursor:pointer;display:inline-flex;align-items:center;height:100%}.vft-tabs__nav-next{right:0}.vft-tabs__nav-prev{left:0}.vft-tabs__nav{display:flex;white-space:nowrap;position:relative;transition:transform var(--vft-transition-duration);float:left;z-index:calc(var(--vft-index-normal) + 1)}.vft-tabs__nav.is-stretch{min-width:100%;display:flex}.vft-tabs__nav.is-stretch>*{flex:1;text-align:center}.vft-tabs__content{overflow:hidden;position:relative}.vft-tabs--card>.vft-tabs__header{border-bottom:var(--vft-tabs-border-bottom);height:var(--vft-tabs-header-height)}.vft-tabs--card>.vft-tabs__header .vft-tabs__nav-wrap::after{content:none}.vft-tabs--card>.vft-tabs__header .vft-tabs__nav{border-radius:4px 4px 0 0;box-sizing:border-box}.vft-tabs--card>.vft-tabs__header .vft-tabs__active-bar{display:none}.vft-tabs--card>.vft-tabs__header .vft-tabs__item .is-icon-close{width:0}.vft-tabs--card>.vft-tabs__header .vft-tabs__item{border-radius:var(--vft-tabs-item-border-radius);transition:var(--vft-transition-function-ease-in-out-bezier),padding var(--vft-transition-duration) var(--vft-transition-function-ease-in-out-bezier);max-width:var(--vft-tabs-item-max-width)}.vft-tabs--card>.vft-tabs__header .vft-tabs__item.is-closable:hover .is-icon-close{width:var(--vft-tabs-active-distance)}.vft-tabs--card>.vft-tabs__header .vft-tabs__item.is-active.is-closable .is-icon-close{width:var(--vft-tabs-active-distance)}.vft-tabs--bottom .vft-tabs__item.is-bottom:last-child,.vft-tabs--bottom .vft-tabs__item.is-top:last-child,.vft-tabs--top .vft-tabs__item.is-bottom:last-child,.vft-tabs--top .vft-tabs__item.is-top:last-child{margin-right:0}.vft-tabs--bottom .vft-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.vft-tabs--bottom.vft-tabs--border-card .vft-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--vft-border-color)}.vft-tabs--bottom.vft-tabs--border-card .vft-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.vft-tabs--bottom.vft-tabs--border-card .vft-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.vft-tabs--bottom.vft-tabs--border-card .vft-tabs__item.is-bottom{margin:0 -1px -1px}.vft-tabs--left,.vft-tabs--right{overflow:hidden}.vft-tabs--left .vft-tabs__header.is-left,.vft-tabs--left .vft-tabs__header.is-right,.vft-tabs--left .vft-tabs__nav-scroll,.vft-tabs--left .vft-tabs__nav-wrap.is-left,.vft-tabs--left .vft-tabs__nav-wrap.is-right,.vft-tabs--right .vft-tabs__header.is-left,.vft-tabs--right .vft-tabs__header.is-right,.vft-tabs--right .vft-tabs__nav-scroll,.vft-tabs--right .vft-tabs__nav-wrap.is-left,.vft-tabs--right .vft-tabs__nav-wrap.is-right{height:100%}.vft-tabs--left .vft-tabs__active-bar.is-left,.vft-tabs--left .vft-tabs__active-bar.is-right,.vft-tabs--right .vft-tabs__active-bar.is-left,.vft-tabs--right .vft-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.vft-tabs--left .vft-tabs__nav-wrap.is-left,.vft-tabs--left .vft-tabs__nav-wrap.is-right,.vft-tabs--right .vft-tabs__nav-wrap.is-left,.vft-tabs--right .vft-tabs__nav-wrap.is-right{margin-bottom:0}.vft-tabs--left .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-next,.vft-tabs--left .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-prev,.vft-tabs--left .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-next,.vft-tabs--left .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-prev,.vft-tabs--right .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-next,.vft-tabs--right .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-prev,.vft-tabs--right .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-next,.vft-tabs--right .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.vft-tabs--left .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-next i,.vft-tabs--left .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-prev i,.vft-tabs--left .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-next i,.vft-tabs--left .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-prev i,.vft-tabs--right .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-next i,.vft-tabs--right .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-prev i,.vft-tabs--right .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-next i,.vft-tabs--right .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-prev i{transform:rotateZ(90deg)}.vft-tabs--left .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-prev,.vft-tabs--left .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-prev,.vft-tabs--right .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-prev,.vft-tabs--right .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-prev{left:auto;top:0}.vft-tabs--left .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-next,.vft-tabs--left .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-next,.vft-tabs--right .vft-tabs__nav-wrap.is-left>.vft-tabs__nav-next,.vft-tabs--right .vft-tabs__nav-wrap.is-right>.vft-tabs__nav-next{right:auto;bottom:0}.vft-tabs--left .vft-tabs__nav-wrap.is-left.is-scrollable,.vft-tabs--left .vft-tabs__nav-wrap.is-right.is-scrollable,.vft-tabs--right .vft-tabs__nav-wrap.is-left.is-scrollable,.vft-tabs--right .vft-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.vft-tabs--left .vft-tabs__nav-wrap.is-left::after,.vft-tabs--left .vft-tabs__nav-wrap.is-right::after,.vft-tabs--right .vft-tabs__nav-wrap.is-left::after,.vft-tabs--right .vft-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.vft-tabs--left .vft-tabs__nav.is-left,.vft-tabs--left .vft-tabs__nav.is-right,.vft-tabs--right .vft-tabs__nav.is-left,.vft-tabs--right .vft-tabs__nav.is-right{float:none}.vft-tabs--left .vft-tabs__item.is-left,.vft-tabs--left .vft-tabs__item.is-right,.vft-tabs--right .vft-tabs__item.is-left,.vft-tabs--right .vft-tabs__item.is-right{display:block}.vft-tabs--left .vft-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.vft-tabs--left .vft-tabs__nav-wrap.is-left{margin-right:-1px}.vft-tabs--left .vft-tabs__nav-wrap.is-left::after{left:auto;right:0}.vft-tabs--left .vft-tabs__active-bar.is-left{right:0;left:auto}.vft-tabs--left .vft-tabs__item.is-left{text-align:right}.vft-tabs--left.vft-tabs--card .vft-tabs__active-bar.is-left{display:none}.vft-tabs--left.vft-tabs--card .vft-tabs__item.is-left{border-left:none;border-right:1px solid var(--vft-border-color-light);border-bottom:none;border-top:1px solid var(--vft-border-color-light);text-align:left}.vft-tabs--left.vft-tabs--card .vft-tabs__item.is-left:first-child{border-right:1px solid var(--vft-border-color-light);border-top:none}.vft-tabs--left.vft-tabs--card .vft-tabs__item.is-left.is-active{border:1px solid var(--vft-border-color-light);border-right-color:#fff;border-left:none;border-bottom:none}.vft-tabs--left.vft-tabs--card .vft-tabs__item.is-left.is-active:first-child{border-top:none}.vft-tabs--left.vft-tabs--card .vft-tabs__item.is-left.is-active:last-child{border-bottom:none}.vft-tabs--left.vft-tabs--card .vft-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid var(--vft-border-color-light);border-right:none}.vft-tabs--left.vft-tabs--card .vft-tabs__new-tab{float:none}.vft-tabs--left.vft-tabs--border-card .vft-tabs__header.is-left{border-right:1px solid var(--vft-border-color)}.vft-tabs--left.vft-tabs--border-card .vft-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.vft-tabs--left.vft-tabs--border-card .vft-tabs__item.is-left.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.vft-tabs--right .vft-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.vft-tabs--right .vft-tabs__nav-wrap.is-right{margin-left:-1px}.vft-tabs--right .vft-tabs__nav-wrap.is-right::after{left:0;right:auto}.vft-tabs--right .vft-tabs__active-bar.is-right{left:0}.vft-tabs--right.vft-tabs--card .vft-tabs__active-bar.is-right{display:none}.vft-tabs--right.vft-tabs--card .vft-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--vft-border-color-light)}.vft-tabs--right.vft-tabs--card .vft-tabs__item.is-right:first-child{border-left:1px solid var(--vft-border-color-light);border-top:none}.vft-tabs--right.vft-tabs--card .vft-tabs__item.is-right.is-active{border:1px solid var(--vft-border-color-light);border-left-color:#fff;border-right:none;border-bottom:none}.vft-tabs--right.vft-tabs--card .vft-tabs__item.is-right.is-active:first-child{border-top:none}.vft-tabs--right.vft-tabs--card .vft-tabs__item.is-right.is-active:last-child{border-bottom:none}.vft-tabs--right.vft-tabs--card .vft-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid var(--vft-border-color-light);border-left:none}.vft-tabs--right.vft-tabs--border-card .vft-tabs__header.is-right{border-left:1px solid var(--vft-border-color)}.vft-tabs--right.vft-tabs--border-card .vft-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.vft-tabs--right.vft-tabs--border-card .vft-tabs__item.is-right.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--vft-transition-duration)}.slideInRight-leave{position:absolute;left:0;right:0;animation:slideInRight-leave var(--vft-transition-duration)}.slideInLeft-enter{animation:slideInLeft-enter var(--vft-transition-duration)}.slideInLeft-leave{position:absolute;left:0;right:0;animation:slideInLeft-leave var(--vft-transition-duration)}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translateX(100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translateX(0);opacity:1}100%{transform-origin:0 0;transform:translateX(100%);opacity:0}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translateX(-100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translateX(0);opacity:1}100%{transform-origin:0 0;transform:translateX(-100%);opacity:0}}
package/es/component.mjs CHANGED
@@ -1,18 +1,21 @@
1
1
  import { VftDivider as t } from "./components/divider/index.mjs";
2
2
  import { VftIcon as o } from "./components/icon/index.mjs";
3
3
  import { VftAvatar as r } from "./components/avatar/index.mjs";
4
- import { VftEmpty as m } from "./components/empty/index.mjs";
5
- import { VftResult as f } from "./components/result/index.mjs";
4
+ import { VftEmpty as f } from "./components/empty/index.mjs";
5
+ import { VftResult as m } from "./components/result/index.mjs";
6
6
  import { VftException as p } from "./components/exception/index.mjs";
7
- const c = [
7
+ import { VftTabs as i, VftTabPane as V } from "./components/tabs/index.mjs";
8
+ const l = [
8
9
  t,
9
10
  o,
10
11
  r,
11
- m,
12
12
  f,
13
- p
13
+ m,
14
+ p,
15
+ i,
16
+ V
14
17
  ];
15
18
  export {
16
- c as default
19
+ l as default
17
20
  };
18
21
  //# sourceMappingURL=component.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.mjs","sources":["../../../packages/vft/component.ts"],"sourcesContent":["import { VftDivider } from '@vft-ui/components/divider'\nimport { VftIcon } from '@vft-ui/components/icon'\nimport { VftAvatar } from '@vft-ui/components/avatar'\nimport { VftEmpty } from '@vft-ui/components/empty'\nimport { VftResult } from '@vft-ui/components/result'\nimport { VftException } from '@vft-ui/components/exception'\nimport type { Plugin } from 'vue'\n\nexport default [\n VftDivider,\n VftIcon,\n VftAvatar,\n VftEmpty,\n VftResult,\n VftException\n] as Plugin[]\n"],"names":["Components","VftDivider","VftIcon","VftAvatar","VftEmpty","VftResult","VftException"],"mappings":";;;;;;AAQA,MAAeA,IAAA;AAAA,EACbC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AACF;"}
1
+ {"version":3,"file":"component.mjs","sources":["../../../packages/vft/component.ts"],"sourcesContent":["import { VftDivider } from '@vft-ui/components/divider'\nimport { VftIcon } from '@vft-ui/components/icon'\nimport { VftAvatar } from '@vft-ui/components/avatar'\nimport { VftEmpty } from '@vft-ui/components/empty'\nimport { VftResult } from '@vft-ui/components/result'\nimport { VftException } from '@vft-ui/components/exception'\nimport { VftTabs, VftTabPane } from '@vft-ui/components/tabs'\nimport type { Plugin } from 'vue'\n\nexport default [\n VftDivider,\n VftIcon,\n VftAvatar,\n VftEmpty,\n VftResult,\n VftException,\n VftTabs,\n VftTabPane\n] as Plugin[]\n"],"names":["Components","VftDivider","VftIcon","VftAvatar","VftEmpty","VftResult","VftException","VftTabs","VftTabPane"],"mappings":";;;;;;;AASA,MAAeA,IAAA;AAAA,EACbC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AACF;"}
@@ -1,8 +1,9 @@
1
- import { defineComponent as h, ref as z, computed as c, watch as v, openBlock as l, createElementBlock as n, normalizeClass as y, unref as a, normalizeStyle as i, createBlock as S, renderSlot as k } from "vue";
1
+ import { defineComponent as h, ref as z, computed as c, watch as v, openBlock as l, createElementBlock as n, normalizeClass as y, unref as r, normalizeStyle as i, createBlock as S, renderSlot as k } from "vue";
2
2
  import { isString as B, isNumber as E, addUnit as b } from "@vft/utils";
3
3
  import { VftIcon as C } from "../icon/index.mjs";
4
4
  import { useNamespace as g } from "../../hooks/use-namespace/index.mjs";
5
- const L = ["src", "alt", "srcset"], F = /* @__PURE__ */ h({
5
+ import "@vue/shared";
6
+ const L = ["src", "alt", "srcset"], I = /* @__PURE__ */ h({
6
7
  __name: "avatar",
7
8
  props: {
8
9
  size: { default: "" },
@@ -15,7 +16,7 @@ const L = ["src", "alt", "srcset"], F = /* @__PURE__ */ h({
15
16
  },
16
17
  emits: ["error"],
17
18
  setup(e, { emit: o }) {
18
- const s = g("avatar"), r = z(!1), u = c(() => {
19
+ const s = g("avatar"), a = z(!1), u = c(() => {
19
20
  const t = [s.b()];
20
21
  return B(e.size) && t.push(s.m(e.size)), e.icon && t.push(s.m("icon")), e.shape && t.push(s.m(e.shape)), t;
21
22
  }), f = c(() => E(e.size) ? s.cssVarBlock({
@@ -25,27 +26,27 @@ const L = ["src", "alt", "srcset"], F = /* @__PURE__ */ h({
25
26
  }));
26
27
  v(
27
28
  () => e.src,
28
- () => r.value = !1
29
+ () => a.value = !1
29
30
  );
30
31
  function d(t) {
31
- r.value = !0, o("error", t);
32
+ a.value = !0, o("error", t);
32
33
  }
33
34
  return (t, N) => (l(), n("span", {
34
- class: y(a(u)),
35
- style: i(a(f))
35
+ class: y(r(u)),
36
+ style: i(r(f))
36
37
  }, [
37
- (e.src || e.srcSet) && !r.value ? (l(), n("img", {
38
+ (e.src || e.srcSet) && !a.value ? (l(), n("img", {
38
39
  key: 0,
39
40
  src: e.src,
40
41
  alt: e.alt,
41
42
  srcset: e.srcSet,
42
- style: i(a(m)),
43
+ style: i(r(m)),
43
44
  onError: d
44
- }, null, 44, L)) : e.icon ? (l(), S(a(C), { key: 1 })) : k(t.$slots, "default", { key: 2 })
45
+ }, null, 44, L)) : e.icon ? (l(), S(r(C), { key: 1 })) : k(t.$slots, "default", { key: 2 })
45
46
  ], 6));
46
47
  }
47
48
  });
48
49
  export {
49
- F as default
50
+ I as default
50
51
  };
51
52
  //# sourceMappingURL=avatar.vue2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.vue2.mjs","sources":["../../../../../packages/components/avatar/avatar.vue"],"sourcesContent":["<template>\n <span :class=\"avatarClass\" :style=\"sizeStyle\">\n <img\n\t\t\t\tv-if=\"(src || srcSet) && !hasLoadError\"\n\t\t\t\t:src=\"src\"\n\t\t\t\t:alt=\"alt\"\n\t\t\t\t:srcset=\"srcSet\"\n\t\t\t\t:style=\"fitStyle\"\n\t\t\t\t@error=\"handleError\"\n\t\t/>\n <vft-icon v-else-if=\"icon\" />\n <slot v-else />\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { addUnit, isNumber, isString } from '@vft/utils';\nimport type { CSSProperties } from 'vue';\nimport { computed, ref, watch } from 'vue';\nimport VftIcon, { type IconProps } from '@vft-ui/components/icon'\nimport { useNamespace } from '@vft-ui/use';\n\ninterface Props {\n\tsize?: number | 'large' | 'default' | 'small'\n\tshape?: 'circle' | 'square'\n\ticon?: IconProps\n\tsrc?: string\n\talt?: string\n\tsrcSet?: string\n\tfit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down'\n}\n\ndefineProps({\n \"size\": { default: '' },\n \"shape\": { default: 'circle' },\n \"icon\": null,\n \"src\": null,\n \"alt\": null,\n \"srcSet\": null,\n \"fit\": { default: 'cover' }\n})\n\nconst emit = defineEmits(['error']);\n\nconst ns = useNamespace('avatar');\n\nconst hasLoadError = ref(false);\n\nconst avatarClass = computed(() => {\n\tconst classList = [ns.b()];\n\tif (isString(__props.size)) classList.push(ns.m(__props.size));\n\tif (__props.icon) classList.push(ns.m('icon'));\n\tif (__props.shape) classList.push(ns.m(__props.shape));\n\treturn classList;\n});\n\nconst sizeStyle = computed(() => {\n\treturn isNumber(__props.size)\n\t\t? (ns.cssVarBlock({\n\t\t\tsize: addUnit(__props.size) || ''\n\t\t}) as CSSProperties)\n\t\t: undefined;\n});\n\nconst fitStyle = computed<CSSProperties>(() => ({\n\tobjectFit: __props.fit\n}));\n\n// need reset hasLoadError to false if src changed\nwatch(\n\t() => __props.src,\n\t() => (hasLoadError.value = false)\n);\n\nfunction handleError (e: Event) {\n\thasLoadError.value = true;\n\temit('error', e);\n}\n</script>\n\n"],"names":["ns","useNamespace","hasLoadError","ref","avatarClass","computed","classList","isString","__props","sizeStyle","isNumber","addUnit","fitStyle","watch","handleError","e","emit"],"mappings":";;;;;;;;;;;;;;;;;AA4CM,UAAAA,IAAKC,EAAa,QAAQ,GAE1BC,IAAeC,EAAI,EAAK,GAExBC,IAAcC,EAAS,MAAM;AAClC,YAAMC,IAAY,CAACN,EAAG,EAAG,CAAA;AACrB,aAAAO,EAASC,EAAQ,IAAI,KAAGF,EAAU,KAAKN,EAAG,EAAEQ,EAAQ,IAAI,CAAC,GACzDA,EAAQ,QAAMF,EAAU,KAAKN,EAAG,EAAE,MAAM,CAAC,GACzCQ,EAAQ,SAAOF,EAAU,KAAKN,EAAG,EAAEQ,EAAQ,KAAK,CAAC,GAC9CF;AAAA,IAAA,CACP,GAEKG,IAAYJ,EAAS,MACnBK,EAASF,EAAQ,IAAI,IACxBR,EAAG,YAAY;AAAA,MACjB,MAAMW,EAAQH,EAAQ,IAAI,KAAK;AAAA,IAAA,CAC/B,IACC,MACH,GAEKI,IAAWP,EAAwB,OAAO;AAAA,MAC/C,WAAWG,EAAQ;AAAA,IAClB,EAAA;AAGF,IAAAK;AAAA,MACC,MAAML,EAAQ;AAAA,MACd,MAAON,EAAa,QAAQ;AAAA,IAAA;AAG7B,aAASY,EAAaC,GAAU;AAC/B,MAAAb,EAAa,QAAQ,IACrBc,EAAK,SAASD,CAAC;AAAA,IAChB;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"avatar.vue2.mjs","sources":["../../../../../packages/components/avatar/avatar.vue"],"sourcesContent":["<template>\n <span :class=\"avatarClass\" :style=\"sizeStyle\">\n <img\n\t\t\t\tv-if=\"(src || srcSet) && !hasLoadError\"\n\t\t\t\t:src=\"src\"\n\t\t\t\t:alt=\"alt\"\n\t\t\t\t:srcset=\"srcSet\"\n\t\t\t\t:style=\"fitStyle\"\n\t\t\t\t@error=\"handleError\"\n\t\t/>\n <vft-icon v-else-if=\"icon\" />\n <slot v-else />\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { addUnit, isNumber, isString } from '@vft/utils';\nimport type { CSSProperties } from 'vue';\nimport { computed, ref, watch } from 'vue';\nimport VftIcon, { type IconProps } from '@vft-ui/components/icon'\nimport { useNamespace } from '@vft-ui/hooks';\n\ninterface Props {\n\tsize?: number | 'large' | 'default' | 'small'\n\tshape?: 'circle' | 'square'\n\ticon?: IconProps\n\tsrc?: string\n\talt?: string\n\tsrcSet?: string\n\tfit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down'\n}\n\ndefineProps({\n \"size\": { default: '' },\n \"shape\": { default: 'circle' },\n \"icon\": null,\n \"src\": null,\n \"alt\": null,\n \"srcSet\": null,\n \"fit\": { default: 'cover' }\n})\n\nconst emit = defineEmits(['error']);\n\nconst ns = useNamespace('avatar');\n\nconst hasLoadError = ref(false);\n\nconst avatarClass = computed(() => {\n\tconst classList = [ns.b()];\n\tif (isString(__props.size)) classList.push(ns.m(__props.size));\n\tif (__props.icon) classList.push(ns.m('icon'));\n\tif (__props.shape) classList.push(ns.m(__props.shape));\n\treturn classList;\n});\n\nconst sizeStyle = computed(() => {\n\treturn isNumber(__props.size)\n\t\t? (ns.cssVarBlock({\n\t\t\tsize: addUnit(__props.size) || ''\n\t\t}) as CSSProperties)\n\t\t: undefined;\n});\n\nconst fitStyle = computed<CSSProperties>(() => ({\n\tobjectFit: __props.fit\n}));\n\n// need reset hasLoadError to false if src changed\nwatch(\n\t() => __props.src,\n\t() => (hasLoadError.value = false)\n);\n\nfunction handleError (e: Event) {\n\thasLoadError.value = true;\n\temit('error', e);\n}\n</script>\n\n"],"names":["ns","useNamespace","hasLoadError","ref","avatarClass","computed","classList","isString","__props","sizeStyle","isNumber","addUnit","fitStyle","watch","handleError","e","emit"],"mappings":";;;;;;;;;;;;;;;;;;AA4CM,UAAAA,IAAKC,EAAa,QAAQ,GAE1BC,IAAeC,EAAI,EAAK,GAExBC,IAAcC,EAAS,MAAM;AAClC,YAAMC,IAAY,CAACN,EAAG,EAAG,CAAA;AACrB,aAAAO,EAASC,EAAQ,IAAI,KAAGF,EAAU,KAAKN,EAAG,EAAEQ,EAAQ,IAAI,CAAC,GACzDA,EAAQ,QAAMF,EAAU,KAAKN,EAAG,EAAE,MAAM,CAAC,GACzCQ,EAAQ,SAAOF,EAAU,KAAKN,EAAG,EAAEQ,EAAQ,KAAK,CAAC,GAC9CF;AAAA,IAAA,CACP,GAEKG,IAAYJ,EAAS,MACnBK,EAASF,EAAQ,IAAI,IACxBR,EAAG,YAAY;AAAA,MACjB,MAAMW,EAAQH,EAAQ,IAAI,KAAK;AAAA,IAAA,CAC/B,IACC,MACH,GAEKI,IAAWP,EAAwB,OAAO;AAAA,MAC/C,WAAWG,EAAQ;AAAA,IAClB,EAAA;AAGF,IAAAK;AAAA,MACC,MAAML,EAAQ;AAAA,MACd,MAAON,EAAa,QAAQ;AAAA,IAAA;AAG7B,aAASY,EAAaC,GAAU;AAC/B,MAAAb,EAAa,QAAQ,IACrBc,EAAK,SAASD,CAAC;AAAA,IAChB;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,6 @@
1
1
  import { withInstall as t } from "../../utils/vue/install.mjs";
2
+ import "vue";
3
+ import "@vue/shared";
2
4
  import "@vft/utils";
3
5
  import o from "./avatar.vue2.mjs";
4
6
  const f = t(o);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/avatar/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Avatar from './avatar.vue'\n\nexport const VftAvatar = withInstall(Avatar)\nexport default VftAvatar\n\n"],"names":["VftAvatar","withInstall","Avatar"],"mappings":";;;AAIa,MAAAA,IAAYC,EAAYC,CAAM;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/avatar/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Avatar from './avatar.vue'\n\nexport const VftAvatar = withInstall(Avatar)\nexport default VftAvatar\n\n"],"names":["VftAvatar","withInstall","Avatar"],"mappings":";;;;;AAIa,MAAAA,IAAYC,EAAYC,CAAM;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent as p, getCurrentInstance as g, computed as c, openBlock as r, createBlock as m, Transition as C, unref as t, withCtx as h, createElementBlock as y, normalizeStyle as v, normalizeClass as x, withModifiers as B, renderSlot as T, normalizeProps as $, mergeProps as z, createCommentVNode as s } from "vue";
1
+ import { defineComponent as p, getCurrentInstance as g, computed as l, openBlock as i, createBlock as c, Transition as C, unref as t, withCtx as h, createElementBlock as y, normalizeStyle as v, normalizeClass as x, withModifiers as B, renderSlot as T, normalizeProps as $, mergeProps as z, createCommentVNode as s } from "vue";
2
2
  import { singleAttrToObj as S } from "@vft/utils";
3
3
  import "../divider/index.mjs";
4
4
  import { VftIcon as _ } from "../icon/index.mjs";
@@ -6,14 +6,16 @@ import "../avatar/index.mjs";
6
6
  import "../empty/index.mjs";
7
7
  import "../result/index.mjs";
8
8
  import "../exception/index.mjs";
9
+ import "../tabs/index.mjs";
9
10
  import { useBackTop as w } from "./use-back-top.mjs";
10
11
  import { useNamespace as I } from "../../hooks/use-namespace/index.mjs";
11
- const o = (
12
+ import "@vue/shared";
13
+ const e = (
12
14
  /* hoist-static*/
13
15
  I("back-top")
14
16
  ), N = p({
15
- name: o.b()
16
- }), F = /* @__PURE__ */ p({
17
+ name: e.b()
18
+ }), J = /* @__PURE__ */ p({
17
19
  ...N,
18
20
  props: {
19
21
  visibilityHeight: { default: 200 },
@@ -23,31 +25,31 @@ const o = (
23
25
  icon: { default: "vi-back-top" }
24
26
  },
25
27
  emits: ["click"],
26
- setup(n, { emit: u }) {
27
- const f = g(), { handleClick: i, visible: d } = w(f.props, u, o.b()), b = c(() => ({
28
- right: `${n.right}px`,
29
- bottom: `${n.bottom}px`
30
- })), a = c(() => S(n.icon, "icon", {
28
+ setup(r, { emit: u }) {
29
+ const f = g(), { handleClick: n, visible: d } = w(f.props, u, e.b()), b = l(() => ({
30
+ right: `${r.right}px`,
31
+ bottom: `${r.bottom}px`
32
+ })), m = l(() => S(r.icon, "icon", {
31
33
  color: "black"
32
34
  }));
33
- return (k, l) => (r(), m(C, {
34
- name: `${t(o).namespace}-fade-in`
35
+ return (k, a) => (i(), c(C, {
36
+ name: `${t(e).namespace}-fade-in`
35
37
  }, {
36
38
  default: h(() => [
37
- t(d) ? (r(), y("div", {
39
+ t(d) ? (i(), y("div", {
38
40
  key: 0,
39
41
  style: v(t(b)),
40
- class: x(t(o).b()),
41
- onClick: l[0] || (l[0] = B(
42
+ class: x(t(e).b()),
43
+ onClick: a[0] || (a[0] = B(
42
44
  //@ts-ignore
43
- (...e) => t(i) && t(i)(...e),
45
+ (...o) => t(n) && t(n)(...o),
44
46
  ["stop"]
45
47
  ))
46
48
  }, [
47
49
  T(k.$slots, "default", {}, () => {
48
- var e;
50
+ var o;
49
51
  return [
50
- (e = t(a)) != null && e.icon ? (r(), m(t(_), $(z({ key: 0 }, t(a))), null, 16)) : s("", !0)
52
+ (o = t(m)) != null && o.icon ? (i(), c(t(_), $(z({ key: 0 }, t(m))), null, 16)) : s("", !0)
51
53
  ];
52
54
  })
53
55
  ], 6)) : s("", !0)
@@ -57,6 +59,6 @@ const o = (
57
59
  }
58
60
  });
59
61
  export {
60
- F as default
62
+ J as default
61
63
  };
62
64
  //# sourceMappingURL=back-top.vue2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"back-top.vue2.mjs","sources":["../../../../../packages/components/back-top/back-top.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('back-top')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { singleAttrToObj } from '@vft/utils';\nimport { type IconProps, VftIcon } from '@vft-ui/components';\nimport { useBackTop } from './use-back-top';\nimport { useNamespace } from '@vft-ui/use';\nimport { computed, getCurrentInstance } from 'vue';\n\ninterface BackTopProps {\n /** 滚动高度达到此参数值才出现 */\n visibilityHeight?: number\n /** 触发滚动的对象 */\n target?: string\n /** 控制其显示位置,距离页面右边距 */\n right?: number\n /** 控制其显示位置,距离页面底部距离 */\n bottom?: number\n /** 滚动 icon dom */\n icon?: IconProps\n}\n\ndefineProps({\n \"visibilityHeight\": { default: 200 },\n \"target\": null,\n \"right\": { default: 40 },\n \"bottom\": { default: 40 },\n \"icon\": { default: 'vi-back-top' }\n})\n\nconst emit = defineEmits(['click']);\n\n\n\n;\n\nconst instance = getCurrentInstance()!;\n\nconst { handleClick, visible } = useBackTop(instance.props, emit, ns.b());\n\nconst backTopStyle = computed(() => ({\n right: `${__props.right}px`,\n bottom: `${__props.bottom}px`\n}));\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon', {\n color: 'black'\n }) as IconProps;\n});\n</script>\n\n<template>\n <transition :name=\"`${ns.namespace}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"backTopStyle\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <vft-icon v-if=\"_icon?.icon\" v-bind=\"_icon\" />\n </slot>\n </div>\n </transition>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","instance","getCurrentInstance","handleClick","visible","useBackTop","emit","backTopStyle","computed","__props","_icon","singleAttrToObj"],"mappings":";;;;;;;;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,UAAU;AAAA,GAGpDC,IAA6BC,EAAmB;AAAA,EAC/C,MAAMH,EAAG,EAAE;AACZ,CAAC;;;;;;;;;;;AAmCD,UAAMI,IAAWC,KAEX,EAAE,aAAAC,GAAa,SAAAC,EAAY,IAAAC,EAAWJ,EAAS,OAAOK,GAAMT,EAAG,EAAA,CAAG,GAElEU,IAAeC,EAAS,OAAO;AAAA,MACnC,OAAO,GAAGC,EAAQ;AAAA,MAClB,QAAQ,GAAGA,EAAQ;AAAA,IACnB,EAAA,GAEIC,IAAQF,EAAS,MACdG,EAAgBF,EAAQ,MAAM,QAAQ;AAAA,MAC3C,OAAO;AAAA,IAAA,CACR,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"back-top.vue2.mjs","sources":["../../../../../packages/components/back-top/back-top.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('back-top')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { singleAttrToObj } from '@vft/utils';\nimport { type IconProps, VftIcon } from '@vft-ui/components';\nimport { useBackTop } from './use-back-top';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { computed, getCurrentInstance } from 'vue';\n\ninterface BackTopProps {\n /** 滚动高度达到此参数值才出现 */\n visibilityHeight?: number\n /** 触发滚动的对象 */\n target?: string\n /** 控制其显示位置,距离页面右边距 */\n right?: number\n /** 控制其显示位置,距离页面底部距离 */\n bottom?: number\n /** 滚动 icon dom */\n icon?: IconProps\n}\n\ndefineProps({\n \"visibilityHeight\": { default: 200 },\n \"target\": null,\n \"right\": { default: 40 },\n \"bottom\": { default: 40 },\n \"icon\": { default: 'vi-back-top' }\n})\n\nconst emit = defineEmits(['click']);\n\n\n\n;\n\nconst instance = getCurrentInstance()!;\n\nconst { handleClick, visible } = useBackTop(instance.props, emit, ns.b());\n\nconst backTopStyle = computed(() => ({\n right: `${__props.right}px`,\n bottom: `${__props.bottom}px`\n}));\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon', {\n color: 'black'\n }) as IconProps;\n});\n</script>\n\n<template>\n <transition :name=\"`${ns.namespace}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"backTopStyle\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <vft-icon v-if=\"_icon?.icon\" v-bind=\"_icon\" />\n </slot>\n </div>\n </transition>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","instance","getCurrentInstance","handleClick","visible","useBackTop","emit","backTopStyle","computed","__props","_icon","singleAttrToObj"],"mappings":";;;;;;;;;;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,UAAU;AAAA,GAGpDC,IAA6BC,EAAmB;AAAA,EAC/C,MAAMH,EAAG,EAAE;AACZ,CAAC;;;;;;;;;;;AAmCD,UAAMI,IAAWC,KAEX,EAAE,aAAAC,GAAa,SAAAC,EAAY,IAAAC,EAAWJ,EAAS,OAAOK,GAAMT,EAAG,EAAA,CAAG,GAElEU,IAAeC,EAAS,OAAO;AAAA,MACnC,OAAO,GAAGC,EAAQ;AAAA,MAClB,QAAQ,GAAGA,EAAQ;AAAA,IACnB,EAAA,GAEIC,IAAQF,EAAS,MACdG,EAAgBF,EAAQ,MAAM,QAAQ;AAAA,MAC3C,OAAO;AAAA,IAAA,CACR,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,6 @@
1
1
  import { withInstall as t } from "../../utils/vue/install.mjs";
2
+ import "vue";
3
+ import "@vue/shared";
2
4
  import "@vft/utils";
3
5
  import o from "./back-top.vue2.mjs";
4
6
  const f = t(o);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/back-top/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport BackTop from './back-top.vue'\n\nexport const VftBackTop = withInstall(BackTop)\nexport default VftBackTop\n\nexport * from './types'\n"],"names":["VftBackTop","withInstall","BackTop"],"mappings":";;;AAIa,MAAAA,IAAaC,EAAYC,CAAO;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/back-top/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport BackTop from './back-top.vue'\n\nexport const VftBackTop = withInstall(BackTop)\nexport default VftBackTop\n\nexport * from './types'\n"],"names":["VftBackTop","withInstall","BackTop"],"mappings":";;;;;AAIa,MAAAA,IAAaC,EAAYC,CAAO;"}
@@ -1,11 +1,13 @@
1
1
  import { defineComponent as a, computed as c, openBlock as n, createElementBlock as l, normalizeClass as i, unref as r, normalizeStyle as s, renderSlot as m, createCommentVNode as u } from "vue";
2
2
  import { useNamespace as f } from "../../hooks/use-namespace/index.mjs";
3
+ import "@vue/shared";
4
+ import "@vft/utils";
3
5
  const t = (
4
6
  /* hoist-static*/
5
7
  f("divider")
6
8
  ), b = a({
7
9
  name: t.b()
8
- }), C = /* @__PURE__ */ a({
10
+ }), k = /* @__PURE__ */ a({
9
11
  ...b,
10
12
  props: {
11
13
  direction: { default: "horizontal" },
@@ -39,6 +41,6 @@ const t = (
39
41
  }
40
42
  });
41
43
  export {
42
- C as default
44
+ k as default
43
45
  };
44
46
  //# sourceMappingURL=divider.vue2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"divider.vue2.mjs","sources":["../../../../../packages/components/divider/divider.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('divider')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { useNamespace } from '@vft-ui/use';\nimport type { CSSProperties } from 'vue';\nimport type { BorderColor, BorderStyle } from './types';\n\ninterface DividerProps {\n\tdirection?: 'horizontal' | 'vertical'\n\tcontentPosition?: 'left' | 'center' | 'right',\n\tborderStyle?: BorderStyle,\n\tborderColor?: BorderColor,\n\tmarginY?: string,\n\tmarginX?: string,\n}\n\ndefineProps({\n \"direction\": { default: 'horizontal' },\n \"contentPosition\": { default: 'center' },\n \"borderStyle\": { default: 'solid' },\n \"borderColor\": null,\n \"marginY\": null,\n \"marginX\": null\n})\n\n\n\n;\n\nconst dividerStyle = computed(() => {\n\treturn {\n\t\t...ns.cssVarBlock({\n\t\t\t'border-style': __props.borderStyle,\n\t\t\t'border-color': __props.borderColor,\n\t\t\t'margin-y': __props.marginY,\n\t\t\t'margin-x': __props.marginX\n\t\t})\n\t} as CSSProperties;\n});\n</script>\n\n<template>\n\t<div :class=\"[ns.b(), ns.m(direction)]\"\n\t\t\t:style=\"dividerStyle\" role=\"separator\">\n\t\t<div v-if=\"$slots.default && direction !== 'vertical'\"\n\t\t\t\t:class=\"[ns.e('text'), ns.is(contentPosition)]\">\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","dividerStyle","computed","__props"],"mappings":";;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,SAAS;AAAA,GAGnDC,IAA6BC,EAAmB;AAAA,EAC/C,MAAMH,EAAG,EAAE;AACZ,CAAC;;;;;;;;;;;AA6BK,UAAAI,IAAeC,EAAS,OACtB;AAAA,MACN,GAAGL,EAAG,YAAY;AAAA,QACjB,gBAAgBM,EAAQ;AAAA,QACxB,gBAAgBA,EAAQ;AAAA,QACxB,YAAYA,EAAQ;AAAA,QACpB,YAAYA,EAAQ;AAAA,MAAA,CACpB;AAAA,IAAA,EAEF;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"divider.vue2.mjs","sources":["../../../../../packages/components/divider/divider.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('divider')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport type { CSSProperties } from 'vue';\nimport type { BorderColor, BorderStyle } from './types';\n\ninterface DividerProps {\n\tdirection?: 'horizontal' | 'vertical'\n\tcontentPosition?: 'left' | 'center' | 'right',\n\tborderStyle?: BorderStyle,\n\tborderColor?: BorderColor,\n\tmarginY?: string,\n\tmarginX?: string,\n}\n\ndefineProps({\n \"direction\": { default: 'horizontal' },\n \"contentPosition\": { default: 'center' },\n \"borderStyle\": { default: 'solid' },\n \"borderColor\": null,\n \"marginY\": null,\n \"marginX\": null\n})\n\n\n\n;\n\nconst dividerStyle = computed(() => {\n\treturn {\n\t\t...ns.cssVarBlock({\n\t\t\t'border-style': __props.borderStyle,\n\t\t\t'border-color': __props.borderColor,\n\t\t\t'margin-y': __props.marginY,\n\t\t\t'margin-x': __props.marginX\n\t\t})\n\t} as CSSProperties;\n});\n</script>\n\n<template>\n\t<div :class=\"[ns.b(), ns.m(direction)]\"\n\t\t\t:style=\"dividerStyle\" role=\"separator\">\n\t\t<div v-if=\"$slots.default && direction !== 'vertical'\"\n\t\t\t\t:class=\"[ns.e('text'), ns.is(contentPosition)]\">\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","dividerStyle","computed","__props"],"mappings":";;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,SAAS;AAAA,GAGnDC,IAA6BC,EAAmB;AAAA,EAC/C,MAAMH,EAAG,EAAE;AACZ,CAAC;;;;;;;;;;;AA6BK,UAAAI,IAAeC,EAAS,OACtB;AAAA,MACN,GAAGL,EAAG,YAAY;AAAA,QACjB,gBAAgBM,EAAQ;AAAA,QACxB,gBAAgBA,EAAQ;AAAA,QACxB,YAAYA,EAAQ;AAAA,QACpB,YAAYA,EAAQ;AAAA,MAAA,CACpB;AAAA,IAAA,EAEF;;;;;;;;;;;;;;;"}
@@ -1,9 +1,11 @@
1
1
  import { withInstall as t } from "../../utils/vue/install.mjs";
2
+ import "vue";
3
+ import "@vue/shared";
2
4
  import "@vft/utils";
3
5
  import i from "./divider.vue2.mjs";
4
- const f = t(i);
6
+ const a = t(i);
5
7
  export {
6
- f as VftDivider,
7
- f as default
8
+ a as VftDivider,
9
+ a as default
8
10
  };
9
11
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/divider/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Divider from './divider.vue'\n\nexport const VftDivider = withInstall(Divider)\nexport default VftDivider\n"],"names":["VftDivider","withInstall","Divider"],"mappings":";;;AAIa,MAAAA,IAAaC,EAAYC,CAAO;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/divider/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Divider from './divider.vue'\n\nexport const VftDivider = withInstall(Divider)\nexport default VftDivider\n"],"names":["VftDivider","withInstall","Divider"],"mappings":";;;;;AAIa,MAAAA,IAAaC,EAAYC,CAAO;"}
@@ -1 +1 @@
1
- {"version":3,"file":"empty.vue2.mjs","sources":["../../../../../packages/components/empty/empty.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('empty')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script setup lang=\"ts\">\nimport { renderTNode, setSize, VNode } from '@vft/utils';\nimport { useNamespace } from '@vft-ui/use';\nimport { getCurrentInstance, computed } from 'vue';\nimport type { ComponentSize } from '../types';\nimport { getSizeType } from '@vft-ui/utils';\nimport { EmptyEnum } from './constants';\n\nimport NoCollect from './assets/no-collect.png';\nimport NoData from './assets/no-data.png';\nimport NoFilter from './assets/no-filter.png';\nimport NoPageData from './assets/no-page-data.png';\nimport NoSearch from './assets/no-search.png';\n\ninterface EmptyProps {\n /** 图片类型或字符串 支持自定义 slot */\n img?: string;\n type?: EmptyEnum;\n /** 图片大小 */\n size?: ComponentSize | string | number[];\n /** 图片底部描述 支持自定义 slot */\n desc?: string;\n}\n\ndefineProps({\n \"img\": null,\n \"type\": { default: EmptyEnum.NO_DATA },\n \"size\": null,\n \"desc\": null\n})\n\n\n\n;\n\nconst instance = getCurrentInstance();\n\nconst imgTypeMap = new Map<EmptyEnum, {text: string; img: string; size?: EmptyProps['size']; descStyle?: Record<string, Numberish>}>([\n [\n\t\tEmptyEnum.NO_COLLECT,\n {\n text: '暂无收藏记录',\n img: NoCollect\n }\n ],\n [\n\t\tEmptyEnum.NO_PAGE_DATA,\n {\n text: '没有找到相关信息',\n size: 300,\n img: NoPageData\n }\n ],\n [\n\t\tEmptyEnum.NO_DATA,\n {\n text: '暂无数据',\n img: NoData\n }\n ],\n [\n\t\tEmptyEnum.NO_FILTER,\n {\n text: '此筛选条件下无结果',\n img: NoFilter\n }\n ],\n [\n\t\tEmptyEnum.NO_SEARCH,\n {\n text: '没有搜索结果',\n img: NoSearch\n }\n ]\n]);\n\nconst imgInfos = imgTypeMap.get(__props.type);\n\nconst imgContent = computed(() => __props.img || imgInfos?.img);\n\nconst descContent = computed(() => renderTNode(instance, 'desc', { defaultNode: imgInfos?.text }));\n\nconst _sizeType = getSizeType(__props.size as string);\n</script>\n\n<template>\n <div :class=\"[ns.b(), _sizeType ? ns.m(_sizeType) : '']\">\n <div :class=\"ns.e('image')\" :style=\"_sizeType ? {} : setSize(imgInfos?.size || size)\">\n <slot v-if=\"$slots.img\" name=\"img\" />\n <img v-else :src=\"imgContent\" alt=\"\" />\n </div>\n <span :class=\"ns.e('desc')\" v-if=\"descContent\">\n <v-node :content=\"descContent\" />\n </span>\n <div v-if=\"$slots.default\" :class=\"ns.e('bottom')\">\n <slot />\n </div>\n </div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","instance","getCurrentInstance","imgInfos","EmptyEnum","NoCollect","NoPageData","NoData","NoFilter","NoSearch","__props","imgContent","computed","descContent","renderTNode","_sizeType","getSizeType"],"mappings":";;;;;;;;;;;mBACMA;AAAA;AAAA,EAAuBC,EAAa,OAAO;AAAA,GAGjDC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;AAoCD,UAAMI,IAAWC,KAyCXC,yBAvCiB,IAA8G;AAAA,MACnI;AAAA,QACAC,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,KAAKC;AAAA,QACP;AAAA,MACF;AAAA,MACA;AAAA,QACAD,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,KAAKE;AAAA,QACP;AAAA,MACF;AAAA,MACA;AAAA,QACAF,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,KAAKG;AAAA,QACP;AAAA,MACF;AAAA,MACA;AAAA,QACAH,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,KAAKI;AAAA,QACP;AAAA,MACF;AAAA,MACA;AAAA,QACAJ,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,KAAKK;AAAA,QACP;AAAA,MACF;AAAA,IAAA,CACD,GAE2B,IAAIC,EAAQ,IAAI,GAEtCC,IAAaC,EAAS,MAAMF,EAAQ,QAAOP,KAAA,gBAAAA,EAAU,IAAG,GAExDU,IAAcD,EAAS,MAAME,EAAYb,GAAU,QAAQ,EAAE,aAAaE,KAAA,gBAAAA,EAAU,KAAK,CAAC,CAAC,GAE3FY,IAAYC,EAAYN,EAAQ,IAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"empty.vue2.mjs","sources":["../../../../../packages/components/empty/empty.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('empty')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script setup lang=\"ts\">\nimport { renderTNode, setSize, VNode } from '@vft/utils';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { getCurrentInstance, computed } from 'vue';\nimport type { ComponentSize } from '../types';\nimport { getSizeType } from '@vft-ui/utils';\nimport { EmptyEnum } from './constants';\n\nimport NoCollect from './assets/no-collect.png';\nimport NoData from './assets/no-data.png';\nimport NoFilter from './assets/no-filter.png';\nimport NoPageData from './assets/no-page-data.png';\nimport NoSearch from './assets/no-search.png';\n\ninterface EmptyProps {\n /** 图片类型或字符串 支持自定义 slot */\n img?: string;\n type?: EmptyEnum;\n /** 图片大小 */\n size?: ComponentSize | string | number[];\n /** 图片底部描述 支持自定义 slot */\n desc?: string;\n}\n\ndefineProps({\n \"img\": null,\n \"type\": { default: EmptyEnum.NO_DATA },\n \"size\": null,\n \"desc\": null\n})\n\n\n\n;\n\nconst instance = getCurrentInstance();\n\nconst imgTypeMap = new Map<EmptyEnum, {text: string; img: string; size?: EmptyProps['size']; descStyle?: Record<string, Numberish>}>([\n [\n\t\tEmptyEnum.NO_COLLECT,\n {\n text: '暂无收藏记录',\n img: NoCollect\n }\n ],\n [\n\t\tEmptyEnum.NO_PAGE_DATA,\n {\n text: '没有找到相关信息',\n size: 300,\n img: NoPageData\n }\n ],\n [\n\t\tEmptyEnum.NO_DATA,\n {\n text: '暂无数据',\n img: NoData\n }\n ],\n [\n\t\tEmptyEnum.NO_FILTER,\n {\n text: '此筛选条件下无结果',\n img: NoFilter\n }\n ],\n [\n\t\tEmptyEnum.NO_SEARCH,\n {\n text: '没有搜索结果',\n img: NoSearch\n }\n ]\n]);\n\nconst imgInfos = imgTypeMap.get(__props.type);\n\nconst imgContent = computed(() => __props.img || imgInfos?.img);\n\nconst descContent = computed(() => renderTNode(instance, 'desc', { defaultNode: imgInfos?.text }));\n\nconst _sizeType = getSizeType(__props.size as string);\n</script>\n\n<template>\n <div :class=\"[ns.b(), _sizeType ? ns.m(_sizeType) : '']\">\n <div :class=\"ns.e('image')\" :style=\"_sizeType ? {} : setSize(imgInfos?.size || size)\">\n <slot v-if=\"$slots.img\" name=\"img\" />\n <img v-else :src=\"imgContent\" alt=\"\" />\n </div>\n <span :class=\"ns.e('desc')\" v-if=\"descContent\">\n <v-node :content=\"descContent\" />\n </span>\n <div v-if=\"$slots.default\" :class=\"ns.e('bottom')\">\n <slot />\n </div>\n </div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","instance","getCurrentInstance","imgInfos","EmptyEnum","NoCollect","NoPageData","NoData","NoFilter","NoSearch","__props","imgContent","computed","descContent","renderTNode","_sizeType","getSizeType"],"mappings":";;;;;;;;;;;mBACMA;AAAA;AAAA,EAAuBC,EAAa,OAAO;AAAA,GAGjDC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;AAoCD,UAAMI,IAAWC,KAyCXC,yBAvCiB,IAA8G;AAAA,MACnI;AAAA,QACAC,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,KAAKC;AAAA,QACP;AAAA,MACF;AAAA,MACA;AAAA,QACAD,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,KAAKE;AAAA,QACP;AAAA,MACF;AAAA,MACA;AAAA,QACAF,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,KAAKG;AAAA,QACP;AAAA,MACF;AAAA,MACA;AAAA,QACAH,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,KAAKI;AAAA,QACP;AAAA,MACF;AAAA,MACA;AAAA,QACAJ,EAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,KAAKK;AAAA,QACP;AAAA,MACF;AAAA,IAAA,CACD,GAE2B,IAAIC,EAAQ,IAAI,GAEtCC,IAAaC,EAAS,MAAMF,EAAQ,QAAOP,KAAA,gBAAAA,EAAU,IAAG,GAExDU,IAAcD,EAAS,MAAME,EAAYb,GAAU,QAAQ,EAAE,aAAaE,KAAA,gBAAAA,EAAU,KAAK,CAAC,CAAC,GAE3FY,IAAYC,EAAYN,EAAQ,IAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +1,13 @@
1
1
  import { withInstall as t } from "../../utils/vue/install.mjs";
2
+ import "vue";
3
+ import "@vue/shared";
2
4
  import "@vft/utils";
3
5
  import m from "./empty.vue2.mjs";
4
- import { EmptyEnum as n } from "./constants.mjs";
5
- const f = t(m);
6
+ import { EmptyEnum as e } from "./constants.mjs";
7
+ const a = t(m);
6
8
  export {
7
- n as EmptyEnum,
8
- f as VftEmpty,
9
- f as default
9
+ e as EmptyEnum,
10
+ a as VftEmpty,
11
+ a as default
10
12
  };
11
13
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/empty/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Empty from './empty.vue'\n\nexport * from './constants'\n\nexport const VftEmpty = withInstall(Empty)\nexport default VftEmpty\n"],"names":["VftEmpty","withInstall","Empty"],"mappings":";;;;AAMa,MAAAA,IAAWC,EAAYC,CAAK;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/empty/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Empty from './empty.vue'\n\nexport * from './constants'\n\nexport const VftEmpty = withInstall(Empty)\nexport default VftEmpty\n"],"names":["VftEmpty","withInstall","Empty"],"mappings":";;;;;;AAMa,MAAAA,IAAWC,EAAYC,CAAK;"}
@@ -1,9 +1,11 @@
1
1
  import { withInstall as t } from "../../utils/vue/install.mjs";
2
+ import "vue";
3
+ import "@vue/shared";
2
4
  import "@vft/utils";
3
5
  import o from "./exception.vue2.mjs";
4
- const f = t(o);
6
+ const a = t(o);
5
7
  export {
6
- f as VftException,
7
- f as default
8
+ a as VftException,
9
+ a as default
8
10
  };
9
11
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/exception/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Exception from './exception.vue'\n\nexport const VftException = withInstall(Exception)\nexport default VftException\n"],"names":["VftException","withInstall","Exception"],"mappings":";;;AAIa,MAAAA,IAAeC,EAAYC,CAAS;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/exception/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Exception from './exception.vue'\n\nexport const VftException = withInstall(Exception)\nexport default VftException\n"],"names":["VftException","withInstall","Exception"],"mappings":";;;;;AAIa,MAAAA,IAAeC,EAAYC,CAAS;"}
@@ -1,12 +1,13 @@
1
- import { defineComponent as o, computed as i, openBlock as c, createElementBlock as s, renderSlot as a } from "vue";
2
- import { addUnit as r } from "@vft/utils";
1
+ import { defineComponent as o, computed as n, openBlock as c, createElementBlock as s, renderSlot as r } from "vue";
2
+ import { addUnit as a } from "@vft/utils";
3
3
  import { useNamespace as u } from "../../hooks/use-namespace/index.mjs";
4
+ import "@vue/shared";
4
5
  const f = (
5
6
  /* hoist-static*/
6
7
  u("icon")
7
8
  ), m = o({
8
9
  name: f.b()
9
- }), z = /* @__PURE__ */ o({
10
+ }), I = /* @__PURE__ */ o({
10
11
  ...m,
11
12
  props: {
12
13
  dot: { type: Boolean },
@@ -20,18 +21,18 @@ const f = (
20
21
  scale: null
21
22
  },
22
23
  emits: ["click"],
23
- setup(n, { emit: d }) {
24
- i(() => {
24
+ setup(i, { emit: d }) {
25
+ n(() => {
25
26
  const e = {};
26
- return n.color && (e.color = n.color), n.size && (e.fontSize = r(n.size)), n.spin && (e.animation = "vri-rotate 1s linear 0s infinite"), n.cursor && (e.cursor = "pointer"), n.scale && (e.transform = "scale(0.8)"), e;
27
+ return i.color && (e.color = i.color), i.size && (e.fontSize = a(i.size)), i.spin && (e.animation = "vri-rotate 1s linear 0s infinite"), i.cursor && (e.cursor = "pointer"), i.scale && (e.transform = "scale(0.8)"), e;
27
28
  });
28
- const t = ((e) => e == null ? void 0 : e.includes("/"))(n.icon), l = i(() => n.classPrefix);
29
- return i(() => t ? "" : [n.icon.startsWith("vi-") ? "vicon" : "iconfont", `${l.value || ""}${n.icon}`]), (e, B) => (c(), s("div", null, [
30
- a(e.$slots, "default")
29
+ const t = ((e) => e == null ? void 0 : e.includes("/"))(i.icon), l = n(() => i.classPrefix);
30
+ return n(() => t ? "" : [i.icon.startsWith("vi-") ? "vicon" : "iconfont", `${l.value || ""}${i.icon}`]), (e, B) => (c(), s("div", null, [
31
+ r(e.$slots, "default")
31
32
  ]));
32
33
  }
33
34
  });
34
35
  export {
35
- z as default
36
+ I as default
36
37
  };
37
38
  //# sourceMappingURL=icon.vue2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.vue2.mjs","sources":["../../../../../packages/components/icon/icon.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('icon')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { computed, type CSSProperties, inject } from 'vue';\nimport { addUnit } from '@vft/utils';\nimport { useNamespace } from '@vft-ui/use';\n\nexport interface IconProps {\n /** 是否显示图标右上角小红点 */\n dot?: boolean;\n /** 图标名称或图片链接 */\n icon: string;\n /** 图标大小 */\n size?: Numberish;\n /** 图标右上角徽标的内容 */\n badge?: Numberish;\n /** 图标颜色 */\n color?: string;\n /** 类名前缀,用于使用自定义图标 */\n classPrefix?: string;\n spin?: boolean;\n cursor?: boolean;\n scale?: number\n}\n\nconst emit = defineEmits(['click']);\n\ndefineProps({\n \"dot\": { type: Boolean, },\n \"icon\": null,\n \"size\": null,\n \"badge\": null,\n \"color\": null,\n \"classPrefix\": null,\n \"spin\": { type: Boolean, },\n \"cursor\": { type: Boolean, },\n \"scale\": null\n})\n\n\n\n;\n\nconst style = computed(() => {\n const _style: CSSProperties = {};\n if (__props.color) {\n _style['color'] = __props.color;\n }\n if (__props.size) {\n _style['fontSize'] = addUnit(__props.size);\n }\n if (__props.spin) {\n _style['animation'] = 'vri-rotate 1s linear 0s infinite';\n }\n if (__props.cursor) {\n _style['cursor'] = 'pointer';\n }\n if (__props.scale) {\n _style.transform = 'scale(0.8)';\n }\n return _style;\n});\n\nconst isImage = (name?: string) => name?.includes('/');\nconst isImageIcon = isImage(__props.icon);\n\n\nconst _classPrefix = computed(() => __props.classPrefix);\nconst classes = computed(() => (isImageIcon ? '' : [__props.icon.startsWith('vi-') ? 'vicon' : 'iconfont', `${_classPrefix.value || ''}${__props.icon}`]));\n</script>\n\n<template>\n\t<div>\n\t\t<slot></slot>\n\t</div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","computed","_style","__props","addUnit","isImageIcon","name","_classPrefix"],"mappings":";;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,MAAM;AAAA,GAGhDC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;;;;;;;AA0Ca,IAAAI,EAAS,MAAM;AAC3B,YAAMC,IAAwB,CAAA;AAC9B,aAAIC,EAAQ,UACHD,EAAA,QAAWC,EAAQ,QAExBA,EAAQ,SACVD,EAAO,WAAcE,EAAQD,EAAQ,IAAI,IAEvCA,EAAQ,SACVD,EAAO,YAAe,qCAEpBC,EAAQ,WACVD,EAAO,SAAY,YAEjBC,EAAQ,UACVD,EAAO,YAAY,eAEdA;AAAA,IAAA,CACR;AAGK,UAAAG,KADU,CAACC,MAAkBA,KAAA,gBAAAA,EAAM,SAAS,MACtBH,EAAQ,IAAI,GAGlCI,IAAeN,EAAS,MAAME,EAAQ,WAAW;AACvC,WAAAF,EAAS,MAAOI,IAAc,KAAK,CAACF,EAAQ,KAAK,WAAW,KAAK,IAAI,UAAU,YAAY,GAAGI,EAAa,SAAS,KAAKJ,EAAQ,MAAM,CAAE;;;;;"}
1
+ {"version":3,"file":"icon.vue2.mjs","sources":["../../../../../packages/components/icon/icon.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('icon')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { computed, type CSSProperties, inject } from 'vue';\nimport { addUnit } from '@vft/utils';\nimport { useNamespace } from '@vft-ui/hooks';\n\nexport interface IconProps {\n /** 是否显示图标右上角小红点 */\n dot?: boolean;\n /** 图标名称或图片链接 */\n icon: string;\n /** 图标大小 */\n size?: Numberish;\n /** 图标右上角徽标的内容 */\n badge?: Numberish;\n /** 图标颜色 */\n color?: string;\n /** 类名前缀,用于使用自定义图标 */\n classPrefix?: string;\n spin?: boolean;\n cursor?: boolean;\n scale?: number\n}\n\nconst emit = defineEmits(['click']);\n\ndefineProps({\n \"dot\": { type: Boolean, },\n \"icon\": null,\n \"size\": null,\n \"badge\": null,\n \"color\": null,\n \"classPrefix\": null,\n \"spin\": { type: Boolean, },\n \"cursor\": { type: Boolean, },\n \"scale\": null\n})\n\n\n\n;\n\nconst style = computed(() => {\n const _style: CSSProperties = {};\n if (__props.color) {\n _style['color'] = __props.color;\n }\n if (__props.size) {\n _style['fontSize'] = addUnit(__props.size);\n }\n if (__props.spin) {\n _style['animation'] = 'vri-rotate 1s linear 0s infinite';\n }\n if (__props.cursor) {\n _style['cursor'] = 'pointer';\n }\n if (__props.scale) {\n _style.transform = 'scale(0.8)';\n }\n return _style;\n});\n\nconst isImage = (name?: string) => name?.includes('/');\nconst isImageIcon = isImage(__props.icon);\n\n\nconst _classPrefix = computed(() => __props.classPrefix);\nconst classes = computed(() => (isImageIcon ? '' : [__props.icon.startsWith('vi-') ? 'vicon' : 'iconfont', `${_classPrefix.value || ''}${__props.icon}`]));\n</script>\n\n<template>\n\t<div>\n\t\t<slot></slot>\n\t</div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","computed","_style","__props","addUnit","isImageIcon","name","_classPrefix"],"mappings":";;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,MAAM;AAAA,GAGhDC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;;;;;;;AA0Ca,IAAAI,EAAS,MAAM;AAC3B,YAAMC,IAAwB,CAAA;AAC9B,aAAIC,EAAQ,UACHD,EAAA,QAAWC,EAAQ,QAExBA,EAAQ,SACVD,EAAO,WAAcE,EAAQD,EAAQ,IAAI,IAEvCA,EAAQ,SACVD,EAAO,YAAe,qCAEpBC,EAAQ,WACVD,EAAO,SAAY,YAEjBC,EAAQ,UACVD,EAAO,YAAY,eAEdA;AAAA,IAAA,CACR;AAGK,UAAAG,KADU,CAACC,MAAkBA,KAAA,gBAAAA,EAAM,SAAS,MACtBH,EAAQ,IAAI,GAGlCI,IAAeN,EAAS,MAAME,EAAQ,WAAW;AACvC,WAAAF,EAAS,MAAOI,IAAc,KAAK,CAACF,EAAQ,KAAK,WAAW,KAAK,IAAI,UAAU,YAAY,GAAGI,EAAa,SAAS,KAAKJ,EAAQ,MAAM,CAAE;;;;;"}
@@ -1,9 +1,11 @@
1
1
  import { withInstall as t } from "../../utils/vue/install.mjs";
2
+ import "vue";
3
+ import "@vue/shared";
2
4
  import "@vft/utils";
3
5
  import o from "./icon.vue2.mjs";
4
- const i = t(o);
6
+ const a = t(o);
5
7
  export {
6
- i as VftIcon,
7
- i as default
8
+ a as VftIcon,
9
+ a as default
8
10
  };
9
11
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/icon/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils';\n\nimport Icon, { type IconProps } from './icon.vue';\n\nexport {\n\ttype IconProps\n} from './icon.vue';\n\nexport const VftIcon = withInstall(Icon);\nexport default VftIcon;\n"],"names":["VftIcon","withInstall","Icon"],"mappings":";;;AAQa,MAAAA,IAAUC,EAAYC,CAAI;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/icon/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils';\n\nimport Icon, { type IconProps } from './icon.vue';\n\nexport {\n\ttype IconProps\n} from './icon.vue';\n\nexport const VftIcon = withInstall(Icon);\nexport default VftIcon;\n"],"names":["VftIcon","withInstall","Icon"],"mappings":";;;;;AAQa,MAAAA,IAAUC,EAAYC,CAAI;"}
@@ -4,3 +4,4 @@ export * from './avatar';
4
4
  export * from './empty';
5
5
  export * from './result';
6
6
  export * from './exception';
7
+ export * from './tabs';
@@ -2,16 +2,21 @@ import { VftDivider as r } from "./divider/index.mjs";
2
2
  import { VftIcon as e } from "./icon/index.mjs";
3
3
  import { VftAvatar as p } from "./avatar/index.mjs";
4
4
  import { VftEmpty as V } from "./empty/index.mjs";
5
- import { VftResult as i } from "./result/index.mjs";
6
- import { VftException as a } from "./exception/index.mjs";
7
- import { EmptyEnum as u } from "./empty/constants.mjs";
5
+ import { VftResult as n } from "./result/index.mjs";
6
+ import { VftException as b } from "./exception/index.mjs";
7
+ import { VftTabPane as s, VftTabs as y } from "./tabs/index.mjs";
8
+ import { EmptyEnum as c } from "./empty/constants.mjs";
9
+ import { TabsRootContextKey as v } from "./tabs/types.mjs";
8
10
  export {
9
- u as EmptyEnum,
11
+ c as EmptyEnum,
12
+ v as TabsRootContextKey,
10
13
  p as VftAvatar,
11
14
  r as VftDivider,
12
15
  V as VftEmpty,
13
- a as VftException,
16
+ b as VftException,
14
17
  e as VftIcon,
15
- i as VftResult
18
+ n as VftResult,
19
+ s as VftTabPane,
20
+ y as VftTabs
16
21
  };
17
22
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,9 +1,11 @@
1
1
  import { withInstall as t } from "../../utils/vue/install.mjs";
2
+ import "vue";
3
+ import "@vue/shared";
2
4
  import "@vft/utils";
3
5
  import o from "./result.vue2.mjs";
4
- const i = t(o);
6
+ const s = t(o);
5
7
  export {
6
- i as VftResult,
7
- i as default
8
+ s as VftResult,
9
+ s as default
8
10
  };
9
11
  //# sourceMappingURL=index.mjs.map