{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/components/Skeleton/Skeleton.tsx"],"sourcesContent":["import clsx from \"clsx\";\n\ninterface SkeletonBarProps {\n  height: string;\n  width: string;\n  borderRadius?: string;\n}\n\nfunction SkeletonBar({ height, width, borderRadius }: SkeletonBarProps) {\n  return (\n    <div\n      className=\"openui-skeleton-bar\"\n      style={{\n        height,\n        width,\n        ...(borderRadius ? { borderRadius } : {}),\n      }}\n    />\n  );\n}\n\nexport function Skeleton({\n  count = 1,\n  height = \"16px\",\n  width = \"100%\",\n  borderRadius,\n  className,\n}: {\n  count?: number;\n  height?: string;\n  width?: string;\n  borderRadius?: string;\n  className?: string;\n}) {\n  return (\n    <div className={clsx(\"openui-skeleton-stack\", className)}>\n      {Array.from({ length: count }, (_, i) => (\n        <SkeletonBar key={i} height={height} width={width} borderRadius={borderRadius} />\n      ))}\n    </div>\n  );\n}\n\nexport function PieChartSkeleton({\n  size = 200,\n  legendItems = 4,\n  variant = \"pie\",\n  appearance = \"circular\",\n}: {\n  size?: number;\n  legendItems?: number;\n  variant?: \"pie\" | \"donut\";\n  appearance?: \"circular\" | \"semiCircular\";\n}) {\n  const isSemi = appearance === \"semiCircular\";\n  const isDonut = variant === \"donut\";\n\n  const chartClass = clsx(\n    \"openui-skeleton-pie-chart-shape\",\n    isSemi && isDonut\n      ? \"openui-skeleton-pie-chart-semi-donut\"\n      : isSemi\n        ? \"openui-skeleton-pie-chart-semi\"\n        : isDonut\n          ? \"openui-skeleton-pie-chart-donut\"\n          : undefined,\n  );\n\n  const chartHeight = isSemi ? size / 2 : size;\n\n  return (\n    <div className=\"openui-skeleton-pie-chart-wrapper\">\n      <div className=\"openui-skeleton-pie-chart-container\">\n        <div className={chartClass} style={{ width: size, height: chartHeight }} />\n      </div>\n      <div className=\"openui-skeleton-pie-chart-legend\">\n        {Array.from({ length: legendItems }, (_, i) => (\n          <div key={i} className=\"openui-skeleton-pie-chart-legend-item\">\n            <div className=\"openui-skeleton-pie-chart-legend-dot\" />\n            <SkeletonBar height=\"12px\" width={`${50 + ((i * 15) % 40)}%`} />\n          </div>\n        ))}\n      </div>\n    </div>\n  );\n}\n\nexport function TableSkeleton({ rows = 5, columns = 4 }: { rows?: number; columns?: number }) {\n  return (\n    <div className=\"openui-skeleton-table\">\n      <div\n        className=\"openui-skeleton-table-row\"\n        style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` }}\n      >\n        {Array.from({ length: columns }, (_, i) => (\n          <div\n            key={`h-${i}`}\n            className={clsx(\"openui-skeleton-table-cell\", \"openui-skeleton-table-cell-short\")}\n          >\n            <SkeletonBar height=\"14px\" width=\"100%\" />\n          </div>\n        ))}\n      </div>\n      {Array.from({ length: rows }, (_, ri) => (\n        <div\n          key={`r-${ri}`}\n          className=\"openui-skeleton-table-row\"\n          style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` }}\n        >\n          {Array.from({ length: columns }, (_, ci) => (\n            <div key={`c-${ri}-${ci}`} className=\"openui-skeleton-table-cell\">\n              <SkeletonBar height=\"14px\" width={`${50 + ((ri * 7 + ci * 13) % 40)}%`} />\n            </div>\n          ))}\n        </div>\n      ))}\n    </div>\n  );\n}\n"],"mappings":";;;;;;AAQA,SAAS,YAAY,EAAE,QAAQ,OAAO,gBAAkC;AACtE,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,WAAU;EACV,OAAO;GACL;GACA;GACA,GAAI,eAAe,EAAE,cAAc,GAAG,EAAE;GACzC;EACD,CAAA;;AAIN,SAAgB,SAAS,EACvB,QAAQ,GACR,SAAS,QACT,QAAQ,QACR,cACA,aAOC;AACD,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,YAAA,GAAA,KAAA,SAAgB,yBAAyB,UAAU;YACrD,MAAM,KAAK,EAAE,QAAQ,OAAO,GAAG,GAAG,MACjC,iBAAA,GAAA,kBAAA,KAAC,aAAD;GAA6B;GAAe;GAAqB;GAAgB,EAA/D,EAA+D,CACjF;EACE,CAAA;;AAIV,SAAgB,iBAAiB,EAC/B,OAAO,KACP,cAAc,GACd,UAAU,OACV,aAAa,cAMZ;CACD,MAAM,SAAS,eAAe;CAC9B,MAAM,UAAU,YAAY;AAe5B,QACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EAAK,WAAU;YAAf,CACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,WAAU;aACb,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAAK,YAAA,GAAA,KAAA,SAfT,mCACA,UAAU,UACN,yCACA,SACE,mCACA,UACE,oCACA,KAAA,EAQsB;IAAE,OAAO;KAAE,OAAO;KAAM,QALpC,SAAS,OAAO,IAAI;KAKqC;IAAI,CAAA;GACvE,CAAA,EACN,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,WAAU;aACZ,MAAM,KAAK,EAAE,QAAQ,aAAa,GAAG,GAAG,MACvC,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAa,WAAU;cAAvB,CACE,iBAAA,GAAA,kBAAA,KAAC,OAAD,EAAK,WAAU,wCAAyC,CAAA,EACxD,iBAAA,GAAA,kBAAA,KAAC,aAAD;KAAa,QAAO;KAAO,OAAO,GAAG,KAAO,IAAI,KAAM,GAAI;KAAM,CAAA,CAC5D;MAHI,EAGJ,CACN;GACE,CAAA,CACF;;;AAIV,SAAgB,cAAc,EAAE,OAAO,GAAG,UAAU,KAA0C;AAC5F,QACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EAAK,WAAU;YAAf,CACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;GACE,WAAU;GACV,OAAO,EAAE,qBAAqB,UAAU,QAAQ,SAAS;aAExD,MAAM,KAAK,EAAE,QAAQ,SAAS,GAAG,GAAG,MACnC,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAEE,YAAA,GAAA,KAAA,SAAgB,8BAA8B,mCAAmC;cAEjF,iBAAA,GAAA,kBAAA,KAAC,aAAD;KAAa,QAAO;KAAO,OAAM;KAAS,CAAA;IACtC,EAJC,KAAK,IAIN,CACN;GACE,CAAA,EACL,MAAM,KAAK,EAAE,QAAQ,MAAM,GAAG,GAAG,OAChC,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAEE,WAAU;GACV,OAAO,EAAE,qBAAqB,UAAU,QAAQ,SAAS;aAExD,MAAM,KAAK,EAAE,QAAQ,SAAS,GAAG,GAAG,OACnC,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAA2B,WAAU;cACnC,iBAAA,GAAA,kBAAA,KAAC,aAAD;KAAa,QAAO;KAAO,OAAO,GAAG,MAAO,KAAK,IAAI,KAAK,MAAM,GAAI;KAAM,CAAA;IACtE,EAFI,KAAK,GAAG,GAAG,KAEf,CACN;GACE,EATC,KAAK,KASN,CACN,CACE"}