@tamagui/group 2.0.0-rc.4 → 2.0.0-rc.40
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 +112 -96
- package/dist/cjs/Group.native.js +111 -101
- package/dist/cjs/Group.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -5
- package/dist/cjs/index.native.js +7 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/useIndexedChildren.cjs +40 -36
- package/dist/cjs/useIndexedChildren.native.js +42 -38
- package/dist/cjs/useIndexedChildren.native.js.map +1 -1
- package/dist/esm/Group.mjs +81 -67
- package/dist/esm/Group.mjs.map +1 -1
- package/dist/esm/Group.native.js +80 -72
- package/dist/esm/Group.native.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/useIndexedChildren.mjs +14 -12
- package/dist/esm/useIndexedChildren.mjs.map +1 -1
- package/dist/esm/useIndexedChildren.native.js +16 -14
- package/dist/esm/useIndexedChildren.native.js.map +1 -1
- package/dist/jsx/Group.mjs +81 -67
- package/dist/jsx/Group.mjs.map +1 -1
- package/dist/jsx/Group.native.js +111 -101
- package/dist/jsx/Group.native.js.map +1 -1
- package/dist/jsx/index.js +1 -1
- package/dist/jsx/index.js.map +1 -6
- package/dist/jsx/index.native.js +7 -5
- package/dist/jsx/useIndexedChildren.mjs +14 -12
- package/dist/jsx/useIndexedChildren.mjs.map +1 -1
- package/dist/jsx/useIndexedChildren.native.js +42 -38
- package/dist/jsx/useIndexedChildren.native.js.map +1 -1
- package/package.json +12 -15
- package/dist/cjs/Group.js +0 -108
- package/dist/cjs/Group.js.map +0 -6
- package/dist/cjs/index.js +0 -15
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/useIndexedChildren.js +0 -70
- package/dist/cjs/useIndexedChildren.js.map +0 -6
- package/dist/esm/Group.js +0 -90
- package/dist/esm/Group.js.map +0 -6
- package/dist/esm/useIndexedChildren.js +0 -47
- package/dist/esm/useIndexedChildren.js.map +0 -6
- package/dist/jsx/Group.js +0 -90
- package/dist/jsx/Group.js.map +0 -6
- package/dist/jsx/useIndexedChildren.js +0 -47
- package/dist/jsx/useIndexedChildren.js.map +0 -6
|
@@ -2,51 +2,55 @@ var __create = Object.create;
|
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf
|
|
6
|
-
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: true
|
|
30
|
+
}) : target, mod));
|
|
31
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
+
value: true
|
|
33
|
+
}), mod);
|
|
32
34
|
var useIndexedChildren_exports = {};
|
|
33
35
|
__export(useIndexedChildren_exports, {
|
|
34
36
|
useIndex: () => useIndex,
|
|
35
37
|
useIndexedChildren: () => useIndexedChildren
|
|
36
38
|
});
|
|
37
39
|
module.exports = __toCommonJS(useIndexedChildren_exports);
|
|
38
|
-
var React = __toESM(require("react"), 1)
|
|
39
|
-
|
|
40
|
-
const MaxIndexContext = React.createContext([])
|
|
41
|
-
|
|
40
|
+
var React = __toESM(require("react"), 1);
|
|
41
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
42
|
+
const MaxIndexContext = React.createContext([]);
|
|
43
|
+
const IndexContext = React.createContext(null);
|
|
42
44
|
function useIndex() {
|
|
43
|
-
const maxIndexPath = React.useContext(MaxIndexContext)
|
|
44
|
-
|
|
45
|
+
const maxIndexPath = React.useContext(MaxIndexContext);
|
|
46
|
+
const indexPathString = React.useContext(IndexContext);
|
|
45
47
|
return React.useMemo(() => {
|
|
46
|
-
if (indexPathString === null)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
if (indexPathString === null) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const indexPath = parseIndexPath(indexPathString);
|
|
52
|
+
const maxIndex = maxIndexPath[maxIndexPath.length - 1];
|
|
53
|
+
const index = indexPath[indexPath.length - 1];
|
|
50
54
|
return {
|
|
51
55
|
maxIndex,
|
|
52
56
|
maxIndexPath,
|
|
@@ -61,10 +65,10 @@ function useIndex() {
|
|
|
61
65
|
}, [maxIndexPath, indexPathString]);
|
|
62
66
|
}
|
|
63
67
|
function useIndexedChildren(children) {
|
|
64
|
-
const parentMaxIndexPath = React.useContext(MaxIndexContext)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
const parentMaxIndexPath = React.useContext(MaxIndexContext);
|
|
69
|
+
const indexPathString = React.useContext(IndexContext);
|
|
70
|
+
const childrenCount = React.Children.count(children);
|
|
71
|
+
const maxIndexPath = React.useMemo(() => parentMaxIndexPath.concat(childrenCount - 1), [childrenCount]);
|
|
68
72
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(MaxIndexContext.Provider, {
|
|
69
73
|
value: maxIndexPath,
|
|
70
74
|
children: React.Children.map(children, (child, index) => React.isValidElement(child) ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(IndexContext.Provider, {
|
|
@@ -4,51 +4,55 @@ var __create = Object.create;
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getProtoOf = Object.getPrototypeOf
|
|
8
|
-
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
9
|
var __export = (target, all) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
17
18
|
get: () => from[key],
|
|
18
19
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
20
|
});
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
22
24
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
+
value: mod,
|
|
31
|
+
enumerable: true
|
|
32
|
+
}) : target, mod));
|
|
33
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
+
value: true
|
|
35
|
+
}), mod);
|
|
34
36
|
var useIndexedChildren_exports = {};
|
|
35
37
|
__export(useIndexedChildren_exports, {
|
|
36
38
|
useIndex: () => useIndex,
|
|
37
39
|
useIndexedChildren: () => useIndexedChildren
|
|
38
40
|
});
|
|
39
41
|
module.exports = __toCommonJS(useIndexedChildren_exports);
|
|
40
|
-
var import_jsx_runtime = require("react/jsx-runtime")
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
43
|
+
var React = __toESM(require("react"), 1);
|
|
44
|
+
var MaxIndexContext = /* @__PURE__ */React.createContext([]);
|
|
45
|
+
var IndexContext = /* @__PURE__ */React.createContext(null);
|
|
44
46
|
function useIndex() {
|
|
45
|
-
var maxIndexPath = React.useContext(MaxIndexContext)
|
|
46
|
-
|
|
47
|
+
var maxIndexPath = React.useContext(MaxIndexContext);
|
|
48
|
+
var indexPathString = React.useContext(IndexContext);
|
|
47
49
|
return React.useMemo(function () {
|
|
48
|
-
if (indexPathString === null)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
if (indexPathString === null) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
var indexPath = parseIndexPath(indexPathString);
|
|
54
|
+
var maxIndex = maxIndexPath[maxIndexPath.length - 1];
|
|
55
|
+
var index = indexPath[indexPath.length - 1];
|
|
52
56
|
return {
|
|
53
57
|
maxIndex,
|
|
54
58
|
maxIndexPath,
|
|
@@ -63,12 +67,12 @@ function useIndex() {
|
|
|
63
67
|
}, [maxIndexPath, indexPathString]);
|
|
64
68
|
}
|
|
65
69
|
function useIndexedChildren(children) {
|
|
66
|
-
var parentMaxIndexPath = React.useContext(MaxIndexContext)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
var parentMaxIndexPath = React.useContext(MaxIndexContext);
|
|
71
|
+
var indexPathString = React.useContext(IndexContext);
|
|
72
|
+
var childrenCount = React.Children.count(children);
|
|
73
|
+
var maxIndexPath = React.useMemo(function () {
|
|
74
|
+
return parentMaxIndexPath.concat(childrenCount - 1);
|
|
75
|
+
}, [childrenCount]);
|
|
72
76
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(MaxIndexContext.Provider, {
|
|
73
77
|
value: maxIndexPath,
|
|
74
78
|
children: React.Children.map(children, function (child, index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useIndexedChildren_exports","__export","useIndex","useIndexedChildren","module","exports","import_jsx_runtime","require","React","__toESM","MaxIndexContext","createContext","IndexContext","maxIndexPath","useContext","indexPathString","useMemo","indexPath","parseIndexPath","maxIndex","length","index","isFirst","isLast","isEven","isOdd","Math","abs","children","parentMaxIndexPath","childrenCount","Children","count","concat","jsx","Provider","map","child","isValidElement","toString","key"],"sources":["../../src/useIndexedChildren.tsx"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useIndexedChildren_exports","__export","useIndex","useIndexedChildren","module","exports","import_jsx_runtime","require","React","__toESM","MaxIndexContext","createContext","IndexContext","maxIndexPath","useContext","indexPathString","useMemo","indexPath","parseIndexPath","maxIndex","length","index","isFirst","isLast","isEven","isOdd","Math","abs","children","parentMaxIndexPath","childrenCount","Children","count","concat","jsx","Provider","map","child","isValidElement","toString","key"],"sources":["../../src/useIndexedChildren.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,0BAAA;AAAAC,QAAA,CAAAD,0BAAA;EAAAE,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA;AAAA;AAyBAC,MAAA,CAAAC,OAAuB,GAAAV,YAAA,CAAAK,0BAAA;AA+Cb,IAAAM,kBAAA,GAAAC,OAAA;AA7CV,IAAAC,KAAM,GAAAC,OAAA,CAAAF,OAAkB,QAAM;AAC9B,IAAAG,eAAM,GAAe,eAAMF,KAA6B,CAAAG,aAAI;AAGrD,IAAAC,YAAS,kBAAWJ,KAAA,CAAAG,aAAA;AACzB,SAAMT,SAAA;EACN,IAAAW,YAAM,GAAAL,KAAkB,CAAAM,UAAM,CAAAJ,eAAW;EAEzC,IAAAK,eAAa,GAAQP,KAAM,CAAAM,UAAA,CAAAF,YAAA;EACzB,OAAIJ,KAAA,CAAAQ,OAAA,aAA0B;IAC5B,IAAAD,eAAO;MACT;IAEA;IACA,IAAAE,SAAM,GAAAC,cAAwB,CAAAH,eAAa;IAC3C,IAAAI,QAAM,GAAQN,YAAU,CAAAA,YAAU,CAAAO,MAAU;IAE5C,IAAAC,KAAO,GAAAJ,SAAA,CAAAA,SAAA,CAAAG,MAAA;IAAA,OACL;MACAD,QAAA;MACAN,YAAA;MACAQ,KAAA;MACAJ,SAAA;MACAF,eAAS;MACTO,OAAA,EAAQD,KAAA,KAAU;MAClBE,MAAA,EAAQF,KAAA,KAAQF,QAAM;MACtBK,MAAA,EAAOH,KAAK,GAAI;MAClBI,KAAA,EAAAC,IAAA,CAAAC,GAAA,CAAAN,KAAA;IACF,CAAG;EACL,IAGOR,YAAS,EACdE,eAAM,CACN;AACA;AACA,SAAMZ,kBAAeA,CAAAyB,QAAM;EAAA,IACzBC,kBAAM,GAAArB,KAAmB,CAAAM,UAAO,CAAAJ,eAAiB;EAAA,IAChDK,eAAa,GAAAP,KAAA,CAAAM,UAAA,CAAAF,YAAA;EAChB,IAAAkB,aAAA,GAAAtB,KAAA,CAAAuB,QAAA,CAAAC,KAAA,CAAAJ,QAAA;EAEA,IAAAf,YACE,GAAAL,KAAA,CAAAQ,OAAA;IACsB,OAAAa,kBAAA,CAAAI,MAAA,CAAAH,aAAA;EAAA,GAAW,CAE3BA,aAAC,CAAa;EAAb,OAEC,eACE,IAAAxB,kBACO,CAAA4B,GAAe,EAAAxB,eAAU,CAAAyB,QAC5B;IAAepC,KAGpB,EAAAc,YAAA;IAAAe,QAAA,EAAApB,KAAA,CAAAuB,QAAA,CAAAK,GAAA,CAAAR,QAAA,YAAAS,KAAA,EAAAhB,KAAA;MAPI,OAAM,eAAAb,KAAA,CAAA8B,cAAA,CAAAD,KAAA,uBAAA/B,kBAAA,CAAA4B,GAAA,EAAAtB,YAAA,CAAAuB,QAAA;QAUbpC,KAAA,EAAAgB,eAAA,MAAAA,eAAA,IAAAM,KAAA,CAAAkB,QAAA,OAAAlB,KAAA,CAAAkB,QAAA;QAGNX,QAAA,EAAAS;MAEJ,GAAAA,KAAA,CAAAG,GAAA,IAAAH,KAAA;IAQA;EACE;AACF","ignoreList":[]}
|
package/dist/esm/Group.mjs
CHANGED
|
@@ -5,38 +5,41 @@ import { YStack } from "@tamagui/stacks";
|
|
|
5
5
|
import React from "react";
|
|
6
6
|
import { useIndex, useIndexedChildren } from "./useIndexedChildren.mjs";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
const GROUP_NAME = "Group"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
},
|
|
19
|
-
size: (val, {
|
|
20
|
-
tokens
|
|
21
|
-
}) => ({
|
|
22
|
-
borderRadius: tokens.radius[val] ?? val ?? tokens.radius.$true
|
|
23
|
-
})
|
|
8
|
+
const GROUP_NAME = "Group";
|
|
9
|
+
const [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME);
|
|
10
|
+
const [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME);
|
|
11
|
+
const GroupFrame = styled(YStack, {
|
|
12
|
+
name: "GroupFrame",
|
|
13
|
+
variants: {
|
|
14
|
+
unstyled: {
|
|
15
|
+
false: {
|
|
16
|
+
size: "$true"
|
|
17
|
+
}
|
|
24
18
|
},
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
size: (val, {
|
|
20
|
+
tokens
|
|
21
|
+
}) => {
|
|
22
|
+
const borderRadius = tokens.radius[val] ?? val ?? tokens.radius["$true"];
|
|
23
|
+
return {
|
|
24
|
+
borderRadius
|
|
25
|
+
};
|
|
27
26
|
}
|
|
28
|
-
}
|
|
27
|
+
},
|
|
28
|
+
defaultVariants: {
|
|
29
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
30
|
+
}
|
|
31
|
+
});
|
|
29
32
|
function createGroup(verticalDefault) {
|
|
30
33
|
return withStaticProperties(GroupFrame.styleable((props, ref) => {
|
|
31
34
|
const {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
__scopeGroup,
|
|
36
|
+
children: childrenProp,
|
|
37
|
+
orientation = verticalDefault ? "vertical" : "horizontal",
|
|
38
|
+
disabled,
|
|
39
|
+
...restProps
|
|
40
|
+
} = props;
|
|
41
|
+
const vertical = orientation === "vertical";
|
|
42
|
+
const indexedChildren = useIndexedChildren(React.Children.toArray(childrenProp));
|
|
40
43
|
return /* @__PURE__ */jsx(GroupProvider, {
|
|
41
44
|
vertical,
|
|
42
45
|
disabled,
|
|
@@ -54,52 +57,63 @@ function createGroup(verticalDefault) {
|
|
|
54
57
|
}
|
|
55
58
|
function GroupItem(props) {
|
|
56
59
|
const {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (!treeIndex)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
60
|
+
__scopeGroup,
|
|
61
|
+
children,
|
|
62
|
+
forcePlacement,
|
|
63
|
+
...forwardedProps
|
|
64
|
+
} = props;
|
|
65
|
+
const context = useGroupContext("GroupItem", __scopeGroup);
|
|
66
|
+
const treeIndex = useIndex();
|
|
67
|
+
if (!treeIndex) {
|
|
68
|
+
throw Error("<Group.Item/> should only be used within a <Group/>");
|
|
69
|
+
}
|
|
70
|
+
if (!React.isValidElement(children)) {
|
|
71
|
+
return children;
|
|
72
|
+
}
|
|
73
|
+
const isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0;
|
|
74
|
+
const isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex;
|
|
75
|
+
const radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);
|
|
76
|
+
const groupProps = {
|
|
77
|
+
...forwardedProps,
|
|
78
|
+
...radiusStyles
|
|
79
|
+
};
|
|
80
|
+
if (context.disabled != null) {
|
|
81
|
+
groupProps.disabled = children.props.disabled ?? context.disabled;
|
|
82
|
+
}
|
|
74
83
|
const mergedProps = mergeSlotStyleProps(groupProps, children.props);
|
|
75
84
|
return React.cloneElement(children, mergedProps);
|
|
76
85
|
}
|
|
77
86
|
const useGroupItem = (childrenProps, forcePlacement, __scopeGroup) => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
const treeIndex = useIndex();
|
|
88
|
+
const context = useGroupContext("GroupItem", __scopeGroup);
|
|
89
|
+
if (!treeIndex) {
|
|
90
|
+
throw Error("useGroupItem should only be used within a <Group/>");
|
|
91
|
+
}
|
|
92
|
+
const isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0;
|
|
93
|
+
const isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex;
|
|
94
|
+
const radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);
|
|
95
|
+
return {
|
|
96
|
+
disabled: childrenProps.disabled ?? context.disabled,
|
|
97
|
+
...radiusStyles
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
const Group = createGroup(true);
|
|
101
|
+
const YGroup = Group;
|
|
102
|
+
const XGroup = createGroup(false);
|
|
103
|
+
function getZeroedRadius(isFirst, isLast, vertical) {
|
|
104
|
+
if (vertical) {
|
|
84
105
|
return {
|
|
85
|
-
|
|
86
|
-
|
|
106
|
+
...(isFirst ? null : {
|
|
107
|
+
borderTopLeftRadius: 0,
|
|
108
|
+
borderTopRightRadius: 0
|
|
109
|
+
}),
|
|
110
|
+
...(isLast ? null : {
|
|
111
|
+
borderBottomLeftRadius: 0,
|
|
112
|
+
borderBottomRightRadius: 0
|
|
113
|
+
})
|
|
87
114
|
};
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
YGroup = Group,
|
|
91
|
-
XGroup = createGroup(!1);
|
|
92
|
-
function getZeroedRadius(isFirst, isLast, vertical) {
|
|
93
|
-
return vertical ? {
|
|
94
|
-
...(isFirst ? null : {
|
|
95
|
-
borderTopLeftRadius: 0,
|
|
96
|
-
borderTopRightRadius: 0
|
|
97
|
-
}),
|
|
98
|
-
...(isLast ? null : {
|
|
99
|
-
borderBottomLeftRadius: 0,
|
|
100
|
-
borderBottomRightRadius: 0
|
|
101
|
-
})
|
|
102
|
-
} : {
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
103
117
|
...(isFirst ? null : {
|
|
104
118
|
borderTopLeftRadius: 0,
|
|
105
119
|
borderBottomLeftRadius: 0
|
package/dist/esm/Group.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mergeSlotStyleProps","styled","createContextScope","withStaticProperties","YStack","React","useIndex","useIndexedChildren","jsx","GROUP_NAME","createGroupContext","createGroupScope","GroupProvider","useGroupContext","GroupFrame","name","variants","unstyled","false","size","val","tokens","borderRadius","radius","
|
|
1
|
+
{"version":3,"names":["mergeSlotStyleProps","styled","createContextScope","withStaticProperties","YStack","React","useIndex","useIndexedChildren","jsx","GROUP_NAME","createGroupContext","createGroupScope","GroupProvider","useGroupContext","GroupFrame","name","variants","unstyled","false","size","val","tokens","borderRadius","radius","defaultVariants","process","env","TAMAGUI_HEADLESS","createGroup","verticalDefault","styleable","props","ref","__scopeGroup","children","childrenProp","orientation","disabled","restProps","vertical","indexedChildren","Children","toArray","scope","flexDirection","Item","GroupItem","forcePlacement","forwardedProps","context","treeIndex","Error","isValidElement","isFirst","index","isLast","maxIndex","radiusStyles","getZeroedRadius","groupProps","mergedProps","cloneElement","useGroupItem","childrenProps","Group","YGroup","XGroup","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],"sources":["../../src/Group.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,mBAAA,EAAqBC,MAAA,QAAc;AAE5C,SAASC,kBAAA,QAA0B;AACnC,SAASC,oBAAA,QAA4B;AACrC,SAASC,MAAA,QAAc;AACvB,OAAOC,KAAA,MAAW;AAClB,SAASC,QAAA,EAAUC,kBAAA,QAA0B;AA2DnC,SAAAC,GAAA;AApDV,MAAMC,UAAA,GAAa;AAGnB,MAAM,CAACC,kBAAA,EAAoBC,gBAAgB,IAAIT,kBAAA,CAAmBO,UAAU;AAC5E,MAAM,CAACG,aAAA,EAAeC,eAAe,IAAIH,kBAAA,CAAsCD,UAAU;AAElF,MAAMK,UAAA,GAAab,MAAA,CAAOG,MAAA,EAAQ;EACvCW,IAAA,EAAM;EAENC,QAAA,EAAU;IACRC,QAAA,EAAU;MACRC,KAAA,EAAO;QACLC,IAAA,EAAM;MACR;IACF;IAEAA,IAAA,EAAMA,CAACC,GAAA,EAAK;MAAEC;IAAO,MAAM;MACzB,MAAMC,YAAA,GAAeD,MAAA,CAAOE,MAAA,CAAOH,GAAG,KAAKA,GAAA,IAAOC,MAAA,CAAOE,MAAA,CAAO,OAAO;MACvE,OAAO;QACLD;MACF;IACF;EACF;EAEAE,eAAA,EAAiB;IACfP,QAAA,EAAUQ,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;EAC7C;AACF,CAAC;AASD,SAASC,YAAYC,eAAA,EAA0B;EAC7C,OAAO1B,oBAAA,CACLW,UAAA,CAAWgB,SAAA,CAAwC,CAACC,KAAA,EAAOC,GAAA,KAAQ;IACjE,MAAM;MACJC,YAAA;MACAC,QAAA,EAAUC,YAAA;MACVC,WAAA,GAAcP,eAAA,GAAkB,aAAa;MAC7CQ,QAAA;MACA,GAAGC;IACL,IAAIP,KAAA;IAEJ,MAAMQ,QAAA,GAAWH,WAAA,KAAgB;IACjC,MAAMI,eAAA,GAAkBjC,kBAAA,CAAmBF,KAAA,CAAMoC,QAAA,CAASC,OAAA,CAAQP,YAAY,CAAC;IAE/E,OACE,eAAA3B,GAAA,CAACI,aAAA;MAAc2B,QAAA;MAAoBF,QAAA;MAAoBM,KAAA,EAAOV,YAAA;MAC5DC,QAAA,iBAAA1B,GAAA,CAACM,UAAA;QACCkB,GAAA;QACAY,aAAA,EAAeL,QAAA,GAAW,WAAW;QACpC,GAAGD,SAAA;QAEHJ,QAAA,EAAAM;MAAA,CACH;IAAA,CACF;EAEJ,CAAC,GACD;IACEK,IAAA,EAAMC;EACR,CACF;AACF;AAUA,SAASA,UAAUf,KAAA,EAA0D;EAC3E,MAAM;IAAEE,YAAA;IAAcC,QAAA;IAAUa,cAAA;IAAgB,GAAGC;EAAe,IAAIjB,KAAA;EACtE,MAAMkB,OAAA,GAAUpC,eAAA,CAAgB,aAAaoB,YAAY;EACzD,MAAMiB,SAAA,GAAY5C,QAAA,CAAS;EAE3B,IAAI,CAAC4C,SAAA,EAAW;IACd,MAAMC,KAAA,CAAM,qDAAqD;EACnE;EAEA,IAAI,CAAC9C,KAAA,CAAM+C,cAAA,CAAelB,QAAQ,GAAG;IACnC,OAAOA,QAAA;EACT;EAEA,MAAMmB,OAAA,GACJN,cAAA,KAAmB,WAAYA,cAAA,KAAmB,UAAUG,SAAA,CAAUI,KAAA,KAAU;EAClF,MAAMC,MAAA,GACJR,cAAA,KAAmB,UAClBA,cAAA,KAAmB,WAAWG,SAAA,CAAUI,KAAA,KAAUJ,SAAA,CAAUM,QAAA;EAG/D,MAAMC,YAAA,GAAeC,eAAA,CAAgBL,OAAA,EAASE,MAAA,EAAQN,OAAA,CAAQV,QAAQ;EAKtE,MAAMoB,UAAA,GAAkC;IACtC,GAAGX,cAAA;IACH,GAAGS;EACL;EAEA,IAAIR,OAAA,CAAQZ,QAAA,IAAY,MAAM;IAC5BsB,UAAA,CAAWtB,QAAA,GAAYH,QAAA,CAASH,KAAA,CAAcM,QAAA,IAAYY,OAAA,CAAQZ,QAAA;EACpE;EAGA,MAAMuB,WAAA,GAAc5D,mBAAA,CAAoB2D,UAAA,EAAYzB,QAAA,CAASH,KAAY;EAEzE,OAAO1B,KAAA,CAAMwD,YAAA,CAAa3B,QAAA,EAAU0B,WAAW;AACjD;AAEO,MAAME,YAAA,GAAeA,CAC1BC,aAAA,EACAhB,cAAA,EACAd,YAAA,KACG;EACH,MAAMiB,SAAA,GAAY5C,QAAA,CAAS;EAC3B,MAAM2C,OAAA,GAAUpC,eAAA,CAAgB,aAAaoB,YAAY;EAEzD,IAAI,CAACiB,SAAA,EAAW;IACd,MAAMC,KAAA,CAAM,oDAAoD;EAClE;EAEA,MAAME,OAAA,GACJN,cAAA,KAAmB,WAAYA,cAAA,KAAmB,UAAUG,SAAA,CAAUI,KAAA,KAAU;EAClF,MAAMC,MAAA,GACJR,cAAA,KAAmB,UAClBA,cAAA,KAAmB,WAAWG,SAAA,CAAUI,KAAA,KAAUJ,SAAA,CAAUM,QAAA;EAE/D,MAAMC,YAAA,GAAeC,eAAA,CAAgBL,OAAA,EAASE,MAAA,EAAQN,OAAA,CAAQV,QAAQ;EAEtE,OAAO;IACLF,QAAA,EAAU0B,aAAA,CAAc1B,QAAA,IAAYY,OAAA,CAAQZ,QAAA;IAC5C,GAAGoB;EACL;AACF;AAEO,MAAMO,KAAA,GAAQpC,WAAA,CAAY,IAAI;AAC9B,MAAMqC,MAAA,GAASD,KAAA;AACf,MAAME,MAAA,GAAStC,WAAA,CAAY,KAAK;AAMvC,SAAS8B,gBAAgBL,OAAA,EAAkBE,MAAA,EAAiBhB,QAAA,EAAmB;EAC7E,IAAIA,QAAA,EAAU;IAEZ,OAAO;MACL,IAAIc,OAAA,GAAU,OAAO;QAAEc,mBAAA,EAAqB;QAAGC,oBAAA,EAAsB;MAAE;MACvE,IAAIb,MAAA,GAAS,OAAO;QAAEc,sBAAA,EAAwB;QAAGC,uBAAA,EAAyB;MAAE;IAC9E;EACF;EAEA,OAAO;IACL,IAAIjB,OAAA,GAAU,OAAO;MAAEc,mBAAA,EAAqB;MAAGE,sBAAA,EAAwB;IAAE;IACzE,IAAId,MAAA,GAAS,OAAO;MAAEa,oBAAA,EAAsB;MAAGE,uBAAA,EAAyB;IAAE;EAC5E;AACF","ignoreList":[]}
|
package/dist/esm/Group.native.js
CHANGED
|
@@ -5,44 +5,43 @@ 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
|
-
var GROUP_NAME = "Group"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
size: function (val, param) {
|
|
20
|
-
var {
|
|
21
|
-
tokens
|
|
22
|
-
} = param,
|
|
23
|
-
_tokens_radius_val,
|
|
24
|
-
_ref,
|
|
25
|
-
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;
|
|
26
|
-
return {
|
|
27
|
-
borderRadius
|
|
28
|
-
};
|
|
8
|
+
var GROUP_NAME = "Group";
|
|
9
|
+
var [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME);
|
|
10
|
+
var [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME);
|
|
11
|
+
var GroupFrame = styled(YStack, {
|
|
12
|
+
name: "GroupFrame",
|
|
13
|
+
variants: {
|
|
14
|
+
unstyled: {
|
|
15
|
+
false: {
|
|
16
|
+
size: "$true"
|
|
29
17
|
}
|
|
30
18
|
},
|
|
31
|
-
|
|
32
|
-
|
|
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
|
+
};
|
|
33
28
|
}
|
|
34
|
-
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
32
|
+
}
|
|
33
|
+
});
|
|
35
34
|
function createGroup(verticalDefault) {
|
|
36
35
|
return withStaticProperties(GroupFrame.styleable(function (props, ref) {
|
|
37
36
|
var {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
__scopeGroup,
|
|
38
|
+
children: childrenProp,
|
|
39
|
+
orientation = verticalDefault ? "vertical" : "horizontal",
|
|
40
|
+
disabled,
|
|
41
|
+
...restProps
|
|
42
|
+
} = props;
|
|
43
|
+
var vertical = orientation === "vertical";
|
|
44
|
+
var indexedChildren = useIndexedChildren(React.Children.toArray(childrenProp));
|
|
46
45
|
return /* @__PURE__ */_jsx(GroupProvider, {
|
|
47
46
|
vertical,
|
|
48
47
|
disabled,
|
|
@@ -60,22 +59,26 @@ function createGroup(verticalDefault) {
|
|
|
60
59
|
}
|
|
61
60
|
function GroupItem(props) {
|
|
62
61
|
var {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (!treeIndex)
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
62
|
+
__scopeGroup,
|
|
63
|
+
children,
|
|
64
|
+
forcePlacement,
|
|
65
|
+
...forwardedProps
|
|
66
|
+
} = props;
|
|
67
|
+
var context = useGroupContext("GroupItem", __scopeGroup);
|
|
68
|
+
var treeIndex = useIndex();
|
|
69
|
+
if (!treeIndex) {
|
|
70
|
+
throw Error("<Group.Item/> should only be used within a <Group/>");
|
|
71
|
+
}
|
|
72
|
+
if (! /* @__PURE__ */React.isValidElement(children)) {
|
|
73
|
+
return children;
|
|
74
|
+
}
|
|
75
|
+
var isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0;
|
|
76
|
+
var isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex;
|
|
77
|
+
var radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);
|
|
78
|
+
var groupProps = {
|
|
79
|
+
...forwardedProps,
|
|
80
|
+
...radiusStyles
|
|
81
|
+
};
|
|
79
82
|
if (context.disabled != null) {
|
|
80
83
|
var _children_props_disabled;
|
|
81
84
|
groupProps.disabled = (_children_props_disabled = children.props.disabled) !== null && _children_props_disabled !== void 0 ? _children_props_disabled : context.disabled;
|
|
@@ -84,32 +87,37 @@ function GroupItem(props) {
|
|
|
84
87
|
return /* @__PURE__ */React.cloneElement(children, mergedProps);
|
|
85
88
|
}
|
|
86
89
|
var useGroupItem = function (childrenProps, forcePlacement, __scopeGroup) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
var treeIndex = useIndex();
|
|
91
|
+
var context = useGroupContext("GroupItem", __scopeGroup);
|
|
92
|
+
if (!treeIndex) {
|
|
93
|
+
throw Error("useGroupItem should only be used within a <Group/>");
|
|
94
|
+
}
|
|
95
|
+
var isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0;
|
|
96
|
+
var isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex;
|
|
97
|
+
var radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);
|
|
98
|
+
var _childrenProps_disabled;
|
|
99
|
+
return {
|
|
100
|
+
disabled: (_childrenProps_disabled = childrenProps.disabled) !== null && _childrenProps_disabled !== void 0 ? _childrenProps_disabled : context.disabled,
|
|
101
|
+
...radiusStyles
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
var Group = createGroup(true);
|
|
105
|
+
var YGroup = Group;
|
|
106
|
+
var XGroup = createGroup(false);
|
|
107
|
+
function getZeroedRadius(isFirst, isLast, vertical) {
|
|
108
|
+
if (vertical) {
|
|
94
109
|
return {
|
|
95
|
-
|
|
96
|
-
|
|
110
|
+
...(isFirst ? null : {
|
|
111
|
+
borderTopLeftRadius: 0,
|
|
112
|
+
borderTopRightRadius: 0
|
|
113
|
+
}),
|
|
114
|
+
...(isLast ? null : {
|
|
115
|
+
borderBottomLeftRadius: 0,
|
|
116
|
+
borderBottomRightRadius: 0
|
|
117
|
+
})
|
|
97
118
|
};
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
YGroup = Group,
|
|
101
|
-
XGroup = createGroup(!1);
|
|
102
|
-
function getZeroedRadius(isFirst, isLast, vertical) {
|
|
103
|
-
return vertical ? {
|
|
104
|
-
...(isFirst ? null : {
|
|
105
|
-
borderTopLeftRadius: 0,
|
|
106
|
-
borderTopRightRadius: 0
|
|
107
|
-
}),
|
|
108
|
-
...(isLast ? null : {
|
|
109
|
-
borderBottomLeftRadius: 0,
|
|
110
|
-
borderBottomRightRadius: 0
|
|
111
|
-
})
|
|
112
|
-
} : {
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
113
121
|
...(isFirst ? null : {
|
|
114
122
|
borderTopLeftRadius: 0,
|
|
115
123
|
borderBottomLeftRadius: 0
|