@industry-theme/agent-panels 0.2.9 → 0.2.11
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,6 +2,12 @@ import React from 'react';
|
|
|
2
2
|
import type { PanelComponentProps } from '../types';
|
|
3
3
|
import './SkillDetailPanel.css';
|
|
4
4
|
export interface SkillDetailPanelProps extends PanelComponentProps {
|
|
5
|
+
/**
|
|
6
|
+
* Optional skill ID to display.
|
|
7
|
+
* If provided, this takes precedence over event-based selection.
|
|
8
|
+
* This allows the host to control panel state via props instead of events.
|
|
9
|
+
*/
|
|
10
|
+
selectedSkillId?: string | null;
|
|
5
11
|
}
|
|
6
12
|
export declare const SkillDetailPanel: React.FC<SkillDetailPanelProps>;
|
|
7
13
|
//# sourceMappingURL=SkillDetailPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillDetailPanel.d.ts","sourceRoot":"","sources":["../../src/panels/SkillDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQpD,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"file":"SkillDetailPanel.d.ts","sourceRoot":"","sources":["../../src/panels/SkillDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQpD,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsT5D,CAAC"}
|
package/dist/panels.bundle.js
CHANGED
|
@@ -47941,14 +47941,16 @@ var SkillMarkdown = ({
|
|
|
47941
47941
|
const SkillDetailPanel = ({
|
|
47942
47942
|
context,
|
|
47943
47943
|
events,
|
|
47944
|
-
actions
|
|
47944
|
+
actions,
|
|
47945
|
+
selectedSkillId: selectedSkillIdProp
|
|
47945
47946
|
}) => {
|
|
47946
47947
|
var _a, _b, _c, _d, _e2, _f;
|
|
47947
47948
|
const { theme: theme2 } = useTheme();
|
|
47948
47949
|
const { skills, isLoading, error } = useSkillsData({ context });
|
|
47949
|
-
const [
|
|
47950
|
+
const [selectedSkillIdState, setSelectedSkillIdState] = useState(null);
|
|
47950
47951
|
const [skill, setSkill] = useState(null);
|
|
47951
47952
|
const panelRef = useRef(null);
|
|
47953
|
+
const selectedSkillId = selectedSkillIdProp !== void 0 ? selectedSkillIdProp : selectedSkillIdState;
|
|
47952
47954
|
gt(
|
|
47953
47955
|
"skill-detail",
|
|
47954
47956
|
events,
|
|
@@ -47958,21 +47960,37 @@ const SkillDetailPanel = ({
|
|
|
47958
47960
|
}
|
|
47959
47961
|
);
|
|
47960
47962
|
useEffect(() => {
|
|
47963
|
+
if (selectedSkillIdProp !== void 0) {
|
|
47964
|
+
return;
|
|
47965
|
+
}
|
|
47961
47966
|
const unsubscribe = events.on("skill:selected", (event) => {
|
|
47962
47967
|
const payload = event.payload;
|
|
47963
47968
|
const skillId = payload == null ? void 0 : payload.skillId;
|
|
47964
47969
|
if (skillId) {
|
|
47965
|
-
|
|
47970
|
+
setSelectedSkillIdState(skillId);
|
|
47966
47971
|
}
|
|
47967
47972
|
});
|
|
47968
47973
|
return unsubscribe;
|
|
47969
|
-
}, [events]);
|
|
47974
|
+
}, [events, selectedSkillIdProp]);
|
|
47970
47975
|
useEffect(() => {
|
|
47976
|
+
console.log("[SkillDetailPanel] Effect:", {
|
|
47977
|
+
selectedSkillId,
|
|
47978
|
+
selectedSkillIdProp,
|
|
47979
|
+
skillsCount: skills.length,
|
|
47980
|
+
isLoading,
|
|
47981
|
+
skills: skills.map((s2) => ({ id: s2.id, name: s2.name }))
|
|
47982
|
+
});
|
|
47971
47983
|
if (selectedSkillId && skills.length > 0) {
|
|
47972
47984
|
const foundSkill = skills.find((s2) => s2.id === selectedSkillId);
|
|
47985
|
+
console.log("[SkillDetailPanel] Found skill:", foundSkill == null ? void 0 : foundSkill.name, "for ID:", selectedSkillId);
|
|
47973
47986
|
setSkill(foundSkill || null);
|
|
47987
|
+
} else if (!selectedSkillId) {
|
|
47988
|
+
console.log("[SkillDetailPanel] No selectedSkillId");
|
|
47989
|
+
setSkill(null);
|
|
47990
|
+
} else {
|
|
47991
|
+
console.log("[SkillDetailPanel] Skills not loaded yet, selectedSkillId:", selectedSkillId);
|
|
47974
47992
|
}
|
|
47975
|
-
}, [selectedSkillId, skills]);
|
|
47993
|
+
}, [selectedSkillId, skills, selectedSkillIdProp, isLoading]);
|
|
47976
47994
|
if (error) {
|
|
47977
47995
|
return /* @__PURE__ */ jsx(
|
|
47978
47996
|
"div",
|