@jsenv/plugin-toolbar 0.1.14 → 1.0.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 (62) hide show
  1. package/README.md +3 -0
  2. package/dist/js/toolbar_core.js +17 -17
  3. package/dist/js/toolbar_injector.js +1 -46
  4. package/dist/jsenv_plugin_toolbar.js +1 -3
  5. package/package.json +2 -2
  6. package/src/client/core/animation_actions.js +5 -5
  7. package/src/client/core/animation_effects.js +6 -6
  8. package/src/client/core/animation_signals.js +4 -4
  9. package/src/client/core/changes_actions.js +5 -5
  10. package/src/client/core/changes_signals.js +2 -2
  11. package/src/client/core/execution_actions.js +16 -16
  12. package/src/client/core/execution_effects.js +10 -10
  13. package/src/client/core/execution_signals.js +6 -6
  14. package/src/client/core/notification_actions.js +31 -31
  15. package/src/client/core/notification_context.js +2 -1
  16. package/src/client/core/notification_effects.js +6 -6
  17. package/src/client/core/notification_signals.js +5 -5
  18. package/src/client/core/parent_window_actions.js +18 -18
  19. package/src/client/core/parent_window_context.js +5 -5
  20. package/src/client/core/parent_window_effects.js +9 -9
  21. package/src/client/core/parent_window_signals.js +17 -17
  22. package/src/client/core/server_actions.js +5 -5
  23. package/src/client/core/server_effects.js +6 -6
  24. package/src/client/core/server_signals.js +7 -7
  25. package/src/client/core/settings_actions.js +5 -5
  26. package/src/client/core/settings_signals.js +2 -2
  27. package/src/client/core/theme_actions.js +5 -5
  28. package/src/client/core/theme_effects.js +5 -5
  29. package/src/client/core/theme_signals.js +4 -4
  30. package/src/client/core/toolbar_logger.js +8 -8
  31. package/src/client/core/toolbar_open_actions.js +5 -5
  32. package/src/client/core/toolbar_open_effects.js +4 -4
  33. package/src/client/core/toolbar_open_signals.js +4 -4
  34. package/src/client/core/toolbar_state_context.js +1 -1
  35. package/src/client/core/toolbar_state_effects.js +7 -7
  36. package/src/client/core/toolbar_state_signals.js +11 -11
  37. package/src/client/core/tooltip_actions.js +5 -5
  38. package/src/client/toolbar_core.js +8 -8
  39. package/src/client/toolbar_injector.js +97 -97
  40. package/src/client/ui/changes_indicator/changes_indicator.js +33 -33
  41. package/src/client/ui/document_execution_indicator/document_execution_indicator.js +28 -28
  42. package/src/client/ui/document_index_link/document_index_link.js +3 -3
  43. package/src/client/ui/server_indicator/server_indicator.js +30 -30
  44. package/src/client/ui/toolbar_close_button/toolbar_close_button.js +6 -6
  45. package/src/client/ui/toolbar_menu_overflow/toolbar_menu_overflow.js +50 -50
  46. package/src/client/ui/toolbar_opening/toolbar_opening.js +35 -35
  47. package/src/client/ui/toolbar_overlay/toolbar_overlay.js +36 -36
  48. package/src/client/ui/toolbar_settings/toolbar_animation_setting.js +13 -13
  49. package/src/client/ui/toolbar_settings/toolbar_autoreload_setting.js +19 -19
  50. package/src/client/ui/toolbar_settings/toolbar_notification_setting.js +47 -47
  51. package/src/client/ui/toolbar_settings/toolbar_settings.js +29 -29
  52. package/src/client/ui/toolbar_settings/toolbar_theme_setting.js +8 -8
  53. package/src/client/ui/toolbar_ui.js +19 -19
  54. package/src/client/ui/util/animation.js +116 -116
  55. package/src/client/ui/util/dom.js +29 -29
  56. package/src/client/ui/util/fetch_using_xhr.js +184 -184
  57. package/src/client/ui/util/fetching.js +6 -6
  58. package/src/client/ui/util/iframe_to_parent_href.js +6 -6
  59. package/src/client/ui/util/responsive.js +48 -48
  60. package/src/client/ui/util/util.js +13 -13
  61. package/src/client/ui/variant.js +27 -27
  62. package/src/jsenv_plugin_toolbar.js +17 -17
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  addExternalCommandCallback,
3
3
  sendEventToParent,
