@burdenoff/microfe-planmagnet 2026.930.25 → 2026.1001.2

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 (314) hide show
  1. package/dist/_virtual/__vite-browser-external.js +9 -0
  2. package/dist/_virtual/__vite-browser-external.js.map +1 -0
  3. package/dist/_virtual/_rolldown/runtime.js +5 -2
  4. package/dist/index.js +3 -1
  5. package/dist/node_modules/fflate/esm/browser.js +554 -0
  6. package/dist/node_modules/fflate/esm/browser.js.map +1 -0
  7. package/dist/node_modules/jszip/dist/jszip.min.js +3038 -0
  8. package/dist/node_modules/jszip/dist/jszip.min.js.map +1 -0
  9. package/dist/node_modules/pptxgenjs/dist/pptxgen.es.js +2151 -0
  10. package/dist/node_modules/pptxgenjs/dist/pptxgen.es.js.map +1 -0
  11. package/dist/node_modules/write-excel-file/browser/index.js +3 -0
  12. package/dist/node_modules/write-excel-file/modules/export/convertFileContentToUint8ArrayBrowser.js +13 -0
  13. package/dist/node_modules/write-excel-file/modules/export/convertFileContentToUint8ArrayBrowser.js.map +1 -0
  14. package/dist/node_modules/write-excel-file/modules/export/convertFilesContentToUint8Arrays.js +21 -0
  15. package/dist/node_modules/write-excel-file/modules/export/convertFilesContentToUint8Arrays.js.map +1 -0
  16. package/dist/node_modules/write-excel-file/modules/export/downloadBlob.js +11 -0
  17. package/dist/node_modules/write-excel-file/modules/export/downloadBlob.js.map +1 -0
  18. package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileBrowser.js +23 -0
  19. package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileBrowser.js.map +1 -0
  20. package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileUniversal.js +22 -0
  21. package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileUniversal.js.map +1 -0
  22. package/dist/node_modules/write-excel-file/modules/getSheetData/getSheetData.js +18 -0
  23. package/dist/node_modules/write-excel-file/modules/getSheetData/getSheetData.js.map +1 -0
  24. package/dist/node_modules/write-excel-file/modules/xlsx/features/conditionalFormatting.js +131 -0
  25. package/dist/node_modules/write-excel-file/modules/xlsx/features/conditionalFormatting.js.map +1 -0
  26. package/dist/node_modules/write-excel-file/modules/xlsx/features/images.js +188 -0
  27. package/dist/node_modules/write-excel-file/modules/xlsx/features/images.js.map +1 -0
  28. package/dist/node_modules/write-excel-file/modules/xlsx/features/stickyRowsOrColumns.js +52 -0
  29. package/dist/node_modules/write-excel-file/modules/xlsx/features/stickyRowsOrColumns.js.map +1 -0
  30. package/dist/node_modules/write-excel-file/modules/xlsx/files/_Content_Types_.xml.js +18 -0
  31. package/dist/node_modules/write-excel-file/modules/xlsx/files/_Content_Types_.xml.js.map +1 -0
  32. package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.js +18 -0
  33. package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.js.map +1 -0
  34. package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.rels.js +17 -0
  35. package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.rels.js.map +1 -0
  36. package/dist/node_modules/write-excel-file/modules/xlsx/files/rels.js +11 -0
  37. package/dist/node_modules/write-excel-file/modules/xlsx/files/rels.js.map +1 -0
  38. package/dist/node_modules/write-excel-file/modules/xlsx/files/sharedStrings.xml.js +42 -0
  39. package/dist/node_modules/write-excel-file/modules/xlsx/files/sharedStrings.xml.js.map +1 -0
  40. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/cell.js +102 -0
  41. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/cell.js.map +1 -0
  42. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/column.js +17 -0
  43. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/column.js.map +1 -0
  44. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/columns.js +15 -0
  45. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/columns.js.map +1 -0
  46. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/drawingReference.js +8 -0
  47. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/drawingReference.js.map +1 -0
  48. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/helpers/getCellStyleProperties.js +71 -0
  49. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/helpers/getCellStyleProperties.js.map +1 -0
  50. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/mergedCellsDescription.js +56 -0
  51. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/mergedCellsDescription.js.map +1 -0
  52. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageMargins.js +15 -0
  53. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageMargins.js.map +1 -0
  54. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageSetup.js +13 -0
  55. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageSetup.js.map +1 -0
  56. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/processMergedCells.js +44 -0
  57. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/processMergedCells.js.map +1 -0
  58. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/row.js +123 -0
  59. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/row.js.map +1 -0
  60. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheet.xml.js +41 -0
  61. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheet.xml.js.map +1 -0
  62. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetData.js +11 -0
  63. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetData.js.map +1 -0
  64. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetViews.js +17 -0
  65. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetViews.js.map +1 -0
  66. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml.rels.js +20 -0
  67. package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml.rels.js.map +1 -0
  68. package/dist/node_modules/write-excel-file/modules/xlsx/files/styles.xml.js +77 -0
  69. package/dist/node_modules/write-excel-file/modules/xlsx/files/styles.xml.js.map +1 -0
  70. package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.js +22 -0
  71. package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.js.map +1 -0
  72. package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.rels.js +13 -0
  73. package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.rels.js.map +1 -0
  74. package/dist/node_modules/write-excel-file/modules/xlsx/generateXlsxFileContents.js +242 -0
  75. package/dist/node_modules/write-excel-file/modules/xlsx/generateXlsxFileContents.js.map +1 -0
  76. package/dist/node_modules/write-excel-file/modules/xlsx/getFeatures.js +29 -0
  77. package/dist/node_modules/write-excel-file/modules/xlsx/getFeatures.js.map +1 -0
  78. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/convertDateToSerialNumber.js +9 -0
  79. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/convertDateToSerialNumber.js.map +1 -0
  80. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getAdditionalContent.js +42 -0
  81. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getAdditionalContent.js.map +1 -0
  82. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getElementXml.js +43 -0
  83. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getElementXml.js.map +1 -0
  84. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getWrittenFiles.js +93 -0
  85. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getWrittenFiles.js.map +1 -0
  86. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/transformContent.js +39 -0
  87. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/transformContent.js.map +1 -0
  88. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getAlignmentXml.js +17 -0
  89. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getAlignmentXml.js.map +1 -0
  90. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getBorderXml.js +29 -0
  91. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getBorderXml.js.map +1 -0
  92. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getCellAddress.js +14 -0
  93. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getCellAddress.js.map +1 -0
  94. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFileExtensionForContentType.js +11 -0
  95. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFileExtensionForContentType.js.map +1 -0
  96. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFillXml.js +14 -0
  97. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFillXml.js.map +1 -0
  98. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFontXml.js +12 -0
  99. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFontXml.js.map +1 -0
  100. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getOrderOfSiblings.js +24 -0
  101. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getOrderOfSiblings.js.map +1 -0
  102. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getXlsxColorForHexColor.js +9 -0
  103. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getXlsxColorForHexColor.js.map +1 -0
  104. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasAlignment.js +9 -0
  105. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasAlignment.js.map +1 -0
  106. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasBorder.js +9 -0
  107. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasBorder.js.map +1 -0
  108. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFill.js +9 -0
  109. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFill.js.map +1 -0
  110. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFont.js +9 -0
  111. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFont.js.map +1 -0
  112. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isCellObject.js +9 -0
  113. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isCellObject.js.map +1 -0
  114. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isObject.js +9 -0
  115. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isObject.js.map +1 -0
  116. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/orderOfSiblings.js +27 -0
  117. package/dist/node_modules/write-excel-file/modules/xlsx/helpers/orderOfSiblings.js.map +1 -0
  118. package/dist/node_modules/write-excel-file/modules/xlsx/initializeSharedStrings.js +17 -0
  119. package/dist/node_modules/write-excel-file/modules/xlsx/initializeSharedStrings.js.map +1 -0
  120. package/dist/node_modules/write-excel-file/modules/xlsx/initializeSheets.js +74 -0
  121. package/dist/node_modules/write-excel-file/modules/xlsx/initializeSheets.js.map +1 -0
  122. package/dist/node_modules/write-excel-file/modules/xlsx/initializeStyles.js +138 -0
  123. package/dist/node_modules/write-excel-file/modules/xlsx/initializeStyles.js.map +1 -0
  124. package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetData.js +40 -0
  125. package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetData.js.map +1 -0
  126. package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetName.js +11 -0
  127. package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetName.js.map +1 -0
  128. package/dist/node_modules/write-excel-file/modules/xml/appendMarkupInsideElement.js +9 -0
  129. package/dist/node_modules/write-excel-file/modules/xml/appendMarkupInsideElement.js.map +1 -0
  130. package/dist/node_modules/write-excel-file/modules/xml/applyEnclosingElementOffset.js +9 -0
  131. package/dist/node_modules/write-excel-file/modules/xml/applyEnclosingElementOffset.js.map +1 -0
  132. package/dist/node_modules/write-excel-file/modules/xml/escapeXmlSpecialCharacters.js +12 -0
  133. package/dist/node_modules/write-excel-file/modules/xml/escapeXmlSpecialCharacters.js.map +1 -0
  134. package/dist/node_modules/write-excel-file/modules/xml/findElement.js +12 -0
  135. package/dist/node_modules/write-excel-file/modules/xml/findElement.js.map +1 -0
  136. package/dist/node_modules/write-excel-file/modules/xml/findElementInsideElement.js +12 -0
  137. package/dist/node_modules/write-excel-file/modules/xml/findElementInsideElement.js.map +1 -0
  138. package/dist/node_modules/write-excel-file/modules/xml/findElementsNonRecursive_.js +41 -0
  139. package/dist/node_modules/write-excel-file/modules/xml/findElementsNonRecursive_.js.map +1 -0
  140. package/dist/node_modules/write-excel-file/modules/xml/getAttributesString.js +14 -0
  141. package/dist/node_modules/write-excel-file/modules/xml/getAttributesString.js.map +1 -0
  142. package/dist/node_modules/write-excel-file/modules/xml/getChildElements.js +42 -0
  143. package/dist/node_modules/write-excel-file/modules/xml/getChildElements.js.map +1 -0
  144. package/dist/node_modules/write-excel-file/modules/xml/getClosingTagMarkup.js +8 -0
  145. package/dist/node_modules/write-excel-file/modules/xml/getClosingTagMarkup.js.map +1 -0
  146. package/dist/node_modules/write-excel-file/modules/xml/getMarkupInsideElement.js +8 -0
  147. package/dist/node_modules/write-excel-file/modules/xml/getMarkupInsideElement.js.map +1 -0
  148. package/dist/node_modules/write-excel-file/modules/xml/getOpeningTagMarkup.js +9 -0
  149. package/dist/node_modules/write-excel-file/modules/xml/getOpeningTagMarkup.js.map +1 -0
  150. package/dist/node_modules/write-excel-file/modules/xml/getSelfClosingTagMarkup.js +9 -0
  151. package/dist/node_modules/write-excel-file/modules/xml/getSelfClosingTagMarkup.js.map +1 -0
  152. package/dist/node_modules/write-excel-file/modules/xml/insertElementMarkupAccordingToOrderOfSiblings.js +64 -0
  153. package/dist/node_modules/write-excel-file/modules/xml/insertElementMarkupAccordingToOrderOfSiblings.js.map +1 -0
  154. package/dist/node_modules/write-excel-file/modules/xml/prependMarkupInsideElement.js +9 -0
  155. package/dist/node_modules/write-excel-file/modules/xml/prependMarkupInsideElement.js.map +1 -0
  156. package/dist/node_modules/write-excel-file/modules/xml/removeInvalidXmlCharacters.js +9 -0
  157. package/dist/node_modules/write-excel-file/modules/xml/removeInvalidXmlCharacters.js.map +1 -0
  158. package/dist/node_modules/write-excel-file/modules/xml/replaceElement.js +8 -0
  159. package/dist/node_modules/write-excel-file/modules/xml/replaceElement.js.map +1 -0
  160. package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeName.js +10 -0
  161. package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeName.js.map +1 -0
  162. package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeValue.js +11 -0
  163. package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeValue.js.map +1 -0
  164. package/dist/node_modules/write-excel-file/modules/xml/sanitizeTextContent.js +11 -0
  165. package/dist/node_modules/write-excel-file/modules/xml/sanitizeTextContent.js.map +1 -0
  166. package/dist/node_modules/write-excel-file/modules/xml/setMarkupInsideElement.js +8 -0
  167. package/dist/node_modules/write-excel-file/modules/xml/setMarkupInsideElement.js.map +1 -0
  168. package/dist/node_modules/write-excel-file/modules/zip/zipToArrayBuffer.js +18 -0
  169. package/dist/node_modules/write-excel-file/modules/zip/zipToArrayBuffer.js.map +1 -0
  170. package/dist/planmagnet/PlanMagnetRoot.d.ts.map +1 -1
  171. package/dist/planmagnet/PlanMagnetRoot.js +160 -147
  172. package/dist/planmagnet/PlanMagnetRoot.js.map +1 -1
  173. package/dist/planmagnet/PlanMagnetRoutes.d.ts.map +1 -1
  174. package/dist/planmagnet/PlanMagnetRoutes.js +126 -106
  175. package/dist/planmagnet/PlanMagnetRoutes.js.map +1 -1
  176. package/dist/planmagnet/comments/CommentThread.js +36 -36
  177. package/dist/planmagnet/comments/RoadmapComments.js +21 -21
  178. package/dist/planmagnet/controls/AutomationRuleControls.js +24 -24
  179. package/dist/planmagnet/controls/FeatureControls.js +60 -60
  180. package/dist/planmagnet/controls/Pickers.d.ts +10 -0
  181. package/dist/planmagnet/controls/Pickers.d.ts.map +1 -1
  182. package/dist/planmagnet/controls/Pickers.js +75 -27
  183. package/dist/planmagnet/controls/Pickers.js.map +1 -1
  184. package/dist/planmagnet/controls/SyncControls.js +59 -59
  185. package/dist/planmagnet/discussion/WorkItemDiscussionPanel.js +15 -15
  186. package/dist/planmagnet/docs/DocSuggestionsPanel.js +12 -12
  187. package/dist/planmagnet/docs/DocVersionCompare.js +3 -3
  188. package/dist/planmagnet/forecast/DeliveryForecastCard.d.ts +12 -0
  189. package/dist/planmagnet/forecast/DeliveryForecastCard.d.ts.map +1 -0
  190. package/dist/planmagnet/forecast/DeliveryForecastCard.js +208 -0
  191. package/dist/planmagnet/forecast/DeliveryForecastCard.js.map +1 -0
  192. package/dist/planmagnet/forecast/ProjectOutlookCard.d.ts +5 -0
  193. package/dist/planmagnet/forecast/ProjectOutlookCard.d.ts.map +1 -0
  194. package/dist/planmagnet/forecast/ProjectOutlookCard.js +190 -0
  195. package/dist/planmagnet/forecast/ProjectOutlookCard.js.map +1 -0
  196. package/dist/planmagnet/forecast/ProjectRiskSummaryCard.d.ts +5 -0
  197. package/dist/planmagnet/forecast/ProjectRiskSummaryCard.d.ts.map +1 -0
  198. package/dist/planmagnet/forecast/ProjectRiskSummaryCard.js +99 -0
  199. package/dist/planmagnet/forecast/ProjectRiskSummaryCard.js.map +1 -0
  200. package/dist/planmagnet/forecast/ResourceForecastCard.d.ts +8 -0
  201. package/dist/planmagnet/forecast/ResourceForecastCard.d.ts.map +1 -0
  202. package/dist/planmagnet/forecast/ResourceForecastCard.js +185 -0
  203. package/dist/planmagnet/forecast/ResourceForecastCard.js.map +1 -0
  204. package/dist/planmagnet/forecast/riskFlags.d.ts +35 -0
  205. package/dist/planmagnet/forecast/riskFlags.d.ts.map +1 -0
  206. package/dist/planmagnet/forecast/riskFlags.js +37 -0
  207. package/dist/planmagnet/forecast/riskFlags.js.map +1 -0
  208. package/dist/planmagnet/index.d.ts +2 -0
  209. package/dist/planmagnet/index.d.ts.map +1 -1
  210. package/dist/planmagnet/index.js +2 -0
  211. package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -1
  212. package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.js +216 -182
  213. package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
  214. package/dist/planmagnet/pages/AutomationAutomationRuleDetailPagePage.js +11 -11
  215. package/dist/planmagnet/pages/AutomationCreateAutomationRulePagePage.js +4 -4
  216. package/dist/planmagnet/pages/DocsDocDetailPagePage.js +163 -163
  217. package/dist/planmagnet/pages/DocsDocDetailPagePage.js.map +1 -1
  218. package/dist/planmagnet/pages/IntegrationsNewSyncPagePage.js +165 -165
  219. package/dist/planmagnet/pages/IntegrationsNewSyncPagePage.js.map +1 -1
  220. package/dist/planmagnet/pages/ProjectsAtRiskPagePage.d.ts +2 -0
  221. package/dist/planmagnet/pages/ProjectsAtRiskPagePage.d.ts.map +1 -0
  222. package/dist/planmagnet/pages/ProjectsAtRiskPagePage.js +234 -0
  223. package/dist/planmagnet/pages/ProjectsAtRiskPagePage.js.map +1 -0
  224. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.d.ts.map +1 -1
  225. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js +206 -182
  226. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js.map +1 -1
  227. package/dist/planmagnet/pages/ReportsCreateReportPagePage.d.ts +6 -0
  228. package/dist/planmagnet/pages/ReportsCreateReportPagePage.d.ts.map +1 -1
  229. package/dist/planmagnet/pages/ReportsCreateReportPagePage.js +5 -177
  230. package/dist/planmagnet/pages/ReportsCreateReportPagePage.js.map +1 -1
  231. package/dist/planmagnet/pages/ReportsEditReportPagePage.d.ts +3 -0
  232. package/dist/planmagnet/pages/ReportsEditReportPagePage.d.ts.map +1 -0
  233. package/dist/planmagnet/pages/ReportsEditReportPagePage.js +15 -0
  234. package/dist/planmagnet/pages/ReportsEditReportPagePage.js.map +1 -0
  235. package/dist/planmagnet/pages/ReportsReportPagePage.d.ts +7 -0
  236. package/dist/planmagnet/pages/ReportsReportPagePage.d.ts.map +1 -0
  237. package/dist/planmagnet/pages/ReportsReportPagePage.js +226 -0
  238. package/dist/planmagnet/pages/ReportsReportPagePage.js.map +1 -0
  239. package/dist/planmagnet/pages/ReportsReportsPagePage.d.ts.map +1 -1
  240. package/dist/planmagnet/pages/ReportsReportsPagePage.js +224 -496
  241. package/dist/planmagnet/pages/ReportsReportsPagePage.js.map +1 -1
  242. package/dist/planmagnet/pages/TeamTeamDetailPagePage.d.ts.map +1 -1
  243. package/dist/planmagnet/pages/TeamTeamDetailPagePage.js +88 -83
  244. package/dist/planmagnet/pages/TeamTeamDetailPagePage.js.map +1 -1
  245. package/dist/planmagnet/pages/analytics/SprintDeliveryCards.d.ts.map +1 -1
  246. package/dist/planmagnet/pages/analytics/SprintDeliveryCards.js +139 -112
  247. package/dist/planmagnet/pages/analytics/SprintDeliveryCards.js.map +1 -1
  248. package/dist/planmagnet/pages/analytics/StatusFlowCard.js +21 -21
  249. package/dist/planmagnet/product/ProductControls.js +91 -91
  250. package/dist/planmagnet/reports/ExportMenu.d.ts +9 -0
  251. package/dist/planmagnet/reports/ExportMenu.d.ts.map +1 -0
  252. package/dist/planmagnet/reports/ExportMenu.js +116 -0
  253. package/dist/planmagnet/reports/ExportMenu.js.map +1 -0
  254. package/dist/planmagnet/reports/PrintReportView.d.ts +24 -0
  255. package/dist/planmagnet/reports/PrintReportView.d.ts.map +1 -0
  256. package/dist/planmagnet/reports/PrintReportView.js +75 -0
  257. package/dist/planmagnet/reports/PrintReportView.js.map +1 -0
  258. package/dist/planmagnet/reports/ReportBuilderCanvas.d.ts +8 -0
  259. package/dist/planmagnet/reports/ReportBuilderCanvas.d.ts.map +1 -0
  260. package/dist/planmagnet/reports/ReportBuilderCanvas.js +261 -0
  261. package/dist/planmagnet/reports/ReportBuilderCanvas.js.map +1 -0
  262. package/dist/planmagnet/reports/ReportBuilderPage.d.ts +5 -0
  263. package/dist/planmagnet/reports/ReportBuilderPage.d.ts.map +1 -0
  264. package/dist/planmagnet/reports/ReportBuilderPage.js +198 -0
  265. package/dist/planmagnet/reports/ReportBuilderPage.js.map +1 -0
  266. package/dist/planmagnet/reports/ReportRunHistory.d.ts +8 -0
  267. package/dist/planmagnet/reports/ReportRunHistory.d.ts.map +1 -0
  268. package/dist/planmagnet/reports/ReportRunHistory.js +63 -0
  269. package/dist/planmagnet/reports/ReportRunHistory.js.map +1 -0
  270. package/dist/planmagnet/reports/ReportWidgetRenderer.d.ts +7 -0
  271. package/dist/planmagnet/reports/ReportWidgetRenderer.d.ts.map +1 -0
  272. package/dist/planmagnet/reports/ReportWidgetRenderer.js +251 -0
  273. package/dist/planmagnet/reports/ReportWidgetRenderer.js.map +1 -0
  274. package/dist/planmagnet/reports/SchedulesPanel.d.ts +4 -0
  275. package/dist/planmagnet/reports/SchedulesPanel.d.ts.map +1 -0
  276. package/dist/planmagnet/reports/SchedulesPanel.js +457 -0
  277. package/dist/planmagnet/reports/SchedulesPanel.js.map +1 -0
  278. package/dist/planmagnet/reports/ShareDialog.d.ts +5 -0
  279. package/dist/planmagnet/reports/ShareDialog.d.ts.map +1 -0
  280. package/dist/planmagnet/reports/ShareDialog.js +234 -0
  281. package/dist/planmagnet/reports/ShareDialog.js.map +1 -0
  282. package/dist/planmagnet/reports/SharedReportPage.d.ts +4 -0
  283. package/dist/planmagnet/reports/SharedReportPage.d.ts.map +1 -0
  284. package/dist/planmagnet/reports/SharedReportPage.js +180 -0
  285. package/dist/planmagnet/reports/SharedReportPage.js.map +1 -0
  286. package/dist/planmagnet/reports/WidgetEditorDialog.d.ts +10 -0
  287. package/dist/planmagnet/reports/WidgetEditorDialog.d.ts.map +1 -0
  288. package/dist/planmagnet/reports/WidgetEditorDialog.js +220 -0
  289. package/dist/planmagnet/reports/WidgetEditorDialog.js.map +1 -0
  290. package/dist/planmagnet/reports/reportExportPptx.d.ts +4 -0
  291. package/dist/planmagnet/reports/reportExportPptx.d.ts.map +1 -0
  292. package/dist/planmagnet/reports/reportExportPptx.js +118 -0
  293. package/dist/planmagnet/reports/reportExportPptx.js.map +1 -0
  294. package/dist/planmagnet/reports/reportExportXlsx.d.ts +4 -0
  295. package/dist/planmagnet/reports/reportExportXlsx.d.ts.map +1 -0
  296. package/dist/planmagnet/reports/reportExportXlsx.js +42 -0
  297. package/dist/planmagnet/reports/reportExportXlsx.js.map +1 -0
  298. package/dist/planmagnet/reports/reportGraphql.d.ts +28 -0
  299. package/dist/planmagnet/reports/reportGraphql.d.ts.map +1 -0
  300. package/dist/planmagnet/reports/reportGraphql.js +360 -0
  301. package/dist/planmagnet/reports/reportGraphql.js.map +1 -0
  302. package/dist/planmagnet/reports/reportModel.d.ts +198 -0
  303. package/dist/planmagnet/reports/reportModel.d.ts.map +1 -0
  304. package/dist/planmagnet/reports/reportModel.js +328 -0
  305. package/dist/planmagnet/reports/reportModel.js.map +1 -0
  306. package/dist/planmagnet/reports/sharedReportRoute.d.ts +15 -0
  307. package/dist/planmagnet/reports/sharedReportRoute.d.ts.map +1 -0
  308. package/dist/planmagnet/reports/sharedReportRoute.js +9 -0
  309. package/dist/planmagnet/reports/sharedReportRoute.js.map +1 -0
  310. package/dist/planmagnet/roadmaps/RoadmapControls.js +60 -60
  311. package/dist/planmagnet/roadmaps/RoadmapNowNextLater.js +30 -30
  312. package/dist/planmagnet/roadmaps/RoadmapReviewPanel.js +21 -21
  313. package/dist/planmagnet/roadmaps/RoadmapVersionsPanel.js +22 -22
  314. package/package.json +6 -4
