@l10nmonster/server 3.0.0-alpha.1 → 3.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/.releaserc.json +31 -0
  2. package/CHANGELOG.md +6 -0
  3. package/CLAUDE.md +740 -0
  4. package/README.md +90 -23
  5. package/index.js +111 -33
  6. package/package.json +38 -10
  7. package/routes/dispatcher.js +77 -0
  8. package/routes/info.js +24 -0
  9. package/routes/providers.js +19 -0
  10. package/routes/sources.js +14 -0
  11. package/routes/status.js +30 -0
  12. package/routes/tm.js +71 -0
  13. package/ui/dist/assets/Cart-jHOAGjwC.js +1 -0
  14. package/ui/dist/assets/Job-vnJpBXcp.js +1 -0
  15. package/ui/dist/assets/Providers-DUp_y6mi.js +1 -0
  16. package/ui/dist/assets/Sources-CC5dBiir.js +1 -0
  17. package/ui/dist/assets/Status-SRPm28Cg.js +1 -0
  18. package/ui/dist/assets/StatusDetail-DqXzi16U.js +1 -0
  19. package/ui/dist/assets/TM-CUqywRKC.js +1 -0
  20. package/ui/dist/assets/TMDetail-Bl4xHL_X.js +1 -0
  21. package/ui/dist/assets/Welcome-D33rOKBc.js +1 -0
  22. package/ui/dist/assets/api-CQ_emPlI.js +1 -0
  23. package/ui/dist/assets/badge-D0XxOmqE.js +1 -0
  24. package/ui/dist/assets/grid-c9ySqPWI.js +1 -0
  25. package/ui/dist/assets/index-BHll-Wur.js +1 -0
  26. package/ui/dist/assets/index-CE6JgXwC.js +76 -0
  27. package/ui/dist/assets/input-C_b-hL0i.js +1 -0
  28. package/ui/dist/assets/link-BJrTt4Ej.js +1 -0
  29. package/ui/dist/assets/namespace-DqVzlNZ0.js +1 -0
  30. package/ui/dist/assets/select-B7OxVhQ5.js +1 -0
  31. package/ui/dist/assets/tooltip-DsbPmc5I.js +1 -0
  32. package/ui/dist/assets/use-field-context-DPgnX2eS.js +1 -0
  33. package/ui/dist/assets/use-presence-context-w7qGDwCc.js +1 -0
  34. package/ui/dist/assets/useQuery-DJATtsyt.js +1 -0
  35. package/ui/dist/assets/v-stack-BLV93Nj6.js +1 -0
  36. package/ui/dist/favicon.ico +0 -0
  37. package/ui/dist/index.html +1 -1
  38. package/ui/dist/logo.svg +123 -0
  39. package/ui/dist/manifest.json +3 -8
  40. package/mockData.js +0 -67
  41. package/ui/dist/assets/index-DexglpRr.js +0 -253
  42. package/ui/dist/logo192.png +0 -0
  43. package/ui/dist/logo512.png +0 -0