4
- } from "./parent_window_actions.js"
5
- import { animationsEnabledSignal } from "./animation_signals.js"
6
- import { initToolbarUI } from "../ui/toolbar_ui.js"
4
+ } from "./parent_window_actions.js";
5
+ import { animationsEnabledSignal } from "./animation_signals.js";
6
+ import { initToolbarUI } from "../ui/toolbar_ui.js";
7
7
 
8
8
  addExternalCommandCallback("initToolbar", () => {
9
9
  // for the first render, force disable animations
10
- const animationsEnabled = animationsEnabledSignal.value
10
+ const animationsEnabled = animationsEnabledSignal.value;
11
11
  if (animationsEnabled) {
12
- animationsEnabledSignal.value = false
12
+ animationsEnabledSignal.value = false;
13
13
  }
14
- initToolbarUI()
14
+ initToolbarUI();
15
15
  if (animationsEnabled) {
16
- animationsEnabledSignal.value = true
16
+ animationsEnabledSignal.value = true;
17
17
  }
18
- })
18
+ });
19
19
 
20
- sendEventToParent("toolbar_ready")
20
+ sendEventToParent("toolbar_ready");
@@ -1,34 +1,34 @@
1
- import { signal } from "@preact/signals"
1
+ import { signal } from "@preact/signals";
2
2
 
3
3
  import {
4
4
  paramsFromParentWindow,
5
5
  parentWindowReloader,
6
- } from "./parent_window_context.js"
6
+ } from "./parent_window_context.js";
7
7
 
8
- export const autoreloadEnabledSignal = signal(false)
9
- export const reloaderStatusSignal = signal("idle")
10
- export const changesSignal = signal(0)
8
+ export const autoreloadEnabledSignal = signal(false);
9
+ export const reloaderStatusSignal = signal("idle");
10
+ export const changesSignal = signal(0);
11
11
 
12
12
  if (parentWindowReloader) {
13
13
  if (
14
14
  !parentWindowReloader.autoreload.enabled &&
15
15
  paramsFromParentWindow.autoreload
16
16
  ) {
17
- autoreloadEnabledSignal.value = true
17
+ autoreloadEnabledSignal.value = true;
18
18
  } else {
19
- autoreloadEnabledSignal.value = parentWindowReloader.autoreload.enabled
19
+ autoreloadEnabledSignal.value = parentWindowReloader.autoreload.enabled;
20
20
  }
21
21
  parentWindowReloader.autoreload.onchange = () => {
22
- autoreloadEnabledSignal.value = parentWindowReloader.autoreload.enabled
23
- }
24
- reloaderStatusSignal.value = parentWindowReloader.status.value
25
- const onchange = parentWindowReloader.status.onchange
22
+ autoreloadEnabledSignal.value = parentWindowReloader.autoreload.enabled;
23
+ };
24
+ reloaderStatusSignal.value = parentWindowReloader.status.value;
25
+ const onchange = parentWindowReloader.status.onchange;
26
26
  parentWindowReloader.status.onchange = () => {
27
- onchange()
28
- reloaderStatusSignal.value = parentWindowReloader.status.value
29
- }
30
- changesSignal.value = parentWindowReloader.changes.value
27
+ onchange();
28
+ reloaderStatusSignal.value = parentWindowReloader.status.value;
29
+ };
30
+ changesSignal.value = parentWindowReloader.changes.value;
31
31
  parentWindowReloader.changes.onchange = () => {
32
- changesSignal.value = [...parentWindowReloader.changes.value]
33
- }
32
+ changesSignal.value = [...parentWindowReloader.changes.value];
33
+ };
34
34
  }
@@ -1,9 +1,9 @@
1
- import { serverTooltipOpenedSignal } from "./server_signals.js"
1
+ import { serverTooltipOpenedSignal } from "./server_signals.js";
2
2
 
