@owp/core 2.5.9 → 2.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/_virtual/index10.js +2 -2
  2. package/dist/_virtual/index12.js +2 -2
  3. package/dist/_virtual/index13.js +2 -2
  4. package/dist/_virtual/index14.js +2 -2
  5. package/dist/_virtual/index15.js +2 -2
  6. package/dist/_virtual/index16.js +4 -4
  7. package/dist/_virtual/index17.js +4 -4
  8. package/dist/_virtual/index18.js +4 -4
  9. package/dist/_virtual/index19.js +4 -4
  10. package/dist/_virtual/index20.js +2 -2
  11. package/dist/_virtual/index21.js +2 -2
  12. package/dist/_virtual/index22.js +2 -2
  13. package/dist/_virtual/index5.js +2 -2
  14. package/dist/components/OwpTable/OwpFieldTable.js +108 -92
  15. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
  16. package/dist/components/OwpTable/OwpTable.js +161 -141
  17. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  18. package/dist/components/OwpTable/internal/FieldTableValue.js +43 -0
  19. package/dist/components/OwpTable/internal/FieldTableValue.js.map +1 -0
  20. package/dist/components/OwpTable/internal/defaultTableStyle.js +13 -10
  21. package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
  22. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +170 -169
  23. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  24. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +195 -147
  25. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  26. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +79 -76
  27. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
  28. package/dist/configs/defaultConfig.js +110 -70
  29. package/dist/configs/defaultConfig.js.map +1 -1
  30. package/dist/constants/tableTheme.js +7 -6
  31. package/dist/constants/tableTheme.js.map +1 -1
  32. package/dist/features/themePreview/components/ThemePreviewCanvas.js +275 -273
  33. package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
  34. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js +552 -316
  35. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -1
  36. package/dist/features/themePreview/components/ThemePreviewColorField.js +227 -202
  37. package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -1
  38. package/dist/features/themePreview/components/ThemePreviewControls.js +270 -220
  39. package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -1
  40. package/dist/features/themePreview/components/themePreviewCanvas.shared.js +38 -38
  41. package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -1
  42. package/dist/features/themePreview/configs/settings.js +33 -20
  43. package/dist/features/themePreview/configs/settings.js.map +1 -1
  44. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +227 -220
  45. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -1
  46. package/dist/features/themePreview/hooks/useThemePreview.js +250 -226
  47. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
  48. package/dist/features/themePreview/utils/themePreviewDefinitions.js +63 -30
  49. package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -1
  50. package/dist/features/themePreview/utils/themePreviewSettings.js +188 -151
  51. package/dist/features/themePreview/utils/themePreviewSettings.js.map +1 -1
  52. package/dist/features/themePreview.js +18 -17
  53. package/dist/layout/components/navbar/NavbarToggleButton.js +46 -42
  54. package/dist/layout/components/navbar/NavbarToggleButton.js.map +1 -1
  55. package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
  56. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/match/index.js +1 -1
  57. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/parse/index.js +1 -1
  58. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  59. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  60. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
  61. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  62. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  63. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  64. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  65. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  66. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  67. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  68. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  69. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  70. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  71. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
  72. 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
  73. package/dist/owp-app.css +1 -1
  74. package/dist/types/components/OwpTable/OwpFieldTable.d.ts +7 -3
  75. package/dist/types/components/OwpTable/OwpTable.d.ts +3 -1
  76. package/dist/types/components/OwpTable/internal/FieldTableValue.d.ts +17 -0
  77. package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +3 -0
  78. package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +3 -1
  79. package/dist/types/components/OwpTreeGrid/internal/treeGridTheme.d.ts +1 -1
  80. package/dist/types/configs/defaultConfig.d.ts +42 -3
  81. package/dist/types/constants/tableTheme.d.ts +1 -0
  82. package/dist/types/features/themePreview/components/ThemePreviewCanvasSections.d.ts +8 -0
  83. package/dist/types/features/themePreview/components/themePreviewCanvas.shared.d.ts +3 -3
  84. package/dist/types/features/themePreview/configs/settings.d.ts +12 -0
  85. package/dist/types/features/themePreview/utils/index.d.ts +1 -1
  86. package/dist/types/features/themePreview/utils/themePreviewSettings.d.ts +11 -1
  87. package/dist/types/index.d.ts +1 -0
  88. package/dist/types/types/OwpMuiThemeTypes.d.ts +9 -0
  89. package/dist/types/types/OwpTableThemeTypes.d.ts +1 -0
  90. package/dist/types/types/index.d.ts +1 -0
  91. package/package.json +1 -1
