@maestro_io/maestro-web-sdk 5.1.2 → 5.2.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.
Files changed (158) hide show
  1. package/dist/1.maestro-web-sdk.esm.js +1 -1
  2. package/dist/1.maestro-web-sdk.esm.js.map +1 -1
  3. package/dist/10.maestro-web-sdk.esm.js +1 -1
  4. package/dist/10.maestro-web-sdk.esm.js.map +1 -1
  5. package/dist/11.maestro-web-sdk.esm.js +1 -1
  6. package/dist/11.maestro-web-sdk.esm.js.map +1 -1
  7. package/dist/12.maestro-web-sdk.esm.js +1 -1
  8. package/dist/12.maestro-web-sdk.esm.js.map +1 -1
  9. package/dist/13.maestro-web-sdk.esm.js +1 -1
  10. package/dist/13.maestro-web-sdk.esm.js.map +1 -1
  11. package/dist/14.maestro-web-sdk.esm.js +1 -1
  12. package/dist/14.maestro-web-sdk.esm.js.map +1 -1
  13. package/dist/15.maestro-web-sdk.esm.js +1 -1
  14. package/dist/15.maestro-web-sdk.esm.js.map +1 -1
  15. package/dist/16.maestro-web-sdk.esm.js +1 -1
  16. package/dist/16.maestro-web-sdk.esm.js.map +1 -1
  17. package/dist/17.maestro-web-sdk.esm.js +1 -1
  18. package/dist/17.maestro-web-sdk.esm.js.map +1 -1
  19. package/dist/18.maestro-web-sdk.esm.js +1 -1
  20. package/dist/18.maestro-web-sdk.esm.js.map +1 -1
  21. package/dist/19.maestro-web-sdk.esm.js +1 -1
  22. package/dist/19.maestro-web-sdk.esm.js.map +1 -1
  23. package/dist/2.maestro-web-sdk.esm.js +1 -1
  24. package/dist/20.maestro-web-sdk.esm.js +1 -1
  25. package/dist/20.maestro-web-sdk.esm.js.map +1 -1
  26. package/dist/21.maestro-web-sdk.esm.js +1 -1
  27. package/dist/21.maestro-web-sdk.esm.js.map +1 -1
  28. package/dist/22.maestro-web-sdk.esm.js +1 -1
  29. package/dist/22.maestro-web-sdk.esm.js.map +1 -1
  30. package/dist/23.maestro-web-sdk.esm.js +1 -1
  31. package/dist/23.maestro-web-sdk.esm.js.map +1 -1
  32. package/dist/24.maestro-web-sdk.esm.js +1 -1
  33. package/dist/24.maestro-web-sdk.esm.js.map +1 -1
  34. package/dist/25.maestro-web-sdk.esm.js +1 -1
  35. package/dist/25.maestro-web-sdk.esm.js.map +1 -1
  36. package/dist/26.maestro-web-sdk.esm.js +1 -1
  37. package/dist/26.maestro-web-sdk.esm.js.map +1 -1
  38. package/dist/27.maestro-web-sdk.esm.js +1 -1
  39. package/dist/27.maestro-web-sdk.esm.js.map +1 -1
  40. package/dist/28.maestro-web-sdk.esm.js +1 -1
  41. package/dist/28.maestro-web-sdk.esm.js.map +1 -1
  42. package/dist/29.maestro-web-sdk.esm.js +1 -1
  43. package/dist/29.maestro-web-sdk.esm.js.map +1 -1
  44. package/dist/3.maestro-web-sdk.esm.js +1 -1
  45. package/dist/3.maestro-web-sdk.esm.js.map +1 -1
  46. package/dist/30.maestro-web-sdk.esm.js +1 -1
  47. package/dist/30.maestro-web-sdk.esm.js.map +1 -1
  48. package/dist/31.maestro-web-sdk.esm.js +1 -1
  49. package/dist/31.maestro-web-sdk.esm.js.map +1 -1
  50. package/dist/32.maestro-web-sdk.esm.js +1 -1
  51. package/dist/32.maestro-web-sdk.esm.js.map +1 -1
  52. package/dist/33.maestro-web-sdk.esm.js +1 -1
  53. package/dist/33.maestro-web-sdk.esm.js.map +1 -1
  54. package/dist/34.maestro-web-sdk.esm.js +1 -1
  55. package/dist/34.maestro-web-sdk.esm.js.map +1 -1
  56. package/dist/35.maestro-web-sdk.esm.js +1 -1
  57. package/dist/35.maestro-web-sdk.esm.js.map +1 -1
  58. package/dist/36.maestro-web-sdk.esm.js +1 -1
  59. package/dist/36.maestro-web-sdk.esm.js.map +1 -1
  60. package/dist/37.maestro-web-sdk.esm.js +1 -1
  61. package/dist/37.maestro-web-sdk.esm.js.map +1 -1
  62. package/dist/38.maestro-web-sdk.esm.js +1 -1
  63. package/dist/38.maestro-web-sdk.esm.js.map +1 -1
  64. package/dist/39.maestro-web-sdk.esm.js +2 -0
  65. package/dist/39.maestro-web-sdk.esm.js.map +1 -0
  66. package/dist/4.maestro-web-sdk.esm.js +1 -1
  67. package/dist/4.maestro-web-sdk.esm.js.map +1 -1
  68. package/dist/40.maestro-web-sdk.esm.js +2 -0
  69. package/dist/40.maestro-web-sdk.esm.js.map +1 -0
  70. package/dist/5.maestro-web-sdk.esm.js +1 -1
  71. package/dist/5.maestro-web-sdk.esm.js.map +1 -1
  72. package/dist/6.maestro-web-sdk.esm.js +1 -1
  73. package/dist/6.maestro-web-sdk.esm.js.map +1 -1
  74. package/dist/7.maestro-web-sdk.esm.js +1 -1
  75. package/dist/7.maestro-web-sdk.esm.js.map +1 -1
  76. package/dist/8.maestro-web-sdk.esm.js +1 -1
  77. package/dist/8.maestro-web-sdk.esm.js.map +1 -1
  78. package/dist/9.maestro-web-sdk.esm.js +1 -1
  79. package/dist/9.maestro-web-sdk.esm.js.map +1 -1
  80. package/dist/index.d.ts +4 -1
  81. package/dist/maestro-web-sdk.esm.js +3 -3
  82. package/dist/maestro-web-sdk.esm.js.map +1 -1
  83. package/dist/maestro-web-sdk.umd.js +3 -3
  84. package/dist/maestro-web-sdk.umd.js.map +1 -1
  85. package/dist/package.json +1 -1
  86. package/dist/src/components/atoms/SvgIcon/AddIcon.d.ts +3 -0
  87. package/dist/src/components/atoms/SvgIcon/AddIcon.js +6 -0
  88. package/dist/src/components/atoms/SvgIcon/Icon.js +2 -0
  89. package/dist/src/components/core/PanelManager/PanelManager.js +5 -3
  90. package/dist/src/components/molecules/NetworkDialog/NetworkDialog.d.ts +11 -0
  91. package/dist/src/components/molecules/NetworkDialog/NetworkDialog.js +34 -0
  92. package/dist/src/components/molecules/NetworkDialog/index.d.ts +2 -0
  93. package/dist/src/components/molecules/NetworkDialog/index.js +2 -0
  94. package/dist/src/components/molecules/NetworkError/NetworkError.d.ts +104 -0
  95. package/dist/src/components/molecules/NetworkError/NetworkError.js +26 -0
  96. package/dist/src/components/molecules/NetworkError/index.d.ts +2 -0
  97. package/dist/src/components/molecules/NetworkError/index.js +2 -0
  98. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.d.ts +1 -0
  99. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.js +16 -7
  100. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.d.ts +1 -0
  101. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.js +11 -7
  102. package/dist/src/development/MaestroEventDelegate.js +1 -0
  103. package/dist/src/helpers/site.d.ts +1 -0
  104. package/dist/src/helpers/site.js +6 -0
  105. package/dist/src/helpers/siteConfig.d.ts +1 -0
  106. package/dist/src/helpers/siteConfig.js +5 -0
  107. package/dist/src/models/IPanel.d.ts +1 -1
  108. package/dist/src/models/IPanel.js +1 -1
  109. package/dist/src/modules/espn/bets/view/BetsView.js +1 -1
  110. package/dist/src/modules/espn/components/TabLoadError/TabLoadError.d.ts +96 -0
  111. package/dist/src/modules/espn/components/TabLoadError/TabLoadError.js +14 -0
  112. package/dist/src/modules/espn/components/TabLoadError/index.d.ts +2 -0
  113. package/dist/src/modules/espn/components/TabLoadError/index.js +2 -0
  114. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/TournamentOverflowQR.d.ts +5 -5
  115. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/TournamentOverflowQR.js +7 -73
  116. package/dist/src/modules/espn/fantasy/services/FantasyService.js +1 -1
  117. package/dist/src/modules/espn/fantasy/view/FantasyItemView.js +1 -1
  118. package/dist/src/modules/espn/fantasy/view/FantasyView.js +1 -1
  119. package/dist/src/modules/espn/key-plays/view/KeyPlayErrorStateView.js +1 -1
  120. package/dist/src/modules/espn/shop/view/ShopView.js +1 -1
  121. package/dist/src/modules/espn/stats/view/StatsView.js +1 -1
  122. package/dist/src/modules/fox/components/TabLoadError/TabLoadError.d.ts +96 -0
  123. package/dist/src/modules/fox/components/TabLoadError/TabLoadError.js +19 -0
  124. package/dist/src/modules/fox/components/TabLoadError/index.d.ts +2 -0
  125. package/dist/src/modules/fox/components/TabLoadError/index.js +2 -0
  126. package/dist/src/modules/fox/multi-view/interfaces/IMultiViewViewModel.d.ts +3 -0
  127. package/dist/src/modules/fox/multi-view/interfaces/IMultiViewViewModel.js +1 -0
  128. package/dist/src/modules/fox/multi-view/services/MultiViewService.d.ts +99 -0
  129. package/dist/src/modules/fox/multi-view/services/MultiViewService.js +94 -0
  130. package/dist/src/modules/fox/multi-view/types.d.ts +29 -43
  131. package/dist/src/modules/fox/multi-view/types.js +79 -82
  132. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/CuratedMultiviews.d.ts +8 -0
  133. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/CuratedMultiviews.js +91 -0
  134. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/index.d.ts +2 -0
  135. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/index.js +2 -0
  136. package/dist/src/modules/fox/multi-view/view/FoxMultiView.d.ts +1 -0
  137. package/dist/src/modules/fox/multi-view/view/FoxMultiView.js +62 -2
  138. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/CustomMultiviewStreamsCard.d.ts +122 -0
  139. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/CustomMultiviewStreamsCard.js +51 -0
  140. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/index.d.ts +2 -0
  141. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/index.js +2 -0
  142. package/dist/src/modules/fox/multi-view/view/components/LayoutSelector/LayoutSelector.d.ts +1 -1
  143. package/dist/src/modules/fox/multi-view/view/components/LayoutSelector/LayoutSelector.js +11 -14
  144. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/CuratedMultiviewCard.d.ts +101 -0
  145. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/CuratedMultiviewCard.js +21 -0
  146. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/index.d.ts +2 -0
  147. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/index.js +2 -0
  148. package/dist/src/modules/fox/multi-view/view-model/MultiViewViewModel.d.ts +63 -0
  149. package/dist/src/modules/fox/multi-view/view-model/MultiViewViewModel.js +328 -0
  150. package/dist/src/modules/fox/multi-view/view-model/index.d.ts +1 -0
  151. package/dist/src/modules/fox/multi-view/view-model/index.js +1 -0
  152. package/dist/src/services/NetworkManager/NetworkManager.js +1 -1
  153. package/dist/src/services/NetworkManager/errors.d.ts +3 -1
  154. package/dist/src/services/NetworkManager/errors.js +15 -1
  155. package/dist/src/services/StaticService/StaticService.js +1 -0
  156. package/dist/src/view-models/MaestroEventViewModel.d.ts +2 -0
  157. package/dist/src/view-models/MaestroEventViewModel.js +17 -1
  158. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[14],{118:function(e,t,i){"use strict";i.d(t,"a",(function(){return a}));const a=(e,t,i)=>{try{const a=new URL(e);return a.searchParams.set("w",t.toString()),a.searchParams.set("h",i.toString()),a.toString()}catch(t){return console.warn("Malformed URL:",e,t),e}}},229:function(e,t,i){"use strict";i.r(t);var a=i(8),l=i(3),s=i(118);function r(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}t.default=class{constructor(e){r(this,"currentlyPlayingClipIndex",new l.a(null)),r(this,"lastPlayedClipIndex",new l.a(null)),r(this,"currentClipPlaybackProgress",new l.a(null)),r(this,"errorState",new l.a("unpopulatedEvent")),r(this,"failedClips",new l.a({})),r(this,"items",new l.a([])),r(this,"filteredItems",new l.a([])),r(this,"analyticsService",void 0),this.analyticsService=e}onUpdatePlayerTimeCode(e){this.filterItemsByPlayerTimeCode(e),this.cleanErrors()}filterItemsByPlayerTimeCode(e){if(!e)return void(this.filteredItems.value=this.items.value);const t=[];for(const i of this.items.value){const a=i.items.filter(t=>this.shouldShowKeyPlay(t,e));a.length>0&&t.push({title:i.title,items:a})}this.filteredItems.value=t}shouldShowKeyPlay(e,t){if(!e.wallClock||!t)return!0;const i=new Date(t);return new Date(e.wallClock)<=i}isCurrentlyPlaying(e){return e===this.currentlyPlayingClipIndex.value}async setKeyPlays(e,t){null!==e?(this.items.value=this.parseNetworkResponse(e),this.filterItemsByPlayerTimeCode(t),this.cleanErrors()):this.errorState.value="tabLoadFailure"}cleanErrors(){"tabLoadFailure"===this.errorState.value&&(this.errorState.value=null),"unpopulatedEvent"===this.errorState.value&&this.allItems.length&&(this.errorState.value=null),this.filteredItems.value.length||(this.errorState.value="unpopulatedEvent")}async playKeyPlay(e){const t=this.allItems[e];if(!t)return void console.warn("Key play not found at index:",e);a.default.getMaestroEventViewModel().delegate.playClip(e),this.analyticsService.panelClick({type:"espnKeyPlays",name:"key_play_clicked",metadata:{action:"play clip",clip:t.clipID,key_play:t.description}})}async init(){await this.analyticsService.panelView("espnKeyPlays")}parseNetworkResponse(e){var t,i;const a=Object.values((null===(t=e.entities)||void 0===t?void 0:t.team)||{}),l=Object.values((null===(i=e.entities)||void 0===i?void 0:i.athlete)||{}),r=a.find(e=>"home"===e.homeAway),n=a.find(e=>"away"===e.homeAway),o=[],u=[];for(const t of e.sections){for(const e of t.items){const i=e.team?a.find(t=>t.id===e.team):void 0,u=e.athlete?l.find(t=>t.id===e.athlete):void 0,c=null!=i&&i.logoRef?Object(s.a)(i.logoRef,184,144):void 0,h=null!=u&&u.headshot?Object(s.a)(u.headshot,184,144):void 0,d="headshot"!==e.thumbnailType&&e.thumbnail?Object(s.a)(e.thumbnail,184,144):void 0,p=e.homeScore?e.homeScore:"0",y=e.awayScore?e.awayScore:"0",m=e.scoringPlay?parseInt(p):void 0,f=e.scoringPlay?parseInt(y):void 0,v={id:`${t.title||""}-${e.clipID}`,description:e.description?e.description:"",homeTeamName:r?r.shortName:"",awayTeamName:n?n.shortName:"",homeTeamScore:m,awayTeamScore:f,clipID:e.clipID,teamImageUrl:c,playerImageUrl:h,thumbnailImageUrl:d,section:t.title,wallClock:e.wallClock};o.push(v)}if(o.length){const e=t.title,i=u.find(t=>t.title===e);i?i.items.push(...o):u.push({title:e,items:[...o]}),o.length=0}}return u}get allItems(){return this.items.value.reduce((e,t)=>e.concat(t.items),[])}clipID(e){if(this.allItems[e])return this.allItems[e].clipID}handleKeyPlayLoadFailure(e){const t=this.clipID(e);if(t){const i=this.failedClips.value;i[t]="recentFailure",this.failedClips.value=i,setTimeout(()=>{if("recentFailure"===this.loadFailureStatus(e)){const e=this.failedClips.value;e[t]="nonRecentFailure",this.failedClips.value=e}},5e3)}}loadFailureStatus(e){const t=this.clipID(e);return this.failedClips.value&&t?this.failedClips.value[t]:"noFailure"}clearLoadFailureStatus(e){const t=this.clipID(e);t&&this.failedClips&&(this.failedClips.value={...this.failedClips.value,[t]:"noFailure"})}async userRequestedNewKeyPlaysData(){const e=a.default.getMaestroEventViewModel();await e.delegate.userRequestedNewKeyPlaysData()}}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[14],{104:function(e,t,a){"use strict";a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return r}));const i=e=>e.toLowerCase().trim().replace(/[\s\W-]+/g,"-").replace(/^-+|-+$/g,"");function r(e){let t=0;for(let a=0;a<e.length;a++){t=(t<<5)-t+e.charCodeAt(a),t&=t}return t}},125:function(e,t,a){"use strict";a.r(t),a.d(t,"BuilderPanelViewModel",(function(){return o}));var i=a(3),r=a(34),n=a(4),s=a(104);function l(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var i=a.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class o extends r.a{constructor(e,t){super(),l(this,"sections",new i.a([])),l(this,"expandedCardIds",new i.a(new Set)),l(this,"isDataLoading",new i.a(!1)),l(this,"hasEverSuccessfullyLoaded",new i.a(!1)),l(this,"analyticsService",null),l(this,"lastResponseHash",null),l(this,"initialized",!1),this.analyticsService=t||null,e&&this.parseBlockData(e)}async init(e){this.analyticsService&&await this.trackPanelView(),this.parseBlockData(e),this.initialized=!0}cleanup(){this.sections.value=[],this.expandedCardIds.value=new Set,this.lastResponseHash=null,this.initialized=!1}updatePanelConfig(e){this.parseBlockData(e)}async trackPanelView(){try{this.analyticsService}catch(e){Object(n.a)(e,{tags:{component:"BuilderPanelViewModel",method:"trackPanelView"}})}}parseBlockData(e){try{if(this.isDataLoading.value=!0,this.setError(null),!e)throw new Error("Panel config is required");if(!e.block_data)throw new Error("block_data is missing from panel config");const t=e.block_data;if(!t.sections)throw new Error("sections array is missing from block_data");if(!Array.isArray(t.sections))throw new Error("sections must be an array");const a=Object(s.b)(JSON.stringify(t.sections));if(a===this.lastResponseHash)return void(this.isDataLoading.value=!1);this.sections.value=this.parseSections(t.sections),this.lastResponseHash=a,this.hasEverSuccessfullyLoaded.value=!0,this.isDataLoading.value=!1}catch(t){const a=t instanceof Error?t.message:"Failed to parse block data";this.setError(a),this.isDataLoading.value=!1,Object(n.a)(t,{tags:{component:"BuilderPanelViewModel",method:"parseBlockData"},extra:{panelConfig:e}})}}toggleCardExpanded(e){const t=new Set(this.expandedCardIds.value);t.has(e)?t.delete(e):t.add(e),this.expandedCardIds.value=t}collapseAllCards(){this.expandedCardIds.value=new Set}parsePadding(e){var t,a,i,r;const n=8,s=8,l=8,o=8;return{top:null!==(t=null==e?void 0:e.top)&&void 0!==t?t:n,right:null!==(a=null==e?void 0:e.right)&&void 0!==a?a:s,bottom:null!==(i=null==e?void 0:e.bottom)&&void 0!==i?i:l,left:null!==(r=null==e?void 0:e.left)&&void 0!==r?r:o}}parseHeader(e){var t,a,i;return{content:null!==(t=null==e?void 0:e.content)&&void 0!==t?t:"",enabled:null!==(a=null==e?void 0:e.enabled)&&void 0!==a&&a,type:null!==(i=null==e?void 0:e.type)&&void 0!==i?i:"text",alt:null==e?void 0:e.alt}}parseSectionSettings(e){var t,a,i,r;return{backgroundColor:null!==(t=null==e?void 0:e.background_color)&&void 0!==t?t:"transparent",header:this.parseHeader(null==e?void 0:e.header),padding:this.parsePadding(null==e?void 0:e.padding),spacing:null!==(a=null==e?void 0:e.spacing)&&void 0!==a?a:8,sticky:null!==(i=null==e?void 0:e.sticky)&&void 0!==i&&i,textAlignment:null!==(r=null==e?void 0:e.text_alignment)&&void 0!==r?r:"left"}}parseSimpleCard(e){var t,a,i,r;return{id:e.id,type:"simple",title:null!==(t=e.title)&&void 0!==t?t:"",image:{url:null!==(a=null===(i=e.image)||void 0===i?void 0:i.url)&&void 0!==a?a:"",alt:null===(r=e.image)||void 0===r?void 0:r.alt}}}parseExpandableCard(e){var t,a,i;return{id:e.id,type:"expandable",title:null!==(t=e.title)&&void 0!==t?t:"",collapsedState:{cards:Array.isArray(null===(a=e.collapsed_state)||void 0===a?void 0:a.cards)?e.collapsed_state.cards.map(e=>this.parseSimpleCard(e)):[]},expandedState:{cards:Array.isArray(null===(i=e.expanded_state)||void 0===i?void 0:i.cards)?e.expanded_state.cards.map(e=>this.parseSimpleCard(e)):[]},settings:e.settings?this.parseSectionSettings(e.settings):void 0}}parseCard(e){if(!e||!e.id)throw new Error("Card must have an id");return"expandable"===e.type?this.parseExpandableCard(e):this.parseSimpleCard(e)}parseSection(e){var t;if(!e||!e.id)throw new Error("Section must have an id");return{id:e.id,title:null!==(t=e.title)&&void 0!==t?t:"",cards:Array.isArray(e.cards)?e.cards.map(e=>this.parseCard(e)):[],settings:this.parseSectionSettings(e.settings)}}parseSections(e){if(!Array.isArray(e))throw new Error("Sections must be an array");return e.map(e=>this.parseSection(e))}}}}]);
