@industry-theme/agent-panels 0.2.9 → 0.2.10
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,CA0S5D,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,19 +47960,24 @@ 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(() => {
|
|
47971
47976
|
if (selectedSkillId && skills.length > 0) {
|
|
47972
47977
|
const foundSkill = skills.find((s2) => s2.id === selectedSkillId);
|
|
47973
47978
|
setSkill(foundSkill || null);
|
|
47979
|
+
} else if (!selectedSkillId) {
|
|
47980
|
+
setSkill(null);
|
|
47974
47981
|
}
|
|
47975
47982
|
}, [selectedSkillId, skills]);
|
|
47976
47983
|
if (error) {
|