@squaredr/fieldcraft-pro 1.6.2 → 1.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.
|
@@ -1048,6 +1048,24 @@ function ThemeEditorInner({
|
|
|
1048
1048
|
const [showComparison, setShowComparison] = useState(false);
|
|
1049
1049
|
const themeRef = useRef(theme);
|
|
1050
1050
|
themeRef.current = theme;
|
|
1051
|
+
const hasInitialTheme = useRef(initialTheme != null);
|
|
1052
|
+
useEffect(() => {
|
|
1053
|
+
if (hasInitialTheme.current) return;
|
|
1054
|
+
if (typeof window === "undefined") return;
|
|
1055
|
+
const observer = new MutationObserver(() => {
|
|
1056
|
+
requestAnimationFrame(() => {
|
|
1057
|
+
const resolved = resolveThemeFromDOM();
|
|
1058
|
+
setTheme(resolved);
|
|
1059
|
+
setPresetKey("custom");
|
|
1060
|
+
onChange?.(resolved);
|
|
1061
|
+
});
|
|
1062
|
+
});
|
|
1063
|
+
observer.observe(document.documentElement, {
|
|
1064
|
+
attributes: true,
|
|
1065
|
+
attributeFilter: ["data-theme", "class"]
|
|
1066
|
+
});
|
|
1067
|
+
return () => observer.disconnect();
|
|
1068
|
+
}, [onChange]);
|
|
1051
1069
|
useEffect(() => {
|
|
1052
1070
|
function handleKeyDown(e) {
|
|
1053
1071
|
if ((e.metaKey || e.ctrlKey) && e.key === "s") {
|
package/dist/index.js
CHANGED
|
@@ -8544,6 +8544,24 @@ function ThemeEditorInner({
|
|
|
8544
8544
|
const [showComparison, setShowComparison] = react.useState(false);
|
|
8545
8545
|
const themeRef = react.useRef(theme);
|
|
8546
8546
|
themeRef.current = theme;
|
|
8547
|
+
const hasInitialTheme = react.useRef(initialTheme != null);
|
|
8548
|
+
react.useEffect(() => {
|
|
8549
|
+
if (hasInitialTheme.current) return;
|
|
8550
|
+
if (typeof window === "undefined") return;
|
|
8551
|
+
const observer = new MutationObserver(() => {
|
|
8552
|
+
requestAnimationFrame(() => {
|
|
8553
|
+
const resolved = resolveThemeFromDOM();
|
|
8554
|
+
setTheme(resolved);
|
|
8555
|
+
setPresetKey("custom");
|
|
8556
|
+
onChange?.(resolved);
|
|
8557
|
+
});
|
|
8558
|
+
});
|
|
8559
|
+
observer.observe(document.documentElement, {
|
|
8560
|
+
attributes: true,
|
|
8561
|
+
attributeFilter: ["data-theme", "class"]
|
|
8562
|
+
});
|
|
8563
|
+
return () => observer.disconnect();
|
|
8564
|
+
}, [onChange]);
|
|
8547
8565
|
react.useEffect(() => {
|
|
8548
8566
|
function handleKeyDown(e) {
|
|
8549
8567
|
if ((e.metaKey || e.ctrlKey) && e.key === "s") {
|
|
@@ -8848,7 +8866,7 @@ var themeEditorDarkPreset = {
|
|
|
8848
8866
|
// src/index.ts
|
|
8849
8867
|
if (typeof globalThis !== "undefined" && typeof globalThis.process !== "undefined" && globalThis.process.env?.NODE_ENV !== "production") {
|
|
8850
8868
|
const _fc_banner = `
|
|
8851
|
-
%c FieldCraft Pro %c v1.6.
|
|
8869
|
+
%c FieldCraft Pro %c v1.6.3
|
|
8852
8870
|
|
|
8853
8871
|
%cForm Builder \xB7 Response Viewer \xB7 Theme Editor
|
|
8854
8872
|
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { DEFAULT_PALETTE, DEFAULT_SCHEMA, FormBuilder, FormBuilderThemeProvider, QUESTION_TYPE_INFO, addOption, addQuestion, addSection, duplicateQuestion, duplicateSection, findQuestion, findSection, generateId, generateOptionId, generateQuestionId, generateSectionId, moveOption, moveQuestion, moveSection, removeOption, removeQuestion, removeSection, updateOption, updateQuestion, updateSection, useBuilderState, useBuilderTheme, useDragDrop, useUndoRedo } from './chunk-ANBMT5AW.mjs';
|
|
2
2
|
export { ResponseViewer } from './chunk-5LKGCZAW.mjs';
|
|
3
3
|
export { cn } from './chunk-QQ4JZGTD.mjs';
|
|
4
|
-
export { PRESET_FAMILIES, PREVIEW_SCHEMA, ThemeEditor, ThemeEditorInner, ThemeEditorThemeProvider, resolveThemeFromDOM, themeEditorDarkPreset, themeEditorLightPreset, useEditorTheme } from './chunk-
|
|
4
|
+
export { PRESET_FAMILIES, PREVIEW_SCHEMA, ThemeEditor, ThemeEditorInner, ThemeEditorThemeProvider, resolveThemeFromDOM, themeEditorDarkPreset, themeEditorLightPreset, useEditorTheme } from './chunk-AXCQWATI.mjs';
|
|
5
5
|
export { FieldCraftProProvider, UnlicensedOverlay, isProductionEnvironment, requireLicense, useLicense, validateLicense } from './chunk-VECQKSWS.mjs';
|
|
6
6
|
import { useState, useEffect, Suspense } from 'react';
|
|
7
7
|
import { FieldWrapper } from '@squaredr/fieldcraft-react';
|
|
@@ -277,7 +277,7 @@ var PRO_FIELD_OVERRIDES = {
|
|
|
277
277
|
// src/index.ts
|
|
278
278
|
if (typeof globalThis !== "undefined" && typeof globalThis.process !== "undefined" && globalThis.process.env?.NODE_ENV !== "production") {
|
|
279
279
|
const _fc_banner = `
|
|
280
|
-
%c FieldCraft Pro %c v1.6.
|
|
280
|
+
%c FieldCraft Pro %c v1.6.3
|
|
281
281
|
|
|
282
282
|
%cForm Builder \xB7 Response Viewer \xB7 Theme Editor
|
|
283
283
|
|
|
@@ -1372,6 +1372,24 @@ function ThemeEditorInner({
|
|
|
1372
1372
|
const [showComparison, setShowComparison] = react.useState(false);
|
|
1373
1373
|
const themeRef = react.useRef(theme);
|
|
1374
1374
|
themeRef.current = theme;
|
|
1375
|
+
const hasInitialTheme = react.useRef(initialTheme != null);
|
|
1376
|
+
react.useEffect(() => {
|
|
1377
|
+
if (hasInitialTheme.current) return;
|
|
1378
|
+
if (typeof window === "undefined") return;
|
|
1379
|
+
const observer = new MutationObserver(() => {
|
|
1380
|
+
requestAnimationFrame(() => {
|
|
1381
|
+
const resolved = resolveThemeFromDOM();
|
|
1382
|
+
setTheme(resolved);
|
|
1383
|
+
setPresetKey("custom");
|
|
1384
|
+
onChange?.(resolved);
|
|
1385
|
+
});
|
|
1386
|
+
});
|
|
1387
|
+
observer.observe(document.documentElement, {
|
|
1388
|
+
attributes: true,
|
|
1389
|
+
attributeFilter: ["data-theme", "class"]
|
|
1390
|
+
});
|
|
1391
|
+
return () => observer.disconnect();
|
|
1392
|
+
}, [onChange]);
|
|
1375
1393
|
react.useEffect(() => {
|
|
1376
1394
|
function handleKeyDown(e) {
|
|
1377
1395
|
if ((e.metaKey || e.ctrlKey) && e.key === "s") {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { PRESET_FAMILIES, PREVIEW_SCHEMA, ThemeEditor, ThemeEditorInner, ThemeEditorThemeProvider, resolveThemeFromDOM, themeEditorDarkPreset, themeEditorLightPreset, useEditorTheme } from '../chunk-
|
|
1
|
+
export { PRESET_FAMILIES, PREVIEW_SCHEMA, ThemeEditor, ThemeEditorInner, ThemeEditorThemeProvider, resolveThemeFromDOM, themeEditorDarkPreset, themeEditorLightPreset, useEditorTheme } from '../chunk-AXCQWATI.mjs';
|
|
2
2
|
import '../chunk-VECQKSWS.mjs';
|
package/package.json
CHANGED