@owp/core 2.5.5 → 2.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configs/theme.d.ts +3 -0
- package/configs/theme.js +1 -0
- package/dist/_virtual/index10.js +2 -2
- package/dist/_virtual/index11.js +2 -2
- package/dist/_virtual/index12.js +2 -2
- package/dist/_virtual/index13.js +2 -2
- package/dist/_virtual/index15.js +2 -2
- package/dist/_virtual/index16.js +4 -4
- package/dist/_virtual/index17.js +4 -4
- package/dist/_virtual/index18.js +4 -4
- package/dist/_virtual/index19.js +4 -4
- package/dist/_virtual/index5.js +2 -2
- package/dist/configs/defaultConfig.js +1 -1
- package/dist/configs/theme.js +28 -0
- package/dist/configs/theme.js.map +1 -0
- package/dist/features/themePreview/components/ThemePreviewColorField.js +279 -208
- package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -1
- package/dist/features/themePreview/configs/presets.js +6 -38
- package/dist/features/themePreview/configs/presets.js.map +1 -1
- package/dist/features/themePreview/configs/previewStorage.js +28 -27
- package/dist/features/themePreview/configs/previewStorage.js.map +1 -1
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +166 -154
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -1
- package/dist/features/themePreview/hooks/useThemePreview.js +202 -157
- package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
- package/dist/features/themePreview/utils/themePreviewExport.js +276 -67
- package/dist/features/themePreview/utils/themePreviewExport.js.map +1 -1
- package/dist/features/themePreview.js +52 -52
- package/dist/hooks/useCommonCodeList.js +31 -8
- package/dist/hooks/useCommonCodeList.js.map +1 -1
- package/dist/hooks.js +81 -80
- package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
- 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/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/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/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js +1 -1
- package/dist/owp-app.css +1 -1
- package/dist/types/configs/theme/index.d.ts +6 -0
- package/dist/types/features/themePreview/configs/index.d.ts +1 -1
- package/dist/types/features/themePreview/configs/presets.d.ts +0 -1
- package/dist/types/features/themePreview/configs/previewStorage.d.ts +1 -0
- package/dist/types/features/themePreview/hooks/useThemePreview.d.ts +2 -1
- package/dist/types/features/themePreview/utils/index.d.ts +1 -1
- package/dist/types/features/themePreview/utils/themePreviewExport.d.ts +38 -1083
- package/dist/types/hooks/useCommonCodeList.d.ts +18 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/treeGridYnUtils.d.ts +15 -0
- package/dist/types/utils/zipUtil.d.ts +1 -0
- package/dist/utils/treeGridYnUtils.js +9 -0
- package/dist/utils/treeGridYnUtils.js.map +1 -0
- package/dist/utils/zipUtil.js +38 -36
- package/dist/utils/zipUtil.js.map +1 -1
- package/dist/utils.js +59 -55
- package/dist/utils.js.map +1 -1
- package/package.json +2 -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 { defaultSnackbarTheme } 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';\n\ninterface UseThemePreviewOptions {\n initialSection?: ThemePreviewSectionKey;\n initialPresetKeys: ThemePreviewPresetKeyBySection;\n presetThemes: ThemePreviewPresetThemes;\n resetTheme: PartialDeep<OwpSettingsConfigType['theme']>;\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;\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: new Date().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\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 resetSettings = useMemo(\n () => getThemePreviewResetSettings(currentSettings, resetTheme, defaultSnackbarTheme),\n [currentSettings, resetTheme],\n );\n const currentSnackbarTheme = useMemo(\n () => merge({}, defaultSnackbarTheme, currentSettings.snackbar),\n [currentSettings],\n );\n\n const [activeSection, setActiveSection] = useState<ThemePreviewSectionKey>(initialSection);\n const [draftSettings, setDraftSettings] = useState<ThemePreviewSettings>(() =>\n getThemePreviewDraftSettings(currentSettings),\n );\n const initialSelectionState = useMemo(\n () => getThemePreviewSelectionState(currentSettings, _initialPresetKeys),\n [currentSettings, _initialPresetKeys],\n );\n const [selectedPresetKeys, setSelectedPresetKeys] = useState<ThemePreviewPresetKeyBySection>(\n initialSelectionState.selectedPresetKeys,\n );\n const [selectedModes, setSelectedModes] = useState<\n Record<ThemePreviewPresetSectionKey, ThemePreviewMode>\n >(initialSelectionState.selectedModes);\n const [temporarySnapshot, setTemporarySnapshot] = useState(() => getThemePreviewTemporaryState());\n const hasTemporarySnapshot = Boolean(temporarySnapshot);\n const hasTemporaryChanges =\n !temporarySnapshot ||\n !isEqual(\n createThemePreviewTemporaryComparableState(\n activeSection,\n draftSettings,\n selectedPresetKeys,\n selectedModes,\n ),\n {\n draftSettings: temporarySnapshot.draftSettings,\n selectionState: temporarySnapshot.selectionState,\n },\n );\n const canApplyToMain =\n !isEqual(currentSettings.theme, draftSettings.theme) ||\n !isEqual(currentSnackbarTheme, draftSettings.snackbar);\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 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 = cloneThemePreviewSettings(resetSettings);\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 clearThemePreviewAppliedSettings();\n setDefaultSettings({\n theme: resetTheme,\n snackbar: defaultSnackbarTheme,\n });\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 });\n setTemporarySnapshot(nextTemporaryState);\n setDefaultSettings({\n theme: draftSettings.theme,\n snackbar: draftSettings.snackbar,\n });\n };\n\n const handleLoadSettings = (\n theme: OwpSettingsConfigType['theme'],\n snackbarTheme = defaultSnackbarTheme,\n ) => {\n const nextDraftSettings = merge({}, currentSettings, {\n theme,\n snackbar: merge({}, defaultSnackbarTheme, snackbarTheme),\n }) as ThemePreviewSettings;\n const nextSelectedModes = getThemePreviewSelectedModes(nextDraftSettings);\n\n commitDraftSettings(nextDraftSettings);\n commitSelectionState(themePreviewCustomPresetKeys, nextSelectedModes);\n persistThemePreviewAppliedSettings({\n theme,\n snackbar: nextDraftSettings.snackbar,\n });\n setDefaultSettings({\n theme,\n snackbar: nextDraftSettings.snackbar,\n });\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 };\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\n return true;\n };\n\n return {\n activeSection,\n canApplyToMain,\n draftSettings,\n hasTemporaryChanges,\n hasTemporarySnapshot,\n presetOptions,\n selectedModes,\n selectedPresetKeys,\n setActiveSection,\n handlePaletteValueChange,\n handlePaletteValuesChange,\n handleApplyToMain,\n handleLoadSettings,\n handlePresetKeyChange,\n handlePresetModeChange,\n handleReset,\n handleTemporaryLoad,\n handleTemporarySave,\n };\n}\n"],"names":["themePreviewCustomPresetKeys","THEME_PREVIEW_CUSTOM_PRESET_KEY","isThemePreviewPresetSectionKey","sectionKey","isThemePreviewCustomSection","__name","getThemePreviewSelectedModes","settings","createThemePreviewTemporaryState","activeSection","draftSettings","selectedPresetKeys","selectedModes","saveType","cloneThemePreviewSettings","createThemePreviewTemporaryComparableState","useThemePreview","initialSection","_initialPresetKeys","presetThemes","resetTheme","currentSettings","useGetCurrentSettings","setDefaultSettings","useSetDefaultSettings","presetOptions","useMemo","getThemePreviewPresetOptions","resetSettings","getThemePreviewResetSettings","defaultSnackbarTheme","currentSnackbarTheme","merge","setActiveSection","useState","setDraftSettings","getThemePreviewDraftSettings","initialSelectionState","getThemePreviewSelectionState","setSelectedPresetKeys","setSelectedModes","temporarySnapshot","setTemporarySnapshot","getThemePreviewTemporaryState","hasTemporarySnapshot","hasTemporaryChanges","isEqual","canApplyToMain","persistSelectionState","nextPresetKeys","nextSelectedModes","setThemePreviewSelectionState","persistDraftSettings","nextDraftSettings","setThemePreviewDraftSettings","commitDraftSettings","commitSelectionState","path","value","setThemePreviewPaletteValue","updates","setThemePreviewPaletteValues","nextTemporaryState","persistThemePreviewTemporaryState","persistThemePreviewAppliedSettings","theme","snackbarTheme","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 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;\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\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 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 [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 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 selectedModes,\n selectedPresetKeys,\n setActiveSection,\n handlePaletteValueChange,\n handlePaletteValuesChange,\n handleApplyToMain,\n handleLoadSettings,\n handlePresetKeyChange,\n handlePresetModeChange,\n handleReset,\n handleTemporaryLoad,\n handleTemporarySave,\n };\n}\n"],"names":["themePreviewCustomPresetKeys","THEME_PREVIEW_CUSTOM_PRESET_KEY","isThemePreviewPresetSectionKey","sectionKey","isThemePreviewCustomSection","__name","getThemePreviewSelectedModes","settings","createThemePreviewTemporaryState","activeSection","draftSettings","selectedPresetKeys","selectedModes","saveType","cloneThemePreviewSettings","dayjs","createThemePreviewTemporaryComparableState","useThemePreview","initialSection","_initialPresetKeys","presetThemes","resetTheme","currentSettings","useGetCurrentSettings","setDefaultSettings","useSetDefaultSettings","presetOptions","useMemo","getThemePreviewPresetOptions","initialDraftSettings","getThemePreviewDraftSettings","initialSelectionState","getThemePreviewSelectionState","resetSettings","getThemePreviewResetSettings","defaultSnackbarTheme","currentSnackbarTheme","merge","currentSnackbarProviderProps","defaultSnackbarProviderProps","setActiveSection","useState","setDraftSettings","setSelectedPresetKeys","setSelectedModes","temporarySnapshot","setTemporarySnapshot","getThemePreviewTemporaryState","temporaryComparableSnapshot","setTemporaryComparableSnapshot","hasTemporarySnapshot","hasTemporaryChanges","isEqual","canApplyToMain","persistSelectionState","nextPresetKeys","nextSelectedModes","setThemePreviewSelectionState","persistDraftSettings","nextDraftSettings","setThemePreviewDraftSettings","commitDraftSettings","commitSelectionState","path","value","setThemePreviewPaletteValue","updates","setThemePreviewPaletteValues","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,95 +1,271 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
var g = Object.defineProperty;
|
|
2
|
+
var t = (e, r) => g(e, "name", { value: r, configurable: !0 });
|
|
3
|
+
import { defaultGridTheme as k } from "../configs/grid.js";
|
|
4
|
+
import { defaultSnackbarProviderProps as h, defaultSnackbarTheme as P } from "../configs/snackbar.js";
|
|
5
|
+
import { defaultTableTheme as v } from "../configs/table.js";
|
|
6
|
+
import { themesConfig as x, defaultToolbarDivider as S, defaultNavbarDivider as w, defaultToolbarSecondaryPalette as s, defaultNavbarSecondaryPalette as f, defaultSecondaryPalette as m, defaultPrimaryPalette as d, darkPaletteText as C, lightPaletteText as _ } from "../configs/presets.js";
|
|
7
|
+
import { defaultSettingsConfig as u } from "../configs/settings.js";
|
|
8
|
+
import { defaultLayoutSurface as T } from "../configs/surface.js";
|
|
9
|
+
const E = ["main", "navbar", "toolbar"], $ = ["toolbar", "navbar", "main"], c = {
|
|
10
|
+
defaultGridTheme: "__OWP_THEME_PREVIEW_DEFAULT_GRID_THEME__",
|
|
11
|
+
defaultSnackbarProviderProps: "__OWP_THEME_PREVIEW_DEFAULT_SNACKBAR_PROVIDER_PROPS__",
|
|
12
|
+
defaultSnackbarTheme: "__OWP_THEME_PREVIEW_DEFAULT_SNACKBAR_THEME__",
|
|
13
|
+
defaultTableTheme: "__OWP_THEME_PREVIEW_DEFAULT_TABLE_THEME__"
|
|
14
|
+
};
|
|
15
|
+
function b(e, r, n, l) {
|
|
16
|
+
const i = n.find(
|
|
17
|
+
(p) => e.theme[p].palette.mode === r
|
|
18
|
+
), o = i ? e.theme[i].palette.text : void 0;
|
|
12
19
|
return {
|
|
13
|
-
primary: (
|
|
14
|
-
secondary: (
|
|
15
|
-
disabled: (
|
|
20
|
+
primary: (o == null ? void 0 : o.primary) ?? l.primary ?? "",
|
|
21
|
+
secondary: (o == null ? void 0 : o.secondary) ?? l.secondary ?? "",
|
|
22
|
+
disabled: (o == null ? void 0 : o.disabled) ?? l.disabled ?? ""
|
|
16
23
|
};
|
|
17
24
|
}
|
|
18
|
-
|
|
19
|
-
function
|
|
20
|
-
const
|
|
25
|
+
t(b, "getThemePreviewTextPalette");
|
|
26
|
+
function N(e) {
|
|
27
|
+
const r = e.theme.navbar.palette.primary ?? T;
|
|
21
28
|
return {
|
|
22
|
-
light:
|
|
23
|
-
main:
|
|
24
|
-
dark:
|
|
25
|
-
contrastText:
|
|
29
|
+
light: r.light ?? T.light,
|
|
30
|
+
main: r.main ?? T.main,
|
|
31
|
+
dark: r.dark ?? T.dark,
|
|
32
|
+
contrastText: r.contrastText ?? T.contrastText
|
|
26
33
|
};
|
|
27
34
|
}
|
|
28
|
-
|
|
29
|
-
function
|
|
30
|
-
const
|
|
35
|
+
t(N, "getThemePreviewSurfaceExport");
|
|
36
|
+
function O(e) {
|
|
37
|
+
const r = e.theme.main.palette.primary ?? d;
|
|
31
38
|
return {
|
|
32
|
-
light:
|
|
33
|
-
main:
|
|
34
|
-
dark:
|
|
35
|
-
contrastText:
|
|
39
|
+
light: r.light ?? d.light,
|
|
40
|
+
main: r.main ?? d.main,
|
|
41
|
+
dark: r.dark ?? d.dark,
|
|
42
|
+
contrastText: r.contrastText ?? d.contrastText
|
|
36
43
|
};
|
|
37
44
|
}
|
|
38
|
-
|
|
39
|
-
function
|
|
40
|
-
const
|
|
45
|
+
t(O, "getThemePreviewPrimaryPaletteExport");
|
|
46
|
+
function R(e) {
|
|
47
|
+
const r = e.theme.main.palette.secondary ?? m;
|
|
41
48
|
return {
|
|
42
|
-
light:
|
|
43
|
-
main:
|
|
44
|
-
dark:
|
|
45
|
-
contrastText:
|
|
49
|
+
light: r.light ?? m.light,
|
|
50
|
+
main: r.main ?? m.main,
|
|
51
|
+
dark: r.dark ?? m.dark,
|
|
52
|
+
contrastText: r.contrastText ?? m.contrastText
|
|
46
53
|
};
|
|
47
54
|
}
|
|
48
|
-
|
|
49
|
-
function
|
|
50
|
-
const
|
|
55
|
+
t(R, "getThemePreviewSecondaryPaletteExport");
|
|
56
|
+
function A(e) {
|
|
57
|
+
const r = e.theme.navbar.palette.secondary ?? f;
|
|
51
58
|
return {
|
|
52
|
-
main:
|
|
53
|
-
contrastText:
|
|
59
|
+
main: r.main ?? f.main,
|
|
60
|
+
contrastText: r.contrastText ?? f.contrastText
|
|
54
61
|
};
|
|
55
62
|
}
|
|
56
|
-
|
|
57
|
-
function
|
|
58
|
-
const
|
|
63
|
+
t(A, "getThemePreviewNavbarSecondaryPaletteExport");
|
|
64
|
+
function V(e) {
|
|
65
|
+
const r = e.theme.toolbar.palette.secondary ?? s;
|
|
59
66
|
return {
|
|
60
|
-
light:
|
|
61
|
-
main:
|
|
62
|
-
dark:
|
|
63
|
-
contrastText:
|
|
67
|
+
light: r.light ?? s.light,
|
|
68
|
+
main: r.main ?? s.main,
|
|
69
|
+
dark: r.dark ?? s.dark,
|
|
70
|
+
contrastText: r.contrastText ?? s.contrastText
|
|
64
71
|
};
|
|
65
72
|
}
|
|
66
|
-
|
|
67
|
-
function
|
|
73
|
+
t(V, "getThemePreviewToolbarSecondaryPaletteExport");
|
|
74
|
+
function y(e) {
|
|
75
|
+
return e.replace(/\\/g, "\\\\").replace(/'/g, "\\'").replace(/\r/g, "\\r").replace(/\n/g, "\\n");
|
|
76
|
+
}
|
|
77
|
+
t(y, "escapeTsString");
|
|
78
|
+
function D(e) {
|
|
79
|
+
return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(e) ? e : `'${y(e)}'`;
|
|
80
|
+
}
|
|
81
|
+
t(D, "formatTsPropertyKey");
|
|
82
|
+
function a(e, r = 0) {
|
|
83
|
+
const n = " ".repeat(r), l = " ".repeat(r + 1);
|
|
84
|
+
if (Array.isArray(e))
|
|
85
|
+
return e.length ? `[
|
|
86
|
+
${e.map((i) => `${l}${a(i, r + 1)}`).join(`,
|
|
87
|
+
`)}
|
|
88
|
+
${n}]` : "[]";
|
|
89
|
+
if (e && typeof e == "object") {
|
|
90
|
+
const i = Object.entries(e).filter(
|
|
91
|
+
([, o]) => o !== void 0
|
|
92
|
+
);
|
|
93
|
+
return i.length ? `{
|
|
94
|
+
${i.map(([o, p]) => `${l}${D(o)}: ${a(p, r + 1)}`).join(`,
|
|
95
|
+
`)}
|
|
96
|
+
${n}}` : "{}";
|
|
97
|
+
}
|
|
98
|
+
return typeof e == "string" ? `'${y(e)}'` : typeof e == "number" || typeof e == "boolean" ? String(e) : e === null ? "null" : "undefined";
|
|
99
|
+
}
|
|
100
|
+
t(a, "toTsLiteral");
|
|
101
|
+
function j(e, r) {
|
|
102
|
+
return Object.entries(r).reduce((n, [l, i]) => n.split(`'${l}'`).join(i), e);
|
|
103
|
+
}
|
|
104
|
+
t(j, "replaceTsReferenceTokens");
|
|
105
|
+
function F(e) {
|
|
106
|
+
const r = e.theme.main.grid ?? k;
|
|
107
|
+
return [
|
|
108
|
+
"import type { OwpGridThemeConfigType } from '@owp/core/types';",
|
|
109
|
+
"",
|
|
110
|
+
`export const defaultGridTheme = ${a(r)} satisfies OwpGridThemeConfigType;`,
|
|
111
|
+
""
|
|
112
|
+
].join(`
|
|
113
|
+
`);
|
|
114
|
+
}
|
|
115
|
+
t(F, "createThemePreviewGridConfigFile");
|
|
116
|
+
function G(e) {
|
|
117
|
+
return [
|
|
118
|
+
`export const defaultLayoutSurface = ${a(e.surface.defaultLayoutSurface)} as const;`,
|
|
119
|
+
""
|
|
120
|
+
].join(`
|
|
121
|
+
`);
|
|
122
|
+
}
|
|
123
|
+
t(G, "createThemePreviewSurfaceConfigFile");
|
|
124
|
+
function L(e) {
|
|
125
|
+
return [
|
|
126
|
+
`export const lightPaletteText = ${a(e.presets.lightPaletteText)};`,
|
|
127
|
+
"",
|
|
128
|
+
`export const darkPaletteText = ${a(e.presets.darkPaletteText)};`,
|
|
129
|
+
"",
|
|
130
|
+
`export const defaultPrimaryPalette = ${a(e.presets.defaultPrimaryPalette)};`,
|
|
131
|
+
"",
|
|
132
|
+
`export const defaultSecondaryPalette = ${a(e.presets.defaultSecondaryPalette)};`,
|
|
133
|
+
"",
|
|
134
|
+
`export const defaultNavbarSecondaryPalette = ${a(e.presets.defaultNavbarSecondaryPalette)};`,
|
|
135
|
+
"",
|
|
136
|
+
`export const defaultNavbarDivider = ${a(e.presets.defaultNavbarDivider)};`,
|
|
137
|
+
"",
|
|
138
|
+
`export const defaultToolbarDivider = ${a(e.presets.defaultToolbarDivider)};`,
|
|
139
|
+
"",
|
|
140
|
+
`export const defaultToolbarSecondaryPalette = ${a(e.presets.defaultToolbarSecondaryPalette)};`,
|
|
141
|
+
""
|
|
142
|
+
].join(`
|
|
143
|
+
`);
|
|
144
|
+
}
|
|
145
|
+
t(L, "createThemePreviewPresetsConfigFile");
|
|
146
|
+
function H(e) {
|
|
147
|
+
const r = e.snackbar ?? P, n = e.snackbarProviderProps ?? h;
|
|
148
|
+
return [
|
|
149
|
+
"import type { SnackbarProviderProps } from 'notistack';",
|
|
150
|
+
"",
|
|
151
|
+
"export const snackbarVariantKeys = ['default', 'success', 'info', 'warning', 'error'] as const;",
|
|
152
|
+
"",
|
|
153
|
+
"export type SnackbarVariantKey = (typeof snackbarVariantKeys)[number];",
|
|
154
|
+
"",
|
|
155
|
+
"export type SnackbarVariantTheme = {",
|
|
156
|
+
" backgroundColor: string;",
|
|
157
|
+
" color: string;",
|
|
158
|
+
"};",
|
|
159
|
+
"",
|
|
160
|
+
"export type SnackbarTheme = Record<SnackbarVariantKey, SnackbarVariantTheme>;",
|
|
161
|
+
"",
|
|
162
|
+
"export type SnackbarProviderTheme = Omit<SnackbarProviderProps, 'children'>;",
|
|
163
|
+
"",
|
|
164
|
+
`export const defaultSnackbarTheme = ${a(r)} satisfies SnackbarTheme;`,
|
|
165
|
+
"",
|
|
166
|
+
`export const defaultSnackbarProviderProps = ${a(n)} satisfies SnackbarProviderTheme;`,
|
|
167
|
+
""
|
|
168
|
+
].join(`
|
|
169
|
+
`);
|
|
170
|
+
}
|
|
171
|
+
t(H, "createThemePreviewSnackbarConfigFile");
|
|
172
|
+
function W(e) {
|
|
173
|
+
const r = e.theme.main.table ?? v;
|
|
174
|
+
return [
|
|
175
|
+
"import type { OwpTableThemeConfigType } from '@owp/core/types';",
|
|
176
|
+
"",
|
|
177
|
+
"type OwpTableHeaderConfigType = NonNullable<OwpTableThemeConfigType['header']>;",
|
|
178
|
+
"type OwpTableCellConfigType = NonNullable<OwpTableThemeConfigType['cell']>;",
|
|
179
|
+
"",
|
|
180
|
+
"export type ThemePreviewTableCellConfigType = OwpTableCellConfigType & {",
|
|
181
|
+
" backgroundColor?: string;",
|
|
182
|
+
"};",
|
|
183
|
+
"",
|
|
184
|
+
"export type ThemePreviewTableVariantConfigType = {",
|
|
185
|
+
" header?: OwpTableHeaderConfigType;",
|
|
186
|
+
" cell?: ThemePreviewTableCellConfigType;",
|
|
187
|
+
"};",
|
|
188
|
+
"",
|
|
189
|
+
"export type ThemePreviewTableRowConfigType = {",
|
|
190
|
+
" backgroundColor?: string;",
|
|
191
|
+
" hoverBackgroundColor?: string;",
|
|
192
|
+
" selectedBackgroundColor?: string;",
|
|
193
|
+
"};",
|
|
194
|
+
"",
|
|
195
|
+
"export type ThemePreviewTableConfigType = ThemePreviewTableVariantConfigType & {",
|
|
196
|
+
" borderRadius?: number | string;",
|
|
197
|
+
" field?: ThemePreviewTableVariantConfigType;",
|
|
198
|
+
" row?: ThemePreviewTableRowConfigType;",
|
|
199
|
+
"};",
|
|
200
|
+
"",
|
|
201
|
+
`export const defaultTableTheme = ${a(r)} satisfies ThemePreviewTableConfigType;`,
|
|
202
|
+
""
|
|
203
|
+
].join(`
|
|
204
|
+
`);
|
|
205
|
+
}
|
|
206
|
+
t(W, "createThemePreviewTableConfigFile");
|
|
207
|
+
function I(e) {
|
|
208
|
+
const r = {
|
|
209
|
+
customScrollbars: u.customScrollbars,
|
|
210
|
+
direction: u.direction,
|
|
211
|
+
snackbar: c.defaultSnackbarTheme,
|
|
212
|
+
snackbarProviderProps: c.defaultSnackbarProviderProps,
|
|
213
|
+
theme: {
|
|
214
|
+
...e.theme,
|
|
215
|
+
main: {
|
|
216
|
+
...e.theme.main,
|
|
217
|
+
grid: c.defaultGridTheme,
|
|
218
|
+
table: c.defaultTableTheme
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
return [
|
|
223
|
+
"import type { OwpSettingsConfigType } from '@owp/core/types';",
|
|
224
|
+
"import type { PartialDeep } from 'type-fest';",
|
|
225
|
+
"import { defaultGridTheme } from './grid';",
|
|
226
|
+
"import { defaultSnackbarProviderProps, defaultSnackbarTheme } from './snackbar';",
|
|
227
|
+
"import { defaultTableTheme } from './table';",
|
|
228
|
+
"",
|
|
229
|
+
`export const defaultSettingsConfig = ${j(a(r), {
|
|
230
|
+
[c.defaultGridTheme]: "defaultGridTheme",
|
|
231
|
+
[c.defaultSnackbarProviderProps]: "defaultSnackbarProviderProps",
|
|
232
|
+
[c.defaultSnackbarTheme]: "defaultSnackbarTheme",
|
|
233
|
+
[c.defaultTableTheme]: "defaultTableTheme"
|
|
234
|
+
})} as PartialDeep<OwpSettingsConfigType> & {`,
|
|
235
|
+
" snackbarProviderProps: typeof defaultSnackbarProviderProps;",
|
|
236
|
+
"};",
|
|
237
|
+
""
|
|
238
|
+
].join(`
|
|
239
|
+
`);
|
|
240
|
+
}
|
|
241
|
+
t(I, "createThemePreviewSettingsConfigFile");
|
|
242
|
+
function K(e) {
|
|
243
|
+
const r = e.snackbarProviderProps ?? h;
|
|
68
244
|
return {
|
|
69
245
|
surface: {
|
|
70
|
-
defaultLayoutSurface:
|
|
246
|
+
defaultLayoutSurface: N(e)
|
|
71
247
|
},
|
|
72
248
|
presets: {
|
|
73
|
-
lightPaletteText:
|
|
249
|
+
lightPaletteText: b(
|
|
74
250
|
e,
|
|
75
251
|
"light",
|
|
76
|
-
|
|
77
|
-
|
|
252
|
+
E,
|
|
253
|
+
_
|
|
78
254
|
),
|
|
79
|
-
darkPaletteText:
|
|
255
|
+
darkPaletteText: b(
|
|
80
256
|
e,
|
|
81
257
|
"dark",
|
|
82
|
-
|
|
83
|
-
|
|
258
|
+
$,
|
|
259
|
+
C
|
|
84
260
|
),
|
|
85
|
-
defaultPrimaryPalette:
|
|
86
|
-
defaultSecondaryPalette:
|
|
87
|
-
defaultNavbarDivider: e.theme.navbar.palette.divider ??
|
|
88
|
-
defaultNavbarSecondaryPalette:
|
|
89
|
-
defaultToolbarDivider: e.theme.toolbar.palette.divider ??
|
|
90
|
-
defaultToolbarSecondaryPalette:
|
|
261
|
+
defaultPrimaryPalette: O(e),
|
|
262
|
+
defaultSecondaryPalette: R(e),
|
|
263
|
+
defaultNavbarDivider: e.theme.navbar.palette.divider ?? w,
|
|
264
|
+
defaultNavbarSecondaryPalette: A(e),
|
|
265
|
+
defaultToolbarDivider: e.theme.toolbar.palette.divider ?? S,
|
|
266
|
+
defaultToolbarSecondaryPalette: V(e),
|
|
91
267
|
themesConfig: {
|
|
92
|
-
...
|
|
268
|
+
...x,
|
|
93
269
|
light1: e.theme.main,
|
|
94
270
|
light2: e.theme.navbar,
|
|
95
271
|
surfaceDark: e.theme.toolbar
|
|
@@ -97,15 +273,48 @@ function A(e) {
|
|
|
97
273
|
},
|
|
98
274
|
settings: {
|
|
99
275
|
defaultSettingsConfig: {
|
|
100
|
-
...
|
|
276
|
+
...u,
|
|
277
|
+
snackbarProviderProps: r,
|
|
101
278
|
theme: e.theme
|
|
102
279
|
},
|
|
103
|
-
defaultSnackbarTheme: e.snackbar ??
|
|
280
|
+
defaultSnackbarTheme: e.snackbar ?? P,
|
|
281
|
+
defaultSnackbarProviderProps: r
|
|
104
282
|
}
|
|
105
283
|
};
|
|
106
284
|
}
|
|
107
|
-
|
|
285
|
+
t(K, "createThemePreviewExportData");
|
|
286
|
+
function Q(e) {
|
|
287
|
+
const r = K(e);
|
|
288
|
+
return [
|
|
289
|
+
{
|
|
290
|
+
fileName: "grid.ts",
|
|
291
|
+
content: F(e)
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
fileName: "presets.ts",
|
|
295
|
+
content: L(r)
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
fileName: "settings.ts",
|
|
299
|
+
content: I(e)
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
fileName: "snackbar.ts",
|
|
303
|
+
content: H(e)
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
fileName: "surface.ts",
|
|
307
|
+
content: G(r)
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
fileName: "table.ts",
|
|
311
|
+
content: W(e)
|
|
312
|
+
}
|
|
313
|
+
];
|
|
314
|
+
}
|
|
315
|
+
t(Q, "createThemePreviewAppConfigFiles");
|
|
108
316
|
export {
|
|
109
|
-
|
|
317
|
+
Q as createThemePreviewAppConfigFiles,
|
|
318
|
+
K as createThemePreviewExportData
|
|
110
319
|
};
|
|
111
320
|
//# sourceMappingURL=themePreviewExport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themePreviewExport.js","sources":["../../../../src/features/themePreview/utils/themePreviewExport.ts"],"sourcesContent":["import { defaultSnackbarTheme } from '@/features/themePreview/configs/snackbar';\nimport {\n darkPaletteText,\n defaultNavbarDivider,\n defaultNavbarSecondaryPalette,\n defaultPrimaryPalette,\n defaultSecondaryPalette,\n defaultToolbarDivider,\n defaultToolbarSecondaryPalette,\n lightPaletteText,\n themesConfig,\n} from '@/features/themePreview/configs/presets';\nimport { defaultSettingsConfig } from '@/features/themePreview/configs/settings';\nimport { defaultLayoutSurface } from '@/features/themePreview/configs/surface';\nimport type { OwpSettingsConfigType } from '@/types';\nimport type { ThemePreviewPaletteSectionKey, ThemePreviewSettings } from '../types';\n\ntype ThemePreviewTextPalette = {\n disabled?: string;\n primary?: string;\n secondary?: string;\n};\n\nconst themePreviewLightTextSections: ThemePreviewPaletteSectionKey[] = ['main', 'navbar', 'toolbar'];\nconst themePreviewDarkTextSections: ThemePreviewPaletteSectionKey[] = ['toolbar', 'navbar', 'main'];\n\nfunction getThemePreviewTextPalette(\n settings: OwpSettingsConfigType,\n mode: 'light' | 'dark',\n sectionKeys: ThemePreviewPaletteSectionKey[],\n fallbackPalette: ThemePreviewTextPalette,\n) {\n const matchedTheme = sectionKeys.find(\n (sectionKey) => settings.theme[sectionKey].palette.mode === mode,\n );\n const textPalette = matchedTheme ? settings.theme[matchedTheme].palette.text : undefined;\n\n return {\n primary: textPalette?.primary ?? fallbackPalette.primary ?? '',\n secondary: textPalette?.secondary ?? fallbackPalette.secondary ?? '',\n disabled: textPalette?.disabled ?? fallbackPalette.disabled ?? '',\n };\n}\n\nfunction getThemePreviewSurfaceExport(settings: OwpSettingsConfigType) {\n const surfacePalette = settings.theme.navbar.palette.primary ?? defaultLayoutSurface;\n\n return {\n light: surfacePalette.light ?? defaultLayoutSurface.light,\n main: surfacePalette.main ?? defaultLayoutSurface.main,\n dark: surfacePalette.dark ?? defaultLayoutSurface.dark,\n contrastText: surfacePalette.contrastText ?? defaultLayoutSurface.contrastText,\n };\n}\n\nfunction getThemePreviewPrimaryPaletteExport(settings: OwpSettingsConfigType) {\n const primaryPalette = settings.theme.main.palette.primary ?? defaultPrimaryPalette;\n\n return {\n light: primaryPalette.light ?? defaultPrimaryPalette.light,\n main: primaryPalette.main ?? defaultPrimaryPalette.main,\n dark: primaryPalette.dark ?? defaultPrimaryPalette.dark,\n contrastText: primaryPalette.contrastText ?? defaultPrimaryPalette.contrastText,\n };\n}\n\nfunction getThemePreviewSecondaryPaletteExport(settings: OwpSettingsConfigType) {\n const secondaryPalette = settings.theme.main.palette.secondary ?? defaultSecondaryPalette;\n\n return {\n light: secondaryPalette.light ?? defaultSecondaryPalette.light,\n main: secondaryPalette.main ?? defaultSecondaryPalette.main,\n dark: secondaryPalette.dark ?? defaultSecondaryPalette.dark,\n contrastText: secondaryPalette.contrastText ?? defaultSecondaryPalette.contrastText,\n };\n}\n\nfunction getThemePreviewNavbarSecondaryPaletteExport(settings: OwpSettingsConfigType) {\n const secondaryPalette =\n settings.theme.navbar.palette.secondary ?? defaultNavbarSecondaryPalette;\n\n return {\n main: secondaryPalette.main ?? defaultNavbarSecondaryPalette.main,\n contrastText: secondaryPalette.contrastText ?? defaultNavbarSecondaryPalette.contrastText,\n };\n}\n\nfunction getThemePreviewToolbarSecondaryPaletteExport(settings: OwpSettingsConfigType) {\n const secondaryPalette =\n settings.theme.toolbar.palette.secondary ?? defaultToolbarSecondaryPalette;\n\n return {\n light: secondaryPalette.light ?? defaultToolbarSecondaryPalette.light,\n main: secondaryPalette.main ?? defaultToolbarSecondaryPalette.main,\n dark: secondaryPalette.dark ?? defaultToolbarSecondaryPalette.dark,\n contrastText:\n secondaryPalette.contrastText ?? defaultToolbarSecondaryPalette.contrastText,\n };\n}\n\nexport function createThemePreviewExportData(draftSettings: ThemePreviewSettings) {\n return {\n surface: {\n defaultLayoutSurface: getThemePreviewSurfaceExport(draftSettings),\n },\n presets: {\n lightPaletteText: getThemePreviewTextPalette(\n draftSettings,\n 'light',\n themePreviewLightTextSections,\n lightPaletteText,\n ),\n darkPaletteText: getThemePreviewTextPalette(\n draftSettings,\n 'dark',\n themePreviewDarkTextSections,\n darkPaletteText,\n ),\n defaultPrimaryPalette: getThemePreviewPrimaryPaletteExport(draftSettings),\n defaultSecondaryPalette: getThemePreviewSecondaryPaletteExport(draftSettings),\n defaultNavbarDivider:\n draftSettings.theme.navbar.palette.divider ?? defaultNavbarDivider,\n defaultNavbarSecondaryPalette: getThemePreviewNavbarSecondaryPaletteExport(draftSettings),\n defaultToolbarDivider:\n draftSettings.theme.toolbar.palette.divider ?? defaultToolbarDivider,\n defaultToolbarSecondaryPalette: getThemePreviewToolbarSecondaryPaletteExport(draftSettings),\n themesConfig: {\n ...themesConfig,\n light1: draftSettings.theme.main,\n light2: draftSettings.theme.navbar,\n surfaceDark: draftSettings.theme.toolbar,\n },\n },\n settings: {\n defaultSettingsConfig: {\n ...defaultSettingsConfig,\n theme: draftSettings.theme,\n },\n defaultSnackbarTheme: draftSettings.snackbar ?? defaultSnackbarTheme,\n },\n };\n}\n"],"names":["themePreviewLightTextSections","themePreviewDarkTextSections","getThemePreviewTextPalette","settings","mode","sectionKeys","fallbackPalette","matchedTheme","sectionKey","textPalette","__name","getThemePreviewSurfaceExport","surfacePalette","defaultLayoutSurface","getThemePreviewPrimaryPaletteExport","primaryPalette","defaultPrimaryPalette","getThemePreviewSecondaryPaletteExport","secondaryPalette","defaultSecondaryPalette","getThemePreviewNavbarSecondaryPaletteExport","defaultNavbarSecondaryPalette","getThemePreviewToolbarSecondaryPaletteExport","defaultToolbarSecondaryPalette","createThemePreviewExportData","draftSettings","lightPaletteText","darkPaletteText","defaultNavbarDivider","defaultToolbarDivider","themesConfig","defaultSettingsConfig","defaultSnackbarTheme"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"themePreviewExport.js","sources":["../../../../src/features/themePreview/utils/themePreviewExport.ts"],"sourcesContent":["import { defaultGridTheme } from '@/features/themePreview/configs/grid';\nimport {\n defaultSnackbarProviderProps,\n defaultSnackbarTheme,\n type SnackbarProviderTheme,\n type SnackbarTheme,\n} from '@/features/themePreview/configs/snackbar';\nimport { defaultTableTheme } from '@/features/themePreview/configs/table';\nimport {\n darkPaletteText,\n defaultNavbarDivider,\n defaultNavbarSecondaryPalette,\n defaultPrimaryPalette,\n defaultSecondaryPalette,\n defaultToolbarDivider,\n defaultToolbarSecondaryPalette,\n lightPaletteText,\n themesConfig,\n} from '@/features/themePreview/configs/presets';\nimport { defaultSettingsConfig } from '@/features/themePreview/configs/settings';\nimport { defaultLayoutSurface } from '@/features/themePreview/configs/surface';\nimport type { OwpSettingsConfigType } from '@/types';\nimport type { ThemePreviewPaletteSectionKey, ThemePreviewSettings } from '../types';\n\ntype ThemePreviewTextPalette = {\n disabled?: string;\n primary?: string;\n secondary?: string;\n};\n\nexport interface ThemePreviewExportData {\n presets: {\n darkPaletteText: ThemePreviewTextPalette;\n defaultNavbarDivider: string;\n defaultNavbarSecondaryPalette: Record<string, string | undefined>;\n defaultPrimaryPalette: Record<string, string | undefined>;\n defaultSecondaryPalette: Record<string, string | undefined>;\n defaultToolbarDivider: string;\n defaultToolbarSecondaryPalette: Record<string, string | undefined>;\n lightPaletteText: ThemePreviewTextPalette;\n themesConfig: Record<string, unknown>;\n };\n settings: {\n defaultSettingsConfig: Omit<typeof defaultSettingsConfig, 'snackbar' | 'theme'> & {\n snackbar: SnackbarTheme;\n snackbarProviderProps: SnackbarProviderTheme;\n theme: OwpSettingsConfigType['theme'];\n };\n defaultSnackbarProviderProps: SnackbarProviderTheme;\n defaultSnackbarTheme: SnackbarTheme;\n };\n surface: {\n defaultLayoutSurface: {\n contrastText?: string;\n dark?: string;\n light?: string;\n main?: string;\n };\n };\n}\n\nexport interface ThemePreviewAppConfigFile {\n content: string;\n fileName: string;\n}\n\nconst themePreviewLightTextSections: ThemePreviewPaletteSectionKey[] = ['main', 'navbar', 'toolbar'];\nconst themePreviewDarkTextSections: ThemePreviewPaletteSectionKey[] = ['toolbar', 'navbar', 'main'];\nconst themePreviewRefTokens = {\n defaultGridTheme: '__OWP_THEME_PREVIEW_DEFAULT_GRID_THEME__',\n defaultSnackbarProviderProps: '__OWP_THEME_PREVIEW_DEFAULT_SNACKBAR_PROVIDER_PROPS__',\n defaultSnackbarTheme: '__OWP_THEME_PREVIEW_DEFAULT_SNACKBAR_THEME__',\n defaultTableTheme: '__OWP_THEME_PREVIEW_DEFAULT_TABLE_THEME__',\n} as const;\n\nfunction getThemePreviewTextPalette(\n settings: OwpSettingsConfigType,\n mode: 'light' | 'dark',\n sectionKeys: ThemePreviewPaletteSectionKey[],\n fallbackPalette: ThemePreviewTextPalette,\n) {\n const matchedTheme = sectionKeys.find(\n (sectionKey) => settings.theme[sectionKey].palette.mode === mode,\n );\n const textPalette = matchedTheme ? settings.theme[matchedTheme].palette.text : undefined;\n\n return {\n primary: textPalette?.primary ?? fallbackPalette.primary ?? '',\n secondary: textPalette?.secondary ?? fallbackPalette.secondary ?? '',\n disabled: textPalette?.disabled ?? fallbackPalette.disabled ?? '',\n };\n}\n\nfunction getThemePreviewSurfaceExport(settings: OwpSettingsConfigType) {\n const surfacePalette = settings.theme.navbar.palette.primary ?? defaultLayoutSurface;\n\n return {\n light: surfacePalette.light ?? defaultLayoutSurface.light,\n main: surfacePalette.main ?? defaultLayoutSurface.main,\n dark: surfacePalette.dark ?? defaultLayoutSurface.dark,\n contrastText: surfacePalette.contrastText ?? defaultLayoutSurface.contrastText,\n };\n}\n\nfunction getThemePreviewPrimaryPaletteExport(settings: OwpSettingsConfigType) {\n const primaryPalette = settings.theme.main.palette.primary ?? defaultPrimaryPalette;\n\n return {\n light: primaryPalette.light ?? defaultPrimaryPalette.light,\n main: primaryPalette.main ?? defaultPrimaryPalette.main,\n dark: primaryPalette.dark ?? defaultPrimaryPalette.dark,\n contrastText: primaryPalette.contrastText ?? defaultPrimaryPalette.contrastText,\n };\n}\n\nfunction getThemePreviewSecondaryPaletteExport(settings: OwpSettingsConfigType) {\n const secondaryPalette = settings.theme.main.palette.secondary ?? defaultSecondaryPalette;\n\n return {\n light: secondaryPalette.light ?? defaultSecondaryPalette.light,\n main: secondaryPalette.main ?? defaultSecondaryPalette.main,\n dark: secondaryPalette.dark ?? defaultSecondaryPalette.dark,\n contrastText: secondaryPalette.contrastText ?? defaultSecondaryPalette.contrastText,\n };\n}\n\nfunction getThemePreviewNavbarSecondaryPaletteExport(settings: OwpSettingsConfigType) {\n const secondaryPalette =\n settings.theme.navbar.palette.secondary ?? defaultNavbarSecondaryPalette;\n\n return {\n main: secondaryPalette.main ?? defaultNavbarSecondaryPalette.main,\n contrastText: secondaryPalette.contrastText ?? defaultNavbarSecondaryPalette.contrastText,\n };\n}\n\nfunction getThemePreviewToolbarSecondaryPaletteExport(settings: OwpSettingsConfigType) {\n const secondaryPalette =\n settings.theme.toolbar.palette.secondary ?? defaultToolbarSecondaryPalette;\n\n return {\n light: secondaryPalette.light ?? defaultToolbarSecondaryPalette.light,\n main: secondaryPalette.main ?? defaultToolbarSecondaryPalette.main,\n dark: secondaryPalette.dark ?? defaultToolbarSecondaryPalette.dark,\n contrastText:\n secondaryPalette.contrastText ?? defaultToolbarSecondaryPalette.contrastText,\n };\n}\n\nfunction escapeTsString(value: string) {\n return value\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\r/g, '\\\\r')\n .replace(/\\n/g, '\\\\n');\n}\n\nfunction formatTsPropertyKey(key: string) {\n return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(key) ? key : `'${escapeTsString(key)}'`;\n}\n\nfunction toTsLiteral(value: unknown, indentLevel = 0): string {\n const indent = ' '.repeat(indentLevel);\n const nextIndent = ' '.repeat(indentLevel + 1);\n\n if (Array.isArray(value)) {\n if (!value.length) {\n return '[]';\n }\n\n return `[\\n${value.map((item) => `${nextIndent}${toTsLiteral(item, indentLevel + 1)}`).join(',\\n')}\\n${indent}]`;\n }\n\n if (value && typeof value === 'object') {\n const entries = Object.entries(value as Record<string, unknown>).filter(\n ([, entryValue]) => entryValue !== undefined,\n );\n\n if (!entries.length) {\n return '{}';\n }\n\n return `{\\n${entries.map(([key, entryValue]) => `${nextIndent}${formatTsPropertyKey(key)}: ${toTsLiteral(entryValue, indentLevel + 1)}`).join(',\\n')}\\n${indent}}`;\n }\n\n if (typeof value === 'string') {\n return `'${escapeTsString(value)}'`;\n }\n\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value);\n }\n\n if (value === null) {\n return 'null';\n }\n\n return 'undefined';\n}\n\nfunction replaceTsReferenceTokens(\n literal: string,\n replacements: Record<string, string>,\n) {\n return Object.entries(replacements).reduce((acc, [token, replacement]) => {\n return acc.split(`'${token}'`).join(replacement);\n }, literal);\n}\n\nfunction createThemePreviewGridConfigFile(draftSettings: ThemePreviewSettings) {\n const gridTheme = draftSettings.theme.main.grid ?? defaultGridTheme;\n\n return [\n \"import type { OwpGridThemeConfigType } from '@owp/core/types';\",\n '',\n `export const defaultGridTheme = ${toTsLiteral(gridTheme)} satisfies OwpGridThemeConfigType;`,\n '',\n ].join('\\n');\n}\n\nfunction createThemePreviewSurfaceConfigFile(exportData: ThemePreviewExportData) {\n return [\n `export const defaultLayoutSurface = ${toTsLiteral(exportData.surface.defaultLayoutSurface)} as const;`,\n '',\n ].join('\\n');\n}\n\nfunction createThemePreviewPresetsConfigFile(exportData: ThemePreviewExportData) {\n return [\n `export const lightPaletteText = ${toTsLiteral(exportData.presets.lightPaletteText)};`,\n '',\n `export const darkPaletteText = ${toTsLiteral(exportData.presets.darkPaletteText)};`,\n '',\n `export const defaultPrimaryPalette = ${toTsLiteral(exportData.presets.defaultPrimaryPalette)};`,\n '',\n `export const defaultSecondaryPalette = ${toTsLiteral(exportData.presets.defaultSecondaryPalette)};`,\n '',\n `export const defaultNavbarSecondaryPalette = ${toTsLiteral(exportData.presets.defaultNavbarSecondaryPalette)};`,\n '',\n `export const defaultNavbarDivider = ${toTsLiteral(exportData.presets.defaultNavbarDivider)};`,\n '',\n `export const defaultToolbarDivider = ${toTsLiteral(exportData.presets.defaultToolbarDivider)};`,\n '',\n `export const defaultToolbarSecondaryPalette = ${toTsLiteral(exportData.presets.defaultToolbarSecondaryPalette)};`,\n '',\n ].join('\\n');\n}\n\nfunction createThemePreviewSnackbarConfigFile(draftSettings: ThemePreviewSettings) {\n const snackbarTheme = draftSettings.snackbar ?? defaultSnackbarTheme;\n const snackbarProviderProps =\n draftSettings.snackbarProviderProps ?? defaultSnackbarProviderProps;\n\n return [\n \"import type { SnackbarProviderProps } from 'notistack';\",\n '',\n \"export const snackbarVariantKeys = ['default', 'success', 'info', 'warning', 'error'] as const;\",\n '',\n 'export type SnackbarVariantKey = (typeof snackbarVariantKeys)[number];',\n '',\n 'export type SnackbarVariantTheme = {',\n ' backgroundColor: string;',\n ' color: string;',\n '};',\n '',\n 'export type SnackbarTheme = Record<SnackbarVariantKey, SnackbarVariantTheme>;',\n '',\n \"export type SnackbarProviderTheme = Omit<SnackbarProviderProps, 'children'>;\",\n '',\n `export const defaultSnackbarTheme = ${toTsLiteral(snackbarTheme)} satisfies SnackbarTheme;`,\n '',\n `export const defaultSnackbarProviderProps = ${toTsLiteral(snackbarProviderProps)} satisfies SnackbarProviderTheme;`,\n '',\n ].join('\\n');\n}\n\nfunction createThemePreviewTableConfigFile(draftSettings: ThemePreviewSettings) {\n const tableTheme = draftSettings.theme.main.table ?? defaultTableTheme;\n\n return [\n \"import type { OwpTableThemeConfigType } from '@owp/core/types';\",\n '',\n \"type OwpTableHeaderConfigType = NonNullable<OwpTableThemeConfigType['header']>;\",\n \"type OwpTableCellConfigType = NonNullable<OwpTableThemeConfigType['cell']>;\",\n '',\n 'export type ThemePreviewTableCellConfigType = OwpTableCellConfigType & {',\n ' backgroundColor?: string;',\n '};',\n '',\n 'export type ThemePreviewTableVariantConfigType = {',\n ' header?: OwpTableHeaderConfigType;',\n ' cell?: ThemePreviewTableCellConfigType;',\n '};',\n '',\n 'export type ThemePreviewTableRowConfigType = {',\n ' backgroundColor?: string;',\n ' hoverBackgroundColor?: string;',\n ' selectedBackgroundColor?: string;',\n '};',\n '',\n 'export type ThemePreviewTableConfigType = ThemePreviewTableVariantConfigType & {',\n ' borderRadius?: number | string;',\n ' field?: ThemePreviewTableVariantConfigType;',\n ' row?: ThemePreviewTableRowConfigType;',\n '};',\n '',\n `export const defaultTableTheme = ${toTsLiteral(tableTheme)} satisfies ThemePreviewTableConfigType;`,\n '',\n ].join('\\n');\n}\n\nfunction createThemePreviewSettingsConfigFile(draftSettings: ThemePreviewSettings) {\n const nextSettingsConfig = {\n customScrollbars: defaultSettingsConfig.customScrollbars,\n direction: defaultSettingsConfig.direction,\n snackbar: themePreviewRefTokens.defaultSnackbarTheme,\n snackbarProviderProps: themePreviewRefTokens.defaultSnackbarProviderProps,\n theme: {\n ...draftSettings.theme,\n main: {\n ...draftSettings.theme.main,\n grid: themePreviewRefTokens.defaultGridTheme,\n table: themePreviewRefTokens.defaultTableTheme,\n },\n },\n };\n\n const settingsLiteral = replaceTsReferenceTokens(toTsLiteral(nextSettingsConfig), {\n [themePreviewRefTokens.defaultGridTheme]: 'defaultGridTheme',\n [themePreviewRefTokens.defaultSnackbarProviderProps]: 'defaultSnackbarProviderProps',\n [themePreviewRefTokens.defaultSnackbarTheme]: 'defaultSnackbarTheme',\n [themePreviewRefTokens.defaultTableTheme]: 'defaultTableTheme',\n });\n\n return [\n \"import type { OwpSettingsConfigType } from '@owp/core/types';\",\n \"import type { PartialDeep } from 'type-fest';\",\n \"import { defaultGridTheme } from './grid';\",\n \"import { defaultSnackbarProviderProps, defaultSnackbarTheme } from './snackbar';\",\n \"import { defaultTableTheme } from './table';\",\n '',\n `export const defaultSettingsConfig = ${settingsLiteral} as PartialDeep<OwpSettingsConfigType> & {`,\n ' snackbarProviderProps: typeof defaultSnackbarProviderProps;',\n '};',\n '',\n ].join('\\n');\n}\n\nexport function createThemePreviewExportData(\n draftSettings: ThemePreviewSettings,\n): ThemePreviewExportData {\n const resolvedSnackbarProviderProps =\n draftSettings.snackbarProviderProps ?? defaultSnackbarProviderProps;\n\n return {\n surface: {\n defaultLayoutSurface: getThemePreviewSurfaceExport(draftSettings),\n },\n presets: {\n lightPaletteText: getThemePreviewTextPalette(\n draftSettings,\n 'light',\n themePreviewLightTextSections,\n lightPaletteText,\n ),\n darkPaletteText: getThemePreviewTextPalette(\n draftSettings,\n 'dark',\n themePreviewDarkTextSections,\n darkPaletteText,\n ),\n defaultPrimaryPalette: getThemePreviewPrimaryPaletteExport(draftSettings),\n defaultSecondaryPalette: getThemePreviewSecondaryPaletteExport(draftSettings),\n defaultNavbarDivider:\n draftSettings.theme.navbar.palette.divider ?? defaultNavbarDivider,\n defaultNavbarSecondaryPalette: getThemePreviewNavbarSecondaryPaletteExport(draftSettings),\n defaultToolbarDivider:\n draftSettings.theme.toolbar.palette.divider ?? defaultToolbarDivider,\n defaultToolbarSecondaryPalette: getThemePreviewToolbarSecondaryPaletteExport(draftSettings),\n themesConfig: {\n ...themesConfig,\n light1: draftSettings.theme.main,\n light2: draftSettings.theme.navbar,\n surfaceDark: draftSettings.theme.toolbar,\n },\n },\n settings: {\n defaultSettingsConfig: {\n ...defaultSettingsConfig,\n snackbarProviderProps: resolvedSnackbarProviderProps,\n theme: draftSettings.theme,\n },\n defaultSnackbarTheme: draftSettings.snackbar ?? defaultSnackbarTheme,\n defaultSnackbarProviderProps: resolvedSnackbarProviderProps,\n },\n };\n}\n\nexport function createThemePreviewAppConfigFiles(\n draftSettings: ThemePreviewSettings,\n): ThemePreviewAppConfigFile[] {\n const exportData = createThemePreviewExportData(draftSettings);\n\n return [\n {\n fileName: 'grid.ts',\n content: createThemePreviewGridConfigFile(draftSettings),\n },\n {\n fileName: 'presets.ts',\n content: createThemePreviewPresetsConfigFile(exportData),\n },\n {\n fileName: 'settings.ts',\n content: createThemePreviewSettingsConfigFile(draftSettings),\n },\n {\n fileName: 'snackbar.ts',\n content: createThemePreviewSnackbarConfigFile(draftSettings),\n },\n {\n fileName: 'surface.ts',\n content: createThemePreviewSurfaceConfigFile(exportData),\n },\n {\n fileName: 'table.ts',\n content: createThemePreviewTableConfigFile(draftSettings),\n },\n ];\n}\n"],"names":["themePreviewLightTextSections","themePreviewDarkTextSections","themePreviewRefTokens","getThemePreviewTextPalette","settings","mode","sectionKeys","fallbackPalette","matchedTheme","sectionKey","textPalette","__name","getThemePreviewSurfaceExport","surfacePalette","defaultLayoutSurface","getThemePreviewPrimaryPaletteExport","primaryPalette","defaultPrimaryPalette","getThemePreviewSecondaryPaletteExport","secondaryPalette","defaultSecondaryPalette","getThemePreviewNavbarSecondaryPaletteExport","defaultNavbarSecondaryPalette","getThemePreviewToolbarSecondaryPaletteExport","defaultToolbarSecondaryPalette","escapeTsString","value","formatTsPropertyKey","key","toTsLiteral","indentLevel","indent","nextIndent","item","entries","entryValue","replaceTsReferenceTokens","literal","replacements","acc","token","replacement","createThemePreviewGridConfigFile","draftSettings","gridTheme","defaultGridTheme","createThemePreviewSurfaceConfigFile","exportData","createThemePreviewPresetsConfigFile","createThemePreviewSnackbarConfigFile","snackbarTheme","defaultSnackbarTheme","snackbarProviderProps","defaultSnackbarProviderProps","createThemePreviewTableConfigFile","tableTheme","defaultTableTheme","createThemePreviewSettingsConfigFile","nextSettingsConfig","defaultSettingsConfig","createThemePreviewExportData","resolvedSnackbarProviderProps","lightPaletteText","darkPaletteText","defaultNavbarDivider","defaultToolbarDivider","themesConfig","createThemePreviewAppConfigFiles"],"mappings":"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"}
|