{"version":3,"file":"Link.js","names":[],"sources":["esm/link/Link.js"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\nimport { resolveHref } from \"./href\";\nimport { useLinkTo } from \"./useLinkTo\";\nimport { jsx } from \"react/jsx-runtime\";\nconst Link = React.forwardRef(function Link2({\n  href,\n  replace,\n  push: _push,\n  id,\n  mask,\n  asChild,\n  rel,\n  target,\n  download,\n  className,\n  style,\n  onPress,\n  disabled,\n  accessibilityLabel,\n  // rn-flavored prop shared code passes; rnw translated it, the dom link must too\n  testID,\n  ...rest\n}, ref) {\n  const resolvedHref = React.useMemo(() => {\n    if (href == null) {\n      throw new Error(\"Link: href is required\");\n    }\n    return resolveHref(href);\n  }, [href]);\n  const resolvedMask = React.useMemo(() => mask ? resolveHref(mask) : void 0, [mask]);\n  const link = useLinkTo({ href: resolvedHref, replace, mask: resolvedMask });\n  const flattenedStyle = React.useMemo(() => {\n    const styleValue = style;\n    const styleValues = Array.isArray(styleValue) ? styleValue.flat(Number.POSITIVE_INFINITY) : [styleValue];\n    return styleValues.reduce(\n      (result, value) => value && typeof value === \"object\" ? Object.assign(result, value) : result,\n      {}\n    );\n  }, [style]);\n  const Element = asChild ? Slot : \"a\";\n  const anchorProps = rest;\n  return /* @__PURE__ */ jsx(\n    Element,\n    {\n      ref,\n      ...anchorProps,\n      href: link.href,\n      role: link.role,\n      className,\n      style: flattenedStyle,\n      ...id == null ? null : { id },\n      ...rel == null ? null : { rel },\n      ...target == null ? null : { target },\n      ...download == null ? null : { download },\n      ...testID == null ? null : { \"data-testid\": testID },\n      ...accessibilityLabel == null ? null : { \"aria-label\": accessibilityLabel },\n      ...disabled ? { \"aria-disabled\": true } : null,\n      onClick: (event) => {\n        if (disabled) {\n          event.preventDefault();\n          return;\n        }\n        onPress?.(event);\n        link.onPress(event);\n      }\n    }\n  );\n});\nLink.resolveHref = resolveHref;\nexport {\n  Link\n};\n//# sourceMappingURL=Link.web.js.map\n"],"mappings":";;;;;;;AAKA,MAAM,OAAO,MAAM,WAAW,SAAS,MAAM,EAC3C,MACA,SACA,MAAM,OACN,IACA,MACA,SACA,KACA,QACA,UACA,WACA,OACA,SACA,UACA,oBAEA,QACA,GAAG,QACF,KAAK;CACN,MAAM,eAAe,MAAM,cAAc;EACvC,IAAI,QAAQ,MAAM;GAChB,MAAM,IAAI,MAAM,wBAAwB;EAC1C;EACA,OAAO,YAAY,IAAI;CACzB,GAAG,CAAC,IAAI,CAAC;CACT,MAAM,eAAe,MAAM,cAAc,OAAO,YAAY,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;CAClF,MAAM,OAAO,UAAU;EAAE,MAAM;EAAc;EAAS,MAAM;CAAa,CAAC;CAC1E,MAAM,iBAAiB,MAAM,cAAc;EACzC,MAAM,aAAa;EACnB,MAAM,cAAc,MAAM,QAAQ,UAAU,IAAI,WAAW,KAAK,OAAO,iBAAiB,IAAI,CAAC,UAAU;EACvG,OAAO,YAAY,QAChB,QAAQ,UAAU,SAAS,OAAO,UAAU,WAAW,OAAO,OAAO,QAAQ,KAAK,IAAI,QACvF,CAAC,CACH;CACF,GAAG,CAAC,KAAK,CAAC;CACV,MAAM,UAAU,UAAU,OAAO;CACjC,MAAM,cAAc;CACpB,OAAuB,oBACrB,SACA;EACE;EACA,GAAG;EACH,MAAM,KAAK;EACX,MAAM,KAAK;EACX;EACA,OAAO;EACP,GAAG,MAAM,OAAO,OAAO,EAAE,GAAG;EAC5B,GAAG,OAAO,OAAO,OAAO,EAAE,IAAI;EAC9B,GAAG,UAAU,OAAO,OAAO,EAAE,OAAO;EACpC,GAAG,YAAY,OAAO,OAAO,EAAE,SAAS;EACxC,GAAG,UAAU,OAAO,OAAO,EAAE,eAAe,OAAO;EACnD,GAAG,sBAAsB,OAAO,OAAO,EAAE,cAAc,mBAAmB;EAC1E,GAAG,WAAW,EAAE,iBAAiB,KAAK,IAAI;EAC1C,UAAU,UAAU;GAClB,IAAI,UAAU;IACZ,MAAM,eAAe;IACrB;GACF;GACA,UAAU,KAAK;GACf,KAAK,QAAQ,KAAK;EACpB;CACF,CACF;AACF,CAAC;AACD,KAAK,cAAc"}