@mieweb/ui 0.10.0-dev.9 → 0.11.0-dev.0

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.
Files changed (807) hide show
  1. package/README.md +4 -4
  2. package/agent/mieweb-ui.instructions.md +77 -0
  3. package/dist/CsvBlock-CFXSDPBI.js +9 -0
  4. package/dist/{CsvBlock-UWPMTLE2.js.map → CsvBlock-CFXSDPBI.js.map} +1 -1
  5. package/dist/CsvBlock-RGO7JXHJ.cjs +18 -0
  6. package/dist/{CsvBlock-ROJCKJDP.cjs.map → CsvBlock-RGO7JXHJ.cjs.map} +1 -1
  7. package/dist/HtmlPreviewBlock-VBYXCXVT.cjs +18 -0
  8. package/dist/{HtmlPreviewBlock-DWFN6EUB.cjs.map → HtmlPreviewBlock-VBYXCXVT.cjs.map} +1 -1
  9. package/dist/HtmlPreviewBlock-Z2GCK325.js +9 -0
  10. package/dist/{HtmlPreviewBlock-ME5U3XNS.js.map → HtmlPreviewBlock-Z2GCK325.js.map} +1 -1
  11. package/dist/MermaidBlock-I2R2BQOX.cjs +18 -0
  12. package/dist/{MermaidBlock-D2UC5M55.cjs.map → MermaidBlock-I2R2BQOX.cjs.map} +1 -1
  13. package/dist/MermaidBlock-XCAK7IA5.js +9 -0
  14. package/dist/{MermaidBlock-2B6CPD6Y.js.map → MermaidBlock-XCAK7IA5.js.map} +1 -1
  15. package/dist/SurveyBlock-KI5JOWCL.js +9 -0
  16. package/dist/{SurveyBlock-4DO62RBT.js.map → SurveyBlock-KI5JOWCL.js.map} +1 -1
  17. package/dist/SurveyBlock-UKSGISRT.cjs +18 -0
  18. package/dist/{SurveyBlock-4CD4AYMJ.cjs.map → SurveyBlock-UKSGISRT.cjs.map} +1 -1
  19. package/dist/ag-grid.d.cts +142 -1
  20. package/dist/ag-grid.d.ts +142 -1
  21. package/dist/brands/bluehive.cjs +3 -3
  22. package/dist/brands/bluehive.css +3 -0
  23. package/dist/brands/bluehive.js +1 -1
  24. package/dist/brands/index.cjs +17 -17
  25. package/dist/brands/index.js +4 -4
  26. package/dist/{chunk-JYZW2PZS.cjs → chunk-254QK722.cjs} +7 -7
  27. package/dist/chunk-254QK722.cjs.map +1 -0
  28. package/dist/{chunk-4IS3QCOQ.cjs → chunk-2FZYZ4HT.cjs} +4 -3
  29. package/dist/chunk-2FZYZ4HT.cjs.map +1 -0
  30. package/dist/{chunk-VPIYTQCV.cjs → chunk-2I4IRQQG.cjs} +12 -5
  31. package/dist/chunk-2I4IRQQG.cjs.map +1 -0
  32. package/dist/{chunk-IT775BYG.js → chunk-2W73UQ3T.js} +4 -3
  33. package/dist/chunk-2W73UQ3T.js.map +1 -0
  34. package/dist/chunk-2X54ZLT6.js +874 -0
  35. package/dist/chunk-2X54ZLT6.js.map +1 -0
  36. package/dist/{chunk-5MCBWTIF.cjs → chunk-32ZCJOSR.cjs} +4 -4
  37. package/dist/{chunk-5MCBWTIF.cjs.map → chunk-32ZCJOSR.cjs.map} +1 -1
  38. package/dist/{chunk-WNJRS7Y7.cjs → chunk-3ZWCIPFT.cjs} +4 -2
  39. package/dist/chunk-3ZWCIPFT.cjs.map +1 -0
  40. package/dist/chunk-434L5RYF.js +314 -0
  41. package/dist/chunk-434L5RYF.js.map +1 -0
  42. package/dist/{chunk-TPWKM7JH.js → chunk-43K7OQ3E.js} +3 -3
  43. package/dist/{chunk-TPWKM7JH.js.map → chunk-43K7OQ3E.js.map} +1 -1
  44. package/dist/chunk-47P5QLX4.cjs +42 -0
  45. package/dist/chunk-47P5QLX4.cjs.map +1 -0
  46. package/dist/{chunk-CR2SDI23.cjs → chunk-4QYYWYFD.cjs} +8 -7
  47. package/dist/chunk-4QYYWYFD.cjs.map +1 -0
  48. package/dist/{chunk-76TBQDED.js → chunk-4RI3CQGE.js} +6 -6
  49. package/dist/{chunk-76TBQDED.js.map → chunk-4RI3CQGE.js.map} +1 -1
  50. package/dist/chunk-4ZB7RSMY.cjs +306 -0
  51. package/dist/chunk-4ZB7RSMY.cjs.map +1 -0
  52. package/dist/chunk-522WJIVI.js +99 -0
  53. package/dist/chunk-522WJIVI.js.map +1 -0
  54. package/dist/chunk-56VTM4OX.js +261 -0
  55. package/dist/chunk-56VTM4OX.js.map +1 -0
  56. package/dist/chunk-5HKZR6UG.js +248 -0
  57. package/dist/chunk-5HKZR6UG.js.map +1 -0
  58. package/dist/chunk-6BNZLN4B.cjs +548 -0
  59. package/dist/chunk-6BNZLN4B.cjs.map +1 -0
  60. package/dist/chunk-6N7NMOSV.js +233 -0
  61. package/dist/chunk-6N7NMOSV.js.map +1 -0
  62. package/dist/chunk-6TTCZY3P.cjs +4 -0
  63. package/dist/chunk-6TTCZY3P.cjs.map +1 -0
  64. package/dist/{chunk-YQDA366U.js → chunk-753ENNB6.js} +2 -2
  65. package/dist/{chunk-YQDA366U.js.map → chunk-753ENNB6.js.map} +1 -1
  66. package/dist/{chunk-N6IY47YA.cjs → chunk-7C5W744U.cjs} +8 -8
  67. package/dist/{chunk-N6IY47YA.cjs.map → chunk-7C5W744U.cjs.map} +1 -1
  68. package/dist/chunk-7E46YDOT.cjs +122 -0
  69. package/dist/chunk-7E46YDOT.cjs.map +1 -0
  70. package/dist/chunk-7HUTR6RX.js +178 -0
  71. package/dist/chunk-7HUTR6RX.js.map +1 -0
  72. package/dist/chunk-7IRTD4JT.cjs +61 -0
  73. package/dist/chunk-7IRTD4JT.cjs.map +1 -0
  74. package/dist/{chunk-KZFBQ7GY.js → chunk-7QW6TU4X.js} +3 -3
  75. package/dist/{chunk-KZFBQ7GY.js.map → chunk-7QW6TU4X.js.map} +1 -1
  76. package/dist/{chunk-MWVW4APN.cjs → chunk-7UTBDFFL.cjs} +4 -4
  77. package/dist/{chunk-MWVW4APN.cjs.map → chunk-7UTBDFFL.cjs.map} +1 -1
  78. package/dist/chunk-7WJ6MBF5.cjs +47 -0
  79. package/dist/chunk-7WJ6MBF5.cjs.map +1 -0
  80. package/dist/{chunk-FJ7YPVKV.js → chunk-7X6R3JIA.js} +3 -3
  81. package/dist/{chunk-FJ7YPVKV.js.map → chunk-7X6R3JIA.js.map} +1 -1
  82. package/dist/chunk-A4W5CSK7.cjs +216 -0
  83. package/dist/chunk-A4W5CSK7.cjs.map +1 -0
  84. package/dist/{chunk-2G75X6TS.cjs → chunk-AHHFFXJR.cjs} +3 -3
  85. package/dist/{chunk-2G75X6TS.cjs.map → chunk-AHHFFXJR.cjs.map} +1 -1
  86. package/dist/chunk-AJPFQF3H.cjs +896 -0
  87. package/dist/chunk-AJPFQF3H.cjs.map +1 -0
  88. package/dist/chunk-AMYFRY7K.js +3 -0
  89. package/dist/chunk-AMYFRY7K.js.map +1 -0
  90. package/dist/{chunk-VNYW4C4J.cjs → chunk-ANMX7YDL.cjs} +4 -84
  91. package/dist/chunk-ANMX7YDL.cjs.map +1 -0
  92. package/dist/chunk-ARIJ5OHW.cjs +139 -0
  93. package/dist/chunk-ARIJ5OHW.cjs.map +1 -0
  94. package/dist/{chunk-GD7EBGC4.cjs → chunk-ATRW3J5Z.cjs} +49 -19
  95. package/dist/chunk-ATRW3J5Z.cjs.map +1 -0
  96. package/dist/chunk-BJ6ABRSQ.cjs +256 -0
  97. package/dist/chunk-BJ6ABRSQ.cjs.map +1 -0
  98. package/dist/{chunk-G3JX3UAU.cjs → chunk-BWSZ2BHJ.cjs} +6 -6
  99. package/dist/{chunk-G3JX3UAU.cjs.map → chunk-BWSZ2BHJ.cjs.map} +1 -1
  100. package/dist/chunk-BXRQ6HEP.cjs +4 -0
  101. package/dist/chunk-BXRQ6HEP.cjs.map +1 -0
  102. package/dist/chunk-CBBKWRLG.js +213 -0
  103. package/dist/chunk-CBBKWRLG.js.map +1 -0
  104. package/dist/{chunk-UAMXCMST.cjs → chunk-CFI3TQMA.cjs} +3 -3
  105. package/dist/{chunk-UAMXCMST.cjs.map → chunk-CFI3TQMA.cjs.map} +1 -1
  106. package/dist/chunk-CLQW724U.cjs +271 -0
  107. package/dist/chunk-CLQW724U.cjs.map +1 -0
  108. package/dist/chunk-CPDNX3LS.cjs +47 -0
  109. package/dist/chunk-CPDNX3LS.cjs.map +1 -0
  110. package/dist/chunk-CVNPNZMX.js +44 -0
  111. package/dist/chunk-CVNPNZMX.js.map +1 -0
  112. package/dist/chunk-DGHS5IVD.js +305 -0
  113. package/dist/chunk-DGHS5IVD.js.map +1 -0
  114. package/dist/chunk-DHGCLPFZ.js +91 -0
  115. package/dist/chunk-DHGCLPFZ.js.map +1 -0
  116. package/dist/chunk-DO2YN46R.cjs +201 -0
  117. package/dist/chunk-DO2YN46R.cjs.map +1 -0
  118. package/dist/chunk-DVDT7TX7.js +151 -0
  119. package/dist/chunk-DVDT7TX7.js.map +1 -0
  120. package/dist/chunk-DXEPYK3I.cjs +92 -0
  121. package/dist/chunk-DXEPYK3I.cjs.map +1 -0
  122. package/dist/chunk-DXFP53KF.js +283 -0
  123. package/dist/chunk-DXFP53KF.js.map +1 -0
  124. package/dist/chunk-EACNRR3C.cjs +4 -0
  125. package/dist/chunk-EACNRR3C.cjs.map +1 -0
  126. package/dist/{chunk-TVTIGV7Q.js → chunk-EBKE4DLU.js} +18 -11
  127. package/dist/chunk-EBKE4DLU.js.map +1 -0
  128. package/dist/{chunk-ASSDGS4F.cjs → chunk-ECYIDXG6.cjs} +254 -4
  129. package/dist/chunk-ECYIDXG6.cjs.map +1 -0
  130. package/dist/chunk-EGPDT7SM.js +195 -0
  131. package/dist/chunk-EGPDT7SM.js.map +1 -0
  132. package/dist/chunk-EPCUPHEO.js +193 -0
  133. package/dist/chunk-EPCUPHEO.js.map +1 -0
  134. package/dist/{chunk-7ZXAQTV4.cjs → chunk-ERACGSDY.cjs} +8 -8
  135. package/dist/{chunk-7ZXAQTV4.cjs.map → chunk-ERACGSDY.cjs.map} +1 -1
  136. package/dist/{chunk-XCP454Q6.js → chunk-F4N67NAF.js} +12 -3
  137. package/dist/chunk-F4N67NAF.js.map +1 -0
  138. package/dist/{chunk-WGPLUCBD.js → chunk-F6W62K4J.js} +4 -4
  139. package/dist/{chunk-WGPLUCBD.js.map → chunk-F6W62K4J.js.map} +1 -1
  140. package/dist/{chunk-XVW5DPPP.js → chunk-F7SZSOB3.js} +4 -3
  141. package/dist/chunk-F7SZSOB3.js.map +1 -0
  142. package/dist/chunk-FBCDYTWM.js +385 -0
  143. package/dist/chunk-FBCDYTWM.js.map +1 -0
  144. package/dist/{chunk-KQUI4BGS.cjs → chunk-FBN2VHUV.cjs} +68 -61
  145. package/dist/chunk-FBN2VHUV.cjs.map +1 -0
  146. package/dist/{chunk-V7D3YGUV.js → chunk-FGLIP6YR.js} +4 -4
  147. package/dist/{chunk-V7D3YGUV.js.map → chunk-FGLIP6YR.js.map} +1 -1
  148. package/dist/{chunk-VU6UTJRM.js → chunk-FIKO4WR6.js} +3 -3
  149. package/dist/{chunk-VU6UTJRM.js.map → chunk-FIKO4WR6.js.map} +1 -1
  150. package/dist/{chunk-OD47TTAW.cjs → chunk-FMEA6WAY.cjs} +9 -9
  151. package/dist/{chunk-OD47TTAW.cjs.map → chunk-FMEA6WAY.cjs.map} +1 -1
  152. package/dist/chunk-FSGJXCBG.cjs +318 -0
  153. package/dist/chunk-FSGJXCBG.cjs.map +1 -0
  154. package/dist/chunk-FSWHZY3T.cjs +328 -0
  155. package/dist/chunk-FSWHZY3T.cjs.map +1 -0
  156. package/dist/chunk-FTEZNCRI.js +29 -0
  157. package/dist/chunk-FTEZNCRI.js.map +1 -0
  158. package/dist/{chunk-YVPC65ZJ.cjs → chunk-GF2BE4FB.cjs} +91 -32
  159. package/dist/chunk-GF2BE4FB.cjs.map +1 -0
  160. package/dist/{chunk-JEIW7BSV.cjs → chunk-GKDHMNUA.cjs} +2 -52
  161. package/dist/chunk-GKDHMNUA.cjs.map +1 -0
  162. package/dist/{chunk-URAQIF67.cjs → chunk-GM32IDVL.cjs} +6 -6
  163. package/dist/{chunk-URAQIF67.cjs.map → chunk-GM32IDVL.cjs.map} +1 -1
  164. package/dist/chunk-GVM6DTR5.js +90 -0
  165. package/dist/chunk-GVM6DTR5.js.map +1 -0
  166. package/dist/{chunk-SQHMGT4W.js → chunk-GW4RFJZ5.js} +7 -7
  167. package/dist/chunk-GW4RFJZ5.js.map +1 -0
  168. package/dist/chunk-GY5SP4ST.js +3 -0
  169. package/dist/chunk-GY5SP4ST.js.map +1 -0
  170. package/dist/{chunk-OCSCBB52.cjs → chunk-GYXSF6BJ.cjs} +10 -10
  171. package/dist/{chunk-OCSCBB52.cjs.map → chunk-GYXSF6BJ.cjs.map} +1 -1
  172. package/dist/chunk-H2Y7HZV5.js +3 -0
  173. package/dist/chunk-H2Y7HZV5.js.map +1 -0
  174. package/dist/chunk-H3P7POFC.cjs +337 -0
  175. package/dist/chunk-H3P7POFC.cjs.map +1 -0
  176. package/dist/{chunk-JID7AZTO.cjs → chunk-H3ROMJYI.cjs} +4 -4
  177. package/dist/{chunk-JID7AZTO.cjs.map → chunk-H3ROMJYI.cjs.map} +1 -1
  178. package/dist/{chunk-462XSCP3.cjs → chunk-HCIXGFWR.cjs} +4 -4
  179. package/dist/{chunk-462XSCP3.cjs.map → chunk-HCIXGFWR.cjs.map} +1 -1
  180. package/dist/{chunk-H4ZXMQQW.js → chunk-HDY7YQFX.js} +3 -3
  181. package/dist/{chunk-H4ZXMQQW.js.map → chunk-HDY7YQFX.js.map} +1 -1
  182. package/dist/chunk-HNFFFFYH.cjs +114 -0
  183. package/dist/chunk-HNFFFFYH.cjs.map +1 -0
  184. package/dist/chunk-HNXLLDPN.js +25 -0
  185. package/dist/chunk-HNXLLDPN.js.map +1 -0
  186. package/dist/{chunk-NV2CWBI2.cjs → chunk-IEY3ZJIT.cjs} +12 -3
  187. package/dist/chunk-IEY3ZJIT.cjs.map +1 -0
  188. package/dist/chunk-IEZXJWHJ.cjs +306 -0
  189. package/dist/chunk-IEZXJWHJ.cjs.map +1 -0
  190. package/dist/{chunk-3QEVGSFG.cjs → chunk-IGDO62KR.cjs} +5 -5
  191. package/dist/{chunk-3QEVGSFG.cjs.map → chunk-IGDO62KR.cjs.map} +1 -1
  192. package/dist/{chunk-N5O47VGS.cjs → chunk-IVGI353O.cjs} +2 -2
  193. package/dist/{chunk-N5O47VGS.cjs.map → chunk-IVGI353O.cjs.map} +1 -1
  194. package/dist/chunk-IWRBJHO3.cjs +51 -0
  195. package/dist/chunk-IWRBJHO3.cjs.map +1 -0
  196. package/dist/{chunk-2IZLKPUW.js → chunk-J2CKXXOW.js} +27 -6
  197. package/dist/chunk-J2CKXXOW.js.map +1 -0
  198. package/dist/{chunk-VILW53UZ.js → chunk-JMAZ2GKT.js} +3 -3
  199. package/dist/{chunk-VILW53UZ.js.map → chunk-JMAZ2GKT.js.map} +1 -1
  200. package/dist/{chunk-WWJIW2IH.cjs → chunk-JSXIB6EJ.cjs} +4 -4
  201. package/dist/{chunk-WWJIW2IH.cjs.map → chunk-JSXIB6EJ.cjs.map} +1 -1
  202. package/dist/{chunk-KRU6IGV7.js → chunk-JUJGWUAN.js} +28 -6
  203. package/dist/chunk-JUJGWUAN.js.map +1 -0
  204. package/dist/{chunk-FXO5ARBB.cjs → chunk-KDW6BD4O.cjs} +4 -4
  205. package/dist/{chunk-FXO5ARBB.cjs.map → chunk-KDW6BD4O.cjs.map} +1 -1
  206. package/dist/{chunk-Z5V7SAZ4.js → chunk-KFEN2SRZ.js} +3 -3
  207. package/dist/{chunk-Z5V7SAZ4.js.map → chunk-KFEN2SRZ.js.map} +1 -1
  208. package/dist/chunk-KIVEYQGA.cjs +319 -0
  209. package/dist/chunk-KIVEYQGA.cjs.map +1 -0
  210. package/dist/{chunk-XEAT7XJG.cjs → chunk-KQ6GLYFZ.cjs} +29 -13
  211. package/dist/chunk-KQ6GLYFZ.cjs.map +1 -0
  212. package/dist/{chunk-4A3W4TQF.js → chunk-KVTKSPX5.js} +254 -4
  213. package/dist/chunk-KVTKSPX5.js.map +1 -0
  214. package/dist/{chunk-6EN3IQQI.cjs → chunk-L5Y52F2E.cjs} +9 -9
  215. package/dist/chunk-L5Y52F2E.cjs.map +1 -0
  216. package/dist/chunk-L6K4PRZK.cjs +4 -0
  217. package/dist/chunk-L6K4PRZK.cjs.map +1 -0
  218. package/dist/chunk-LAN5VWGC.js +2540 -0
  219. package/dist/chunk-LAN5VWGC.js.map +1 -0
  220. package/dist/{chunk-7ZDPD5ZX.cjs → chunk-LC3JL2HB.cjs} +11 -7
  221. package/dist/chunk-LC3JL2HB.cjs.map +1 -0
  222. package/dist/chunk-LRAAJRE7.cjs +2707 -0
  223. package/dist/chunk-LRAAJRE7.cjs.map +1 -0
  224. package/dist/{chunk-OE5CKRUC.js → chunk-LX323IMT.js} +34 -4
  225. package/dist/chunk-LX323IMT.js.map +1 -0
  226. package/dist/chunk-M3VPGJMV.js +283 -0
  227. package/dist/chunk-M3VPGJMV.js.map +1 -0
  228. package/dist/{chunk-DVOQ3JNO.js → chunk-ME7EVT6F.js} +23 -9
  229. package/dist/chunk-ME7EVT6F.js.map +1 -0
  230. package/dist/{chunk-SQJFBZ42.js → chunk-MUYUFOGL.js} +8 -7
  231. package/dist/chunk-MUYUFOGL.js.map +1 -0
  232. package/dist/{chunk-VKELAMAZ.js → chunk-N54FYWG6.js} +27 -11
  233. package/dist/chunk-N54FYWG6.js.map +1 -0
  234. package/dist/chunk-N5JDL4VE.js +3 -0
  235. package/dist/chunk-N5JDL4VE.js.map +1 -0
  236. package/dist/{chunk-ZPSJ2UV6.cjs → chunk-NAH65KPK.cjs} +8 -8
  237. package/dist/{chunk-ZPSJ2UV6.cjs.map → chunk-NAH65KPK.cjs.map} +1 -1
  238. package/dist/{chunk-PYJDVWXM.js → chunk-NUB5HRKS.js} +3 -3
  239. package/dist/{chunk-PYJDVWXM.js.map → chunk-NUB5HRKS.js.map} +1 -1
  240. package/dist/{chunk-WNZAYBVB.cjs → chunk-O6BJMVGT.cjs} +48 -48
  241. package/dist/{chunk-WNZAYBVB.cjs.map → chunk-O6BJMVGT.cjs.map} +1 -1
  242. package/dist/{chunk-SVSHA7XV.js → chunk-O6XDA3SI.js} +31 -33
  243. package/dist/chunk-O6XDA3SI.js.map +1 -0
  244. package/dist/chunk-OIF34LEN.cjs +425 -0
  245. package/dist/chunk-OIF34LEN.cjs.map +1 -0
  246. package/dist/{chunk-J5CSLNCN.cjs → chunk-OODVC2UD.cjs} +2 -2
  247. package/dist/{chunk-J5CSLNCN.cjs.map → chunk-OODVC2UD.cjs.map} +1 -1
  248. package/dist/{chunk-LL6IWKI3.js → chunk-OW3SQJ7P.js} +3 -3
  249. package/dist/{chunk-LL6IWKI3.js.map → chunk-OW3SQJ7P.js.map} +1 -1
  250. package/dist/{chunk-ZGRCSNPK.js → chunk-OYUIEJPN.js} +17 -8
  251. package/dist/chunk-OYUIEJPN.js.map +1 -0
  252. package/dist/chunk-P22YCUVM.cjs +4 -0
  253. package/dist/chunk-P22YCUVM.cjs.map +1 -0
  254. package/dist/{chunk-CEQJGUAS.js → chunk-P4E3K3ND.js} +12 -5
  255. package/dist/chunk-P4E3K3ND.js.map +1 -0
  256. package/dist/{chunk-TMMVIUUN.js → chunk-P7D7BYFE.js} +4 -4
  257. package/dist/{chunk-TMMVIUUN.js.map → chunk-P7D7BYFE.js.map} +1 -1
  258. package/dist/{chunk-SGFYA22I.cjs → chunk-PINIBEIU.cjs} +21 -12
  259. package/dist/chunk-PINIBEIU.cjs.map +1 -0
  260. package/dist/{chunk-3T7QGLNB.js → chunk-PJEL5ZZV.js} +4 -2
  261. package/dist/chunk-PJEL5ZZV.js.map +1 -0
  262. package/dist/chunk-PWXDRFJL.cjs +218 -0
  263. package/dist/chunk-PWXDRFJL.cjs.map +1 -0
  264. package/dist/{chunk-XZNN3S3S.cjs → chunk-PYI2IWNX.cjs} +4 -4
  265. package/dist/{chunk-XZNN3S3S.cjs.map → chunk-PYI2IWNX.cjs.map} +1 -1
  266. package/dist/chunk-Q3YVLO52.cjs +174 -0
  267. package/dist/chunk-Q3YVLO52.cjs.map +1 -0
  268. package/dist/{chunk-MNILXWVY.js → chunk-QJ2L5RU6.js} +7 -7
  269. package/dist/{chunk-MNILXWVY.js.map → chunk-QJ2L5RU6.js.map} +1 -1
  270. package/dist/{chunk-X4LBUPJO.cjs → chunk-QX6AAVDE.cjs} +31 -33
  271. package/dist/chunk-QX6AAVDE.cjs.map +1 -0
  272. package/dist/{chunk-UV2FVNWT.cjs → chunk-RIUQP2QS.cjs} +5 -5
  273. package/dist/{chunk-UV2FVNWT.cjs.map → chunk-RIUQP2QS.cjs.map} +1 -1
  274. package/dist/chunk-RLVYWUXG.js +115 -0
  275. package/dist/chunk-RLVYWUXG.js.map +1 -0
  276. package/dist/{chunk-HACNIFO3.js → chunk-RM2HPQIC.js} +77 -14
  277. package/dist/chunk-RM2HPQIC.js.map +1 -0
  278. package/dist/{chunk-DEDN5HAG.js → chunk-RSJGTWLM.js} +3 -3
  279. package/dist/{chunk-DEDN5HAG.js.map → chunk-RSJGTWLM.js.map} +1 -1
  280. package/dist/{chunk-G4D6CLBT.js → chunk-RZSSQ7AT.js} +3 -3
  281. package/dist/{chunk-G4D6CLBT.js.map → chunk-RZSSQ7AT.js.map} +1 -1
  282. package/dist/{chunk-ENKFJJZX.js → chunk-S2JZL4JC.js} +6 -6
  283. package/dist/{chunk-ENKFJJZX.js.map → chunk-S2JZL4JC.js.map} +1 -1
  284. package/dist/{chunk-P7UMS4E6.cjs → chunk-S7AMZ4RD.cjs} +23 -9
  285. package/dist/chunk-S7AMZ4RD.cjs.map +1 -0
  286. package/dist/{chunk-VROIMIHB.cjs → chunk-SHBCUXFS.cjs} +28 -6
  287. package/dist/chunk-SHBCUXFS.cjs.map +1 -0
  288. package/dist/{chunk-RJ6NTJHC.js → chunk-SRMTRD7F.js} +3 -3
  289. package/dist/{chunk-RJ6NTJHC.js.map → chunk-SRMTRD7F.js.map} +1 -1
  290. package/dist/{chunk-IX6KFB3K.cjs → chunk-SW2E7XKY.cjs} +9 -9
  291. package/dist/{chunk-IX6KFB3K.cjs.map → chunk-SW2E7XKY.cjs.map} +1 -1
  292. package/dist/chunk-SZSRGUVO.js +402 -0
  293. package/dist/chunk-SZSRGUVO.js.map +1 -0
  294. package/dist/{chunk-NJ6MY6V5.js → chunk-T5BBZQ66.js} +3 -3
  295. package/dist/{chunk-NJ6MY6V5.js.map → chunk-T5BBZQ66.js.map} +1 -1
  296. package/dist/{chunk-HZ4MBUC3.js → chunk-TI3TQQ7F.js} +4 -53
  297. package/dist/chunk-TI3TQQ7F.js.map +1 -0
  298. package/dist/{chunk-ACCAXVOG.js → chunk-TJ4GWQPM.js} +137 -57
  299. package/dist/chunk-TJ4GWQPM.js.map +1 -0
  300. package/dist/{chunk-5JJ2DAE4.js → chunk-TWQSMUE6.js} +7 -3
  301. package/dist/chunk-TWQSMUE6.js.map +1 -0
  302. package/dist/{chunk-X4XPNTCZ.cjs → chunk-U2RS574O.cjs} +139 -59
  303. package/dist/chunk-U2RS574O.cjs.map +1 -0
  304. package/dist/{chunk-TAXD5ADA.cjs → chunk-UEDTZYGI.cjs} +3 -3
  305. package/dist/{chunk-TAXD5ADA.cjs.map → chunk-UEDTZYGI.cjs.map} +1 -1
  306. package/dist/{chunk-3QGS6CXD.js → chunk-UJDWFDKE.js} +3 -3
  307. package/dist/{chunk-3QGS6CXD.js.map → chunk-UJDWFDKE.js.map} +1 -1
  308. package/dist/{chunk-DZ5HFLRC.js → chunk-UNFDIBKJ.js} +3 -3
  309. package/dist/{chunk-DZ5HFLRC.js.map → chunk-UNFDIBKJ.js.map} +1 -1
  310. package/dist/{chunk-UQ3VVR6A.cjs → chunk-UPWIJC6I.cjs} +3 -3
  311. package/dist/{chunk-UQ3VVR6A.cjs.map → chunk-UPWIJC6I.cjs.map} +1 -1
  312. package/dist/chunk-UTIPENPW.cjs +286 -0
  313. package/dist/chunk-UTIPENPW.cjs.map +1 -0
  314. package/dist/{chunk-S7WCHDBO.js → chunk-VCI2Y7ST.js} +3 -3
  315. package/dist/{chunk-S7WCHDBO.js.map → chunk-VCI2Y7ST.js.map} +1 -1
  316. package/dist/{chunk-Y5HFM7LO.js → chunk-VOEXGDL5.js} +6 -6
  317. package/dist/chunk-VOEXGDL5.js.map +1 -0
  318. package/dist/{chunk-P2CA3XGI.js → chunk-VSRO4PAI.js} +23 -5
  319. package/dist/chunk-VSRO4PAI.js.map +1 -0
  320. package/dist/{chunk-L6MDULYB.js → chunk-VU3ZMJBN.js} +2 -2
  321. package/dist/{chunk-L6MDULYB.js.map → chunk-VU3ZMJBN.js.map} +1 -1
  322. package/dist/{chunk-XI34EGK5.cjs → chunk-VV2U36T6.cjs} +9 -9
  323. package/dist/{chunk-XI34EGK5.cjs.map → chunk-VV2U36T6.cjs.map} +1 -1
  324. package/dist/{chunk-VPWJCJCX.cjs → chunk-VXW7D5LR.cjs} +26 -8
  325. package/dist/chunk-VXW7D5LR.cjs.map +1 -0
  326. package/dist/{chunk-GOALNQZ2.js → chunk-WFBUBT54.js} +4 -83
  327. package/dist/chunk-WFBUBT54.js.map +1 -0
  328. package/dist/chunk-WQHBMZSC.js +295 -0
  329. package/dist/chunk-WQHBMZSC.js.map +1 -0
  330. package/dist/chunk-WSMBIXPU.cjs +2573 -0
  331. package/dist/chunk-WSMBIXPU.cjs.map +1 -0
  332. package/dist/chunk-X5JOEZVR.js +525 -0
  333. package/dist/chunk-X5JOEZVR.js.map +1 -0
  334. package/dist/chunk-XBAAHOCP.js +3 -0
  335. package/dist/chunk-XBAAHOCP.js.map +1 -0
  336. package/dist/chunk-XDU65GLW.js +21 -0
  337. package/dist/chunk-XDU65GLW.js.map +1 -0
  338. package/dist/{chunk-5GUOOLPR.cjs → chunk-XHK5VZ4L.cjs} +29 -8
  339. package/dist/chunk-XHK5VZ4L.cjs.map +1 -0
  340. package/dist/chunk-XI74P5F2.cjs +424 -0
  341. package/dist/chunk-XI74P5F2.cjs.map +1 -0
  342. package/dist/chunk-XNPDZANN.cjs +238 -0
  343. package/dist/chunk-XNPDZANN.cjs.map +1 -0
  344. package/dist/{chunk-XDIMTPZU.cjs → chunk-XPWFIDZM.cjs} +4 -3
  345. package/dist/chunk-XPWFIDZM.cjs.map +1 -0
  346. package/dist/{chunk-FS4VZUFV.cjs → chunk-XRVMYT5G.cjs} +77 -13
  347. package/dist/chunk-XRVMYT5G.cjs.map +1 -0
  348. package/dist/chunk-XXA4NZUC.js +3 -0
  349. package/dist/chunk-XXA4NZUC.js.map +1 -0
  350. package/dist/chunk-Y424YL55.js +59 -0
  351. package/dist/chunk-Y424YL55.js.map +1 -0
  352. package/dist/chunk-Y7ZJZLJY.js +2657 -0
  353. package/dist/chunk-Y7ZJZLJY.js.map +1 -0
  354. package/dist/chunk-YG7BR76Y.js +281 -0
  355. package/dist/chunk-YG7BR76Y.js.map +1 -0
  356. package/dist/chunk-YGS2TRMP.js +38 -0
  357. package/dist/chunk-YGS2TRMP.js.map +1 -0
  358. package/dist/chunk-YUMOM3KE.js +167 -0
  359. package/dist/chunk-YUMOM3KE.js.map +1 -0
  360. package/dist/chunk-YVKBXNPK.js +41 -0
  361. package/dist/chunk-YVKBXNPK.js.map +1 -0
  362. package/dist/chunk-YW2AKBLS.cjs +23 -0
  363. package/dist/chunk-YW2AKBLS.cjs.map +1 -0
  364. package/dist/{chunk-3M7TAXNR.js → chunk-YZCM7CXK.js} +3 -3
  365. package/dist/{chunk-3M7TAXNR.js.map → chunk-YZCM7CXK.js.map} +1 -1
  366. package/dist/chunk-Z3WMDVMR.cjs +46 -0
  367. package/dist/chunk-Z3WMDVMR.cjs.map +1 -0
  368. package/dist/chunk-ZNUMOJOI.cjs +4 -0
  369. package/dist/chunk-ZNUMOJOI.cjs.map +1 -0
  370. package/dist/components/Accordion/index.cjs +2 -2
  371. package/dist/components/Accordion/index.d.cts +6 -0
  372. package/dist/components/Accordion/index.d.ts +6 -0
  373. package/dist/components/Accordion/index.js +1 -1
  374. package/dist/components/ActionPlan/index.cjs +34 -0
  375. package/dist/components/ActionPlan/index.cjs.map +1 -0
  376. package/dist/components/ActionPlan/index.d.cts +65 -0
  377. package/dist/components/ActionPlan/index.d.ts +65 -0
  378. package/dist/components/ActionPlan/index.js +21 -0
  379. package/dist/components/ActionPlan/index.js.map +1 -0
  380. package/dist/components/ActivityFeed/index.cjs +31 -0
  381. package/dist/components/ActivityFeed/index.cjs.map +1 -0
  382. package/dist/components/ActivityFeed/index.d.cts +99 -0
  383. package/dist/components/ActivityFeed/index.d.ts +99 -0
  384. package/dist/components/ActivityFeed/index.js +18 -0
  385. package/dist/components/ActivityFeed/index.js.map +1 -0
  386. package/dist/components/Alert/index.d.cts +1 -1
  387. package/dist/components/Alert/index.d.ts +1 -1
  388. package/dist/components/AlertDialog/index.cjs +19 -5
  389. package/dist/components/AlertDialog/index.d.cts +94 -16
  390. package/dist/components/AlertDialog/index.d.ts +94 -16
  391. package/dist/components/AlertDialog/index.js +6 -4
  392. package/dist/components/AssociationList/index.cjs +29 -0
  393. package/dist/components/AssociationList/index.cjs.map +1 -0
  394. package/dist/components/AssociationList/index.d.cts +50 -0
  395. package/dist/components/AssociationList/index.d.ts +50 -0
  396. package/dist/components/AssociationList/index.js +16 -0
  397. package/dist/components/AssociationList/index.js.map +1 -0
  398. package/dist/components/AudioRecorder/index.d.cts +2 -2
  399. package/dist/components/AudioRecorder/index.d.ts +2 -2
  400. package/dist/components/Autocomplete/index.d.cts +8 -2
  401. package/dist/components/Autocomplete/index.d.ts +8 -2
  402. package/dist/components/Avatar/index.cjs +9 -7
  403. package/dist/components/Avatar/index.d.cts +46 -15
  404. package/dist/components/Avatar/index.d.ts +46 -15
  405. package/dist/components/Avatar/index.js +3 -1
  406. package/dist/components/AvatarGroup/index.cjs +20 -0
  407. package/dist/components/AvatarGroup/index.cjs.map +1 -0
  408. package/dist/components/AvatarGroup/index.d.cts +57 -0
  409. package/dist/components/AvatarGroup/index.d.ts +57 -0
  410. package/dist/components/AvatarGroup/index.js +7 -0
  411. package/dist/components/AvatarGroup/index.js.map +1 -0
  412. package/dist/components/Badge/index.cjs +3 -3
  413. package/dist/components/Badge/index.d.cts +16 -2
  414. package/dist/components/Badge/index.d.ts +16 -2
  415. package/dist/components/Badge/index.js +1 -1
  416. package/dist/components/BoardView/index.cjs +5 -4
  417. package/dist/components/BoardView/index.d.cts +2 -3
  418. package/dist/components/BoardView/index.d.ts +2 -3
  419. package/dist/components/BoardView/index.js +2 -1
  420. package/dist/components/Button/index.cjs +5 -3
  421. package/dist/components/Button/index.d.cts +2 -1
  422. package/dist/components/Button/index.d.ts +2 -1
  423. package/dist/components/Button/index.js +3 -1
  424. package/dist/components/CalendarHeatmap/index.cjs +18 -0
  425. package/dist/components/CalendarHeatmap/index.cjs.map +1 -0
  426. package/dist/components/CalendarHeatmap/index.d.cts +47 -0
  427. package/dist/components/CalendarHeatmap/index.d.ts +47 -0
  428. package/dist/components/CalendarHeatmap/index.js +5 -0
  429. package/dist/components/CalendarHeatmap/index.js.map +1 -0
  430. package/dist/components/CalendarView/index.cjs +6 -4
  431. package/dist/components/CalendarView/index.d.cts +1 -2
  432. package/dist/components/CalendarView/index.d.ts +1 -2
  433. package/dist/components/CalendarView/index.js +4 -2
  434. package/dist/components/Card/index.d.cts +3 -3
  435. package/dist/components/Card/index.d.ts +3 -3
  436. package/dist/components/ClampedText/index.cjs +3 -2
  437. package/dist/components/ClampedText/index.js +2 -1
  438. package/dist/components/CollabStatus/index.cjs +6 -4
  439. package/dist/components/CollabStatus/index.d.cts +11 -0
  440. package/dist/components/CollabStatus/index.d.ts +11 -0
  441. package/dist/components/CollabStatus/index.js +3 -1
  442. package/dist/components/Collapsible/index.cjs +6 -6
  443. package/dist/components/Collapsible/index.d.cts +6 -0
  444. package/dist/components/Collapsible/index.d.ts +6 -0
  445. package/dist/components/Collapsible/index.js +3 -3
  446. package/dist/components/CompletenessMeter/index.cjs +23 -0
  447. package/dist/components/CompletenessMeter/index.cjs.map +1 -0
  448. package/dist/components/CompletenessMeter/index.d.cts +52 -0
  449. package/dist/components/CompletenessMeter/index.d.ts +52 -0
  450. package/dist/components/CompletenessMeter/index.js +6 -0
  451. package/dist/components/CompletenessMeter/index.js.map +1 -0
  452. package/dist/components/CountryCodeDropdown/index.cjs +5 -5
  453. package/dist/components/CountryCodeDropdown/index.js +2 -2
  454. package/dist/components/CustomizableDashboard/index.cjs +12 -10
  455. package/dist/components/CustomizableDashboard/index.js +5 -3
  456. package/dist/components/DateInput/index.d.cts +36 -4
  457. package/dist/components/DateInput/index.d.ts +36 -4
  458. package/dist/components/Dropdown/index.cjs +12 -10
  459. package/dist/components/Dropdown/index.d.cts +6 -4
  460. package/dist/components/Dropdown/index.d.ts +6 -4
  461. package/dist/components/Dropdown/index.js +5 -3
  462. package/dist/components/EmailEditor/index.cjs +68 -0
  463. package/dist/components/EmailEditor/index.cjs.map +1 -0
  464. package/dist/components/EmailEditor/index.d.cts +347 -0
  465. package/dist/components/EmailEditor/index.d.ts +347 -0
  466. package/dist/components/EmailEditor/index.js +27 -0
  467. package/dist/components/EmailEditor/index.js.map +1 -0
  468. package/dist/components/FieldHistory/index.cjs +34 -0
  469. package/dist/components/FieldHistory/index.cjs.map +1 -0
  470. package/dist/components/FieldHistory/index.d.cts +66 -0
  471. package/dist/components/FieldHistory/index.d.ts +66 -0
  472. package/dist/components/FieldHistory/index.js +21 -0
  473. package/dist/components/FieldHistory/index.js.map +1 -0
  474. package/dist/components/FloatingWindow/index.cjs +6 -4
  475. package/dist/components/FloatingWindow/index.js +4 -2
  476. package/dist/components/GanttView/index.d.cts +1 -2
  477. package/dist/components/GanttView/index.d.ts +1 -2
  478. package/dist/components/GlossaryTooltip/index.cjs +3 -3
  479. package/dist/components/GlossaryTooltip/index.js +2 -2
  480. package/dist/components/InlineEdit/index.cjs +20 -0
  481. package/dist/components/InlineEdit/index.cjs.map +1 -0
  482. package/dist/components/InlineEdit/index.d.cts +56 -0
  483. package/dist/components/InlineEdit/index.d.ts +56 -0
  484. package/dist/components/InlineEdit/index.js +7 -0
  485. package/dist/components/InlineEdit/index.js.map +1 -0
  486. package/dist/components/KeyboardShortcutsOverlay/index.cjs +5 -5
  487. package/dist/components/KeyboardShortcutsOverlay/index.js +3 -3
  488. package/dist/components/ListView/index.cjs +6 -4
  489. package/dist/components/ListView/index.d.cts +91 -4
  490. package/dist/components/ListView/index.d.ts +91 -4
  491. package/dist/components/ListView/index.js +4 -2
  492. package/dist/components/LogoUploader/index.cjs +18 -0
  493. package/dist/components/LogoUploader/index.cjs.map +1 -0
  494. package/dist/components/LogoUploader/index.d.cts +49 -0
  495. package/dist/components/LogoUploader/index.d.ts +49 -0
  496. package/dist/components/LogoUploader/index.js +5 -0
  497. package/dist/components/LogoUploader/index.js.map +1 -0
  498. package/dist/components/Markdown/index.cjs +21 -19
  499. package/dist/components/Markdown/index.js +9 -7
  500. package/dist/components/MediaEditor/index.cjs +16 -14
  501. package/dist/components/MediaEditor/index.d.cts +91 -2
  502. package/dist/components/MediaEditor/index.d.ts +91 -2
  503. package/dist/components/MediaEditor/index.js +11 -9
  504. package/dist/components/MediaFeed/index.cjs +29 -0
  505. package/dist/components/MediaFeed/index.cjs.map +1 -0
  506. package/dist/components/MediaFeed/index.d.cts +104 -0
  507. package/dist/components/MediaFeed/index.d.ts +104 -0
  508. package/dist/components/MediaFeed/index.js +20 -0
  509. package/dist/components/MediaFeed/index.js.map +1 -0
  510. package/dist/components/MediaPlayer/index.cjs +8 -6
  511. package/dist/components/MediaPlayer/index.d.cts +19 -1
  512. package/dist/components/MediaPlayer/index.d.ts +19 -1
  513. package/dist/components/MediaPlayer/index.js +5 -3
  514. package/dist/components/MegaMenu/index.cjs +7 -5
  515. package/dist/components/MegaMenu/index.js +4 -2
  516. package/dist/components/Modal/index.cjs +10 -10
  517. package/dist/components/Modal/index.js +2 -2
  518. package/dist/components/Pagination/index.d.cts +1 -1
  519. package/dist/components/Pagination/index.d.ts +1 -1
  520. package/dist/components/PhiMask/index.cjs +18 -0
  521. package/dist/components/PhiMask/index.cjs.map +1 -0
  522. package/dist/components/PhiMask/index.d.cts +45 -0
  523. package/dist/components/PhiMask/index.d.ts +45 -0
  524. package/dist/components/PhiMask/index.js +5 -0
  525. package/dist/components/PhiMask/index.js.map +1 -0
  526. package/dist/components/Progress/index.cjs +6 -6
  527. package/dist/components/Progress/index.d.cts +8 -2
  528. package/dist/components/Progress/index.d.ts +8 -2
  529. package/dist/components/Progress/index.js +1 -1
  530. package/dist/components/PropertyList/index.cjs +25 -0
  531. package/dist/components/PropertyList/index.cjs.map +1 -0
  532. package/dist/components/PropertyList/index.d.cts +87 -0
  533. package/dist/components/PropertyList/index.d.ts +87 -0
  534. package/dist/components/PropertyList/index.js +12 -0
  535. package/dist/components/PropertyList/index.js.map +1 -0
  536. package/dist/components/Q/index.d.cts +2 -2
  537. package/dist/components/Q/index.d.ts +2 -2
  538. package/dist/components/QuickAction/index.d.cts +1 -1
  539. package/dist/components/QuickAction/index.d.ts +1 -1
  540. package/dist/components/RadialExplorer/index.cjs +7 -5
  541. package/dist/components/RadialExplorer/index.js +6 -4
  542. package/dist/components/Rating/index.cjs +28 -0
  543. package/dist/components/Rating/index.cjs.map +1 -0
  544. package/dist/components/Rating/index.d.cts +85 -0
  545. package/dist/components/Rating/index.d.ts +85 -0
  546. package/dist/components/Rating/index.js +7 -0
  547. package/dist/components/Rating/index.js.map +1 -0
  548. package/dist/components/RecordButton/index.d.cts +1 -1
  549. package/dist/components/RecordButton/index.d.ts +1 -1
  550. package/dist/components/RecordHeader/index.cjs +30 -0
  551. package/dist/components/RecordHeader/index.cjs.map +1 -0
  552. package/dist/components/RecordHeader/index.d.cts +96 -0
  553. package/dist/components/RecordHeader/index.d.ts +96 -0
  554. package/dist/components/RecordHeader/index.js +17 -0
  555. package/dist/components/RecordHeader/index.js.map +1 -0
  556. package/dist/components/RecordLayout/index.cjs +22 -0
  557. package/dist/components/RecordLayout/index.cjs.map +1 -0
  558. package/dist/components/RecordLayout/index.d.cts +40 -0
  559. package/dist/components/RecordLayout/index.d.ts +40 -0
  560. package/dist/components/RecordLayout/index.js +9 -0
  561. package/dist/components/RecordLayout/index.js.map +1 -0
  562. package/dist/components/RichTextEditor/index.cjs +12 -8
  563. package/dist/components/RichTextEditor/index.d.cts +12 -2
  564. package/dist/components/RichTextEditor/index.d.ts +12 -2
  565. package/dist/components/RichTextEditor/index.js +9 -5
  566. package/dist/components/ScrollArea/index.d.cts +1 -1
  567. package/dist/components/ScrollArea/index.d.ts +1 -1
  568. package/dist/components/SectionSpyNav/index.cjs +5 -3
  569. package/dist/components/SectionSpyNav/index.js +4 -2
  570. package/dist/components/Select/index.cjs +4 -4
  571. package/dist/components/Select/index.d.cts +2 -2
  572. package/dist/components/Select/index.d.ts +2 -2
  573. package/dist/components/Select/index.js +2 -2
  574. package/dist/components/Skeleton/index.d.cts +1 -1
  575. package/dist/components/Skeleton/index.d.ts +1 -1
  576. package/dist/components/Slider/index.d.cts +2 -2
  577. package/dist/components/Slider/index.d.ts +2 -2
  578. package/dist/components/SliderCalculator/index.cjs +4 -4
  579. package/dist/components/SliderCalculator/index.js +2 -2
  580. package/dist/components/SourceTip/index.cjs +3 -3
  581. package/dist/components/SourceTip/index.js +2 -2
  582. package/dist/components/Spinner/index.d.cts +2 -2
  583. package/dist/components/Spinner/index.d.ts +2 -2
  584. package/dist/components/SuperChat/index.cjs +735 -322
  585. package/dist/components/SuperChat/index.cjs.map +1 -1
  586. package/dist/components/SuperChat/index.d.cts +126 -8
  587. package/dist/components/SuperChat/index.d.ts +126 -8
  588. package/dist/components/SuperChat/index.js +721 -308
  589. package/dist/components/SuperChat/index.js.map +1 -1
  590. package/dist/components/SuperChat/plugins/index.cjs +8 -6
  591. package/dist/components/SuperChat/plugins/index.cjs.map +1 -1
  592. package/dist/components/SuperChat/plugins/index.d.cts +2 -3
  593. package/dist/components/SuperChat/plugins/index.d.ts +2 -3
  594. package/dist/components/SuperChat/plugins/index.js +7 -5
  595. package/dist/components/SuperChat/plugins/index.js.map +1 -1
  596. package/dist/components/Tabs/index.cjs +10 -7
  597. package/dist/components/Tabs/index.d.cts +12 -1
  598. package/dist/components/Tabs/index.d.ts +12 -1
  599. package/dist/components/Tabs/index.js +4 -1
  600. package/dist/components/TagEditor/index.cjs +22 -0
  601. package/dist/components/TagEditor/index.cjs.map +1 -0
  602. package/dist/components/TagEditor/index.d.cts +46 -0
  603. package/dist/components/TagEditor/index.d.ts +46 -0
  604. package/dist/components/TagEditor/index.js +9 -0
  605. package/dist/components/TagEditor/index.js.map +1 -0
  606. package/dist/components/Text/index.d.cts +3 -3
  607. package/dist/components/Text/index.d.ts +3 -3
  608. package/dist/components/Textarea/index.d.cts +2 -2
  609. package/dist/components/Textarea/index.d.ts +2 -2
  610. package/dist/components/ThemeProvider/index.cjs +9 -9
  611. package/dist/components/ThemeProvider/index.d.cts +3 -1
  612. package/dist/components/ThemeProvider/index.d.ts +3 -1
  613. package/dist/components/ThemeProvider/index.js +3 -3
  614. package/dist/components/Tooltip/index.cjs +3 -3
  615. package/dist/components/Tooltip/index.js +2 -2
  616. package/dist/components/TranscriptView/index.d.cts +85 -4
  617. package/dist/components/TranscriptView/index.d.ts +85 -4
  618. package/dist/components/UserPicker/index.cjs +24 -0
  619. package/dist/components/UserPicker/index.cjs.map +1 -0
  620. package/dist/components/UserPicker/index.d.cts +60 -0
  621. package/dist/components/UserPicker/index.d.ts +60 -0
  622. package/dist/components/UserPicker/index.js +11 -0
  623. package/dist/components/UserPicker/index.js.map +1 -0
  624. package/dist/components/VideoCard/index.cjs +4 -4
  625. package/dist/components/VideoCard/index.js +2 -2
  626. package/dist/components/ViewSet/index.cjs +10 -7
  627. package/dist/components/ViewSet/index.d.cts +120 -8
  628. package/dist/components/ViewSet/index.d.ts +120 -8
  629. package/dist/components/ViewSet/index.js +9 -6
  630. package/dist/components/ViewSwitcher/index.cjs +4 -3
  631. package/dist/components/ViewSwitcher/index.d.cts +1 -2
  632. package/dist/components/ViewSwitcher/index.d.ts +1 -2
  633. package/dist/components/ViewSwitcher/index.js +2 -1
  634. package/dist/components/YearTimeline/index.cjs +5 -5
  635. package/dist/components/YearTimeline/index.js +1 -1
  636. package/dist/datavis.cjs +6 -4
  637. package/dist/datavis.cjs.map +1 -1
  638. package/dist/datavis.d.cts +167 -13
  639. package/dist/datavis.d.ts +167 -13
  640. package/dist/datavis.js +4 -2
  641. package/dist/datavis.js.map +1 -1
  642. package/dist/deck.cjs +3374 -0
  643. package/dist/deck.cjs.map +1 -0
  644. package/dist/deck.d.cts +712 -0
  645. package/dist/deck.d.ts +712 -0
  646. package/dist/deck.js +3330 -0
  647. package/dist/deck.js.map +1 -0
  648. package/dist/esheet.cjs +20 -16
  649. package/dist/esheet.cjs.map +1 -1
  650. package/dist/esheet.d.cts +183 -1
  651. package/dist/esheet.d.ts +183 -1
  652. package/dist/esheet.js +17 -13
  653. package/dist/esheet.js.map +1 -1
  654. package/dist/globe.cjs +2 -2
  655. package/dist/globe.js +1 -1
  656. package/dist/{hey-buddy-INNUFFJJ.cjs → hey-buddy-5WOBYZRJ.cjs} +22 -11
  657. package/dist/hey-buddy-5WOBYZRJ.cjs.map +1 -0
  658. package/dist/{hey-buddy-V6FC5UKB.js → hey-buddy-AHUHCDBC.js} +22 -11
  659. package/dist/hey-buddy-AHUHCDBC.js.map +1 -0
  660. package/dist/hooks/index.cjs +88 -33
  661. package/dist/hooks/index.d.cts +592 -36
  662. package/dist/hooks/index.d.ts +592 -36
  663. package/dist/hooks/index.js +9 -6
  664. package/dist/icons-wBacj6BW.d.cts +142 -0
  665. package/dist/icons-wBacj6BW.d.ts +142 -0
  666. package/dist/index.cjs +2056 -1349
  667. package/dist/index.cjs.map +1 -1
  668. package/dist/index.d.cts +10401 -637
  669. package/dist/index.d.ts +10401 -637
  670. package/dist/index.js +674 -352
  671. package/dist/index.js.map +1 -1
  672. package/dist/kerebron.css +115 -0
  673. package/dist/maps.cjs +160 -0
  674. package/dist/maps.cjs.map +1 -0
  675. package/dist/maps.d.cts +42 -0
  676. package/dist/maps.d.ts +42 -0
  677. package/dist/maps.js +138 -0
  678. package/dist/maps.js.map +1 -0
  679. package/dist/motion.cjs +7 -7
  680. package/dist/motion.d.cts +186 -2
  681. package/dist/motion.d.ts +186 -2
  682. package/dist/motion.js +2 -2
  683. package/dist/org-chart.cjs +1303 -0
  684. package/dist/org-chart.cjs.map +1 -0
  685. package/dist/org-chart.d.cts +164 -0
  686. package/dist/org-chart.d.ts +164 -0
  687. package/dist/org-chart.js +1278 -0
  688. package/dist/org-chart.js.map +1 -0
  689. package/dist/q.d.cts +25 -3
  690. package/dist/q.d.ts +25 -3
  691. package/dist/styles/effects.css +133 -0
  692. package/dist/styles/init.css +22 -3
  693. package/dist/styles.css +1 -1
  694. package/dist/tailwind-preset.cjs +4 -4
  695. package/dist/tailwind-preset.js +1 -1
  696. package/dist/templates.cjs +156 -0
  697. package/dist/templates.cjs.map +1 -0
  698. package/dist/templates.d.cts +734 -0
  699. package/dist/templates.d.ts +734 -0
  700. package/dist/templates.js +11 -0
  701. package/dist/templates.js.map +1 -0
  702. package/dist/{types-CbWXIKbe.d.cts → types-CDeBNZiE.d.cts} +1 -28
  703. package/dist/{types-CbWXIKbe.d.ts → types-CDeBNZiE.d.ts} +1 -28
  704. package/dist/types-Cx1FHLq2.d.cts +548 -0
  705. package/dist/types-Cx1FHLq2.d.ts +548 -0
  706. package/dist/types-DsdZvEI1.d.cts +92 -0
  707. package/dist/types-DsdZvEI1.d.ts +92 -0
  708. package/dist/utils/index.cjs +9 -9
  709. package/dist/utils/index.d.cts +13 -2
  710. package/dist/utils/index.d.ts +13 -2
  711. package/dist/utils/index.js +1 -1
  712. package/package.json +79 -15
  713. package/dist/Animated-XmH6k8pZ.d.cts +0 -188
  714. package/dist/Animated-XmH6k8pZ.d.ts +0 -188
  715. package/dist/CsvBlock-ROJCKJDP.cjs +0 -16
  716. package/dist/CsvBlock-UWPMTLE2.js +0 -7
  717. package/dist/HtmlPreviewBlock-DWFN6EUB.cjs +0 -16
  718. package/dist/HtmlPreviewBlock-ME5U3XNS.js +0 -7
  719. package/dist/MedicationEditor-Bp4NLy7y.d.cts +0 -352
  720. package/dist/MedicationEditor-Bp4NLy7y.d.ts +0 -352
  721. package/dist/MermaidBlock-2B6CPD6Y.js +0 -7
  722. package/dist/MermaidBlock-D2UC5M55.cjs +0 -16
  723. package/dist/SurveyBlock-4CD4AYMJ.cjs +0 -16
  724. package/dist/SurveyBlock-4DO62RBT.js +0 -7
  725. package/dist/chunk-2IZLKPUW.js.map +0 -1
  726. package/dist/chunk-3T7QGLNB.js.map +0 -1
  727. package/dist/chunk-4A3W4TQF.js.map +0 -1
  728. package/dist/chunk-4IS3QCOQ.cjs.map +0 -1
  729. package/dist/chunk-5GUOOLPR.cjs.map +0 -1
  730. package/dist/chunk-5JJ2DAE4.js.map +0 -1
  731. package/dist/chunk-6EN3IQQI.cjs.map +0 -1
  732. package/dist/chunk-6HFFWEM3.cjs +0 -22
  733. package/dist/chunk-6HFFWEM3.cjs.map +0 -1
  734. package/dist/chunk-7ZDPD5ZX.cjs.map +0 -1
  735. package/dist/chunk-7ZVTLTJF.js +0 -109
  736. package/dist/chunk-7ZVTLTJF.js.map +0 -1
  737. package/dist/chunk-ACCAXVOG.js.map +0 -1
  738. package/dist/chunk-AR7AKDM2.cjs +0 -143
  739. package/dist/chunk-AR7AKDM2.cjs.map +0 -1
  740. package/dist/chunk-ASSDGS4F.cjs.map +0 -1
  741. package/dist/chunk-AWJBOND5.js +0 -130
  742. package/dist/chunk-AWJBOND5.js.map +0 -1
  743. package/dist/chunk-BMSG4NBH.js +0 -56
  744. package/dist/chunk-BMSG4NBH.js.map +0 -1
  745. package/dist/chunk-CEQJGUAS.js.map +0 -1
  746. package/dist/chunk-CR2SDI23.cjs.map +0 -1
  747. package/dist/chunk-DVOQ3JNO.js.map +0 -1
  748. package/dist/chunk-E4IBHYJ7.cjs +0 -80
  749. package/dist/chunk-E4IBHYJ7.cjs.map +0 -1
  750. package/dist/chunk-FS4VZUFV.cjs.map +0 -1
  751. package/dist/chunk-GD7EBGC4.cjs.map +0 -1
  752. package/dist/chunk-GOALNQZ2.js.map +0 -1
  753. package/dist/chunk-HACNIFO3.js.map +0 -1
  754. package/dist/chunk-HB7C7NB5.js +0 -20
  755. package/dist/chunk-HB7C7NB5.js.map +0 -1
  756. package/dist/chunk-HZ4MBUC3.js.map +0 -1
  757. package/dist/chunk-IT775BYG.js.map +0 -1
  758. package/dist/chunk-JEIW7BSV.cjs.map +0 -1
  759. package/dist/chunk-JYZW2PZS.cjs.map +0 -1
  760. package/dist/chunk-KQUI4BGS.cjs.map +0 -1
  761. package/dist/chunk-KRU6IGV7.js.map +0 -1
  762. package/dist/chunk-NV2CWBI2.cjs.map +0 -1
  763. package/dist/chunk-OE5CKRUC.js.map +0 -1
  764. package/dist/chunk-P2CA3XGI.js.map +0 -1
  765. package/dist/chunk-P7UMS4E6.cjs.map +0 -1
  766. package/dist/chunk-SGFYA22I.cjs.map +0 -1
  767. package/dist/chunk-SQHMGT4W.js.map +0 -1
  768. package/dist/chunk-SQJFBZ42.js.map +0 -1
  769. package/dist/chunk-SVSHA7XV.js.map +0 -1
  770. package/dist/chunk-TVTIGV7Q.js.map +0 -1
  771. package/dist/chunk-VKELAMAZ.js.map +0 -1
  772. package/dist/chunk-VNYW4C4J.cjs.map +0 -1
  773. package/dist/chunk-VOKVG3ER.js +0 -78
  774. package/dist/chunk-VOKVG3ER.js.map +0 -1
  775. package/dist/chunk-VPIYTQCV.cjs.map +0 -1
  776. package/dist/chunk-VPWJCJCX.cjs.map +0 -1
  777. package/dist/chunk-VROIMIHB.cjs.map +0 -1
  778. package/dist/chunk-WNJRS7Y7.cjs.map +0 -1
  779. package/dist/chunk-X4LBUPJO.cjs.map +0 -1
  780. package/dist/chunk-X4XPNTCZ.cjs.map +0 -1
  781. package/dist/chunk-XCP454Q6.js.map +0 -1
  782. package/dist/chunk-XDIMTPZU.cjs.map +0 -1
  783. package/dist/chunk-XEAT7XJG.cjs.map +0 -1
  784. package/dist/chunk-XVW5DPPP.js.map +0 -1
  785. package/dist/chunk-Y5HFM7LO.js.map +0 -1
  786. package/dist/chunk-YVL3XATO.cjs +0 -79
  787. package/dist/chunk-YVL3XATO.cjs.map +0 -1
  788. package/dist/chunk-YVPC65ZJ.cjs.map +0 -1
  789. package/dist/chunk-ZGRCSNPK.js.map +0 -1
  790. package/dist/hey-buddy-INNUFFJJ.cjs.map +0 -1
  791. package/dist/hey-buddy-V6FC5UKB.js.map +0 -1
  792. package/dist/html-MdxqSzjD.d.cts +0 -13
  793. package/dist/html-MdxqSzjD.d.ts +0 -13
  794. package/dist/orderRows-BUJYgSc7.d.cts +0 -221
  795. package/dist/orderRows-BUJYgSc7.d.ts +0 -221
  796. package/dist/transcript-Cg7uSW-C.d.cts +0 -84
  797. package/dist/transcript-Cg7uSW-C.d.ts +0 -84
  798. package/dist/types-B97JNRNQ.d.cts +0 -251
  799. package/dist/types-CnPEwzlp.d.cts +0 -254
  800. package/dist/types-CnPEwzlp.d.ts +0 -254
  801. package/dist/types-gZXrfLj6.d.ts +0 -251
  802. package/dist/useAnchoredPosition-CKwLSQW8.d.cts +0 -76
  803. package/dist/useAnchoredPosition-CKwLSQW8.d.ts +0 -76
  804. package/dist/useTheme-B9SWu6ui.d.cts +0 -24
  805. package/dist/useTheme-B9SWu6ui.d.ts +0 -24
  806. package/dist/useTranscriptEdits-CGzlemHT.d.cts +0 -182
  807. package/dist/useTranscriptEdits-D32bLs0l.d.ts +0 -182
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/OrgChart/layout.ts","../src/components/OrgChart/shared.ts","../src/components/OrgChart/OrgChartCanvas.tsx","../src/components/OrgChart/tree.ts","../src/components/OrgChart/OrgChartTree.tsx","../src/components/OrgChart/OrgChart.tsx"],"names":["accentClasses","jsxs","cn","jsx","Fragment","Avatar","Building2","React","Position","ChevronDown","ChevronRight","Handle","ReactFlowProvider","useReactFlow","ReactFlow","Background","BackgroundVariant","Panel","MiniMap","React2","isRtl","React3","OrgChart","Button","Spinner","Search","UnfoldVertical","FoldVertical","Scan","MapIcon","Minimize","Maximize","Network","List","X","ExternalLink"],"mappings":"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","file":"org-chart.cjs","sourcesContent":["import type { ELK, ElkNode } from 'elkjs/lib/elk-api';\n\nexport type OrgChartDirection = 'DOWN' | 'RIGHT';\n\nexport interface LayoutBox {\n x: number;\n y: number;\n}\n\nexport interface LayoutRequest {\n ids: readonly string[];\n edges: readonly { source: string; target: string }[];\n direction: OrgChartDirection;\n width: number;\n height: number;\n}\n\n/**\n * `considerModelOrder` keeps siblings in input order, so expanding one branch\n * never reshuffles its neighbours.\n */\nexport const ORG_CHART_LAYOUT_OPTIONS: Record<string, string> = {\n 'elk.algorithm': 'layered',\n 'elk.layered.considerModelOrder.strategy': 'NODES_AND_EDGES',\n 'elk.layered.nodePlacement.strategy': 'BRANDES_KOEPF',\n 'elk.layered.spacing.nodeNodeBetweenLayers': '64',\n 'elk.spacing.nodeNode': '28',\n 'elk.spacing.componentComponent': '64',\n 'elk.edgeRouting': 'ORTHOGONAL',\n};\n\nlet elkPromise: Promise<ELK> | null = null;\n\nfunction getElk(): Promise<ELK> {\n elkPromise ??= import('elkjs/lib/elk.bundled.js').then(\n (m) => new m.default()\n );\n return elkPromise;\n}\n\n/** Positions for the visible nodes; falls back to a depth grid if elk fails. */\nexport async function layoutOrgChart(\n req: LayoutRequest\n): Promise<Map<string, LayoutBox>> {\n const graph: ElkNode = {\n id: 'org-chart-root',\n layoutOptions: {\n ...ORG_CHART_LAYOUT_OPTIONS,\n 'elk.direction': req.direction,\n },\n children: req.ids.map((id) => ({\n id,\n width: req.width,\n height: req.height,\n })),\n edges: req.edges.map((e) => ({\n id: JSON.stringify([e.source, e.target]),\n sources: [e.source],\n targets: [e.target],\n })),\n };\n try {\n const elk = await getElk();\n const out = await elk.layout(graph);\n return new Map(\n (out.children ?? []).map((c) => [c.id, { x: c.x ?? 0, y: c.y ?? 0 }])\n );\n } catch {\n return gridLayout(req);\n }\n}\n\nfunction gridLayout(req: LayoutRequest): Map<string, LayoutBox> {\n const parent = new Map(req.edges.map((e) => [e.target, e.source]));\n const perDepth = new Map<number, number>();\n const out = new Map<string, LayoutBox>();\n for (const id of req.ids) {\n let depth = 0;\n for (let p = parent.get(id); p != null; p = parent.get(p)) depth++;\n const slot = perDepth.get(depth) ?? 0;\n perDepth.set(depth, slot + 1);\n const along =\n slot * (req.direction === 'DOWN' ? req.width + 28 : req.height + 28);\n const across =\n depth * (req.direction === 'DOWN' ? req.height + 64 : req.width + 64);\n out.set(\n id,\n req.direction === 'DOWN'\n ? { x: along, y: across }\n : { x: across, y: along }\n );\n }\n return out;\n}\n","import type * as React from 'react';\nimport { accentClasses, type Accent } from '../../views/types';\nimport type { OrgChartNode } from './tree';\n\nexport type OrgChartAccent = Accent;\nexport type OrgChartNodeVariant = 'person' | 'location';\nexport type OrgChartView = 'chart' | 'list';\n\nexport type OrgChartSlot =\n | 'root'\n | 'toolbar'\n | 'canvas'\n | 'node'\n | 'tree'\n | 'treeItem'\n | 'detail'\n | 'state';\n\n/** Every string the chart renders. The defaults are English. */\nexport interface OrgChartLabels {\n /** Accessible name of the chart canvas. */\n chart: string;\n /** Accessible name of the list view's tree. */\n tree: string;\n /** Accessible name of the toolbar. */\n toolbar: string;\n search: string;\n searchPlaceholder: string;\n /** Announced politely while a search is active. */\n results: (count: number) => string;\n groupFilter: string;\n allGroups: string;\n expandAll: string;\n collapseAll: string;\n fitView: string;\n minimap: string;\n fullscreen: string;\n viewToggle: string;\n chartView: string;\n listView: string;\n /** Read by assistive tech for each card on the canvas. */\n canvasHint: string;\n expand: (name: string, count: number) => string;\n collapse: (name: string) => string;\n directReports: (count: number) => string;\n orgSize: (count: number) => string;\n reportsTo: (name: string) => string;\n /** Marker on the `highlightedId` node. */\n highlighted: string;\n open: string;\n close: string;\n loading: string;\n empty: string;\n error: string;\n retry: string;\n}\n\nconst plural = (n: number, one: string, many: string) =>\n `${n} ${n === 1 ? one : many}`;\n\nexport const defaultOrgChartLabels: OrgChartLabels = {\n chart: 'Organization chart',\n tree: 'Organization',\n toolbar: 'Organization chart tools',\n search: 'Search',\n searchPlaceholder: 'Search name, title or group',\n results: (n) => (n === 0 ? 'No matches' : plural(n, 'match', 'matches')),\n groupFilter: 'Filter by group',\n allGroups: 'All groups',\n expandAll: 'Expand all',\n collapseAll: 'Collapse all',\n fitView: 'Fit to view',\n minimap: 'Minimap',\n fullscreen: 'Full screen',\n viewToggle: 'View',\n chartView: 'Chart',\n listView: 'List',\n canvasHint:\n 'Use the card buttons to show details or expand reports. Switch to the list view to browse with arrow keys.',\n expand: (name, n) => `Expand ${name}, ${plural(n, 'report', 'reports')}`,\n collapse: (name) => `Collapse ${name}`,\n directReports: (n) => plural(n, 'direct report', 'direct reports'),\n orgSize: (n) => `${n} in organization`,\n reportsTo: (name) => `Reports to ${name}`,\n highlighted: 'Current',\n open: 'Open',\n close: 'Close details',\n loading: 'Loading organization',\n empty: 'No one to show',\n error: 'Could not load the organization',\n retry: 'Try again',\n};\n\n/** Palette groups are coloured from, in order of first sorted appearance. */\nexport const ORG_CHART_GROUP_ACCENTS: readonly Accent[] = [\n 'primary',\n 'info',\n 'success',\n 'warning',\n 'neutral',\n];\n\nexport const accentClassesFor = (accent: Accent | undefined) =>\n accent ? accentClasses[accent] : undefined;\n\n/** What a `renderNode` slot gets alongside the node. */\nexport interface OrgChartNodeContext {\n variant: OrgChartNodeVariant;\n depth: number;\n directReports: number;\n expanded: boolean;\n highlighted: boolean;\n matched: boolean;\n dimmed: boolean;\n accent?: Accent;\n}\n\n/** What a `renderDetail` slot gets alongside the node. */\nexport interface OrgChartDetailContext {\n directReports: number;\n orgSize: number;\n parent: OrgChartNode | null;\n close: () => void;\n}\n\nexport type OrgChartClassNames = Partial<Record<OrgChartSlot, string>>;\n\nexport interface OrgChartRenderSlots {\n renderNode?: (\n node: OrgChartNode,\n ctx: OrgChartNodeContext\n ) => React.ReactNode;\n renderBadges?: (node: OrgChartNode) => React.ReactNode;\n}\n","'use client';\n\nimport * as React from 'react';\nimport {\n Background,\n BackgroundVariant,\n Handle,\n MiniMap,\n Panel,\n Position,\n ReactFlow,\n ReactFlowProvider,\n useReactFlow,\n type Edge,\n type Node,\n type NodeProps,\n} from '@xyflow/react';\nimport { Building2, ChevronDown, ChevronRight } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { Avatar } from '../Avatar';\nimport {\n layoutOrgChart,\n type LayoutBox,\n type OrgChartDirection,\n} from './layout';\nimport {\n accentClassesFor,\n type OrgChartAccent,\n type OrgChartClassNames,\n type OrgChartLabels,\n type OrgChartNodeContext,\n type OrgChartNodeVariant,\n type OrgChartRenderSlots,\n} from './shared';\nimport type { OrgChartNode, OrgForest, VisibleNode } from './tree';\n\nexport const ORG_CHART_NODE_SIZE: Record<\n OrgChartNodeVariant,\n { width: number; height: number }\n> = {\n person: { width: 248, height: 92 },\n location: { width: 248, height: 76 },\n};\n\nexport function prefersReducedMotion(): boolean {\n return (\n typeof window !== 'undefined' &&\n !!window.matchMedia?.('(prefers-reduced-motion: reduce)').matches\n );\n}\n\n// =============================================================================\n// Card body (shared with the detail panel)\n// =============================================================================\n\nexport function GroupPill({\n group,\n accent,\n}: {\n group: string;\n accent?: OrgChartAccent;\n}) {\n const a = accentClassesFor(accent);\n return (\n <span\n className={cn(\n 'text-foreground inline-flex max-w-full items-center gap-1.5 rounded-full px-2 py-0.5 text-[11px] font-medium',\n a?.tint ?? 'bg-muted'\n )}\n >\n <span\n aria-hidden=\"true\"\n className={cn('size-1.5 shrink-0 rounded-full', a?.marker)}\n />\n <span className=\"truncate\">{group}</span>\n </span>\n );\n}\n\nexport function NodeBody({\n node,\n variant,\n accent,\n}: {\n node: OrgChartNode;\n variant: OrgChartNodeVariant;\n accent?: OrgChartAccent;\n}) {\n const secondary = variant === 'person' ? node.title : node.subtitle;\n return (\n <>\n {variant === 'person' ? (\n <Avatar src={node.avatarUrl} name={node.name} alt=\"\" size=\"md\" />\n ) : (\n <span\n aria-hidden=\"true\"\n className=\"bg-primary-500/10 text-primary-700 dark:text-primary-300 flex size-10 shrink-0 items-center justify-center rounded-md\"\n >\n <Building2 className=\"size-5\" />\n </span>\n )}\n <span className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n <span className=\"text-foreground truncate text-sm font-semibold\">\n {node.name}\n </span>\n {secondary && (\n <span className=\"text-muted-foreground truncate text-xs\">\n {secondary}\n </span>\n )}\n {node.group && (\n <span className=\"mt-0.5 flex\">\n <GroupPill group={node.group} accent={accent} />\n </span>\n )}\n </span>\n </>\n );\n}\n\n// =============================================================================\n// Flow node\n// =============================================================================\n\ninterface OrgFlowData extends Record<string, unknown> {\n node: OrgChartNode;\n ctx: OrgChartNodeContext;\n focused: boolean;\n}\n\ntype OrgFlowNode = Node<OrgFlowData, 'org'>;\n\ninterface CanvasContextValue extends OrgChartRenderSlots {\n labels: OrgChartLabels;\n classNames?: OrgChartClassNames;\n horizontal: boolean;\n rtl: boolean;\n onToggle: (id: string) => void;\n onSelect: (id: string) => void;\n}\n\nconst CanvasContext = React.createContext<CanvasContextValue | null>(null);\n\nconst hiddenHandle: React.CSSProperties = { opacity: 0, pointerEvents: 'none' };\n\nfunction OrgFlowNodeView({ data }: NodeProps<OrgFlowNode>) {\n const c = React.useContext(CanvasContext)!;\n const { node, ctx, focused } = data;\n const accent = accentClassesFor(ctx.accent);\n const start = c.horizontal\n ? c.rtl\n ? Position.Right\n : Position.Left\n : Position.Top;\n const end = c.horizontal\n ? c.rtl\n ? Position.Left\n : Position.Right\n : Position.Bottom;\n const Chevron = ctx.expanded ? ChevronDown : ChevronRight;\n\n return (\n <div\n data-slot=\"org-chart-node\"\n data-highlighted={ctx.highlighted || undefined}\n data-matched={ctx.matched || undefined}\n // React Flow disables pointer events on unselectable, undraggable nodes.\n style={{ pointerEvents: 'auto' }}\n className={cn(\n 'bg-card text-foreground relative h-full w-full rounded-lg border border-s-4 shadow-sm',\n 'motion-safe:transition-[opacity,box-shadow]',\n accent?.border ?? 'border-border',\n (ctx.highlighted || focused) &&\n 'ring-primary-500 ring-offset-background ring-2 ring-offset-2',\n ctx.matched && 'ring-ring ring-2',\n ctx.dimmed && 'opacity-40',\n c.classNames?.node\n )}\n >\n <Handle\n type=\"target\"\n position={start}\n isConnectable={false}\n style={hiddenHandle}\n />\n <button\n type=\"button\"\n aria-haspopup=\"dialog\"\n onClick={() => c.onSelect(node.id)}\n className=\"nodrag nopan focus-visible:ring-ring flex h-full w-full items-center gap-3 rounded-md px-3 text-start focus-visible:ring-2 focus-visible:outline-none\"\n >\n {c.renderNode ? (\n c.renderNode(node, ctx)\n ) : (\n <NodeBody node={node} variant={ctx.variant} accent={ctx.accent} />\n )}\n </button>\n {(ctx.highlighted || c.renderBadges) && (\n <span className=\"absolute end-2 -top-2.5 flex gap-1\">\n {ctx.highlighted && (\n <span className=\"bg-primary-600 rounded-full px-1.5 py-0.5 text-[10px] font-bold text-white uppercase shadow-sm\">\n {c.labels.highlighted}\n </span>\n )}\n {c.renderBadges?.(node)}\n </span>\n )}\n {ctx.directReports > 0 && (\n <button\n type=\"button\"\n aria-expanded={ctx.expanded}\n aria-label={\n ctx.expanded\n ? c.labels.collapse(node.name)\n : c.labels.expand(node.name, ctx.directReports)\n }\n onClick={() => c.onToggle(node.id)}\n className={cn(\n 'nodrag nopan absolute z-10 flex h-6 min-w-6 items-center justify-center gap-0.5 rounded-full border px-1.5 text-[11px] font-semibold shadow-sm',\n 'focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none',\n c.horizontal\n ? '-end-3 top-1/2 -translate-y-1/2'\n : '-bottom-3 left-1/2 -translate-x-1/2',\n ctx.expanded\n ? 'border-primary-600 bg-primary-600 text-white'\n : 'border-border bg-card text-foreground hover:border-primary-500'\n )}\n >\n <Chevron aria-hidden=\"true\" className=\"size-3 rtl:-scale-x-100\" />\n {ctx.directReports}\n </button>\n )}\n <Handle\n type=\"source\"\n position={end}\n isConnectable={false}\n style={hiddenHandle}\n />\n </div>\n );\n}\n\nconst nodeTypes = { org: OrgFlowNodeView };\n\n// Brand tokens through xyflow's own variables, so both themes follow the brand.\nconst flowStyle = {\n '--xy-background-color': 'transparent',\n '--xy-background-pattern-color': 'var(--mieweb-border)',\n '--xy-edge-stroke': 'var(--mieweb-muted-foreground)',\n '--xy-edge-stroke-width': '1.25',\n '--xy-node-background-color': 'transparent',\n '--xy-node-border': 'none',\n '--xy-node-border-radius': '0.5rem',\n '--xy-node-boxshadow-hover': 'none',\n '--xy-node-boxshadow-selected': 'none',\n '--xy-node-color': 'inherit',\n '--xy-minimap-background-color': 'var(--mieweb-card)',\n '--xy-minimap-mask-background-color':\n 'color-mix(in srgb, var(--mieweb-muted) 70%, transparent)',\n '--xy-minimap-node-background-color': 'var(--mieweb-muted-foreground)',\n '--xy-attribution-background-color': 'transparent',\n} as React.CSSProperties;\n\n// =============================================================================\n// Canvas\n// =============================================================================\n\nexport interface OrgChartCanvasProps extends OrgChartRenderSlots {\n forest: OrgForest;\n visible: VisibleNode[];\n nodeContext: (v: VisibleNode) => OrgChartNodeContext;\n focusId?: string | null;\n direction: OrgChartDirection;\n variant: OrgChartNodeVariant;\n showMinimap: boolean;\n /** Ids to frame; `null` frames everything. */\n fitTargets: readonly string[] | null;\n /** Bump to re-run fit-to-view. */\n fitRequest: number;\n labels: OrgChartLabels;\n classNames?: OrgChartClassNames;\n onToggle: (id: string) => void;\n onSelect: (id: string) => void;\n children?: React.ReactNode;\n}\n\nexport function OrgChartCanvas(props: OrgChartCanvasProps) {\n return (\n <ReactFlowProvider>\n <CanvasInner {...props} />\n </ReactFlowProvider>\n );\n}\n\nfunction CanvasInner({\n forest,\n visible,\n nodeContext,\n focusId,\n direction,\n variant,\n showMinimap,\n fitTargets,\n fitRequest,\n labels,\n classNames,\n renderNode,\n renderBadges,\n onToggle,\n onSelect,\n children,\n}: OrgChartCanvasProps) {\n const { fitView } = useReactFlow();\n const wrapRef = React.useRef<HTMLDivElement>(null);\n const [rtl, setRtl] = React.useState(false);\n const [positions, setPositions] = React.useState<Map<\n string,\n LayoutBox\n > | null>(null);\n const size = ORG_CHART_NODE_SIZE[variant];\n const horizontal = direction === 'RIGHT';\n\n React.useLayoutEffect(() => {\n const el = wrapRef.current;\n if (el) setRtl(getComputedStyle(el).direction === 'rtl');\n }, []);\n\n const edgeList = React.useMemo(() => {\n const out: { source: string; target: string }[] = [];\n for (const v of visible) {\n const p = forest.parentOf.get(v.node.id);\n if (p != null) out.push({ source: p, target: v.node.id });\n }\n return out;\n }, [visible, forest]);\n\n const layoutKey = JSON.stringify([\n direction,\n variant,\n visible.map((v) => v.node.id),\n edgeList.map((e) => [e.source, e.target]),\n ]);\n React.useEffect(() => {\n let cancelled = false;\n void layoutOrgChart({\n ids: visible.map((v) => v.node.id),\n edges: edgeList,\n direction,\n ...size,\n }).then((p) => {\n if (!cancelled) setPositions(p);\n });\n return () => {\n cancelled = true;\n };\n // layoutKey captures every input that changes positions.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [layoutKey]);\n\n const flowNodes = React.useMemo<OrgFlowNode[]>(() => {\n if (!positions) return [];\n const out: OrgFlowNode[] = [];\n for (const v of visible) {\n const pos = positions.get(v.node.id);\n if (!pos) continue;\n out.push({\n id: v.node.id,\n type: 'org',\n position: { x: rtl ? -pos.x - size.width : pos.x, y: pos.y },\n width: size.width,\n height: size.height,\n draggable: false,\n selectable: false,\n connectable: false,\n data: {\n node: v.node,\n ctx: nodeContext(v),\n focused: v.node.id === focusId,\n },\n });\n }\n return out;\n }, [positions, visible, nodeContext, focusId, rtl, size.width, size.height]);\n\n const flowEdges = React.useMemo<Edge[]>(\n () =>\n positions\n ? edgeList\n .filter((e) => positions.has(e.source) && positions.has(e.target))\n .map((e) => ({\n id: JSON.stringify([e.source, e.target]),\n source: e.source,\n target: e.target,\n type: 'smoothstep',\n focusable: false,\n }))\n : [],\n [edgeList, positions]\n );\n\n // Fit once the layout contains every target; layout is async, so the\n // request waits for positions rather than firing against stale ones.\n const fitKey = JSON.stringify(fitTargets);\n const pendingFit = React.useRef(true);\n React.useEffect(() => {\n pendingFit.current = true;\n }, [fitKey, fitRequest]);\n React.useEffect(() => {\n if (!pendingFit.current || !positions || positions.size === 0) return;\n const targets = fitTargets?.filter((id) => positions.has(id));\n if (fitTargets && fitTargets.length && !targets?.length) return;\n const raf = requestAnimationFrame(() => {\n pendingFit.current = false;\n void fitView({\n nodes: targets?.length ? targets.map((id) => ({ id })) : undefined,\n padding: 0.2,\n maxZoom: 1.1,\n duration: prefersReducedMotion() ? 0 : 300,\n });\n });\n return () => cancelAnimationFrame(raf);\n }, [positions, fitKey, fitRequest, fitTargets, fitView]);\n\n const ctxValue = React.useMemo<CanvasContextValue>(\n () => ({\n labels,\n classNames,\n horizontal,\n rtl,\n renderNode,\n renderBadges,\n onToggle,\n onSelect,\n }),\n [\n labels,\n classNames,\n horizontal,\n rtl,\n renderNode,\n renderBadges,\n onToggle,\n onSelect,\n ]\n );\n\n return (\n <CanvasContext.Provider value={ctxValue}>\n <div\n ref={wrapRef}\n role=\"region\"\n aria-label={labels.chart}\n data-slot=\"org-chart-canvas\"\n className={cn('relative h-[560px] w-full', classNames?.canvas)}\n >\n <ReactFlow\n nodes={flowNodes}\n edges={flowEdges}\n nodeTypes={nodeTypes}\n nodesDraggable={false}\n nodesConnectable={false}\n nodesFocusable={false}\n edgesFocusable={false}\n elementsSelectable={false}\n minZoom={0.1}\n maxZoom={2}\n style={flowStyle}\n // Built-in attribution is #999 (fails contrast); credit is rendered below with tokens.\n proOptions={{ hideAttribution: true }}\n ariaLabelConfig={{\n 'node.a11yDescription.default': labels.canvasHint,\n 'node.a11yDescription.keyboardDisabled': labels.canvasHint,\n 'edge.a11yDescription.default': labels.canvasHint,\n 'minimap.ariaLabel': labels.minimap,\n }}\n >\n <Background variant={BackgroundVariant.Dots} gap={20} size={1} />\n <Panel position={rtl ? 'bottom-right' : 'bottom-left'}>\n <a\n href=\"https://reactflow.dev\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-muted-foreground hover:text-foreground focus-visible:ring-ring rounded-sm text-[10px] focus-visible:ring-2 focus-visible:outline-none\"\n >\n React Flow\n </a>\n </Panel>\n {showMinimap && (\n <MiniMap\n pannable\n zoomable\n position={rtl ? 'bottom-left' : 'bottom-right'}\n className=\"border-border overflow-hidden rounded-md border\"\n />\n )}\n </ReactFlow>\n {children}\n </div>\n </CanvasContext.Provider>\n );\n}\n","/** One person, team or place in the chart. The caller owns the collection. */\nexport interface OrgChartNode {\n id: string;\n /** Parent id, or `null` for a root. An unknown parent makes the node a root. */\n parentId: string | null;\n name: string;\n /** Job title (person) — matched by search. */\n title?: string;\n /** Secondary line (location: address, type) — matched by search. */\n subtitle?: string;\n /** Department, region or any grouping — drives the filter and the colour. */\n group?: string;\n avatarUrl?: string;\n /** Anything else the caller's render slots need. Never read by the chart. */\n meta?: Record<string, unknown>;\n}\n\nexport interface OrgForest {\n byId: Map<string, OrgChartNode>;\n roots: OrgChartNode[];\n /** Effective children: each node appears under exactly one parent. */\n children: Map<string, OrgChartNode[]>;\n /** Effective parent; `null` for roots. */\n parentOf: Map<string, string | null>;\n depth: Map<string, number>;\n /** Everyone under a node, at any depth. */\n orgSize: Map<string, number>;\n}\n\nexport interface VisibleNode {\n node: OrgChartNode;\n depth: number;\n}\n\nconst EMPTY: OrgChartNode[] = [];\n\n/**\n * Builds a forest that is always a tree: duplicate ids keep the first, unknown\n * parents become roots, and a cycle is broken by promoting its first node.\n */\nexport function buildOrgForest(nodes: readonly OrgChartNode[]): OrgForest {\n const byId = new Map<string, OrgChartNode>();\n for (const n of nodes) if (!byId.has(n.id)) byId.set(n.id, n);\n\n const declared = new Map<string, OrgChartNode[]>();\n const roots: OrgChartNode[] = [];\n for (const n of byId.values()) {\n const p = n.parentId;\n if (p != null && p !== n.id && byId.has(p)) {\n const list = declared.get(p);\n if (list) list.push(n);\n else declared.set(p, [n]);\n } else {\n roots.push(n);\n }\n }\n\n const children = new Map<string, OrgChartNode[]>();\n const parentOf = new Map<string, string | null>();\n const depth = new Map<string, number>();\n const order: string[] = [];\n\n const walk = (root: OrgChartNode) => {\n parentOf.set(root.id, null);\n depth.set(root.id, 0);\n const stack = [root];\n while (stack.length) {\n const u = stack.pop()!;\n order.push(u.id);\n const kids: OrgChartNode[] = [];\n for (const c of declared.get(u.id) ?? EMPTY) {\n if (depth.has(c.id)) continue;\n depth.set(c.id, depth.get(u.id)! + 1);\n parentOf.set(c.id, u.id);\n kids.push(c);\n }\n if (kids.length) children.set(u.id, kids);\n for (let i = kids.length - 1; i >= 0; i--) stack.push(kids[i]);\n }\n };\n\n for (const r of roots) walk(r);\n for (const n of byId.values()) {\n if (depth.has(n.id)) continue;\n roots.push(n);\n walk(n);\n }\n\n const orgSize = new Map<string, number>();\n for (let i = order.length - 1; i >= 0; i--) {\n const id = order[i];\n let size = 0;\n for (const c of children.get(id) ?? EMPTY) size += 1 + orgSize.get(c.id)!;\n orgSize.set(id, size);\n }\n\n return { byId, roots, children, parentOf, depth, orgSize };\n}\n\nexport function childrenOf(forest: OrgForest, id: string): OrgChartNode[] {\n return forest.children.get(id) ?? EMPTY;\n}\n\nexport function ancestorsOf(forest: OrgForest, id: string): string[] {\n const out: string[] = [];\n let p = forest.parentOf.get(id) ?? null;\n while (p != null) {\n out.push(p);\n p = forest.parentOf.get(p) ?? null;\n }\n return out;\n}\n\n/** Expanded ids that show `levels` levels from each root. */\nexport function initialExpanded(\n forest: OrgForest,\n levels: number\n): Set<string> {\n const out = new Set<string>();\n for (const [id, d] of forest.depth) {\n if (d < levels - 1 && forest.children.has(id)) out.add(id);\n }\n return out;\n}\n\nexport function allExpandable(forest: OrgForest): Set<string> {\n return new Set(forest.children.keys());\n}\n\n/** Pre-order list of what is on screen given the expanded set. */\nexport function visibleNodes(\n forest: OrgForest,\n expanded: ReadonlySet<string>\n): VisibleNode[] {\n const out: VisibleNode[] = [];\n const visit = (n: OrgChartNode, depth: number) => {\n out.push({ node: n, depth });\n if (!expanded.has(n.id)) return;\n for (const c of childrenOf(forest, n.id)) visit(c, depth + 1);\n };\n for (const r of forest.roots) visit(r, 0);\n return out;\n}\n\nexport function matchesQuery(node: OrgChartNode, query: string): boolean {\n const q = query.trim().toLocaleLowerCase();\n if (!q) return false;\n return [node.name, node.title, node.subtitle, node.group].some((v) =>\n v?.toLocaleLowerCase().includes(q)\n );\n}\n\nexport function distinctGroups(nodes: readonly OrgChartNode[]): string[] {\n const set = new Set<string>();\n for (const n of nodes) if (n.group) set.add(n.group);\n return [...set].sort((a, b) => a.localeCompare(b));\n}\n","'use client';\n\nimport * as React from 'react';\nimport { ChevronDown, ChevronRight } from 'lucide-react';\nimport { isRtl } from '../../hooks/useDirection';\nimport { cn } from '../../utils/cn';\nimport { GroupPill } from './OrgChartCanvas';\nimport type {\n OrgChartClassNames,\n OrgChartLabels,\n OrgChartNodeContext,\n OrgChartRenderSlots,\n} from './shared';\nimport { childrenOf, type OrgForest, type VisibleNode } from './tree';\n\nexport interface OrgChartTreeProps extends Pick<\n OrgChartRenderSlots,\n 'renderBadges'\n> {\n forest: OrgForest;\n visible: VisibleNode[];\n nodeContext: (v: VisibleNode) => OrgChartNodeContext;\n selectedId: string | null;\n labels: OrgChartLabels;\n classNames?: OrgChartClassNames;\n onToggle: (id: string) => void;\n onSelect: (id: string) => void;\n}\n\n/**\n * The chart as a WAI-ARIA tree: a flat list of treeitems carrying\n * `aria-level` / `aria-setsize` / `aria-posinset`, with one roving tab stop.\n */\nexport function OrgChartTree({\n forest,\n visible,\n nodeContext,\n selectedId,\n labels,\n classNames,\n renderBadges,\n onToggle,\n onSelect,\n}: OrgChartTreeProps) {\n const listRef = React.useRef<HTMLUListElement>(null);\n const items = React.useRef(new Map<string, HTMLElement>());\n const [activeId, setActiveId] = React.useState<string | null>(selectedId);\n const active =\n activeId && visible.some((v) => v.node.id === activeId)\n ? activeId\n : (visible[0]?.node.id ?? null);\n\n const move = (id: string | undefined) => {\n if (!id) return;\n setActiveId(id);\n items.current.get(id)?.focus();\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n const index = visible.findIndex((v) => v.node.id === active);\n if (index < 0) return;\n const current = visible[index];\n const id = current.node.id;\n const hasKids = childrenOf(forest, id).length > 0;\n const expanded = nodeContext(current).expanded;\n const rtl = !!listRef.current && isRtl(listRef.current);\n let key = e.key;\n if (rtl && key === 'ArrowLeft') key = 'ArrowRight';\n else if (rtl && key === 'ArrowRight') key = 'ArrowLeft';\n\n switch (key) {\n case 'ArrowDown':\n move(visible[index + 1]?.node.id);\n break;\n case 'ArrowUp':\n move(visible[index - 1]?.node.id);\n break;\n case 'Home':\n move(visible[0]?.node.id);\n break;\n case 'End':\n move(visible[visible.length - 1]?.node.id);\n break;\n case 'ArrowRight':\n if (hasKids && !expanded) onToggle(id);\n else if (hasKids) move(childrenOf(forest, id)[0]?.id);\n break;\n case 'ArrowLeft':\n if (hasKids && expanded) onToggle(id);\n else move(forest.parentOf.get(id) ?? undefined);\n break;\n case 'Enter':\n case ' ':\n onSelect(id);\n break;\n default:\n return;\n }\n e.preventDefault();\n };\n\n return (\n <ul\n ref={listRef}\n role=\"tree\"\n aria-label={labels.tree}\n data-slot=\"org-chart-tree\"\n className={cn('max-h-[560px] overflow-auto p-2', classNames?.tree)}\n >\n {visible.map((v) => {\n const { node } = v;\n const ctx = nodeContext(v);\n const parent = forest.parentOf.get(node.id);\n const siblings =\n parent != null ? childrenOf(forest, parent) : forest.roots;\n const Chevron = ctx.expanded ? ChevronDown : ChevronRight;\n const secondary = ctx.variant === 'person' ? node.title : node.subtitle;\n return (\n <li\n key={node.id}\n ref={(el) => {\n if (el) items.current.set(node.id, el);\n else items.current.delete(node.id);\n }}\n role=\"treeitem\"\n aria-level={v.depth + 1}\n aria-setsize={siblings.length}\n aria-posinset={siblings.indexOf(node) + 1}\n aria-expanded={ctx.directReports > 0 ? ctx.expanded : undefined}\n aria-selected={node.id === selectedId}\n aria-current={ctx.highlighted || undefined}\n tabIndex={node.id === active ? 0 : -1}\n data-slot=\"org-chart-tree-item\"\n data-matched={ctx.matched || undefined}\n onFocus={() => setActiveId(node.id)}\n onKeyDown={onKeyDown}\n onClick={(e) => {\n setActiveId(node.id);\n const onChevron = (e.target as HTMLElement).closest(\n '[data-slot=\"org-chart-tree-toggle\"]'\n );\n if (onChevron && ctx.directReports > 0) onToggle(node.id);\n else onSelect(node.id);\n }}\n style={{ paddingInlineStart: `${v.depth * 1.25 + 0.25}rem` }}\n className={cn(\n 'flex cursor-pointer items-center gap-2 rounded-md py-1.5 pe-2 text-sm',\n 'hover:bg-muted focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none',\n node.id === selectedId && 'bg-primary-500/10',\n ctx.matched && 'ring-ring ring-1',\n ctx.dimmed && 'opacity-50',\n classNames?.treeItem\n )}\n >\n <span\n aria-hidden=\"true\"\n data-slot=\"org-chart-tree-toggle\"\n className=\"text-muted-foreground flex size-5 shrink-0 items-center justify-center\"\n >\n {ctx.directReports > 0 && (\n <Chevron className=\"size-4 rtl:-scale-x-100\" />\n )}\n </span>\n <span className=\"flex min-w-0 flex-1 flex-wrap items-baseline gap-x-2\">\n <span className=\"text-foreground font-medium\">{node.name}</span>\n {secondary && (\n <span className=\"text-muted-foreground text-xs\">\n {secondary}\n </span>\n )}\n </span>\n {ctx.highlighted && (\n <span className=\"bg-primary-600 rounded-full px-1.5 text-[10px] font-bold text-white uppercase\">\n {labels.highlighted}\n </span>\n )}\n {renderBadges?.(node)}\n {node.group && <GroupPill group={node.group} accent={ctx.accent} />}\n {ctx.directReports > 0 && (\n <span className=\"text-muted-foreground text-xs tabular-nums\">\n {ctx.directReports}\n </span>\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n","'use client';\n\nimport * as React from 'react';\nimport {\n ExternalLink,\n FoldVertical,\n Map as MapIcon,\n Maximize,\n Minimize,\n Network,\n List,\n Scan,\n Search,\n UnfoldVertical,\n X,\n} from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { Avatar } from '../Avatar';\nimport { Button } from '../Button';\nimport { Spinner } from '../Spinner';\nimport { OrgChartCanvas, GroupPill } from './OrgChartCanvas';\nimport { OrgChartTree } from './OrgChartTree';\nimport type { OrgChartDirection } from './layout';\nimport {\n defaultOrgChartLabels,\n ORG_CHART_GROUP_ACCENTS,\n type OrgChartAccent,\n type OrgChartClassNames,\n type OrgChartDetailContext,\n type OrgChartLabels,\n type OrgChartNodeContext,\n type OrgChartNodeVariant,\n type OrgChartRenderSlots,\n type OrgChartView,\n} from './shared';\nimport {\n allExpandable,\n ancestorsOf,\n buildOrgForest,\n childrenOf,\n distinctGroups,\n initialExpanded,\n matchesQuery,\n visibleNodes,\n type OrgChartNode,\n type OrgForest,\n type VisibleNode,\n} from './tree';\n\nexport interface OrgChartProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'children'>,\n OrgChartRenderSlots {\n /** The collection. The caller owns fetching it; order sets sibling order. */\n nodes: readonly OrgChartNode[];\n loading?: boolean;\n error?: Error | null;\n /** Retries a failed load. The retry action renders only when given. */\n onRetry?: () => void;\n /** `person`: avatar + name + title. `location`: icon + name + subtitle. */\n nodeVariant?: OrgChartNodeVariant;\n /** Layout direction of the chart. */\n direction?: OrgChartDirection;\n /** Levels shown on first render, counted from each root. */\n initialDepth?: number;\n /** Expanded into view and framed (e.g. the record the page is about). */\n focusId?: string | null;\n /** Expanded into view and marked (e.g. the signed-in user). */\n highlightedId?: string | null;\n /** Initial search text. */\n defaultQuery?: string;\n /** Initial group filter. */\n defaultGroup?: string;\n /** Controlled view. */\n view?: OrgChartView;\n /** Uncontrolled initial view. Defaults to `list` below 640px, else `chart`. */\n defaultView?: OrgChartView;\n onViewChange?: (view: OrgChartView) => void;\n defaultShowMinimap?: boolean;\n /** Colour per group as a token name. Defaults to `ORG_CHART_GROUP_ACCENTS`. */\n getGroupAccent?: (group: string, index: number) => OrgChartAccent;\n /** Called when a node is selected (details opened) or deselected. */\n onSelect?: (id: string | null, node: OrgChartNode | null) => void;\n /** Called by the detail panel's Open action. */\n onOpen?: (id: string, node: OrgChartNode) => void;\n /** Renders the Open action as a real link. */\n getHref?: (id: string, node: OrgChartNode) => string;\n /** Replaces the detail panel's body. */\n renderDetail?: (\n node: OrgChartNode,\n ctx: OrgChartDetailContext\n ) => React.ReactNode;\n /** Replaces the built-in empty state. */\n emptyState?: React.ReactNode;\n labels?: Partial<OrgChartLabels>;\n classNames?: OrgChartClassNames;\n}\n\nconst isNarrow = () =>\n typeof window !== 'undefined' &&\n !!window.matchMedia?.('(max-width: 639px)').matches;\n\nconst union = (a: ReadonlySet<string>, ids: Iterable<string>) => {\n let out: Set<string> | null = null;\n for (const id of ids) {\n if (a.has(id)) continue;\n out ??= new Set(a);\n out.add(id);\n }\n return out ?? a;\n};\n\nconst ancestorsOfAll = (forest: OrgForest, ids: Iterable<string>) => {\n const out: string[] = [];\n for (const id of ids) out.push(...ancestorsOf(forest, id));\n return out;\n};\n\n/**\n * Declared `parameters.catalog.collection` — loading, empty and error are part\n * of the API.\n */\nexport const OrgChart = React.forwardRef<HTMLDivElement, OrgChartProps>(\n function OrgChart(\n {\n nodes,\n loading = false,\n error = null,\n onRetry,\n nodeVariant = 'person',\n direction = 'DOWN',\n initialDepth = 2,\n focusId = null,\n highlightedId = null,\n defaultQuery = '',\n defaultGroup = '',\n view: viewProp,\n defaultView,\n onViewChange,\n defaultShowMinimap = false,\n getGroupAccent,\n onSelect,\n onOpen,\n getHref,\n renderNode,\n renderBadges,\n renderDetail,\n emptyState,\n labels: labelsProp,\n classNames,\n className,\n ...rest\n },\n ref\n ) {\n const labels = React.useMemo(\n () => ({ ...defaultOrgChartLabels, ...labelsProp }),\n [labelsProp]\n );\n const rootRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(ref, () => rootRef.current as HTMLDivElement);\n const searchId = React.useId();\n\n const forest = React.useMemo(() => buildOrgForest(nodes), [nodes]);\n const groups = React.useMemo(() => distinctGroups(nodes), [nodes]);\n const accentOf = React.useMemo(() => {\n const map = new Map<string, OrgChartAccent>();\n groups.forEach((g, i) =>\n map.set(\n g,\n getGroupAccent?.(g, i) ??\n ORG_CHART_GROUP_ACCENTS[i % ORG_CHART_GROUP_ACCENTS.length]\n )\n );\n return map;\n }, [groups, getGroupAccent]);\n\n // --- state -------------------------------------------------------------\n const [expanded, setExpanded] = React.useState<ReadonlySet<string>>(() =>\n union(\n initialExpanded(forest, initialDepth),\n ancestorsOfAll(\n forest,\n [focusId, highlightedId].filter((id): id is string => !!id)\n )\n )\n );\n const seeded = React.useRef(forest.byId.size > 0);\n const [query, setQuery] = React.useState(defaultQuery);\n const [groupState, setGroup] = React.useState(defaultGroup);\n // A group that isn't in `nodes` (stale default, removed on refresh) means no filter.\n const group = groupState && groups.includes(groupState) ? groupState : '';\n const [selectedId, setSelectedId] = React.useState<string | null>(null);\n // Deterministic initial view so SSR and client hydrate the same tree;\n // the narrow-screen default is applied once after mount.\n const [viewState, setViewState] = React.useState<OrgChartView>(\n defaultView ?? 'chart'\n );\n const appliedNarrowDefault = React.useRef(false);\n React.useEffect(() => {\n if (appliedNarrowDefault.current) return;\n appliedNarrowDefault.current = true;\n if (defaultView === undefined && isNarrow()) setViewState('list');\n }, [defaultView]);\n const view = viewProp ?? viewState;\n const [showMinimap, setShowMinimap] = React.useState(defaultShowMinimap);\n const [nativeFull, setNativeFull] = React.useState(false);\n const [pseudoFull, setPseudoFull] = React.useState(false);\n const fullscreen = nativeFull || pseudoFull;\n const [fitRequest, setFitRequest] = React.useState(0);\n const returnFocus = React.useRef<HTMLElement | null>(null);\n\n // Seed once data arrives, so a loading → loaded transition still opens\n // `initialDepth` levels.\n React.useEffect(() => {\n if (seeded.current || forest.byId.size === 0) return;\n seeded.current = true;\n setExpanded((prev) => union(prev, initialExpanded(forest, initialDepth)));\n }, [forest, initialDepth]);\n\n React.useEffect(() => {\n const ids = [focusId, highlightedId].filter(\n (id): id is string => !!id && forest.byId.has(id)\n );\n if (ids.length)\n setExpanded((prev) => union(prev, ancestorsOfAll(forest, ids)));\n }, [forest, focusId, highlightedId]);\n\n const matches = React.useMemo(() => {\n if (!query.trim()) return null;\n const out: string[] = [];\n for (const n of forest.byId.values())\n if (matchesQuery(n, query)) out.push(n.id);\n return out;\n }, [forest, query]);\n\n const groupMembers = React.useMemo(() => {\n if (!group) return null;\n const out: string[] = [];\n for (const n of forest.byId.values())\n if (n.group === group) out.push(n.id);\n return out;\n }, [forest, group]);\n\n const revealKey = JSON.stringify([matches, groupMembers]);\n React.useEffect(() => {\n const ids = [...(matches ?? []), ...(groupMembers ?? [])];\n if (ids.length)\n setExpanded((prev) => union(prev, ancestorsOfAll(forest, ids)));\n // revealKey stands in for the two arrays.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [revealKey, forest]);\n\n React.useEffect(() => {\n const onChange = () =>\n setNativeFull(\n !!rootRef.current && document.fullscreenElement === rootRef.current\n );\n document.addEventListener('fullscreenchange', onChange);\n return () => document.removeEventListener('fullscreenchange', onChange);\n }, []);\n\n React.useEffect(() => {\n if (!pseudoFull) return;\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') setPseudoFull(false);\n };\n document.addEventListener('keydown', onKey);\n return () => document.removeEventListener('keydown', onKey);\n }, [pseudoFull]);\n\n // --- derived -----------------------------------------------------------\n const visible = React.useMemo(\n () => visibleNodes(forest, expanded),\n [forest, expanded]\n );\n const matchSet = React.useMemo(() => new Set(matches ?? []), [matches]);\n const groupSet = React.useMemo(\n () => (groupMembers ? new Set(groupMembers) : null),\n [groupMembers]\n );\n\n const nodeContext = React.useCallback(\n (v: VisibleNode): OrgChartNodeContext => ({\n variant: nodeVariant,\n depth: v.depth,\n directReports: childrenOf(forest, v.node.id).length,\n expanded: expanded.has(v.node.id),\n highlighted: v.node.id === highlightedId,\n matched: matchSet.has(v.node.id),\n dimmed: !!groupSet && !groupSet.has(v.node.id),\n accent: v.node.group ? accentOf.get(v.node.group) : undefined,\n }),\n [\n nodeVariant,\n forest,\n expanded,\n highlightedId,\n matchSet,\n groupSet,\n accentOf,\n ]\n );\n\n const fitTargets = React.useMemo(() => {\n if (matches?.length) return matches;\n if (groupMembers?.length) return groupMembers;\n if (focusId && forest.byId.has(focusId)) return [focusId];\n return null;\n }, [matches, groupMembers, focusId, forest]);\n\n // --- actions -----------------------------------------------------------\n const toggle = React.useCallback((id: string) => {\n setExpanded((prev) => {\n const next = new Set(prev);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n }, []);\n\n const select = React.useCallback(\n (id: string | null) => {\n if (id && typeof document !== 'undefined')\n returnFocus.current = document.activeElement as HTMLElement | null;\n setSelectedId(id);\n onSelect?.(id, id ? (forest.byId.get(id) ?? null) : null);\n },\n [forest, onSelect]\n );\n\n const closeDetail = React.useCallback(() => {\n select(null);\n const el = returnFocus.current;\n if (el?.isConnected) el.focus();\n }, [select]);\n\n const setView = (v: OrgChartView) => {\n setViewState(v);\n onViewChange?.(v);\n };\n\n const toggleFullscreen = async () => {\n const el = rootRef.current;\n if (!el) return;\n if (fullscreen) {\n setPseudoFull(false);\n if (document.fullscreenElement) await document.exitFullscreen?.();\n return;\n }\n try {\n if (!el.requestFullscreen) throw new Error('unsupported');\n await el.requestFullscreen();\n } catch {\n setPseudoFull(true);\n }\n };\n\n // --- render ------------------------------------------------------------\n const stateBox = (content: React.ReactNode) => (\n <div\n data-slot=\"org-chart-state\"\n className={cn(\n 'text-muted-foreground flex min-h-48 flex-col items-center justify-center gap-3 p-6 text-center text-sm',\n classNames?.state\n )}\n >\n {content}\n </div>\n );\n\n let body: React.ReactNode;\n if (error) {\n body = stateBox(\n <>\n <p\n role=\"alert\"\n className=\"text-destructive-700 dark:text-destructive-400\"\n >\n {labels.error}\n </p>\n {onRetry && (\n <Button variant=\"outline\" size=\"sm\" onClick={onRetry}>\n {labels.retry}\n </Button>\n )}\n </>\n );\n } else if (loading) {\n body = stateBox(\n <div role=\"status\" className=\"flex items-center gap-2\">\n <Spinner size=\"sm\" />\n <span>{labels.loading}</span>\n </div>\n );\n } else if (forest.byId.size === 0) {\n body = stateBox(emptyState ?? <p>{labels.empty}</p>);\n }\n\n const selected = selectedId ? (forest.byId.get(selectedId) ?? null) : null;\n const detail = selected && (\n <DetailPanel\n key={selected.id}\n node={selected}\n forest={forest}\n variant={nodeVariant}\n accent={selected.group ? accentOf.get(selected.group) : undefined}\n labels={labels}\n className={classNames?.detail}\n onClose={closeDetail}\n onOpen={onOpen}\n getHref={getHref}\n renderDetail={renderDetail}\n renderBadges={renderBadges}\n />\n );\n\n const iconButton = (\n label: string,\n icon: React.ReactNode,\n onClick: () => void,\n pressed?: boolean\n ) => (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n aria-label={label}\n title={label}\n aria-pressed={pressed}\n onClick={onClick}\n className={cn(pressed && 'bg-primary-500/10')}\n >\n {icon}\n </Button>\n );\n\n return (\n <div\n ref={rootRef}\n data-slot=\"org-chart\"\n data-view={view}\n className={cn(\n 'bg-card text-foreground border-border relative flex flex-col overflow-hidden rounded-lg border',\n fullscreen && 'bg-background',\n pseudoFull && 'fixed inset-0 z-50 rounded-none',\n className,\n classNames?.root\n )}\n {...rest}\n >\n {body ?? (\n <>\n <div\n role=\"toolbar\"\n aria-label={labels.toolbar}\n data-slot=\"org-chart-toolbar\"\n className={cn(\n 'border-border flex flex-wrap items-center gap-2 border-b p-2',\n classNames?.toolbar\n )}\n >\n <div className=\"relative min-w-40 flex-1\">\n <label htmlFor={searchId} className=\"sr-only\">\n {labels.search}\n </label>\n <Search\n aria-hidden=\"true\"\n className=\"text-muted-foreground pointer-events-none absolute start-2.5 top-1/2 size-4 -translate-y-1/2\"\n />\n <input\n id={searchId}\n type=\"search\"\n value={query}\n placeholder={labels.searchPlaceholder}\n onChange={(e) => setQuery(e.target.value)}\n className=\"border-border bg-background text-foreground placeholder:text-muted-foreground focus-visible:ring-ring h-9 w-full rounded-md border ps-8 pe-2 text-sm focus-visible:ring-2 focus-visible:outline-none\"\n />\n </div>\n <p\n role=\"status\"\n aria-live=\"polite\"\n className=\"text-muted-foreground min-w-0 text-xs empty:hidden\"\n >\n {matches ? labels.results(matches.length) : ''}\n </p>\n {groups.length > 0 && (\n <select\n aria-label={labels.groupFilter}\n value={group}\n onChange={(e) => setGroup(e.target.value)}\n className=\"border-border bg-background text-foreground focus-visible:ring-ring h-9 max-w-48 rounded-md border px-2 text-sm focus-visible:ring-2 focus-visible:outline-none\"\n >\n <option value=\"\">{labels.allGroups}</option>\n {groups.map((g) => (\n <option key={g} value={g}>\n {g}\n </option>\n ))}\n </select>\n )}\n <div className=\"ms-auto flex flex-wrap items-center gap-1\">\n {iconButton(\n labels.expandAll,\n <UnfoldVertical aria-hidden=\"true\" className=\"size-4\" />,\n () => setExpanded(allExpandable(forest))\n )}\n {iconButton(\n labels.collapseAll,\n <FoldVertical aria-hidden=\"true\" className=\"size-4\" />,\n () => setExpanded(new Set())\n )}\n {view === 'chart' && (\n <>\n {iconButton(\n labels.fitView,\n <Scan aria-hidden=\"true\" className=\"size-4\" />,\n () => setFitRequest((n) => n + 1)\n )}\n {iconButton(\n labels.minimap,\n <MapIcon aria-hidden=\"true\" className=\"size-4\" />,\n () => setShowMinimap((v) => !v),\n showMinimap\n )}\n </>\n )}\n {iconButton(\n labels.fullscreen,\n fullscreen ? (\n <Minimize aria-hidden=\"true\" className=\"size-4\" />\n ) : (\n <Maximize aria-hidden=\"true\" className=\"size-4\" />\n ),\n () => void toggleFullscreen(),\n fullscreen\n )}\n <div\n role=\"group\"\n aria-label={labels.viewToggle}\n className=\"border-border ms-1 flex rounded-md border p-0.5\"\n >\n {(\n [\n ['chart', labels.chartView, Network],\n ['list', labels.listView, List],\n ] as const\n ).map(([v, label, Icon]) => (\n <button\n key={v}\n type=\"button\"\n aria-pressed={view === v}\n onClick={() => setView(v)}\n className={cn(\n 'focus-visible:ring-ring flex h-7 items-center gap-1 rounded px-2 text-xs font-medium focus-visible:ring-2 focus-visible:outline-none',\n view === v\n ? 'bg-primary-500/10 text-foreground'\n : 'text-muted-foreground hover:bg-muted'\n )}\n >\n <Icon aria-hidden=\"true\" className=\"size-3.5\" />\n {label}\n </button>\n ))}\n </div>\n </div>\n </div>\n {view === 'chart' ? (\n <OrgChartCanvas\n forest={forest}\n visible={visible}\n nodeContext={nodeContext}\n focusId={focusId}\n direction={direction}\n variant={nodeVariant}\n showMinimap={showMinimap}\n fitTargets={fitTargets}\n fitRequest={fitRequest}\n labels={labels}\n classNames={\n fullscreen\n ? {\n ...classNames,\n canvas: cn(classNames?.canvas, 'h-auto flex-1'),\n }\n : classNames\n }\n renderNode={renderNode}\n renderBadges={renderBadges}\n onToggle={toggle}\n onSelect={select}\n >\n {detail}\n </OrgChartCanvas>\n ) : (\n <div className={cn('relative', fullscreen && 'flex-1')}>\n <OrgChartTree\n forest={forest}\n visible={visible}\n nodeContext={nodeContext}\n selectedId={selectedId}\n labels={labels}\n classNames={classNames}\n renderBadges={renderBadges}\n onToggle={toggle}\n onSelect={select}\n />\n {detail}\n </div>\n )}\n </>\n )}\n </div>\n );\n }\n);\n\n// =============================================================================\n// Detail panel\n// =============================================================================\n\ninterface DetailPanelProps extends Pick<OrgChartRenderSlots, 'renderBadges'> {\n node: OrgChartNode;\n forest: OrgForest;\n variant: OrgChartNodeVariant;\n accent?: OrgChartAccent;\n labels: OrgChartLabels;\n className?: string;\n onClose: () => void;\n onOpen?: OrgChartProps['onOpen'];\n getHref?: OrgChartProps['getHref'];\n renderDetail?: OrgChartProps['renderDetail'];\n}\n\nfunction DetailPanel({\n node,\n forest,\n variant,\n accent,\n labels,\n className,\n onClose,\n onOpen,\n getHref,\n renderDetail,\n renderBadges,\n}: DetailPanelProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n const closeRef = React.useRef(onClose);\n React.useEffect(() => {\n closeRef.current = onClose;\n });\n React.useEffect(() => {\n const el = ref.current;\n if (!el) return;\n el.focus();\n const onKey = (e: KeyboardEvent) => {\n if (e.key !== 'Escape') return;\n e.stopPropagation();\n closeRef.current();\n };\n el.addEventListener('keydown', onKey);\n return () => el.removeEventListener('keydown', onKey);\n }, []);\n\n const directReports = childrenOf(forest, node.id).length;\n const orgSize = forest.orgSize.get(node.id) ?? 0;\n const parentId = forest.parentOf.get(node.id);\n const parent = parentId ? (forest.byId.get(parentId) ?? null) : null;\n const secondary = variant === 'person' ? node.title : node.subtitle;\n const href = getHref?.(node.id, node);\n\n const actionClass =\n 'bg-primary-600 hover:bg-primary-700 focus-visible:ring-ring inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-sm font-medium text-white focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none';\n\n return (\n <div\n ref={ref}\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={node.name}\n tabIndex={-1}\n data-slot=\"org-chart-detail\"\n className={cn(\n 'bg-card text-foreground border-border absolute end-3 top-3 z-10 w-72 max-w-[calc(100%-1.5rem)] rounded-lg border p-4 shadow-lg focus:outline-none',\n className\n )}\n >\n <button\n type=\"button\"\n aria-label={labels.close}\n onClick={onClose}\n className=\"text-muted-foreground hover:bg-muted focus-visible:ring-ring absolute end-2 top-2 rounded p-1 focus-visible:ring-2 focus-visible:outline-none\"\n >\n <X aria-hidden=\"true\" className=\"size-4\" />\n </button>\n {renderDetail ? (\n renderDetail(node, { directReports, orgSize, parent, close: onClose })\n ) : (\n <div className=\"flex flex-col gap-3 pe-6\">\n <div className=\"flex items-center gap-3\">\n {variant === 'person' && (\n <Avatar src={node.avatarUrl} name={node.name} alt=\"\" size=\"lg\" />\n )}\n <div className=\"min-w-0\">\n <p className=\"text-foreground font-semibold\">{node.name}</p>\n {secondary && (\n <p className=\"text-muted-foreground text-sm\">{secondary}</p>\n )}\n </div>\n </div>\n {(node.group || renderBadges) && (\n <div className=\"flex flex-wrap gap-1.5\">\n {node.group && <GroupPill group={node.group} accent={accent} />}\n {renderBadges?.(node)}\n </div>\n )}\n <ul className=\"text-muted-foreground flex flex-col gap-1 text-sm\">\n {parent && <li>{labels.reportsTo(parent.name)}</li>}\n <li>{labels.directReports(directReports)}</li>\n {orgSize > directReports && <li>{labels.orgSize(orgSize)}</li>}\n </ul>\n {href ? (\n <a\n href={href}\n className={cn(actionClass, 'self-start')}\n onClick={(e) => {\n if (\n !onOpen ||\n e.button !== 0 ||\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n e.altKey\n )\n return;\n e.preventDefault();\n onOpen(node.id, node);\n }}\n >\n {labels.open}\n <ExternalLink aria-hidden=\"true\" className=\"size-3.5\" />\n </a>\n ) : (\n onOpen && (\n <button\n type=\"button\"\n className={cn(actionClass, 'self-start')}\n onClick={() => onOpen(node.id, node)}\n >\n {labels.open}\n </button>\n )\n )}\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -0,0 +1,164 @@
1
+ import * as React from 'react';
2
+
3
+ type OrgChartDirection = 'DOWN' | 'RIGHT';
4
+ /**
5
+ * `considerModelOrder` keeps siblings in input order, so expanding one branch
6
+ * never reshuffles its neighbours.
7
+ */
8
+ declare const ORG_CHART_LAYOUT_OPTIONS: Record<string, string>;
9
+
10
+ /**
11
+ * The contract every component in the `Modules/Views` family reads through.
12
+ *
13
+ * A page describes its collection once — which field is the id, the title, the
14
+ * status, the start date — and every view understands it. That is the whole
15
+ * reason the family exists: without it each view needs its own adapter and you
16
+ * end up re-implementing the same board per entity.
17
+ *
18
+ * Views are headless. Nothing here fetches, subscribes, or navigates.
19
+ * See CONTRIBUTING → "Modules: headless data components".
20
+ */
21
+
22
+ /**
23
+ * A semantic colour name, resolved to `--mieweb-*` tokens by each view.
24
+ *
25
+ * Accessors return one of these rather than a class string so a caller cannot
26
+ * hardcode a palette that breaks under another brand or in dark mode.
27
+ */
28
+ type Accent = 'primary' | 'success' | 'warning' | 'destructive' | 'info' | 'neutral';
29
+
30
+ /** One person, team or place in the chart. The caller owns the collection. */
31
+ interface OrgChartNode {
32
+ id: string;
33
+ /** Parent id, or `null` for a root. An unknown parent makes the node a root. */
34
+ parentId: string | null;
35
+ name: string;
36
+ /** Job title (person) — matched by search. */
37
+ title?: string;
38
+ /** Secondary line (location: address, type) — matched by search. */
39
+ subtitle?: string;
40
+ /** Department, region or any grouping — drives the filter and the colour. */
41
+ group?: string;
42
+ avatarUrl?: string;
43
+ /** Anything else the caller's render slots need. Never read by the chart. */
44
+ meta?: Record<string, unknown>;
45
+ }
46
+
47
+ type OrgChartAccent = Accent;
48
+ type OrgChartNodeVariant = 'person' | 'location';
49
+ type OrgChartView = 'chart' | 'list';
50
+ type OrgChartSlot = 'root' | 'toolbar' | 'canvas' | 'node' | 'tree' | 'treeItem' | 'detail' | 'state';
51
+ /** Every string the chart renders. The defaults are English. */
52
+ interface OrgChartLabels {
53
+ /** Accessible name of the chart canvas. */
54
+ chart: string;
55
+ /** Accessible name of the list view's tree. */
56
+ tree: string;
57
+ /** Accessible name of the toolbar. */
58
+ toolbar: string;
59
+ search: string;
60
+ searchPlaceholder: string;
61
+ /** Announced politely while a search is active. */
62
+ results: (count: number) => string;
63
+ groupFilter: string;
64
+ allGroups: string;
65
+ expandAll: string;
66
+ collapseAll: string;
67
+ fitView: string;
68
+ minimap: string;
69
+ fullscreen: string;
70
+ viewToggle: string;
71
+ chartView: string;
72
+ listView: string;
73
+ /** Read by assistive tech for each card on the canvas. */
74
+ canvasHint: string;
75
+ expand: (name: string, count: number) => string;
76
+ collapse: (name: string) => string;
77
+ directReports: (count: number) => string;
78
+ orgSize: (count: number) => string;
79
+ reportsTo: (name: string) => string;
80
+ /** Marker on the `highlightedId` node. */
81
+ highlighted: string;
82
+ open: string;
83
+ close: string;
84
+ loading: string;
85
+ empty: string;
86
+ error: string;
87
+ retry: string;
88
+ }
89
+ declare const defaultOrgChartLabels: OrgChartLabels;
90
+ /** Palette groups are coloured from, in order of first sorted appearance. */
91
+ declare const ORG_CHART_GROUP_ACCENTS: readonly Accent[];
92
+ /** What a `renderNode` slot gets alongside the node. */
93
+ interface OrgChartNodeContext {
94
+ variant: OrgChartNodeVariant;
95
+ depth: number;
96
+ directReports: number;
97
+ expanded: boolean;
98
+ highlighted: boolean;
99
+ matched: boolean;
100
+ dimmed: boolean;
101
+ accent?: Accent;
102
+ }
103
+ /** What a `renderDetail` slot gets alongside the node. */
104
+ interface OrgChartDetailContext {
105
+ directReports: number;
106
+ orgSize: number;
107
+ parent: OrgChartNode | null;
108
+ close: () => void;
109
+ }
110
+ type OrgChartClassNames = Partial<Record<OrgChartSlot, string>>;
111
+ interface OrgChartRenderSlots {
112
+ renderNode?: (node: OrgChartNode, ctx: OrgChartNodeContext) => React.ReactNode;
113
+ renderBadges?: (node: OrgChartNode) => React.ReactNode;
114
+ }
115
+
116
+ interface OrgChartProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'children'>, OrgChartRenderSlots {
117
+ /** The collection. The caller owns fetching it; order sets sibling order. */
118
+ nodes: readonly OrgChartNode[];
119
+ loading?: boolean;
120
+ error?: Error | null;
121
+ /** Retries a failed load. The retry action renders only when given. */
122
+ onRetry?: () => void;
123
+ /** `person`: avatar + name + title. `location`: icon + name + subtitle. */
124
+ nodeVariant?: OrgChartNodeVariant;
125
+ /** Layout direction of the chart. */
126
+ direction?: OrgChartDirection;
127
+ /** Levels shown on first render, counted from each root. */
128
+ initialDepth?: number;
129
+ /** Expanded into view and framed (e.g. the record the page is about). */
130
+ focusId?: string | null;
131
+ /** Expanded into view and marked (e.g. the signed-in user). */
132
+ highlightedId?: string | null;
133
+ /** Initial search text. */
134
+ defaultQuery?: string;
135
+ /** Initial group filter. */
136
+ defaultGroup?: string;
137
+ /** Controlled view. */
138
+ view?: OrgChartView;
139
+ /** Uncontrolled initial view. Defaults to `list` below 640px, else `chart`. */
140
+ defaultView?: OrgChartView;
141
+ onViewChange?: (view: OrgChartView) => void;
142
+ defaultShowMinimap?: boolean;
143
+ /** Colour per group as a token name. Defaults to `ORG_CHART_GROUP_ACCENTS`. */
144
+ getGroupAccent?: (group: string, index: number) => OrgChartAccent;
145
+ /** Called when a node is selected (details opened) or deselected. */
146
+ onSelect?: (id: string | null, node: OrgChartNode | null) => void;
147
+ /** Called by the detail panel's Open action. */
148
+ onOpen?: (id: string, node: OrgChartNode) => void;
149
+ /** Renders the Open action as a real link. */
150
+ getHref?: (id: string, node: OrgChartNode) => string;
151
+ /** Replaces the detail panel's body. */
152
+ renderDetail?: (node: OrgChartNode, ctx: OrgChartDetailContext) => React.ReactNode;
153
+ /** Replaces the built-in empty state. */
154
+ emptyState?: React.ReactNode;
155
+ labels?: Partial<OrgChartLabels>;
156
+ classNames?: OrgChartClassNames;
157
+ }
158
+ /**
159
+ * Declared `parameters.catalog.collection` — loading, empty and error are part
160
+ * of the API.
161
+ */
162
+ declare const OrgChart: React.ForwardRefExoticComponent<OrgChartProps & React.RefAttributes<HTMLDivElement>>;
163
+
164
+ export { ORG_CHART_GROUP_ACCENTS, ORG_CHART_LAYOUT_OPTIONS, OrgChart, type OrgChartAccent, type OrgChartClassNames, type OrgChartDetailContext, type OrgChartDirection, type OrgChartLabels, type OrgChartNode, type OrgChartNodeContext, type OrgChartNodeVariant, type OrgChartProps, type OrgChartSlot, type OrgChartView, defaultOrgChartLabels };
@@ -0,0 +1,164 @@
1
+ import * as React from 'react';
2
+
3
+ type OrgChartDirection = 'DOWN' | 'RIGHT';
4
+ /**
5
+ * `considerModelOrder` keeps siblings in input order, so expanding one branch
6
+ * never reshuffles its neighbours.
7
+ */
8
+ declare const ORG_CHART_LAYOUT_OPTIONS: Record<string, string>;
9
+
10
+ /**
11
+ * The contract every component in the `Modules/Views` family reads through.
12
+ *
13
+ * A page describes its collection once — which field is the id, the title, the
14
+ * status, the start date — and every view understands it. That is the whole
15
+ * reason the family exists: without it each view needs its own adapter and you
16
+ * end up re-implementing the same board per entity.
17
+ *
18
+ * Views are headless. Nothing here fetches, subscribes, or navigates.
19
+ * See CONTRIBUTING → "Modules: headless data components".
20
+ */
21
+
22
+ /**
23
+ * A semantic colour name, resolved to `--mieweb-*` tokens by each view.
24
+ *
25
+ * Accessors return one of these rather than a class string so a caller cannot
26
+ * hardcode a palette that breaks under another brand or in dark mode.
27
+ */
28
+ type Accent = 'primary' | 'success' | 'warning' | 'destructive' | 'info' | 'neutral';
29
+
30
+ /** One person, team or place in the chart. The caller owns the collection. */
31
+ interface OrgChartNode {
32
+ id: string;
33
+ /** Parent id, or `null` for a root. An unknown parent makes the node a root. */
34
+ parentId: string | null;
35
+ name: string;
36
+ /** Job title (person) — matched by search. */
37
+ title?: string;
38
+ /** Secondary line (location: address, type) — matched by search. */
39
+ subtitle?: string;
40
+ /** Department, region or any grouping — drives the filter and the colour. */
41
+ group?: string;
42
+ avatarUrl?: string;
43
+ /** Anything else the caller's render slots need. Never read by the chart. */
44
+ meta?: Record<string, unknown>;
45
+ }
46
+
47
+ type OrgChartAccent = Accent;
48
+ type OrgChartNodeVariant = 'person' | 'location';
49
+ type OrgChartView = 'chart' | 'list';
50
+ type OrgChartSlot = 'root' | 'toolbar' | 'canvas' | 'node' | 'tree' | 'treeItem' | 'detail' | 'state';
51
+ /** Every string the chart renders. The defaults are English. */
52
+ interface OrgChartLabels {
53
+ /** Accessible name of the chart canvas. */
54
+ chart: string;
55
+ /** Accessible name of the list view's tree. */
56
+ tree: string;
57
+ /** Accessible name of the toolbar. */
58
+ toolbar: string;
59
+ search: string;
60
+ searchPlaceholder: string;
61
+ /** Announced politely while a search is active. */
62
+ results: (count: number) => string;
63
+ groupFilter: string;
64
+ allGroups: string;
65
+ expandAll: string;
66
+ collapseAll: string;
67
+ fitView: string;
68
+ minimap: string;
69
+ fullscreen: string;
70
+ viewToggle: string;
71
+ chartView: string;
72
+ listView: string;
73
+ /** Read by assistive tech for each card on the canvas. */
74
+ canvasHint: string;
75
+ expand: (name: string, count: number) => string;
76
+ collapse: (name: string) => string;
77
+ directReports: (count: number) => string;
78
+ orgSize: (count: number) => string;
79
+ reportsTo: (name: string) => string;
80
+ /** Marker on the `highlightedId` node. */
81
+ highlighted: string;
82
+ open: string;
83
+ close: string;
84
+ loading: string;
85
+ empty: string;
86
+ error: string;
87
+ retry: string;
88
+ }
89
+ declare const defaultOrgChartLabels: OrgChartLabels;
90
+ /** Palette groups are coloured from, in order of first sorted appearance. */
91
+ declare const ORG_CHART_GROUP_ACCENTS: readonly Accent[];
92
+ /** What a `renderNode` slot gets alongside the node. */
93
+ interface OrgChartNodeContext {
94
+ variant: OrgChartNodeVariant;
95
+ depth: number;
96
+ directReports: number;
97
+ expanded: boolean;
98
+ highlighted: boolean;
99
+ matched: boolean;
100
+ dimmed: boolean;
101
+ accent?: Accent;
102
+ }
103
+ /** What a `renderDetail` slot gets alongside the node. */
104
+ interface OrgChartDetailContext {
105
+ directReports: number;
106
+ orgSize: number;
107
+ parent: OrgChartNode | null;
108
+ close: () => void;
109
+ }
110
+ type OrgChartClassNames = Partial<Record<OrgChartSlot, string>>;
111
+ interface OrgChartRenderSlots {
112
+ renderNode?: (node: OrgChartNode, ctx: OrgChartNodeContext) => React.ReactNode;
113
+ renderBadges?: (node: OrgChartNode) => React.ReactNode;
114
+ }
115
+
116
+ interface OrgChartProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'children'>, OrgChartRenderSlots {
117
+ /** The collection. The caller owns fetching it; order sets sibling order. */
118
+ nodes: readonly OrgChartNode[];
119
+ loading?: boolean;
120
+ error?: Error | null;
121
+ /** Retries a failed load. The retry action renders only when given. */
122
+ onRetry?: () => void;
123
+ /** `person`: avatar + name + title. `location`: icon + name + subtitle. */
124
+ nodeVariant?: OrgChartNodeVariant;
125
+ /** Layout direction of the chart. */
126
+ direction?: OrgChartDirection;
127
+ /** Levels shown on first render, counted from each root. */
128
+ initialDepth?: number;
129
+ /** Expanded into view and framed (e.g. the record the page is about). */
130
+ focusId?: string | null;
131
+ /** Expanded into view and marked (e.g. the signed-in user). */
132
+ highlightedId?: string | null;
133
+ /** Initial search text. */
134
+ defaultQuery?: string;
135
+ /** Initial group filter. */
136
+ defaultGroup?: string;
137
+ /** Controlled view. */
138
+ view?: OrgChartView;
139
+ /** Uncontrolled initial view. Defaults to `list` below 640px, else `chart`. */
140
+ defaultView?: OrgChartView;
141
+ onViewChange?: (view: OrgChartView) => void;
142
+ defaultShowMinimap?: boolean;
143
+ /** Colour per group as a token name. Defaults to `ORG_CHART_GROUP_ACCENTS`. */
144
+ getGroupAccent?: (group: string, index: number) => OrgChartAccent;
145
+ /** Called when a node is selected (details opened) or deselected. */
146
+ onSelect?: (id: string | null, node: OrgChartNode | null) => void;
147
+ /** Called by the detail panel's Open action. */
148
+ onOpen?: (id: string, node: OrgChartNode) => void;
149
+ /** Renders the Open action as a real link. */
150
+ getHref?: (id: string, node: OrgChartNode) => string;
151
+ /** Replaces the detail panel's body. */
152
+ renderDetail?: (node: OrgChartNode, ctx: OrgChartDetailContext) => React.ReactNode;
153
+ /** Replaces the built-in empty state. */
154
+ emptyState?: React.ReactNode;
155
+ labels?: Partial<OrgChartLabels>;
156
+ classNames?: OrgChartClassNames;
157
+ }
158
+ /**
159
+ * Declared `parameters.catalog.collection` — loading, empty and error are part
160
+ * of the API.
161
+ */
162
+ declare const OrgChart: React.ForwardRefExoticComponent<OrgChartProps & React.RefAttributes<HTMLDivElement>>;
163
+
164
+ export { ORG_CHART_GROUP_ACCENTS, ORG_CHART_LAYOUT_OPTIONS, OrgChart, type OrgChartAccent, type OrgChartClassNames, type OrgChartDetailContext, type OrgChartDirection, type OrgChartLabels, type OrgChartNode, type OrgChartNodeContext, type OrgChartNodeVariant, type OrgChartProps, type OrgChartSlot, type OrgChartView, defaultOrgChartLabels };