@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,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __create = Object.create;
4
5
  var __defProp = Object.defineProperty;
5
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -7,85 +8,79 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
8
  var __getProtoOf = Object.getPrototypeOf;
8
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
10
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
11
+ for (var name in all) __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
14
15
  };
15
16
  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, {
18
- get: () => from[key],
19
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
- });
21
- }
22
- return to;
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
+ get: () => from[key],
20
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
+ });
22
+ }
23
+ return to;
23
24
  };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
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
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: true
32
28
  }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
30
  var useIndexedChildren_exports = {};
37
31
  __export(useIndexedChildren_exports, {
38
- useIndex: () => useIndex,
39
- useIndexedChildren: () => useIndexedChildren
32
+ useIndex: () => useIndex,
33
+ useIndexedChildren: () => useIndexedChildren
40
34
  });
41
35
  module.exports = __toCommonJS(useIndexedChildren_exports);
42
36
  var import_jsx_runtime = require("react/jsx-runtime");
43
37
  var React = __toESM(require("react"), 1);
44
- var MaxIndexContext = /* @__PURE__ */React.createContext([]);
45
- var IndexContext = /* @__PURE__ */React.createContext(null);
38
+ var MaxIndexContext = /* @__PURE__ */ React.createContext([]);
39
+ var IndexContext = /* @__PURE__ */ React.createContext(null);
46
40
  function useIndex() {
47
- var maxIndexPath = React.useContext(MaxIndexContext);
48
- var indexPathString = React.useContext(IndexContext);
49
- return React.useMemo(function () {
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];
56
- return {
57
- maxIndex,
58
- maxIndexPath,
59
- index,
60
- indexPath,
61
- indexPathString,
62
- isFirst: index === 0,
63
- isLast: index === maxIndex,
64
- isEven: index % 2 === 0,
65
- isOdd: Math.abs(index % 2) === 1
66
- };
67
- }, [maxIndexPath, indexPathString]);
41
+ var maxIndexPath = React.useContext(MaxIndexContext);
42
+ var indexPathString = React.useContext(IndexContext);
43
+ return React.useMemo(function() {
44
+ if (indexPathString === null) {
45
+ return null;
46
+ }
47
+ var indexPath = parseIndexPath(indexPathString);
48
+ var maxIndex = maxIndexPath[maxIndexPath.length - 1];
49
+ var index = indexPath[indexPath.length - 1];
50
+ return {
51
+ maxIndex,
52
+ maxIndexPath,
53
+ index,
54
+ indexPath,
55
+ indexPathString,
56
+ isFirst: index === 0,
57
+ isLast: index === maxIndex,
58
+ isEven: index % 2 === 0,
59
+ isOdd: Math.abs(index % 2) === 1
60
+ };
61
+ }, [maxIndexPath, indexPathString]);
68
62
  }
69
63
  function useIndexedChildren(children) {
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]);
76
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(MaxIndexContext.Provider, {
77
- value: maxIndexPath,
78
- children: React.Children.map(children, function (child, index) {
79
- return /* @__PURE__ */React.isValidElement(child) ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(IndexContext.Provider, {
80
- value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),
81
- children: child
82
- }, child.key) : child;
83
- })
84
- });
64
+ var parentMaxIndexPath = React.useContext(MaxIndexContext);
65
+ var indexPathString = React.useContext(IndexContext);
66
+ var childrenCount = React.Children.count(children);
67
+ var maxIndexPath = React.useMemo(function() {
68
+ return parentMaxIndexPath.concat(childrenCount - 1);
69
+ }, [childrenCount]);
70
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MaxIndexContext.Provider, {
71
+ value: maxIndexPath,
72
+ children: React.Children.map(children, function(child, index) {
73
+ return /* @__PURE__ */ React.isValidElement(child) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IndexContext.Provider, {
74
+ value: indexPathString ? `${indexPathString}.${index.toString()}` : index.toString(),
75
+ children: child
76
+ }, child.key) : child;
77
+ })
78
+ });
85
79
  }
