{"version":3,"file":"UdpTreeItem.mjs","names":["React","useContext","UdpTreeContext","global","JSX","IntrinsicElements","DetailedHTMLProps","HTMLAttributes","HTMLElement","size","appearance","UdpTreeItemProps","children","ReactNode","start","end","aside","onClick","e","MouseEvent","slotted","content","slotName","isValidElement","type","Fragment","cloneElement","ReactElement","Record","slot","UdpTreeItem","FC","t0","$","_c","props","treeContext","t1","t2","t3","t4","t5","t6"],"sources":["../../../src/UI/fluent-web-components/UdpTreeItem.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { UdpTreeContext } from './UdpTree';\n\ndeclare global {\n  // eslint-disable-next-line @typescript-eslint/no-namespace\n  namespace JSX {\n    interface IntrinsicElements {\n      'fluent-tree-item': React.DetailedHTMLProps<\n        React.HTMLAttributes<HTMLElement>,\n        HTMLElement\n      > & {\n        size?: 'small' | 'medium';\n        appearance?: 'subtle' | 'transparent';\n      };\n    }\n  }\n}\n\ninterface UdpTreeItemProps {\n  children?: React.ReactNode;\n  /** Content for the start slot (e.g., icons) */\n  start?: React.ReactNode;\n  /** Content for the end slot (e.g., badges, status) */\n  end?: React.ReactNode;\n  /** Content for the aside slot (e.g., metadata, dates) */\n  aside?: React.ReactNode;\n  size?: 'small' | 'medium';\n  appearance?: 'subtle' | 'transparent';\n  onClick?: (e: React.MouseEvent) => void;\n}\n\n/**\n * Tree item component for composable tree construction.\n * Use inside UdpTree (without treeItems prop) when you need custom JSX in slots.\n *\n * Renders fluent-tree-item directly (no Stencil wrapper) so that\n * fluent-tree's nesting detection works correctly.\n *\n * Inherits size and appearance from the parent UdpTree via context.\n * These can be overridden per-item if needed.\n */\nconst slotted = (content: React.ReactNode, slotName: string) => {\n  if (!content) return null;\n  if (React.isValidElement(content) && content.type !== React.Fragment) {\n    return React.cloneElement(content as React.ReactElement<Record<string, unknown>>, { slot: slotName });\n  }\n  return <span slot={slotName}>{content}</span>;\n};\n\nexport const UdpTreeItem: React.FC<UdpTreeItemProps> = ({\n  children,\n  start,\n  end,\n  aside,\n  size,\n  appearance,\n  ...props\n}) => {\n  const treeContext = useContext(UdpTreeContext);\n\n  return (\n    <fluent-tree-item\n      size={size ?? treeContext.size}\n      appearance={appearance ?? treeContext.appearance}\n      {...props}\n    >\n      {slotted(start, 'start')}\n      {children}\n      {slotted(end, 'end')}\n      {slotted(aside, 'aside')}\n    </fluent-tree-item>\n  );\n};\n"],"mappings":";;;;;;;;;;;;;;AAyCA,MAAMoB,WAAWC,SAA0BC,aAAqB;AAC9D,KAAI,CAACD,QAAS,QAAO;AACrB,KAAIrB,MAAMuB,eAAeF,QAAQ,IAAIA,QAAQG,SAASxB,MAAMyB,SAC1D,QAAOzB,MAAM0B,aAAaL,SAAwD,EAAEQ,MAAMP,UAAU,CAAC;AAEvG,QAAO,sBAAA,cAAC,QAAD,EAAM,MAAMA,UAA0B,EAAfD,QAAe;;AAG/C,MAAaS,eAA0CE,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAxB;CAAA,IAAAM;CAAA,IAAAJ;CAAA,IAAAG;CAAA,IAAAoB;CAAA,IAAA1B;CAAA,IAAAK;AAAA,KAAAmB,EAAA,OAAAD,IAAA;AAAC,GAAA,CAAApB,UAAAE,OAAAC,KAAAC,OAAAP,MAAAC,eAAAyB,SAAAH;AAQvDC,IAAA,KAAAD;AAAAC,IAAA,KAAAvB;AAAAuB,IAAA,KAAAjB;AAAAiB,IAAA,KAAArB;AAAAqB,IAAA,KAAAlB;AAAAkB,IAAA,KAAAE;AAAAF,IAAA,KAAAxB;AAAAwB,IAAA,KAAAnB;QAAA;AAAAJ,eAAAuB,EAAA;AAAAjB,UAAAiB,EAAA;AAAArB,aAAAqB,EAAA;AAAAlB,QAAAkB,EAAA;AAAAE,UAAAF,EAAA;AAAAxB,SAAAwB,EAAA;AAAAnB,UAAAmB,EAAA;;CACC,MAAAG,cAAoBnC,WAAWC,eAAe;CAIpC,MAAAmC,KAAA5B,QAAQ2B,YAAW3B;CACb,MAAA6B,KAAA5B,cAAc0B,YAAW1B;CAAW,IAAA6B;AAAA,KAAAN,EAAA,OAAAnB,OAAA;AAG/CyB,OAAAnB,QAAQN,OAAO,QAAQ;AAAAmB,IAAA,KAAAnB;AAAAmB,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAAA,IAAAO;AAAA,KAAAP,EAAA,QAAAlB,KAAA;AAEvByB,OAAApB,QAAQL,KAAK,MAAM;AAAAkB,IAAA,MAAAlB;AAAAkB,IAAA,MAAAO;OAAAA,MAAAP,EAAA;CAAA,IAAAQ;AAAA,KAAAR,EAAA,QAAAjB,OAAA;AACnByB,OAAArB,QAAQJ,OAAO,QAAQ;AAAAiB,IAAA,MAAAjB;AAAAiB,IAAA,MAAAQ;OAAAA,MAAAR,EAAA;CAAA,IAAAS;AAAA,KAAAT,EAAA,QAAArB,YAAAqB,EAAA,QAAAE,SAAAF,EAAA,QAAAI,MAAAJ,EAAA,QAAAK,MAAAL,EAAA,QAAAM,MAAAN,EAAA,QAAAO,MAAAP,EAAA,QAAAQ,IAAA;AAR1BC,OAAA,sBAAA,cAAA,oBAAA;GACQ,MAAAL;GACM,YAAAC;GAAoC,GAC5CH;GAMa,EAJhBI,IACA3B,UACA4B,IACAC,GACgB;AAAAR,IAAA,MAAArB;AAAAqB,IAAA,MAAAE;AAAAF,IAAA,MAAAI;AAAAJ,IAAA,MAAAK;AAAAL,IAAA,MAAAM;AAAAN,IAAA,MAAAO;AAAAP,IAAA,MAAAQ;AAAAR,IAAA,MAAAS;OAAAA,MAAAT,EAAA;AAAA,QATnBS"}