3
3
  export const openServerTooltip = () => {
4
- serverTooltipOpenedSignal.value = true
5
- }
4
+ serverTooltipOpenedSignal.value = true;
5
+ };
6
6
 
7
7
  export const closeServerTooltip = () => {
8
- serverTooltipOpenedSignal.value = false
9
- }
8
+ serverTooltipOpenedSignal.value = false;
9
+ };
@@ -1,11 +1,11 @@
1
- import { effect } from "@preact/signals"
1
+ import { effect } from "@preact/signals";
2
2
 
3
- import { serverConnectionSignal } from "./server_signals.js"
4
- import { openServerTooltip } from "./server_actions.js"
3
+ import { serverConnectionSignal } from "./server_signals.js";
4
+ import { openServerTooltip } from "./server_actions.js";
5
5
 
6
6
  effect(() => {
7
- const serverConnection = serverConnectionSignal.value
7
+ const serverConnection = serverConnectionSignal.value;
8
8
  if (serverConnection === "connecting" || serverConnection === "closed") {
9
- openServerTooltip()
9
+ openServerTooltip();
10
10
  }
11
- })
11
+ });
@@ -1,12 +1,12 @@
1
- import { signal } from "@preact/signals"
1
+ import { signal } from "@preact/signals";
2
2
 
3
- export const serverTooltipOpenedSignal = signal(false)
3
+ export const serverTooltipOpenedSignal = signal(false);
4
4
 
5
- export const serverConnectionSignal = signal("default")
6
- const serverEvents = window.__server_events__
5
+ export const serverConnectionSignal = signal("default");
6
+ const serverEvents = window.__server_events__;
7
7
  if (serverEvents) {
8
8
  serverEvents.readyState.onchange = () => {
9
- serverConnectionSignal.value = serverEvents.readyState.value
10
- }
11
- serverConnectionSignal.value = serverEvents.readyState.value
9
+ serverConnectionSignal.value = serverEvents.readyState.value;
10
+ };
11
+ serverConnectionSignal.value = serverEvents.readyState.value;
12
12
  }
@@ -1,9 +1,9 @@
1
- import { settingsOpenedSignal } from "./settings_signals.js"
1
+ import { settingsOpenedSignal } from "./settings_signals.js";
2
2
 
3
3
  export const openSettings = () => {
4
- settingsOpenedSignal.value = true
5
- }
4
+ settingsOpenedSignal.value = true;
5
+ };
6
6
 
7
7
  export const closeSettings = () => {
8
- settingsOpenedSignal.value = false
9
- }
8
+ settingsOpenedSignal.value = false;
9
+ };
@@ -1,3 +1,3 @@
1
- import { signal } from "@preact/signals"
1
+ import { signal } from "@preact/signals";
2
2
 
3
- export const settingsOpenedSignal = signal(false)
3
+ export const settingsOpenedSignal = signal(false);
@@ -1,9 +1,9 @@
1
- import { themeSignal } from "./theme_signals.js"
1
+ import { themeSignal } from "./theme_signals.js";
2
2
 
3
3
  export const switchToLightTheme = () => {
4
- themeSignal.value = "light"
5
- }
4
+ themeSignal.value = "light";
5
+ };
6
6
 
7
7
  export const switchToDefaultTheme = () => {
8
- themeSignal.value = "dark"
9
- }
8
+ themeSignal.value = "dark";
9
+ };
@@ -1,8 +1,8 @@
1
- import { effect } from "@preact/signals"
1
+ import { effect } from "@preact/signals";
2
2
 
3
- import { themeSignal } from "./theme_signals.js"
3
+ import { themeSignal } from "./theme_signals.js";
4
4
 
5
5
  effect(() => {
6
- const theme = themeSignal.value
7
- document.querySelector("html").setAttribute("data-theme", theme)
8
- })
6
+ const theme = themeSignal.value;
7
+ document.querySelector("html").setAttribute("data-theme", theme);
8
+ });
@@ -1,7 +1,7 @@
1
- import { signal } from "@preact/signals"
1
+ import { signal } from "@preact/signals";
2
2
 
