@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.
Files changed (49) hide show
  1. package/dist/cjs/Group.cjs +104 -132
  2. package/dist/cjs/Group.native.cjs +147 -0
  3. package/dist/cjs/Group.native.js +109 -136
  4. package/dist/cjs/Group.native.js.map +1 -1
  5. package/dist/cjs/index.cjs +10 -11
  6. package/dist/cjs/index.native.cjs +21 -0
  7. package/dist/cjs/index.native.js +10 -10
  8. package/dist/cjs/index.native.js.map +1 -1
  9. package/dist/cjs/useIndexedChildren.cjs +52 -58
  10. package/dist/cjs/useIndexedChildren.native.cjs +84 -0
  11. package/dist/cjs/useIndexedChildren.native.js +60 -65
  12. package/dist/cjs/useIndexedChildren.native.js.map +1 -1
  13. package/dist/esm/Group.mjs +84 -104
  14. package/dist/esm/Group.mjs.map +1 -1
  15. package/dist/esm/Group.native.js +90 -110
  16. package/dist/esm/Group.native.js.map +1 -1
  17. package/dist/esm/index.js +1 -2
  18. package/dist/esm/index.mjs +1 -2
  19. package/dist/esm/index.native.js +1 -2
  20. package/dist/esm/useIndexedChildren.mjs +35 -33
  21. package/dist/esm/useIndexedChildren.mjs.map +1 -1
  22. package/dist/esm/useIndexedChildren.native.js +44 -42
  23. package/dist/esm/useIndexedChildren.native.js.map +1 -1
  24. package/dist/jsx/Group.mjs +84 -104
  25. package/dist/jsx/Group.mjs.map +1 -1
  26. package/dist/jsx/Group.native.cjs +147 -0
  27. package/dist/jsx/Group.native.js +109 -136
  28. package/dist/jsx/Group.native.js.map +1 -1
  29. package/dist/jsx/index.js +1 -2
  30. package/dist/jsx/index.mjs +1 -2
  31. package/dist/jsx/index.native.cjs +21 -0
  32. package/dist/jsx/index.native.js +10 -10
  33. package/dist/jsx/index.native.js.map +1 -1
  34. package/dist/jsx/useIndexedChildren.mjs +35 -33
  35. package/dist/jsx/useIndexedChildren.mjs.map +1 -1
  36. package/dist/jsx/useIndexedChildren.native.cjs +84 -0
  37. package/dist/jsx/useIndexedChildren.native.js +60 -65
  38. package/dist/jsx/useIndexedChildren.native.js.map +1 -1
  39. package/package.json +9 -9
  40. package/src/Group.tsx +20 -19
  41. package/types/Group.d.ts +107 -78
  42. package/types/Group.d.ts.map +1 -1
  43. package/types/useIndexedChildren.d.ts +1 -1
  44. package/types/useIndexedChildren.d.ts.map +1 -1
  45. package/dist/esm/index.js.map +0 -1
  46. package/dist/esm/index.mjs.map +0 -1
  47. package/dist/esm/index.native.js.map +0 -1
  48. package/dist/jsx/index.js.map +0 -1
  49. package/dist/jsx/index.mjs.map +0 -1
