@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.
Files changed (42) hide show
  1. package/dist/_virtual/index10.js +2 -2
  2. package/dist/_virtual/index12.js +2 -2
  3. package/dist/_virtual/index13.js +2 -2
  4. package/dist/_virtual/index14.js +2 -2
  5. package/dist/_virtual/index15.js +2 -2
  6. package/dist/_virtual/index20.js +2 -2
  7. package/dist/_virtual/index21.js +2 -2
  8. package/dist/_virtual/index22.js +2 -2
  9. package/dist/_virtual/index5.js +2 -2
  10. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +195 -147
  11. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  12. package/dist/features/themePreview/components/ThemePreviewColorField.js +10 -11
  13. package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -1
  14. package/dist/features/themePreview/components/ThemePreviewControls.js +232 -198
  15. package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -1
  16. package/dist/features/themePreview/hooks/useThemePreview.js +214 -199
  17. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
  18. package/dist/features/themePreview/utils/themePreviewSettings.js +188 -151
  19. package/dist/features/themePreview/utils/themePreviewSettings.js.map +1 -1
  20. package/dist/features/themePreview.js +18 -17
  21. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/match/index.js +1 -1
  22. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/parse/index.js +1 -1
  23. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  24. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  25. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  26. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
  27. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  28. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  29. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  30. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  31. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  32. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  33. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  34. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  35. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  36. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  37. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  38. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
  39. package/dist/owp-app.css +1 -1
  40. package/dist/types/features/themePreview/utils/index.d.ts +1 -1
  41. package/dist/types/features/themePreview/utils/themePreviewSettings.d.ts +11 -1
  42. 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 E = Object.defineProperty;
2
- var o = (e, t) => E(e, "name", { value: t, configurable: !0 });
3
- import { toolbarCuratedPresetKeys as _ } from "../configs/presets.js";
4
- import { defaultSnackbarTheme as d, defaultSnackbarProviderProps as k } from "../configs/snackbar.js";
5
- import { merge as l } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/merge.js";
6
- import { isString as N } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isString.js";
7
- import { isObject as h } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isObject.js";
8
- const j = "__custom__", V = ["grid", "table", "snackbar"];
9
- let v = null, S = null;
10
- const b = "snackbarProviderProps.";
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 h(e) ? e : {};
13
- }
14
- o(u, "asObjectRecord");
15
- function I(e, t = d) {
16
- const a = "snackbar" in e && h(e.snackbar) ? e.snackbar : void 0;
17
- return l({}, d, t, a);
18
- }
19
- o(I, "getThemePreviewSnackbarTheme");
20
- function R(e, t = k) {
21
- const a = "snackbarProviderProps" in e && h(e.snackbarProviderProps) ? e.snackbarProviderProps : void 0;
22
- return l(
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
- k,
25
- t,
26
- a
30
+ p,
31
+ r,
32
+ n
27
33
  );
28
34
  }
