@tamagui/list-item 1.13.2 → 1.13.4

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,194 +1,2 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import {
3
- Spacer,
4
- getTokens,
5
- getVariableValue,
6
- styled,
7
- themeable,
8
- useMediaPropsActive,
9
- withStaticProperties
10
- } from "@tamagui/core";
11
- import { getFontSize } from "@tamagui/font-size";
12
- import { getSpace, useGetThemedIcon } from "@tamagui/helpers-tamagui";
13
- import { ThemeableStack, YStack } from "@tamagui/stacks";
14
- import { SizableText, wrapChildrenInText } from "@tamagui/text";
15
- import { forwardRef } from "react";
16
- const NAME = "ListItem";
17
- const ListItemFrame = styled(ThemeableStack, {
18
- name: NAME,
19
- tag: "li",
20
- variants: {
21
- unstyled: {
22
- false: {
23
- size: "$true",
24
- alignItems: "center",
25
- flexWrap: "nowrap",
26
- width: "100%",
27
- borderColor: "$borderColor",
28
- maxWidth: "100%",
29
- overflow: "hidden",
30
- flexDirection: "row",
31
- backgroundColor: "$backgroundStrong"
32
- }
33
- },
34
- size: {
35
- "...size": (val, { tokens }) => {
36
- return {
37
- minHeight: tokens.size[val],
38
- paddingHorizontal: tokens.space[val],
39
- paddingVertical: getSpace(val, -2)
40
- };
41
- }
42
- },
43
- active: {
44
- true: {
45
- hoverStyle: {
46
- backgroundColor: "$background"
47
- }
48
- }
49
- },
50
- disabled: {
51
- true: {
52
- opacity: 0.5,
53
- // TODO breaking types
54
- pointerEvents: "none"
55
- }
56
- }
57
- },
58
- defaultVariants: {
59
- unstyled: false
60
- }
61
- });
62
- const ListItemText = styled(SizableText, {
63
- name: "ListItemText",
64
- variants: {
65
- unstyled: {
66
- false: {
67
- color: "$color",
68
- userSelect: "none",
69
- flexGrow: 1,
70
- flexShrink: 1,
71
- ellipse: true,
72
- cursor: "default"
73
- }
74
- }
75
- },
76
- defaultVariants: {
77
- unstyled: false
78
- }
79
- });
80
- const ListItemSubtitle = styled(ListItemText, {
81
- name: "ListItemSubtitle",
82
- variants: {
83
- unstyled: {
84
- false: {
85
- opacity: 0.6,
86
- maxWidth: "100%",
87
- size: "$3",
88
- color: "$color"
89
- }
90
- }
91
- },
92
- defaultVariants: {
93
- unstyled: false
94
- }
95
- });
96
- const ListItemTitle = styled(ListItemText, {
97
- name: "ListItemTitle"
98
- });
99
- const useListItem = (props, {
100
- Text = ListItemText,
101
- Subtitle = ListItemSubtitle,
102
- Title = ListItemTitle
103
- } = { Text: ListItemText, Subtitle: ListItemSubtitle, Title: ListItemTitle }) => {
104
- const {
105
- children,
106
- icon,
107
- iconAfter,
108
- noTextWrap,
109
- theme: themeName,
110
- space,
111
- spaceFlex,
112
- scaleIcon = 1,
113
- scaleSpace = 1,
114
- subTitle,
115
- // text props
116
- color,
117
- fontWeight,
118
- letterSpacing,
119
- fontSize,
120
- fontFamily,
121
- textAlign,
122
- textProps,
123
- title,
124
- ...rest
125
- } = props;
126
- const mediaActiveProps = useMediaPropsActive(props);
127
- const size = mediaActiveProps.size || "$true";
128
- const subtitleSize = `$${+String(size).replace("$", "") - 1}`;
129
- const iconSize = getFontSize(size) * scaleIcon;
130
- const getThemedIcon = useGetThemedIcon({ size: iconSize, color });
131
- const [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon);
132
- const spaceSize = getVariableValue(getTokens().space[mediaActiveProps.space] ?? iconSize) * scaleSpace;
133
- const contents = wrapChildrenInText(Text, mediaActiveProps);
134
- return {
135
- props: {
136
- fontFamily,
137
- ...rest,
138
- children: /* @__PURE__ */ jsxs(Fragment, { children: [
139
- themedIcon ? /* @__PURE__ */ jsxs(Fragment, { children: [
140
- themedIcon,
141
- /* @__PURE__ */ jsx(Spacer, { size: spaceSize })
142
- ] }) : null,
143
- title || subTitle ? /* @__PURE__ */ jsxs(YStack, { flex: 1, children: [
144
- noTextWrap === "all" ? title : /* @__PURE__ */ jsx(Title, { size, children: title }),
145
- subTitle ? /* @__PURE__ */ jsx(Fragment, { children: typeof subTitle === "string" && noTextWrap !== "all" ? (
146
- // TODO can use theme but we need to standardize to alt themes
147
- // or standardize on subtle colors in themes
148
- /* @__PURE__ */ jsx(Subtitle, { size: subtitleSize, children: subTitle })
149
- ) : subTitle }) : null,
150
- contents
151
- ] }) : contents,
152
- themedIconAfter ? /* @__PURE__ */ jsxs(Fragment, { children: [
153
- /* @__PURE__ */ jsx(Spacer, { size: spaceSize }),
154
- themedIconAfter
155
- ] }) : null
156
- ] })
157
- }
158
- };
159
- };
160
- const ListItemComponent = forwardRef((props, ref) => {
161
- const { props: listItemProps } = useListItem(props);
162
- return /* @__PURE__ */ jsx(ListItemFrame, { ref, justifyContent: "space-between", ...listItemProps });
163
- });
164
- const listItemStaticConfig = {
165
- inlineProps: /* @__PURE__ */ new Set([
166
- // text props go here (can't really optimize them, but we never fully extract listItem anyway)
167
- "color",
168
- "fontWeight",
169
- "fontSize",
170
- "fontFamily",
171
- "letterSpacing",
172
- "textAlign"
173
- ])
174
- };
175
- const ListItem = withStaticProperties(
176
- ListItemFrame.extractable(
177
- themeable(ListItemComponent, { componentName: NAME }),
178
- listItemStaticConfig
179
- ),
180
- {
181
- Text: ListItemText,
182
- Subtitle: ListItemSubtitle
183
- }
184
- );
185
- export {
186
- ListItem,
187
- ListItemFrame,
188
- ListItemSubtitle,
189
- ListItemText,
190
- ListItemTitle,
191
- listItemStaticConfig,
192
- useListItem
193
- };
1
+ import{Fragment as r,jsx as o,jsxs as a}from"react/jsx-runtime";import{Spacer as T,getTokens as v,getVariableValue as R,styled as s,themeable as V,useMediaPropsActive as E,withStaticProperties as N}from"@tamagui/core";import{getFontSize as G}from"@tamagui/font-size";import{getSpace as H,useGetThemedIcon as M}from"@tamagui/helpers-tamagui";import{ThemeableStack as Y,YStack as D}from"@tamagui/stacks";import{SizableText as J,wrapChildrenInText as O}from"@tamagui/text";import{forwardRef as X}from"react";const g="ListItem",y=s(Y,{name:g,tag:"li",variants:{unstyled:{false:{size:"$true",alignItems:"center",flexWrap:"nowrap",width:"100%",borderColor:"$borderColor",maxWidth:"100%",overflow:"hidden",flexDirection:"row",backgroundColor:"$backgroundStrong"}},size:{"...size":(e,{tokens:t})=>({minHeight:t.size[e],paddingHorizontal:t.space[e],paddingVertical:H(e,-2)})},active:{true:{hoverStyle:{backgroundColor:"$background"}}},disabled:{true:{opacity:.5,pointerEvents:"none"}}},defaultVariants:{unstyled:!1}}),i=s(J,{name:"ListItemText",variants:{unstyled:{false:{color:"$color",userSelect:"none",flexGrow:1,flexShrink:1,ellipse:!0,cursor:"default"}}},defaultVariants:{unstyled:!1}}),u=s(i,{name:"ListItemSubtitle",variants:{unstyled:{false:{opacity:.6,maxWidth:"100%",size:"$3",color:"$color"}}},defaultVariants:{unstyled:!1}}),h=s(i,{name:"ListItemTitle"}),j=(e,{Text:t=i,Subtitle:l=u,Title:z=h}={Text:i,Subtitle:u,Title:h})=>{const{children:K,icon:P,iconAfter:L,noTextWrap:d,theme:Q,space:U,spaceFlex:Z,scaleIcon:C=1,scaleSpace:F=1,subTitle:n,color:$,fontWeight:_,letterSpacing:ee,fontSize:te,fontFamily:k,textAlign:oe,textProps:ne,title:c,...w}=e,p=E(e),m=p.size||"$true",A=`$${+String(m).replace("$","")-1}`,f=G(m)*C,W=M({size:f,color:$}),[S,x]=[P,L].map(W),I=R(v().space[p.space]??f)*F,b=O(t,p);return{props:{fontFamily:k,...w,children:a(r,{children:[S?a(r,{children:[S,o(T,{size:I})]}):null,c||n?a(D,{flex:1,children:[d==="all"?c:o(z,{size:m,children:c}),n?o(r,{children:typeof n=="string"&&d!=="all"?o(l,{size:A,children:n}):n}):null,b]}):b,x?a(r,{children:[o(T,{size:I}),x]}):null]})}}},q=X((e,t)=>{const{props:l}=j(e);return o(y,{ref:t,justifyContent:"space-between",...l})}),B={inlineProps:new Set(["color","fontWeight","fontSize","fontFamily","letterSpacing","textAlign"])},Ie=N(y.extractable(V(q,{componentName:g}),B),{Text:i,Subtitle:u});export{Ie as ListItem,y as ListItemFrame,u as ListItemSubtitle,i as ListItemText,h as ListItemTitle,B as listItemStaticConfig,j as useListItem};
194
2
  //# sourceMappingURL=ListItem.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/ListItem.tsx"],
