@hypericon/mico 0.4.2 → 0.5.1
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/cjs/components/menu/Menu.d.ts +2 -0
- package/dist/cjs/components/menu/menu-manager.d.ts +2 -0
- package/dist/cjs/components/menu/menu-manager.js +18 -1
- package/dist/cjs/components/table/Table.d.ts +4 -0
- package/dist/cjs/components/table/Table.js +5 -1
- package/dist/cjs/components/tooltip/tooltip-function.d.ts +1 -1
- package/dist/cjs/components/tooltip/tooltip-function.js +1 -1
- package/dist/esm/components/accordion/index.d.ts +1 -0
- package/dist/esm/components/accordion/index.js +1 -0
- package/dist/esm/components/data-grid/index.d.ts +1 -0
- package/dist/esm/components/data-grid/index.js +1 -0
- package/dist/esm/components/data-table/index.d.ts +1 -0
- package/dist/esm/components/data-table/index.js +1 -0
- package/dist/esm/components/dialog/Dialog.js +2 -1
- package/dist/esm/components/dialog/dialog-manager.js +20 -13
- package/dist/esm/components/dialog/index.js +17 -1
- package/dist/esm/components/drag-handler/DragHandler.js +9 -3
- package/dist/esm/components/drag-handler/index.js +17 -1
- package/dist/esm/components/drawer/index.d.ts +1 -0
- package/dist/esm/components/drawer/index.js +1 -0
- package/dist/esm/components/drop-target/DropTarget.js +15 -9
- package/dist/esm/components/drop-target/drop-target.state.js +14 -10
- package/dist/esm/components/drop-target/index.js +17 -1
- package/dist/esm/components/form/Form.js +4 -1
- package/dist/esm/components/form/index.js +17 -1
- package/dist/esm/components/icon/Icon.js +9 -3
- package/dist/esm/components/icon/icons.js +2 -1
- package/dist/esm/components/icon/index.js +18 -2
- package/dist/esm/components/index.js +28 -12
- package/dist/esm/components/markdown/Markdown.js +15 -9
- package/dist/esm/components/markdown/index.js +17 -1
- package/dist/esm/components/markdown-editor/MarkdownEditor.js +70 -44
- package/dist/esm/components/markdown-editor/index.js +17 -1
- package/dist/esm/components/markdown-editor/markdown-editor.state.js +11 -7
- package/dist/esm/components/menu/Menu.d.ts +2 -0
- package/dist/esm/components/menu/Menu.js +16 -10
- package/dist/esm/components/menu/MenuButton.js +31 -25
- package/dist/esm/components/menu/MenuSeparator.js +11 -5
- package/dist/esm/components/menu/index.js +22 -6
- package/dist/esm/components/menu/menu-constants.js +4 -1
- package/dist/esm/components/menu/menu-manager.d.ts +2 -0
- package/dist/esm/components/menu/menu-manager.js +35 -11
- package/dist/esm/components/menu/menu-settings.js +4 -1
- package/dist/esm/components/modal/index.d.ts +1 -0
- package/dist/esm/components/modal/index.js +1 -0
- package/dist/esm/components/pagination/Pagination.js +35 -29
- package/dist/esm/components/pagination/index.js +18 -2
- package/dist/esm/components/pagination/pagination-settings.js +4 -1
- package/dist/esm/components/panel-tree/PanelTree.js +27 -21
- package/dist/esm/components/panel-tree/index.d.ts +1 -0
- package/dist/esm/components/panel-tree/index.js +1 -0
- package/dist/esm/components/panel-tree/panel-tree-constants.js +5 -2
- package/dist/esm/components/panel-tree/panel-tree-store.js +13 -9
- package/dist/esm/components/panel-tree/panel-tree-utils.js +7 -3
- package/dist/esm/components/popover/index.d.ts +1 -0
- package/dist/esm/components/popover/index.js +1 -0
- package/dist/esm/components/reorderable-list/RedorderableList.js +17 -11
- package/dist/esm/components/reorderable-list/index.d.ts +1 -0
- package/dist/esm/components/reorderable-list/index.js +1 -0
- package/dist/esm/components/select/Select.js +18 -12
- package/dist/esm/components/select/SelectOptionsPanel.js +19 -13
- package/dist/esm/components/select/constants.js +5 -2
- package/dist/esm/components/select/index.js +18 -2
- package/dist/esm/components/select/select-options-manager.js +7 -3
- package/dist/esm/components/tab-panel/TabPanel.js +19 -13
- package/dist/esm/components/tab-panel/index.js +19 -3
- package/dist/esm/components/tab-panel/tab-panel-default-settings.js +4 -1
- package/dist/esm/components/tab-panel/tab-panel-settings.js +2 -1
- package/dist/esm/components/table/Table.d.ts +4 -0
- package/dist/esm/components/table/Table.js +24 -13
- package/dist/esm/components/table/index.js +17 -1
- package/dist/esm/components/toast/index.js +17 -1
- package/dist/esm/components/toast/toast.js +39 -9
- package/dist/esm/components/tooltip/index.js +19 -3
- package/dist/esm/components/tooltip/tooltip-defaults.js +4 -1
- package/dist/esm/components/tooltip/tooltip-function.d.ts +1 -1
- package/dist/esm/components/tooltip/tooltip-function.js +26 -21
- package/dist/esm/components/tooltip/tooltip-interfaces.js +2 -1
- package/dist/esm/components/tree/Tree.js +29 -22
- package/dist/esm/components/tree/index.js +19 -3
- package/dist/esm/components/tree/tree-node.interface.js +2 -1
- package/dist/esm/components/tree/tree-utils.js +5 -1
- package/dist/esm/index.js +18 -2
- package/dist/esm/utils/date-time.js +7 -2
- package/dist/esm/utils/dom.js +7 -2
- package/dist/esm/utils/events.js +5 -1
- package/dist/esm/utils/index.js +19 -3
- package/package.json +1 -1
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Markdown"), exports);
|
|
@@ -1,11 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.MarkdownEditor = void 0;
|
|
27
|
+
const mithril_1 = __importStar(require("mithril"));
|
|
28
|
+
const Icon_1 = require("../icon/Icon");
|
|
29
|
+
const Markdown_1 = require("../markdown/Markdown");
|
|
30
|
+
const menu_1 = require("../menu");
|
|
31
|
+
const markdown_editor_state_1 = require("./markdown-editor.state");
|
|
32
|
+
exports.MarkdownEditor = {
|
|
7
33
|
oninit({ attrs }) {
|
|
8
|
-
this.state = new MarkdownEditorState(attrs.onEdit);
|
|
34
|
+
this.state = new markdown_editor_state_1.MarkdownEditorState(attrs.onEdit);
|
|
9
35
|
},
|
|
10
36
|
onremove() {
|
|
11
37
|
this.state.destroy();
|
|
@@ -27,94 +53,94 @@ export const MarkdownEditor = {
|
|
|
27
53
|
this.state.editValue = attrs.onEdit;
|
|
28
54
|
this.state.setSelection(0, 0);
|
|
29
55
|
setTimeout(() => {
|
|
30
|
-
redraw();
|
|
56
|
+
(0, mithril_1.redraw)();
|
|
31
57
|
}, 1);
|
|
32
58
|
}
|
|
33
59
|
if (this.state.requestSelection && this.state.editorEl) {
|
|
34
60
|
this.state.editorEl.setSelectionRange(this.state.requestSelection.start, this.state.requestSelection.end);
|
|
35
61
|
this.state.requestSelection = undefined;
|
|
36
|
-
redraw();
|
|
62
|
+
(0, mithril_1.redraw)();
|
|
37
63
|
}
|
|
38
64
|
this.state.isEditingPrevious = this.state.isEditing;
|
|
39
65
|
},
|
|
40
66
|
view({ attrs }) {
|
|
41
|
-
return
|
|
67
|
+
return (0, mithril_1.default)(".mico-markdown-editor", {
|
|
42
68
|
class: attrs.class,
|
|
43
69
|
style: attrs.style,
|
|
44
70
|
}, [
|
|
45
71
|
(!this.state.isEditing) ? [
|
|
46
|
-
|
|
72
|
+
(0, mithril_1.default)(".render-container", {
|
|
47
73
|
tabindex: 0,
|
|
48
74
|
onclick: () => {
|
|
49
75
|
this.state.isEditing = true;
|
|
50
76
|
},
|
|
51
77
|
}, [
|
|
52
|
-
|
|
78
|
+
(0, mithril_1.default)(Markdown_1.Markdown, {
|
|
53
79
|
highlight: attrs.highlight,
|
|
54
80
|
markdown: attrs.markdown,
|
|
55
81
|
}),
|
|
56
82
|
]),
|
|
57
83
|
] : [
|
|
58
|
-
|
|
84
|
+
(0, mithril_1.default)(".editor-container", [
|
|
59
85
|
// Editor buttons
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
86
|
+
(0, mithril_1.default)(".editor-buttons", [
|
|
87
|
+
(0, mithril_1.default)(".editor-button-group", [
|
|
88
|
+
(0, mithril_1.default)("button", {
|
|
63
89
|
title: "Ctrl+Shift+H",
|
|
64
90
|
onclick: () => this.state.applyHeading(),
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
onclick: (ev) => menuMgr.show(ev, [
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
91
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { fas: "heading" })),
|
|
92
|
+
(0, mithril_1.default)("button", {
|
|
93
|
+
onclick: (ev) => menu_1.menuMgr.show(ev, [
|
|
94
|
+
(0, mithril_1.default)(menu_1.MenuButton, { label: "Heading 1", onclick: () => this.state.applyHeading(1) }),
|
|
95
|
+
(0, mithril_1.default)(menu_1.MenuButton, { label: "Heading 2", onclick: () => this.state.applyHeading(2) }),
|
|
96
|
+
(0, mithril_1.default)(menu_1.MenuButton, { label: "Heading 3", onclick: () => this.state.applyHeading(3) }),
|
|
97
|
+
(0, mithril_1.default)(menu_1.MenuButton, { label: "Heading 4", onclick: () => this.state.applyHeading(4) }),
|
|
72
98
|
], {
|
|
73
99
|
noFlipH: true,
|
|
74
100
|
noFlipV: true,
|
|
75
101
|
}),
|
|
76
|
-
},
|
|
102
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { fas: "caret-down" })),
|
|
77
103
|
]),
|
|
78
|
-
|
|
79
|
-
|
|
104
|
+
(0, mithril_1.default)(".editor-button-group", [
|
|
105
|
+
(0, mithril_1.default)("button", {
|
|
80
106
|
title: "Ctrl+Shift+B",
|
|
81
107
|
onclick: () => this.state.applyBold(),
|
|
82
|
-
},
|
|
83
|
-
|
|
108
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { fas: "bold" })),
|
|
109
|
+
(0, mithril_1.default)("button", {
|
|
84
110
|
title: "Ctrl+Shift+I",
|
|
85
111
|
onclick: () => this.state.applyItalic(),
|
|
86
|
-
},
|
|
87
|
-
|
|
112
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { fas: "italic" })),
|
|
113
|
+
(0, mithril_1.default)("button", {
|
|
88
114
|
title: "Ctrl+Shift+C",
|
|
89
115
|
onclick: () => this.state.applyCode(),
|
|
90
|
-
},
|
|
91
|
-
|
|
116
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { fas: "code" })),
|
|
117
|
+
(0, mithril_1.default)("button", {
|
|
92
118
|
title: "Ctrl+Shift+S",
|
|
93
119
|
onclick: () => this.state.applyStrikethrough(),
|
|
94
|
-
},
|
|
120
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { fas: "strikethrough" })),
|
|
95
121
|
]),
|
|
96
|
-
|
|
97
|
-
|
|
122
|
+
(0, mithril_1.default)(".editor-button-group", [
|
|
123
|
+
(0, mithril_1.default)("button", {
|
|
98
124
|
title: "Ctrl+Shift+U",
|
|
99
125
|
onclick: () => this.state.applyUnorderedList(),
|
|
100
|
-
},
|
|
101
|
-
|
|
126
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { fas: "list-ul" })),
|
|
127
|
+
(0, mithril_1.default)("button", {
|
|
102
128
|
title: "Ctrl+Shift+O",
|
|
103
129
|
onclick: () => this.state.applyOrderedList(),
|
|
104
|
-
},
|
|
105
|
-
|
|
130
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { fas: "list-ol" })),
|
|
131
|
+
(0, mithril_1.default)("button", {
|
|
106
132
|
title: "Ctrl+Shift+L",
|
|
107
133
|
onclick: () => this.state.applyLink(),
|
|
108
|
-
},
|
|
134
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { fas: "link" })),
|
|
109
135
|
]),
|
|
110
|
-
attrs.onHelp !== undefined ?
|
|
111
|
-
|
|
136
|
+
attrs.onHelp !== undefined ? (0, mithril_1.default)(".editor-button-group", [
|
|
137
|
+
(0, mithril_1.default)("button", {
|
|
112
138
|
onclick: () => { var _a; return (_a = attrs.onHelp) === null || _a === void 0 ? void 0 : _a.call(attrs); },
|
|
113
|
-
},
|
|
139
|
+
}, (0, mithril_1.default)(Icon_1.Icon, { far: "circle-question" })),
|
|
114
140
|
]) : [],
|
|
115
141
|
]),
|
|
116
142
|
// Editor content
|
|
117
|
-
|
|
143
|
+
(0, mithril_1.default)("textarea.editor-textarea", {
|
|
118
144
|
rows: this.state.editorValue.split("\n").length + 1,
|
|
119
145
|
value: this.state.editorValue,
|
|
120
146
|
oninput: (e) => {
|
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./MarkdownEditor"), exports);
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarkdownEditorState = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const mithril_1 = require("mithril");
|
|
7
|
+
class MarkdownEditorState {
|
|
5
8
|
constructor(editValue) {
|
|
6
|
-
this.subs = new Subscription();
|
|
9
|
+
this.subs = new rxjs_1.Subscription();
|
|
7
10
|
this.isEditing = false;
|
|
8
11
|
this.isEditingPrevious = false;
|
|
9
12
|
this.editorValue = "";
|
|
@@ -14,9 +17,9 @@ export class MarkdownEditorState {
|
|
|
14
17
|
this.editValue = editValue;
|
|
15
18
|
const onclick = (ev) => {
|
|
16
19
|
if (this.isEditing && this.editorContainerEl) {
|
|
17
|
-
if (!mouseWithinElement(ev, this.editorContainerEl)) {
|
|
20
|
+
if (!(0, utils_1.mouseWithinElement)(ev, this.editorContainerEl)) {
|
|
18
21
|
this.isEditing = false;
|
|
19
|
-
redraw();
|
|
22
|
+
(0, mithril_1.redraw)();
|
|
20
23
|
}
|
|
21
24
|
}
|
|
22
25
|
};
|
|
@@ -253,3 +256,4 @@ export class MarkdownEditorState {
|
|
|
253
256
|
this.requestSelection = { start: newSelection, end: newSelection };
|
|
254
257
|
}
|
|
255
258
|
}
|
|
259
|
+
exports.MarkdownEditorState = MarkdownEditorState;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Menu = void 0;
|
|
7
|
+
const mithril_1 = __importDefault(require("mithril"));
|
|
8
|
+
const menu_constants_1 = require("./menu-constants");
|
|
9
|
+
const menu_settings_1 = require("./menu-settings");
|
|
10
|
+
exports.Menu = {
|
|
5
11
|
oninit() { },
|
|
6
12
|
oncreate({ dom }) {
|
|
7
13
|
if (dom) {
|
|
@@ -14,12 +20,12 @@ export const Menu = {
|
|
|
14
20
|
},
|
|
15
21
|
view({ attrs, children }) {
|
|
16
22
|
var _a, _b, _c, _d, _e, _f;
|
|
17
|
-
const maxWidthPx = Math.min(window.innerWidth, MENU_CONSTANTS.MAX_WIDTH_PX);
|
|
23
|
+
const maxWidthPx = Math.min(window.innerWidth, menu_constants_1.MENU_CONSTANTS.MAX_WIDTH_PX);
|
|
18
24
|
const maxHeightPx = window.innerHeight / 2;
|
|
19
25
|
const xPx = (_a = attrs.x) !== null && _a !== void 0 ? _a : 0;
|
|
20
26
|
const yPx = (_b = attrs.y) !== null && _b !== void 0 ? _b : 0;
|
|
21
|
-
let flipH = ((xPx + MENU_CONSTANTS.MIN_WIDTH_PX) > window.innerWidth);
|
|
22
|
-
let flipV = MENU_SETTINGS.ANCHOR === "page"
|
|
27
|
+
let flipH = ((xPx + menu_constants_1.MENU_CONSTANTS.MIN_WIDTH_PX) > window.innerWidth);
|
|
28
|
+
let flipV = menu_settings_1.MENU_SETTINGS.ANCHOR === "page"
|
|
23
29
|
? ((yPx + maxHeightPx - window.scrollY) > window.innerHeight)
|
|
24
30
|
: ((yPx + maxHeightPx) > window.innerHeight);
|
|
25
31
|
if (((_c = attrs.options) === null || _c === void 0 ? void 0 : _c.noFlipH) === true)
|
|
@@ -40,10 +46,10 @@ export const Menu = {
|
|
|
40
46
|
// TODO: don't let the menu width actually touch the screen width; it will fall off the left hand side
|
|
41
47
|
const posH = flipH ? `right: ${window.innerWidth - xPx}px;` : `left: ${xPx}px;`;
|
|
42
48
|
const posV = flipV ? `bottom: ${window.innerHeight - yPx}px;` : `top: ${yPx}px;`;
|
|
43
|
-
return
|
|
49
|
+
return (0, mithril_1.default)("", {
|
|
44
50
|
key: Date.now(),
|
|
45
|
-
class: `mico-menu ${MENU_SETTINGS.MENU_CLASS}`,
|
|
46
|
-
style: `position: absolute; overflow-y: auto; overflow-x: hidden; ${posH} ${posV} z-index: 100; min-width: ${MENU_CONSTANTS.MIN_WIDTH_PX}px; max-width: ${maxWidthPx}px; max-height: ${maxHeightPx}px;`,
|
|
51
|
+
class: `mico-menu ${menu_settings_1.MENU_SETTINGS.MENU_CLASS}`,
|
|
52
|
+
style: `position: absolute; overflow-y: auto; overflow-x: hidden; ${posH} ${posV} z-index: 100; min-width: ${menu_constants_1.MENU_CONSTANTS.MIN_WIDTH_PX}px; max-width: ${maxWidthPx}px; max-height: ${maxHeightPx}px;`,
|
|
47
53
|
tabIndex: -1,
|
|
48
54
|
onkeydown: (ev) => {
|
|
49
55
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -1,55 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MenuButton = void 0;
|
|
7
|
+
const mithril_1 = __importDefault(require("mithril"));
|
|
8
|
+
const icon_1 = require("../icon");
|
|
9
|
+
const menu_settings_1 = require("./menu-settings");
|
|
10
|
+
exports.MenuButton = {
|
|
5
11
|
view({ attrs }) {
|
|
6
12
|
var _a, _b, _c, _d;
|
|
7
13
|
return (attrs.href !== undefined) ? [
|
|
8
|
-
|
|
9
|
-
class: `mico-menu-button ${(_a = attrs.class) !== null && _a !== void 0 ? _a : ""} ${MENU_SETTINGS.MENU_BUTTON_CLASS}`,
|
|
14
|
+
(0, mithril_1.default)(mithril_1.default.route.Link, {
|
|
15
|
+
class: `mico-menu-button ${(_a = attrs.class) !== null && _a !== void 0 ? _a : ""} ${menu_settings_1.MENU_SETTINGS.MENU_BUTTON_CLASS}`,
|
|
10
16
|
style: `${(_b = attrs.style) !== null && _b !== void 0 ? _b : ""} width: 100%; height: 1.5rem; padding-right: 0.5rem; display: flex; align-items: center;`,
|
|
11
17
|
href: attrs.href,
|
|
12
18
|
disabled: attrs.disabled,
|
|
13
19
|
onclick: (ev) => {
|
|
14
20
|
var _a;
|
|
15
21
|
(_a = attrs.onclick) === null || _a === void 0 ? void 0 : _a.call(attrs, ev);
|
|
16
|
-
|
|
22
|
+
mithril_1.default.redraw();
|
|
17
23
|
},
|
|
18
24
|
}, [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
(0, mithril_1.default)(ButtonIcon, { icon: attrs.icon }),
|
|
26
|
+
(0, mithril_1.default)(ButtonLabel, { label: attrs.label }),
|
|
27
|
+
(0, mithril_1.default)("", { style: "flex: 1 1 0%;" }),
|
|
28
|
+
(0, mithril_1.default)(ButtonHint, { hint: attrs.hint }),
|
|
23
29
|
]),
|
|
24
30
|
] : [
|
|
25
|
-
|
|
26
|
-
class: `mico-menu-button ${(_c = attrs.class) !== null && _c !== void 0 ? _c : ""} ${MENU_SETTINGS.MENU_BUTTON_CLASS}`,
|
|
31
|
+
(0, mithril_1.default)("button", {
|
|
32
|
+
class: `mico-menu-button ${(_c = attrs.class) !== null && _c !== void 0 ? _c : ""} ${menu_settings_1.MENU_SETTINGS.MENU_BUTTON_CLASS}`,
|
|
27
33
|
style: `${(_d = attrs.style) !== null && _d !== void 0 ? _d : ""} width: 100%; height: 1.5rem; padding-right: 0.5rem; display: flex; align-items: center;`,
|
|
28
34
|
disabled: attrs.disabled,
|
|
29
35
|
onclick: (ev) => {
|
|
30
36
|
var _a;
|
|
31
37
|
(_a = attrs.onclick) === null || _a === void 0 ? void 0 : _a.call(attrs, ev);
|
|
32
|
-
|
|
38
|
+
mithril_1.default.redraw();
|
|
33
39
|
},
|
|
34
40
|
}, [
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
(0, mithril_1.default)(ButtonIcon, { icon: attrs.icon }),
|
|
42
|
+
(0, mithril_1.default)(ButtonLabel, { label: attrs.label }),
|
|
43
|
+
(0, mithril_1.default)("", { style: "flex: 1 1 0%;" }),
|
|
44
|
+
(0, mithril_1.default)(ButtonHint, { hint: attrs.hint }),
|
|
39
45
|
]),
|
|
40
46
|
];
|
|
41
47
|
}
|
|
42
48
|
};
|
|
43
49
|
const ButtonIcon = {
|
|
44
50
|
view({ attrs }) {
|
|
45
|
-
return
|
|
51
|
+
return (0, mithril_1.default)("", {
|
|
46
52
|
// class: attrs.disabled ? "text-disabled" : "text-icon",
|
|
47
|
-
class: `mico-menu-button-icon ${MENU_SETTINGS.MENU_BUTTON_ICON_CLASS}`,
|
|
53
|
+
class: `mico-menu-button-icon ${menu_settings_1.MENU_SETTINGS.MENU_BUTTON_ICON_CLASS}`,
|
|
48
54
|
style: "width: 2rem; flex: none; display: flex; align-items: center; justify-content: space-around;",
|
|
49
55
|
}, [
|
|
50
56
|
attrs.icon ? [
|
|
51
57
|
("fas" in attrs.icon || "far" in attrs.icon || "fab" in attrs.icon)
|
|
52
|
-
?
|
|
58
|
+
? (0, mithril_1.default)(icon_1.Icon, Object.assign({}, attrs.icon))
|
|
53
59
|
: attrs.icon,
|
|
54
60
|
] : [],
|
|
55
61
|
]);
|
|
@@ -57,8 +63,8 @@ const ButtonIcon = {
|
|
|
57
63
|
};
|
|
58
64
|
const ButtonLabel = {
|
|
59
65
|
view({ attrs }) {
|
|
60
|
-
return
|
|
61
|
-
class: `mico-menu-button-label ${MENU_SETTINGS.MENU_BUTTON_LABEL_CLASS}`,
|
|
66
|
+
return (0, mithril_1.default)("span", {
|
|
67
|
+
class: `mico-menu-button-label ${menu_settings_1.MENU_SETTINGS.MENU_BUTTON_LABEL_CLASS}`,
|
|
62
68
|
style: "overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",
|
|
63
69
|
}, attrs.label);
|
|
64
70
|
}
|
|
@@ -66,8 +72,8 @@ const ButtonLabel = {
|
|
|
66
72
|
const ButtonHint = {
|
|
67
73
|
view({ attrs }) {
|
|
68
74
|
return attrs.hint
|
|
69
|
-
?
|
|
70
|
-
class: `mico-menu-button-hint ${MENU_SETTINGS.MENU_BUTTON_HINT_CLASS}`,
|
|
75
|
+
? (0, mithril_1.default)("span", {
|
|
76
|
+
class: `mico-menu-button-hint ${menu_settings_1.MENU_SETTINGS.MENU_BUTTON_HINT_CLASS}`,
|
|
71
77
|
style: "overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",
|
|
72
78
|
}, attrs.hint)
|
|
73
79
|
: [];
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MenuSeparator = void 0;
|
|
7
|
+
const mithril_1 = __importDefault(require("mithril"));
|
|
8
|
+
const menu_settings_1 = require("./menu-settings");
|
|
9
|
+
exports.MenuSeparator = {
|
|
4
10
|
view() {
|
|
5
11
|
// return m(".my-2.ml-8.mr-2.border-b.border-slate-300");
|
|
6
|
-
return
|
|
7
|
-
class: `mico-menu-separator ${MENU_SETTINGS.MENU_SEPARATOR_CLASS}`,
|
|
12
|
+
return (0, mithril_1.default)("", {
|
|
13
|
+
class: `mico-menu-separator ${menu_settings_1.MENU_SETTINGS.MENU_SEPARATOR_CLASS}`,
|
|
8
14
|
style: "margin: 0.25rem 0; border-bottom-width: 1px; border-bottom-style: solid;",
|
|
9
15
|
});
|
|
10
16
|
}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Menu"), exports);
|
|
18
|
+
__exportStar(require("./MenuButton"), exports);
|
|
19
|
+
__exportStar(require("./MenuSeparator"), exports);
|
|
20
|
+
__exportStar(require("./menu-constants"), exports);
|
|
21
|
+
__exportStar(require("./menu-manager"), exports);
|
|
22
|
+
__exportStar(require("./menu-settings"), exports);
|
|
@@ -2,6 +2,8 @@ import m from "mithril";
|
|
|
2
2
|
import { MenuOptions } from "./Menu";
|
|
3
3
|
export declare class MenuManager {
|
|
4
4
|
private containerEl;
|
|
5
|
+
private directParentEl;
|
|
6
|
+
private directParentWrapperEl;
|
|
5
7
|
private _menuVnode;
|
|
6
8
|
menuVnode$: import("rxjs").Observable<m.Vnode<any, any> | undefined>;
|
|
7
9
|
get menuVnode(): m.Vnode<any, any> | undefined;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -7,18 +8,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.menuMgr = exports.MenuManager = void 0;
|
|
16
|
+
const mithril_1 = __importDefault(require("mithril"));
|
|
17
|
+
const rxjs_1 = require("rxjs");
|
|
18
|
+
const Menu_1 = require("./Menu");
|
|
19
|
+
const menu_settings_1 = require("./menu-settings");
|
|
20
|
+
class MenuManager {
|
|
15
21
|
get menuVnode() { return this._menuVnode.value; }
|
|
16
22
|
get isOpen() {
|
|
17
23
|
return Boolean(this.menuVnode);
|
|
18
24
|
}
|
|
19
25
|
constructor() {
|
|
20
|
-
this._menuVnode = new BehaviorSubject(undefined);
|
|
26
|
+
this._menuVnode = new rxjs_1.BehaviorSubject(undefined);
|
|
21
27
|
this.menuVnode$ = this._menuVnode.asObservable();
|
|
28
|
+
// Set up the default container element for the menu
|
|
22
29
|
this.containerEl = document.createElement("div");
|
|
23
30
|
this.containerEl.classList.add("menu-container");
|
|
24
31
|
document.body.append(this.containerEl);
|
|
@@ -51,22 +58,39 @@ export class MenuManager {
|
|
|
51
58
|
yield new Promise((resolve, reject) => {
|
|
52
59
|
setTimeout(() => resolve(), 0);
|
|
53
60
|
});
|
|
54
|
-
const menuVnode =
|
|
61
|
+
const menuVnode = (0, mithril_1.default)(Menu_1.Menu, {
|
|
55
62
|
x: ev === null || ev === void 0 ? void 0 : ev.clientX,
|
|
56
|
-
y: MENU_SETTINGS.ANCHOR === "page" ? ev === null || ev === void 0 ? void 0 : ev.pageY : ev === null || ev === void 0 ? void 0 : ev.clientY,
|
|
63
|
+
y: menu_settings_1.MENU_SETTINGS.ANCHOR === "page" ? ev === null || ev === void 0 ? void 0 : ev.pageY : ev === null || ev === void 0 ? void 0 : ev.clientY,
|
|
57
64
|
options,
|
|
58
65
|
}, [
|
|
59
66
|
menuContents,
|
|
60
67
|
]);
|
|
61
68
|
this._menuVnode.next(menuVnode);
|
|
62
|
-
m.render(this.containerEl, menuVnode);
|
|
69
|
+
// m.render(this.containerEl, menuVnode);
|
|
70
|
+
if ((options === null || options === void 0 ? void 0 : options.asChild) && (ev === null || ev === void 0 ? void 0 : ev.target) && ev.target instanceof HTMLElement) {
|
|
71
|
+
this.directParentEl = ev.target;
|
|
72
|
+
// m.render(ev.target, menuVnode);
|
|
73
|
+
// this.containerEl = ev.target;
|
|
74
|
+
this.directParentWrapperEl = document.createElement("div");
|
|
75
|
+
this.directParentEl.append(this.directParentWrapperEl);
|
|
76
|
+
mithril_1.default.render(this.directParentWrapperEl, menuVnode);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
mithril_1.default.render(this.containerEl, menuVnode);
|
|
80
|
+
}
|
|
81
|
+
// m.render(this.containerEl, menuVnode);
|
|
63
82
|
// console.log("Added menu");
|
|
64
83
|
});
|
|
65
84
|
}
|
|
66
85
|
hide() {
|
|
86
|
+
var _a;
|
|
67
87
|
this._menuVnode.next(undefined);
|
|
68
|
-
|
|
88
|
+
mithril_1.default.render(this.containerEl, []);
|
|
89
|
+
(_a = this.directParentWrapperEl) === null || _a === void 0 ? void 0 : _a.remove();
|
|
90
|
+
this.directParentWrapperEl = undefined;
|
|
91
|
+
this.directParentEl = undefined;
|
|
69
92
|
// console.log("Closed menu");
|
|
70
93
|
}
|
|
71
94
|
}
|
|
72
|
-
|
|
95
|
+
exports.MenuManager = MenuManager;
|
|
96
|
+
exports.menuMgr = new MenuManager();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|