29
- o(R, "getThemePreviewSnackbarProviderProps");
30
- function T(e, t = d) {
31
- return l({}, e, {
32
- snackbar: I(e, t),
33
- snackbarProviderProps: R(e)
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
- o(T, "createThemePreviewSettings");
37
- function A(e) {
42
+ i(w, "createThemePreviewSettings");
43
+ function X(e) {
38
44
  return V.includes(e);
39
45
  }
40
- o(A, "isThemePreviewCustomSection");
41
- function p(e, t) {
42
- switch (t) {
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[t].palette);
56
+ return u(e.theme[r].palette);
51
57
  }
52
58
  }
53
- o(p, "getThemePreviewSectionTarget");
54
- function w(e) {
55
- return T(e);
59
+ i(M, "getThemePreviewSectionTarget");
60
+ function _(e) {
61
+ return w(e);
56
62
  }
57
- o(w, "cloneThemePreviewSettings");
58
- function H(e, t, a = d) {
59
- return l({}, T(e, a), {
60
- theme: t
63
+ i(_, "cloneThemePreviewSettings");
64
+ function Y(e, r, n = f) {
65
+ return P({}, w(e, n), {
66
+ theme: r
61
67
  });
62
68
  }
63
- o(H, "getThemePreviewResetSettings");
64
- function O(e, t, a) {
65
- const [r, i] = a.startsWith(b) ? [u(e.snackbarProviderProps), a.slice(b.length)] : [p(e, t), a], n = i.split(".").reduce((c, s) => u(c)[s], r);
66
- return typeof n == "number" ? String(n) : N(n) ? n : "";
67
- }
68
- o(O, "getThemePreviewPaletteValue");
69
- function f(e, t) {
70
- return e.theme[t].palette.mode === "dark" ? "dark" : "light";
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
- o(f, "getThemePreviewSectionMode");
73
- function F(e) {
74
- return T(v ?? e);
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
- o(F, "getThemePreviewDraftSettings");
77
- function U(e) {
78
- v = w(e);
100
+ i(B, "getThemePreviewMatchedPresetKeys");
101
+ function q(e) {
102
+ return w(k ?? e);
79
103
  }
80
- o(U, "setThemePreviewDraftSettings");
81
- function X(e, t) {
82
- return l(
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: t,
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
- S ?? {}
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
- o(X, "getThemePreviewSelectionState");
95
- function Y(e) {
96
- S = l({}, e);
130
+ i(G, "getThemePreviewSelectionState");
131
+ function J(e) {
132
+ T = P({}, e);
97
133
  }
98
- o(Y, "setThemePreviewSelectionState");
99
- function $() {
100
- v = null, S = null;
134
+ i(J, "setThemePreviewSelectionState");
135
+ function L() {
136
+ k = null, T = null;
101
137
  }
102
- o($, "resetThemePreviewSessionState");
103
- function x(e, t, a) {
104
- const r = t.split("."), i = r.pop();
105
- if (!i)
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 n = e;
108
- r.forEach((s) => {
109
- const P = n[s];
110
- h(P) || (n[s] = {}), n = u(n[s]);
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 c = n[i];
113
- if (typeof c == "number") {
114
- const s = Number(a.replace(/,/g, "."));
115
- n[i] = Number.isNaN(s) ? c : s;
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
- n[i] = a;
154
+ a[c] = n;
119
155
  }
120
- o(x, "applyThemePreviewPaletteValue");
121
- function y(e, t, a) {
122
- if (!a.length)
156
+ i(D, "applyThemePreviewPaletteValue");
157
+ function O(e, r, n) {
158
+ if (!n.length)
123
159
  return e;
124
- const r = w(e), i = p(r, t), n = u(r.snackbarProviderProps);
125
- switch (a.forEach(({ path: c, value: s }) => {
126
- const P = c.startsWith(
127
- b
128
- ), m = P ? c.slice(b.length) : c;
129
- x(
130
- P ? n : i,
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
- s
168
+ o
133
169
  );
134
- }), r.snackbarProviderProps = n, t) {
170
+ }), t.snackbarProviderProps = a, r) {
135
171
  case "grid":
136
- return r.theme.main.grid = i, r;
172
+ return t.theme.main.grid = c, t;
137
173
  case "table":
138
- return r.theme.main.table = i, r;
174
+ return t.theme.main.table = c, t;
139
175
  case "snackbar":
140
- return r.snackbar = i, r;
176
+ return t.snackbar = c, t;
141
177
  default:
142
- return r.theme[t].palette = i, r;
178
+ return t.theme[r].palette = c, t;
143
179
  }
144
180
  }
145
- o(y, "setThemePreviewPaletteValues");
146
- function q(e, t, a, r) {
147
- return y(e, t, [{ path: a, value: r }]);
148
- }
149
- o(q, "setThemePreviewPaletteValue");
150
- function z(e) {
151
- const t = /^(light|dark)(\d+)$/, a = new Set(_);
152
- return Object.entries(e).reduce((r, [i, n]) => (n != null && n.palette && r.push({
153
- key: i,
154
- label: i,
155
- mode: n.palette.mode === "dark" ? "dark" : "light",
156
- sections: a.has(i) ? ["toolbar"] : void 0,
157
- originalIndex: r.length
158
- }), r), []).sort((r, i) => {
159
- const n = r.key.match(t), c = i.key.match(t), s = !!n;
160
- if (s !== !!c)
161
- return s ? 1 : -1;
162
- if (n && c) {
163
- const m = (n[1] === "light" ? 0 : 1) - (c[1] === "light" ? 0 : 1);
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(n[2]) - Number(c[2]);
202
+ const g = Number(a[2]) - Number(s[2]);
167
203
  if (g !== 0)
168
204
  return g;
169
205
  }
170
- return r.originalIndex - i.originalIndex;
171
- }).map((r) => ({
172
- key: r.key,
173
- label: r.label,
174
- mode: r.mode,
175
- sections: r.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
- o(z, "getThemePreviewPresetOptions");
179
- function G(e, t, a) {
214
+ i(y, "getThemePreviewPresetOptions");
215
+ function N(e, r, n) {
180
216
  return e.filter(
181
- (r) => r.mode === a && (!r.sections || r.sections.includes(t))
217
+ (t) => t.mode === n && (!t.sections || t.sections.includes(r))
182
218
  );
183
219
  }
184
- o(G, "getThemePreviewPresetOptionsByMode");
185
- function J(e, t, a) {
186
- return l({}, e, {
220
+ i(N, "getThemePreviewPresetOptionsByMode");
221
+ function Z(e, r, n) {
222
+ return P({}, e, {
187
223
  theme: {
188
- [t]: a
224
+ [r]: n
189
225
  }
190
226
  });
191
227
  }
192
- o(J, "applyThemePreviewPreset");
228
+ i(Z, "applyThemePreviewPreset");
193
229
  export {
194
- j as THEME_PREVIEW_CUSTOM_PRESET_KEY,
195
- J as applyThemePreviewPreset,
196
- w as cloneThemePreviewSettings,
197
- F as getThemePreviewDraftSettings,
198
- O as getThemePreviewPaletteValue,
199
- z as getThemePreviewPresetOptions,
200
- G as getThemePreviewPresetOptionsByMode,
201
- H as getThemePreviewResetSettings,
202
- f as getThemePreviewSectionMode,
203
- X as getThemePreviewSelectionState,
204
- A as isThemePreviewCustomSection,
205
- $ as resetThemePreviewSessionState,
206
- U as setThemePreviewDraftSettings,
207
- q as setThemePreviewPaletteValue,
208
- y as setThemePreviewPaletteValues,
209
- Y as setThemePreviewSelectionState
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