ct-component-plus 0.0.43 → 0.0.45

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 (95) hide show
  1. package/README.md +3 -3
  2. package/package.json +36 -36
  3. package/packages/components/button/index.js +8 -8
  4. package/packages/components/button/src/button.vue +171 -171
  5. package/packages/components/cascader/index.js +7 -7
  6. package/packages/components/cascader/src/cascader.vue +247 -247
  7. package/packages/components/cascader/src/ct-cascader.vue +260 -260
  8. package/packages/components/cascader/src/index.js +50 -50
  9. package/packages/components/checkbox/index.js +7 -7
  10. package/packages/components/checkbox/src/checkbox.vue +51 -51
  11. package/packages/components/checkbox/src/index.js +12 -12
  12. package/packages/components/date-picker/index.js +8 -8
  13. package/packages/components/date-picker/src/clear-icon.vue +2 -2
  14. package/packages/components/date-picker/src/date-icon.vue +2 -2
  15. package/packages/components/date-picker/src/date-picker.vue +77 -77
  16. package/packages/components/date-picker/src/index.js +33 -33
  17. package/packages/components/dialog/index.js +8 -8
  18. package/packages/components/dialog/src/dialog.vue +103 -103
  19. package/packages/components/empty/index.js +8 -8
  20. package/packages/components/empty/src/empty.vue +97 -97
  21. package/packages/components/index.js +81 -81
  22. package/packages/components/input/index.js +7 -7
  23. package/packages/components/input/src/index.js +13 -13
  24. package/packages/components/input/src/input.vue +106 -106
  25. package/packages/components/input-range/index.js +7 -7
  26. package/packages/components/input-range/src/index.js +29 -29
  27. package/packages/components/input-range/src/input-range.vue +233 -233
  28. package/packages/components/loading/index.js +7 -7
  29. package/packages/components/loading/src/CtLoading.vue +74 -74
  30. package/packages/components/loading/src/beating.vue +71 -71
  31. package/packages/components/loading/src/progress.vue +120 -120
  32. package/packages/components/loading/src/spinner.vue +38 -38
  33. package/packages/components/menu/index.js +7 -7
  34. package/packages/components/menu/src/item.vue +46 -46
  35. package/packages/components/menu/src/link.vue +28 -28
  36. package/packages/components/menu/src/logo.vue +25 -25
  37. package/packages/components/menu/src/menu-item.vue +103 -103
  38. package/packages/components/menu/src/menu.vue +191 -191
  39. package/packages/components/menu/src/utils/index.js +4 -4
  40. package/packages/components/message/icon/ErrorIcon.vue +25 -25
  41. package/packages/components/message/icon/InfoIcon.vue +25 -25
  42. package/packages/components/message/icon/SuccessIcon.vue +25 -25
  43. package/packages/components/message/icon/WarningIcon.vue +25 -25
  44. package/packages/components/message/index.js +8 -8
  45. package/packages/components/message/src/method.js +54 -54
  46. package/packages/components/message-box/index.js +7 -7
  47. package/packages/components/message-box/src/message-box.vue +107 -107
  48. package/packages/components/page/index.js +7 -7
  49. package/packages/components/page/src/modules/DownloadButton.vue +21 -21
  50. package/packages/components/page/src/modules/TableTitle.vue +151 -151
  51. package/packages/components/page/src/page.vue +382 -382
  52. package/packages/components/pagination/index.js +7 -7
  53. package/packages/components/pagination/src/pagination.vue +36 -36
  54. package/packages/components/radio/index.js +7 -7
  55. package/packages/components/radio/src/index.js +12 -12
  56. package/packages/components/radio/src/radio.vue +47 -47
  57. package/packages/components/search-box/index.js +24 -24
  58. package/packages/components/search-box/src/index.js +29 -29
  59. package/packages/components/search-box/src/search-box.vue +250 -250
  60. package/packages/components/search-box/src/slot.vue +4 -4
  61. package/packages/components/select/index.js +7 -7
  62. package/packages/components/select/src/arrow-down.vue +2 -2
  63. package/packages/components/select/src/clear-icon.vue +2 -2
  64. package/packages/components/select/src/empty.vue +13 -13
  65. package/packages/components/select/src/index.js +51 -51
  66. package/packages/components/select/src/select.vue +380 -380
  67. package/packages/components/table/index.js +7 -7
  68. package/packages/components/table/src/TableSort.vue +179 -179
  69. package/packages/components/table/src/index.js +78 -70
  70. package/packages/components/table/src/table.vue +288 -287
  71. package/packages/components/tabs/index.js +7 -7
  72. package/packages/components/tabs/src/tabs.vue +225 -225
  73. package/packages/components/year-select/index.js +7 -7
  74. package/packages/components/year-select/src/index.js +44 -44
  75. package/packages/components/year-select/src/year-select.vue +273 -273
  76. package/packages/constants/aria.ts +17 -17
  77. package/packages/constants/index.ts +1 -1
  78. package/packages/directives/click-outside/index.ts +118 -118
  79. package/packages/echarts/bar/index.js +63 -63
  80. package/packages/echarts/base.js +99 -99
  81. package/packages/echarts/line/index.js +106 -106
  82. package/packages/hooks/index.js +5 -5
  83. package/packages/hooks/use-buried/index.js +46 -46
  84. package/packages/hooks/use-checked-all/index.js +37 -37
  85. package/packages/hooks/use-echarts/index.js +1 -1
  86. package/packages/hooks/use-echarts/use-bar/index.js +72 -72
  87. package/packages/hooks/use-echarts/use-line/index.js +88 -88
  88. package/packages/hooks/use-namespace/index.js +65 -65
  89. package/packages/hooks/use-search-component/index.js +28 -28
  90. package/packages/style/element.less +725 -725
  91. package/packages/style/index.js +2 -2
  92. package/packages/style/init.less +114 -114
  93. package/packages/utils/index.js +1 -1
  94. package/packages/utils/operate.js +77 -77
  95. package/packages/utils/types.js +35 -35
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
- # Vue 3 + Vite
2
-
3
- 青塔组件库的 Vue 3 版本,使用 Vite 构建。
1
+ # Vue 3 + Vite
2
+
3
+ 青塔组件库的 Vue 3 版本,使用 Vite 构建。
package/package.json CHANGED
@@ -1,36 +1,36 @@
1
- {
2
- "name": "ct-component-plus",
3
- "private": false,
4
- "version": "0.0.43",
5
- "type": "module",
6
- "main": "packages/components/index.js",
7
- "files": [
8
- "packages"
9
- ],
10
- "scripts": {
11
- "dev": "vite",
12
- "build": "vite build",
13
- "preview": "vite preview",
14
- "docs:dev": "vuepress dev docs",
15
- "docs:build": "vuepress build docs"
16
- },
17
- "dependencies": {
18
- "cingta-icon": "^2.1.6",
19
- "element-plus": "~2.3.4",
20
- "vue": "^3.2.47"
21
- },
22
- "devDependencies": {
23
- "@vitejs/plugin-vue": "^4.1.0",
24
- "@vuepress/bundler-webpack": "^2.0.0-beta.63",
25
- "axios": "^1.4.0",
26
- "cingta-animation": "^0.2.5",
27
- "clipboard-copy": "^4.0.1",
28
- "echarts": "^5.4.2",
29
- "less": "^4.1.3",
30
- "less-loader": "^11.1.0",
31
- "vite": "^4.3.2",
32
- "vue-echarts": "^6.5.5",
33
- "vuepress": "^2.0.0-beta.63",
34
- "vuepress-plugin-demo-container": "^0.2.0"
35
- }
36
- }
1
+ {
2
+ "name": "ct-component-plus",
3
+ "private": false,
4
+ "version": "0.0.45",
5
+ "type": "module",
6
+ "main": "packages/components/index.js",
7
+ "files": [
8
+ "packages"
9
+ ],
10
+ "scripts": {
11
+ "dev": "vite",
12
+ "build": "vite build",
13
+ "preview": "vite preview",
14
+ "docs:dev": "vuepress dev docs",
15
+ "docs:build": "vuepress build docs"
16
+ },
17
+ "dependencies": {
18
+ "cingta-icon": "^2.1.6",
19
+ "element-plus": "~2.3.4",
20
+ "vue": "^3.2.47"
21
+ },
22
+ "devDependencies": {
23
+ "@vitejs/plugin-vue": "^4.1.0",
24
+ "@vuepress/bundler-webpack": "^2.0.0-beta.63",
25
+ "axios": "^1.4.0",
26
+ "cingta-animation": "^0.2.5",
27
+ "clipboard-copy": "^4.0.1",
28
+ "echarts": "^5.4.2",
29
+ "less": "^4.1.3",
30
+ "less-loader": "^11.1.0",
31
+ "vite": "^4.3.2",
32
+ "vue-echarts": "^6.5.5",
33
+ "vuepress": "^2.0.0-beta.63",
34
+ "vuepress-plugin-demo-container": "^0.2.0"
35
+ }
36
+ }
@@ -1,9 +1,9 @@
1
- import CtButton from './src/button.vue';
2
-
3
- /* istanbul ignore next */
4
- CtButton.install = function (Vue) {
5
- // TODO 这里的组件名是这这里写死的,不是使用CtButton.name的形式,因为setup里面不可以直接什么组件的name属性,故而这里没有这个属性,后续可以考虑使用defineOptions(需要安装unplugin-vue-macros插件)
6
- Vue.component('CtButton', CtButton);
7
- };
8
-
1
+ import CtButton from './src/button.vue';
2
+
3
+ /* istanbul ignore next */
4
+ CtButton.install = function (Vue) {
5
+ // TODO 这里的组件名是这这里写死的,不是使用CtButton.name的形式,因为setup里面不可以直接什么组件的name属性,故而这里没有这个属性,后续可以考虑使用defineOptions(需要安装unplugin-vue-macros插件)
6
+ Vue.component('CtButton', CtButton);
7
+ };
8
+
9
9
  export default CtButton;
