@maestro_io/maestro-web-sdk 1.0.0 → 2.0.1

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 (94) hide show
  1. package/dist/MaestroEventDelegate.d.ts +9 -0
  2. package/dist/components/atoms/BaseButton/BaseButton.d.ts +9 -0
  3. package/dist/components/atoms/BaseButton/index.d.ts +2 -0
  4. package/dist/components/atoms/Image/index.d.ts +9 -0
  5. package/dist/components/atoms/SvgIcon/BetsIcon.d.ts +7 -0
  6. package/dist/components/atoms/SvgIcon/FantasyIcon.d.ts +6 -0
  7. package/dist/components/atoms/SvgIcon/Icon.d.ts +28 -0
  8. package/dist/components/atoms/SvgIcon/KeyPlaysIcon.d.ts +6 -0
  9. package/dist/components/atoms/SvgIcon/PlayIcon.d.ts +6 -0
  10. package/dist/components/atoms/SvgIcon/StatsIcon.d.ts +6 -0
  11. package/dist/components/atoms/SvgIcon/WarningIcon.d.ts +6 -0
  12. package/dist/components/atoms/SvgIcon/index.d.ts +2 -0
  13. package/dist/components/core/App/App.d.ts +10 -0
  14. package/dist/components/core/App/index.d.ts +2 -0
  15. package/dist/components/core/PanelManager/PanelManager.d.ts +14 -0
  16. package/dist/components/core/PanelManager/index.d.ts +2 -0
  17. package/dist/components/molecules/ActionButton/ActionButton.d.ts +50 -0
  18. package/dist/components/molecules/ActionButton/index.d.ts +2 -0
  19. package/dist/components/molecules/PanelNavButton/PanelNavButton.d.ts +107 -0
  20. package/dist/components/molecules/PanelNavButton/index.d.ts +2 -0
  21. package/dist/components/molecules/ScrollableGradient/ScrollableGradient.d.ts +11 -0
  22. package/dist/components/molecules/ScrollableGradient/index.d.ts +2 -0
  23. package/dist/components/molecules/SegmentButton/SegmentButton.d.ts +10 -0
  24. package/dist/components/molecules/SegmentButton/index.d.ts +2 -0
  25. package/dist/components/molecules/WatchButton/WatchButton.d.ts +10 -0
  26. package/dist/components/molecules/WatchButton/index.d.ts +2 -0
  27. package/dist/components/organisms/PanelNavigation/PanelNavigation.d.ts +15 -0
  28. package/dist/components/organisms/PanelNavigation/index.d.ts +2 -0
  29. package/dist/components/organisms/SegmentController/SegmentController.d.ts +14 -0
  30. package/dist/components/organisms/SegmentController/index.d.ts +2 -0
  31. package/dist/external/AxiosNetworkClient.d.ts +15 -0
  32. package/dist/external/LocalStorageCacheManager.d.ts +10 -0
  33. package/dist/external/ReactRenderer.d.ts +26 -0
  34. package/dist/external/ports/cacheManager.d.ts +15 -0
  35. package/dist/external/ports/networkClient.d.ts +5 -0
  36. package/dist/external/ports/renderer.d.ts +9 -0
  37. package/dist/external/spatial-navigation/index.d.ts +5 -0
  38. package/dist/external/spatial-navigation/measureLayout.d.ts +2 -0
  39. package/dist/external/spatial-navigation/spatialNavigation.d.ts +166 -0
  40. package/dist/external/spatial-navigation/utils.d.ts +15 -0
  41. package/dist/external/spatial-navigation/visualDebugger.d.ts +17 -0
  42. package/dist/external/spatial-navigation/withFocusable.d.ts +81 -0
  43. package/dist/helpers/Observable.d.ts +12 -0
  44. package/dist/helpers/deliver-focus.d.ts +5 -0
  45. package/dist/helpers/withRemoteControl.d.ts +47 -0
  46. package/dist/index.d.ts +60 -382
  47. package/dist/interfaces/IMaestroEvent.d.ts +62 -0
  48. package/dist/interfaces/IMaestroEventDelegate.d.ts +18 -0
  49. package/dist/interfaces/IMaestroManager.d.ts +82 -0
  50. package/dist/maestro-web-sdk.umd.js +2 -3
  51. package/dist/maestro-web-sdk.umd.js.map +1 -1
  52. package/dist/models/IModel.d.ts +7 -0
  53. package/dist/models/IPanel.d.ts +20 -0
  54. package/dist/models/ITheme.d.ts +77 -0
  55. package/dist/modules/key-plays/constants.d.ts +3 -0
  56. package/dist/modules/key-plays/interfaces/IKeyPlays.d.ts +31 -0
  57. package/dist/modules/key-plays/interfaces/IKeyPlaysResponse.d.ts +44 -0
  58. package/dist/modules/key-plays/view/KeyPlayCardScoreTagView.d.ts +9 -0
  59. package/dist/modules/key-plays/view/KeyPlayCardView.d.ts +115 -0
  60. package/dist/modules/key-plays/view/KeyPlayErrorStateView.d.ts +11 -0
  61. package/dist/modules/key-plays/view/KeyPlaysView.d.ts +53 -0
  62. package/dist/modules/key-plays/view-model/KeyPlaysViewModel.d.ts +29 -0
  63. package/dist/services/NetworkManager.d.ts +13 -0
  64. package/dist/services/ThemeManager/constants.d.ts +2 -0
  65. package/dist/view-models/MaestroEventViewModel.d.ts +37 -0
  66. package/dist/view-models/PanelManagerViewModel.d.ts +18 -0
  67. package/dist/view-models/ViewModel.d.ts +12 -0
  68. package/dist/view-models/index.d.ts +17 -0
  69. package/package.json +64 -36
  70. package/dist/BetsIcon-UrnN4lvP.js +0 -22
  71. package/dist/BetsIcon-UrnN4lvP.js.map +0 -1
  72. package/dist/FantasyIcon-DmloKsq_.js +0 -24
  73. package/dist/FantasyIcon-DmloKsq_.js.map +0 -1
  74. package/dist/KeyPlayErrorStateView-Dk89rtUq.js +0 -112
  75. package/dist/KeyPlayErrorStateView-Dk89rtUq.js.map +0 -1
  76. package/dist/KeyPlaysIcon-Br9gu_Zu.js +0 -24
  77. package/dist/KeyPlaysIcon-Br9gu_Zu.js.map +0 -1
  78. package/dist/KeyPlaysView-Br-88ytG.js +0 -174
  79. package/dist/KeyPlaysView-Br-88ytG.js.map +0 -1
  80. package/dist/PlayIcon-CNKWNaLP.js +0 -24
  81. package/dist/PlayIcon-CNKWNaLP.js.map +0 -1
  82. package/dist/StatsIcon-Ds4hriWX.js +0 -25
  83. package/dist/StatsIcon-Ds4hriWX.js.map +0 -1
  84. package/dist/WarningIcon-BuzZKL26.js +0 -24
  85. package/dist/WarningIcon-BuzZKL26.js.map +0 -1
  86. package/dist/index-BaSckwps.js +0 -2998
  87. package/dist/index-BaSckwps.js.map +0 -1
  88. package/dist/index-DXErYNZH.js +0 -151
  89. package/dist/index-DXErYNZH.js.map +0 -1
  90. package/dist/index-q5GKgbOd.js +0 -56
  91. package/dist/index-q5GKgbOd.js.map +0 -1
  92. package/dist/maestro-web-sdk.esm.js +0 -6
  93. package/dist/maestro-web-sdk.esm.js.map +0 -1
  94. package/dist/tsconfig.tsbuildinfo +0 -1
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@maestro_io/maestro-web-sdk",
3
3
  "private": false,
