@elliemae/ds-resizeable-container 1.61.12 → 1.61.13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Resizable.js","sources":["../../src/Resizable.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useRef, useState, useEffect } from 'react';\nimport { describe } from 'react-desc';\nimport styled from 'styled-components';\nimport { mapGap } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { props as rprops } from './props';\nimport { defaultProps } from './defaultProps';\n\nconst safeDifference = 15;\nconst minDifference = 8;\nconst EVENT_TYPE = { MOUSE: 'mouse', KEY: 'arrows' };\nconst DIRECTION = {\n L: 'left',\n R: 'right',\n U: 'up',\n D: 'down',\n};\n\nfunction calcPosition(arrow, position) {\n let offset;\n switch (arrow) {\n case DIRECTION.U:\n offset = position - 3;\n break;\n case DIRECTION.D:\n offset = position + 3;\n break;\n case DIRECTION.L:\n offset = position - 3;\n break;\n case DIRECTION.R:\n offset = position + 3;\n break;\n default:\n offset = position;\n }\n return offset;\n}\n\nfunction cursorResolver(nextPx, px, isVertical) {\n const orientation = {\n vertical: 'row-resize',\n horizontal: 'col-resize',\n left: 'w-resize',\n right: 'e-resize',\n up: 'n-resize',\n down: 's-resize',\n };\n\n if (isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.up;\n if (isVertical && px > safeDifference + 1) return orientation.vertical;\n if (isVertical && px <= safeDifference + 1) return orientation.down;\n\n if (!isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.left;\n if (!isVertical && px <= safeDifference + 1) return orientation.right;\n if (!isVertical && px > safeDifference + 1) return orientation.horizontal;\n\n return isVertical ? orientation.vertical : orientation.horizontal;\n}\n\nfunction ResizableItemComponent({ innerRef, ...p }) {\n return <Grid ref={innerRef} {...p} />;\n}\n\nconst ResizableGrid = styled(Grid)``;\nconst ResizableItem = styled(ResizableItemComponent)`\n position: relative;\n`;\nconst ResizableBar = styled.div`\n position: absolute;\n cursor: ${({ container, nextContainer, v }) =>\n cursorResolver(nextContainer, container, v)};\n\n ${(props) => {\n if (props.v) {\n return `\n bottom: calc(${mapGap(props.gutter)} * -0.5);\n left: 0;\n width: 100%;\n height: 10px;\n margin-bottom: -5px;\n display: flex;\n flex-direction: column;\n justify-content:space-around;\n align-items: center;\n &:after{\n width: 100%;\n height: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }\n return `\n top: 0;\n right: calc(${mapGap(props.gutter)} * -0.5);\n height: 100%;\n width: 10px;\n margin-right: -5px;\n display: flex;\n flex-direction: row;\n justify-content:space-around;\n align-items: center;\n &:after{\n height: 100%;\n width: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }}\n`;\nconst getWidths = (list) => list.map((l) => l.clientWidth);\nconst getHeights = (list) => list.map((l) => l.clientHeight);\n\nfunction ResizableContainer({\n children,\n cols,\n rows,\n vertical,\n horizontal,\n ...rest\n}) {\n const refs = useRef([]);\n const [containers, setContainers] = useState(cols);\n const [blocks, setBlocks] = useState(rows);\n const [isDragging, setDragging] = useState(false);\n const [start, setStartPoint] = useState(0);\n const [resetPoint, setResetPoint] = useState();\n\n useEffect(() => {\n if (horizontal) setContainers(getWidths(refs.current));\n if (vertical) setBlocks(getHeights(refs.current));\n }, [refs.current, horizontal, vertical]);\n const addRef = (node) => {\n refs.current.push(node);\n };\n const resizePanels = (diff = 1, v = false) => {\n const index = parseInt(start.index, 10);\n if (!v) {\n const newContainers = [...containers];\n if (\n newContainers[index + 1] &&\n newContainers[index + 1] > minDifference\n ) {\n newContainers[index + 1] = newContainers[index + 1] - diff;\n newContainers[index] = diff + newContainers[index];\n } else if (\n newContainers[index - 1] &&\n newContainers[index - 1] > minDifference\n ) {\n newContainers[index - 1] = newContainers[index - 1] - diff;\n newContainers[index] = diff + newContainers[index];\n }\n if (newContainers.every((c) => c > safeDifference))\n setContainers(newContainers);\n } else {\n const newBlocks = [...blocks];\n if (newBlocks[index + 1] && newBlocks[index + 1] > minDifference) {\n newBlocks[index + 1] = newBlocks[index + 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n } else if (newBlocks[index - 1] && newBlocks[index - 1] > minDifference) {\n newBlocks[index - 1] = newBlocks[index - 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n }\n if (newBlocks.every((c) => c > safeDifference)) setBlocks(newBlocks);\n }\n };\n const startResize = (event, index, v = false, type) => {\n setDragging(type);\n setStartPoint({\n x: event.clientX,\n y: event.clientY,\n index,\n v,\n });\n setResetPoint({ containers, blocks });\n };\n const moveResize = (event, type) => {\n if (isDragging && isDragging === type && !start.v) {\n const diff = event.clientX - start.x;\n if (diff === 0) return;\n setStartPoint({ x: event.clientX, index: start.index });\n resizePanels(diff);\n } else if (isDragging && isDragging === type && start.v) {\n const diff = event.clientY - start.y;\n if (diff === 0) return;\n setStartPoint({ ...start, y: event.clientY, index: start.index });\n resizePanels(diff, true);\n }\n };\n const endResize = (type) => {\n if (isDragging === type) {\n setDragging(false);\n setStartPoint();\n }\n };\n const handleKeyDown = (e, index, v = false) => {\n const keyCodes = {\n 37: DIRECTION.L,\n Left: DIRECTION.L,\n ArrowLeft: DIRECTION.L,\n 38: DIRECTION.U,\n Up: DIRECTION.U,\n ArrowUp: DIRECTION.U,\n 39: DIRECTION.R,\n Right: DIRECTION.R,\n ArrowRight: DIRECTION.R,\n 40: DIRECTION.D,\n Down: DIRECTION.D,\n ArrowDown: DIRECTION.D,\n };\n\n if (keyCodes[e.key || e.keyCode]) {\n e.preventDefault();\n const { top: y, left: x } = e.target.getBoundingClientRect();\n if (!start) {\n startResize({ clientX: x, clientY: y }, index, v, EVENT_TYPE.KEY);\n } else {\n const clientX =\n keyCodes[e.keyCode] === DIRECTION.L ||\n keyCodes[e.keyCode] === DIRECTION.R\n ? calcPosition(keyCodes[e.keyCode], x)\n : x;\n const clientY =\n keyCodes[e.keyCode] === DIRECTION.U ||\n keyCodes[e.keyCode] === DIRECTION.D\n ? calcPosition(keyCodes[e.keyCode], y)\n : y;\n\n moveResize({ clientX, clientY }, EVENT_TYPE.KEY);\n }\n }\n };\n\n const onLeave = (type) => {\n if (isDragging === type) {\n setDragging(false);\n\n if (resetPoint && resetPoint.blocks) setBlocks(resetPoint.blocks);\n if (resetPoint && resetPoint.containers)\n setContainers(resetPoint.containers);\n }\n };\n const count = React.Children.count(children);\n\n return (\n <ResizableGrid\n {...rest}\n cols={containers}\n onKeyUp={() => endResize(EVENT_TYPE.KEY)}\n onMouseLeave={() => onLeave(EVENT_TYPE.MOUSE)}\n onMouseMove={(e) => moveResize(e, EVENT_TYPE.MOUSE)}\n onMouseUp={() => endResize(EVENT_TYPE.MOUSE)}\n rows={blocks}\n >\n {React.Children.map(children, (child, index) => (\n <ResizableItem data-index={index} innerRef={addRef}>\n {child}\n {count - 1 !== index && horizontal && (\n <ResizableBar\n container={containers[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={containers[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, false)}\n onMouseDown={(e) =>\n startResize(e, index, false, EVENT_TYPE.MOUSE)\n }\n tabIndex={0}\n />\n )}\n {count - 1 !== index && vertical && (\n <ResizableBar\n container={blocks[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={blocks[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, true)}\n onMouseDown={(e) => startResize(e, index, true, EVENT_TYPE.MOUSE)}\n tabIndex={0}\n v\n />\n )}\n </ResizableItem>\n ))}\n </ResizableGrid>\n );\n}\n\nResizableContainer.propTypes = rprops;\nResizableContainer.defaultProps = defaultProps;\n\nconst DSResizableContainerWithSchema = describe(ResizableContainer);\nDSResizableContainerWithSchema.propTypes = rprops;\n\nexport { ResizableContainer, DSResizableContainerWithSchema };\nexport default ResizableContainer;\n"],"names":["safeDifference","minDifference","EVENT_TYPE","MOUSE","KEY","DIRECTION","L","R","U","D","calcPosition","arrow","position","offset","cursorResolver","nextPx","px","isVertical","orientation","vertical","horizontal","left","right","up","down","ResizableItemComponent","innerRef","p","React","Grid","ResizableGrid","styled","ResizableItem","ResizableBar","div","container","nextContainer","v","props","mapGap","gutter","theme","colors","neutral","brand","getWidths","list","map","l","clientWidth","getHeights","clientHeight","ResizableContainer","children","cols","rows","rest","refs","useRef","useState","containers","setContainers","blocks","setBlocks","isDragging","setDragging","start","setStartPoint","resetPoint","setResetPoint","useEffect","current","addRef","node","push","resizePanels","diff","index","parseInt","newContainers","every","c","newBlocks","startResize","event","type","x","clientX","y","clientY","moveResize","endResize","handleKeyDown","e","keyCodes","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","key","keyCode","preventDefault","target","getBoundingClientRect","top","onLeave","count","Children","child","propTypes","rprops","defaultProps","DSResizableContainerWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAMA,cAAc,GAAG,EAAvB;AACA,IAAMC,aAAa,GAAG,CAAtB;AACA,IAAMC,UAAU,GAAG;AAAEC,EAAAA,KAAK,EAAE,OAAT;AAAkBC,EAAAA,GAAG,EAAE;AAAvB,CAAnB;AACA,IAAMC,SAAS,GAAG;AAChBC,EAAAA,CAAC,EAAE,MADa;AAEhBC,EAAAA,CAAC,EAAE,OAFa;AAGhBC,EAAAA,CAAC,EAAE,IAHa;AAIhBC,EAAAA,CAAC,EAAE;AAJa,CAAlB;;AAOA,SAASC,YAAT,CAAsBC,KAAtB,EAA6BC,QAA7B,EAAuC;AACrC,MAAIC,MAAJ;;AACA,UAAQF,KAAR;AACE,SAAKN,SAAS,CAACG,CAAf;AACEK,MAAAA,MAAM,GAAGD,QAAQ,GAAG,CAApB;AACA;;AACF,SAAKP,SAAS,CAACI,CAAf;AACEI,MAAAA,MAAM,GAAGD,QAAQ,GAAG,CAApB;AACA;;AACF,SAAKP,SAAS,CAACC,CAAf;AACEO,MAAAA,MAAM,GAAGD,QAAQ,GAAG,CAApB;AACA;;AACF,SAAKP,SAAS,CAACE,CAAf;AACEM,MAAAA,MAAM,GAAGD,QAAQ,GAAG,CAApB;AACA;;AACF;AACEC,MAAAA,MAAM,GAAGD,QAAT;AAdJ;;AAgBA,SAAOC,MAAP;AACD;;AAED,SAASC,cAAT,CAAwBC,MAAxB,EAAgCC,EAAhC,EAAoCC,UAApC,EAAgD;AAC9C,MAAMC,WAAW,GAAG;AAClBC,IAAAA,QAAQ,EAAE,YADQ;AAElBC,IAAAA,UAAU,EAAE,YAFM;AAGlBC,IAAAA,IAAI,EAAE,UAHY;AAIlBC,IAAAA,KAAK,EAAE,UAJW;AAKlBC,IAAAA,EAAE,EAAE,UALc;AAMlBC,IAAAA,IAAI,EAAE;AANY,GAApB;AASA,MAAIP,UAAU,IAAIF,MAAd,IAAwBA,MAAM,IAAIf,cAAc,GAAG,CAAvD,EACE,OAAOkB,WAAW,CAACK,EAAnB;AACF,MAAIN,UAAU,IAAID,EAAE,GAAGhB,cAAc,GAAG,CAAxC,EAA2C,OAAOkB,WAAW,CAACC,QAAnB;AAC3C,MAAIF,UAAU,IAAID,EAAE,IAAIhB,cAAc,GAAG,CAAzC,EAA4C,OAAOkB,WAAW,CAACM,IAAnB;AAE5C,MAAI,CAACP,UAAD,IAAeF,MAAf,IAAyBA,MAAM,IAAIf,cAAc,GAAG,CAAxD,EACE,OAAOkB,WAAW,CAACG,IAAnB;AACF,MAAI,CAACJ,UAAD,IAAeD,EAAE,IAAIhB,cAAc,GAAG,CAA1C,EAA6C,OAAOkB,WAAW,CAACI,KAAnB;AAC7C,MAAI,CAACL,UAAD,IAAeD,EAAE,GAAGhB,cAAc,GAAG,CAAzC,EAA4C,OAAOkB,WAAW,CAACE,UAAnB;AAE5C,SAAOH,UAAU,GAAGC,WAAW,CAACC,QAAf,GAA0BD,WAAW,CAACE,UAAvD;AACD;;AAED,SAASK,sBAAT,OAAoD;AAAA,MAAlBC,QAAkB,QAAlBA,QAAkB;AAAA,MAALC,CAAK;;AAClD,sBAAOC,wCAACC,WAAD;AAAM,IAAA,GAAG,EAAEH;AAAX,KAAyBC,CAAzB,EAAP;AACD;;AAED,IAAMG,aAAa,gBAAGC,0BAAM,CAACF,WAAD,CAAT;AAAA;AAAA,QAAnB;AACA,IAAMG,aAAa,gBAAGD,0BAAM,CAACN,sBAAD,CAAT;AAAA;AAAA,0BAAnB;AAGA,IAAMQ,YAAY,gBAAGF,0BAAM,CAACG,GAAV;AAAA;AAAA,2CAEN;AAAA,MAAGC,SAAH,SAAGA,SAAH;AAAA,MAAcC,aAAd,SAAcA,aAAd;AAAA,MAA6BC,CAA7B,SAA6BA,CAA7B;AAAA,SACRvB,cAAc,CAACsB,aAAD,EAAgBD,SAAhB,EAA2BE,CAA3B,CADN;AAAA,CAFM,EAKd,UAACC,KAAD,EAAW;AACX,MAAIA,KAAK,CAACD,CAAV,EAAa;AACX,4CACiBE,eAAM,CAACD,KAAK,CAACE,MAAP,CADvB,sWAckBF,KAAK,CAACG,KAAN,CAAYC,MAAZ,CAAmBC,OAAnB,CAA2B,KAA3B,CAdlB,iHAmBoBL,KAAK,CAACG,KAAN,CAAYC,MAAZ,CAAmBE,KAAnB,CAAyB,KAAzB,CAnBpB;AAuBD;;AACD,kDAEcL,eAAM,CAACD,KAAK,CAACE,MAAP,CAFpB,gSAcgBF,KAAK,CAACG,KAAN,CAAYC,MAAZ,CAAmBC,OAAnB,CAA2B,KAA3B,CAdhB,6FAmBkBL,KAAK,CAACG,KAAN,CAAYC,MAAZ,CAAmBE,KAAnB,CAAyB,KAAzB,CAnBlB;AAuBD,CAtDe,CAAlB;;AAwDA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD;AAAA,SAAUA,IAAI,CAACC,GAAL,CAAS,UAACC,CAAD;AAAA,WAAOA,CAAC,CAACC,WAAT;AAAA,GAAT,CAAV;AAAA,CAAlB;;AACA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACJ,IAAD;AAAA,SAAUA,IAAI,CAACC,GAAL,CAAS,UAACC,CAAD;AAAA,WAAOA,CAAC,CAACG,YAAT;AAAA,GAAT,CAAV;AAAA,CAAnB;;AAEA,SAASC,kBAAT,QAOG;AAAA,MANDC,QAMC,SANDA,QAMC;AAAA,MALDC,IAKC,SALDA,IAKC;AAAA,MAJDC,IAIC,SAJDA,IAIC;AAAA,MAHDpC,QAGC,SAHDA,QAGC;AAAA,MAFDC,UAEC,SAFDA,UAEC;AAAA,MADEoC,IACF;;AACD,MAAMC,IAAI,GAAGC,YAAM,CAAC,EAAD,CAAnB;;AACA,kBAAoCC,cAAQ,CAACL,IAAD,CAA5C;AAAA;AAAA,MAAOM,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAA4BF,cAAQ,CAACJ,IAAD,CAApC;AAAA;AAAA,MAAOO,MAAP;AAAA,MAAeC,SAAf;;AACA,mBAAkCJ,cAAQ,CAAC,KAAD,CAA1C;AAAA;AAAA,MAAOK,UAAP;AAAA,MAAmBC,WAAnB;;AACA,mBAA+BN,cAAQ,CAAC,CAAD,CAAvC;AAAA;AAAA,MAAOO,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAAoCR,cAAQ,EAA5C;AAAA;AAAA,MAAOS,UAAP;AAAA,MAAmBC,aAAnB;;AAEAC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIlD,UAAJ,EAAgByC,aAAa,CAAChB,SAAS,CAACY,IAAI,CAACc,OAAN,CAAV,CAAb;AAChB,QAAIpD,QAAJ,EAAc4C,SAAS,CAACb,UAAU,CAACO,IAAI,CAACc,OAAN,CAAX,CAAT;AACf,GAHQ,EAGN,CAACd,IAAI,CAACc,OAAN,EAAenD,UAAf,EAA2BD,QAA3B,CAHM,CAAT;;AAIA,MAAMqD,MAAM,GAAG,SAATA,MAAS,CAACC,IAAD,EAAU;AACvBhB,IAAAA,IAAI,CAACc,OAAL,CAAaG,IAAb,CAAkBD,IAAlB;AACD,GAFD;;AAGA,MAAME,YAAY,GAAG,SAAfA,YAAe,GAAyB;AAAA,QAAxBC,IAAwB,uEAAjB,CAAiB;AAAA,QAAdvC,CAAc,uEAAV,KAAU;AAC5C,QAAMwC,KAAK,GAAGC,QAAQ,CAACZ,KAAK,CAACW,KAAP,EAAc,EAAd,CAAtB;;AACA,QAAI,CAACxC,CAAL,EAAQ;AACN,UAAM0C,aAAa,0CAAOnB,UAAP,CAAnB;;AACA,UACEmB,aAAa,CAACF,KAAK,GAAG,CAAT,CAAb,IACAE,aAAa,CAACF,KAAK,GAAG,CAAT,CAAb,GAA2B5E,aAF7B,EAGE;AACA8E,QAAAA,aAAa,CAACF,KAAK,GAAG,CAAT,CAAb,GAA2BE,aAAa,CAACF,KAAK,GAAG,CAAT,CAAb,GAA2BD,IAAtD;AACAG,QAAAA,aAAa,CAACF,KAAD,CAAb,GAAuBD,IAAI,GAAGG,aAAa,CAACF,KAAD,CAA3C;AACD,OAND,MAMO,IACLE,aAAa,CAACF,KAAK,GAAG,CAAT,CAAb,IACAE,aAAa,CAACF,KAAK,GAAG,CAAT,CAAb,GAA2B5E,aAFtB,EAGL;AACA8E,QAAAA,aAAa,CAACF,KAAK,GAAG,CAAT,CAAb,GAA2BE,aAAa,CAACF,KAAK,GAAG,CAAT,CAAb,GAA2BD,IAAtD;AACAG,QAAAA,aAAa,CAACF,KAAD,CAAb,GAAuBD,IAAI,GAAGG,aAAa,CAACF,KAAD,CAA3C;AACD;;AACD,UAAIE,aAAa,CAACC,KAAd,CAAoB,UAACC,CAAD;AAAA,eAAOA,CAAC,GAAGjF,cAAX;AAAA,OAApB,CAAJ,EACE6D,aAAa,CAACkB,aAAD,CAAb;AACH,KAjBD,MAiBO;AACL,UAAMG,SAAS,0CAAOpB,MAAP,CAAf;;AACA,UAAIoB,SAAS,CAACL,KAAK,GAAG,CAAT,CAAT,IAAwBK,SAAS,CAACL,KAAK,GAAG,CAAT,CAAT,GAAuB5E,aAAnD,EAAkE;AAChEiF,QAAAA,SAAS,CAACL,KAAK,GAAG,CAAT,CAAT,GAAuBK,SAAS,CAACL,KAAK,GAAG,CAAT,CAAT,GAAuBD,IAA9C;AACAM,QAAAA,SAAS,CAACL,KAAD,CAAT,GAAmBD,IAAI,GAAGM,SAAS,CAACL,KAAD,CAAnC;AACD,OAHD,MAGO,IAAIK,SAAS,CAACL,KAAK,GAAG,CAAT,CAAT,IAAwBK,SAAS,CAACL,KAAK,GAAG,CAAT,CAAT,GAAuB5E,aAAnD,EAAkE;AACvEiF,QAAAA,SAAS,CAACL,KAAK,GAAG,CAAT,CAAT,GAAuBK,SAAS,CAACL,KAAK,GAAG,CAAT,CAAT,GAAuBD,IAA9C;AACAM,QAAAA,SAAS,CAACL,KAAD,CAAT,GAAmBD,IAAI,GAAGM,SAAS,CAACL,KAAD,CAAnC;AACD;;AACD,UAAIK,SAAS,CAACF,KAAV,CAAgB,UAACC,CAAD;AAAA,eAAOA,CAAC,GAAGjF,cAAX;AAAA,OAAhB,CAAJ,EAAgD+D,SAAS,CAACmB,SAAD,CAAT;AACjD;AACF,GA9BD;;AA+BA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAQP,KAAR,EAAmC;AAAA,QAApBxC,CAAoB,uEAAhB,KAAgB;AAAA,QAATgD,IAAS;AACrDpB,IAAAA,WAAW,CAACoB,IAAD,CAAX;AACAlB,IAAAA,aAAa,CAAC;AACZmB,MAAAA,CAAC,EAAEF,KAAK,CAACG,OADG;AAEZC,MAAAA,CAAC,EAAEJ,KAAK,CAACK,OAFG;AAGZZ,MAAAA,KAAK,EAALA,KAHY;AAIZxC,MAAAA,CAAC,EAADA;AAJY,KAAD,CAAb;AAMAgC,IAAAA,aAAa,CAAC;AAAET,MAAAA,UAAU,EAAVA,UAAF;AAAcE,MAAAA,MAAM,EAANA;AAAd,KAAD,CAAb;AACD,GATD;;AAUA,MAAM4B,UAAU,GAAG,SAAbA,UAAa,CAACN,KAAD,EAAQC,IAAR,EAAiB;AAClC,QAAIrB,UAAU,IAAIA,UAAU,KAAKqB,IAA7B,IAAqC,CAACnB,KAAK,CAAC7B,CAAhD,EAAmD;AACjD,UAAMuC,IAAI,GAAGQ,KAAK,CAACG,OAAN,GAAgBrB,KAAK,CAACoB,CAAnC;AACA,UAAIV,IAAI,KAAK,CAAb,EAAgB;AAChBT,MAAAA,aAAa,CAAC;AAAEmB,QAAAA,CAAC,EAAEF,KAAK,CAACG,OAAX;AAAoBV,QAAAA,KAAK,EAAEX,KAAK,CAACW;AAAjC,OAAD,CAAb;AACAF,MAAAA,YAAY,CAACC,IAAD,CAAZ;AACD,KALD,MAKO,IAAIZ,UAAU,IAAIA,UAAU,KAAKqB,IAA7B,IAAqCnB,KAAK,CAAC7B,CAA/C,EAAkD;AACvD,UAAMuC,KAAI,GAAGQ,KAAK,CAACK,OAAN,GAAgBvB,KAAK,CAACsB,CAAnC;;AACA,UAAIZ,KAAI,KAAK,CAAb,EAAgB;AAChBT,MAAAA,aAAa,iCAAMD,KAAN;AAAasB,QAAAA,CAAC,EAAEJ,KAAK,CAACK,OAAtB;AAA+BZ,QAAAA,KAAK,EAAEX,KAAK,CAACW;AAA5C,SAAb;AACAF,MAAAA,YAAY,CAACC,KAAD,EAAO,IAAP,CAAZ;AACD;AACF,GAZD;;AAaA,MAAMe,SAAS,GAAG,SAAZA,SAAY,CAACN,IAAD,EAAU;AAC1B,QAAIrB,UAAU,KAAKqB,IAAnB,EAAyB;AACvBpB,MAAAA,WAAW,CAAC,KAAD,CAAX;AACAE,MAAAA,aAAa;AACd;AACF,GALD;;AAMA,MAAMyB,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAAIhB,KAAJ,EAAyB;AAAA,QAAdxC,CAAc,uEAAV,KAAU;AAC7C,QAAMyD,QAAQ,GAAG;AACf,UAAIzF,SAAS,CAACC,CADC;AAEfyF,MAAAA,IAAI,EAAE1F,SAAS,CAACC,CAFD;AAGf0F,MAAAA,SAAS,EAAE3F,SAAS,CAACC,CAHN;AAIf,UAAID,SAAS,CAACG,CAJC;AAKfyF,MAAAA,EAAE,EAAE5F,SAAS,CAACG,CALC;AAMf0F,MAAAA,OAAO,EAAE7F,SAAS,CAACG,CANJ;AAOf,UAAIH,SAAS,CAACE,CAPC;AAQf4F,MAAAA,KAAK,EAAE9F,SAAS,CAACE,CARF;AASf6F,MAAAA,UAAU,EAAE/F,SAAS,CAACE,CATP;AAUf,UAAIF,SAAS,CAACI,CAVC;AAWf4F,MAAAA,IAAI,EAAEhG,SAAS,CAACI,CAXD;AAYf6F,MAAAA,SAAS,EAAEjG,SAAS,CAACI;AAZN,KAAjB;;AAeA,QAAIqF,QAAQ,CAACD,CAAC,CAACU,GAAF,IAASV,CAAC,CAACW,OAAZ,CAAZ,EAAkC;AAChCX,MAAAA,CAAC,CAACY,cAAF;;AACA,kCAA4BZ,CAAC,CAACa,MAAF,CAASC,qBAAT,EAA5B;AAAA,UAAanB,CAAb,yBAAQoB,GAAR;AAAA,UAAsBtB,CAAtB,yBAAgBjE,IAAhB;;AACA,UAAI,CAAC6C,KAAL,EAAY;AACViB,QAAAA,WAAW,CAAC;AAAEI,UAAAA,OAAO,EAAED,CAAX;AAAcG,UAAAA,OAAO,EAAED;AAAvB,SAAD,EAA6BX,KAA7B,EAAoCxC,CAApC,EAAuCnC,UAAU,CAACE,GAAlD,CAAX;AACD,OAFD,MAEO;AACL,YAAMmF,OAAO,GACXO,QAAQ,CAACD,CAAC,CAACW,OAAH,CAAR,KAAwBnG,SAAS,CAACC,CAAlC,IACAwF,QAAQ,CAACD,CAAC,CAACW,OAAH,CAAR,KAAwBnG,SAAS,CAACE,CADlC,GAEIG,YAAY,CAACoF,QAAQ,CAACD,CAAC,CAACW,OAAH,CAAT,EAAsBlB,CAAtB,CAFhB,GAGIA,CAJN;AAKA,YAAMG,OAAO,GACXK,QAAQ,CAACD,CAAC,CAACW,OAAH,CAAR,KAAwBnG,SAAS,CAACG,CAAlC,IACAsF,QAAQ,CAACD,CAAC,CAACW,OAAH,CAAR,KAAwBnG,SAAS,CAACI,CADlC,GAEIC,YAAY,CAACoF,QAAQ,CAACD,CAAC,CAACW,OAAH,CAAT,EAAsBhB,CAAtB,CAFhB,GAGIA,CAJN;AAMAE,QAAAA,UAAU,CAAC;AAAEH,UAAAA,OAAO,EAAPA,OAAF;AAAWE,UAAAA,OAAO,EAAPA;AAAX,SAAD,EAAuBvF,UAAU,CAACE,GAAlC,CAAV;AACD;AACF;AACF,GApCD;;AAsCA,MAAMyG,OAAO,GAAG,SAAVA,OAAU,CAACxB,IAAD,EAAU;AACxB,QAAIrB,UAAU,KAAKqB,IAAnB,EAAyB;AACvBpB,MAAAA,WAAW,CAAC,KAAD,CAAX;AAEA,UAAIG,UAAU,IAAIA,UAAU,CAACN,MAA7B,EAAqCC,SAAS,CAACK,UAAU,CAACN,MAAZ,CAAT;AACrC,UAAIM,UAAU,IAAIA,UAAU,CAACR,UAA7B,EACEC,aAAa,CAACO,UAAU,CAACR,UAAZ,CAAb;AACH;AACF,GARD;;AASA,MAAMkD,KAAK,GAAGlF,yBAAK,CAACmF,QAAN,CAAeD,KAAf,CAAqBzD,QAArB,CAAd;AAEA,sBACEzB,wCAAC,aAAD,mCACM4B,IADN;AAEE,IAAA,IAAI,EAAEI,UAFR;AAGE,IAAA,OAAO,EAAE;AAAA,aAAM+B,SAAS,CAACzF,UAAU,CAACE,GAAZ,CAAf;AAAA,KAHX;AAIE,IAAA,YAAY,EAAE;AAAA,aAAMyG,OAAO,CAAC3G,UAAU,CAACC,KAAZ,CAAb;AAAA,KAJhB;AAKE,IAAA,WAAW,EAAE,qBAAC0F,CAAD;AAAA,aAAOH,UAAU,CAACG,CAAD,EAAI3F,UAAU,CAACC,KAAf,CAAjB;AAAA,KALf;AAME,IAAA,SAAS,EAAE;AAAA,aAAMwF,SAAS,CAACzF,UAAU,CAACC,KAAZ,CAAf;AAAA,KANb;AAOE,IAAA,IAAI,EAAE2D;AAPR,MASGlC,yBAAK,CAACmF,QAAN,CAAehE,GAAf,CAAmBM,QAAnB,EAA6B,UAAC2D,KAAD,EAAQnC,KAAR;AAAA,wBAC5BjD,wCAAC,aAAD;AAAe,oBAAYiD,KAA3B;AAAkC,MAAA,QAAQ,EAAEL;AAA5C,OACGwC,KADH,EAEGF,KAAK,GAAG,CAAR,KAAcjC,KAAd,IAAuBzD,UAAvB,iBACCQ,wCAAC,YAAD;AACE,MAAA,SAAS,EAAEgC,UAAU,CAACiB,KAAD,CADvB;AAEE,oBAAYA,KAFd;AAGE,MAAA,MAAM,EAAErB,IAAI,CAAChB,MAHf;AAIE,MAAA,aAAa,EAAEoB,UAAU,CAACiB,KAAK,GAAG,CAAT,CAJ3B;AAKE,MAAA,SAAS,EAAE,mBAACgB,CAAD;AAAA,eAAOD,aAAa,CAACC,CAAD,EAAIhB,KAAJ,EAAW,KAAX,CAApB;AAAA,OALb;AAME,MAAA,WAAW,EAAE,qBAACgB,CAAD;AAAA,eACXV,WAAW,CAACU,CAAD,EAAIhB,KAAJ,EAAW,KAAX,EAAkB3E,UAAU,CAACC,KAA7B,CADA;AAAA,OANf;AASE,MAAA,QAAQ,EAAE;AATZ,MAHJ,EAeG2G,KAAK,GAAG,CAAR,KAAcjC,KAAd,IAAuB1D,QAAvB,iBACCS,wCAAC,YAAD;AACE,MAAA,SAAS,EAAEkC,MAAM,CAACe,KAAD,CADnB;AAEE,oBAAYA,KAFd;AAGE,MAAA,MAAM,EAAErB,IAAI,CAAChB,MAHf;AAIE,MAAA,aAAa,EAAEsB,MAAM,CAACe,KAAK,GAAG,CAAT,CAJvB;AAKE,MAAA,SAAS,EAAE,mBAACgB,CAAD;AAAA,eAAOD,aAAa,CAACC,CAAD,EAAIhB,KAAJ,EAAW,IAAX,CAApB;AAAA,OALb;AAME,MAAA,WAAW,EAAE,qBAACgB,CAAD;AAAA,eAAOV,WAAW,CAACU,CAAD,EAAIhB,KAAJ,EAAW,IAAX,EAAiB3E,UAAU,CAACC,KAA5B,CAAlB;AAAA,OANf;AAOE,MAAA,QAAQ,EAAE,CAPZ;AAQE,MAAA,CAAC;AARH,MAhBJ,CAD4B;AAAA,GAA7B,CATH,CADF;AA0CD;;AAEDiD,kBAAkB,CAAC6D,SAAnB,GAA+BC,WAA/B;AACA9D,kBAAkB,CAAC+D,YAAnB,GAAkCA,yBAAlC;IAEMC,8BAA8B,GAAGC,kBAAQ,CAACjE,kBAAD;AAC/CgE,8BAA8B,CAACH,SAA/B,GAA2CC,WAA3C;;;;;;"}
1
+ {"version":3,"file":"Resizable.js","sources":["../../src/Resizable.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useRef, useState, useEffect } from 'react';\nimport { describe } from 'react-desc';\nimport styled from 'styled-components';\nimport { mapGap } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { props as rprops } from './props';\nimport { defaultProps } from './defaultProps';\n\nconst safeDifference = 15;\nconst minDifference = 8;\nconst EVENT_TYPE = { MOUSE: 'mouse', KEY: 'arrows' };\nconst DIRECTION = {\n L: 'left',\n R: 'right',\n U: 'up',\n D: 'down',\n};\n\nfunction calcPosition(arrow, position) {\n let offset;\n switch (arrow) {\n case DIRECTION.U:\n offset = position - 3;\n break;\n case DIRECTION.D:\n offset = position + 3;\n break;\n case DIRECTION.L:\n offset = position - 3;\n break;\n case DIRECTION.R:\n offset = position + 3;\n break;\n default:\n offset = position;\n }\n return offset;\n}\n\nfunction cursorResolver(nextPx, px, isVertical) {\n const orientation = {\n vertical: 'row-resize',\n horizontal: 'col-resize',\n left: 'w-resize',\n right: 'e-resize',\n up: 'n-resize',\n down: 's-resize',\n };\n\n if (isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.up;\n if (isVertical && px > safeDifference + 1) return orientation.vertical;\n if (isVertical && px <= safeDifference + 1) return orientation.down;\n\n if (!isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.left;\n if (!isVertical && px <= safeDifference + 1) return orientation.right;\n if (!isVertical && px > safeDifference + 1) return orientation.horizontal;\n\n return isVertical ? orientation.vertical : orientation.horizontal;\n}\n\nfunction ResizableItemComponent({ innerRef, ...p }) {\n return <Grid ref={innerRef} {...p} />;\n}\n\nconst ResizableGrid = styled(Grid)``;\nconst ResizableItem = styled(ResizableItemComponent)`\n position: relative;\n`;\nconst ResizableBar = styled.div`\n position: absolute;\n cursor: ${({ container, nextContainer, v }) =>\n cursorResolver(nextContainer, container, v)};\n\n ${(props) => {\n if (props.v) {\n return `\n bottom: calc(${mapGap(props.gutter)} * -0.5);\n left: 0;\n width: 100%;\n height: 10px;\n margin-bottom: -5px;\n display: flex;\n flex-direction: column;\n justify-content:space-around;\n align-items: center;\n &:after{\n width: 100%;\n height: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }\n return `\n top: 0;\n right: calc(${mapGap(props.gutter)} * -0.5);\n height: 100%;\n width: 10px;\n margin-right: -5px;\n display: flex;\n flex-direction: row;\n justify-content:space-around;\n align-items: center;\n &:after{\n height: 100%;\n width: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }}\n`;\nconst getWidths = (list) => list.map((l) => l.clientWidth);\nconst getHeights = (list) => list.map((l) => l.clientHeight);\n\nfunction ResizableContainer({\n children,\n cols,\n rows,\n vertical,\n horizontal,\n ...rest\n}) {\n const refs = useRef([]);\n const [containers, setContainers] = useState(cols);\n const [blocks, setBlocks] = useState(rows);\n const [isDragging, setDragging] = useState(false);\n const [start, setStartPoint] = useState(0);\n const [resetPoint, setResetPoint] = useState();\n\n useEffect(() => {\n if (horizontal) setContainers(getWidths(refs.current));\n if (vertical) setBlocks(getHeights(refs.current));\n }, [refs.current, horizontal, vertical]);\n const addRef = (node) => {\n refs.current.push(node);\n };\n const resizePanels = (diff = 1, v = false) => {\n const index = parseInt(start.index, 10);\n if (!v) {\n const newContainers = [...containers];\n if (\n newContainers[index + 1] &&\n newContainers[index + 1] > minDifference\n ) {\n newContainers[index + 1] = newContainers[index + 1] - diff;\n newContainers[index] = diff + newContainers[index];\n } else if (\n newContainers[index - 1] &&\n newContainers[index - 1] > minDifference\n ) {\n newContainers[index - 1] = newContainers[index - 1] - diff;\n newContainers[index] = diff + newContainers[index];\n }\n if (newContainers.every((c) => c > safeDifference))\n setContainers(newContainers);\n } else {\n const newBlocks = [...blocks];\n if (newBlocks[index + 1] && newBlocks[index + 1] > minDifference) {\n newBlocks[index + 1] = newBlocks[index + 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n } else if (newBlocks[index - 1] && newBlocks[index - 1] > minDifference) {\n newBlocks[index - 1] = newBlocks[index - 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n }\n if (newBlocks.every((c) => c > safeDifference)) setBlocks(newBlocks);\n }\n };\n const startResize = (event, index, v = false, type) => {\n setDragging(type);\n setStartPoint({\n x: event.clientX,\n y: event.clientY,\n index,\n v,\n });\n setResetPoint({ containers, blocks });\n };\n const moveResize = (event, type) => {\n if (isDragging && isDragging === type && !start.v) {\n const diff = event.clientX - start.x;\n if (diff === 0) return;\n setStartPoint({ x: event.clientX, index: start.index });\n resizePanels(diff);\n } else if (isDragging && isDragging === type && start.v) {\n const diff = event.clientY - start.y;\n if (diff === 0) return;\n setStartPoint({ ...start, y: event.clientY, index: start.index });\n resizePanels(diff, true);\n }\n };\n const endResize = (type) => {\n if (isDragging === type) {\n setDragging(false);\n setStartPoint();\n }\n };\n const handleKeyDown = (e, index, v = false) => {\n const keyCodes = {\n 37: DIRECTION.L,\n Left: DIRECTION.L,\n ArrowLeft: DIRECTION.L,\n 38: DIRECTION.U,\n Up: DIRECTION.U,\n ArrowUp: DIRECTION.U,\n 39: DIRECTION.R,\n Right: DIRECTION.R,\n ArrowRight: DIRECTION.R,\n 40: DIRECTION.D,\n Down: DIRECTION.D,\n ArrowDown: DIRECTION.D,\n };\n\n if (keyCodes[e.key || e.keyCode]) {\n e.preventDefault();\n const { top: y, left: x } = e.target.getBoundingClientRect();\n if (!start) {\n startResize({ clientX: x, clientY: y }, index, v, EVENT_TYPE.KEY);\n } else {\n const clientX =\n keyCodes[e.keyCode] === DIRECTION.L ||\n keyCodes[e.keyCode] === DIRECTION.R\n ? calcPosition(keyCodes[e.keyCode], x)\n : x;\n const clientY =\n keyCodes[e.keyCode] === DIRECTION.U ||\n keyCodes[e.keyCode] === DIRECTION.D\n ? calcPosition(keyCodes[e.keyCode], y)\n : y;\n\n moveResize({ clientX, clientY }, EVENT_TYPE.KEY);\n }\n }\n };\n\n const onLeave = (type) => {\n if (isDragging === type) {\n setDragging(false);\n\n if (resetPoint && resetPoint.blocks) setBlocks(resetPoint.blocks);\n if (resetPoint && resetPoint.containers)\n setContainers(resetPoint.containers);\n }\n };\n const count = React.Children.count(children);\n\n return (\n <ResizableGrid\n {...rest}\n cols={containers}\n onKeyUp={() => endResize(EVENT_TYPE.KEY)}\n onMouseLeave={() => onLeave(EVENT_TYPE.MOUSE)}\n onMouseMove={(e) => moveResize(e, EVENT_TYPE.MOUSE)}\n onMouseUp={() => endResize(EVENT_TYPE.MOUSE)}\n rows={blocks}\n >\n {React.Children.map(children, (child, index) => (\n <ResizableItem data-index={index} innerRef={addRef}>\n {child}\n {count - 1 !== index && horizontal && (\n <ResizableBar\n container={containers[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={containers[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, false)}\n onMouseDown={(e) =>\n startResize(e, index, false, EVENT_TYPE.MOUSE)\n }\n tabIndex={0}\n />\n )}\n {count - 1 !== index && vertical && (\n <ResizableBar\n container={blocks[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={blocks[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, true)}\n onMouseDown={(e) => startResize(e, index, true, EVENT_TYPE.MOUSE)}\n tabIndex={0}\n v\n />\n )}\n </ResizableItem>\n ))}\n </ResizableGrid>\n );\n}\n\nResizableContainer.propTypes = rprops;\nResizableContainer.defaultProps = defaultProps;\n\nconst DSResizableContainerWithSchema = describe(ResizableContainer);\nDSResizableContainerWithSchema.propTypes = rprops;\n\nexport { ResizableContainer, DSResizableContainerWithSchema };\nexport default ResizableContainer;\n"],"names":["safeDifference","minDifference","EVENT_TYPE","MOUSE","KEY","DIRECTION","L","R","U","D","calcPosition","arrow","position","offset","cursorResolver","nextPx","px","isVertical","orientation","vertical","horizontal","left","right","up","down","ResizableItemComponent","innerRef","p","React","Grid","ResizableGrid","styled","ResizableItem","ResizableBar","div","container","nextContainer","v","props","mapGap","gutter","theme","colors","neutral","brand","getWidths","list","map","l","clientWidth","getHeights","clientHeight","ResizableContainer","children","cols","rows","rest","refs","useRef","useState","containers","setContainers","blocks","setBlocks","isDragging","setDragging","start","setStartPoint","resetPoint","setResetPoint","useEffect","current","addRef","node","push","resizePanels","diff","index","parseInt","newContainers","every","c","newBlocks","startResize","event","type","x","clientX","y","clientY","moveResize","endResize","handleKeyDown","e","keyCodes","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","key","keyCode","preventDefault","target","getBoundingClientRect","top","onLeave","count","Children","child","propTypes","rprops","defaultProps","DSResizableContainerWithSchema","describe"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultProps.js","sources":["../../src/defaultProps.tsx"],"sourcesContent":["export const defaultProps = {\n vertical: false,\n horizontal: false,\n};\n"],"names":["defaultProps","vertical","horizontal"],"mappings":";;;;IAAaA,YAAY,GAAG;AAC1BC,EAAAA,QAAQ,EAAE,KADgB;AAE1BC,EAAAA,UAAU,EAAE;AAFc;;;;"}
1
+ {"version":3,"file":"defaultProps.js","sources":["../../src/defaultProps.tsx"],"sourcesContent":["export const defaultProps = {\n vertical: false,\n horizontal: false,\n};\n"],"names":["defaultProps","vertical","horizontal"],"mappings":";;;;IAAaA,YAAY,GAAG;EAC1BC,QAAQ,EAAE,KADgB;EAE1BC,UAAU,EAAE;AAFc;;;;"}
package/cjs/props.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sources":["../../src/props.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\n\nexport const props = {\n /** grid item content */\n children: PropTypes.node.description('Grid item content'),\n /** vertical resizing */\n vertical: PropTypes.bool.description('vertical resizing'),\n /** horizontal resizing */\n horizontal: PropTypes.bool.description('horizontal resizing'),\n /** Row layout cells */\n rows: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ).description('Row layout cells'),\n /** Column layout cells */\n cols: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ).description('Column layout cells'),\n};\n"],"names":["props","children","PropTypes","node","description","vertical","bool","horizontal","rows","arrayOf","oneOfType","number","string","cols"],"mappings":";;;;;;IAEaA,KAAK,GAAG;AACnB;AACAC,EAAAA,QAAQ,EAAEC,mBAAS,CAACC,IAAV,CAAeC,WAAf,CAA2B,mBAA3B,CAFS;;AAGnB;AACAC,EAAAA,QAAQ,EAAEH,mBAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,mBAA3B,CAJS;;AAKnB;AACAG,EAAAA,UAAU,EAAEL,mBAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,qBAA3B,CANO;;AAOnB;AACAI,EAAAA,IAAI,EAAEN,mBAAS,CAACO,OAAV,CACJP,mBAAS,CAACQ,SAAV,CAAoB,CAACR,mBAAS,CAACS,MAAX,EAAmBT,mBAAS,CAACU,MAA7B,CAApB,CADI,EAEJR,WAFI,CAEQ,kBAFR,CARa;;AAWnB;AACAS,EAAAA,IAAI,EAAEX,mBAAS,CAACO,OAAV,CACJP,mBAAS,CAACQ,SAAV,CAAoB,CAACR,mBAAS,CAACS,MAAX,EAAmBT,mBAAS,CAACU,MAA7B,CAApB,CADI,EAEJR,WAFI,CAEQ,qBAFR;AAZa;;;;"}
1
+ {"version":3,"file":"props.js","sources":["../../src/props.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\n\nexport const props = {\n /** grid item content */\n children: PropTypes.node.description('Grid item content'),\n /** vertical resizing */\n vertical: PropTypes.bool.description('vertical resizing'),\n /** horizontal resizing */\n horizontal: PropTypes.bool.description('horizontal resizing'),\n /** Row layout cells */\n rows: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ).description('Row layout cells'),\n /** Column layout cells */\n cols: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ).description('Column layout cells'),\n};\n"],"names":["props","children","PropTypes","node","description","vertical","bool","horizontal","rows","arrayOf","oneOfType","number","string","cols"],"mappings":";;;;;;IAEaA,KAAK,GAAG;;EAEnBC,QAAQ,EAAEC,mBAAS,CAACC,IAAV,CAAeC,WAAf,CAA2B,mBAA3B,CAFS;;;EAInBC,QAAQ,EAAEH,mBAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,mBAA3B,CAJS;;;EAMnBG,UAAU,EAAEL,mBAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,qBAA3B,CANO;;;EAQnBI,IAAI,EAAEN,mBAAS,CAACO,OAAV,CACJP,mBAAS,CAACQ,SAAV,CAAoB,CAACR,mBAAS,CAACS,MAAX,EAAmBT,mBAAS,CAACU,MAA7B,CAApB,CADI,EAEJR,WAFI,CAEQ,kBAFR,CARa;;;EAYnBS,IAAI,EAAEX,mBAAS,CAACO,OAAV,CACJP,mBAAS,CAACQ,SAAV,CAAoB,CAACR,mBAAS,CAACS,MAAX,EAAmBT,mBAAS,CAACU,MAA7B,CAApB,CADI,EAEJR,WAFI,CAEQ,qBAFR;AAZa;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Resizable.js","sources":["../../src/Resizable.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useRef, useState, useEffect } from 'react';\nimport { describe } from 'react-desc';\nimport styled from 'styled-components';\nimport { mapGap } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { props as rprops } from './props';\nimport { defaultProps } from './defaultProps';\n\nconst safeDifference = 15;\nconst minDifference = 8;\nconst EVENT_TYPE = { MOUSE: 'mouse', KEY: 'arrows' };\nconst DIRECTION = {\n L: 'left',\n R: 'right',\n U: 'up',\n D: 'down',\n};\n\nfunction calcPosition(arrow, position) {\n let offset;\n switch (arrow) {\n case DIRECTION.U:\n offset = position - 3;\n break;\n case DIRECTION.D:\n offset = position + 3;\n break;\n case DIRECTION.L:\n offset = position - 3;\n break;\n case DIRECTION.R:\n offset = position + 3;\n break;\n default:\n offset = position;\n }\n return offset;\n}\n\nfunction cursorResolver(nextPx, px, isVertical) {\n const orientation = {\n vertical: 'row-resize',\n horizontal: 'col-resize',\n left: 'w-resize',\n right: 'e-resize',\n up: 'n-resize',\n down: 's-resize',\n };\n\n if (isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.up;\n if (isVertical && px > safeDifference + 1) return orientation.vertical;\n if (isVertical && px <= safeDifference + 1) return orientation.down;\n\n if (!isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.left;\n if (!isVertical && px <= safeDifference + 1) return orientation.right;\n if (!isVertical && px > safeDifference + 1) return orientation.horizontal;\n\n return isVertical ? orientation.vertical : orientation.horizontal;\n}\n\nfunction ResizableItemComponent({ innerRef, ...p }) {\n return <Grid ref={innerRef} {...p} />;\n}\n\nconst ResizableGrid = styled(Grid)``;\nconst ResizableItem = styled(ResizableItemComponent)`\n position: relative;\n`;\nconst ResizableBar = styled.div`\n position: absolute;\n cursor: ${({ container, nextContainer, v }) =>\n cursorResolver(nextContainer, container, v)};\n\n ${(props) => {\n if (props.v) {\n return `\n bottom: calc(${mapGap(props.gutter)} * -0.5);\n left: 0;\n width: 100%;\n height: 10px;\n margin-bottom: -5px;\n display: flex;\n flex-direction: column;\n justify-content:space-around;\n align-items: center;\n &:after{\n width: 100%;\n height: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }\n return `\n top: 0;\n right: calc(${mapGap(props.gutter)} * -0.5);\n height: 100%;\n width: 10px;\n margin-right: -5px;\n display: flex;\n flex-direction: row;\n justify-content:space-around;\n align-items: center;\n &:after{\n height: 100%;\n width: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }}\n`;\nconst getWidths = (list) => list.map((l) => l.clientWidth);\nconst getHeights = (list) => list.map((l) => l.clientHeight);\n\nfunction ResizableContainer({\n children,\n cols,\n rows,\n vertical,\n horizontal,\n ...rest\n}) {\n const refs = useRef([]);\n const [containers, setContainers] = useState(cols);\n const [blocks, setBlocks] = useState(rows);\n const [isDragging, setDragging] = useState(false);\n const [start, setStartPoint] = useState(0);\n const [resetPoint, setResetPoint] = useState();\n\n useEffect(() => {\n if (horizontal) setContainers(getWidths(refs.current));\n if (vertical) setBlocks(getHeights(refs.current));\n }, [refs.current, horizontal, vertical]);\n const addRef = (node) => {\n refs.current.push(node);\n };\n const resizePanels = (diff = 1, v = false) => {\n const index = parseInt(start.index, 10);\n if (!v) {\n const newContainers = [...containers];\n if (\n newContainers[index + 1] &&\n newContainers[index + 1] > minDifference\n ) {\n newContainers[index + 1] = newContainers[index + 1] - diff;\n newContainers[index] = diff + newContainers[index];\n } else if (\n newContainers[index - 1] &&\n newContainers[index - 1] > minDifference\n ) {\n newContainers[index - 1] = newContainers[index - 1] - diff;\n newContainers[index] = diff + newContainers[index];\n }\n if (newContainers.every((c) => c > safeDifference))\n setContainers(newContainers);\n } else {\n const newBlocks = [...blocks];\n if (newBlocks[index + 1] && newBlocks[index + 1] > minDifference) {\n newBlocks[index + 1] = newBlocks[index + 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n } else if (newBlocks[index - 1] && newBlocks[index - 1] > minDifference) {\n newBlocks[index - 1] = newBlocks[index - 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n }\n if (newBlocks.every((c) => c > safeDifference)) setBlocks(newBlocks);\n }\n };\n const startResize = (event, index, v = false, type) => {\n setDragging(type);\n setStartPoint({\n x: event.clientX,\n y: event.clientY,\n index,\n v,\n });\n setResetPoint({ containers, blocks });\n };\n const moveResize = (event, type) => {\n if (isDragging && isDragging === type && !start.v) {\n const diff = event.clientX - start.x;\n if (diff === 0) return;\n setStartPoint({ x: event.clientX, index: start.index });\n resizePanels(diff);\n } else if (isDragging && isDragging === type && start.v) {\n const diff = event.clientY - start.y;\n if (diff === 0) return;\n setStartPoint({ ...start, y: event.clientY, index: start.index });\n resizePanels(diff, true);\n }\n };\n const endResize = (type) => {\n if (isDragging === type) {\n setDragging(false);\n setStartPoint();\n }\n };\n const handleKeyDown = (e, index, v = false) => {\n const keyCodes = {\n 37: DIRECTION.L,\n Left: DIRECTION.L,\n ArrowLeft: DIRECTION.L,\n 38: DIRECTION.U,\n Up: DIRECTION.U,\n ArrowUp: DIRECTION.U,\n 39: DIRECTION.R,\n Right: DIRECTION.R,\n ArrowRight: DIRECTION.R,\n 40: DIRECTION.D,\n Down: DIRECTION.D,\n ArrowDown: DIRECTION.D,\n };\n\n if (keyCodes[e.key || e.keyCode]) {\n e.preventDefault();\n const { top: y, left: x } = e.target.getBoundingClientRect();\n if (!start) {\n startResize({ clientX: x, clientY: y }, index, v, EVENT_TYPE.KEY);\n } else {\n const clientX =\n keyCodes[e.keyCode] === DIRECTION.L ||\n keyCodes[e.keyCode] === DIRECTION.R\n ? calcPosition(keyCodes[e.keyCode], x)\n : x;\n const clientY =\n keyCodes[e.keyCode] === DIRECTION.U ||\n keyCodes[e.keyCode] === DIRECTION.D\n ? calcPosition(keyCodes[e.keyCode], y)\n : y;\n\n moveResize({ clientX, clientY }, EVENT_TYPE.KEY);\n }\n }\n };\n\n const onLeave = (type) => {\n if (isDragging === type) {\n setDragging(false);\n\n if (resetPoint && resetPoint.blocks) setBlocks(resetPoint.blocks);\n if (resetPoint && resetPoint.containers)\n setContainers(resetPoint.containers);\n }\n };\n const count = React.Children.count(children);\n\n return (\n <ResizableGrid\n {...rest}\n cols={containers}\n onKeyUp={() => endResize(EVENT_TYPE.KEY)}\n onMouseLeave={() => onLeave(EVENT_TYPE.MOUSE)}\n onMouseMove={(e) => moveResize(e, EVENT_TYPE.MOUSE)}\n onMouseUp={() => endResize(EVENT_TYPE.MOUSE)}\n rows={blocks}\n >\n {React.Children.map(children, (child, index) => (\n <ResizableItem data-index={index} innerRef={addRef}>\n {child}\n {count - 1 !== index && horizontal && (\n <ResizableBar\n container={containers[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={containers[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, false)}\n onMouseDown={(e) =>\n startResize(e, index, false, EVENT_TYPE.MOUSE)\n }\n tabIndex={0}\n />\n )}\n {count - 1 !== index && vertical && (\n <ResizableBar\n container={blocks[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={blocks[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, true)}\n onMouseDown={(e) => startResize(e, index, true, EVENT_TYPE.MOUSE)}\n tabIndex={0}\n v\n />\n )}\n </ResizableItem>\n ))}\n </ResizableGrid>\n );\n}\n\nResizableContainer.propTypes = rprops;\nResizableContainer.defaultProps = defaultProps;\n\nconst DSResizableContainerWithSchema = describe(ResizableContainer);\nDSResizableContainerWithSchema.propTypes = rprops;\n\nexport { ResizableContainer, DSResizableContainerWithSchema };\nexport default ResizableContainer;\n"],"names":["safeDifference","minDifference","EVENT_TYPE","MOUSE","KEY","DIRECTION","L","R","U","D","calcPosition","arrow","position","offset","cursorResolver","nextPx","px","isVertical","orientation","vertical","horizontal","left","right","up","down","ResizableItemComponent","innerRef","p","ResizableGrid","styled","Grid","ResizableItem","ResizableBar","div","container","nextContainer","v","props","mapGap","gutter","theme","colors","neutral","brand","getWidths","list","map","l","clientWidth","getHeights","clientHeight","ResizableContainer","children","cols","rows","rest","refs","useRef","useState","containers","setContainers","blocks","setBlocks","isDragging","setDragging","start","setStartPoint","resetPoint","setResetPoint","useEffect","current","addRef","node","push","resizePanels","diff","index","parseInt","newContainers","every","c","newBlocks","startResize","event","type","x","clientX","y","clientY","moveResize","endResize","handleKeyDown","e","keyCodes","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","key","keyCode","preventDefault","target","getBoundingClientRect","top","onLeave","count","React","Children","child","propTypes","rprops","defaultProps","DSResizableContainerWithSchema","describe"],"mappings":"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"}
1
+ {"version":3,"file":"Resizable.js","sources":["../../src/Resizable.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useRef, useState, useEffect } from 'react';\nimport { describe } from 'react-desc';\nimport styled from 'styled-components';\nimport { mapGap } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { props as rprops } from './props';\nimport { defaultProps } from './defaultProps';\n\nconst safeDifference = 15;\nconst minDifference = 8;\nconst EVENT_TYPE = { MOUSE: 'mouse', KEY: 'arrows' };\nconst DIRECTION = {\n L: 'left',\n R: 'right',\n U: 'up',\n D: 'down',\n};\n\nfunction calcPosition(arrow, position) {\n let offset;\n switch (arrow) {\n case DIRECTION.U:\n offset = position - 3;\n break;\n case DIRECTION.D:\n offset = position + 3;\n break;\n case DIRECTION.L:\n offset = position - 3;\n break;\n case DIRECTION.R:\n offset = position + 3;\n break;\n default:\n offset = position;\n }\n return offset;\n}\n\nfunction cursorResolver(nextPx, px, isVertical) {\n const orientation = {\n vertical: 'row-resize',\n horizontal: 'col-resize',\n left: 'w-resize',\n right: 'e-resize',\n up: 'n-resize',\n down: 's-resize',\n };\n\n if (isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.up;\n if (isVertical && px > safeDifference + 1) return orientation.vertical;\n if (isVertical && px <= safeDifference + 1) return orientation.down;\n\n if (!isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.left;\n if (!isVertical && px <= safeDifference + 1) return orientation.right;\n if (!isVertical && px > safeDifference + 1) return orientation.horizontal;\n\n return isVertical ? orientation.vertical : orientation.horizontal;\n}\n\nfunction ResizableItemComponent({ innerRef, ...p }) {\n return <Grid ref={innerRef} {...p} />;\n}\n\nconst ResizableGrid = styled(Grid)``;\nconst ResizableItem = styled(ResizableItemComponent)`\n position: relative;\n`;\nconst ResizableBar = styled.div`\n position: absolute;\n cursor: ${({ container, nextContainer, v }) =>\n cursorResolver(nextContainer, container, v)};\n\n ${(props) => {\n if (props.v) {\n return `\n bottom: calc(${mapGap(props.gutter)} * -0.5);\n left: 0;\n width: 100%;\n height: 10px;\n margin-bottom: -5px;\n display: flex;\n flex-direction: column;\n justify-content:space-around;\n align-items: center;\n &:after{\n width: 100%;\n height: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }\n return `\n top: 0;\n right: calc(${mapGap(props.gutter)} * -0.5);\n height: 100%;\n width: 10px;\n margin-right: -5px;\n display: flex;\n flex-direction: row;\n justify-content:space-around;\n align-items: center;\n &:after{\n height: 100%;\n width: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }}\n`;\nconst getWidths = (list) => list.map((l) => l.clientWidth);\nconst getHeights = (list) => list.map((l) => l.clientHeight);\n\nfunction ResizableContainer({\n children,\n cols,\n rows,\n vertical,\n horizontal,\n ...rest\n}) {\n const refs = useRef([]);\n const [containers, setContainers] = useState(cols);\n const [blocks, setBlocks] = useState(rows);\n const [isDragging, setDragging] = useState(false);\n const [start, setStartPoint] = useState(0);\n const [resetPoint, setResetPoint] = useState();\n\n useEffect(() => {\n if (horizontal) setContainers(getWidths(refs.current));\n if (vertical) setBlocks(getHeights(refs.current));\n }, [refs.current, horizontal, vertical]);\n const addRef = (node) => {\n refs.current.push(node);\n };\n const resizePanels = (diff = 1, v = false) => {\n const index = parseInt(start.index, 10);\n if (!v) {\n const newContainers = [...containers];\n if (\n newContainers[index + 1] &&\n newContainers[index + 1] > minDifference\n ) {\n newContainers[index + 1] = newContainers[index + 1] - diff;\n newContainers[index] = diff + newContainers[index];\n } else if (\n newContainers[index - 1] &&\n newContainers[index - 1] > minDifference\n ) {\n newContainers[index - 1] = newContainers[index - 1] - diff;\n newContainers[index] = diff + newContainers[index];\n }\n if (newContainers.every((c) => c > safeDifference))\n setContainers(newContainers);\n } else {\n const newBlocks = [...blocks];\n if (newBlocks[index + 1] && newBlocks[index + 1] > minDifference) {\n newBlocks[index + 1] = newBlocks[index + 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n } else if (newBlocks[index - 1] && newBlocks[index - 1] > minDifference) {\n newBlocks[index - 1] = newBlocks[index - 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n }\n if (newBlocks.every((c) => c > safeDifference)) setBlocks(newBlocks);\n }\n };\n const startResize = (event, index, v = false, type) => {\n setDragging(type);\n setStartPoint({\n x: event.clientX,\n y: event.clientY,\n index,\n v,\n });\n setResetPoint({ containers, blocks });\n };\n const moveResize = (event, type) => {\n if (isDragging && isDragging === type && !start.v) {\n const diff = event.clientX - start.x;\n if (diff === 0) return;\n setStartPoint({ x: event.clientX, index: start.index });\n resizePanels(diff);\n } else if (isDragging && isDragging === type && start.v) {\n const diff = event.clientY - start.y;\n if (diff === 0) return;\n setStartPoint({ ...start, y: event.clientY, index: start.index });\n resizePanels(diff, true);\n }\n };\n const endResize = (type) => {\n if (isDragging === type) {\n setDragging(false);\n setStartPoint();\n }\n };\n const handleKeyDown = (e, index, v = false) => {\n const keyCodes = {\n 37: DIRECTION.L,\n Left: DIRECTION.L,\n ArrowLeft: DIRECTION.L,\n 38: DIRECTION.U,\n Up: DIRECTION.U,\n ArrowUp: DIRECTION.U,\n 39: DIRECTION.R,\n Right: DIRECTION.R,\n ArrowRight: DIRECTION.R,\n 40: DIRECTION.D,\n Down: DIRECTION.D,\n ArrowDown: DIRECTION.D,\n };\n\n if (keyCodes[e.key || e.keyCode]) {\n e.preventDefault();\n const { top: y, left: x } = e.target.getBoundingClientRect();\n if (!start) {\n startResize({ clientX: x, clientY: y }, index, v, EVENT_TYPE.KEY);\n } else {\n const clientX =\n keyCodes[e.keyCode] === DIRECTION.L ||\n keyCodes[e.keyCode] === DIRECTION.R\n ? calcPosition(keyCodes[e.keyCode], x)\n : x;\n const clientY =\n keyCodes[e.keyCode] === DIRECTION.U ||\n keyCodes[e.keyCode] === DIRECTION.D\n ? calcPosition(keyCodes[e.keyCode], y)\n : y;\n\n moveResize({ clientX, clientY }, EVENT_TYPE.KEY);\n }\n }\n };\n\n const onLeave = (type) => {\n if (isDragging === type) {\n setDragging(false);\n\n if (resetPoint && resetPoint.blocks) setBlocks(resetPoint.blocks);\n if (resetPoint && resetPoint.containers)\n setContainers(resetPoint.containers);\n }\n };\n const count = React.Children.count(children);\n\n return (\n <ResizableGrid\n {...rest}\n cols={containers}\n onKeyUp={() => endResize(EVENT_TYPE.KEY)}\n onMouseLeave={() => onLeave(EVENT_TYPE.MOUSE)}\n onMouseMove={(e) => moveResize(e, EVENT_TYPE.MOUSE)}\n onMouseUp={() => endResize(EVENT_TYPE.MOUSE)}\n rows={blocks}\n >\n {React.Children.map(children, (child, index) => (\n <ResizableItem data-index={index} innerRef={addRef}>\n {child}\n {count - 1 !== index && horizontal && (\n <ResizableBar\n container={containers[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={containers[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, false)}\n onMouseDown={(e) =>\n startResize(e, index, false, EVENT_TYPE.MOUSE)\n }\n tabIndex={0}\n />\n )}\n {count - 1 !== index && vertical && (\n <ResizableBar\n container={blocks[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={blocks[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, true)}\n onMouseDown={(e) => startResize(e, index, true, EVENT_TYPE.MOUSE)}\n tabIndex={0}\n v\n />\n )}\n </ResizableItem>\n ))}\n </ResizableGrid>\n );\n}\n\nResizableContainer.propTypes = rprops;\nResizableContainer.defaultProps = defaultProps;\n\nconst DSResizableContainerWithSchema = describe(ResizableContainer);\nDSResizableContainerWithSchema.propTypes = rprops;\n\nexport { ResizableContainer, DSResizableContainerWithSchema };\nexport default ResizableContainer;\n"],"names":["safeDifference","minDifference","EVENT_TYPE","MOUSE","KEY","DIRECTION","L","R","U","D","calcPosition","arrow","position","offset","cursorResolver","nextPx","px","isVertical","orientation","vertical","horizontal","left","right","up","down","ResizableItemComponent","innerRef","p","ResizableGrid","styled","Grid","ResizableItem","ResizableBar","div","container","nextContainer","v","props","mapGap","gutter","theme","colors","neutral","brand","getWidths","list","map","l","clientWidth","getHeights","clientHeight","ResizableContainer","children","cols","rows","rest","refs","useRef","useState","containers","setContainers","blocks","setBlocks","isDragging","setDragging","start","setStartPoint","resetPoint","setResetPoint","useEffect","current","addRef","node","push","resizePanels","diff","index","parseInt","newContainers","every","c","newBlocks","startResize","event","type","x","clientX","y","clientY","moveResize","endResize","handleKeyDown","e","keyCodes","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","key","keyCode","preventDefault","target","getBoundingClientRect","top","onLeave","count","React","Children","child","propTypes","rprops","defaultProps","DSResizableContainerWithSchema","describe"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultProps.js","sources":["../../src/defaultProps.tsx"],"sourcesContent":["export const defaultProps = {\n vertical: false,\n horizontal: false,\n};\n"],"names":["defaultProps","vertical","horizontal"],"mappings":"IAAaA,YAAY,GAAG;AAC1BC,EAAAA,QAAQ,EAAE,KADgB;AAE1BC,EAAAA,UAAU,EAAE;AAFc;;;;"}
1
+ {"version":3,"file":"defaultProps.js","sources":["../../src/defaultProps.tsx"],"sourcesContent":["export const defaultProps = {\n vertical: false,\n horizontal: false,\n};\n"],"names":["defaultProps","vertical","horizontal"],"mappings":"IAAaA,YAAY,GAAG;EAC1BC,QAAQ,EAAE,KADgB;EAE1BC,UAAU,EAAE;AAFc;;;;"}
package/esm/props.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sources":["../../src/props.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\n\nexport const props = {\n /** grid item content */\n children: PropTypes.node.description('Grid item content'),\n /** vertical resizing */\n vertical: PropTypes.bool.description('vertical resizing'),\n /** horizontal resizing */\n horizontal: PropTypes.bool.description('horizontal resizing'),\n /** Row layout cells */\n rows: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ).description('Row layout cells'),\n /** Column layout cells */\n cols: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ).description('Column layout cells'),\n};\n"],"names":["props","children","PropTypes","node","description","vertical","bool","horizontal","rows","arrayOf","oneOfType","number","string","cols"],"mappings":";;IAEaA,KAAK,GAAG;AACnB;AACAC,EAAAA,QAAQ,EAAEC,SAAS,CAACC,IAAV,CAAeC,WAAf,CAA2B,mBAA3B,CAFS;;AAGnB;AACAC,EAAAA,QAAQ,EAAEH,SAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,mBAA3B,CAJS;;AAKnB;AACAG,EAAAA,UAAU,EAAEL,SAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,qBAA3B,CANO;;AAOnB;AACAI,EAAAA,IAAI,EAAEN,SAAS,CAACO,OAAV,CACJP,SAAS,CAACQ,SAAV,CAAoB,CAACR,SAAS,CAACS,MAAX,EAAmBT,SAAS,CAACU,MAA7B,CAApB,CADI,EAEJR,WAFI,CAEQ,kBAFR,CARa;;AAWnB;AACAS,EAAAA,IAAI,EAAEX,SAAS,CAACO,OAAV,CACJP,SAAS,CAACQ,SAAV,CAAoB,CAACR,SAAS,CAACS,MAAX,EAAmBT,SAAS,CAACU,MAA7B,CAApB,CADI,EAEJR,WAFI,CAEQ,qBAFR;AAZa;;;;"}
1
+ {"version":3,"file":"props.js","sources":["../../src/props.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\n\nexport const props = {\n /** grid item content */\n children: PropTypes.node.description('Grid item content'),\n /** vertical resizing */\n vertical: PropTypes.bool.description('vertical resizing'),\n /** horizontal resizing */\n horizontal: PropTypes.bool.description('horizontal resizing'),\n /** Row layout cells */\n rows: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ).description('Row layout cells'),\n /** Column layout cells */\n cols: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ).description('Column layout cells'),\n};\n"],"names":["props","children","PropTypes","node","description","vertical","bool","horizontal","rows","arrayOf","oneOfType","number","string","cols"],"mappings":";;IAEaA,KAAK,GAAG;;EAEnBC,QAAQ,EAAEC,SAAS,CAACC,IAAV,CAAeC,WAAf,CAA2B,mBAA3B,CAFS;;;EAInBC,QAAQ,EAAEH,SAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,mBAA3B,CAJS;;;EAMnBG,UAAU,EAAEL,SAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,qBAA3B,CANO;;;EAQnBI,IAAI,EAAEN,SAAS,CAACO,OAAV,CACJP,SAAS,CAACQ,SAAV,CAAoB,CAACR,SAAS,CAACS,MAAX,EAAmBT,SAAS,CAACU,MAA7B,CAApB,CADI,EAEJR,WAFI,CAEQ,kBAFR,CARa;;;EAYnBS,IAAI,EAAEX,SAAS,CAACO,OAAV,CACJP,SAAS,CAACQ,SAAV,CAAoB,CAACR,SAAS,CAACS,MAAX,EAAmBT,SAAS,CAACU,MAA7B,CAApB,CADI,EAEJR,WAFI,CAEQ,qBAFR;AAZa;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-resizeable-container",
3
- "version": "1.61.12",
3
+ "version": "1.61.13",
4
4
  "license": "MIT",
5
5
  "description": "Ellie Mae - Dim Sum - Resizeable Container",
6
6
  "module": "esm/index.js",
@@ -16,8 +16,8 @@
16
16
  "build": "node ../../scripts/build/build.js"
17
17
  },
18
18
  "dependencies": {
19
- "@elliemae/ds-grid": "1.61.12",
20
- "@elliemae/ds-system": "1.61.12",
19
+ "@elliemae/ds-grid": "1.61.13",
20
+ "@elliemae/ds-system": "1.61.13",
21
21
  "react-desc": "^4.1.2"
22
22
  },
23
23
  "devDependencies": {