@owp/core 2.5.9 → 2.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index10.js +2 -2
- package/dist/_virtual/index12.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/_virtual/index20.js +2 -2
- package/dist/_virtual/index21.js +2 -2
- package/dist/_virtual/index22.js +2 -2
- package/dist/_virtual/index5.js +2 -2
- package/dist/components/OwpTable/OwpFieldTable.js +108 -92
- package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
- package/dist/components/OwpTable/OwpTable.js +161 -141
- package/dist/components/OwpTable/OwpTable.js.map +1 -1
- package/dist/components/OwpTable/internal/FieldTableValue.js +43 -0
- package/dist/components/OwpTable/internal/FieldTableValue.js.map +1 -0
- package/dist/components/OwpTable/internal/defaultTableStyle.js +13 -10
- package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js +170 -169
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +195 -147
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +79 -76
- package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
- package/dist/configs/defaultConfig.js +110 -70
- package/dist/configs/defaultConfig.js.map +1 -1
- package/dist/constants/tableTheme.js +7 -6
- package/dist/constants/tableTheme.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewCanvas.js +275 -273
- package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewCanvasSections.js +552 -316
- package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewColorField.js +227 -202
- package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewControls.js +270 -220
- package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -1
- package/dist/features/themePreview/components/themePreviewCanvas.shared.js +38 -38
- package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -1
- package/dist/features/themePreview/configs/settings.js +33 -20
- package/dist/features/themePreview/configs/settings.js.map +1 -1
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +227 -220
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -1
- package/dist/features/themePreview/hooks/useThemePreview.js +250 -226
- package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
- package/dist/features/themePreview/utils/themePreviewDefinitions.js +63 -30
- package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -1
- package/dist/features/themePreview/utils/themePreviewSettings.js +188 -151
- package/dist/features/themePreview/utils/themePreviewSettings.js.map +1 -1
- package/dist/features/themePreview.js +18 -17
- package/dist/layout/components/navbar/NavbarToggleButton.js +46 -42
- package/dist/layout/components/navbar/NavbarToggleButton.js.map +1 -1
- package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
- package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/match/index.js +1 -1
- package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/parse/index.js +1 -1
- 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/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/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/OwpFieldTable.d.ts +7 -3
- package/dist/types/components/OwpTable/OwpTable.d.ts +3 -1
- package/dist/types/components/OwpTable/internal/FieldTableValue.d.ts +17 -0
- package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +3 -0
- package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +3 -1
- package/dist/types/components/OwpTreeGrid/internal/treeGridTheme.d.ts +1 -1
- package/dist/types/configs/defaultConfig.d.ts +42 -3
- package/dist/types/constants/tableTheme.d.ts +1 -0
- package/dist/types/features/themePreview/components/ThemePreviewCanvasSections.d.ts +8 -0
- package/dist/types/features/themePreview/components/themePreviewCanvas.shared.d.ts +3 -3
- package/dist/types/features/themePreview/configs/settings.d.ts +12 -0
- package/dist/types/features/themePreview/utils/index.d.ts +1 -1
- package/dist/types/features/themePreview/utils/themePreviewSettings.d.ts +11 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types/OwpMuiThemeTypes.d.ts +9 -0
- package/dist/types/types/OwpTableThemeTypes.d.ts +1 -0
- package/dist/types/types/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThemePreview.js","sources":["../../../../src/features/themePreview/hooks/useThemePreview.ts"],"sourcesContent":["import {\n clearThemePreviewAppliedSettings,\n getThemePreviewTemporaryState,\n persistThemePreviewAppliedSettings,\n persistThemePreviewTemporaryState,\n type ThemePreviewTemporaryState,\n} from '@/features/themePreview/configs/previewStorage';\nimport {\n defaultSnackbarProviderProps,\n defaultSnackbarTheme,\n type SnackbarProviderTheme,\n} from '@/features/themePreview/configs/snackbar';\nimport { useGetCurrentSettings, useSetDefaultSettings } from '@/hooks';\nimport type { OwpSettingsConfigType } from '@/types';\nimport { isEqual, merge } from 'es-toolkit/compat';\nimport { useMemo, useState } from 'react';\nimport type { PartialDeep } from 'type-fest';\nimport type {\n ThemePreviewMode,\n ThemePreviewPresetKeyBySection,\n ThemePreviewPresetSectionKey,\n ThemePreviewPresetThemes,\n ThemePreviewSectionKey,\n ThemePreviewSettings,\n} from '../types';\nimport {\n applyThemePreviewPreset,\n cloneThemePreviewSettings,\n getThemePreviewDraftSettings,\n getThemePreviewPresetOptions,\n getThemePreviewPresetOptionsByMode,\n getThemePreviewResetSettings,\n getThemePreviewSelectionState,\n isThemePreviewCustomSection,\n setThemePreviewDraftSettings,\n setThemePreviewPaletteValue,\n setThemePreviewPaletteValues,\n setThemePreviewSelectionState,\n THEME_PREVIEW_CUSTOM_PRESET_KEY,\n} from '../utils';\nimport dayjs from 'dayjs';\n\ninterface UseThemePreviewOptions {\n initialSection?: ThemePreviewSectionKey;\n initialPresetKeys: ThemePreviewPresetKeyBySection;\n presetThemes: ThemePreviewPresetThemes;\n resetTheme: PartialDeep<OwpSettingsConfigType['theme']>;\n}\n\ntype ThemePreviewSettingsWithSnackbarProviderProps = OwpSettingsConfigType & {\n snackbarProviderProps?: SnackbarProviderTheme;\n};\n\nconst themePreviewCustomPresetKeys = {\n main: THEME_PREVIEW_CUSTOM_PRESET_KEY,\n navbar: THEME_PREVIEW_CUSTOM_PRESET_KEY,\n toolbar: THEME_PREVIEW_CUSTOM_PRESET_KEY,\n} satisfies ThemePreviewPresetKeyBySection;\nconst THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX = 'snackbarProviderProps.';\n\nfunction isThemePreviewPresetSectionKey(\n sectionKey: ThemePreviewSectionKey,\n): sectionKey is ThemePreviewPresetSectionKey {\n return !isThemePreviewCustomSection(sectionKey);\n}\n\nfunction getThemePreviewSelectedModes(settings: OwpSettingsConfigType) {\n return {\n main: settings.theme.main.palette.mode === 'dark' ? 'dark' : 'light',\n navbar: settings.theme.navbar.palette.mode === 'dark' ? 'dark' : 'light',\n toolbar: settings.theme.toolbar.palette.mode === 'dark' ? 'dark' : 'light',\n } satisfies Record<ThemePreviewPresetSectionKey, ThemePreviewMode>;\n}\n\nfunction createThemePreviewTemporaryState(\n activeSection: ThemePreviewSectionKey,\n draftSettings: ThemePreviewSettings,\n selectedPresetKeys: ThemePreviewPresetKeyBySection,\n selectedModes: Record<ThemePreviewPresetSectionKey, ThemePreviewMode>,\n saveType: ThemePreviewTemporaryState['saveType'],\n) {\n return {\n draftSettings: cloneThemePreviewSettings(draftSettings),\n savedAt: dayjs().toISOString(),\n saveType,\n selectionState: {\n activeSection,\n selectedModes,\n selectedPresetKeys,\n },\n version: 1,\n } satisfies ThemePreviewTemporaryState;\n}\n\nfunction createThemePreviewTemporaryComparableState(\n activeSection: ThemePreviewSectionKey,\n draftSettings: ThemePreviewSettings,\n selectedPresetKeys: ThemePreviewPresetKeyBySection,\n selectedModes: Record<ThemePreviewPresetSectionKey, ThemePreviewMode>,\n) {\n return {\n draftSettings,\n selectionState: {\n activeSection,\n selectedModes,\n selectedPresetKeys,\n },\n };\n}\n\nfunction getResetSectionTarget(\n settings: ThemePreviewSettings,\n sectionKey: ThemePreviewSectionKey,\n) {\n switch (sectionKey) {\n case 'grid':\n return settings.theme.main.grid;\n case 'table':\n return settings.theme.main.table;\n case 'snackbar':\n return settings.snackbar;\n default:\n return settings.theme[sectionKey].palette;\n }\n}\n\nfunction canUseEmptyResetValue(sectionKey: ThemePreviewSectionKey) {\n return sectionKey === 'grid' || sectionKey === 'table';\n}\n\nfunction getResetPathValue(\n settings: ThemePreviewSettings,\n sectionKey: ThemePreviewSectionKey,\n path: string,\n) {\n const [pathSource, resolvedPath] = path.startsWith(THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX)\n ? [\n settings.snackbarProviderProps,\n path.slice(THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX.length),\n ]\n : [getResetSectionTarget(settings, sectionKey), path];\n\n const pathKeys = resolvedPath.split('.');\n let currentValue: unknown = pathSource;\n\n for (const pathKey of pathKeys) {\n if (\n !currentValue ||\n typeof currentValue !== 'object' ||\n !(pathKey in (currentValue as Record<string, unknown>))\n ) {\n return {\n found: false,\n value: '',\n } as const;\n }\n\n currentValue = (currentValue as Record<string, unknown>)[pathKey];\n }\n\n if (typeof currentValue === 'number') {\n return {\n found: true,\n value: String(currentValue),\n } as const;\n }\n\n if (typeof currentValue === 'string') {\n if (!currentValue.trim() && !canUseEmptyResetValue(sectionKey)) {\n return {\n found: false,\n value: '',\n } as const;\n }\n\n return {\n found: true,\n value: currentValue,\n } as const;\n }\n\n return {\n found: false,\n value: '',\n } as const;\n}\n\nexport function useThemePreview({\n initialSection = 'main',\n initialPresetKeys: _initialPresetKeys,\n presetThemes,\n resetTheme,\n}: UseThemePreviewOptions) {\n const currentSettings = useGetCurrentSettings() as OwpSettingsConfigType;\n const setDefaultSettings = useSetDefaultSettings();\n const presetOptions = useMemo(() => getThemePreviewPresetOptions(presetThemes), [presetThemes]);\n const initialDraftSettings = getThemePreviewDraftSettings(currentSettings);\n const [openedDraftSettings] = useState(() => cloneThemePreviewSettings(initialDraftSettings));\n const initialSelectionState = useMemo(\n () => getThemePreviewSelectionState(currentSettings, _initialPresetKeys),\n [currentSettings, _initialPresetKeys],\n );\n const resetSettings = useMemo(\n () => getThemePreviewResetSettings(currentSettings, resetTheme, defaultSnackbarTheme),\n [currentSettings, resetTheme],\n );\n const currentSnackbarTheme = useMemo(\n () => merge({}, defaultSnackbarTheme, currentSettings.snackbar),\n [currentSettings],\n );\n const currentSnackbarProviderProps = useMemo(\n () =>\n merge(\n {},\n defaultSnackbarProviderProps,\n (currentSettings as ThemePreviewSettingsWithSnackbarProviderProps)\n .snackbarProviderProps,\n ) as SnackbarProviderTheme,\n [currentSettings],\n );\n\n const [activeSection, setActiveSection] = useState<ThemePreviewSectionKey>(initialSection);\n const [draftSettings, setDraftSettings] = useState<ThemePreviewSettings>(() => initialDraftSettings);\n const [selectedPresetKeys, setSelectedPresetKeys] = useState<ThemePreviewPresetKeyBySection>(\n initialSelectionState.selectedPresetKeys,\n );\n const [selectedModes, setSelectedModes] = useState<\n Record<ThemePreviewPresetSectionKey, ThemePreviewMode>\n >(initialSelectionState.selectedModes);\n const [resetVersion, setResetVersion] = useState(0);\n const [temporarySnapshot, setTemporarySnapshot] = useState(() => getThemePreviewTemporaryState());\n const [temporaryComparableSnapshot, setTemporaryComparableSnapshot] = useState(() =>\n createThemePreviewTemporaryComparableState(\n initialSection,\n initialDraftSettings,\n initialSelectionState.selectedPresetKeys,\n initialSelectionState.selectedModes,\n ),\n );\n const hasTemporarySnapshot = Boolean(temporarySnapshot);\n const hasTemporaryChanges =\n !isEqual(\n createThemePreviewTemporaryComparableState(\n activeSection,\n draftSettings,\n selectedPresetKeys,\n selectedModes,\n ),\n temporaryComparableSnapshot,\n );\n const canApplyToMain =\n !isEqual(currentSettings.theme, draftSettings.theme) ||\n !isEqual(currentSnackbarTheme, draftSettings.snackbar) ||\n !isEqual(currentSnackbarProviderProps, draftSettings.snackbarProviderProps);\n\n const persistSelectionState = (\n nextPresetKeys: ThemePreviewPresetKeyBySection,\n nextSelectedModes: Record<ThemePreviewPresetSectionKey, ThemePreviewMode>,\n ) => {\n setThemePreviewSelectionState({\n selectedPresetKeys: nextPresetKeys,\n selectedModes: nextSelectedModes,\n });\n };\n\n const persistDraftSettings = (nextDraftSettings: ThemePreviewSettings) => {\n setThemePreviewDraftSettings(nextDraftSettings);\n return nextDraftSettings;\n };\n const commitDraftSettings = (nextDraftSettings: ThemePreviewSettings) => {\n setDraftSettings(nextDraftSettings);\n return persistDraftSettings(nextDraftSettings);\n };\n\n const commitSelectionState = (\n nextPresetKeys: ThemePreviewPresetKeyBySection,\n nextSelectedModes: Record<ThemePreviewPresetSectionKey, ThemePreviewMode>,\n ) => {\n setSelectedPresetKeys(nextPresetKeys);\n setSelectedModes(nextSelectedModes);\n persistSelectionState(nextPresetKeys, nextSelectedModes);\n };\n\n const handlePaletteValueChange = (path: string, value: string) => {\n commitDraftSettings(setThemePreviewPaletteValue(draftSettings, activeSection, path, value));\n\n if (!isThemePreviewPresetSectionKey(activeSection)) {\n return;\n }\n\n const nextPresetKeys = {\n ...selectedPresetKeys,\n [activeSection]: THEME_PREVIEW_CUSTOM_PRESET_KEY,\n };\n\n commitSelectionState(nextPresetKeys, selectedModes);\n };\n\n const handlePaletteValuesChange = (updates: Array<{ path: string; value: string }>) => {\n if (!updates.length) {\n return;\n }\n\n commitDraftSettings(setThemePreviewPaletteValues(draftSettings, activeSection, updates));\n\n if (!isThemePreviewPresetSectionKey(activeSection)) {\n return;\n }\n\n const nextPresetKeys = {\n ...selectedPresetKeys,\n [activeSection]: THEME_PREVIEW_CUSTOM_PRESET_KEY,\n };\n\n commitSelectionState(nextPresetKeys, selectedModes);\n };\n\n const handlePaletteValuesReset = (paths: string[]) => {\n const uniquePaths = [...new Set(paths)];\n\n if (!uniquePaths.length) {\n return;\n }\n\n const updates = uniquePaths.map((path) => {\n const temporaryValue = temporarySnapshot\n ? getResetPathValue(\n temporarySnapshot.draftSettings as ThemePreviewSettings,\n activeSection,\n path,\n )\n : { found: false, value: '' };\n const initialValue = getResetPathValue(openedDraftSettings, activeSection, path);\n const currentValue = getResetPathValue(draftSettings, activeSection, path);\n\n return {\n path,\n value: temporaryValue.found\n ? temporaryValue.value\n : initialValue.found\n ? initialValue.value\n : currentValue.value,\n };\n });\n\n commitDraftSettings(setThemePreviewPaletteValues(draftSettings, activeSection, updates));\n setResetVersion((prevState) => prevState + 1);\n };\n\n const handlePaletteValueReset = (path: string) => {\n handlePaletteValuesReset([path]);\n };\n\n const handlePresetModeChange = (mode: ThemePreviewMode) => {\n if (!isThemePreviewPresetSectionKey(activeSection)) {\n return;\n }\n\n const nextSelectedModes = {\n ...selectedModes,\n [activeSection]: mode,\n };\n\n const nextPresetOption = getThemePreviewPresetOptionsByMode(\n presetOptions,\n activeSection,\n mode,\n )[0];\n\n if (!nextPresetOption) {\n commitSelectionState(selectedPresetKeys, nextSelectedModes);\n return;\n }\n\n const presetTheme = presetThemes[nextPresetOption.key];\n\n if (!presetTheme) {\n commitSelectionState(selectedPresetKeys, nextSelectedModes);\n return;\n }\n\n commitDraftSettings(applyThemePreviewPreset(draftSettings, activeSection, presetTheme));\n const nextPresetKeys = {\n ...selectedPresetKeys,\n [activeSection]: nextPresetOption.key,\n };\n\n commitSelectionState(nextPresetKeys, nextSelectedModes);\n };\n\n const handlePresetKeyChange = (presetKey: string) => {\n if (!isThemePreviewPresetSectionKey(activeSection)) {\n return;\n }\n\n if (presetKey === THEME_PREVIEW_CUSTOM_PRESET_KEY) {\n return;\n }\n\n const presetTheme = presetThemes[presetKey];\n\n if (!presetTheme) {\n return;\n }\n\n commitDraftSettings(applyThemePreviewPreset(draftSettings, activeSection, presetTheme));\n const nextSelectedModes = {\n ...selectedModes,\n [activeSection]: presetTheme.palette.mode === 'dark' ? 'dark' : 'light',\n };\n const nextPresetKeys = {\n ...selectedPresetKeys,\n [activeSection]: presetKey,\n };\n\n commitSelectionState(nextPresetKeys, nextSelectedModes);\n };\n\n const handleReset = () => {\n const nextDraftSettings = merge({}, cloneThemePreviewSettings(resetSettings), {\n snackbarProviderProps: defaultSnackbarProviderProps,\n }) as ThemePreviewSettings;\n const nextSelectedModes = {\n main: resetTheme.main?.palette?.mode === 'dark' ? 'dark' : 'light',\n navbar: resetTheme.navbar?.palette?.mode === 'dark' ? 'dark' : 'light',\n toolbar: resetTheme.toolbar?.palette?.mode === 'dark' ? 'dark' : 'light',\n } satisfies Record<ThemePreviewPresetSectionKey, ThemePreviewMode>;\n\n commitDraftSettings(nextDraftSettings);\n commitSelectionState(_initialPresetKeys, nextSelectedModes);\n setTemporaryComparableSnapshot(\n createThemePreviewTemporaryComparableState(\n activeSection,\n nextDraftSettings,\n _initialPresetKeys,\n nextSelectedModes,\n ),\n );\n clearThemePreviewAppliedSettings();\n setDefaultSettings({\n theme: resetTheme,\n snackbar: defaultSnackbarTheme,\n snackbarProviderProps: defaultSnackbarProviderProps,\n } as PartialDeep<OwpSettingsConfigType>);\n };\n\n const handleApplyToMain = () => {\n const nextTemporaryState = createThemePreviewTemporaryState(\n activeSection,\n draftSettings,\n selectedPresetKeys,\n selectedModes,\n 'manual',\n );\n\n setThemePreviewDraftSettings(draftSettings);\n persistSelectionState(selectedPresetKeys, selectedModes);\n persistThemePreviewTemporaryState(nextTemporaryState);\n persistThemePreviewAppliedSettings({\n theme: draftSettings.theme,\n snackbar: draftSettings.snackbar,\n snackbarProviderProps: draftSettings.snackbarProviderProps,\n });\n setTemporarySnapshot(nextTemporaryState);\n setTemporaryComparableSnapshot({\n draftSettings,\n selectionState: nextTemporaryState.selectionState,\n });\n setDefaultSettings({\n theme: draftSettings.theme,\n snackbar: draftSettings.snackbar,\n snackbarProviderProps: draftSettings.snackbarProviderProps,\n } as PartialDeep<OwpSettingsConfigType>);\n };\n\n const handleLoadSettings = (\n theme: OwpSettingsConfigType['theme'],\n snackbarTheme = defaultSnackbarTheme,\n snackbarProviderProps: SnackbarProviderTheme = defaultSnackbarProviderProps,\n ) => {\n const nextDraftSettings = merge({}, currentSettings, {\n theme,\n snackbar: merge({}, defaultSnackbarTheme, snackbarTheme),\n snackbarProviderProps: merge(\n {},\n defaultSnackbarProviderProps,\n snackbarProviderProps,\n ),\n }) as ThemePreviewSettings;\n const nextSelectedModes = getThemePreviewSelectedModes(nextDraftSettings);\n\n commitDraftSettings(nextDraftSettings);\n commitSelectionState(themePreviewCustomPresetKeys, nextSelectedModes);\n setTemporaryComparableSnapshot(\n createThemePreviewTemporaryComparableState(\n activeSection,\n nextDraftSettings,\n themePreviewCustomPresetKeys,\n nextSelectedModes,\n ),\n );\n persistThemePreviewAppliedSettings({\n theme,\n snackbar: nextDraftSettings.snackbar,\n snackbarProviderProps: nextDraftSettings.snackbarProviderProps,\n });\n setDefaultSettings({\n theme,\n snackbar: nextDraftSettings.snackbar,\n snackbarProviderProps: nextDraftSettings.snackbarProviderProps,\n } as PartialDeep<OwpSettingsConfigType>);\n };\n\n const handleTemporarySave = (saveType: ThemePreviewTemporaryState['saveType'] = 'manual') => {\n const nextTemporaryState = createThemePreviewTemporaryState(\n activeSection,\n draftSettings,\n selectedPresetKeys,\n selectedModes,\n saveType,\n );\n\n persistThemePreviewTemporaryState(nextTemporaryState);\n setTemporarySnapshot(nextTemporaryState);\n setTemporaryComparableSnapshot({\n draftSettings,\n selectionState: nextTemporaryState.selectionState,\n });\n };\n\n const handleTemporaryLoad = () => {\n const temporaryState = getThemePreviewTemporaryState();\n\n if (!temporaryState) {\n return false;\n }\n\n const nextDraftSettings = cloneThemePreviewSettings(\n merge({}, currentSettings, temporaryState.draftSettings) as ThemePreviewSettings,\n );\n const nextSelectedPresetKeys = merge(\n {},\n selectedPresetKeys,\n temporaryState.selectionState.selectedPresetKeys,\n ) as ThemePreviewPresetKeyBySection;\n const nextSelectedModes = merge(\n {},\n selectedModes,\n temporaryState.selectionState.selectedModes,\n ) as Record<ThemePreviewPresetSectionKey, ThemePreviewMode>;\n const nextActiveSection = temporaryState.selectionState.activeSection;\n\n commitDraftSettings(nextDraftSettings);\n setActiveSection(nextActiveSection);\n commitSelectionState(nextSelectedPresetKeys, nextSelectedModes);\n setTemporarySnapshot(temporaryState);\n setTemporaryComparableSnapshot({\n draftSettings: nextDraftSettings,\n selectionState: temporaryState.selectionState,\n });\n\n return true;\n };\n\n return {\n activeSection,\n canApplyToMain,\n draftSettings,\n hasTemporaryChanges,\n hasTemporarySnapshot,\n presetOptions,\n resetVersion,\n selectedModes,\n selectedPresetKeys,\n setActiveSection,\n handlePaletteValueChange,\n handlePaletteValuesChange,\n handlePaletteValueReset,\n handlePaletteValuesReset,\n handleApplyToMain,\n handleLoadSettings,\n handlePresetKeyChange,\n handlePresetModeChange,\n handleReset,\n handleTemporaryLoad,\n handleTemporarySave,\n };\n}\n"],"names":["themePreviewCustomPresetKeys","THEME_PREVIEW_CUSTOM_PRESET_KEY","THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX","isThemePreviewPresetSectionKey","sectionKey","isThemePreviewCustomSection","__name","getThemePreviewSelectedModes","settings","createThemePreviewTemporaryState","activeSection","draftSettings","selectedPresetKeys","selectedModes","saveType","cloneThemePreviewSettings","dayjs","createThemePreviewTemporaryComparableState","getResetSectionTarget","canUseEmptyResetValue","getResetPathValue","path","pathSource","resolvedPath","pathKeys","currentValue","pathKey","useThemePreview","initialSection","_initialPresetKeys","presetThemes","resetTheme","currentSettings","useGetCurrentSettings","setDefaultSettings","useSetDefaultSettings","presetOptions","useMemo","getThemePreviewPresetOptions","initialDraftSettings","getThemePreviewDraftSettings","openedDraftSettings","useState","initialSelectionState","getThemePreviewSelectionState","resetSettings","getThemePreviewResetSettings","defaultSnackbarTheme","currentSnackbarTheme","merge","currentSnackbarProviderProps","defaultSnackbarProviderProps","setActiveSection","setDraftSettings","setSelectedPresetKeys","setSelectedModes","resetVersion","setResetVersion","temporarySnapshot","setTemporarySnapshot","getThemePreviewTemporaryState","temporaryComparableSnapshot","setTemporaryComparableSnapshot","hasTemporarySnapshot","hasTemporaryChanges","isEqual","canApplyToMain","persistSelectionState","nextPresetKeys","nextSelectedModes","setThemePreviewSelectionState","persistDraftSettings","nextDraftSettings","setThemePreviewDraftSettings","commitDraftSettings","commitSelectionState","handlePaletteValueChange","value","setThemePreviewPaletteValue","handlePaletteValuesChange","updates","setThemePreviewPaletteValues","handlePaletteValuesReset","paths","uniquePaths","temporaryValue","initialValue","prevState","nextTemporaryState","persistThemePreviewTemporaryState","persistThemePreviewAppliedSettings","theme","snackbarTheme","snackbarProviderProps","presetKey","presetTheme","applyThemePreviewPreset","mode","nextPresetOption","getThemePreviewPresetOptionsByMode","_b","_a","_d","_c","_f","_e","clearThemePreviewAppliedSettings","temporaryState","nextSelectedPresetKeys","nextActiveSection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useThemePreview.js","sources":["../../../../src/features/themePreview/hooks/useThemePreview.ts"],"sourcesContent":["import {\n clearThemePreviewAppliedSettings,\n getThemePreviewTemporaryState,\n persistThemePreviewAppliedSettings,\n persistThemePreviewTemporaryState,\n type ThemePreviewTemporaryState,\n} from '@/features/themePreview/configs/previewStorage';\nimport {\n defaultSnackbarProviderProps,\n defaultSnackbarTheme,\n type SnackbarProviderTheme,\n} from '@/features/themePreview/configs/snackbar';\nimport { useGetCurrentSettings, useSetDefaultSettings } from '@/hooks';\nimport type { OwpSettingsConfigType } from '@/types';\nimport { isEqual, merge } from 'es-toolkit/compat';\nimport { useMemo, useState } from 'react';\nimport type { PartialDeep } from 'type-fest';\nimport type {\n ThemePreviewMode,\n ThemePreviewPresetKeyBySection,\n ThemePreviewPresetSectionKey,\n ThemePreviewPresetThemes,\n ThemePreviewSectionKey,\n ThemePreviewSettings,\n} from '../types';\nimport {\n applyThemePreviewPreset,\n getThemePreviewPaletteValue,\n cloneThemePreviewSettings,\n getThemePreviewDraftSettings,\n getThemePreviewMatchedPresetKeys,\n getThemePreviewPresetOptions,\n getThemePreviewPresetOptionsByMode,\n getThemePreviewResetSettings,\n getThemePreviewSelectionState,\n isThemePreviewCustomSection,\n setThemePreviewDraftSettings,\n setThemePreviewPaletteValue,\n setThemePreviewPaletteValues,\n setThemePreviewSelectionState,\n THEME_PREVIEW_CUSTOM_PRESET_KEY,\n} from '../utils';\nimport dayjs from 'dayjs';\n\ninterface UseThemePreviewOptions {\n initialSection?: ThemePreviewSectionKey;\n initialPresetKeys: ThemePreviewPresetKeyBySection;\n presetThemes: ThemePreviewPresetThemes;\n resetTheme: PartialDeep<OwpSettingsConfigType['theme']>;\n}\n\ntype ThemePreviewSettingsWithSnackbarProviderProps = OwpSettingsConfigType & {\n snackbarProviderProps?: SnackbarProviderTheme;\n};\n\nconst THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX = 'snackbarProviderProps.';\n\nfunction isThemePreviewPresetSectionKey(\n sectionKey: ThemePreviewSectionKey,\n): sectionKey is ThemePreviewPresetSectionKey {\n return !isThemePreviewCustomSection(sectionKey);\n}\n\nfunction getThemePreviewSelectedModes(settings: OwpSettingsConfigType) {\n return {\n main: settings.theme.main.palette.mode === 'dark' ? 'dark' : 'light',\n navbar: settings.theme.navbar.palette.mode === 'dark' ? 'dark' : 'light',\n toolbar: settings.theme.toolbar.palette.mode === 'dark' ? 'dark' : 'light',\n } satisfies Record<ThemePreviewPresetSectionKey, ThemePreviewMode>;\n}\n\nfunction createThemePreviewTemporaryState(\n activeSection: ThemePreviewSectionKey,\n draftSettings: ThemePreviewSettings,\n selectedPresetKeys: ThemePreviewPresetKeyBySection,\n selectedModes: Record<ThemePreviewPresetSectionKey, ThemePreviewMode>,\n saveType: ThemePreviewTemporaryState['saveType'],\n) {\n return {\n draftSettings: cloneThemePreviewSettings(draftSettings),\n savedAt: dayjs().toISOString(),\n saveType,\n selectionState: {\n activeSection,\n selectedModes,\n selectedPresetKeys,\n },\n version: 1,\n } satisfies ThemePreviewTemporaryState;\n}\n\nfunction createThemePreviewTemporaryComparableState(\n activeSection: ThemePreviewSectionKey,\n draftSettings: ThemePreviewSettings,\n selectedPresetKeys: ThemePreviewPresetKeyBySection,\n selectedModes: Record<ThemePreviewPresetSectionKey, ThemePreviewMode>,\n) {\n return {\n draftSettings,\n selectionState: {\n activeSection,\n selectedModes,\n selectedPresetKeys,\n },\n };\n}\n\nfunction getResetSectionTarget(\n settings: ThemePreviewSettings,\n sectionKey: ThemePreviewSectionKey,\n) {\n switch (sectionKey) {\n case 'grid':\n return settings.theme.main.grid;\n case 'table':\n return settings.theme.main.table;\n case 'snackbar':\n return settings.snackbar;\n default:\n return settings.theme[sectionKey].palette;\n }\n}\n\nfunction canUseEmptyResetValue(sectionKey: ThemePreviewSectionKey) {\n return sectionKey === 'grid' || sectionKey === 'table';\n}\n\nfunction getResetPathValue(\n settings: ThemePreviewSettings,\n sectionKey: ThemePreviewSectionKey,\n path: string,\n) {\n const [pathSource, resolvedPath] = path.startsWith(THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX)\n ? [\n settings.snackbarProviderProps,\n path.slice(THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX.length),\n ]\n : [getResetSectionTarget(settings, sectionKey), path];\n\n const pathKeys = resolvedPath.split('.');\n let currentValue: unknown = pathSource;\n\n for (const pathKey of pathKeys) {\n if (\n !currentValue ||\n typeof currentValue !== 'object' ||\n !(pathKey in (currentValue as Record<string, unknown>))\n ) {\n return {\n found: false,\n value: '',\n } as const;\n }\n\n currentValue = (currentValue as Record<string, unknown>)[pathKey];\n }\n\n if (typeof currentValue === 'number') {\n return {\n found: true,\n value: String(currentValue),\n } as const;\n }\n\n if (typeof currentValue === 'string') {\n if (!currentValue.trim() && !canUseEmptyResetValue(sectionKey)) {\n return {\n found: false,\n value: '',\n } as const;\n }\n\n return {\n found: true,\n value: currentValue,\n } as const;\n }\n\n return {\n found: false,\n value: '',\n } as const;\n}\n\nexport function useThemePreview({\n initialSection = 'main',\n initialPresetKeys: _initialPresetKeys,\n presetThemes,\n resetTheme,\n}: UseThemePreviewOptions) {\n const currentSettings = useGetCurrentSettings() as OwpSettingsConfigType;\n const setDefaultSettings = useSetDefaultSettings();\n const presetOptions = useMemo(() => getThemePreviewPresetOptions(presetThemes), [presetThemes]);\n const initialDraftSettings = getThemePreviewDraftSettings(currentSettings);\n const [openedDraftSettings] = useState(() => cloneThemePreviewSettings(initialDraftSettings));\n const initialSelectionState = useMemo(\n () => getThemePreviewSelectionState(currentSettings, _initialPresetKeys, presetThemes),\n [currentSettings, _initialPresetKeys, presetThemes],\n );\n const resetSettings = useMemo(\n () => getThemePreviewResetSettings(currentSettings, resetTheme, defaultSnackbarTheme),\n [currentSettings, resetTheme],\n );\n const currentSnackbarTheme = useMemo(\n () => merge({}, defaultSnackbarTheme, currentSettings.snackbar),\n [currentSettings],\n );\n const currentSnackbarProviderProps = useMemo(\n () =>\n merge(\n {},\n defaultSnackbarProviderProps,\n (currentSettings as ThemePreviewSettingsWithSnackbarProviderProps)\n .snackbarProviderProps,\n ) as SnackbarProviderTheme,\n [currentSettings],\n );\n\n const [activeSection, setActiveSection] = useState<ThemePreviewSectionKey>(initialSection);\n const [draftSettings, setDraftSettings] = useState<ThemePreviewSettings>(() => initialDraftSettings);\n const [selectedPresetKeys, setSelectedPresetKeys] = useState<ThemePreviewPresetKeyBySection>(\n initialSelectionState.selectedPresetKeys,\n );\n const [selectedModes, setSelectedModes] = useState<\n Record<ThemePreviewPresetSectionKey, ThemePreviewMode>\n >(initialSelectionState.selectedModes);\n const [resetVersion, setResetVersion] = useState(0);\n const [temporarySnapshot, setTemporarySnapshot] = useState(() => getThemePreviewTemporaryState());\n const [temporaryComparableSnapshot, setTemporaryComparableSnapshot] = useState(() =>\n createThemePreviewTemporaryComparableState(\n initialSection,\n initialDraftSettings,\n initialSelectionState.selectedPresetKeys,\n initialSelectionState.selectedModes,\n ),\n );\n const hasTemporarySnapshot = Boolean(temporarySnapshot);\n const hasTemporaryChanges =\n !isEqual(\n createThemePreviewTemporaryComparableState(\n activeSection,\n draftSettings,\n selectedPresetKeys,\n selectedModes,\n ),\n temporaryComparableSnapshot,\n );\n const canApplyToMain =\n !isEqual(currentSettings.theme, draftSettings.theme) ||\n !isEqual(currentSnackbarTheme, draftSettings.snackbar) ||\n !isEqual(currentSnackbarProviderProps, draftSettings.snackbarProviderProps);\n\n const persistSelectionState = (\n nextPresetKeys: ThemePreviewPresetKeyBySection,\n nextSelectedModes: Record<ThemePreviewPresetSectionKey, ThemePreviewMode>,\n ) => {\n setThemePreviewSelectionState({\n selectedPresetKeys: nextPresetKeys,\n selectedModes: nextSelectedModes,\n });\n };\n\n const persistDraftSettings = (nextDraftSettings: ThemePreviewSettings) => {\n setThemePreviewDraftSettings(nextDraftSettings);\n return nextDraftSettings;\n };\n const commitDraftSettings = (nextDraftSettings: ThemePreviewSettings) => {\n setDraftSettings(nextDraftSettings);\n return persistDraftSettings(nextDraftSettings);\n };\n\n const commitSelectionState = (\n nextPresetKeys: ThemePreviewPresetKeyBySection,\n nextSelectedModes: Record<ThemePreviewPresetSectionKey, ThemePreviewMode>,\n ) => {\n setSelectedPresetKeys(nextPresetKeys);\n setSelectedModes(nextSelectedModes);\n persistSelectionState(nextPresetKeys, nextSelectedModes);\n };\n\n const handlePaletteValueChange = (path: string, value: string) => {\n if (getThemePreviewPaletteValue(draftSettings, activeSection, path) === value) {\n return;\n }\n\n const nextDraftSettings = setThemePreviewPaletteValue(draftSettings, activeSection, path, value);\n\n commitDraftSettings(nextDraftSettings);\n\n if (!isThemePreviewPresetSectionKey(activeSection)) {\n return;\n }\n\n const nextPresetKeys = {\n ...selectedPresetKeys,\n [activeSection]: THEME_PREVIEW_CUSTOM_PRESET_KEY,\n };\n\n commitSelectionState(nextPresetKeys, selectedModes);\n };\n\n const handlePaletteValuesChange = (updates: Array<{ path: string; value: string }>) => {\n const changedUpdates = updates.filter(\n ({ path, value }) => getThemePreviewPaletteValue(draftSettings, activeSection, path) !== value,\n );\n\n if (!changedUpdates.length) {\n return;\n }\n\n const nextDraftSettings = setThemePreviewPaletteValues(\n draftSettings,\n activeSection,\n changedUpdates,\n );\n\n commitDraftSettings(nextDraftSettings);\n\n if (!isThemePreviewPresetSectionKey(activeSection)) {\n return;\n }\n\n const nextPresetKeys = {\n ...selectedPresetKeys,\n [activeSection]: THEME_PREVIEW_CUSTOM_PRESET_KEY,\n };\n\n commitSelectionState(nextPresetKeys, selectedModes);\n };\n\n const handlePaletteValuesReset = (paths: string[]) => {\n const uniquePaths = [...new Set(paths)];\n\n if (!uniquePaths.length) {\n return;\n }\n\n const updates = uniquePaths.map((path) => {\n const temporaryValue = temporarySnapshot\n ? getResetPathValue(\n temporarySnapshot.draftSettings as ThemePreviewSettings,\n activeSection,\n path,\n )\n : { found: false, value: '' };\n const initialValue = getResetPathValue(openedDraftSettings, activeSection, path);\n const currentValue = getResetPathValue(draftSettings, activeSection, path);\n\n return {\n path,\n value: temporaryValue.found\n ? temporaryValue.value\n : initialValue.found\n ? initialValue.value\n : currentValue.value,\n };\n });\n\n const nextDraftSettings = setThemePreviewPaletteValues(draftSettings, activeSection, updates);\n\n commitDraftSettings(nextDraftSettings);\n\n setResetVersion((prevState) => prevState + 1);\n };\n\n const handlePaletteValueReset = (path: string) => {\n handlePaletteValuesReset([path]);\n };\n\n const handlePresetModeChange = (mode: ThemePreviewMode) => {\n if (!isThemePreviewPresetSectionKey(activeSection)) {\n return;\n }\n\n const nextSelectedModes = {\n ...selectedModes,\n [activeSection]: mode,\n };\n\n const nextPresetOption = getThemePreviewPresetOptionsByMode(\n presetOptions,\n activeSection,\n mode,\n )[0];\n\n if (!nextPresetOption) {\n commitSelectionState(selectedPresetKeys, nextSelectedModes);\n return;\n }\n\n const presetTheme = presetThemes[nextPresetOption.key];\n\n if (!presetTheme) {\n commitSelectionState(selectedPresetKeys, nextSelectedModes);\n return;\n }\n\n commitDraftSettings(applyThemePreviewPreset(draftSettings, activeSection, presetTheme));\n const nextPresetKeys = {\n ...selectedPresetKeys,\n [activeSection]: nextPresetOption.key,\n };\n\n commitSelectionState(nextPresetKeys, nextSelectedModes);\n };\n\n const handlePresetKeyChange = (presetKey: string) => {\n if (!isThemePreviewPresetSectionKey(activeSection)) {\n return;\n }\n\n if (presetKey === THEME_PREVIEW_CUSTOM_PRESET_KEY) {\n return;\n }\n\n const presetTheme = presetThemes[presetKey];\n\n if (!presetTheme) {\n return;\n }\n\n commitDraftSettings(applyThemePreviewPreset(draftSettings, activeSection, presetTheme));\n const nextSelectedModes = {\n ...selectedModes,\n [activeSection]: presetTheme.palette.mode === 'dark' ? 'dark' : 'light',\n };\n const nextPresetKeys = {\n ...selectedPresetKeys,\n [activeSection]: presetKey,\n };\n\n commitSelectionState(nextPresetKeys, nextSelectedModes);\n };\n\n const handleReset = () => {\n const nextDraftSettings = merge({}, cloneThemePreviewSettings(resetSettings), {\n snackbarProviderProps: defaultSnackbarProviderProps,\n }) as ThemePreviewSettings;\n const nextSelectedModes = {\n main: resetTheme.main?.palette?.mode === 'dark' ? 'dark' : 'light',\n navbar: resetTheme.navbar?.palette?.mode === 'dark' ? 'dark' : 'light',\n toolbar: resetTheme.toolbar?.palette?.mode === 'dark' ? 'dark' : 'light',\n } satisfies Record<ThemePreviewPresetSectionKey, ThemePreviewMode>;\n\n commitDraftSettings(nextDraftSettings);\n commitSelectionState(_initialPresetKeys, nextSelectedModes);\n setTemporaryComparableSnapshot(\n createThemePreviewTemporaryComparableState(\n activeSection,\n nextDraftSettings,\n _initialPresetKeys,\n nextSelectedModes,\n ),\n );\n clearThemePreviewAppliedSettings();\n setDefaultSettings({\n theme: resetTheme,\n snackbar: defaultSnackbarTheme,\n snackbarProviderProps: defaultSnackbarProviderProps,\n } as PartialDeep<OwpSettingsConfigType>);\n };\n\n const handleApplyToMain = () => {\n const nextTemporaryState = createThemePreviewTemporaryState(\n activeSection,\n draftSettings,\n selectedPresetKeys,\n selectedModes,\n 'manual',\n );\n\n setThemePreviewDraftSettings(draftSettings);\n persistSelectionState(selectedPresetKeys, selectedModes);\n persistThemePreviewTemporaryState(nextTemporaryState);\n persistThemePreviewAppliedSettings({\n theme: draftSettings.theme,\n snackbar: draftSettings.snackbar,\n snackbarProviderProps: draftSettings.snackbarProviderProps,\n });\n setTemporarySnapshot(nextTemporaryState);\n setTemporaryComparableSnapshot({\n draftSettings,\n selectionState: nextTemporaryState.selectionState,\n });\n setDefaultSettings({\n theme: draftSettings.theme,\n snackbar: draftSettings.snackbar,\n snackbarProviderProps: draftSettings.snackbarProviderProps,\n } as PartialDeep<OwpSettingsConfigType>);\n };\n\n const handleLoadSettings = (\n theme: OwpSettingsConfigType['theme'],\n snackbarTheme = defaultSnackbarTheme,\n snackbarProviderProps: SnackbarProviderTheme = defaultSnackbarProviderProps,\n ) => {\n const nextDraftSettings = merge({}, currentSettings, {\n theme,\n snackbar: merge({}, defaultSnackbarTheme, snackbarTheme),\n snackbarProviderProps: merge(\n {},\n defaultSnackbarProviderProps,\n snackbarProviderProps,\n ),\n }) as ThemePreviewSettings;\n const nextSelectedModes = getThemePreviewSelectedModes(nextDraftSettings);\n const nextSelectedPresetKeys = getThemePreviewMatchedPresetKeys(\n nextDraftSettings,\n presetThemes,\n presetOptions,\n );\n\n commitDraftSettings(nextDraftSettings);\n commitSelectionState(nextSelectedPresetKeys, nextSelectedModes);\n setTemporaryComparableSnapshot(\n createThemePreviewTemporaryComparableState(\n activeSection,\n nextDraftSettings,\n nextSelectedPresetKeys,\n nextSelectedModes,\n ),\n );\n persistThemePreviewAppliedSettings({\n theme,\n snackbar: nextDraftSettings.snackbar,\n snackbarProviderProps: nextDraftSettings.snackbarProviderProps,\n });\n setDefaultSettings({\n theme,\n snackbar: nextDraftSettings.snackbar,\n snackbarProviderProps: nextDraftSettings.snackbarProviderProps,\n } as PartialDeep<OwpSettingsConfigType>);\n };\n\n const handleTemporarySave = (saveType: ThemePreviewTemporaryState['saveType'] = 'manual') => {\n const nextTemporaryState = createThemePreviewTemporaryState(\n activeSection,\n draftSettings,\n selectedPresetKeys,\n selectedModes,\n saveType,\n );\n\n persistThemePreviewTemporaryState(nextTemporaryState);\n setTemporarySnapshot(nextTemporaryState);\n setTemporaryComparableSnapshot({\n draftSettings,\n selectionState: nextTemporaryState.selectionState,\n });\n };\n\n const handleTemporaryLoad = () => {\n const temporaryState = getThemePreviewTemporaryState();\n\n if (!temporaryState) {\n return false;\n }\n\n const nextDraftSettings = cloneThemePreviewSettings(\n merge({}, currentSettings, temporaryState.draftSettings) as ThemePreviewSettings,\n );\n const nextSelectedPresetKeys = merge(\n {},\n selectedPresetKeys,\n temporaryState.selectionState.selectedPresetKeys,\n ) as ThemePreviewPresetKeyBySection;\n const nextSelectedModes = merge(\n {},\n selectedModes,\n temporaryState.selectionState.selectedModes,\n ) as Record<ThemePreviewPresetSectionKey, ThemePreviewMode>;\n const nextActiveSection = temporaryState.selectionState.activeSection;\n const resolvedSelectedPresetKeys = getThemePreviewMatchedPresetKeys(\n nextDraftSettings,\n presetThemes,\n presetOptions,\n );\n const resolvedSelectedModes = getThemePreviewSelectedModes(nextDraftSettings);\n\n commitDraftSettings(nextDraftSettings);\n setActiveSection(nextActiveSection);\n commitSelectionState(\n isEqual(nextSelectedPresetKeys, resolvedSelectedPresetKeys)\n ? nextSelectedPresetKeys\n : resolvedSelectedPresetKeys,\n isEqual(nextSelectedModes, resolvedSelectedModes) ? nextSelectedModes : resolvedSelectedModes,\n );\n setTemporarySnapshot(temporaryState);\n setTemporaryComparableSnapshot({\n draftSettings: nextDraftSettings,\n selectionState: {\n ...temporaryState.selectionState,\n selectedModes: resolvedSelectedModes,\n selectedPresetKeys: resolvedSelectedPresetKeys,\n },\n });\n\n return true;\n };\n\n return {\n activeSection,\n canApplyToMain,\n draftSettings,\n hasTemporaryChanges,\n hasTemporarySnapshot,\n presetOptions,\n resetVersion,\n selectedModes,\n selectedPresetKeys,\n setActiveSection,\n handlePaletteValueChange,\n handlePaletteValuesChange,\n handlePaletteValueReset,\n handlePaletteValuesReset,\n handleApplyToMain,\n handleLoadSettings,\n handlePresetKeyChange,\n handlePresetModeChange,\n handleReset,\n handleTemporaryLoad,\n handleTemporarySave,\n };\n}\n"],"names":["THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX","isThemePreviewPresetSectionKey","sectionKey","isThemePreviewCustomSection","__name","getThemePreviewSelectedModes","settings","createThemePreviewTemporaryState","activeSection","draftSettings","selectedPresetKeys","selectedModes","saveType","cloneThemePreviewSettings","dayjs","createThemePreviewTemporaryComparableState","getResetSectionTarget","canUseEmptyResetValue","getResetPathValue","path","pathSource","resolvedPath","pathKeys","currentValue","pathKey","useThemePreview","initialSection","_initialPresetKeys","presetThemes","resetTheme","currentSettings","useGetCurrentSettings","setDefaultSettings","useSetDefaultSettings","presetOptions","useMemo","getThemePreviewPresetOptions","initialDraftSettings","getThemePreviewDraftSettings","openedDraftSettings","useState","initialSelectionState","getThemePreviewSelectionState","resetSettings","getThemePreviewResetSettings","defaultSnackbarTheme","currentSnackbarTheme","merge","currentSnackbarProviderProps","defaultSnackbarProviderProps","setActiveSection","setDraftSettings","setSelectedPresetKeys","setSelectedModes","resetVersion","setResetVersion","temporarySnapshot","setTemporarySnapshot","getThemePreviewTemporaryState","temporaryComparableSnapshot","setTemporaryComparableSnapshot","hasTemporarySnapshot","hasTemporaryChanges","isEqual","canApplyToMain","persistSelectionState","nextPresetKeys","nextSelectedModes","setThemePreviewSelectionState","persistDraftSettings","nextDraftSettings","setThemePreviewDraftSettings","commitDraftSettings","commitSelectionState","handlePaletteValueChange","value","getThemePreviewPaletteValue","setThemePreviewPaletteValue","THEME_PREVIEW_CUSTOM_PRESET_KEY","handlePaletteValuesChange","updates","changedUpdates","setThemePreviewPaletteValues","handlePaletteValuesReset","paths","uniquePaths","temporaryValue","initialValue","prevState","nextTemporaryState","persistThemePreviewTemporaryState","persistThemePreviewAppliedSettings","theme","snackbarTheme","snackbarProviderProps","nextSelectedPresetKeys","getThemePreviewMatchedPresetKeys","presetKey","presetTheme","applyThemePreviewPreset","mode","nextPresetOption","getThemePreviewPresetOptionsByMode","_b","_a","_d","_c","_f","_e","clearThemePreviewAppliedSettings","temporaryState","nextActiveSection","resolvedSelectedPresetKeys","resolvedSelectedModes"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const
|
|
1
|
+
const b = [
|
|
2
2
|
{
|
|
3
3
|
key: "main",
|
|
4
4
|
label: "Main",
|
|
5
|
-
description: "페이지 본문, 카드,
|
|
5
|
+
description: "페이지 본문, 카드, 버튼, input focus preview"
|
|
6
6
|
},
|
|
7
7
|
{
|
|
8
8
|
key: "navbar",
|
|
@@ -29,7 +29,7 @@ const s = [
|
|
|
29
29
|
label: "Snackbar",
|
|
30
30
|
description: "Snackbar variant preview"
|
|
31
31
|
}
|
|
32
|
-
],
|
|
32
|
+
], e = {
|
|
33
33
|
key: "surface",
|
|
34
34
|
label: "Surface",
|
|
35
35
|
fields: [
|
|
@@ -47,7 +47,7 @@ const s = [
|
|
|
47
47
|
allowAlpha: !0
|
|
48
48
|
}
|
|
49
49
|
]
|
|
50
|
-
},
|
|
50
|
+
}, a = {
|
|
51
51
|
key: "text",
|
|
52
52
|
label: "Text",
|
|
53
53
|
fields: [
|
|
@@ -64,9 +64,7 @@ const s = [
|
|
|
64
64
|
label: "Text Disabled"
|
|
65
65
|
}
|
|
66
66
|
]
|
|
67
|
-
},
|
|
68
|
-
key: "brand",
|
|
69
|
-
label: "Brand",
|
|
67
|
+
}, l = {
|
|
70
68
|
fields: [
|
|
71
69
|
{
|
|
72
70
|
path: "primary.main",
|
|
@@ -101,14 +99,29 @@ const s = [
|
|
|
101
99
|
label: "Secondary Contrast"
|
|
102
100
|
}
|
|
103
101
|
]
|
|
104
|
-
}, r =
|
|
102
|
+
}, r = {
|
|
103
|
+
key: "commonAccent",
|
|
104
|
+
label: "Common",
|
|
105
|
+
fields: l.fields
|
|
106
|
+
}, o = [
|
|
107
|
+
e,
|
|
108
|
+
r,
|
|
109
|
+
{
|
|
110
|
+
key: "input",
|
|
111
|
+
label: "Inputs",
|
|
112
|
+
fields: [
|
|
113
|
+
{
|
|
114
|
+
path: "inputFocus.main",
|
|
115
|
+
label: "Focus Main",
|
|
116
|
+
description: "TextField, Select, DatePicker focus"
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
},
|
|
105
120
|
a,
|
|
106
|
-
l,
|
|
107
121
|
{
|
|
108
|
-
|
|
122
|
+
key: "buttonVariants",
|
|
109
123
|
label: "Buttons",
|
|
110
124
|
fields: [
|
|
111
|
-
...e.fields,
|
|
112
125
|
{
|
|
113
126
|
path: "info.main",
|
|
114
127
|
label: "Info Main"
|
|
@@ -143,11 +156,31 @@ const s = [
|
|
|
143
156
|
}
|
|
144
157
|
]
|
|
145
158
|
}
|
|
146
|
-
],
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
159
|
+
], t = [
|
|
160
|
+
e,
|
|
161
|
+
{
|
|
162
|
+
key: "navbarItemButtons",
|
|
163
|
+
label: "Item buttons",
|
|
164
|
+
fields: [
|
|
165
|
+
{
|
|
166
|
+
path: "secondary.main",
|
|
167
|
+
label: "Main"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
path: "secondary.light",
|
|
171
|
+
label: "Light"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
path: "secondary.dark",
|
|
175
|
+
label: "Dark"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
path: "secondary.contrastText",
|
|
179
|
+
label: "Contrast"
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
], i = {
|
|
151
184
|
key: "snackbarProvider",
|
|
152
185
|
label: "Provider",
|
|
153
186
|
fields: [
|
|
@@ -199,9 +232,9 @@ const s = [
|
|
|
199
232
|
valueFormat: "rem-number"
|
|
200
233
|
}
|
|
201
234
|
]
|
|
202
|
-
},
|
|
203
|
-
|
|
204
|
-
|
|
235
|
+
}, n = [
|
|
236
|
+
e,
|
|
237
|
+
a
|
|
205
238
|
], d = [
|
|
206
239
|
{
|
|
207
240
|
key: "gridHeader",
|
|
@@ -337,7 +370,7 @@ const s = [
|
|
|
337
370
|
}
|
|
338
371
|
]
|
|
339
372
|
}
|
|
340
|
-
],
|
|
373
|
+
], c = [
|
|
341
374
|
{
|
|
342
375
|
key: "tableFrame",
|
|
343
376
|
label: "Frame",
|
|
@@ -447,8 +480,8 @@ const s = [
|
|
|
447
480
|
}
|
|
448
481
|
]
|
|
449
482
|
}
|
|
450
|
-
],
|
|
451
|
-
|
|
483
|
+
], s = [
|
|
484
|
+
i,
|
|
452
485
|
{
|
|
453
486
|
key: "snackbarDefault",
|
|
454
487
|
label: "Default",
|
|
@@ -519,16 +552,16 @@ const s = [
|
|
|
519
552
|
}
|
|
520
553
|
]
|
|
521
554
|
}
|
|
522
|
-
],
|
|
523
|
-
main:
|
|
524
|
-
navbar:
|
|
525
|
-
toolbar:
|
|
555
|
+
], p = {
|
|
556
|
+
main: o,
|
|
557
|
+
navbar: t,
|
|
558
|
+
toolbar: n,
|
|
526
559
|
grid: d,
|
|
527
|
-
table:
|
|
528
|
-
snackbar:
|
|
560
|
+
table: c,
|
|
561
|
+
snackbar: s
|
|
529
562
|
};
|
|
530
563
|
export {
|
|
531
|
-
|
|
532
|
-
|
|
564
|
+
p as themePreviewFieldGroupsBySection,
|
|
565
|
+
b as themePreviewSectionOptions
|
|
533
566
|
};
|
|
534
567
|
//# sourceMappingURL=themePreviewDefinitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themePreviewDefinitions.js","sources":["../../../../src/features/themePreview/utils/themePreviewDefinitions.ts"],"sourcesContent":["import type { ThemePreviewFieldGroup, ThemePreviewSectionKey, ThemePreviewSectionOption } from '../types';\n\nexport const themePreviewSectionOptions: ThemePreviewSectionOption[] = [\n {\n key: 'main',\n label: 'Main',\n description: '페이지 본문, 카드, 버튼 preview',\n },\n {\n key: 'navbar',\n label: 'Navbar',\n description: '좌측 navigation 영역 preview',\n },\n {\n key: 'toolbar',\n label: 'Toolbar',\n description: '상단 toolbar 영역 preview',\n },\n {\n key: 'grid',\n label: 'Grid',\n description: 'Grid header / cell preview',\n },\n {\n key: 'table',\n label: 'Table',\n description: 'Field Table / Basic Table / Data Table preview',\n },\n {\n key: 'snackbar',\n label: 'Snackbar',\n description: 'Snackbar variant preview',\n },\n];\n\nconst surfaceFieldGroup: ThemePreviewFieldGroup = {\n key: 'surface',\n label: 'Surface',\n fields: [\n {\n path: 'background.default',\n label: 'Background Default',\n },\n {\n path: 'background.paper',\n label: 'Background Paper',\n },\n {\n path: 'divider',\n label: 'Divider',\n allowAlpha: true,\n },\n ],\n};\n\nconst textFieldGroup: ThemePreviewFieldGroup = {\n key: 'text',\n label: 'Text',\n fields: [\n {\n path: 'text.primary',\n label: 'Text Primary',\n },\n {\n path: 'text.secondary',\n label: 'Text Secondary',\n },\n {\n path: 'text.disabled',\n label: 'Text Disabled',\n },\n ],\n};\n\nconst brandFieldGroup: ThemePreviewFieldGroup = {\n key: 'brand',\n label: 'Brand',\n fields: [\n {\n path: 'primary.main',\n label: 'Primary Main',\n },\n {\n path: 'primary.light',\n label: 'Primary Light',\n },\n {\n path: 'primary.dark',\n label: 'Primary Dark',\n },\n {\n path: 'primary.contrastText',\n label: 'Primary Contrast',\n },\n {\n path: 'secondary.main',\n label: 'Secondary Main',\n },\n {\n path: 'secondary.light',\n label: 'Secondary Light',\n },\n {\n path: 'secondary.dark',\n label: 'Secondary Dark',\n },\n {\n path: 'secondary.contrastText',\n label: 'Secondary Contrast',\n },\n ],\n};\n\nconst mainThemePreviewPaletteFieldGroups: ThemePreviewFieldGroup[] = [\n surfaceFieldGroup,\n textFieldGroup,\n {\n ...brandFieldGroup,\n label: 'Buttons',\n fields: [\n ...brandFieldGroup.fields,\n {\n path: 'info.main',\n label: 'Info Main',\n },\n {\n path: 'info.contrastText',\n label: 'Info Contrast',\n },\n {\n path: 'warning.main',\n label: 'Warning Main',\n },\n {\n path: 'warning.contrastText',\n label: 'Warning Contrast',\n },\n {\n path: 'error.main',\n label: 'Error Main',\n },\n {\n path: 'error.contrastText',\n label: 'Error Contrast',\n },\n {\n path: 'success.main',\n label: 'Success Main',\n },\n {\n path: 'success.contrastText',\n label: 'Success Contrast',\n },\n ],\n },\n];\n\nconst navbarThemePreviewPaletteFieldGroups: ThemePreviewFieldGroup[] = [\n surfaceFieldGroup,\n textFieldGroup,\n { ...brandFieldGroup, label: 'Item buttons' },\n];\n\nconst snackbarProviderFieldGroup: ThemePreviewFieldGroup = {\n key: 'snackbarProvider',\n label: 'Provider',\n fields: [\n {\n path: 'snackbarProviderProps.maxSnack',\n label: 'Max Snack',\n description: '예: 5',\n showColorPicker: false,\n },\n {\n path: 'snackbarProviderProps.autoHideDuration',\n label: 'Auto Hide Duration',\n description: '예: 3000',\n showColorPicker: false,\n },\n {\n path: 'snackbarProviderProps.anchorOrigin.vertical',\n label: 'Anchor Vertical',\n description: '예: top',\n showColorPicker: false,\n options: [\n { label: 'top', value: 'top' },\n { label: 'bottom', value: 'bottom' },\n ],\n },\n {\n path: 'snackbarProviderProps.anchorOrigin.horizontal',\n label: 'Anchor Horizontal',\n description: '예: center',\n showColorPicker: false,\n options: [\n { label: 'left', value: 'left' },\n { label: 'center', value: 'center' },\n { label: 'right', value: 'right' },\n ],\n },\n {\n path: 'snackbarProviderProps.style.fontSize',\n label: 'Font Size',\n description: '예: 1.25',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n {\n path: 'snackbarProviderProps.style.lineHeight',\n label: 'Line Height',\n description: '예: 1.75',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n ],\n};\n\nconst toolbarThemePreviewPaletteFieldGroups: ThemePreviewFieldGroup[] = [\n surfaceFieldGroup,\n textFieldGroup,\n];\n\nconst themePreviewGridFieldGroups: ThemePreviewFieldGroup[] = [\n {\n key: 'gridHeader',\n label: 'Header',\n fields: [\n {\n path: 'header.backgroundColor',\n label: 'Header Background',\n },\n {\n path: 'header.color',\n label: 'Header Text',\n },\n {\n path: 'header.fontSize',\n label: 'Header Font Size',\n description: '예: 14',\n showColorPicker: false,\n valueFormat: 'px-number',\n },\n ],\n },\n {\n key: 'gridBody',\n label: 'Body',\n fields: [\n {\n path: 'body.backgroundColor',\n label: 'Body Background',\n },\n {\n path: 'body.color',\n label: 'Body Text',\n },\n {\n path: 'body.fillBackgroundColor',\n label: 'Fill Background',\n },\n ],\n },\n {\n key: 'gridRow',\n label: 'Row',\n fields: [\n {\n path: 'row.backgroundColor',\n label: 'Row Background',\n },\n {\n path: 'row.solidBackgroundColor',\n label: 'Solid Background',\n },\n ],\n },\n {\n key: 'gridCell',\n label: 'Cell',\n fields: [\n {\n path: 'cell.fontSize',\n label: 'Cell Font Size',\n description: '예: 13',\n showColorPicker: false,\n valueFormat: 'px-number',\n },\n ],\n },\n {\n key: 'gridState',\n label: 'State',\n fields: [\n {\n path: 'state.hoverRowBackgroundColor',\n label: 'Hover Row Background',\n },\n {\n path: 'state.hoverRowBorderColor',\n label: 'Hover Row Border',\n },\n {\n path: 'state.selectedCellBackgroundColor',\n label: 'Selected Cell Background',\n },\n {\n path: 'state.selectedRowBackgroundColor',\n label: 'Selected Row Background',\n },\n {\n path: 'state.focusedRowBackgroundColor',\n label: 'Focused Row Background',\n },\n {\n path: 'state.focusedRowBorderColor',\n label: 'Focused Row Border',\n },\n {\n path: 'state.hoverCellBackgroundColor',\n label: 'Hover Cell Background',\n },\n {\n path: 'state.hoverCellBorderColor',\n label: 'Hover Cell Border',\n },\n {\n path: 'state.focusedCellBackgroundColor',\n label: 'Focused Cell Background',\n },\n {\n path: 'state.focusedCellBorderColor',\n label: 'Focused Cell Border',\n },\n {\n path: 'state.editingCellBorderColor',\n label: 'Editing Cell Border',\n },\n {\n path: 'state.focusedCellRectBackgroundColor',\n label: 'Focused Cell Rect Background',\n },\n ],\n },\n {\n key: 'gridEdit',\n label: 'Edit',\n fields: [\n {\n path: 'editable.backgroundColor',\n label: 'Editable Cell Background',\n },\n {\n path: 'changed.backgroundColor',\n label: 'Changed Cell Background',\n },\n ],\n },\n];\n\nconst themePreviewTableFieldGroups: ThemePreviewFieldGroup[] = [\n {\n key: 'tableFrame',\n label: 'Frame',\n fields: [\n {\n path: 'borderRadius',\n label: 'Outer Radius',\n description: '예: 4',\n showColorPicker: false,\n valueFormat: 'px-number',\n },\n ],\n },\n {\n key: 'tableHeader',\n label: 'Header',\n fields: [\n {\n path: 'header.backgroundColor',\n label: 'Header Background',\n },\n {\n path: 'header.color',\n label: 'Header Text',\n },\n {\n path: 'header.fontSize',\n label: 'Header Font Size',\n description: '예: 1.5',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n ],\n },\n {\n key: 'tableCell',\n label: 'Cell',\n fields: [\n {\n path: 'cell.fontSize',\n label: 'Cell Font Size',\n description: '예: 1.4',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n ],\n },\n {\n key: 'tableFieldHeader',\n label: 'Field Header',\n fields: [\n {\n path: 'field.header.backgroundColor',\n label: 'Background',\n },\n {\n path: 'field.header.color',\n label: 'Header Text',\n },\n {\n path: 'field.header.fontSize',\n label: 'Font Size',\n description: '예: 1.7',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n {\n path: 'field.header.fontWeight',\n label: 'Font Weight',\n description: '예: 600',\n showColorPicker: false,\n },\n ],\n },\n {\n key: 'tableFieldCell',\n label: 'Field Value',\n fields: [\n {\n path: 'field.cell.backgroundColor',\n label: 'Background',\n },\n {\n path: 'field.cell.fontSize',\n label: 'Font Size',\n description: '예: 1.7',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n ],\n },\n {\n key: 'tableRow',\n label: 'Row',\n fields: [\n {\n path: 'row.backgroundColor',\n label: 'Background',\n },\n {\n path: 'row.selectedBackgroundColor',\n label: 'Selected',\n },\n {\n path: 'row.hoverBackgroundColor',\n label: 'Hover',\n },\n ],\n },\n];\n\nconst themePreviewSnackbarFieldGroups: ThemePreviewFieldGroup[] = [\n snackbarProviderFieldGroup,\n {\n key: 'snackbarDefault',\n label: 'Default',\n fields: [\n {\n path: 'default.backgroundColor',\n label: 'Background',\n },\n {\n path: 'default.color',\n label: 'Text',\n },\n ],\n },\n {\n key: 'snackbarSuccess',\n label: 'Success',\n fields: [\n {\n path: 'success.backgroundColor',\n label: 'Background',\n },\n {\n path: 'success.color',\n label: 'Text',\n },\n ],\n },\n {\n key: 'snackbarInfo',\n label: 'Info',\n fields: [\n {\n path: 'info.backgroundColor',\n label: 'Background',\n },\n {\n path: 'info.color',\n label: 'Text',\n },\n ],\n },\n {\n key: 'snackbarWarning',\n label: 'Warning',\n fields: [\n {\n path: 'warning.backgroundColor',\n label: 'Background',\n },\n {\n path: 'warning.color',\n label: 'Text',\n },\n ],\n },\n {\n key: 'snackbarError',\n label: 'Error',\n fields: [\n {\n path: 'error.backgroundColor',\n label: 'Background',\n },\n {\n path: 'error.color',\n label: 'Text',\n },\n ],\n },\n];\n\nexport const themePreviewFieldGroupsBySection = {\n main: mainThemePreviewPaletteFieldGroups,\n navbar: navbarThemePreviewPaletteFieldGroups,\n toolbar: toolbarThemePreviewPaletteFieldGroups,\n grid: themePreviewGridFieldGroups,\n table: themePreviewTableFieldGroups,\n snackbar: themePreviewSnackbarFieldGroups,\n} satisfies Record<ThemePreviewSectionKey, ThemePreviewFieldGroup[]>;\n"],"names":["themePreviewSectionOptions","surfaceFieldGroup","textFieldGroup","brandFieldGroup","mainThemePreviewPaletteFieldGroups","navbarThemePreviewPaletteFieldGroups","snackbarProviderFieldGroup","toolbarThemePreviewPaletteFieldGroups","themePreviewGridFieldGroups","themePreviewTableFieldGroups","themePreviewSnackbarFieldGroups","themePreviewFieldGroupsBySection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"themePreviewDefinitions.js","sources":["../../../../src/features/themePreview/utils/themePreviewDefinitions.ts"],"sourcesContent":["import type { ThemePreviewFieldGroup, ThemePreviewSectionKey, ThemePreviewSectionOption } from '../types';\n\nexport const themePreviewSectionOptions: ThemePreviewSectionOption[] = [\n {\n key: 'main',\n label: 'Main',\n description: '페이지 본문, 카드, 버튼, input focus preview',\n },\n {\n key: 'navbar',\n label: 'Navbar',\n description: '좌측 navigation 영역 preview',\n },\n {\n key: 'toolbar',\n label: 'Toolbar',\n description: '상단 toolbar 영역 preview',\n },\n {\n key: 'grid',\n label: 'Grid',\n description: 'Grid header / cell preview',\n },\n {\n key: 'table',\n label: 'Table',\n description: 'Field Table / Basic Table / Data Table preview',\n },\n {\n key: 'snackbar',\n label: 'Snackbar',\n description: 'Snackbar variant preview',\n },\n];\n\nconst surfaceFieldGroup: ThemePreviewFieldGroup = {\n key: 'surface',\n label: 'Surface',\n fields: [\n {\n path: 'background.default',\n label: 'Background Default',\n },\n {\n path: 'background.paper',\n label: 'Background Paper',\n },\n {\n path: 'divider',\n label: 'Divider',\n allowAlpha: true,\n },\n ],\n};\n\nconst textFieldGroup: ThemePreviewFieldGroup = {\n key: 'text',\n label: 'Text',\n fields: [\n {\n path: 'text.primary',\n label: 'Text Primary',\n },\n {\n path: 'text.secondary',\n label: 'Text Secondary',\n },\n {\n path: 'text.disabled',\n label: 'Text Disabled',\n },\n ],\n};\n\nconst brandFieldGroup: ThemePreviewFieldGroup = {\n key: 'brand',\n label: 'Brand',\n fields: [\n {\n path: 'primary.main',\n label: 'Primary Main',\n },\n {\n path: 'primary.light',\n label: 'Primary Light',\n },\n {\n path: 'primary.dark',\n label: 'Primary Dark',\n },\n {\n path: 'primary.contrastText',\n label: 'Primary Contrast',\n },\n {\n path: 'secondary.main',\n label: 'Secondary Main',\n },\n {\n path: 'secondary.light',\n label: 'Secondary Light',\n },\n {\n path: 'secondary.dark',\n label: 'Secondary Dark',\n },\n {\n path: 'secondary.contrastText',\n label: 'Secondary Contrast',\n },\n ],\n};\n\nconst commonAccentFieldGroup: ThemePreviewFieldGroup = {\n key: 'commonAccent',\n label: 'Common',\n fields: brandFieldGroup.fields,\n};\n\nconst mainThemePreviewPaletteFieldGroups: ThemePreviewFieldGroup[] = [\n surfaceFieldGroup,\n commonAccentFieldGroup,\n {\n key: 'input',\n label: 'Inputs',\n fields: [\n {\n path: 'inputFocus.main',\n label: 'Focus Main',\n description: 'TextField, Select, DatePicker focus',\n },\n ],\n },\n textFieldGroup,\n {\n key: 'buttonVariants',\n label: 'Buttons',\n fields: [\n {\n path: 'info.main',\n label: 'Info Main',\n },\n {\n path: 'info.contrastText',\n label: 'Info Contrast',\n },\n {\n path: 'warning.main',\n label: 'Warning Main',\n },\n {\n path: 'warning.contrastText',\n label: 'Warning Contrast',\n },\n {\n path: 'error.main',\n label: 'Error Main',\n },\n {\n path: 'error.contrastText',\n label: 'Error Contrast',\n },\n {\n path: 'success.main',\n label: 'Success Main',\n },\n {\n path: 'success.contrastText',\n label: 'Success Contrast',\n },\n ],\n },\n];\n\nconst navbarThemePreviewPaletteFieldGroups: ThemePreviewFieldGroup[] = [\n surfaceFieldGroup,\n {\n key: 'navbarItemButtons',\n label: 'Item buttons',\n fields: [\n {\n path: 'secondary.main',\n label: 'Main',\n },\n {\n path: 'secondary.light',\n label: 'Light',\n },\n {\n path: 'secondary.dark',\n label: 'Dark',\n },\n {\n path: 'secondary.contrastText',\n label: 'Contrast',\n },\n ],\n },\n];\n\nconst snackbarProviderFieldGroup: ThemePreviewFieldGroup = {\n key: 'snackbarProvider',\n label: 'Provider',\n fields: [\n {\n path: 'snackbarProviderProps.maxSnack',\n label: 'Max Snack',\n description: '예: 5',\n showColorPicker: false,\n },\n {\n path: 'snackbarProviderProps.autoHideDuration',\n label: 'Auto Hide Duration',\n description: '예: 3000',\n showColorPicker: false,\n },\n {\n path: 'snackbarProviderProps.anchorOrigin.vertical',\n label: 'Anchor Vertical',\n description: '예: top',\n showColorPicker: false,\n options: [\n { label: 'top', value: 'top' },\n { label: 'bottom', value: 'bottom' },\n ],\n },\n {\n path: 'snackbarProviderProps.anchorOrigin.horizontal',\n label: 'Anchor Horizontal',\n description: '예: center',\n showColorPicker: false,\n options: [\n { label: 'left', value: 'left' },\n { label: 'center', value: 'center' },\n { label: 'right', value: 'right' },\n ],\n },\n {\n path: 'snackbarProviderProps.style.fontSize',\n label: 'Font Size',\n description: '예: 1.25',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n {\n path: 'snackbarProviderProps.style.lineHeight',\n label: 'Line Height',\n description: '예: 1.75',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n ],\n};\n\nconst toolbarThemePreviewPaletteFieldGroups: ThemePreviewFieldGroup[] = [\n surfaceFieldGroup,\n textFieldGroup,\n];\n\nconst themePreviewGridFieldGroups: ThemePreviewFieldGroup[] = [\n {\n key: 'gridHeader',\n label: 'Header',\n fields: [\n {\n path: 'header.backgroundColor',\n label: 'Header Background',\n },\n {\n path: 'header.color',\n label: 'Header Text',\n },\n {\n path: 'header.fontSize',\n label: 'Header Font Size',\n description: '예: 14',\n showColorPicker: false,\n valueFormat: 'px-number',\n },\n ],\n },\n {\n key: 'gridBody',\n label: 'Body',\n fields: [\n {\n path: 'body.backgroundColor',\n label: 'Body Background',\n },\n {\n path: 'body.color',\n label: 'Body Text',\n },\n {\n path: 'body.fillBackgroundColor',\n label: 'Fill Background',\n },\n ],\n },\n {\n key: 'gridRow',\n label: 'Row',\n fields: [\n {\n path: 'row.backgroundColor',\n label: 'Row Background',\n },\n {\n path: 'row.solidBackgroundColor',\n label: 'Solid Background',\n },\n ],\n },\n {\n key: 'gridCell',\n label: 'Cell',\n fields: [\n {\n path: 'cell.fontSize',\n label: 'Cell Font Size',\n description: '예: 13',\n showColorPicker: false,\n valueFormat: 'px-number',\n },\n ],\n },\n {\n key: 'gridState',\n label: 'State',\n fields: [\n {\n path: 'state.hoverRowBackgroundColor',\n label: 'Hover Row Background',\n },\n {\n path: 'state.hoverRowBorderColor',\n label: 'Hover Row Border',\n },\n {\n path: 'state.selectedCellBackgroundColor',\n label: 'Selected Cell Background',\n },\n {\n path: 'state.selectedRowBackgroundColor',\n label: 'Selected Row Background',\n },\n {\n path: 'state.focusedRowBackgroundColor',\n label: 'Focused Row Background',\n },\n {\n path: 'state.focusedRowBorderColor',\n label: 'Focused Row Border',\n },\n {\n path: 'state.hoverCellBackgroundColor',\n label: 'Hover Cell Background',\n },\n {\n path: 'state.hoverCellBorderColor',\n label: 'Hover Cell Border',\n },\n {\n path: 'state.focusedCellBackgroundColor',\n label: 'Focused Cell Background',\n },\n {\n path: 'state.focusedCellBorderColor',\n label: 'Focused Cell Border',\n },\n {\n path: 'state.editingCellBorderColor',\n label: 'Editing Cell Border',\n },\n {\n path: 'state.focusedCellRectBackgroundColor',\n label: 'Focused Cell Rect Background',\n },\n ],\n },\n {\n key: 'gridEdit',\n label: 'Edit',\n fields: [\n {\n path: 'editable.backgroundColor',\n label: 'Editable Cell Background',\n },\n {\n path: 'changed.backgroundColor',\n label: 'Changed Cell Background',\n },\n ],\n },\n];\n\nconst themePreviewTableFieldGroups: ThemePreviewFieldGroup[] = [\n {\n key: 'tableFrame',\n label: 'Frame',\n fields: [\n {\n path: 'borderRadius',\n label: 'Outer Radius',\n description: '예: 4',\n showColorPicker: false,\n valueFormat: 'px-number',\n },\n ],\n },\n {\n key: 'tableHeader',\n label: 'Header',\n fields: [\n {\n path: 'header.backgroundColor',\n label: 'Header Background',\n },\n {\n path: 'header.color',\n label: 'Header Text',\n },\n {\n path: 'header.fontSize',\n label: 'Header Font Size',\n description: '예: 1.5',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n ],\n },\n {\n key: 'tableCell',\n label: 'Cell',\n fields: [\n {\n path: 'cell.fontSize',\n label: 'Cell Font Size',\n description: '예: 1.4',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n ],\n },\n {\n key: 'tableFieldHeader',\n label: 'Field Header',\n fields: [\n {\n path: 'field.header.backgroundColor',\n label: 'Background',\n },\n {\n path: 'field.header.color',\n label: 'Header Text',\n },\n {\n path: 'field.header.fontSize',\n label: 'Font Size',\n description: '예: 1.7',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n {\n path: 'field.header.fontWeight',\n label: 'Font Weight',\n description: '예: 600',\n showColorPicker: false,\n },\n ],\n },\n {\n key: 'tableFieldCell',\n label: 'Field Value',\n fields: [\n {\n path: 'field.cell.backgroundColor',\n label: 'Background',\n },\n {\n path: 'field.cell.fontSize',\n label: 'Font Size',\n description: '예: 1.7',\n showColorPicker: false,\n valueFormat: 'rem-number',\n },\n ],\n },\n {\n key: 'tableRow',\n label: 'Row',\n fields: [\n {\n path: 'row.backgroundColor',\n label: 'Background',\n },\n {\n path: 'row.selectedBackgroundColor',\n label: 'Selected',\n },\n {\n path: 'row.hoverBackgroundColor',\n label: 'Hover',\n },\n ],\n },\n];\n\nconst themePreviewSnackbarFieldGroups: ThemePreviewFieldGroup[] = [\n snackbarProviderFieldGroup,\n {\n key: 'snackbarDefault',\n label: 'Default',\n fields: [\n {\n path: 'default.backgroundColor',\n label: 'Background',\n },\n {\n path: 'default.color',\n label: 'Text',\n },\n ],\n },\n {\n key: 'snackbarSuccess',\n label: 'Success',\n fields: [\n {\n path: 'success.backgroundColor',\n label: 'Background',\n },\n {\n path: 'success.color',\n label: 'Text',\n },\n ],\n },\n {\n key: 'snackbarInfo',\n label: 'Info',\n fields: [\n {\n path: 'info.backgroundColor',\n label: 'Background',\n },\n {\n path: 'info.color',\n label: 'Text',\n },\n ],\n },\n {\n key: 'snackbarWarning',\n label: 'Warning',\n fields: [\n {\n path: 'warning.backgroundColor',\n label: 'Background',\n },\n {\n path: 'warning.color',\n label: 'Text',\n },\n ],\n },\n {\n key: 'snackbarError',\n label: 'Error',\n fields: [\n {\n path: 'error.backgroundColor',\n label: 'Background',\n },\n {\n path: 'error.color',\n label: 'Text',\n },\n ],\n },\n];\n\nexport const themePreviewFieldGroupsBySection = {\n main: mainThemePreviewPaletteFieldGroups,\n navbar: navbarThemePreviewPaletteFieldGroups,\n toolbar: toolbarThemePreviewPaletteFieldGroups,\n grid: themePreviewGridFieldGroups,\n table: themePreviewTableFieldGroups,\n snackbar: themePreviewSnackbarFieldGroups,\n} satisfies Record<ThemePreviewSectionKey, ThemePreviewFieldGroup[]>;\n"],"names":["themePreviewSectionOptions","surfaceFieldGroup","textFieldGroup","brandFieldGroup","commonAccentFieldGroup","mainThemePreviewPaletteFieldGroups","navbarThemePreviewPaletteFieldGroups","snackbarProviderFieldGroup","toolbarThemePreviewPaletteFieldGroups","themePreviewGridFieldGroups","themePreviewTableFieldGroups","themePreviewSnackbarFieldGroups","themePreviewFieldGroupsBySection"],"mappings":"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"}
|