{"version":3,"file":"ListItem.js","names":["ListItemBehaviorFrame","ListItemBehaviorText","ListItemBehaviorTitle","ListItemBehaviorSubtitle"],"sources":["jsx/components/ListItem.js"],"sourcesContent":["import {\n  createStyledHOC,\n  resolveSizing,\n  styled,\n  withStaticProperties\n} from \"@tamagui/core\";\nimport { useGetThemedIcon } from \"@tamagui/helpers-tamagui\";\nimport {\n  ListItemContext,\n  ListItemFrame as ListItemBehaviorFrame,\n  ListItemSubtitle as ListItemBehaviorSubtitle,\n  ListItemText as ListItemBehaviorText,\n  ListItemTitle as ListItemBehaviorTitle,\n  useListItem\n} from \"@tamagui/list-item\";\nimport { jsx } from \"react/jsx-runtime\";\nconst getListItemFrameSize = styled.dynamic((val, env) => {\n  const sizing = resolveSizing(val, env);\n  if (!sizing) return;\n  return {\n    paddingInline: sizing.paddingInline,\n    paddingBlock: sizing.paddingBlock,\n    gap: sizing.gap\n  };\n});\nconst getListItemTextSize = styled.dynamic((val, env) => {\n  const sizing = resolveSizing(val, env);\n  if (!sizing) return;\n  return {\n    fontSize: sizing.fontSize,\n    lineHeight: sizing.lineHeight\n  };\n});\nconst getListItemSubtitleSize = styled.dynamic((val, env) => {\n  const sizing = resolveSizing(val, env);\n  if (!sizing) return;\n  const names = Object.keys(env.sizing.sizes);\n  const prev = names[Math.max(0, names.indexOf(sizing.name) - 1)];\n  const prevKey = prev != null ? env.sizing.sizes[prev]?.fontSize : void 0;\n  const key = prevKey ?? sizing.fontSize;\n  return {\n    fontSize: key,\n    lineHeight: key\n  };\n});\nconst listItemIconPx = (size, scaleIcon = 1) => {\n  if (typeof size === \"number\") return size * scaleIcon;\n  const icon = resolveSizing(size)?.icon ?? resolveSizing(void 0)?.icon;\n  return icon == null ? void 0 : icon * scaleIcon;\n};\nconst outlined = {\n  backgroundColor: \"transparent hover:transparent press:transparent\",\n  borderWidth: 1,\n  borderColor: \"border-color hover:border-color-hover press:border-color-press\"\n};\nconst ListItemFrame = styled(ListItemBehaviorFrame, {\n  context: ListItemContext,\n  displayName: \"ListItem\",\n  backgroundColor: \"background hover:background-hover press:background-press\",\n  borderColor: \"border-color hover:border-color-hover press:border-color-press\",\n  color: \"color\",\n  cursor: \"default\",\n  variants: {\n    size: getListItemFrameSize,\n    variant: {\n      outlined\n    },\n    active: {\n      true: {\n        backgroundColor: \"hover:background\"\n      }\n    },\n    disabled: {\n      true: {\n        opacity: 0.5,\n        pointerEvents: \"none\"\n      }\n    }\n  },\n  defaultVariants: {\n    size: \"md\"\n  }\n});\nconst ListItemText = styled(ListItemBehaviorText, {\n  context: ListItemContext,\n  displayName: \"ListItemText\",\n  variants: {\n    size: getListItemTextSize\n  },\n  defaultVariants: {\n    size: \"md\"\n  }\n});\nconst ListItemTitle = styled(ListItemBehaviorTitle, {\n  context: ListItemContext,\n  displayName: \"ListItemTitle\",\n  variants: {\n    size: getListItemTextSize\n  },\n  defaultVariants: {\n    size: \"md\"\n  }\n});\nconst ListItemSubtitle = styled(ListItemBehaviorSubtitle, {\n  context: ListItemContext,\n  displayName: \"ListItemSubtitle\",\n  variants: {\n    size: getListItemSubtitleSize\n  },\n  defaultVariants: {\n    size: \"md\"\n  }\n});\nconst ListItemIcon = ({\n  children,\n  size,\n  scaleIcon = 1\n}) => {\n  const context = ListItemContext.useStyledContext();\n  const getThemedIcon = useGetThemedIcon({\n    size: listItemIconPx(size ?? context.size, scaleIcon),\n    color: context.color\n  });\n  return getThemedIcon(children);\n};\nconst ListItemComponent = createStyledHOC(\n  ListItemFrame,\n  function ListItem(props, ref) {\n    const contextSize = ListItemContext.useStyledContext()?.size;\n    const size = props.size ?? contextSize ?? \"md\";\n    const scaleIcon = props.scaleIcon ?? 1;\n    const iconSize = props.iconSize ?? listItemIconPx(size, scaleIcon);\n    const { props: listItemProps } = useListItem({\n      ...props,\n      iconSize,\n      scaleIcon: props.iconSize == null ? 1 : scaleIcon\n    });\n    return /* @__PURE__ */ jsx(ListItemFrame, { ref, ...listItemProps });\n  }\n);\nconst ListItem2 = withStaticProperties(ListItemComponent, {\n  Apply: ListItemContext.Provider,\n  Frame: ListItemFrame,\n  Icon: ListItemIcon,\n  Subtitle: ListItemSubtitle,\n  Text: ListItemText,\n  Title: ListItemTitle\n});\nexport {\n  ListItem2 as ListItem,\n  ListItemFrame,\n  ListItemIcon,\n  ListItemSubtitle,\n  ListItemText,\n  ListItemTitle\n};\n//# sourceMappingURL=ListItem.js.map\n"],"mappings":"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"}