@@ -1,132 +1,112 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
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
- name: "GroupFrame",
13
- variants: {
14
- unstyled: {
15
- false: {
16
- size: "$true"
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
- return withStaticProperties(GroupFrame.styleable(function (props, ref) {
36
- var {
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));
45
- return /* @__PURE__ */_jsx(GroupProvider, {
46
- vertical,
47
- disabled,
48
- scope: __scopeGroup,
49
- children: /* @__PURE__ */_jsx(GroupFrame, {
50
- ref,
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
- var {
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
- };
82
- if (context.disabled != null) {
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 (childrenProps, forcePlacement, __scopeGroup) {
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
- };
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
- if (vertical) {
109
- return {
110
- ...(isFirst ? null : {
111
- borderTopLeftRadius: 0,
112
- borderTopRightRadius: 0
113
- }),
114
- ...(isLast ? null : {
115
- borderBottomLeftRadius: 0,
116
- borderBottomRightRadius: 0
117
- })
118
- };
119
- }
120
- return {
121
- ...(isFirst ? null : {
122
- borderTopLeftRadius: 0,
123
- borderBottomLeftRadius: 0
124
- }),
125
- ...(isLast ? null : {
126
- borderTopRightRadius: 0,
127
- borderBottomRightRadius: 0
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":["jsx","_jsx","mergeSlotStyleProps","styled","createContextScope","withStaticProperties","YStack","React","useIndex","useIndexedChildren","GROUP_NAME","createGroupContext","createGroupScope","GroupProvider","useGroupContext","GroupFrame","name","variants","unstyled","false","size","val","param","tokens","_tokens_radius_val","_ref","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","_children_props_disabled","mergedProps","cloneElement","useGroupItem","childrenProps","_childrenProps_disabled","Group","YGroup","XGroup","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],"sources":["../../src/Group.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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"
@@ -1,2 +1 @@
1
- export * from "./Group.mjs";
2
- //# sourceMappingURL=index.mjs.map
1
+ export * from "./Group.mjs"
@@ -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
- const maxIndexPath = React.useContext(MaxIndexContext);
7
- const indexPathString = React.useContext(IndexContext);
8
- return React.useMemo(() => {
9
- if (indexPathString === null) {
10
- return null;
11
- }
12
- const indexPath = parseIndexPath(indexPathString);
13
- const maxIndex = maxIndexPath[maxIndexPath.length - 1];
14
- const index = indexPath[indexPath.length - 1];
15
- return {
16
- maxIndex,
17
- maxIndexPath,
18
- index,
19
- indexPath,
20
- indexPathString,
21
- isFirst: index === 0,
22
- isLast: index === maxIndex,
23
- isEven: index % 2 === 0,
24
- isOdd: Math.abs(index % 2) === 1
25
- };
26
- }, [maxIndexPath, indexPathString]);
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
- const parentMaxIndexPath = React.useContext(MaxIndexContext);
30
- const indexPathString = React.useContext(IndexContext);
31
- const childrenCount = React.Children.count(children);
32
- const maxIndexPath = React.useMemo(() => parentMaxIndexPath.concat(childrenCount - 1), [childrenCount]);
33
- return /* @__PURE__ */jsx(MaxIndexContext.Provider, {
34
- value: maxIndexPath,
35
- children: React.Children.map(children, (child, index) => React.isValidElement(child) ? /* @__PURE__ */jsx(IndexContext.Provider, {
36
- value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),
37
- children: child
38
- }, child.key) : child)
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
- return indexPathString.split(".").map(index => Number.parseInt(index, 10));
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,"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;AACxD,MAAMC,YAAA,GAAeJ,KAAA,CAAMG,aAAA,CAA6B,IAAI;AAGrD,SAASE,SAAA,EAAW;EACzB,MAAMC,YAAA,GAAeN,KAAA,CAAMO,UAAA,CAAWL,eAAe;EACrD,MAAMM,eAAA,GAAkBR,KAAA,CAAMO,UAAA,CAAWH,YAAY;EAErD,OAAOJ,KAAA,CAAMS,OAAA,CAAQ,MAAM;IACzB,IAAID,eAAA,KAAoB,MAAM;MAC5B,OAAO;IACT;IAEA,MAAME,SAAA,GAAYC,cAAA,CAAeH,eAAe;IAChD,MAAMI,QAAA,GAAWN,YAAA,CAAaA,YAAA,CAAaO,MAAA,GAAS,CAAC;IACrD,MAAMC,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;EAC3D,MAAMM,eAAA,GAAkBR,KAAA,CAAMO,UAAA,CAAWH,YAAY;EACrD,MAAMoB,aAAA,GAAgBxB,KAAA,CAAMyB,QAAA,CAASC,KAAA,CAAMJ,QAAQ;EACnD,MAAMhB,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":[]}
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 as _jsx } from "react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
- var MaxIndexContext = /* @__PURE__ */React.createContext([]);
4
- var IndexContext = /* @__PURE__ */React.createContext(null);
3
+
4
+ var MaxIndexContext = /* @__PURE__ */ React.createContext([]);
5
+ var IndexContext = /* @__PURE__ */ React.createContext(null);
5
6
  function useIndex() {
6
- var maxIndexPath = React.useContext(MaxIndexContext);
7
- var indexPathString = React.useContext(IndexContext);
8
- return React.useMemo(function () {
9
- if (indexPathString === null) {
10
- return null;
11
- }
12
- var indexPath = parseIndexPath(indexPathString);
13
- var maxIndex = maxIndexPath[maxIndexPath.length - 1];
14
- var index = indexPath[indexPath.length - 1];
15
- return {
16
- maxIndex,
17
- maxIndexPath,
18
- index,
19
- indexPath,
20
- indexPathString,
21
- isFirst: index === 0,
22
- isLast: index === maxIndex,
23
- isEven: index % 2 === 0,
24
- isOdd: Math.abs(index % 2) === 1
25
- };
26
- }, [maxIndexPath, indexPathString]);
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
- var parentMaxIndexPath = React.useContext(MaxIndexContext);
30
- var indexPathString = React.useContext(IndexContext);
31
- var childrenCount = React.Children.count(children);
32
- var maxIndexPath = React.useMemo(function () {
33
- return parentMaxIndexPath.concat(childrenCount - 1);
34
- }, [childrenCount]);
35
- return /* @__PURE__ */_jsx(MaxIndexContext.Provider, {
36
- value: maxIndexPath,
37
- children: React.Children.map(children, function (child, index) {
38
- return /* @__PURE__ */React.isValidElement(child) ? /* @__PURE__ */_jsx(IndexContext.Provider, {
39
- value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),
40
- children: child
41
- }, child.key) : child;
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
- return indexPathString.split(".").map(function (index) {
47
- return Number.parseInt(index, 10);
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,"names":["jsx","_jsx","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"],"sources":["../../src/useIndexedChildren.tsx"],"sourcesContent":[null],"mappings":"AAyBA,SAAAA,GAAY,IAAAC,IAAA,QAAW;AA+Cb,YAAAC,KAAA;AA7CV,IAAAC,eAAM,kBAAwBD,KAAA,CAAwBE,aAAE;AACxD,IAAAC,YAAM,kBAAqBH,KAAA,CAA6BE,aAAI;AAGrD,SAASE,SAAA,EAAW;EACzB,IAAAC,YAAM,GAAAL,KAAe,CAAAM,UAAM,CAAAL,eAAW;EACtC,IAAAM,eAAM,GAAAP,KAAkB,CAAAM,UAAM,CAAAH,YAAW;EAEzC,OAAOH,KAAA,CAAMQ,OAAA,CAAQ,YAAM;IACzB,IAAID,eAAA,KAAoB,MAAM;MAC5B,OAAO;IACT;IAEA,IAAAE,SAAM,GAAAC,cAAY,CAAAH,eAAe;IACjC,IAAAI,QAAM,GAAAN,YAAW,CAAAA,YAAa,CAAAO,MAAa,KAAS;IACpD,IAAAC,KAAM,GAAAJ,SAAQ,CAAAA,SAAU,CAAAG,MAAU,KAAS;IAE3C,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,CACLR,YAAA,EAGOE,eAAS,CACd;AACA;AACA,SAAMa,kBAAgBA,CAAAC,QAAM;EAC5B,IAAAC,kBAAqB,GAAAtB,KAAM,CAAAM,UAAA,CAAAL,eAAA;EAAA,IACzBM,eAAM,GAAAP,KAAmB,CAAAM,UAAO,CAAAH,YAAiB;EAAA,IAChDoB,aAAa,GAAAvB,KAAA,CAAAwB,QAAA,CAAAC,KAAA,CAAAJ,QAAA;EAChB,IAAAhB,YAAA,GAAAL,KAAA,CAAAQ,OAAA;IAEA,OACEc,kBAAC,CAAAI,MAAA,CAAAH,aAAgB,KAAhB;EACiB,GAAI,CAAUA,aAAQ,CAElC;EAAc,OAAb,eAAAxB,IAAA,CAAAE,eAAA,CAAA0B,QAAA;IAAAC,KAEC,EAAAvB,YACE;IAEmBgB,QAGpB,EAAArB,KAAA,CAAAwB,QAAA,CAAAK,GAAA,CAAAR,QAAA,YAAAS,KAAA,EAAAjB,KAAA;MAAA,sBAAAb,KAAA,CAAA+B,cAAA,CAAAD,KAAA,mBAAA/B,IAAA,CAAAI,YAAA,CAAAwB,QAAA;QAPIC,KAAM,EAAArB,eAAA,MAAAA,eAAA,IAAAM,KAAA,CAAAmB,QAAA,OAAAnB,KAAA,CAAAmB,QAAA;QAUbX,QAAA,EAAAS;MAGN,GAAAA,KAAA,CAAAG,GAAA,IAAAH,KAAA;IAEJ;EAQA;AACE;AACF,SAAApB,eAAAH,eAAA","ignoreList":[]}
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"}