@delmaredigital/payload-puck 0.6.1 → 0.6.3

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 (66) hide show
  1. package/README.md +133 -19
  2. package/dist/editor/PuckEditor.d.ts +20 -1
  3. package/dist/editor/PuckEditor.d.ts.map +1 -1
  4. package/dist/editor/PuckEditor.js +4 -2
  5. package/dist/editor/PuckEditor.js.map +1 -1
  6. package/dist/editor/PuckEditorImpl.client.d.ts +20 -1
  7. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
  8. package/dist/editor/PuckEditorImpl.client.js +17 -7
  9. package/dist/editor/PuckEditorImpl.client.js.map +1 -1
  10. package/dist/editor/components/DarkModeStyles.d.ts +30 -0
  11. package/dist/editor/components/DarkModeStyles.d.ts.map +1 -0
  12. package/dist/editor/components/DarkModeStyles.js +157 -0
  13. package/dist/editor/components/DarkModeStyles.js.map +1 -0
  14. package/dist/editor/components/HeaderActions.d.ts +13 -0
  15. package/dist/editor/components/HeaderActions.d.ts.map +1 -1
  16. package/dist/editor/components/HeaderActions.js +3 -2
  17. package/dist/editor/components/HeaderActions.js.map +1 -1
  18. package/dist/editor/components/IframeWrapper.d.ts +7 -0
  19. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  20. package/dist/editor/components/IframeWrapper.js +21 -8
  21. package/dist/editor/components/IframeWrapper.js.map +1 -1
  22. package/dist/editor/components/PreviewModeToggle.d.ts +32 -0
  23. package/dist/editor/components/PreviewModeToggle.d.ts.map +1 -0
  24. package/dist/editor/components/PreviewModeToggle.js +67 -0
  25. package/dist/editor/components/PreviewModeToggle.js.map +1 -0
  26. package/dist/editor/hooks/useDarkMode.d.ts +37 -0
  27. package/dist/editor/hooks/useDarkMode.d.ts.map +1 -0
  28. package/dist/editor/hooks/useDarkMode.js +80 -0
  29. package/dist/editor/hooks/useDarkMode.js.map +1 -0
  30. package/dist/editor/index.d.ts +3 -0
  31. package/dist/editor/index.d.ts.map +1 -1
  32. package/dist/editor/index.js +3 -0
  33. package/dist/editor/index.js.map +1 -1
  34. package/dist/endpoints/styles.d.ts +1 -0
  35. package/dist/endpoints/styles.d.ts.map +1 -1
  36. package/dist/endpoints/styles.js +33 -11
  37. package/dist/endpoints/styles.js.map +1 -1
  38. package/dist/fields/MediaField.d.ts.map +1 -1
  39. package/dist/fields/MediaField.js +4 -2
  40. package/dist/fields/MediaField.js.map +1 -1
  41. package/dist/layouts/index.d.ts +1 -1
  42. package/dist/layouts/index.d.ts.map +1 -1
  43. package/dist/layouts/index.js +1 -1
  44. package/dist/layouts/index.js.map +1 -1
  45. package/dist/layouts/types.d.ts +14 -2
  46. package/dist/layouts/types.d.ts.map +1 -1
  47. package/dist/layouts/utils.d.ts +35 -0
  48. package/dist/layouts/utils.d.ts.map +1 -1
  49. package/dist/layouts/utils.js +37 -0
  50. package/dist/layouts/utils.js.map +1 -1
  51. package/dist/next/index.d.ts +65 -0
  52. package/dist/next/index.d.ts.map +1 -0
  53. package/dist/next/index.js +160 -0
  54. package/dist/next/index.js.map +1 -0
  55. package/dist/plugin/index.d.ts.map +1 -1
  56. package/dist/plugin/index.js +10 -2
  57. package/dist/plugin/index.js.map +1 -1
  58. package/dist/render/index.d.ts +1 -0
  59. package/dist/render/index.d.ts.map +1 -1
  60. package/dist/render/index.js +2 -0
  61. package/dist/render/index.js.map +1 -1
  62. package/dist/types/index.d.ts +21 -0
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/dist/version.d.ts +1 -1
  65. package/dist/version.js +1 -1
  66. package/package.json +9 -1
