@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.
Files changed (275) hide show
  1. package/README.md +2 -0
  2. package/dist/{components → cjs/components}/index.d.ts +2 -0
  3. package/dist/{components → cjs/components}/index.js +2 -2
  4. package/dist/cjs/components/toast/index.d.ts +1 -0
  5. package/dist/cjs/components/toast/index.js +17 -0
  6. package/dist/cjs/components/toast/toast.d.ts +15 -0
  7. package/dist/cjs/components/toast/toast.js +61 -0
  8. package/dist/cjs/components/tooltip/index.d.ts +3 -0
  9. package/dist/cjs/components/tooltip/index.js +19 -0
  10. package/dist/cjs/components/tooltip/tooltip-defaults.d.ts +23 -0
  11. package/dist/cjs/components/tooltip/tooltip-defaults.js +25 -0
  12. package/dist/cjs/components/tooltip/tooltip-function.d.ts +35 -0
  13. package/dist/cjs/components/tooltip/tooltip-function.js +205 -0
  14. package/dist/cjs/components/tooltip/tooltip-interfaces.d.ts +11 -0
  15. package/dist/cjs/components/tree/tree-node.interface.js +2 -0
  16. package/dist/esm/components/data-table/index.js +1 -0
  17. package/dist/esm/components/dialog/Dialog.d.ts +1 -0
  18. package/dist/esm/components/dialog/Dialog.js +10 -0
  19. package/dist/esm/components/dialog/dialog-manager.d.ts +45 -0
  20. package/dist/esm/components/dialog/dialog-manager.js +163 -0
  21. package/dist/esm/components/dialog/index.d.ts +1 -0
  22. package/dist/esm/components/dialog/index.js +2 -0
  23. package/dist/esm/components/drag-handler/DragHandler.d.ts +40 -0
  24. package/dist/esm/components/drag-handler/DragHandler.js +104 -0
  25. package/dist/esm/components/drag-handler/index.d.ts +1 -0
  26. package/dist/esm/components/drag-handler/index.js +1 -0
  27. package/dist/esm/components/drawer/index.d.ts +0 -0
  28. package/dist/esm/components/drawer/index.js +1 -0
  29. package/dist/esm/components/drop-target/DropTarget.d.ts +24 -0
  30. package/dist/esm/components/drop-target/DropTarget.js +56 -0
  31. package/dist/esm/components/drop-target/drop-target.state.d.ts +9 -0
  32. package/dist/esm/components/drop-target/drop-target.state.js +73 -0
  33. package/dist/esm/components/drop-target/index.d.ts +1 -0
  34. package/dist/esm/components/drop-target/index.js +1 -0
  35. package/dist/esm/components/form/Form.d.ts +2 -0
  36. package/dist/esm/components/form/Form.js +9 -0
  37. package/dist/esm/components/form/index.d.ts +1 -0
  38. package/dist/esm/components/form/index.js +1 -0
  39. package/dist/esm/components/icon/Icon.d.ts +21 -0
  40. package/dist/esm/components/icon/Icon.js +22 -0
  41. package/dist/esm/components/icon/icons.d.ts +3 -0
  42. package/dist/esm/components/icon/icons.js +1 -0
  43. package/dist/esm/components/icon/index.d.ts +2 -0
  44. package/dist/esm/components/icon/index.js +2 -0
  45. package/dist/esm/components/index.d.ts +12 -0
  46. package/dist/esm/components/index.js +20 -0
  47. package/dist/esm/components/markdown/Markdown.d.ts +34 -0
  48. package/dist/esm/components/markdown/Markdown.js +55 -0
  49. package/dist/esm/components/markdown/index.d.ts +1 -0
  50. package/dist/esm/components/markdown/index.js +1 -0
  51. package/dist/esm/components/markdown-editor/MarkdownEditor.d.ts +21 -0
  52. package/dist/esm/components/markdown-editor/MarkdownEditor.js +181 -0
  53. package/dist/esm/components/markdown-editor/index.d.ts +1 -0
  54. package/dist/esm/components/markdown-editor/index.js +1 -0
  55. package/dist/esm/components/markdown-editor/markdown-editor.state.d.ts +31 -0
  56. package/dist/esm/components/markdown-editor/markdown-editor.state.js +255 -0
  57. package/dist/esm/components/menu/Menu.d.ts +14 -0
  58. package/dist/esm/components/menu/Menu.js +81 -0
  59. package/dist/esm/components/menu/MenuButton.d.ts +16 -0
  60. package/dist/esm/components/menu/MenuButton.js +75 -0
  61. package/dist/esm/components/menu/MenuSeparator.d.ts +2 -0
  62. package/dist/esm/components/menu/MenuSeparator.js +11 -0
  63. package/dist/esm/components/menu/index.d.ts +6 -0
  64. package/dist/esm/components/menu/index.js +6 -0
  65. package/dist/esm/components/menu/menu-constants.d.ts +4 -0
  66. package/dist/esm/components/menu/menu-constants.js +4 -0
  67. package/dist/esm/components/menu/menu-manager.d.ts +22 -0
  68. package/dist/esm/components/menu/menu-manager.js +72 -0
  69. package/dist/esm/components/menu/menu-settings.d.ts +9 -0
  70. package/dist/esm/components/menu/menu-settings.js +9 -0
  71. package/dist/esm/components/modal/index.d.ts +0 -0
  72. package/dist/esm/components/modal/index.js +1 -0
  73. package/dist/esm/components/pagination/Pagination.d.ts +40 -0
  74. package/dist/esm/components/pagination/Pagination.js +66 -0
  75. package/dist/esm/components/pagination/index.d.ts +2 -0
  76. package/dist/esm/components/pagination/index.js +2 -0
  77. package/dist/esm/components/pagination/pagination-settings.d.ts +17 -0
  78. package/dist/esm/components/pagination/pagination-settings.js +16 -0
  79. package/dist/esm/components/panel-tree/PanelTree.d.ts +26 -0
  80. package/dist/esm/components/panel-tree/PanelTree.js +174 -0
  81. package/dist/esm/components/panel-tree/index.d.ts +0 -0
  82. package/dist/esm/components/panel-tree/index.js +1 -0
  83. package/dist/esm/components/panel-tree/panel-tree-constants.d.ts +3 -0
  84. package/dist/esm/components/panel-tree/panel-tree-constants.js +3 -0
  85. package/dist/esm/components/panel-tree/panel-tree-store.d.ts +23 -0
  86. package/dist/esm/components/panel-tree/panel-tree-store.js +59 -0
  87. package/dist/esm/components/panel-tree/panel-tree-utils.d.ts +17 -0
  88. package/dist/esm/components/panel-tree/panel-tree-utils.js +55 -0
  89. package/dist/esm/components/popover/index.d.ts +0 -0
  90. package/dist/esm/components/popover/index.js +1 -0
  91. package/dist/esm/components/reorderable-list/RedorderableList.d.ts +55 -0
  92. package/dist/esm/components/reorderable-list/RedorderableList.js +202 -0
  93. package/dist/esm/components/reorderable-list/index.d.ts +0 -0
  94. package/dist/esm/components/reorderable-list/index.js +1 -0
  95. package/dist/esm/components/select/Select.d.ts +44 -0
  96. package/dist/esm/components/select/Select.js +108 -0
  97. package/dist/esm/components/select/SelectOptionsPanel.d.ts +21 -0
  98. package/dist/esm/components/select/SelectOptionsPanel.js +168 -0
  99. package/dist/esm/components/select/constants.d.ts +2 -0
  100. package/dist/esm/components/select/constants.js +2 -0
  101. package/dist/esm/components/select/index.d.ts +2 -0
  102. package/dist/esm/components/select/index.js +3 -0
  103. package/dist/esm/components/select/select-options-manager.d.ts +39 -0
  104. package/dist/esm/components/select/select-options-manager.js +63 -0
  105. package/dist/esm/components/tab-panel/TabPanel.d.ts +23 -0
  106. package/dist/esm/components/tab-panel/TabPanel.js +88 -0
  107. package/dist/esm/components/tab-panel/index.d.ts +3 -0
  108. package/dist/esm/components/tab-panel/index.js +3 -0
  109. package/dist/esm/components/tab-panel/tab-panel-default-settings.d.ts +17 -0
  110. package/dist/esm/components/tab-panel/tab-panel-default-settings.js +17 -0
  111. package/dist/esm/components/tab-panel/tab-panel-settings.d.ts +28 -0
  112. package/dist/esm/components/tab-panel/tab-panel-settings.js +11 -0
  113. package/dist/esm/components/table/Table.d.ts +64 -0
  114. package/dist/esm/components/table/Table.js +68 -0
  115. package/dist/esm/components/table/index.d.ts +1 -0
  116. package/dist/esm/components/table/index.js +1 -0
  117. package/dist/esm/components/toast/index.d.ts +1 -0
  118. package/dist/esm/components/toast/index.js +1 -0
  119. package/dist/esm/components/toast/toast.d.ts +15 -0
  120. package/dist/esm/components/toast/toast.js +31 -0
  121. package/dist/esm/components/tooltip/index.d.ts +3 -0
  122. package/dist/esm/components/tooltip/index.js +3 -0
  123. package/dist/esm/components/tooltip/tooltip-defaults.d.ts +23 -0
  124. package/dist/esm/components/tooltip/tooltip-defaults.js +22 -0
  125. package/dist/esm/components/tooltip/tooltip-function.d.ts +35 -0
  126. package/dist/esm/components/tooltip/tooltip-function.js +200 -0
  127. package/dist/esm/components/tooltip/tooltip-interfaces.d.ts +11 -0
  128. package/dist/esm/components/tooltip/tooltip-interfaces.js +1 -0
  129. package/dist/esm/components/tree/Tree.d.ts +110 -0
  130. package/dist/esm/components/tree/Tree.js +222 -0
  131. package/dist/esm/components/tree/index.d.ts +3 -0
  132. package/dist/esm/components/tree/index.js +3 -0
  133. package/dist/esm/components/tree/tree-node.interface.d.ts +9 -0
  134. package/dist/esm/components/tree/tree-node.interface.js +1 -0
  135. package/dist/esm/components/tree/tree-utils.d.ts +11 -0
  136. package/dist/esm/components/tree/tree-utils.js +18 -0
  137. package/dist/esm/index.d.ts +2 -0
  138. package/dist/esm/index.js +2 -0
  139. package/dist/esm/utils/date-time.d.ts +3 -0
  140. package/dist/esm/utils/date-time.js +22 -0
  141. package/dist/esm/utils/dom.d.ts +16 -0
  142. package/dist/esm/utils/dom.js +28 -0
  143. package/dist/esm/utils/events.d.ts +1 -0
  144. package/dist/esm/utils/events.js +25 -0
  145. package/dist/esm/utils/index.d.ts +3 -0
  146. package/dist/esm/utils/index.js +3 -0
  147. package/package.json +10 -4
  148. package/dist/components/tooltip/tooltip-function.js +0 -204
  149. /package/dist/{components → cjs/components}/accordion/index.d.ts +0 -0
  150. /package/dist/{components → cjs/components}/accordion/index.js +0 -0
  151. /package/dist/{components → cjs/components}/data-grid/index.d.ts +0 -0
  152. /package/dist/{components → cjs/components}/data-grid/index.js +0 -0
  153. /package/dist/{components → cjs/components}/data-table/index.d.ts +0 -0
  154. /package/dist/{components → cjs/components}/data-table/index.js +0 -0
  155. /package/dist/{components → cjs/components}/dialog/Dialog.d.ts +0 -0
  156. /package/dist/{components → cjs/components}/dialog/Dialog.js +0 -0
  157. /package/dist/{components → cjs/components}/dialog/dialog-manager.d.ts +0 -0
  158. /package/dist/{components → cjs/components}/dialog/dialog-manager.js +0 -0
  159. /package/dist/{components → cjs/components}/dialog/index.d.ts +0 -0
  160. /package/dist/{components → cjs/components}/dialog/index.js +0 -0
  161. /package/dist/{components → cjs/components}/drag-handler/DragHandler.d.ts +0 -0
  162. /package/dist/{components → cjs/components}/drag-handler/DragHandler.js +0 -0
  163. /package/dist/{components → cjs/components}/drag-handler/index.d.ts +0 -0
  164. /package/dist/{components → cjs/components}/drag-handler/index.js +0 -0
  165. /package/dist/{components → cjs/components}/drawer/index.d.ts +0 -0
  166. /package/dist/{components → cjs/components}/drawer/index.js +0 -0
  167. /package/dist/{components → cjs/components}/drop-target/DropTarget.d.ts +0 -0
  168. /package/dist/{components → cjs/components}/drop-target/DropTarget.js +0 -0
  169. /package/dist/{components → cjs/components}/drop-target/drop-target.state.d.ts +0 -0
  170. /package/dist/{components → cjs/components}/drop-target/drop-target.state.js +0 -0
  171. /package/dist/{components → cjs/components}/drop-target/index.d.ts +0 -0
  172. /package/dist/{components → cjs/components}/drop-target/index.js +0 -0
  173. /package/dist/{components → cjs/components}/form/Form.d.ts +0 -0
  174. /package/dist/{components → cjs/components}/form/Form.js +0 -0
  175. /package/dist/{components → cjs/components}/form/index.d.ts +0 -0
  176. /package/dist/{components → cjs/components}/form/index.js +0 -0
  177. /package/dist/{components → cjs/components}/icon/Icon.d.ts +0 -0
  178. /package/dist/{components → cjs/components}/icon/Icon.js +0 -0
  179. /package/dist/{components → cjs/components}/icon/icons.d.ts +0 -0
  180. /package/dist/{components → cjs/components}/icon/icons.js +0 -0
  181. /package/dist/{components → cjs/components}/icon/index.d.ts +0 -0
  182. /package/dist/{components → cjs/components}/icon/index.js +0 -0
  183. /package/dist/{components → cjs/components}/markdown/Markdown.d.ts +0 -0
  184. /package/dist/{components → cjs/components}/markdown/Markdown.js +0 -0
  185. /package/dist/{components → cjs/components}/markdown/index.d.ts +0 -0
  186. /package/dist/{components → cjs/components}/markdown/index.js +0 -0
  187. /package/dist/{components → cjs/components}/markdown-editor/MarkdownEditor.d.ts +0 -0
  188. /package/dist/{components → cjs/components}/markdown-editor/MarkdownEditor.js +0 -0
  189. /package/dist/{components → cjs/components}/markdown-editor/index.d.ts +0 -0
  190. /package/dist/{components → cjs/components}/markdown-editor/index.js +0 -0
  191. /package/dist/{components → cjs/components}/markdown-editor/markdown-editor.state.d.ts +0 -0
  192. /package/dist/{components → cjs/components}/markdown-editor/markdown-editor.state.js +0 -0
  193. /package/dist/{components → cjs/components}/menu/Menu.d.ts +0 -0
  194. /package/dist/{components → cjs/components}/menu/Menu.js +0 -0
  195. /package/dist/{components → cjs/components}/menu/MenuButton.d.ts +0 -0
  196. /package/dist/{components → cjs/components}/menu/MenuButton.js +0 -0
  197. /package/dist/{components → cjs/components}/menu/MenuSeparator.d.ts +0 -0
  198. /package/dist/{components → cjs/components}/menu/MenuSeparator.js +0 -0
  199. /package/dist/{components → cjs/components}/menu/index.d.ts +0 -0
  200. /package/dist/{components → cjs/components}/menu/index.js +0 -0
  201. /package/dist/{components → cjs/components}/menu/menu-constants.d.ts +0 -0
  202. /package/dist/{components → cjs/components}/menu/menu-constants.js +0 -0
  203. /package/dist/{components → cjs/components}/menu/menu-manager.d.ts +0 -0
  204. /package/dist/{components → cjs/components}/menu/menu-manager.js +0 -0
  205. /package/dist/{components → cjs/components}/menu/menu-settings.d.ts +0 -0
  206. /package/dist/{components → cjs/components}/menu/menu-settings.js +0 -0
  207. /package/dist/{components → cjs/components}/modal/index.d.ts +0 -0
  208. /package/dist/{components → cjs/components}/modal/index.js +0 -0
  209. /package/dist/{components → cjs/components}/pagination/Pagination.d.ts +0 -0
  210. /package/dist/{components → cjs/components}/pagination/Pagination.js +0 -0
  211. /package/dist/{components → cjs/components}/pagination/index.d.ts +0 -0
  212. /package/dist/{components → cjs/components}/pagination/index.js +0 -0
  213. /package/dist/{components → cjs/components}/pagination/pagination-settings.d.ts +0 -0
  214. /package/dist/{components → cjs/components}/pagination/pagination-settings.js +0 -0
  215. /package/dist/{components → cjs/components}/panel-tree/PanelTree.d.ts +0 -0
  216. /package/dist/{components → cjs/components}/panel-tree/PanelTree.js +0 -0
  217. /package/dist/{components → cjs/components}/panel-tree/index.d.ts +0 -0
  218. /package/dist/{components → cjs/components}/panel-tree/index.js +0 -0
  219. /package/dist/{components → cjs/components}/panel-tree/panel-tree-constants.d.ts +0 -0
  220. /package/dist/{components → cjs/components}/panel-tree/panel-tree-constants.js +0 -0
  221. /package/dist/{components → cjs/components}/panel-tree/panel-tree-store.d.ts +0 -0
  222. /package/dist/{components → cjs/components}/panel-tree/panel-tree-store.js +0 -0
  223. /package/dist/{components → cjs/components}/panel-tree/panel-tree-utils.d.ts +0 -0
  224. /package/dist/{components → cjs/components}/panel-tree/panel-tree-utils.js +0 -0
  225. /package/dist/{components → cjs/components}/popover/index.d.ts +0 -0
  226. /package/dist/{components → cjs/components}/popover/index.js +0 -0
  227. /package/dist/{components → cjs/components}/reorderable-list/RedorderableList.d.ts +0 -0
  228. /package/dist/{components → cjs/components}/reorderable-list/RedorderableList.js +0 -0
  229. /package/dist/{components → cjs/components}/reorderable-list/index.d.ts +0 -0
  230. /package/dist/{components → cjs/components}/reorderable-list/index.js +0 -0
  231. /package/dist/{components → cjs/components}/select/Select.d.ts +0 -0
  232. /package/dist/{components → cjs/components}/select/Select.js +0 -0
  233. /package/dist/{components → cjs/components}/select/SelectOptionsPanel.d.ts +0 -0
  234. /package/dist/{components → cjs/components}/select/SelectOptionsPanel.js +0 -0
  235. /package/dist/{components → cjs/components}/select/constants.d.ts +0 -0
  236. /package/dist/{components → cjs/components}/select/constants.js +0 -0
  237. /package/dist/{components → cjs/components}/select/index.d.ts +0 -0
  238. /package/dist/{components → cjs/components}/select/index.js +0 -0
  239. /package/dist/{components → cjs/components}/select/select-options-manager.d.ts +0 -0
  240. /package/dist/{components → cjs/components}/select/select-options-manager.js +0 -0
  241. /package/dist/{components → cjs/components}/tab-panel/TabPanel.d.ts +0 -0
  242. /package/dist/{components → cjs/components}/tab-panel/TabPanel.js +0 -0
  243. /package/dist/{components → cjs/components}/tab-panel/index.d.ts +0 -0
  244. /package/dist/{components → cjs/components}/tab-panel/index.js +0 -0
  245. /package/dist/{components → cjs/components}/tab-panel/tab-panel-default-settings.d.ts +0 -0
  246. /package/dist/{components → cjs/components}/tab-panel/tab-panel-default-settings.js +0 -0
  247. /package/dist/{components → cjs/components}/tab-panel/tab-panel-settings.d.ts +0 -0
  248. /package/dist/{components → cjs/components}/tab-panel/tab-panel-settings.js +0 -0
  249. /package/dist/{components → cjs/components}/table/Table.d.ts +0 -0
  250. /package/dist/{components → cjs/components}/table/Table.js +0 -0
  251. /package/dist/{components → cjs/components}/table/index.d.ts +0 -0
  252. /package/dist/{components → cjs/components}/table/index.js +0 -0
  253. /package/dist/{components/tree/tree-node.interface.js → cjs/components/tooltip/tooltip-interfaces.js} +0 -0
  254. /package/dist/{components → cjs/components}/tree/Tree.d.ts +0 -0
  255. /package/dist/{components → cjs/components}/tree/Tree.js +0 -0
  256. /package/dist/{components → cjs/components}/tree/index.d.ts +0 -0
  257. /package/dist/{components → cjs/components}/tree/index.js +0 -0
  258. /package/dist/{components → cjs/components}/tree/tree-node.interface.d.ts +0 -0
  259. /package/dist/{components → cjs/components}/tree/tree-utils.d.ts +0 -0
  260. /package/dist/{components → cjs/components}/tree/tree-utils.js +0 -0
  261. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  262. /package/dist/{index.js → cjs/index.js} +0 -0
  263. /package/dist/{utils → cjs/utils}/date-time.d.ts +0 -0
  264. /package/dist/{utils → cjs/utils}/date-time.js +0 -0
  265. /package/dist/{utils → cjs/utils}/dom.d.ts +0 -0
  266. /package/dist/{utils → cjs/utils}/dom.js +0 -0
  267. /package/dist/{utils → cjs/utils}/events.d.ts +0 -0
  268. /package/dist/{utils → cjs/utils}/events.js +0 -0
  269. /package/dist/{utils → cjs/utils}/index.d.ts +0 -0
  270. /package/dist/{utils → cjs/utils}/index.js +0 -0
  271. /package/dist/{components/toast → esm/components/accordion}/index.d.ts +0 -0
  272. /package/dist/{components/toast → esm/components/accordion}/index.js +0 -0
  273. /package/dist/{components/tooltip → esm/components/data-grid}/index.d.ts +0 -0
  274. /package/dist/{components/tooltip → esm/components/data-grid}/index.js +0 -0
  275. /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
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./date-time";
2
+ export * from "./dom";
3
+ export * from "./events";
@@ -0,0 +1,3 @@
1
+ export * from "./date-time";
2
+ export * from "./dom";
3
+ export * from "./events";
package/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "@hypericon/mico",
3
- "version": "0.3.23",
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
- "build": "tsc --project src",
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