@industry-theme/agent-panels 0.2.4 → 0.2.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SkillCard.d.ts","sourceRoot":"","sources":["../../../../src/panels/skills/components/SkillCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AAEjE,UAAU,cAAc;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAkDD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA+Q9C,CAAC"}
1
+ {"version":3,"file":"SkillCard.d.ts","sourceRoot":"","sources":["../../../../src/panels/skills/components/SkillCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AAEjE,UAAU,cAAc;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAkDD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkR9C,CAAC"}
@@ -2201,7 +2201,7 @@ const createLucideIcon = (iconName, iconNode) => {
2201
2201
  * This source code is licensed under the ISC license.
2202
2202
  * See the LICENSE file in the root directory of this source tree.
2203
2203
  */
2204
- const __iconNode$o = [
2204
+ const __iconNode$n = [
2205
2205
  ["path", { d: "M12 7v14", key: "1akyts" }],
2206
2206
  [
2207
2207
  "path",
@@ -2211,14 +2211,14 @@ const __iconNode$o = [
2211
2211
  }
2212
2212
  ]
2213
2213
  ];
2214
- const BookOpen = createLucideIcon("book-open", __iconNode$o);
2214
+ const BookOpen = createLucideIcon("book-open", __iconNode$n);
2215
2215
  /**
2216
2216
  * @license lucide-react v0.552.0 - ISC
2217
2217
  *
2218
2218
  * This source code is licensed under the ISC license.
2219
2219
  * See the LICENSE file in the root directory of this source tree.
2220
2220
  */
2221
- const __iconNode$n = [
2221
+ const __iconNode$m = [
2222
2222
  ["path", { d: "M12 8V4H8", key: "hb8ula" }],
2223
2223
  ["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
2224
2224
  ["path", { d: "M2 14h2", key: "vft8re" }],
@@ -2226,31 +2226,23 @@ const __iconNode$n = [
2226
2226
  ["path", { d: "M15 13v2", key: "1xurst" }],
2227
2227
  ["path", { d: "M9 13v2", key: "rq6x2g" }]
2228
2228
  ];
2229
- const Bot = createLucideIcon("bot", __iconNode$n);
2230
- /**
2231
- * @license lucide-react v0.552.0 - ISC
2232
- *
2233
- * This source code is licensed under the ISC license.
2234
- * See the LICENSE file in the root directory of this source tree.
2235
- */
2236
- const __iconNode$m = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
2237
- const Check = createLucideIcon("check", __iconNode$m);
2229
+ const Bot = createLucideIcon("bot", __iconNode$m);
2238
2230
  /**
2239
2231
  * @license lucide-react v0.552.0 - ISC
2240
2232
  *
2241
2233
  * This source code is licensed under the ISC license.
2242
2234
  * See the LICENSE file in the root directory of this source tree.
2243
2235
  */
2244
- const __iconNode$l = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
2245
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$l);
2236
+ const __iconNode$l = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
2237
+ const Check = createLucideIcon("check", __iconNode$l);
2246
2238
  /**
2247
2239
  * @license lucide-react v0.552.0 - ISC
2248
2240
  *
2249
2241
  * This source code is licensed under the ISC license.
2250
2242
  * See the LICENSE file in the root directory of this source tree.
2251
2243
  */
2252
- const __iconNode$k = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
2253
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$k);
2244
+ const __iconNode$k = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
2245
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$k);
2254
2246
  /**
2255
2247
  * @license lucide-react v0.552.0 - ISC
2256
2248
  *
@@ -2786,6 +2778,17 @@ const SkillCard = ({
2786
2778
  var _a, _b, _c, _d, _e2, _f, _g, _h;
2787
2779
  const { theme: theme2 } = useTheme();
2788
2780
  const sourceConfig = getSourceConfig(skill.source);
2781
+ const [pathCopied, setPathCopied] = React2__default.useState(false);
2782
+ const handleCopyPath = async (e) => {
2783
+ e.stopPropagation();
2784
+ try {
2785
+ await navigator.clipboard.writeText(skill.path);
2786
+ setPathCopied(true);
2787
+ setTimeout(() => setPathCopied(false), 2e3);
2788
+ } catch (err) {
2789
+ console.error("Failed to copy path:", err);
2790
+ }
2791
+ };
2789
2792
  return /* @__PURE__ */ jsxs(
2790
2793
  "div",
2791
2794
  {
@@ -2817,105 +2820,147 @@ const SkillCard = ({
2817
2820
  }
2818
2821
  },
2819
2822
  children: [
2820
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: "12px" }, children: [
2821
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "10px", flex: 1, minWidth: 0 }, children: [
2823
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "flex-start", justifyContent: "space-between", gap: "12px" }, children: [
2824
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "4px", flex: 1, minWidth: 0 }, children: [
2822
2825
  /* @__PURE__ */ jsx(
2823
- "div",
2826
+ "h3",
2824
2827
  {
2825
2828
  style: {
2826
- width: "36px",
2827
- height: "36px",
2828
- borderRadius: theme2.radii[1],
2829
- background: `${theme2.colors.primary}20`,
2830
- display: "flex",
2831
- alignItems: "center",
2832
- justifyContent: "center",
2833
- flexShrink: 0
2829
+ margin: 0,
2830
+ fontSize: theme2.fontSizes[2],
2831
+ fontWeight: theme2.fontWeights.semibold,
2832
+ color: theme2.colors.text,
2833
+ overflow: "hidden",
2834
+ textOverflow: "ellipsis",
2835
+ whiteSpace: "nowrap",
2836
+ textTransform: "capitalize"
2834
2837
  },
2835
- children: /* @__PURE__ */ jsx(FileText, { size: 20, color: theme2.colors.primary })
2838
+ children: skill.name
2836
2839
  }
2837
2840
  ),
2838
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "4px", flex: 1, minWidth: 0 }, children: [
2839
- /* @__PURE__ */ jsx(
2840
- "h3",
2841
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: "4px", alignItems: "center", flexWrap: "wrap" }, children: [
2842
+ /* @__PURE__ */ jsxs(
2843
+ "div",
2841
2844
  {
2842
2845
  style: {
2843
- margin: 0,
2844
- fontSize: theme2.fontSizes[2],
2845
- fontWeight: theme2.fontWeights.semibold,
2846
- color: theme2.colors.text,
2847
- overflow: "hidden",
2848
- textOverflow: "ellipsis",
2849
- whiteSpace: "nowrap",
2850
- textTransform: "capitalize"
2846
+ display: "inline-flex",
2847
+ alignItems: "center",
2848
+ gap: "4px",
2849
+ padding: "2px 6px",
2850
+ borderRadius: theme2.radii[1],
2851
+ backgroundColor: sourceConfig.bgColor,
2852
+ border: `1px solid ${sourceConfig.borderColor}`,
2853
+ fontSize: theme2.fontSizes[0],
2854
+ color: sourceConfig.color,
2855
+ fontWeight: 500,
2856
+ width: "fit-content"
2851
2857
  },
2852
- children: skill.name
2858
+ title: `Source: ${skill.source}`,
2859
+ children: [
2860
+ /* @__PURE__ */ jsx(sourceConfig.icon, { size: 10 }),
2861
+ /* @__PURE__ */ jsx("span", { children: sourceConfig.label })
2862
+ ]
2853
2863
  }
2854
2864
  ),
2855
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: "4px", alignItems: "center", flexWrap: "wrap" }, children: [
2856
- /* @__PURE__ */ jsxs(
2857
- "div",
2858
- {
2859
- style: {
2860
- display: "inline-flex",
2861
- alignItems: "center",
2862
- gap: "4px",
2863
- padding: "2px 6px",
2864
- borderRadius: theme2.radii[1],
2865
- backgroundColor: sourceConfig.bgColor,
2866
- border: `1px solid ${sourceConfig.borderColor}`,
2867
- fontSize: theme2.fontSizes[0],
2868
- color: sourceConfig.color,
2869
- fontWeight: 500,
2870
- width: "fit-content"
2871
- },
2872
- title: `Source: ${skill.source}`,
2873
- children: [
2874
- /* @__PURE__ */ jsx(sourceConfig.icon, { size: 10 }),
2875
- /* @__PURE__ */ jsx("span", { children: sourceConfig.label })
2876
- ]
2877
- }
2878
- ),
2879
- ((_a = skill.metadata) == null ? void 0 : _a.owner) && ((_b = skill.metadata) == null ? void 0 : _b.repo) && /* @__PURE__ */ jsxs(
2880
- "div",
2881
- {
2882
- style: {
2883
- display: "inline-flex",
2884
- alignItems: "center",
2885
- gap: "4px",
2886
- padding: "2px 6px",
2887
- borderRadius: theme2.radii[1],
2888
- backgroundColor: `${theme2.colors.textSecondary}15`,
2889
- border: `1px solid ${theme2.colors.textSecondary}30`,
2890
- fontSize: theme2.fontSizes[0],
2891
- color: theme2.colors.textSecondary,
2892
- fontWeight: 500,
2893
- fontFamily: theme2.fonts.monospace,
2894
- width: "fit-content"
2895
- },
2896
- title: `From: ${skill.metadata.installedFrom}
2865
+ ((_a = skill.metadata) == null ? void 0 : _a.owner) && ((_b = skill.metadata) == null ? void 0 : _b.repo) && /* @__PURE__ */ jsxs(
2866
+ "div",
2867
+ {
2868
+ style: {
2869
+ display: "inline-flex",
2870
+ alignItems: "center",
2871
+ gap: "4px",
2872
+ padding: "2px 6px",
2873
+ borderRadius: theme2.radii[1],
2874
+ backgroundColor: `${theme2.colors.textSecondary}15`,
2875
+ border: `1px solid ${theme2.colors.textSecondary}30`,
2876
+ fontSize: theme2.fontSizes[0],
2877
+ color: theme2.colors.textSecondary,
2878
+ fontWeight: 500,
2879
+ fontFamily: theme2.fonts.monospace,
2880
+ width: "fit-content"
2881
+ },
2882
+ title: `From: ${skill.metadata.installedFrom}
2897
2883
  Installed: ${skill.metadata.installedAt ? new Date(skill.metadata.installedAt).toLocaleString() : "Unknown"}`,
2898
- children: [
2899
- /* @__PURE__ */ jsx(Github, { size: 10 }),
2900
- /* @__PURE__ */ jsxs("span", { children: [
2901
- skill.metadata.owner,
2902
- "/",
2903
- skill.metadata.repo
2904
- ] })
2905
- ]
2906
- }
2907
- )
2908
- ] })
2884
+ children: [
2885
+ /* @__PURE__ */ jsx(Github, { size: 10 }),
2886
+ /* @__PURE__ */ jsxs("span", { children: [
2887
+ skill.metadata.owner,
2888
+ "/",
2889
+ skill.metadata.repo
2890
+ ] })
2891
+ ]
2892
+ }
2893
+ )
2909
2894
  ] })
2910
2895
  ] }),
2911
- onClick && /* @__PURE__ */ jsx(
2912
- ChevronRight,
2913
- {
2914
- size: 18,
2915
- color: theme2.colors.textSecondary,
2916
- style: { flexShrink: 0 }
2917
- }
2918
- )
2896
+ (skill.hasScripts || skill.hasReferences || skill.hasAssets) && /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: "6px", flexWrap: "wrap", flexShrink: 0 }, children: [
2897
+ skill.hasScripts && /* @__PURE__ */ jsxs(
2898
+ "div",
2899
+ {
2900
+ style: {
2901
+ display: "flex",
2902
+ alignItems: "center",
2903
+ gap: "4px",
2904
+ padding: "2px 8px",
2905
+ borderRadius: theme2.radii[1],
2906
+ backgroundColor: `${theme2.colors.primary}15`,
2907
+ border: `1px solid ${theme2.colors.primary}30`,
2908
+ fontSize: theme2.fontSizes[0],
2909
+ color: theme2.colors.primary,
2910
+ fontWeight: 500
2911
+ },
2912
+ title: `Scripts: ${(_c = skill.scriptFiles) == null ? void 0 : _c.join(", ")}`,
2913
+ children: [
2914
+ /* @__PURE__ */ jsx(Code, { size: 12 }),
2915
+ /* @__PURE__ */ jsx("span", { children: ((_d = skill.scriptFiles) == null ? void 0 : _d.length) || 0 })
2916
+ ]
2917
+ }
2918
+ ),
2919
+ skill.hasReferences && /* @__PURE__ */ jsxs(
2920
+ "div",
2921
+ {
2922
+ style: {
2923
+ display: "flex",
2924
+ alignItems: "center",
2925
+ gap: "4px",
2926
+ padding: "2px 8px",
2927
+ borderRadius: theme2.radii[1],
2928
+ backgroundColor: `${theme2.colors.secondary}15`,
2929
+ border: `1px solid ${theme2.colors.secondary}30`,
2930
+ fontSize: theme2.fontSizes[0],
2931
+ color: theme2.colors.secondary,
2932
+ fontWeight: 500
2933
+ },
2934
+ title: `References: ${(_e2 = skill.referenceFiles) == null ? void 0 : _e2.join(", ")}`,
2935
+ children: [
2936
+ /* @__PURE__ */ jsx(BookOpen, { size: 12 }),
2937
+ /* @__PURE__ */ jsx("span", { children: ((_f = skill.referenceFiles) == null ? void 0 : _f.length) || 0 })
2938
+ ]
2939
+ }
2940
+ ),
2941
+ skill.hasAssets && /* @__PURE__ */ jsxs(
2942
+ "div",
2943
+ {
2944
+ style: {
2945
+ display: "flex",
2946
+ alignItems: "center",
2947
+ gap: "4px",
2948
+ padding: "2px 8px",
2949
+ borderRadius: theme2.radii[1],
2950
+ backgroundColor: `${theme2.colors.accent}15`,
2951
+ border: `1px solid ${theme2.colors.accent}30`,
2952
+ fontSize: theme2.fontSizes[0],
2953
+ color: theme2.colors.accent,
2954
+ fontWeight: 500
2955
+ },
2956
+ title: `Assets: ${(_g = skill.assetFiles) == null ? void 0 : _g.join(", ")}`,
2957
+ children: [
2958
+ /* @__PURE__ */ jsx(Package, { size: 12 }),
2959
+ /* @__PURE__ */ jsx("span", { children: ((_h = skill.assetFiles) == null ? void 0 : _h.length) || 0 })
2960
+ ]
2961
+ }
2962
+ )
2963
+ ] })
2919
2964
  ] }),
2920
2965
  skill.description && /* @__PURE__ */ jsx(
2921
2966
  "p",
@@ -2975,90 +3020,36 @@ Installed: ${skill.metadata.installedAt ? new Date(skill.metadata.installedAt).t
2975
3020
  },
2976
3021
  index2
2977
3022
  )) }),
2978
- (skill.hasScripts || skill.hasReferences || skill.hasAssets) && /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: "6px", flexWrap: "wrap" }, children: [
2979
- skill.hasScripts && /* @__PURE__ */ jsxs(
2980
- "div",
2981
- {
2982
- style: {
2983
- display: "flex",
2984
- alignItems: "center",
2985
- gap: "4px",
2986
- padding: "2px 8px",
2987
- borderRadius: theme2.radii[1],
2988
- backgroundColor: `${theme2.colors.primary}15`,
2989
- border: `1px solid ${theme2.colors.primary}30`,
2990
- fontSize: theme2.fontSizes[0],
2991
- color: theme2.colors.primary,
2992
- fontWeight: 500
2993
- },
2994
- title: `Scripts: ${(_c = skill.scriptFiles) == null ? void 0 : _c.join(", ")}`,
2995
- children: [
2996
- /* @__PURE__ */ jsx(Code, { size: 12 }),
2997
- /* @__PURE__ */ jsx("span", { children: ((_d = skill.scriptFiles) == null ? void 0 : _d.length) || 0 })
2998
- ]
2999
- }
3000
- ),
3001
- skill.hasReferences && /* @__PURE__ */ jsxs(
3002
- "div",
3003
- {
3004
- style: {
3005
- display: "flex",
3006
- alignItems: "center",
3007
- gap: "4px",
3008
- padding: "2px 8px",
3009
- borderRadius: theme2.radii[1],
3010
- backgroundColor: `${theme2.colors.secondary}15`,
3011
- border: `1px solid ${theme2.colors.secondary}30`,
3012
- fontSize: theme2.fontSizes[0],
3013
- color: theme2.colors.secondary,
3014
- fontWeight: 500
3015
- },
3016
- title: `References: ${(_e2 = skill.referenceFiles) == null ? void 0 : _e2.join(", ")}`,
3017
- children: [
3018
- /* @__PURE__ */ jsx(BookOpen, { size: 12 }),
3019
- /* @__PURE__ */ jsx("span", { children: ((_f = skill.referenceFiles) == null ? void 0 : _f.length) || 0 })
3020
- ]
3021
- }
3022
- ),
3023
- skill.hasAssets && /* @__PURE__ */ jsxs(
3024
- "div",
3025
- {
3026
- style: {
3027
- display: "flex",
3028
- alignItems: "center",
3029
- gap: "4px",
3030
- padding: "2px 8px",
3031
- borderRadius: theme2.radii[1],
3032
- backgroundColor: `${theme2.colors.accent}15`,
3033
- border: `1px solid ${theme2.colors.accent}30`,
3034
- fontSize: theme2.fontSizes[0],
3035
- color: theme2.colors.accent,
3036
- fontWeight: 500
3037
- },
3038
- title: `Assets: ${(_g = skill.assetFiles) == null ? void 0 : _g.join(", ")}`,
3039
- children: [
3040
- /* @__PURE__ */ jsx(Package, { size: 12 }),
3041
- /* @__PURE__ */ jsx("span", { children: ((_h = skill.assetFiles) == null ? void 0 : _h.length) || 0 })
3042
- ]
3043
- }
3044
- )
3045
- ] }),
3046
3023
  /* @__PURE__ */ jsx(
3047
3024
  "div",
3048
3025
  {
3026
+ onClick: handleCopyPath,
3049
3027
  style: {
3050
3028
  fontSize: theme2.fontSizes[0],
3051
- color: theme2.colors.textMuted,
3029
+ color: pathCopied ? theme2.colors.success : theme2.colors.textMuted,
3052
3030
  fontFamily: theme2.fonts.monospace,
3053
- background: theme2.colors.backgroundSecondary,
3031
+ background: pathCopied ? `${theme2.colors.success}15` : theme2.colors.backgroundSecondary,
3054
3032
  padding: "4px 8px",
3055
3033
  borderRadius: theme2.radii[1],
3056
3034
  overflow: "hidden",
3057
3035
  textOverflow: "ellipsis",
3058
- whiteSpace: "nowrap"
3036
+ whiteSpace: "nowrap",
3037
+ cursor: "pointer",
3038
+ transition: "all 0.2s ease",
3039
+ border: `1px solid ${pathCopied ? theme2.colors.success : "transparent"}`
3040
+ },
3041
+ title: pathCopied ? "Copied!" : "Click to copy path",
3042
+ onMouseEnter: (e) => {
3043
+ if (!pathCopied) {
3044
+ e.currentTarget.style.background = theme2.colors.backgroundTertiary || theme2.colors.border;
3045
+ }
3046
+ },
3047
+ onMouseLeave: (e) => {
3048
+ if (!pathCopied) {
3049
+ e.currentTarget.style.background = theme2.colors.backgroundSecondary;
3050
+ }
3059
3051
  },
3060
- title: skill.path,
3061
- children: skill.path
3052
+ children: pathCopied ? "Copied!" : skill.path
3062
3053
  }
3063
3054
  )
3064
3055
  ]