{"version":3,"file":"Skeleton.mjs","sourceRoot":"","sources":["../../../src/components/Skeleton/Skeleton.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,QAAO,EAAE,UAAU,EAAE,cAAc;;AAE1C,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAI/C,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,CACE,EACE,MAAM,EACN,KAAK,EACL,QAAQ,EACR,YAAY,GAAG,KAAK,EACpB,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAC;IAEhE,uEAAuE;IACvE,qEAAqE;IACrE,sDAAsD;IACtD,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE;QAChC,OAAO,0CAAG,QAAQ,CAAI,CAAC;KACxB;IAED,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,iBACI,MAAM,EAClB,SAAS,EAAE,OAAO,CAAC,kCAAkC,EAAE,SAAS,CAAC,EACjE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,KAC9B,KAAK;QAET,4CACc,MAAM,EAClB,SAAS,EAAC,qGAAqG,GAC/G;QACD,WAAW,IAAI,CACd,4CACc,MAAM;YAClB,gEAAgE;YAChE,gEAAgE;YAChE,oDAAoD;YACpD,SAAS,EAAC,6CAA6C,IAEtD,QAAQ,CACL,CACP,CACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC","sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\n\nimport type { SkeletonProps } from './Skeleton.types';\n\nexport const Skeleton = forwardRef<HTMLDivElement, SkeletonProps>(\n  (\n    {\n      height,\n      width,\n      children,\n      hideChildren = false,\n      className,\n      style,\n      ...props\n    },\n    ref,\n  ) => {\n    const hasChildren = children !== null && children !== undefined;\n\n    // Pass-through case (matches RN `BottomSheet` Skeleton): when children\n    // are provided and we're not asked to hide them, render the children\n    // directly without any skeleton overlay or animation.\n    if (!hideChildren && hasChildren) {\n      return <>{children}</>;\n    }\n\n    return (\n      <div\n        ref={ref}\n        aria-hidden=\"true\"\n        className={twMerge('relative overflow-hidden rounded', className)}\n        style={{ height, width, ...style }}\n        {...props}\n      >\n        <div\n          aria-hidden=\"true\"\n          className=\"pointer-events-none absolute inset-0 rounded bg-icon-alternative motion-safe:animate-skeleton-pulse\"\n        />\n        {hasChildren && (\n          <div\n            aria-hidden=\"true\"\n            // Children render invisibly so the skeleton container takes its\n            // natural layout dimensions. They're hidden from assistive tech\n            // (the wrapping skeleton is already `aria-hidden`).\n            className=\"pointer-events-none invisible relative z-10\"\n          >\n            {children}\n          </div>\n        )}\n      </div>\n    );\n  },\n);\n\nSkeleton.displayName = 'Skeleton';\n"]}