@leafer-in/scroll 1.3.3 → 1.4.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/scroll.cjs CHANGED
@@ -114,3 +114,4 @@ class ScrollBar extends core.Group {
114
114
  core.Plugin.add('scroll');
115
115
 
116
116
  exports.ScrollBar = ScrollBar;
117
+ //# sourceMappingURL=scroll.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.cjs","sources":["../../../../../../src/in/packages/scroll/src/ScrollBar.ts","../../../../../../src/in/packages/scroll/src/index.ts"],"sourcesContent":["import { IApp, IBounds, IBox, IBoxInputData, IEventListenerId, IGroup } from '@leafer-ui/interface'\nimport { Group, RenderEvent, ResizeEvent, Box, Bounds, DataHelper, DragEvent } from '@leafer-ui/core'\n\nimport { IScrollBar, IScrollBarConfig, IScrollBarTheme } from '@leafer-in/interface'\n\n\nexport class ScrollBar extends Group implements IScrollBar {\n\n public target: IGroup\n public config: IScrollBarConfig = {\n theme: 'light',\n padding: 0,\n minSize: 10\n }\n\n public scrollXBar: IBox\n public scrollYBar: IBox\n\n public ratioX: number\n public ratioY: number\n public dragScrolling: boolean\n public scrollBounds: IBounds\n\n public get isOutside() { return true }\n\n protected __dragOut: boolean | number\n protected __eventIds: IEventListenerId[]\n\n constructor(target: IGroup, userConfig?: IScrollBarConfig) {\n super()\n if (target.isApp) {\n (target as IApp).sky.add(this)\n target = (target as IApp).tree\n }\n this.target = target\n if (userConfig) DataHelper.assign(this.config, userConfig)\n this.changeTheme(this.config.theme)\n this.waitLeafer(this.__listenEvents, this)\n }\n\n public changeTheme(theme: IScrollBarTheme): void {\n let style: IBoxInputData\n\n if (typeof theme === 'string') {\n style = { fill: 'black', stroke: 'rgba(255,255,255,0.8)' }\n if (theme === 'dark') {\n style.fill = 'white'\n style.stroke = 'rgba(0,0,0,0.2)'\n }\n } else {\n style = theme\n }\n\n if (!this.scrollXBar) this.addMany(this.scrollXBar = new Box(), this.scrollYBar = new Box())\n\n style = Object.assign({ strokeAlign: 'center', opacity: 0.5, width: 6, cornerRadius: 3, hoverStyle: { opacity: 0.6 }, pressStyle: { opacity: 0.7 } } as IBoxInputData, style)\n if (!style.height) style.height = style.width\n this.scrollXBar.set({ ...style, visible: false })\n this.scrollYBar.set({ ...style, visible: false })\n if (this.leafer) this.update()\n }\n\n\n public update(check?: boolean): void {\n if (this.dragScrolling) return\n\n const { minSize, padding } = this.config\n const { zoomLayer, canvas } = this.target.leafer\n const { worldRenderBounds } = zoomLayer\n\n if (check && this.scrollBounds && this.scrollBounds.isSame(worldRenderBounds)) return\n this.scrollBounds = new Bounds(worldRenderBounds)\n\n const bounds = canvas.bounds.clone().shrink(padding)\n const totalBounds = bounds.clone().add(worldRenderBounds)\n\n const ratioX = this.ratioX = bounds.width / totalBounds.width\n const ratioY = this.ratioY = bounds.height / totalBounds.height\n const scrollRatioX = (bounds.x - totalBounds.x) / totalBounds.width\n const scrollRatioY = (bounds.y - totalBounds.y) / totalBounds.height\n const showScrollXBar = ratioX < 1\n const showScrollYBar = ratioY < 1\n\n const { scrollXBar, scrollYBar } = this\n const { x, y, width, height } = bounds.shrink([2, showScrollYBar ? scrollYBar.width + 6 : 2, showScrollXBar ? scrollXBar.height + 6 : 2, 2])\n\n scrollXBar.set({\n x: x + width * scrollRatioX,\n y: y + height + 2,\n width: Math.max(width * ratioX, minSize),\n visible: showScrollXBar\n })\n\n scrollYBar.set({\n x: x + width + 2,\n y: y + height * scrollRatioY,\n height: Math.max(height * ratioY, minSize),\n visible: showScrollYBar\n })\n }\n\n protected onDrag(e: DragEvent): void {\n this.dragScrolling = true\n this.__dragOut = this.app.config.move.dragOut\n this.app.config.move.dragOut = false\n\n const scrollX = e.current === this.scrollXBar\n const move = this.target.leafer.getValidMove(scrollX ? -e.moveX / this.ratioX : 0, scrollX ? 0 : -e.moveY / this.ratioY)\n this.target.moveWorld(move.x, move.y)\n e.current.moveWorld(move.x && -move.x * this.ratioX, move.y && -move.y * this.ratioY)\n }\n\n protected onDragEnd(): void {\n this.dragScrolling = false\n this.app.config.move.dragOut = this.__dragOut\n }\n\n protected __listenEvents(): void {\n const { scrollXBar, scrollYBar } = this\n this.__eventIds = [\n scrollXBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollYBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollXBar.on_(DragEvent.END, this.onDragEnd, this),\n scrollYBar.on_(DragEvent.END, this.onDragEnd, this),\n this.target.on_(RenderEvent.BEFORE, () => this.update(true)),\n this.target.leafer.on_(ResizeEvent.RESIZE, () => this.update())\n ]\n }\n\n protected __removeListenEvents(): void {\n this.off_(this.__eventIds)\n }\n\n public destroy(): void {\n if (!this.destroyed) {\n this.__removeListenEvents()\n this.target = this.config = null\n super.destroy()\n }\n }\n\n}","export { ScrollBar } from './ScrollBar'\n\nimport { Plugin } from '@leafer-ui/core'\n\nPlugin.add('scroll')"],"names":["Group","DataHelper","Box","Bounds","DragEvent","RenderEvent","ResizeEvent","Plugin"],"mappings":"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"}
@@ -112,3 +112,4 @@ class ScrollBar extends Group {
112
112
  Plugin.add('scroll');
113
113
 
114
114
  export { ScrollBar };
115
+ //# sourceMappingURL=scroll.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.esm.js","sources":["../../../../../../src/in/packages/scroll/src/ScrollBar.ts","../../../../../../src/in/packages/scroll/src/index.ts"],"sourcesContent":["import { IApp, IBounds, IBox, IBoxInputData, IEventListenerId, IGroup } from '@leafer-ui/interface'\nimport { Group, RenderEvent, ResizeEvent, Box, Bounds, DataHelper, DragEvent } from '@leafer-ui/core'\n\nimport { IScrollBar, IScrollBarConfig, IScrollBarTheme } from '@leafer-in/interface'\n\n\nexport class ScrollBar extends Group implements IScrollBar {\n\n public target: IGroup\n public config: IScrollBarConfig = {\n theme: 'light',\n padding: 0,\n minSize: 10\n }\n\n public scrollXBar: IBox\n public scrollYBar: IBox\n\n public ratioX: number\n public ratioY: number\n public dragScrolling: boolean\n public scrollBounds: IBounds\n\n public get isOutside() { return true }\n\n protected __dragOut: boolean | number\n protected __eventIds: IEventListenerId[]\n\n constructor(target: IGroup, userConfig?: IScrollBarConfig) {\n super()\n if (target.isApp) {\n (target as IApp).sky.add(this)\n target = (target as IApp).tree\n }\n this.target = target\n if (userConfig) DataHelper.assign(this.config, userConfig)\n this.changeTheme(this.config.theme)\n this.waitLeafer(this.__listenEvents, this)\n }\n\n public changeTheme(theme: IScrollBarTheme): void {\n let style: IBoxInputData\n\n if (typeof theme === 'string') {\n style = { fill: 'black', stroke: 'rgba(255,255,255,0.8)' }\n if (theme === 'dark') {\n style.fill = 'white'\n style.stroke = 'rgba(0,0,0,0.2)'\n }\n } else {\n style = theme\n }\n\n if (!this.scrollXBar) this.addMany(this.scrollXBar = new Box(), this.scrollYBar = new Box())\n\n style = Object.assign({ strokeAlign: 'center', opacity: 0.5, width: 6, cornerRadius: 3, hoverStyle: { opacity: 0.6 }, pressStyle: { opacity: 0.7 } } as IBoxInputData, style)\n if (!style.height) style.height = style.width\n this.scrollXBar.set({ ...style, visible: false })\n this.scrollYBar.set({ ...style, visible: false })\n if (this.leafer) this.update()\n }\n\n\n public update(check?: boolean): void {\n if (this.dragScrolling) return\n\n const { minSize, padding } = this.config\n const { zoomLayer, canvas } = this.target.leafer\n const { worldRenderBounds } = zoomLayer\n\n if (check && this.scrollBounds && this.scrollBounds.isSame(worldRenderBounds)) return\n this.scrollBounds = new Bounds(worldRenderBounds)\n\n const bounds = canvas.bounds.clone().shrink(padding)\n const totalBounds = bounds.clone().add(worldRenderBounds)\n\n const ratioX = this.ratioX = bounds.width / totalBounds.width\n const ratioY = this.ratioY = bounds.height / totalBounds.height\n const scrollRatioX = (bounds.x - totalBounds.x) / totalBounds.width\n const scrollRatioY = (bounds.y - totalBounds.y) / totalBounds.height\n const showScrollXBar = ratioX < 1\n const showScrollYBar = ratioY < 1\n\n const { scrollXBar, scrollYBar } = this\n const { x, y, width, height } = bounds.shrink([2, showScrollYBar ? scrollYBar.width + 6 : 2, showScrollXBar ? scrollXBar.height + 6 : 2, 2])\n\n scrollXBar.set({\n x: x + width * scrollRatioX,\n y: y + height + 2,\n width: Math.max(width * ratioX, minSize),\n visible: showScrollXBar\n })\n\n scrollYBar.set({\n x: x + width + 2,\n y: y + height * scrollRatioY,\n height: Math.max(height * ratioY, minSize),\n visible: showScrollYBar\n })\n }\n\n protected onDrag(e: DragEvent): void {\n this.dragScrolling = true\n this.__dragOut = this.app.config.move.dragOut\n this.app.config.move.dragOut = false\n\n const scrollX = e.current === this.scrollXBar\n const move = this.target.leafer.getValidMove(scrollX ? -e.moveX / this.ratioX : 0, scrollX ? 0 : -e.moveY / this.ratioY)\n this.target.moveWorld(move.x, move.y)\n e.current.moveWorld(move.x && -move.x * this.ratioX, move.y && -move.y * this.ratioY)\n }\n\n protected onDragEnd(): void {\n this.dragScrolling = false\n this.app.config.move.dragOut = this.__dragOut\n }\n\n protected __listenEvents(): void {\n const { scrollXBar, scrollYBar } = this\n this.__eventIds = [\n scrollXBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollYBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollXBar.on_(DragEvent.END, this.onDragEnd, this),\n scrollYBar.on_(DragEvent.END, this.onDragEnd, this),\n this.target.on_(RenderEvent.BEFORE, () => this.update(true)),\n this.target.leafer.on_(ResizeEvent.RESIZE, () => this.update())\n ]\n }\n\n protected __removeListenEvents(): void {\n this.off_(this.__eventIds)\n }\n\n public destroy(): void {\n if (!this.destroyed) {\n this.__removeListenEvents()\n this.target = this.config = null\n super.destroy()\n }\n }\n\n}","export { ScrollBar } from './ScrollBar'\n\nimport { Plugin } from '@leafer-ui/core'\n\nPlugin.add('scroll')"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  import{Group as t,DataHelper as i,Box as s,Bounds as e,DragEvent as r,RenderEvent as h,ResizeEvent as o,Plugin as a}from"@leafer-ui/core";class n extends t{get isOutside(){return!0}constructor(t,s){super(),this.config={theme:"light",padding:0,minSize:10},t.isApp&&(t.sky.add(this),t=t.tree),this.target=t,s&&i.assign(this.config,s),this.changeTheme(this.config.theme),this.waitLeafer(this.__listenEvents,this)}changeTheme(t){let i;"string"==typeof t?(i={fill:"black",stroke:"rgba(255,255,255,0.8)"},"dark"===t&&(i.fill="white",i.stroke="rgba(0,0,0,0.2)")):i=t,this.scrollXBar||this.addMany(this.scrollXBar=new s,this.scrollYBar=new s),i=Object.assign({strokeAlign:"center",opacity:.5,width:6,cornerRadius:3,hoverStyle:{opacity:.6},pressStyle:{opacity:.7}},i),i.height||(i.height=i.width),this.scrollXBar.set(Object.assign(Object.assign({},i),{visible:!1})),this.scrollYBar.set(Object.assign(Object.assign({},i),{visible:!1})),this.leafer&&this.update()}update(t){if(this.dragScrolling)return;const{minSize:i,padding:s}=this.config,{zoomLayer:r,canvas:h}=this.target.leafer,{worldRenderBounds:o}=r;if(t&&this.scrollBounds&&this.scrollBounds.isSame(o))return;this.scrollBounds=new e(o);const a=h.bounds.clone().shrink(s),n=a.clone().add(o),l=this.ratioX=a.width/n.width,g=this.ratioY=a.height/n.height,d=(a.x-n.x)/n.width,c=(a.y-n.y)/n.height,u=l<1,p=g<1,{scrollXBar:_,scrollYBar:f}=this,{x:v,y:m,width:y,height:B}=a.shrink([2,p?f.width+6:2,u?_.height+6:2,2]);_.set({x:v+y*d,y:m+B+2,width:Math.max(y*l,i),visible:u}),f.set({x:v+y+2,y:m+B*c,height:Math.max(B*g,i),visible:p})}onDrag(t){this.dragScrolling=!0,this.__dragOut=this.app.config.move.dragOut,this.app.config.move.dragOut=!1;const i=t.current===this.scrollXBar,s=this.target.leafer.getValidMove(i?-t.moveX/this.ratioX:0,i?0:-t.moveY/this.ratioY);this.target.moveWorld(s.x,s.y),t.current.moveWorld(s.x&&-s.x*this.ratioX,s.y&&-s.y*this.ratioY)}onDragEnd(){this.dragScrolling=!1,this.app.config.move.dragOut=this.__dragOut}__listenEvents(){const{scrollXBar:t,scrollYBar:i}=this;this.__eventIds=[t.on_(r.DRAG,this.onDrag,this),i.on_(r.DRAG,this.onDrag,this),t.on_(r.END,this.onDragEnd,this),i.on_(r.END,this.onDragEnd,this),this.target.on_(h.BEFORE,(()=>this.update(!0))),this.target.leafer.on_(o.RESIZE,(()=>this.update()))]}__removeListenEvents(){this.off_(this.__eventIds)}destroy(){this.destroyed||(this.__removeListenEvents(),this.target=this.config=null,super.destroy())}}a.add("scroll");export{n as ScrollBar};
2
+ //# sourceMappingURL=scroll.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.esm.min.js","sources":["../../../../../../src/in/packages/scroll/src/ScrollBar.ts","../../../../../../src/in/packages/scroll/src/index.ts"],"sourcesContent":["import { IApp, IBounds, IBox, IBoxInputData, IEventListenerId, IGroup } from '@leafer-ui/interface'\nimport { Group, RenderEvent, ResizeEvent, Box, Bounds, DataHelper, DragEvent } from '@leafer-ui/core'\n\nimport { IScrollBar, IScrollBarConfig, IScrollBarTheme } from '@leafer-in/interface'\n\n\nexport class ScrollBar extends Group implements IScrollBar {\n\n public target: IGroup\n public config: IScrollBarConfig = {\n theme: 'light',\n padding: 0,\n minSize: 10\n }\n\n public scrollXBar: IBox\n public scrollYBar: IBox\n\n public ratioX: number\n public ratioY: number\n public dragScrolling: boolean\n public scrollBounds: IBounds\n\n public get isOutside() { return true }\n\n protected __dragOut: boolean | number\n protected __eventIds: IEventListenerId[]\n\n constructor(target: IGroup, userConfig?: IScrollBarConfig) {\n super()\n if (target.isApp) {\n (target as IApp).sky.add(this)\n target = (target as IApp).tree\n }\n this.target = target\n if (userConfig) DataHelper.assign(this.config, userConfig)\n this.changeTheme(this.config.theme)\n this.waitLeafer(this.__listenEvents, this)\n }\n\n public changeTheme(theme: IScrollBarTheme): void {\n let style: IBoxInputData\n\n if (typeof theme === 'string') {\n style = { fill: 'black', stroke: 'rgba(255,255,255,0.8)' }\n if (theme === 'dark') {\n style.fill = 'white'\n style.stroke = 'rgba(0,0,0,0.2)'\n }\n } else {\n style = theme\n }\n\n if (!this.scrollXBar) this.addMany(this.scrollXBar = new Box(), this.scrollYBar = new Box())\n\n style = Object.assign({ strokeAlign: 'center', opacity: 0.5, width: 6, cornerRadius: 3, hoverStyle: { opacity: 0.6 }, pressStyle: { opacity: 0.7 } } as IBoxInputData, style)\n if (!style.height) style.height = style.width\n this.scrollXBar.set({ ...style, visible: false })\n this.scrollYBar.set({ ...style, visible: false })\n if (this.leafer) this.update()\n }\n\n\n public update(check?: boolean): void {\n if (this.dragScrolling) return\n\n const { minSize, padding } = this.config\n const { zoomLayer, canvas } = this.target.leafer\n const { worldRenderBounds } = zoomLayer\n\n if (check && this.scrollBounds && this.scrollBounds.isSame(worldRenderBounds)) return\n this.scrollBounds = new Bounds(worldRenderBounds)\n\n const bounds = canvas.bounds.clone().shrink(padding)\n const totalBounds = bounds.clone().add(worldRenderBounds)\n\n const ratioX = this.ratioX = bounds.width / totalBounds.width\n const ratioY = this.ratioY = bounds.height / totalBounds.height\n const scrollRatioX = (bounds.x - totalBounds.x) / totalBounds.width\n const scrollRatioY = (bounds.y - totalBounds.y) / totalBounds.height\n const showScrollXBar = ratioX < 1\n const showScrollYBar = ratioY < 1\n\n const { scrollXBar, scrollYBar } = this\n const { x, y, width, height } = bounds.shrink([2, showScrollYBar ? scrollYBar.width + 6 : 2, showScrollXBar ? scrollXBar.height + 6 : 2, 2])\n\n scrollXBar.set({\n x: x + width * scrollRatioX,\n y: y + height + 2,\n width: Math.max(width * ratioX, minSize),\n visible: showScrollXBar\n })\n\n scrollYBar.set({\n x: x + width + 2,\n y: y + height * scrollRatioY,\n height: Math.max(height * ratioY, minSize),\n visible: showScrollYBar\n })\n }\n\n protected onDrag(e: DragEvent): void {\n this.dragScrolling = true\n this.__dragOut = this.app.config.move.dragOut\n this.app.config.move.dragOut = false\n\n const scrollX = e.current === this.scrollXBar\n const move = this.target.leafer.getValidMove(scrollX ? -e.moveX / this.ratioX : 0, scrollX ? 0 : -e.moveY / this.ratioY)\n this.target.moveWorld(move.x, move.y)\n e.current.moveWorld(move.x && -move.x * this.ratioX, move.y && -move.y * this.ratioY)\n }\n\n protected onDragEnd(): void {\n this.dragScrolling = false\n this.app.config.move.dragOut = this.__dragOut\n }\n\n protected __listenEvents(): void {\n const { scrollXBar, scrollYBar } = this\n this.__eventIds = [\n scrollXBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollYBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollXBar.on_(DragEvent.END, this.onDragEnd, this),\n scrollYBar.on_(DragEvent.END, this.onDragEnd, this),\n this.target.on_(RenderEvent.BEFORE, () => this.update(true)),\n this.target.leafer.on_(ResizeEvent.RESIZE, () => this.update())\n ]\n }\n\n protected __removeListenEvents(): void {\n this.off_(this.__eventIds)\n }\n\n public destroy(): void {\n if (!this.destroyed) {\n this.__removeListenEvents()\n this.target = this.config = null\n super.destroy()\n }\n }\n\n}","export { ScrollBar } from './ScrollBar'\n\nimport { Plugin } from '@leafer-ui/core'\n\nPlugin.add('scroll')"],"names":["ScrollBar","Group","isOutside","constructor","target","userConfig","super","this","config","theme","padding","minSize","isApp","sky","add","tree","DataHelper","assign","changeTheme","waitLeafer","__listenEvents","style","fill","stroke","scrollXBar","addMany","Box","scrollYBar","Object","strokeAlign","opacity","width","cornerRadius","hoverStyle","pressStyle","height","set","visible","leafer","update","check","dragScrolling","zoomLayer","canvas","worldRenderBounds","scrollBounds","isSame","Bounds","bounds","clone","shrink","totalBounds","ratioX","ratioY","scrollRatioX","x","scrollRatioY","y","showScrollXBar","showScrollYBar","Math","max","onDrag","e","__dragOut","app","move","dragOut","scrollX","current","getValidMove","moveX","moveY","moveWorld","onDragEnd","__eventIds","on_","DragEvent","DRAG","END","RenderEvent","BEFORE","ResizeEvent","RESIZE","__removeListenEvents","off_","destroy","destroyed","Plugin"],"mappings":"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"}
package/dist/scroll.js CHANGED
@@ -118,3 +118,4 @@ this.LeaferIN.scroll = (function (exports, core) {
118
118
  return exports;
119
119
 
120
120
  })({}, LeaferUI);
121
+ //# sourceMappingURL=scroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.js","sources":["../../../../../../src/in/packages/scroll/src/ScrollBar.ts","../../../../../../src/in/packages/scroll/src/index.ts"],"sourcesContent":["import { IApp, IBounds, IBox, IBoxInputData, IEventListenerId, IGroup } from '@leafer-ui/interface'\nimport { Group, RenderEvent, ResizeEvent, Box, Bounds, DataHelper, DragEvent } from '@leafer-ui/core'\n\nimport { IScrollBar, IScrollBarConfig, IScrollBarTheme } from '@leafer-in/interface'\n\n\nexport class ScrollBar extends Group implements IScrollBar {\n\n public target: IGroup\n public config: IScrollBarConfig = {\n theme: 'light',\n padding: 0,\n minSize: 10\n }\n\n public scrollXBar: IBox\n public scrollYBar: IBox\n\n public ratioX: number\n public ratioY: number\n public dragScrolling: boolean\n public scrollBounds: IBounds\n\n public get isOutside() { return true }\n\n protected __dragOut: boolean | number\n protected __eventIds: IEventListenerId[]\n\n constructor(target: IGroup, userConfig?: IScrollBarConfig) {\n super()\n if (target.isApp) {\n (target as IApp).sky.add(this)\n target = (target as IApp).tree\n }\n this.target = target\n if (userConfig) DataHelper.assign(this.config, userConfig)\n this.changeTheme(this.config.theme)\n this.waitLeafer(this.__listenEvents, this)\n }\n\n public changeTheme(theme: IScrollBarTheme): void {\n let style: IBoxInputData\n\n if (typeof theme === 'string') {\n style = { fill: 'black', stroke: 'rgba(255,255,255,0.8)' }\n if (theme === 'dark') {\n style.fill = 'white'\n style.stroke = 'rgba(0,0,0,0.2)'\n }\n } else {\n style = theme\n }\n\n if (!this.scrollXBar) this.addMany(this.scrollXBar = new Box(), this.scrollYBar = new Box())\n\n style = Object.assign({ strokeAlign: 'center', opacity: 0.5, width: 6, cornerRadius: 3, hoverStyle: { opacity: 0.6 }, pressStyle: { opacity: 0.7 } } as IBoxInputData, style)\n if (!style.height) style.height = style.width\n this.scrollXBar.set({ ...style, visible: false })\n this.scrollYBar.set({ ...style, visible: false })\n if (this.leafer) this.update()\n }\n\n\n public update(check?: boolean): void {\n if (this.dragScrolling) return\n\n const { minSize, padding } = this.config\n const { zoomLayer, canvas } = this.target.leafer\n const { worldRenderBounds } = zoomLayer\n\n if (check && this.scrollBounds && this.scrollBounds.isSame(worldRenderBounds)) return\n this.scrollBounds = new Bounds(worldRenderBounds)\n\n const bounds = canvas.bounds.clone().shrink(padding)\n const totalBounds = bounds.clone().add(worldRenderBounds)\n\n const ratioX = this.ratioX = bounds.width / totalBounds.width\n const ratioY = this.ratioY = bounds.height / totalBounds.height\n const scrollRatioX = (bounds.x - totalBounds.x) / totalBounds.width\n const scrollRatioY = (bounds.y - totalBounds.y) / totalBounds.height\n const showScrollXBar = ratioX < 1\n const showScrollYBar = ratioY < 1\n\n const { scrollXBar, scrollYBar } = this\n const { x, y, width, height } = bounds.shrink([2, showScrollYBar ? scrollYBar.width + 6 : 2, showScrollXBar ? scrollXBar.height + 6 : 2, 2])\n\n scrollXBar.set({\n x: x + width * scrollRatioX,\n y: y + height + 2,\n width: Math.max(width * ratioX, minSize),\n visible: showScrollXBar\n })\n\n scrollYBar.set({\n x: x + width + 2,\n y: y + height * scrollRatioY,\n height: Math.max(height * ratioY, minSize),\n visible: showScrollYBar\n })\n }\n\n protected onDrag(e: DragEvent): void {\n this.dragScrolling = true\n this.__dragOut = this.app.config.move.dragOut\n this.app.config.move.dragOut = false\n\n const scrollX = e.current === this.scrollXBar\n const move = this.target.leafer.getValidMove(scrollX ? -e.moveX / this.ratioX : 0, scrollX ? 0 : -e.moveY / this.ratioY)\n this.target.moveWorld(move.x, move.y)\n e.current.moveWorld(move.x && -move.x * this.ratioX, move.y && -move.y * this.ratioY)\n }\n\n protected onDragEnd(): void {\n this.dragScrolling = false\n this.app.config.move.dragOut = this.__dragOut\n }\n\n protected __listenEvents(): void {\n const { scrollXBar, scrollYBar } = this\n this.__eventIds = [\n scrollXBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollYBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollXBar.on_(DragEvent.END, this.onDragEnd, this),\n scrollYBar.on_(DragEvent.END, this.onDragEnd, this),\n this.target.on_(RenderEvent.BEFORE, () => this.update(true)),\n this.target.leafer.on_(ResizeEvent.RESIZE, () => this.update())\n ]\n }\n\n protected __removeListenEvents(): void {\n this.off_(this.__eventIds)\n }\n\n public destroy(): void {\n if (!this.destroyed) {\n this.__removeListenEvents()\n this.target = this.config = null\n super.destroy()\n }\n }\n\n}","export { ScrollBar } from './ScrollBar'\n\nimport { Plugin } from '@leafer-ui/core'\n\nPlugin.add('scroll')"],"names":["Group","DataHelper","Box","Bounds","DragEvent","RenderEvent","ResizeEvent","Plugin"],"mappings":";;;;IAMM,MAAO,SAAU,SAAQA,UAAK,CAAA;IAiBhC,IAAA,IAAW,SAAS,GAAK,EAAA,OAAO,IAAI,CAAA;QAKpC,WAAY,CAAA,MAAc,EAAE,UAA6B,EAAA;IACrD,QAAA,KAAK,EAAE;IApBJ,QAAA,IAAA,CAAA,MAAM,GAAqB;IAC9B,YAAA,KAAK,EAAE,OAAO;IACd,YAAA,OAAO,EAAE,CAAC;IACV,YAAA,OAAO,EAAE;aACZ;IAiBG,QAAA,IAAI,MAAM,CAAC,KAAK,EAAE;IACb,YAAA,MAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9B,YAAA,MAAM,GAAI,MAAe,CAAC,IAAI;;IAElC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACpB,QAAA,IAAI,UAAU;gBAAEC,eAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;;IAGvC,IAAA,WAAW,CAAC,KAAsB,EAAA;IACrC,QAAA,IAAI,KAAoB;IAExB,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE;IAC1D,YAAA,IAAI,KAAK,KAAK,MAAM,EAAE;IAClB,gBAAA,KAAK,CAAC,IAAI,GAAG,OAAO;IACpB,gBAAA,KAAK,CAAC,MAAM,GAAG,iBAAiB;;;iBAEjC;gBACH,KAAK,GAAG,KAAK;;YAGjB,IAAI,CAAC,IAAI,CAAC,UAAU;IAAE,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,IAAIC,QAAG,EAAE,EAAE,IAAI,CAAC,UAAU,GAAG,IAAIA,QAAG,EAAE,CAAC;IAE5F,QAAA,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAmB,EAAE,KAAK,CAAC;YAC7K,IAAI,CAAC,KAAK,CAAC,MAAM;IAAE,YAAA,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK;YAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,OAAO,EAAE,KAAK,EAAA,CAAA,CAAG;YACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,OAAO,EAAE,KAAK,EAAA,CAAA,CAAG;YACjD,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,MAAM,EAAE;;IAI3B,IAAA,MAAM,CAAC,KAAe,EAAA;YACzB,IAAI,IAAI,CAAC,aAAa;gBAAE;YAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM;YACxC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;IAChD,QAAA,MAAM,EAAE,iBAAiB,EAAE,GAAG,SAAS;IAEvC,QAAA,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAAE;YAC/E,IAAI,CAAC,YAAY,GAAG,IAAIC,WAAM,CAAC,iBAAiB,CAAC;IAEjD,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YACpD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAEzD,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;IAC7D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM;IAC/D,QAAA,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,WAAW,CAAC,KAAK;IACnE,QAAA,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM;IACpE,QAAA,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC;IACjC,QAAA,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC;IAEjC,QAAA,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI;YACvC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAE5I,UAAU,CAAC,GAAG,CAAC;IACX,YAAA,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY;IAC3B,YAAA,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,OAAO,CAAC;IACxC,YAAA,OAAO,EAAE;IACZ,SAAA,CAAC;YAEF,UAAU,CAAC,GAAG,CAAC;IACX,YAAA,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;IAChB,YAAA,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,YAAY;gBAC5B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC;IAC1C,YAAA,OAAO,EAAE;IACZ,SAAA,CAAC;;IAGI,IAAA,MAAM,CAAC,CAAY,EAAA;IACzB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IACzB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;YAC7C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK;YAEpC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IACxH,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACrC,QAAA,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;;QAG/E,SAAS,GAAA;IACf,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;IAC1B,QAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS;;QAGvC,cAAc,GAAA;IACpB,QAAA,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI;YACvC,IAAI,CAAC,UAAU,GAAG;IACd,YAAA,UAAU,CAAC,GAAG,CAACC,cAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;IACjD,YAAA,UAAU,CAAC,GAAG,CAACA,cAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;IACjD,YAAA,UAAU,CAAC,GAAG,CAACA,cAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;IACnD,YAAA,UAAU,CAAC,GAAG,CAACA,cAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;IACnD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAACC,gBAAW,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAACC,gBAAW,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE;aACjE;;QAGK,oBAAoB,GAAA;IAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;;QAGvB,OAAO,GAAA;IACV,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI;gBAChC,KAAK,CAAC,OAAO,EAAE;;;IAI1B;;ACzIDC,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;;;;;;;;;;"}
@@ -1 +1,2 @@
1
1
  "use strict";var t=require("@leafer-ui/core");class i extends t.Group{get isOutside(){return!0}constructor(i,s){super(),this.config={theme:"light",padding:0,minSize:10},i.isApp&&(i.sky.add(this),i=i.tree),this.target=i,s&&t.DataHelper.assign(this.config,s),this.changeTheme(this.config.theme),this.waitLeafer(this.__listenEvents,this)}changeTheme(i){let s;"string"==typeof i?(s={fill:"black",stroke:"rgba(255,255,255,0.8)"},"dark"===i&&(s.fill="white",s.stroke="rgba(0,0,0,0.2)")):s=i,this.scrollXBar||this.addMany(this.scrollXBar=new t.Box,this.scrollYBar=new t.Box),s=Object.assign({strokeAlign:"center",opacity:.5,width:6,cornerRadius:3,hoverStyle:{opacity:.6},pressStyle:{opacity:.7}},s),s.height||(s.height=s.width),this.scrollXBar.set(Object.assign(Object.assign({},s),{visible:!1})),this.scrollYBar.set(Object.assign(Object.assign({},s),{visible:!1})),this.leafer&&this.update()}update(i){if(this.dragScrolling)return;const{minSize:s,padding:e}=this.config,{zoomLayer:r,canvas:h}=this.target.leafer,{worldRenderBounds:a}=r;if(i&&this.scrollBounds&&this.scrollBounds.isSame(a))return;this.scrollBounds=new t.Bounds(a);const o=h.bounds.clone().shrink(e),n=o.clone().add(a),l=this.ratioX=o.width/n.width,g=this.ratioY=o.height/n.height,d=(o.x-n.x)/n.width,c=(o.y-n.y)/n.height,u=l<1,v=g<1,{scrollXBar:p,scrollYBar:_}=this,{x:f,y:y,width:m,height:B}=o.shrink([2,v?_.width+6:2,u?p.height+6:2,2]);p.set({x:f+m*d,y:y+B+2,width:Math.max(m*l,s),visible:u}),_.set({x:f+m+2,y:y+B*c,height:Math.max(B*g,s),visible:v})}onDrag(t){this.dragScrolling=!0,this.__dragOut=this.app.config.move.dragOut,this.app.config.move.dragOut=!1;const i=t.current===this.scrollXBar,s=this.target.leafer.getValidMove(i?-t.moveX/this.ratioX:0,i?0:-t.moveY/this.ratioY);this.target.moveWorld(s.x,s.y),t.current.moveWorld(s.x&&-s.x*this.ratioX,s.y&&-s.y*this.ratioY)}onDragEnd(){this.dragScrolling=!1,this.app.config.move.dragOut=this.__dragOut}__listenEvents(){const{scrollXBar:i,scrollYBar:s}=this;this.__eventIds=[i.on_(t.DragEvent.DRAG,this.onDrag,this),s.on_(t.DragEvent.DRAG,this.onDrag,this),i.on_(t.DragEvent.END,this.onDragEnd,this),s.on_(t.DragEvent.END,this.onDragEnd,this),this.target.on_(t.RenderEvent.BEFORE,(()=>this.update(!0))),this.target.leafer.on_(t.ResizeEvent.RESIZE,(()=>this.update()))]}__removeListenEvents(){this.off_(this.__eventIds)}destroy(){this.destroyed||(this.__removeListenEvents(),this.target=this.config=null,super.destroy())}}t.Plugin.add("scroll"),exports.ScrollBar=i;
2
+ //# sourceMappingURL=scroll.min.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.min.cjs","sources":["../../../../../../src/in/packages/scroll/src/ScrollBar.ts","../../../../../../src/in/packages/scroll/src/index.ts"],"sourcesContent":["import { IApp, IBounds, IBox, IBoxInputData, IEventListenerId, IGroup } from '@leafer-ui/interface'\nimport { Group, RenderEvent, ResizeEvent, Box, Bounds, DataHelper, DragEvent } from '@leafer-ui/core'\n\nimport { IScrollBar, IScrollBarConfig, IScrollBarTheme } from '@leafer-in/interface'\n\n\nexport class ScrollBar extends Group implements IScrollBar {\n\n public target: IGroup\n public config: IScrollBarConfig = {\n theme: 'light',\n padding: 0,\n minSize: 10\n }\n\n public scrollXBar: IBox\n public scrollYBar: IBox\n\n public ratioX: number\n public ratioY: number\n public dragScrolling: boolean\n public scrollBounds: IBounds\n\n public get isOutside() { return true }\n\n protected __dragOut: boolean | number\n protected __eventIds: IEventListenerId[]\n\n constructor(target: IGroup, userConfig?: IScrollBarConfig) {\n super()\n if (target.isApp) {\n (target as IApp).sky.add(this)\n target = (target as IApp).tree\n }\n this.target = target\n if (userConfig) DataHelper.assign(this.config, userConfig)\n this.changeTheme(this.config.theme)\n this.waitLeafer(this.__listenEvents, this)\n }\n\n public changeTheme(theme: IScrollBarTheme): void {\n let style: IBoxInputData\n\n if (typeof theme === 'string') {\n style = { fill: 'black', stroke: 'rgba(255,255,255,0.8)' }\n if (theme === 'dark') {\n style.fill = 'white'\n style.stroke = 'rgba(0,0,0,0.2)'\n }\n } else {\n style = theme\n }\n\n if (!this.scrollXBar) this.addMany(this.scrollXBar = new Box(), this.scrollYBar = new Box())\n\n style = Object.assign({ strokeAlign: 'center', opacity: 0.5, width: 6, cornerRadius: 3, hoverStyle: { opacity: 0.6 }, pressStyle: { opacity: 0.7 } } as IBoxInputData, style)\n if (!style.height) style.height = style.width\n this.scrollXBar.set({ ...style, visible: false })\n this.scrollYBar.set({ ...style, visible: false })\n if (this.leafer) this.update()\n }\n\n\n public update(check?: boolean): void {\n if (this.dragScrolling) return\n\n const { minSize, padding } = this.config\n const { zoomLayer, canvas } = this.target.leafer\n const { worldRenderBounds } = zoomLayer\n\n if (check && this.scrollBounds && this.scrollBounds.isSame(worldRenderBounds)) return\n this.scrollBounds = new Bounds(worldRenderBounds)\n\n const bounds = canvas.bounds.clone().shrink(padding)\n const totalBounds = bounds.clone().add(worldRenderBounds)\n\n const ratioX = this.ratioX = bounds.width / totalBounds.width\n const ratioY = this.ratioY = bounds.height / totalBounds.height\n const scrollRatioX = (bounds.x - totalBounds.x) / totalBounds.width\n const scrollRatioY = (bounds.y - totalBounds.y) / totalBounds.height\n const showScrollXBar = ratioX < 1\n const showScrollYBar = ratioY < 1\n\n const { scrollXBar, scrollYBar } = this\n const { x, y, width, height } = bounds.shrink([2, showScrollYBar ? scrollYBar.width + 6 : 2, showScrollXBar ? scrollXBar.height + 6 : 2, 2])\n\n scrollXBar.set({\n x: x + width * scrollRatioX,\n y: y + height + 2,\n width: Math.max(width * ratioX, minSize),\n visible: showScrollXBar\n })\n\n scrollYBar.set({\n x: x + width + 2,\n y: y + height * scrollRatioY,\n height: Math.max(height * ratioY, minSize),\n visible: showScrollYBar\n })\n }\n\n protected onDrag(e: DragEvent): void {\n this.dragScrolling = true\n this.__dragOut = this.app.config.move.dragOut\n this.app.config.move.dragOut = false\n\n const scrollX = e.current === this.scrollXBar\n const move = this.target.leafer.getValidMove(scrollX ? -e.moveX / this.ratioX : 0, scrollX ? 0 : -e.moveY / this.ratioY)\n this.target.moveWorld(move.x, move.y)\n e.current.moveWorld(move.x && -move.x * this.ratioX, move.y && -move.y * this.ratioY)\n }\n\n protected onDragEnd(): void {\n this.dragScrolling = false\n this.app.config.move.dragOut = this.__dragOut\n }\n\n protected __listenEvents(): void {\n const { scrollXBar, scrollYBar } = this\n this.__eventIds = [\n scrollXBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollYBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollXBar.on_(DragEvent.END, this.onDragEnd, this),\n scrollYBar.on_(DragEvent.END, this.onDragEnd, this),\n this.target.on_(RenderEvent.BEFORE, () => this.update(true)),\n this.target.leafer.on_(ResizeEvent.RESIZE, () => this.update())\n ]\n }\n\n protected __removeListenEvents(): void {\n this.off_(this.__eventIds)\n }\n\n public destroy(): void {\n if (!this.destroyed) {\n this.__removeListenEvents()\n this.target = this.config = null\n super.destroy()\n }\n }\n\n}","export { ScrollBar } from './ScrollBar'\n\nimport { Plugin } from '@leafer-ui/core'\n\nPlugin.add('scroll')"],"names":["ScrollBar","Group","isOutside","constructor","target","userConfig","super","this","config","theme","padding","minSize","isApp","sky","add","tree","DataHelper","assign","changeTheme","waitLeafer","__listenEvents","style","fill","stroke","scrollXBar","addMany","Box","scrollYBar","Object","strokeAlign","opacity","width","cornerRadius","hoverStyle","pressStyle","height","set","visible","leafer","update","check","dragScrolling","zoomLayer","canvas","worldRenderBounds","scrollBounds","isSame","Bounds","bounds","clone","shrink","totalBounds","ratioX","ratioY","scrollRatioX","x","scrollRatioY","y","showScrollXBar","showScrollYBar","Math","max","onDrag","e","__dragOut","app","move","dragOut","scrollX","current","getValidMove","moveX","moveY","moveWorld","onDragEnd","__eventIds","on_","DragEvent","DRAG","END","RenderEvent","BEFORE","ResizeEvent","RESIZE","__removeListenEvents","off_","destroy","destroyed","Plugin"],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  this.LeaferIN=this.LeaferIN||{},this.LeaferIN.scroll=function(t,s){"use strict";class i extends s.Group{get isOutside(){return!0}constructor(t,i){super(),this.config={theme:"light",padding:0,minSize:10},t.isApp&&(t.sky.add(this),t=t.tree),this.target=t,i&&s.DataHelper.assign(this.config,i),this.changeTheme(this.config.theme),this.waitLeafer(this.__listenEvents,this)}changeTheme(t){let i;"string"==typeof t?(i={fill:"black",stroke:"rgba(255,255,255,0.8)"},"dark"===t&&(i.fill="white",i.stroke="rgba(0,0,0,0.2)")):i=t,this.scrollXBar||this.addMany(this.scrollXBar=new s.Box,this.scrollYBar=new s.Box),i=Object.assign({strokeAlign:"center",opacity:.5,width:6,cornerRadius:3,hoverStyle:{opacity:.6},pressStyle:{opacity:.7}},i),i.height||(i.height=i.width),this.scrollXBar.set(Object.assign(Object.assign({},i),{visible:!1})),this.scrollYBar.set(Object.assign(Object.assign({},i),{visible:!1})),this.leafer&&this.update()}update(t){if(this.dragScrolling)return;const{minSize:i,padding:e}=this.config,{zoomLayer:r,canvas:h}=this.target.leafer,{worldRenderBounds:a}=r;if(t&&this.scrollBounds&&this.scrollBounds.isSame(a))return;this.scrollBounds=new s.Bounds(a);const n=h.bounds.clone().shrink(e),o=n.clone().add(a),l=this.ratioX=n.width/o.width,g=this.ratioY=n.height/o.height,d=(n.x-o.x)/o.width,c=(n.y-o.y)/o.height,u=l<1,v=g<1,{scrollXBar:f,scrollYBar:p}=this,{x:_,y:y,width:m,height:B}=n.shrink([2,v?p.width+6:2,u?f.height+6:2,2]);f.set({x:_+m*d,y:y+B+2,width:Math.max(m*l,i),visible:u}),p.set({x:_+m+2,y:y+B*c,height:Math.max(B*g,i),visible:v})}onDrag(t){this.dragScrolling=!0,this.__dragOut=this.app.config.move.dragOut,this.app.config.move.dragOut=!1;const s=t.current===this.scrollXBar,i=this.target.leafer.getValidMove(s?-t.moveX/this.ratioX:0,s?0:-t.moveY/this.ratioY);this.target.moveWorld(i.x,i.y),t.current.moveWorld(i.x&&-i.x*this.ratioX,i.y&&-i.y*this.ratioY)}onDragEnd(){this.dragScrolling=!1,this.app.config.move.dragOut=this.__dragOut}__listenEvents(){const{scrollXBar:t,scrollYBar:i}=this;this.__eventIds=[t.on_(s.DragEvent.DRAG,this.onDrag,this),i.on_(s.DragEvent.DRAG,this.onDrag,this),t.on_(s.DragEvent.END,this.onDragEnd,this),i.on_(s.DragEvent.END,this.onDragEnd,this),this.target.on_(s.RenderEvent.BEFORE,(()=>this.update(!0))),this.target.leafer.on_(s.ResizeEvent.RESIZE,(()=>this.update()))]}__removeListenEvents(){this.off_(this.__eventIds)}destroy(){this.destroyed||(this.__removeListenEvents(),this.target=this.config=null,super.destroy())}}return s.Plugin.add("scroll"),t.ScrollBar=i,t}({},LeaferUI);
2
+ //# sourceMappingURL=scroll.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.min.js","sources":["../../../../../../src/in/packages/scroll/src/ScrollBar.ts","../../../../../../src/in/packages/scroll/src/index.ts"],"sourcesContent":["import { IApp, IBounds, IBox, IBoxInputData, IEventListenerId, IGroup } from '@leafer-ui/interface'\nimport { Group, RenderEvent, ResizeEvent, Box, Bounds, DataHelper, DragEvent } from '@leafer-ui/core'\n\nimport { IScrollBar, IScrollBarConfig, IScrollBarTheme } from '@leafer-in/interface'\n\n\nexport class ScrollBar extends Group implements IScrollBar {\n\n public target: IGroup\n public config: IScrollBarConfig = {\n theme: 'light',\n padding: 0,\n minSize: 10\n }\n\n public scrollXBar: IBox\n public scrollYBar: IBox\n\n public ratioX: number\n public ratioY: number\n public dragScrolling: boolean\n public scrollBounds: IBounds\n\n public get isOutside() { return true }\n\n protected __dragOut: boolean | number\n protected __eventIds: IEventListenerId[]\n\n constructor(target: IGroup, userConfig?: IScrollBarConfig) {\n super()\n if (target.isApp) {\n (target as IApp).sky.add(this)\n target = (target as IApp).tree\n }\n this.target = target\n if (userConfig) DataHelper.assign(this.config, userConfig)\n this.changeTheme(this.config.theme)\n this.waitLeafer(this.__listenEvents, this)\n }\n\n public changeTheme(theme: IScrollBarTheme): void {\n let style: IBoxInputData\n\n if (typeof theme === 'string') {\n style = { fill: 'black', stroke: 'rgba(255,255,255,0.8)' }\n if (theme === 'dark') {\n style.fill = 'white'\n style.stroke = 'rgba(0,0,0,0.2)'\n }\n } else {\n style = theme\n }\n\n if (!this.scrollXBar) this.addMany(this.scrollXBar = new Box(), this.scrollYBar = new Box())\n\n style = Object.assign({ strokeAlign: 'center', opacity: 0.5, width: 6, cornerRadius: 3, hoverStyle: { opacity: 0.6 }, pressStyle: { opacity: 0.7 } } as IBoxInputData, style)\n if (!style.height) style.height = style.width\n this.scrollXBar.set({ ...style, visible: false })\n this.scrollYBar.set({ ...style, visible: false })\n if (this.leafer) this.update()\n }\n\n\n public update(check?: boolean): void {\n if (this.dragScrolling) return\n\n const { minSize, padding } = this.config\n const { zoomLayer, canvas } = this.target.leafer\n const { worldRenderBounds } = zoomLayer\n\n if (check && this.scrollBounds && this.scrollBounds.isSame(worldRenderBounds)) return\n this.scrollBounds = new Bounds(worldRenderBounds)\n\n const bounds = canvas.bounds.clone().shrink(padding)\n const totalBounds = bounds.clone().add(worldRenderBounds)\n\n const ratioX = this.ratioX = bounds.width / totalBounds.width\n const ratioY = this.ratioY = bounds.height / totalBounds.height\n const scrollRatioX = (bounds.x - totalBounds.x) / totalBounds.width\n const scrollRatioY = (bounds.y - totalBounds.y) / totalBounds.height\n const showScrollXBar = ratioX < 1\n const showScrollYBar = ratioY < 1\n\n const { scrollXBar, scrollYBar } = this\n const { x, y, width, height } = bounds.shrink([2, showScrollYBar ? scrollYBar.width + 6 : 2, showScrollXBar ? scrollXBar.height + 6 : 2, 2])\n\n scrollXBar.set({\n x: x + width * scrollRatioX,\n y: y + height + 2,\n width: Math.max(width * ratioX, minSize),\n visible: showScrollXBar\n })\n\n scrollYBar.set({\n x: x + width + 2,\n y: y + height * scrollRatioY,\n height: Math.max(height * ratioY, minSize),\n visible: showScrollYBar\n })\n }\n\n protected onDrag(e: DragEvent): void {\n this.dragScrolling = true\n this.__dragOut = this.app.config.move.dragOut\n this.app.config.move.dragOut = false\n\n const scrollX = e.current === this.scrollXBar\n const move = this.target.leafer.getValidMove(scrollX ? -e.moveX / this.ratioX : 0, scrollX ? 0 : -e.moveY / this.ratioY)\n this.target.moveWorld(move.x, move.y)\n e.current.moveWorld(move.x && -move.x * this.ratioX, move.y && -move.y * this.ratioY)\n }\n\n protected onDragEnd(): void {\n this.dragScrolling = false\n this.app.config.move.dragOut = this.__dragOut\n }\n\n protected __listenEvents(): void {\n const { scrollXBar, scrollYBar } = this\n this.__eventIds = [\n scrollXBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollYBar.on_(DragEvent.DRAG, this.onDrag, this),\n scrollXBar.on_(DragEvent.END, this.onDragEnd, this),\n scrollYBar.on_(DragEvent.END, this.onDragEnd, this),\n this.target.on_(RenderEvent.BEFORE, () => this.update(true)),\n this.target.leafer.on_(ResizeEvent.RESIZE, () => this.update())\n ]\n }\n\n protected __removeListenEvents(): void {\n this.off_(this.__eventIds)\n }\n\n public destroy(): void {\n if (!this.destroyed) {\n this.__removeListenEvents()\n this.target = this.config = null\n super.destroy()\n }\n }\n\n}","export { ScrollBar } from './ScrollBar'\n\nimport { Plugin } from '@leafer-ui/core'\n\nPlugin.add('scroll')"],"names":["ScrollBar","Group","isOutside","constructor","target","userConfig","super","this","config","theme","padding","minSize","isApp","sky","add","tree","DataHelper","assign","changeTheme","waitLeafer","__listenEvents","style","fill","stroke","scrollXBar","addMany","Box","scrollYBar","Object","strokeAlign","opacity","width","cornerRadius","hoverStyle","pressStyle","height","set","visible","leafer","update","check","dragScrolling","zoomLayer","canvas","worldRenderBounds","scrollBounds","isSame","Bounds","bounds","clone","shrink","totalBounds","ratioX","ratioY","scrollRatioX","x","scrollRatioY","y","showScrollXBar","showScrollYBar","Math","max","onDrag","e","__dragOut","app","move","dragOut","scrollX","current","getValidMove","moveX","moveY","moveWorld","onDragEnd","__eventIds","on_","DragEvent","DRAG","END","RenderEvent","BEFORE","ResizeEvent","RESIZE","__removeListenEvents","off_","destroy","destroyed","Plugin"],"mappings":"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"}
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@leafer-in/scroll",
3
- "version": "1.3.3",
3
+ "version": "1.4.1",
4
4
  "description": "@leafer-in/scroll",
5
5
  "author": "Chao (Leafer) Wan",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
- "main": "dist/scroll.esm.js",
8
+ "main": "dist/scroll.esm.min.js",
9
9
  "exports": {
10
- "import": "./dist/scroll.esm.js",
11
- "require": "./dist/scroll.cjs",
10
+ "import": "./dist/scroll.esm.min.js",
11
+ "require": "./dist/scroll.min.cjs",
12
12
  "types": "./types/index.d.ts"
13
13
  },
14
14
  "types": "types/index.d.ts",
15
- "unpkg": "dist/scroll.js",
16
- "jsdelivr": "dist/scroll.js",
15
+ "unpkg": "dist/scroll.min.js",
16
+ "jsdelivr": "dist/scroll.min.js",
17
17
  "files": [
18
18
  "src",
19
19
  "types",
@@ -34,8 +34,8 @@
34
34
  "leaferjs"
35
35
  ],
36
36
  "peerDependencies": {
37
- "@leafer-ui/core": "^1.3.3",
38
- "@leafer-ui/interface": "^1.3.3",
39
- "@leafer-in/interface": "^1.3.3"
37
+ "@leafer-ui/core": "^1.4.1",
38
+ "@leafer-ui/interface": "^1.4.1",
39
+ "@leafer-in/interface": "^1.4.1"
40
40
  }
41
41
  }