@tamagui/group 1.26.0 → 1.27.0-1684163004699

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/group",
3
- "version": "1.26.0",
3
+ "version": "1.27.0-1684163004699",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -23,17 +23,17 @@
23
23
  "clean:build": "tamagui-build clean:build"
24
24
  },
25
25
  "dependencies": {
26
- "@tamagui/core": "1.26.0",
27
- "@tamagui/create-context": "1.26.0",
28
- "@tamagui/stacks": "1.26.0",
29
- "@tamagui/use-controllable-state": "1.26.0",
26
+ "@tamagui/core": "1.27.0-1684163004699",
27
+ "@tamagui/create-context": "1.27.0-1684163004699",
28
+ "@tamagui/stacks": "1.27.0-1684163004699",
29
+ "@tamagui/use-controllable-state": "1.27.0-1684163004699",
30
30
  "reforest": "^0.12.1"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "react": "*"
34
34
  },
35
35
  "devDependencies": {
36
- "@tamagui/build": "1.26.0",
36
+ "@tamagui/build": "1.27.0-1684163004699",
37
37
  "react": "^18.2.0"
38
38
  },
39
39
  "publishConfig": {
@@ -1,233 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import {
3
- getConfig,
4
- getExpandedShorthands,
5
- getTokens,
6
- getVariableValue,
7
- isTamaguiElement,
8
- mergeProps,
9
- spacedChildren,
10
- styled,
11
- useProps,
12
- withStaticProperties
13
- } from "@tamagui/core";
14
- import { createContextScope } from "@tamagui/create-context";
15
- import { ThemeableStack } from "@tamagui/stacks";
16
- import { useControllableState } from "@tamagui/use-controllable-state";
17
- import React, { Children, forwardRef, isValidElement } from "react";
18
- import { ScrollView } from "react-native";
19
- import { useIndex, useIndexedChildren } from "reforest";
20
- const GROUP_NAME = "Group";
21
- const [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME);
22
- const [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME);
23
- const GroupFrame = styled(ThemeableStack, {
24
- name: "GroupFrame",
25
- variants: {
26
- unstyled: {
27
- false: {
28
- size: "$true",
29
- y: 0,
30
- backgroundColor: "$background"
31
- }
32
- },
33
- size: (val, { tokens }) => {
34
- const borderRadius = tokens.radius[val] ?? val ?? tokens.radius["$true"];
35
- return {
36
- borderRadius
37
- };
38
- }
39
- },
40
- defaultVariants: {
41
- unstyled: false
42
- }
43
- });
44
- function createGroup(verticalDefault) {
45
- return withStaticProperties(
46
- forwardRef((props, ref) => {
47
- const activeProps = useProps(props);
48
- const {
49
- __scopeGroup,
50
- children: childrenProp,
51
- space,
52
- size = "$true",
53
- spaceDirection,
54
- separator,
55
- scrollable,
56
- axis = verticalDefault ? "vertical" : "horizontal",
57
- orientation = axis,
58
- disabled: disabledProp,
59
- disablePassBorderRadius: disablePassBorderRadiusProp,
60
- borderRadius,
61
- forceUseItem,
62
- ...restProps
63
- } = getExpandedShorthands(activeProps);
64
- const vertical = orientation === "vertical";
65
- const [itemChildrenCount, setItemChildrenCount] = useControllableState({
66
- defaultProp: forceUseItem ? 1 : 0
67
- });
68
- const isUsingItems = itemChildrenCount > 0;
69
- const radius = borderRadius ?? (size ? getVariableValue(getTokens().radius[size]) - 1 : void 0);
70
- const hasRadius = radius !== void 0;
71
- const disablePassBorderRadius = disablePassBorderRadiusProp ?? !hasRadius;
72
- const childrenArray = Children.toArray(childrenProp);
73
- const children = isUsingItems ? childrenProp : childrenArray.map((child, i) => {
74
- if (!isValidElement(child)) {
75
- return child;
76
- }
77
- const disabled = child.props.disabled ?? disabledProp;
78
- const isFirst = i === 0;
79
- const isLast = i === childrenArray.length - 1;
80
- const radiusStyles = disablePassBorderRadius === true ? null : getBorderRadius({
81
- isFirst,
82
- isLast,
83
- radius,
84
- vertical,
85
- disable: disablePassBorderRadius
86
- });
87
- const props2 = {
88
- disabled,
89
- ...isTamaguiElement(child) ? radiusStyles : { style: radiusStyles }
90
- };
91
- return cloneElementWithPropOrder(child, props2);
92
- });
93
- const indexedChildren = useIndexedChildren(
94
- spacedChildren({
95
- direction: spaceDirection,
96
- separator,
97
- space,
98
- children
99
- })
100
- );
101
- const onItemMount = React.useCallback(
102
- () => setItemChildrenCount((prev) => prev + 1),
103
- []
104
- );
105
- const onItemUnmount = React.useCallback(
106
- () => setItemChildrenCount((prev) => prev - 1),
107
- []
108
- );
109
- return /* @__PURE__ */ jsx(
110
- GroupProvider,
111
- {
112
- disablePassBorderRadius,
113
- vertical: orientation === "vertical",
114
- radius,
115
- disabled: disabledProp,
116
- onItemMount,
117
- onItemUnmount,
118
- scope: __scopeGroup,
119
- children: /* @__PURE__ */ jsx(
120
- GroupFrame,
121
- {
122
- ref,
123
- size,
124
- flexDirection: orientation === "horizontal" ? "row" : "column",
125
- borderRadius,
126
- ...restProps,
127
- children: wrapScroll({ ...activeProps, orientation }, indexedChildren)
128
- }
129
- )
130
- }
131
- );
132
- }),
133
- {
134
- Item: GroupItem
135
- }
136
- );
137
- }
138
- const GroupItem = (props) => {
139
- var _a;
140
- const { __scopeGroup, children } = props;
141
- const groupItemProps = useGroupItem(
142
- { disabled: isValidElement(children) ? children.props.disabled : void 0 },
143
- __scopeGroup
144
- );
145
- if (!isValidElement(children)) {
146
- return children;
147
- }
148
- if (isTamaguiElement(children)) {
149
- return React.cloneElement(children, groupItemProps);
150
- }
151
- return React.cloneElement(children, {
152
- style: {
153
- ...(_a = children.props) == null ? void 0 : _a["style"],
154
- ...groupItemProps
155
- }
156
- });
157
- };
158
- const useGroupItem = (childrenProps, __scopeGroup) => {
159
- const treeIndex = useIndex();
160
- const context = useGroupContext("GroupItem", __scopeGroup);
161
- React.useEffect(() => {
162
- context.onItemMount();
163
- return () => {
164
- context.onItemUnmount();
165
- };
166
- }, []);
167
- if (!treeIndex) {
168
- throw Error("<Group.Item/> should only be used within a <Group/>");
169
- }
170
- const isFirst = treeIndex.index === 0;
171
- const isLast = treeIndex.index === treeIndex.maxIndex;
172
- const disabled = childrenProps.disabled ?? context.disabled;
173
- let propsToPass = {
174
- disabled
175
- };
176
- if (context.disablePassBorderRadius !== true) {
177
- const borderRadius = getBorderRadius({
178
- radius: context.radius,
179
- isFirst,
180
- isLast,
181
- vertical: context.vertical,
182
- disable: context.disablePassBorderRadius
183
- });
184
- return { ...propsToPass, ...borderRadius };
185
- }
186
- return propsToPass;
187
- };
188
- const Group = createGroup(true);
189
- const YGroup = Group;
190
- const XGroup = createGroup(false);
191
- const wrapScroll = ({ scrollable, orientation, showScrollIndicator = false }, children) => {
192
- if (scrollable)
193
- return /* @__PURE__ */ jsx(
194
- ScrollView,
195
- {
196
- ...orientation === "vertical" && {
197
- showsVerticalScrollIndicator: showScrollIndicator
198
- },
199
- ...orientation === "horizontal" && {
200
- horizontal: true,
201
- showsHorizontalScrollIndicator: showScrollIndicator
202
- },
203
- children
204
- }
205
- );
206
- return children;
207
- };
208
- const getBorderRadius = ({
209
- isFirst,
210
- isLast,
211
- radius,
212
- vertical,
213
- disable
214
- }) => {
215
- return {
216
- borderTopLeftRadius: isFirst && disable !== "top" && disable !== "start" ? radius : 0,
217
- borderTopRightRadius: disable !== "top" && disable !== "end" && (vertical && isFirst || !vertical && isLast) ? radius : 0,
218
- borderBottomLeftRadius: disable !== "bottom" && disable !== "start" && (vertical && isLast || !vertical && isFirst) ? radius : 0,
219
- borderBottomRightRadius: isLast && disable !== "bottom" && disable !== "end" ? radius : 0
220
- };
221
- };
222
- const cloneElementWithPropOrder = (child, props) => {
223
- const next = mergeProps(child.props, props, false, getConfig().shorthands)[0];
224
- return React.cloneElement({ ...child, props: null }, next);
225
- };
226
- export {
227
- Group,
228
- GroupFrame,
229
- XGroup,
230
- YGroup,
231
- useGroupItem
232
- };
233
- //# sourceMappingURL=Group.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Group.tsx"],
4
- "mappings": "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",
5
- "names": ["props"]
6
- }
@@ -1,2 +0,0 @@
1
- export * from "./Group";
2
- //# sourceMappingURL=index.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;",
5
- "names": []
6
- }