PageSourceSearch

https://cctvconnect.com/static/js/39.4048e12e.chunk.js

js cctvconnect.com collected 2026-10-02 00:17:44 UTC 59,504 bytes, 2 lines download raw bytes

1(this.webpackJsonpwebapp=this.webpackJsonpwebapp||[]).push([[39],{382:function(e,n,t){"use strict";var r=t(384);t.d(n,"a",(function(){return r.a}))},384:function(e,n,t){"use strict";var r=t(1);n.a=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const[a,c]=Object(r.useState)(null);return Object(r.useEffect)((()=>{let r=!0;return(async()=>{try{const t=await e(...n);r&&c(t)}catch(a){console.error(a),r&&c(t)}})(),()=>r=!1}),[]),[a,c]}},505:function(e,n,t){"use strict";t.d(n,"c",(function(){return a})),t.d(n,"a",(function(){return c})),t.d(n,"f",(function(){return o})),t.d(n,"b",(function(){return l})),t.d(n,"e",(function(){return s})),t.d(n,"d",(function(){return d}));var r=t(10);const a=Object(r.a)((async e=>{let{makePrivateRequest:n,region:t}=e;const{data:r}=await n("ordercam","GET","/scheme",{region:t});return null!==r&&void 0!==r?r:[]})),c=Object(r.a)((async e=>{let{makePrivateRequest:n,region:t}=e;const{data:r}=await n("ordercam","GET","/format",{region:t});return null!==r&&void 0!==r?r:[]})),o=Object(r.a)((async(e,n,t)=>{let{makePrivateRequest:r,region:a}=e;const{data:c}=await r("ordercam","PUT","/format/".concat(encodeURIComponent(n)),{region:a,data:t});return c})),i=async e=>{let{makePrivateRequest:n,region:t}=e;const{data:r}=await n("ordercam","GET","/uid/:uid/scheme",{region:t});return r},l=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Object(r.b)(e)(i)()},s=Object(r.a)((async(e,n)=>
1{let{makePrivateRequest:t,region:r}=e;await t("ordercam","PUT","/uid/:uid/scheme",{region:r,data:{schemeId:n}})})),d=Object(r.a)((async(e,n,t)=>{let{makePrivateRequest:r,region:a}=e;const{data:c}=await r("ordercam","PUT","/scheme/".concat(encodeURIComponent(n)),{region:a,data:{formats:t}});return c}))},540:function(e,n,t){"use strict";t.d(n,"a",(function(){return l})),t.d(n,"b",(function(){return s}));var r,a,c=t(4),o=t(30);const i="orderFormats.byId",l=e=>e?"".concat(i,".").concat(e,".DESCRIPTION"):"",s=(e,n,t)=>n?e((e=>e?"".concat(i,".").concat(e,".NAME"):"")(n),{defaultValue:null!==t&&void 0!==t?t:""}):null!==t&&void 0!==t?t:"";Object.keys(null!==(r=null===c.a||void 0===c.a||null===(a=c.a.orderFormats)||void 0===a?void 0:a.byId)&&void 0!==r?r:{}).sort(o.a)},579:function(e,n,t){"use strict";var r=t(3),a=t(1),c=t(505),o=t(65),i=t(382);const l=()=>Object(c.c)().then((e=>({schemes:e})),(e=>(Object(o.a)(e,{identifier:"OrdercamSchemeManagement - fetch all schemes"}),{schemes:null}))),s=()=>Object(c.a)().then((e=>({formats:e})),(e=>(Object(o.a)(e,{identifier:"OrdercamSchemeManagement - fetch all formats"}),{formats:null})));n.a=()=>{var e,n;const[t,c]=Object(i.a)(l),[o,d]=Object(i.a)(s),p=null!==(e=null===t||void 0===t?void 0:t.schemes)&&void 0!==e?e:null,u=Boolean(t)&&!(null===t||void 0===t?void 0:t.schemes),b=null!==(n=null===o||void 0===o?void 0:o.formats)&&void 0!==n?n:null,x=Object(a.useMemo)((()=>(null!==p&&void 0!==p?p:[]).map((e=>{let{id:n}=e;return n})).sort()),[p]),m=Object(a.useCallback)((e=>{var n,t;return e&&null!==(n=null===p||void 0===p||null===(t=p.find((n=>{let{id:t}=n;return t===e})))||void 0===t?void 0:t.formats)&&void 0!==n?n:[]}),[p]),h=Object(a.useCallback)(((e,n)=>{c((t=>{if(!(null===t||void 0===t?void 0:t.schemes))return t;return{schemes:t.schemes.some((e=>{let{id:t}=e;return t===n}))?t.schemes.map((t=>t.id===n?Object(r.a)(Object(r.a)({},t),{},{formats:e}):t)):[...t.schemes,{id:n,formats:e}]}}))}),[c]),j=Object(a.useCallback)((e=>{d((n=>{var t;const r=null!==(t=null===n||void 0===n?void 0:n.formats)&&void 0!==t?t:[],a=new Map(r.map((e=>[e.id,e])));return e.forEach((e=>a.set(e.id,e))),{formats:Array.from(a.values())}}))}),[d]);return{allSchemes:p,schemesFailed:u,allFormats:b,schemeIds:x,formatsForScheme:m,applyFormatsSaved:h,applyFormatsUpserted:j}}},600:function(e,n,t){"use strict";var r=t(3),a=t(1),c=t(295),o=t(505),i=t(65),l=t(30),s=t(540),d=t(35),p=t(92),u=t(115),b=t(185),x=t(114);const m=e=>e.prefix?"^(?:".concat(e.prefix,")\\s?(").concat(e.body,")$"):"^".concat(e.body,"$"),h=(e,n)=>e.prefix&&n.length>1&&null!=n[1]?n[1]:n[0],j=(e,n)=>{const t=[...e].sort(((e,n)=>e.priority-n.priority)),r=new Set;let a=null;for(const i of t){let e;try{e=new RegExp(m(i))}catch(o){continue}for(const t of n){if(r.has(t))continue;const n=t.text.match(e);if(!n)continue;if(i.exclude){r.add(t),a||(a={format:i,detection:t,rawMatch:n[0]});continue}const o=h(i,n),l=(c=o,"o_to_zero"===i.transform?c.replace(/[Oo]/g,"0"):c);return{match:{format:i,detection:t,rawMatch:n[0],orderId:l,accuracyUnchecked:null!=i.minPrefixAccuracy},ignoredMatch:a}}}var c;return{match:null,ignoredMatch:a}},f=(e,n)=>j(e,n).match,g=e=>e.split(/\r?\n/).map((e=>e.trim())).filter((e=>e.length>0)).map((e=>({text:e}))),O=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),v=e=>"exact"===e.lengthMode?"{".concat(e.lenA,"}"):"atleast"===e.lengthMode?"{".concat(e.lenA,",}"):"{".concat(e.lenA,",").concat(e.lenB,"}"),y=e=>"none"===e.prefixType?"":"hash"===e.prefixType?"#":O(e.prefixWord||""),w=e=>{if("none"===e.prefixType||e.includePrefix)return null;const n=y(e);return n||null},k=e=>{const n=(e=>"digit"===e.valueType?"[0-9]":"alpha"===e.valueType?"[A-Za-z]":"upper"===e.caseMode?"[0-9A-Z]":"lower"===e.caseMode?"[0-9a-z]":"[0-9A-Za-z]")(e);let t;if(e.allowSpacesInside)t=n.replace("]"," ]")+v(e);else if("fixed"===e.groupMode&&"exact"===e.lengthMode&&e.groupSize>0){const r=Math.floor(e.lenA/e.groupSize),a=e.lenA%e.groupSize,c=Array.from({length:r},(()=>"".concat(n,"{").concat(e.groupSize,"}")));a>0&&c.push("".concat(n,"{").concat(a,"}")),t=c.join("[ .-]?")}else t="optional"===e.groupMode?"exact"===e.lengthMode?"".concat(n,"(?:[ .-]?").concat(n,"){").concat(e.lenA-1,"}"):"".concat(n,"(?:[ .-]?").concat(n,"){").concat(e.lenA-1,",").concat(e.lenB-1,"}"):"".concat(n).concat(v(e));let r="";e.requireEach?r="(?=.*[A-Za-z])(?=.*[0-9])":e.mustHaveDigit&&"digit"!==e.valueType&&(r="(?=.*[0-9])");let a=r+(e.literalHead||"")+t;"named"===e.capture?a="(?<order>".concat(a,")"):"plain"===e.capture&&(a="(".concat(a,")"));const c=e.trailingWildcard?"(?: .*)?":"";let o="".concat(a).concat(c);if("none"!==e.prefixType&&e.includePrefix){const n=y(e);n&&(o="(?:".concat(n,")\\s?").concat(o))}return o},M=e=>({prefix:w(e),body:k(e)}),z=(e,n)=>{const t=n.includes("A-Z"),r=n.includes("a-z"),a=n.includes("0-9");a&&t&&r?(e.valueType="alnum",e.caseMode="any"):a&&t?(e.valueType="alnum",e.caseMode="upper"):a&&r?(e.valueType="alnum",e.caseMode="lower"):n.includes("A-Za-z")?(e.valueType="alpha",e.caseMode="any"):(e.valueType="digit",e.caseMode="any")},C=(e,n,t)=>{""===t?(e.lengthMode="atleast",e.lenA=+n):void 0!==t?(e.lengthMode="range",e.lenA=+n,e.lenB=+t):(e.lengthMode="exact",e.lenA=+n)},A=e=>{const n={};let t;if(t=e.match(/^\[0-9 \]\{(\d+)(?:,(\d*))?\}$/))return n.valueType="digit",n.allowSpacesInside=!0,C(n,t[1],t[2]),n;if(t=e.match(/^(\[[^\]]+\])\{(\d+)\}((?:\[ \.-?\]\?\[[^\]]+\]\{\d+\})+)$/)){const e=+t[2],r=Array.from(t[3].matchAll(/\[ \.-?\]\?\[[^\]]+\]\{(\d+)\}/g)).map((e=>+e[1]));if(r.slice(0,-1).every((n=>n===e)))return n.groupMode="fixed",n.groupSize=e,n.lengthMode="exact",n.lenA=e+r.reduce(((e,n)=>e+n),0),z(n,t[1]),n}if(t=e.match(/^(\[[^\]]+\])\(\?:\[ \.-?\]\?(\[[^\]]+\])\)\{(\d+)(?:,(\d+))?\}$/)){n.groupMode="optional";const e=+t[3];return void 0!==t[4]?(n.lengthMode="range",n.lenA=e+1,n.lenB=+t[4]+1):(n.lengthMode="exact",n.lenA=e+1),z(n,t[1]),n}return(t=e.match(/^(\[[^\]]+\])\{(\d+)(?:,(\d*))?\}$/))?(z(n,t[1]),C(n,t[2],t[3]),n):null},S=(e,n)=>{if(e){const{spec:t,parseable:a}=(e=>{if(e.startsWith("#")){const n=e.slice(1);return{spec:{prefixType:"hash",prefixWord:""},parseable:""===n||"\\s?"===n}}const n=e.endsWith("\\s?")?e.slice(0,-3):e,t=n.replace(/\\([.*+?^${}()|[\]\\])/g,"$1");return{spec:{prefixType:"custom",prefixWord:t},parseable:""!==t&&O(t)===n}})(e),{spec:c,parseable:o}=((e,n)=>{const t={};let a,c=e;c.endsWith("(?: .*)?")&&(t.trailingWildcard=!0,c=c.slice(0,-"(?: .*)?".length)),c.startsWith("(?<order>")&&c.endsWith(")")?(t.capture="named",c=c.slice("(?<order>".length,-1)):c.startsWith("(")&&!c.startsWith("(?")&&c.endsWith(")")&&(c=c.slice(1,-1),n||(t.capture="plain")),n&&(t.includePrefix=!1),(a=c.match(/^\(\?=\.\*\[A-Za-z\]\)\(\?=\.\*\[0-9\]\)/))?(t.requireEach=!0,c=c.slice(a[0].length)):(a=c.match(/^\(\?=\.\*\[0-9\]\)/))&&(t.mustHaveDigit=!0,c=c.slice(a[0].length)),(a=c.match(/^([A-Za-z]-\??)/))&&(t.literalHead=a[1],c=c.slice(a[1].length));const o=A(c);return o?{spec:Object(r.a)(Object(r.a)({},t),o),parseable:!0}:{spec:t,parseable:!1}})(n,!0);return{spec:Object(r.a)(Object(r.a)(Object(r.a)({},{prefixType:"none",prefixWord:"",valueType:"digit",caseMode:"any",lengthMode:"exact",lenA:4,lenB:6,groupMode:"none",groupSize:3}),t),c),parseable:a&&o}}return(e=>{const n={prefixType:"none",prefixWord:"",valueType:"digit",caseMode:"any",lengthMode:"exact",lenA:4,lenB:6,groupMode:"none",groupSize:3};let t,a=e;if(a.endsWith("(?: .*)?")&&(n.trailingWildcard=!0,a=a.slice(0,-"(?: .*)?".length)),(t=a.match(/^\(\?=\.\*\[A-Za-z\]\)\(\?=\.\*\[0-9\]\)/))?(n.requireEach=!0,a=a.slice(t[0].length)):(t=a.match(/^\(\?=\.\*\[0-9\]\)/))&&(n.mustHaveDigit=!0,a=a.slice(t[0].length)),a.startsWith("#"))n.prefixType="hash",a=a.slice(1),a.startsWith("\\s?")&&(a=a.slice(3));else if(t=a.match(/^\(\?:((?:\\.|[^()\\])+)\)/)){const e=t[1];if(a=a.slice(t[0].length),"#"===e)n.prefixType="hash";else{const t=e.replace(/\\([.*+?^${}()|[\]\\])/g,"$1");/[A-Za-z]/.test(t)&&(n.prefixType="custom",n.prefixWord=t)}a.startsWith("\\s?")&&(a=a.slice(3))}else if(t=a.match(/^((?:\\[.*+?^${}()|[\]\\]|[^[\](\\])+?)(?=(?:\\s\?)?(?:\(\?<order>)?(?:\()?\[)/),t&&/[A-Za-z]/.test(t[1])){let e=t[1].replace(/\\([.*+?^${}()|[\]\\])/g,"$1");a=a.slice(t[1].length);const r=!a.startsWith("(")&&/^[A-Za-z]-\??$/.test(e)?e.match(/([A-Za-z]-\??)$/):null;r&&(n.literalHead=r[1],e=e.slice(0,-r[1].length)),n.prefixType="custom",n.prefixWord=e,a.startsWith("\\s?")&&(a=a.slice(3))}const c="none"!==n.prefixType;a.startsWith("(?<order>")&&a.endsWith(")")?(n.capture="named",a=a.slice("(?<order>".length,-1)):a.startsWith("(")&&!a.startsWith("(?")&&a.endsWith(")")&&(a=a.slice(1,-1),c||(n.capture="plain")),c&&(n.includePrefix=!0),!n.literalHead&&(t=a.match(/^([A-Za-z]-\?)/))&&(n.literalHead=t[1],a=a.slice(t[1].length));const o=A(a);return o?{spec:Object(r.a)(Object(r.a)({},n),o),parseable:!0}:{spec:n,parseable:!1}})(n)},I=e=>{const n=[];"hash"===e.prefixType?n.push('starts with "#"'):e.prefixWord&&n.push('starts with "'.concat(e.prefixWord,'"')),"none"!==e.prefixType&&n.push("then an optional space");const t="alnum"===e.valueType?"upper"===e.caseMode?"uppercase ":"lower"===e.caseMode?"lowercase ":"":"",r="digit"===e.valueType?"numbers":"alnum"===e.valueType?"".concat(t,"letters or numbers"):"letters",a="exact"===e.lengthMode?"exactly ".concat(e.lenA):"atleast"===e.lengthMode?"at least ".concat(e.lenA):"".concat(e.lenA,"\u2013").concat(e.lenB);n.push("".concat(n.length?"then ":"").concat(a," ").concat(r)),"fixed"===e.groupMode?n.push("in groups of ".concat(e.groupSize)):("optional"===e.groupMode||e.allowSpacesInside)&&n.push("that may include spaces");let c=n.join(", ");return e.requireEach?c+=" (must have a letter and a number)":e.mustHaveDigit&&(c+=" (must contain a number)"),c.charAt(0).toUpperCase()+c.slice(1)},T=e=>{const n="digit"===e.valueType?"123456789":"alpha"===e.valueType?"abcdefgh":"lower"===e.caseMode?"12ab34cd":"12AB34CD";let t="";for(let c=0;c<e.lenA;c++)t+=n[c%n.length];("fixed"===e.groupMode||"optional"===e.groupMode)&&e.groupSize>0&&(t=(t.match(new RegExp(".{1,".concat(e.groupSize,"}"),"g"))||[t]).join(" "));const r="hash"===e.prefixType?"#":e.prefixWord||"",a=r?" ":"";return"".concat(r).concat(a).concat(t)},$=e=>"".concat(e.prefixType,"|").concat(e.prefixWord.toLowerCase()),W=e=>{const n=Array.from(new Set(e.map((e=>
1e.prefixWord)).filter(Boolean))),t=e.map((e=>e.len)),r=Math.min(...t),a=Math.max(...t),c=new Set(e.map((e=>e.type))),o=new Set(e.map((e=>e.caseMode)).filter((e=>"any"!==e))),i=c.has("alnum")||c.has("alpha")&&c.has("digit")?"alnum":c.has("alpha")?"alpha":"digit",l="alnum"===i&&1===o.size?Array.from(o)[0]:"any",s=e.map((e=>e.grouped)),d=s.some(Boolean),p=s.every(Boolean),u=Array.from(new Set(e.filter((e=>e.grouped)).map((e=>e.groupSize)).filter((e=>null!=e)))),b="alnum"===i&&e.every((e=>e.hasAlpha&&e.hasDigit)),x="alnum"===i&&!b&&e.every((e=>e.hasDigit));return{spec:{prefixType:e[0].prefixType,prefixWord:1===n.length?n[0]:"",valueType:i,caseMode:l,lengthMode:r===a?"exact":"range",lenA:r,lenB:a,groupMode:d?p&&r===a&&1===u.length?"fixed":"optional":"none",groupSize:1===u.length?u[0]:u[0]||3,requireEach:b,mustHaveDigit:x},examples:e.map((e=>e.raw))}},F=e=>10*(e+1);var P,E,B,R,N,Z,D,L,_,q,U,H,J,G,V,Y,K,Q,X,ee,ne,te,re,ae,ce,oe,ie,le,se,de,pe,ue,be,xe,me,he,je,fe,ge,Oe,ve,ye,we,ke,Me,ze,Ce,Ae,Se,Ie,Te,$e,We,Fe,Pe,Ee,Be,Re,Ne,Ze,De,Le,_e,qe,Ue,He,Je,Ge,Ve,Ye,Ke,Qe,Xe,en,nn,tn,rn,an,cn,on,ln,sn,dn,pn=t(6),un=t(7),bn=t(5);const xn="#1d3f49",mn="#16323b",hn="#2f5966",jn="#e7f0f2",fn="#8fb0b8",gn="#63868f",On="#4bbfae",vn="#57c98a",yn="#173e38",wn="#e8b830",kn="'SF Mono', 'Roboto Mono', Menlo, Consolas, monospace",Mn=un.c.div(P||(P=Object(pn.a)(["\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) 340px;\n    gap: 24px;\n    align-items: start;\n    margin-top: 20px;\n\n    @media (max-width: 900px) {\n        grid-template-columns: 1fr;\n    }\n"]))),zn=un.c.div(E||(E=Object(pn.a)(["\n    font-size: 12.5px;\n    letter-spacing: 0.4px;\n    text-transform: uppercase;\n    color: ",";\n    margin-bottom: 10px;\n"])),fn),Cn=un.c.ol(B||(B=Object(pn.a)(["\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n"]))),An=un.c.li(R||(R=Object(pn.a)(["\n    display: grid;\n    grid-template-columns: 40px minmax(0, 1fr) auto;\n    gap: 12px;\n    align-items: start;\n    background: ",";\n    border: 1px solid ",";\n    border-radius: 9px;\n    padding: 12px 14px;\n    cursor: ",";\n\n    &:active {\n        cursor: ",";\n    }\n"])),(e=>{let{$winner:n}=e;return n?"#2b5460":xn}),(e=>{let{$winner:n,$dragOver:t}=e;return t||n?On:hn}),(e=>{let{$draggable:n}=e;return n?"grab":"default"}),(e=>{let{$draggable:n}=e;return n?"grabbing":"default"})),Sn=un.c.span(N||(N=Object(pn.a)(["\n    display: inline-block;\n    color: ",";\n    margin-right: 5px;\n    font-size: 13px;\n    cursor: grab;\n"])),gn),In=un.c.div(Z||(Z=Object(pn.a)(["\n    font-family: ",";\n    font-size: 14px;\n    font-weight: 700;\n    text-align: left;\n    white-space: nowrap;\n    color: ",";\n    padding-top: 2px;\n"])),kn,(e=>{let{$winner:n}=e;return n?On:fn})),Tn=un.c.span(D||(D=Object(pn.a)(["\n    font-weight: 300;\n    font-size: 16px;\n    color: ",";\n"])),jn),$n=un.c.span(L||(L=Object(pn.a)(["\n    display: inline-flex;\n    align-items: center;\n    gap: 4px;\n    font-size: 11px;\n    color: ",";\n    background: ",";\n    border-radius: 4px;\n    padding: 2px 7px;\n    text-transform: uppercase;\n    letter-spacing: 0.3px;\n"])),mn,On),Wn=un.c.span(_||(_=Object(pn.a)(["\n    font-size: 16px;\n    color: ",";\n    background: ",";\n    border: 1px solid ",";\n    border-radius: 4px;\n    padding: 1px 6px;\n"])),(e=>{let{$warn:n}=e;return n?mn:Object(bn.s)()}),(e=>{let{$warn:n}=e;return n?wn:On}),hn),Fn=un.c.div(q||(q=Object(pn.a)(["\n    font-family: ",";\n    font-size: 12px;\n    color: ",";\n    margin-top: 4px;\n    word-break: break-all;\n"])),kn,gn),Pn=un.c.div(U||(U=Object(pn.a)(["\n    position: sticky;\n    top: 16px;\n    background: ",";\n    border: 1px solid ",";\n    border-radius: 12px;\n    padding: 18px;\n\n    @media (max-width: 900px) {\n        position: static;\n    }\n"])),xn,hn),En=un.c.div(H||(H=Object(pn.a)(["\n    font-weight: 600;\n    font-size: 15px;\n    color: ",";\n    margin-bottom: 6px;\n"])),jn),Bn=un.c.div(J||(J=Object(pn.a)(["\n    font-size: 12px;\n    color: ",";\n    margin-bottom: 8px;\n"])),fn),Rn=un.c.textarea(G||(G=Object(pn.a)(["\n    width: 100%;\n    box-sizing: border-box;\n    background: ",";\n    color: ",";\n    border: 1px solid ",";\n    border-radius: 6px;\n    padding: 9px 10px;\n    font-family: ",";\n    font-size: 13px;\n    line-height: 1.45;\n    resize: vertical;\n"])),mn,jn,hn,kn),Nn=un.c.div(V||(V=Object(pn.a)(["\n    margin-top: 12px;\n    background: ",";\n    border: 1px solid ",";\n    border-radius: 8px;\n    padding: 12px 14px;\n"])),yn,vn),Zn=un.c.div(Y||(Y=Object(pn.a)(["\n    font-size: 11px;\n    text-transform: uppercase;\n    letter-spacing: 0.4px;\n    color: ",";\n    margin-bottom: 4px;\n"])),vn),Dn=un.c.div(K||(K=Object(pn.a)(["\n    font-family: ",";\n    font-size: 20px;\n    font-weight: 700;\n    color: ",";\n"])),kn,jn),Ln=un.c.div(Q||(Q=Object(pn.a)(["\n    font-size: 12px;\n    color: ",";\n    margin-top: 5px;\n\n    b {\n        color: ",";\n    }\n"])),fn,jn),_n=un.c.div(X||(X=Object(pn.a)(["\n    margin-top: 12px;\n    background: ",";\n    border: 1px solid ",";\n    border-radius: 8px;\n    padding: 12px 14px;\n"])),"#3a2f12",wn),qn=un.c.div(ee||(ee=Object(pn.a)(["\n    font-size: 11px;\n    text-transform: uppercase;\n    letter-spacing: 0.4px;\n    color: ",";\n    margin-bottom: 4px;\n"])),wn),Un=un.c.div(ne||(ne=Object(pn.a)(["\n    margin-top: 12px;\n    background: ",";\n    border: 1px dashed ",";\n    border-radius: 8px;\n    padding: 12px 14px;\n    color: ",";\n    font-size: 13px;\n"])),mn,hn,fn),Hn=un.c.div(te||(te=Object(pn.a)(["\n    font-size: 11.5px;\n    color: ",";\n    margin-top: 8px;\n    line-height: 1.5;\n\n    code {\n        margin: 0 4px;\n    }\n"])),gn),Jn=un.c.div(re||(re=Object(pn.a)(["\n    display: flex;
1\n    align-items: center;\n    gap: 8px;\n    background: ",";\n    border: 1px solid ",";\n    border-radius: 9px;\n    padding: 11px 14px;\n    margin-top: 20px;\n    font-size: 13.5px;\n    font-weight: 300;\n    color: ",";\n\n    svg { flex-shrink: 0; color: ","; }\n    b { font-weight: 600; }\n"])),yn,hn,jn,vn),Gn=un.c.p(ae||(ae=Object(pn.a)(["\n    margin: 8px 0 0;\n    font-weight: 100;\n    color: ",";\n"])),bn.m),Vn=un.c.div(ce||(ce=Object(pn.a)(["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    margin-bottom: 10px;\n"]))),Yn=un.c.div(oe||(oe=Object(pn.a)(["\n    display: flex;\n    gap: 4px;\n    align-items: center;\n"]))),Kn=un.c.label(ie||(ie=Object(pn.a)(["\n    font-size: 11px;\n    color: ",";\n    margin-right: 2px;\n    cursor: pointer;\n"])),fn),Qn="#2e7d55",Xn="#e8f5ee",et=bn.u,nt=un.c.div(le||(le=Object(pn.a)(["\n    display: flex;\n    gap: 4px;\n    border-bottom: 1px solid ",";\n    margin-bottom: 14px;\n"])),bn.h),tt=un.c.button.attrs({type:"button"})(se||(se=Object(pn.a)(["\n    background: none;\n    border: none;\n    border-bottom: 2px solid ",";\n    color: ",";\n    font-weight: ",";\n    font-size: 0.9rem;\n    padding: 8px 14px;\n    cursor: pointer;\n"])),(e=>{let{$active:n}=e;return n?"#2f7d73":"transparent"}),(e=>{let{$active:n}=e;return n?Object(bn.s)():Object(bn.s)(55)}),(e=>{let{$active:n}=e;return n?600:400})),rt=un.c.input(de||(de=Object(pn.a)(["\n    width: 100%;\n    box-sizing: border-box;\n    background: #fff;\n    color: ",";\n    border: 1px solid ",";\n    border-radius: 6px;\n    padding: 9px 10px;\n    font-size: 0.9rem;\n    margin-bottom: 12px;\n"])),Object(bn.s)(),bn.h),at=un.c.div(pe||(pe=Object(pn.a)(["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 10px;\n    padding: 11px 0;\n    border-bottom: 1px solid ",";\n    text-align: left;\n"])),bn.h),ct=un.c.span(ue||(ue=Object(pn.a)(["\n    font-weight: 300;\n    color: ",";\n"])),Object(bn.s)()),ot=un.c.div(be||(be=Object(pn.a)(["\n    font-size: 0.82rem;\n    color: ",";\n    margin-top: 3px;\n"])),Object(bn.s)(65)),it=un.c.span(xe||(xe=Object(pn.a)(["\n    font-size: 0.68rem;\n    text-transform: uppercase;\n    letter-spacing: 0.3px;\n    color: #fff;\n    background: ",";\n    border-radius: 4px;\n    padding: 2px 7px;\n    margin-left: 8px;\n"])),On),lt=un.c.textarea(me||(me=Object(pn.a)(["\n    width: 100%;\n    box-sizing: border-box;\n    background: #fff;\n    color: ",";\n    border: 1px solid ",";\n    border-radius: 6px;\n    padding: 9px 10px;\n    font-family: 'SF Mono', 'Roboto Mono', Menlo, Consolas, monospace;\n    font-size: 0.82rem;\n    line-height: 1.6;\n    resize: vertical;\n    min-height: 130px;\n    margin: 6px 0 12px;\n"])),Object(bn.s)(),bn.h),st=un.c.div(he||(he=Object(pn.a)(["\n    border: 1px solid ",";\n    border-radius: 8px;\n    padding: 12px 14px;\n    margin-bottom: 10px;\n    text-align: left;\n"])),bn.h),dt=un.c.div(je||(je=Object(pn.a)(["\n    font-weight: 300;\n    color: ",";\n"])),Object(bn.s)()),pt=un.c.div(fe||(fe=Object(pn.a)(["\n    font-family: 'SF Mono', 'Roboto Mono', Menlo, Consolas, monospace;\n    font-size: 0.75rem;\n    color: ",";\n    word-break: break-all;\n    margin-top: 4px;\n"])),Object(bn.s)(55)),ut=un.c.span(ge||(ge=Object(pn.a)(["\n    display: inline-block;\n    font-family: 'SF Mono', 'Roboto Mono', Menlo, Consolas, monospace;\n    font-size: 0.72rem;\n    padding: 3px 8px;\n    border-radius: 5px;\n    margin: 0 6px 6px 0;\n    background: ",";\n    color: ",";\n    border: 1px solid ",";\n"])),(e=>{let{$ok:n}=e;return n?Xn:"#fdeaea"}),(e=>{let{$ok:n}=e;return n?Qn:et}),(e=>{let{$ok:n}=e;return n?Qn:et})),bt=un.c.div(Oe||(Oe=Object(pn.a)(["\n    background: ",";\n    border: 1px solid ",";\n    border-radius: 8px;\n    padding: 10px 12px;\n    margin: 8px 0;\n"])),Xn,Qn),xt=un.c.div(ve||(ve=Object(pn.a)(["\n    font-size: 0.8rem;\n    font-weight: 600;\n    color: ",";\n    margin-bottom: 6px;\n"])),Qn),mt=un.c.p(ye||(ye=Object(pn.a)(["\n    margin: 0 0 6px;\n    font-size: 0.8rem;\n    font-weight: 100;\n    color: ",";\n    text-align: left;\n"])),Object(bn.s)(60)),ht=un.c.label(we||(we=Object(pn.a)(["\n    display: block;\n    font-size: 0.7rem;\n    text-transform: uppercase;\n    letter-spacing: 0.3px;\n    // color: ",";\n    margin: 10px 0 4px;\n"])),Object(bn.s)(55)),jt=un.c.input(ke||(ke=Object(pn.a)(["\n    width: 100%;\n    box-sizing: border-box;\n    background: #fff;\n    color: ",";\n    border: 1px solid ",";\n    border-radius: 6px;\n    padding: 8px 10px;\n    font-size: 0.85rem;
1\n"])),Object(bn.s)(),bn.h),ft=un.c.span(Me||(Me=Object(pn.a)(["\n    display: block;\n    font-size: 0.72rem;\n    color: ",";\n    margin-top: 4px;\n"])),bn.u),gt=un.c.div(ze||(ze=Object(pn.a)(["\n    background: #fbf3dd;\n    border: 1px solid #8a6d1a;\n    border-radius: 6px;\n    padding: 10px 12px;\n    margin-bottom: 14px;\n    font-size: 0.82rem;\n    color: ",";\n\n    b { color: #8a6d1a; }\n"])),Object(bn.s)(75)),Ot=un.c.div(Ce||(Ce=Object(pn.a)(["\n    display: flex;\n    flex-direction: column;\n    gap: 16px;\n    text-align: left;\n    margin-bottom: 14px;\n"]))),vt=un.c.div(Ae||(Ae=Object(pn.a)(["\n    display: flex;\n    flex-direction: column;\n    gap: 5px;\n"]))),yt=un.c.div(Se||(Se=Object(pn.a)(["\n    display: flex;\n    border: 1px solid ",";\n    border-radius: 6px;\n    overflow: hidden;\n"])),bn.h),wt=un.c.button.attrs({type:"button"})(Ie||(Ie=Object(pn.a)(["\n    flex: 1;\n    border: none;\n    background: ",";\n    color: ",";\n    font-weight: ",";\n    font-size: 0.8rem;\n    padding: 7px 6px;\n    cursor: pointer;\n"])),(e=>{let{$active:n}=e;return n?"#2f7d73":"#fff"}),(e=>{let{$active:n}=e;return n?"#fff":Object(bn.s)(70)}),(e=>{let{$active:n}=e;return n?600:400})),kt=un.c.input(Te||(Te=Object(pn.a)(["\n    width: 80px;\n    box-sizing: border-box;\n    border: 1px solid ",";\n    border-radius: 6px;\n    padding: 7px 9px;\n    font-size: 0.85rem;\n"])),bn.h),Mt=un.c.input($e||($e=Object(pn.a)(["\n    width: 100%;\n    box-sizing: border-box;\n    border: 1px solid ",";\n    border-radius: 6px;\n    padding: 8px 10px;\n    font-family: 'SF Mono', 'Roboto Mono', Menlo, Consolas, monospace;\n    font-size: 0.8rem;\n"])),bn.h),zt=un.c.select(We||(We=Object(pn.a)(["\n    width: 100%;\n    box-sizing: border-box;\n    border: 1px solid ",";\n    border-radius: 6px;\n    padding: 8px 10px;\n    font-size: 0.85rem;\n    background: #fff;\n    cursor: pointer;\n"])),bn.h),Ct=un.c.div(Fe||(Fe=Object(pn.a)(["\n    font-size: 0.75rem;\n    color: ",";\n    margin-top: 5px;\n    min-height: 2.4em;   /* fits the two-line variant so toggling keep/strip doesn't resize */\n"])),Object(bn.s)(55)),At=un.c.button.attrs({type:"button"})(Pe||(Pe=Object(pn.a)(["\n    background: transparent;\n    border: 1px solid #2f5966;\n    color: #8fb0b8;\n    border-radius: 6px;\n    padding: 6px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    line-height: 0;\n\n    &:hover {\n        color: #e7f0f2;\n        border-color: #4bbfae;\n    }\n\n    &:disabled {\n        opacity: 0.35;\n        cursor: default;\n    }\n"]))),St=un.c.div(Ee||(Ee=Object(pn.a)(["\n    display: grid;\n    grid-template-columns: 1fr 300px;\n    gap: 0;\n    text-align: left;\n    width: 650px;\n    max-width: 100%;\n    /* Fixed px cap works even though the Modal doesn't bound its body.\n       ~440px leaves room for the modal heading + the shared-rule banner +\n       the footer buttons within a typical viewport. Tune to taste. */\n    height:  min(640px, 70vh);\n    min-height: 0;\n\n    @media (max-width: 600px) {\n        grid-template-columns: 1fr;\n        height: auto;   /* fall back to page scroll on narrow screens */\n        \n    }\n"]))),It=un.c.div(Be||(Be=Object(pn.a)(["\n    padding-right: 20px;\n    overflow-y: auto;\n    min-height: 0;\n    height: 100%;\n    scrollbar-gutter: stable;\n\n"]))),Tt=un.c.div(Re||(Re=Object(pn.a)(["\n    background: #f7f9f9;\n    border-left: 1px solid ",";\n    padding: 4px 0 4px 20px;\n    overflow-y: auto;\n    min-height: 0;\n    height: 100%;\n\n    @media (max-width: 720px) {\n        border-left: none;\n        border-top: 1px solid ",";\n        padding: 16px 0 0;\n        margin-top: 8px;\n        height: auto;\n    }\n"])),bn.h,bn.h),$t=un.c.div(Ne||(Ne=Object(pn.a)(["\n    height: 1px;\n    background: ",";\n    margin: 14px 0 16px;\n"])),bn.h),Wt=un.c.div(Ze||(Ze=Object(pn.a)(["\n    font-size: 0.68rem;\n    text-transform: uppercase;\n    letter-spacing: 0.4px;\n    color: ",";\n    margin-bottom: 6px;\n"])),Object(bn.s)(55)),Ft=un.c.div(De||(De=Object(pn.a)(["\n    background: #fff;\n    border: 1px solid ",";\n    border-radius: 8px;\n    padding: 12px 14px;\n    margin-bottom: 14px;\n    font-size: 0.82rem;\n    color: ",";\n    line-height: 1.5;\n"])),bn.h,Object(bn.s)()),Pt=un.c.div(Le||(Le=Object(pn.a)(["\n    font-family: 'SF Mono', 'Roboto Mono', Menlo, Consolas, monospace;\n    font-size: 1rem;\n    font-weight: 700;\n    color: #2f7d73;\n    margin-bottom: 6px;\n"]))),Et=un.c.div(_e||(_e=Object(pn.a)(["\n    font-size: 0.78rem;\n    color: ",";\n    margin-bottom: 14px;\n\n    span {\n        font-family: 'SF Mono', 'Roboto Mono', Menlo, Consolas, monospace;\n        color: #2e7d55;\n        font-weight: 700;\n    }\n"])),Object(bn.s)(65)),Bt=un.c.div(qe||(qe=Object(pn.a)(["\n    display: flex;\n    justify-content: space-between;
1\n    align-items: center;\n    margin-bottom: 5px;\n"]))),Rt=un.c.div(Ue||(Ue=Object(pn.a)(["\n    font-family: 'SF Mono', 'Roboto Mono', Menlo, Consolas, monospace;\n    font-size: 0.75rem;\n    color: ",";\n    background: #fff;\n    border: 1px solid ",";\n    border-radius: 8px;\n    padding: 10px 12px;\n    word-break: break-all;\n"])),(e=>{let{$bad:n}=e;return n?bn.u:Object(bn.s)(65)}),(e=>{let{$bad:n}=e;return n?bn.u:bn.h})),Nt=un.c.div(He||(He=Object(pn.a)(["\n    font-size: 0.68rem;\n    color: ",";\n    margin: 16px 0 5px;\n"])),Object(bn.s)(55)),Zt=un.c.span(Je||(Je=Object(pn.a)(["\n    font-size: 0.82rem;\n    color: ",";\n"])),Object(bn.s)(55)),Dt=un.c.div(Ge||(Ge=Object(pn.a)(["\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-top: 10px;\n"]))),Lt=un.c.div(Ve||(Ve=Object(pn.a)(["\n    font-size: 12px;\n    color: #8fb0b8;\n    margin-top: 4px;\n"]))),_t=un.c.span(Ye||(Ye=Object(pn.a)(["\n    color: #57c98a;\n"]))),qt=un.c.div(Ke||(Ke=Object(pn.a)(["\n    font-size: 0.68rem;\n    color: ",";\n    margin-bottom: 6px;\n"])),Object(bn.s)(55)),Ut=un.c.span(Qe||(Qe=Object(pn.a)(["\n    font-size: 0.68rem;\n    text-transform: uppercase;\n    letter-spacing: 0.4px;\n    color: ",";\n"])),Object(bn.s)(55)),Ht=un.c.input(Xe||(Xe=Object(pn.a)(["\n    width: 100%;\n    box-sizing: border-box;\n    font-family: 'SF Mono', 'Roboto Mono', Menlo, Consolas, monospace;\n    font-size: 0.75rem;\n    border: 1px solid ",";\n    border-radius: 8px;\n    padding: 8px 10px;\n"])),bn.h),Jt=un.c.h1(en||(en=Object(pn.a)(["\n    margin: 0 0 20px;\n    font-size: 23px;\n    font-weight: 600;\n    color: #e7f0f2;\n"]))),Gt=un.c.div(nn||(nn=Object(pn.a)(["\n    max-width: 420px;\n    margin-bottom: 26px;\n"]))),Vt=un.c.input(tn||(tn=Object(pn.a)(["\n    width: 100%;\n    box-sizing: border-box;\n    background: #16323b;\n    color: #e7f0f2;\n    border: 1px solid #2f5966;\n    border-radius: 6px;\n    padding: 9px 10px;\n    font-size: 14px;\n"]))),Yt=un.c.div(rn||(rn=Object(pn.a)(["\n    font-size: 11.5px;\n    color: #63868f;\n    margin-top: 5px;\n"]))),Kt=un.c.div(an||(an=Object(pn.a)(["\n    font-size: 11.5px;\n    color: #e07070;\n    margin-top: 5px;\n"]))),Qt=un.c.div(cn||(cn=Object(pn.a)(["\n    display: flex;\n    justify-content: flex-end;\n    gap: 10px;\n    margin-top: 28px;\n    padding-top: 18px;\n    border-top: 1px solid #2f5966;\n"]))),Xt=un.c.div(on||(on=Object(pn.a)(["\n    background: #1d3f49;\n    border: 1px dashed #2f5966;\n    border-radius: 10px;\n    padding: 34px 20px;\n    text-align: center;\n    color: #8fb0b8;\n"]))),er=un.c.div(ln||(ln=Object(pn.a)(["\n    color: #4bbfae;\n    font-size: 22px;\n    margin-bottom: 8px;\n"]))),nr=un.c.div(sn||(sn=Object(pn.a)(["\n    font-size: 14px;\n    margin-bottom: 4px;\n    color: #e7f0f2;\n"])));un.c.div(dn||(dn=Object(pn.a)(["\n    font-size: 12.5px;\n    color: #63868f;\n    margin-bottom: 14px;\n"])));var tr=t(2);const rr=[{value:"",label:"None",hint:"Store the matched value exactly as read."},{value:"o_to_zero",label:"Fix \u201cO\u201d read as zero (O \u2192 0)",hint:"Rewrites the letter O to 0 \u2014 an OCR fix for zeros misread as O."}],ar=e=>{var n,t,r;return null!==(n=null!==(t=null===(r=rr.find((n=>n.value===(null!==e&&void 0!==e?e:""))))||void 0===r?void 0:r.label)&&void 0!==t?t:e)&&void 0!==n?n:"None"},cr=e=>e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/(^_|_$)/g,""),or=(e,n)=>{if(""===e)return"";if(!n.has(e))return e;let t=2;for(;n.has("".concat(e,"_").concat(t));)t++;return"".concat(e,"_").concat(t)};let ir=0;const lr=()=>Object(tr.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Object(tr.jsx)("path",{d:"M12 20h9"}),Object(tr.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),sr=()=>Object(tr.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:[Object(tr.jsx)("circle",{cx:"9",cy:"6",r:"1.5"}),Object(tr.jsx)("circle",{cx:"15",cy:"6",r:"1.5"}),Object(tr.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),Object(tr.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),Object(tr.jsx)("circle",{cx:"9",cy:"18",r:"1.5"}),Object(tr.jsx)("circle",{cx:"15",cy:"18",r:"1.5"})]}),dr=()=>Object(tr.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:Object(tr.jsx)("path",{d:"m18 15-6-6-6 6"})}),pr=()=>Object(tr.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:Object(tr.jsx)("path",{d:"m6 9 6 6 6-6"})}),ur=e=>{var n,t;return{key:ir++,formatId:e.formatId,isNew:!1,name:null!==(n=e.name)&&void 0!==n?n:"",body:e.body,originalBody:e.body,prefix:e.prefix,minPrefixAccuracy:e.minPrefixAccuracy,transform:e.transform,anchor:e.anchor,exclude:null!==(t=e.exclude)&&void 0!==t&&t}},br=e=>{var n;return{key:ir++,formatId:e.id,isNew:!1,name:null!==(n=e.name)&&void 0!==n?n:"",body:e.body,originalBody:e.body,prefix:e.prefix,minPrefixAccuracy:e.minPrefixAccuracy,transform:e.transform,anchor:e.anchor,exclude:!1}},xr=function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const{prefix:r,body:a}=M(e);return{key:ir++,formatId:"",isNew:!0,name:"",body:a,originalBody:null,prefix:r,minPrefixAccuracy:null,transform:t,anchor:null,spec:e,examples:n,exclude:!1}};n.a=e=>{var n,t,h;let{schemeId:O,formats:v,uidCount:y,allSchemes:w,allFormats:k,onSaved:z,onFormatsUpserted:C,mode:A="view",onCancelCreate:P}=e;const{t:E}=Object(c.a)(),B="create"===A,[R,N]=Object(a.useState)(B),[Z,D]=Object(a.useState)(""),L=Object(a.useMemo)((()=>Z.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/(^_|_$)/g,"")),[Z]),[_,q]=Object(a.useState)([]),[U,H]=Object(a.useState)(""),[J,G]=Object(a.useState)("find"),[V,Y]=Object(a.useState)(""),[K,Q]=Object(a.useState)(""),[X,ee]=Object(a.useState)(!1),[ne,te]=Object(a.useState)(!1),[re,ae]=Object(a.useState)(null),[ce,oe,ie]=Object(x.a)(),[le,se,de]=Object(x.a)(),[pe,ue,be]=Object(x.a)(),[xe,me]=Object(a.useState)(null),[he,je]=Object(a.useState)(null),[fe,ge]=Object(a.useState)(""),[Oe,ve]=Object(a.useState)(""),[ye,we]=Object(a.useState)(!0),[ke,Me]=Object(a.useState)(""),[ze,Ce]=Object(a.useState)(null),[Ae,Se]=Object(a.useState)(""),Ie=Object(a.useMemo)((()=>[...v].sort(((e,n)=>e.priority-n.priority))),[v]),Te=Object(a.useMemo)((()=>_.map(((e,n)=>((e,n)=>({formatId:e.formatId||"__new_".concat(e.key),priority:n,name:e.name||null,prefix:e.prefix,body:e.body,minPrefixAccuracy:e.minPrefixAccuracy,transform:e.transform,anchor:e.anchor,exclude:e.exclude}))(e,F(n))))),[_]),$e=R?Te:Ie,We=Object(a.useMemo)((()=>{const e=g(U);return 0===e.length?{match:null,ignoredMatch:null}:j($e,e)}),[$e,U]),Fe=We.match,Pe=We.ignoredMatch,Ee=g(U).length>0,Be=null!==(n=null===Fe||void 0===Fe?void 0:Fe.format.formatId)&&void 0!==n?n:null,Re=Object(a.useCallback)((e=>Fe&&Fe.format.formatId===e?Fe.orderId:null),[Fe]),Ne=Object(a.useCallback)((e=>(null!==w&&void 0!==w?w:[]).filter((n=>n.formats.some((n=>n.formatId===e)))).map((e=>{let{id:n}=e;return n})).sort(l.a)),[w]),Ze=Object(a.useCallback)((()=>{q(Ie.map(ur)),G("find"),Y(""),Q(""),ee(!1),ae(null),N(!0)}),[Ie]),De=Object(a.useCallback)((()=>{N(!1),q([])}),[]),Le=Object(a.useMemo)((()=>new Set(_.map((e=>
1e.formatId)).filter(Boolean))),[_]),_e=Object(a.useCallback)((e=>{q((n=>n.some((n=>n.formatId===e.id))?n:[...n,br(e)]))}),[]),qe=Object(a.useCallback)((function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;q((r=>[...r,xr(e,n,t)]))}),[]),Ue=Object(a.useCallback)((e=>{q((n=>n.filter((n=>n.key!==e))))}),[]),He=Object(a.useRef)(null),[Je,Ge]=Object(a.useState)(null),Ve=Object(a.useCallback)((e=>{const n=He.current;Ge(null),He.current=null,null!=n&&n!==e&&q((t=>{const r=[...t],[a]=r.splice(n,1);return r.splice(e,0,a),r}))}),[]),Ye=Object(a.useCallback)(((e,n)=>{q((t=>{const r=e+n;if(r<0||r>=t.length)return t;const a=[...t],[c]=a.splice(e,1);return a.splice(r,0,c),a}))}),[]),Ke=Object(a.useCallback)(((e,n)=>{q((t=>t.map((t=>t.key===e?Object(r.a)(Object(r.a)({},t),n):t))))}),[]),Qe=Object(a.useCallback)((e=>{var n,t;const{spec:r,parseable:a}=S(e.prefix,e.body);me(e.key),Ce(null),je(r),ge(null!==(n=e.prefix)&&void 0!==n?n:""),ve(e.body),we(a),Se(null!==(t=e.transform)&&void 0!==t?t:""),se()}),[se]),Xe=Object(a.useCallback)(((e,n)=>{const{prefix:t,body:r}=M(e);me(null),Ce(n),je(e),ge(null!==t&&void 0!==t?t:""),ve(r),we(!0),Se(""),se()}),[se]),en=Object(a.useCallback)((e=>{ye&&je((n=>{if(!n)return n;const t=Object(r.a)(Object(r.a)({},n),e);"range"===t.lengthMode&&(void 0!==e.lenA&&t.lenB<t.lenA?t.lenB=t.lenA:void 0!==e.lenB&&t.lenB<t.lenA?t.lenA=t.lenB:t.lenB<t.lenA&&(t.lenB=t.lenA));const{prefix:a,body:c}=M(t);return ge(null!==a&&void 0!==a?a:""),ve(c),we(!0),t}))}),[ye]),nn=Object(a.useCallback)((()=>{const e=""===Ae?null:Ae;null!=ze&&he?qe(Object(r.a)({},he),ze,e):null!=xe&&Ke(xe,{prefix:fe||null,body:Oe,transform:e}),de(),me(null),je(null),Ce(null)}),[ze,he,xe,fe,Oe,Ae,qe,Ke,de]),tn=Object(a.useMemo)((()=>(e=>{const n=e.split(/\r?\n/).map((e=>e.trim())).filter(Boolean);if(!n.length)return[];const t=n.map((e=>{const n=(e=>{let n;return(n=(e=e.trim()).match(/^#(\s*)(.+)$/))?{prefixType:"hash",prefixWord:"",raw:e,value:n[2].trim()}:(n=e.match(/^([A-Za-z](?:[A-Za-z ]*[A-Za-z])?)([^A-Za-z0-9 ]+)?(\s*)(.+)$/))&&/[0-9]/.test(n[4])?{prefixType:"custom",prefixWord:(n[1].trimEnd()+(null!==(t=n[2])&&void 0!==t?t:"")).trim(),raw:e,value:n[4].trim()}:{prefixType:"none",prefixWord:"",raw:e,value:e};var t})(e);return Object(r.a)(Object(r.a)({},n),(e=>{const n=e.replace(/[\s.]/g,""),t=n.replace(/[^0-9A-Za-z]/g,""),r=/[0-9]/.test(t),a=/[A-Z]/.test(t),c=/[a-z]/.test(t),o=a||c,i=/[\s.-]/.test(e.trim()),l=(i?e.trim().split(/[\s.-]+/):[n]).map((e=>e.replace(/[^0-9A-Za-z]/g,"").length)),s=l.every((e=>e===l[0])),d=o&&r?"alnum":o?"alpha":"digit",p=a&&c?"any":a?"upper":c?"lower":"any";return{len:t.length,type:d,caseMode:p,grouped:i,groupSize:s?l[0]:null,hasDigit:r,hasAlpha:o}})(n.value))})),a={};return t.forEach((e=>{(a[$(e)]=a[$(e)]||[]).push(e)})),Object.values(a).map(W)})(K)),[K]),rn=Object(a.useCallback)((e=>(null!==k&&void 0!==k?k:[]).filter((n=>{try{const t=new RegExp(m(n));return e.every((e=>t.test(e)))}catch(t){return!1}}))),[k]),an=Object(a.useMemo)((()=>{const e=new Map;return(n,t)=>{const r="".concat(null!==n&&void 0!==n?n:"","|").concat(t);let a=e.get(r);if(void 0===a){const{spec:c,parseable:o}=S(n,t);a=o?I(c):"Custom pattern",e.set(r,a)}return a}}),[]),cn=Object(a.useMemo)((()=>{const e=new Map;for(const n of null!==k&&void 0!==k?k:[]){const t=an(n.prefix,n.body),r=Object(s.b)(E,n.id,n.name)||"";e.set(n.id,{description:t,haystack:"".concat(r," ").concat(n.id," ").concat(n.body," ").concat("Custom pattern"===t?"":t).toLowerCase()})}return e}),[k,E,an]),on=Object(a.useMemo)((()=>{const e=V.trim().toLowerCase(),n=(null!==k&&void 0!==k?k:[]).slice().sort(((e,n)=>Object(l.a)(Object(s.b)(E,e.id,e.name)||e.id,Object(s.b)(E,n.id,n.name)||n.id)));return e?n.filter((n=>e.split(/\s+/).every((e=>{var t,r;return(null!==(t=null===(r=cn.get(n.id))||void 0===r?void 0:r.haystack)&&void 0!==t?t:"").includes(e)})))):n}),[k,V,E,cn]),ln=Object(a.useMemo)((()=>new Set((null!==k&&void 0!==k?k:[]).map((e=>{let{id:n}=e;return n})))),[k]),sn=Object(a.useMemo)((()=>new Map((null!==k&&void 0!==k?k:[]).map((e=>[e.id,e.body])))),[k]),dn=Object(a.useMemo)((()=>new Map((null!==k&&void 0!==k?k:[]).map((e=>[e.id,e.prefix])))),[k]),pn=Object(a.useMemo)((()=>new Map((null!==k&&void 0!==k?k:[]).map((e=>[e.id,e.transform])))),[k]),un=Object(a.useCallback)((e=>{if(!e.isNew)return;const n=e.name.trim();if(""===n)return"Enter a name for this rule.";const t=cr(n);if(""===t)return"Name must contain a letter or number.";return _.some((n=>
1n.key!==e.key&&n.isNew&&cr(n.name)===t))?"Another new rule here has the same name.":void 0}),[_]),bn=Object(a.useMemo)((()=>new Set((null!==w&&void 0!==w?w:[]).map((e=>{let{id:n}=e;return n})))),[w]),xn=Object(a.useMemo)((()=>{if(B)return""===Z.trim()?"Enter a scheme name.":""===L?"Name must contain a letter or number.":bn.has(L)?'A scheme with id "'.concat(L,'" already exists.'):void 0}),[B,Z,L,bn]),mn=_.length>0&&!_.some((e=>un(e)))&&!xn,hn=Object(a.useCallback)((async()=>{if(ee(!0),mn){te(!0),ae(null);try{var e;const a=[],c=new Set(ln);_.forEach((e=>{!e.isNew&&e.formatId&&c.add(e.formatId)}));const i=new Map;for(const e of _){if(!e.isNew){i.set(e.key,e.formatId.trim());continue}const n=or(cr(e.name),c);c.add(n),i.set(e.key,n)}const l=e=>{var n;return null!==(n=i.get(e.key))&&void 0!==n?n:e.formatId.trim()};for(const e of _){var n,t;const c=l(e);if(e.isNew){const n={name:""===e.name.trim()?null:e.name.trim(),prefix:e.prefix,body:e.body,minPrefixAccuracy:null,transform:e.transform,anchor:null},t=await Object(o.f)(c,n);a.push(null!==t&&void 0!==t?t:Object(r.a)({id:c},n));continue}const i=sn.get(c),s=null!==(n=dn.get(c))&&void 0!==n?n:null,d=null!==(t=pn.get(c))&&void 0!==t?t:null,p=void 0!==i&&e.body!==i,u=e.prefix!==s,b=e.transform!==d;if(p||u||b){const n={name:""===e.name.trim()?null:e.name.trim(),prefix:e.prefix,body:e.body,minPrefixAccuracy:e.minPrefixAccuracy,transform:e.transform,anchor:e.anchor},t=await Object(o.f)(c,n);a.push(null!==t&&void 0!==t?t:Object(r.a)({id:c},n))}}const s=_.map(((e,n)=>({formatId:l(e),priority:F(n),exclude:e.exclude}))),d=B?L:O,p=await Object(o.d)(d,s);a.length>0&&C(a);const u=_.map(((e,n)=>({formatId:l(e),priority:F(n),name:""===e.name.trim()?null:e.name.trim(),prefix:e.prefix,body:e.body,minPrefixAccuracy:e.isNew?null:e.minPrefixAccuracy,transform:e.transform,anchor:e.isNew?null:e.anchor,exclude:e.exclude})));z(null!==(e=null===p||void 0===p?void 0:p.formats)&&void 0!==e?e:u,d),N(!1),q([])}catch(a){Object(i.a)((e=>e instanceof Error?e:new Error(String(e)))(a),{identifier:"OrdercamSchemeRules - save",schemeId:O}),ae("Could not save. Please try again.")}finally{te(!1)}}}),[mn,_,O,B,L,sn,dn,pn,ln,C,z]),jn=Object(a.useCallback)((()=>{ee(!0),mn&&(!B&&(null!==y&&void 0!==y?y:0)>1?ue():hn())}),[mn,B,y,ue,hn]),fn=(e,n,t)=>{var r,a;const c=e.formatId===Be,o=(null===t||void 0===t?void 0:t.isNew)?t.name.trim()||"New rule \u2014 name it below":Object(s.b)(E,e.formatId,e.name)||e.formatId,i=t&&!t.isNew?Ne(e.formatId).filter((e=>e!==O)):[];return Object(tr.jsxs)(An,{$winner:c,$draggable:!!t,$dragOver:!!t&&Je===n,draggable:!!t,onDragStart:t?()=>{He.current=n}:void 0,onDragOver:t?e=>{e.preventDefault(),Ge(n)}:void 0,onDrop:t?()=>Ve(n):void 0,onDragEnd:t?()=>{Ge(null),He.current=null}:void 0,children:[Object(tr.jsxs)(In,{$winner:c,children:[t&&Object(tr.jsx)(Sn,{children:Object(tr.jsx)(sr,{})}),F(n)]}),Object(tr.jsxs)("div",{style:{minWidth:0},children:[Object(tr.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[Object(tr.jsx)(Tn,{children:o}),c&&Object(tr.jsx)($n,{children:"\u2713 wins test"}),i.length>0&&Object(tr.jsxs)(Wn,{children:["shared \xb7 ",i.length+1," schemes"]}),t&&!t.isNew&&void 0!==sn.get(e.formatId)&&(t.body!==sn.get(e.formatId)||t.prefix!==(null!==(r=dn.get(e.formatId))&&void 0!==r?r:null))&&Object(tr.jsx)(Wn,{children:"edited"}),e.transform&&Object(tr.jsx)(Wn,{children:ar(e.transform)}),null!=e.minPrefixAccuracy&&Object(tr.jsxs)(Wn,{children:["min prefix acc: ",e.minPrefixAccuracy]}),null!=e.anchor&&Object(tr.jsxs)(Wn,{children:["anchor: ",e.anchor]}),e.exclude&&Object(tr.jsx)(Wn,{$warn:!0,children:"ignored"})]}),Object(tr.jsx)(Lt,{children:an(e.prefix,e.body)}),Object(tr.jsxs)(Fn,{children:[m(e),t&&Re(e.formatId)&&Object(tr.jsxs)(_t,{children:[" \xb7 matched \u201c",Re(e.formatId),"\u201d"]})]}),(null===t||void 0===t?void 0:t.isNew)&&Object(tr.jsxs)(tr.Fragment,{children:[Object(tr.jsx)("div",{style:{marginTop:6},children:(null!==(a=t.examples)&&void 0!==a?a:[]).map(((n,t)=>{let r=!1;try{r=new RegExp(m(e)).test(n)}catch(a){r=!1}return Object(tr.jsxs)(ut,{$ok:r,children:[r?"\u2713":"\u2717"," ",n]},"".concat(n,"-").concat(t))}))}),Object(tr.jsx)(ht,{children:"Rule name"}),Object(tr.jsx)(jt,{value:t.name,placeholder:"e.g. Just Eat (9 digits) ",onChange:e=>Ke(t.key,{name:e.target.value})}),X&&un(t)&&Object(tr.jsx)(ft,{children:un(t)})]})]}
1),t&&Object(tr.jsxs)(Yn,{children:[Object(tr.jsx)(Kn,{htmlFor:"ordercam-rule-ignore-".concat(t.key),children:"Ignore"}),Object(tr.jsx)(b.a,{id:"ordercam-rule-ignore-".concat(t.key),variant:"switch",value:t.exclude,onChange:e=>Ke(t.key,{exclude:e.target.checked})}),Object(tr.jsx)(At,{"aria-label":"Move rule ".concat(n+1," up"),title:"Move up (higher priority)",disabled:0===n,onClick:()=>Ye(n,-1),children:Object(tr.jsx)(dr,{})}),Object(tr.jsx)(At,{"aria-label":"Move rule ".concat(n+1," down"),title:"Move down (lower priority)",disabled:n===_.length-1,onClick:()=>Ye(n,1),children:Object(tr.jsx)(pr,{})}),Object(tr.jsx)(At,{"aria-label":"Edit rule ".concat(n+1," pattern"),title:"Edit rule",onClick:()=>Qe(t),children:Object(tr.jsx)(lr,{})}),Object(tr.jsx)(At,{"aria-label":"Remove rule ".concat(n+1),title:"Remove from scheme",onClick:()=>Ue(t.key),children:Object(tr.jsx)(p.b,{variant:"delete",height:15,accessibilityDescription:"Remove rule ".concat(n+1)})})]})]},t?t.key:e.formatId)};return Object(tr.jsxs)(tr.Fragment,{children:[B&&Object(tr.jsxs)(tr.Fragment,{children:[Object(tr.jsx)(Jt,{children:"New scheme"}),Object(tr.jsxs)(Gt,{children:[Object(tr.jsx)(zn,{as:"label",htmlFor:"ordercam-new-scheme-name",children:"Scheme name"}),Object(tr.jsx)(Vt,{id:"ordercam-new-scheme-name",value:Z,placeholder:"e.g. savour",onChange:e=>D(e.target.value)}),X&&xn?Object(tr.jsx)(Kt,{children:xn}):Object(tr.jsx)(Yt,{children:L?"id: ".concat(L):"Lowercase id generated from the name"})]})]}),!B&&R&&(null!==y&&void 0!==y?y:0)>1&&Object(tr.jsxs)(Jn,{children:[Object(tr.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[Object(tr.jsx)("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),Object(tr.jsx)("circle",{cx:"9",cy:"7",r:"4"}),Object(tr.jsx)("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),Object(tr.jsx)("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),Object(tr.jsxs)("span",{children:["This scheme is live for ",Object(tr.jsxs)("b",{children:[y," ",1===y?"customer":"customers"]}),". Changes to its formats or order take effect for all of them."]})]}),R&&!B&&Object(tr.jsx)(u.c,Object(r.a)(Object(r.a)({heading:"Apply changes?",buttons:[{text:"Cancel",variant:"outline",onClick:be,disabled:ne},{text:"Apply changes",asyncAction:async e=>{await hn(),e(),be()}}]},pe),{},{children:Object(tr.jsxs)("div",{style:{fontWeight:100},children:["This scheme is live for ",Object(tr.jsxs)("b",{children:[y," ",1===y?"customer":"customers"]}),". Saving updates the formats and their order for all of them right away."]})})),Object(tr.jsxs)(Mn,{children:[Object(tr.jsxs)("div",{children:[Object(tr.jsxs)(Vn,{children:[Object(tr.jsx)(zn,{children:B?"Formats \u2014 drag to set priority":Object(tr.jsxs)(tr.Fragment,{children:['Rules for "',O,'" \u2014 ',"matched top to bottom, first match wins"]})}),R?Object(tr.jsx)(d.a,{variant:"primary",onClick:()=>{G("find"),Y(""),Q(""),oe()},children:"Add formats"}):Object(tr.jsx)(d.a,{variant:"primary",onClick:Ze,children:"Edit"})]}),Object(tr.jsx)(Cn,{children:R?_.map(((e,n)=>fn(Te[n],n,e))):Ie.map(((e,n)=>fn(e,n)))}),R&&0===_.length&&Object(tr.jsxs)(Xt,{children:[Object(tr.jsx)(er,{children:"\u2726"}),Object(tr.jsx)(nr,{children:"No formats yet."})]}),R&&X&&0===_.length&&Object(tr.jsx)(Gn,{children:"A scheme needs at least one rule."}),R&&Object(tr.jsxs)(u.c,Object(r.a)(Object(r.a)({heading:"Add format",wide:!0,buttons:[{text:"Done",onClick:ie}]},ce),{},{children:[Object(tr.jsxs)(nt,{children:[Object(tr.jsx)(tt,{$active:"find"===J,onClick:()=>G("find"),children:"Find existing"}),Object(tr.jsx)(tt,{$active:"examples"===J,onClick:()=>G("examples"),children:"From examples"})]}),"find"===J?Object(tr.jsxs)(tr.Fragment,{children:[Object(tr.jsx)(rt,{placeholder:"Search rules by name or example \u2014 e.g. \u201cjust eat\u201d, \u201chash\u201d",value:V,onChange:e=>Y(e.target.value),"aria-label":"Search formats"}),0===on.length?Object(tr.jsxs)(mt,{children:["No rules match \u201c",V,"\u201d. Use \u201cFrom examples\u201d to create one."]}):on.map((e=>{var n,t;const r=Le.has(e.id),a=Ne(e.id);return Object(tr.jsxs)(at,{children:[Object(tr.jsxs)("div",{style:{minWidth:0},children:[Object(tr.jsx)(ct,{children:Object(s.b)(E,e.id,e.name)||e.id}),a.length>1&&Object(tr.jsxs)(it,{children:["shared \xb7 ",a.length," schemes"]}),Object(tr.jsx)(ot,{children:null!==(n=null===(t=cn.get(e.id))||void 0===t?void 0:t.description)&&void 0!==n?n:"Custom pattern"})]}),Object(tr.jsx)(d.a,{variant:r?"outline":"secondary",disabled:r,onClick:()=>_e(e),children:r?"Added":"Add"})]},e.id)}))]}):Object(tr.jsxs)(tr.Fragment,{children:[Object(tr.jsx)(mt,{children:"Paste real order numbers, one per line. Different styles split into separate rules."}),Object(tr.jsx)(lt,{value:K,onChange:e=>Q(e.target.value),placeholder:"#123 456 789\n123456789\nJustEat 123456789","aria-label":"Example order numbers"}),tn.map((e=>{const{prefix:n,body:t}=M(e.spec),r=m({prefix:n,body:t}),a=rn(e.examples);let c=null;try{c=new RegExp(r)}catch(o){c=null}return Object(tr.jsxs)(st,{children:[Object(tr.jsx)(dt,{children:I(e.spec)}),Object(tr.jsx)("div",{style:{margin:"6px 0"},children:e.examples.map(((e,n)=>{const t=!!c&&c.test(e);return Object(tr.jsxs)(ut,{$ok:t,children:[t?"\u2713":"\u2717"," ",e]},"".concat(e,"-").concat(n))}))}),Object(tr.jsx)(pt,{children:r}),a.length>0&&Object(tr.jsxs)(bt,{children:[Object(tr.jsx)(xt,{children:1===a.length?"An existing rule already accepts these":"".concat(a.length," existing rules already accept these")}),a.map((e=>{var n,t;return Object(tr.jsxs)(at,{style:{borderBottom:"none"},children:[Object(tr.jsxs)("div",{style:{minWidth:0},children:[Object(tr.jsx)(ct,{children:Object(s.b)(E,e.id,e.name)||e.id}),Object(tr.jsx)(ot,{children:null!==(n=null===(t=cn.get(e.id))||void 0===t?void 0:t.description)&&void 0!==n?n:"Custom pattern"})]}),Object(tr.jsx)(d.a,{variant:"secondary",disabled:Le.has(e.id),onClick:()=>_e(e),children:Le.has(e.id)?"Added":"Reuse"})]},e.id)}))]}),Object(tr.jsxs)("div",{style:{display:"flex",gap:8,marginTop:4},children:[Object(tr.jsx)(d.a,{variant:a.length>0?"outline":"secondary",onClick:()=>qe(e.spec,e.examples),children:a.length>0?"Create new rule anyway":"Add to scheme"}),Object(tr.jsx)(d.a,{variant:"outline",onClick:()=>Xe(e.spec,e.examples),children:"Adjust"})]})]},"".concat(null!==n&&void 0!==n?n:"","|").concat(t))}))]})]})),R&&he&&Object(tr.jsxs)(u.c,Object(r.a)(Object(r.a)({heading:"Edit rule pattern",buttons:[{text:"Cancel",variant:"outline",onClick:de},{text:"Apply",onClick:nn}]},le),{},{children:[(()=>{const e=_.find((e=>e.key===xe)),n=e?Ne(e.formatId).filter((e=>e!==O)):[];return 0===n.length?null:Object(tr.jsxs)(gt,{children:[Object(tr.jsx)("b",{children:"Shared rule."})," This pattern is also used by ",n.length," other scheme",1===n.length?"":"s"," (",n.join(", "),"). Changing it here changes it for all of them when you save."]})})(),Object(tr.jsxs)(St,{children:[Object(tr.jsx)(It,{children:Object(tr.jsx)("fieldset",{disabled:!ye,style:{border:0,margin:0,padding:0,minWidth:0},children:Object(tr.jsxs)(Ot,{children:[Object(tr.jsxs)(vt,{children:[Object(tr.jsx)(ht,{children:'Leading text (e.g. "Order:" or "#")'}),Object(tr.jsx)(Mt,{value:"hash"===he.prefixType?"#":he.prefixWord,placeholder:"Order:",onChange:e=>{const n=e.target.value;en(""===n?{prefixType:"none",prefixWord:""}:{prefixType:"custom",prefixWord:n})}})]}),Object(tr.jsxs)(vt,{children:[Object(tr.jsx)(ht,{children:"Include leading text in result"}),Object(tr.jsx)(yt,{children:["no","yes"].map((e=>Object(tr.jsx)(wt,{$active:Boolean(he.includePrefix)===("yes"===e),onClick:()=>en({includePrefix:"yes"===e}),children:"no"===e?"No":"Yes"},e)))})]}),Object(tr.jsx)($t,{}),Object(tr.jsxs)(vt,{children:[Object(tr.jsx)(ht,{children:"Value type"}),Object(tr.jsx)(yt,{children:["digit","alnum","alpha"].map((e=>Object(tr.jsx)(wt,{$active:he.valueType===e,onClick:()=>en({valueType:e}),children:"digit"===e?"Numbers":"alnum"===e?"Letters + numbers":"Letters"},e)))})]}),"alnum"===he.valueType&&Object(tr.jsxs)(vt,{children:[Object(tr.jsx)(ht,{children:"Letter case"}),Object(tr.jsx)(yt,{children:["any","upper","lower"].map((e=>Object(tr.jsx)(wt,{$active:he.caseMode===e,onClick:()=>en({caseMode:e}),children:"any"===e?"Any":"upper"===e?"UPPER":"lower"},e)))})]}),Object(tr.jsxs)(vt,{children:[Object(tr.jsx)(ht,{children:"Length"}),Object(tr.jsx)(yt,{children:["exact","range","atleast"].map((e=>Object(tr.jsx)(wt,{$active:he.lengthMode===e,onClick:()=>en({lengthMode:e}),children:"exact"===e?"Exact":"range"===e?"Range":"At least"},e)))}),Object(tr.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:10},children:[Object(tr.jsx)(kt,{type:"number",min:1,max:30,value:he.lenA,onChange:e=>en({lenA:Math.min(30,Math.max(1,Number(e.target.value)||1))})}),"range"===he.lengthMode&&Object(tr.jsxs)(tr.Fragment,{children:[Object(tr.jsx)(Zt,{children:"to"}),Object(tr.jsx)(kt,{type:"number",min:1,max:30,value:he.lenB,onChange:e=>en({lenB:Math.min(30,Math.max(1,Number(e.target.value)||1))})})]}),Object(tr.jsx)(Zt,{children:"characters"})]})]}),Object(tr.jsxs)(vt,{children:[Object(tr.jsx)(ht,{children:"Spaces inside the number"}),Object(tr.jsx)(yt,{children:["none","optional","fixed","loose"].map((e=>{const n="loose"===e?Boolean(he.allowSpacesInside):!he.allowSpacesInside&&he.groupMode===e;return Object(tr.jsx)(wt,{$active:n,onClick:()=>en("loose"===e?{allowSpacesInside:!0,groupMode:"none"}:{allowSpacesInside:!1,groupMode:e}),children:"none"===e?"None":"optional"===e?"Optional":"fixed"===e?"Fixed groups":"Anywhere"},e)}))}),!he.allowSpacesInside&&"fixed"===he.groupMode&&Object(tr.jsxs)(Dt,{children:[Object(tr.jsx)(Zt,{children:"groups of"}),Object(tr.jsx)(kt,{type:"number",min:1,max:9,value:he.groupSize,onChange:e=>en({groupSize:Math.min(9,Math.max(1,Number(e.target.value)||1))})})]})]}),"alnum"===he.valueType&&Object(tr.jsxs)(vt,{children:[Object(tr.jsx)(ht,{children:"Content rule"}),Object(tr.jsx)(yt,{children:["none","digit","each"].map((e=>{const n="each"===e?Boolean(he.requireEach):"digit"===e?Boolean(he.mustHaveDigit)&&!he.requireEach:!he.requireEach&&!he.mustHaveDigit;return Object(tr.jsx)(wt,{$active:n,onClick:()=>en({requireEach:"each"===e,mustHaveDigit:"digit"===e}),children:"none"===e?"None":"digit"===e?"\u22651 number":"Letter & number"},e)}))})]}),Object(tr.jsx)($t,{}),Object(tr.jsxs)(vt,{children:[Object(tr.jsx)(ht,{children:"Transform extracted value"}),Object(tr.jsx)(zt,{value:Ae,"aria-label":"Transform extracted value",onCh
1ange:e=>Se(e.target.value),children:rr.map((e=>Object(tr.jsx)("option",{value:e.value,children:e.label},e.value||"none")))}),Object(tr.jsx)(Ct,{children:null!==(t=null===(h=rr.find((e=>e.value===Ae)))||void 0===h?void 0:h.hint)&&void 0!==t?t:""})]})]})})}),Object(tr.jsxs)(Tt,{children:[Object(tr.jsx)(Wt,{children:"In plain English"}),Object(tr.jsx)(Ft,{children:ye?I(he):"Custom pattern"}),Object(tr.jsx)(qt,{children:"Example"}),Object(tr.jsx)(Pt,{children:T(he)}),(()=>{try{const e=T(he),n=f([{formatId:"__preview",priority:10,name:null,prefix:fe||null,body:Oe,minPrefixAccuracy:null,transform:""===Ae?null:Ae,anchor:null,exclude:!1}],[{text:e}]);if(n)return Object(tr.jsxs)(Et,{children:["extracts \u2192 ",Object(tr.jsx)("span",{children:n.orderId})]})}catch(e){}return Object(tr.jsx)("div",{style:{marginBottom:14}})})(),Object(tr.jsx)(Bt,{children:Object(tr.jsx)(Ut,{children:"Prefix (stored value)"})}),Object(tr.jsx)(Rt,{children:fe||"(none)"}),Object(tr.jsx)(Bt,{style:{marginTop:10},children:Object(tr.jsx)(Ut,{children:"Body (stored value)"})}),Object(tr.jsx)(Rt,{children:Oe}),!ye&&Object(tr.jsx)(Ct,{style:{color:"#8a6d1a"},children:"\u26a0 This is a custom pattern the builder controls can't represent. It's kept exactly as stored; the controls above are disabled so they can't overwrite it."}),Object(tr.jsx)(Nt,{children:"Try your own text"}),Object(tr.jsx)(Ht,{value:ke,placeholder:"Paste a line\u2026",onChange:e=>Me(e.target.value)}),ke&&(()=>{let e=null;try{e=f([{formatId:"__preview",priority:10,name:null,prefix:fe||null,body:Oe,minPrefixAccuracy:null,transform:""===Ae?null:Ae,anchor:null,exclude:!1}],g(ke))}catch(n){}return Object(tr.jsx)(Ct,{style:{color:e?"#2e7d55":"#c0392b"},children:e?"\u2713 extracts \u201c".concat(e.orderId,"\u201d").concat(e.rawMatch!==e.orderId?" (matched \u201c".concat(e.rawMatch,"\u201d)"):""):"\u2717 no match"})})()]})]})]})),re&&Object(tr.jsx)(Gn,{children:re})]}),Object(tr.jsxs)(Pn,{children:[Object(tr.jsx)(En,{children:"Test bench"}),Object(tr.jsxs)(Bn,{children:["Paste receipt text \u2014 one detection per line \u2014 to see what this scheme",R?" (with your unsaved edits)":""," would extract. First match wins."]}),Object(tr.jsx)(Rn,{rows:5,value:U,onChange:e=>H(e.target.value),placeholder:"#123 456 789\nThanks for ordering","aria-label":"Test bench input"}),Ee&&(Fe?Object(tr.jsxs)(Nn,{children:[Object(tr.jsx)(Zn,{children:"Extracted order number"}),Object(tr.jsx)(Dn,{children:Fe.orderId}),Object(tr.jsxs)(Ln,{children:["via ",Object(tr.jsx)("b",{children:Object(s.b)(E,Fe.format.formatId,Fe.format.name)||Fe.format.formatId}),Fe.rawMatch!==Fe.orderId&&Object(tr.jsxs)(tr.Fragment,{children:[" \u2014 matched \u201c",Fe.rawMatch,"\u201d"]})]}),Fe.accuracyUnchecked&&Object(tr.jsxs)(Hn,{children:["This rule also has a minimum prefix OCR accuracy (",Fe.format.minPrefixAccuracy,"). The bench can't check confidence from text alone, so on a real alert it might not match."]})]}):Pe?Object(tr.jsxs)(_n,{children:[Object(tr.jsx)(qn,{children:"Matched an ignored rule \u2014 nothing extracted"}),Object(tr.jsxs)(Ln,{children:["\u201c",Pe.rawMatch,"\u201d matched"," ",Object(tr.jsx)("b",{children:Object(s.b)(E,Pe.format.formatId,Pe.format.name)||Pe.format.formatId}),", which is marked Ignore, so it was discarded."]})]}):Object(tr.jsx)(Un,{children:"No rule in this scheme matched."}))]})]}),(B||R)&&Object(tr.jsxs)(Qt,{children:[Object(tr.jsx)(d.a,{variant:"secondary-grey",onClick:B?P:De,disabled:ne,children:"Cancel"}),Object(tr.jsx)(d.a,{variant:"primary",onClick:jn,loading:ne,disabled:ne,children:B?"Create scheme":"Save"})]})]})}},729:function(e,n,t){"use strict";t.r(n);var r=t(1),a=t(5),c=t(34),o=t(75),i=t(19),l=t(35),s=t(39),d=t(600),p=t(579),u=t(2);n.default=()=>{const{allSchemes:e,schemesFailed:n,allFormats:t,schemeIds:b,formatsForScheme:x,applyFormatsSaved:m,applyFormatsUpserted:h}=Object(p.a)(),[j,f]=Object(r.useState)(!1),[g,O]=Object(r.useState)(""),v=Object(r.useMemo)((()=>{var e;return g&&b.includes(g)?g:null!==(e=b[0])&&void 0!==e?e:""}),[g,b]),y=Object(r.useMemo)((()=>v?x(v):[]),[v,x]),w=Object(r.useMemo)((()=>{var n;return null===e||void 0===e||null===(n=e.find((e=>{let{id:n}=e;return n===v})))||void 0===n?void 0:n.uidCount}),[e,v]),k=Object(r.useCallback)((e=>{O(e.target.value)}),[]),M=Object(r.useCallback)(((e,n)=>{m(e,n),O(n)}),[m]);return e||n?Object(u.jsxs)(u.Fragment,{children:[Object(u.jsxs)(i.c,{alignItems:"center",gap:10,style:{marginTop:20},children:[Object(u.jsx)(c.a,{style:{margin:0},children:"Scheme:"}),Object(u.jsx)(o.a,{name:"ordercamPreviewSchemeId","aria-label":"Scheme to view",value:v,onCh
1ange:k,options:[...b.length?[]:[{value:"",text:"   -    "}],...b],disabled:j||!e,descriptionId:void 0}),!j&&Object(u.jsx)(l.a,{variant:"primary",onClick:()=>f(!0),children:"+ New scheme"})]}),n&&Object(u.jsx)(c.a,{style:{color:a.m},children:"Could not load the schemes. Please reload the page to try again."}),j?Object(u.jsx)(d.a,{mode:"create",schemeId:"",formats:[],allSchemes:e,allFormats:t,onSaved:(e,n)=>{f(!1),M(e,n)},onFormatsUpserted:h,onCancelCreate:()=>f(!1)},"create"):v&&Object(u.jsx)(d.a,{schemeId:v,formats:y,uidCount:w,allSchemes:e,allFormats:t,onSaved:M,onFormatsUpserted:h},v)]}):Object(u.jsx)(s.a,{})}}}]);
2//# sourceMappingURL=39.4048e12e.chunk.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.