@alistigo/artifact-core-components-react 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ export interface PluginInfo {
2
2
  name: string;
3
3
  version: string;
4
4
  type: string;
5
- status: "loaded" | "error" | "not-loaded";
5
+ status: "inactive" | "loading" | "active" | "error";
6
6
  error?: string | undefined;
7
7
  }
8
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B"}
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { jsxs as a, Fragment as d, jsx as e } from "react/jsx-runtime";
2
- import { useState as o, useEffect as A } from "react";
3
- const c = "data:image/png;base64,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";
2
+ import { useState as c, useEffect as A } from "react";
3
+ const o = "data:image/png;base64,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";
4
4
  function h({
5
5
  icon: r,
6
6
  children: t
7
7
  }) {
8
- const [n, s] = o(!1);
8
+ const [n, s] = c(!1);
9
9
  return A(() => {
10
10
  if (!n) return;
11
11
  const i = (l) => {
@@ -85,9 +85,10 @@ function g({ plugins: r }) {
85
85
  }
86
86
  function u({ status: r }) {
87
87
  return /* @__PURE__ */ e("span", { className: `h-2 w-2 rounded-full ${{
88
- loaded: "bg-green-500",
89
- error: "bg-red-500",
90
- "not-loaded": "bg-gray-300"
88
+ active: "bg-green-500",
89
+ loading: "bg-amber-400",
90
+ inactive: "bg-gray-300",
91
+ error: "bg-red-500"
91
92
  }[r]}` });
92
93
  }
93
94
  function x({
@@ -123,16 +124,16 @@ function f({ error: r, onReset: t }) {
123
124
  )
124
125
  ] });
125
126
  }
126
- function y({ artifactName: r }) {
127
+ function b({ artifactName: r }) {
127
128
  return /* @__PURE__ */ a("div", { className: "flex min-h-screen flex-col items-center justify-center gap-4 bg-white", children: [
128
129
  /* @__PURE__ */ a("div", { className: "relative flex h-20 w-20 items-center justify-center", children: [
129
130
  /* @__PURE__ */ e("div", { className: "absolute inset-0 animate-spin rounded-full border-2 border-gray-200 border-t-gray-800" }),
130
- /* @__PURE__ */ e("img", { src: c, alt: "Alistigo", className: "h-14 w-14 rounded-2xl" })
131
+ /* @__PURE__ */ e("img", { src: o, alt: "Alistigo", className: "h-14 w-14 rounded-2xl" })
131
132
  ] }),
132
133
  r != null && /* @__PURE__ */ e("p", { className: "text-sm text-gray-500", children: r })
133
134
  ] });
134
135
  }
135
- function b({ title: r, onClose: t, children: n, footer: s }) {
136
+ function y({ title: r, onClose: t, children: n, footer: s }) {
136
137
  return A(() => {
137
138
  const i = (l) => {
138
139
  l.key === "Escape" && t();
@@ -180,9 +181,9 @@ export {
180
181
  h as ArtifactContextMenuContainer,
181
182
  x as ArtifactInfoPanel,
182
183
  f as ErrorScreen,
183
- y as LoadingScreen,
184
- b as Modal,
184
+ b as LoadingScreen,
185
+ y as Modal,
185
186
  g as PluginList,
186
- c as alistigoLogoUrl
187
+ o as alistigoLogoUrl
187
188
  };
188
189
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/assets/logo.png","../src/components/ArtifactContextMenuContainer.tsx","../src/components/PluginList.tsx","../src/components/ArtifactInfoPanel.tsx","../src/components/ErrorScreen.tsx","../src/components/LoadingScreen.tsx","../src/components/Modal.tsx"],"sourcesContent":["export default \"data:image/png;base64,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\"","import { type ReactNode, useEffect, useState } from \"react\";\n\nexport interface ArtifactContextMenuContainerProps {\n icon: ReactNode;\n children: ReactNode;\n}\n\nexport function ArtifactContextMenuContainer({\n icon,\n children,\n}: ArtifactContextMenuContainerProps): ReactNode {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (!open) return;\n const onKeyDown = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\") setOpen(false);\n };\n window.addEventListener(\"keydown\", onKeyDown);\n return () => window.removeEventListener(\"keydown\", onKeyDown);\n }, [open]);\n\n return (\n <>\n <button\n type=\"button\"\n aria-label=\"Close artifact info\"\n tabIndex={-1}\n onClick={() => setOpen(false)}\n className={`fixed inset-0 z-30 bg-black/20 transition-opacity duration-300 ${\n open ? \"opacity-100\" : \"pointer-events-none opacity-0\"\n }`}\n />\n <div className=\"pointer-events-none fixed inset-x-0 top-0 z-40 flex justify-end pr-4\">\n <div\n className=\"pointer-events-auto relative w-72 transition-transform duration-300 ease-out\"\n style={{ transform: open ? \"translateY(0)\" : \"translateY(-100%)\" }}\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Alistigo artifact info\"\n aria-hidden={!open}\n inert={!open}\n className={`relative z-10 rounded-bl-xl border border-gray-200 bg-white p-4 transition-shadow duration-300 ${\n open ? \"shadow-xl\" : \"\"\n }`}\n >\n {children}\n </div>\n <button\n type=\"button\"\n data-testid=\"alistigo-badge\"\n onClick={() => setOpen((v) => !v)}\n aria-label=\"Alistigo artifact info\"\n aria-expanded={open}\n className=\"-mt-px absolute top-full right-0 z-20 flex h-8 w-8 cursor-pointer items-center justify-center rounded-b-lg border-x border-t border-b border-t-white border-gray-200 bg-white shadow-md hover:border-gray-400 focus:outline-none\"\n >\n {icon}\n </button>\n </div>\n </div>\n </>\n );\n}\n","import type { ReactNode } from \"react\";\nimport type { PluginInfo } from \"./types.js\";\n\nexport interface PluginListProps {\n plugins: PluginInfo[];\n}\n\nexport function PluginList({ plugins }: PluginListProps): ReactNode {\n if (plugins.length === 0) {\n return <p className=\"text-center text-gray-400 text-xs\">No plugins loaded</p>;\n }\n\n return (\n <ul className=\"flex flex-col gap-2\">\n {plugins.map((plugin) => (\n <li\n key={plugin.name}\n data-plugin-name={plugin.name}\n data-plugin-status={plugin.status}\n className=\"flex items-start justify-between gap-2\"\n >\n <div className=\"min-w-0\">\n <p className=\"truncate text-gray-800 text-xs font-medium\">{plugin.name}</p>\n <p className=\"text-gray-400 text-xs\">v{plugin.version}</p>\n {plugin.error != null && <p className=\"mt-0.5 text-red-500 text-xs\">{plugin.error}</p>}\n </div>\n <div className=\"flex shrink-0 items-center gap-1.5\">\n <span className=\"rounded bg-gray-100 px-1.5 py-0.5 text-gray-500 text-xs\">\n {plugin.type}\n </span>\n <StatusDot status={plugin.status} />\n </div>\n </li>\n ))}\n </ul>\n );\n}\n\nfunction StatusDot({ status }: { status: PluginInfo[\"status\"] }): ReactNode {\n const colors: Record<PluginInfo[\"status\"], string> = {\n loaded: \"bg-green-500\",\n error: \"bg-red-500\",\n \"not-loaded\": \"bg-gray-300\",\n };\n return <span className={`h-2 w-2 rounded-full ${colors[status]}`} />;\n}\n","import type { ReactNode } from \"react\";\nimport { PluginList } from \"./PluginList.js\";\nimport type { PluginInfo } from \"./types.js\";\n\nexport interface ArtifactInfoPanelProps {\n artifactName: string;\n artifactVersion: string;\n plugins: PluginInfo[];\n}\n\nexport function ArtifactInfoPanel({\n artifactName,\n artifactVersion,\n plugins,\n}: ArtifactInfoPanelProps): ReactNode {\n return (\n <div className=\"flex flex-col gap-4\">\n <div>\n <p className=\"font-semibold text-gray-900 text-sm\">{artifactName}</p>\n <p className=\"text-gray-400 text-xs\">v{artifactVersion}</p>\n </div>\n <PluginList plugins={plugins} />\n </div>\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport interface ErrorScreenProps {\n error: Error;\n onReset?: (() => void) | undefined;\n}\n\nexport function ErrorScreen({ error, onReset }: ErrorScreenProps): ReactNode {\n return (\n <div className=\"flex min-h-screen flex-col items-center justify-center gap-4 bg-white p-8\">\n <div className=\"flex flex-col items-center gap-2 text-center\">\n <p className=\"text-lg font-semibold text-red-600\">Something went wrong</p>\n <p className=\"max-w-sm text-sm text-gray-500\">{error.message}</p>\n </div>\n {onReset != null && (\n <button\n type=\"button\"\n onClick={onReset}\n className=\"rounded-md bg-gray-900 px-4 py-2 text-sm text-white hover:bg-gray-700\"\n >\n Try again\n </button>\n )}\n </div>\n );\n}\n","import type { ReactNode } from \"react\";\nimport logoUrl from \"../assets/logo.png\";\n\nexport interface LoadingScreenProps {\n artifactName?: string | undefined;\n}\n\nexport function LoadingScreen({ artifactName }: LoadingScreenProps): ReactNode {\n return (\n <div className=\"flex min-h-screen flex-col items-center justify-center gap-4 bg-white\">\n <div className=\"relative flex h-20 w-20 items-center justify-center\">\n <div className=\"absolute inset-0 animate-spin rounded-full border-2 border-gray-200 border-t-gray-800\" />\n <img src={logoUrl} alt=\"Alistigo\" className=\"h-14 w-14 rounded-2xl\" />\n </div>\n {artifactName != null && <p className=\"text-sm text-gray-500\">{artifactName}</p>}\n </div>\n );\n}\n","import { type ReactNode, useEffect } from \"react\";\n\nexport interface ModalProps {\n title: string;\n onClose: () => void;\n children: ReactNode;\n footer?: ReactNode;\n}\n\nexport function Modal({ title, onClose, children, footer }: ModalProps): ReactNode {\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") onClose();\n };\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => document.removeEventListener(\"keydown\", handleKeyDown);\n }, [onClose]);\n\n return (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <div className=\"absolute inset-0 bg-black/40\" onClick={onClose} aria-hidden=\"true\" />\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n className=\"relative w-96 max-w-[90vw] rounded-2xl bg-white shadow-2xl\"\n >\n <div className=\"flex items-center justify-between border-b border-gray-100 px-5 py-4\">\n <h2 className=\"font-semibold text-gray-900 text-sm\">{title}</h2>\n <button\n type=\"button\"\n onClick={onClose}\n aria-label=\"Close\"\n className=\"flex h-6 w-6 items-center justify-center rounded-md text-gray-400 hover:bg-gray-100 hover:text-gray-700\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M11 3L3 11M3 3l8 8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n </div>\n <div className=\"p-5\">{children}</div>\n {footer != null && (\n <div className=\"flex justify-end gap-2 border-t border-gray-100 px-5 py-3\">{footer}</div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["logoUrl","ArtifactContextMenuContainer","icon","children","open","setOpen","useState","useEffect","onKeyDown","e","jsxs","Fragment","jsx","v","PluginList","plugins","plugin","StatusDot","status","ArtifactInfoPanel","artifactName","artifactVersion","ErrorScreen","error","onReset","LoadingScreen","Modal","title","onClose","footer","handleKeyDown"],"mappings":";;AAAA,MAAAA,IAAe;ACOR,SAASC,EAA6B;AAAA,EAC3C,MAAAC;AAAA,EACA,UAAAC;AACF,GAAiD;AAC/C,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAK;AAEtC,SAAAC,EAAU,MAAM;AACd,QAAI,CAACH,EAAM;AACX,UAAMI,IAAY,CAACC,MAA2B;AAC5C,MAAIA,EAAE,QAAQ,YAAUJ,EAAQ,EAAK;AAAA,IACvC;AACA,kBAAO,iBAAiB,WAAWG,CAAS,GACrC,MAAM,OAAO,oBAAoB,WAAWA,CAAS;AAAA,EAC9D,GAAG,CAACJ,CAAI,CAAC,GAGP,gBAAAM,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,cAAW;AAAA,QACX,UAAU;AAAA,QACV,SAAS,MAAMP,EAAQ,EAAK;AAAA,QAC5B,WAAW,kEACTD,IAAO,gBAAgB,+BACzB;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF,gBAAAQ,EAAC,OAAA,EAAI,WAAU,wEACb,UAAA,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,WAAWN,IAAO,kBAAkB,oBAAA;AAAA,QAE7C,UAAA;AAAA,UAAA,gBAAAQ;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,cAAW;AAAA,cACX,cAAW;AAAA,cACX,eAAa,CAACR;AAAA,cACd,OAAO,CAACA;AAAA,cACR,WAAW,kGACTA,IAAO,cAAc,EACvB;AAAA,cAEC,UAAAD;AAAA,YAAA;AAAA,UAAA;AAAA,UAEH,gBAAAS;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,eAAY;AAAA,cACZ,SAAS,MAAMP,EAAQ,CAACQ,MAAM,CAACA,CAAC;AAAA,cAChC,cAAW;AAAA,cACX,iBAAeT;AAAA,cACf,WAAU;AAAA,cAET,UAAAF;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA,EACF,CACF;AAAA,EAAA,GACF;AAEJ;ACzDO,SAASY,EAAW,EAAE,SAAAC,KAAuC;AAClE,SAAIA,EAAQ,WAAW,IACd,gBAAAH,EAAC,KAAA,EAAE,WAAU,qCAAoC,UAAA,qBAAiB,sBAIxE,MAAA,EAAG,WAAU,uBACX,UAAAG,EAAQ,IAAI,CAACC,MACZ,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,oBAAkBM,EAAO;AAAA,MACzB,sBAAoBA,EAAO;AAAA,MAC3B,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA,gBAAAN,EAAC,OAAA,EAAI,WAAU,WACb,UAAA;AAAA,UAAA,gBAAAE,EAAC,KAAA,EAAE,WAAU,8CAA8C,UAAAI,EAAO,MAAK;AAAA,UACvE,gBAAAN,EAAC,KAAA,EAAE,WAAU,yBAAwB,UAAA;AAAA,YAAA;AAAA,YAAEM,EAAO;AAAA,UAAA,GAAQ;AAAA,UACrDA,EAAO,SAAS,QAAQ,gBAAAJ,EAAC,OAAE,WAAU,+BAA+B,YAAO,MAAA,CAAM;AAAA,QAAA,GACpF;AAAA,QACA,gBAAAF,EAAC,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,UAAA,gBAAAE,EAAC,QAAA,EAAK,WAAU,2DACb,UAAAI,EAAO,MACV;AAAA,UACA,gBAAAJ,EAACK,GAAA,EAAU,QAAQD,EAAO,OAAA,CAAQ;AAAA,QAAA,EAAA,CACpC;AAAA,MAAA;AAAA,IAAA;AAAA,IAfKA,EAAO;AAAA,EAAA,CAiBf,GACH;AAEJ;AAEA,SAASC,EAAU,EAAE,QAAAC,KAAuD;AAM1E,2BAAQ,QAAA,EAAK,WAAW,wBAL6B;AAAA,IACnD,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,cAAc;AAAA,EAAA,EAEuCA,CAAM,CAAC,IAAI;AACpE;ACnCO,SAASC,EAAkB;AAAA,EAChC,cAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,SAAAN;AACF,GAAsC;AACpC,SACE,gBAAAL,EAAC,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EACC,UAAA;AAAA,MAAA,gBAAAE,EAAC,KAAA,EAAE,WAAU,uCAAuC,UAAAQ,GAAa;AAAA,MACjE,gBAAAV,EAAC,KAAA,EAAE,WAAU,yBAAwB,UAAA;AAAA,QAAA;AAAA,QAAEW;AAAA,MAAA,EAAA,CAAgB;AAAA,IAAA,GACzD;AAAA,IACA,gBAAAT,EAACE,KAAW,SAAAC,EAAA,CAAkB;AAAA,EAAA,GAChC;AAEJ;ACjBO,SAASO,EAAY,EAAE,OAAAC,GAAO,SAAAC,KAAwC;AAC3E,SACE,gBAAAd,EAAC,OAAA,EAAI,WAAU,6EACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,gDACb,UAAA;AAAA,MAAA,gBAAAE,EAAC,KAAA,EAAE,WAAU,sCAAqC,UAAA,wBAAoB;AAAA,MACtE,gBAAAA,EAAC,KAAA,EAAE,WAAU,kCAAkC,YAAM,QAAA,CAAQ;AAAA,IAAA,GAC/D;AAAA,IACCY,KAAW,QACV,gBAAAZ;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAASY;AAAA,QACT,WAAU;AAAA,QACX,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GAEJ;AAEJ;AClBO,SAASC,EAAc,EAAE,cAAAL,KAA+C;AAC7E,SACE,gBAAAV,EAAC,OAAA,EAAI,WAAU,yEACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,uDACb,UAAA;AAAA,MAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,wFAAA,CAAwF;AAAA,wBACtG,OAAA,EAAI,KAAKZ,GAAS,KAAI,YAAW,WAAU,wBAAA,CAAwB;AAAA,IAAA,GACtE;AAAA,IACCoB,KAAgB,QAAQ,gBAAAR,EAAC,KAAA,EAAE,WAAU,yBAAyB,UAAAQ,EAAA,CAAa;AAAA,EAAA,GAC9E;AAEJ;ACRO,SAASM,EAAM,EAAE,OAAAC,GAAO,SAAAC,GAAS,UAAAzB,GAAU,QAAA0B,KAAiC;AACjF,SAAAtB,EAAU,MAAM;AACd,UAAMuB,IAAgB,CAACrB,MAAqB;AAC1C,MAAIA,EAAE,QAAQ,YAAUmB,EAAA;AAAA,IAC1B;AACA,oBAAS,iBAAiB,WAAWE,CAAa,GAC3C,MAAM,SAAS,oBAAoB,WAAWA,CAAa;AAAA,EACpE,GAAG,CAACF,CAAO,CAAC,GAGV,gBAAAlB,EAAC,OAAA,EAAI,WAAU,uDACb,UAAA;AAAA,IAAA,gBAAAE,EAAC,SAAI,WAAU,gCAA+B,SAASgB,GAAS,eAAY,QAAO;AAAA,IACnF,gBAAAlB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,cAAW;AAAA,QACX,cAAYiB;AAAA,QACZ,WAAU;AAAA,QAEV,UAAA;AAAA,UAAA,gBAAAjB,EAAC,OAAA,EAAI,WAAU,wEACb,UAAA;AAAA,YAAA,gBAAAE,EAAC,MAAA,EAAG,WAAU,uCAAuC,UAAAe,GAAM;AAAA,YAC3D,gBAAAf;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,SAASgB;AAAA,gBACT,cAAW;AAAA,gBACX,WAAU;AAAA,gBAEV,UAAA,gBAAAhB,EAAC,OAAA,EAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,eAAY,QACtE,UAAA,gBAAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,GAAE;AAAA,oBACF,QAAO;AAAA,oBACP,aAAY;AAAA,oBACZ,eAAc;AAAA,kBAAA;AAAA,gBAAA,EAChB,CACF;AAAA,cAAA;AAAA,YAAA;AAAA,UACF,GACF;AAAA,UACA,gBAAAA,EAAC,OAAA,EAAI,WAAU,OAAO,UAAAT,EAAA,CAAS;AAAA,UAC9B0B,KAAU,QACT,gBAAAjB,EAAC,OAAA,EAAI,WAAU,6DAA6D,UAAAiB,EAAA,CAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEvF,GACF;AAEJ;"}
1
+ {"version":3,"file":"index.js","sources":["../src/assets/logo.png","../src/components/ArtifactContextMenuContainer.tsx","../src/components/PluginList.tsx","../src/components/ArtifactInfoPanel.tsx","../src/components/ErrorScreen.tsx","../src/components/LoadingScreen.tsx","../src/components/Modal.tsx"],"sourcesContent":["export default \"data:image/png;base64,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\"","import { type ReactNode, useEffect, useState } from \"react\";\n\nexport interface ArtifactContextMenuContainerProps {\n icon: ReactNode;\n children: ReactNode;\n}\n\nexport function ArtifactContextMenuContainer({\n icon,\n children,\n}: ArtifactContextMenuContainerProps): ReactNode {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (!open) return;\n const onKeyDown = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\") setOpen(false);\n };\n window.addEventListener(\"keydown\", onKeyDown);\n return () => window.removeEventListener(\"keydown\", onKeyDown);\n }, [open]);\n\n return (\n <>\n <button\n type=\"button\"\n aria-label=\"Close artifact info\"\n tabIndex={-1}\n onClick={() => setOpen(false)}\n className={`fixed inset-0 z-30 bg-black/20 transition-opacity duration-300 ${\n open ? \"opacity-100\" : \"pointer-events-none opacity-0\"\n }`}\n />\n <div className=\"pointer-events-none fixed inset-x-0 top-0 z-40 flex justify-end pr-4\">\n <div\n className=\"pointer-events-auto relative w-72 transition-transform duration-300 ease-out\"\n style={{ transform: open ? \"translateY(0)\" : \"translateY(-100%)\" }}\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Alistigo artifact info\"\n aria-hidden={!open}\n inert={!open}\n className={`relative z-10 rounded-bl-xl border border-gray-200 bg-white p-4 transition-shadow duration-300 ${\n open ? \"shadow-xl\" : \"\"\n }`}\n >\n {children}\n </div>\n <button\n type=\"button\"\n data-testid=\"alistigo-badge\"\n onClick={() => setOpen((v) => !v)}\n aria-label=\"Alistigo artifact info\"\n aria-expanded={open}\n className=\"-mt-px absolute top-full right-0 z-20 flex h-8 w-8 cursor-pointer items-center justify-center rounded-b-lg border-x border-t border-b border-t-white border-gray-200 bg-white shadow-md hover:border-gray-400 focus:outline-none\"\n >\n {icon}\n </button>\n </div>\n </div>\n </>\n );\n}\n","import type { ReactNode } from \"react\";\nimport type { PluginInfo } from \"./types.js\";\n\nexport interface PluginListProps {\n plugins: PluginInfo[];\n}\n\nexport function PluginList({ plugins }: PluginListProps): ReactNode {\n if (plugins.length === 0) {\n return <p className=\"text-center text-gray-400 text-xs\">No plugins loaded</p>;\n }\n\n return (\n <ul className=\"flex flex-col gap-2\">\n {plugins.map((plugin) => (\n <li\n key={plugin.name}\n data-plugin-name={plugin.name}\n data-plugin-status={plugin.status}\n className=\"flex items-start justify-between gap-2\"\n >\n <div className=\"min-w-0\">\n <p className=\"truncate text-gray-800 text-xs font-medium\">{plugin.name}</p>\n <p className=\"text-gray-400 text-xs\">v{plugin.version}</p>\n {plugin.error != null && <p className=\"mt-0.5 text-red-500 text-xs\">{plugin.error}</p>}\n </div>\n <div className=\"flex shrink-0 items-center gap-1.5\">\n <span className=\"rounded bg-gray-100 px-1.5 py-0.5 text-gray-500 text-xs\">\n {plugin.type}\n </span>\n <StatusDot status={plugin.status} />\n </div>\n </li>\n ))}\n </ul>\n );\n}\n\nfunction StatusDot({ status }: { status: PluginInfo[\"status\"] }): ReactNode {\n const colors: Record<PluginInfo[\"status\"], string> = {\n active: \"bg-green-500\",\n loading: \"bg-amber-400\",\n inactive: \"bg-gray-300\",\n error: \"bg-red-500\",\n };\n return <span className={`h-2 w-2 rounded-full ${colors[status]}`} />;\n}\n","import type { ReactNode } from \"react\";\nimport { PluginList } from \"./PluginList.js\";\nimport type { PluginInfo } from \"./types.js\";\n\nexport interface ArtifactInfoPanelProps {\n artifactName: string;\n artifactVersion: string;\n plugins: PluginInfo[];\n}\n\nexport function ArtifactInfoPanel({\n artifactName,\n artifactVersion,\n plugins,\n}: ArtifactInfoPanelProps): ReactNode {\n return (\n <div className=\"flex flex-col gap-4\">\n <div>\n <p className=\"font-semibold text-gray-900 text-sm\">{artifactName}</p>\n <p className=\"text-gray-400 text-xs\">v{artifactVersion}</p>\n </div>\n <PluginList plugins={plugins} />\n </div>\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport interface ErrorScreenProps {\n error: Error;\n onReset?: (() => void) | undefined;\n}\n\nexport function ErrorScreen({ error, onReset }: ErrorScreenProps): ReactNode {\n return (\n <div className=\"flex min-h-screen flex-col items-center justify-center gap-4 bg-white p-8\">\n <div className=\"flex flex-col items-center gap-2 text-center\">\n <p className=\"text-lg font-semibold text-red-600\">Something went wrong</p>\n <p className=\"max-w-sm text-sm text-gray-500\">{error.message}</p>\n </div>\n {onReset != null && (\n <button\n type=\"button\"\n onClick={onReset}\n className=\"rounded-md bg-gray-900 px-4 py-2 text-sm text-white hover:bg-gray-700\"\n >\n Try again\n </button>\n )}\n </div>\n );\n}\n","import type { ReactNode } from \"react\";\nimport logoUrl from \"../assets/logo.png\";\n\nexport interface LoadingScreenProps {\n artifactName?: string | undefined;\n}\n\nexport function LoadingScreen({ artifactName }: LoadingScreenProps): ReactNode {\n return (\n <div className=\"flex min-h-screen flex-col items-center justify-center gap-4 bg-white\">\n <div className=\"relative flex h-20 w-20 items-center justify-center\">\n <div className=\"absolute inset-0 animate-spin rounded-full border-2 border-gray-200 border-t-gray-800\" />\n <img src={logoUrl} alt=\"Alistigo\" className=\"h-14 w-14 rounded-2xl\" />\n </div>\n {artifactName != null && <p className=\"text-sm text-gray-500\">{artifactName}</p>}\n </div>\n );\n}\n","import { type ReactNode, useEffect } from \"react\";\n\nexport interface ModalProps {\n title: string;\n onClose: () => void;\n children: ReactNode;\n footer?: ReactNode;\n}\n\nexport function Modal({ title, onClose, children, footer }: ModalProps): ReactNode {\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") onClose();\n };\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => document.removeEventListener(\"keydown\", handleKeyDown);\n }, [onClose]);\n\n return (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <div className=\"absolute inset-0 bg-black/40\" onClick={onClose} aria-hidden=\"true\" />\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n className=\"relative w-96 max-w-[90vw] rounded-2xl bg-white shadow-2xl\"\n >\n <div className=\"flex items-center justify-between border-b border-gray-100 px-5 py-4\">\n <h2 className=\"font-semibold text-gray-900 text-sm\">{title}</h2>\n <button\n type=\"button\"\n onClick={onClose}\n aria-label=\"Close\"\n className=\"flex h-6 w-6 items-center justify-center rounded-md text-gray-400 hover:bg-gray-100 hover:text-gray-700\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M11 3L3 11M3 3l8 8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n </div>\n <div className=\"p-5\">{children}</div>\n {footer != null && (\n <div className=\"flex justify-end gap-2 border-t border-gray-100 px-5 py-3\">{footer}</div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["logoUrl","ArtifactContextMenuContainer","icon","children","open","setOpen","useState","useEffect","onKeyDown","e","jsxs","Fragment","jsx","v","PluginList","plugins","plugin","StatusDot","status","ArtifactInfoPanel","artifactName","artifactVersion","ErrorScreen","error","onReset","LoadingScreen","Modal","title","onClose","footer","handleKeyDown"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alistigo/artifact-core-components-react",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "Platform-level React UI components shared by all Alistigo artifacts — LoadingScreen, ErrorScreen, ArtifactContextMenuContainer, ArtifactInfoPanel. Built on Tailwind v4.",