@@ -0,0 +1,157 @@
1
+ 'use client';
2
+ import { useEffect } from 'react';
3
+ import { useDarkMode } from '../hooks/useDarkMode';
4
+ /**
5
+ * Dark mode CSS to inject. This contains all Puck color variable overrides.
6
+ * We inline this rather than importing a CSS file to avoid build complexity.
7
+ */
8
+ const DARK_MODE_CSS = `
9
+ /**
10
+ * Puck Editor Dark Mode CSS Overrides
11
+ *
12
+ * Puck's UI is always light-themed (no built-in dark mode).
13
+ * When Payload CMS is in dark mode, we need to ensure Puck's
14
+ * form inputs remain readable (dark text on light background).
15
+ *
16
+ * This CSS forces light-mode text colors in Puck UI elements
17
+ * to prevent white-on-white text when Payload is in dark mode.
18
+ */
19
+
20
+ /* Force dark text in all Puck form inputs and UI elements */
21
+ .dark [class*="Puck"],
22
+ .dark [class*="puck-"],
23
+ [data-theme="dark"] [class*="Puck"],
24
+ [data-theme="dark"] [class*="puck-"] {
25
+ /* Reset text color inheritance from Payload's dark mode */
26
+ color: #1f2937;
27
+ }
28
+
29
+ /* Ensure form inputs have dark text */
30
+ .dark [class*="Puck"] input,
31
+ .dark [class*="Puck"] textarea,
32
+ .dark [class*="Puck"] select,
33
+ .dark [class*="puck-"] input,
34
+ .dark [class*="puck-"] textarea,
35
+ .dark [class*="puck-"] select,
36
+ [data-theme="dark"] [class*="Puck"] input,
37
+ [data-theme="dark"] [class*="Puck"] textarea,
38
+ [data-theme="dark"] [class*="Puck"] select,
39
+ [data-theme="dark"] [class*="puck-"] input,
40
+ [data-theme="dark"] [class*="puck-"] textarea,
41
+ [data-theme="dark"] [class*="puck-"] select {
42
+ color: #1f2937 !important;
43
+ background-color: #ffffff !important;
44
+ }
45
+
46
+ /* Ensure labels and text in Puck panels are dark */
47
+ .dark [class*="Puck"] label,
48
+ .dark [class*="Puck"] span,
49
+ .dark [class*="Puck"] p,
50
+ .dark [class*="puck-"] label,
51
+ .dark [class*="puck-"] span,
52
+ .dark [class*="puck-"] p,
53
+ [data-theme="dark"] [class*="Puck"] label,
54
+ [data-theme="dark"] [class*="Puck"] span,
55
+ [data-theme="dark"] [class*="Puck"] p,
56
+ [data-theme="dark"] [class*="puck-"] label,
57
+ [data-theme="dark"] [class*="puck-"] span,
58
+ [data-theme="dark"] [class*="puck-"] p {
59
+ color: #1f2937;
60
+ }
61
+
62
+ /* Ensure buttons maintain proper styling */
63
+ .dark [class*="Puck"] button,
64
+ .dark [class*="puck-"] button,
65
+ [data-theme="dark"] [class*="Puck"] button,
66
+ [data-theme="dark"] [class*="puck-"] button {
67
+ color: inherit;
68
+ }
69
+
70
+ /* Fix placeholder text */
71
+ .dark [class*="Puck"] input::placeholder,
72
+ .dark [class*="Puck"] textarea::placeholder,
73
+ .dark [class*="puck-"] input::placeholder,
74
+ .dark [class*="puck-"] textarea::placeholder,
75
+ [data-theme="dark"] [class*="Puck"] input::placeholder,
76
+ [data-theme="dark"] [class*="Puck"] textarea::placeholder,
77
+ [data-theme="dark"] [class*="puck-"] input::placeholder,
78
+ [data-theme="dark"] [class*="puck-"] textarea::placeholder {
79
+ color: #9ca3af !important;
80
+ }
81
+
82
+ /* Ensure headings in Puck are visible */
83
+ .dark [class*="Puck"] h1,
84
+ .dark [class*="Puck"] h2,
85
+ .dark [class*="Puck"] h3,
86
+ .dark [class*="Puck"] h4,
87
+ .dark [class*="puck-"] h1,
88
+ .dark [class*="puck-"] h2,
89
+ .dark [class*="puck-"] h3,
90
+ .dark [class*="puck-"] h4,
91
+ [data-theme="dark"] [class*="Puck"] h1,
92
+ [data-theme="dark"] [class*="Puck"] h2,
93
+ [data-theme="dark"] [class*="Puck"] h3,
94
+ [data-theme="dark"] [class*="Puck"] h4,
95
+ [data-theme="dark"] [class*="puck-"] h1,
96
+ [data-theme="dark"] [class*="puck-"] h2,
97
+ [data-theme="dark"] [class*="puck-"] h3,
98
+ [data-theme="dark"] [class*="puck-"] h4 {
99
+ color: #1f2937;
100
+ }
101
+ `.trim();
102
+ const STYLE_ID = 'puck-dark-mode-styles';
103
+ /**
104
+ * Injects dark mode CSS overrides for Puck when dark mode is detected.
105
+ *
106
+ * This component uses the useDarkMode hook to detect when PayloadCMS admin
107
+ * is in dark mode (via .dark class) or when OS preference is dark mode.
108
+ * It then injects/removes the CSS overrides accordingly.
109
+ *
110
+ * @example
111
+ * ```tsx
112
+ * function MyEditor() {
113
+ * return (
114
+ * <>
115
+ * <DarkModeStyles />
116
+ * <Puck ... />
117
+ * </>
118
+ * )
119
+ * }
120
+ * ```
121
+ */
122
+ export function DarkModeStyles({ forceEnabled }) {
123
+ const { isDarkMode } = useDarkMode();
124
+ // Determine if we should inject styles
125
+ const shouldInject = forceEnabled ?? isDarkMode;
126
+ useEffect(() => {
127
+ if (typeof document === 'undefined')
128
+ return;
129
+ // Check if style element already exists
130
+ let styleElement = document.getElementById(STYLE_ID);
131
+ if (shouldInject) {
132
+ // Inject styles if not already present
133
+ if (!styleElement) {
134
+ styleElement = document.createElement('style');
135
+ styleElement.id = STYLE_ID;
136
+ styleElement.textContent = DARK_MODE_CSS;
137
+ document.head.appendChild(styleElement);
138
+ }
139
+ }
140
+ else {
141
+ // Remove styles if present
142
+ if (styleElement) {
143
+ styleElement.remove();
144
+ }
145
+ }
146
+ // Cleanup on unmount
147
+ return () => {
148
+ const el = document.getElementById(STYLE_ID);
149
+ if (el) {
150
+ el.remove();
151
+ }
152
+ };
153
+ }, [shouldInject]);
154
+ // This component doesn't render anything
155
+ return null;
156
+ }
157
+ //# sourceMappingURL=DarkModeStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DarkModeStyles.js","sourceRoot":"","sources":["../../../src/editor/components/DarkModeStyles.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD;;;GAGG;AACH,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FrB,CAAC,IAAI,EAAE,CAAA;AAER,MAAM,QAAQ,GAAG,uBAAuB,CAAA;AAYxC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,YAAY,EAAuB;IAClE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAA;IAEpC,uCAAuC;IACvC,MAAM,YAAY,GAAG,YAAY,IAAI,UAAU,CAAA;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAM;QAE3C,wCAAwC;QACxC,IAAI,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAA4B,CAAA;QAE/E,IAAI,YAAY,EAAE,CAAC;YACjB,uCAAuC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;gBAC9C,YAAY,CAAC,EAAE,GAAG,QAAQ,CAAA;gBAC1B,YAAY,CAAC,WAAW,GAAG,aAAa,CAAA;gBACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,MAAM,EAAE,CAAA;YACvB,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,OAAO,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;YAC5C,IAAI,EAAE,EAAE,CAAC;gBACP,EAAE,CAAC,MAAM,EAAE,CAAA;YACb,CAAC;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,yCAAyC;IACzC,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -103,6 +103,19 @@ export interface HeaderActionsProps {
103
103
  * Handler to dismiss the error message