2
2
  //# sourceMappingURL=14.maestro-web-sdk.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/helpers/url.ts","webpack:///./src/modules/espn/key-plays/view-model/KeyPlaysViewModel.ts"],"names":["setImageDimensions","url","width","height","urlObj","URL","searchParams","set","toString","err","console","warn","KeyPlaysViewModel","constructor","analyticsService","_defineProperty","Observable","this","onUpdatePlayerTimeCode","playerTimeCode","filterItemsByPlayerTimeCode","cleanErrors","filteredItems","value","items","item","filteredKeyPlays","filter","keyPlay","shouldShowKeyPlay","length","push","title","wallClock","timestamp","Date","isCurrentlyPlaying","index","currentlyPlayingClipIndex","parseNetworkResponse","errorState","allItems","atIndex","SDK","getMaestroEventViewModel","delegate","playClip","panelClick","type","name","metadata","action","clip","clipID","key_play","description","panelView","response","_response$entities","_response$entities2","teams","Object","values","entities","team","athletes","athlete","homeTeam","find","homeAway","awayTeam","result","section","sections","playTeam","id","undefined","a","teamImageUrl","logoRef","playerImageUrl","headshot","thumbnailImageUrl","thumbnailType","thumbnail","homeScore","awayScore","homeTeamScore","scoringPlay","parseInt","awayTeamScore","keyPlayData","homeTeamName","shortName","awayTeamName","sectionTitle","existingSection","reduce","acc","concat","forKeyPlayAtIndex","handleKeyPlayLoadFailure","newFailedClips","failedClips","setTimeout","loadFailureStatus","clearLoadFailureStatus","mevm","userRequestedNewKeyPlaysData"],"mappings":"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","file":"14.maestro-web-sdk.esm.js","sourcesContent":["export const setImageDimensions = (\n url: string,\n width: number,\n height: number\n) => {\n try {\n const urlObj = new URL(url);\n urlObj.searchParams.set('w', width.toString());\n urlObj.searchParams.set('h', height.toString());\n return urlObj.toString();\n } catch (err) {\n console.warn('Malformed URL:', url, err);\n return url; // Return the original URL if it cannot be parsed\n }\n};\n","import SDK from '@/index';\nimport IMaestroKeyPlaysResponse from '../interfaces/IKeyPlaysResponse';\nimport IKeyPlay, {\n KeyPlayLoadFailureStatus,\n KeyPlaysErrorState,\n} from '../interfaces/IKeyPlays';\nimport { Observable } from '@/helpers/Observable';\nimport { setImageDimensions } from '@/helpers/url';\nimport AnalyticsService from '@/services/AnalyticsService/AnalyticsService';\n\nexport type KeyPlayItem = {\n title?: string;\n items: IKeyPlay[];\n};\n\nclass KeyPlaysViewModel {\n currentlyPlayingClipIndex = new Observable<number | null>(null);\n lastPlayedClipIndex = new Observable<number | null>(null);\n currentClipPlaybackProgress = new Observable<number | null>(null);\n errorState = new Observable<KeyPlaysErrorState | null>('unpopulatedEvent');\n failedClips = new Observable<{ [key: string]: KeyPlayLoadFailureStatus }>({});\n items = new Observable<KeyPlayItem[]>([]);\n filteredItems = new Observable<KeyPlayItem[]>([]);\n analyticsService: AnalyticsService;\n\n constructor(analyticsService: AnalyticsService) {\n this.analyticsService = analyticsService;\n }\n\n onUpdatePlayerTimeCode(playerTimeCode: number | null): void {\n this.filterItemsByPlayerTimeCode(playerTimeCode);\n this.cleanErrors();\n }\n\n private filterItemsByPlayerTimeCode(playerTimeCode: number | null) {\n if (!playerTimeCode) {\n this.filteredItems.value = this.items.value;\n return;\n }\n\n const filteredItems: KeyPlayItem[] = [];\n for (const item of this.items.value) {\n const filteredKeyPlays = item.items.filter((keyPlay) =>\n this.shouldShowKeyPlay(keyPlay, playerTimeCode)\n );\n if (filteredKeyPlays.length > 0) {\n filteredItems.push({\n title: item.title,\n items: filteredKeyPlays,\n });\n }\n }\n this.filteredItems.value = filteredItems;\n }\n\n private shouldShowKeyPlay(\n keyPlay: IKeyPlay,\n playerTimeCode: number | null\n ): boolean {\n if (!keyPlay.wallClock || !playerTimeCode) {\n return true;\n }\n\n const timestamp = new Date(playerTimeCode);\n const wallClockTimestamp = new Date(keyPlay.wallClock);\n return wallClockTimestamp <= timestamp;\n }\n\n isCurrentlyPlaying(index: number): boolean {\n return index === this.currentlyPlayingClipIndex.value;\n }\n\n async setKeyPlays(\n items: IMaestroKeyPlaysResponse | null,\n playerTimeCode: number | null\n ): Promise<void> {\n if (items === null) {\n this.errorState.value = 'tabLoadFailure';\n return;\n }\n\n this.items.value = this.parseNetworkResponse(items);\n this.filterItemsByPlayerTimeCode(playerTimeCode);\n this.cleanErrors();\n }\n\n private cleanErrors() {\n if (this.errorState.value === 'tabLoadFailure') {\n this.errorState.value = null;\n }\n\n if (this.errorState.value === 'unpopulatedEvent' && this.allItems.length) {\n this.errorState.value = null;\n }\n\n if (!this.filteredItems.value.length) {\n this.errorState.value = 'unpopulatedEvent';\n }\n }\n\n async playKeyPlay(atIndex: number): Promise<void> {\n const keyPlay = this.allItems[atIndex];\n if (!keyPlay) {\n console.warn('Key play not found at index:', atIndex);\n return;\n }\n\n const mevm = SDK.getMaestroEventViewModel();\n mevm.delegate.playClip(atIndex);\n\n this.analyticsService.panelClick({\n type: 'espnKeyPlays',\n name: 'key_play_clicked',\n metadata: {\n action: 'play clip',\n clip: keyPlay.clipID,\n key_play: keyPlay.description,\n },\n });\n }\n\n async init() {\n await this.analyticsService.panelView('espnKeyPlays');\n }\n\n parseNetworkResponse(response: IMaestroKeyPlaysResponse): KeyPlayItem[] {\n const teams = Object.values(response.entities?.team || {});\n const athletes = Object.values(response.entities?.athlete || {});\n const homeTeam = teams.find((team) => team.homeAway === 'home');\n const awayTeam = teams.find((team) => team.homeAway === 'away');\n\n const items: IKeyPlay[] = [];\n const result: KeyPlayItem[] = [];\n\n for (const section of response.sections) {\n for (const keyPlay of section.items) {\n const playTeam = keyPlay.team\n ? teams.find((team) => team.id === keyPlay.team)\n : undefined;\n const athlete = keyPlay.athlete\n ? athletes.find((a) => a.id === keyPlay.athlete)\n : undefined;\n\n const teamImageUrl = playTeam?.logoRef\n ? setImageDimensions(playTeam.logoRef, 184, 144)\n : undefined;\n const playerImageUrl = athlete?.headshot\n ? setImageDimensions(athlete.headshot, 184, 144)\n : undefined;\n const thumbnailImageUrl =\n keyPlay.thumbnailType !== 'headshot' && keyPlay.thumbnail\n ? setImageDimensions(keyPlay.thumbnail, 184, 144)\n : undefined;\n\n const homeScore = keyPlay.homeScore ? keyPlay.homeScore : '0';\n const awayScore = keyPlay.awayScore ? keyPlay.awayScore : '0';\n const homeTeamScore = keyPlay.scoringPlay\n ? parseInt(homeScore)\n : undefined;\n const awayTeamScore = keyPlay.scoringPlay\n ? parseInt(awayScore)\n : undefined;\n\n const keyPlayData: IKeyPlay = {\n id: `${section.title || ''}-${keyPlay.clipID}`,\n description: keyPlay.description ? keyPlay.description : '',\n homeTeamName: homeTeam ? homeTeam.shortName : '',\n awayTeamName: awayTeam ? awayTeam.shortName : '',\n homeTeamScore,\n awayTeamScore,\n clipID: keyPlay.clipID,\n teamImageUrl,\n playerImageUrl,\n thumbnailImageUrl,\n section: section.title,\n wallClock: keyPlay.wallClock,\n };\n\n items.push(keyPlayData);\n }\n\n // Only add the section if it has items\n if (items.length) {\n const sectionTitle = section.title;\n const existingSection = result.find(\n (item) => item.title === sectionTitle\n );\n\n if (existingSection) {\n existingSection.items.push(...items);\n } else {\n result.push({\n title: sectionTitle,\n items: [...items],\n });\n }\n\n // Reset items for the next section\n items.length = 0;\n }\n }\n\n return result;\n }\n\n get allItems() {\n return this.items.value.reduce((acc, section) => {\n return acc.concat(section.items);\n }, [] as IKeyPlay[]);\n }\n\n clipID(forKeyPlayAtIndex: number): string | undefined {\n const item = this.allItems[forKeyPlayAtIndex];\n if (!item) {\n return undefined;\n }\n return this.allItems[forKeyPlayAtIndex].clipID;\n }\n\n handleKeyPlayLoadFailure(forKeyPlayAtIndex: number): void {\n const clipID = this.clipID(forKeyPlayAtIndex);\n if (clipID) {\n const newFailedClips = this.failedClips.value;\n newFailedClips[clipID] = 'recentFailure';\n\n this.failedClips.value = newFailedClips;\n\n setTimeout(() => {\n if (this.loadFailureStatus(forKeyPlayAtIndex) === 'recentFailure') {\n const newFailedClips = this.failedClips.value;\n newFailedClips[clipID] = 'nonRecentFailure';\n this.failedClips.value = newFailedClips;\n }\n }, 5000);\n }\n }\n\n loadFailureStatus(forKeyPlayAtIndex: number): KeyPlayLoadFailureStatus {\n const clipID = this.clipID(forKeyPlayAtIndex);\n const newFailedClips = this.failedClips.value;\n if (!newFailedClips) {\n return 'noFailure';\n }\n return clipID ? this.failedClips.value[clipID] : 'noFailure';\n }\n\n clearLoadFailureStatus(forKeyPlayAtIndex: number): void {\n const clipID = this.clipID(forKeyPlayAtIndex);\n if (clipID && this.failedClips) {\n this.failedClips.value = {\n ...this.failedClips.value,\n [clipID]: 'noFailure',\n };\n }\n }\n\n async userRequestedNewKeyPlaysData() {\n const mevm = SDK.getMaestroEventViewModel();\n await mevm.delegate.userRequestedNewKeyPlaysData();\n }\n}\n\nexport default KeyPlaysViewModel;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/helpers/strings.ts","webpack:///./src/modules/maestro/builder/view-model/BuilderPanelViewModel.ts"],"names":["slugify","str","toLowerCase","trim","replace","stringHashCode","hash","i","length","charCodeAt","BuilderPanelViewModel","ViewModel","constructor","panelConfig","analyticsService","super","_defineProperty","Observable","Set","this","parseBlockData","trackPanelView","initialized","cleanup","sections","value","expandedCardIds","lastResponseHash","updatePanelConfig","error","captureException","tags","component","method","isDataLoading","setError","Error","block_data","blockData","Array","isArray","responseHash","JSON","stringify","parseSections","hasEverSuccessfullyLoaded","errorMessage","message","extra","toggleCardExpanded","cardId","currentExpandedIds","has","delete","add","collapseAllCards","parsePadding","raw","_raw$top","_raw$right","_raw$bottom","_raw$left","DEFAULT_PADDING","top","right","bottom","left","parseHeader","_raw$content","_raw$enabled","_raw$type","content","enabled","type","alt","parseSectionSettings","_raw$background_color","_raw$spacing","_raw$sticky","_raw$text_alignment","backgroundColor","background_color","header","padding","spacing","sticky","textAlignment","text_alignment","parseSimpleCard","_raw$title","_raw$image$url","_raw$image","_raw$image2","id","title","image","url","parseExpandableCard","_raw$title2","_raw$collapsed_state","_raw$expanded_state","collapsedState","cards","collapsed_state","map","card","expandedState","expanded_state","settings","undefined","parseCard","parseSection","_raw$title3","rawSections","section"],"mappings":"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","file":"14.maestro-web-sdk.esm.js","sourcesContent":["export const slugify = (str: string) =>\n str\n .toLowerCase()\n .trim()\n .replace(/[\\s\\W-]+/g, '-')\n .replace(/^-+|-+$/g, '');\n\nexport function stringHashCode(str: string): number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32bit integer\n }\n return hash;\n}\n","import { Observable } from '../../../../helpers/Observable';\nimport { ViewModel } from '../../../../view-models/ViewModel';\nimport { captureException } from '@/sentry';\nimport AnalyticsService from '@/services/AnalyticsService/AnalyticsService';\nimport { stringHashCode } from '@/helpers/strings';\nimport {\n ICard,\n IExpandableCard,\n ISection,\n ISectionSettings,\n ISimpleCard,\n} from '../types';\n\ninterface IBlockData {\n sections: any[];\n}\n\ninterface IPanelConfig {\n block_data?: IBlockData;\n id: string;\n panel_name: string;\n panel_type: string;\n icon_name?: string;\n}\n\nexport class BuilderPanelViewModel extends ViewModel {\n public sections = new Observable<ISection[]>([]);\n public expandedCardIds = new Observable<Set<string>>(new Set());\n public isDataLoading = new Observable<boolean>(false);\n public hasEverSuccessfullyLoaded = new Observable<boolean>(false);\n\n private analyticsService: AnalyticsService | null = null;\n private lastResponseHash: number | null = null;\n initialized = false;\n\n constructor(panelConfig?: IPanelConfig, analyticsService?: AnalyticsService) {\n super();\n this.analyticsService = analyticsService || null;\n\n if (panelConfig) {\n this.parseBlockData(panelConfig);\n }\n }\n\n async init(panelConfig: IPanelConfig): Promise<void> {\n if (this.analyticsService) {\n await this.trackPanelView();\n }\n this.parseBlockData(panelConfig);\n this.initialized = true;\n }\n\n cleanup(): void {\n this.sections.value = [];\n this.expandedCardIds.value = new Set();\n this.lastResponseHash = null;\n this.initialized = false;\n }\n\n updatePanelConfig(panelConfig: IPanelConfig): void {\n this.parseBlockData(panelConfig);\n }\n\n private async trackPanelView(): Promise<void> {\n try {\n if (this.analyticsService) {\n // TODO: Add builder to MaestroPanelType analytics before enabling\n // await this.analyticsService.panelView('builderBlockPanel');\n }\n } catch (error) {\n captureException(error, {\n tags: {\n component: 'BuilderPanelViewModel',\n method: 'trackPanelView',\n },\n });\n }\n }\n\n private parseBlockData(panelConfig: IPanelConfig): void {\n try {\n this.isDataLoading.value = true;\n this.setError(null);\n\n if (!panelConfig) {\n throw new Error('Panel config is required');\n }\n\n if (!panelConfig.block_data) {\n throw new Error('block_data is missing from panel config');\n }\n\n const blockData = panelConfig.block_data;\n\n if (!blockData.sections) {\n throw new Error('sections array is missing from block_data');\n }\n\n if (!Array.isArray(blockData.sections)) {\n throw new Error('sections must be an array');\n }\n\n const responseHash = stringHashCode(JSON.stringify(blockData.sections));\n if (responseHash === this.lastResponseHash) {\n this.isDataLoading.value = false;\n return;\n }\n\n // Parse the raw config into properly typed sections with camelCase\n this.sections.value = this.parseSections(blockData.sections);\n this.lastResponseHash = responseHash;\n this.hasEverSuccessfullyLoaded.value = true;\n this.isDataLoading.value = false;\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : 'Failed to parse block data';\n this.setError(errorMessage);\n this.isDataLoading.value = false;\n\n captureException(error, {\n tags: {\n component: 'BuilderPanelViewModel',\n method: 'parseBlockData',\n },\n extra: {\n panelConfig,\n },\n });\n }\n }\n\n toggleCardExpanded(cardId: string): void {\n const currentExpandedIds = new Set(this.expandedCardIds.value);\n\n if (currentExpandedIds.has(cardId)) {\n currentExpandedIds.delete(cardId);\n } else {\n currentExpandedIds.add(cardId);\n }\n\n this.expandedCardIds.value = currentExpandedIds;\n }\n\n collapseAllCards(): void {\n this.expandedCardIds.value = new Set();\n }\n\n private parsePadding(raw: any) {\n const DEFAULT_PADDING = { top: 8, right: 8, bottom: 8, left: 8 };\n return {\n top: raw?.top ?? DEFAULT_PADDING.top,\n right: raw?.right ?? DEFAULT_PADDING.right,\n bottom: raw?.bottom ?? DEFAULT_PADDING.bottom,\n left: raw?.left ?? DEFAULT_PADDING.left,\n };\n }\n\n private parseHeader(raw: any) {\n return {\n content: raw?.content ?? '',\n enabled: raw?.enabled ?? false,\n type: (raw?.type ?? 'text') as 'text' | 'image',\n alt: raw?.alt,\n };\n }\n\n private parseSectionSettings(raw: any): ISectionSettings {\n return {\n backgroundColor: raw?.background_color ?? 'transparent',\n header: this.parseHeader(raw?.header),\n padding: this.parsePadding(raw?.padding),\n spacing: raw?.spacing ?? 8,\n sticky: raw?.sticky ?? false,\n textAlignment: raw?.text_alignment ?? 'left',\n };\n }\n\n private parseSimpleCard(raw: any): ISimpleCard {\n return {\n id: raw.id,\n type: 'simple',\n title: raw.title ?? '',\n image: {\n url: raw.image?.url ?? '',\n alt: raw.image?.alt,\n },\n };\n }\n\n private parseExpandableCard(raw: any): IExpandableCard {\n return {\n id: raw.id,\n type: 'expandable',\n title: raw.title ?? '',\n collapsedState: {\n cards: Array.isArray(raw.collapsed_state?.cards)\n ? raw.collapsed_state.cards.map((card: any) =>\n this.parseSimpleCard(card)\n )\n : [],\n },\n expandedState: {\n cards: Array.isArray(raw.expanded_state?.cards)\n ? raw.expanded_state.cards.map((card: any) =>\n this.parseSimpleCard(card)\n )\n : [],\n },\n settings: raw.settings\n ? this.parseSectionSettings(raw.settings)\n : undefined,\n };\n }\n\n private parseCard(raw: any): ICard {\n if (!raw || !raw.id) {\n throw new Error('Card must have an id');\n }\n\n if (raw.type === 'expandable') {\n return this.parseExpandableCard(raw);\n }\n\n return this.parseSimpleCard(raw);\n }\n\n private parseSection(raw: any): ISection {\n if (!raw || !raw.id) {\n throw new Error('Section must have an id');\n }\n\n return {\n id: raw.id,\n title: raw.title ?? '',\n cards: Array.isArray(raw.cards)\n ? raw.cards.map((card: any) => this.parseCard(card))\n : [],\n settings: this.parseSectionSettings(raw.settings),\n };\n }\n\n private parseSections(rawSections: any[]): ISection[] {\n if (!Array.isArray(rawSections)) {\n throw new Error('Sections must be an array');\n }\n\n return rawSections.map((section: any) => this.parseSection(section));\n }\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[15],{78:function(e,t,V){"use strict";V.r(t);var l=V(0),H=V.n(l);t.default=e=>H.a.createElement("svg",{width:e.width,height:e.height,viewBox:"0 0 72 72",fill:"none",xmlns:"http://www.w3.org/2000/svg"},H.a.createElement("path",{d:"M38.25 43.2954H33V38.25H38.25V43.2954Z",fill:"#9D9E9F"}),H.a.createElement("path",{d:"M28.5 28.7045V33.75H23.25V28.7045H28.5Z",fill:"#9D9E9F"}),H.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M54.75 12.75H6.75V52.5C6.75 56.2279 9.77208 59.25 13.5 59.25H58.5C62.2279 59.25 65.25 56.2279 65.25 52.5V17.25H59.25V50.25C59.25 51.4926 58.2426 52.5 57 52.5C55.7574 52.5 54.75 51.4926 54.75 50.25V12.75ZM28.5 51V47.7954H23.16C20.7244 47.7954 18.75 45.821 18.75 43.3854V41.9659H23.25V43.2954H28.5V38.25H23.16C20.7244 38.25 18.75 36.2756 18.75 33.84V28.6145C18.75 26.179 20.7244 24.2045 23.16 24.2045H28.5V21H33V24.2045H38.34C40.7756 24.2045 42.75 26.179 42.75 28.6145V30.0341H38.25V28.7045H33V33.75H38.34C40.7756 33.75 42.75 35.7244 42.75 38.16V43.3854C42.75 45.821 40.7756 47.7954 38.34 47.7954H33V51H28.5Z",fill:"#9D9E9F"}))}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[15],{120:function(e,t,i){"use strict";i.d(t,"a",(function(){return a}));const a=(e,t,i)=>{try{const a=new URL(e);return a.searchParams.set("w",t.toString()),a.searchParams.set("h",i.toString()),a.toString()}catch(t){return console.warn("Malformed URL:",e,t),e}}},234:function(e,t,i){"use strict";i.r(t);var a=i(8),l=i(3),s=i(120);function r(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}t.default=class{constructor(e){r(this,"currentlyPlayingClipIndex",new l.a(null)),r(this,"lastPlayedClipIndex",new l.a(null)),r(this,"currentClipPlaybackProgress",new l.a(null)),r(this,"errorState",new l.a("unpopulatedEvent")),r(this,"failedClips",new l.a({})),r(this,"items",new l.a([])),r(this,"filteredItems",new l.a([])),r(this,"analyticsService",void 0),this.analyticsService=e}onUpdatePlayerTimeCode(e){this.filterItemsByPlayerTimeCode(e),this.cleanErrors()}filterItemsByPlayerTimeCode(e){if(!e)return void(this.filteredItems.value=this.items.value);const t=[];for(const i of this.items.value){const a=i.items.filter(t=>this.shouldShowKeyPlay(t,e));a.length>0&&t.push({title:i.title,items:a})}this.filteredItems.value=t}shouldShowKeyPlay(e,t){if(!e.wallClock||!t)return!0;const i=new Date(t);return new Date(e.wallClock)<=i}isCurrentlyPlaying(e){return e===this.currentlyPlayingClipIndex.value}async setKeyPlays(e,t){null!==e?(this.items.value=this.parseNetworkResponse(e),this.filterItemsByPlayerTimeCode(t),this.cleanErrors()):this.errorState.value="tabLoadFailure"}cleanErrors(){"tabLoadFailure"===this.errorState.value&&(this.errorState.value=null),"unpopulatedEvent"===this.errorState.value&&this.allItems.length&&(this.errorState.value=null),this.filteredItems.value.length||(this.errorState.value="unpopulatedEvent")}async playKeyPlay(e){const t=this.allItems[e];if(!t)return void console.warn("Key play not found at index:",e);a.default.getMaestroEventViewModel().delegate.playClip(e),this.analyticsService.panelClick({type:"espnKeyPlays",name:"key_play_clicked",metadata:{action:"play clip",clip:t.clipID,key_play:t.description}})}async init(){await this.analyticsService.panelView("espnKeyPlays")}parseNetworkResponse(e){var t,i;const a=Object.values((null===(t=e.entities)||void 0===t?void 0:t.team)||{}),l=Object.values((null===(i=e.entities)||void 0===i?void 0:i.athlete)||{}),r=a.find(e=>"home"===e.homeAway),n=a.find(e=>"away"===e.homeAway),o=[],u=[];for(const t of e.sections){for(const e of t.items){const i=e.team?a.find(t=>t.id===e.team):void 0,u=e.athlete?l.find(t=>t.id===e.athlete):void 0,c=null!=i&&i.logoRef?Object(s.a)(i.logoRef,184,144):void 0,h=null!=u&&u.headshot?Object(s.a)(u.headshot,184,144):void 0,d="headshot"!==e.thumbnailType&&e.thumbnail?Object(s.a)(e.thumbnail,184,144):void 0,p=e.homeScore?e.homeScore:"0",y=e.awayScore?e.awayScore:"0",m=e.scoringPlay?parseInt(p):void 0,f=e.scoringPlay?parseInt(y):void 0,v={id:`${t.title||""}-${e.clipID}`,description:e.description?e.description:"",homeTeamName:r?r.shortName:"",awayTeamName:n?n.shortName:"",homeTeamScore:m,awayTeamScore:f,clipID:e.clipID,teamImageUrl:c,playerImageUrl:h,thumbnailImageUrl:d,section:t.title,wallClock:e.wallClock};o.push(v)}if(o.length){const e=t.title,i=u.find(t=>t.title===e);i?i.items.push(...o):u.push({title:e,items:[...o]}),o.length=0}}return u}get allItems(){return this.items.value.reduce((e,t)=>e.concat(t.items),[])}clipID(e){if(this.allItems[e])return this.allItems[e].clipID}handleKeyPlayLoadFailure(e){const t=this.clipID(e);if(t){const i=this.failedClips.value;i[t]="recentFailure",this.failedClips.value=i,setTimeout(()=>{if("recentFailure"===this.loadFailureStatus(e)){const e=this.failedClips.value;e[t]="nonRecentFailure",this.failedClips.value=e}},5e3)}}loadFailureStatus(e){const t=this.clipID(e);return this.failedClips.value&&t?this.failedClips.value[t]:"noFailure"}clearLoadFailureStatus(e){const t=this.clipID(e);t&&this.failedClips&&(this.failedClips.value={...this.failedClips.value,[t]:"noFailure"})}async userRequestedNewKeyPlaysData(){const e=a.default.getMaestroEventViewModel();await e.delegate.userRequestedNewKeyPlaysData()}}}}]);
