@owp/core 2.5.8 → 2.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/_virtual/index16.js +4 -4
  2. package/dist/_virtual/index17.js +4 -4
  3. package/dist/_virtual/index18.js +4 -4
  4. package/dist/_virtual/index19.js +4 -4
  5. package/dist/components/OwpDialog/OwpDialog.js +67 -46
  6. package/dist/components/OwpDialog/OwpDialog.js.map +1 -1
  7. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js +162 -153
  8. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js.map +1 -1
  9. package/dist/components/OwpTable/OwpDataTable.js +297 -283
  10. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  11. package/dist/components/OwpTable/OwpFieldTable.js +98 -86
  12. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
  13. package/dist/components/OwpTable/OwpTable.js +145 -127
  14. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  15. package/dist/components/OwpTable/internal/defaultTableStyle.js +21 -15
  16. package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
  17. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +195 -147
  18. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  19. package/dist/constants/tableTheme.js.map +1 -1
  20. package/dist/features/themePreview/components/ThemePreviewCanvas.js +300 -263
  21. package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
  22. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js +148 -141
  23. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -1
  24. package/dist/features/themePreview/components/ThemePreviewColorField.js +168 -138
  25. package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -1
  26. package/dist/features/themePreview/components/ThemePreviewControls.js +410 -218
  27. package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -1
  28. package/dist/features/themePreview/components/themePreviewCanvas.shared.js +145 -125
  29. package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -1
  30. package/dist/features/themePreview/configs/table.js +4 -2
  31. package/dist/features/themePreview/configs/table.js.map +1 -1
  32. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +124 -118
  33. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -1
  34. package/dist/features/themePreview/hooks/useThemePreview.js +275 -193
  35. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
  36. package/dist/features/themePreview/utils/themePreviewDefinitions.js +8 -0
  37. package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -1
  38. package/dist/features/themePreview/utils/themePreviewSettings.js +188 -151
  39. package/dist/features/themePreview/utils/themePreviewSettings.js.map +1 -1
  40. package/dist/features/themePreview.js +18 -17
  41. package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
  42. package/dist/layout/components/toolbar/ToolbarLayout.js +36 -35
  43. package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
  44. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestartAltOutlined.js +9 -0
  45. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestartAltOutlined.js.map +1 -0
  46. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  47. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
  48. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  49. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  50. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  51. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  52. package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js +1 -1
  53. package/dist/owp-app.css +1 -1
  54. package/dist/types/components/OwpDialog/OwpDialog.d.ts +2 -0
  55. package/dist/types/components/OwpTable/OwpFieldTable.d.ts +3 -2
  56. package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +2 -0
  57. package/dist/types/constants/tableTheme.d.ts +1 -0
  58. package/dist/types/features/themePreview/components/ThemePreviewColorField.d.ts +3 -1
  59. package/dist/types/features/themePreview/components/ThemePreviewControls.d.ts +4 -1
  60. package/dist/types/features/themePreview/configs/settings.d.ts +2 -0
  61. package/dist/types/features/themePreview/configs/table.d.ts +2 -0
  62. package/dist/types/features/themePreview/hooks/useThemePreview.d.ts +3 -0
  63. package/dist/types/features/themePreview/utils/index.d.ts +1 -1
  64. package/dist/types/features/themePreview/utils/themePreviewSettings.d.ts +11 -1
  65. package/dist/types/types/OwpTableThemeTypes.d.ts +8 -0
  66. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ThemePreviewCanvas.js","sources":["../../../../src/features/themePreview/components/ThemePreviewCanvas.tsx"],"sourcesContent":["import {\n defaultSnackbarProviderProps,\n defaultSnackbarTheme,\n snackbarVariantKeys,\n} from '@/features/themePreview/configs/snackbar';\nimport {\n defaultTableTheme,\n type ThemePreviewTableConfigType,\n} from '@/features/themePreview/configs/table';\nimport KeyboardArrowUpRoundedIcon from '@mui/icons-material/KeyboardArrowUpRounded';\nimport MenuRoundedIcon from '@mui/icons-material/MenuRounded';\nimport NavigateNextIcon from '@mui/icons-material/NavigateNext';\nimport SearchIcon from '@mui/icons-material/Search';\nimport SpaceDashboardOutlinedIcon from '@mui/icons-material/SpaceDashboardOutlined';\nimport { CircularProgress, Typography } from '@mui/material';\nimport { alpha, darken } from '@mui/material/styles';\nimport dayjs from 'dayjs';\nimport { merge } from 'es-toolkit/compat';\nimport { closeSnackbar, type SnackbarKey } from 'notistack';\nimport { Fragment, useEffect, useMemo, useRef } from 'react';\nimport type {\n ThemePreviewSectionKey,\n ThemePreviewSettings,\n} from '../types';\nimport {\n createThemePreviewVersionKey,\n getPaletteValue,\n getPreviewContrastColor,\n getPreviewSectionOrder,\n getThemePreviewStyleValue,\n gridPreviewBodyBackground,\n gridPreviewBodyText,\n navbarPreviewItems,\n previewChromeBorder,\n snackbarPreviewMessageByVariant,\n themePreviewEditableTreeGridId,\n themePreviewReadonlyTreeGridId,\n} from './themePreviewCanvas.shared';\nimport {\n ThemePreviewButtonsSection,\n ThemePreviewGridPreviewTable,\n ThemePreviewGridSection,\n ThemePreviewSearchHeaderSection,\n ThemePreviewSnackbarsSection,\n ThemePreviewTablesSection,\n} from './ThemePreviewCanvasSections';\nimport { snackbarPreviewIconByVariant } from './themePreviewCanvas.icons';\n\ninterface ThemePreviewCanvasProps {\n activeSection: ThemePreviewSectionKey;\n isLoading?: boolean;\n settings: ThemePreviewSettings;\n}\n\nexport function ThemePreviewCanvas({\n activeSection,\n isLoading = false,\n settings,\n}: ThemePreviewCanvasProps) {\n const previewSnackbarKeysRef = useRef<SnackbarKey[]>([]);\n const tablePreviewCanTableRadiusZero = false;\n const tableTheme = useMemo(\n () =>\n merge(\n {},\n defaultTableTheme,\n settings.theme.main.table as ThemePreviewTableConfigType | undefined,\n ) as ThemePreviewTableConfigType,\n [settings.theme.main.table],\n );\n\n const toolbarMode = settings.theme.toolbar.palette.mode;\n const toolbarBackground = getPaletteValue(settings, 'toolbar', 'background.default');\n const toolbarPaper = getPaletteValue(settings, 'toolbar', 'background.paper');\n const toolbarText = getPaletteValue(settings, 'toolbar', 'text.primary');\n const toolbarDivider = getPaletteValue(settings, 'toolbar', 'divider');\n const toolbarWhite = getPaletteValue(settings, 'toolbar', 'common.white');\n const toolbarBlack = getPaletteValue(settings, 'toolbar', 'common.black');\n const toolbarButtonBackground = alpha(toolbarWhite, toolbarMode === 'dark' ? 0.06 : 0.78);\n const toolbarButtonBorder = alpha(toolbarWhite, toolbarMode === 'dark' ? 0.1 : 0.62);\n const toolbarButtonHighlight = alpha(toolbarWhite, toolbarMode === 'dark' ? 0.05 : 0.54);\n\n const navbarMode = settings.theme.navbar.palette.mode;\n const navbarBackground = getPaletteValue(settings, 'navbar', 'background.default');\n const navbarDivider = getPaletteValue(settings, 'navbar', 'divider') || previewChromeBorder;\n const navbarText = getPaletteValue(settings, 'navbar', 'text.primary');\n const navbarTextSecondary = getPaletteValue(settings, 'navbar', 'text.secondary');\n const navbarPrimary = getPaletteValue(settings, 'navbar', 'primary.main');\n const navbarSecondary = getPaletteValue(settings, 'navbar', 'secondary.main');\n const navbarHeaderForeground = getPreviewContrastColor(\n navbarBackground,\n navbarText || '#111827',\n );\n const navbarHeaderSecondary = alpha(navbarHeaderForeground, navbarMode === 'dark' ? 0.72 : 0.64);\n const navbarSurfaceButtonBackground = alpha(\n navbarPrimary,\n navbarMode === 'dark' ? 0.2 : 0.12,\n );\n const navbarSurfaceButtonBorder = alpha(navbarPrimary, navbarMode === 'dark' ? 0.42 : 0.28);\n const navbarHeaderIconColor = navbarPrimary;\n const navbarInactiveText =\n navbarTextSecondary || alpha(navbarText, navbarMode === 'dark' ? 0.78 : 0.72);\n const navbarActiveBackground = alpha(navbarSecondary, navbarMode === 'dark' ? 0.22 : 0.12);\n const navbarUserAvatarBackground = darken(navbarBackground, navbarMode === 'dark' ? 0.08 : 0.05);\n const navbarUserAvatarText =\n navbarTextSecondary || alpha(navbarText, navbarMode === 'dark' ? 0.78 : 0.62);\n\n const mainBackground = getPaletteValue(settings, 'main', 'background.default');\n const mainPaper = getPaletteValue(settings, 'main', 'background.paper');\n const mainText = getPaletteValue(settings, 'main', 'text.primary');\n const mainTextSecondary = getPaletteValue(settings, 'main', 'text.secondary');\n const mainPrimary = getPaletteValue(settings, 'main', 'primary.main');\n const mainPrimaryContrast = getPaletteValue(settings, 'main', 'primary.contrastText');\n const mainSecondary = getPaletteValue(settings, 'main', 'secondary.main');\n const mainSecondaryContrast = getPaletteValue(settings, 'main', 'secondary.contrastText');\n const mainSuccess = getPaletteValue(settings, 'main', 'success.main');\n const mainSuccessContrast = getPaletteValue(settings, 'main', 'success.contrastText');\n const mainInfo = getPaletteValue(settings, 'main', 'info.main');\n const mainInfoContrast = getPaletteValue(settings, 'main', 'info.contrastText');\n const mainWarning = getPaletteValue(settings, 'main', 'warning.main');\n const mainWarningContrast = getPaletteValue(settings, 'main', 'warning.contrastText');\n const mainError = getPaletteValue(settings, 'main', 'error.main');\n const mainErrorContrast = getPaletteValue(settings, 'main', 'error.contrastText');\n const mainGrid = settings.theme.main.grid;\n\n const gridThemePreviewVersionKey = createThemePreviewVersionKey(mainGrid);\n const tableThemePreviewVersionKey = createThemePreviewVersionKey(settings.theme.main.table);\n const searchHeaderPreviewVersionKey = createThemePreviewVersionKey({\n palette: settings.theme.main.palette ?? {},\n table: settings.theme.main.table ?? {},\n });\n\n const editableThemePreviewGridId = `${themePreviewEditableTreeGridId}-${gridThemePreviewVersionKey}`;\n const readonlyThemePreviewGridId = `${themePreviewReadonlyTreeGridId}-${gridThemePreviewVersionKey}`;\n const layoutPreviewGridHeaderBackground = '#586980';\n const layoutPreviewGridHeaderColor = '#ffffff';\n const layoutPreviewGridHeaderFontSize = '14px';\n const layoutPreviewGridCellFontSize = '13px';\n const layoutPreviewGridCellBackground =\n mainGrid?.body?.backgroundColor ?? gridPreviewBodyBackground;\n const layoutPreviewGridHeaderBorder = alpha(layoutPreviewGridHeaderColor, 0.22);\n const gridBodyBorder = alpha(gridPreviewBodyText, 0.14);\n\n const mainThemePreviewSettings = useMemo(\n () => ({\n ...settings,\n theme: {\n ...settings.theme,\n navbar: settings.theme.main,\n toolbar: settings.theme.main,\n },\n }),\n [settings],\n );\n const mainThemePreviewStoreKey = createThemePreviewVersionKey(\n mainThemePreviewSettings.theme.main,\n );\n const mainThemePreviewStoreState = useMemo(\n () =>\n ({\n owpSettings: {\n current: mainThemePreviewSettings,\n defaults: mainThemePreviewSettings,\n initial: mainThemePreviewSettings,\n },\n }) as const,\n [mainThemePreviewSettings],\n );\n\n const searchHeaderPreviewDate = dayjs().format('YYYY-MM-DD');\n const searchHeaderPreviewNumber = useMemo(\n () => `OWP-${searchHeaderPreviewDate.replace(/-/g, '')}-001`,\n [searchHeaderPreviewDate],\n );\n\n const previewSectionCardSx = useMemo(\n () => ({\n backgroundColor: mainPaper,\n border: `1px solid ${previewChromeBorder}`,\n }),\n [mainPaper],\n );\n const toolbarPreviewButtonStyle = useMemo(\n () => ({\n backgroundColor: toolbarButtonBackground,\n borderColor: toolbarButtonBorder,\n boxShadow: `inset 0 1px 0 ${toolbarButtonHighlight}`,\n }),\n [toolbarButtonBackground, toolbarButtonBorder, toolbarButtonHighlight],\n );\n const navbarPreviewButtonStyle = useMemo(\n () => ({\n backgroundColor: navbarSurfaceButtonBackground,\n borderColor: navbarSurfaceButtonBorder,\n }),\n [navbarSurfaceButtonBackground, navbarSurfaceButtonBorder],\n );\n const buttonPreviewItems = useMemo(\n () =>\n [\n { label: 'primary', color: mainPrimary, contrastColor: mainPrimaryContrast },\n { label: 'secondary', color: mainSecondary, contrastColor: mainSecondaryContrast },\n { label: 'info', color: mainInfo, contrastColor: mainInfoContrast },\n { label: 'warning', color: mainWarning, contrastColor: mainWarningContrast },\n { label: 'error', color: mainError, contrastColor: mainErrorContrast },\n { label: 'success', color: mainSuccess, contrastColor: mainSuccessContrast },\n ].map((item) => ({\n ...item,\n previewContrastColor:\n item.label === 'error' || item.label === 'success'\n ? getPreviewContrastColor(item.color, item.contrastColor)\n : item.contrastColor,\n })),\n [\n mainError,\n mainErrorContrast,\n mainInfo,\n mainInfoContrast,\n mainPrimary,\n mainPrimaryContrast,\n mainSecondary,\n mainSecondaryContrast,\n mainSuccess,\n mainSuccessContrast,\n mainWarning,\n mainWarningContrast,\n ],\n );\n\n const snackbarTheme = settings.snackbar ?? defaultSnackbarTheme;\n const snackbarProviderProps = useMemo(\n () => merge({}, defaultSnackbarProviderProps, settings.snackbarProviderProps),\n [settings.snackbarProviderProps],\n );\n const snackbarPreviewAnchorHorizontal =\n snackbarProviderProps.anchorOrigin?.horizontal ??\n defaultSnackbarProviderProps.anchorOrigin.horizontal;\n const snackbarPreviewAnchorVertical =\n snackbarProviderProps.anchorOrigin?.vertical ??\n defaultSnackbarProviderProps.anchorOrigin.vertical;\n const snackbarPreviewMaxSnack =\n snackbarProviderProps.maxSnack ?? defaultSnackbarProviderProps.maxSnack;\n const snackbarPreviewFontSize = getThemePreviewStyleValue(snackbarProviderProps.style?.fontSize);\n const snackbarPreviewLineHeight = getThemePreviewStyleValue(\n snackbarProviderProps.style?.lineHeight,\n );\n const snackbarPreviewItems = useMemo(\n () =>\n snackbarVariantKeys.map((variantKey) => {\n const snackbarVariantTheme = snackbarTheme[variantKey];\n\n return {\n actionHoverColor: alpha(\n snackbarVariantTheme.color,\n variantKey === 'default' ? 0.18 : 0.16,\n ),\n backgroundColor: snackbarVariantTheme.backgroundColor,\n color: snackbarVariantTheme.color,\n icon: snackbarPreviewIconByVariant[variantKey],\n key: variantKey,\n message: snackbarPreviewMessageByVariant[variantKey],\n };\n }),\n [snackbarTheme],\n );\n\n const orderedPreviewSectionKeys = useMemo(\n () => getPreviewSectionOrder(activeSection),\n [activeSection],\n );\n const previewSectionMountKeyBySection = useMemo(\n () =>\n ({\n buttons: createThemePreviewVersionKey({\n error: mainError,\n info: mainInfo,\n primary: mainPrimary,\n secondary: mainSecondary,\n success: mainSuccess,\n warning: mainWarning,\n }),\n grid: `${mainThemePreviewStoreKey}-${gridThemePreviewVersionKey}`,\n searchHeader: searchHeaderPreviewVersionKey,\n snackbars: createThemePreviewVersionKey({\n provider: settings.snackbarProviderProps,\n snackbar: settings.snackbar,\n }),\n tables: tableThemePreviewVersionKey,\n }) as const,\n [\n gridThemePreviewVersionKey,\n mainError,\n mainInfo,\n mainPrimary,\n mainSecondary,\n mainSuccess,\n mainThemePreviewStoreKey,\n mainWarning,\n searchHeaderPreviewVersionKey,\n settings.snackbar,\n settings.snackbarProviderProps,\n tableThemePreviewVersionKey,\n ],\n );\n const gridPreviewTable = useMemo(\n () => (\n <ThemePreviewGridPreviewTable\n gridBodyBorder={gridBodyBorder}\n layoutPreviewGridCellBackground={layoutPreviewGridCellBackground}\n layoutPreviewGridCellFontSize={layoutPreviewGridCellFontSize}\n layoutPreviewGridHeaderBackground={layoutPreviewGridHeaderBackground}\n layoutPreviewGridHeaderBorder={layoutPreviewGridHeaderBorder}\n layoutPreviewGridHeaderColor={layoutPreviewGridHeaderColor}\n layoutPreviewGridHeaderFontSize={layoutPreviewGridHeaderFontSize}\n />\n ),\n [\n gridBodyBorder,\n layoutPreviewGridCellBackground,\n layoutPreviewGridCellFontSize,\n layoutPreviewGridHeaderBackground,\n layoutPreviewGridHeaderBorder,\n layoutPreviewGridHeaderColor,\n layoutPreviewGridHeaderFontSize,\n ],\n );\n\n useEffect(() => {\n return () => {\n previewSnackbarKeysRef.current.forEach((snackbarKey) => {\n closeSnackbar(snackbarKey);\n });\n previewSnackbarKeysRef.current = [];\n };\n }, []);\n\n const renderPreviewSection = (sectionKey: keyof typeof previewSectionMountKeyBySection) => {\n switch (sectionKey) {\n case 'buttons':\n return (\n <ThemePreviewButtonsSection\n buttonPreviewItems={buttonPreviewItems}\n mainTextSecondary={mainTextSecondary}\n previewSectionCardSx={previewSectionCardSx}\n />\n );\n case 'snackbars':\n return (\n <ThemePreviewSnackbarsSection\n previewSectionCardSx={previewSectionCardSx}\n previewSnackbarKeysRef={previewSnackbarKeysRef}\n snackbarAnchorOrigin={snackbarProviderProps.anchorOrigin}\n snackbarAutoHideDuration={snackbarProviderProps.autoHideDuration}\n snackbarPreviewAnchorHorizontal={snackbarPreviewAnchorHorizontal}\n snackbarPreviewAnchorVertical={snackbarPreviewAnchorVertical}\n snackbarPreviewFontSize={snackbarPreviewFontSize}\n snackbarPreviewItems={snackbarPreviewItems}\n snackbarPreviewLineHeight={snackbarPreviewLineHeight}\n snackbarPreviewMaxSnack={snackbarPreviewMaxSnack}\n />\n );\n case 'searchHeader':\n return (\n <ThemePreviewSearchHeaderSection\n gridPreviewTable={gridPreviewTable}\n mainBackground={mainBackground}\n mainPaper={mainPaper}\n mainText={mainText}\n mainThemePreviewStoreState={mainThemePreviewStoreState}\n previewSectionCardSx={previewSectionCardSx}\n searchHeaderPreviewDate={searchHeaderPreviewDate}\n searchHeaderPreviewNumber={searchHeaderPreviewNumber}\n searchHeaderPreviewVersionKey={searchHeaderPreviewVersionKey}\n tablePreviewCanTableRadiusZero={tablePreviewCanTableRadiusZero}\n tableTheme={tableTheme}\n tableThemePreviewVersionKey={tableThemePreviewVersionKey}\n />\n );\n case 'grid':\n return (\n <ThemePreviewGridSection\n editableThemePreviewGridId={editableThemePreviewGridId}\n mainGridChangedBackgroundColor={mainGrid?.changed?.backgroundColor}\n mainThemePreviewStoreKey={mainThemePreviewStoreKey}\n mainThemePreviewStoreState={mainThemePreviewStoreState}\n previewSectionCardSx={previewSectionCardSx}\n readonlyThemePreviewGridId={readonlyThemePreviewGridId}\n />\n );\n case 'tables':\n return (\n <ThemePreviewTablesSection\n mainThemePreviewStoreState={mainThemePreviewStoreState}\n previewSectionCardSx={previewSectionCardSx}\n tablePreviewCanTableRadiusZero={tablePreviewCanTableRadiusZero}\n tableTheme={tableTheme}\n tableThemePreviewVersionKey={tableThemePreviewVersionKey}\n />\n );\n default:\n return null;\n }\n };\n\n return (\n <div className=\"flex h-full min-h-0 flex-col\">\n <div\n className=\"grid min-h-0 flex-1 grid-cols-[224px_minmax(0,1fr)] grid-rows-[76px_minmax(0,1fr)] overflow-hidden rounded-lg border border-solid\"\n style={{\n backgroundColor: mainBackground,\n borderColor: previewChromeBorder,\n }}\n >\n <div\n className=\"col-span-2 relative flex items-center justify-between px-20\"\n style={{\n backgroundColor: toolbarBackground,\n backgroundImage: `linear-gradient(180deg, ${toolbarBackground} 0%, ${toolbarPaper} 100%)`,\n borderBottom: `1px solid ${toolbarDivider}`,\n boxShadow: `inset 0 1px 0 ${alpha(toolbarWhite, toolbarMode === 'dark' ? 0.06 : 0.82)}, 0 4px 16px ${alpha(toolbarBlack, toolbarMode === 'dark' ? 0.18 : 0.05)}`,\n color: toolbarText,\n }}\n >\n <div className=\"flex items-center gap-12\">\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"flex items-center gap-2\"\n style={{\n color: alpha(toolbarText, toolbarMode === 'dark' ? 0.72 : 0.64),\n }}\n >\n <Typography variant=\"caption\">OWP</Typography>\n <NavigateNextIcon sx={{ fontSize: 18 }} />\n <Typography variant=\"caption\">Theme Preview</Typography>\n </div>\n <Typography variant=\"subtitle1\" fontWeight={700}>\n Toolbar\n </Typography>\n </div>\n </div>\n <div className=\"pointer-events-none absolute left-1/2 top-1/2 flex w-full max-w-[520px] -translate-x-1/2 -translate-y-1/2 justify-center px-12 text-center\">\n <Typography\n variant=\"body2\"\n sx={{\n color: alpha(toolbarText, toolbarMode === 'dark' ? 0.92 : 0.84),\n fontSize: 13,\n fontWeight: 700,\n }}\n >\n 로그인 화면 배경색은 Toolbar{' '}\n <NavigateNextIcon sx={{ mx: 0.25, fontSize: 18, verticalAlign: 'middle' }} />{' '}\n Background Default 색상을 따라갑니다.\n </Typography>\n </div>\n <div className=\"flex items-center gap-8\">\n {[SearchIcon, SpaceDashboardOutlinedIcon].map((IconComponent, index) => (\n <div\n key={`${index}`}\n className=\"flex h-32 w-32 items-center justify-center rounded-[10px] border border-solid\"\n style={toolbarPreviewButtonStyle}\n >\n <IconComponent sx={{ color: toolbarText, fontSize: 18 }} />\n </div>\n ))}\n </div>\n </div>\n\n <div\n className=\"flex min-h-0 flex-col\"\n style={{\n backgroundColor: navbarBackground,\n borderRight: `1px solid ${navbarDivider}`,\n color: navbarText,\n }}\n >\n <div\n className=\"flex items-center justify-between gap-8 px-16 py-14\"\n style={{\n borderBottom: `1px solid ${navbarDivider}`,\n }}\n >\n <div className=\"flex items-center gap-10\">\n <div className=\"flex flex-col gap-2\">\n <Typography\n variant=\"subtitle2\"\n fontWeight={700}\n sx={{\n color: navbarHeaderForeground,\n }}\n >\n Navbar\n </Typography>\n <Typography variant=\"caption\" sx={{ color: navbarHeaderSecondary }}>\n Navigation\n </Typography>\n </div>\n </div>\n <div\n className=\"flex h-28 w-28 items-center justify-center rounded-[10px] border border-solid\"\n style={navbarPreviewButtonStyle}\n >\n <MenuRoundedIcon sx={{ color: navbarHeaderIconColor, fontSize: 16 }} />\n </div>\n </div>\n\n <div className=\"flex flex-1 flex-col gap-4 px-10 py-10\">\n {navbarPreviewItems.map((label, index) => {\n const isActive = index === 1;\n\n return (\n <div\n key={label}\n className=\"rounded-lg px-12 py-10\"\n style={{\n backgroundColor: isActive ? navbarActiveBackground : 'transparent',\n color: isActive ? navbarSecondary : navbarInactiveText,\n }}\n >\n <Typography variant=\"body2\" fontWeight={isActive ? 700 : 500}>\n {label}\n </Typography>\n </div>\n );\n })}\n </div>\n\n <div\n className=\"px-12 py-12\"\n style={{\n borderTop: `1px solid ${navbarDivider}`,\n }}\n >\n <div\n className=\"flex min-h-[56px] items-center gap-12 rounded-lg px-8 py-8\"\n style={{ color: navbarText }}\n >\n <div\n className=\"flex h-36 w-36 shrink-0 items-center justify-center rounded-full\"\n style={{\n backgroundColor: navbarUserAvatarBackground,\n color: navbarUserAvatarText,\n }}\n >\n <Typography sx={{ fontSize: 18, fontWeight: 700, lineHeight: 1 }}>관</Typography>\n </div>\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <Typography\n className=\"truncate\"\n sx={{\n color: navbarText,\n fontSize: 16,\n fontWeight: 600,\n letterSpacing: '-0.01em',\n lineHeight: 1,\n }}\n >\n Impix\n </Typography>\n <Typography\n className=\"truncate\"\n sx={{\n color: navbarInactiveText,\n fontSize: 14,\n fontWeight: 500,\n letterSpacing: '-0.02em',\n lineHeight: 1.05,\n }}\n >\n Owp/Admin\n </Typography>\n </div>\n <div className=\"flex shrink-0 items-center justify-center\" style={{ color: navbarText }}>\n <KeyboardArrowUpRoundedIcon sx={{ fontSize: 16 }} />\n </div>\n </div>\n </div>\n </div>\n\n <div\n className=\"relative flex min-h-0 flex-col gap-14 overflow-auto p-14\"\n style={{\n backgroundColor: mainBackground,\n color: mainText,\n }}\n >\n {isLoading ? (\n <div\n className=\"absolute inset-14 z-10 flex items-center justify-center rounded-lg\"\n style={{\n backgroundColor: alpha(mainPaper, 0.88),\n border: `1px solid ${previewChromeBorder}`,\n }}\n >\n <div className=\"flex flex-col items-center gap-10\">\n <CircularProgress color=\"secondary\" size={34} thickness={4.5} />\n <Typography variant=\"body2\" color=\"text.secondary\" fontWeight={700}>\n 로딩 중...\n </Typography>\n </div>\n </div>\n ) : null}\n {orderedPreviewSectionKeys.map((sectionKey) => (\n <Fragment key={`${sectionKey}-${previewSectionMountKeyBySection[sectionKey]}`}>\n {renderPreviewSection(sectionKey)}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"],"names":["ThemePreviewCanvas","activeSection","isLoading","settings","previewSnackbarKeysRef","useRef","tablePreviewCanTableRadiusZero","tableTheme","useMemo","merge","defaultTableTheme","toolbarMode","toolbarBackground","getPaletteValue","toolbarPaper","toolbarText","toolbarDivider","toolbarWhite","toolbarBlack","toolbarButtonBackground","alpha","toolbarButtonBorder","toolbarButtonHighlight","navbarMode","navbarBackground","navbarDivider","previewChromeBorder","navbarText","navbarTextSecondary","navbarPrimary","navbarSecondary","navbarHeaderForeground","getPreviewContrastColor","navbarHeaderSecondary","navbarSurfaceButtonBackground","navbarSurfaceButtonBorder","navbarHeaderIconColor","navbarInactiveText","navbarActiveBackground","navbarUserAvatarBackground","darken","navbarUserAvatarText","mainBackground","mainPaper","mainText","mainTextSecondary","mainPrimary","mainPrimaryContrast","mainSecondary","mainSecondaryContrast","mainSuccess","mainSuccessContrast","mainInfo","mainInfoContrast","mainWarning","mainWarningContrast","mainError","mainErrorContrast","mainGrid","gridThemePreviewVersionKey","createThemePreviewVersionKey","tableThemePreviewVersionKey","searchHeaderPreviewVersionKey","editableThemePreviewGridId","themePreviewEditableTreeGridId","readonlyThemePreviewGridId","themePreviewReadonlyTreeGridId","layoutPreviewGridHeaderBackground","layoutPreviewGridHeaderColor","layoutPreviewGridHeaderFontSize","layoutPreviewGridCellFontSize","layoutPreviewGridCellBackground","_a","gridPreviewBodyBackground","layoutPreviewGridHeaderBorder","gridBodyBorder","gridPreviewBodyText","mainThemePreviewSettings","mainThemePreviewStoreKey","mainThemePreviewStoreState","searchHeaderPreviewDate","dayjs","searchHeaderPreviewNumber","previewSectionCardSx","toolbarPreviewButtonStyle","navbarPreviewButtonStyle","buttonPreviewItems","item","snackbarTheme","defaultSnackbarTheme","snackbarProviderProps","defaultSnackbarProviderProps","snackbarPreviewAnchorHorizontal","_b","snackbarPreviewAnchorVertical","_c","snackbarPreviewMaxSnack","snackbarPreviewFontSize","getThemePreviewStyleValue","_d","snackbarPreviewLineHeight","_e","snackbarPreviewItems","snackbarVariantKeys","variantKey","snackbarVariantTheme","snackbarPreviewIconByVariant","snackbarPreviewMessageByVariant","orderedPreviewSectionKeys","getPreviewSectionOrder","previewSectionMountKeyBySection","gridPreviewTable","jsx","ThemePreviewGridPreviewTable","useEffect","snackbarKey","closeSnackbar","renderPreviewSection","__name","sectionKey","ThemePreviewButtonsSection","ThemePreviewSnackbarsSection","ThemePreviewSearchHeaderSection","ThemePreviewGridSection","ThemePreviewTablesSection","jsxs","Typography","NavigateNextIcon","SearchIcon","SpaceDashboardOutlinedIcon","IconComponent","index","MenuRoundedIcon","label","isActive","KeyboardArrowUpRoundedIcon","CircularProgress","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"ThemePreviewCanvas.js","sources":["../../../../src/features/themePreview/components/ThemePreviewCanvas.tsx"],"sourcesContent":["import {\n defaultSnackbarProviderProps,\n defaultSnackbarTheme,\n snackbarVariantKeys,\n} from '@/features/themePreview/configs/snackbar';\nimport {\n defaultTableTheme,\n type ThemePreviewTableConfigType,\n} from '@/features/themePreview/configs/table';\nimport KeyboardArrowUpRoundedIcon from '@mui/icons-material/KeyboardArrowUpRounded';\nimport MenuRoundedIcon from '@mui/icons-material/MenuRounded';\nimport NavigateNextIcon from '@mui/icons-material/NavigateNext';\nimport SearchIcon from '@mui/icons-material/Search';\nimport SpaceDashboardOutlinedIcon from '@mui/icons-material/SpaceDashboardOutlined';\nimport { ButtonBase, CircularProgress, Typography } from '@mui/material';\nimport { alpha, darken } from '@mui/material/styles';\nimport dayjs from 'dayjs';\nimport { merge } from 'es-toolkit/compat';\nimport { closeSnackbar, type SnackbarKey } from 'notistack';\nimport { Fragment, useEffect, useMemo, useRef } from 'react';\nimport type {\n ThemePreviewSectionKey,\n ThemePreviewSettings,\n} from '../types';\nimport {\n createThemePreviewVersionKey,\n getPaletteValue,\n getPreviewContrastColor,\n getPreviewSectionOrder,\n getThemePreviewStyleValue,\n gridPreviewBodyBackground,\n gridPreviewBodyText,\n navbarPreviewItems,\n previewChromeBorder,\n snackbarPreviewMessageByVariant,\n themePreviewEditableTreeGridId,\n themePreviewReadonlyTreeGridId,\n} from './themePreviewCanvas.shared';\nimport {\n ThemePreviewButtonsSection,\n ThemePreviewGridPreviewTable,\n ThemePreviewGridSection,\n ThemePreviewSearchHeaderSection,\n ThemePreviewSnackbarsSection,\n ThemePreviewTablesSection,\n} from './ThemePreviewCanvasSections';\nimport { snackbarPreviewIconByVariant } from './themePreviewCanvas.icons';\n\ninterface ThemePreviewCanvasProps {\n activeSection: ThemePreviewSectionKey;\n isLoading?: boolean;\n settings: ThemePreviewSettings;\n}\n\ntype ThemePreviewHighlightTarget = 'main' | 'navbar' | 'toolbar';\n\nconst themePreviewHighlightColor = '#ff4d2d';\nconst themePreviewHighlightShadowColor = 'rgba(255, 77, 45, 0.14)';\n\nexport function ThemePreviewCanvas({\n activeSection,\n isLoading = false,\n settings,\n}: ThemePreviewCanvasProps) {\n const previewSnackbarKeysRef = useRef<SnackbarKey[]>([]);\n const tablePreviewCanTableRadiusZero = false;\n const tableTheme = useMemo(\n () =>\n merge(\n {},\n defaultTableTheme,\n settings.theme.main.table as ThemePreviewTableConfigType | undefined,\n ) as ThemePreviewTableConfigType,\n [settings.theme.main.table],\n );\n\n const toolbarMode = settings.theme.toolbar.palette.mode;\n const toolbarBackground = getPaletteValue(settings, 'toolbar', 'background.default');\n const toolbarPaper = getPaletteValue(settings, 'toolbar', 'background.paper');\n const toolbarText = getPaletteValue(settings, 'toolbar', 'text.primary');\n const toolbarDivider = getPaletteValue(settings, 'toolbar', 'divider');\n const toolbarWhite = getPaletteValue(settings, 'toolbar', 'common.white');\n const toolbarBlack = getPaletteValue(settings, 'toolbar', 'common.black');\n const toolbarButtonBackground = alpha(toolbarWhite, toolbarMode === 'dark' ? 0.06 : 0.78);\n const toolbarButtonBorder = alpha(toolbarWhite, toolbarMode === 'dark' ? 0.1 : 0.62);\n const toolbarButtonHighlight = alpha(toolbarWhite, toolbarMode === 'dark' ? 0.05 : 0.54);\n\n const navbarMode = settings.theme.navbar.palette.mode;\n const navbarBackground = getPaletteValue(settings, 'navbar', 'background.default');\n const navbarDivider = getPaletteValue(settings, 'navbar', 'divider') || previewChromeBorder;\n const navbarText = getPaletteValue(settings, 'navbar', 'text.primary');\n const navbarTextSecondary = getPaletteValue(settings, 'navbar', 'text.secondary');\n const navbarPrimary = getPaletteValue(settings, 'navbar', 'primary.main');\n const navbarSecondary = getPaletteValue(settings, 'navbar', 'secondary.main');\n const navbarHeaderForeground = getPreviewContrastColor(\n navbarBackground,\n navbarText || '#111827',\n );\n const navbarHeaderSecondary = alpha(navbarHeaderForeground, navbarMode === 'dark' ? 0.72 : 0.64);\n const navbarSurfaceButtonBackground = alpha(\n navbarSecondary,\n navbarMode === 'dark' ? 0.2 : 0.12,\n );\n const navbarSurfaceButtonBorder = alpha(navbarSecondary, navbarMode === 'dark' ? 0.42 : 0.28);\n const navbarSurfaceButtonHoverBackground = alpha(\n navbarPrimary,\n navbarMode === 'dark' ? 0.2 : 0.12,\n );\n const navbarSurfaceButtonHoverBorder = alpha(\n navbarPrimary,\n navbarMode === 'dark' ? 0.42 : 0.28,\n );\n const navbarHeaderIconColor = navbarSecondary;\n const navbarInactiveText =\n navbarTextSecondary || alpha(navbarText, navbarMode === 'dark' ? 0.78 : 0.72);\n const navbarActiveBackground = alpha(navbarSecondary, navbarMode === 'dark' ? 0.22 : 0.12);\n const navbarUserAvatarBackground = darken(navbarBackground, navbarMode === 'dark' ? 0.08 : 0.05);\n const navbarUserAvatarText =\n navbarTextSecondary || alpha(navbarText, navbarMode === 'dark' ? 0.78 : 0.62);\n\n const mainBackground = getPaletteValue(settings, 'main', 'background.default');\n const mainPaper = getPaletteValue(settings, 'main', 'background.paper');\n const mainText = getPaletteValue(settings, 'main', 'text.primary');\n const mainTextSecondary = getPaletteValue(settings, 'main', 'text.secondary');\n const mainPrimary = getPaletteValue(settings, 'main', 'primary.main');\n const mainPrimaryContrast = getPaletteValue(settings, 'main', 'primary.contrastText');\n const mainSecondary = getPaletteValue(settings, 'main', 'secondary.main');\n const mainSecondaryContrast = getPaletteValue(settings, 'main', 'secondary.contrastText');\n const mainSuccess = getPaletteValue(settings, 'main', 'success.main');\n const mainSuccessContrast = getPaletteValue(settings, 'main', 'success.contrastText');\n const mainInfo = getPaletteValue(settings, 'main', 'info.main');\n const mainInfoContrast = getPaletteValue(settings, 'main', 'info.contrastText');\n const mainWarning = getPaletteValue(settings, 'main', 'warning.main');\n const mainWarningContrast = getPaletteValue(settings, 'main', 'warning.contrastText');\n const mainError = getPaletteValue(settings, 'main', 'error.main');\n const mainErrorContrast = getPaletteValue(settings, 'main', 'error.contrastText');\n const mainGrid = settings.theme.main.grid;\n\n const gridThemePreviewVersionKey = createThemePreviewVersionKey(mainGrid);\n const tableThemePreviewVersionKey = createThemePreviewVersionKey(settings.theme.main.table);\n const searchHeaderPreviewVersionKey = createThemePreviewVersionKey({\n palette: settings.theme.main.palette ?? {},\n table: settings.theme.main.table ?? {},\n });\n\n const editableThemePreviewGridId = `${themePreviewEditableTreeGridId}-${gridThemePreviewVersionKey}`;\n const readonlyThemePreviewGridId = `${themePreviewReadonlyTreeGridId}-${gridThemePreviewVersionKey}`;\n const layoutPreviewGridHeaderBackground = '#586980';\n const layoutPreviewGridHeaderColor = '#ffffff';\n const layoutPreviewGridHeaderFontSize = '14px';\n const layoutPreviewGridCellFontSize = '13px';\n const layoutPreviewGridCellBackground =\n mainGrid?.body?.backgroundColor ?? gridPreviewBodyBackground;\n const layoutPreviewGridHeaderBorder = alpha(layoutPreviewGridHeaderColor, 0.22);\n const gridBodyBorder = alpha(gridPreviewBodyText, 0.14);\n\n const mainThemePreviewSettings = useMemo(\n () => ({\n ...settings,\n theme: {\n ...settings.theme,\n navbar: settings.theme.main,\n toolbar: settings.theme.main,\n },\n }),\n [settings],\n );\n const mainThemePreviewStoreKey = createThemePreviewVersionKey(\n mainThemePreviewSettings.theme.main,\n );\n const mainThemePreviewStoreState = useMemo(\n () =>\n ({\n owpSettings: {\n current: mainThemePreviewSettings,\n defaults: mainThemePreviewSettings,\n initial: mainThemePreviewSettings,\n },\n }) as const,\n [mainThemePreviewSettings],\n );\n\n const searchHeaderPreviewDate = dayjs().format('YYYY-MM-DD');\n const searchHeaderPreviewNumber = useMemo(\n () => `OWP-${searchHeaderPreviewDate.replace(/-/g, '')}-001`,\n [searchHeaderPreviewDate],\n );\n\n const previewSectionCardSx = useMemo(\n () => ({\n backgroundColor: mainPaper,\n border: `1px solid ${previewChromeBorder}`,\n }),\n [mainPaper],\n );\n const highlightTarget: ThemePreviewHighlightTarget =\n activeSection === 'navbar'\n ? 'navbar'\n : activeSection === 'toolbar'\n ? 'toolbar'\n : 'main';\n const toolbarPreviewButtonStyle = useMemo(\n () => ({\n backgroundColor: toolbarButtonBackground,\n borderColor: toolbarButtonBorder,\n boxShadow: `inset 0 1px 0 ${toolbarButtonHighlight}`,\n }),\n [toolbarButtonBackground, toolbarButtonBorder, toolbarButtonHighlight],\n );\n const navbarPreviewButtonSx = useMemo(\n () => ({\n backgroundColor: navbarSurfaceButtonBackground,\n borderColor: navbarSurfaceButtonBorder,\n color: navbarHeaderIconColor,\n transition: 'background-color 160ms ease, border-color 160ms ease, color 160ms ease',\n '&:hover, &:focus-visible, &:active': {\n backgroundColor: navbarSurfaceButtonHoverBackground,\n borderColor: navbarSurfaceButtonHoverBorder,\n color: navbarPrimary,\n },\n }),\n [\n navbarHeaderIconColor,\n navbarPrimary,\n navbarSurfaceButtonBackground,\n navbarSurfaceButtonBorder,\n navbarSurfaceButtonHoverBackground,\n navbarSurfaceButtonHoverBorder,\n ],\n );\n const buttonPreviewItems = useMemo(\n () =>\n [\n { label: 'primary', color: mainPrimary, contrastColor: mainPrimaryContrast },\n { label: 'secondary', color: mainSecondary, contrastColor: mainSecondaryContrast },\n { label: 'info', color: mainInfo, contrastColor: mainInfoContrast },\n { label: 'warning', color: mainWarning, contrastColor: mainWarningContrast },\n { label: 'error', color: mainError, contrastColor: mainErrorContrast },\n { label: 'success', color: mainSuccess, contrastColor: mainSuccessContrast },\n ].map((item) => ({\n ...item,\n previewContrastColor:\n item.label === 'error' || item.label === 'success'\n ? getPreviewContrastColor(item.color, item.contrastColor)\n : item.contrastColor,\n })),\n [\n mainError,\n mainErrorContrast,\n mainInfo,\n mainInfoContrast,\n mainPrimary,\n mainPrimaryContrast,\n mainSecondary,\n mainSecondaryContrast,\n mainSuccess,\n mainSuccessContrast,\n mainWarning,\n mainWarningContrast,\n ],\n );\n\n const snackbarTheme = settings.snackbar ?? defaultSnackbarTheme;\n const snackbarProviderProps = useMemo(\n () => merge({}, defaultSnackbarProviderProps, settings.snackbarProviderProps),\n [settings.snackbarProviderProps],\n );\n const snackbarPreviewAnchorHorizontal =\n snackbarProviderProps.anchorOrigin?.horizontal ??\n defaultSnackbarProviderProps.anchorOrigin.horizontal;\n const snackbarPreviewAnchorVertical =\n snackbarProviderProps.anchorOrigin?.vertical ??\n defaultSnackbarProviderProps.anchorOrigin.vertical;\n const snackbarPreviewMaxSnack =\n snackbarProviderProps.maxSnack ?? defaultSnackbarProviderProps.maxSnack;\n const snackbarPreviewFontSize = getThemePreviewStyleValue(snackbarProviderProps.style?.fontSize);\n const snackbarPreviewLineHeight = getThemePreviewStyleValue(\n snackbarProviderProps.style?.lineHeight,\n );\n const snackbarPreviewItems = useMemo(\n () =>\n snackbarVariantKeys.map((variantKey) => {\n const snackbarVariantTheme = snackbarTheme[variantKey];\n\n return {\n actionHoverColor: alpha(\n snackbarVariantTheme.color,\n variantKey === 'default' ? 0.18 : 0.16,\n ),\n backgroundColor: snackbarVariantTheme.backgroundColor,\n color: snackbarVariantTheme.color,\n icon: snackbarPreviewIconByVariant[variantKey],\n key: variantKey,\n message: snackbarPreviewMessageByVariant[variantKey],\n };\n }),\n [snackbarTheme],\n );\n\n const orderedPreviewSectionKeys = useMemo(\n () => getPreviewSectionOrder(activeSection),\n [activeSection],\n );\n const previewSectionMountKeyBySection = useMemo(\n () =>\n ({\n buttons: createThemePreviewVersionKey({\n error: mainError,\n info: mainInfo,\n primary: mainPrimary,\n secondary: mainSecondary,\n success: mainSuccess,\n warning: mainWarning,\n }),\n grid: `${mainThemePreviewStoreKey}-${gridThemePreviewVersionKey}`,\n searchHeader: searchHeaderPreviewVersionKey,\n snackbars: createThemePreviewVersionKey({\n provider: settings.snackbarProviderProps,\n snackbar: settings.snackbar,\n }),\n tables: tableThemePreviewVersionKey,\n }) as const,\n [\n gridThemePreviewVersionKey,\n mainError,\n mainInfo,\n mainPrimary,\n mainSecondary,\n mainSuccess,\n mainThemePreviewStoreKey,\n mainWarning,\n searchHeaderPreviewVersionKey,\n settings.snackbar,\n settings.snackbarProviderProps,\n tableThemePreviewVersionKey,\n ],\n );\n const gridPreviewTable = useMemo(\n () => (\n <ThemePreviewGridPreviewTable\n gridBodyBorder={gridBodyBorder}\n layoutPreviewGridCellBackground={layoutPreviewGridCellBackground}\n layoutPreviewGridCellFontSize={layoutPreviewGridCellFontSize}\n layoutPreviewGridHeaderBackground={layoutPreviewGridHeaderBackground}\n layoutPreviewGridHeaderBorder={layoutPreviewGridHeaderBorder}\n layoutPreviewGridHeaderColor={layoutPreviewGridHeaderColor}\n layoutPreviewGridHeaderFontSize={layoutPreviewGridHeaderFontSize}\n />\n ),\n [\n gridBodyBorder,\n layoutPreviewGridCellBackground,\n layoutPreviewGridCellFontSize,\n layoutPreviewGridHeaderBackground,\n layoutPreviewGridHeaderBorder,\n layoutPreviewGridHeaderColor,\n layoutPreviewGridHeaderFontSize,\n ],\n );\n\n useEffect(() => {\n return () => {\n previewSnackbarKeysRef.current.forEach((snackbarKey) => {\n closeSnackbar(snackbarKey);\n });\n previewSnackbarKeysRef.current = [];\n };\n }, []);\n\n const renderPreviewSection = (sectionKey: keyof typeof previewSectionMountKeyBySection) => {\n switch (sectionKey) {\n case 'buttons':\n return (\n <ThemePreviewButtonsSection\n buttonPreviewItems={buttonPreviewItems}\n mainTextSecondary={mainTextSecondary}\n previewSectionCardSx={previewSectionCardSx}\n />\n );\n case 'snackbars':\n return (\n <ThemePreviewSnackbarsSection\n previewSectionCardSx={previewSectionCardSx}\n previewSnackbarKeysRef={previewSnackbarKeysRef}\n snackbarAnchorOrigin={snackbarProviderProps.anchorOrigin}\n snackbarAutoHideDuration={snackbarProviderProps.autoHideDuration}\n snackbarPreviewAnchorHorizontal={snackbarPreviewAnchorHorizontal}\n snackbarPreviewAnchorVertical={snackbarPreviewAnchorVertical}\n snackbarPreviewFontSize={snackbarPreviewFontSize}\n snackbarPreviewItems={snackbarPreviewItems}\n snackbarPreviewLineHeight={snackbarPreviewLineHeight}\n snackbarPreviewMaxSnack={snackbarPreviewMaxSnack}\n />\n );\n case 'searchHeader':\n return (\n <ThemePreviewSearchHeaderSection\n gridPreviewTable={gridPreviewTable}\n mainBackground={mainBackground}\n mainPaper={mainPaper}\n mainText={mainText}\n mainThemePreviewStoreState={mainThemePreviewStoreState}\n previewSectionCardSx={previewSectionCardSx}\n searchHeaderPreviewDate={searchHeaderPreviewDate}\n searchHeaderPreviewNumber={searchHeaderPreviewNumber}\n searchHeaderPreviewVersionKey={searchHeaderPreviewVersionKey}\n tablePreviewCanTableRadiusZero={tablePreviewCanTableRadiusZero}\n tableTheme={tableTheme}\n tableThemePreviewVersionKey={tableThemePreviewVersionKey}\n />\n );\n case 'grid':\n return (\n <ThemePreviewGridSection\n editableThemePreviewGridId={editableThemePreviewGridId}\n mainGridChangedBackgroundColor={mainGrid?.changed?.backgroundColor}\n mainThemePreviewStoreKey={mainThemePreviewStoreKey}\n mainThemePreviewStoreState={mainThemePreviewStoreState}\n previewSectionCardSx={previewSectionCardSx}\n readonlyThemePreviewGridId={readonlyThemePreviewGridId}\n />\n );\n case 'tables':\n return (\n <ThemePreviewTablesSection\n mainThemePreviewStoreState={mainThemePreviewStoreState}\n previewSectionCardSx={previewSectionCardSx}\n tablePreviewCanTableRadiusZero={tablePreviewCanTableRadiusZero}\n tableTheme={tableTheme}\n tableThemePreviewVersionKey={tableThemePreviewVersionKey}\n />\n );\n default:\n return null;\n }\n };\n const renderHighlightOverlay = (target: ThemePreviewHighlightTarget, inset: number, radius = 0) =>\n highlightTarget === target ? (\n <div\n aria-hidden\n className=\"pointer-events-none absolute z-[2]\"\n style={{\n inset,\n border: `4px solid ${themePreviewHighlightColor}`,\n borderRadius: radius,\n boxShadow: `0 0 0 1px ${themePreviewHighlightShadowColor}`,\n }}\n />\n ) : null;\n\n return (\n <div className=\"flex h-full min-h-0 flex-col\">\n <div\n className=\"grid min-h-0 flex-1 grid-cols-[224px_minmax(0,1fr)] grid-rows-[76px_minmax(0,1fr)] overflow-hidden rounded-lg border border-solid\"\n style={{\n backgroundColor: mainBackground,\n borderColor: previewChromeBorder,\n }}\n >\n <div\n className=\"col-span-2 relative flex items-center justify-between px-20\"\n style={{\n backgroundColor: toolbarBackground,\n backgroundImage: `linear-gradient(180deg, ${toolbarBackground} 0%, ${toolbarPaper} 100%)`,\n borderBottom: `1px solid ${toolbarDivider}`,\n boxShadow: `inset 0 1px 0 ${alpha(toolbarWhite, toolbarMode === 'dark' ? 0.06 : 0.82)}, 0 4px 16px ${alpha(toolbarBlack, toolbarMode === 'dark' ? 0.18 : 0.05)}`,\n color: toolbarText,\n }}\n >\n {renderHighlightOverlay('toolbar', 0, 0)}\n <div className=\"flex items-center gap-12\">\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"flex items-center gap-2\"\n style={{\n color: alpha(toolbarText, toolbarMode === 'dark' ? 0.72 : 0.64),\n }}\n >\n <Typography variant=\"caption\">OWP</Typography>\n <NavigateNextIcon sx={{ fontSize: 18 }} />\n <Typography variant=\"caption\">Theme Preview</Typography>\n </div>\n <Typography variant=\"subtitle1\" fontWeight={700}>\n Toolbar\n </Typography>\n </div>\n </div>\n <div className=\"pointer-events-none absolute left-1/2 top-1/2 flex w-full max-w-[520px] -translate-x-1/2 -translate-y-1/2 justify-center px-12 text-center\">\n <Typography\n variant=\"body2\"\n sx={{\n color: alpha(toolbarText, toolbarMode === 'dark' ? 0.92 : 0.84),\n fontSize: 13,\n fontWeight: 700,\n }}\n >\n 로그인 화면 배경색은 Toolbar{' '}\n <NavigateNextIcon sx={{ mx: 0.25, fontSize: 18, verticalAlign: 'middle' }} />{' '}\n Background Default 색상을 따라갑니다.\n </Typography>\n </div>\n <div className=\"flex items-center gap-8\">\n {[SearchIcon, SpaceDashboardOutlinedIcon].map((IconComponent, index) => (\n <div\n key={`${index}`}\n className=\"flex h-32 w-32 items-center justify-center rounded-[10px] border border-solid\"\n style={toolbarPreviewButtonStyle}\n >\n <IconComponent sx={{ color: toolbarText, fontSize: 18 }} />\n </div>\n ))}\n </div>\n </div>\n\n <div\n className=\"relative flex min-h-0 flex-col\"\n style={{\n backgroundColor: navbarBackground,\n borderRight: `1px solid ${navbarDivider}`,\n color: navbarText,\n }}\n >\n {renderHighlightOverlay('navbar', 0, 0)}\n <div\n className=\"flex items-center justify-between gap-8 px-16 py-14\"\n style={{\n borderBottom: `1px solid ${navbarDivider}`,\n }}\n >\n <div className=\"flex items-center gap-10\">\n <div className=\"flex flex-col gap-2\">\n <Typography\n variant=\"subtitle2\"\n fontWeight={700}\n sx={{\n color: navbarHeaderForeground,\n }}\n >\n Navbar\n </Typography>\n <Typography variant=\"caption\" sx={{ color: navbarHeaderSecondary }}>\n Navigation\n </Typography>\n </div>\n </div>\n <ButtonBase\n aria-label=\"navbar menu\"\n className=\"flex h-28 w-28 items-center justify-center rounded-[10px] border border-solid\"\n sx={navbarPreviewButtonSx}\n >\n <MenuRoundedIcon sx={{ color: 'inherit', fontSize: 16 }} />\n </ButtonBase>\n </div>\n\n <div className=\"flex flex-1 flex-col gap-4 px-10 py-10\">\n {navbarPreviewItems.map((label, index) => {\n const isActive = index === 1;\n\n return (\n <div\n key={label}\n className=\"rounded-lg px-12 py-10\"\n style={{\n backgroundColor: isActive ? navbarActiveBackground : 'transparent',\n color: isActive ? navbarSecondary : navbarInactiveText,\n }}\n >\n <Typography variant=\"body2\" fontWeight={isActive ? 700 : 500}>\n {label}\n </Typography>\n </div>\n );\n })}\n </div>\n\n <div\n className=\"px-12 py-12\"\n style={{\n borderTop: `1px solid ${navbarDivider}`,\n }}\n >\n <div\n className=\"flex min-h-[56px] items-center gap-12 rounded-lg px-8 py-8\"\n style={{ color: navbarText }}\n >\n <div\n className=\"flex h-36 w-36 shrink-0 items-center justify-center rounded-full\"\n style={{\n backgroundColor: navbarUserAvatarBackground,\n color: navbarUserAvatarText,\n }}\n >\n <Typography sx={{ fontSize: 18, fontWeight: 700, lineHeight: 1 }}>관</Typography>\n </div>\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <Typography\n className=\"truncate\"\n sx={{\n color: navbarText,\n fontSize: 16,\n fontWeight: 600,\n letterSpacing: '-0.01em',\n lineHeight: 1,\n }}\n >\n Impix\n </Typography>\n <Typography\n className=\"truncate\"\n sx={{\n color: navbarInactiveText,\n fontSize: 14,\n fontWeight: 500,\n letterSpacing: '-0.02em',\n lineHeight: 1.05,\n }}\n >\n Owp/Admin\n </Typography>\n </div>\n <div className=\"flex shrink-0 items-center justify-center\" style={{ color: navbarText }}>\n <KeyboardArrowUpRoundedIcon sx={{ fontSize: 16 }} />\n </div>\n </div>\n </div>\n </div>\n\n <div\n className=\"relative flex min-h-0 flex-col gap-14 overflow-auto p-14\"\n style={{\n backgroundColor: mainBackground,\n color: mainText,\n }}\n >\n {renderHighlightOverlay('main', 8)}\n {isLoading ? (\n <div\n className=\"absolute inset-14 z-10 flex items-center justify-center rounded-lg\"\n style={{\n backgroundColor: alpha(mainPaper, 0.88),\n border: `1px solid ${previewChromeBorder}`,\n }}\n >\n <div className=\"flex flex-col items-center gap-10\">\n <CircularProgress color=\"secondary\" size={34} thickness={4.5} />\n <Typography variant=\"body2\" color=\"text.secondary\" fontWeight={700}>\n 로딩 중...\n </Typography>\n </div>\n </div>\n ) : null}\n {orderedPreviewSectionKeys.map((sectionKey) => (\n <Fragment key={`${sectionKey}-${previewSectionMountKeyBySection[sectionKey]}`}>\n {renderPreviewSection(sectionKey)}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"],"names":["themePreviewHighlightColor","themePreviewHighlightShadowColor","ThemePreviewCanvas","activeSection","isLoading","settings","previewSnackbarKeysRef","useRef","tablePreviewCanTableRadiusZero","tableTheme","useMemo","merge","defaultTableTheme","toolbarMode","toolbarBackground","getPaletteValue","toolbarPaper","toolbarText","toolbarDivider","toolbarWhite","toolbarBlack","toolbarButtonBackground","alpha","toolbarButtonBorder","toolbarButtonHighlight","navbarMode","navbarBackground","navbarDivider","previewChromeBorder","navbarText","navbarTextSecondary","navbarPrimary","navbarSecondary","navbarHeaderForeground","getPreviewContrastColor","navbarHeaderSecondary","navbarSurfaceButtonBackground","navbarSurfaceButtonBorder","navbarSurfaceButtonHoverBackground","navbarSurfaceButtonHoverBorder","navbarHeaderIconColor","navbarInactiveText","navbarActiveBackground","navbarUserAvatarBackground","darken","navbarUserAvatarText","mainBackground","mainPaper","mainText","mainTextSecondary","mainPrimary","mainPrimaryContrast","mainSecondary","mainSecondaryContrast","mainSuccess","mainSuccessContrast","mainInfo","mainInfoContrast","mainWarning","mainWarningContrast","mainError","mainErrorContrast","mainGrid","gridThemePreviewVersionKey","createThemePreviewVersionKey","tableThemePreviewVersionKey","searchHeaderPreviewVersionKey","editableThemePreviewGridId","themePreviewEditableTreeGridId","readonlyThemePreviewGridId","themePreviewReadonlyTreeGridId","layoutPreviewGridHeaderBackground","layoutPreviewGridHeaderColor","layoutPreviewGridHeaderFontSize","layoutPreviewGridCellFontSize","layoutPreviewGridCellBackground","_a","gridPreviewBodyBackground","layoutPreviewGridHeaderBorder","gridBodyBorder","gridPreviewBodyText","mainThemePreviewSettings","mainThemePreviewStoreKey","mainThemePreviewStoreState","searchHeaderPreviewDate","dayjs","searchHeaderPreviewNumber","previewSectionCardSx","highlightTarget","toolbarPreviewButtonStyle","navbarPreviewButtonSx","buttonPreviewItems","item","snackbarTheme","defaultSnackbarTheme","snackbarProviderProps","defaultSnackbarProviderProps","snackbarPreviewAnchorHorizontal","_b","snackbarPreviewAnchorVertical","_c","snackbarPreviewMaxSnack","snackbarPreviewFontSize","getThemePreviewStyleValue","_d","snackbarPreviewLineHeight","_e","snackbarPreviewItems","snackbarVariantKeys","variantKey","snackbarVariantTheme","snackbarPreviewIconByVariant","snackbarPreviewMessageByVariant","orderedPreviewSectionKeys","getPreviewSectionOrder","previewSectionMountKeyBySection","gridPreviewTable","jsx","ThemePreviewGridPreviewTable","useEffect","snackbarKey","closeSnackbar","renderPreviewSection","__name","sectionKey","ThemePreviewButtonsSection","ThemePreviewSnackbarsSection","ThemePreviewSearchHeaderSection","ThemePreviewGridSection","ThemePreviewTablesSection","renderHighlightOverlay","target","inset","radius","jsxs","Typography","NavigateNextIcon","SearchIcon","SpaceDashboardOutlinedIcon","IconComponent","index","ButtonBase","MenuRoundedIcon","label","isActive","KeyboardArrowUpRoundedIcon","CircularProgress","Fragment"],"mappings":"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"}