From b25c11047181bb426fbdc0749d8e43f534e35118 Mon Sep 17 00:00:00 2001
From: Bang <15622356989@163.com>
Date: Fri, 22 Sep 2023 01:03:21 +0800
Subject: [PATCH 1/6] =?UTF-8?q?fix:=20collapse&menu=E5=B1=95=E5=BC=80?=
=?UTF-8?q?=E6=97=B6=E9=AB=98=E5=BA=A6=E8=AE=BE=E7=BD=AE=E4=B8=BAauto?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/opendesign/src/collapse/OCollapseItem.vue | 5 ++++-
packages/opendesign/src/menu/OSubMenu.vue | 5 ++++-
packages/opendesign/src/menu/style/style.scss | 5 ++++-
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/packages/opendesign/src/collapse/OCollapseItem.vue b/packages/opendesign/src/collapse/OCollapseItem.vue
index 2b6a6a3f..b7283adc 100644
--- a/packages/opendesign/src/collapse/OCollapseItem.vue
+++ b/packages/opendesign/src/collapse/OCollapseItem.vue
@@ -58,6 +58,9 @@ const onBeforeEnter = (el: Element) => {
const onEnter = (el: Element) => {
(el as HTMLUListElement).style.height = `${el.scrollHeight}px`;
};
+const onAfterEnter = (el: Element) => {
+ (el as HTMLUListElement).style.height = 'auto';
+};
const onBeforeLeave = (el: Element) => {
(el as HTMLUListElement).style.height = `${(el as HTMLUListElement).offsetHeight}px`;
};
@@ -76,7 +79,7 @@ const onLeave = (el: Element) => {
{{ props.title }}
-
+
diff --git a/packages/opendesign/src/menu/OSubMenu.vue b/packages/opendesign/src/menu/OSubMenu.vue
index 9e246648..b4f28e5b 100644
--- a/packages/opendesign/src/menu/OSubMenu.vue
+++ b/packages/opendesign/src/menu/OSubMenu.vue
@@ -98,6 +98,9 @@ const onBeforeEnter = (el: Element) => {
const onEnter = (el: Element) => {
(el as HTMLUListElement).style.height = `${el.scrollHeight}px`;
};
+const onAfterEnter = (el: Element) => {
+ (el as HTMLUListElement).style.height = 'auto';
+};
const onBeforeLeave = (el: Element) => {
(el as HTMLUListElement).style.height = `${(el as HTMLUListElement).offsetHeight}px`;
};
@@ -123,7 +126,7 @@ const onLeave = (el: Element) => {
-
+
diff --git a/packages/opendesign/src/menu/style/style.scss b/packages/opendesign/src/menu/style/style.scss
index 77443491..06282d06 100644
--- a/packages/opendesign/src/menu/style/style.scss
+++ b/packages/opendesign/src/menu/style/style.scss
@@ -25,7 +25,6 @@
& > .o-sub-menu-title {
font-weight: 500;
color: var(--sub-menu-color-selected);
- background-color: var(--sub-menu-bg-color-selected);
.o-sub-menu-title-icon {
color: var(--sub-menu-icon-color-selected);
@@ -33,6 +32,10 @@
}
}
+.o-sub-menu-selected {
+ background-color: var(--sub-menu-bg-color-selected);
+}
+
.o-sub-menu-associated-selected {
& > .o-sub-menu-title {
font-weight: 500;
--
Gitee
From c56916dd5e7974e6ce04b86669a71fc5cbd582a8 Mon Sep 17 00:00:00 2001
From: Bang <15622356989@163.com>
Date: Fri, 22 Sep 2023 01:04:34 +0800
Subject: [PATCH 2/6] =?UTF-8?q?fix:=20toggle=E6=94=AF=E6=8C=81=E5=8D=95?=
=?UTF-8?q?=E7=8B=AC=E4=BD=BF=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../opendesign/src/checkbox/OCheckbox.vue | 8 +++-
packages/opendesign/src/checkbox/provide.ts | 6 +++
.../src/dropdown/__demo__/DropdownBasic.vue | 4 +-
packages/opendesign/src/radio/ORadio.vue | 8 +++-
packages/opendesign/src/radio/provide.ts | 6 +++
packages/opendesign/src/toggle/OToggle.vue | 34 ++++++++------
.../src/toggle/__demo__/TheIndex.vue | 10 +++-
.../src/toggle/__demo__/ToggleBasic.vue | 13 ------
.../src/toggle/__demo__/ToggleCheckbox.vue | 33 +++++++++++++
.../src/toggle/__demo__/ToggleMinAndMax.vue | 46 +++++++++++++++++++
.../src/toggle/__demo__/ToggleOnly.vue | 14 ++++++
.../src/toggle/__demo__/ToggleRadio.vue | 37 +++++++++++++++
packages/opendesign/src/toggle/style/var.scss | 6 +--
packages/portal-ak/src/ak/theme/toggle.scss | 3 --
14 files changed, 191 insertions(+), 37 deletions(-)
create mode 100644 packages/opendesign/src/checkbox/provide.ts
create mode 100644 packages/opendesign/src/radio/provide.ts
delete mode 100644 packages/opendesign/src/toggle/__demo__/ToggleBasic.vue
create mode 100644 packages/opendesign/src/toggle/__demo__/ToggleCheckbox.vue
create mode 100644 packages/opendesign/src/toggle/__demo__/ToggleMinAndMax.vue
create mode 100644 packages/opendesign/src/toggle/__demo__/ToggleOnly.vue
create mode 100644 packages/opendesign/src/toggle/__demo__/ToggleRadio.vue
diff --git a/packages/opendesign/src/checkbox/OCheckbox.vue b/packages/opendesign/src/checkbox/OCheckbox.vue
index 3c03d9c7..7428ae24 100644
--- a/packages/opendesign/src/checkbox/OCheckbox.vue
+++ b/packages/opendesign/src/checkbox/OCheckbox.vue
@@ -1,5 +1,6 @@
diff --git a/packages/opendesign/src/checkbox/provide.ts b/packages/opendesign/src/checkbox/provide.ts
new file mode 100644
index 00000000..9fd88ff4
--- /dev/null
+++ b/packages/opendesign/src/checkbox/provide.ts
@@ -0,0 +1,6 @@
+import { ComputedRef, InjectionKey, Ref } from 'vue';
+
+export const checkboxInjectKey: InjectionKey<{
+ checked: ComputedRef;
+ disabled: ComputedRef;
+}> = Symbol('provide-checkbox');
diff --git a/packages/opendesign/src/dropdown/__demo__/DropdownBasic.vue b/packages/opendesign/src/dropdown/__demo__/DropdownBasic.vue
index 3227b4dc..5a035350 100644
--- a/packages/opendesign/src/dropdown/__demo__/DropdownBasic.vue
+++ b/packages/opendesign/src/dropdown/__demo__/DropdownBasic.vue
@@ -18,7 +18,9 @@ const options = [
Click Me
-
+
+ {{ item.label }}
+
diff --git a/packages/opendesign/src/radio/ORadio.vue b/packages/opendesign/src/radio/ORadio.vue
index 2372e2d1..71cfe773 100644
--- a/packages/opendesign/src/radio/ORadio.vue
+++ b/packages/opendesign/src/radio/ORadio.vue
@@ -1,5 +1,6 @@
diff --git a/packages/opendesign/src/radio/provide.ts b/packages/opendesign/src/radio/provide.ts
new file mode 100644
index 00000000..e5bd66fd
--- /dev/null
+++ b/packages/opendesign/src/radio/provide.ts
@@ -0,0 +1,6 @@
+import { ComputedRef, InjectionKey, Ref } from 'vue';
+
+export const radioInjectKey: InjectionKey<{
+ checked: ComputedRef;
+ disabled: ComputedRef;
+}> = Symbol('provide-radio');
diff --git a/packages/opendesign/src/toggle/OToggle.vue b/packages/opendesign/src/toggle/OToggle.vue
index ad2b2681..9386bb82 100644
--- a/packages/opendesign/src/toggle/OToggle.vue
+++ b/packages/opendesign/src/toggle/OToggle.vue
@@ -1,8 +1,13 @@
@@ -44,6 +51,7 @@ watch(
'o-toggle-checked': isChecked,
},
]"
+ @click="onClick"
>
diff --git a/packages/opendesign/src/toggle/__demo__/TheIndex.vue b/packages/opendesign/src/toggle/__demo__/TheIndex.vue
index d38f2a41..47f5b428 100644
--- a/packages/opendesign/src/toggle/__demo__/TheIndex.vue
+++ b/packages/opendesign/src/toggle/__demo__/TheIndex.vue
@@ -1,11 +1,17 @@
-
+
+
+
+
diff --git a/packages/opendesign/src/toggle/__demo__/ToggleBasic.vue b/packages/opendesign/src/toggle/__demo__/ToggleBasic.vue
deleted file mode 100644
index a4b37722..00000000
--- a/packages/opendesign/src/toggle/__demo__/ToggleBasic.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- 基础用法
-
- 筛选条件1
- 筛选条件2
- 筛选条件3
- 筛选条件
-
-
diff --git a/packages/opendesign/src/toggle/__demo__/ToggleCheckbox.vue b/packages/opendesign/src/toggle/__demo__/ToggleCheckbox.vue
new file mode 100644
index 00000000..2f06e389
--- /dev/null
+++ b/packages/opendesign/src/toggle/__demo__/ToggleCheckbox.vue
@@ -0,0 +1,33 @@
+
+
+
+ 多选
+
+
+
+
+ 筛选条件1
+
+
+
+
+ 筛选条件2
+
+
+
+
+ 筛选条件3
+
+
+
+
+ 筛选条件4
+
+
+
+
+
diff --git a/packages/opendesign/src/toggle/__demo__/ToggleMinAndMax.vue b/packages/opendesign/src/toggle/__demo__/ToggleMinAndMax.vue
new file mode 100644
index 00000000..ae986103
--- /dev/null
+++ b/packages/opendesign/src/toggle/__demo__/ToggleMinAndMax.vue
@@ -0,0 +1,46 @@
+
+
+
+ 最少选择1个,最多选择3个
+
+
+
+
+ 筛选条件1
+
+
+
+
+ 筛选条件2
+
+
+
+
+ 筛选条件3
+
+
+
+
+ 筛选条件4
+
+
+
+
+ 筛选条件5
+
+
+
+
+
+
+
diff --git a/packages/opendesign/src/toggle/__demo__/ToggleOnly.vue b/packages/opendesign/src/toggle/__demo__/ToggleOnly.vue
new file mode 100644
index 00000000..2b83d65c
--- /dev/null
+++ b/packages/opendesign/src/toggle/__demo__/ToggleOnly.vue
@@ -0,0 +1,14 @@
+
+
+
+ 单独使用
+
+
diff --git a/packages/opendesign/src/toggle/__demo__/ToggleRadio.vue b/packages/opendesign/src/toggle/__demo__/ToggleRadio.vue
new file mode 100644
index 00000000..c88b0740
--- /dev/null
+++ b/packages/opendesign/src/toggle/__demo__/ToggleRadio.vue
@@ -0,0 +1,37 @@
+
+
+
+ 单选
+
+
+
+
+ 筛选条件1
+
+
+
+
+ 筛选条件2
+
+
+
+
+ 筛选条件3
+
+
+
+
+ 筛选条件4
+
+
+
+
+
diff --git a/packages/opendesign/src/toggle/style/var.scss b/packages/opendesign/src/toggle/style/var.scss
index 5841c7c1..194b46a0 100644
--- a/packages/opendesign/src/toggle/style/var.scss
+++ b/packages/opendesign/src/toggle/style/var.scss
@@ -11,15 +11,15 @@
--toggle-padding: 0 15px;
- --toggle-color: var(--o-color-info2);
+ --toggle-color: var(--o-color-info1);
--toggle-color-hover: var(--o-color-info1);
--toggle-color-active: var(--o-color-info1);
--toggle-color-disabled: var(--o-color-info4);
- --toggle-bg-color: var(--o-color-fill1);
+ --toggle-bg-color: var(--o-color-control2-light);
--toggle-bg-color-hover: var(--o-color-control2-light);
--toggle-bg-color-active: var(--o-color-control3-light);
- --toggle-bg-color-disabled: var(--o-color-control4-light);
+ --toggle-bg-color-disabled: transparent;
--toggle-bd-color: var(--o-color-fill1);
--toggle-bd-color-hover: transparent;
diff --git a/packages/portal-ak/src/ak/theme/toggle.scss b/packages/portal-ak/src/ak/theme/toggle.scss
index 234f146b..0eacefcf 100644
--- a/packages/portal-ak/src/ak/theme/toggle.scss
+++ b/packages/portal-ak/src/ak/theme/toggle.scss
@@ -2,10 +2,7 @@
.o-toggle {
--toggle-bg-color: var(--o-color-fill1);
- --toggle-bg-color-hover: var(--o-color-fill3);
-
--toggle-bd-color: var(--o-color-fill1);
- --toggle-bd-color-hover: var(--o-color-fill3);
}
@include respond-to('pad') {
--
Gitee
From 91598959a8752dc321da70dbcd51a685f569d565 Mon Sep 17 00:00:00 2001
From: Bang <15622356989@163.com>
Date: Fri, 22 Sep 2023 01:05:34 +0800
Subject: [PATCH 3/6] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3dialog=E7=A7=BB?=
=?UTF-8?q?=E5=8A=A8=E7=AB=AF=E5=B1=85=E4=B8=AD=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/opendesign/src/dialog/style/media.scss | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/packages/opendesign/src/dialog/style/media.scss b/packages/opendesign/src/dialog/style/media.scss
index ff7efdb7..40f5b9f4 100644
--- a/packages/opendesign/src/dialog/style/media.scss
+++ b/packages/opendesign/src/dialog/style/media.scss
@@ -1,10 +1,13 @@
@use '../../_styles/mixin.scss' as *;
.o-dialog-responsive {
+ @include respond-to('>phone') {
+ --layer-origin: center;
+ }
@include respond-to('<=pad') {
--layer-position: fixed;
}
- @include respond-to('phone-v') {
+ @include respond-to('phone') {
--layer-align: flex-end;
--dlg-width: calc(100vw - 48px);
--layer-origin: center bottom;
@@ -13,9 +16,6 @@
flex: 1;
}
}
- @include respond-to('>phone') {
- --layer-origin: center;
- }
}
.o-dialog {
--
Gitee
From f4141b12166f6f25829ba1ed831b402a0241dac0 Mon Sep 17 00:00:00 2001
From: Bang <15622356989@163.com>
Date: Fri, 22 Sep 2023 01:06:13 +0800
Subject: [PATCH 4/6] =?UTF-8?q?fix:=20=E5=8F=96=E6=B6=88dropdown=E5=86=85?=
=?UTF-8?q?=E5=AE=B9=E5=B7=A6=E5=8F=B3=E8=BE=B9=E8=B7=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/opendesign/src/dropdown/style/index.scss | 2 +-
packages/opendesign/src/dropdown/style/var.scss | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/packages/opendesign/src/dropdown/style/index.scss b/packages/opendesign/src/dropdown/style/index.scss
index e08907a9..6eab681b 100644
--- a/packages/opendesign/src/dropdown/style/index.scss
+++ b/packages/opendesign/src/dropdown/style/index.scss
@@ -14,7 +14,7 @@
.o-dropdown-item {
display: flex;
align-items: center;
- justify-content: center;
+ justify-content: var(--dropdown-item-justify);
padding: var(--dropdown-item-padding);
background-color: var(--dropdown-item-bg-color);
font-size: var(--dropdown-item-text-size);
diff --git a/packages/opendesign/src/dropdown/style/var.scss b/packages/opendesign/src/dropdown/style/var.scss
index fd619da7..069b182b 100644
--- a/packages/opendesign/src/dropdown/style/var.scss
+++ b/packages/opendesign/src/dropdown/style/var.scss
@@ -18,7 +18,9 @@
--dropdown-item-text-size: var(--o-font_size-text1);
--dropdown-item-text-height: var(--o-line_height-text1);
- --dropdown-item-padding: 7px 12px;
+ --dropdown-item-justify: center;
+
+ --dropdown-item-padding: 7px 0px;
--dropdown-item-gap: 2px;
--dropdown-item-radius: var(--o-radius_control-s);
}
--
Gitee
From a136fcb48b221dd2611c9febbb6b312dda63ae3e Mon Sep 17 00:00:00 2001
From: Bang <15622356989@163.com>
Date: Fri, 22 Sep 2023 01:07:03 +0800
Subject: [PATCH 5/6] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3cascader=E6=BB=9A?=
=?UTF-8?q?=E5=8A=A8=E6=9D=A1=E9=87=8D=E5=8F=A0=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/opendesign/src/cascader/OCascader.vue | 16 +++++++++++++++-
.../opendesign/src/cascader/style/style.scss | 7 ++++++-
packages/opendesign/src/cascader/style/var.scss | 4 ++++
packages/opendesign/src/cascader/types.ts | 6 ++++++
4 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/packages/opendesign/src/cascader/OCascader.vue b/packages/opendesign/src/cascader/OCascader.vue
index cbe9e9bd..ebd66fcb 100644
--- a/packages/opendesign/src/cascader/OCascader.vue
+++ b/packages/opendesign/src/cascader/OCascader.vue
@@ -1,8 +1,12 @@
@@ -28,6 +41,7 @@ const props = defineProps(cascaderProps);
option-width-mode="auto"
:unmount-on-hide="props.unmountOnHide"
:transition="props.transition"
+ :option-wrap-class="wrapClass"
>
diff --git a/packages/opendesign/src/cascader/style/style.scss b/packages/opendesign/src/cascader/style/style.scss
index 1b38647e..43b47d28 100644
--- a/packages/opendesign/src/cascader/style/style.scss
+++ b/packages/opendesign/src/cascader/style/style.scss
@@ -1,10 +1,14 @@
@use '../../_styles/mixin.scss' as *;
@use './var.scss';
+.o-cascader {
+ height: var(--cascader-height);
+}
+
.o-cascader-panel {
position: relative;
display: inline-flex;
- height: 200px;
+ height: calc(var(--cascader-height) - 2 * var(--scroller-padding));
}
.o-cascader-options {
@@ -13,6 +17,7 @@
padding: 0 calc(var(--cascader-options-gap) / 2);
min-width: 144px;
max-width: 192px;
+ height: 100%;
overflow-y: auto;
& + .o-cascader-options {
diff --git a/packages/opendesign/src/cascader/style/var.scss b/packages/opendesign/src/cascader/style/var.scss
index e92e0de1..c4eabe54 100644
--- a/packages/opendesign/src/cascader/style/var.scss
+++ b/packages/opendesign/src/cascader/style/var.scss
@@ -1,3 +1,7 @@
+.o-cascader {
+ --cascader-height: 200px;
+}
+
.o-cascader-options {
--cascader-options-bd-clor: var(--o-color-control1-light);
--cascader-options-gap: 8px;
diff --git a/packages/opendesign/src/cascader/types.ts b/packages/opendesign/src/cascader/types.ts
index 3211551f..a3388996 100644
--- a/packages/opendesign/src/cascader/types.ts
+++ b/packages/opendesign/src/cascader/types.ts
@@ -68,6 +68,12 @@ export const cascaderProps = {
type: String as PropType,
default: 'bl',
},
+ /**
+ * 下拉容器自定义类
+ */
+ optionWrapClass: {
+ type: [String, Array] as PropType,
+ },
/**
* 是否在结束选择时,卸载下拉选项
*/
--
Gitee
From 02446455e5495a10571dc11b8a63442f75fe21a3 Mon Sep 17 00:00:00 2001
From: Bang <15622356989@163.com>
Date: Fri, 22 Sep 2023 09:57:06 +0800
Subject: [PATCH 6/6] =?UTF-8?q?fix:=20collapse&menu=20onAfterEnter?=
=?UTF-8?q?=E5=87=BD=E6=95=B0=E5=A2=9E=E5=8A=A0=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/opendesign/src/collapse/OCollapseItem.vue | 1 +
packages/opendesign/src/menu/OSubMenu.vue | 1 +
2 files changed, 2 insertions(+)
diff --git a/packages/opendesign/src/collapse/OCollapseItem.vue b/packages/opendesign/src/collapse/OCollapseItem.vue
index b7283adc..904cf5b2 100644
--- a/packages/opendesign/src/collapse/OCollapseItem.vue
+++ b/packages/opendesign/src/collapse/OCollapseItem.vue
@@ -58,6 +58,7 @@ const onBeforeEnter = (el: Element) => {
const onEnter = (el: Element) => {
(el as HTMLUListElement).style.height = `${el.scrollHeight}px`;
};
+// 进入动画完成后高度设置为auto,支持嵌套子菜单展开
const onAfterEnter = (el: Element) => {
(el as HTMLUListElement).style.height = 'auto';
};
diff --git a/packages/opendesign/src/menu/OSubMenu.vue b/packages/opendesign/src/menu/OSubMenu.vue
index b4f28e5b..d8b99886 100644
--- a/packages/opendesign/src/menu/OSubMenu.vue
+++ b/packages/opendesign/src/menu/OSubMenu.vue
@@ -98,6 +98,7 @@ const onBeforeEnter = (el: Element) => {
const onEnter = (el: Element) => {
(el as HTMLUListElement).style.height = `${el.scrollHeight}px`;
};
+// 进入动画完成后高度设置为auto,支持嵌套子菜单展开
const onAfterEnter = (el: Element) => {
(el as HTMLUListElement).style.height = 'auto';
};
--
Gitee