2
2
  //# sourceMappingURL=15.maestro-web-sdk.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/components/atoms/SvgIcon/BetsIcon.tsx"],"names":["BetsIcon","props","React","createElement","width","height","viewBox","fill","xmlns","d","fillRule","clipRule"],"mappings":"0FAAA,2BAuBeA,UArBGC,GAEdC,IAAAC,cAAA,OACEC,MAAOH,EAAMG,MACbC,OAAQJ,EAAMI,OACdC,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAENN,IAAAC,cAAA,QAAMM,EAAE,yCAAyCF,KAAK,YACtDL,IAAAC,cAAA,QAAMM,EAAE,0CAA0CF,KAAK,YACvDL,IAAAC,cAAA,QACEO,SAAS,UACTC,SAAS,UACTF,EAAE,imBACFF,KAAK","file":"15.maestro-web-sdk.esm.js","sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\nconst BetsIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 72 72\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M38.25 43.2954H33V38.25H38.25V43.2954Z\" fill=\"#9D9E9F\" />\n <path d=\"M28.5 28.7045V33.75H23.25V28.7045H28.5Z\" fill=\"#9D9E9F\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M54.75 12.75H6.75V52.5C6.75 56.2279 9.77208 59.25 13.5 59.25H58.5C62.2279 59.25 65.25 56.2279 65.25 52.5V17.25H59.25V50.25C59.25 51.4926 58.2426 52.5 57 52.5C55.7574 52.5 54.75 51.4926 54.75 50.25V12.75ZM28.5 51V47.7954H23.16C20.7244 47.7954 18.75 45.821 18.75 43.3854V41.9659H23.25V43.2954H28.5V38.25H23.16C20.7244 38.25 18.75 36.2756 18.75 33.84V28.6145C18.75 26.179 20.7244 24.2045 23.16 24.2045H28.5V21H33V24.2045H38.34C40.7756 24.2045 42.75 26.179 42.75 28.6145V30.0341H38.25V28.7045H33V33.75H38.34C40.7756 33.75 42.75 35.7244 42.75 38.16V43.3854C42.75 45.821 40.7756 47.7954 38.34 47.7954H33V51H28.5Z\"\n fill=\"#9D9E9F\"\n />\n </svg>\n );\n};\n\nexport default BetsIcon;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/helpers/url.ts","webpack:///./src/modules/espn/key-plays/view-model/KeyPlaysViewModel.ts"],"names":["setImageDimensions","url","width","height","urlObj","URL","searchParams","set","toString","err","console","warn","KeyPlaysViewModel","constructor","analyticsService","_defineProperty","Observable","this","onUpdatePlayerTimeCode","playerTimeCode","filterItemsByPlayerTimeCode","cleanErrors","filteredItems","value","items","item","filteredKeyPlays","filter","keyPlay","shouldShowKeyPlay","length","push","title","wallClock","timestamp","Date","isCurrentlyPlaying","index","currentlyPlayingClipIndex","parseNetworkResponse","errorState","allItems","atIndex","SDK","getMaestroEventViewModel","delegate","playClip","panelClick","type","name","metadata","action","clip","clipID","key_play","description","panelView","response","_response$entities","_response$entities2","teams","Object","values","entities","team","athletes","athlete","homeTeam","find","homeAway","awayTeam","result","section","sections","playTeam","id","undefined","a","teamImageUrl","logoRef","playerImageUrl","headshot","thumbnailImageUrl","thumbnailType","thumbnail","homeScore","awayScore","homeTeamScore","scoringPlay","parseInt","awayTeamScore","keyPlayData","homeTeamName","shortName","awayTeamName","sectionTitle","existingSection","reduce","acc","concat","forKeyPlayAtIndex","handleKeyPlayLoadFailure","newFailedClips","failedClips","setTimeout","loadFailureStatus","clearLoadFailureStatus","mevm","userRequestedNewKeyPlaysData"],"mappings":"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","file":"15.maestro-web-sdk.esm.js","sourcesContent":["export const setImageDimensions = (\n url: string,\n width: number,\n height: number\n) => {\n try {\n const urlObj = new URL(url);\n urlObj.searchParams.set('w', width.toString());\n urlObj.searchParams.set('h', height.toString());\n return urlObj.toString();\n } catch (err) {\n console.warn('Malformed URL:', url, err);\n return url; // Return the original URL if it cannot be parsed\n }\n};\n","import SDK from '@/index';\nimport IMaestroKeyPlaysResponse from '../interfaces/IKeyPlaysResponse';\nimport IKeyPlay, {\n KeyPlayLoadFailureStatus,\n KeyPlaysErrorState,\n} from '../interfaces/IKeyPlays';\nimport { Observable } from '@/helpers/Observable';\nimport { setImageDimensions } from '@/helpers/url';\nimport AnalyticsService from '@/services/AnalyticsService/AnalyticsService';\n\nexport type KeyPlayItem = {\n title?: string;\n items: IKeyPlay[];\n};\n\nclass KeyPlaysViewModel {\n currentlyPlayingClipIndex = new Observable<number | null>(null);\n lastPlayedClipIndex = new Observable<number | null>(null);\n currentClipPlaybackProgress = new Observable<number | null>(null);\n errorState = new Observable<KeyPlaysErrorState | null>('unpopulatedEvent');\n failedClips = new Observable<{ [key: string]: KeyPlayLoadFailureStatus }>({});\n items = new Observable<KeyPlayItem[]>([]);\n filteredItems = new Observable<KeyPlayItem[]>([]);\n analyticsService: AnalyticsService;\n\n constructor(analyticsService: AnalyticsService) {\n this.analyticsService = analyticsService;\n }\n\n onUpdatePlayerTimeCode(playerTimeCode: number | null): void {\n this.filterItemsByPlayerTimeCode(playerTimeCode);\n this.cleanErrors();\n }\n\n private filterItemsByPlayerTimeCode(playerTimeCode: number | null) {\n if (!playerTimeCode) {\n this.filteredItems.value = this.items.value;\n return;\n }\n\n const filteredItems: KeyPlayItem[] = [];\n for (const item of this.items.value) {\n const filteredKeyPlays = item.items.filter((keyPlay) =>\n this.shouldShowKeyPlay(keyPlay, playerTimeCode)\n );\n if (filteredKeyPlays.length > 0) {\n filteredItems.push({\n title: item.title,\n items: filteredKeyPlays,\n });\n }\n }\n this.filteredItems.value = filteredItems;\n }\n\n private shouldShowKeyPlay(\n keyPlay: IKeyPlay,\n playerTimeCode: number | null\n ): boolean {\n if (!keyPlay.wallClock || !playerTimeCode) {\n return true;\n }\n\n const timestamp = new Date(playerTimeCode);\n const wallClockTimestamp = new Date(keyPlay.wallClock);\n return wallClockTimestamp <= timestamp;\n }\n\n isCurrentlyPlaying(index: number): boolean {\n return index === this.currentlyPlayingClipIndex.value;\n }\n\n async setKeyPlays(\n items: IMaestroKeyPlaysResponse | null,\n playerTimeCode: number | null\n ): Promise<void> {\n if (items === null) {\n this.errorState.value = 'tabLoadFailure';\n return;\n }\n\n this.items.value = this.parseNetworkResponse(items);\n this.filterItemsByPlayerTimeCode(playerTimeCode);\n this.cleanErrors();\n }\n\n private cleanErrors() {\n if (this.errorState.value === 'tabLoadFailure') {\n this.errorState.value = null;\n }\n\n if (this.errorState.value === 'unpopulatedEvent' && this.allItems.length) {\n this.errorState.value = null;\n }\n\n if (!this.filteredItems.value.length) {\n this.errorState.value = 'unpopulatedEvent';\n }\n }\n\n async playKeyPlay(atIndex: number): Promise<void> {\n const keyPlay = this.allItems[atIndex];\n if (!keyPlay) {\n console.warn('Key play not found at index:', atIndex);\n return;\n }\n\n const mevm = SDK.getMaestroEventViewModel();\n mevm.delegate.playClip(atIndex);\n\n this.analyticsService.panelClick({\n type: 'espnKeyPlays',\n name: 'key_play_clicked',\n metadata: {\n action: 'play clip',\n clip: keyPlay.clipID,\n key_play: keyPlay.description,\n },\n });\n }\n\n async init() {\n await this.analyticsService.panelView('espnKeyPlays');\n }\n\n parseNetworkResponse(response: IMaestroKeyPlaysResponse): KeyPlayItem[] {\n const teams = Object.values(response.entities?.team || {});\n const athletes = Object.values(response.entities?.athlete || {});\n const homeTeam = teams.find((team) => team.homeAway === 'home');\n const awayTeam = teams.find((team) => team.homeAway === 'away');\n\n const items: IKeyPlay[] = [];\n const result: KeyPlayItem[] = [];\n\n for (const section of response.sections) {\n for (const keyPlay of section.items) {\n const playTeam = keyPlay.team\n ? teams.find((team) => team.id === keyPlay.team)\n : undefined;\n const athlete = keyPlay.athlete\n ? athletes.find((a) => a.id === keyPlay.athlete)\n : undefined;\n\n const teamImageUrl = playTeam?.logoRef\n ? setImageDimensions(playTeam.logoRef, 184, 144)\n : undefined;\n const playerImageUrl = athlete?.headshot\n ? setImageDimensions(athlete.headshot, 184, 144)\n : undefined;\n const thumbnailImageUrl =\n keyPlay.thumbnailType !== 'headshot' && keyPlay.thumbnail\n ? setImageDimensions(keyPlay.thumbnail, 184, 144)\n : undefined;\n\n const homeScore = keyPlay.homeScore ? keyPlay.homeScore : '0';\n const awayScore = keyPlay.awayScore ? keyPlay.awayScore : '0';\n const homeTeamScore = keyPlay.scoringPlay\n ? parseInt(homeScore)\n : undefined;\n const awayTeamScore = keyPlay.scoringPlay\n ? parseInt(awayScore)\n : undefined;\n\n const keyPlayData: IKeyPlay = {\n id: `${section.title || ''}-${keyPlay.clipID}`,\n description: keyPlay.description ? keyPlay.description : '',\n homeTeamName: homeTeam ? homeTeam.shortName : '',\n awayTeamName: awayTeam ? awayTeam.shortName : '',\n homeTeamScore,\n awayTeamScore,\n clipID: keyPlay.clipID,\n teamImageUrl,\n playerImageUrl,\n thumbnailImageUrl,\n section: section.title,\n wallClock: keyPlay.wallClock,\n };\n\n items.push(keyPlayData);\n }\n\n // Only add the section if it has items\n if (items.length) {\n const sectionTitle = section.title;\n const existingSection = result.find(\n (item) => item.title === sectionTitle\n );\n\n if (existingSection) {\n existingSection.items.push(...items);\n } else {\n result.push({\n title: sectionTitle,\n items: [...items],\n });\n }\n\n // Reset items for the next section\n items.length = 0;\n }\n }\n\n return result;\n }\n\n get allItems() {\n return this.items.value.reduce((acc, section) => {\n return acc.concat(section.items);\n }, [] as IKeyPlay[]);\n }\n\n clipID(forKeyPlayAtIndex: number): string | undefined {\n const item = this.allItems[forKeyPlayAtIndex];\n if (!item) {\n return undefined;\n }\n return this.allItems[forKeyPlayAtIndex].clipID;\n }\n\n handleKeyPlayLoadFailure(forKeyPlayAtIndex: number): void {\n const clipID = this.clipID(forKeyPlayAtIndex);\n if (clipID) {\n const newFailedClips = this.failedClips.value;\n newFailedClips[clipID] = 'recentFailure';\n\n this.failedClips.value = newFailedClips;\n\n setTimeout(() => {\n if (this.loadFailureStatus(forKeyPlayAtIndex) === 'recentFailure') {\n const newFailedClips = this.failedClips.value;\n newFailedClips[clipID] = 'nonRecentFailure';\n this.failedClips.value = newFailedClips;\n }\n }, 5000);\n }\n }\n\n loadFailureStatus(forKeyPlayAtIndex: number): KeyPlayLoadFailureStatus {\n const clipID = this.clipID(forKeyPlayAtIndex);\n const newFailedClips = this.failedClips.value;\n if (!newFailedClips) {\n return 'noFailure';\n }\n return clipID ? this.failedClips.value[clipID] : 'noFailure';\n }\n\n clearLoadFailureStatus(forKeyPlayAtIndex: number): void {\n const clipID = this.clipID(forKeyPlayAtIndex);\n if (clipID && this.failedClips) {\n this.failedClips.value = {\n ...this.failedClips.value,\n [clipID]: 'noFailure',\n };\n }\n }\n\n async userRequestedNewKeyPlaysData() {\n const mevm = SDK.getMaestroEventViewModel();\n await mevm.delegate.userRequestedNewKeyPlaysData();\n }\n}\n\nexport default KeyPlaysViewModel;\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[16],{86:function(e,t,n){"use strict";n.r(t);var s=n(0),o=n.n(s);class i extends o.a.Component{constructor(e){super(e)}render(){return o.a.createElement("svg",{width:this.props.width,height:this.props.height,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3 16C3 8.8203 8.8203 3 16 3C23.1797 3 29 8.8203 29 16C29 23.1797 23.1797 29 16 29C8.8203 29 3 23.1797 3 16ZM14.6001 12.0668H17.4001V9.26676H14.6001V12.0668ZM17.3333 22.6667V14H14.6667V22.6667H17.3333Z",fill:"#FFB759"}))}}t.default=i}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[16],{98:function(e,t,n){"use strict";n.r(t);var w=n(0),i=n.n(w);t.default=e=>i.a.createElement("svg",{width:e.width,height:e.height,viewBox:"0 0 21 21",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i.a.createElement("path",{d:"M10.5 1V20M1 10.5H20",stroke:"#FFFFFF",strokeWidth:"2",strokeLinecap:"round"}))}}]);