@@ -1,55 +1,55 @@
1
- var xe = Object.defineProperty;
2
- var n = (r, i) => xe(r, "name", { value: i, configurable: !0 });
3
- import { jsx as t, jsxs as f } from "../../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
- import { defaultSnackbarTheme as Pe } from "../configs/snackbar.js";
5
- import { themesConfig as Ce } from "../configs/presets.js";
6
- import { defaultSettingsConfig as Te } from "../configs/settings.js";
7
- import { useConfirm as be } from "../../../hooks/useConfirm.js";
8
- import { readZipEntryJson as Ee, saveAsZipFile as Se } from "../../../utils/zipUtil.js";
9
- import ye from "../../../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";
10
- import Ae from "../../../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";
11
- import Fe from "../../../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";
12
- import Le from "../../../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";
13
- import { Button as h, Typography as W, TextField as ke } from "@mui/material";
14
- import { useDialogs as _e } from "@toolpad/core/useDialogs";
15
- import { enqueueSnackbar as m } from "notistack";
16
- import { useState as k, useRef as u, useEffect as v } from "react";
17
- import { useThemePreview as Re } from "../hooks/useThemePreview.js";
18
- import { ThemePreviewControls as Ie } from "../components/ThemePreviewControls.js";
19
- import { ThemePreviewCanvas as Me } from "../components/ThemePreviewCanvas.js";
20
- import { resetThemePreviewSessionState as Ne } from "../utils/themePreviewSettings.js";
21
- import { createThemePreviewExportData as De, createThemePreviewAppConfigFiles as Ve } from "../utils/themePreviewExport.js";
22
- import { OwpDialog as j } from "../../../components/OwpDialog/OwpDialog.js";
23
- const Oe = Ce, We = ".owp,.zip,application/zip", O = 300 * 1e3, je = 2 * 1e3, ze = 15 * 1e3;
24
- function Be(r) {
25
- const i = De(r);
1
+ var ve = Object.defineProperty;
2
+ var n = (r, i) => ve(r, "name", { value: i, configurable: !0 });
3
+ import { jsx as t, jsxs as m } from "../../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
+ import { defaultSnackbarTheme as ge } from "../configs/snackbar.js";
5
+ import { themesConfig as we } from "../configs/presets.js";
6
+ import { defaultSettingsConfig as xe } from "../configs/settings.js";
7
+ import { useConfirm as Pe } from "../../../hooks/useConfirm.js";
8
+ import { readZipEntryJson as Ce, saveAsZipFile as Te } from "../../../utils/zipUtil.js";
9
+ import be from "../../../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";
10
+ import Se from "../../../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";
11
+ import Ee from "../../../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";
12
+ import ye from "../../../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";
13
+ import { Button as h, Typography as M, TextField as Ae } from "@mui/material";
14
+ import { useDialogs as ke } from "@toolpad/core/useDialogs";
15
+ import { enqueueSnackbar as d } from "notistack";
16
+ import { useState as I, useRef as u, useEffect as g } from "react";
17
+ import { useThemePreview as Le } from "../hooks/useThemePreview.js";
18
+ import { ThemePreviewControls as Fe } from "../components/ThemePreviewControls.js";
19
+ import { ThemePreviewCanvas as Ne } from "../components/ThemePreviewCanvas.js";
20
+ import { resetThemePreviewSessionState as _e } from "../utils/themePreviewSettings.js";
21
+ import { createThemePreviewExportData as Re, createThemePreviewAppConfigFiles as De } from "../utils/themePreviewExport.js";
22
+ import { OwpDialog as V } from "../../../components/OwpDialog/OwpDialog.js";
23
+ const Me = we, Ie = ".owp,.zip,application/zip", D = 300 * 1e3, Ve = 2 * 1e3, Oe = 15 * 1e3;
24
+ function je(r) {
25
+ const i = Re(r);
26
26
  return [
27
- ...Ve(r).map(({ fileName: l, content: p }) => ({
28
- fileName: l,
29
- blob: new Blob([p], {
27
+ ...De(r).map(({ fileName: s, content: f }) => ({
28
+ fileName: s,
29
+ blob: new Blob([f], {
30
30
  type: "text/plain;charset=utf-8"
31
31
  })
32
32
  })),
33
- ...Object.entries(i).map(([l, p]) => ({
34
- fileName: `preview/${l}.json`,
35
- blob: new Blob([JSON.stringify(p, null, 2)], {
33
+ ...Object.entries(i).map(([s, f]) => ({
34
+ fileName: `preview/${s}.json`,
35
+ blob: new Blob([JSON.stringify(f, null, 2)], {
36
36
  type: "application/json"
37
37
  })
38
38
  }))
39
39
  ];
40
40
  }
41
- n(Be, "createThemePreviewArchiveFiles");
42
- function Ue(r) {
41
+ n(je, "createThemePreviewArchiveFiles");
42
+ function ze(r) {
43
43
  var i;
44
44
  return (r == null ? void 0 : r.defaultSnackbarProviderProps) ?? ((i = r == null ? void 0 : r.defaultSettingsConfig) == null ? void 0 : i.snackbarProviderProps);
45
45
  }
46
- n(Ue, "getThemePreviewArchiveProviderProps");
47
- function He(r) {
46
+ n(ze, "getThemePreviewArchiveProviderProps");
47
+ function We(r) {
48
48
  const i = r.trim().replace(/[^0-9A-Za-z가-힣 _-]+/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^[-_]+|[-_]+$/g, "");
49
49
  return i ? `theme-preview-config-${i}` : "theme-preview-config";
50
50
  }
51
- n(He, "getThemePreviewConfigFileTitle");
52
- const g = {
51
+ n(We, "getThemePreviewConfigFileTitle");
52
+ const p = {
53
53
  "&.MuiButton-root": {
54
54
  fontSize: "1.3rem",
55
55
  letterSpacing: "0.04rem"
@@ -68,7 +68,7 @@ const g = {
68
68
  minHeight: 42,
69
69
  px: 2.25,
70
70
  whiteSpace: "nowrap"
71
- }, F = {
71
+ }, A = {
72
72
  "&.Mui-disabled": {
73
73
  backgroundColor: "#e5e7eb",
74
74
  borderColor: "#e5e7eb",
@@ -81,7 +81,7 @@ const g = {
81
81
  backgroundColor: "#1ea3e6",
82
82
  border: "1px solid #1ea3e6",
83
83
  color: "#ffffff"
84
- }, L = {
84
+ }, k = {
85
85
  "&.Mui-disabled": {
86
86
  backgroundColor: "#ffffff",
87
87
  borderColor: "#d1d5db",
@@ -94,211 +94,205 @@ const g = {
94
94
  backgroundColor: "#ffffff",
95
95
  border: "1px solid #111827",
96
96
  color: "#111827"
97
- }, Ke = "#111827", Ze = /* @__PURE__ */ n(({
97
+ }, He = "#111827", Be = /* @__PURE__ */ n(({
98
98
  open: r,
99
99
  payload: i,
100
- onClose: w
100
+ onClose: v
101
101
  }) => {
102
- const [l, p] = k((i == null ? void 0 : i.initialFileName) ?? "");
102
+ const [s, f] = I((i == null ? void 0 : i.initialFileName) ?? "");
103
103
  return /* @__PURE__ */ t(
104
- j,
104
+ V,
105
105
  {
106
106
  title: "설정파일 저장",
107
107
  open: r,
108
108
  maxWidth: "xs",
109
- onClose: /* @__PURE__ */ n(() => w(void 0), "onClose"),
110
- onConfirm: /* @__PURE__ */ n(() => w(l), "onConfirm"),
109
+ onClose: /* @__PURE__ */ n(() => v(void 0), "onClose"),
110
+ onConfirm: /* @__PURE__ */ n(() => v(s), "onConfirm"),
111
111
  contentProps: {
112
112
  sx: {
113
113
  minWidth: 360,
114
114
  p: 3
115
115
  }
116
116
  },
117
- children: /* @__PURE__ */ f("div", { className: "flex flex-col gap-12", children: [
117
+ children: /* @__PURE__ */ m("div", { className: "flex flex-col gap-12", children: [
118
118
  /* @__PURE__ */ t(
119
- ke,
119
+ Ae,
120
120
  {
121
121
  label: "저장 이름",
122
- value: l,
122
+ value: s,
123
123
  placeholder: "저장 이름 입력",
124
- onChange: /* @__PURE__ */ n((b) => {
125
- p(b.target.value);
124
+ onChange: /* @__PURE__ */ n((w) => {
125
+ f(w.target.value);
126
126
  }, "onChange")
127
127
  }
128
128
  ),
129
- /* @__PURE__ */ t(W, { variant: "body2", color: "text.secondary", children: "저장 확장자는 `.owp`로 고정됩니다." })
129
+ /* @__PURE__ */ t(M, { variant: "body2", color: "text.secondary", children: "저장 확장자는 `.owp`로 고정됩니다." })
130
130
  ] })
131
131
  }
132
132
  );
133
- }, "ThemePreviewSaveDialog"), hn = /* @__PURE__ */ n(({
133
+ }, "ThemePreviewSaveDialog"), fn = /* @__PURE__ */ n(({
134
134
  open: r,
135
135
  payload: i,
136
- onClose: w
136
+ onClose: v
137
137
  }) => {
138
- const [l, p] = k(""), [b, _] = k(!1), R = u(null), I = u(null), x = u(null), E = u(!1), M = u(Date.now()), N = u(!1), S = u(() => {
139
- }), c = u(null), z = _e(), { confirmSave: B } = be(), {
140
- activeSection: d,
141
- canApplyToMain: U,
142
- draftSettings: y,
143
- hasTemporaryChanges: A,
144
- hasTemporarySnapshot: H,
145
- presetOptions: K,
146
- resetVersion: Z,
147
- selectedModes: q,
148
- selectedPresetKeys: $,
149
- setActiveSection: J,
150
- handlePaletteValueChange: Y,
151
- handlePaletteValuesChange: G,
152
- handlePaletteValueReset: Q,
153
- handlePaletteValuesReset: X,
154
- handleApplyToMain: ee,
155
- handleLoadSettings: ne,
156
- handlePresetKeyChange: te,
157
- handlePresetModeChange: re,
158
- handleReset: ie,
159
- handleTemporaryLoad: oe,
138
+ const [s, f] = I(""), w = u(null), L = u(null), x = u(null), b = u(!1), F = u(Date.now()), N = u(!1), S = u(() => {
139
+ }), O = ke(), { confirmSave: j } = Pe(), {
140
+ activeSection: c,
141
+ canApplyToMain: z,
142
+ draftSettings: E,
143
+ hasTemporaryChanges: y,
144
+ hasTemporarySnapshot: W,
145
+ presetOptions: H,
146
+ resetVersion: B,
147
+ selectedModes: U,
148
+ selectedPresetKeys: K,
149
+ setActiveSection: Z,
150
+ handlePaletteValueChange: $,
151
+ handlePaletteValuesChange: J,
152
+ handlePaletteValueReset: q,
153
+ handlePaletteValuesReset: Y,
154
+ handleApplyToMain: G,
155
+ handleLoadSettings: Q,
156
+ handlePresetKeyChange: X,
157
+ handlePresetModeChange: ee,
158
+ handleReset: ne,
159
+ handleTemporaryLoad: te,
160
160
  handleTemporarySave: P
161
- } = Re({
161
+ } = Le({
162
162
  initialSection: i == null ? void 0 : i.initialSection,
163
163
  initialPresetKeys: {
164
164
  main: "light1",
165
165
  navbar: "light2",
166
166
  toolbar: "surfaceDark"
167
167
  },
168
- presetThemes: Oe,
169
- resetTheme: Te.theme
170
- }), D = d === "main" || d === "navbar" || d === "toolbar", ae = D ? q[d] : "light", se = D ? $[d] : "", o = /* @__PURE__ */ n(() => {
171
- M.current = Date.now();
172
- }, "handleThemePreviewInteraction"), le = /* @__PURE__ */ n(async (e) => {
173
- await Se(Be(y), {
174
- fileTitle: He(e),
168
+ presetThemes: Me,
169
+ resetTheme: xe.theme
170
+ }), _ = c === "main" || c === "navbar" || c === "toolbar", re = _ ? U[c] : "light", ie = _ ? K[c] : "", o = /* @__PURE__ */ n(() => {
171
+ F.current = Date.now();
172
+ }, "handleThemePreviewInteraction"), oe = /* @__PURE__ */ n(async (e) => {
173
+ await Te(je(E), {
174
+ fileTitle: We(e),
175
175
  archiveExtension: "owp",
176
176
  preserveFileNames: !0
177
177
  });
178
- }, "handleSaveConfigFiles"), ce = /* @__PURE__ */ n(async () => {
179
- const e = await z.open(Ze, {
180
- initialFileName: l
178
+ }, "handleSaveConfigFiles"), ae = /* @__PURE__ */ n(async () => {
179
+ const e = await O.open(Be, {
180
+ initialFileName: s
181
181
  });
182
- e !== void 0 && (p(e), await le(e));
183
- }, "handleOpenSaveDialog"), de = /* @__PURE__ */ n(() => {
182
+ e !== void 0 && (f(e), await oe(e));
183
+ }, "handleOpenSaveDialog"), le = /* @__PURE__ */ n(() => {
184
184
  var e;
185
- (e = I.current) == null || e.click();
186
- }, "handleOpenZipFile"), me = /* @__PURE__ */ n(() => {
187
- P("manual"), m("임시 저장을 완료했습니다.", {
185
+ (e = L.current) == null || e.click();
186
+ }, "handleOpenZipFile"), se = /* @__PURE__ */ n(() => {
187
+ P("manual"), d("임시 저장을 완료했습니다.", {
188
188
  variant: "success"
189
189
  });
190
- }, "handleManualTemporarySave"), ue = /* @__PURE__ */ n(() => {
191
- if (!oe()) {
192
- m("불러올 임시 저장 데이터가 없습니다.", {
190
+ }, "handleManualTemporarySave"), ce = /* @__PURE__ */ n(() => {
191
+ if (!te()) {
192
+ d("불러올 임시 저장 데이터가 없습니다.", {
193
193
  variant: "warning"
194
194
  });
195
195
  return;
196
196
  }
197
- m("임시 저장 데이터를 불러왔습니다.", {
197
+ d("임시 저장 데이터를 불러왔습니다.", {
198
198
  variant: "success"
199
199
  });
200
- }, "handleManualTemporaryLoad"), fe = /* @__PURE__ */ n(async () => {
201
- A && (await B({
200
+ }, "handleManualTemporaryLoad"), de = /* @__PURE__ */ n(async () => {
201
+ y && (await j({
202
202
  title: "변경된 값을 저장하겠습니까?"
203
- }) ? (P("manual"), m("임시 저장되었습니다. 다시 실행하면 저장된 데이터를 불러옵니다.", {
203
+ }) ? (P("manual"), d("임시 저장되었습니다. 다시 실행하면 저장된 데이터를 불러옵니다.", {
204
204
  variant: "info"
205
- })) : Ne()), w(void 0);
206
- }, "handleDialogClose"), pe = /* @__PURE__ */ n(async (e) => {
207
- var s, C;
208
- const a = (s = e.target.files) == null ? void 0 : s[0];
205
+ })) : _e()), v(void 0);
206
+ }, "handleDialogClose"), me = /* @__PURE__ */ n(async (e) => {
207
+ var l, C;
208
+ const a = (l = e.target.files) == null ? void 0 : l[0];
209
209
  if (a)
210
210
  try {
211
- const T = await Ee(
211
+ const T = await Ce(
212
212
  a,
213
- (we) => we.endsWith("settings.json")
213
+ (pe) => pe.endsWith("settings.json")
214
214
  );
215
215
  if (!T) {
216
- m("settings.json 파일이 없습니다.", {
216
+ d("settings.json 파일이 없습니다.", {
217
217
  variant: "warning"
218
218
  });
219
219
  return;
220
220
  }
221
- const V = (C = T.defaultSettingsConfig) == null ? void 0 : C.theme, ve = T.defaultSnackbarTheme ?? Pe, ge = Ue(T);
222
- if (!V) {
223
- m("theme 설정을 읽지 못했습니다.", {
221
+ const R = (C = T.defaultSettingsConfig) == null ? void 0 : C.theme, ue = T.defaultSnackbarTheme ?? ge, he = ze(T);
222
+ if (!R) {
223
+ d("theme 설정을 읽지 못했습니다.", {
224
224
  variant: "warning"
225
225
  });
226
226
  return;
227
227
  }
228
- ne(V, ve, ge), m("설정 파일을 로드하고 메인 화면에 적용했습니다.", {
228
+ Q(R, ue, he), d("설정 파일을 로드하고 메인 화면에 적용했습니다.", {
229
229
  variant: "success"
230
230
  });
231
231
  } catch {
232
- m("설정 파일을 불러오는 중 오류가 발생했습니다.", {
232
+ d("설정 파일을 불러오는 중 오류가 발생했습니다.", {
233
233
  variant: "error"
234
234
  });
235
235
  } finally {
236
236
  e.target.value = "";
237
237
  }
238
- }, "handleZipFileChange"), he = /* @__PURE__ */ n((e) => {
239
- e !== d && (c.current && (cancelAnimationFrame(c.current), c.current = null), _(!0), c.current = requestAnimationFrame(() => {
240
- J(e), c.current = requestAnimationFrame(() => {
241
- _(!1), c.current = null;
242
- });
243
- }));
238
+ }, "handleZipFileChange"), fe = /* @__PURE__ */ n((e) => {
239
+ e !== c && Z(e);
244
240
  }, "handleSectionChange");
245
- return v(() => {
241
+ return g(() => {
246
242
  S.current = P;
247
- }, [P]), v(() => {
248
- N.current = A;
249
- }, [A]), v(() => {
250
- const e = R.current;
243
+ }, [P]), g(() => {
244
+ N.current = y;
245
+ }, [y]), g(() => {
246
+ const e = w.current;
251
247
  if (!e)
252
248
  return;
253
249
  const a = /* @__PURE__ */ n(() => {
254
- E.current = !0, o();
255
- }, "handlePointerDown"), s = /* @__PURE__ */ n(() => {
256
- E.current = !1, o();
250
+ b.current = !0, o();
251
+ }, "handlePointerDown"), l = /* @__PURE__ */ n(() => {
252
+ b.current = !1, o();
257
253
  }, "handlePointerUp");
258
- return e.addEventListener("pointerdown", a), e.addEventListener("pointerup", s), e.addEventListener("pointercancel", s), e.addEventListener("keydown", o), e.addEventListener("input", o), e.addEventListener("change", o), e.addEventListener("focusin", o), () => {
259
- e.removeEventListener("pointerdown", a), e.removeEventListener("pointerup", s), e.removeEventListener("pointercancel", s), e.removeEventListener("keydown", o), e.removeEventListener("input", o), e.removeEventListener("change", o), e.removeEventListener("focusin", o);
254
+ return e.addEventListener("pointerdown", a), e.addEventListener("pointerup", l), e.addEventListener("pointercancel", l), e.addEventListener("keydown", o), e.addEventListener("input", o), e.addEventListener("change", o), e.addEventListener("focusin", o), () => {
255
+ e.removeEventListener("pointerdown", a), e.removeEventListener("pointerup", l), e.removeEventListener("pointercancel", l), e.removeEventListener("keydown", o), e.removeEventListener("input", o), e.removeEventListener("change", o), e.removeEventListener("focusin", o);
260
256
  };
261
- }, []), v(() => {
257
+ }, []), g(() => {
262
258
  const e = /* @__PURE__ */ n(() => {
263
259
  x.current && (window.clearTimeout(x.current), x.current = null);
264
- }, "clearAutoSaveTimeout"), a = /* @__PURE__ */ n((s) => {
260
+ }, "clearAutoSaveTimeout"), a = /* @__PURE__ */ n((l) => {
265
261
  e(), x.current = window.setTimeout(() => {
266
- const C = E.current || Date.now() - M.current < je;
262
+ const C = b.current || Date.now() - F.current < Ve;
267
263
  if (document.hidden || C) {
268
- a(ze);
264
+ a(Oe);
269
265
  return;
270
266
  }
271
- S.current("auto"), a(O);
272
- }, s);
267
+ S.current("auto"), a(D);
268
+ }, l);
273
269
  }, "scheduleAutoSave");
274
- return a(O), () => {
270
+ return a(D), () => {
275
271
  e();
276
272
  };
277
- }, []), v(() => {
273
+ }, []), g(() => {
278
274
  const e = /* @__PURE__ */ n(() => {
279
275
  N.current && S.current("manual");
280
276
  }, "handlePageExit");
281
277
  return window.addEventListener("pagehide", e), window.addEventListener("beforeunload", e), () => {
282
278
  window.removeEventListener("pagehide", e), window.removeEventListener("beforeunload", e);
283
279
  };
284
- }, []), v(() => () => {
285
- c.current && cancelAnimationFrame(c.current);
286
280
  }, []), /* @__PURE__ */ t(
287
- j,
281
+ V,
288
282
  {
289
- title: /* @__PURE__ */ f("div", { className: "flex w-full flex-wrap items-center justify-between gap-12", children: [
290
- /* @__PURE__ */ t(W, { variant: "h6", fontWeight: 700, sx: { color: Ke }, children: "OWP Theme Preview" }),
291
- /* @__PURE__ */ f("div", { className: "flex flex-wrap items-center gap-8", children: [
283
+ title: /* @__PURE__ */ m("div", { className: "flex w-full flex-wrap items-center justify-between gap-12", children: [
284
+ /* @__PURE__ */ t(M, { variant: "h6", fontWeight: 700, sx: { color: He }, children: "OWP Theme Preview" }),
285
+ /* @__PURE__ */ m("div", { className: "flex flex-wrap items-center gap-8", children: [
292
286
  /* @__PURE__ */ t(
293
287
  h,
294
288
  {
295
289
  size: "small",
296
290
  variant: "outlined",
297
291
  sx: {
298
- ...g,
299
- ...L
292
+ ...p,
293
+ ...k
300
294
  },
301
- onClick: ie,
295
+ onClick: ne,
302
296
  children: "기본 설정으로 되돌리기"
303
297
  }
304
298
  ),
@@ -307,33 +301,45 @@ const g = {
307
301
  {
308
302
  size: "small",
309
303
  variant: "contained",
310
- disabled: !U,
304
+ disabled: !z,
311
305
  sx: {
312
- ...g,
313
- ...F
306
+ ...p,
307
+ ...A
314
308
  },
315
- onClick: ee,
309
+ onClick: G,
316
310
  children: "메인에 적용해보기"
317
311
  }
318
312
  )
319
313
  ] })
320
314
  ] }),
321
315
  open: r,
322
- maxWidth: "xl",
316
+ fullScreen: !0,
323
317
  canConfirm: !1,
324
- onClose: fe,
325
- actions: /* @__PURE__ */ f("div", { className: "grid min-w-0 flex-1 grid-cols-[1fr_auto_1fr] items-center gap-y-8", children: [
326
- /* @__PURE__ */ f("div", { className: "flex flex-wrap items-center justify-start gap-8", children: [
318
+ onClose: de,
319
+ slotProps: {
320
+ paper: {
321
+ sx: {
322
+ borderRadius: 0,
323
+ display: "flex",
324
+ flexDirection: "column",
325
+ height: "100dvh",
326
+ m: 0,
327
+ maxHeight: "100dvh"
328
+ }
329
+ }
330
+ },
331
+ actions: /* @__PURE__ */ m("div", { className: "grid min-w-0 flex-1 grid-cols-[1fr_auto_1fr] items-center gap-y-8", children: [
332
+ /* @__PURE__ */ m("div", { className: "flex flex-wrap items-center justify-start gap-8", children: [
327
333
  /* @__PURE__ */ t(
328
334
  h,
329
335
  {
330
336
  variant: "contained",
331
- startIcon: /* @__PURE__ */ t(Fe, {}),
337
+ startIcon: /* @__PURE__ */ t(Ee, {}),
332
338
  sx: {
333
- ...g,
334
- ...F
339
+ ...p,
340
+ ...A
335
341
  },
336
- onClick: me,
342
+ onClick: se,
337
343
  children: "임시 저장하기"
338
344
  }
339
345
  ),
@@ -341,28 +347,28 @@ const g = {
341
347
  h,
342
348
  {
343
349
  variant: "outlined",
344
- startIcon: /* @__PURE__ */ t(Ae, {}),
345
- disabled: !H,
350
+ startIcon: /* @__PURE__ */ t(Se, {}),
351
+ disabled: !W,
346
352
  sx: {
347
- ...g,
348
- ...L
353
+ ...p,
354
+ ...k
349
355
  },
350
- onClick: ue,
356
+ onClick: ce,
351
357
  children: "임시 저장 불러오기"
352
358
  }
353
359
  )
354
360
  ] }),
355
- /* @__PURE__ */ f("div", { className: "flex flex-wrap items-center justify-center gap-8", children: [
361
+ /* @__PURE__ */ m("div", { className: "flex flex-wrap items-center justify-center gap-8", children: [
356
362
  /* @__PURE__ */ t(
357
363
  h,
358
364
  {
359
365
  variant: "contained",
360
- startIcon: /* @__PURE__ */ t(ye, {}),
366
+ startIcon: /* @__PURE__ */ t(be, {}),
361
367
  sx: {
362
- ...g,
363
- ...F
368
+ ...p,
369
+ ...A
364
370
  },
365
- onClick: ce,
371
+ onClick: ae,
366
372
  children: "설정파일 저장하기"
367
373
  }
368
374
  ),
@@ -370,78 +376,79 @@ const g = {
370
376
  h,
371
377
  {
372
378
  variant: "outlined",
373
- startIcon: /* @__PURE__ */ t(Le, {}),
379
+ startIcon: /* @__PURE__ */ t(ye, {}),
374
380
  sx: {
375
- ...g,
376
- ...L
381
+ ...p,
382
+ ...k
377
383
  },
378
- onClick: de,
384
+ onClick: le,
379
385
  children: "설정파일 불러오기"
380
386
  }
381
387
  )
382
388
  ] }),
383
389
  /* @__PURE__ */ t("div", {})
384
390
  ] }),
385
- slotProps: {
386
- paper: {
387
- sx: {
388
- width: "min(1680px, calc(100vw - 48px))",
389
- maxWidth: "none",
390
- height: "calc(100vh - 48px)",
391
- m: 3
392
- }
393
- }
394
- },
395
391
  contentProps: {
396
392
  sx: {
393
+ display: "flex",
394
+ flex: 1,
395
+ flexDirection: "column",
397
396
  height: "100%",
397
+ minHeight: 0,
398
+ overflow: "hidden",
398
399
  p: 3
399
400
  }
400
401
  },
401
- children: /* @__PURE__ */ f("div", { ref: R, className: "flex h-full min-h-0 flex-col gap-12", children: [
402
- /* @__PURE__ */ t(
403
- "input",
404
- {
405
- ref: I,
406
- type: "file",
407
- accept: We,
408
- className: "hidden",
409
- onChange: pe
410
- }
411
- ),
412
- /* @__PURE__ */ f("div", { className: "grid min-h-0 flex-1 gap-20 xl:grid-cols-[420px_minmax(0,1fr)]", children: [
413
- /* @__PURE__ */ t(
414
- Ie,
415
- {
416
- activeSection: d,
417
- presetOptions: K,
418
- selectedMode: ae,
419
- selectedPresetKey: se,
420
- settings: y,
421
- resetVersion: Z,
422
- onSectionChange: he,
423
- onPaletteValueChange: Y,
424
- onPaletteValuesChange: G,
425
- onPaletteValueReset: Q,
426
- onPaletteValuesReset: X,
427
- onPresetKeyChange: te,
428
- onPresetModeChange: re
429
- }
430
- ),
431
- /* @__PURE__ */ t(
432
- Me,
433
- {
434
- activeSection: d,
435
- isLoading: b,
436
- settings: y
437
- }
438
- )
439
- ] })
440
- ] })
402
+ children: /* @__PURE__ */ m(
403
+ "div",
404
+ {
405
+ ref: w,
406
+ className: "flex h-full min-h-0 flex-col gap-12 overflow-hidden",
407
+ children: [
408
+ /* @__PURE__ */ t(
409
+ "input",
410
+ {
411
+ ref: L,
412
+ type: "file",
413
+ accept: Ie,
414
+ className: "hidden",
415
+ onChange: me
416
+ }
417
+ ),
418
+ /* @__PURE__ */ m("div", { className: "grid min-h-0 flex-1 gap-20 overflow-hidden xl:grid-cols-[420px_minmax(0,1fr)]", children: [
419
+ /* @__PURE__ */ t("div", { className: "min-h-0", children: /* @__PURE__ */ t(
420
+ Fe,
421
+ {
422
+ activeSection: c,
423
+ presetOptions: H,
424
+ selectedMode: re,
425
+ selectedPresetKey: ie,
426
+ settings: E,
427
+ resetVersion: B,
428
+ onSectionChange: fe,
429
+ onPaletteValueChange: $,
430
+ onPaletteValuesChange: J,
431
+ onPaletteValueReset: q,
432
+ onPaletteValuesReset: Y,
433
+ onPresetKeyChange: X,
434
+ onPresetModeChange: ee
435
+ }
436
+ ) }),
437
+ /* @__PURE__ */ t("div", { className: "flex min-h-0 min-w-0 overflow-hidden", children: /* @__PURE__ */ t(
438
+ Ne,
439
+ {
440
+ activeSection: c,
441
+ settings: E
442
+ }
443
+ ) })
444
+ ] })
445
+ ]
446
+ }
447
+ )
441
448
  }
442
449
  );
443
450
  }, "ThemePreviewDialog");
444
451
  export {
445
- hn as ThemePreviewDialog
452
+ fn as ThemePreviewDialog
446
453
  };
447
454
  //# sourceMappingURL=ThemePreviewDialog.js.map