@e-llm-studio/instant-learning 1.3.0-alpha.19 → 1.3.0-alpha.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +150 -31
  2. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js +1 -1
  3. package/dist/cjs/features/LearningManagement/AuditLog/AuditLog.js +1 -1
  4. package/dist/cjs/features/LearningManagement/LearningManagement.js +1 -1
  5. package/dist/cjs/features/LearningManagement/RuleContent/AddScopeModal.js +1 -1
  6. package/dist/cjs/features/LearningManagement/RuleContent/ApprovalLearningDialog.js +1 -1
  7. package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordionHeader.js +1 -1
  8. package/dist/cjs/features/LearningManagement/RuleContent/RuleContent.js +1 -1
  9. package/dist/cjs/features/LearningManagement/RuleContent/TierCard.js +1 -1
  10. package/dist/cjs/features/LearningManagement/RuleContent/VariantCard.js +1 -1
  11. package/dist/cjs/features/LearningManagement/Sidebar.js +1 -1
  12. package/dist/cjs/features/LearningManagement/components/InstantLearningModal.js +1 -1
  13. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNode.js +1 -1
  14. package/dist/cjs/features/LearningManagement/config.js +1 -1
  15. package/dist/cjs/features/LearningManagement/constants.js +2 -0
  16. package/dist/cjs/features/LearningManagement/constants.js.map +1 -0
  17. package/dist/cjs/features/LearningManagement/queries/useLMSConfigQuery.js +1 -1
  18. package/dist/cjs/features/LearningManagement/store/useLMSConfigStore.js +1 -1
  19. package/dist/cjs/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js +1 -1
  20. package/dist/cjs/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js +1 -1
  21. package/dist/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js +1 -1
  22. package/dist/features/LearningManagement/AuditLog/AuditLog.js +1 -1
  23. package/dist/features/LearningManagement/LearningManagement.js +1 -1
  24. package/dist/features/LearningManagement/RuleContent/AddScopeModal.js +1 -1
  25. package/dist/features/LearningManagement/RuleContent/ApprovalLearningDialog.js +1 -1
  26. package/dist/features/LearningManagement/RuleContent/RuleAccordionHeader.js +1 -1
  27. package/dist/features/LearningManagement/RuleContent/RuleContent.js +1 -1
  28. package/dist/features/LearningManagement/RuleContent/TierCard.js +1 -1
  29. package/dist/features/LearningManagement/RuleContent/VariantCard.js +1 -1
  30. package/dist/features/LearningManagement/Sidebar.js +1 -1
  31. package/dist/features/LearningManagement/components/InstantLearningModal.js +1 -1
  32. package/dist/features/LearningManagement/components/ScopeTree/TreeNode.js +1 -1
  33. package/dist/features/LearningManagement/config.js +1 -1
  34. package/dist/features/LearningManagement/constants.js +2 -0
  35. package/dist/features/LearningManagement/constants.js.map +1 -0
  36. package/dist/features/LearningManagement/queries/useLMSConfigQuery.js +1 -1
  37. package/dist/features/LearningManagement/store/useLMSConfigStore.js +1 -1
  38. package/dist/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js +1 -1
  39. package/dist/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js +1 -1
  40. package/dist/types/src/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.d.ts.map +1 -1
  41. package/dist/types/src/features/LearningManagement/AuditLog/AuditLog.d.ts.map +1 -1
  42. package/dist/types/src/features/LearningManagement/LearningManagement.d.ts.map +1 -1
  43. package/dist/types/src/features/LearningManagement/RuleContent/AddScopeModal.d.ts.map +1 -1
  44. package/dist/types/src/features/LearningManagement/RuleContent/ApprovalLearningDialog.d.ts.map +1 -1
  45. package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordionHeader.d.ts.map +1 -1
  46. package/dist/types/src/features/LearningManagement/RuleContent/RuleContent.d.ts.map +1 -1
  47. package/dist/types/src/features/LearningManagement/RuleContent/TierCard.d.ts.map +1 -1
  48. package/dist/types/src/features/LearningManagement/RuleContent/VariantCard.d.ts.map +1 -1
  49. package/dist/types/src/features/LearningManagement/Sidebar.d.ts.map +1 -1
  50. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNode.d.ts.map +1 -1
  51. package/dist/types/src/features/LearningManagement/constants.d.ts +8 -0
  52. package/dist/types/src/features/LearningManagement/constants.d.ts.map +1 -0
  53. package/dist/types/src/features/LearningManagement/queries/useLMSConfigQuery.d.ts +1 -1
  54. package/dist/types/src/features/LearningManagement/queries/useLMSConfigQuery.d.ts.map +1 -1
  55. package/dist/types/src/features/LearningManagement/store/useLMSConfigStore.d.ts +16 -0
  56. package/dist/types/src/features/LearningManagement/store/useLMSConfigStore.d.ts.map +1 -1
  57. package/dist/types/src/plugins/ValueTypes/Default/DefaultTeachMeRenderer.d.ts.map +1 -1
  58. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import{__awaiter as e,__generator as t,__spreadArray as n,__assign as r}from"tslib";import{jsx as i,jsxs as o,Fragment as l}from"react/jsx-runtime";import{useRef as a,useState as s,useEffect as u}from"react";import{useLearningTemplateStore as c}from"../store/useLearningTemplateStore.js";import d from"../components/EmptyLearningState.js";import{getRulesInRuleSetById as p,exportRuleSet as m,deleteRule as f,deleteQuestion as v,alterQuestionPriority as g}from"../apis/scopeApis.js";import h from"../components/RuleContentSkeleton.js";import{Toast as y}from"primereact/toast";import T from"./ContentLogic.js";import w from"../components/ErrorStateDisplay.js";import C from"../shared/SuccessToastContent.js";import D from"../shared/ErrorToastContent.js";import{findNodeById as S}from"../utils/treeUtils.js";import b from"../styles/LearningContent.module.css.js";import R from"../components/ConfirmationModal.js";import{dt as I}from"../store/useLMSConfigStore.js";import"../../IL-OTJ/_components/atoms/Textarea/Textarea.js";import"lucide-react";import"../../IL-OTJ/_components/InputDataReasoningCard.js";import"../../IL-OTJ/_components/TooltipComponent.js";import"../../IL-OTJ/_components/templates/TemplatesMap/templatesMap.js";import{CitationProvider as x}from"../../IL-OTJ/store/CitationsContext.js";import"@mui/material";import"uuid";import"@mui/material/Tooltip";import"react-markdown";import"rehype-raw";import"axios";import"@e-llm-studio/streaming-response";import"@e-llm-studio/watch-me-work";import"../../IL-OTJ/_components/ChatComponents/ChatHeader.js";import"remark-gfm";import"../../IL-OTJ/_components/MarkdownComponents/MarkdownElements.js";import"../../IL-OTJ/_components/CitationLink.js";import"@e-llm-studio/citation";import"@viswa-test/test-citation";import"../LearningManagement.js";import _ from"../../IL-OTJ/ValueTypeWrappers/TeachMePlugin.js";var j=function(j){var L,k=j.noRulesTitle,O=void 0===k?"No rules have been added !":k,M=j.noRulesDesc,N=void 0===M?"Start by adding rules that should apply across all stations.":M,A=j.noRulesButtonText,E=void 0===A?"Create New Rule":A,F=j.deleteRuleSuccessMessage,V=void 0===F?"Rule deleted successfully!":F,P=j.deleteVariantSuccessMessage,B=void 0===P?"Variant deleted successfully!":P,J=j.deleteRuleErrorMessage,U=void 0===J?"Failed to delete rule. Please try again.":J,W=j.deleteVariantErrorMessage,G=void 0===W?"Failed to delete variant. Please try again.":W,q=j.deleteModalTitle,H=void 0===q?"Delete":q,$=j.deleteRuleModalWarning,z=void 0===$?"This will permanently delete the rule configuration.":$,K=j.deleteVariantModalWarning,Q=void 0===K?"This will permanently delete the variant configuration.":K,X=j.deleteConfirmText,Y=void 0===X?"Delete":X,Z=j.onRefreshRuleSets,ee=j.app_integration_id,te=j.token,ne=c(function(e){return e.selectedRuleSetId}),re=c(function(e){return e.scopeTreeData}),ie=c(function(e){return e.sidebarTab}),oe=c(function(e){return e.setInitialRules}),le=c(function(e){return e.currentRules}),ae=c(function(e){return e.setRawAuditRuleData});c(function(e){return e.createdVariantInfo});var se=c(function(e){return e.resetCreatedVariantInfo}),ue=c(function(e){return e.isILModalTriggered}),ce=c(function(e){return e.setIsILModalTriggered}),de=a(null),pe=s(!1),me=pe[0],fe=pe[1],ve=s(null),ge=ve[0],he=ve[1],ye=s(null),Te=ye[0],we=ye[1],Ce=s(null),De=Ce[0],Se=Ce[1],be=s(null),Re=be[0],Ie=be[1],xe=s(!1),_e=xe[0],je=xe[1],Le=s(null),ke=Le[0],Oe=Le[1],Me=s(!1),Ne=Me[0],Ae=Me[1],Ee=s(""),Fe=Ee[0],Ve=Ee[1],Pe=s(null),Be=Pe[0],Je=Pe[1],Ue=s(!1),We=Ue[0],Ge=Ue[1],qe=s(!1),He=qe[0],$e=qe[1],ze=s("ruleDeletion"),Ke=ze[0],Qe=ze[1],Xe=s(null),Ye=Xe[0],Ze=Xe[1],et=s(!1),tt=et[0],nt=et[1],rt=s(!1),it=rt[0],ot=rt[1],lt=c.getState().tiers,at=s(null),st=at[0],ut=at[1],ct=s(null),dt=ct[0],pt=ct[1],mt=s(null),ft=mt[0],vt=mt[1],gt=function(){he(null),we(null),fe(!0),Ie(0)},ht=function(){fe(!1),ce(!1),he(null),we(null),Se(null),Ie(null),$e(!1),ot(!1),yt(),ut(null),pt(null),vt(null),Z&&Z(!1,ne||void 0)};u(function(){yt()},[ne,oe]),u(function(){ue&&fe(!0)},[ue]);var yt=function(i){return void 0===i&&(i=!1),e(void 0,void 0,void 0,function(){var e,o,l,a,s,u,d,m,f,v,g,h,y,T,w,C,D,S,b;return t(this,function(t){switch(t.label){case 0:if(!ne)return oe([]),[2];i||je(!0),Oe(null),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,p(ne,te)];case 2:return e=t.sent(),console.log("response==",e),(null==e?void 0:e.data)&&0!==Object.keys(e.data).length?(ae(e),o=e.data,console.log("rulesData==",o),l=new Set(["ruleSetName","ruleSetDesc","created_at","updated_at","created_by","updated_by"]),a=Array.isArray(o.tiers)?n([],o.tiers,!0).sort(function(e,t){var n,r;return(null!==(n=e.tier_priority)&&void 0!==n?n:0)-(null!==(r=t.tier_priority)&&void 0!==r?r:0)}).map(function(e){return[e.name,e.value]}):Object.entries(o).filter(function(e){var t=e[0],n=e[1];return!l.has(t)&&Array.isArray(n)}),s=a.map(function(e){var t=e[1];return new Set(t.flatMap(function(e){var t,n;return null!==(n=null===(t=e.variants)||void 0===t?void 0:t.map(function(e){return e.link_id}).filter(Boolean))&&void 0!==n?n:[]}))}),u=s.flatMap(function(e){return Array.from(e)}),d=u.reduce(function(e,t){var n;return e[t]=(null!==(n=e[t])&&void 0!==n?n:0)+1,e},{}),m=new Set(Object.entries(d).filter(function(e){return e[1]>1}).map(function(e){return e[0]})),f=function(e){return e.map(function(e){var t;return r(r({},e),{variants:null===(t=e.variants)||void 0===t?void 0:t.map(function(e){return r(r({},e),{isLinked:!!e.link_id&&m.has(e.link_id)})})})})},v=a.map(function(e,t){var n,r=e[0],i=e[1],o=lt.find(function(e){return e.tier_name===r}),l=r.replace(/tier(\d+)/i,"tier_$1");return{id:null!==(n=null==o?void 0:o.tier_id)&&void 0!==n?n:String(t+1),name:l.replace(/_/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()}),ruleCount:i.length,description:0===t?"".concat(I("tier.subtitle","These are the system-wide learnings applied across all stations.")):"These learnings apply after higher-priority tiers and may refine or relax default behavior.",isOpen:0===t,rules:f(i)}}),(g=c.getState().createdVariantInfo)&&g.length>0?(h=Object.fromEntries(a.map(function(e,t){return[e[0],String(t+1)]})),y=new Set(g.map(function(e){return h[e.tierName]}).filter(Boolean)),T=v.map(function(e){return r(r({},e),{isOpen:e.isOpen||y.has(e.id)})}),oe(T),(w=null===(b=null===(S=null===(D=g[0])||void 0===D?void 0:D.variants)||void 0===S?void 0:S[0])||void 0===b?void 0:b.id)?setTimeout(function(){var e=document.querySelector('[data-variant-id="'.concat(w,'"]'));e&&e.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout(function(){return se()},1e4)},500):se()):oe(v),[3,5]):(oe([]),[2]);case 3:return C=t.sent(),console.error("Failed to fetch rule details",C),404!==(null==C?void 0:C.status)&&Oe((null==C?void 0:C.message)||"Failed to load rules. Please try again."),oe([]),[3,5];case 4:return i||je(!1),[7];case 5:return[2]}})})},Tt=ne?S((null==re?void 0:re.data)||null,ne):null,wt=Tt?{ruleSetId:Tt.id,ruleSetName:Tt.name,ruleSetDesc:"",ruleCount:null===(L=null==Tt?void 0:Tt.metrics)||void 0===L?void 0:L.learningsCount}:void 0,Ct=Boolean(null==re?void 0:re.data),Dt=Boolean(ne&&!Tt&&Ct),St=function(){if("stations"===ie)return"custom";if(!Tt)return"global";switch(Tt.type){case"GLOBAL":default:return"global";case"SCOPE":return"genre";case"SUBSCOPE":case"Custom":return"custom"}},bt=function(e){var t;if(!e)return i("p",{children:I("learnings.tier.deleteDialog.desc","Are you sure you want to delete this rule? This action cannot be undone.")});var n=null==le?void 0:le.flatMap(function(e){var t;return null!==(t=e.rules)&&void 0!==t?t:[]}).find(function(t){return t.ruleId===e});return i("p",{children:I("learnings.tier.deleteDialog.desc","Are you sure you want to delete {rule_title} rule? This action cannot be undone.",{rule_title:null!==(t=null==n?void 0:n.ruleTitle)&&void 0!==t?t:""})})},Rt={editingRule:ge,editingTier:Te,editingVariants:De,focusedVariantIndex:Re,setFocusedVariantIndex:Ie,triggerAddVariant:He,triggerFixGaps:it,copiedRule:st,copiedSourceTier:dt,copiedTargetTier:ft,initialDraftMessage:Fe,app_integration_id:ee,modeId:"019dde79-0494-78d7-ba5b-54a35d20f0fc"};return wt?o(l,{children:[i(y,{ref:de}),i("div",r({className:b.container},{children:_e?i(h,{}):ke?i(w,{errorMessage:ke,onRetry:yt}):i(T,{onAddRule:gt,onDeleteRule:function(e){Je(e)},onEditRule:function(e,t){he(e),we(t||null),Se(e.variants||null),Ie(null),$e(!0),fe(!0)},onEditVariant:function(e,t,n,r){var i,o,l,a,s=null!==(l=null===(o=null===(i=null==le?void 0:le.find(function(e){return e.name===n}))||void 0===i?void 0:i.rules)||void 0===o?void 0:o.find(function(e){return e.ruleId===t}))&&void 0!==l?l:null==le?void 0:le.flatMap(function(e){return e.rules}).find(function(e){return e.ruleId===t});if(s){var u=null===(a=s.variants)||void 0===a?void 0:a.findIndex(function(t){return t.variantId===e.variantId}),c=void 0!==u&&-1!==u?u:0;he(s),we(n||null),Se(s.variants||null),Ie(c),fe(!0),"resolve_gaps"===r&&ot(!0)}},onDeleteVariant:function(e,t){Ze({variantId:e,ruleId:t})},onExportRule:function(){return e(void 0,void 0,void 0,function(){var e,n,r,o,l,a,s;return t(this,function(t){switch(t.label){case 0:if(!ne)return[2];Ae(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,m(ne)];case 2:return e=t.sent(),n=window.URL.createObjectURL(e),(r=document.createElement("a")).href=n,o=(null==wt?void 0:wt.ruleSetName)?"".concat(wt.ruleSetName.replace(/\s+/g,"_"),"_rules.csv"):"ruleset_".concat(ne,".csv"),r.download=o,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(n),null===(a=de.current)||void 0===a||a.show({severity:"success",sticky:!1,life:3e3,className:b.successToast,content:i(C,{message:"Ruleset exported successfully!"})}),[3,5];case 3:return l=t.sent(),console.error("Export error:",l),null===(s=de.current)||void 0===s||s.show({severity:"error",sticky:!1,className:b.errorToast,content:i(D,{message:l.message||"Failed to export ruleset. Please try again."})}),[3,5];case 4:return Ae(!1),[7];case 5:return[2]}})})},isExporting:Ne,onToggleSuccess:function(){return yt(!0)},onReorderRules:function(n,r,o,l,a){return e(void 0,void 0,void 0,function(){var e,s,u;return t(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,g(n,r,o,l,a)];case 1:return t.sent(),yt(!0),null===(s=de.current)||void 0===s||s.show({severity:"success",sticky:!1,life:3e3,className:b.successToast,content:i(C,{message:"Rule order changed successfully. Future rule applications will follow the updated order."})}),[3,3];case 2:return e=t.sent(),console.error("Failed to reorder rules:",e),yt(!0),null===(u=de.current)||void 0===u||u.show({severity:"error",sticky:!1,className:b.errorToast,content:i(D,{message:"Failed to update rule order. Please try again."})}),[3,3];case 3:return[2]}})})},onRefreshRuleSets:Z,setDeleteConfirmationUsedFor:Qe,onCopyToTier:function(e,t,n,r,i){var o,l,a=null===(l=null===(o=null==le?void 0:le.find(function(e){return e.name===r}))||void 0===o?void 0:o.rules)||void 0===l?void 0:l.find(function(e){return e.ruleId===t});if(a){var s=["Add a new learning with the following details:","- Rule Title: ".concat(n),"- Description: ".concat(e.description),"- When to apply: ".concat(e.whenToApply),"- When NOT to apply: ".concat(e.whenNotToApply),"- Tier information: ".concat(i)].join("\n");Ve(s),ut(a),pt(r),vt(i),he(null),we(null),Se(null),Ie(null),fe(!0)}}})})),me&&i(x,{children:i(_,{isOpen:me,onClose:ht,app_integration_id:ee,token:te,mode:"ADD",pluginPayload:r(r({},Rt),{initialScope:St(),ruleSet:wt})})}),i(R,{isOpen:!!Be,title:I("learnings.tier.deleteDialog.title",H),description:bt(Be),warning:I("learnings.tier.deleteDialog.warningText",z),confirmText:I("learnings.tier.deleteDialog.deleteText",Y),cancelText:I("learnings.tier.deleteDialog.cancelText","Cancel"),loadingText:I("learnings.tier.deleteDialog.loadingText","Deleting..."),confirmBgColor:"#EF4444",onConfirm:function(){return e(void 0,void 0,void 0,function(){var e,n,r,o,l;return t(this,function(t){switch(t.label){case 0:if(!Be)return[2];Ge(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,f(Be)];case 2:return t.sent(),Je(null),null===(n=de.current)||void 0===n||n.show({severity:"success",sticky:!1,life:3e3,className:b.successToast,content:i(C,{message:V})}),yt(),Z&&Z(!1,ne||void 0),[3,5];case 3:return e=t.sent(),console.error("Failed to delete rule",e),null===(r=de.current)||void 0===r||r.show({severity:"error",sticky:!1,className:b.errorToast,content:i(D,{message:(null===(l=null===(o=null==e?void 0:e.response)||void 0===o?void 0:o.data)||void 0===l?void 0:l.detail)||U})}),[3,5];case 4:return Ge(!1),[7];case 5:return[2]}})})},onCancel:function(){return Je(null)},isLoading:We}),i(R,{isOpen:!!Ye,title:I("learnings.tier.deleteDialog.title",H),description:"variantDeletion"===Ke?i("span",{children:I("learnings.tier.deleteDialog.desc","Are you sure you want to delete this variant? This action cannot be undone.")}):bt((null==Ye?void 0:Ye.ruleId)||null),warning:I("learnings.tier.deleteDialog.warningText","ruleDeletion"===Ke?z:Q),confirmText:I("learnings.tier.deleteDialog.deleteText",Y),cancelText:I("learnings.tier.deleteDialog.cancelText","Cancel"),loadingText:I("learnings.tier.deleteDialog.loadingText","Deleting..."),confirmBgColor:"#EF4444",onConfirm:function(){return e(void 0,void 0,void 0,function(){var e,n,r,o,l;return t(this,function(t){switch(t.label){case 0:if(!Ye)return[2];nt(!0),t.label=1;case 1:return t.trys.push([1,6,7,8]),"ruleDeletion"!==Ke?[3,3]:[4,v(Ye.ruleId)];case 2:return t.sent(),[3,5];case 3:return[4,f(Ye.variantId)];case 4:t.sent(),t.label=5;case 5:return Ze(null),null===(n=de.current)||void 0===n||n.show({severity:"success",sticky:!1,life:3e3,className:b.successToast,content:i(C,{message:"ruleDeletion"===Ke?V:B})}),yt(),Z&&Z(!1,ne||void 0),[3,8];case 6:return e=t.sent(),console.error("Failed to delete variant",e),null===(r=de.current)||void 0===r||r.show({severity:"error",sticky:!1,className:b.errorToast,content:i(D,{message:(null===(l=null===(o=null==e?void 0:e.response)||void 0===o?void 0:o.data)||void 0===l?void 0:l.detail)||("ruleDeletion"===Ke?U:G)})}),[3,8];case 7:return nt(!1),[7];case 8:return[2]}})})},onCancel:function(){return Ze(null)},isLoading:tt})]}):Dt?i(w,{title:"Scope Not Found",errorMessage:"The selected scope does not exist. Please refresh the page or choose a valid scope.",onRetry:function(){return null==Z?void 0:Z(!0)},retryButtonText:"Refresh"}):o(l,{children:[i(d,{onCreate:gt,title:O,desc:N,button:E}),me&&i(x,{children:i(_,{isOpen:me,onClose:ht,app_integration_id:ee,token:te,mode:"ADD",pluginPayload:r(r({},Rt),{initialScope:St(),ruleSet:wt})})})]})};export{j as default};