2
2
  //# sourceMappingURL=16.maestro-web-sdk.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/components/atoms/SvgIcon/BetsWarningIcon.tsx"],"names":["BetsWarningIcon","React","Component","constructor","props","super","render","createElement","width","this","height","viewBox","fill","xmlns","fillRule","clipRule","d"],"mappings":"0FAAA,2BAGA,MAAMA,UAAwBC,IAAMC,UAClCC,YAAYC,GACVC,MAAMD,GAGRE,SACE,OACEL,IAAAM,cAAA,OACEC,MAAOC,KAAKL,MAAMI,MAClBE,OAAQD,KAAKL,MAAMM,OACnBC,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAENZ,IAAAM,cAAA,QACEO,SAAS,UACTC,SAAS,UACTC,EAAE,4MACFJ,KAAK,cAOAZ","file":"16.maestro-web-sdk.esm.js","sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nclass BetsWarningIcon extends React.Component<IconProps> {\n constructor(props: IconProps) {\n super(props);\n }\n\n render() {\n return (\n <svg\n width={this.props.width}\n height={this.props.height}\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 16C3 8.8203 8.8203 3 16 3C23.1797 3 29 8.8203 29 16C29 23.1797 23.1797 29 16 29C8.8203 29 3 23.1797 3 16ZM14.6001 12.0668H17.4001V9.26676H14.6001V12.0668ZM17.3333 22.6667V14H14.6667V22.6667H17.3333Z\"\n fill=\"#FFB759\"\n />\n </svg>\n );\n }\n}\n\nexport default BetsWarningIcon;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/components/atoms/SvgIcon/AddIcon.tsx"],"names":["AddIcon","props","React","createElement","width","height","viewBox","fill","xmlns","d","stroke","strokeWidth","strokeLinecap"],"mappings":"0FAAA,2BAsBeA,UAnBEC,GAEbC,IAAAC,cAAA,OACEC,MAAOH,EAAMG,MACbC,OAAQJ,EAAMI,OACdC,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAENN,IAAAC,cAAA,QACEM,EAAE,uBACFC,OAAO,UACPC,YAAY,IACZC,cAAc","file":"16.maestro-web-sdk.esm.js","sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst AddIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 21 21\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.5 1V20M1 10.5H20\"\n stroke=\"#FFFFFF\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n );\n};\n\nexport default AddIcon;\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[17],{93:function(C,e,t){"use strict";t.r(e);var a=t(0),l=t.n(a);e.default=C=>l.a.createElement("svg",{width:C.width,height:C.height,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l.a.createElement("path",{d:"M5.25 1.25C3.84987 1.25 3.1498 1.25 2.61502 1.52248C2.14462 1.76217 1.76217 2.14462 1.52248 2.61502C1.25 3.1498 1.25 3.84987 1.25 5.25V18.75C1.25 20.1501 1.25 20.8502 1.52248 21.385C1.76217 21.8554 2.14462 22.2378 2.61502 22.4775C3.1498 22.75 3.84987 22.75 5.25 22.75H6.75C8.15013 22.75 8.8502 22.75 9.38498 22.4775C9.85538 22.2378 10.2378 21.8554 10.4775 21.385C10.75 20.8502 10.75 20.1501 10.75 18.75V5.25C10.75 3.84987 10.75 3.1498 10.4775 2.61502C10.2378 2.14462 9.85538 1.76217 9.38498 1.52248C8.8502 1.25 8.15013 1.25 6.75 1.25H5.25Z",fill:"#F3F7FF"}),l.a.createElement("path",{d:"M13.25 5.25C13.25 3.84987 13.25 3.1498 13.5225 2.61502C13.7622 2.14462 14.1446 1.76217 14.615 1.52248C15.1498 1.25 15.8499 1.25 17.25 1.25H18.75C20.1501 1.25 20.8502 1.25 21.385 1.52248C21.8554 1.76217 22.2378 2.14462 22.4775 2.61502C22.75 3.1498 22.75 3.84987 22.75 5.25V6.75C22.75 8.15013 22.75 8.8502 22.4775 9.38498C22.2378 9.85538 21.8554 10.2378 21.385 10.4775C20.8502 10.75 20.1501 10.75 18.75 10.75H17.25C15.8499 10.75 15.1498 10.75 14.615 10.4775C14.1446 10.2378 13.7622 9.85538 13.5225 9.38498C13.25 8.8502 13.25 8.15013 13.25 6.75V5.25Z",fill:"#F3F7FF"}),l.a.createElement("path",{d:"M17.25 13.25C15.8499 13.25 15.1498 13.25 14.615 13.5225C14.1446 13.7622 13.7622 14.1446 13.5225 14.615C13.25 15.1498 13.25 15.8499 13.25 17.25V18.75C13.25 20.1501 13.25 20.8502 13.5225 21.385C13.7622 21.8554 14.1446 22.2378 14.615 22.4775C15.1498 22.75 15.8499 22.75 17.25 22.75H18.75C20.1501 22.75 20.8502 22.75 21.385 22.4775C21.8554 22.2378 22.2378 21.8554 22.4775 21.385C22.75 20.8502 22.75 20.1501 22.75 18.75V17.25C22.75 15.8499 22.75 15.1498 22.4775 14.615C22.2378 14.1446 21.8554 13.7622 21.385 13.5225C20.8502 13.25 20.1501 13.25 18.75 13.25H17.25Z",fill:"#F3F7FF"}))}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[17],{79:function(e,t,V){"use strict";V.r(t);var l=V(0),H=V.n(l);t.default=e=>H.a.createElement("svg",{width:e.width,height:e.height,viewBox:"0 0 72 72",fill:"none",xmlns:"http://www.w3.org/2000/svg"},H.a.createElement("path",{d:"M38.25 43.2954H33V38.25H38.25V43.2954Z",fill:"#9D9E9F"}),H.a.createElement("path",{d:"M28.5 28.7045V33.75H23.25V28.7045H28.5Z",fill:"#9D9E9F"}),H.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M54.75 12.75H6.75V52.5C6.75 56.2279 9.77208 59.25 13.5 59.25H58.5C62.2279 59.25 65.25 56.2279 65.25 52.5V17.25H59.25V50.25C59.25 51.4926 58.2426 52.5 57 52.5C55.7574 52.5 54.75 51.4926 54.75 50.25V12.75ZM28.5 51V47.7954H23.16C20.7244 47.7954 18.75 45.821 18.75 43.3854V41.9659H23.25V43.2954H28.5V38.25H23.16C20.7244 38.25 18.75 36.2756 18.75 33.84V28.6145C18.75 26.179 20.7244 24.2045 23.16 24.2045H28.5V21H33V24.2045H38.34C40.7756 24.2045 42.75 26.179 42.75 28.6145V30.0341H38.25V28.7045H33V33.75H38.34C40.7756 33.75 42.75 35.7244 42.75 38.16V43.3854C42.75 45.821 40.7756 47.7954 38.34 47.7954H33V51H28.5Z",fill:"#9D9E9F"}))}}]);