104
104
  */
105
105
  onDismissError?: () => void;
106
+ /**
107
+ * Whether to show the preview dark mode toggle
108
+ * @default false
109
+ */
110
+ showPreviewDarkModeToggle?: boolean;
111
+ /**
112
+ * Current state of preview dark mode
113
+ */
114
+ previewDarkMode?: boolean;
115
+ /**
116
+ * Handler for toggling preview dark mode
117
+ */
118
+ onPreviewDarkModeChange?: (isDarkMode: boolean) => void;
106
119
  }
107
120
  /**
108
121
  * Custom header actions component for the Puck editor
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderActions.d.ts","sourceRoot":"","sources":["../../../src/editor/components/HeaderActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAA;AAC7E,OAAO,EAAiB,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAoB3D,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB;;OAEG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IACtC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAkMD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,0DA0RxB,CAAA"}
1
+ {"version":3,"file":"HeaderActions.d.ts","sourceRoot":"","sources":["../../../src/editor/components/HeaderActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAA;AAC7E,OAAO,EAAiB,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAqB3D,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB;;OAEG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IACtC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAI3B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;CACxD;AAkMD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,0DAsSxB,CAAA"}
@@ -4,6 +4,7 @@ import { memo, useCallback } from 'react';
4
4
  import { createUsePuck } from '@puckeditor/core';
5
5
  import { ArrowLeft, Save, ExternalLink, Loader2, Check, MousePointerClick, MousePointer, Upload, AlertTriangle, Eye, } from 'lucide-react';
6
6
  import { VersionHistory } from './VersionHistory.js';
7
+ import { PreviewModeToggle } from './PreviewModeToggle.js';
7
8
  import { VERSION } from '../../version.js';
8
9
  // Create usePuck hook for accessing editor state
9
10
  const usePuck = createUsePuck();
@@ -204,7 +205,7 @@ const styles = {
204
205
  * Provides standard actions: Back, Edit/Interactive toggle, View Page, Save Draft
205
206
  * Also displays save status and last saved time.
206
207
  */