1
+ import{__awaiter as e,__generator as t,__spreadArray as n,__assign as r}from"tslib";import{jsx as o,jsxs as i,Fragment as l}from"react/jsx-runtime";import{useRef as a,useState as s,useEffect as u}from"react";import{useLearningTemplateStore as c}from"../store/useLearningTemplateStore.js";import d from"../components/EmptyLearningState.js";import{getRulesInRuleSetById as p,exportRuleSet as m,deleteRule as f,deleteQuestion as v,alterQuestionPriority as g}from"../apis/scopeApis.js";import h from"../components/RuleContentSkeleton.js";import{Toast as T}from"primereact/toast";import y from"./ContentLogic.js";import w from"../components/ErrorStateDisplay.js";import S from"../shared/SuccessToastContent.js";import C from"../shared/ErrorToastContent.js";import{findNodeById as b}from"../utils/treeUtils.js";import j from"../styles/LearningContent.module.css.js";import R from"../components/ConfirmationModal.js";import{dt as D}from"../store/useLMSConfigStore.js";import"../../IL-OTJ/_components/atoms/Textarea/Textarea.js";import"lucide-react";import"../../IL-OTJ/_components/InputDataReasoningCard.js";import"../../IL-OTJ/_components/TooltipComponent.js";import"../../IL-OTJ/_components/templates/TemplatesMap/templatesMap.js";import{CitationProvider as I}from"../../IL-OTJ/store/CitationsContext.js";import"@mui/material";import"uuid";import"@mui/material/Tooltip";import"react-markdown";import"rehype-raw";import"axios";import"@e-llm-studio/streaming-response";import"@e-llm-studio/watch-me-work";import"../../IL-OTJ/_components/ChatComponents/ChatHeader.js";import"remark-gfm";import"../../IL-OTJ/_components/MarkdownComponents/MarkdownElements.js";import"../../IL-OTJ/_components/CitationLink.js";import"@e-llm-studio/citation";import"@viswa-test/test-citation";import x from"../../IL-OTJ/ValueTypeWrappers/TeachMePlugin.js";import{LEARNING_DT_PATH as _,VARIANT_DT_PATH as L,TIER_DT_PATH as k}from"../constants.js";import"../store/usePermissionsStore.js";import"appsec-ui";import"../store/useAuthStore.js";import"../store/useEnvStore.js";import"@radix-ui/react-tooltip";import"../components/StationOnboarding/InputField.js";import"../store/useConfigStore.js";import"../config.js";import"../store/useAppSecRolesStore.js";import"@tanstack/react-query";import"@e-llm-studio/audit-log";import"@e-llm-studio/audit-log/dist/styles.css";import"../AuditLog/ChangeLogDiff.js";import"../components/ToolTip.js";import"react-router-dom";var O=function(O){var M,A=O.noRulesTitle,N=void 0===A?"No rules have been added !":A,E=O.noRulesDesc,V=void 0===E?"Start by adding rules that should apply across all stations.":E,F=O.noRulesButtonText,P=void 0===F?"Create New Rule":F,B=O.deleteRuleSuccessMessage,J=void 0===B?"Rule deleted successfully!":B,U=O.deleteVariantSuccessMessage,W=void 0===U?"Variant deleted successfully!":U,q=O.deleteRuleErrorMessage,G=void 0===q?"Failed to delete rule. Please try again.":q,H=O.deleteVariantErrorMessage,$=void 0===H?"Failed to delete variant. Please try again.":H,z=O.deleteModalTitle,K=void 0===z?"Delete":z,Q=O.deleteRuleModalWarning,X=void 0===Q?"This will permanently delete the rule configuration.":Q,Y=O.deleteVariantModalWarning,Z=void 0===Y?"This will permanently delete the variant configuration.":Y,ee=O.deleteConfirmText,te=void 0===ee?"Delete":ee,ne=O.onRefreshRuleSets,re=O.app_integration_id,oe=O.token,ie=c(function(e){return e.selectedRuleSetId}),le=c(function(e){return e.scopeTreeData}),ae=c(function(e){return e.sidebarTab}),se=c(function(e){return e.setInitialRules}),ue=c(function(e){return e.currentRules}),ce=c(function(e){return e.setRawAuditRuleData});c(function(e){return e.createdVariantInfo});var de=c(function(e){return e.resetCreatedVariantInfo}),pe=c(function(e){return e.isILModalTriggered}),me=c(function(e){return e.setIsILModalTriggered}),fe=a(null),ve=s(!1),ge=ve[0],he=ve[1],Te=s(null),ye=Te[0],we=Te[1],Se=s(null),Ce=Se[0],be=Se[1],je=s(null),Re=je[0],De=je[1],Ie=s(null),xe=Ie[0],_e=Ie[1],Le=s(!1),ke=Le[0],Oe=Le[1],Me=s(null),Ae=Me[0],Ne=Me[1],Ee=s(!1),Ve=Ee[0],Fe=Ee[1],Pe=s(""),Be=Pe[0],Je=Pe[1],Ue=s(null),We=Ue[0],qe=Ue[1],Ge=s(!1),He=Ge[0],$e=Ge[1],ze=s(!1),Ke=ze[0],Qe=ze[1],Xe=s("ruleDeletion"),Ye=Xe[0],Ze=Xe[1],et=s(null),tt=et[0],nt=et[1],rt=s(!1),ot=rt[0],it=rt[1],lt=s(!1),at=lt[0],st=lt[1],ut=c.getState().tiers,ct=s(null),dt=ct[0],pt=ct[1],mt=s(null),ft=mt[0],vt=mt[1],gt=s(null),ht=gt[0],Tt=gt[1],yt=function(){we(null),be(null),he(!0),_e(0)},wt=function(){he(!1),me(!1),we(null),be(null),De(null),_e(null),Qe(!1),st(!1),St(),pt(null),vt(null),Tt(null),ne&&ne(!1,ie||void 0)};u(function(){St()},[ie,se]),u(function(){pe&&he(!0)},[pe]);var St=function(o){return void 0===o&&(o=!1),e(void 0,void 0,void 0,function(){var e,i,l,a,s,u,d,m,f,v,g,h,T,y,w,S,C,b,j;return t(this,function(t){switch(t.label){case 0:if(!ie)return se([]),[2];o||Oe(!0),Ne(null),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,p(ie,oe)];case 2:return e=t.sent(),console.log("response==",e),(null==e?void 0:e.data)&&0!==Object.keys(e.data).length?(ce(e),i=e.data,console.log("rulesData==",i),l=new Set(["ruleSetName","ruleSetDesc","created_at","updated_at","created_by","updated_by"]),a=Array.isArray(i.tiers)?n([],i.tiers,!0).sort(function(e,t){var n,r;return(null!==(n=e.tier_priority)&&void 0!==n?n:0)-(null!==(r=t.tier_priority)&&void 0!==r?r:0)}).map(function(e){return[e.name,e.value]}):Object.entries(i).filter(function(e){var t=e[0],n=e[1];return!l.has(t)&&Array.isArray(n)}),s=a.map(function(e){var t=e[1];return new Set(t.flatMap(function(e){var t,n;return null!==(n=null===(t=e.variants)||void 0===t?void 0:t.map(function(e){return e.link_id}).filter(Boolean))&&void 0!==n?n:[]}))}),u=s.flatMap(function(e){return Array.from(e)}),d=u.reduce(function(e,t){var n;return e[t]=(null!==(n=e[t])&&void 0!==n?n:0)+1,e},{}),m=new Set(Object.entries(d).filter(function(e){return e[1]>1}).map(function(e){return e[0]})),f=function(e){return e.map(function(e){var t;return r(r({},e),{variants:null===(t=e.variants)||void 0===t?void 0:t.map(function(e){return r(r({},e),{isLinked:!!e.link_id&&m.has(e.link_id)})})})})},v=a.map(function(e,t){var n,r=e[0],o=e[1],i=ut.find(function(e){return e.tier_name===r}),l=r.replace(/tier(\d+)/i,"tier_$1");return{id:null!==(n=null==i?void 0:i.tier_id)&&void 0!==n?n:String(t+1),name:l.replace(/_/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()}),ruleCount:o.length,description:0===t?"".concat(D("tier.subtitle","These are the system-wide learnings applied across all stations.")):"These learnings apply after higher-priority tiers and may refine or relax default behavior.",isOpen:0===t,rules:f(o)}}),(g=c.getState().createdVariantInfo)&&g.length>0?(h=Object.fromEntries(a.map(function(e,t){return[e[0],String(t+1)]})),T=new Set(g.map(function(e){return h[e.tierName]}).filter(Boolean)),y=v.map(function(e){return r(r({},e),{isOpen:e.isOpen||T.has(e.id)})}),se(y),(w=null===(j=null===(b=null===(C=g[0])||void 0===C?void 0:C.variants)||void 0===b?void 0:b[0])||void 0===j?void 0:j.id)?setTimeout(function(){var e=document.querySelector('[data-variant-id="'.concat(w,'"]'));e&&e.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout(function(){return de()},1e4)},500):de()):se(v),[3,5]):(se([]),[2]);case 3:return S=t.sent(),console.error("Failed to fetch rule details",S),404!==(null==S?void 0:S.status)&&Ne((null==S?void 0:S.message)||"Failed to load rules. Please try again."),se([]),[3,5];case 4:return o||Oe(!1),[7];case 5:return[2]}})})},Ct=ie?b((null==le?void 0:le.data)||null,ie):null,bt=Ct?{ruleSetId:Ct.id,ruleSetName:Ct.name,ruleSetDesc:"",ruleCount:null===(M=null==Ct?void 0:Ct.metrics)||void 0===M?void 0:M.learningsCount}:void 0,jt=Boolean(null==le?void 0:le.data),Rt=Boolean(ie&&!Ct&&jt),Dt=function(){if("stations"===ae)return"custom";if(!Ct)return"global";switch(Ct.type){case"GLOBAL":default:return"global";case"SCOPE":return"genre";case"SUBSCOPE":case"Custom":return"custom"}},It=function(e){var t;if(!e)return o("p",{children:D("".concat(k,".deleteDialog.description"),"Are you sure you want to delete this rule? This action cannot be undone.")});var n=null==ue?void 0:ue.flatMap(function(e){var t;return null!==(t=e.rules)&&void 0!==t?t:[]}).find(function(t){return t.ruleId===e});return o("p",{children:D("".concat(k,".deleteDialog.description"),"Are you sure you want to delete ".concat(null==n?void 0:n.ruleTitle," rule? This action cannot be undone."),{rule_title:null!==(t=null==n?void 0:n.ruleTitle)&&void 0!==t?t:""})})},xt={editingRule:ye,editingTier:Ce,editingVariants:Re,focusedVariantIndex:xe,setFocusedVariantIndex:_e,triggerAddVariant:Ke,triggerFixGaps:at,copiedRule:dt,copiedSourceTier:ft,copiedTargetTier:ht,initialDraftMessage:Be,app_integration_id:re,modeId:"019dde79-0494-78d7-ba5b-54a35d20f0fc"};return bt?i(l,{children:[o(T,{ref:fe}),o("div",r({className:j.container},{children:ke?o(h,{}):Ae?o(w,{errorMessage:Ae,onRetry:St}):o(y,{onAddRule:yt,onDeleteRule:function(e){qe(e)},onEditRule:function(e,t){we(e),be(t||null),De(e.variants||null),_e(null),Qe(!0),he(!0)},onEditVariant:function(e,t,n,r){var o,i,l,a,s=null!==(l=null===(i=null===(o=null==ue?void 0:ue.find(function(e){return e.name===n}))||void 0===o?void 0:o.rules)||void 0===i?void 0:i.find(function(e){return e.ruleId===t}))&&void 0!==l?l:null==ue?void 0:ue.flatMap(function(e){return e.rules}).find(function(e){return e.ruleId===t});if(s){var u=null===(a=s.variants)||void 0===a?void 0:a.findIndex(function(t){return t.variantId===e.variantId}),c=void 0!==u&&-1!==u?u:0;we(s),be(n||null),De(s.variants||null),_e(c),he(!0),"resolve_gaps"===r&&st(!0)}},onDeleteVariant:function(e,t){nt({variantId:e,ruleId:t})},onExportRule:function(){return e(void 0,void 0,void 0,function(){var e,n,r,i,l,a,s;return t(this,function(t){switch(t.label){case 0:if(!ie)return[2];Fe(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,m(ie)];case 2:return e=t.sent(),n=window.URL.createObjectURL(e),(r=document.createElement("a")).href=n,i=(null==bt?void 0:bt.ruleSetName)?"".concat(bt.ruleSetName.replace(/\s+/g,"_"),"_rules.csv"):"ruleset_".concat(ie,".csv"),r.download=i,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(n),null===(a=fe.current)||void 0===a||a.show({severity:"success",sticky:!1,life:3e3,className:j.successToast,content:o(S,{message:"Ruleset exported successfully!"})}),[3,5];case 3:return l=t.sent(),console.error("Export error:",l),null===(s=fe.current)||void 0===s||s.show({severity:"error",sticky:!1,className:j.errorToast,content:o(C,{message:l.message||"Failed to export ruleset. Please try again."})}),[3,5];case 4:return Fe(!1),[7];case 5:return[2]}})})},isExporting:Ve,onToggleSuccess:function(){return St(!0)},onReorderRules:function(n,r,i,l,a){return e(void 0,void 0,void 0,function(){var e,s,u;return t(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,g(n,r,i,l,a)];case 1:return t.sent(),St(!0),null===(s=fe.current)||void 0===s||s.show({severity:"success",sticky:!1,life:3e3,className:j.successToast,content:o(S,{message:"Rule order changed successfully. Future rule applications will follow the updated order."})}),[3,3];case 2:return e=t.sent(),console.error("Failed to reorder rules:",e),St(!0),null===(u=fe.current)||void 0===u||u.show({severity:"error",sticky:!1,className:j.errorToast,content:o(C,{message:"Failed to update rule order. Please try again."})}),[3,3];case 3:return[2]}})})},onRefreshRuleSets:ne,setDeleteConfirmationUsedFor:Ze,onCopyToTier:function(e,t,n,r,o){var i,l,a=null===(l=null===(i=null==ue?void 0:ue.find(function(e){return e.name===r}))||void 0===i?void 0:i.rules)||void 0===l?void 0:l.find(function(e){return e.ruleId===t});if(a){var s=["Add a new learning with the following details:","- Rule Title: ".concat(n),"- Description: ".concat(e.description),"- When to apply: ".concat(e.whenToApply),"- When NOT to apply: ".concat(e.whenNotToApply),"- Tier information: ".concat(o)].join("\n");Je(s),pt(a),vt(r),Tt(o),we(null),be(null),De(null),_e(null),he(!0)}}})})),ge&&o(I,{children:o(x,{isOpen:ge,onClose:wt,app_integration_id:re,token:oe,mode:"ADD",pluginPayload:r(r({},xt),{initialScope:Dt(),ruleSet:bt})})}),o(R,{isOpen:!!We,title:D("".concat(_,".deleteDialog.title"),K),description:It(We),warning:D("".concat(_,".deleteDialog.warningText"),X),confirmText:D("".concat(_,".deleteDialog.deleteText"),te),cancelText:D("".concat(_,".deleteDialog.cancelText"),"Cancel"),loadingText:D("".concat(_,".deleteDialog.loadingText"),"Deleting..."),confirmBgColor:"#EF4444",onConfirm:function(){return e(void 0,void 0,void 0,function(){var e,n,r,i,l;return t(this,function(t){switch(t.label){case 0:if(!We)return[2];$e(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,f(We)];case 2:return t.sent(),qe(null),null===(n=fe.current)||void 0===n||n.show({severity:"success",sticky:!1,life:3e3,className:j.successToast,content:o(S,{message:J})}),St(),ne&&ne(!1,ie||void 0),[3,5];case 3:return e=t.sent(),console.error("Failed to delete rule",e),null===(r=fe.current)||void 0===r||r.show({severity:"error",sticky:!1,className:j.errorToast,content:o(C,{message:(null===(l=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.data)||void 0===l?void 0:l.detail)||G})}),[3,5];case 4:return $e(!1),[7];case 5:return[2]}})})},onCancel:function(){return qe(null)},isLoading:He}),o(R,{isOpen:!!tt,title:D("".concat(L,".deleteVariant.title"),K),description:"variantDeletion"===Ye?o("span",{children:D("".concat(L,".deleteVariant.desc"),"Are you sure you want to delete this variant? This action cannot be undone.")}):It((null==tt?void 0:tt.ruleId)||null),warning:D("".concat(L,".deleteVariant.warningText"),"ruleDeletion"===Ye?X:Z),confirmText:D("".concat(L,".deleteDialog.deleteText"),te),cancelText:D("".concat(L,".cancelText"),"Cancel"),loadingText:D("".concat(L,".loadingText"),"Deleting..."),confirmBgColor:"#EF4444",onConfirm:function(){return e(void 0,void 0,void 0,function(){var e,n,r,i,l;return t(this,function(t){switch(t.label){case 0:if(!tt)return[2];it(!0),t.label=1;case 1:return t.trys.push([1,6,7,8]),"ruleDeletion"!==Ye?[3,3]:[4,v(tt.ruleId)];case 2:return t.sent(),[3,5];case 3:return[4,f(tt.variantId)];case 4:t.sent(),t.label=5;case 5:return nt(null),null===(n=fe.current)||void 0===n||n.show({severity:"success",sticky:!1,life:3e3,className:j.successToast,content:o(S,{message:"ruleDeletion"===Ye?J:W})}),St(),ne&&ne(!1,ie||void 0),[3,8];case 6:return e=t.sent(),console.error("Failed to delete variant",e),null===(r=fe.current)||void 0===r||r.show({severity:"error",sticky:!1,className:j.errorToast,content:o(C,{message:(null===(l=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.data)||void 0===l?void 0:l.detail)||("ruleDeletion"===Ye?G:$)})}),[3,8];case 7:return it(!1),[7];case 8:return[2]}})})},onCancel:function(){return nt(null)},isLoading:ot})]}):Rt?o(w,{title:"Scope Not Found",errorMessage:"The selected scope does not exist. Please refresh the page or choose a valid scope.",onRetry:function(){return null==ne?void 0:ne(!0)},retryButtonText:"Refresh"}):i(l,{children:[o(d,{onCreate:yt,title:N,desc:V,button:P}),ge&&o(I,{children:o(x,{isOpen:ge,onClose:wt,app_integration_id:re,token:oe,mode:"ADD",pluginPayload:r(r({},xt),{initialScope:Dt(),ruleSet:bt})})})]})};export{O as default};
2
2
  //# sourceMappingURL=RuleContent.js.map