3
- import { paramsFromParentWindow } from "./parent_window_context.js"
4
- import { stateFromLocalStorage } from "./toolbar_state_context.js"
3
+ import { paramsFromParentWindow } from "./parent_window_context.js";
4
+ import { stateFromLocalStorage } from "./toolbar_state_context.js";
5
5
 
6
6
  export const themeSignal = signal(
7
7
  typeof stateFromLocalStorage.theme === "string"
@@ -9,4 +9,4 @@ export const themeSignal = signal(
9
9
  : typeof paramsFromParentWindow.theme === "string"
10
10
  ? paramsFromParentWindow.theme
11
11
  : "dark",
12
- )
12
+ );
@@ -1,23 +1,23 @@
1
- import { paramsFromParentWindow } from "./parent_window_context.js"
1
+ import { paramsFromParentWindow } from "./parent_window_context.js";
2
2
 
3
- const logLevel = paramsFromParentWindow.logLevel
3
+ const logLevel = paramsFromParentWindow.logLevel;
4
4
 
5
5
  export const logger = {
6
6
  info: (...args) => {
7
7
  if (logLevel === "warn" || logLevel === "info" || logLevel === "debug") {
8
- console.info(...prefixArgs(...args))
8
+ console.info(...prefixArgs(...args));
9
9
  }
10
10
  },
11
11
 
12
12
  debug: (...args) => {
13
13
  if (logLevel === "debug") {
14
- console.debug(...prefixArgs(...args))
14
+ console.debug(...prefixArgs(...args));
15
15
  }
16
16
  },
17
- }
17
+ };
18
18
 
19
19
  // a nice yellow:ffdc00
20
- const backgroundColor = "#F7931E" // jsenv logo color
20
+ const backgroundColor = "#F7931E"; // jsenv logo color
21
21
 
22
22
  // eslint-disable-next-line no-unused-vars
23
23
  const prefixArgs = (...args) => {
@@ -25,5 +25,5 @@ const prefixArgs = (...args) => {
25
25
  `%cjsenv`,
26
26
  `background: ${backgroundColor}; color: black; padding: 1px 3px; margin: 0 1px`,
27
27
  ...args,
28
- ]
29
- }
28
+ ];
29
+ };
@@ -1,9 +1,9 @@
1
- import { openedSignal } from "./toolbar_open_signals.js"
1
+ import { openedSignal } from "./toolbar_open_signals.js";
2
2
 
3
3
  export const openToolbar = () => {
4
- openedSignal.value = true
5
- }
4
+ openedSignal.value = true;
5
+ };
6
6
 
7
7
  export const closeToolbar = () => {
8
- openedSignal.value = false
9
- }
8
+ openedSignal.value = false;
9
+ };
@@ -1,5 +1,5 @@
1
- import { addExternalCommandCallback } from "./parent_window_actions.js"
2
- import { openToolbar, closeToolbar } from "./toolbar_open_actions.js"
1
+ import { addExternalCommandCallback } from "./parent_window_actions.js";
2
+ import { openToolbar, closeToolbar } from "./toolbar_open_actions.js";
3
3
 
4
- addExternalCommandCallback("openToolbar", openToolbar)
5
- addExternalCommandCallback("closeToolbar", closeToolbar)
4
+ addExternalCommandCallback("openToolbar", openToolbar);
5
+ addExternalCommandCallback("closeToolbar", closeToolbar);
@@ -1,7 +1,7 @@
1
- import { signal } from "@preact/signals"
1
+ import { signal } from "@preact/signals";
2
2
 
3
- import { paramsFromParentWindow } from "./parent_window_context.js"
4
- import { stateFromLocalStorage } from "./toolbar_state_context.js"
3
+ import { paramsFromParentWindow } from "./parent_window_context.js";
4
+ import { stateFromLocalStorage } from "./toolbar_state_context.js";
5
5
 
