@tamagui/list-item 2.7.7 → 3.0.0-beta.1091.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.
@@ -1,233 +1,119 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { getFontSize } from "@tamagui/font-size";
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
2
  import { getFontSized } from "@tamagui/get-font-sized";
4
- import { getSize, getSpace } from "@tamagui/get-token";
5
- import { withStaticProperties } from "@tamagui/helpers";
6
- import { getIcon, useCurrentColor } from "@tamagui/helpers-tamagui";
3
+ import { getThemedIconSize, useGetThemedIcon } from "@tamagui/helpers-tamagui";
4
+ import { oneSizeSmaller, resolveSize } from "@tamagui/size";
7
5
  import { YStack } from "@tamagui/stacks";
8
- import { SizableText, wrapChildrenInText } from "@tamagui/text";
9
- import { createStyledContext, styled, View } from "@tamagui/web";
10
- var NAME = "ListItem";
11
- var context = createStyledContext({
12
- size: void 0,
13
- variant: void 0,
14
- color: void 0
6
+ import { SizableText, textParentProps, wrapChildrenInText } from "@tamagui/text";
7
+ import { View, createStyledContext, splitStyleProps, styled } from "@tamagui/web";
8
+
9
+ var ListItemContext = createStyledContext({
10
+ size: void 0,
11
+ variant: void 0,
12
+ color: void 0
13
+ });
14
+ var listItemSizeVariant = styled.dynamic(function(val, env) {
15
+ var { frame } = resolveSize(val, env);
16
+ return {
17
+ minHeight: frame.minHeight,
18
+ paddingHorizontal: frame.paddingHorizontal,
19
+ paddingVertical: frame.paddingVertical,
20
+ gap: frame.gap
21
+ };
22
+ });
23
+ var listItemSubtitleSizeVariant = styled.dynamic(function(val, env) {
24
+ return getFontSized(oneSizeSmaller(val, env.sizes), env);
15
25
  });
16
26
  var ListItemFrame = styled(View, {
17
- context,
18
- name: NAME,
19
- render: "li",
20
- role: "listitem",
21
- variants: {
22
- unstyled: {
23
- false: {
24
- size: "$true",
25
- alignItems: "center",
26
- justifyContent: "space-between",
27
- flexWrap: "nowrap",
28
- borderColor: "$borderColor",
29
- width: "100%",
30
- maxWidth: "100%",
31
- overflow: "hidden",
32
- flexDirection: "row",
33
- backgroundColor: "$background",
34
- cursor: "default",
35
- hoverStyle: {
36
- backgroundColor: "$backgroundHover",
37
- borderColor: "$borderColorHover"
38
- },
39
- pressStyle: {
40
- backgroundColor: "$backgroundPress",
41
- borderColor: "$borderColorPress"
42
- }
43
- }
44
- },
45
- variant: {
46
- outlined: process.env.TAMAGUI_HEADLESS === "1" ? {} : {
47
- backgroundColor: "transparent",
48
- borderWidth: 1,
49
- borderColor: "$borderColor",
50
- hoverStyle: {
51
- backgroundColor: "transparent",
52
- borderColor: "$borderColorHover"
53
- },
54
- pressStyle: {
55
- backgroundColor: "transparent",
56
- borderColor: "$borderColorPress"
57
- }
58
- }
59
- },
60
- size: {
61
- "...size": function (val, param) {
62
- var {
63
- tokens
64
- } = param;
65
- return {
66
- minHeight: tokens.size[val],
67
- paddingHorizontal: tokens.space[val],
68
- paddingVertical: getSpace(tokens.space[val], {
69
- shift: -4
70
- })
71
- };
72
- }
73
- },
74
- active: {
75
- true: {
76
- hoverStyle: {
77
- backgroundColor: "$background"
78
- }
79
- }
80
- },
81
- disabled: {
82
- true: {
83
- opacity: 0.5,
84
- pointerEvents: "none"
85
- }
86
- }
87
- },
88
- defaultVariants: {
89
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
90
- }
27
+ context: ListItemContext,
28
+ displayName: "ListItemFrame",
29
+ role: "listitem",
30
+ render: "li",
31
+ size: true,
32
+ alignItems: "center",
33
+ justifyContent: "space-between",
34
+ flexWrap: "nowrap",
35
+ width: "100%",
36
+ maxWidth: "100%",
37
+ overflow: "hidden",
38
+ flexDirection: "row",
39
+ variants: {
40
+ size: listItemSizeVariant,
41
+ disabled: { true: { pointerEvents: "none" } }
42
+ }
91
43
  });
92
44
  var ListItemText = styled(SizableText, {
93
- context,
94
- name: "ListItemText",
95
- variants: {
96
- unstyled: {
97
- false: {
98
- color: "$color",
99
- size: "$true",
100
- flexGrow: 1,
101
- flexShrink: 1,
102
- ellipsis: true,
103
- cursor: "inherit"
104
- }
105
- }
106
- },
107
- defaultVariants: {
108
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
109
- }
45
+ context: ListItemContext,
46
+ displayName: "ListItemText",
47
+ size: true,
48
+ flexGrow: 1,
49
+ flexShrink: 1,
50
+ ellipsis: true,
51
+ cursor: "inherit"
110
52
  });
111
53
  var ListItemSubtitle = styled(ListItemText, {
112
- name: "ListItemSubtitle",
113
- context,
114
- variants: {
115
- unstyled: {
116
- false: {
117
- opacity: 0.6,
118
- maxWidth: "100%",
119
- color: "$color"
120
- }
121
- },
122
- size: {
123
- "...size": function (val, extras) {
124
- var oneSmaller = getSize(val, {
125
- shift: -1,
126
- excludeHalfSteps: true
127
- });
128
- var fontStyle = getFontSized(oneSmaller.key, extras);
129
- return fontStyle;
130
- }
131
- }
132
- },
133
- defaultVariants: {
134
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
135
- }
54
+ context: ListItemContext,
55
+ displayName: "ListItemSubtitle",
56
+ opacity: .6,
57
+ maxWidth: "100%",
58
+ variants: { size: listItemSubtitleSizeVariant }
136
59
  });
137
60
  var ListItemTitle = styled(ListItemText, {
138
- name: "ListItemTitle",
139
- context,
140
- variants: {
141
- unstyled: {
142
- false: {}
143
- }
144
- },
145
- defaultVariants: {
146
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
147
- }
61
+ context: ListItemContext,
62
+ displayName: "ListItemTitle"
148
63
  });
149
- var ListItemIcon = function (props) {
150
- var {
151
- children,
152
- size,
153
- scaleIcon = 1
154
- } = props;
155
- var styledContext = context.useStyledContext();
156
- if (!styledContext) {
157
- throw new Error("ListItem.Icon must be used within a ListItem");
158
- }
159
- var _ref;
160
- var sizeToken = (_ref = size !== null && size !== void 0 ? size : styledContext.size) !== null && _ref !== void 0 ? _ref : "$true";
161
- var iconColor = useCurrentColor(styledContext.color);
162
- var iconSize = getFontSize(sizeToken) * scaleIcon;
163
- return getIcon(children, {
164
- size: iconSize,
165
- color: iconColor
166
- });
64
+ var ListItemIcon = function(param) {
65
+ var { children, size, scaleIcon = 1 } = param;
66
+ var context = ListItemContext.useStyledContext();
67
+ var _ref;
68
+ var getThemedIcon = useGetThemedIcon({
69
+ size: getThemedIconSize((_ref = size !== null && size !== void 0 ? size : context.size) !== null && _ref !== void 0 ? _ref : true, scaleIcon),
70
+ color: context.color
71
+ });
72
+ return getThemedIcon(children);
167
73
  };
168
- var ListItemComponent = ListItemFrame.styleable(function ListItem(propsIn, ref) {
169
- var {
170
- children,
171
- icon,
172
- iconAfter,
173
- scaleIcon = 1,
174
- unstyled = false,
175
- subTitle,
176
- title,
177
- iconSize,
178
- ...rest
179
- } = propsIn;
180
- var size = propsIn.size || "$true";
181
- var styledContext = context.useStyledContext();
182
- var iconColor = useCurrentColor(styledContext === null || styledContext === void 0 ? void 0 : styledContext.color);
183
- var iconSizeNumber = getFontSize(iconSize || size) * scaleIcon;
184
- var iconSpacing = iconSizeNumber * 0.4;
185
- var themedIcon = icon ? /* @__PURE__ */_jsx(View, {
186
- marginRight: iconSpacing,
187
- children: getIcon(icon, {
188
- size: iconSizeNumber,
189
- color: iconColor
190
- })
191
- }) : null;
192
- var themedIconAfter = iconAfter ? /* @__PURE__ */_jsx(View, {
193
- marginLeft: iconSpacing,
194
- children: getIcon(iconAfter, {
195
- size: iconSizeNumber,
196
- color: iconColor
197
- })
198
- }) : null;
199
- var wrappedChildren = wrapChildrenInText(ListItemText, {
200
- children
201
- }, propsIn.unstyled !== true ? {
202
- unstyled: process.env.TAMAGUI_HEADLESS === "1",
203
- fontSize: propsIn.size
204
- } : void 0);
205
- return /* @__PURE__ */_jsxs(ListItemFrame, {
206
- ref,
207
- ...rest,
208
- children: [themedIcon, title || subTitle ? /* @__PURE__ */_jsxs(YStack, {
209
- flex: 1,
210
- children: [title ? typeof title === "string" ? /* @__PURE__ */_jsx(ListItemTitle, {
211
- unstyled,
212
- size,
213
- children: title
214
- }) : title : null, subTitle ? /* @__PURE__ */_jsx(_Fragment, {
215
- children: typeof subTitle === "string" ? /* @__PURE__ */_jsx(ListItemSubtitle, {
216
- unstyled,
217
- size,
218
- children: subTitle
219
- }) : subTitle
220
- }) : null, wrappedChildren]
221
- }) : wrappedChildren, themedIconAfter]
222
- });
223
- });
224
- var ListItem2 = withStaticProperties(ListItemComponent, {
225
- Apply: context.Provider,
226
- Frame: ListItemFrame,
227
- Text: ListItemText,
228
- Subtitle: ListItemSubtitle,
229
- Icon: ListItemIcon,
230
- Title: ListItemTitle
231
- });
232
- export { ListItem2 as ListItem };
74
+ function useListItem(propsIn) {
75
+ var [wrappedTextProps, listItemProps] = splitStyleProps(propsIn, {
76
+ expandShorthands: true,
77
+ filter: textParentProps
78
+ });
79
+ var { children, icon, iconAfter, iconSize, scaleIcon = 1, subTitle, title, ...frameProps } = listItemProps;
80
+ var { noTextWrap, textProps, ...textStyleProps } = wrappedTextProps;
81
+ var context = ListItemContext.useStyledContext();
82
+ var _ref, _ref1, _propsIn_color;
83
+ var getThemedIcon = useGetThemedIcon({
84
+ size: getThemedIconSize((_ref1 = (_ref = iconSize !== null && iconSize !== void 0 ? iconSize : propsIn.size) !== null && _ref !== void 0 ? _ref : context.size) !== null && _ref1 !== void 0 ? _ref1 : true, scaleIcon),
85
+ color: (_propsIn_color = propsIn.color) !== null && _propsIn_color !== void 0 ? _propsIn_color : context.color
86
+ });
87
+ var wrappedChildren = wrapChildrenInText(ListItemText, {
88
+ children,
89
+ noTextWrap,
90
+ textProps
91
+ }, textStyleProps);
92
+ return { props: {
93
+ ...frameProps,
94
+ color: propsIn.color,
95
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [
96
+ icon ? getThemedIcon(icon) : null,
97
+ title || subTitle ? /* @__PURE__ */ jsxs(YStack, {
98
+ flex: 1,
99
+ children: [
100
+ typeof title === "string" ? /* @__PURE__ */ jsx(ListItemTitle, {
101
+ ...textStyleProps,
102
+ ...textProps,
103
+ children: title
104
+ }) : title,
105
+ typeof subTitle === "string" ? /* @__PURE__ */ jsx(ListItemSubtitle, {
106
+ ...textStyleProps,
107
+ ...textProps,
108
+ children: subTitle
109
+ }) : subTitle,
110
+ wrappedChildren
111
+ ]
112
+ }) : wrappedChildren,
113
+ iconAfter ? getThemedIcon(iconAfter) : null
114
+ ] })
115
+ } };
116
+ }
117
+
118
+ export { ListItemContext, ListItemFrame, ListItemIcon, ListItemSubtitle, ListItemText, ListItemTitle, listItemSizeVariant, useListItem };
233
119
  //# sourceMappingURL=ListItem.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getFontSize","getFontSized","getSize","getSpace","withStaticProperties","getIcon","useCurrentColor","YStack","SizableText","wrapChildrenInText","createStyledContext","styled","View","NAME","context","size","variant","color","ListItemFrame","name","render","role","variants","unstyled","false","alignItems","justifyContent","flexWrap","borderColor","width","maxWidth","overflow","flexDirection","backgroundColor","cursor","hoverStyle","pressStyle","outlined","process","env","TAMAGUI_HEADLESS","borderWidth","...size","val","param","tokens","minHeight","paddingHorizontal","space","paddingVertical","shift","active","true","disabled","opacity","pointerEvents","defaultVariants","ListItemText","flexGrow","flexShrink","ellipsis","ListItemSubtitle","extras","oneSmaller","excludeHalfSteps","fontStyle","key","ListItemTitle","ListItemIcon","props","children","scaleIcon","styledContext","useStyledContext","Error","_ref","sizeToken","iconColor","iconSize","ListItemComponent","styleable","ListItem","propsIn","ref","icon","iconAfter","subTitle","title","rest","iconSizeNumber","iconSpacing","themedIcon","marginRight","themedIconAfter","marginLeft","wrappedChildren","fontSize","flex"],"sources":["../../src/ListItem.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListItem.native.js","names":["_Fragment"],"sources":["esm/ListItem.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { getFontSized } from \"@tamagui/get-font-sized\";\nimport { getThemedIconSize, useGetThemedIcon } from \"@tamagui/helpers-tamagui\";\nimport { oneSizeSmaller, resolveSize } from \"@tamagui/size\";\nimport { YStack } from \"@tamagui/stacks\";\nimport { SizableText, textParentProps, wrapChildrenInText } from \"@tamagui/text\";\nimport { createStyledContext, splitStyleProps, styled, View } from \"@tamagui/web\";\nvar ListItemContext = createStyledContext({\n size: void 0,\n variant: void 0,\n color: void 0\n});\nvar listItemSizeVariant = styled.dynamic(function(val, env) {\n var { frame } = resolveSize(val, env);\n return {\n minHeight: frame.minHeight,\n paddingHorizontal: frame.paddingHorizontal,\n paddingVertical: frame.paddingVertical,\n gap: frame.gap\n };\n});\nvar listItemSubtitleSizeVariant = styled.dynamic(function(val, env) {\n return getFontSized(oneSizeSmaller(val, env.sizes), env);\n});\nvar ListItemFrame = styled(View, {\n context: ListItemContext,\n displayName: \"ListItemFrame\",\n // role is the cross-platform one; render only lands on web\n role: \"listitem\",\n render: \"li\",\n size: true,\n alignItems: \"center\",\n justifyContent: \"space-between\",\n flexWrap: \"nowrap\",\n width: \"100%\",\n maxWidth: \"100%\",\n overflow: \"hidden\",\n flexDirection: \"row\",\n variants: {\n size: listItemSizeVariant,\n disabled: {\n true: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nvar ListItemText = styled(SizableText, {\n context: ListItemContext,\n displayName: \"ListItemText\",\n size: true,\n flexGrow: 1,\n flexShrink: 1,\n ellipsis: true,\n cursor: \"inherit\"\n});\nvar ListItemSubtitle = styled(ListItemText, {\n context: ListItemContext,\n displayName: \"ListItemSubtitle\",\n opacity: 0.6,\n maxWidth: \"100%\",\n variants: {\n size: listItemSubtitleSizeVariant\n }\n});\nvar ListItemTitle = styled(ListItemText, {\n context: ListItemContext,\n displayName: \"ListItemTitle\"\n});\nvar ListItemIcon = function(param) {\n var { children, size, scaleIcon = 1 } = param;\n var context = ListItemContext.useStyledContext();\n var _ref;\n var getThemedIcon = useGetThemedIcon({\n size: getThemedIconSize((_ref = size !== null && size !== void 0 ? size : context.size) !== null && _ref !== void 0 ? _ref : true, scaleIcon),\n color: context.color\n });\n return getThemedIcon(children);\n};\nfunction useListItem(propsIn) {\n var [wrappedTextProps, listItemProps] = splitStyleProps(propsIn, {\n expandShorthands: true,\n filter: textParentProps\n });\n var { children, icon, iconAfter, iconSize, scaleIcon = 1, subTitle, title, ...frameProps } = listItemProps;\n var { noTextWrap, textProps, ...textStyleProps } = wrappedTextProps;\n var context = ListItemContext.useStyledContext();\n var _ref, _ref1, _propsIn_color;\n var getThemedIcon = useGetThemedIcon({\n size: getThemedIconSize((_ref1 = (_ref = iconSize !== null && iconSize !== void 0 ? iconSize : propsIn.size) !== null && _ref !== void 0 ? _ref : context.size) !== null && _ref1 !== void 0 ? _ref1 : true, scaleIcon),\n color: (_propsIn_color = propsIn.color) !== null && _propsIn_color !== void 0 ? _propsIn_color : context.color\n });\n var wrappedChildren = wrapChildrenInText(ListItemText, {\n children,\n noTextWrap,\n textProps\n }, textStyleProps);\n return {\n props: {\n ...frameProps,\n color: propsIn.color,\n children: /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n icon ? getThemedIcon(icon) : null,\n title || subTitle ? /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n children: [\n typeof title === \"string\" ? /* @__PURE__ */ _jsx(ListItemTitle, {\n ...textStyleProps,\n ...textProps,\n children: title\n }) : title,\n typeof subTitle === \"string\" ? /* @__PURE__ */ _jsx(ListItemSubtitle, {\n ...textStyleProps,\n ...textProps,\n children: subTitle\n }) : subTitle,\n wrappedChildren\n ]\n }) : wrappedChildren,\n iconAfter ? getThemedIcon(iconAfter) : null\n ]\n })\n }\n };\n}\nexport {\n ListItemContext,\n ListItemFrame,\n ListItemIcon,\n ListItemSubtitle,\n ListItemText,\n ListItemTitle,\n listItemSizeVariant,\n useListItem\n};\n//# sourceMappingURL=ListItem.js.map\n"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1 @@
1
- export * from "./ListItem.mjs";
2
- //# sourceMappingURL=index.js.map
1
+ export * from "./ListItem.mjs"
@@ -1,2 +1 @@
1
- export * from "./ListItem.mjs";
2
- //# sourceMappingURL=index.mjs.map
1
+ export * from "./ListItem.mjs"
@@ -1,2 +1 @@
1
- export * from "./ListItem.native.js";
2
- //# sourceMappingURL=index.native.js.map
1
+ export * from "./ListItem.native.js"