@ditari/bsui 5.0.1 → 5.0.2

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 (169) hide show
  1. package/dist/cjs/components/index.cjs +12 -7
  2. package/dist/cjs/components/index.cjs.map +1 -1
  3. package/dist/cjs/components/layout/Layout.vue.cjs +10 -0
  4. package/dist/cjs/components/layout/Layout.vue.cjs.map +1 -0
  5. package/dist/cjs/components/layout/Layout.vue2.cjs +144 -0
  6. package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -0
  7. package/dist/cjs/components/layout/{list.cjs → List.cjs} +18 -4
  8. package/dist/cjs/components/layout/List.cjs.map +1 -0
  9. package/dist/cjs/components/layout/Show.cjs +134 -0
  10. package/dist/cjs/components/layout/Show.cjs.map +1 -0
  11. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue.cjs +10 -0
  12. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue.cjs.map +1 -0
  13. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs +120 -0
  14. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs.map +1 -0
  15. package/dist/cjs/components/layout/components/layout/RouterContent.vue.cjs +10 -0
  16. package/dist/cjs/components/layout/components/layout/RouterContent.vue.cjs.map +1 -0
  17. package/dist/cjs/components/layout/components/layout/RouterContent.vue2.cjs +47 -0
  18. package/dist/cjs/components/layout/components/layout/RouterContent.vue2.cjs.map +1 -0
  19. package/dist/cjs/components/layout/components/menu/Menu.cjs +117 -0
  20. package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -0
  21. package/dist/cjs/components/layout/index.cjs +16 -8
  22. package/dist/cjs/components/layout/index.cjs.map +1 -1
  23. package/dist/cjs/components/select/Select.vue.cjs +10 -0
  24. package/dist/cjs/components/select/Select.vue.cjs.map +1 -0
  25. package/dist/cjs/components/select/Select.vue2.cjs +105 -0
  26. package/dist/cjs/components/select/Select.vue2.cjs.map +1 -0
  27. package/dist/cjs/components/select/index.cjs +14 -0
  28. package/dist/cjs/components/select/index.cjs.map +1 -0
  29. package/dist/cjs/components/tab/Tab.vue.cjs +1 -1
  30. package/dist/cjs/components/tab/Tab.vue.cjs.map +1 -1
  31. package/dist/cjs/components/tab/Tab.vue2.cjs +92 -46
  32. package/dist/cjs/components/tab/Tab.vue2.cjs.map +1 -1
  33. package/dist/cjs/components/tab/index.cjs +1 -0
  34. package/dist/cjs/components/tab/index.cjs.map +1 -1
  35. package/dist/cjs/components/table/{table.cjs → Table.cjs} +2 -9
  36. package/dist/cjs/components/table/Table.cjs.map +1 -0
  37. package/dist/cjs/components/table/index.cjs +7 -6
  38. package/dist/cjs/components/table/index.cjs.map +1 -1
  39. package/dist/cjs/components/table/interface.cjs +1 -0
  40. package/dist/cjs/components/table/interface.cjs.map +1 -1
  41. package/dist/cjs/index.cjs +11 -6
  42. package/dist/cjs/index.cjs.map +1 -1
  43. package/dist/cjs/shims-vue.d.cjs +4 -0
  44. package/dist/cjs/shims-vue.d.cjs.map +1 -0
  45. package/dist/cjs/utils/useTheme.cjs +23 -0
  46. package/dist/cjs/utils/useTheme.cjs.map +1 -0
  47. package/dist/css/components/tab/style/index.css +1 -159
  48. package/dist/css/index.css +1 -159
  49. package/dist/esm/components/index.mjs +8 -3
  50. package/dist/esm/components/index.mjs.map +1 -1
  51. package/dist/esm/components/layout/Layout.vue.mjs +6 -0
  52. package/dist/esm/components/layout/Layout.vue.mjs.map +1 -0
  53. package/dist/esm/components/layout/Layout.vue2.mjs +140 -0
  54. package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -0
  55. package/dist/esm/components/layout/{list.mjs → List.mjs} +18 -4
  56. package/dist/esm/components/layout/List.mjs.map +1 -0
  57. package/dist/esm/components/layout/Show.mjs +130 -0
  58. package/dist/esm/components/layout/Show.mjs.map +1 -0
  59. package/dist/esm/components/layout/components/layout/HeaderLayout.vue.mjs +6 -0
  60. package/dist/esm/components/layout/components/layout/HeaderLayout.vue.mjs.map +1 -0
  61. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs +116 -0
  62. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs.map +1 -0
  63. package/dist/esm/components/layout/components/layout/RouterContent.vue.mjs +6 -0
  64. package/dist/esm/components/layout/components/layout/RouterContent.vue.mjs.map +1 -0
  65. package/dist/esm/components/layout/components/layout/RouterContent.vue2.mjs +43 -0
  66. package/dist/esm/components/layout/components/layout/RouterContent.vue2.mjs.map +1 -0
  67. package/dist/esm/components/layout/components/menu/Menu.mjs +113 -0
  68. package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -0
  69. package/dist/esm/components/layout/index.mjs +12 -5
  70. package/dist/esm/components/layout/index.mjs.map +1 -1
  71. package/dist/esm/components/select/Select.vue.mjs +6 -0
  72. package/dist/esm/components/select/Select.vue.mjs.map +1 -0
  73. package/dist/esm/components/select/Select.vue2.mjs +101 -0
  74. package/dist/esm/components/select/Select.vue2.mjs.map +1 -0
  75. package/dist/esm/components/select/index.mjs +10 -0
  76. package/dist/esm/components/select/index.mjs.map +1 -0
  77. package/dist/esm/components/tab/Tab.vue.mjs +1 -1
  78. package/dist/esm/components/tab/Tab.vue.mjs.map +1 -1
  79. package/dist/esm/components/tab/Tab.vue2.mjs +94 -48
  80. package/dist/esm/components/tab/Tab.vue2.mjs.map +1 -1
  81. package/dist/esm/components/tab/index.mjs +1 -0
  82. package/dist/esm/components/tab/index.mjs.map +1 -1
  83. package/dist/esm/components/table/{table.mjs → Table.mjs} +3 -10
  84. package/dist/esm/components/table/Table.mjs.map +1 -0
  85. package/dist/esm/components/table/index.mjs +3 -2
  86. package/dist/esm/components/table/index.mjs.map +1 -1
  87. package/dist/esm/components/table/interface.mjs +1 -1
  88. package/dist/esm/index.mjs +6 -3
  89. package/dist/esm/index.mjs.map +1 -1
  90. package/dist/esm/shims-vue.d.mjs +2 -0
  91. package/dist/esm/shims-vue.d.mjs.map +1 -0
  92. package/dist/esm/utils/useTheme.mjs +21 -0
  93. package/dist/esm/utils/useTheme.mjs.map +1 -0
  94. package/dist/style/index.scss +1 -0
  95. package/dist/style/tab/style/index.scss +1 -1
  96. package/dist/{esm → types}/components/index.d.ts +2 -0
  97. package/dist/types/components/index.d.ts.map +1 -0
  98. package/dist/types/components/layout/Layout.vue.d.ts +56 -0
  99. package/dist/types/components/layout/Layout.vue.d.ts.map +1 -0
  100. package/dist/{cjs/components/layout/list.d.ts → types/components/layout/List.d.ts} +2 -2
  101. package/dist/types/components/layout/List.d.ts.map +1 -0
  102. package/dist/types/components/layout/Show.d.ts +18 -0
  103. package/dist/types/components/layout/Show.d.ts.map +1 -0
  104. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts +28 -0
  105. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts.map +1 -0
  106. package/dist/types/components/layout/components/layout/RouterContent.vue.d.ts +5 -0
  107. package/dist/types/components/layout/components/layout/RouterContent.vue.d.ts.map +1 -0
  108. package/dist/types/components/layout/components/menu/Menu.d.ts +3 -0
  109. package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -0
  110. package/dist/types/components/layout/index.d.ts +5 -0
  111. package/dist/types/components/layout/index.d.ts.map +1 -0
  112. package/dist/types/components/select/Select.vue.d.ts +97 -0
  113. package/dist/types/components/select/Select.vue.d.ts.map +1 -0
  114. package/dist/types/components/select/index.d.ts +3 -0
  115. package/dist/types/components/select/index.d.ts.map +1 -0
  116. package/dist/{cjs → types}/components/tab/Tab.vue.d.ts +10 -3
  117. package/dist/types/components/tab/Tab.vue.d.ts.map +1 -0
  118. package/dist/{cjs → types}/components/tab/index.d.ts +1 -0
  119. package/dist/types/components/tab/index.d.ts.map +1 -0
  120. package/dist/{cjs/components/table/table.d.ts → types/components/table/Table.d.ts} +8 -7
  121. package/dist/types/components/table/Table.d.ts.map +1 -0
  122. package/dist/types/components/table/index.d.ts +4 -0
  123. package/dist/types/components/table/index.d.ts.map +1 -0
  124. package/dist/{cjs → types}/components/table/interface.d.ts +1 -0
  125. package/dist/types/components/table/interface.d.ts.map +1 -0
  126. package/dist/{cjs → types}/index.d.ts +1 -0
  127. package/dist/types/index.d.ts.map +1 -0
  128. package/dist/types/utils/useTheme.d.ts +9 -0
  129. package/dist/types/utils/useTheme.d.ts.map +1 -0
  130. package/package.json +24 -5
  131. package/CHANGELOG.md +0 -7
  132. package/dist/cjs/components/index.d.ts +0 -3
  133. package/dist/cjs/components/layout/index.d.ts +0 -3
  134. package/dist/cjs/components/layout/list.cjs.map +0 -1
  135. package/dist/cjs/components/layout/show.cjs +0 -24
  136. package/dist/cjs/components/layout/show.cjs.map +0 -1
  137. package/dist/cjs/components/layout/show.d.ts +0 -5
  138. package/dist/cjs/components/table/index.d.ts +0 -3
  139. package/dist/cjs/components/table/table.cjs.map +0 -1
  140. package/dist/esm/components/layout/index.d.ts +0 -3
  141. package/dist/esm/components/layout/list.d.ts +0 -5
  142. package/dist/esm/components/layout/list.mjs.map +0 -1
  143. package/dist/esm/components/layout/show.d.ts +0 -5
  144. package/dist/esm/components/layout/show.mjs +0 -20
  145. package/dist/esm/components/layout/show.mjs.map +0 -1
  146. package/dist/esm/components/tab/Tab.vue.d.ts +0 -22
  147. package/dist/esm/components/tab/index.d.ts +0 -2
  148. package/dist/esm/components/table/index.d.ts +0 -3
  149. package/dist/esm/components/table/interface.d.ts +0 -45
  150. package/dist/esm/components/table/table.d.ts +0 -136
  151. package/dist/esm/components/table/table.mjs.map +0 -1
  152. package/dist/esm/index.d.ts +0 -7
  153. package/src/components/index.ts +0 -4
  154. package/src/components/layout/index.ts +0 -15
  155. package/src/components/layout/list.tsx +0 -137
  156. package/src/components/layout/show.tsx +0 -13
  157. package/src/components/readme.md +0 -4
  158. package/src/components/tab/Tab.vue +0 -105
  159. package/src/components/tab/index.ts +0 -9
  160. package/src/components/tab/style/index.scss +0 -176
  161. package/src/components/table/index.ts +0 -10
  162. package/src/components/table/interface.ts +0 -59
  163. package/src/components/table/table.tsx +0 -491
  164. package/src/index.scss +0 -1
  165. package/src/index.ts +0 -31
  166. package/tsconfig.app.json +0 -29
  167. package/tsconfig.json +0 -7
  168. package/tsconfig.node.json +0 -27
  169. package/vite.config.ts +0 -43
