@tamagui/list-item 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.
@@ -1,233 +1,167 @@
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";
3
+ import { oneSizeTokenSmaller } from "@tamagui/get-token";
5
4
  import { withStaticProperties } from "@tamagui/helpers";
6
- import { getIcon, useCurrentColor } from "@tamagui/helpers-tamagui";
5
+ import { getThemedIconSize, useGetThemedIcon } from "@tamagui/helpers-tamagui";
7
6
  import { YStack } from "@tamagui/stacks";
7
+ import { resolveSizeToken } from "@tamagui/size";
8
8
  import { SizableText, wrapChildrenInText } from "@tamagui/text";
9
- import { createStyledContext, styled, View } from "@tamagui/web";
9
+ import { View, createStyledContext, createStyledHOC, getVariableValue, styled, useProps } from "@tamagui/web";
10
+
10
11
  var NAME = "ListItem";
11
12
  var context = createStyledContext({
12
- size: void 0,
13
- variant: void 0,
14
- color: void 0
13
+ size: void 0,
14
+ variant: void 0,
15
+ color: void 0
15
16
  });
17
+ var listItemSizeVariant = function(val, param) {
18
+ var { tokens } = param;
19
+ var sizeToken = resolveSizeToken(val, "size");
20
+ var spaceToken = resolveSizeToken(val, "space");
21
+ var size = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
22
+ var sizeVal = getVariableValue(size);
23
+ return {
24
+ minHeight: size,
25
+ paddingHorizontal: tokens.space[spaceToken],
26
+ paddingVertical: Math.max(0, Math.round(sizeVal * .36 - 9)),
27
+ gap: getThemedIconSize(sizeToken, .4)
28
+ };
29
+ };
30
+ var listItemSubtitleSizeVariant = function(val, extras) {
31
+ var fontSizeToken = resolveSizeToken(val, "fontSize");
32
+ var oneSmaller = oneSizeTokenSmaller(fontSizeToken);
33
+ return getFontSized(oneSmaller, extras);
34
+ };
16
35
  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
- }
36
+ context,
37
+ displayName: NAME,
38
+ render: "li",
39
+ role: "listitem",
40
+ size: true,
41
+ alignItems: "center",
42
+ justifyContent: "space-between",
43
+ flexWrap: "nowrap",
44
+ width: "100%",
45
+ maxWidth: "100%",
46
+ overflow: "hidden",
47
+ flexDirection: "row",
48
+ variants: {
49
+ size: {
50
+ true: listItemSizeVariant,
51
+ Size: listItemSizeVariant
52
+ },
53
+ disabled: { true: { pointerEvents: "none" } }
54
+ }
91
55
  });
92
56
  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
- }
57
+ context,
58
+ displayName: "ListItemText",
59
+ size: true,
60
+ flexGrow: 1,
61
+ flexShrink: 1,
62
+ ellipsis: true,
63
+ cursor: "inherit"
110
64
  });
111
65
  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
- }
66
+ displayName: "ListItemSubtitle",
67
+ context,
68
+ opacity: .6,
69
+ maxWidth: "100%",
70
+ variants: { size: {
71
+ true: listItemSubtitleSizeVariant,
72
+ Size: listItemSubtitleSizeVariant
73
+ } }
136
74
  });
137
75
  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
