plain-design 1.0.0-beta.33 → 1.0.0-beta.34
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/plain-design.commonjs.min.js +18 -18
- package/dist/plain-design.min.css +1 -1
- package/dist/plain-design.min.js +18 -18
- package/dist/report.html +38 -38
- package/package.json +1 -1
- package/src/packages/components/Dropdown/dropdown.public.scss +10 -0
- package/src/packages/components/Dropdown/dropdown.utils.tsx +3 -1
- package/src/packages/components/Dropdown/index.tsx +2 -2
- package/src/packages/components/DropdownSeparator/index.tsx +8 -0
- package/src/packages/entry.tsx +1 -0
- package/src/pages/index/components/normal/DemoDropdown.tsx +3 -2
package/package.json
CHANGED
@@ -22,6 +22,16 @@
|
|
22
22
|
transform-origin: left;
|
23
23
|
font-weight: 700;
|
24
24
|
}
|
25
|
+
|
26
|
+
&.dropdown-panel-size-equal {
|
27
|
+
width: 100%;
|
28
|
+
}
|
29
|
+
|
30
|
+
.dropdown-separator {
|
31
|
+
height: 1px;
|
32
|
+
background-color: plv(border-color);
|
33
|
+
margin: 2px 0;
|
34
|
+
}
|
25
35
|
}
|
26
36
|
|
27
37
|
&.dropdown-panel-align-center {
|
@@ -89,17 +89,19 @@ export function renderDropdownPanel(
|
|
89
89
|
attrs,
|
90
90
|
externalClass,
|
91
91
|
content,
|
92
|
+
sizeEqual,
|
92
93
|
}: {
|
93
94
|
size: string,
|
94
95
|
align?: string,
|
95
96
|
attrs?: any,
|
96
97
|
externalClass?: any,
|
97
98
|
content: RenderNode,
|
99
|
+
sizeEqual?: boolean,
|
98
100
|
}
|
99
101
|
) {
|
100
102
|
return (
|
101
103
|
<div {...mergeAttrs({
|
102
|
-
class: [externalClass, getComponentCls('dropdown-panel'), `dropdown-panel-size-${size}`, `dropdown-panel-align-${align || DropdownOptionAlign.start}
|
104
|
+
class: [externalClass, getComponentCls('dropdown-panel'), `dropdown-panel-size-${size}`, `dropdown-panel-align-${align || DropdownOptionAlign.start}`, sizeEqual ? 'dropdown-panel-size-equal' : ''],
|
103
105
|
}, attrs)}>
|
104
106
|
{content}
|
105
107
|
</div>
|
@@ -44,7 +44,7 @@ export const Dropdown = designComponent({
|
|
44
44
|
scopeSlots: {
|
45
45
|
reference: (scope: { open?: boolean }) => {},
|
46
46
|
},
|
47
|
-
setup({ props, slots, event: { emit }, scopeSlots }) {
|
47
|
+
setup({ props, slots, event: { emit }, scopeSlots, attrs }) {
|
48
48
|
|
49
49
|
const { styleComputed } = useStyle();
|
50
50
|
|
@@ -99,7 +99,7 @@ export const Dropdown = designComponent({
|
|
99
99
|
return node?.type?.use?.name === DropdownOption.use.name || node?.type?.use?.name === DropdownGroup.use.name;
|
100
100
|
});
|
101
101
|
|
102
|
-
const publicDropdownPanelParams = { size: styleComputed.value.size, align: props.align };
|
102
|
+
const publicDropdownPanelParams = { size: styleComputed.value.size, align: props.align, sizeEqual: attrs.sizeEqual };
|
103
103
|
|
104
104
|
if (hasScroll || !dropdownOptions || dropdownOptions.length <= props.scrollOptionLength) {
|
105
105
|
return renderDropdownPanel({
|
package/src/packages/entry.tsx
CHANGED
@@ -27,6 +27,7 @@ export {RadioGroup} from "./components/RadioGroup";
|
|
27
27
|
export {DropdownOption} from "./components/DropdownOption";
|
28
28
|
export {Dropdown} from "./components/Dropdown";
|
29
29
|
export {DropdownGroup} from "./components/DropdownGroup";
|
30
|
+
export {DropdownSeparator} from "./components/DropdownSeparator";
|
30
31
|
export {VirtualList} from "./components/VirtualList";
|
31
32
|
export {Segment} from "./components/Segment";
|
32
33
|
export {SegmentGroup} from "./components/SegmentGroup";
|
@@ -1,17 +1,18 @@
|
|
1
1
|
import {designPage} from "plain-design-composition";
|
2
2
|
import {DemoRow} from "../../Demo/DemoRow";
|
3
|
-
import {$message, Button, ButtonGroup, Dropdown, DropdownGroup, DropdownOption, Scroll, VirtualList} from "../../../../packages";
|
3
|
+
import {$message, Button, ButtonGroup, Dropdown, DropdownGroup, DropdownOption, DropdownSeparator, Scroll, VirtualList} from "../../../../packages";
|
4
4
|
import AddressData from '../../../data/address.json';
|
5
5
|
|
6
6
|
export const demo1 = designPage(() => {
|
7
7
|
return () => (
|
8
8
|
<DemoRow title="基本用法">
|
9
|
-
<Dropdown onSelect={(data) => $message('select ' + data.props.val)}>
|
9
|
+
<Dropdown onSelect={(data) => $message('select ' + data.props.val)} sizeEqual>
|
10
10
|
{{
|
11
11
|
default: () => <Button label="Click to open dropdown"/>,
|
12
12
|
popper: () => <>
|
13
13
|
<DropdownOption label="选项一" val="tag-1" onClick={() => $message('click tag-1')}/>
|
14
14
|
<DropdownOption label="选项二" val="tag-2" onClick={() => $message('click tag-2')}/>
|
15
|
+
<DropdownSeparator/>
|
15
16
|
<DropdownOption label="选项三" val="tag-3" onClick={() => $message('click tag-3')}/>
|
16
17
|
</>
|
17
18
|
}}
|