@e-llm-studio/instant-learning 1.0.7 → 1.0.8-alpha.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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),r=require("react"),a=require("lucide-react"),i=require("../apis/scopeApis.js"),t=require("../styles/RuleAccordion.module.css.js"),o=require("../styles/CustomTooltip.module.css.js"),s=require("./InheritanceBreadcrumb.js"),l=require("../components/ConfirmationModal.js"),u=require("../components/CustomTooltip.js"),c=require("../store/useAuthStore.js"),d=require("../store/usePermissionsStore.js"),p=require("../store/useLearningTemplateStore.js"),v=require("./ApprovalLearningDialog.js"),g=require("./ApprovalActionButton.js"),f=require("./PendingApprovalChip.js"),m=require("../queries/useApprovalQueries.js"),h=require("../store/useEnvStore.js"),j=require("primereact/toast");exports.default=function(_){var x,b,A,S,T,C,q,w,L,y,N,I=_.rule,P=_.idx,O=_.ruleSetId,D=_.isOpen,R=_.onToggle,B=_.onDelete;_.onEdit,_.isGlobalScope;var k=_.deleteButtonLabel,E=void 0===k?"Delete":k;_.editButtonLabel;var V=_.enableLearningRuleLabel,M=void 0===V?"Enable":V,F=_.disableLearningRuleLabel,H=void 0===F?"Disable":F,z=_.onToggleSuccess,G=_.dragControls,U=c.default.getState().user,Q=d.usePermissionsStore(function(e){return e.hasPermission}),Y=Q("ilotj.rule.delete",O),J=Q("ilotj.rule.enable",O),K=Q("ilotj.rule.disable",O),W=Q("ilotj.rule.selfApprove",O),X=Q("ilotj.rule.approve",O),Z=Q("ilotj.scope.approve",O),$=Q("ilotj.rule.pendingApproval.view",O),ee=Q("ilotj.rule.variant.pendingApproval.edit",O),ne=W||X||Z||ee,re=$||ne,ae=m.useApproveOrRejectVariantsMutation(),ie=h.default(function(e){return e.rbacConfig}),te=ie?{application:null==ie?void 0:ie.applicationId,scopeLevelModuleId:null!==(x=null==ie?void 0:ie.applicationModuleId)&&void 0!==x?x:""}:void 0,oe=r.useRef(null),se=r.useState(!1),le=se[0],ue=se[1],ce=I.variants&&I.variants.length>0?!I.variants.every(function(e){return!1===e.is_enabled}):!1!==I.is_enabled,de=r.useState(!1),pe=de[0],ve=de[1],ge=null===(b=I.variants)||void 0===b?void 0:b.map(function(e){return e.inheritance||[]}).reduce(function(e,n){return n.length>e.length?n:e},[]),fe=null===(A=I.variants)||void 0===A?void 0:A.some(function(e){return null==e?void 0:e.isOverridden}),me=ce?K:J;I.inheritance&&I.inheritance.length>0&&(null===(S=I.inheritance)||void 0===S||S.length);var he=null!==(C=null===(T=I.variants)||void 0===T?void 0:T.length)&&void 0!==C?C:0,je=r.useState({isOpen:!1,mode:"approve"}),_e=je[0],xe=je[1],be=null!==(w=null===(q=I.variants)||void 0===q?void 0:q.filter(function(e){return"pending_approval"===e.approvalStatus}).length)&&void 0!==w?w:0,Ae=p.useLearningTemplateStore(function(e){return e.urlVariantId}),Se=p.useLearningTemplateStore(function(e){return e.urlApprovalAction}),Te=p.useLearningTemplateStore(function(e){return e.clearUrlApprovalParams});r.useEffect(function(){var e;if(Ae&&Se){var n=null===(e=I.variants)||void 0===e?void 0:e.find(function(e){return e.variantId===Ae});n&&"pending_approval"===(null==n?void 0:n.approvalStatus)&&ne&&(xe({isOpen:!0,mode:Se}),Te())}},[Ae,Se,I.variants,Te,ne]);var Ce=function(e,n){e.stopPropagation(),xe({isOpen:!0,mode:n})},qe=D?"".concat(t.default.accordionHeader," ").concat(t.default.accordionHeaderOpen):t.default.accordionHeader;return n.jsxs(n.Fragment,{children:[n.jsx(j.Toast,{ref:oe}),n.jsx("div",e.__assign({className:qe,onClick:R},{children:n.jsxs("div",e.__assign({className:t.default.headerContent},{children:[n.jsxs("div",e.__assign({className:t.default.headerTopRow},{children:[n.jsx("div",e.__assign({className:t.default.titleSection},{children:n.jsxs("div",e.__assign({className:t.default.titleRow},{children:[n.jsx("div",e.__assign({className:t.default.dragHandle,title:"Drag to reorder",style:{touchAction:"none"},onPointerDown:function(e){e.stopPropagation(),null==G||G.start(e)}},{children:n.jsx(a.GripVertical,{size:18})})),n.jsxs("span",e.__assign({className:t.default.ruleTitle},{children:[P+1,". ",I.ruleTitle]})),I.dataSource&&n.jsx("span",e.__assign({className:t.default.dataSourceTag},{children:null===(L=I.dataSource)||void 0===L?void 0:L.tag})),re&&n.jsx(f.default,{count:be}),fe&&n.jsx(u.default,e.__assign({content:"Inherited from the ".concat((null==ge?void 0:ge.length)>=2?ge[ge.length-2]:"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:o.default.customTooltip,sideOffset:5},{children:n.jsx("span",e.__assign({className:t.default.overriddenTag},{children:"Overridden"}))})),!ce&&n.jsx("span",e.__assign({className:t.default.learningDisabledPill},{children:"Disabled"}))]}))})),n.jsx("div",e.__assign({className:t.default.headerActions},{children:n.jsx("div",e.__assign({className:t.default.chevronIcon},{children:D?n.jsx(a.ChevronUp,{size:20}):n.jsx(a.ChevronDown,{size:20})}))}))]})),n.jsxs("div",e.__assign({className:t.default.footerRow},{children:[n.jsx(s.default,{inheritance:ge||[]}),n.jsxs("div",e.__assign({className:t.default.headerButtonGroup},{children:[me&&n.jsx("button",e.__assign({onClick:function(n){return e.__awaiter(void 0,void 0,void 0,function(){return e.__generator(this,function(e){return n.stopPropagation(),ue(!0),[2]})})},disabled:pe,className:t.default.toggleLearningButton},{children:ce?H:M})),ne&&be>1&&n.jsxs(n.Fragment,{children:[n.jsx(g.default,{variant:"approve",text:be>1?"Approve All":"Approve",onClick:function(e){return Ce(e,"approve")}}),n.jsx(g.default,{variant:"reject",text:be>1?"Reject All":"Reject",onClick:function(e){return Ce(e,"reject")}})]}),Y&&B&&n.jsx("button",e.__assign({className:t.default.deleteButton,onClick:function(e){e.stopPropagation(),null==B||B()}},{children:E}))]}))]}))]}))})),n.jsx(l.default,{isOpen:le,title:ce?"Disable Learning?":"Enable Learning?",description:"Are you sure you want to ".concat(ce?"disable":"enable"," this learning for ").concat(I.ruleTitle,"?"),warning:ce?"This learning will no longer influence upcoming schedules. You can enable it again anytime.":"This learning will start influencing upcoming schedules again.",confirmText:ce?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:ce?"#DC2626":"#16A34A",onConfirm:function(){return e.__awaiter(void 0,void 0,void 0,function(){var n,r,a;return e.__generator(this,function(e){switch(e.label){case 0:ve(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),0===(n=(null===(a=I.variants)||void 0===a?void 0:a.map(function(e){return e.variantId}))||[]).length&&I.ruleId&&n.push(I.ruleId),null==U?void 0:U.email,[4,i.toggleVariant(n,!ce)];case 2:return e.sent(),null==z||z(),[3,5];case 3:return r=e.sent(),console.error("Failed to toggle rule variants",r),[3,5];case 4:return ve(!1),ue(!1),[7];case 5:return[2]}})})},onCancel:function(){return ue(!1)},isLoading:pe}),n.jsx(v.default,{open:_e.isOpen,mode:_e.mode,onClose:function(){return xe(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})})},onSubmit:function(n){return function(n){var r,a,i=null!==(a=null===(r=I.variants)||void 0===r?void 0:r.filter(function(e){return"pending_approval"===e.approvalStatus}).map(function(e){return e.variantId}))&&void 0!==a?a:[];i.length&&O&&ae.mutate({variantIds:i,status:"approve"===_e.mode?"approved":"rejected",feedback:n.feedback,scopeId:O,appsecData:te},{onSuccess:function(){var n;xe(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})}),null==z||z(),null===(n=oe.current)||void 0===n||n.show({severity:"success",summary:"".concat(_e.mode," Successfully"),detail:"approve"===_e.mode?"Learning approved successfully":"Learning rejected successfully"})},onError:function(e){var n;console.error("An error occurred during rejecting.",e),null===(n=oe.current)||void 0===n||n.show({severity:"error",summary:"".concat(_e.mode," Failed"),detail:"There was an error ".concat("approve"===_e.mode?"approving":"rejecting"," the learning. Please try again.")})}})}(n)},variantInformation:"".concat(I.ruleTitle,"-").concat(he>1?"Variants":"Variant 1"),ruleTitle:I.ruleTitle,pendingVariants:null!==(N=null===(y=I.variants)||void 0===y?void 0:y.filter(function(e){return"pending_approval"===e.approvalStatus}))&&void 0!==N?N:[],isPending:ae.isPending})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),r=require("react"),a=require("lucide-react"),i=require("../apis/scopeApis.js"),t=require("../styles/RuleAccordion.module.css.js"),o=require("../styles/CustomTooltip.module.css.js"),s=require("./InheritanceBreadcrumb.js"),l=require("../components/ConfirmationModal.js"),u=require("../components/CustomTooltip.js"),d=require("../store/useAuthStore.js"),c=require("../store/usePermissionsStore.js"),p=require("../store/useLearningTemplateStore.js"),v=require("./ApprovalLearningDialog.js"),g=require("./ApprovalActionButton.js"),f=require("./PendingApprovalChip.js"),m=require("../queries/useApprovalQueries.js"),h=require("../store/useEnvStore.js"),j=require("primereact/toast");exports.default=function(_){var x,b,A,S,T,C,q,w,L,y,N,I=_.rule,P=_.idx,O=_.ruleSetId,D=_.isOpen,R=_.onToggle,B=_.onDelete;_.onEdit,_.isGlobalScope;var k=_.deleteButtonLabel,E=void 0===k?"Delete":k;_.editButtonLabel;var V=_.enableLearningRuleLabel,F=void 0===V?"Enable":V,H=_.disableLearningRuleLabel,M=void 0===H?"Disable":H,z=_.onToggleSuccess,G=_.dragControls,U=d.default.getState().user,Q=c.usePermissionsStore(function(e){return e.hasPermission}),Y=Q("ilotj.rule.delete",O),J=Q("ilotj.rule.enable",O),K=Q("ilotj.rule.disable",O),W=Q("ilotj.rule.selfApprove",O),X=Q("ilotj.rule.approve",O),Z=Q("ilotj.scope.approve",O),$=Q("ilotj.rule.pendingApproval.view",O),ee=Q("ilotj.rule.variant.pendingApproval.edit",O),ne=W||X||Z||ee,re=$||ne,ae=m.useApproveOrRejectVariantsMutation(),ie=h.default(function(e){return e.rbacConfig}),te=ie?{application:null==ie?void 0:ie.applicationId,scopeLevelModuleId:null!==(x=null==ie?void 0:ie.moduleId)&&void 0!==x?x:""}:void 0,oe=r.useRef(null),se=r.useState(!1),le=se[0],ue=se[1],de=I.variants&&I.variants.length>0?!I.variants.every(function(e){return!1===e.is_enabled}):!1!==I.is_enabled,ce=r.useState(!1),pe=ce[0],ve=ce[1],ge=null===(b=I.variants)||void 0===b?void 0:b.map(function(e){return e.inheritance||[]}).reduce(function(e,n){return n.length>e.length?n:e},[]),fe=null===(A=I.variants)||void 0===A?void 0:A.some(function(e){return null==e?void 0:e.isOverridden}),me=de?K:J;I.inheritance&&I.inheritance.length>0&&(null===(S=I.inheritance)||void 0===S||S.length);var he=null!==(C=null===(T=I.variants)||void 0===T?void 0:T.length)&&void 0!==C?C:0,je=r.useState({isOpen:!1,mode:"approve"}),_e=je[0],xe=je[1],be=null!==(w=null===(q=I.variants)||void 0===q?void 0:q.filter(function(e){return"pending_approval"===e.approvalStatus}).length)&&void 0!==w?w:0,Ae=p.useLearningTemplateStore(function(e){return e.urlVariantId}),Se=p.useLearningTemplateStore(function(e){return e.urlApprovalAction}),Te=p.useLearningTemplateStore(function(e){return e.clearUrlApprovalParams});r.useEffect(function(){var e;if(Ae&&Se){var n=null===(e=I.variants)||void 0===e?void 0:e.find(function(e){return e.variantId===Ae});n&&"pending_approval"===(null==n?void 0:n.approvalStatus)&&ne&&(xe({isOpen:!0,mode:Se}),Te())}},[Ae,Se,I.variants,Te,ne]);var Ce=function(e,n){e.stopPropagation(),xe({isOpen:!0,mode:n})},qe=D?"".concat(t.default.accordionHeader," ").concat(t.default.accordionHeaderOpen):t.default.accordionHeader;return n.jsxs(n.Fragment,{children:[n.jsx(j.Toast,{ref:oe}),n.jsx("div",e.__assign({className:qe,onClick:R},{children:n.jsxs("div",e.__assign({className:t.default.headerContent},{children:[n.jsxs("div",e.__assign({className:t.default.headerTopRow},{children:[n.jsx("div",e.__assign({className:t.default.titleSection},{children:n.jsxs("div",e.__assign({className:t.default.titleRow},{children:[n.jsx("div",e.__assign({className:t.default.dragHandle,title:"Drag to reorder",style:{touchAction:"none"},onPointerDown:function(e){e.stopPropagation(),null==G||G.start(e)}},{children:n.jsx(a.GripVertical,{size:18})})),n.jsxs("span",e.__assign({className:t.default.ruleTitle},{children:[P+1,". ",I.ruleTitle]})),I.dataSource&&n.jsx("span",e.__assign({className:t.default.dataSourceTag},{children:null===(L=I.dataSource)||void 0===L?void 0:L.tag})),re&&n.jsx(f.default,{count:be}),fe&&n.jsx(u.default,e.__assign({content:"Inherited from the ".concat((null==ge?void 0:ge.length)>=2?ge[ge.length-2]:"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:o.default.customTooltip,sideOffset:5},{children:n.jsx("span",e.__assign({className:t.default.overriddenTag},{children:"Overridden"}))})),!de&&n.jsx("span",e.__assign({className:t.default.learningDisabledPill},{children:"Disabled"}))]}))})),n.jsx("div",e.__assign({className:t.default.headerActions},{children:n.jsx("div",e.__assign({className:t.default.chevronIcon},{children:D?n.jsx(a.ChevronUp,{size:20}):n.jsx(a.ChevronDown,{size:20})}))}))]})),n.jsxs("div",e.__assign({className:t.default.footerRow},{children:[n.jsx(s.default,{inheritance:ge||[]}),n.jsxs("div",e.__assign({className:t.default.headerButtonGroup},{children:[me&&n.jsx("button",e.__assign({onClick:function(n){return e.__awaiter(void 0,void 0,void 0,function(){return e.__generator(this,function(e){return n.stopPropagation(),ue(!0),[2]})})},disabled:pe,className:t.default.toggleLearningButton},{children:de?M:F})),ne&&be>1&&n.jsxs(n.Fragment,{children:[n.jsx(g.default,{variant:"approve",text:be>1?"Approve All":"Approve",onClick:function(e){return Ce(e,"approve")}}),n.jsx(g.default,{variant:"reject",text:be>1?"Reject All":"Reject",onClick:function(e){return Ce(e,"reject")}})]}),Y&&B&&n.jsx("button",e.__assign({className:t.default.deleteButton,onClick:function(e){e.stopPropagation(),null==B||B()}},{children:E}))]}))]}))]}))})),n.jsx(l.default,{isOpen:le,title:de?"Disable Learning?":"Enable Learning?",description:"Are you sure you want to ".concat(de?"disable":"enable"," this learning for ").concat(I.ruleTitle,"?"),warning:de?"This learning will no longer influence upcoming schedules. You can enable it again anytime.":"This learning will start influencing upcoming schedules again.",confirmText:de?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:de?"#DC2626":"#16A34A",onConfirm:function(){return e.__awaiter(void 0,void 0,void 0,function(){var n,r,a;return e.__generator(this,function(e){switch(e.label){case 0:ve(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),0===(n=(null===(a=I.variants)||void 0===a?void 0:a.map(function(e){return e.variantId}))||[]).length&&I.ruleId&&n.push(I.ruleId),null==U?void 0:U.email,[4,i.toggleVariant(n,!de)];case 2:return e.sent(),null==z||z(),[3,5];case 3:return r=e.sent(),console.error("Failed to toggle rule variants",r),[3,5];case 4:return ve(!1),ue(!1),[7];case 5:return[2]}})})},onCancel:function(){return ue(!1)},isLoading:pe}),n.jsx(v.default,{open:_e.isOpen,mode:_e.mode,onClose:function(){return xe(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})})},onSubmit:function(n){return function(n){var r,a,i=null!==(a=null===(r=I.variants)||void 0===r?void 0:r.filter(function(e){return"pending_approval"===e.approvalStatus}).map(function(e){return e.variantId}))&&void 0!==a?a:[];i.length&&O&&ae.mutate({variantIds:i,status:"approve"===_e.mode?"approved":"rejected",feedback:n.feedback,scopeId:O,appsecData:te},{onSuccess:function(){var n;xe(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})}),null==z||z(),null===(n=oe.current)||void 0===n||n.show({severity:"success",summary:"".concat(_e.mode," Successfully"),detail:"approve"===_e.mode?"Learning approved successfully":"Learning rejected successfully"})},onError:function(e){var n;console.error("An error occurred during rejecting.",e),null===(n=oe.current)||void 0===n||n.show({severity:"error",summary:"".concat(_e.mode," Failed"),detail:"There was an error ".concat("approve"===_e.mode?"approving":"rejecting"," the learning. Please try again.")})}})}(n)},variantInformation:"".concat(I.ruleTitle,"-").concat(he>1?"Variants":"Variant 1"),ruleTitle:I.ruleTitle,pendingVariants:null!==(N=null===(y=I.variants)||void 0===y?void 0:y.filter(function(e){return"pending_approval"===e.approvalStatus}))&&void 0!==N?N:[],isPending:ae.isPending})]})};
2
2
  //# sourceMappingURL=RuleAccordionHeader.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),t=require("react"),a=require("date-fns"),i=require("lucide-react"),r=require("../apis/scopeApis.js"),s=require("./HistorySkeleton.js"),o=require("./InheritanceBreadcrumb.js"),l=require("./RuleConditionBlock.js"),d=require("../styles/VariantCard.module.css.js"),c=require("../styles/CustomTooltip.module.css.js"),u=require("../components/CustomTooltip.js"),p=require("../components/ConfirmationModal.js"),v=require("./OverrideTimeline.js"),f=require("../store/useAuthStore.js"),h=require("../store/usePermissionsStore.js"),g=require("./PendingApprovalChip.js"),m=require("./ApprovalActionButton.js"),_=require("./ApprovalLearningDialog.js"),j=require("../queries/useApprovalQueries.js"),x=require("../store/useEnvStore.js"),y=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")};exports.default=function(b){var T,A,C,N,w,I,S,L=b.ruleTitle,B=b.variant,D=b.variantIndex,O=b.totalVariants,q=b.ruleId;b.pendingApprovalCount;var F=b.ruleSetId,k=b.tierName,E=b.displayLabel,H=b.onEdit,P=b.onDelete,V=b.onFetchOverrideHistory,M=b.editButtonLabel,R=void 0===M?"Edit":M,W=b.deleteButtonLabel,z=void 0===W?"Delete":W,U=b.whenToApplyLabel,G=void 0===U?"When to Apply":U,Z=b.whenNotToApplyLabel,K=void 0===Z?"When Not to Apply":Z,Q=b.noConditionsText,Y=void 0===Q?"No conditions":Q,$=b.viewOverrideLabel,J=void 0===$?"View Override History":$,X=b.hideOverrideLabel,ee=void 0===X?"Hide Override History":X,ne=b.enableLearningVariantLabel,te=void 0===ne?"Enable":ne,ae=b.disableLearningVariantLabel,ie=void 0===ae?"Disable":ae,re=b.historyErrorMessage,se=void 0===re?"Failed to load override history.":re,oe=b.resolveGapsLabel,le=void 0===oe?"This learning has some gaps":oe,de=b.showActionsBar,ce=void 0===de||de,ue=b.showDescriptionBox,pe=void 0===ue||ue,ve=b.showConditions,fe=void 0===ve||ve,he=b.showInheritance,ge=void 0===he||he,me=b.defaultApplyOpen,_e=void 0===me||me,je=b.defaultNotApplyOpen,xe=void 0===je||je,ye=b.className,be=b.isHighlighted,Te=void 0!==be&&be,Ae=b.highlightAction,Ce=b.highlightedTierNames,Ne=b.highlightedVariantIds,we=b.headerContent,Ie=b.footerContent,Se=b.onToggleSuccess,Le=b.setDeleteConfirmationUsedFor,Be=b.onCopyToTier,De=b.onSetInitialDraftMessage,Oe=f.default.getState().user,qe=t.useState(_e),Fe=qe[0],ke=qe[1],Ee=t.useState(xe),He=Ee[0],Pe=Ee[1],Ve=t.useState(!1),Me=Ve[0],Re=Ve[1],We=t.useState(!1),ze=We[0],Ue=We[1],Ge=t.useState(null),Ze=Ge[0],Ke=Ge[1],Qe=t.useState(null),Ye=Qe[0],$e=Qe[1],Je=t.useState(!1),Xe=Je[0],en=Je[1],nn=t.useState(!1),tn=nn[0],an=nn[1],rn=t.useRef(null),sn=!1!==B.is_enabled,on=t.useState(!1),ln=on[0],dn=on[1],cn=t.useRef(null),un=t.useState({isOpen:!1,mode:"approve"}),pn=un[0],vn=un[1],fn=j.useApproveOrRejectVariantsMutation(),hn=x.default(function(e){return e.rbacConfig}),gn=hn?{application:hn.applicationId,scopeLevelModuleId:null!==(T=null==hn?void 0:hn.applicationModuleId)&&void 0!==T?T:""}:void 0,mn=h.usePermissionsStore(function(e){return e.hasPermission}),_n=F,jn=B.inheritance&&B.inheritance.length>1,xn=mn("ilotj.rule.variant.edit",_n)||mn(jn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",_n),yn=mn("ilotj.rule.variant.enable",_n)||mn(jn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",_n),bn=mn("ilotj.rule.variant.disable",_n)||mn(jn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",_n),Tn=mn("ilotj.rule.variant.delete",_n),An=mn("ilotj.rule.selfApprove",_n),Cn=mn("ilotj.rule.approve",_n),Nn=mn("ilotj.scope.approve",_n),wn=mn("ilotj.rule.pendingApproval.view",_n),In=mn("ilotj.rule.variant.pendingApproval.edit",_n),Sn=An||Cn||Nn||In,Ln=wn||Sn,Bn="pending_approval"===(null==B?void 0:B.approvalStatus),Dn="rejected"===(null==B?void 0:B.approvalStatus),On=Sn&&Bn;t.useEffect(function(){var e=function(e){rn.current&&!rn.current.contains(e.target)&&en(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var qn=(null===(A=null==Ze?void 0:Ze.wta)||void 0===A?void 0:A.changeLog)||[],Fn=(null===(C=null==Ze?void 0:Ze.wnta)||void 0===C?void 0:C.changeLog)||[],kn=Te&&Ce&&k?Ce.filter(function(e){return e!==k}):[],En=kn.length>0&&k?kn.every(function(e){return e>k})?"↓":"↑":"↓",Hn=function(){if(Ne)for(var e=Array.from(Ne),n=0;n<e.length;n++)if(e[n]!==B.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},Pn=function(e,n){e.stopPropagation(),vn({isOpen:!0,mode:n})},Vn=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=a.parseISO(n);return a.isValid(t)?a.format(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},Mn=function(e){return e?e.includes("@")?e.split("@")[0].split(".").map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" "):e:""};return n.jsxs("div",e.__assign({className:y(d.default.variantCard,Te&&d.default.variantHighlight,ye),"data-variant-id":B.variantId},{children:[n.jsxs("div",e.__assign({className:d.default.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[n.jsxs("div",e.__assign({className:d.default.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[n.jsx("span",e.__assign({className:d.default.variantLabel},{children:"Default"===B.variantType&&"Default"!==E?"Default | ".concat(E):E})),Te&&Ae&&n.jsx("span",e.__assign({className:y(d.default.actionChip,"new"===Ae?d.default.actionChipNew:d.default.actionChipUpdated)},{children:"new"===Ae?"Created":"Updated"})),(null==B?void 0:B.isOverridden)&&n.jsx(u.default,e.__assign({content:"Inherited from the ".concat((null===(N=B.inheritance)||void 0===N?void 0:N[(null===(w=B.inheritance)||void 0===w?void 0:w.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:c.default.customTooltip,sideOffset:5},{children:n.jsx("span",e.__assign({className:d.default.overriddenTag},{children:"Overridden"}))})),Ln&&Bn&&n.jsx(g.default,{}),Dn&&n.jsx("span",e.__assign({style:{backgroundColor:"#FEF2F2",color:"#EF4444",border:"1px solid #FECACA",padding:"2px 8px",borderRadius:"9999px",fontSize:"0.75rem",fontWeight:500,display:"inline-flex",alignItems:"center"}},{children:"Rejected"})),!sn&&n.jsx("span",e.__assign({className:d.default.learningDisabledPill},{children:"Disabled"})),ge&&1!==O&&0!==D&&n.jsx("div",e.__assign({className:d.default.inheritanceSection},{children:n.jsx(o.default,{inheritance:B.inheritance||[]})}))]})),ce&&n.jsxs("div",e.__assign({className:d.default.variantActions},{children:[On&&n.jsxs(n.Fragment,{children:[n.jsx(m.default,{variant:"approve",text:"Approve",onClick:function(e){return Pn(e,"approve")}}),n.jsx(m.default,{variant:"reject",text:"Reject",onClick:function(e){return Pn(e,"reject")}})]}),H&&xn&&n.jsx("button",e.__assign({className:d.default.editButton,onClick:function(){null==H||H(B,q,k,"edit")}},{children:R})),P&&Tn&&"Default"!==B.variantType&&n.jsx("button",e.__assign({className:d.default.deleteButton,onClick:function(){null==Le||Le("variantDeletion"),null==P||P(B.variantId,q)}},{children:z})),n.jsxs("div",e.__assign({className:d.default.menuWrapper,ref:rn},{children:[n.jsx("button",e.__assign({onClick:function(){return en(!Xe)},className:"".concat(d.default.menuTrigger," ").concat(Xe?d.default.menuTriggerActive:"")},{children:n.jsx(i.MoreVertical,{size:16})})),Xe&&n.jsxs("div",e.__assign({className:d.default.menuDropdown},{children:[(sn&&bn||!sn&&yn)&&n.jsxs("button",e.__assign({onClick:function(){return e.__awaiter(void 0,void 0,void 0,function(){return e.__generator(this,function(e){return en(!1),dn(!0),[2]})})},disabled:tn,className:"".concat(d.default.menuItem," ").concat(tn?d.default.menuItemDisabled:"")},{children:[sn?n.jsx(i.Pause,{size:14}):n.jsx(i.Play,{size:14}),sn?ie:te]})),k&&n.jsxs("button",e.__assign({onClick:function(){var e="Tier 1"===k?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(L,"\nLearning Description: ").concat(B.description,"\nWhen to apply: ").concat(B.whenToApply,"\nWhen not to apply: ").concat(B.whenNotToApply);null==De||De(n),en(!1),null==Be||Be(B,q,L||"",k,e)},className:d.default.menuItem},{children:[n.jsx(i.Copy,{size:14}),"Copy to ","Tier 1"===k?"Tier 2":"Tier 1"]})),V&&(null!==(S=null===(I=B.inheritance)||void 0===I?void 0:I.length)&&void 0!==S?S:0)>1&&n.jsxs("button",e.__assign({onClick:function(){en(!1),e.__awaiter(void 0,void 0,void 0,function(){var n;return e.__generator(this,function(e){switch(e.label){case 0:if(Me)return Re(!1),[2];if(Re(!0),!V)return[2];Ue(!0),$e(null),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,V(q,B.variantId)];case 2:return n=e.sent(),Ke(n),[3,5];case 3:return e.sent(),$e(se),[3,5];case 4:return Ue(!1),[7];case 5:return[2]}})})},className:d.default.menuItem},{children:[n.jsx(i.Eye,{size:14}),Me?ee:J]}))]}))]}))]}))]})),we,pe&&B.description&&n.jsxs("div",e.__assign({className:d.default.descriptionBox},{children:[n.jsx("p",e.__assign({className:d.default.descriptionText},{children:B.description})),Me&&(ze?n.jsx(s.HistorySkeleton,{}):Ye?n.jsx("p",e.__assign({className:d.default.errorText},{children:Ye})):(null==Ze?void 0:Ze.ruleDescription)?n.jsx(v.default,{changeLog:Ze.ruleDescription.changeLog}):n.jsx("p",e.__assign({className:d.default.noHistoryText},{children:"No override history found"})))]})),fe&&n.jsxs("div",e.__assign({className:d.default.conditionsContainer},{children:[n.jsx(l.default,{type:"apply",conditions:B.whenToApply||"",isOpen:Fe,onToggle:function(){return ke(!Fe)},labelText:G,noConditionsText:Y,showOverrideHistory:Me,isLoadingHistory:ze,historyError:Ye,overrideHistoryData:qn}),n.jsx(l.default,{type:"notApply",conditions:B.whenNotToApply||"",isOpen:He,onToggle:function(){return Pe(!He)},labelText:K,noConditionsText:Y,showOverrideHistory:Me,isLoadingHistory:ze,historyError:Ye,overrideHistoryData:Fn})]})),Te&&kn.length>0&&n.jsxs("div",e.__assign({className:d.default.crossTierBanner},{children:[n.jsx(i.Info,{className:d.default.crossTierBannerIcon}),n.jsxs("span",e.__assign({className:d.default.crossTierBannerText},{children:["Also created in ",kn.join(", "),"."]})),n.jsxs("span",e.__assign({className:d.default.crossTierBannerLink,onClick:Hn,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&Hn()}},{children:["Scroll to view ",En]}))]})),Ie,(B.createdBy||B.createdAt)&&n.jsxs("div",e.__assign({className:d.default.variantFooter},{children:[!0===B.is_user_accepted_risk&&n.jsxs("div",e.__assign({className:d.default.resolveGaps},{children:[n.jsx(i.TriangleAlert,{size:14,color:"#EF4444"}),n.jsx("span",e.__assign({className:d.default.resolveGapsText},{children:le})),xn&&n.jsx("button",e.__assign({onClick:function(){null==H||H(B,q,k,"resolve_gaps")},className:d.default.resolveButton},{children:"Resolve"}))]})),n.jsx("div",e.__assign({className:d.default.variantFooterContent},{children:B.updatedBy||B.updatedAt?n.jsxs(n.Fragment,{children:[B.updatedBy&&n.jsx(u.default,e.__assign({content:B.createdBy?"Created by ".concat(Mn(B.createdBy)):"",contentClassName:c.default.customTooltip,sideOffset:5,placement:"top"},{children:n.jsxs("span",e.__assign({className:d.default.variantFooterItem},{children:["Updated by ",Mn(B.updatedBy)]}))})),B.updatedBy&&B.updatedAt&&n.jsx("span",e.__assign({className:d.default.variantFooterSeparator},{children:"•"})),B.updatedAt&&n.jsx(u.default,e.__assign({content:B.createdAt?"Created at ".concat(Vn(B.createdAt)):"",contentClassName:c.default.customTooltip,sideOffset:5,placement:"top"},{children:n.jsx("span",e.__assign({className:d.default.variantFooterItem},{children:Vn(B.updatedAt)}))}))]}):n.jsxs(n.Fragment,{children:[B.createdBy&&n.jsxs("span",e.__assign({className:d.default.variantFooterItem},{children:["Created by ",Mn(B.createdBy)]})),B.createdBy&&B.createdAt&&n.jsx("span",e.__assign({className:d.default.variantFooterSeparator},{children:"•"})),B.createdAt&&n.jsx("span",e.__assign({className:d.default.variantFooterItem},{children:Vn(B.createdAt)}))]})}))]})),n.jsx(p.default,{isOpen:ln,title:sn?"Disable Learning":"Enable Learning",description:"Are you sure you want to ".concat(sn?"disable":"enable"," learning for this variant in ").concat(L,"?"),warning:sn?"This variant will no longer influence upcoming schedules. You can enable it again anytime.":"This variant will start influencing upcoming schedules again.",confirmText:sn?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:sn?"#DC2626":"#16A34A",onConfirm:function(){return e.__awaiter(void 0,void 0,void 0,function(){var n;return e.__generator(this,function(e){switch(e.label){case 0:an(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),null==Oe?void 0:Oe.email,[4,r.toggleVariant([B.variantId],!sn)];case 2:return e.sent(),null==Se||Se(),[3,5];case 3:return n=e.sent(),console.error("Failed to toggle variant",n),[3,5];case 4:return an(!1),en(!1),dn(!1),[7];case 5:return[2]}})})},onCancel:function(){return dn(!1)},isLoading:tn,position:"fixed"}),n.jsx(_.default,{open:pn.isOpen,mode:pn.mode,onClose:function(){return vn(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})})},onSubmit:function(n){F&&fn.mutate({variantIds:[B.variantId],status:"approve"===pn.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:F,appsecData:gn},{onSuccess:function(){var n;vn(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})}),null==Se||Se(),null===(n=cn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===pn.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===pn.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=cn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(L," — ").concat(E),ruleTitle:L,pendingVariants:[B],isPending:fn.isPending})]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),t=require("react"),a=require("date-fns"),i=require("lucide-react"),r=require("../apis/scopeApis.js"),s=require("./HistorySkeleton.js"),o=require("./InheritanceBreadcrumb.js"),l=require("./RuleConditionBlock.js"),d=require("../styles/VariantCard.module.css.js"),c=require("../styles/CustomTooltip.module.css.js"),u=require("../components/CustomTooltip.js"),p=require("../components/ConfirmationModal.js"),v=require("./OverrideTimeline.js"),f=require("../store/useAuthStore.js"),h=require("../store/usePermissionsStore.js"),g=require("./PendingApprovalChip.js"),m=require("./ApprovalActionButton.js"),_=require("./ApprovalLearningDialog.js"),j=require("../queries/useApprovalQueries.js"),x=require("../store/useEnvStore.js"),y=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")};exports.default=function(b){var T,A,C,N,w,I,S,L=b.ruleTitle,B=b.variant,D=b.variantIndex,O=b.totalVariants,q=b.ruleId;b.pendingApprovalCount;var F=b.ruleSetId,k=b.tierName,E=b.displayLabel,H=b.onEdit,P=b.onDelete,V=b.onFetchOverrideHistory,M=b.editButtonLabel,R=void 0===M?"Edit":M,W=b.deleteButtonLabel,z=void 0===W?"Delete":W,U=b.whenToApplyLabel,G=void 0===U?"When to Apply":U,Z=b.whenNotToApplyLabel,K=void 0===Z?"When Not to Apply":Z,Q=b.noConditionsText,Y=void 0===Q?"No conditions":Q,$=b.viewOverrideLabel,J=void 0===$?"View Override History":$,X=b.hideOverrideLabel,ee=void 0===X?"Hide Override History":X,ne=b.enableLearningVariantLabel,te=void 0===ne?"Enable":ne,ae=b.disableLearningVariantLabel,ie=void 0===ae?"Disable":ae,re=b.historyErrorMessage,se=void 0===re?"Failed to load override history.":re,oe=b.resolveGapsLabel,le=void 0===oe?"This learning has some gaps":oe,de=b.showActionsBar,ce=void 0===de||de,ue=b.showDescriptionBox,pe=void 0===ue||ue,ve=b.showConditions,fe=void 0===ve||ve,he=b.showInheritance,ge=void 0===he||he,me=b.defaultApplyOpen,_e=void 0===me||me,je=b.defaultNotApplyOpen,xe=void 0===je||je,ye=b.className,be=b.isHighlighted,Te=void 0!==be&&be,Ae=b.highlightAction,Ce=b.highlightedTierNames,Ne=b.highlightedVariantIds,we=b.headerContent,Ie=b.footerContent,Se=b.onToggleSuccess,Le=b.setDeleteConfirmationUsedFor,Be=b.onCopyToTier,De=b.onSetInitialDraftMessage,Oe=f.default.getState().user,qe=t.useState(_e),Fe=qe[0],ke=qe[1],Ee=t.useState(xe),He=Ee[0],Pe=Ee[1],Ve=t.useState(!1),Me=Ve[0],Re=Ve[1],We=t.useState(!1),ze=We[0],Ue=We[1],Ge=t.useState(null),Ze=Ge[0],Ke=Ge[1],Qe=t.useState(null),Ye=Qe[0],$e=Qe[1],Je=t.useState(!1),Xe=Je[0],en=Je[1],nn=t.useState(!1),tn=nn[0],an=nn[1],rn=t.useRef(null),sn=!1!==B.is_enabled,on=t.useState(!1),ln=on[0],dn=on[1],cn=t.useRef(null),un=t.useState({isOpen:!1,mode:"approve"}),pn=un[0],vn=un[1],fn=j.useApproveOrRejectVariantsMutation(),hn=x.default(function(e){return e.rbacConfig}),gn=hn?{application:hn.applicationId,scopeLevelModuleId:null!==(T=null==hn?void 0:hn.moduleId)&&void 0!==T?T:""}:void 0,mn=h.usePermissionsStore(function(e){return e.hasPermission}),_n=F,jn=B.inheritance&&B.inheritance.length>1,xn=mn("ilotj.rule.variant.edit",_n)||mn(jn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",_n),yn=mn("ilotj.rule.variant.enable",_n)||mn(jn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",_n),bn=mn("ilotj.rule.variant.disable",_n)||mn(jn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",_n),Tn=mn("ilotj.rule.variant.delete",_n),An=mn("ilotj.rule.selfApprove",_n),Cn=mn("ilotj.rule.approve",_n),Nn=mn("ilotj.scope.approve",_n),wn=mn("ilotj.rule.pendingApproval.view",_n),In=mn("ilotj.rule.variant.pendingApproval.edit",_n),Sn=An||Cn||Nn||In,Ln=wn||Sn,Bn="pending_approval"===(null==B?void 0:B.approvalStatus),Dn="rejected"===(null==B?void 0:B.approvalStatus),On=Sn&&Bn;t.useEffect(function(){var e=function(e){rn.current&&!rn.current.contains(e.target)&&en(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var qn=(null===(A=null==Ze?void 0:Ze.wta)||void 0===A?void 0:A.changeLog)||[],Fn=(null===(C=null==Ze?void 0:Ze.wnta)||void 0===C?void 0:C.changeLog)||[],kn=Te&&Ce&&k?Ce.filter(function(e){return e!==k}):[],En=kn.length>0&&k?kn.every(function(e){return e>k})?"↓":"↑":"↓",Hn=function(){if(Ne)for(var e=Array.from(Ne),n=0;n<e.length;n++)if(e[n]!==B.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},Pn=function(e,n){e.stopPropagation(),vn({isOpen:!0,mode:n})},Vn=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=a.parseISO(n);return a.isValid(t)?a.format(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},Mn=function(e){return e?e.includes("@")?e.split("@")[0].split(".").map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" "):e:""};return n.jsxs("div",e.__assign({className:y(d.default.variantCard,Te&&d.default.variantHighlight,ye),"data-variant-id":B.variantId},{children:[n.jsxs("div",e.__assign({className:d.default.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[n.jsxs("div",e.__assign({className:d.default.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[n.jsx("span",e.__assign({className:d.default.variantLabel},{children:"Default"===B.variantType&&"Default"!==E?"Default | ".concat(E):E})),Te&&Ae&&n.jsx("span",e.__assign({className:y(d.default.actionChip,"new"===Ae?d.default.actionChipNew:d.default.actionChipUpdated)},{children:"new"===Ae?"Created":"Updated"})),(null==B?void 0:B.isOverridden)&&n.jsx(u.default,e.__assign({content:"Inherited from the ".concat((null===(N=B.inheritance)||void 0===N?void 0:N[(null===(w=B.inheritance)||void 0===w?void 0:w.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:c.default.customTooltip,sideOffset:5},{children:n.jsx("span",e.__assign({className:d.default.overriddenTag},{children:"Overridden"}))})),Ln&&Bn&&n.jsx(g.default,{}),Dn&&n.jsx("span",e.__assign({style:{backgroundColor:"#FEF2F2",color:"#EF4444",border:"1px solid #FECACA",padding:"2px 8px",borderRadius:"9999px",fontSize:"0.75rem",fontWeight:500,display:"inline-flex",alignItems:"center"}},{children:"Rejected"})),!sn&&n.jsx("span",e.__assign({className:d.default.learningDisabledPill},{children:"Disabled"})),ge&&1!==O&&0!==D&&n.jsx("div",e.__assign({className:d.default.inheritanceSection},{children:n.jsx(o.default,{inheritance:B.inheritance||[]})}))]})),ce&&n.jsxs("div",e.__assign({className:d.default.variantActions},{children:[On&&n.jsxs(n.Fragment,{children:[n.jsx(m.default,{variant:"approve",text:"Approve",onClick:function(e){return Pn(e,"approve")}}),n.jsx(m.default,{variant:"reject",text:"Reject",onClick:function(e){return Pn(e,"reject")}})]}),H&&xn&&n.jsx("button",e.__assign({className:d.default.editButton,onClick:function(){null==H||H(B,q,k,"edit")}},{children:R})),P&&Tn&&"Default"!==B.variantType&&n.jsx("button",e.__assign({className:d.default.deleteButton,onClick:function(){null==Le||Le("variantDeletion"),null==P||P(B.variantId,q)}},{children:z})),n.jsxs("div",e.__assign({className:d.default.menuWrapper,ref:rn},{children:[n.jsx("button",e.__assign({onClick:function(){return en(!Xe)},className:"".concat(d.default.menuTrigger," ").concat(Xe?d.default.menuTriggerActive:"")},{children:n.jsx(i.MoreVertical,{size:16})})),Xe&&n.jsxs("div",e.__assign({className:d.default.menuDropdown},{children:[(sn&&bn||!sn&&yn)&&n.jsxs("button",e.__assign({onClick:function(){return e.__awaiter(void 0,void 0,void 0,function(){return e.__generator(this,function(e){return en(!1),dn(!0),[2]})})},disabled:tn,className:"".concat(d.default.menuItem," ").concat(tn?d.default.menuItemDisabled:"")},{children:[sn?n.jsx(i.Pause,{size:14}):n.jsx(i.Play,{size:14}),sn?ie:te]})),k&&n.jsxs("button",e.__assign({onClick:function(){var e="Tier 1"===k?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(L,"\nLearning Description: ").concat(B.description,"\nWhen to apply: ").concat(B.whenToApply,"\nWhen not to apply: ").concat(B.whenNotToApply);null==De||De(n),en(!1),null==Be||Be(B,q,L||"",k,e)},className:d.default.menuItem},{children:[n.jsx(i.Copy,{size:14}),"Copy to ","Tier 1"===k?"Tier 2":"Tier 1"]})),V&&(null!==(S=null===(I=B.inheritance)||void 0===I?void 0:I.length)&&void 0!==S?S:0)>1&&n.jsxs("button",e.__assign({onClick:function(){en(!1),e.__awaiter(void 0,void 0,void 0,function(){var n;return e.__generator(this,function(e){switch(e.label){case 0:if(Me)return Re(!1),[2];if(Re(!0),!V)return[2];Ue(!0),$e(null),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,V(q,B.variantId)];case 2:return n=e.sent(),Ke(n),[3,5];case 3:return e.sent(),$e(se),[3,5];case 4:return Ue(!1),[7];case 5:return[2]}})})},className:d.default.menuItem},{children:[n.jsx(i.Eye,{size:14}),Me?ee:J]}))]}))]}))]}))]})),we,pe&&B.description&&n.jsxs("div",e.__assign({className:d.default.descriptionBox},{children:[n.jsx("p",e.__assign({className:d.default.descriptionText},{children:B.description})),Me&&(ze?n.jsx(s.HistorySkeleton,{}):Ye?n.jsx("p",e.__assign({className:d.default.errorText},{children:Ye})):(null==Ze?void 0:Ze.ruleDescription)?n.jsx(v.default,{changeLog:Ze.ruleDescription.changeLog}):n.jsx("p",e.__assign({className:d.default.noHistoryText},{children:"No override history found"})))]})),fe&&n.jsxs("div",e.__assign({className:d.default.conditionsContainer},{children:[n.jsx(l.default,{type:"apply",conditions:B.whenToApply||"",isOpen:Fe,onToggle:function(){return ke(!Fe)},labelText:G,noConditionsText:Y,showOverrideHistory:Me,isLoadingHistory:ze,historyError:Ye,overrideHistoryData:qn}),n.jsx(l.default,{type:"notApply",conditions:B.whenNotToApply||"",isOpen:He,onToggle:function(){return Pe(!He)},labelText:K,noConditionsText:Y,showOverrideHistory:Me,isLoadingHistory:ze,historyError:Ye,overrideHistoryData:Fn})]})),Te&&kn.length>0&&n.jsxs("div",e.__assign({className:d.default.crossTierBanner},{children:[n.jsx(i.Info,{className:d.default.crossTierBannerIcon}),n.jsxs("span",e.__assign({className:d.default.crossTierBannerText},{children:["Also created in ",kn.join(", "),"."]})),n.jsxs("span",e.__assign({className:d.default.crossTierBannerLink,onClick:Hn,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&Hn()}},{children:["Scroll to view ",En]}))]})),Ie,(B.createdBy||B.createdAt)&&n.jsxs("div",e.__assign({className:d.default.variantFooter},{children:[!0===B.is_user_accepted_risk&&n.jsxs("div",e.__assign({className:d.default.resolveGaps},{children:[n.jsx(i.TriangleAlert,{size:14,color:"#EF4444"}),n.jsx("span",e.__assign({className:d.default.resolveGapsText},{children:le})),xn&&n.jsx("button",e.__assign({onClick:function(){null==H||H(B,q,k,"resolve_gaps")},className:d.default.resolveButton},{children:"Resolve"}))]})),n.jsx("div",e.__assign({className:d.default.variantFooterContent},{children:B.updatedBy||B.updatedAt?n.jsxs(n.Fragment,{children:[B.updatedBy&&n.jsx(u.default,e.__assign({content:B.createdBy?"Created by ".concat(Mn(B.createdBy)):"",contentClassName:c.default.customTooltip,sideOffset:5,placement:"top"},{children:n.jsxs("span",e.__assign({className:d.default.variantFooterItem},{children:["Updated by ",Mn(B.updatedBy)]}))})),B.updatedBy&&B.updatedAt&&n.jsx("span",e.__assign({className:d.default.variantFooterSeparator},{children:"•"})),B.updatedAt&&n.jsx(u.default,e.__assign({content:B.createdAt?"Created at ".concat(Vn(B.createdAt)):"",contentClassName:c.default.customTooltip,sideOffset:5,placement:"top"},{children:n.jsx("span",e.__assign({className:d.default.variantFooterItem},{children:Vn(B.updatedAt)}))}))]}):n.jsxs(n.Fragment,{children:[B.createdBy&&n.jsxs("span",e.__assign({className:d.default.variantFooterItem},{children:["Created by ",Mn(B.createdBy)]})),B.createdBy&&B.createdAt&&n.jsx("span",e.__assign({className:d.default.variantFooterSeparator},{children:"•"})),B.createdAt&&n.jsx("span",e.__assign({className:d.default.variantFooterItem},{children:Vn(B.createdAt)}))]})}))]})),n.jsx(p.default,{isOpen:ln,title:sn?"Disable Learning":"Enable Learning",description:"Are you sure you want to ".concat(sn?"disable":"enable"," learning for this variant in ").concat(L,"?"),warning:sn?"This variant will no longer influence upcoming schedules. You can enable it again anytime.":"This variant will start influencing upcoming schedules again.",confirmText:sn?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:sn?"#DC2626":"#16A34A",onConfirm:function(){return e.__awaiter(void 0,void 0,void 0,function(){var n;return e.__generator(this,function(e){switch(e.label){case 0:an(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),null==Oe?void 0:Oe.email,[4,r.toggleVariant([B.variantId],!sn)];case 2:return e.sent(),null==Se||Se(),[3,5];case 3:return n=e.sent(),console.error("Failed to toggle variant",n),[3,5];case 4:return an(!1),en(!1),dn(!1),[7];case 5:return[2]}})})},onCancel:function(){return dn(!1)},isLoading:tn,position:"fixed"}),n.jsx(_.default,{open:pn.isOpen,mode:pn.mode,onClose:function(){return vn(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})})},onSubmit:function(n){F&&fn.mutate({variantIds:[B.variantId],status:"approve"===pn.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:F,appsecData:gn},{onSuccess:function(){var n;vn(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})}),null==Se||Se(),null===(n=cn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===pn.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===pn.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=cn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(L," — ").concat(E),ruleTitle:L,pendingVariants:[B],isPending:fn.isPending})]}))};
2
2
  //# sourceMappingURL=VariantCard.js.map
@@ -1,2 +1,2 @@
1
- import{__assign as e,__awaiter as n,__generator as r}from"tslib";import{jsxs as o,Fragment as i,jsx as t}from"react/jsx-runtime";import{useRef as a,useState as l,useEffect as s}from"react";import{GripVertical as c,ChevronUp as u,ChevronDown as d}from"lucide-react";import{toggleVariant as p}from"../apis/scopeApis.js";import v from"../styles/RuleAccordion.module.css.js";import m from"../styles/CustomTooltip.module.css.js";import f from"./InheritanceBreadcrumb.js";import g from"../components/ConfirmationModal.js";import h from"../components/CustomTooltip.js";import b from"../store/useAuthStore.js";import{usePermissionsStore as j}from"../store/usePermissionsStore.js";import{useLearningTemplateStore as A}from"../store/useLearningTemplateStore.js";import T from"./ApprovalLearningDialog.js";import C from"./ApprovalActionButton.js";import S from"./PendingApprovalChip.js";import{useApproveOrRejectVariantsMutation as N}from"../queries/useApprovalQueries.js";import y from"../store/useEnvStore.js";import{Toast as I}from"primereact/toast";var w=function(w){var L,P,D,O,B,R,k,x,E,_,H,V=w.rule,M=w.idx,z=w.ruleSetId,F=w.isOpen,G=w.onToggle,q=w.onDelete;w.onEdit,w.isGlobalScope;var Q=w.deleteButtonLabel,U=void 0===Q?"Delete":Q;w.editButtonLabel;var Y=w.enableLearningRuleLabel,J=void 0===Y?"Enable":Y,K=w.disableLearningRuleLabel,W=void 0===K?"Disable":K,X=w.onToggleSuccess,Z=w.dragControls,$=b.getState().user,ee=j(function(e){return e.hasPermission}),ne=ee("ilotj.rule.delete",z),re=ee("ilotj.rule.enable",z),oe=ee("ilotj.rule.disable",z),ie=ee("ilotj.rule.selfApprove",z),te=ee("ilotj.rule.approve",z),ae=ee("ilotj.scope.approve",z),le=ee("ilotj.rule.pendingApproval.view",z),se=ee("ilotj.rule.variant.pendingApproval.edit",z),ce=ie||te||ae||se,ue=le||ce,de=N(),pe=y(function(e){return e.rbacConfig}),ve=pe?{application:null==pe?void 0:pe.applicationId,scopeLevelModuleId:null!==(L=null==pe?void 0:pe.applicationModuleId)&&void 0!==L?L:""}:void 0,me=a(null),fe=l(!1),ge=fe[0],he=fe[1],be=V.variants&&V.variants.length>0?!V.variants.every(function(e){return!1===e.is_enabled}):!1!==V.is_enabled,je=l(!1),Ae=je[0],Te=je[1],Ce=null===(P=V.variants)||void 0===P?void 0:P.map(function(e){return e.inheritance||[]}).reduce(function(e,n){return n.length>e.length?n:e},[]),Se=null===(D=V.variants)||void 0===D?void 0:D.some(function(e){return null==e?void 0:e.isOverridden}),Ne=be?oe:re;V.inheritance&&V.inheritance.length>0&&(null===(O=V.inheritance)||void 0===O||O.length);var ye=null!==(R=null===(B=V.variants)||void 0===B?void 0:B.length)&&void 0!==R?R:0,Ie=l({isOpen:!1,mode:"approve"}),we=Ie[0],Le=Ie[1],Pe=null!==(x=null===(k=V.variants)||void 0===k?void 0:k.filter(function(e){return"pending_approval"===e.approvalStatus}).length)&&void 0!==x?x:0,De=A(function(e){return e.urlVariantId}),Oe=A(function(e){return e.urlApprovalAction}),Be=A(function(e){return e.clearUrlApprovalParams});s(function(){var e;if(De&&Oe){var n=null===(e=V.variants)||void 0===e?void 0:e.find(function(e){return e.variantId===De});n&&"pending_approval"===(null==n?void 0:n.approvalStatus)&&ce&&(Le({isOpen:!0,mode:Oe}),Be())}},[De,Oe,V.variants,Be,ce]);var Re=function(e,n){e.stopPropagation(),Le({isOpen:!0,mode:n})},ke=F?"".concat(v.accordionHeader," ").concat(v.accordionHeaderOpen):v.accordionHeader;return o(i,{children:[t(I,{ref:me}),t("div",e({className:ke,onClick:G},{children:o("div",e({className:v.headerContent},{children:[o("div",e({className:v.headerTopRow},{children:[t("div",e({className:v.titleSection},{children:o("div",e({className:v.titleRow},{children:[t("div",e({className:v.dragHandle,title:"Drag to reorder",style:{touchAction:"none"},onPointerDown:function(e){e.stopPropagation(),null==Z||Z.start(e)}},{children:t(c,{size:18})})),o("span",e({className:v.ruleTitle},{children:[M+1,". ",V.ruleTitle]})),V.dataSource&&t("span",e({className:v.dataSourceTag},{children:null===(E=V.dataSource)||void 0===E?void 0:E.tag})),ue&&t(S,{count:Pe}),Se&&t(h,e({content:"Inherited from the ".concat((null==Ce?void 0:Ce.length)>=2?Ce[Ce.length-2]:"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:m.customTooltip,sideOffset:5},{children:t("span",e({className:v.overriddenTag},{children:"Overridden"}))})),!be&&t("span",e({className:v.learningDisabledPill},{children:"Disabled"}))]}))})),t("div",e({className:v.headerActions},{children:t("div",e({className:v.chevronIcon},{children:t(F?u:d,{size:20})}))}))]})),o("div",e({className:v.footerRow},{children:[t(f,{inheritance:Ce||[]}),o("div",e({className:v.headerButtonGroup},{children:[Ne&&t("button",e({onClick:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(n){return e.stopPropagation(),he(!0),[2]})})},disabled:Ae,className:v.toggleLearningButton},{children:be?W:J})),ce&&Pe>1&&o(i,{children:[t(C,{variant:"approve",text:Pe>1?"Approve All":"Approve",onClick:function(e){return Re(e,"approve")}}),t(C,{variant:"reject",text:Pe>1?"Reject All":"Reject",onClick:function(e){return Re(e,"reject")}})]}),ne&&q&&t("button",e({className:v.deleteButton,onClick:function(e){e.stopPropagation(),null==q||q()}},{children:U}))]}))]}))]}))})),t(g,{isOpen:ge,title:be?"Disable Learning?":"Enable Learning?",description:"Are you sure you want to ".concat(be?"disable":"enable"," this learning for ").concat(V.ruleTitle,"?"),warning:be?"This learning will no longer influence upcoming schedules. You can enable it again anytime.":"This learning will start influencing upcoming schedules again.",confirmText:be?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:be?"#DC2626":"#16A34A",onConfirm:function(){return n(void 0,void 0,void 0,function(){var e,n,o;return r(this,function(r){switch(r.label){case 0:Te(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),0===(e=(null===(o=V.variants)||void 0===o?void 0:o.map(function(e){return e.variantId}))||[]).length&&V.ruleId&&e.push(V.ruleId),null==$?void 0:$.email,[4,p(e,!be)];case 2:return r.sent(),null==X||X(),[3,5];case 3:return n=r.sent(),console.error("Failed to toggle rule variants",n),[3,5];case 4:return Te(!1),he(!1),[7];case 5:return[2]}})})},onCancel:function(){return he(!1)},isLoading:Ae}),t(T,{open:we.isOpen,mode:we.mode,onClose:function(){return Le(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){return function(n){var r,o,i=null!==(o=null===(r=V.variants)||void 0===r?void 0:r.filter(function(e){return"pending_approval"===e.approvalStatus}).map(function(e){return e.variantId}))&&void 0!==o?o:[];i.length&&z&&de.mutate({variantIds:i,status:"approve"===we.mode?"approved":"rejected",feedback:n.feedback,scopeId:z,appsecData:ve},{onSuccess:function(){var n;Le(function(n){return e(e({},n),{isOpen:!1})}),null==X||X(),null===(n=me.current)||void 0===n||n.show({severity:"success",summary:"".concat(we.mode," Successfully"),detail:"approve"===we.mode?"Learning approved successfully":"Learning rejected successfully"})},onError:function(e){var n;console.error("An error occurred during rejecting.",e),null===(n=me.current)||void 0===n||n.show({severity:"error",summary:"".concat(we.mode," Failed"),detail:"There was an error ".concat("approve"===we.mode?"approving":"rejecting"," the learning. Please try again.")})}})}(n)},variantInformation:"".concat(V.ruleTitle,"-").concat(ye>1?"Variants":"Variant 1"),ruleTitle:V.ruleTitle,pendingVariants:null!==(H=null===(_=V.variants)||void 0===_?void 0:_.filter(function(e){return"pending_approval"===e.approvalStatus}))&&void 0!==H?H:[],isPending:de.isPending})]})};export{w as default};
1
+ import{__assign as e,__awaiter as n,__generator as r}from"tslib";import{jsxs as o,Fragment as i,jsx as t}from"react/jsx-runtime";import{useRef as a,useState as l,useEffect as s}from"react";import{GripVertical as c,ChevronUp as u,ChevronDown as d}from"lucide-react";import{toggleVariant as p}from"../apis/scopeApis.js";import v from"../styles/RuleAccordion.module.css.js";import m from"../styles/CustomTooltip.module.css.js";import f from"./InheritanceBreadcrumb.js";import g from"../components/ConfirmationModal.js";import h from"../components/CustomTooltip.js";import b from"../store/useAuthStore.js";import{usePermissionsStore as j}from"../store/usePermissionsStore.js";import{useLearningTemplateStore as A}from"../store/useLearningTemplateStore.js";import T from"./ApprovalLearningDialog.js";import C from"./ApprovalActionButton.js";import S from"./PendingApprovalChip.js";import{useApproveOrRejectVariantsMutation as N}from"../queries/useApprovalQueries.js";import y from"../store/useEnvStore.js";import{Toast as I}from"primereact/toast";var w=function(w){var L,P,D,O,B,R,k,x,E,_,H,V=w.rule,z=w.idx,F=w.ruleSetId,G=w.isOpen,M=w.onToggle,q=w.onDelete;w.onEdit,w.isGlobalScope;var Q=w.deleteButtonLabel,U=void 0===Q?"Delete":Q;w.editButtonLabel;var Y=w.enableLearningRuleLabel,J=void 0===Y?"Enable":Y,K=w.disableLearningRuleLabel,W=void 0===K?"Disable":K,X=w.onToggleSuccess,Z=w.dragControls,$=b.getState().user,ee=j(function(e){return e.hasPermission}),ne=ee("ilotj.rule.delete",F),re=ee("ilotj.rule.enable",F),oe=ee("ilotj.rule.disable",F),ie=ee("ilotj.rule.selfApprove",F),te=ee("ilotj.rule.approve",F),ae=ee("ilotj.scope.approve",F),le=ee("ilotj.rule.pendingApproval.view",F),se=ee("ilotj.rule.variant.pendingApproval.edit",F),ce=ie||te||ae||se,ue=le||ce,de=N(),pe=y(function(e){return e.rbacConfig}),ve=pe?{application:null==pe?void 0:pe.applicationId,scopeLevelModuleId:null!==(L=null==pe?void 0:pe.moduleId)&&void 0!==L?L:""}:void 0,me=a(null),fe=l(!1),ge=fe[0],he=fe[1],be=V.variants&&V.variants.length>0?!V.variants.every(function(e){return!1===e.is_enabled}):!1!==V.is_enabled,je=l(!1),Ae=je[0],Te=je[1],Ce=null===(P=V.variants)||void 0===P?void 0:P.map(function(e){return e.inheritance||[]}).reduce(function(e,n){return n.length>e.length?n:e},[]),Se=null===(D=V.variants)||void 0===D?void 0:D.some(function(e){return null==e?void 0:e.isOverridden}),Ne=be?oe:re;V.inheritance&&V.inheritance.length>0&&(null===(O=V.inheritance)||void 0===O||O.length);var ye=null!==(R=null===(B=V.variants)||void 0===B?void 0:B.length)&&void 0!==R?R:0,Ie=l({isOpen:!1,mode:"approve"}),we=Ie[0],Le=Ie[1],Pe=null!==(x=null===(k=V.variants)||void 0===k?void 0:k.filter(function(e){return"pending_approval"===e.approvalStatus}).length)&&void 0!==x?x:0,De=A(function(e){return e.urlVariantId}),Oe=A(function(e){return e.urlApprovalAction}),Be=A(function(e){return e.clearUrlApprovalParams});s(function(){var e;if(De&&Oe){var n=null===(e=V.variants)||void 0===e?void 0:e.find(function(e){return e.variantId===De});n&&"pending_approval"===(null==n?void 0:n.approvalStatus)&&ce&&(Le({isOpen:!0,mode:Oe}),Be())}},[De,Oe,V.variants,Be,ce]);var Re=function(e,n){e.stopPropagation(),Le({isOpen:!0,mode:n})},ke=G?"".concat(v.accordionHeader," ").concat(v.accordionHeaderOpen):v.accordionHeader;return o(i,{children:[t(I,{ref:me}),t("div",e({className:ke,onClick:M},{children:o("div",e({className:v.headerContent},{children:[o("div",e({className:v.headerTopRow},{children:[t("div",e({className:v.titleSection},{children:o("div",e({className:v.titleRow},{children:[t("div",e({className:v.dragHandle,title:"Drag to reorder",style:{touchAction:"none"},onPointerDown:function(e){e.stopPropagation(),null==Z||Z.start(e)}},{children:t(c,{size:18})})),o("span",e({className:v.ruleTitle},{children:[z+1,". ",V.ruleTitle]})),V.dataSource&&t("span",e({className:v.dataSourceTag},{children:null===(E=V.dataSource)||void 0===E?void 0:E.tag})),ue&&t(S,{count:Pe}),Se&&t(h,e({content:"Inherited from the ".concat((null==Ce?void 0:Ce.length)>=2?Ce[Ce.length-2]:"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:m.customTooltip,sideOffset:5},{children:t("span",e({className:v.overriddenTag},{children:"Overridden"}))})),!be&&t("span",e({className:v.learningDisabledPill},{children:"Disabled"}))]}))})),t("div",e({className:v.headerActions},{children:t("div",e({className:v.chevronIcon},{children:t(G?u:d,{size:20})}))}))]})),o("div",e({className:v.footerRow},{children:[t(f,{inheritance:Ce||[]}),o("div",e({className:v.headerButtonGroup},{children:[Ne&&t("button",e({onClick:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(n){return e.stopPropagation(),he(!0),[2]})})},disabled:Ae,className:v.toggleLearningButton},{children:be?W:J})),ce&&Pe>1&&o(i,{children:[t(C,{variant:"approve",text:Pe>1?"Approve All":"Approve",onClick:function(e){return Re(e,"approve")}}),t(C,{variant:"reject",text:Pe>1?"Reject All":"Reject",onClick:function(e){return Re(e,"reject")}})]}),ne&&q&&t("button",e({className:v.deleteButton,onClick:function(e){e.stopPropagation(),null==q||q()}},{children:U}))]}))]}))]}))})),t(g,{isOpen:ge,title:be?"Disable Learning?":"Enable Learning?",description:"Are you sure you want to ".concat(be?"disable":"enable"," this learning for ").concat(V.ruleTitle,"?"),warning:be?"This learning will no longer influence upcoming schedules. You can enable it again anytime.":"This learning will start influencing upcoming schedules again.",confirmText:be?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:be?"#DC2626":"#16A34A",onConfirm:function(){return n(void 0,void 0,void 0,function(){var e,n,o;return r(this,function(r){switch(r.label){case 0:Te(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),0===(e=(null===(o=V.variants)||void 0===o?void 0:o.map(function(e){return e.variantId}))||[]).length&&V.ruleId&&e.push(V.ruleId),null==$?void 0:$.email,[4,p(e,!be)];case 2:return r.sent(),null==X||X(),[3,5];case 3:return n=r.sent(),console.error("Failed to toggle rule variants",n),[3,5];case 4:return Te(!1),he(!1),[7];case 5:return[2]}})})},onCancel:function(){return he(!1)},isLoading:Ae}),t(T,{open:we.isOpen,mode:we.mode,onClose:function(){return Le(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){return function(n){var r,o,i=null!==(o=null===(r=V.variants)||void 0===r?void 0:r.filter(function(e){return"pending_approval"===e.approvalStatus}).map(function(e){return e.variantId}))&&void 0!==o?o:[];i.length&&F&&de.mutate({variantIds:i,status:"approve"===we.mode?"approved":"rejected",feedback:n.feedback,scopeId:F,appsecData:ve},{onSuccess:function(){var n;Le(function(n){return e(e({},n),{isOpen:!1})}),null==X||X(),null===(n=me.current)||void 0===n||n.show({severity:"success",summary:"".concat(we.mode," Successfully"),detail:"approve"===we.mode?"Learning approved successfully":"Learning rejected successfully"})},onError:function(e){var n;console.error("An error occurred during rejecting.",e),null===(n=me.current)||void 0===n||n.show({severity:"error",summary:"".concat(we.mode," Failed"),detail:"There was an error ".concat("approve"===we.mode?"approving":"rejecting"," the learning. Please try again.")})}})}(n)},variantInformation:"".concat(V.ruleTitle,"-").concat(ye>1?"Variants":"Variant 1"),ruleTitle:V.ruleTitle,pendingVariants:null!==(H=null===(_=V.variants)||void 0===_?void 0:_.filter(function(e){return"pending_approval"===e.approvalStatus}))&&void 0!==H?H:[],isPending:de.isPending})]})};export{w as default};
2
2
  //# sourceMappingURL=RuleAccordionHeader.js.map
@@ -1,2 +1,2 @@
1
- import{__assign as e,__awaiter as n,__generator as t}from"tslib";import{jsxs as i,jsx as r,Fragment as o}from"react/jsx-runtime";import{useState as a,useRef as l,useEffect as s}from"react";import{parseISO as c,isValid as d,format as u}from"date-fns";import{MoreVertical as p,Pause as v,Play as m,Copy as h,Eye as f,Info as g,TriangleAlert as y}from"lucide-react";import{toggleVariant as b}from"../apis/scopeApis.js";import{HistorySkeleton as T}from"./HistorySkeleton.js";import N from"./InheritanceBreadcrumb.js";import A from"./RuleConditionBlock.js";import C from"../styles/VariantCard.module.css.js";import j from"../styles/CustomTooltip.module.css.js";import w from"../components/CustomTooltip.js";import I from"../components/ConfirmationModal.js";import L from"./OverrideTimeline.js";import x from"../store/useAuthStore.js";import{usePermissionsStore as B}from"../store/usePermissionsStore.js";import D from"./PendingApprovalChip.js";import O from"./ApprovalActionButton.js";import k from"./ApprovalLearningDialog.js";import{useApproveOrRejectVariantsMutation as S}from"../queries/useApprovalQueries.js";import F from"../store/useEnvStore.js";var E=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")},H=function(H){var M,P,V,W,_,z,R,U=H.ruleTitle,G=H.variant,q=H.variantIndex,Z=H.totalVariants,K=H.ruleId;H.pendingApprovalCount;var Q=H.ruleSetId,Y=H.tierName,$=H.displayLabel,J=H.onEdit,X=H.onDelete,ee=H.onFetchOverrideHistory,ne=H.editButtonLabel,te=void 0===ne?"Edit":ne,ie=H.deleteButtonLabel,re=void 0===ie?"Delete":ie,oe=H.whenToApplyLabel,ae=void 0===oe?"When to Apply":oe,le=H.whenNotToApplyLabel,se=void 0===le?"When Not to Apply":le,ce=H.noConditionsText,de=void 0===ce?"No conditions":ce,ue=H.viewOverrideLabel,pe=void 0===ue?"View Override History":ue,ve=H.hideOverrideLabel,me=void 0===ve?"Hide Override History":ve,he=H.enableLearningVariantLabel,fe=void 0===he?"Enable":he,ge=H.disableLearningVariantLabel,ye=void 0===ge?"Disable":ge,be=H.historyErrorMessage,Te=void 0===be?"Failed to load override history.":be,Ne=H.resolveGapsLabel,Ae=void 0===Ne?"This learning has some gaps":Ne,Ce=H.showActionsBar,je=void 0===Ce||Ce,we=H.showDescriptionBox,Ie=void 0===we||we,Le=H.showConditions,xe=void 0===Le||Le,Be=H.showInheritance,De=void 0===Be||Be,Oe=H.defaultApplyOpen,ke=void 0===Oe||Oe,Se=H.defaultNotApplyOpen,Fe=void 0===Se||Se,Ee=H.className,He=H.isHighlighted,Me=void 0!==He&&He,Pe=H.highlightAction,Ve=H.highlightedTierNames,We=H.highlightedVariantIds,_e=H.headerContent,ze=H.footerContent,Re=H.onToggleSuccess,Ue=H.setDeleteConfirmationUsedFor,Ge=H.onCopyToTier,qe=H.onSetInitialDraftMessage,Ze=x.getState().user,Ke=a(ke),Qe=Ke[0],Ye=Ke[1],$e=a(Fe),Je=$e[0],Xe=$e[1],en=a(!1),nn=en[0],tn=en[1],rn=a(!1),on=rn[0],an=rn[1],ln=a(null),sn=ln[0],cn=ln[1],dn=a(null),un=dn[0],pn=dn[1],vn=a(!1),mn=vn[0],hn=vn[1],fn=a(!1),gn=fn[0],yn=fn[1],bn=l(null),Tn=!1!==G.is_enabled,Nn=a(!1),An=Nn[0],Cn=Nn[1],jn=l(null),wn=a({isOpen:!1,mode:"approve"}),In=wn[0],Ln=wn[1],xn=S(),Bn=F(function(e){return e.rbacConfig}),Dn=Bn?{application:Bn.applicationId,scopeLevelModuleId:null!==(M=null==Bn?void 0:Bn.applicationModuleId)&&void 0!==M?M:""}:void 0,On=B(function(e){return e.hasPermission}),kn=Q,Sn=G.inheritance&&G.inheritance.length>1,Fn=On("ilotj.rule.variant.edit",kn)||On(Sn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",kn),En=On("ilotj.rule.variant.enable",kn)||On(Sn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",kn),Hn=On("ilotj.rule.variant.disable",kn)||On(Sn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",kn),Mn=On("ilotj.rule.variant.delete",kn),Pn=On("ilotj.rule.selfApprove",kn),Vn=On("ilotj.rule.approve",kn),Wn=On("ilotj.scope.approve",kn),_n=On("ilotj.rule.pendingApproval.view",kn),zn=On("ilotj.rule.variant.pendingApproval.edit",kn),Rn=Pn||Vn||Wn||zn,Un=_n||Rn,Gn="pending_approval"===(null==G?void 0:G.approvalStatus),qn="rejected"===(null==G?void 0:G.approvalStatus),Zn=Rn&&Gn;s(function(){var e=function(e){bn.current&&!bn.current.contains(e.target)&&hn(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var Kn=(null===(P=null==sn?void 0:sn.wta)||void 0===P?void 0:P.changeLog)||[],Qn=(null===(V=null==sn?void 0:sn.wnta)||void 0===V?void 0:V.changeLog)||[],Yn=Me&&Ve&&Y?Ve.filter(function(e){return e!==Y}):[],$n=Yn.length>0&&Y?Yn.every(function(e){return e>Y})?"↓":"↑":"↓",Jn=function(){if(We)for(var e=Array.from(We),n=0;n<e.length;n++)if(e[n]!==G.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},Xn=function(e,n){e.stopPropagation(),Ln({isOpen:!0,mode:n})},et=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=c(n);return d(t)?u(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},nt=function(e){return e?e.includes("@")?e.split("@")[0].split(".").map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" "):e:""};return i("div",e({className:E(C.variantCard,Me&&C.variantHighlight,Ee),"data-variant-id":G.variantId},{children:[i("div",e({className:C.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[i("div",e({className:C.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[r("span",e({className:C.variantLabel},{children:"Default"===G.variantType&&"Default"!==$?"Default | ".concat($):$})),Me&&Pe&&r("span",e({className:E(C.actionChip,"new"===Pe?C.actionChipNew:C.actionChipUpdated)},{children:"new"===Pe?"Created":"Updated"})),(null==G?void 0:G.isOverridden)&&r(w,e({content:"Inherited from the ".concat((null===(W=G.inheritance)||void 0===W?void 0:W[(null===(_=G.inheritance)||void 0===_?void 0:_.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:j.customTooltip,sideOffset:5},{children:r("span",e({className:C.overriddenTag},{children:"Overridden"}))})),Un&&Gn&&r(D,{}),qn&&r("span",e({style:{backgroundColor:"#FEF2F2",color:"#EF4444",border:"1px solid #FECACA",padding:"2px 8px",borderRadius:"9999px",fontSize:"0.75rem",fontWeight:500,display:"inline-flex",alignItems:"center"}},{children:"Rejected"})),!Tn&&r("span",e({className:C.learningDisabledPill},{children:"Disabled"})),De&&1!==Z&&0!==q&&r("div",e({className:C.inheritanceSection},{children:r(N,{inheritance:G.inheritance||[]})}))]})),je&&i("div",e({className:C.variantActions},{children:[Zn&&i(o,{children:[r(O,{variant:"approve",text:"Approve",onClick:function(e){return Xn(e,"approve")}}),r(O,{variant:"reject",text:"Reject",onClick:function(e){return Xn(e,"reject")}})]}),J&&Fn&&r("button",e({className:C.editButton,onClick:function(){null==J||J(G,K,Y,"edit")}},{children:te})),X&&Mn&&"Default"!==G.variantType&&r("button",e({className:C.deleteButton,onClick:function(){null==Ue||Ue("variantDeletion"),null==X||X(G.variantId,K)}},{children:re})),i("div",e({className:C.menuWrapper,ref:bn},{children:[r("button",e({onClick:function(){return hn(!mn)},className:"".concat(C.menuTrigger," ").concat(mn?C.menuTriggerActive:"")},{children:r(p,{size:16})})),mn&&i("div",e({className:C.menuDropdown},{children:[(Tn&&Hn||!Tn&&En)&&i("button",e({onClick:function(){return n(void 0,void 0,void 0,function(){return t(this,function(e){return hn(!1),Cn(!0),[2]})})},disabled:gn,className:"".concat(C.menuItem," ").concat(gn?C.menuItemDisabled:"")},{children:[r(Tn?v:m,{size:14}),Tn?ye:fe]})),Y&&i("button",e({onClick:function(){var e="Tier 1"===Y?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(U,"\nLearning Description: ").concat(G.description,"\nWhen to apply: ").concat(G.whenToApply,"\nWhen not to apply: ").concat(G.whenNotToApply);null==qe||qe(n),hn(!1),null==Ge||Ge(G,K,U||"",Y,e)},className:C.menuItem},{children:[r(h,{size:14}),"Copy to ","Tier 1"===Y?"Tier 2":"Tier 1"]})),ee&&(null!==(R=null===(z=G.inheritance)||void 0===z?void 0:z.length)&&void 0!==R?R:0)>1&&i("button",e({onClick:function(){hn(!1),n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:if(nn)return tn(!1),[2];if(tn(!0),!ee)return[2];an(!0),pn(null),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,ee(K,G.variantId)];case 2:return e=n.sent(),cn(e),[3,5];case 3:return n.sent(),pn(Te),[3,5];case 4:return an(!1),[7];case 5:return[2]}})})},className:C.menuItem},{children:[r(f,{size:14}),nn?me:pe]}))]}))]}))]}))]})),_e,Ie&&G.description&&i("div",e({className:C.descriptionBox},{children:[r("p",e({className:C.descriptionText},{children:G.description})),nn&&(on?r(T,{}):un?r("p",e({className:C.errorText},{children:un})):(null==sn?void 0:sn.ruleDescription)?r(L,{changeLog:sn.ruleDescription.changeLog}):r("p",e({className:C.noHistoryText},{children:"No override history found"})))]})),xe&&i("div",e({className:C.conditionsContainer},{children:[r(A,{type:"apply",conditions:G.whenToApply||"",isOpen:Qe,onToggle:function(){return Ye(!Qe)},labelText:ae,noConditionsText:de,showOverrideHistory:nn,isLoadingHistory:on,historyError:un,overrideHistoryData:Kn}),r(A,{type:"notApply",conditions:G.whenNotToApply||"",isOpen:Je,onToggle:function(){return Xe(!Je)},labelText:se,noConditionsText:de,showOverrideHistory:nn,isLoadingHistory:on,historyError:un,overrideHistoryData:Qn})]})),Me&&Yn.length>0&&i("div",e({className:C.crossTierBanner},{children:[r(g,{className:C.crossTierBannerIcon}),i("span",e({className:C.crossTierBannerText},{children:["Also created in ",Yn.join(", "),"."]})),i("span",e({className:C.crossTierBannerLink,onClick:Jn,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&Jn()}},{children:["Scroll to view ",$n]}))]})),ze,(G.createdBy||G.createdAt)&&i("div",e({className:C.variantFooter},{children:[!0===G.is_user_accepted_risk&&i("div",e({className:C.resolveGaps},{children:[r(y,{size:14,color:"#EF4444"}),r("span",e({className:C.resolveGapsText},{children:Ae})),Fn&&r("button",e({onClick:function(){null==J||J(G,K,Y,"resolve_gaps")},className:C.resolveButton},{children:"Resolve"}))]})),r("div",e({className:C.variantFooterContent},{children:G.updatedBy||G.updatedAt?i(o,{children:[G.updatedBy&&r(w,e({content:G.createdBy?"Created by ".concat(nt(G.createdBy)):"",contentClassName:j.customTooltip,sideOffset:5,placement:"top"},{children:i("span",e({className:C.variantFooterItem},{children:["Updated by ",nt(G.updatedBy)]}))})),G.updatedBy&&G.updatedAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),G.updatedAt&&r(w,e({content:G.createdAt?"Created at ".concat(et(G.createdAt)):"",contentClassName:j.customTooltip,sideOffset:5,placement:"top"},{children:r("span",e({className:C.variantFooterItem},{children:et(G.updatedAt)}))}))]}):i(o,{children:[G.createdBy&&i("span",e({className:C.variantFooterItem},{children:["Created by ",nt(G.createdBy)]})),G.createdBy&&G.createdAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),G.createdAt&&r("span",e({className:C.variantFooterItem},{children:et(G.createdAt)}))]})}))]})),r(I,{isOpen:An,title:Tn?"Disable Learning":"Enable Learning",description:"Are you sure you want to ".concat(Tn?"disable":"enable"," learning for this variant in ").concat(U,"?"),warning:Tn?"This variant will no longer influence upcoming schedules. You can enable it again anytime.":"This variant will start influencing upcoming schedules again.",confirmText:Tn?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:Tn?"#DC2626":"#16A34A",onConfirm:function(){return n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:yn(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),null==Ze?void 0:Ze.email,[4,b([G.variantId],!Tn)];case 2:return n.sent(),null==Re||Re(),[3,5];case 3:return e=n.sent(),console.error("Failed to toggle variant",e),[3,5];case 4:return yn(!1),hn(!1),Cn(!1),[7];case 5:return[2]}})})},onCancel:function(){return Cn(!1)},isLoading:gn,position:"fixed"}),r(k,{open:In.isOpen,mode:In.mode,onClose:function(){return Ln(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){Q&&xn.mutate({variantIds:[G.variantId],status:"approve"===In.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:Q,appsecData:Dn},{onSuccess:function(){var n;Ln(function(n){return e(e({},n),{isOpen:!1})}),null==Re||Re(),null===(n=jn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===In.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===In.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=jn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(U," — ").concat($),ruleTitle:U,pendingVariants:[G],isPending:xn.isPending})]}))};export{H as default};
1
+ import{__assign as e,__awaiter as n,__generator as t}from"tslib";import{jsxs as i,jsx as r,Fragment as o}from"react/jsx-runtime";import{useState as a,useRef as l,useEffect as s}from"react";import{parseISO as c,isValid as d,format as u}from"date-fns";import{MoreVertical as p,Pause as v,Play as m,Copy as h,Eye as f,Info as g,TriangleAlert as y}from"lucide-react";import{toggleVariant as b}from"../apis/scopeApis.js";import{HistorySkeleton as T}from"./HistorySkeleton.js";import N from"./InheritanceBreadcrumb.js";import A from"./RuleConditionBlock.js";import C from"../styles/VariantCard.module.css.js";import j from"../styles/CustomTooltip.module.css.js";import w from"../components/CustomTooltip.js";import I from"../components/ConfirmationModal.js";import L from"./OverrideTimeline.js";import x from"../store/useAuthStore.js";import{usePermissionsStore as B}from"../store/usePermissionsStore.js";import D from"./PendingApprovalChip.js";import O from"./ApprovalActionButton.js";import k from"./ApprovalLearningDialog.js";import{useApproveOrRejectVariantsMutation as S}from"../queries/useApprovalQueries.js";import F from"../store/useEnvStore.js";var E=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")},H=function(H){var P,V,W,M,_,z,R,U=H.ruleTitle,G=H.variant,q=H.variantIndex,Z=H.totalVariants,K=H.ruleId;H.pendingApprovalCount;var Q=H.ruleSetId,Y=H.tierName,$=H.displayLabel,J=H.onEdit,X=H.onDelete,ee=H.onFetchOverrideHistory,ne=H.editButtonLabel,te=void 0===ne?"Edit":ne,ie=H.deleteButtonLabel,re=void 0===ie?"Delete":ie,oe=H.whenToApplyLabel,ae=void 0===oe?"When to Apply":oe,le=H.whenNotToApplyLabel,se=void 0===le?"When Not to Apply":le,ce=H.noConditionsText,de=void 0===ce?"No conditions":ce,ue=H.viewOverrideLabel,pe=void 0===ue?"View Override History":ue,ve=H.hideOverrideLabel,me=void 0===ve?"Hide Override History":ve,he=H.enableLearningVariantLabel,fe=void 0===he?"Enable":he,ge=H.disableLearningVariantLabel,ye=void 0===ge?"Disable":ge,be=H.historyErrorMessage,Te=void 0===be?"Failed to load override history.":be,Ne=H.resolveGapsLabel,Ae=void 0===Ne?"This learning has some gaps":Ne,Ce=H.showActionsBar,je=void 0===Ce||Ce,we=H.showDescriptionBox,Ie=void 0===we||we,Le=H.showConditions,xe=void 0===Le||Le,Be=H.showInheritance,De=void 0===Be||Be,Oe=H.defaultApplyOpen,ke=void 0===Oe||Oe,Se=H.defaultNotApplyOpen,Fe=void 0===Se||Se,Ee=H.className,He=H.isHighlighted,Pe=void 0!==He&&He,Ve=H.highlightAction,We=H.highlightedTierNames,Me=H.highlightedVariantIds,_e=H.headerContent,ze=H.footerContent,Re=H.onToggleSuccess,Ue=H.setDeleteConfirmationUsedFor,Ge=H.onCopyToTier,qe=H.onSetInitialDraftMessage,Ze=x.getState().user,Ke=a(ke),Qe=Ke[0],Ye=Ke[1],$e=a(Fe),Je=$e[0],Xe=$e[1],en=a(!1),nn=en[0],tn=en[1],rn=a(!1),on=rn[0],an=rn[1],ln=a(null),sn=ln[0],cn=ln[1],dn=a(null),un=dn[0],pn=dn[1],vn=a(!1),mn=vn[0],hn=vn[1],fn=a(!1),gn=fn[0],yn=fn[1],bn=l(null),Tn=!1!==G.is_enabled,Nn=a(!1),An=Nn[0],Cn=Nn[1],jn=l(null),wn=a({isOpen:!1,mode:"approve"}),In=wn[0],Ln=wn[1],xn=S(),Bn=F(function(e){return e.rbacConfig}),Dn=Bn?{application:Bn.applicationId,scopeLevelModuleId:null!==(P=null==Bn?void 0:Bn.moduleId)&&void 0!==P?P:""}:void 0,On=B(function(e){return e.hasPermission}),kn=Q,Sn=G.inheritance&&G.inheritance.length>1,Fn=On("ilotj.rule.variant.edit",kn)||On(Sn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",kn),En=On("ilotj.rule.variant.enable",kn)||On(Sn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",kn),Hn=On("ilotj.rule.variant.disable",kn)||On(Sn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",kn),Pn=On("ilotj.rule.variant.delete",kn),Vn=On("ilotj.rule.selfApprove",kn),Wn=On("ilotj.rule.approve",kn),Mn=On("ilotj.scope.approve",kn),_n=On("ilotj.rule.pendingApproval.view",kn),zn=On("ilotj.rule.variant.pendingApproval.edit",kn),Rn=Vn||Wn||Mn||zn,Un=_n||Rn,Gn="pending_approval"===(null==G?void 0:G.approvalStatus),qn="rejected"===(null==G?void 0:G.approvalStatus),Zn=Rn&&Gn;s(function(){var e=function(e){bn.current&&!bn.current.contains(e.target)&&hn(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var Kn=(null===(V=null==sn?void 0:sn.wta)||void 0===V?void 0:V.changeLog)||[],Qn=(null===(W=null==sn?void 0:sn.wnta)||void 0===W?void 0:W.changeLog)||[],Yn=Pe&&We&&Y?We.filter(function(e){return e!==Y}):[],$n=Yn.length>0&&Y?Yn.every(function(e){return e>Y})?"↓":"↑":"↓",Jn=function(){if(Me)for(var e=Array.from(Me),n=0;n<e.length;n++)if(e[n]!==G.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},Xn=function(e,n){e.stopPropagation(),Ln({isOpen:!0,mode:n})},et=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=c(n);return d(t)?u(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},nt=function(e){return e?e.includes("@")?e.split("@")[0].split(".").map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" "):e:""};return i("div",e({className:E(C.variantCard,Pe&&C.variantHighlight,Ee),"data-variant-id":G.variantId},{children:[i("div",e({className:C.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[i("div",e({className:C.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[r("span",e({className:C.variantLabel},{children:"Default"===G.variantType&&"Default"!==$?"Default | ".concat($):$})),Pe&&Ve&&r("span",e({className:E(C.actionChip,"new"===Ve?C.actionChipNew:C.actionChipUpdated)},{children:"new"===Ve?"Created":"Updated"})),(null==G?void 0:G.isOverridden)&&r(w,e({content:"Inherited from the ".concat((null===(M=G.inheritance)||void 0===M?void 0:M[(null===(_=G.inheritance)||void 0===_?void 0:_.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:j.customTooltip,sideOffset:5},{children:r("span",e({className:C.overriddenTag},{children:"Overridden"}))})),Un&&Gn&&r(D,{}),qn&&r("span",e({style:{backgroundColor:"#FEF2F2",color:"#EF4444",border:"1px solid #FECACA",padding:"2px 8px",borderRadius:"9999px",fontSize:"0.75rem",fontWeight:500,display:"inline-flex",alignItems:"center"}},{children:"Rejected"})),!Tn&&r("span",e({className:C.learningDisabledPill},{children:"Disabled"})),De&&1!==Z&&0!==q&&r("div",e({className:C.inheritanceSection},{children:r(N,{inheritance:G.inheritance||[]})}))]})),je&&i("div",e({className:C.variantActions},{children:[Zn&&i(o,{children:[r(O,{variant:"approve",text:"Approve",onClick:function(e){return Xn(e,"approve")}}),r(O,{variant:"reject",text:"Reject",onClick:function(e){return Xn(e,"reject")}})]}),J&&Fn&&r("button",e({className:C.editButton,onClick:function(){null==J||J(G,K,Y,"edit")}},{children:te})),X&&Pn&&"Default"!==G.variantType&&r("button",e({className:C.deleteButton,onClick:function(){null==Ue||Ue("variantDeletion"),null==X||X(G.variantId,K)}},{children:re})),i("div",e({className:C.menuWrapper,ref:bn},{children:[r("button",e({onClick:function(){return hn(!mn)},className:"".concat(C.menuTrigger," ").concat(mn?C.menuTriggerActive:"")},{children:r(p,{size:16})})),mn&&i("div",e({className:C.menuDropdown},{children:[(Tn&&Hn||!Tn&&En)&&i("button",e({onClick:function(){return n(void 0,void 0,void 0,function(){return t(this,function(e){return hn(!1),Cn(!0),[2]})})},disabled:gn,className:"".concat(C.menuItem," ").concat(gn?C.menuItemDisabled:"")},{children:[r(Tn?v:m,{size:14}),Tn?ye:fe]})),Y&&i("button",e({onClick:function(){var e="Tier 1"===Y?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(U,"\nLearning Description: ").concat(G.description,"\nWhen to apply: ").concat(G.whenToApply,"\nWhen not to apply: ").concat(G.whenNotToApply);null==qe||qe(n),hn(!1),null==Ge||Ge(G,K,U||"",Y,e)},className:C.menuItem},{children:[r(h,{size:14}),"Copy to ","Tier 1"===Y?"Tier 2":"Tier 1"]})),ee&&(null!==(R=null===(z=G.inheritance)||void 0===z?void 0:z.length)&&void 0!==R?R:0)>1&&i("button",e({onClick:function(){hn(!1),n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:if(nn)return tn(!1),[2];if(tn(!0),!ee)return[2];an(!0),pn(null),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,ee(K,G.variantId)];case 2:return e=n.sent(),cn(e),[3,5];case 3:return n.sent(),pn(Te),[3,5];case 4:return an(!1),[7];case 5:return[2]}})})},className:C.menuItem},{children:[r(f,{size:14}),nn?me:pe]}))]}))]}))]}))]})),_e,Ie&&G.description&&i("div",e({className:C.descriptionBox},{children:[r("p",e({className:C.descriptionText},{children:G.description})),nn&&(on?r(T,{}):un?r("p",e({className:C.errorText},{children:un})):(null==sn?void 0:sn.ruleDescription)?r(L,{changeLog:sn.ruleDescription.changeLog}):r("p",e({className:C.noHistoryText},{children:"No override history found"})))]})),xe&&i("div",e({className:C.conditionsContainer},{children:[r(A,{type:"apply",conditions:G.whenToApply||"",isOpen:Qe,onToggle:function(){return Ye(!Qe)},labelText:ae,noConditionsText:de,showOverrideHistory:nn,isLoadingHistory:on,historyError:un,overrideHistoryData:Kn}),r(A,{type:"notApply",conditions:G.whenNotToApply||"",isOpen:Je,onToggle:function(){return Xe(!Je)},labelText:se,noConditionsText:de,showOverrideHistory:nn,isLoadingHistory:on,historyError:un,overrideHistoryData:Qn})]})),Pe&&Yn.length>0&&i("div",e({className:C.crossTierBanner},{children:[r(g,{className:C.crossTierBannerIcon}),i("span",e({className:C.crossTierBannerText},{children:["Also created in ",Yn.join(", "),"."]})),i("span",e({className:C.crossTierBannerLink,onClick:Jn,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&Jn()}},{children:["Scroll to view ",$n]}))]})),ze,(G.createdBy||G.createdAt)&&i("div",e({className:C.variantFooter},{children:[!0===G.is_user_accepted_risk&&i("div",e({className:C.resolveGaps},{children:[r(y,{size:14,color:"#EF4444"}),r("span",e({className:C.resolveGapsText},{children:Ae})),Fn&&r("button",e({onClick:function(){null==J||J(G,K,Y,"resolve_gaps")},className:C.resolveButton},{children:"Resolve"}))]})),r("div",e({className:C.variantFooterContent},{children:G.updatedBy||G.updatedAt?i(o,{children:[G.updatedBy&&r(w,e({content:G.createdBy?"Created by ".concat(nt(G.createdBy)):"",contentClassName:j.customTooltip,sideOffset:5,placement:"top"},{children:i("span",e({className:C.variantFooterItem},{children:["Updated by ",nt(G.updatedBy)]}))})),G.updatedBy&&G.updatedAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),G.updatedAt&&r(w,e({content:G.createdAt?"Created at ".concat(et(G.createdAt)):"",contentClassName:j.customTooltip,sideOffset:5,placement:"top"},{children:r("span",e({className:C.variantFooterItem},{children:et(G.updatedAt)}))}))]}):i(o,{children:[G.createdBy&&i("span",e({className:C.variantFooterItem},{children:["Created by ",nt(G.createdBy)]})),G.createdBy&&G.createdAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),G.createdAt&&r("span",e({className:C.variantFooterItem},{children:et(G.createdAt)}))]})}))]})),r(I,{isOpen:An,title:Tn?"Disable Learning":"Enable Learning",description:"Are you sure you want to ".concat(Tn?"disable":"enable"," learning for this variant in ").concat(U,"?"),warning:Tn?"This variant will no longer influence upcoming schedules. You can enable it again anytime.":"This variant will start influencing upcoming schedules again.",confirmText:Tn?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:Tn?"#DC2626":"#16A34A",onConfirm:function(){return n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:yn(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),null==Ze?void 0:Ze.email,[4,b([G.variantId],!Tn)];case 2:return n.sent(),null==Re||Re(),[3,5];case 3:return e=n.sent(),console.error("Failed to toggle variant",e),[3,5];case 4:return yn(!1),hn(!1),Cn(!1),[7];case 5:return[2]}})})},onCancel:function(){return Cn(!1)},isLoading:gn,position:"fixed"}),r(k,{open:In.isOpen,mode:In.mode,onClose:function(){return Ln(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){Q&&xn.mutate({variantIds:[G.variantId],status:"approve"===In.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:Q,appsecData:Dn},{onSuccess:function(){var n;Ln(function(n){return e(e({},n),{isOpen:!1})}),null==Re||Re(),null===(n=jn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===In.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===In.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=jn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(U," — ").concat($),ruleTitle:U,pendingVariants:[G],isPending:xn.isPending})]}))};export{H as default};
2
2
  //# sourceMappingURL=VariantCard.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e-llm-studio/instant-learning",
3
- "version": "1.0.7",
3
+ "version": "1.0.8-alpha.1",
4
4
  "author": "Devesh Patel",
5
5
  "description": "",
6
6
  "license": "MIT",