{"version":3,"file":"labels-table-DoOmA3fT.mjs","names":[],"sources":["../src/components/labels-table.tsx"],"sourcesContent":["import { Table } from \"./table\";\nimport { urlBuilder } from \"../utils/url-builder\";\nimport { getStore } from \"../utils/store\";\nimport { LabelType } from \"../models/labels\";\n\nexport interface LabelsTableProps {\n  caption?: JSX.Element;\n  projectId: string;\n  toolbar?: JSX.Element;\n  labels: LabelType[];\n}\n\nexport async function LabelsTable({\n  labels,\n  projectId,\n  toolbar,\n  caption,\n}: LabelsTableProps) {\n  const { locale } = getStore();\n\n  return (\n    <Table\n      caption={caption ?? `Labels (${labels.length})`}\n      data={labels}\n      toolbar={toolbar}\n      columns={[\n        {\n          id: \"slug\",\n          header: \"Slug\",\n          cell: (item) => {\n            return (\n              <a safe href={urlBuilder.labelSlug(projectId, item.slug)}>\n                {item.slug}\n              </a>\n            );\n          },\n        },\n        {\n          id: \"value\",\n          header: \"Label\",\n        },\n        {\n          id: \"type\",\n          header: \"Type\",\n          style: { fontFamily: \"monospace\" },\n        },\n        {\n          id: \"build\",\n          header: \"Latest build\",\n          cell: (item) => {\n            if (!item.buildSHA) {\n              return <span class=\"description\">No build available</span>;\n            }\n\n            return (\n              <div style={{ display: \"flex\", gap: \"1rem\", flexWrap: \"wrap\" }}>\n                <span safe style={{ fontFamily: \"monospace\" }}>\n                  [{item.buildSHA.slice(0, 7)}]\n                </span>\n                <a href={urlBuilder.buildSHA(projectId, item.buildSHA)}>\n                  Build\n                </a>\n                <a\n                  href={urlBuilder.storybookIndexHtml(projectId, item.buildSHA)}\n                >\n                  Storybook\n                </a>\n              </div>\n            );\n          },\n        },\n        {\n          id: \"timestamp\",\n          header: \"Last modified\",\n          cell: (item) => {\n            if (!item.timestamp) {\n              return null;\n            }\n\n            return (\n              <time datetime={item.timestamp} safe>\n                {new Date(item.timestamp).toLocaleString(locale)}\n              </time>\n            );\n          },\n        },\n      ]}\n    />\n  );\n}\n"],"mappings":";;;;;AAYA,eAAsB,YAAY,EAChC,QACA,WACA,SACA,SACiB,EAAE;CACnB,MAAM,EAAE,QAAQ,GAAG,UAAU;AAE7B,oDACG;EACC,SAAS,WAAW,CAAC,QAAQ,EAAE,OAAO,OAAO,CAAC,CAAC;EAC/C,MAAM;EACG;EACT,SAAS;GACP;IACE,IAAI;IACJ,QAAQ;IACR,MAAM,CAAC,SAAS;AACd,wDACG;MAAE;MAAK,MAAM,WAAW,UAAU,WAAW,KAAK,KAAK;gBACrD,KAAK;OACJ;IAEP;GACF;GACD;IACE,IAAI;IACJ,QAAQ;GACT;GACD;IACE,IAAI;IACJ,QAAQ;IACR,OAAO,EAAE,YAAY,YAAa;GACnC;GACD;IACE,IAAI;IACJ,QAAQ;IACR,MAAM,CAAC,SAAS;AACd,SAAI,CAAC,KAAK,SACR,oDAAQ;MAAK,OAAM;gBAAc;OAAyB;AAG5D,yDACG;MAAI,OAAO;OAAE,SAAS;OAAQ,KAAK;OAAQ,UAAU;MAAQ;;oDAC3D;QAAK;QAAK,OAAO,EAAE,YAAY,YAAa;;SAAE;SAC3C,KAAK,SAAS,MAAM,GAAG,EAAE;SAAC;;SACvB;mDACN;QAAE,MAAM,WAAW,SAAS,WAAW,KAAK,SAAS;kBAAE;SAEpD;mDACH;QACC,MAAM,WAAW,mBAAmB,WAAW,KAAK,SAAS;kBAC9D;SAEG;;OACA;IAET;GACF;GACD;IACE,IAAI;IACJ,QAAQ;IACR,MAAM,CAAC,SAAS;AACd,SAAI,CAAC,KAAK,UACR,QAAO;AAGT,wDACG;MAAK,UAAU,KAAK;MAAW;gBAC7B,IAAI,KAAK,KAAK,WAAW,eAAe,OAAO;OAC3C;IAEV;GACF;EACF;GACD;AAEL"}