@@ -1,24 +1,28 @@
1
1
  import { usePlanMagnet as e, usePlanMagnetNavigate as t } from "../providers/PlanMagnetProvider.js";
2
2
  import { PersonName as n } from "../people/People.js";
3
3
  import { workProgress as ee } from "../hooks/useCounts.js";
4
+ import { DeliveryForecastCard as te } from "../forecast/DeliveryForecastCard.js";
4
5
  import { enumLabel as r } from "../controls/WorkItemControls.js";
5
6
  import { ROW_LINK_CLASS as i, detailPath as a, rowLinkProps as o } from "../utils/rowNavigation.js";
6
- import { useEntityId as te } from "../hooks/useEntityId.js";
7
- import { combineLiveRefreshModes as ne, useLiveRefresh as s } from "../hooks/useLiveRefresh.js";
7
+ import { useEntityId as ne } from "../hooks/useEntityId.js";
8
+ import { combineLiveRefreshModes as re, useLiveRefresh as s } from "../hooks/useLiveRefresh.js";
8
9
  import { LiveStatus as c } from "../controls/LiveStatus.js";
9
- import { PresenceAvatars as l } from "../presence/PresenceAvatars.js";
10
- import { ProjectComments as u } from "../comments/TargetComments.js";
11
- import { usePresence as re } from "../hooks/usePresence.js";
12
- import { NewRiskDialog as ie, NewTemplateFromProjectDialog as ae } from "../create/CreateDialogs.js";
13
- import { ProjectHeaderActions as oe } from "../controls/ProjectControls.js";
14
- import { ProjectBudgetsSummary as se } from "../budgets/ProjectBudgetsSummary.js";
15
- import { Bot as d, Calendar as f, CheckSquare as p, FolderKanban as m, LayoutTemplate as h, Route as ce, ShieldAlert as le, ShieldCheck as ue, Users as g, Zap as _ } from "lucide-react";
16
- import { gql as v } from "@apollo/client";
17
- import { useQuery as y } from "@apollo/client/react";
18
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
19
- import { Badge as S, Button as C, Card as w, CardContent as T, CardHeader as E, CardTitle as D } from "@burdenoff/fe-libs/ui";
10
+ import { PresenceAvatars as ie } from "../presence/PresenceAvatars.js";
11
+ import { ProjectComments as ae } from "../comments/TargetComments.js";
12
+ import { usePresence as l } from "../hooks/usePresence.js";
13
+ import { NewRiskDialog as u, NewTemplateFromProjectDialog as d } from "../create/CreateDialogs.js";
14
+ import { ProjectHeaderActions as f } from "../controls/ProjectControls.js";
15
+ import { ProjectBudgetsSummary as oe } from "../budgets/ProjectBudgetsSummary.js";
16
+ import { ProjectOutlookCard as se } from "../forecast/ProjectOutlookCard.js";
17
+ import { ResourceForecastCard as p } from "../forecast/ResourceForecastCard.js";
18
+ import { ProjectRiskSummaryCard as ce } from "../forecast/ProjectRiskSummaryCard.js";
19
+ import { Bot as le, Calendar as m, CheckSquare as ue, FolderKanban as h, LayoutTemplate as g, Route as _, ShieldAlert as v, ShieldCheck as y, Users as b, Zap as x } from "lucide-react";
20
+ import { gql as S } from "@apollo/client";
21
+ import { useQuery as de } from "@apollo/client/react";
22
+ import { jsx as C, jsxs as w } from "react/jsx-runtime";
23
+ import { Badge as T, Button as E, Card as D, CardContent as O, CardHeader as k, CardTitle as A } from "@burdenoff/fe-libs/ui";
20
24
  //#region src/planmagnet/pages/ProjectsProjectDetailPagePage.tsx
