@pie-element/hotspot 11.1.1 → 11.1.2-next.0
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/configure.js +2 -0
- package/controller.js +1 -0
- package/dist/author/DeleteWidget.d.ts +38 -0
- package/dist/author/DeleteWidget.js +46 -0
- package/dist/author/button.d.ts +31 -0
- package/dist/author/button.js +27 -0
- package/dist/author/buttons/circle.d.ts +18 -0
- package/dist/author/buttons/circle.js +25 -0
- package/dist/author/buttons/polygon.d.ts +18 -0
- package/dist/author/buttons/polygon.js +36 -0
- package/dist/author/buttons/rectangle.d.ts +18 -0
- package/dist/author/buttons/rectangle.js +36 -0
- package/dist/author/defaults.d.ts +157 -0
- package/dist/author/defaults.js +119 -0
- package/dist/author/hotspot-circle.d.ts +21 -0
- package/dist/author/hotspot-circle.js +124 -0
- package/dist/author/hotspot-container.d.ts +29 -0
- package/dist/author/hotspot-container.js +210 -0
- package/dist/author/hotspot-drawable.d.ts +31 -0
- package/dist/author/hotspot-drawable.js +312 -0
- package/dist/author/hotspot-palette.d.ts +14 -0
- package/dist/author/hotspot-palette.js +72 -0
- package/dist/author/hotspot-polygon.d.ts +38 -0
- package/dist/author/hotspot-polygon.js +200 -0
- package/dist/author/hotspot-rectangle.d.ts +20 -0
- package/dist/author/hotspot-rectangle.js +119 -0
- package/dist/author/icons.d.ts +9 -0
- package/dist/author/icons.js +4 -0
- package/dist/author/image-konva.d.ts +19 -0
- package/dist/author/image-konva.js +49 -0
- package/dist/author/index.d.ts +52 -0
- package/dist/author/index.js +143 -0
- package/dist/author/root.d.ts +15 -0
- package/dist/author/root.js +215 -0
- package/dist/author/shapes/circle.d.ts +18 -0
- package/dist/author/shapes/circle.js +47 -0
- package/dist/author/shapes/index.d.ts +12 -0
- package/dist/author/shapes/polygon.d.ts +19 -0
- package/dist/author/shapes/polygon.js +51 -0
- package/dist/author/shapes/rectagle.d.ts +18 -0
- package/dist/author/shapes/rectagle.js +57 -0
- package/dist/author/shapes/utils.d.ts +19 -0
- package/dist/author/shapes/utils.js +16 -0
- package/dist/author/upload-control.d.ts +29 -0
- package/dist/author/upload-control.js +28 -0
- package/dist/author/utils.d.ts +24 -0
- package/dist/author/utils.js +83 -0
- package/dist/browser/ReactKonva-Z9-1H-UZ.js +19329 -0
- package/dist/browser/ReactKonva-Z9-1H-UZ.js.map +1 -0
- package/dist/browser/author/index.js +42297 -0
- package/dist/browser/author/index.js.map +1 -0
- package/dist/browser/browser-CfnAFove.js +210 -0
- package/dist/browser/browser-CfnAFove.js.map +1 -0
- package/dist/browser/controller/index.js +198 -0
- package/dist/browser/controller/index.js.map +1 -0
- package/dist/browser/delivery/index.js +2460 -0
- package/dist/browser/delivery/index.js.map +1 -0
- package/dist/browser/hotspot.css +2 -0
- package/dist/browser/isEqual-D3CTSc6W.js +601 -0
- package/dist/browser/isEqual-D3CTSc6W.js.map +1 -0
- package/dist/controller/defaults.d.ts +35 -0
- package/dist/controller/defaults.js +29 -0
- package/dist/controller/index.d.ts +22 -0
- package/dist/controller/index.js +154 -0
- package/dist/controller/utils.d.ts +10 -0
- package/dist/controller/utils.js +13 -0
- package/dist/delivery/hotspot/circle.d.ts +19 -0
- package/dist/delivery/hotspot/circle.js +100 -0
- package/dist/delivery/hotspot/container.d.ts +16 -0
- package/dist/delivery/hotspot/container.js +150 -0
- package/dist/delivery/hotspot/icons.d.ts +10 -0
- package/dist/delivery/hotspot/icons.js +4 -0
- package/dist/delivery/hotspot/image-konva-tooltip.d.ts +19 -0
- package/dist/delivery/hotspot/image-konva-tooltip.js +66 -0
- package/dist/delivery/hotspot/index.d.ts +17 -0
- package/dist/delivery/hotspot/index.js +114 -0
- package/dist/delivery/hotspot/polygon.d.ts +21 -0
- package/dist/delivery/hotspot/polygon.js +108 -0
- package/dist/delivery/hotspot/rectangle.d.ts +19 -0
- package/dist/delivery/hotspot/rectangle.js +104 -0
- package/dist/delivery/index.d.ts +20 -0
- package/dist/delivery/index.js +107 -0
- package/dist/delivery/session-updater.d.ts +10 -0
- package/dist/delivery/session-updater.js +14 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.iife.d.ts +8 -0
- package/dist/index.iife.js +169 -0
- package/dist/index.js +2 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +16 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +16 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +16 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +12 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +57 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.js +30 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +12 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +13 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.js +35 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.js +35 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.js +32 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +4 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +23 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +13 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +33 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +13 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +16 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +15 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +4 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +21 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqual.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +6 -0
- package/package.json +78 -16
- package/CHANGELOG.json +0 -997
- package/CHANGELOG.md +0 -2214
- package/LICENSE.md +0 -5
- package/README.md +0 -1
- package/configure/CHANGELOG.json +0 -682
- package/configure/CHANGELOG.md +0 -1951
- package/configure/lib/DeleteWidget.js +0 -64
- package/configure/lib/DeleteWidget.js.map +0 -1
- package/configure/lib/button.js +0 -42
- package/configure/lib/button.js.map +0 -1
- package/configure/lib/buttons/circle.js +0 -33
- package/configure/lib/buttons/circle.js.map +0 -1
- package/configure/lib/buttons/polygon.js +0 -39
- package/configure/lib/buttons/polygon.js.map +0 -1
- package/configure/lib/buttons/rectangle.js +0 -39
- package/configure/lib/buttons/rectangle.js.map +0 -1
- package/configure/lib/defaults.js +0 -155
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/hotspot-circle.js +0 -192
- package/configure/lib/hotspot-circle.js.map +0 -1
- package/configure/lib/hotspot-container.js +0 -320
- package/configure/lib/hotspot-container.js.map +0 -1
- package/configure/lib/hotspot-drawable.js +0 -519
- package/configure/lib/hotspot-drawable.js.map +0 -1
- package/configure/lib/hotspot-palette.js +0 -107
- package/configure/lib/hotspot-palette.js.map +0 -1
- package/configure/lib/hotspot-polygon.js +0 -293
- package/configure/lib/hotspot-polygon.js.map +0 -1
- package/configure/lib/hotspot-rectangle.js +0 -190
- package/configure/lib/hotspot-rectangle.js.map +0 -1
- package/configure/lib/icons.js +0 -7
- package/configure/lib/icons.js.map +0 -1
- package/configure/lib/image-konva.js +0 -66
- package/configure/lib/image-konva.js.map +0 -1
- package/configure/lib/index.js +0 -194
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/root.js +0 -330
- package/configure/lib/root.js.map +0 -1
- package/configure/lib/shapes/circle.js +0 -84
- package/configure/lib/shapes/circle.js.map +0 -1
- package/configure/lib/shapes/index.js +0 -50
- package/configure/lib/shapes/index.js.map +0 -1
- package/configure/lib/shapes/polygon.js +0 -82
- package/configure/lib/shapes/polygon.js.map +0 -1
- package/configure/lib/shapes/rectagle.js +0 -84
- package/configure/lib/shapes/rectagle.js.map +0 -1
- package/configure/lib/shapes/utils.js +0 -21
- package/configure/lib/shapes/utils.js.map +0 -1
- package/configure/lib/upload-control.js +0 -41
- package/configure/lib/upload-control.js.map +0 -1
- package/configure/lib/utils.js +0 -185
- package/configure/lib/utils.js.map +0 -1
- package/configure/package.json +0 -26
- package/configure/src/DeleteWidget.jsx +0 -51
- package/configure/src/__tests__/DeleteWidget.test.jsx +0 -366
- package/configure/src/__tests__/button.test.jsx +0 -198
- package/configure/src/__tests__/hotspot-circle.test.jsx +0 -259
- package/configure/src/__tests__/hotspot-container.test.js +0 -366
- package/configure/src/__tests__/hotspot-drawable.test.js +0 -271
- package/configure/src/__tests__/hotspot-palette.test.jsx +0 -71
- package/configure/src/__tests__/image-konva.test.jsx +0 -226
- package/configure/src/__tests__/index.test.js +0 -329
- package/configure/src/__tests__/root.test.js +0 -400
- package/configure/src/__tests__/utils.test.js +0 -241
- package/configure/src/button.jsx +0 -35
- package/configure/src/buttons/circle.jsx +0 -18
- package/configure/src/buttons/polygon.jsx +0 -29
- package/configure/src/buttons/rectangle.jsx +0 -29
- package/configure/src/defaults.js +0 -109
- package/configure/src/hotspot-circle.jsx +0 -183
- package/configure/src/hotspot-container.jsx +0 -330
- package/configure/src/hotspot-drawable.jsx +0 -527
- package/configure/src/hotspot-palette.jsx +0 -90
- package/configure/src/hotspot-polygon.jsx +0 -294
- package/configure/src/hotspot-rectangle.jsx +0 -169
- package/configure/src/icons.js +0 -5
- package/configure/src/image-konva.jsx +0 -63
- package/configure/src/index.js +0 -208
- package/configure/src/root.jsx +0 -346
- package/configure/src/shapes/circle.js +0 -81
- package/configure/src/shapes/index.js +0 -4
- package/configure/src/shapes/polygon.js +0 -81
- package/configure/src/shapes/rectagle.js +0 -82
- package/configure/src/shapes/utils.js +0 -16
- package/configure/src/upload-control.jsx +0 -33
- package/configure/src/utils.js +0 -210
- package/controller/CHANGELOG.json +0 -362
- package/controller/CHANGELOG.md +0 -1304
- package/controller/lib/defaults.js +0 -33
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -341
- package/controller/lib/index.js.map +0 -1
- package/controller/lib/utils.js +0 -32
- package/controller/lib/utils.js.map +0 -1
- package/controller/package.json +0 -18
- package/controller/src/__tests__/index.test.js +0 -419
- package/controller/src/__tests__/utils.test.js +0 -5
- package/controller/src/defaults.js +0 -19
- package/controller/src/index.js +0 -328
- package/controller/src/utils.js +0 -29
- package/docs/config-schema.json +0 -2023
- package/docs/config-schema.json.md +0 -1495
- package/docs/demo/config.js +0 -8
- package/docs/demo/generate.js +0 -118
- package/docs/demo/index.html +0 -1
- package/docs/demo/session.js +0 -11
- package/docs/pie-schema.json +0 -1204
- package/docs/pie-schema.json.md +0 -851
- package/lib/hotspot/circle.js +0 -156
- package/lib/hotspot/circle.js.map +0 -1
- package/lib/hotspot/container.js +0 -206
- package/lib/hotspot/container.js.map +0 -1
- package/lib/hotspot/icons.js +0 -8
- package/lib/hotspot/icons.js.map +0 -1
- package/lib/hotspot/image-konva-tooltip.js +0 -86
- package/lib/hotspot/image-konva-tooltip.js.map +0 -1
- package/lib/hotspot/index.js +0 -163
- package/lib/hotspot/index.js.map +0 -1
- package/lib/hotspot/polygon.js +0 -203
- package/lib/hotspot/polygon.js.map +0 -1
- package/lib/hotspot/rectangle.js +0 -175
- package/lib/hotspot/rectangle.js.map +0 -1
- package/lib/index.js +0 -213
- package/lib/index.js.map +0 -1
- package/lib/session-updater.js +0 -42
- package/lib/session-updater.js.map +0 -1
- package/src/__tests__/container.test.jsx +0 -58
- package/src/__tests__/index.test.js +0 -123
- package/src/__tests__/session-updater.test.jsx +0 -69
- package/src/hotspot/__tests__/circle.test.jsx +0 -464
- package/src/hotspot/__tests__/container.test.jsx +0 -546
- package/src/hotspot/__tests__/image-konva-tooltip.test.jsx +0 -510
- package/src/hotspot/__tests__/polygon.test.jsx +0 -502
- package/src/hotspot/__tests__/rectangle.test.jsx +0 -418
- package/src/hotspot/circle.jsx +0 -152
- package/src/hotspot/container.jsx +0 -217
- package/src/hotspot/icons.js +0 -7
- package/src/hotspot/image-konva-tooltip.jsx +0 -76
- package/src/hotspot/index.jsx +0 -165
- package/src/hotspot/polygon.jsx +0 -195
- package/src/hotspot/rectangle.jsx +0 -171
- package/src/index.js +0 -226
- package/src/session-updater.js +0 -29
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _configUi = require("@pie-lib/config-ui");
|
|
12
|
-
var _Select = _interopRequireDefault(require("@mui/material/Select"));
|
|
13
|
-
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
14
|
-
var _styles = require("@mui/material/styles");
|
|
15
|
-
const BaseContainer = (0, _styles.styled)('div')(({
|
|
16
|
-
theme
|
|
17
|
-
}) => ({
|
|
18
|
-
marginTop: theme.spacing(2),
|
|
19
|
-
display: 'flex'
|
|
20
|
-
}));
|
|
21
|
-
const StyledInputContainer = (0, _styles.styled)(_configUi.InputContainer)({
|
|
22
|
-
flex: 1,
|
|
23
|
-
width: '90%'
|
|
24
|
-
});
|
|
25
|
-
const StyledMenuItem = (0, _styles.styled)(_MenuItem.default)(({
|
|
26
|
-
theme
|
|
27
|
-
}) => ({
|
|
28
|
-
borderRadius: '2px',
|
|
29
|
-
height: '22px',
|
|
30
|
-
marginLeft: theme.spacing(2),
|
|
31
|
-
marginRight: theme.spacing(2),
|
|
32
|
-
marginTop: theme.spacing(2)
|
|
33
|
-
}));
|
|
34
|
-
class Palette extends _react.default.Component {
|
|
35
|
-
constructor(...args) {
|
|
36
|
-
super(...args);
|
|
37
|
-
(0, _defineProperty2.default)(this, "onChange", name => event => {
|
|
38
|
-
const {
|
|
39
|
-
value
|
|
40
|
-
} = event.target;
|
|
41
|
-
const {
|
|
42
|
-
onHotspotColorChange,
|
|
43
|
-
onOutlineColorChange
|
|
44
|
-
} = this.props;
|
|
45
|
-
if (name === 'hotspot') {
|
|
46
|
-
onHotspotColorChange(value);
|
|
47
|
-
} else {
|
|
48
|
-
onOutlineColorChange(value);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
render() {
|
|
53
|
-
const {
|
|
54
|
-
hotspotColor,
|
|
55
|
-
outlineColor,
|
|
56
|
-
hotspotList,
|
|
57
|
-
outlineList
|
|
58
|
-
} = this.props;
|
|
59
|
-
return /*#__PURE__*/_react.default.createElement(BaseContainer, null, /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
|
|
60
|
-
label: "Hot Spot"
|
|
61
|
-
}, /*#__PURE__*/_react.default.createElement(_Select.default, {
|
|
62
|
-
onChange: this.onChange('hotspot'),
|
|
63
|
-
value: hotspotColor,
|
|
64
|
-
variant: "standard",
|
|
65
|
-
MenuProps: {
|
|
66
|
-
transitionDuration: {
|
|
67
|
-
enter: 225,
|
|
68
|
-
exit: 195
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}, hotspotList.map(hotspot => /*#__PURE__*/_react.default.createElement(StyledMenuItem, {
|
|
72
|
-
key: hotspot,
|
|
73
|
-
value: hotspot,
|
|
74
|
-
style: {
|
|
75
|
-
backgroundColor: hotspot
|
|
76
|
-
}
|
|
77
|
-
}, hotspot)))), /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
|
|
78
|
-
label: "Response Outline"
|
|
79
|
-
}, /*#__PURE__*/_react.default.createElement(_Select.default, {
|
|
80
|
-
onChange: this.onChange('outline'),
|
|
81
|
-
value: outlineColor,
|
|
82
|
-
variant: "standard",
|
|
83
|
-
MenuProps: {
|
|
84
|
-
transitionDuration: {
|
|
85
|
-
enter: 225,
|
|
86
|
-
exit: 195
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}, outlineList.map(outline => /*#__PURE__*/_react.default.createElement(StyledMenuItem, {
|
|
90
|
-
key: outline,
|
|
91
|
-
value: outline,
|
|
92
|
-
style: {
|
|
93
|
-
border: `2px solid ${outline}`
|
|
94
|
-
}
|
|
95
|
-
}, outline)))));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
Palette.propTypes = {
|
|
99
|
-
hotspotColor: _propTypes.default.string.isRequired,
|
|
100
|
-
hotspotList: _propTypes.default.array.isRequired,
|
|
101
|
-
onHotspotColorChange: _propTypes.default.func.isRequired,
|
|
102
|
-
onOutlineColorChange: _propTypes.default.func.isRequired,
|
|
103
|
-
outlineColor: _propTypes.default.string.isRequired,
|
|
104
|
-
outlineList: _propTypes.default.array.isRequired
|
|
105
|
-
};
|
|
106
|
-
var _default = exports.default = Palette;
|
|
107
|
-
//# sourceMappingURL=hotspot-palette.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hotspot-palette.js","names":["_react","_interopRequireDefault","require","_propTypes","_configUi","_Select","_MenuItem","_styles","BaseContainer","styled","theme","marginTop","spacing","display","StyledInputContainer","InputContainer","flex","width","StyledMenuItem","MenuItem","borderRadius","height","marginLeft","marginRight","Palette","React","Component","constructor","args","_defineProperty2","default","name","event","value","target","onHotspotColorChange","onOutlineColorChange","props","render","hotspotColor","outlineColor","hotspotList","outlineList","createElement","label","onChange","variant","MenuProps","transitionDuration","enter","exit","map","hotspot","key","style","backgroundColor","outline","border","propTypes","PropTypes","string","isRequired","array","func","_default","exports"],"sources":["../src/hotspot-palette.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport { styled } from '@mui/material/styles';\n\nconst BaseContainer = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n display: 'flex',\n}));\n\nconst StyledInputContainer = styled(InputContainer)({\n flex: 1,\n width: '90%',\n});\n\nconst StyledMenuItem = styled(MenuItem)(({ theme }) => ({\n borderRadius: '2px',\n height: '22px',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(2),\n}));\n\nclass Palette extends React.Component {\n onChange = (name) => (event) => {\n const { value } = event.target;\n const { onHotspotColorChange, onOutlineColorChange } = this.props;\n\n if (name === 'hotspot') {\n onHotspotColorChange(value);\n } else {\n onOutlineColorChange(value);\n }\n };\n\n render() {\n const { hotspotColor, outlineColor, hotspotList, outlineList } = this.props;\n\n return (\n <BaseContainer>\n <StyledInputContainer label=\"Hot Spot\">\n <Select \n onChange={this.onChange('hotspot')} \n value={hotspotColor}\n variant='standard'\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n {hotspotList.map((hotspot) => (\n <StyledMenuItem key={hotspot} value={hotspot} style={{ backgroundColor: hotspot }}>\n {hotspot}\n </StyledMenuItem>\n ))}\n </Select>\n </StyledInputContainer>\n\n <StyledInputContainer label=\"Response Outline\">\n <Select \n onChange={this.onChange('outline')} \n value={outlineColor} \n variant='standard'\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n {outlineList.map((outline) => (\n <StyledMenuItem\n key={outline}\n value={outline}\n style={{ border: `2px solid ${outline}` }}\n >\n {outline}\n </StyledMenuItem>\n ))}\n </Select>\n </StyledInputContainer>\n </BaseContainer>\n );\n }\n}\n\nPalette.propTypes = {\n hotspotColor: PropTypes.string.isRequired,\n hotspotList: PropTypes.array.isRequired,\n onHotspotColorChange: PropTypes.func.isRequired,\n onOutlineColorChange: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n outlineList: PropTypes.array.isRequired,\n};\n\nexport default Palette;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,293 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _reactKonva = require("react-konva");
|
|
12
|
-
var _ReactKonvaCore = require("react-konva/lib/ReactKonvaCore");
|
|
13
|
-
var _DeleteWidget = _interopRequireDefault(require("./DeleteWidget"));
|
|
14
|
-
const HOVERED_COLOR = '#00BFFF';
|
|
15
|
-
class PolComponent extends _react.default.Component {
|
|
16
|
-
constructor(...args) {
|
|
17
|
-
super(...args);
|
|
18
|
-
(0, _defineProperty2.default)(this, "getOffset", points => {
|
|
19
|
-
const xList = points.map(p => p.x);
|
|
20
|
-
const yList = points.map(p => p.y);
|
|
21
|
-
return {
|
|
22
|
-
x: Math.min(...xList),
|
|
23
|
-
y: Math.max(...yList)
|
|
24
|
-
};
|
|
25
|
-
});
|
|
26
|
-
(0, _defineProperty2.default)(this, "serialize", points => {
|
|
27
|
-
const {
|
|
28
|
-
x: xOffset,
|
|
29
|
-
y: yOffset
|
|
30
|
-
} = this.getOffset(points);
|
|
31
|
-
return points.reduce((acc, point) => [...acc, point.x - xOffset, point.y - yOffset], []);
|
|
32
|
-
});
|
|
33
|
-
(0, _defineProperty2.default)(this, "getInitialState", points => {
|
|
34
|
-
if (points.length) {
|
|
35
|
-
const {
|
|
36
|
-
x,
|
|
37
|
-
y
|
|
38
|
-
} = this.getOffset(points);
|
|
39
|
-
return {
|
|
40
|
-
x,
|
|
41
|
-
y,
|
|
42
|
-
points
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
id: '',
|
|
47
|
-
x: 0,
|
|
48
|
-
y: 0,
|
|
49
|
-
points: []
|
|
50
|
-
};
|
|
51
|
-
});
|
|
52
|
-
(0, _defineProperty2.default)(this, "state", {
|
|
53
|
-
hovered: false,
|
|
54
|
-
isDragging: false,
|
|
55
|
-
...this.getInitialState(this.props.points)
|
|
56
|
-
});
|
|
57
|
-
(0, _defineProperty2.default)(this, "handleClick", e => {
|
|
58
|
-
const {
|
|
59
|
-
points
|
|
60
|
-
} = this.props;
|
|
61
|
-
const xList = points.map(p => p.x);
|
|
62
|
-
const yList = points.map(p => p.y);
|
|
63
|
-
const width = Math.max(...xList) - Math.min(...xList);
|
|
64
|
-
const height = Math.max(...yList) - Math.min(...yList);
|
|
65
|
-
const {
|
|
66
|
-
isDrawing,
|
|
67
|
-
onClick,
|
|
68
|
-
id
|
|
69
|
-
} = this.props;
|
|
70
|
-
if (width < 0 && height < 0 && isDrawing) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
if (isDrawing && id === 'newPolygon') {
|
|
74
|
-
this.props.addPolygonPoint(e);
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
e.cancelBubble = true;
|
|
78
|
-
onClick(id);
|
|
79
|
-
});
|
|
80
|
-
(0, _defineProperty2.default)(this, "handleMouseEnter", () => {
|
|
81
|
-
this.setState({
|
|
82
|
-
hovered: true
|
|
83
|
-
});
|
|
84
|
-
document.body.style.cursor = 'pointer';
|
|
85
|
-
});
|
|
86
|
-
(0, _defineProperty2.default)(this, "handleMouseLeave", () => {
|
|
87
|
-
this.setState({
|
|
88
|
-
hovered: false
|
|
89
|
-
});
|
|
90
|
-
document.body.style.cursor = 'default';
|
|
91
|
-
});
|
|
92
|
-
(0, _defineProperty2.default)(this, "handleOnDragEnd", (e, updateModel = false) => {
|
|
93
|
-
const {
|
|
94
|
-
onDragEnd,
|
|
95
|
-
id
|
|
96
|
-
} = this.props;
|
|
97
|
-
const points = e.target.points() || this.serialize(this.state.points);
|
|
98
|
-
const newPoints = points.reduce((acc, currentPointCoordinate, index) => {
|
|
99
|
-
if (index % 2 === 0 && index + 1 < points.length) {
|
|
100
|
-
return [...acc, {
|
|
101
|
-
x: currentPointCoordinate + e.target.x(),
|
|
102
|
-
y: points[index + 1] + e.target.y()
|
|
103
|
-
}];
|
|
104
|
-
}
|
|
105
|
-
return acc;
|
|
106
|
-
}, []);
|
|
107
|
-
this.setState({
|
|
108
|
-
points: newPoints,
|
|
109
|
-
...this.getOffset(newPoints),
|
|
110
|
-
isDragging: updateModel ? false : this.state.isDragging
|
|
111
|
-
});
|
|
112
|
-
if (updateModel) {
|
|
113
|
-
onDragEnd(id, {
|
|
114
|
-
points: newPoints
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
(0, _defineProperty2.default)(this, "handleOnDragVertex", (e, changedIndex, updateModel) => {
|
|
119
|
-
const {
|
|
120
|
-
onDragEnd,
|
|
121
|
-
id
|
|
122
|
-
} = this.props;
|
|
123
|
-
const {
|
|
124
|
-
points
|
|
125
|
-
} = this.state;
|
|
126
|
-
const newPoints = points.map((point, index) => index === changedIndex ? {
|
|
127
|
-
x: e.target.x(),
|
|
128
|
-
y: e.target.y()
|
|
129
|
-
} : point);
|
|
130
|
-
this.setState({
|
|
131
|
-
points: newPoints,
|
|
132
|
-
...this.getOffset(newPoints),
|
|
133
|
-
isDragging: updateModel ? false : this.state.isDragging
|
|
134
|
-
});
|
|
135
|
-
if (updateModel) {
|
|
136
|
-
onDragEnd(id, {
|
|
137
|
-
points: newPoints
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
(0, _defineProperty2.default)(this, "onDragStart", () => {
|
|
142
|
-
this.setState({
|
|
143
|
-
isDragging: true
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
(0, _defineProperty2.default)(this, "handleDelete", id => {
|
|
147
|
-
const {
|
|
148
|
-
onDeleteShape
|
|
149
|
-
} = this.props;
|
|
150
|
-
onDeleteShape(id);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
static getDerivedStateFromProps(nextProps, prevState) {
|
|
154
|
-
const {
|
|
155
|
-
id,
|
|
156
|
-
points,
|
|
157
|
-
imageHeight,
|
|
158
|
-
imageWidth
|
|
159
|
-
} = nextProps;
|
|
160
|
-
// we execute this code only if image dimensions changed or an hotspot was added/deleted
|
|
161
|
-
if (prevState.imageHeight !== imageHeight || prevState.imageWidth !== imageWidth || prevState.id !== nextProps.id || JSON.stringify(prevState.points) !== JSON.stringify(points)) {
|
|
162
|
-
const xList = points.map(p => p.x);
|
|
163
|
-
const yList = points.map(p => p.y);
|
|
164
|
-
const x = Math.min(...xList);
|
|
165
|
-
const y = Math.max(...yList);
|
|
166
|
-
return {
|
|
167
|
-
id,
|
|
168
|
-
x,
|
|
169
|
-
y,
|
|
170
|
-
points,
|
|
171
|
-
imageHeight,
|
|
172
|
-
imageWidth
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
return null;
|
|
176
|
-
}
|
|
177
|
-
// serialize(points) {
|
|
178
|
-
// return points.reduce((acc, point) => [...acc, point.x, point.y], []);
|
|
179
|
-
// }
|
|
180
|
-
|
|
181
|
-
getBoundingBox(points) {
|
|
182
|
-
const xValues = points.map(point => point.x);
|
|
183
|
-
const yValues = points.map(point => point.y);
|
|
184
|
-
const minX = Math.min(...xValues);
|
|
185
|
-
const maxX = Math.max(...xValues);
|
|
186
|
-
const minY = Math.min(...yValues);
|
|
187
|
-
const maxY = Math.max(...yValues);
|
|
188
|
-
return {
|
|
189
|
-
x: minX,
|
|
190
|
-
y: minY,
|
|
191
|
-
width: maxX - minX,
|
|
192
|
-
height: maxY - minY
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
render() {
|
|
196
|
-
const {
|
|
197
|
-
correct,
|
|
198
|
-
id,
|
|
199
|
-
hotspotColor,
|
|
200
|
-
outlineColor,
|
|
201
|
-
selectedHotspotColor,
|
|
202
|
-
hoverOutlineColor,
|
|
203
|
-
strokeWidth = 5
|
|
204
|
-
} = this.props;
|
|
205
|
-
const {
|
|
206
|
-
points,
|
|
207
|
-
x,
|
|
208
|
-
y,
|
|
209
|
-
hovered
|
|
210
|
-
} = this.state;
|
|
211
|
-
const isInProgress = id === 'newPolygon';
|
|
212
|
-
const showPoints = hovered || id === 'newPolygon';
|
|
213
|
-
const calculatedStrokeWidth = correct ? strokeWidth : hovered ? 1 : 0;
|
|
214
|
-
const calculatedStroke = correct ? outlineColor : hovered ? HOVERED_COLOR : '';
|
|
215
|
-
const boundingBox = this.getBoundingBox(points);
|
|
216
|
-
const calculatedFill = correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor;
|
|
217
|
-
return /*#__PURE__*/_react.default.createElement(_reactKonva.Group, {
|
|
218
|
-
onMouseLeave: this.handleMouseLeave,
|
|
219
|
-
onMouseEnter: this.handleMouseEnter
|
|
220
|
-
}, hoverOutlineColor && hovered && /*#__PURE__*/_react.default.createElement(_ReactKonvaCore.Rect, {
|
|
221
|
-
x: boundingBox.x,
|
|
222
|
-
y: boundingBox.y,
|
|
223
|
-
width: boundingBox.width,
|
|
224
|
-
height: boundingBox.height,
|
|
225
|
-
stroke: hoverOutlineColor,
|
|
226
|
-
strokeWidth: 2,
|
|
227
|
-
listening: false
|
|
228
|
-
}), /*#__PURE__*/_react.default.createElement(_reactKonva.Line, {
|
|
229
|
-
points: this.serialize(points),
|
|
230
|
-
closed: !isInProgress,
|
|
231
|
-
fill: isInProgress ? 'transparent' : calculatedFill,
|
|
232
|
-
onClick: this.handleClick,
|
|
233
|
-
onTap: this.handleClick,
|
|
234
|
-
draggable: true,
|
|
235
|
-
stroke: isInProgress ? outlineColor : calculatedStroke,
|
|
236
|
-
strokeWidth: isInProgress ? 1 : calculatedStrokeWidth,
|
|
237
|
-
onDragStart: this.onDragStart,
|
|
238
|
-
onDragMove: this.handleOnDragEnd,
|
|
239
|
-
onDragEnd: e => this.handleOnDragEnd(e, true),
|
|
240
|
-
x: x,
|
|
241
|
-
y: y
|
|
242
|
-
}), showPoints && points.map((point, index) => /*#__PURE__*/_react.default.createElement(_reactKonva.Circle, {
|
|
243
|
-
key: index,
|
|
244
|
-
x: point.x,
|
|
245
|
-
y: point.y,
|
|
246
|
-
radius: 5,
|
|
247
|
-
fill: index === 0 && id === 'newPolygon' ? 'blue' : 'white',
|
|
248
|
-
stroke: HOVERED_COLOR,
|
|
249
|
-
strokeWidth: 1,
|
|
250
|
-
onClick: this.handleClick,
|
|
251
|
-
onDragStart: this.onDragStart,
|
|
252
|
-
onDragMove: e => {
|
|
253
|
-
this.handleOnDragVertex(e, index);
|
|
254
|
-
},
|
|
255
|
-
onDragEnd: e => {
|
|
256
|
-
this.handleOnDragVertex(e, index, true);
|
|
257
|
-
},
|
|
258
|
-
draggable: true,
|
|
259
|
-
opacity: 4
|
|
260
|
-
})), !this.state.isDragging && this.state.hovered && /*#__PURE__*/_react.default.createElement(_DeleteWidget.default, {
|
|
261
|
-
x: x,
|
|
262
|
-
y: y,
|
|
263
|
-
id: id,
|
|
264
|
-
handleWidgetClick: this.handleDelete,
|
|
265
|
-
points: points
|
|
266
|
-
}));
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
PolComponent.propTypes = {
|
|
270
|
-
correct: _propTypes.default.bool,
|
|
271
|
-
isDrawing: _propTypes.default.bool.isRequired,
|
|
272
|
-
id: _propTypes.default.string.isRequired,
|
|
273
|
-
imageHeight: _propTypes.default.number,
|
|
274
|
-
imageWidth: _propTypes.default.number,
|
|
275
|
-
hotspotColor: _propTypes.default.string.isRequired,
|
|
276
|
-
selectedHotspotColor: _propTypes.default.string,
|
|
277
|
-
hoverOutlineColor: _propTypes.default.string,
|
|
278
|
-
onClick: _propTypes.default.func.isRequired,
|
|
279
|
-
addPolygonPoint: _propTypes.default.func.isRequired,
|
|
280
|
-
onDeleteShape: _propTypes.default.func.isRequired,
|
|
281
|
-
onDragEnd: _propTypes.default.func.isRequired,
|
|
282
|
-
outlineColor: _propTypes.default.string.isRequired,
|
|
283
|
-
points: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
284
|
-
x: _propTypes.default.number,
|
|
285
|
-
y: _propTypes.default.number
|
|
286
|
-
})).isRequired,
|
|
287
|
-
strokeWidth: _propTypes.default.number
|
|
288
|
-
};
|
|
289
|
-
PolComponent.defaultProps = {
|
|
290
|
-
correct: false
|
|
291
|
-
};
|
|
292
|
-
var _default = exports.default = PolComponent;
|
|
293
|
-
//# sourceMappingURL=hotspot-polygon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hotspot-polygon.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactKonva","_ReactKonvaCore","_DeleteWidget","HOVERED_COLOR","PolComponent","React","Component","constructor","args","_defineProperty2","default","points","xList","map","p","x","yList","y","Math","min","max","xOffset","yOffset","getOffset","reduce","acc","point","length","id","hovered","isDragging","getInitialState","props","e","width","height","isDrawing","onClick","addPolygonPoint","cancelBubble","setState","document","body","style","cursor","updateModel","onDragEnd","target","serialize","state","newPoints","currentPointCoordinate","index","changedIndex","onDeleteShape","getDerivedStateFromProps","nextProps","prevState","imageHeight","imageWidth","JSON","stringify","getBoundingBox","xValues","yValues","minX","maxX","minY","maxY","render","correct","hotspotColor","outlineColor","selectedHotspotColor","hoverOutlineColor","strokeWidth","isInProgress","showPoints","calculatedStrokeWidth","calculatedStroke","boundingBox","calculatedFill","createElement","Group","onMouseLeave","handleMouseLeave","onMouseEnter","handleMouseEnter","Rect","stroke","listening","Line","closed","fill","handleClick","onTap","draggable","onDragStart","onDragMove","handleOnDragEnd","Circle","key","radius","handleOnDragVertex","opacity","handleWidgetClick","handleDelete","propTypes","PropTypes","bool","isRequired","string","number","func","arrayOf","shape","defaultProps","_default","exports"],"sources":["../src/hotspot-polygon.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Group, Line, Circle } from 'react-konva';\nimport { Rect } from 'react-konva/lib/ReactKonvaCore';\nimport DeleteWidget from './DeleteWidget';\n\nconst HOVERED_COLOR = '#00BFFF';\n\nclass PolComponent extends React.Component {\n static getDerivedStateFromProps(nextProps, prevState) {\n const { id, points, imageHeight, imageWidth } = nextProps;\n // we execute this code only if image dimensions changed or an hotspot was added/deleted\n if (\n prevState.imageHeight !== imageHeight ||\n prevState.imageWidth !== imageWidth ||\n prevState.id !== nextProps.id ||\n JSON.stringify(prevState.points) !== JSON.stringify(points)\n ) {\n const xList = points.map((p) => p.x);\n const yList = points.map((p) => p.y);\n\n const x = Math.min(...xList);\n const y = Math.max(...yList);\n\n return {\n id,\n x,\n y,\n points,\n imageHeight,\n imageWidth,\n };\n }\n\n return null;\n }\n\n getOffset = (points) => {\n const xList = points.map((p) => p.x);\n const yList = points.map((p) => p.y);\n\n return {\n x: Math.min(...xList),\n y: Math.max(...yList),\n };\n };\n\n serialize = (points) => {\n const { x: xOffset, y: yOffset } = this.getOffset(points);\n\n return points.reduce((acc, point) => [...acc, point.x - xOffset, point.y - yOffset], []);\n };\n\n getInitialState = (points) => {\n if (points.length) {\n const { x, y } = this.getOffset(points);\n\n return {\n x,\n y,\n points,\n };\n }\n\n return {\n id: '',\n x: 0,\n y: 0,\n points: [],\n };\n };\n\n state = {\n hovered: false,\n isDragging: false,\n ...this.getInitialState(this.props.points),\n };\n\n handleClick = (e) => {\n const { points } = this.props;\n const xList = points.map((p) => p.x);\n const yList = points.map((p) => p.y);\n\n const width = Math.max(...xList) - Math.min(...xList);\n const height = Math.max(...yList) - Math.min(...yList);\n\n const { isDrawing, onClick, id } = this.props;\n\n if (width < 0 && height < 0 && isDrawing) {\n return;\n }\n\n if (isDrawing && id === 'newPolygon') {\n this.props.addPolygonPoint(e);\n return;\n }\n\n e.cancelBubble = true;\n onClick(id);\n };\n\n handleMouseEnter = () => {\n this.setState({ hovered: true });\n document.body.style.cursor = 'pointer';\n };\n\n handleMouseLeave = () => {\n this.setState({ hovered: false });\n document.body.style.cursor = 'default';\n };\n\n handleOnDragEnd = (e, updateModel = false) => {\n const { onDragEnd, id } = this.props;\n const points = e.target.points() || this.serialize(this.state.points);\n\n const newPoints = points.reduce((acc, currentPointCoordinate, index) => {\n if (index % 2 === 0 && index + 1 < points.length) {\n return [\n ...acc,\n {\n x: currentPointCoordinate + e.target.x(),\n y: points[index + 1] + e.target.y(),\n },\n ];\n }\n\n return acc;\n }, []);\n\n this.setState({\n points: newPoints,\n ...this.getOffset(newPoints),\n isDragging: updateModel ? false : this.state.isDragging,\n });\n\n if (updateModel) {\n onDragEnd(id, { points: newPoints });\n }\n };\n\n handleOnDragVertex = (e, changedIndex, updateModel) => {\n const { onDragEnd, id } = this.props;\n const { points } = this.state;\n\n const newPoints = points.map((point, index) =>\n index === changedIndex ? { x: e.target.x(), y: e.target.y() } : point,\n );\n\n this.setState({\n points: newPoints,\n ...this.getOffset(newPoints),\n isDragging: updateModel ? false : this.state.isDragging,\n });\n\n if (updateModel) {\n onDragEnd(id, { points: newPoints });\n }\n };\n\n onDragStart = () => {\n this.setState({ isDragging: true });\n };\n\n handleDelete = (id) => {\n const { onDeleteShape } = this.props;\n onDeleteShape(id);\n };\n\n // serialize(points) {\n // return points.reduce((acc, point) => [...acc, point.x, point.y], []);\n // }\n\n getBoundingBox(points) {\n const xValues = points.map((point) => point.x);\n const yValues = points.map((point) => point.y);\n const minX = Math.min(...xValues);\n const maxX = Math.max(...xValues);\n const minY = Math.min(...yValues);\n const maxY = Math.max(...yValues);\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n\n render() {\n const {\n correct,\n id,\n hotspotColor,\n outlineColor,\n selectedHotspotColor,\n hoverOutlineColor,\n strokeWidth = 5,\n } = this.props;\n\n const { points, x, y, hovered } = this.state;\n const isInProgress = id === 'newPolygon';\n const showPoints = hovered || id === 'newPolygon';\n\n const calculatedStrokeWidth = correct ? strokeWidth : hovered ? 1 : 0;\n const calculatedStroke = correct ? outlineColor : hovered ? HOVERED_COLOR : '';\n const boundingBox = this.getBoundingBox(points);\n const calculatedFill = correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor;\n\n return (\n <Group onMouseLeave={this.handleMouseLeave} onMouseEnter={this.handleMouseEnter}>\n {hoverOutlineColor && hovered && (\n <Rect\n x={boundingBox.x}\n y={boundingBox.y}\n width={boundingBox.width}\n height={boundingBox.height}\n stroke={hoverOutlineColor}\n strokeWidth={2}\n listening={false}\n />\n )}\n <Line\n points={this.serialize(points)}\n closed={!isInProgress}\n fill={isInProgress ? 'transparent' : calculatedFill}\n onClick={this.handleClick}\n onTap={this.handleClick}\n draggable\n stroke={isInProgress ? outlineColor : calculatedStroke}\n strokeWidth={isInProgress ? 1 : calculatedStrokeWidth}\n onDragStart={this.onDragStart}\n onDragMove={this.handleOnDragEnd}\n onDragEnd={(e) => this.handleOnDragEnd(e, true)}\n x={x}\n y={y}\n />\n\n {showPoints &&\n points.map((point, index) => (\n <Circle\n key={index}\n x={point.x}\n y={point.y}\n radius={5}\n fill={index === 0 && id === 'newPolygon' ? 'blue' : 'white'}\n stroke={HOVERED_COLOR}\n strokeWidth={1}\n onClick={this.handleClick}\n onDragStart={this.onDragStart}\n onDragMove={(e) => {\n this.handleOnDragVertex(e, index);\n }}\n onDragEnd={(e) => {\n this.handleOnDragVertex(e, index, true);\n }}\n draggable\n opacity={4}\n />\n ))}\n {!this.state.isDragging && this.state.hovered && (\n <DeleteWidget x={x} y={y} id={id} handleWidgetClick={this.handleDelete} points={points} />\n )}\n </Group>\n );\n }\n}\n\nPolComponent.propTypes = {\n correct: PropTypes.bool,\n isDrawing: PropTypes.bool.isRequired,\n id: PropTypes.string.isRequired,\n imageHeight: PropTypes.number,\n imageWidth: PropTypes.number,\n hotspotColor: PropTypes.string.isRequired,\n selectedHotspotColor: PropTypes.string,\n hoverOutlineColor: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n addPolygonPoint: PropTypes.func.isRequired,\n onDeleteShape: PropTypes.func.isRequired,\n onDragEnd: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n points: PropTypes.arrayOf(\n PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n ).isRequired,\n strokeWidth: PropTypes.number,\n};\n\nPolComponent.defaultProps = {\n correct: false,\n};\n\nexport default PolComponent;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _reactKonva = require("react-konva");
|
|
12
|
-
var _DeleteWidget = _interopRequireDefault(require("./DeleteWidget"));
|
|
13
|
-
class RectComponent extends _react.default.Component {
|
|
14
|
-
constructor(props) {
|
|
15
|
-
super(props);
|
|
16
|
-
(0, _defineProperty2.default)(this, "handleClick", e => {
|
|
17
|
-
const {
|
|
18
|
-
width,
|
|
19
|
-
height,
|
|
20
|
-
isDrawing,
|
|
21
|
-
onClick,
|
|
22
|
-
id
|
|
23
|
-
} = this.props;
|
|
24
|
-
if (width < 0 && height < 0 && isDrawing) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
e.cancelBubble = true;
|
|
28
|
-
onClick(id);
|
|
29
|
-
});
|
|
30
|
-
(0, _defineProperty2.default)(this, "handleMouseEnter", () => {
|
|
31
|
-
document.body.style.cursor = 'pointer';
|
|
32
|
-
this.setState({
|
|
33
|
-
hovered: true
|
|
34
|
-
});
|
|
35
|
-
this.trRef.current.setNode(this.shapeRef.current);
|
|
36
|
-
this.trRef.current.getLayer().batchDraw();
|
|
37
|
-
});
|
|
38
|
-
(0, _defineProperty2.default)(this, "handleMouseLeave", () => {
|
|
39
|
-
if (!this.state.isDragging) {
|
|
40
|
-
this.setState({
|
|
41
|
-
hovered: false
|
|
42
|
-
});
|
|
43
|
-
document.body.style.cursor = 'default';
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
(0, _defineProperty2.default)(this, "handleOnDragEnd", e => {
|
|
47
|
-
const {
|
|
48
|
-
onDragEnd,
|
|
49
|
-
id
|
|
50
|
-
} = this.props;
|
|
51
|
-
this.setState({
|
|
52
|
-
isDragging: false
|
|
53
|
-
});
|
|
54
|
-
onDragEnd(id, {
|
|
55
|
-
x: e.target.x(),
|
|
56
|
-
y: e.target.y()
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
(0, _defineProperty2.default)(this, "onResizeEnd", () => {
|
|
60
|
-
const {
|
|
61
|
-
onDragEnd,
|
|
62
|
-
id
|
|
63
|
-
} = this.props;
|
|
64
|
-
// transformer is changing scale of the node
|
|
65
|
-
// and NOT its width or height
|
|
66
|
-
// but in the store we have only width and height
|
|
67
|
-
// to match the data better we will reset scale on transform end
|
|
68
|
-
const node = this.shapeRef.current;
|
|
69
|
-
const scaleX = node.scaleX();
|
|
70
|
-
const scaleY = node.scaleY();
|
|
71
|
-
|
|
72
|
-
// we will reset it back
|
|
73
|
-
node.scaleX(1);
|
|
74
|
-
node.scaleY(1);
|
|
75
|
-
this.setState({
|
|
76
|
-
isDragging: false
|
|
77
|
-
});
|
|
78
|
-
onDragEnd(id, {
|
|
79
|
-
x: node.x(),
|
|
80
|
-
y: node.y(),
|
|
81
|
-
// set minimal value
|
|
82
|
-
width: Math.max(5, node.width() * scaleX),
|
|
83
|
-
height: Math.max(node.height() * scaleY)
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
(0, _defineProperty2.default)(this, "handleDelete", id => {
|
|
87
|
-
const {
|
|
88
|
-
onDeleteShape
|
|
89
|
-
} = this.props;
|
|
90
|
-
onDeleteShape(id);
|
|
91
|
-
});
|
|
92
|
-
this.state = {
|
|
93
|
-
hovered: false,
|
|
94
|
-
isDragging: false
|
|
95
|
-
};
|
|
96
|
-
this.shapeRef = /*#__PURE__*/_react.default.createRef();
|
|
97
|
-
this.trRef = /*#__PURE__*/_react.default.createRef();
|
|
98
|
-
}
|
|
99
|
-
render() {
|
|
100
|
-
const {
|
|
101
|
-
correct,
|
|
102
|
-
height,
|
|
103
|
-
hotspotColor,
|
|
104
|
-
id,
|
|
105
|
-
outlineColor,
|
|
106
|
-
width,
|
|
107
|
-
x,
|
|
108
|
-
y,
|
|
109
|
-
strokeWidth = 5,
|
|
110
|
-
selectedHotspotColor,
|
|
111
|
-
hoverOutlineColor
|
|
112
|
-
} = this.props;
|
|
113
|
-
const {
|
|
114
|
-
hovered
|
|
115
|
-
} = this.state;
|
|
116
|
-
return /*#__PURE__*/_react.default.createElement(_reactKonva.Group, {
|
|
117
|
-
onMouseLeave: this.handleMouseLeave,
|
|
118
|
-
onMouseEnter: this.handleMouseEnter,
|
|
119
|
-
padding: 12
|
|
120
|
-
}, hoverOutlineColor && hovered && /*#__PURE__*/_react.default.createElement(_reactKonva.Rect, {
|
|
121
|
-
x: x,
|
|
122
|
-
y: y,
|
|
123
|
-
width: width,
|
|
124
|
-
height: height,
|
|
125
|
-
stroke: hoverOutlineColor,
|
|
126
|
-
strokeWidth: 2,
|
|
127
|
-
listening: false
|
|
128
|
-
}), /*#__PURE__*/_react.default.createElement(_reactKonva.Rect, {
|
|
129
|
-
ref: this.shapeRef,
|
|
130
|
-
width: width,
|
|
131
|
-
height: height,
|
|
132
|
-
fill: correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor,
|
|
133
|
-
onClick: this.handleClick,
|
|
134
|
-
onTap: this.handleClick,
|
|
135
|
-
draggable: true,
|
|
136
|
-
stroke: hovered ? 'transparent' : outlineColor,
|
|
137
|
-
strokeWidth: correct && !hovered ? strokeWidth : 0,
|
|
138
|
-
onDragStart: () => this.setState({
|
|
139
|
-
isDragging: true
|
|
140
|
-
}),
|
|
141
|
-
onDragEnd: this.handleOnDragEnd,
|
|
142
|
-
onTransformStart: () => this.setState({
|
|
143
|
-
isDragging: true
|
|
144
|
-
}),
|
|
145
|
-
onTransformEnd: this.onResizeEnd,
|
|
146
|
-
x: x,
|
|
147
|
-
y: y,
|
|
148
|
-
cursor: "pointer"
|
|
149
|
-
}), !this.state.isDragging && this.state.hovered && /*#__PURE__*/_react.default.createElement(_DeleteWidget.default, {
|
|
150
|
-
id: id,
|
|
151
|
-
height: height,
|
|
152
|
-
width: width,
|
|
153
|
-
x: x,
|
|
154
|
-
y: y,
|
|
155
|
-
handleWidgetClick: this.handleDelete
|
|
156
|
-
}), this.state.hovered && /*#__PURE__*/_react.default.createElement(_reactKonva.Transformer, {
|
|
157
|
-
ref: this.trRef,
|
|
158
|
-
rotateEnabled: false,
|
|
159
|
-
boundBoxFunc: (oldBox, newBox) => {
|
|
160
|
-
// limit resize
|
|
161
|
-
if (newBox.width < 10 || newBox.height < 10) {
|
|
162
|
-
return oldBox;
|
|
163
|
-
}
|
|
164
|
-
return newBox;
|
|
165
|
-
}
|
|
166
|
-
}));
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
RectComponent.propTypes = {
|
|
170
|
-
correct: _propTypes.default.bool,
|
|
171
|
-
isDrawing: _propTypes.default.bool.isRequired,
|
|
172
|
-
id: _propTypes.default.string.isRequired,
|
|
173
|
-
height: _propTypes.default.number.isRequired,
|
|
174
|
-
hotspotColor: _propTypes.default.string.isRequired,
|
|
175
|
-
selectedHotspotColor: _propTypes.default.string,
|
|
176
|
-
hoverOutlineColor: _propTypes.default.string,
|
|
177
|
-
onClick: _propTypes.default.func.isRequired,
|
|
178
|
-
onDeleteShape: _propTypes.default.func.isRequired,
|
|
179
|
-
onDragEnd: _propTypes.default.func.isRequired,
|
|
180
|
-
outlineColor: _propTypes.default.string.isRequired,
|
|
181
|
-
width: _propTypes.default.number.isRequired,
|
|
182
|
-
x: _propTypes.default.number.isRequired,
|
|
183
|
-
y: _propTypes.default.number.isRequired,
|
|
184
|
-
strokeWidth: _propTypes.default.number
|
|
185
|
-
};
|
|
186
|
-
RectComponent.defaultProps = {
|
|
187
|
-
correct: false
|
|
188
|
-
};
|
|
189
|
-
var _default = exports.default = RectComponent;
|
|
190
|
-
//# sourceMappingURL=hotspot-rectangle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hotspot-rectangle.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactKonva","_DeleteWidget","RectComponent","React","Component","constructor","props","_defineProperty2","default","e","width","height","isDrawing","onClick","id","cancelBubble","document","body","style","cursor","setState","hovered","trRef","current","setNode","shapeRef","getLayer","batchDraw","state","isDragging","onDragEnd","x","target","y","node","scaleX","scaleY","Math","max","onDeleteShape","createRef","render","correct","hotspotColor","outlineColor","strokeWidth","selectedHotspotColor","hoverOutlineColor","createElement","Group","onMouseLeave","handleMouseLeave","onMouseEnter","handleMouseEnter","padding","Rect","stroke","listening","ref","fill","handleClick","onTap","draggable","onDragStart","handleOnDragEnd","onTransformStart","onTransformEnd","onResizeEnd","handleWidgetClick","handleDelete","Transformer","rotateEnabled","boundBoxFunc","oldBox","newBox","propTypes","PropTypes","bool","isRequired","string","number","func","defaultProps","_default","exports"],"sources":["../src/hotspot-rectangle.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Rect, Group, Transformer } from 'react-konva';\nimport DeleteWidget from './DeleteWidget';\n\nclass RectComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n hovered: false,\n isDragging: false,\n };\n this.shapeRef = React.createRef();\n this.trRef = React.createRef();\n }\n\n handleClick = (e) => {\n const { width, height, isDrawing, onClick, id } = this.props;\n if (width < 0 && height < 0 && isDrawing) {\n return;\n }\n e.cancelBubble = true;\n onClick(id);\n };\n\n handleMouseEnter = () => {\n document.body.style.cursor = 'pointer';\n this.setState({ hovered: true });\n this.trRef.current.setNode(this.shapeRef.current);\n this.trRef.current.getLayer().batchDraw();\n };\n\n handleMouseLeave = () => {\n if (!this.state.isDragging) {\n this.setState({ hovered: false });\n document.body.style.cursor = 'default';\n }\n };\n\n handleOnDragEnd = (e) => {\n const { onDragEnd, id } = this.props;\n this.setState({ isDragging: false });\n onDragEnd(id, {\n x: e.target.x(),\n y: e.target.y(),\n });\n };\n\n onResizeEnd = () => {\n const { onDragEnd, id } = this.props;\n // transformer is changing scale of the node\n // and NOT its width or height\n // but in the store we have only width and height\n // to match the data better we will reset scale on transform end\n const node = this.shapeRef.current;\n const scaleX = node.scaleX();\n const scaleY = node.scaleY();\n\n // we will reset it back\n node.scaleX(1);\n node.scaleY(1);\n this.setState({ isDragging: false });\n onDragEnd(id, {\n x: node.x(),\n y: node.y(),\n // set minimal value\n width: Math.max(5, node.width() * scaleX),\n height: Math.max(node.height() * scaleY),\n });\n };\n\n handleDelete = (id) => {\n const { onDeleteShape } = this.props;\n onDeleteShape(id);\n };\n\n render() {\n const {\n correct,\n height,\n hotspotColor,\n id,\n outlineColor,\n width,\n x,\n y,\n strokeWidth = 5,\n selectedHotspotColor,\n hoverOutlineColor,\n } = this.props;\n\n const { hovered } = this.state;\n\n return (\n <Group onMouseLeave={this.handleMouseLeave} onMouseEnter={this.handleMouseEnter} padding={12}>\n {hoverOutlineColor && hovered && (\n <Rect\n x={x}\n y={y}\n width={width}\n height={height}\n stroke={hoverOutlineColor}\n strokeWidth={2}\n listening={false}\n />\n )}\n\n <Rect\n ref={this.shapeRef}\n width={width}\n height={height}\n fill={correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor}\n onClick={this.handleClick}\n onTap={this.handleClick}\n draggable\n stroke={hovered ? 'transparent' : outlineColor}\n strokeWidth={correct && !hovered ? strokeWidth : 0}\n onDragStart={() => this.setState({ isDragging: true })}\n onDragEnd={this.handleOnDragEnd}\n onTransformStart={() => this.setState({ isDragging: true })}\n onTransformEnd={this.onResizeEnd}\n x={x}\n y={y}\n cursor=\"pointer\"\n />\n {!this.state.isDragging && this.state.hovered && (\n <DeleteWidget id={id} height={height} width={width} x={x} y={y} handleWidgetClick={this.handleDelete} />\n )}\n {this.state.hovered && (\n <Transformer\n ref={this.trRef}\n rotateEnabled={false}\n boundBoxFunc={(oldBox, newBox) => {\n // limit resize\n if (newBox.width < 10 || newBox.height < 10) {\n return oldBox;\n }\n return newBox;\n }}\n />\n )}\n </Group>\n );\n }\n}\n\nRectComponent.propTypes = {\n correct: PropTypes.bool,\n isDrawing: PropTypes.bool.isRequired,\n id: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n hotspotColor: PropTypes.string.isRequired,\n selectedHotspotColor: PropTypes.string,\n hoverOutlineColor: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n onDeleteShape: PropTypes.func.isRequired,\n onDragEnd: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n width: PropTypes.number.isRequired,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n strokeWidth: PropTypes.number,\n};\n\nRectComponent.defaultProps = {\n correct: false,\n};\n\nexport default RectComponent;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,MAAMI,aAAa,SAASC,cAAK,CAACC,SAAS,CAAC;EAC1CC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA,uBASAC,CAAC,IAAK;MACnB,MAAM;QAAEC,KAAK;QAAEC,MAAM;QAAEC,SAAS;QAAEC,OAAO;QAAEC;MAAG,CAAC,GAAG,IAAI,CAACR,KAAK;MAC5D,IAAII,KAAK,GAAG,CAAC,IAAIC,MAAM,GAAG,CAAC,IAAIC,SAAS,EAAE;QACxC;MACF;MACAH,CAAC,CAACM,YAAY,GAAG,IAAI;MACrBF,OAAO,CAACC,EAAE,CAAC;IACb,CAAC;IAAA,IAAAP,gBAAA,CAAAC,OAAA,4BAEkB,MAAM;MACvBQ,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,MAAM,GAAG,SAAS;MACtC,IAAI,CAACC,QAAQ,CAAC;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAChC,IAAI,CAACC,KAAK,CAACC,OAAO,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,CAACF,OAAO,CAAC;MACjD,IAAI,CAACD,KAAK,CAACC,OAAO,CAACG,QAAQ,CAAC,CAAC,CAACC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAAA,IAAApB,gBAAA,CAAAC,OAAA,4BAEkB,MAAM;MACvB,IAAI,CAAC,IAAI,CAACoB,KAAK,CAACC,UAAU,EAAE;QAC1B,IAAI,CAACT,QAAQ,CAAC;UAAEC,OAAO,EAAE;QAAM,CAAC,CAAC;QACjCL,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,MAAM,GAAG,SAAS;MACxC;IACF,CAAC;IAAA,IAAAZ,gBAAA,CAAAC,OAAA,2BAEkBC,CAAC,IAAK;MACvB,MAAM;QAAEqB,SAAS;QAAEhB;MAAG,CAAC,GAAG,IAAI,CAACR,KAAK;MACpC,IAAI,CAACc,QAAQ,CAAC;QAAES,UAAU,EAAE;MAAM,CAAC,CAAC;MACpCC,SAAS,CAAChB,EAAE,EAAE;QACZiB,CAAC,EAAEtB,CAAC,CAACuB,MAAM,CAACD,CAAC,CAAC,CAAC;QACfE,CAAC,EAAExB,CAAC,CAACuB,MAAM,CAACC,CAAC,CAAC;MAChB,CAAC,CAAC;IACJ,CAAC;IAAA,IAAA1B,gBAAA,CAAAC,OAAA,uBAEa,MAAM;MAClB,MAAM;QAAEsB,SAAS;QAAEhB;MAAG,CAAC,GAAG,IAAI,CAACR,KAAK;MACpC;MACA;MACA;MACA;MACA,MAAM4B,IAAI,GAAG,IAAI,CAACT,QAAQ,CAACF,OAAO;MAClC,MAAMY,MAAM,GAAGD,IAAI,CAACC,MAAM,CAAC,CAAC;MAC5B,MAAMC,MAAM,GAAGF,IAAI,CAACE,MAAM,CAAC,CAAC;;MAE5B;MACAF,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC;MACdD,IAAI,CAACE,MAAM,CAAC,CAAC,CAAC;MACd,IAAI,CAAChB,QAAQ,CAAC;QAAES,UAAU,EAAE;MAAM,CAAC,CAAC;MACpCC,SAAS,CAAChB,EAAE,EAAE;QACZiB,CAAC,EAAEG,IAAI,CAACH,CAAC,CAAC,CAAC;QACXE,CAAC,EAAEC,IAAI,CAACD,CAAC,CAAC,CAAC;QACX;QACAvB,KAAK,EAAE2B,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAACxB,KAAK,CAAC,CAAC,GAAGyB,MAAM,CAAC;QACzCxB,MAAM,EAAE0B,IAAI,CAACC,GAAG,CAACJ,IAAI,CAACvB,MAAM,CAAC,CAAC,GAAGyB,MAAM;MACzC,CAAC,CAAC;IACJ,CAAC;IAAA,IAAA7B,gBAAA,CAAAC,OAAA,wBAEeM,EAAE,IAAK;MACrB,MAAM;QAAEyB;MAAc,CAAC,GAAG,IAAI,CAACjC,KAAK;MACpCiC,aAAa,CAACzB,EAAE,CAAC;IACnB,CAAC;IAlEC,IAAI,CAACc,KAAK,GAAG;MACXP,OAAO,EAAE,KAAK;MACdQ,UAAU,EAAE;IACd,CAAC;IACD,IAAI,CAACJ,QAAQ,gBAAGtB,cAAK,CAACqC,SAAS,CAAC,CAAC;IACjC,IAAI,CAAClB,KAAK,gBAAGnB,cAAK,CAACqC,SAAS,CAAC,CAAC;EAChC;EA8DAC,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,OAAO;MACP/B,MAAM;MACNgC,YAAY;MACZ7B,EAAE;MACF8B,YAAY;MACZlC,KAAK;MACLqB,CAAC;MACDE,CAAC;MACDY,WAAW,GAAG,CAAC;MACfC,oBAAoB;MACpBC;IACF,CAAC,GAAG,IAAI,CAACzC,KAAK;IAEd,MAAM;MAAEe;IAAQ,CAAC,GAAG,IAAI,CAACO,KAAK;IAE9B,oBACEhC,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAAChD,WAAA,CAAAiD,KAAK;MAACC,YAAY,EAAE,IAAI,CAACC,gBAAiB;MAACC,YAAY,EAAE,IAAI,CAACC,gBAAiB;MAACC,OAAO,EAAE;IAAG,GAC1FP,iBAAiB,IAAI1B,OAAO,iBAC3BzB,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAAChD,WAAA,CAAAuD,IAAI;MACHxB,CAAC,EAAEA,CAAE;MACLE,CAAC,EAAEA,CAAE;MACLvB,KAAK,EAAEA,KAAM;MACbC,MAAM,EAAEA,MAAO;MACf6C,MAAM,EAAET,iBAAkB;MAC1BF,WAAW,EAAE,CAAE;MACfY,SAAS,EAAE;IAAM,CAClB,CACF,eAED7D,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAAChD,WAAA,CAAAuD,IAAI;MACHG,GAAG,EAAE,IAAI,CAACjC,QAAS;MACnBf,KAAK,EAAEA,KAAM;MACbC,MAAM,EAAEA,MAAO;MACfgD,IAAI,EAAEjB,OAAO,IAAII,oBAAoB,GAAGA,oBAAoB,GAAGH,YAAa;MAC5E9B,OAAO,EAAE,IAAI,CAAC+C,WAAY;MAC1BC,KAAK,EAAE,IAAI,CAACD,WAAY;MACxBE,SAAS;MACTN,MAAM,EAAEnC,OAAO,GAAG,aAAa,GAAGuB,YAAa;MAC/CC,WAAW,EAAEH,OAAO,IAAI,CAACrB,OAAO,GAAGwB,WAAW,GAAG,CAAE;MACnDkB,WAAW,EAAEA,CAAA,KAAM,IAAI,CAAC3C,QAAQ,CAAC;QAAES,UAAU,EAAE;MAAK,CAAC,CAAE;MACvDC,SAAS,EAAE,IAAI,CAACkC,eAAgB;MAChCC,gBAAgB,EAAEA,CAAA,KAAM,IAAI,CAAC7C,QAAQ,CAAC;QAAES,UAAU,EAAE;MAAK,CAAC,CAAE;MAC5DqC,cAAc,EAAE,IAAI,CAACC,WAAY;MACjCpC,CAAC,EAAEA,CAAE;MACLE,CAAC,EAAEA,CAAE;MACLd,MAAM,EAAC;IAAS,CACjB,CAAC,EACD,CAAC,IAAI,CAACS,KAAK,CAACC,UAAU,IAAI,IAAI,CAACD,KAAK,CAACP,OAAO,iBAC3CzB,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAAC/C,aAAA,CAAAO,OAAY;MAACM,EAAE,EAAEA,EAAG;MAACH,MAAM,EAAEA,MAAO;MAACD,KAAK,EAAEA,KAAM;MAACqB,CAAC,EAAEA,CAAE;MAACE,CAAC,EAAEA,CAAE;MAACmC,iBAAiB,EAAE,IAAI,CAACC;IAAa,CAAE,CACxG,EACA,IAAI,CAACzC,KAAK,CAACP,OAAO,iBACjBzB,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAAChD,WAAA,CAAAsE,WAAW;MACVZ,GAAG,EAAE,IAAI,CAACpC,KAAM;MAChBiD,aAAa,EAAE,KAAM;MACrBC,YAAY,EAAEA,CAACC,MAAM,EAAEC,MAAM,KAAK;QAChC;QACA,IAAIA,MAAM,CAAChE,KAAK,GAAG,EAAE,IAAIgE,MAAM,CAAC/D,MAAM,GAAG,EAAE,EAAE;UAC3C,OAAO8D,MAAM;QACf;QACA,OAAOC,MAAM;MACf;IAAE,CACH,CAEE,CAAC;EAEZ;AACF;AAEAxE,aAAa,CAACyE,SAAS,GAAG;EACxBjC,OAAO,EAAEkC,kBAAS,CAACC,IAAI;EACvBjE,SAAS,EAAEgE,kBAAS,CAACC,IAAI,CAACC,UAAU;EACpChE,EAAE,EAAE8D,kBAAS,CAACG,MAAM,CAACD,UAAU;EAC/BnE,MAAM,EAAEiE,kBAAS,CAACI,MAAM,CAACF,UAAU;EACnCnC,YAAY,EAAEiC,kBAAS,CAACG,MAAM,CAACD,UAAU;EACzChC,oBAAoB,EAAE8B,kBAAS,CAACG,MAAM;EACtChC,iBAAiB,EAAE6B,kBAAS,CAACG,MAAM;EACnClE,OAAO,EAAE+D,kBAAS,CAACK,IAAI,CAACH,UAAU;EAClCvC,aAAa,EAAEqC,kBAAS,CAACK,IAAI,CAACH,UAAU;EACxChD,SAAS,EAAE8C,kBAAS,CAACK,IAAI,CAACH,UAAU;EACpClC,YAAY,EAAEgC,kBAAS,CAACG,MAAM,CAACD,UAAU;EACzCpE,KAAK,EAAEkE,kBAAS,CAACI,MAAM,CAACF,UAAU;EAClC/C,CAAC,EAAE6C,kBAAS,CAACI,MAAM,CAACF,UAAU;EAC9B7C,CAAC,EAAE2C,kBAAS,CAACI,MAAM,CAACF,UAAU;EAC9BjC,WAAW,EAAE+B,kBAAS,CAACI;AACzB,CAAC;AAED9E,aAAa,CAACgF,YAAY,GAAG;EAC3BxC,OAAO,EAAE;AACX,CAAC;AAAC,IAAAyC,QAAA,GAAAC,OAAA,CAAA5E,OAAA,GAEaN,aAAa","ignoreList":[]}
|