@@ -1,137 +0,0 @@
1
- import {
2
- computed,
3
- defineComponent,
4
- nextTick,
5
- onMounted,
6
- ref,
7
- watch
8
- } from "vue";
9
- import { Card, Flex, Space } from "ant-design-vue";
10
- import { useElementSize } from "@vueuse/core";
11
-
12
- import { css } from "@emotion/css";
13
-
14
- const tableRootStyle = css`
15
- height: 100%;
16
- position: relative;
17
- overflow: hidden;
18
- `;
19
-
20
- const list = defineComponent({
21
- name: "DList",
22
- emits: ["update:value", "change"],
23
- setup(_, { slots }) {
24
- const { tableRef, height, tableVisible, playTableHeight } =
25
- useTableHeight();
26
-
27
- const { formRef } = useForm();
28
- // 使用 computed 来动态计算样式
29
- const maskDivStyle = computed(() => {
30
- return css`
31
- position: absolute;
32
- top: 0;
33
- right: 0;
34
- bottom: 0;
35
- left: 0;
36
- z-index: 1;
37
- background: white;
38
- display: ${tableVisible.value ? "block" : "none"};
39
- `;
40
- });
41
-
42
- const tableWrapperStyle = css`
43
- position: absolute;
44
- top: 0;
45
- right: 0;
46
- bottom: 0;
47
- left: 0;
48
- overflow: hidden;
49
- `;
50
-
51
- onMounted(() => {
52
- playTableHeight();
53
- });
54
-
55
- function useTableHeight() {
56
- const tableRef = ref();
57
- const height = ref(0);
58
- const tableVisible = ref(true);
59
-
60
- function playTableHeight() {
61
- tableVisible.value = true;
62
- height.value = tableRef?.value?.$el.offsetHeight;
63
- nextTick(() => {
64
- setTimeout(() => {
65
- tableVisible.value = false;
66
- }, 10);
67
- });
68
- }
69
-
70
- return {
71
- tableRef,
72
- height,
73
- tableVisible,
74
- playTableHeight
75
- };
76
- }
77
-
78
- function useForm() {
79
- const formRef = ref(null);
80
- const { height: formHeight } = useElementSize(formRef);
81
- watch(
82
- () => formHeight.value,
83
- () => {
84
- nextTick(() => {
85
- playTableHeight();
86
- });
87
- }
88
- );
89
-
90
- return {
91
- formRef
92
- };
93
- }
94
-
95
- return () => (
96
- <Flex vertical={true} style={{ height: "100%" }}>
97
- {slots.form && (
98
- <Card
99
- ref={formRef}
100
- style={{ marginBottom: "20px" }}
101
- bodyStyle={{ padding: "24px 24px 0 24px" }}
102
- bordered={false}
103
- >
104
- {slots.form()}
105
- </Card>
106
- )}
107
-
108
- <Flex flex={1} vertical={true}>
109
- <Card
110
- style={{ height: "100%" }}
111
- bodyStyle={{ height: "100%" }}
112
- bordered={false}
113
- >
114
- <Flex style={{ height: "100%" }} vertical={true}>
115
- <Space style={{ marginBottom: "20px" }}>{slots.tools?.()}</Space>
116
- <Flex
117
- ref={tableRef}
118
- flex={1}
119
- style={{ height: "100%" }}
120
- vertical={true}
121
- >
122
- <div class={tableRootStyle}>
123
- <div class={maskDivStyle.value}></div>
124
- <div class={tableWrapperStyle}>
125
- {slots.table?.({ height: height.value })}
126
- </div>
127
- </div>
128
- </Flex>
129
- </Flex>
130
- </Card>
131
- </Flex>
132
- </Flex>
133
- );
134
- }
135
- });
136
-
137
- export default list;
@@ -1,13 +0,0 @@
1
- import { defineComponent } from "vue";
2
- import { Flex } from "ant-design-vue";
3
-
4
- const list = defineComponent({
5
- name: "DShow",
6
- emits: ["update:value", "change"],
7
- setup(_, { emit }) {
8
- emit("update:value", "ddd");
9
- return () => <Flex vertical={true}>show</Flex>;
10
- }
11
- });
12
-
13
- export default list;
@@ -1,4 +0,0 @@
1
- # 导出学习记录
2
-
3
- - export * from ''; 无法导出export default;只能导出export {}
4
- - export { default as ... } 可以显式导出 default
@@ -1,105 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, type ComputedRef, h, ref } from "vue";
3
- import { theme } from "ant-design-vue";
4
-
5
- import { CloseOutlined, SearchOutlined } from "@ant-design/icons-vue";
6
- import { css } from "@emotion/css";
7
- import type { GlobalToken } from "ant-design-vue/es/theme/interface";
8
-
9
- const { token, tabsNavStyle, tabHoverBgStyle, closeBtnStyle } = useStyle();
10
- const { activeKey } = useTabState();
11
-
12
- function useStyle() {
13
- const { useToken } = theme;
14
- const { token }: { token: ComputedRef<GlobalToken> } = useToken();
15
-
16
- const tabsNavStyle = computed(() => {
17
- return css`
18
- background: ${token.value.colorPrimary};
19
- padding-top: 10px;
20
- `;
21
- });
22
-
23
- const tabHoverBgStyle = computed(() => {
24
- return css`
25
- &:before {
26
- background: ${token.value.colorPrimaryBgHover};
27
- }
28
- `;
29
- });
30
-
31
- const closeBtnStyle = computed(() => {
32
- return css`
33
- &:hover {
34
- background: ${token.value.colorPrimaryBorderHover};
35
- border-radius: 50%;
36
- }
37
- `;
38
- });
39
-
40
- return {
41
- token,
42
- tabsNavStyle,
43
- tabHoverBgStyle,
44
- closeBtnStyle
45
- };
46
- }
47
-
48
- function useTabState() {
49
- const activeKey = ref();
50
- return {
51
- activeKey
52
- };
53
- }
54
- </script>
55
- <template>
56
- <div class="tabs-nav-wrapper" :class="tabsNavStyle">
57
- <div class="d-tabs-nav">
58
- <a-tabs size="small" v-model:activeKey="activeKey" type="card" hide-add>
59
- <template #leftExtra>
60
- <div style="padding: 0 10px">
61
- <a-popover placement="bottomRight">
62
- <template #content>
63
- <a-input :bordered="false" placeholder="搜索标签页">
64
- <template #prefix>
65
- <SearchOutlined />
66
- </template>
67
- <template #suffix>
68
- <span :style="{ color: token.colorTextTertiary }"
69
- >Ctrl+Shift+S</span
70
- >
71
- </template>
72
- </a-input>
73
- </template>
74
- <a-button
75
- size="small"
76
- shape="circle"
77
- :icon="h(SearchOutlined)"
78
- title="搜索标签页"
79
- />
80
- </a-popover>
81
- </div>
82
- </template>
83
- <a-tab-pane
84
- :key="item"
85
- :closable="false"
86
- v-for="item in 50"
87
- :class="{ active: activeKey === item }"
88
- >
89
- <template #tab>
90
- <div class="tab-hover-bg" :class="tabHoverBgStyle"></div>
91
- <div class="tab-dividers"></div>
92
- <div class="tab-item">{{ item }}</div>
93
- <div class="tab-close">
94
- <div class="close-btn" :class="closeBtnStyle">
95
- <CloseOutlined />
96
- </div>
97
- </div>
98
- </template>
99
- </a-tab-pane>
100
- </a-tabs>
101
- </div>
102
- </div>
103
- </template>
104
-
105
- <style lang="scss"></style>
@@ -1,9 +0,0 @@
1
- import type { App } from "vue";
2
-
3
- import Tab from "./Tab.vue";
4
-
5
- Tab.install = (app: App) => {
6
- app.component("DTab", Tab);
7
- };
8
-
9
- export default Tab;
@@ -1,176 +0,0 @@
1
- @mixin tab-dividers {
2
- .tab-dividers {
3
- &::before {
4
- opacity: 0;
5
- }
6
- }
7
- }
8
-
9
- .d-tabs-nav {
10
- .ant-tabs-nav {
11
- margin-bottom: 0 !important;
12
-
13
- &:before {
14
- border-bottom-width: 0;
15
- }
16
- }
17
-
18
- .ant-tabs-nav-operations {
19
- display: none !important;
20
- }
21
-
22
- .ant-tabs-nav-list {
23
- .ant-tabs-tab {
24
- position: relative;
25
- // 要隐藏动画,否则切换激活的时候背景色有延迟
26
- transition: none !important;
27
- border: 0;
28
-
29
- &:first-child {
30
- margin-left: 20px;
31
-
32
- .tab-dividers {
33
- &::before {
34
- opacity: 0;
35
- }
36
- }
37
- }
38
-
39
- &:nth-last-child(2) {
40
- margin-right: 20px;
41
- }
42
-
43
- &:before,
44
- &:after {
45
- position: absolute;
46
- bottom: -1px;
47
- content: "";
48
- width: 30px;
49
- height: 30px;
50
- border-radius: 100%;
51
- box-shadow: 0 0 0 40px transparent;
52
- }
53
-
54
- &:before {
55
- left: -30px;
56
- clip-path: inset(50% -10px 0 50%);
57
- }
58
-
59
- &:after {
60
- right: -30px;
61
- clip-path: inset(50% 50% 0 -10px);
62
- }
63
-
64
- &.ant-tabs-tab-active {
65
- // 如果当前标签被激活,那么隐藏分割线
66
- @include tab-dividers;
67
- border-radius: 10px 10px 0 0 !important;
68
-
69
- &:before,
70
- &:after {
71
- z-index: 10;
72
- box-shadow: 0 0 0 30px #fff;
73
- }
74
- }
75
-
76
- &:hover {
77
- &:not(.ant-tabs-tab-active) {
78
- .tab-hover-bg {
79
- position: absolute;
80
- display: flex;
81
- flex-direction: column;
82
- justify-content: center;
83
- top: 0;
84
- right: 0;
85
- bottom: 0;
86
- left: 0;
87
- z-index: -1;
88
-
89
- &:before {
90
- content: "";
91
- width: 100%;
92
- height: 25px;
93
- border-radius: 6px;
94
- }
95
- }
96
-
97
- @include tab-dividers;
98
-
99
- & + .ant-tabs-tab {
100
- @include tab-dividers;
101
- }
102
- }
103
- }
104
-
105
- &:not(.ant-tabs-tab-active) {
106
- .close-btn {
107
- color: white;
108
- }
109
-
110
- .tab-item {
111
- color: #fff;
112
- }
113
- }
114
- }
115
-
116
- // 由于 + 是相邻兄弟选择器, 将紧跟在ant-tabs-tab-active后的ant-tabs-tab也隐藏分割线
117
- .ant-tabs-tab-active + .ant-tabs-tab {
118
- @include tab-dividers;
119
- }
120
-
121
- .ant-tabs-tab-btn {
122
- display: flex;
123
- align-items: center;
124
- }
125
- }
126
-
127
- .tab-close {
128
- position: absolute;
129
- top: 0;
130
- right: 0;
131
- bottom: 0;
132
- padding: 4px;
133
- display: flex;
134
- align-items: center;
135
- justify-content: center;
136
-
137
- .close-btn {
138
- display: flex;
139
- align-items: center;
140
- justify-content: center;
141
- width: 20px;
142
- height: 20px;
143
- z-index: 20;
144
- }
145
-
146
- .anticon {
147
- margin: 0;
148
- }
149
- }
150
-
151
- .tab-item {
152
- padding-right: 30px;
153
- }
154
-
155
- .tab-dividers {
156
- position: absolute;
157
- z-index: 0;
158
- height: 14px;
159
- left: -2px;
160
-
161
- &::before {
162
- content: "";
163
- display: block;
164
- position: absolute;
165
- top: 0;
166
- left: 1px;
167
- bottom: 0;
168
- width: 2px;
169
- opacity: 1;
170
- background-color: #fff;
171
- border-radius: 10px;
172
- transition: opacity 0.2s ease,
173
- background-color 0.3s;
174
- }
175
- }
176
- }
@@ -1,10 +0,0 @@
1
- import Table from "./table";
2
- import type { App } from "vue";
3
-
4
- export * from "./table";
5
-
6
- Table.install = (app: App) => {
7
- app.component(Table.name!, Table);
8
- };
9
-
10
- export default Table;
@@ -1,59 +0,0 @@
1
- // 分页配置
2
- export interface PaginationProps {
3
- /** 默认的每页条数 */
4
- defaultPageSize?: number; // default: 10
5
-
6
- /** 禁用分页 */
7
- disabled?: boolean; // default: false
8
-
9
- /** 只有一页时是否隐藏分页器 */
10
- hideOnSinglePage?: boolean; // default: false
11
-
12
- /**
13
- * 用于自定义页码的结构,可用于优化 SEO
14
- * @param page 当前页码
15
- * @param type 页码类型 ('page' | 'prev' | 'next')
16
- * @param originalElement 默认的节点
17
- * @returns 自定义的 VNode
18
- */
19
- itemRender?: (opt: {
20
- page: number;
21
- type: "page" | "prev" | "next" | "jump-prev" | "jump-next";
22
- originalElement: unknown;
23
- }) => unknown;
24
-
25
- /** 每页条数(支持 v-model) */
26
- pageSize?: number;
27
-
28
- /** 指定每页可以显示的条数 */
29
- pageSizeOptions?: (string | number)[]; // default: ['10', '20', '50', '100']
30
-
31
- /** 当 size 未指定时,根据屏幕宽度自动调整尺寸 */
32
- responsive?: boolean; // default: false
33
-
34
- /** 是否显示较少页面内容 */
35
- showLessItems?: boolean; // default: false
36
-
37
- /** 是否可以快速跳转至某页 */
38
- showQuickJumper?: boolean; // default: false
39
-
40
- /** 是否展示 pageSize 切换器,当 total 大于 50 时默认为 true */
41
- showSizeChanger?: boolean;
42
-
43
- /**
44
- * 用于显示数据总量和当前数据顺序
45
- * @param total 数据总数
46
- * @param range 当前数据范围
47
- * @returns 显示的文本内容
48
- */
49
- showTotal?: (total: number, range: [number, number]) => string;
50
-
51
- /** 当添加该属性时,显示为简单分页 */
52
- simple?: boolean; // default: false
53
-
54
- /** 当为「small」时,是小尺寸分页 */
55
- size?: "default" | "small";
56
-
57
- /** 数据总数 */
58
- total?: number; // default: 0
59
- }