86
80
  function parseIndexPath(indexPathString) {
87
- return indexPathString.split(".").map(function (index) {
88
- return Number.parseInt(index, 10);
89
- });
81
+ return indexPathString.split(".").map(function(index) {
82
+ return Number.parseInt(index, 10);
83
+ });
90
84
  }
85
+
91
86
  //# sourceMappingURL=useIndexedChildren.native.js.map
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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":[]}
1
+ {"version":3,"file":"useIndexedChildren.native.js","names":[],"sources":["cjs/useIndexedChildren.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useIndexedChildren_exports = {};\n__export(useIndexedChildren_exports, {\n useIndex: () => useIndex,\n useIndexedChildren: () => useIndexedChildren\n});\nmodule.exports = __toCommonJS(useIndexedChildren_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar React = __toESM(require(\"react\"), 1);\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__ */ (0, import_jsx_runtime.jsx)(MaxIndexContext.Provider, {\n value: maxIndexPath,\n children: React.Children.map(children, function(child, index) {\n return /* @__PURE__ */ React.isValidElement(child) ? /* @__PURE__ */ (0, import_jsx_runtime.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}\n//# sourceMappingURL=useIndexedChildren.js.map\n"],"mappings":"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"}
@@ -1,128 +1,108 @@
1
- import { mergeSlotStyleProps, styled } from "@tamagui/core";
1
+ import { createStyledHOC, mergeSlotStyleProps, resolveSizeToken, styled } from "@tamagui/core";
2
2
  import { createContextScope } from "@tamagui/create-context";
3
3
  import { withStaticProperties } from "@tamagui/helpers";
4
4
  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
+
8
9
  const GROUP_NAME = "Group";
9
10
  const [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME);
10
11
  const [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME);
12
+ const groupSizeVariant = (val, { tokens }) => {
13
+ const radiusToken = resolveSizeToken(val, "radius");
14
+ return { borderRadius: tokens.radius[radiusToken] ?? radiusToken };
15
+ };
11
16
  const GroupFrame = styled(YStack, {
12
- name: "GroupFrame",
13
- variants: {
14
- unstyled: {
15
- false: {
16
- size: "$true"
17
- }
18
- },
19
- size: (val, {
20
- tokens
21
- }) => {
22
- const borderRadius = tokens.radius[val] ?? val ?? tokens.radius["$true"];
23
- return {
24
- borderRadius
25
- };
26
- }
27
- },
28
- defaultVariants: {
29
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
30
- }
17
+ displayName: "GroupFrame",
18
+ size: true,
19
+ variants: { size: {
20
+ true: groupSizeVariant,
21
+ any: groupSizeVariant
22
+ } }
31
23
  });
32
24
  function createGroup(verticalDefault) {
33
- return withStaticProperties(GroupFrame.styleable((props, ref) => {
34
- const {
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));
43
- return /* @__PURE__ */jsx(GroupProvider, {
44
- vertical,
45
- disabled,
46
- scope: __scopeGroup,
47
- children: /* @__PURE__ */jsx(GroupFrame, {
48
- ref,
49
- flexDirection: vertical ? "column" : "row",
50
- ...restProps,
51
- children: indexedChildren
52
- })
53
- });
54
- }), {
55
- Item: GroupItem
56
- });
25
+ return withStaticProperties(createStyledHOC(GroupFrame, (props, ref) => {
26
+ const { __scopeGroup, children: childrenProp, orientation = verticalDefault ? "vertical" : "horizontal", disabled, ...restProps } = props;
27
+ const vertical = orientation === "vertical";
28
+ const indexedChildren = useIndexedChildren(React.Children.toArray(childrenProp));
29
+ return /* @__PURE__ */ jsx(GroupProvider, {
30
+ vertical,
31
+ disabled,
32
+ scope: __scopeGroup,
33
+ children: /* @__PURE__ */ jsx(GroupFrame, {
34
+ ref,
35
+ flexDirection: vertical ? "column" : "row",
36
+ ...restProps,
37
+ children: indexedChildren
38
+ })
39
+ });
40
+ }), { Item: GroupItem });
57
41
  }
