stream-engine-widgets 0.3.13 → 0.3.15
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/README.md +70 -66
- package/dist/{ArrowForwardIosRounded-Bug0UD4Z.js → ArrowForwardIosRounded-vJ-8UIWD.js} +2 -2
- package/dist/ArrowForwardIosRounded-vJ-8UIWD.js.map +1 -0
- package/dist/{PlayArrowRounded-DDn8lR83.js → PlayArrowRounded-CgaYE2Yr.js} +2 -2
- package/dist/PlayArrowRounded-CgaYE2Yr.js.map +1 -0
- package/dist/{gallery-Bj7HaEKS.js → gallery-BsjAef4s.js} +3 -3
- package/dist/{gallery-Bj7HaEKS.js.map → gallery-BsjAef4s.js.map} +1 -1
- package/dist/{index-DRXk8TB6.js → index-B8eZaXEf.js} +893 -159
- package/dist/index-B8eZaXEf.js.map +1 -0
- package/dist/{matchItem-Dbtm7f0H.js → matchItem-CbTA9NqK.js} +2 -2
- package/dist/{matchItem-Dbtm7f0H.js.map → matchItem-CbTA9NqK.js.map} +1 -1
- package/dist/{matches-BYGBQOdB.js → matches-Y1r_qinX.js} +4 -4
- package/dist/{matches-BYGBQOdB.js.map → matches-Y1r_qinX.js.map} +1 -1
- package/dist/{matchesStandalone-fkyfgYtI.js → matchesStandalone-CMxkQWQ5.js} +234 -10
- package/dist/matchesStandalone-CMxkQWQ5.js.map +1 -0
- package/dist/{player-BpFZSk7h.js → player-COrXYm8I.js} +3 -3
- package/dist/{player-BpFZSk7h.js.map → player-COrXYm8I.js.map} +1 -1
- package/dist/{poster-gBj_BEdS.js → poster-odUaxIxh.js} +3 -3
- package/dist/{poster-gBj_BEdS.js.map → poster-odUaxIxh.js.map} +1 -1
- package/dist/{posterItem-COVgC8zh.js → posterItem-CuHkTGAf.js} +4 -4
- package/dist/{posterItem-COVgC8zh.js.map → posterItem-CuHkTGAf.js.map} +1 -1
- package/dist/{scroll-DcdnfMG4.js → scroll-CoD8gObf.js} +4 -4
- package/dist/{scroll-DcdnfMG4.js.map → scroll-CoD8gObf.js.map} +1 -1
- package/dist/{stateTimeIndicator-CpCIHbFB.js → stateTimeIndicator-C9mPe5hW.js} +2 -2
- package/dist/{stateTimeIndicator-CpCIHbFB.js.map → stateTimeIndicator-C9mPe5hW.js.map} +1 -1
- package/dist/{story-CH4qV2PF.js → story-CcrSOcNA.js} +4 -4
- package/dist/story-CcrSOcNA.js.map +1 -0
- package/dist/stream-engine-widgets.css +0 -708
- package/dist/stream-engine-widgets.js +1 -1
- package/dist/{useMediaQuery-C8rqxnyT.js → useMediaQuery-BAJ_tc5g.js} +4 -4
- package/dist/{useMediaQuery-C8rqxnyT.js.map → useMediaQuery-BAJ_tc5g.js.map} +1 -1
- package/package.json +1 -5
- package/dist/ArrowForwardIosRounded-Bug0UD4Z.js.map +0 -1
- package/dist/PlayArrowRounded-DDn8lR83.js.map +0 -1
- package/dist/blaze-widget-COvQjzxN.js +0 -536
- package/dist/blaze-widget-COvQjzxN.js.map +0 -1
- package/dist/index-DRXk8TB6.js.map +0 -1
- package/dist/matchesStandalone-fkyfgYtI.js.map +0 -1
- package/dist/story-CH4qV2PF.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matchesStandalone-fkyfgYtI.js","sources":["../src/widgets/matchesStandalone/matchesStandalone.jsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\nimport localizedFormat from \"dayjs/plugin/localizedFormat\";\nimport {\n ArrowBackIosRounded,\n ArrowForwardIosRounded,\n} from \"@mui/icons-material\";\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport MatchItem from \"../../components/matchItem\";\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(utc);\ndayjs.extend(localizedFormat);\n\nconst MatchesStandalone = ({ data }) => {\n const [error, setError] = useState(\"\");\n const [matches, setMatches] = useState([]);\n const [isInitiallyScrolled, setIsInitiallyScrolled] = useState(false);\n\n const scrollRef = useRef(null);\n const [scroll, setScroll] = useState({ showLeft: false, showRight: true });\n\n const [isHovered, setIsHovered] = useState(false);\n const handleMouseEnter = useCallback(() => setIsHovered(true), []);\n const handleMouseLeave = useCallback(() => setIsHovered(false), []);\n\n const [dragging, setDragging] = useState(false);\n const [dragStartX, setDragStartX] = useState(0);\n const [scrollStartX, setScrollStartX] = useState(0);\n\n const dataByDate = useMemo(() => {\n const data = matches.reduce((dateMap, item) => {\n if (!item.date) return dateMap;\n const localDate = dayjs.utc(item.date).local();\n const local = navigator.language;\n item.date = localDate.toISOString();\n item.time = !!item.time\n ? new Date(localDate).toLocaleTimeString(local, {\n hour: \"numeric\",\n minute: \"numeric\",\n })\n : \"\";\n const dateKey = dayjs(item.date).format(\"YYYY-MM-DD\");\n dateMap.has(dateKey)\n ? dateMap.get(dateKey).push(item)\n : dateMap.set(dateKey, [item]);\n return dateMap;\n }, new Map());\n\n return data;\n }, [matches]);\n\n const matchStyles = useMemo(\n () => ({\n date: data.settings.date,\n header: data.settings.header,\n teams: data.settings.teams,\n showVenue: data.settings.showVenue,\n showLeague: data.settings.showLeague,\n showLogos: data.settings.showLogos,\n }),\n [data.settings]\n );\n\n useEffect(() => {\n const fetchMatches = async () => {\n try {\n const res = await fetch(data.settings.url);\n const matchData = await res.json();\n setMatches(matchData.data);\n } catch (err) {\n console.log(err);\n setError(\"Failed to fetch data\");\n }\n };\n\n fetchMatches();\n\n if (data.settings.fetchInterval) {\n const interval = setInterval(fetchMatches, data.settings.fetchInterval);\n return () => clearInterval(interval);\n }\n }, [data.settings.url, data.settings.fetchInterval]);\n\n const handleScroll = useCallback(() => {\n const container = scrollRef.current;\n if (!container) return;\n\n const showLeft = container.scrollLeft > 0;\n const showRight =\n container.scrollLeft + container.clientWidth + 1 < container.scrollWidth;\n setScroll({ showLeft, showRight });\n }, []);\n\n const scrollNext = useCallback(() => {\n const container = scrollRef.current;\n container.scroll({\n top: 0,\n left: container.scrollLeft + container.clientWidth,\n behavior: \"smooth\",\n });\n }, []);\n\n const scrollPrev = useCallback(() => {\n const container = scrollRef.current;\n container.scroll({\n top: 0,\n left: container.scrollLeft - container.clientWidth,\n behavior: \"smooth\",\n });\n }, []);\n\n useEffect(() => {\n const container = scrollRef.current;\n if (!container) return;\n\n container.style.userSelect = \"none\";\n container.addEventListener(\"scroll\", handleScroll);\n handleScroll();\n\n return () => {\n container.removeEventListener(\"scroll\", handleScroll);\n };\n }, [handleScroll]);\n\n useEffect(() => {\n const container = scrollRef.current;\n if (!container || matches.length === 0 || isInitiallyScrolled) return;\n\n const today = dayjs().startOf(\"day\");\n const scrollToDate = matches.reduce((closestDate, item) => {\n const itemDate = dayjs(item.date).startOf(\"day\");\n if (itemDate.isSameOrAfter(today)) {\n if (!closestDate || itemDate.isBefore(closestDate)) {\n closestDate = itemDate;\n }\n }\n return closestDate;\n }, null);\n\n const uniqueDays = Array.from(\n new Set(\n matches.map((item) =>\n dayjs(item.date).startOf(\"day\").format(\"YYYY-MM-DD\")\n )\n )\n );\n\n const index = scrollToDate\n ? uniqueDays.findIndex((day) => day === scrollToDate.format(\"YYYY-MM-DD\"))\n : undefined;\n\n if (index >= 0) {\n const dateElement = document.getElementById(`date_${index}`);\n if (dateElement) {\n dateElement.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"start\",\n });\n }\n } else {\n container.scroll({\n top: 0,\n left: container.scrollWidth,\n behavior: \"smooth\",\n });\n }\n\n setIsInitiallyScrolled(true);\n handleScroll();\n }, [matches, isInitiallyScrolled, handleScroll]);\n\n const handleDragStart = useCallback((e) => {\n setDragging(true);\n setDragStartX(e.clientX);\n setScrollStartX(scrollRef.current.scrollLeft);\n }, []);\n\n const handleDragEnd = useCallback(() => {\n setDragging(false);\n }, []);\n\n useEffect(() => {\n const handleDragMove = (e) => {\n if (!dragging) return;\n const dragDistance = e.clientX - dragStartX;\n scrollRef.current.scrollLeft = scrollStartX - dragDistance;\n };\n\n if (dragging) {\n document.addEventListener(\"mousemove\", handleDragMove);\n document.addEventListener(\"mouseup\", handleDragEnd);\n\n return () => {\n document.removeEventListener(\"mousemove\", handleDragMove);\n document.removeEventListener(\"mouseup\", handleDragEnd);\n };\n }\n }, [dragging, dragStartX, scrollStartX, handleDragEnd]);\n\n const errorDisplay = (\n <div className=\"w-full h-full flex justify-center items-center\">\n <div className=\"bg-black/90 p-5 rounded-md\">\n <span className=\"text-white\">{error}</span>\n </div>\n </div>\n );\n\n const renderMatches = useCallback(() => {\n const uniqueDates = Array.from(dataByDate.keys());\n\n return uniqueDates.map((dateStr, idx) => {\n const date = dayjs(dateStr);\n const dayFormatted = date.format(\"ddd\");\n const dateFormatted = date.format(\"DD\");\n const monthFormatted = date.format(\"MMM\");\n const isToday = date.isSame(dayjs(), \"day\");\n const matchItems = dataByDate.get(dateStr).map((item, idx) => (\n <div\n key={`${item.gameId}_${idx}`}\n className=\"flex-grow-0 flex-shrink-0 h-full relative mr-0.5\"\n >\n <MatchItem item={item} styles={matchStyles} />\n </div>\n ));\n\n return (\n <div key={`date-group-${dateStr}`} className=\"date-group flex\">\n <div\n id={`date_${idx}`}\n className=\"flex flex-col justify-center items-center space-y-10 rounded sticky left-0 z-10 mr-0.5\"\n style={{\n backgroundColor: data.settings.date.backgroundColor,\n color: data.settings.date.textColor,\n border: isToday\n ? `2px solid ${\n data.settings.date.todayBorderColor ?? \"#08152E\"\n }`\n : \"\",\n ...(data.settings.showLeague &&\n data.settings.showVenue && { height: \"200px\" }),\n width: \"50px\",\n position: \"sticky\",\n left: 0,\n boxShadow: \"4px 0 6px -1px rgba(0, 0, 0, 0.1)\",\n }}\n >\n <div className=\"flex flex-col items-center justify-center w-20 gap-1.5\">\n <div className=\"flex flex-col items-center justify-center\">\n <div className=\"font-bold text-lg leading-none\">\n {dateFormatted}\n </div>\n <div className=\"font-bold text-sm leading-none\">\n {monthFormatted}\n </div>\n </div>\n <hr\n style={{\n width: \"50%\",\n backgroundColor: data.settings.date.textColor,\n opacity: \"38%\",\n height: \"1px\",\n border: \"none\",\n }}\n ></hr>\n <div className=\"text-sm leading-none\">{dayFormatted}</div>\n </div>\n </div>\n <div className=\"matches-container flex\">{matchItems}</div>\n </div>\n );\n });\n }, [dataByDate, matchStyles, data.settings.date]);\n\n const arrowStyles =\n \"vf-scroll-button z-30 absolute bg-black text-white/70 w-12 h-12 bg-black/50 rounded-lg flex justify-center items-center hover:text-white hover:bg-black/90 cursor-pointer m-0.25\";\n const backArrowStyles = `${arrowStyles} left-3 top-1/2 -translate-y-1/2`;\n const forwardArrowStyles = `${arrowStyles} right-3 top-1/2 -translate-y-1/2`;\n\n const matchContainer = (\n <div\n id={`widget-${data.id}`}\n className=\"overflow-y-hidden w-full relative my-2.5\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div\n ref={scrollRef}\n className=\"vf-team-vs-team overflow-y-hidden overflow-x-auto flex h-full w-full snap-x scrollbar-none gap-0.5\"\n onMouseDown={handleDragStart}\n onMouseUp={handleDragEnd}\n >\n {renderMatches()}\n </div>\n {isHovered && scroll.showLeft && (\n <div onClick={scrollPrev} className={backArrowStyles}>\n <ArrowBackIosRounded fontSize=\"large\" />\n </div>\n )}\n {isHovered && scroll.showRight && (\n <div onClick={scrollNext} className={forwardArrowStyles}>\n <ArrowForwardIosRounded fontSize=\"large\" />\n </div>\n )}\n </div>\n );\n\n return error ? errorDisplay : matchContainer;\n};\n\nexport default memo(MatchesStandalone);\n"],"names":["data","jsx","idx","jsxs"],"mappings":"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"}
|