@owp/core 2.5.3 → 2.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index10.js +2 -2
- package/dist/_virtual/index12.js +2 -2
- package/dist/_virtual/index13.js +2 -2
- package/dist/_virtual/index14.js +2 -2
- package/dist/_virtual/index15.js +2 -2
- package/dist/_virtual/index16.js +4 -4
- package/dist/_virtual/index17.js +4 -4
- package/dist/_virtual/index18.js +4 -4
- package/dist/_virtual/index19.js +4 -4
- package/dist/_virtual/index5.js +2 -2
- package/dist/components/OwpMrtTable/OwpMrtTable.js +250 -258
- package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
- package/dist/components/OwpPageSkeleton/OwpPageSkeleton.js +4 -4
- package/dist/components/OwpSnackbarContent/OwpSnackbarContent.js +166 -0
- package/dist/components/OwpSnackbarContent/OwpSnackbarContent.js.map +1 -0
- package/dist/components/OwpTable/OwpDataTable.js +321 -327
- package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
- package/dist/components/OwpTable/OwpFieldTable.js +102 -58
- package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
- package/dist/components/OwpTable/OwpTable.js +158 -174
- package/dist/components/OwpTable/OwpTable.js.map +1 -1
- package/dist/components/OwpTable/internal/defaultTableStyle.js +50 -0
- package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -0
- package/dist/components/OwpTable/internal/treeGridTableStyle.js +77 -0
- package/dist/components/OwpTable/internal/treeGridTableStyle.js.map +1 -0
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js +200 -253
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +183 -124
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +462 -0
- package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -0
- package/dist/configs/defaultConfig.js +67 -44
- package/dist/configs/defaultConfig.js.map +1 -1
- package/dist/constants/gridTheme.js +60 -10
- package/dist/constants/gridTheme.js.map +1 -1
- package/dist/constants/tableTheme.js +16 -0
- package/dist/constants/tableTheme.js.map +1 -0
- package/dist/constants/treeGrid.js +44 -26
- package/dist/constants/treeGrid.js.map +1 -1
- package/dist/constants.js +21 -20
- package/dist/contexts/OwpAppProvider.js.map +1 -1
- package/dist/contexts/OwpUiProvider.js +59 -38
- package/dist/contexts/OwpUiProvider.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewCanvas.js +492 -0
- package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -0
- package/dist/features/themePreview/components/ThemePreviewCanvasSections.js +678 -0
- package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -0
- package/dist/features/themePreview/components/ThemePreviewColorField.js +301 -0
- package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -0
- package/dist/features/themePreview/components/ThemePreviewControls.js +306 -0
- package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -0
- package/dist/features/themePreview/components/themePreviewCanvas.icons.js +17 -0
- package/dist/features/themePreview/components/themePreviewCanvas.icons.js.map +1 -0
- package/dist/features/themePreview/components/themePreviewCanvas.shared.js +296 -0
- package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -0
- package/dist/features/themePreview/configs/grid.js +45 -0
- package/dist/features/themePreview/configs/grid.js.map +1 -0
- package/dist/features/themePreview/configs/presets.js +1106 -0
- package/dist/features/themePreview/configs/presets.js.map +1 -0
- package/dist/features/themePreview/configs/previewStorage.js +93 -0
- package/dist/features/themePreview/configs/previewStorage.js.map +1 -0
- package/dist/features/themePreview/configs/settings.js +148 -0
- package/dist/features/themePreview/configs/settings.js.map +1 -0
- package/dist/features/themePreview/configs/snackbar.js +39 -0
- package/dist/features/themePreview/configs/snackbar.js.map +1 -0
- package/dist/features/themePreview/configs/surface.js +10 -0
- package/dist/features/themePreview/configs/surface.js.map +1 -0
- package/dist/features/themePreview/configs/table.js +30 -0
- package/dist/features/themePreview/configs/table.js.map +1 -0
- package/dist/features/themePreview/defs/ThemePreviewGridDef.xml.js +43 -0
- package/dist/features/themePreview/defs/ThemePreviewGridDef.xml.js.map +1 -0
- package/dist/features/themePreview/defs/ThemePreviewReadonlyGridDef.xml.js +43 -0
- package/dist/features/themePreview/defs/ThemePreviewReadonlyGridDef.xml.js.map +1 -0
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +429 -0
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -0
- package/dist/features/themePreview/hooks/useThemePreview.js +235 -0
- package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -0
- package/dist/features/themePreview/utils/color.js +79 -0
- package/dist/features/themePreview/utils/color.js.map +1 -0
- package/dist/features/themePreview/utils/themePreviewDefinitions.js +526 -0
- package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -0
- package/dist/features/themePreview/utils/themePreviewExport.js +111 -0
- package/dist/features/themePreview/utils/themePreviewExport.js.map +1 -0
- package/dist/features/themePreview/utils/themePreviewSettings.js +211 -0
- package/dist/features/themePreview/utils/themePreviewSettings.js.map +1 -0
- package/dist/features/themePreview.js +75 -0
- package/dist/features/themePreview.js.map +1 -0
- package/dist/index.js +111 -110
- package/dist/layout/components/logo/Logo.js +49 -45
- package/dist/layout/components/logo/Logo.js.map +1 -1
- package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
- package/dist/layout/components/toggles/ThemePreviewToggle.js +51 -0
- package/dist/layout/components/toggles/ThemePreviewToggle.js.map +1 -0
- package/dist/layout/components/toolbar/ToolbarLayout.js +13 -10
- package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/CheckCircleOutline.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/CheckCircleOutline.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/DownloadOutlined.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/DownloadOutlined.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ErrorOutline.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ErrorOutline.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/InfoOutlined.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/InfoOutlined.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/KeyboardArrowUpRounded.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/KeyboardArrowUpRounded.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/MenuRounded.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/MenuRounded.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/NotificationsNoneOutlined.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/NotificationsNoneOutlined.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/PaletteOutlined.js +25 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/PaletteOutlined.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestoreOutlined.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestoreOutlined.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SaveOutlined.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SaveOutlined.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SpaceDashboardOutlined.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SpaceDashboardOutlined.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/UploadFileOutlined.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/UploadFileOutlined.js.map +1 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/WarningAmberRounded.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/WarningAmberRounded.js.map +1 -0
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js +1 -1
- package/dist/owp-app.css +1 -1
- package/dist/types/components/OwpSnackbarContent/OwpSnackbarContent.d.ts +2 -0
- package/dist/types/components/OwpTable/OwpTable.d.ts +3 -1
- package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +49 -0
- package/dist/types/components/OwpTable/internal/treeGridTableStyle.d.ts +105 -0
- package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +2 -1
- package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +11 -2
- package/dist/types/components/OwpTreeGrid/internal/treeGridTheme.d.ts +20 -0
- package/dist/types/configs/defaultConfig.d.ts +22 -0
- package/dist/types/constants/gridTheme.d.ts +58 -0
- package/dist/types/constants/tableTheme.d.ts +18 -0
- package/dist/types/constants/treeGrid.d.ts +5 -0
- package/dist/types/contexts/OwpAppProvider.d.ts +2 -0
- package/dist/types/features/themePreview/components/ThemePreviewCanvas.d.ts +8 -0
- package/dist/types/features/themePreview/components/ThemePreviewCanvasSections.d.ts +82 -0
- package/dist/types/features/themePreview/components/ThemePreviewColorField.d.ts +10 -0
- package/dist/types/features/themePreview/components/ThemePreviewControls.d.ts +18 -0
- package/dist/types/features/themePreview/components/index.d.ts +3 -0
- package/dist/types/features/themePreview/components/themePreviewCanvas.icons.d.ts +3 -0
- package/dist/types/features/themePreview/components/themePreviewCanvas.shared.d.ts +121 -0
- package/dist/types/features/themePreview/configs/grid.d.ts +41 -0
- package/dist/types/features/themePreview/configs/index.d.ts +7 -0
- package/dist/types/features/themePreview/configs/presets.d.ts +1153 -0
- package/dist/types/features/themePreview/configs/previewStorage.d.ts +34 -0
- package/dist/types/features/themePreview/configs/settings.d.ts +271 -0
- package/dist/types/features/themePreview/configs/snackbar.d.ts +43 -0
- package/dist/types/features/themePreview/configs/surface.d.ts +6 -0
- package/dist/types/features/themePreview/configs/table.d.ts +47 -0
- package/dist/types/features/themePreview/dialogs/ThemePreviewDialog.d.ts +3 -0
- package/dist/types/features/themePreview/dialogs/index.d.ts +1 -0
- package/dist/types/features/themePreview/hooks/index.d.ts +1 -0
- package/dist/types/features/themePreview/hooks/useThemePreview.d.ts +60 -0
- package/dist/types/features/themePreview/index.d.ts +6 -0
- package/dist/types/features/themePreview/types/index.d.ts +1 -0
- package/dist/types/features/themePreview/types/themePreview.d.ts +44 -0
- package/dist/types/features/themePreview/utils/color.d.ts +14 -0
- package/dist/types/features/themePreview/utils/index.d.ts +4 -0
- package/dist/types/features/themePreview/utils/themePreviewDefinitions.d.ts +10 -0
- package/dist/types/features/themePreview/utils/themePreviewExport.d.ts +1091 -0
- package/dist/types/features/themePreview/utils/themePreviewSettings.d.ts +54 -0
- package/dist/types/layout/components/toggles/ThemePreviewToggle.d.ts +5 -0
- package/dist/types/types/OwpGridThemeTypes.d.ts +34 -0
- package/dist/types/types/OwpSettingsTypes.d.ts +9 -0
- package/dist/types/types/OwpTableThemeTypes.d.ts +16 -0
- package/dist/types/types/index.d.ts +3 -2
- package/dist/types/utils/treeGridUtil.d.ts +1 -0
- package/dist/utils/exceljsBrowser.js +45 -48
- package/dist/utils/exceljsBrowser.js.map +1 -1
- package/dist/utils/treeGridUtil.js +66 -66
- package/dist/utils/treeGridUtil.js.map +1 -1
- package/features/themePreview.d.ts +3 -0
- package/features/themePreview.js +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
var Q = Object.defineProperty;
|
|
2
|
+
var a = (o, S) => Q(o, "name", { value: S, configurable: !0 });
|
|
3
|
+
import { getThemePreviewTemporaryState as L, persistThemePreviewTemporaryState as B, clearThemePreviewAppliedSettings as X, persistThemePreviewAppliedSettings as I } from "../configs/previewStorage.js";
|
|
4
|
+
import { defaultSnackbarTheme as T } from "../configs/snackbar.js";
|
|
5
|
+
import { useGetCurrentSettings as Z, useSetDefaultSettings as $ } from "../../../hooks/useOwpSettings.js";
|
|
6
|
+
import { useMemo as k, useState as v } from "react";
|
|
7
|
+
import { getThemePreviewPresetOptions as ee, getThemePreviewResetSettings as te, getThemePreviewDraftSettings as ne, getThemePreviewSelectionState as ae, cloneThemePreviewSettings as C, getThemePreviewPresetOptionsByMode as re, applyThemePreviewPreset as _, THEME_PREVIEW_CUSTOM_PRESET_KEY as f, setThemePreviewDraftSettings as q, setThemePreviewPaletteValues as se, setThemePreviewPaletteValue as oe, isThemePreviewCustomSection as ie, setThemePreviewSelectionState as ce } from "../utils/themePreviewSettings.js";
|
|
8
|
+
import { merge as u } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/merge.js";
|
|
9
|
+
import { isEqual as x } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isEqual.js";
|
|
10
|
+
const le = {
|
|
11
|
+
main: f,
|
|
12
|
+
navbar: f,
|
|
13
|
+
toolbar: f
|
|
14
|
+
};
|
|
15
|
+
function b(o) {
|
|
16
|
+
return !ie(o);
|
|
17
|
+
}
|
|
18
|
+
a(b, "isThemePreviewPresetSectionKey");
|
|
19
|
+
function de(o) {
|
|
20
|
+
return {
|
|
21
|
+
main: o.theme.main.palette.mode === "dark" ? "dark" : "light",
|
|
22
|
+
navbar: o.theme.navbar.palette.mode === "dark" ? "dark" : "light",
|
|
23
|
+
toolbar: o.theme.toolbar.palette.mode === "dark" ? "dark" : "light"
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
a(de, "getThemePreviewSelectedModes");
|
|
27
|
+
function G(o, S, p, d, i) {
|
|
28
|
+
return {
|
|
29
|
+
draftSettings: C(S),
|
|
30
|
+
savedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
31
|
+
saveType: i,
|
|
32
|
+
selectionState: {
|
|
33
|
+
activeSection: o,
|
|
34
|
+
selectedModes: d,
|
|
35
|
+
selectedPresetKeys: p
|
|
36
|
+
},
|
|
37
|
+
version: 1
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
a(G, "createThemePreviewTemporaryState");
|
|
41
|
+
function me(o, S, p, d) {
|
|
42
|
+
return {
|
|
43
|
+
draftSettings: S,
|
|
44
|
+
selectionState: {
|
|
45
|
+
activeSection: o,
|
|
46
|
+
selectedModes: d,
|
|
47
|
+
selectedPresetKeys: p
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
a(me, "createThemePreviewTemporaryComparableState");
|
|
52
|
+
function De({
|
|
53
|
+
initialSection: o = "main",
|
|
54
|
+
initialPresetKeys: S,
|
|
55
|
+
presetThemes: p,
|
|
56
|
+
resetTheme: d
|
|
57
|
+
}) {
|
|
58
|
+
const i = Z(), w = $(), K = k(() => ee(p), [p]), H = k(
|
|
59
|
+
() => te(i, d, T),
|
|
60
|
+
[i, d]
|
|
61
|
+
), U = k(
|
|
62
|
+
() => u({}, T, i.snackbar),
|
|
63
|
+
[i]
|
|
64
|
+
), [n, D] = v(o), [s, W] = v(
|
|
65
|
+
() => ne(i)
|
|
66
|
+
), A = k(
|
|
67
|
+
() => ae(i, S),
|
|
68
|
+
[i, S]
|
|
69
|
+
), [c, Y] = v(
|
|
70
|
+
A.selectedPresetKeys
|
|
71
|
+
), [m, j] = v(A.selectedModes), [y, M] = v(() => L()), z = !!y, F = !y || !x(
|
|
72
|
+
me(
|
|
73
|
+
n,
|
|
74
|
+
s,
|
|
75
|
+
c,
|
|
76
|
+
m
|
|
77
|
+
),
|
|
78
|
+
{
|
|
79
|
+
draftSettings: y.draftSettings,
|
|
80
|
+
selectionState: y.selectionState
|
|
81
|
+
}
|
|
82
|
+
), J = !x(i.theme, s.theme) || !x(U, s.snackbar), E = /* @__PURE__ */ a((e, t) => {
|
|
83
|
+
ce({
|
|
84
|
+
selectedPresetKeys: e,
|
|
85
|
+
selectedModes: t
|
|
86
|
+
});
|
|
87
|
+
}, "persistSelectionState"), N = /* @__PURE__ */ a((e) => (q(e), e), "persistDraftSettings"), P = /* @__PURE__ */ a((e) => (W(e), N(e)), "commitDraftSettings"), h = /* @__PURE__ */ a((e, t) => {
|
|
88
|
+
Y(e), j(t), E(e, t);
|
|
89
|
+
}, "commitSelectionState");
|
|
90
|
+
return {
|
|
91
|
+
activeSection: n,
|
|
92
|
+
canApplyToMain: J,
|
|
93
|
+
draftSettings: s,
|
|
94
|
+
hasTemporaryChanges: F,
|
|
95
|
+
hasTemporarySnapshot: z,
|
|
96
|
+
presetOptions: K,
|
|
97
|
+
selectedModes: m,
|
|
98
|
+
selectedPresetKeys: c,
|
|
99
|
+
setActiveSection: D,
|
|
100
|
+
handlePaletteValueChange: /* @__PURE__ */ a((e, t) => {
|
|
101
|
+
if (P(oe(s, n, e, t)), !b(n))
|
|
102
|
+
return;
|
|
103
|
+
const r = {
|
|
104
|
+
...c,
|
|
105
|
+
[n]: f
|
|
106
|
+
};
|
|
107
|
+
h(r, m);
|
|
108
|
+
}, "handlePaletteValueChange"),
|
|
109
|
+
handlePaletteValuesChange: /* @__PURE__ */ a((e) => {
|
|
110
|
+
if (!e.length || (P(se(s, n, e)), !b(n)))
|
|
111
|
+
return;
|
|
112
|
+
const t = {
|
|
113
|
+
...c,
|
|
114
|
+
[n]: f
|
|
115
|
+
};
|
|
116
|
+
h(t, m);
|
|
117
|
+
}, "handlePaletteValuesChange"),
|
|
118
|
+
handleApplyToMain: /* @__PURE__ */ a(() => {
|
|
119
|
+
const e = G(
|
|
120
|
+
n,
|
|
121
|
+
s,
|
|
122
|
+
c,
|
|
123
|
+
m,
|
|
124
|
+
"manual"
|
|
125
|
+
);
|
|
126
|
+
q(s), E(c, m), B(e), I({
|
|
127
|
+
theme: s.theme,
|
|
128
|
+
snackbar: s.snackbar
|
|
129
|
+
}), M(e), w({
|
|
130
|
+
theme: s.theme,
|
|
131
|
+
snackbar: s.snackbar
|
|
132
|
+
});
|
|
133
|
+
}, "handleApplyToMain"),
|
|
134
|
+
handleLoadSettings: /* @__PURE__ */ a((e, t = T) => {
|
|
135
|
+
const r = u({}, i, {
|
|
136
|
+
theme: e,
|
|
137
|
+
snackbar: u({}, T, t)
|
|
138
|
+
}), l = de(r);
|
|
139
|
+
P(r), h(le, l), I({
|
|
140
|
+
theme: e,
|
|
141
|
+
snackbar: r.snackbar
|
|
142
|
+
}), w({
|
|
143
|
+
theme: e,
|
|
144
|
+
snackbar: r.snackbar
|
|
145
|
+
});
|
|
146
|
+
}, "handleLoadSettings"),
|
|
147
|
+
handlePresetKeyChange: /* @__PURE__ */ a((e) => {
|
|
148
|
+
if (!b(n) || e === f)
|
|
149
|
+
return;
|
|
150
|
+
const t = p[e];
|
|
151
|
+
if (!t)
|
|
152
|
+
return;
|
|
153
|
+
P(_(s, n, t));
|
|
154
|
+
const r = {
|
|
155
|
+
...m,
|
|
156
|
+
[n]: t.palette.mode === "dark" ? "dark" : "light"
|
|
157
|
+
}, l = {
|
|
158
|
+
...c,
|
|
159
|
+
[n]: e
|
|
160
|
+
};
|
|
161
|
+
h(l, r);
|
|
162
|
+
}, "handlePresetKeyChange"),
|
|
163
|
+
handlePresetModeChange: /* @__PURE__ */ a((e) => {
|
|
164
|
+
if (!b(n))
|
|
165
|
+
return;
|
|
166
|
+
const t = {
|
|
167
|
+
...m,
|
|
168
|
+
[n]: e
|
|
169
|
+
}, r = re(
|
|
170
|
+
K,
|
|
171
|
+
n,
|
|
172
|
+
e
|
|
173
|
+
)[0];
|
|
174
|
+
if (!r) {
|
|
175
|
+
h(c, t);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const l = p[r.key];
|
|
179
|
+
if (!l) {
|
|
180
|
+
h(c, t);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
P(_(s, n, l));
|
|
184
|
+
const g = {
|
|
185
|
+
...c,
|
|
186
|
+
[n]: r.key
|
|
187
|
+
};
|
|
188
|
+
h(g, t);
|
|
189
|
+
}, "handlePresetModeChange"),
|
|
190
|
+
handleReset: /* @__PURE__ */ a(() => {
|
|
191
|
+
var r, l, g, V, O, R;
|
|
192
|
+
const e = C(H), t = {
|
|
193
|
+
main: ((l = (r = d.main) == null ? void 0 : r.palette) == null ? void 0 : l.mode) === "dark" ? "dark" : "light",
|
|
194
|
+
navbar: ((V = (g = d.navbar) == null ? void 0 : g.palette) == null ? void 0 : V.mode) === "dark" ? "dark" : "light",
|
|
195
|
+
toolbar: ((R = (O = d.toolbar) == null ? void 0 : O.palette) == null ? void 0 : R.mode) === "dark" ? "dark" : "light"
|
|
196
|
+
};
|
|
197
|
+
P(e), h(S, t), X(), w({
|
|
198
|
+
theme: d,
|
|
199
|
+
snackbar: T
|
|
200
|
+
});
|
|
201
|
+
}, "handleReset"),
|
|
202
|
+
handleTemporaryLoad: /* @__PURE__ */ a(() => {
|
|
203
|
+
const e = L();
|
|
204
|
+
if (!e)
|
|
205
|
+
return !1;
|
|
206
|
+
const t = C(
|
|
207
|
+
u({}, i, e.draftSettings)
|
|
208
|
+
), r = u(
|
|
209
|
+
{},
|
|
210
|
+
c,
|
|
211
|
+
e.selectionState.selectedPresetKeys
|
|
212
|
+
), l = u(
|
|
213
|
+
{},
|
|
214
|
+
m,
|
|
215
|
+
e.selectionState.selectedModes
|
|
216
|
+
), g = e.selectionState.activeSection;
|
|
217
|
+
return P(t), D(g), h(r, l), M(e), !0;
|
|
218
|
+
}, "handleTemporaryLoad"),
|
|
219
|
+
handleTemporarySave: /* @__PURE__ */ a((e = "manual") => {
|
|
220
|
+
const t = G(
|
|
221
|
+
n,
|
|
222
|
+
s,
|
|
223
|
+
c,
|
|
224
|
+
m,
|
|
225
|
+
e
|
|
226
|
+
);
|
|
227
|
+
B(t), M(t);
|
|
228
|
+
}, "handleTemporarySave")
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
a(De, "useThemePreview");
|
|
232
|
+
export {
|
|
233
|
+
De as useThemePreview
|
|
234
|
+
};
|
|
235
|
+
//# sourceMappingURL=useThemePreview.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
var $ = Object.defineProperty;
|
|
2
|
+
var i = (t, n) => $(t, "name", { value: n, configurable: !0 });
|
|
3
|
+
import { getContrastRatio as u, darken as h, lighten as d } from "@mui/material/styles";
|
|
4
|
+
const a = /^rgba?\(\s*(\d{1,3})(?:\.\d+)?\s*,\s*(\d{1,3})(?:\.\d+)?\s*,\s*(\d{1,3})(?:\.\d+)?(?:\s*,\s*(0|1|0?\.\d+))?\s*\)$/i;
|
|
5
|
+
function C(t) {
|
|
6
|
+
const n = Number.parseInt(t, 16);
|
|
7
|
+
return Number.isNaN(n) ? "00" : n.toString(16).padStart(2, "0");
|
|
8
|
+
}
|
|
9
|
+
i(C, "normalizeHexChannel");
|
|
10
|
+
function b(t) {
|
|
11
|
+
const n = t[0] ?? "0", r = t[1] ?? "0", e = t[2] ?? "0";
|
|
12
|
+
return `#${n}${n}${r}${r}${e}${e}`;
|
|
13
|
+
}
|
|
14
|
+
i(b, "normalizeShortHex");
|
|
15
|
+
function l(t) {
|
|
16
|
+
return Math.max(0, Math.min(255, Number.parseInt(t, 10) || 0)).toString(16).padStart(2, "0");
|
|
17
|
+
}
|
|
18
|
+
i(l, "normalizeRgbChannel");
|
|
19
|
+
function m(t, n = "#000000") {
|
|
20
|
+
if (!t)
|
|
21
|
+
return n;
|
|
22
|
+
const r = t.trim();
|
|
23
|
+
if (/^#[0-9a-f]{6}$/i.test(r))
|
|
24
|
+
return r;
|
|
25
|
+
if (/^#[0-9a-f]{3}$/i.test(r))
|
|
26
|
+
return b(r.slice(1));
|
|
27
|
+
if (/^#[0-9a-f]{8}$/i.test(r))
|
|
28
|
+
return `#${r.slice(1, 7)}`;
|
|
29
|
+
const e = r.match(a);
|
|
30
|
+
if (e) {
|
|
31
|
+
const [, o, s, c] = e;
|
|
32
|
+
return `#${l(o ?? "0")}${l(s ?? "0")}${l(c ?? "0")}`;
|
|
33
|
+
}
|
|
34
|
+
if (/^#[0-9a-f]{1,2}$/i.test(r)) {
|
|
35
|
+
const o = C(r.slice(1));
|
|
36
|
+
return `#${o}${o}${o}`;
|
|
37
|
+
}
|
|
38
|
+
return n;
|
|
39
|
+
}
|
|
40
|
+
i(m, "toColorPickerValue");
|
|
41
|
+
function N(t, n) {
|
|
42
|
+
const r = t == null ? void 0 : t.trim().match(a);
|
|
43
|
+
if (!r || !r[4])
|
|
44
|
+
return n;
|
|
45
|
+
const e = m(n).slice(1), o = Number.parseInt(e.slice(0, 2), 16), s = Number.parseInt(e.slice(2, 4), 16), c = Number.parseInt(e.slice(4, 6), 16), f = r[4];
|
|
46
|
+
return `rgba(${o}, ${s}, ${c}, ${f})`;
|
|
47
|
+
}
|
|
48
|
+
i(N, "applyColorPickerValue");
|
|
49
|
+
function T(t) {
|
|
50
|
+
const n = t == null ? void 0 : t.trim().match(a);
|
|
51
|
+
return (n == null ? void 0 : n[4]) ?? null;
|
|
52
|
+
}
|
|
53
|
+
i(T, "getColorAlphaValue");
|
|
54
|
+
function g(t) {
|
|
55
|
+
if (!t)
|
|
56
|
+
return !1;
|
|
57
|
+
const n = t.trim();
|
|
58
|
+
return /^#[0-9a-f]{1,8}$/i.test(n) || a.test(n);
|
|
59
|
+
}
|
|
60
|
+
i(g, "canDeriveThemePreviewColor");
|
|
61
|
+
function R(t, n = {}) {
|
|
62
|
+
if (!g(t))
|
|
63
|
+
return null;
|
|
64
|
+
const r = m(t), e = n.whiteTextColor ?? "#FFFFFF", o = n.blackTextColor ?? "#111827", s = u(r, e), c = u(r, o);
|
|
65
|
+
return {
|
|
66
|
+
light: d(r, 0.18),
|
|
67
|
+
dark: h(r, 0.24),
|
|
68
|
+
contrastText: s >= c ? e : o
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
i(R, "deriveThemePreviewPaletteGroupValues");
|
|
72
|
+
export {
|
|
73
|
+
N as applyColorPickerValue,
|
|
74
|
+
g as canDeriveThemePreviewColor,
|
|
75
|
+
R as deriveThemePreviewPaletteGroupValues,
|
|
76
|
+
T as getColorAlphaValue,
|
|
77
|
+
m as toColorPickerValue
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.js","sources":["../../../../src/features/themePreview/utils/color.ts"],"sourcesContent":["import { darken, getContrastRatio, lighten } from '@mui/material/styles';\n\nconst RGB_COLOR_PATTERN =\n /^rgba?\\(\\s*(\\d{1,3})(?:\\.\\d+)?\\s*,\\s*(\\d{1,3})(?:\\.\\d+)?\\s*,\\s*(\\d{1,3})(?:\\.\\d+)?(?:\\s*,\\s*(0|1|0?\\.\\d+))?\\s*\\)$/i;\n\nfunction normalizeHexChannel(value: string) {\n const channel = Number.parseInt(value, 16);\n\n if (Number.isNaN(channel)) {\n return '00';\n }\n\n return channel.toString(16).padStart(2, '0');\n}\n\nfunction normalizeShortHex(value: string) {\n const red = value[0] ?? '0';\n const green = value[1] ?? '0';\n const blue = value[2] ?? '0';\n\n return `#${red}${red}${green}${green}${blue}${blue}`;\n}\n\nfunction normalizeRgbChannel(value: string) {\n const channel = Math.max(0, Math.min(255, Number.parseInt(value, 10) || 0));\n\n return channel.toString(16).padStart(2, '0');\n}\n\nexport function toColorPickerValue(value?: string, fallback = '#000000') {\n if (!value) {\n return fallback;\n }\n\n const trimmedValue = value.trim();\n\n if (/^#[0-9a-f]{6}$/i.test(trimmedValue)) {\n return trimmedValue;\n }\n\n if (/^#[0-9a-f]{3}$/i.test(trimmedValue)) {\n return normalizeShortHex(trimmedValue.slice(1));\n }\n\n if (/^#[0-9a-f]{8}$/i.test(trimmedValue)) {\n return `#${trimmedValue.slice(1, 7)}`;\n }\n\n const rgbMatch = trimmedValue.match(RGB_COLOR_PATTERN);\n\n if (rgbMatch) {\n const [, red, green, blue] = rgbMatch;\n\n return `#${normalizeRgbChannel(red ?? '0')}${normalizeRgbChannel(green ?? '0')}${normalizeRgbChannel(blue ?? '0')}`;\n }\n\n if (/^#[0-9a-f]{1,2}$/i.test(trimmedValue)) {\n const normalizedChannel = normalizeHexChannel(trimmedValue.slice(1));\n return `#${normalizedChannel}${normalizedChannel}${normalizedChannel}`;\n }\n\n return fallback;\n}\n\nexport function applyColorPickerValue(previousValue: string | undefined, nextPickerValue: string) {\n const previousMatch = previousValue?.trim().match(RGB_COLOR_PATTERN);\n\n if (!previousMatch || !previousMatch[4]) {\n return nextPickerValue;\n }\n\n const nextColorValue = toColorPickerValue(nextPickerValue).slice(1);\n const red = Number.parseInt(nextColorValue.slice(0, 2), 16);\n const green = Number.parseInt(nextColorValue.slice(2, 4), 16);\n const blue = Number.parseInt(nextColorValue.slice(4, 6), 16);\n const alpha = previousMatch[4];\n\n return `rgba(${red}, ${green}, ${blue}, ${alpha})`;\n}\n\nexport function getColorAlphaValue(value?: string) {\n const colorMatch = value?.trim().match(RGB_COLOR_PATTERN);\n\n return colorMatch?.[4] ?? null;\n}\n\nexport function canDeriveThemePreviewColor(value?: string) {\n if (!value) {\n return false;\n }\n\n const trimmedValue = value.trim();\n\n return (\n /^#[0-9a-f]{1,8}$/i.test(trimmedValue) ||\n RGB_COLOR_PATTERN.test(trimmedValue)\n );\n}\n\ntype ThemePreviewDerivedColorOptions = {\n blackTextColor?: string;\n whiteTextColor?: string;\n};\n\nexport function deriveThemePreviewPaletteGroupValues(\n mainColor: string,\n options: ThemePreviewDerivedColorOptions = {},\n) {\n if (!canDeriveThemePreviewColor(mainColor)) {\n return null;\n }\n\n const normalizedMainColor = toColorPickerValue(mainColor);\n const whiteTextColor = options.whiteTextColor ?? '#FFFFFF';\n const blackTextColor = options.blackTextColor ?? '#111827';\n const lightContrastRatio = getContrastRatio(normalizedMainColor, whiteTextColor);\n const darkContrastRatio = getContrastRatio(normalizedMainColor, blackTextColor);\n\n return {\n light: lighten(normalizedMainColor, 0.18),\n dark: darken(normalizedMainColor, 0.24),\n contrastText: lightContrastRatio >= darkContrastRatio ? whiteTextColor : blackTextColor,\n };\n}\n"],"names":["RGB_COLOR_PATTERN","normalizeHexChannel","value","channel","__name","normalizeShortHex","red","green","blue","normalizeRgbChannel","toColorPickerValue","fallback","trimmedValue","rgbMatch","normalizedChannel","applyColorPickerValue","previousValue","nextPickerValue","previousMatch","nextColorValue","alpha","getColorAlphaValue","colorMatch","canDeriveThemePreviewColor","deriveThemePreviewPaletteGroupValues","mainColor","options","normalizedMainColor","whiteTextColor","blackTextColor","lightContrastRatio","getContrastRatio","darkContrastRatio","lighten","darken"],"mappings":"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"}
|