react-screenshots 0.5.1 → 0.5.8

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
- @font-face{font-family:screenshots-icon;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI2FkLbAAABjAAAAGBjbWFw4VslbQAAAhwAAAH8Z2x5Zn70m+sAAAQ0AAAFLGhlYWQeYsGsAAAA4AAAADZoaGVhB94DjQAAALwAAAAkaG10eDAAAAAAAAHsAAAAMGxvY2EIbgcGAAAEGAAAABptYXhwARwAUQAAARgAAAAgbmFtZYLzvecAAAlgAAACx3Bvc3TH1pYVAAAMKAAAAIAAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAwAAQAAAAEAAJs3bpBfDzz1AAsEAAAAAADdob7XAAAAAN2hvtcAAP++BAADQwAAAAgAAgAAAAAAAAABAAAADABFAAYAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQEAAGQAAUAAAKJAswAAACPAokCzAAAAesAMgEIAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOAB4AsDgP+AAAAD3ACAAAAAAQAAAAAAAAAAAAAAAAACBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAWgAAQAAAAAAYgADAAEAAAAsAAMACgAAAWgABAA2AAAABAAEAAEAAOAL//8AAOAB//8AAAABAAQAAAAKAAkAAgAEAAUAAwAIAAsAAQAGAAcAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAJQAAAAAAAAACwAA4AEAAOABAAAACgAA4AIAAOACAAAACQAA4AMAAOADAAAAAgAA4AQAAOAEAAAABAAA4AUAAOAFAAAABQAA4AYAAOAGAAAAAwAA4AcAAOAHAAAACAAA4AgAAOAIAAAACwAA4AkAAOAJAAAAAQAA4AoAAOAKAAAABgAA4AsAAOALAAAABwAAAAAALgCOANIBDAFEAYgBngHAAfYCJAKWAAAAAQAAAAADYgLhABkAAAEhMhYVERQOASIuATcRAQYuAjcBIS4BNDYBnwGZERgLExYUCwH91gwhFwELAir+yhEXFwLhGBH+ZwwTDAwTDAE2/dYLARchDAIqARchGAACAAD/1wOpAykAHwBDAAABIyIGHQEUBiMhIiY9ATQmKwEiBh0BFBYzITI2PQE0JgUWMj8BNjQvASYiDwEGJjURLgErASIGFREUBi8BJiIPAQYUFwOONQoQEAv9uAsQEAo1CxAqHQLEHSoQ/lUIFgfvCAglCBUIYwgWARIJNgoQFghjCBYHJggIAScPC7ELEBALsQsPDwvvHSoqHe8LD3QICO8IFQglCAhjCAgMAXkLEBAL/okMCAhjCAgnCBUIAAAGAAD/1QOrAysAAwAjACcAKwAvADMAAAEzFSMVNSM1IxUjNSMVMxUjFTMVIxUzNTMVMzUzFTM1IzUzNSEzFSMnNTMVByM1MxUzFSMDAKurq6qrq6urq6urq6qrq6ur/qqrq6qqqqurqqoDK6urq6urq6urqqurq6urq6urqqqqq6uqqqqrAAAAAQAA//MDvAMNACAAAAkBJiIGHQEmBwYHBgcGBwYWNjc2NzY3NhcVFB4BNwE2NAOz/tkKGRI1O19NZj1LCgEMDwROTkpXTmsSGQoBJwkB3AEnCRINrgELEy8/a4PACQoCB4lNSR0bBLANEQEJAScJGgAAAAABAAD/8wO9Aw0AIAAAEwEWPgE9ATYXFhcWFx4BNjUmJyYnJicmBzU0JiIHAQYUTAEnCRkTak9XSk5NBA8MC0o9Zk1fOzUTGQn+2QkBsP7ZCQERDbAEGx1JTYkHAgoIwYNrPy8TCwGuDRIJ/tkJGgAAAgAA/74DwwNDABQAKQAABTI3Njc2NCcmJyYiBwYHBhQXFhcWFyInJicmNDc2NzYyFxYXFhQHBgcGAgBoWlgzNTUzWFrQWlgzNTUzWFpoe2lmOz09O2Zp9mlmOz09O2ZpAjUzWFrQWlgzNTUzWFrQWlgzNUA9O2Zp9mlmOz09O2Zp9mlmOz0AAAIAAP++A8IDQgADAAcAAAERIRElIREhA3r9DAM8/HwDhAL6/QwC9Ej8fAAAAQAA/+EDawMfABMAAAEhIgYUFjMhERQWMjY1ESEyNjQmAzf9khUeHhUBAx8qHwEDFR4eAx4eKx79XxYeHhYCoR4rHgABAAD/+AOIAwgAGwAAJQkBNjQmIgcJASYiBhQXCQEGFBYyNwkBFjI2NAN5/tEBLw8fKw/+0f7RDysfDwEv/tEPHysPAS8BLw8rH1EBLwEvDysfD/7RAS8PHysP/tH+0Q8rHw8BL/7RDx8rAAABAAAAAAPjAuEAFgAAJT8BAT4BJiIHCQEmIyIOARcBFjY3NjcBvwMGAgoQASAwEP4E/vQOFRgiAhABOQ8tEAcFZAIFAhERMSIQ/f0BFg8kLhD+ug8CEQcLAAAAAAMAAAAAA3sC9AAdACkARAAAAQYHBgcGBwYHBgcGBwYHBhYzMjc2NzY3Njc2NzYnNx4BBiYvAS4BNhYXASYHBg8BBgcGBwYHBhcWFxYXFjc2NzY3Njc2AVwHCBIQFQ0QAQIWEhwXEAUdGB4eJSEnHyQYGgwNBSQLBQ8bC2MMBRAbCwG6EBMKDgIWgXlOBwEBCQobIhYTFBtmUkEMBAYBMQUFDA8VFhsdJSUdFxMFAQMCAwYHCwwQEhgZIE4LGxAEC18LGhAECwGSCwQCCAEPfHZQCQcKDxEaIgQEERuMcF0SExwAAAAAEgDeAAEAAAAAAAAAEwAAAAEAAAAAAAEAEAATAAEAAAAAAAIABwAjAAEAAAAAAAMAEAAqAAEAAAAAAAQAEAA6AAEAAAAAAAUACwBKAAEAAAAAAAYAEABVAAEAAAAAAAoAKwBlAAEAAAAAAAsAEwCQAAMAAQQJAAAAJgCjAAMAAQQJAAEAIADJAAMAAQQJAAIADgDpAAMAAQQJAAMAIAD3AAMAAQQJAAQAIAEXAAMAAQQJAAUAFgE3AAMAAQQJAAYAIAFNAAMAAQQJAAoAVgFtAAMAAQQJAAsAJgHDQ3JlYXRlZCBieSBpY29uZm9udHNjcmVlbnNob3RzLWljb25SZWd1bGFyc2NyZWVuc2hvdHMtaWNvbnNjcmVlbnNob3RzLWljb25WZXJzaW9uIDEuMHNjcmVlbnNob3RzLWljb25HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAHIAZQBhAHQAZQBkACAAYgB5ACAAaQBjAG8AbgBmAG8AbgB0AHMAYwByAGUAZQBuAHMAaABvAHQAcwAtAGkAYwBvAG4AUgBlAGcAdQBsAGEAcgBzAGMAcgBlAGUAbgBzAGgAbwB0AHMALQBpAGMAbwBuAHMAYwByAGUAZQBuAHMAaABvAHQAcwAtAGkAYwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAHMAYwByAGUAZQBuAHMAaABvAHQAcwAtAGkAYwBvAG4ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0ABWFycm93BHNhdmUGbW9zYWljBHJlZG8EdW5kbwdlbGxpcHNlCXJlY3RhbmdsZQR0ZXh0BmNhbmNlbAJvawVicnVzaAAA) format("truetype")}[class^=icon-],[class*=" icon-"]{font-family:screenshots-icon!important;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-ok:before{content:"\e001"}.icon-cancel:before{content:"\e002"}.icon-save:before{content:"\e003"}.icon-redo:before{content:"\e004"}.icon-undo:before{content:"\e005"}.icon-mosaic:before{content:"\e006"}.icon-text:before{content:"\e007"}.icon-brush:before{content:"\e008"}.icon-arrow:before{content:"\e009"}.icon-ellipse:before{content:"\e00a"}.icon-rectangle:before{content:"\e00b"}.screenshots{position:relative;transform:translateZ(0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,apple color emoji,segoe ui emoji,Segoe UI Symbol,noto color emoji}.screenshots,.screenshots *{box-sizing:border-box;user-select:none}.screenshots-magnifier{position:absolute;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,apple color emoji,segoe ui emoji,Segoe UI Symbol,noto color emoji;left:0;top:0;width:100px;box-shadow:0 0 8px #000;z-index:9}.screenshots-magnifier,.screenshots-magnifier *{box-sizing:border-box;user-select:none}.screenshots-magnifier-body{position:relative;background-color:#fff}.screenshots-magnifier-body:before{content:"";background-color:#0a72a1;position:absolute;top:50%;left:0;width:100%;height:2px;z-index:1}.screenshots-magnifier-body:after{content:"";background-color:#0a72a1;position:absolute;top:0;left:50%;width:2px;height:100%;z-index:1}.screenshots-magnifier-body-canvas{display:block;width:100px;height:80px}.screenshots-magnifier-footer{height:40px;color:#fff;font-size:11px;background-color:#5f5e5e;padding:4px;white-space:nowrap;overflow:hidden;text-align:center}.screenshots-magnifier-footer-item{height:18px;line-height:18px}.screenshots-background{width:100%;height:100%;position:relative}.screenshots-background-image{width:100%;height:100%;display:block;border:none;outline:none;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-font-smooting:antialiased}.screenshots-background-mask{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;background-color:#ffffff1a}.screenshots-canvas{position:absolute}.screenshots-canvas-body{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.screenshots-canvas-border-top{position:absolute;left:0;top:0;width:100%;height:2px;transform:translateY(-50%);background-color:#39f;pointer-events:none}.screenshots-canvas-border-right{position:absolute;left:100%;top:0;width:2px;height:100%;transform:translate(-50%);background-color:#39f;pointer-events:none}.screenshots-canvas-border-bottom{position:absolute;left:0;top:100%;width:100%;height:2px;transform:translateY(-50%);background-color:#39f;pointer-events:none}.screenshots-canvas-border-left{position:absolute;left:0;top:0;width:2px;height:100%;transform:translate(-50%);background-color:#39f;pointer-events:none}.screenshots-canvas-point-top{width:8px;height:8px;position:absolute;left:50%;top:0;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:ns-resize}.screenshots-canvas-point-top-right{width:8px;height:8px;position:absolute;left:100%;top:0;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:nesw-resize}.screenshots-canvas-point-right{width:8px;height:8px;position:absolute;left:100%;top:50%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:ew-resize}.screenshots-canvas-point-right-bottom{width:8px;height:8px;position:absolute;left:100%;top:100%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:nwse-resize}.screenshots-canvas-point-bottom{width:8px;height:8px;position:absolute;left:50%;top:100%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:ns-resize}.screenshots-canvas-point-bottom-left{width:8px;height:8px;position:absolute;left:0;top:100%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:nesw-resize}.screenshots-canvas-point-left{width:8px;height:8px;position:absolute;left:0;top:50%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:ew-resize}.screenshots-canvas-point-left-top{width:8px;height:8px;position:absolute;left:0;top:0;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:nwse-resize}.screenshots-option{position:absolute;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,apple color emoji,segoe ui emoji,Segoe UI Symbol,noto color emoji}.screenshots-option,.screenshots-option *{box-sizing:border-box;user-select:none}.screenshots-option-container{height:34px;padding:3px;border-radius:2px;border:1px solid #ddd;background-color:#fff}.screenshots-option-arrow{position:absolute;border:6px solid transparent}.screenshots-option[data-placement=top]{transform:translate(-50%,-11px)}.screenshots-option[data-placement=top] .screenshots-option-arrow{transform:translate(-50%,-1px);border-top-color:#fff;top:100%;left:50%}.screenshots-option[data-placement=bottom]{transform:translate(-50%,11px)}.screenshots-option[data-placement=bottom] .screenshots-option-arrow{transform:translate(-50%,1px);border-bottom-color:#fff;bottom:100%;left:50%}.screenshots-button{width:26px;height:26px;line-height:26px;color:#555;font-size:18px;text-align:center;margin:0 3px;vertical-align:middle;cursor:pointer}.screenshots-button-checked,.screenshots-button:hover{background-color:#eee;outline:1px solid #777}.screenshots-button-disabled{color:#ccc;cursor:not-allowed}.screenshots-button-disabled:hover{background-color:#fff;outline:none}.screenshots-size{height:24px;display:flex;align-items:center}.screenshots-size-item{width:24px;height:24px;position:relative;margin:0 3px;cursor:pointer}.screenshots-size-pointer{background-color:#555;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.screenshots-size-active>.screenshots-size-pointer{background-color:#39f}.screenshots-color{height:24px;display:flex;align-items:center}.screenshots-color-item{border:1px solid #777;width:24px;height:24px;cursor:pointer;position:relative;margin:0 3px}.screenshots-color-item:before{content:"";display:none;position:absolute;right:0;bottom:0;width:10px;height:10px;background-color:#333}.screenshots-color-item:after{content:"";display:none;width:8px;height:4px;position:absolute;right:5px;bottom:5px;border-bottom:2px solid #fff;border-left:2px solid #fff;transform:translate(5px,2px) rotate(-45deg) scale(.8)}.screenshots-color-active:before,.screenshots-color-active:after{display:block}.screenshots-sizecolor{height:24px;display:flex;align-items:center}.screenshots-textarea{box-sizing:border-box;position:absolute;margin:0;padding:0;background-color:transparent;border:2px solid #39f;resize:none;outline:none;white-space:nowrap;word-break:break-all;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,apple color emoji,segoe ui emoji,Segoe UI Symbol,noto color emoji;text-align:left}.screenshots-operations{position:absolute}.screenshots-operations-buttons{display:flex;align-items:center;padding:3px;border-radius:2px;border:1px solid #ddd;background-color:#fff;overflow:hidden}.screenshots-operations-divider{background-color:#ddd;width:1px;height:26px;margin:0 3px}html,body,#app{height:100%;margin:0;padding:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.body{height:100%}
1
+ @font-face{font-family:screenshots-icon;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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aW9uIDEuMHNjcmVlbnNob3RzLWljb25HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAHIAZQBhAHQAZQBkACAAYgB5ACAAaQBjAG8AbgBmAG8AbgB0AHMAYwByAGUAZQBuAHMAaABvAHQAcwAtAGkAYwBvAG4AUgBlAGcAdQBsAGEAcgBzAGMAcgBlAGUAbgBzAGgAbwB0AHMALQBpAGMAbwBuAHMAYwByAGUAZQBuAHMAaABvAHQAcwAtAGkAYwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAHMAYwByAGUAZQBuAHMAaABvAHQAcwAtAGkAYwBvAG4ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0ABWFycm93BHNhdmUGbW9zYWljBHJlZG8EdW5kbwdlbGxpcHNlCXJlY3RhbmdsZQR0ZXh0BmNhbmNlbAJvawVicnVzaAAA) format("truetype")}[class^=icon-],[class*=" icon-"]{font-family:screenshots-icon!important;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-ok:before{content:"\e001"}.icon-cancel:before{content:"\e002"}.icon-save:before{content:"\e003"}.icon-redo:before{content:"\e004"}.icon-undo:before{content:"\e005"}.icon-mosaic:before{content:"\e006"}.icon-text:before{content:"\e007"}.icon-brush:before{content:"\e008"}.icon-arrow:before{content:"\e009"}.icon-ellipse:before{content:"\e00a"}.icon-rectangle:before{content:"\e00b"}.screenshots{position:relative;transform:translateZ(0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,apple color emoji,segoe ui emoji,Segoe UI Symbol,noto color emoji}.screenshots,.screenshots *{box-sizing:border-box;user-select:none}.screenshots-magnifier{position:absolute;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,apple color emoji,segoe ui emoji,Segoe UI Symbol,noto color emoji;left:0;top:0;width:100px;box-shadow:0 0 8px #000;z-index:9}.screenshots-magnifier,.screenshots-magnifier *{box-sizing:border-box;user-select:none}.screenshots-magnifier-body{position:relative;background-color:#fff}.screenshots-magnifier-body:before{content:"";background-color:#0a72a1;position:absolute;top:50%;left:0;width:100%;height:2px;z-index:1}.screenshots-magnifier-body:after{content:"";background-color:#0a72a1;position:absolute;top:0;left:50%;width:2px;height:100%;z-index:1}.screenshots-magnifier-body-canvas{display:block;width:100px;height:80px}.screenshots-magnifier-footer{height:40px;color:#fff;font-size:11px;background-color:#5f5e5e;padding:4px;white-space:nowrap;overflow:hidden;text-align:center}.screenshots-magnifier-footer-item{height:18px;line-height:18px}.screenshots-background{width:100%;height:100%;position:relative}.screenshots-background-image{width:100%;height:100%;display:block;border:none;outline:none;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-font-smooting:antialiased}.screenshots-background-mask{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0000004d}.screenshots-canvas{position:absolute;left:0;top:0}.screenshots-canvas-body,.screenshots-canvas-mask{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.screenshots-canvas-image{width:100%;height:100%;display:block;border:none;outline:none;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-font-smooting:antialiased}.screenshots-canvas-panel{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%}.screenshots-canvas-border-top{position:absolute;left:0;top:0;width:100%;height:2px;transform:translateY(-50%);background-color:#39f;pointer-events:none}.screenshots-canvas-border-right{position:absolute;left:100%;top:0;width:2px;height:100%;transform:translate(-50%);background-color:#39f;pointer-events:none}.screenshots-canvas-border-bottom{position:absolute;left:0;top:100%;width:100%;height:2px;transform:translateY(-50%);background-color:#39f;pointer-events:none}.screenshots-canvas-border-left{position:absolute;left:0;top:0;width:2px;height:100%;transform:translate(-50%);background-color:#39f;pointer-events:none}.screenshots-canvas-point-top{width:8px;height:8px;position:absolute;left:50%;top:0;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:ns-resize}.screenshots-canvas-point-top-right{width:8px;height:8px;position:absolute;left:100%;top:0;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:nesw-resize}.screenshots-canvas-point-right{width:8px;height:8px;position:absolute;left:100%;top:50%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:ew-resize}.screenshots-canvas-point-right-bottom{width:8px;height:8px;position:absolute;left:100%;top:100%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:nwse-resize}.screenshots-canvas-point-bottom{width:8px;height:8px;position:absolute;left:50%;top:100%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:ns-resize}.screenshots-canvas-point-bottom-left{width:8px;height:8px;position:absolute;left:0;top:100%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:nesw-resize}.screenshots-canvas-point-left{width:8px;height:8px;position:absolute;left:0;top:50%;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:ew-resize}.screenshots-canvas-point-left-top{width:8px;height:8px;position:absolute;left:0;top:0;background-color:#39f;border-radius:50%;transform:translate(-50%,-50%);cursor:nwse-resize}.screenshots-option{position:absolute;left:0;top:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,apple color emoji,segoe ui emoji,Segoe UI Symbol,noto color emoji}.screenshots-option,.screenshots-option *{box-sizing:border-box;user-select:none}.screenshots-option-container{height:34px;padding:3px;border-radius:2px;border:1px solid #ddd;background-color:#fff}.screenshots-option-arrow{position:absolute;border:6px solid transparent}.screenshots-option[data-placement=top]{transform:translate(-50%,-11px)}.screenshots-option[data-placement=top] .screenshots-option-arrow{transform:translate(-50%,-1px);border-top-color:#fff;top:100%;left:50%}.screenshots-option[data-placement=bottom]{transform:translate(-50%,11px)}.screenshots-option[data-placement=bottom] .screenshots-option-arrow{transform:translate(-50%,1px);border-bottom-color:#fff;bottom:100%;left:50%}.screenshots-button{width:26px;height:26px;line-height:26px;color:#333;font-size:18px;text-align:center;margin:0 3px;vertical-align:middle;cursor:pointer}.screenshots-button-checked,.screenshots-button:hover{background-color:#eee;outline:1px solid #777}.screenshots-button-disabled{color:#bbb;cursor:not-allowed}.screenshots-button-disabled:hover{background-color:#fff;outline:none}.screenshots-size{height:24px;display:flex;align-items:center}.screenshots-size-item{width:24px;height:24px;position:relative;margin:0 3px;cursor:pointer}.screenshots-size-pointer{background-color:#555;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.screenshots-size-active>.screenshots-size-pointer{background-color:#39f}.screenshots-color{height:24px;display:flex;align-items:center}.screenshots-color-item{border:1px solid #777;width:24px;height:24px;cursor:pointer;position:relative;margin:0 3px}.screenshots-color-item:before{content:"";display:none;position:absolute;right:0;bottom:0;width:10px;height:10px;background-color:#333}.screenshots-color-item:after{content:"";display:none;width:8px;height:4px;position:absolute;right:5px;bottom:5px;border-bottom:2px solid #fff;border-left:2px solid #fff;transform:translate(5px,2px) rotate(-45deg) scale(.8)}.screenshots-color-active:before,.screenshots-color-active:after{display:block}.screenshots-sizecolor{height:24px;display:flex;align-items:center}.screenshots-textarea{box-sizing:border-box;position:absolute;left:0;top:0;margin:0;padding:0;background-color:transparent;border:2px solid #39f;resize:none;outline:none;white-space:nowrap;word-break:break-all;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,apple color emoji,segoe ui emoji,Segoe UI Symbol,noto color emoji;text-align:left}.screenshots-operations{position:absolute;left:0;top:0}.screenshots-operations-buttons{display:flex;align-items:center;padding:3px;border-radius:2px;border:1px solid #ddd;background-color:#fff;overflow:hidden}.screenshots-operations-divider{background-color:#ddd;width:1px;height:26px;margin:0 3px}html,body,#app{height:100%;margin:0;padding:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.body{height:100%}
@@ -0,0 +1,14 @@
1
+ var Je=Object.defineProperty,Qe=Object.defineProperties;var Ke=Object.getOwnPropertyDescriptors;var he=Object.getOwnPropertySymbols;var Ee=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable;var Be=(e,t,o)=>t in e?Je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,U=(e,t)=>{for(var o in t||(t={}))Ee.call(t,o)&&Be(e,o,t[o]);if(he)for(var o of he(t))je.call(t,o)&&Be(e,o,t[o]);return e},me=(e,t)=>Qe(e,Ke(t));var Me=(e,t)=>{var o={};for(var c in e)Ee.call(e,c)&&t.indexOf(c)<0&&(o[c]=e[c]);if(e!=null&&he)for(var c of he(e))t.indexOf(c)<0&&je.call(e,c)&&(o[c]=e[c]);return o};import{R as $e,r as i,j as v,a as Ve,b as Ze}from"./vendor.e3c417b2.js";const et=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))c(s);new MutationObserver(s=>{for(const n of s)if(n.type==="childList")for(const r of n.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&c(r)}).observe(document,{childList:!0,subtree:!0});function o(s){const n={};return s.integrity&&(n.integrity=s.integrity),s.referrerpolicy&&(n.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?n.credentials="include":s.crossorigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(s){if(s.ep)return;s.ep=!0;const n=o(s);fetch(s.href,n)}};et();var j;(function(e){e[e.Edit=0]="Edit",e[e.Source=1]="Source"})(j||(j={}));function pe({image:e,width:t,height:o,history:c,bounds:s}){return new Promise((n,r)=>{const a=document.createElement("canvas"),m=s.width*window.devicePixelRatio,p=s.height*window.devicePixelRatio;a.width=m,a.height=p;const l=a.getContext("2d");if(!l)return r(new Error("convert image to blob fail"));const f=e.naturalWidth/t,h=e.naturalHeight/o;l.imageSmoothingEnabled=!0,l.imageSmoothingQuality="low",l.setTransform(window.devicePixelRatio,0,0,window.devicePixelRatio,0,0),l.clearRect(0,0,s.width,s.height),l.drawImage(e,s.x*f,s.y*h,s.width*f,s.height*h,0,0,s.width,s.height),c.stack.slice(0,c.index+1).forEach(u=>{u.type===j.Source&&u.draw(l,u)}),a.toBlob(u=>{if(!u)return r(new Error("canvas toBlob fail"));n(u)},"image/png")})}const _e={magnifier_position_label:"\u5750\u6807",operation_ok_title:"\u786E\u5B9A",operation_cancel_title:"\u53D6\u6D88",operation_save_title:"\u4FDD\u5B58",operation_redo_title:"\u91CD\u505A",operation_undo_title:"\u64A4\u9500",operation_mosaic_title:"\u9A6C\u8D5B\u514B",operation_text_title:"\u6587\u672C",operation_brush_title:"\u753B\u7B14",operation_arrow_title:"\u7BAD\u5934",operation_ellipse_title:"\u692D\u5706",operation_rectangle_title:"\u77E9\u5F62"};var ye=$e.createContext({store:{url:void 0,image:null,width:0,height:0,lang:_e,emiterRef:{current:{}},canvasContextRef:{current:null},history:{index:-1,stack:[]},bounds:null,cursor:"move",operation:void 0},dispatcher:{call:void 0,setHistory:void 0,setBounds:void 0,setCursor:void 0,setOperation:void 0}});function ie(){const{dispatcher:e}=i.exports.useContext(ye);return e}function V(){const{store:e}=i.exports.useContext(ye);return e}function J(){const{bounds:e}=V(),{setBounds:t}=ie(),o=i.exports.useCallback(s=>{t==null||t(s)},[t]),c=i.exports.useCallback(()=>{t==null||t(null)},[t]);return[e,{set:o,reset:c}]}function F(){const{lang:e}=V();return e}var Q="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsMagnifier/index.tsx";const K=100,Z=80;var tt=i.exports.memo(function({x:t,y:o}){const{width:c,height:s,image:n}=V(),r=F(),[a,m]=i.exports.useState(null),p=i.exports.useRef(null),l=i.exports.useRef(null),f=i.exports.useRef(null),[h,u]=i.exports.useState("000000");return i.exports.useLayoutEffect(()=>{if(!p.current)return;const d=p.current.getBoundingClientRect();let y=t+20,S=o+20;y+d.width>c&&(y=t-d.width-20),S+d.height>s&&(S=o-d.height-20),y<0&&(y=0),S<0&&(S=0),m({x:y,y:S})},[c,s,t,o]),i.exports.useEffect(()=>{if(!n||!l.current){f.current=null;return}if(f.current||(f.current=l.current.getContext("2d")),!f.current)return;const d=f.current;d.clearRect(0,0,K,Z);const y=n.naturalWidth/c,S=n.naturalHeight/s;d.drawImage(n,t*y-K/2,o*S-Z/2,K,Z,0,0,K,Z);const{data:b}=d.getImageData(Math.floor(K/2),Math.floor(Z/2),1,1),w=Array.from(b.slice(0,3)).map(D=>D>=16?D.toString(16):`0${D.toString(16)}`).join("").toUpperCase();u(w)},[c,s,n,t,o]),v.exports.jsxDEV("div",{ref:p,className:"screenshots-magnifier",style:{transform:`translate(${a==null?void 0:a.x}px, ${a==null?void 0:a.y}px)`},children:[v.exports.jsxDEV("div",{className:"screenshots-magnifier-body",children:v.exports.jsxDEV("canvas",{ref:l,className:"screenshots-magnifier-body-canvas",width:K,height:Z},void 0,!1,{fileName:Q,lineNumber:97,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:96,columnNumber:7},this),v.exports.jsxDEV("div",{className:"screenshots-magnifier-footer",children:[v.exports.jsxDEV("div",{className:"screenshots-magnifier-footer-item",children:[r.magnifier_position_label,": (",t,",",o,")"]},void 0,!0,{fileName:Q,lineNumber:105,columnNumber:9},this),v.exports.jsxDEV("div",{className:"screenshots-magnifier-footer-item",children:["RGB: #",h]},void 0,!0,{fileName:Q,lineNumber:108,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:104,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:89,columnNumber:5},this)});function st({x:e,y:t},{x:o,y:c},s,n){return e>o&&([e,o]=[o,e]),t>c&&([t,c]=[c,t]),e<0&&(e=0),o>s&&(o=s),t<0&&(t=0),c>n&&(c=n),{x:e,y:t,width:o-e,height:c-t}}var xe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsBackground/index.tsx",rt=i.exports.memo(function(){const{url:t,image:o,width:c,height:s}=V(),[n,r]=J(),a=i.exports.useRef(null),m=i.exports.useRef(null),p=i.exports.useRef(!1),[l,f]=i.exports.useState(null),h=i.exports.useCallback((d,y)=>{if(!a.current)return;const{x:S,y:b}=a.current.getBoundingClientRect();r.set(st({x:d.x-S,y:d.y-b},{x:y.x-S,y:y.y-b},c,s))},[c,s,r]),u=i.exports.useCallback(d=>{m.current||n||d.button!==0||(m.current={x:d.clientX,y:d.clientY},p.current=!1)},[n]);return i.exports.useEffect(()=>{const d=S=>{if(a.current){const b=a.current.getBoundingClientRect();S.clientX<b.left||S.clientY<b.top||S.clientX>b.right||S.clientY>b.bottom?f(null):f({x:S.clientX-b.x,y:S.clientY-b.y})}!m.current||(h(m.current,{x:S.clientX,y:S.clientY}),p.current=!0)},y=S=>{!m.current||(p.current&&h(m.current,{x:S.clientX,y:S.clientY}),m.current=null,p.current=!1)};return window.addEventListener("mousemove",d),window.addEventListener("mouseup",y),()=>{window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",y)}},[h]),i.exports.useLayoutEffect(()=>{(!o||n)&&f(null)},[o,n]),!t||!o?null:v.exports.jsxDEV("div",{ref:a,className:"screenshots-background",onMouseDown:u,children:[v.exports.jsxDEV("img",{className:"screenshots-background-image",src:t},void 0,!1,{fileName:xe,lineNumber:121,columnNumber:7},this),v.exports.jsxDEV("div",{className:"screenshots-background-mask"},void 0,!1,{fileName:xe,lineNumber:122,columnNumber:7},this),l&&!n&&v.exports.jsxDEV(tt,{x:l==null?void 0:l.x,y:l==null?void 0:l.y},void 0,!1,{fileName:xe,lineNumber:123,columnNumber:31},this)]},void 0,!0,{fileName:xe,lineNumber:120,columnNumber:5},this)});function A(){const{cursor:e}=V(),{setCursor:t}=ie(),o=i.exports.useCallback(s=>{t==null||t(s)},[t]),c=i.exports.useCallback(()=>{t==null||t("move")},[t]);return[e,{set:o,reset:c}]}function ee(){const{emiterRef:e}=V(),t=i.exports.useCallback((n,r)=>{const a=e.current;Array.isArray(a[n])?a[n].push(r):a[n]=[r]},[e]),o=i.exports.useCallback((n,r)=>{const a=e.current;if(Array.isArray(a[n])){const m=a[n].findIndex(p=>p===r);m!==-1&&a[n].splice(m,1)}},[e]),c=i.exports.useCallback((n,...r)=>{const a=e.current;Array.isArray(a[n])&&a[n].forEach(m=>m(...r))},[e]),s=i.exports.useCallback(()=>{e.current={}},[e]);return{on:t,off:o,emit:c,reset:s}}function L(){const{history:e}=V(),{setHistory:t}=ie(),o=i.exports.useCallback(l=>{const{index:f,stack:h}=e;h.forEach(u=>{u.type===j.Source&&(u.isSelected=!1)}),l.type===j.Source?l.isSelected=!0:l.type===j.Edit&&(l.source.isSelected=!0),h.splice(f+1),h.push(l),t==null||t({index:h.length-1,stack:h})},[e,t]),c=i.exports.useCallback(()=>{const{stack:l}=e;l.pop(),t==null||t({index:l.length-1,stack:l})},[e,t]),s=i.exports.useCallback(()=>{const{index:l,stack:f}=e,h=f[l];h&&(h.type===j.Source?h.isSelected=!1:h.type===j.Edit&&h.source.editHistory.pop()),t==null||t({index:l<=0?-1:l-1,stack:f})},[e,t]),n=i.exports.useCallback(()=>{const{index:l,stack:f}=e,h=f[l+1];h&&(h.type===j.Source?h.isSelected=!1:h.type===j.Edit&&h.source.editHistory.push(h)),t==null||t({index:l>=f.length-1?f.length-1:l+1,stack:f})},[e,t]),r=i.exports.useCallback(l=>{t==null||t(U({},l))},[t]),a=i.exports.useCallback(l=>{e.stack.forEach(f=>{f.type===j.Source&&(f===l?f.isSelected=!0:f.isSelected=!1)}),t==null||t(U({},e))},[e,t]),m=i.exports.useCallback(()=>{e.stack.forEach(l=>{l.type===j.Source&&(l.isSelected=!1)}),t==null||t(U({},e))},[e,t]),p=i.exports.useCallback(()=>{t==null||t({index:-1,stack:[]})},[t]);return[{index:e.index,stack:e.stack,top:e.stack.slice(e.index,e.index+1)[0]},{push:o,pop:c,undo:s,redo:n,set:r,select:a,clearSelect:m,reset:p}]}function G(){const{operation:e}=V(),{setOperation:t}=ie(),o=i.exports.useCallback(s=>{t==null||t(s)},[t]),c=i.exports.useCallback(()=>{t==null||t(void 0)},[t]);return[e,{set:o,reset:c}]}function nt({x:e,y:t},{x:o,y:c},s,n,r,a){return e>o&&([e,o]=[o,e]),t>c&&([t,c]=[c,t]),e<0&&(e=0,a==="move"&&(o=s.width)),o>n&&(o=n,a==="move"&&(e=o-s.width)),t<0&&(t=0,a==="move"&&(c=s.height)),c>r&&(c=r,a==="move"&&(t=c-s.height)),{x:e,y:t,width:Math.max(o-e,1),height:Math.max(c-t,1)}}function ot(e,t,o,c){const s=e.clientX-o.x,n=e.clientY-o.y;let r=c.x,a=c.y,m=c.x+c.width,p=c.y+c.height;switch(t){case"top":a+=n;break;case"top-right":m+=s,a+=n;break;case"right":m+=s;break;case"right-bottom":m+=s,p+=n;break;case"bottom":p+=n;break;case"bottom-left":r+=s,p+=n;break;case"left":r+=s;break;case"left-top":r+=s,a+=n;break;case"move":r+=s,a+=n,m+=s,p+=n;break}return[{x:r,y:a},{x:m,y:p}]}function it(e,t,o,c){if(!t)return!1;const s=document.createElement("canvas");s.width=e.width,s.height=e.height;const n=s.getContext("2d");if(!n)return!1;const{left:r,top:a}=t.getBoundingClientRect(),m=c.clientX-r,p=c.clientY-a;return[...o.stack.slice(0,o.index+1)].reverse().find(f=>{var h;return f.type!==j.Source?!1:(n.clearRect(0,0,e.width,e.height),(h=f.isHit)==null?void 0:h.call(f,n,f,{x:m,y:p}))})}var W="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsCanvas/index.tsx";const ct=["top","right","bottom","left"];var Y;(function(e){e.ResizeTop="top",e.ResizetopRight="top-right",e.ResizeRight="right",e.ResizeRightBottom="right-bottom",e.ResizeBottom="bottom",e.ResizeBottomLeft="bottom-left",e.ResizeLeft="left",e.ResizeLeftTop="left-top",e.Move="move"})(Y||(Y={}));const at=[Y.ResizeTop,Y.ResizetopRight,Y.ResizeRight,Y.ResizeRightBottom,Y.ResizeBottom,Y.ResizeBottomLeft,Y.ResizeLeft,Y.ResizeLeftTop];var lt=i.exports.memo(i.exports.forwardRef(function(t,o){const{url:c,image:s,width:n,height:r}=V(),a=ee(),[m]=L(),[p]=A(),[l,f]=J(),[h]=G(),u=i.exports.useRef(),d=i.exports.useRef(null),y=i.exports.useRef(null),S=i.exports.useRef(null),b=i.exports.useRef(null),w=i.exports.useCallback(()=>{if(!l||!b.current)return;const x=b.current;x.imageSmoothingEnabled=!0,x.imageSmoothingQuality="low",x.clearRect(0,0,l.width,l.height),m.stack.slice(0,m.index+1).forEach(N=>{N.type===j.Source&&N.draw(x,N)})},[l,b,m]),D=i.exports.useCallback((x,N)=>{if(!(x.button!==0||!l))if(!h)u.current=N,d.current={x:x.clientX,y:x.clientY},y.current={x:l.x,y:l.y,width:l.width,height:l.height};else{const C=it(l,S.current,m,x.nativeEvent);C?a.emit("drawselect",C,x.nativeEvent):a.emit("mousedown",x.nativeEvent)}},[l,h,a,m]),g=i.exports.useCallback(x=>{if(!u.current||!d.current||!y.current||!l)return;const N=ot(x,u.current,d.current,y.current);f.set(nt(N[0],N[1],l,n,r,u.current))},[n,r,l,f]);return i.exports.useLayoutEffect(()=>{if(!s||!l||!S.current){b.current=null;return}b.current||(b.current=S.current.getContext("2d")),w()},[s,l,w]),i.exports.useEffect(()=>{const x=C=>{if(h)a.emit("mousemove",C);else{if(!u.current||!d.current||!y.current)return;g(C)}},N=C=>{if(h)a.emit("mouseup",C);else{if(!u.current||!d.current||!y.current)return;g(C),u.current=void 0,d.current=null,y.current=null}};return window.addEventListener("mousemove",x),window.addEventListener("mouseup",N),()=>{window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",N)}},[g,h,a]),i.exports.useImperativeHandle(o,()=>b.current),v.exports.jsxDEV("div",{className:"screenshots-canvas",style:{width:(l==null?void 0:l.width)||0,height:(l==null?void 0:l.height)||0,transform:l?`translate(${l.x}px, ${l.y}px)`:"none"},children:[v.exports.jsxDEV("div",{className:"screenshots-canvas-body",children:[v.exports.jsxDEV("img",{className:"screenshots-canvas-image",src:c,style:{width:n,height:r,transform:l?`translate(${-l.x}px, ${-l.y}px)`:"none"}},void 0,!1,{fileName:W,lineNumber:183,columnNumber:11},this),v.exports.jsxDEV("canvas",{ref:S,className:"screenshots-canvas-panel",width:(l==null?void 0:l.width)||0,height:(l==null?void 0:l.height)||0},void 0,!1,{fileName:W,lineNumber:192,columnNumber:11},this)]},void 0,!0,{fileName:W,lineNumber:181,columnNumber:9},this),v.exports.jsxDEV("div",{className:"screenshots-canvas-mask",style:{cursor:p},onMouseDown:x=>D(x,"move")},void 0,!1,{fileName:W,lineNumber:199,columnNumber:9},this),ct.map(x=>v.exports.jsxDEV("div",{className:`screenshots-canvas-border-${x}`},x,!1,{fileName:W,lineNumber:207,columnNumber:18},this)),at.map(x=>v.exports.jsxDEV("div",{className:`screenshots-canvas-point-${x}`,onMouseDown:N=>D(N,x)},x,!1,{fileName:W,lineNumber:211,columnNumber:13},this))]},void 0,!0,{fileName:W,lineNumber:173,columnNumber:7},this)}));function Ne(){const e=ie();return i.exports.useCallback((o,...c)=>{var s;(s=e.call)==null||s.call(e,o,...c)},[e])}function O(){const{canvasContextRef:e}=V();return e}function Ce(){const e=ee(),[,t]=J(),[,o]=A(),[,c]=L(),[,s]=G();return i.exports.useCallback(()=>{e.reset(),c.reset(),t.reset(),o.reset(),s.reset()},[e,c,t,o,s])}var Se="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsOption/index.tsx",q;(function(e){e.Bottom="bottom",e.Top="top"})(q||(q={}));var ut=i.exports.memo(function({open:t,content:o,children:c}){var y,S;const s=i.exports.useRef(null),n=i.exports.useRef(null),r=i.exports.useRef(null),a=i.exports.useContext(Ie),[m,p]=i.exports.useState(q.Bottom),[l,f]=i.exports.useState(null),[h,u]=i.exports.useState(0),d=()=>(n.current||(n.current=document.createElement("div")),n.current);return i.exports.useEffect(()=>{const b=d();return t&&document.body.appendChild(b),()=>{b.remove()}},[t]),i.exports.useEffect(()=>{if(!t||!a||!s.current||!r.current)return;const b=s.current.getBoundingClientRect(),w=r.current.getBoundingClientRect();let D=m,g=b.left+b.width/2,x=b.top+b.height,N=h;if(g+w.width/2>a.x+a.width){const C=g;g=a.x+a.width-w.width/2,N=C-g}if(g<a.x+w.width/2){const C=g;g=a.x+w.width/2,N=C-g}x>window.innerHeight-w.height&&(D===q.Bottom&&(D=q.Top),x=b.top-w.height),x<0&&(D===q.Top&&(D=q.Bottom),x=b.top+b.height),D!==m&&p(D),((l==null?void 0:l.x)!==g||l.y!==x)&&f({x:g,y:x}),N!==h&&u(N)}),v.exports.jsxDEV(v.exports.Fragment,{children:[i.exports.cloneElement(c,{ref:s}),t&&o&&Ve.exports.createPortal(v.exports.jsxDEV("div",{ref:r,className:"screenshots-option",style:{visibility:l?"visible":"hidden",transform:`translate(${(y=l==null?void 0:l.x)!=null?y:0}px, ${(S=l==null?void 0:l.y)!=null?S:0}px)`},"data-placement":m,children:[v.exports.jsxDEV("div",{className:"screenshots-option-container",children:o},void 0,!1,{fileName:Se,lineNumber:120,columnNumber:13},this),v.exports.jsxDEV("div",{className:"screenshots-option-arrow",style:{marginLeft:h}},void 0,!1,{fileName:Se,lineNumber:121,columnNumber:13},this)]},void 0,!0,{fileName:Se,lineNumber:111,columnNumber:11},this),d())]},void 0,!0)});var Re="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsButton/index.tsx",H=i.exports.memo(function({title:t,icon:o,checked:c,disabled:s,option:n,onClick:r}){const a=["screenshots-button"],m=i.exports.useCallback(p=>{s||!r||r(p)},[s,r]);return c&&a.push("screenshots-button-checked"),s&&a.push("screenshots-button-disabled"),v.exports.jsxDEV(ut,{open:c,content:n,children:v.exports.jsxDEV("div",{className:a.join(" "),title:t,onClick:m,children:v.exports.jsxDEV("span",{className:o},void 0,!1,{fileName:Re,lineNumber:44,columnNumber:9},this)},void 0,!1,{fileName:Re,lineNumber:43,columnNumber:7},this)},void 0,!1,{fileName:Re,lineNumber:42,columnNumber:5},this)}),ft="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Ok/index.tsx";function ht(){const{image:e,width:t,height:o,history:c,bounds:s,lang:n}=V(),r=O(),[,a]=L(),m=Ne(),p=Ce(),l=i.exports.useCallback(()=>{a.clearSelect(),setTimeout(()=>{!r.current||!e||!s||pe({image:e,width:t,height:o,history:c,bounds:s}).then(f=>{m("onOk",f,s),p()})})},[r,a,e,t,o,c,s,m,p]);return v.exports.jsxDEV(H,{title:n.operation_ok_title,icon:"icon-ok",onClick:l},void 0,!1,{fileName:ft,lineNumber:36,columnNumber:10},this)}var mt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Cancel/index.tsx";function pt(){const e=Ne(),t=Ce(),o=F(),c=i.exports.useCallback(()=>{e("onCancel"),t()},[e,t]);return v.exports.jsxDEV(H,{title:o.operation_cancel_title,icon:"icon-cancel",onClick:c},void 0,!1,{fileName:mt,lineNumber:17,columnNumber:10},this)}var xt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Save/index.tsx";function dt(){const{image:e,width:t,height:o,history:c,bounds:s,lang:n}=V(),r=O(),[,a]=L(),m=Ne(),p=Ce(),l=i.exports.useCallback(()=>{a.clearSelect(),setTimeout(()=>{!r.current||!e||!s||pe({image:e,width:t,height:o,history:c,bounds:s}).then(f=>{m("onSave",f,s),p()})})},[r,a,e,t,o,c,s,m,p]);return v.exports.jsxDEV(H,{title:n.operation_save_title,icon:"icon-save",onClick:l},void 0,!1,{fileName:xt,lineNumber:36,columnNumber:10},this)}var gt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Redo/index.tsx";function vt(){const e=F(),[t,o]=L(),c=i.exports.useCallback(()=>{o.redo()},[o]);return v.exports.jsxDEV(H,{title:e.operation_redo_title,icon:"icon-redo",disabled:!t.stack.length||t.stack.length-1===t.index,onClick:c},void 0,!1,{fileName:gt,lineNumber:15,columnNumber:5},this)}var bt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Undo/index.tsx";function yt(){const e=F(),[t,o]=L(),c=i.exports.useCallback(()=>{o.undo()},[o]);return v.exports.jsxDEV(H,{title:e.operation_undo_title,icon:"icon-undo",disabled:t.index===-1,onClick:c},void 0,!1,{fileName:bt,lineNumber:15,columnNumber:5},this)}var we="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsSize/index.tsx",Le=i.exports.memo(function({value:t,onChange:o}){const c=[3,6,9];return v.exports.jsxDEV("div",{className:"screenshots-size",children:c.map(s=>{const n=["screenshots-size-item"];return s===t&&n.push("screenshots-size-active"),v.exports.jsxDEV("div",{className:n.join(" "),onClick:()=>o&&o(s),children:v.exports.jsxDEV("div",{className:"screenshots-size-pointer",style:{width:s*1.8,height:s*1.8}},void 0,!1,{fileName:we,lineNumber:22,columnNumber:13},this)},s,!1,{fileName:we,lineNumber:21,columnNumber:11},this)})},void 0,!1,{fileName:we,lineNumber:12,columnNumber:5},this)});function te(e){const t=ee();i.exports.useEffect(()=>(t.on("mousedown",e),()=>{t.off("mousedown",e)}),[e,t])}function se(e){const t=ee();i.exports.useEffect(()=>(t.on("mousemove",e),()=>{t.off("mousemove",e)}),[e,t])}function re(e){const t=ee();i.exports.useEffect(()=>(t.on("mouseup",e),()=>{t.off("mouseup",e)}),[e,t])}var He="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Mosaic/index.tsx";function de(e,t,o){if(!o)return[0,0,0,0];const{data:c,width:s}=o,n=t*s*4+e*4;return Array.from(c.slice(n,n+4))}function Nt(e,t){const{tiles:o,size:c}=t.data;o.forEach(s=>{const n=Math.round(s.color[0]),r=Math.round(s.color[1]),a=Math.round(s.color[2]),m=s.color[3]/255;e.fillStyle=`rgba(${n}, ${r}, ${a}, ${m})`,e.fillRect(s.x-c/2,s.y-c/2,c,c)})}function Ct(){const e=F(),{image:t,width:o,height:c}=V(),[s,n]=G(),r=O(),[a,m]=L(),[p]=J(),[,l]=A(),[f,h]=i.exports.useState(3),u=i.exports.useRef(null),d=i.exports.useRef(null),y=s==="Mosaic",S=i.exports.useCallback(()=>{n.set("Mosaic"),l.set("crosshair")},[n,l]),b=i.exports.useCallback(()=>{y||(S(),m.clearSelect())},[y,S,m]),w=i.exports.useCallback(x=>{if(!y||d.current||!u.current||!r.current)return;const N=r.current.canvas.getBoundingClientRect(),C=x.clientX-N.x,k=x.clientY-N.y,E=f*2;d.current={name:"Mosaic",type:j.Source,data:{size:E,tiles:[{x:C,y:k,color:de(C,k,u.current)}]},editHistory:[],draw:Nt}},[y,f,r]),D=i.exports.useCallback(x=>{if(!y||!d.current||!r.current||!u.current)return;const N=r.current.canvas.getBoundingClientRect(),C=x.clientX-N.x,k=x.clientY-N.y,E=d.current.data.size,z=d.current.data.tiles;let R=z[z.length-1];if(!R)z.push({x:C,y:k,color:de(C,k,u.current)});else{const T=R.x-C,B=R.y-k;let _=Math.sqrt(T**2+B**2);const ve=-B/_,be=-T/_;for(;_>E;){const ne=Math.floor(R.x+E*be),oe=Math.floor(R.y+E*ve);R={x:ne,y:oe,color:de(ne,oe,u.current)},z.push(R),_-=E}_>E/2&&z.push({x:C,y:k,color:de(C,k,u.current)})}a.top!==d.current?m.push(d.current):m.set(a)},[y,r,a,m]),g=i.exports.useCallback(()=>{!y||(d.current=null)},[y]);return te(w),se(D),re(g),i.exports.useEffect(()=>{if(!p||!t||!y)return;const x=document.createElement("canvas"),N=x.getContext("2d");if(!N)return;x.width=p.width,x.height=p.height;const C=t.naturalWidth/o,k=t.naturalHeight/c;N.drawImage(t,p.x*C,p.y*k,p.width*C,p.height*k,0,0,p.width,p.height),u.current=N.getImageData(0,0,p.width,p.height)},[o,c,p,t,y]),v.exports.jsxDEV(H,{title:e.operation_mosaic_title,icon:"icon-mosaic",checked:y,onClick:b,option:v.exports.jsxDEV(Le,{value:f,onChange:h},void 0,!1,{fileName:He,lineNumber:220,columnNumber:15},this)},void 0,!1,{fileName:He,lineNumber:215,columnNumber:5},this)}var Xe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsColor/index.tsx",St=i.exports.memo(function({value:t,onChange:o}){const c=["#ee5126","#fceb4d","#90e746","#51c0fa","#7a7a7a","#ffffff"];return v.exports.jsxDEV("div",{className:"screenshots-color",children:c.map(s=>{const n=["screenshots-color-item"];return s===t&&n.push("screenshots-color-active"),v.exports.jsxDEV("div",{className:n.join(" "),style:{backgroundColor:s},onClick:()=>o&&o(s)},s,!1,{fileName:Xe,lineNumber:19,columnNumber:11},this)})},void 0,!1,{fileName:Xe,lineNumber:12,columnNumber:5},this)});var ke="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsSizeColor/index.tsx",ce=i.exports.memo(function({size:t,color:o,onSizeChange:c,onColorChange:s}){return v.exports.jsxDEV("div",{className:"screenshots-sizecolor",children:[v.exports.jsxDEV(Le,{value:t,onChange:c},void 0,!1,{fileName:ke,lineNumber:21,columnNumber:7},this),v.exports.jsxDEV(St,{value:o,onChange:s},void 0,!1,{fileName:ke,lineNumber:22,columnNumber:7},this)]},void 0,!0,{fileName:ke,lineNumber:20,columnNumber:5},this)});const Rt=`
2
+ min-width: 0 !important;
3
+ width: 0 !important;
4
+ min-height: 0 !important;
5
+ height:0 !important;
6
+ visibility: hidden !important;
7
+ overflow: hidden !important;
8
+ position: absolute !important;
9
+ z-index: -1000 !important;
10
+ top:0 !important;
11
+ right:0 !important;
12
+ `,wt=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","text-indent","padding-left","padding-right","border-width","box-sizing","white-space","word-break"];let I;function kt(e){const t=window.getComputedStyle(e),o=t.getPropertyValue("box-sizing")||t.getPropertyValue("-moz-box-sizing")||t.getPropertyValue("-webkit-box-sizing"),c=parseFloat(t.getPropertyValue("padding-bottom"))+parseFloat(t.getPropertyValue("padding-top")),s=parseFloat(t.getPropertyValue("border-bottom-width"))+parseFloat(t.getPropertyValue("border-top-width"));return{sizingStyle:wt.map(r=>`${r}:${t.getPropertyValue(r)}`).join(";"),paddingSize:c,borderSize:s,boxSizing:o}}function Dt(e,t,o,c){I||(I=document.createElement("textarea"),I.setAttribute("tab-index","-1"),document.body.appendChild(I));const{paddingSize:s,borderSize:n,boxSizing:r,sizingStyle:a}=kt(e);I.setAttribute("style",`${a};${Rt};max-width:${o}px;max-height:${c}px`),I.value=t||" ";let m=I.scrollWidth,p=I.scrollHeight;return r==="border-box"?(m+=n,p+=n):r==="content-box"&&(m-=s,p-=s),{width:Math.min(m,o),height:Math.min(p,c)}}var zt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsTextarea/index.tsx",Et=i.exports.memo(function({x:t,y:o,maxWidth:c,maxHeight:s,size:n,color:r,value:a,onChange:m,onBlur:p}){const l=i.exports.useRef(null),f=i.exports.useRef(null),[h,u]=i.exports.useState(0),[d,y]=i.exports.useState(0),S=()=>(l.current||(l.current=document.createElement("div")),l.current);return i.exports.useLayoutEffect(()=>(l.current&&(document.body.appendChild(l.current),requestAnimationFrame(()=>{var b;(b=f.current)==null||b.focus()})),()=>{var b;(b=l.current)==null||b.remove()}),[]),i.exports.useLayoutEffect(()=>{if(!f.current)return;const{width:b,height:w}=Dt(f.current,a,c,s);u(b),y(w)},[a,c,s]),Ve.exports.createPortal(v.exports.jsxDEV("textarea",{ref:f,className:"screenshots-textarea",style:{color:r,width:h,height:d,maxWidth:c,maxHeight:s,fontSize:n,lineHeight:`${n}px`,transform:`translate(${t}px, ${o}px)`},value:a,onChange:b=>m&&m(b.target.value),onBlur:b=>p&&p(b)},void 0,!1,{fileName:zt,lineNumber:65,columnNumber:5},this),S())});function ae(e){const t=ee();i.exports.useEffect(()=>(t.on("drawselect",e),()=>{t.off("drawselect",e)}),[e,t])}var De="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Text/index.tsx";const ze={3:18,6:32,9:46};function jt(e,t){const{size:o,color:c,fontFamily:s,x:n,y:r,text:a}=t.data;e.fillStyle=c,e.textAlign="left",e.textBaseline="top",e.font=`${o}px ${s}`;const m=t.editHistory.reduce((p,{data:l})=>({x:p.x+l.x2-l.x1,y:p.y+l.y2-l.y1}),{x:0,y:0});a.split(`
13
+ `).forEach((p,l)=>{e.fillText(p,n+m.x,r+m.y+l*o)})}function Bt(e,t,o){e.textAlign="left",e.textBaseline="top",e.font=`${t.data.size}px ${t.data.fontFamily}`;let c=0,s=0;t.data.text.split(`
14
+ `).forEach(f=>{const h=e.measureText(f);c<h.width&&(c=h.width),s+=t.data.size});const{x:n,y:r}=t.editHistory.reduce((f,{data:h})=>({x:f.x+h.x2-h.x1,y:f.y+h.y2-h.y1}),{x:0,y:0}),a=t.data.x+n,m=t.data.y+r,p=a+c,l=m+s;return o.x>=a&&o.x<=p&&o.y>=m&&o.y<=l}function Mt(){const e=F(),[t,o]=L(),[c]=J(),[s,n]=G(),[,r]=A(),a=O(),[m,p]=i.exports.useState(3),[l,f]=i.exports.useState("#ee5126"),h=i.exports.useRef(null),u=i.exports.useRef(null),[d,y]=i.exports.useState(null),[S,b]=i.exports.useState(""),w=s==="Text",D=i.exports.useCallback(()=>{n.set("Text"),r.set("default")},[n,r]),g=i.exports.useCallback(()=>{w||(D(),o.clearSelect())},[w,D,o]),x=i.exports.useCallback(B=>{h.current&&(h.current.data.size=ze[B]),p(B)},[]),N=i.exports.useCallback(B=>{h.current&&(h.current.data.color=B),f(B)},[]),C=i.exports.useCallback(B=>{b(B),w&&h.current&&(h.current.data.text=B)},[w]),k=i.exports.useCallback(()=>{h.current&&h.current.data.text&&o.push(h.current),h.current=null,b(""),y(null)},[o]),E=i.exports.useCallback((B,_)=>{B.name==="Text"&&(D(),u.current={type:j.Edit,data:{x1:_.clientX,y1:_.clientY,x2:_.clientX,y2:_.clientY},source:B},o.select(B))},[D,o]),z=i.exports.useCallback(B=>{if(!w||!a.current||h.current||!c)return;const{left:_,top:ve}=a.current.canvas.getBoundingClientRect(),be=window.getComputedStyle(a.current.canvas).fontFamily,ne=B.clientX-_,oe=B.clientY-ve;h.current={name:"Text",type:j.Source,data:{size:ze[m],color:l,fontFamily:be,x:ne,y:oe,text:""},editHistory:[],draw:jt,isHit:Bt},y({x:B.clientX,y:B.clientY,maxWidth:c.width-ne,maxHeight:c.height-oe})},[w,m,l,c,a]),R=i.exports.useCallback(B=>{!w||u.current&&(u.current.data.x2=B.clientX,u.current.data.y2=B.clientY,t.top!==u.current?(u.current.source.editHistory.push(u.current),o.push(u.current)):o.set(t))},[w,t,o]),T=i.exports.useCallback(()=>{!w||(u.current=null)},[w]);return ae(E),te(z),se(R),re(T),v.exports.jsxDEV(v.exports.Fragment,{children:[v.exports.jsxDEV(H,{title:e.operation_text_title,icon:"icon-text",checked:w,onClick:g,option:v.exports.jsxDEV(ce,{size:m,color:l,onSizeChange:x,onColorChange:N},void 0,!1,{fileName:De,lineNumber:261,columnNumber:11},this)},void 0,!1,{fileName:De,lineNumber:255,columnNumber:7},this),w&&d&&v.exports.jsxDEV(Et,{x:d.x,y:d.y,maxWidth:d.maxWidth,maxHeight:d.maxHeight,size:ze[m],color:l,value:S,onChange:C,onBlur:k},void 0,!1,{fileName:De,lineNumber:265,columnNumber:9},this)]},void 0,!0)}const Pe=4;function M(e,t,o){e.lineWidth=1,e.strokeStyle="#000000",e.fillStyle="#ffffff",e.beginPath(),e.arc(t,o,Pe,0,2*Math.PI),e.fill(),e.stroke()}function ge(e,t,o){t.draw(e,t);const{data:c}=e.getImageData(o.x,o.y,1,1);return c.some(s=>s!==0)}function $(e,t,o){if(!e)return!1;const{left:c,top:s}=e.getBoundingClientRect(),n=t.clientX-c,r=t.clientY-s;return(o.x-n)**2+(o.y-r)**2<Pe**2}function $t(e,t){const{size:o,color:c,points:s}=t.data;e.lineCap="round",e.lineJoin="round",e.lineWidth=o,e.strokeStyle=c;const n=t.editHistory.reduce((r,{data:a})=>({x:r.x+a.x2-a.x1,y:r.y+a.y2-a.y1}),{x:0,y:0});e.beginPath(),s.forEach((r,a)=>{a===0?e.moveTo(r.x+n.x,r.y+n.y):e.lineTo(r.x+n.x,r.y+n.y)}),e.stroke(),t.isSelected&&(e.lineWidth=1,e.strokeStyle="#000000",e.beginPath(),s.forEach((r,a)=>{a===0?e.moveTo(r.x+n.x,r.y+n.y):e.lineTo(r.x+n.x,r.y+n.y)}),e.stroke())}var Fe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Brush/index.tsx";function Vt(){const e=F(),[,t]=A(),[o,c]=G(),s=O(),[n,r]=L(),[a,m]=i.exports.useState(3),[p,l]=i.exports.useState("#ee5126"),f=i.exports.useRef(null),h=i.exports.useRef(null),u=o==="Brush",d=i.exports.useCallback(()=>{c.set("Brush"),t.set("default")},[c,t]),y=i.exports.useCallback(()=>{u||(d(),r.clearSelect())},[u,d,r]),S=i.exports.useCallback((g,x)=>{g.name==="Brush"&&(d(),h.current={type:j.Edit,data:{x1:x.clientX,y1:x.clientY,x2:x.clientX,y2:x.clientY},source:g},r.select(g))},[d,r]),b=i.exports.useCallback(g=>{if(!u||f.current||!s.current)return;const{left:x,top:N}=s.current.canvas.getBoundingClientRect();f.current={name:"Brush",type:j.Source,data:{size:a,color:p,points:[{x:g.clientX-x,y:g.clientY-N}]},editHistory:[],draw:$t,isHit:ge}},[u,s,a,p]),w=i.exports.useCallback(g=>{if(!(!u||!s.current)){if(h.current)h.current.data.x2=g.clientX,h.current.data.y2=g.clientY,n.top!==h.current?(h.current.source.editHistory.push(h.current),r.push(h.current)):r.set(n);else if(f.current){const{left:x,top:N}=s.current.canvas.getBoundingClientRect();f.current.data.points.push({x:g.clientX-x,y:g.clientY-N}),n.top!==f.current?r.push(f.current):r.set(n)}}},[u,n,s,r]),D=i.exports.useCallback(()=>{!u||(f.current&&r.clearSelect(),f.current=null,h.current=null)},[u,r]);return ae(S),te(b),se(w),re(D),v.exports.jsxDEV(H,{title:e.operation_brush_title,icon:"icon-brush",checked:u,onClick:y,option:v.exports.jsxDEV(ce,{size:a,color:p,onSizeChange:m,onColorChange:l},void 0,!1,{fileName:Fe,lineNumber:166,columnNumber:15},this)},void 0,!1,{fileName:Fe,lineNumber:161,columnNumber:5},this)}function Ye(e){let{x1:t,y1:o,x2:c,y2:s}=e.data;return e.editHistory.forEach(({data:n})=>{const r=n.x2-n.x1,a=n.y2-n.y1;n.type===le.Move?(t+=r,o+=a,c+=r,s+=a):n.type===le.MoveStart?(t+=r,o+=a):n.type===le.MoveEnd&&(c+=r,s+=a)}),me(U({},e.data),{x1:t,x2:c,y1:o,y2:s})}function _t(e,t){const{size:o,color:c,x1:s,x2:n,y1:r,y2:a}=Ye(t);e.lineCap="round",e.lineJoin="bevel",e.lineWidth=o,e.strokeStyle=c;const m=n-s,p=a-r,l=o*3,f=Math.atan2(p,m);e.beginPath(),e.moveTo(s,r),e.lineTo(n,a),e.lineTo(n-l*Math.cos(f-Math.PI/6),a-l*Math.sin(f-Math.PI/6)),e.moveTo(n,a),e.lineTo(n-l*Math.cos(f+Math.PI/6),a-l*Math.sin(f+Math.PI/6)),e.stroke(),t.isSelected&&(M(e,s,r),M(e,n,a))}var Te="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Arrow/index.tsx",le;(function(e){e[e.Move=0]="Move",e[e.MoveStart=1]="MoveStart",e[e.MoveEnd=2]="MoveEnd"})(le||(le={}));function Lt(){const e=F(),[,t]=A(),[o,c]=G(),[s,n]=L(),r=O(),[a,m]=i.exports.useState(3),[p,l]=i.exports.useState("#ee5126"),f=i.exports.useRef(null),h=i.exports.useRef(null),u=o==="Arrow",d=i.exports.useCallback(()=>{c.set("Arrow"),t.set("default")},[c,t]),y=i.exports.useCallback(()=>{u||(d(),n.clearSelect())},[u,d,n]),S=i.exports.useCallback((g,x)=>{if(g.name!=="Arrow"||!r.current)return;const N=g;d();const{x1:C,y1:k,x2:E,y2:z}=Ye(N);let R=0;$(r.current.canvas,x,{x:C,y:k})?R=1:$(r.current.canvas,x,{x:E,y:z})&&(R=2),h.current={type:j.Edit,data:{type:R,x1:x.clientX,y1:x.clientY,x2:x.clientX,y2:x.clientY},source:N},n.select(g)},[r,d,n]),b=i.exports.useCallback(g=>{if(!u||f.current||!r.current)return;const{left:x,top:N}=r.current.canvas.getBoundingClientRect();f.current={name:"Arrow",type:j.Source,data:{size:a,color:p,x1:g.clientX-x,y1:g.clientY-N,x2:g.clientX-x,y2:g.clientY-N},editHistory:[],draw:_t,isHit:ge}},[u,p,a,r]),w=i.exports.useCallback(g=>{if(!(!u||!r.current)){if(h.current)h.current.data.x2=g.clientX,h.current.data.y2=g.clientY,s.top!==h.current?(h.current.source.editHistory.push(h.current),n.push(h.current)):n.set(s);else if(f.current){const{left:x,top:N}=r.current.canvas.getBoundingClientRect();f.current.data.x2=g.clientX-x,f.current.data.y2=g.clientY-N,s.top!==f.current?n.push(f.current):n.set(s)}}},[u,s,r,n]),D=i.exports.useCallback(()=>{!u||(f.current&&n.clearSelect(),f.current=null,h.current=null)},[u,n]);return ae(S),te(b),se(w),re(D),v.exports.jsxDEV(H,{title:e.operation_arrow_title,icon:"icon-arrow",checked:u,onClick:y,option:v.exports.jsxDEV(ce,{size:a,color:p,onSizeChange:m,onColorChange:l},void 0,!1,{fileName:Te,lineNumber:190,columnNumber:15},this)},void 0,!1,{fileName:Te,lineNumber:185,columnNumber:5},this)}function Ue(e){let{x1:t,y1:o,x2:c,y2:s}=e.data;return e.editHistory.forEach(({data:n})=>{const r=n.x2-n.x1,a=n.y2-n.y1;n.type===X.Move?(t+=r,o+=a,c+=r,s+=a):n.type===X.ResizeTop?o+=a:n.type===X.ResizeRightTop?(c+=r,o+=a):n.type===X.ResizeRight?c+=r:n.type===X.ResizeRightBottom?(c+=r,s+=a):n.type===X.ResizeBottom?s+=a:n.type===X.ResizeLeftBottom?(t+=r,s+=a):n.type===X.ResizeLeft?t+=r:n.type===X.ResizeLeftTop&&(t+=r,o+=a)}),me(U({},e.data),{x1:t,x2:c,y1:o,y2:s})}function Ht(e,t){const{size:o,color:c,x1:s,y1:n,x2:r,y2:a}=Ue(t);e.lineCap="butt",e.lineJoin="miter",e.lineWidth=o,e.strokeStyle=c;const m=(s+r)/2,p=(n+a)/2,l=Math.abs(r-s)/2,f=Math.abs(a-n)/2,h=.5522848,u=l*h,d=f*h;e.beginPath(),e.moveTo(m-l,p),e.bezierCurveTo(m-l,p-d,m-u,p-f,m,p-f),e.bezierCurveTo(m+u,p-f,m+l,p-d,m+l,p),e.bezierCurveTo(m+l,p+d,m+u,p+f,m,p+f),e.bezierCurveTo(m-u,p+f,m-l,p+d,m-l,p),e.closePath(),e.stroke(),t.isSelected&&(e.lineWidth=1,e.strokeStyle="#000000",e.fillStyle="#ffffff",e.beginPath(),e.moveTo(s,n),e.lineTo(r,n),e.lineTo(r,a),e.lineTo(s,a),e.closePath(),e.stroke(),M(e,(s+r)/2,n),M(e,r,n),M(e,r,(n+a)/2),M(e,r,a),M(e,(s+r)/2,a),M(e,s,a),M(e,s,(n+a)/2),M(e,s,n))}var Ae="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Ellipse/index.tsx",X;(function(e){e[e.Move=0]="Move",e[e.ResizeTop=1]="ResizeTop",e[e.ResizeRightTop=2]="ResizeRightTop",e[e.ResizeRight=3]="ResizeRight",e[e.ResizeRightBottom=4]="ResizeRightBottom",e[e.ResizeBottom=5]="ResizeBottom",e[e.ResizeLeftBottom=6]="ResizeLeftBottom",e[e.ResizeLeft=7]="ResizeLeft",e[e.ResizeLeftTop=8]="ResizeLeftTop"})(X||(X={}));function Xt(){const e=F(),[t,o]=L(),[c,s]=G(),[,n]=A(),r=O(),[a,m]=i.exports.useState(3),[p,l]=i.exports.useState("#ee5126"),f=i.exports.useRef(null),h=i.exports.useRef(null),u=c==="Ellipse",d=i.exports.useCallback(()=>{s.set("Ellipse"),n.set("crosshair")},[s,n]),y=i.exports.useCallback(()=>{u||(d(),o.clearSelect())},[u,d,o]),S=i.exports.useCallback((g,x)=>{if(g.name!=="Ellipse"||!r.current)return;const N=g;d();const{x1:C,y1:k,x2:E,y2:z}=Ue(N);let R=0;$(r.current.canvas,x,{x:(C+E)/2,y:k})?R=1:$(r.current.canvas,x,{x:E,y:k})?R=2:$(r.current.canvas,x,{x:E,y:(k+z)/2})?R=3:$(r.current.canvas,x,{x:E,y:z})?R=4:$(r.current.canvas,x,{x:(C+E)/2,y:z})?R=5:$(r.current.canvas,x,{x:C,y:z})?R=6:$(r.current.canvas,x,{x:C,y:(k+z)/2})?R=7:$(r.current.canvas,x,{x:C,y:k})&&(R=8),h.current={type:j.Edit,data:{type:R,x1:x.clientX,y1:x.clientY,x2:x.clientX,y2:x.clientY},source:N},o.select(g)},[r,d,o]),b=i.exports.useCallback(g=>{if(!u||!r.current||f.current)return;const{left:x,top:N}=r.current.canvas.getBoundingClientRect(),C=g.clientX-x,k=g.clientY-N;f.current={name:"Ellipse",type:j.Source,data:{size:a,color:p,x1:C,y1:k,x2:C,y2:k},editHistory:[],draw:Ht,isHit:ge}},[u,a,p,r]),w=i.exports.useCallback(g=>{if(!(!u||!r.current)){if(h.current)h.current.data.x2=g.clientX,h.current.data.y2=g.clientY,t.top!==h.current?(h.current.source.editHistory.push(h.current),o.push(h.current)):o.set(t);else if(f.current){const{left:x,top:N}=r.current.canvas.getBoundingClientRect();f.current.data.x2=g.clientX-x,f.current.data.y2=g.clientY-N,t.top!==f.current?o.push(f.current):o.set(t)}}},[u,r,t,o]),D=i.exports.useCallback(()=>{!u||(f.current&&o.clearSelect(),f.current=null,h.current=null)},[u,o]);return ae(S),te(b),se(w),re(D),v.exports.jsxDEV(H,{title:e.operation_ellipse_title,icon:"icon-ellipse",checked:u,onClick:y,option:v.exports.jsxDEV(ce,{size:a,color:p,onSizeChange:m,onColorChange:l},void 0,!1,{fileName:Ae,lineNumber:242,columnNumber:15},this)},void 0,!1,{fileName:Ae,lineNumber:237,columnNumber:5},this)}function Ge(e){let{x1:t,y1:o,x2:c,y2:s}=e.data;return e.editHistory.forEach(({data:n})=>{const r=n.x2-n.x1,a=n.y2-n.y1;n.type===P.Move?(t+=r,o+=a,c+=r,s+=a):n.type===P.ResizeTop?o+=a:n.type===P.ResizeRightTop?(c+=r,o+=a):n.type===P.ResizeRight?c+=r:n.type===P.ResizeRightBottom?(c+=r,s+=a):n.type===P.ResizeBottom?s+=a:n.type===P.ResizeLeftBottom?(t+=r,s+=a):n.type===P.ResizeLeft?t+=r:n.type===P.ResizeLeftTop&&(t+=r,o+=a)}),me(U({},e.data),{x1:t,x2:c,y1:o,y2:s})}function Pt(e,t){const{size:o,color:c,x1:s,y1:n,x2:r,y2:a}=Ge(t);e.lineCap="butt",e.lineJoin="miter",e.lineWidth=o,e.strokeStyle=c,e.beginPath(),e.moveTo(s,n),e.lineTo(r,n),e.lineTo(r,a),e.lineTo(s,a),e.closePath(),e.stroke(),t.isSelected&&(e.lineWidth=1,e.strokeStyle="#000000",e.fillStyle="#ffffff",M(e,(s+r)/2,n),M(e,r,n),M(e,r,(n+a)/2),M(e,r,a),M(e,(s+r)/2,a),M(e,s,a),M(e,s,(n+a)/2),M(e,s,n))}var Oe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Rectangle/index.tsx",P;(function(e){e[e.Move=0]="Move",e[e.ResizeTop=1]="ResizeTop",e[e.ResizeRightTop=2]="ResizeRightTop",e[e.ResizeRight=3]="ResizeRight",e[e.ResizeRightBottom=4]="ResizeRightBottom",e[e.ResizeBottom=5]="ResizeBottom",e[e.ResizeLeftBottom=6]="ResizeLeftBottom",e[e.ResizeLeft=7]="ResizeLeft",e[e.ResizeLeftTop=8]="ResizeLeftTop"})(P||(P={}));function Ft(){const e=F(),[t,o]=L(),[c,s]=G(),[,n]=A(),r=O(),[a,m]=i.exports.useState(3),[p,l]=i.exports.useState("#ee5126"),f=i.exports.useRef(null),h=i.exports.useRef(null),u=c==="Rectangle",d=i.exports.useCallback(()=>{s.set("Rectangle"),n.set("crosshair")},[s,n]),y=i.exports.useCallback(()=>{u||(d(),o.clearSelect())},[u,d,o]),S=i.exports.useCallback((g,x)=>{if(g.name!=="Rectangle"||!r.current)return;const N=g;d();const{x1:C,y1:k,x2:E,y2:z}=Ge(N);let R=0;$(r.current.canvas,x,{x:(C+E)/2,y:k})?R=1:$(r.current.canvas,x,{x:E,y:k})?R=2:$(r.current.canvas,x,{x:E,y:(k+z)/2})?R=3:$(r.current.canvas,x,{x:E,y:z})?R=4:$(r.current.canvas,x,{x:(C+E)/2,y:z})?R=5:$(r.current.canvas,x,{x:C,y:z})?R=6:$(r.current.canvas,x,{x:C,y:(k+z)/2})?R=7:$(r.current.canvas,x,{x:C,y:k})&&(R=8),h.current={type:j.Edit,data:{type:R,x1:x.clientX,y1:x.clientY,x2:x.clientX,y2:x.clientY},source:g},o.select(g)},[r,d,o]),b=i.exports.useCallback(g=>{if(!u||!r.current||f.current)return;const{left:x,top:N}=r.current.canvas.getBoundingClientRect(),C=g.clientX-x,k=g.clientY-N;f.current={name:"Rectangle",type:j.Source,data:{size:a,color:p,x1:C,y1:k,x2:C,y2:k},editHistory:[],draw:Pt,isHit:ge}},[u,a,p,r]),w=i.exports.useCallback(g=>{if(!(!u||!r.current)){if(h.current)h.current.data.x2=g.clientX,h.current.data.y2=g.clientY,t.top!==h.current?(h.current.source.editHistory.push(h.current),o.push(h.current)):o.set(t);else if(f.current){const{left:x,top:N}=r.current.canvas.getBoundingClientRect(),C=f.current.data;C.x2=g.clientX-x,C.y2=g.clientY-N,t.top!==f.current?o.push(f.current):o.set(t)}}},[u,r,t,o]),D=i.exports.useCallback(()=>{!u||(f.current&&o.clearSelect(),f.current=null,h.current=null)},[u,o]);return ae(S),te(b),se(w),re(D),v.exports.jsxDEV(H,{title:e.operation_rectangle_title,icon:"icon-rectangle",checked:u,onClick:y,option:v.exports.jsxDEV(ce,{size:a,color:p,onSizeChange:m,onColorChange:l},void 0,!1,{fileName:Oe,lineNumber:242,columnNumber:15},this)},void 0,!1,{fileName:Oe,lineNumber:237,columnNumber:5},this)}var Yt=[Ft,Xt,Lt,Vt,Mt,Ct,"|",yt,vt,"|",dt,pt,ht];var ue="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsOperations/index.tsx";const Ie=$e.createContext(null);var Tt=i.exports.memo(function(){var f,h;const{width:t,height:o}=V(),[c]=J(),[s,n]=i.exports.useState(null),[r,a]=i.exports.useState(null),m=i.exports.useRef(null),p=i.exports.useCallback(u=>{u.stopPropagation()},[]),l=i.exports.useCallback(u=>{u.preventDefault(),u.stopPropagation()},[]);return i.exports.useEffect(()=>{if(!c||!m.current)return;const u=m.current.getBoundingClientRect();let d=c.x+c.width-u.width,y=c.y+c.height+10;d<0&&(d=0),d>t-u.width&&(d=t-u.width),y>o-u.height&&(y=o-u.height-10),((r==null?void 0:r.x)!==d||r.y!==y)&&a({x:d,y}),((s==null?void 0:s.x)!==u.x||s.y!==u.y||s.width!==u.width||s.height!==u.height)&&n({x:u.x,y:u.y,width:u.width,height:u.height})}),c?v.exports.jsxDEV(Ie.Provider,{value:s,children:v.exports.jsxDEV("div",{ref:m,className:"screenshots-operations",style:{visibility:r?"visible":"hidden",transform:`translate(${(f=r==null?void 0:r.x)!=null?f:0}px, ${(h=r==null?void 0:r.y)!=null?h:0}px)`},onDoubleClick:p,onContextMenu:l,children:v.exports.jsxDEV("div",{className:"screenshots-operations-buttons",children:Yt.map((u,d)=>u==="|"?v.exports.jsxDEV("div",{className:"screenshots-operations-divider"},d,!1,{fileName:ue,lineNumber:90,columnNumber:22},this):v.exports.jsxDEV(u,{},d,!1,{fileName:ue,lineNumber:92,columnNumber:22},this))},void 0,!1,{fileName:ue,lineNumber:87,columnNumber:9},this)},void 0,!1,{fileName:ue,lineNumber:77,columnNumber:7},this)},void 0,!1,{fileName:ue,lineNumber:76,columnNumber:5},this):null});function Ut(e){const[t,o]=i.exports.useState(null);return i.exports.useEffect(()=>{if(o(null),e==null)return;const c=document.createElement("img"),s=()=>o(c),n=()=>o(null);return c.addEventListener("load",s),c.addEventListener("error",n),c.src=e,()=>{c.removeEventListener("load",s),c.removeEventListener("error",n)}},[e]),t}var fe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/index.tsx";function At(r){var a=r,{url:e,width:t,height:o,lang:c,className:s}=a,n=Me(a,["url","width","height","lang","className"]);const m=Ut(e),p=i.exports.useRef(null),l=i.exports.useRef({}),[f,h]=i.exports.useState({index:-1,stack:[]}),[u,d]=i.exports.useState(null),[y,S]=i.exports.useState("move"),[b,w]=i.exports.useState(void 0),D={url:e,width:t,height:o,image:m,lang:U(U({},_e),c),emiterRef:l,canvasContextRef:p,history:f,bounds:u,cursor:y,operation:b},g=i.exports.useCallback((z,...R)=>{const T=n[z];typeof T=="function"&&T(...R)},[n]),x={call:g,setHistory:h,setBounds:d,setCursor:S,setOperation:w},N=["screenshots"];s&&N.push(s);const C=()=>{l.current={},h({index:-1,stack:[]}),d(null),S("move"),w(void 0)},k=i.exports.useCallback(async z=>{if(!(z.button!==0||!m))if(u&&p.current)pe({image:m,width:t,height:o,history:f,bounds:u}).then(R=>{g("onOk",R,u),C()});else{const R={x:0,y:0,width:t,height:o};pe({image:m,width:t,height:o,history:f,bounds:R}).then(T=>{g("onOk",T,R),C()})}},[m,f,u,t,o,g]),E=i.exports.useCallback(z=>{z.button===2&&(z.preventDefault(),g("onCancel"),C())},[g]);return i.exports.useLayoutEffect(()=>{C()},[e]),v.exports.jsxDEV(ye.Provider,{value:{store:D,dispatcher:x},children:v.exports.jsxDEV("div",{className:N.join(" "),style:{width:t,height:o},onDoubleClick:k,onContextMenu:E,children:[v.exports.jsxDEV(rt,{},void 0,!1,{fileName:fe,lineNumber:149,columnNumber:9},this),v.exports.jsxDEV(lt,{ref:p},void 0,!1,{fileName:fe,lineNumber:150,columnNumber:9},this),v.exports.jsxDEV(Tt,{},void 0,!1,{fileName:fe,lineNumber:151,columnNumber:9},this)]},void 0,!0,{fileName:fe,lineNumber:143,columnNumber:7},this)},void 0,!1,{fileName:fe,lineNumber:142,columnNumber:5},this)}var We="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/electron/app.tsx";function Gt(){const[e,t]=i.exports.useState(void 0),[o,c]=i.exports.useState(window.innerWidth),[s,n]=i.exports.useState(window.innerHeight),[r,a]=i.exports.useState(void 0),[m,p]=i.exports.useState(void 0),l=i.exports.useCallback(async(u,d)=>{!r||!u||window.screenshots.save(await u.arrayBuffer(),{bounds:d,display:r})},[r]),f=i.exports.useCallback(()=>{window.screenshots.cancel()},[]),h=i.exports.useCallback(async(u,d)=>{!r||!u||window.screenshots.ok(await u.arrayBuffer(),{bounds:d,display:r})},[r]);return i.exports.useEffect(()=>{const u=S=>{p(S)},d=(S,b)=>{a(S),t(b)},y=()=>{t(void 0),a(void 0),requestAnimationFrame(()=>window.screenshots.reset())};return window.screenshots.on("setLang",u),window.screenshots.on("capture",d),window.screenshots.on("reset",y),window.screenshots.ready(),()=>{window.screenshots.off("capture",d),window.screenshots.off("setLang",u),window.screenshots.off("reset",y)}},[]),i.exports.useEffect(()=>{const u=()=>{c(window.innerWidth),n(window.innerHeight)};return window.addEventListener("resize",u),()=>{window.removeEventListener("resize",u)}},[f]),v.exports.jsxDEV("div",{className:"body",children:v.exports.jsxDEV(At,{url:e,width:o,height:s,lang:m,onSave:l,onCancel:f,onOk:h},void 0,!1,{fileName:We,lineNumber:89,columnNumber:7},this)},void 0,!1,{fileName:We,lineNumber:88,columnNumber:5},this)}var qe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/electron/index.tsx";Ze.render(v.exports.jsxDEV(i.exports.StrictMode,{children:v.exports.jsxDEV(Gt,{},void 0,!1,{fileName:qe,lineNumber:7,columnNumber:5},globalThis)},void 0,!1,{fileName:qe,lineNumber:6,columnNumber:3},globalThis),document.getElementById("app"));
@@ -4,9 +4,9 @@
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <title>react-screenshots</title>
7
- <script type="module" crossorigin src="./assets/index.77e4c335.js"></script>
7
+ <script type="module" crossorigin src="./assets/index.c68b977f.js"></script>
8
8
  <link rel="modulepreload" href="./assets/vendor.e3c417b2.js">
9
- <link rel="stylesheet" href="./assets/index.72e90af8.css">
9
+ <link rel="stylesheet" href="./assets/index.95e77ee2.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"></div>
@@ -1,4 +1,4 @@
1
- "use strict";var We=Object.defineProperty,Oe=Object.defineProperties;var Ve=Object.getOwnPropertyDescriptors;var he=Object.getOwnPropertySymbols;var ze=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable;var Be=(e,t,s)=>t in e?We(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,U=(e,t)=>{for(var s in t||(t={}))ze.call(t,s)&&Be(e,s,t[s]);if(he)for(var s of he(t))Ee.call(t,s)&&Be(e,s,t[s]);return e},me=(e,t)=>Oe(e,Ve(t));var De=(e,t)=>{var s={};for(var o in e)ze.call(e,o)&&t.indexOf(o)<0&&(s[o]=e[o]);if(e!=null&&he)for(var o of he(e))t.indexOf(o)<0&&Ee.call(e,o)&&(s[o]=e[o]);return s};var i=require("react"),Me=require("react-dom");function qe(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var _=qe(i);function Je(e,{width:t,height:s}){return new Promise((o,c)=>{if(!e.complete)return c(new Error("image is not fully loaded"));const r=document.createElement("canvas"),n=t*window.devicePixelRatio,u=s*window.devicePixelRatio;r.width=n,r.height=u;const d=r.getContext("2d");if(!d)return c(new Error("convert image to blob fail"));d.imageSmoothingEnabled=!0,d.imageSmoothingQuality="low",d.drawImage(e,0,0,e.naturalWidth,e.naturalHeight,0,0,n,u),r.toBlob(l=>{if(!l)return c(new Error("canvas toBlob fail"));o(l)},"image/png")})}const $e={magnifier_position_label:"\u5750\u6807",operation_ok_title:"\u786E\u5B9A",operation_cancel_title:"\u53D6\u6D88",operation_save_title:"\u4FDD\u5B58",operation_redo_title:"\u91CD\u505A",operation_undo_title:"\u64A4\u9500",operation_mosaic_title:"\u9A6C\u8D5B\u514B",operation_text_title:"\u6587\u672C",operation_brush_title:"\u753B\u7B14",operation_arrow_title:"\u7BAD\u5934",operation_ellipse_title:"\u692D\u5706",operation_rectangle_title:"\u77E9\u5F62"};var ye=_.default.createContext({store:{url:void 0,image:null,width:0,height:0,lang:$e,emiterRef:{current:{}},canvasContextRef:{current:null},history:{index:-1,stack:[]},bounds:null,cursor:"move",operation:void 0},dispatcher:{call:void 0,setHistory:void 0,setBounds:void 0,setCursor:void 0,setOperation:void 0}});function oe(){const{dispatcher:e}=i.useContext(ye);return e}function H(){const{store:e}=i.useContext(ye);return e}function G(){const{bounds:e}=H(),{setBounds:t}=oe(),s=i.useCallback(c=>{t==null||t(c)},[t]),o=i.useCallback(()=>{t==null||t(null)},[t]);return[e,{set:s,reset:o}]}function X(){const{lang:e}=H();return e}var J="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsMagnifier/index.tsx";const Q=100,K=80;function Qe({x:e,y:t}){const{width:s,height:o,image:c}=H(),r=X(),[n,u]=i.useState(null),d=i.useRef(null),l=i.useRef(null),h=i.useRef(null),[a,f]=i.useState("000000");return i.useLayoutEffect(()=>{if(!d.current)return;const m=d.current.getBoundingClientRect();let g=e+20,y=t+20;g+m.width>s&&(g=e-m.width-20),y+m.height>o&&(y=t-m.height-20),g<0&&(g=0),y<0&&(y=0),u({x:g,y})},[s,o,e,t]),i.useEffect(()=>{if(!c||!l.current){h.current=null;return}if(h.current||(h.current=l.current.getContext("2d")),!h.current)return;const m=h.current;m.clearRect(0,0,Q,K);const g=c.naturalWidth/s,y=c.naturalHeight/o;m.drawImage(c,e*g-Q/2,t*y-K/2,Q,K,0,0,Q,K);const{data:v}=m.getImageData(Math.floor(Q/2),Math.floor(K/2),1,1),S=Array.from(v.slice(0,3)).map(C=>C>=16?C.toString(16):`0${C.toString(16)}`).join("").toUpperCase();f(S)},[s,o,c,e,t]),_.default.createElement("div",{ref:d,className:"screenshots-magnifier",style:{transform:`translate(${n==null?void 0:n.x}px, ${n==null?void 0:n.y}px)`},__self:this,__source:{fileName:J,lineNumber:89,columnNumber:5}},_.default.createElement("div",{className:"screenshots-magnifier-body",__self:this,__source:{fileName:J,lineNumber:96,columnNumber:7}},_.default.createElement("canvas",{ref:l,className:"screenshots-magnifier-body-canvas",width:Q,height:K,__self:this,__source:{fileName:J,lineNumber:97,columnNumber:9}})),_.default.createElement("div",{className:"screenshots-magnifier-footer",__self:this,__source:{fileName:J,lineNumber:104,columnNumber:7}},_.default.createElement("div",{className:"screenshots-magnifier-footer-item",__self:this,__source:{fileName:J,lineNumber:105,columnNumber:9}},r.magnifier_position_label,": (",e,",",t,")"),_.default.createElement("div",{className:"screenshots-magnifier-footer-item",__self:this,__source:{fileName:J,lineNumber:108,columnNumber:9}},"RGB: #",a)))}function Ke({x:e,y:t},{x:s,y:o},c,r){return e>s&&([e,s]=[s,e]),t>o&&([t,o]=[o,t]),e<0&&(e=0),s>c&&(s=c),t<0&&(t=0),o>r&&(o=r),{x:e,y:t,width:s-e,height:o-t}}var de="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsBackground/index.tsx";function Ze(){const{url:e,image:t,width:s,height:o}=H(),[c,r]=G(),n=i.useRef(null),u=i.useRef(null),d=i.useRef(!1),[l,h]=i.useState(null),a=i.useCallback((m,g)=>{if(!n.current)return;const{x:y,y:v}=n.current.getBoundingClientRect();r.set(Ke({x:m.x-y,y:m.y-v},{x:g.x-y,y:g.y-v},s,o))},[s,o,r]),f=i.useCallback(m=>{u.current||c||m.button!==0||(u.current={x:m.clientX,y:m.clientY},d.current=!1)},[c]);return i.useEffect(()=>{const m=y=>{if(n.current){const v=n.current.getBoundingClientRect();y.clientX<v.left||y.clientY<v.top||y.clientX>v.right||y.clientY>v.bottom?h(null):h({x:y.clientX-v.x,y:y.clientY-v.y})}!u.current||(a(u.current,{x:y.clientX,y:y.clientY}),d.current=!0)},g=y=>{!u.current||(d.current&&a(u.current,{x:y.clientX,y:y.clientY}),u.current=null,d.current=!1)};return window.addEventListener("mousemove",m),window.addEventListener("mouseup",g),()=>{window.removeEventListener("mousemove",m),window.removeEventListener("mouseup",g)}},[a]),i.useLayoutEffect(()=>{(!t||c)&&h(null)},[t,c]),!e||!t?null:_.default.createElement("div",{ref:n,className:"screenshots-background",onMouseDown:f,__self:this,__source:{fileName:de,lineNumber:120,columnNumber:5}},_.default.createElement("img",{className:"screenshots-background-image",src:e,__self:this,__source:{fileName:de,lineNumber:121,columnNumber:7}}),_.default.createElement("div",{className:"screenshots-background-mask",__self:this,__source:{fileName:de,lineNumber:122,columnNumber:7}}),l&&!c&&_.default.createElement(Qe,{x:l==null?void 0:l.x,y:l==null?void 0:l.y,__self:this,__source:{fileName:de,lineNumber:123,columnNumber:31}}))}function A(){const{cursor:e}=H(),{setCursor:t}=oe(),s=i.useCallback(c=>{t==null||t(c)},[t]),o=i.useCallback(()=>{t==null||t("move")},[t]);return[e,{set:s,reset:o}]}function Z(){const{emiterRef:e}=H(),t=i.useCallback((r,n)=>{const u=e.current;Array.isArray(u[r])?u[r].push(n):u[r]=[n]},[e]),s=i.useCallback((r,n)=>{const u=e.current;if(Array.isArray(u[r])){const d=u[r].findIndex(l=>l===n);d!==-1&&u[r].splice(d,1)}},[e]),o=i.useCallback((r,...n)=>{const u=e.current;Array.isArray(u[r])&&u[r].forEach(d=>d(...n))},[e]),c=i.useCallback(()=>{e.current={}},[e]);return{on:t,off:s,emit:o,reset:c}}var B;(function(e){e[e.Edit=0]="Edit",e[e.Source=1]="Source"})(B||(B={}));function P(){const{history:e}=H(),{setHistory:t}=oe(),s=i.useCallback(h=>{const{index:a,stack:f}=e;f.forEach(m=>{m.type===B.Source&&(m.isSelected=!1)}),h.type===B.Source?h.isSelected=!0:h.type===B.Edit&&(h.source.isSelected=!0),f.splice(a+1),f.push(h),t==null||t({index:f.length-1,stack:f})},[e,t]),o=i.useCallback(()=>{const{stack:h}=e;h.pop(),t==null||t({index:h.length-1,stack:h})},[e,t]),c=i.useCallback(()=>{const{index:h,stack:a}=e,f=a[h];f&&(f.type===B.Source?f.isSelected=!1:f.type===B.Edit&&f.source.editHistory.pop()),t==null||t({index:h<=0?-1:h-1,stack:a})},[e,t]),r=i.useCallback(()=>{const{index:h,stack:a}=e,f=a[h+1];f&&(f.type===B.Source?f.isSelected=!1:f.type===B.Edit&&f.source.editHistory.push(f)),t==null||t({index:h>=a.length-1?a.length-1:h+1,stack:a})},[e,t]),n=i.useCallback(h=>{t==null||t(U({},h))},[t]),u=i.useCallback(h=>{e.stack.forEach(a=>{a.type===B.Source&&(a===h?a.isSelected=!0:a.isSelected=!1)}),t==null||t(U({},e))},[e,t]),d=i.useCallback(()=>{e.stack.forEach(h=>{h.type===B.Source&&(h.isSelected=!1)}),t==null||t(U({},e))},[e,t]),l=i.useCallback(()=>{t==null||t({index:-1,stack:[]})},[t]);return[{index:e.index,stack:e.stack,top:e.stack.slice(e.index,e.index+1)[0]},{push:s,pop:o,undo:c,redo:r,set:n,select:u,clearSelect:d,reset:l}]}function I(){const{operation:e}=H(),{setOperation:t}=oe(),s=i.useCallback(c=>{t==null||t(c)},[t]),o=i.useCallback(()=>{t==null||t(void 0)},[t]);return[e,{set:s,reset:o}]}function et({x:e,y:t},{x:s,y:o},c,r,n,u){return e>s&&([e,s]=[s,e]),t>o&&([t,o]=[o,t]),e<0&&(e=0,u==="move"&&(s=c.width)),s>r&&(s=r,u==="move"&&(e=s-c.width)),t<0&&(t=0,u==="move"&&(o=c.height)),o>n&&(o=n,u==="move"&&(t=o-c.height)),{x:e,y:t,width:Math.max(s-e,1),height:Math.max(o-t,1)}}function tt(e,t,s,o){const c=e.clientX-s.x,r=e.clientY-s.y;let n=o.x,u=o.y,d=o.x+o.width,l=o.y+o.height;switch(t){case"top":u+=r;break;case"top-right":d+=c,u+=r;break;case"right":d+=c;break;case"right-bottom":d+=c,l+=r;break;case"bottom":l+=r;break;case"bottom-left":n+=c,l+=r;break;case"left":n+=c;break;case"left-top":n+=c,u+=r;break;case"move":n+=c,u+=r,d+=c,l+=r;break}return[{x:n,y:u},{x:d,y:l}]}function nt(e,t,s,o){if(!t)return!1;const c=document.createElement("canvas");c.width=e.width,c.height=e.height;const r=c.getContext("2d");if(!r)return!1;const{left:n,top:u}=t.getBoundingClientRect(),d=o.clientX-n,l=o.clientY-u;return[...s.stack.slice(0,s.index+1)].reverse().find(a=>{var f;return a.type!==B.Source?!1:(r.clearRect(0,0,e.width,e.height),(f=a.isHit)==null?void 0:f.call(a,r,a,{x:d,y:l}))})}var ce="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsCanvas/index.tsx";const st=["top","right","bottom","left"];var j;(function(e){e.ResizeTop="top",e.ResizetopRight="top-right",e.ResizeRight="right",e.ResizeRightBottom="right-bottom",e.ResizeBottom="bottom",e.ResizeBottomLeft="bottom-left",e.ResizeLeft="left",e.ResizeLeftTop="left-top",e.Move="move"})(j||(j={}));const rt=[j.ResizeTop,j.ResizetopRight,j.ResizeRight,j.ResizeRightBottom,j.ResizeBottom,j.ResizeBottomLeft,j.ResizeLeft,j.ResizeLeftTop];var ot=i.forwardRef(function(t,s){const{image:o,width:c,height:r}=H(),n=Z(),[u]=P(),[d]=A(),[l,h]=G(),[a]=I(),f=i.useRef(),m=i.useRef(null),g=i.useRef(null),y=i.useRef(null),v=i.useRef(null),S=i.useCallback(()=>{if(!o||!l||!v.current)return;const b=o.naturalWidth/c,p=o.naturalHeight/r,x=v.current;x.imageSmoothingEnabled=!0,x.imageSmoothingQuality="low",x.setTransform(window.devicePixelRatio,0,0,window.devicePixelRatio,0,0),x.clearRect(0,0,l.width,l.height),x.drawImage(o,l.x*b,l.y*p,l.width*b,l.height*p,0,0,l.width,l.height),u.stack.slice(0,u.index+1).forEach(N=>{N.type===B.Source&&N.draw(x,N)})},[o,c,r,l,v,u]),C=i.useCallback((b,p)=>{if(!(b.button!==0||!l))if(!a)f.current=p,m.current={x:b.clientX,y:b.clientY},g.current={x:l.x,y:l.y,width:l.width,height:l.height};else{const x=nt(l,y.current,u,b.nativeEvent);x?n.emit("drawselect",x,b.nativeEvent):n.emit("mousedown",b.nativeEvent)}},[l,a,n,u]),z=i.useCallback(b=>{if(!f.current||!m.current||!g.current||!l)return;const p=tt(b,f.current,m.current,g.current);h.set(et(p[0],p[1],l,c,r,f.current))},[c,r,l,h]);return i.useLayoutEffect(()=>{if(!o||!l||!y.current){v.current=null;return}v.current||(v.current=y.current.getContext("2d")),S()},[o,l,S]),i.useEffect(()=>{const b=x=>{if(a)n.emit("mousemove",x);else{if(!f.current||!m.current||!g.current)return;z(x)}},p=x=>{if(a)n.emit("mouseup",x);else{if(!f.current||!m.current||!g.current)return;z(x),f.current=void 0,m.current=null,g.current=null}};return window.addEventListener("mousemove",b),window.addEventListener("mouseup",p),()=>{window.removeEventListener("mousemove",b),window.removeEventListener("mouseup",p)}},[z,a,n]),i.useImperativeHandle(s,()=>v.current),l?_.default.createElement("div",{className:"screenshots-canvas",style:{left:l.x,top:l.y,width:l.width,height:l.height},__self:this,__source:{fileName:ce,lineNumber:190,columnNumber:5}},_.default.createElement("canvas",{ref:y,width:l.width*window.devicePixelRatio,height:l.height*window.devicePixelRatio,style:{width:l.width,height:l.height},__self:this,__source:{fileName:ce,lineNumber:199,columnNumber:7}}),_.default.createElement("div",{className:"screenshots-canvas-body",style:{cursor:d},onMouseDown:b=>C(b,"move"),__self:this,__source:{fileName:ce,lineNumber:208,columnNumber:7}}),st.map(b=>_.default.createElement("div",{key:b,className:`screenshots-canvas-border-${b}`,__self:this,__source:{fileName:ce,lineNumber:216,columnNumber:16}})),rt.map(b=>_.default.createElement("div",{key:b,className:`screenshots-canvas-point-${b}`,onMouseDown:p=>C(p,b),__self:this,__source:{fileName:ce,lineNumber:220,columnNumber:11}}))):null});function xe(){const e=oe();return i.useCallback((s,...o)=>{var c;(c=e.call)==null||c.call(e,s,...o)},[e])}function W(){const{canvasContextRef:e}=H();return e}function ve(){const e=Z(),[,t]=G(),[,s]=A(),[,o]=P(),[,c]=I();return i.useCallback(()=>{e.reset(),o.reset(),t.reset(),s.reset(),c.reset()},[e,o,t,s,c])}var Ne="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsOption/index.tsx",q;(function(e){e.Bottom="bottom",e.Top="top"})(q||(q={}));function ct({open:e,content:t,children:s}){const o=i.useRef(null),c=i.useRef(null),r=i.useRef(null),n=i.useContext(Ie),[u,d]=i.useState(q.Bottom),[l,h]=i.useState(null),[a,f]=i.useState(0),m=()=>(c.current||(c.current=document.createElement("div")),c.current);return i.useEffect(()=>{const g=m();return e&&document.body.appendChild(g),()=>{g.remove()}},[e]),i.useEffect(()=>{if(!e||!n||!o.current||!r.current)return;const g=o.current.getBoundingClientRect(),y=r.current.getBoundingClientRect();let v=u,S=g.left+g.width/2,C=g.top+g.height,z=a;if(S+y.width/2>n.x+n.width){const b=S;S=n.x+n.width-y.width/2,z=b-S}if(S<n.x+y.width/2){const b=S;S=n.x+y.width/2,z=b-S}C>window.innerHeight-y.height&&(v===q.Bottom&&(v=q.Top),C=g.top-y.height),C<0&&(v===q.Top&&(v=q.Bottom),C=g.top+g.height),v!==u&&d(v),((l==null?void 0:l.x)!==S||l.y!==C)&&h({x:S,y:C}),z!==a&&f(z)}),_.default.createElement(_.default.Fragment,null,i.cloneElement(s,{ref:o}),e&&t&&Me.createPortal(_.default.createElement("div",{ref:r,className:"screenshots-option",style:{visibility:l?"visible":"hidden",left:l==null?void 0:l.x,top:l==null?void 0:l.y},"data-placement":u,__self:this,__source:{fileName:Ne,lineNumber:111,columnNumber:11}},_.default.createElement("div",{className:"screenshots-option-container",__self:this,__source:{fileName:Ne,lineNumber:121,columnNumber:13}},t),_.default.createElement("div",{className:"screenshots-option-arrow",style:{marginLeft:a},__self:this,__source:{fileName:Ne,lineNumber:122,columnNumber:13}})),m()))}var Ce="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsButton/index.tsx";function Y({title:e,icon:t,checked:s,disabled:o,option:c,onClick:r}){const n=["screenshots-button"],u=i.useCallback(d=>{o||!r||r(d)},[o,r]);return s&&n.push("screenshots-button-checked"),o&&n.push("screenshots-button-disabled"),_.default.createElement(ct,{open:s,content:c,__self:this,__source:{fileName:Ce,lineNumber:42,columnNumber:5}},_.default.createElement("div",{className:n.join(" "),title:e,onClick:u,__self:this,__source:{fileName:Ce,lineNumber:43,columnNumber:7}},_.default.createElement("span",{className:t,__self:this,__source:{fileName:Ce,lineNumber:44,columnNumber:9}})))}var it="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Ok/index.tsx";function ut(){const e=X(),t=W(),[,s]=P(),o=xe(),[c]=G(),r=ve(),n=i.useCallback(()=>{s.clearSelect(),setTimeout(()=>{!t.current||t.current.canvas.toBlob(u=>{o("onOk",u,c),r()},"image/png")})},[t,s,o,c,r]);return _.default.createElement(Y,{title:e.operation_ok_title,icon:"icon-ok",onClick:n,__self:this,__source:{fileName:it,lineNumber:31,columnNumber:10}})}var lt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Cancel/index.tsx";function at(){const e=xe(),t=ve(),s=X(),o=i.useCallback(()=>{e("onCancel"),t()},[e,t]);return _.default.createElement(Y,{title:s.operation_cancel_title,icon:"icon-cancel",onClick:o,__self:this,__source:{fileName:lt,lineNumber:17,columnNumber:10}})}var ft="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Save/index.tsx";function ht(){const e=X(),t=W(),[,s]=P(),[o]=G(),c=xe(),r=ve(),n=i.useCallback(()=>{s.clearSelect(),setTimeout(()=>{!t.current||t.current.canvas.toBlob(u=>{c("onSave",u,o),r()},"image/png")})},[t,s,o,c,r]);return _.default.createElement(Y,{title:e.operation_save_title,icon:"icon-save",onClick:n,__self:this,__source:{fileName:ft,lineNumber:31,columnNumber:10}})}var mt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Redo/index.tsx";function dt(){const e=X(),[t,s]=P(),o=i.useCallback(()=>{s.redo()},[s]);return _.default.createElement(Y,{title:e.operation_redo_title,icon:"icon-redo",disabled:!t.stack.length||t.stack.length-1===t.index,onClick:o,__self:this,__source:{fileName:mt,lineNumber:15,columnNumber:5}})}var bt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Undo/index.tsx";function pt(){const e=X(),[t,s]=P(),o=i.useCallback(()=>{s.undo()},[s]);return _.default.createElement(Y,{title:e.operation_undo_title,icon:"icon-undo",disabled:t.index===-1,onClick:o,__self:this,__source:{fileName:bt,lineNumber:15,columnNumber:5}})}var Re="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsSize/index.tsx";function Le({value:e,onChange:t}){const s=[3,6,9];return _.default.createElement("div",{className:"screenshots-size",__self:this,__source:{fileName:Re,lineNumber:12,columnNumber:5}},s.map(o=>{const c=["screenshots-size-item"];return o===e&&c.push("screenshots-size-active"),_.default.createElement("div",{key:o,className:c.join(" "),onClick:()=>t&&t(o),__self:this,__source:{fileName:Re,lineNumber:21,columnNumber:11}},_.default.createElement("div",{className:"screenshots-size-pointer",style:{width:o*1.8,height:o*1.8},__self:this,__source:{fileName:Re,lineNumber:22,columnNumber:13}}))}))}function ee(e){const t=Z();i.useEffect(()=>(t.on("mousedown",e),()=>{t.off("mousedown",e)}),[e,t])}function te(e){const t=Z();i.useEffect(()=>(t.on("mousemove",e),()=>{t.off("mousemove",e)}),[e,t])}function ne(e){const t=Z();i.useEffect(()=>(t.on("mouseup",e),()=>{t.off("mouseup",e)}),[e,t])}var He="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Mosaic/index.tsx";function be(e,t,s){if(!s)return[0,0,0,0];const{data:o,width:c}=s,r=t*c*4+e*4;return Array.from(o.slice(r,r+4))}function gt(e,t){const{tiles:s,size:o}=t.data;s.forEach(c=>{const r=Math.round(c.color[0]),n=Math.round(c.color[1]),u=Math.round(c.color[2]),d=c.color[3]/255;e.fillStyle=`rgba(${r}, ${n}, ${u}, ${d})`,e.fillRect(c.x-o/2,c.y-o/2,o,o)})}function _t(){const e=X(),{image:t,width:s,height:o}=H(),[c,r]=I(),n=W(),[u,d]=P(),[l]=G(),[,h]=A(),[a,f]=i.useState(3),m=i.useRef(null),g=i.useRef(null),y=c==="Mosaic",v=i.useCallback(()=>{r.set("Mosaic"),h.set("crosshair")},[r,h]),S=i.useCallback(()=>{y||(v(),d.clearSelect())},[y,v,d]),C=i.useCallback(p=>{if(!y||g.current||!m.current||!n.current)return;const x=n.current.canvas.getBoundingClientRect(),N=p.clientX-x.x,k=p.clientY-x.y,E=a*2;g.current={name:"Mosaic",type:B.Source,data:{size:E,tiles:[{x:N,y:k,color:be(N,k,m.current)}]},editHistory:[],draw:gt}},[y,a,n]),z=i.useCallback(p=>{if(!y||!g.current||!n.current||!m.current)return;const x=n.current.canvas.getBoundingClientRect(),N=p.clientX-x.x,k=p.clientY-x.y,E=g.current.data.size,w=g.current.data.tiles;let R=w[w.length-1];if(!R)w.push({x:N,y:k,color:be(N,k,m.current)});else{const V=R.x-N,D=R.y-k;let L=Math.sqrt(V**2+D**2);const ge=-D/L,_e=-V/L;for(;L>E;){const se=Math.floor(R.x+E*_e),re=Math.floor(R.y+E*ge);R={x:se,y:re,color:be(se,re,m.current)},w.push(R),L-=E}L>E/2&&w.push({x:N,y:k,color:be(N,k,m.current)})}u.top!==g.current?d.push(g.current):d.set(u)},[y,n,u,d]),b=i.useCallback(()=>{!y||(g.current=null)},[y]);return ee(C),te(z),ne(b),i.useEffect(()=>{if(!l||!t||!y)return;const p=document.createElement("canvas"),x=p.getContext("2d");if(!x)return;p.width=l.width,p.height=l.height;const N=t.naturalWidth/s,k=t.naturalHeight/o;x.drawImage(t,l.x*N,l.y*k,l.width*N,l.height*k,0,0,l.width,l.height),m.current=x.getImageData(0,0,l.width,l.height)},[s,o,l,t,y]),_.default.createElement(Y,{title:e.operation_mosaic_title,icon:"icon-mosaic",checked:y,onClick:S,option:_.default.createElement(Le,{value:a,onChange:f,__self:this,__source:{fileName:He,lineNumber:220,columnNumber:15}}),__self:this,__source:{fileName:He,lineNumber:215,columnNumber:5}})}var Xe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsColor/index.tsx";function yt({value:e,onChange:t}){const s=["#ee5126","#fceb4d","#90e746","#51c0fa","#7a7a7a","#ffffff"];return _.default.createElement("div",{className:"screenshots-color",__self:this,__source:{fileName:Xe,lineNumber:12,columnNumber:5}},s.map(o=>{const c=["screenshots-color-item"];return o===e&&c.push("screenshots-color-active"),_.default.createElement("div",{key:o,className:c.join(" "),style:{backgroundColor:o},onClick:()=>t&&t(o),__self:this,__source:{fileName:Xe,lineNumber:19,columnNumber:11}})}))}var ke="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsSizeColor/index.tsx";function ie({size:e,color:t,onSizeChange:s,onColorChange:o}){return _.default.createElement("div",{className:"screenshots-sizecolor",__self:this,__source:{fileName:ke,lineNumber:15,columnNumber:5}},_.default.createElement(Le,{value:e,onChange:s,__self:this,__source:{fileName:ke,lineNumber:16,columnNumber:7}}),_.default.createElement(yt,{value:t,onChange:o,__self:this,__source:{fileName:ke,lineNumber:17,columnNumber:7}}))}const xt=`
1
+ "use strict";var Oe=Object.defineProperty,Ve=Object.defineProperties;var qe=Object.getOwnPropertyDescriptors;var he=Object.getOwnPropertySymbols;var Ee=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable;var De=(e,t,n)=>t in e?Oe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,G=(e,t)=>{for(var n in t||(t={}))Ee.call(t,n)&&De(e,n,t[n]);if(he)for(var n of he(t))Be.call(t,n)&&De(e,n,t[n]);return e},me=(e,t)=>Ve(e,qe(t));var Me=(e,t)=>{var n={};for(var c in e)Ee.call(e,c)&&t.indexOf(c)<0&&(n[c]=e[c]);if(e!=null&&he)for(var c of he(e))t.indexOf(c)<0&&Be.call(e,c)&&(n[c]=e[c]);return n};var i=require("react"),$e=require("react-dom");function Je(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var b=Je(i),B;(function(e){e[e.Edit=0]="Edit",e[e.Source=1]="Source"})(B||(B={}));function de({image:e,width:t,height:n,history:c,bounds:r}){return new Promise((o,s)=>{const a=document.createElement("canvas"),m=r.width*window.devicePixelRatio,d=r.height*window.devicePixelRatio;a.width=m,a.height=d;const l=a.getContext("2d");if(!l)return s(new Error("convert image to blob fail"));const u=e.naturalWidth/t,h=e.naturalHeight/n;l.imageSmoothingEnabled=!0,l.imageSmoothingQuality="low",l.setTransform(window.devicePixelRatio,0,0,window.devicePixelRatio,0,0),l.clearRect(0,0,r.width,r.height),l.drawImage(e,r.x*u,r.y*h,r.width*u,r.height*h,0,0,r.width,r.height),c.stack.slice(0,c.index+1).forEach(f=>{f.type===B.Source&&f.draw(l,f)}),a.toBlob(f=>{if(!f)return s(new Error("canvas toBlob fail"));o(f)},"image/png")})}const Le={magnifier_position_label:"\u5750\u6807",operation_ok_title:"\u786E\u5B9A",operation_cancel_title:"\u53D6\u6D88",operation_save_title:"\u4FDD\u5B58",operation_redo_title:"\u91CD\u505A",operation_undo_title:"\u64A4\u9500",operation_mosaic_title:"\u9A6C\u8D5B\u514B",operation_text_title:"\u6587\u672C",operation_brush_title:"\u753B\u7B14",operation_arrow_title:"\u7BAD\u5934",operation_ellipse_title:"\u692D\u5706",operation_rectangle_title:"\u77E9\u5F62"};var ve=b.default.createContext({store:{url:void 0,image:null,width:0,height:0,lang:Le,emiterRef:{current:{}},canvasContextRef:{current:null},history:{index:-1,stack:[]},bounds:null,cursor:"move",operation:void 0},dispatcher:{call:void 0,setHistory:void 0,setBounds:void 0,setCursor:void 0,setOperation:void 0}});function ce(){const{dispatcher:e}=i.useContext(ve);return e}function L(){const{store:e}=i.useContext(ve);return e}function J(){const{bounds:e}=L(),{setBounds:t}=ce(),n=i.useCallback(r=>{t==null||t(r)},[t]),c=i.useCallback(()=>{t==null||t(null)},[t]);return[e,{set:n,reset:c}]}function T(){const{lang:e}=L();return e}var Q="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsMagnifier/index.tsx";const K=100,Z=80;var Qe=i.memo(function({x:t,y:n}){const{width:c,height:r,image:o}=L(),s=T(),[a,m]=i.useState(null),d=i.useRef(null),l=i.useRef(null),u=i.useRef(null),[h,f]=i.useState("000000");return i.useLayoutEffect(()=>{if(!d.current)return;const g=d.current.getBoundingClientRect();let y=t+20,C=n+20;y+g.width>c&&(y=t-g.width-20),C+g.height>r&&(C=n-g.height-20),y<0&&(y=0),C<0&&(C=0),m({x:y,y:C})},[c,r,t,n]),i.useEffect(()=>{if(!o||!l.current){u.current=null;return}if(u.current||(u.current=l.current.getContext("2d")),!u.current)return;const g=u.current;g.clearRect(0,0,K,Z);const y=o.naturalWidth/c,C=o.naturalHeight/r;g.drawImage(o,t*y-K/2,n*C-Z/2,K,Z,0,0,K,Z);const{data:v}=g.getImageData(Math.floor(K/2),Math.floor(Z/2),1,1),R=Array.from(v.slice(0,3)).map(w=>w>=16?w.toString(16):`0${w.toString(16)}`).join("").toUpperCase();f(R)},[c,r,o,t,n]),b.default.createElement("div",{ref:d,className:"screenshots-magnifier",style:{transform:`translate(${a==null?void 0:a.x}px, ${a==null?void 0:a.y}px)`},__self:this,__source:{fileName:Q,lineNumber:89,columnNumber:5}},b.default.createElement("div",{className:"screenshots-magnifier-body",__self:this,__source:{fileName:Q,lineNumber:96,columnNumber:7}},b.default.createElement("canvas",{ref:l,className:"screenshots-magnifier-body-canvas",width:K,height:Z,__self:this,__source:{fileName:Q,lineNumber:97,columnNumber:9}})),b.default.createElement("div",{className:"screenshots-magnifier-footer",__self:this,__source:{fileName:Q,lineNumber:104,columnNumber:7}},b.default.createElement("div",{className:"screenshots-magnifier-footer-item",__self:this,__source:{fileName:Q,lineNumber:105,columnNumber:9}},s.magnifier_position_label,": (",t,",",n,")"),b.default.createElement("div",{className:"screenshots-magnifier-footer-item",__self:this,__source:{fileName:Q,lineNumber:108,columnNumber:9}},"RGB: #",h)))});function Ke({x:e,y:t},{x:n,y:c},r,o){return e>n&&([e,n]=[n,e]),t>c&&([t,c]=[c,t]),e<0&&(e=0),n>r&&(n=r),t<0&&(t=0),c>o&&(c=o),{x:e,y:t,width:n-e,height:c-t}}var pe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsBackground/index.tsx",Ze=i.memo(function(){const{url:t,image:n,width:c,height:r}=L(),[o,s]=J(),a=i.useRef(null),m=i.useRef(null),d=i.useRef(!1),[l,u]=i.useState(null),h=i.useCallback((g,y)=>{if(!a.current)return;const{x:C,y:v}=a.current.getBoundingClientRect();s.set(Ke({x:g.x-C,y:g.y-v},{x:y.x-C,y:y.y-v},c,r))},[c,r,s]),f=i.useCallback(g=>{m.current||o||g.button!==0||(m.current={x:g.clientX,y:g.clientY},d.current=!1)},[o]);return i.useEffect(()=>{const g=C=>{if(a.current){const v=a.current.getBoundingClientRect();C.clientX<v.left||C.clientY<v.top||C.clientX>v.right||C.clientY>v.bottom?u(null):u({x:C.clientX-v.x,y:C.clientY-v.y})}!m.current||(h(m.current,{x:C.clientX,y:C.clientY}),d.current=!0)},y=C=>{!m.current||(d.current&&h(m.current,{x:C.clientX,y:C.clientY}),m.current=null,d.current=!1)};return window.addEventListener("mousemove",g),window.addEventListener("mouseup",y),()=>{window.removeEventListener("mousemove",g),window.removeEventListener("mouseup",y)}},[h]),i.useLayoutEffect(()=>{(!n||o)&&u(null)},[n,o]),!t||!n?null:b.default.createElement("div",{ref:a,className:"screenshots-background",onMouseDown:f,__self:this,__source:{fileName:pe,lineNumber:120,columnNumber:5}},b.default.createElement("img",{className:"screenshots-background-image",src:t,__self:this,__source:{fileName:pe,lineNumber:121,columnNumber:7}}),b.default.createElement("div",{className:"screenshots-background-mask",__self:this,__source:{fileName:pe,lineNumber:122,columnNumber:7}}),l&&!o&&b.default.createElement(Qe,{x:l==null?void 0:l.x,y:l==null?void 0:l.y,__self:this,__source:{fileName:pe,lineNumber:123,columnNumber:31}}))});function A(){const{cursor:e}=L(),{setCursor:t}=ce(),n=i.useCallback(r=>{t==null||t(r)},[t]),c=i.useCallback(()=>{t==null||t("move")},[t]);return[e,{set:n,reset:c}]}function ee(){const{emiterRef:e}=L(),t=i.useCallback((o,s)=>{const a=e.current;Array.isArray(a[o])?a[o].push(s):a[o]=[s]},[e]),n=i.useCallback((o,s)=>{const a=e.current;if(Array.isArray(a[o])){const m=a[o].findIndex(d=>d===s);m!==-1&&a[o].splice(m,1)}},[e]),c=i.useCallback((o,...s)=>{const a=e.current;Array.isArray(a[o])&&a[o].forEach(m=>m(...s))},[e]),r=i.useCallback(()=>{e.current={}},[e]);return{on:t,off:n,emit:c,reset:r}}function X(){const{history:e}=L(),{setHistory:t}=ce(),n=i.useCallback(l=>{const{index:u,stack:h}=e;h.forEach(f=>{f.type===B.Source&&(f.isSelected=!1)}),l.type===B.Source?l.isSelected=!0:l.type===B.Edit&&(l.source.isSelected=!0),h.splice(u+1),h.push(l),t==null||t({index:h.length-1,stack:h})},[e,t]),c=i.useCallback(()=>{const{stack:l}=e;l.pop(),t==null||t({index:l.length-1,stack:l})},[e,t]),r=i.useCallback(()=>{const{index:l,stack:u}=e,h=u[l];h&&(h.type===B.Source?h.isSelected=!1:h.type===B.Edit&&h.source.editHistory.pop()),t==null||t({index:l<=0?-1:l-1,stack:u})},[e,t]),o=i.useCallback(()=>{const{index:l,stack:u}=e,h=u[l+1];h&&(h.type===B.Source?h.isSelected=!1:h.type===B.Edit&&h.source.editHistory.push(h)),t==null||t({index:l>=u.length-1?u.length-1:l+1,stack:u})},[e,t]),s=i.useCallback(l=>{t==null||t(G({},l))},[t]),a=i.useCallback(l=>{e.stack.forEach(u=>{u.type===B.Source&&(u===l?u.isSelected=!0:u.isSelected=!1)}),t==null||t(G({},e))},[e,t]),m=i.useCallback(()=>{e.stack.forEach(l=>{l.type===B.Source&&(l.isSelected=!1)}),t==null||t(G({},e))},[e,t]),d=i.useCallback(()=>{t==null||t({index:-1,stack:[]})},[t]);return[{index:e.index,stack:e.stack,top:e.stack.slice(e.index,e.index+1)[0]},{push:n,pop:c,undo:r,redo:o,set:s,select:a,clearSelect:m,reset:d}]}function I(){const{operation:e}=L(),{setOperation:t}=ce(),n=i.useCallback(r=>{t==null||t(r)},[t]),c=i.useCallback(()=>{t==null||t(void 0)},[t]);return[e,{set:n,reset:c}]}function et({x:e,y:t},{x:n,y:c},r,o,s,a){return e>n&&([e,n]=[n,e]),t>c&&([t,c]=[c,t]),e<0&&(e=0,a==="move"&&(n=r.width)),n>o&&(n=o,a==="move"&&(e=n-r.width)),t<0&&(t=0,a==="move"&&(c=r.height)),c>s&&(c=s,a==="move"&&(t=c-r.height)),{x:e,y:t,width:Math.max(n-e,1),height:Math.max(c-t,1)}}function tt(e,t,n,c){const r=e.clientX-n.x,o=e.clientY-n.y;let s=c.x,a=c.y,m=c.x+c.width,d=c.y+c.height;switch(t){case"top":a+=o;break;case"top-right":m+=r,a+=o;break;case"right":m+=r;break;case"right-bottom":m+=r,d+=o;break;case"bottom":d+=o;break;case"bottom-left":s+=r,d+=o;break;case"left":s+=r;break;case"left-top":s+=r,a+=o;break;case"move":s+=r,a+=o,m+=r,d+=o;break}return[{x:s,y:a},{x:m,y:d}]}function nt(e,t,n,c){if(!t)return!1;const r=document.createElement("canvas");r.width=e.width,r.height=e.height;const o=r.getContext("2d");if(!o)return!1;const{left:s,top:a}=t.getBoundingClientRect(),m=c.clientX-s,d=c.clientY-a;return[...n.stack.slice(0,n.index+1)].reverse().find(u=>{var h;return u.type!==B.Source?!1:(o.clearRect(0,0,e.width,e.height),(h=u.isHit)==null?void 0:h.call(u,o,u,{x:m,y:d}))})}var V="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsCanvas/index.tsx";const st=["top","right","bottom","left"];var j;(function(e){e.ResizeTop="top",e.ResizetopRight="top-right",e.ResizeRight="right",e.ResizeRightBottom="right-bottom",e.ResizeBottom="bottom",e.ResizeBottomLeft="bottom-left",e.ResizeLeft="left",e.ResizeLeftTop="left-top",e.Move="move"})(j||(j={}));const rt=[j.ResizeTop,j.ResizetopRight,j.ResizeRight,j.ResizeRightBottom,j.ResizeBottom,j.ResizeBottomLeft,j.ResizeLeft,j.ResizeLeftTop];var ot=i.memo(i.forwardRef(function(t,n){const{url:c,image:r,width:o,height:s}=L(),a=ee(),[m]=X(),[d]=A(),[l,u]=J(),[h]=I(),f=i.useRef(),g=i.useRef(null),y=i.useRef(null),C=i.useRef(null),v=i.useRef(null),R=i.useCallback(()=>{if(!l||!v.current)return;const p=v.current;p.imageSmoothingEnabled=!0,p.imageSmoothingQuality="low",p.clearRect(0,0,l.width,l.height),m.stack.slice(0,m.index+1).forEach(x=>{x.type===B.Source&&x.draw(p,x)})},[l,v,m]),w=i.useCallback((p,x)=>{if(!(p.button!==0||!l))if(!h)f.current=x,g.current={x:p.clientX,y:p.clientY},y.current={x:l.x,y:l.y,width:l.width,height:l.height};else{const N=nt(l,C.current,m,p.nativeEvent);N?a.emit("drawselect",N,p.nativeEvent):a.emit("mousedown",p.nativeEvent)}},[l,h,a,m]),_=i.useCallback(p=>{if(!f.current||!g.current||!y.current||!l)return;const x=tt(p,f.current,g.current,y.current);u.set(et(x[0],x[1],l,o,s,f.current))},[o,s,l,u]);return i.useLayoutEffect(()=>{if(!r||!l||!C.current){v.current=null;return}v.current||(v.current=C.current.getContext("2d")),R()},[r,l,R]),i.useEffect(()=>{const p=N=>{if(h)a.emit("mousemove",N);else{if(!f.current||!g.current||!y.current)return;_(N)}},x=N=>{if(h)a.emit("mouseup",N);else{if(!f.current||!g.current||!y.current)return;_(N),f.current=void 0,g.current=null,y.current=null}};return window.addEventListener("mousemove",p),window.addEventListener("mouseup",x),()=>{window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",x)}},[_,h,a]),i.useImperativeHandle(n,()=>v.current),b.default.createElement("div",{className:"screenshots-canvas",style:{width:(l==null?void 0:l.width)||0,height:(l==null?void 0:l.height)||0,transform:l?`translate(${l.x}px, ${l.y}px)`:"none"},__self:this,__source:{fileName:V,lineNumber:173,columnNumber:7}},b.default.createElement("div",{className:"screenshots-canvas-body",__self:this,__source:{fileName:V,lineNumber:181,columnNumber:9}},b.default.createElement("img",{className:"screenshots-canvas-image",src:c,style:{width:o,height:s,transform:l?`translate(${-l.x}px, ${-l.y}px)`:"none"},__self:this,__source:{fileName:V,lineNumber:183,columnNumber:11}}),b.default.createElement("canvas",{ref:C,className:"screenshots-canvas-panel",width:(l==null?void 0:l.width)||0,height:(l==null?void 0:l.height)||0,__self:this,__source:{fileName:V,lineNumber:192,columnNumber:11}})),b.default.createElement("div",{className:"screenshots-canvas-mask",style:{cursor:d},onMouseDown:p=>w(p,"move"),__self:this,__source:{fileName:V,lineNumber:199,columnNumber:9}}),st.map(p=>b.default.createElement("div",{key:p,className:`screenshots-canvas-border-${p}`,__self:this,__source:{fileName:V,lineNumber:207,columnNumber:18}})),rt.map(p=>b.default.createElement("div",{key:p,className:`screenshots-canvas-point-${p}`,onMouseDown:x=>w(x,p),__self:this,__source:{fileName:V,lineNumber:211,columnNumber:13}})))}));function ye(){const e=ce();return i.useCallback((n,...c)=>{var r;(r=e.call)==null||r.call(e,n,...c)},[e])}function W(){const{canvasContextRef:e}=L();return e}function Ne(){const e=ee(),[,t]=J(),[,n]=A(),[,c]=X(),[,r]=I();return i.useCallback(()=>{e.reset(),c.reset(),t.reset(),n.reset(),r.reset()},[e,c,t,n,r])}var Ce="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsOption/index.tsx",q;(function(e){e.Bottom="bottom",e.Top="top"})(q||(q={}));var ct=i.memo(function({open:t,content:n,children:c}){var y,C;const r=i.useRef(null),o=i.useRef(null),s=i.useRef(null),a=i.useContext(We),[m,d]=i.useState(q.Bottom),[l,u]=i.useState(null),[h,f]=i.useState(0),g=()=>(o.current||(o.current=document.createElement("div")),o.current);return i.useEffect(()=>{const v=g();return t&&document.body.appendChild(v),()=>{v.remove()}},[t]),i.useEffect(()=>{if(!t||!a||!r.current||!s.current)return;const v=r.current.getBoundingClientRect(),R=s.current.getBoundingClientRect();let w=m,_=v.left+v.width/2,p=v.top+v.height,x=h;if(_+R.width/2>a.x+a.width){const N=_;_=a.x+a.width-R.width/2,x=N-_}if(_<a.x+R.width/2){const N=_;_=a.x+R.width/2,x=N-_}p>window.innerHeight-R.height&&(w===q.Bottom&&(w=q.Top),p=v.top-R.height),p<0&&(w===q.Top&&(w=q.Bottom),p=v.top+v.height),w!==m&&d(w),((l==null?void 0:l.x)!==_||l.y!==p)&&u({x:_,y:p}),x!==h&&f(x)}),b.default.createElement(b.default.Fragment,null,i.cloneElement(c,{ref:r}),t&&n&&$e.createPortal(b.default.createElement("div",{ref:s,className:"screenshots-option",style:{visibility:l?"visible":"hidden",transform:`translate(${(y=l==null?void 0:l.x)!=null?y:0}px, ${(C=l==null?void 0:l.y)!=null?C:0}px)`},"data-placement":m,__self:this,__source:{fileName:Ce,lineNumber:111,columnNumber:11}},b.default.createElement("div",{className:"screenshots-option-container",__self:this,__source:{fileName:Ce,lineNumber:120,columnNumber:13}},n),b.default.createElement("div",{className:"screenshots-option-arrow",style:{marginLeft:h},__self:this,__source:{fileName:Ce,lineNumber:121,columnNumber:13}})),g()))});var Se="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsButton/index.tsx",P=i.memo(function({title:t,icon:n,checked:c,disabled:r,option:o,onClick:s}){const a=["screenshots-button"],m=i.useCallback(d=>{r||!s||s(d)},[r,s]);return c&&a.push("screenshots-button-checked"),r&&a.push("screenshots-button-disabled"),b.default.createElement(ct,{open:c,content:o,__self:this,__source:{fileName:Se,lineNumber:42,columnNumber:5}},b.default.createElement("div",{className:a.join(" "),title:t,onClick:m,__self:this,__source:{fileName:Se,lineNumber:43,columnNumber:7}},b.default.createElement("span",{className:n,__self:this,__source:{fileName:Se,lineNumber:44,columnNumber:9}})))}),it="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Ok/index.tsx";function at(){const{image:e,width:t,height:n,history:c,bounds:r,lang:o}=L(),s=W(),[,a]=X(),m=ye(),d=Ne(),l=i.useCallback(()=>{a.clearSelect(),setTimeout(()=>{!s.current||!e||!r||de({image:e,width:t,height:n,history:c,bounds:r}).then(u=>{m("onOk",u,r),d()})})},[s,a,e,t,n,c,r,m,d]);return b.default.createElement(P,{title:o.operation_ok_title,icon:"icon-ok",onClick:l,__self:this,__source:{fileName:it,lineNumber:36,columnNumber:10}})}var lt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Cancel/index.tsx";function ut(){const e=ye(),t=Ne(),n=T(),c=i.useCallback(()=>{e("onCancel"),t()},[e,t]);return b.default.createElement(P,{title:n.operation_cancel_title,icon:"icon-cancel",onClick:c,__self:this,__source:{fileName:lt,lineNumber:17,columnNumber:10}})}var ft="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Save/index.tsx";function ht(){const{image:e,width:t,height:n,history:c,bounds:r,lang:o}=L(),s=W(),[,a]=X(),m=ye(),d=Ne(),l=i.useCallback(()=>{a.clearSelect(),setTimeout(()=>{!s.current||!e||!r||de({image:e,width:t,height:n,history:c,bounds:r}).then(u=>{m("onSave",u,r),d()})})},[s,a,e,t,n,c,r,m,d]);return b.default.createElement(P,{title:o.operation_save_title,icon:"icon-save",onClick:l,__self:this,__source:{fileName:ft,lineNumber:36,columnNumber:10}})}var mt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Redo/index.tsx";function dt(){const e=T(),[t,n]=X(),c=i.useCallback(()=>{n.redo()},[n]);return b.default.createElement(P,{title:e.operation_redo_title,icon:"icon-redo",disabled:!t.stack.length||t.stack.length-1===t.index,onClick:c,__self:this,__source:{fileName:mt,lineNumber:15,columnNumber:5}})}var pt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Undo/index.tsx";function gt(){const e=T(),[t,n]=X(),c=i.useCallback(()=>{n.undo()},[n]);return b.default.createElement(P,{title:e.operation_undo_title,icon:"icon-undo",disabled:t.index===-1,onClick:c,__self:this,__source:{fileName:pt,lineNumber:15,columnNumber:5}})}var Re="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsSize/index.tsx",He=i.memo(function({value:t,onChange:n}){const c=[3,6,9];return b.default.createElement("div",{className:"screenshots-size",__self:this,__source:{fileName:Re,lineNumber:12,columnNumber:5}},c.map(r=>{const o=["screenshots-size-item"];return r===t&&o.push("screenshots-size-active"),b.default.createElement("div",{key:r,className:o.join(" "),onClick:()=>n&&n(r),__self:this,__source:{fileName:Re,lineNumber:21,columnNumber:11}},b.default.createElement("div",{className:"screenshots-size-pointer",style:{width:r*1.8,height:r*1.8},__self:this,__source:{fileName:Re,lineNumber:22,columnNumber:13}}))}))});function te(e){const t=ee();i.useEffect(()=>(t.on("mousedown",e),()=>{t.off("mousedown",e)}),[e,t])}function ne(e){const t=ee();i.useEffect(()=>(t.on("mousemove",e),()=>{t.off("mousemove",e)}),[e,t])}function se(e){const t=ee();i.useEffect(()=>(t.on("mouseup",e),()=>{t.off("mouseup",e)}),[e,t])}var Xe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Mosaic/index.tsx";function ge(e,t,n){if(!n)return[0,0,0,0];const{data:c,width:r}=n,o=t*r*4+e*4;return Array.from(c.slice(o,o+4))}function _t(e,t){const{tiles:n,size:c}=t.data;n.forEach(r=>{const o=Math.round(r.color[0]),s=Math.round(r.color[1]),a=Math.round(r.color[2]),m=r.color[3]/255;e.fillStyle=`rgba(${o}, ${s}, ${a}, ${m})`,e.fillRect(r.x-c/2,r.y-c/2,c,c)})}function bt(){const e=T(),{image:t,width:n,height:c}=L(),[r,o]=I(),s=W(),[a,m]=X(),[d]=J(),[,l]=A(),[u,h]=i.useState(3),f=i.useRef(null),g=i.useRef(null),y=r==="Mosaic",C=i.useCallback(()=>{o.set("Mosaic"),l.set("crosshair")},[o,l]),v=i.useCallback(()=>{y||(C(),m.clearSelect())},[y,C,m]),R=i.useCallback(p=>{if(!y||g.current||!f.current||!s.current)return;const x=s.current.canvas.getBoundingClientRect(),N=p.clientX-x.x,k=p.clientY-x.y,E=u*2;g.current={name:"Mosaic",type:B.Source,data:{size:E,tiles:[{x:N,y:k,color:ge(N,k,f.current)}]},editHistory:[],draw:_t}},[y,u,s]),w=i.useCallback(p=>{if(!y||!g.current||!s.current||!f.current)return;const x=s.current.canvas.getBoundingClientRect(),N=p.clientX-x.x,k=p.clientY-x.y,E=g.current.data.size,z=g.current.data.tiles;let S=z[z.length-1];if(!S)z.push({x:N,y:k,color:ge(N,k,f.current)});else{const U=S.x-N,D=S.y-k;let H=Math.sqrt(U**2+D**2);const be=-D/H,xe=-U/H;for(;H>E;){const re=Math.floor(S.x+E*xe),oe=Math.floor(S.y+E*be);S={x:re,y:oe,color:ge(re,oe,f.current)},z.push(S),H-=E}H>E/2&&z.push({x:N,y:k,color:ge(N,k,f.current)})}a.top!==g.current?m.push(g.current):m.set(a)},[y,s,a,m]),_=i.useCallback(()=>{!y||(g.current=null)},[y]);return te(R),ne(w),se(_),i.useEffect(()=>{if(!d||!t||!y)return;const p=document.createElement("canvas"),x=p.getContext("2d");if(!x)return;p.width=d.width,p.height=d.height;const N=t.naturalWidth/n,k=t.naturalHeight/c;x.drawImage(t,d.x*N,d.y*k,d.width*N,d.height*k,0,0,d.width,d.height),f.current=x.getImageData(0,0,d.width,d.height)},[n,c,d,t,y]),b.default.createElement(P,{title:e.operation_mosaic_title,icon:"icon-mosaic",checked:y,onClick:v,option:b.default.createElement(He,{value:u,onChange:h,__self:this,__source:{fileName:Xe,lineNumber:220,columnNumber:15}}),__self:this,__source:{fileName:Xe,lineNumber:215,columnNumber:5}})}var Pe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsColor/index.tsx",xt=i.memo(function({value:t,onChange:n}){const c=["#ee5126","#fceb4d","#90e746","#51c0fa","#7a7a7a","#ffffff"];return b.default.createElement("div",{className:"screenshots-color",__self:this,__source:{fileName:Pe,lineNumber:12,columnNumber:5}},c.map(r=>{const o=["screenshots-color-item"];return r===t&&o.push("screenshots-color-active"),b.default.createElement("div",{key:r,className:o.join(" "),style:{backgroundColor:r},onClick:()=>n&&n(r),__self:this,__source:{fileName:Pe,lineNumber:19,columnNumber:11}})}))});var ke="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsSizeColor/index.tsx",ie=i.memo(function({size:t,color:n,onSizeChange:c,onColorChange:r}){return b.default.createElement("div",{className:"screenshots-sizecolor",__self:this,__source:{fileName:ke,lineNumber:20,columnNumber:5}},b.default.createElement(He,{value:t,onChange:c,__self:this,__source:{fileName:ke,lineNumber:21,columnNumber:7}}),b.default.createElement(xt,{value:n,onChange:r,__self:this,__source:{fileName:ke,lineNumber:22,columnNumber:7}}))});const vt=`
2
2
  min-width: 0 !important;
3
3
  width: 0 !important;
4
4
  min-height: 0 !important;
@@ -9,6 +9,6 @@ position: absolute !important;
9
9
  z-index: -1000 !important;
10
10
  top:0 !important;
11
11
  right:0 !important;
12
- `,vt=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","text-indent","padding-left","padding-right","border-width","box-sizing","white-space","word-break"];let O;function Nt(e){const t=window.getComputedStyle(e),s=t.getPropertyValue("box-sizing")||t.getPropertyValue("-moz-box-sizing")||t.getPropertyValue("-webkit-box-sizing"),o=parseFloat(t.getPropertyValue("padding-bottom"))+parseFloat(t.getPropertyValue("padding-top")),c=parseFloat(t.getPropertyValue("border-bottom-width"))+parseFloat(t.getPropertyValue("border-top-width"));return{sizingStyle:vt.map(n=>`${n}:${t.getPropertyValue(n)}`).join(";"),paddingSize:o,borderSize:c,boxSizing:s}}function Ct(e,t,s,o){O||(O=document.createElement("textarea"),O.setAttribute("tab-index","-1"),document.body.appendChild(O));const{paddingSize:c,borderSize:r,boxSizing:n,sizingStyle:u}=Nt(e);O.setAttribute("style",`${u};${xt};max-width:${s}px;max-height:${o}px`),O.value=t||" ";let d=O.scrollWidth,l=O.scrollHeight;return n==="border-box"?(d+=r,l+=r):n==="content-box"&&(d-=c,l-=c),{width:Math.min(d,s),height:Math.min(l,o)}}var Rt="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsTextarea/index.tsx";function kt({x:e,y:t,maxWidth:s,maxHeight:o,size:c,color:r,value:n,onChange:u,onBlur:d}){const l=i.useRef(null),h=i.useRef(null),[a,f]=i.useState(0),[m,g]=i.useState(0),y=()=>(l.current||(l.current=document.createElement("div")),l.current);return i.useLayoutEffect(()=>(l.current&&(document.body.appendChild(l.current),requestAnimationFrame(()=>{var v;(v=h.current)==null||v.focus()})),()=>{var v;(v=l.current)==null||v.remove()}),[]),i.useLayoutEffect(()=>{if(!h.current)return;const{width:v,height:S}=Ct(h.current,n,s,o);f(v),g(S)},[n,s,o]),Me.createPortal(_.default.createElement("textarea",{ref:h,className:"screenshots-textarea",style:{left:e,top:t,color:r,width:a,height:m,maxWidth:s,maxHeight:o,fontSize:c,lineHeight:`${c}px`},value:n,onChange:v=>u&&u(v.target.value),onBlur:v=>d&&d(v),__self:this,__source:{fileName:Rt,lineNumber:65,columnNumber:5}}),y())}function ue(e){const t=Z();i.useEffect(()=>(t.on("drawselect",e),()=>{t.off("drawselect",e)}),[e,t])}var Se="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Text/index.tsx";const we={3:18,6:32,9:46};function St(e,t){const{size:s,color:o,fontFamily:c,x:r,y:n,text:u}=t.data;e.fillStyle=o,e.textAlign="left",e.textBaseline="top",e.font=`${s}px ${c}`;const d=t.editHistory.reduce((l,{data:h})=>({x:l.x+h.x2-h.x1,y:l.y+h.y2-h.y1}),{x:0,y:0});u.split(`
13
- `).forEach((l,h)=>{e.fillText(l,r+d.x,n+d.y+h*s)})}function wt(e,t,s){e.textAlign="left",e.textBaseline="top",e.font=`${t.data.size}px ${t.data.fontFamily}`;let o=0,c=0;t.data.text.split(`
14
- `).forEach(a=>{const f=e.measureText(a);o<f.width&&(o=f.width),c+=t.data.size});const{x:r,y:n}=t.editHistory.reduce((a,{data:f})=>({x:a.x+f.x2-f.x1,y:a.y+f.y2-f.y1}),{x:0,y:0}),u=t.data.x+r,d=t.data.y+n,l=u+o,h=d+c;return s.x>=u&&s.x<=l&&s.y>=d&&s.y<=h}function zt(){const e=X(),[t,s]=P(),[o]=G(),[c,r]=I(),[,n]=A(),u=W(),[d,l]=i.useState(3),[h,a]=i.useState("#ee5126"),f=i.useRef(null),m=i.useRef(null),[g,y]=i.useState(null),[v,S]=i.useState(""),C=c==="Text",z=i.useCallback(()=>{r.set("Text"),n.set("default")},[r,n]),b=i.useCallback(()=>{C||(z(),s.clearSelect())},[C,z,s]),p=i.useCallback(D=>{f.current&&(f.current.data.size=we[D]),l(D)},[]),x=i.useCallback(D=>{f.current&&(f.current.data.color=D),a(D)},[]),N=i.useCallback(D=>{S(D),C&&f.current&&(f.current.data.text=D)},[C]),k=i.useCallback(()=>{f.current&&f.current.data.text&&s.push(f.current),f.current=null,S(""),y(null)},[s]),E=i.useCallback((D,L)=>{D.name==="Text"&&(z(),m.current={type:B.Edit,data:{x1:L.clientX,y1:L.clientY,x2:L.clientX,y2:L.clientY},source:D},s.select(D))},[z,s]),w=i.useCallback(D=>{if(!C||!u.current||f.current||!o)return;const{left:L,top:ge}=u.current.canvas.getBoundingClientRect(),_e=window.getComputedStyle(u.current.canvas).fontFamily,se=D.clientX-L,re=D.clientY-ge;f.current={name:"Text",type:B.Source,data:{size:we[d],color:h,fontFamily:_e,x:se,y:re,text:""},editHistory:[],draw:St,isHit:wt},y({x:D.clientX,y:D.clientY,maxWidth:o.width-se,maxHeight:o.height-re})},[C,d,h,o,u]),R=i.useCallback(D=>{!C||m.current&&(m.current.data.x2=D.clientX,m.current.data.y2=D.clientY,t.top!==m.current?(m.current.source.editHistory.push(m.current),s.push(m.current)):s.set(t))},[C,t,s]),V=i.useCallback(()=>{!C||(m.current=null)},[C]);return ue(E),ee(w),te(R),ne(V),_.default.createElement(_.default.Fragment,null,_.default.createElement(Y,{title:e.operation_text_title,icon:"icon-text",checked:C,onClick:b,option:_.default.createElement(ie,{size:d,color:h,onSizeChange:p,onColorChange:x,__self:this,__source:{fileName:Se,lineNumber:261,columnNumber:11}}),__self:this,__source:{fileName:Se,lineNumber:255,columnNumber:7}}),C&&g&&_.default.createElement(kt,{x:g.x,y:g.y,maxWidth:g.maxWidth,maxHeight:g.maxHeight,size:we[d],color:h,value:v,onChange:N,onBlur:k,__self:this,__source:{fileName:Se,lineNumber:265,columnNumber:9}}))}const Pe=4;function M(e,t,s){e.lineWidth=1,e.strokeStyle="#000000",e.fillStyle="#ffffff",e.beginPath(),e.arc(t,s,Pe,0,2*Math.PI),e.fill(),e.stroke()}function pe(e,t,s){t.draw(e,t);const{data:o}=e.getImageData(s.x,s.y,1,1);return o.some(c=>c!==0)}function $(e,t,s){if(!e)return!1;const{left:o,top:c}=e.getBoundingClientRect(),r=t.clientX-o,n=t.clientY-c;return(s.x-r)**2+(s.y-n)**2<Pe**2}function Et(e,t){const{size:s,color:o,points:c}=t.data;e.lineCap="round",e.lineJoin="round",e.lineWidth=s,e.strokeStyle=o;const r=t.editHistory.reduce((n,{data:u})=>({x:n.x+u.x2-u.x1,y:n.y+u.y2-u.y1}),{x:0,y:0});e.beginPath(),c.forEach((n,u)=>{u===0?e.moveTo(n.x+r.x,n.y+r.y):e.lineTo(n.x+r.x,n.y+r.y)}),e.stroke(),t.isSelected&&(e.lineWidth=1,e.strokeStyle="#000000",e.beginPath(),c.forEach((n,u)=>{u===0?e.moveTo(n.x+r.x,n.y+r.y):e.lineTo(n.x+r.x,n.y+r.y)}),e.stroke())}var Ye="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Brush/index.tsx";function Bt(){const e=X(),[,t]=A(),[s,o]=I(),c=W(),[r,n]=P(),[u,d]=i.useState(3),[l,h]=i.useState("#ee5126"),a=i.useRef(null),f=i.useRef(null),m=s==="Brush",g=i.useCallback(()=>{o.set("Brush"),t.set("default")},[o,t]),y=i.useCallback(()=>{m||(g(),n.clearSelect())},[m,g,n]),v=i.useCallback((b,p)=>{b.name==="Brush"&&(g(),f.current={type:B.Edit,data:{x1:p.clientX,y1:p.clientY,x2:p.clientX,y2:p.clientY},source:b},n.select(b))},[g,n]),S=i.useCallback(b=>{if(!m||a.current||!c.current)return;const{left:p,top:x}=c.current.canvas.getBoundingClientRect();a.current={name:"Brush",type:B.Source,data:{size:u,color:l,points:[{x:b.clientX-p,y:b.clientY-x}]},editHistory:[],draw:Et,isHit:pe}},[m,c,u,l]),C=i.useCallback(b=>{if(!(!m||!c.current)){if(f.current)f.current.data.x2=b.clientX,f.current.data.y2=b.clientY,r.top!==f.current?(f.current.source.editHistory.push(f.current),n.push(f.current)):n.set(r);else if(a.current){const{left:p,top:x}=c.current.canvas.getBoundingClientRect();a.current.data.points.push({x:b.clientX-p,y:b.clientY-x}),r.top!==a.current?n.push(a.current):n.set(r)}}},[m,r,c,n]),z=i.useCallback(()=>{!m||(a.current&&n.clearSelect(),a.current=null,f.current=null)},[m,n]);return ue(v),ee(S),te(C),ne(z),_.default.createElement(Y,{title:e.operation_brush_title,icon:"icon-brush",checked:m,onClick:y,option:_.default.createElement(ie,{size:u,color:l,onSizeChange:d,onColorChange:h,__self:this,__source:{fileName:Ye,lineNumber:166,columnNumber:15}}),__self:this,__source:{fileName:Ye,lineNumber:161,columnNumber:5}})}function Fe(e){let{x1:t,y1:s,x2:o,y2:c}=e.data;return e.editHistory.forEach(({data:r})=>{const n=r.x2-r.x1,u=r.y2-r.y1;r.type===le.Move?(t+=n,s+=u,o+=n,c+=u):r.type===le.MoveStart?(t+=n,s+=u):r.type===le.MoveEnd&&(o+=n,c+=u)}),me(U({},e.data),{x1:t,x2:o,y1:s,y2:c})}function Dt(e,t){const{size:s,color:o,x1:c,x2:r,y1:n,y2:u}=Fe(t);e.lineCap="round",e.lineJoin="bevel",e.lineWidth=s,e.strokeStyle=o;const d=r-c,l=u-n,h=s*3,a=Math.atan2(l,d);e.beginPath(),e.moveTo(c,n),e.lineTo(r,u),e.lineTo(r-h*Math.cos(a-Math.PI/6),u-h*Math.sin(a-Math.PI/6)),e.moveTo(r,u),e.lineTo(r-h*Math.cos(a+Math.PI/6),u-h*Math.sin(a+Math.PI/6)),e.stroke(),t.isSelected&&(M(e,c,n),M(e,r,u))}var Te="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Arrow/index.tsx",le;(function(e){e[e.Move=0]="Move",e[e.MoveStart=1]="MoveStart",e[e.MoveEnd=2]="MoveEnd"})(le||(le={}));function Mt(){const e=X(),[,t]=A(),[s,o]=I(),[c,r]=P(),n=W(),[u,d]=i.useState(3),[l,h]=i.useState("#ee5126"),a=i.useRef(null),f=i.useRef(null),m=s==="Arrow",g=i.useCallback(()=>{o.set("Arrow"),t.set("default")},[o,t]),y=i.useCallback(()=>{m||(g(),r.clearSelect())},[m,g,r]),v=i.useCallback((b,p)=>{if(b.name!=="Arrow"||!n.current)return;const x=b;g();const{x1:N,y1:k,x2:E,y2:w}=Fe(x);let R=0;$(n.current.canvas,p,{x:N,y:k})?R=1:$(n.current.canvas,p,{x:E,y:w})&&(R=2),f.current={type:B.Edit,data:{type:R,x1:p.clientX,y1:p.clientY,x2:p.clientX,y2:p.clientY},source:x},r.select(b)},[n,g,r]),S=i.useCallback(b=>{if(!m||a.current||!n.current)return;const{left:p,top:x}=n.current.canvas.getBoundingClientRect();a.current={name:"Arrow",type:B.Source,data:{size:u,color:l,x1:b.clientX-p,y1:b.clientY-x,x2:b.clientX-p,y2:b.clientY-x},editHistory:[],draw:Dt,isHit:pe}},[m,l,u,n]),C=i.useCallback(b=>{if(!(!m||!n.current)){if(f.current)f.current.data.x2=b.clientX,f.current.data.y2=b.clientY,c.top!==f.current?(f.current.source.editHistory.push(f.current),r.push(f.current)):r.set(c);else if(a.current){const{left:p,top:x}=n.current.canvas.getBoundingClientRect();a.current.data.x2=b.clientX-p,a.current.data.y2=b.clientY-x,c.top!==a.current?r.push(a.current):r.set(c)}}},[m,c,n,r]),z=i.useCallback(()=>{!m||(a.current&&r.clearSelect(),a.current=null,f.current=null)},[m,r]);return ue(v),ee(S),te(C),ne(z),_.default.createElement(Y,{title:e.operation_arrow_title,icon:"icon-arrow",checked:m,onClick:y,option:_.default.createElement(ie,{size:u,color:l,onSizeChange:d,onColorChange:h,__self:this,__source:{fileName:Te,lineNumber:190,columnNumber:15}}),__self:this,__source:{fileName:Te,lineNumber:185,columnNumber:5}})}function je(e){let{x1:t,y1:s,x2:o,y2:c}=e.data;return e.editHistory.forEach(({data:r})=>{const n=r.x2-r.x1,u=r.y2-r.y1;r.type===F.Move?(t+=n,s+=u,o+=n,c+=u):r.type===F.ResizeTop?s+=u:r.type===F.ResizeRightTop?(o+=n,s+=u):r.type===F.ResizeRight?o+=n:r.type===F.ResizeRightBottom?(o+=n,c+=u):r.type===F.ResizeBottom?c+=u:r.type===F.ResizeLeftBottom?(t+=n,c+=u):r.type===F.ResizeLeft?t+=n:r.type===F.ResizeLeftTop&&(t+=n,s+=u)}),me(U({},e.data),{x1:t,x2:o,y1:s,y2:c})}function $t(e,t){const{size:s,color:o,x1:c,y1:r,x2:n,y2:u}=je(t);e.lineCap="butt",e.lineJoin="miter",e.lineWidth=s,e.strokeStyle=o;const d=(c+n)/2,l=(r+u)/2,h=Math.abs(n-c)/2,a=Math.abs(u-r)/2,f=.5522848,m=h*f,g=a*f;e.beginPath(),e.moveTo(d-h,l),e.bezierCurveTo(d-h,l-g,d-m,l-a,d,l-a),e.bezierCurveTo(d+m,l-a,d+h,l-g,d+h,l),e.bezierCurveTo(d+h,l+g,d+m,l+a,d,l+a),e.bezierCurveTo(d-m,l+a,d-h,l+g,d-h,l),e.closePath(),e.stroke(),t.isSelected&&(e.lineWidth=1,e.strokeStyle="#000000",e.fillStyle="#ffffff",e.beginPath(),e.moveTo(c,r),e.lineTo(n,r),e.lineTo(n,u),e.lineTo(c,u),e.closePath(),e.stroke(),M(e,(c+n)/2,r),M(e,n,r),M(e,n,(r+u)/2),M(e,n,u),M(e,(c+n)/2,u),M(e,c,u),M(e,c,(r+u)/2),M(e,c,r))}var Ue="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Ellipse/index.tsx",F;(function(e){e[e.Move=0]="Move",e[e.ResizeTop=1]="ResizeTop",e[e.ResizeRightTop=2]="ResizeRightTop",e[e.ResizeRight=3]="ResizeRight",e[e.ResizeRightBottom=4]="ResizeRightBottom",e[e.ResizeBottom=5]="ResizeBottom",e[e.ResizeLeftBottom=6]="ResizeLeftBottom",e[e.ResizeLeft=7]="ResizeLeft",e[e.ResizeLeftTop=8]="ResizeLeftTop"})(F||(F={}));function Lt(){const e=X(),[t,s]=P(),[o,c]=I(),[,r]=A(),n=W(),[u,d]=i.useState(3),[l,h]=i.useState("#ee5126"),a=i.useRef(null),f=i.useRef(null),m=o==="Ellipse",g=i.useCallback(()=>{c.set("Ellipse"),r.set("crosshair")},[c,r]),y=i.useCallback(()=>{m||(g(),s.clearSelect())},[m,g,s]),v=i.useCallback((b,p)=>{if(b.name!=="Ellipse"||!n.current)return;const x=b;g();const{x1:N,y1:k,x2:E,y2:w}=je(x);let R=0;$(n.current.canvas,p,{x:(N+E)/2,y:k})?R=1:$(n.current.canvas,p,{x:E,y:k})?R=2:$(n.current.canvas,p,{x:E,y:(k+w)/2})?R=3:$(n.current.canvas,p,{x:E,y:w})?R=4:$(n.current.canvas,p,{x:(N+E)/2,y:w})?R=5:$(n.current.canvas,p,{x:N,y:w})?R=6:$(n.current.canvas,p,{x:N,y:(k+w)/2})?R=7:$(n.current.canvas,p,{x:N,y:k})&&(R=8),f.current={type:B.Edit,data:{type:R,x1:p.clientX,y1:p.clientY,x2:p.clientX,y2:p.clientY},source:x},s.select(b)},[n,g,s]),S=i.useCallback(b=>{if(!m||!n.current||a.current)return;const{left:p,top:x}=n.current.canvas.getBoundingClientRect(),N=b.clientX-p,k=b.clientY-x;a.current={name:"Ellipse",type:B.Source,data:{size:u,color:l,x1:N,y1:k,x2:N,y2:k},editHistory:[],draw:$t,isHit:pe}},[m,u,l,n]),C=i.useCallback(b=>{if(!(!m||!n.current)){if(f.current)f.current.data.x2=b.clientX,f.current.data.y2=b.clientY,t.top!==f.current?(f.current.source.editHistory.push(f.current),s.push(f.current)):s.set(t);else if(a.current){const{left:p,top:x}=n.current.canvas.getBoundingClientRect();a.current.data.x2=b.clientX-p,a.current.data.y2=b.clientY-x,t.top!==a.current?s.push(a.current):s.set(t)}}},[m,n,t,s]),z=i.useCallback(()=>{!m||(a.current&&s.clearSelect(),a.current=null,f.current=null)},[m,s]);return ue(v),ee(S),te(C),ne(z),_.default.createElement(Y,{title:e.operation_ellipse_title,icon:"icon-ellipse",checked:m,onClick:y,option:_.default.createElement(ie,{size:u,color:l,onSizeChange:d,onColorChange:h,__self:this,__source:{fileName:Ue,lineNumber:242,columnNumber:15}}),__self:this,__source:{fileName:Ue,lineNumber:237,columnNumber:5}})}function Ge(e){let{x1:t,y1:s,x2:o,y2:c}=e.data;return e.editHistory.forEach(({data:r})=>{const n=r.x2-r.x1,u=r.y2-r.y1;r.type===T.Move?(t+=n,s+=u,o+=n,c+=u):r.type===T.ResizeTop?s+=u:r.type===T.ResizeRightTop?(o+=n,s+=u):r.type===T.ResizeRight?o+=n:r.type===T.ResizeRightBottom?(o+=n,c+=u):r.type===T.ResizeBottom?c+=u:r.type===T.ResizeLeftBottom?(t+=n,c+=u):r.type===T.ResizeLeft?t+=n:r.type===T.ResizeLeftTop&&(t+=n,s+=u)}),me(U({},e.data),{x1:t,x2:o,y1:s,y2:c})}function Ht(e,t){const{size:s,color:o,x1:c,y1:r,x2:n,y2:u}=Ge(t);e.lineCap="butt",e.lineJoin="miter",e.lineWidth=s,e.strokeStyle=o,e.beginPath(),e.moveTo(c,r),e.lineTo(n,r),e.lineTo(n,u),e.lineTo(c,u),e.closePath(),e.stroke(),t.isSelected&&(e.lineWidth=1,e.strokeStyle="#000000",e.fillStyle="#ffffff",M(e,(c+n)/2,r),M(e,n,r),M(e,n,(r+u)/2),M(e,n,u),M(e,(c+n)/2,u),M(e,c,u),M(e,c,(r+u)/2),M(e,c,r))}var Ae="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Rectangle/index.tsx",T;(function(e){e[e.Move=0]="Move",e[e.ResizeTop=1]="ResizeTop",e[e.ResizeRightTop=2]="ResizeRightTop",e[e.ResizeRight=3]="ResizeRight",e[e.ResizeRightBottom=4]="ResizeRightBottom",e[e.ResizeBottom=5]="ResizeBottom",e[e.ResizeLeftBottom=6]="ResizeLeftBottom",e[e.ResizeLeft=7]="ResizeLeft",e[e.ResizeLeftTop=8]="ResizeLeftTop"})(T||(T={}));function Xt(){const e=X(),[t,s]=P(),[o,c]=I(),[,r]=A(),n=W(),[u,d]=i.useState(3),[l,h]=i.useState("#ee5126"),a=i.useRef(null),f=i.useRef(null),m=o==="Rectangle",g=i.useCallback(()=>{c.set("Rectangle"),r.set("crosshair")},[c,r]),y=i.useCallback(()=>{m||(g(),s.clearSelect())},[m,g,s]),v=i.useCallback((b,p)=>{if(b.name!=="Rectangle"||!n.current)return;const x=b;g();const{x1:N,y1:k,x2:E,y2:w}=Ge(x);let R=0;$(n.current.canvas,p,{x:(N+E)/2,y:k})?R=1:$(n.current.canvas,p,{x:E,y:k})?R=2:$(n.current.canvas,p,{x:E,y:(k+w)/2})?R=3:$(n.current.canvas,p,{x:E,y:w})?R=4:$(n.current.canvas,p,{x:(N+E)/2,y:w})?R=5:$(n.current.canvas,p,{x:N,y:w})?R=6:$(n.current.canvas,p,{x:N,y:(k+w)/2})?R=7:$(n.current.canvas,p,{x:N,y:k})&&(R=8),f.current={type:B.Edit,data:{type:R,x1:p.clientX,y1:p.clientY,x2:p.clientX,y2:p.clientY},source:b},s.select(b)},[n,g,s]),S=i.useCallback(b=>{if(!m||!n.current||a.current)return;const{left:p,top:x}=n.current.canvas.getBoundingClientRect(),N=b.clientX-p,k=b.clientY-x;a.current={name:"Rectangle",type:B.Source,data:{size:u,color:l,x1:N,y1:k,x2:N,y2:k},editHistory:[],draw:Ht,isHit:pe}},[m,u,l,n]),C=i.useCallback(b=>{if(!(!m||!n.current)){if(f.current)f.current.data.x2=b.clientX,f.current.data.y2=b.clientY,t.top!==f.current?(f.current.source.editHistory.push(f.current),s.push(f.current)):s.set(t);else if(a.current){const{left:p,top:x}=n.current.canvas.getBoundingClientRect(),N=a.current.data;N.x2=b.clientX-p,N.y2=b.clientY-x,t.top!==a.current?s.push(a.current):s.set(t)}}},[m,n,t,s]),z=i.useCallback(()=>{!m||(a.current&&s.clearSelect(),a.current=null,f.current=null)},[m,s]);return ue(v),ee(S),te(C),ne(z),_.default.createElement(Y,{title:e.operation_rectangle_title,icon:"icon-rectangle",checked:m,onClick:y,option:_.default.createElement(ie,{size:u,color:l,onSizeChange:d,onColorChange:h,__self:this,__source:{fileName:Ae,lineNumber:242,columnNumber:15}}),__self:this,__source:{fileName:Ae,lineNumber:237,columnNumber:5}})}var Pt=[Xt,Lt,Mt,Bt,zt,_t,"|",pt,dt,"|",ht,at,ut];var ae="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsOperations/index.tsx";const Ie=_.default.createContext(null);function Yt(){const{width:e,height:t}=H(),[s]=G(),[o,c]=i.useState(null),[r,n]=i.useState(null),u=i.useRef(null),d=i.useCallback(h=>{h.stopPropagation()},[]),l=i.useCallback(h=>{h.preventDefault(),h.stopPropagation()},[]);return i.useEffect(()=>{if(!s||!u.current)return;const h=u.current.getBoundingClientRect();let a=s.x+s.width-h.width,f=s.y+s.height+10;a<0&&(a=0),a>e-h.width&&(a=e-h.width),f>t-h.height&&(f=t-h.height-10),((r==null?void 0:r.x)!==a||r.y!==f)&&n({x:a,y:f}),((o==null?void 0:o.x)!==h.x||o.y!==h.y||o.width!==h.width||o.height!==h.height)&&c({x:h.x,y:h.y,width:h.width,height:h.height})}),s?_.default.createElement(Ie.Provider,{value:o,__self:this,__source:{fileName:ae,lineNumber:76,columnNumber:5}},_.default.createElement("div",{ref:u,className:"screenshots-operations",style:{visibility:r?"visible":"hidden",left:r==null?void 0:r.x,top:r==null?void 0:r.y},onDoubleClick:d,onContextMenu:l,__self:this,__source:{fileName:ae,lineNumber:77,columnNumber:7}},_.default.createElement("div",{className:"screenshots-operations-buttons",__self:this,__source:{fileName:ae,lineNumber:88,columnNumber:9}},Pt.map((h,a)=>h==="|"?_.default.createElement("div",{key:a,className:"screenshots-operations-divider",__self:this,__source:{fileName:ae,lineNumber:91,columnNumber:22}}):_.default.createElement(h,{key:a,__self:this,__source:{fileName:ae,lineNumber:93,columnNumber:22}}))))):null}function Ft(e){const[t,s]=i.useState(null);return i.useEffect(()=>{if(s(null),e==null)return;const o=document.createElement("img"),c=()=>s(o),r=()=>s(null);return o.addEventListener("load",c),o.addEventListener("error",r),o.src=e,()=>{o.removeEventListener("load",c),o.removeEventListener("error",r)}},[e]),t}var fe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/index.tsx";function Tt(n){var u=n,{url:e,width:t,height:s,lang:o,className:c}=u,r=De(u,["url","width","height","lang","className"]);const d=Ft(e),l=i.useRef(null),h=i.useRef({}),[a,f]=i.useState({index:-1,stack:[]}),[m,g]=i.useState(null),[y,v]=i.useState("move"),[S,C]=i.useState(void 0),z={url:e,width:t,height:s,image:d,lang:U(U({},$e),o),emiterRef:h,canvasContextRef:l,history:a,bounds:m,cursor:y,operation:S},b=i.useCallback((w,...R)=>{const V=r[w];typeof V=="function"&&V(...R)},[r]),p={call:b,setHistory:f,setBounds:g,setCursor:v,setOperation:C},x=["screenshots"];c&&x.push(c);const N=()=>{h.current={},f({index:-1,stack:[]}),g(null),v("move"),C(void 0)},k=i.useCallback(async w=>{if(!(w.button!==0||!d))if(m&&l.current)l.current.canvas.toBlob(R=>{b("onOk",R,m),N()},"image/png");else{const R=await Je(d,{width:t,height:s});b("onOk",R,{x:0,y:0,width:t,height:s}),N()}},[d,m,t,s,b]),E=i.useCallback(w=>{w.button===2&&(w.preventDefault(),b("onCancel"),N())},[b]);return i.useLayoutEffect(()=>{N()},[e]),_.default.createElement(ye.Provider,{value:{store:z,dispatcher:p},__self:this,__source:{fileName:fe,lineNumber:128,columnNumber:5}},_.default.createElement("div",{className:x.join(" "),style:{width:t,height:s},onDoubleClick:k,onContextMenu:E,__self:this,__source:{fileName:fe,lineNumber:129,columnNumber:7}},_.default.createElement(Ze,{__self:this,__source:{fileName:fe,lineNumber:135,columnNumber:9}}),_.default.createElement(ot,{ref:l,__self:this,__source:{fileName:fe,lineNumber:136,columnNumber:9}}),_.default.createElement(Yt,{__self:this,__source:{fileName:fe,lineNumber:137,columnNumber:9}})))}module.exports=Tt;
12
+ `,yt=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","text-indent","padding-left","padding-right","border-width","box-sizing","white-space","word-break"];let O;function Nt(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing")||t.getPropertyValue("-moz-box-sizing")||t.getPropertyValue("-webkit-box-sizing"),c=parseFloat(t.getPropertyValue("padding-bottom"))+parseFloat(t.getPropertyValue("padding-top")),r=parseFloat(t.getPropertyValue("border-bottom-width"))+parseFloat(t.getPropertyValue("border-top-width"));return{sizingStyle:yt.map(s=>`${s}:${t.getPropertyValue(s)}`).join(";"),paddingSize:c,borderSize:r,boxSizing:n}}function Ct(e,t,n,c){O||(O=document.createElement("textarea"),O.setAttribute("tab-index","-1"),document.body.appendChild(O));const{paddingSize:r,borderSize:o,boxSizing:s,sizingStyle:a}=Nt(e);O.setAttribute("style",`${a};${vt};max-width:${n}px;max-height:${c}px`),O.value=t||" ";let m=O.scrollWidth,d=O.scrollHeight;return s==="border-box"?(m+=o,d+=o):s==="content-box"&&(m-=r,d-=r),{width:Math.min(m,n),height:Math.min(d,c)}}var St="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsTextarea/index.tsx",Rt=i.memo(function({x:t,y:n,maxWidth:c,maxHeight:r,size:o,color:s,value:a,onChange:m,onBlur:d}){const l=i.useRef(null),u=i.useRef(null),[h,f]=i.useState(0),[g,y]=i.useState(0),C=()=>(l.current||(l.current=document.createElement("div")),l.current);return i.useLayoutEffect(()=>(l.current&&(document.body.appendChild(l.current),requestAnimationFrame(()=>{var v;(v=u.current)==null||v.focus()})),()=>{var v;(v=l.current)==null||v.remove()}),[]),i.useLayoutEffect(()=>{if(!u.current)return;const{width:v,height:R}=Ct(u.current,a,c,r);f(v),y(R)},[a,c,r]),$e.createPortal(b.default.createElement("textarea",{ref:u,className:"screenshots-textarea",style:{color:s,width:h,height:g,maxWidth:c,maxHeight:r,fontSize:o,lineHeight:`${o}px`,transform:`translate(${t}px, ${n}px)`},value:a,onChange:v=>m&&m(v.target.value),onBlur:v=>d&&d(v),__self:this,__source:{fileName:St,lineNumber:65,columnNumber:5}}),C())});function ae(e){const t=ee();i.useEffect(()=>(t.on("drawselect",e),()=>{t.off("drawselect",e)}),[e,t])}var we="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Text/index.tsx";const ze={3:18,6:32,9:46};function kt(e,t){const{size:n,color:c,fontFamily:r,x:o,y:s,text:a}=t.data;e.fillStyle=c,e.textAlign="left",e.textBaseline="top",e.font=`${n}px ${r}`;const m=t.editHistory.reduce((d,{data:l})=>({x:d.x+l.x2-l.x1,y:d.y+l.y2-l.y1}),{x:0,y:0});a.split(`
13
+ `).forEach((d,l)=>{e.fillText(d,o+m.x,s+m.y+l*n)})}function wt(e,t,n){e.textAlign="left",e.textBaseline="top",e.font=`${t.data.size}px ${t.data.fontFamily}`;let c=0,r=0;t.data.text.split(`
14
+ `).forEach(u=>{const h=e.measureText(u);c<h.width&&(c=h.width),r+=t.data.size});const{x:o,y:s}=t.editHistory.reduce((u,{data:h})=>({x:u.x+h.x2-h.x1,y:u.y+h.y2-h.y1}),{x:0,y:0}),a=t.data.x+o,m=t.data.y+s,d=a+c,l=m+r;return n.x>=a&&n.x<=d&&n.y>=m&&n.y<=l}function zt(){const e=T(),[t,n]=X(),[c]=J(),[r,o]=I(),[,s]=A(),a=W(),[m,d]=i.useState(3),[l,u]=i.useState("#ee5126"),h=i.useRef(null),f=i.useRef(null),[g,y]=i.useState(null),[C,v]=i.useState(""),R=r==="Text",w=i.useCallback(()=>{o.set("Text"),s.set("default")},[o,s]),_=i.useCallback(()=>{R||(w(),n.clearSelect())},[R,w,n]),p=i.useCallback(D=>{h.current&&(h.current.data.size=ze[D]),d(D)},[]),x=i.useCallback(D=>{h.current&&(h.current.data.color=D),u(D)},[]),N=i.useCallback(D=>{v(D),R&&h.current&&(h.current.data.text=D)},[R]),k=i.useCallback(()=>{h.current&&h.current.data.text&&n.push(h.current),h.current=null,v(""),y(null)},[n]),E=i.useCallback((D,H)=>{D.name==="Text"&&(w(),f.current={type:B.Edit,data:{x1:H.clientX,y1:H.clientY,x2:H.clientX,y2:H.clientY},source:D},n.select(D))},[w,n]),z=i.useCallback(D=>{if(!R||!a.current||h.current||!c)return;const{left:H,top:be}=a.current.canvas.getBoundingClientRect(),xe=window.getComputedStyle(a.current.canvas).fontFamily,re=D.clientX-H,oe=D.clientY-be;h.current={name:"Text",type:B.Source,data:{size:ze[m],color:l,fontFamily:xe,x:re,y:oe,text:""},editHistory:[],draw:kt,isHit:wt},y({x:D.clientX,y:D.clientY,maxWidth:c.width-re,maxHeight:c.height-oe})},[R,m,l,c,a]),S=i.useCallback(D=>{!R||f.current&&(f.current.data.x2=D.clientX,f.current.data.y2=D.clientY,t.top!==f.current?(f.current.source.editHistory.push(f.current),n.push(f.current)):n.set(t))},[R,t,n]),U=i.useCallback(()=>{!R||(f.current=null)},[R]);return ae(E),te(z),ne(S),se(U),b.default.createElement(b.default.Fragment,null,b.default.createElement(P,{title:e.operation_text_title,icon:"icon-text",checked:R,onClick:_,option:b.default.createElement(ie,{size:m,color:l,onSizeChange:p,onColorChange:x,__self:this,__source:{fileName:we,lineNumber:261,columnNumber:11}}),__self:this,__source:{fileName:we,lineNumber:255,columnNumber:7}}),R&&g&&b.default.createElement(Rt,{x:g.x,y:g.y,maxWidth:g.maxWidth,maxHeight:g.maxHeight,size:ze[m],color:l,value:C,onChange:N,onBlur:k,__self:this,__source:{fileName:we,lineNumber:265,columnNumber:9}}))}const Ye=4;function M(e,t,n){e.lineWidth=1,e.strokeStyle="#000000",e.fillStyle="#ffffff",e.beginPath(),e.arc(t,n,Ye,0,2*Math.PI),e.fill(),e.stroke()}function _e(e,t,n){t.draw(e,t);const{data:c}=e.getImageData(n.x,n.y,1,1);return c.some(r=>r!==0)}function $(e,t,n){if(!e)return!1;const{left:c,top:r}=e.getBoundingClientRect(),o=t.clientX-c,s=t.clientY-r;return(n.x-o)**2+(n.y-s)**2<Ye**2}function Et(e,t){const{size:n,color:c,points:r}=t.data;e.lineCap="round",e.lineJoin="round",e.lineWidth=n,e.strokeStyle=c;const o=t.editHistory.reduce((s,{data:a})=>({x:s.x+a.x2-a.x1,y:s.y+a.y2-a.y1}),{x:0,y:0});e.beginPath(),r.forEach((s,a)=>{a===0?e.moveTo(s.x+o.x,s.y+o.y):e.lineTo(s.x+o.x,s.y+o.y)}),e.stroke(),t.isSelected&&(e.lineWidth=1,e.strokeStyle="#000000",e.beginPath(),r.forEach((s,a)=>{a===0?e.moveTo(s.x+o.x,s.y+o.y):e.lineTo(s.x+o.x,s.y+o.y)}),e.stroke())}var Fe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Brush/index.tsx";function Bt(){const e=T(),[,t]=A(),[n,c]=I(),r=W(),[o,s]=X(),[a,m]=i.useState(3),[d,l]=i.useState("#ee5126"),u=i.useRef(null),h=i.useRef(null),f=n==="Brush",g=i.useCallback(()=>{c.set("Brush"),t.set("default")},[c,t]),y=i.useCallback(()=>{f||(g(),s.clearSelect())},[f,g,s]),C=i.useCallback((_,p)=>{_.name==="Brush"&&(g(),h.current={type:B.Edit,data:{x1:p.clientX,y1:p.clientY,x2:p.clientX,y2:p.clientY},source:_},s.select(_))},[g,s]),v=i.useCallback(_=>{if(!f||u.current||!r.current)return;const{left:p,top:x}=r.current.canvas.getBoundingClientRect();u.current={name:"Brush",type:B.Source,data:{size:a,color:d,points:[{x:_.clientX-p,y:_.clientY-x}]},editHistory:[],draw:Et,isHit:_e}},[f,r,a,d]),R=i.useCallback(_=>{if(!(!f||!r.current)){if(h.current)h.current.data.x2=_.clientX,h.current.data.y2=_.clientY,o.top!==h.current?(h.current.source.editHistory.push(h.current),s.push(h.current)):s.set(o);else if(u.current){const{left:p,top:x}=r.current.canvas.getBoundingClientRect();u.current.data.points.push({x:_.clientX-p,y:_.clientY-x}),o.top!==u.current?s.push(u.current):s.set(o)}}},[f,o,r,s]),w=i.useCallback(()=>{!f||(u.current&&s.clearSelect(),u.current=null,h.current=null)},[f,s]);return ae(C),te(v),ne(R),se(w),b.default.createElement(P,{title:e.operation_brush_title,icon:"icon-brush",checked:f,onClick:y,option:b.default.createElement(ie,{size:a,color:d,onSizeChange:m,onColorChange:l,__self:this,__source:{fileName:Fe,lineNumber:166,columnNumber:15}}),__self:this,__source:{fileName:Fe,lineNumber:161,columnNumber:5}})}function Te(e){let{x1:t,y1:n,x2:c,y2:r}=e.data;return e.editHistory.forEach(({data:o})=>{const s=o.x2-o.x1,a=o.y2-o.y1;o.type===le.Move?(t+=s,n+=a,c+=s,r+=a):o.type===le.MoveStart?(t+=s,n+=a):o.type===le.MoveEnd&&(c+=s,r+=a)}),me(G({},e.data),{x1:t,x2:c,y1:n,y2:r})}function Dt(e,t){const{size:n,color:c,x1:r,x2:o,y1:s,y2:a}=Te(t);e.lineCap="round",e.lineJoin="bevel",e.lineWidth=n,e.strokeStyle=c;const m=o-r,d=a-s,l=n*3,u=Math.atan2(d,m);e.beginPath(),e.moveTo(r,s),e.lineTo(o,a),e.lineTo(o-l*Math.cos(u-Math.PI/6),a-l*Math.sin(u-Math.PI/6)),e.moveTo(o,a),e.lineTo(o-l*Math.cos(u+Math.PI/6),a-l*Math.sin(u+Math.PI/6)),e.stroke(),t.isSelected&&(M(e,r,s),M(e,o,a))}var je="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Arrow/index.tsx",le;(function(e){e[e.Move=0]="Move",e[e.MoveStart=1]="MoveStart",e[e.MoveEnd=2]="MoveEnd"})(le||(le={}));function Mt(){const e=T(),[,t]=A(),[n,c]=I(),[r,o]=X(),s=W(),[a,m]=i.useState(3),[d,l]=i.useState("#ee5126"),u=i.useRef(null),h=i.useRef(null),f=n==="Arrow",g=i.useCallback(()=>{c.set("Arrow"),t.set("default")},[c,t]),y=i.useCallback(()=>{f||(g(),o.clearSelect())},[f,g,o]),C=i.useCallback((_,p)=>{if(_.name!=="Arrow"||!s.current)return;const x=_;g();const{x1:N,y1:k,x2:E,y2:z}=Te(x);let S=0;$(s.current.canvas,p,{x:N,y:k})?S=1:$(s.current.canvas,p,{x:E,y:z})&&(S=2),h.current={type:B.Edit,data:{type:S,x1:p.clientX,y1:p.clientY,x2:p.clientX,y2:p.clientY},source:x},o.select(_)},[s,g,o]),v=i.useCallback(_=>{if(!f||u.current||!s.current)return;const{left:p,top:x}=s.current.canvas.getBoundingClientRect();u.current={name:"Arrow",type:B.Source,data:{size:a,color:d,x1:_.clientX-p,y1:_.clientY-x,x2:_.clientX-p,y2:_.clientY-x},editHistory:[],draw:Dt,isHit:_e}},[f,d,a,s]),R=i.useCallback(_=>{if(!(!f||!s.current)){if(h.current)h.current.data.x2=_.clientX,h.current.data.y2=_.clientY,r.top!==h.current?(h.current.source.editHistory.push(h.current),o.push(h.current)):o.set(r);else if(u.current){const{left:p,top:x}=s.current.canvas.getBoundingClientRect();u.current.data.x2=_.clientX-p,u.current.data.y2=_.clientY-x,r.top!==u.current?o.push(u.current):o.set(r)}}},[f,r,s,o]),w=i.useCallback(()=>{!f||(u.current&&o.clearSelect(),u.current=null,h.current=null)},[f,o]);return ae(C),te(v),ne(R),se(w),b.default.createElement(P,{title:e.operation_arrow_title,icon:"icon-arrow",checked:f,onClick:y,option:b.default.createElement(ie,{size:a,color:d,onSizeChange:m,onColorChange:l,__self:this,__source:{fileName:je,lineNumber:190,columnNumber:15}}),__self:this,__source:{fileName:je,lineNumber:185,columnNumber:5}})}function Ue(e){let{x1:t,y1:n,x2:c,y2:r}=e.data;return e.editHistory.forEach(({data:o})=>{const s=o.x2-o.x1,a=o.y2-o.y1;o.type===Y.Move?(t+=s,n+=a,c+=s,r+=a):o.type===Y.ResizeTop?n+=a:o.type===Y.ResizeRightTop?(c+=s,n+=a):o.type===Y.ResizeRight?c+=s:o.type===Y.ResizeRightBottom?(c+=s,r+=a):o.type===Y.ResizeBottom?r+=a:o.type===Y.ResizeLeftBottom?(t+=s,r+=a):o.type===Y.ResizeLeft?t+=s:o.type===Y.ResizeLeftTop&&(t+=s,n+=a)}),me(G({},e.data),{x1:t,x2:c,y1:n,y2:r})}function $t(e,t){const{size:n,color:c,x1:r,y1:o,x2:s,y2:a}=Ue(t);e.lineCap="butt",e.lineJoin="miter",e.lineWidth=n,e.strokeStyle=c;const m=(r+s)/2,d=(o+a)/2,l=Math.abs(s-r)/2,u=Math.abs(a-o)/2,h=.5522848,f=l*h,g=u*h;e.beginPath(),e.moveTo(m-l,d),e.bezierCurveTo(m-l,d-g,m-f,d-u,m,d-u),e.bezierCurveTo(m+f,d-u,m+l,d-g,m+l,d),e.bezierCurveTo(m+l,d+g,m+f,d+u,m,d+u),e.bezierCurveTo(m-f,d+u,m-l,d+g,m-l,d),e.closePath(),e.stroke(),t.isSelected&&(e.lineWidth=1,e.strokeStyle="#000000",e.fillStyle="#ffffff",e.beginPath(),e.moveTo(r,o),e.lineTo(s,o),e.lineTo(s,a),e.lineTo(r,a),e.closePath(),e.stroke(),M(e,(r+s)/2,o),M(e,s,o),M(e,s,(o+a)/2),M(e,s,a),M(e,(r+s)/2,a),M(e,r,a),M(e,r,(o+a)/2),M(e,r,o))}var Ge="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Ellipse/index.tsx",Y;(function(e){e[e.Move=0]="Move",e[e.ResizeTop=1]="ResizeTop",e[e.ResizeRightTop=2]="ResizeRightTop",e[e.ResizeRight=3]="ResizeRight",e[e.ResizeRightBottom=4]="ResizeRightBottom",e[e.ResizeBottom=5]="ResizeBottom",e[e.ResizeLeftBottom=6]="ResizeLeftBottom",e[e.ResizeLeft=7]="ResizeLeft",e[e.ResizeLeftTop=8]="ResizeLeftTop"})(Y||(Y={}));function Lt(){const e=T(),[t,n]=X(),[c,r]=I(),[,o]=A(),s=W(),[a,m]=i.useState(3),[d,l]=i.useState("#ee5126"),u=i.useRef(null),h=i.useRef(null),f=c==="Ellipse",g=i.useCallback(()=>{r.set("Ellipse"),o.set("crosshair")},[r,o]),y=i.useCallback(()=>{f||(g(),n.clearSelect())},[f,g,n]),C=i.useCallback((_,p)=>{if(_.name!=="Ellipse"||!s.current)return;const x=_;g();const{x1:N,y1:k,x2:E,y2:z}=Ue(x);let S=0;$(s.current.canvas,p,{x:(N+E)/2,y:k})?S=1:$(s.current.canvas,p,{x:E,y:k})?S=2:$(s.current.canvas,p,{x:E,y:(k+z)/2})?S=3:$(s.current.canvas,p,{x:E,y:z})?S=4:$(s.current.canvas,p,{x:(N+E)/2,y:z})?S=5:$(s.current.canvas,p,{x:N,y:z})?S=6:$(s.current.canvas,p,{x:N,y:(k+z)/2})?S=7:$(s.current.canvas,p,{x:N,y:k})&&(S=8),h.current={type:B.Edit,data:{type:S,x1:p.clientX,y1:p.clientY,x2:p.clientX,y2:p.clientY},source:x},n.select(_)},[s,g,n]),v=i.useCallback(_=>{if(!f||!s.current||u.current)return;const{left:p,top:x}=s.current.canvas.getBoundingClientRect(),N=_.clientX-p,k=_.clientY-x;u.current={name:"Ellipse",type:B.Source,data:{size:a,color:d,x1:N,y1:k,x2:N,y2:k},editHistory:[],draw:$t,isHit:_e}},[f,a,d,s]),R=i.useCallback(_=>{if(!(!f||!s.current)){if(h.current)h.current.data.x2=_.clientX,h.current.data.y2=_.clientY,t.top!==h.current?(h.current.source.editHistory.push(h.current),n.push(h.current)):n.set(t);else if(u.current){const{left:p,top:x}=s.current.canvas.getBoundingClientRect();u.current.data.x2=_.clientX-p,u.current.data.y2=_.clientY-x,t.top!==u.current?n.push(u.current):n.set(t)}}},[f,s,t,n]),w=i.useCallback(()=>{!f||(u.current&&n.clearSelect(),u.current=null,h.current=null)},[f,n]);return ae(C),te(v),ne(R),se(w),b.default.createElement(P,{title:e.operation_ellipse_title,icon:"icon-ellipse",checked:f,onClick:y,option:b.default.createElement(ie,{size:a,color:d,onSizeChange:m,onColorChange:l,__self:this,__source:{fileName:Ge,lineNumber:242,columnNumber:15}}),__self:this,__source:{fileName:Ge,lineNumber:237,columnNumber:5}})}function Ae(e){let{x1:t,y1:n,x2:c,y2:r}=e.data;return e.editHistory.forEach(({data:o})=>{const s=o.x2-o.x1,a=o.y2-o.y1;o.type===F.Move?(t+=s,n+=a,c+=s,r+=a):o.type===F.ResizeTop?n+=a:o.type===F.ResizeRightTop?(c+=s,n+=a):o.type===F.ResizeRight?c+=s:o.type===F.ResizeRightBottom?(c+=s,r+=a):o.type===F.ResizeBottom?r+=a:o.type===F.ResizeLeftBottom?(t+=s,r+=a):o.type===F.ResizeLeft?t+=s:o.type===F.ResizeLeftTop&&(t+=s,n+=a)}),me(G({},e.data),{x1:t,x2:c,y1:n,y2:r})}function Ht(e,t){const{size:n,color:c,x1:r,y1:o,x2:s,y2:a}=Ae(t);e.lineCap="butt",e.lineJoin="miter",e.lineWidth=n,e.strokeStyle=c,e.beginPath(),e.moveTo(r,o),e.lineTo(s,o),e.lineTo(s,a),e.lineTo(r,a),e.closePath(),e.stroke(),t.isSelected&&(e.lineWidth=1,e.strokeStyle="#000000",e.fillStyle="#ffffff",M(e,(r+s)/2,o),M(e,s,o),M(e,s,(o+a)/2),M(e,s,a),M(e,(r+s)/2,a),M(e,r,a),M(e,r,(o+a)/2),M(e,r,o))}var Ie="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/operations/Rectangle/index.tsx",F;(function(e){e[e.Move=0]="Move",e[e.ResizeTop=1]="ResizeTop",e[e.ResizeRightTop=2]="ResizeRightTop",e[e.ResizeRight=3]="ResizeRight",e[e.ResizeRightBottom=4]="ResizeRightBottom",e[e.ResizeBottom=5]="ResizeBottom",e[e.ResizeLeftBottom=6]="ResizeLeftBottom",e[e.ResizeLeft=7]="ResizeLeft",e[e.ResizeLeftTop=8]="ResizeLeftTop"})(F||(F={}));function Xt(){const e=T(),[t,n]=X(),[c,r]=I(),[,o]=A(),s=W(),[a,m]=i.useState(3),[d,l]=i.useState("#ee5126"),u=i.useRef(null),h=i.useRef(null),f=c==="Rectangle",g=i.useCallback(()=>{r.set("Rectangle"),o.set("crosshair")},[r,o]),y=i.useCallback(()=>{f||(g(),n.clearSelect())},[f,g,n]),C=i.useCallback((_,p)=>{if(_.name!=="Rectangle"||!s.current)return;const x=_;g();const{x1:N,y1:k,x2:E,y2:z}=Ae(x);let S=0;$(s.current.canvas,p,{x:(N+E)/2,y:k})?S=1:$(s.current.canvas,p,{x:E,y:k})?S=2:$(s.current.canvas,p,{x:E,y:(k+z)/2})?S=3:$(s.current.canvas,p,{x:E,y:z})?S=4:$(s.current.canvas,p,{x:(N+E)/2,y:z})?S=5:$(s.current.canvas,p,{x:N,y:z})?S=6:$(s.current.canvas,p,{x:N,y:(k+z)/2})?S=7:$(s.current.canvas,p,{x:N,y:k})&&(S=8),h.current={type:B.Edit,data:{type:S,x1:p.clientX,y1:p.clientY,x2:p.clientX,y2:p.clientY},source:_},n.select(_)},[s,g,n]),v=i.useCallback(_=>{if(!f||!s.current||u.current)return;const{left:p,top:x}=s.current.canvas.getBoundingClientRect(),N=_.clientX-p,k=_.clientY-x;u.current={name:"Rectangle",type:B.Source,data:{size:a,color:d,x1:N,y1:k,x2:N,y2:k},editHistory:[],draw:Ht,isHit:_e}},[f,a,d,s]),R=i.useCallback(_=>{if(!(!f||!s.current)){if(h.current)h.current.data.x2=_.clientX,h.current.data.y2=_.clientY,t.top!==h.current?(h.current.source.editHistory.push(h.current),n.push(h.current)):n.set(t);else if(u.current){const{left:p,top:x}=s.current.canvas.getBoundingClientRect(),N=u.current.data;N.x2=_.clientX-p,N.y2=_.clientY-x,t.top!==u.current?n.push(u.current):n.set(t)}}},[f,s,t,n]),w=i.useCallback(()=>{!f||(u.current&&n.clearSelect(),u.current=null,h.current=null)},[f,n]);return ae(C),te(v),ne(R),se(w),b.default.createElement(P,{title:e.operation_rectangle_title,icon:"icon-rectangle",checked:f,onClick:y,option:b.default.createElement(ie,{size:a,color:d,onSizeChange:m,onColorChange:l,__self:this,__source:{fileName:Ie,lineNumber:242,columnNumber:15}}),__self:this,__source:{fileName:Ie,lineNumber:237,columnNumber:5}})}var Pt=[Xt,Lt,Mt,Bt,zt,bt,"|",gt,dt,"|",ht,ut,at];var ue="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/ScreenshotsOperations/index.tsx";const We=b.default.createContext(null);var Yt=i.memo(function(){var u,h;const{width:t,height:n}=L(),[c]=J(),[r,o]=i.useState(null),[s,a]=i.useState(null),m=i.useRef(null),d=i.useCallback(f=>{f.stopPropagation()},[]),l=i.useCallback(f=>{f.preventDefault(),f.stopPropagation()},[]);return i.useEffect(()=>{if(!c||!m.current)return;const f=m.current.getBoundingClientRect();let g=c.x+c.width-f.width,y=c.y+c.height+10;g<0&&(g=0),g>t-f.width&&(g=t-f.width),y>n-f.height&&(y=n-f.height-10),((s==null?void 0:s.x)!==g||s.y!==y)&&a({x:g,y}),((r==null?void 0:r.x)!==f.x||r.y!==f.y||r.width!==f.width||r.height!==f.height)&&o({x:f.x,y:f.y,width:f.width,height:f.height})}),c?b.default.createElement(We.Provider,{value:r,__self:this,__source:{fileName:ue,lineNumber:76,columnNumber:5}},b.default.createElement("div",{ref:m,className:"screenshots-operations",style:{visibility:s?"visible":"hidden",transform:`translate(${(u=s==null?void 0:s.x)!=null?u:0}px, ${(h=s==null?void 0:s.y)!=null?h:0}px)`},onDoubleClick:d,onContextMenu:l,__self:this,__source:{fileName:ue,lineNumber:77,columnNumber:7}},b.default.createElement("div",{className:"screenshots-operations-buttons",__self:this,__source:{fileName:ue,lineNumber:87,columnNumber:9}},Pt.map((f,g)=>f==="|"?b.default.createElement("div",{key:g,className:"screenshots-operations-divider",__self:this,__source:{fileName:ue,lineNumber:90,columnNumber:22}}):b.default.createElement(f,{key:g,__self:this,__source:{fileName:ue,lineNumber:92,columnNumber:22}}))))):null});function Ft(e){const[t,n]=i.useState(null);return i.useEffect(()=>{if(n(null),e==null)return;const c=document.createElement("img"),r=()=>n(c),o=()=>n(null);return c.addEventListener("load",r),c.addEventListener("error",o),c.src=e,()=>{c.removeEventListener("load",r),c.removeEventListener("error",o)}},[e]),t}var fe="/Users/nashaofu/Documents/GitHub/screenshots/packages/react-screenshots/src/Screenshots/index.tsx";function Tt(s){var a=s,{url:e,width:t,height:n,lang:c,className:r}=a,o=Me(a,["url","width","height","lang","className"]);const m=Ft(e),d=i.useRef(null),l=i.useRef({}),[u,h]=i.useState({index:-1,stack:[]}),[f,g]=i.useState(null),[y,C]=i.useState("move"),[v,R]=i.useState(void 0),w={url:e,width:t,height:n,image:m,lang:G(G({},Le),c),emiterRef:l,canvasContextRef:d,history:u,bounds:f,cursor:y,operation:v},_=i.useCallback((z,...S)=>{const U=o[z];typeof U=="function"&&U(...S)},[o]),p={call:_,setHistory:h,setBounds:g,setCursor:C,setOperation:R},x=["screenshots"];r&&x.push(r);const N=()=>{l.current={},h({index:-1,stack:[]}),g(null),C("move"),R(void 0)},k=i.useCallback(async z=>{if(!(z.button!==0||!m))if(f&&d.current)de({image:m,width:t,height:n,history:u,bounds:f}).then(S=>{_("onOk",S,f),N()});else{const S={x:0,y:0,width:t,height:n};de({image:m,width:t,height:n,history:u,bounds:S}).then(U=>{_("onOk",U,S),N()})}},[m,u,f,t,n,_]),E=i.useCallback(z=>{z.button===2&&(z.preventDefault(),_("onCancel"),N())},[_]);return i.useLayoutEffect(()=>{N()},[e]),b.default.createElement(ve.Provider,{value:{store:w,dispatcher:p},__self:this,__source:{fileName:fe,lineNumber:142,columnNumber:5}},b.default.createElement("div",{className:x.join(" "),style:{width:t,height:n},onDoubleClick:k,onContextMenu:E,__self:this,__source:{fileName:fe,lineNumber:143,columnNumber:7}},b.default.createElement(Ze,{__self:this,__source:{fileName:fe,lineNumber:149,columnNumber:9}}),b.default.createElement(ot,{ref:d,__self:this,__source:{fileName:fe,lineNumber:150,columnNumber:9}}),b.default.createElement(Yt,{__self:this,__source:{fileName:fe,lineNumber:151,columnNumber:9}})))}module.exports=Tt;