207
- export const HeaderActions = memo(function HeaderActions({ children, onBack, onPreview, onSave, onPublish, onUnpublish, isSaving, hasUnsavedChanges, lastSaved, documentStatus, wasPublished, actionsStart, actionsEnd, showSaveDraft = true, showViewPage = true, showInteractiveToggle = false, showPreviewButton = true, onOpenPreview, showVersionHistory = true, pageId, apiEndpoint = '/api/puck/pages', saveError, onDismissError, }) {
208
+ export const HeaderActions = memo(function HeaderActions({ children, onBack, onPreview, onSave, onPublish, onUnpublish, isSaving, hasUnsavedChanges, lastSaved, documentStatus, wasPublished, actionsStart, actionsEnd, showSaveDraft = true, showViewPage = true, showInteractiveToggle = false, showPreviewButton = true, onOpenPreview, showVersionHistory = true, pageId, apiEndpoint = '/api/puck/pages', saveError, onDismissError, showPreviewDarkModeToggle = false, previewDarkMode = false, onPreviewDarkModeChange, }) {
208
209
  const appState = usePuck((s) => s.appState);
209
210
  const dispatch = usePuck((s) => s.dispatch);
210
211
  const isInteractive = appState.ui.previewMode === 'interactive';
@@ -248,7 +249,7 @@ export const HeaderActions = memo(function HeaderActions({ children, onBack, onP
248
249
  }, children: [_jsx(MousePointer, { style: styles.iconSmall }), "Edit"] }), _jsxs("button", { type: "button", onClick: () => !isInteractive && togglePreviewMode(), style: {
249
250
  ...styles.toggleButton,
250
251
  ...(isInteractive ? styles.toggleActive : styles.toggleInactive),
251
- }, children: [_jsx(MousePointerClick, { style: styles.iconSmall }), "Interactive"] })] })), lastSaved && !saveError && (_jsxs("span", { style: styles.statusText, children: [_jsx(Check, { style: { width: '12px', height: '12px', flexShrink: 0 } }), "Saved ", lastSaved.toLocaleTimeString()] })), hasUnsavedChanges && !saveError && (_jsx("span", { style: styles.unsavedText, children: "Unsaved" })), saveError && (_jsxs("button", { type: "button", onClick: () => { }, style: styles.errorButton, children: [_jsx(AlertTriangle, { style: { width: '16px', height: '16px', color: 'var(--theme-error-500)', flexShrink: 0 } }), "Error"] })), saveError && (_jsx("div", { style: styles.modalOverlay, onClick: onDismissError, children: _jsxs("div", { style: styles.modalContainer, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { style: styles.modalHeader, children: [_jsx("div", { style: styles.modalIconWrapper, children: _jsx(AlertTriangle, { style: { width: '20px', height: '20px', color: 'var(--theme-error-600)' } }) }), _jsxs("div", { children: [_jsx("h3", { style: styles.modalTitle, children: "Save Failed" }), _jsx("p", { style: styles.modalSubtitle, children: "Unable to save your changes" })] })] }), _jsx("div", { style: styles.modalBody, children: _jsx("p", { style: styles.modalBodyText, children: saveError }) }), _jsx("div", { style: styles.modalFooter, children: _jsx("button", { type: "button", onClick: onDismissError, style: { ...styles.buttonBase, ...styles.buttonPrimary }, children: "Close" }) })] }) })), showPreviewButton && onOpenPreview && (_jsxs("button", { type: "button", onClick: onOpenPreview, disabled: isSaving, style: {
252
+ }, children: [_jsx(MousePointerClick, { style: styles.iconSmall }), "Interactive"] })] })), showPreviewDarkModeToggle && onPreviewDarkModeChange && (_jsx(PreviewModeToggle, { isDarkMode: previewDarkMode, onToggle: onPreviewDarkModeChange, disabled: isSaving })), lastSaved && !saveError && (_jsxs("span", { style: styles.statusText, children: [_jsx(Check, { style: { width: '12px', height: '12px', flexShrink: 0 } }), "Saved ", lastSaved.toLocaleTimeString()] })), hasUnsavedChanges && !saveError && (_jsx("span", { style: styles.unsavedText, children: "Unsaved" })), saveError && (_jsxs("button", { type: "button", onClick: () => { }, style: styles.errorButton, children: [_jsx(AlertTriangle, { style: { width: '16px', height: '16px', color: 'var(--theme-error-500)', flexShrink: 0 } }), "Error"] })), saveError && (_jsx("div", { style: styles.modalOverlay, onClick: onDismissError, children: _jsxs("div", { style: styles.modalContainer, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { style: styles.modalHeader, children: [_jsx("div", { style: styles.modalIconWrapper, children: _jsx(AlertTriangle, { style: { width: '20px', height: '20px', color: 'var(--theme-error-600)' } }) }), _jsxs("div", { children: [_jsx("h3", { style: styles.modalTitle, children: "Save Failed" }), _jsx("p", { style: styles.modalSubtitle, children: "Unable to save your changes" })] })] }), _jsx("div", { style: styles.modalBody, children: _jsx("p", { style: styles.modalBodyText, children: saveError }) }), _jsx("div", { style: styles.modalFooter, children: _jsx("button", { type: "button", onClick: onDismissError, style: { ...styles.buttonBase, ...styles.buttonPrimary }, children: "Close" }) })] }) })), showPreviewButton && onOpenPreview && (_jsxs("button", { type: "button", onClick: onOpenPreview, disabled: isSaving, style: {
252
253
  ...styles.buttonBase,
253
254
  ...styles.buttonPrimary,
254
255
  ...(isSaving ? styles.buttonDisabled : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderActions.js","sourceRoot":"","sources":["../../../src/editor/components/HeaderActions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HeaderActions.js","sourceRoot":"","sources":["../../../src/editor/components/HeaderActions.tsx"],"names":[],"mappings":"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"}
@@ -61,6 +61,13 @@ export interface IframeWrapperProps {
61
61
  * Useful for CSS variables or style overrides.
62
62
  */
63
63
  editorCss?: string;
64
+ /**
65
+ * Override the layout's dark mode setting for the preview.
66
+ * When true, forces dark mode in the preview iframe.
67
+ * When false, forces light mode in the preview iframe.
68
+ * When undefined, uses the layout's editorDarkMode setting.
69
+ */
70
+ previewDarkModeOverride?: boolean;
64
71
  }
65
72
  /**
66
73
  * Theme-aware iframe wrapper component
@@ -1 +1 @@
1
- {"version":3,"file":"IframeWrapper.d.ts","sourceRoot":"","sources":["../../../src/editor/components/IframeWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsC,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAA;AAE9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAMrD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAaD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAUD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,aAAa,0DA+TxB,CAAA"}
1
+ {"version":3,"file":"IframeWrapper.d.ts","sourceRoot":"","sources":["../../../src/editor/components/IframeWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsC,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAA;AAE9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAMrD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAaD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAUD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,aAAa,0DAqVxB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { memo, useEffect, useMemo, useState } from 'react';
4
4
  import { createUsePuck } from '@puckeditor/core';
5
5
  import { backgroundValueToCSS } from '../../fields/shared';
@@ -36,7 +36,7 @@ const DEFAULT_LAYOUT_CONFIG = {
36
36
  * }
37
37
  * ```
38
38
  */
39
- export const IframeWrapper = memo(function IframeWrapper({ children, document: iframeDoc, layouts, layoutStyles, layoutKey = 'pageLayout', defaultLayout = 'default', editorStylesheets, editorCss, }) {
39
+ export const IframeWrapper = memo(function IframeWrapper({ children, document: iframeDoc, layouts, layoutStyles, layoutKey = 'pageLayout', defaultLayout = 'default', editorStylesheets, editorCss, previewDarkModeOverride, }) {
40
40
  const appState = usePuck((s) => s.appState);
41
41
  // Track stylesheet loading state to force re-render when styles are ready
42
42
  const [stylesLoaded, setStylesLoaded] = useState(false);
@@ -94,15 +94,20 @@ export const IframeWrapper = memo(function IframeWrapper({ children, document: i
94
94
  }
95
95
  body.style.backgroundAttachment = 'fixed';
96
96
  body.style.minHeight = '100vh';
97
- // Apply theme class for dark/light mode
98
- if (layoutConfig.isDark) {
97
+ // Apply theme class and data-theme attribute for dark/light mode
98
+ // Supports both patterns: CSS classes (.dark/.light) and data attributes ([data-theme='dark'])
99
+ // previewDarkModeOverride takes precedence over layoutConfig.isDark
100
+ const isDark = previewDarkModeOverride ?? layoutConfig.isDark;
101
+ if (isDark) {
99
102
  html.classList.add('dark');
100
103
  html.classList.remove('light');
104
+ html.setAttribute('data-theme', 'dark');
101
105
  body.style.color = '#ffffff';
102
106
  }
103
107
  else {
104
108
  html.classList.remove('dark');
105
109
  html.classList.add('light');
110
+ html.setAttribute('data-theme', 'light');
106
111
  body.style.color = '#1f2937'; // gray-800
107
112
  }
108
113
  // Inject external stylesheets (Tailwind CSS, CSS variables, etc.)
@@ -117,6 +122,10 @@ export const IframeWrapper = memo(function IframeWrapper({ children, document: i
117
122
  setStylesLoaded(true);
118
123
  }
119
124
  };
125
+ // Get origin for resolving relative URLs
126
+ // Puck's iframe may use srcdoc which doesn't have a proper base URL,
127
+ // so relative paths like '/api/puck/styles' won't resolve correctly
128
+ const origin = typeof window !== 'undefined' ? window.location.origin : '';
120
129
  editorStylesheets.forEach((href, index) => {
121
130
  const linkId = `puck-editor-stylesheet-${index}`;
122
131
  const existingLink = iframeDoc.getElementById(linkId);
@@ -125,7 +134,8 @@ export const IframeWrapper = memo(function IframeWrapper({ children, document: i
125
134
  const link = iframeDoc.createElement('link');
126
135
  link.id = linkId;
127
136
  link.rel = 'stylesheet';
128
- link.href = href;
137
+ // Resolve relative URLs to absolute URLs for iframe compatibility
138
+ link.href = href.startsWith('/') ? `${origin}${href}` : href;
129
139
  // Track when stylesheet loads
130
140
  link.onload = checkAllLoaded;
131
141
  link.onerror = checkAllLoaded; // Count errors too to avoid hanging
@@ -275,7 +285,7 @@ export const IframeWrapper = memo(function IframeWrapper({ children, document: i
275
285
  `;
276
286
  iframeDoc.head.appendChild(style);
277
287
  }
278
- }, [iframeDoc, layoutConfig, pageBackground, editorStylesheets, editorCss, stylesLoaded]);
288
+ }, [iframeDoc, layoutConfig, pageBackground, editorStylesheets, editorCss, stylesLoaded, previewDarkModeOverride]);
279
289
  // Get header/footer components from layout config
280
290
  const LayoutHeader = layoutConfig.header;
281
291
  const LayoutFooter = layoutConfig.footer;
@@ -306,8 +316,11 @@ export const IframeWrapper = memo(function IframeWrapper({ children, document: i
306
316
  const headerFooterStyle = isInteractive
307
317
  ? {}
308
318
  : { pointerEvents: 'none' };
309
- return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', minHeight: '100vh' }, children: [shouldShowHeader && LayoutHeader && (_jsx("div", { style: headerFooterStyle, children: _jsx(LayoutHeader, {}) })), _jsx("div", { style: contentStyle, children: children }), shouldShowFooter && LayoutFooter && (_jsx("div", { style: headerFooterStyle, children: _jsx(LayoutFooter, {}) }))] }));
319
+ // Use key to force re-render when styles finish loading
320
+ // This ensures Tailwind classes are applied after the stylesheet loads
321
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', minHeight: '100vh' }, children: [shouldShowHeader && LayoutHeader && (_jsx("div", { style: headerFooterStyle, children: _jsx(LayoutHeader, {}) })), _jsx("div", { style: contentStyle, children: children }), shouldShowFooter && LayoutFooter && (_jsx("div", { style: headerFooterStyle, children: _jsx(LayoutFooter, {}) }))] }, stylesLoaded ? 'styles-loaded' : 'styles-loading'));
310
322
  }
311
- return _jsx(_Fragment, { children: children });
323
+ // Use key to force re-render when styles finish loading
324
+ return (_jsx("div", { children: children }, stylesLoaded ? 'styles-loaded' : 'styles-loading'));
312
325
  });
313
326
  //# sourceMappingURL=IframeWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IframeWrapper.js","sourceRoot":"","sources":["../../../src/editor/components/IframeWrapper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IframeWrapper.js","sourceRoot":"","sources":["../../../src/editor/components/IframeWrapper.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export interface PreviewModeToggleProps {
2
+ /**
3
+ * Whether dark mode is currently enabled in the preview
4
+ */
5
+ isDarkMode: boolean;
6
+ /**
7
+ * Callback when the mode is toggled
8
+ */
9
+ onToggle: (isDarkMode: boolean) => void;
10
+ /**
11
+ * Whether the toggle is disabled
12
+ */
13
+ disabled?: boolean;
14
+ }
15
+ /**
16
+ * Toggle button for switching preview iframe between light/dark modes.
17
+ *
18
+ * This controls the preview content's dark mode independently from the
19
+ * editor UI dark mode. Useful for testing how the page looks in both modes.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * const [previewDarkMode, setPreviewDarkMode] = useState(false)
24
+ *
25
+ * <PreviewModeToggle
26
+ * isDarkMode={previewDarkMode}
27
+ * onToggle={setPreviewDarkMode}
28
+ * />
29
+ * ```
30
+ */
31
+ export declare const PreviewModeToggle: import("react").NamedExoticComponent<PreviewModeToggleProps>;
32
+ //# sourceMappingURL=PreviewModeToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviewModeToggle.d.ts","sourceRoot":"","sources":["../../../src/editor/components/PreviewModeToggle.tsx"],"names":[],"mappings":"AAwCA,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,8DAuC5B,CAAA"}
@@ -0,0 +1,67 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo } from 'react';
4
+ import { Sun, Moon } from 'lucide-react';
5
+ const styles = {
6
+ container: {
7
+ display: 'flex',
8
+ alignItems: 'center',
9
+ gap: '2px',
10
+ padding: '2px',
11
+ backgroundColor: 'var(--puck-color-grey-11, #e8e8e8)',
12
+ borderRadius: '6px',
13
+ },
14
+ button: {
15
+ display: 'flex',
16
+ alignItems: 'center',
17
+ justifyContent: 'center',
18
+ width: '28px',
19
+ height: '28px',
20
+ border: 'none',
21
+ borderRadius: '4px',
22
+ cursor: 'pointer',
23
+ transition: 'background-color 0.15s, color 0.15s',
24
+ },
25
+ buttonActive: {
26
+ backgroundColor: 'var(--puck-color-white, #ffffff)',
27
+ color: 'var(--puck-color-grey-02, #3d3d3d)',
28
+ boxShadow: '0 1px 2px rgba(0, 0, 0, 0.05)',
29
+ },
30
+ buttonInactive: {
31
+ backgroundColor: 'transparent',
32
+ color: 'var(--puck-color-grey-05, #8f8f8f)',
33
+ },
34
+ icon: {
35
+ width: '14px',
36
+ height: '14px',
37
+ },
38
+ };
39
+ /**
40
+ * Toggle button for switching preview iframe between light/dark modes.
41
+ *
42
+ * This controls the preview content's dark mode independently from the
43
+ * editor UI dark mode. Useful for testing how the page looks in both modes.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * const [previewDarkMode, setPreviewDarkMode] = useState(false)
48
+ *
49
+ * <PreviewModeToggle
50
+ * isDarkMode={previewDarkMode}
51
+ * onToggle={setPreviewDarkMode}
52
+ * />
53
+ * ```
54
+ */
55
+ export const PreviewModeToggle = memo(function PreviewModeToggle({ isDarkMode, onToggle, disabled = false, }) {
56
+ return (_jsxs("div", { style: {
57
+ ...styles.container,
58
+ ...(disabled ? { opacity: 0.5, pointerEvents: 'none' } : {}),
59
+ }, title: "Toggle preview dark/light mode", children: [_jsx("button", { type: "button", onClick: () => onToggle(false), style: {
60
+ ...styles.button,
61
+ ...(!isDarkMode ? styles.buttonActive : styles.buttonInactive),
62
+ }, "aria-label": "Light mode preview", "aria-pressed": !isDarkMode, children: _jsx(Sun, { style: styles.icon }) }), _jsx("button", { type: "button", onClick: () => onToggle(true), style: {
63
+ ...styles.button,
64
+ ...(isDarkMode ? styles.buttonActive : styles.buttonInactive),
65
+ }, "aria-label": "Dark mode preview", "aria-pressed": isDarkMode, children: _jsx(Moon, { style: styles.icon }) })] }));
66
+ });
67
+ //# sourceMappingURL=PreviewModeToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviewModeToggle.js","sourceRoot":"","sources":["../../../src/editor/components/PreviewModeToggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,EAAsB,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,MAAM,GAAG;IACb,SAAS,EAAE;QACT,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,oCAAoC;QACrD,YAAY,EAAE,KAAK;KACH;IAClB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,qCAAqC;KACjC;IAClB,YAAY,EAAE;QACZ,eAAe,EAAE,kCAAkC;QACnD,KAAK,EAAE,oCAAoC;QAC3C,SAAS,EAAE,+BAA+B;KAC1B;IAClB,cAAc,EAAE;QACd,eAAe,EAAE,aAAa;QAC9B,KAAK,EAAE,oCAAoC;KAC3B;IAClB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;KACE;CACnB,CAAA;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,iBAAiB,CAAC,EAC/D,UAAU,EACV,QAAQ,EACR,QAAQ,GAAG,KAAK,GACO;IACvB,OAAO,CACL,eACE,KAAK,EAAE;YACL,GAAG,MAAM,CAAC,SAAS;YACnB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,EACD,KAAK,EAAC,gCAAgC,aAEtC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,KAAK,EAAE;oBACL,GAAG,MAAM,CAAC,MAAM;oBAChB,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;iBAC/D,gBACU,oBAAoB,kBACjB,CAAC,UAAU,YAEzB,KAAC,GAAG,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAI,GACpB,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7B,KAAK,EAAE;oBACL,GAAG,MAAM,CAAC,MAAM;oBAChB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;iBAC9D,gBACU,mBAAmB,kBAChB,UAAU,YAExB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAI,GACrB,IACL,CACP,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Source of dark mode detection
3
+ */
4
+ export type DarkModeSource = 'class' | 'media-query' | 'none';
5
+ /**
6
+ * Return type for useDarkMode hook
7
+ */
8
+ export interface UseDarkModeReturn {
9
+ /**
10
+ * Whether dark mode is currently active
11
+ */
12
+ isDarkMode: boolean;
13
+ /**
14
+ * How dark mode was detected
15
+ */
16
+ source: DarkModeSource;
17
+ }
18
+ /**
19
+ * Detects dark mode state from PayloadCMS admin or OS preferences.
20
+ *
21
+ * Detection priority:
22
+ * 1. `.dark` class on `document.documentElement` (PayloadCMS admin)
23
+ * 2. `prefers-color-scheme: dark` media query (OS preference)
24
+ *
25
+ * Uses MutationObserver to track class changes in real-time.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * const { isDarkMode, source } = useDarkMode()
30
+ *
31
+ * if (isDarkMode) {
32
+ * // Apply dark mode styles
33
+ * }
34
+ * ```
35
+ */
36
+ export declare function useDarkMode(): UseDarkModeReturn;
37
+ //# sourceMappingURL=useDarkMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDarkMode.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useDarkMode.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,CAAA;AAE7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,IAAI,iBAAiB,CAqE/C"}