4
4
  "sourcesContent": ["import {\n FontSizeTokens,\n GetProps,\n Spacer,\n TamaguiElement,\n ThemeableProps,\n getTokens,\n getVariableValue,\n styled,\n themeable,\n useMediaPropsActive,\n withStaticProperties,\n} from '@tamagui/core'\nimport { getFontSize } from '@tamagui/font-size'\nimport { getSpace, useGetThemedIcon } from '@tamagui/helpers-tamagui'\nimport { ThemeableStack, YStack } from '@tamagui/stacks'\nimport { SizableText, TextParentStyles, wrapChildrenInText } from '@tamagui/text'\nimport React, { FunctionComponent, forwardRef } from 'react'\n\ntype ListItemIconProps = { color?: string; size?: number }\ntype IconProp = JSX.Element | FunctionComponent<ListItemIconProps> | null\n\nexport type ListItemProps = Omit<TextParentStyles, 'TextComponent' | 'noTextWrap'> &\n GetProps<typeof ListItemFrame> &\n ThemeableProps & {\n /**\n * add icon before, passes color and size automatically if Component\n */\n icon?: IconProp\n /**\n * add icon after, passes color and size automatically if Component\n */\n iconAfter?: IconProp\n /**\n * adjust icon relative to size\n */\n /**\n * default: -1\n */\n scaleIcon?: number\n /**\n * make the spacing elements flex\n */\n spaceFlex?: number | boolean\n /**\n * adjust internal space relative to icon size\n */\n scaleSpace?: number\n /**\n * title\n */\n title?: React.ReactNode\n /**\n * subtitle\n */\n subTitle?: React.ReactNode\n /**\n * will not wrap text around `children` only, \"all\" will not wrap title or subTitle\n */\n noTextWrap?: boolean | 'all'\n }\n\nconst NAME = 'ListItem'\n\nexport const ListItemFrame = styled(ThemeableStack, {\n name: NAME,\n tag: 'li',\n\n variants: {\n unstyled: {\n false: {\n size: '$true',\n alignItems: 'center',\n flexWrap: 'nowrap',\n width: '100%',\n borderColor: '$borderColor',\n maxWidth: '100%',\n overflow: 'hidden',\n flexDirection: 'row',\n backgroundColor: '$backgroundStrong',\n },\n },\n\n size: {\n '...size': (val, { tokens }) => {\n return {\n minHeight: tokens.size[val],\n paddingHorizontal: tokens.space[val],\n paddingVertical: getSpace(val, -2),\n }\n },\n },\n\n active: {\n true: {\n hoverStyle: {\n backgroundColor: '$background',\n },\n },\n },\n\n disabled: {\n true: {\n opacity: 0.5,\n // TODO breaking types\n pointerEvents: 'none' as any,\n },\n },\n } as const,\n\n defaultVariants: {\n unstyled: false,\n },\n})\n\nexport const ListItemText = styled(SizableText, {\n name: 'ListItemText',\n\n variants: {\n unstyled: {\n false: {\n color: '$color',\n userSelect: 'none',\n flexGrow: 1,\n flexShrink: 1,\n ellipse: true,\n cursor: 'default',\n },\n },\n },\n\n defaultVariants: {\n unstyled: false,\n },\n})\n\nexport const ListItemSubtitle = styled(ListItemText, {\n name: 'ListItemSubtitle',\n\n variants: {\n unstyled: {\n false: {\n opacity: 0.6,\n maxWidth: '100%',\n size: '$3',\n color: '$color',\n },\n },\n },\n\n defaultVariants: {\n unstyled: false,\n },\n})\n\nexport const ListItemTitle = styled(ListItemText, {\n name: 'ListItemTitle',\n})\n\nexport const useListItem = (\n props: ListItemProps,\n {\n Text = ListItemText,\n Subtitle = ListItemSubtitle,\n Title = ListItemTitle,\n }: {\n Title?: any\n Subtitle?: any\n Text?: any\n } = { Text: ListItemText, Subtitle: ListItemSubtitle, Title: ListItemTitle }\n) => {\n // careful not to desctructure and re-order props, order is important\n const {\n children,\n icon,\n iconAfter,\n noTextWrap,\n theme: themeName,\n space,\n spaceFlex,\n scaleIcon = 1,\n scaleSpace = 1,\n subTitle,\n\n // text props\n color,\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n textProps,\n title,\n ...rest\n } = props\n\n const mediaActiveProps = useMediaPropsActive(props)\n const size = mediaActiveProps.size || '$true'\n const subtitleSize = `$${+String(size).replace('$', '') - 1}` as FontSizeTokens\n const iconSize = getFontSize(size) * scaleIcon\n const getThemedIcon = useGetThemedIcon({ size: iconSize, color })\n const [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon)\n const spaceSize =\n getVariableValue(getTokens().space[mediaActiveProps.space as any] ?? iconSize) *\n scaleSpace\n // @ts-ignore noTextWrap = all is ok\n const contents = wrapChildrenInText(Text, mediaActiveProps)\n\n return {\n props: {\n fontFamily,\n ...rest,\n children: (\n <>\n {themedIcon ? (\n <>\n {themedIcon}\n <Spacer size={spaceSize} />\n </>\n ) : null}\n {/* helper for common title/subtitle pttern */}\n {title || subTitle ? (\n <YStack flex={1}>\n {noTextWrap === 'all' ? title : <Title size={size}>{title}</Title>}\n {subTitle ? (\n <>\n {typeof subTitle === 'string' && noTextWrap !== 'all' ? (\n // TODO can use theme but we need to standardize to alt themes\n // or standardize on subtle colors in themes\n <Subtitle size={subtitleSize}>{subTitle}</Subtitle>\n ) : (\n subTitle\n )}\n </>\n ) : null}\n {contents}\n </YStack>\n ) : (\n contents\n )}\n {themedIconAfter ? (\n <>\n <Spacer size={spaceSize} />\n {themedIconAfter}\n </>\n ) : null}\n </>\n ),\n },\n }\n}\n\nconst ListItemComponent = forwardRef<TamaguiElement, ListItemProps>((props, ref) => {\n const { props: listItemProps } = useListItem(props)\n return <ListItemFrame ref={ref} justifyContent=\"space-between\" {...listItemProps} />\n})\n\nexport const listItemStaticConfig = {\n inlineProps: new Set([\n // text props go here (can't really optimize them, but we never fully extract listItem anyway)\n 'color',\n 'fontWeight',\n 'fontSize',\n 'fontFamily',\n 'letterSpacing',\n 'textAlign',\n ]),\n}\n\nexport const ListItem = withStaticProperties(\n ListItemFrame.extractable(\n themeable(ListItemComponent, { componentName: NAME }),\n listItemStaticConfig\n ),\n {\n Text: ListItemText,\n Subtitle: ListItemSubtitle,\n }\n)\n"],
