@hypericon/mico 0.3.23 → 0.4.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/README.md +2 -0
- package/dist/{components → cjs/components}/index.d.ts +2 -0
- package/dist/{components → cjs/components}/index.js +2 -2
- package/dist/cjs/components/toast/index.d.ts +1 -0
- package/dist/cjs/components/toast/index.js +17 -0
- package/dist/cjs/components/toast/toast.d.ts +15 -0
- package/dist/cjs/components/toast/toast.js +61 -0
- package/dist/cjs/components/tooltip/index.d.ts +3 -0
- package/dist/cjs/components/tooltip/index.js +19 -0
- package/dist/cjs/components/tooltip/tooltip-defaults.d.ts +23 -0
- package/dist/cjs/components/tooltip/tooltip-defaults.js +25 -0
- package/dist/cjs/components/tooltip/tooltip-function.d.ts +35 -0
- package/dist/cjs/components/tooltip/tooltip-function.js +205 -0
- package/dist/cjs/components/tooltip/tooltip-interfaces.d.ts +11 -0
- package/dist/cjs/components/tree/tree-node.interface.js +2 -0
- package/dist/esm/components/data-table/index.js +1 -0
- package/dist/esm/components/dialog/Dialog.d.ts +1 -0
- package/dist/esm/components/dialog/Dialog.js +10 -0
- package/dist/esm/components/dialog/dialog-manager.d.ts +45 -0
- package/dist/esm/components/dialog/dialog-manager.js +163 -0
- package/dist/esm/components/dialog/index.d.ts +1 -0
- package/dist/esm/components/dialog/index.js +2 -0
- package/dist/esm/components/drag-handler/DragHandler.d.ts +40 -0
- package/dist/esm/components/drag-handler/DragHandler.js +104 -0
- package/dist/esm/components/drag-handler/index.d.ts +1 -0
- package/dist/esm/components/drag-handler/index.js +1 -0
- package/dist/esm/components/drawer/index.d.ts +0 -0
- package/dist/esm/components/drawer/index.js +1 -0
- package/dist/esm/components/drop-target/DropTarget.d.ts +24 -0
- package/dist/esm/components/drop-target/DropTarget.js +56 -0
- package/dist/esm/components/drop-target/drop-target.state.d.ts +9 -0
- package/dist/esm/components/drop-target/drop-target.state.js +73 -0
- package/dist/esm/components/drop-target/index.d.ts +1 -0
- package/dist/esm/components/drop-target/index.js +1 -0
- package/dist/esm/components/form/Form.d.ts +2 -0
- package/dist/esm/components/form/Form.js +9 -0
- package/dist/esm/components/form/index.d.ts +1 -0
- package/dist/esm/components/form/index.js +1 -0
- package/dist/esm/components/icon/Icon.d.ts +21 -0
- package/dist/esm/components/icon/Icon.js +22 -0
- package/dist/esm/components/icon/icons.d.ts +3 -0
- package/dist/esm/components/icon/icons.js +1 -0
- package/dist/esm/components/icon/index.d.ts +2 -0
- package/dist/esm/components/icon/index.js +2 -0
- package/dist/esm/components/index.d.ts +12 -0
- package/dist/esm/components/index.js +20 -0
- package/dist/esm/components/markdown/Markdown.d.ts +34 -0
- package/dist/esm/components/markdown/Markdown.js +55 -0
- package/dist/esm/components/markdown/index.d.ts +1 -0
- package/dist/esm/components/markdown/index.js +1 -0
- package/dist/esm/components/markdown-editor/MarkdownEditor.d.ts +21 -0
- package/dist/esm/components/markdown-editor/MarkdownEditor.js +181 -0
- package/dist/esm/components/markdown-editor/index.d.ts +1 -0
- package/dist/esm/components/markdown-editor/index.js +1 -0
- package/dist/esm/components/markdown-editor/markdown-editor.state.d.ts +31 -0
- package/dist/esm/components/markdown-editor/markdown-editor.state.js +255 -0
- package/dist/esm/components/menu/Menu.d.ts +14 -0
- package/dist/esm/components/menu/Menu.js +81 -0
- package/dist/esm/components/menu/MenuButton.d.ts +16 -0
- package/dist/esm/components/menu/MenuButton.js +75 -0
- package/dist/esm/components/menu/MenuSeparator.d.ts +2 -0
- package/dist/esm/components/menu/MenuSeparator.js +11 -0
- package/dist/esm/components/menu/index.d.ts +6 -0
- package/dist/esm/components/menu/index.js +6 -0
- package/dist/esm/components/menu/menu-constants.d.ts +4 -0
- package/dist/esm/components/menu/menu-constants.js +4 -0
- package/dist/esm/components/menu/menu-manager.d.ts +22 -0
- package/dist/esm/components/menu/menu-manager.js +72 -0
- package/dist/esm/components/menu/menu-settings.d.ts +9 -0
- package/dist/esm/components/menu/menu-settings.js +9 -0
- package/dist/esm/components/modal/index.d.ts +0 -0
- package/dist/esm/components/modal/index.js +1 -0
- package/dist/esm/components/pagination/Pagination.d.ts +40 -0
- package/dist/esm/components/pagination/Pagination.js +66 -0
- package/dist/esm/components/pagination/index.d.ts +2 -0
- package/dist/esm/components/pagination/index.js +2 -0
- package/dist/esm/components/pagination/pagination-settings.d.ts +17 -0
- package/dist/esm/components/pagination/pagination-settings.js +16 -0
- package/dist/esm/components/panel-tree/PanelTree.d.ts +26 -0
- package/dist/esm/components/panel-tree/PanelTree.js +174 -0
- package/dist/esm/components/panel-tree/index.d.ts +0 -0
- package/dist/esm/components/panel-tree/index.js +1 -0
- package/dist/esm/components/panel-tree/panel-tree-constants.d.ts +3 -0
- package/dist/esm/components/panel-tree/panel-tree-constants.js +3 -0
- package/dist/esm/components/panel-tree/panel-tree-store.d.ts +23 -0
- package/dist/esm/components/panel-tree/panel-tree-store.js +59 -0
- package/dist/esm/components/panel-tree/panel-tree-utils.d.ts +17 -0
- package/dist/esm/components/panel-tree/panel-tree-utils.js +55 -0
- package/dist/esm/components/popover/index.d.ts +0 -0
- package/dist/esm/components/popover/index.js +1 -0
- package/dist/esm/components/reorderable-list/RedorderableList.d.ts +55 -0
- package/dist/esm/components/reorderable-list/RedorderableList.js +202 -0
- package/dist/esm/components/reorderable-list/index.d.ts +0 -0
- package/dist/esm/components/reorderable-list/index.js +1 -0
- package/dist/esm/components/select/Select.d.ts +44 -0
- package/dist/esm/components/select/Select.js +108 -0
- package/dist/esm/components/select/SelectOptionsPanel.d.ts +21 -0
- package/dist/esm/components/select/SelectOptionsPanel.js +168 -0
- package/dist/esm/components/select/constants.d.ts +2 -0
- package/dist/esm/components/select/constants.js +2 -0
- package/dist/esm/components/select/index.d.ts +2 -0
- package/dist/esm/components/select/index.js +3 -0
- package/dist/esm/components/select/select-options-manager.d.ts +39 -0
- package/dist/esm/components/select/select-options-manager.js +63 -0
- package/dist/esm/components/tab-panel/TabPanel.d.ts +23 -0
- package/dist/esm/components/tab-panel/TabPanel.js +88 -0
- package/dist/esm/components/tab-panel/index.d.ts +3 -0
- package/dist/esm/components/tab-panel/index.js +3 -0
- package/dist/esm/components/tab-panel/tab-panel-default-settings.d.ts +17 -0
- package/dist/esm/components/tab-panel/tab-panel-default-settings.js +17 -0
- package/dist/esm/components/tab-panel/tab-panel-settings.d.ts +28 -0
- package/dist/esm/components/tab-panel/tab-panel-settings.js +11 -0
- package/dist/esm/components/table/Table.d.ts +64 -0
- package/dist/esm/components/table/Table.js +68 -0
- package/dist/esm/components/table/index.d.ts +1 -0
- package/dist/esm/components/table/index.js +1 -0
- package/dist/esm/components/toast/index.d.ts +1 -0
- package/dist/esm/components/toast/index.js +1 -0
- package/dist/esm/components/toast/toast.d.ts +15 -0
- package/dist/esm/components/toast/toast.js +31 -0
- package/dist/esm/components/tooltip/index.d.ts +3 -0
- package/dist/esm/components/tooltip/index.js +3 -0
- package/dist/esm/components/tooltip/tooltip-defaults.d.ts +23 -0
- package/dist/esm/components/tooltip/tooltip-defaults.js +22 -0
- package/dist/esm/components/tooltip/tooltip-function.d.ts +35 -0
- package/dist/esm/components/tooltip/tooltip-function.js +200 -0
- package/dist/esm/components/tooltip/tooltip-interfaces.d.ts +11 -0
- package/dist/esm/components/tooltip/tooltip-interfaces.js +1 -0
- package/dist/esm/components/tree/Tree.d.ts +110 -0
- package/dist/esm/components/tree/Tree.js +222 -0
- package/dist/esm/components/tree/index.d.ts +3 -0
- package/dist/esm/components/tree/index.js +3 -0
- package/dist/esm/components/tree/tree-node.interface.d.ts +9 -0
- package/dist/esm/components/tree/tree-node.interface.js +1 -0
- package/dist/esm/components/tree/tree-utils.d.ts +11 -0
- package/dist/esm/components/tree/tree-utils.js +18 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/utils/date-time.d.ts +3 -0
- package/dist/esm/utils/date-time.js +22 -0
- package/dist/esm/utils/dom.d.ts +16 -0
- package/dist/esm/utils/dom.js +28 -0
- package/dist/esm/utils/events.d.ts +1 -0
- package/dist/esm/utils/events.js +25 -0
- package/dist/esm/utils/index.d.ts +3 -0
- package/dist/esm/utils/index.js +3 -0
- package/package.json +10 -4
- package/dist/components/tooltip/tooltip-function.js +0 -204
- /package/dist/{components → cjs/components}/accordion/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/accordion/index.js +0 -0
- /package/dist/{components → cjs/components}/data-grid/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/data-grid/index.js +0 -0
- /package/dist/{components → cjs/components}/data-table/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/data-table/index.js +0 -0
- /package/dist/{components → cjs/components}/dialog/Dialog.d.ts +0 -0
- /package/dist/{components → cjs/components}/dialog/Dialog.js +0 -0
- /package/dist/{components → cjs/components}/dialog/dialog-manager.d.ts +0 -0
- /package/dist/{components → cjs/components}/dialog/dialog-manager.js +0 -0
- /package/dist/{components → cjs/components}/dialog/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/dialog/index.js +0 -0
- /package/dist/{components → cjs/components}/drag-handler/DragHandler.d.ts +0 -0
- /package/dist/{components → cjs/components}/drag-handler/DragHandler.js +0 -0
- /package/dist/{components → cjs/components}/drag-handler/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/drag-handler/index.js +0 -0
- /package/dist/{components → cjs/components}/drawer/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/drawer/index.js +0 -0
- /package/dist/{components → cjs/components}/drop-target/DropTarget.d.ts +0 -0
- /package/dist/{components → cjs/components}/drop-target/DropTarget.js +0 -0
- /package/dist/{components → cjs/components}/drop-target/drop-target.state.d.ts +0 -0
- /package/dist/{components → cjs/components}/drop-target/drop-target.state.js +0 -0
- /package/dist/{components → cjs/components}/drop-target/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/drop-target/index.js +0 -0
- /package/dist/{components → cjs/components}/form/Form.d.ts +0 -0
- /package/dist/{components → cjs/components}/form/Form.js +0 -0
- /package/dist/{components → cjs/components}/form/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/form/index.js +0 -0
- /package/dist/{components → cjs/components}/icon/Icon.d.ts +0 -0
- /package/dist/{components → cjs/components}/icon/Icon.js +0 -0
- /package/dist/{components → cjs/components}/icon/icons.d.ts +0 -0
- /package/dist/{components → cjs/components}/icon/icons.js +0 -0
- /package/dist/{components → cjs/components}/icon/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/icon/index.js +0 -0
- /package/dist/{components → cjs/components}/markdown/Markdown.d.ts +0 -0
- /package/dist/{components → cjs/components}/markdown/Markdown.js +0 -0
- /package/dist/{components → cjs/components}/markdown/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/markdown/index.js +0 -0
- /package/dist/{components → cjs/components}/markdown-editor/MarkdownEditor.d.ts +0 -0
- /package/dist/{components → cjs/components}/markdown-editor/MarkdownEditor.js +0 -0
- /package/dist/{components → cjs/components}/markdown-editor/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/markdown-editor/index.js +0 -0
- /package/dist/{components → cjs/components}/markdown-editor/markdown-editor.state.d.ts +0 -0
- /package/dist/{components → cjs/components}/markdown-editor/markdown-editor.state.js +0 -0
- /package/dist/{components → cjs/components}/menu/Menu.d.ts +0 -0
- /package/dist/{components → cjs/components}/menu/Menu.js +0 -0
- /package/dist/{components → cjs/components}/menu/MenuButton.d.ts +0 -0
- /package/dist/{components → cjs/components}/menu/MenuButton.js +0 -0
- /package/dist/{components → cjs/components}/menu/MenuSeparator.d.ts +0 -0
- /package/dist/{components → cjs/components}/menu/MenuSeparator.js +0 -0
- /package/dist/{components → cjs/components}/menu/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/menu/index.js +0 -0
- /package/dist/{components → cjs/components}/menu/menu-constants.d.ts +0 -0
- /package/dist/{components → cjs/components}/menu/menu-constants.js +0 -0
- /package/dist/{components → cjs/components}/menu/menu-manager.d.ts +0 -0
- /package/dist/{components → cjs/components}/menu/menu-manager.js +0 -0
- /package/dist/{components → cjs/components}/menu/menu-settings.d.ts +0 -0
- /package/dist/{components → cjs/components}/menu/menu-settings.js +0 -0
- /package/dist/{components → cjs/components}/modal/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/modal/index.js +0 -0
- /package/dist/{components → cjs/components}/pagination/Pagination.d.ts +0 -0
- /package/dist/{components → cjs/components}/pagination/Pagination.js +0 -0
- /package/dist/{components → cjs/components}/pagination/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/pagination/index.js +0 -0
- /package/dist/{components → cjs/components}/pagination/pagination-settings.d.ts +0 -0
- /package/dist/{components → cjs/components}/pagination/pagination-settings.js +0 -0
- /package/dist/{components → cjs/components}/panel-tree/PanelTree.d.ts +0 -0
- /package/dist/{components → cjs/components}/panel-tree/PanelTree.js +0 -0
- /package/dist/{components → cjs/components}/panel-tree/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/panel-tree/index.js +0 -0
- /package/dist/{components → cjs/components}/panel-tree/panel-tree-constants.d.ts +0 -0
- /package/dist/{components → cjs/components}/panel-tree/panel-tree-constants.js +0 -0
- /package/dist/{components → cjs/components}/panel-tree/panel-tree-store.d.ts +0 -0
- /package/dist/{components → cjs/components}/panel-tree/panel-tree-store.js +0 -0
- /package/dist/{components → cjs/components}/panel-tree/panel-tree-utils.d.ts +0 -0
- /package/dist/{components → cjs/components}/panel-tree/panel-tree-utils.js +0 -0
- /package/dist/{components → cjs/components}/popover/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/popover/index.js +0 -0
- /package/dist/{components → cjs/components}/reorderable-list/RedorderableList.d.ts +0 -0
- /package/dist/{components → cjs/components}/reorderable-list/RedorderableList.js +0 -0
- /package/dist/{components → cjs/components}/reorderable-list/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/reorderable-list/index.js +0 -0
- /package/dist/{components → cjs/components}/select/Select.d.ts +0 -0
- /package/dist/{components → cjs/components}/select/Select.js +0 -0
- /package/dist/{components → cjs/components}/select/SelectOptionsPanel.d.ts +0 -0
- /package/dist/{components → cjs/components}/select/SelectOptionsPanel.js +0 -0
- /package/dist/{components → cjs/components}/select/constants.d.ts +0 -0
- /package/dist/{components → cjs/components}/select/constants.js +0 -0
- /package/dist/{components → cjs/components}/select/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/select/index.js +0 -0
- /package/dist/{components → cjs/components}/select/select-options-manager.d.ts +0 -0
- /package/dist/{components → cjs/components}/select/select-options-manager.js +0 -0
- /package/dist/{components → cjs/components}/tab-panel/TabPanel.d.ts +0 -0
- /package/dist/{components → cjs/components}/tab-panel/TabPanel.js +0 -0
- /package/dist/{components → cjs/components}/tab-panel/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/tab-panel/index.js +0 -0
- /package/dist/{components → cjs/components}/tab-panel/tab-panel-default-settings.d.ts +0 -0
- /package/dist/{components → cjs/components}/tab-panel/tab-panel-default-settings.js +0 -0
- /package/dist/{components → cjs/components}/tab-panel/tab-panel-settings.d.ts +0 -0
- /package/dist/{components → cjs/components}/tab-panel/tab-panel-settings.js +0 -0
- /package/dist/{components → cjs/components}/table/Table.d.ts +0 -0
- /package/dist/{components → cjs/components}/table/Table.js +0 -0
- /package/dist/{components → cjs/components}/table/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/table/index.js +0 -0
- /package/dist/{components/tree/tree-node.interface.js → cjs/components/tooltip/tooltip-interfaces.js} +0 -0
- /package/dist/{components → cjs/components}/tree/Tree.d.ts +0 -0
- /package/dist/{components → cjs/components}/tree/Tree.js +0 -0
- /package/dist/{components → cjs/components}/tree/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/tree/index.js +0 -0
- /package/dist/{components → cjs/components}/tree/tree-node.interface.d.ts +0 -0
- /package/dist/{components → cjs/components}/tree/tree-utils.d.ts +0 -0
- /package/dist/{components → cjs/components}/tree/tree-utils.js +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{index.js → cjs/index.js} +0 -0
- /package/dist/{utils → cjs/utils}/date-time.d.ts +0 -0
- /package/dist/{utils → cjs/utils}/date-time.js +0 -0
- /package/dist/{utils → cjs/utils}/dom.d.ts +0 -0
- /package/dist/{utils → cjs/utils}/dom.js +0 -0
- /package/dist/{utils → cjs/utils}/events.d.ts +0 -0
- /package/dist/{utils → cjs/utils}/events.js +0 -0
- /package/dist/{utils → cjs/utils}/index.d.ts +0 -0
- /package/dist/{utils → cjs/utils}/index.js +0 -0
- /package/dist/{components/toast → esm/components/accordion}/index.d.ts +0 -0
- /package/dist/{components/toast → esm/components/accordion}/index.js +0 -0
- /package/dist/{components/tooltip → esm/components/data-grid}/index.d.ts +0 -0
- /package/dist/{components/tooltip → esm/components/data-grid}/index.js +0 -0
- /package/dist/{components/tooltip/tooltip-function.d.ts → esm/components/data-table/index.d.ts} +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param x
|
|
4
|
+
* @param y
|
|
5
|
+
* @param element
|
|
6
|
+
* @param strict
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function coordsWithinElement(x, y, element, strict = false) {
|
|
10
|
+
const rect = element.getBoundingClientRect();
|
|
11
|
+
return strict
|
|
12
|
+
? (rect.left < x && x < rect.right && rect.top < y && y < rect.bottom)
|
|
13
|
+
: (rect.left <= x && x <= rect.right && rect.top <= y && y <= rect.bottom);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Find whether a mouse event is within a given DOM element using clientX/Y and the bounding client rect
|
|
17
|
+
* @param ev
|
|
18
|
+
* @param element
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
export function mouseWithinElement(ev, element) {
|
|
22
|
+
const elementRect = element.getBoundingClientRect();
|
|
23
|
+
const isWithin = (ev.clientY >= elementRect.top) &&
|
|
24
|
+
(ev.clientY <= elementRect.bottom) &&
|
|
25
|
+
(ev.clientX >= elementRect.left) &&
|
|
26
|
+
(ev.clientX <= elementRect.right);
|
|
27
|
+
return isWithin;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function dragEventFiles(ev: DragEvent): File[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export function dragEventFiles(ev) {
|
|
2
|
+
var _a, _b, _c;
|
|
3
|
+
const files = [];
|
|
4
|
+
if ((_a = ev.dataTransfer) === null || _a === void 0 ? void 0 : _a.items) {
|
|
5
|
+
// Use DataTransferItemList interface to access the file(s)
|
|
6
|
+
[...ev.dataTransfer.items].forEach((item, i) => {
|
|
7
|
+
// If dropped items aren't files, reject them
|
|
8
|
+
if (item.kind === "file") {
|
|
9
|
+
const file = item.getAsFile();
|
|
10
|
+
if (file) {
|
|
11
|
+
// console.log(`… file[${i}].name = ${file.name}`);
|
|
12
|
+
files.push(file);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
// Use DataTransfer interface to access the file(s)
|
|
19
|
+
[...(_c = (_b = ev.dataTransfer) === null || _b === void 0 ? void 0 : _b.files) !== null && _c !== void 0 ? _c : []].forEach((file, i) => {
|
|
20
|
+
// console.log(`… file[${i}].name = ${file.name}`);
|
|
21
|
+
files.push(file);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return files;
|
|
25
|
+
}
|
package/package.json
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hypericon/mico",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "UI components and utilities with Mithril",
|
|
5
5
|
"author": "Ed Johnson, Hypericon Ltd",
|
|
6
6
|
"license": "MIT",
|
|
7
|
-
"main": "dist/index.js",
|
|
7
|
+
"main": "dist/cjs/index.js",
|
|
8
|
+
"module": "dist/esm/index.js",
|
|
8
9
|
"scripts": {
|
|
9
10
|
"dev": "vite",
|
|
10
11
|
"prebuild": "rimraf dist",
|
|
11
|
-
"
|
|
12
|
+
"build_old": "tsc --project src",
|
|
13
|
+
"build": "npm run build-esm && npm run build-cjs",
|
|
14
|
+
"build-esm": "tsc --project ./tsconfig.browser.json",
|
|
15
|
+
"build-cjs": "tsc --project ./tsconfig.node.json",
|
|
12
16
|
"build-docs": "vite build",
|
|
13
17
|
"prepublishOnly": "npm run build",
|
|
14
18
|
"predeploy": "npm run build-docs",
|
|
@@ -24,13 +28,15 @@
|
|
|
24
28
|
"highlight.js": "^11.8.0",
|
|
25
29
|
"marked": "^4.3.0",
|
|
26
30
|
"mithril": "^2.2.2",
|
|
27
|
-
"rxjs": "^7.8.1"
|
|
31
|
+
"rxjs": "^7.8.1",
|
|
32
|
+
"toastify-js": "^1.12.0"
|
|
28
33
|
},
|
|
29
34
|
"devDependencies": {
|
|
30
35
|
"@types/dompurify": "^3.0.2",
|
|
31
36
|
"@types/marked": "^4.3.0",
|
|
32
37
|
"@types/mithril": "^2.0.12",
|
|
33
38
|
"@types/node": "^20.1.4",
|
|
39
|
+
"@types/toastify-js": "^1.11.1",
|
|
34
40
|
"rimraf": "^5.0.0",
|
|
35
41
|
"typescript": "^5.0.4",
|
|
36
42
|
"vite": "^4.3.5"
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// import { container } from "tsyringe";
|
|
3
|
-
// import { getLogger } from "~common/services/get-logger";
|
|
4
|
-
// import { Logger, LogLevel } from "~common/services/logger.service";
|
|
5
|
-
// import { MobileModeService } from "~common/services/mobile-mode.service";
|
|
6
|
-
// const mobileMode = container.resolve(MobileModeService);
|
|
7
|
-
// export interface TooltipOpts {
|
|
8
|
-
// /** Specify the position of the tooltip */
|
|
9
|
-
// pos: TooltipPos,
|
|
10
|
-
// /** Override the default delay in milliseconds */
|
|
11
|
-
// delay: number,
|
|
12
|
-
// /** Increase the maximum width and height of the tooltip */
|
|
13
|
-
// jumbo: boolean,
|
|
14
|
-
// /** The tooltip should be attached to the document instead of the moused-over element */
|
|
15
|
-
// attachToBody: boolean,
|
|
16
|
-
// }
|
|
17
|
-
// export type TooltipPos = "cursor" | "top" | "bottom" | "left" | "right" | "follow";
|
|
18
|
-
// const DEFAULT_POS: TooltipPos = "cursor";
|
|
19
|
-
// const DEFAULT_DELAY = 500;
|
|
20
|
-
// const TOOLTIP_CLASS = "hypertable-tooltip";
|
|
21
|
-
// const MAX_WIDTH_PX = 250;
|
|
22
|
-
// const MAX_HEIGHT_PX = 100;
|
|
23
|
-
// const MAX_WIDTH_JUMBO_PX = 400;
|
|
24
|
-
// const MAX_HEIGHT_JUMBO_PX = 300;
|
|
25
|
-
// const logger = getLogger("Tooltip");
|
|
26
|
-
// // logger.logLevel = LogLevel.Debug;
|
|
27
|
-
// /**
|
|
28
|
-
// * Display a tooltip using the given mouse event.
|
|
29
|
-
// * Call this function from an element's "mouseenter" event.
|
|
30
|
-
// *
|
|
31
|
-
// * e.g.:
|
|
32
|
-
// * ```
|
|
33
|
-
// * onmouseenter: (ev: MouseEvent) => tooltip(ev, "Howdy!"),
|
|
34
|
-
// * ```
|
|
35
|
-
// * @param ev
|
|
36
|
-
// * @param tooltip Nothing is displayed if the tooltip text is empty
|
|
37
|
-
// * @param opts
|
|
38
|
-
// * @returns
|
|
39
|
-
// */
|
|
40
|
-
// export function tooltip(ev: MouseEvent, tooltip: string, opts?: Partial<TooltipOpts>) {
|
|
41
|
-
// // Tooltips don't work properly in mobile mode
|
|
42
|
-
// if (mobileMode.isMob) return;
|
|
43
|
-
// // If there is no tooltip, don't bother
|
|
44
|
-
// if (!tooltip) return;
|
|
45
|
-
// const target = ev.currentTarget as HTMLElement | null;
|
|
46
|
-
// const eventTarget = ev.target as HTMLElement | null;
|
|
47
|
-
// logger.debug(`target is ${target?.tagName}`);
|
|
48
|
-
// logger.debug(`event target is ${eventTarget?.tagName}`);
|
|
49
|
-
// if (!target) {
|
|
50
|
-
// return logger.debug("No target; returning from tooltip()");
|
|
51
|
-
// }
|
|
52
|
-
// // if (target?.classList.contains(TOOLTIP_CLASS) || eventTarget?.classList.contains(TOOLTIP_CLASS)) {
|
|
53
|
-
// // return logger.debug("Target is tooltip div; returning from tooltip()");
|
|
54
|
-
// // }
|
|
55
|
-
// // This helps avoid re-adding tooltips when mousing over the tooltip itself
|
|
56
|
-
// let hasTooltip = false;
|
|
57
|
-
// target.childNodes.forEach((child, key, parent) => {
|
|
58
|
-
// if ((child as HTMLElement)?.classList?.contains(TOOLTIP_CLASS)) {
|
|
59
|
-
// hasTooltip = true;
|
|
60
|
-
// }
|
|
61
|
-
// });
|
|
62
|
-
// if (hasTooltip) {
|
|
63
|
-
// return logger.debug("Target already has tooltip; returning from tooltip()");
|
|
64
|
-
// }
|
|
65
|
-
// const mousePos = { x: ev.x, y: ev.y };
|
|
66
|
-
// const latestPosFn = (ev: MouseEvent) => {
|
|
67
|
-
// mousePos.x = ev.x;
|
|
68
|
-
// mousePos.y = ev.y;
|
|
69
|
-
// };
|
|
70
|
-
// target.addEventListener("mousemove", latestPosFn);
|
|
71
|
-
// const timeout = setTimeout(() => {
|
|
72
|
-
// displayTooltip({ ev, target, tooltip, opts, mousePos });
|
|
73
|
-
// }, opts?.delay ?? DEFAULT_DELAY);
|
|
74
|
-
// const clearFn = (ev: MouseEvent) => {
|
|
75
|
-
// logger.debug("Clearing tooltip timeout");
|
|
76
|
-
// clearTimeout(timeout);
|
|
77
|
-
// target.removeEventListener("mouseleave", clearFn);
|
|
78
|
-
// target.removeEventListener("mousemove", latestPosFn);
|
|
79
|
-
// };
|
|
80
|
-
// target.addEventListener("mouseleave", clearFn);
|
|
81
|
-
// }
|
|
82
|
-
// /**
|
|
83
|
-
// *
|
|
84
|
-
// * @param value
|
|
85
|
-
// * @param opts
|
|
86
|
-
// * @returns
|
|
87
|
-
// */
|
|
88
|
-
// export function tooltipSpread(value: string, opts?: Partial<TooltipOpts>) {
|
|
89
|
-
// return {
|
|
90
|
-
// onmouseenter: (ev: MouseEvent) => tooltip(ev, value, opts),
|
|
91
|
-
// };
|
|
92
|
-
// }
|
|
93
|
-
// /**
|
|
94
|
-
// * TODO: consider adding arrows to top/bottom/left/right positioned tooltips
|
|
95
|
-
// * e.g.: https://getbootstrap.com/docs/3.4/javascript/#tooltips
|
|
96
|
-
// */
|
|
97
|
-
// function displayTooltip(settings: {
|
|
98
|
-
// ev: MouseEvent,
|
|
99
|
-
// target: HTMLElement,
|
|
100
|
-
// tooltip: string,
|
|
101
|
-
// mousePos: { x: number, y: number, }
|
|
102
|
-
// opts?: Partial<TooltipOpts>,
|
|
103
|
-
// }) {
|
|
104
|
-
// const { ev, target, tooltip, opts, mousePos } = settings;
|
|
105
|
-
// const cursorOffsetX = 5;
|
|
106
|
-
// const cursorOffsetY = 20;
|
|
107
|
-
// const pos = opts?.pos ?? DEFAULT_POS;
|
|
108
|
-
// let targetRect = target.getBoundingClientRect();
|
|
109
|
-
// // targetRect = new DOMRect(targetRect.x, targetRect.y, targetRect.width, targetRect.height);
|
|
110
|
-
// let targetCenter = {
|
|
111
|
-
// x: targetRect.left + (targetRect.width / 2),
|
|
112
|
-
// y: targetRect.top + (targetRect.height / 2),
|
|
113
|
-
// };
|
|
114
|
-
// const maxWidth = opts?.jumbo === true ? MAX_WIDTH_JUMBO_PX : MAX_WIDTH_PX;
|
|
115
|
-
// const maxHeight = opts?.jumbo === true ? MAX_HEIGHT_JUMBO_PX : MAX_HEIGHT_PX;
|
|
116
|
-
// logger.debug(`display tooltip "${tooltip}" on element ${target.tagName}`);
|
|
117
|
-
// const tooltipEl = document.createElement("div");
|
|
118
|
-
// tooltipEl.innerText = tooltip;
|
|
119
|
-
// tooltipEl.classList.value = "px-2 py-1 text-xs text-dark font-normal rounded border border-primary bg-white fade-in-100 no-select";
|
|
120
|
-
// tooltipEl.classList.add(TOOLTIP_CLASS);
|
|
121
|
-
// tooltipEl.style.position = "fixed";
|
|
122
|
-
// tooltipEl.style.maxWidth = `${maxWidth}px`;
|
|
123
|
-
// tooltipEl.style.maxHeight = `${maxHeight}px`;
|
|
124
|
-
// tooltipEl.style.zIndex = "1000";
|
|
125
|
-
// tooltipEl.style.whiteSpace = "normal";
|
|
126
|
-
// tooltipEl.style.opacity = "1";
|
|
127
|
-
// tooltipEl.style.textAlign = "left";
|
|
128
|
-
// tooltipEl.style.overflow = "hidden";
|
|
129
|
-
// tooltipEl.setAttribute("role", "tooltip");
|
|
130
|
-
// // // Add the tooltip before positioning it to read its dimensions
|
|
131
|
-
// // console.log(`tooltipEl width: ${tooltipEl.clientWidth}`);
|
|
132
|
-
// // console.log(`tooltipEl height: ${tooltipEl.clientHeight}`);
|
|
133
|
-
// if (settings.opts?.attachToBody === true) {
|
|
134
|
-
// document.body.append(tooltipEl);
|
|
135
|
-
// } else {
|
|
136
|
-
// target.append(tooltipEl);
|
|
137
|
-
// }
|
|
138
|
-
// // console.log(`tooltipEl width: ${tooltipEl.clientWidth}`);
|
|
139
|
-
// // console.log(`tooltipEl height: ${tooltipEl.clientHeight}`);
|
|
140
|
-
// if (pos === "cursor" || pos === "follow") {
|
|
141
|
-
// tooltipEl.style.top = `${mousePos.y + cursorOffsetY}px`;
|
|
142
|
-
// if (mousePos.x < window.innerWidth - maxWidth) {
|
|
143
|
-
// tooltipEl.style.left = `${mousePos.x + cursorOffsetX}px`;
|
|
144
|
-
// } else {
|
|
145
|
-
// tooltipEl.style.right = `${document.documentElement.clientWidth - mousePos.x - cursorOffsetX}px`;
|
|
146
|
-
// }
|
|
147
|
-
// } else if (pos === "top") {
|
|
148
|
-
// tooltipEl.style.bottom = `${window.innerHeight - targetRect.top}px`; // - window.scrollY
|
|
149
|
-
// tooltipEl.style.left = `${targetCenter.x - tooltipEl.clientWidth / 2}px`;
|
|
150
|
-
// } else if (pos === "bottom") {
|
|
151
|
-
// tooltipEl.style.top = `${targetRect.bottom}px`; // + window.scrollY
|
|
152
|
-
// tooltipEl.style.left = `${targetCenter.x - tooltipEl.clientWidth / 2}px`;
|
|
153
|
-
// } else if (pos === "left") {
|
|
154
|
-
// tooltipEl.style.right = `${document.documentElement.clientWidth - targetRect.left}px`;
|
|
155
|
-
// tooltipEl.style.top = `${targetCenter.y - tooltipEl.clientHeight / 2}px`;
|
|
156
|
-
// } else if (pos === "right") {
|
|
157
|
-
// tooltipEl.style.left = `${targetRect.right}px`;
|
|
158
|
-
// tooltipEl.style.top = `${targetCenter.y - tooltipEl.clientHeight / 2}px`;
|
|
159
|
-
// }
|
|
160
|
-
// if (pos === "follow") {
|
|
161
|
-
// const followFn = (ev: MouseEvent) => {
|
|
162
|
-
// tooltipEl.style.top = `${ev.y + cursorOffsetY}px`; // + window.scrollY
|
|
163
|
-
// if (mousePos.x < window.innerWidth - maxWidth) {
|
|
164
|
-
// tooltipEl.style.left = `${ev.x + cursorOffsetX}px`;
|
|
165
|
-
// tooltipEl.style.right = "";
|
|
166
|
-
// } else {
|
|
167
|
-
// tooltipEl.style.right = `${document.documentElement.clientWidth - ev.x - cursorOffsetX}px`;
|
|
168
|
-
// tooltipEl.style.left = "";
|
|
169
|
-
// }
|
|
170
|
-
// };
|
|
171
|
-
// const cleanupFn = () => {
|
|
172
|
-
// target.removeEventListener("mousemove", followFn);
|
|
173
|
-
// target.removeEventListener("mouseleave", cleanupFn);
|
|
174
|
-
// }
|
|
175
|
-
// target.addEventListener("mousemove", followFn);
|
|
176
|
-
// target.addEventListener("mouseleave", cleanupFn);
|
|
177
|
-
// }
|
|
178
|
-
// logger.debug(`displaying tooltip at: ${tooltipEl.style.left}, ${tooltipEl.style.top}`);
|
|
179
|
-
// const removeFn = () => {
|
|
180
|
-
// logger.debug(`Removing tooltip ${tooltip} from el ${target.tagName}`);
|
|
181
|
-
// tooltipEl.onanimationend = (ev: AnimationEvent) => {
|
|
182
|
-
// logger.debug(ev.animationName);
|
|
183
|
-
// if (settings.opts?.attachToBody === true) {
|
|
184
|
-
// document.body.removeChild(tooltipEl);
|
|
185
|
-
// } else {
|
|
186
|
-
// target.removeChild(tooltipEl);
|
|
187
|
-
// }
|
|
188
|
-
// }
|
|
189
|
-
// tooltipEl.classList.replace("fade-in-100", "fade-out-100");
|
|
190
|
-
// target.removeEventListener("mouseleave", removeFn);
|
|
191
|
-
// tooltipEl.removeEventListener("mouseenter", removeFn);
|
|
192
|
-
// }
|
|
193
|
-
// target.addEventListener("mouseleave", removeFn);
|
|
194
|
-
// tooltipEl.addEventListener("mouseenter", removeFn);
|
|
195
|
-
// if (settings.opts?.attachToBody === true) {
|
|
196
|
-
// const bodyListener = (ev: MouseEvent) => {
|
|
197
|
-
// if (ev.target && !target.contains(ev.target as any)) {
|
|
198
|
-
// removeFn();
|
|
199
|
-
// document.body.removeEventListener("mousemove", bodyListener);
|
|
200
|
-
// }
|
|
201
|
-
// };
|
|
202
|
-
// document.body.addEventListener("mousemove", bodyListener);
|
|
203
|
-
// }
|
|
204
|
-
// }
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|