- }
76
+ displayName: "ListItemTitle",
77
+ context
148
78
  });
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
- });
79
+ var ListItemIcon = function(props) {
80
+ var { children, size, scaleIcon = 1 } = props;
81
+ var styledContext = context.useStyledContext();
82
+ if (!styledContext) {
83
+ throw new Error("ListItem.Icon must be used within a ListItem");
84
+ }
85
+ var _ref;
86
+ var sizeToken = (_ref = size !== null && size !== void 0 ? size : styledContext.size) !== null && _ref !== void 0 ? _ref : true;
87
+ var contextColor = styledContext.color;
88
+ var iconColorProp = contextColor === "unset" || typeof contextColor === "number" ? void 0 : contextColor;
89
+ var iconSize = getThemedIconSize(sizeToken, scaleIcon);
90
+ var getThemedIcon = useGetThemedIcon({
91
+ size: iconSize,
92
+ color: iconColorProp
93
+ });
94
+ return getThemedIcon(children);
167
95
  };
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
- });
96
+ var ListItemComponent = createStyledHOC(ListItemFrame, function ListItem(propsIn, ref) {
97
+ var processedProps = useProps(propsIn, {
98
+ noNormalize: true,
99
+ noExpand: true
100
+ });
101
+ var { children, icon, iconAfter, scaleIcon = 1, subTitle, title, iconSize, color, ...rest } = processedProps;
102
+ var styledContext = context.useStyledContext();
103
+ var _rest_size, _ref, _ref1;
104
+ var size = (_ref1 = (_ref = (_rest_size = rest.size) !== null && _rest_size !== void 0 ? _rest_size : propsIn.size) !== null && _ref !== void 0 ? _ref : styledContext === null || styledContext === void 0 ? void 0 : styledContext.size) !== null && _ref1 !== void 0 ? _ref1 : true;
105
+ var _ref2;
106
+ var contextColor = (_ref2 = color !== null && color !== void 0 ? color : propsIn.color) !== null && _ref2 !== void 0 ? _ref2 : styledContext === null || styledContext === void 0 ? void 0 : styledContext.color;
107
+ var iconColorProp = contextColor === "unset" || typeof contextColor === "number" ? void 0 : contextColor;
108
+ var iconSizeNumber = getThemedIconSize(iconSize !== null && iconSize !== void 0 ? iconSize : size, scaleIcon);
109
+ var getThemedIcon = useGetThemedIcon({
110
+ size: iconSizeNumber,
111
+ color: iconColorProp
112
+ });
113
+ var themedIcon = icon ? getThemedIcon(icon) : null;
114
+ var themedIconAfter = iconAfter ? getThemedIcon(iconAfter) : null;
115
+ var wrappedChildren = wrapChildrenInText(ListItemText, { children }, { size });
116
+ var _rest_variant, _ref3;
117
+ var listItemContext = {
118
+ ...styledContext,
119
+ color: contextColor,
120
+ size,
121
+ variant: (_ref3 = (_rest_variant = rest.variant) !== null && _rest_variant !== void 0 ? _rest_variant : propsIn.variant) !== null && _ref3 !== void 0 ? _ref3 : styledContext === null || styledContext === void 0 ? void 0 : styledContext.variant
122
+ };
123
+ var frameProps = {
124
+ size,
125
+ variant: listItemContext.variant,
126
+ ...rest
127
+ };
128
+ return /* @__PURE__ */ jsx(context.Provider, {
129
+ ...listItemContext,
130
+ children: /* @__PURE__ */ jsx(ListItemFrame, {
131
+ ref,
132
+ ...frameProps,
133
+ children: /* @__PURE__ */ jsxs(context.Provider, {
134
+ ...listItemContext,
135
+ children: [
136
+ themedIcon,
137
+ title || subTitle ? /* @__PURE__ */ jsxs(YStack, {
138
+ flex: 1,
139
+ children: [
140
+ title ? typeof title === "string" ? /* @__PURE__ */ jsx(ListItemTitle, {
141
+ size,
142
+ children: title
143
+ }) : title : null,
144
+ subTitle ? /* @__PURE__ */ jsx(Fragment, { children: typeof subTitle === "string" ? /* @__PURE__ */ jsx(ListItemSubtitle, {
145
+ size,
146
+ children: subTitle
147
+ }) : subTitle }) : null,
148
+ wrappedChildren
149
+ ]
150
+ }) : wrappedChildren,
151
+ themedIconAfter
152
+ ]
153
+ })
154
+ })
155
+ });
223
156
  });
224
157
  var ListItem2 = withStaticProperties(ListItemComponent, {
225
- Apply: context.Provider,
226
- Frame: ListItemFrame,
227
- Text: ListItemText,
228
- Subtitle: ListItemSubtitle,
229
- Icon: ListItemIcon,
230
- Title: ListItemTitle
158
+ Apply: context.Provider,
159
+ Frame: ListItemFrame,
160
+ Text: ListItemText,
161
+ Subtitle: ListItemSubtitle,
162
+ Icon: ListItemIcon,
163
+ Title: ListItemTitle
231
164
  });
