@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.
- package/dist/_virtual/__vite-browser-external.js +9 -0
- package/dist/_virtual/__vite-browser-external.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.js +5 -2
- package/dist/index.js +3 -1
- package/dist/node_modules/fflate/esm/browser.js +554 -0
- package/dist/node_modules/fflate/esm/browser.js.map +1 -0
- package/dist/node_modules/jszip/dist/jszip.min.js +3038 -0
- package/dist/node_modules/jszip/dist/jszip.min.js.map +1 -0
- package/dist/node_modules/pptxgenjs/dist/pptxgen.es.js +2151 -0
- package/dist/node_modules/pptxgenjs/dist/pptxgen.es.js.map +1 -0
- package/dist/node_modules/write-excel-file/browser/index.js +3 -0
- package/dist/node_modules/write-excel-file/modules/export/convertFileContentToUint8ArrayBrowser.js +13 -0
- package/dist/node_modules/write-excel-file/modules/export/convertFileContentToUint8ArrayBrowser.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/export/convertFilesContentToUint8Arrays.js +21 -0
- package/dist/node_modules/write-excel-file/modules/export/convertFilesContentToUint8Arrays.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/export/downloadBlob.js +11 -0
- package/dist/node_modules/write-excel-file/modules/export/downloadBlob.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileBrowser.js +23 -0
- package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileBrowser.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileUniversal.js +22 -0
- package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileUniversal.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/getSheetData/getSheetData.js +18 -0
- package/dist/node_modules/write-excel-file/modules/getSheetData/getSheetData.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/conditionalFormatting.js +131 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/conditionalFormatting.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/images.js +188 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/images.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/stickyRowsOrColumns.js +52 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/stickyRowsOrColumns.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/_Content_Types_.xml.js +18 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/_Content_Types_.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.js +18 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.rels.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.rels.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/rels.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/rels.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sharedStrings.xml.js +42 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sharedStrings.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/cell.js +102 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/cell.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/column.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/column.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/columns.js +15 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/columns.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/drawingReference.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/drawingReference.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/helpers/getCellStyleProperties.js +71 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/helpers/getCellStyleProperties.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/mergedCellsDescription.js +56 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/mergedCellsDescription.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageMargins.js +15 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageMargins.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageSetup.js +13 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageSetup.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/processMergedCells.js +44 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/processMergedCells.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/row.js +123 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/row.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheet.xml.js +41 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheet.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetData.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetData.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetViews.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetViews.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml.rels.js +20 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml.rels.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/styles.xml.js +77 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/styles.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.js +22 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.rels.js +13 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.rels.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/generateXlsxFileContents.js +242 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/generateXlsxFileContents.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/getFeatures.js +29 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/getFeatures.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/convertDateToSerialNumber.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/convertDateToSerialNumber.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getAdditionalContent.js +42 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getAdditionalContent.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getElementXml.js +43 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getElementXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getWrittenFiles.js +93 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getWrittenFiles.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/transformContent.js +39 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/transformContent.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getAlignmentXml.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getAlignmentXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getBorderXml.js +29 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getBorderXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getCellAddress.js +14 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getCellAddress.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFileExtensionForContentType.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFileExtensionForContentType.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFillXml.js +14 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFillXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFontXml.js +12 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFontXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getOrderOfSiblings.js +24 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getOrderOfSiblings.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getXlsxColorForHexColor.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getXlsxColorForHexColor.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasAlignment.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasAlignment.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasBorder.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasBorder.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFill.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFill.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFont.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFont.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isCellObject.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isCellObject.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isObject.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isObject.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/orderOfSiblings.js +27 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/orderOfSiblings.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeSharedStrings.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeSharedStrings.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeSheets.js +74 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeSheets.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeStyles.js +138 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeStyles.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetData.js +40 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetData.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetName.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetName.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/appendMarkupInsideElement.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/appendMarkupInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/applyEnclosingElementOffset.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/applyEnclosingElementOffset.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/escapeXmlSpecialCharacters.js +12 -0
- package/dist/node_modules/write-excel-file/modules/xml/escapeXmlSpecialCharacters.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElement.js +12 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElementInsideElement.js +12 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElementInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElementsNonRecursive_.js +41 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElementsNonRecursive_.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getAttributesString.js +14 -0
- package/dist/node_modules/write-excel-file/modules/xml/getAttributesString.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getChildElements.js +42 -0
- package/dist/node_modules/write-excel-file/modules/xml/getChildElements.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getClosingTagMarkup.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xml/getClosingTagMarkup.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getMarkupInsideElement.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xml/getMarkupInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getOpeningTagMarkup.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/getOpeningTagMarkup.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getSelfClosingTagMarkup.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/getSelfClosingTagMarkup.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/insertElementMarkupAccordingToOrderOfSiblings.js +64 -0
- package/dist/node_modules/write-excel-file/modules/xml/insertElementMarkupAccordingToOrderOfSiblings.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/prependMarkupInsideElement.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/prependMarkupInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/removeInvalidXmlCharacters.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/removeInvalidXmlCharacters.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/replaceElement.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xml/replaceElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeName.js +10 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeName.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeValue.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeValue.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeTextContent.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeTextContent.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/setMarkupInsideElement.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xml/setMarkupInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/zip/zipToArrayBuffer.js +18 -0
- package/dist/node_modules/write-excel-file/modules/zip/zipToArrayBuffer.js.map +1 -0
- package/dist/planmagnet/PlanMagnetRoot.d.ts.map +1 -1
- package/dist/planmagnet/PlanMagnetRoot.js +160 -147
- package/dist/planmagnet/PlanMagnetRoot.js.map +1 -1
- package/dist/planmagnet/PlanMagnetRoutes.d.ts.map +1 -1
- package/dist/planmagnet/PlanMagnetRoutes.js +126 -106
- package/dist/planmagnet/PlanMagnetRoutes.js.map +1 -1
- package/dist/planmagnet/comments/CommentThread.js +36 -36
- package/dist/planmagnet/comments/RoadmapComments.js +21 -21
- package/dist/planmagnet/controls/AutomationRuleControls.js +24 -24
- package/dist/planmagnet/controls/FeatureControls.js +60 -60
- package/dist/planmagnet/controls/Pickers.d.ts +10 -0
- package/dist/planmagnet/controls/Pickers.d.ts.map +1 -1
- package/dist/planmagnet/controls/Pickers.js +75 -27
- package/dist/planmagnet/controls/Pickers.js.map +1 -1
- package/dist/planmagnet/controls/SyncControls.js +59 -59
- package/dist/planmagnet/discussion/WorkItemDiscussionPanel.js +15 -15
- package/dist/planmagnet/docs/DocSuggestionsPanel.js +12 -12
- package/dist/planmagnet/docs/DocVersionCompare.js +3 -3
- package/dist/planmagnet/forecast/DeliveryForecastCard.d.ts +12 -0
- package/dist/planmagnet/forecast/DeliveryForecastCard.d.ts.map +1 -0
- package/dist/planmagnet/forecast/DeliveryForecastCard.js +208 -0
- package/dist/planmagnet/forecast/DeliveryForecastCard.js.map +1 -0
- package/dist/planmagnet/forecast/ProjectOutlookCard.d.ts +5 -0
- package/dist/planmagnet/forecast/ProjectOutlookCard.d.ts.map +1 -0
- package/dist/planmagnet/forecast/ProjectOutlookCard.js +190 -0
- package/dist/planmagnet/forecast/ProjectOutlookCard.js.map +1 -0
- package/dist/planmagnet/forecast/ProjectRiskSummaryCard.d.ts +5 -0
- package/dist/planmagnet/forecast/ProjectRiskSummaryCard.d.ts.map +1 -0
- package/dist/planmagnet/forecast/ProjectRiskSummaryCard.js +99 -0
- package/dist/planmagnet/forecast/ProjectRiskSummaryCard.js.map +1 -0
- package/dist/planmagnet/forecast/ResourceForecastCard.d.ts +8 -0
- package/dist/planmagnet/forecast/ResourceForecastCard.d.ts.map +1 -0
- package/dist/planmagnet/forecast/ResourceForecastCard.js +185 -0
- package/dist/planmagnet/forecast/ResourceForecastCard.js.map +1 -0
- package/dist/planmagnet/forecast/riskFlags.d.ts +35 -0
- package/dist/planmagnet/forecast/riskFlags.d.ts.map +1 -0
- package/dist/planmagnet/forecast/riskFlags.js +37 -0
- package/dist/planmagnet/forecast/riskFlags.js.map +1 -0
- package/dist/planmagnet/index.d.ts +2 -0
- package/dist/planmagnet/index.d.ts.map +1 -1
- package/dist/planmagnet/index.js +2 -0
- package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.js +216 -182
- package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
- package/dist/planmagnet/pages/AutomationAutomationRuleDetailPagePage.js +11 -11
- package/dist/planmagnet/pages/AutomationCreateAutomationRulePagePage.js +4 -4
- package/dist/planmagnet/pages/DocsDocDetailPagePage.js +163 -163
- package/dist/planmagnet/pages/DocsDocDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/IntegrationsNewSyncPagePage.js +165 -165
- package/dist/planmagnet/pages/IntegrationsNewSyncPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProjectsAtRiskPagePage.d.ts +2 -0
- package/dist/planmagnet/pages/ProjectsAtRiskPagePage.d.ts.map +1 -0
- package/dist/planmagnet/pages/ProjectsAtRiskPagePage.js +234 -0
- package/dist/planmagnet/pages/ProjectsAtRiskPagePage.js.map +1 -0
- package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js +206 -182
- package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ReportsCreateReportPagePage.d.ts +6 -0
- package/dist/planmagnet/pages/ReportsCreateReportPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ReportsCreateReportPagePage.js +5 -177
- package/dist/planmagnet/pages/ReportsCreateReportPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ReportsEditReportPagePage.d.ts +3 -0
- package/dist/planmagnet/pages/ReportsEditReportPagePage.d.ts.map +1 -0
- package/dist/planmagnet/pages/ReportsEditReportPagePage.js +15 -0
- package/dist/planmagnet/pages/ReportsEditReportPagePage.js.map +1 -0
- package/dist/planmagnet/pages/ReportsReportPagePage.d.ts +7 -0
- package/dist/planmagnet/pages/ReportsReportPagePage.d.ts.map +1 -0
- package/dist/planmagnet/pages/ReportsReportPagePage.js +226 -0
- package/dist/planmagnet/pages/ReportsReportPagePage.js.map +1 -0
- package/dist/planmagnet/pages/ReportsReportsPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ReportsReportsPagePage.js +224 -496
- package/dist/planmagnet/pages/ReportsReportsPagePage.js.map +1 -1
- package/dist/planmagnet/pages/TeamTeamDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/TeamTeamDetailPagePage.js +88 -83
- package/dist/planmagnet/pages/TeamTeamDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/analytics/SprintDeliveryCards.d.ts.map +1 -1
- package/dist/planmagnet/pages/analytics/SprintDeliveryCards.js +139 -112
- package/dist/planmagnet/pages/analytics/SprintDeliveryCards.js.map +1 -1
- package/dist/planmagnet/pages/analytics/StatusFlowCard.js +21 -21
- package/dist/planmagnet/product/ProductControls.js +91 -91
- package/dist/planmagnet/reports/ExportMenu.d.ts +9 -0
- package/dist/planmagnet/reports/ExportMenu.d.ts.map +1 -0
- package/dist/planmagnet/reports/ExportMenu.js +116 -0
- package/dist/planmagnet/reports/ExportMenu.js.map +1 -0
- package/dist/planmagnet/reports/PrintReportView.d.ts +24 -0
- package/dist/planmagnet/reports/PrintReportView.d.ts.map +1 -0
- package/dist/planmagnet/reports/PrintReportView.js +75 -0
- package/dist/planmagnet/reports/PrintReportView.js.map +1 -0
- package/dist/planmagnet/reports/ReportBuilderCanvas.d.ts +8 -0
- package/dist/planmagnet/reports/ReportBuilderCanvas.d.ts.map +1 -0
- package/dist/planmagnet/reports/ReportBuilderCanvas.js +261 -0
- package/dist/planmagnet/reports/ReportBuilderCanvas.js.map +1 -0
- package/dist/planmagnet/reports/ReportBuilderPage.d.ts +5 -0
- package/dist/planmagnet/reports/ReportBuilderPage.d.ts.map +1 -0
- package/dist/planmagnet/reports/ReportBuilderPage.js +198 -0
- package/dist/planmagnet/reports/ReportBuilderPage.js.map +1 -0
- package/dist/planmagnet/reports/ReportRunHistory.d.ts +8 -0
- package/dist/planmagnet/reports/ReportRunHistory.d.ts.map +1 -0
- package/dist/planmagnet/reports/ReportRunHistory.js +63 -0
- package/dist/planmagnet/reports/ReportRunHistory.js.map +1 -0
- package/dist/planmagnet/reports/ReportWidgetRenderer.d.ts +7 -0
- package/dist/planmagnet/reports/ReportWidgetRenderer.d.ts.map +1 -0
- package/dist/planmagnet/reports/ReportWidgetRenderer.js +251 -0
- package/dist/planmagnet/reports/ReportWidgetRenderer.js.map +1 -0
- package/dist/planmagnet/reports/SchedulesPanel.d.ts +4 -0
- package/dist/planmagnet/reports/SchedulesPanel.d.ts.map +1 -0
- package/dist/planmagnet/reports/SchedulesPanel.js +457 -0
- package/dist/planmagnet/reports/SchedulesPanel.js.map +1 -0
- package/dist/planmagnet/reports/ShareDialog.d.ts +5 -0
- package/dist/planmagnet/reports/ShareDialog.d.ts.map +1 -0
- package/dist/planmagnet/reports/ShareDialog.js +234 -0
- package/dist/planmagnet/reports/ShareDialog.js.map +1 -0
- package/dist/planmagnet/reports/SharedReportPage.d.ts +4 -0
- package/dist/planmagnet/reports/SharedReportPage.d.ts.map +1 -0
- package/dist/planmagnet/reports/SharedReportPage.js +180 -0
- package/dist/planmagnet/reports/SharedReportPage.js.map +1 -0
- package/dist/planmagnet/reports/WidgetEditorDialog.d.ts +10 -0
- package/dist/planmagnet/reports/WidgetEditorDialog.d.ts.map +1 -0
- package/dist/planmagnet/reports/WidgetEditorDialog.js +220 -0
- package/dist/planmagnet/reports/WidgetEditorDialog.js.map +1 -0
- package/dist/planmagnet/reports/reportExportPptx.d.ts +4 -0
- package/dist/planmagnet/reports/reportExportPptx.d.ts.map +1 -0
- package/dist/planmagnet/reports/reportExportPptx.js +118 -0
- package/dist/planmagnet/reports/reportExportPptx.js.map +1 -0
- package/dist/planmagnet/reports/reportExportXlsx.d.ts +4 -0
- package/dist/planmagnet/reports/reportExportXlsx.d.ts.map +1 -0
- package/dist/planmagnet/reports/reportExportXlsx.js +42 -0
- package/dist/planmagnet/reports/reportExportXlsx.js.map +1 -0
- package/dist/planmagnet/reports/reportGraphql.d.ts +28 -0
- package/dist/planmagnet/reports/reportGraphql.d.ts.map +1 -0
- package/dist/planmagnet/reports/reportGraphql.js +360 -0
- package/dist/planmagnet/reports/reportGraphql.js.map +1 -0
- package/dist/planmagnet/reports/reportModel.d.ts +198 -0
- package/dist/planmagnet/reports/reportModel.d.ts.map +1 -0
- package/dist/planmagnet/reports/reportModel.js +328 -0
- package/dist/planmagnet/reports/reportModel.js.map +1 -0
- package/dist/planmagnet/reports/sharedReportRoute.d.ts +15 -0
- package/dist/planmagnet/reports/sharedReportRoute.d.ts.map +1 -0
- package/dist/planmagnet/reports/sharedReportRoute.js +9 -0
- package/dist/planmagnet/reports/sharedReportRoute.js.map +1 -0
- package/dist/planmagnet/roadmaps/RoadmapControls.js +60 -60
- package/dist/planmagnet/roadmaps/RoadmapNowNextLater.js +30 -30
- package/dist/planmagnet/roadmaps/RoadmapReviewPanel.js +21 -21
- package/dist/planmagnet/roadmaps/RoadmapVersionsPanel.js +22 -22
- package/package.json +6 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { usePlanMagnet as e, usePlanMagnetNavigate as t } from "../providers/PlanMagnetProvider.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { mutationErrorMessage as n } from "../utils/graphqlErrors.js";
|
|
3
|
+
import { LEAVES_PAGE_CONTEXT as r, throwOnError as i } from "../utils/mutationResult.js";
|
|
4
|
+
import { ConfirmButton as a, ErrorLine as o } from "../controls/ConfirmButton.js";
|
|
5
|
+
import { enumLabel as s } from "../controls/WorkItemControls.js";
|
|
6
6
|
import { detailPath as c } from "../utils/rowNavigation.js";
|
|
7
7
|
import { CompetitorSearchSelect as l } from "../controls/Pickers.js";
|
|
8
8
|
import { useState as u } from "react";
|
|
@@ -35,10 +35,10 @@ var F = [
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
`;
|
|
38
|
-
function L({ productId: e, name:
|
|
38
|
+
function L({ productId: e, name: n, archivedAt: s }) {
|
|
39
39
|
let c = t(), [l, p] = v(re, {
|
|
40
40
|
refetchQueries: F,
|
|
41
|
-
context:
|
|
41
|
+
context: r
|
|
42
42
|
}), [m, g] = v(ie, {
|
|
43
43
|
refetchQueries: F,
|
|
44
44
|
awaitRefetchQueries: !0
|
|
@@ -48,14 +48,14 @@ function L({ productId: e, name: o, archivedAt: s }) {
|
|
|
48
48
|
}), [b, C] = u(null), T = async () => {
|
|
49
49
|
C(null);
|
|
50
50
|
try {
|
|
51
|
-
await
|
|
51
|
+
await i(l({ variables: { id: e } })), c("/products/products-page");
|
|
52
52
|
} catch (e) {
|
|
53
53
|
C(e instanceof Error ? e.message : "The product could not be deleted.");
|
|
54
54
|
}
|
|
55
55
|
}, E = async () => {
|
|
56
56
|
C(null);
|
|
57
57
|
try {
|
|
58
|
-
s ? await
|
|
58
|
+
s ? await i(_({ variables: { id: e } })) : await i(m({ variables: { id: e } }));
|
|
59
59
|
} catch (e) {
|
|
60
60
|
C(e instanceof Error ? e.message : "The product could not be updated.");
|
|
61
61
|
}
|
|
@@ -71,18 +71,18 @@ function L({ productId: e, name: o, archivedAt: s }) {
|
|
|
71
71
|
disabled: g.loading || y.loading,
|
|
72
72
|
onClick: () => void E(),
|
|
73
73
|
children: [x(s ? f : d, { className: "mr-1 h-4 w-4" }), s ? "Unarchive" : "Archive"]
|
|
74
|
-
}), /* @__PURE__ */ x(
|
|
74
|
+
}), /* @__PURE__ */ x(a, {
|
|
75
75
|
label: "Delete",
|
|
76
76
|
variant: "outline",
|
|
77
77
|
icon: /* @__PURE__ */ x(h, { className: "mr-1 h-4 w-4" }),
|
|
78
|
-
title: `Delete ${
|
|
78
|
+
title: `Delete ${n}?`,
|
|
79
79
|
description: "Every linked roadmap, release and feature request stays intact — only its link to this product is cleared. This cannot be undone here.",
|
|
80
80
|
confirmLabel: "Delete product",
|
|
81
81
|
destructive: !0,
|
|
82
82
|
disabled: p.loading,
|
|
83
83
|
onConfirm: () => void T()
|
|
84
84
|
})]
|
|
85
|
-
}), b && /* @__PURE__ */ x(
|
|
85
|
+
}), b && /* @__PURE__ */ x(o, { message: b })]
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
var R = _`
|
|
@@ -109,13 +109,13 @@ var R = _`
|
|
|
109
109
|
}
|
|
110
110
|
`;
|
|
111
111
|
function V({ productId: e, roadmaps: n }) {
|
|
112
|
-
let
|
|
112
|
+
let r = t(), [a, s] = v(z, {
|
|
113
113
|
refetchQueries: F,
|
|
114
114
|
awaitRefetchQueries: !0
|
|
115
115
|
}), [l, d] = u(null), [f, p] = u(null), m = async (t) => {
|
|
116
116
|
d(null), p(t);
|
|
117
117
|
try {
|
|
118
|
-
await
|
|
118
|
+
await i(a({ variables: {
|
|
119
119
|
productId: e,
|
|
120
120
|
roadmapId: t
|
|
121
121
|
} }));
|
|
@@ -143,7 +143,7 @@ function V({ productId: e, roadmaps: n }) {
|
|
|
143
143
|
existingIds: n.map((e) => e.id)
|
|
144
144
|
})]
|
|
145
145
|
}),
|
|
146
|
-
l && /* @__PURE__ */ x(
|
|
146
|
+
l && /* @__PURE__ */ x(o, { message: l }),
|
|
147
147
|
n.length === 0 ? /* @__PURE__ */ x("p", {
|
|
148
148
|
className: "text-sm text-muted-foreground text-center py-4",
|
|
149
149
|
children: "No roadmaps linked to this product yet."
|
|
@@ -154,7 +154,7 @@ function V({ productId: e, roadmaps: n }) {
|
|
|
154
154
|
children: [/* @__PURE__ */ x("button", {
|
|
155
155
|
type: "button",
|
|
156
156
|
className: "min-w-0 truncate text-left hover:underline",
|
|
157
|
-
onClick: () =>
|
|
157
|
+
onClick: () => r(c("/products/roadmap-detail-page", e.id)),
|
|
158
158
|
children: e.name
|
|
159
159
|
}), /* @__PURE__ */ x(w, {
|
|
160
160
|
size: "sm",
|
|
@@ -170,9 +170,9 @@ function V({ productId: e, roadmaps: n }) {
|
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
172
|
function H({ productId: t, existingIds: n }) {
|
|
173
|
-
let { workspaceId:
|
|
174
|
-
variables: { workspaceId:
|
|
175
|
-
skip: !
|
|
173
|
+
let { workspaceId: r } = e(), [a, s] = u(!1), [c, l] = u(/* @__PURE__ */ new Set()), [d, f] = u(null), { data: p, loading: h } = y(B, {
|
|
174
|
+
variables: { workspaceId: r ?? "" },
|
|
175
|
+
skip: !a || !r
|
|
176
176
|
}), g = (p?.planmagnetRoadmaps.items ?? []).filter((e) => !n.includes(e.id)), [_, b] = v(R, {
|
|
177
177
|
refetchQueries: F,
|
|
178
178
|
awaitRefetchQueries: !0
|
|
@@ -184,7 +184,7 @@ function H({ productId: t, existingIds: n }) {
|
|
|
184
184
|
}, E = async () => {
|
|
185
185
|
f(null);
|
|
186
186
|
try {
|
|
187
|
-
await Promise.all([...c].map((e) =>
|
|
187
|
+
await Promise.all([...c].map((e) => i(_({ variables: {
|
|
188
188
|
productId: t,
|
|
189
189
|
roadmapId: e
|
|
190
190
|
} })))), T(), s(!1);
|
|
@@ -193,7 +193,7 @@ function H({ productId: t, existingIds: n }) {
|
|
|
193
193
|
}
|
|
194
194
|
};
|
|
195
195
|
return /* @__PURE__ */ S(O, {
|
|
196
|
-
open:
|
|
196
|
+
open: a,
|
|
197
197
|
onOpenChange: (e) => {
|
|
198
198
|
s(e), e || T();
|
|
199
199
|
},
|
|
@@ -238,7 +238,7 @@ function H({ productId: t, existingIds: n }) {
|
|
|
238
238
|
})
|
|
239
239
|
]
|
|
240
240
|
}),
|
|
241
|
-
d && /* @__PURE__ */ x(
|
|
241
|
+
d && /* @__PURE__ */ x(o, { message: d }),
|
|
242
242
|
/* @__PURE__ */ x(j, { children: /* @__PURE__ */ x(w, {
|
|
243
243
|
onClick: () => void E(),
|
|
244
244
|
disabled: c.size === 0 || b.loading,
|
|
@@ -275,13 +275,13 @@ var U = _`
|
|
|
275
275
|
}
|
|
276
276
|
`;
|
|
277
277
|
function K({ productId: e, releases: n }) {
|
|
278
|
-
let
|
|
278
|
+
let r = t(), [a, l] = v(W, {
|
|
279
279
|
refetchQueries: F,
|
|
280
280
|
awaitRefetchQueries: !0
|
|
281
281
|
}), [d, f] = u(null), [p, m] = u(null), h = async (t) => {
|
|
282
282
|
f(null), m(t);
|
|
283
283
|
try {
|
|
284
|
-
await
|
|
284
|
+
await i(a({ variables: {
|
|
285
285
|
productId: e,
|
|
286
286
|
releaseId: t
|
|
287
287
|
} }));
|
|
@@ -309,7 +309,7 @@ function K({ productId: e, releases: n }) {
|
|
|
309
309
|
existingIds: n.map((e) => e.id)
|
|
310
310
|
})]
|
|
311
311
|
}),
|
|
312
|
-
d && /* @__PURE__ */ x(
|
|
312
|
+
d && /* @__PURE__ */ x(o, { message: d }),
|
|
313
313
|
n.length === 0 ? /* @__PURE__ */ x("p", {
|
|
314
314
|
className: "text-sm text-muted-foreground text-center py-4",
|
|
315
315
|
children: "No releases linked to this product yet."
|
|
@@ -320,7 +320,7 @@ function K({ productId: e, releases: n }) {
|
|
|
320
320
|
children: [/* @__PURE__ */ S("button", {
|
|
321
321
|
type: "button",
|
|
322
322
|
className: "min-w-0 truncate text-left hover:underline",
|
|
323
|
-
onClick: () =>
|
|
323
|
+
onClick: () => r(c("/products/release-detail-page", e.id)),
|
|
324
324
|
children: [/* @__PURE__ */ x("span", {
|
|
325
325
|
className: "text-muted-foreground mr-2",
|
|
326
326
|
children: e.version
|
|
@@ -330,7 +330,7 @@ function K({ productId: e, releases: n }) {
|
|
|
330
330
|
children: [/* @__PURE__ */ x(C, {
|
|
331
331
|
variant: "outline",
|
|
332
332
|
className: "text-xs capitalize",
|
|
333
|
-
children:
|
|
333
|
+
children: s(e.status)
|
|
334
334
|
}), /* @__PURE__ */ x(w, {
|
|
335
335
|
size: "sm",
|
|
336
336
|
variant: "ghost",
|
|
@@ -346,9 +346,9 @@ function K({ productId: e, releases: n }) {
|
|
|
346
346
|
});
|
|
347
347
|
}
|
|
348
348
|
function q({ productId: t, existingIds: n }) {
|
|
349
|
-
let { workspaceId:
|
|
350
|
-
variables: { workspaceId:
|
|
351
|
-
skip: !
|
|
349
|
+
let { workspaceId: r } = e(), [a, s] = u(!1), [c, l] = u(/* @__PURE__ */ new Set()), [d, f] = u(null), { data: p, loading: h } = y(G, {
|
|
350
|
+
variables: { workspaceId: r ?? "" },
|
|
351
|
+
skip: !a || !r
|
|
352
352
|
}), g = (p?.planmagnetReleases.items ?? []).filter((e) => !n.includes(e.id)), [_, b] = v(U, {
|
|
353
353
|
refetchQueries: F,
|
|
354
354
|
awaitRefetchQueries: !0
|
|
@@ -360,7 +360,7 @@ function q({ productId: t, existingIds: n }) {
|
|
|
360
360
|
}, E = async () => {
|
|
361
361
|
f(null);
|
|
362
362
|
try {
|
|
363
|
-
await Promise.all([...c].map((e) =>
|
|
363
|
+
await Promise.all([...c].map((e) => i(_({ variables: {
|
|
364
364
|
productId: t,
|
|
365
365
|
releaseId: e
|
|
366
366
|
} })))), T(), s(!1);
|
|
@@ -369,7 +369,7 @@ function q({ productId: t, existingIds: n }) {
|
|
|
369
369
|
}
|
|
370
370
|
};
|
|
371
371
|
return /* @__PURE__ */ S(O, {
|
|
372
|
-
open:
|
|
372
|
+
open: a,
|
|
373
373
|
onOpenChange: (e) => {
|
|
374
374
|
s(e), e || T();
|
|
375
375
|
},
|
|
@@ -417,7 +417,7 @@ function q({ productId: t, existingIds: n }) {
|
|
|
417
417
|
})
|
|
418
418
|
]
|
|
419
419
|
}),
|
|
420
|
-
d && /* @__PURE__ */ x(
|
|
420
|
+
d && /* @__PURE__ */ x(o, { message: d }),
|
|
421
421
|
/* @__PURE__ */ x(j, { children: /* @__PURE__ */ x(w, {
|
|
422
422
|
onClick: () => void E(),
|
|
423
423
|
disabled: c.size === 0 || b.loading,
|
|
@@ -459,13 +459,13 @@ var J = _`
|
|
|
459
459
|
}
|
|
460
460
|
`;
|
|
461
461
|
function se({ productId: e, featureRequests: n }) {
|
|
462
|
-
let
|
|
462
|
+
let r = t(), [a, l] = v(ae, {
|
|
463
463
|
refetchQueries: F,
|
|
464
464
|
awaitRefetchQueries: !0
|
|
465
465
|
}), [d, f] = u(null), [p, m] = u(null), h = async (t) => {
|
|
466
466
|
f(null), m(t);
|
|
467
467
|
try {
|
|
468
|
-
await
|
|
468
|
+
await i(a({ variables: {
|
|
469
469
|
productId: e,
|
|
470
470
|
featureRequestId: t
|
|
471
471
|
} }));
|
|
@@ -493,7 +493,7 @@ function se({ productId: e, featureRequests: n }) {
|
|
|
493
493
|
existingIds: n.map((e) => e.id)
|
|
494
494
|
})]
|
|
495
495
|
}),
|
|
496
|
-
d && /* @__PURE__ */ x(
|
|
496
|
+
d && /* @__PURE__ */ x(o, { message: d }),
|
|
497
497
|
n.length === 0 ? /* @__PURE__ */ x("p", {
|
|
498
498
|
className: "text-sm text-muted-foreground text-center py-4",
|
|
499
499
|
children: "No feature requests linked to this product yet."
|
|
@@ -504,14 +504,14 @@ function se({ productId: e, featureRequests: n }) {
|
|
|
504
504
|
children: [/* @__PURE__ */ x("button", {
|
|
505
505
|
type: "button",
|
|
506
506
|
className: "min-w-0 truncate text-left hover:underline",
|
|
507
|
-
onClick: () =>
|
|
507
|
+
onClick: () => r(c("/products/feature-detail-page", e.id)),
|
|
508
508
|
children: e.title
|
|
509
509
|
}), /* @__PURE__ */ S("div", {
|
|
510
510
|
className: "flex items-center gap-2 shrink-0",
|
|
511
511
|
children: [/* @__PURE__ */ x(C, {
|
|
512
512
|
variant: "secondary",
|
|
513
513
|
className: "text-xs capitalize",
|
|
514
|
-
children:
|
|
514
|
+
children: s(e.status)
|
|
515
515
|
}), /* @__PURE__ */ x(w, {
|
|
516
516
|
size: "sm",
|
|
517
517
|
variant: "ghost",
|
|
@@ -527,9 +527,9 @@ function se({ productId: e, featureRequests: n }) {
|
|
|
527
527
|
});
|
|
528
528
|
}
|
|
529
529
|
function ce({ productId: t, existingIds: n }) {
|
|
530
|
-
let { workspaceId:
|
|
531
|
-
variables: { workspaceId:
|
|
532
|
-
skip: !
|
|
530
|
+
let { workspaceId: r } = e(), [a, s] = u(!1), [c, l] = u(/* @__PURE__ */ new Set()), [d, f] = u(null), { data: p, loading: h } = y(oe, {
|
|
531
|
+
variables: { workspaceId: r ?? "" },
|
|
532
|
+
skip: !a || !r
|
|
533
533
|
}), g = (p?.planmagnetFeatureRequests.items ?? []).filter((e) => !n.includes(e.id)), [_, b] = v(J, {
|
|
534
534
|
refetchQueries: F,
|
|
535
535
|
awaitRefetchQueries: !0
|
|
@@ -541,7 +541,7 @@ function ce({ productId: t, existingIds: n }) {
|
|
|
541
541
|
}, E = async () => {
|
|
542
542
|
f(null);
|
|
543
543
|
try {
|
|
544
|
-
await Promise.all([...c].map((e) =>
|
|
544
|
+
await Promise.all([...c].map((e) => i(_({ variables: {
|
|
545
545
|
productId: t,
|
|
546
546
|
featureRequestId: e
|
|
547
547
|
} })))), T(), s(!1);
|
|
@@ -550,7 +550,7 @@ function ce({ productId: t, existingIds: n }) {
|
|
|
550
550
|
}
|
|
551
551
|
};
|
|
552
552
|
return /* @__PURE__ */ S(O, {
|
|
553
|
-
open:
|
|
553
|
+
open: a,
|
|
554
554
|
onOpenChange: (e) => {
|
|
555
555
|
s(e), e || T();
|
|
556
556
|
},
|
|
@@ -595,7 +595,7 @@ function ce({ productId: t, existingIds: n }) {
|
|
|
595
595
|
})
|
|
596
596
|
]
|
|
597
597
|
}),
|
|
598
|
-
d && /* @__PURE__ */ x(
|
|
598
|
+
d && /* @__PURE__ */ x(o, { message: d }),
|
|
599
599
|
/* @__PURE__ */ x(j, { children: /* @__PURE__ */ x(w, {
|
|
600
600
|
onClick: () => void E(),
|
|
601
601
|
disabled: c.size === 0 || b.loading,
|
|
@@ -629,13 +629,13 @@ var le = _`
|
|
|
629
629
|
}
|
|
630
630
|
`;
|
|
631
631
|
function fe({ productId: e, objectives: n }) {
|
|
632
|
-
let
|
|
632
|
+
let r = t(), [a, c] = v(ue, {
|
|
633
633
|
refetchQueries: F,
|
|
634
634
|
awaitRefetchQueries: !0
|
|
635
635
|
}), [l, d] = u(null), [f, p] = u(null), m = async (t) => {
|
|
636
636
|
d(null), p(t);
|
|
637
637
|
try {
|
|
638
|
-
await
|
|
638
|
+
await i(a({ variables: {
|
|
639
639
|
productId: e,
|
|
640
640
|
objectiveId: t
|
|
641
641
|
} }));
|
|
@@ -663,7 +663,7 @@ function fe({ productId: e, objectives: n }) {
|
|
|
663
663
|
existingIds: n.map((e) => e.id)
|
|
664
664
|
})]
|
|
665
665
|
}),
|
|
666
|
-
l && /* @__PURE__ */ x(
|
|
666
|
+
l && /* @__PURE__ */ x(o, { message: l }),
|
|
667
667
|
n.length === 0 ? /* @__PURE__ */ x("p", {
|
|
668
668
|
className: "text-sm text-muted-foreground text-center py-4",
|
|
669
669
|
children: "No OKR objectives linked to this product yet."
|
|
@@ -674,14 +674,14 @@ function fe({ productId: e, objectives: n }) {
|
|
|
674
674
|
children: [/* @__PURE__ */ x("button", {
|
|
675
675
|
type: "button",
|
|
676
676
|
className: "min-w-0 truncate text-left hover:underline",
|
|
677
|
-
onClick: () =>
|
|
677
|
+
onClick: () => r(`/goals/objective-detail-page?objectiveId=${e.id}`),
|
|
678
678
|
children: e.title
|
|
679
679
|
}), /* @__PURE__ */ S("div", {
|
|
680
680
|
className: "flex items-center gap-2 shrink-0",
|
|
681
681
|
children: [/* @__PURE__ */ x(C, {
|
|
682
682
|
variant: "secondary",
|
|
683
683
|
className: "text-xs capitalize",
|
|
684
|
-
children:
|
|
684
|
+
children: s(e.status)
|
|
685
685
|
}), /* @__PURE__ */ x(w, {
|
|
686
686
|
size: "sm",
|
|
687
687
|
variant: "ghost",
|
|
@@ -697,9 +697,9 @@ function fe({ productId: e, objectives: n }) {
|
|
|
697
697
|
});
|
|
698
698
|
}
|
|
699
699
|
function pe({ productId: t, existingIds: n }) {
|
|
700
|
-
let { workspaceId:
|
|
701
|
-
variables: { workspaceId:
|
|
702
|
-
skip: !
|
|
700
|
+
let { workspaceId: r } = e(), [a, s] = u(!1), [c, l] = u(/* @__PURE__ */ new Set()), [d, f] = u(null), { data: p, loading: h } = y(de, {
|
|
701
|
+
variables: { workspaceId: r ?? "" },
|
|
702
|
+
skip: !a || !r
|
|
703
703
|
}), g = (p?.planmagnetObjectives.items ?? []).filter((e) => !n.includes(e.id)), [_, b] = v(le, {
|
|
704
704
|
refetchQueries: F,
|
|
705
705
|
awaitRefetchQueries: !0
|
|
@@ -711,7 +711,7 @@ function pe({ productId: t, existingIds: n }) {
|
|
|
711
711
|
}, E = async () => {
|
|
712
712
|
f(null);
|
|
713
713
|
try {
|
|
714
|
-
await Promise.all([...c].map((e) =>
|
|
714
|
+
await Promise.all([...c].map((e) => i(_({ variables: {
|
|
715
715
|
productId: t,
|
|
716
716
|
objectiveId: e
|
|
717
717
|
} })))), T(), s(!1);
|
|
@@ -720,7 +720,7 @@ function pe({ productId: t, existingIds: n }) {
|
|
|
720
720
|
}
|
|
721
721
|
};
|
|
722
722
|
return /* @__PURE__ */ S(O, {
|
|
723
|
-
open:
|
|
723
|
+
open: a,
|
|
724
724
|
onOpenChange: (e) => {
|
|
725
725
|
s(e), e || T();
|
|
726
726
|
},
|
|
@@ -765,7 +765,7 @@ function pe({ productId: t, existingIds: n }) {
|
|
|
765
765
|
})
|
|
766
766
|
]
|
|
767
767
|
}),
|
|
768
|
-
d && /* @__PURE__ */ x(
|
|
768
|
+
d && /* @__PURE__ */ x(o, { message: d }),
|
|
769
769
|
/* @__PURE__ */ x(j, { children: /* @__PURE__ */ x(w, {
|
|
770
770
|
onClick: () => void E(),
|
|
771
771
|
disabled: c.size === 0 || b.loading,
|
|
@@ -854,37 +854,37 @@ function he({ product: e }) {
|
|
|
854
854
|
valueProposition: e.valueProposition ?? "",
|
|
855
855
|
businessModel: e.businessModel ?? "",
|
|
856
856
|
targetSegments: e.targetSegments
|
|
857
|
-
}, [
|
|
857
|
+
}, [r, a] = u(!1), [s, c] = u(t), [l, d] = u(null), [f, m] = v(me, {
|
|
858
858
|
refetchQueries: F,
|
|
859
859
|
awaitRefetchQueries: !0
|
|
860
860
|
}), h = () => {
|
|
861
|
-
c(t), d(null),
|
|
861
|
+
c(t), d(null), a(!0);
|
|
862
862
|
}, g = [
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
].some((e) => e.length > Y), _ =
|
|
863
|
+
s.mission,
|
|
864
|
+
s.valueProposition,
|
|
865
|
+
s.businessModel
|
|
866
|
+
].some((e) => e.length > Y), _ = s.targetSegments.length <= X && s.targetSegments.every((e) => e.length <= Z), y = !g && _ && !m.loading, C = async () => {
|
|
867
867
|
d(null);
|
|
868
868
|
let t = (e) => e.trim() ? e.trim() : null;
|
|
869
869
|
try {
|
|
870
|
-
await
|
|
870
|
+
await i(f({ variables: {
|
|
871
871
|
id: e.id,
|
|
872
872
|
input: {
|
|
873
|
-
mission: t(
|
|
874
|
-
valueProposition: t(
|
|
875
|
-
businessModel: t(
|
|
876
|
-
targetSegments:
|
|
873
|
+
mission: t(s.mission),
|
|
874
|
+
valueProposition: t(s.valueProposition),
|
|
875
|
+
businessModel: t(s.businessModel),
|
|
876
|
+
targetSegments: s.targetSegments
|
|
877
877
|
}
|
|
878
|
-
} })),
|
|
878
|
+
} })), a(!1);
|
|
879
879
|
} catch (e) {
|
|
880
|
-
d(
|
|
880
|
+
d(n(e, "The product information could not be saved."));
|
|
881
881
|
}
|
|
882
882
|
}, D = "mt-1 w-full rounded-md border border-input bg-background px-3 py-2 text-sm min-h-[72px]";
|
|
883
883
|
return /* @__PURE__ */ S(T, {
|
|
884
884
|
"data-testid": "product-info",
|
|
885
885
|
children: [/* @__PURE__ */ S(ee, {
|
|
886
886
|
className: "flex flex-row items-center justify-between gap-2",
|
|
887
|
-
children: [/* @__PURE__ */ x(te, { children: "About this product" }), !
|
|
887
|
+
children: [/* @__PURE__ */ x(te, { children: "About this product" }), !r && /* @__PURE__ */ S(w, {
|
|
888
888
|
size: "sm",
|
|
889
889
|
variant: "outline",
|
|
890
890
|
"data-testid": "product-info-edit",
|
|
@@ -893,7 +893,7 @@ function he({ product: e }) {
|
|
|
893
893
|
})]
|
|
894
894
|
}), /* @__PURE__ */ x(E, {
|
|
895
895
|
className: "space-y-4",
|
|
896
|
-
children:
|
|
896
|
+
children: r ? /* @__PURE__ */ S(b, { children: [
|
|
897
897
|
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("label", {
|
|
898
898
|
htmlFor: "product-info-mission",
|
|
899
899
|
className: "text-sm font-medium",
|
|
@@ -902,9 +902,9 @@ function he({ product: e }) {
|
|
|
902
902
|
id: "product-info-mission",
|
|
903
903
|
className: D,
|
|
904
904
|
maxLength: Y,
|
|
905
|
-
value:
|
|
905
|
+
value: s.mission,
|
|
906
906
|
onChange: (e) => c({
|
|
907
|
-
...
|
|
907
|
+
...s,
|
|
908
908
|
mission: e.target.value
|
|
909
909
|
})
|
|
910
910
|
})] }),
|
|
@@ -916,9 +916,9 @@ function he({ product: e }) {
|
|
|
916
916
|
id: "product-info-value-proposition",
|
|
917
917
|
className: D,
|
|
918
918
|
maxLength: Y,
|
|
919
|
-
value:
|
|
919
|
+
value: s.valueProposition,
|
|
920
920
|
onChange: (e) => c({
|
|
921
|
-
...
|
|
921
|
+
...s,
|
|
922
922
|
valueProposition: e.target.value
|
|
923
923
|
})
|
|
924
924
|
})] }),
|
|
@@ -930,9 +930,9 @@ function he({ product: e }) {
|
|
|
930
930
|
id: "product-info-business-model",
|
|
931
931
|
className: D,
|
|
932
932
|
maxLength: Y,
|
|
933
|
-
value:
|
|
933
|
+
value: s.businessModel,
|
|
934
934
|
onChange: (e) => c({
|
|
935
|
-
...
|
|
935
|
+
...s,
|
|
936
936
|
businessModel: e.target.value
|
|
937
937
|
})
|
|
938
938
|
})] }),
|
|
@@ -942,20 +942,20 @@ function he({ product: e }) {
|
|
|
942
942
|
}), /* @__PURE__ */ x("div", {
|
|
943
943
|
className: "mt-1",
|
|
944
944
|
children: /* @__PURE__ */ x(Q, {
|
|
945
|
-
value:
|
|
945
|
+
value: s.targetSegments,
|
|
946
946
|
onChange: (e) => c({
|
|
947
|
-
...
|
|
947
|
+
...s,
|
|
948
948
|
targetSegments: e
|
|
949
949
|
})
|
|
950
950
|
})
|
|
951
951
|
})] }),
|
|
952
|
-
l && /* @__PURE__ */ x(
|
|
952
|
+
l && /* @__PURE__ */ x(o, { message: l }),
|
|
953
953
|
/* @__PURE__ */ S("div", {
|
|
954
954
|
className: "flex justify-end gap-2",
|
|
955
955
|
children: [/* @__PURE__ */ x(w, {
|
|
956
956
|
size: "sm",
|
|
957
957
|
variant: "outline",
|
|
958
|
-
onClick: () =>
|
|
958
|
+
onClick: () => a(!1),
|
|
959
959
|
children: "Cancel"
|
|
960
960
|
}), /* @__PURE__ */ x(w, {
|
|
961
961
|
size: "sm",
|
|
@@ -1013,8 +1013,8 @@ var ge = _`
|
|
|
1013
1013
|
planmagnetUnlinkProductCompetitor(productId: $productId, competitorId: $competitorId)
|
|
1014
1014
|
}
|
|
1015
1015
|
`;
|
|
1016
|
-
function _e({ productId: e, competitors:
|
|
1017
|
-
let
|
|
1016
|
+
function _e({ productId: e, competitors: r }) {
|
|
1017
|
+
let s = t(), [d, f] = u(""), [p, h] = v(ge, {
|
|
1018
1018
|
refetchQueries: F,
|
|
1019
1019
|
awaitRefetchQueries: !0
|
|
1020
1020
|
}), [_, y] = v($, {
|
|
@@ -1024,45 +1024,45 @@ function _e({ productId: e, competitors: n }) {
|
|
|
1024
1024
|
if (d) {
|
|
1025
1025
|
C(null);
|
|
1026
1026
|
try {
|
|
1027
|
-
await
|
|
1027
|
+
await i(p({ variables: {
|
|
1028
1028
|
productId: e,
|
|
1029
1029
|
competitorId: d
|
|
1030
1030
|
} })), f("");
|
|
1031
1031
|
} catch (e) {
|
|
1032
|
-
C(
|
|
1032
|
+
C(n(e, "The competitor could not be linked."));
|
|
1033
1033
|
}
|
|
1034
1034
|
}
|
|
1035
1035
|
}, E = async (t) => {
|
|
1036
1036
|
C(null);
|
|
1037
1037
|
try {
|
|
1038
|
-
await
|
|
1038
|
+
await i(_({ variables: {
|
|
1039
1039
|
productId: e,
|
|
1040
1040
|
competitorId: t
|
|
1041
1041
|
} }));
|
|
1042
1042
|
} catch (e) {
|
|
1043
|
-
C(
|
|
1043
|
+
C(n(e, "The competitor could not be unlinked."));
|
|
1044
1044
|
}
|
|
1045
1045
|
};
|
|
1046
1046
|
return /* @__PURE__ */ S("div", {
|
|
1047
1047
|
className: "space-y-3",
|
|
1048
1048
|
"data-testid": "product-competitors",
|
|
1049
1049
|
children: [
|
|
1050
|
-
|
|
1050
|
+
r.length === 0 ? /* @__PURE__ */ x("p", {
|
|
1051
1051
|
className: "text-sm text-muted-foreground text-center py-4",
|
|
1052
1052
|
children: "No competitors linked to this product yet."
|
|
1053
1053
|
}) : /* @__PURE__ */ x("ul", {
|
|
1054
1054
|
className: "space-y-1",
|
|
1055
|
-
children:
|
|
1055
|
+
children: r.map((e) => /* @__PURE__ */ S("li", {
|
|
1056
1056
|
className: "flex items-center justify-between gap-2 border rounded-md p-2 text-sm",
|
|
1057
1057
|
children: [/* @__PURE__ */ S("button", {
|
|
1058
1058
|
type: "button",
|
|
1059
1059
|
className: "min-w-0 flex-1 text-left truncate hover:underline",
|
|
1060
|
-
onClick: () =>
|
|
1060
|
+
onClick: () => s(c("/products/competitor-detail-page", e.id)),
|
|
1061
1061
|
children: [e.name, e.website && /* @__PURE__ */ x("span", {
|
|
1062
1062
|
className: "ml-2 text-xs text-primary",
|
|
1063
1063
|
children: e.website
|
|
1064
1064
|
})]
|
|
1065
|
-
}), /* @__PURE__ */ x(
|
|
1065
|
+
}), /* @__PURE__ */ x(a, {
|
|
1066
1066
|
label: "",
|
|
1067
1067
|
ariaLabel: `Unlink ${e.name} from this product`,
|
|
1068
1068
|
testId: "product-competitor-unlink",
|
|
@@ -1085,7 +1085,7 @@ function _e({ productId: e, competitors: n }) {
|
|
|
1085
1085
|
id: "product-add-competitor",
|
|
1086
1086
|
value: d,
|
|
1087
1087
|
onChange: f,
|
|
1088
|
-
exclude:
|
|
1088
|
+
exclude: r.map((e) => e.id)
|
|
1089
1089
|
})
|
|
1090
1090
|
}), /* @__PURE__ */ S(w, {
|
|
1091
1091
|
size: "sm",
|
|
@@ -1095,7 +1095,7 @@ function _e({ productId: e, competitors: n }) {
|
|
|
1095
1095
|
children: [/* @__PURE__ */ x(m, { className: "mr-1 h-4 w-4" }), "Add"]
|
|
1096
1096
|
})]
|
|
1097
1097
|
}),
|
|
1098
|
-
b && /* @__PURE__ */ x(
|
|
1098
|
+
b && /* @__PURE__ */ x(o, { message: b })
|
|
1099
1099
|
]
|
|
1100
1100
|
});
|
|
1101
1101
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReportRun, ReportWidget } from './reportModel';
|
|
2
|
+
|
|
3
|
+
export declare function ExportMenu({ reportName, widgets, run, onPrint, }: {
|
|
4
|
+
reportName: string;
|
|
5
|
+
widgets: ReportWidget[];
|
|
6
|
+
run: ReportRun | null;
|
|
7
|
+
onPrint: () => void;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=ExportMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportMenu.d.ts","sourceRoot":"","sources":["../../../src/planmagnet/reports/ExportMenu.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAsB,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA+BjF,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,OAAO,EACP,GAAG,EACH,OAAO,GACR,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,2CAyFA"}
|