@textbus/xnote 0.2.3 → 0.2.5
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/bundles/components/color-picker/color-picker.d.ts +1 -0
- package/bundles/components/dropdown/dropdown.d.ts +1 -0
- package/bundles/index.css +2 -2
- package/bundles/index.esm.css +2 -2
- package/bundles/index.esm.js +275 -242
- package/bundles/index.js +275 -241
- package/bundles/plugins/tools/_api.d.ts +2 -1
- package/bundles/plugins/tools/_common/tool.service.d.ts +1 -0
- package/bundles/plugins/tools/text-background-color.tool.d.ts +11 -0
- package/bundles/plugins/tools/{color.tool.d.ts → text-color.tool.d.ts} +2 -2
- package/package.json +5 -5
package/bundles/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var Katex = require('katex');
|
|
|
14
14
|
var adapterViewfly = require('@textbus/adapter-viewfly');
|
|
15
15
|
var collaborate = require('@textbus/collaborate');
|
|
16
16
|
|
|
17
|
-
var scopedId$
|
|
17
|
+
var scopedId$q = "vf-7d288d";
|
|
18
18
|
|
|
19
19
|
/******************************************************************************
|
|
20
20
|
Copyright (c) Microsoft Corporation.
|
|
@@ -147,7 +147,7 @@ function Button(props) {
|
|
|
147
147
|
subscription.unsubscribe();
|
|
148
148
|
});
|
|
149
149
|
}
|
|
150
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
150
|
+
return scopedCss.withScopedCSS(scopedId$q, () => {
|
|
151
151
|
return (jsxRuntime.jsxs("button", Object.assign({ type: "button" }, props, { class: [
|
|
152
152
|
'btn',
|
|
153
153
|
{
|
|
@@ -159,7 +159,7 @@ function Button(props) {
|
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
var scopedId$
|
|
162
|
+
var scopedId$p = "vf-d552b9";
|
|
163
163
|
|
|
164
164
|
class Picker {
|
|
165
165
|
set hex(color$1) {
|
|
@@ -271,7 +271,6 @@ class Picker {
|
|
|
271
271
|
this.hex = value || '#f00';
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
|
-
const recentColors = core.createSignal([]);
|
|
275
274
|
function ColorPicker(props) {
|
|
276
275
|
const instance = core.getCurrentInstance();
|
|
277
276
|
const picker = new Picker(() => {
|
|
@@ -288,6 +287,7 @@ function ColorPicker(props) {
|
|
|
288
287
|
'#f63030', '#f88933', '#deb12a', '#038e23', '#1276cc', '#3f52ce', '#8838ed',
|
|
289
288
|
'#c60000', '#d86912', '#b88811', '#086508', '#144c93', '#1b2eaa', '#6117bf',
|
|
290
289
|
];
|
|
290
|
+
const recentColors = core.createSignal(props.recentColors || []);
|
|
291
291
|
function addRecentColor() {
|
|
292
292
|
const color = picker.hex;
|
|
293
293
|
if (!color) {
|
|
@@ -448,7 +448,7 @@ function ColorPicker(props) {
|
|
|
448
448
|
props.onSelected(picker);
|
|
449
449
|
addRecentColor();
|
|
450
450
|
}
|
|
451
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
451
|
+
return scopedCss.withScopedCSS(scopedId$p, () => {
|
|
452
452
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
453
453
|
return (jsxRuntime.jsxs("div", { onMousedown: ev => {
|
|
454
454
|
ev.stopPropagation();
|
|
@@ -467,7 +467,7 @@ function ColorPicker(props) {
|
|
|
467
467
|
return (jsxRuntime.jsx("div", { "data-color": color, style: {
|
|
468
468
|
background: color
|
|
469
469
|
} }));
|
|
470
|
-
}) }), jsxRuntime.jsx("div", { class: "xnote-color-picker-recent-text", children: "\
|
|
470
|
+
}) }), jsxRuntime.jsx("div", { class: "xnote-color-picker-recent-text", children: "\u5E38\u7528\u989C\u8272" }), jsxRuntime.jsx("div", { class: "xnote-color-picker-swatches", style: "height: 25px;", children: Array.from({ length: 7 }).map((_, index) => {
|
|
471
471
|
const colors = recentColors();
|
|
472
472
|
const color = colors[index] || '';
|
|
473
473
|
return (jsxRuntime.jsx("div", { "data-color": color || 'unknown', style: {
|
|
@@ -499,10 +499,10 @@ function ColorPicker(props) {
|
|
|
499
499
|
});
|
|
500
500
|
}
|
|
501
501
|
|
|
502
|
-
var scopedId$
|
|
502
|
+
var scopedId$o = "vf-ac7e8d";
|
|
503
503
|
|
|
504
504
|
function ComponentToolbar(props) {
|
|
505
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
505
|
+
return scopedCss.withScopedCSS(scopedId$o, () => {
|
|
506
506
|
return (jsxRuntime.jsx("div", { class: "component-toolbar", style: props.style, children: jsxRuntime.jsx("div", { class: [
|
|
507
507
|
'toolbar',
|
|
508
508
|
{
|
|
@@ -512,15 +512,15 @@ function ComponentToolbar(props) {
|
|
|
512
512
|
});
|
|
513
513
|
}
|
|
514
514
|
|
|
515
|
-
var scopedId$
|
|
515
|
+
var scopedId$n = "vf-ede279";
|
|
516
516
|
|
|
517
517
|
function Divider() {
|
|
518
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
518
|
+
return scopedCss.withScopedCSS(scopedId$n, () => {
|
|
519
519
|
return jsxRuntime.jsx("div", { class: "divider" });
|
|
520
520
|
});
|
|
521
521
|
}
|
|
522
522
|
|
|
523
|
-
var scopedId$
|
|
523
|
+
var scopedId$m = "vf-d91ad6";
|
|
524
524
|
|
|
525
525
|
function DragResize(props) {
|
|
526
526
|
const isShow = core.createSignal(false);
|
|
@@ -629,16 +629,16 @@ function DragResize(props) {
|
|
|
629
629
|
});
|
|
630
630
|
}
|
|
631
631
|
const sizeText = core.createSignal(`${component.state.width}*${component.state.height}`);
|
|
632
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
632
|
+
return scopedCss.withScopedCSS(scopedId$m, () => {
|
|
633
633
|
return (jsxRuntime.jsxs("div", { class: "drag-resize", onClick: selectComponent, children: [jsxRuntime.jsx("div", { class: "container", ref: ref, children: props.children }), jsxRuntime.jsxs("div", { class: ['resize-tool', {
|
|
634
634
|
active: isShow()
|
|
635
635
|
}], children: [jsxRuntime.jsx("div", { class: "mask", ref: mask, children: sizeText() }), jsxRuntime.jsxs("div", { class: "btn-group", ref: btnGroup, onMousedown: drag, children: [jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" })] })] })] }));
|
|
636
636
|
});
|
|
637
637
|
}
|
|
638
638
|
|
|
639
|
-
var scopedId$
|
|
639
|
+
var scopedId$l = "vf-cd482d";
|
|
640
640
|
|
|
641
|
-
var scopedId$
|
|
641
|
+
var scopedId$k = "vf-8a05e9";
|
|
642
642
|
|
|
643
643
|
const DropdownMenuContainer = new core.InjectionToken('DropdownMenuContainer');
|
|
644
644
|
const DropdownMenuPortal = core.withAnnotation({
|
|
@@ -743,7 +743,7 @@ const DropdownMenuPortal = core.withAnnotation({
|
|
|
743
743
|
function stopPropagation(ev) {
|
|
744
744
|
ev.stopPropagation();
|
|
745
745
|
}
|
|
746
|
-
return platformBrowser$1.createPortal(scopedCss.withScopedCSS(scopedId$
|
|
746
|
+
return platformBrowser$1.createPortal(scopedCss.withScopedCSS(scopedId$k, () => {
|
|
747
747
|
return (jsxRuntime.jsx("div", { onMouseenter: onEnter, onMousedown: stopPropagation, onMouseleave: onLeave, ref: menuRef, style: {
|
|
748
748
|
width: props.width
|
|
749
749
|
}, class: "dropdown-menu", children: jsxRuntime.jsx("div", { class: "dropdown-menu-content", style: {
|
|
@@ -770,6 +770,7 @@ const Dropdown = core.withAnnotation({
|
|
|
770
770
|
};
|
|
771
771
|
const triggerRef = core.createRef();
|
|
772
772
|
const dropdownRef = core.createRef();
|
|
773
|
+
const arrowRef = core.createRef();
|
|
773
774
|
core.onMounted(() => {
|
|
774
775
|
const sub = dropdownContextService.onOpenStateChange.subscribe(b => {
|
|
775
776
|
var _a;
|
|
@@ -787,9 +788,10 @@ const Dropdown = core.withAnnotation({
|
|
|
787
788
|
subscription.add(core$1.fromEvent(triggerRef.current, 'click').subscribe(toggle));
|
|
788
789
|
return;
|
|
789
790
|
}
|
|
791
|
+
const el = props.arrow ? arrowRef.current : dropdownRef.current;
|
|
790
792
|
let leaveSub;
|
|
791
793
|
const bindLeave = function () {
|
|
792
|
-
leaveSub = core$1.fromEvent(
|
|
794
|
+
leaveSub = core$1.fromEvent(el, 'mouseleave').subscribe(() => {
|
|
793
795
|
if (props.disabled) {
|
|
794
796
|
return;
|
|
795
797
|
}
|
|
@@ -797,7 +799,7 @@ const Dropdown = core.withAnnotation({
|
|
|
797
799
|
});
|
|
798
800
|
};
|
|
799
801
|
bindLeave();
|
|
800
|
-
subscription.add(core$1.fromEvent(
|
|
802
|
+
subscription.add(core$1.fromEvent(el, 'mouseenter').subscribe(() => {
|
|
801
803
|
if (props.disabled) {
|
|
802
804
|
return;
|
|
803
805
|
}
|
|
@@ -820,8 +822,10 @@ const Dropdown = core.withAnnotation({
|
|
|
820
822
|
dropdownContextService.hide(false);
|
|
821
823
|
}
|
|
822
824
|
},
|
|
823
|
-
$render: scopedCss.withScopedCSS(scopedId$
|
|
824
|
-
return (jsxRuntime.jsxs("div", { class: ['dropdown', props.class], style: props.style, ref: dropdownRef, children: [jsxRuntime.jsxs("div", { class: "dropdown-btn", ref: triggerRef, children: [jsxRuntime.jsx("div", { class:
|
|
825
|
+
$render: scopedCss.withScopedCSS(scopedId$l, () => {
|
|
826
|
+
return (jsxRuntime.jsxs("div", { class: ['dropdown', props.class], style: props.style, ref: dropdownRef, children: [jsxRuntime.jsxs("div", { class: "dropdown-btn", ref: triggerRef, children: [jsxRuntime.jsx("div", { class: ['dropdown-btn-inner', {
|
|
827
|
+
'has-arrow': props.arrow
|
|
828
|
+
}], children: props.children }), props.arrow && jsxRuntime.jsx("div", { ref: arrowRef, class: "dropdown-btn-arrow", children: jsxRuntime.jsx(Button, { arrow: true }) })] }), isShow() &&
|
|
825
829
|
jsxRuntime.jsx(DropdownMenuPortal, { toLeft: props.toLeft, padding: props.padding, noTrigger: props.trigger === 'none', width: props.width, abreast: props.abreast, triggerRef: triggerRef, children: Array.isArray(props.menu) ?
|
|
826
830
|
props.menu.map(menu => {
|
|
827
831
|
return (jsxRuntime.jsx("div", { class: "dropdown-menu-item", onClick: () => {
|
|
@@ -837,7 +841,7 @@ const Dropdown = core.withAnnotation({
|
|
|
837
841
|
};
|
|
838
842
|
});
|
|
839
843
|
|
|
840
|
-
var scopedId$
|
|
844
|
+
var scopedId$j = "vf-c32a7b";
|
|
841
845
|
|
|
842
846
|
function Keymap(props) {
|
|
843
847
|
const arr = [];
|
|
@@ -871,20 +875,20 @@ function Keymap(props) {
|
|
|
871
875
|
arr.push(jsxRuntime.jsx("span", { children: keymap.key }));
|
|
872
876
|
}
|
|
873
877
|
}
|
|
874
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
878
|
+
return scopedCss.withScopedCSS(scopedId$j, () => {
|
|
875
879
|
return (jsxRuntime.jsx("span", { class: "keymap", children: arr }));
|
|
876
880
|
});
|
|
877
881
|
}
|
|
878
882
|
|
|
879
|
-
var scopedId$
|
|
883
|
+
var scopedId$i = "vf-acaa5f";
|
|
880
884
|
|
|
881
885
|
function MenuHeading(props) {
|
|
882
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
886
|
+
return scopedCss.withScopedCSS(scopedId$i, () => {
|
|
883
887
|
return (jsxRuntime.jsx("div", { class: "menu-heading", children: props.children }));
|
|
884
888
|
});
|
|
885
889
|
}
|
|
886
890
|
|
|
887
|
-
var scopedId$
|
|
891
|
+
var scopedId$h = "vf-c3b9dc";
|
|
888
892
|
|
|
889
893
|
function MenuItem(props) {
|
|
890
894
|
const dropdownContextService = core.inject(exports.DropdownContextService, null);
|
|
@@ -904,7 +908,7 @@ function MenuItem(props) {
|
|
|
904
908
|
}
|
|
905
909
|
(_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, props.value);
|
|
906
910
|
}
|
|
907
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
911
|
+
return scopedCss.withScopedCSS(scopedId$h, () => {
|
|
908
912
|
return (jsxRuntime.jsxs("div", { class: ['menu-item', { disabled: props.disabled, active: props.arrow && isActive() }], onClick: click, children: [jsxRuntime.jsxs("div", { class: "menu-item-content", children: [jsxRuntime.jsxs("div", { children: [props.icon && jsxRuntime.jsx("span", { class: "menu-icon", children: props.icon }), props.children] }), jsxRuntime.jsx("div", { children: props.desc })] }), props.arrow ?
|
|
909
913
|
jsxRuntime.jsx("div", { class: "arrow", children: jsxRuntime.jsx("span", { class: "xnote-icon-arrow-right" }) }) :
|
|
910
914
|
jsxRuntime.jsx("div", { class: [
|
|
@@ -914,11 +918,11 @@ function MenuItem(props) {
|
|
|
914
918
|
});
|
|
915
919
|
}
|
|
916
920
|
|
|
917
|
-
var scopedId$
|
|
921
|
+
var scopedId$g = "vf-a23c47";
|
|
918
922
|
|
|
919
923
|
function Popup(props) {
|
|
920
924
|
const host = core.inject(platformBrowser.VIEW_CONTAINER);
|
|
921
|
-
return platformBrowser$1.createPortal(scopedCss.withScopedCSS(scopedId$
|
|
925
|
+
return platformBrowser$1.createPortal(scopedCss.withScopedCSS(scopedId$g, () => {
|
|
922
926
|
return (jsxRuntime.jsx("div", { class: "popup", style: {
|
|
923
927
|
left: props.left + 'px',
|
|
924
928
|
top: props.top + 'px'
|
|
@@ -926,15 +930,15 @@ function Popup(props) {
|
|
|
926
930
|
}), host);
|
|
927
931
|
}
|
|
928
932
|
|
|
929
|
-
var scopedId$
|
|
933
|
+
var scopedId$f = "vf-cd4d99";
|
|
930
934
|
|
|
931
935
|
function ToolbarItem(props) {
|
|
932
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
936
|
+
return scopedCss.withScopedCSS(scopedId$f, () => {
|
|
933
937
|
return (jsxRuntime.jsx("div", { class: "toolbar-item", children: props.children }));
|
|
934
938
|
});
|
|
935
939
|
}
|
|
936
940
|
|
|
937
|
-
var scopedId$
|
|
941
|
+
var scopedId$e = "vf-2a8a65";
|
|
938
942
|
|
|
939
943
|
exports.RefreshService = class RefreshService {
|
|
940
944
|
constructor() {
|
|
@@ -2235,17 +2239,111 @@ function registerTextIndentShortcut(textbus) {
|
|
|
2235
2239
|
});
|
|
2236
2240
|
}
|
|
2237
2241
|
|
|
2242
|
+
class ImageComponent extends core$1.Component {
|
|
2243
|
+
static fromJSON(textbus, json) {
|
|
2244
|
+
return new ImageComponent(textbus, Object.assign({}, json));
|
|
2245
|
+
}
|
|
2246
|
+
getSlots() {
|
|
2247
|
+
return [];
|
|
2248
|
+
}
|
|
2249
|
+
}
|
|
2250
|
+
ImageComponent.type = core$1.ContentType.InlineComponent;
|
|
2251
|
+
ImageComponent.componentName = 'ImageComponent';
|
|
2252
|
+
function ImageView(props) {
|
|
2253
|
+
const { name, state } = props.component;
|
|
2254
|
+
const imageRef = core.createRef();
|
|
2255
|
+
const readonly = useReadonly();
|
|
2256
|
+
const output = useOutput();
|
|
2257
|
+
return () => {
|
|
2258
|
+
if (readonly() || output()) {
|
|
2259
|
+
return (jsxRuntime.jsx("div", { class: "xnote-image", ref: props.rootRef, "data-component": name, children: jsxRuntime.jsx("img", { alt: "", src: state.src, style: {
|
|
2260
|
+
width: state.width,
|
|
2261
|
+
height: state.height
|
|
2262
|
+
} }) }));
|
|
2263
|
+
}
|
|
2264
|
+
return (jsxRuntime.jsx("div", { class: "xnote-image", ref: props.rootRef, "data-component": name, children: jsxRuntime.jsx(DragResize, { source: imageRef, component: props.component, children: jsxRuntime.jsx("img", { alt: "", ref: imageRef, src: state.src, style: {
|
|
2265
|
+
width: state.width,
|
|
2266
|
+
height: state.height
|
|
2267
|
+
} }) }) }));
|
|
2268
|
+
};
|
|
2269
|
+
}
|
|
2270
|
+
const imageComponentLoader = {
|
|
2271
|
+
match(element) {
|
|
2272
|
+
return element.tagName === 'IMG' || element.dataset.component === ImageComponent.componentName;
|
|
2273
|
+
},
|
|
2274
|
+
read(element, textbus) {
|
|
2275
|
+
const img = element instanceof HTMLImageElement ? element : (element.querySelector('img') || document.createElement('img'));
|
|
2276
|
+
return new ImageComponent(textbus, {
|
|
2277
|
+
src: img.src,
|
|
2278
|
+
width: img.style.width || 'auto',
|
|
2279
|
+
height: img.style.height || 'auto'
|
|
2280
|
+
});
|
|
2281
|
+
}
|
|
2282
|
+
};
|
|
2283
|
+
|
|
2284
|
+
class VideoComponent extends core$1.Component {
|
|
2285
|
+
static fromJSON(textbus, json) {
|
|
2286
|
+
return new VideoComponent(textbus, Object.assign({}, json));
|
|
2287
|
+
}
|
|
2288
|
+
getSlots() {
|
|
2289
|
+
return [];
|
|
2290
|
+
}
|
|
2291
|
+
}
|
|
2292
|
+
VideoComponent.type = core$1.ContentType.InlineComponent;
|
|
2293
|
+
VideoComponent.componentName = 'VideoComponent';
|
|
2294
|
+
function VideoView(props) {
|
|
2295
|
+
const { name, state } = props.component;
|
|
2296
|
+
const videoRef = core.createRef();
|
|
2297
|
+
const readonly = useReadonly();
|
|
2298
|
+
const output = useOutput();
|
|
2299
|
+
return () => {
|
|
2300
|
+
if (readonly() || output()) {
|
|
2301
|
+
return (jsxRuntime.jsx("div", { class: "xnote-video", ref: props.rootRef, "data-component": name, children: jsxRuntime.jsx("video", { ref: videoRef, src: state.src, style: {
|
|
2302
|
+
width: state.width,
|
|
2303
|
+
height: state.height
|
|
2304
|
+
} }) }));
|
|
2305
|
+
}
|
|
2306
|
+
return (jsxRuntime.jsx("div", { ref: props.rootRef, class: "xnote-video", "data-component": name, children: jsxRuntime.jsx(DragResize, { source: videoRef, component: props.component, children: jsxRuntime.jsx("video", { ref: videoRef, src: state.src, style: {
|
|
2307
|
+
width: state.width,
|
|
2308
|
+
height: state.height
|
|
2309
|
+
} }) }) }));
|
|
2310
|
+
};
|
|
2311
|
+
}
|
|
2312
|
+
const videoComponentLoader = {
|
|
2313
|
+
match(element) {
|
|
2314
|
+
return element.tagName === 'VIDEO' || element.dataset.component === VideoComponent.componentName;
|
|
2315
|
+
},
|
|
2316
|
+
read(element, textbus) {
|
|
2317
|
+
const video = element instanceof HTMLVideoElement ? element : (element.querySelector('video') || document.createElement('video'));
|
|
2318
|
+
return new VideoComponent(textbus, {
|
|
2319
|
+
src: video.src,
|
|
2320
|
+
width: video.style.width || 'auto',
|
|
2321
|
+
height: video.style.height || 'auto'
|
|
2322
|
+
});
|
|
2323
|
+
}
|
|
2324
|
+
};
|
|
2325
|
+
|
|
2238
2326
|
let ToolService = class ToolService {
|
|
2239
2327
|
constructor(selection, controller) {
|
|
2240
2328
|
this.selection = selection;
|
|
2241
2329
|
this.controller = controller;
|
|
2242
2330
|
const [state, updateState] = hooks.useProduce({
|
|
2243
2331
|
inSourceCode: false,
|
|
2244
|
-
readonly: controller.readonly
|
|
2332
|
+
readonly: controller.readonly,
|
|
2333
|
+
selectEmbed: false,
|
|
2245
2334
|
});
|
|
2246
2335
|
this.state = state;
|
|
2247
2336
|
this.sub = core$1.merge(selection.onChange, controller.onReadonlyStateChange).subscribe(() => {
|
|
2337
|
+
const { startSlot, endSlot, startOffset, endOffset } = selection;
|
|
2338
|
+
let is = false;
|
|
2339
|
+
if (startSlot && startSlot === endSlot && endOffset - startOffset === 1) {
|
|
2340
|
+
const component = startSlot.getContentAtIndex(startOffset);
|
|
2341
|
+
if (component instanceof VideoComponent || component instanceof ImageComponent) {
|
|
2342
|
+
is = true;
|
|
2343
|
+
}
|
|
2344
|
+
}
|
|
2248
2345
|
updateState(draft => {
|
|
2346
|
+
draft.selectEmbed = is;
|
|
2249
2347
|
draft.readonly = controller.readonly;
|
|
2250
2348
|
draft.inSourceCode = selection.commonAncestorComponent instanceof SourceCodeComponent;
|
|
2251
2349
|
});
|
|
@@ -2343,7 +2441,7 @@ function AttrTool(props) {
|
|
|
2343
2441
|
}
|
|
2344
2442
|
}
|
|
2345
2443
|
const commonState = useCommonState();
|
|
2346
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
2444
|
+
return scopedCss.withScopedCSS(scopedId$e, () => {
|
|
2347
2445
|
const states = checkStates();
|
|
2348
2446
|
const b = commonState().inSourceCode || commonState().readonly;
|
|
2349
2447
|
return (jsxRuntime.jsx(Dropdown, { disabled: b, width: 'auto', style: props.style, abreast: props.abreast, onCheck: updateAttr, trigger: 'hover', menu: [
|
|
@@ -3634,7 +3732,7 @@ function BlockTool() {
|
|
|
3634
3732
|
const checkStates = useActiveBlock();
|
|
3635
3733
|
const transform = useBlockTransform();
|
|
3636
3734
|
const commonState = useCommonState();
|
|
3637
|
-
return scopedCss.withScopedCSS(scopedId$
|
|
3735
|
+
return scopedCss.withScopedCSS(scopedId$e, () => {
|
|
3638
3736
|
const states = checkStates();
|
|
3639
3737
|
const types = [
|
|
3640
3738
|
[states.paragraph, 'xnote-icon-pilcrow'],
|
|
@@ -4046,108 +4144,6 @@ function CodeTool() {
|
|
|
4046
4144
|
};
|
|
4047
4145
|
}
|
|
4048
4146
|
|
|
4049
|
-
var scopedId$e = "vf-accb31";
|
|
4050
|
-
|
|
4051
|
-
function ColorTool(props) {
|
|
4052
|
-
const query = core.inject(core$1.Query);
|
|
4053
|
-
const refreshService = core.inject(exports.RefreshService);
|
|
4054
|
-
const commander = core.inject(core$1.Commander);
|
|
4055
|
-
const selection = core.inject(core$1.Selection);
|
|
4056
|
-
const textColor = core.createSignal('');
|
|
4057
|
-
const backgroundColor = core.createSignal('');
|
|
4058
|
-
const [viewModel] = hooks.useProduce({
|
|
4059
|
-
highlight: false,
|
|
4060
|
-
});
|
|
4061
|
-
function updateCheckState() {
|
|
4062
|
-
if (!props.slot && !selection.isSelected) {
|
|
4063
|
-
return;
|
|
4064
|
-
}
|
|
4065
|
-
const range = props.slot ? {
|
|
4066
|
-
startSlot: props.slot,
|
|
4067
|
-
endSlot: props.slot,
|
|
4068
|
-
startOffset: 0,
|
|
4069
|
-
endOffset: props.slot.length
|
|
4070
|
-
} : {
|
|
4071
|
-
startSlot: selection.startSlot,
|
|
4072
|
-
startOffset: selection.startOffset,
|
|
4073
|
-
endSlot: selection.endSlot,
|
|
4074
|
-
endOffset: selection.endOffset
|
|
4075
|
-
};
|
|
4076
|
-
const textState = query.queryFormatByRange(colorFormatter, range);
|
|
4077
|
-
const backgroundState = query.queryFormatByRange(backgroundColorFormatter, range);
|
|
4078
|
-
textColor.set(textState.state === core$1.QueryStateType.Enabled ? textState.value : '');
|
|
4079
|
-
backgroundColor.set(backgroundState.state === core$1.QueryStateType.Enabled ? backgroundState.value : '');
|
|
4080
|
-
}
|
|
4081
|
-
const sub = refreshService.onRefresh.subscribe(() => {
|
|
4082
|
-
updateCheckState();
|
|
4083
|
-
});
|
|
4084
|
-
updateCheckState();
|
|
4085
|
-
core.onUnmounted(() => {
|
|
4086
|
-
sub.unsubscribe();
|
|
4087
|
-
});
|
|
4088
|
-
const textColors = [
|
|
4089
|
-
'#000',
|
|
4090
|
-
'#aaa',
|
|
4091
|
-
'#ff2e2e',
|
|
4092
|
-
'#ff8d45',
|
|
4093
|
-
'#ffdf14',
|
|
4094
|
-
'#5eec75',
|
|
4095
|
-
'#5dfaff',
|
|
4096
|
-
'#1296db',
|
|
4097
|
-
'#617fff',
|
|
4098
|
-
'#c459ff',
|
|
4099
|
-
'#fff',
|
|
4100
|
-
];
|
|
4101
|
-
const backgroundColors = [
|
|
4102
|
-
'#aaa',
|
|
4103
|
-
'#ef7373',
|
|
4104
|
-
'#ec9c6a',
|
|
4105
|
-
'#dccc64',
|
|
4106
|
-
'#96e3a3',
|
|
4107
|
-
'#a1e2e3',
|
|
4108
|
-
'#90a0e5',
|
|
4109
|
-
'#c596e0',
|
|
4110
|
-
];
|
|
4111
|
-
const commonState = useCommonState();
|
|
4112
|
-
return scopedCss.withScopedCSS(scopedId$e, () => {
|
|
4113
|
-
const vm = viewModel();
|
|
4114
|
-
return (jsxRuntime.jsx(Dropdown, { disabled: commonState().readonly || commonState().inSourceCode, style: props.style, width: '180px', abreast: props.abreast, trigger: 'hover', menu: jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("div", { class: "color-type", children: "\u6587\u5B57\u989C\u8272" }), jsxRuntime.jsxs("div", { class: "text-colors", children: [jsxRuntime.jsx("div", { class: {
|
|
4115
|
-
'no-background': true,
|
|
4116
|
-
active: textColor() === ''
|
|
4117
|
-
}, onClick: () => {
|
|
4118
|
-
var _a;
|
|
4119
|
-
(_a = props.applyBefore) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
4120
|
-
commander.unApplyFormat(colorFormatter);
|
|
4121
|
-
} }), textColors.map(c => {
|
|
4122
|
-
return jsxRuntime.jsx("div", { class: {
|
|
4123
|
-
active: textColor() === c
|
|
4124
|
-
}, onClick: () => {
|
|
4125
|
-
var _a;
|
|
4126
|
-
(_a = props.applyBefore) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
4127
|
-
commander.applyFormat(colorFormatter, c);
|
|
4128
|
-
}, style: { color: c }, children: "A" });
|
|
4129
|
-
})] }), jsxRuntime.jsx("div", { class: "color-type", children: "\u80CC\u666F\u989C\u8272" }), jsxRuntime.jsxs("div", { class: "background-colors", children: [jsxRuntime.jsx("div", { class: {
|
|
4130
|
-
active: backgroundColor() === '',
|
|
4131
|
-
'no-background': true
|
|
4132
|
-
}, onClick: () => {
|
|
4133
|
-
var _a;
|
|
4134
|
-
(_a = props.applyBefore) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
4135
|
-
commander.unApplyFormat(backgroundColorFormatter);
|
|
4136
|
-
} }), backgroundColors.map(c => {
|
|
4137
|
-
return jsxRuntime.jsx("div", { class: {
|
|
4138
|
-
active: backgroundColor() === c
|
|
4139
|
-
}, onClick: () => {
|
|
4140
|
-
var _a;
|
|
4141
|
-
(_a = props.applyBefore) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
4142
|
-
commander.applyFormat(backgroundColorFormatter, c);
|
|
4143
|
-
}, style: { backgroundColor: c }, children: "A" });
|
|
4144
|
-
})] })] }), children: props.children || jsxRuntime.jsx(Button, { highlight: vm.highlight, arrow: true, disabled: commonState().readonly || commonState().inSourceCode, children: jsxRuntime.jsx("span", { class: "background", children: jsxRuntime.jsx("span", { style: {
|
|
4145
|
-
backgroundColor: backgroundColor(),
|
|
4146
|
-
color: textColor()
|
|
4147
|
-
}, children: jsxRuntime.jsx("span", { class: "xnote-icon-color" }) }) }) }) }));
|
|
4148
|
-
});
|
|
4149
|
-
}
|
|
4150
|
-
|
|
4151
4147
|
const isSupportFont = (function () {
|
|
4152
4148
|
const fullbackFontName = 'Arial';
|
|
4153
4149
|
const text = 'HeRe-is*SoMe%tEst +99.? !@ #~ &^teXtWw L$VEY$U0';
|
|
@@ -4314,90 +4310,6 @@ var scopedId$d = "vf-cf8e1c";
|
|
|
4314
4310
|
class FileUploader {
|
|
4315
4311
|
}
|
|
4316
4312
|
|
|
4317
|
-
class ImageComponent extends core$1.Component {
|
|
4318
|
-
static fromJSON(textbus, json) {
|
|
4319
|
-
return new ImageComponent(textbus, Object.assign({}, json));
|
|
4320
|
-
}
|
|
4321
|
-
getSlots() {
|
|
4322
|
-
return [];
|
|
4323
|
-
}
|
|
4324
|
-
}
|
|
4325
|
-
ImageComponent.type = core$1.ContentType.InlineComponent;
|
|
4326
|
-
ImageComponent.componentName = 'ImageComponent';
|
|
4327
|
-
function ImageView(props) {
|
|
4328
|
-
const { name, state } = props.component;
|
|
4329
|
-
const imageRef = core.createRef();
|
|
4330
|
-
const readonly = useReadonly();
|
|
4331
|
-
const output = useOutput();
|
|
4332
|
-
return () => {
|
|
4333
|
-
if (readonly() || output()) {
|
|
4334
|
-
return (jsxRuntime.jsx("div", { class: "xnote-image", ref: props.rootRef, "data-component": name, children: jsxRuntime.jsx("img", { alt: "", src: state.src, style: {
|
|
4335
|
-
width: state.width,
|
|
4336
|
-
height: state.height
|
|
4337
|
-
} }) }));
|
|
4338
|
-
}
|
|
4339
|
-
return (jsxRuntime.jsx("div", { class: "xnote-image", ref: props.rootRef, "data-component": name, children: jsxRuntime.jsx(DragResize, { source: imageRef, component: props.component, children: jsxRuntime.jsx("img", { alt: "", ref: imageRef, src: state.src, style: {
|
|
4340
|
-
width: state.width,
|
|
4341
|
-
height: state.height
|
|
4342
|
-
} }) }) }));
|
|
4343
|
-
};
|
|
4344
|
-
}
|
|
4345
|
-
const imageComponentLoader = {
|
|
4346
|
-
match(element) {
|
|
4347
|
-
return element.tagName === 'IMG' || element.dataset.component === ImageComponent.componentName;
|
|
4348
|
-
},
|
|
4349
|
-
read(element, textbus) {
|
|
4350
|
-
const img = element instanceof HTMLImageElement ? element : (element.querySelector('img') || document.createElement('img'));
|
|
4351
|
-
return new ImageComponent(textbus, {
|
|
4352
|
-
src: img.src,
|
|
4353
|
-
width: img.style.width || 'auto',
|
|
4354
|
-
height: img.style.height || 'auto'
|
|
4355
|
-
});
|
|
4356
|
-
}
|
|
4357
|
-
};
|
|
4358
|
-
|
|
4359
|
-
class VideoComponent extends core$1.Component {
|
|
4360
|
-
static fromJSON(textbus, json) {
|
|
4361
|
-
return new VideoComponent(textbus, Object.assign({}, json));
|
|
4362
|
-
}
|
|
4363
|
-
getSlots() {
|
|
4364
|
-
return [];
|
|
4365
|
-
}
|
|
4366
|
-
}
|
|
4367
|
-
VideoComponent.type = core$1.ContentType.InlineComponent;
|
|
4368
|
-
VideoComponent.componentName = 'VideoComponent';
|
|
4369
|
-
function VideoView(props) {
|
|
4370
|
-
const { name, state } = props.component;
|
|
4371
|
-
const videoRef = core.createRef();
|
|
4372
|
-
const readonly = useReadonly();
|
|
4373
|
-
const output = useOutput();
|
|
4374
|
-
return () => {
|
|
4375
|
-
if (readonly() || output()) {
|
|
4376
|
-
return (jsxRuntime.jsx("div", { class: "xnote-video", ref: props.rootRef, "data-component": name, children: jsxRuntime.jsx("video", { ref: videoRef, src: state.src, style: {
|
|
4377
|
-
width: state.width,
|
|
4378
|
-
height: state.height
|
|
4379
|
-
} }) }));
|
|
4380
|
-
}
|
|
4381
|
-
return (jsxRuntime.jsx("div", { ref: props.rootRef, class: "xnote-video", "data-component": name, children: jsxRuntime.jsx(DragResize, { source: videoRef, component: props.component, children: jsxRuntime.jsx("video", { ref: videoRef, src: state.src, style: {
|
|
4382
|
-
width: state.width,
|
|
4383
|
-
height: state.height
|
|
4384
|
-
} }) }) }));
|
|
4385
|
-
};
|
|
4386
|
-
}
|
|
4387
|
-
const videoComponentLoader = {
|
|
4388
|
-
match(element) {
|
|
4389
|
-
return element.tagName === 'VIDEO' || element.dataset.component === VideoComponent.componentName;
|
|
4390
|
-
},
|
|
4391
|
-
read(element, textbus) {
|
|
4392
|
-
const video = element instanceof HTMLVideoElement ? element : (element.querySelector('video') || document.createElement('video'));
|
|
4393
|
-
return new VideoComponent(textbus, {
|
|
4394
|
-
src: video.src,
|
|
4395
|
-
width: video.style.width || 'auto',
|
|
4396
|
-
height: video.style.height || 'auto'
|
|
4397
|
-
});
|
|
4398
|
-
}
|
|
4399
|
-
};
|
|
4400
|
-
|
|
4401
4313
|
class KatexEditor extends core$1.Textbus {
|
|
4402
4314
|
constructor() {
|
|
4403
4315
|
const adapter = new adapterViewfly.ViewflyAdapter({
|
|
@@ -4941,6 +4853,100 @@ function SuperscriptTool() {
|
|
|
4941
4853
|
};
|
|
4942
4854
|
}
|
|
4943
4855
|
|
|
4856
|
+
function TextBackgroundColorTool(props) {
|
|
4857
|
+
const commander = core.inject(core$1.Commander);
|
|
4858
|
+
const color = core.createSignal('');
|
|
4859
|
+
function setColor(picker) {
|
|
4860
|
+
var _a;
|
|
4861
|
+
(_a = props.applyBefore) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
4862
|
+
const rgba = picker.rgba;
|
|
4863
|
+
if (rgba) {
|
|
4864
|
+
const c = `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`;
|
|
4865
|
+
commander.applyFormat(backgroundColorFormatter, c);
|
|
4866
|
+
color.set(c);
|
|
4867
|
+
}
|
|
4868
|
+
else {
|
|
4869
|
+
commander.unApplyFormat(backgroundColorFormatter);
|
|
4870
|
+
color.set('');
|
|
4871
|
+
}
|
|
4872
|
+
}
|
|
4873
|
+
function setCurrentColor() {
|
|
4874
|
+
if (props.slot) {
|
|
4875
|
+
return;
|
|
4876
|
+
}
|
|
4877
|
+
const c = color();
|
|
4878
|
+
if (c) {
|
|
4879
|
+
commander.applyFormat(backgroundColorFormatter, c);
|
|
4880
|
+
}
|
|
4881
|
+
else {
|
|
4882
|
+
commander.unApplyFormat(backgroundColorFormatter);
|
|
4883
|
+
}
|
|
4884
|
+
}
|
|
4885
|
+
const commonState = useCommonState();
|
|
4886
|
+
const defaultColors = [
|
|
4887
|
+
'#ef7373',
|
|
4888
|
+
'#ec9c6a',
|
|
4889
|
+
'#dccc64',
|
|
4890
|
+
'#96e3a3',
|
|
4891
|
+
'#a1e2e3',
|
|
4892
|
+
'#90a0e5',
|
|
4893
|
+
'#c596e0',
|
|
4894
|
+
];
|
|
4895
|
+
return () => {
|
|
4896
|
+
const disabled = commonState().readonly || commonState().inSourceCode || commonState().selectEmbed;
|
|
4897
|
+
return (jsxRuntime.jsx(Dropdown, { width: '177px', disabled: disabled, arrow: !props.children, abreast: props.abreast, style: props.style, menu: jsxRuntime.jsx(ColorPicker, { recentColors: defaultColors, onSelected: setColor }), trigger: 'hover', children: props.children || jsxRuntime.jsx(Button, { onClick: setCurrentColor, disabled: disabled, children: jsxRuntime.jsx("span", { style: {
|
|
4898
|
+
color: disabled ? '' : color()
|
|
4899
|
+
}, class: "xnote-icon-background-color" }) }) }));
|
|
4900
|
+
};
|
|
4901
|
+
}
|
|
4902
|
+
|
|
4903
|
+
function TextColorTool(props) {
|
|
4904
|
+
const commander = core.inject(core$1.Commander);
|
|
4905
|
+
const color = core.createSignal('#ff0000');
|
|
4906
|
+
function setColor(picker) {
|
|
4907
|
+
var _a;
|
|
4908
|
+
(_a = props.applyBefore) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
4909
|
+
const rgba = picker.rgba;
|
|
4910
|
+
if (rgba) {
|
|
4911
|
+
const c = `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`;
|
|
4912
|
+
commander.applyFormat(colorFormatter, c);
|
|
4913
|
+
color.set(c);
|
|
4914
|
+
}
|
|
4915
|
+
else {
|
|
4916
|
+
commander.unApplyFormat(colorFormatter);
|
|
4917
|
+
color.set('');
|
|
4918
|
+
}
|
|
4919
|
+
}
|
|
4920
|
+
function setCurrentColor() {
|
|
4921
|
+
if (props.slot) {
|
|
4922
|
+
return;
|
|
4923
|
+
}
|
|
4924
|
+
const c = color();
|
|
4925
|
+
if (c) {
|
|
4926
|
+
commander.applyFormat(colorFormatter, c);
|
|
4927
|
+
}
|
|
4928
|
+
else {
|
|
4929
|
+
commander.unApplyFormat(colorFormatter);
|
|
4930
|
+
}
|
|
4931
|
+
}
|
|
4932
|
+
const commonState = useCommonState();
|
|
4933
|
+
const defaultColors = [
|
|
4934
|
+
'#ff8d45',
|
|
4935
|
+
'#ffdf14',
|
|
4936
|
+
'#5eec75',
|
|
4937
|
+
'#5dfaff',
|
|
4938
|
+
'#1296db',
|
|
4939
|
+
'#617fff',
|
|
4940
|
+
'#c459ff',
|
|
4941
|
+
];
|
|
4942
|
+
return () => {
|
|
4943
|
+
const disabled = commonState().readonly || commonState().inSourceCode || commonState().selectEmbed;
|
|
4944
|
+
return (jsxRuntime.jsx(Dropdown, { arrow: !props.children, width: '177px', style: props.style, disabled: disabled, abreast: props.abreast, menu: jsxRuntime.jsx(ColorPicker, { recentColors: defaultColors, onSelected: setColor }), trigger: 'hover', children: props.children || jsxRuntime.jsx(Button, { onClick: setCurrentColor, disabled: disabled, children: jsxRuntime.jsx("span", { style: {
|
|
4945
|
+
color: disabled ? '' : color()
|
|
4946
|
+
}, class: "xnote-icon-color" }) }) }));
|
|
4947
|
+
};
|
|
4948
|
+
}
|
|
4949
|
+
|
|
4944
4950
|
function UnderlineTool() {
|
|
4945
4951
|
const query = core.inject(core$1.Query);
|
|
4946
4952
|
const refreshService = core.inject(exports.RefreshService);
|
|
@@ -4986,6 +4992,10 @@ function UndoTool() {
|
|
|
4986
4992
|
}
|
|
4987
4993
|
|
|
4988
4994
|
const cellAlignAttr = new core$1.Attribute('cellAlign', {
|
|
4995
|
+
onlySelf: true,
|
|
4996
|
+
checkHost(host) {
|
|
4997
|
+
return host.parent instanceof TableComponent;
|
|
4998
|
+
},
|
|
4989
4999
|
render(node, formatValue) {
|
|
4990
5000
|
node.styles.set('verticalAlign', formatValue);
|
|
4991
5001
|
}
|
|
@@ -5095,8 +5105,9 @@ function CellAlignTool() {
|
|
|
5095
5105
|
core.onUnmounted(() => {
|
|
5096
5106
|
subscription.unsubscribe();
|
|
5097
5107
|
});
|
|
5108
|
+
const commonState = useCommonState();
|
|
5098
5109
|
return () => {
|
|
5099
|
-
return (jsxRuntime.jsx(Dropdown, { onCheck: check, menu: [
|
|
5110
|
+
return (jsxRuntime.jsx(Dropdown, { disabled: commonState().readonly || commonState().inSourceCode, onCheck: check, menu: [
|
|
5100
5111
|
{
|
|
5101
5112
|
label: jsxRuntime.jsx(MenuItem, { checked: currentValue() === 'top', icon: jsxRuntime.jsx("span", { class: "xnote-icon-align-top" }), children: "\u9876\u90E8\u5BF9\u9F50" }),
|
|
5102
5113
|
value: 'top'
|
|
@@ -5109,11 +5120,15 @@ function CellAlignTool() {
|
|
|
5109
5120
|
label: jsxRuntime.jsx(MenuItem, { checked: currentValue() === 'bottom', icon: jsxRuntime.jsx("span", { class: "xnote-icon-align-bottom" }), children: "\u5E95\u90E8\u5BF9\u9F50" }),
|
|
5110
5121
|
value: 'bottom'
|
|
5111
5122
|
}
|
|
5112
|
-
], children: jsxRuntime.jsx(Button, { arrow: true, highlight: highlight(), children: jsxRuntime.jsx("span", { class: 'xnote-icon-align-' + (currentValue() || 'middle') }) }) }));
|
|
5123
|
+
], children: jsxRuntime.jsx(Button, { arrow: true, disabled: commonState().readonly || commonState().inSourceCode, highlight: highlight(), children: jsxRuntime.jsx("span", { class: 'xnote-icon-align-' + (currentValue() || 'middle') }) }) }));
|
|
5113
5124
|
};
|
|
5114
5125
|
}
|
|
5115
5126
|
|
|
5116
5127
|
const cellBackgroundAttr = new core$1.Attribute('cellBackground', {
|
|
5128
|
+
onlySelf: true,
|
|
5129
|
+
checkHost(host) {
|
|
5130
|
+
return host.parent instanceof TableComponent;
|
|
5131
|
+
},
|
|
5117
5132
|
render(node, formatValue) {
|
|
5118
5133
|
const rgba = color.parseCss(formatValue);
|
|
5119
5134
|
if (rgba) {
|
|
@@ -5147,7 +5162,6 @@ function CellBackgroundTool() {
|
|
|
5147
5162
|
const refreshService = core.inject(exports.RefreshService);
|
|
5148
5163
|
const selection = core.inject(core$1.Selection);
|
|
5149
5164
|
const [viewModel, update] = hooks.useProduce({
|
|
5150
|
-
highlight: false,
|
|
5151
5165
|
disabled: false,
|
|
5152
5166
|
});
|
|
5153
5167
|
function setColor(picker) {
|
|
@@ -5160,7 +5174,9 @@ function CellBackgroundTool() {
|
|
|
5160
5174
|
}).flat().forEach(slot => {
|
|
5161
5175
|
const rgba = picker.rgba;
|
|
5162
5176
|
if (rgba) {
|
|
5163
|
-
slot.setAttribute(cellBackgroundAttr, `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})
|
|
5177
|
+
slot.setAttribute(cellBackgroundAttr, `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`, s => {
|
|
5178
|
+
return slot === s;
|
|
5179
|
+
});
|
|
5164
5180
|
}
|
|
5165
5181
|
else {
|
|
5166
5182
|
slot.removeAttribute(cellBackgroundAttr);
|
|
@@ -5193,9 +5209,20 @@ function CellBackgroundTool() {
|
|
|
5193
5209
|
core.onUnmounted(() => {
|
|
5194
5210
|
sub.unsubscribe();
|
|
5195
5211
|
});
|
|
5212
|
+
const commonState = useCommonState();
|
|
5213
|
+
const defaultColors = [
|
|
5214
|
+
'#ef7373',
|
|
5215
|
+
'#ec9c6a',
|
|
5216
|
+
'#dccc64',
|
|
5217
|
+
'#96e3a3',
|
|
5218
|
+
'#a1e2e3',
|
|
5219
|
+
'#90a0e5',
|
|
5220
|
+
'#c596e0',
|
|
5221
|
+
];
|
|
5196
5222
|
return () => {
|
|
5197
5223
|
const vm = viewModel();
|
|
5198
|
-
|
|
5224
|
+
const d = vm.disabled || commonState().readonly || commonState().inSourceCode;
|
|
5225
|
+
return (jsxRuntime.jsx(Dropdown, { width: '177px', disabled: d, menu: jsxRuntime.jsx(ColorPicker, { recentColors: defaultColors, onSelected: setColor }), trigger: 'hover', children: jsxRuntime.jsx(Button, { disabled: d, children: jsxRuntime.jsx("span", { class: "xnote-icon-palette" }) }) }));
|
|
5199
5226
|
};
|
|
5200
5227
|
}
|
|
5201
5228
|
|
|
@@ -5229,9 +5256,10 @@ function MergeCellsTool() {
|
|
|
5229
5256
|
core.onUnmounted(() => {
|
|
5230
5257
|
sub.unsubscribe();
|
|
5231
5258
|
});
|
|
5259
|
+
const commonState = useCommonState();
|
|
5232
5260
|
return () => {
|
|
5233
5261
|
const vm = viewModel();
|
|
5234
|
-
return jsxRuntime.jsx(Button, { highlight: vm.highlight, disabled: vm.disabled, onClick: merge, children: jsxRuntime.jsx("span", { class: "xnote-icon-merge-cells" }) });
|
|
5262
|
+
return jsxRuntime.jsx(Button, { highlight: vm.highlight, disabled: vm.disabled || commonState().readonly || commonState().inSourceCode, onClick: merge, children: jsxRuntime.jsx("span", { class: "xnote-icon-merge-cells" }) });
|
|
5235
5263
|
};
|
|
5236
5264
|
}
|
|
5237
5265
|
|
|
@@ -5300,9 +5328,10 @@ function SplitCellsTool() {
|
|
|
5300
5328
|
core.onUnmounted(() => {
|
|
5301
5329
|
sub.unsubscribe();
|
|
5302
5330
|
});
|
|
5331
|
+
const commonState = useCommonState();
|
|
5303
5332
|
return () => {
|
|
5304
5333
|
const vm = viewModel();
|
|
5305
|
-
return jsxRuntime.jsx(Button, { highlight: vm.highlight, disabled: vm.disabled, onClick: split, children: jsxRuntime.jsx("span", { class: "xnote-icon-split-cells" }) });
|
|
5334
|
+
return jsxRuntime.jsx(Button, { highlight: vm.highlight, disabled: vm.disabled || commonState().readonly || commonState().inSourceCode, onClick: split, children: jsxRuntime.jsx("span", { class: "xnote-icon-split-cells" }) });
|
|
5306
5335
|
};
|
|
5307
5336
|
}
|
|
5308
5337
|
|
|
@@ -5406,13 +5435,7 @@ const LeftToolbar = core.withAnnotation({
|
|
|
5406
5435
|
return;
|
|
5407
5436
|
}
|
|
5408
5437
|
refreshService.onRefresh.next();
|
|
5409
|
-
})
|
|
5410
|
-
if (!selection.isCollapsed) {
|
|
5411
|
-
updatePosition(draft => {
|
|
5412
|
-
draft.display = false;
|
|
5413
|
-
});
|
|
5414
|
-
}
|
|
5415
|
-
}));
|
|
5438
|
+
});
|
|
5416
5439
|
core.onUnmounted(() => {
|
|
5417
5440
|
subscription.unsubscribe();
|
|
5418
5441
|
});
|
|
@@ -5512,7 +5535,7 @@ const LeftToolbar = core.withAnnotation({
|
|
|
5512
5535
|
return (jsxRuntime.jsx("div", { class: "left-toolbar", ref: toolbarRef, children: jsxRuntime.jsx("div", { class: "left-toolbar-btn-wrap", ref: btnRef, style: {
|
|
5513
5536
|
left: position.left + 'px',
|
|
5514
5537
|
top: position.top + 'px',
|
|
5515
|
-
display: position.display &&
|
|
5538
|
+
display: position.display && editorService.canShowLeftToolbar ? 'block' : 'none'
|
|
5516
5539
|
}, children: jsxRuntime.jsx(Dropdown, { toLeft: true, onExpendStateChange: changeIgnoreMove, abreast: true, style: {
|
|
5517
5540
|
position: 'absolute',
|
|
5518
5541
|
right: 0,
|
|
@@ -5520,7 +5543,7 @@ const LeftToolbar = core.withAnnotation({
|
|
|
5520
5543
|
}, menu: isEmptyBlock() ?
|
|
5521
5544
|
jsxRuntime.jsx(InsertMenu, { replace: !needInsert, slot: activeSlot() })
|
|
5522
5545
|
:
|
|
5523
|
-
jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { class: "btn-group", children: [jsxRuntime.jsx(Button, { ordinary: true, highlight: states.paragraph, onClick: () => transform('paragraph'), children: jsxRuntime.jsx("span", { class: "xnote-icon-pilcrow" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.h1, onClick: () => transform('h1'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h1" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.h2, onClick: () => transform('h2'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h2" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.h3, onClick: () => transform('h3'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h3" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.h4, onClick: () => transform('h4'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h4" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.todolist, onClick: () => transform('todolist'), children: jsxRuntime.jsx("span", { class: "xnote-icon-checkbox-checked" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.orderedList, onClick: () => transform('ol'), children: jsxRuntime.jsx("span", { class: "xnote-icon-list-numbered" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.unorderedList, onClick: () => transform('ul'), children: jsxRuntime.jsx("span", { class: "xnote-icon-list" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.blockquote, onClick: () => transform('blockquote'), children: jsxRuntime.jsx("span", { class: "xnote-icon-quotes-right" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.sourceCode, onClick: () => transform('sourceCode'), children: jsxRuntime.jsx("span", { class: "xnote-icon-source-code" }) })] }), jsxRuntime.jsx(Divider, {}), jsxRuntime.jsx(AttrTool, { style: { display: 'block' }, abreast: true, slot: slot, applyBefore: applyBefore, children: jsxRuntime.jsx(MenuItem, { arrow: true, icon: jsxRuntime.jsx("span", { class: "xnote-icon-indent-decrease" }), children: "\u7F29\u8FDB\u548C\u5BF9\u9F50" }) }), jsxRuntime.jsx(
|
|
5546
|
+
jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { class: "btn-group", children: [jsxRuntime.jsx(Button, { ordinary: true, highlight: states.paragraph, onClick: () => transform('paragraph'), children: jsxRuntime.jsx("span", { class: "xnote-icon-pilcrow" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.h1, onClick: () => transform('h1'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h1" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.h2, onClick: () => transform('h2'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h2" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.h3, onClick: () => transform('h3'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h3" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.h4, onClick: () => transform('h4'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h4" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.todolist, onClick: () => transform('todolist'), children: jsxRuntime.jsx("span", { class: "xnote-icon-checkbox-checked" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.orderedList, onClick: () => transform('ol'), children: jsxRuntime.jsx("span", { class: "xnote-icon-list-numbered" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.unorderedList, onClick: () => transform('ul'), children: jsxRuntime.jsx("span", { class: "xnote-icon-list" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.blockquote, onClick: () => transform('blockquote'), children: jsxRuntime.jsx("span", { class: "xnote-icon-quotes-right" }) }), jsxRuntime.jsx(Button, { ordinary: true, highlight: states.sourceCode, onClick: () => transform('sourceCode'), children: jsxRuntime.jsx("span", { class: "xnote-icon-source-code" }) })] }), jsxRuntime.jsx(Divider, {}), jsxRuntime.jsx(AttrTool, { style: { display: 'block' }, abreast: true, slot: slot, applyBefore: applyBefore, children: jsxRuntime.jsx(MenuItem, { arrow: true, icon: jsxRuntime.jsx("span", { class: "xnote-icon-indent-decrease" }), children: "\u7F29\u8FDB\u548C\u5BF9\u9F50" }) }), jsxRuntime.jsx(TextColorTool, { style: { display: 'block' }, abreast: true, applyBefore: applyBefore, children: jsxRuntime.jsx(MenuItem, { arrow: true, icon: jsxRuntime.jsx("span", { class: "xnote-icon-color" }), children: "\u6587\u672C\u989C\u8272" }) }), jsxRuntime.jsx(TextBackgroundColorTool, { style: { display: 'block' }, abreast: true, applyBefore: applyBefore, children: jsxRuntime.jsx(MenuItem, { arrow: true, icon: jsxRuntime.jsx("span", { class: "xnote-icon-background-color" }), children: "\u6587\u672C\u80CC\u666F\u989C\u8272" }) }), jsxRuntime.jsx(Divider, {}), jsxRuntime.jsx(MenuItem, { onClick: copy, icon: jsxRuntime.jsx("span", { class: "xnote-icon-copy" }), children: "\u590D\u5236" }), jsxRuntime.jsx(MenuItem, { onClick: remove, icon: jsxRuntime.jsx("span", { class: "xnote-icon-bin" }), children: "\u5220\u9664" }), jsxRuntime.jsx(MenuItem, { onClick: cut, icon: jsxRuntime.jsx("span", { class: "xnote-icon-cut" }), children: "\u526A\u5207" }), jsxRuntime.jsx(Divider, {}), jsxRuntime.jsx(Dropdown, { style: { display: 'block' }, abreast: true, menu: jsxRuntime.jsx(InsertMenu, { hideTitle: true, slot: activeSlot() }), children: jsxRuntime.jsx(MenuItem, { arrow: true, icon: jsxRuntime.jsx("span", { class: "xnote-icon-plus" }), children: "\u5728\u4E0B\u9762\u6DFB\u52A0" }) })] }), children: jsxRuntime.jsx("button", { type: "button", class: "left-toolbar-btn", children: isEmptyBlock() ?
|
|
5524
5547
|
jsxRuntime.jsx("span", { children: jsxRuntime.jsx("i", { class: "xnote-icon-plus" }) })
|
|
5525
5548
|
:
|
|
5526
5549
|
jsxRuntime.jsxs("span", { children: [activeNode, jsxRuntime.jsx("i", { style: "font-size: 12px", class: "xnote-icon-more" })] }) }) }) }) }));
|
|
@@ -5632,8 +5655,12 @@ const InlineToolbar = core.withAnnotation({
|
|
|
5632
5655
|
const textbus = core.inject(core$1.Textbus);
|
|
5633
5656
|
const editorService = core.inject(exports.EditorService);
|
|
5634
5657
|
const refreshService = core.inject(exports.RefreshService);
|
|
5635
|
-
const subscription = core$1.merge(textbus.onChange, selection.onChange).pipe(core$1.debounceTime(20)
|
|
5658
|
+
const subscription = core$1.merge(textbus.onChange, selection.onChange).pipe(core$1.debounceTime(20), core$1.tap(() => {
|
|
5636
5659
|
refreshService.onRefresh.next();
|
|
5660
|
+
}), core$1.delay(200)).subscribe(() => {
|
|
5661
|
+
if (viewPosition().isHide) {
|
|
5662
|
+
editorService.changeLeftToolbarVisible(true);
|
|
5663
|
+
}
|
|
5637
5664
|
});
|
|
5638
5665
|
core.onUnmounted(() => {
|
|
5639
5666
|
subscription.unsubscribe();
|
|
@@ -5710,12 +5737,14 @@ const InlineToolbar = core.withAnnotation({
|
|
|
5710
5737
|
const sub = textbus.onChange.pipe(core$1.debounceTime(100)).subscribe(() => {
|
|
5711
5738
|
if (!viewPosition().isHide) {
|
|
5712
5739
|
const top = getTop();
|
|
5713
|
-
if (top !== null) {
|
|
5740
|
+
if (top !== null && !selection.isCollapsed) {
|
|
5714
5741
|
updateViewPosition(draft => {
|
|
5715
5742
|
draft.top = top;
|
|
5716
5743
|
});
|
|
5744
|
+
return;
|
|
5717
5745
|
}
|
|
5718
5746
|
}
|
|
5747
|
+
editorService.changeLeftToolbarVisible(true);
|
|
5719
5748
|
});
|
|
5720
5749
|
core.onUnmounted(() => {
|
|
5721
5750
|
sub.unsubscribe();
|
|
@@ -5739,6 +5768,10 @@ const InlineToolbar = core.withAnnotation({
|
|
|
5739
5768
|
draft.opacity = 1;
|
|
5740
5769
|
draft.top = top;
|
|
5741
5770
|
});
|
|
5771
|
+
editorService.changeLeftToolbarVisible(false);
|
|
5772
|
+
}
|
|
5773
|
+
else {
|
|
5774
|
+
editorService.changeLeftToolbarVisible(true);
|
|
5742
5775
|
}
|
|
5743
5776
|
});
|
|
5744
5777
|
}
|
|
@@ -5772,7 +5805,7 @@ const InlineToolbar = core.withAnnotation({
|
|
|
5772
5805
|
opacity: p.opacity,
|
|
5773
5806
|
display: editorService.hideInlineToolbar ? 'none' : '',
|
|
5774
5807
|
transitionDuration: p.transitionDuration + 's'
|
|
5775
|
-
}, children: [jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BlockTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(AttrTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BoldTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(ItalicTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(StrikeThroughTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UnderlineTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontSizeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontFamilyTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(LinkTool, { hideToolbar: hideToolbar }) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CodeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(
|
|
5808
|
+
}, children: [jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BlockTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(AttrTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BoldTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(ItalicTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(StrikeThroughTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UnderlineTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontSizeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontFamilyTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(LinkTool, { hideToolbar: hideToolbar }) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CodeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(TextColorTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(TextBackgroundColorTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(SubscriptTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(SuperscriptTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CleanFormatsTool, {}) }), query.queryComponent(TableComponent).state === core$1.QueryStateType.Enabled && jsxRuntime.jsxs(core.Fragment, { children: [jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(MergeCellsTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(SplitCellsTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CellBackgroundTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CellAlignTool, {}) })] }, "table")] }));
|
|
5776
5809
|
});
|
|
5777
5810
|
});
|
|
5778
5811
|
|
|
@@ -5820,7 +5853,7 @@ const StaticToolbar = core.withAnnotation({
|
|
|
5820
5853
|
subscription.unsubscribe();
|
|
5821
5854
|
});
|
|
5822
5855
|
return scopedCss.withScopedCSS(scopedId$7, () => {
|
|
5823
|
-
return (jsxRuntime.jsxs("div", { class: ['toolbar', props.theme], children: [jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UndoTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(RedoTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(InsertTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BlockTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(AttrTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BoldTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(ItalicTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(StrikeThroughTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UnderlineTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontSizeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontFamilyTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(LinkTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CodeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(
|
|
5856
|
+
return (jsxRuntime.jsxs("div", { class: ['toolbar', props.theme], children: [jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UndoTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(RedoTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(InsertTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BlockTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(AttrTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BoldTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(ItalicTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(StrikeThroughTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UnderlineTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontSizeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontFamilyTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(LinkTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CodeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(TextColorTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(TextBackgroundColorTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(SubscriptTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(SuperscriptTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CleanFormatsTool, {}) }), query.queryComponent(TableComponent).state === core$1.QueryStateType.Enabled && jsxRuntime.jsxs(core.Fragment, { children: [jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(MergeCellsTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(SplitCellsTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CellBackgroundTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CellAlignTool, {}) })] }, "table")] }));
|
|
5824
5857
|
});
|
|
5825
5858
|
});
|
|
5826
5859
|
|
|
@@ -5902,7 +5935,7 @@ const SuspensionToolbar = core.withAnnotation({
|
|
|
5902
5935
|
top: s.top + 'px',
|
|
5903
5936
|
opacity: s.opacity,
|
|
5904
5937
|
pointerEvents: s.opacity === 0 ? 'none' : 'initial',
|
|
5905
|
-
}, children: [jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UndoTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(RedoTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(InsertTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BlockTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(AttrTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BoldTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(ItalicTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(StrikeThroughTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UnderlineTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontSizeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontFamilyTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(LinkTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CodeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(
|
|
5938
|
+
}, children: [jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UndoTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(RedoTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(InsertTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BlockTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(AttrTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(BoldTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(ItalicTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(StrikeThroughTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(UnderlineTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontSizeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(FontFamilyTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(LinkTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CodeTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(TextColorTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(TextBackgroundColorTool, {}) }), jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(SubscriptTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(SuperscriptTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CleanFormatsTool, {}) }), query.queryComponent(TableComponent).state === core$1.QueryStateType.Enabled && jsxRuntime.jsxs(core.Fragment, { children: [jsxRuntime.jsx(SplitLine, {}), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(MergeCellsTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(SplitCellsTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CellBackgroundTool, {}) }), jsxRuntime.jsx(ToolbarItem, { children: jsxRuntime.jsx(CellAlignTool, {}) })] }, "table")] }));
|
|
5906
5939
|
});
|
|
5907
5940
|
});
|
|
5908
5941
|
|
|
@@ -7546,7 +7579,6 @@ exports.CellBackgroundTool = CellBackgroundTool;
|
|
|
7546
7579
|
exports.CleanFormatsTool = CleanFormatsTool;
|
|
7547
7580
|
exports.CodeTool = CodeTool;
|
|
7548
7581
|
exports.ColorPicker = ColorPicker;
|
|
7549
|
-
exports.ColorTool = ColorTool;
|
|
7550
7582
|
exports.ComponentToolbar = ComponentToolbar;
|
|
7551
7583
|
exports.Divider = Divider;
|
|
7552
7584
|
exports.DragResize = DragResize;
|
|
@@ -7601,6 +7633,8 @@ exports.SuspensionToolbar = SuspensionToolbar;
|
|
|
7601
7633
|
exports.SuspensionToolbarPlugin = SuspensionToolbarPlugin;
|
|
7602
7634
|
exports.TableComponent = TableComponent;
|
|
7603
7635
|
exports.TableComponentView = TableComponentView;
|
|
7636
|
+
exports.TextBackgroundColorTool = TextBackgroundColorTool;
|
|
7637
|
+
exports.TextColorTool = TextColorTool;
|
|
7604
7638
|
exports.TodolistComponent = TodolistComponent;
|
|
7605
7639
|
exports.TodolistView = TodolistView;
|
|
7606
7640
|
exports.ToolbarItem = ToolbarItem;
|