@v-c/overflow 0.0.1 → 0.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.
- package/dist/Item.cjs +89 -108
- package/dist/Item.js +85 -106
- package/dist/Overflow.cjs +266 -314
- package/dist/Overflow.js +262 -312
- package/dist/RawItem.cjs +29 -46
- package/dist/RawItem.js +27 -45
- package/dist/_virtual/rolldown_runtime.cjs +21 -0
- package/dist/context.cjs +12 -19
- package/dist/context.js +11 -20
- package/dist/hooks/channelUpdate.cjs +9 -10
- package/dist/hooks/channelUpdate.js +7 -10
- package/dist/hooks/useEffectState.cjs +26 -31
- package/dist/hooks/useEffectState.js +24 -32
- package/dist/index.cjs +6 -6
- package/dist/index.js +3 -5
- package/package.json +2 -2
package/dist/Item.cjs
CHANGED
|
@@ -1,111 +1,92 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
|
|
2
|
+
let vue = require("vue");
|
|
3
|
+
let __v_c_resize_observer = require("@v-c/resize-observer");
|
|
4
|
+
__v_c_resize_observer = require_rolldown_runtime.__toESM(__v_c_resize_observer);
|
|
5
|
+
let __v_c_util = require("@v-c/util");
|
|
6
6
|
function _isSlot(s) {
|
|
7
|
-
|
|
7
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !(0, vue.isVNode)(s);
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
}, overflowProps, attrs), _isSlot(childNode) ? childNode : {
|
|
93
|
-
default: () => [childNode]
|
|
94
|
-
});
|
|
95
|
-
if (!responsive) {
|
|
96
|
-
return itemNode;
|
|
97
|
-
}
|
|
98
|
-
return vue.createVNode(ResizeObserver, {
|
|
99
|
-
"disabled": responsiveDisabled,
|
|
100
|
-
"onResize": ({
|
|
101
|
-
offsetWidth
|
|
102
|
-
}) => {
|
|
103
|
-
internalRegisterSize(offsetWidth);
|
|
104
|
-
}
|
|
105
|
-
}, {
|
|
106
|
-
default: () => itemNode
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
}
|
|
9
|
+
var UNDEFINED = void 0;
|
|
10
|
+
var Item_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
11
|
+
name: "OverflowItem",
|
|
12
|
+
inheritAttrs: false,
|
|
13
|
+
props: {
|
|
14
|
+
prefixCls: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: true
|
|
17
|
+
},
|
|
18
|
+
item: Object,
|
|
19
|
+
class: {
|
|
20
|
+
type: [
|
|
21
|
+
String,
|
|
22
|
+
Object,
|
|
23
|
+
Array
|
|
24
|
+
],
|
|
25
|
+
default: void 0
|
|
26
|
+
},
|
|
27
|
+
style: Object,
|
|
28
|
+
renderItem: Function,
|
|
29
|
+
responsive: Boolean,
|
|
30
|
+
responsiveDisabled: Boolean,
|
|
31
|
+
itemKey: [String, Number],
|
|
32
|
+
registerSize: {
|
|
33
|
+
type: Function,
|
|
34
|
+
required: true
|
|
35
|
+
},
|
|
36
|
+
display: Boolean,
|
|
37
|
+
order: {
|
|
38
|
+
type: Number,
|
|
39
|
+
required: true
|
|
40
|
+
},
|
|
41
|
+
component: {
|
|
42
|
+
type: [
|
|
43
|
+
String,
|
|
44
|
+
Object,
|
|
45
|
+
Function
|
|
46
|
+
],
|
|
47
|
+
default: "div"
|
|
48
|
+
},
|
|
49
|
+
invalidate: Boolean
|
|
50
|
+
},
|
|
51
|
+
setup(props, { slots, attrs }) {
|
|
52
|
+
const mergedHidden = (0, vue.computed)(() => props.responsive && !props.display);
|
|
53
|
+
function internalRegisterSize(width) {
|
|
54
|
+
const key = props.itemKey ?? props.order;
|
|
55
|
+
props.registerSize(key, width);
|
|
56
|
+
}
|
|
57
|
+
(0, vue.onUnmounted)(() => {
|
|
58
|
+
internalRegisterSize(null);
|
|
59
|
+
});
|
|
60
|
+
return () => {
|
|
61
|
+
const { prefixCls, invalidate, item, renderItem, responsive, responsiveDisabled, order, component: Component = "div", style } = props;
|
|
62
|
+
const children = slots.default?.();
|
|
63
|
+
const childNode = renderItem && item !== UNDEFINED ? renderItem(item, { index: order }) : children;
|
|
64
|
+
let overflowStyle;
|
|
65
|
+
if (!invalidate) overflowStyle = {
|
|
66
|
+
opacity: mergedHidden.value ? 0 : 1,
|
|
67
|
+
height: mergedHidden.value ? 0 : UNDEFINED,
|
|
68
|
+
overflowY: mergedHidden.value ? "hidden" : UNDEFINED,
|
|
69
|
+
order: responsive ? order : UNDEFINED,
|
|
70
|
+
pointerEvents: mergedHidden.value ? "none" : UNDEFINED,
|
|
71
|
+
position: mergedHidden.value ? "absolute" : UNDEFINED
|
|
72
|
+
};
|
|
73
|
+
const overflowProps = {};
|
|
74
|
+
if (mergedHidden.value) overflowProps["aria-hidden"] = true;
|
|
75
|
+
const itemNode = (0, vue.createVNode)(Component, (0, vue.mergeProps)({
|
|
76
|
+
"class": (0, __v_c_util.classNames)(!invalidate && prefixCls, props.class),
|
|
77
|
+
"style": {
|
|
78
|
+
...overflowStyle,
|
|
79
|
+
...style
|
|
80
|
+
}
|
|
81
|
+
}, overflowProps, attrs), _isSlot(childNode) ? childNode : { default: () => [childNode] });
|
|
82
|
+
if (!responsive) return itemNode;
|
|
83
|
+
return (0, vue.createVNode)(__v_c_resize_observer.default, {
|
|
84
|
+
"disabled": responsiveDisabled,
|
|
85
|
+
"onResize": ({ offsetWidth }) => {
|
|
86
|
+
internalRegisterSize(offsetWidth);
|
|
87
|
+
}
|
|
88
|
+
}, { default: () => itemNode });
|
|
89
|
+
};
|
|
90
|
+
}
|
|
110
91
|
});
|
|
111
|
-
exports.default =
|
|
92
|
+
exports.default = Item_default;
|
package/dist/Item.js
CHANGED
|
@@ -1,111 +1,90 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, createVNode, defineComponent, isVNode, mergeProps, onUnmounted } from "vue";
|
|
2
2
|
import ResizeObserver from "@v-c/resize-observer";
|
|
3
3
|
import { classNames } from "@v-c/util";
|
|
4
4
|
function _isSlot(s) {
|
|
5
|
-
|
|
5
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
}, overflowProps, attrs), _isSlot(childNode) ? childNode : {
|
|
91
|
-
default: () => [childNode]
|
|
92
|
-
});
|
|
93
|
-
if (!responsive) {
|
|
94
|
-
return itemNode;
|
|
95
|
-
}
|
|
96
|
-
return createVNode(ResizeObserver, {
|
|
97
|
-
"disabled": responsiveDisabled,
|
|
98
|
-
"onResize": ({
|
|
99
|
-
offsetWidth
|
|
100
|
-
}) => {
|
|
101
|
-
internalRegisterSize(offsetWidth);
|
|
102
|
-
}
|
|
103
|
-
}, {
|
|
104
|
-
default: () => itemNode
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
}
|
|
7
|
+
var UNDEFINED = void 0;
|
|
8
|
+
var Item_default = /* @__PURE__ */ defineComponent({
|
|
9
|
+
name: "OverflowItem",
|
|
10
|
+
inheritAttrs: false,
|
|
11
|
+
props: {
|
|
12
|
+
prefixCls: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: true
|
|
15
|
+
},
|
|
16
|
+
item: Object,
|
|
17
|
+
class: {
|
|
18
|
+
type: [
|
|
19
|
+
String,
|
|
20
|
+
Object,
|
|
21
|
+
Array
|
|
22
|
+
],
|
|
23
|
+
default: void 0
|
|
24
|
+
},
|
|
25
|
+
style: Object,
|
|
26
|
+
renderItem: Function,
|
|
27
|
+
responsive: Boolean,
|
|
28
|
+
responsiveDisabled: Boolean,
|
|
29
|
+
itemKey: [String, Number],
|
|
30
|
+
registerSize: {
|
|
31
|
+
type: Function,
|
|
32
|
+
required: true
|
|
33
|
+
},
|
|
34
|
+
display: Boolean,
|
|
35
|
+
order: {
|
|
36
|
+
type: Number,
|
|
37
|
+
required: true
|
|
38
|
+
},
|
|
39
|
+
component: {
|
|
40
|
+
type: [
|
|
41
|
+
String,
|
|
42
|
+
Object,
|
|
43
|
+
Function
|
|
44
|
+
],
|
|
45
|
+
default: "div"
|
|
46
|
+
},
|
|
47
|
+
invalidate: Boolean
|
|
48
|
+
},
|
|
49
|
+
setup(props, { slots, attrs }) {
|
|
50
|
+
const mergedHidden = computed(() => props.responsive && !props.display);
|
|
51
|
+
function internalRegisterSize(width) {
|
|
52
|
+
const key = props.itemKey ?? props.order;
|
|
53
|
+
props.registerSize(key, width);
|
|
54
|
+
}
|
|
55
|
+
onUnmounted(() => {
|
|
56
|
+
internalRegisterSize(null);
|
|
57
|
+
});
|
|
58
|
+
return () => {
|
|
59
|
+
const { prefixCls, invalidate, item, renderItem, responsive, responsiveDisabled, order, component: Component = "div", style } = props;
|
|
60
|
+
const children = slots.default?.();
|
|
61
|
+
const childNode = renderItem && item !== UNDEFINED ? renderItem(item, { index: order }) : children;
|
|
62
|
+
let overflowStyle;
|
|
63
|
+
if (!invalidate) overflowStyle = {
|
|
64
|
+
opacity: mergedHidden.value ? 0 : 1,
|
|
65
|
+
height: mergedHidden.value ? 0 : UNDEFINED,
|
|
66
|
+
overflowY: mergedHidden.value ? "hidden" : UNDEFINED,
|
|
67
|
+
order: responsive ? order : UNDEFINED,
|
|
68
|
+
pointerEvents: mergedHidden.value ? "none" : UNDEFINED,
|
|
69
|
+
position: mergedHidden.value ? "absolute" : UNDEFINED
|
|
70
|
+
};
|
|
71
|
+
const overflowProps = {};
|
|
72
|
+
if (mergedHidden.value) overflowProps["aria-hidden"] = true;
|
|
73
|
+
const itemNode = createVNode(Component, mergeProps({
|
|
74
|
+
"class": classNames(!invalidate && prefixCls, props.class),
|
|
75
|
+
"style": {
|
|
76
|
+
...overflowStyle,
|
|
77
|
+
...style
|
|
78
|
+
}
|
|
79
|
+
}, overflowProps, attrs), _isSlot(childNode) ? childNode : { default: () => [childNode] });
|
|
80
|
+
if (!responsive) return itemNode;
|
|
81
|
+
return createVNode(ResizeObserver, {
|
|
82
|
+
"disabled": responsiveDisabled,
|
|
83
|
+
"onResize": ({ offsetWidth }) => {
|
|
84
|
+
internalRegisterSize(offsetWidth);
|
|
85
|
+
}
|
|
86
|
+
}, { default: () => itemNode });
|
|
87
|
+
};
|
|
88
|
+
}
|
|
108
89
|
});
|
|
109
|
-
export {
|
|
110
|
-
Item as default
|
|
111
|
-
};
|
|
90
|
+
export { Item_default as default };
|