@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.
Files changed (88) hide show
  1. package/dist/cjs/components/menu/Menu.d.ts +2 -0
  2. package/dist/cjs/components/menu/menu-manager.d.ts +2 -0
  3. package/dist/cjs/components/menu/menu-manager.js +18 -1
  4. package/dist/cjs/components/table/Table.d.ts +4 -0
  5. package/dist/cjs/components/table/Table.js +5 -1
  6. package/dist/cjs/components/tooltip/tooltip-function.d.ts +1 -1
  7. package/dist/cjs/components/tooltip/tooltip-function.js +1 -1
  8. package/dist/esm/components/accordion/index.d.ts +1 -0
  9. package/dist/esm/components/accordion/index.js +1 -0
  10. package/dist/esm/components/data-grid/index.d.ts +1 -0
  11. package/dist/esm/components/data-grid/index.js +1 -0
  12. package/dist/esm/components/data-table/index.d.ts +1 -0
  13. package/dist/esm/components/data-table/index.js +1 -0
  14. package/dist/esm/components/dialog/Dialog.js +2 -1
  15. package/dist/esm/components/dialog/dialog-manager.js +20 -13
  16. package/dist/esm/components/dialog/index.js +17 -1
  17. package/dist/esm/components/drag-handler/DragHandler.js +9 -3
  18. package/dist/esm/components/drag-handler/index.js +17 -1
  19. package/dist/esm/components/drawer/index.d.ts +1 -0
  20. package/dist/esm/components/drawer/index.js +1 -0
  21. package/dist/esm/components/drop-target/DropTarget.js +15 -9
  22. package/dist/esm/components/drop-target/drop-target.state.js +14 -10
  23. package/dist/esm/components/drop-target/index.js +17 -1
  24. package/dist/esm/components/form/Form.js +4 -1
  25. package/dist/esm/components/form/index.js +17 -1
  26. package/dist/esm/components/icon/Icon.js +9 -3
  27. package/dist/esm/components/icon/icons.js +2 -1
  28. package/dist/esm/components/icon/index.js +18 -2
  29. package/dist/esm/components/index.js +28 -12
  30. package/dist/esm/components/markdown/Markdown.js +15 -9
  31. package/dist/esm/components/markdown/index.js +17 -1
  32. package/dist/esm/components/markdown-editor/MarkdownEditor.js +70 -44
  33. package/dist/esm/components/markdown-editor/index.js +17 -1
  34. package/dist/esm/components/markdown-editor/markdown-editor.state.js +11 -7
  35. package/dist/esm/components/menu/Menu.d.ts +2 -0
  36. package/dist/esm/components/menu/Menu.js +16 -10
  37. package/dist/esm/components/menu/MenuButton.js +31 -25
  38. package/dist/esm/components/menu/MenuSeparator.js +11 -5
  39. package/dist/esm/components/menu/index.js +22 -6
  40. package/dist/esm/components/menu/menu-constants.js +4 -1
  41. package/dist/esm/components/menu/menu-manager.d.ts +2 -0
  42. package/dist/esm/components/menu/menu-manager.js +35 -11
  43. package/dist/esm/components/menu/menu-settings.js +4 -1
  44. package/dist/esm/components/modal/index.d.ts +1 -0
  45. package/dist/esm/components/modal/index.js +1 -0
  46. package/dist/esm/components/pagination/Pagination.js +35 -29
  47. package/dist/esm/components/pagination/index.js +18 -2
  48. package/dist/esm/components/pagination/pagination-settings.js +4 -1
  49. package/dist/esm/components/panel-tree/PanelTree.js +27 -21
  50. package/dist/esm/components/panel-tree/index.d.ts +1 -0
  51. package/dist/esm/components/panel-tree/index.js +1 -0
  52. package/dist/esm/components/panel-tree/panel-tree-constants.js +5 -2
  53. package/dist/esm/components/panel-tree/panel-tree-store.js +13 -9
  54. package/dist/esm/components/panel-tree/panel-tree-utils.js +7 -3
  55. package/dist/esm/components/popover/index.d.ts +1 -0
  56. package/dist/esm/components/popover/index.js +1 -0
  57. package/dist/esm/components/reorderable-list/RedorderableList.js +17 -11
  58. package/dist/esm/components/reorderable-list/index.d.ts +1 -0
  59. package/dist/esm/components/reorderable-list/index.js +1 -0
  60. package/dist/esm/components/select/Select.js +18 -12
  61. package/dist/esm/components/select/SelectOptionsPanel.js +19 -13
  62. package/dist/esm/components/select/constants.js +5 -2
  63. package/dist/esm/components/select/index.js +18 -2
  64. package/dist/esm/components/select/select-options-manager.js +7 -3
  65. package/dist/esm/components/tab-panel/TabPanel.js +19 -13
  66. package/dist/esm/components/tab-panel/index.js +19 -3
  67. package/dist/esm/components/tab-panel/tab-panel-default-settings.js +4 -1
  68. package/dist/esm/components/tab-panel/tab-panel-settings.js +2 -1
  69. package/dist/esm/components/table/Table.d.ts +4 -0
  70. package/dist/esm/components/table/Table.js +24 -13
  71. package/dist/esm/components/table/index.js +17 -1
  72. package/dist/esm/components/toast/index.js +17 -1
  73. package/dist/esm/components/toast/toast.js +39 -9
  74. package/dist/esm/components/tooltip/index.js +19 -3
  75. package/dist/esm/components/tooltip/tooltip-defaults.js +4 -1
  76. package/dist/esm/components/tooltip/tooltip-function.d.ts +1 -1
  77. package/dist/esm/components/tooltip/tooltip-function.js +26 -21
  78. package/dist/esm/components/tooltip/tooltip-interfaces.js +2 -1
  79. package/dist/esm/components/tree/Tree.js +29 -22
  80. package/dist/esm/components/tree/index.js +19 -3
  81. package/dist/esm/components/tree/tree-node.interface.js +2 -1
  82. package/dist/esm/components/tree/tree-utils.js +5 -1
  83. package/dist/esm/index.js +18 -2
  84. package/dist/esm/utils/date-time.js +7 -2
  85. package/dist/esm/utils/dom.js +7 -2
  86. package/dist/esm/utils/events.js +5 -1
  87. package/dist/esm/utils/index.js +19 -3
  88. package/package.json +1 -1
