@pie-element/hotspot 11.1.1-next.11 → 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 +80 -18
- package/CHANGELOG.json +0 -997
- package/CHANGELOG.md +0 -2210
- package/LICENSE.md +0 -5
- package/README.md +0 -1
- package/configure/CHANGELOG.json +0 -682
- package/configure/CHANGELOG.md +0 -1947
- 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 -1300
- 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
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import e from "react";
|
|
2
|
+
import t from "prop-types";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
import { Group as i, Image as a, Label as o, Tag as s, Text as c } from "react-konva";
|
|
5
|
+
//#region src/delivery/hotspot/image-konva-tooltip.tsx
|
|
6
|
+
function l(e) {
|
|
7
|
+
return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
|
|
8
|
+
}
|
|
9
|
+
function u(e, t) {
|
|
10
|
+
return !e || l(e) ? e : l(e.default) ? e.default : t && l(e[t]) ? e[t] : t && l(e[t]?.default) ? e[t].default : e;
|
|
11
|
+
}
|
|
12
|
+
var d = u(o, "Label"), f = u(s, "Tag"), p = u(c, "Text"), m = u(a, "Image"), h = u(i, "Group"), g = class extends e.Component {
|
|
13
|
+
constructor(e) {
|
|
14
|
+
super(e), this.state = {
|
|
15
|
+
image: null,
|
|
16
|
+
showTooltip: !1
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
componentDidMount() {
|
|
20
|
+
this.loadImage();
|
|
21
|
+
}
|
|
22
|
+
componentDidUpdate(e) {
|
|
23
|
+
e.src !== this.props.src && this.loadImage();
|
|
24
|
+
}
|
|
25
|
+
componentWillUnmount() {
|
|
26
|
+
this.image.removeEventListener("load", this.handleLoad);
|
|
27
|
+
}
|
|
28
|
+
loadImage() {
|
|
29
|
+
let { src: e } = this.props;
|
|
30
|
+
this.image = new window.Image(), this.image.src = e, this.image.addEventListener("load", this.handleLoad);
|
|
31
|
+
}
|
|
32
|
+
handleLoad = () => {
|
|
33
|
+
this.setState({ image: this.image });
|
|
34
|
+
};
|
|
35
|
+
render() {
|
|
36
|
+
let { x: e, y: t, tooltip: i } = this.props, { image: a, showTooltip: o } = this.state;
|
|
37
|
+
return /* @__PURE__ */ r(h, { children: [/* @__PURE__ */ n(m, {
|
|
38
|
+
width: 20,
|
|
39
|
+
height: 20,
|
|
40
|
+
x: e,
|
|
41
|
+
y: t,
|
|
42
|
+
image: a,
|
|
43
|
+
onMouseEnter: () => this.setState({ showTooltip: !0 }),
|
|
44
|
+
onMouseLeave: () => this.setState({ showTooltip: !1 })
|
|
45
|
+
}), o && i && /* @__PURE__ */ r(d, {
|
|
46
|
+
x: e - 30,
|
|
47
|
+
y: t + 25,
|
|
48
|
+
children: [/* @__PURE__ */ n(f, {
|
|
49
|
+
fill: "white",
|
|
50
|
+
cornerRadius: 5,
|
|
51
|
+
opacity: .9
|
|
52
|
+
}), /* @__PURE__ */ n(p, {
|
|
53
|
+
text: i,
|
|
54
|
+
padding: 5
|
|
55
|
+
})]
|
|
56
|
+
})] });
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
g.propTypes = {
|
|
60
|
+
src: t.string.isRequired,
|
|
61
|
+
x: t.number.isRequired,
|
|
62
|
+
y: t.number.isRequired,
|
|
63
|
+
tooltip: t.string.isRequired
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
export { g as default };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @synced-from pie-elements/packages/hotspot/src/hotspot/index.jsx
|
|
3
|
+
* @auto-generated
|
|
4
|
+
*
|
|
5
|
+
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
6
|
+
* Manual edits will be overwritten on next sync.
|
|
7
|
+
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
declare class HotspotComponent extends React.Component {
|
|
11
|
+
constructor(props: any);
|
|
12
|
+
componentDidMount(): void;
|
|
13
|
+
componentWillUnmount(): void;
|
|
14
|
+
onToggle: any;
|
|
15
|
+
render(): React.JSX.Element;
|
|
16
|
+
}
|
|
17
|
+
export default HotspotComponent;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import e from "./container.js";
|
|
2
|
+
import t from "react";
|
|
3
|
+
import * as n from "@pie-lib/render-ui";
|
|
4
|
+
import { Collapsible as r, PreviewPrompt as i, UiLayout as a, color as o, hasMedia as s, hasText as c } from "@pie-lib/render-ui";
|
|
5
|
+
import l from "prop-types";
|
|
6
|
+
import u from "@pie-lib/correct-answer-toggle";
|
|
7
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
8
|
+
import { styled as p } from "@mui/material/styles";
|
|
9
|
+
//#region src/delivery/hotspot/index.tsx
|
|
10
|
+
function m(e) {
|
|
11
|
+
return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
|
|
12
|
+
}
|
|
13
|
+
function h(e, t) {
|
|
14
|
+
return !e || m(e) ? e : m(e.default) ? e.default : t && m(e[t]) ? e[t] : t && m(e[t]?.default) ? e[t].default : e;
|
|
15
|
+
}
|
|
16
|
+
var g = h(a, "UiLayout") || h(x.UiLayout, "UiLayout"), _ = h(i, "PreviewPrompt") || h(x.PreviewPrompt, "PreviewPrompt"), v = h(r, "Collapsible") || h(x.Collapsible, "Collapsible"), y = n, b = y.default, x = b && typeof b == "object" ? b : y, S = p(g)({
|
|
17
|
+
color: o.text(),
|
|
18
|
+
backgroundColor: o.background(),
|
|
19
|
+
position: "relative"
|
|
20
|
+
}), C = p(v)(({ theme: e }) => ({ marginBottom: e.spacing(2) })), w = class extends t.Component {
|
|
21
|
+
constructor(e) {
|
|
22
|
+
super(e), this.state = {
|
|
23
|
+
showCorrect: !1,
|
|
24
|
+
observer: null,
|
|
25
|
+
scale: 1
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
componentDidMount() {
|
|
29
|
+
this.observer = new MutationObserver((e) => {
|
|
30
|
+
e.forEach(() => {
|
|
31
|
+
let e = document.getElementById("question-container")?.style?.cssText, t = (e?.substring(e.indexOf("--pie-zoom") + 11, e.lastIndexOf("%")))?.replace(/\s/g, "");
|
|
32
|
+
t ? parseFloat(t) / 100 !== this.state.scale && this.setState({ scale: parseFloat(t) / 100 }) : !t && this.state.scale !== 1 && this.setState({ scale: 1 });
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
let e = document.getElementById("question-container");
|
|
36
|
+
e && this.observer.observe(e, {
|
|
37
|
+
attributes: !0,
|
|
38
|
+
attributeFilter: ["style"]
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
componentWillUnmount() {
|
|
42
|
+
this.observer?.disconnect();
|
|
43
|
+
}
|
|
44
|
+
onToggle = () => {
|
|
45
|
+
let { showCorrect: e } = this.state;
|
|
46
|
+
this.setState({ showCorrect: !e });
|
|
47
|
+
};
|
|
48
|
+
render() {
|
|
49
|
+
let { session: t, model: { disabled: n, extraCSSRules: r, imageUrl: i, prompt: a, mode: o, multipleCorrect: l, shapes: p, outlineColor: m, hotspotColor: h, hoverOutlineColor: g, selectedHotspotColor: y, dimensions: b, rationale: x, teacherInstructions: w, strokeWidth: T, responseCorrect: E, language: D, fontSizeFactor: O, autoplayAudioEnabled: k, customAudioButton: A }, onSelectChoice: j } = this.props, { showCorrect: M } = this.state, N = o === "evaluate", P = o === "gather", F = N && !E, I = x && (c(x) || s(x));
|
|
50
|
+
return /* @__PURE__ */ f(S, {
|
|
51
|
+
extraCSSRules: r,
|
|
52
|
+
id: "main-container",
|
|
53
|
+
fontSizeFactor: O,
|
|
54
|
+
children: [
|
|
55
|
+
w && (c(w) || s(w)) && /* @__PURE__ */ d(C, {
|
|
56
|
+
labels: {
|
|
57
|
+
hidden: "Show Teacher Instructions",
|
|
58
|
+
visible: "Hide Teacher Instructions"
|
|
59
|
+
},
|
|
60
|
+
children: /* @__PURE__ */ d(_, {
|
|
61
|
+
className: "prompt",
|
|
62
|
+
prompt: w
|
|
63
|
+
})
|
|
64
|
+
}),
|
|
65
|
+
a && /* @__PURE__ */ d(_, {
|
|
66
|
+
className: "prompt",
|
|
67
|
+
prompt: a,
|
|
68
|
+
autoplayAudioEnabled: k,
|
|
69
|
+
customAudioButton: A
|
|
70
|
+
}),
|
|
71
|
+
F && /* @__PURE__ */ d(u, {
|
|
72
|
+
show: F,
|
|
73
|
+
toggled: M,
|
|
74
|
+
onToggle: this.onToggle.bind(this),
|
|
75
|
+
language: D
|
|
76
|
+
}),
|
|
77
|
+
i ? /* @__PURE__ */ d(e, {
|
|
78
|
+
isEvaluateMode: N,
|
|
79
|
+
session: t,
|
|
80
|
+
dimensions: b,
|
|
81
|
+
imageUrl: i,
|
|
82
|
+
hotspotColor: h,
|
|
83
|
+
hoverOutlineColor: P ? g : void 0,
|
|
84
|
+
selectedHotspotColor: y,
|
|
85
|
+
multipleCorrect: l,
|
|
86
|
+
outlineColor: m,
|
|
87
|
+
onSelectChoice: j,
|
|
88
|
+
shapes: p,
|
|
89
|
+
disabled: n,
|
|
90
|
+
strokeWidth: T,
|
|
91
|
+
scale: this.state.scale,
|
|
92
|
+
showCorrect: M
|
|
93
|
+
}) : null,
|
|
94
|
+
I && /* @__PURE__ */ d(v, {
|
|
95
|
+
labels: {
|
|
96
|
+
hidden: "Show Rationale",
|
|
97
|
+
visible: "Hide Rationale"
|
|
98
|
+
},
|
|
99
|
+
children: /* @__PURE__ */ d(_, {
|
|
100
|
+
className: "prompt",
|
|
101
|
+
prompt: x
|
|
102
|
+
})
|
|
103
|
+
})
|
|
104
|
+
]
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
w.propTypes = {
|
|
109
|
+
model: l.object.isRequired,
|
|
110
|
+
onSelectChoice: l.func.isRequired,
|
|
111
|
+
session: l.object.isRequired
|
|
112
|
+
};
|
|
113
|
+
//#endregion
|
|
114
|
+
export { w as default };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @synced-from pie-elements/packages/hotspot/src/hotspot/polygon.jsx
|
|
3
|
+
* @auto-generated
|
|
4
|
+
*
|
|
5
|
+
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
6
|
+
* Manual edits will be overwritten on next sync.
|
|
7
|
+
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
declare class PolygonComponent extends React.Component {
|
|
11
|
+
constructor(props: any);
|
|
12
|
+
getPolygonCenter: any;
|
|
13
|
+
parsePointsForKonva: any;
|
|
14
|
+
handleClick: any;
|
|
15
|
+
handleMouseEnter: any;
|
|
16
|
+
handleMouseLeave: any;
|
|
17
|
+
getEvaluateOutlineColor: (isCorrect: any, markAsCorrect: any, outlineColor: any) => any;
|
|
18
|
+
getOutlineWidth: (showCorrectEnabled: any, selected: any, markAsCorrect: any, strokeWidth: any) => any;
|
|
19
|
+
render(): React.JSX.Element;
|
|
20
|
+
}
|
|
21
|
+
export default PolygonComponent;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import e from "./image-konva-tooltip.js";
|
|
2
|
+
import { faCorrect as t, faWrong as n } from "./icons.js";
|
|
3
|
+
import r from "react";
|
|
4
|
+
import i from "prop-types";
|
|
5
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
6
|
+
import { Group as s, Line as c, Rect as l } from "react-konva";
|
|
7
|
+
//#region src/delivery/hotspot/polygon.tsx
|
|
8
|
+
function u(e) {
|
|
9
|
+
return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
|
|
10
|
+
}
|
|
11
|
+
function d(e, t) {
|
|
12
|
+
return !e || u(e) ? e : u(e.default) ? e.default : t && u(e[t]) ? e[t] : t && u(e[t]?.default) ? e[t].default : e;
|
|
13
|
+
}
|
|
14
|
+
var f = d(l, "Rect"), p = d(s, "Group"), m = d(c, "Line"), h = class extends r.Component {
|
|
15
|
+
constructor(e) {
|
|
16
|
+
super(e), this.state = { hovered: !1 };
|
|
17
|
+
}
|
|
18
|
+
getPolygonCenter = (e) => {
|
|
19
|
+
let t = e.map(({ x: e }) => e), n = e.map(({ y: e }) => e), r = Math.min.apply(null, t), i = Math.max.apply(null, t), a = Math.min.apply(null, n), o = Math.max.apply(null, n);
|
|
20
|
+
return [(r + i) / 2, (a + o) / 2];
|
|
21
|
+
};
|
|
22
|
+
parsePointsForKonva = (e) => {
|
|
23
|
+
let t = [];
|
|
24
|
+
return e.forEach(({ x: e, y: n }) => {
|
|
25
|
+
t.push(e), t.push(n);
|
|
26
|
+
}), t;
|
|
27
|
+
};
|
|
28
|
+
handleClick = (e) => {
|
|
29
|
+
let { onClick: t, id: n, selected: r, disabled: i } = this.props;
|
|
30
|
+
i || (e.cancelBubble = !0, t({
|
|
31
|
+
id: n,
|
|
32
|
+
selected: !r,
|
|
33
|
+
selector: "Mouse"
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
36
|
+
handleMouseEnter = () => {
|
|
37
|
+
let { disabled: e } = this.props;
|
|
38
|
+
e || (document.body.style.cursor = "pointer"), this.setState({ hovered: !0 });
|
|
39
|
+
};
|
|
40
|
+
handleMouseLeave = () => {
|
|
41
|
+
document.body.style.cursor = "default", this.setState({ hovered: !1 });
|
|
42
|
+
};
|
|
43
|
+
getEvaluateOutlineColor = (e, t, n) => t ? "green" : e ? n : "red";
|
|
44
|
+
getOutlineWidth = (e, t, n, r) => n || !n && !e && t ? r : 0;
|
|
45
|
+
render() {
|
|
46
|
+
let { hotspotColor: r, isCorrect: i, isEvaluateMode: s, hoverOutlineColor: c, outlineColor: l, selected: u, points: d, evaluateText: h, strokeWidth: g, scale: _, markAsCorrect: v, selectedHotspotColor: y, showCorrectEnabled: b } = this.props, { hovered: x } = this.state, S = s ? this.getEvaluateOutlineColor(i, v, l) : l, C = this.getOutlineWidth(b, u, v, g), w = this.parsePointsForKonva(d), T = this.getPolygonCenter(d), E = T[0], D = T[1], O;
|
|
47
|
+
b ? (u && i || !u && !i) && (O = t) : u ? O = i ? t : n : i || (O = n);
|
|
48
|
+
let k = x && c, A = w.filter((e, t) => t % 2 == 0), j = w.filter((e, t) => t % 2 != 0), M = Math.min(...A), N = Math.max(...A), P = Math.min(...j), F = Math.max(...j), I = M, L = P, R = N - M, z = F - P;
|
|
49
|
+
return /* @__PURE__ */ o(p, {
|
|
50
|
+
scaleX: _,
|
|
51
|
+
scaleY: _,
|
|
52
|
+
children: [
|
|
53
|
+
k && /* @__PURE__ */ a(f, {
|
|
54
|
+
x: I,
|
|
55
|
+
y: L,
|
|
56
|
+
width: R,
|
|
57
|
+
height: z,
|
|
58
|
+
stroke: u ? "transparent" : c,
|
|
59
|
+
strokeWidth: g
|
|
60
|
+
}),
|
|
61
|
+
/* @__PURE__ */ a(m, {
|
|
62
|
+
points: w,
|
|
63
|
+
closed: !0,
|
|
64
|
+
fill: u && y ? y : r,
|
|
65
|
+
onClick: this.handleClick,
|
|
66
|
+
onTap: this.handleClick,
|
|
67
|
+
draggable: !1,
|
|
68
|
+
stroke: k && !u ? "transparent" : S,
|
|
69
|
+
strokeWidth: k && !u ? 0 : C,
|
|
70
|
+
onMouseLeave: this.handleMouseLeave,
|
|
71
|
+
onMouseEnter: this.handleMouseEnter,
|
|
72
|
+
cursor: "pointer",
|
|
73
|
+
position: "relative"
|
|
74
|
+
}),
|
|
75
|
+
s && O ? /* @__PURE__ */ a(e, {
|
|
76
|
+
src: O,
|
|
77
|
+
x: E,
|
|
78
|
+
y: D,
|
|
79
|
+
tooltip: h
|
|
80
|
+
}) : null
|
|
81
|
+
]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
h.propTypes = {
|
|
86
|
+
hotspotColor: i.string.isRequired,
|
|
87
|
+
id: i.string.isRequired,
|
|
88
|
+
isCorrect: i.bool.isRequired,
|
|
89
|
+
isEvaluateMode: i.bool.isRequired,
|
|
90
|
+
hoverOutlineColor: i.string,
|
|
91
|
+
disabled: i.bool.isRequired,
|
|
92
|
+
onClick: i.func.isRequired,
|
|
93
|
+
outlineColor: i.string.isRequired,
|
|
94
|
+
points: i.array.isRequired,
|
|
95
|
+
selected: i.bool.isRequired,
|
|
96
|
+
evaluateText: i.string,
|
|
97
|
+
selectedHotspotColor: i.string,
|
|
98
|
+
strokeWidth: i.number,
|
|
99
|
+
scale: i.number,
|
|
100
|
+
markAsCorrect: i.bool.isRequired,
|
|
101
|
+
showCorrectEnabled: i.bool.isRequired
|
|
102
|
+
}, h.defaultProps = {
|
|
103
|
+
evaluateText: null,
|
|
104
|
+
strokeWidth: 5,
|
|
105
|
+
scale: 1
|
|
106
|
+
};
|
|
107
|
+
//#endregion
|
|
108
|
+
export { h as default };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @synced-from pie-elements/packages/hotspot/src/hotspot/rectangle.jsx
|
|
3
|
+
* @auto-generated
|
|
4
|
+
*
|
|
5
|
+
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
6
|
+
* Manual edits will be overwritten on next sync.
|
|
7
|
+
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
declare class RectComponent extends React.Component {
|
|
11
|
+
constructor(props: any);
|
|
12
|
+
handleClick: any;
|
|
13
|
+
handleMouseEnter: any;
|
|
14
|
+
handleMouseLeave: any;
|
|
15
|
+
getEvaluateOutlineColor: (isCorrect: any, markAsCorrect: any, outlineColor: any) => any;
|
|
16
|
+
getOutlineWidth: (showCorrectEnabled: any, selected: any, markAsCorrect: any, strokeWidth: any) => any;
|
|
17
|
+
render(): React.JSX.Element;
|
|
18
|
+
}
|
|
19
|
+
export default RectComponent;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import e from "./image-konva-tooltip.js";
|
|
2
|
+
import { faCorrect as t, faWrong as n } from "./icons.js";
|
|
3
|
+
import r from "react";
|
|
4
|
+
import i from "prop-types";
|
|
5
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
6
|
+
import { Group as s, Rect as c } from "react-konva";
|
|
7
|
+
//#region src/delivery/hotspot/rectangle.tsx
|
|
8
|
+
function l(e) {
|
|
9
|
+
return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
|
|
10
|
+
}
|
|
11
|
+
function u(e, t) {
|
|
12
|
+
return !e || l(e) ? e : l(e.default) ? e.default : t && l(e[t]) ? e[t] : t && l(e[t]?.default) ? e[t].default : e;
|
|
13
|
+
}
|
|
14
|
+
var d = u(s, "Group"), f = u(c, "Rect"), p = class extends r.Component {
|
|
15
|
+
constructor(e) {
|
|
16
|
+
super(e), this.state = { hovered: !1 };
|
|
17
|
+
}
|
|
18
|
+
handleClick = (e) => {
|
|
19
|
+
let { onClick: t, id: n, selected: r, disabled: i } = this.props;
|
|
20
|
+
i || (e.cancelBubble = !0, t({
|
|
21
|
+
id: n,
|
|
22
|
+
selected: !r,
|
|
23
|
+
selector: "Mouse"
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
26
|
+
handleMouseEnter = () => {
|
|
27
|
+
let { disabled: e } = this.props;
|
|
28
|
+
e || (document.body.style.cursor = "pointer"), this.setState({ hovered: !0 });
|
|
29
|
+
};
|
|
30
|
+
handleMouseLeave = () => {
|
|
31
|
+
document.body.style.cursor = "default", this.setState({ hovered: !1 });
|
|
32
|
+
};
|
|
33
|
+
getEvaluateOutlineColor = (e, t, n) => t ? "green" : e ? n : "red";
|
|
34
|
+
getOutlineWidth = (e, t, n, r) => n || !n && !e && t ? r : 0;
|
|
35
|
+
render() {
|
|
36
|
+
let { height: r, hotspotColor: i, hoverOutlineColor: s, selectedHotspotColor: c, isCorrect: l, isEvaluateMode: u, outlineColor: p, selected: m, width: h, x: g, y: _, evaluateText: v, strokeWidth: y, scale: b, markAsCorrect: x, showCorrectEnabled: S } = this.props, C = u ? this.getEvaluateOutlineColor(l, x, p) : p, w = this.getOutlineWidth(S, m, x, y), T = g + h / 2 - 10, E = _ + r / 2 - 10, D;
|
|
37
|
+
S ? (m && l || !m && !l) && (D = t) : m ? D = l ? t : n : l || (D = n);
|
|
38
|
+
let { hovered: O } = this.state, k = O && s;
|
|
39
|
+
return /* @__PURE__ */ o(d, {
|
|
40
|
+
scaleX: b,
|
|
41
|
+
scaleY: b,
|
|
42
|
+
children: [
|
|
43
|
+
k && /* @__PURE__ */ a(f, {
|
|
44
|
+
x: g,
|
|
45
|
+
y: _,
|
|
46
|
+
width: h,
|
|
47
|
+
height: r,
|
|
48
|
+
stroke: m ? "transparent" : s,
|
|
49
|
+
strokeWidth: y,
|
|
50
|
+
listening: !1
|
|
51
|
+
}),
|
|
52
|
+
/* @__PURE__ */ a(f, {
|
|
53
|
+
x: g,
|
|
54
|
+
y: _,
|
|
55
|
+
width: h,
|
|
56
|
+
height: r,
|
|
57
|
+
fill: m && c ? c : i,
|
|
58
|
+
onClick: this.handleClick,
|
|
59
|
+
onTap: this.handleClick,
|
|
60
|
+
draggable: !1,
|
|
61
|
+
stroke: k && !m ? "transparent" : C,
|
|
62
|
+
strokeWidth: k && !m ? 0 : w,
|
|
63
|
+
onMouseLeave: this.handleMouseLeave,
|
|
64
|
+
onMouseEnter: this.handleMouseEnter,
|
|
65
|
+
cursor: "pointer"
|
|
66
|
+
}),
|
|
67
|
+
u && D ? /* @__PURE__ */ a(e, {
|
|
68
|
+
src: D,
|
|
69
|
+
x: T,
|
|
70
|
+
y: E,
|
|
71
|
+
tooltip: v
|
|
72
|
+
}) : null
|
|
73
|
+
]
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
p.propTypes = {
|
|
78
|
+
height: i.number.isRequired,
|
|
79
|
+
hotspotColor: i.string.isRequired,
|
|
80
|
+
id: i.string.isRequired,
|
|
81
|
+
isCorrect: i.oneOfType([i.bool, i.string]),
|
|
82
|
+
isEvaluateMode: i.bool.isRequired,
|
|
83
|
+
hoverOutlineColor: i.string,
|
|
84
|
+
disabled: i.bool.isRequired,
|
|
85
|
+
onClick: i.func.isRequired,
|
|
86
|
+
outlineColor: i.string.isRequired,
|
|
87
|
+
selected: i.bool.isRequired,
|
|
88
|
+
width: i.number.isRequired,
|
|
89
|
+
x: i.number.isRequired,
|
|
90
|
+
y: i.number.isRequired,
|
|
91
|
+
evaluateText: i.string,
|
|
92
|
+
strokeWidth: i.number,
|
|
93
|
+
scale: i.number,
|
|
94
|
+
selectedHotspotColor: i.string,
|
|
95
|
+
markAsCorrect: i.bool.isRequired,
|
|
96
|
+
showCorrectEnabled: i.bool.isRequired
|
|
97
|
+
}, p.defaultProps = {
|
|
98
|
+
isCorrect: !1,
|
|
99
|
+
evaluateText: null,
|
|
100
|
+
strokeWidth: 5,
|
|
101
|
+
scale: 1
|
|
102
|
+
};
|
|
103
|
+
//#endregion
|
|
104
|
+
export { p as default };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @synced-from pie-elements/packages/hotspot/src/index.js
|
|
3
|
+
* @auto-generated
|
|
4
|
+
*
|
|
5
|
+
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
6
|
+
* Manual edits will be overwritten on next sync.
|
|
7
|
+
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
8
|
+
*/
|
|
9
|
+
export default class Hotspot extends HTMLElement {
|
|
10
|
+
constructor();
|
|
11
|
+
set model(m: any);
|
|
12
|
+
isComplete(): boolean;
|
|
13
|
+
set session(s: any);
|
|
14
|
+
get session(): any;
|
|
15
|
+
onSelectChoice(data: any): void;
|
|
16
|
+
_createAudioInfoToast(): HTMLDivElement;
|
|
17
|
+
connectedCallback(): void;
|
|
18
|
+
_render(): void;
|
|
19
|
+
disconnectedCallback(): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import e from "./hotspot/index.js";
|
|
2
|
+
import { updateSessionMetadata as t, updateSessionValue as n } from "./session-updater.js";
|
|
3
|
+
import r from "react";
|
|
4
|
+
import { createRoot as i } from "react-dom/client";
|
|
5
|
+
import { renderMath as a } from "@pie-element/shared-math-rendering-mathjax";
|
|
6
|
+
import * as o from "@pie-lib/render-ui";
|
|
7
|
+
import { EnableAudioAutoplayImage as s } from "@pie-lib/render-ui";
|
|
8
|
+
import { ModelSetEvent as c, SessionChangedEvent as l } from "@pie-element/shared-player-events";
|
|
9
|
+
//#region src/delivery/index.ts
|
|
10
|
+
function u(e) {
|
|
11
|
+
return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
|
|
12
|
+
}
|
|
13
|
+
function d(e, t) {
|
|
14
|
+
return !e || u(e) ? e : u(e.default) ? e.default : t && u(e[t]) ? e[t] : t && u(e[t]?.default) ? e[t].default : e;
|
|
15
|
+
}
|
|
16
|
+
var f = d(s, "EnableAudioAutoplayImage") || d(h.EnableAudioAutoplayImage, "EnableAudioAutoplayImage"), p = o, m = p.default, h = m && typeof m == "object" ? m : p, g = class extends HTMLElement {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(), this._model = null, this._session = null, this._audioInitialized = !1, this.audioComplete = !1, this._root = null;
|
|
19
|
+
}
|
|
20
|
+
set model(e) {
|
|
21
|
+
this._model = e, this.dispatchEvent(new c(this.tagName.toLowerCase(), this.isComplete(), !!this._model)), this._audioInitialized = !1, this._render();
|
|
22
|
+
}
|
|
23
|
+
isComplete() {
|
|
24
|
+
if (!this._session || !this._session.answers) return !1;
|
|
25
|
+
let { autoplayAudioEnabled: e, completeAudioEnabled: t } = this._model || {}, n = this;
|
|
26
|
+
if (e && t && !this.audioComplete && n) {
|
|
27
|
+
let e = n.querySelector("audio"), t = e && e.closest("#preview-prompt");
|
|
28
|
+
if (e && t) return !1;
|
|
29
|
+
}
|
|
30
|
+
return Array.isArray(this._session.answers) ? this._session.answers.length > 0 : !1;
|
|
31
|
+
}
|
|
32
|
+
set session(e) {
|
|
33
|
+
e && !e.answers && (e.answers = []), this._session = e, this._render();
|
|
34
|
+
}
|
|
35
|
+
get session() {
|
|
36
|
+
return this._session;
|
|
37
|
+
}
|
|
38
|
+
onSelectChoice(e) {
|
|
39
|
+
n(this._session, this._model, e), this.dispatchEvent(new l(this.tagName.toLowerCase(), this.isComplete())), this._render();
|
|
40
|
+
}
|
|
41
|
+
_createAudioInfoToast() {
|
|
42
|
+
let e = document.createElement("div");
|
|
43
|
+
e.id = "play-audio-info", Object.assign(e.style, {
|
|
44
|
+
position: "absolute",
|
|
45
|
+
top: 0,
|
|
46
|
+
width: "100%",
|
|
47
|
+
height: "100%",
|
|
48
|
+
display: "flex",
|
|
49
|
+
justifyContent: "center",
|
|
50
|
+
alignItems: "center",
|
|
51
|
+
background: "white",
|
|
52
|
+
zIndex: "1000",
|
|
53
|
+
cursor: "pointer"
|
|
54
|
+
});
|
|
55
|
+
let t = document.createElement("img");
|
|
56
|
+
return t.src = f, t.alt = "Click anywhere to enable audio autoplay", t.width = 500, t.height = 300, e.appendChild(t), e;
|
|
57
|
+
}
|
|
58
|
+
connectedCallback() {
|
|
59
|
+
this._render(), new MutationObserver((e, n) => {
|
|
60
|
+
e.forEach((e) => {
|
|
61
|
+
if (e.type === "childList") {
|
|
62
|
+
if (this._audioInitialized) return;
|
|
63
|
+
let e = this.querySelector("audio"), r = e && e.closest("#preview-prompt");
|
|
64
|
+
if (!this._model || !this._model.autoplayAudioEnabled || e && !r || !e) return;
|
|
65
|
+
let i = this._createAudioInfoToast(), a = this.querySelector("#main-container"), o = () => {
|
|
66
|
+
this.querySelector("#play-audio-info") && (e.play(), a.removeChild(i)), document.removeEventListener("click", o);
|
|
67
|
+
};
|
|
68
|
+
setTimeout(() => {
|
|
69
|
+
e.paused && !this.querySelector("#play-audio-info") ? (a.appendChild(i), document.addEventListener("click", o)) : document.removeEventListener("click", o);
|
|
70
|
+
}, 500);
|
|
71
|
+
let s = () => {
|
|
72
|
+
t(this._session, { audioStartTime: (/* @__PURE__ */ new Date()).getTime() });
|
|
73
|
+
let n = this.querySelector("#play-audio-info");
|
|
74
|
+
n && a.removeChild(n), e.removeEventListener("playing", s);
|
|
75
|
+
};
|
|
76
|
+
e.addEventListener("playing", s);
|
|
77
|
+
let c = () => {
|
|
78
|
+
t(this._session, { audioEndTime: (/* @__PURE__ */ new Date()).getTime() });
|
|
79
|
+
let { audioStartTime: n, audioEndTime: r, waitTime: i } = this._session;
|
|
80
|
+
!i && n && r && (this._session.waitTime = r - n), this.audioComplete = !0, this.dispatchEvent(new l(this.tagName.toLowerCase(), this.isComplete())), e.removeEventListener("ended", c);
|
|
81
|
+
};
|
|
82
|
+
e.addEventListener("ended", c), this._audio = e, this._handlePlaying = s, this._handleEnded = c, this._enableAudio = o, this._audioInitialized = !0, n.disconnect();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}).observe(this, {
|
|
86
|
+
childList: !0,
|
|
87
|
+
subtree: !0
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
_render() {
|
|
91
|
+
if (this._model && this._session) {
|
|
92
|
+
let t = r.createElement(e, {
|
|
93
|
+
model: this._model,
|
|
94
|
+
session: this._session,
|
|
95
|
+
onSelectChoice: this.onSelectChoice.bind(this)
|
|
96
|
+
});
|
|
97
|
+
this._root ||= i(this), this._root.render(t), queueMicrotask(() => {
|
|
98
|
+
a(this);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
disconnectedCallback() {
|
|
103
|
+
document.removeEventListener("click", this._enableAudio), this._audio &&= (this._audio.removeEventListener("playing", this._handlePlaying), this._audio.removeEventListener("ended", this._handleEnded), null), this._root && this._root.unmount();
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
//#endregion
|
|
107
|
+
export { g as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @synced-from pie-elements/packages/hotspot/src/session-updater.js
|
|
3
|
+
* @auto-generated
|
|
4
|
+
*
|
|
5
|
+
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
6
|
+
* Manual edits will be overwritten on next sync.
|
|
7
|
+
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
8
|
+
*/
|
|
9
|
+
export declare function updateSessionValue(session: any, model: any, data: any): void;
|
|
10
|
+
export declare function updateSessionMetadata(session: any, metadata: any): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/delivery/session-updater.ts
|
|
2
|
+
function e(e, t, n) {
|
|
3
|
+
let { id: r, selected: i } = n, { multipleCorrect: a } = t || {};
|
|
4
|
+
if (e.answers = e.answers || [], !i) e.answers = e.answers.filter((e) => e.id !== r);
|
|
5
|
+
else {
|
|
6
|
+
let t = { id: r };
|
|
7
|
+
a ? e.answers.push(t) : e.answers = [t], e.selector = n.selector;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function t(e, t) {
|
|
11
|
+
e.audioStartTime = e.audioStartTime || t.audioStartTime, e.audioEndTime = e.audioEndTime || t.audioEndTime, !e.waitTime && e.audioStartTime && e.audioEndTime && (e.waitTime = e.audioEndTime - e.audioStartTime);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { t as updateSessionMetadata, e as updateSessionValue };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './delivery/index.js';
|