58
42
  function GroupItem(props) {
59
- const {
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
- }
83
- const mergedProps = mergeSlotStyleProps(groupProps, children.props);
84
- return React.cloneElement(children, mergedProps);
43
+ const { __scopeGroup, children, forcePlacement, ...forwardedProps } = props;
44
+ const context = useGroupContext("GroupItem", __scopeGroup);
45
+ const treeIndex = useIndex();
46
+ if (!treeIndex) {
47
+ throw Error("<Group.Item/> should only be used within a <Group/>");
48
+ }
49
+ if (!React.isValidElement(children)) {
50
+ return children;
51
+ }
52
+ const isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0;
53
+ const isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex;
54
+ const radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);
55
+ const groupProps = {
56
+ ...forwardedProps,
57
+ ...radiusStyles
58
+ };
59
+ if (context.disabled != null) {
60
+ groupProps.disabled = children.props.disabled ?? context.disabled;
61
+ }
62
+ const mergedProps = mergeSlotStyleProps(groupProps, children.props);
63
+ return React.cloneElement(children, mergedProps);
85
64
  }
86
65
  const useGroupItem = (childrenProps, forcePlacement, __scopeGroup) => {
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
- };
66
+ const treeIndex = useIndex();
67
+ const context = useGroupContext("GroupItem", __scopeGroup);
68
+ if (!treeIndex) {
69
+ throw Error("useGroupItem should only be used within a <Group/>");
70
+ }
71
+ const isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0;
72
+ const isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex;
73
+ const radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);
74
+ return {
75
+ disabled: childrenProps.disabled ?? context.disabled,
76
+ ...radiusStyles
77
+ };
99
78
  };
100
79
  const Group = createGroup(true);
101
80
  const YGroup = Group;
102
81
  const XGroup = createGroup(false);
103
82
  function getZeroedRadius(isFirst, isLast, vertical) {
104
- if (vertical) {
105
- return {
106
- ...(isFirst ? null : {
107
- borderTopLeftRadius: 0,
108
- borderTopRightRadius: 0
109
- }),
110
- ...(isLast ? null : {
111
- borderBottomLeftRadius: 0,
112
- borderBottomRightRadius: 0
113
- })
114
- };
115
- }
116
- return {
117
- ...(isFirst ? null : {
118
- borderTopLeftRadius: 0,
119
- borderBottomLeftRadius: 0
120
- }),
121
- ...(isLast ? null : {
122
- borderTopRightRadius: 0,
123
- borderBottomRightRadius: 0
124
- })
125
- };
83
+ if (vertical) {
84
+ return {
85
+ ...isFirst ? null : {
86
+ borderTopLeftRadius: 0,
87
+ borderTopRightRadius: 0
88
+ },
89
+ ...isLast ? null : {
90
+ borderBottomLeftRadius: 0,
91
+ borderBottomRightRadius: 0
92
+ }
93
+ };
94
+ }
95
+ return {
96
+ ...isFirst ? null : {
97
+ borderTopLeftRadius: 0,
98
+ borderBottomLeftRadius: 0
99
+ },
100
+ ...isLast ? null : {
101
+ borderTopRightRadius: 0,
102
+ borderBottomRightRadius: 0
103
+ }
104
+ };
126
105
  }
106
+
127
107
  export { Group, GroupFrame, XGroup, YGroup, createGroupScope, useGroupItem };
128
108
  //# sourceMappingURL=Group.mjs.map
