-
- {{ prefix: () => {currentPageSize.value} }}
-
+
+ {currentPageSize.value}
+
),
menu: () => (
diff --git a/packages/devui-vue/devui/pagination/src/pagination.scss b/packages/devui-vue/devui/pagination/src/pagination.scss
index aead5d84ef..3f57b68172 100644
--- a/packages/devui-vue/devui/pagination/src/pagination.scss
+++ b/packages/devui-vue/devui/pagination/src/pagination.scss
@@ -26,6 +26,18 @@
box-sizing: border-box;
cursor: pointer;
+ span {
+ margin-right: 8px;
+ }
+
+ svg {
+ transition: transform $devui-animation-ease-in-out-smooth $devui-animation-duration-slow;
+
+ path {
+ fill: $devui-text;
+ }
+ }
+
&:hover {
border-color: $devui-form-control-line-hover;
}
@@ -42,6 +54,12 @@
height: 46px;
}
+ &.#{$devui-prefix}-pagination__size--open {
+ svg {
+ transform: rotate(180deg);
+ }
+ }
+
& > .#{$devui-prefix}-icon__container {
display: flex;
align-items: center;
@@ -389,8 +407,7 @@
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
- transition:
- color $devui-animation-duration-fast $devui-animation-ease-in-out-smooth,
+ transition: color $devui-animation-duration-fast $devui-animation-ease-in-out-smooth,
background-color $devui-animation-duration-fast $devui-animation-ease-in-out-smooth;
&:hover:not(.active) {
diff --git a/packages/devui-vue/devui/search/src/components/search-close-icon.tsx b/packages/devui-vue/devui/search/src/components/search-close-icon.tsx
deleted file mode 100644
index deca24bd6e..0000000000
--- a/packages/devui-vue/devui/search/src/components/search-close-icon.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-const SearchCloseIcon = (): JSX.Element => (
-
-);
-export default SearchCloseIcon;
diff --git a/packages/devui-vue/devui/search/src/components/search-icon.tsx b/packages/devui-vue/devui/search/src/components/search-icon.tsx
deleted file mode 100644
index 4d8e5de139..0000000000
--- a/packages/devui-vue/devui/search/src/components/search-icon.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-const SearchIcon = (): JSX.Element => (
-
-);
-export default SearchIcon;
diff --git a/packages/devui-vue/devui/search/src/search.scss b/packages/devui-vue/devui/search/src/search.scss
index ef7a46d40e..7467f35a89 100644
--- a/packages/devui-vue/devui/search/src/search.scss
+++ b/packages/devui-vue/devui/search/src/search.scss
@@ -51,16 +51,32 @@
& svg {
path {
- fill: $devui-icon-fill;
+ fill: $devui-icon-text;
}
- @include size($devui-font-size-md, $devui-font-size-md);
}
}
&__clear {
position: absolute;
- right: $devui-size-md;
+ right: 36px;
cursor: pointer;
+ height: 100%;
+ font-size: 10px;
+ @include size(30px, 100%);
+ @include flex;
+
+ & > svg {
+ path {
+ fill: $devui-shape-icon-fill;
+ transition: all $devui-animation-ease-in-out-smooth $devui-animation-duration-slow;
+ }
+
+ &:hover {
+ path {
+ fill: $devui-shape-icon-fill-hover;
+ }
+ }
+ }
&::after {
content: '';
@@ -89,15 +105,28 @@
font-size: $devui-font-size-sm;
&.#{$devui-prefix}-input--sm {
- padding: 0 48px 0 6px;
+ font-size: $devui-font-size;
+ padding-right: 60px;
}
}
- .#{$devui-prefix}-search__icon, .#{$devui-prefix}-search__clear {
- @include size($devui-size-sm, $devui-size-sm);
+ .#{$devui-prefix}-search__icon {
+ @include size(34px, 26px);
svg {
- @include size($devui-font-size-sm, $devui-font-size-sm);
+ width: 14px;
+ height: 14px;
+ }
+ }
+
+ .#{$devui-prefix}-search__clear {
+ @include size(26px, 100%);
+
+ right: 34px;
+
+ & > svg {
+ width: 14px;
+ height: 14px;
}
}
@@ -116,11 +145,13 @@
}
}
- .#{$devui-prefix}-search__icon, .#{$devui-prefix}-search__clear {
+ .#{$devui-prefix}-search__icon,
+ .#{$devui-prefix}-search__clear {
@include size($devui-size-lg, $devui-size-lg);
svg {
- @include size($devui-font-size-lg, $devui-font-size-lg);
+ width: 18px;
+ height: 18px;
}
}
diff --git a/packages/devui-vue/devui/search/src/search.tsx b/packages/devui-vue/devui/search/src/search.tsx
index af73ad9f4f..3b6570ae86 100644
--- a/packages/devui-vue/devui/search/src/search.tsx
+++ b/packages/devui-vue/devui/search/src/search.tsx
@@ -7,8 +7,7 @@ import DInput from '../../input/src/input';
import { useNamespace } from '../../shared/hooks/use-namespace';
import './search.scss';
import { createI18nTranslate } from '../../locale/create';
-import SearchCloseIcon from './components/search-close-icon';
-import SearchIcon from './components/search-icon';
+import { SearchIcon, InputClearIcon } from '../../svg-icons';
export default defineComponent({
name: 'DSearch',
@@ -20,7 +19,7 @@ export default defineComponent({
const ns = useNamespace('search');
const isFocus = ref(false);
- const {rootClass, searchSize} = useSearchClass(props, isFocus);
+ const { rootClass, searchSize } = useSearchClass(props, isFocus);
const { keywords, clearIconShow, onClearHandle } = keywordsHandles(ctx, props);
const { onInputKeydown, onClickHandle, useEmitKeyword } = keydownHandles(ctx, keywords, props);
@@ -63,7 +62,7 @@ export default defineComponent({
{clearIconShow.value && (
-
+
)}
{props.iconPosition === 'right' && (
diff --git a/packages/devui-vue/devui/select/src/components/select-arrow-icon.tsx b/packages/devui-vue/devui/select/src/components/select-arrow-icon.tsx
deleted file mode 100644
index 280be2bd1e..0000000000
--- a/packages/devui-vue/devui/select/src/components/select-arrow-icon.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-const SelectArrowIcon = (): JSX.Element => (
-
-);
-export default SelectArrowIcon;
diff --git a/packages/devui-vue/devui/select/src/components/select-content.tsx b/packages/devui-vue/devui/select/src/components/select-content.tsx
index d3c90b5b40..2e05aab24e 100644
--- a/packages/devui-vue/devui/select/src/components/select-content.tsx
+++ b/packages/devui-vue/devui/select/src/components/select-content.tsx
@@ -1,6 +1,5 @@
import { defineComponent, inject, computed, withModifiers } from 'vue';
-import AlertCloseIcon from '../../../alert/src/components/alert-close-icon';
-import SelectArrowIcon from './select-arrow-icon';
+import { SelectArrowIcon, InputClearIcon } from '../../../svg-icons';
import { Tag, SizeType } from '../../../tag';
import { Popover } from '../../../popover';
import { useNamespace } from '../../../shared/hooks/use-namespace';
@@ -121,7 +120,7 @@ export default defineComponent({
/>
)}
-
+
diff --git a/packages/devui-vue/devui/select/src/select.scss b/packages/devui-vue/devui/select/src/select.scss
index 72393681e1..cc9ddb81c5 100644
--- a/packages/devui-vue/devui/select/src/select.scss
+++ b/packages/devui-vue/devui/select/src/select.scss
@@ -227,8 +227,17 @@ $select-item-min-height: 36px;
.#{$devui-prefix}-select__clear {
display: none;
- svg path {
- fill: $devui-text-weak;
+ svg {
+ path {
+ fill: $devui-shape-icon-fill;
+ transition: all $devui-animation-ease-in-out-smooth $devui-animation-duration-slow;
+ }
+
+ &:hover {
+ path {
+ fill: $devui-shape-icon-fill-hover;
+ }
+ }
}
}
diff --git a/packages/devui-vue/devui/svg-icons/index.tsx b/packages/devui-vue/devui/svg-icons/index.tsx
new file mode 100644
index 0000000000..33657bdf88
--- /dev/null
+++ b/packages/devui-vue/devui/svg-icons/index.tsx
@@ -0,0 +1,56 @@
+export function SelectArrowIcon(): JSX.Element {
+ return (
+
+ );
+}
+
+export function SearchIcon(): JSX.Element {
+ return (
+
+ );
+}
+
+export function InputClearIcon(): JSX.Element {
+ return (
+
+ );
+}
diff --git a/packages/devui-vue/package.json b/packages/devui-vue/package.json
index 582e89fd70..c2aa3ab74c 100644
--- a/packages/devui-vue/package.json
+++ b/packages/devui-vue/package.json
@@ -1,6 +1,6 @@
{
"name": "vue-devui",
- "version": "1.6.4",
+ "version": "1.6.4-alpha.0",
"license": "MIT",
"description": "DevUI components based on Vite and Vue3",
"keywords": [