5
- "mappings": "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",
6
- "names": []
5
+ "mappings": "AAuNY,mBAAAA,EAEE,OAAAC,EAFF,QAAAC,MAAA,oBAvNZ,OAGE,UAAAC,EAGA,aAAAC,EACA,oBAAAC,EACA,UAAAC,EACA,aAAAC,EACA,uBAAAC,EACA,wBAAAC,MACK,gBACP,OAAS,eAAAC,MAAmB,qBAC5B,OAAS,YAAAC,EAAU,oBAAAC,MAAwB,2BAC3C,OAAS,kBAAAC,EAAgB,UAAAC,MAAc,kBACvC,OAAS,eAAAC,EAA+B,sBAAAC,MAA0B,gBAClE,OAAmC,cAAAC,MAAkB,QA6CrD,MAAMC,EAAO,WAEAC,EAAgBb,EAAOO,EAAgB,CAClD,KAAMK,EACN,IAAK,KAEL,SAAU,CACR,SAAU,CACR,MAAO,CACL,KAAM,QACN,WAAY,SACZ,SAAU,SACV,MAAO,OACP,YAAa,eACb,SAAU,OACV,SAAU,SACV,cAAe,MACf,gBAAiB,mBACnB,CACF,EAEA,KAAM,CACJ,UAAW,CAACE,EAAK,CAAE,OAAAC,CAAO,KACjB,CACL,UAAWA,EAAO,KAAKD,CAAG,EAC1B,kBAAmBC,EAAO,MAAMD,CAAG,EACnC,gBAAiBT,EAASS,EAAK,EAAE,CACnC,EAEJ,EAEA,OAAQ,CACN,KAAM,CACJ,WAAY,CACV,gBAAiB,aACnB,CACF,CACF,EAEA,SAAU,CACR,KAAM,CACJ,QAAS,GAET,cAAe,MACjB,CACF,CACF,EAEA,gBAAiB,CACf,SAAU,EACZ,CACF,CAAC,EAEYE,EAAehB,EAAOS,EAAa,CAC9C,KAAM,eAEN,SAAU,CACR,SAAU,CACR,MAAO,CACL,MAAO,SACP,WAAY,OACZ,SAAU,EACV,WAAY,EACZ,QAAS,GACT,OAAQ,SACV,CACF,CACF,EAEA,gBAAiB,CACf,SAAU,EACZ,CACF,CAAC,EAEYQ,EAAmBjB,EAAOgB,EAAc,CACnD,KAAM,mBAEN,SAAU,CACR,SAAU,CACR,MAAO,CACL,QAAS,GACT,SAAU,OACV,KAAM,KACN,MAAO,QACT,CACF,CACF,EAEA,gBAAiB,CACf,SAAU,EACZ,CACF,CAAC,EAEYE,EAAgBlB,EAAOgB,EAAc,CAChD,KAAM,eACR,CAAC,EAEYG,EAAc,CACzBC,EACA,CACE,KAAAC,EAAOL,EACP,SAAAM,EAAWL,EACX,MAAAM,EAAQL,CACV,EAII,CAAE,KAAMF,EAAc,SAAUC,EAAkB,MAAOC,CAAc,IACxE,CAEH,KAAM,CACJ,SAAAM,EACA,KAAAC,EACA,UAAAC,EACA,WAAAC,EACA,MAAOC,EACP,MAAAC,EACA,UAAAC,EACA,UAAAC,EAAY,EACZ,WAAAC,EAAa,EACb,SAAAC,EAGA,MAAAC,EACA,WAAAC,EACA,cAAAC,GACA,SAAAC,GACA,WAAAC,EACA,UAAAC,GACA,UAAAC,GACA,MAAAC,EACA,GAAGC,CACL,EAAItB,EAEEuB,EAAmBzC,EAAoBkB,CAAK,EAC5CwB,EAAOD,EAAiB,MAAQ,QAChCE,EAAe,IAAI,CAAC,OAAOD,CAAI,EAAE,QAAQ,IAAK,EAAE,EAAI,IACpDE,EAAW1C,EAAYwC,CAAI,EAAIb,EAC/BgB,EAAgBzC,EAAiB,CAAE,KAAMwC,EAAU,MAAAZ,CAAM,CAAC,EAC1D,CAACc,EAAYC,CAAe,EAAI,CAACxB,EAAMC,CAAS,EAAE,IAAIqB,CAAa,EACnEG,EACJnD,EAAiBD,EAAU,EAAE,MAAM6C,EAAiB,KAAY,GAAKG,CAAQ,EAC7Ed,EAEImB,EAAWzC,EAAmBW,EAAMsB,CAAgB,EAE1D,MAAO,CACL,MAAO,CACL,WAAAL,EACA,GAAGI,EACH,SACE9C,EAAAF,EAAA,CACG,UAAAsD,EACCpD,EAAAF,EAAA,CACG,UAAAsD,EACDrD,EAACE,EAAA,CAAO,KAAMqD,EAAW,GAC3B,EACE,KAEHT,GAASR,EACRrC,EAACY,EAAA,CAAO,KAAM,EACX,UAAAmB,IAAe,MAAQc,EAAQ9C,EAAC4B,EAAA,CAAM,KAAMqB,EAAO,SAAAH,EAAM,EACzDR,EACCtC,EAAAD,EAAA,CACG,gBAAOuC,GAAa,UAAYN,IAAe,MAG9ChC,EAAC2B,EAAA,CAAS,KAAMuB,EAAe,SAAAZ,EAAS,EAExCA,EAEJ,EACE,KACHkB,GACH,EAEAA,EAEDF,EACCrD,EAAAF,EAAA,CACE,UAAAC,EAACE,EAAA,CAAO,KAAMqD,EAAW,EACxBD,GACH,EACE,MACN,CAEJ,CACF,CACF,EAEMG,EAAoBzC,EAA0C,CAACS,EAAOiC,IAAQ,CAClF,KAAM,CAAE,MAAOC,CAAc,EAAInC,EAAYC,CAAK,EAClD,OAAOzB,EAACkB,EAAA,CAAc,IAAKwC,EAAK,eAAe,gBAAiB,GAAGC,EAAe,CACpF,CAAC,EAEYC,EAAuB,CAClC,YAAa,IAAI,IAAI,CAEnB,QACA,aACA,WACA,aACA,gBACA,WACF,CAAC,CACH,EAEaC,GAAWrD,EACtBU,EAAc,YACZZ,EAAUmD,EAAmB,CAAE,cAAexC,CAAK,CAAC,EACpD2C,CACF,EACA,CACE,KAAMvC,EACN,SAAUC,CACZ,CACF",
6
+ "names": ["Fragment", "jsx", "jsxs", "Spacer", "getTokens", "getVariableValue", "styled", "themeable", "useMediaPropsActive", "withStaticProperties", "getFontSize", "getSpace", "useGetThemedIcon", "ThemeableStack", "YStack", "SizableText", "wrapChildrenInText", "forwardRef", "NAME", "ListItemFrame", "val", "tokens", "ListItemText", "ListItemSubtitle", "ListItemTitle", "useListItem", "props", "Text", "Subtitle", "Title", "children", "icon", "iconAfter", "noTextWrap", "themeName", "space", "spaceFlex", "scaleIcon", "scaleSpace", "subTitle", "color", "fontWeight", "letterSpacing", "fontSize", "fontFamily", "textAlign", "textProps", "title", "rest", "mediaActiveProps", "size", "subtitleSize", "iconSize", "getThemedIcon", "themedIcon", "themedIconAfter", "spaceSize", "contents", "ListItemComponent", "ref", "listItemProps", "listItemStaticConfig", "ListItem"]
7
7
  }
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./ListItem";
1
+ export*from"./ListItem";
2
2
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
4
  "sourcesContent": ["export * from './ListItem'\n"],