@@ -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","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":"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","ignoreList":[]}
1
+ {"version":3,"file":"Group.js","names":[],"sources":["esm/Group.js"],"sourcesContent":["import {\n createStyledHOC,\n mergeSlotStyleProps,\n resolveSizeToken,\n styled\n} 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\";\nimport { jsx } from \"react/jsx-runtime\";\nconst GROUP_NAME = \"Group\";\nconst [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME);\nconst [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME);\nconst groupSizeVariant = (val, { tokens }) => {\n const radiusToken = resolveSizeToken(val, \"radius\");\n return {\n borderRadius: tokens.radius[radiusToken] ?? radiusToken\n };\n};\nconst 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(\n createStyledHOC(GroupFrame, (props, ref) => {\n const {\n __scopeGroup,\n children: childrenProp,\n orientation = verticalDefault ? \"vertical\" : \"horizontal\",\n disabled,\n ...restProps\n } = props;\n const vertical = orientation === \"vertical\";\n const indexedChildren = useIndexedChildren(React.Children.toArray(childrenProp));\n return /* @__PURE__ */ jsx(GroupProvider, { vertical, disabled, scope: __scopeGroup, children: /* @__PURE__ */ jsx(\n GroupFrame,\n {\n ref,\n flexDirection: vertical ? \"column\" : \"row\",\n ...restProps,\n children: indexedChildren\n }\n ) });\n }),\n {\n Item: GroupItem\n }\n );\n}\nfunction GroupItem(props) {\n const { __scopeGroup, children, forcePlacement, ...forwardedProps } = props;\n const context = useGroupContext(\"GroupItem\", __scopeGroup);\n const treeIndex = useIndex();\n if (!treeIndex) {\n throw Error(\"<Group.Item/> should only be used within a <Group/>\");\n }\n if (!React.isValidElement(children)) {\n return children;\n }\n const isFirst = forcePlacement === \"first\" || forcePlacement !== \"last\" && treeIndex.index === 0;\n const isLast = forcePlacement === \"last\" || forcePlacement !== \"first\" && treeIndex.index === treeIndex.maxIndex;\n const radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);\n const groupProps = {\n ...forwardedProps,\n ...radiusStyles\n };\n if (context.disabled != null) {\n groupProps.disabled = children.props.disabled ?? context.disabled;\n }\n const mergedProps = mergeSlotStyleProps(groupProps, children.props);\n return React.cloneElement(children, mergedProps);\n}\nconst useGroupItem = (childrenProps, forcePlacement, __scopeGroup) => {\n const treeIndex = useIndex();\n const context = useGroupContext(\"GroupItem\", __scopeGroup);\n if (!treeIndex) {\n throw Error(\"useGroupItem should only be used within a <Group/>\");\n }\n const isFirst = forcePlacement === \"first\" || forcePlacement !== \"last\" && treeIndex.index === 0;\n const isLast = forcePlacement === \"last\" || forcePlacement !== \"first\" && treeIndex.index === treeIndex.maxIndex;\n const radiusStyles = getZeroedRadius(isFirst, isLast, context.vertical);\n return {\n disabled: childrenProps.disabled ?? context.disabled,\n ...radiusStyles\n };\n};\nconst Group = createGroup(true);\nconst YGroup = Group;\nconst XGroup = createGroup(false);\nfunction getZeroedRadius(isFirst, isLast, vertical) {\n if (vertical) {\n return {\n ...isFirst ? null : { borderTopLeftRadius: 0, borderTopRightRadius: 0 },\n ...isLast ? null : { borderBottomLeftRadius: 0, borderBottomRightRadius: 0 }\n };\n }\n return {\n ...isFirst ? null : { borderTopLeftRadius: 0, borderBottomLeftRadius: 0 },\n ...isLast ? null : { borderTopRightRadius: 0, borderBottomRightRadius: 0 }\n };\n}\nexport {\n Group,\n GroupFrame,\n XGroup,\n YGroup,\n createGroupScope,\n useGroupItem\n};\n//# sourceMappingURL=Group.js.map\n"],"mappings":";;;;;;;;;AAYA,MAAM,aAAa;AACnB,MAAM,CAAC,oBAAoB,oBAAoB,mBAAmB,UAAU;AAC5E,MAAM,CAAC,eAAe,mBAAmB,mBAAmB,UAAU;AACtE,MAAM,oBAAoB,KAAK,EAAE,aAAa;CAC5C,MAAM,cAAc,iBAAiB,KAAK,QAAQ;CAClD,OAAO,EACL,cAAc,OAAO,OAAO,gBAAgB,YAC9C;AACF;AACA,MAAM,aAAa,OAAO,QAAQ;CAChC,aAAa;CACb,MAAM;CACN,UAAU,EACR,MAAM;EACJ,MAAM;EACN,KAAK;CACP,EACF;AACF,CAAC;AACD,SAAS,YAAY,iBAAiB;CACpC,OAAO,qBACL,gBAAgB,aAAa,OAAO,QAAQ;EAC1C,MAAM,EACJ,cACA,UAAU,cACV,cAAc,kBAAkB,aAAa,cAC7C,UACA,GAAG,cACD;EACJ,MAAM,WAAW,gBAAgB;EACjC,MAAM,kBAAkB,mBAAmB,MAAM,SAAS,QAAQ,YAAY,CAAC;EAC/E,OAAuB,oBAAI,eAAe;GAAE;GAAU;GAAU,OAAO;GAAc,UAA0B,oBAC7G,YACA;IACE;IACA,eAAe,WAAW,WAAW;IACrC,GAAG;IACH,UAAU;GACZ,CACF;EAAE,CAAC;CACL,CAAC,GACD,EACE,MAAM,UACR,CACF;AACF;AACA,SAAS,UAAU,OAAO;CACxB,MAAM,EAAE,cAAc,UAAU,gBAAgB,GAAG,mBAAmB;CACtE,MAAM,UAAU,gBAAgB,aAAa,YAAY;CACzD,MAAM,YAAY,SAAS;CAC3B,IAAI,CAAC,WAAW;EACd,MAAM,MAAM,qDAAqD;CACnE;CACA,IAAI,CAAC,MAAM,eAAe,QAAQ,GAAG;EACnC,OAAO;CACT;CACA,MAAM,UAAU,mBAAmB,WAAW,mBAAmB,UAAU,UAAU,UAAU;CAC/F,MAAM,SAAS,mBAAmB,UAAU,mBAAmB,WAAW,UAAU,UAAU,UAAU;CACxG,MAAM,eAAe,gBAAgB,SAAS,QAAQ,QAAQ,QAAQ;CACtE,MAAM,aAAa;EACjB,GAAG;EACH,GAAG;CACL;CACA,IAAI,QAAQ,YAAY,MAAM;EAC5B,WAAW,WAAW,SAAS,MAAM,YAAY,QAAQ;CAC3D;CACA,MAAM,cAAc,oBAAoB,YAAY,SAAS,KAAK;CAClE,OAAO,MAAM,aAAa,UAAU,WAAW;AACjD;AACA,MAAM,gBAAgB,eAAe,gBAAgB,iBAAiB;CACpE,MAAM,YAAY,SAAS;CAC3B,MAAM,UAAU,gBAAgB,aAAa,YAAY;CACzD,IAAI,CAAC,WAAW;EACd,MAAM,MAAM,oDAAoD;CAClE;CACA,MAAM,UAAU,mBAAmB,WAAW,mBAAmB,UAAU,UAAU,UAAU;CAC/F,MAAM,SAAS,mBAAmB,UAAU,mBAAmB,WAAW,UAAU,UAAU,UAAU;CACxG,MAAM,eAAe,gBAAgB,SAAS,QAAQ,QAAQ,QAAQ;CACtE,OAAO;EACL,UAAU,cAAc,YAAY,QAAQ;EAC5C,GAAG;CACL;AACF;AACA,MAAM,QAAQ,YAAY,IAAI;AAC9B,MAAM,SAAS;AACf,MAAM,SAAS,YAAY,KAAK;AAChC,SAAS,gBAAgB,SAAS,QAAQ,UAAU;CAClD,IAAI,UAAU;EACZ,OAAO;GACL,GAAG,UAAU,OAAO;IAAE,qBAAqB;IAAG,sBAAsB;GAAE;GACtE,GAAG,SAAS,OAAO;IAAE,wBAAwB;IAAG,yBAAyB;GAAE;EAC7E;CACF;CACA,OAAO;EACL,GAAG,UAAU,OAAO;GAAE,qBAAqB;GAAG,wBAAwB;EAAE;EACxE,GAAG,SAAS,OAAO;GAAE,sBAAsB;GAAG,yBAAyB;EAAE;CAC3E;AACF"}