@tamagui/list-item 2.0.0-rc.8 → 2.0.0

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/src/ListItem.tsx CHANGED
@@ -2,7 +2,7 @@ import { getFontSize } from '@tamagui/font-size'
2
2
  import { getFontSized } from '@tamagui/get-font-sized'
3
3
  import { getSize, getSpace } from '@tamagui/get-token'
4
4
  import { withStaticProperties } from '@tamagui/helpers'
5
- import { getIcon } from '@tamagui/helpers-tamagui'
5
+ import { getIcon, useCurrentColor } from '@tamagui/helpers-tamagui'
6
6
  import { YStack } from '@tamagui/stacks'
7
7
  import { SizableText, wrapChildrenInText } from '@tamagui/text'
8
8
  import type { ColorTokens, FontSizeTokens, GetProps, SizeTokens } from '@tamagui/web'
@@ -199,12 +199,13 @@ const ListItemIcon = (props: {
199
199
  }
200
200
 
201
201
  const sizeToken = size ?? styledContext.size ?? '$true'
202
+ const iconColor = useCurrentColor(styledContext.color)
202
203
 
203
204
  const iconSize = getFontSize(sizeToken as any) * scaleIcon
204
205
 
205
206
  return getIcon(children, {
206
207
  size: iconSize,
207
- color: styledContext.color,
208
+ color: iconColor,
208
209
  })
209
210
  }
210
211
 