4
- "version": "1.0.0",
5
- "type": "module",
4
+ "version": "2.0.1",
5
+ "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "main": "dist/maestro-web-sdk.umd.js",
8
8
  "module": "dist/maestro-web-sdk.esm.js",
@@ -21,48 +21,76 @@
21
21
  "*.css"
22
22
  ],
23
23
  "engines": {
24
- "node": ">=22"
24
+ "node": ">=10"
25
25
  },
26
26
  "scripts": {
27
27
  "dev": "nodemon",
28
- "sdk-only": "vite",
29
- "build": "tsc --noEmit & vite build --sourcemap=true",
30
- "build:analyze": "vite-bundle-visualizer",
31
- "lint": "eslint .",
32
- "test": "vitest"
28
+ "sdk-only": "webpack-dev-server --config webpack/webpack.dev.js",
29
+ "lint": "eslint src --ext .ts,.tsx",
30
+ "test": "jest",
31
+ "build": "tsc --emitDeclarationOnly --outDir dist/types & webpack --config webpack/webpack.prod.js",
32
+ "types": "tsc -b"
33
+ },
34
+ "peerDependencies": {
35
+ "react": "^15.0.0 || ^16.0.0 || ^17.0.0",
36
+ "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0"
37
+ },
38
+ "peerDependenciesMeta": {
39
+ "react": {
40
+ "optional": true
41
+ },
42
+ "react-dom": {
43
+ "optional": true
44
+ }
33
45
  },
34
46
  "devDependencies": {
35
- "@eslint/js": "^9.21.0",
36
- "@testing-library/jest-dom": "^6.6.3",
37
- "@types/react": "^19.0.10",
38
- "@types/react-dom": "^19.0.4",
39
- "@vitejs/plugin-react": "^4.3.4",
40
- "eslint": "^9.21.0",
41
- "eslint-import-resolver-alias": "^1.1.2",
42
- "eslint-plugin-import": "^2.31.0",
43
- "eslint-plugin-react-hooks": "^5.1.0",
44
- "eslint-plugin-react-refresh": "^0.4.19",
45
- "globals": "^15.15.0",
46
- "husky": "^8.0.0",
47
+ "@babel/core": "^7.12.3",
48
+ "@babel/plugin-proposal-class-properties": "7.12.1",
49
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
50
+ "@babel/preset-env": "7.12.1",
51
+ "@babel/preset-react": "7.12.1",
52
+ "@babel/preset-typescript": "7.12.1",
53
+ "@types/enzyme-adapter-react-15": "^1.0.9",
54
+ "@types/jest": "24.0.25",
55
+ "@types/node": "10",
56
+ "@types/prop-types": "^15.7.10",
57
+ "@types/react": "15",
58
+ "@types/react-dom": "15",
59
+ "@typescript-eslint/eslint-plugin": "2.34.0",
60
+ "@typescript-eslint/parser": "2.34.0",
61
+ "babel-jest": "26.6.3",
62
+ "babel-loader": "8",
63
+ "css-loader": "5",
64
+ "enzyme": "3.11.0",
65
+ "enzyme-adapter-react-15": "1.0.6",
66
+ "eslint": "6.8.0",
67
+ "eslint-config-prettier": "6.0.0",
68
+ "eslint-plugin-react": "7.20.0",
69
+ "file-loader": "^6.2.0",
70
+ "globals": "^10",
71
+ "html-webpack-plugin": "4",
72
+ "husky": "^6.0.0",
73
+ "identity-obj-proxy": "^3.0.0",
74
+ "jest": "26.6.3",
47
75
  "nodemon": "^3.1.9",
48
- "react": "^19.0.0",
49
- "react-dom": "^19.0.0",
50
- "terser": "^5.37.0",
51
- "typescript": "~5.7.2",
52
- "typescript-eslint": "^8.24.1",
53
- "vite": "^6.2.0",
54
- "vite-bundle-visualizer": "^1.2.1",
55
- "vite-plugin-css-injected-by-js": "^3.5.2",
56
- "vite-plugin-dts": "^4.5.3",
57
- "vitest": "^3.0.0"
58
- },
59
- "peerDependencies": {
60
- "react": "^17.0.0 || ^18.0.0",
61
- "react-dom": "^17.0.0 || ^18.0.0"
76
+ "prettier": "2.0.5",
77
+ "react": "15",
78
+ "react-dom": "15",
79
+ "react-test-renderer": "15",
80
+ "style-loader": "2",
81
+ "tsconfig-paths-webpack-plugin": "^4.2.0",
82
+ "typescript": "^4",
83
+ "webpack": "4",
84
+ "webpack-cli": "3.3.12",
85
+ "webpack-dev-server": "3.11.2"
62
86
  },
