@tamagui/group 2.7.7 → 3.0.0-beta.643.1
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/cjs/Group.cjs +104 -132
- package/dist/cjs/Group.native.cjs +147 -0
- package/dist/cjs/Group.native.js +109 -136
- package/dist/cjs/Group.native.js.map +1 -1
- package/dist/cjs/index.cjs +10 -11
- package/dist/cjs/index.native.cjs +21 -0
- package/dist/cjs/index.native.js +10 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/useIndexedChildren.cjs +52 -58
- package/dist/cjs/useIndexedChildren.native.cjs +84 -0
- package/dist/cjs/useIndexedChildren.native.js +60 -65
- package/dist/cjs/useIndexedChildren.native.js.map +1 -1
- package/dist/esm/Group.mjs +84 -104
- package/dist/esm/Group.mjs.map +1 -1
- package/dist/esm/Group.native.js +90 -110
- package/dist/esm/Group.native.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/index.native.js +1 -2
- package/dist/esm/useIndexedChildren.mjs +35 -33
- package/dist/esm/useIndexedChildren.mjs.map +1 -1
- package/dist/esm/useIndexedChildren.native.js +44 -42
- package/dist/esm/useIndexedChildren.native.js.map +1 -1
- package/dist/jsx/Group.mjs +84 -104
- package/dist/jsx/Group.mjs.map +1 -1
- package/dist/jsx/Group.native.cjs +147 -0
- package/dist/jsx/Group.native.js +109 -136
- package/dist/jsx/Group.native.js.map +1 -1
- package/dist/jsx/index.js +1 -2
- package/dist/jsx/index.mjs +1 -2
- package/dist/jsx/index.native.cjs +21 -0
- package/dist/jsx/index.native.js +10 -10
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/useIndexedChildren.mjs +35 -33
- package/dist/jsx/useIndexedChildren.mjs.map +1 -1
- package/dist/jsx/useIndexedChildren.native.cjs +84 -0
- package/dist/jsx/useIndexedChildren.native.js +60 -65
- package/dist/jsx/useIndexedChildren.native.js.map +1 -1
- package/package.json +9 -9
- package/src/Group.tsx +20 -19
- package/types/Group.d.ts +107 -78
- package/types/Group.d.ts.map +1 -1
- package/types/useIndexedChildren.d.ts +1 -1
- package/types/useIndexedChildren.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs.map +0 -1
package/dist/esm/Group.native.js
CHANGED
|
@@ -1,132 +1,112 @@
|
|
|
1
|
-
import { jsx
|
|
2
|
-
import { mergeSlotStyleProps, styled } from "@tamagui/core";
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createStyledHOC, mergeSlotStyleProps, resolveSizeToken, styled } from "@tamagui/core";
|
|
3
3
|
import { createContextScope } from "@tamagui/create-context";
|
|
4
4
|
import { withStaticProperties } from "@tamagui/helpers";
|
|
5
5
|
import { YStack } from "@tamagui/stacks";
|
|
6
6
|
import React from "react";
|
|
7
7
|
import { useIndex, useIndexedChildren } from "./useIndexedChildren.native.js";
|
|
8
|
+
|
|
8
9
|
var GROUP_NAME = "Group";
|
|
9
10
|
var [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME);
|
|
10
11
|
var [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME);
|
|
12
|
+
var groupSizeVariant = function(val, param) {
|
|
13
|
+
var { tokens } = param;
|
|
14
|
+
var radiusToken = resolveSizeToken(val, "radius");
|
|
15
|
+
var _tokens_radius_radiusToken;
|
|
16
|
+
return { borderRadius: (_tokens_radius_radiusToken = tokens.radius[radiusToken]) !== null && _tokens_radius_radiusToken !== void 0 ? _tokens_radius_radiusToken : radiusToken };
|
|
17
|
+
};
|
|
11
18
|
var GroupFrame = styled(YStack, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
},
|
|
19
|
-
size: function (val, param) {
|
|
20
|
-
var {
|
|
21
|
-
tokens
|
|
22
|
-
} = param;
|
|
23
|
-
var _tokens_radius_val, _ref;
|
|
24
|
-
var borderRadius = (_ref = (_tokens_radius_val = tokens.radius[val]) !== null && _tokens_radius_val !== void 0 ? _tokens_radius_val : val) !== null && _ref !== void 0 ? _ref : tokens.radius["$true"];
|
|
25
|
-
return {
|
|
26
|
-
borderRadius
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
defaultVariants: {
|
|
31
|
-
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
32
|
-
}
|
|
19
|
+
displayName: "GroupFrame",
|
|
20
|
+
size: true,
|
|
21
|
+
variants: { size: {
|
|
22
|
+
true: groupSizeVariant,
|
|
23
|
+
any: groupSizeVariant
|
|
24
|
+
} }
|
|
33
25
|
});
|
|
34
26
|
function createGroup(verticalDefault) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
flexDirection: vertical ? "column" : "row",
|
|
52
|
-
...restProps,
|
|
53
|
-
children: indexedChildren
|
|
54
|
-
})
|
|
55
|
-
});
|
|
56
|
-
}), {
|
|
57
|
-
Item: GroupItem
|
|
58
|
-
});
|
|
27
|
+
return withStaticProperties(createStyledHOC(GroupFrame, function(props, ref) {
|
|
28
|
+
var { __scopeGroup, children: childrenProp, orientation = verticalDefault ? "vertical" : "horizontal", disabled, ...restProps } = props;
|
|
29
|
+
var vertical = orientation === "vertical";
|
|
30
|
+
var indexedChildren = useIndexedChildren(React.Children.toArray(childrenProp));
|
|
31
|
+
return /* @__PURE__ */ jsx(GroupProvider, {
|
|
32
|
+
vertical,
|
|
33
|
+
disabled,
|
|
34
|
+
scope: __scopeGroup,
|
|
35
|
+
children: /* @__PURE__ */ jsx(GroupFrame, {
|
|
36
|
+
ref,
|
|
37
|
+
flexDirection: vertical ? "column" : "row",
|
|
38
|
+
...restProps,
|
|
39
|
+
children: indexedChildren
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
}), { Item: GroupItem });
|
|
59
43
|
}
|
|
60
44
|
function GroupItem(props) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
var _children_props_disabled;
|
|
84
|
-
groupProps.disabled = (_children_props_disabled = children.props.disabled) !== null && _children_props_disabled !== void 0 ? _children_props_disabled : context.disabled;
|
|
85
|
-
}
|
|
86
|
-
var mergedProps = mergeSlotStyleProps(groupProps, children.props);
|
|
87
|
-
return /* @__PURE__ */React.cloneElement(children, mergedProps);
|
|
45
|
+
var { __scopeGroup, children, forcePlacement, ...forwardedProps } = props;
|
|
46
|
+
var context = useGroupContext("GroupItem", __scopeGroup);
|
|
47
|
+
var treeIndex = useIndex();
|
|
48
|
+
if (!treeIndex) {
|
|
49
|
+
throw Error("<Group.Item/> should only be used within a <Group/>");
|
|
50
|
+
}
|
|
51
|
+
if (!/* @__PURE__ */ React.isValidElement(children)) {
|
|
52
|
+
return children;
|
|
53
|
+
}
|
|
54
|
+
var isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0;
|
|
55
|
+
var isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex;
|
|
56
|
+
var radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);
|
|
57
|
+
var groupProps = {
|
|
58
|
+
...forwardedProps,
|
|
59
|
+
...radiusStyles
|
|
60
|
+
};
|
|
61
|
+
if (context.disabled != null) {
|
|
62
|
+
var _children_props_disabled;
|
|
63
|
+
groupProps.disabled = (_children_props_disabled = children.props.disabled) !== null && _children_props_disabled !== void 0 ? _children_props_disabled : context.disabled;
|
|
64
|
+
}
|
|
65
|
+
var mergedProps = mergeSlotStyleProps(groupProps, children.props);
|
|
66
|
+
return /* @__PURE__ */ React.cloneElement(children, mergedProps);
|
|
88
67
|
}
|
|
89
|
-
var useGroupItem = function
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
68
|
+
var useGroupItem = function(childrenProps, forcePlacement, __scopeGroup) {
|
|
69
|
+
var treeIndex = useIndex();
|
|
70
|
+
var context = useGroupContext("GroupItem", __scopeGroup);
|
|
71
|
+
if (!treeIndex) {
|
|
72
|
+
throw Error("useGroupItem should only be used within a <Group/>");
|
|
73
|
+
}
|
|
74
|
+
var isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0;
|
|
75
|
+
var isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex;
|
|
76
|
+
var radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);
|
|
77
|
+
var _childrenProps_disabled;
|
|
78
|
+
return {
|
|
79
|
+
disabled: (_childrenProps_disabled = childrenProps.disabled) !== null && _childrenProps_disabled !== void 0 ? _childrenProps_disabled : context.disabled,
|
|
80
|
+
...radiusStyles
|
|
81
|
+
};
|
|
103
82
|
};
|
|
104
83
|
var Group = createGroup(true);
|
|
105
84
|
var YGroup = Group;
|
|
106
85
|
var XGroup = createGroup(false);
|
|
107
86
|
function getZeroedRadius(isFirst, isLast, vertical) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
87
|
+
if (vertical) {
|
|
88
|
+
return {
|
|
89
|
+
...isFirst ? null : {
|
|
90
|
+
borderTopLeftRadius: 0,
|
|
91
|
+
borderTopRightRadius: 0
|
|
92
|
+
},
|
|
93
|
+
...isLast ? null : {
|
|
94
|
+
borderBottomLeftRadius: 0,
|
|
95
|
+
borderBottomRightRadius: 0
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
...isFirst ? null : {
|
|
101
|
+
borderTopLeftRadius: 0,
|
|
102
|
+
borderBottomLeftRadius: 0
|
|
103
|
+
},
|
|
104
|
+
...isLast ? null : {
|
|
105
|
+
borderTopRightRadius: 0,
|
|
106
|
+
borderBottomRightRadius: 0
|
|
107
|
+
}
|
|
108
|
+
};
|
|
130
109
|
}
|
|
110
|
+
|
|
131
111
|
export { Group, GroupFrame, XGroup, YGroup, createGroupScope, useGroupItem };
|
|
132
112
|
//# sourceMappingURL=Group.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"file":"Group.native.js","names":[],"sources":["esm/Group.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createStyledHOC, mergeSlotStyleProps, resolveSizeToken, styled } from \"@tamagui/core\";\nimport { createContextScope } from \"@tamagui/create-context\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport { YStack } from \"@tamagui/stacks\";\nimport React from \"react\";\nimport { useIndex, useIndexedChildren } from \"./useIndexedChildren\";\nvar GROUP_NAME = \"Group\";\nvar [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME);\nvar [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME);\nvar groupSizeVariant = function(val, param) {\n var { tokens } = param;\n var radiusToken = resolveSizeToken(val, \"radius\");\n var _tokens_radius_radiusToken;\n return {\n borderRadius: (_tokens_radius_radiusToken = tokens.radius[radiusToken]) !== null && _tokens_radius_radiusToken !== void 0 ? _tokens_radius_radiusToken : radiusToken\n };\n};\nvar GroupFrame = styled(YStack, {\n displayName: \"GroupFrame\",\n size: true,\n variants: {\n size: {\n true: groupSizeVariant,\n any: groupSizeVariant\n }\n }\n});\nfunction createGroup(verticalDefault) {\n return withStaticProperties(createStyledHOC(GroupFrame, function(props, ref) {\n var { __scopeGroup, children: childrenProp, orientation = verticalDefault ? \"vertical\" : \"horizontal\", disabled, ...restProps } = props;\n var vertical = orientation === \"vertical\";\n var indexedChildren = useIndexedChildren(React.Children.toArray(childrenProp));\n return /* @__PURE__ */ _jsx(GroupProvider, {\n vertical,\n disabled,\n scope: __scopeGroup,\n children: /* @__PURE__ */ _jsx(GroupFrame, {\n ref,\n flexDirection: vertical ? \"column\" : \"row\",\n ...restProps,\n children: indexedChildren\n })\n });\n }), {\n Item: GroupItem\n });\n}\nfunction GroupItem(props) {\n var { __scopeGroup, children, forcePlacement, ...forwardedProps } = props;\n var context = useGroupContext(\"GroupItem\", __scopeGroup);\n var treeIndex = useIndex();\n if (!treeIndex) {\n throw Error(\"<Group.Item/> should only be used within a <Group/>\");\n }\n if (!/* @__PURE__ */ React.isValidElement(children)) {\n return children;\n }\n var isFirst = forcePlacement === \"first\" || forcePlacement !== \"last\" && treeIndex.index === 0;\n var isLast = forcePlacement === \"last\" || forcePlacement !== \"first\" && treeIndex.index === treeIndex.maxIndex;\n var radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);\n var groupProps = {\n ...forwardedProps,\n ...radiusStyles\n };\n if (context.disabled != null) {\n var _children_props_disabled;\n groupProps.disabled = (_children_props_disabled = children.props.disabled) !== null && _children_props_disabled !== void 0 ? _children_props_disabled : context.disabled;\n }\n var mergedProps = mergeSlotStyleProps(groupProps, children.props);\n return /* @__PURE__ */ React.cloneElement(children, mergedProps);\n}\nvar useGroupItem = function(childrenProps, forcePlacement, __scopeGroup) {\n var treeIndex = useIndex();\n var context = useGroupContext(\"GroupItem\", __scopeGroup);\n if (!treeIndex) {\n throw Error(\"useGroupItem should only be used within a <Group/>\");\n }\n var isFirst = forcePlacement === \"first\" || forcePlacement !== \"last\" && treeIndex.index === 0;\n var isLast = forcePlacement === \"last\" || forcePlacement !== \"first\" && treeIndex.index === treeIndex.maxIndex;\n var radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);\n var _childrenProps_disabled;\n return {\n disabled: (_childrenProps_disabled = childrenProps.disabled) !== null && _childrenProps_disabled !== void 0 ? _childrenProps_disabled : context.disabled,\n ...radiusStyles\n };\n};\nvar Group = createGroup(true);\nvar YGroup = Group;\nvar XGroup = createGroup(false);\nfunction getZeroedRadius(isFirst, isLast, vertical) {\n if (vertical) {\n return {\n ...isFirst ? null : {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0\n },\n ...isLast ? null : {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0\n }\n };\n }\n return {\n ...isFirst ? null : {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n },\n ...isLast ? null : {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n }\n };\n}\nexport {\n Group,\n GroupFrame,\n XGroup,\n YGroup,\n createGroupScope,\n useGroupItem\n};\n//# sourceMappingURL=Group.js.map\n"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from "./Group.mjs"
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export * from "./Group.mjs"
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from "./Group.mjs"
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
export * from "./Group.mjs"
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from "./Group.native.js"
|
|
2
|
-
//# sourceMappingURL=index.native.js.map
|
|
1
|
+
export * from "./Group.native.js"
|
|
@@ -1,45 +1,47 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
3
4
|
const MaxIndexContext = React.createContext([]);
|
|
4
5
|
const IndexContext = React.createContext(null);
|
|
5
6
|
function useIndex() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
7
|
+
const maxIndexPath = React.useContext(MaxIndexContext);
|
|
8
|
+
const indexPathString = React.useContext(IndexContext);
|
|
9
|
+
return React.useMemo(() => {
|
|
10
|
+
if (indexPathString === null) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const indexPath = parseIndexPath(indexPathString);
|
|
14
|
+
const maxIndex = maxIndexPath[maxIndexPath.length - 1];
|
|
15
|
+
const index = indexPath[indexPath.length - 1];
|
|
16
|
+
return {
|
|
17
|
+
maxIndex,
|
|
18
|
+
maxIndexPath,
|
|
19
|
+
index,
|
|
20
|
+
indexPath,
|
|
21
|
+
indexPathString,
|
|
22
|
+
isFirst: index === 0,
|
|
23
|
+
isLast: index === maxIndex,
|
|
24
|
+
isEven: index % 2 === 0,
|
|
25
|
+
isOdd: Math.abs(index % 2) === 1
|
|
26
|
+
};
|
|
27
|
+
}, [maxIndexPath, indexPathString]);
|
|
27
28
|
}
|
|
28
29
|
function useIndexedChildren(children) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
30
|
+
const parentMaxIndexPath = React.useContext(MaxIndexContext);
|
|
31
|
+
const indexPathString = React.useContext(IndexContext);
|
|
32
|
+
const childrenCount = React.Children.count(children);
|
|
33
|
+
const maxIndexPath = React.useMemo(() => parentMaxIndexPath.concat(childrenCount - 1), [childrenCount]);
|
|
34
|
+
return /* @__PURE__ */ jsx(MaxIndexContext.Provider, {
|
|
35
|
+
value: maxIndexPath,
|
|
36
|
+
children: React.Children.map(children, (child, index) => React.isValidElement(child) ? /* @__PURE__ */ jsx(IndexContext.Provider, {
|
|
37
|
+
value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),
|
|
38
|
+
children: child
|
|
39
|
+
}, child.key) : child)
|
|
40
|
+
});
|
|
40
41
|
}
|
|
41
42
|
function parseIndexPath(indexPathString) {
|
|
42
|
-
|
|
43
|
+
return indexPathString.split(".").map((index) => Number.parseInt(index, 10));
|
|
43
44
|
}
|
|
45
|
+
|
|
44
46
|
export { useIndex, useIndexedChildren };
|
|
45
47
|
//# sourceMappingURL=useIndexedChildren.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"useIndexedChildren.js","names":[],"sources":["esm/useIndexedChildren.js"],"sourcesContent":["import * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst MaxIndexContext = React.createContext([]);\nconst IndexContext = React.createContext(null);\nfunction useIndex() {\n const maxIndexPath = React.useContext(MaxIndexContext);\n const indexPathString = React.useContext(IndexContext);\n return React.useMemo(() => {\n if (indexPathString === null) {\n return null;\n }\n const indexPath = parseIndexPath(indexPathString);\n const maxIndex = maxIndexPath[maxIndexPath.length - 1];\n const index = indexPath[indexPath.length - 1];\n return {\n maxIndex,\n maxIndexPath,\n index,\n indexPath,\n indexPathString,\n isFirst: index === 0,\n isLast: index === maxIndex,\n isEven: index % 2 === 0,\n isOdd: Math.abs(index % 2) === 1\n };\n }, [maxIndexPath, indexPathString]);\n}\nfunction useIndexedChildren(children) {\n const parentMaxIndexPath = React.useContext(MaxIndexContext);\n const indexPathString = React.useContext(IndexContext);\n const childrenCount = React.Children.count(children);\n const maxIndexPath = React.useMemo(\n () => parentMaxIndexPath.concat(childrenCount - 1),\n [childrenCount]\n );\n return /* @__PURE__ */ jsx(MaxIndexContext.Provider, { value: maxIndexPath, children: React.Children.map(\n children,\n (child, index) => React.isValidElement(child) ? /* @__PURE__ */ jsx(\n IndexContext.Provider,\n {\n value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),\n children: child\n },\n child.key\n ) : child\n ) });\n}\nfunction parseIndexPath(indexPathString) {\n return indexPathString.split(\".\").map((index) => Number.parseInt(index, 10));\n}\nexport {\n useIndex,\n useIndexedChildren\n};\n//# sourceMappingURL=useIndexedChildren.js.map\n"],"mappings":";;;;AAEA,MAAM,kBAAkB,MAAM,cAAc,CAAC,CAAC;AAC9C,MAAM,eAAe,MAAM,cAAc,IAAI;AAC7C,SAAS,WAAW;CAClB,MAAM,eAAe,MAAM,WAAW,eAAe;CACrD,MAAM,kBAAkB,MAAM,WAAW,YAAY;CACrD,OAAO,MAAM,cAAc;EACzB,IAAI,oBAAoB,MAAM;GAC5B,OAAO;EACT;EACA,MAAM,YAAY,eAAe,eAAe;EAChD,MAAM,WAAW,aAAa,aAAa,SAAS;EACpD,MAAM,QAAQ,UAAU,UAAU,SAAS;EAC3C,OAAO;GACL;GACA;GACA;GACA;GACA;GACA,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,QAAQ,QAAQ,MAAM;GACtB,OAAO,KAAK,IAAI,QAAQ,CAAC,MAAM;EACjC;CACF,GAAG,CAAC,cAAc,eAAe,CAAC;AACpC;AACA,SAAS,mBAAmB,UAAU;CACpC,MAAM,qBAAqB,MAAM,WAAW,eAAe;CAC3D,MAAM,kBAAkB,MAAM,WAAW,YAAY;CACrD,MAAM,gBAAgB,MAAM,SAAS,MAAM,QAAQ;CACnD,MAAM,eAAe,MAAM,cACnB,mBAAmB,OAAO,gBAAgB,CAAC,GACjD,CAAC,aAAa,CAChB;CACA,OAAuB,oBAAI,gBAAgB,UAAU;EAAE,OAAO;EAAc,UAAU,MAAM,SAAS,IACnG,WACC,OAAO,UAAU,MAAM,eAAe,KAAK,IAAoB,oBAC9D,aAAa,UACb;GACE,OAAO,kBAAkB,GAAG,gBAAgB,GAAG,MAAM,SAAS,MAAM,MAAM,SAAS;GACnF,UAAU;EACZ,GACA,MAAM,GACR,IAAI,KACN;CAAE,CAAC;AACL;AACA,SAAS,eAAe,iBAAiB;CACvC,OAAO,gBAAgB,MAAM,GAAG,EAAE,KAAK,UAAU,OAAO,SAAS,OAAO,EAAE,CAAC;AAC7E"}
|
|
@@ -1,51 +1,53 @@
|
|
|
1
|
-
import { jsx
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
|
|
4
|
-
var
|
|
3
|
+
|
|
4
|
+
var MaxIndexContext = /* @__PURE__ */ React.createContext([]);
|
|
5
|
+
var IndexContext = /* @__PURE__ */ React.createContext(null);
|
|
5
6
|
function useIndex() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
7
|
+
var maxIndexPath = React.useContext(MaxIndexContext);
|
|
8
|
+
var indexPathString = React.useContext(IndexContext);
|
|
9
|
+
return React.useMemo(function() {
|
|
10
|
+
if (indexPathString === null) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
var indexPath = parseIndexPath(indexPathString);
|
|
14
|
+
var maxIndex = maxIndexPath[maxIndexPath.length - 1];
|
|
15
|
+
var index = indexPath[indexPath.length - 1];
|
|
16
|
+
return {
|
|
17
|
+
maxIndex,
|
|
18
|
+
maxIndexPath,
|
|
19
|
+
index,
|
|
20
|
+
indexPath,
|
|
21
|
+
indexPathString,
|
|
22
|
+
isFirst: index === 0,
|
|
23
|
+
isLast: index === maxIndex,
|
|
24
|
+
isEven: index % 2 === 0,
|
|
25
|
+
isOdd: Math.abs(index % 2) === 1
|
|
26
|
+
};
|
|
27
|
+
}, [maxIndexPath, indexPathString]);
|
|
27
28
|
}
|
|
28
29
|
function useIndexedChildren(children) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
30
|
+
var parentMaxIndexPath = React.useContext(MaxIndexContext);
|
|
31
|
+
var indexPathString = React.useContext(IndexContext);
|
|
32
|
+
var childrenCount = React.Children.count(children);
|
|
33
|
+
var maxIndexPath = React.useMemo(function() {
|
|
34
|
+
return parentMaxIndexPath.concat(childrenCount - 1);
|
|
35
|
+
}, [childrenCount]);
|
|
36
|
+
return /* @__PURE__ */ jsx(MaxIndexContext.Provider, {
|
|
37
|
+
value: maxIndexPath,
|
|
38
|
+
children: React.Children.map(children, function(child, index) {
|
|
39
|
+
return /* @__PURE__ */ React.isValidElement(child) ? /* @__PURE__ */ jsx(IndexContext.Provider, {
|
|
40
|
+
value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),
|
|
41
|
+
children: child
|
|
42
|
+
}, child.key) : child;
|
|
43
|
+
})
|
|
44
|
+
});
|
|
44
45
|
}
|
|
45
46
|
function parseIndexPath(indexPathString) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
return indexPathString.split(".").map(function(index) {
|
|
48
|
+
return Number.parseInt(index, 10);
|
|
49
|
+
});
|
|
49
50
|
}
|
|
51
|
+
|
|
50
52
|
export { useIndex, useIndexedChildren };
|
|
51
53
|
//# sourceMappingURL=useIndexedChildren.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"useIndexedChildren.native.js","names":[],"sources":["esm/useIndexedChildren.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nvar MaxIndexContext = /* @__PURE__ */ React.createContext([]);\nvar IndexContext = /* @__PURE__ */ React.createContext(null);\nfunction useIndex() {\n var maxIndexPath = React.useContext(MaxIndexContext);\n var indexPathString = React.useContext(IndexContext);\n return React.useMemo(function() {\n if (indexPathString === null) {\n return null;\n }\n var indexPath = parseIndexPath(indexPathString);\n var maxIndex = maxIndexPath[maxIndexPath.length - 1];\n var index = indexPath[indexPath.length - 1];\n return {\n maxIndex,\n maxIndexPath,\n index,\n indexPath,\n indexPathString,\n isFirst: index === 0,\n isLast: index === maxIndex,\n isEven: index % 2 === 0,\n isOdd: Math.abs(index % 2) === 1\n };\n }, [\n maxIndexPath,\n indexPathString\n ]);\n}\nfunction useIndexedChildren(children) {\n var parentMaxIndexPath = React.useContext(MaxIndexContext);\n var indexPathString = React.useContext(IndexContext);\n var childrenCount = React.Children.count(children);\n var maxIndexPath = React.useMemo(function() {\n return parentMaxIndexPath.concat(childrenCount - 1);\n }, [\n childrenCount\n ]);\n return /* @__PURE__ */ _jsx(MaxIndexContext.Provider, {\n value: maxIndexPath,\n children: React.Children.map(children, function(child, index) {\n return /* @__PURE__ */ React.isValidElement(child) ? /* @__PURE__ */ _jsx(IndexContext.Provider, {\n value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),\n children: child\n }, child.key) : child;\n })\n });\n}\nfunction parseIndexPath(indexPathString) {\n return indexPathString.split(\".\").map(function(index) {\n return Number.parseInt(index, 10);\n });\n}\nexport {\n useIndex,\n useIndexedChildren\n};\n//# sourceMappingURL=useIndexedChildren.js.map\n"],"mappings":";;;;AAEA,IAAI,kBAAkC,sBAAM,cAAc,CAAC,CAAC;AAC5D,IAAI,eAA+B,sBAAM,cAAc,IAAI;AAC3D,SAAS,WAAW;CAClB,IAAI,eAAe,MAAM,WAAW,eAAe;CACnD,IAAI,kBAAkB,MAAM,WAAW,YAAY;CACnD,OAAO,MAAM,QAAQ,WAAW;EAC9B,IAAI,oBAAoB,MAAM;GAC5B,OAAO;EACT;EACA,IAAI,YAAY,eAAe,eAAe;EAC9C,IAAI,WAAW,aAAa,aAAa,SAAS;EAClD,IAAI,QAAQ,UAAU,UAAU,SAAS;EACzC,OAAO;GACL;GACA;GACA;GACA;GACA;GACA,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,QAAQ,QAAQ,MAAM;GACtB,OAAO,KAAK,IAAI,QAAQ,CAAC,MAAM;EACjC;CACF,GAAG,CACD,cACA,eACF,CAAC;AACH;AACA,SAAS,mBAAmB,UAAU;CACpC,IAAI,qBAAqB,MAAM,WAAW,eAAe;CACzD,IAAI,kBAAkB,MAAM,WAAW,YAAY;CACnD,IAAI,gBAAgB,MAAM,SAAS,MAAM,QAAQ;CACjD,IAAI,eAAe,MAAM,QAAQ,WAAW;EAC1C,OAAO,mBAAmB,OAAO,gBAAgB,CAAC;CACpD,GAAG,CACD,aACF,CAAC;CACD,OAAuB,oBAAK,gBAAgB,UAAU;EACpD,OAAO;EACP,UAAU,MAAM,SAAS,IAAI,UAAU,SAAS,OAAO,OAAO;GAC5D,OAAuB,sBAAM,eAAe,KAAK,IAAoB,oBAAK,aAAa,UAAU;IAC/F,OAAO,kBAAkB,GAAG,gBAAgB,GAAG,MAAM,SAAS,MAAM,MAAM,SAAS;IACnF,UAAU;GACZ,GAAG,MAAM,GAAG,IAAI;EAClB,CAAC;CACH,CAAC;AACH;AACA,SAAS,eAAe,iBAAiB;CACvC,OAAO,gBAAgB,MAAM,GAAG,EAAE,IAAI,SAAS,OAAO;EACpD,OAAO,OAAO,SAAS,OAAO,EAAE;CAClC,CAAC;AACH"}
|