Socket
Socket
Sign inDemoInstall

@treelab/kanban

Package Overview
Dependencies
Maintainers
12
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@treelab/kanban - npm Package Compare versions

Comparing version 2.0.0-alpha.11 to 2.0.0-alpha.13

3

dist/index.d.ts

@@ -45,4 +45,5 @@ import { ReactElement } from "react";

enableReorderCards?: boolean;
appendMode?: boolean;
}
declare const Kanban: <R extends Row>({ lanes, width, height, listWidth, onDropCard, onDropLane, cardRenderer, laneHeaderRenderer, laneFooterRenderer, enableReorderCards, enableReorderLanes }: IKanbanProps<R>) => ReactElement;
declare const Kanban: <R extends Row>({ lanes, width, height, listWidth, onDropCard, onDropLane, cardRenderer, laneHeaderRenderer, laneFooterRenderer, enableReorderCards, enableReorderLanes, appendMode }: IKanbanProps<R>) => ReactElement;
export { Kanban as default };

@@ -1,4 +0,4 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react"),require("react-beautiful-dnd"),require("react-dom"),require("react-virtualized"),require("styled-components"),require("immer")):"function"==typeof define&&define.amd?define(["react","react-beautiful-dnd","react-dom","react-virtualized","styled-components","immer"],t):(e="undefined"!=typeof globalThis?globalThis:e||self)["dist/index"]=t(e.React,e.reactBeautifulDnd,e.ReactDOM,e.reactVirtualized,e.styled,e.produce)}(this,(function(e,t,r,d,n,a){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=l(e),o=l(r),s=l(n),u=l(a),c=i.default.createContext({});const f=s.default.div`
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react"),require("react-beautiful-dnd"),require("react-dom"),require("react-virtualized"),require("styled-components"),require("immer")):"function"==typeof define&&define.amd?define(["react","react-beautiful-dnd","react-dom","react-virtualized","styled-components","immer"],t):(e="undefined"!=typeof globalThis?globalThis:e||self)["dist/index"]=t(e.React,e.reactBeautifulDnd,e.ReactDOM,e.reactVirtualized,e.styled,e.produce)}(this,(function(e,t,r,d,n,a){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=l(e),o=l(r),s=l(n),u=l(a),c=i.default.createContext({});const p=s.default.div`
padding: 0 12px 8px;
`,p=({provided:t,snapshot:r,style:d,index:n,row:a})=>{const{cardRenderer:l}=e.useContext(c);return i.default.createElement(f,Object.assign({ref:t.innerRef},t.dragHandleProps,t.draggableProps,{style:Object.assign(Object.assign({},d),t.draggableProps.style)}),null==l?void 0:l({index:n,row:a,snapshot:r}))},g=r=>{const{index:n,style:a,parent:l,row:o,cache:s}=r,{enableReorderCards:u}=e.useContext(c);return o?i.default.createElement(t.Draggable,{key:o.id,draggableId:o.id,index:n,isDragDisabled:!u},((e,t)=>i.default.createElement(d.CellMeasurer,{cache:s,rowIndex:n,parent:l},i.default.createElement(p,{index:n,provided:e,snapshot:t,row:o,style:a})))):null},x=s.default.div`
`,f=({provided:t,snapshot:r,style:d,index:n,row:a})=>{const{cardRenderer:l}=e.useContext(c);return i.default.createElement(p,Object.assign({ref:t.innerRef},t.dragHandleProps,t.draggableProps,{style:Object.assign(Object.assign({},d),t.draggableProps.style)}),null==l?void 0:l({index:n,row:a,snapshot:r}))},g=r=>{const{index:n,style:a,parent:l,row:o,cache:s}=r,{enableReorderCards:u}=e.useContext(c);return o?i.default.createElement(t.Draggable,{key:o.id,draggableId:o.id,index:n,isDragDisabled:!u},((e,t)=>i.default.createElement(d.CellMeasurer,{cache:s,rowIndex:n,parent:l},i.default.createElement(f,{index:n,provided:e,snapshot:t,row:o,style:a})))):null},b=s.default.div`
${({width:e=300})=>`\n width: ${e}px;\n min-width: ${e}px;\n `}