63
87
  "dependencies": {
64
- "@noriginmedia/norigin-spatial-navigation": "^2.3.0",
65
88
  "axios": "^1.8.2",
66
- "axios-retry": "^4.5.0"
89
+ "axios-retry": "^4.5.0",
90
+ "prop-types": "15"
91
+ },
92
+ "resolutions": {
93
+ "sockjs-client": "1.5.1",
94
+ "cheerio": "0.22.0"
67
95
  }
68
96
  }
@@ -1,22 +0,0 @@
1
- import e from "react";
2
- const h = (t) => /* @__PURE__ */ e.createElement(
3
- "svg",
4
- {
5
- width: t.width,
6
- height: t.height,
7
- viewBox: "0 0 36 36",
8
- fill: "none",
9
- xmlns: "http://www.w3.org/2000/svg"
10
- },
11
- /* @__PURE__ */ e.createElement(
12
- "path",
13
- {
14
- d: "M26.4393 4.5H6.61944L3.34766 31.5C3.34766 31.5 19.7066 31.5 22.7432 31.5C23.3056 31.5 23.8679 31.4591 24.4251 31.3773C26.0406 31.1268 28.7193 30.3445 29.8491 27.6808C30.3501 26.4947 30.7387 23.1919 30.8665 22.3023C31.1783 20.1345 30.0178 18.8819 28.8625 18.1508C28.6069 17.9923 28.6733 17.6038 28.9647 17.5322C30.1814 17.2203 31.3266 16.571 31.6435 15.1906C31.8633 14.2192 32.0781 12.0872 32.2263 10.9011C32.9113 5.92643 29.568 4.5 26.4393 4.5ZM24.1542 19.792H15.8213L15.6117 21.5047H23.9497L23.4589 25.4773H10.1468L11.2715 16.3154H24.5836L24.1593 19.7869L24.1542 19.792ZM24.7779 14.7202H11.4658L11.9821 10.5227H25.2942L24.783 14.7202H24.7779Z",
15
- fill: "#9DA0A6"
16
- }
17
- )
18
- );
19
- export {
20
- h as default
21
- };
22
- //# sourceMappingURL=BetsIcon-UrnN4lvP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BetsIcon-UrnN4lvP.js","sources":["../src/components/atoms/SvgIcon/BetsIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst BetsIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 36 36\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M26.4393 4.5H6.61944L3.34766 31.5C3.34766 31.5 19.7066 31.5 22.7432 31.5C23.3056 31.5 23.8679 31.4591 24.4251 31.3773C26.0406 31.1268 28.7193 30.3445 29.8491 27.6808C30.3501 26.4947 30.7387 23.1919 30.8665 22.3023C31.1783 20.1345 30.0178 18.8819 28.8625 18.1508C28.6069 17.9923 28.6733 17.6038 28.9647 17.5322C30.1814 17.2203 31.3266 16.571 31.6435 15.1906C31.8633 14.2192 32.0781 12.0872 32.2263 10.9011C32.9113 5.92643 29.568 4.5 26.4393 4.5ZM24.1542 19.792H15.8213L15.6117 21.5047H23.9497L23.4589 25.4773H10.1468L11.2715 16.3154H24.5836L24.1593 19.7869L24.1542 19.792ZM24.7779 14.7202H11.4658L11.9821 10.5227H25.2942L24.783 14.7202H24.7779Z\"\n fill=\"#9DA0A6\"\n />\n </svg>\n );\n};\n\nexport default BetsIcon;\n"],"names":["BetsIcon","props","React"],"mappings":";AAGM,MAAAA,IAAW,CAACC,MAEd,gBAAAC,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAOD,EAAM;AAAA,IACb,QAAQA,EAAM;AAAA,IACd,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,EAAA;AAAA,EAEN,gBAAAC,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EAAA;AAET;"}
@@ -1,24 +0,0 @@
1
- import t from "react";
2
- const n = (e) => /* @__PURE__ */ t.createElement(
3
- "svg",
4
- {
5
- width: e.width,
6
- height: e.height,
7
- viewBox: "0 0 36 36",
8
- fill: "none",
9
- xmlns: "http://www.w3.org/2000/svg"
10
- },
11
- /* @__PURE__ */ t.createElement(
12
- "path",
13
- {
14
- fillRule: "evenodd",
15
- clipRule: "evenodd",
16
- d: "M8.96879 29.0297C11.6061 31.2694 14.6822 32.9334 18.0001 33.9152C21.3179 32.9334 24.394 31.2694 27.0313 29.0297C29.6686 26.7899 31.8089 24.0239 33.3151 20.9089C31.6987 16.1971 30.9721 11.2259 31.1722 6.24861C26.9818 4.51945 22.5273 3.51728 18.0001 3.28516C13.4728 3.51728 9.01831 4.51945 4.82788 6.24861C5.02804 11.2259 4.30143 16.1971 2.68506 20.9089C4.19119 24.0239 6.33149 26.7899 8.96879 29.0297ZM11.7503 14.7153L12.2646 10.5164H25.5772L25.0616 14.7153H11.7503ZM23.7355 25.4753H10.423L11.5486 16.3157H24.8599L24.4349 19.7871H16.1048L15.8917 21.4998H24.2282L23.7355 25.4753Z",
17
- fill: "#9DA0A6"
18
- }
19
- )
20
- );
21
- export {
22
- n as default
23
- };
24
- //# sourceMappingURL=FantasyIcon-DmloKsq_.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FantasyIcon-DmloKsq_.js","sources":["../src/components/atoms/SvgIcon/FantasyIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst FantasyIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 36 36\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.96879 29.0297C11.6061 31.2694 14.6822 32.9334 18.0001 33.9152C21.3179 32.9334 24.394 31.2694 27.0313 29.0297C29.6686 26.7899 31.8089 24.0239 33.3151 20.9089C31.6987 16.1971 30.9721 11.2259 31.1722 6.24861C26.9818 4.51945 22.5273 3.51728 18.0001 3.28516C13.4728 3.51728 9.01831 4.51945 4.82788 6.24861C5.02804 11.2259 4.30143 16.1971 2.68506 20.9089C4.19119 24.0239 6.33149 26.7899 8.96879 29.0297ZM11.7503 14.7153L12.2646 10.5164H25.5772L25.0616 14.7153H11.7503ZM23.7355 25.4753H10.423L11.5486 16.3157H24.8599L24.4349 19.7871H16.1048L15.8917 21.4998H24.2282L23.7355 25.4753Z\"\n fill=\"#9DA0A6\"\n />\n </svg>\n );\n};\n\nexport default FantasyIcon;\n"],"names":["FantasyIcon","props","React"],"mappings":";AAGM,MAAAA,IAAc,CAACC,MAEjB,gBAAAC,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAOD,EAAM;AAAA,IACb,QAAQA,EAAM;AAAA,IACd,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,EAAA;AAAA,EAEN,gBAAAC,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,UAAS;AAAA,MACT,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EAAA;AAET;"}
@@ -1,112 +0,0 @@
1
- import { d as l } from "./index-BaSckwps.js";
2
- import { B as s } from "./index-DXErYNZH.js";
3
- import e from "react";
4
- const c = ({ onEnter: t, ...a }) => {
5
- const { ref: r } = l.useFocusable({
6
- onEnterPress: t
7
- });
8
- return /* @__PURE__ */ e.createElement(s, { className: "action-button T05_ALT", ...a, ref: r }, a.children);
9
- }, i = () => /* @__PURE__ */ e.createElement("div", { className: "sdk--key-play-error-state-unpopulatedEvent" }, /* @__PURE__ */ e.createElement("div", { className: "main-content" }, /* @__PURE__ */ e.createElement("h3", { className: "T70" }, "Greatness takes time."), /* @__PURE__ */ e.createElement("p", { className: "T20" }, "Key plays are still in the making! Come back soon to check ‘em out.")), /* @__PURE__ */ e.createElement("div", { className: "unpopulatedEvent-examples" }, Array.from({ length: 4 }).map((t, a) => /* @__PURE__ */ e.createElement("div", { key: a, className: "example" })))), m = () => /* @__PURE__ */ e.createElement("div", { className: "sdk--key-play-error-state-unsupportedEvent" }, /* @__PURE__ */ e.createElement("h3", { className: "T70" }, "No Key Plays Available"), /* @__PURE__ */ e.createElement("svg", { viewBox: "0 0 520 359", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ e.createElement("g", { opacity: "0.16" }, /* @__PURE__ */ e.createElement(
10
- "path",
11
- {
12
- d: "M146.334 219.427V244.686L168.723 198.187V38.0215L165.279 40.3178V188.427L146.334 219.427Z",
13
- fill: "#6D6D6D"
14
- }
15
- ), /* @__PURE__ */ e.createElement(
16
- "rect",
17
- {
18
- x: "94.6687",
19
- y: "219.427",
20
- width: "51.6662",
21
- height: "25.259",
22
- fill: "#777777"
23
- }
24
- ), /* @__PURE__ */ e.createElement(
25
- "rect",
26
- {
27
- x: "145.187",
28
- y: "39.1694",
29
- width: "20.6665",
30
- height: "149.258",
31
- fill: "#666666"
32
- }
33
- ), /* @__PURE__ */ e.createElement(
34
- "path",
35
- {
36
- d: "M146.335 219.427H94.6687L143.465 187.279H167.001L146.335 219.427Z",
37
- fill: "#666666"
38
- }
39
- ), /* @__PURE__ */ e.createElement(
40
- "path",
41
- {
42
- d: "M375.389 219.427V244.686L353 198.187V38.0215L356.445 40.3178V188.427L375.389 219.427Z",
43
- fill: "#6D6D6D"
44
- }
45
- ), /* @__PURE__ */ e.createElement(
46
- "rect",
47
- {
48
- width: "51.6662",
49
- height: "25.259",
50
- transform: "matrix(-1 0 0 1 427.055 219.427)",
51
- fill: "#777777"
52
- }
53
- ), /* @__PURE__ */ e.createElement(
54
- "rect",
55
- {
56
- width: "20.6665",
57
- height: "149.258",
58
- transform: "matrix(-1 0 0 1 376.537 39.1694)",
59
- fill: "#666666"
60
- }
61
- ), /* @__PURE__ */ e.createElement(
62
- "path",
63
- {
64
- d: "M375.389 219.427H427.055L378.259 187.279H354.722L375.389 219.427Z",
65
- fill: "#666666"
66
- }
67
- ), /* @__PURE__ */ e.createElement(
68
- "path",
69
- {
70
- d: "M23.4844 141.354H496.517L410.981 121.835H93.5208L23.4844 141.354Z",
71
- fill: "#B1B1B1"
72
- }
73
- ), /* @__PURE__ */ e.createElement(
74
- "rect",
75
- {
76
- x: "23.4844",
77
- y: "141.354",
78
- width: "473.033",
79
- height: "19.5183",
80
- fill: "#777777"
81
- }
82
- ), /* @__PURE__ */ e.createElement(
83
- "rect",
84
- {
85
- x: "72.8545",
86
- y: "51.7993",
87
- width: "374.293",
88
- height: "45.9255",
89
- fill: "#CDCDCD"
90
- }
91
- )))), o = ({ onRetry: t }) => {
92
- const { hasFocusedChild: a, ref: r, focusKey: n } = l.useFocusable({
93
- trackChildren: !0
94
- });
95
- return /* @__PURE__ */ e.createElement(l.FocusContext.Provider, { value: n }, /* @__PURE__ */ e.createElement(
96
- "div",
97
- {
98
- ref: r,
99
- className: "sdk--key-play-error-state-tabLoadFailure",
100
- style: {
101
- borderColor: a ? "var(--sdk-highlightPrimary)" : "transparent"
102
- }
103
- },
104
- /* @__PURE__ */ e.createElement("h3", { className: "T70" }, "Let’s try that again..."),
105
- /* @__PURE__ */ e.createElement("p", { className: "T20" }, "We're having trouble loading this."),
106
- /* @__PURE__ */ e.createElement(c, { onEnter: t }, "Refresh")
107
- ));
108
- }, E = ({ errorState: t, onRetry: a }) => t === "unsupportedEvent" ? /* @__PURE__ */ e.createElement(m, null) : t === "unpopulatedEvent" ? /* @__PURE__ */ e.createElement(i, null) : t === "tabLoadFailure" ? /* @__PURE__ */ e.createElement(o, { onRetry: a }) : null;
109
- export {
110
- E as default
111
- };
112
- //# sourceMappingURL=KeyPlayErrorStateView-Dk89rtUq.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyPlayErrorStateView-Dk89rtUq.js","sources":["../src/components/molecules/ActionButton/ActionButton.tsx","../src/modules/key-plays/view/KeyPlayErrorStateView.tsx"],"sourcesContent":["import { ButtonHTMLAttributes } from 'react';\nimport BaseButton from '@/components/atoms/BaseButton';\nimport './ActionButton.styles.css';\nimport { useFocusable } from '@noriginmedia/norigin-spatial-navigation';\nimport React from 'react';\n\ntype Props = {\n onEnter?: () => void;\n} & ButtonHTMLAttributes<HTMLElement>;\n\nconst ActionButton = ({ onEnter, ...props }: Props) => {\n const { ref } = useFocusable({\n onEnterPress: onEnter,\n });\n\n return (\n <BaseButton className=\"action-button T05_ALT\" {...props} ref={ref}>\n {props.children}\n </BaseButton>\n );\n};\n\nexport default ActionButton;\n","import {\n FocusContext,\n useFocusable,\n} from '@noriginmedia/norigin-spatial-navigation';\nimport ActionButton from '@/components/molecules/ActionButton';\nimport { KeyPlaysErrorState } from '../interfaces/IKeyPlays';\nimport './KeyPlayErrorStateView.styles.css';\nimport React from 'react';\n\ntype Props = {\n errorState: KeyPlaysErrorState;\n onRetry: () => void;\n};\n\nconst UnpopulatedEvent = () => {\n return (\n <div className=\"sdk--key-play-error-state-unpopulatedEvent\">\n <div className=\"main-content\">\n <h3 className=\"T70\">Greatness takes time.</h3>\n <p className=\"T20\">Key plays are still in the making! Come back soon to check ‘em out.</p>\n </div>\n <div className=\"unpopulatedEvent-examples\">\n {Array.from({ length: 4 }).map((_, i) => (\n <div key={i} className=\"example\" />\n ))}\n </div>\n </div>\n );\n};\n\nconst UnsupportedEvent = () => {\n return (\n <div className=\"sdk--key-play-error-state-unsupportedEvent\">\n <h3 className=\"T70\">No Key Plays Available</h3>\n <svg viewBox=\"0 0 520 359\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.16\">\n <path\n d=\"M146.334 219.427V244.686L168.723 198.187V38.0215L165.279 40.3178V188.427L146.334 219.427Z\"\n fill=\"#6D6D6D\"\n />\n <rect\n x=\"94.6687\"\n y=\"219.427\"\n width=\"51.6662\"\n height=\"25.259\"\n fill=\"#777777\"\n />\n <rect\n x=\"145.187\"\n y=\"39.1694\"\n width=\"20.6665\"\n height=\"149.258\"\n fill=\"#666666\"\n />\n <path\n d=\"M146.335 219.427H94.6687L143.465 187.279H167.001L146.335 219.427Z\"\n fill=\"#666666\"\n />\n <path\n d=\"M375.389 219.427V244.686L353 198.187V38.0215L356.445 40.3178V188.427L375.389 219.427Z\"\n fill=\"#6D6D6D\"\n />\n <rect\n width=\"51.6662\"\n height=\"25.259\"\n transform=\"matrix(-1 0 0 1 427.055 219.427)\"\n fill=\"#777777\"\n />\n <rect\n width=\"20.6665\"\n height=\"149.258\"\n transform=\"matrix(-1 0 0 1 376.537 39.1694)\"\n fill=\"#666666\"\n />\n <path\n d=\"M375.389 219.427H427.055L378.259 187.279H354.722L375.389 219.427Z\"\n fill=\"#666666\"\n />\n <path\n d=\"M23.4844 141.354H496.517L410.981 121.835H93.5208L23.4844 141.354Z\"\n fill=\"#B1B1B1\"\n />\n <rect\n x=\"23.4844\"\n y=\"141.354\"\n width=\"473.033\"\n height=\"19.5183\"\n fill=\"#777777\"\n />\n <rect\n x=\"72.8545\"\n y=\"51.7993\"\n width=\"374.293\"\n height=\"45.9255\"\n fill=\"#CDCDCD\"\n />\n </g>\n </svg>\n </div>\n );\n};\n\nconst TabLoadFailure = ({ onRetry }: { onRetry: () => void }) => {\n const { hasFocusedChild, ref, focusKey } = useFocusable({\n trackChildren: true,\n });\n\n return (\n <FocusContext.Provider value={focusKey}>\n <div\n ref={ref}\n className=\"sdk--key-play-error-state-tabLoadFailure\"\n style={{\n borderColor: hasFocusedChild\n ? 'var(--sdk-highlightPrimary)'\n : 'transparent',\n }}\n >\n <h3 className=\"T70\">Let’s try that again...</h3>\n <p className=\"T20\">\n We're having trouble loading this.\n </p>\n <ActionButton onEnter={onRetry}>Refresh</ActionButton>\n </div>\n </FocusContext.Provider>\n );\n};\n\nconst KeyPlayErrorStateView = ({ errorState, onRetry }: Props) => {\n if (errorState === 'unsupportedEvent') {\n return <UnsupportedEvent />;\n }\n\n if (errorState === 'unpopulatedEvent') {\n return <UnpopulatedEvent />;\n }\n\n if (errorState === 'tabLoadFailure') {\n return <TabLoadFailure onRetry={onRetry} />;\n }\n\n return null;\n};\n\nexport default KeyPlayErrorStateView;\n"],"names":["ActionButton","onEnter","props","ref","useFocusable","React","BaseButton","UnpopulatedEvent","_","i","UnsupportedEvent","TabLoadFailure","onRetry","hasFocusedChild","focusKey","FocusContext","KeyPlayErrorStateView","errorState"],"mappings":";;;AAUA,MAAMA,IAAe,CAAC,EAAE,SAAAC,GAAS,GAAGC,QAAmB;AAC/C,QAAA,EAAE,KAAAC,EAAI,IAAIC,eAAa;AAAA,IAC3B,cAAcH;AAAA,EAAA,CACf;AAGC,SAAA,gBAAAI,EAAA,cAACC,KAAW,WAAU,yBAAyB,GAAGJ,GAAO,KAAAC,KACtDD,EAAM,QACT;AAEJ,GCNMK,IAAmB,MAErB,gBAAAF,EAAA,cAAC,SAAI,WAAU,gFACZ,OAAI,EAAA,WAAU,kBACZ,gBAAAA,EAAA,cAAA,MAAA,EAAG,WAAU,MAAM,GAAA,uBAAqB,GACxC,gBAAAA,EAAA,cAAA,KAAA,EAAE,WAAU,MAAM,GAAA,qEAAmE,CACxF,GACA,gBAAAA,EAAA,cAAC,SAAI,WAAU,4BAAA,GACZ,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAACG,GAAGC,MACjC,gBAAAJ,EAAA,cAAC,SAAI,KAAKI,GAAG,WAAU,UAAU,CAAA,CAClC,CACH,CACF,GAIEC,IAAmB,MAErB,gBAAAL,EAAA,cAAC,SAAI,WAAU,6CAAA,mCACZ,MAAG,EAAA,WAAU,SAAM,wBAAsB,mCACzC,OAAI,EAAA,SAAQ,eAAc,MAAK,QAAO,OAAM,6BAC3C,GAAA,gBAAAA,EAAA,cAAC,KAAE,EAAA,SAAQ,OACT,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,GAAE;AAAA,IACF,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,GAAE;AAAA,IACF,GAAE;AAAA,IACF,OAAM;AAAA,IACN,QAAO;AAAA,IACP,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,GAAE;AAAA,IACF,GAAE;AAAA,IACF,OAAM;AAAA,IACN,QAAO;AAAA,IACP,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,GAAE;AAAA,IACF,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,GAAE;AAAA,IACF,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,WAAU;AAAA,IACV,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,WAAU;AAAA,IACV,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,GAAE;AAAA,IACF,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,GAAE;AAAA,IACF,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,GAAE;AAAA,IACF,GAAE;AAAA,IACF,OAAM;AAAA,IACN,QAAO;AAAA,IACP,MAAK;AAAA,EAAA;AAEP,GAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,GAAE;AAAA,IACF,GAAE;AAAA,IACF,OAAM;AAAA,IACN,QAAO;AAAA,IACP,MAAK;AAAA,EAAA;AAET,CAAA,CACF,CACF,GAIEM,IAAiB,CAAC,EAAE,SAAAC,QAAuC;AAC/D,QAAM,EAAE,iBAAAC,GAAiB,KAAAV,GAAK,UAAAW,EAAA,IAAaV,EAAAA,aAAa;AAAA,IACtD,eAAe;AAAA,EAAA,CAChB;AAED,SACG,gBAAAC,EAAA,cAAAU,eAAa,UAAb,EAAsB,OAAOD,KAC5B,gBAAAT,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAU;AAAA,MACV,OAAO;AAAA,QACL,aAAaU,IACT,gCACA;AAAA,MAAA;AAAA,IACN;AAAA,IAEC,gBAAAR,EAAA,cAAA,MAAA,EAAG,WAAU,MAAA,GAAM,yBAAuB;AAAA,IAC1C,gBAAAA,EAAA,cAAA,KAAA,EAAE,WAAU,MAAA,GAAM,oCAEnB;AAAA,IACC,gBAAAA,EAAA,cAAAL,GAAA,EAAa,SAASY,EAAA,GAAS,SAAO;AAAA,EAAA,CAE3C;AAEJ,GAEMI,IAAwB,CAAC,EAAE,YAAAC,GAAY,SAAAL,QACvCK,MAAe,qDACTP,GAAiB,IAAA,IAGvBO,MAAe,qDACTV,GAAiB,IAAA,IAGvBU,MAAe,mBACV,gBAAAZ,EAAA,cAACM,KAAe,SAAAC,EAAkB,CAAA,IAGpC;"}
@@ -1,24 +0,0 @@
1
- import e from "react";
2
- const h = (t) => /* @__PURE__ */ e.createElement(
3
- "svg",
4
- {
5
- width: t.width,
6
- height: t.height,
7
- viewBox: "0 0 30 32",
8
- fill: "none",
9
- xmlns: "http://www.w3.org/2000/svg"
10
- },
11
- /* @__PURE__ */ e.createElement("path", { d: "M27.375 4.75H2.625V7H27.375V4.75Z", fill: "white" }),
12
- /* @__PURE__ */ e.createElement("path", { d: "M25.125 0.25H4.875V2.5H25.125V0.25Z", fill: "white" }),
13
- /* @__PURE__ */ e.createElement(
14
- "path",
15
- {
16
- d: "M0.375 9.25V31.75H29.625V9.25H0.375ZM11.625 26.125V14.875L20.625 20.5L11.625 26.125Z",
17
- fill: "white"
18
- }
19
- )
20
- );
21
- export {
22
- h as default
23
- };
24
- //# sourceMappingURL=KeyPlaysIcon-Br9gu_Zu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyPlaysIcon-Br9gu_Zu.js","sources":["../src/components/atoms/SvgIcon/KeyPlaysIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst KeyPlaysIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 30 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M27.375 4.75H2.625V7H27.375V4.75Z\" fill=\"white\" />\n <path d=\"M25.125 0.25H4.875V2.5H25.125V0.25Z\" fill=\"white\" />\n <path\n d=\"M0.375 9.25V31.75H29.625V9.25H0.375ZM11.625 26.125V14.875L20.625 20.5L11.625 26.125Z\"\n fill=\"white\"\n />\n </svg>\n );\n};\n\nexport default KeyPlaysIcon;\n"],"names":["KeyPlaysIcon","props","React"],"mappings":";AAGM,MAAAA,IAAe,CAACC,MAElB,gBAAAC,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAOD,EAAM;AAAA,IACb,QAAQA,EAAM;AAAA,IACd,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,EAAA;AAAA,EAEL,gBAAAC,EAAA,cAAA,QAAA,EAAK,GAAE,qCAAoC,MAAK,SAAQ;AAAA,EACxD,gBAAAA,EAAA,cAAA,QAAA,EAAK,GAAE,uCAAsC,MAAK,SAAQ;AAAA,EAC3D,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EAAA;AAET;"}
@@ -1,174 +0,0 @@
1
- import e, { useSyncExternalStore as B, useState as T, useRef as R } from "react";
2
- import { d as p, S as D } from "./index-BaSckwps.js";
3
- import { u as z, d as G, I as C } from "./index-DXErYNZH.js";
4
- const X = (r) => /* @__PURE__ */ e.createElement("img", { loading: "lazy", alt: r.alt || "Image", ...r }), h = "data:image/jpeg;base64,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", I = D.getMaestroEventViewModel().keyPlaysViewModel, k = ({
5
- isPlaying: r,
6
- isScoring: s,
7
- awayTeamName: o,
8
- homeTeamName: f,
9
- awayTeamScore: N,
10
- homeTeamScore: b,
11
- playerImageUrl: i,
12
- teamImageUrl: v,
13
- thumbnailImageUrl: E,
14
- description: H,
15
- playbackProgress: m,
16
- onEnter: n,
17
- clipID: c,
18
- onFocus: A,
19
- setRef: a
20
- }) => {
21
- const { ref: l, focused: u } = p.useFocusable({
22
- onEnterPress: n,
23
- onFocus: A
24
- });
25
- e.useEffect(() => {
26
- a(l);
27
- }, [l, a]);
28
- const g = B(
29
- (Q) => I.failedClips.subscribe(Q),
30
- () => I.failedClips.value[c]
31
- );
32
- z({
33
- active: u,
34
- onLeft: () => {
35
- G(l.current);
36
- }
37
- });
38
- const d = () => i ? /* @__PURE__ */ e.createElement(
39
- X,
40
- {
41
- src: i,
42
- crossOrigin: "anonymous",
43
- alt: "Key Play Player Image",
44
- className: "cardImage"
45
- }
46
- ) : v ? /* @__PURE__ */ e.createElement(
47
- X,
48
- {
49
- src: v,
50
- crossOrigin: "anonymous",
51
- alt: "Key Play Team Image",
52
- className: "cardImage"
53
- }
54
- ) : E ? /* @__PURE__ */ e.createElement(
55
- X,
56
- {
57
- src: E,
58
- crossOrigin: "anonymous",
59
- alt: "Key Play Thumbnail Image",
60
- className: "cardImage"
61
- }
62
- ) : /* @__PURE__ */ e.createElement(
63
- X,
64
- {
65
- src: h,
66
- crossOrigin: "anonymous",
67
- alt: "Key Play Thumbnail Image",
68
- className: "cardImage"
69
- }
70
- );
71
- return /* @__PURE__ */ e.createElement("div", { ref: l, className: "key-play-card", id: c }, /* @__PURE__ */ e.createElement("div", { className: "key-play-card-content" }, d(), /* @__PURE__ */ e.createElement("div", { className: "text-content T05_ALT" }, /* @__PURE__ */ e.createElement("div", { className: "multi-line" }, H))), r && m !== null && /* @__PURE__ */ e.createElement("progress", { value: m, max: "1" }), s && /* @__PURE__ */ e.createElement(
72
- S,
73
- {
74
- awayTeamScore: N,
75
- homeTeamScore: b,
76
- homeTeamName: f,
77
- awayTeamName: o
78
- }
79
- ), g === "recentFailure" && /* @__PURE__ */ e.createElement("div", { className: "error-state" }, /* @__PURE__ */ e.createElement(C, { iconName: "warning", width: 21.6, height: 18.7 }), /* @__PURE__ */ e.createElement("span", { className: "T05_ALT" }, "Could not play this clip. ")), g === "nonRecentFailure" && /* @__PURE__ */ e.createElement("div", { className: "non-recent-error-state" }, /* @__PURE__ */ e.createElement(C, { iconName: "warning", width: 21.6, height: 18.7 })));
80
- }, S = ({
81
- homeTeamName: r,
82
- awayTeamScore: s,
83
- homeTeamScore: o,
84
- awayTeamName: f
85
- }) => /* @__PURE__ */ e.createElement("div", { className: "score" }, /* @__PURE__ */ e.createElement("div", { className: "score-team T05_ALT" }, r, /* @__PURE__ */ e.createElement("span", { className: "score-team T30" }, o)), /* @__PURE__ */ e.createElement("div", { className: "score-team T05_ALT" }, /* @__PURE__ */ e.createElement("span", { className: "score-team T30" }, s), f)), x = (r) => /* @__PURE__ */ e.createElement(
86
- "div",
87
- {
88
- className: [
89
- "scrollable-gradient",
90
- r.scrolled ? "scroll-container-scrolled" : ""
91
- ].join(" ")
92
- },
93
- r.children
94
- ), U = e.lazy(
95
- () => import("./KeyPlayErrorStateView-Dk89rtUq.js")
96
- ), F = 32, t = D.getMaestroEventViewModel().keyPlaysViewModel, M = () => {
97
- const [r, s] = T(!1), o = R({}), { ref: f, focusKey: N } = p.useFocusable(), b = B(
98
- (n) => t.currentClipPlaybackProgress.subscribe(n),
99
- () => t.currentClipPlaybackProgress.value
100
- ), i = B(
101
- (n) => t.currentlyPlayingClipIndex.subscribe(n),
102
- () => t.currentlyPlayingClipIndex.value
103
- ), v = B(
104
- (n) => t.items.subscribe(n),
105
- () => t.items.value
106
- ), E = (n) => async () => {
107
- await t.playKeyPlay(n);
108
- }, H = (n) => (c) => {
109
- if (!f.current || !c.node) return;
110
- const A = f.current, a = A.getBoundingClientRect(), l = c.node.getBoundingClientRect(), u = Object.keys(o.current), g = u.map((P) => parseInt(P, 10)).sort((P, y) => P - y).slice(n, u.length);
111
- let d = !1;
112
- if (g.forEach((P) => {
113
- var j;
114
- const y = (j = o.current[P]) == null ? void 0 : j.current;
115
- if (y) {
116
- const w = y.getBoundingClientRect(), K = w.bottom > a.bottom || w.top < a.top;
117
- d || (d = K);
118
- }
119
- }), !d)
120
- return;
121
- const Q = n === 0 ? 0 : A.scrollTop + (l.top - a.top - F);
122
- A.scrollTo({
123
- top: Q,
124
- behavior: "auto"
125
- }), s(Q > 0);
126
- }, m = (n) => (c) => {
127
- c ? o.current[n] = c : delete o.current[n];
128
- };
129
- return /* @__PURE__ */ e.createElement(p.FocusContext.Provider, { value: N }, /* @__PURE__ */ e.createElement(x, { scrolled: r }, /* @__PURE__ */ e.createElement("div", { ref: f, className: "key-plays-view" }, v.map((n, c) => /* @__PURE__ */ e.createElement("div", { key: `section-${c}`, className: "key-plays-section" }, /* @__PURE__ */ e.createElement("h3", { className: "key-plays-section-title T10" }, n.title), /* @__PURE__ */ e.createElement("div", { className: "key-plays-section-items" }, n.items.map((A) => {
130
- const a = t.allItems.findIndex(
131
- (l) => l.id === A.id
132
- );
133
- return /* @__PURE__ */ e.createElement(
134
- k,
135
- {
136
- awayTeamScore: A.awayTeamScore,
137
- awayTeamName: A.awayTeamName,
138
- clipID: A.clipID,
139
- description: A.description,
140
- homeTeamName: A.homeTeamName,
141
- id: A.id,
142
- homeTeamScore: A.homeTeamScore,
143
- key: A.id,
144
- playerImageUrl: A.playerImageUrl,
145
- teamImageUrl: A.teamImageUrl,
146
- thumbnailImageUrl: A.thumbnailImageUrl,
147
- isPlaying: t.isCurrentlyPlaying(a),
148
- isScoring: !!(A.awayTeamScore && A.homeTeamScore),
149
- playbackProgress: a === i ? b : null,
150
- onEnter: E(a),
151
- onFocus: H(a),
152
- setRef: m(a)
153
- }
154
- );
155
- })))), /* @__PURE__ */ e.createElement("div", { className: "key-plays-bottom-padding" }))));
156
- }, Y = () => {
157
- const r = B(
158
- (o) => t.errorState.subscribe(o),
159
- () => t.errorState.value
160
- ), s = async () => {
161
- await t.userRequestedNewKeyPlaysData(), p.setFocus("PANEL_NAV_BUTTON_0");
162
- };
163
- return r ? /* @__PURE__ */ e.createElement(e.Suspense, { fallback: null }, /* @__PURE__ */ e.createElement(
164
- U,
165
- {
166
- errorState: r,
167
- onRetry: s
168
- }
169
- )) : /* @__PURE__ */ e.createElement(M, null);
170
- };
171
- export {
172
- Y as default
173
- };
174
- //# sourceMappingURL=KeyPlaysView-Br-88ytG.js.map