@@ -0,0 +1 @@
1
+ import{r as l,m as x,j as c,l as M,n as $,o as q,p as F,E as D,b as m,d as T,g as Y}from"./index-CE6JgXwC.js";import{c as z}from"./api-CQ_emPlI.js";import{c as j,a as C,e as g,u as B,b as U,d as W,n as _}from"./index-BHll-Wur.js";import{u as P}from"./use-field-context-DPgnX2eS.js";import{u as J}from"./use-presence-context-w7qGDwCc.js";const[w,f]=j({name:"CheckboxContext",hookName:"useCheckboxContext",providerName:"<CheckboxProvider />"}),I=l.forwardRef((r,o)=>{const e=f(),t=x(e.getControlProps(),r);return c.jsx(C.div,{...t,ref:o})});I.displayName="CheckboxControl";function K(r){const{value:o,onChange:e,defaultValue:t}=r,[n,a]=l.useState(t),s=o!==void 0,i=s?o:n,u=l.useCallback(h=>(s||a(h),e?.(h)),[s,e]);return[i,u]}function Q(r={}){const{defaultValue:o,value:e,onValueChange:t,disabled:n,readOnly:a,name:s,invalid:i}=r,u=!(n||a),h=J(t,{sync:!0}),[k,b]=K({value:e,defaultValue:o||[],onChange:h}),p=d=>k.some(v=>String(v)===String(d)),y=d=>{p(d)?H(d):R(d)},R=d=>{u&&(p(d)||b(k.concat(d)))},H=d=>{u&&b(k.filter(v=>String(v)!==String(d)))};return{isChecked:p,value:k,name:s,disabled:!!n,readOnly:!!a,invalid:!!i,setValue:b,addValue:R,toggleValue:y,getItemProps:d=>({checked:d.value!=null?p(d.value):void 0,onCheckedChange(){d.value!=null&&y(d.value)},name:s,disabled:n,readOnly:a,invalid:i})}}const[X,Z]=j({name:"CheckboxGroupContext",hookName:"useCheckboxGroupContext",providerName:"<CheckboxGroupProvider />",strict:!1}),V=l.forwardRef((r,o)=>{const[e,t]=g()(r,["defaultValue","value","onValueChange","disabled","invalid","readOnly","name"]),n=Q(e);return c.jsx(X,{value:n,children:c.jsx(C.div,{ref:o,role:"group",...t,...M.build().group.attrs})})});V.displayName="CheckboxGroup";const N=l.forwardRef((r,o)=>{const e=f(),t=x(e.getHiddenInputProps(),r),n=P();return c.jsx(C.input,{"aria-describedby":n?.ariaDescribedby,...t,ref:o})});N.displayName="CheckboxHiddenInput";const S=l.forwardRef((r,o)=>{const e=f(),t=x(e.getLabelProps(),r);return c.jsx(C.span,{...t,ref:o})});S.displayName="CheckboxLabel";const ee=(r={})=>{const o=Z(),e=P(),t=l.useMemo(()=>x(r,o?.getItemProps({value:r.value})??{}),[r,o]),n=l.useId(),{getRootNode:a}=B(),{dir:s}=U(),i={id:n,ids:{label:e?.ids.label,hiddenInput:e?.ids.control},dir:s,disabled:e?.disabled,readOnly:e?.readOnly,invalid:e?.invalid,required:e?.required,getRootNode:a,...t},u=W(q,i);return $(u,_)},G=l.forwardRef((r,o)=>{const[e,t]=g()(r,["checked","defaultChecked","disabled","form","id","ids","invalid","name","onCheckedChange","readOnly","required","value"]),n=ee(e),a=x(n.getRootProps(),t);return c.jsx(w,{value:n,children:c.jsx(C.label,{...a,ref:o})})});G.displayName="CheckboxRoot";const A=l.forwardRef((r,o)=>{const[{value:e},t]=g()(r,["value"]),n=x(e.getRootProps(),t);return c.jsx(w,{value:e,children:c.jsx(C.label,{...n,ref:o})})});A.displayName="CheckboxRootProvider";const E=l.forwardRef((r,o)=>{const e=P(),t=x(e?.getInputProps(),r);return c.jsx(C.input,{...t,ref:o})});E.displayName="FieldInput";const oe=l.forwardRef(function(o,e){const t=F({key:"checkmark",recipe:o.recipe}),[n,a]=t.splitVariantProps(o),{checked:s,indeterminate:i,disabled:u,unstyled:h,children:k,...b}=a,p=h?D:t(n);return c.jsx(m.svg,{ref:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3px",strokeLinecap:"round",strokeLinejoin:"round","data-state":i?"indeterminate":s?"checked":"unchecked","data-disabled":T(u),css:[p,o.css],...b,children:i?c.jsx("path",{d:"M5 12h14"}):s?c.jsx("polyline",{points:"20 6 9 17 4 12"}):null})}),{withProvider:L,withContext:O,useStyles:te}=z({key:"checkbox"});L(A,"root",{forwardAsChild:!0});const ue=L(G,"root",{forwardAsChild:!0});O(S,"label",{forwardAsChild:!0});const re=l.forwardRef(function(o,e){const{checked:t,indeterminate:n,...a}=o,s=f(),i=te();return t&&s.checked?c.jsx(m.svg,{ref:e,asChild:!0,...a,css:[i.indicator,o.css],children:t}):n&&s.indeterminate?c.jsx(m.svg,{ref:e,asChild:!0,...a,css:[i.indicator,o.css],children:n}):c.jsx(oe,{ref:e,checked:s.checked,indeterminate:s.indeterminate,disabled:s.disabled,unstyled:!0,...a,css:[i.indicator,o.css]})}),he=O(I,"control",{forwardAsChild:!0,defaultProps:{children:c.jsx(re,{})}});m(V,{base:{display:"flex",flexDirection:"column",gap:"1.5"}},{forwardAsChild:!0});const xe=N,{withContext:ne}=Y({key:"input"}),Ce=ne(E);export{ue as C,Ce as I,xe as a,he as b};
@@ -0,0 +1 @@
1
+ import{g as t}from"./index-CE6JgXwC.js";const{withContext:e}=t({key:"link"}),n=e("a");export{n as L};
@@ -0,0 +1 @@
1
+ import{r as n,Y as A,j as e,b as x}from"./index-CE6JgXwC.js";import{c as f,I as c,W as i,d as v}from"./api-CQ_emPlI.js";const[m,C]=A({name:"AlertStatusContext",hookName:"useAlertStatusContext",providerName:"<Alert />"}),{withProvider:I,withContext:r,useStyles:P,PropsProvider:S}=f({key:"alert"}),h=I("div","root",{forwardAsChild:!0,wrapElement(o,t){return e.jsx(m,{value:{status:t.status||"info"},children:o})}}),j=S,y=r("div","title"),g=r("div","description"),w=r("div","content"),R={info:c,warning:i,success:v,error:i,neutral:c},b=n.forwardRef(function(t,a){const s=C(),l=P(),d=typeof s.status=="string"?R[s.status]:n.Fragment,{children:u=e.jsx(d,{}),...p}=t;return e.jsx(x.span,{ref:a,...p,css:[l.indicator,t.css],children:u})}),E=Object.freeze(Object.defineProperty({__proto__:null,Content:w,Description:g,Indicator:b,Root:h,RootPropsProvider:j,Title:y},Symbol.toStringTag,{value:"Module"}));export{E as A};
@@ -0,0 +1 @@
1
+ import{r as c,m as l,j as n,K as F,M as q}from"./index-CE6JgXwC.js";import{c as E,C as z,a as D,b as H}from"./api-CQ_emPlI.js";import{c as P,a,f as M,e as S,b as K,u as W,d as _,n as B}from"./index-BHll-Wur.js";import{a as f,s as g,b as x,P as h}from"./use-presence-context-w7qGDwCc.js";import{u as J}from"./use-field-context-DPgnX2eS.js";const[I,m]=P({name:"SelectContext",hookName:"useSelectContext",providerName:"<SelectProvider />"}),C=c.forwardRef((o,r)=>{const e=m(),t=l(e.getClearTriggerProps(),o);return n.jsx(a.button,{...t,ref:r})});C.displayName="SelectClearTrigger";const v=c.forwardRef((o,r)=>{const e=m(),t=f(),s=l(e.getContentProps(),t.getPresenceProps(),o);return t.unmounted?null:n.jsx(a.div,{...s,ref:M(t.ref,r)})});v.displayName="SelectContent";const w=c.forwardRef((o,r)=>{const e=m(),t=l(e.getControlProps(),o);return n.jsx(a.div,{...t,ref:r})});w.displayName="SelectControl";const j=c.forwardRef((o,r)=>{const e=m(),t=l(e.getIndicatorProps(),o);return n.jsx(a.div,{...t,ref:r})});j.displayName="SelectIndicator";const[Q,ie]=P({name:"SelectItemContext",hookName:"useSelectItemContext",providerName:"<SelectItemProvider />"}),[U,R]=P({name:"SelectItemPropsContext",hookName:"useSelectItemPropsContext",providerName:"<SelectItemPropsProvider />"}),b=c.forwardRef((o,r)=>{const[e,t]=S()(o,["item","persistFocus"]),s=m(),d=l(s.getItemProps(e),t),p=s.getItemState(e);return n.jsx(U,{value:e,children:n.jsx(Q,{value:p,children:n.jsx(a.div,{...d,ref:r})})})});b.displayName="SelectItem";const[X,Y]=P({name:"SelectItemGroupPropsContext",hookName:"useSelectItemGroupPropsContext",providerName:"<SelectItemGroupPropsProvider />"}),N=c.forwardRef((o,r)=>{const e=c.useId(),[t,s]=S()(o,["id"]),d={id:e,...t},p=m(),u=l(p.getItemGroupProps(d),s);return n.jsx(X,{value:d,children:n.jsx(a.div,{...u,ref:r})})});N.displayName="SelectItemGroup";const T=c.forwardRef((o,r)=>{const e=m(),t=Y(),s=l(e.getItemGroupLabelProps({htmlFor:t.id}),o);return n.jsx(a.div,{...s,ref:r})});T.displayName="SelectItemGroupLabel";const y=c.forwardRef((o,r)=>{const e=m(),t=R(),s=l(e.getItemIndicatorProps(t),o);return n.jsx(a.div,{...s,ref:r})});y.displayName="SelectItemIndicator";const G=c.forwardRef((o,r)=>{const e=m(),t=R(),s=l(e.getItemTextProps(t),o);return n.jsx(a.span,{...s,ref:r})});G.displayName="SelectItemText";const A=c.forwardRef((o,r)=>{const e=m(),t=l(e.getLabelProps(),o);return n.jsx(a.label,{...t,ref:r})});A.displayName="SelectLabel";const O=c.forwardRef((o,r)=>{const e=m(),t=l(e.getPositionerProps(),o);return f().unmounted?null:n.jsx(a.div,{...t,ref:r})});O.displayName="SelectPositioner";const Z=o=>{const r=c.useId(),{dir:e}=K(),{getRootNode:t}=W(),s=J(),d={id:r,ids:{label:s?.ids.label,hiddenSelect:s?.ids.control},disabled:s?.disabled,readOnly:s?.readOnly,invalid:s?.invalid,required:s?.required,dir:e,getRootNode:t,...o},p=_(F,d);return q(p,B)},ee=(o,r)=>{const[e,t]=g(o),[s,d]=S()(t,["closeOnSelect","collection","composite","defaultHighlightedValue","defaultOpen","defaultValue","deselectable","disabled","form","highlightedValue","id","ids","invalid","loopFocus","multiple","name","onFocusOutside","onHighlightChange","onInteractOutside","onOpenChange","onPointerDownOutside","onSelect","onValueChange","open","positioning","readOnly","required","scrollToIndexFn","value"]),p=Z(s),u=x(l({present:p.open},e)),V=l(p.getRootProps(),d);return n.jsx(I,{value:p,children:n.jsx(h,{value:u,children:n.jsx(a.div,{...V,ref:r})})})},te=c.forwardRef(ee),oe=(o,r)=>{const[e,t]=g(o),[{value:s},d]=S()(t,["value"]),p=x(l({present:s.open},e)),u=l(s.getRootProps(),d);return n.jsx(I,{value:s,children:n.jsx(h,{value:p,children:n.jsx(a.div,{...u,ref:r})})})},re=c.forwardRef(oe),$=c.forwardRef((o,r)=>{const e=m(),t=l(e.getTriggerProps(),o);return n.jsx(a.button,{...t,ref:r})});$.displayName="SelectTrigger";const L=c.forwardRef((o,r)=>{const{children:e,placeholder:t,...s}=o,d=m(),p=l(d.getValueTextProps(),s);return n.jsx(a.span,{...p,ref:r,children:e||d.valueAsString||t})});L.displayName="SelectValueText";const{withProvider:k,withContext:i}=E({key:"select"});k(re,"root",{forwardAsChild:!0});const de=k(te,"root",{forwardAsChild:!0,defaultProps:{positioning:{sameWidth:!0}}}),pe=i($,"trigger",{forwardAsChild:!0}),me=i(O,"positioner",{forwardAsChild:!0}),ue=i(v,"content",{forwardAsChild:!0});i(L,"valueText",{forwardAsChild:!0});i(C,"clearTrigger",{forwardAsChild:!0,defaultProps:{children:n.jsx(H,{boxSize:"1em"})}});i(N,"itemGroup",{forwardAsChild:!0});i(T,"itemGroupLabel",{forwardAsChild:!0});const Pe=i(b,"item",{forwardAsChild:!0}),Se=i(G,"itemText",{forwardAsChild:!0}),fe=i(y,"itemIndicator",{forwardAsChild:!0,defaultProps:{children:n.jsx(D,{})}});i("div","indicatorGroup");const ge=i(j,"indicator",{forwardAsChild:!0,defaultProps:{children:n.jsx(z,{})}});i(w,"control",{forwardAsChild:!0});i(A,"label",{forwardAsChild:!0});export{de as S,pe as a,ge as b,me as c,ue as d,Pe as e,Se as f,fe as g};
@@ -0,0 +1 @@
1
+ import{r as p,m as i,j as s,q as A,s as R}from"./index-CE6JgXwC.js";import{c as j}from"./api-CQ_emPlI.js";import{a as u,s as P,b as T,P as m}from"./use-presence-context-w7qGDwCc.js";import{c as N,a as c,f as y,u as $,b,d as E,n as k}from"./index-BHll-Wur.js";const[f,a]=N({name:"TooltipContext",hookName:"useTooltipContext",providerName:"<TooltipProvider />"}),x=p.forwardRef((e,r)=>{const t=a(),o=i(t.getArrowProps(),e);return s.jsx(c.div,{...o,ref:r})});x.displayName="TooltipArrow";const g=p.forwardRef((e,r)=>{const t=a(),o=i(t.getArrowTipProps(),e);return s.jsx(c.div,{...o,ref:r})});g.displayName="TooltipArrowTip";const w=p.forwardRef((e,r)=>{const t=a(),o=u(),n=i(t.getContentProps(),o.getPresenceProps(),e);return o.unmounted?null:s.jsx(c.div,{...n,ref:y(o.ref,r)})});w.displayName="TooltipContent";const C=p.forwardRef((e,r)=>{const t=a(),o=i(t.getPositionerProps(),e);return u().unmounted?null:s.jsx(c.div,{...o,ref:r})});C.displayName="TooltipPositioner";const z=e=>{const r=p.useId(),{getRootNode:t}=$(),{dir:o}=b(),n={id:r,dir:o,getRootNode:t,...e},d=E(R,n);return A(d,k)},M=e=>{const[r,{children:t,...o}]=P(e),n=z(o),d=T(i({present:n.open},r));return s.jsx(f,{value:n,children:s.jsx(m,{value:d,children:t})})},q=e=>{const[r,{value:t,children:o}]=P(e),n=T(i({present:t.open},r));return s.jsx(f,{value:t,children:s.jsx(m,{value:n,children:o})})},v=p.forwardRef((e,r)=>{const t=a(),o=i(t.getTriggerProps(),e);return s.jsx(c.button,{...o,ref:r})});v.displayName="TooltipTrigger";const{withRootProvider:h,withContext:l}=j({key:"tooltip"});h(q);const D=h(M,{defaultProps:{lazyMount:!0,unmountOnExit:!0}}),F=l(v,"trigger",{forwardAsChild:!0}),G=l(C,"positioner",{forwardAsChild:!0}),H=l(w,"content",{forwardAsChild:!0}),I=l(g,"arrowTip",{forwardAsChild:!0}),J=l(x,"arrow",{forwardAsChild:!0,defaultProps:{children:s.jsx(I,{})}});export{D as T,F as a,G as b,H as c,J as d};
@@ -0,0 +1 @@
1
+ import{c as e}from"./index-BHll-Wur.js";const[o,r]=e({name:"FieldContext",hookName:"useFieldContext",providerName:"<FieldProvider />",strict:!1});export{r as u};
@@ -0,0 +1 @@
1
+ import{e as E,d as f,c as v}from"./index-BHll-Wur.js";import{N as P,O as g,P as y,Q as p,w as U,U as A,V as O,r as l}from"./index-CE6JgXwC.js";const h=e=>E()(e,["immediate","lazyMount","onExitComplete","present","skipAnimationOnMount","unmountOnExit"]);function M(e,t){const{state:a,send:n,context:s}=e,i=a.matches("mounted","unmountSuspended");return{skip:!s.get("initial"),present:i,setNode(o){o&&n({type:"NODE.SET",node:o})},unmount(){n({type:"UNMOUNT"})}}}var C=P({props({props:e}){return{...e,present:!!e.present}},initialState({prop:e}){return e("present")?"mounted":"unmounted"},refs(){return{node:null,styles:null}},context({bindable:e}){return{unmountAnimationName:e(()=>({defaultValue:null})),prevAnimationName:e(()=>({defaultValue:null})),present:e(()=>({defaultValue:!1})),initial:e(()=>({sync:!0,defaultValue:!1}))}},exit:["clearInitial","cleanupNode"],watch({track:e,prop:t,send:a}){e([()=>t("present")],()=>{a({type:"PRESENCE.CHANGED"})})},on:{"NODE.SET":{actions:["setupNode"]},"PRESENCE.CHANGED":{actions:["setInitial","syncPresence"]}},states:{mounted:{on:{UNMOUNT:{target:"unmounted",actions:["clearPrevAnimationName","invokeOnExitComplete"]},"UNMOUNT.SUSPEND":{target:"unmountSuspended"}}},unmountSuspended:{effects:["trackAnimationEvents"],on:{MOUNT:{target:"mounted",actions:["setPrevAnimationName"]},UNMOUNT:{target:"unmounted",actions:["clearPrevAnimationName","invokeOnExitComplete"]}}},unmounted:{on:{MOUNT:{target:"mounted",actions:["setPrevAnimationName"]}}}},implementations:{actions:{setInitial:({context:e})=>{e.get("initial")||queueMicrotask(()=>{e.set("initial",!0)})},clearInitial:({context:e})=>{e.set("initial",!1)},invokeOnExitComplete:({prop:e})=>{e("onExitComplete")?.()},setupNode:({refs:e,event:t})=>{e.get("node")!==t.node&&(e.set("node",t.node),e.set("styles",U(t.node)))},cleanupNode:({refs:e})=>{e.set("node",null),e.set("styles",null)},syncPresence:({context:e,refs:t,send:a,prop:n})=>{const s=n("present");if(s)return a({type:"MOUNT",src:"presence.changed"});const i=t.get("node");if(!s&&i?.ownerDocument.visibilityState==="hidden")return a({type:"UNMOUNT",src:"visibilitychange"});p(()=>{const o=m(t.get("styles"));e.set("unmountAnimationName",o),o==="none"||o===e.get("prevAnimationName")||t.get("styles")?.display==="none"||t.get("styles")?.animationDuration==="0s"?a({type:"UNMOUNT",src:"presence.changed"}):a({type:"UNMOUNT.SUSPEND"})})},setPrevAnimationName:({context:e,refs:t})=>{p(()=>{e.set("prevAnimationName",m(t.get("styles")))})},clearPrevAnimationName:({context:e})=>{e.set("prevAnimationName",null)}},effects:{trackAnimationEvents:({context:e,refs:t,send:a})=>{const n=t.get("node");if(!n)return;const s=u=>{(u.composedPath?.()?.[0]??u.target)===n&&e.set("prevAnimationName",m(t.get("styles")))},i=u=>{const c=m(t.get("styles"));A(u)===n&&c===e.get("unmountAnimationName")&&a({type:"UNMOUNT",src:"animationend"})};n.addEventListener("animationstart",s),n.addEventListener("animationcancel",i),n.addEventListener("animationend",i);const o=g(n,{animationFillMode:"forwards"});return()=>{n.removeEventListener("animationstart",s),n.removeEventListener("animationcancel",i),n.removeEventListener("animationend",i),y(()=>o())}}}}});function m(e){return e?.animationName||"none"}O()(["onExitComplete","present","immediate"]);function S(e,t={}){const{sync:a=!1}=t,n=x(e);return l.useCallback((...s)=>a?queueMicrotask(()=>n.current?.(...s)):n.current?.(...s),[a,n])}function x(e){const t=l.useRef(e);return t.current=e,t}const D=(e={})=>{const{lazyMount:t,unmountOnExit:a,present:n,skipAnimationOnMount:s=!1,...i}=e,o=l.useRef(!1),u={...i,present:n,onExitComplete:S(e.onExitComplete)},c=f(C,u),r=M(c);r.present&&(o.current=!0);const d=!r.present&&!o.current&&t||a&&!r.present&&o.current,N=()=>({"data-state":r.skip&&s?void 0:n?"open":"closed",hidden:!r.present});return{ref:r.setNode,getPresenceProps:N,present:r.present,unmounted:d}},[L,R]=v({name:"PresenceContext",hookName:"usePresenceContext",providerName:"<PresenceProvider />"});export{L as P,R as a,D as b,h as s,S as u};
@@ -0,0 +1 @@
1
+ import{u as r,Q as u}from"./api-CQ_emPlI.js";function a(e,s){return r(e,u)}export{a as u};
@@ -0,0 +1 @@
1
+ import{a9 as W,r as e,j as d,b as j,aa as V}from"./index-CE6JgXwC.js";function w(t){const{gap:r,direction:n}=t,a={column:{marginY:r,marginX:0,borderInlineStartWidth:0,borderTopWidth:"1px"},"column-reverse":{marginY:r,marginX:0,borderInlineStartWidth:0,borderTopWidth:"1px"},row:{marginX:r,marginY:0,borderInlineStartWidth:"1px",borderTopWidth:0},"row-reverse":{marginX:r,marginY:0,borderInlineStartWidth:"1px",borderTopWidth:0}};return{"&":W(n,i=>a[i])}}function E(t){return e.Children.toArray(t).filter(r=>e.isValidElement(r))}const I=e.forwardRef(function(r,n){const{direction:a="column",align:i,justify:f,gap:s="0.5rem",wrap:g,children:c,separator:o,className:h,...x}=r,p=e.useMemo(()=>w({gap:s,direction:a}),[s,a]),S=e.useMemo(()=>e.isValidElement(o)?E(c).map((l,m,y)=>{const b=typeof l.key<"u"?l.key:m,u=o,k=e.cloneElement(u,{css:[p,u.props.css]});return d.jsxs(e.Fragment,{children:[l,m===y.length-1?null:k]},b)}):c,[c,o,p]);return d.jsx(j.div,{ref:n,display:"flex",alignItems:i,justifyContent:f,flexDirection:a,flexWrap:g,gap:o?void 0:s,className:V("chakra-stack",h),...x,children:S})}),T=e.forwardRef(function(r,n){return d.jsx(I,{align:"center",...r,direction:"column",ref:n})});export{I as S,T as V};
Binary file
@@ -11,7 +11,7 @@
11
11
  />
12
12
  <link rel="manifest" href="/manifest.json" />
13
13
  <title>L10n Monster</title>
14
- <script type="module" crossorigin src="/assets/index-DexglpRr.js"></script>
14
+ <script type="module" crossorigin src="/assets/index-CE6JgXwC.js"></script>
15
15
  <link rel="stylesheet" crossorigin href="/assets/index-CIfVvUo9.css">
16
16
  </head>
17
17
  <body>
@@ -0,0 +1,123 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="1024.000000pt" height="1024.000000pt" viewBox="0 0 1024.000000 1024.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+
8
+ <g transform="translate(0.000000,1024.000000) scale(0.100000,-0.100000)"
9
+ fill="#000000" stroke="none">
10
+ <path d="M3225 9429 c-49 -13 -111 -74 -175 -171 -77 -118 -115 -211 -146
11
+ -360 -37 -182 -41 -318 -15 -447 39 -184 99 -300 222 -423 l76 -76 -43 -79
12
+ c-47 -85 -116 -262 -163 -421 -64 -215 -165 -713 -186 -918 l-7 -60 -86 -43
13
+ c-255 -126 -446 -322 -642 -660 -82 -142 -185 -386 -259 -613 -177 -547 -291
14
+ -1288 -291 -1891 0 -464 54 -714 183 -854 53 -58 107 -84 183 -91 52 -4 71 0
15
+ 119 22 l58 26 49 -45 c94 -88 204 -117 293 -76 60 27 153 132 161 182 7 44 10
16
+ 45 96 29 51 -10 102 -5 148 14 12 4 29 -29 77 -152 72 -182 75 -193 103 -329
17
+ 20 -100 27 -277 12 -299 -4 -6 -23 -14 -42 -18 -130 -24 -287 -152 -358 -293
18
+ -33 -64 -64 -188 -65 -262 -1 -86 28 -142 97 -188 111 -75 240 -88 831 -80
19
+ 765 11 937 36 1067 156 67 61 100 130 106 217 5 78 -14 266 -58 579 -16 110
20
+ -27 202 -25 204 2 2 69 -2 148 -8 194 -15 752 -13 895 2 l113 13 -5 -26 c-44
21
+ -217 -79 -517 -80 -680 l-1 -155 34 -63 c92 -168 233 -210 796 -233 357 -15
22
+ 925 -7 1018 15 94 21 183 71 216 120 23 35 26 49 26 130 0 116 -28 207 -93
23
+ 307 -77 118 -176 197 -297 239 -33 11 -63 26 -67 33 -13 20 -9 189 7 283 21
24
+ 120 47 204 112 361 l55 131 29 -10 c30 -10 167 -6 204 6 17 6 22 -1 37 -52 32
25
+ -109 141 -192 253 -192 58 0 155 50 204 107 l40 45 28 -20 c76 -53 191 -55
26
+ 271 -5 62 38 140 155 175 261 98 295 98 886 2 1559 -121 840 -354 1487 -683
27
+ 1895 -127 157 -301 295 -457 363 l-80 34 -7 53 c-82 587 -188 1004 -333 1313
28
+ l-55 118 73 76 c41 42 90 101 110 132 105 165 156 396 127 583 -23 151 -69
29
+ 316 -113 403 -52 105 -142 226 -192 260 -65 44 -140 30 -182 -34 -15 -22 -18
30
+ -50 -19 -158 0 -148 -12 -192 -86 -324 -45 -79 -175 -222 -236 -259 l-34 -20
31
+ -66 38 c-144 83 -416 185 -622 235 -157 37 -401 66 -620 72 -522 16 -1014 -90
32
+ -1380 -297 -103 -57 -91 -59 -181 25 -76 71 -131 139 -173 216 -56 102 -67
33
+ 149 -73 304 -4 90 -10 150 -19 167 -23 44 -87 70 -139 57z m3879 -588 c44
34
+ -174 35 -367 -23 -495 -22 -50 -87 -137 -123 -166 l-27 -20 -47 62 c-26 35
35
+ -83 104 -126 155 l-79 92 31 16 c52 27 171 147 219 221 25 38 66 112 91 162
36
+ 24 51 47 89 51 84 4 -4 19 -54 33 -111z m-3895 21 c70 -156 185 -303 294 -377
37
+ 43 -29 46 -33 31 -46 -22 -18 -152 -181 -189 -236 -15 -24 -31 -43 -36 -43 -4
38
+ 0 -30 22 -57 48 -111 108 -162 288 -141 494 9 89 45 238 58 238 3 -1 22 -35
39
+ 40 -78z m2334 -157 c216 -33 450 -97 604 -166 265 -119 493 -323 653 -584 190
40
+ -310 311 -746 410 -1475 12 -85 25 -164 30 -176 5 -14 36 -32 92 -54 45 -18
41
+ 131 -57 190 -87 98 -50 115 -63 215 -167 143 -149 219 -258 314 -451 102 -207
42
+ 167 -388 233 -655 136 -541 200 -982 221 -1530 11 -269 -24 -600 -77 -721 -24
43
+ -57 -73 -108 -89 -92 -6 6 -14 64 -18 130 -8 122 -18 155 -51 173 -33 18 -59
44
+ 11 -101 -27 -46 -42 -62 -70 -95 -166 -30 -89 -66 -150 -103 -176 -16 -12 -32
45
+ -21 -35 -21 -17 0 -29 68 -35 193 -8 153 -22 189 -76 195 -50 6 -76 -8 -166
46
+ -93 -90 -86 -110 -96 -143 -72 -18 13 -17 20 18 173 40 174 68 385 87 652 17
47
+ 233 1 525 -46 848 l-35 237 0 537 c0 602 1 592 -71 674 -25 28 -66 58 -107 78
48
+ l-67 33 -350 6 c-381 7 -420 12 -520 68 -27 15 -63 47 -79 70 l-30 41 36 38
49
+ c53 56 132 162 168 225 30 53 89 214 104 283 6 25 14 32 51 42 54 14 78 47 78
50
+ 107 0 84 -40 115 -173 134 -268 38 -2053 50 -2620 18 -162 -10 -315 -20 -340
51
+ -23 -86 -12 -130 -50 -130 -114 0 -46 19 -72 69 -95 23 -10 41 -24 41 -30 0
52
+ -38 58 -205 106 -303 46 -95 67 -126 134 -196 44 -46 80 -88 80 -94 0 -19 -61
53
+ -82 -104 -107 -94 -54 -124 -58 -516 -65 -423 -8 -430 -9 -517 -95 -41 -42
54
+ -55 -65 -72 -120 -20 -65 -21 -88 -21 -629 0 -514 -2 -571 -20 -674 -86 -492
55
+ -76 -1081 26 -1543 39 -177 39 -182 20 -198 -22 -19 -65 9 -131 84 -72 81
56
+ -112 107 -161 103 -59 -5 -80 -41 -77 -136 4 -117 -6 -195 -28 -232 l-20 -32
57
+ -24 22 c-45 42 -77 98 -110 195 -38 110 -68 155 -119 179 -81 38 -114 -6 -127
58
+ -169 -11 -143 -19 -157 -63 -110 -28 30 -68 152 -93 280 -15 75 -18 144 -18
59
+ 415 1 326 9 462 46 750 45 360 156 869 252 1161 118 356 281 642 483 845 98
60
+ 98 105 103 274 190 105 53 181 99 191 114 12 16 25 77 39 175 81 581 190 1023
61
+ 315 1280 87 178 256 410 394 538 214 198 623 362 986 395 172 16 706 14 818
62
+ -3z m-1393 -1990 c0 -3 -4 -13 -10 -23 -5 -9 -39 -78 -74 -153 -35 -75 -68
63
+ -139 -74 -143 -17 -10 -74 92 -109 197 -19 55 -32 101 -31 102 2 2 66 7 143
64
+ 12 77 6 143 11 148 11 4 1 7 0 7 -3z m570 1 c0 -9 -96 -175 -133 -229 -21 -33
65
+ -43 -55 -47 -50 -14 15 -140 259 -140 271 0 9 45 12 160 12 88 0 160 -2 160
66
+ -4z m552 -28 c-11 -18 -47 -78 -79 -133 -33 -54 -65 -101 -71 -103 -8 -2 -172
67
+ 246 -172 263 0 3 77 5 171 5 l171 0 -20 -32z m486 22 l94 0 -27 -47 c-15 -27
68
+ -57 -92 -92 -147 -75 -116 -58 -123 -164 70 l-67 123 47 4 c25 2 62 3 81 1 19
69
+ -2 77 -4 128 -4z m621 -16 c2 -1 -7 -36 -19 -76 -23 -78 -66 -165 -103 -212
70
+ l-23 -29 -68 154 c-38 85 -71 160 -74 168 -4 11 20 12 139 6 79 -4 146 -9 148
71
+ -11z m-719 -1024 c129 -38 248 -145 319 -288 127 -253 130 -752 8 -1015 -120
72
+ -257 -361 -387 -617 -333 -219 46 -366 200 -435 457 -50 185 -53 530 -6 719
73
+ 38 150 116 286 210 365 137 113 333 149 521 95z m-2318 -17 c17 -15 18 -49 18
74
+ -655 l0 -638 303 0 c222 0 306 -3 315 -12 8 -8 12 -53 12 -137 0 -102 -3 -128
75
+ -17 -143 -15 -17 -43 -18 -461 -18 -400 0 -447 2 -464 17 -17 15 -18 53 -18
76
+ 798 0 594 3 784 12 793 8 8 55 12 147 12 111 0 138 -3 153 -17z m1288 -2 c7
77
+ -13 10 -278 10 -788 0 -679 -2 -771 -16 -791 -14 -21 -22 -22 -146 -22 -108 0
78
+ -135 3 -150 17 -17 15 -18 46 -18 579 l0 563 -137 3 -138 3 -3 100 -3 100 78
79
+ 38 c107 54 221 128 268 176 l39 41 103 0 c91 0 103 -2 113 -19z m2362 -451
80
+ c97 -36 161 -106 192 -210 14 -45 16 -119 16 -474 0 -376 -2 -421 -17 -438
81
+ -14 -15 -32 -18 -128 -18 -73 0 -115 4 -123 12 -9 9 -12 107 -12 380 0 310 -2
82
+ 375 -15 406 -33 79 -91 115 -180 115 -104 0 -173 -50 -194 -144 -6 -25 -11
83
+ -194 -11 -395 0 -293 -2 -354 -14 -363 -20 -17 -232 -17 -252 -1 -12 11 -14
84
+ 94 -14 559 0 412 3 550 12 559 8 8 50 12 124 12 126 0 144 -8 144 -62 0 -30 1
85
+ -30 23 -14 136 98 311 128 449 76z m-4002 -1434 c30 -14 84 -30 120 -36 46 -8
86
+ 647 -10 2055 -8 2251 3 2050 -4 2145 84 95 89 106 63 91 -218 -18 -335 -60
87
+ -589 -145 -880 -50 -169 -52 -173 -131 -353 -56 -127 -85 -247 -104 -425 -9
88
+ -81 -17 -337 -12 -393 2 -26 60 -47 133 -47 51 0 72 -6 113 -29 127 -74 201
89
+ -172 229 -303 5 -23 1 -30 -23 -43 -16 -8 -60 -18 -98 -21 l-69 -7 -12 39
90
+ c-14 48 -104 199 -140 237 -55 59 -111 72 -156 36 -56 -44 -51 -111 20 -225
91
+ 24 -39 44 -74 44 -77 0 -4 -55 -7 -123 -7 l-122 0 -58 115 c-59 119 -109 185
92
+ -160 212 -42 21 -110 10 -137 -24 -34 -43 -26 -77 46 -196 36 -60 64 -110 62
93
+ -112 -2 -1 -102 1 -223 6 -389 15 -505 58 -505 187 0 63 47 410 91 666 44 258
94
+ 44 269 -6 302 -24 15 -36 15 -193 -1 -289 -30 -362 -34 -552 -34 -220 0 -427
95
+ 11 -642 35 -172 19 -204 14 -235 -33 -19 -28 -17 -48 30 -323 40 -233 77 -528
96
+ 77 -616 0 -70 -15 -96 -72 -125 -65 -33 -180 -50 -413 -58 -121 -5 -221 -7
97
+ -223 -6 -5 4 43 94 82 155 57 86 49 158 -20 180 -87 29 -165 -38 -259 -220
98
+ l-56 -110 -124 0 c-69 0 -125 4 -125 8 0 5 19 38 41 73 80 122 86 175 28 223
99
+ -37 32 -50 32 -107 5 -57 -28 -147 -148 -182 -243 l-25 -68 -69 6 c-94 9 -121
100
+ 23 -120 63 1 17 16 63 34 101 37 80 97 144 184 196 54 32 67 36 132 36 63 0
101
+ 77 3 101 24 l28 24 -3 134 c-6 300 -44 503 -133 709 -79 184 -100 246 -154
102
+ 454 -72 280 -94 445 -102 772 -3 132 -3 249 1 258 5 15 13 10 49 -28 24 -26
103
+ 67 -57 97 -71z"/>
104
+ <path d="M4100 8152 c-178 -60 -304 -177 -362 -337 -30 -83 -36 -232 -13 -311
105
+ 40 -139 128 -255 234 -309 68 -34 190 -65 255 -65 74 0 182 26 245 57 68 34
106
+ 159 117 201 183 52 80 70 155 70 284 0 127 -20 206 -71 287 -46 72 -140 156
107
+ -216 191 -61 29 -78 32 -178 35 -86 2 -122 -1 -165 -15z m251 -238 c93 -46
108
+ 154 -155 153 -269 -1 -121 -60 -211 -172 -263 -47 -21 -64 -24 -131 -20 -112
109
+ 7 -187 54 -237 148 -29 53 -26 189 4 255 71 155 240 221 383 149z"/>
110
+ <path d="M4209 7736 c-29 -17 -59 -71 -59 -106 0 -36 31 -90 61 -105 41 -22
111
+ 111 -19 142 5 52 41 54 138 4 188 -31 31 -108 40 -148 18z"/>
112
+ <path d="M5850 8150 c-134 -46 -236 -131 -287 -240 -44 -93 -56 -159 -52 -290
113
+ 4 -111 5 -118 46 -203 71 -146 188 -238 350 -272 86 -18 140 -18 227 0 101 21
114
+ 153 50 232 130 168 169 206 387 105 601 -56 118 -180 223 -320 271 -86 29
115
+ -221 31 -301 3z m264 -228 c133 -59 209 -218 172 -360 -53 -207 -307 -273
116
+ -463 -120 -117 115 -116 306 2 424 83 83 183 102 289 56z"/>
117
+ <path d="M5933 7749 c-69 -20 -103 -102 -68 -169 47 -90 167 -94 209 -6 20 42
118
+ 20 67 2 111 -23 54 -82 81 -143 64z"/>
119
+ <path d="M5395 5375 c-55 -20 -117 -88 -144 -159 -30 -81 -40 -172 -41 -362 0
120
+ -259 38 -398 131 -477 79 -68 196 -72 279 -9 44 33 55 46 86 105 41 78 54 176
121
+ 54 396 0 218 -15 312 -65 397 -62 106 -184 150 -300 109z"/>
122
+ </g>
123
+ </svg>
@@ -8,14 +8,9 @@
8
8
  "type": "image/x-icon"
9
9
  },
10
10
  {
11
- "src": "logo192.png",
12
- "type": "image/png",
13
- "sizes": "192x192"
14
- },
15
- {
16
- "src": "logo512.png",
17
- "type": "image/png",
18
- "sizes": "512x512"
11
+ "src": "logo.svg",
12
+ "type": "image/svg+xml",
13
+ "sizes": "any"
19
14
  }
20
15
  ],
21
16
  "start_url": ".",
package/mockData.js DELETED
@@ -1,67 +0,0 @@
1
- // server/data/mockData.js
2
-
3
- // Use 'export const' for each piece of data
4
-
5
- export const languagePairs = [
6
- { source: 'en-us', target: 'fr-fr', sourceName: 'English (US)', targetName: 'French (FR)', sourceFlag: '🇺🇸', targetFlag: '🇫🇷' },
7
- { source: 'en-us', target: 'de-de', sourceName: 'English (US)', targetName: 'German (DE)', sourceFlag: '🇺🇸', targetFlag: '🇩🇪' },
8
- { source: 'es-es', target: 'en-gb', sourceName: 'Spanish (ES)', targetName: 'English (UK)', sourceFlag: '🇪🇸', targetFlag: '🇬🇧' },
9
- ];
10
-
11
- export const projectsData = {
12
- 'en-us_fr-fr': {
13
- 'Website': [
14
- { id: 'proj1', name: 'Q3 Homepage Update', status: 'In Progress', progress: 80, totalWords: 1500, translatedWords: 1200, untranslatedWords: 300, dueDate: '2023-12-15' },
15
- { id: 'proj2', name: 'Blog Feature Launch', status: 'Needs Translation', progress: 0, totalWords: 500, translatedWords: 0, untranslatedWords: 500, dueDate: '2023-12-20' },
16
- ],
17
- 'Mobile App (iOS)': [
18
- { id: 'proj3', name: 'v2.5 String Updates', status: 'Completed', progress: 100, totalWords: 850, translatedWords: 850, untranslatedWords: 0, dueDate: '2023-11-30' },
19
- ]
20
- },
21
- 'en-us_de-de': {
22
- 'Website': [
23
- { id: 'proj4', name: 'Q3 Homepage Update', status: 'Needs Review', progress: 100, totalWords: 1500, translatedWords: 1500, untranslatedWords: 0, dueDate: '2023-12-15' },
24
- ],
25
- 'Marketing Docs': [
26
- { id: 'proj5', name: 'Winter Sale Brochure', status: 'Needs Translation', progress: 0, totalWords: 2000, translatedWords: 0, untranslatedWords: 2000, dueDate: '2023-12-10' },
27
- ]
28
- },
29
- 'es-es_en-gb': {
30
- 'General': [
31
- { id: 'proj6', name: 'Support Articles Q4', status: 'In Progress', progress: 50, totalWords: 5000, translatedWords: 2500, untranslatedWords: 2500, dueDate: '2024-01-10' },
32
- ]
33
- }
34
- };
35
-
36
- export const untranslatedContent = {
37
- 'en-us_fr-fr': [
38
- { id: 'str1', sourceText: 'Welcome to our new feature!', contextKey: 'homepage.welcome_banner', channel: 'Website', project: 'Q3 Homepage Update', dateAdded: '2023-11-15' },
39
- { id: 'str2', sourceText: 'Click here to learn more.', contextKey: 'button.learn_more', channel: 'Website', project: 'Q3 Homepage Update', dateAdded: '2023-11-15' },
40
- { id: 'str3', sourceText: 'Update your profile settings.', contextKey: 'profile.update_prompt', channel: 'Mobile App (iOS)', project: 'v2.5 String Updates', dateAdded: '2023-11-10' },
41
- { id: 'str4', sourceText: 'Are you sure you want to delete?', contextKey: 'dialog.delete_confirm', channel: 'Mobile App (iOS)', project: 'v2.5 String Updates', dateAdded: '2023-11-10' },
42
- { id: 'str5', sourceText: 'Read our latest blog post on AI trends.', contextKey: 'blog.latest_post_title', channel: 'Website', project: 'Blog Feature Launch', dateAdded: '2023-11-18' },
43
- ],
44
- 'en-us_de-de': [
45
- { id: 'str6', sourceText: 'Discover our winter collection.', contextKey: 'marketing.winter_headline', channel: 'Marketing Docs', project: 'Winter Sale Brochure', dateAdded: '2023-11-20' },
46
- { id: 'str7', sourceText: 'Save up to 30%!', contextKey: 'marketing.winter_discount', channel: 'Marketing Docs', project: 'Winter Sale Brochure', dateAdded: '2023-11-20' },
47
- ],
48
- };
49
-
50
- export const tmData = {
51
- 'en-us_fr-fr': {
52
- summary: { totalUnits: 15830, lastUpdated: '2023-11-20' },
53
- units: [
54
- { id: 'tm1', sourceText: 'Save Changes', targetText: 'Enregistrer les modifications', contextKey: 'button.save', project: 'Q2 Settings Update', dateModified: '2023-06-10' },
55
- { id: 'tm2', sourceText: 'Cancel', targetText: 'Annuler', contextKey: 'button.cancel', project: 'Q2 Settings Update', dateModified: '2023-06-10' },
56
- { id: 'tm3', sourceText: 'Welcome back, {user}!', targetText: 'Bon retour, {user} !', contextKey: 'header.greeting', project: 'Initial Launch', dateModified: '2023-01-15' },
57
- { id: 'tm4', sourceText: 'View Details', targetText: 'Voir les détails', contextKey: 'link.view_details', project: 'Product Page v1', dateModified: '2023-03-22' },
58
- ]
59
- },
60
- 'en-us_de-de': {
61
- summary: { totalUnits: 12105, lastUpdated: '2023-11-18' },
62
- units: [
63
- { id: 'tm5', sourceText: 'Save Changes', targetText: 'Änderungen speichern', contextKey: 'button.save', project: 'Q2 Settings Update', dateModified: '2023-06-10' },
64
- { id: 'tm6', sourceText: 'Cancel', targetText: 'Abbrechen', contextKey: 'button.cancel', project: 'Q2 Settings Update', dateModified: '2023-06-10' },
65
- ]
66
- },
67
- };