@e-llm-studio/instant-learning 1.3.0-alpha.108 → 1.3.0-alpha.109

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.
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=["instruction_prompt"];exports.buildLearningMetadataPayload=function(i,r){var l,o,t;void 0===r&&(r={});var u=null!==(l=null==i?void 0:i.properties)&&void 0!==l?l:{};return{required:null!==(t=null===(o=null==i?void 0:i.required)||void 0===o?void 0:o.filter(function(e){var i;return!(null===(i=u[e])||void 0===i?void 0:i.core_field)}))&&void 0!==t?t:[],properties:e.reduce(function(e,i){var l,o=u[i];return o?(e[i]={type:null==o?void 0:o.type,title:null==o?void 0:o.title,value:null!==(l=null==r?void 0:r[i])&&void 0!==l?l:""},e):e},{})}};
2
+ //# sourceMappingURL=learningMetadataUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learningMetadataUtils.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{__assign as i}from"tslib";import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import l,{useState as o,useEffect as r,Suspense as a}from"react";import{InputDataReasoningCard as d}from"../../InputDataReasoningCard.js";import{ConditionSection as c}from"../../organisms/ConditionSection/ConditionSection.js";import{ConfigSection as u}from"../../organisms/ConfigSection/ConfigSection.js";import{ScopeSection as s}from"../../organisms/ScopeSection/ScopeSection.js";import{TextSection as v}from"../../organisms/TextSection/TextSection.js";import p from"../../AccordianSection.js";import{ButtonCognitiveIcon as f}from"../../_svg/ButtonCognitiveIcon.js";import{Loader2Icon as g,AlertTriangle as h,Check as y,X as m,Pencil as x}from"lucide-react";var T=function(l){var r=l.LazyPromptEditor,d=l.value,c=l.onChange,u=l.title,s=l.tierKey,v=l.variantIndex,p=l.uiState,f=l.isHighlighted,g="instruction-prompt-".concat(s,"-").concat(v),T=(null==p?void 0:p.activeEditId)===g,C=!!(null==p?void 0:p.activeEditId)&&p.activeEditId!==g,b=o(null),S=b[0],A=b[1],I=(null==S?void 0:S.trim())||"",E=I===((null==d?void 0:d.trim())||"")||null!==S&&""===I,D={display:"flex",alignItems:"center",justifyContent:"center",padding:"8px",border:"1px solid #e5e7eb",borderRadius:"8px",cursor:"pointer",width:"36px",height:"36px",backgroundColor:"#ffffff"},w={cursor:E?"not-allowed":"pointer",opacity:E?.5:1};return e("div",i({style:{display:"flex",flexDirection:"column",gap:"4px",width:"100%",marginBottom:"12px",margin:"0 0.2rem"},"data-edit-id":g},{children:[t("div",i({style:{display:"flex",alignItems:"center",width:"100%",justifyContent:"space-between",marginBottom:"4px"}},{children:t("span",i({style:{fontSize:"14px",fontWeight:500,color:"#19213D",fontFamily:'"Plus Jakarta Sans", sans-serif'}},{children:u}))})),e("div",i({style:{display:"flex",alignItems:"flex-start",gap:"8px",width:"100%"}},{children:[t("div",i({style:{flex:1,minWidth:0,border:f?"1px solid #2563EB":"none",borderRadius:"8px",boxShadow:f?"0 0 12px 3px rgba(37, 99, 235, 0.3)":"none",transition:"all 0.3s"}},{children:t(a,i({fallback:t("div",i({style:{padding:"12px",fontSize:"13px",color:"#6b7280"}},{children:"Loading editor..."}))},{children:t("div",i({style:{pointerEvents:T?"auto":"none",opacity:T?1:.75}},{children:t(r,{value:T&&null!==S?S:d,onChange:function(i){T?A(i):c&&c(i)},title:u,minHeight:"220px",maxHeight:"400px"})}))}))})),!(null==p?void 0:p.isEffectivelyReadOnly)&&t("div",i({style:{display:"flex",flexDirection:"row",gap:"8px",marginTop:"0px"}},{children:T?e(n,{children:[e("button",i({title:"Apply",onClick:function(){var i,e;if(null!==S){if(S===(null!=d?d:""))return A(null),void(null===(i=null==p?void 0:p.setActiveEditId)||void 0===i||i.call(p,null));null==c||c(S),A(null),null===(e=null==p?void 0:p.setActiveEditId)||void 0===e||e.call(p,null)}},disabled:E,style:i(i(i({},D),w),{backgroundColor:"#2563EB",color:"white",width:"auto",padding:"8px 12px"})},{children:[t(y,{size:20,strokeWidth:2.5})," Apply"]})),t("button",i({title:"Cancel",onClick:function(){var i;A(null),null===(i=null==p?void 0:p.setActiveEditId)||void 0===i||i.call(p,null)},style:i(i({},D),{borderColor:"#E3E8E9",color:"#dc2626"})},{children:t(m,{size:20,strokeWidth:2.5})}))]}):t("button",i({title:C?"Save active edits first":"Edit",onClick:function(){var i;(null==p?void 0:p.activeEditId)&&p.activeEditId!==g||(null===(i=null==p?void 0:p.setActiveEditId)||void 0===i||i.call(p,g),A(null!=d?d:""))},disabled:(null==p?void 0:p.isAiStreaming)||C,style:i(i({},D),{color:"#6b7280",cursor:(null==p?void 0:p.isAiStreaming)||C?"not-allowed":"pointer",opacity:(null==p?void 0:p.isAiStreaming)||C?.5:1})},{children:t(x,{size:20})}))}))]})),(null==p?void 0:p.pendingEditId)===g&&T&&e("div",i({style:{display:"flex",alignItems:"center",gap:"6px",marginTop:"6px"}},{children:[t(h,{size:14,style:{color:"#C2410C"}}),t("div",i({style:{color:"#C2410C",fontSize:"13px"}},{children:"Pending - Changes not applied yet. Apply or discard them to continue."}))]}))]}))},C=function(n){var o=n.children,r=n.onAddVariant,a=n.isDisabled,d=n.showAddVariantBtn,c=void 0===d||d,u=l.Children.toArray(o);return e("div",i({style:{display:"flex",flexDirection:"column",alignItems:"flex-start"}},{children:[u.map(function(i,n){var o=!(n===u.length-1)||c;return e(l.Fragment,{children:[i,o&&t("div",{style:{width:"2px",height:"20px",backgroundColor:"#E2E8F0",marginLeft:"30px"}})]},n)}),c&&t("div",i({onClick:a?void 0:r,style:{padding:"8px 16px",border:"1px solid #E2E8F0",borderRadius:"8px",color:a?"#94a3b8":"#475569",fontSize:"14px",fontWeight:"500",cursor:a?"not-allowed":"pointer",backgroundColor:a?"#f8fafc":"#FFFFFF",opacity:a?.7:1,userSelect:"none",transition:"all 0.2s ease"}},{children:"Add Variant"}))]}))},b=function(n){var a,m,b,S,A,I,E,D,w,O,R,V,W=n.state,_=n.handlers,N=n.uiState,z=(null==N?void 0:N.highlights)||new Map,k=z.get("global_0")||{},L=o({}),B=L[0],F=L[1],j=o(null),P=j[0],M=j[1],q=o(function(){var i,e,t;if((null==N?void 0:N.defaultTierOpen)>=0&&(null===(i=null==N?void 0:N.tierOptions)||void 0===i?void 0:i[N.defaultTierOpen]))return N.tierOptions[N.defaultTierOpen].toLowerCase().replace(/ /g,"_");var n=null===(t=null===(e=W.scopeData)||void 0===e?void 0:e.tiers)||void 0===t?void 0:t[0];return n?n.toLowerCase().replace(/ /g,"_"):null});q[0];var H=q[1],J="rule-setup"===(null==N?void 0:N.activeEditId),K=l.useRef(new Map),$=o(null),U=$[0],Z=$[1],G=o(null),Q=G[0],X=G[1],Y=o(!1),ii=Y[0],ei=Y[1],ti=l.useRef(null==N?void 0:N.isAiStreaming);r(function(){ti.current&&!(null==N?void 0:N.isAiStreaming)&&ii&&ei(!1),ti.current=null==N?void 0:N.isAiStreaming},[null==N?void 0:N.isAiStreaming,ii]);var ni=function(){var i;Z(null),X(null),null===(i=null==N?void 0:N.setActiveEditId)||void 0===i||i.call(N,null)},li=function(){var i,e,t=null!=U?U:W.ruleTitle,n=null!=Q?Q:W.scopeData,l=t!==W.ruleTitle,o=JSON.stringify(n)!==JSON.stringify(W.scopeData);if(!l&&!o)return Z(null),X(null),void(null===(i=null==N?void 0:N.setActiveEditId)||void 0===i||i.call(N,null));if(null==N?void 0:N.setSendMessageInChat){var r="sk-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),a=[];if(l&&a.push((null==t?void 0:t.trim())?"Title with ".concat(t):"No Title"),o){var d=null==n?void 0:n.tiers,c=d&&d.length>0?"tiers: ".concat(d.join(", ")):"No Tier Selected";a.push(c)}var u=a.join(" and ");N.setSendMessageInChat("__SKELETON__:".concat(r,":Update Rule Setup ").concat(u))}ei(!0),Z(null),X(null),null===(e=null==N?void 0:N.setActiveEditId)||void 0===e||e.call(N,null)},oi=null!==U?null==U?void 0:U.trim():(W.ruleTitle||"").trim(),ri=null!=Q?Q:W.scopeData,ai=oi!==(W.ruleTitle||"").trim(),di=JSON.stringify(ri)!==JSON.stringify(W.scopeData),ci=!ai&&!di||""===oi,ui=l.useRef(null==N?void 0:N.defaultVariantOpen),si=l.useRef(null==N?void 0:N.activeVariantAccordionIndex),vi=l.useRef(null==N?void 0:N.defaultTierOpen),pi=l.useRef(null===(a=W.scopeData)||void 0===a?void 0:a.tiers),fi=l.useRef(W.variantsByTier);l.useEffect(function(){var i,e,t,n,l,o,r=null,a=!1;ui.current!==(null==N?void 0:N.defaultVariantOpen)&&(a=!0,ui.current=null==N?void 0:N.defaultVariantOpen),si.current!==(null==N?void 0:N.activeVariantAccordionIndex)&&(a=!0,si.current=null==N?void 0:N.activeVariantAccordionIndex),vi.current!==(null==N?void 0:N.defaultTierOpen)&&(a=!0,vi.current=null==N?void 0:N.defaultTierOpen);var d=(null===(i=W.scopeData)||void 0===i?void 0:i.tiers)||[];JSON.stringify(pi.current)!==JSON.stringify(d)&&(a=!0,pi.current=d,d.length>0&&H(d[0].toLowerCase().replace(/ /g,"_")));var c=(null===(e=null==N?void 0:N.tierOptions)||void 0===e?void 0:e.filter(function(i){var e,t;return null===(t=null===(e=W.scopeData)||void 0===e?void 0:e.tiers)||void 0===t?void 0:t.includes(i)}))||[],u=c.some(function(i){var e,t,n,l,o=i.toLowerCase().replace(/ /g,"_");return((null===(t=null===(e=fi.current)||void 0===e?void 0:e[o])||void 0===t?void 0:t.length)||0)!==((null===(l=null===(n=W.variantsByTier)||void 0===n?void 0:n[o])||void 0===l?void 0:l.length)||0)});if(u&&(a=!0),a){var s=null!==(t=null==N?void 0:N.activeVariantAccordionIndex)&&void 0!==t?t:null==N?void 0:N.defaultVariantOpen;if(null==s||s<0)return M(null),void(fi.current=W.variantsByTier);c.forEach(function(i,e){var t;if(!((null==N?void 0:N.defaultTierOpen)>=0&&e!==N.defaultTierOpen)){var n=i.toLowerCase().replace(/ /g,"_"),l=(null===(t=W.variantsByTier)||void 0===t?void 0:t[n])||[];l[s]&&(r="".concat(n,"-variant-").concat(s)),null!=(null==N?void 0:N.autoScrollVariantIndex)&&l[N.autoScrollVariantIndex]&&(r="".concat(n,"-variant-").concat(N.autoScrollVariantIndex))}}),r&&M(r)}if(null===P){var v=null!==(n=null==N?void 0:N.activeVariantAccordionIndex)&&void 0!==n?n:null==N?void 0:N.defaultVariantOpen;null!=v&&v>=0&&(null===(o=null===(l=null==N?void 0:N.tierOptions)||void 0===l?void 0:l.filter(function(i){var e,t;return null===(t=null===(e=W.scopeData)||void 0===e?void 0:e.tiers)||void 0===t?void 0:t.includes(i)}))||void 0===o||o.forEach(function(i,e){var t;if(!((null==N?void 0:N.defaultTierOpen)>=0&&e!==N.defaultTierOpen)){var n=i.toLowerCase().replace(/ /g,"_");((null===(t=W.variantsByTier)||void 0===t?void 0:t[n])||[])[v]&&M("".concat(n,"-variant-").concat(v))}}))}fi.current=W.variantsByTier},[W.variantsByTier,null==N?void 0:N.defaultVariantOpen,null==N?void 0:N.activeVariantAccordionIndex,null===(m=W.scopeData)||void 0===m?void 0:m.tiers,null==N?void 0:N.tierOptions,null==N?void 0:N.autoScrollVariantIndex,null==N?void 0:N.defaultTierOpen]);var gi=function(e){F(function(t){var n;return i(i({},t),((n={})[e]=!t[e],n))})},hi=function(i){var e,t,n,l=i.split("_"),o=l[l.length-1],r=/^\d+$/.test(o)?l.slice(0,-1).join("_"):i,a=null===(e=W.fieldCitations)||void 0===e?void 0:e[r];if(Array.isArray(a)&&a.length>0)return a;var d=null===(t=W.fieldCitations)||void 0===t?void 0:t[i];return Array.isArray(d)&&d.length>0?d:null!==(n=W.citations)&&void 0!==n?n:[]},yi={marginTop:"-17px",position:"relative",zIndex:1};r(function(){var i,e;null!=(null==N?void 0:N.autoScrollVariantIndex)&&(null===(e=null===(i=null==N?void 0:N.tierOptions)||void 0===i?void 0:i.filter(function(i){var e,t;return null===(t=null===(e=W.scopeData)||void 0===e?void 0:e.tiers)||void 0===t?void 0:t.includes(i)}))||void 0===e||e.forEach(function(i){var e=i.toLowerCase().replace(/ /g,"_"),t="".concat(e,"-variant-").concat(N.autoScrollVariantIndex),n=K.current.get(t);n&&requestAnimationFrame(function(){setTimeout(function(){n.scrollIntoView({behavior:"smooth",block:"center"})},300)})}))},[null==N?void 0:N.scrollTrigger]),console.log("CreateRule state:",W),console.log("CreateRule uiState:",N);var mi=function(i){return i?i.replace(/_/g," ").replace(/([a-zA-Z])(\d)/g,"$1 $2").replace(/\b\w/g,function(i){return i.toUpperCase()}):"Variant 1"},xi=!!(null==N?void 0:N.activeEditId);return e("div",i({className:"traffic-manager-template"},{children:[t("div",i({"data-edit-id":"rule-setup"},{children:t(p,i({title:{type:"other",label:(null==N?void 0:N.setupLabel)||"Rule Setup"},actionButtons:function(e,n){if(J)return null;var l=!!(null==N?void 0:N.activeEditId)&&"rule-setup"!==N.activeEditId;return t("div",i({style:{position:"relative",display:"flex",flexDirection:"column"}},{children:t("button",i({title:l?"Save active edits first":"Edit",onClick:function(t){t.stopPropagation(),l?(null==N?void 0:N.setPendingEditId)&&N.setPendingEditId(N.activeEditId||null):(!function(){var e,t;(null==N?void 0:N.activeEditId)&&"rule-setup"!==N.activeEditId||(null===(e=null==N?void 0:N.setActiveEditId)||void 0===e||e.call(N,"rule-setup"),Z(null!==(t=W.ruleTitle)&&void 0!==t?t:""),X(W.scopeData?i({},W.scopeData):{}))}(),(null==N?void 0:N.setPendingEditId)&&N.setPendingEditId(null),e||n())},disabled:ii,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",padding:"6px 8px",border:"1px solid #e5e7eb",borderRadius:"8px",cursor:ii?"not-allowed":"pointer",backgroundColor:"#ffffff",color:"#6b7280",opacity:ii?.5:1}},{children:t(x,{size:14})}))}))},footerData:{ruleTitle:W.ruleTitle,stations:[W.scopeData.station],tiers:null===(b=W.scopeData)||void 0===b?void 0:b.tiers},defaultOpen:"Create"===(null==N?void 0:N.usedFor),readOnly:"Create"!==(null==N?void 0:N.usedFor),isAiStreaming:null==N?void 0:N.isAiStreaming,editFlow:"Edit"===(null==N?void 0:N.usedFor)},{children:e("div",i({style:{display:"flex",flexDirection:"column",gap:"12px"}},{children:[ii&&(null==N?void 0:N.isAiStreaming)&&e("div",i({style:{display:"flex",alignItems:"center",color:"#141414ff",fontSize:"13px",fontWeight:500,fontStyle:"italic",marginBottom:"8px",paddingLeft:"4px"}},{children:[t(g,{size:16,style:{marginRight:8,animation:"spin 1s linear infinite"}},"loader"),"Checking the correctness of your Rule Setup..."]})),t(v,i({id:"rule-title",title:N.ruleTitle||"Rule Title",rows:1,placeholder:"Enter a short, descriptive title for the learning",required:!0,value:J&&null!==U?U:W.ruleTitle,onChange:function(i){return J?Z(i):_.setRuleTitle(i)},readOnly:(null==N?void 0:N.isAiStreaming)||!J,isOpen:B.ruleTitle,onToggle:function(){return gi("ruleTitle")},isHighlighted:k.ruleTitle||!1,showCognitiveIcon:W.citation.ruleTitle,tooltipDescription:"Why this Title?",errorMessage:null===(S=N.validationErrors)||void 0===S?void 0:S.ruleTitle},N)),W.citation.ruleTitle&&t("div",i({style:yi},{children:t(d,{isVisible:B.ruleTitle,citation:W.citation.ruleTitle,citations:hi("ruleTitle"),fieldName:"Rule Title",fieldValue:W.ruleTitle})})),(null===(A=null==N?void 0:N.tierOptions)||void 0===A?void 0:A.length)>1&&t(s,i({id:"scope",title:"",required:!1,scopeData:J&&null!==Q?Q:W.scopeData,onScopeChange:function(e,t){J?X(function(n){var l;return i(i({},null!=n?n:W.scopeData),((l={})[e]=t,l))}):_.onScopeChange(e,t)},tierLabel:"Which tier are you configuring this learning for?",stationLabel:"Which scope should this learning belong to?",highlights:k,isOpen:B.scopeData,onToggle:function(){return gi("scopeData")},showCognitiveIcon:W.citation.scopeData,cognitiveIcon:t(f,{}),tooltipDescription:"Why this Scope?",errorMessage:(null===(I=N.validationErrors)||void 0===I?void 0:I.station)||(null===(E=N.validationErrors)||void 0===E?void 0:E.tiers),stationErrorMessage:null===(D=N.validationErrors)||void 0===D?void 0:D.station,tierErrorMessage:null===(w=N.validationErrors)||void 0===w?void 0:w.tiers,readOnly:(null==N?void 0:N.isAiStreaming)||!J},N)),W.citation.scopeData&&t("div",i({style:yi},{children:t(d,{isVisible:B.scopeData,citation:W.citation.scopeData,citations:hi("scopeData"),fieldName:"Scope",fieldValue:null===(R=null===(O=W.scopeData)||void 0===O?void 0:O.tiers)||void 0===R?void 0:R.join(", ")})})),J?e("div",i({style:{display:"flex",flexDirection:"column",alignItems:"flex-start"}},{children:[e("div",i({style:{display:"flex",justifyContent:"flex-start",alignItems:"center",gap:"16px"}},{children:[t("button",i({onClick:ni,style:{background:"none",border:"none",color:"#6b7280",fontSize:"14px",fontWeight:"500",cursor:"pointer",padding:"0"}},{children:"Discard Changes"})),e("button",i({onClick:li,disabled:ci,style:{display:"flex",alignItems:"center",gap:"8px",padding:"8px 16px",borderRadius:"12px",border:"none",backgroundColor:"#2563eb",color:"#ffffff",fontSize:"14px",fontWeight:"500",cursor:ci?"not-allowed":"pointer",boxShadow:"0 1px 2px rgba(0, 0, 0, 0.05)",opacity:ci?.5:1}},{children:[t(y,{size:18,strokeWidth:2.5,color:"#ffffff"}),"Save Changes"]}))]})),"rule-setup"===(null==N?void 0:N.pendingEditId)&&e("div",i({style:{display:"flex",alignItems:"center",gap:"6px",marginTop:"10px"}},{children:[t(h,{size:14,style:{color:"#C2410C"}}),t("div",i({style:{color:"#C2410C",fontSize:"13px"}},{children:"Pending - Changes not applied yet. Apply or discard them to continue."}))]}))]})):null]}))}))})),(!(null==N?void 0:N.tierOptions)||0===N.tierOptions.length)&&e("div",i({style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"8px",padding:"32px 16px",marginTop:"8px",backgroundColor:"#FAFAFA",border:"1px dashed #E2E8F0",borderRadius:"12px",color:"#94a3b8"}},{children:[t(h,{size:20,style:{color:"#94a3b8"}}),t("span",i({style:{fontSize:"13px",fontWeight:500,color:"#64748b"}},{children:"No tiers found"}))]})),null===(V=null==N?void 0:N.tierOptions)||void 0===V?void 0:V.map(function(n,o){var r,a,s,f,g,h,y,m=n.toLowerCase().replace(/ /g,"_"),x=(null===(r=W.variantsByTier)||void 0===r?void 0:r[m])||[],b=null===(s=null===(a=W.scopeData)||void 0===a?void 0:a.tiers)||void 0===s?void 0:s.includes(n),S=x.length,A=!1;if(1===S){var I=x[0],E=!(null===(f=null==I?void 0:I.ruleDescription)||void 0===f?void 0:f.trim()),D=(null===(g=null==I?void 0:I.whenToApplyConditions)||void 0===g?void 0:g.some(function(i){return(null==i?void 0:i.text)&&""!==i.text.trim()}))||!1,w=(null===(h=null==I?void 0:I.whenNotToApplyConditions)||void 0===h?void 0:h.some(function(i){return(null==i?void 0:i.text)&&""!==i.text.trim()}))||!1;!E||D||w||(A=!0)}var O=A?void 0:"".concat(S," ").concat(1===S?"variant":"variants"," configured for this tier"),R=t(C,i({onAddVariant:function(){var i;return null===(i=_.addNewVariant)||void 0===i?void 0:i.call(_,m)},isDisabled:!b||(null==N?void 0:N.isAiStreaming),showAddVariantBtn:"Edit"!==(null==N?void 0:N.usedFor)},{children:x.map(function(n,l){var o,r,a,s,f,g,h,y,x,C,S=n.variantType||"default",A="".concat(m,"-variant-").concat(l),I=!0===n.is_variant,E="default"===S||"default_variant"===S,D="".concat(m,"_").concat(l),w=z.get(D)||{},O=(null===(r=null===(o=N.separationItemsByTier)||void 0===o?void 0:o[m])||void 0===r?void 0:r.get(l))||[],R=(null===(s=null===(a=N.togglesByTier)||void 0===a?void 0:a[m])||void 0===s?void 0:s.get(l))||[],V=null===(f=null==N?void 0:N.activeEditId)||void 0===f?void 0:f.startsWith("condition-wta-".concat(m,"-").concat(l)),k=null===(g=null==N?void 0:N.activeEditId)||void 0===g?void 0:g.startsWith("condition-wnta-".concat(m,"-").concat(l)),L=!b||n.isReadOnly||(null==N?void 0:N.isAiStreaming);return t("div",i({ref:function(i){i?K.current.set(A,i):K.current.delete(A)},style:{width:"100%",opacity:b?1:.7}},{children:t(p,i({title:{type:E?"default":"variant",label:mi(S),number:l+1,isNewVariant:I,isDefault:n.isDefault,isModified:n.isModified},defaultOpen:!0,expanded:P===A,onToggle:function(){var i,e=P===A;M(e?null:A),null===(i=null==N?void 0:N.setActiveVariantAccordionIndex)||void 0===i||i.call(N,e?null:l)},variant:"rule-behavior",footerData:{ruleTitle:S,description:n.ruleDescription||""},readOnly:L},{children:e("div",i({style:{display:"flex",flexDirection:"column",gap:"12px"}},{children:[t(v,i({id:"rule-description-".concat(m,"-").concat(l),title:N.ruleDescriptionTitle||"Rule Description",rows:2,placeholder:"Explain the learning behaviour",required:!0,readOnly:L||xi&&(null==N?void 0:N.activeEditId)!=="rule-description-".concat(m,"-").concat(l),value:n.ruleDescription||"",onChange:function(i){return _.setRuleDescription(m,l,i)},isOpen:B["ruleDescription-".concat(m)],onToggle:function(){return gi("ruleDescription-".concat(m))},isHighlighted:w.ruleDescription||!1,showCognitiveIcon:null===(h=W.citation)||void 0===h?void 0:h["ruleDescription_".concat(m)],tooltipDescription:"Why this Description?",errorMessage:null===(y=N.validationErrors)||void 0===y?void 0:y["ruleDescription-".concat(m,"-").concat(l)],enableInlineEdit:!0,setSendMessageInChat:null==N?void 0:N.setSendMessageInChat,isAiStreaming:null==N?void 0:N.isAiStreaming,fieldName:"Rule Description"},N)),(null===(x=W.citation)||void 0===x?void 0:x["ruleDescription_".concat(m)])&&t("div",i({style:yi},{children:t(d,{isVisible:B["ruleDescription-".concat(m)],citation:W.citation["ruleDescription_".concat(m)],citations:hi("ruleDescription_".concat(m,"_").concat(l)),fieldName:"Rule Description",fieldValue:n.ruleDescription})})),(null==N?void 0:N.LazyPromptEditor)&&t(T,{LazyPromptEditor:N.LazyPromptEditor,value:N.instructionPrompt,onChange:N.setInstructionPrompt,title:N.instructionPromptTitle,tierKey:m,variantIndex:l,uiState:i(i({},N),{isEffectivelyReadOnly:L}),isHighlighted:w.instruction_prompt||!1}),t(c,i({id:"when-to-apply-".concat(m,"-").concat(l),idPrefix:"condition-wta",title:N.whenToApplyTitle||"When to apply",required:!0,dividerRequired:!0,readOnly:L||xi&&!V,conditions:n.whenToApplyConditions||[],onAdd:function(){return _.addWhenToApply(m,l)},onRemove:function(i,e,t){return _.removeWhenToApply(i,e,t)},onEdit:function(i,e,t,n){return _.editWhenToApply(i,e,t,n)},index:l,tierKey:m,isHighlighted:w.wta||!1,highlightedIds:null==N?void 0:N.highlightedIds,tooltipDescription:"Why this Condition?",citations:hi("whenToApply_".concat(m,"_").concat(l)),bordered:!0,addLabel:(null==N?void 0:N.addWhenToApplyBtnLabel)||"Add When to apply",isAiStreaming:N.isAiStreaming,errorMessage:(null===(C=N.validationErrors)||void 0===C?void 0:C["whenToApply-".concat(m,"-").concat(l)])||(null==N?void 0:N.conflictReason)},N)),t(c,i({id:"when-not-to-apply-".concat(m,"-").concat(l),idPrefix:"condition-wnta",title:N.whenNotToApplyTitle||"When NOT to apply",required:!1,dividerRequired:!0,readOnly:L||xi&&!k,conditions:n.whenNotToApplyConditions||[],onAdd:function(){return _.addWhenNotToApply(m,l)},onRemove:function(i,e,t){return _.removeWhenNotToApply(i,e,t)},onEdit:function(i,e,t,n){return _.editWhenNotToApply(i,e,t,n)},index:l,tierKey:m,isHighlighted:w.wnta||!1,highlightedIds:null==N?void 0:N.highlightedIds,tooltipDescription:"Why this Condition?",citations:hi("whenNotToApply_".concat(m,"_").concat(l)),bordered:!0,addLabel:(null==N?void 0:N.addWhenNotToApplyBtnLabel)||"Add When NOT to apply",isAiStreaming:N.isAiStreaming},N)),(null==N?void 0:N.showConfiguration)&&t(u,i({id:"config-".concat(m,"-").concat(l),title:N.configTitle||"Configuration",required:!1,highlights:w,bordered:!0,readOnly:L||xi&&(null==N?void 0:N.activeEditId)!=="config-".concat(m,"-").concat(l),onConfigChange:function(i,e){return _.onConfigChange(m,l,i,e)},separationItems:O,toggles:R,index:l},N))]}))}),A)}),"".concat(m,"-variant-").concat(l))})}));return 1===(null===(y=null==N?void 0:N.tierOptions)||void 0===y?void 0:y.length)?t(l.Fragment,{children:R},"tier-".concat(o)):t(p,i({variant:"tier-header",title:{type:"other",label:n},subtitle:O,defaultOpen:!0,footerData:{description:"Variants for ".concat(n)}},{children:R}),"tier-".concat(o))})]}))};export{b as CreateRule};
1
+ import{__assign as i}from"tslib";import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import o,{useState as l,useEffect as r,Suspense as a}from"react";import{InputDataReasoningCard as d}from"../../InputDataReasoningCard.js";import{ConditionSection as c}from"../../organisms/ConditionSection/ConditionSection.js";import{ConfigSection as u}from"../../organisms/ConfigSection/ConfigSection.js";import{ScopeSection as s}from"../../organisms/ScopeSection/ScopeSection.js";import{TextSection as v}from"../../organisms/TextSection/TextSection.js";import p from"../../AccordianSection.js";import{ButtonCognitiveIcon as f}from"../../_svg/ButtonCognitiveIcon.js";import{Loader2Icon as g,AlertTriangle as h,Check as y,X as m,Pencil as x}from"lucide-react";var T=function(o){var r=o.LazyPromptEditor,d=o.value,c=o.onChange,u=o.title,s=o.tierKey,v=o.variantIndex,p=o.uiState,f=o.isHighlighted,g="instruction-prompt-".concat(s,"-").concat(v),T=(null==p?void 0:p.activeEditId)===g,C=!!(null==p?void 0:p.activeEditId)&&p.activeEditId!==g,S=l(null),I=S[0],b=S[1],A=(null==I?void 0:I.trim())||"",E=A===((null==d?void 0:d.trim())||"")||null!==I&&""===A,D={display:"flex",alignItems:"center",justifyContent:"center",padding:"8px",border:"1px solid #e5e7eb",borderRadius:"8px",cursor:"pointer",width:"36px",height:"36px",backgroundColor:"#ffffff"},w={cursor:E?"not-allowed":"pointer",opacity:E?.5:1};return e("div",i({style:{display:"flex",flexDirection:"column",gap:"4px",width:"100%",marginBottom:"12px",margin:"0 0.2rem"},"data-edit-id":g},{children:[t("div",i({style:{display:"flex",alignItems:"center",width:"100%",justifyContent:"space-between",marginBottom:"4px"}},{children:t("span",i({style:{fontSize:"14px",fontWeight:500,color:"#19213D",fontFamily:'"Plus Jakarta Sans", sans-serif'}},{children:u}))})),e("div",i({style:{display:"flex",alignItems:"flex-start",gap:"8px",width:"100%"}},{children:[t("div",i({style:{flex:1,minWidth:0,border:f?"1px solid #2563EB":"none",borderRadius:"8px",boxShadow:f?"0 0 12px 3px rgba(37, 99, 235, 0.3)":"none",transition:"all 0.3s"}},{children:t(a,i({fallback:t("div",i({style:{padding:"12px",fontSize:"13px",color:"#6b7280"}},{children:"Loading editor..."}))},{children:t("div",i({style:{pointerEvents:T?"auto":"none",opacity:T?1:.75}},{children:t(r,{value:T&&null!==I?I:d,onChange:function(i){T?b(i):c&&c(i)},title:u,minHeight:"220px",maxHeight:"400px"})}))}))})),!(null==p?void 0:p.isEffectivelyReadOnly)&&t("div",i({style:{display:"flex",flexDirection:"row",gap:"8px",marginTop:"0px"}},{children:T?e(n,{children:[e("button",i({title:"Apply",onClick:function(){var i,e;if(null!==I){if(I===(null!=d?d:""))return b(null),void(null===(i=null==p?void 0:p.setActiveEditId)||void 0===i||i.call(p,null));if(null==c||c(I),null==p?void 0:p.setSendMessageInChat){var t="sk-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8));p.setSendMessageInChat("__SKELETON__:".concat(t,":The Instruction Prompt has been updated through the Learning Form"))}b(null),null===(e=null==p?void 0:p.setActiveEditId)||void 0===e||e.call(p,null)}},disabled:E,style:i(i(i({},D),w),{backgroundColor:"#2563EB",color:"white",width:"auto",padding:"8px 12px"})},{children:[t(y,{size:20,strokeWidth:2.5})," Apply"]})),t("button",i({title:"Cancel",onClick:function(){var i;b(null),null===(i=null==p?void 0:p.setActiveEditId)||void 0===i||i.call(p,null)},style:i(i({},D),{borderColor:"#E3E8E9",color:"#dc2626"})},{children:t(m,{size:20,strokeWidth:2.5})}))]}):t("button",i({title:C?"Save active edits first":"Edit",onClick:function(){var i;(null==p?void 0:p.activeEditId)&&p.activeEditId!==g||(null===(i=null==p?void 0:p.setActiveEditId)||void 0===i||i.call(p,g),b(null!=d?d:""))},disabled:(null==p?void 0:p.isAiStreaming)||C,style:i(i({},D),{color:"#6b7280",cursor:(null==p?void 0:p.isAiStreaming)||C?"not-allowed":"pointer",opacity:(null==p?void 0:p.isAiStreaming)||C?.5:1})},{children:t(x,{size:20})}))}))]})),(null==p?void 0:p.pendingEditId)===g&&T&&e("div",i({style:{display:"flex",alignItems:"center",gap:"6px",marginTop:"6px"}},{children:[t(h,{size:14,style:{color:"#C2410C"}}),t("div",i({style:{color:"#C2410C",fontSize:"13px"}},{children:"Pending - Changes not applied yet. Apply or discard them to continue."}))]}))]}))},C=function(n){var l=n.children,r=n.onAddVariant,a=n.isDisabled,d=n.showAddVariantBtn,c=void 0===d||d,u=o.Children.toArray(l);return e("div",i({style:{display:"flex",flexDirection:"column",alignItems:"flex-start"}},{children:[u.map(function(i,n){var l=!(n===u.length-1)||c;return e(o.Fragment,{children:[i,l&&t("div",{style:{width:"2px",height:"20px",backgroundColor:"#E2E8F0",marginLeft:"30px"}})]},n)}),c&&t("div",i({onClick:a?void 0:r,style:{padding:"8px 16px",border:"1px solid #E2E8F0",borderRadius:"8px",color:a?"#94a3b8":"#475569",fontSize:"14px",fontWeight:"500",cursor:a?"not-allowed":"pointer",backgroundColor:a?"#f8fafc":"#FFFFFF",opacity:a?.7:1,userSelect:"none",transition:"all 0.2s ease"}},{children:"Add Variant"}))]}))},S=function(n){var a,m,S,I,b,A,E,D,w,O,R,V,_=n.state,W=n.handlers,N=n.uiState,L=(null==N?void 0:N.highlights)||new Map,k=L.get("global_0")||{},z=l({}),F=z[0],B=z[1],P=l(null),M=P[0],j=P[1],q=l(function(){var i,e,t;if((null==N?void 0:N.defaultTierOpen)>=0&&(null===(i=null==N?void 0:N.tierOptions)||void 0===i?void 0:i[N.defaultTierOpen]))return N.tierOptions[N.defaultTierOpen].toLowerCase().replace(/ /g,"_");var n=null===(t=null===(e=_.scopeData)||void 0===e?void 0:e.tiers)||void 0===t?void 0:t[0];return n?n.toLowerCase().replace(/ /g,"_"):null});q[0];var H=q[1],J="rule-setup"===(null==N?void 0:N.activeEditId),K=o.useRef(new Map),$=l(null),U=$[0],Z=$[1],G=l(null),Q=G[0],X=G[1],Y=l(!1),ii=Y[0],ei=Y[1],ti=o.useRef(null==N?void 0:N.isAiStreaming);r(function(){ti.current&&!(null==N?void 0:N.isAiStreaming)&&ii&&ei(!1),ti.current=null==N?void 0:N.isAiStreaming},[null==N?void 0:N.isAiStreaming,ii]);var ni=function(){var i;Z(null),X(null),null===(i=null==N?void 0:N.setActiveEditId)||void 0===i||i.call(N,null)},oi=function(){var i,e,t=null!=U?U:_.ruleTitle,n=null!=Q?Q:_.scopeData,o=t!==_.ruleTitle,l=JSON.stringify(n)!==JSON.stringify(_.scopeData);if(!o&&!l)return Z(null),X(null),void(null===(i=null==N?void 0:N.setActiveEditId)||void 0===i||i.call(N,null));if(null==N?void 0:N.setSendMessageInChat){var r="sk-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),a=[];if(o&&a.push((null==t?void 0:t.trim())?"Title with ".concat(t):"No Title"),l){var d=null==n?void 0:n.tiers,c=d&&d.length>0?"tiers: ".concat(d.join(", ")):"No Tier Selected";a.push(c)}var u=a.join(" and ");N.setSendMessageInChat("__SKELETON__:".concat(r,":Update Rule Setup ").concat(u))}ei(!0),Z(null),X(null),null===(e=null==N?void 0:N.setActiveEditId)||void 0===e||e.call(N,null)},li=null!==U?null==U?void 0:U.trim():(_.ruleTitle||"").trim(),ri=null!=Q?Q:_.scopeData,ai=li!==(_.ruleTitle||"").trim(),di=JSON.stringify(ri)!==JSON.stringify(_.scopeData),ci=!ai&&!di||""===li,ui=o.useRef(null==N?void 0:N.defaultVariantOpen),si=o.useRef(null==N?void 0:N.activeVariantAccordionIndex),vi=o.useRef(null==N?void 0:N.defaultTierOpen),pi=o.useRef(null===(a=_.scopeData)||void 0===a?void 0:a.tiers),fi=o.useRef(_.variantsByTier);o.useEffect(function(){var i,e,t,n,o,l,r=null,a=!1;ui.current!==(null==N?void 0:N.defaultVariantOpen)&&(a=!0,ui.current=null==N?void 0:N.defaultVariantOpen),si.current!==(null==N?void 0:N.activeVariantAccordionIndex)&&(a=!0,si.current=null==N?void 0:N.activeVariantAccordionIndex),vi.current!==(null==N?void 0:N.defaultTierOpen)&&(a=!0,vi.current=null==N?void 0:N.defaultTierOpen);var d=(null===(i=_.scopeData)||void 0===i?void 0:i.tiers)||[];JSON.stringify(pi.current)!==JSON.stringify(d)&&(a=!0,pi.current=d,d.length>0&&H(d[0].toLowerCase().replace(/ /g,"_")));var c=(null===(e=null==N?void 0:N.tierOptions)||void 0===e?void 0:e.filter(function(i){var e,t;return null===(t=null===(e=_.scopeData)||void 0===e?void 0:e.tiers)||void 0===t?void 0:t.includes(i)}))||[],u=c.some(function(i){var e,t,n,o,l=i.toLowerCase().replace(/ /g,"_");return((null===(t=null===(e=fi.current)||void 0===e?void 0:e[l])||void 0===t?void 0:t.length)||0)!==((null===(o=null===(n=_.variantsByTier)||void 0===n?void 0:n[l])||void 0===o?void 0:o.length)||0)});if(u&&(a=!0),a){var s=null!==(t=null==N?void 0:N.activeVariantAccordionIndex)&&void 0!==t?t:null==N?void 0:N.defaultVariantOpen;if(null==s||s<0)return j(null),void(fi.current=_.variantsByTier);c.forEach(function(i,e){var t;if(!((null==N?void 0:N.defaultTierOpen)>=0&&e!==N.defaultTierOpen)){var n=i.toLowerCase().replace(/ /g,"_"),o=(null===(t=_.variantsByTier)||void 0===t?void 0:t[n])||[];o[s]&&(r="".concat(n,"-variant-").concat(s)),null!=(null==N?void 0:N.autoScrollVariantIndex)&&o[N.autoScrollVariantIndex]&&(r="".concat(n,"-variant-").concat(N.autoScrollVariantIndex))}}),r&&j(r)}if(null===M){var v=null!==(n=null==N?void 0:N.activeVariantAccordionIndex)&&void 0!==n?n:null==N?void 0:N.defaultVariantOpen;null!=v&&v>=0&&(null===(l=null===(o=null==N?void 0:N.tierOptions)||void 0===o?void 0:o.filter(function(i){var e,t;return null===(t=null===(e=_.scopeData)||void 0===e?void 0:e.tiers)||void 0===t?void 0:t.includes(i)}))||void 0===l||l.forEach(function(i,e){var t;if(!((null==N?void 0:N.defaultTierOpen)>=0&&e!==N.defaultTierOpen)){var n=i.toLowerCase().replace(/ /g,"_");((null===(t=_.variantsByTier)||void 0===t?void 0:t[n])||[])[v]&&j("".concat(n,"-variant-").concat(v))}}))}fi.current=_.variantsByTier},[_.variantsByTier,null==N?void 0:N.defaultVariantOpen,null==N?void 0:N.activeVariantAccordionIndex,null===(m=_.scopeData)||void 0===m?void 0:m.tiers,null==N?void 0:N.tierOptions,null==N?void 0:N.autoScrollVariantIndex,null==N?void 0:N.defaultTierOpen]);var gi=function(e){B(function(t){var n;return i(i({},t),((n={})[e]=!t[e],n))})},hi=function(i){var e,t,n,o=i.split("_"),l=o[o.length-1],r=/^\d+$/.test(l)?o.slice(0,-1).join("_"):i,a=null===(e=_.fieldCitations)||void 0===e?void 0:e[r];if(Array.isArray(a)&&a.length>0)return a;var d=null===(t=_.fieldCitations)||void 0===t?void 0:t[i];return Array.isArray(d)&&d.length>0?d:null!==(n=_.citations)&&void 0!==n?n:[]},yi={marginTop:"-17px",position:"relative",zIndex:1};r(function(){var i,e;null!=(null==N?void 0:N.autoScrollVariantIndex)&&(null===(e=null===(i=null==N?void 0:N.tierOptions)||void 0===i?void 0:i.filter(function(i){var e,t;return null===(t=null===(e=_.scopeData)||void 0===e?void 0:e.tiers)||void 0===t?void 0:t.includes(i)}))||void 0===e||e.forEach(function(i){var e=i.toLowerCase().replace(/ /g,"_"),t="".concat(e,"-variant-").concat(N.autoScrollVariantIndex),n=K.current.get(t);n&&requestAnimationFrame(function(){setTimeout(function(){n.scrollIntoView({behavior:"smooth",block:"center"})},300)})}))},[null==N?void 0:N.scrollTrigger]),console.log("CreateRule state:",_),console.log("CreateRule uiState:",N);var mi=function(i){return i?i.replace(/_/g," ").replace(/([a-zA-Z])(\d)/g,"$1 $2").replace(/\b\w/g,function(i){return i.toUpperCase()}):"Variant 1"},xi=!!(null==N?void 0:N.activeEditId);return e("div",i({className:"traffic-manager-template"},{children:[t("div",i({"data-edit-id":"rule-setup"},{children:t(p,i({title:{type:"other",label:(null==N?void 0:N.setupLabel)||"Rule Setup"},actionButtons:function(e,n){if(J)return null;var o=!!(null==N?void 0:N.activeEditId)&&"rule-setup"!==N.activeEditId;return t("div",i({style:{position:"relative",display:"flex",flexDirection:"column"}},{children:t("button",i({title:o?"Save active edits first":"Edit",onClick:function(t){t.stopPropagation(),o?(null==N?void 0:N.setPendingEditId)&&N.setPendingEditId(N.activeEditId||null):(!function(){var e,t;(null==N?void 0:N.activeEditId)&&"rule-setup"!==N.activeEditId||(null===(e=null==N?void 0:N.setActiveEditId)||void 0===e||e.call(N,"rule-setup"),Z(null!==(t=_.ruleTitle)&&void 0!==t?t:""),X(_.scopeData?i({},_.scopeData):{}))}(),(null==N?void 0:N.setPendingEditId)&&N.setPendingEditId(null),e||n())},disabled:ii,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",padding:"6px 8px",border:"1px solid #e5e7eb",borderRadius:"8px",cursor:ii?"not-allowed":"pointer",backgroundColor:"#ffffff",color:"#6b7280",opacity:ii?.5:1}},{children:t(x,{size:14})}))}))},footerData:{ruleTitle:_.ruleTitle,stations:[_.scopeData.station],tiers:null===(S=_.scopeData)||void 0===S?void 0:S.tiers},defaultOpen:"Create"===(null==N?void 0:N.usedFor),readOnly:"Create"!==(null==N?void 0:N.usedFor),isAiStreaming:null==N?void 0:N.isAiStreaming,editFlow:"Edit"===(null==N?void 0:N.usedFor)},{children:e("div",i({style:{display:"flex",flexDirection:"column",gap:"12px"}},{children:[ii&&(null==N?void 0:N.isAiStreaming)&&e("div",i({style:{display:"flex",alignItems:"center",color:"#141414ff",fontSize:"13px",fontWeight:500,fontStyle:"italic",marginBottom:"8px",paddingLeft:"4px"}},{children:[t(g,{size:16,style:{marginRight:8,animation:"spin 1s linear infinite"}},"loader"),"Checking the correctness of your Rule Setup..."]})),t(v,i({id:"rule-title",title:N.ruleTitle||"Rule Title",rows:1,placeholder:"Enter a short, descriptive title for the learning",required:!0,value:J&&null!==U?U:_.ruleTitle,onChange:function(i){return J?Z(i):W.setRuleTitle(i)},readOnly:(null==N?void 0:N.isAiStreaming)||!J,isOpen:F.ruleTitle,onToggle:function(){return gi("ruleTitle")},isHighlighted:k.ruleTitle||!1,showCognitiveIcon:_.citation.ruleTitle,tooltipDescription:"Why this Title?",errorMessage:null===(I=N.validationErrors)||void 0===I?void 0:I.ruleTitle},N)),_.citation.ruleTitle&&t("div",i({style:yi},{children:t(d,{isVisible:F.ruleTitle,citation:_.citation.ruleTitle,citations:hi("ruleTitle"),fieldName:"Rule Title",fieldValue:_.ruleTitle})})),(null===(b=null==N?void 0:N.tierOptions)||void 0===b?void 0:b.length)>1&&t(s,i({id:"scope",title:"",required:!1,scopeData:J&&null!==Q?Q:_.scopeData,onScopeChange:function(e,t){J?X(function(n){var o;return i(i({},null!=n?n:_.scopeData),((o={})[e]=t,o))}):W.onScopeChange(e,t)},tierLabel:"Which tier are you configuring this learning for?",stationLabel:"Which scope should this learning belong to?",highlights:k,isOpen:F.scopeData,onToggle:function(){return gi("scopeData")},showCognitiveIcon:_.citation.scopeData,cognitiveIcon:t(f,{}),tooltipDescription:"Why this Scope?",errorMessage:(null===(A=N.validationErrors)||void 0===A?void 0:A.station)||(null===(E=N.validationErrors)||void 0===E?void 0:E.tiers),stationErrorMessage:null===(D=N.validationErrors)||void 0===D?void 0:D.station,tierErrorMessage:null===(w=N.validationErrors)||void 0===w?void 0:w.tiers,readOnly:(null==N?void 0:N.isAiStreaming)||!J},N)),_.citation.scopeData&&t("div",i({style:yi},{children:t(d,{isVisible:F.scopeData,citation:_.citation.scopeData,citations:hi("scopeData"),fieldName:"Scope",fieldValue:null===(R=null===(O=_.scopeData)||void 0===O?void 0:O.tiers)||void 0===R?void 0:R.join(", ")})})),J?e("div",i({style:{display:"flex",flexDirection:"column",alignItems:"flex-start"}},{children:[e("div",i({style:{display:"flex",justifyContent:"flex-start",alignItems:"center",gap:"16px"}},{children:[t("button",i({onClick:ni,style:{background:"none",border:"none",color:"#6b7280",fontSize:"14px",fontWeight:"500",cursor:"pointer",padding:"0"}},{children:"Discard Changes"})),e("button",i({onClick:oi,disabled:ci,style:{display:"flex",alignItems:"center",gap:"8px",padding:"8px 16px",borderRadius:"12px",border:"none",backgroundColor:"#2563eb",color:"#ffffff",fontSize:"14px",fontWeight:"500",cursor:ci?"not-allowed":"pointer",boxShadow:"0 1px 2px rgba(0, 0, 0, 0.05)",opacity:ci?.5:1}},{children:[t(y,{size:18,strokeWidth:2.5,color:"#ffffff"}),"Save Changes"]}))]})),"rule-setup"===(null==N?void 0:N.pendingEditId)&&e("div",i({style:{display:"flex",alignItems:"center",gap:"6px",marginTop:"10px"}},{children:[t(h,{size:14,style:{color:"#C2410C"}}),t("div",i({style:{color:"#C2410C",fontSize:"13px"}},{children:"Pending - Changes not applied yet. Apply or discard them to continue."}))]}))]})):null]}))}))})),(!(null==N?void 0:N.tierOptions)||0===N.tierOptions.length)&&e("div",i({style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"8px",padding:"32px 16px",marginTop:"8px",backgroundColor:"#FAFAFA",border:"1px dashed #E2E8F0",borderRadius:"12px",color:"#94a3b8"}},{children:[t(h,{size:20,style:{color:"#94a3b8"}}),t("span",i({style:{fontSize:"13px",fontWeight:500,color:"#64748b"}},{children:"No tiers found"}))]})),null===(V=null==N?void 0:N.tierOptions)||void 0===V?void 0:V.map(function(n,l){var r,a,s,f,g,h,y,m=n.toLowerCase().replace(/ /g,"_"),x=(null===(r=_.variantsByTier)||void 0===r?void 0:r[m])||[],S=null===(s=null===(a=_.scopeData)||void 0===a?void 0:a.tiers)||void 0===s?void 0:s.includes(n),I=x.length,b=!1;if(1===I){var A=x[0],E=!(null===(f=null==A?void 0:A.ruleDescription)||void 0===f?void 0:f.trim()),D=(null===(g=null==A?void 0:A.whenToApplyConditions)||void 0===g?void 0:g.some(function(i){return(null==i?void 0:i.text)&&""!==i.text.trim()}))||!1,w=(null===(h=null==A?void 0:A.whenNotToApplyConditions)||void 0===h?void 0:h.some(function(i){return(null==i?void 0:i.text)&&""!==i.text.trim()}))||!1;!E||D||w||(b=!0)}var O=b?void 0:"".concat(I," ").concat(1===I?"variant":"variants"," configured for this tier"),R=t(C,i({onAddVariant:function(){var i;return null===(i=W.addNewVariant)||void 0===i?void 0:i.call(W,m)},isDisabled:!S||(null==N?void 0:N.isAiStreaming),showAddVariantBtn:"Edit"!==(null==N?void 0:N.usedFor)},{children:x.map(function(n,o){var l,r,a,s,f,g,h,y,x,C,I,b=n.variantType||"default",A="".concat(m,"-variant-").concat(o),E=!0===n.is_variant,D="default"===b||"default_variant"===b,w="".concat(m,"_").concat(o),O=L.get(w)||{},R=(null===(r=null===(l=N.separationItemsByTier)||void 0===l?void 0:l[m])||void 0===r?void 0:r.get(o))||[],V=(null===(s=null===(a=N.togglesByTier)||void 0===a?void 0:a[m])||void 0===s?void 0:s.get(o))||[],k=null===(f=null==N?void 0:N.activeEditId)||void 0===f?void 0:f.startsWith("condition-wta-".concat(m,"-").concat(o)),z=null===(g=null==N?void 0:N.activeEditId)||void 0===g?void 0:g.startsWith("condition-wnta-".concat(m,"-").concat(o)),B=!S||n.isReadOnly||(null==N?void 0:N.isAiStreaming);return t("div",i({ref:function(i){i?K.current.set(A,i):K.current.delete(A)},style:{width:"100%",opacity:S?1:.7}},{children:t(p,i({title:{type:D?"default":"variant",label:mi(b),number:o+1,isNewVariant:E,isDefault:n.isDefault,isModified:n.isModified},defaultOpen:!0,expanded:M===A,onToggle:function(){var i,e=M===A;j(e?null:A),null===(i=null==N?void 0:N.setActiveVariantAccordionIndex)||void 0===i||i.call(N,e?null:o)},variant:"rule-behavior",footerData:{ruleTitle:b,description:n.ruleDescription||""},readOnly:B},{children:e("div",i({style:{display:"flex",flexDirection:"column",gap:"12px"}},{children:[t(v,i({id:"rule-description-".concat(m,"-").concat(o),title:N.ruleDescriptionTitle||"Rule Description",rows:2,placeholder:"Explain the learning behaviour",required:!0,readOnly:B||xi&&(null==N?void 0:N.activeEditId)!=="rule-description-".concat(m,"-").concat(o),value:n.ruleDescription||"",onChange:function(i){return W.setRuleDescription(m,o,i)},isOpen:F["ruleDescription-".concat(m)],onToggle:function(){return gi("ruleDescription-".concat(m))},isHighlighted:O.ruleDescription||!1,showCognitiveIcon:null===(h=_.citation)||void 0===h?void 0:h["ruleDescription_".concat(m)],tooltipDescription:"Why this Description?",errorMessage:null===(y=N.validationErrors)||void 0===y?void 0:y["ruleDescription-".concat(m,"-").concat(o)],enableInlineEdit:!0,setSendMessageInChat:null==N?void 0:N.setSendMessageInChat,isAiStreaming:null==N?void 0:N.isAiStreaming,fieldName:"Rule Description"},N)),(null===(x=_.citation)||void 0===x?void 0:x["ruleDescription_".concat(m)])&&t("div",i({style:yi},{children:t(d,{isVisible:F["ruleDescription-".concat(m)],citation:_.citation["ruleDescription_".concat(m)],citations:hi("ruleDescription_".concat(m,"_").concat(o)),fieldName:"Rule Description",fieldValue:n.ruleDescription})})),(null==N?void 0:N.LazyPromptEditor)&&t(T,{LazyPromptEditor:N.LazyPromptEditor,value:null!==(C=n.instructionPrompt)&&void 0!==C?C:N.instructionPrompt,onChange:N.setInstructionPrompt,title:N.instructionPromptTitle,tierKey:m,variantIndex:o,uiState:i(i({},N),{isEffectivelyReadOnly:B}),isHighlighted:O.instruction_prompt||!1}),t(c,i({id:"when-to-apply-".concat(m,"-").concat(o),idPrefix:"condition-wta",title:N.whenToApplyTitle||"When to apply",required:!0,dividerRequired:!0,readOnly:B||xi&&!k,conditions:n.whenToApplyConditions||[],onAdd:function(){return W.addWhenToApply(m,o)},onRemove:function(i,e,t){return W.removeWhenToApply(i,e,t)},onEdit:function(i,e,t,n){return W.editWhenToApply(i,e,t,n)},index:o,tierKey:m,isHighlighted:O.wta||!1,highlightedIds:null==N?void 0:N.highlightedIds,tooltipDescription:"Why this Condition?",citations:hi("whenToApply_".concat(m,"_").concat(o)),bordered:!0,addLabel:(null==N?void 0:N.addWhenToApplyBtnLabel)||"Add When to apply",isAiStreaming:N.isAiStreaming,errorMessage:(null===(I=N.validationErrors)||void 0===I?void 0:I["whenToApply-".concat(m,"-").concat(o)])||(null==N?void 0:N.conflictReason)},N)),t(c,i({id:"when-not-to-apply-".concat(m,"-").concat(o),idPrefix:"condition-wnta",title:N.whenNotToApplyTitle||"When NOT to apply",required:!1,dividerRequired:!0,readOnly:B||xi&&!z,conditions:n.whenNotToApplyConditions||[],onAdd:function(){return W.addWhenNotToApply(m,o)},onRemove:function(i,e,t){return W.removeWhenNotToApply(i,e,t)},onEdit:function(i,e,t,n){return W.editWhenNotToApply(i,e,t,n)},index:o,tierKey:m,isHighlighted:O.wnta||!1,highlightedIds:null==N?void 0:N.highlightedIds,tooltipDescription:"Why this Condition?",citations:hi("whenNotToApply_".concat(m,"_").concat(o)),bordered:!0,addLabel:(null==N?void 0:N.addWhenNotToApplyBtnLabel)||"Add When NOT to apply",isAiStreaming:N.isAiStreaming},N)),(null==N?void 0:N.showConfiguration)&&t(u,i({id:"config-".concat(m,"-").concat(o),title:N.configTitle||"Configuration",required:!1,highlights:O,bordered:!0,readOnly:B||xi&&(null==N?void 0:N.activeEditId)!=="config-".concat(m,"-").concat(o),onConfigChange:function(i,e){return W.onConfigChange(m,o,i,e)},separationItems:R,toggles:V,index:o},N))]}))}),A)}),"".concat(m,"-variant-").concat(o))})}));return 1===(null===(y=null==N?void 0:N.tierOptions)||void 0===y?void 0:y.length)?t(o.Fragment,{children:R},"tier-".concat(l)):t(p,i({variant:"tier-header",title:{type:"other",label:n},subtitle:O,defaultOpen:!0,footerData:{description:"Variants for ".concat(n)}},{children:R}),"tier-".concat(l))})]}))};export{S as CreateRule};
2
2
  //# sourceMappingURL=CreateRule.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 o,Fragment as a}from"react/jsx-runtime";import{useState as r,useEffect as l,useRef as s}from"react";import{format as c}from"date-fns/format";import{isValid as d}from"date-fns/isValid";import{parseISO as u}from"date-fns/parseISO";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"./InstructionPromptBlock.js";import j from"../styles/VariantCard.module.css.js";import w from"../styles/CustomTooltip.module.css.js";import I from"../components/CustomTooltip.js";import x from"../components/ConfirmationModal.js";import D from"./OverrideTimeline.js";import L from"../store/useAuthStore.js";import{usePermissionsStore as B}from"../store/usePermissionsStore.js";import O from"./PendingApprovalChip.js";import S from"./ApprovalActionButton.js";import k from"./ApprovalLearningDialog.js";import{useApproveOrRejectVariantsMutation as F}from"../queries/useApprovalQueries.js";import E from"../store/useEnvStore.js";import{dt as _}from"../store/useLMSConfigStore.js";import{VARIANT_DT_PATH as H}from"../constants.js";import{useLearningTemplateStore as P}from"../store/useLearningTemplateStore.js";var M=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")},V=function(V){var R,W,z,U,G,q,Z,K,Q,Y=V.ruleTitle,$=V.variant,J=V.variantIndex,X=V.totalVariants,ee=V.ruleId;V.pendingApprovalCount;var ne=V.ruleSetId,te=V.tierName,ie=V.displayLabel,oe=V.onEdit,ae=V.onDelete,re=V.onFetchOverrideHistory,le=V.editButtonLabel,se=void 0===le?_("".concat(H,".actions.edit"),"Edit"):le,ce=V.deleteButtonLabel,de=void 0===ce?_("".concat(H,".actions.delete"),"Delete"):ce,ue=V.instructionPromptLabel,pe=void 0===ue?_("".concat(H,".instructionPrompt"),"Learning Metadata"):ue,ve=V.whenToApplyLabel,me=void 0===ve?_("".concat(H,".whenToApply"),"When to Apply"):ve,he=V.whenNotToApplyLabel,fe=void 0===he?_("".concat(H,".whenNotToApply"),"When Not to Apply"):he,ge=V.noConditionsText,ye=void 0===ge?"No conditions":ge,be=V.viewOverrideLabel,Te=void 0===be?"View Override History":be,Ae=V.hideOverrideLabel,Ne=void 0===Ae?"Hide Override History":Ae,Ce=V.enableLearningVariantLabel,je=void 0===Ce?_("".concat(H,".actions.enable"),"Enable"):Ce,we=V.disableLearningVariantLabel,Ie=void 0===we?_("".concat(H,".actions.disable"),"Disable"):we,xe=V.historyErrorMessage,De=void 0===xe?"Failed to load override history.":xe,Le=V.resolveGapsLabel,Be=void 0===Le?"This learning has some gaps":Le,Oe=V.showActionsBar,Se=void 0===Oe||Oe,ke=V.showDescriptionBox,Fe=void 0===ke||ke,Ee=V.showConditions,_e=void 0===Ee||Ee,He=V.showInheritance,Pe=void 0===He||He,Me=V.defaultInstructionPromptOpen,Ve=void 0===Me||Me,Re=V.defaultApplyOpen,We=void 0===Re||Re,ze=V.defaultNotApplyOpen,Ue=void 0===ze||ze,Ge=V.className,qe=V.isHighlighted,Ze=void 0!==qe&&qe,Ke=V.highlightAction,Qe=V.highlightedTierNames,Ye=V.highlightedVariantIds,$e=V.headerContent,Je=V.footerContent,Xe=V.onToggleSuccess,en=V.setDeleteConfirmationUsedFor,nn=V.onCopyToTier,tn=V.onSetInitialDraftMessage,on=L.getState().user,an=P.getState().tiers,rn=r(Ve),ln=rn[0],sn=rn[1],cn=r(We),dn=cn[0],un=cn[1],pn=r(Ue),vn=pn[0],mn=pn[1],hn=r($.learning_metadata),fn=hn[0],gn=hn[1];l(function(){$.learning_metadata?gn($.learning_metadata):console.log("Variant ".concat($.variantId," has no learning_metadata;"))},[$.variantId,$.learning_metadata]);var yn=r(!1),bn=yn[0],Tn=yn[1],An=r(!1),Nn=An[0],Cn=An[1],jn=r(null),wn=jn[0],In=jn[1],xn=r(null),Dn=xn[0],Ln=xn[1],Bn=r(!1),On=Bn[0],Sn=Bn[1],kn=r(!1),Fn=kn[0],En=kn[1],_n=s(null),Hn=!1!==$.is_enabled,Pn=r(!1),Mn=Pn[0],Vn=Pn[1],Rn=s(null),Wn=r({isOpen:!1,mode:"approve"}),zn=Wn[0],Un=Wn[1],Gn=F(),qn=E(function(e){return e.rbacConfig}),Zn=qn?{application:qn.applicationId,scopeLevelModuleId:null!==(R=null==qn?void 0:qn.moduleId)&&void 0!==R?R:"",applicationLevelModuleId:null!==(W=null==qn?void 0:qn.applicationModuleId)&&void 0!==W?W:"",applicationLevelResourceId:null!==(z=null==qn?void 0:qn.applicationResourceId)&&void 0!==z?z:""}:void 0,Kn=B(function(e){return e.hasPermission}),Qn=ne,Yn=$.inheritance&&$.inheritance.length>1,$n=Kn("ilotj.rule.variant.edit",Qn)||Kn(Yn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",Qn),Jn=Kn("ilotj.rule.variant.enable",Qn)||Kn(Yn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",Qn),Xn=Kn("ilotj.rule.variant.disable",Qn)||Kn(Yn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",Qn),et=Kn("ilotj.rule.variant.delete",Qn),nt=Kn("ilotj.rule.selfApprove",Qn),tt=Kn("ilotj.rule.approve",Qn),it=Kn("ilotj.scope.approve",Qn),ot=Kn("ilotj.rule.pendingApproval.view",Qn),at=Kn("ilotj.rule.variant.pendingApproval.edit",Qn),rt=nt||tt||it||at,lt=ot||rt,st="pending_approval"===(null==$?void 0:$.approvalStatus),ct="rejected"===(null==$?void 0:$.approvalStatus),dt=rt&&st;l(function(){var e=function(e){_n.current&&!_n.current.contains(e.target)&&Sn(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var ut=(null===(U=null==wn?void 0:wn.wta)||void 0===U?void 0:U.changeLog)||[],pt=(null===(G=null==wn?void 0:wn.wnta)||void 0===G?void 0:G.changeLog)||[],vt=Ze&&Qe&&te?Qe.filter(function(e){return e!==te}):[],mt=vt.length>0&&te?vt.every(function(e){return e>te})?"↓":"↑":"↓",ht=function(){if(Ye)for(var e=Array.from(Ye),n=0;n<e.length;n++)if(e[n]!==$.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},ft=function(e,n){e.stopPropagation(),Un({isOpen:!0,mode:n})},gt=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=u(n);return d(t)?c(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},yt=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:M(j.variantCard,Ze&&j.variantHighlight,Ge),"data-variant-id":$.variantId},{children:[i("div",e({className:j.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[i("div",e({className:j.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[o("span",e({className:j.variantLabel},{children:"Default"===$.variantType&&"Default"!==ie?"Default | ".concat(ie):ie})),Ze&&Ke&&o("span",e({className:M(j.actionChip,"new"===Ke?j.actionChipNew:j.actionChipUpdated)},{children:"new"===Ke?"Created":"Updated"})),(null==$?void 0:$.isOverridden)&&o(I,e({content:"Inherited from the ".concat((null===(q=$.inheritance)||void 0===q?void 0:q[(null===(Z=$.inheritance)||void 0===Z?void 0:Z.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:w.customTooltip,sideOffset:5},{children:o("span",e({className:j.overriddenTag},{children:"Overridden"}))})),lt&&st&&o(O,{}),ct&&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"})),!Hn&&o("span",e({className:j.learningDisabledPill},{children:"Disabled"})),Pe&&1!==X&&0!==J&&o("div",e({className:j.inheritanceSection},{children:o(A,{inheritance:$.inheritance||[]})}))]})),Se&&i("div",e({className:j.variantActions},{children:[dt&&i(a,{children:[o(S,{variant:"approve",text:"Approve",onClick:function(e){return ft(e,"approve")}}),o(S,{variant:"reject",text:"Reject",onClick:function(e){return ft(e,"reject")}})]}),oe&&$n&&o("button",e({className:j.editButton,onClick:function(){null==oe||oe($,ee,te,"edit")}},{children:se})),ae&&et&&"Default"!==$.variantType&&o("button",e({className:j.deleteButton,onClick:function(){null==en||en("variantDeletion"),null==ae||ae($.variantId,ee)}},{children:de})),i("div",e({className:j.menuWrapper,ref:_n},{children:[o("button",e({onClick:function(){return Sn(!On)},className:"".concat(j.menuTrigger," ").concat(On?j.menuTriggerActive:"")},{children:o(p,{size:16})})),On&&i("div",e({className:j.menuDropdown},{children:[(Hn&&Xn||!Hn&&Jn)&&i("button",e({onClick:function(){return n(void 0,void 0,void 0,function(){return t(this,function(e){return Sn(!1),Vn(!0),[2]})})},disabled:Fn,className:"".concat(j.menuItem," ").concat(Fn?j.menuItemDisabled:"")},{children:[o(Hn?v:m,{size:14}),Hn?Ie:je]})),te&&an.length>1&&i("button",e({onClick:function(){var e="Tier 1"===te?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(Y,"\nLearning Description: ").concat($.description,"\nWhen to apply: ").concat($.whenToApply,"\nWhen not to apply: ").concat($.whenNotToApply);null==tn||tn(n),Sn(!1),null==nn||nn($,ee,Y||"",te,e)},className:j.menuItem},{children:[o(h,{size:14}),"Copy to ","Tier 1"===te?"Tier 2":"Tier 1"]})),re&&(null!==(Q=null===(K=$.inheritance)||void 0===K?void 0:K.length)&&void 0!==Q?Q:0)>1&&i("button",e({onClick:function(){Sn(!1),n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:if(bn)return Tn(!1),[2];if(Tn(!0),!re)return[2];Cn(!0),Ln(null),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,re(ee,$.variantId)];case 2:return e=n.sent(),In(e),[3,5];case 3:return n.sent(),Ln(De),[3,5];case 4:return Cn(!1),[7];case 5:return[2]}})})},className:j.menuItem},{children:[o(f,{size:14}),bn?Ne:Te]}))]}))]}))]}))]})),$e,Fe&&$.description&&i("div",e({className:j.descriptionBox},{children:[o("p",e({className:j.descriptionText},{children:$.description})),bn&&(Nn?o(T,{}):Dn?o("p",e({className:j.errorText},{children:Dn})):(null==wn?void 0:wn.ruleDescription)?o(D,{changeLog:wn.ruleDescription.changeLog}):o("p",e({className:j.noHistoryText},{children:"No override history found"})))]})),_e&&i("div",e({className:j.conditionsContainer},{children:[fn&&Object.keys(fn).length>0&&o(C,{metadata:fn,isOpen:ln,onToggle:function(){return sn(!ln)},labelText:pe}),o(N,{type:"apply",conditions:$.whenToApply||"",isOpen:dn,onToggle:function(){return un(!dn)},labelText:me,noConditionsText:ye,showOverrideHistory:bn,isLoadingHistory:Nn,historyError:Dn,overrideHistoryData:ut}),o(N,{type:"notApply",conditions:$.whenNotToApply||"",isOpen:vn,onToggle:function(){return mn(!vn)},labelText:fe,noConditionsText:ye,showOverrideHistory:bn,isLoadingHistory:Nn,historyError:Dn,overrideHistoryData:pt})]})),Ze&&vt.length>0&&i("div",e({className:j.crossTierBanner},{children:[o(g,{className:j.crossTierBannerIcon}),i("span",e({className:j.crossTierBannerText},{children:["Also created in ",vt.join(", "),"."]})),i("span",e({className:j.crossTierBannerLink,onClick:ht,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&ht()}},{children:["Scroll to view ",mt]}))]})),Je,($.createdBy||$.createdAt)&&i("div",e({className:j.variantFooter},{children:[!0===$.is_user_accepted_risk&&i("div",e({className:j.resolveGaps},{children:[o(y,{size:14,color:"#EF4444"}),o("span",e({className:j.resolveGapsText},{children:Be})),$n&&o("button",e({onClick:function(){null==oe||oe($,ee,te,"resolve_gaps")},className:j.resolveButton},{children:"Resolve"}))]})),o("div",e({className:j.variantFooterContent},{children:$.updatedBy||$.updatedAt?i(a,{children:[$.updatedBy&&o(I,e({content:$.createdBy?"Created by ".concat(yt($.createdBy)):"",contentClassName:w.customTooltip,sideOffset:5,placement:"top"},{children:i("span",e({className:j.variantFooterItem},{children:["Updated by ",yt($.updatedBy)]}))})),$.updatedBy&&$.updatedAt&&o("span",e({className:j.variantFooterSeparator},{children:"•"})),$.updatedAt&&o(I,e({content:$.createdAt?"Created at ".concat(gt($.createdAt)):"",contentClassName:w.customTooltip,sideOffset:5,placement:"top"},{children:o("span",e({className:j.variantFooterItem},{children:gt($.updatedAt)}))}))]}):i(a,{children:[$.createdBy&&i("span",e({className:j.variantFooterItem},{children:["Created by ",yt($.createdBy)]})),$.createdBy&&$.createdAt&&o("span",e({className:j.variantFooterSeparator},{children:"•"})),$.createdAt&&o("span",e({className:j.variantFooterItem},{children:gt($.createdAt)}))]})}))]})),o(x,{isOpen:Mn,title:Hn?_("".concat(H,".disableDialog.title"),"Disable Learning?"):_("".concat(H,".enableDialog.title"),"Enable Learning?"),description:Hn?_("".concat(H,".disableDialog.desc"),"Are you sure you want to disable learning for this variant in {rule_title}?",{rule_title:null!=Y?Y:""}):_("".concat(H,".enableDialog.desc"),"Are you sure you want to enable learning for this variant in {rule_title}?",{rule_title:null!=Y?Y:""}),warning:Hn?_("".concat(H,".disableDialog.warningText"),"This learning will no longer influence upcoming schedules. You can enable it again anytime."):_("".concat(H,".enableDialog.warningText"),"This learning will start influencing upcoming schedules again."),confirmText:Hn?_("".concat(H,".disableDialog.deleteText"),"Disable"):_("".concat(H,".enableDialog.deleteText"),"Enable"),cancelText:_("".concat(H,Hn?".disableDialog.cancelText":".enableDialog.cancelText"),"Cancel"),loadingText:_("".concat(H,Hn?".disableDialog.loadingText":".enableDialog.loadingText"),"Processing..."),confirmBgColor:Hn?"#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:En(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),null==on?void 0:on.email,[4,b([$.variantId],!Hn)];case 2:return n.sent(),null==Xe||Xe(),[3,5];case 3:return e=n.sent(),console.error("Failed to toggle variant",e),[3,5];case 4:return En(!1),Sn(!1),Vn(!1),[7];case 5:return[2]}})})},onCancel:function(){return Vn(!1)},isLoading:Fn,position:"fixed"}),o(k,{open:zn.isOpen,mode:zn.mode,onClose:function(){return Un(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){ne&&Gn.mutate({variantIds:[$.variantId],status:"approve"===zn.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:ne,appsecData:Zn},{onSuccess:function(){var n;Un(function(n){return e(e({},n),{isOpen:!1})}),null==Xe||Xe(),null===(n=Rn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===zn.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===zn.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=Rn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(Y," — ").concat(ie),ruleTitle:Y,pendingVariants:[$],isPending:Gn.isPending})]}))};export{V 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,useEffect as l,useRef as s}from"react";import{format as c}from"date-fns/format";import{isValid as d}from"date-fns/isValid";import{parseISO as u}from"date-fns/parseISO";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 j from"./InstructionPromptBlock.js";import C from"../styles/VariantCard.module.css.js";import w from"../styles/CustomTooltip.module.css.js";import I from"../components/CustomTooltip.js";import x from"../components/ConfirmationModal.js";import D from"./OverrideTimeline.js";import L from"../store/useAuthStore.js";import{usePermissionsStore as O}from"../store/usePermissionsStore.js";import B from"./PendingApprovalChip.js";import S from"./ApprovalActionButton.js";import k from"./ApprovalLearningDialog.js";import{useApproveOrRejectVariantsMutation as F}from"../queries/useApprovalQueries.js";import E from"../store/useEnvStore.js";import{dt as H}from"../store/useLMSConfigStore.js";import{VARIANT_DT_PATH as _}from"../constants.js";import{useLearningTemplateStore as P}from"../store/useLearningTemplateStore.js";var M=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")},V=function(e){return e?e.properties&&"object"==typeof e.properties?Object.entries(e.properties).reduce(function(e,n){var t,i=n[0],r=n[1];return e[i]="string"==typeof r?r:null!==(t=null==r?void 0:r.value)&&void 0!==t?t:"",e},{}):Object.entries(e).reduce(function(e,n){var t=n[0],i=n[1];return"string"==typeof i&&(e[t]=i),e},{}):{}},R=function(R){var W,z,U,G,q,Z,K,Q,Y,$=R.ruleTitle,J=R.variant,X=R.variantIndex,ee=R.totalVariants,ne=R.ruleId;R.pendingApprovalCount;var te=R.ruleSetId,ie=R.tierName,re=R.displayLabel,oe=R.onEdit,ae=R.onDelete,le=R.onFetchOverrideHistory,se=R.editButtonLabel,ce=void 0===se?H("".concat(_,".actions.edit"),"Edit"):se,de=R.deleteButtonLabel,ue=void 0===de?H("".concat(_,".actions.delete"),"Delete"):de,pe=R.instructionPromptLabel,ve=void 0===pe?H("".concat(_,".instructionPrompt"),"Learning Metadata"):pe,me=R.whenToApplyLabel,he=void 0===me?H("".concat(_,".whenToApply"),"When to Apply"):me,fe=R.whenNotToApplyLabel,ge=void 0===fe?H("".concat(_,".whenNotToApply"),"When Not to Apply"):fe,ye=R.noConditionsText,be=void 0===ye?"No conditions":ye,Te=R.viewOverrideLabel,Ae=void 0===Te?"View Override History":Te,Ne=R.hideOverrideLabel,je=void 0===Ne?"Hide Override History":Ne,Ce=R.enableLearningVariantLabel,we=void 0===Ce?H("".concat(_,".actions.enable"),"Enable"):Ce,Ie=R.disableLearningVariantLabel,xe=void 0===Ie?H("".concat(_,".actions.disable"),"Disable"):Ie,De=R.historyErrorMessage,Le=void 0===De?"Failed to load override history.":De,Oe=R.resolveGapsLabel,Be=void 0===Oe?"This learning has some gaps":Oe,Se=R.showActionsBar,ke=void 0===Se||Se,Fe=R.showDescriptionBox,Ee=void 0===Fe||Fe,He=R.showConditions,_e=void 0===He||He,Pe=R.showInheritance,Me=void 0===Pe||Pe,Ve=R.defaultInstructionPromptOpen,Re=void 0===Ve||Ve,We=R.defaultApplyOpen,ze=void 0===We||We,Ue=R.defaultNotApplyOpen,Ge=void 0===Ue||Ue,qe=R.className,Ze=R.isHighlighted,Ke=void 0!==Ze&&Ze,Qe=R.highlightAction,Ye=R.highlightedTierNames,$e=R.highlightedVariantIds,Je=R.headerContent,Xe=R.footerContent,en=R.onToggleSuccess,nn=R.setDeleteConfirmationUsedFor,tn=R.onCopyToTier,rn=R.onSetInitialDraftMessage,on=L.getState().user,an=P.getState().tiers,ln=a(Re),sn=ln[0],cn=ln[1],dn=a(ze),un=dn[0],pn=dn[1],vn=a(Ge),mn=vn[0],hn=vn[1],fn=a(V(J.learning_metadata)),gn=fn[0],yn=fn[1];l(function(){yn(V(J.learning_metadata))},[J.variantId,J.learning_metadata]);var bn=a(!1),Tn=bn[0],An=bn[1],Nn=a(!1),jn=Nn[0],Cn=Nn[1],wn=a(null),In=wn[0],xn=wn[1],Dn=a(null),Ln=Dn[0],On=Dn[1],Bn=a(!1),Sn=Bn[0],kn=Bn[1],Fn=a(!1),En=Fn[0],Hn=Fn[1],_n=s(null),Pn=!1!==J.is_enabled,Mn=a(!1),Vn=Mn[0],Rn=Mn[1],Wn=s(null),zn=a({isOpen:!1,mode:"approve"}),Un=zn[0],Gn=zn[1],qn=F(),Zn=E(function(e){return e.rbacConfig}),Kn=Zn?{application:Zn.applicationId,scopeLevelModuleId:null!==(W=null==Zn?void 0:Zn.moduleId)&&void 0!==W?W:"",applicationLevelModuleId:null!==(z=null==Zn?void 0:Zn.applicationModuleId)&&void 0!==z?z:"",applicationLevelResourceId:null!==(U=null==Zn?void 0:Zn.applicationResourceId)&&void 0!==U?U:""}:void 0,Qn=O(function(e){return e.hasPermission}),Yn=te,$n=J.inheritance&&J.inheritance.length>1,Jn=Qn("ilotj.rule.variant.edit",Yn)||Qn($n?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",Yn),Xn=Qn("ilotj.rule.variant.enable",Yn)||Qn($n?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",Yn),et=Qn("ilotj.rule.variant.disable",Yn)||Qn($n?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",Yn),nt=Qn("ilotj.rule.variant.delete",Yn),tt=Qn("ilotj.rule.selfApprove",Yn),it=Qn("ilotj.rule.approve",Yn),rt=Qn("ilotj.scope.approve",Yn),ot=Qn("ilotj.rule.pendingApproval.view",Yn),at=Qn("ilotj.rule.variant.pendingApproval.edit",Yn),lt=tt||it||rt||at,st=ot||lt,ct="pending_approval"===(null==J?void 0:J.approvalStatus),dt="rejected"===(null==J?void 0:J.approvalStatus),ut=lt&&ct;l(function(){var e=function(e){_n.current&&!_n.current.contains(e.target)&&kn(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var pt=(null===(G=null==In?void 0:In.wta)||void 0===G?void 0:G.changeLog)||[],vt=(null===(q=null==In?void 0:In.wnta)||void 0===q?void 0:q.changeLog)||[],mt=Ke&&Ye&&ie?Ye.filter(function(e){return e!==ie}):[],ht=mt.length>0&&ie?mt.every(function(e){return e>ie})?"↓":"↑":"↓",ft=function(){if($e)for(var e=Array.from($e),n=0;n<e.length;n++)if(e[n]!==J.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},gt=function(e,n){e.stopPropagation(),Gn({isOpen:!0,mode:n})},yt=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=u(n);return d(t)?c(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},bt=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:M(C.variantCard,Ke&&C.variantHighlight,qe),"data-variant-id":J.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"===J.variantType&&"Default"!==re?"Default | ".concat(re):re})),Ke&&Qe&&r("span",e({className:M(C.actionChip,"new"===Qe?C.actionChipNew:C.actionChipUpdated)},{children:"new"===Qe?"Created":"Updated"})),(null==J?void 0:J.isOverridden)&&r(I,e({content:"Inherited from the ".concat((null===(Z=J.inheritance)||void 0===Z?void 0:Z[(null===(K=J.inheritance)||void 0===K?void 0:K.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"}))})),st&&ct&&r(B,{}),dt&&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"})),!Pn&&r("span",e({className:C.learningDisabledPill},{children:"Disabled"})),Me&&1!==ee&&0!==X&&r("div",e({className:C.inheritanceSection},{children:r(A,{inheritance:J.inheritance||[]})}))]})),ke&&i("div",e({className:C.variantActions},{children:[ut&&i(o,{children:[r(S,{variant:"approve",text:"Approve",onClick:function(e){return gt(e,"approve")}}),r(S,{variant:"reject",text:"Reject",onClick:function(e){return gt(e,"reject")}})]}),oe&&Jn&&r("button",e({className:C.editButton,onClick:function(){null==oe||oe(J,ne,ie,"edit")}},{children:ce})),ae&&nt&&"Default"!==J.variantType&&r("button",e({className:C.deleteButton,onClick:function(){null==nn||nn("variantDeletion"),null==ae||ae(J.variantId,ne)}},{children:ue})),i("div",e({className:C.menuWrapper,ref:_n},{children:[r("button",e({onClick:function(){return kn(!Sn)},className:"".concat(C.menuTrigger," ").concat(Sn?C.menuTriggerActive:"")},{children:r(p,{size:16})})),Sn&&i("div",e({className:C.menuDropdown},{children:[(Pn&&et||!Pn&&Xn)&&i("button",e({onClick:function(){return n(void 0,void 0,void 0,function(){return t(this,function(e){return kn(!1),Rn(!0),[2]})})},disabled:En,className:"".concat(C.menuItem," ").concat(En?C.menuItemDisabled:"")},{children:[r(Pn?v:m,{size:14}),Pn?xe:we]})),ie&&an.length>1&&i("button",e({onClick:function(){var e="Tier 1"===ie?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat($,"\nLearning Description: ").concat(J.description,"\nWhen to apply: ").concat(J.whenToApply,"\nWhen not to apply: ").concat(J.whenNotToApply);null==rn||rn(n),kn(!1),null==tn||tn(J,ne,$||"",ie,e)},className:C.menuItem},{children:[r(h,{size:14}),"Copy to ","Tier 1"===ie?"Tier 2":"Tier 1"]})),le&&(null!==(Y=null===(Q=J.inheritance)||void 0===Q?void 0:Q.length)&&void 0!==Y?Y:0)>1&&i("button",e({onClick:function(){kn(!1),n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:if(Tn)return An(!1),[2];if(An(!0),!le)return[2];Cn(!0),On(null),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,le(ne,J.variantId)];case 2:return e=n.sent(),xn(e),[3,5];case 3:return n.sent(),On(Le),[3,5];case 4:return Cn(!1),[7];case 5:return[2]}})})},className:C.menuItem},{children:[r(f,{size:14}),Tn?je:Ae]}))]}))]}))]}))]})),Je,Ee&&J.description&&i("div",e({className:C.descriptionBox},{children:[r("p",e({className:C.descriptionText},{children:J.description})),Tn&&(jn?r(T,{}):Ln?r("p",e({className:C.errorText},{children:Ln})):(null==In?void 0:In.ruleDescription)?r(D,{changeLog:In.ruleDescription.changeLog}):r("p",e({className:C.noHistoryText},{children:"No override history found"})))]})),_e&&i("div",e({className:C.conditionsContainer},{children:[gn&&Object.keys(gn).length>0&&r(j,{metadata:gn,isOpen:sn,onToggle:function(){return cn(!sn)},labelText:ve}),r(N,{type:"apply",conditions:J.whenToApply||"",isOpen:un,onToggle:function(){return pn(!un)},labelText:he,noConditionsText:be,showOverrideHistory:Tn,isLoadingHistory:jn,historyError:Ln,overrideHistoryData:pt}),r(N,{type:"notApply",conditions:J.whenNotToApply||"",isOpen:mn,onToggle:function(){return hn(!mn)},labelText:ge,noConditionsText:be,showOverrideHistory:Tn,isLoadingHistory:jn,historyError:Ln,overrideHistoryData:vt})]})),Ke&&mt.length>0&&i("div",e({className:C.crossTierBanner},{children:[r(g,{className:C.crossTierBannerIcon}),i("span",e({className:C.crossTierBannerText},{children:["Also created in ",mt.join(", "),"."]})),i("span",e({className:C.crossTierBannerLink,onClick:ft,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&ft()}},{children:["Scroll to view ",ht]}))]})),Xe,(J.createdBy||J.createdAt)&&i("div",e({className:C.variantFooter},{children:[!0===J.is_user_accepted_risk&&i("div",e({className:C.resolveGaps},{children:[r(y,{size:14,color:"#EF4444"}),r("span",e({className:C.resolveGapsText},{children:Be})),Jn&&r("button",e({onClick:function(){null==oe||oe(J,ne,ie,"resolve_gaps")},className:C.resolveButton},{children:"Resolve"}))]})),r("div",e({className:C.variantFooterContent},{children:J.updatedBy||J.updatedAt?i(o,{children:[J.updatedBy&&r(I,e({content:J.createdBy?"Created by ".concat(bt(J.createdBy)):"",contentClassName:w.customTooltip,sideOffset:5,placement:"top"},{children:i("span",e({className:C.variantFooterItem},{children:["Updated by ",bt(J.updatedBy)]}))})),J.updatedBy&&J.updatedAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),J.updatedAt&&r(I,e({content:J.createdAt?"Created at ".concat(yt(J.createdAt)):"",contentClassName:w.customTooltip,sideOffset:5,placement:"top"},{children:r("span",e({className:C.variantFooterItem},{children:yt(J.updatedAt)}))}))]}):i(o,{children:[J.createdBy&&i("span",e({className:C.variantFooterItem},{children:["Created by ",bt(J.createdBy)]})),J.createdBy&&J.createdAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),J.createdAt&&r("span",e({className:C.variantFooterItem},{children:yt(J.createdAt)}))]})}))]})),r(x,{isOpen:Vn,title:Pn?H("".concat(_,".disableDialog.title"),"Disable Learning?"):H("".concat(_,".enableDialog.title"),"Enable Learning?"),description:Pn?H("".concat(_,".disableDialog.desc"),"Are you sure you want to disable learning for this variant in {rule_title}?",{rule_title:null!=$?$:""}):H("".concat(_,".enableDialog.desc"),"Are you sure you want to enable learning for this variant in {rule_title}?",{rule_title:null!=$?$:""}),warning:Pn?H("".concat(_,".disableDialog.warningText"),"This learning will no longer influence upcoming schedules. You can enable it again anytime."):H("".concat(_,".enableDialog.warningText"),"This learning will start influencing upcoming schedules again."),confirmText:Pn?H("".concat(_,".disableDialog.deleteText"),"Disable"):H("".concat(_,".enableDialog.deleteText"),"Enable"),cancelText:H("".concat(_,Pn?".disableDialog.cancelText":".enableDialog.cancelText"),"Cancel"),loadingText:H("".concat(_,Pn?".disableDialog.loadingText":".enableDialog.loadingText"),"Processing..."),confirmBgColor:Pn?"#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:Hn(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),null==on?void 0:on.email,[4,b([J.variantId],!Pn)];case 2:return n.sent(),null==en||en(),[3,5];case 3:return e=n.sent(),console.error("Failed to toggle variant",e),[3,5];case 4:return Hn(!1),kn(!1),Rn(!1),[7];case 5:return[2]}})})},onCancel:function(){return Rn(!1)},isLoading:En,position:"fixed"}),r(k,{open:Un.isOpen,mode:Un.mode,onClose:function(){return Gn(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){te&&qn.mutate({variantIds:[J.variantId],status:"approve"===Un.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:te,appsecData:Kn},{onSuccess:function(){var n;Gn(function(n){return e(e({},n),{isOpen:!1})}),null==en||en(),null===(n=Wn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===Un.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===Un.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=Wn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat($," — ").concat(re),ruleTitle:$,pendingVariants:[J],isPending:qn.isPending})]}))};export{R as default};
2
2
  //# sourceMappingURL=VariantCard.js.map