5
- "mappings": "AAAA,cAAc;",
5
+ "mappings": "AAAA,WAAc",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- export * from "./ListItem";
1
+ export*from"./ListItem";
2
2
  //# sourceMappingURL=index.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
4
  "sourcesContent": ["export * from './ListItem'\n"],
5
- "mappings": "AAAA,cAAc;",
5
+ "mappings": "AAAA,WAAc",
6
6
  "names": []
7
7
  }
@@ -1,193 +1,2 @@
1
- import {
2
- Spacer,
3
- getTokens,
4
- getVariableValue,
5
- styled,
6
- themeable,
7
- useMediaPropsActive,
8
- withStaticProperties
9
- } from "@tamagui/core";
10
- import { getFontSize } from "@tamagui/font-size";
11
- import { getSpace, useGetThemedIcon } from "@tamagui/helpers-tamagui";
12
- import { ThemeableStack, YStack } from "@tamagui/stacks";
13
- import { SizableText, wrapChildrenInText } from "@tamagui/text";
14
- import { forwardRef } from "react";
15
- const NAME = "ListItem";
16
- const ListItemFrame = styled(ThemeableStack, {
17
- name: NAME,
18
- tag: "li",
19
- variants: {
20
- unstyled: {
21
- false: {
22
- size: "$true",
23
- alignItems: "center",
24
- flexWrap: "nowrap",
25
- width: "100%",
26
- borderColor: "$borderColor",
27
- maxWidth: "100%",
28
- overflow: "hidden",
29
- flexDirection: "row",
30
- backgroundColor: "$backgroundStrong"
31
- }
32
- },
33
- size: {
34
- "...size": (val, { tokens }) => {
35
- return {
36
- minHeight: tokens.size[val],
37
- paddingHorizontal: tokens.space[val],
38
- paddingVertical: getSpace(val, -2)
39
- };
40
- }
41
- },
42
- active: {
43
- true: {
44
- hoverStyle: {
45
- backgroundColor: "$background"
46
- }
47
- }
48
- },
49
- disabled: {
50
- true: {
51
- opacity: 0.5,
52
- // TODO breaking types
53
- pointerEvents: "none"
54
- }
55
- }
56
- },
57
- defaultVariants: {
58
- unstyled: false
59
- }
60
- });
61
- const ListItemText = styled(SizableText, {
62
- name: "ListItemText",
63
- variants: {
64
- unstyled: {
65
- false: {
66
- color: "$color",
67
- userSelect: "none",
68
- flexGrow: 1,
69
- flexShrink: 1,
70
- ellipse: true,
71
- cursor: "default"
72
- }
73
- }
74
- },
75
- defaultVariants: {
76
- unstyled: false
77
- }
78
- });
79
- const ListItemSubtitle = styled(ListItemText, {
80
- name: "ListItemSubtitle",
81
- variants: {
82
- unstyled: {
83
- false: {
84
- opacity: 0.6,
85
- maxWidth: "100%",
86
- size: "$3",
87
- color: "$color"
88
- }
89
- }
90
- },
91
- defaultVariants: {
92
- unstyled: false
93
- }
94
- });
95
- const ListItemTitle = styled(ListItemText, {
96
- name: "ListItemTitle"
97
- });
98
- const useListItem = (props, {
99
- Text = ListItemText,
100
- Subtitle = ListItemSubtitle,
101
- Title = ListItemTitle
102
- } = { Text: ListItemText, Subtitle: ListItemSubtitle, Title: ListItemTitle }) => {
103
- const {
104
- children,
105
- icon,
106
- iconAfter,
107
- noTextWrap,
108
- theme: themeName,
109
- space,
110
- spaceFlex,
111
- scaleIcon = 1,
112
- scaleSpace = 1,
113
- subTitle,
114
- // text props
115
- color,
116
- fontWeight,
117
- letterSpacing,
118
- fontSize,
119
- fontFamily,
120
- textAlign,
121
- textProps,
122
- title,
123
- ...rest
124
- } = props;
125
- const mediaActiveProps = useMediaPropsActive(props);
126
- const size = mediaActiveProps.size || "$true";
127
- const subtitleSize = `$${+String(size).replace("$", "") - 1}`;
128
- const iconSize = getFontSize(size) * scaleIcon;
129
- const getThemedIcon = useGetThemedIcon({ size: iconSize, color });
130
- const [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon);
131
- const spaceSize = getVariableValue(getTokens().space[mediaActiveProps.space] ?? iconSize) * scaleSpace;
132
- const contents = wrapChildrenInText(Text, mediaActiveProps);
133
- return {
134
- props: {
135
- fontFamily,
136
- ...rest,
137
- children: <>
138
- {themedIcon ? <>
139
- {themedIcon}
140
- <Spacer size={spaceSize} />
141
- </> : null}
142
- {title || subTitle ? <YStack flex={1}>
143
- {noTextWrap === "all" ? title : <Title size={size}>{title}</Title>}
144
- {subTitle ? <>{typeof subTitle === "string" && noTextWrap !== "all" ? (
145
- // TODO can use theme but we need to standardize to alt themes
146
- // or standardize on subtle colors in themes
147
- <Subtitle size={subtitleSize}>{subTitle}</Subtitle>
148
- ) : subTitle}</> : null}
149
- {contents}
150
- </YStack> : contents}
151
- {themedIconAfter ? <>
152
- <Spacer size={spaceSize} />
153
- {themedIconAfter}
154
- </> : null}
155
- </>
156
- }
157
- };
158
- };
159
- const ListItemComponent = forwardRef((props, ref) => {
160
- const { props: listItemProps } = useListItem(props);
161
- return <ListItemFrame ref={ref} justifyContent="space-between" {...listItemProps} />;
162
- });
163
- const listItemStaticConfig = {
164
- inlineProps: /* @__PURE__ */ new Set([
165
- // text props go here (can't really optimize them, but we never fully extract listItem anyway)
166
- "color",
167
- "fontWeight",
168
- "fontSize",
169
- "fontFamily",
170
- "letterSpacing",
171
- "textAlign"
172
- ])
173
- };
174
- const ListItem = withStaticProperties(
175
- ListItemFrame.extractable(
176
- themeable(ListItemComponent, { componentName: NAME }),
177
- listItemStaticConfig
178
- ),
179
- {
180
- Text: ListItemText,
181
- Subtitle: ListItemSubtitle
182
- }
183
- );
184
- export {
185
- ListItem,
186
- ListItemFrame,
187
- ListItemSubtitle,
188
- ListItemText,
189
- ListItemTitle,
190
- listItemStaticConfig,
191
- useListItem
192
- };
1
+ import{Spacer as C,getTokens as Y,getVariableValue as j,styled as i,themeable as D,useMediaPropsActive as J,withStaticProperties as O}from"@tamagui/core";import{getFontSize as X}from"@tamagui/font-size";import{getSpace as q,useGetThemedIcon as B}from"@tamagui/helpers-tamagui";import{ThemeableStack as K,YStack as Q}from"@tamagui/stacks";import{SizableText as U,wrapChildrenInText as Z}from"@tamagui/text";import{forwardRef as _}from"react";const F="ListItem",$=i(K,{name:F,tag:"li",variants:{unstyled:{false:{size:"$true",alignItems:"center",flexWrap:"nowrap",width:"100%",borderColor:"$borderColor",maxWidth:"100%",overflow:"hidden",flexDirection:"row",backgroundColor:"$backgroundStrong"}},size:{"...size":(e,{tokens:t})=>({minHeight:t.size[e],paddingHorizontal:t.space[e],paddingVertical:q(e,-2)})},active:{true:{hoverStyle:{backgroundColor:"$background"}}},disabled:{true:{opacity:.5,pointerEvents:"none"}}},defaultVariants:{unstyled:!1}}),n=i(U,{name:"ListItemText",variants:{unstyled:{false:{color:"$color",userSelect:"none",flexGrow:1,flexShrink:1,ellipse:!0,cursor:"default"}}},defaultVariants:{unstyled:!1}}),T=i(n,{name:"ListItemSubtitle",variants:{unstyled:{false:{opacity:.6,maxWidth:"100%",size:"$3",color:"$color"}}},defaultVariants:{unstyled:!1}}),k=i(n,{name:"ListItemTitle"}),ee=(e,{Text:t=n,Subtitle:S=T,Title:A=k}={Text:n,Subtitle:T,Title:k})=>{const{children:ne,icon:W,iconAfter:v,noTextWrap:g,theme:ie,space:se,spaceFlex:re,scaleIcon:R=1,scaleSpace:V=1,subTitle:o,color:E,fontWeight:ae,letterSpacing:le,fontSize:ce,fontFamily:N,textAlign:me,textProps:pe,title:x,...G}=e,I=J(e),b=I.size||"$true",H=`$${+String(b).replace("$","")-1}`,y=X(b)*R,M=B({size:y,color:E}),[h,z]=[W,v].map(M),P=j(Y().space[I.space]??y)*V,L=Z(t,I);return{props:{fontFamily:N,...G,children:<>{h?<>{h}<C size={P}/></>:null}{x||o?<Q flex={1}>{g==="all"?x:<A size={b}>{x}</A>}{o?<>{typeof o=="string"&&g!=="all"?<S size={H}>{o}</S>:o}</>:null}{L}</Q>:L}{z?<><C size={P}/>{z}</>:null}</>}}},te=_((e,t)=>{const{props:S}=ee(e);return<$ ref={t}justifyContent="space-between"{...S}/>}),oe={inlineProps:new Set(["color","fontWeight","fontSize","fontFamily","letterSpacing","textAlign"])},Le=O($.extractable(D(te,{componentName:F}),oe),{Text:n,Subtitle:T});export{Le as ListItem,$ as ListItemFrame,T as ListItemSubtitle,n as ListItemText,k as ListItemTitle,oe as listItemStaticConfig,ee as useListItem};
193
2
  //# sourceMappingURL=ListItem.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/ListItem.tsx"],