@@ -1,171 +1,171 @@
1
- <template>
2
- <component
3
- :is="tag"
4
- ref="_ref"
5
- :data-size="mapSize"
6
- :class="[
7
- ns.b(),
8
- ns.m(type),
9
- ns.m(mapSize),
10
- ns.is('disabled', disabled),
11
- ns.is('text', isText),
12
- ]"
13
- v-bind="$attrs"
14
- @click="handleClick">
15
- <span v-if="$slots.default" :class="[ns.e('text')]">
16
- <slot />
17
- </span>
18
- </component>
19
- </template>
20
-
21
- <script setup>
22
- import { computed, onMounted, ref } from "vue";
23
- import { useNamespace } from "../../../hooks";
24
- const props = defineProps({
25
- tag: {
26
- type: String,
27
- default: "button",
28
- },
29
- type: {
30
- type: String,
31
- default: "default",
32
- },
33
- size: String,
34
- disabled: Boolean,
35
- });
36
- const emit = defineEmits(["click"]);
37
- const ns = useNamespace("button");
38
- const _ref = ref(null);
39
- const isText = computed(() => props.type.includes("text"));
40
- const mapSize = computed(() => {
41
- if (props.size === "default") return "";
42
- return props.size || (isText.value ? "small" : "");
43
- });
44
- const handleClick = (evt) => {
45
- if (!props.disabled) {
46
- // 禁用状态,点击事件也禁用
47
- emit("click", evt);
48
- }
49
- };
50
- defineExpose({
51
- ref: _ref,
52
- });
53
- </script>
54
- <style lang="less">
55
- .ct-button {
56
- cursor: pointer;
57
- box-sizing: border-box;
58
- text-align: center;
59
- height: 32px;
60
- padding: 0 16px;
61
- border-radius: 3px;
62
- border: none;
63
- background-color: var(--ct-color-primary);
64
- color: #fff;
65
- --button-hover-opacity: 0.8;
66
- &.is-text {
67
- font-size: 15px;
68
- }
69
- &.is-disabled {
70
- cursor: not-allowed;
71
- }
72
- &--default {
73
- &:hover:not(.is-disabled) {
74
- opacity: var(--button-hover-opacity);
75
- }
76
- &.is-disabled {
77
- background: #a4afbb;
78
- }
79
- }
80
- &--plain {
81
- background-color: #f0f3f9;
82
- color: var(--ct-color-black);
83
- &:hover:not(.is-disabled) {
84
- background-color: var(--ct-color-primary-bg);
85
- }
86
- &.is-disabled {
87
- color: var(--ct-color-disabled);
88
- }
89
- }
90
- &--border {
91
- border: 1px solid var(--ct-color-primary);
92
- background-color: #fff;
93
- color: var(--ct-color-primary);
94
- &:hover:not(.is-disabled) {
95
- background-color: #f3f4ff;
96
- }
97
- &.is-disabled {
98
- border-color: var(--ct-color-disabled);
99
- color: var(--ct-color-disabled);
100
- }
101
- }
102
- &--border-plain {
103
- border: 1px solid var(--ct-border-color);
104
- background-color: #fff;
105
- color: var(--ct-color-black);
106
- &:hover:not(.is-disabled) {
107
- border-color: var(--ct-color-primary);
108
- color: var(--ct-color-primary);
109
- }
110
- &.is-disabled {
111
- border-color: var(--ct-color-disabled);
112
- color: var(--ct-color-disabled);
113
- }
114
- }
115
- &--text {
116
- background-color: transparent;
117
- color: var(--ct-color-primary);
118
- &:hover:not(.is-disabled) {
119
- opacity: var(--button-hover-opacity);
120
- }
121
- &.is-disabled {
122
- color: var(--ct-color-disabled);
123
- }
124
- }
125
- &--text-plain {
126
- background-color: transparent;
127
- color: var(--ct-color-black);
128
- &:hover:not(.is-disabled) {
129
- color: var(--ct-color-primary);
130
- }
131
- &.is-disabled {
132
- color: var(--ct-color-disabled);
133
- }
134
- }
135
- &--mini {
136
- height: 24px;
137
- padding: 0 12px;
138
- font-size: 12px;
139
- &.is-text {
140
- font-size: 13px;
141
- }
142
- }
143
- &--small {
144
- height: 28px;
145
- padding: 0 14px;
146
- font-size: 13px;
147
- &.is-text {
148
- font-size: 14px;
149
- }
150
- }
151
- &--default {
152
- font-size: 14px;
153
- }
154
- &--large {
155
- height: 36px;
156
- padding: 0 20px;
157
- font-size: 14px;
158
- &.is-text {
159
- font-size: 16px;
160
- }
161
- }
162
- &__text {
163
- display: inline-flex;
164
- align-items: center;
165
- }
166
-
167
- & + & {
168
- margin-left: 8px;
169
- }
170
- }
171
- </style>
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ ref="_ref"
5
+ :data-size="mapSize"
6
+ :class="[
7
+ ns.b(),
8
+ ns.m(type),
9
+ ns.m(mapSize),
10
+ ns.is('disabled', disabled),
11
+ ns.is('text', isText),
12
+ ]"
13
+ v-bind="$attrs"
14
+ @click="handleClick">
15
+ <span v-if="$slots.default" :class="[ns.e('text')]">
16
+ <slot />
17
+ </span>
18
+ </component>
19
+ </template>
20
+
21
+ <script setup>
22
+ import { computed, onMounted, ref } from "vue";
23
+ import { useNamespace } from "../../../hooks";
24
+ const props = defineProps({
25
+ tag: {
26
+ type: String,
27
+ default: "button",
28
+ },
29
+ type: {
30
+ type: String,
31
+ default: "default",
32
+ },
33
+ size: String,
34
+ disabled: Boolean,
35
+ });
36
+ const emit = defineEmits(["click"]);
37
+ const ns = useNamespace("button");
38
+ const _ref = ref(null);
39
+ const isText = computed(() => props.type.includes("text"));
40
+ const mapSize = computed(() => {
41
+ if (props.size === "default") return "";
42
+ return props.size || (isText.value ? "small" : "");
43
+ });
44
+ const handleClick = (evt) => {
45
+ if (!props.disabled) {
46
+ // 禁用状态,点击事件也禁用
47
+ emit("click", evt);
48
+ }
49
+ };
50
+ defineExpose({
51
+ ref: _ref,
52
+ });
53
+ </script>
54
+ <style lang="less">
55
+ .ct-button {
56
+ cursor: pointer;
57
+ box-sizing: border-box;
58
+ text-align: center;
59
+ height: 32px;
60
+ padding: 0 16px;
61
+ border-radius: 3px;
62
+ border: none;
63
+ background-color: var(--ct-color-primary);
64
+ color: #fff;
65
+ --button-hover-opacity: 0.8;
66
+ &.is-text {
67
+ font-size: 15px;
68
+ }
69
+ &.is-disabled {
70
+ cursor: not-allowed;
71
+ }
72
+ &--default {
73
+ &:hover:not(.is-disabled) {
74
+ opacity: var(--button-hover-opacity);
75
+ }
76
+ &.is-disabled {
77
+ background: #a4afbb;
78
+ }
79
+ }
80
+ &--plain {
81
+ background-color: #f0f3f9;
82
+ color: var(--ct-color-black);
83
+ &:hover:not(.is-disabled) {
84
+ background-color: var(--ct-color-primary-bg);
85
+ }
86
+ &.is-disabled {
87
+ color: var(--ct-color-disabled);
88
+ }
89
+ }
90
+ &--border {
91
+ border: 1px solid var(--ct-color-primary);
92
+ background-color: #fff;
93
+ color: var(--ct-color-primary);
94
+ &:hover:not(.is-disabled) {
95
+ background-color: #f3f4ff;
96
+ }
97
+ &.is-disabled {
98
+ border-color: var(--ct-color-disabled);
99
+ color: var(--ct-color-disabled);
100
+ }
101
+ }
102
+ &--border-plain {
103
+ border: 1px solid var(--ct-border-color);
104
+ background-color: #fff;
105
+ color: var(--ct-color-black);
106
+ &:hover:not(.is-disabled) {
107
+ border-color: var(--ct-color-primary);
108
+ color: var(--ct-color-primary);
109
+ }
110
+ &.is-disabled {
111
+ border-color: var(--ct-color-disabled);
112
+ color: var(--ct-color-disabled);
113
+ }
114
+ }
115
+ &--text {
116
+ background-color: transparent;
117
+ color: var(--ct-color-primary);
118
+ &:hover:not(.is-disabled) {
119
+ opacity: var(--button-hover-opacity);
120
+ }
121
+ &.is-disabled {
122
+ color: var(--ct-color-disabled);
123
+ }
124
+ }
125
+ &--text-plain {
126
+ background-color: transparent;
127
+ color: var(--ct-color-black);
128
+ &:hover:not(.is-disabled) {
129
+ color: var(--ct-color-primary);
130
+ }
131
+ &.is-disabled {
132
+ color: var(--ct-color-disabled);
133
+ }
134
+ }
135
+ &--mini {
136
+ height: 24px;
137
+ padding: 0 12px;
138
+ font-size: 12px;
139
+ &.is-text {
140
+ font-size: 13px;
141
+ }
142
+ }
143
+ &--small {
144
+ height: 28px;
145
+ padding: 0 14px;
146
+ font-size: 13px;
147
+ &.is-text {
148
+ font-size: 14px;
149
+ }
150
+ }
151
+ &--default {
152
+ font-size: 14px;
153
+ }
154
+ &--large {
155
+ height: 36px;
156
+ padding: 0 20px;
157
+ font-size: 14px;
158
+ &.is-text {
159
+ font-size: 16px;
160
+ }
161
+ }
162
+ &__text {
163
+ display: inline-flex;
164
+ align-items: center;
165
+ }
166
+
167
+ & + & {
168
+ margin-left: 8px;
169
+ }
170
+ }
171
+ </style>
@@ -1,8 +1,8 @@
1
- import CtCascader from './src/cascader.vue';
2
-
3
- /* istanbul ignore next */
4
- CtCascader.install = function (Vue) {
5
- Vue.component('CtCascader', CtCascader);
6
- };
7
-
1
+ import CtCascader from './src/cascader.vue';
2
+
3
+ /* istanbul ignore next */
4
+ CtCascader.install = function (Vue) {
5
+ Vue.component('CtCascader', CtCascader);
6
+ };
7
+
8
8
  export default CtCascader;