@owp/core 2.5.9 → 2.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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/OwpTreeGrid/internal/treeGridRuntime.js +195 -147
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewColorField.js +10 -11
- package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewControls.js +232 -198
- package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -1
- package/dist/features/themePreview/hooks/useThemePreview.js +214 -199
- package/dist/features/themePreview/hooks/useThemePreview.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/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/constants.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/constants.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/owp-app.css +1 -1
- package/dist/types/features/themePreview/utils/index.d.ts +1 -1
- package/dist/types/features/themePreview/utils/themePreviewSettings.d.ts +11 -1
- 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 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 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 if (!updates.length) {\n return;\n }\n\n const nextDraftSettings = setThemePreviewPaletteValues(draftSettings, activeSection, updates);\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","setThemePreviewPaletteValue","THEME_PREVIEW_CUSTOM_PRESET_KEY","handlePaletteValuesChange","updates","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,45 +1,51 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
import { toolbarCuratedPresetKeys as
|
|
4
|
-
import { defaultSnackbarTheme as
|
|
5
|
-
import { merge as
|
|
6
|
-
import { isString as
|
|
7
|
-
import { isObject as
|
|
8
|
-
const
|
|
9
|
-
let
|
|
10
|
-
const
|
|
1
|
+
var x = Object.defineProperty;
|
|
2
|
+
var i = (e, r) => x(e, "name", { value: r, configurable: !0 });
|
|
3
|
+
import { toolbarCuratedPresetKeys as I } from "../configs/presets.js";
|
|
4
|
+
import { defaultSnackbarTheme as f, defaultSnackbarProviderProps as p } from "../configs/snackbar.js";
|
|
5
|
+
import { merge as P } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/merge.js";
|
|
6
|
+
import { isString as R } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isString.js";
|
|
7
|
+
import { isObject as d } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isObject.js";
|
|
8
|
+
const S = "__custom__", V = ["grid", "table", "snackbar"];
|
|
9
|
+
let k = null, T = null;
|
|
10
|
+
const h = "snackbarProviderProps.";
|
|
11
11
|
function u(e) {
|
|
12
|
-
return
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
return d(e) ? e : {};
|
|
13
|
+
}
|
|
14
|
+
i(u, "asObjectRecord");
|
|
15
|
+
function E(e, r) {
|
|
16
|
+
return d(r) ? d(e) ? Object.entries(r).every(
|
|
17
|
+
([n, t]) => E(u(e)[n], t)
|
|
18
|
+
) : !1 : e === r;
|
|
19
|
+
}
|
|
20
|
+
i(E, "isThemePreviewPresetValueMatch");
|
|
21
|
+
function C(e, r = f) {
|
|
22
|
+
const n = "snackbar" in e && d(e.snackbar) ? e.snackbar : void 0;
|
|
23
|
+
return P({}, f, r, n);
|
|
24
|
+
}
|
|
25
|
+
i(C, "getThemePreviewSnackbarTheme");
|
|
26
|
+
function j(e, r = p) {
|
|
27
|
+
const n = "snackbarProviderProps" in e && d(e.snackbarProviderProps) ? e.snackbarProviderProps : void 0;
|
|
28
|
+
return P(
|
|
23
29
|
{},
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
p,
|
|
31
|
+
r,
|
|
32
|
+
n
|
|
27
33
|
);
|
|
28
34
|
}
|
|
29
|
-
|
|
30
|
-
function
|
|
31
|
-
return
|
|
32
|
-
snackbar:
|
|
33
|
-
snackbarProviderProps:
|
|
35
|
+
i(j, "getThemePreviewSnackbarProviderProps");
|
|
36
|
+
function w(e, r = f) {
|
|
37
|
+
return P({}, e, {
|
|
38
|
+
snackbar: C(e, r),
|
|
39
|
+
snackbarProviderProps: j(e)
|
|
34
40
|
});
|
|
35
41
|
}
|
|
36
|
-
|
|
37
|
-
function
|
|
42
|
+
i(w, "createThemePreviewSettings");
|
|
43
|
+
function X(e) {
|
|
38
44
|
return V.includes(e);
|
|
39
45
|
}
|
|
40
|
-
|
|
41
|
-
function
|
|
42
|
-
switch (
|
|
46
|
+
i(X, "isThemePreviewCustomSection");
|
|
47
|
+
function M(e, r) {
|
|
48
|
+
switch (r) {
|
|
43
49
|
case "grid":
|
|
44
50
|
return u(e.theme.main.grid);
|
|
45
51
|
case "table":
|
|
@@ -47,165 +53,196 @@ function p(e, t) {
|
|
|
47
53
|
case "snackbar":
|
|
48
54
|
return u(e.snackbar);
|
|
49
55
|
default:
|
|
50
|
-
return u(e.theme[
|
|
56
|
+
return u(e.theme[r].palette);
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
|
-
|
|
54
|
-
function
|
|
55
|
-
return
|
|
59
|
+
i(M, "getThemePreviewSectionTarget");
|
|
60
|
+
function _(e) {
|
|
61
|
+
return w(e);
|
|
56
62
|
}
|
|
57
|
-
|
|
58
|
-
function
|
|
59
|
-
return
|
|
60
|
-
theme:
|
|
63
|
+
i(_, "cloneThemePreviewSettings");
|
|
64
|
+
function Y(e, r, n = f) {
|
|
65
|
+
return P({}, w(e, n), {
|
|
66
|
+
theme: r
|
|
61
67
|
});
|
|
62
68
|
}
|
|
63
|
-
|
|
64
|
-
function
|
|
65
|
-
const [
|
|
66
|
-
return typeof
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function
|
|
70
|
-
return e.theme[
|
|
69
|
+
i(Y, "getThemePreviewResetSettings");
|
|
70
|
+
function $(e, r, n) {
|
|
71
|
+
const [t, c] = n.startsWith(h) ? [u(e.snackbarProviderProps), n.slice(h.length)] : [M(e, r), n], a = c.split(".").reduce((s, o) => u(s)[o], t);
|
|
72
|
+
return typeof a == "number" ? String(a) : R(a) ? a : "";
|
|
73
|
+
}
|
|
74
|
+
i($, "getThemePreviewPaletteValue");
|
|
75
|
+
function b(e, r) {
|
|
76
|
+
return e.theme[r].palette.mode === "dark" ? "dark" : "light";
|
|
77
|
+
}
|
|
78
|
+
i(b, "getThemePreviewSectionMode");
|
|
79
|
+
function v(e, r, n, t) {
|
|
80
|
+
var a;
|
|
81
|
+
const c = b(e, r);
|
|
82
|
+
return ((a = N(t, r, c).find(
|
|
83
|
+
(s) => {
|
|
84
|
+
var o;
|
|
85
|
+
return E(
|
|
86
|
+
e.theme[r].palette,
|
|
87
|
+
(o = n[s.key]) == null ? void 0 : o.palette
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
)) == null ? void 0 : a.key) ?? S;
|
|
71
91
|
}
|
|
72
|
-
|
|
73
|
-
function
|
|
74
|
-
return
|
|
92
|
+
i(v, "getThemePreviewMatchedPresetKey");
|
|
93
|
+
function B(e, r, n = y(r)) {
|
|
94
|
+
return {
|
|
95
|
+
main: v(e, "main", r, n),
|
|
96
|
+
navbar: v(e, "navbar", r, n),
|
|
97
|
+
toolbar: v(e, "toolbar", r, n)
|
|
98
|
+
};
|
|
75
99
|
}
|
|
76
|
-
|
|
77
|
-
function
|
|
78
|
-
|
|
100
|
+
i(B, "getThemePreviewMatchedPresetKeys");
|
|
101
|
+
function q(e) {
|
|
102
|
+
return w(k ?? e);
|
|
79
103
|
}
|
|
80
|
-
|
|
81
|
-
function
|
|
82
|
-
|
|
104
|
+
i(q, "getThemePreviewDraftSettings");
|
|
105
|
+
function z(e) {
|
|
106
|
+
k = _(e);
|
|
107
|
+
}
|
|
108
|
+
i(z, "setThemePreviewDraftSettings");
|
|
109
|
+
function G(e, r, n) {
|
|
110
|
+
const t = y(n), c = {
|
|
111
|
+
main: b(e, "main"),
|
|
112
|
+
navbar: b(e, "navbar"),
|
|
113
|
+
toolbar: b(e, "toolbar")
|
|
114
|
+
}, a = B(e, n, t), s = P(
|
|
83
115
|
{
|
|
84
|
-
selectedPresetKeys:
|
|
85
|
-
selectedModes:
|
|
86
|
-
main: f(e, "main"),
|
|
87
|
-
navbar: f(e, "navbar"),
|
|
88
|
-
toolbar: f(e, "toolbar")
|
|
89
|
-
}
|
|
116
|
+
selectedPresetKeys: a,
|
|
117
|
+
selectedModes: c
|
|
90
118
|
},
|
|
91
|
-
|
|
119
|
+
T ?? {}
|
|
92
120
|
);
|
|
121
|
+
return Object.keys(c).forEach((o) => {
|
|
122
|
+
const l = N(
|
|
123
|
+
t,
|
|
124
|
+
o,
|
|
125
|
+
s.selectedModes[o]
|
|
126
|
+
);
|
|
127
|
+
s.selectedPresetKeys[o] !== S && (l.some((m) => m.key === s.selectedPresetKeys[o]) || (s.selectedPresetKeys[o] = a[o] !== S ? a[o] : r[o]));
|
|
128
|
+
}), s;
|
|
93
129
|
}
|
|
94
|
-
|
|
95
|
-
function
|
|
96
|
-
|
|
130
|
+
i(G, "getThemePreviewSelectionState");
|
|
131
|
+
function J(e) {
|
|
132
|
+
T = P({}, e);
|
|
97
133
|
}
|
|
98
|
-
|
|
99
|
-
function
|
|
100
|
-
|
|
134
|
+
i(J, "setThemePreviewSelectionState");
|
|
135
|
+
function L() {
|
|
136
|
+
k = null, T = null;
|
|
101
137
|
}
|
|
102
|
-
|
|
103
|
-
function
|
|
104
|
-
const
|
|
105
|
-
if (!
|
|
138
|
+
i(L, "resetThemePreviewSessionState");
|
|
139
|
+
function D(e, r, n) {
|
|
140
|
+
const t = r.split("."), c = t.pop();
|
|
141
|
+
if (!c)
|
|
106
142
|
return;
|
|
107
|
-
let
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
|
|
143
|
+
let a = e;
|
|
144
|
+
t.forEach((o) => {
|
|
145
|
+
const l = a[o];
|
|
146
|
+
d(l) || (a[o] = {}), a = u(a[o]);
|
|
111
147
|
});
|
|
112
|
-
const
|
|
113
|
-
if (typeof
|
|
114
|
-
const
|
|
115
|
-
|
|
148
|
+
const s = a[c];
|
|
149
|
+
if (typeof s == "number") {
|
|
150
|
+
const o = Number(n.replace(/,/g, "."));
|
|
151
|
+
a[c] = Number.isNaN(o) ? s : o;
|
|
116
152
|
return;
|
|
117
153
|
}
|
|
118
|
-
|
|
154
|
+
a[c] = n;
|
|
119
155
|
}
|
|
120
|
-
|
|
121
|
-
function
|
|
122
|
-
if (!
|
|
156
|
+
i(D, "applyThemePreviewPaletteValue");
|
|
157
|
+
function O(e, r, n) {
|
|
158
|
+
if (!n.length)
|
|
123
159
|
return e;
|
|
124
|
-
const
|
|
125
|
-
switch (
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
), m =
|
|
129
|
-
|
|
130
|
-
|
|
160
|
+
const t = _(e), c = M(t, r), a = u(t.snackbarProviderProps);
|
|
161
|
+
switch (n.forEach(({ path: s, value: o }) => {
|
|
162
|
+
const l = s.startsWith(
|
|
163
|
+
h
|
|
164
|
+
), m = l ? s.slice(h.length) : s;
|
|
165
|
+
D(
|
|
166
|
+
l ? a : c,
|
|
131
167
|
m,
|
|
132
|
-
|
|
168
|
+
o
|
|
133
169
|
);
|
|
134
|
-
}),
|
|
170
|
+
}), t.snackbarProviderProps = a, r) {
|
|
135
171
|
case "grid":
|
|
136
|
-
return
|
|
172
|
+
return t.theme.main.grid = c, t;
|
|
137
173
|
case "table":
|
|
138
|
-
return
|
|
174
|
+
return t.theme.main.table = c, t;
|
|
139
175
|
case "snackbar":
|
|
140
|
-
return
|
|
176
|
+
return t.snackbar = c, t;
|
|
141
177
|
default:
|
|
142
|
-
return
|
|
178
|
+
return t.theme[r].palette = c, t;
|
|
143
179
|
}
|
|
144
180
|
}
|
|
145
|
-
|
|
146
|
-
function
|
|
147
|
-
return
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
function
|
|
151
|
-
const
|
|
152
|
-
return Object.entries(e).reduce((
|
|
153
|
-
key:
|
|
154
|
-
label:
|
|
155
|
-
mode:
|
|
156
|
-
sections:
|
|
157
|
-
originalIndex:
|
|
158
|
-
}),
|
|
159
|
-
const
|
|
160
|
-
if (
|
|
161
|
-
return
|
|
162
|
-
if (
|
|
163
|
-
const m = (
|
|
181
|
+
i(O, "setThemePreviewPaletteValues");
|
|
182
|
+
function Q(e, r, n, t) {
|
|
183
|
+
return O(e, r, [{ path: n, value: t }]);
|
|
184
|
+
}
|
|
185
|
+
i(Q, "setThemePreviewPaletteValue");
|
|
186
|
+
function y(e) {
|
|
187
|
+
const r = /^(light|dark)(\d+)$/, n = new Set(I);
|
|
188
|
+
return Object.entries(e).reduce((t, [c, a]) => (a != null && a.palette && t.push({
|
|
189
|
+
key: c,
|
|
190
|
+
label: c,
|
|
191
|
+
mode: a.palette.mode === "dark" ? "dark" : "light",
|
|
192
|
+
sections: n.has(c) ? ["toolbar"] : void 0,
|
|
193
|
+
originalIndex: t.length
|
|
194
|
+
}), t), []).sort((t, c) => {
|
|
195
|
+
const a = t.key.match(r), s = c.key.match(r), o = !!a;
|
|
196
|
+
if (o !== !!s)
|
|
197
|
+
return o ? 1 : -1;
|
|
198
|
+
if (a && s) {
|
|
199
|
+
const m = (a[1] === "light" ? 0 : 1) - (s[1] === "light" ? 0 : 1);
|
|
164
200
|
if (m !== 0)
|
|
165
201
|
return m;
|
|
166
|
-
const g = Number(
|
|
202
|
+
const g = Number(a[2]) - Number(s[2]);
|
|
167
203
|
if (g !== 0)
|
|
168
204
|
return g;
|
|
169
205
|
}
|
|
170
|
-
return
|
|
171
|
-
}).map((
|
|
172
|
-
key:
|
|
173
|
-
label:
|
|
174
|
-
mode:
|
|
175
|
-
sections:
|
|
206
|
+
return t.originalIndex - c.originalIndex;
|
|
207
|
+
}).map((t) => ({
|
|
208
|
+
key: t.key,
|
|
209
|
+
label: t.label,
|
|
210
|
+
mode: t.mode,
|
|
211
|
+
sections: t.sections
|
|
176
212
|
}));
|
|
177
213
|
}
|
|
178
|
-
|
|
179
|
-
function
|
|
214
|
+
i(y, "getThemePreviewPresetOptions");
|
|
215
|
+
function N(e, r, n) {
|
|
180
216
|
return e.filter(
|
|
181
|
-
(
|
|
217
|
+
(t) => t.mode === n && (!t.sections || t.sections.includes(r))
|
|
182
218
|
);
|
|
183
219
|
}
|
|
184
|
-
|
|
185
|
-
function
|
|
186
|
-
return
|
|
220
|
+
i(N, "getThemePreviewPresetOptionsByMode");
|
|
221
|
+
function Z(e, r, n) {
|
|
222
|
+
return P({}, e, {
|
|
187
223
|
theme: {
|
|
188
|
-
[
|
|
224
|
+
[r]: n
|
|
189
225
|
}
|
|
190
226
|
});
|
|
191
227
|
}
|
|
192
|
-
|
|
228
|
+
i(Z, "applyThemePreviewPreset");
|
|
193
229
|
export {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
230
|
+
S as THEME_PREVIEW_CUSTOM_PRESET_KEY,
|
|
231
|
+
Z as applyThemePreviewPreset,
|
|
232
|
+
_ as cloneThemePreviewSettings,
|
|
233
|
+
q as getThemePreviewDraftSettings,
|
|
234
|
+
B as getThemePreviewMatchedPresetKeys,
|
|
235
|
+
$ as getThemePreviewPaletteValue,
|
|
236
|
+
y as getThemePreviewPresetOptions,
|
|
237
|
+
N as getThemePreviewPresetOptionsByMode,
|
|
238
|
+
Y as getThemePreviewResetSettings,
|
|
239
|
+
b as getThemePreviewSectionMode,
|
|
240
|
+
G as getThemePreviewSelectionState,
|
|
241
|
+
X as isThemePreviewCustomSection,
|
|
242
|
+
L as resetThemePreviewSessionState,
|
|
243
|
+
z as setThemePreviewDraftSettings,
|
|
244
|
+
Q as setThemePreviewPaletteValue,
|
|
245
|
+
O as setThemePreviewPaletteValues,
|
|
246
|
+
J as setThemePreviewSelectionState
|
|
210
247
|
};
|
|
211
248
|
//# sourceMappingURL=themePreviewSettings.js.map
|