@@ -1,13 +1,16 @@
1
- import { BehaviorSubject } from "rxjs";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelectOptionsManager = void 0;
4
+ const rxjs_1 = require("rxjs");
2
5
  const REOPEN_TIMEOUT = 100;
3
6
  /**
4
7
  * Manager providing the link between custom select box input components
5
8
  * and the layout-level select options panel
6
9
  */
7
- export class SelectOptionsManager {
10
+ class SelectOptionsManager {
8
11
  get panel() { return this._panel.value; }
9
12
  constructor() {
10
- this._panel = new BehaviorSubject(undefined);
13
+ this._panel = new rxjs_1.BehaviorSubject(undefined);
11
14
  this.panel$ = this._panel.asObservable();
12
15
  this.lastPanel = {
13
16
  id: "",
@@ -61,3 +64,4 @@ export class SelectOptionsManager {
61
64
  this._panel.next(undefined);
62
65
  }
63
66
  }
67
+ exports.SelectOptionsManager = SelectOptionsManager;
@@ -1,9 +1,15 @@
1
- import m from "mithril";
2
- import { DEFAULT_TAB_PANEL_SETTINGS as SETTINGS } from "./tab-panel-default-settings";
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.TabPanel = void 0;
7
+ const mithril_1 = __importDefault(require("mithril"));
8
+ const tab_panel_default_settings_1 = require("./tab-panel-default-settings");
3
9
  /**
4
10
  * If a child pane is undefined, it is completely ignored.
5
11
  */
6
- export const TabPanel = {
12
+ exports.TabPanel = {
7
13
  oninit({ attrs, state, children }) {
8
14
  var _a, _b, _c;
9
15
  state.tabCount = countChildren(children);
@@ -45,30 +51,30 @@ export const TabPanel = {
45
51
  if (children instanceof Array)
46
52
  children = children.filter(c => c !== undefined);
47
53
  const labels = attrs.labels.filter(l => l !== undefined);
48
- return m("", {
49
- class: `${SETTINGS.class.tabPanel} ${(_b = (_a = attrs.settings) === null || _a === void 0 ? void 0 : _a.classes) === null || _b === void 0 ? void 0 : _b.tabPanel}`,
54
+ return (0, mithril_1.default)("", {
55
+ class: `${tab_panel_default_settings_1.DEFAULT_TAB_PANEL_SETTINGS.class.tabPanel} ${(_b = (_a = attrs.settings) === null || _a === void 0 ? void 0 : _a.classes) === null || _b === void 0 ? void 0 : _b.tabPanel}`,
50
56
  }, [
51
57
  // m(Draggable, {
52
58
  // // TODO: wire up to allow draggable scrolling on desktop
53
59
  // ondrag: ({ x, y }) => {},
54
60
  // }, [
55
- m("", {
56
- class: `${SETTINGS.class.buttonBar} ${(_d = (_c = attrs.settings) === null || _c === void 0 ? void 0 : _c.classes) === null || _d === void 0 ? void 0 : _d.buttonBar}`,
61
+ (0, mithril_1.default)("", {
62
+ class: `${tab_panel_default_settings_1.DEFAULT_TAB_PANEL_SETTINGS.class.buttonBar} ${(_d = (_c = attrs.settings) === null || _c === void 0 ? void 0 : _c.classes) === null || _d === void 0 ? void 0 : _d.buttonBar}`,
57
63
  }, indices(state.tabCount).map(index => {
58
64
  var _a, _b, _c, _d, _e, _f;
59
- return m("button", {
60
- class: (SETTINGS.class.tabButton + " " + ((_b = (_a = attrs.settings) === null || _a === void 0 ? void 0 : _a.classes) === null || _b === void 0 ? void 0 : _b.tabButton) + " " +
61
- (state.index === index ? SETTINGS.class.tabButtonSelected : SETTINGS.class.tabButtonUnselected) + " " +
65
+ return (0, mithril_1.default)("button", {
66
+ class: (tab_panel_default_settings_1.DEFAULT_TAB_PANEL_SETTINGS.class.tabButton + " " + ((_b = (_a = attrs.settings) === null || _a === void 0 ? void 0 : _a.classes) === null || _b === void 0 ? void 0 : _b.tabButton) + " " +
67
+ (state.index === index ? tab_panel_default_settings_1.DEFAULT_TAB_PANEL_SETTINGS.class.tabButtonSelected : tab_panel_default_settings_1.DEFAULT_TAB_PANEL_SETTINGS.class.tabButtonUnselected) + " " +
62
68
  (state.index === index ? (_d = (_c = attrs.settings) === null || _c === void 0 ? void 0 : _c.classes) === null || _d === void 0 ? void 0 : _d.tabButtonSelected : (_f = (_e = attrs.settings) === null || _e === void 0 ? void 0 : _e.classes) === null || _f === void 0 ? void 0 : _f.tabButtonUnselected)),
63
69
  onclick: () => state.setIndex(index),
64
70
  }, labels[index] || `Tab ${index + 1}`);
65
71
  })),
66
72
  // ]),
67
- m("div", {
68
- class: `${SETTINGS.class.selectedPane} ${(_f = (_e = attrs.settings) === null || _e === void 0 ? void 0 : _e.classes) === null || _f === void 0 ? void 0 : _f.selectedPane}`,
73
+ (0, mithril_1.default)("div", {
74
+ class: `${tab_panel_default_settings_1.DEFAULT_TAB_PANEL_SETTINGS.class.selectedPane} ${(_f = (_e = attrs.settings) === null || _e === void 0 ? void 0 : _e.classes) === null || _f === void 0 ? void 0 : _f.selectedPane}`,
69
75
  }, [
70
76
  (!(children instanceof Array)) ? children :
71
- children.map((child, index) => m("", {
77
+ children.map((child, index) => (0, mithril_1.default)("", {
72
78
  style: `display: ${index === state.index ? "block" : "none"}`,
73
79
  }, child)),
74
80
  ]),
@@ -1,3 +1,19 @@
1
- export * from "./tab-panel-default-settings";
2
- export * from "./tab-panel-settings";
3
- export * from "./TabPanel";
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("./tab-panel-default-settings"), exports);
18
+ __exportStar(require("./tab-panel-settings"), exports);
19
+ __exportStar(require("./TabPanel"), exports);
@@ -1,4 +1,7 @@
1
- export const DEFAULT_TAB_PANEL_SETTINGS = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_TAB_PANEL_SETTINGS = void 0;
4
+ exports.DEFAULT_TAB_PANEL_SETTINGS = {
2
5
  /** Optional CSS classes to apply to parts of the tab panel */
3
6
  class: {
4
7
  /** Space-separated CSS classes to apply to the entire tab panel */
@@ -1,4 +1,5 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  // export const DEFAULT_TAB_PANEL_SETTINGS: TabPanelSettings = {
3
4
  // classes: {
4
5
  // tabPanel: "w-full my-4",
@@ -21,6 +21,10 @@ export interface TableAttrs<T> {
21
21
  layout?: "auto" | "fixed";
22
22
  /** Override the default message displayed when there are no data items */
23
23
  emptyMessage?: string;
24
+ /** Optional function to apply custom styles to rows */
25
+ rowStyle?: (item: T, index: number) => string | undefined;
26
+ /** Optional function to apply custom classes to rows */
27
+ rowClass?: (item: T, index: number) => string | undefined;
24
28
  /** Any CSS classes to apply to the table */
25
29
  class?: string;
26
30
  /** Any CSS styles to apply to the table */
@@ -1,4 +1,10 @@
1
- import m from "mithril";
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.Table = exports.typedTable = void 0;
7
+ const mithril_1 = __importDefault(require("mithril"));
2
8
  /**
3
9
  * Build a typed Table component which includes type checking for column definitions
4
10
  * @example
@@ -14,25 +20,26 @@ import m from "mithril";
14
20
  * ```
15
21
  * @returns
16
22
  */
17
- export function typedTable() {
18
- const typedTable = Table;
23
+ function typedTable() {
24
+ const typedTable = exports.Table;
19
25
  const col = (header, cell, options) => {
20
26
  return { header, cell, options };
21
27
  };
22
28
  return Object.assign(Object.assign({}, typedTable), { col });
23
29
  }
24
- export const Table = {
30
+ exports.typedTable = typedTable;
31
+ exports.Table = {
25
32
  view({ attrs }) {
26
33
  var _a, _b, _c, _d;
27
- return m("table.mico-table", {
34
+ return (0, mithril_1.default)("table.mico-table", {
28
35
  class: attrs.class,
29
36
  style: `${(_a = attrs.style) !== null && _a !== void 0 ? _a : ""} table-layout: ${((_b = attrs.layout) !== null && _b !== void 0 ? _b : "auto")};`,
30
37
  }, [
31
- m("thead", [
32
- m("tr", [
38
+ (0, mithril_1.default)("thead", [
39
+ (0, mithril_1.default)("tr", [
33
40
  attrs.columns.map(col => {
34
41
  var _a, _b;
35
- return m("th", {
42
+ return (0, mithril_1.default)("th", {
36
43
  class: (_a = col.options) === null || _a === void 0 ? void 0 : _a.class,
37
44
  style: (_b = col.options) === null || _b === void 0 ? void 0 : _b.style,
38
45
  }, [
@@ -41,12 +48,16 @@ export const Table = {
41
48
  }),
42
49
  ]),
43
50
  ]),
44
- m("tbody", [
51
+ (0, mithril_1.default)("tbody", [
45
52
  attrs.data.map((item, dataIndex) => {
46
- return m("tr", [
53
+ var _a, _b;
54
+ return (0, mithril_1.default)("tr", {
55
+ class: (_a = attrs.rowClass) === null || _a === void 0 ? void 0 : _a.call(attrs, item, dataIndex),
56
+ style: (_b = attrs.rowStyle) === null || _b === void 0 ? void 0 : _b.call(attrs, item, dataIndex),
57
+ }, [
47
58
  attrs.columns.map((col, colIndex) => {
48
59
  var _a, _b, _c;
49
- return m("td", {
60
+ return (0, mithril_1.default)("td", {
50
61
  class: (_a = col.options) === null || _a === void 0 ? void 0 : _a.class,
51
62
  style: (_b = col.options) === null || _b === void 0 ? void 0 : _b.style,
52
63
  }, [
@@ -55,8 +66,8 @@ export const Table = {
55
66
  }),
56
67
  ]);
57
68
  }),
58
- ((_c = attrs.data) === null || _c === void 0 ? void 0 : _c.length) === 0 ? m("tr", [
59
- m("td.text-center.text-medium", {
69
+ ((_c = attrs.data) === null || _c === void 0 ? void 0 : _c.length) === 0 ? (0, mithril_1.default)("tr", [
70
+ (0, mithril_1.default)("td.text-center.text-medium", {
60
71
  colspan: attrs.columns.length,
61
72
  }, [
62
73
  (_d = attrs.emptyMessage) !== null && _d !== void 0 ? _d : "No items",
@@ -1 +1,17 @@
1
- export * from "./Table";
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("./Table"), exports);
@@ -1 +1,17 @@
1
- export * from "./toast";
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("./toast"), exports);
@@ -1,7 +1,36 @@
1
- import Toastify, { reposition } from "toastify-js";
2
- import m from "mithril";
3
- import "toastify-js/src/toastify.css";
4
- export const DefaultToastOptions = {
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.toast = exports.DefaultToastOptions = void 0;
30
+ const toastify_js_1 = __importStar(require("toastify-js"));
31
+ const mithril_1 = __importDefault(require("mithril"));
32
+ require("toastify-js/src/toastify.css");
33
+ exports.DefaultToastOptions = {
5
34
  className: "mico-toast",
6
35
  gravity: "bottom",
7
36
  oldestFirst: true,
@@ -13,15 +42,15 @@ export const DefaultToastOptions = {
13
42
  * @param options See this link for all options: https://github.com/apvarun/toastify-js#documentation
14
43
  * @returns
15
44
  */
16
- export function toast(message, options) {
45
+ function toast(message, options) {
17
46
  if (!message)
18
47
  message = "toast";
19
- const toastifyOpts = Object.assign({}, DefaultToastOptions, options, typeof message === "string" ? { text: message } : undefined);
20
- const toastify = Toastify(toastifyOpts);
48
+ const toastifyOpts = Object.assign({}, exports.DefaultToastOptions, options, typeof message === "string" ? { text: message } : undefined);
49
+ const toastify = (0, toastify_js_1.default)(toastifyOpts);
21
50
  toastify.showToast();
22
51
  if (toastify.toastElement && typeof message !== "string" && "tag" in message) {
23
- m.render(toastify.toastElement, message);
24
- reposition();
52
+ mithril_1.default.render(toastify.toastElement, message);
53
+ (0, toastify_js_1.reposition)();
25
54
  }
26
55
  return {
27
56
  options: toastify.options,
@@ -29,3 +58,4 @@ export function toast(message, options) {
29
58
  hide: () => toastify.hideToast(),
30
59
  };
31
60
  }
61
+ exports.toast = toast;
@@ -1,3 +1,19 @@
1
- export * from "./tooltip-defaults";
2
- export * from "./tooltip-function";
3
- export * from "./tooltip-interfaces";
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("./tooltip-defaults"), exports);
18
+ __exportStar(require("./tooltip-function"), exports);
19
+ __exportStar(require("./tooltip-interfaces"), exports);
@@ -1,4 +1,7 @@
1
- export const TOOLTIP_DEFAULTS = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TOOLTIP_DEFAULTS = void 0;
4
+ exports.TOOLTIP_DEFAULTS = {
2
5
  /** How to position the tooltips by default */
3
6
  DEFAULT_POS: "cursor",
4
7
  /** Delay in milliseconds before showing the tooltip */
@@ -23,7 +23,7 @@ export declare function tooltip(ev: MouseEvent, tooltip: string, opts?: Partial<
23
23
  * }, "Click me"),
24
24
  * // is equivalent to:
25
25
  * m("button", {
26
- * onmousenter: (ev: Mousevent) => tooltip(ev, "Click the button"),
26
+ * onmouseenter: (ev: MouseEvent) => tooltip(ev, "Click the button"),
27
27
  * }, "Click me"),
28
28
  * ```
29
29
  * @param value
@@ -1,4 +1,7 @@
1
- import { TOOLTIP_DEFAULTS } from "./tooltip-defaults";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tooltipSpread = exports.tooltip = void 0;
4
+ const tooltip_defaults_1 = require("./tooltip-defaults");
2
5
  /**
3
6
  * Display a tooltip using the given mouse event.
4
7
  * Call this function from an element's "mouseenter" event.
@@ -12,19 +15,19 @@ import { TOOLTIP_DEFAULTS } from "./tooltip-defaults";
12
15
  * @param opts
13
16
  * @returns
14
17
  */
15
- export function tooltip(ev, tooltip, opts) {
18
+ function tooltip(ev, tooltip, opts) {
16
19
  var _a;
17
- if (TOOLTIP_DEFAULTS.IS_ENABLED === false)
20
+ if (tooltip_defaults_1.TOOLTIP_DEFAULTS.IS_ENABLED === false)
18
21
  return;
19
22
  // If there is no tooltip, don't bother
20
23
  if (!tooltip)
21
24
  return;
22
25
  const target = ev.currentTarget;
23
26
  const eventTarget = ev.target;
24
- TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`target is ${target === null || target === void 0 ? void 0 : target.tagName}`);
25
- TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`event target is ${eventTarget === null || eventTarget === void 0 ? void 0 : eventTarget.tagName}`);
27
+ tooltip_defaults_1.TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`target is ${target === null || target === void 0 ? void 0 : target.tagName}`);
28
+ tooltip_defaults_1.TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`event target is ${eventTarget === null || eventTarget === void 0 ? void 0 : eventTarget.tagName}`);
26
29
  if (!target) {
27
- TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log("No target; returning from tooltip()");
30
+ tooltip_defaults_1.TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log("No target; returning from tooltip()");
28
31
  return;
29
32
  }
30
33
  // if (target?.classList.contains(TOOLTIP_CLASS) || eventTarget?.classList.contains(TOOLTIP_CLASS)) {
@@ -34,12 +37,12 @@ export function tooltip(ev, tooltip, opts) {
34
37
  let hasTooltip = false;
35
38
  target.childNodes.forEach((child, key, parent) => {
36
39
  var _a;
37
- if ((_a = child === null || child === void 0 ? void 0 : child.classList) === null || _a === void 0 ? void 0 : _a.contains(TOOLTIP_DEFAULTS.TOOLTIP_CLASS)) {
40
+ if ((_a = child === null || child === void 0 ? void 0 : child.classList) === null || _a === void 0 ? void 0 : _a.contains(tooltip_defaults_1.TOOLTIP_DEFAULTS.TOOLTIP_CLASS)) {
38
41
  hasTooltip = true;
39
42
  }
40
43
  });
41
44
  if (hasTooltip) {
42
- TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log("Target already has tooltip; returning from tooltip()");
45
+ tooltip_defaults_1.TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log("Target already has tooltip; returning from tooltip()");
43
46
  return;
44
47
  }
45
48
  const mousePos = { x: ev.x, y: ev.y };
@@ -50,15 +53,16 @@ export function tooltip(ev, tooltip, opts) {
50
53
  target.addEventListener("mousemove", latestPosFn);
51
54
  const timeout = setTimeout(() => {
52
55
  displayTooltip({ ev, target, tooltip, opts, mousePos });
53
- }, (_a = opts === null || opts === void 0 ? void 0 : opts.delay) !== null && _a !== void 0 ? _a : TOOLTIP_DEFAULTS.DEFAULT_DELAY);
56
+ }, (_a = opts === null || opts === void 0 ? void 0 : opts.delay) !== null && _a !== void 0 ? _a : tooltip_defaults_1.TOOLTIP_DEFAULTS.DEFAULT_DELAY);
54
57
  const clearFn = (ev) => {
55
- TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log("Clearing tooltip timeout");
58
+ tooltip_defaults_1.TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log("Clearing tooltip timeout");
56
59
  clearTimeout(timeout);
57
60
  target.removeEventListener("mouseleave", clearFn);
58
61
  target.removeEventListener("mousemove", latestPosFn);
59
62
  };
60
63
  target.addEventListener("mouseleave", clearFn);
61
64
  }
65
+ exports.tooltip = tooltip;
62
66
  /**
63
67
  * Return an object that can be spread into an element's attrs to add a tooltip using the mouseenter event
64
68
  *
@@ -69,18 +73,19 @@ export function tooltip(ev, tooltip, opts) {
69
73
  * }, "Click me"),
70
74
  * // is equivalent to:
71
75
  * m("button", {
72
- * onmousenter: (ev: Mousevent) => tooltip(ev, "Click the button"),
76
+ * onmouseenter: (ev: MouseEvent) => tooltip(ev, "Click the button"),
73
77
  * }, "Click me"),
74
78
  * ```
75
79
  * @param value
76
80
  * @param opts
77
81
  * @returns
78
82
  */
79
- export function tooltipSpread(value, opts) {
83
+ function tooltipSpread(value, opts) {
80
84
  return {
81
85
  onmouseenter: (ev) => tooltip(ev, value, opts),
82
86
  };
83
87
  }
88
+ exports.tooltipSpread = tooltipSpread;
84
89
  /**
85
90
  * TODO: consider adding arrows to top/bottom/left/right positioned tooltips
86
91
  * e.g.: https://getbootstrap.com/docs/3.4/javascript/#tooltips
@@ -90,22 +95,22 @@ function displayTooltip(settings) {
90
95
  const { ev, target, tooltip, opts, mousePos } = settings;
91
96
  const cursorOffsetX = 5;
92
97
  const cursorOffsetY = 20;
93
- const pos = (_a = opts === null || opts === void 0 ? void 0 : opts.pos) !== null && _a !== void 0 ? _a : TOOLTIP_DEFAULTS.DEFAULT_POS;
98
+ const pos = (_a = opts === null || opts === void 0 ? void 0 : opts.pos) !== null && _a !== void 0 ? _a : tooltip_defaults_1.TOOLTIP_DEFAULTS.DEFAULT_POS;
94
99
  let targetRect = target.getBoundingClientRect();
95
100
  // targetRect = new DOMRect(targetRect.x, targetRect.y, targetRect.width, targetRect.height);
96
101
  let targetCenter = {
97
102
  x: targetRect.left + (targetRect.width / 2),
98
103
  y: targetRect.top + (targetRect.height / 2),
99
104
  };
100
- const maxWidth = (opts === null || opts === void 0 ? void 0 : opts.jumbo) === true ? TOOLTIP_DEFAULTS.MAX_WIDTH_JUMBO_PX : TOOLTIP_DEFAULTS.MAX_WIDTH_PX;
101
- const maxHeight = (opts === null || opts === void 0 ? void 0 : opts.jumbo) === true ? TOOLTIP_DEFAULTS.MAX_HEIGHT_JUMBO_PX : TOOLTIP_DEFAULTS.MAX_HEIGHT_PX;
102
- const attachToBody = (_c = (_b = settings.opts) === null || _b === void 0 ? void 0 : _b.attachToBody) !== null && _c !== void 0 ? _c : TOOLTIP_DEFAULTS.ATTACH_TO_BODY;
103
- TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`display tooltip "${tooltip}" on element ${target.tagName}`);
105
+ const maxWidth = (opts === null || opts === void 0 ? void 0 : opts.jumbo) === true ? tooltip_defaults_1.TOOLTIP_DEFAULTS.MAX_WIDTH_JUMBO_PX : tooltip_defaults_1.TOOLTIP_DEFAULTS.MAX_WIDTH_PX;
106
+ const maxHeight = (opts === null || opts === void 0 ? void 0 : opts.jumbo) === true ? tooltip_defaults_1.TOOLTIP_DEFAULTS.MAX_HEIGHT_JUMBO_PX : tooltip_defaults_1.TOOLTIP_DEFAULTS.MAX_HEIGHT_PX;
107
+ const attachToBody = (_c = (_b = settings.opts) === null || _b === void 0 ? void 0 : _b.attachToBody) !== null && _c !== void 0 ? _c : tooltip_defaults_1.TOOLTIP_DEFAULTS.ATTACH_TO_BODY;
108
+ tooltip_defaults_1.TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`display tooltip "${tooltip}" on element ${target.tagName}`);
104
109
  const tooltipEl = document.createElement("div");
105
110
  tooltipEl.innerText = tooltip;
106
111
  // tooltipEl.classList.value = "px-2 py-1 text-xs text-dark font-normal rounded border border-primary bg-white fade-in-100 no-select";
107
112
  tooltipEl.classList.add("mico-tooltip-fade-in");
108
- tooltipEl.classList.add(TOOLTIP_DEFAULTS.TOOLTIP_CLASS);
113
+ tooltipEl.classList.add(tooltip_defaults_1.TOOLTIP_DEFAULTS.TOOLTIP_CLASS);
109
114
  tooltipEl.style.position = "fixed";
110
115
  tooltipEl.style.maxWidth = `${maxWidth}px`;
111
116
  tooltipEl.style.maxHeight = `${maxHeight}px`;
@@ -170,11 +175,11 @@ function displayTooltip(settings) {
170
175
  target.addEventListener("mousemove", followFn);
171
176
  target.addEventListener("mouseleave", cleanupFn);
172
177
  }
173
- TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`displaying tooltip at: ${tooltipEl.style.left}, ${tooltipEl.style.top}`);
178
+ tooltip_defaults_1.TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`displaying tooltip at: ${tooltipEl.style.left}, ${tooltipEl.style.top}`);
174
179
  const removeFn = () => {
175
- TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`Removing tooltip ${tooltip} from el ${target.tagName}`);
180
+ tooltip_defaults_1.TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(`Removing tooltip ${tooltip} from el ${target.tagName}`);
176
181
  tooltipEl.onanimationend = (ev) => {
177
- TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(ev.animationName);
182
+ tooltip_defaults_1.TOOLTIP_DEFAULTS.ENABLE_DEBUG && console.log(ev.animationName);
178
183
  if (attachToBody === true) {
179
184
  document.body.removeChild(tooltipEl);
180
185
  }
@@ -1 +1,2 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,19 +1,25 @@
1
- import { compareObjects } from "@hypericon/utils";
2
- import m from "mithril";
3
- import { Icon } from "../icon";
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.createTree = exports.Tree = void 0;
7
+ const utils_1 = require("@hypericon/utils");
8
+ const mithril_1 = __importDefault(require("mithril"));
9
+ const icon_1 = require("../icon");
4
10
  const DATA_TRANSFER_TYPE = "application/tree-data";
5
11
  const DEFAULT_NESTING_WIDTH = "1.5rem";
6
12
  const DEFAULT_TOGGLE_WIDTH = "1.5rem";
7
13
  /**
8
14
  * An untyped tree component (see `createTree<T>()`)
9
15
  */
10
- export const Tree = createTree();
16
+ exports.Tree = createTree();
11
17
  /**
12
18
  * Build a component to display nested nodes in a tree.
13
19
  *
14
20
  * Nodes with children are collapsable, and nodes can be arbitrarily reordered.
15
21
  */
16
- export function createTree() {
22
+ function createTree() {
17
23
  // /** Reference to the TreeItem currently being dragged */
18
24
  // let draggedTreeItem: TreeItem<T> | undefined = undefined;
19
25
  const Tree = {
@@ -26,12 +32,12 @@ export function createTree() {
26
32
  view({ attrs }) {
27
33
  var _a, _b;
28
34
  const nodes = attrs.nodes;
29
- return m(".mico-tree", {
35
+ return (0, mithril_1.default)(".mico-tree", {
30
36
  style: `${(_a = attrs.style) !== null && _a !== void 0 ? _a : ""} position: relative;`,
31
37
  class: `${(_b = attrs.class) !== null && _b !== void 0 ? _b : ""}`
32
38
  }, [
33
- m("ul", nodes.map((node, i) => {
34
- return m(TreeNode, {
39
+ (0, mithril_1.default)("ul", nodes.map((node, i) => {
40
+ return (0, mithril_1.default)(TreeNode, {
35
41
  // key: i, // item.key,
36
42
  node,
37
43
  enableReordering: attrs.enableReordering,
@@ -103,7 +109,7 @@ export function createTree() {
103
109
  const movedNodeData = JSON.parse(ev.dataTransfer.getData(DATA_TRANSFER_TYPE));
104
110
  attrs.enableLogging && console.log(`on drop`, movedNodeData, "on", node.data);
105
111
  // attrs.reorderfinish?.();
106
- const droppedOnSelf = compareObjects(movedNodeData, node.data);
112
+ const droppedOnSelf = (0, utils_1.compareObjects)(movedNodeData, node.data);
107
113
  if (!droppedOnSelf) {
108
114
  (_a = attrs.onreorder) === null || _a === void 0 ? void 0 : _a.call(attrs, { moved: movedNodeData, target: node.data, above: this.isTargettingAbove });
109
115
  }
@@ -125,14 +131,14 @@ export function createTree() {
125
131
  const expanded = canHaveChildren && node.expanded;
126
132
  const collapsed = canHaveChildren && !node.expanded;
127
133
  const targettingDragClass = this.isReorderingOver ? (this.isTargettingAbove ? "mico-tree-reorder-above" : "mico-tree-reorder-below") : "";
128
- return m("li.mico-tree-node", {
134
+ return (0, mithril_1.default)("li.mico-tree-node", {
129
135
  // key: item.key,
130
136
  }, [
131
137
  // The items's label (either a string or Vnode) and expand/collapse control (if there are children)
132
- m("", {
138
+ (0, mithril_1.default)("", {
133
139
  style: `display: flex; align-items: stretch; max-width: 100%; overflow-x: hidden; ${(attrs.toggleExpansionWithLabel && enableToggling) ? `cursor: pointer;` : ``}`,
134
140
  }, [
135
- expanded ? m("button.mico-tree-toggle", {
141
+ expanded ? (0, mithril_1.default)("button.mico-tree-toggle", {
136
142
  style: `width: ${attrs.toggleButtonWidth}; flex: none;`,
137
143
  // class: enableToggling ? `hover:text-primary` : `text-view-icon`,
138
144
  disabled: !enableToggling,
@@ -143,8 +149,8 @@ export function createTree() {
143
149
  node.expanded = false;
144
150
  (_a = attrs.ontoggle) === null || _a === void 0 ? void 0 : _a.call(attrs, { node, expanded: false, recursive: ev.altKey });
145
151
  },
146
- }, attrs.expandedIcon || m(Icon, { fas: "chevron-down" })) : undefined,
147
- collapsed ? m("button.mico-tree-toggle", {
152
+ }, attrs.expandedIcon || (0, mithril_1.default)(icon_1.Icon, { fas: "chevron-down" })) : undefined,
153
+ collapsed ? (0, mithril_1.default)("button.mico-tree-toggle", {
148
154
  style: `width: ${attrs.toggleButtonWidth}; flex: none;`,
149
155
  // class: enableToggling ? `hover:text-primary` : `text-view-icon`,
150
156
  disabled: !enableToggling,
@@ -155,11 +161,11 @@ export function createTree() {
155
161
  node.expanded = true;
156
162
  (_a = attrs.ontoggle) === null || _a === void 0 ? void 0 : _a.call(attrs, { node, expanded: true, recursive: ev.altKey });
157
163
  },
158
- }, attrs.collapsedIcon || m(Icon, { fas: "chevron-right" })) : undefined,
159
- (!canHaveChildren) ? m(".mico-tree-toggle", {
164
+ }, attrs.collapsedIcon || (0, mithril_1.default)(icon_1.Icon, { fas: "chevron-right" })) : undefined,
165
+ (!canHaveChildren) ? (0, mithril_1.default)(".mico-tree-toggle", {
160
166
  style: `width: ${attrs.toggleButtonWidth}; flex: none;`,
161
- }, attrs.noToggleIcon || m(Icon, { fas: "caret-right" })) : [],
162
- m(".mico-tree-label", {
167
+ }, attrs.noToggleIcon || (0, mithril_1.default)(icon_1.Icon, { fas: "caret-right" })) : [],
168
+ (0, mithril_1.default)(".mico-tree-label", {
163
169
  class: `${targettingDragClass}`,
164
170
  style: "position: relative; flex: 1 1 0%; overflow-x: hidden;",
165
171
  draggable: enableReordering && (node.draggable !== false),
@@ -180,16 +186,16 @@ export function createTree() {
180
186
  ondragend: (ev) => this.handleDragEnd(ev, node),
181
187
  }, [
182
188
  (typeof node.label === "string")
183
- ? m("span", node.label)
189
+ ? (0, mithril_1.default)("span", node.label)
184
190
  : node.label,
185
191
  ]),
186
192
  ]),
187
193
  // Any nested children within the item
188
- (expanded) ? m("ul", {
194
+ (expanded) ? (0, mithril_1.default)("ul", {
189
195
  style: `margin-left: ${attrs.nestingWidth};`,
190
196
  }, [
191
197
  ...(node.children || []).map((child, i) => {
192
- return m(TreeNode, {
198
+ return (0, mithril_1.default)(TreeNode, {
193
199
  // key: child.key,
194
200
  node: child,
195
201
  enableToggling: attrs.enableToggling,
@@ -211,7 +217,7 @@ export function createTree() {
211
217
  }),
212
218
  ]) : [],
213
219
  (canHaveChildren && !hasChildren && expanded && emptyChildrenMessage !== undefined) ? [
214
- m("span.mico-tree-empty-children", {
220
+ (0, mithril_1.default)("span.mico-tree-empty-children", {
215
221
  style: `margin-left: ${attrs.toggleButtonWidth};`,
216
222
  }, emptyChildrenMessage)
217
223
  ] : [],
@@ -220,3 +226,4 @@ export function createTree() {
220
226
  };
221
227
  return Tree;
222
228
  }
229
+ exports.createTree = createTree;