markmap-toolbar 0.1.6 → 0.13.0
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/index.esm.js +56 -22
- package/dist/index.umd.js +266 -101
- package/dist/index.umd.min.js +3 -3
- package/dist/style.css +1 -61
- package/package.json +7 -5
- package/types/index.d.ts +1 -1
- package/types/toolbar.d.ts +27 -25
- package/dist/style.min.css +0 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,15 +1,36 @@
|
|
|
1
|
-
/*! markmap-toolbar v0.
|
|
2
|
-
import
|
|
1
|
+
/*! markmap-toolbar v0.13.0 | MIT License */
|
|
2
|
+
import { mountDom } from '@gera2ld/jsx-dom';
|
|
3
|
+
import { jsx, jsxs } from '@gera2ld/jsx-dom/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function _extends() {
|
|
6
|
+
_extends = Object.assign || function (target) {
|
|
7
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
8
|
+
var source = arguments[i];
|
|
9
|
+
|
|
10
|
+
for (var key in source) {
|
|
11
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
12
|
+
target[key] = source[key];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return target;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
return _extends.apply(this, arguments);
|
|
21
|
+
}
|
|
3
22
|
|
|
4
23
|
function renderBrand() {
|
|
5
|
-
return
|
|
6
|
-
className: "mm-toolbar-brand"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
24
|
+
return jsxs("div", {
|
|
25
|
+
className: "mm-toolbar-brand",
|
|
26
|
+
children: [jsx("img", {
|
|
27
|
+
alt: "markmap",
|
|
28
|
+
src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAACoFBMVEUAAAAAAAD//wAAAACAgAD//wAAAABVVQCqqgBAQACAQACAgABmZgBtbQAAAABgQABgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaFQAAAAAAAAAAAAAAAAAHAAARBQIdGAIYEwI/OgJYUQUfHQI+OgJDPgJJRARBPQRJQgRRSwRRTQRIQQRUTgRUUARZUgRSTQRPSQRjWgZORQRfWQZsZAhTTQRNRwRWUAZkXAZOSARUTgZPRwRRSQRoYwZWUQZWTgRbUwZmXQZoXghmXwdqYwdsYwdfVwVmXQdqYgdiWgVpYAl3bgl6cgl4cAqLggw8OAOWjA2Uig1OSAR2bQihlg55cAh5cAh6cQmMgwyOhAyUjA2QhQ2Uiw2Viw2soBCflA+voxGwpRGhlg+hlg+snxGroBGjmBCpnBC0pxKyphKxpRG2qhK0qBK5rBK5rBP/7h3/8B7/8R3/8h3/8R7/8h786x397B3+7R3EtxT66Rz66hz76hz86xz96xz97Bz+7Rz45xz56Bz76hz97Bz97B3MvRX15Rv25Rv45xz66Rz76hz97B3+7R3IuxX05Bv15Bv25Rz56Bz66Ry/sxPAsxPCtRTCthTNvxbZyxfczxfi0xjl1Rnn2Bnr2xrr3Brs3Rru3Rru3xrv3hrw3xrx4Bvx4Rvy4hvz4hvz4xv04xv05Bv14xv15Bv15Rv25Bv25Rv25Rz25hv35hv35xv45xv45xz55xz56Bv56Bz66Rv66Rz76Rv76Rz76hz86hv86xz+7h3/7R3/7h3/7x3/8B3/8B7/8R3/8R4Yqhj5AAAAq3RSTlMAAQECAgIDAwMEBAQFBwgICAwQERITFRYXGBkbHB0eHyQlJyguNTg8RUZISU5PV2FiY2RlZmdqa2xubnJzc3R2d3d3eXl5eXp7fH1+gIGCgoKDg4SEhIWGh4eHiYmJjIyMjZSUlJ+sra+zt7i4uru8ztHV1tbW2d7g4OHi4uPk5ufp7Ozv9fX29/f3+Pj6+vr7+/v7+/v7+/z8/Pz8/f39/f39/f3+/v7+/v7K6J1dAAACHklEQVQ4y2NgwAoYWdi5uLm5GXHIcrLCmMzYpDmAhKCKjoGtp40MFhVsDAwSxmmVEzZu2XvqSLkchjw3g0h445Ybd24vmTN1Usd5X3R5DgaNqgN35sycP2/GxMkTMRVwMOivvtO3YsWUm3duX790EcMKdgbNNXdnnJh1+9T6ipzU+FB0RzIyiFYB5WdfaElUF8TmTQ6GwH39J2bvypMHcpg4MAKKkUGo5s6KWRfyGRh4WJClGEGBCgS8DLobliy/3abMwM8NBYwQjXDgf3ryxOspyKYyg+RFTFwdnYDAzbrw+oLFm9Ot3J3AwNHFTBykQrhg++GDh48cOXzk4P6VZy8s230MyAGCwwcP7iyRBJpiur1n8hQIWHX27NkLi6bAwOSuow5ABeY7OydOhoCFIAULe6E8YFCf8QAqEC86evniZTA4tfLsuRXHr0E4ly9ePF0uC3KnpH1MZBQQxPoVgxyZ5RMdBQaRMc6yIEcihWbQGaA3k9G8CfQoN0pAtSoxCMACihk9qGtBQZ2LHtRIkRUMiqwd2TJADiswsrjQlAGju/o+MLrPNkWo8mFN1ewMWmvBCebQ0rKMJG87QzF0FRwMRuvugpLcrXu3rp7Zs61UCtMZ2nVHbk+fMX/+jMmTp3Sf9MLiULG45q237txaPG3yxPYrYQzYMo60RWbD3E27Ll68Uq+AK+uJqOlZBiSEKGLNnMA0iDfzwrI/NKgBOivk9piPdtUAAAAASUVORK5CYII="
|
|
29
|
+
}), jsx("a", {
|
|
30
|
+
href: "https://markmap.js.org/",
|
|
31
|
+
children: "markmap"
|
|
32
|
+
})]
|
|
33
|
+
});
|
|
13
34
|
}
|
|
14
35
|
|
|
15
36
|
function renderItem({
|
|
@@ -17,11 +38,11 @@ function renderItem({
|
|
|
17
38
|
content,
|
|
18
39
|
onClick
|
|
19
40
|
}) {
|
|
20
|
-
return
|
|
41
|
+
return jsx("div", {
|
|
21
42
|
className: "mm-toolbar-item",
|
|
22
43
|
title: title,
|
|
23
|
-
|
|
24
|
-
|
|
44
|
+
onClick: onClick,
|
|
45
|
+
children: content
|
|
25
46
|
});
|
|
26
47
|
}
|
|
27
48
|
|
|
@@ -47,8 +68,20 @@ class Toolbar {
|
|
|
47
68
|
return toolbar.render();
|
|
48
69
|
}
|
|
49
70
|
|
|
50
|
-
static icon(path) {
|
|
51
|
-
|
|
71
|
+
static icon(path, attrs = {}) {
|
|
72
|
+
attrs = _extends({
|
|
73
|
+
stroke: 'none',
|
|
74
|
+
fill: 'currentColor',
|
|
75
|
+
'fill-rule': 'evenodd'
|
|
76
|
+
}, attrs);
|
|
77
|
+
return jsx("svg", {
|
|
78
|
+
width: "20",
|
|
79
|
+
height: "20",
|
|
80
|
+
viewBox: "0 0 20 20",
|
|
81
|
+
children: jsx("path", _extends({}, attrs, {
|
|
82
|
+
d: path
|
|
83
|
+
}))
|
|
84
|
+
});
|
|
52
85
|
}
|
|
53
86
|
|
|
54
87
|
constructor() {
|
|
@@ -59,19 +92,19 @@ class Toolbar {
|
|
|
59
92
|
this.register({
|
|
60
93
|
id: 'zoomIn',
|
|
61
94
|
title: 'Zoom in',
|
|
62
|
-
content: Toolbar.icon('
|
|
95
|
+
content: Toolbar.icon('M9 5v4h-4v2h4v4h2v-4h4v-2h-4v-4z'),
|
|
63
96
|
onClick: this.getHandler(mm => mm.rescale(1.25))
|
|
64
97
|
});
|
|
65
98
|
this.register({
|
|
66
99
|
id: 'zoomOut',
|
|
67
100
|
title: 'Zoom out',
|
|
68
|
-
content: Toolbar.icon('
|
|
101
|
+
content: Toolbar.icon('M5 9h10v2h-10z'),
|
|
69
102
|
onClick: this.getHandler(mm => mm.rescale(0.8))
|
|
70
103
|
});
|
|
71
104
|
this.register({
|
|
72
105
|
id: 'fit',
|
|
73
106
|
title: 'Fit window size',
|
|
74
|
-
content: Toolbar.icon('M4
|
|
107
|
+
content: Toolbar.icon('M4 7h2v-2h2v4h-4zM4 13h2v2h2v-4h-4zM16 7h-2v-2h-2v4h4zM16 13h-2v2h-2v-4h4z'),
|
|
75
108
|
onClick: this.getHandler(mm => mm.fit())
|
|
76
109
|
});
|
|
77
110
|
}
|
|
@@ -86,7 +119,7 @@ class Toolbar {
|
|
|
86
119
|
|
|
87
120
|
getHandler(handle) {
|
|
88
121
|
handle = safeCaller(handle);
|
|
89
|
-
return
|
|
122
|
+
return () => {
|
|
90
123
|
if (this.markmap) handle(this.markmap);
|
|
91
124
|
};
|
|
92
125
|
}
|
|
@@ -109,9 +142,10 @@ class Toolbar {
|
|
|
109
142
|
|
|
110
143
|
return item;
|
|
111
144
|
}).filter(Boolean);
|
|
112
|
-
return
|
|
113
|
-
className: "mm-toolbar"
|
|
114
|
-
|
|
145
|
+
return mountDom(jsxs("div", {
|
|
146
|
+
className: "mm-toolbar",
|
|
147
|
+
children: [this.showBrand && renderBrand(), items.map(renderItem)]
|
|
148
|
+
}));
|
|
115
149
|
}
|
|
116
150
|
|
|
117
151
|
}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,119 +1,271 @@
|
|
|
1
|
-
/*! markmap-toolbar v0.
|
|
1
|
+
/*! markmap-toolbar v0.13.0 | MIT License */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
5
5
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.markmap = global.markmap || {}));
|
|
6
|
-
}(this, (function (exports) { 'use strict';
|
|
7
|
-
|
|
8
|
-
/*! @gera2ld/jsx-dom v1.2.1 | ISC License */
|
|
9
|
-
var propRules = ['innerHTML', 'innerText', 'textContent', {
|
|
10
|
-
key: 'value',
|
|
11
|
-
tag: 'textarea'
|
|
12
|
-
}];
|
|
13
|
-
var Fragment = {
|
|
14
|
-
name: 'Fragment'
|
|
15
|
-
};
|
|
6
|
+
})(this, (function (exports) { 'use strict';
|
|
16
7
|
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
function _extends() {
|
|
9
|
+
_extends = Object.assign || function (target) {
|
|
10
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
11
|
+
var source = arguments[i];
|
|
20
12
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
throw new Error("Invalid element type: " + tag);
|
|
25
|
-
} else {
|
|
26
|
-
var _el = createElement.createElement(tag);
|
|
27
|
-
|
|
28
|
-
result = _el;
|
|
29
|
-
|
|
30
|
-
if (props) {
|
|
31
|
-
Object.keys(props).forEach(function (key) {
|
|
32
|
-
var value = props[key];
|
|
33
|
-
if (value == null) return;
|
|
34
|
-
|
|
35
|
-
if (key.startsWith('on')) {
|
|
36
|
-
_el.addEventListener(key.slice(2).toLowerCase(), value);
|
|
37
|
-
} else if (key === 'children') {
|
|
38
|
-
renderChildren(_el, value);
|
|
39
|
-
} else if (key === 'style' && typeof value === 'object') {
|
|
40
|
-
renderStyle(_el, value);
|
|
41
|
-
} else if (key === 'dangerouslySetInnerHTML' && value) {
|
|
42
|
-
_el.innerHTML = value.__html || ''; // eslint-disable-line no-underscore-dangle
|
|
43
|
-
} else if (key === 'ref' && typeof value === 'function') {
|
|
44
|
-
ref = value;
|
|
45
|
-
} else if (typeof value === 'boolean') {
|
|
46
|
-
if (value) _el.setAttribute(key, key);else _el.removeAttribute(key);
|
|
47
|
-
} else if (isProp(tag, key)) {
|
|
48
|
-
_el[key] = value;
|
|
49
|
-
} else {
|
|
50
|
-
if (key === 'className') key = 'class';else if (key === 'labelFor') key = 'for';
|
|
51
|
-
|
|
52
|
-
_el.setAttribute(key, "" + value);
|
|
13
|
+
for (var key in source) {
|
|
14
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
15
|
+
target[key] = source[key];
|
|
53
16
|
}
|
|
54
|
-
}
|
|
17
|
+
}
|
|
55
18
|
}
|
|
56
|
-
}
|
|
57
19
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
20
|
+
return target;
|
|
21
|
+
};
|
|
61
22
|
|
|
62
|
-
|
|
63
|
-
if (ref) ref(result);
|
|
64
|
-
return result;
|
|
23
|
+
return _extends.apply(this, arguments);
|
|
65
24
|
}
|
|
66
25
|
|
|
67
|
-
|
|
68
|
-
|
|
26
|
+
/*! @gera2ld/jsx-dom v2.1.1 | ISC License */
|
|
27
|
+
var VTYPE_ELEMENT = 1;
|
|
28
|
+
var VTYPE_FUNCTION = 2;
|
|
29
|
+
var MOUNT_SINGLE = 1;
|
|
30
|
+
var MOUNT_ARRAY = 4;
|
|
31
|
+
var SVG_NS = 'http://www.w3.org/2000/svg';
|
|
32
|
+
var XLINK_NS = 'http://www.w3.org/1999/xlink';
|
|
33
|
+
var NS_ATTRS = {
|
|
34
|
+
show: XLINK_NS,
|
|
35
|
+
actuate: XLINK_NS,
|
|
36
|
+
href: XLINK_NS
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var isLeaf = function isLeaf(c) {
|
|
40
|
+
return typeof c === 'string' || typeof c === 'number';
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var isElement = function isElement(c) {
|
|
44
|
+
return (c == null ? void 0 : c.vtype) === VTYPE_ELEMENT;
|
|
69
45
|
};
|
|
70
46
|
|
|
71
|
-
function
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
47
|
+
var isRenderFunction = function isRenderFunction(c) {
|
|
48
|
+
return (c == null ? void 0 : c.vtype) === VTYPE_FUNCTION;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
function jsx(type, props) {
|
|
52
|
+
var vtype;
|
|
53
|
+
if (typeof type === 'string') vtype = VTYPE_ELEMENT;else if (typeof type === 'function') vtype = VTYPE_FUNCTION;else throw new Error('Invalid VNode type');
|
|
54
|
+
return {
|
|
55
|
+
vtype: vtype,
|
|
56
|
+
type: type,
|
|
57
|
+
props: props
|
|
75
58
|
};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
var jsxs = jsx;
|
|
62
|
+
|
|
63
|
+
function Fragment(props) {
|
|
64
|
+
return props.children;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var DEFAULT_ENV = {
|
|
68
|
+
isSvg: false
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
function insertDom(parent, ref) {
|
|
72
|
+
if (ref.type === MOUNT_SINGLE) {
|
|
73
|
+
if (ref.node != null) parent.append(ref.node);
|
|
74
|
+
} else if (ref.type === MOUNT_ARRAY) {
|
|
75
|
+
ref.children.forEach(function (ch) {
|
|
76
|
+
insertDom(parent, ch);
|
|
80
77
|
});
|
|
81
|
-
}
|
|
78
|
+
} else {
|
|
79
|
+
throw new Error("Unkown ref type " + JSON.stringify(ref));
|
|
80
|
+
}
|
|
82
81
|
}
|
|
83
82
|
|
|
84
|
-
function
|
|
85
|
-
|
|
86
|
-
if (
|
|
83
|
+
function mountAttributes(domElement, props, env) {
|
|
84
|
+
for (var key in props) {
|
|
85
|
+
if (key === 'key' || key === 'children' || key === 'ref') continue;
|
|
87
86
|
|
|
88
|
-
if (
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
if (key === 'dangerouslySetInnerHTML') {
|
|
88
|
+
domElement.innerHTML = props[key].__html;
|
|
89
|
+
} else if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {
|
|
90
|
+
domElement[key] = props[key];
|
|
91
|
+
} else if (key.startsWith('on')) {
|
|
92
|
+
domElement[key.toLowerCase()] = props[key];
|
|
93
|
+
} else {
|
|
94
|
+
setDOMAttribute(domElement, key, props[key], env.isSvg);
|
|
91
95
|
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
var attrMap = {
|
|
100
|
+
className: 'class',
|
|
101
|
+
labelFor: 'for'
|
|
102
|
+
};
|
|
92
103
|
|
|
93
|
-
|
|
94
|
-
|
|
104
|
+
function setDOMAttribute(el, attr, value, isSVG) {
|
|
105
|
+
attr = attrMap[attr] || attr;
|
|
106
|
+
|
|
107
|
+
if (value === true) {
|
|
108
|
+
el.setAttribute(attr, '');
|
|
109
|
+
} else if (value === false) {
|
|
110
|
+
el.removeAttribute(attr);
|
|
111
|
+
} else {
|
|
112
|
+
var namespace = isSVG ? NS_ATTRS[attr] : undefined;
|
|
113
|
+
|
|
114
|
+
if (namespace !== undefined) {
|
|
115
|
+
el.setAttributeNS(namespace, attr, value);
|
|
95
116
|
} else {
|
|
96
|
-
el.
|
|
117
|
+
el.setAttribute(attr, value);
|
|
97
118
|
}
|
|
98
|
-
}
|
|
119
|
+
}
|
|
99
120
|
}
|
|
100
121
|
|
|
101
|
-
function
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
122
|
+
function mount(vnode, env) {
|
|
123
|
+
if (env === void 0) {
|
|
124
|
+
env = DEFAULT_ENV;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (vnode == null || typeof vnode === 'boolean') {
|
|
128
|
+
return {
|
|
129
|
+
type: MOUNT_SINGLE,
|
|
130
|
+
node: null
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if (vnode instanceof Node) {
|
|
135
|
+
return {
|
|
136
|
+
type: MOUNT_SINGLE,
|
|
137
|
+
node: vnode
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
if (isRenderFunction(vnode)) {
|
|
142
|
+
var _ref = vnode,
|
|
143
|
+
type = _ref.type,
|
|
144
|
+
props = _ref.props;
|
|
145
|
+
|
|
146
|
+
if (type === Fragment) {
|
|
147
|
+
var node = document.createDocumentFragment();
|
|
148
|
+
|
|
149
|
+
if (props.children) {
|
|
150
|
+
var childrenRef = mount(props.children, env);
|
|
151
|
+
insertDom(node, childrenRef);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return {
|
|
155
|
+
type: MOUNT_SINGLE,
|
|
156
|
+
node: node
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
var childVNode = type(props);
|
|
161
|
+
return mount(childVNode, env);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (isLeaf(vnode)) {
|
|
165
|
+
return {
|
|
166
|
+
type: MOUNT_SINGLE,
|
|
167
|
+
node: document.createTextNode("" + vnode)
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
if (isElement(vnode)) {
|
|
172
|
+
var _node;
|
|
173
|
+
|
|
174
|
+
var _ref2 = vnode,
|
|
175
|
+
_type = _ref2.type,
|
|
176
|
+
_props = _ref2.props;
|
|
177
|
+
|
|
178
|
+
if (!env.isSvg && _type === 'svg') {
|
|
179
|
+
env = Object.assign({}, env, {
|
|
180
|
+
isSvg: true
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (!env.isSvg) {
|
|
185
|
+
_node = document.createElement(_type);
|
|
186
|
+
} else {
|
|
187
|
+
_node = document.createElementNS(SVG_NS, _type);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
mountAttributes(_node, _props, env);
|
|
191
|
+
|
|
192
|
+
var _childrenRef;
|
|
193
|
+
|
|
194
|
+
if (_props.children) {
|
|
195
|
+
var childEnv = env;
|
|
196
|
+
|
|
197
|
+
if (env.isSvg && _type === 'foreignObject') {
|
|
198
|
+
childEnv = Object.assign({}, childEnv, {
|
|
199
|
+
isSvg: false
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
_childrenRef = mount(_props.children, childEnv);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (_childrenRef != null) insertDom(_node, _childrenRef);
|
|
207
|
+
var ref = _props.ref;
|
|
208
|
+
if (typeof ref === 'function') ref(_node);
|
|
209
|
+
return {
|
|
210
|
+
type: MOUNT_SINGLE,
|
|
211
|
+
node: _node
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
if (Array.isArray(vnode)) {
|
|
216
|
+
return {
|
|
217
|
+
type: MOUNT_ARRAY,
|
|
218
|
+
children: vnode.map(function (child) {
|
|
219
|
+
return mount(child, env);
|
|
220
|
+
})
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
throw new Error('mount: Invalid Vnode!');
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
function flattenWithoutNull(array) {
|
|
228
|
+
var result = [];
|
|
229
|
+
|
|
230
|
+
for (var i = 0; i < array.length; i += 1) {
|
|
231
|
+
var item = array[i];
|
|
232
|
+
if (Array.isArray(item)) result = result.concat(flattenWithoutNull(item));else if (item != null) result.push(item);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return result;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
function asDom(result) {
|
|
239
|
+
if (result.type === MOUNT_SINGLE) {
|
|
240
|
+
return result.node;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
return result.children.map(asDom);
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Mount vdom as real DOM nodes.
|
|
247
|
+
*/
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
function mountDom(vnode) {
|
|
251
|
+
if (Array.isArray(vnode)) {
|
|
252
|
+
return flattenWithoutNull(vnode.map(mountDom));
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
return asDom(mount(vnode));
|
|
106
256
|
}
|
|
107
257
|
|
|
108
258
|
function renderBrand() {
|
|
109
|
-
return
|
|
110
|
-
className: "mm-toolbar-brand"
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
259
|
+
return jsxs("div", {
|
|
260
|
+
className: "mm-toolbar-brand",
|
|
261
|
+
children: [jsx("img", {
|
|
262
|
+
alt: "markmap",
|
|
263
|
+
src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAACoFBMVEUAAAAAAAD//wAAAACAgAD//wAAAABVVQCqqgBAQACAQACAgABmZgBtbQAAAABgQABgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaFQAAAAAAAAAAAAAAAAAHAAARBQIdGAIYEwI/OgJYUQUfHQI+OgJDPgJJRARBPQRJQgRRSwRRTQRIQQRUTgRUUARZUgRSTQRPSQRjWgZORQRfWQZsZAhTTQRNRwRWUAZkXAZOSARUTgZPRwRRSQRoYwZWUQZWTgRbUwZmXQZoXghmXwdqYwdsYwdfVwVmXQdqYgdiWgVpYAl3bgl6cgl4cAqLggw8OAOWjA2Uig1OSAR2bQihlg55cAh5cAh6cQmMgwyOhAyUjA2QhQ2Uiw2Viw2soBCflA+voxGwpRGhlg+hlg+snxGroBGjmBCpnBC0pxKyphKxpRG2qhK0qBK5rBK5rBP/7h3/8B7/8R3/8h3/8R7/8h786x397B3+7R3EtxT66Rz66hz76hz86xz96xz97Bz+7Rz45xz56Bz76hz97Bz97B3MvRX15Rv25Rv45xz66Rz76hz97B3+7R3IuxX05Bv15Bv25Rz56Bz66Ry/sxPAsxPCtRTCthTNvxbZyxfczxfi0xjl1Rnn2Bnr2xrr3Brs3Rru3Rru3xrv3hrw3xrx4Bvx4Rvy4hvz4hvz4xv04xv05Bv14xv15Bv15Rv25Bv25Rv25Rz25hv35hv35xv45xv45xz55xz56Bv56Bz66Rv66Rz76Rv76Rz76hz86hv86xz+7h3/7R3/7h3/7x3/8B3/8B7/8R3/8R4Yqhj5AAAAq3RSTlMAAQECAgIDAwMEBAQFBwgICAwQERITFRYXGBkbHB0eHyQlJyguNTg8RUZISU5PV2FiY2RlZmdqa2xubnJzc3R2d3d3eXl5eXp7fH1+gIGCgoKDg4SEhIWGh4eHiYmJjIyMjZSUlJ+sra+zt7i4uru8ztHV1tbW2d7g4OHi4uPk5ufp7Ozv9fX29/f3+Pj6+vr7+/v7+/v7+/z8/Pz8/f39/f39/f3+/v7+/v7K6J1dAAACHklEQVQ4y2NgwAoYWdi5uLm5GXHIcrLCmMzYpDmAhKCKjoGtp40MFhVsDAwSxmmVEzZu2XvqSLkchjw3g0h445Ybd24vmTN1Usd5X3R5DgaNqgN35sycP2/GxMkTMRVwMOivvtO3YsWUm3duX790EcMKdgbNNXdnnJh1+9T6ipzU+FB0RzIyiFYB5WdfaElUF8TmTQ6GwH39J2bvypMHcpg4MAKKkUGo5s6KWRfyGRh4WJClGEGBCgS8DLobliy/3abMwM8NBYwQjXDgf3ryxOspyKYyg+RFTFwdnYDAzbrw+oLFm9Ot3J3AwNHFTBykQrhg++GDh48cOXzk4P6VZy8s230MyAGCwwcP7iyRBJpiur1n8hQIWHX27NkLi6bAwOSuow5ABeY7OydOhoCFIAULe6E8YFCf8QAqEC86evniZTA4tfLsuRXHr0E4ly9ePF0uC3KnpH1MZBQQxPoVgxyZ5RMdBQaRMc6yIEcihWbQGaA3k9G8CfQoN0pAtSoxCMACihk9qGtBQZ2LHtRIkRUMiqwd2TJADiswsrjQlAGju/o+MLrPNkWo8mFN1ewMWmvBCebQ0rKMJG87QzF0FRwMRuvugpLcrXu3rp7Zs61UCtMZ2nVHbk+fMX/+jMmTp3Sf9MLiULG45q237txaPG3yxPYrYQzYMo60RWbD3E27Ll68Uq+AK+uJqOlZBiSEKGLNnMA0iDfzwrI/NKgBOivk9piPdtUAAAAASUVORK5CYII="
|
|
264
|
+
}), jsx("a", {
|
|
265
|
+
href: "https://markmap.js.org/",
|
|
266
|
+
children: "markmap"
|
|
267
|
+
})]
|
|
268
|
+
});
|
|
117
269
|
}
|
|
118
270
|
|
|
119
271
|
function renderItem({
|
|
@@ -121,11 +273,11 @@ function renderItem({
|
|
|
121
273
|
content,
|
|
122
274
|
onClick
|
|
123
275
|
}) {
|
|
124
|
-
return
|
|
276
|
+
return jsx("div", {
|
|
125
277
|
className: "mm-toolbar-item",
|
|
126
278
|
title: title,
|
|
127
|
-
|
|
128
|
-
|
|
279
|
+
onClick: onClick,
|
|
280
|
+
children: content
|
|
129
281
|
});
|
|
130
282
|
}
|
|
131
283
|
|
|
@@ -151,8 +303,20 @@ class Toolbar {
|
|
|
151
303
|
return toolbar.render();
|
|
152
304
|
}
|
|
153
305
|
|
|
154
|
-
static icon(path) {
|
|
155
|
-
|
|
306
|
+
static icon(path, attrs = {}) {
|
|
307
|
+
attrs = _extends({
|
|
308
|
+
stroke: 'none',
|
|
309
|
+
fill: 'currentColor',
|
|
310
|
+
'fill-rule': 'evenodd'
|
|
311
|
+
}, attrs);
|
|
312
|
+
return jsx("svg", {
|
|
313
|
+
width: "20",
|
|
314
|
+
height: "20",
|
|
315
|
+
viewBox: "0 0 20 20",
|
|
316
|
+
children: jsx("path", _extends({}, attrs, {
|
|
317
|
+
d: path
|
|
318
|
+
}))
|
|
319
|
+
});
|
|
156
320
|
}
|
|
157
321
|
|
|
158
322
|
constructor() {
|
|
@@ -163,19 +327,19 @@ class Toolbar {
|
|
|
163
327
|
this.register({
|
|
164
328
|
id: 'zoomIn',
|
|
165
329
|
title: 'Zoom in',
|
|
166
|
-
content: Toolbar.icon('
|
|
330
|
+
content: Toolbar.icon('M9 5v4h-4v2h4v4h2v-4h4v-2h-4v-4z'),
|
|
167
331
|
onClick: this.getHandler(mm => mm.rescale(1.25))
|
|
168
332
|
});
|
|
169
333
|
this.register({
|
|
170
334
|
id: 'zoomOut',
|
|
171
335
|
title: 'Zoom out',
|
|
172
|
-
content: Toolbar.icon('
|
|
336
|
+
content: Toolbar.icon('M5 9h10v2h-10z'),
|
|
173
337
|
onClick: this.getHandler(mm => mm.rescale(0.8))
|
|
174
338
|
});
|
|
175
339
|
this.register({
|
|
176
340
|
id: 'fit',
|
|
177
341
|
title: 'Fit window size',
|
|
178
|
-
content: Toolbar.icon('M4
|
|
342
|
+
content: Toolbar.icon('M4 7h2v-2h2v4h-4zM4 13h2v2h2v-4h-4zM16 7h-2v-2h-2v4h4zM16 13h-2v2h-2v-4h4z'),
|
|
179
343
|
onClick: this.getHandler(mm => mm.fit())
|
|
180
344
|
});
|
|
181
345
|
}
|
|
@@ -190,7 +354,7 @@ class Toolbar {
|
|
|
190
354
|
|
|
191
355
|
getHandler(handle) {
|
|
192
356
|
handle = safeCaller(handle);
|
|
193
|
-
return
|
|
357
|
+
return () => {
|
|
194
358
|
if (this.markmap) handle(this.markmap);
|
|
195
359
|
};
|
|
196
360
|
}
|
|
@@ -213,13 +377,14 @@ class Toolbar {
|
|
|
213
377
|
|
|
214
378
|
return item;
|
|
215
379
|
}).filter(Boolean);
|
|
216
|
-
return
|
|
217
|
-
className: "mm-toolbar"
|
|
218
|
-
|
|
380
|
+
return mountDom(jsxs("div", {
|
|
381
|
+
className: "mm-toolbar",
|
|
382
|
+
children: [this.showBrand && renderBrand(), items.map(renderItem)]
|
|
383
|
+
}));
|
|
219
384
|
}
|
|
220
385
|
|
|
221
386
|
}
|
|
222
387
|
|
|
223
388
|
exports.Toolbar = Toolbar;
|
|
224
389
|
|
|
225
|
-
}))
|
|
390
|
+
}));
|
package/dist/index.umd.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! markmap-toolbar v0.
|
|
2
|
-
!function(A,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((A="undefined"!=typeof globalThis?globalThis:A||self).markmap=A.markmap||{})}(this,(function(A){"use strict";
|
|
3
|
-
/*! @gera2ld/jsx-dom
|
|
1
|
+
/*! markmap-toolbar v0.13.0 | MIT License */
|
|
2
|
+
!function(A,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((A="undefined"!=typeof globalThis?globalThis:A||self).markmap=A.markmap||{})}(this,(function(A){"use strict";function t(){return t=Object.assign||function(A){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(A[r]=e[r])}return A},t.apply(this,arguments)}
|
|
3
|
+
/*! @gera2ld/jsx-dom v2.1.1 | ISC License */var e="http://www.w3.org/1999/xlink",r={show:e,actuate:e,href:e};function n(A,t){var e;if("string"==typeof A)e=1;else{if("function"!=typeof A)throw new Error("Invalid VNode type");e=2}return{vtype:e,type:A,props:t}}var i=n;function o(A){return A.children}var s={isSvg:!1};function a(A,t){if(1===t.type)null!=t.node&&A.append(t.node);else{if(4!==t.type)throw new Error("Unkown ref type "+JSON.stringify(t));t.children.forEach((function(t){a(A,t)}))}}var h={className:"class",labelFor:"for"};function l(A,t,e,n){if(t=h[t]||t,!0===e)A.setAttribute(t,"");else if(!1===e)A.removeAttribute(t);else{var i=n?r[t]:void 0;void 0!==i?A.setAttributeNS(i,t,e):A.setAttribute(t,e)}}function c(A,t){if(void 0===t&&(t=s),null==A||"boolean"==typeof A)return{type:1,node:null};if(A instanceof Node)return{type:1,node:A};if(2===(null==(h=A)?void 0:h.vtype)){var e=A,r=e.type,n=e.props;if(r===o){var i=document.createDocumentFragment();if(n.children)a(i,c(n.children,t));return{type:1,node:i}}return c(r(n),t)}var h;if(function(A){return"string"==typeof A||"number"==typeof A}(A))return{type:1,node:document.createTextNode(""+A)};if(function(A){return 1===(null==A?void 0:A.vtype)}(A)){var v,u,f=A,d=f.type,g=f.props;if(t.isSvg||"svg"!==d||(t=Object.assign({},t,{isSvg:!0})),function(A,t,e){for(var r in t)"key"!==r&&"children"!==r&&"ref"!==r&&("dangerouslySetInnerHTML"===r?A.innerHTML=t[r].__html:"innerHTML"===r||"textContent"===r||"innerText"===r?A[r]=t[r]:r.startsWith("on")?A[r.toLowerCase()]=t[r]:l(A,r,t[r],e.isSvg))}(v=t.isSvg?document.createElementNS("http://www.w3.org/2000/svg",d):document.createElement(d),g,t),g.children){var p=t;t.isSvg&&"foreignObject"===d&&(p=Object.assign({},p,{isSvg:!1})),u=c(g.children,p)}null!=u&&a(v,u);var m=g.ref;return"function"==typeof m&&m(v),{type:1,node:v}}if(Array.isArray(A))return{type:4,children:A.map((function(A){return c(A,t)}))};throw new Error("mount: Invalid Vnode!")}function v(A){for(var t=[],e=0;e<A.length;e+=1){var r=A[e];Array.isArray(r)?t=t.concat(v(r)):null!=r&&t.push(r)}return t}function u(A){return 1===A.type?A.node:A.children.map(u)}function f(A){return Array.isArray(A)?v(A.map(f)):u(c(A))}function d({title:A,content:t,onClick:e}){return n("div",{className:"mm-toolbar-item",title:A,onClick:e,children:t})}let g;class p{static create(A){const t=new p;return t.attach(A),t.render()}static icon(A,e={}){return e=t({stroke:"none",fill:"currentColor","fill-rule":"evenodd"},e),n("svg",{width:"20",height:"20",viewBox:"0 0 20 20",children:n("path",t({},e,{d:A}))})}constructor(){this.showBrand=!0,this.registry={},this.markmap=null,this.items=["zoomIn","zoomOut","fit"],this.register({id:"zoomIn",title:"Zoom in",content:p.icon("M9 5v4h-4v2h4v4h2v-4h4v-2h-4v-4z"),onClick:this.getHandler((A=>A.rescale(1.25)))}),this.register({id:"zoomOut",title:"Zoom out",content:p.icon("M5 9h10v2h-10z"),onClick:this.getHandler((A=>A.rescale(.8)))}),this.register({id:"fit",title:"Fit window size",content:p.icon("M4 7h2v-2h2v4h-4zM4 13h2v2h2v-4h-4zM16 7h-2v-2h-2v4h4zM16 13h-2v2h-2v-4h4z"),onClick:this.getHandler((A=>A.fit()))})}setBrand(A){this.showBrand=A}register(A){this.registry[A.id]=A}getHandler(A){var t;return t=A,A=async(...A)=>{if(!g){g=t(...A);try{await g}finally{g=null}}},()=>{this.markmap&&A(this.markmap)}}setItems(A){this.items=[...A]}attach(A){this.markmap=A}render(){const A=this.items.map((A=>{if("string"==typeof A){const t=this.registry[A];return t||console.warn(`[markmap-toolbar] ${A} not found`),t}return A})).filter(Boolean);return f(i("div",{className:"mm-toolbar",children:[this.showBrand&&i("div",{className:"mm-toolbar-brand",children:[n("img",{alt:"markmap",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAACoFBMVEUAAAAAAAD//wAAAACAgAD//wAAAABVVQCqqgBAQACAQACAgABmZgBtbQAAAABgQABgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaFQAAAAAAAAAAAAAAAAAHAAARBQIdGAIYEwI/OgJYUQUfHQI+OgJDPgJJRARBPQRJQgRRSwRRTQRIQQRUTgRUUARZUgRSTQRPSQRjWgZORQRfWQZsZAhTTQRNRwRWUAZkXAZOSARUTgZPRwRRSQRoYwZWUQZWTgRbUwZmXQZoXghmXwdqYwdsYwdfVwVmXQdqYgdiWgVpYAl3bgl6cgl4cAqLggw8OAOWjA2Uig1OSAR2bQihlg55cAh5cAh6cQmMgwyOhAyUjA2QhQ2Uiw2Viw2soBCflA+voxGwpRGhlg+hlg+snxGroBGjmBCpnBC0pxKyphKxpRG2qhK0qBK5rBK5rBP/7h3/8B7/8R3/8h3/8R7/8h786x397B3+7R3EtxT66Rz66hz76hz86xz96xz97Bz+7Rz45xz56Bz76hz97Bz97B3MvRX15Rv25Rv45xz66Rz76hz97B3+7R3IuxX05Bv15Bv25Rz56Bz66Ry/sxPAsxPCtRTCthTNvxbZyxfczxfi0xjl1Rnn2Bnr2xrr3Brs3Rru3Rru3xrv3hrw3xrx4Bvx4Rvy4hvz4hvz4xv04xv05Bv14xv15Bv15Rv25Bv25Rv25Rz25hv35hv35xv45xv45xz55xz56Bv56Bz66Rv66Rz76Rv76Rz76hz86hv86xz+7h3/7R3/7h3/7x3/8B3/8B7/8R3/8R4Yqhj5AAAAq3RSTlMAAQECAgIDAwMEBAQFBwgICAwQERITFRYXGBkbHB0eHyQlJyguNTg8RUZISU5PV2FiY2RlZmdqa2xubnJzc3R2d3d3eXl5eXp7fH1+gIGCgoKDg4SEhIWGh4eHiYmJjIyMjZSUlJ+sra+zt7i4uru8ztHV1tbW2d7g4OHi4uPk5ufp7Ozv9fX29/f3+Pj6+vr7+/v7+/v7+/z8/Pz8/f39/f39/f3+/v7+/v7K6J1dAAACHklEQVQ4y2NgwAoYWdi5uLm5GXHIcrLCmMzYpDmAhKCKjoGtp40MFhVsDAwSxmmVEzZu2XvqSLkchjw3g0h445Ybd24vmTN1Usd5X3R5DgaNqgN35sycP2/GxMkTMRVwMOivvtO3YsWUm3duX790EcMKdgbNNXdnnJh1+9T6ipzU+FB0RzIyiFYB5WdfaElUF8TmTQ6GwH39J2bvypMHcpg4MAKKkUGo5s6KWRfyGRh4WJClGEGBCgS8DLobliy/3abMwM8NBYwQjXDgf3ryxOspyKYyg+RFTFwdnYDAzbrw+oLFm9Ot3J3AwNHFTBykQrhg++GDh48cOXzk4P6VZy8s230MyAGCwwcP7iyRBJpiur1n8hQIWHX27NkLi6bAwOSuow5ABeY7OydOhoCFIAULe6E8YFCf8QAqEC86evniZTA4tfLsuRXHr0E4ly9ePF0uC3KnpH1MZBQQxPoVgxyZ5RMdBQaRMc6yIEcihWbQGaA3k9G8CfQoN0pAtSoxCMACihk9qGtBQZ2LHtRIkRUMiqwd2TJADiswsrjQlAGju/o+MLrPNkWo8mFN1ewMWmvBCebQ0rKMJG87QzF0FRwMRuvugpLcrXu3rp7Zs61UCtMZ2nVHbk+fMX/+jMmTp3Sf9MLiULG45q237txaPG3yxPYrYQzYMo60RWbD3E27Ll68Uq+AK+uJqOlZBiSEKGLNnMA0iDfzwrI/NKgBOivk9piPdtUAAAAASUVORK5CYII="}),n("a",{href:"https://markmap.js.org/",children:"markmap"})]}),A.map(d)]}))}}A.Toolbar=p}));
|
package/dist/style.css
CHANGED
|
@@ -1,61 +1 @@
|
|
|
1
|
-
.mm-toolbar {
|
|
2
|
-
display: flex;
|
|
3
|
-
align-items: center;
|
|
4
|
-
border-radius: 0.25rem;
|
|
5
|
-
--bg-opacity: 1;
|
|
6
|
-
background-color: #fff;
|
|
7
|
-
background-color: rgba(255, 255, 255, var(--bg-opacity));
|
|
8
|
-
border-width: 1px;
|
|
9
|
-
border-style: solid;
|
|
10
|
-
--border-opacity: 1;
|
|
11
|
-
border-color: #e2e8f0;
|
|
12
|
-
border-color: rgba(226, 232, 240, var(--border-opacity));
|
|
13
|
-
line-height: 1;
|
|
14
|
-
-moz-user-select: none;
|
|
15
|
-
user-select: none
|
|
16
|
-
}
|
|
17
|
-
.mm-toolbar:hover {
|
|
18
|
-
--border-opacity: 1;
|
|
19
|
-
border-color: #cbd5e0;
|
|
20
|
-
border-color: rgba(203, 213, 224, var(--border-opacity));
|
|
21
|
-
}
|
|
22
|
-
.mm-toolbar svg {
|
|
23
|
-
display: block;
|
|
24
|
-
}
|
|
25
|
-
.mm-toolbar > * {
|
|
26
|
-
margin: 0.25rem;
|
|
27
|
-
cursor: pointer;
|
|
28
|
-
}
|
|
29
|
-
.mm-toolbar > * > * {
|
|
30
|
-
--text-opacity: 1;
|
|
31
|
-
color: #a0aec0;
|
|
32
|
-
color: rgba(160, 174, 192, var(--text-opacity));
|
|
33
|
-
}
|
|
34
|
-
.mm-toolbar > *:hover {
|
|
35
|
-
--bg-opacity: 1;
|
|
36
|
-
background-color: #edf2f7;
|
|
37
|
-
background-color: rgba(237, 242, 247, var(--bg-opacity));
|
|
38
|
-
border-radius: 0.25rem;
|
|
39
|
-
}
|
|
40
|
-
.mm-toolbar > *:hover > * {
|
|
41
|
-
--text-opacity: 1;
|
|
42
|
-
color: #2d3748;
|
|
43
|
-
color: rgba(45, 55, 72, var(--text-opacity));
|
|
44
|
-
}
|
|
45
|
-
.mm-toolbar-brand > img {
|
|
46
|
-
width: 1rem;
|
|
47
|
-
height: 1rem;
|
|
48
|
-
vertical-align: middle;
|
|
49
|
-
}
|
|
50
|
-
.mm-toolbar-brand > a {
|
|
51
|
-
display: inline-block;
|
|
52
|
-
font-size: 0.75rem;
|
|
53
|
-
text-decoration: none;
|
|
54
|
-
padding-right: 0.25rem;
|
|
55
|
-
}
|
|
56
|
-
.mm-toolbar-item > * {
|
|
57
|
-
min-width: 20px;
|
|
58
|
-
height: 20px;
|
|
59
|
-
line-height: 20px;
|
|
60
|
-
text-align: center;
|
|
61
|
-
}
|
|
1
|
+
.mm-toolbar{--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));border-radius:.25rem;border-style:solid;border-width:1px;display:flex;line-height:1;-moz-user-select:none;user-select:none}.mm-toolbar:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.mm-toolbar svg{display:block}.mm-toolbar>*{cursor:pointer;margin:.25rem}.mm-toolbar>*>*{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.mm-toolbar>:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));border-radius:.25rem}.mm-toolbar>:hover>*{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.mm-toolbar-brand>img{height:1rem;vertical-align:middle;width:1rem}.mm-toolbar-brand>a{display:inline-block;font-size:.75rem;line-height:1rem;padding-right:.25rem;-webkit-text-decoration-line:none;text-decoration-line:none}.mm-toolbar-item>*{height:20px;line-height:20px;min-width:20px;text-align:center}
|
package/package.json
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markmap-toolbar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Extensible toolbar for markmap",
|
|
5
5
|
"author": "Gerald <gera2ld@live.com>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"dev": "rollup -wc rollup.conf.js",
|
|
9
9
|
"clean": "del-cli dist types",
|
|
10
|
-
"lint": "eslint --ext .ts,.tsx .",
|
|
11
10
|
"build:types": "tsc",
|
|
12
11
|
"build:js": "rollup -c rollup.conf.js"
|
|
13
12
|
},
|
|
@@ -24,9 +23,12 @@
|
|
|
24
23
|
"registry": "https://registry.npmjs.org/"
|
|
25
24
|
},
|
|
26
25
|
"typings": "types/index.d.ts",
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"markmap-view": "^0.13.0"
|
|
28
|
+
},
|
|
27
29
|
"dependencies": {
|
|
28
|
-
"@babel/runtime": "^7.
|
|
29
|
-
"@gera2ld/jsx-dom": "^
|
|
30
|
+
"@babel/runtime": "^7.16.3",
|
|
31
|
+
"@gera2ld/jsx-dom": "^2.1.1"
|
|
30
32
|
},
|
|
31
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "4f5096be2e5ee0d666c0868dbb0d163b19b00ffe"
|
|
32
34
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './toolbar';
|
|
1
|
+
export * from './toolbar';
|
package/types/toolbar.d.ts
CHANGED
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
import '
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
private
|
|
12
|
-
private
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import { VChildren } from '@gera2ld/jsx-dom';
|
|
2
|
+
import type { Markmap } from 'markmap-view';
|
|
3
|
+
import './style.css';
|
|
4
|
+
interface IToolbarItem {
|
|
5
|
+
id?: string;
|
|
6
|
+
title?: string;
|
|
7
|
+
content: VChildren;
|
|
8
|
+
onClick?: (e: Event) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare class Toolbar {
|
|
11
|
+
private showBrand;
|
|
12
|
+
private registry;
|
|
13
|
+
private markmap;
|
|
14
|
+
private items;
|
|
15
|
+
static create(mm: Markmap): Node;
|
|
16
|
+
static icon(path: string, attrs?: {}): any;
|
|
17
|
+
constructor();
|
|
18
|
+
setBrand(show: boolean): void;
|
|
19
|
+
register(data: IToolbarItem & {
|
|
20
|
+
id: string;
|
|
21
|
+
}): void;
|
|
22
|
+
getHandler(handle: (mm: Markmap) => Promise<void>): () => void;
|
|
23
|
+
setItems(items: (string | IToolbarItem)[]): void;
|
|
24
|
+
attach(mm: Markmap): void;
|
|
25
|
+
render(): Node;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
package/dist/style.min.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.mm-toolbar{display:flex;align-items:center;border-radius:.25rem;--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));--border-opacity:1;border:1px solid #e2e8f0;border-color:rgba(226,232,240,var(--border-opacity));line-height:1;-moz-user-select:none;user-select:none}.mm-toolbar:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.mm-toolbar svg{display:block}.mm-toolbar>*{margin:.25rem;cursor:pointer}.mm-toolbar>*>*{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.mm-toolbar>:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity));border-radius:.25rem}.mm-toolbar>:hover>*{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.mm-toolbar-brand>img{width:1rem;height:1rem;vertical-align:middle}.mm-toolbar-brand>a{display:inline-block;font-size:.75rem;text-decoration:none;padding-right:.25rem}.mm-toolbar-item>*{min-width:20px;height:20px;line-height:20px;text-align:center}
|