232
- export { ListItem2 as ListItem };
165
+
166
+ export { ListItem2 as ListItem, listItemSizeVariant };
233
167
  //# 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 { oneSizeTokenSmaller } from \"@tamagui/get-token\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport { getThemedIconSize, useGetThemedIcon } from \"@tamagui/helpers-tamagui\";\nimport { YStack } from \"@tamagui/stacks\";\nimport { resolveSizeToken } from \"@tamagui/size\";\nimport { SizableText, wrapChildrenInText } from \"@tamagui/text\";\nimport { createStyledContext, createStyledHOC, getVariableValue, styled, useProps, View } from \"@tamagui/web\";\nvar NAME = \"ListItem\";\nvar context = createStyledContext({\n size: void 0,\n variant: void 0,\n color: void 0\n});\nvar listItemSizeVariant = function(val, param) {\n var { tokens } = param;\n var sizeToken = resolveSizeToken(val, \"size\");\n var spaceToken = resolveSizeToken(val, \"space\");\n var size = typeof sizeToken === \"number\" ? sizeToken : tokens.size[sizeToken];\n var sizeVal = getVariableValue(size);\n return {\n minHeight: size,\n paddingHorizontal: tokens.space[spaceToken],\n paddingVertical: Math.max(0, Math.round(sizeVal * 0.36 - 9)),\n gap: getThemedIconSize(sizeToken, 0.4)\n };\n};\nvar listItemSubtitleSizeVariant = function(val, extras) {\n var fontSizeToken = resolveSizeToken(val, \"fontSize\");\n var oneSmaller = oneSizeTokenSmaller(fontSizeToken);\n return getFontSized(oneSmaller, extras);\n};\nvar ListItemFrame = styled(View, {\n context,\n displayName: NAME,\n render: \"li\",\n role: \"listitem\",\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: {\n true: listItemSizeVariant,\n Size: listItemSizeVariant\n },\n disabled: {\n true: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nvar ListItemText = styled(SizableText, {\n context,\n displayName: \"ListItemText\",\n size: true,\n flexGrow: 1,\n flexShrink: 1,\n ellipsis: true,\n cursor: \"inherit\"\n});\nvar ListItemSubtitle = styled(ListItemText, {\n displayName: \"ListItemSubtitle\",\n context,\n opacity: 0.6,\n maxWidth: \"100%\",\n variants: {\n size: {\n true: listItemSubtitleSizeVariant,\n Size: listItemSubtitleSizeVariant\n }\n }\n});\nvar ListItemTitle = styled(ListItemText, {\n displayName: \"ListItemTitle\",\n context\n});\nvar ListItemIcon = function(props) {\n var { children, size, scaleIcon = 1 } = props;\n var styledContext = context.useStyledContext();\n if (!styledContext) {\n throw new Error(\"ListItem.Icon must be used within a ListItem\");\n }\n var _ref;\n var sizeToken = (_ref = size !== null && size !== void 0 ? size : styledContext.size) !== null && _ref !== void 0 ? _ref : true;\n var contextColor = styledContext.color;\n var iconColorProp = contextColor === \"unset\" || typeof contextColor === \"number\" ? void 0 : contextColor;\n var iconSize = getThemedIconSize(sizeToken, scaleIcon);\n var getThemedIcon = useGetThemedIcon({\n size: iconSize,\n color: iconColorProp\n });\n return getThemedIcon(children);\n};\nvar ListItemComponent = createStyledHOC(ListItemFrame, function ListItem(propsIn, ref) {\n var processedProps = useProps(propsIn, {\n noNormalize: true,\n noExpand: true\n });\n var { children, icon, iconAfter, scaleIcon = 1, subTitle, title, iconSize, color, ...rest } = processedProps;\n var styledContext = context.useStyledContext();\n var _rest_size, _ref, _ref1;\n var size = (_ref1 = (_ref = (_rest_size = rest.size) !== null && _rest_size !== void 0 ? _rest_size : propsIn.size) !== null && _ref !== void 0 ? _ref : styledContext === null || styledContext === void 0 ? void 0 : styledContext.size) !== null && _ref1 !== void 0 ? _ref1 : true;\n var _ref2;\n var contextColor = (_ref2 = color !== null && color !== void 0 ? color : propsIn.color) !== null && _ref2 !== void 0 ? _ref2 : styledContext === null || styledContext === void 0 ? void 0 : styledContext.color;\n var iconColorProp = contextColor === \"unset\" || typeof contextColor === \"number\" ? void 0 : contextColor;\n var iconSizeNumber = getThemedIconSize(iconSize !== null && iconSize !== void 0 ? iconSize : size, scaleIcon);\n var getThemedIcon = useGetThemedIcon({\n size: iconSizeNumber,\n color: iconColorProp\n });\n var themedIcon = icon ? getThemedIcon(icon) : null;\n var themedIconAfter = iconAfter ? getThemedIcon(iconAfter) : null;\n var wrappedChildren = wrapChildrenInText(ListItemText, {\n children\n }, {\n size\n });\n var _rest_variant, _ref3;\n var listItemContext = {\n ...styledContext,\n color: contextColor,\n size,\n variant: (_ref3 = (_rest_variant = rest.variant) !== null && _rest_variant !== void 0 ? _rest_variant : propsIn.variant) !== null && _ref3 !== void 0 ? _ref3 : styledContext === null || styledContext === void 0 ? void 0 : styledContext.variant\n };\n var frameProps = {\n size,\n variant: listItemContext.variant,\n ...rest\n };\n return /* @__PURE__ */ _jsx(context.Provider, {\n ...listItemContext,\n children: /* @__PURE__ */ _jsx(ListItemFrame, {\n ref,\n ...frameProps,\n children: /* @__PURE__ */ _jsxs(context.Provider, {\n ...listItemContext,\n children: [\n themedIcon,\n title || subTitle ? /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n children: [\n title ? typeof title === \"string\" ? /* @__PURE__ */ _jsx(ListItemTitle, {\n size,\n children: title\n }) : title : null,\n subTitle ? /* @__PURE__ */ _jsx(_Fragment, {\n children: typeof subTitle === \"string\" ? /* @__PURE__ */ _jsx(ListItemSubtitle, {\n size,\n children: subTitle\n }) : subTitle\n }) : null,\n wrappedChildren\n ]\n }) : wrappedChildren,\n themedIconAfter\n ]\n })\n })\n });\n});\nvar ListItem2 = withStaticProperties(ListItemComponent, {\n Apply: context.Provider,\n Frame: ListItemFrame,\n Text: ListItemText,\n Subtitle: ListItemSubtitle,\n Icon: ListItemIcon,\n Title: ListItemTitle\n});\nexport {\n ListItem2 as ListItem,\n listItemSizeVariant\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"