@netless/fastboard-ui 0.3.5 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,13 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var __create = Object.create;
3
+ var Tippy = require('tippy.js');
4
+
4
5
  var __defProp = Object.defineProperty;
5
6
  var __defProps = Object.defineProperties;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
7
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
- var __getOwnPropNames = Object.getOwnPropertyNames;
9
8
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
- var __getProtoOf = Object.getPrototypeOf;
11
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
10
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
13
11
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -23,38 +21,28 @@ var __spreadValues = (a, b) => {
23
21
  return a;
24
22
  };
25
23
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
26
- var __export = (target, all) => {
27
- for (var name10 in all)
28
- __defProp(target, name10, { get: all[name10], enumerable: true });
24
+ var __publicField = (obj, key, value) => {
25
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
26
+ return value;
29
27
  };
30
- var __copyProps = (to, from, except, desc) => {
31
- if (from && typeof from === "object" || typeof from === "function") {
32
- for (let key of __getOwnPropNames(from))
33
- if (!__hasOwnProp.call(to, key) && key !== except)
34
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
28
+
29
+ // inline-sass-helper:inline-sass-style-helper.js
30
+ function injectStyle(text2) {
31
+ if (typeof document !== "undefined") {
32
+ var style = document.createElement("style");
33
+ var node = document.createTextNode(text2);
34
+ style.appendChild(node);
35
+ document.head.appendChild(style);
35
36
  }
36
- return to;
37
- };
38
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
39
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
+ }
40
38
 
41
- // src/index.ts
42
- var src_exports = {};
43
- __export(src_exports, {
44
- Fastboard: () => Fastboard_default,
45
- PageControl: () => PageControl_default,
46
- PlayerControl: () => PlayerControl_default,
47
- RedoUndo: () => RedoUndo_default,
48
- ReplayFastboard: () => ReplayFastboard_default,
49
- Toolbar: () => Toolbar_default,
50
- ZoomControl: () => ZoomControl_default,
51
- apps: () => apps,
52
- createReplayUI: () => createReplayUI,
53
- createUI: () => createUI
54
- });
55
- module.exports = __toCommonJS(src_exports);
39
+ // inline-sass-content:./src/style.scss
40
+ var style_default = '.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.fastboard-icon.light .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-icon.light .fastboard-icon-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-icon.light.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #3381ff)}.fastboard-icon.light.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #3381ff)}.fastboard-icon.dark .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark .fastboard-icon-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #2867cc)}.fastboard-icon.dark.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #2867cc)}.fastboard-redo-undo{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-redo-undo *{box-sizing:inherit}.fastboard-redo-undo.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-redo-undo.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-redo-undo-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-redo-undo-btn svg,.fastboard-redo-undo-btn img{width:100%;height:100%;pointer-events:none}.fastboard-redo-undo-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-redo-undo-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-redo-undo-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-zoom-control *{box-sizing:inherit}.fastboard-zoom-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-zoom-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-zoom-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-zoom-control-btn svg,.fastboard-zoom-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-zoom-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-zoom-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-zoom-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control-text{font-variant-numeric:tabular-nums}.fastboard-page-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-page-control *{box-sizing:inherit}.fastboard-page-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-page-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-page-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-page-control-btn svg,.fastboard-page-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-page-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-page-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-page-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-page-control-text{font-variant-numeric:tabular-nums}.fastboard-player-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);width:100%}.fastboard-player-control *{box-sizing:inherit}.fastboard-player-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-player-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-player-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0;display:inline}.fastboard-player-control-btn svg,.fastboard-player-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-player-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-player-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-player-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-player-control-btn.loading svg,.fastboard-player-control-btn.loading img{animation:fastboard-player-control-rotate .5s linear infinite}@keyframes fastboard-player-control-rotate{to{transform:rotate(360deg)}}.fastboard-player-control-btn.speed{width:auto;padding:4px;text-align:right;font-size:14px;font-variant-numeric:tabular-nums}.fastboard-player-control-btn.is-active.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-player-control-btn.is-active.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-player-control-speed-text,.fastboard-player-control-progress{font-size:14px;font-variant-numeric:tabular-nums;line-height:16px}.fastboard-player-control-progress{display:inline-flex;align-items:center}.fastboard-player-control-panel.speed{display:flex;flex-direction:column}.fastboard-toolbar{height:100%;display:flex;align-items:center;position:relative;transform:translate(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.fastboard-toolbar.collapsed{transform:translate(-100%)}.fastboard-toolbar-handler{position:absolute;left:100%;width:17px;font-size:0;border-radius:3px;cursor:pointer;pointer-events:auto}.fastboard-toolbar-handler:focus-visible{outline:2px solid -webkit-focus-ring-color}.fastboard-toolbar-handler input[type=checkbox]{position:absolute;top:0;left:0;appearance:none;margin:0;width:100%;height:100%;cursor:pointer;opacity:0;z-index:-1}.fastboard-toolbar-handler svg{opacity:0;transition:opacity .5s 1s;pointer-events:none}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(255, 255, 255, .9))}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(20, 24, 30, .9))}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-toolbar:hover .fastboard-toolbar-handler svg,.fastboard-toolbar.collapsed .fastboard-toolbar-handler svg{opacity:1;transition:opacity .2s}.fastboard-toolbar-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:4px;width:32px;height:32px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-toolbar-btn svg,.fastboard-toolbar-btn img{width:100%;height:100%;pointer-events:none}.fastboard-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-toolbar-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-slider{box-sizing:border-box;position:relative;width:100%;height:100%;display:flex;align-items:center}.fastboard-slider *{box-sizing:inherit}.fastboard-slider-track{appearance:none;background:rgba(0,0,0,0);border:0;border-radius:26px;flex:1;display:block;height:19px;margin:0;width:0;min-width:0;padding:0;transition:box-shadow .3s ease;cursor:pointer;touch-action:manipulation}.fastboard-slider-track::-webkit-slider-runnable-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;background-image:linear-gradient(to right,currentColor var(--value, 0%),transparent var(--value, 0%))}.fastboard-slider-track::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;appearance:none;margin-top:-4px}.fastboard-slider-track::-moz-range-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none}.fastboard-slider-track::-moz-range-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab}.fastboard-slider-track::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.fastboard-slider-track::-ms-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;color:#0000}.fastboard-slider-track::-ms-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;margin-top:0}.fastboard-slider-track::-ms-tooltip{display:none}.fastboard-slider-track::-moz-focus-outer{border:0}.fastboard-slider-track.grabbing::-webkit-slider-thumb{cursor:grabbing}.fastboard-slider-track.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-slider-track.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-contents{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:2px 0;gap:0;flex-direction:column}.fastboard-toolbar-contents *{box-sizing:inherit}.fastboard-toolbar-contents.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-contents.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-contents>.fastboard-toolbar-btn{margin:2px 4px}.fastboard-toolbar-btn-interactive{position:relative}.fastboard-toolbar-triangle{width:0px;height:0px;border-bottom:4px solid;border-left:4px solid rgba(0,0,0,0);position:absolute;bottom:0;right:0}.fastboard-toolbar-btn:focus+.fastboard-toolbar-triangle{opacity:0}.fastboard-toolbar-scrollable{padding:2px 4px;overflow:hidden;display:flex;flex-direction:column;gap:4px}.fastboard-toolbar-tooltip{display:inline-flex;align-items:center;gap:4px}.fastboard-toolbar-hotkey{display:inline-flex;margin-right:-4px;width:24px;height:24px;align-items:center;justify-content:center;background-color:#ffffff1a;border-radius:4px}.fastboard-toolbar-panel-wrapper{display:none}.fastboard-toolbar-panel{display:flex;flex-direction:column}.fastboard-toolbar-panel-divider{height:.5px;width:100%;margin:4px 0;background-color:#ffffff26}.fastboard-toolbar-colors,.fastboard-toolbar-shapes{display:grid;align-self:center;grid-template:repeat(2,1fr)/repeat(4,1fr);align-items:center;justify-items:center;gap:4px}.fastboard-toolbar-shape-btn,.fastboard-toolbar-color-btn{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center}.fastboard-toolbar-color-btn{border:1px solid rgba(0,0,0,0)}.fastboard-toolbar-color-btn.light.is-active{border-color:var(--fastboard-active-color, #3381ff)}.fastboard-toolbar-color-btn.dark.is-active{border-color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-color-item{display:inline-block;width:16px;height:16px;border-radius:4px;pointer-events:none}.fastboard-toolbar-panel.apps{display:grid;grid-template-columns:repeat(min(var(--n, 3),3),minmax(max-content,1fr));gap:4px}.fastboard-toolbar-app-btn{margin:0;border:0;border-radius:2px;padding:4px 6px;background-color:#0000;display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-size:0}.fastboard-toolbar-app-btn:disabled{opacity:.8}.fastboard-toolbar-app-btn-icon{width:32px;height:32px;pointer-events:none}.fastboard-toolbar-app-btn-text{font-size:14px;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.fastboard-toolbar-app-btn.is-loading{cursor:progress}.fastboard-toolbar-app-btn.is-failed{cursor:not-allowed;opacity:.5}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.light{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-app-btn-text.light{color:var(--fastboard-color, #5d6066)}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.dark{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-toolbar-app-btn-text.dark{color:var(--fastboard-color, #7b7e84)}.fastboard-root{position:relative;width:100%;height:100%;overflow:hidden}.fastboard-view{position:absolute;top:0;left:0;width:100%;height:100%}.fastboard-left{display:flex;align-items:center;position:absolute;bottom:62px;top:8px;left:0;z-index:200;pointer-events:none}.fastboard-left .fastboard-toolbar{padding-left:16px}.fastboard-bottom-left,.fastboard-bottom,.fastboard-bottom-right{display:flex;gap:10px;position:absolute;bottom:8px;left:8px;padding:8px;z-index:200;pointer-events:none}.fastboard-bottom-right{left:auto;right:8px}.fastboard-bottom{right:8px}.fastboard-left.hidden *,.fastboard-bottom.hidden *,.fastboard-bottom-left.hidden *,.fastboard-bottom-right.hidden *{opacity:0;pointer-events:none}.fastboard-tip{font-family:inherit;color:#d5d9e0;background-color:#03060d}.fastboard-tip[data-placement^=right]>.tippy-arrow:before{top:4px;border-width:4px;border-right-color:#03060d}.fastboard-tip[data-placement^=top]>.tippy-arrow:before{left:4px;border-width:4px;border-top-color:#03060d}.fastboard-panel .tippy-content{padding:8px}.netless-whiteboard:focus-visible{outline:none}';
41
+
42
+ // inline-sass-stub:./src/style.scss
43
+ injectStyle(style_default);
56
44
 
57
- // ../../node_modules/.pnpm/svelte@3.49.0/node_modules/svelte/internal/index.mjs
45
+ // ../../node_modules/.pnpm/svelte@3.54.0/node_modules/svelte/internal/index.mjs
58
46
  function noop() {
59
47
  }
60
48
  function assign(tar, src) {
@@ -160,7 +148,9 @@ function insert(target, node, anchor) {
160
148
  target.insertBefore(node, anchor || null);
161
149
  }
162
150
  function detach(node) {
163
- node.parentNode.removeChild(node);
151
+ if (node.parentNode) {
152
+ node.parentNode.removeChild(node);
153
+ }
164
154
  }
165
155
  function destroy_each(iterations, detaching) {
166
156
  for (let i = 0; i < iterations.length; i += 1) {
@@ -222,6 +212,9 @@ function custom_event(type, detail, { bubbles = false, cancelable = false } = {}
222
212
  e.initCustomEvent(type, bubbles, cancelable, detail);
223
213
  return e;
224
214
  }
215
+ function construct_svelte_component(component, props) {
216
+ return new component(props);
217
+ }
225
218
  var current_component;
226
219
  function set_current_component(component) {
227
220
  current_component = component;
@@ -465,13 +458,13 @@ function create_component(block) {
465
458
  block && block.c();
466
459
  }
467
460
  function mount_component(component, target, anchor, customElement) {
468
- const { fragment, on_mount, on_destroy, after_update } = component.$$;
461
+ const { fragment, after_update } = component.$$;
469
462
  fragment && fragment.m(target, anchor);
470
463
  if (!customElement) {
471
464
  add_render_callback(() => {
472
- const new_on_destroy = on_mount.map(run).filter(is_function);
473
- if (on_destroy) {
474
- on_destroy.push(...new_on_destroy);
465
+ const new_on_destroy = component.$$.on_mount.map(run).filter(is_function);
466
+ if (component.$$.on_destroy) {
467
+ component.$$.on_destroy.push(...new_on_destroy);
475
468
  } else {
476
469
  run_all(new_on_destroy);
477
470
  }
@@ -502,7 +495,7 @@ function init(component, options, instance59, create_fragment59, not_equal2, pro
502
495
  set_current_component(component);
503
496
  const $$ = component.$$ = {
504
497
  fragment: null,
505
- ctx: null,
498
+ ctx: [],
506
499
  props,
507
500
  update: noop,
508
501
  not_equal: not_equal2,
@@ -555,6 +548,9 @@ var SvelteComponent = class {
555
548
  this.$destroy = noop;
556
549
  }
557
550
  $on(type, callback) {
551
+ if (!is_function(callback)) {
552
+ return noop;
553
+ }
558
554
  const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);
559
555
  callbacks.push(callback);
560
556
  return () => {
@@ -591,7 +587,14 @@ function create_else_block(ctx) {
591
587
  p(ctx2, dirty) {
592
588
  if (default_slot) {
593
589
  if (default_slot.p && (!current || dirty & 8)) {
594
- update_slot_base(default_slot, default_slot_template, ctx2, ctx2[3], !current ? get_all_dirty_from_scope(ctx2[3]) : get_slot_changes(default_slot_template, ctx2[3], dirty, null), null);
590
+ update_slot_base(
591
+ default_slot,
592
+ default_slot_template,
593
+ ctx2,
594
+ ctx2[3],
595
+ !current ? get_all_dirty_from_scope(ctx2[3]) : get_slot_changes(default_slot_template, ctx2[3], dirty, null),
596
+ null
597
+ );
595
598
  }
596
599
  }
597
600
  },
@@ -3416,11 +3419,8 @@ var Icons = {
3416
3419
  Loading: Loading_default
3417
3420
  };
3418
3421
  var Icons_default = Icons;
3419
-
3420
- // src/actions/tippy.ts
3421
- var import_tippy = __toESM(require("tippy.js"));
3422
3422
  if (is_client) {
3423
- import_tippy.default.setDefaultProps({
3423
+ Tippy.setDefaultProps({
3424
3424
  delay: [1e3, 400],
3425
3425
  duration: 300,
3426
3426
  offset: [0, 11],
@@ -3455,7 +3455,7 @@ if (is_client) {
3455
3455
  });
3456
3456
  }
3457
3457
  var tippy = function(node, props) {
3458
- const instance59 = (0, import_tippy.default)(node, props);
3458
+ const instance59 = Tippy(node, props);
3459
3459
  return {
3460
3460
  update(props2) {
3461
3461
  instance59.setProps(props2);
@@ -3511,7 +3511,14 @@ function create_else_block_1(ctx) {
3511
3511
  p(ctx2, dirty) {
3512
3512
  if (default_slot) {
3513
3513
  if (default_slot.p && (!current || dirty & 256)) {
3514
- update_slot_base(default_slot, default_slot_template, ctx2, ctx2[8], !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null), null);
3514
+ update_slot_base(
3515
+ default_slot,
3516
+ default_slot_template,
3517
+ ctx2,
3518
+ ctx2[8],
3519
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3520
+ null
3521
+ );
3515
3522
  }
3516
3523
  }
3517
3524
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3642,7 +3649,14 @@ function create_else_block2(ctx) {
3642
3649
  p(ctx2, dirty) {
3643
3650
  if (default_slot) {
3644
3651
  if (default_slot.p && (!current || dirty & 256)) {
3645
- update_slot_base(default_slot, default_slot_template, ctx2, ctx2[8], !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null), null);
3652
+ update_slot_base(
3653
+ default_slot,
3654
+ default_slot_template,
3655
+ ctx2,
3656
+ ctx2[8],
3657
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3658
+ null
3659
+ );
3646
3660
  }
3647
3661
  }
3648
3662
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3738,7 +3752,14 @@ function create_if_block_1(ctx) {
3738
3752
  p(ctx2, dirty) {
3739
3753
  if (default_slot) {
3740
3754
  if (default_slot.p && (!current || dirty & 256)) {
3741
- update_slot_base(default_slot, default_slot_template, ctx2, ctx2[8], !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null), null);
3755
+ update_slot_base(
3756
+ default_slot,
3757
+ default_slot_template,
3758
+ ctx2,
3759
+ ctx2[8],
3760
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3761
+ null
3762
+ );
3742
3763
  }
3743
3764
  }
3744
3765
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -5410,7 +5431,7 @@ var ZoomControl = class extends SvelteComponent {
5410
5431
  };
5411
5432
  var ZoomControl_default = ZoomControl;
5412
5433
 
5413
- // ../../node_modules/.pnpm/svelte@3.49.0/node_modules/svelte/store/index.mjs
5434
+ // ../../node_modules/.pnpm/svelte@3.54.0/node_modules/svelte/store/index.mjs
5414
5435
  var subscriber_queue = [];
5415
5436
  function writable(value, start = noop) {
5416
5437
  let stop;
@@ -5560,7 +5581,7 @@ var scrollTop = function(node, value) {
5560
5581
  let timer = 0;
5561
5582
  function on_scroll() {
5562
5583
  clearTimeout(timer);
5563
- timer = setTimeout(() => value.set(node.scrollTop), 200);
5584
+ timer = window.setTimeout(() => value.set(node.scrollTop), 200);
5564
5585
  }
5565
5586
  node.addEventListener("scroll", on_scroll);
5566
5587
  let unsubscribe = value.subscribe(listener);
@@ -5590,7 +5611,7 @@ var countdown_default = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3d
5590
5611
  var AppsInToolbar = class {
5591
5612
  constructor(_data) {
5592
5613
  this._data = _data;
5593
- this._listeners = [];
5614
+ __publicField(this, "_listeners", []);
5594
5615
  }
5595
5616
  get data() {
5596
5617
  return this._data;
@@ -5963,7 +5984,7 @@ function create_each_block(key_1, ctx) {
5963
5984
  span = element("span");
5964
5985
  t = space();
5965
5986
  attr(span, "class", "fastboard-toolbar-color-item");
5966
- set_style(span, "background-color", ctx[7], false);
5987
+ set_style(span, "background-color", ctx[7]);
5967
5988
  attr(button, "class", button_class_value = "fastboard-toolbar-btn fastboard-toolbar-color-btn " + ctx[0]);
5968
5989
  attr(button, "data-color-key", ctx[7]);
5969
5990
  button.disabled = ctx[1];
@@ -6112,7 +6133,7 @@ function create_each_block2(key_1, ctx) {
6112
6133
  span = element("span");
6113
6134
  t = space();
6114
6135
  attr(span, "class", "fastboard-toolbar-color-item");
6115
- set_style(span, "background-color", ctx[7], false);
6136
+ set_style(span, "background-color", ctx[7]);
6116
6137
  attr(button, "class", button_class_value = "fastboard-toolbar-btn fastboard-toolbar-color-btn " + ctx[0]);
6117
6138
  attr(button, "data-color-key", ctx[7]);
6118
6139
  button.disabled = ctx[1];
@@ -6259,7 +6280,7 @@ function create_else_block5(ctx) {
6259
6280
  return { props: { theme: ctx2[0] } };
6260
6281
  }
6261
6282
  if (switch_value) {
6262
- switch_instance = new switch_value(switch_props(ctx));
6283
+ switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
6263
6284
  }
6264
6285
  return {
6265
6286
  c() {
@@ -6268,9 +6289,8 @@ function create_else_block5(ctx) {
6268
6289
  switch_instance_anchor = empty();
6269
6290
  },
6270
6291
  m(target, anchor) {
6271
- if (switch_instance) {
6292
+ if (switch_instance)
6272
6293
  mount_component(switch_instance, target, anchor);
6273
- }
6274
6294
  insert(target, switch_instance_anchor, anchor);
6275
6295
  current = true;
6276
6296
  },
@@ -6288,7 +6308,7 @@ function create_else_block5(ctx) {
6288
6308
  check_outros();
6289
6309
  }
6290
6310
  if (switch_value) {
6291
- switch_instance = new switch_value(switch_props(ctx2));
6311
+ switch_instance = construct_svelte_component(switch_value, switch_props(ctx2));
6292
6312
  create_component(switch_instance.$$.fragment);
6293
6313
  transition_in(switch_instance.$$.fragment, 1);
6294
6314
  mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
@@ -6330,7 +6350,7 @@ function create_if_block5(ctx) {
6330
6350
  };
6331
6351
  }
6332
6352
  if (switch_value) {
6333
- switch_instance = new switch_value(switch_props(ctx));
6353
+ switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
6334
6354
  }
6335
6355
  return {
6336
6356
  c() {
@@ -6339,9 +6359,8 @@ function create_if_block5(ctx) {
6339
6359
  switch_instance_anchor = empty();
6340
6360
  },
6341
6361
  m(target, anchor) {
6342
- if (switch_instance) {
6362
+ if (switch_instance)
6343
6363
  mount_component(switch_instance, target, anchor);
6344
- }
6345
6364
  insert(target, switch_instance_anchor, anchor);
6346
6365
  current = true;
6347
6366
  },
@@ -6359,7 +6378,7 @@ function create_if_block5(ctx) {
6359
6378
  check_outros();
6360
6379
  }
6361
6380
  if (switch_value) {
6362
- switch_instance = new switch_value(switch_props(ctx2));
6381
+ switch_instance = construct_svelte_component(switch_value, switch_props(ctx2));
6363
6382
  create_component(switch_instance.$$.fragment);
6364
6383
  transition_in(switch_instance.$$.fragment, 1);
6365
6384
  mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
@@ -6468,7 +6487,7 @@ function create_each_block3(key_1, ctx) {
6468
6487
  content: tooltip(ctx[6][ctx[12]], ctx[2][ctx[12]]),
6469
6488
  placement: "top"
6470
6489
  });
6471
- if (dirty & 25) {
6490
+ if (!current || dirty & 25) {
6472
6491
  toggle_class(button, "is-active", ctx[13]);
6473
6492
  }
6474
6493
  },
@@ -6675,19 +6694,18 @@ var Shapes_default = Shapes;
6675
6694
  // src/components/Toolbar/components/Contents.svelte
6676
6695
  function get_each_context4(ctx, list, i) {
6677
6696
  const child_ctx = ctx.slice();
6678
- child_ctx[41] = list[i];
6679
- const constants_0 = child_ctx[41];
6680
- child_ctx[42] = constants_0.icon;
6681
- child_ctx[43] = constants_0.label;
6682
- child_ctx[44] = constants_0.kind;
6683
- child_ctx[45] = constants_0.onClick;
6684
- const constants_1 = child_ctx[20] && child_ctx[20][child_ctx[44]];
6685
- child_ctx[46] = constants_1;
6686
- const constants_2 = () => {
6687
- child_ctx[0] && child_ctx[45](child_ctx[0]);
6688
- tippy_hide_all();
6689
- };
6690
- child_ctx[47] = constants_2;
6697
+ child_ctx[42] = list[i];
6698
+ const constants_0 = child_ctx[42];
6699
+ child_ctx[43] = constants_0.icon;
6700
+ child_ctx[44] = constants_0.label;
6701
+ child_ctx[45] = constants_0.kind;
6702
+ child_ctx[46] = constants_0.onClick;
6703
+ const constants_1 = child_ctx[20] && child_ctx[20][child_ctx[45]];
6704
+ child_ctx[47] = constants_1;
6705
+ const constants_2 = function func() {
6706
+ return ctx[38](child_ctx[46]);
6707
+ };
6708
+ child_ctx[48] = constants_2;
6691
6709
  return child_ctx;
6692
6710
  }
6693
6711
  function create_if_block_8(ctx) {
@@ -6713,7 +6731,7 @@ function create_if_block_8(ctx) {
6713
6731
  },
6714
6732
  p(ctx2, dirty) {
6715
6733
  const button_changes = dirty[0] & 32768 ? get_spread_update(button_spread_levels, [button_spread_levels[0], get_spread_object(ctx2[15])]) : {};
6716
- if (dirty[0] & 2 | dirty[1] & 524288) {
6734
+ if (dirty[0] & 2 | dirty[1] & 1048576) {
6717
6735
  button_changes.$$scope = { dirty, ctx: ctx2 };
6718
6736
  }
6719
6737
  button.$set(button_changes);
@@ -7299,7 +7317,7 @@ function create_else_block_12(ctx) {
7299
7317
  return { props: { theme: ctx2[1] } };
7300
7318
  }
7301
7319
  if (switch_value) {
7302
- switch_instance = new switch_value(switch_props(ctx));
7320
+ switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
7303
7321
  }
7304
7322
  return {
7305
7323
  c() {
@@ -7308,9 +7326,8 @@ function create_else_block_12(ctx) {
7308
7326
  switch_instance_anchor = empty();
7309
7327
  },
7310
7328
  m(target, anchor) {
7311
- if (switch_instance) {
7329
+ if (switch_instance)
7312
7330
  mount_component(switch_instance, target, anchor);
7313
- }
7314
7331
  insert(target, switch_instance_anchor, anchor);
7315
7332
  current = true;
7316
7333
  },
@@ -7328,7 +7345,7 @@ function create_else_block_12(ctx) {
7328
7345
  check_outros();
7329
7346
  }
7330
7347
  if (switch_value) {
7331
- switch_instance = new switch_value(switch_props(ctx2));
7348
+ switch_instance = construct_svelte_component(switch_value, switch_props(ctx2));
7332
7349
  create_component(switch_instance.$$.fragment);
7333
7350
  transition_in(switch_instance.$$.fragment, 1);
7334
7351
  mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
@@ -7370,7 +7387,7 @@ function create_if_block_3(ctx) {
7370
7387
  };
7371
7388
  }
7372
7389
  if (switch_value) {
7373
- switch_instance = new switch_value(switch_props(ctx));
7390
+ switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
7374
7391
  }
7375
7392
  return {
7376
7393
  c() {
@@ -7379,9 +7396,8 @@ function create_if_block_3(ctx) {
7379
7396
  switch_instance_anchor = empty();
7380
7397
  },
7381
7398
  m(target, anchor) {
7382
- if (switch_instance) {
7399
+ if (switch_instance)
7383
7400
  mount_component(switch_instance, target, anchor);
7384
- }
7385
7401
  insert(target, switch_instance_anchor, anchor);
7386
7402
  current = true;
7387
7403
  },
@@ -7399,7 +7415,7 @@ function create_if_block_3(ctx) {
7399
7415
  check_outros();
7400
7416
  }
7401
7417
  if (switch_value) {
7402
- switch_instance = new switch_value(switch_props(ctx2));
7418
+ switch_instance = construct_svelte_component(switch_value, switch_props(ctx2));
7403
7419
  create_component(switch_instance.$$.fragment);
7404
7420
  transition_in(switch_instance.$$.fragment, 1);
7405
7421
  mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
@@ -7691,7 +7707,7 @@ function create_if_block_12(ctx) {
7691
7707
  dirty[0] & 16384 && { menu: ctx2[14] },
7692
7708
  button_spread_levels[4]
7693
7709
  ]) : {};
7694
- if (dirty[0] & 2 | dirty[1] & 524288) {
7710
+ if (dirty[0] & 2 | dirty[1] & 1048576) {
7695
7711
  button_changes.$$scope = { dirty, ctx: ctx2 };
7696
7712
  }
7697
7713
  button.$set(button_changes);
@@ -7772,7 +7788,7 @@ function create_if_block6(ctx) {
7772
7788
  button_changes.theme = ctx2[1];
7773
7789
  if (dirty[0] & 8)
7774
7790
  button_changes.disabled = ctx2[3];
7775
- if (dirty[0] & 2 | dirty[1] & 524288) {
7791
+ if (dirty[0] & 2 | dirty[1] & 1048576) {
7776
7792
  button_changes.$$scope = { dirty, ctx: ctx2 };
7777
7793
  }
7778
7794
  button.$set(button_changes);
@@ -7834,7 +7850,7 @@ function create_each_block4(ctx) {
7834
7850
  let img_title_value;
7835
7851
  let t0;
7836
7852
  let span;
7837
- let t1_value = ctx[43] + "";
7853
+ let t1_value = ctx[44] + "";
7838
7854
  let t1;
7839
7855
  let span_class_value;
7840
7856
  let t2;
@@ -7853,17 +7869,17 @@ function create_each_block4(ctx) {
7853
7869
  t1 = text(t1_value);
7854
7870
  t2 = space();
7855
7871
  attr(img, "class", img_class_value = name5 + "-app-btn-icon " + ctx[1]);
7856
- if (!src_url_equal(img.src, img_src_value = ctx[42]))
7872
+ if (!src_url_equal(img.src, img_src_value = ctx[43]))
7857
7873
  attr(img, "src", img_src_value);
7858
- attr(img, "alt", img_alt_value = ctx[44]);
7859
- attr(img, "title", img_title_value = ctx[43]);
7874
+ attr(img, "alt", img_alt_value = ctx[45]);
7875
+ attr(img, "title", img_title_value = ctx[44]);
7860
7876
  attr(span, "class", span_class_value = name5 + "-app-btn-text " + ctx[1]);
7861
- attr(button, "class", button_class_value = name5 + "-app-btn " + ctx[44] + " " + ctx[1]);
7862
- attr(button, "title", button_title_value = ctx[43] + (ctx[46] && ctx[46].reason ? ": " + ctx[46].reason : ""));
7863
- attr(button, "data-app-kind", button_data_app_kind_value = ctx[41].kind);
7864
- button.disabled = button_disabled_value = ctx[46] && ctx[46].status !== "idle";
7865
- toggle_class(button, "is-loading", ctx[46] && ctx[46].status === "loading");
7866
- toggle_class(button, "is-failed", ctx[46] && ctx[46].status === "failed");
7877
+ attr(button, "class", button_class_value = name5 + "-app-btn " + ctx[45] + " " + ctx[1]);
7878
+ attr(button, "title", button_title_value = ctx[44] + (ctx[47] && ctx[47].reason ? ": " + ctx[47].reason : ""));
7879
+ attr(button, "data-app-kind", button_data_app_kind_value = ctx[42].kind);
7880
+ button.disabled = button_disabled_value = ctx[47] && ctx[47].status !== "idle";
7881
+ toggle_class(button, "is-loading", ctx[47] && ctx[47].status === "loading");
7882
+ toggle_class(button, "is-failed", ctx[47] && ctx[47].status === "failed");
7867
7883
  },
7868
7884
  m(target, anchor) {
7869
7885
  insert(target, button, anchor);
@@ -7874,8 +7890,8 @@ function create_each_block4(ctx) {
7874
7890
  append(button, t2);
7875
7891
  if (!mounted) {
7876
7892
  dispose = listen(button, "click", function() {
7877
- if (is_function(ctx[47]))
7878
- ctx[47].apply(this, arguments);
7893
+ if (is_function(ctx[48]))
7894
+ ctx[48].apply(this, arguments);
7879
7895
  });
7880
7896
  mounted = true;
7881
7897
  }
@@ -7885,37 +7901,37 @@ function create_each_block4(ctx) {
7885
7901
  if (dirty[0] & 2 && img_class_value !== (img_class_value = name5 + "-app-btn-icon " + ctx[1])) {
7886
7902
  attr(img, "class", img_class_value);
7887
7903
  }
7888
- if (dirty[0] & 524288 && !src_url_equal(img.src, img_src_value = ctx[42])) {
7904
+ if (dirty[0] & 524288 && !src_url_equal(img.src, img_src_value = ctx[43])) {
7889
7905
  attr(img, "src", img_src_value);
7890
7906
  }
7891
- if (dirty[0] & 524288 && img_alt_value !== (img_alt_value = ctx[44])) {
7907
+ if (dirty[0] & 524288 && img_alt_value !== (img_alt_value = ctx[45])) {
7892
7908
  attr(img, "alt", img_alt_value);
7893
7909
  }
7894
- if (dirty[0] & 524288 && img_title_value !== (img_title_value = ctx[43])) {
7910
+ if (dirty[0] & 524288 && img_title_value !== (img_title_value = ctx[44])) {
7895
7911
  attr(img, "title", img_title_value);
7896
7912
  }
7897
- if (dirty[0] & 524288 && t1_value !== (t1_value = ctx[43] + ""))
7913
+ if (dirty[0] & 524288 && t1_value !== (t1_value = ctx[44] + ""))
7898
7914
  set_data(t1, t1_value);
7899
7915
  if (dirty[0] & 2 && span_class_value !== (span_class_value = name5 + "-app-btn-text " + ctx[1])) {
7900
7916
  attr(span, "class", span_class_value);
7901
7917
  }
7902
- if (dirty[0] & 524290 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[44] + " " + ctx[1])) {
7918
+ if (dirty[0] & 524290 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[45] + " " + ctx[1])) {
7903
7919
  attr(button, "class", button_class_value);
7904
7920
  }
7905
- if (dirty[0] & 1572864 && button_title_value !== (button_title_value = ctx[43] + (ctx[46] && ctx[46].reason ? ": " + ctx[46].reason : ""))) {
7921
+ if (dirty[0] & 1572864 && button_title_value !== (button_title_value = ctx[44] + (ctx[47] && ctx[47].reason ? ": " + ctx[47].reason : ""))) {
7906
7922
  attr(button, "title", button_title_value);
7907
7923
  }
7908
- if (dirty[0] & 524288 && button_data_app_kind_value !== (button_data_app_kind_value = ctx[41].kind)) {
7924
+ if (dirty[0] & 524288 && button_data_app_kind_value !== (button_data_app_kind_value = ctx[42].kind)) {
7909
7925
  attr(button, "data-app-kind", button_data_app_kind_value);
7910
7926
  }
7911
- if (dirty[0] & 1572864 && button_disabled_value !== (button_disabled_value = ctx[46] && ctx[46].status !== "idle")) {
7927
+ if (dirty[0] & 1572864 && button_disabled_value !== (button_disabled_value = ctx[47] && ctx[47].status !== "idle")) {
7912
7928
  button.disabled = button_disabled_value;
7913
7929
  }
7914
7930
  if (dirty[0] & 1572866) {
7915
- toggle_class(button, "is-loading", ctx[46] && ctx[46].status === "loading");
7931
+ toggle_class(button, "is-loading", ctx[47] && ctx[47].status === "loading");
7916
7932
  }
7917
7933
  if (dirty[0] & 1572866) {
7918
- toggle_class(button, "is-failed", ctx[46] && ctx[46].status === "failed");
7934
+ toggle_class(button, "is-failed", ctx[47] && ctx[47].status === "failed");
7919
7935
  }
7920
7936
  },
7921
7937
  d(detaching) {
@@ -8235,7 +8251,7 @@ function create_fragment54(ctx) {
8235
8251
  for (let i = 0; i < each_blocks.length; i += 1) {
8236
8252
  each_blocks[i].m(div7, null);
8237
8253
  }
8238
- ctx[38](div7);
8254
+ ctx[39](div7);
8239
8255
  current = true;
8240
8256
  if (!mounted) {
8241
8257
  dispose = [
@@ -8270,7 +8286,7 @@ function create_fragment54(ctx) {
8270
8286
  dirty[0] & 32768 && get_spread_object(ctx2[15]),
8271
8287
  dirty[0] & 262144 && { content: ctx2[18].clicker }
8272
8288
  ]) : {};
8273
- if (dirty[0] & 258 | dirty[1] & 524288) {
8289
+ if (dirty[0] & 258 | dirty[1] & 1048576) {
8274
8290
  button0_changes.$$scope = { dirty, ctx: ctx2 };
8275
8291
  }
8276
8292
  button0.$set(button0_changes);
@@ -8279,7 +8295,7 @@ function create_fragment54(ctx) {
8279
8295
  dirty[0] & 32768 && get_spread_object(ctx2[15]),
8280
8296
  dirty[0] & 262144 && { content: ctx2[18].selector }
8281
8297
  ]) : {};
8282
- if (dirty[0] & 258 | dirty[1] & 524288) {
8298
+ if (dirty[0] & 258 | dirty[1] & 1048576) {
8283
8299
  button1_changes.$$scope = { dirty, ctx: ctx2 };
8284
8300
  }
8285
8301
  button1.$set(button1_changes);
@@ -8289,7 +8305,7 @@ function create_fragment54(ctx) {
8289
8305
  dirty[0] & 262144 && { content: ctx2[18].pencil },
8290
8306
  dirty[0] & 2048 && { menu: ctx2[11] }
8291
8307
  ]) : {};
8292
- if (dirty[0] & 258 | dirty[1] & 524288) {
8308
+ if (dirty[0] & 258 | dirty[1] & 1048576) {
8293
8309
  button2_changes.$$scope = { dirty, ctx: ctx2 };
8294
8310
  }
8295
8311
  button2.$set(button2_changes);
@@ -8299,7 +8315,7 @@ function create_fragment54(ctx) {
8299
8315
  dirty[0] & 262144 && { content: ctx2[18].text },
8300
8316
  dirty[0] & 4096 && { menu: ctx2[12] }
8301
8317
  ]) : {};
8302
- if (dirty[0] & 258 | dirty[1] & 524288) {
8318
+ if (dirty[0] & 258 | dirty[1] & 1048576) {
8303
8319
  button3_changes.$$scope = { dirty, ctx: ctx2 };
8304
8320
  }
8305
8321
  button3.$set(button3_changes);
@@ -8309,7 +8325,7 @@ function create_fragment54(ctx) {
8309
8325
  dirty[0] & 512 && { content: ctx2[9].shapes },
8310
8326
  dirty[0] & 8192 && { menu: ctx2[13] }
8311
8327
  ]) : {};
8312
- if (dirty[0] & 1410 | dirty[1] & 524288) {
8328
+ if (dirty[0] & 1410 | dirty[1] & 1048576) {
8313
8329
  button4_changes.$$scope = { dirty, ctx: ctx2 };
8314
8330
  }
8315
8331
  button4.$set(button4_changes);
@@ -8318,7 +8334,7 @@ function create_fragment54(ctx) {
8318
8334
  dirty[0] & 32768 && get_spread_object(ctx2[15]),
8319
8335
  dirty[0] & 262144 && { content: ctx2[18].eraser }
8320
8336
  ]) : {};
8321
- if (dirty[0] & 258 | dirty[1] & 524288) {
8337
+ if (dirty[0] & 258 | dirty[1] & 1048576) {
8322
8338
  button5_changes.$$scope = { dirty, ctx: ctx2 };
8323
8339
  }
8324
8340
  button5.$set(button5_changes);
@@ -8327,7 +8343,7 @@ function create_fragment54(ctx) {
8327
8343
  dirty[0] & 32768 && get_spread_object(ctx2[15]),
8328
8344
  dirty[0] & 512 && { content: ctx2[9].clear }
8329
8345
  ]) : {};
8330
- if (dirty[0] & 2 | dirty[1] & 524288) {
8346
+ if (dirty[0] & 2 | dirty[1] & 1048576) {
8331
8347
  button6_changes.$$scope = { dirty, ctx: ctx2 };
8332
8348
  }
8333
8349
  button6.$set(button6_changes);
@@ -8352,7 +8368,7 @@ function create_fragment54(ctx) {
8352
8368
  }
8353
8369
  if (scrollHeight_action && is_function(scrollHeight_action.update) && dirty[0] & 16)
8354
8370
  scrollHeight_action.update.call(null, ctx2[4]);
8355
- if (dirty[0] & 32) {
8371
+ if (!current || dirty[0] & 32) {
8356
8372
  toggle_class(div0, "scrollable", ctx2[5]);
8357
8373
  }
8358
8374
  if (ctx2[5]) {
@@ -8520,7 +8536,7 @@ function create_fragment54(ctx) {
8520
8536
  destroy_component(strokecolor1);
8521
8537
  ctx[37](null);
8522
8538
  destroy_each(each_blocks, detaching);
8523
- ctx[38](null);
8539
+ ctx[39](null);
8524
8540
  mounted = false;
8525
8541
  run_all(dispose);
8526
8542
  }
@@ -8561,7 +8577,7 @@ function instance54($$self, $$props, $$invalidate) {
8561
8577
  let apps_panel;
8562
8578
  let btn_props;
8563
8579
  let top = writable(0);
8564
- component_subscribe($$self, top, (value) => $$invalidate(40, $top = value));
8580
+ component_subscribe($$self, top, (value) => $$invalidate(41, $top = value));
8565
8581
  function scroll_up() {
8566
8582
  set_store_value(top, $top = clamp($top - 32 - 4, 0, max_scroll), $top);
8567
8583
  }
@@ -8611,6 +8627,10 @@ function instance54($$self, $$props, $$invalidate) {
8611
8627
  $$invalidate(13, shapes_panel);
8612
8628
  });
8613
8629
  }
8630
+ const func = (onClick) => {
8631
+ app && onClick(app);
8632
+ tippy_hide_all();
8633
+ };
8614
8634
  function div7_binding($$value) {
8615
8635
  binding_callbacks[$$value ? "unshift" : "push"](() => {
8616
8636
  apps_panel = $$value;
@@ -8721,22 +8741,32 @@ function instance54($$self, $$props, $$invalidate) {
8721
8741
  div2_binding,
8722
8742
  div3_binding,
8723
8743
  div6_binding,
8744
+ func,
8724
8745
  div7_binding
8725
8746
  ];
8726
8747
  }
8727
8748
  var Contents = class extends SvelteComponent {
8728
8749
  constructor(options) {
8729
8750
  super();
8730
- init(this, options, instance54, create_fragment54, safe_not_equal, {
8731
- app: 0,
8732
- theme: 1,
8733
- language: 2,
8734
- disabled: 3,
8735
- scroll_height: 4,
8736
- computed_height: 31,
8737
- scrollable: 5,
8738
- hide_apps: 6
8739
- }, null, [-1, -1]);
8751
+ init(
8752
+ this,
8753
+ options,
8754
+ instance54,
8755
+ create_fragment54,
8756
+ safe_not_equal,
8757
+ {
8758
+ app: 0,
8759
+ theme: 1,
8760
+ language: 2,
8761
+ disabled: 3,
8762
+ scroll_height: 4,
8763
+ computed_height: 31,
8764
+ scrollable: 5,
8765
+ hide_apps: 6
8766
+ },
8767
+ null,
8768
+ [-1, -1]
8769
+ );
8740
8770
  }
8741
8771
  };
8742
8772
  var Contents_default = Contents;
@@ -8848,7 +8878,7 @@ function create_fragment55(ctx) {
8848
8878
  path1 = svg_element("path");
8849
8879
  if_block.c();
8850
8880
  attr(div0, "class", div0_class_value = name6 + "-contents " + ctx[1]);
8851
- set_style(div0, "height", ctx[5] ? ctx[6] + "px" : "auto", false);
8881
+ set_style(div0, "height", ctx[5] ? ctx[6] + "px" : "auto");
8852
8882
  attr(input, "type", "checkbox");
8853
8883
  attr(path0, "fill", "#fff");
8854
8884
  attr(path0, "stroke", "none");
@@ -8907,7 +8937,7 @@ function create_fragment55(ctx) {
8907
8937
  attr(div0, "class", div0_class_value);
8908
8938
  }
8909
8939
  if (dirty & 96) {
8910
- set_style(div0, "height", ctx2[5] ? ctx2[6] + "px" : "auto", false);
8940
+ set_style(div0, "height", ctx2[5] ? ctx2[6] + "px" : "auto");
8911
8941
  }
8912
8942
  if (dirty & 8) {
8913
8943
  input.checked = ctx2[3];
@@ -8928,7 +8958,7 @@ function create_fragment55(ctx) {
8928
8958
  if (!current || dirty & 2 && div1_class_value !== (div1_class_value = name6 + " " + ctx2[1])) {
8929
8959
  attr(div1, "class", div1_class_value);
8930
8960
  }
8931
- if (dirty & 10) {
8961
+ if (!current || dirty & 10) {
8932
8962
  toggle_class(div1, "collapsed", ctx2[3]);
8933
8963
  }
8934
8964
  },
@@ -9988,7 +10018,7 @@ function create_fragment57(ctx) {
9988
10018
  if (dirty & 4)
9989
10019
  playercontrol_changes.language = ctx2[2];
9990
10020
  playercontrol.$set(playercontrol_changes);
9991
- if (dirty & 1) {
10021
+ if (!current || dirty & 1) {
9992
10022
  toggle_class(div2, "loading", !ctx2[0]);
9993
10023
  }
9994
10024
  },
@@ -10361,7 +10391,7 @@ function create_fragment58(ctx) {
10361
10391
  });
10362
10392
  check_outros();
10363
10393
  }
10364
- if (dirty & 32) {
10394
+ if (!current || dirty & 32) {
10365
10395
  toggle_class(div1, "hidden", !(ctx2[5] === "visible" || ctx2[5] === "toolbar-only"));
10366
10396
  }
10367
10397
  if (((_b2 = ctx2[3].redo_undo) == null ? void 0 : _b2.enable) !== false) {
@@ -10402,7 +10432,7 @@ function create_fragment58(ctx) {
10402
10432
  });
10403
10433
  check_outros();
10404
10434
  }
10405
- if (dirty & 32) {
10435
+ if (!current || dirty & 32) {
10406
10436
  toggle_class(div2, "hidden", ctx2[5] !== "visible");
10407
10437
  }
10408
10438
  if (((_d2 = ctx2[3].page_control) == null ? void 0 : _d2.enable) !== false) {
@@ -10424,10 +10454,10 @@ function create_fragment58(ctx) {
10424
10454
  });
10425
10455
  check_outros();
10426
10456
  }
10427
- if (dirty & 32) {
10457
+ if (!current || dirty & 32) {
10428
10458
  toggle_class(div3, "hidden", ctx2[5] !== "visible");
10429
10459
  }
10430
- if (dirty & 1) {
10460
+ if (!current || dirty & 1) {
10431
10461
  toggle_class(div4, "loading", !ctx2[0]);
10432
10462
  }
10433
10463
  },
@@ -10613,7 +10643,7 @@ function createUI(app, div) {
10613
10643
  }
10614
10644
  };
10615
10645
  if (div) {
10616
- ui.mount(div);
10646
+ ui.mount(div, { app });
10617
10647
  }
10618
10648
  return ui;
10619
10649
  }
@@ -10640,24 +10670,20 @@ function createReplayUI(player, div) {
10640
10670
  }
10641
10671
  };
10642
10672
  if (div) {
10643
- ui.mount(div);
10673
+ ui.mount(div, { player });
10644
10674
  }
10645
10675
  return ui;
10646
10676
  }
10647
10677
 
10648
- // inline-sass-helper:inline-sass-style-helper.js
10649
- function injectStyle(text2) {
10650
- if (typeof document !== "undefined") {
10651
- var style = document.createElement("style");
10652
- var node = document.createTextNode(text2);
10653
- style.appendChild(node);
10654
- document.head.appendChild(style);
10655
- }
10656
- }
10657
-
10658
- // inline-sass-content:./src/style.scss
10659
- var style_default = '.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.fastboard-icon.light .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-icon.light .fastboard-icon-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-icon.light.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #3381ff)}.fastboard-icon.light.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #3381ff)}.fastboard-icon.dark .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark .fastboard-icon-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #2867cc)}.fastboard-icon.dark.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #2867cc)}.fastboard-redo-undo{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-redo-undo *{box-sizing:inherit}.fastboard-redo-undo.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-redo-undo.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-redo-undo-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-redo-undo-btn svg,.fastboard-redo-undo-btn img{width:100%;height:100%;pointer-events:none}.fastboard-redo-undo-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-redo-undo-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-redo-undo-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-zoom-control *{box-sizing:inherit}.fastboard-zoom-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-zoom-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-zoom-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-zoom-control-btn svg,.fastboard-zoom-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-zoom-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-zoom-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-zoom-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control-text{font-variant-numeric:tabular-nums}.fastboard-page-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-page-control *{box-sizing:inherit}.fastboard-page-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-page-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-page-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-page-control-btn svg,.fastboard-page-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-page-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-page-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-page-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-page-control-text{font-variant-numeric:tabular-nums}.fastboard-player-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);width:100%}.fastboard-player-control *{box-sizing:inherit}.fastboard-player-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-player-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-player-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0;display:inline}.fastboard-player-control-btn svg,.fastboard-player-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-player-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-player-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-player-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-player-control-btn.loading svg,.fastboard-player-control-btn.loading img{animation:fastboard-player-control-rotate .5s linear infinite}@keyframes fastboard-player-control-rotate{to{transform:rotate(360deg)}}.fastboard-player-control-btn.speed{width:auto;padding:4px;text-align:right;font-size:14px;font-variant-numeric:tabular-nums}.fastboard-player-control-btn.is-active.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-player-control-btn.is-active.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-player-control-speed-text,.fastboard-player-control-progress{font-size:14px;font-variant-numeric:tabular-nums;line-height:16px}.fastboard-player-control-progress{display:inline-flex;align-items:center}.fastboard-player-control-panel.speed{display:flex;flex-direction:column}.fastboard-toolbar{height:100%;display:flex;align-items:center;position:relative;transform:translate(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.fastboard-toolbar.collapsed{transform:translate(-100%)}.fastboard-toolbar-handler{position:absolute;left:100%;width:17px;font-size:0;border-radius:3px;cursor:pointer;pointer-events:auto}.fastboard-toolbar-handler:focus-within{outline:2px solid -webkit-focus-ring-color}.fastboard-toolbar-handler input[type=checkbox]{position:absolute;top:0;left:0;appearance:none;margin:0;width:100%;height:100%;cursor:pointer;opacity:0;z-index:-1}.fastboard-toolbar-handler svg{opacity:0;transition:opacity .5s 1s;pointer-events:none}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(255, 255, 255, .9))}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(20, 24, 30, .9))}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-toolbar:hover .fastboard-toolbar-handler svg,.fastboard-toolbar.collapsed .fastboard-toolbar-handler svg{opacity:1;transition:opacity .2s}.fastboard-toolbar-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:4px;width:32px;height:32px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-toolbar-btn svg,.fastboard-toolbar-btn img{width:100%;height:100%;pointer-events:none}.fastboard-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-toolbar-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-slider{box-sizing:border-box;position:relative;width:100%;height:100%;display:flex;align-items:center}.fastboard-slider *{box-sizing:inherit}.fastboard-slider-track{appearance:none;background:rgba(0,0,0,0);border:0;border-radius:26px;flex:1;display:block;height:19px;margin:0;width:0;min-width:0;padding:0;transition:box-shadow .3s ease;cursor:pointer;touch-action:manipulation}.fastboard-slider-track::-webkit-slider-runnable-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;background-image:linear-gradient(to right,currentColor var(--value, 0%),transparent var(--value, 0%))}.fastboard-slider-track::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;appearance:none;margin-top:-4px}.fastboard-slider-track::-moz-range-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none}.fastboard-slider-track::-moz-range-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab}.fastboard-slider-track::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.fastboard-slider-track::-ms-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;color:#0000}.fastboard-slider-track::-ms-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;margin-top:0}.fastboard-slider-track::-ms-tooltip{display:none}.fastboard-slider-track::-moz-focus-outer{border:0}.fastboard-slider-track.grabbing::-webkit-slider-thumb{cursor:grabbing}.fastboard-slider-track.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-slider-track.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-contents{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:2px 0;gap:0;flex-direction:column}.fastboard-toolbar-contents *{box-sizing:inherit}.fastboard-toolbar-contents.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-contents.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-contents>.fastboard-toolbar-btn{margin:2px 4px}.fastboard-toolbar-btn-interactive{position:relative}.fastboard-toolbar-triangle{width:0px;height:0px;border-bottom:4px solid;border-left:4px solid rgba(0,0,0,0);position:absolute;bottom:0;right:0}.fastboard-toolbar-btn:focus+.fastboard-toolbar-triangle{opacity:0}.fastboard-toolbar-scrollable{padding:2px 4px;overflow:hidden;display:flex;flex-direction:column;gap:4px}.fastboard-toolbar-tooltip{display:inline-flex;align-items:center;gap:4px}.fastboard-toolbar-hotkey{display:inline-flex;margin-right:-4px;width:24px;height:24px;align-items:center;justify-content:center;background-color:#ffffff1a;border-radius:4px}.fastboard-toolbar-panel-wrapper{display:none}.fastboard-toolbar-panel{display:flex;flex-direction:column}.fastboard-toolbar-panel-divider{height:.5px;width:100%;margin:4px 0;background-color:#ffffff26}.fastboard-toolbar-colors,.fastboard-toolbar-shapes{display:grid;align-self:center;grid-template:repeat(2,1fr)/repeat(4,1fr);align-items:center;justify-items:center;gap:4px}.fastboard-toolbar-shape-btn,.fastboard-toolbar-color-btn{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center}.fastboard-toolbar-color-btn{border:1px solid rgba(0,0,0,0)}.fastboard-toolbar-color-btn.light.is-active{border-color:var(--fastboard-active-color, #3381ff)}.fastboard-toolbar-color-btn.dark.is-active{border-color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-color-item{display:inline-block;width:16px;height:16px;border-radius:4px;pointer-events:none}.fastboard-toolbar-panel.apps{display:grid;grid-template-columns:repeat(min(var(--n, 3),3),minmax(max-content,1fr));gap:4px}.fastboard-toolbar-app-btn{margin:0;border:0;border-radius:2px;padding:4px 6px;background-color:#0000;display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-size:0}.fastboard-toolbar-app-btn:disabled{opacity:.8}.fastboard-toolbar-app-btn-icon{width:32px;height:32px;pointer-events:none}.fastboard-toolbar-app-btn-text{font-size:14px;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.fastboard-toolbar-app-btn.is-loading{cursor:progress}.fastboard-toolbar-app-btn.is-failed{cursor:not-allowed;opacity:.5}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.light{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-app-btn-text.light{color:var(--fastboard-color, #5d6066)}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.dark{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-toolbar-app-btn-text.dark{color:var(--fastboard-color, #7b7e84)}.fastboard-root{position:relative;width:100%;height:100%;overflow:hidden}.fastboard-view{position:absolute;top:0;left:0;width:100%;height:100%}.fastboard-left{display:flex;align-items:center;position:absolute;bottom:62px;top:8px;left:0;z-index:200;pointer-events:none}.fastboard-left .fastboard-toolbar{padding-left:16px}.fastboard-bottom-left,.fastboard-bottom,.fastboard-bottom-right{display:flex;gap:10px;position:absolute;bottom:8px;left:8px;padding:8px;z-index:200;pointer-events:none}.fastboard-bottom-right{left:auto;right:8px}.fastboard-bottom{right:8px}.fastboard-left.hidden *,.fastboard-bottom.hidden *,.fastboard-bottom-left.hidden *,.fastboard-bottom-right.hidden *{opacity:0;pointer-events:none}.fastboard-tip{font-family:inherit;color:#d5d9e0;background-color:#03060d}.fastboard-tip[data-placement^=right]>.tippy-arrow:before{top:4px;border-width:4px;border-right-color:#03060d}.fastboard-tip[data-placement^=top]>.tippy-arrow:before{left:4px;border-width:4px;border-top-color:#03060d}.fastboard-panel .tippy-content{padding:8px}';
10660
-
10661
- // inline-sass-stub:./src/style.scss
10662
- injectStyle(style_default);
10678
+ exports.Fastboard = Fastboard_default;
10679
+ exports.PageControl = PageControl_default;
10680
+ exports.PlayerControl = PlayerControl_default;
10681
+ exports.RedoUndo = RedoUndo_default;
10682
+ exports.ReplayFastboard = ReplayFastboard_default;
10683
+ exports.Toolbar = Toolbar_default;
10684
+ exports.ZoomControl = ZoomControl_default;
10685
+ exports.apps = apps;
10686
+ exports.createReplayUI = createReplayUI;
10687
+ exports.createUI = createUI;
10688
+ //# sourceMappingURL=out.js.map
10663
10689
  //# sourceMappingURL=index.js.map