4
4
  "sourcesContent": ["import {\n FontSizeTokens,\n GetProps,\n Spacer,\n TamaguiElement,\n ThemeableProps,\n getTokens,\n getVariableValue,\n styled,\n themeable,\n useMediaPropsActive,\n withStaticProperties,\n} from '@tamagui/core'\nimport { getFontSize } from '@tamagui/font-size'\nimport { getSpace, useGetThemedIcon } from '@tamagui/helpers-tamagui'\nimport { ThemeableStack, YStack } from '@tamagui/stacks'\nimport { SizableText, TextParentStyles, wrapChildrenInText } from '@tamagui/text'\nimport React, { FunctionComponent, forwardRef } from 'react'\n\ntype ListItemIconProps = { color?: string; size?: number }\ntype IconProp = JSX.Element | FunctionComponent<ListItemIconProps> | null\n\nexport type ListItemProps = Omit<TextParentStyles, 'TextComponent' | 'noTextWrap'> &\n GetProps<typeof ListItemFrame> &\n ThemeableProps & {\n /**\n * add icon before, passes color and size automatically if Component\n */\n icon?: IconProp\n /**\n * add icon after, passes color and size automatically if Component\n */\n iconAfter?: IconProp\n /**\n * adjust icon relative to size\n */\n /**\n * default: -1\n */\n scaleIcon?: number\n /**\n * make the spacing elements flex\n */\n spaceFlex?: number | boolean\n /**\n * adjust internal space relative to icon size\n */\n scaleSpace?: number\n /**\n * title\n */\n title?: React.ReactNode\n /**\n * subtitle\n */\n subTitle?: React.ReactNode\n /**\n * will not wrap text around `children` only, \"all\" will not wrap title or subTitle\n */\n noTextWrap?: boolean | 'all'\n }\n\nconst NAME = 'ListItem'\n\nexport const ListItemFrame = styled(ThemeableStack, {\n name: NAME,\n tag: 'li',\n\n variants: {\n unstyled: {\n false: {\n size: '$true',\n alignItems: 'center',\n flexWrap: 'nowrap',\n width: '100%',\n borderColor: '$borderColor',\n maxWidth: '100%',\n overflow: 'hidden',\n flexDirection: 'row',\n backgroundColor: '$backgroundStrong',\n },\n },\n\n size: {\n '...size': (val, { tokens }) => {\n return {\n minHeight: tokens.size[val],\n paddingHorizontal: tokens.space[val],\n paddingVertical: getSpace(val, -2),\n }\n },\n },\n\n active: {\n true: {\n hoverStyle: {\n backgroundColor: '$background',\n },\n },\n },\n\n disabled: {\n true: {\n opacity: 0.5,\n // TODO breaking types\n pointerEvents: 'none' as any,\n },\n },\n } as const,\n\n defaultVariants: {\n unstyled: false,\n },\n})\n\nexport const ListItemText = styled(SizableText, {\n name: 'ListItemText',\n\n variants: {\n unstyled: {\n false: {\n color: '$color',\n userSelect: 'none',\n flexGrow: 1,\n flexShrink: 1,\n ellipse: true,\n cursor: 'default',\n },\n },\n },\n\n defaultVariants: {\n unstyled: false,\n },\n})\n\nexport const ListItemSubtitle = styled(ListItemText, {\n name: 'ListItemSubtitle',\n\n variants: {\n unstyled: {\n false: {\n opacity: 0.6,\n maxWidth: '100%',\n size: '$3',\n color: '$color',\n },\n },\n },\n\n defaultVariants: {\n unstyled: false,\n },\n})\n\nexport const ListItemTitle = styled(ListItemText, {\n name: 'ListItemTitle',\n})\n\nexport const useListItem = (\n props: ListItemProps,\n {\n Text = ListItemText,\n Subtitle = ListItemSubtitle,\n Title = ListItemTitle,\n }: {\n Title?: any\n Subtitle?: any\n Text?: any\n } = { Text: ListItemText, Subtitle: ListItemSubtitle, Title: ListItemTitle }\n) => {\n // careful not to desctructure and re-order props, order is important\n const {\n children,\n icon,\n iconAfter,\n noTextWrap,\n theme: themeName,\n space,\n spaceFlex,\n scaleIcon = 1,\n scaleSpace = 1,\n subTitle,\n\n // text props\n color,\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n textProps,\n title,\n ...rest\n } = props\n\n const mediaActiveProps = useMediaPropsActive(props)\n const size = mediaActiveProps.size || '$true'\n const subtitleSize = `$${+String(size).replace('$', '') - 1}` as FontSizeTokens\n const iconSize = getFontSize(size) * scaleIcon\n const getThemedIcon = useGetThemedIcon({ size: iconSize, color })\n const [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon)\n const spaceSize =\n getVariableValue(getTokens().space[mediaActiveProps.space as any] ?? iconSize) *\n scaleSpace\n // @ts-ignore noTextWrap = all is ok\n const contents = wrapChildrenInText(Text, mediaActiveProps)\n\n return {\n props: {\n fontFamily,\n ...rest,\n children: (\n <>\n {themedIcon ? (\n <>\n {themedIcon}\n <Spacer size={spaceSize} />\n </>\n ) : null}\n {/* helper for common title/subtitle pttern */}\n {title || subTitle ? (\n <YStack flex={1}>\n {noTextWrap === 'all' ? title : <Title size={size}>{title}</Title>}\n {subTitle ? (\n <>\n {typeof subTitle === 'string' && noTextWrap !== 'all' ? (\n // TODO can use theme but we need to standardize to alt themes\n // or standardize on subtle colors in themes\n <Subtitle size={subtitleSize}>{subTitle}</Subtitle>\n ) : (\n subTitle\n )}\n </>\n ) : null}\n {contents}\n </YStack>\n ) : (\n contents\n )}\n {themedIconAfter ? (\n <>\n <Spacer size={spaceSize} />\n {themedIconAfter}\n </>\n ) : null}\n </>\n ),\n },\n }\n}\n\nconst ListItemComponent = forwardRef<TamaguiElement, ListItemProps>((props, ref) => {\n const { props: listItemProps } = useListItem(props)\n return <ListItemFrame ref={ref} justifyContent=\"space-between\" {...listItemProps} />\n})\n\nexport const listItemStaticConfig = {\n inlineProps: new Set([\n // text props go here (can't really optimize them, but we never fully extract listItem anyway)\n 'color',\n 'fontWeight',\n 'fontSize',\n 'fontFamily',\n 'letterSpacing',\n 'textAlign',\n ]),\n}\n\nexport const ListItem = withStaticProperties(\n ListItemFrame.extractable(\n themeable(ListItemComponent, { componentName: NAME }),\n listItemStaticConfig\n ),\n {\n Text: ListItemText,\n Subtitle: ListItemSubtitle,\n }\n)\n"],
5
- "mappings": "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",
6
- "names": []
5
+ "mappings": "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",
6
+ "names": ["Spacer", "getTokens", "getVariableValue", "styled", "themeable", "useMediaPropsActive", "withStaticProperties", "getFontSize", "getSpace", "useGetThemedIcon", "ThemeableStack", "YStack", "SizableText", "wrapChildrenInText", "forwardRef", "NAME", "ListItemFrame", "val", "tokens", "ListItemText", "ListItemSubtitle", "ListItemTitle", "useListItem", "props", "Text", "Subtitle", "Title", "children", "icon", "iconAfter", "noTextWrap", "themeName", "space", "spaceFlex", "scaleIcon", "scaleSpace", "subTitle", "color", "fontWeight", "letterSpacing", "fontSize", "fontFamily", "textAlign", "textProps", "title", "rest", "mediaActiveProps", "size", "subtitleSize", "iconSize", "getThemedIcon", "themedIcon", "themedIconAfter", "spaceSize", "contents", "ListItemComponent", "ref", "listItemProps", "listItemStaticConfig", "ListItem"]
7
7
  }