From e6c5b0629511e4b3e6709fa2416da2390f829203 Mon Sep 17 00:00:00 2001 From: earthyoung Date: Thu, 2 Apr 2026 00:37:30 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=202025=EB=85=84=20app/=20=EB=94=94?= =?UTF-8?q?=EB=A0=89=ED=86=A0=EB=A6=AC=20=ED=95=98=EC=9C=84=EC=9D=98=20202?= =?UTF-8?q?5=EB=85=84=EB=8F=84=20=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=20(=EC=9D=B4=EB=AF=B8=EC=A7=80=20=ED=95=98=EB=93=9C?= =?UTF-8?q?=EC=BD=94=EB=94=A9,=20session=20id=20URL=20=ED=95=98=EB=93=9C?= =?UTF-8?q?=EC=BD=94=EB=94=A9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/pyconkr/src/consts/mdx_components.ts | 21 ++++++++++++-- .../mdx_components/session_list.tsx | 28 +++++++++++-------- .../mdx_components/session_timetable.tsx | 13 +++++---- .../mdx_components/styled_details.tsx | 4 +-- 4 files changed, 46 insertions(+), 20 deletions(-) diff --git a/apps/pyconkr/src/consts/mdx_components.ts b/apps/pyconkr/src/consts/mdx_components.ts index ef65626..23f2904 100644 --- a/apps/pyconkr/src/consts/mdx_components.ts +++ b/apps/pyconkr/src/consts/mdx_components.ts @@ -3,6 +3,9 @@ import * as Common from "@frontend/common"; import * as Shop from "@frontend/shop"; import * as mui from "@mui/material"; import type { MDXComponents } from "mdx/types.js"; +import * as React from "react"; + +import PyCon2025Logo from "../assets/pyconkr2025_logo.png"; const MUIMDXComponents: MDXComponents = { Mui__material__Accordion: mui.Accordion, @@ -130,16 +133,30 @@ const MUIMDXComponents: MDXComponents = { Mui__material__Zoom: mui.Zoom, }; +const PyConKR2025SecondaryStyledDetails: React.FC> = (props) => { + const theme = mui.useTheme(); + return React.createElement(Common.Components.MDX.SecondaryStyledDetails, { ...props, paletteColor: theme.palette.highlight }); +}; + +const PyConKR2025SessionListFallbackImage = React.createElement("img", { + src: PyCon2025Logo, + alt: "PyCon 2025 Logo", + style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: "50%" }, +}); + +const PyConKR2025SessionList: React.FC> = (props) => + React.createElement(Common.Components.MDX.SessionList, { ...props, fallbackImage: PyConKR2025SessionListFallbackImage }); + const PyConKRCommonMDXComponents: MDXComponents = { Common__Components__Lottie: Common.Components.LottiePlayer, Common__Components__NetworkLottie: Common.Components.NetworkLottiePlayer, Common__Components__MDX__Confetti: Common.Components.MDX.Confetti, Common__Components__MDX__PrimaryStyledDetails: Common.Components.MDX.PrimaryStyledDetails, - Common__Components__MDX__SecondaryStyledDetails: Common.Components.MDX.SecondaryStyledDetails, + Common__Components__MDX__SecondaryStyledDetails: PyConKR2025SecondaryStyledDetails, Common__Components__MDX__Map: Common.Components.MDX.Map, Common__Components__MDX__FAQAccordion: Common.Components.MDX.FAQAccordion, Common__Components__MDX__FullWidthStyledButton: Common.Components.MDX.StyledFullWidthButton, - Common__Components__Session__List: Common.Components.MDX.SessionList, + Common__Components__Session__List: PyConKR2025SessionList, Common__Components__Session__TimeTable: Common.Components.MDX.SessionTimeTable, }; diff --git a/packages/common/src/components/mdx_components/session_list.tsx b/packages/common/src/components/mdx_components/session_list.tsx index e905e3f..f6c6c74 100644 --- a/packages/common/src/components/mdx_components/session_list.tsx +++ b/packages/common/src/components/mdx_components/session_list.tsx @@ -4,7 +4,6 @@ import * as React from "react"; import { Link } from "react-router-dom"; import * as R from "remeda"; -import PyCon2025Logo from "../../assets/pyconkr2025_logo.png"; import Hooks from "../../hooks"; import BackendAPISchemas from "../../schemas/backendAPI"; import { ErrorFallback } from "../error_handler"; @@ -13,9 +12,16 @@ import { StyledDivider } from "./styled_divider"; const EXCLUDE_CATEGORIES = ["후원사", "Sponsor"]; -const SessionItem: React.FC<{ session: BackendAPISchemas.SessionSchema; enableLink?: boolean }> = Suspense.with( +type SessionItemProps = { + session: BackendAPISchemas.SessionSchema; + enableLink?: boolean; + fallbackImage?: React.ReactNode; + getSessionUrl?: (session: BackendAPISchemas.SessionSchema) => string; +}; + +const SessionItem: React.FC = Suspense.with( { fallback: }, - ({ session, enableLink }) => { + ({ session, enableLink, fallbackImage, getSessionUrl }) => { const sessionTitle = session.title.replace("\\n", "\n"); let speakerImgSrc = session.image || ""; @@ -32,11 +38,11 @@ const SessionItem: React.FC<{ session: BackendAPISchemas.SessionSchema; enableLi .replace(/ /g, "-") .replace(/([.])/g, "_") .replace(/(?![0-9A-Za-zㄱ-ㅣ가-힣-_])./g, ""); - const sessionDetailedUrl = `/presentations/${session.id}#${urlSafeTitle}`; + const sessionDetailedUrl = getSessionUrl ? getSessionUrl(session) : `/presentations/${session.id}#${urlSafeTitle}`; const result = ( } />} + children={} />} /> @@ -67,11 +73,13 @@ type SessionListPropType = { event?: string; types?: string | string[]; enableLink?: boolean; + fallbackImage?: React.ReactNode; + getSessionUrl?: (session: BackendAPISchemas.SessionSchema) => string; }; export const SessionList: React.FC = ErrorBoundary.with( { fallback: ErrorFallback }, - Suspense.with({ fallback: }, ({ event, types, enableLink }) => { + Suspense.with({ fallback: }, ({ event, types, enableLink, fallbackImage, getSessionUrl }) => { const { language } = Hooks.Common.useCommonContext(); const backendAPIClient = Hooks.BackendAPI.useBackendClient(); const params = { ...(event && { event }), ...(types && { types: R.isString(types) ? types : types.join(",") }) }; @@ -122,7 +130,7 @@ export const SessionList: React.FC = ErrorBoundary.with( )} {filteredSessions.map((s) => ( - + ))} ); @@ -194,10 +202,8 @@ const SessionImageErrorFallbackBox = styled(Box)(({ theme }) => ({ justifyContent: "center", })); -const SessionImageErrorFallback: React.FC = () => ( - - PyCon 2025 Logo - +const SessionImageErrorFallback: React.FC<{ fallbackImage?: React.ReactNode }> = ({ fallbackImage }) => ( + {fallbackImage} ); const SessionTitle = styled(Typography)({ diff --git a/packages/common/src/components/mdx_components/session_timetable.tsx b/packages/common/src/components/mdx_components/session_timetable.tsx index 9f02cf5..0a09976 100644 --- a/packages/common/src/components/mdx_components/session_timetable.tsx +++ b/packages/common/src/components/mdx_components/session_timetable.tsx @@ -107,7 +107,8 @@ const SessionColumn: React.FC<{ rowSpan: number; colSpan?: number; session: BackendAPISchemas.SessionSchema; -}> = ({ rowSpan, colSpan, session }) => { + getSessionUrl?: (session: BackendAPISchemas.SessionSchema) => string; +}> = ({ rowSpan, colSpan, session, getSessionUrl }) => { const clickable = R.isArray(session.speakers) && !R.isEmpty(session.speakers); // Firefox는 rowSpan된 td의 height를 계산할 때 rowSpan을 고려하지 않습니다. 따라서 직접 계산하여 height를 설정합니다. const sessionBoxHeight = `${TD_HEIGHT * rowSpan}rem`; @@ -115,10 +116,11 @@ const SessionColumn: React.FC<{ .replace(/ /g, "-") .replace(/([.])/g, "_") .replace(/(?![.0-9A-Za-zㄱ-ㅣ가-힣-])./g, ""); + const sessionUrl = getSessionUrl ? getSessionUrl(session) : `/presentations/${session.id}#${urlSafeTitle}`; return ( {clickable ? ( - + = ({ lang type SessionTimeTablePropType = { event?: string; types?: string | string[]; + getSessionUrl?: (session: BackendAPISchemas.SessionSchema) => string; }; export const SessionTimeTable: React.FC = ErrorBoundary.with( { fallback: ErrorFallback }, - Suspense.with({ fallback: } /> }, ({ event, types }) => { + Suspense.with({ fallback: } /> }, ({ event, types, getSessionUrl }) => { const [confDate, setConfDate] = React.useState(""); const { language } = Hooks.Common.useCommonContext(); @@ -274,7 +277,7 @@ export const SessionTimeTable: React.FC = ErrorBoundar return ( - + ); } @@ -293,7 +296,7 @@ export const SessionTimeTable: React.FC = ErrorBoundar } // 세션이 여러 줄에 걸쳐있는 경우, n-1 줄만큼 해당 room에 column을 생성하지 않도록 합니다. if (roomDatum.rowSpan > 1) rooms[room] = roomDatum.rowSpan - 1; - return ; + return ; })} ); diff --git a/packages/common/src/components/mdx_components/styled_details.tsx b/packages/common/src/components/mdx_components/styled_details.tsx index be82e96..dedee4f 100644 --- a/packages/common/src/components/mdx_components/styled_details.tsx +++ b/packages/common/src/components/mdx_components/styled_details.tsx @@ -76,7 +76,7 @@ export const PrimaryStyledDetails: React.FC = (props) => { return ; }; -export const HighlightedStyledDetails: React.FC = (props) => { +export const HighlightedStyledDetails: React.FC = ({ paletteColor, ...props }) => { const { palette } = useTheme(); - return ; + return ; }; From f3e096924683fbb1ebcde3e41d997f920ca592e9 Mon Sep 17 00:00:00 2001 From: earthyoung Date: Thu, 2 Apr 2026 01:16:51 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20packages/=20=ED=95=98=EC=9C=84?= =?UTF-8?q?=EC=9D=98=20mui=20component=EC=97=90=EC=84=9C=20style=EA=B3=BC?= =?UTF-8?q?=20mui=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/assets/pyconkr2025_hostlogo_big.png | Bin .../src/assets/pyconkr2025_hostlogo_small.png | Bin .../assets/pyconkr2025_main_cover_image.png | Bin .../assets/pyconkr2025_main_cover_title.png | Bin .../mdx_components/mobile_accordion.tsx | 2 +- .../mdx_components/mobile_cover.tsx | 2 +- apps/pyconkr/src/consts/mdx_components.ts | 48 +++- .../common/src/assets/pyconkr2025_logo.png | Bin 189542 -> 0 bytes packages/common/src/components/index.ts | 14 +- .../mdx_components/faq_accordion.tsx | 140 ++++++----- .../mdx_components/session_list.tsx | 93 ++++--- .../mdx_components/session_timetable.tsx | 237 +++++++++++------- .../styled_full_width_button.tsx | 15 +- 13 files changed, 357 insertions(+), 194 deletions(-) rename {packages/common => apps/pyconkr}/src/assets/pyconkr2025_hostlogo_big.png (100%) rename {packages/common => apps/pyconkr}/src/assets/pyconkr2025_hostlogo_small.png (100%) rename {packages/common => apps/pyconkr}/src/assets/pyconkr2025_main_cover_image.png (100%) rename {packages/common => apps/pyconkr}/src/assets/pyconkr2025_main_cover_title.png (100%) rename {packages/common => apps/pyconkr}/src/components/mdx_components/mobile_accordion.tsx (98%) rename {packages/common => apps/pyconkr}/src/components/mdx_components/mobile_cover.tsx (95%) delete mode 100755 packages/common/src/assets/pyconkr2025_logo.png diff --git a/packages/common/src/assets/pyconkr2025_hostlogo_big.png b/apps/pyconkr/src/assets/pyconkr2025_hostlogo_big.png similarity index 100% rename from packages/common/src/assets/pyconkr2025_hostlogo_big.png rename to apps/pyconkr/src/assets/pyconkr2025_hostlogo_big.png diff --git a/packages/common/src/assets/pyconkr2025_hostlogo_small.png b/apps/pyconkr/src/assets/pyconkr2025_hostlogo_small.png similarity index 100% rename from packages/common/src/assets/pyconkr2025_hostlogo_small.png rename to apps/pyconkr/src/assets/pyconkr2025_hostlogo_small.png diff --git a/packages/common/src/assets/pyconkr2025_main_cover_image.png b/apps/pyconkr/src/assets/pyconkr2025_main_cover_image.png similarity index 100% rename from packages/common/src/assets/pyconkr2025_main_cover_image.png rename to apps/pyconkr/src/assets/pyconkr2025_main_cover_image.png diff --git a/packages/common/src/assets/pyconkr2025_main_cover_title.png b/apps/pyconkr/src/assets/pyconkr2025_main_cover_title.png similarity index 100% rename from packages/common/src/assets/pyconkr2025_main_cover_title.png rename to apps/pyconkr/src/assets/pyconkr2025_main_cover_title.png diff --git a/packages/common/src/components/mdx_components/mobile_accordion.tsx b/apps/pyconkr/src/components/mdx_components/mobile_accordion.tsx similarity index 98% rename from packages/common/src/components/mdx_components/mobile_accordion.tsx rename to apps/pyconkr/src/components/mdx_components/mobile_accordion.tsx index 151023b..6f21d6d 100644 --- a/packages/common/src/components/mdx_components/mobile_accordion.tsx +++ b/apps/pyconkr/src/components/mdx_components/mobile_accordion.tsx @@ -4,7 +4,7 @@ import { AccordionDetails, AccordionSummary, Accordion as MuiAccordion, Stack, T import * as React from "react"; import Marquee from "react-fast-marquee"; -import { useAppContext } from "../../../../../apps/pyconkr/src/contexts/app_context"; +import { useAppContext } from "../../contexts/app_context"; import PyCon2025HostLogoBig from "../../assets/pyconkr2025_hostlogo_big.png"; import PyCon2025HostLogoSmall from "../../assets/pyconkr2025_hostlogo_small.png"; diff --git a/packages/common/src/components/mdx_components/mobile_cover.tsx b/apps/pyconkr/src/components/mdx_components/mobile_cover.tsx similarity index 95% rename from packages/common/src/components/mdx_components/mobile_cover.tsx rename to apps/pyconkr/src/components/mdx_components/mobile_cover.tsx index b2878c8..aa0999d 100644 --- a/packages/common/src/components/mdx_components/mobile_cover.tsx +++ b/apps/pyconkr/src/components/mdx_components/mobile_cover.tsx @@ -1,7 +1,7 @@ import ArrowForwardIcon from "@mui/icons-material/ArrowForward"; import { ButtonBase, Stack, Typography } from "@mui/material"; import * as React from "react"; -import { useAppContext } from "../../../../../apps/pyconkr/src/contexts/app_context"; +import { useAppContext } from "../../contexts/app_context"; import PyCon2025MobileLogoImage from "../../assets/pyconkr2025_main_cover_image.png"; import PyCon2025MobileLogoTitle from "../../assets/pyconkr2025_main_cover_title.png"; diff --git a/apps/pyconkr/src/consts/mdx_components.ts b/apps/pyconkr/src/consts/mdx_components.ts index 23f2904..d25e5f5 100644 --- a/apps/pyconkr/src/consts/mdx_components.ts +++ b/apps/pyconkr/src/consts/mdx_components.ts @@ -144,8 +144,48 @@ const PyConKR2025SessionListFallbackImage = React.createElement("img", { style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: "50%" }, }); +const pyConKR2025SessionListStyles: Common.Components.MDX.SessionListStyles = { + categoryButton: { flexBasis: "14rem" }, + itemContainer: { padding: "0.5rem 1.5rem", gap: "1.5rem", minHeight: "9rem", mobilePadding: "0.5rem", mobileGap: "1rem" }, + imageContainer: { size: "6rem" }, + title: { fontSize: "1.5em", fontWeight: 600, lineHeight: 1.25 }, +}; + const PyConKR2025SessionList: React.FC> = (props) => - React.createElement(Common.Components.MDX.SessionList, { ...props, fallbackImage: PyConKR2025SessionListFallbackImage }); + React.createElement(Common.Components.MDX.SessionList, { ...props, fallbackImage: PyConKR2025SessionListFallbackImage, styles: pyConKR2025SessionListStyles }); + +const pyConKR2025SessionTimeTableStyles: Common.Components.MDX.SessionTimeTableStyles = { + layout: { tdHeight: 4, tdWidth: 15, tdWidthMobile: 20 }, + dateItemContainer: { padding: "1rem 3rem" }, + dateTitle: { fontSize: "2.25em", fontWeight: 600, lineHeight: 1.25 }, + dateSubTitle: { fontSize: "1em", fontWeight: 600, lineHeight: 1.25 }, + sessionTitle: { fontSize: "1.125em", fontWeight: 600, lineHeight: 1.25 }, + sessionBox: { padding: "0.25rem", borderRadius: "0.5rem", gap: "0.5rem" }, + tableCell: { padding: "0 0.5rem" }, + tableContainer: { gap: "1rem" }, +}; + +const PyConKR2025SessionTimeTable: React.FC> = (props) => + React.createElement(Common.Components.MDX.SessionTimeTable, { ...props, styles: pyConKR2025SessionTimeTableStyles }); + +const pyConKR2025FAQAccordionStyles: Common.Components.MDX.FAQAccordionStyles = { + summary: { padding: "10px 35px", minHeight: "60px", maxHeight: "60px" }, + number: { fontSize: "18px", fontWeight: 400 }, + question: { fontSize: "18px", fontWeight: 400, marginLeft: "60px" }, + details: { fontSize: "14px", fontWeight: 400, padding: "20px 0 20px calc(35px + 18px + 60px)" }, +}; + +const PyConKR2025FAQAccordion: React.FC> = (props) => + React.createElement(Common.Components.MDX.FAQAccordion, { ...props, styles: pyConKR2025FAQAccordionStyles }); + +const pyConKR2025StyledFullWidthButtonStyles: Common.Components.MDX.StyledFullWidthButtonStyles = { + borderRadius: "0.5rem", + textTransform: "none", + largeHeight: "3.5rem", +}; + +const PyConKR2025StyledFullWidthButton: React.FC> = (props) => + React.createElement(Common.Components.MDX.StyledFullWidthButton, { ...props, styles: pyConKR2025StyledFullWidthButtonStyles }); const PyConKRCommonMDXComponents: MDXComponents = { Common__Components__Lottie: Common.Components.LottiePlayer, @@ -154,10 +194,10 @@ const PyConKRCommonMDXComponents: MDXComponents = { Common__Components__MDX__PrimaryStyledDetails: Common.Components.MDX.PrimaryStyledDetails, Common__Components__MDX__SecondaryStyledDetails: PyConKR2025SecondaryStyledDetails, Common__Components__MDX__Map: Common.Components.MDX.Map, - Common__Components__MDX__FAQAccordion: Common.Components.MDX.FAQAccordion, - Common__Components__MDX__FullWidthStyledButton: Common.Components.MDX.StyledFullWidthButton, + Common__Components__MDX__FAQAccordion: PyConKR2025FAQAccordion, + Common__Components__MDX__FullWidthStyledButton: PyConKR2025StyledFullWidthButton, Common__Components__Session__List: PyConKR2025SessionList, - Common__Components__Session__TimeTable: Common.Components.MDX.SessionTimeTable, + Common__Components__Session__TimeTable: PyConKR2025SessionTimeTable, }; const PythonKRShopMDXComponents: MDXComponents = { diff --git a/packages/common/src/assets/pyconkr2025_logo.png b/packages/common/src/assets/pyconkr2025_logo.png deleted file mode 100755 index a4b1f567c591fd0d37d79d191b8e145587b1eca4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189542 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 SnRBq@JaqKH;Q7fhwl-V3-q@P6f))yfh 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 AssI20 diff --git a/packages/common/src/components/index.ts b/packages/common/src/components/index.ts index 8b9914d..67ef9dc 100644 --- a/packages/common/src/components/index.ts +++ b/packages/common/src/components/index.ts @@ -17,18 +17,22 @@ import { Confetti as ConfettiComponent } from "./mdx_components/confetti"; import { FAQAccordion as FAQAccordionComponent, type FAQAccordionProps as FAQAccordionPropsType, + type FAQAccordionStyles as FAQAccordionStylesType, type FAQItem as FAQItemType, } from "./mdx_components/faq_accordion"; import type { MapPropType as MapComponentPropType } from "./mdx_components/map"; import { Map as MapComponent } from "./mdx_components/map"; import { OneDetailsOpener as OneDetailsOpenerComponent } from "./mdx_components/one_details_opener"; -import { SessionList as SessionListComponent } from "./mdx_components/session_list"; -import { SessionTimeTable as SessionTimeTableComponent } from "./mdx_components/session_timetable"; +import { SessionList as SessionListComponent, type SessionListStyles as SessionListStylesType } from "./mdx_components/session_list"; +import { SessionTimeTable as SessionTimeTableComponent, type SessionTimeTableStyles as SessionTimeTableStylesType } from "./mdx_components/session_timetable"; import { PrimaryStyledDetails as PrimaryStyledDetailsComponent, HighlightedStyledDetails as SecondaryStyledDetailsComponent, } from "./mdx_components/styled_details"; -import { StyledFullWidthButton as StyledFullWidthButtonComponent } from "./mdx_components/styled_full_width_button"; +import { + StyledFullWidthButton as StyledFullWidthButtonComponent, + type StyledFullWidthButtonStyles as StyledFullWidthButtonStylesType, +} from "./mdx_components/styled_full_width_button"; import { MDXEditor as MDXEditorComponent } from "./mdx_editor"; import { PythonKorea as PythonKoreaComponent } from "./pythonkorea"; @@ -61,7 +65,11 @@ namespace Components { export const SessionTimeTable = SessionTimeTableComponent; export type MapPropType = MapComponentPropType; export type FAQAccordionProps = FAQAccordionPropsType; + export type FAQAccordionStyles = FAQAccordionStylesType; export type FAQItem = FAQItemType; + export type SessionListStyles = SessionListStylesType; + export type SessionTimeTableStyles = SessionTimeTableStylesType; + export type StyledFullWidthButtonStyles = StyledFullWidthButtonStylesType; } } diff --git a/packages/common/src/components/mdx_components/faq_accordion.tsx b/packages/common/src/components/mdx_components/faq_accordion.tsx index 39ba1e9..c051f44 100644 --- a/packages/common/src/components/mdx_components/faq_accordion.tsx +++ b/packages/common/src/components/mdx_components/faq_accordion.tsx @@ -9,21 +9,44 @@ export interface FAQItem { answer: string; } +export type FAQAccordionStyles = { + summary?: { + padding?: string; + minHeight?: string; + maxHeight?: string; + }; + number?: { + fontSize?: string; + fontWeight?: number | string; + }; + question?: { + fontSize?: string; + fontWeight?: number | string; + marginLeft?: string; + }; + details?: { + fontSize?: string; + fontWeight?: number | string; + padding?: string; + }; +}; + export interface FAQAccordionProps { items: FAQItem[]; + styles?: FAQAccordionStyles; } -export const FAQAccordion: React.FC = ({ items }) => { +export const FAQAccordion: React.FC = ({ items, styles }) => { return ( {items.map((faq, index) => ( - + } aria-controls={`panel${faq.id}-content`} id={`panel${faq.id}-header`}> - {faq.id} - {faq.question} + {faq.id} + {faq.question} - {faq.answer} + {faq.answer} {index !== items.length - 1 && } @@ -45,59 +68,54 @@ const Divider = styled.div` margin: 0; `; -const StyledAccordion = styled(MuiAccordion)` - box-shadow: none; - border-radius: 0; - - &:before { - display: none; - } - - &.MuiAccordion-root { - margin: 0; - - &:first-of-type { - border-top: none; - } - - &:last-of-type { - border-bottom: none; - } - } - - .MuiAccordionSummary-root { - padding: 10px 35px; - min-height: 60px; - max-height: 60px; - - .MuiAccordionSummary-content { - display: flex; - align-items: center; - margin: 0; - } - - &.Mui-expanded { - min-height: 60px; - max-height: 60px; - } - } -`; - -const Number = styled.span` - font-size: 18px; - font-weight: 400; -`; - -const Question = styled.span` - font-size: 18px; - font-weight: 400; - margin-left: 60px; -`; - -const StyledAccordionDetails = styled(AccordionDetails)` - background-color: ${({ theme }) => `${theme.palette.primary.light}26`}; // 15% opacity (26 in hex) - color: ${({ theme }) => theme.palette.primary.dark}; - font-size: 14px; - font-weight: 400; - padding: 20px 0 20px calc(35px + 18px + 60px); // top right bottom left -`; +const StyledAccordion = styled(MuiAccordion, { + shouldForwardProp: (prop) => prop !== "faqStyles", +})<{ faqStyles?: FAQAccordionStyles }>(({ faqStyles }) => ({ + boxShadow: "none", + borderRadius: 0, + "&:before": { display: "none" }, + "&.MuiAccordion-root": { + margin: 0, + "&:first-of-type": { borderTop: "none" }, + "&:last-of-type": { borderBottom: "none" }, + }, + ".MuiAccordionSummary-root": { + padding: faqStyles?.summary?.padding ?? "10px 35px", + minHeight: faqStyles?.summary?.minHeight ?? "60px", + maxHeight: faqStyles?.summary?.maxHeight ?? "60px", + ".MuiAccordionSummary-content": { + display: "flex", + alignItems: "center", + margin: 0, + }, + "&.Mui-expanded": { + minHeight: faqStyles?.summary?.minHeight ?? "60px", + maxHeight: faqStyles?.summary?.maxHeight ?? "60px", + }, + }, +})); + +const Number = styled("span", { + shouldForwardProp: (prop) => prop !== "faqStyles", +})<{ faqStyles?: FAQAccordionStyles }>(({ faqStyles }) => ({ + fontSize: faqStyles?.number?.fontSize ?? "18px", + fontWeight: faqStyles?.number?.fontWeight ?? 400, +})); + +const Question = styled("span", { + shouldForwardProp: (prop) => prop !== "faqStyles", +})<{ faqStyles?: FAQAccordionStyles }>(({ faqStyles }) => ({ + fontSize: faqStyles?.question?.fontSize ?? "18px", + fontWeight: faqStyles?.question?.fontWeight ?? 400, + marginLeft: faqStyles?.question?.marginLeft ?? "60px", +})); + +const StyledAccordionDetails = styled(AccordionDetails, { + shouldForwardProp: (prop) => prop !== "faqStyles", +})<{ faqStyles?: FAQAccordionStyles }>(({ theme, faqStyles }) => ({ + backgroundColor: `${theme.palette.primary.light}26`, + color: theme.palette.primary.dark, + fontSize: faqStyles?.details?.fontSize ?? "14px", + fontWeight: faqStyles?.details?.fontWeight ?? 400, + padding: faqStyles?.details?.padding ?? "20px 0 20px calc(35px + 18px + 60px)", +})); diff --git a/packages/common/src/components/mdx_components/session_list.tsx b/packages/common/src/components/mdx_components/session_list.tsx index f6c6c74..f752b55 100644 --- a/packages/common/src/components/mdx_components/session_list.tsx +++ b/packages/common/src/components/mdx_components/session_list.tsx @@ -12,16 +12,38 @@ import { StyledDivider } from "./styled_divider"; const EXCLUDE_CATEGORIES = ["후원사", "Sponsor"]; +export type SessionListStyles = { + categoryButton?: { + flexBasis?: string; + }; + itemContainer?: { + padding?: string; + gap?: string; + minHeight?: string; + mobilePadding?: string; + mobileGap?: string; + }; + imageContainer?: { + size?: string; + }; + title?: { + fontSize?: string; + fontWeight?: number | string; + lineHeight?: number | string; + }; +}; + type SessionItemProps = { session: BackendAPISchemas.SessionSchema; enableLink?: boolean; fallbackImage?: React.ReactNode; getSessionUrl?: (session: BackendAPISchemas.SessionSchema) => string; + styles?: SessionListStyles; }; const SessionItem: React.FC = Suspense.with( { fallback: }, - ({ session, enableLink, fallbackImage, getSessionUrl }) => { + ({ session, enableLink, fallbackImage, getSessionUrl, styles }) => { const sessionTitle = session.title.replace("\\n", "\n"); let speakerImgSrc = session.image || ""; @@ -40,12 +62,13 @@ const SessionItem: React.FC = Suspense.with( .replace(/(?![0-9A-Za-zㄱ-ㅣ가-힣-_])./g, ""); const sessionDetailedUrl = getSessionUrl ? getSessionUrl(session) : `/presentations/${session.id}#${urlSafeTitle}`; const result = ( - + } />} /> - + {session.summary && } {session.speakers.map((speaker) => ( @@ -75,11 +98,12 @@ type SessionListPropType = { enableLink?: boolean; fallbackImage?: React.ReactNode; getSessionUrl?: (session: BackendAPISchemas.SessionSchema) => string; + styles?: SessionListStyles; }; export const SessionList: React.FC = ErrorBoundary.with( { fallback: ErrorFallback }, - Suspense.with({ fallback: }, ({ event, types, enableLink, fallbackImage, getSessionUrl }) => { + Suspense.with({ fallback: }, ({ event, types, enableLink, fallbackImage, getSessionUrl, styles }) => { const { language } = Hooks.Common.useCommonContext(); const backendAPIClient = Hooks.BackendAPI.useBackendClient(); const params = { ...(event && { event }), ...(types && { types: R.isString(types) ? types : types.join(",") }) }; @@ -122,6 +146,7 @@ export const SessionList: React.FC = ErrorBoundary.with( onClick={() => toggleCategory(cat.id)} children={cat.name} selected={selectedCategoryIds.some((selectedCatId) => selectedCatId === cat.id)} + listStyles={styles} /> ))} @@ -130,17 +155,19 @@ export const SessionList: React.FC = ErrorBoundary.with( )} {filteredSessions.map((s) => ( - + ))} ); }) ); -const CategoryButtonStyle = styled(Button)<{ selected?: boolean }>(({ theme, selected }) => ({ +const CategoryButtonStyle = styled(Button, { + shouldForwardProp: (prop) => prop !== "selected" && prop !== "listStyles", +})<{ selected?: boolean; listStyles?: SessionListStyles }>(({ theme, selected, listStyles }) => ({ flexGrow: 0, flexShrink: 0, - flexBasis: "14rem", + flexBasis: listStyles?.categoryButton?.flexBasis ?? "14rem", wordBreak: "keep-all", whiteSpace: "nowrap", @@ -152,17 +179,19 @@ const CategoryButtonStyle = styled(Button)<{ selected?: boolean }>(({ theme, sel }, })); -const SessionItemContainer = styled(Stack)(({ theme }) => ({ +const SessionItemContainer = styled(Stack, { + shouldForwardProp: (prop) => prop !== "listStyles", +})<{ listStyles?: SessionListStyles }>(({ theme, listStyles }) => ({ alignItems: "center", justifyContent: "flex-start", - padding: "0.5rem 1.5rem", - gap: "1.5rem", - minHeight: "9rem", + padding: listStyles?.itemContainer?.padding ?? "0.5rem 1.5rem", + gap: listStyles?.itemContainer?.gap ?? "1.5rem", + minHeight: listStyles?.itemContainer?.minHeight ?? "9rem", [theme.breakpoints.down("md")]: { fontSize: "0.75rem", - padding: "0.5rem", - gap: "1rem", + padding: listStyles?.itemContainer?.mobilePadding ?? "0.5rem", + gap: listStyles?.itemContainer?.mobileGap ?? "1rem", "& .MuiChip-labelSmall": { fontSize: "0.75em", @@ -170,21 +199,24 @@ const SessionItemContainer = styled(Stack)(({ theme }) => ({ }, })); -const SessionImageContainer = styled(Stack)({ - alignItems: "center", - justifyContent: "center", - - width: "6rem", - minWidth: "6rem", - maxWidth: "6rem", - height: "6rem", - minHeight: "6rem", - maxHeight: "6rem", +const SessionImageContainer = styled(Stack, { + shouldForwardProp: (prop) => prop !== "listStyles", +})<{ listStyles?: SessionListStyles }>(({ listStyles }) => { + const size = listStyles?.imageContainer?.size ?? "6rem"; + return { + alignItems: "center", + justifyContent: "center", + width: size, + minWidth: size, + maxWidth: size, + height: size, + minHeight: size, + maxHeight: size, + }; }); const SessionImage = styled(FallbackImage)(({ theme }) => ({ border: `1px solid color-mix(in srgb, ${theme.palette.primary.light} 50%, transparent 50%)`, - width: "100%", height: "100%", borderRadius: "50%", @@ -196,7 +228,6 @@ const SessionImageErrorFallbackBox = styled(Box)(({ theme }) => ({ height: "100%", borderRadius: "50%", border: `1px solid color-mix(in srgb, ${theme.palette.primary.light} 50%, transparent 50%)`, - display: "flex", alignItems: "center", justifyContent: "center", @@ -206,10 +237,12 @@ const SessionImageErrorFallback: React.FC<{ fallbackImage?: React.ReactNode }> = {fallbackImage} ); -const SessionTitle = styled(Typography)({ - fontSize: "1.5em", - fontWeight: 600, - lineHeight: 1.25, +const SessionTitle = styled(Typography, { + shouldForwardProp: (prop) => prop !== "listStyles", +})<{ listStyles?: SessionListStyles }>(({ listStyles }) => ({ + fontSize: listStyles?.title?.fontSize ?? "1.5em", + fontWeight: listStyles?.title?.fontWeight ?? 600, + lineHeight: listStyles?.title?.lineHeight ?? 1.25, textDecoration: "none", whiteSpace: "pre-wrap", -}); +})); diff --git a/packages/common/src/components/mdx_components/session_timetable.tsx b/packages/common/src/components/mdx_components/session_timetable.tsx index 0a09976..13f6c54 100644 --- a/packages/common/src/components/mdx_components/session_timetable.tsx +++ b/packages/common/src/components/mdx_components/session_timetable.tsx @@ -15,6 +15,43 @@ const TD_HEIGHT = 4; const TD_WIDTH = 15; const TD_WIDTH_MOBILE = 20; +export type SessionTimeTableStyles = { + layout?: { + tdHeight?: number; + tdWidth?: number; + tdWidthMobile?: number; + }; + dateItemContainer?: { + padding?: string; + }; + dateTitle?: { + fontSize?: string; + fontWeight?: number | string; + lineHeight?: number | string; + }; + dateSubTitle?: { + fontSize?: string; + fontWeight?: number | string; + lineHeight?: number | string; + }; + sessionTitle?: { + fontSize?: string; + fontWeight?: number | string; + lineHeight?: number | string; + }; + sessionBox?: { + padding?: string; + borderRadius?: string; + gap?: string; + }; + tableCell?: { + padding?: string; + }; + tableContainer?: { + gap?: string; + }; +}; + type TimeTableData = { [date: string]: { [time: string]: { @@ -108,24 +145,27 @@ const SessionColumn: React.FC<{ colSpan?: number; session: BackendAPISchemas.SessionSchema; getSessionUrl?: (session: BackendAPISchemas.SessionSchema) => string; -}> = ({ rowSpan, colSpan, session, getSessionUrl }) => { + styles?: SessionTimeTableStyles; +}> = ({ rowSpan, colSpan, session, getSessionUrl, styles }) => { const clickable = R.isArray(session.speakers) && !R.isEmpty(session.speakers); // Firefox는 rowSpan된 td의 height를 계산할 때 rowSpan을 고려하지 않습니다. 따라서 직접 계산하여 height를 설정합니다. - const sessionBoxHeight = `${TD_HEIGHT * rowSpan}rem`; + const tdHeight = styles?.layout?.tdHeight ?? TD_HEIGHT; + const sessionBoxHeight = `${tdHeight * rowSpan}rem`; const urlSafeTitle = session.title .replace(/ /g, "-") .replace(/([.])/g, "_") .replace(/(?![.0-9A-Za-zㄱ-ㅣ가-힣-])./g, ""); const sessionUrl = getSessionUrl ? getSessionUrl(session) : `/presentations/${session.id}#${urlSafeTitle}`; return ( - + {clickable ? ( - + - + {session.speakers.map((speaker) => ( @@ -135,9 +175,10 @@ const SessionColumn: React.FC<{ ) : ( - + {session.speakers.map((speaker) => ( @@ -158,11 +199,12 @@ type SessionTimeTablePropType = { event?: string; types?: string | string[]; getSessionUrl?: (session: BackendAPISchemas.SessionSchema) => string; + styles?: SessionTimeTableStyles; }; export const SessionTimeTable: React.FC = ErrorBoundary.with( { fallback: ErrorFallback }, - Suspense.with({ fallback: } /> }, ({ event, types, getSessionUrl }) => { + Suspense.with({ fallback: } /> }, ({ event, types, getSessionUrl, styles }) => { const [confDate, setConfDate] = React.useState(""); const { language } = Hooks.Common.useCommonContext(); @@ -195,21 +237,21 @@ export const SessionTimeTable: React.FC = ErrorBoundar const dateStr = DateTime.fromISO(date).setLocale(language).toLocaleString({ weekday: "long", month: "long", day: "numeric" }); return ( ); })} - - + + - + {sortedRoomList.map((room) => ( - + = ErrorBoundar ))} - } /> {/* dummy first row */} + } /> {/* dummy first row */} {Object.entries(selectedTableData).map(([time, roomData], i, a) => { const hasSession = Object.values(rooms).some((c) => c >= 1) || Object.values(roomData).some((room) => room !== undefined); @@ -235,13 +277,15 @@ export const SessionTimeTable: React.FC = ErrorBoundar breakCount += 1; } + const tdHeight = styles?.layout?.tdHeight ?? TD_HEIGHT; // I really hate this, but I can't think of a better way to do this. - const height = (TD_HEIGHT * breakCount) / (breakCount <= 2 ? 1 : 3); + const height = (tdHeight * breakCount) / (breakCount <= 2 ? 1 : 3); const isLast = i === a.length - 1; const duration = breakCount * 10; // 10 minutes per row return ( = ErrorBoundar {time} = ErrorBoundar Object.keys(rooms).forEach((room) => (rooms[room] = firstSessionInfo.rowSpan - 1)); return ( - - + + ); } return ( - + {sortedRoomList.map((room) => { const roomDatum = roomData[room]; if (roomDatum === undefined) { // 진행 중인 세션이 없는 경우, 해당 줄에서는 해당 room의 빈 column을 생성합니다. - if (rooms[room] <= 0) return ; + if (rooms[room] <= 0) return ; // 진행 중인 세션이 있는 경우, 이번 줄에서는 해당 세션들만큼 column을 생성하지 않습니다. rooms[room] -= 1; return null; } // 세션이 여러 줄에 걸쳐있는 경우, n-1 줄만큼 해당 room에 column을 생성하지 않도록 합니다. if (roomDatum.rowSpan > 1) rooms[room] = roomDatum.rowSpan - 1; - return ; + return ; })} ); @@ -309,82 +354,91 @@ export const SessionTimeTable: React.FC = ErrorBoundar }) ); -const SessionDateItemContainer = styled(Stack)({ +const SessionDateItemContainer = styled(Stack, { + shouldForwardProp: (prop) => prop !== "tableStyles", +})<{ tableStyles?: SessionTimeTableStyles }>(({ tableStyles }) => ({ alignItems: "center", justifyContent: "center", - padding: "1rem 3rem", -}); + padding: tableStyles?.dateItemContainer?.padding ?? "1rem 3rem", +})); -const SessionDateTitle = styled(Typography)<{ isSelected: boolean }>(({ theme, isSelected }) => ({ - fontSize: "2.25em", - fontWeight: 600, - lineHeight: 1.25, +const SessionDateTitle = styled(Typography, { + shouldForwardProp: (prop) => prop !== "isSelected" && prop !== "tableStyles", +})<{ isSelected: boolean; tableStyles?: SessionTimeTableStyles }>(({ theme, isSelected, tableStyles }) => ({ + fontSize: tableStyles?.dateTitle?.fontSize ?? "2.25em", + fontWeight: tableStyles?.dateTitle?.fontWeight ?? 600, + lineHeight: tableStyles?.dateTitle?.lineHeight ?? 1.25, textDecoration: "none", whiteSpace: "pre-wrap", color: isSelected ? theme.palette.primary.main : theme.palette.primary.light, })); -const SessionDateSubTitle = styled(Typography)<{ isSelected: boolean }>(({ theme, isSelected }) => ({ - fontSize: "1em", - fontWeight: 600, - lineHeight: 1.25, +const SessionDateSubTitle = styled(Typography, { + shouldForwardProp: (prop) => prop !== "isSelected" && prop !== "tableStyles", +})<{ isSelected: boolean; tableStyles?: SessionTimeTableStyles }>(({ theme, isSelected, tableStyles }) => ({ + fontSize: tableStyles?.dateSubTitle?.fontSize ?? "1em", + fontWeight: tableStyles?.dateSubTitle?.fontWeight ?? 600, + lineHeight: tableStyles?.dateSubTitle?.lineHeight ?? 1.25, textDecoration: "none", whiteSpace: "pre-wrap", color: isSelected ? theme.palette.primary.main : theme.palette.primary.light, })); -const SessionTitle = styled(Typography)({ - fontSize: "1.125em", - fontWeight: 600, - lineHeight: 1.25, +const SessionTitle = styled(Typography, { + shouldForwardProp: (prop) => prop !== "tableStyles", +})<{ tableStyles?: SessionTimeTableStyles }>(({ tableStyles }) => ({ + fontSize: tableStyles?.sessionTitle?.fontSize ?? "1.125em", + fontWeight: tableStyles?.sessionTitle?.fontWeight ?? 600, + lineHeight: tableStyles?.sessionTitle?.lineHeight ?? 1.25, textDecoration: "none", whiteSpace: "pre-wrap", -}); - -const SessionTable = styled(Table)({ - width: "100%", - maxWidth: "60rem", - alignItems: "center", - justifyContent: "center", - gap: "1rem", - flex: 1, - - "*": { - textAlign: "center", - }, - - "tbody > th": { - border: "unset", - }, +})); - "tr:first-child td": { - borderTop: "unset", - transform: "unset", - height: `${TD_HEIGHT / 2}rem`, - }, +const SessionTable = styled(Table, { + shouldForwardProp: (prop) => prop !== "tableStyles", +})<{ tableStyles?: SessionTimeTableStyles }>(({ tableStyles }) => { + const tdHeight = tableStyles?.layout?.tdHeight ?? TD_HEIGHT; + const tdWidth = tableStyles?.layout?.tdWidth ?? TD_WIDTH; + const tdWidthMobile = tableStyles?.layout?.tdWidthMobile ?? TD_WIDTH_MOBILE; + + return { + width: "100%", + maxWidth: "60rem", + alignItems: "center", + justifyContent: "center", + gap: "1rem", + flex: 1, + + "*": { textAlign: "center" }, + "tbody > th": { border: "unset" }, + + "tr:first-child td": { + borderTop: "unset", + transform: "unset", + height: `${tdHeight / 2}rem`, + }, - td: { - height: `${TD_HEIGHT}rem`, - }, + td: { height: `${tdHeight}rem` }, - "td:first-child": { - borderTop: "unset", - transform: `translateY(-${TD_HEIGHT / 2}rem)`, - width: "1.5rem", - }, - - "td:not(:first-child)": { - width: `${TD_WIDTH}vw`, - maxWidth: `${TD_WIDTH}vw`, - borderTop: `1px solid rgba(255, 255, 255, 0.1)`, - }, + "td:first-child": { + borderTop: "unset", + transform: `translateY(-${tdHeight / 2}rem)`, + width: "1.5rem", + }, - "@media only screen and (max-width: 810px)": { "td:not(:first-child)": { - width: `${TD_WIDTH_MOBILE}vw`, - maxWidth: `${TD_WIDTH_MOBILE}vw`, + width: `${tdWidth}vw`, + maxWidth: `${tdWidth}vw`, + borderTop: `1px solid rgba(255, 255, 255, 0.1)`, }, - }, + + "@media only screen and (max-width: 810px)": { + "td:not(:first-child)": { + width: `${tdWidthMobile}vw`, + maxWidth: `${tdWidthMobile}vw`, + }, + }, + }; }); const SessionTableBody = styled(TableBody)({ @@ -396,29 +450,30 @@ const SessionTableRow = styled(TableRow)({ justifyContent: "center", }); -const SessionTableCell = styled(TableCell)({ - padding: "0 0.5rem", +const SessionTableCell = styled(TableCell, { + shouldForwardProp: (prop) => prop !== "tableStyles", +})<{ tableStyles?: SessionTimeTableStyles }>(({ tableStyles }) => ({ + padding: tableStyles?.tableCell?.padding ?? "0 0.5rem", alignItems: "center", justifyContent: "center", border: "unset", -}); +})); -const SessionBox = styled(Stack)(({ theme }) => ({ +const SessionBox = styled(Stack, { + shouldForwardProp: (prop) => prop !== "tableStyles", +})<{ tableStyles?: SessionTimeTableStyles }>(({ theme, tableStyles }) => ({ height: "100%", - padding: "0.25rem", + padding: tableStyles?.sessionBox?.padding ?? "0.25rem", flexDirection: "column", justifyContent: "center", alignItems: "center", border: `1px solid color-mix(in srgb, ${theme.palette.primary.light} 50%, transparent 50%)`, - borderRadius: "0.5rem", - + borderRadius: tableStyles?.sessionBox?.borderRadius ?? "0.5rem", backgroundColor: `${theme.palette.primary.light}1A`, transition: "all 0.25s ease", - gap: "0.5rem", + gap: tableStyles?.sessionBox?.gap ?? "0.5rem", - "&.clickable": { - cursor: "pointer", - }, + "&.clickable": { cursor: "pointer" }, h6: { margin: 0, @@ -466,10 +521,12 @@ const SessionBox = styled(Stack)(({ theme }) => ({ }, })); -const SessionTableContainer = styled(Stack)({ +const SessionTableContainer = styled(Stack, { + shouldForwardProp: (prop) => prop !== "tableStyles", +})<{ tableStyles?: SessionTimeTableStyles }>(({ tableStyles }) => ({ flexDirection: "column", alignItems: "center", justifyContent: "center", - gap: "1rem", + gap: tableStyles?.tableContainer?.gap ?? "1rem", flex: 1, -}); +})); diff --git a/packages/common/src/components/mdx_components/styled_full_width_button.tsx b/packages/common/src/components/mdx_components/styled_full_width_button.tsx index 8272ce2..36049aa 100644 --- a/packages/common/src/components/mdx_components/styled_full_width_button.tsx +++ b/packages/common/src/components/mdx_components/styled_full_width_button.tsx @@ -4,13 +4,20 @@ import * as R from "remeda"; import { LinkHandler } from "../link_handler"; +export type StyledFullWidthButtonStyles = { + borderRadius?: string; + textTransform?: React.CSSProperties["textTransform"]; + largeHeight?: string; +}; + type StyledFullWidthButtonPropType = ButtonProps & { link?: string; setBackgroundColor?: boolean; transparency: number; + styles?: StyledFullWidthButtonStyles; }; -export const StyledFullWidthButton: React.FC = ({ link, setBackgroundColor, transparency, ...props }) => { +export const StyledFullWidthButton: React.FC = ({ link, setBackgroundColor, transparency, styles, ...props }) => { let children = props.children; if (React.isValidElement(children) && R.isString((children.props as { children: unknown }).children)) children = (children.props as { children: unknown }).children as string; @@ -21,8 +28,8 @@ export const StyledFullWidthButton: React.FC = ({ fullWidth variant="outlined" sx={({ palette }) => ({ - borderRadius: "0.5rem", - textTransform: "none", + borderRadius: styles?.borderRadius ?? "0.5rem", + textTransform: styles?.textTransform ?? "none", color: palette.primary.dark, borderColor: palette.primary.dark, backgroundColor: setBackgroundColor ? `color-mix(in srgb, ${palette.primary.light} ${transparency || 10}%, transparent)` : "transparent", @@ -31,7 +38,7 @@ export const StyledFullWidthButton: React.FC = ({ ? `color-mix(in srgb, ${palette.primary.light} ${transparency || 20}%, transparent)` : `color-mix(in srgb, ${palette.primary.light} ${transparency || 10}%, transparent)`, }, - "&.MuiButton-sizeLarge": { height: "3.5rem" }, + "&.MuiButton-sizeLarge": { height: styles?.largeHeight ?? "3.5rem" }, })} {...props} children={children}