@@ -1,2 +1,2 @@
1
- import{__assign as e,__awaiter as r,__generator as o}from"tslib";import{jsxs as n,Fragment as i,jsx as t}from"react/jsx-runtime";import{useState as l,useRef as s,useEffect as a}from"react";import{ChevronUp as d}from"lucide-react";import u from"./RuleAccordion.js";import c from"../styles/TierCard.module.css.js";import{Reorder as m,useDragControls as h}from"framer-motion";import{Dialog as p,Box as g}from"@mui/material";import{deleteTier as f}from"../apis/scopeApis.js";import{Toast as v}from"primereact/toast";import y from"../shared/SuccessToastContent.js";import x from"../shared/ErrorToastContent.js";import{dt as C}from"../store/useLMSConfigStore.js";var T=function(r){var o,n=r.rule,i=r.idx,l=r.tier,s=r.localRules,a=r.allTiers,d=r.isGlobalScope,c=r.scopeId,p=r.onFetchOverrideHistory,g=r.onEditRule,f=r.onEditVariant,v=r.onDeleteVariant,y=r.onDeleteRule,x=r.onReorderRules,C=r.highlightedVariants,T=r.highlightedTierNames,b=r.onToggleSuccess,F=r.setDeleteConfirmationUsedFor,R=r.onCopyToTier,I=h();return t(m.Item,e({value:n,dragListener:!1,dragControls:I,onDragEnd:function(){var e,r;if(x&&n.ruleId&&c){var o=l.rules.findIndex(function(e){return e.ruleId===n.ruleId}),i=s.findIndex(function(e){return e.ruleId===n.ruleId});if(-1!==o&&o!==i){var t=i>0&&null!==(e=s[i-1].ruleId)&&void 0!==e?e:null,a=i<s.length-1&&null!==(r=s[i+1].ruleId)&&void 0!==r?r:null;x(c,l.id,n.ruleId,t,a)}}}},{children:t(u,{idx:i,rule:n,ruleSetId:c,allTiers:a,currentTierId:l.id,isGlobalScope:d,onFetchOverrideHistory:p,onEdit:g,onEditVariant:f,onDeleteVariant:v,tierName:l.name,onRemove:function(){null!=n.ruleId&&y(n.ruleId)},highlightedVariants:C,highlightedTierNames:T,onToggleSuccess:b,dragControls:I,setDeleteConfirmationUsedFor:F,onCopyToTier:R},null!==(o=n.id)&&void 0!==o?o:"new-rule-".concat(i))}),n.ruleId)},b=function(u){var h=u.tier,b=u.allTiers,F=u.onToggle,R=u.onDeleteRule,I=u.isGlobalScope,D=void 0!==I&&I,S=u.onFetchOverrideHistory,N=u.onEditRule,E=u.onEditVariant,k=u.onDeleteVariant,w=u.emptyRulesText,O=void 0===w?C("tier.emptyRulesText","No learnings found"):w,V=u.singleRuleSuffix,j=void 0===V?C("tier.tierHeaderNoOfLearning","Learning"):V,H=u.multipleRulesSuffix,A=void 0===H?C("tier.tierHeaderNoOfLearnings","Learnings"):H,L=u.highlightedVariants,B=u.highlightedTierNames,G=u.onToggleSuccess,z=u.onReorderRules,M=u.scopeId,P=u.onRefreshRuleSets,U=u.setDeleteConfirmationUsedFor,W=u.onCopyToTier,J=l(h.rules),Y=J[0],q=J[1],K=l(!1),Q=K[0],X=K[1],Z=l(!1),$=Z[0],_=Z[1],ee=s(null);a(function(){q(h.rules)},[h.rules]);var re=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return e.filter(Boolean).join(" ")};return n(i,{children:[t(v,{ref:ee,position:"top-right"}),n("div",e({className:re(c.tierCard,h.isOpen&&c.tierCardOpen)},{children:[n("div",e({className:c.tierHeader,onClick:F},{children:[n("div",e({className:c.tierInfo},{children:[n("h3",{children:[h.name," ",n("span",{children:["(",h.ruleCount," ",1===h.ruleCount?j:A,")"]})]}),t("p",e({className:c.tierDescription},{children:h.description}))]})),n("div",e({className:c.tierButtonGroup},{children:[t("button",e({onClick:function(){return X(!0)},className:c.deleteButton},{children:"Delete"})),t(p,e({open:Q,onClose:function(){return X(!1)},PaperProps:{sx:{borderRadius:"12px",padding:"8px",maxWidth:"400px"}}},{children:n(g,e({sx:{p:3,textAlign:"center",fontFamily:"'Plus Jakarta Sans', sans-serif"}},{children:[n("h3",e({style:{fontSize:"18px",fontWeight:600,color:"#0F172A",marginBottom:"6px"}},{children:["Delete ",h.name," ?"]})),t("p",e({style:{fontSize:"14px",color:"#64748B",lineHeight:"1.5",marginBottom:"10px"}},{children:"This will permanently delete all rules and variants under this tier, including any rules inherited. This action cannot be undone."})),n(g,e({sx:{display:"flex",gap:2,justifyContent:"center"}},{children:[t("button",e({onClick:function(){return X(!1)},disabled:$,style:{flex:1,padding:"10px 16px",cursor:"pointer",backgroundColor:"white",border:"1px solid #E2E8F0",borderRadius:"8px",fontSize:"14px",fontWeight:500,color:"#475569",transition:"all 0.2s"},onMouseOver:function(e){return e.currentTarget.style.backgroundColor="#F8FAFC"},onMouseOut:function(e){return e.currentTarget.style.backgroundColor="white"}},{children:"Cancel"})),t("button",e({onClick:function(){return function(e,n){return r(void 0,void 0,void 0,function(){var r,i,l,s,a,d;return o(this,function(o){switch(o.label){case 0:_(!0),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,f(e,n)];case 2:return o.sent(),e||null===(i=ee.current)||void 0===i||i.show({severity:"error",summary:"Error",detail:"Failed to delete tier. Scope ID is missing."}),n&&"1"!==n&&"2"!==n||null===(l=ee.current)||void 0===l||l.show({severity:"error",summary:"Error",detail:"Failed to delete tier. Tier ID is missing."}),X(!1),null===(s=ee.current)||void 0===s||s.show({severity:"success",sticky:!1,life:3e3,className:"rounded border border-green-300 bg-[#F0FDF4] shadow-none",content:t(y,{message:"Successfully Deleted Tier"})}),G(),P&&P(!1,e||void 0),[3,5];case 3:return r=o.sent(),null===(a=ee.current)||void 0===a||a.show({severity:"error",summary:"Error",detail:"Failed to delete tier. Please try again."}),null===(d=ee.current)||void 0===d||d.show({severity:"error",sticky:!1,className:"rounded border border-red-300 bg-[#FEF2F2] shadow-none",content:t(x,{message:r.message||"Failed to delete tier. Please try again."})}),console.error("Failed to delete tier:",r),[3,5];case 4:return _(!1),[7];case 5:return[2]}})})}(null!=M?M:"",h.id)},disabled:$,style:{flex:1,padding:"10px 16px",backgroundColor:$?"#FCA5A5":"#EF4444",color:"white",border:"none",borderRadius:"8px",fontSize:"14px",fontWeight:500,cursor:$?"not-allowed":"pointer",transition:"background-color 0.2s"},onMouseOver:function(e){$||(e.currentTarget.style.backgroundColor="#DC2626")},onMouseOut:function(e){$||(e.currentTarget.style.backgroundColor="#EF4444")}},{children:$?"Deleting...":"Yes, Delete"}))]}))]}))})),t(d,{size:20,className:re(c.chevronIcon,!h.isOpen&&c.chevronIconClosed)})]}))]})),h.isOpen&&t("div",e({className:c.tierContent},{children:0===h.rules.length?t("p",e({className:c.emptyRules},{children:O})):t(m.Group,e({axis:"y",values:Y,onReorder:q,className:c.rulesList},{children:Y.map(function(e,r){return t(T,{idx:r,rule:e,tier:h,localRules:Y,allTiers:b,isGlobalScope:D,scopeId:M,onFetchOverrideHistory:S,onEditRule:N,onEditVariant:E,onDeleteVariant:k,onDeleteRule:R,onReorderRules:z,highlightedVariants:L,highlightedTierNames:B,onToggleSuccess:G,setDeleteConfirmationUsedFor:U,onCopyToTier:W},e.ruleId)})}))}))]}))]})};export{b as default};
1
+ import{__assign as e,__awaiter as r,__generator as o}from"tslib";import{jsxs as n,Fragment as t,jsx as i}from"react/jsx-runtime";import{useState as l,useRef as s,useEffect as a}from"react";import{ChevronUp as d}from"lucide-react";import u from"./RuleAccordion.js";import c from"../styles/TierCard.module.css.js";import{Reorder as m,useDragControls as h}from"framer-motion";import{Dialog as p,Box as g}from"@mui/material";import{deleteTier as f}from"../apis/scopeApis.js";import{Toast as v}from"primereact/toast";import y from"../shared/SuccessToastContent.js";import x from"../shared/ErrorToastContent.js";import{dt as C}from"../store/useLMSConfigStore.js";import{TIER_DT_PATH as T}from"../constants.js";var b=function(r){var o,n=r.rule,t=r.idx,l=r.tier,s=r.localRules,a=r.allTiers,d=r.isGlobalScope,c=r.scopeId,p=r.onFetchOverrideHistory,g=r.onEditRule,f=r.onEditVariant,v=r.onDeleteVariant,y=r.onDeleteRule,x=r.onReorderRules,C=r.highlightedVariants,T=r.highlightedTierNames,b=r.onToggleSuccess,F=r.setDeleteConfirmationUsedFor,R=r.onCopyToTier,D=h();return i(m.Item,e({value:n,dragListener:!1,dragControls:D,onDragEnd:function(){var e,r;if(x&&n.ruleId&&c){var o=l.rules.findIndex(function(e){return e.ruleId===n.ruleId}),t=s.findIndex(function(e){return e.ruleId===n.ruleId});if(-1!==o&&o!==t){var i=t>0&&null!==(e=s[t-1].ruleId)&&void 0!==e?e:null,a=t<s.length-1&&null!==(r=s[t+1].ruleId)&&void 0!==r?r:null;x(c,l.id,n.ruleId,i,a)}}}},{children:i(u,{idx:t,rule:n,ruleSetId:c,allTiers:a,currentTierId:l.id,isGlobalScope:d,onFetchOverrideHistory:p,onEdit:g,onEditVariant:f,onDeleteVariant:v,tierName:l.name,onRemove:function(){null!=n.ruleId&&y(n.ruleId)},highlightedVariants:C,highlightedTierNames:T,onToggleSuccess:b,dragControls:D,setDeleteConfirmationUsedFor:F,onCopyToTier:R},null!==(o=n.id)&&void 0!==o?o:"new-rule-".concat(t))}),n.ruleId)},F=function(u){var h,F=u.tier,R=u.allTiers,D=u.onToggle,I=u.onDeleteRule,S=u.isGlobalScope,N=void 0!==S&&S,E=u.onFetchOverrideHistory,k=u.onEditRule,w=u.onEditVariant,O=u.onDeleteVariant,V=u.emptyRulesText,j=void 0===V?C("tier.emptyRulesText","No learnings found"):V,H=u.singleRuleSuffix,A=void 0===H?C("tier.tierHeaderNoOfLearning","Learning"):H,L=u.multipleRulesSuffix,B=void 0===L?C("tier.tierHeaderNoOfLearnings","Learnings"):L,G=u.highlightedVariants,z=u.highlightedTierNames,M=u.onToggleSuccess,P=u.onReorderRules,U=u.scopeId,W=u.onRefreshRuleSets,J=u.setDeleteConfirmationUsedFor,Y=u.onCopyToTier,q=l(F.rules),K=q[0],Q=q[1],X=l(!1),Z=X[0],$=X[1],_=l(!1),ee=_[0],re=_[1],oe=s(null);a(function(){Q(F.rules)},[F.rules]);var ne=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return e.filter(Boolean).join(" ")};return n(t,{children:[i(v,{ref:oe,position:"top-right"}),n("div",e({className:ne(c.tierCard,F.isOpen&&c.tierCardOpen)},{children:[n("div",e({className:c.tierHeader,onClick:D},{children:[n("div",e({className:c.tierInfo},{children:[n("h3",{children:[F.name," ",n("span",{children:["(",F.ruleCount," ",1===F.ruleCount?A:B,")"]})]}),i("p",e({className:c.tierDescription},{children:F.description}))]})),n("div",e({className:c.tierButtonGroup},{children:[i("button",e({onClick:function(){return $(!0)},className:c.deleteButton},{children:"Delete"})),i(p,e({open:Z,onClose:function(){return $(!1)},PaperProps:{sx:{borderRadius:"12px",padding:"8px",maxWidth:"400px"}}},{children:n(g,e({sx:{p:3,textAlign:"center",fontFamily:"'Plus Jakarta Sans', sans-serif"}},{children:[i("h3",e({style:{fontSize:"18px",fontWeight:600,color:"#0F172A",marginBottom:"6px"}},{children:C("".concat(T,".deleteDialog.title"),"Delete ".concat(F.name),{N:null===(h=null==F?void 0:F.name)||void 0===h?void 0:h.split(" ")[1]})})),i("p",e({style:{fontSize:"14px",color:"#64748B",lineHeight:"1.5",marginBottom:"10px"}},{children:C("".concat(T,".deleteDialog.description"),"This will permanently delete all rules and variants under this tier, including any rules inherited. This action cannot be undone")})),n(g,e({sx:{display:"flex",gap:2,justifyContent:"center"}},{children:[i("button",e({onClick:function(){return $(!1)},disabled:ee,style:{flex:1,padding:"10px 16px",cursor:"pointer",backgroundColor:"white",border:"1px solid #E2E8F0",borderRadius:"8px",fontSize:"14px",fontWeight:500,color:"#475569",transition:"all 0.2s"},onMouseOver:function(e){return e.currentTarget.style.backgroundColor="#F8FAFC"},onMouseOut:function(e){return e.currentTarget.style.backgroundColor="white"}},{children:C("".concat(T,".deleteDialog.cancel"),"Cancel")})),i("button",e({onClick:function(){return function(e,n){return r(void 0,void 0,void 0,function(){var r,t,l,s,a,d;return o(this,function(o){switch(o.label){case 0:re(!0),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,f(e,n)];case 2:return o.sent(),e||null===(t=oe.current)||void 0===t||t.show({severity:"error",summary:"Error",detail:"Failed to delete tier. Scope ID is missing."}),n&&"1"!==n&&"2"!==n||null===(l=oe.current)||void 0===l||l.show({severity:"error",summary:"Error",detail:"Failed to delete tier. Tier ID is missing."}),$(!1),null===(s=oe.current)||void 0===s||s.show({severity:"success",sticky:!1,life:3e3,className:"rounded border border-green-300 bg-[#F0FDF4] shadow-none",content:i(y,{message:"Successfully Deleted Tier"})}),M(),W&&W(!1,e||void 0),[3,5];case 3:return r=o.sent(),null===(a=oe.current)||void 0===a||a.show({severity:"error",summary:"Error",detail:"Failed to delete tier. Please try again."}),null===(d=oe.current)||void 0===d||d.show({severity:"error",sticky:!1,className:"rounded border border-red-300 bg-[#FEF2F2] shadow-none",content:i(x,{message:r.message||"Failed to delete tier. Please try again."})}),console.error("Failed to delete tier:",r),[3,5];case 4:return re(!1),[7];case 5:return[2]}})})}(null!=U?U:"",F.id)},disabled:ee,style:{flex:1,padding:"10px 16px",backgroundColor:ee?"#FCA5A5":"#EF4444",color:"white",border:"none",borderRadius:"8px",fontSize:"14px",fontWeight:500,cursor:ee?"not-allowed":"pointer",transition:"background-color 0.2s"},onMouseOver:function(e){ee||(e.currentTarget.style.backgroundColor="#DC2626")},onMouseOut:function(e){ee||(e.currentTarget.style.backgroundColor="#EF4444")}},{children:ee?"Deleting...":"".concat(C("".concat(T,".deleteDialog.submit"),"Yes, Delete"))}))]}))]}))})),i(d,{size:20,className:ne(c.chevronIcon,!F.isOpen&&c.chevronIconClosed)})]}))]})),F.isOpen&&i("div",e({className:c.tierContent},{children:0===F.rules.length?i("p",e({className:c.emptyRules},{children:j})):i(m.Group,e({axis:"y",values:K,onReorder:Q,className:c.rulesList},{children:K.map(function(e,r){return i(b,{idx:r,rule:e,tier:F,localRules:K,allTiers:R,isGlobalScope:N,scopeId:U,onFetchOverrideHistory:E,onEditRule:k,onEditVariant:w,onDeleteVariant:O,onDeleteRule:I,onReorderRules:P,highlightedVariants:G,highlightedTierNames:z,onToggleSuccess:M,setDeleteConfirmationUsedFor:J,onCopyToTier:Y},e.ruleId)})}))}))]}))]})};export{F as default};
2
2
  //# sourceMappingURL=TierCard.js.map
