@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;CAAG;AAErE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+R5D,CAAC"}
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"}
@@ -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 [selectedSkillId, setSelectedSkillId] = useState(null);
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
- setSelectedSkillId(skillId);
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",