react-screenshots 0.5.9 → 0.5.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +145 -145
- package/electron/assets/index.7793f29e.js +222 -0
- package/electron/assets/{index.95e77ee2.css → index.78c5dcbf.css} +1 -1
- package/electron/electron.html +14 -15
- package/lib/react-screenshots.cjs.js +4 -4
- package/lib/react-screenshots.es.js +188 -190
- package/lib/style.css +1 -1
- package/lib/types/ScreenshotsBackground/getBoundsByPoints.d.ts +2 -2
- package/lib/types/ScreenshotsBackground/index.d.ts +4 -4
- package/lib/types/ScreenshotsButton/index.d.ts +12 -12
- package/lib/types/ScreenshotsCanvas/getBoundsByPoints.d.ts +2 -2
- package/lib/types/ScreenshotsCanvas/getPoints.d.ts +2 -2
- package/lib/types/ScreenshotsCanvas/index.d.ts +15 -15
- package/lib/types/ScreenshotsCanvas/isPointInDraw.d.ts +2 -2
- package/lib/types/ScreenshotsColor/index.d.ts +8 -8
- package/lib/types/ScreenshotsContext.d.ts +29 -29
- package/lib/types/ScreenshotsMagnifier/index.d.ts +8 -8
- package/lib/types/ScreenshotsOperations/index.d.ts +6 -6
- package/lib/types/ScreenshotsOption/index.d.ts +15 -15
- package/lib/types/ScreenshotsSize/index.d.ts +8 -8
- package/lib/types/ScreenshotsSizeColor/index.d.ts +10 -10
- package/lib/types/ScreenshotsTextarea/calculateNodeSize.d.ts +17 -17
- package/lib/types/ScreenshotsTextarea/index.d.ts +15 -15
- package/lib/types/composeImage.d.ts +10 -10
- package/lib/types/exports.d.ts +3 -3
- package/lib/types/hooks/useBounds.d.ts +7 -7
- package/lib/types/hooks/useCall.d.ts +2 -2
- package/lib/types/hooks/useCanvasContextRef.d.ts +2 -2
- package/lib/types/hooks/useCanvasMousedown.d.ts +1 -1
- package/lib/types/hooks/useCanvasMousemove.d.ts +1 -1
- package/lib/types/hooks/useCanvasMouseup.d.ts +1 -1
- package/lib/types/hooks/useCursor.d.ts +6 -6
- package/lib/types/hooks/useDispatcher.d.ts +2 -2
- package/lib/types/hooks/useDrawSelect.d.ts +2 -2
- package/lib/types/hooks/useEmiter.d.ts +8 -8
- package/lib/types/hooks/useHistory.d.ts +16 -16
- package/lib/types/hooks/useLang.d.ts +2 -2
- package/lib/types/hooks/useOperation.d.ts +6 -6
- package/lib/types/hooks/useReset.d.ts +2 -2
- package/lib/types/hooks/useStore.d.ts +2 -2
- package/lib/types/index.d.ts +13 -13
- package/lib/types/operations/Arrow/draw.d.ts +11 -11
- package/lib/types/operations/Arrow/index.d.ts +22 -22
- package/lib/types/operations/Brush/draw.d.ts +3 -3
- package/lib/types/operations/Brush/index.d.ts +14 -14
- package/lib/types/operations/Cancel/index.d.ts +2 -2
- package/lib/types/operations/Ellipse/draw.d.ts +11 -11
- package/lib/types/operations/Ellipse/index.d.ts +28 -28
- package/lib/types/operations/Mosaic/index.d.ts +11 -11
- package/lib/types/operations/Ok/index.d.ts +2 -2
- package/lib/types/operations/Rectangle/draw.d.ts +11 -11
- package/lib/types/operations/Rectangle/index.d.ts +28 -28
- package/lib/types/operations/Redo/index.d.ts +2 -2
- package/lib/types/operations/Save/index.d.ts +2 -2
- package/lib/types/operations/Text/index.d.ts +22 -22
- package/lib/types/operations/Undo/index.d.ts +2 -2
- package/lib/types/operations/index.d.ts +3 -3
- package/lib/types/operations/utils.d.ts +4 -4
- package/lib/types/types.d.ts +39 -39
- package/lib/types/useGetLoadedImage.d.ts +1 -1
- package/lib/types/zh_CN.d.ts +16 -16
- package/package.json +2 -2
- package/electron/assets/index.c68b977f.js +0 -14
- package/electron/assets/vendor.e3c417b2.js +0 -209
package/lib/style.css
CHANGED
|
@@ -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,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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}
|
|
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:#0000004d}.screenshots-canvas{position:absolute;left:0;top:0;will-change:width,height,transform}.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{display:block;border:none;outline:none;will-change:transform;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-font-smooting:antialiased}.screenshots-canvas-panel{width:100%;height:100%;position:absolute;left:0;top:0;right:0;bottom:0;will-change:width,height}.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;will-change:transform}.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}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Point, Bounds } from '../types';
|
|
2
|
-
export default function getBoundsByPoints({ x: x1, y: y1 }: Point, { x: x2, y: y2 }: Point, width: number, height: number): Bounds;
|
|
1
|
+
import { Point, Bounds } from '../types';
|
|
2
|
+
export default function getBoundsByPoints({ x: x1, y: y1 }: Point, { x: x2, y: y2 }: Point, width: number, height: number): Bounds;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import './index.less';
|
|
3
|
-
declare const _default: React.NamedExoticComponent<object>;
|
|
4
|
-
export default _default;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
declare const _default: React.NamedExoticComponent<object>;
|
|
4
|
+
export default _default;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import React, { ReactNode } from 'react';
|
|
2
|
-
import './index.less';
|
|
3
|
-
export interface ScreenshotsButtonProps {
|
|
4
|
-
title: string;
|
|
5
|
-
icon: string;
|
|
6
|
-
checked?: boolean;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
option?: ReactNode;
|
|
9
|
-
onClick?: (e: PointerEvent) => unknown;
|
|
10
|
-
}
|
|
11
|
-
declare const _default: React.NamedExoticComponent<ScreenshotsButtonProps>;
|
|
12
|
-
export default _default;
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
export interface ScreenshotsButtonProps {
|
|
4
|
+
title: string;
|
|
5
|
+
icon: string;
|
|
6
|
+
checked?: boolean;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
option?: ReactNode;
|
|
9
|
+
onClick?: (e: PointerEvent) => unknown;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: React.NamedExoticComponent<ScreenshotsButtonProps>;
|
|
12
|
+
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Bounds, Point } from '../types';
|
|
2
|
-
export default function getBoundsByPoints({ x: x1, y: y1 }: Point, { x: x2, y: y2 }: Point, bounds: Bounds, width: number, height: number, resizeOrMove: string): Bounds;
|
|
1
|
+
import { Bounds, Point } from '../types';
|
|
2
|
+
export default function getBoundsByPoints({ x: x1, y: y1 }: Point, { x: x2, y: y2 }: Point, bounds: Bounds, width: number, height: number, resizeOrMove: string): Bounds;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Point, Bounds } from '../types';
|
|
2
|
-
export default function getBoundsByPoints(e: MouseEvent, resizeOrMove: string, point: Point, bounds: Bounds): Point[];
|
|
1
|
+
import { Point, Bounds } from '../types';
|
|
2
|
+
export default function getBoundsByPoints(e: MouseEvent, resizeOrMove: string, point: Point, bounds: Bounds): Point[];
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import './index.less';
|
|
3
|
-
export declare enum ResizePoints {
|
|
4
|
-
ResizeTop = "top",
|
|
5
|
-
ResizetopRight = "top-right",
|
|
6
|
-
ResizeRight = "right",
|
|
7
|
-
ResizeRightBottom = "right-bottom",
|
|
8
|
-
ResizeBottom = "bottom",
|
|
9
|
-
ResizeBottomLeft = "bottom-left",
|
|
10
|
-
ResizeLeft = "left",
|
|
11
|
-
ResizeLeftTop = "left-top",
|
|
12
|
-
Move = "move"
|
|
13
|
-
}
|
|
14
|
-
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<React.RefAttributes<CanvasRenderingContext2D>>>;
|
|
15
|
-
export default _default;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
export declare enum ResizePoints {
|
|
4
|
+
ResizeTop = "top",
|
|
5
|
+
ResizetopRight = "top-right",
|
|
6
|
+
ResizeRight = "right",
|
|
7
|
+
ResizeRightBottom = "right-bottom",
|
|
8
|
+
ResizeBottom = "bottom",
|
|
9
|
+
ResizeBottomLeft = "bottom-left",
|
|
10
|
+
ResizeLeft = "left",
|
|
11
|
+
ResizeLeftTop = "left-top",
|
|
12
|
+
Move = "move"
|
|
13
|
+
}
|
|
14
|
+
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<React.RefAttributes<CanvasRenderingContext2D>>>;
|
|
15
|
+
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Bounds, History } from '../types';
|
|
2
|
-
export default function isPointInDraw(bounds: Bounds, canvas: HTMLCanvasElement | null, history: History, e: MouseEvent): false | import("../types").HistoryItem<any, any> | undefined;
|
|
1
|
+
import { Bounds, History } from '../types';
|
|
2
|
+
export default function isPointInDraw(bounds: Bounds, canvas: HTMLCanvasElement | null, history: History, e: MouseEvent): false | import("../types").HistoryItem<any, any> | undefined;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import './index.less';
|
|
3
|
-
export interface ColorProps {
|
|
4
|
-
value: string;
|
|
5
|
-
onChange: (value: string) => void;
|
|
6
|
-
}
|
|
7
|
-
declare const _default: React.NamedExoticComponent<ColorProps>;
|
|
8
|
-
export default _default;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
export interface ColorProps {
|
|
4
|
+
value: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: React.NamedExoticComponent<ColorProps>;
|
|
8
|
+
export default _default;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import React, { Dispatch, SetStateAction } from 'react';
|
|
2
|
-
import { EmiterRef, History, Bounds, CanvasContextRef } from './types';
|
|
3
|
-
import { Lang } from './zh_CN';
|
|
4
|
-
export interface ScreenshotsContextStore {
|
|
5
|
-
url?: string;
|
|
6
|
-
image: HTMLImageElement | null;
|
|
7
|
-
width: number;
|
|
8
|
-
height: number;
|
|
9
|
-
lang: Lang;
|
|
10
|
-
emiterRef: EmiterRef;
|
|
11
|
-
canvasContextRef: CanvasContextRef;
|
|
12
|
-
history: History;
|
|
13
|
-
bounds: Bounds | null;
|
|
14
|
-
cursor?: string;
|
|
15
|
-
operation?: string;
|
|
16
|
-
}
|
|
17
|
-
export interface ScreenshotsContextDispatcher {
|
|
18
|
-
call?: <T>(funcName: string, ...args: T[]) => void;
|
|
19
|
-
setHistory?: Dispatch<SetStateAction<History>>;
|
|
20
|
-
setBounds?: Dispatch<SetStateAction<Bounds | null>>;
|
|
21
|
-
setCursor?: Dispatch<SetStateAction<string | undefined>>;
|
|
22
|
-
setOperation?: Dispatch<SetStateAction<string | undefined>>;
|
|
23
|
-
}
|
|
24
|
-
export interface ScreenshotsContextValue {
|
|
25
|
-
store: ScreenshotsContextStore;
|
|
26
|
-
dispatcher: ScreenshotsContextDispatcher;
|
|
27
|
-
}
|
|
28
|
-
declare const _default: React.Context<ScreenshotsContextValue>;
|
|
29
|
-
export default _default;
|
|
1
|
+
import React, { Dispatch, SetStateAction } from 'react';
|
|
2
|
+
import { EmiterRef, History, Bounds, CanvasContextRef } from './types';
|
|
3
|
+
import { Lang } from './zh_CN';
|
|
4
|
+
export interface ScreenshotsContextStore {
|
|
5
|
+
url?: string;
|
|
6
|
+
image: HTMLImageElement | null;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
lang: Lang;
|
|
10
|
+
emiterRef: EmiterRef;
|
|
11
|
+
canvasContextRef: CanvasContextRef;
|
|
12
|
+
history: History;
|
|
13
|
+
bounds: Bounds | null;
|
|
14
|
+
cursor?: string;
|
|
15
|
+
operation?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ScreenshotsContextDispatcher {
|
|
18
|
+
call?: <T>(funcName: string, ...args: T[]) => void;
|
|
19
|
+
setHistory?: Dispatch<SetStateAction<History>>;
|
|
20
|
+
setBounds?: Dispatch<SetStateAction<Bounds | null>>;
|
|
21
|
+
setCursor?: Dispatch<SetStateAction<string | undefined>>;
|
|
22
|
+
setOperation?: Dispatch<SetStateAction<string | undefined>>;
|
|
23
|
+
}
|
|
24
|
+
export interface ScreenshotsContextValue {
|
|
25
|
+
store: ScreenshotsContextStore;
|
|
26
|
+
dispatcher: ScreenshotsContextDispatcher;
|
|
27
|
+
}
|
|
28
|
+
declare const _default: React.Context<ScreenshotsContextValue>;
|
|
29
|
+
export default _default;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import './index.less';
|
|
3
|
-
export interface ScreenshotsMagnifierProps {
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
}
|
|
7
|
-
declare const _default: React.NamedExoticComponent<ScreenshotsMagnifierProps>;
|
|
8
|
-
export default _default;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
export interface ScreenshotsMagnifierProps {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: React.NamedExoticComponent<ScreenshotsMagnifierProps>;
|
|
8
|
+
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Bounds } from '../types';
|
|
3
|
-
import './index.less';
|
|
4
|
-
export declare const ScreenshotsOperationsCtx: React.Context<Bounds | null>;
|
|
5
|
-
declare const _default: React.NamedExoticComponent<object>;
|
|
6
|
-
export default _default;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Bounds } from '../types';
|
|
3
|
+
import './index.less';
|
|
4
|
+
export declare const ScreenshotsOperationsCtx: React.Context<Bounds | null>;
|
|
5
|
+
declare const _default: React.NamedExoticComponent<object>;
|
|
6
|
+
export default _default;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import React, { ReactElement, ReactNode } from 'react';
|
|
2
|
-
import { Point } from '../types';
|
|
3
|
-
import './index.less';
|
|
4
|
-
export interface ScreenshotsOptionProps {
|
|
5
|
-
open?: boolean;
|
|
6
|
-
content?: ReactNode;
|
|
7
|
-
children: ReactElement;
|
|
8
|
-
}
|
|
9
|
-
export declare type Position = Point;
|
|
10
|
-
export declare enum Placement {
|
|
11
|
-
Bottom = "bottom",
|
|
12
|
-
Top = "top"
|
|
13
|
-
}
|
|
14
|
-
declare const _default: React.NamedExoticComponent<ScreenshotsOptionProps>;
|
|
15
|
-
export default _default;
|
|
1
|
+
import React, { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import { Point } from '../types';
|
|
3
|
+
import './index.less';
|
|
4
|
+
export interface ScreenshotsOptionProps {
|
|
5
|
+
open?: boolean;
|
|
6
|
+
content?: ReactNode;
|
|
7
|
+
children: ReactElement;
|
|
8
|
+
}
|
|
9
|
+
export declare type Position = Point;
|
|
10
|
+
export declare enum Placement {
|
|
11
|
+
Bottom = "bottom",
|
|
12
|
+
Top = "top"
|
|
13
|
+
}
|
|
14
|
+
declare const _default: React.NamedExoticComponent<ScreenshotsOptionProps>;
|
|
15
|
+
export default _default;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import './index.less';
|
|
3
|
-
export interface SizeProps {
|
|
4
|
-
value: number;
|
|
5
|
-
onChange: (value: number) => void;
|
|
6
|
-
}
|
|
7
|
-
declare const _default: React.NamedExoticComponent<SizeProps>;
|
|
8
|
-
export default _default;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
export interface SizeProps {
|
|
4
|
+
value: number;
|
|
5
|
+
onChange: (value: number) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: React.NamedExoticComponent<SizeProps>;
|
|
8
|
+
export default _default;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import './index.less';
|
|
3
|
-
export interface SizeColorProps {
|
|
4
|
-
size: number;
|
|
5
|
-
color: string;
|
|
6
|
-
onSizeChange: (value: number) => void;
|
|
7
|
-
onColorChange: (value: string) => void;
|
|
8
|
-
}
|
|
9
|
-
declare const _default: React.NamedExoticComponent<SizeColorProps>;
|
|
10
|
-
export default _default;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
export interface SizeColorProps {
|
|
4
|
+
size: number;
|
|
5
|
+
color: string;
|
|
6
|
+
onSizeChange: (value: number) => void;
|
|
7
|
+
onColorChange: (value: string) => void;
|
|
8
|
+
}
|
|
9
|
+
declare const _default: React.NamedExoticComponent<SizeColorProps>;
|
|
10
|
+
export default _default;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export interface SizeInfo {
|
|
2
|
-
sizingStyle: string;
|
|
3
|
-
paddingSize: number;
|
|
4
|
-
borderSize: number;
|
|
5
|
-
boxSizing: string;
|
|
6
|
-
}
|
|
7
|
-
export interface Size {
|
|
8
|
-
width: number;
|
|
9
|
-
height: number;
|
|
10
|
-
}
|
|
11
|
-
export declare function getComputedSizeInfo(node: HTMLElement): {
|
|
12
|
-
sizingStyle: string;
|
|
13
|
-
paddingSize: number;
|
|
14
|
-
borderSize: number;
|
|
15
|
-
boxSizing: string;
|
|
16
|
-
};
|
|
17
|
-
export default function calculateNodeSize(textarea: HTMLTextAreaElement, value: string, maxWidth: number, maxHeight: number): Size;
|
|
1
|
+
export interface SizeInfo {
|
|
2
|
+
sizingStyle: string;
|
|
3
|
+
paddingSize: number;
|
|
4
|
+
borderSize: number;
|
|
5
|
+
boxSizing: string;
|
|
6
|
+
}
|
|
7
|
+
export interface Size {
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function getComputedSizeInfo(node: HTMLElement): {
|
|
12
|
+
sizingStyle: string;
|
|
13
|
+
paddingSize: number;
|
|
14
|
+
borderSize: number;
|
|
15
|
+
boxSizing: string;
|
|
16
|
+
};
|
|
17
|
+
export default function calculateNodeSize(textarea: HTMLTextAreaElement, value: string, maxWidth: number, maxHeight: number): Size;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import React, { FocusEvent } from 'react';
|
|
2
|
-
import './index.less';
|
|
3
|
-
export interface TextInputProps {
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
maxWidth: number;
|
|
7
|
-
maxHeight: number;
|
|
8
|
-
size: number;
|
|
9
|
-
color: string;
|
|
10
|
-
value: string;
|
|
11
|
-
onChange: (value: string) => unknown;
|
|
12
|
-
onBlur: (e: FocusEvent<HTMLTextAreaElement>) => unknown;
|
|
13
|
-
}
|
|
14
|
-
declare const _default: React.NamedExoticComponent<TextInputProps>;
|
|
15
|
-
export default _default;
|
|
1
|
+
import React, { FocusEvent } from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
export interface TextInputProps {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
maxWidth: number;
|
|
7
|
+
maxHeight: number;
|
|
8
|
+
size: number;
|
|
9
|
+
color: string;
|
|
10
|
+
value: string;
|
|
11
|
+
onChange: (value: string) => unknown;
|
|
12
|
+
onBlur: (e: FocusEvent<HTMLTextAreaElement>) => unknown;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: React.NamedExoticComponent<TextInputProps>;
|
|
15
|
+
export default _default;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Bounds, History } from './types';
|
|
2
|
-
interface ComposeImageOpts {
|
|
3
|
-
image: HTMLImageElement;
|
|
4
|
-
width: number;
|
|
5
|
-
height: number;
|
|
6
|
-
history: History;
|
|
7
|
-
bounds: Bounds;
|
|
8
|
-
}
|
|
9
|
-
export default function composeImage({ image, width, height, history, bounds }: ComposeImageOpts): Promise<Blob>;
|
|
10
|
-
export {};
|
|
1
|
+
import { Bounds, History } from './types';
|
|
2
|
+
interface ComposeImageOpts {
|
|
3
|
+
image: HTMLImageElement;
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
history: History;
|
|
7
|
+
bounds: Bounds;
|
|
8
|
+
}
|
|
9
|
+
export default function composeImage({ image, width, height, history, bounds }: ComposeImageOpts): Promise<Blob>;
|
|
10
|
+
export {};
|
package/lib/types/exports.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Bounds } from './types';
|
|
2
|
-
export { Lang } from './zh_CN';
|
|
3
|
-
export { default, ScreenshotsProps } from './';
|
|
1
|
+
export { Bounds } from './types';
|
|
2
|
+
export { Lang } from './zh_CN';
|
|
3
|
+
export { default, ScreenshotsProps } from './';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Bounds } from '../types';
|
|
2
|
-
export interface BoundsDispatcher {
|
|
3
|
-
set: (bounds: Bounds) => void;
|
|
4
|
-
reset: () => void;
|
|
5
|
-
}
|
|
6
|
-
export declare type BoundsValueDispatcher = [Bounds | null, BoundsDispatcher];
|
|
7
|
-
export default function useBounds(): BoundsValueDispatcher;
|
|
1
|
+
import { Bounds } from '../types';
|
|
2
|
+
export interface BoundsDispatcher {
|
|
3
|
+
set: (bounds: Bounds) => void;
|
|
4
|
+
reset: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare type BoundsValueDispatcher = [Bounds | null, BoundsDispatcher];
|
|
7
|
+
export default function useBounds(): BoundsValueDispatcher;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare type CallDispatcher = <T extends unknown[]>(funcName: string, ...args: T) => void;
|
|
2
|
-
export default function useCall(): CallDispatcher;
|
|
1
|
+
export declare type CallDispatcher = <T extends unknown[]>(funcName: string, ...args: T) => void;
|
|
2
|
+
export default function useCall(): CallDispatcher;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { CanvasContextRef } from '../types';
|
|
2
|
-
export default function useCanvasContextRef(): CanvasContextRef;
|
|
1
|
+
import { CanvasContextRef } from '../types';
|
|
2
|
+
export default function useCanvasContextRef(): CanvasContextRef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function useCanvasMousedown(onMousedown: (e: MouseEvent) => unknown): void;
|
|
1
|
+
export default function useCanvasMousedown(onMousedown: (e: MouseEvent) => unknown): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function useCanvasMousemove(onMousemove: (e: MouseEvent) => unknown): void;
|
|
1
|
+
export default function useCanvasMousemove(onMousemove: (e: MouseEvent) => unknown): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function useCanvasMouseup(onMouseup: (e: MouseEvent) => unknown): void;
|
|
1
|
+
export default function useCanvasMouseup(onMouseup: (e: MouseEvent) => unknown): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export interface CursorDispatcher {
|
|
2
|
-
set: (cursor: string) => void;
|
|
3
|
-
reset: () => void;
|
|
4
|
-
}
|
|
5
|
-
export declare type CursorValueDispatcher = [string | undefined, CursorDispatcher];
|
|
6
|
-
export default function useCursor(): CursorValueDispatcher;
|
|
1
|
+
export interface CursorDispatcher {
|
|
2
|
+
set: (cursor: string) => void;
|
|
3
|
+
reset: () => void;
|
|
4
|
+
}
|
|
5
|
+
export declare type CursorValueDispatcher = [string | undefined, CursorDispatcher];
|
|
6
|
+
export default function useCursor(): CursorValueDispatcher;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ScreenshotsContextDispatcher } from '../ScreenshotsContext';
|
|
2
|
-
export default function useDispatcher(): ScreenshotsContextDispatcher;
|
|
1
|
+
import { ScreenshotsContextDispatcher } from '../ScreenshotsContext';
|
|
2
|
+
export default function useDispatcher(): ScreenshotsContextDispatcher;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { HistoryItemSource } from '../types';
|
|
2
|
-
export default function useDrawSelect(onDrawSelect: (action: HistoryItemSource<unknown, unknown>, e: MouseEvent) => unknown): void;
|
|
1
|
+
import { HistoryItemSource } from '../types';
|
|
2
|
+
export default function useDrawSelect(onDrawSelect: (action: HistoryItemSource<unknown, unknown>, e: MouseEvent) => unknown): void;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { EmiterListener } from '../types';
|
|
2
|
-
export interface EmiterDispatcher {
|
|
3
|
-
on: (event: string, listener: EmiterListener) => void;
|
|
4
|
-
off: (event: string, listener: EmiterListener) => void;
|
|
5
|
-
emit: (event: string, ...args: unknown[]) => void;
|
|
6
|
-
reset: () => void;
|
|
7
|
-
}
|
|
8
|
-
export default function useEmiter(): EmiterDispatcher;
|
|
1
|
+
import { EmiterListener } from '../types';
|
|
2
|
+
export interface EmiterDispatcher {
|
|
3
|
+
on: (event: string, listener: EmiterListener) => void;
|
|
4
|
+
off: (event: string, listener: EmiterListener) => void;
|
|
5
|
+
emit: (event: string, ...args: unknown[]) => void;
|
|
6
|
+
reset: () => void;
|
|
7
|
+
}
|
|
8
|
+
export default function useEmiter(): EmiterDispatcher;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { History, HistoryItem } from '../types';
|
|
2
|
-
export interface HistoryValue extends History {
|
|
3
|
-
top?: HistoryItem<unknown, unknown>;
|
|
4
|
-
}
|
|
5
|
-
export interface HistoryDispatcher {
|
|
6
|
-
push: <S, E>(action: HistoryItem<S, E>) => void;
|
|
7
|
-
pop: () => void;
|
|
8
|
-
undo: () => void;
|
|
9
|
-
redo: () => void;
|
|
10
|
-
set: (history: History) => void;
|
|
11
|
-
select: <S, E>(action: HistoryItem<S, E>) => void;
|
|
12
|
-
clearSelect: () => void;
|
|
13
|
-
reset: () => void;
|
|
14
|
-
}
|
|
15
|
-
export declare type HistoryValueDispatcher = [HistoryValue, HistoryDispatcher];
|
|
16
|
-
export default function useHistory(): HistoryValueDispatcher;
|
|
1
|
+
import { History, HistoryItem } from '../types';
|
|
2
|
+
export interface HistoryValue extends History {
|
|
3
|
+
top?: HistoryItem<unknown, unknown>;
|
|
4
|
+
}
|
|
5
|
+
export interface HistoryDispatcher {
|
|
6
|
+
push: <S, E>(action: HistoryItem<S, E>) => void;
|
|
7
|
+
pop: () => void;
|
|
8
|
+
undo: () => void;
|
|
9
|
+
redo: () => void;
|
|
10
|
+
set: (history: History) => void;
|
|
11
|
+
select: <S, E>(action: HistoryItem<S, E>) => void;
|
|
12
|
+
clearSelect: () => void;
|
|
13
|
+
reset: () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare type HistoryValueDispatcher = [HistoryValue, HistoryDispatcher];
|
|
16
|
+
export default function useHistory(): HistoryValueDispatcher;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Lang } from '../zh_CN';
|
|
2
|
-
export default function useLang(): Lang;
|
|
1
|
+
import { Lang } from '../zh_CN';
|
|
2
|
+
export default function useLang(): Lang;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export interface OperationDispatcher {
|
|
2
|
-
set: (operation: string) => void;
|
|
3
|
-
reset: () => void;
|
|
4
|
-
}
|
|
5
|
-
export declare type OperationValueDispatcher = [string | undefined, OperationDispatcher];
|
|
6
|
-
export default function useOperation(): OperationValueDispatcher;
|
|
1
|
+
export interface OperationDispatcher {
|
|
2
|
+
set: (operation: string) => void;
|
|
3
|
+
reset: () => void;
|
|
4
|
+
}
|
|
5
|
+
export declare type OperationValueDispatcher = [string | undefined, OperationDispatcher];
|
|
6
|
+
export default function useOperation(): OperationValueDispatcher;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare type ResetDispatcher = () => void;
|
|
2
|
-
export default function useReset(): ResetDispatcher;
|
|
1
|
+
export declare type ResetDispatcher = () => void;
|
|
2
|
+
export default function useReset(): ResetDispatcher;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ScreenshotsContextStore } from '../ScreenshotsContext';
|
|
2
|
-
export default function useStore(): ScreenshotsContextStore;
|
|
1
|
+
import { ScreenshotsContextStore } from '../ScreenshotsContext';
|
|
2
|
+
export default function useStore(): ScreenshotsContextStore;
|