@undp/carbon-library 1.0.127 → 1.0.130-NAM-4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -11858,6 +11858,7 @@ var allowedFileTypes = [
11858
11858
  var environmentalImpactAssessmentAllowedTypes = [
11859
11859
  "application/pdf",
11860
11860
  "application/msword",
11861
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
11861
11862
  "image/png",
11862
11863
  "image/jpeg"
11863
11864
  ];
@@ -18605,10 +18606,62 @@ InfoView.defaultProps = {
18605
18606
  hiddenColumns: [],
18606
18607
  };
18607
18608
 
18609
+ var linkDocVisible = function (docStatus) {
18610
+ var visible = false;
18611
+ if (docStatus === exports.DocumentStatus.PENDING ||
18612
+ docStatus === exports.DocumentStatus.ACCEPTED ||
18613
+ docStatus === exports.DocumentStatus.REJECTED) {
18614
+ visible = true;
18615
+ }
18616
+ return visible;
18617
+ };
18618
+ var uploadDocUserPermission = function (userInfoState, docType, programmeOwnerId, ministryLevelPermission, programmeStatus) {
18619
+ var permission = false;
18620
+ if (programmeStatus && programmeStatus === exports.ProgrammeStageUnified.Rejected) {
18621
+ return false;
18622
+ }
18623
+ if (docType === exports.DocType.DESIGN_DOCUMENT) {
18624
+ if (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT ||
18625
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY && ministryLevelPermission)) &&
18626
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly) {
18627
+ permission = true;
18628
+ }
18629
+ else if ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.PROGRAMME_DEVELOPER &&
18630
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly) {
18631
+ if (programmeOwnerId.includes(String(userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyId))) {
18632
+ permission = true;
18633
+ }
18634
+ }
18635
+ }
18636
+ else if (docType === exports.DocType.METHODOLOGY_DOCUMENT || docType === exports.DocType.MONITORING_REPORT || docType === exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT) {
18637
+ if (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT ||
18638
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.CERTIFIER ||
18639
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY && ministryLevelPermission)) &&
18640
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly) {
18641
+ permission = true;
18642
+ }
18643
+ else if ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.PROGRAMME_DEVELOPER &&
18644
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly) {
18645
+ if (programmeOwnerId.includes(String(userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyId))) {
18646
+ permission = true;
18647
+ }
18648
+ }
18649
+ }
18650
+ else if (docType === exports.DocType.VERIFICATION_REPORT) {
18651
+ if (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT ||
18652
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.CERTIFIER ||
18653
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY && ministryLevelPermission)) &&
18654
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly) {
18655
+ permission = true;
18656
+ }
18657
+ }
18658
+ return permission;
18659
+ };
18660
+
18608
18661
  var NdcActionViewComponent = function (props) {
18609
18662
  var _a;
18610
18663
  var _b, _c;
18611
- var useUserContext = props.useUserContext, linkDocVisible = props.linkDocVisible, uploadDocUserPermission = props.uploadDocUserPermission, useConnection = props.useConnection, useLocation = props.useLocation, onNavigateToNdcManagementView = props.onNavigateToNdcManagementView, translator = props.translator, sdgGoalImages = props.sdgGoalImages, Chart = props.Chart;
18664
+ var useUserContext = props.useUserContext, useConnection = props.useConnection, useLocation = props.useLocation, onNavigateToNdcManagementView = props.onNavigateToNdcManagementView, translator = props.translator, sdgGoalImages = props.sdgGoalImages, Chart = props.Chart;
18612
18665
  translator.setDefaultNamespace("ndcAction");
18613
18666
  var t = translator.t;
18614
18667
  var userInfoState = useUserContext().userInfoState;
@@ -24161,7 +24214,7 @@ var css_248z$2 = ".ndc-action-body {\n display: flex;\n flex-direction: column
24161
24214
  styleInject(css_248z$2);
24162
24215
 
24163
24216
  var NdcActionBody = function (props) {
24164
- var data = props.data, programmeId = props.programmeId, canUploadMonitorReport = props.canUploadMonitorReport, programmeOwnerId = props.programmeOwnerId, getProgrammeDocs = props.getProgrammeDocs, ministryLevelPermission = props.ministryLevelPermission, useConnection = props.useConnection, translator = props.translator, useUserContext = props.useUserContext, linkDocVisible = props.linkDocVisible, uploadDocUserPermission = props.uploadDocUserPermission;
24217
+ var data = props.data, programmeId = props.programmeId, canUploadMonitorReport = props.canUploadMonitorReport, programmeOwnerId = props.programmeOwnerId, getProgrammeDocs = props.getProgrammeDocs, ministryLevelPermission = props.ministryLevelPermission, useConnection = props.useConnection, translator = props.translator, useUserContext = props.useUserContext;
24165
24218
  var t = translator.t;
24166
24219
  var userInfoState = useUserContext().userInfoState;
24167
24220
  var fileInputMonitoringRef = React.useRef(null);
@@ -24480,7 +24533,7 @@ var css_248z$1 = ".info-view .title-icon {\n padding-right: 10px; }\n\n.info-vi
24480
24533
  styleInject(css_248z$1);
24481
24534
 
24482
24535
  var ProgrammeDocuments = function (props) {
24483
- var data = props.data, title = props.title, icon = props.icon, programmeId = props.programmeId, programmeOwnerId = props.programmeOwnerId, getDocumentDetails = props.getDocumentDetails, getProgrammeById = props.getProgrammeById, ministryLevelPermission = props.ministryLevelPermission, linkDocVisible = props.linkDocVisible, uploadDocUserPermission = props.uploadDocUserPermission, useConnection = props.useConnection, useUserContext = props.useUserContext, translator = props.translator, methodologyDocumentUpdated = props.methodologyDocumentUpdated;
24536
+ var data = props.data, title = props.title, icon = props.icon, programmeId = props.programmeId, programmeOwnerId = props.programmeOwnerId, getDocumentDetails = props.getDocumentDetails, getProgrammeById = props.getProgrammeById, ministryLevelPermission = props.ministryLevelPermission, useConnection = props.useConnection, useUserContext = props.useUserContext, translator = props.translator, methodologyDocumentUpdated = props.methodologyDocumentUpdated, programmeStatus = props.programmeStatus;
24484
24537
  var t = translator.t;
24485
24538
  var userInfoState = useUserContext().userInfoState;
24486
24539
  var _a = useConnection(); _a.delete; var post = _a.post;
@@ -24727,11 +24780,11 @@ var ProgrammeDocuments = function (props) {
24727
24780
  React.createElement(antd.Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === exports.Role.ViewOnly ||
24728
24781
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.CERTIFIER
24729
24782
  ? t("programme:notAuthToUploadDoc")
24730
- : !uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24731
- React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24783
+ : !uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24784
+ React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24732
24785
  ? { color: "#3F3A47", cursor: "pointer" }
24733
24786
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24734
- return uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && handleDesignDocFileUpload();
24787
+ return uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleDesignDocFileUpload();
24735
24788
  } })),
24736
24789
  React.createElement("input", { type: "file", ref: fileInputRef, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24737
24790
  var selectedFile = e.target.files[0];
@@ -24741,11 +24794,11 @@ var ProgrammeDocuments = function (props) {
24741
24794
  React.createElement(antd.Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === exports.Role.ViewOnly ||
24742
24795
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.CERTIFIER
24743
24796
  ? t("programme:notAuthToUploadDoc")
24744
- : !uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24745
- React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24797
+ : !uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24798
+ React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24746
24799
  ? { color: "#3F3A47", cursor: "pointer" }
24747
24800
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24748
- return uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && handleDesignDocFileUpload();
24801
+ return uploadDocUserPermission(userInfoState, exports.DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleDesignDocFileUpload();
24749
24802
  } })),
24750
24803
  React.createElement("input", { type: "file", ref: fileInputRef, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24751
24804
  var selectedFile = e.target.files[0];
@@ -24790,13 +24843,13 @@ var ProgrammeDocuments = function (props) {
24790
24843
  methodDocStatus !== exports.DocumentStatus.ACCEPTED && (React.createElement(React.Fragment, null,
24791
24844
  React.createElement(antd.Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === exports.Role.ViewOnly
24792
24845
  ? t("programme:notAuthToUploadDoc")
24793
- : !uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24846
+ : !uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24794
24847
  React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: designDocStatus === exports.DocumentStatus.ACCEPTED &&
24795
- uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24848
+ uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24796
24849
  ? { color: "#3F3A47", cursor: "pointer" }
24797
24850
  : { color: "#cacaca" }, onClick: function () {
24798
24851
  return designDocStatus === exports.DocumentStatus.ACCEPTED &&
24799
- uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) &&
24852
+ uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) &&
24800
24853
  handleMethodologyFileUpload();
24801
24854
  } })),
24802
24855
  React.createElement("input", { type: "file", ref: fileInputRefMeth, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
@@ -24807,16 +24860,16 @@ var ProgrammeDocuments = function (props) {
24807
24860
  } }))))) : (React.createElement(React.Fragment, null,
24808
24861
  React.createElement(antd.Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === exports.Role.ViewOnly
24809
24862
  ? t("programme:notAuthToUploadDoc")
24810
- : uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24863
+ : uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24811
24864
  ? designDocStatus !== exports.DocumentStatus.ACCEPTED &&
24812
24865
  t("programme:designDocNotApproved")
24813
24866
  : t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24814
24867
  React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: designDocStatus === exports.DocumentStatus.ACCEPTED &&
24815
- uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24868
+ uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24816
24869
  ? { color: "#3F3A47", cursor: "pointer" }
24817
24870
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24818
24871
  return designDocStatus === exports.DocumentStatus.ACCEPTED &&
24819
- uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) &&
24872
+ uploadDocUserPermission(userInfoState, exports.DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) &&
24820
24873
  handleMethodologyFileUpload();
24821
24874
  } })),
