@synnaxlabs/pluto 0.34.0 → 0.34.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tree.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./external-CsrLjLOh.cjs");exports.Tree=e.external;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./external-DVlGiTKE.cjs");exports.Tree=e.external;
package/dist/tree.js CHANGED
@@ -1,4 +1,4 @@
1
- import { e as o } from "./external-DcMAC_pY.js";
1
+ import { e as o } from "./external-B_-ZrYaG.js";
2
2
  export {
3
3
  o as Tree
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synnaxlabs/pluto",
3
- "version": "0.34.0",
3
+ "version": "0.34.1",
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "@fontsource-variable/inter": "^5.1.0",
@@ -18,8 +18,8 @@
18
18
  "zod": "^3.23.8",
19
19
  "@synnaxlabs/alamos": "0.34.0",
20
20
  "@synnaxlabs/client": "0.34.0",
21
- "@synnaxlabs/x": "0.34.0",
22
- "@synnaxlabs/media": "0.34.0"
21
+ "@synnaxlabs/media": "0.34.0",
22
+ "@synnaxlabs/x": "0.34.0"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@juggle/resize-observer": "^3.4.0",
@@ -40,8 +40,8 @@
40
40
  "vite": "^5.4.10",
41
41
  "vitest": "^2.1.4",
42
42
  "@synnaxlabs/tsconfig": "0.0.2",
43
- "eslint-config-synnaxlabs": "0.0.1",
44
43
  "stylelint-config-synnaxlabs": "0.0.1",
44
+ "eslint-config-synnaxlabs": "0.0.1",
45
45
  "@synnaxlabs/vite-plugin": "0.0.1"
46
46
  },
