@maestro_io/maestro-web-sdk 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/1.maestro-web-sdk.umd.js +2 -0
- package/dist/1.maestro-web-sdk.umd.js.map +1 -0
- package/dist/2.maestro-web-sdk.umd.js +2 -0
- package/dist/2.maestro-web-sdk.umd.js.map +1 -0
- package/dist/3.maestro-web-sdk.umd.js +2 -0
- package/dist/3.maestro-web-sdk.umd.js.map +1 -0
- package/dist/4.maestro-web-sdk.umd.js +2 -0
- package/dist/4.maestro-web-sdk.umd.js.map +1 -0
- package/dist/5.maestro-web-sdk.umd.js +2 -0
- package/dist/5.maestro-web-sdk.umd.js.map +1 -0
- package/dist/6.maestro-web-sdk.umd.js +2 -0
- package/dist/6.maestro-web-sdk.umd.js.map +1 -0
- package/dist/MaestroEventDelegate.d.ts +9 -0
- package/dist/components/atoms/BaseButton/BaseButton.d.ts +9 -0
- package/dist/components/atoms/BaseButton/index.d.ts +2 -0
- package/dist/components/atoms/Image/index.d.ts +9 -0
- package/dist/components/atoms/SvgIcon/BetsIcon.d.ts +7 -0
- package/dist/components/atoms/SvgIcon/FantasyIcon.d.ts +6 -0
- package/dist/components/atoms/SvgIcon/Icon.d.ts +30 -0
- package/dist/components/atoms/SvgIcon/KeyPlaysIcon.d.ts +6 -0
- package/dist/components/atoms/SvgIcon/PlayIcon.d.ts +6 -0
- package/dist/components/atoms/SvgIcon/StatsIcon.d.ts +6 -0
- package/dist/components/atoms/SvgIcon/WarningIcon.d.ts +6 -0
- package/dist/components/atoms/SvgIcon/index.d.ts +2 -0
- package/dist/components/core/App/App.d.ts +10 -0
- package/dist/components/core/App/index.d.ts +2 -0
- package/dist/components/core/PanelManager/PanelManager.d.ts +14 -0
- package/dist/components/core/PanelManager/index.d.ts +2 -0
- package/dist/components/molecules/ActionButton/ActionButton.d.ts +50 -0
- package/dist/components/molecules/ActionButton/index.d.ts +2 -0
- package/dist/components/molecules/PanelNavButton/PanelNavButton.d.ts +107 -0
- package/dist/components/molecules/PanelNavButton/index.d.ts +2 -0
- package/dist/components/molecules/ScrollableGradient/ScrollableGradient.d.ts +11 -0
- package/dist/components/molecules/ScrollableGradient/index.d.ts +2 -0
- package/dist/components/molecules/SegmentButton/SegmentButton.d.ts +10 -0
- package/dist/components/molecules/SegmentButton/index.d.ts +2 -0
- package/dist/components/molecules/WatchButton/WatchButton.d.ts +10 -0
- package/dist/components/molecules/WatchButton/index.d.ts +2 -0
- package/dist/components/organisms/PanelNavigation/PanelNavigation.d.ts +15 -0
- package/dist/components/organisms/PanelNavigation/index.d.ts +2 -0
- package/dist/components/organisms/SegmentController/SegmentController.d.ts +14 -0
- package/dist/components/organisms/SegmentController/index.d.ts +2 -0
- package/dist/external/AxiosNetworkClient.d.ts +15 -0
- package/dist/external/LocalStorageCacheManager.d.ts +10 -0
- package/dist/external/ReactRenderer.d.ts +26 -0
- package/dist/external/ports/cacheManager.d.ts +15 -0
- package/dist/external/ports/networkClient.d.ts +5 -0
- package/dist/external/ports/renderer.d.ts +9 -0
- package/dist/external/spatial-navigation/index.d.ts +5 -0
- package/dist/external/spatial-navigation/measureLayout.d.ts +2 -0
- package/dist/external/spatial-navigation/spatialNavigation.d.ts +166 -0
- package/dist/external/spatial-navigation/utils.d.ts +15 -0
- package/dist/external/spatial-navigation/visualDebugger.d.ts +17 -0
- package/dist/external/spatial-navigation/withFocusable.d.ts +81 -0
- package/dist/helpers/Observable.d.ts +12 -0
- package/dist/helpers/deliver-focus.d.ts +5 -0
- package/dist/helpers/withRemoteControl.d.ts +47 -0
- package/dist/index.d.ts +60 -382
- package/dist/interfaces/IMaestroEvent.d.ts +62 -0
- package/dist/interfaces/IMaestroEventDelegate.d.ts +18 -0
- package/dist/interfaces/IMaestroManager.d.ts +82 -0
- package/dist/maestro-web-sdk.umd.js +2 -3
- package/dist/maestro-web-sdk.umd.js.map +1 -1
- package/dist/models/IModel.d.ts +7 -0
- package/dist/models/IPanel.d.ts +20 -0
- package/dist/models/ITheme.d.ts +77 -0
- package/dist/modules/key-plays/constants.d.ts +3 -0
- package/dist/modules/key-plays/interfaces/IKeyPlays.d.ts +31 -0
- package/dist/modules/key-plays/interfaces/IKeyPlaysResponse.d.ts +44 -0
- package/dist/modules/key-plays/view/KeyPlayCardScoreTagView.d.ts +9 -0
- package/dist/modules/key-plays/view/KeyPlayCardView.d.ts +115 -0
- package/dist/modules/key-plays/view/KeyPlayErrorStateView.d.ts +11 -0
- package/dist/modules/key-plays/view/KeyPlaysView.d.ts +53 -0
- package/dist/modules/key-plays/view-model/KeyPlaysViewModel.d.ts +29 -0
- package/dist/services/NetworkManager.d.ts +13 -0
- package/dist/services/ThemeManager/constants.d.ts +2 -0
- package/dist/view-models/MaestroEventViewModel.d.ts +37 -0
- package/dist/view-models/PanelManagerViewModel.d.ts +18 -0
- package/dist/view-models/ViewModel.d.ts +12 -0
- package/dist/view-models/index.d.ts +17 -0
- package/package.json +57 -36
- package/dist/BetsIcon-UrnN4lvP.js +0 -22
- package/dist/BetsIcon-UrnN4lvP.js.map +0 -1
- package/dist/FantasyIcon-DmloKsq_.js +0 -24
- package/dist/FantasyIcon-DmloKsq_.js.map +0 -1
- package/dist/KeyPlayErrorStateView-Dk89rtUq.js +0 -112
- package/dist/KeyPlayErrorStateView-Dk89rtUq.js.map +0 -1
- package/dist/KeyPlaysIcon-Br9gu_Zu.js +0 -24
- package/dist/KeyPlaysIcon-Br9gu_Zu.js.map +0 -1
- package/dist/KeyPlaysView-Br-88ytG.js +0 -174
- package/dist/KeyPlaysView-Br-88ytG.js.map +0 -1
- package/dist/PlayIcon-CNKWNaLP.js +0 -24
- package/dist/PlayIcon-CNKWNaLP.js.map +0 -1
- package/dist/StatsIcon-Ds4hriWX.js +0 -25
- package/dist/StatsIcon-Ds4hriWX.js.map +0 -1
- package/dist/WarningIcon-BuzZKL26.js +0 -24
- package/dist/WarningIcon-BuzZKL26.js.map +0 -1
- package/dist/index-BaSckwps.js +0 -2998
- package/dist/index-BaSckwps.js.map +0 -1
- package/dist/index-DXErYNZH.js +0 -151
- package/dist/index-DXErYNZH.js.map +0 -1
- package/dist/index-q5GKgbOd.js +0 -56
- package/dist/index-q5GKgbOd.js.map +0 -1
- package/dist/maestro-web-sdk.esm.js +0 -6
- package/dist/maestro-web-sdk.esm.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -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":"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"}
|
|
@@ -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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KeyPlaysView-Br-88ytG.js","sources":["../src/components/atoms/Image/index.tsx","../src/modules/key-plays/constants.ts","../src/modules/key-plays/view/KeyPlayCardView.tsx","../src/components/molecules/ScrollableGradient/ScrollableGradient.tsx","../src/modules/key-plays/view/KeyPlaysView.tsx"],"sourcesContent":["import React from 'react';\nimport { ImgHTMLAttributes } from 'react';\n\nconst Image = (props: ImgHTMLAttributes<HTMLElement>) => {\n return <img loading=\"lazy\" alt={props.alt || 'Image'} {...props} />;\n};\n\nexport default Image;\n","import IMaestroKeyPlaysResponse from './interfaces/IKeyPlaysResponse';\n\nexport const KEY_PLAYS_RESPONSE_MOCK_DATA: IMaestroKeyPlaysResponse = {\n entities: {\n team: {\n '251': {\n id: '251',\n displayName: 'Texas Longhorns',\n color: 'c15d26',\n alternateColor: 'ffffff',\n shortName: 'Texas',\n homeAway: 'away',\n displayOrder: '1',\n logoRef:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/teams/251.jpg?w=184&h=144',\n logoDarkRef: 'https://a.espncdn.com/i/teamlogos/ncaa/500-dark/251.png',\n },\n '264': {\n id: '264',\n displayName: 'Washington Huskies',\n color: '33006f',\n alternateColor: 'e8d3a2',\n shortName: 'Washington',\n homeAway: 'home',\n displayOrder: '0',\n logoRef:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/teams/264.jpg?w=184&h=144',\n logoDarkRef: 'https://a.espncdn.com/i/teamlogos/ncaa/500-dark/264.png',\n },\n },\n athlete: {\n '4360423': {\n id: '4360423',\n shortName: 'M. Penix Jr.',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4360423.jpg?w=184&h=144',\n },\n '4430637': {\n id: '4430637',\n shortName: 'J. Polk',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4430637.jpg?w=184&h=144',\n },\n '4430834': {\n id: '4430834',\n shortName: 'J. McMillan',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4430834.jpg?w=184&h=144',\n },\n '4569337': {\n id: '4569337',\n shortName: 'R. Sanborn',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4569337.jpg?w=184&h=144',\n },\n '4570040': {\n id: '4570040',\n shortName: 'B. Murphy II',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4570040.jpg?w=184&h=144',\n },\n '4597500': {\n id: '4597500',\n shortName: 'A. Mitchell',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4597500.jpg?w=184&h=144',\n },\n '4689338': {\n id: '4689338',\n shortName: 'D. Johnson',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4689338.jpg?w=184&h=144',\n },\n '4870609': {\n id: '4870609',\n shortName: 'C. Baxter',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4870609.jpg?w=184&h=144',\n },\n '4889929': {\n id: '4889929',\n shortName: 'Q. Ewers',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4889929.jpg?w=184&h=144',\n },\n },\n },\n sections: [\n {\n title: '1st Quarter',\n items: [\n {\n description: \"Ja'Lynn Polk's 77-yard catch sets up Washington TD\",\n team: '264',\n awayScore: '0',\n homeScore: '7',\n wallClock: '2024-01-02T02:11:05Z',\n displayClock: '11:04',\n shortPeriod: 'Q1',\n scoringPlay: true,\n athlete: '4689338',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4689338.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39225214',\n },\n {\n description: 'Germie Bernard makes leaping grab for Washington',\n team: '264',\n wallClock: '2024-01-02T02:38:54Z',\n displayClock: '1:30',\n shortPeriod: 'Q1',\n scoringPlay: false,\n athlete: '4360423',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4360423.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39225401',\n },\n ],\n },\n {\n title: '2nd Quarter',\n items: [\n {\n description: 'Dillon Johnson scores 2nd TD of game for the Huskies',\n team: '264',\n awayScore: '7',\n homeScore: '14',\n wallClock: '2024-01-02T02:47:33Z',\n displayClock: '13:08',\n shortPeriod: 'Q2',\n scoringPlay: true,\n athlete: '4689338',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4689338.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39225442',\n },\n {\n description: 'Texas takes over after Washington muffs punt',\n team: '251',\n wallClock: '2024-01-02T02:54:50Z',\n displayClock: '11:45',\n shortPeriod: 'Q2',\n scoringPlay: false,\n athlete: '4569337',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4569337.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39225487',\n },\n {\n description: 'Big man TD! Byron Murphy II punches it in for Texas',\n team: '251',\n awayScore: '14',\n homeScore: '14',\n wallClock: '2024-01-02T02:57:22Z',\n displayClock: '10:08',\n shortPeriod: 'Q2',\n scoringPlay: true,\n athlete: '4570040',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4570040.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39225513',\n },\n {\n description:\n 'Rome Odunze makes over-the-shoulder grab for Washington',\n team: '264',\n wallClock: '2024-01-02T03:02:27Z',\n displayClock: '9:31',\n shortPeriod: 'Q2',\n scoringPlay: false,\n athlete: '4360423',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4360423.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39225518',\n },\n {\n description: \"Texas stops Washington's attempt on 4th down\",\n team: '251',\n wallClock: '2024-01-02T03:06:28Z',\n displayClock: '6:59',\n shortPeriod: 'Q2',\n scoringPlay: false,\n athlete: '4689338',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4689338.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39225559',\n },\n {\n description:\n \"Ja'Lynn Polk makes bobbling TD catch and Washington goes ahead\",\n team: '264',\n awayScore: '14',\n homeScore: '21',\n wallClock: '2024-01-02T03:27:56Z',\n displayClock: '1:27',\n shortPeriod: 'Q2',\n scoringPlay: true,\n athlete: '4430637',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4430637.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39225686',\n },\n {\n description: \"Texas ties the score after CJ Baxter's TD run\",\n team: '251',\n awayScore: '21',\n homeScore: '21',\n wallClock: '2024-01-02T03:38:42Z',\n displayClock: '0:17',\n shortPeriod: 'Q2',\n scoringPlay: true,\n athlete: '4870609',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4870609.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39225762',\n },\n ],\n },\n {\n title: '3rd Quarter',\n items: [\n {\n description:\n 'Penix threads the needle to McMillan for Washington score',\n team: '264',\n awayScore: '21',\n homeScore: '28',\n wallClock: '2024-01-02T04:11:00Z',\n displayClock: '10:30',\n shortPeriod: 'Q3',\n scoringPlay: true,\n athlete: '4430834',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4430834.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39226021',\n },\n {\n description: 'Texas commits their first turnover of the game',\n team: '264',\n wallClock: '2024-01-02T04:16:16Z',\n displayClock: '10:14',\n shortPeriod: 'Q3',\n scoringPlay: false,\n athlete: '4870609',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4870609.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39226030',\n },\n ],\n },\n {\n title: '4th Quarter',\n items: [\n {\n description:\n 'Hang time! Adonai Mitchell makes incredible TD grab for Texas',\n team: '251',\n awayScore: '28',\n homeScore: '34',\n wallClock: '2024-01-01T05:08:14Z',\n displayClock: '7:23',\n shortPeriod: 'Q4',\n scoringPlay: true,\n athlete: '4597500',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4597500.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39226360',\n },\n {\n description: 'How did Penix drop this pass in to Odunze?',\n team: '264',\n wallClock: '2024-01-01T05:17:15Z',\n displayClock: '3:48',\n shortPeriod: 'Q4',\n scoringPlay: false,\n athlete: '4360423',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4360423.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39226394',\n },\n {\n description:\n \"Jordan Whittington's big catch gives Texas good field position\",\n team: '251',\n wallClock: '2024-01-01T05:41:48Z',\n displayClock: '0:28',\n shortPeriod: 'Q4',\n scoringPlay: false,\n athlete: '4889929',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4889929.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39226506',\n },\n {\n description:\n \"Washington survives Texas' final drive to win Sugar Bowl\",\n team: '264',\n wallClock: '2024-01-02T04:43:41Z',\n displayClock: '0:00',\n shortPeriod: 'Q4',\n scoringPlay: false,\n athlete: '4889929',\n thumbnail:\n 'https://stitcher.espn.com/ctv/sports/football/leagues/college-football/athletes/4889929.jpg?w=184&h=144',\n thumbnailType: 'headshot',\n clipID: '39226585',\n },\n ],\n },\n ],\n};\n\nexport const BASE_64_KEY_PLAY_THUMBNAIL_FALLBACK =\n 'data:image/jpeg;base64,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';\n","import {\n FocusableComponentLayout,\n useFocusable,\n} from '@noriginmedia/norigin-spatial-navigation';\nimport Image from '@/components/atoms/Image';\nimport { BASE_64_KEY_PLAY_THUMBNAIL_FALLBACK } from '../constants';\nimport IKeyPlay from '../interfaces/IKeyPlays';\nimport './KeyPlayCardView.styles.css';\nimport useRemoteControl from '@/hooks/use-remote-control';\nimport deliverFocus from '@/helpers/deliver-focus';\nimport SDK from '@/index';\nimport Icon from '@/components/atoms/SvgIcon';\nimport React, { useSyncExternalStore } from 'react';\n\ntype KeyPlayCardViewProps = IKeyPlay & {\n isPlaying: boolean;\n playbackProgress: number | null;\n isScoring: boolean;\n onEnter: () => void;\n onFocus: (e: FocusableComponentLayout) => void;\n setRef: (ref: React.RefObject<HTMLDivElement>) => void;\n};\n\nconst vm = SDK.getMaestroEventViewModel().keyPlaysViewModel;\n\nconst KeyPlayCardView = ({\n isPlaying,\n isScoring,\n awayTeamName,\n homeTeamName,\n awayTeamScore,\n homeTeamScore,\n playerImageUrl,\n teamImageUrl,\n thumbnailImageUrl,\n description,\n playbackProgress,\n onEnter,\n clipID,\n onFocus,\n setRef,\n}: KeyPlayCardViewProps) => {\n const { ref, focused } = useFocusable({\n onEnterPress: onEnter,\n onFocus,\n });\n\n React.useEffect(() => {\n setRef(ref);\n }, [ref, setRef]);\n\n const failedClip = useSyncExternalStore(\n (l) => vm.failedClips.subscribe(l),\n () => vm.failedClips.value[clipID]\n );\n\n useRemoteControl({\n active: focused,\n onLeft: () => {\n deliverFocus(ref.current as HTMLDivElement);\n },\n });\n\n const renderImage = () => {\n if (playerImageUrl) {\n return (\n <Image\n src={playerImageUrl}\n crossOrigin=\"anonymous\"\n alt=\"Key Play Player Image\"\n className=\"cardImage\"\n />\n );\n }\n\n if (teamImageUrl) {\n return (\n <Image\n src={teamImageUrl}\n crossOrigin=\"anonymous\"\n alt=\"Key Play Team Image\"\n className=\"cardImage\"\n />\n );\n }\n\n if (thumbnailImageUrl) {\n return (\n <Image\n src={thumbnailImageUrl}\n crossOrigin=\"anonymous\"\n alt=\"Key Play Thumbnail Image\"\n className=\"cardImage\"\n />\n );\n }\n\n return (\n <Image\n src={BASE_64_KEY_PLAY_THUMBNAIL_FALLBACK}\n crossOrigin=\"anonymous\"\n alt=\"Key Play Thumbnail Image\"\n className=\"cardImage\"\n />\n );\n };\n\n return (\n <div ref={ref} className=\"key-play-card\" id={clipID}>\n <div className=\"key-play-card-content\">\n {renderImage()}\n <div className=\"text-content T05_ALT\">\n <div className=\"multi-line\">{description}</div>\n </div>\n </div>\n {isPlaying && playbackProgress !== null && (\n <progress value={playbackProgress} max=\"1\" />\n )}\n {isScoring && (\n <ScoreCard\n awayTeamScore={awayTeamScore}\n homeTeamScore={homeTeamScore}\n homeTeamName={homeTeamName}\n awayTeamName={awayTeamName}\n />\n )}\n\n {failedClip === 'recentFailure' && (\n <div className=\"error-state\">\n <Icon iconName=\"warning\" width={21.6} height={18.7} />\n <span className=\"T05_ALT\">Could not play this clip. </span>\n </div>\n )}\n {failedClip === 'nonRecentFailure' && (\n <div className=\"non-recent-error-state\">\n <Icon iconName=\"warning\" width={21.6} height={18.7} />\n </div>\n )}\n </div>\n );\n};\n\nconst ScoreCard = ({\n homeTeamName,\n awayTeamScore,\n homeTeamScore,\n awayTeamName,\n}: {\n awayTeamScore?: number;\n homeTeamScore?: number;\n homeTeamName: string;\n awayTeamName: string;\n}) => (\n <div className=\"score\">\n <div className=\"score-team T05_ALT\">\n {homeTeamName}\n <span className=\"score-team T30\">{homeTeamScore}</span>\n </div>\n <div className=\"score-team T05_ALT\">\n <span className=\"score-team T30\">{awayTeamScore}</span>\n {awayTeamName}\n </div>\n </div>\n);\n\nexport default KeyPlayCardView;\n","import { PropsWithChildren } from 'react';\nimport './ScrollableGradient.styles.css';\nimport React from 'react';\n\ntype Props = {\n scrolled: boolean;\n} & PropsWithChildren;\n\nconst ScrollableGradient = (props: Props) => {\n return (\n <div\n className={[\n 'scrollable-gradient',\n props.scrolled ? 'scroll-container-scrolled' : '',\n ].join(' ')}\n >\n {props.children}\n </div>\n );\n};\n\nexport default ScrollableGradient;\n","import React, { useSyncExternalStore, useState, useRef } from 'react';\nimport {\n FocusableComponentLayout,\n FocusContext,\n setFocus,\n useFocusable,\n} from '@noriginmedia/norigin-spatial-navigation';\nimport KeyPlayCardView from './KeyPlayCardView';\nimport ScrollableGradient from '@/components/molecules/ScrollableGradient';\nimport './KeyPlaysView.styles.css';\nimport SDK from '@/index';\n\nconst LazyKeyPlayErrorStateView = React.lazy(\n () => import('./KeyPlayErrorStateView')\n);\n\nconst STICKY_HEADER_HEIGHT = 32;\nconst vm = SDK.getMaestroEventViewModel().keyPlaysViewModel;\n\nconst KeyPlays = () => {\n const [scrolled, setScrolled] = useState(false);\n const refs = useRef<Record<string, React.RefObject<HTMLDivElement>>>({});\n\n const { ref, focusKey } = useFocusable();\n\n const playbackProgress = useSyncExternalStore(\n (sub) => vm.currentClipPlaybackProgress.subscribe(sub),\n () => vm.currentClipPlaybackProgress.value\n );\n\n const playbackIndex = useSyncExternalStore(\n (sub) => vm.currentlyPlayingClipIndex.subscribe(sub),\n () => vm.currentlyPlayingClipIndex.value\n );\n\n const items = useSyncExternalStore(\n (sub) => vm.items.subscribe(sub),\n () => vm.items.value\n );\n\n const handlePlayClip = (i: number) => async () => {\n await vm.playKeyPlay(i);\n };\n\n const handleItemFocus =\n (index: number) => (node: FocusableComponentLayout) => {\n if (!ref.current || !node.node) return;\n\n const container = ref.current as HTMLDivElement;\n const containerRect = container.getBoundingClientRect();\n const nodeRect = node.node.getBoundingClientRect();\n\n const currentIndexes = Object.keys(refs.current);\n const indexes = currentIndexes\n .map((key) => parseInt(key, 10))\n .sort((a, b) => a - b) // Ensure numeric order\n .slice(index, currentIndexes.length);\n\n let hasElementOutsideViewport = false;\n indexes.forEach((i) => {\n const element = refs.current[i]?.current;\n // check if element is entirely in the viewport\n if (element) {\n const elementRect = element.getBoundingClientRect();\n const isElementOutsideViewport =\n elementRect.bottom > containerRect.bottom ||\n elementRect.top < containerRect.top;\n hasElementOutsideViewport ||= isElementOutsideViewport;\n }\n });\n\n // If the element is already in the viewport, do not scroll\n if (!hasElementOutsideViewport) {\n return;\n }\n // Calculate the target scroll position to align the element with the top (just below the header)\n // This takes the current scroll position and adjusts it based on the element's position\n const targetScrollTop =\n index === 0\n ? 0\n : container.scrollTop +\n (nodeRect.top - containerRect.top - STICKY_HEADER_HEIGHT);\n\n container.scrollTo({\n top: targetScrollTop,\n behavior: 'auto',\n });\n\n setScrolled(targetScrollTop > 0);\n };\n\n const setRef = (index: number) => (ref: React.RefObject<HTMLDivElement>) => {\n if (ref) {\n refs.current[index] = ref;\n } else {\n delete refs.current[index];\n }\n };\n\n return (\n <FocusContext.Provider value={focusKey}>\n <ScrollableGradient scrolled={scrolled}>\n <div ref={ref} className=\"key-plays-view\">\n {items.map((section, sectionIndex) => (\n <div key={`section-${sectionIndex}`} className=\"key-plays-section\">\n <h3 className=\"key-plays-section-title T10\">{section.title}</h3>\n\n <div className=\"key-plays-section-items\">\n {section.items.map((item) => {\n const absoluteIndex = vm.allItems.findIndex(\n (vmItem) => vmItem.id === item.id\n );\n\n return (\n <KeyPlayCardView\n awayTeamScore={item.awayTeamScore}\n awayTeamName={item.awayTeamName}\n clipID={item.clipID}\n description={item.description}\n homeTeamName={item.homeTeamName}\n id={item.id}\n homeTeamScore={item.homeTeamScore}\n key={item.id}\n playerImageUrl={item.playerImageUrl}\n teamImageUrl={item.teamImageUrl}\n thumbnailImageUrl={item.thumbnailImageUrl}\n isPlaying={vm.isCurrentlyPlaying(absoluteIndex)}\n isScoring={Boolean(\n item.awayTeamScore && item.homeTeamScore\n )}\n playbackProgress={\n absoluteIndex === playbackIndex\n ? playbackProgress\n : null\n }\n onEnter={handlePlayClip(absoluteIndex)}\n onFocus={handleItemFocus(absoluteIndex)}\n setRef={setRef(absoluteIndex)}\n />\n );\n })}\n </div>\n </div>\n ))}\n <div className=\"key-plays-bottom-padding\"></div>\n </div>\n </ScrollableGradient>\n </FocusContext.Provider>\n );\n};\n\nconst KeyPlaysWithErrorState = () => {\n const errorState = useSyncExternalStore(\n (l) => vm.errorState.subscribe(l),\n () => vm.errorState.value\n );\n\n const handleRetry = async () => {\n await vm.userRequestedNewKeyPlaysData();\n setFocus('PANEL_NAV_BUTTON_0');\n };\n\n if (errorState) {\n return (\n <React.Suspense fallback={null}>\n <LazyKeyPlayErrorStateView\n errorState={errorState}\n onRetry={handleRetry}\n />\n </React.Suspense>\n );\n }\n\n return <KeyPlays />;\n};\n\nexport default KeyPlaysWithErrorState;\n"],"names":["Image","props","React","BASE_64_KEY_PLAY_THUMBNAIL_FALLBACK","vm","SDK","KeyPlayCardView","isPlaying","isScoring","awayTeamName","homeTeamName","awayTeamScore","homeTeamScore","playerImageUrl","teamImageUrl","thumbnailImageUrl","description","playbackProgress","onEnter","clipID","onFocus","setRef","ref","focused","useFocusable","failedClip","useSyncExternalStore","l","useRemoteControl","deliverFocus","renderImage","ScoreCard","Icon","ScrollableGradient","LazyKeyPlayErrorStateView","STICKY_HEADER_HEIGHT","KeyPlays","scrolled","setScrolled","useState","refs","useRef","focusKey","sub","playbackIndex","items","handlePlayClip","i","handleItemFocus","index","node","container","containerRect","nodeRect","currentIndexes","indexes","key","a","b","hasElementOutsideViewport","element","_a","elementRect","isElementOutsideViewport","targetScrollTop","FocusContext","section","sectionIndex","item","absoluteIndex","vmItem","KeyPlaysWithErrorState","errorState","handleRetry","setFocus"],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import t from "react";
|
|
2
|
-
const C = (e) => /* @__PURE__ */ t.createElement(
|
|
3
|
-
"svg",
|
|
4
|
-
{
|
|
5
|
-
width: e.width,
|
|
6
|
-
height: e.height,
|
|
7
|
-
viewBox: "0 0 20 20",
|
|
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: "M18.1891 8.29879C18.6116 8.5331 18.9367 8.80345 19.162 9.10985C19.3873 9.41624 19.5 9.71863 19.5 10.019C19.5 10.3194 19.396 10.6158 19.1837 10.9102C18.9713 11.2026 18.6463 11.4669 18.2108 11.7012L10.9111 15.6724L3.58975 19.6035C3.15207 19.8378 2.74256 19.9679 2.36122 19.994C1.98204 20.02 1.65703 19.9619 1.38836 19.8177C1.12185 19.6735 0.905177 19.4453 0.742673 19.1328C0.582335 18.8204 0.5 18.4419 0.5 17.9994V2.00062C0.5 1.55805 0.573669 1.17956 0.721006 0.867153C0.87051 0.554748 1.09152 0.326452 1.38836 0.182265C1.6852 0.0380777 2.02104 -0.0199976 2.39372 0.00603615C2.76639 0.0340725 3.16507 0.164241 3.58975 0.398545L10.9111 4.36769L18.1891 8.29879Z",
|
|
17
|
-
fill: "white"
|
|
18
|
-
}
|
|
19
|
-
)
|
|
20
|
-
);
|
|
21
|
-
export {
|
|
22
|
-
C as default
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=PlayIcon-CNKWNaLP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlayIcon-CNKWNaLP.js","sources":["../src/components/atoms/SvgIcon/PlayIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst PlayIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.1891 8.29879C18.6116 8.5331 18.9367 8.80345 19.162 9.10985C19.3873 9.41624 19.5 9.71863 19.5 10.019C19.5 10.3194 19.396 10.6158 19.1837 10.9102C18.9713 11.2026 18.6463 11.4669 18.2108 11.7012L10.9111 15.6724L3.58975 19.6035C3.15207 19.8378 2.74256 19.9679 2.36122 19.994C1.98204 20.02 1.65703 19.9619 1.38836 19.8177C1.12185 19.6735 0.905177 19.4453 0.742673 19.1328C0.582335 18.8204 0.5 18.4419 0.5 17.9994V2.00062C0.5 1.55805 0.573669 1.17956 0.721006 0.867153C0.87051 0.554748 1.09152 0.326452 1.38836 0.182265C1.6852 0.0380777 2.02104 -0.0199976 2.39372 0.00603615C2.76639 0.0340725 3.16507 0.164241 3.58975 0.398545L10.9111 4.36769L18.1891 8.29879Z\"\n fill=\"white\"\n />\n </svg>\n );\n};\n\nexport default PlayIcon;\n"],"names":["PlayIcon","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,UAAS;AAAA,MACT,UAAS;AAAA,MACT,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EAAA;AAET;"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import e from "react";
|
|
2
|
-
const i = (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("g", { clipPath: "url(#clip0_538_5831)" }, /* @__PURE__ */ e.createElement(
|
|
12
|
-
"path",
|
|
13
|
-
{
|
|
14
|
-
fillRule: "evenodd",
|
|
15
|
-
clipRule: "evenodd",
|
|
16
|
-
d: "M14.5925 1.7998V32.6941H10.4849V14.8588H3.671V32.6941H0.899902V34.7641H35.099V32.6941H32.3603V8.0125H25.514V32.6941H21.4397V1.7998H14.5925Z",
|
|
17
|
-
fill: "#9DA0A6"
|
|
18
|
-
}
|
|
19
|
-
)),
|
|
20
|
-
/* @__PURE__ */ e.createElement("defs", null, /* @__PURE__ */ e.createElement("clipPath", { id: "clip0_538_5831" }, /* @__PURE__ */ e.createElement("rect", { width: "36", height: "36", fill: "white" })))
|
|
21
|
-
);
|
|
22
|
-
export {
|
|
23
|
-
i as default
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=StatsIcon-Ds4hriWX.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatsIcon-Ds4hriWX.js","sources":["../src/components/atoms/SvgIcon/StatsIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst StatsIcon = (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 <g clipPath=\"url(#clip0_538_5831)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.5925 1.7998V32.6941H10.4849V14.8588H3.671V32.6941H0.899902V34.7641H35.099V32.6941H32.3603V8.0125H25.514V32.6941H21.4397V1.7998H14.5925Z\"\n fill=\"#9DA0A6\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_538_5831\">\n <rect width=\"36\" height=\"36\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nexport default StatsIcon;\n"],"names":["StatsIcon","props","React"],"mappings":";AAGM,MAAAA,IAAY,CAACC,MAEf,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,cAAC,KAAE,EAAA,UAAS,uBACV,GAAA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,UAAS;AAAA,MACT,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EAAA,CAET;AAAA,EACC,gBAAAA,EAAA,cAAA,QAAA,MACE,gBAAAA,EAAA,cAAA,YAAA,EAAS,IAAG,iBACX,GAAA,gBAAAA,EAAA,cAAC,QAAK,EAAA,OAAM,MAAK,QAAO,MAAK,MAAK,QAAA,CAAQ,CAC5C,CACF;AACF;"}
|
|
@@ -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 22 20",
|
|
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: "M11.0022 0.75L21.8012 19.4545H0.203125L11.0022 0.75ZM11.7522 13.5V7.5H10.2522V13.5H11.7522ZM11.8022 14.95H10.2022V16.55H11.8022V14.95Z",
|
|
17
|
-
fill: "#F58B00"
|
|
18
|
-
}
|
|
19
|
-
)
|
|
20
|
-
);
|
|
21
|
-
export {
|
|
22
|
-
n as default
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=WarningIcon-BuzZKL26.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WarningIcon-BuzZKL26.js","sources":["../src/components/atoms/SvgIcon/WarningIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { IconProps } from './Icon';\n\nconst WarningIcon = (props: IconProps) => {\n return (\n <svg\n width={props.width}\n height={props.height}\n viewBox=\"0 0 22 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.0022 0.75L21.8012 19.4545H0.203125L11.0022 0.75ZM11.7522 13.5V7.5H10.2522V13.5H11.7522ZM11.8022 14.95H10.2022V16.55H11.8022V14.95Z\"\n fill=\"#F58B00\"\n />\n </svg>\n );\n};\n\nexport default WarningIcon;\n"],"names":["WarningIcon","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;"}
|