@@ -12,3 +12,3 @@ height: 100%;

flex-direction: column;
`,b=s.default(d.List)`
`,x=s.default(d.List)`
div[role="rowgroup"] {

@@ -22,6 +22,26 @@ min-height: 100%;

`,m=s.default.div`
padding: 0 12px;
position: absolute;
left: 12px;
right: 12px;
top: 0;
bottom: 0;
background: #ffffff;
border: 1px dashed #b0b1b7;
border-radius: 8px;
/* body2 */
padding: 16px;
font-family: PingFang SC;
font-style: normal;
font-weight: normal;
font-size: 13px;
line-height: 18px;
/* identical to box height */
text-align: center;
/* grey */
color: #83868f;
`,w=s.default.div`
padding: 0 12px;
`,v=r=>{const{lane:n}=r,{rows:a}=r.lane,{laneHeaderRenderer:l,laneFooterRenderer:s,enableReorderLanes:u}=e.useContext(c),f=e.useMemo((()=>new d.CellMeasurerCache({fixedWidth:!0})),[]);e.useEffect((()=>{f.clearAll()}),[f,n]);const v=e.useCallback((e=>{const t=a[e.index];return t?i.default.createElement(g,Object.assign({},e,{key:e.key,row:t,cache:f})):null}),[f,a]),E=e.useCallback(((e,t,{source:{index:r}})=>i.default.createElement(p,{index:r,provided:e,snapshot:t,row:a[r]})),[a]);return i.default.createElement(t.Draggable,{key:n.id,draggableId:n.id,index:r.index,isDragDisabled:!u},(e=>i.default.createElement(x,Object.assign({ref:e.innerRef},e.draggableProps),i.default.createElement(m,Object.assign({},e.dragHandleProps),null==l?void 0:l(n)),i.default.createElement(h,null,i.default.createElement(t.Droppable,{droppableId:n.id,mode:"virtual",direction:"vertical",renderClone:E},((e,t)=>i.default.createElement(d.AutoSizer,null,(({width:r,height:d})=>i.default.createElement(b,{width:r,height:d,rowCount:t.isUsingPlaceholder?a.length+1:a.length,rowHeight:f.rowHeight,overscanRowCount:10,rowRenderer:v,ref:t=>{if(t){const r=o.default.findDOMNode(t);r instanceof HTMLElement&&e.innerRef(r)}}})))))),i.default.createElement(w,null,null==s?void 0:s(n)))))},E="kanban";const R=s.default.div`
`,v=s.default.div`
padding: 0 12px;
`,y=r=>{const{lane:n}=r,{rows:a}=r.lane,{laneHeaderRenderer:l,laneFooterRenderer:s,enableReorderLanes:u,appendMode:p}=e.useContext(c),y=e.useMemo((()=>new d.CellMeasurerCache({fixedWidth:!0})),[]);e.useEffect((()=>{y.clearAll()}),[y,n]);const E=e.useCallback((e=>{const t=a[e.index];return t?i.default.createElement(g,Object.assign({},e,{key:e.key,row:t,cache:y})):null}),[y,a]),R=e.useCallback(((e,t,{source:{index:r}})=>i.default.createElement(f,{index:r,provided:e,snapshot:t,row:a[r]})),[a]);return i.default.createElement(t.Draggable,{key:n.id,draggableId:n.id,index:r.index,isDragDisabled:!u},(e=>i.default.createElement(b,Object.assign({ref:e.innerRef},e.draggableProps),i.default.createElement(w,Object.assign({},e.dragHandleProps),null==l?void 0:l(n)),i.default.createElement(h,null,i.default.createElement(t.Droppable,{droppableId:n.id,mode:"virtual",direction:"vertical",renderClone:R},((e,t)=>i.default.createElement(i.default.Fragment,null,i.default.createElement(d.AutoSizer,null,(({width:r,height:d})=>i.default.createElement(x,{width:r,height:d,rowCount:t.isUsingPlaceholder?a.length+1:a.length,rowHeight:y.rowHeight,overscanRowCount:10,rowRenderer:E,ref:t=>{if(t){const r=o.default.findDOMNode(t);r instanceof HTMLElement&&e.innerRef(r)}}}))),p&&t.isDraggingOver&&i.default.createElement(m,null,"拖到这个组"))))),i.default.createElement(v,null,null==s?void 0:s(n)))))},E="kanban";const R=s.default.div`
position: relative;

@@ -39,2 +59,2 @@ display: flex;

}
`;return({lanes:r,width:d,height:n,listWidth:a,onDropCard:l,onDropLane:o,cardRenderer:s,laneHeaderRenderer:f,laneFooterRenderer:p,enableReorderCards:g=!0,enableReorderLanes:x=!0})=>{const b=function(t,{onDropCard:r,onDropLane:d}){return e.useCallback((({source:e,destination:n,draggableId:a})=>{if(n&&(e.droppableId!==n.droppableId||e.index!==n.index))if(e.droppableId===E)null==d||d({listId:a,listIndex:n.index,lists:u.default(t,(t=>{const[r]=t.splice(e.index,1);t.splice(n.index,0,r)}))});else{const d=t.findIndex((t=>t.id===e.droppableId)),l=t.findIndex((e=>e.id===n.droppableId));null==r||r({itemId:a,listId:t[l].id,listIndex:l,rowIndex:n.index,lists:u.default(t,(t=>{const[r]=t[d].rows.splice(e.index,1);t[l].rows.splice(n.index,0,r)}))})}}),[t,r,d])}(r,{onDropCard:l,onDropLane:o}),h={listWidth:a,cardRenderer:s,laneHeaderRenderer:f,laneFooterRenderer:p,enableReorderCards:g,enableReorderLanes:x};return i.default.createElement(R,{width:d,height:n},i.default.createElement(c.Provider,{value:h},i.default.createElement(t.DragDropContext,{onDragEnd:b},i.default.createElement(t.Droppable,{droppableId:E,type:"COLUMN",direction:"horizontal"},(e=>i.default.createElement(R,Object.assign({ref:e.innerRef},e.droppableProps),r.map(((e,t)=>i.default.createElement(v,{key:e.id,lane:e,index:t}))),e.placeholder))))))}}));
`;return({lanes:r,width:d,height:n,listWidth:a,onDropCard:l,onDropLane:o,cardRenderer:s,laneHeaderRenderer:p,laneFooterRenderer:f,enableReorderCards:g=!0,enableReorderLanes:b=!0,appendMode:x=!1})=>{const h=function(t,{onDropCard:r,onDropLane:d},n){return e.useCallback((({source:e,destination:a,draggableId:l})=>{if(a&&(e.droppableId!==a.droppableId||e.index!==a.index))if(e.droppableId===E)null==d||d({listId:l,listIndex:a.index,lists:u.default(t,(t=>{const[r]=t.splice(e.index,1);t.splice(a.index,0,r)}))});else{const d=t.findIndex((t=>t.id===e.droppableId)),i=t.findIndex((e=>e.id===a.droppableId));null==r||r({itemId:l,listId:t[i].id,listIndex:i,rowIndex:a.index,lists:u.default(t,(t=>{if(n&&e.droppableId===a.droppableId)return;const[r]=t[d].rows.splice(e.index,1);n?t[i].rows.push(r):t[i].rows.splice(a.index,0,r)}))})}}),[n,t,r,d])}(r,{onDropCard:l,onDropLane:o},x),m={listWidth:a,cardRenderer:s,laneHeaderRenderer:p,laneFooterRenderer:f,enableReorderCards:g,enableReorderLanes:b,appendMode:x};return i.default.createElement(R,{width:d,height:n},i.default.createElement(c.Provider,{value:m},i.default.createElement(t.DragDropContext,{onDragEnd:h},i.default.createElement(t.Droppable,{droppableId:E,type:"COLUMN",direction:"horizontal"},(e=>i.default.createElement(R,Object.assign({ref:e.innerRef},e.droppableProps),r.map(((e,t)=>i.default.createElement(y,{key:e.id,lane:e,index:t}))),e.placeholder))))))}}));
{
"name": "@treelab/kanban",
"version": "2.0.0-alpha.11",
"version": "2.0.0-alpha.13",
"description": "kanban",

@@ -5,0 +5,0 @@ "author": "treelab",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc