@inappstory/react-sdk 1.9.3 → 1.9.4

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.
@@ -94,7 +94,7 @@ ___CSS_LOADER_EXPORT___.locals = {
94
94
 
95
95
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));
96
96
  // Module
97
- ___CSS_LOADER_EXPORT___.push([module.id, "@keyframes spin--Vkzob{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.splash-container--o7jGP{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;z-index:-1}.splash-container--o7jGP .splash-container__image--oC55V{position:absolute;inset:0px;z-index:0}.splash-container--o7jGP .splash-container__image--oC55V img{width:100%;height:100%;object-fit:cover}.splash-container--o7jGP .splash-container__lottie--krFru{position:absolute;inset:0px;z-index:1}.splash-container--o7jGP .splash-container__lottie--krFru canvas{width:100%;height:100%}.splash-container--o7jGP.splash-container--isLoading--O-XQM:after{display:inline-block;position:absolute;top:calc(50% - 1rem);left:calc(50% - 1rem);content:\"\";width:2rem;height:2rem;border:solid 2px var(--GRLoaderBackgroundColor, white);border-color:var(--GRLoaderBackgroundAccentColor, transparent) var(--GRLoaderBackgroundColor, white) var(--GRLoaderBackgroundColor, white) var(--GRLoaderBackgroundColor, white);border-radius:50%;animation:spin--Vkzob .6s infinite linear;z-index:10}.splash-container--o7jGP.splash-container--fadeIn--7OcPY{opacity:1;transition:opacity ease-in .2s}.splash-container--o7jGP.splash-container--fadeOut--MC7Yo{opacity:0;transition:opacity ease-out .3s}", "",{"version":3,"sources":["webpack://./src/GameReader/GameSplashScreen/gameSplashScreen.module.scss"],"names":[],"mappings":"AAAA,uBACI,KACI,8BAAA,CACA,sBAAA,CAGJ,GACI,gCAAA,CACA,wBAAA,CAAA,CAIR,yBACI,iBAAA,CACA,MAAA,CACA,KAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CACA,UAAA,CAEA,yDACI,iBAAA,CACA,SAAA,CACA,SAAA,CAEA,6DACI,UAAA,CACA,WAAA,CACA,gBAAA,CAIR,0DACI,iBAAA,CACA,SAAA,CACA,SAAA,CAEA,iEACI,UAAA,CACA,WAAA,CAIR,kEACI,oBAAA,CACA,iBAAA,CACA,oBAAA,CACA,qBAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CACA,gLAAA,CACA,iBAAA,CACA,yCAAA,CACA,UAAA,CAGJ,yDACI,SAAA,CACA,8BAAA,CAGJ,0DACI,SAAA,CACA,+BAAA","sourcesContent":["@keyframes spin {\n from {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n to {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.splash-container {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: -1;\n\n .splash-container__image {\n position: absolute;\n inset: 0px;\n z-index: 0;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n .splash-container__lottie {\n position: absolute;\n inset: 0px;\n z-index: 1;\n\n canvas {\n width: 100%;\n height: 100%;\n }\n }\n\n &.splash-container--isLoading:after {\n display: inline-block;\n position: absolute;\n top: calc(50% - 2rem / 2);\n left: calc(50% - 2rem / 2);\n content: '';\n width: 2rem;\n height: 2rem;\n border: solid 2px var(--GRLoaderBackgroundColor, white);\n border-color: var(--GRLoaderBackgroundAccentColor, transparent) var(--GRLoaderBackgroundColor, white) var(--GRLoaderBackgroundColor, white) var(--GRLoaderBackgroundColor, white);\n border-radius: 50%;\n animation: spin .6s infinite linear;\n z-index: 10;\n }\n\n &.splash-container--fadeIn {\n opacity: 1;\n transition: opacity ease-in 0.2s;\n }\n\n &.splash-container--fadeOut {\n opacity: 0;\n transition: opacity ease-out 0.3s;\n }\n}"],"sourceRoot":""}]);
97
+ ___CSS_LOADER_EXPORT___.push([module.id, "@keyframes spin--Vkzob{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.splash-container--o7jGP{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;z-index:-1}.splash-container--o7jGP .splash-container__image--oC55V{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.splash-container--o7jGP .splash-container__image--oC55V img{width:100%;height:100%;object-fit:cover}.splash-container--o7jGP .splash-container__lottie--krFru{position:absolute;left:0;right:0;top:0;bottom:0;z-index:1}.splash-container--o7jGP .splash-container__lottie--krFru canvas{width:100%;height:100%}.splash-container--o7jGP.splash-container--isLoading--O-XQM:after{display:inline-block;position:absolute;top:calc(50% - 1rem);left:calc(50% - 1rem);content:\"\";width:2rem;height:2rem;border:solid 2px var(--GRLoaderBackgroundColor, white);border-color:var(--GRLoaderBackgroundAccentColor, transparent) var(--GRLoaderBackgroundColor, white) var(--GRLoaderBackgroundColor, white) var(--GRLoaderBackgroundColor, white);border-radius:50%;animation:spin--Vkzob .6s infinite linear;z-index:10}.splash-container--o7jGP.splash-container--fadeIn--7OcPY{opacity:1;transition:opacity ease-in .2s}.splash-container--o7jGP.splash-container--fadeOut--MC7Yo{opacity:0;transition:opacity ease-out .3s}", "",{"version":3,"sources":["webpack://./src/GameReader/GameSplashScreen/gameSplashScreen.module.scss"],"names":[],"mappings":"AAAA,uBACI,KACI,8BAAA,CACA,sBAAA,CAGJ,GACI,gCAAA,CACA,wBAAA,CAAA,CA8BR,yBACI,iBAAA,CACA,MAAA,CACA,KAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CACA,UAAA,CAEA,yDACI,iBAAA,CACA,MAAA,CACA,OAAA,CACA,KAAA,CACA,QAAA,CACA,SAAA,CAEA,6DACI,UAAA,CACA,WAAA,CACA,gBAAA,CAIR,0DACI,iBAAA,CACA,MAAA,CACA,OAAA,CACA,KAAA,CACA,QAAA,CACA,SAAA,CAEA,iEACI,UAAA,CACA,WAAA,CAIR,kEACI,oBAAA,CACA,iBAAA,CACA,oBAAA,CACA,qBAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CACA,gLAAA,CACA,iBAAA,CACA,yCAAA,CACA,UAAA,CAGJ,yDACI,SAAA,CACA,8BAAA,CAGJ,0DACI,SAAA,CACA,+BAAA","sourcesContent":["@keyframes spin {\n from {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n to {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n/* .splash-container.splash-container--widescreen {\n .splash-container__image {\n display: flex;\n justify-content: center;\n align-items: center;\n\n img {\n object-fit: fill;\n width: auto;\n height: 100%;\n max-width: inherit;\n }\n\n \n }\n\n .splash-container__lottie {\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -50%, 0);\n width: 28vmin;\n max-width: 360px;\n min-width: 160px;\n }\n} */\n\n.splash-container {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: -1;\n\n .splash-container__image {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 0;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n .splash-container__lottie {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 1;\n\n canvas {\n width: 100%;\n height: 100%;\n }\n }\n\n &.splash-container--isLoading:after {\n display: inline-block;\n position: absolute;\n top: calc(50% - 2rem / 2);\n left: calc(50% - 2rem / 2);\n content: '';\n width: 2rem;\n height: 2rem;\n border: solid 2px var(--GRLoaderBackgroundColor, white);\n border-color: var(--GRLoaderBackgroundAccentColor, transparent) var(--GRLoaderBackgroundColor, white) var(--GRLoaderBackgroundColor, white) var(--GRLoaderBackgroundColor, white);\n border-radius: 50%;\n animation: spin .6s infinite linear;\n z-index: 10;\n }\n\n &.splash-container--fadeIn {\n opacity: 1;\n transition: opacity ease-in 0.2s;\n }\n\n &.splash-container--fadeOut {\n opacity: 0;\n transition: opacity ease-out 0.3s;\n }\n}"],"sourceRoot":""}]);
98
98
  // Exports
99
99
  ___CSS_LOADER_EXPORT___.locals = {
100
100
  "splash-container": "splash-container--o7jGP",
@@ -976,6 +976,31 @@ ___CSS_LOADER_EXPORT___.locals = {
976
976
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
977
977
 
978
978
 
979
+ /***/ }),
980
+
981
+ /***/ 827:
982
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
983
+
984
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
985
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
986
+ /* harmony export */ });
987
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(372);
988
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);
989
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(935);
990
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
991
+ // Imports
992
+
993
+
994
+ var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));
995
+ // Module
996
+ ___CSS_LOADER_EXPORT___.push([module.id, ".ias-copy-button--q2E8X{color:#fff}.ias-copy-button--q2E8X:hover{color:#fff}", "",{"version":3,"sources":["webpack://./src/UI/SharePanel/ShareCopyButton/shareCopyButton.module.scss"],"names":[],"mappings":"AAAA,wBACI,UAAA,CAGJ,8BACI,UAAA","sourcesContent":[".ias-copy-button {\n color: white;\n}\n\n.ias-copy-button:hover {\n color: white;\n}"],"sourceRoot":""}]);
997
+ // Exports
998
+ ___CSS_LOADER_EXPORT___.locals = {
999
+ "ias-copy-button": "ias-copy-button--q2E8X"
1000
+ };
1001
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
1002
+
1003
+
979
1004
  /***/ }),
980
1005
 
981
1006
  /***/ 749:
@@ -5912,78 +5937,13 @@ const AppearanceCommonOptionsDefault = {
5912
5937
  };
5913
5938
 
5914
5939
 
5915
- ;// CONCATENATED MODULE: ../core/src/types/gameReader.ts
5916
-
5917
- const GameReaderOptionsDefault = {
5918
- borderRadius: 5,
5919
- loader: {
5920
- default: {
5921
- color: "white",
5922
- accentColor: "transparent"
5923
- },
5924
- custom: null
5925
- },
5926
- backdropColor: "#1a1a1a",
5927
- backdrop: {
5928
- opacity: 1,
5929
- background: "#1a1a1a"
5930
- },
5931
- game: {
5932
- backdropColor: "rgb(51, 51, 51)"
5933
- },
5934
- forceDesktopMode: AppearanceCommonOptionsDefault.forceDesktopMode,
5935
- forceCheckOrientation: true
5936
- };
5937
-
5938
-
5939
- ;// CONCATENATED MODULE: ../core/src/types/goodsWidget.ts
5940
- var GoodsWidgetRenderingType;
5941
- (function (GoodsWidgetRenderingType) {
5942
- GoodsWidgetRenderingType["DEFAULT"] = "default";
5943
- GoodsWidgetRenderingType["CUSTOM_CARD"] = "customCard";
5944
- })(GoodsWidgetRenderingType || (GoodsWidgetRenderingType = {}));
5945
- const GoodsWidgetOptionsDefault = {
5946
- goodsWidgetRenderingType: GoodsWidgetRenderingType.DEFAULT,
5947
- goodsList: {
5948
- renderingType: GoodsWidgetRenderingType.DEFAULT,
5949
- closeBackgroundColor: "#000000",
5950
- substrateHeight: 200,
5951
- substrateColor: "#FFFFFF",
5952
- dimColor: "rgba(0, 0, 0, 0.5)"
5953
- },
5954
- goodsCard: {
5955
- mainTextColor: "#000000",
5956
- oldPriceTextColor: "#CCCCCC",
5957
- imageBackgroundColor: "transparent",
5958
- imageCornerRadius: 8
5959
- },
5960
- openGoodsWidgetHandler: goods => Promise.resolve(goods),
5961
- loader: {
5962
- default: {
5963
- color: "gray",
5964
- accentColor: "transparent"
5965
- }
5966
- }
5967
- };
5968
-
5969
-
5970
- ;// CONCATENATED MODULE: ../core/src/types/storyManager.ts
5971
- var StoryManagerEvent;
5972
- (function (StoryManagerEvent) {
5973
- StoryManagerEvent["WidgetEvent"] = "widgetEvent";
5974
- StoryManagerEvent["ClickOnButton"] = "clickOnButton";
5975
- })(StoryManagerEvent || (StoryManagerEvent = {}));
5976
- var CTASource;
5977
- (function (CTASource) {
5978
- CTASource["STORY_LIST"] = "storyList";
5979
- CTASource["STORY_READER"] = "storyReader";
5980
- CTASource["GAME_READER"] = "gameReader";
5981
- CTASource["STACK_STORY_LIST"] = "stackStoryList";
5982
- CTASource["IAM_READER"] = "iamReader";
5983
- CTASource["BANNERS"] = "banners";
5984
- })(CTASource || (CTASource = {}));
5985
-
5986
5940
  ;// CONCATENATED MODULE: ../core/src/types/sharePanel.ts
5941
+ var ShareType;
5942
+ (function (ShareType) {
5943
+ ShareType["Text"] = "text";
5944
+ ShareType["Link"] = "link";
5945
+ ShareType["Image"] = "image";
5946
+ })(ShareType || (ShareType = {}));
5987
5947
  const twitter = {
5988
5948
  label: "X",
5989
5949
  icon: {
@@ -6077,6 +6037,14 @@ const SharePanelDefault = {
6077
6037
  },
6078
6038
  copyButton: {
6079
6039
  label: "Copy link",
6040
+ getLabel: ({ url, text, type }) => {
6041
+ var _a;
6042
+ if (type === ShareType.Link)
6043
+ return (_a = SharePanelDefault.copyButton.label) !== null && _a !== void 0 ? _a : "Copy link";
6044
+ if (type === ShareType.Text)
6045
+ return "Copy text";
6046
+ return "";
6047
+ },
6080
6048
  svgSrc: {
6081
6049
  baseState: `<svg width="30px" height="30px" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 20"><path d="M6.6 0a2 2 0 0 0-2 2v12c0 1.2.9 2 2 2h9a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-9Zm0 2h9v12h-9V2Z" fill="currentColor"/><path d="M2.6 20a2 2 0 0 1-2-2V5h2v13h10v2h-10Z" fill="currentColor"/></svg>`,
6082
6050
  doneState: `<svg width="30px" height="30px" fill="none" viewBox="0 0 386 264" xmlns="http://www.w3.org/2000/svg">
@@ -6094,7 +6062,7 @@ const SharePanelDefault = {
6094
6062
  background: "white",
6095
6063
  display: true
6096
6064
  },
6097
- getValue: ({ url }) => url
6065
+ getValue: ({ url, text }) => url || text || ""
6098
6066
  },
6099
6067
  background: "#202125",
6100
6068
  borderRadius: 20,
@@ -6107,6 +6075,79 @@ const SharePanelDefault = {
6107
6075
  }
6108
6076
  };
6109
6077
 
6078
+ ;// CONCATENATED MODULE: ../core/src/types/gameReader.ts
6079
+
6080
+
6081
+ const GameReaderOptionsDefault = {
6082
+ borderRadius: 5,
6083
+ loader: {
6084
+ default: {
6085
+ color: "white",
6086
+ accentColor: "transparent"
6087
+ },
6088
+ custom: null
6089
+ },
6090
+ backdropColor: "#1a1a1a",
6091
+ backdrop: {
6092
+ opacity: 1,
6093
+ background: "#1a1a1a"
6094
+ },
6095
+ game: {
6096
+ backdropColor: "rgb(51, 51, 51)"
6097
+ },
6098
+ forceDesktopMode: AppearanceCommonOptionsDefault.forceDesktopMode,
6099
+ forceCheckOrientation: true,
6100
+ sharePanel: SharePanelDefault,
6101
+ };
6102
+
6103
+
6104
+ ;// CONCATENATED MODULE: ../core/src/types/goodsWidget.ts
6105
+ var GoodsWidgetRenderingType;
6106
+ (function (GoodsWidgetRenderingType) {
6107
+ GoodsWidgetRenderingType["DEFAULT"] = "default";
6108
+ GoodsWidgetRenderingType["CUSTOM_CARD"] = "customCard";
6109
+ })(GoodsWidgetRenderingType || (GoodsWidgetRenderingType = {}));
6110
+ const GoodsWidgetOptionsDefault = {
6111
+ goodsWidgetRenderingType: GoodsWidgetRenderingType.DEFAULT,
6112
+ goodsList: {
6113
+ renderingType: GoodsWidgetRenderingType.DEFAULT,
6114
+ closeBackgroundColor: "#000000",
6115
+ substrateHeight: 200,
6116
+ substrateColor: "#FFFFFF",
6117
+ dimColor: "rgba(0, 0, 0, 0.5)"
6118
+ },
6119
+ goodsCard: {
6120
+ mainTextColor: "#000000",
6121
+ oldPriceTextColor: "#CCCCCC",
6122
+ imageBackgroundColor: "transparent",
6123
+ imageCornerRadius: 8
6124
+ },
6125
+ openGoodsWidgetHandler: goods => Promise.resolve(goods),
6126
+ loader: {
6127
+ default: {
6128
+ color: "gray",
6129
+ accentColor: "transparent"
6130
+ }
6131
+ }
6132
+ };
6133
+
6134
+
6135
+ ;// CONCATENATED MODULE: ../core/src/types/storyManager.ts
6136
+ var StoryManagerEvent;
6137
+ (function (StoryManagerEvent) {
6138
+ StoryManagerEvent["WidgetEvent"] = "widgetEvent";
6139
+ StoryManagerEvent["ClickOnButton"] = "clickOnButton";
6140
+ })(StoryManagerEvent || (StoryManagerEvent = {}));
6141
+ var CTASource;
6142
+ (function (CTASource) {
6143
+ CTASource["STORY_LIST"] = "storyList";
6144
+ CTASource["STORY_READER"] = "storyReader";
6145
+ CTASource["GAME_READER"] = "gameReader";
6146
+ CTASource["STACK_STORY_LIST"] = "stackStoryList";
6147
+ CTASource["IAM_READER"] = "iamReader";
6148
+ CTASource["BANNERS"] = "banners";
6149
+ })(CTASource || (CTASource = {}));
6150
+
6110
6151
  ;// CONCATENATED MODULE: ../core/src/types/storyReader.ts
6111
6152
 
6112
6153
  var StoryReaderSwipeStyle;
@@ -7649,11 +7690,6 @@ function processSlideElement(env, preview, styles, hideElementsSelector) {
7649
7690
  * iOS in VK mini apps - does not complete share promise (on bottom sheet swipe down)
7650
7691
  * so we check and call `completeNativeSharing()` after any user gesture
7651
7692
  */
7652
- var ShareType;
7653
- (function (ShareType) {
7654
- ShareType["Social"] = "social";
7655
- ShareType["SlideScreenshot"] = "slide-screenshot";
7656
- })(ShareType || (ShareType = {}));
7657
7693
  class SharingService {
7658
7694
  async getScreenShot({ hideElementsSelector, slideContent }) {
7659
7695
  const file = await processSlideElement(ENV.IOS, slideContent, extractStyles(function () {
@@ -7721,6 +7757,7 @@ var sharePanelViewModel_classPrivateFieldSet = (undefined && undefined.__classPr
7721
7757
 
7722
7758
 
7723
7759
 
7760
+
7724
7761
  let SharePanelViewModel = (() => {
7725
7762
  var _a, _SharePanelViewModel__isOpened_accessor_storage, _SharePanelViewModel__params_accessor_storage;
7726
7763
  let _instanceExtraInitializers = [];
@@ -7779,7 +7816,7 @@ let SharePanelViewModel = (() => {
7779
7816
  _SharePanelViewModel__isOpened_accessor_storage.set(this, sharePanelViewModel_runInitializers(this, __isOpened_initializers, false));
7780
7817
  _SharePanelViewModel__params_accessor_storage.set(this, (sharePanelViewModel_runInitializers(this, __isOpened_extraInitializers), sharePanelViewModel_runInitializers(this, __params_initializers, {
7781
7818
  id: "",
7782
- type: ShareType.Social,
7819
+ type: ShareType.Link,
7783
7820
  link: ""
7784
7821
  })));
7785
7822
  Object.defineProperty(this, "currentStorySlide", {
@@ -7812,7 +7849,7 @@ let SharePanelViewModel = (() => {
7812
7849
  this._isOpened = false;
7813
7850
  this._params = {
7814
7851
  id: "",
7815
- type: ShareType.Social,
7852
+ type: ShareType.Image,
7816
7853
  link: ""
7817
7854
  };
7818
7855
  this.touchController.enable();
@@ -7835,7 +7872,7 @@ let SharePanelViewModel = (() => {
7835
7872
  url = screenShot.url;
7836
7873
  const shareConfig = { files: [screenShot.file], text: shareText };
7837
7874
  if (isDesktopMode_isDesktopMode) {
7838
- this.open({ type: ShareType.SlideScreenshot, id: shareId, link: url, text: shareText });
7875
+ this.open({ type: ShareType.Image, id: shareId, link: url, text: shareText });
7839
7876
  return;
7840
7877
  }
7841
7878
  await this.startNativeSharing(shareId, shareConfig);
@@ -7843,7 +7880,7 @@ let SharePanelViewModel = (() => {
7843
7880
  catch (error) {
7844
7881
  console.error(error);
7845
7882
  if (url)
7846
- this.open({ type: ShareType.SlideScreenshot, id: shareId, link: url, text: shareText });
7883
+ this.open({ type: ShareType.Image, id: shareId, link: url, text: shareText });
7847
7884
  }
7848
7885
  }
7849
7886
  async shareText({ shareId, config: configDto, storySlide }) {
@@ -7853,7 +7890,7 @@ let SharePanelViewModel = (() => {
7853
7890
  shareId = "story-share";
7854
7891
  const config = this.sharingService.getFilteredConfigDto(configDto);
7855
7892
  const sharePath = (config.url = (_b = config.url) !== null && _b !== void 0 ? _b : config.text);
7856
- const desktopOpenSharePanelParams = { type: ShareType.Social, id: shareId, link: sharePath };
7893
+ const desktopOpenSharePanelParams = { type: ShareType.Link, id: shareId, link: sharePath };
7857
7894
  try {
7858
7895
  if (isDesktopMode_isDesktopMode) {
7859
7896
  this.open(desktopOpenSharePanelParams);
@@ -10473,7 +10510,7 @@ class GameClientConfig {
10473
10510
  value: void 0
10474
10511
  });
10475
10512
  const storyManagerConfig = this.storyManager.config;
10476
- const sdkVersion = "1.9.3";
10513
+ const sdkVersion = "1.9.4";
10477
10514
  const placeholders = this.storyManager.rootStore.placeholderStore.placeholders;
10478
10515
  const session = this.storyManager.rootStore.sessionStore.session;
10479
10516
  this.sessionId = session.id;
@@ -11072,11 +11109,7 @@ const dataUrlToFile = async ({ file, name, type }) => {
11072
11109
  ;// CONCATENATED MODULE: ../core/src/domain/gameCenter/modules/shareModule/shareModule.ts
11073
11110
 
11074
11111
 
11075
- var shareModule_ShareType;
11076
- (function (ShareType) {
11077
- ShareType["Social"] = "social";
11078
- ShareType["SlideScreenshot"] = "slide-screenshot";
11079
- })(shareModule_ShareType || (shareModule_ShareType = {}));
11112
+
11080
11113
  class GameShareModule {
11081
11114
  constructor(storyManager, shareNotifier) {
11082
11115
  Object.defineProperty(this, "storyManager", {
@@ -11096,24 +11129,20 @@ class GameShareModule {
11096
11129
  configurable: true,
11097
11130
  writable: true,
11098
11131
  value: async (shareId, configDto) => {
11099
- var _a, _b;
11132
+ var _a;
11100
11133
  const config = this.getFilteredConfigDto(configDto);
11101
- let sharePath = (_b = (_a = config === null || config === void 0 ? void 0 : config.url) !== null && _a !== void 0 ? _a : config.text) !== null && _b !== void 0 ? _b : "";
11134
+ let shareLink = (_a = config === null || config === void 0 ? void 0 : config.url) !== null && _a !== void 0 ? _a : "";
11102
11135
  try {
11103
11136
  const files = await this.getShareFiles(configDto);
11104
11137
  config.files = files.length > 0 ? files : undefined;
11105
- if (!((config.files && config.files.length > 0) || config.url)) {
11106
- this.shareNotifier.notifyShareCompleted({ shareId, isSuccess: false });
11107
- return;
11108
- }
11109
11138
  if (isDesktopMode_isDesktopMode) {
11110
- this.openSharePanel({ shareConfig: config, sharePath, shareId });
11139
+ this.openSharePanel({ shareConfig: config, shareLink, shareId, shareText: config.text });
11111
11140
  return;
11112
11141
  }
11113
11142
  await this.startNativeSharing(shareId, config);
11114
11143
  }
11115
11144
  catch (err) {
11116
- this.openSharePanel({ shareConfig: config, sharePath, shareId });
11145
+ this.openSharePanel({ shareConfig: config, shareLink, shareId, shareText: config.text });
11117
11146
  }
11118
11147
  }
11119
11148
  });
@@ -11158,17 +11187,19 @@ class GameShareModule {
11158
11187
  }
11159
11188
  return newConfig;
11160
11189
  }
11161
- openSharePanel({ shareConfig, sharePath, shareId }) {
11162
- let shareType = shareModule_ShareType.Social;
11163
- let shareLink = sharePath;
11190
+ openSharePanel({ shareConfig, shareLink, shareId, shareText }) {
11191
+ let shareType = ShareType.Link;
11192
+ if (!shareLink)
11193
+ shareType = ShareType.Text;
11164
11194
  if (shareConfig.files && shareConfig.files.length > 0) {
11165
- shareType = shareModule_ShareType.SlideScreenshot;
11195
+ shareType = ShareType.Image;
11166
11196
  shareLink = URL.createObjectURL(shareConfig.files[0]);
11167
11197
  }
11168
11198
  this.shareNotifier.notifyOpenSharePanel({
11169
11199
  shareId,
11170
11200
  shareType,
11171
- shareLink
11201
+ shareLink,
11202
+ shareText
11172
11203
  });
11173
11204
  }
11174
11205
  }
@@ -11694,7 +11725,7 @@ let GameReaderViewModel = (() => {
11694
11725
  }
11695
11726
  async closeGame() {
11696
11727
  var _b;
11697
- if (!this._isOpened || !this._game)
11728
+ if (!this._isOpened)
11698
11729
  return false;
11699
11730
  if (this._isGameInited)
11700
11731
  (_b = this.gameSession) === null || _b === void 0 ? void 0 : _b.closeGameReader();
@@ -11744,12 +11775,8 @@ let GameReaderViewModel = (() => {
11744
11775
  var _b;
11745
11776
  (_b = this.gameSession) === null || _b === void 0 ? void 0 : _b.shareComplete(shareId, isSuccess);
11746
11777
  }
11747
- notifyOpenSharePanel({ shareId, shareType, shareLink }) {
11748
- this.emit(GameReaderEvent.OpenSharePanel, {
11749
- shareId,
11750
- shareType,
11751
- shareLink
11752
- });
11778
+ notifyOpenSharePanel(event) {
11779
+ this.emit(GameReaderEvent.OpenSharePanel, event);
11753
11780
  }
11754
11781
  async waitForeground(session) {
11755
11782
  const payload = await session.waitForeground();
@@ -11781,13 +11808,15 @@ let GameReaderViewModel = (() => {
11781
11808
  this.resetGameData();
11782
11809
  }
11783
11810
  finishGame({ result, openStory, gameInstance }) {
11784
- const gameId = this.ensureGameIsOpen();
11811
+ var _b;
11812
+ const gameId = (_b = this.game) === null || _b === void 0 ? void 0 : _b.id;
11785
11813
  this.resetScrollbar();
11786
11814
  this.closeSession();
11787
11815
  this.resetFlags();
11788
11816
  this.resetGameData();
11789
11817
  this.resetCounters();
11790
- this.emitGameCompletion(gameId, result);
11818
+ if (gameId)
11819
+ this.emitGameCompletion(gameId, result);
11791
11820
  this.navigateAfterGame({ gameInstance, openStory });
11792
11821
  }
11793
11822
  resetScrollbar() {
@@ -11810,13 +11839,6 @@ let GameReaderViewModel = (() => {
11810
11839
  resetCounters() {
11811
11840
  this.retryAttempts = 0;
11812
11841
  }
11813
- ensureGameIsOpen() {
11814
- var _b;
11815
- const gameId = (_b = this.game) === null || _b === void 0 ? void 0 : _b.id;
11816
- if (!gameId)
11817
- throw new NoOpenedGameError();
11818
- return gameId;
11819
- }
11820
11842
  emitGameCompletion(gameId, result) {
11821
11843
  const event = (0,isEmpty_js_namespaceObject["default"])(result) ? "closeGame" : "finishGame";
11822
11844
  const payload = (0,isEmpty_js_namespaceObject["default"])(result) ? { id: gameId } : { id: gameId, result };
@@ -13448,11 +13470,13 @@ class ShowOnboardingStoriesStrategy {
13448
13470
  async show(payload) {
13449
13471
  var _a, _b;
13450
13472
  const storyFeedStore = this.storyManager.rootStore.onboardingFeedStore;
13473
+ this.throwIfAborted(payload.signal);
13451
13474
  const onboardingFeed = await storyFeedStore.fetchOnboardingFeed({
13452
13475
  feedSlug: payload.feedSlug,
13453
13476
  tags: (_a = payload.customTags) !== null && _a !== void 0 ? _a : [],
13454
13477
  limit: (_b = payload.limit) !== null && _b !== void 0 ? _b : undefined
13455
13478
  });
13479
+ this.throwIfAborted(payload.signal);
13456
13480
  this._feed = onboardingFeed;
13457
13481
  const feedLoadEvent = this.getFeedLoadEvent(onboardingFeed.slug, onboardingFeed.stories);
13458
13482
  this.emitFeedLoad(feedLoadEvent);
@@ -13494,6 +13518,11 @@ class ShowOnboardingStoriesStrategy {
13494
13518
  async reload(payload) {
13495
13519
  this.showMultipleStoriesStrategy.reload(payload);
13496
13520
  }
13521
+ throwIfAborted(signal) {
13522
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
13523
+ throw new DOMException("Aborted", "AbortError");
13524
+ }
13525
+ }
13497
13526
  }
13498
13527
 
13499
13528
  ;// CONCATENATED MODULE: ../core/src/readers/storyReader/storyReaderViewModel/storyDisplayStrategies/showMultipleStoriesStrategy.ts
@@ -13595,7 +13624,8 @@ class ShowStoryFromSharePageStrategy {
13595
13624
  async show(payload) {
13596
13625
  await this.showStoryStrategy.show({
13597
13626
  storyId: payload.storyId,
13598
- fetchShareUrl: payload.fetchShareUrl
13627
+ fetchShareUrl: payload.fetchShareUrl,
13628
+ signal: payload.signal
13599
13629
  });
13600
13630
  }
13601
13631
  async reload(payload) {
@@ -13627,12 +13657,14 @@ class ShowStoryOnceStrategy {
13627
13657
  }
13628
13658
  async show(payload) {
13629
13659
  try {
13660
+ this.throwIfAborted(payload.signal);
13630
13661
  const storyStore = this.storyManager.rootStore.storyStore;
13631
13662
  const story = await storyStore.fetchStoryById({
13632
13663
  storyId: payload.storyId,
13633
13664
  feedSlug: "",
13634
13665
  once: true
13635
13666
  });
13667
+ this.throwIfAborted(payload.signal);
13636
13668
  if (story.error)
13637
13669
  throw story.error;
13638
13670
  if (story.isOpened)
@@ -13653,6 +13685,11 @@ class ShowStoryOnceStrategy {
13653
13685
  }
13654
13686
  async handleNextStoryByIndex(storyIndex) { }
13655
13687
  async reload(payload) { }
13688
+ throwIfAborted(signal) {
13689
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
13690
+ throw new DOMException("Aborted", "AbortError");
13691
+ }
13692
+ }
13656
13693
  }
13657
13694
 
13658
13695
  ;// CONCATENATED MODULE: ../core/src/readers/storyReader/storyReaderViewModel/storyDisplayStrategies/showStoryStrategy.ts
@@ -13676,12 +13713,14 @@ class ShowStoryStrategy {
13676
13713
  return null;
13677
13714
  }
13678
13715
  async show(payload) {
13716
+ this.throwIfAborted(payload.signal);
13679
13717
  const storyStore = this.storyManager.rootStore.storyStore;
13680
13718
  const story = await storyStore.fetchStoryById({
13681
13719
  storyId: payload.storyId,
13682
13720
  feedSlug: "",
13683
13721
  fetchShareUrl: payload.fetchShareUrl
13684
13722
  });
13723
+ this.throwIfAborted(payload.signal);
13685
13724
  this.openStoryReader(story, payload);
13686
13725
  }
13687
13726
  openStoryReader(story, payload) {
@@ -13693,6 +13732,11 @@ class ShowStoryStrategy {
13693
13732
  }
13694
13733
  async handleNextStoryByIndex(storyIndex) { }
13695
13734
  async reload(payload) { }
13735
+ throwIfAborted(signal) {
13736
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
13737
+ throw new DOMException("Aborted", "AbortError");
13738
+ }
13739
+ }
13696
13740
  }
13697
13741
 
13698
13742
  ;// CONCATENATED MODULE: ../core/src/readers/storyReader/storyReaderViewModel/storyDisplayStrategies/storyDisplayStrategyFactory.ts
@@ -14653,21 +14697,18 @@ let StoryReaderViewModel = (() => {
14653
14697
  canBeClosed() {
14654
14698
  return this.activeStory ? !this.activeStory.disableClose : false;
14655
14699
  }
14656
- async showStory(storyId) {
14700
+ async showStory(storyId, options = {}) {
14657
14701
  this._currentStoryDisplayStrategy = this.storyDisplayStrategyFactory.createShowStory();
14658
- await this._currentStoryDisplayStrategy.show({ storyId });
14702
+ await this._currentStoryDisplayStrategy.show(Object.assign({ storyId }, options));
14659
14703
  }
14660
- async showStoryOnce(storyId) {
14704
+ async showStoryOnce(storyId, options = {}) {
14661
14705
  this._currentStoryDisplayStrategy = this.storyDisplayStrategyFactory.createShowStoryOnce();
14662
- await this._currentStoryDisplayStrategy.show({ storyId });
14706
+ await this._currentStoryDisplayStrategy.show(Object.assign({ storyId }, options));
14663
14707
  }
14664
- async showStoryFromSharePage(storyId) {
14708
+ async showStoryFromSharePage(storyId, options = {}) {
14665
14709
  const showStoryFromSharePageDisplayStrategy = this.storyDisplayStrategyFactory.createShowStoryFromSharePage();
14666
14710
  this._currentStoryDisplayStrategy = showStoryFromSharePageDisplayStrategy;
14667
- await showStoryFromSharePageDisplayStrategy.show({
14668
- storyId,
14669
- fetchShareUrl: this.storyManager.isStatisticsDisabled
14670
- });
14711
+ await showStoryFromSharePageDisplayStrategy.show(Object.assign({ storyId, fetchShareUrl: this.storyManager.isStatisticsDisabled }, options));
14671
14712
  }
14672
14713
  async showOnboardingStories(options) {
14673
14714
  const config = await this.storyManager.waitForConfig();
@@ -17316,20 +17357,22 @@ let IamReaderViewModel = (() => {
17316
17357
  return messages;
17317
17358
  }
17318
17359
  async showMessageById(messageId, options = {}) {
17319
- const config = await this.storyManager.waitForConfig();
17320
- if (config.anonymous)
17321
- throw new IamMessageAnonymousOpen(messageId);
17322
- this.checkMessageNotOpened();
17360
+ this.throwIfAborted(options.signal);
17361
+ await this.throwIfAnonymousUser(messageId);
17362
+ this.throwIfMessageOpened();
17363
+ this.throwIfAborted(options.signal);
17323
17364
  const message = await this.iamDisplayService.getMessageById(messageId, options);
17365
+ this.throwIfAborted(options.signal);
17324
17366
  await this.open(message);
17325
17367
  return message;
17326
17368
  }
17327
17369
  async showMessageByEvent(eventName, options = {}) {
17328
- const config = await this.storyManager.waitForConfig();
17329
- if (config.anonymous)
17330
- throw new IamMessageAnonymousOpen(eventName);
17331
- this.checkMessageNotOpened();
17370
+ this.throwIfAborted(options.signal);
17371
+ await this.throwIfAnonymousUser(eventName);
17372
+ this.throwIfMessageOpened();
17373
+ this.throwIfAborted(options.signal);
17332
17374
  const message = await this.iamDisplayService.getMessageByEvent(eventName, options);
17375
+ this.throwIfAborted(options.signal);
17333
17376
  await this.open(message);
17334
17377
  return message;
17335
17378
  }
@@ -17399,10 +17442,20 @@ let IamReaderViewModel = (() => {
17399
17442
  slideAnalytics: activeMessage.slidesAnalytics
17400
17443
  });
17401
17444
  }
17402
- checkMessageNotOpened() {
17445
+ throwIfMessageOpened() {
17403
17446
  if (this.activeMessage)
17404
17447
  throw new IamMessageOpenError(this.activeMessage.id);
17405
17448
  }
17449
+ async throwIfAnonymousUser(messageId) {
17450
+ const config = await this.storyManager.waitForConfig();
17451
+ if (config.anonymous)
17452
+ throw new IamMessageAnonymousOpen(messageId);
17453
+ }
17454
+ throwIfAborted(signal) {
17455
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
17456
+ throw new DOMException("Aborted", "AbortError");
17457
+ }
17458
+ }
17406
17459
  },
17407
17460
  _IamReaderViewModel__activeMessage_accessor_storage = new WeakMap(),
17408
17461
  (() => {
@@ -21038,7 +21091,7 @@ class UgcEditorStore {
21038
21091
  const session = await this.storyManager.rootStore.sessionStore.open();
21039
21092
  const ugcEditorConfigDto = await this.ugcEditorApi.fetchUgcEditorConfig();
21040
21093
  const storyManagerConfig = this.storyManager.config;
21041
- const sdkVersion = "1.9.3";
21094
+ const sdkVersion = "1.9.4";
21042
21095
  this._config = {
21043
21096
  sessionId: session.id,
21044
21097
  apiKey: storyManagerConfig.apiKey,
@@ -21509,11 +21562,11 @@ class StoryManager extends TypedEventEmitter {
21509
21562
  return deviceDescriptor.deviceId;
21510
21563
  }
21511
21564
  get sdkVersionName() {
21512
- const sdkVersionName = "1.9.3";
21565
+ const sdkVersionName = "1.9.4";
21513
21566
  return sdkVersionName || "0.0.0";
21514
21567
  }
21515
21568
  get sdkVersionCode() {
21516
- const sdkVersionCode = 10903;
21569
+ const sdkVersionCode = 10904;
21517
21570
  return sdkVersionCode ? parseInt(sdkVersionCode) : 0;
21518
21571
  }
21519
21572
  get lang() {
@@ -21577,7 +21630,7 @@ class StoryManager extends TypedEventEmitter {
21577
21630
  this.rootStore.storyManagerConfigStore.setConfig(configDto);
21578
21631
  }
21579
21632
  setUserAgent(userAgent) {
21580
- const sdkVersionCode = 10903;
21633
+ const sdkVersionCode = 10904;
21581
21634
  const buildVersion = sdkVersionCode ? parseInt(sdkVersionCode) : 0;
21582
21635
  // According to RFC5987, HTTP header values can legitimately be supplied using the ISO-8859-1 encoding.
21583
21636
  this._userAgent = `${userAgent} ${convertStrToLatin1(navigator.userAgent)}`;
@@ -21590,23 +21643,24 @@ class StoryManager extends TypedEventEmitter {
21590
21643
  return this.storyReader.showOnboardingStories({
21591
21644
  feedSlug: (_a = options === null || options === void 0 ? void 0 : options.feed) !== null && _a !== void 0 ? _a : undefined,
21592
21645
  customTags: options === null || options === void 0 ? void 0 : options.customTags,
21593
- limit: (_b = options === null || options === void 0 ? void 0 : options.limit) !== null && _b !== void 0 ? _b : undefined
21646
+ limit: (_b = options === null || options === void 0 ? void 0 : options.limit) !== null && _b !== void 0 ? _b : undefined,
21647
+ signal: options === null || options === void 0 ? void 0 : options.signal
21594
21648
  });
21595
21649
  }
21596
- async showStory(storyId) {
21650
+ async showStory(storyId, options = {}) {
21597
21651
  if (typeof storyId === "string")
21598
21652
  storyId = +storyId || storyId;
21599
- await this.storyReader.showStory(storyId);
21653
+ await this.storyReader.showStory(storyId, options);
21600
21654
  }
21601
- async showStoryOnce(storyId) {
21655
+ async showStoryOnce(storyId, options = {}) {
21602
21656
  if (typeof storyId === "string")
21603
21657
  storyId = +storyId || storyId;
21604
- await this.storyReader.showStoryOnce(storyId);
21658
+ await this.storyReader.showStoryOnce(storyId, options);
21605
21659
  }
21606
- async showSharePage(storyId) {
21660
+ async showSharePage(storyId, options = {}) {
21607
21661
  if (typeof storyId === "string")
21608
21662
  storyId = +storyId || storyId;
21609
- await this.storyReader.showStoryFromSharePage(storyId);
21663
+ await this.storyReader.showStoryFromSharePage(storyId, options);
21610
21664
  }
21611
21665
  closeAllReaders() {
21612
21666
  this.storyReader.close();
@@ -22697,6 +22751,47 @@ var socialSharePanelBody_module_update = injectStylesIntoStyleTag_default()(soci
22697
22751
 
22698
22752
 
22699
22753
  /* harmony default export */ const SocialSharePanelBody_socialSharePanelBody_module = (socialSharePanelBody_module/* default */.A.locals || {});
22754
+ // EXTERNAL MODULE: ../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/UI/SharePanel/ShareCopyButton/shareCopyButton.module.scss
22755
+ var shareCopyButton_module = __webpack_require__(827);
22756
+ ;// CONCATENATED MODULE: ./src/UI/SharePanel/ShareCopyButton/shareCopyButton.module.scss
22757
+
22758
+
22759
+
22760
+ var shareCopyButton_module_options = {};
22761
+
22762
+ shareCopyButton_module_options.insert = "head";
22763
+ shareCopyButton_module_options.singleton = false;
22764
+
22765
+ var shareCopyButton_module_update = injectStylesIntoStyleTag_default()(shareCopyButton_module/* default */.A, shareCopyButton_module_options);
22766
+
22767
+
22768
+
22769
+ /* harmony default export */ const ShareCopyButton_shareCopyButton_module = (shareCopyButton_module/* default */.A.locals || {});
22770
+ ;// CONCATENATED MODULE: ./src/UI/SharePanel/ShareCopyButton/ShareCopyButton.tsx
22771
+
22772
+
22773
+
22774
+ const ShareCopyButton = (props) => {
22775
+ var _a, _b, _c;
22776
+ return ((0,jsx_runtime_namespaceObject.jsxs)("a", { className: `${SharePanel_sharePanel_module["share-item"]} ${ShareCopyButton_shareCopyButton_module["ias-copy-button"]}`, onClick: props.onClick, children: [(0,jsx_runtime_namespaceObject.jsx)("div", { dangerouslySetInnerHTML: {
22777
+ __html: (_c = (_b = (_a = props.options.copyButton) === null || _a === void 0 ? void 0 : _a.svgSrc) === null || _b === void 0 ? void 0 : _b.baseState) !== null && _c !== void 0 ? _c : ""
22778
+ } }), (0,jsx_runtime_namespaceObject.jsx)("span", { className: SharePanel_sharePanel_module["share-item-title"], style: props.options.text, children: props.label })] }));
22779
+ };
22780
+
22781
+ ;// CONCATENATED MODULE: ./src/UI/SharePanel/ShareCopyButton/index.ts
22782
+
22783
+
22784
+ ;// CONCATENATED MODULE: ./src/UI/SharePanel/Divider/Divider.tsx
22785
+
22786
+
22787
+ const Divider = (props) => {
22788
+ var _a;
22789
+ return ((0,jsx_runtime_namespaceObject.jsx)("div", { className: SharePanel_sharePanel_module["share-panel-separator"], style: { background: (_a = props.options.divider) === null || _a === void 0 ? void 0 : _a.background } }));
22790
+ };
22791
+
22792
+ ;// CONCATENATED MODULE: ./src/UI/SharePanel/Divider/index.ts
22793
+
22794
+
22700
22795
  ;// CONCATENATED MODULE: ./src/UI/SharePanel/SocialSharePanelBody/Favicon.tsx
22701
22796
 
22702
22797
 
@@ -22728,10 +22823,13 @@ var SocialSharePanelBody_rest = (undefined && undefined.__rest) || function (s,
22728
22823
 
22729
22824
 
22730
22825
 
22826
+
22827
+
22828
+
22731
22829
  const SocialSharePanelBody = (_a) => {
22732
- var _b, _c, _d, _e, _f, _g, _h, _j, _k;
22733
- var { shareLink, sharePanelOptions, onShareComplete } = _a, props = SocialSharePanelBody_rest(_a, ["shareLink", "sharePanelOptions", "onShareComplete"]);
22734
- const getShareUrlDomain = () => {
22830
+ var _b, _c, _d, _e, _f, _g, _h;
22831
+ var { shareLink, shareText, sharePanelOptions, onShareComplete } = _a, props = SocialSharePanelBody_rest(_a, ["shareLink", "shareText", "sharePanelOptions", "onShareComplete"]);
22832
+ const getShareUrlDomain = (shareLink) => {
22735
22833
  try {
22736
22834
  return new URL(shareLink).host;
22737
22835
  }
@@ -22740,12 +22838,12 @@ const SocialSharePanelBody = (_a) => {
22740
22838
  return null;
22741
22839
  }
22742
22840
  };
22743
- const getShareUrl = () => {
22841
+ const getShareUrl = (shareLink) => {
22744
22842
  try {
22745
22843
  return new URL(shareLink);
22746
22844
  }
22747
- catch (e) {
22748
- console.error(e);
22845
+ catch (error) {
22846
+ console.error(error);
22749
22847
  return null;
22750
22848
  }
22751
22849
  };
@@ -22753,52 +22851,71 @@ const SocialSharePanelBody = (_a) => {
22753
22851
  window.removeEventListener("focus", handleShareCompleteByWindowFocus);
22754
22852
  onShareComplete();
22755
22853
  };
22756
- const getEncodedShareText = () => {
22757
- return getShareUrlDomain() ? "" : encodeURIComponent(shareLink);
22854
+ const getShareText = () => {
22855
+ if (shareLink) {
22856
+ return getShareUrlDomain(shareLink) ? "" : encodeURIComponent(shareLink);
22857
+ }
22858
+ else {
22859
+ return shareText !== null && shareText !== void 0 ? shareText : "";
22860
+ }
22758
22861
  };
22759
22862
  const openWindow = (url, target, features) => {
22760
22863
  window.addEventListener("focus", handleShareCompleteByWindowFocus);
22761
22864
  window.open(url, target, features);
22762
22865
  };
22763
- const onCopyClick = () => {
22764
- new Clipboard().copy(shareLink);
22866
+ const onCopyClick = (content) => {
22867
+ new Clipboard().copy(content);
22765
22868
  onShareComplete();
22766
22869
  };
22767
22870
  const getUrlByTarget = (target) => {
22768
- var _a, _b;
22769
- const shareUrl = getShareUrl();
22770
- if (!shareUrl)
22771
- return "#";
22772
- const shareTargetParams = (_a = sharePanelOptions.targetParams) === null || _a === void 0 ? void 0 : _a[target];
22773
- return (_b = shareTargetParams === null || shareTargetParams === void 0 ? void 0 : shareTargetParams.getUrl) === null || _b === void 0 ? void 0 : _b.call(shareTargetParams, {
22871
+ var _a, _b, _c, _d;
22872
+ const shareUrl = shareLink
22873
+ ? (_a = getShareUrl(shareLink)) !== null && _a !== void 0 ? _a : ""
22874
+ : (_b = window.location.origin) !== null && _b !== void 0 ? _b : window.parent.location.origin;
22875
+ const shareTargetParams = (_c = sharePanelOptions.targetParams) === null || _c === void 0 ? void 0 : _c[target];
22876
+ return (_d = shareTargetParams === null || shareTargetParams === void 0 ? void 0 : shareTargetParams.getUrl) === null || _d === void 0 ? void 0 : _d.call(shareTargetParams, {
22774
22877
  url: shareUrl.toString(),
22775
- text: getEncodedShareText()
22878
+ text: getShareText()
22776
22879
  });
22777
22880
  };
22778
22881
  const textStyles = sharePanelOptions.text;
22779
- return ((0,jsx_runtime_namespaceObject.jsxs)("div", { className: SharePanel_sharePanel_module["share-panel__body"], children: [(0,jsx_runtime_namespaceObject.jsxs)("div", { className: `${SharePanel_sharePanel_module["share-panel-row"]} ${SharePanel_sharePanel_module["title-row"]}`, children: [(0,jsx_runtime_namespaceObject.jsx)(Favicon, { shareDomain: getShareUrlDomain(), sharePanelOptions: sharePanelOptions, faviconApiUrl: props.faviconApiUrl }), (0,jsx_runtime_namespaceObject.jsx)("span", { className: SharePanel_sharePanel_module["title"], dir: props.dir, style: textStyles, children: (_c = (_b = sharePanelOptions.title) === null || _b === void 0 ? void 0 : _b.getValue) === null || _c === void 0 ? void 0 : _c.call(_b, { url: shareLink, text: getEncodedShareText() }) })] }), (0,jsx_runtime_namespaceObject.jsx)("div", { className: SharePanel_sharePanel_module["share-panel-separator"], style: { background: (_d = sharePanelOptions.divider) === null || _d === void 0 ? void 0 : _d.background } }), (0,jsx_runtime_namespaceObject.jsx)("div", { className: `${SharePanel_sharePanel_module["share-panel-row"]} ${SocialSharePanelBody_socialSharePanelBody_module["social-list"]}`, children: (_e = sharePanelOptions.targets) === null || _e === void 0 ? void 0 : _e.map((target, index) => {
22882
+ const favicon = (_b = sharePanelOptions.title) === null || _b === void 0 ? void 0 : _b.favicon;
22883
+ return ((0,jsx_runtime_namespaceObject.jsxs)("div", { className: SharePanel_sharePanel_module["share-panel__body"], children: [(0,jsx_runtime_namespaceObject.jsxs)("div", { className: `${SharePanel_sharePanel_module["share-panel-row"]} ${SharePanel_sharePanel_module["title-row"]}`, children: [shareLink && getShareUrlDomain(shareLink) && Boolean(favicon === null || favicon === void 0 ? void 0 : favicon.display) && ((0,jsx_runtime_namespaceObject.jsx)(Favicon, { shareDomain: getShareUrlDomain(shareLink), sharePanelOptions: sharePanelOptions, faviconApiUrl: props.faviconApiUrl })), (0,jsx_runtime_namespaceObject.jsxs)("span", { className: SharePanel_sharePanel_module["title"], dir: props.dir, style: textStyles, children: [props.type === ShareType.Link && shareLink
22884
+ ? (_d = (_c = sharePanelOptions.title) === null || _c === void 0 ? void 0 : _c.getValue) === null || _d === void 0 ? void 0 : _d.call(_c, {
22885
+ url: shareLink,
22886
+ text: getShareUrlDomain(shareLink) ? "" : encodeURIComponent(shareLink)
22887
+ })
22888
+ : "", props.type === ShareType.Text && shareText
22889
+ ? (_f = (_e = sharePanelOptions.title) === null || _e === void 0 ? void 0 : _e.getValue) === null || _f === void 0 ? void 0 : _f.call(_e, { url: shareLink, text: shareText })
22890
+ : ""] })] }), (0,jsx_runtime_namespaceObject.jsx)(Divider, { options: sharePanelOptions }), (0,jsx_runtime_namespaceObject.jsx)("div", { className: `${SharePanel_sharePanel_module["share-panel-row"]} ${SocialSharePanelBody_socialSharePanelBody_module["social-list"]}`, children: (_g = sharePanelOptions.targets) === null || _g === void 0 ? void 0 : _g.map((target, index) => {
22780
22891
  var _a, _b, _c;
22781
22892
  const socialTargetParams = (_a = sharePanelOptions.targetParams) === null || _a === void 0 ? void 0 : _a[target];
22782
22893
  const iconSvg = (_c = (_b = socialTargetParams === null || socialTargetParams === void 0 ? void 0 : socialTargetParams.icon) === null || _b === void 0 ? void 0 : _b.svgSrc.baseState) !== null && _c !== void 0 ? _c : "<svg></svg>";
22783
22894
  return ((0,jsx_runtime_namespaceObject.jsx)("div", { className: SocialSharePanelBody_socialSharePanelBody_module["social-list__item"], children: (0,jsx_runtime_namespaceObject.jsxs)("a", { href: getUrlByTarget(target), onClick: () => openWindow(getUrlByTarget(target), "newwindow", "width=650,height=570"), target: "_blank", rel: "noopener noreferrer", className: `${SharePanel_sharePanel_module["share-item"]} ${SocialSharePanelBody_socialSharePanelBody_module["share-item"]}`, children: [(0,jsx_runtime_namespaceObject.jsx)("div", { dangerouslySetInnerHTML: {
22784
22895
  __html: iconSvg
22785
22896
  } }), (0,jsx_runtime_namespaceObject.jsx)("span", { className: SharePanel_sharePanel_module["share-item-title"], style: textStyles, children: socialTargetParams === null || socialTargetParams === void 0 ? void 0 : socialTargetParams.label })] }) }, index));
22786
- }) }), (0,jsx_runtime_namespaceObject.jsx)("div", { className: SharePanel_sharePanel_module["share-panel-separator"], style: { background: (_f = sharePanelOptions.divider) === null || _f === void 0 ? void 0 : _f.background } }), (0,jsx_runtime_namespaceObject.jsx)("div", { className: SharePanel_sharePanel_module["share-panel-row"], children: (0,jsx_runtime_namespaceObject.jsxs)("a", { className: `${SharePanel_sharePanel_module["share-item"]} ${SocialSharePanelBody_socialSharePanelBody_module["share-item"]}`, onClick: onCopyClick, children: [(0,jsx_runtime_namespaceObject.jsx)("div", { dangerouslySetInnerHTML: {
22787
- __html: (_j = (_h = (_g = sharePanelOptions.copyButton) === null || _g === void 0 ? void 0 : _g.svgSrc) === null || _h === void 0 ? void 0 : _h.baseState) !== null && _j !== void 0 ? _j : ""
22788
- } }), (0,jsx_runtime_namespaceObject.jsx)("span", { className: SharePanel_sharePanel_module["share-item-title"], style: textStyles, children: (_k = sharePanelOptions.copyButton) === null || _k === void 0 ? void 0 : _k.label })] }) })] }));
22897
+ }) }), (0,jsx_runtime_namespaceObject.jsx)(Divider, { options: sharePanelOptions }), (0,jsx_runtime_namespaceObject.jsx)("div", { className: SharePanel_sharePanel_module["share-panel-row"], children: (0,jsx_runtime_namespaceObject.jsx)(ShareCopyButton, { options: sharePanelOptions, label: (_h = sharePanelOptions.copyButton) === null || _h === void 0 ? void 0 : _h.getLabel({
22898
+ url: shareLink,
22899
+ text: shareText,
22900
+ type: props.type
22901
+ }), onClick: () => {
22902
+ let content = "";
22903
+ switch (props.type) {
22904
+ case ShareType.Text:
22905
+ content = shareText !== null && shareText !== void 0 ? shareText : "";
22906
+ break;
22907
+ case ShareType.Link:
22908
+ content = shareLink !== null && shareLink !== void 0 ? shareLink : "";
22909
+ break;
22910
+ }
22911
+ onCopyClick(content);
22912
+ } }) })] }));
22789
22913
  };
22790
22914
 
22791
22915
  ;// CONCATENATED MODULE: ./src/UI/SharePanel/SocialSharePanelBody/index.ts
22792
22916
 
22793
22917
 
22794
22918
 
22795
- ;// CONCATENATED MODULE: ./src/UI/SharePanel/types.ts
22796
- var types_ShareType;
22797
- (function (ShareType) {
22798
- ShareType["Social"] = "social";
22799
- ShareType["SlideScreenshot"] = "slide-screenshot";
22800
- })(types_ShareType || (types_ShareType = {}));
22801
-
22802
22919
  ;// CONCATENATED MODULE: ./src/UI/SharePanel/SharePanel.tsx
22803
22920
 
22804
22921
 
@@ -22837,12 +22954,13 @@ const SharePanel = ({ shareType, shareLink, shareText, onShareCompelete, sharePa
22837
22954
  background: sharePanelOptions.background,
22838
22955
  borderTopLeftRadius: sharePanelOptions.borderRadius + "px",
22839
22956
  borderTopRightRadius: sharePanelOptions.borderRadius + "px"
22840
- }, children: [shareType === types_ShareType.SlideScreenshot && ((0,jsx_runtime_namespaceObject.jsx)(ScreenshotSharePanelBody, { shareText: shareText, shareLink: shareLink, onShareComplete: handleShareComplete, sharePanelOptions: sharePanelOptions })), shareType === types_ShareType.Social && ((0,jsx_runtime_namespaceObject.jsx)(SocialSharePanelBody, { shareLink: shareLink, onShareComplete: handleShareComplete, sharePanelOptions: sharePanelOptions, dir: dir })), (0,jsx_runtime_namespaceObject.jsx)("div", { className: SharePanel_sharePanel_module["share-panel-separator"] })] })] }));
22957
+ }, children: [shareType === ShareType.Image && ((0,jsx_runtime_namespaceObject.jsx)(ScreenshotSharePanelBody, { shareText: shareText, shareLink: shareLink, onShareComplete: handleShareComplete, sharePanelOptions: sharePanelOptions })), (shareType === ShareType.Link || shareType === ShareType.Text) && ((0,jsx_runtime_namespaceObject.jsx)(SocialSharePanelBody, { shareLink: shareLink, shareText: shareText, onShareComplete: handleShareComplete, sharePanelOptions: sharePanelOptions, type: shareType, dir: dir }))] })] }));
22841
22958
  };
22842
22959
 
22843
22960
  ;// CONCATENATED MODULE: ./src/UI/SharePanel/index.ts
22844
22961
 
22845
22962
 
22963
+
22846
22964
  ;// CONCATENATED MODULE: ./src/GameReader/hooks/useSharePanel.ts
22847
22965
 
22848
22966
  const useSharePanel = (gameReaderViewModel) => {
@@ -22888,6 +23006,7 @@ var gameSplashScreen_module_update = injectStylesIntoStyleTag_default()(gameSpla
22888
23006
  ;// CONCATENATED MODULE: ./src/GameReader/GameSplashScreen/SplashLottie/SplashLottie.tsx
22889
23007
 
22890
23008
 
23009
+
22891
23010
  const SplashLottie = props => {
22892
23011
  const canvasRef = (0,external_react_namespaceObject.useRef)(null);
22893
23012
  const [lottiePlayer, setLottiePlayer] = (0,external_react_namespaceObject.useState)(null);
@@ -22902,6 +23021,17 @@ const SplashLottie = props => {
22902
23021
  if (lottiePlayer && props.forceEnd)
22903
23022
  lottiePlayer.stop();
22904
23023
  }, [lottiePlayer, props.forceEnd]);
23024
+ (0,external_react_namespaceObject.useEffect)(() => {
23025
+ if (!lottiePlayer)
23026
+ return;
23027
+ const handleResize = (0,debounce_js_namespaceObject["default"])(() => {
23028
+ lottiePlayer.resize();
23029
+ }, 300);
23030
+ window.addEventListener("resize", handleResize);
23031
+ return () => {
23032
+ window.addEventListener("resize", handleResize);
23033
+ };
23034
+ }, [lottiePlayer]);
22905
23035
  (0,external_react_namespaceObject.useEffect)(() => {
22906
23036
  if (!lottiePlayer)
22907
23037
  return;
@@ -22981,7 +23111,8 @@ const GameSplashScreen_GameSplashScreen = (props) => {
22981
23111
  return ((0,jsx_runtime_namespaceObject.jsxs)("div", { className: (0,external_classnames_namespaceObject["default"])(GameSplashScreen_gameSplashScreen_module["splash-container"], {
22982
23112
  [GameSplashScreen_gameSplashScreen_module["splash-container--fadeIn"]]: props.game,
22983
23113
  [GameSplashScreen_gameSplashScreen_module["splash-container--fadeOut"]]: props.gameShouldBeShown,
22984
- [GameSplashScreen_gameSplashScreen_module["splash-container--isLoading"]]: needShowSpinner
23114
+ [GameSplashScreen_gameSplashScreen_module["splash-container--isLoading"]]: needShowSpinner,
23115
+ [GameSplashScreen_gameSplashScreen_module["splash-container--widescreen"]]: props.isWidescreen
22985
23116
  }), children: [(0,jsx_runtime_namespaceObject.jsx)("div", { className: GameSplashScreen_gameSplashScreen_module["splash-container__image"], style: { backgroundColor: props.splashImageBackgroundColor }, children: getGameSplashScreen() && ((0,jsx_runtime_namespaceObject.jsx)("img", { src: getGameSplashScreen(), onLoad: () => {
22986
23117
  setGameSplashScreenLoaded(true);
22987
23118
  } })) }), lottieSplashScreen && $dotLottie && ((0,jsx_runtime_namespaceObject.jsx)("div", { className: GameSplashScreen_gameSplashScreen_module["splash-container__lottie"], children: (0,jsx_runtime_namespaceObject.jsx)(SplashLottie, { "$dotLottie": $dotLottie, forceEnd: props.gameShouldBeShown, config: lottieSplashScreen, onError: () => {
@@ -23240,7 +23371,7 @@ const useGameReaderViewModel = ({ storyManager }) => {
23240
23371
 
23241
23372
  const GameReader = (0,external_mobx_react_lite_namespaceObject.observer)(({ gameReader }) => {
23242
23373
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
23243
- const { gameReaderOptions: options, storyReaderOptions } = useIASContainer();
23374
+ const { gameReaderOptions: options } = useIASContainer();
23244
23375
  const gameReaderIframeRef = (0,external_react_namespaceObject.useRef)(null);
23245
23376
  const { sharePanelOpeningParams, handleShareComplete, closeSharePanel } = useSharePanel(gameReader);
23246
23377
  const { gameGeometry, isDesktopGeometry } = useGameGeometry();
@@ -23286,7 +23417,7 @@ const GameReader = (0,external_mobx_react_lite_namespaceObject.observer)(({ game
23286
23417
  filter: ((_g = options.backdrop) === null || _g === void 0 ? void 0 : _g.blur) ? `blur(${options.backdrop.blur}px)` : "none"
23287
23418
  };
23288
23419
  const backdropColor = (_j = (_h = options.game) === null || _h === void 0 ? void 0 : _h.backdropColor) !== null && _j !== void 0 ? _j : "";
23289
- return (0,external_react_dom_namespaceObject.createPortal)((0,jsx_runtime_namespaceObject.jsx)("div", { className: GameReader_gameReader_module["game-reader-container"], style: getRootStyle(), children: (0,jsx_runtime_namespaceObject.jsxs)("div", { className: gameReaderClasses, children: [(0,jsx_runtime_namespaceObject.jsx)("div", { className: GameReader_gameReader_module["game-reader__backdrop"], style: gameBackdropStyle }), (0,jsx_runtime_namespaceObject.jsxs)(AspectRatioBox, { className: GameReader_gameReader_module["game-reader__game-box"], isWidescreen: isWidescreen, geometry: gameGeometry, children: [(0,jsx_runtime_namespaceObject.jsx)(GameSplashScreen_GameSplashScreen, { onSplashCanBeHidden: notifyGameCanBeStarted, isDesktopGeometry: isDesktopGeometry, isGameInited: gameReader.isGameInited, isGameLoading: isGameLoading, isGameLoadingError: Boolean(gameReader.gameError), gameShouldBeShown: gameReader.gameShouldBeShown, game: (_k = gameReader.game) !== null && _k !== void 0 ? _k : undefined, splashImageBackgroundColor: gameReader.game ? backdropColor : gameBackdropStyle.background }), gameError && ((0,jsx_runtime_namespaceObject.jsx)(RefreshIcon, { className: GameReader_gameReader_module["game-reader__refresh-btn"], onClick: retryLoadingGame })), (!gameReader.gameShouldBeShown || closeBtnVisible) && ((0,jsx_runtime_namespaceObject.jsx)(CloseButton, { closeButtonPosition: options.closeButtonPosition, dir: gameReader.dir, onCloseGame: closeGame, closeButtonOptions: options.closeButton })), game && ((0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, { children: [(0,jsx_runtime_namespaceObject.jsx)("iframe", { src: game.url, onLoad: handleIframeLoaded, style: { opacity: gameReader.gameShouldBeShown ? 1 : 0 }, frameBorder: "0", className: GameReader_gameReader_module["game-reader__iframe"], sandbox: "allow-same-origin allow-top-navigation allow-forms allow-scripts allow-downloads allow-top-navigation-to-custom-protocols", allow: "fullscreen" }), sharePanelOpeningParams && ((0,jsx_runtime_namespaceObject.jsx)(SharePanel, { dir: gameReader.dir, shareType: sharePanelOpeningParams.shareType, shareLink: sharePanelOpeningParams.shareLink, onShareCompelete: handleShareComplete, sharePanelOptions: storyReaderOptions.sharePanel }))] }))] }), game && options.forceCheckOrientation && ((0,jsx_runtime_namespaceObject.jsx)(ScreenOrientationLock, { orientation: o9n_SCREEN_ORIENTATIONS.PORTRAIT_PRIMARY, onOrientationChange: handleOrientationChange }))] }) }), document.body);
23420
+ return (0,external_react_dom_namespaceObject.createPortal)((0,jsx_runtime_namespaceObject.jsx)("div", { className: GameReader_gameReader_module["game-reader-container"], style: getRootStyle(), children: (0,jsx_runtime_namespaceObject.jsxs)("div", { className: gameReaderClasses, children: [(0,jsx_runtime_namespaceObject.jsx)("div", { className: GameReader_gameReader_module["game-reader__backdrop"], style: gameBackdropStyle }), (0,jsx_runtime_namespaceObject.jsxs)(AspectRatioBox, { className: GameReader_gameReader_module["game-reader__game-box"], isWidescreen: isWidescreen, geometry: gameGeometry, children: [(0,jsx_runtime_namespaceObject.jsx)(GameSplashScreen_GameSplashScreen, { onSplashCanBeHidden: notifyGameCanBeStarted, isDesktopGeometry: isDesktopGeometry, isWidescreen: isWidescreen, isGameInited: gameReader.isGameInited, isGameLoading: isGameLoading, isGameLoadingError: Boolean(gameReader.gameError), gameShouldBeShown: gameReader.gameShouldBeShown, game: (_k = gameReader.game) !== null && _k !== void 0 ? _k : undefined, splashImageBackgroundColor: gameReader.game ? backdropColor : gameBackdropStyle.background }), gameError && ((0,jsx_runtime_namespaceObject.jsx)(RefreshIcon, { className: GameReader_gameReader_module["game-reader__refresh-btn"], onClick: retryLoadingGame })), (!gameReader.gameShouldBeShown || closeBtnVisible) && ((0,jsx_runtime_namespaceObject.jsx)(CloseButton, { closeButtonPosition: options.closeButtonPosition, dir: gameReader.dir, onCloseGame: closeGame, closeButtonOptions: options.closeButton })), game && ((0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, { children: [(0,jsx_runtime_namespaceObject.jsx)("iframe", { src: game.url, onLoad: handleIframeLoaded, style: { opacity: gameReader.gameShouldBeShown ? 1 : 0 }, frameBorder: "0", className: GameReader_gameReader_module["game-reader__iframe"], sandbox: "allow-same-origin allow-top-navigation allow-forms allow-scripts allow-downloads allow-top-navigation-to-custom-protocols", allow: "fullscreen" }), sharePanelOpeningParams && ((0,jsx_runtime_namespaceObject.jsx)(SharePanel, { dir: gameReader.dir, shareText: sharePanelOpeningParams.shareText, shareType: sharePanelOpeningParams.shareType, shareLink: sharePanelOpeningParams.shareLink, onShareCompelete: handleShareComplete, sharePanelOptions: options.sharePanel }))] }))] }), game && options.forceCheckOrientation && ((0,jsx_runtime_namespaceObject.jsx)(ScreenOrientationLock, { orientation: o9n_SCREEN_ORIENTATIONS.PORTRAIT_PRIMARY, onOrientationChange: handleOrientationChange }))] }) }), document.body);
23290
23421
  });
23291
23422
 
23292
23423
  ;// CONCATENATED MODULE: ./src/GameReader/index.ts