@alpaca-editor/core 1.0.3992 → 1.0.3993
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/config.js +0 -12
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +6 -3
- package/dist/editor/ContentTree.d.ts +2 -1
- package/dist/editor/ContentTree.js +2 -2
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/ItemInfo.js +1 -1
- package/dist/editor/ItemInfo.js.map +1 -1
- package/dist/editor/field-types/InternalLinkFieldEditor.js +20 -25
- package/dist/editor/field-types/InternalLinkFieldEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditor.d.ts +2 -2
- package/dist/editor/field-types/RichTextEditor.js +15 -2
- package/dist/editor/field-types/RichTextEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.d.ts +5 -5
- package/dist/editor/field-types/RichTextEditorComponent.js +40 -51
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/TreeListEditor.js +7 -5
- package/dist/editor/field-types/TreeListEditor.js.map +1 -1
- package/dist/editor/field-types/richtext/components/EditorDropdown.d.ts +11 -0
- package/dist/editor/field-types/richtext/components/EditorDropdown.js +96 -0
- package/dist/editor/field-types/richtext/components/EditorDropdown.js.map +1 -0
- package/dist/editor/field-types/richtext/components/ReactSlate.d.ts +5 -0
- package/dist/editor/field-types/richtext/components/ReactSlate.js +558 -0
- package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -0
- package/dist/editor/field-types/richtext/components/ToolbarButton.d.ts +3 -0
- package/dist/editor/field-types/richtext/components/ToolbarButton.js +13 -0
- package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -0
- package/dist/editor/field-types/richtext/config/pluginFactory.d.ts +17 -0
- package/dist/editor/field-types/richtext/config/pluginFactory.js +14 -0
- package/dist/editor/field-types/richtext/config/pluginFactory.js.map +1 -0
- package/dist/editor/field-types/richtext/hooks/useProfileCache.d.ts +68 -0
- package/dist/editor/field-types/richtext/hooks/useProfileCache.js +208 -0
- package/dist/editor/field-types/richtext/hooks/useProfileCache.js.map +1 -0
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.d.ts +25 -0
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js +64 -0
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js.map +1 -0
- package/dist/editor/field-types/richtext/index.d.ts +5 -0
- package/dist/editor/field-types/richtext/index.js +6 -0
- package/dist/editor/field-types/richtext/index.js.map +1 -0
- package/dist/editor/field-types/richtext/types.d.ts +139 -0
- package/dist/editor/field-types/richtext/types.js +107 -0
- package/dist/editor/field-types/richtext/types.js.map +1 -0
- package/dist/editor/field-types/richtext/utils/conversion.d.ts +5 -0
- package/dist/editor/field-types/richtext/utils/conversion.js +539 -0
- package/dist/editor/field-types/richtext/utils/conversion.js.map +1 -0
- package/dist/editor/field-types/richtext/utils/plugins.d.ts +97 -0
- package/dist/editor/field-types/richtext/utils/plugins.js +272 -0
- package/dist/editor/field-types/richtext/utils/plugins.js.map +1 -0
- package/dist/editor/field-types/richtext/utils/profileMapper.d.ts +38 -0
- package/dist/editor/field-types/richtext/utils/profileMapper.js +366 -0
- package/dist/editor/field-types/richtext/utils/profileMapper.js.map +1 -0
- package/dist/editor/field-types/richtext/utils/profileServiceCache.d.ts +37 -0
- package/dist/editor/field-types/richtext/utils/profileServiceCache.js +117 -0
- package/dist/editor/field-types/richtext/utils/profileServiceCache.js.map +1 -0
- package/dist/editor/services/contentService.d.ts +8 -0
- package/dist/editor/services/contentService.js +3 -0
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +7 -1
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/ui/PerfectTree.d.ts +4 -2
- package/dist/editor/ui/PerfectTree.js +16 -7
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/editor/utils/itemutils.js +3 -1
- package/dist/editor/utils/itemutils.js.map +1 -1
- package/dist/editor/views/ItemEditor.js +10 -3
- package/dist/editor/views/ItemEditor.js.map +1 -1
- package/dist/page-wizard/steps/ContentStep.js +1 -3
- package/dist/page-wizard/steps/ContentStep.js.map +1 -1
- package/dist/page-wizard/steps/usePageCreator.js +1 -1
- package/dist/page-wizard/steps/usePageCreator.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/styles.css +9 -0
- package/package.json +4 -1
- package/src/config/config.tsx +0 -12
- package/src/config/types.ts +6 -3
- package/src/editor/ContentTree.tsx +3 -0
- package/src/editor/ItemInfo.tsx +2 -2
- package/src/editor/field-types/InternalLinkFieldEditor.tsx +73 -69
- package/src/editor/field-types/RichTextEditor.tsx +31 -3
- package/src/editor/field-types/RichTextEditorComponent.tsx +52 -69
- package/src/editor/field-types/TreeListEditor.tsx +7 -7
- package/src/editor/field-types/richtext/components/EditorDropdown.tsx +180 -0
- package/src/editor/field-types/richtext/components/ReactSlate.css +163 -0
- package/src/editor/field-types/richtext/components/ReactSlate.tsx +792 -0
- package/src/editor/field-types/richtext/components/ToolbarButton.tsx +23 -0
- package/src/editor/field-types/richtext/config/pluginFactory.tsx +22 -0
- package/src/editor/field-types/richtext/hooks/useProfileCache.ts +270 -0
- package/src/editor/field-types/richtext/hooks/useRichTextProfile.ts +94 -0
- package/src/editor/field-types/richtext/index.ts +5 -0
- package/src/editor/field-types/richtext/types.ts +269 -0
- package/src/editor/field-types/richtext/utils/conversion.ts +589 -0
- package/src/editor/field-types/richtext/utils/plugins.ts +346 -0
- package/src/editor/field-types/richtext/utils/profileMapper.ts +424 -0
- package/src/editor/field-types/richtext/utils/profileServiceCache.ts +154 -0
- package/src/editor/services/contentService.ts +12 -0
- package/src/editor/sidebar/ComponentTree.tsx +12 -1
- package/src/editor/ui/PerfectTree.tsx +19 -6
- package/src/editor/utils/{itemutils.ts → itemutils.tsx} +12 -12
- package/src/editor/views/ItemEditor.tsx +22 -1
- package/src/page-wizard/steps/ContentStep.tsx +1 -3
- package/src/page-wizard/steps/usePageCreator.ts +1 -0
- package/src/revision.ts +2 -2
|
@@ -37,11 +37,13 @@ export default function TreeListEditor({ field, readOnly, }) {
|
|
|
37
37
|
loadItem();
|
|
38
38
|
}, [hoveredItemId]);
|
|
39
39
|
useEffect(() => {
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
// if (
|
|
41
|
+
// editContext.lockedField?.fieldId === field.descriptor.fieldId &&
|
|
42
|
+
// editContext.lockedField.item.id == field.descriptor.item.id &&
|
|
43
|
+
// editContext.lockedField.item.language == field.descriptor.item.language &&
|
|
44
|
+
// editContext.lockedField.item.version == field.descriptor.item.version
|
|
45
|
+
// )
|
|
46
|
+
// return;
|
|
45
47
|
setValues(field.value || []);
|
|
46
48
|
}, [field.value]);
|
|
47
49
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeListEditor.js","sourceRoot":"","sources":["../../../src/editor/field-types/TreeListEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAWzC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,KAAK,EACL,QAAQ,GAIT;IACC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAEpE,EAAE,CAAC,CAAC;IACN,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,EAAE,CACH,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,CAAe,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAsB,CAAC;IACzE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAwB,CAAC;IAEvE,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC,aAAa;gBAAE,OAAO;YAC3B,MAAM,IAAI,GAAG,MAAM,WAAY,CAAC,eAAe,CAAC,OAAO,CAAC;gBACtD,EAAE,EAAE,aAAa;gBACjB,QAAQ,EAAE,WAAY,CAAC,qBAAqB,EAAE,QAAQ,IAAI,IAAI;gBAC9D,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;YACH,IAAI,IAAI;gBAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACb,
|
|
1
|
+
{"version":3,"file":"TreeListEditor.js","sourceRoot":"","sources":["../../../src/editor/field-types/TreeListEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Editor } from 'slate';
|
|
3
|
+
import { DropdownOption } from '../types';
|
|
4
|
+
declare const EditorDropdown: <T>({ options, editor, buttonStyle, label, showIconsOnly }: {
|
|
5
|
+
options: DropdownOption<T>[];
|
|
6
|
+
editor: Editor;
|
|
7
|
+
buttonStyle?: React.CSSProperties;
|
|
8
|
+
label?: string;
|
|
9
|
+
showIconsOnly?: boolean;
|
|
10
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default EditorDropdown;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useRef, useEffect } from 'react';
|
|
3
|
+
// Editor dropdown component
|
|
4
|
+
const EditorDropdown = ({ options, editor, buttonStyle, label, showIconsOnly = false }) => {
|
|
5
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
6
|
+
const dropdownRef = useRef(null);
|
|
7
|
+
const [buttonWidth, setButtonWidth] = useState(150); // Default width
|
|
8
|
+
const [menuWidth, setMenuWidth] = useState(150); // Default width
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (showIconsOnly) {
|
|
11
|
+
setButtonWidth(50);
|
|
12
|
+
setMenuWidth(150);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
// Calculate based on text length
|
|
16
|
+
const span = document.createElement('span');
|
|
17
|
+
span.style.visibility = 'hidden';
|
|
18
|
+
span.style.position = 'absolute';
|
|
19
|
+
span.style.whiteSpace = 'nowrap';
|
|
20
|
+
span.style.font = window.getComputedStyle(document.body).font;
|
|
21
|
+
document.body.appendChild(span);
|
|
22
|
+
let maxWidth = 0;
|
|
23
|
+
let longestLabelWidth = 0;
|
|
24
|
+
options.forEach(option => {
|
|
25
|
+
span.textContent = option.label || '';
|
|
26
|
+
const labelWidth = span.getBoundingClientRect().width;
|
|
27
|
+
longestLabelWidth = Math.max(longestLabelWidth, labelWidth);
|
|
28
|
+
const iconWidth = option.icon ? 24 : 0;
|
|
29
|
+
const totalWidth = labelWidth + iconWidth + 40;
|
|
30
|
+
maxWidth = Math.max(maxWidth, totalWidth);
|
|
31
|
+
});
|
|
32
|
+
// If we have a label, measure "Label: Option" format
|
|
33
|
+
if (label) {
|
|
34
|
+
span.textContent = `${label}: `;
|
|
35
|
+
const labelWidth = span.getBoundingClientRect().width;
|
|
36
|
+
const totalWidth = labelWidth + longestLabelWidth + 40;
|
|
37
|
+
maxWidth = Math.max(maxWidth, totalWidth);
|
|
38
|
+
}
|
|
39
|
+
setMenuWidth(maxWidth);
|
|
40
|
+
setButtonWidth(maxWidth);
|
|
41
|
+
document.body.removeChild(span);
|
|
42
|
+
}, [options, label, showIconsOnly]);
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
const handleClickOutside = (event) => {
|
|
45
|
+
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
46
|
+
setIsOpen(false);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
50
|
+
return () => {
|
|
51
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
52
|
+
};
|
|
53
|
+
}, []);
|
|
54
|
+
const toggleDropdown = (event) => {
|
|
55
|
+
event.preventDefault();
|
|
56
|
+
setIsOpen(!isOpen);
|
|
57
|
+
};
|
|
58
|
+
const handleSelect = (option) => (event) => {
|
|
59
|
+
event.preventDefault();
|
|
60
|
+
option.onSelect(editor, event);
|
|
61
|
+
setIsOpen(false);
|
|
62
|
+
};
|
|
63
|
+
const currentOption = options.find(option => option.isActive(editor));
|
|
64
|
+
return (_jsxs("div", { ref: dropdownRef, style: { position: 'relative', display: 'inline-block' }, children: [_jsx("button", { onMouseDown: toggleDropdown, style: {
|
|
65
|
+
padding: '5px 10px',
|
|
66
|
+
background: 'transparent',
|
|
67
|
+
border: '1px solid #ddd',
|
|
68
|
+
borderRadius: '3px',
|
|
69
|
+
cursor: 'pointer',
|
|
70
|
+
display: 'flex',
|
|
71
|
+
alignItems: 'center',
|
|
72
|
+
width: `${buttonWidth}px`,
|
|
73
|
+
justifyContent: 'space-between',
|
|
74
|
+
...buttonStyle
|
|
75
|
+
}, children: label ? (_jsxs(_Fragment, { children: [_jsxs("span", { style: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: [label, ": ", currentOption?.label] }), _jsx("span", { style: { marginLeft: '5px', flexShrink: 0 }, children: "\u25BC" })] })) : showIconsOnly ? (_jsxs(_Fragment, { children: [_jsx("span", { style: { display: 'flex', alignItems: 'center' }, children: currentOption?.icon }), _jsx("span", { style: { marginLeft: '5px', flexShrink: 0 }, children: "\u25BC" })] })) : (_jsxs(_Fragment, { children: [_jsxs("span", { style: { display: 'flex', alignItems: 'center' }, children: [currentOption?.icon && (_jsx("span", { style: { marginRight: '8px', flexShrink: 0 }, children: currentOption.icon })), _jsx("span", { style: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: currentOption?.label })] }), _jsx("span", { style: { marginLeft: '5px', flexShrink: 0 }, children: "\u25BC" })] })) }), isOpen && (_jsx("div", { style: {
|
|
76
|
+
position: 'absolute',
|
|
77
|
+
top: '100%',
|
|
78
|
+
left: 0,
|
|
79
|
+
zIndex: 1000,
|
|
80
|
+
background: 'white',
|
|
81
|
+
border: '1px solid #ddd',
|
|
82
|
+
borderRadius: '3px',
|
|
83
|
+
boxShadow: '0 2px 5px rgba(0,0,0,0.2)',
|
|
84
|
+
width: `${menuWidth}px`
|
|
85
|
+
}, children: options.map((option, index) => (_jsxs("div", { onMouseDown: handleSelect(option), style: {
|
|
86
|
+
padding: '8px 12px',
|
|
87
|
+
cursor: 'pointer',
|
|
88
|
+
backgroundColor: option.isActive(editor) ? '#f0f0f0' : 'transparent',
|
|
89
|
+
fontWeight: option.isActive(editor) ? 'bold' : 'normal',
|
|
90
|
+
display: 'flex',
|
|
91
|
+
alignItems: 'center',
|
|
92
|
+
...option.style
|
|
93
|
+
}, children: [option.icon && _jsx("span", { style: { marginRight: '8px', flexShrink: 0 }, children: option.icon }), _jsx("span", { style: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: option.label })] }, index))) }))] }));
|
|
94
|
+
};
|
|
95
|
+
export default EditorDropdown;
|
|
96
|
+
//# sourceMappingURL=EditorDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditorDropdown.js","sourceRoot":"","sources":["../../../../../src/editor/field-types/richtext/components/EditorDropdown.tsx"],"names":[],"mappings":"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"}
|