2
2
  //# sourceMappingURL=17.maestro-web-sdk.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/components/atoms/SvgIcon/BuilderIcon.tsx"],"names":["BuilderIcon","props","React","createElement","width","height","viewBox","fill","xmlns","d"],"mappings":"0FAAA,2BA4BeA,UAzBMC,GAEjBC,IAAAC,cAAA,OACEC,MAAOH,EAAMG,MACbC,OAAQJ,EAAMI,OACdC,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAENN,IAAAC,cAAA,QACEM,EAAE,8hBACFF,KAAK,YAEPL,IAAAC,cAAA,QACEM,EAAE,siBACFF,KAAK,YAEPL,IAAAC,cAAA,QACEM,EAAE,gjBACFF,KAAK","file":"17.maestro-web-sdk.esm.js","sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst BuilderIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5.25 1.25C3.84987 1.25 3.1498 1.25 2.61502 1.52248C2.14462 1.76217 1.76217 2.14462 1.52248 2.61502C1.25 3.1498 1.25 3.84987 1.25 5.25V18.75C1.25 20.1501 1.25 20.8502 1.52248 21.385C1.76217 21.8554 2.14462 22.2378 2.61502 22.4775C3.1498 22.75 3.84987 22.75 5.25 22.75H6.75C8.15013 22.75 8.8502 22.75 9.38498 22.4775C9.85538 22.2378 10.2378 21.8554 10.4775 21.385C10.75 20.8502 10.75 20.1501 10.75 18.75V5.25C10.75 3.84987 10.75 3.1498 10.4775 2.61502C10.2378 2.14462 9.85538 1.76217 9.38498 1.52248C8.8502 1.25 8.15013 1.25 6.75 1.25H5.25Z\"\n fill=\"#F3F7FF\"\n />\n <path\n d=\"M13.25 5.25C13.25 3.84987 13.25 3.1498 13.5225 2.61502C13.7622 2.14462 14.1446 1.76217 14.615 1.52248C15.1498 1.25 15.8499 1.25 17.25 1.25H18.75C20.1501 1.25 20.8502 1.25 21.385 1.52248C21.8554 1.76217 22.2378 2.14462 22.4775 2.61502C22.75 3.1498 22.75 3.84987 22.75 5.25V6.75C22.75 8.15013 22.75 8.8502 22.4775 9.38498C22.2378 9.85538 21.8554 10.2378 21.385 10.4775C20.8502 10.75 20.1501 10.75 18.75 10.75H17.25C15.8499 10.75 15.1498 10.75 14.615 10.4775C14.1446 10.2378 13.7622 9.85538 13.5225 9.38498C13.25 8.8502 13.25 8.15013 13.25 6.75V5.25Z\"\n fill=\"#F3F7FF\"\n />\n <path\n d=\"M17.25 13.25C15.8499 13.25 15.1498 13.25 14.615 13.5225C14.1446 13.7622 13.7622 14.1446 13.5225 14.615C13.25 15.1498 13.25 15.8499 13.25 17.25V18.75C13.25 20.1501 13.25 20.8502 13.5225 21.385C13.7622 21.8554 14.1446 22.2378 14.615 22.4775C15.1498 22.75 15.8499 22.75 17.25 22.75H18.75C20.1501 22.75 20.8502 22.75 21.385 22.4775C21.8554 22.2378 22.2378 21.8554 22.4775 21.385C22.75 20.8502 22.75 20.1501 22.75 18.75V17.25C22.75 15.8499 22.75 15.1498 22.4775 14.615C22.2378 14.1446 21.8554 13.7622 21.385 13.5225C20.8502 13.25 20.1501 13.25 18.75 13.25H17.25Z\"\n fill=\"#F3F7FF\"\n />\n </svg>\n );\n};\n\nexport default BuilderIcon;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/components/atoms/SvgIcon/BetsIcon.tsx"],"names":["BetsIcon","props","React","createElement","width","height","viewBox","fill","xmlns","d","fillRule","clipRule"],"mappings":"0FAAA,2BAuBeA,UArBGC,GAEdC,IAAAC,cAAA,OACEC,MAAOH,EAAMG,MACbC,OAAQJ,EAAMI,OACdC,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAENN,IAAAC,cAAA,QAAMM,EAAE,yCAAyCF,KAAK,YACtDL,IAAAC,cAAA,QAAMM,EAAE,0CAA0CF,KAAK,YACvDL,IAAAC,cAAA,QACEO,SAAS,UACTC,SAAS,UACTF,EAAE,imBACFF,KAAK","file":"17.maestro-web-sdk.esm.js","sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\nconst BetsIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 72 72\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M38.25 43.2954H33V38.25H38.25V43.2954Z\" fill=\"#9D9E9F\" />\n <path d=\"M28.5 28.7045V33.75H23.25V28.7045H28.5Z\" fill=\"#9D9E9F\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M54.75 12.75H6.75V52.5C6.75 56.2279 9.77208 59.25 13.5 59.25H58.5C62.2279 59.25 65.25 56.2279 65.25 52.5V17.25H59.25V50.25C59.25 51.4926 58.2426 52.5 57 52.5C55.7574 52.5 54.75 51.4926 54.75 50.25V12.75ZM28.5 51V47.7954H23.16C20.7244 47.7954 18.75 45.821 18.75 43.3854V41.9659H23.25V43.2954H28.5V38.25H23.16C20.7244 38.25 18.75 36.2756 18.75 33.84V28.6145C18.75 26.179 20.7244 24.2045 23.16 24.2045H28.5V21H33V24.2045H38.34C40.7756 24.2045 42.75 26.179 42.75 28.6145V30.0341H38.25V28.7045H33V33.75H38.34C40.7756 33.75 42.75 35.7244 42.75 38.16V43.3854C42.75 45.821 40.7756 47.7954 38.34 47.7954H33V51H28.5Z\"\n fill=\"#9D9E9F\"\n />\n </svg>\n );\n};\n\nexport default BetsIcon;\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[18],{91:function(e,C,t){"use strict";t.r(C);var n=t(0),i=t.n(n);C.default=e=>i.a.createElement("svg",{width:e.width,height:e.height,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3 20.3077C3 20.1622 3.04487 20.0272 3.12152 19.9158C3.48396 19.3721 3.73959 18.988 3.92078 18.6789C4.10212 18.3696 4.18012 18.1822 4.21373 18.0371C4.23728 17.9356 4.24555 17.893 4.2506 17.8569C4.25566 17.8209 4.25941 17.7777 4.2647 17.6736C4.27129 17.5439 4.23648 17.2915 4.09725 16.7831C3.96289 16.2924 3.75483 15.6413 3.46816 14.7447C3.20249 13.9139 3 12.9666 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21H3.69231C3.30996 21 3 20.69 3 20.3077ZM8.30769 9.46154C7.92534 9.46154 7.61538 9.7715 7.61538 10.1538C7.61538 10.5362 7.92534 10.8462 8.30769 10.8462H15.6923C16.0747 10.8462 16.3846 10.5362 16.3846 10.1538C16.3846 9.7715 16.0747 9.46154 15.6923 9.46154H8.30769ZM7.61538 13.8462C7.61538 13.4638 7.92534 13.1538 8.30769 13.1538H12C12.3824 13.1538 12.6923 13.4638 12.6923 13.8462C12.6923 14.2285 12.3824 14.5385 12 14.5385H8.30769C7.92534 14.5385 7.61538 14.2285 7.61538 13.8462Z",fill:"#F3F7FF"}))}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[18],{87:function(e,t,n){"use strict";n.r(t);var s=n(0),o=n.n(s);class i extends o.a.Component{constructor(e){super(e)}render(){return o.a.createElement("svg",{width:this.props.width,height:this.props.height,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3 16C3 8.8203 8.8203 3 16 3C23.1797 3 29 8.8203 29 16C29 23.1797 23.1797 29 16 29C8.8203 29 3 23.1797 3 16ZM14.6001 12.0668H17.4001V9.26676H14.6001V12.0668ZM17.3333 22.6667V14H14.6667V22.6667H17.3333Z",fill:"#FFB759"}))}}t.default=i}}]);
