@burdenoff/microfe-planmagnet 2026.930.25 → 2026.1001.1
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 +154 -147
- package/dist/planmagnet/PlanMagnetRoot.js.map +1 -1
- package/dist/planmagnet/PlanMagnetRoutes.d.ts.map +1 -1
- package/dist/planmagnet/PlanMagnetRoutes.js +122 -106
- package/dist/planmagnet/PlanMagnetRoutes.js.map +1 -1
- 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/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/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/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 +14 -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/package.json +6 -4
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import { gql as e } from "@apollo/client";
|
|
2
|
+
//#region src/planmagnet/reports/reportGraphql.ts
|
|
3
|
+
var t = e`
|
|
4
|
+
query ListPlanmagnetReports(
|
|
5
|
+
$workspaceId: ID!
|
|
6
|
+
$filter: PlanmagnetReportFilter
|
|
7
|
+
$pagination: PlanmagnetPaginationInput
|
|
8
|
+
) {
|
|
9
|
+
planmagnetReports(workspaceId: $workspaceId, filter: $filter, pagination: $pagination) {
|
|
10
|
+
items {
|
|
11
|
+
id
|
|
12
|
+
name
|
|
13
|
+
description
|
|
14
|
+
ownerId
|
|
15
|
+
visibility
|
|
16
|
+
templateKey
|
|
17
|
+
workspaceId
|
|
18
|
+
createdAt
|
|
19
|
+
updatedAt
|
|
20
|
+
}
|
|
21
|
+
totalCount
|
|
22
|
+
pageInfo {
|
|
23
|
+
hasNextPage
|
|
24
|
+
endCursor
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
`, n = e`
|
|
29
|
+
query GetPlanmagnetReport($id: ID!) {
|
|
30
|
+
planmagnetReport(id: $id) {
|
|
31
|
+
id
|
|
32
|
+
name
|
|
33
|
+
description
|
|
34
|
+
ownerId
|
|
35
|
+
visibility
|
|
36
|
+
templateKey
|
|
37
|
+
workspaceId
|
|
38
|
+
createdAt
|
|
39
|
+
updatedAt
|
|
40
|
+
definition {
|
|
41
|
+
widgets {
|
|
42
|
+
id
|
|
43
|
+
type
|
|
44
|
+
title
|
|
45
|
+
source
|
|
46
|
+
params {
|
|
47
|
+
projectId
|
|
48
|
+
sprintId
|
|
49
|
+
teamId
|
|
50
|
+
from
|
|
51
|
+
to
|
|
52
|
+
limit
|
|
53
|
+
}
|
|
54
|
+
layout {
|
|
55
|
+
x
|
|
56
|
+
y
|
|
57
|
+
w
|
|
58
|
+
h
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
`, r = e`
|
|
65
|
+
query ListPlanmagnetReportTemplates {
|
|
66
|
+
planmagnetReportTemplates {
|
|
67
|
+
key
|
|
68
|
+
name
|
|
69
|
+
description
|
|
70
|
+
definition {
|
|
71
|
+
widgets {
|
|
72
|
+
id
|
|
73
|
+
type
|
|
74
|
+
title
|
|
75
|
+
source
|
|
76
|
+
params {
|
|
77
|
+
projectId
|
|
78
|
+
sprintId
|
|
79
|
+
teamId
|
|
80
|
+
from
|
|
81
|
+
to
|
|
82
|
+
limit
|
|
83
|
+
}
|
|
84
|
+
layout {
|
|
85
|
+
x
|
|
86
|
+
y
|
|
87
|
+
w
|
|
88
|
+
h
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
`, i = e`
|
|
95
|
+
mutation CreatePlanmagnetReport($workspaceId: ID!, $input: PlanmagnetCreateReportInput!) {
|
|
96
|
+
planmagnetCreateReport(workspaceId: $workspaceId, input: $input) {
|
|
97
|
+
id
|
|
98
|
+
name
|
|
99
|
+
description
|
|
100
|
+
ownerId
|
|
101
|
+
visibility
|
|
102
|
+
templateKey
|
|
103
|
+
workspaceId
|
|
104
|
+
createdAt
|
|
105
|
+
updatedAt
|
|
106
|
+
definition {
|
|
107
|
+
widgets {
|
|
108
|
+
id
|
|
109
|
+
type
|
|
110
|
+
title
|
|
111
|
+
source
|
|
112
|
+
params {
|
|
113
|
+
projectId
|
|
114
|
+
sprintId
|
|
115
|
+
teamId
|
|
116
|
+
from
|
|
117
|
+
to
|
|
118
|
+
limit
|
|
119
|
+
}
|
|
120
|
+
layout {
|
|
121
|
+
x
|
|
122
|
+
y
|
|
123
|
+
w
|
|
124
|
+
h
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
`, a = e`
|
|
131
|
+
mutation UpdatePlanmagnetReport($id: ID!, $input: PlanmagnetUpdateReportInput!) {
|
|
132
|
+
planmagnetUpdateReport(id: $id, input: $input) {
|
|
133
|
+
id
|
|
134
|
+
name
|
|
135
|
+
description
|
|
136
|
+
ownerId
|
|
137
|
+
visibility
|
|
138
|
+
templateKey
|
|
139
|
+
workspaceId
|
|
140
|
+
createdAt
|
|
141
|
+
updatedAt
|
|
142
|
+
definition {
|
|
143
|
+
widgets {
|
|
144
|
+
id
|
|
145
|
+
type
|
|
146
|
+
title
|
|
147
|
+
source
|
|
148
|
+
params {
|
|
149
|
+
projectId
|
|
150
|
+
sprintId
|
|
151
|
+
teamId
|
|
152
|
+
from
|
|
153
|
+
to
|
|
154
|
+
limit
|
|
155
|
+
}
|
|
156
|
+
layout {
|
|
157
|
+
x
|
|
158
|
+
y
|
|
159
|
+
w
|
|
160
|
+
h
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
`, o = e`
|
|
167
|
+
mutation DeletePlanmagnetReport($id: ID!) {
|
|
168
|
+
planmagnetDeleteReport(id: $id)
|
|
169
|
+
}
|
|
170
|
+
`, s = e`
|
|
171
|
+
mutation DuplicatePlanmagnetReport($id: ID!, $name: String) {
|
|
172
|
+
planmagnetDuplicateReport(id: $id, name: $name) {
|
|
173
|
+
id
|
|
174
|
+
name
|
|
175
|
+
description
|
|
176
|
+
ownerId
|
|
177
|
+
visibility
|
|
178
|
+
templateKey
|
|
179
|
+
workspaceId
|
|
180
|
+
createdAt
|
|
181
|
+
updatedAt
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
`, c = e`
|
|
185
|
+
mutation RunPlanmagnetReport($id: ID!) {
|
|
186
|
+
planmagnetRunReport(id: $id) {
|
|
187
|
+
id
|
|
188
|
+
reportId
|
|
189
|
+
workspaceId
|
|
190
|
+
trigger
|
|
191
|
+
generatedAt
|
|
192
|
+
generatedBy
|
|
193
|
+
deliveryStatus
|
|
194
|
+
widgets {
|
|
195
|
+
widgetId
|
|
196
|
+
source
|
|
197
|
+
status
|
|
198
|
+
message
|
|
199
|
+
result
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
`, l = e`
|
|
204
|
+
query GetPlanmagnetReportRun($id: ID!) {
|
|
205
|
+
planmagnetReportRun(id: $id) {
|
|
206
|
+
id
|
|
207
|
+
reportId
|
|
208
|
+
workspaceId
|
|
209
|
+
trigger
|
|
210
|
+
generatedAt
|
|
211
|
+
generatedBy
|
|
212
|
+
deliveryStatus
|
|
213
|
+
widgets {
|
|
214
|
+
widgetId
|
|
215
|
+
source
|
|
216
|
+
status
|
|
217
|
+
message
|
|
218
|
+
result
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
`, u = e`
|
|
223
|
+
query ListPlanmagnetReportRuns($reportId: ID!, $pagination: PlanmagnetPaginationInput) {
|
|
224
|
+
planmagnetReportRuns(reportId: $reportId, pagination: $pagination) {
|
|
225
|
+
items {
|
|
226
|
+
id
|
|
227
|
+
trigger
|
|
228
|
+
generatedAt
|
|
229
|
+
generatedBy
|
|
230
|
+
deliveryStatus
|
|
231
|
+
}
|
|
232
|
+
totalCount
|
|
233
|
+
pageInfo {
|
|
234
|
+
hasNextPage
|
|
235
|
+
endCursor
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
`, d = e`
|
|
240
|
+
query ExportPlanmagnetReportRun($runId: ID!, $format: PlanmagnetReportExportFormat!) {
|
|
241
|
+
planmagnetExportReportRun(runId: $runId, format: $format) {
|
|
242
|
+
filename
|
|
243
|
+
contentType
|
|
244
|
+
content
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
`, f = e`
|
|
248
|
+
query ListPlanmagnetReportShares($reportId: ID!) {
|
|
249
|
+
planmagnetReportShares(reportId: $reportId) {
|
|
250
|
+
id
|
|
251
|
+
reportId
|
|
252
|
+
workspaceId
|
|
253
|
+
createdBy
|
|
254
|
+
createdAt
|
|
255
|
+
expiresAt
|
|
256
|
+
revokedAt
|
|
257
|
+
hasPassword
|
|
258
|
+
watermark
|
|
259
|
+
accessCount
|
|
260
|
+
lastAccessedAt
|
|
261
|
+
runId
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
`, p = e`
|
|
265
|
+
mutation CreatePlanmagnetReportShare($runId: ID!, $input: PlanmagnetCreateReportShareInput!) {
|
|
266
|
+
planmagnetCreateReportShare(runId: $runId, input: $input) {
|
|
267
|
+
id
|
|
268
|
+
reportId
|
|
269
|
+
workspaceId
|
|
270
|
+
createdBy
|
|
271
|
+
createdAt
|
|
272
|
+
expiresAt
|
|
273
|
+
revokedAt
|
|
274
|
+
hasPassword
|
|
275
|
+
watermark
|
|
276
|
+
accessCount
|
|
277
|
+
lastAccessedAt
|
|
278
|
+
runId
|
|
279
|
+
token
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
`, m = e`
|
|
283
|
+
mutation RevokePlanmagnetReportShare($id: ID!) {
|
|
284
|
+
planmagnetRevokeReportShare(id: $id)
|
|
285
|
+
}
|
|
286
|
+
`, h = e`
|
|
287
|
+
query ListPlanmagnetReportSchedules($reportId: ID!) {
|
|
288
|
+
planmagnetReportSchedules(reportId: $reportId) {
|
|
289
|
+
id
|
|
290
|
+
reportId
|
|
291
|
+
workspaceId
|
|
292
|
+
active
|
|
293
|
+
cadence
|
|
294
|
+
hourUtc
|
|
295
|
+
dayOfWeek
|
|
296
|
+
dayOfMonth
|
|
297
|
+
format
|
|
298
|
+
recipientIds
|
|
299
|
+
nextRunAt
|
|
300
|
+
lastRunAt
|
|
301
|
+
lastRunId
|
|
302
|
+
lastError
|
|
303
|
+
createdAt
|
|
304
|
+
updatedAt
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
`, g = e`
|
|
308
|
+
mutation CreatePlanmagnetReportSchedule(
|
|
309
|
+
$reportId: ID!
|
|
310
|
+
$input: PlanmagnetCreateReportScheduleInput!
|
|
311
|
+
) {
|
|
312
|
+
planmagnetCreateReportSchedule(reportId: $reportId, input: $input) {
|
|
313
|
+
id
|
|
314
|
+
reportId
|
|
315
|
+
workspaceId
|
|
316
|
+
active
|
|
317
|
+
cadence
|
|
318
|
+
hourUtc
|
|
319
|
+
dayOfWeek
|
|
320
|
+
dayOfMonth
|
|
321
|
+
format
|
|
322
|
+
recipientIds
|
|
323
|
+
nextRunAt
|
|
324
|
+
lastRunAt
|
|
325
|
+
lastRunId
|
|
326
|
+
lastError
|
|
327
|
+
createdAt
|
|
328
|
+
updatedAt
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
`, _ = e`
|
|
332
|
+
mutation UpdatePlanmagnetReportSchedule($id: ID!, $input: PlanmagnetUpdateReportScheduleInput!) {
|
|
333
|
+
planmagnetUpdateReportSchedule(id: $id, input: $input) {
|
|
334
|
+
id
|
|
335
|
+
reportId
|
|
336
|
+
workspaceId
|
|
337
|
+
active
|
|
338
|
+
cadence
|
|
339
|
+
hourUtc
|
|
340
|
+
dayOfWeek
|
|
341
|
+
dayOfMonth
|
|
342
|
+
format
|
|
343
|
+
recipientIds
|
|
344
|
+
nextRunAt
|
|
345
|
+
lastRunAt
|
|
346
|
+
lastRunId
|
|
347
|
+
lastError
|
|
348
|
+
createdAt
|
|
349
|
+
updatedAt
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
`, v = e`
|
|
353
|
+
mutation DeletePlanmagnetReportSchedule($id: ID!) {
|
|
354
|
+
planmagnetDeleteReportSchedule(id: $id)
|
|
355
|
+
}
|
|
356
|
+
`;
|
|
357
|
+
//#endregion
|
|
358
|
+
export { i as CREATE_REPORT, g as CREATE_REPORT_SCHEDULE, p as CREATE_REPORT_SHARE, o as DELETE_REPORT, v as DELETE_REPORT_SCHEDULE, s as DUPLICATE_REPORT, d as EXPORT_REPORT_RUN, n as GET_REPORT, l as GET_REPORT_RUN, t as LIST_REPORTS, u as LIST_REPORT_RUNS, h as LIST_REPORT_SCHEDULES, f as LIST_REPORT_SHARES, r as LIST_REPORT_TEMPLATES, m as REVOKE_REPORT_SHARE, c as RUN_REPORT, a as UPDATE_REPORT, _ as UPDATE_REPORT_SCHEDULE };
|
|
359
|
+
|
|
360
|
+
//# sourceMappingURL=reportGraphql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportGraphql.js","names":[],"sources":["../../../src/planmagnet/reports/reportGraphql.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\n/**\n * Reports GraphQL documents (ANR-13/14/15/16). Field selections match `graphql/wspace.graphql`'s\n * `Planmagnet*Report*` types exactly — validated by `bun run validate:schema` against\n * `graphql/planmagnet.graphql` + `graphql/planmagnet-gateway-roots.graphql` (see schema-drift.config.json).\n * Selection sets are written out in full in each document rather than shared via `${fragment}` interpolation —\n * `gql` here only ever parses one literal per call (no other file in this package interpolates a sub-document\n * into a `gql` tag), so this follows the same convention.\n */\n\nexport const REPORT_SUMMARY_FIELDS_DOC = `\n id\n name\n description\n ownerId\n visibility\n templateKey\n workspaceId\n createdAt\n updatedAt\n`;\n\nexport const LIST_REPORTS = gql`\n query ListPlanmagnetReports(\n $workspaceId: ID!\n $filter: PlanmagnetReportFilter\n $pagination: PlanmagnetPaginationInput\n ) {\n planmagnetReports(workspaceId: $workspaceId, filter: $filter, pagination: $pagination) {\n items {\n id\n name\n description\n ownerId\n visibility\n templateKey\n workspaceId\n createdAt\n updatedAt\n }\n totalCount\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n`;\n\nexport const GET_REPORT = gql`\n query GetPlanmagnetReport($id: ID!) {\n planmagnetReport(id: $id) {\n id\n name\n description\n ownerId\n visibility\n templateKey\n workspaceId\n createdAt\n updatedAt\n definition {\n widgets {\n id\n type\n title\n source\n params {\n projectId\n sprintId\n teamId\n from\n to\n limit\n }\n layout {\n x\n y\n w\n h\n }\n }\n }\n }\n }\n`;\n\nexport const LIST_REPORT_TEMPLATES = gql`\n query ListPlanmagnetReportTemplates {\n planmagnetReportTemplates {\n key\n name\n description\n definition {\n widgets {\n id\n type\n title\n source\n params {\n projectId\n sprintId\n teamId\n from\n to\n limit\n }\n layout {\n x\n y\n w\n h\n }\n }\n }\n }\n }\n`;\n\nexport const CREATE_REPORT = gql`\n mutation CreatePlanmagnetReport($workspaceId: ID!, $input: PlanmagnetCreateReportInput!) {\n planmagnetCreateReport(workspaceId: $workspaceId, input: $input) {\n id\n name\n description\n ownerId\n visibility\n templateKey\n workspaceId\n createdAt\n updatedAt\n definition {\n widgets {\n id\n type\n title\n source\n params {\n projectId\n sprintId\n teamId\n from\n to\n limit\n }\n layout {\n x\n y\n w\n h\n }\n }\n }\n }\n }\n`;\n\nexport const UPDATE_REPORT = gql`\n mutation UpdatePlanmagnetReport($id: ID!, $input: PlanmagnetUpdateReportInput!) {\n planmagnetUpdateReport(id: $id, input: $input) {\n id\n name\n description\n ownerId\n visibility\n templateKey\n workspaceId\n createdAt\n updatedAt\n definition {\n widgets {\n id\n type\n title\n source\n params {\n projectId\n sprintId\n teamId\n from\n to\n limit\n }\n layout {\n x\n y\n w\n h\n }\n }\n }\n }\n }\n`;\n\nexport const DELETE_REPORT = gql`\n mutation DeletePlanmagnetReport($id: ID!) {\n planmagnetDeleteReport(id: $id)\n }\n`;\n\nexport const DUPLICATE_REPORT = gql`\n mutation DuplicatePlanmagnetReport($id: ID!, $name: String) {\n planmagnetDuplicateReport(id: $id, name: $name) {\n id\n name\n description\n ownerId\n visibility\n templateKey\n workspaceId\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const RUN_REPORT = gql`\n mutation RunPlanmagnetReport($id: ID!) {\n planmagnetRunReport(id: $id) {\n id\n reportId\n workspaceId\n trigger\n generatedAt\n generatedBy\n deliveryStatus\n widgets {\n widgetId\n source\n status\n message\n result\n }\n }\n }\n`;\n\nexport const GET_REPORT_RUN = gql`\n query GetPlanmagnetReportRun($id: ID!) {\n planmagnetReportRun(id: $id) {\n id\n reportId\n workspaceId\n trigger\n generatedAt\n generatedBy\n deliveryStatus\n widgets {\n widgetId\n source\n status\n message\n result\n }\n }\n }\n`;\n\nexport const LIST_REPORT_RUNS = gql`\n query ListPlanmagnetReportRuns($reportId: ID!, $pagination: PlanmagnetPaginationInput) {\n planmagnetReportRuns(reportId: $reportId, pagination: $pagination) {\n items {\n id\n trigger\n generatedAt\n generatedBy\n deliveryStatus\n }\n totalCount\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n`;\n\nexport const EXPORT_REPORT_RUN = gql`\n query ExportPlanmagnetReportRun($runId: ID!, $format: PlanmagnetReportExportFormat!) {\n planmagnetExportReportRun(runId: $runId, format: $format) {\n filename\n contentType\n content\n }\n }\n`;\n\nexport const LIST_REPORT_SHARES = gql`\n query ListPlanmagnetReportShares($reportId: ID!) {\n planmagnetReportShares(reportId: $reportId) {\n id\n reportId\n workspaceId\n createdBy\n createdAt\n expiresAt\n revokedAt\n hasPassword\n watermark\n accessCount\n lastAccessedAt\n runId\n }\n }\n`;\n\nexport const CREATE_REPORT_SHARE = gql`\n mutation CreatePlanmagnetReportShare($runId: ID!, $input: PlanmagnetCreateReportShareInput!) {\n planmagnetCreateReportShare(runId: $runId, input: $input) {\n id\n reportId\n workspaceId\n createdBy\n createdAt\n expiresAt\n revokedAt\n hasPassword\n watermark\n accessCount\n lastAccessedAt\n runId\n token\n }\n }\n`;\n\nexport const REVOKE_REPORT_SHARE = gql`\n mutation RevokePlanmagnetReportShare($id: ID!) {\n planmagnetRevokeReportShare(id: $id)\n }\n`;\n\nexport const LIST_REPORT_SCHEDULES = gql`\n query ListPlanmagnetReportSchedules($reportId: ID!) {\n planmagnetReportSchedules(reportId: $reportId) {\n id\n reportId\n workspaceId\n active\n cadence\n hourUtc\n dayOfWeek\n dayOfMonth\n format\n recipientIds\n nextRunAt\n lastRunAt\n lastRunId\n lastError\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const CREATE_REPORT_SCHEDULE = gql`\n mutation CreatePlanmagnetReportSchedule(\n $reportId: ID!\n $input: PlanmagnetCreateReportScheduleInput!\n ) {\n planmagnetCreateReportSchedule(reportId: $reportId, input: $input) {\n id\n reportId\n workspaceId\n active\n cadence\n hourUtc\n dayOfWeek\n dayOfMonth\n format\n recipientIds\n nextRunAt\n lastRunAt\n lastRunId\n lastError\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const UPDATE_REPORT_SCHEDULE = gql`\n mutation UpdatePlanmagnetReportSchedule($id: ID!, $input: PlanmagnetUpdateReportScheduleInput!) {\n planmagnetUpdateReportSchedule(id: $id, input: $input) {\n id\n reportId\n workspaceId\n active\n cadence\n hourUtc\n dayOfWeek\n dayOfMonth\n format\n recipientIds\n nextRunAt\n lastRunAt\n lastRunId\n lastError\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const DELETE_REPORT_SCHEDULE = gql`\n mutation DeletePlanmagnetReportSchedule($id: ID!) {\n planmagnetDeleteReportSchedule(id: $id)\n }\n`;\n"],"mappings":";;AAuBA,IAAa,IAAe,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;GA2BlB,IAAa,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsChB,IAAwB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgC3B,IAAgB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCnB,IAAgB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCnB,IAAgB,CAAG;;;;GAMnB,IAAmB,CAAG;;;;;;;;;;;;;;GAgBtB,IAAa,CAAG;;;;;;;;;;;;;;;;;;;GAqBhB,IAAiB,CAAG;;;;;;;;;;;;;;;;;;;GAqBpB,IAAmB,CAAG;;;;;;;;;;;;;;;;;GAmBtB,IAAoB,CAAG;;;;;;;;GAUvB,IAAqB,CAAG;;;;;;;;;;;;;;;;;GAmBxB,IAAsB,CAAG;;;;;;;;;;;;;;;;;;GAoBzB,IAAsB,CAAG;;;;GAMzB,IAAwB,CAAG;;;;;;;;;;;;;;;;;;;;;GAuB3B,IAAyB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;GA0B5B,IAAyB,CAAG;;;;;;;;;;;;;;;;;;;;;GAuB5B,IAAyB,CAAG"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reports (ANR-13/14/15/16, BOFF-8048 follow-on): shared types, source metadata and pure helpers for the report
|
|
3
|
+
* builder + viewer. Mirrors the server's own source-of-truth so the UI never drifts from what actually runs:
|
|
4
|
+
*
|
|
5
|
+
* - `REPORT_SOURCE_SPECS` mirrors wspace-planmagnet-svc's `report-sources.ts` (`REPORT_SOURCE_SPECS`) — the
|
|
6
|
+
* per-source allowed param keys. A param a source doesn't use is rejected at save time by the server with a
|
|
7
|
+
* field-scoped BAD_USER_INPUT; this file's `allowedParams` lets the builder never offer that param in the
|
|
8
|
+
* first place, and `validateWidgetDraft` catches it before the round trip.
|
|
9
|
+
* - `packLayout` decides where each widget sits on the 12-column grid from its position in the widgets array
|
|
10
|
+
* (the builder's reorder controls) and its own `w`/`h` — a left-to-right, wrap-on-overflow shelf pack, the
|
|
11
|
+
* same algorithm CSS flex-wrap performs visually (see `ReportGridCanvas.tsx`), so the preview and the
|
|
12
|
+
* persisted `layout` never disagree. There is no free-form drag-to-position: only reorder (where) and
|
|
13
|
+
* resize (how big) are exposed, so every layout this UI can produce is representable and always passes the
|
|
14
|
+
* server's bounds check (`x >= 0`, `y >= 0`, `w >= 1`, `h >= 1`, `x + w <= 12`).
|
|
15
|
+
* - `validateReportDraft` mirrors wspace-planmagnet-svc's `report-definition.ts` (`assertReportDefinition`)
|
|
16
|
+
* closely enough that a draft which passes it also passes the server — widget count (1..24), unique ids,
|
|
17
|
+
* required type/title/source, and params restricted to the ones the widget's source actually reads. Field
|
|
18
|
+
* paths match the server's own (`definition.widgets[i].…`) so a BAD_USER_INPUT that slips past client
|
|
19
|
+
* validation (e.g. a rule this file doesn't yet know) still maps back to the right widget via
|
|
20
|
+
* `widgetIndexFromField`.
|
|
21
|
+
*/
|
|
22
|
+
export declare const GRID_COLUMNS = 12;
|
|
23
|
+
export declare const MAX_WIDGETS = 24;
|
|
24
|
+
export declare const WIDGET_TYPES: readonly ["KPI", "CHART", "TABLE", "TEXT"];
|
|
25
|
+
export type WidgetType = (typeof WIDGET_TYPES)[number];
|
|
26
|
+
export declare const REPORT_SOURCES: readonly ["PROJECT_STATUS", "VELOCITY", "BURNDOWN", "CUMULATIVE_FLOW", "CYCLE_TIME", "THROUGHPUT", "QUALITY_METRICS", "DELIVERY_KPIS", "BUDGET_VARIANCE", "TIME_BY_PERSON", "STATUS_FLOW", "WORK_BREAKDOWN", "TEAM_WORKLOAD", "RISKS", "WORK_ITEMS"];
|
|
27
|
+
export type ReportSource = (typeof REPORT_SOURCES)[number];
|
|
28
|
+
export type WidgetParamKey = 'projectId' | 'sprintId' | 'teamId' | 'from' | 'to' | 'limit';
|
|
29
|
+
export interface SourceSpec {
|
|
30
|
+
label: string;
|
|
31
|
+
description: string;
|
|
32
|
+
group: string;
|
|
33
|
+
allowedParams: readonly WidgetParamKey[];
|
|
34
|
+
}
|
|
35
|
+
/** 1:1 with wspace-planmagnet-svc's REPORT_SOURCE_SPECS — see this file's header. */
|
|
36
|
+
export declare const REPORT_SOURCE_SPECS: Record<ReportSource, SourceSpec>;
|
|
37
|
+
/** Sources grouped for the "Add widget" dialog, in a fixed, reviewed order (not alphabetical / enum order). */
|
|
38
|
+
export declare const SOURCE_GROUPS: {
|
|
39
|
+
group: string;
|
|
40
|
+
sources: ReportSource[];
|
|
41
|
+
}[];
|
|
42
|
+
export declare function isReportSource(value: string): value is ReportSource;
|
|
43
|
+
export declare const PARAM_LABELS: Record<WidgetParamKey, string>;
|
|
44
|
+
export interface WidgetLayout {
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
w: number;
|
|
48
|
+
h: number;
|
|
49
|
+
}
|
|
50
|
+
export interface WidgetParams {
|
|
51
|
+
projectId?: string | null;
|
|
52
|
+
sprintId?: string | null;
|
|
53
|
+
teamId?: string | null;
|
|
54
|
+
from?: string | null;
|
|
55
|
+
to?: string | null;
|
|
56
|
+
limit?: number | null;
|
|
57
|
+
}
|
|
58
|
+
export interface ReportWidget {
|
|
59
|
+
id: string;
|
|
60
|
+
type: WidgetType;
|
|
61
|
+
title: string;
|
|
62
|
+
source: ReportSource;
|
|
63
|
+
params: WidgetParams;
|
|
64
|
+
layout: WidgetLayout;
|
|
65
|
+
}
|
|
66
|
+
export interface ReportDefinition {
|
|
67
|
+
widgets: ReportWidget[];
|
|
68
|
+
}
|
|
69
|
+
export type ReportVisibility = 'PRIVATE' | 'WORKSPACE';
|
|
70
|
+
export interface ReportSummary {
|
|
71
|
+
id: string;
|
|
72
|
+
name: string;
|
|
73
|
+
description: string | null;
|
|
74
|
+
ownerId: string;
|
|
75
|
+
visibility: ReportVisibility;
|
|
76
|
+
templateKey: string | null;
|
|
77
|
+
workspaceId: string;
|
|
78
|
+
createdAt: string;
|
|
79
|
+
updatedAt: string;
|
|
80
|
+
}
|
|
81
|
+
export interface ReportRecord extends ReportSummary {
|
|
82
|
+
definition: ReportDefinition;
|
|
83
|
+
}
|
|
84
|
+
export interface ReportTemplate {
|
|
85
|
+
key: string;
|
|
86
|
+
name: string;
|
|
87
|
+
description: string;
|
|
88
|
+
definition: ReportDefinition;
|
|
89
|
+
}
|
|
90
|
+
export type WidgetRunStatus = 'OK' | 'FORBIDDEN' | 'ERROR';
|
|
91
|
+
export interface WidgetRunResult {
|
|
92
|
+
widgetId: string;
|
|
93
|
+
source: ReportSource;
|
|
94
|
+
status: WidgetRunStatus;
|
|
95
|
+
message: string | null;
|
|
96
|
+
result: unknown;
|
|
97
|
+
}
|
|
98
|
+
export type ReportRunTrigger = 'MANUAL' | 'SCHEDULE';
|
|
99
|
+
export type ReportDeliveryStatus = 'PENDING_NOTIFICATIONS';
|
|
100
|
+
export interface ReportRun {
|
|
101
|
+
id: string;
|
|
102
|
+
reportId: string;
|
|
103
|
+
workspaceId: string;
|
|
104
|
+
trigger: ReportRunTrigger;
|
|
105
|
+
generatedAt: string;
|
|
106
|
+
generatedBy: string;
|
|
107
|
+
deliveryStatus: ReportDeliveryStatus | null;
|
|
108
|
+
widgets: WidgetRunResult[];
|
|
109
|
+
}
|
|
110
|
+
export type ReportScheduleCadence = 'DAILY' | 'WEEKLY' | 'MONTHLY';
|
|
111
|
+
export type ReportExportFormat = 'CSV' | 'JSON' | 'XML';
|
|
112
|
+
export interface ReportSchedule {
|
|
113
|
+
id: string;
|
|
114
|
+
reportId: string;
|
|
115
|
+
workspaceId: string;
|
|
116
|
+
active: boolean;
|
|
117
|
+
cadence: ReportScheduleCadence;
|
|
118
|
+
hourUtc: number;
|
|
119
|
+
dayOfWeek: number | null;
|
|
120
|
+
dayOfMonth: number | null;
|
|
121
|
+
format: ReportExportFormat;
|
|
122
|
+
recipientIds: string[];
|
|
123
|
+
nextRunAt: string;
|
|
124
|
+
lastRunAt: string | null;
|
|
125
|
+
lastRunId: string | null;
|
|
126
|
+
lastError: string | null;
|
|
127
|
+
createdAt: string;
|
|
128
|
+
updatedAt: string;
|
|
129
|
+
}
|
|
130
|
+
export interface ReportShare {
|
|
131
|
+
id: string;
|
|
132
|
+
reportId: string;
|
|
133
|
+
workspaceId: string;
|
|
134
|
+
createdBy: string;
|
|
135
|
+
createdAt: string;
|
|
136
|
+
expiresAt: string;
|
|
137
|
+
revokedAt: string | null;
|
|
138
|
+
hasPassword: boolean;
|
|
139
|
+
watermark: string;
|
|
140
|
+
accessCount: number;
|
|
141
|
+
lastAccessedAt: string | null;
|
|
142
|
+
runId: string;
|
|
143
|
+
/** Only set on the response of the create mutation — never stored, never returned again. */
|
|
144
|
+
token?: string | null;
|
|
145
|
+
}
|
|
146
|
+
export interface SharedReport {
|
|
147
|
+
reportName: string;
|
|
148
|
+
generatedAt: string;
|
|
149
|
+
watermark: string;
|
|
150
|
+
widgets: WidgetRunResult[];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Left-to-right, wrap-on-overflow shelf pack over the 12-column grid, in array order. The same rule CSS
|
|
154
|
+
* flex-wrap renders visually (`ReportGridCanvas.tsx` uses `width: w/12 * 100%` on flex-wrap children), so the
|
|
155
|
+
* on-screen order always matches the persisted `layout`. Every widget's `w` is clamped to at most
|
|
156
|
+
* `GRID_COLUMNS` first, so a corrupt/legacy value can never produce an unsatisfiable layout.
|
|
157
|
+
*/
|
|
158
|
+
export declare function packLayout<T extends {
|
|
159
|
+
id: string;
|
|
160
|
+
w: number;
|
|
161
|
+
h: number;
|
|
162
|
+
}>(widgets: readonly T[]): Map<string, WidgetLayout>;
|
|
163
|
+
/** Re-derives every widget's `layout` from its position in `widgets` (order = reading/visual order) and its
|
|
164
|
+
* own `w`/`h`, discarding whatever `x`/`y` it already carried — those are a rendering consequence, not
|
|
165
|
+
* independent state, once only reorder+resize (not free placement) are exposed. */
|
|
166
|
+
export declare function repackWidgets(widgets: ReportWidget[]): ReportWidget[];
|
|
167
|
+
export interface FieldError {
|
|
168
|
+
/** e.g. "definition.widgets[2].params.projectId" — matches the server's own `extensions.field`. */
|
|
169
|
+
field: string;
|
|
170
|
+
message: string;
|
|
171
|
+
}
|
|
172
|
+
/** The widget index a server or client field-scoped error refers to, or null for a report-level field
|
|
173
|
+
* (name/description/visibility) or one this pattern doesn't recognize. */
|
|
174
|
+
export declare function widgetIndexFromField(field: string | undefined | null): number | null;
|
|
175
|
+
export declare function validateReportDraft(widgets: ReportWidget[]): FieldError[];
|
|
176
|
+
/** A widget id unique within this browser session — the server only requires uniqueness within one report, but
|
|
177
|
+
* a monotonic counter plus a random suffix means two widgets added in the same millisecond never collide. */
|
|
178
|
+
export declare function newWidgetId(): string;
|
|
179
|
+
export declare function blankWidget(source?: ReportSource): ReportWidget;
|
|
180
|
+
export type Row = Record<string, unknown>;
|
|
181
|
+
/** Only this widget's own primitive fields — never a nested array/object, so a table/KPI never tries to render
|
|
182
|
+
* `children`/`context`/etc. as a cell value. */
|
|
183
|
+
export declare function scalarFields(row: Row): [string, string | number | boolean][];
|
|
184
|
+
/**
|
|
185
|
+
* Finds the rows a CHART/TABLE widget should render from an arbitrary result: the result itself when it is
|
|
186
|
+
* already an array of objects, otherwise the first array-valued property of an object result (covers every
|
|
187
|
+
* executor in report-run.service.ts: `sprints`, `points`, `items`, `projects`, or a bare array), otherwise a
|
|
188
|
+
* single-row table of the object's own scalar fields (PROJECT_STATUS, DELIVERY_KPIS, QUALITY_METRICS,
|
|
189
|
+
* CYCLE_TIME's own summary fields).
|
|
190
|
+
*/
|
|
191
|
+
export declare function extractRows(result: unknown): Row[];
|
|
192
|
+
/** camelCase/SCREAMING_SNAKE -> "Camel Case" / "Screaming Snake", for a generic field-name label. */
|
|
193
|
+
export declare function humanizeKey(key: string): string;
|
|
194
|
+
/** The best field to use as a chart's category axis / a row's display label, preferring identity-ish fields. */
|
|
195
|
+
export declare function pickLabelField(rows: Row[]): string | null;
|
|
196
|
+
/** Numeric fields present on (almost) every row, in first-seen order, excluding the label field. */
|
|
197
|
+
export declare function pickNumericFields(rows: Row[], excludeKey: string | null): string[];
|
|
198
|
+
//# sourceMappingURL=reportModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportModel.d.ts","sourceRoot":"","sources":["../../../src/planmagnet/reports/reportModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,eAAO,MAAM,YAAY,4CAA6C,CAAC;AACvE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,cAAc,sPAgBjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;AAU3F,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;CAC1C;AAED,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,CA4FhE,CAAC;AAEF,+GAA+G;AAC/G,eAAO,MAAM,aAAa,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,EAQlE,CAAC;AAEL,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAOvD,CAAC;AAIF,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AACrD,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACvE,OAAO,EAAE,SAAS,CAAC,EAAE,GACpB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAkB3B;AAED;;oFAEoF;AACpF,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAGrE;AAID,MAAM,WAAW,UAAU;IACzB,mGAAmG;IACnG,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;2EAC2E;AAC3E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAGpF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAkEzE;AAGD;8GAC8G;AAC9G,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,YAA2B,GAAG,YAAY,CAS7E;AAID,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAU1C;iDACiD;AACjD,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAI5E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,GAAG,EAAE,CAOlD;AAED,qGAAqG;AACrG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/C;AAkBD,gHAAgH;AAChH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,CAQzD;AAED,oGAAoG;AACpG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAYlF"}
|