@owp/core 2.5.4 → 2.5.6
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/index11.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/components/OwpPageSkeleton/OwpPageSkeleton.js +4 -4
- package/dist/components/OwpTable/OwpDataTable.js +293 -327
- package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
- package/dist/components/OwpTable/OwpTable.js +102 -117
- 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/OwpTreeGrid/OwpTreeGrid.js +47 -45
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +179 -161
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
- package/dist/configs/defaultConfig.js +1 -1
- package/dist/configs/theme.js +28 -0
- package/dist/configs/theme.js.map +1 -0
- package/dist/contexts/OwpAppProvider.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 +372 -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 +1074 -0
- package/dist/features/themePreview/configs/presets.js.map +1 -0
- package/dist/features/themePreview/configs/previewStorage.js +94 -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 +441 -0
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -0
- package/dist/features/themePreview/hooks/useThemePreview.js +280 -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 +320 -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/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 +8 -6
- 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/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
- package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js +1 -1
- package/dist/owp-app.css +1 -1
- package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +49 -0
- package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +2 -1
- package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +6 -1
- package/dist/types/configs/theme/index.d.ts +6 -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 +1152 -0
- package/dist/types/features/themePreview/configs/previewStorage.d.ts +35 -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 +61 -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 +46 -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/utils/zipUtil.d.ts +1 -0
- package/dist/utils/zipUtil.js +38 -36
- package/dist/utils/zipUtil.js.map +1 -1
- package/features/themePreview.d.ts +3 -0
- package/features/themePreview.js +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,320 @@
|
|
|
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;
|
|
19
|
+
return {
|
|
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 ?? ""
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
t(b, "getThemePreviewTextPalette");
|
|
26
|
+
function N(e) {
|
|
27
|
+
const r = e.theme.navbar.palette.primary ?? T;
|
|
28
|
+
return {
|
|
29
|
+
light: r.light ?? T.light,
|
|
30
|
+
main: r.main ?? T.main,
|
|
31
|
+
dark: r.dark ?? T.dark,
|
|
32
|
+
contrastText: r.contrastText ?? T.contrastText
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
t(N, "getThemePreviewSurfaceExport");
|
|
36
|
+
function O(e) {
|
|
37
|
+
const r = e.theme.main.palette.primary ?? d;
|
|
38
|
+
return {
|
|
39
|
+
light: r.light ?? d.light,
|
|
40
|
+
main: r.main ?? d.main,
|
|
41
|
+
dark: r.dark ?? d.dark,
|
|
42
|
+
contrastText: r.contrastText ?? d.contrastText
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
t(O, "getThemePreviewPrimaryPaletteExport");
|
|
46
|
+
function R(e) {
|
|
47
|
+
const r = e.theme.main.palette.secondary ?? m;
|
|
48
|
+
return {
|
|
49
|
+
light: r.light ?? m.light,
|
|
50
|
+
main: r.main ?? m.main,
|
|
51
|
+
dark: r.dark ?? m.dark,
|
|
52
|
+
contrastText: r.contrastText ?? m.contrastText
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
t(R, "getThemePreviewSecondaryPaletteExport");
|
|
56
|
+
function A(e) {
|
|
57
|
+
const r = e.theme.navbar.palette.secondary ?? f;
|
|
58
|
+
return {
|
|
59
|
+
main: r.main ?? f.main,
|
|
60
|
+
contrastText: r.contrastText ?? f.contrastText
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
t(A, "getThemePreviewNavbarSecondaryPaletteExport");
|
|
64
|
+
function V(e) {
|
|
65
|
+
const r = e.theme.toolbar.palette.secondary ?? s;
|
|
66
|
+
return {
|
|
67
|
+
light: r.light ?? s.light,
|
|
68
|
+
main: r.main ?? s.main,
|
|
69
|
+
dark: r.dark ?? s.dark,
|
|
70
|
+
contrastText: r.contrastText ?? s.contrastText
|
|
71
|
+
};
|
|
72
|
+
}
|
|
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;
|
|
244
|
+
return {
|
|
245
|
+
surface: {
|
|
246
|
+
defaultLayoutSurface: N(e)
|
|
247
|
+
},
|
|
248
|
+
presets: {
|
|
249
|
+
lightPaletteText: b(
|
|
250
|
+
e,
|
|
251
|
+
"light",
|
|
252
|
+
E,
|
|
253
|
+
_
|
|
254
|
+
),
|
|
255
|
+
darkPaletteText: b(
|
|
256
|
+
e,
|
|
257
|
+
"dark",
|
|
258
|
+
$,
|
|
259
|
+
C
|
|
260
|
+
),
|
|
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),
|
|
267
|
+
themesConfig: {
|
|
268
|
+
...x,
|
|
269
|
+
light1: e.theme.main,
|
|
270
|
+
light2: e.theme.navbar,
|
|
271
|
+
surfaceDark: e.theme.toolbar
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
settings: {
|
|
275
|
+
defaultSettingsConfig: {
|
|
276
|
+
...u,
|
|
277
|
+
snackbarProviderProps: r,
|
|
278
|
+
theme: e.theme
|
|
279
|
+
},
|
|
280
|
+
defaultSnackbarTheme: e.snackbar ?? P,
|
|
281
|
+
defaultSnackbarProviderProps: r
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
}
|
|
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");
|
|
316
|
+
export {
|
|
317
|
+
Q as createThemePreviewAppConfigFiles,
|
|
318
|
+
K as createThemePreviewExportData
|
|
319
|
+
};
|
|
320
|
+
//# sourceMappingURL=themePreviewExport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
var E = Object.defineProperty;
|
|
2
|
+
var o = (e, t) => E(e, "name", { value: t, configurable: !0 });
|
|
3
|
+
import { toolbarCuratedPresetKeys as _ } from "../configs/presets.js";
|
|
4
|
+
import { defaultSnackbarTheme as d, defaultSnackbarProviderProps as k } from "../configs/snackbar.js";
|
|
5
|
+
import { merge as l } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/merge.js";
|
|
6
|
+
import { isString as N } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isString.js";
|
|
7
|
+
import { isObject as h } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isObject.js";
|
|
8
|
+
const j = "__custom__", V = ["grid", "table", "snackbar"];
|
|
9
|
+
let v = null, S = null;
|
|
10
|
+
const b = "snackbarProviderProps.";
|
|
11
|
+
function u(e) {
|
|
12
|
+
return h(e) ? e : {};
|
|
13
|
+
}
|
|
14
|
+
o(u, "asObjectRecord");
|
|
15
|
+
function I(e, t = d) {
|
|
16
|
+
const a = "snackbar" in e && h(e.snackbar) ? e.snackbar : void 0;
|
|
17
|
+
return l({}, d, t, a);
|
|
18
|
+
}
|
|
19
|
+
o(I, "getThemePreviewSnackbarTheme");
|
|
20
|
+
function R(e, t = k) {
|
|
21
|
+
const a = "snackbarProviderProps" in e && h(e.snackbarProviderProps) ? e.snackbarProviderProps : void 0;
|
|
22
|
+
return l(
|
|
23
|
+
{},
|
|
24
|
+
k,
|
|
25
|
+
t,
|
|
26
|
+
a
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
o(R, "getThemePreviewSnackbarProviderProps");
|
|
30
|
+
function T(e, t = d) {
|
|
31
|
+
return l({}, e, {
|
|
32
|
+
snackbar: I(e, t),
|
|
33
|
+
snackbarProviderProps: R(e)
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
o(T, "createThemePreviewSettings");
|
|
37
|
+
function A(e) {
|
|
38
|
+
return V.includes(e);
|
|
39
|
+
}
|
|
40
|
+
o(A, "isThemePreviewCustomSection");
|
|
41
|
+
function p(e, t) {
|
|
42
|
+
switch (t) {
|
|
43
|
+
case "grid":
|
|
44
|
+
return u(e.theme.main.grid);
|
|
45
|
+
case "table":
|
|
46
|
+
return u(e.theme.main.table);
|
|
47
|
+
case "snackbar":
|
|
48
|
+
return u(e.snackbar);
|
|
49
|
+
default:
|
|
50
|
+
return u(e.theme[t].palette);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
o(p, "getThemePreviewSectionTarget");
|
|
54
|
+
function w(e) {
|
|
55
|
+
return T(e);
|
|
56
|
+
}
|
|
57
|
+
o(w, "cloneThemePreviewSettings");
|
|
58
|
+
function H(e, t, a = d) {
|
|
59
|
+
return l({}, T(e, a), {
|
|
60
|
+
theme: t
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
o(H, "getThemePreviewResetSettings");
|
|
64
|
+
function O(e, t, a) {
|
|
65
|
+
const [r, i] = a.startsWith(b) ? [u(e.snackbarProviderProps), a.slice(b.length)] : [p(e, t), a], n = i.split(".").reduce((c, s) => u(c)[s], r);
|
|
66
|
+
return typeof n == "number" ? String(n) : N(n) ? n : "";
|
|
67
|
+
}
|
|
68
|
+
o(O, "getThemePreviewPaletteValue");
|
|
69
|
+
function f(e, t) {
|
|
70
|
+
return e.theme[t].palette.mode === "dark" ? "dark" : "light";
|
|
71
|
+
}
|
|
72
|
+
o(f, "getThemePreviewSectionMode");
|
|
73
|
+
function F(e) {
|
|
74
|
+
return T(v ?? e);
|
|
75
|
+
}
|
|
76
|
+
o(F, "getThemePreviewDraftSettings");
|
|
77
|
+
function U(e) {
|
|
78
|
+
v = w(e);
|
|
79
|
+
}
|
|
80
|
+
o(U, "setThemePreviewDraftSettings");
|
|
81
|
+
function X(e, t) {
|
|
82
|
+
return l(
|
|
83
|
+
{
|
|
84
|
+
selectedPresetKeys: t,
|
|
85
|
+
selectedModes: {
|
|
86
|
+
main: f(e, "main"),
|
|
87
|
+
navbar: f(e, "navbar"),
|
|
88
|
+
toolbar: f(e, "toolbar")
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
S ?? {}
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
o(X, "getThemePreviewSelectionState");
|
|
95
|
+
function Y(e) {
|
|
96
|
+
S = l({}, e);
|
|
97
|
+
}
|
|
98
|
+
o(Y, "setThemePreviewSelectionState");
|
|
99
|
+
function $() {
|
|
100
|
+
v = null, S = null;
|
|
101
|
+
}
|
|
102
|
+
o($, "resetThemePreviewSessionState");
|
|
103
|
+
function x(e, t, a) {
|
|
104
|
+
const r = t.split("."), i = r.pop();
|
|
105
|
+
if (!i)
|
|
106
|
+
return;
|
|
107
|
+
let n = e;
|
|
108
|
+
r.forEach((s) => {
|
|
109
|
+
const P = n[s];
|
|
110
|
+
h(P) || (n[s] = {}), n = u(n[s]);
|
|
111
|
+
});
|
|
112
|
+
const c = n[i];
|
|
113
|
+
if (typeof c == "number") {
|
|
114
|
+
const s = Number(a.replace(/,/g, "."));
|
|
115
|
+
n[i] = Number.isNaN(s) ? c : s;
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
n[i] = a;
|
|
119
|
+
}
|
|
120
|
+
o(x, "applyThemePreviewPaletteValue");
|
|
121
|
+
function y(e, t, a) {
|
|
122
|
+
if (!a.length)
|
|
123
|
+
return e;
|
|
124
|
+
const r = w(e), i = p(r, t), n = u(r.snackbarProviderProps);
|
|
125
|
+
switch (a.forEach(({ path: c, value: s }) => {
|
|
126
|
+
const P = c.startsWith(
|
|
127
|
+
b
|
|
128
|
+
), m = P ? c.slice(b.length) : c;
|
|
129
|
+
x(
|
|
130
|
+
P ? n : i,
|
|
131
|
+
m,
|
|
132
|
+
s
|
|
133
|
+
);
|
|
134
|
+
}), r.snackbarProviderProps = n, t) {
|
|
135
|
+
case "grid":
|
|
136
|
+
return r.theme.main.grid = i, r;
|
|
137
|
+
case "table":
|
|
138
|
+
return r.theme.main.table = i, r;
|
|
139
|
+
case "snackbar":
|
|
140
|
+
return r.snackbar = i, r;
|
|
141
|
+
default:
|
|
142
|
+
return r.theme[t].palette = i, r;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
o(y, "setThemePreviewPaletteValues");
|
|
146
|
+
function q(e, t, a, r) {
|
|
147
|
+
return y(e, t, [{ path: a, value: r }]);
|
|
148
|
+
}
|
|
149
|
+
o(q, "setThemePreviewPaletteValue");
|
|
150
|
+
function z(e) {
|
|
151
|
+
const t = /^(light|dark)(\d+)$/, a = new Set(_);
|
|
152
|
+
return Object.entries(e).reduce((r, [i, n]) => (n != null && n.palette && r.push({
|
|
153
|
+
key: i,
|
|
154
|
+
label: i,
|
|
155
|
+
mode: n.palette.mode === "dark" ? "dark" : "light",
|
|
156
|
+
sections: a.has(i) ? ["toolbar"] : void 0,
|
|
157
|
+
originalIndex: r.length
|
|
158
|
+
}), r), []).sort((r, i) => {
|
|
159
|
+
const n = r.key.match(t), c = i.key.match(t), s = !!n;
|
|
160
|
+
if (s !== !!c)
|
|
161
|
+
return s ? 1 : -1;
|
|
162
|
+
if (n && c) {
|
|
163
|
+
const m = (n[1] === "light" ? 0 : 1) - (c[1] === "light" ? 0 : 1);
|
|
164
|
+
if (m !== 0)
|
|
165
|
+
return m;
|
|
166
|
+
const g = Number(n[2]) - Number(c[2]);
|
|
167
|
+
if (g !== 0)
|
|
168
|
+
return g;
|
|
169
|
+
}
|
|
170
|
+
return r.originalIndex - i.originalIndex;
|
|
171
|
+
}).map((r) => ({
|
|
172
|
+
key: r.key,
|
|
173
|
+
label: r.label,
|
|
174
|
+
mode: r.mode,
|
|
175
|
+
sections: r.sections
|
|
176
|
+
}));
|
|
177
|
+
}
|
|
178
|
+
o(z, "getThemePreviewPresetOptions");
|
|
179
|
+
function G(e, t, a) {
|
|
180
|
+
return e.filter(
|
|
181
|
+
(r) => r.mode === a && (!r.sections || r.sections.includes(t))
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
o(G, "getThemePreviewPresetOptionsByMode");
|
|
185
|
+
function J(e, t, a) {
|
|
186
|
+
return l({}, e, {
|
|
187
|
+
theme: {
|
|
188
|
+
[t]: a
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
o(J, "applyThemePreviewPreset");
|
|
193
|
+
export {
|
|
194
|
+
j as THEME_PREVIEW_CUSTOM_PRESET_KEY,
|
|
195
|
+
J as applyThemePreviewPreset,
|
|
196
|
+
w as cloneThemePreviewSettings,
|
|
197
|
+
F as getThemePreviewDraftSettings,
|
|
198
|
+
O as getThemePreviewPaletteValue,
|
|
199
|
+
z as getThemePreviewPresetOptions,
|
|
200
|
+
G as getThemePreviewPresetOptionsByMode,
|
|
201
|
+
H as getThemePreviewResetSettings,
|
|
202
|
+
f as getThemePreviewSectionMode,
|
|
203
|
+
X as getThemePreviewSelectionState,
|
|
204
|
+
A as isThemePreviewCustomSection,
|
|
205
|
+
$ as resetThemePreviewSessionState,
|
|
206
|
+
U as setThemePreviewDraftSettings,
|
|
207
|
+
q as setThemePreviewPaletteValue,
|
|
208
|
+
y as setThemePreviewPaletteValues,
|
|
209
|
+
Y as setThemePreviewSelectionState
|
|
210
|
+
};
|
|
211
|
+
//# sourceMappingURL=themePreviewSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themePreviewSettings.js","sources":["../../../../src/features/themePreview/utils/themePreviewSettings.ts"],"sourcesContent":["import { toolbarCuratedPresetKeys } from '@/features/themePreview/configs/presets';\nimport {\n defaultSnackbarProviderProps,\n defaultSnackbarTheme,\n type SnackbarProviderTheme,\n type SnackbarTheme,\n} from '@/features/themePreview/configs/snackbar';\nimport type { OwpSettingsConfigType } from '@/types';\nimport { isObject, isString, merge } from 'es-toolkit/compat';\nimport type { PartialDeep } from 'type-fest';\nimport type {\n ThemePreviewMode,\n ThemePreviewPresetKeyBySection,\n ThemePreviewPresetOption,\n ThemePreviewPresetSectionKey,\n ThemePreviewPresetThemes,\n ThemePreviewSectionKey,\n ThemePreviewSettings,\n} from '../types';\n\nexport const THEME_PREVIEW_CUSTOM_PRESET_KEY = '__custom__';\nconst themePreviewCustomSectionKeys = ['grid', 'table', 'snackbar'] as const;\n\ntype ThemePreviewSelectionState = {\n selectedModes: Record<ThemePreviewPresetSectionKey, ThemePreviewMode>;\n selectedPresetKeys: ThemePreviewPresetKeyBySection;\n};\n\nlet persistedThemePreviewDraftSettings: ThemePreviewSettings | null = null;\nlet persistedThemePreviewSelectionState: ThemePreviewSelectionState | null = null;\nconst THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX = 'snackbarProviderProps.';\ntype ThemePreviewPaletteValueUpdate = {\n path: string;\n value: string;\n};\n\nfunction asObjectRecord(value: unknown) {\n return isObject(value) ? (value as Record<string, unknown>) : {};\n}\n\nfunction getThemePreviewSnackbarTheme(\n settings: OwpSettingsConfigType | ThemePreviewSettings,\n snackbar = defaultSnackbarTheme,\n) {\n const nextSnackbar =\n 'snackbar' in settings && isObject(settings.snackbar) ? settings.snackbar : undefined;\n\n return merge({}, defaultSnackbarTheme, snackbar, nextSnackbar) as SnackbarTheme;\n}\n\nfunction getThemePreviewSnackbarProviderProps(\n settings: OwpSettingsConfigType | ThemePreviewSettings,\n snackbarProviderProps = defaultSnackbarProviderProps,\n) {\n const nextSnackbarProviderProps =\n 'snackbarProviderProps' in settings && isObject(settings.snackbarProviderProps)\n ? settings.snackbarProviderProps\n : undefined;\n\n return merge(\n {},\n defaultSnackbarProviderProps,\n snackbarProviderProps,\n nextSnackbarProviderProps,\n ) as SnackbarProviderTheme;\n}\n\nfunction createThemePreviewSettings(\n settings: OwpSettingsConfigType | ThemePreviewSettings,\n snackbar = defaultSnackbarTheme,\n) {\n return merge({}, settings, {\n snackbar: getThemePreviewSnackbarTheme(settings, snackbar),\n snackbarProviderProps: getThemePreviewSnackbarProviderProps(settings),\n }) as ThemePreviewSettings;\n}\n\nexport function isThemePreviewCustomSection(sectionKey: ThemePreviewSectionKey) {\n return (themePreviewCustomSectionKeys as readonly ThemePreviewSectionKey[]).includes(sectionKey);\n}\n\nfunction getThemePreviewSectionTarget(\n settings: ThemePreviewSettings,\n sectionKey: ThemePreviewSectionKey,\n) {\n switch (sectionKey) {\n case 'grid':\n return asObjectRecord(settings.theme.main.grid);\n case 'table':\n return asObjectRecord(settings.theme.main.table);\n case 'snackbar':\n return asObjectRecord(settings.snackbar);\n default:\n return asObjectRecord(settings.theme[sectionKey].palette);\n }\n}\n\nexport function cloneThemePreviewSettings(settings: ThemePreviewSettings) {\n return createThemePreviewSettings(settings);\n}\n\nexport function getThemePreviewResetSettings(\n settings: OwpSettingsConfigType,\n resetTheme: PartialDeep<OwpSettingsConfigType['theme']>,\n snackbar = defaultSnackbarTheme,\n) {\n return merge({}, createThemePreviewSettings(settings, snackbar), {\n theme: resetTheme,\n }) as ThemePreviewSettings;\n}\n\nexport function getThemePreviewPaletteValue(\n settings: ThemePreviewSettings,\n sectionKey: ThemePreviewSectionKey,\n path: string,\n) {\n const [pathSource, resolvedPath] = path.startsWith(THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX)\n ? [asObjectRecord(settings.snackbarProviderProps), path.slice(THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX.length)]\n : [getThemePreviewSectionTarget(settings, sectionKey), path];\n\n const value = resolvedPath.split('.').reduce<unknown>((acc, key) => {\n const currentValue = asObjectRecord(acc);\n\n return currentValue[key];\n }, pathSource);\n\n if (typeof value === 'number') {\n return String(value);\n }\n\n return isString(value) ? value : '';\n}\n\nexport function getThemePreviewSectionMode(\n settings: OwpSettingsConfigType,\n sectionKey: ThemePreviewPresetSectionKey,\n) {\n return settings.theme[sectionKey].palette.mode === 'dark' ? 'dark' : 'light';\n}\n\nexport function getThemePreviewDraftSettings(currentSettings: OwpSettingsConfigType) {\n return createThemePreviewSettings(persistedThemePreviewDraftSettings ?? currentSettings);\n}\n\nexport function setThemePreviewDraftSettings(settings: ThemePreviewSettings) {\n persistedThemePreviewDraftSettings = cloneThemePreviewSettings(settings);\n}\n\nexport function getThemePreviewSelectionState(\n settings: OwpSettingsConfigType,\n initialPresetKeys: ThemePreviewPresetKeyBySection,\n) {\n return merge(\n {\n selectedPresetKeys: initialPresetKeys,\n selectedModes: {\n main: getThemePreviewSectionMode(settings, 'main'),\n navbar: getThemePreviewSectionMode(settings, 'navbar'),\n toolbar: getThemePreviewSectionMode(settings, 'toolbar'),\n },\n },\n persistedThemePreviewSelectionState ?? {},\n ) as ThemePreviewSelectionState;\n}\n\nexport function setThemePreviewSelectionState(selectionState: ThemePreviewSelectionState) {\n persistedThemePreviewSelectionState = merge({}, selectionState) as ThemePreviewSelectionState;\n}\n\nexport function resetThemePreviewSessionState() {\n persistedThemePreviewDraftSettings = null;\n persistedThemePreviewSelectionState = null;\n}\n\nfunction applyThemePreviewPaletteValue(\n target: Record<string, unknown>,\n path: string,\n value: string,\n) {\n const pathKeys = path.split('.');\n const lastPathKey = pathKeys.pop();\n\n if (!lastPathKey) {\n return;\n }\n\n let currentTarget = target;\n\n pathKeys.forEach((key) => {\n const nextTarget = currentTarget[key];\n\n if (!isObject(nextTarget)) {\n currentTarget[key] = {};\n }\n\n currentTarget = asObjectRecord(currentTarget[key]);\n });\n\n const currentValue = currentTarget[lastPathKey];\n\n if (typeof currentValue === 'number') {\n const nextNumericValue = Number(value.replace(/,/g, '.'));\n currentTarget[lastPathKey] = Number.isNaN(nextNumericValue) ? currentValue : nextNumericValue;\n return;\n }\n\n currentTarget[lastPathKey] = value;\n}\n\nexport function setThemePreviewPaletteValues(\n settings: ThemePreviewSettings,\n sectionKey: ThemePreviewSectionKey,\n updates: ThemePreviewPaletteValueUpdate[],\n) {\n if (!updates.length) {\n return settings;\n }\n\n const nextSettings = cloneThemePreviewSettings(settings);\n const sectionTarget = getThemePreviewSectionTarget(nextSettings, sectionKey);\n const snackbarProviderPropsTarget = asObjectRecord(nextSettings.snackbarProviderProps);\n\n updates.forEach(({ path, value }) => {\n const isSnackbarProviderPropsPath = path.startsWith(\n THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX,\n );\n const resolvedPath = isSnackbarProviderPropsPath\n ? path.slice(THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX.length)\n : path;\n\n applyThemePreviewPaletteValue(\n isSnackbarProviderPropsPath ? snackbarProviderPropsTarget : sectionTarget,\n resolvedPath,\n value,\n );\n });\n\n nextSettings.snackbarProviderProps = snackbarProviderPropsTarget as SnackbarProviderTheme;\n\n switch (sectionKey) {\n case 'grid':\n nextSettings.theme.main.grid =\n sectionTarget as OwpSettingsConfigType['theme']['main']['grid'];\n return nextSettings;\n case 'table':\n nextSettings.theme.main.table =\n sectionTarget as OwpSettingsConfigType['theme']['main']['table'];\n return nextSettings;\n case 'snackbar':\n nextSettings.snackbar = sectionTarget as SnackbarTheme;\n return nextSettings;\n default:\n nextSettings.theme[sectionKey].palette = sectionTarget;\n return nextSettings;\n }\n}\n\nexport function setThemePreviewPaletteValue(\n settings: ThemePreviewSettings,\n sectionKey: ThemePreviewSectionKey,\n path: string,\n value: string,\n) {\n return setThemePreviewPaletteValues(settings, sectionKey, [{ path, value }]);\n}\n\nexport function getThemePreviewPresetOptions(presetThemes: ThemePreviewPresetThemes) {\n const numberedPresetPattern = /^(light|dark)(\\d+)$/;\n const toolbarCuratedPresetKeySet = new Set<string>(toolbarCuratedPresetKeys);\n\n return Object.entries(presetThemes)\n .reduce<Array<ThemePreviewPresetOption & { originalIndex: number }>>((acc, [key, theme]) => {\n if (!theme?.palette) {\n return acc;\n }\n\n acc.push({\n key,\n label: key,\n mode: theme.palette.mode === 'dark' ? 'dark' : 'light',\n sections: toolbarCuratedPresetKeySet.has(key) ? ['toolbar'] : undefined,\n originalIndex: acc.length,\n });\n\n return acc;\n }, [])\n .sort((leftOption, rightOption) => {\n const leftMatch = leftOption.key.match(numberedPresetPattern);\n const rightMatch = rightOption.key.match(numberedPresetPattern);\n const leftIsNumberedPreset = Boolean(leftMatch);\n const rightIsNumberedPreset = Boolean(rightMatch);\n\n if (leftIsNumberedPreset !== rightIsNumberedPreset) {\n return leftIsNumberedPreset ? 1 : -1;\n }\n\n if (leftMatch && rightMatch) {\n const familyOrder =\n (leftMatch[1] === 'light' ? 0 : 1) - (rightMatch[1] === 'light' ? 0 : 1);\n\n if (familyOrder !== 0) {\n return familyOrder;\n }\n\n const presetNumberOrder = Number(leftMatch[2]) - Number(rightMatch[2]);\n\n if (presetNumberOrder !== 0) {\n return presetNumberOrder;\n }\n }\n\n return leftOption.originalIndex - rightOption.originalIndex;\n })\n .map((presetOption) => ({\n key: presetOption.key,\n label: presetOption.label,\n mode: presetOption.mode,\n sections: presetOption.sections,\n }));\n}\n\nexport function getThemePreviewPresetOptionsByMode(\n presetOptions: ThemePreviewPresetOption[],\n sectionKey: ThemePreviewPresetSectionKey,\n mode: 'light' | 'dark',\n) {\n return presetOptions.filter(\n (presetOption) =>\n presetOption.mode === mode &&\n (!presetOption.sections || presetOption.sections.includes(sectionKey)),\n );\n}\n\nexport function applyThemePreviewPreset(\n settings: ThemePreviewSettings,\n sectionKey: ThemePreviewPresetSectionKey,\n presetTheme: ThemePreviewPresetThemes[string],\n) {\n return merge({}, settings, {\n theme: {\n [sectionKey]: presetTheme,\n },\n }) as ThemePreviewSettings;\n}\n"],"names":["THEME_PREVIEW_CUSTOM_PRESET_KEY","themePreviewCustomSectionKeys","persistedThemePreviewDraftSettings","persistedThemePreviewSelectionState","THEME_PREVIEW_SNACKBAR_PROVIDER_PROPS_PATH_PREFIX","asObjectRecord","value","isObject","__name","getThemePreviewSnackbarTheme","settings","snackbar","defaultSnackbarTheme","nextSnackbar","merge","getThemePreviewSnackbarProviderProps","snackbarProviderProps","defaultSnackbarProviderProps","nextSnackbarProviderProps","createThemePreviewSettings","isThemePreviewCustomSection","sectionKey","getThemePreviewSectionTarget","cloneThemePreviewSettings","getThemePreviewResetSettings","resetTheme","getThemePreviewPaletteValue","path","pathSource","resolvedPath","acc","key","isString","getThemePreviewSectionMode","getThemePreviewDraftSettings","currentSettings","setThemePreviewDraftSettings","getThemePreviewSelectionState","initialPresetKeys","setThemePreviewSelectionState","selectionState","resetThemePreviewSessionState","applyThemePreviewPaletteValue","target","pathKeys","lastPathKey","currentTarget","nextTarget","currentValue","nextNumericValue","setThemePreviewPaletteValues","updates","nextSettings","sectionTarget","snackbarProviderPropsTarget","isSnackbarProviderPropsPath","setThemePreviewPaletteValue","getThemePreviewPresetOptions","presetThemes","numberedPresetPattern","toolbarCuratedPresetKeySet","toolbarCuratedPresetKeys","theme","leftOption","rightOption","leftMatch","rightMatch","leftIsNumberedPreset","familyOrder","presetNumberOrder","presetOption","getThemePreviewPresetOptionsByMode","presetOptions","mode","applyThemePreviewPreset","presetTheme"],"mappings":"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"}
|