6
6
  export const openedSignal = signal(
7
7
  typeof stateFromLocalStorage.opened === "boolean"
@@ -9,4 +9,4 @@ export const openedSignal = signal(
9
9
  : typeof paramsFromParentWindow.opened === "boolean"
10
10
  ? paramsFromParentWindow.opened
11
11
  : false,
12
- )
12
+ );
@@ -2,4 +2,4 @@ export const stateFromLocalStorage = localStorage.hasOwnProperty(
2
2
  "jsenv_toolbar",
3
3
  )
4
4
  ? JSON.parse(localStorage.getItem("jsenv_toolbar"))
5
- : {}
5
+ : {};
@@ -1,10 +1,10 @@
1
- import { effect } from "@preact/signals"
1
+ import { effect } from "@preact/signals";
2
2
 
3
- import { toolbarStateSignal } from "./toolbar_state_signals.js"
4
- import { sendEventToParent } from "./parent_window_actions.js"
3
+ import { toolbarStateSignal } from "./toolbar_state_signals.js";
4
+ import { sendEventToParent } from "./parent_window_actions.js";
5
5
 
6
6
  effect(() => {
7
- const toolbarState = toolbarStateSignal.value
8
- localStorage.setItem("jsenv_toolbar", JSON.stringify(toolbarState))
9
- sendEventToParent("toolbar_state_change", toolbarState)
10
- })
7
+ const toolbarState = toolbarStateSignal.value;
8
+ localStorage.setItem("jsenv_toolbar", JSON.stringify(toolbarState));
9
+ sendEventToParent("toolbar_state_change", toolbarState);
10
+ });
@@ -1,20 +1,20 @@
1
- import { computed } from "@preact/signals"
1
+ import { computed } from "@preact/signals";
2
2
 
3
- import { openedSignal } from "./toolbar_open_signals.js"
4
- import { themeSignal } from "./theme_signals.js"
5
- import { animationsEnabledSignal } from "./animation_signals.js"
6
- import { notificationsEnabledSignal } from "./notification_signals.js"
3
+ import { openedSignal } from "./toolbar_open_signals.js";
4
+ import { themeSignal } from "./theme_signals.js";
5
+ import { animationsEnabledSignal } from "./animation_signals.js";
6
+ import { notificationsEnabledSignal } from "./notification_signals.js";
7
7
 
8
8
  export const toolbarStateSignal = computed(() => {
9
- const opened = openedSignal.value
10
- const theme = themeSignal.value
11
- const animationsEnabled = animationsEnabledSignal.value
12
- const notificationsEnabled = notificationsEnabledSignal.value
9
+ const opened = openedSignal.value;
10
+ const theme = themeSignal.value;
11
+ const animationsEnabled = animationsEnabledSignal.value;
12
+ const notificationsEnabled = notificationsEnabledSignal.value;
13
13
 
14
14
  return {
15
15
  opened,
16
16
  theme,
17
17
  animationsEnabled,
18
18
  notificationsEnabled,
19
- }
20
- })
19
+ };
20
+ });
@@ -1,7 +1,7 @@
1
- import { closeExecutionTooltip } from "./execution_actions.js"
2
- import { closeServerTooltip } from "./server_actions.js"
1
+ import { closeExecutionTooltip } from "./execution_actions.js";
2
+ import { closeServerTooltip } from "./server_actions.js";
3
3
 
4
4
  export const closeAllTooltips = () => {
5
- closeExecutionTooltip()
6
- closeServerTooltip()
7
- }
5
+ closeExecutionTooltip();
6
+ closeServerTooltip();
7
+ };
@@ -1,8 +1,8 @@
1
- import "./core/animation_effects.js"
2
- import "./core/execution_effects.js"
3
- import "./core/notification_effects.js"
4
- import "./core/parent_window_effects.js"
5
- import "./core/server_effects.js"
6
- import "./core/theme_effects.js"
7
- import "./core/toolbar_open_effects.js"
8
- import "./core/toolbar_state_effects.js"
1
+ import "./core/animation_effects.js";
2
+ import "./core/execution_effects.js";
3
+ import "./core/notification_effects.js";
4
+ import "./core/parent_window_effects.js";
5
+ import "./core/server_effects.js";
6
+ import "./core/theme_effects.js";
7
+ import "./core/toolbar_open_effects.js";
8
+ import "./core/toolbar_state_effects.js";