@@ -224,17 +225,20 @@ const ListItemComponent = ListItemFrame.styleable<ListItemExtraProps>(
224
225
 
225
226
  const size = propsIn.size || '$true'
226
227
  const styledContext = context.useStyledContext()
228
+ const iconColor = useCurrentColor(styledContext?.color)
227
229
  const iconSizeNumber = getFontSize(iconSize || (size as any)) * scaleIcon
228
230
 
229
- const [themedIcon, themedIconAfter] = [icon, iconAfter].map((icon, i) => {
230
- if (!icon) return null
231
- const isBefore = i === 0
232
- return getIcon(icon, {
233
- size: iconSizeNumber,
234
- color: styledContext?.color,
235
- [isBefore ? 'marginRight' : 'marginLeft']: `${iconSizeNumber * 0.4}%`,
236
- })
237
- })
231
+ const iconSpacing = iconSizeNumber * 0.4
232
+ const themedIcon = icon ? (
233
+ <View marginRight={iconSpacing}>
234
+ {getIcon(icon, { size: iconSizeNumber, color: iconColor })}
235
+ </View>
236
+ ) : null
237
+ const themedIconAfter = iconAfter ? (
238
+ <View marginLeft={iconSpacing}>
239
+ {getIcon(iconAfter, { size: iconSizeNumber, color: iconColor })}
240
+ </View>
241
+ ) : null
238
242
 
239
243
  const wrappedChildren = wrapChildrenInText(
240
244
  ListItemText,
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../src/ListItem.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAErF,OAAO,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE9D,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,iBAAiB,CAAC;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,GAAG,IAAI,CAAA;AAEnF,KAAK,eAAe,GAAG,UAAU,CAAA;AAEjC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,QAAQ,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,QAAQ,CAAC,EAAE,UAAU,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,GAAG,kBAAkB,CAAA;AAc/E,QAAA,MAAM,aAAa;;;;;;6CAqFjB,CAAA;AAkKF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAhQZ,UAAU;kBACP,eAAe;gBACjB,WAAW,GAAG,MAAM;;eAFrB,UAAU;kBACP,eAAe;gBACjB,WAAW,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;kBA8JD;QAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;QACzB,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB;;;;;CAmGC,CAAA"}
1
+ {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../src/ListItem.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAErF,OAAO,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE9D,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,iBAAiB,CAAC;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,GAAG,IAAI,CAAA;AAEnF,KAAK,eAAe,GAAG,UAAU,CAAA;AAEjC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,QAAQ,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,QAAQ,CAAC,EAAE,UAAU,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,GAAG,kBAAkB,CAAA;AAc/E,QAAA,MAAM,aAAa;;;;;;6CAqFjB,CAAA;AAsKF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eApQZ,UAAU;kBACP,eAAe;gBACjB,WAAW,GAAG,MAAM;;eAFrB,UAAU;kBACP,eAAe;gBACjB,WAAW,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;kBA8JD;QAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;QACzB,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB;;;;;CAuGC,CAAA"}
@@ -1,203 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var ListItem_exports = {};
16
- __export(ListItem_exports, {
17
- ListItem: () => ListItem2
18
- });
19
- module.exports = __toCommonJS(ListItem_exports);
20
- var import_font_size = require("@tamagui/font-size"), import_get_font_sized = require("@tamagui/get-font-sized"), import_get_token = require("@tamagui/get-token"), import_helpers = require("@tamagui/helpers"), import_helpers_tamagui = require("@tamagui/helpers-tamagui"), import_stacks = require("@tamagui/stacks"), import_text = require("@tamagui/text"), import_web = require("@tamagui/web"), import_jsx_runtime = require("react/jsx-runtime");
21
- const NAME = "ListItem", context = (0, import_web.createStyledContext)({
22
- size: void 0,
23
- variant: void 0,
24
- color: void 0
25
- }), ListItemFrame = (0, import_web.styled)(import_web.View, {
26
- context,
27
- name: NAME,
28
- render: "li",
29
- role: "listitem",
30
- variants: {
31
- unstyled: {
32
- false: {
33
- size: "$true",
34
- alignItems: "center",
35
- justifyContent: "space-between",
36
- flexWrap: "nowrap",
37
- borderColor: "$borderColor",
38
- width: "100%",
39
- maxWidth: "100%",
40
- overflow: "hidden",
41
- flexDirection: "row",
42
- backgroundColor: "$background",
43
- cursor: "default",
44
- hoverStyle: {
45
- backgroundColor: "$backgroundHover",
46
- borderColor: "$borderColorHover"
47
- },
48
- pressStyle: {
49
- backgroundColor: "$backgroundPress",
50
- borderColor: "$borderColorPress"
51
- }
52
- }
53
- },
54
- variant: {
55
- outlined: process.env.TAMAGUI_HEADLESS === "1" ? {} : {
56
- backgroundColor: "transparent",
57
- borderWidth: 1,
58
- borderColor: "$borderColor",
59
- hoverStyle: {
60
- backgroundColor: "transparent",
61
- borderColor: "$borderColorHover"
62
- },
63
- pressStyle: {
64
- backgroundColor: "transparent",
65
- borderColor: "$borderColorPress"
66
- }
67
- }
68
- },
69
- size: {
70
- "...size": (val, { tokens }) => ({
71
- minHeight: tokens.size[val],
72
- paddingHorizontal: tokens.space[val],
73
- paddingVertical: (0, import_get_token.getSpace)(tokens.space[val], {
74
- shift: -4
75
- })
76
- })
77
- },
78
- active: {
79
- true: {
80
- hoverStyle: {
81
- backgroundColor: "$background"
82
- }
83
- }
84
- },
85
- disabled: {
86
- true: {
87
- opacity: 0.5,
88
- pointerEvents: "none"
89
- }
90
- }
91
- },
92
- defaultVariants: {
93
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
94
- }
95
- }), ListItemText = (0, import_web.styled)(import_text.SizableText, {
96
- context,
97
- name: "ListItemText",
98
- variants: {
99
- unstyled: {
100
- false: {
101
- color: "$color",
102
- size: "$true",
103
- flexGrow: 1,
104
- flexShrink: 1,
105
- ellipsis: !0,
106
- cursor: "inherit"
107
- }
108
- }
109
- },
110
- defaultVariants: {
111
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
112
- }
113
- }), ListItemSubtitle = (0, import_web.styled)(ListItemText, {
114
- name: "ListItemSubtitle",
115
- context,
116
- variants: {
117
- unstyled: {
118
- false: {
119
- opacity: 0.6,
120
- maxWidth: "100%",
121
- color: "$color"
122
- }
123
- },
124
- size: {
125
- "...size": (val, extras) => {
126
- const oneSmaller = (0, import_get_token.getSize)(val, {
127
- shift: -1,
128
- excludeHalfSteps: !0
129
- });
130
- return (0, import_get_font_sized.getFontSized)(oneSmaller.key, extras);
131
- }
132
- }
133
- },
134
- defaultVariants: {
135
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
136
- }
137
- }), ListItemTitle = (0, import_web.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
- }
148
- }), ListItemIcon = (props) => {
149
- const { children, size, scaleIcon = 1 } = props, styledContext = context.useStyledContext();
150
- if (!styledContext)
151
- throw new Error("ListItem.Icon must be used within a ListItem");
152
- const sizeToken = size ?? styledContext.size ?? "$true", iconSize = (0, import_font_size.getFontSize)(sizeToken) * scaleIcon;
153
- return (0, import_helpers_tamagui.getIcon)(children, {
154
- size: iconSize,
155
- color: styledContext.color
156
- });
157
- }, ListItemComponent = ListItemFrame.styleable(
158
- function(propsIn, ref) {
159
- const {
160
- children,
161
- icon,
162
- iconAfter,
163
- scaleIcon = 1,
164
- unstyled = !1,
165
- subTitle,
166
- title,
167
- iconSize,
168
- ...rest
169
- } = propsIn, size = propsIn.size || "$true", styledContext = context.useStyledContext(), iconSizeNumber = (0, import_font_size.getFontSize)(iconSize || size) * scaleIcon, [themedIcon, themedIconAfter] = [icon, iconAfter].map((icon2, i) => {
170
- if (!icon2) return null;
171
- const isBefore = i === 0;
172
- return (0, import_helpers_tamagui.getIcon)(icon2, {
173
- size: iconSizeNumber,
174
- color: styledContext?.color,
175
- [isBefore ? "marginRight" : "marginLeft"]: `${iconSizeNumber * 0.4}%`
176
- });
177
- }), wrappedChildren = (0, import_text.wrapChildrenInText)(
178
- ListItemText,
179
- { children },
180
- propsIn.unstyled !== !0 ? {
181
- unstyled: process.env.TAMAGUI_HEADLESS === "1",
182
- fontSize: propsIn.size
183
- } : void 0
184
- );
185
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ListItemFrame, { ref, ...rest, children: [
186
- themedIcon,
187
- title || subTitle ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_stacks.YStack, { flex: 1, children: [
188
- title ? typeof title == "string" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ListItemTitle, { unstyled, size, children: title }) : title : null,
189
- subTitle ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: typeof subTitle == "string" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ListItemSubtitle, { unstyled, size, children: subTitle }) : subTitle }) : null,
190
- wrappedChildren
191
- ] }) : wrappedChildren,
192
- themedIconAfter
193
- ] });
194
- }
195
- ), ListItem2 = (0, import_helpers.withStaticProperties)(ListItemComponent, {
196
- Apply: context.Provider,
197
- Frame: ListItemFrame,
198
- Text: ListItemText,
199
- Subtitle: ListItemSubtitle,
200
- Icon: ListItemIcon,
201
- Title: ListItemTitle
202
- });
203
- //# sourceMappingURL=ListItem.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ListItem.tsx"],
4
- "mappings": "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",
5
- "names": ["ListItem", "icon"]
6
- }
package/dist/cjs/index.js DELETED
@@ -1,15 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from == "object" || typeof from == "function")
7
- for (let key of __getOwnPropNames(from))
8
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
- return to;
10
- }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
11
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
12
- var index_exports = {};
13
- module.exports = __toCommonJS(index_exports);
14
- __reExport(index_exports, require("./ListItem"), module.exports);
15
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,uBAAd;",
5
- "names": []
6
- }
@@ -1,195 +0,0 @@
1
- import { getFontSize } from "@tamagui/font-size";
2
- import { getFontSized } from "@tamagui/get-font-sized";
3
- import { getSize, getSpace } from "@tamagui/get-token";
4
- import { withStaticProperties } from "@tamagui/helpers";
5
- import { getIcon } from "@tamagui/helpers-tamagui";
6
- import { YStack } from "@tamagui/stacks";
7
- import { SizableText, wrapChildrenInText } from "@tamagui/text";
8
- import { createStyledContext, styled, View } from "@tamagui/web";
9
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
- const NAME = "ListItem", context = createStyledContext({
11
- size: void 0,
12
- variant: void 0,
13
- color: void 0
14
- }), ListItemFrame = styled(View, {
15
- context,
16
- name: NAME,
17
- render: "li",
18
- role: "listitem",
19
- variants: {
20
- unstyled: {
21
- false: {
22
- size: "$true",
23
- alignItems: "center",
24
- justifyContent: "space-between",
25
- flexWrap: "nowrap",
26
- borderColor: "$borderColor",
27
- width: "100%",
28
- maxWidth: "100%",
29
- overflow: "hidden",
30
- flexDirection: "row",
31
- backgroundColor: "$background",
32
- cursor: "default",
33
- hoverStyle: {
34
- backgroundColor: "$backgroundHover",
35
- borderColor: "$borderColorHover"
36
- },
37
- pressStyle: {
38
- backgroundColor: "$backgroundPress",
39
- borderColor: "$borderColorPress"
40
- }
41
- }
42
- },
43
- variant: {
44
- outlined: process.env.TAMAGUI_HEADLESS === "1" ? {} : {
45
- backgroundColor: "transparent",
46
- borderWidth: 1,
47
- borderColor: "$borderColor",
48
- hoverStyle: {
49
- backgroundColor: "transparent",
50
- borderColor: "$borderColorHover"
51
- },
52
- pressStyle: {
53
- backgroundColor: "transparent",
54
- borderColor: "$borderColorPress"
55
- }
56
- }
57
- },
58
- size: {
59
- "...size": (val, { tokens }) => ({
60
- minHeight: tokens.size[val],
61
- paddingHorizontal: tokens.space[val],
62
- paddingVertical: getSpace(tokens.space[val], {
63
- shift: -4
64
- })
65
- })
66
- },
67
- active: {
68
- true: {
69
- hoverStyle: {
70
- backgroundColor: "$background"
71
- }
72
- }
73
- },
74
- disabled: {
75
- true: {
76
- opacity: 0.5,
77
- pointerEvents: "none"
78
- }
79
- }
80
- },
81
- defaultVariants: {
82
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
83
- }
84
- }), ListItemText = styled(SizableText, {
85
- context,
86
- name: "ListItemText",
87
- variants: {
88
- unstyled: {
89
- false: {
90
- color: "$color",
91
- size: "$true",
92
- flexGrow: 1,
93
- flexShrink: 1,
94
- ellipsis: !0,
95
- cursor: "inherit"
96
- }
97
- }
98
- },
99
- defaultVariants: {
100
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
101
- }
102
- }), ListItemSubtitle = styled(ListItemText, {
103
- name: "ListItemSubtitle",
104
- context,
105
- variants: {
106
- unstyled: {
107
- false: {
108
- opacity: 0.6,
109
- maxWidth: "100%",
110
- color: "$color"
111
- }
112
- },
113
- size: {
114
- "...size": (val, extras) => {
115
- const oneSmaller = getSize(val, {
116
- shift: -1,
117
- excludeHalfSteps: !0
118
- });
119
- return getFontSized(oneSmaller.key, extras);
120
- }
121
- }
122
- },
123
- defaultVariants: {
124
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
125
- }
126
- }), ListItemTitle = styled(ListItemText, {
127
- name: "ListItemTitle",
128
- context,
129
- variants: {
130
- unstyled: {
131
- false: {}
132
- }
133
- },
134
- defaultVariants: {
135
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
136
- }
137
- }), ListItemIcon = (props) => {
138
- const { children, size, scaleIcon = 1 } = props, styledContext = context.useStyledContext();
139
- if (!styledContext)
140
- throw new Error("ListItem.Icon must be used within a ListItem");
141
- const sizeToken = size ?? styledContext.size ?? "$true", iconSize = getFontSize(sizeToken) * scaleIcon;
142
- return getIcon(children, {
143
- size: iconSize,
144
- color: styledContext.color
145
- });
146
- }, ListItemComponent = ListItemFrame.styleable(
147
- function(propsIn, ref) {
148
- const {
149
- children,
150
- icon,
151
- iconAfter,
152
- scaleIcon = 1,
153
- unstyled = !1,
154
- subTitle,
155
- title,
156
- iconSize,
157
- ...rest
158
- } = propsIn, size = propsIn.size || "$true", styledContext = context.useStyledContext(), iconSizeNumber = getFontSize(iconSize || size) * scaleIcon, [themedIcon, themedIconAfter] = [icon, iconAfter].map((icon2, i) => {
159
- if (!icon2) return null;
160
- const isBefore = i === 0;
161
- return getIcon(icon2, {
162
- size: iconSizeNumber,
163
- color: styledContext?.color,
164
- [isBefore ? "marginRight" : "marginLeft"]: `${iconSizeNumber * 0.4}%`
165
- });
166
- }), wrappedChildren = wrapChildrenInText(
167
- ListItemText,
168
- { children },
169
- propsIn.unstyled !== !0 ? {
170
- unstyled: process.env.TAMAGUI_HEADLESS === "1",
171
- fontSize: propsIn.size
172
- } : void 0
173
- );
174
- return /* @__PURE__ */ jsxs(ListItemFrame, { ref, ...rest, children: [
175
- themedIcon,
176
- title || subTitle ? /* @__PURE__ */ jsxs(YStack, { flex: 1, children: [
177
- title ? typeof title == "string" ? /* @__PURE__ */ jsx(ListItemTitle, { unstyled, size, children: title }) : title : null,
178
- subTitle ? /* @__PURE__ */ jsx(Fragment, { children: typeof subTitle == "string" ? /* @__PURE__ */ jsx(ListItemSubtitle, { unstyled, size, children: subTitle }) : subTitle }) : null,
179
- wrappedChildren
180
- ] }) : wrappedChildren,
181
- themedIconAfter
182
- ] });
183
- }
184
- ), ListItem2 = withStaticProperties(ListItemComponent, {
185
- Apply: context.Provider,
186
- Frame: ListItemFrame,
187
- Text: ListItemText,
188
- Subtitle: ListItemSubtitle,
189
- Icon: ListItemIcon,
190
- Title: ListItemTitle
191
- });
192
- export {
193
- ListItem2 as ListItem
194
- };
195
- //# sourceMappingURL=ListItem.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ListItem.tsx"],
4
- "mappings": "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",
5
- "names": ["icon", "ListItem"]
6
- }