@@ -1,2 +1,2 @@
1
- import{__assign as e,__awaiter as n,__generator as i}from"tslib";import{jsxs as t,jsx as r,Fragment as a}from"react/jsx-runtime";import{useState as o,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 g,Info as f,TriangleAlert as y}from"lucide-react";import{toggleVariant as b}from"../apis/scopeApis.js";import{HistorySkeleton as T}from"./HistorySkeleton.js";import A from"./InheritanceBreadcrumb.js";import N from"./RuleConditionBlock.js";import C from"../styles/VariantCard.module.css.js";import w from"../styles/CustomTooltip.module.css.js";import j from"../components/CustomTooltip.js";import I from"../components/ConfirmationModal.js";import x from"./OverrideTimeline.js";import D from"../store/useAuthStore.js";import{usePermissionsStore as L}from"../store/usePermissionsStore.js";import B from"./PendingApprovalChip.js";import O from"./ApprovalActionButton.js";import S from"./ApprovalLearningDialog.js";import{useApproveOrRejectVariantsMutation as k}from"../queries/useApprovalQueries.js";import F from"../store/useEnvStore.js";import{dt as E}from"../store/useLMSConfigStore.js";var H=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")},_=function(_){var M,P,R,V,W,z,U,G,q,Z=_.ruleTitle,K=_.variant,Q=_.variantIndex,Y=_.totalVariants,$=_.ruleId;_.pendingApprovalCount;var J=_.ruleSetId,X=_.tierName,ee=_.displayLabel,ne=_.onEdit,ie=_.onDelete,te=_.onFetchOverrideHistory,re=_.editButtonLabel,ae=void 0===re?E("learnings.tier.variant.actions.edit","Edit"):re,oe=_.deleteButtonLabel,le=void 0===oe?E("learnings.tier.variant.actions.delete","Delete"):oe,se=_.whenToApplyLabel,ce=void 0===se?E("learnings.tier.variant.whenToApply","When to Apply"):se,de=_.whenNotToApplyLabel,ue=void 0===de?E("learnings.tier.variant.whenNotToApply","When Not to Apply"):de,pe=_.noConditionsText,ve=void 0===pe?"No conditions":pe,me=_.viewOverrideLabel,he=void 0===me?"View Override History":me,ge=_.hideOverrideLabel,fe=void 0===ge?"Hide Override History":ge,ye=_.enableLearningVariantLabel,be=void 0===ye?E("learnings.tier.variant.actions.enable","Enable"):ye,Te=_.disableLearningVariantLabel,Ae=void 0===Te?E("learnings.tier.variant.actions.disable","Disable"):Te,Ne=_.historyErrorMessage,Ce=void 0===Ne?"Failed to load override history.":Ne,we=_.resolveGapsLabel,je=void 0===we?"This learning has some gaps":we,Ie=_.showActionsBar,xe=void 0===Ie||Ie,De=_.showDescriptionBox,Le=void 0===De||De,Be=_.showConditions,Oe=void 0===Be||Be,Se=_.showInheritance,ke=void 0===Se||Se,Fe=_.defaultApplyOpen,Ee=void 0===Fe||Fe,He=_.defaultNotApplyOpen,_e=void 0===He||He,Me=_.className,Pe=_.isHighlighted,Re=void 0!==Pe&&Pe,Ve=_.highlightAction,We=_.highlightedTierNames,ze=_.highlightedVariantIds,Ue=_.headerContent,Ge=_.footerContent,qe=_.onToggleSuccess,Ze=_.setDeleteConfirmationUsedFor,Ke=_.onCopyToTier,Qe=_.onSetInitialDraftMessage,Ye=D.getState().user,$e=o(Ee),Je=$e[0],Xe=$e[1],en=o(_e),nn=en[0],tn=en[1],rn=o(!1),an=rn[0],on=rn[1],ln=o(!1),sn=ln[0],cn=ln[1],dn=o(null),un=dn[0],pn=dn[1],vn=o(null),mn=vn[0],hn=vn[1],gn=o(!1),fn=gn[0],yn=gn[1],bn=o(!1),Tn=bn[0],An=bn[1],Nn=l(null),Cn=!1!==K.is_enabled,wn=o(!1),jn=wn[0],In=wn[1],xn=l(null),Dn=o({isOpen:!1,mode:"approve"}),Ln=Dn[0],Bn=Dn[1],On=k(),Sn=F(function(e){return e.rbacConfig}),kn=Sn?{application:Sn.applicationId,scopeLevelModuleId:null!==(M=null==Sn?void 0:Sn.moduleId)&&void 0!==M?M:"",applicationLevelModuleId:null!==(P=null==Sn?void 0:Sn.applicationModuleId)&&void 0!==P?P:"",applicationLevelResourceId:null!==(R=null==Sn?void 0:Sn.applicationResourceId)&&void 0!==R?R:""}:void 0,Fn=L(function(e){return e.hasPermission}),En=J,Hn=K.inheritance&&K.inheritance.length>1,_n=Fn("ilotj.rule.variant.edit",En)||Fn(Hn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",En),Mn=Fn("ilotj.rule.variant.enable",En)||Fn(Hn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",En),Pn=Fn("ilotj.rule.variant.disable",En)||Fn(Hn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",En),Rn=Fn("ilotj.rule.variant.delete",En),Vn=Fn("ilotj.rule.selfApprove",En),Wn=Fn("ilotj.rule.approve",En),zn=Fn("ilotj.scope.approve",En),Un=Fn("ilotj.rule.pendingApproval.view",En),Gn=Fn("ilotj.rule.variant.pendingApproval.edit",En),qn=Vn||Wn||zn||Gn,Zn=Un||qn,Kn="pending_approval"===(null==K?void 0:K.approvalStatus),Qn="rejected"===(null==K?void 0:K.approvalStatus),Yn=qn&&Kn;s(function(){var e=function(e){Nn.current&&!Nn.current.contains(e.target)&&yn(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var $n=(null===(V=null==un?void 0:un.wta)||void 0===V?void 0:V.changeLog)||[],Jn=(null===(W=null==un?void 0:un.wnta)||void 0===W?void 0:W.changeLog)||[],Xn=Re&&We&&X?We.filter(function(e){return e!==X}):[],ei=Xn.length>0&&X?Xn.every(function(e){return e>X})?"↓":"↑":"↓",ni=function(){if(ze)for(var e=Array.from(ze),n=0;n<e.length;n++)if(e[n]!==K.variantId){var i=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(i){i.scrollIntoView({behavior:"smooth",block:"center"});break}}},ii=function(e,n){e.stopPropagation(),Bn({isOpen:!0,mode:n})},ti=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),i=c(n);return d(i)?u(i,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},ri=function(e){return e?e.includes("@")?e.split("@")[0].split(".").map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" "):e:""};return t("div",e({className:H(C.variantCard,Re&&C.variantHighlight,Me),"data-variant-id":K.variantId},{children:[t("div",e({className:C.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[t("div",e({className:C.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[r("span",e({className:C.variantLabel},{children:"Default"===K.variantType&&"Default"!==ee?"Default | ".concat(ee):ee})),Re&&Ve&&r("span",e({className:H(C.actionChip,"new"===Ve?C.actionChipNew:C.actionChipUpdated)},{children:"new"===Ve?"Created":"Updated"})),(null==K?void 0:K.isOverridden)&&r(j,e({content:"Inherited from the ".concat((null===(z=K.inheritance)||void 0===z?void 0:z[(null===(U=K.inheritance)||void 0===U?void 0:U.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:w.customTooltip,sideOffset:5},{children:r("span",e({className:C.overriddenTag},{children:"Overridden"}))})),Zn&&Kn&&r(B,{}),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"})),!Cn&&r("span",e({className:C.learningDisabledPill},{children:"Disabled"})),ke&&1!==Y&&0!==Q&&r("div",e({className:C.inheritanceSection},{children:r(A,{inheritance:K.inheritance||[]})}))]})),xe&&t("div",e({className:C.variantActions},{children:[Yn&&t(a,{children:[r(O,{variant:"approve",text:"Approve",onClick:function(e){return ii(e,"approve")}}),r(O,{variant:"reject",text:"Reject",onClick:function(e){return ii(e,"reject")}})]}),ne&&_n&&r("button",e({className:C.editButton,onClick:function(){null==ne||ne(K,$,X,"edit")}},{children:ae})),ie&&Rn&&"Default"!==K.variantType&&r("button",e({className:C.deleteButton,onClick:function(){null==Ze||Ze("variantDeletion"),null==ie||ie(K.variantId,$)}},{children:le})),t("div",e({className:C.menuWrapper,ref:Nn},{children:[r("button",e({onClick:function(){return yn(!fn)},className:"".concat(C.menuTrigger," ").concat(fn?C.menuTriggerActive:"")},{children:r(p,{size:16})})),fn&&t("div",e({className:C.menuDropdown},{children:[(Cn&&Pn||!Cn&&Mn)&&t("button",e({onClick:function(){return n(void 0,void 0,void 0,function(){return i(this,function(e){return yn(!1),In(!0),[2]})})},disabled:Tn,className:"".concat(C.menuItem," ").concat(Tn?C.menuItemDisabled:"")},{children:[r(Cn?v:m,{size:14}),Cn?Ae:be]})),X&&t("button",e({onClick:function(){var e="Tier 1"===X?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(Z,"\nLearning Description: ").concat(K.description,"\nWhen to apply: ").concat(K.whenToApply,"\nWhen not to apply: ").concat(K.whenNotToApply);null==Qe||Qe(n),yn(!1),null==Ke||Ke(K,$,Z||"",X,e)},className:C.menuItem},{children:[r(h,{size:14}),"Copy to ","Tier 1"===X?"Tier 2":"Tier 1"]})),te&&(null!==(q=null===(G=K.inheritance)||void 0===G?void 0:G.length)&&void 0!==q?q:0)>1&&t("button",e({onClick:function(){yn(!1),n(void 0,void 0,void 0,function(){var e;return i(this,function(n){switch(n.label){case 0:if(an)return on(!1),[2];if(on(!0),!te)return[2];cn(!0),hn(null),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,te($,K.variantId)];case 2:return e=n.sent(),pn(e),[3,5];case 3:return n.sent(),hn(Ce),[3,5];case 4:return cn(!1),[7];case 5:return[2]}})})},className:C.menuItem},{children:[r(g,{size:14}),an?fe:he]}))]}))]}))]}))]})),Ue,Le&&K.description&&t("div",e({className:C.descriptionBox},{children:[r("p",e({className:C.descriptionText},{children:K.description})),an&&(sn?r(T,{}):mn?r("p",e({className:C.errorText},{children:mn})):(null==un?void 0:un.ruleDescription)?r(x,{changeLog:un.ruleDescription.changeLog}):r("p",e({className:C.noHistoryText},{children:"No override history found"})))]})),Oe&&t("div",e({className:C.conditionsContainer},{children:[r(N,{type:"apply",conditions:K.whenToApply||"",isOpen:Je,onToggle:function(){return Xe(!Je)},labelText:ce,noConditionsText:ve,showOverrideHistory:an,isLoadingHistory:sn,historyError:mn,overrideHistoryData:$n}),r(N,{type:"notApply",conditions:K.whenNotToApply||"",isOpen:nn,onToggle:function(){return tn(!nn)},labelText:ue,noConditionsText:ve,showOverrideHistory:an,isLoadingHistory:sn,historyError:mn,overrideHistoryData:Jn})]})),Re&&Xn.length>0&&t("div",e({className:C.crossTierBanner},{children:[r(f,{className:C.crossTierBannerIcon}),t("span",e({className:C.crossTierBannerText},{children:["Also created in ",Xn.join(", "),"."]})),t("span",e({className:C.crossTierBannerLink,onClick:ni,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&ni()}},{children:["Scroll to view ",ei]}))]})),Ge,(K.createdBy||K.createdAt)&&t("div",e({className:C.variantFooter},{children:[!0===K.is_user_accepted_risk&&t("div",e({className:C.resolveGaps},{children:[r(y,{size:14,color:"#EF4444"}),r("span",e({className:C.resolveGapsText},{children:je})),_n&&r("button",e({onClick:function(){null==ne||ne(K,$,X,"resolve_gaps")},className:C.resolveButton},{children:"Resolve"}))]})),r("div",e({className:C.variantFooterContent},{children:K.updatedBy||K.updatedAt?t(a,{children:[K.updatedBy&&r(j,e({content:K.createdBy?"Created by ".concat(ri(K.createdBy)):"",contentClassName:w.customTooltip,sideOffset:5,placement:"top"},{children:t("span",e({className:C.variantFooterItem},{children:["Updated by ",ri(K.updatedBy)]}))})),K.updatedBy&&K.updatedAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),K.updatedAt&&r(j,e({content:K.createdAt?"Created at ".concat(ti(K.createdAt)):"",contentClassName:w.customTooltip,sideOffset:5,placement:"top"},{children:r("span",e({className:C.variantFooterItem},{children:ti(K.updatedAt)}))}))]}):t(a,{children:[K.createdBy&&t("span",e({className:C.variantFooterItem},{children:["Created by ",ri(K.createdBy)]})),K.createdBy&&K.createdAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),K.createdAt&&r("span",e({className:C.variantFooterItem},{children:ti(K.createdAt)}))]})}))]})),r(I,{isOpen:jn,title:Cn?E("learnings.tier.variant.disableDialog.title","Disable Learning?"):E("learnings.tier.variant.enableDialog.title","Enable Learning?"),description:Cn?E("learnings.tier.variant.disableDialog.desc","Are you sure you want to disable learning for this variant in {rule_title}?",{rule_title:null!=Z?Z:""}):E("learnings.tier.variant.enableDialog.desc","Are you sure you want to enable learning for this variant in {rule_title}?",{rule_title:null!=Z?Z:""}),warning:Cn?E("learnings.tier.variant.disableDialog.warningText","This learning will no longer influence upcoming schedules. You can enable it again anytime."):E("learnings.tier.variant.enableDialog.warningText","This learning will start influencing upcoming schedules again."),confirmText:Cn?E("learnings.tier.variant.disableDialog.deleteText","Disable"):E("learnings.tier.variant.enableDialog.deleteText","Enable"),cancelText:E(Cn?"learnings.tier.variant.disableDialog.cancelText":"learnings.tier.variant.enableDialog.cancelText","Cancel"),loadingText:E(Cn?"learnings.tier.variant.disableDialog.loadingText":"learnings.tier.variant.enableDialog.loadingText","Processing..."),confirmBgColor:Cn?"#DC2626":"#16A34A",onConfirm:function(){return n(void 0,void 0,void 0,function(){var e;return i(this,function(n){switch(n.label){case 0:An(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),null==Ye?void 0:Ye.email,[4,b([K.variantId],!Cn)];case 2:return n.sent(),null==qe||qe(),[3,5];case 3:return e=n.sent(),console.error("Failed to toggle variant",e),[3,5];case 4:return An(!1),yn(!1),In(!1),[7];case 5:return[2]}})})},onCancel:function(){return In(!1)},isLoading:Tn,position:"fixed"}),r(S,{open:Ln.isOpen,mode:Ln.mode,onClose:function(){return Bn(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){J&&On.mutate({variantIds:[K.variantId],status:"approve"===Ln.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:J,appsecData:kn},{onSuccess:function(){var n;Bn(function(n){return e(e({},n),{isOpen:!1})}),null==qe||qe(),null===(n=xn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===Ln.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===Ln.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=xn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(Z," — ").concat(ee),ruleTitle:Z,pendingVariants:[K],isPending:On.isPending})]}))};export{_ as default};
1
+ import{__assign as e,__awaiter as n,__generator as t}from"tslib";import{jsxs as i,jsx as o,Fragment as r}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 A from"./InheritanceBreadcrumb.js";import N from"./RuleConditionBlock.js";import C from"../styles/VariantCard.module.css.js";import w from"../styles/CustomTooltip.module.css.js";import j from"../components/CustomTooltip.js";import I from"../components/ConfirmationModal.js";import x from"./OverrideTimeline.js";import D from"../store/useAuthStore.js";import{usePermissionsStore as L}from"../store/usePermissionsStore.js";import B from"./PendingApprovalChip.js";import O from"./ApprovalActionButton.js";import S from"./ApprovalLearningDialog.js";import{useApproveOrRejectVariantsMutation as k}from"../queries/useApprovalQueries.js";import F from"../store/useEnvStore.js";import{dt as E}from"../store/useLMSConfigStore.js";import{VARIANT_DT_PATH as H}from"../constants.js";var _=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")},M=function(M){var P,R,V,W,z,U,G,q,Z,K=M.ruleTitle,Q=M.variant,Y=M.variantIndex,$=M.totalVariants,J=M.ruleId;M.pendingApprovalCount;var X=M.ruleSetId,ee=M.tierName,ne=M.displayLabel,te=M.onEdit,ie=M.onDelete,oe=M.onFetchOverrideHistory,re=M.editButtonLabel,ae=void 0===re?E("".concat(H,".actions.edit"),"Edit"):re,le=M.deleteButtonLabel,se=void 0===le?E("".concat(H,".actions.delete"),"Delete"):le,ce=M.whenToApplyLabel,de=void 0===ce?E("".concat(H,".whenToApply"),"When to Apply"):ce,ue=M.whenNotToApplyLabel,pe=void 0===ue?E("".concat(H,".whenNotToApply"),"When Not to Apply"):ue,ve=M.noConditionsText,me=void 0===ve?"No conditions":ve,he=M.viewOverrideLabel,fe=void 0===he?"View Override History":he,ge=M.hideOverrideLabel,ye=void 0===ge?"Hide Override History":ge,be=M.enableLearningVariantLabel,Te=void 0===be?E("".concat(H,".actions.enable"),"Enable"):be,Ae=M.disableLearningVariantLabel,Ne=void 0===Ae?E("".concat(H,".actions.disable"),"Disable"):Ae,Ce=M.historyErrorMessage,we=void 0===Ce?"Failed to load override history.":Ce,je=M.resolveGapsLabel,Ie=void 0===je?"This learning has some gaps":je,xe=M.showActionsBar,De=void 0===xe||xe,Le=M.showDescriptionBox,Be=void 0===Le||Le,Oe=M.showConditions,Se=void 0===Oe||Oe,ke=M.showInheritance,Fe=void 0===ke||ke,Ee=M.defaultApplyOpen,He=void 0===Ee||Ee,_e=M.defaultNotApplyOpen,Me=void 0===_e||_e,Pe=M.className,Re=M.isHighlighted,Ve=void 0!==Re&&Re,We=M.highlightAction,ze=M.highlightedTierNames,Ue=M.highlightedVariantIds,Ge=M.headerContent,qe=M.footerContent,Ze=M.onToggleSuccess,Ke=M.setDeleteConfirmationUsedFor,Qe=M.onCopyToTier,Ye=M.onSetInitialDraftMessage,$e=D.getState().user,Je=a(He),Xe=Je[0],en=Je[1],nn=a(Me),tn=nn[0],on=nn[1],rn=a(!1),an=rn[0],ln=rn[1],sn=a(!1),cn=sn[0],dn=sn[1],un=a(null),pn=un[0],vn=un[1],mn=a(null),hn=mn[0],fn=mn[1],gn=a(!1),yn=gn[0],bn=gn[1],Tn=a(!1),An=Tn[0],Nn=Tn[1],Cn=l(null),wn=!1!==Q.is_enabled,jn=a(!1),In=jn[0],xn=jn[1],Dn=l(null),Ln=a({isOpen:!1,mode:"approve"}),Bn=Ln[0],On=Ln[1],Sn=k(),kn=F(function(e){return e.rbacConfig}),Fn=kn?{application:kn.applicationId,scopeLevelModuleId:null!==(P=null==kn?void 0:kn.moduleId)&&void 0!==P?P:"",applicationLevelModuleId:null!==(R=null==kn?void 0:kn.applicationModuleId)&&void 0!==R?R:"",applicationLevelResourceId:null!==(V=null==kn?void 0:kn.applicationResourceId)&&void 0!==V?V:""}:void 0,En=L(function(e){return e.hasPermission}),Hn=X,_n=Q.inheritance&&Q.inheritance.length>1,Mn=En("ilotj.rule.variant.edit",Hn)||En(_n?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",Hn),Pn=En("ilotj.rule.variant.enable",Hn)||En(_n?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",Hn),Rn=En("ilotj.rule.variant.disable",Hn)||En(_n?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",Hn),Vn=En("ilotj.rule.variant.delete",Hn),Wn=En("ilotj.rule.selfApprove",Hn),zn=En("ilotj.rule.approve",Hn),Un=En("ilotj.scope.approve",Hn),Gn=En("ilotj.rule.pendingApproval.view",Hn),qn=En("ilotj.rule.variant.pendingApproval.edit",Hn),Zn=Wn||zn||Un||qn,Kn=Gn||Zn,Qn="pending_approval"===(null==Q?void 0:Q.approvalStatus),Yn="rejected"===(null==Q?void 0:Q.approvalStatus),$n=Zn&&Qn;s(function(){var e=function(e){Cn.current&&!Cn.current.contains(e.target)&&bn(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var Jn=(null===(W=null==pn?void 0:pn.wta)||void 0===W?void 0:W.changeLog)||[],Xn=(null===(z=null==pn?void 0:pn.wnta)||void 0===z?void 0:z.changeLog)||[],et=Ve&&ze&&ee?ze.filter(function(e){return e!==ee}):[],nt=et.length>0&&ee?et.every(function(e){return e>ee})?"↓":"↑":"↓",tt=function(){if(Ue)for(var e=Array.from(Ue),n=0;n<e.length;n++)if(e[n]!==Q.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},it=function(e,n){e.stopPropagation(),On({isOpen:!0,mode:n})},ot=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}},rt=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:_(C.variantCard,Ve&&C.variantHighlight,Pe),"data-variant-id":Q.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:[o("span",e({className:C.variantLabel},{children:"Default"===Q.variantType&&"Default"!==ne?"Default | ".concat(ne):ne})),Ve&&We&&o("span",e({className:_(C.actionChip,"new"===We?C.actionChipNew:C.actionChipUpdated)},{children:"new"===We?"Created":"Updated"})),(null==Q?void 0:Q.isOverridden)&&o(j,e({content:"Inherited from the ".concat((null===(U=Q.inheritance)||void 0===U?void 0:U[(null===(G=Q.inheritance)||void 0===G?void 0:G.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:w.customTooltip,sideOffset:5},{children:o("span",e({className:C.overriddenTag},{children:"Overridden"}))})),Kn&&Qn&&o(B,{}),Yn&&o("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"})),!wn&&o("span",e({className:C.learningDisabledPill},{children:"Disabled"})),Fe&&1!==$&&0!==Y&&o("div",e({className:C.inheritanceSection},{children:o(A,{inheritance:Q.inheritance||[]})}))]})),De&&i("div",e({className:C.variantActions},{children:[$n&&i(r,{children:[o(O,{variant:"approve",text:"Approve",onClick:function(e){return it(e,"approve")}}),o(O,{variant:"reject",text:"Reject",onClick:function(e){return it(e,"reject")}})]}),te&&Mn&&o("button",e({className:C.editButton,onClick:function(){null==te||te(Q,J,ee,"edit")}},{children:ae})),ie&&Vn&&"Default"!==Q.variantType&&o("button",e({className:C.deleteButton,onClick:function(){null==Ke||Ke("variantDeletion"),null==ie||ie(Q.variantId,J)}},{children:se})),i("div",e({className:C.menuWrapper,ref:Cn},{children:[o("button",e({onClick:function(){return bn(!yn)},className:"".concat(C.menuTrigger," ").concat(yn?C.menuTriggerActive:"")},{children:o(p,{size:16})})),yn&&i("div",e({className:C.menuDropdown},{children:[(wn&&Rn||!wn&&Pn)&&i("button",e({onClick:function(){return n(void 0,void 0,void 0,function(){return t(this,function(e){return bn(!1),xn(!0),[2]})})},disabled:An,className:"".concat(C.menuItem," ").concat(An?C.menuItemDisabled:"")},{children:[o(wn?v:m,{size:14}),wn?Ne:Te]})),ee&&i("button",e({onClick:function(){var e="Tier 1"===ee?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(K,"\nLearning Description: ").concat(Q.description,"\nWhen to apply: ").concat(Q.whenToApply,"\nWhen not to apply: ").concat(Q.whenNotToApply);null==Ye||Ye(n),bn(!1),null==Qe||Qe(Q,J,K||"",ee,e)},className:C.menuItem},{children:[o(h,{size:14}),"Copy to ","Tier 1"===ee?"Tier 2":"Tier 1"]})),oe&&(null!==(Z=null===(q=Q.inheritance)||void 0===q?void 0:q.length)&&void 0!==Z?Z:0)>1&&i("button",e({onClick:function(){bn(!1),n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:if(an)return ln(!1),[2];if(ln(!0),!oe)return[2];dn(!0),fn(null),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,oe(J,Q.variantId)];case 2:return e=n.sent(),vn(e),[3,5];case 3:return n.sent(),fn(we),[3,5];case 4:return dn(!1),[7];case 5:return[2]}})})},className:C.menuItem},{children:[o(f,{size:14}),an?ye:fe]}))]}))]}))]}))]})),Ge,Be&&Q.description&&i("div",e({className:C.descriptionBox},{children:[o("p",e({className:C.descriptionText},{children:Q.description})),an&&(cn?o(T,{}):hn?o("p",e({className:C.errorText},{children:hn})):(null==pn?void 0:pn.ruleDescription)?o(x,{changeLog:pn.ruleDescription.changeLog}):o("p",e({className:C.noHistoryText},{children:"No override history found"})))]})),Se&&i("div",e({className:C.conditionsContainer},{children:[o(N,{type:"apply",conditions:Q.whenToApply||"",isOpen:Xe,onToggle:function(){return en(!Xe)},labelText:de,noConditionsText:me,showOverrideHistory:an,isLoadingHistory:cn,historyError:hn,overrideHistoryData:Jn}),o(N,{type:"notApply",conditions:Q.whenNotToApply||"",isOpen:tn,onToggle:function(){return on(!tn)},labelText:pe,noConditionsText:me,showOverrideHistory:an,isLoadingHistory:cn,historyError:hn,overrideHistoryData:Xn})]})),Ve&&et.length>0&&i("div",e({className:C.crossTierBanner},{children:[o(g,{className:C.crossTierBannerIcon}),i("span",e({className:C.crossTierBannerText},{children:["Also created in ",et.join(", "),"."]})),i("span",e({className:C.crossTierBannerLink,onClick:tt,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&tt()}},{children:["Scroll to view ",nt]}))]})),qe,(Q.createdBy||Q.createdAt)&&i("div",e({className:C.variantFooter},{children:[!0===Q.is_user_accepted_risk&&i("div",e({className:C.resolveGaps},{children:[o(y,{size:14,color:"#EF4444"}),o("span",e({className:C.resolveGapsText},{children:Ie})),Mn&&o("button",e({onClick:function(){null==te||te(Q,J,ee,"resolve_gaps")},className:C.resolveButton},{children:"Resolve"}))]})),o("div",e({className:C.variantFooterContent},{children:Q.updatedBy||Q.updatedAt?i(r,{children:[Q.updatedBy&&o(j,e({content:Q.createdBy?"Created by ".concat(rt(Q.createdBy)):"",contentClassName:w.customTooltip,sideOffset:5,placement:"top"},{children:i("span",e({className:C.variantFooterItem},{children:["Updated by ",rt(Q.updatedBy)]}))})),Q.updatedBy&&Q.updatedAt&&o("span",e({className:C.variantFooterSeparator},{children:"•"})),Q.updatedAt&&o(j,e({content:Q.createdAt?"Created at ".concat(ot(Q.createdAt)):"",contentClassName:w.customTooltip,sideOffset:5,placement:"top"},{children:o("span",e({className:C.variantFooterItem},{children:ot(Q.updatedAt)}))}))]}):i(r,{children:[Q.createdBy&&i("span",e({className:C.variantFooterItem},{children:["Created by ",rt(Q.createdBy)]})),Q.createdBy&&Q.createdAt&&o("span",e({className:C.variantFooterSeparator},{children:"•"})),Q.createdAt&&o("span",e({className:C.variantFooterItem},{children:ot(Q.createdAt)}))]})}))]})),o(I,{isOpen:In,title:wn?E("".concat(H,".disableDialog.title"),"Disable Learning?"):E("".concat(H,".enableDialog.title"),"Enable Learning?"),description:wn?E("".concat(H,".disableDialog.desc"),"Are you sure you want to disable learning for this variant in {rule_title}?",{rule_title:null!=K?K:""}):E("".concat(H,".enableDialog.desc"),"Are you sure you want to enable learning for this variant in {rule_title}?",{rule_title:null!=K?K:""}),warning:wn?E("".concat(H,".disableDialog.warningText"),"This learning will no longer influence upcoming schedules. You can enable it again anytime."):E("".concat(H,".enableDialog.warningText"),"This learning will start influencing upcoming schedules again."),confirmText:wn?E("".concat(H,".disableDialog.deleteText"),"Disable"):E("".concat(H,".enableDialog.deleteText"),"Enable"),cancelText:E("".concat(H,wn?".disableDialog.cancelText":".enableDialog.cancelText"),"Cancel"),loadingText:E("".concat(H,wn?".disableDialog.loadingText":".enableDialog.loadingText"),"Processing..."),confirmBgColor:wn?"#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:Nn(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),null==$e?void 0:$e.email,[4,b([Q.variantId],!wn)];case 2:return n.sent(),null==Ze||Ze(),[3,5];case 3:return e=n.sent(),console.error("Failed to toggle variant",e),[3,5];case 4:return Nn(!1),bn(!1),xn(!1),[7];case 5:return[2]}})})},onCancel:function(){return xn(!1)},isLoading:An,position:"fixed"}),o(S,{open:Bn.isOpen,mode:Bn.mode,onClose:function(){return On(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){X&&Sn.mutate({variantIds:[Q.variantId],status:"approve"===Bn.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:X,appsecData:Fn},{onSuccess:function(){var n;On(function(n){return e(e({},n),{isOpen:!1})}),null==Ze||Ze(),null===(n=Dn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===Bn.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===Bn.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=Dn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(K," — ").concat(ne),ruleTitle:K,pendingVariants:[Q],isPending:Sn.isPending})]}))};export{M as default};
2
2
  //# sourceMappingURL=VariantCard.js.map
@@ -1,2 +1,2 @@
1
- import{__assign as e}from"tslib";import{jsxs as o,Fragment as t,jsx as n}from"react/jsx-runtime";import{useState as r}from"react";import{Plus as a}from"lucide-react";import c from"./styles/Sidebar.module.css.js";import i from"./components/SidebarSearch.js";import{TreeSidebar as d}from"./components/ScopeTree/TreeSidebar.js";import{dt as s}from"./store/useLMSConfigStore.js";var l=function(l){var m=l.scopeTreeData,S=l.selectedRuleSetId,p=l.onAddChild,h=l.onRenameChild,C=l.onDeleteChild,u=l.canDeleteScope,f=l.canEditScope,v=l.canCreateScope,b=l.onSectionSelect,g=l.activeSectionId,D=l.onOnboardStation,j=l.sectionsConfig,N=l.nodeTypesConfig,T=l.searchPlaceholder,y=void 0===T?s("middleDrawer.treeMenu.search","Search for Scopes.."):T,I=r(""),R=I[0],x=I[1],A=r(0),B=A[0],E=A[1];return o("div",e({className:c.sidebar},{children:[o(t,{children:[n(i,{value:R,onChange:x,placeholder:y,searchCount:B}),n("div",{className:c.divider}),n("div",e({className:c.content},{children:m&&n(d,{data:m.data,onAddChild:p,onRenameChild:h,onDeleteChild:C,canDeleteScope:u,canEditScope:f,canCreateScope:v,onSectionSelect:b,selectedRuleSetId:S,activeSectionId:g,searchQuery:R,onSearchCountChange:E,sectionsConfig:j,nodeTypesConfig:N})}))]}),D&&n("div",e({className:c.createButtonContainer},{children:o("button",e({className:c.createButton,onClick:D},{children:[n(a,{size:16}),"Onboard a station"]}))}))]}))};export{l as default};
1
+ import{__assign as e}from"tslib";import{jsxs as o,Fragment as t,jsx as a}from"react/jsx-runtime";import{useState as n}from"react";import{Plus as r}from"lucide-react";import c from"./styles/Sidebar.module.css.js";import i from"./components/SidebarSearch.js";import{TreeSidebar as s}from"./components/ScopeTree/TreeSidebar.js";import{dt as d}from"./store/useLMSConfigStore.js";import{MIDDLE_DRAWER_DT_PATH as l}from"./constants.js";import{useLearningTemplateStore as m}from"./store/useLearningTemplateStore.js";var p=function(p){var S=p.scopeTreeData,h=p.selectedRuleSetId,C=p.onAddChild,f=p.onRenameChild,u=p.onDeleteChild,v=p.canDeleteScope,b=p.canEditScope,g=p.canCreateScope,j=p.onSectionSelect,T=p.activeSectionId,y=p.onOnboardStation,D=p.sectionsConfig,N=p.nodeTypesConfig,I=p.searchPlaceholder,R=void 0===I?d("".concat(l,".treeMenu.search"),"Search for Scopes.."):I,k=n(""),x=k[0],A=k[1],B=n(0),E=B[0],L=B[1],M=m.getState().backwardCompatibility;return o("div",e({className:c.sidebar},{children:[o(t,{children:[a(i,{value:x,onChange:A,placeholder:R,searchCount:E}),a("div",{className:c.divider}),a("div",e({className:c.content},{children:S&&a(s,{data:S.data,onAddChild:C,onRenameChild:f,onDeleteChild:u,canDeleteScope:v,canEditScope:b,canCreateScope:g,onSectionSelect:j,selectedRuleSetId:h,activeSectionId:T,searchQuery:x,onSearchCountChange:L,sectionsConfig:D,nodeTypesConfig:N})}))]}),y&&M&&a("div",e({className:c.createButtonContainer},{children:o("button",e({className:c.createButton,onClick:y},{children:[a(r,{size:16}),"Onboard a station"]}))}))]}))};export{p as default};
2
2
  //# sourceMappingURL=Sidebar.js.map