24822
24875
  React.createElement("input", { type: "file", ref: fileInputRefMeth, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
@@ -24863,11 +24916,11 @@ var ProgrammeDocuments = function (props) {
24863
24916
  React.createElement(antd.Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === exports.Role.ViewOnly ||
24864
24917
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.CERTIFIER
24865
24918
  ? t("programme:notAuthToUploadDoc")
24866
- : !uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24867
- React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission)
24919
+ : !uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24920
+ React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24868
24921
  ? { color: "#3F3A47", cursor: "pointer" }
24869
24922
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24870
- return uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && handleImpactAssessmentFileUpload();
24923
+ return uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleImpactAssessmentFileUpload();
24871
24924
  } })),
24872
24925
  React.createElement("input", { type: "file", ref: fileInputRefImpactAssessment, style: { display: "none" }, accept: ".doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24873
24926
  var selectedFile = e.target.files[0];
@@ -24877,11 +24930,11 @@ var ProgrammeDocuments = function (props) {
24877
24930
  React.createElement(antd.Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === exports.Role.ViewOnly ||
24878
24931
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.CERTIFIER
24879
24932
  ? t("programme:notAuthToUploadDoc")
24880
- : !uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24881
- React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission)
24933
+ : !uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24934
+ React.createElement(icons.FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24882
24935
  ? { color: "#3F3A47", cursor: "pointer" }
24883
24936
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24884
- return uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && handleImpactAssessmentFileUpload();
24937
+ return uploadDocUserPermission(userInfoState, exports.DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleImpactAssessmentFileUpload();
24885
24938
  } })),
24886
24939
  React.createElement("input", { type: "file", ref: fileInputRefImpactAssessment, style: { display: "none" }, accept: ".doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24887
24940
  var selectedFile = e.target.files[0];