2
2
  //# sourceMappingURL=18.maestro-web-sdk.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/components/atoms/SvgIcon/ChatIcon.tsx"],"names":["ChatIcon","props","React","createElement","width","height","viewBox","fill","xmlns","fillRule","clipRule","d"],"mappings":"0FAAA,2BAsBeA,UAnBGC,GAEdC,IAAAC,cAAA,OACEC,MAAOH,EAAMG,MACbC,OAAQJ,EAAMI,OACdC,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAENN,IAAAC,cAAA,QACEM,SAAS,UACTC,SAAS,UACTC,EAAE,85BACFJ,KAAK","file":"18.maestro-web-sdk.esm.js","sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst ChatIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 20.3077C3 20.1622 3.04487 20.0272 3.12152 19.9158C3.48396 19.3721 3.73959 18.988 3.92078 18.6789C4.10212 18.3696 4.18012 18.1822 4.21373 18.0371C4.23728 17.9356 4.24555 17.893 4.2506 17.8569C4.25566 17.8209 4.25941 17.7777 4.2647 17.6736C4.27129 17.5439 4.23648 17.2915 4.09725 16.7831C3.96289 16.2924 3.75483 15.6413 3.46816 14.7447C3.20249 13.9139 3 12.9666 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21H3.69231C3.30996 21 3 20.69 3 20.3077ZM8.30769 9.46154C7.92534 9.46154 7.61538 9.7715 7.61538 10.1538C7.61538 10.5362 7.92534 10.8462 8.30769 10.8462H15.6923C16.0747 10.8462 16.3846 10.5362 16.3846 10.1538C16.3846 9.7715 16.0747 9.46154 15.6923 9.46154H8.30769ZM7.61538 13.8462C7.61538 13.4638 7.92534 13.1538 8.30769 13.1538H12C12.3824 13.1538 12.6923 13.4638 12.6923 13.8462C12.6923 14.2285 12.3824 14.5385 12 14.5385H8.30769C7.92534 14.5385 7.61538 14.2285 7.61538 13.8462Z\"\n fill=\"#F3F7FF\"\n />\n </svg>\n );\n};\n\nexport default ChatIcon;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/components/atoms/SvgIcon/BetsWarningIcon.tsx"],"names":["BetsWarningIcon","React","Component","constructor","props","super","render","createElement","width","this","height","viewBox","fill","xmlns","fillRule","clipRule","d"],"mappings":"0FAAA,2BAGA,MAAMA,UAAwBC,IAAMC,UAClCC,YAAYC,GACVC,MAAMD,GAGRE,SACE,OACEL,IAAAM,cAAA,OACEC,MAAOC,KAAKL,MAAMI,MAClBE,OAAQD,KAAKL,MAAMM,OACnBC,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAENZ,IAAAM,cAAA,QACEO,SAAS,UACTC,SAAS,UACTC,EAAE,4MACFJ,KAAK,cAOAZ","file":"18.maestro-web-sdk.esm.js","sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nclass BetsWarningIcon extends React.Component<IconProps> {\n constructor(props: IconProps) {\n super(props);\n }\n\n render() {\n return (\n <svg\n width={this.props.width}\n height={this.props.height}\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 16C3 8.8203 8.8203 3 16 3C23.1797 3 29 8.8203 29 16C29 23.1797 23.1797 29 16 29C8.8203 29 3 23.1797 3 16ZM14.6001 12.0668H17.4001V9.26676H14.6001V12.0668ZM17.3333 22.6667V14H14.6667V22.6667H17.3333Z\"\n fill=\"#FFB759\"\n />\n </svg>\n );\n }\n}\n\nexport default BetsWarningIcon;\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[19],{84:function(e,t,n){"use strict";n.r(t);var i=n(0),l=n.n(i);t.default=e=>l.a.createElement("svg",{width:e.width,height:e.height,viewBox:"0 0 25 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.0678 6.50019L9.79999 18.768L3.53223 12.5002L5.29999 10.7324L9.79999 15.2324L20.3 4.73242L22.0678 6.50019Z",fill:"#41BA42"}))}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[19],{94:function(C,e,t){"use strict";t.r(e);var a=t(0),l=t.n(a);e.default=C=>l.a.createElement("svg",{width:C.width,height:C.height,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l.a.createElement("path",{d:"M5.25 1.25C3.84987 1.25 3.1498 1.25 2.61502 1.52248C2.14462 1.76217 1.76217 2.14462 1.52248 2.61502C1.25 3.1498 1.25 3.84987 1.25 5.25V18.75C1.25 20.1501 1.25 20.8502 1.52248 21.385C1.76217 21.8554 2.14462 22.2378 2.61502 22.4775C3.1498 22.75 3.84987 22.75 5.25 22.75H6.75C8.15013 22.75 8.8502 22.75 9.38498 22.4775C9.85538 22.2378 10.2378 21.8554 10.4775 21.385C10.75 20.8502 10.75 20.1501 10.75 18.75V5.25C10.75 3.84987 10.75 3.1498 10.4775 2.61502C10.2378 2.14462 9.85538 1.76217 9.38498 1.52248C8.8502 1.25 8.15013 1.25 6.75 1.25H5.25Z",fill:"#F3F7FF"}),l.a.createElement("path",{d:"M13.25 5.25C13.25 3.84987 13.25 3.1498 13.5225 2.61502C13.7622 2.14462 14.1446 1.76217 14.615 1.52248C15.1498 1.25 15.8499 1.25 17.25 1.25H18.75C20.1501 1.25 20.8502 1.25 21.385 1.52248C21.8554 1.76217 22.2378 2.14462 22.4775 2.61502C22.75 3.1498 22.75 3.84987 22.75 5.25V6.75C22.75 8.15013 22.75 8.8502 22.4775 9.38498C22.2378 9.85538 21.8554 10.2378 21.385 10.4775C20.8502 10.75 20.1501 10.75 18.75 10.75H17.25C15.8499 10.75 15.1498 10.75 14.615 10.4775C14.1446 10.2378 13.7622 9.85538 13.5225 9.38498C13.25 8.8502 13.25 8.15013 13.25 6.75V5.25Z",fill:"#F3F7FF"}),l.a.createElement("path",{d:"M17.25 13.25C15.8499 13.25 15.1498 13.25 14.615 13.5225C14.1446 13.7622 13.7622 14.1446 13.5225 14.615C13.25 15.1498 13.25 15.8499 13.25 17.25V18.75C13.25 20.1501 13.25 20.8502 13.5225 21.385C13.7622 21.8554 14.1446 22.2378 14.615 22.4775C15.1498 22.75 15.8499 22.75 17.25 22.75H18.75C20.1501 22.75 20.8502 22.75 21.385 22.4775C21.8554 22.2378 22.2378 21.8554 22.4775 21.385C22.75 20.8502 22.75 20.1501 22.75 18.75V17.25C22.75 15.8499 22.75 15.1498 22.4775 14.615C22.2378 14.1446 21.8554 13.7622 21.385 13.5225C20.8502 13.25 20.1501 13.25 18.75 13.25H17.25Z",fill:"#F3F7FF"}))}}]);
