@owp/core 2.5.4 → 2.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configs/theme.d.ts +3 -0
- package/configs/theme.js +1 -0
- package/dist/_virtual/index11.js +2 -2
- package/dist/_virtual/index13.js +2 -2
- package/dist/_virtual/index14.js +2 -2
- package/dist/_virtual/index15.js +2 -2
- package/dist/_virtual/index16.js +4 -4
- package/dist/_virtual/index17.js +4 -4
- package/dist/_virtual/index18.js +4 -4
- package/dist/_virtual/index19.js +4 -4
- package/dist/components/OwpPageSkeleton/OwpPageSkeleton.js +4 -4
- package/dist/components/OwpTable/OwpDataTable.js +293 -327
- package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
- package/dist/components/OwpTable/OwpTable.js +102 -117
- package/dist/components/OwpTable/OwpTable.js.map +1 -1
- package/dist/components/OwpTable/internal/defaultTableStyle.js +50 -0
- package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -0
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js +47 -45
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +179 -161
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
- package/dist/configs/defaultConfig.js +1 -1
- package/dist/configs/theme.js +28 -0
- package/dist/configs/theme.js.map +1 -0
- package/dist/contexts/OwpAppProvider.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewCanvas.js +492 -0
- package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -0
- package/dist/features/themePreview/components/ThemePreviewCanvasSections.js +678 -0
- package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -0
- package/dist/features/themePreview/components/ThemePreviewColorField.js +372 -0
- package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -0
- package/dist/features/themePreview/components/ThemePreviewControls.js +306 -0
- package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -0
- package/dist/features/themePreview/components/themePreviewCanvas.icons.js +17 -0
- package/dist/features/themePreview/components/themePreviewCanvas.icons.js.map +1 -0
- package/dist/features/themePreview/components/themePreviewCanvas.shared.js +296 -0
- package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -0
- package/dist/features/themePreview/configs/grid.js +45 -0
- package/dist/features/themePreview/configs/grid.js.map +1 -0
- package/dist/features/themePreview/configs/presets.js +1074 -0
- package/dist/features/themePreview/configs/presets.js.map +1 -0
- package/dist/features/themePreview/configs/previewStorage.js +94 -0
- package/dist/features/themePreview/configs/previewStorage.js.map +1 -0
- package/dist/features/themePreview/configs/settings.js +148 -0
- package/dist/features/themePreview/configs/settings.js.map +1 -0
- package/dist/features/themePreview/configs/snackbar.js +39 -0
- package/dist/features/themePreview/configs/snackbar.js.map +1 -0
- package/dist/features/themePreview/configs/surface.js +10 -0
- package/dist/features/themePreview/configs/surface.js.map +1 -0
- package/dist/features/themePreview/configs/table.js +30 -0
- package/dist/features/themePreview/configs/table.js.map +1 -0
- package/dist/features/themePreview/defs/ThemePreviewGridDef.xml.js +43 -0
- package/dist/features/themePreview/defs/ThemePreviewGridDef.xml.js.map +1 -0
- package/dist/features/themePreview/defs/ThemePreviewReadonlyGridDef.xml.js +43 -0
- package/dist/features/themePreview/defs/ThemePreviewReadonlyGridDef.xml.js.map +1 -0
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +441 -0
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -0
- package/dist/features/themePreview/hooks/useThemePreview.js +280 -0
- package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -0
- package/dist/features/themePreview/utils/color.js +79 -0
- package/dist/features/themePreview/utils/color.js.map +1 -0
- package/dist/features/themePreview/utils/themePreviewDefinitions.js +526 -0
- package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -0
- package/dist/features/themePreview/utils/themePreviewExport.js +320 -0
- package/dist/features/themePreview/utils/themePreviewExport.js.map +1 -0
- package/dist/features/themePreview/utils/themePreviewSettings.js +211 -0
- package/dist/features/themePreview/utils/themePreviewSettings.js.map +1 -0
- package/dist/features/themePreview.js +75 -0
- package/dist/features/themePreview.js.map +1 -0
- package/dist/layout/components/logo/Logo.js +49 -45
- package/dist/layout/components/logo/Logo.js.map +1 -1
- package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
- package/dist/layout/components/toggles/ThemePreviewToggle.js +51 -0
- package/dist/layout/components/toggles/ThemePreviewToggle.js.map +1 -0
- package/dist/layout/components/toolbar/ToolbarLayout.js +8 -6
- package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
- 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/CheckCircleOutline.js +9 -0
- 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/CheckCircleOutline.js.map +1 -0
- 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/DownloadOutlined.js +9 -0
- 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/DownloadOutlined.js.map +1 -0
- 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/ErrorOutline.js +9 -0
- 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/ErrorOutline.js.map +1 -0
- 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/InfoOutlined.js +9 -0
- 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/InfoOutlined.js.map +1 -0
- 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/KeyboardArrowUpRounded.js +9 -0
- 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/KeyboardArrowUpRounded.js.map +1 -0
- 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/MenuRounded.js +9 -0
- 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/MenuRounded.js.map +1 -0
- 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/NotificationsNoneOutlined.js +9 -0
- 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/NotificationsNoneOutlined.js.map +1 -0
- 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/PaletteOutlined.js +25 -0
- 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/PaletteOutlined.js.map +1 -0
- 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/RestoreOutlined.js +9 -0
- 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/RestoreOutlined.js.map +1 -0
- 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/SaveOutlined.js +9 -0
- 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/SaveOutlined.js.map +1 -0
- 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/SpaceDashboardOutlined.js +9 -0
- 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/SpaceDashboardOutlined.js.map +1 -0
- 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/UploadFileOutlined.js +9 -0
- 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/UploadFileOutlined.js.map +1 -0
- 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/WarningAmberRounded.js +9 -0
- 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/WarningAmberRounded.js.map +1 -0
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
- 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
- package/dist/owp-app.css +1 -1
- package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +49 -0
- package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +2 -1
- package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +6 -1
- package/dist/types/configs/theme/index.d.ts +6 -0
- package/dist/types/contexts/OwpAppProvider.d.ts +2 -0
- package/dist/types/features/themePreview/components/ThemePreviewCanvas.d.ts +8 -0
- package/dist/types/features/themePreview/components/ThemePreviewCanvasSections.d.ts +82 -0
- package/dist/types/features/themePreview/components/ThemePreviewColorField.d.ts +10 -0
- package/dist/types/features/themePreview/components/ThemePreviewControls.d.ts +18 -0
- package/dist/types/features/themePreview/components/index.d.ts +3 -0
- package/dist/types/features/themePreview/components/themePreviewCanvas.icons.d.ts +3 -0
- package/dist/types/features/themePreview/components/themePreviewCanvas.shared.d.ts +121 -0
- package/dist/types/features/themePreview/configs/grid.d.ts +41 -0
- package/dist/types/features/themePreview/configs/index.d.ts +7 -0
- package/dist/types/features/themePreview/configs/presets.d.ts +1152 -0
- package/dist/types/features/themePreview/configs/previewStorage.d.ts +35 -0
- package/dist/types/features/themePreview/configs/settings.d.ts +271 -0
- package/dist/types/features/themePreview/configs/snackbar.d.ts +43 -0
- package/dist/types/features/themePreview/configs/surface.d.ts +6 -0
- package/dist/types/features/themePreview/configs/table.d.ts +47 -0
- package/dist/types/features/themePreview/dialogs/ThemePreviewDialog.d.ts +3 -0
- package/dist/types/features/themePreview/dialogs/index.d.ts +1 -0
- package/dist/types/features/themePreview/hooks/index.d.ts +1 -0
- package/dist/types/features/themePreview/hooks/useThemePreview.d.ts +61 -0
- package/dist/types/features/themePreview/index.d.ts +6 -0
- package/dist/types/features/themePreview/types/index.d.ts +1 -0
- package/dist/types/features/themePreview/types/themePreview.d.ts +44 -0
- package/dist/types/features/themePreview/utils/color.d.ts +14 -0
- package/dist/types/features/themePreview/utils/index.d.ts +4 -0
- package/dist/types/features/themePreview/utils/themePreviewDefinitions.d.ts +10 -0
- package/dist/types/features/themePreview/utils/themePreviewExport.d.ts +46 -0
- package/dist/types/features/themePreview/utils/themePreviewSettings.d.ts +54 -0
- package/dist/types/layout/components/toggles/ThemePreviewToggle.d.ts +5 -0
- package/dist/types/utils/zipUtil.d.ts +1 -0
- package/dist/utils/zipUtil.js +38 -36
- package/dist/utils/zipUtil.js.map +1 -1
- package/features/themePreview.d.ts +3 -0
- package/features/themePreview.js +1 -0
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwpAppProvider.js","sources":["../../src/contexts/OwpAppProvider.tsx"],"sourcesContent":["import type { OwpSettingsConfigType, OwpThemesType } from '@/types/OwpSettingsTypes';\nimport type { OwpNavItemType } from '@/types/OwpNavigationTypes';\nimport { useStorage } from '@/hooks/useStorage';\nimport type { OwpLoadingProps } from '@/components/OwpLoading/OwpLoading';\nimport {\n CSSProperties,\n ComponentType,\n createContext,\n ReactNode,\n useContext,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport { PartialDeep } from 'type-fest';\n\n/**\n * Logo slot props\n */\nexport interface OwpLogoSlotProps {\n className?: string;\n style?: CSSProperties;\n}\n\nexport type OwpPageSkeletonItemType =\n | 'search-header'\n | 'table'\n | 'grid'\n | 'card'\n | 'chart'\n | 'stat';\n\nexport interface OwpPageSkeletonItem {\n type: OwpPageSkeletonItemType;\n colSpan?: number;\n rowSpan?: number;\n colStart?: number;\n rowStart?: number;\n}\n\nexport interface OwpPageSkeletonSpec {\n columns?: number;\n rowHeight?: number;\n fullscreen?: boolean;\n fillContentHeight?: boolean;\n items: OwpPageSkeletonItem[];\n}\n\nexport interface OwpRouteLoadingSlotProps extends OwpLoadingProps {\n pathname: string;\n isFirstRouteLoading: boolean;\n}\n\nexport interface OwpRouteLoadingConfig extends OwpLoadingProps {\n getSkeletonSpec?: (pathname: string) => OwpPageSkeletonSpec | undefined;\n /** Click-to-release test toggle. Default false */\n releaseOnClick?: boolean;\n}\n\nexport interface OwpAppConfigs {\n routesConfig: any;\n settingsConfig?: PartialDeep<OwpSettingsConfigType>;\n themesConfig?: PartialDeep<OwpThemesType>;\n navigationConfig: OwpNavItemType[];\n}\n\n/**\n * App slots\n */\nexport interface OwpAppSlots {\n logo?: ComponentType<OwpLogoSlotProps>;\n routeLoading?: ComponentType<OwpRouteLoadingSlotProps>;\n}\n\nexport interface OwpAppSlotProps {\n logo?: OwpLogoSlotProps;\n routeLoading?: Omit<\n Partial<OwpRouteLoadingSlotProps>,\n 'pathname' | 'isFirstRouteLoading'\n > &\n OwpRouteLoadingConfig;\n}\n\nexport interface OwpAppEnv {\n apiBaseUrl?: string;\n isAccessTokenGuardEnabled?: boolean;\n isAutoLogoutEnabled?: boolean;\n autoLogoutIdleTimeoutMs?: number;\n isBackendNavigationEnabled?: boolean;\n isErrorMessageEnabled?: boolean;\n isI18nEnabled?: boolean;\n isI18nLanguageSwitcherEnabled?: boolean;\n isNavigationActiveRouteRemountEnabled?: boolean;\n isPasswordChangeEnabled?: boolean;\n isRequestLogPayloadEnabled?: boolean;\n [key: string]: unknown;\n}\n\nexport interface OwpAppContextValue extends OwpAppConfigs {\n env?: OwpAppEnv;\n slots?: OwpAppSlots;\n slotProps?: OwpAppSlotProps;\n}\n\nexport const OwpAppContext = createContext<OwpAppContextValue | undefined>(undefined);\n\nexport interface OwpAppProviderProps {\n configs: OwpAppConfigs;\n slots?: OwpAppSlots;\n slotProps?: OwpAppSlotProps;\n children?: ReactNode;\n env?: OwpAppEnv;\n}\n\nexport const OwpAppProvider = ({\n configs,\n slots,\n slotProps,\n children,\n env,\n}: OwpAppProviderProps) => {\n const value = useRef<OwpAppContextValue>({ ...configs, env, slots, slotProps });\n const { setEnv } = useStorage();\n\n useLayoutEffect(() => {\n setEnv(env ?? {});\n }, [env, setEnv]);\n\n return <OwpAppContext.Provider value={value.current}>{children}</OwpAppContext.Provider>;\n};\n\nexport const useOwpAppContext = () => {\n const context = useContext(OwpAppContext);\n\n if (context === undefined) {\n throw new Error('useOwpAppContext must be used within a OwpAppProvider');\n }\n\n return context;\n};\n"],"names":["OwpAppContext","createContext","OwpAppProvider","__name","configs","slots","slotProps","children","env","value","useRef","setEnv","useStorage","useLayoutEffect","useOwpAppContext","context","useContext"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"OwpAppProvider.js","sources":["../../src/contexts/OwpAppProvider.tsx"],"sourcesContent":["import type { OwpSettingsConfigType, OwpThemesType } from '@/types/OwpSettingsTypes';\nimport type { OwpNavItemType } from '@/types/OwpNavigationTypes';\nimport { useStorage } from '@/hooks/useStorage';\nimport type { OwpLoadingProps } from '@/components/OwpLoading/OwpLoading';\nimport {\n CSSProperties,\n ComponentType,\n createContext,\n ReactNode,\n useContext,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport { PartialDeep } from 'type-fest';\n\n/**\n * Logo slot props\n */\nexport interface OwpLogoSlotProps {\n className?: string;\n style?: CSSProperties;\n}\n\nexport type OwpPageSkeletonItemType =\n | 'search-header'\n | 'table'\n | 'grid'\n | 'card'\n | 'chart'\n | 'stat';\n\nexport interface OwpPageSkeletonItem {\n type: OwpPageSkeletonItemType;\n colSpan?: number;\n rowSpan?: number;\n colStart?: number;\n rowStart?: number;\n}\n\nexport interface OwpPageSkeletonSpec {\n columns?: number;\n rowHeight?: number;\n fullscreen?: boolean;\n fillContentHeight?: boolean;\n items: OwpPageSkeletonItem[];\n}\n\nexport interface OwpRouteLoadingSlotProps extends OwpLoadingProps {\n pathname: string;\n isFirstRouteLoading: boolean;\n}\n\nexport interface OwpRouteLoadingConfig extends OwpLoadingProps {\n getSkeletonSpec?: (pathname: string) => OwpPageSkeletonSpec | undefined;\n /** Click-to-release test toggle. Default false */\n releaseOnClick?: boolean;\n}\n\nexport interface OwpAppConfigs {\n routesConfig: any;\n settingsConfig?: PartialDeep<OwpSettingsConfigType>;\n themesConfig?: PartialDeep<OwpThemesType>;\n navigationConfig: OwpNavItemType[];\n}\n\n/**\n * App slots\n */\nexport interface OwpAppSlots {\n logo?: ComponentType<OwpLogoSlotProps>;\n routeLoading?: ComponentType<OwpRouteLoadingSlotProps>;\n}\n\nexport interface OwpAppSlotProps {\n logo?: OwpLogoSlotProps;\n routeLoading?: Omit<\n Partial<OwpRouteLoadingSlotProps>,\n 'pathname' | 'isFirstRouteLoading'\n > &\n OwpRouteLoadingConfig;\n}\n\nexport interface OwpAppEnv {\n apiBaseUrl?: string;\n isAccessTokenGuardEnabled?: boolean;\n isAutoLogoutEnabled?: boolean;\n autoLogoutIdleTimeoutMs?: number;\n isBackendNavigationEnabled?: boolean;\n isErrorMessageEnabled?: boolean;\n isI18nEnabled?: boolean;\n isI18nLanguageSwitcherEnabled?: boolean;\n isNavigationActiveRouteRemountEnabled?: boolean;\n isPasswordChangeEnabled?: boolean;\n isRequestLogPayloadEnabled?: boolean;\n isThemePreviewEnabled?: boolean;\n themePreviewDialogLoader?: () => Promise<unknown>;\n [key: string]: unknown;\n}\n\nexport interface OwpAppContextValue extends OwpAppConfigs {\n env?: OwpAppEnv;\n slots?: OwpAppSlots;\n slotProps?: OwpAppSlotProps;\n}\n\nexport const OwpAppContext = createContext<OwpAppContextValue | undefined>(undefined);\n\nexport interface OwpAppProviderProps {\n configs: OwpAppConfigs;\n slots?: OwpAppSlots;\n slotProps?: OwpAppSlotProps;\n children?: ReactNode;\n env?: OwpAppEnv;\n}\n\nexport const OwpAppProvider = ({\n configs,\n slots,\n slotProps,\n children,\n env,\n}: OwpAppProviderProps) => {\n const value = useRef<OwpAppContextValue>({ ...configs, env, slots, slotProps });\n const { setEnv } = useStorage();\n\n useLayoutEffect(() => {\n setEnv(env ?? {});\n }, [env, setEnv]);\n\n return <OwpAppContext.Provider value={value.current}>{children}</OwpAppContext.Provider>;\n};\n\nexport const useOwpAppContext = () => {\n const context = useContext(OwpAppContext);\n\n if (context === undefined) {\n throw new Error('useOwpAppContext must be used within a OwpAppProvider');\n }\n\n return context;\n};\n"],"names":["OwpAppContext","createContext","OwpAppProvider","__name","configs","slots","slotProps","children","env","value","useRef","setEnv","useStorage","useLayoutEffect","useOwpAppContext","context","useContext"],"mappings":";;;;;AAyGO,MAAMA,IAAgBC,EAA8C,MAAS,GAUvEC,IAAiB,gBAAAC,EAAA,CAAC;AAAA,EAC7B,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,KAAAC;AACF,MAA2B;AACzB,QAAMC,IAAQC,EAA2B,EAAE,GAAGN,GAAS,KAAAI,GAAK,OAAAH,GAAO,WAAAC,GAAW,GACxE,EAAE,QAAAK,EAAA,IAAWC,EAAA;AAEnB,SAAAC,EAAgB,MAAM;AACpB,IAAAF,EAAOH,KAAO,EAAE;AAAA,EAClB,GAAG,CAACA,GAAKG,CAAM,CAAC,qBAERX,EAAc,UAAd,EAAuB,OAAOS,EAAM,SAAU,UAAAF,GAAS;AACjE,GAf8B,mBAiBjBO,IAAmB,gBAAAX,EAAA,MAAM;AACpC,QAAMY,IAAUC,EAAWhB,CAAa;AAExC,MAAIe,MAAY;AACd,UAAM,IAAI,MAAM,uDAAuD;AAGzE,SAAOA;AACT,GARgC;"}
|
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
var qe = Object.defineProperty;
|
|
2
|
+
var F = (p, I) => qe(p, "name", { value: I, configurable: !0 });
|
|
3
|
+
import { jsx as r, jsxs as c } from "../../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
|
|
4
|
+
import { defaultSnackbarTheme as Je, defaultSnackbarProviderProps as H, snackbarVariantKeys as Qe } from "../configs/snackbar.js";
|
|
5
|
+
import { defaultTableTheme as Xe } from "../configs/table.js";
|
|
6
|
+
import er from "../../../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/KeyboardArrowUpRounded.js";
|
|
7
|
+
import rr from "../../../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/MenuRounded.js";
|
|
8
|
+
import we from "../../../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/NavigateNext.js";
|
|
9
|
+
import or from "../../../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/Search.js";
|
|
10
|
+
import ar from "../../../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/SpaceDashboardOutlined.js";
|
|
11
|
+
import { Typography as i, CircularProgress as nr } from "@mui/material";
|
|
12
|
+
import { alpha as n, darken as tr } from "@mui/material/styles";
|
|
13
|
+
import cr from "dayjs";
|
|
14
|
+
import { closeSnackbar as ir } from "notistack";
|
|
15
|
+
import { useRef as lr, useMemo as t, useEffect as dr, Fragment as sr } from "react";
|
|
16
|
+
import { getPaletteValue as o, previewChromeBorder as $, getPreviewContrastColor as Pe, createThemePreviewVersionKey as h, gridPreviewBodyBackground as mr, gridPreviewBodyText as br, getThemePreviewStyleValue as ge, snackbarPreviewMessageByVariant as vr, getPreviewSectionOrder as hr, navbarPreviewItems as ur, themePreviewReadonlyTreeGridId as fr, themePreviewEditableTreeGridId as pr } from "./themePreviewCanvas.shared.js";
|
|
17
|
+
import { ThemePreviewTablesSection as xr, ThemePreviewGridSection as kr, ThemePreviewSearchHeaderSection as yr, ThemePreviewSnackbarsSection as wr, ThemePreviewButtonsSection as Pr, ThemePreviewGridPreviewTable as gr } from "./ThemePreviewCanvasSections.js";
|
|
18
|
+
import { snackbarPreviewIconByVariant as Sr } from "./themePreviewCanvas.icons.js";
|
|
19
|
+
import { merge as Se } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/merge.js";
|
|
20
|
+
function Fr({
|
|
21
|
+
activeSection: p,
|
|
22
|
+
isLoading: I = !1,
|
|
23
|
+
settings: e
|
|
24
|
+
}) {
|
|
25
|
+
var fe, pe, xe, ke, ye;
|
|
26
|
+
const z = lr([]), K = !1, Y = t(
|
|
27
|
+
() => Se(
|
|
28
|
+
{},
|
|
29
|
+
Xe,
|
|
30
|
+
e.theme.main.table
|
|
31
|
+
),
|
|
32
|
+
[e.theme.main.table]
|
|
33
|
+
), d = e.theme.toolbar.palette.mode, U = o(e, "toolbar", "background.default"), Ce = o(e, "toolbar", "background.paper"), x = o(e, "toolbar", "text.primary"), Te = o(e, "toolbar", "divider"), k = o(e, "toolbar", "common.white"), Be = o(e, "toolbar", "common.black"), _ = n(k, d === "dark" ? 0.06 : 0.78), L = n(k, d === "dark" ? 0.1 : 0.62), Z = n(k, d === "dark" ? 0.05 : 0.54), s = e.theme.navbar.palette.mode, W = o(e, "navbar", "background.default"), j = o(e, "navbar", "divider") || $, m = o(e, "navbar", "text.primary"), q = o(e, "navbar", "text.secondary"), A = o(e, "navbar", "primary.main"), J = o(e, "navbar", "secondary.main"), Q = Pe(
|
|
34
|
+
W,
|
|
35
|
+
m || "#111827"
|
|
36
|
+
), Ne = n(Q, s === "dark" ? 0.72 : 0.64), X = n(
|
|
37
|
+
A,
|
|
38
|
+
s === "dark" ? 0.2 : 0.12
|
|
39
|
+
), ee = n(A, s === "dark" ? 0.42 : 0.28), He = A, re = q || n(m, s === "dark" ? 0.78 : 0.72), $e = n(J, s === "dark" ? 0.22 : 0.12), Ie = tr(W, s === "dark" ? 0.08 : 0.05), ze = q || n(m, s === "dark" ? 0.78 : 0.62), O = o(e, "main", "background.default"), y = o(e, "main", "background.paper"), oe = o(e, "main", "text.primary"), We = o(e, "main", "text.secondary"), w = o(e, "main", "primary.main"), ae = o(e, "main", "primary.contrastText"), P = o(e, "main", "secondary.main"), ne = o(e, "main", "secondary.contrastText"), g = o(e, "main", "success.main"), te = o(e, "main", "success.contrastText"), S = o(e, "main", "info.main"), ce = o(e, "main", "info.contrastText"), C = o(e, "main", "warning.main"), ie = o(e, "main", "warning.contrastText"), T = o(e, "main", "error.main"), le = o(e, "main", "error.contrastText"), b = e.theme.main.grid, B = h(b), N = h(e.theme.main.table), V = h({
|
|
40
|
+
palette: e.theme.main.palette ?? {},
|
|
41
|
+
table: e.theme.main.table ?? {}
|
|
42
|
+
}), je = `${pr}-${B}`, Ae = `${fr}-${B}`, de = "#586980", G = "#ffffff", se = "14px", me = "13px", be = ((fe = b == null ? void 0 : b.body) == null ? void 0 : fe.backgroundColor) ?? mr, ve = n(G, 0.22), he = n(br, 0.14), u = t(
|
|
43
|
+
() => ({
|
|
44
|
+
...e,
|
|
45
|
+
theme: {
|
|
46
|
+
...e.theme,
|
|
47
|
+
navbar: e.theme.main,
|
|
48
|
+
toolbar: e.theme.main
|
|
49
|
+
}
|
|
50
|
+
}),
|
|
51
|
+
[e]
|
|
52
|
+
), D = h(
|
|
53
|
+
u.theme.main
|
|
54
|
+
), M = t(
|
|
55
|
+
() => ({
|
|
56
|
+
owpSettings: {
|
|
57
|
+
current: u,
|
|
58
|
+
defaults: u,
|
|
59
|
+
initial: u
|
|
60
|
+
}
|
|
61
|
+
}),
|
|
62
|
+
[u]
|
|
63
|
+
), R = cr().format("YYYY-MM-DD"), Oe = t(
|
|
64
|
+
() => `OWP-${R.replace(/-/g, "")}-001`,
|
|
65
|
+
[R]
|
|
66
|
+
), f = t(
|
|
67
|
+
() => ({
|
|
68
|
+
backgroundColor: y,
|
|
69
|
+
border: `1px solid ${$}`
|
|
70
|
+
}),
|
|
71
|
+
[y]
|
|
72
|
+
), Ve = t(
|
|
73
|
+
() => ({
|
|
74
|
+
backgroundColor: _,
|
|
75
|
+
borderColor: L,
|
|
76
|
+
boxShadow: `inset 0 1px 0 ${Z}`
|
|
77
|
+
}),
|
|
78
|
+
[_, L, Z]
|
|
79
|
+
), Ge = t(
|
|
80
|
+
() => ({
|
|
81
|
+
backgroundColor: X,
|
|
82
|
+
borderColor: ee
|
|
83
|
+
}),
|
|
84
|
+
[X, ee]
|
|
85
|
+
), De = t(
|
|
86
|
+
() => [
|
|
87
|
+
{ label: "primary", color: w, contrastColor: ae },
|
|
88
|
+
{ label: "secondary", color: P, contrastColor: ne },
|
|
89
|
+
{ label: "info", color: S, contrastColor: ce },
|
|
90
|
+
{ label: "warning", color: C, contrastColor: ie },
|
|
91
|
+
{ label: "error", color: T, contrastColor: le },
|
|
92
|
+
{ label: "success", color: g, contrastColor: te }
|
|
93
|
+
].map((a) => ({
|
|
94
|
+
...a,
|
|
95
|
+
previewContrastColor: a.label === "error" || a.label === "success" ? Pe(a.color, a.contrastColor) : a.contrastColor
|
|
96
|
+
})),
|
|
97
|
+
[
|
|
98
|
+
T,
|
|
99
|
+
le,
|
|
100
|
+
S,
|
|
101
|
+
ce,
|
|
102
|
+
w,
|
|
103
|
+
ae,
|
|
104
|
+
P,
|
|
105
|
+
ne,
|
|
106
|
+
g,
|
|
107
|
+
te,
|
|
108
|
+
C,
|
|
109
|
+
ie
|
|
110
|
+
]
|
|
111
|
+
), ue = e.snackbar ?? Je, v = t(
|
|
112
|
+
() => Se({}, H, e.snackbarProviderProps),
|
|
113
|
+
[e.snackbarProviderProps]
|
|
114
|
+
), Me = ((pe = v.anchorOrigin) == null ? void 0 : pe.horizontal) ?? H.anchorOrigin.horizontal, Re = ((xe = v.anchorOrigin) == null ? void 0 : xe.vertical) ?? H.anchorOrigin.vertical, Ee = v.maxSnack ?? H.maxSnack, Fe = ge((ke = v.style) == null ? void 0 : ke.fontSize), Ke = ge(
|
|
115
|
+
(ye = v.style) == null ? void 0 : ye.lineHeight
|
|
116
|
+
), Ye = t(
|
|
117
|
+
() => Qe.map((a) => {
|
|
118
|
+
const l = ue[a];
|
|
119
|
+
return {
|
|
120
|
+
actionHoverColor: n(
|
|
121
|
+
l.color,
|
|
122
|
+
a === "default" ? 0.18 : 0.16
|
|
123
|
+
),
|
|
124
|
+
backgroundColor: l.backgroundColor,
|
|
125
|
+
color: l.color,
|
|
126
|
+
icon: Sr[a],
|
|
127
|
+
key: a,
|
|
128
|
+
message: vr[a]
|
|
129
|
+
};
|
|
130
|
+
}),
|
|
131
|
+
[ue]
|
|
132
|
+
), Ue = t(
|
|
133
|
+
() => hr(p),
|
|
134
|
+
[p]
|
|
135
|
+
), _e = t(
|
|
136
|
+
() => ({
|
|
137
|
+
buttons: h({
|
|
138
|
+
error: T,
|
|
139
|
+
info: S,
|
|
140
|
+
primary: w,
|
|
141
|
+
secondary: P,
|
|
142
|
+
success: g,
|
|
143
|
+
warning: C
|
|
144
|
+
}),
|
|
145
|
+
grid: `${D}-${B}`,
|
|
146
|
+
searchHeader: V,
|
|
147
|
+
snackbars: h({
|
|
148
|
+
provider: e.snackbarProviderProps,
|
|
149
|
+
snackbar: e.snackbar
|
|
150
|
+
}),
|
|
151
|
+
tables: N
|
|
152
|
+
}),
|
|
153
|
+
[
|
|
154
|
+
B,
|
|
155
|
+
T,
|
|
156
|
+
S,
|
|
157
|
+
w,
|
|
158
|
+
P,
|
|
159
|
+
g,
|
|
160
|
+
D,
|
|
161
|
+
C,
|
|
162
|
+
V,
|
|
163
|
+
e.snackbar,
|
|
164
|
+
e.snackbarProviderProps,
|
|
165
|
+
N
|
|
166
|
+
]
|
|
167
|
+
), Le = t(
|
|
168
|
+
() => /* @__PURE__ */ r(
|
|
169
|
+
gr,
|
|
170
|
+
{
|
|
171
|
+
gridBodyBorder: he,
|
|
172
|
+
layoutPreviewGridCellBackground: be,
|
|
173
|
+
layoutPreviewGridCellFontSize: me,
|
|
174
|
+
layoutPreviewGridHeaderBackground: de,
|
|
175
|
+
layoutPreviewGridHeaderBorder: ve,
|
|
176
|
+
layoutPreviewGridHeaderColor: G,
|
|
177
|
+
layoutPreviewGridHeaderFontSize: se
|
|
178
|
+
}
|
|
179
|
+
),
|
|
180
|
+
[
|
|
181
|
+
he,
|
|
182
|
+
be,
|
|
183
|
+
me,
|
|
184
|
+
de,
|
|
185
|
+
ve,
|
|
186
|
+
G,
|
|
187
|
+
se
|
|
188
|
+
]
|
|
189
|
+
);
|
|
190
|
+
dr(() => () => {
|
|
191
|
+
z.current.forEach((a) => {
|
|
192
|
+
ir(a);
|
|
193
|
+
}), z.current = [];
|
|
194
|
+
}, []);
|
|
195
|
+
const Ze = /* @__PURE__ */ F((a) => {
|
|
196
|
+
var l;
|
|
197
|
+
switch (a) {
|
|
198
|
+
case "buttons":
|
|
199
|
+
return /* @__PURE__ */ r(
|
|
200
|
+
Pr,
|
|
201
|
+
{
|
|
202
|
+
buttonPreviewItems: De,
|
|
203
|
+
mainTextSecondary: We,
|
|
204
|
+
previewSectionCardSx: f
|
|
205
|
+
}
|
|
206
|
+
);
|
|
207
|
+
case "snackbars":
|
|
208
|
+
return /* @__PURE__ */ r(
|
|
209
|
+
wr,
|
|
210
|
+
{
|
|
211
|
+
previewSectionCardSx: f,
|
|
212
|
+
previewSnackbarKeysRef: z,
|
|
213
|
+
snackbarAnchorOrigin: v.anchorOrigin,
|
|
214
|
+
snackbarAutoHideDuration: v.autoHideDuration,
|
|
215
|
+
snackbarPreviewAnchorHorizontal: Me,
|
|
216
|
+
snackbarPreviewAnchorVertical: Re,
|
|
217
|
+
snackbarPreviewFontSize: Fe,
|
|
218
|
+
snackbarPreviewItems: Ye,
|
|
219
|
+
snackbarPreviewLineHeight: Ke,
|
|
220
|
+
snackbarPreviewMaxSnack: Ee
|
|
221
|
+
}
|
|
222
|
+
);
|
|
223
|
+
case "searchHeader":
|
|
224
|
+
return /* @__PURE__ */ r(
|
|
225
|
+
yr,
|
|
226
|
+
{
|
|
227
|
+
gridPreviewTable: Le,
|
|
228
|
+
mainBackground: O,
|
|
229
|
+
mainPaper: y,
|
|
230
|
+
mainText: oe,
|
|
231
|
+
mainThemePreviewStoreState: M,
|
|
232
|
+
previewSectionCardSx: f,
|
|
233
|
+
searchHeaderPreviewDate: R,
|
|
234
|
+
searchHeaderPreviewNumber: Oe,
|
|
235
|
+
searchHeaderPreviewVersionKey: V,
|
|
236
|
+
tablePreviewCanTableRadiusZero: K,
|
|
237
|
+
tableTheme: Y,
|
|
238
|
+
tableThemePreviewVersionKey: N
|
|
239
|
+
}
|
|
240
|
+
);
|
|
241
|
+
case "grid":
|
|
242
|
+
return /* @__PURE__ */ r(
|
|
243
|
+
kr,
|
|
244
|
+
{
|
|
245
|
+
editableThemePreviewGridId: je,
|
|
246
|
+
mainGridChangedBackgroundColor: (l = b == null ? void 0 : b.changed) == null ? void 0 : l.backgroundColor,
|
|
247
|
+
mainThemePreviewStoreKey: D,
|
|
248
|
+
mainThemePreviewStoreState: M,
|
|
249
|
+
previewSectionCardSx: f,
|
|
250
|
+
readonlyThemePreviewGridId: Ae
|
|
251
|
+
}
|
|
252
|
+
);
|
|
253
|
+
case "tables":
|
|
254
|
+
return /* @__PURE__ */ r(
|
|
255
|
+
xr,
|
|
256
|
+
{
|
|
257
|
+
mainThemePreviewStoreState: M,
|
|
258
|
+
previewSectionCardSx: f,
|
|
259
|
+
tablePreviewCanTableRadiusZero: K,
|
|
260
|
+
tableTheme: Y,
|
|
261
|
+
tableThemePreviewVersionKey: N
|
|
262
|
+
}
|
|
263
|
+
);
|
|
264
|
+
default:
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
}, "renderPreviewSection");
|
|
268
|
+
return /* @__PURE__ */ r("div", { className: "flex h-full min-h-0 flex-col", children: /* @__PURE__ */ c(
|
|
269
|
+
"div",
|
|
270
|
+
{
|
|
271
|
+
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",
|
|
272
|
+
style: {
|
|
273
|
+
backgroundColor: O,
|
|
274
|
+
borderColor: $
|
|
275
|
+
},
|
|
276
|
+
children: [
|
|
277
|
+
/* @__PURE__ */ c(
|
|
278
|
+
"div",
|
|
279
|
+
{
|
|
280
|
+
className: "col-span-2 relative flex items-center justify-between px-20",
|
|
281
|
+
style: {
|
|
282
|
+
backgroundColor: U,
|
|
283
|
+
backgroundImage: `linear-gradient(180deg, ${U} 0%, ${Ce} 100%)`,
|
|
284
|
+
borderBottom: `1px solid ${Te}`,
|
|
285
|
+
boxShadow: `inset 0 1px 0 ${n(k, d === "dark" ? 0.06 : 0.82)}, 0 4px 16px ${n(Be, d === "dark" ? 0.18 : 0.05)}`,
|
|
286
|
+
color: x
|
|
287
|
+
},
|
|
288
|
+
children: [
|
|
289
|
+
/* @__PURE__ */ r("div", { className: "flex items-center gap-12", children: /* @__PURE__ */ c("div", { className: "flex flex-col gap-2", children: [
|
|
290
|
+
/* @__PURE__ */ c(
|
|
291
|
+
"div",
|
|
292
|
+
{
|
|
293
|
+
className: "flex items-center gap-2",
|
|
294
|
+
style: {
|
|
295
|
+
color: n(x, d === "dark" ? 0.72 : 0.64)
|
|
296
|
+
},
|
|
297
|
+
children: [
|
|
298
|
+
/* @__PURE__ */ r(i, { variant: "caption", children: "OWP" }),
|
|
299
|
+
/* @__PURE__ */ r(we, { sx: { fontSize: 18 } }),
|
|
300
|
+
/* @__PURE__ */ r(i, { variant: "caption", children: "Theme Preview" })
|
|
301
|
+
]
|
|
302
|
+
}
|
|
303
|
+
),
|
|
304
|
+
/* @__PURE__ */ r(i, { variant: "subtitle1", fontWeight: 700, children: "Toolbar" })
|
|
305
|
+
] }) }),
|
|
306
|
+
/* @__PURE__ */ r("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", children: /* @__PURE__ */ c(
|
|
307
|
+
i,
|
|
308
|
+
{
|
|
309
|
+
variant: "body2",
|
|
310
|
+
sx: {
|
|
311
|
+
color: n(x, d === "dark" ? 0.92 : 0.84),
|
|
312
|
+
fontSize: 13,
|
|
313
|
+
fontWeight: 700
|
|
314
|
+
},
|
|
315
|
+
children: [
|
|
316
|
+
"로그인 화면 배경색은 Toolbar",
|
|
317
|
+
" ",
|
|
318
|
+
/* @__PURE__ */ r(we, { sx: { mx: 0.25, fontSize: 18, verticalAlign: "middle" } }),
|
|
319
|
+
" ",
|
|
320
|
+
"Background Default 색상을 따라갑니다."
|
|
321
|
+
]
|
|
322
|
+
}
|
|
323
|
+
) }),
|
|
324
|
+
/* @__PURE__ */ r("div", { className: "flex items-center gap-8", children: [or, ar].map((a, l) => /* @__PURE__ */ r(
|
|
325
|
+
"div",
|
|
326
|
+
{
|
|
327
|
+
className: "flex h-32 w-32 items-center justify-center rounded-[10px] border border-solid",
|
|
328
|
+
style: Ve,
|
|
329
|
+
children: /* @__PURE__ */ r(a, { sx: { color: x, fontSize: 18 } })
|
|
330
|
+
},
|
|
331
|
+
`${l}`
|
|
332
|
+
)) })
|
|
333
|
+
]
|
|
334
|
+
}
|
|
335
|
+
),
|
|
336
|
+
/* @__PURE__ */ c(
|
|
337
|
+
"div",
|
|
338
|
+
{
|
|
339
|
+
className: "flex min-h-0 flex-col",
|
|
340
|
+
style: {
|
|
341
|
+
backgroundColor: W,
|
|
342
|
+
borderRight: `1px solid ${j}`,
|
|
343
|
+
color: m
|
|
344
|
+
},
|
|
345
|
+
children: [
|
|
346
|
+
/* @__PURE__ */ c(
|
|
347
|
+
"div",
|
|
348
|
+
{
|
|
349
|
+
className: "flex items-center justify-between gap-8 px-16 py-14",
|
|
350
|
+
style: {
|
|
351
|
+
borderBottom: `1px solid ${j}`
|
|
352
|
+
},
|
|
353
|
+
children: [
|
|
354
|
+
/* @__PURE__ */ r("div", { className: "flex items-center gap-10", children: /* @__PURE__ */ c("div", { className: "flex flex-col gap-2", children: [
|
|
355
|
+
/* @__PURE__ */ r(
|
|
356
|
+
i,
|
|
357
|
+
{
|
|
358
|
+
variant: "subtitle2",
|
|
359
|
+
fontWeight: 700,
|
|
360
|
+
sx: {
|
|
361
|
+
color: Q
|
|
362
|
+
},
|
|
363
|
+
children: "Navbar"
|
|
364
|
+
}
|
|
365
|
+
),
|
|
366
|
+
/* @__PURE__ */ r(i, { variant: "caption", sx: { color: Ne }, children: "Navigation" })
|
|
367
|
+
] }) }),
|
|
368
|
+
/* @__PURE__ */ r(
|
|
369
|
+
"div",
|
|
370
|
+
{
|
|
371
|
+
className: "flex h-28 w-28 items-center justify-center rounded-[10px] border border-solid",
|
|
372
|
+
style: Ge,
|
|
373
|
+
children: /* @__PURE__ */ r(rr, { sx: { color: He, fontSize: 16 } })
|
|
374
|
+
}
|
|
375
|
+
)
|
|
376
|
+
]
|
|
377
|
+
}
|
|
378
|
+
),
|
|
379
|
+
/* @__PURE__ */ r("div", { className: "flex flex-1 flex-col gap-4 px-10 py-10", children: ur.map((a, l) => {
|
|
380
|
+
const E = l === 1;
|
|
381
|
+
return /* @__PURE__ */ r(
|
|
382
|
+
"div",
|
|
383
|
+
{
|
|
384
|
+
className: "rounded-lg px-12 py-10",
|
|
385
|
+
style: {
|
|
386
|
+
backgroundColor: E ? $e : "transparent",
|
|
387
|
+
color: E ? J : re
|
|
388
|
+
},
|
|
389
|
+
children: /* @__PURE__ */ r(i, { variant: "body2", fontWeight: E ? 700 : 500, children: a })
|
|
390
|
+
},
|
|
391
|
+
a
|
|
392
|
+
);
|
|
393
|
+
}) }),
|
|
394
|
+
/* @__PURE__ */ r(
|
|
395
|
+
"div",
|
|
396
|
+
{
|
|
397
|
+
className: "px-12 py-12",
|
|
398
|
+
style: {
|
|
399
|
+
borderTop: `1px solid ${j}`
|
|
400
|
+
},
|
|
401
|
+
children: /* @__PURE__ */ c(
|
|
402
|
+
"div",
|
|
403
|
+
{
|
|
404
|
+
className: "flex min-h-[56px] items-center gap-12 rounded-lg px-8 py-8",
|
|
405
|
+
style: { color: m },
|
|
406
|
+
children: [
|
|
407
|
+
/* @__PURE__ */ r(
|
|
408
|
+
"div",
|
|
409
|
+
{
|
|
410
|
+
className: "flex h-36 w-36 shrink-0 items-center justify-center rounded-full",
|
|
411
|
+
style: {
|
|
412
|
+
backgroundColor: Ie,
|
|
413
|
+
color: ze
|
|
414
|
+
},
|
|
415
|
+
children: /* @__PURE__ */ r(i, { sx: { fontSize: 18, fontWeight: 700, lineHeight: 1 }, children: "관" })
|
|
416
|
+
}
|
|
417
|
+
),
|
|
418
|
+
/* @__PURE__ */ c("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
419
|
+
/* @__PURE__ */ r(
|
|
420
|
+
i,
|
|
421
|
+
{
|
|
422
|
+
className: "truncate",
|
|
423
|
+
sx: {
|
|
424
|
+
color: m,
|
|
425
|
+
fontSize: 16,
|
|
426
|
+
fontWeight: 600,
|
|
427
|
+
letterSpacing: "-0.01em",
|
|
428
|
+
lineHeight: 1
|
|
429
|
+
},
|
|
430
|
+
children: "Impix"
|
|
431
|
+
}
|
|
432
|
+
),
|
|
433
|
+
/* @__PURE__ */ r(
|
|
434
|
+
i,
|
|
435
|
+
{
|
|
436
|
+
className: "truncate",
|
|
437
|
+
sx: {
|
|
438
|
+
color: re,
|
|
439
|
+
fontSize: 14,
|
|
440
|
+
fontWeight: 500,
|
|
441
|
+
letterSpacing: "-0.02em",
|
|
442
|
+
lineHeight: 1.05
|
|
443
|
+
},
|
|
444
|
+
children: "Owp/Admin"
|
|
445
|
+
}
|
|
446
|
+
)
|
|
447
|
+
] }),
|
|
448
|
+
/* @__PURE__ */ r("div", { className: "flex shrink-0 items-center justify-center", style: { color: m }, children: /* @__PURE__ */ r(er, { sx: { fontSize: 16 } }) })
|
|
449
|
+
]
|
|
450
|
+
}
|
|
451
|
+
)
|
|
452
|
+
}
|
|
453
|
+
)
|
|
454
|
+
]
|
|
455
|
+
}
|
|
456
|
+
),
|
|
457
|
+
/* @__PURE__ */ c(
|
|
458
|
+
"div",
|
|
459
|
+
{
|
|
460
|
+
className: "relative flex min-h-0 flex-col gap-14 overflow-auto p-14",
|
|
461
|
+
style: {
|
|
462
|
+
backgroundColor: O,
|
|
463
|
+
color: oe
|
|
464
|
+
},
|
|
465
|
+
children: [
|
|
466
|
+
I ? /* @__PURE__ */ r(
|
|
467
|
+
"div",
|
|
468
|
+
{
|
|
469
|
+
className: "absolute inset-14 z-10 flex items-center justify-center rounded-lg",
|
|
470
|
+
style: {
|
|
471
|
+
backgroundColor: n(y, 0.88),
|
|
472
|
+
border: `1px solid ${$}`
|
|
473
|
+
},
|
|
474
|
+
children: /* @__PURE__ */ c("div", { className: "flex flex-col items-center gap-10", children: [
|
|
475
|
+
/* @__PURE__ */ r(nr, { color: "secondary", size: 34, thickness: 4.5 }),
|
|
476
|
+
/* @__PURE__ */ r(i, { variant: "body2", color: "text.secondary", fontWeight: 700, children: "로딩 중..." })
|
|
477
|
+
] })
|
|
478
|
+
}
|
|
479
|
+
) : null,
|
|
480
|
+
Ue.map((a) => /* @__PURE__ */ r(sr, { children: Ze(a) }, `${a}-${_e[a]}`))
|
|
481
|
+
]
|
|
482
|
+
}
|
|
483
|
+
)
|
|
484
|
+
]
|
|
485
|
+
}
|
|
486
|
+
) });
|
|
487
|
+
}
|
|
488
|
+
F(Fr, "ThemePreviewCanvas");
|
|
489
|
+
export {
|
|
490
|
+
Fr as ThemePreviewCanvas
|
|
491
|
+
};
|
|
492
|
+
//# sourceMappingURL=ThemePreviewCanvas.js.map
|
|
@@ -0,0 +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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"}
|