21
- var O = ["GetProjectDetail"], k = v`
25
+ var j = ["GetProjectDetail"], M = S`
22
26
  query GetProjectDetail($id: ID!) {
23
27
  planmagnetProject(id: $id) {
24
28
  id
@@ -91,64 +95,64 @@ var O = ["GetProjectDetail"], k = v`
91
95
  }
92
96
  }
93
97
  }
94
- `, A = {
98
+ `, N = {
95
99
  ACTIVE: "bg-green-100 text-green-800",
96
100
  ON_HOLD: "bg-orange-100 text-orange-800",
97
101
  CANCELLED: "bg-red-100 text-red-800",
98
102
  COMPLETED: "bg-blue-100 text-blue-800",
99
103
  PLANNING: "bg-gray-100 text-gray-800",
100
104
  ARCHIVED: "bg-gray-100 text-gray-800"
101
- }, j = {
105
+ }, P = {
102
106
  CRITICAL: "bg-red-100 text-red-800",
103
107
  HIGH: "bg-orange-100 text-orange-800",
104
108
  MEDIUM: "bg-yellow-100 text-yellow-800",
105
109
  LOW: "bg-blue-100 text-blue-800",
106
110
  NEGLIGIBLE: "bg-gray-100 text-gray-800"
107
- }, M = new Set([
111
+ }, F = new Set([
108
112
  "IDENTIFIED",
109
113
  "ANALYZING",
110
114
  "MITIGATING",
111
115
  "ACCEPTED"
112
116
  ]);
113
- function N() {
114
- let v = te("projectId"), N = t(), { workspaceId: P } = e(), { data: F, loading: I, error: L } = y(k, {
115
- variables: { id: v },
116
- skip: !v
117
- }), R = s({
117
+ function I() {
118
+ let S = ne("projectId"), I = t(), { workspaceId: L } = e(), { data: R, loading: z, error: B } = de(M, {
119
+ variables: { id: S },
120
+ skip: !S
121
+ }), V = s({
118
122
  kind: "project",
119
- projectId: v,
120
- queries: O
121
- }), z = s({
123
+ projectId: S,
124
+ queries: j
125
+ }), fe = s({
122
126
  kind: "sprint",
123
- projectId: v,
124
- enabled: !!v,
125
- queries: O
126
- }), B = s({
127
+ projectId: S,
128
+ enabled: !!S,
129
+ queries: j
130
+ }), pe = s({
127
131
  kind: "workItem",
128
- projectId: v,
129
- queries: O
130
- }), V = ne(R.mode, z.mode, B.mode), H = re("PROJECT", v);
131
- if (!v) return /* @__PURE__ */ b("div", {
132
+ projectId: S,
133
+ queries: j
134
+ }), me = re(V.mode, fe.mode, pe.mode), H = l("PROJECT", S);
135
+ if (!S) return /* @__PURE__ */ C("div", {
132
136
  className: "p-6 text-muted-foreground",
133
137
  children: "No project selected. Open one from the list."
134
138
  });
135
- if (I && !F) return /* @__PURE__ */ b("div", {
139
+ if (z && !R) return /* @__PURE__ */ C("div", {
136
140
  className: "flex items-center justify-center p-12",
137
- children: /* @__PURE__ */ b("div", { className: "animate-spin h-8 w-8 border-2 border-primary border-t-transparent rounded-full" })
141
+ children: /* @__PURE__ */ C("div", { className: "animate-spin h-8 w-8 border-2 border-primary border-t-transparent rounded-full" })
138
142
  });
139
- if (L) return /* @__PURE__ */ x("div", {
143
+ if (B) return /* @__PURE__ */ w("div", {
140
144
  className: "p-6 text-red-500",
141
- children: ["Error loading project: ", L.message]
145
+ children: ["Error loading project: ", B.message]
142
146
  });
143
- let U = F?.planmagnetProject;
144
- if (!U) return /* @__PURE__ */ b("div", {
147
+ let U = R?.planmagnetProject;
148
+ if (!U) return /* @__PURE__ */ C("div", {
145
149
  className: "p-6 text-muted-foreground",
146
150
  children: "Project not found."
147
151
  });
148
- let W = U.workItems ?? [], G = U.sprints ?? [], K = U.milestones ?? [], q = U.risks ?? [], J = q.filter((e) => M.has(e.status)), de = [...J].sort((e, t) => t.riskScore - e.riskScore).slice(0, 3), Y = G.find((e) => e.status === "ACTIVE"), X = G.filter((e) => e.status === "COMPLETED" && e.velocity != null).sort((e, t) => (t.endDate ?? "").localeCompare(e.endDate ?? ""))[0], Z = ee(W.map((e) => ({
152
+ let W = U.workItems ?? [], G = U.sprints ?? [], K = U.milestones ?? [], q = U.risks ?? [], J = q.filter((e) => F.has(e.status)), he = [...J].sort((e, t) => t.riskScore - e.riskScore).slice(0, 3), Y = G.find((e) => e.status === "ACTIVE"), X = G.filter((e) => e.status === "COMPLETED" && e.velocity != null).sort((e, t) => (t.endDate ?? "").localeCompare(e.endDate ?? ""))[0], Z = ee(W.map((e) => ({
149
153
  status: e.status,
150
154
  storyPoints: e.storyPoints
151
- }))), Q = W.filter((e) => e.status !== "CANCELLED"), fe = Q.filter((e) => e.status === "DONE").length, pe = [...W].sort((e, t) => t.createdAt.localeCompare(e.createdAt)).slice(0, 5), $ = Object.values(W.reduce((e, t) => {
155
+ }))), Q = W.filter((e) => e.status !== "CANCELLED"), ge = Q.filter((e) => e.status === "DONE").length, _e = [...W].sort((e, t) => t.createdAt.localeCompare(e.createdAt)).slice(0, 5), $ = Object.values(W.reduce((e, t) => {
152
156
  if (!t.sprint?.team) return e;
153
157
  let n = e[t.sprint.id] ?? {
154
158
  sprint: {
@@ -163,207 +167,219 @@ function N() {
163
167
  title: t.title
164
168
  }), e[t.sprint.id] = n, e;
165
169
  }, {}));
166
- return /* @__PURE__ */ x("div", {
170
+ return /* @__PURE__ */ w("div", {
167
171
  className: "space-y-6 p-6",
168
172
  children: [
169
- /* @__PURE__ */ x("div", {
173
+ /* @__PURE__ */ w("div", {
170
174
  className: "flex items-center justify-between",
171
- children: [/* @__PURE__ */ x("div", { children: [
172
- /* @__PURE__ */ x("div", {
175
+ children: [/* @__PURE__ */ w("div", { children: [
176
+ /* @__PURE__ */ w("div", {
173
177
  className: "flex items-center gap-2",
174
178
  children: [
175
- /* @__PURE__ */ b(m, { className: "h-5 w-5 text-primary" }),
176
- /* @__PURE__ */ b("h1", {
179
+ /* @__PURE__ */ C(h, { className: "h-5 w-5 text-primary" }),
180
+ /* @__PURE__ */ C("h1", {
177
181
  className: "text-2xl font-semibold",
178
182
  children: U.name
179
183
  }),
180
- /* @__PURE__ */ b("span", {
181
- className: `text-xs px-2 py-0.5 rounded-full capitalize ${A[U.status] ?? "bg-gray-100"}`,
184
+ /* @__PURE__ */ C("span", {
185
+ className: `text-xs px-2 py-0.5 rounded-full capitalize ${N[U.status] ?? "bg-gray-100"}`,
182
186
  children: U.status.toLowerCase().replace("_", " ")
183
187
  }),
184
- /* @__PURE__ */ b(c, { mode: V })
188
+ /* @__PURE__ */ C(c, { mode: me })
185
189
  ]
186
190
  }),
187
- /* @__PURE__ */ b("p", {
191
+ /* @__PURE__ */ C("p", {
188
192
  className: "text-sm text-muted-foreground mt-1",
189
193
  children: U.description ?? "No description"
190
194
  }),
191
- /* @__PURE__ */ b(l, { others: H.others })
192
- ] }), /* @__PURE__ */ x("div", {
195
+ /* @__PURE__ */ C(ie, { others: H.others })
196
+ ] }), /* @__PURE__ */ w("div", {
193
197
  className: "flex flex-col items-end gap-2",
194
198
  children: [
195
- /* @__PURE__ */ b(oe, {
199
+ /* @__PURE__ */ C(f, {
196
200
  projectId: U.id,
197
201
  name: U.name,
198
202
  status: U.status
199
203
  }),
200
- /* @__PURE__ */ x("div", {
204
+ /* @__PURE__ */ w("div", {
201
205
  className: "flex items-center gap-2",
202
206
  children: [
203
- /* @__PURE__ */ x(C, {
207
+ /* @__PURE__ */ w(E, {
204
208
  size: "sm",
205
209
  variant: "outline",
206
- onClick: () => N("/automation/automation-rules-page"),
210
+ onClick: () => I("/automation/automation-rules-page"),
207
211
  "data-testid": "project-automation-rules",
208
- children: [/* @__PURE__ */ b(d, { className: "mr-1 h-4 w-4" }), "Automation rules"]
212
+ children: [/* @__PURE__ */ C(le, { className: "mr-1 h-4 w-4" }), "Automation rules"]
209
213
  }),
210
- /* @__PURE__ */ x(C, {
214
+ /* @__PURE__ */ w(E, {
211
215
  size: "sm",
212
216
  variant: "outline",
213
- onClick: () => N(`/projects/quality-gates-page?projectId=${encodeURIComponent(U.id)}`),
217
+ onClick: () => I(`/projects/quality-gates-page?projectId=${encodeURIComponent(U.id)}`),
214
218
  "data-testid": "project-quality-gates",
215
- children: [/* @__PURE__ */ b(ue, { className: "mr-1 h-4 w-4" }), "Quality gates"]
219
+ children: [/* @__PURE__ */ C(y, { className: "mr-1 h-4 w-4" }), "Quality gates"]
216
220
  }),
217
- /* @__PURE__ */ b(ae, {
221
+ /* @__PURE__ */ C(d, {
218
222
  projectId: U.id,
219
223
  projectName: U.name,
220
- onCreated: (e) => N(a("/templates/edit-template-page", e)),
221
- trigger: /* @__PURE__ */ x(C, {
224
+ onCreated: (e) => I(a("/templates/edit-template-page", e)),
225
+ trigger: /* @__PURE__ */ w(E, {
222
226
  size: "sm",
223
227
  variant: "outline",
224
228
  "data-testid": "project-save-as-template",
225
- children: [/* @__PURE__ */ b(h, { className: "mr-1 h-4 w-4" }), "Save as template"]
229
+ children: [/* @__PURE__ */ C(g, { className: "mr-1 h-4 w-4" }), "Save as template"]
226
230
  })
227
231
  })
228
232
  ]
229
233
  }),
230
- /* @__PURE__ */ b(S, {
234
+ /* @__PURE__ */ C(T, {
231
235
  variant: "outline",
232
236
  className: "capitalize",
233
237
  children: U.methodology.toLowerCase()
234
238
  }),
235
- /* @__PURE__ */ x(C, {
239
+ /* @__PURE__ */ w(E, {
236
240
  size: "sm",
237
241
  variant: "outline",
238
- onClick: () => N(a("/projects/critical-path-page", U.id)),
239
- children: [/* @__PURE__ */ b(ce, { className: "mr-1 h-4 w-4" }), "Critical path"]
242
+ onClick: () => I(a("/projects/critical-path-page", U.id)),
243
+ children: [/* @__PURE__ */ C(_, { className: "mr-1 h-4 w-4" }), "Critical path"]
240
244
  })
241
245
  ]
242
246
  })]
243
247
  }),
244
- /* @__PURE__ */ x("div", {
248
+ /* @__PURE__ */ w("div", {
245
249
  className: "grid grid-cols-2 md:grid-cols-4 gap-4",
246
250
  children: [
247
- /* @__PURE__ */ b(w, { children: /* @__PURE__ */ x(T, {
251
+ /* @__PURE__ */ C(D, { children: /* @__PURE__ */ w(O, {
248
252
  className: "pt-4",
249
- children: [/* @__PURE__ */ x("div", {
253
+ children: [/* @__PURE__ */ w("div", {
250
254
  className: "flex items-center gap-2 text-muted-foreground text-xs",
251
- children: [/* @__PURE__ */ b(p, { className: "h-4 w-4" }), "Work Items"]
252
- }), /* @__PURE__ */ x("p", {
255
+ children: [/* @__PURE__ */ C(ue, { className: "h-4 w-4" }), "Work Items"]
256
+ }), /* @__PURE__ */ w("p", {
253
257
  className: "text-xl font-bold mt-1",
254
258
  children: [
255
- fe,
259
+ ge,
256
260
  "/",
257
261
  Q.length
258
262
  ]
259
263
  })]
260
264
  }) }),
261
- /* @__PURE__ */ b(w, { children: /* @__PURE__ */ x(T, {
265
+ /* @__PURE__ */ C(D, { children: /* @__PURE__ */ w(O, {
262
266
  className: "pt-4",
263
- children: [/* @__PURE__ */ x("div", {
267
+ children: [/* @__PURE__ */ w("div", {
264
268
  className: "flex items-center gap-2 text-muted-foreground text-xs",
265
- children: [/* @__PURE__ */ b(_, { className: "h-4 w-4" }), "Sprints"]
266
- }), /* @__PURE__ */ b("p", {
269
+ children: [/* @__PURE__ */ C(x, { className: "h-4 w-4" }), "Sprints"]
270
+ }), /* @__PURE__ */ C("p", {
267
271
  className: "text-xl font-bold mt-1",
268
272
  children: G.length
269
273
  })]
270
274
  }) }),
271
- /* @__PURE__ */ b(w, { children: /* @__PURE__ */ x(T, {
275
+ /* @__PURE__ */ C(D, { children: /* @__PURE__ */ w(O, {
272
276
  className: "pt-4",
273
- children: [/* @__PURE__ */ x("div", {
277
+ children: [/* @__PURE__ */ w("div", {
274
278
  className: "flex items-center gap-2 text-muted-foreground text-xs",
275
- children: [/* @__PURE__ */ b(f, { className: "h-4 w-4" }), "Milestones"]
276
- }), /* @__PURE__ */ b("p", {
279
+ children: [/* @__PURE__ */ C(m, { className: "h-4 w-4" }), "Milestones"]
280
+ }), /* @__PURE__ */ C("p", {
277
281
  className: "text-xl font-bold mt-1",
278
282
  children: K.length
279
283
  })]
280
284
  }) }),
281
- /* @__PURE__ */ b(w, { children: /* @__PURE__ */ x(T, {
285
+ /* @__PURE__ */ C(D, { children: /* @__PURE__ */ w(O, {
282
286
  className: "pt-4",
283
- children: [/* @__PURE__ */ x("div", {
287
+ children: [/* @__PURE__ */ w("div", {
284
288
  className: "flex items-center gap-2 text-muted-foreground text-xs",
285
- children: [/* @__PURE__ */ b(g, { className: "h-4 w-4" }), "Owner"]
286
- }), /* @__PURE__ */ b("p", {
289
+ children: [/* @__PURE__ */ C(b, { className: "h-4 w-4" }), "Owner"]
290
+ }), /* @__PURE__ */ C("p", {
287
291
  className: "text-sm font-bold mt-1 truncate",
288
- children: /* @__PURE__ */ b(n, { id: U.ownerId })
292
+ children: /* @__PURE__ */ C(n, { id: U.ownerId })
289
293
  })]
290
294
  }) })
291
295
  ]
292
296
  }),
293
- /* @__PURE__ */ x("div", {
297
+ /* @__PURE__ */ w("div", {
298
+ className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
299
+ children: [/* @__PURE__ */ C(te, {
300
+ workspaceId: L,
301
+ projectId: U.id,
302
+ sprintId: Y?.id,
303
+ sprintName: Y?.name
304
+ }), /* @__PURE__ */ C(se, {
305
+ workspaceId: L,
306
+ projectId: U.id
307
+ })]
308
+ }),
309
+ /* @__PURE__ */ w("div", {
294
310
  className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
295
- children: [/* @__PURE__ */ x("div", {
311
+ children: [/* @__PURE__ */ w("div", {
296
312
  className: "lg:col-span-2 space-y-6",
297
313
  children: [
298
- /* @__PURE__ */ x(w, { children: [/* @__PURE__ */ b(E, { children: /* @__PURE__ */ b(D, { children: "Timeline" }) }), /* @__PURE__ */ x(T, { children: [
299
- /* @__PURE__ */ x("div", {
314
+ /* @__PURE__ */ w(D, { children: [/* @__PURE__ */ C(k, { children: /* @__PURE__ */ C(A, { children: "Timeline" }) }), /* @__PURE__ */ w(O, { children: [
315
+ /* @__PURE__ */ w("div", {
300
316
  className: "flex justify-between text-sm mb-2",
301
- children: [/* @__PURE__ */ b("span", {
317
+ children: [/* @__PURE__ */ C("span", {
302
318
  className: "text-muted-foreground",
303
319
  children: "Tasks done"
304
- }), /* @__PURE__ */ b("span", {
320
+ }), /* @__PURE__ */ C("span", {
305
321
  className: "font-medium",
306
322
  children: Z === null ? "No open tasks" : `${Z}%`
307
323
  })]
308
324
  }),
309
- /* @__PURE__ */ b("div", {
325
+ /* @__PURE__ */ C("div", {
310
326
  className: "w-full h-4 rounded-full bg-muted overflow-hidden",
311
- children: /* @__PURE__ */ b("div", {
327
+ children: /* @__PURE__ */ C("div", {
312
328
  className: "h-full bg-primary rounded-full",
313
329
  style: { width: `${Z ?? 0}%` }
314
330
  })
315
331
  }),
316
- /* @__PURE__ */ x("div", {
332
+ /* @__PURE__ */ w("div", {
317
333
  className: "flex justify-between text-xs text-muted-foreground mt-2",
318
- children: [/* @__PURE__ */ b("span", { children: U.startDate ? new Date(U.startDate).toLocaleDateString() : "Not set" }), /* @__PURE__ */ b("span", { children: U.endDate ? new Date(U.endDate).toLocaleDateString() : "Not set" })]
334
+ children: [/* @__PURE__ */ C("span", { children: U.startDate ? new Date(U.startDate).toLocaleDateString() : "Not set" }), /* @__PURE__ */ C("span", { children: U.endDate ? new Date(U.endDate).toLocaleDateString() : "Not set" })]
319
335
  })
320
336
  ] })] }),
321
- Y && /* @__PURE__ */ x(w, { children: [/* @__PURE__ */ b(E, { children: /* @__PURE__ */ x(D, {
337
+ Y && /* @__PURE__ */ w(D, { children: [/* @__PURE__ */ C(k, { children: /* @__PURE__ */ w(A, {
322
338
  className: "flex items-center gap-2",
323
- children: [/* @__PURE__ */ b(_, { className: "h-4 w-4 text-primary" }), "Active Sprint"]
324
- }) }), /* @__PURE__ */ x(T, {
339
+ children: [/* @__PURE__ */ C(x, { className: "h-4 w-4 text-primary" }), "Active Sprint"]
340
+ }) }), /* @__PURE__ */ w(O, {
325
341
  className: "space-y-3",
326
342
  children: [
327
- /* @__PURE__ */ x("div", {
343
+ /* @__PURE__ */ w("div", {
328
344
  className: "flex justify-between",
329
- children: [/* @__PURE__ */ b("span", {
345
+ children: [/* @__PURE__ */ C("span", {
330
346
  className: "font-medium",
331
347
  children: Y.name
332
- }), /* @__PURE__ */ b(S, { children: "Active" })]
348
+ }), /* @__PURE__ */ C(T, { children: "Active" })]
333
349
  }),
334
- Y.goal && /* @__PURE__ */ b("p", {
350
+ Y.goal && /* @__PURE__ */ C("p", {
335
351
  className: "text-sm text-muted-foreground",
336
352
  children: Y.goal
337
353
  }),
338
- /* @__PURE__ */ x("div", {
354
+ /* @__PURE__ */ w("div", {
339
355
  className: "grid grid-cols-3 gap-4 text-center",
340
356
  children: [
341
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("p", {
357
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("p", {
342
358
  className: "text-lg font-semibold",
343
359
  children: [
344
360
  Y.workItems?.filter((e) => e.status === "DONE").reduce((e, t) => e + (t.storyPoints ?? 0), 0),
345
361
  "/",
346
362
  Y.workItems?.reduce((e, t) => e + (t.storyPoints ?? 0), 0) ?? 0
347
363
  ]
348
- }), /* @__PURE__ */ b("p", {
364
+ }), /* @__PURE__ */ C("p", {
349
365
  className: "text-xs text-muted-foreground",
350
366
  children: "Points"
351
367
  })] }),
352
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("p", {
368
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("p", {
353
369
  className: "text-lg font-semibold",
354
370
  children: [
355
371
  Y.workItems?.filter((e) => e.status === "DONE").length ?? 0,
356
372
  "/",
357
373
  Y.workItems?.length ?? 0
358
374
  ]
359
- }), /* @__PURE__ */ b("p", {
375
+ }), /* @__PURE__ */ C("p", {
360
376
  className: "text-xs text-muted-foreground",
361
377
  children: "Tasks"
362
378
  })] }),
363
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
379
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
364
380
  className: "text-lg font-semibold",
365
381
  children: X ? `${X.velocity} pts` : "—"
366
- }), /* @__PURE__ */ b("p", {
382
+ }), /* @__PURE__ */ C("p", {
367
383
  className: "text-xs text-muted-foreground",
368
384
  children: "Velocity of the last sprint"
369
385
  })] })
@@ -371,105 +387,113 @@ function N() {
371
387
  })
372
388
  ]
373
389
  })] }),
374
- /* @__PURE__ */ x(w, { children: [/* @__PURE__ */ b(E, { children: /* @__PURE__ */ x(D, { children: [
390
+ /* @__PURE__ */ w(D, { children: [/* @__PURE__ */ C(k, { children: /* @__PURE__ */ w(A, { children: [
375
391
  "Work items (",
376
392
  W.length,
377
393
  ")",
378
394
  W.length > 5 ? " · latest 5" : ""
379
- ] }) }), /* @__PURE__ */ x(T, {
395
+ ] }) }), /* @__PURE__ */ w(O, {
380
396
  className: "space-y-2",
381
- children: [pe.map((e) => /* @__PURE__ */ x("div", {
382
- ...o(() => N(`/tasks/task-detail-page?taskId=${encodeURIComponent(e.id)}`), e.key),
397
+ children: [_e.map((e) => /* @__PURE__ */ w("div", {
398
+ ...o(() => I(`/tasks/task-detail-page?taskId=${encodeURIComponent(e.id)}`), e.key),
383
399
  className: `flex items-center justify-between border rounded-md p-2.5 ${i}`,
384
- children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("p", {
400
+ children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("p", {
385
401
  className: "text-sm font-medium",
386
402
  children: [
387
403
  e.key,
388
404
  " ",
389
- /* @__PURE__ */ b("span", {
405
+ /* @__PURE__ */ C("span", {
390
406
  className: "font-normal",
391
407
  children: e.title
392
408
  })
393
409
  ]
394
- }), /* @__PURE__ */ b("div", {
410
+ }), /* @__PURE__ */ C("div", {
395
411
  className: "flex gap-1 mt-1",
396
- children: e.labels.map((e) => /* @__PURE__ */ b("span", {
412
+ children: e.labels.map((e) => /* @__PURE__ */ C("span", {
397
413
  className: "text-[10px] px-1.5 py-0.5 rounded bg-muted",
398
414
  children: e
399
415
  }, e))
400
- })] }), /* @__PURE__ */ x("div", {
416
+ })] }), /* @__PURE__ */ w("div", {
401
417
  className: "flex items-center gap-2",
402
- children: [/* @__PURE__ */ x("span", {
418
+ children: [/* @__PURE__ */ w("span", {
403
419
  className: "text-xs text-muted-foreground",
404
420
  children: [e.storyPoints ?? 0, " pts"]
405
- }), /* @__PURE__ */ b(S, {
421
+ }), /* @__PURE__ */ C(T, {
406
422
  variant: "secondary",
407
423
  className: "capitalize text-xs",
408
424
  children: e.status.toLowerCase().replace("_", " ")
409
425
  })]
410
426
  })]
411
- }, e.id)), W.length === 0 && /* @__PURE__ */ b("p", {
427
+ }, e.id)), W.length === 0 && /* @__PURE__ */ C("p", {
412
428
  className: "text-sm text-muted-foreground text-center py-4",
413
429
  children: "No work items yet."
414
430
  })]
415
431
  })] }),
416
- /* @__PURE__ */ b(u, {
432
+ /* @__PURE__ */ C(ae, {
417
433
  projectId: U.id,
418
434
  presence: H
419
435
  })
420
436
  ]
421
- }), /* @__PURE__ */ x("div", {
437
+ }), /* @__PURE__ */ w("div", {
422
438
  className: "space-y-6",
423
439
  children: [
424
- /* @__PURE__ */ b(se, {
425
- workspaceId: P,
440
+ /* @__PURE__ */ C(oe, {
441
+ workspaceId: L,
442
+ projectId: U.id
443
+ }),
444
+ /* @__PURE__ */ C(p, {
445
+ workspaceId: L,
446
+ projectId: U.id
447
+ }),
448
+ /* @__PURE__ */ C(ce, {
449
+ workspaceId: L,
426
450
  projectId: U.id
427
451
  }),
428
- /* @__PURE__ */ x(w, { children: [/* @__PURE__ */ b(E, { children: /* @__PURE__ */ x(D, { children: [
452
+ /* @__PURE__ */ w(D, { children: [/* @__PURE__ */ C(k, { children: /* @__PURE__ */ w(A, { children: [
429
453
  "Milestones (",
430
454
  K.length,
431
455
  ")"
432
- ] }) }), /* @__PURE__ */ x(T, {
456
+ ] }) }), /* @__PURE__ */ w(O, {
433
457
  className: "space-y-3",
434
- children: [K.map((e) => /* @__PURE__ */ x("div", {
458
+ children: [K.map((e) => /* @__PURE__ */ w("div", {
435
459
  className: "border-b pb-2 last:border-0",
436
- children: [/* @__PURE__ */ x("div", {
460
+ children: [/* @__PURE__ */ w("div", {
437
461
  className: "flex justify-between",
438
- children: [/* @__PURE__ */ b("span", {
462
+ children: [/* @__PURE__ */ C("span", {
439
463
  className: "text-sm font-medium",
440
464
  children: e.name
441
- }), /* @__PURE__ */ b(S, {
465
+ }), /* @__PURE__ */ C(T, {
442
466
  variant: "outline",
443
467
  className: "text-xs capitalize",
444
468
  children: e.status.toLowerCase().replace("_", " ")
445
469
  })]
446
- }), /* @__PURE__ */ x("div", {
470
+ }), /* @__PURE__ */ w("div", {
447
471
  className: "flex items-center gap-1 text-xs text-muted-foreground mt-1",
448
- children: [/* @__PURE__ */ b(f, { className: "h-3 w-3" }), e.dueDate ? new Date(e.dueDate).toLocaleDateString() : "No due date"]
472
+ children: [/* @__PURE__ */ C(m, { className: "h-3 w-3" }), e.dueDate ? new Date(e.dueDate).toLocaleDateString() : "No due date"]
449
473
  })]
450
- }, e.id)), K.length === 0 && /* @__PURE__ */ b("p", {
474
+ }, e.id)), K.length === 0 && /* @__PURE__ */ C("p", {
451
475
  className: "text-sm text-muted-foreground text-center py-2",
452
476
  children: "No milestones."
453
477
  })]
454
478
  })] }),
455
- $.length > 0 && /* @__PURE__ */ x(w, {
479
+ $.length > 0 && /* @__PURE__ */ w(D, {
456
480
  "data-testid": "team-sprint-work",
457
- children: [/* @__PURE__ */ b(E, { children: /* @__PURE__ */ x(D, {
481
+ children: [/* @__PURE__ */ C(k, { children: /* @__PURE__ */ w(A, {
458
482
  className: "flex items-center gap-2",
459
- children: [/* @__PURE__ */ b(g, { className: "h-4 w-4" }), "Team sprint work"]
460
- }) }), /* @__PURE__ */ b(T, {
483
+ children: [/* @__PURE__ */ C(b, { className: "h-4 w-4" }), "Team sprint work"]
484
+ }) }), /* @__PURE__ */ C(O, {
461
485
  className: "space-y-3",
462
- children: $.map((e) => /* @__PURE__ */ x("div", {
486
+ children: $.map((e) => /* @__PURE__ */ w("div", {
463
487
  className: "border-b pb-2 last:border-0",
464
- children: [/* @__PURE__ */ b("button", {
488
+ children: [/* @__PURE__ */ C("button", {
465
489
  type: "button",
466
490
  className: "text-sm font-medium hover:underline text-left",
467
- onClick: () => N(a("/projects/planning-detail-page", e.sprint.id)),
491
+ onClick: () => I(a("/projects/planning-detail-page", e.sprint.id)),
468
492
  children: e.sprint.name
469
- }), /* @__PURE__ */ x("button", {
493
+ }), /* @__PURE__ */ w("button", {
470
494
  type: "button",
471
495
  className: "block text-xs text-muted-foreground hover:underline",
472
- onClick: () => N(a("/team/team-detail-page", e.sprint.team.id)),
496
+ onClick: () => I(a("/team/team-detail-page", e.sprint.team.id)),
473
497
  children: [
474
498
  e.items.length,
475
499
  " item",
@@ -482,36 +506,36 @@ function N() {
482
506
  }, e.sprint.id))
483
507
  })]
484
508
  }),
485
- /* @__PURE__ */ x(w, { children: [/* @__PURE__ */ x(E, {
509
+ /* @__PURE__ */ w(D, { children: [/* @__PURE__ */ w(k, {
486
510
  className: "flex flex-row items-center justify-between space-y-0",
487
- children: [/* @__PURE__ */ x(D, {
511
+ children: [/* @__PURE__ */ w(A, {
488
512
  className: "flex items-center gap-2",
489
513
  children: [
490
- /* @__PURE__ */ b(le, { className: "h-4 w-4 text-primary" }),
514
+ /* @__PURE__ */ C(v, { className: "h-4 w-4 text-primary" }),
491
515
  "Risks (",
492
516
  J.length,
493
517
  " open)"
494
518
  ]
495
- }), /* @__PURE__ */ b(ie, {
519
+ }), /* @__PURE__ */ C(u, {
496
520
  projectId: U.id,
497
- onCreated: (e) => N(a("/risks/risk-detail-page", e))
521
+ onCreated: (e) => I(a("/risks/risk-detail-page", e))
498
522
  })]
499
- }), /* @__PURE__ */ x(T, {
523
+ }), /* @__PURE__ */ w(O, {
500
524
  className: "space-y-3",
501
525
  children: [
502
- de.map((e) => /* @__PURE__ */ x("div", {
503
- ...o(() => N(a("/risks/risk-detail-page", e.id)), e.title),
526
+ he.map((e) => /* @__PURE__ */ w("div", {
527
+ ...o(() => I(a("/risks/risk-detail-page", e.id)), e.title),
504
528
  className: `border-b pb-2 last:border-0 ${i}`,
505
- children: [/* @__PURE__ */ x("div", {
529
+ children: [/* @__PURE__ */ w("div", {
506
530
  className: "flex justify-between gap-2",
507
- children: [/* @__PURE__ */ b("span", {
531
+ children: [/* @__PURE__ */ C("span", {
508
532
  className: "text-sm font-medium truncate",
509
533
  children: e.title
510
- }), /* @__PURE__ */ b("span", {
511
- className: `text-xs px-2 py-0.5 rounded-full shrink-0 ${j[e.severity] ?? "bg-gray-100"}`,
534
+ }), /* @__PURE__ */ C("span", {
535
+ className: `text-xs px-2 py-0.5 rounded-full shrink-0 ${P[e.severity] ?? "bg-gray-100"}`,
512
536
  children: r(e.severity)
513
537
  })]
514
- }), /* @__PURE__ */ x("div", {
538
+ }), /* @__PURE__ */ w("div", {
515
539
  className: "text-xs text-muted-foreground mt-1",
516
540
  children: [
517
541
  "Score ",
@@ -521,14 +545,14 @@ function N() {
521
545
  ]
522
546
  })]
523
547
  }, e.id)),
524
- J.length === 0 && /* @__PURE__ */ b("p", {
548
+ J.length === 0 && /* @__PURE__ */ C("p", {
525
549
  className: "text-sm text-muted-foreground text-center py-2",
526
550
  children: "No open risks."
527
551
  }),
528
- /* @__PURE__ */ x("button", {
552
+ /* @__PURE__ */ w("button", {
529
553
  type: "button",
530
554
  className: "text-xs text-primary hover:underline",
531
- onClick: () => N(`/risks/risk-register-page?projectId=${encodeURIComponent(U.id)}`),
555
+ onClick: () => I(`/risks/risk-register-page?projectId=${encodeURIComponent(U.id)}`),
532
556
  children: [
533
557
  "View risk register (",
534
558
  q.length,
@@ -537,59 +561,59 @@ function N() {
537
561
  })
538
562
  ]
539
563
  })] }),
540
- /* @__PURE__ */ x(w, { children: [/* @__PURE__ */ b(E, { children: /* @__PURE__ */ b(D, { children: "Details" }) }), /* @__PURE__ */ x(T, {
564
+ /* @__PURE__ */ w(D, { children: [/* @__PURE__ */ C(k, { children: /* @__PURE__ */ C(A, { children: "Details" }) }), /* @__PURE__ */ w(O, {
541
565
  className: "space-y-2 text-sm",
542
566
  children: [
543
- /* @__PURE__ */ x("div", {
567
+ /* @__PURE__ */ w("div", {
544
568
  className: "flex justify-between",
545
- children: [/* @__PURE__ */ b("span", {
569
+ children: [/* @__PURE__ */ C("span", {
546
570
  className: "text-muted-foreground",
547
571
  children: "Owner"
548
- }), /* @__PURE__ */ b("span", { children: /* @__PURE__ */ b(n, { id: U.ownerId }) })]
572
+ }), /* @__PURE__ */ C("span", { children: /* @__PURE__ */ C(n, { id: U.ownerId }) })]
549
573
  }),
550
- /* @__PURE__ */ x("div", {
574
+ /* @__PURE__ */ w("div", {
551
575
  className: "flex justify-between",
552
- children: [/* @__PURE__ */ b("span", {
576
+ children: [/* @__PURE__ */ C("span", {
553
577
  className: "text-muted-foreground",
554
578
  children: "Key"
555
- }), /* @__PURE__ */ b("span", {
579
+ }), /* @__PURE__ */ C("span", {
556
580
  className: "font-mono",
557
581
  children: U.key
558
582
  })]
559
583
  }),
560
- /* @__PURE__ */ x("div", {
584
+ /* @__PURE__ */ w("div", {
561
585
  className: "flex justify-between",
562
- children: [/* @__PURE__ */ b("span", {
586
+ children: [/* @__PURE__ */ C("span", {
563
587
  className: "text-muted-foreground",
564
588
  children: "Methodology"
565
- }), /* @__PURE__ */ b("span", {
589
+ }), /* @__PURE__ */ C("span", {
566
590
  className: "capitalize",
567
591
  children: U.methodology.toLowerCase()
568
592
  })]
569
593
  }),
570
- /* @__PURE__ */ x("div", {
594
+ /* @__PURE__ */ w("div", {
571
595
  className: "flex justify-between",
572
- children: [/* @__PURE__ */ b("span", {
596
+ children: [/* @__PURE__ */ C("span", {
573
597
  className: "text-muted-foreground",
574
598
  children: "Program"
575
- }), U.program ? /* @__PURE__ */ b("button", {
599
+ }), U.program ? /* @__PURE__ */ C("button", {
576
600
  type: "button",
577
601
  className: "text-primary hover:underline underline-offset-2",
578
- onClick: () => N(a("/products/program-detail-page", U.program.id)),
602
+ onClick: () => I(a("/products/program-detail-page", U.program.id)),
579
603
  children: U.program.name
580
- }) : /* @__PURE__ */ b("span", {
604
+ }) : /* @__PURE__ */ C("span", {
581
605
  className: "text-muted-foreground",
582
606
  children: "No program"
583
607
  })]
584
608
  }),
585
- U.tags.length > 0 && /* @__PURE__ */ x("div", {
609
+ U.tags.length > 0 && /* @__PURE__ */ w("div", {
586
610
  className: "flex justify-between items-start",
587
- children: [/* @__PURE__ */ b("span", {
611
+ children: [/* @__PURE__ */ C("span", {
588
612
  className: "text-muted-foreground",
589
613
  children: "Tags"
590
- }), /* @__PURE__ */ b("div", {
614
+ }), /* @__PURE__ */ C("div", {
591
615
  className: "flex gap-1 flex-wrap justify-end",
592
- children: U.tags.map((e) => /* @__PURE__ */ b(S, {
616
+ children: U.tags.map((e) => /* @__PURE__ */ C(T, {
593
617
  variant: "outline",
594
618
  className: "text-xs",
595
619
  children: e
@@ -605,6 +629,6 @@ function N() {
605
629
  });
606
630
  }
607
631
  //#endregion
608
- export { N as ProjectsProjectDetailPagePage };
632
+ export { I as ProjectsProjectDetailPagePage };
609
633
 
610
634
  //# sourceMappingURL=ProjectsProjectDetailPagePage.js.map