2
2
  //# sourceMappingURL=19.maestro-web-sdk.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/components/atoms/SvgIcon/CheckmarkIcon.tsx"],"names":["CheckmarkIcon","props","React","createElement","width","height","viewBox","fill","xmlns","fillRule","clipRule","d"],"mappings":"0FAAA,2BAsBeA,UAnBQC,GAEnBC,IAAAC,cAAA,OACEC,MAAOH,EAAMG,MACbC,OAAQJ,EAAMI,OACdC,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAENN,IAAAC,cAAA,QACEM,SAAS,UACTC,SAAS,UACTC,EAAE,gHACFJ,KAAK","file":"19.maestro-web-sdk.esm.js","sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst CheckmarkIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 25 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.0678 6.50019L9.79999 18.768L3.53223 12.5002L5.29999 10.7324L9.79999 15.2324L20.3 4.73242L22.0678 6.50019Z\"\n fill=\"#41BA42\"\n />\n </svg>\n );\n};\n\nexport default CheckmarkIcon;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/components/atoms/SvgIcon/BuilderIcon.tsx"],"names":["BuilderIcon","props","React","createElement","width","height","viewBox","fill","xmlns","d"],"mappings":"0FAAA,2BA4BeA,UAzBMC,GAEjBC,IAAAC,cAAA,OACEC,MAAOH,EAAMG,MACbC,OAAQJ,EAAMI,OACdC,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAENN,IAAAC,cAAA,QACEM,EAAE,8hBACFF,KAAK,YAEPL,IAAAC,cAAA,QACEM,EAAE,siBACFF,KAAK,YAEPL,IAAAC,cAAA,QACEM,EAAE,gjBACFF,KAAK","file":"19.maestro-web-sdk.esm.js","sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst BuilderIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5.25 1.25C3.84987 1.25 3.1498 1.25 2.61502 1.52248C2.14462 1.76217 1.76217 2.14462 1.52248 2.61502C1.25 3.1498 1.25 3.84987 1.25 5.25V18.75C1.25 20.1501 1.25 20.8502 1.52248 21.385C1.76217 21.8554 2.14462 22.2378 2.61502 22.4775C3.1498 22.75 3.84987 22.75 5.25 22.75H6.75C8.15013 22.75 8.8502 22.75 9.38498 22.4775C9.85538 22.2378 10.2378 21.8554 10.4775 21.385C10.75 20.8502 10.75 20.1501 10.75 18.75V5.25C10.75 3.84987 10.75 3.1498 10.4775 2.61502C10.2378 2.14462 9.85538 1.76217 9.38498 1.52248C8.8502 1.25 8.15013 1.25 6.75 1.25H5.25Z\"\n fill=\"#F3F7FF\"\n />\n <path\n d=\"M13.25 5.25C13.25 3.84987 13.25 3.1498 13.5225 2.61502C13.7622 2.14462 14.1446 1.76217 14.615 1.52248C15.1498 1.25 15.8499 1.25 17.25 1.25H18.75C20.1501 1.25 20.8502 1.25 21.385 1.52248C21.8554 1.76217 22.2378 2.14462 22.4775 2.61502C22.75 3.1498 22.75 3.84987 22.75 5.25V6.75C22.75 8.15013 22.75 8.8502 22.4775 9.38498C22.2378 9.85538 21.8554 10.2378 21.385 10.4775C20.8502 10.75 20.1501 10.75 18.75 10.75H17.25C15.8499 10.75 15.1498 10.75 14.615 10.4775C14.1446 10.2378 13.7622 9.85538 13.5225 9.38498C13.25 8.8502 13.25 8.15013 13.25 6.75V5.25Z\"\n fill=\"#F3F7FF\"\n />\n <path\n d=\"M17.25 13.25C15.8499 13.25 15.1498 13.25 14.615 13.5225C14.1446 13.7622 13.7622 14.1446 13.5225 14.615C13.25 15.1498 13.25 15.8499 13.25 17.25V18.75C13.25 20.1501 13.25 20.8502 13.5225 21.385C13.7622 21.8554 14.1446 22.2378 14.615 22.4775C15.1498 22.75 15.8499 22.75 17.25 22.75H18.75C20.1501 22.75 20.8502 22.75 21.385 22.4775C21.8554 22.2378 22.2378 21.8554 22.4775 21.385C22.75 20.8502 22.75 20.1501 22.75 18.75V17.25C22.75 15.8499 22.75 15.1498 22.4775 14.615C22.2378 14.1446 21.8554 13.7622 21.385 13.5225C20.8502 13.25 20.1501 13.25 18.75 13.25H17.25Z\"\n fill=\"#F3F7FF\"\n />\n </svg>\n );\n};\n\nexport default BuilderIcon;\n"],"sourceRoot":""}