47
47
  "files": [
@@ -1 +0,0 @@
1
- "use strict";const k=require("./aggregator-C0Ab25_o.cjs"),R=require("./jsx-runtime-Cek9Ww4S.cjs"),d=require("./Toggle-CP9KtybX.cjs"),x=require("react"),re=require("./Link-BHtl4aby.cjs"),se=require("./Animated-Ck87AGOu.cjs"),h=require("./css-Dh7n0EGs.cjs");require("./Pack-DijAGcm_.cjs");const le=require("./List-C8vXIE2j.cjs"),Y=(e,t)=>t.includes(e.key),H=(e,t)=>{t&&e.sort((n,s)=>k.F.stringsWithNumbers(n.name,s.name));let r=!1;for(let n=0;n<e.length;n++){const s=e[n];s.forcePosition!=null&&n!==s.forcePosition&&(r=!0,e.splice(n,1),e.splice(s.forcePosition,0,s))}return r?H(e,!1):e},K=({nodes:e,expanded:t,depth:r=0,sort:n=!0})=>{r===0&&n&&(e=e.sort((l,i)=>l.name.localeCompare(i.name)));const s=[];return e.forEach((l,i)=>{const c=Y(l,t);s.push({...l,depth:r,expanded:c,index:i}),c&&l.children!=null&&(l.children=H(l.children,n),s.push(...K({nodes:l.children,expanded:t,depth:r+1,sort:n})))}),s},ae=({tree:e,destination:t,keys:r})=>(r=k.A(r),r.forEach(n=>{const s=j({tree:e,key:n});s!=null&&(z({tree:e,keys:n}),Q({tree:e,destination:t,additions:s}))}),e),z=({tree:e,keys:t})=>{t=k.A(t);const r=e.map(n=>n.key);return t.forEach(n=>{var l;const s=r.indexOf(n);if(s!==-1)e.splice(s,1);else{const i=q({tree:e,key:n});i!=null&&(i.children=(l=i.children)==null?void 0:l.filter(c=>c.key!==n))}}),e},Q=({tree:e,destination:t,additions:r})=>{r=k.A(r);const n=j({tree:e,key:t});if(n==null)throw new Error(`Could not find node with key ${t}`);n.children??(n.children=[]);const s=r.map(l=>l.key);return n.children=[...r,...n.children.filter(l=>!s.includes(l.key))],e},ie=({tree:e,key:t,updater:r,throwOnMissing:n=!0})=>{var i,c;const s=j({tree:e,key:t});if(s==null){if(n)throw new Error(`Could not find node with key ${t}`);return e}const l=q({tree:e,key:t});if(l!=null){const a=(i=l.children)==null?void 0:i.findIndex(S=>S.key===t);a!=null&&a!==-1&&((c=l.children)==null||c.splice(a,1,r(s)))}else e.splice(e.findIndex(a=>a.key===t),1,r(s));return e},ce=({tree:e,parent:t,updater:r,throwOnMissing:n=!0})=>{const s=j({tree:e,key:t});if(s==null){if(n)throw new Error(`Could not find node with key ${t}`);return e}return s.children=r(s.children??[]),e},j=({tree:e,key:t,depth:r=0})=>{for(let n=0;n<e.length;n++){const s=e[n];if(s.key===t){const l=s;return l.depth=r,l.position=n,l}if(s.children!=null){const l=j({tree:s.children,key:t,depth:r+1});if(l!=null)return l}}return null},oe=({tree:e,keys:t})=>{const r=[];for(const n of t){const s=j({tree:e,key:n});s!=null&&r.push(s)}return r},q=({tree:e,key:t})=>{for(const r of e)if(r.children!=null){if(r.children.some(s=>s.key===t))return r;const n=q({tree:r.children,key:t});if(n!=null)return n}return null},V=e=>e.map(t=>({...t,children:V(t.children??[])})),J=(...e)=>{const t=[];return e.forEach(r=>{t.push(r),r.children!=null&&t.push(...J(...r.children))}),t},M="tree-item",de=[["Shift"]],ue=e=>{const{onExpand:t,nodes:r,initialExpanded:n=[],sort:s=!0,selected:l,onSelectedChange:i}=e??{},[c,a,S]=d.useCombinedStateAndRef(n),[o,N]=k.usePassthrough({initial:[],value:l,onChange:i}),T=x.useMemo(()=>K({nodes:r,expanded:c,sort:s}),[r,c,s]),v=d.useSyncedRef(T),w=d.useHeldRef({triggers:de}),P=x.useCallback((f,{clicked:u})=>{N(f);const C=v.current.find(b=>b.key===u);if((C==null?void 0:C.hasChildren)===!1||u==null||w.current.held)return;const E=S.current,I=E.some(b=>b===u)?"contract":"expand";let y;I==="contract"?y=E.filter(b=>b!==u):y=[...E,u],a(y),t==null||t({current:y,action:I,clicked:u})},[t,v,a,N]),p=x.useCallback(f=>{a(u=>k.n([...u,f])),t==null||t({current:c,action:"expand",clicked:f})},[a]),L=x.useCallback(f=>{a(u=>u.filter(C=>C!==f)),t==null||t({current:c,action:"contract",clicked:f})},[a]),_=x.useCallback(()=>a([]),[a]);return{onSelect:P,selected:o,expanded:c,contract:L,expand:p,nodes:T,clearExpanded:_}},G=x.memo(({entry:e,selected:t,onSelect:r,onDrop:n,onRename:s,onSuccessfulDrop:l,onDoubleClick:i,loading:c=!1,useMargin:a=!0,translate:S})=>{const{key:o,hasChildren:N=!1,allowRename:T=!1,children:v,icon:w,name:P,depth:p,expanded:L,href:_,haulItems:f=[]}=e,{getSelected:u}=d.useSelectionUtils(),{getSourceData:C}=d.useDataUtilContext(),E=N||v!=null&&v.length>0,I=[];E&&I.push(R.jsxRuntimeExports.jsx(se.Animated,{enabled:L,enabledLoc:"bottom",disabledLoc:"right"})),w!=null&&I.push(w);const y=[];c&&y.push(R.jsxRuntimeExports.jsx(d.Qt.Loading,{className:h.CSS.B("loading-indicator")}));const[b,O]=x.useState(!1),{startDrag:U,...Z}=d.useDragAndDrop({type:"Tree.Item",key:o,canDrop:x.useCallback(({items:m,source:$})=>{const g=m.map(A=>A.key);return O(!1),$.type==="Tree.Item"&&!g.includes(o)},[]),onDrop:x.useCallback(m=>(n==null?void 0:n(o,m))??[],[o,n]),onDragOver:x.useCallback(()=>O(!0),[])}),D=()=>{const m=u(),$=C().filter(g=>m.includes(g.key));if(m.includes(o)){const g=$.map(({key:A,haulItems:B,depth:W})=>[{type:M,key:A,data:{depth:W}},...(B==null?void 0:B.map(X=>({...X,data:{...X.data,depth:W}})))??[]]).flat();return U(g,A=>l==null?void 0:l(o,A))}U([{type:M,key:o,data:{depth:p}},...f.map(g=>({...g,data:{...g.data,depth:p}}))],g=>l==null?void 0:l(o,g))},ee=a?"marginLeft":"paddingLeft";let F=p*2+1;E&&a&&(F-=1);const te={id:o,variant:"text",draggable:f.length>0,className:h.CSS(h.CSS.BE("list","item"),d.CONTEXT_TARGET,b&&h.CSS.M("dragging-over"),t&&d.CONTEXT_SELECTED,h.CSS.selected(t),E&&h.CSS.M("has-children"),h.CSS.BM("depth",p.toString())),onDragLeave:()=>O(!1),onDragStart:D,onClick:()=>r==null?void 0:r(o),style:{border:"none",position:S!=null?"absolute":"relative",transform:`translateY(${S}px)`,[ee]:`${F}rem`,"--pluto-tree-indicator-offset":`${p*1.5+(p===0?0:.5)}rem`},startIcon:I,iconSpacing:"small",noWrap:!0,endIcon:y,onDoubleClick:m=>i==null?void 0:i(o,m),href:_,...Z},ne=_!=null?re.Link:d.Button;return R.jsxRuntimeExports.jsx(ne,{className:h.CSS.BE("list","item"),...te,children:R.jsxRuntimeExports.jsx(d.MaybeEditable,{id:`text-${o}`,level:"p",allowDoubleClick:!1,value:P,disabled:!T,onChange:m=>s==null?void 0:s(o,m)})})});G.displayName="Tree.Item";const fe=d.componentRenderProp(G),he=({nodes:e,selected:t=[],onSelect:r,onDrop:n,onRename:s,onSuccessfulDrop:l,onDoubleClick:i,className:c,children:a=fe,itemHeight:S=27,useMargin:o=!1,showRules:N=!1,virtual:T=!0,clearExpanded:v,expand:w,contract:P,emptyContent:p,loading:L,..._})=>{const f=T?d.Core.Virtual:d.Core;return R.jsxRuntimeExports.jsx(le.List,{data:e,emptyContent:p,children:R.jsxRuntimeExports.jsx(d.Selector,{value:t,onChange:r,allowMultiple:!0,replaceOnSingle:!0,children:R.jsxRuntimeExports.jsx(f,{itemHeight:S,className:h.CSS(c,h.CSS.B("tree"),N&&h.CSS.M("rules")),..._,children:({key:u,...C})=>a({...C,key:u,loading:L===u,useMargin:o,onDrop:n,onRename:s,onSuccessfulDrop:l,onDoubleClick:i})})})})},pe=(e,t)=>d.edit(`text-${e}`,t),me=e=>d.asyncEdit(`text-${e}`),ge=Object.freeze(Object.defineProperty({__proto__:null,DefaultItem:G,HAUL_TYPE:M,Tree:he,asyncRename:me,deepCopy:V,findNode:j,findNodeParent:q,findNodes:oe,flatten:K,getDescendants:J,moveNode:ae,removeNode:z,setNode:Q,shouldExpand:Y,sortAndSplice:H,startRenaming:pe,updateNode:ie,updateNodeChildren:ce,use:ue},Symbol.toStringTag,{value:"Module"}));exports.external=ge;