@tamagui/group 1.111.7 → 1.111.9
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.js +3 -3
- package/dist/cjs/Group.js.map +1 -1
- package/dist/cjs/Group.native.js +3 -3
- package/dist/cjs/Group.native.js.map +1 -1
- package/dist/cjs/useIndexedChildren.js +70 -0
- package/dist/cjs/useIndexedChildren.js.map +6 -0
- package/dist/cjs/useIndexedChildren.native.js +79 -0
- package/dist/cjs/useIndexedChildren.native.js.map +6 -0
- package/dist/esm/Group.js +2 -2
- package/dist/esm/Group.js.map +1 -1
- package/dist/esm/Group.mjs +2 -2
- package/dist/esm/Group.mjs.map +1 -1
- package/dist/esm/Group.native.js +177 -117
- package/dist/esm/Group.native.js.map +1 -6
- package/dist/esm/index.native.js +2 -2
- package/dist/esm/index.native.js.map +1 -6
- package/dist/esm/useIndexedChildren.js +47 -0
- package/dist/esm/useIndexedChildren.js.map +6 -0
- package/dist/esm/useIndexedChildren.mjs +43 -0
- package/dist/esm/useIndexedChildren.mjs.map +1 -0
- package/dist/esm/useIndexedChildren.native.js +49 -0
- package/dist/esm/useIndexedChildren.native.js.map +1 -0
- package/dist/jsx/Group.js +2 -2
- package/dist/jsx/Group.js.map +1 -1
- package/dist/jsx/Group.mjs +2 -2
- package/dist/jsx/Group.mjs.map +1 -1
- package/dist/jsx/Group.native.js +2 -2
- package/dist/jsx/Group.native.js.map +2 -2
- package/dist/jsx/useIndexedChildren.js +47 -0
- package/dist/jsx/useIndexedChildren.js.map +6 -0
- package/dist/jsx/useIndexedChildren.mjs +43 -0
- package/dist/jsx/useIndexedChildren.mjs.map +1 -0
- package/dist/jsx/useIndexedChildren.native.js +51 -0
- package/dist/jsx/useIndexedChildren.native.js.map +6 -0
- package/package.json +8 -9
- package/src/Group.tsx +3 -4
- package/src/useIndexedChildren.tsx +99 -0
- package/types/Group.d.ts +3 -3
- package/types/Group.d.ts.map +1 -1
- package/types/useIndexedChildren.d.ts +40 -0
- package/types/useIndexedChildren.d.ts.map +1 -0
- package/dist/esm/Group.native.mjs +0 -217
- package/dist/esm/Group.native.mjs.map +0 -1
- package/dist/esm/index.native.mjs +0 -2
- package/dist/esm/index.native.mjs.map +0 -1
package/dist/jsx/Group.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["getConfig","getTokens","getVariableValue","isTamaguiElement","mergeProps","spacedChildren","styled","useProps","createContextScope","withStaticProperties","ThemeableStack","useControllableState","React","ScrollView","useIndex","useIndexedChildren","jsx","GROUP_NAME","createGroupContext","createGroupScope","GroupProvider","useGroupContext","GroupFrame","name","variants","unstyled","false","size","val","tokens","borderRadius","radius","$true","defaultVariants","process","env","TAMAGUI_HEADLESS","createGroup","verticalDefault","styleable","props","ref","activeProps","__scopeGroup","children","childrenProp","space","spaceDirection","separator","scrollable","axis","orientation","disabled","disabledProp","disablePassBorderRadius","disablePassBorderRadiusProp","forceUseItem","restProps","vertical","itemChildrenCount","setItemChildrenCount","defaultProp","isUsingItems","childrenArray","Children","toArray","filter","isValidElement","map","child","i","type","Fragment","isFirst","isLast","length","radiusStyles","getBorderRadius","disable","props2","style","cloneElementWithPropOrder","indexedChildren","direction","onItemMount","useCallback","prev","onItemUnmount","scope","flexDirection","wrapScroll","Item","GroupItem","forwardRef","_ref","forcePlacement","groupItemProps","useGroupItem","cloneElement","childrenProps","treeIndex","context","useEffect","Error","index","maxIndex","propsToPass","Group","YGroup","XGroup","showScrollIndicator","showsVerticalScrollIndicator","horizontal","showsHorizontalScrollIndicator","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","next","shorthands"],"sources":["../../src/Group.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/jsx/Group.native.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React from "react";
|
|
3
2
|
import { getConfig, getTokens, getVariableValue, isTamaguiElement, mergeProps, spacedChildren, styled, useProps } from "@tamagui/core";
|
|
4
3
|
import { createContextScope } from "@tamagui/create-context";
|
|
5
4
|
import { withStaticProperties } from "@tamagui/helpers";
|
|
6
5
|
import { ThemeableStack } from "@tamagui/stacks";
|
|
7
6
|
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
7
|
+
import React from "react";
|
|
8
8
|
import { ScrollView } from "react-native";
|
|
9
|
-
import { useIndex, useIndexedChildren } from "
|
|
9
|
+
import { useIndex, useIndexedChildren } from "./useIndexedChildren";
|
|
10
10
|
var GROUP_NAME = "Group", [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME), [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME), GroupFrame = styled(ThemeableStack, {
|
|
11
11
|
name: "GroupFrame",
|
|
12
12
|
variants: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/ui/group/src/Group.tsx"],
|
|
4
|
-
"mappings": ";
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["getConfig", "getTokens", "getVariableValue", "isTamaguiElement", "mergeProps", "spacedChildren", "styled", "useProps", "createContextScope", "withStaticProperties", "ThemeableStack", "useControllableState", "React", "ScrollView", "useIndex", "useIndexedChildren", "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", "activeProps", "__scopeGroup", "children", "childrenProp", "space", "spaceDirection", "separator", "scrollable", "axis", "orientation", "disabled", "disabledProp", "disablePassBorderRadius", "disablePassBorderRadiusProp", "forceUseItem", "restProps", "vertical", "itemChildrenCount", "setItemChildrenCount", "defaultProp", "isUsingItems", "undefined", "hasRadius", "childrenArray", "Children", "toArray", "filter", "isValidElement", "map", "child", "i", "type", "Fragment", "isFirst", "isLast", "length", "radiusStyles", "getBorderRadius", "disable", "style", "cloneElementWithPropOrder", "indexedChildren", "direction", "onItemMount", "useCallback", "prev", "onItemUnmount", "scope", "flexDirection", "wrapScroll", "Item", "GroupItem", "forwardRef", "_ref", "forcePlacement", "groupItemProps", "useGroupItem", "cloneElement", "childrenProps", "treeIndex", "context", "useEffect", "Error", "index", "maxIndex", "propsToPass", "Group", "YGroup", "XGroup", "showScrollIndicator", "showsVerticalScrollIndicator", "horizontal", "showsHorizontalScrollIndicator", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "next", "shorthands"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
const MaxIndexContext = React.createContext([]), IndexContext = React.createContext(null);
|
|
4
|
+
function useIndex() {
|
|
5
|
+
const maxIndexPath = React.useContext(MaxIndexContext), indexPathString = React.useContext(IndexContext);
|
|
6
|
+
return React.useMemo(() => {
|
|
7
|
+
if (indexPathString === null)
|
|
8
|
+
return null;
|
|
9
|
+
const indexPath = parseIndexPath(indexPathString), maxIndex = maxIndexPath[maxIndexPath.length - 1], index = indexPath[indexPath.length - 1];
|
|
10
|
+
return {
|
|
11
|
+
maxIndex,
|
|
12
|
+
maxIndexPath,
|
|
13
|
+
index,
|
|
14
|
+
indexPath,
|
|
15
|
+
indexPathString,
|
|
16
|
+
isFirst: index === 0,
|
|
17
|
+
isLast: index === maxIndex,
|
|
18
|
+
isEven: index % 2 === 0,
|
|
19
|
+
isOdd: Math.abs(index % 2) === 1
|
|
20
|
+
};
|
|
21
|
+
}, [maxIndexPath, indexPathString]);
|
|
22
|
+
}
|
|
23
|
+
function useIndexedChildren(children) {
|
|
24
|
+
const parentMaxIndexPath = React.useContext(MaxIndexContext), indexPathString = React.useContext(IndexContext), childrenCount = React.Children.count(children), maxIndexPath = React.useMemo(
|
|
25
|
+
() => parentMaxIndexPath.concat(childrenCount - 1),
|
|
26
|
+
[childrenCount]
|
|
27
|
+
);
|
|
28
|
+
return /* @__PURE__ */ jsx(MaxIndexContext.Provider, { value: maxIndexPath, children: React.Children.map(
|
|
29
|
+
children,
|
|
30
|
+
(child, index) => React.isValidElement(child) ? /* @__PURE__ */ jsx(
|
|
31
|
+
IndexContext.Provider,
|
|
32
|
+
{
|
|
33
|
+
value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),
|
|
34
|
+
children: child
|
|
35
|
+
},
|
|
36
|
+
child.key
|
|
37
|
+
) : child
|
|
38
|
+
) });
|
|
39
|
+
}
|
|
40
|
+
function parseIndexPath(indexPathString) {
|
|
41
|
+
return indexPathString.split(".").map((index) => Number.parseInt(index, 10));
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
useIndex,
|
|
45
|
+
useIndexedChildren
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=useIndexedChildren.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/useIndexedChildren.tsx"],
|
|
4
|
+
"mappings": "AAyBA,YAAY,WAAW;AA+Cb;AA7CV,MAAM,kBAAkB,MAAM,cAAwB,CAAC,CAAC,GAClD,eAAe,MAAM,cAA6B,IAAI;AAGrD,SAAS,WAAW;AACzB,QAAM,eAAe,MAAM,WAAW,eAAe,GAC/C,kBAAkB,MAAM,WAAW,YAAY;AAErD,SAAO,MAAM,QAAQ,MAAM;AACzB,QAAI,oBAAoB;AACtB,aAAO;AAGT,UAAM,YAAY,eAAe,eAAe,GAC1C,WAAW,aAAa,aAAa,SAAS,CAAC,GAC/C,QAAQ,UAAU,UAAU,SAAS,CAAC;AAE5C,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,UAAU;AAAA,MACnB,QAAQ,UAAU;AAAA,MAClB,QAAQ,QAAQ,MAAM;AAAA,MACtB,OAAO,KAAK,IAAI,QAAQ,CAAC,MAAM;AAAA,IACjC;AAAA,EACF,GAAG,CAAC,cAAc,eAAe,CAAC;AACpC;AAGO,SAAS,mBAAmB,UAA2B;AAC5D,QAAM,qBAAqB,MAAM,WAAW,eAAe,GACrD,kBAAkB,MAAM,WAAW,YAAY,GAC/C,gBAAgB,MAAM,SAAS,MAAM,QAAQ,GAC7C,eAAe,MAAM;AAAA,IACzB,MAAM,mBAAmB,OAAO,gBAAgB,CAAC;AAAA,IACjD,CAAC,aAAa;AAAA,EAChB;AAEA,SACE,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,cAC9B,gBAAM,SAAS;AAAA,IAAI;AAAA,IAAU,CAAC,OAAO,UACpC,MAAM,eAAe,KAAK,IACxB;AAAA,MAAC,aAAa;AAAA,MAAb;AAAA,QAEC,OACE,kBACI,GAAG,eAAe,IAAI,MAAM,SAAS,CAAC,KACtC,MAAM,SAAS;AAAA,QAGpB;AAAA;AAAA,MAPI,MAAM;AAAA,IAQb,IAEA;AAAA,EAEJ,GACF;AAEJ;AAQA,SAAS,eAAe,iBAAyB;AAC/C,SAAO,gBAAgB,MAAM,GAAG,EAAE,IAAI,CAAC,UAAU,OAAO,SAAS,OAAO,EAAE,CAAC;AAC7E;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
const MaxIndexContext = React.createContext([]),
|
|
4
|
+
IndexContext = React.createContext(null);
|
|
5
|
+
function useIndex() {
|
|
6
|
+
const maxIndexPath = React.useContext(MaxIndexContext),
|
|
7
|
+
indexPathString = React.useContext(IndexContext);
|
|
8
|
+
return React.useMemo(() => {
|
|
9
|
+
if (indexPathString === null) return null;
|
|
10
|
+
const indexPath = parseIndexPath(indexPathString),
|
|
11
|
+
maxIndex = maxIndexPath[maxIndexPath.length - 1],
|
|
12
|
+
index = indexPath[indexPath.length - 1];
|
|
13
|
+
return {
|
|
14
|
+
maxIndex,
|
|
15
|
+
maxIndexPath,
|
|
16
|
+
index,
|
|
17
|
+
indexPath,
|
|
18
|
+
indexPathString,
|
|
19
|
+
isFirst: index === 0,
|
|
20
|
+
isLast: index === maxIndex,
|
|
21
|
+
isEven: index % 2 === 0,
|
|
22
|
+
isOdd: Math.abs(index % 2) === 1
|
|
23
|
+
};
|
|
24
|
+
}, [maxIndexPath, indexPathString]);
|
|
25
|
+
}
|
|
26
|
+
function useIndexedChildren(children) {
|
|
27
|
+
const parentMaxIndexPath = React.useContext(MaxIndexContext),
|
|
28
|
+
indexPathString = React.useContext(IndexContext),
|
|
29
|
+
childrenCount = React.Children.count(children),
|
|
30
|
+
maxIndexPath = React.useMemo(() => parentMaxIndexPath.concat(childrenCount - 1), [childrenCount]);
|
|
31
|
+
return /* @__PURE__ */jsx(MaxIndexContext.Provider, {
|
|
32
|
+
value: maxIndexPath,
|
|
33
|
+
children: React.Children.map(children, (child, index) => React.isValidElement(child) ? /* @__PURE__ */jsx(IndexContext.Provider, {
|
|
34
|
+
value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),
|
|
35
|
+
children: child
|
|
36
|
+
}, child.key) : child)
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function parseIndexPath(indexPathString) {
|
|
40
|
+
return indexPathString.split(".").map(index => Number.parseInt(index, 10));
|
|
41
|
+
}
|
|
42
|
+
export { useIndex, useIndexedChildren };
|
|
43
|
+
//# sourceMappingURL=useIndexedChildren.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","jsx","MaxIndexContext","createContext","IndexContext","useIndex","maxIndexPath","useContext","indexPathString","useMemo","indexPath","parseIndexPath","maxIndex","length","index","isFirst","isLast","isEven","isOdd","Math","abs","useIndexedChildren","children","parentMaxIndexPath","childrenCount","Children","count","concat","Provider","value","map","child","isValidElement","toString","key","split","Number","parseInt"],"sources":["../../src/useIndexedChildren.tsx"],"sourcesContent":[null],"mappings":"AAyBA,YAAYA,KAAA,MAAW;AA+Cb,SAAAC,GAAA;AA7CV,MAAMC,eAAA,GAAkBF,KAAA,CAAMG,aAAA,CAAwB,EAAE;EAClDC,YAAA,GAAeJ,KAAA,CAAMG,aAAA,CAA6B,IAAI;AAGrD,SAASE,SAAA,EAAW;EACzB,MAAMC,YAAA,GAAeN,KAAA,CAAMO,UAAA,CAAWL,eAAe;IAC/CM,eAAA,GAAkBR,KAAA,CAAMO,UAAA,CAAWH,YAAY;EAErD,OAAOJ,KAAA,CAAMS,OAAA,CAAQ,MAAM;IACzB,IAAID,eAAA,KAAoB,MACtB,OAAO;IAGT,MAAME,SAAA,GAAYC,cAAA,CAAeH,eAAe;MAC1CI,QAAA,GAAWN,YAAA,CAAaA,YAAA,CAAaO,MAAA,GAAS,CAAC;MAC/CC,KAAA,GAAQJ,SAAA,CAAUA,SAAA,CAAUG,MAAA,GAAS,CAAC;IAE5C,OAAO;MACLD,QAAA;MACAN,YAAA;MACAQ,KAAA;MACAJ,SAAA;MACAF,eAAA;MACAO,OAAA,EAASD,KAAA,KAAU;MACnBE,MAAA,EAAQF,KAAA,KAAUF,QAAA;MAClBK,MAAA,EAAQH,KAAA,GAAQ,MAAM;MACtBI,KAAA,EAAOC,IAAA,CAAKC,GAAA,CAAIN,KAAA,GAAQ,CAAC,MAAM;IACjC;EACF,GAAG,CAACR,YAAA,EAAcE,eAAe,CAAC;AACpC;AAGO,SAASa,mBAAmBC,QAAA,EAA2B;EAC5D,MAAMC,kBAAA,GAAqBvB,KAAA,CAAMO,UAAA,CAAWL,eAAe;IACrDM,eAAA,GAAkBR,KAAA,CAAMO,UAAA,CAAWH,YAAY;IAC/CoB,aAAA,GAAgBxB,KAAA,CAAMyB,QAAA,CAASC,KAAA,CAAMJ,QAAQ;IAC7ChB,YAAA,GAAeN,KAAA,CAAMS,OAAA,CACzB,MAAMc,kBAAA,CAAmBI,MAAA,CAAOH,aAAA,GAAgB,CAAC,GACjD,CAACA,aAAa,CAChB;EAEA,OACE,eAAAvB,GAAA,CAACC,eAAA,CAAgB0B,QAAA,EAAhB;IAAyBC,KAAA,EAAOvB,YAAA;IAC9BgB,QAAA,EAAAtB,KAAA,CAAMyB,QAAA,CAASK,GAAA,CAAIR,QAAA,EAAU,CAACS,KAAA,EAAOjB,KAAA,KACpCd,KAAA,CAAMgC,cAAA,CAAeD,KAAK,IACxB,eAAA9B,GAAA,CAACG,YAAA,CAAawB,QAAA,EAAb;MAECC,KAAA,EACErB,eAAA,GACI,GAAGA,eAAe,IAAIM,KAAA,CAAMmB,QAAA,CAAS,CAAC,KACtCnB,KAAA,CAAMmB,QAAA,CAAS;MAGpBX,QAAA,EAAAS;IAAA,GAPIA,KAAA,CAAMG,GAQb,IAEAH,KAEJ;EAAA,CACF;AAEJ;AAQA,SAASpB,eAAeH,eAAA,EAAyB;EAC/C,OAAOA,eAAA,CAAgB2B,KAAA,CAAM,GAAG,EAAEL,GAAA,CAAKhB,KAAA,IAAUsB,MAAA,CAAOC,QAAA,CAASvB,KAAA,EAAO,EAAE,CAAC;AAC7E","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var MaxIndexContext = /* @__PURE__ */ React.createContext([]), IndexContext = /* @__PURE__ */ React.createContext(null);
|
|
4
|
+
function useIndex() {
|
|
5
|
+
var maxIndexPath = React.useContext(MaxIndexContext), indexPathString = React.useContext(IndexContext);
|
|
6
|
+
return React.useMemo(function() {
|
|
7
|
+
if (indexPathString === null)
|
|
8
|
+
return null;
|
|
9
|
+
var indexPath = parseIndexPath(indexPathString), maxIndex = maxIndexPath[maxIndexPath.length - 1], index = indexPath[indexPath.length - 1];
|
|
10
|
+
return {
|
|
11
|
+
maxIndex,
|
|
12
|
+
maxIndexPath,
|
|
13
|
+
index,
|
|
14
|
+
indexPath,
|
|
15
|
+
indexPathString,
|
|
16
|
+
isFirst: index === 0,
|
|
17
|
+
isLast: index === maxIndex,
|
|
18
|
+
isEven: index % 2 === 0,
|
|
19
|
+
isOdd: Math.abs(index % 2) === 1
|
|
20
|
+
};
|
|
21
|
+
}, [
|
|
22
|
+
maxIndexPath,
|
|
23
|
+
indexPathString
|
|
24
|
+
]);
|
|
25
|
+
}
|
|
26
|
+
function useIndexedChildren(children) {
|
|
27
|
+
var parentMaxIndexPath = React.useContext(MaxIndexContext), indexPathString = React.useContext(IndexContext), childrenCount = React.Children.count(children), maxIndexPath = React.useMemo(function() {
|
|
28
|
+
return parentMaxIndexPath.concat(childrenCount - 1);
|
|
29
|
+
}, [
|
|
30
|
+
childrenCount
|
|
31
|
+
]);
|
|
32
|
+
return /* @__PURE__ */ _jsx(MaxIndexContext.Provider, {
|
|
33
|
+
value: maxIndexPath,
|
|
34
|
+
children: React.Children.map(children, function(child, index) {
|
|
35
|
+
return /* @__PURE__ */ React.isValidElement(child) ? /* @__PURE__ */ _jsx(IndexContext.Provider, {
|
|
36
|
+
value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),
|
|
37
|
+
children: child
|
|
38
|
+
}, child.key) : child;
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function parseIndexPath(indexPathString) {
|
|
43
|
+
return indexPathString.split(".").map(function(index) {
|
|
44
|
+
return Number.parseInt(index, 10);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
useIndex,
|
|
49
|
+
useIndexedChildren
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=useIndexedChildren.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/ui/group/src/useIndexedChildren.tsx"],
|
|
4
|
+
"mappings": "AAuBC,SAAA,OAAA,YAAA;AAED,YAAYA,WAAW;AAEvB,IAAMC,kBAAkBD,sBAAME,cAAwB,CAAA,CAAE,GAClDC,eAAeH,sBAAME,cAA6B,IAAA;AAGjD,SAASE,WAAAA;AACd,MAAMC,eAAeL,MAAMM,WAAWL,eAAAA,GAChCM,kBAAkBP,MAAMM,WAAWH,YAAAA;AAEzC,SAAOH,MAAMQ,QAAQ,WAAA;AACnB,QAAID,oBAAoB;AACtB,aAAO;AAGT,QAAME,YAAYC,eAAeH,eAAAA,GAC3BI,WAAWN,aAAaA,aAAaO,SAAS,CAAA,GAC9CC,QAAQJ,UAAUA,UAAUG,SAAS,CAAA;AAE3C,WAAO;MACLD;MACAN;MACAQ;MACAJ;MACAF;MACAO,SAASD,UAAU;MACnBE,QAAQF,UAAUF;MAClBK,QAAQH,QAAQ,MAAM;MACtBI,OAAOC,KAAKC,IAAIN,QAAQ,CAAA,MAAO;IACjC;EACF,GAAG;IAACR;IAAcE;GAAgB;AACpC;AAGO,SAASa,mBAAmBC,UAAyB;AAC1D,MAAMC,qBAAqBtB,MAAMM,WAAWL,eAAAA,GACtCM,kBAAkBP,MAAMM,WAAWH,YAAAA,GACnCoB,gBAAgBvB,MAAMwB,SAASC,MAAMJ,QAAAA,GACrChB,eAAeL,MAAMQ,QACzB,WAAA;WAAMc,mBAAmBI,OAAOH,gBAAgB,CAAA;KAChD;IAACA;GAAc;AAGjB,SACE,qBAACtB,gBAAgB0B,UAAQ;IAACC,OAAOvB;cAC9BL,MAAMwB,SAASK,IAAIR,UAAU,SAACS,OAAOjB,OAAAA;aACpCb,sBAAM+B,eAAeD,KAAAA,IACnB,qBAAC3B,aAAawB,UAAQ;QAEpBC,OACErB,kBACI,GAAGA,eAAAA,IAAmBM,MAAMmB,SAAQ,CAAA,KACpCnB,MAAMmB,SAAQ;kBAGnBF;SAPIA,MAAMG,GAAG,IAUhBH;;;AAKV;AAQA,SAASpB,eAAeH,iBAAuB;AAC7C,SAAOA,gBAAgB2B,MAAM,GAAA,EAAKL,IAAI,SAAChB,OAAAA;WAAUsB,OAAOC,SAASvB,OAAO,EAAA;;AAC1E;",
|
|
5
|
+
"names": ["React", "MaxIndexContext", "createContext", "IndexContext", "useIndex", "maxIndexPath", "useContext", "indexPathString", "useMemo", "indexPath", "parseIndexPath", "maxIndex", "length", "index", "isFirst", "isLast", "isEven", "isOdd", "Math", "abs", "useIndexedChildren", "children", "parentMaxIndexPath", "childrenCount", "Children", "count", "concat", "Provider", "value", "map", "child", "isValidElement", "toString", "key", "split", "Number", "parseInt"]
|
|
6
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/group",
|
|
3
|
-
"version": "1.111.
|
|
3
|
+
"version": "1.111.9",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"exports": {
|
|
26
26
|
"./package.json": "./package.json",
|
|
27
27
|
".": {
|
|
28
|
-
"react-native-import": "./dist/esm/index.native.
|
|
28
|
+
"react-native-import": "./dist/esm/index.native.js",
|
|
29
29
|
"react-native": "./dist/cjs/index.native.js",
|
|
30
30
|
"types": "./types/index.d.ts",
|
|
31
31
|
"import": "./dist/esm/index.mjs",
|
|
@@ -33,15 +33,14 @@
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@tamagui/core": "1.111.
|
|
37
|
-
"@tamagui/create-context": "1.111.
|
|
38
|
-
"@tamagui/helpers": "1.111.
|
|
39
|
-
"@tamagui/stacks": "1.111.
|
|
40
|
-
"@tamagui/use-controllable-state": "1.111.
|
|
41
|
-
"reforest": "^0.13.0"
|
|
36
|
+
"@tamagui/core": "1.111.9",
|
|
37
|
+
"@tamagui/create-context": "1.111.9",
|
|
38
|
+
"@tamagui/helpers": "1.111.9",
|
|
39
|
+
"@tamagui/stacks": "1.111.9",
|
|
40
|
+
"@tamagui/use-controllable-state": "1.111.9"
|
|
42
41
|
},
|
|
43
42
|
"devDependencies": {
|
|
44
|
-
"@tamagui/build": "1.111.
|
|
43
|
+
"@tamagui/build": "1.111.9",
|
|
45
44
|
"react": "^18.2.0 || ^19.0.0"
|
|
46
45
|
},
|
|
47
46
|
"publishConfig": {
|
package/src/Group.tsx
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { GetProps, TamaguiComponent, UnionableString, Variable } from '@tamagui/core'
|
|
1
|
+
import type { GetProps, UnionableString, Variable } from '@tamagui/core'
|
|
3
2
|
import {
|
|
4
3
|
getConfig,
|
|
5
4
|
getTokens,
|
|
@@ -15,9 +14,9 @@ import { createContextScope } from '@tamagui/create-context'
|
|
|
15
14
|
import { withStaticProperties } from '@tamagui/helpers'
|
|
16
15
|
import { ThemeableStack } from '@tamagui/stacks'
|
|
17
16
|
import { useControllableState } from '@tamagui/use-controllable-state'
|
|
18
|
-
|
|
17
|
+
import React from 'react'
|
|
19
18
|
import { ScrollView } from 'react-native'
|
|
20
|
-
import { useIndex, useIndexedChildren } from '
|
|
19
|
+
import { useIndex, useIndexedChildren } from './useIndexedChildren'
|
|
21
20
|
|
|
22
21
|
type DisablePassBorderRadius = boolean | 'bottom' | 'top' | 'start' | 'end'
|
|
23
22
|
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The MIT License (MIT)
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2022 Reforest authors
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
|
23
|
+
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import * as React from 'react'
|
|
27
|
+
|
|
28
|
+
const MaxIndexContext = React.createContext<number[]>([])
|
|
29
|
+
const IndexContext = React.createContext<string | null>(null)
|
|
30
|
+
|
|
31
|
+
/** Returns the index path data based on the closest useIndexedChildren. */
|
|
32
|
+
export function useIndex() {
|
|
33
|
+
const maxIndexPath = React.useContext(MaxIndexContext)
|
|
34
|
+
const indexPathString = React.useContext(IndexContext)
|
|
35
|
+
|
|
36
|
+
return React.useMemo(() => {
|
|
37
|
+
if (indexPathString === null) {
|
|
38
|
+
return null
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const indexPath = parseIndexPath(indexPathString)
|
|
42
|
+
const maxIndex = maxIndexPath[maxIndexPath.length - 1]
|
|
43
|
+
const index = indexPath[indexPath.length - 1]
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
maxIndex,
|
|
47
|
+
maxIndexPath,
|
|
48
|
+
index,
|
|
49
|
+
indexPath,
|
|
50
|
+
indexPathString,
|
|
51
|
+
isFirst: index === 0,
|
|
52
|
+
isLast: index === maxIndex,
|
|
53
|
+
isEven: index % 2 === 0,
|
|
54
|
+
isOdd: Math.abs(index % 2) === 1,
|
|
55
|
+
}
|
|
56
|
+
}, [maxIndexPath, indexPathString])
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** Provides the current index path for each child. */
|
|
60
|
+
export function useIndexedChildren(children: React.ReactNode) {
|
|
61
|
+
const parentMaxIndexPath = React.useContext(MaxIndexContext)
|
|
62
|
+
const indexPathString = React.useContext(IndexContext)
|
|
63
|
+
const childrenCount = React.Children.count(children)
|
|
64
|
+
const maxIndexPath = React.useMemo(
|
|
65
|
+
() => parentMaxIndexPath.concat(childrenCount - 1),
|
|
66
|
+
[childrenCount]
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
return (
|
|
70
|
+
<MaxIndexContext.Provider value={maxIndexPath}>
|
|
71
|
+
{React.Children.map(children, (child, index) =>
|
|
72
|
+
React.isValidElement(child) ? (
|
|
73
|
+
<IndexContext.Provider
|
|
74
|
+
key={child.key}
|
|
75
|
+
value={
|
|
76
|
+
indexPathString
|
|
77
|
+
? `${indexPathString}.${index.toString()}`
|
|
78
|
+
: index.toString()
|
|
79
|
+
}
|
|
80
|
+
>
|
|
81
|
+
{child}
|
|
82
|
+
</IndexContext.Provider>
|
|
83
|
+
) : (
|
|
84
|
+
child
|
|
85
|
+
)
|
|
86
|
+
)}
|
|
87
|
+
</MaxIndexContext.Provider>
|
|
88
|
+
)
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Parses a numerical dot-separated string as an index path.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* parseIndexPath('0.10.2') -> [0, 10, 2]
|
|
96
|
+
*/
|
|
97
|
+
function parseIndexPath(indexPathString: string) {
|
|
98
|
+
return indexPathString.split('.').map((index) => Number.parseInt(index, 10))
|
|
99
|
+
}
|
package/types/Group.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { GetProps, TamaguiComponent } from '@tamagui/core';
|
|
1
|
+
import type { GetProps } from '@tamagui/core';
|
|
3
2
|
import type { Scope } from '@tamagui/create-context';
|
|
3
|
+
import React from 'react';
|
|
4
4
|
type DisablePassBorderRadius = boolean | 'bottom' | 'top' | 'start' | 'end';
|
|
5
|
-
export declare const GroupFrame: TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {
|
|
5
|
+
export declare const GroupFrame: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {
|
|
6
6
|
unstyled?: boolean | undefined;
|
|
7
7
|
size?: any;
|
|
8
8
|
elevation?: number | import("@tamagui/core").SizeTokens | undefined;
|
package/types/Group.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../src/Group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../src/Group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA6B,MAAM,eAAe,CAAA;AAWxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAKpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,uBAAuB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;AAiB3E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;8CAqBrB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAChC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,GAAG,eAAe,CAAA;AAmHtE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;CAC7C,CAAA;AAiCD,eAAO,MAAM,YAAY,kBACR;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,mBAC9B,cAAc,CAAC,gBAAgB,CAAC,iBAClC,KAAK,wBAuCrB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;mBApPyB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;mBAAL,KAAK;;mBAAL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAL,KAAK;;uBAAL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAL,KAAK;;CAoPV,CAAA;AACtC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;mBArPwB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;mBAAL,KAAK;;mBAAL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAL,KAAK;;uBAAL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAL,KAAK;;CAqPrB,CAAA;AAC3B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;mBAtPwB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;mBAAL,KAAK;;mBAAL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAL,KAAK;;uBAAL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAL,KAAK;;CAsPR,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The MIT License (MIT)
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2022 Reforest authors
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
|
23
|
+
|
|
24
|
+
*/
|
|
25
|
+
import * as React from 'react';
|
|
26
|
+
/** Returns the index path data based on the closest useIndexedChildren. */
|
|
27
|
+
export declare function useIndex(): {
|
|
28
|
+
maxIndex: number;
|
|
29
|
+
maxIndexPath: number[];
|
|
30
|
+
index: number;
|
|
31
|
+
indexPath: number[];
|
|
32
|
+
indexPathString: string;
|
|
33
|
+
isFirst: boolean;
|
|
34
|
+
isLast: boolean;
|
|
35
|
+
isEven: boolean;
|
|
36
|
+
isOdd: boolean;
|
|
37
|
+
} | null;
|
|
38
|
+
/** Provides the current index path for each child. */
|
|
39
|
+
export declare function useIndexedChildren(children: React.ReactNode): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
//# sourceMappingURL=useIndexedChildren.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIndexedChildren.d.ts","sourceRoot":"","sources":["../src/useIndexedChildren.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,2EAA2E;AAC3E,wBAAgB,QAAQ;;;;;;;;;;SAyBvB;AAED,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,2CA6B3D"}
|