@netless/fastboard-ui 1.0.0-canary.0 → 1.0.0-canary.3

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,60 +1,30 @@
1
1
  'use strict';
2
2
 
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __defProps = Object.defineProperties;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
- var __getOwnPropNames = Object.getOwnPropertyNames;
9
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
- var __getProtoOf = Object.getPrototypeOf;
11
- var __hasOwnProp = Object.prototype.hasOwnProperty;
12
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
13
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
- var __spreadValues = (a, b) => {
15
- for (var prop in b || (b = {}))
16
- if (__hasOwnProp.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- if (__getOwnPropSymbols)
19
- for (var prop of __getOwnPropSymbols(b)) {
20
- if (__propIsEnum.call(b, prop))
21
- __defNormalProp(a, prop, b[prop]);
22
- }
23
- return a;
24
- };
25
- 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 });
29
- };
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 });
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Tippy = require('tippy.js');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var Tippy__default = /*#__PURE__*/_interopDefaultLegacy(Tippy);
10
+
11
+ // inline-sass-helper:inline-sass-style-helper.js
12
+ function injectStyle(text2) {
13
+ if (typeof document !== "undefined") {
14
+ var style = document.createElement("style");
15
+ var node = document.createTextNode(text2);
16
+ style.appendChild(node);
17
+ document.head.appendChild(style);
35
18
  }
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);
19
+ }
40
20
 
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);
21
+ // inline-sass-content:./src/style.scss
22
+ 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}';
56
23
 
57
- // ../../node_modules/.pnpm/svelte@3.48.0/node_modules/svelte/internal/index.mjs
24
+ // inline-sass-stub:./src/style.scss
25
+ injectStyle(style_default);
26
+
27
+ // ../../node_modules/.pnpm/svelte@3.49.0/node_modules/svelte/internal/index.mjs
58
28
  function noop() {
59
29
  }
60
30
  function assign(tar, src) {
@@ -346,6 +316,8 @@ function transition_out(block, local, detach2, callback) {
346
316
  }
347
317
  });
348
318
  block.o(local);
319
+ } else if (callback) {
320
+ callback();
349
321
  }
350
322
  }
351
323
  function destroy_block(block, lookup) {
@@ -589,7 +561,14 @@ function create_else_block(ctx) {
589
561
  p(ctx2, dirty) {
590
562
  if (default_slot) {
591
563
  if (default_slot.p && (!current || dirty & 8)) {
592
- 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);
564
+ update_slot_base(
565
+ default_slot,
566
+ default_slot_template,
567
+ ctx2,
568
+ ctx2[3],
569
+ !current ? get_all_dirty_from_scope(ctx2[3]) : get_slot_changes(default_slot_template, ctx2[3], dirty, null),
570
+ null
571
+ );
593
572
  }
594
573
  }
595
574
  },
@@ -3414,11 +3393,8 @@ var Icons = {
3414
3393
  Loading: Loading_default
3415
3394
  };
3416
3395
  var Icons_default = Icons;
3417
-
3418
- // src/actions/tippy.ts
3419
- var import_tippy = __toESM(require("tippy.js"));
3420
3396
  if (is_client) {
3421
- import_tippy.default.setDefaultProps({
3397
+ Tippy__default["default"].setDefaultProps({
3422
3398
  delay: [1e3, 400],
3423
3399
  duration: 300,
3424
3400
  offset: [0, 11],
@@ -3439,8 +3415,7 @@ if (is_client) {
3439
3415
  }
3440
3416
  }
3441
3417
  function remove() {
3442
- var _a;
3443
- (_a = instance59.popper.firstElementChild) == null ? void 0 : _a.classList.remove("fastboard-tip");
3418
+ instance59.popper.firstElementChild?.classList.remove("fastboard-tip");
3444
3419
  }
3445
3420
  return {
3446
3421
  onCreate: add,
@@ -3453,7 +3428,7 @@ if (is_client) {
3453
3428
  });
3454
3429
  }
3455
3430
  var tippy = function(node, props) {
3456
- const instance59 = (0, import_tippy.default)(node, props);
3431
+ const instance59 = Tippy__default["default"](node, props);
3457
3432
  return {
3458
3433
  update(props2) {
3459
3434
  instance59.setProps(props2);
@@ -3464,11 +3439,13 @@ var tippy = function(node, props) {
3464
3439
  };
3465
3440
  };
3466
3441
  function tippy_hide_all() {
3467
- document.querySelectorAll("[data-tippy-root]").forEach((el) => {
3468
- const instance59 = el._tippy;
3469
- if (instance59)
3470
- instance59.hide();
3471
- });
3442
+ document.querySelectorAll("[data-tippy-root]").forEach(tippy_hide);
3443
+ }
3444
+ function tippy_hide(el) {
3445
+ const instance59 = el._tippy;
3446
+ if (instance59) {
3447
+ instance59.hide();
3448
+ }
3472
3449
  }
3473
3450
  var tippy_menu = {
3474
3451
  delay: 0,
@@ -3509,7 +3486,14 @@ function create_else_block_1(ctx) {
3509
3486
  p(ctx2, dirty) {
3510
3487
  if (default_slot) {
3511
3488
  if (default_slot.p && (!current || dirty & 256)) {
3512
- 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);
3489
+ update_slot_base(
3490
+ default_slot,
3491
+ default_slot_template,
3492
+ ctx2,
3493
+ ctx2[8],
3494
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3495
+ null
3496
+ );
3513
3497
  }
3514
3498
  }
3515
3499
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3640,7 +3624,14 @@ function create_else_block2(ctx) {
3640
3624
  p(ctx2, dirty) {
3641
3625
  if (default_slot) {
3642
3626
  if (default_slot.p && (!current || dirty & 256)) {
3643
- 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);
3627
+ update_slot_base(
3628
+ default_slot,
3629
+ default_slot_template,
3630
+ ctx2,
3631
+ ctx2[8],
3632
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3633
+ null
3634
+ );
3644
3635
  }
3645
3636
  }
3646
3637
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3716,14 +3707,14 @@ function create_if_block_1(ctx) {
3716
3707
  if (!mounted) {
3717
3708
  dispose = [
3718
3709
  listen(button, "click", ctx[10]),
3719
- action_destroyer(tippy_action = tippy.call(null, button, __spreadProps(__spreadValues({
3720
- content: ctx[6]
3721
- }, tippy_menu), {
3710
+ action_destroyer(tippy_action = tippy.call(null, button, {
3711
+ content: ctx[6],
3712
+ ...tippy_menu,
3722
3713
  placement: ctx[7],
3723
3714
  appendTo: document.body,
3724
3715
  theme: ctx[2],
3725
3716
  className: "fastboard-panel"
3726
- }))),
3717
+ })),
3727
3718
  action_destroyer(tippy_action_1 = tippy.call(null, span1, {
3728
3719
  content: ctx[4],
3729
3720
  placement: ctx[5],
@@ -3736,7 +3727,14 @@ function create_if_block_1(ctx) {
3736
3727
  p(ctx2, dirty) {
3737
3728
  if (default_slot) {
3738
3729
  if (default_slot.p && (!current || dirty & 256)) {
3739
- 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);
3730
+ update_slot_base(
3731
+ default_slot,
3732
+ default_slot_template,
3733
+ ctx2,
3734
+ ctx2[8],
3735
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3736
+ null
3737
+ );
3740
3738
  }
3741
3739
  }
3742
3740
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3746,14 +3744,14 @@ function create_if_block_1(ctx) {
3746
3744
  button.disabled = ctx2[3];
3747
3745
  }
3748
3746
  if (tippy_action && is_function(tippy_action.update) && dirty & 196)
3749
- tippy_action.update.call(null, __spreadProps(__spreadValues({
3750
- content: ctx2[6]
3751
- }, tippy_menu), {
3747
+ tippy_action.update.call(null, {
3748
+ content: ctx2[6],
3749
+ ...tippy_menu,
3752
3750
  placement: ctx2[7],
3753
3751
  appendTo: document.body,
3754
3752
  theme: ctx2[2],
3755
3753
  className: "fastboard-panel"
3756
- }));
3754
+ });
3757
3755
  if (!current || dirty & 2 && span0_class_value !== (span0_class_value = ctx2[1] + "-triangle")) {
3758
3756
  attr(span0, "class", span0_class_value);
3759
3757
  }
@@ -3957,12 +3955,11 @@ function create_default_slot_3(ctx) {
3957
3955
  };
3958
3956
  }
3959
3957
  function create_default_slot_2(ctx) {
3960
- var _a;
3961
3958
  let icon;
3962
3959
  let current;
3963
3960
  icon = new Icon_default({
3964
3961
  props: {
3965
- src: (_a = ctx[1]) == null ? void 0 : _a.undo[ctx[2]],
3962
+ src: ctx[1]?.undo[ctx[2]],
3966
3963
  alt: "[undo]",
3967
3964
  $$slots: { default: [create_default_slot_3] },
3968
3965
  $$scope: { ctx }
@@ -3977,10 +3974,9 @@ function create_default_slot_2(ctx) {
3977
3974
  current = true;
3978
3975
  },
3979
3976
  p(ctx2, dirty) {
3980
- var _a2;
3981
3977
  const icon_changes = {};
3982
3978
  if (dirty & 6)
3983
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.undo[ctx2[2]];
3979
+ icon_changes.src = ctx2[1]?.undo[ctx2[2]];
3984
3980
  if (dirty & 131073) {
3985
3981
  icon_changes.$$scope = { dirty, ctx: ctx2 };
3986
3982
  }
@@ -4035,12 +4031,11 @@ function create_default_slot_1(ctx) {
4035
4031
  };
4036
4032
  }
4037
4033
  function create_default_slot(ctx) {
4038
- var _a;
4039
4034
  let icon;
4040
4035
  let current;
4041
4036
  icon = new Icon_default({
4042
4037
  props: {
4043
- src: (_a = ctx[1]) == null ? void 0 : _a.redo[ctx[2]],
4038
+ src: ctx[1]?.redo[ctx[2]],
4044
4039
  alt: "[redo]",
4045
4040
  $$slots: { default: [create_default_slot_1] },
4046
4041
  $$scope: { ctx }
@@ -4055,10 +4050,9 @@ function create_default_slot(ctx) {
4055
4050
  current = true;
4056
4051
  },
4057
4052
  p(ctx2, dirty) {
4058
- var _a2;
4059
4053
  const icon_changes = {};
4060
4054
  if (dirty & 6)
4061
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.redo[ctx2[2]];
4055
+ icon_changes.src = ctx2[1]?.redo[ctx2[2]];
4062
4056
  if (dirty & 131073) {
4063
4057
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4064
4058
  }
@@ -4200,10 +4194,10 @@ function instance46($$self, $$props, $$invalidate) {
4200
4194
  let { icons = void 0 } = $$props;
4201
4195
  let type;
4202
4196
  function undo() {
4203
- app == null ? void 0 : app.undo();
4197
+ app?.undo();
4204
4198
  }
4205
4199
  function redo() {
4206
- app == null ? void 0 : app.redo();
4200
+ app?.redo();
4207
4201
  }
4208
4202
  $$self.$$set = ($$props2) => {
4209
4203
  if ("app" in $$props2)
@@ -4217,7 +4211,7 @@ function instance46($$self, $$props, $$invalidate) {
4217
4211
  };
4218
4212
  $$self.$$.update = () => {
4219
4213
  if ($$self.$$.dirty & 2048) {
4220
- $$subscribe_writable($$invalidate(8, writable2 = app == null ? void 0 : app.writable));
4214
+ $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
4221
4215
  }
4222
4216
  if ($$self.$$.dirty & 65536) {
4223
4217
  $$invalidate(13, disabled = !$writable);
@@ -4229,10 +4223,10 @@ function instance46($$self, $$props, $$invalidate) {
4229
4223
  $$invalidate(2, type = disabled ? "disable" : "normal");
4230
4224
  }
4231
4225
  if ($$self.$$.dirty & 2048) {
4232
- $$subscribe_undoSteps($$invalidate(6, undoSteps = app == null ? void 0 : app.canUndoSteps));
4226
+ $$subscribe_undoSteps($$invalidate(6, undoSteps = app?.canUndoSteps));
4233
4227
  }
4234
4228
  if ($$self.$$.dirty & 2048) {
4235
- $$subscribe_redoSteps($$invalidate(5, redoSteps = app == null ? void 0 : app.canRedoSteps));
4229
+ $$subscribe_redoSteps($$invalidate(5, redoSteps = app?.canRedoSteps));
4236
4230
  }
4237
4231
  if ($$self.$$.dirty & 40960) {
4238
4232
  $$invalidate(4, undo_disabled = disabled || !$undoSteps);
@@ -4309,12 +4303,11 @@ function create_default_slot_5(ctx) {
4309
4303
  };
4310
4304
  }
4311
4305
  function create_default_slot_4(ctx) {
4312
- var _a;
4313
4306
  let icon;
4314
4307
  let current;
4315
4308
  icon = new Icon_default({
4316
4309
  props: {
4317
- src: (_a = ctx[1]) == null ? void 0 : _a.prev[ctx[5]],
4310
+ src: ctx[1]?.prev[ctx[5]],
4318
4311
  alt: "[prev]",
4319
4312
  $$slots: { default: [create_default_slot_5] },
4320
4313
  $$scope: { ctx }
@@ -4329,10 +4322,9 @@ function create_default_slot_4(ctx) {
4329
4322
  current = true;
4330
4323
  },
4331
4324
  p(ctx2, dirty) {
4332
- var _a2;
4333
4325
  const icon_changes = {};
4334
4326
  if (dirty & 34)
4335
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.prev[ctx2[5]];
4327
+ icon_changes.src = ctx2[1]?.prev[ctx2[5]];
4336
4328
  if (dirty & 262145) {
4337
4329
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4338
4330
  }
@@ -4435,12 +4427,11 @@ function create_default_slot_32(ctx) {
4435
4427
  };
4436
4428
  }
4437
4429
  function create_default_slot_22(ctx) {
4438
- var _a;
4439
4430
  let icon;
4440
4431
  let current;
4441
4432
  icon = new Icon_default({
4442
4433
  props: {
4443
- src: (_a = ctx[1]) == null ? void 0 : _a.next[ctx[5]],
4434
+ src: ctx[1]?.next[ctx[5]],
4444
4435
  alt: "[next]",
4445
4436
  $$slots: { default: [create_default_slot_32] },
4446
4437
  $$scope: { ctx }
@@ -4455,10 +4446,9 @@ function create_default_slot_22(ctx) {
4455
4446
  current = true;
4456
4447
  },
4457
4448
  p(ctx2, dirty) {
4458
- var _a2;
4459
4449
  const icon_changes = {};
4460
4450
  if (dirty & 34)
4461
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.next[ctx2[5]];
4451
+ icon_changes.src = ctx2[1]?.next[ctx2[5]];
4462
4452
  if (dirty & 262145) {
4463
4453
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4464
4454
  }
@@ -4513,12 +4503,11 @@ function create_default_slot_12(ctx) {
4513
4503
  };
4514
4504
  }
4515
4505
  function create_default_slot2(ctx) {
4516
- var _a;
4517
4506
  let icon;
4518
4507
  let current;
4519
4508
  icon = new Icon_default({
4520
4509
  props: {
4521
- src: (_a = ctx[1]) == null ? void 0 : _a.add[ctx[5]],
4510
+ src: ctx[1]?.add[ctx[5]],
4522
4511
  alt: "[add]",
4523
4512
  $$slots: { default: [create_default_slot_12] },
4524
4513
  $$scope: { ctx }
@@ -4533,10 +4522,9 @@ function create_default_slot2(ctx) {
4533
4522
  current = true;
4534
4523
  },
4535
4524
  p(ctx2, dirty) {
4536
- var _a2;
4537
4525
  const icon_changes = {};
4538
4526
  if (dirty & 34)
4539
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.add[ctx2[5]];
4527
+ icon_changes.src = ctx2[1]?.add[ctx2[5]];
4540
4528
  if (dirty & 262145) {
4541
4529
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4542
4530
  }
@@ -4746,14 +4734,14 @@ function instance47($$self, $$props, $$invalidate) {
4746
4734
  let { icons = void 0 } = $$props;
4747
4735
  let type;
4748
4736
  function prevPage() {
4749
- app == null ? void 0 : app.prevPage();
4737
+ app?.prevPage();
4750
4738
  }
4751
4739
  function nextPage() {
4752
- app == null ? void 0 : app.nextPage();
4740
+ app?.nextPage();
4753
4741
  }
4754
4742
  function addPage() {
4755
- app == null ? void 0 : app.addPage({ after: true });
4756
- app == null ? void 0 : app.nextPage();
4743
+ app?.addPage({ after: true });
4744
+ app?.nextPage();
4757
4745
  }
4758
4746
  $$self.$$set = ($$props2) => {
4759
4747
  if ("app" in $$props2)
@@ -4767,7 +4755,7 @@ function instance47($$self, $$props, $$invalidate) {
4767
4755
  };
4768
4756
  $$self.$$.update = () => {
4769
4757
  if ($$self.$$.dirty & 32768) {
4770
- $$subscribe_writable($$invalidate(11, writable2 = app == null ? void 0 : app.writable));
4758
+ $$subscribe_writable($$invalidate(11, writable2 = app?.writable));
4771
4759
  }
4772
4760
  if ($$self.$$.dirty & 131072) {
4773
4761
  $$invalidate(2, disabled = !$writable);
@@ -4779,10 +4767,10 @@ function instance47($$self, $$props, $$invalidate) {
4779
4767
  $$invalidate(5, type = disabled ? "disable" : "normal");
4780
4768
  }
4781
4769
  if ($$self.$$.dirty & 32768) {
4782
- $$subscribe_index($$invalidate(9, index = app == null ? void 0 : app.sceneIndex));
4770
+ $$subscribe_index($$invalidate(9, index = app?.pageIndex));
4783
4771
  }
4784
4772
  if ($$self.$$.dirty & 32768) {
4785
- $$subscribe_length($$invalidate(8, length = app == null ? void 0 : app.sceneLength));
4773
+ $$subscribe_length($$invalidate(8, length = app?.pageLength));
4786
4774
  }
4787
4775
  if ($$self.$$.dirty & 20) {
4788
4776
  $$invalidate(7, prev_disabled = disabled || !$index);
@@ -4865,12 +4853,11 @@ function create_default_slot_52(ctx) {
4865
4853
  };
4866
4854
  }
4867
4855
  function create_default_slot_42(ctx) {
4868
- var _a;
4869
4856
  let icon;
4870
4857
  let current;
4871
4858
  icon = new Icon_default({
4872
4859
  props: {
4873
- src: (_a = ctx[1]) == null ? void 0 : _a.plus[ctx[5]],
4860
+ src: ctx[1]?.plus[ctx[4]],
4874
4861
  alt: "[plus]",
4875
4862
  $$slots: { default: [create_default_slot_52] },
4876
4863
  $$scope: { ctx }
@@ -4885,11 +4872,10 @@ function create_default_slot_42(ctx) {
4885
4872
  current = true;
4886
4873
  },
4887
4874
  p(ctx2, dirty) {
4888
- var _a2;
4889
4875
  const icon_changes = {};
4890
- if (dirty & 34)
4891
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.plus[ctx2[5]];
4892
- if (dirty & 131073) {
4876
+ if (dirty & 18)
4877
+ icon_changes.src = ctx2[1]?.plus[ctx2[4]];
4878
+ if (dirty & 262145) {
4893
4879
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4894
4880
  }
4895
4881
  icon.$set(icon_changes);
@@ -4910,12 +4896,11 @@ function create_default_slot_42(ctx) {
4910
4896
  };
4911
4897
  }
4912
4898
  function create_else_block4(ctx) {
4913
- let t0_value = Math.ceil(ctx[2] * 100) + "";
4914
4899
  let t0;
4915
4900
  let t1;
4916
4901
  return {
4917
4902
  c() {
4918
- t0 = text(t0_value);
4903
+ t0 = text(ctx[5]);
4919
4904
  t1 = text("%");
4920
4905
  },
4921
4906
  m(target, anchor) {
@@ -4923,8 +4908,8 @@ function create_else_block4(ctx) {
4923
4908
  insert(target, t1, anchor);
4924
4909
  },
4925
4910
  p(ctx2, dirty) {
4926
- if (dirty & 4 && t0_value !== (t0_value = Math.ceil(ctx2[2] * 100) + ""))
4927
- set_data(t0, t0_value);
4911
+ if (dirty & 32)
4912
+ set_data(t0, ctx2[5]);
4928
4913
  },
4929
4914
  d(detaching) {
4930
4915
  if (detaching)
@@ -4984,12 +4969,11 @@ function create_default_slot_33(ctx) {
4984
4969
  };
4985
4970
  }
4986
4971
  function create_default_slot_23(ctx) {
4987
- var _a;
4988
4972
  let icon;
4989
4973
  let current;
4990
4974
  icon = new Icon_default({
4991
4975
  props: {
4992
- src: (_a = ctx[1]) == null ? void 0 : _a.minus[ctx[5]],
4976
+ src: ctx[1]?.minus[ctx[4]],
4993
4977
  alt: "[minus]",
4994
4978
  $$slots: { default: [create_default_slot_33] },
4995
4979
  $$scope: { ctx }
@@ -5004,11 +4988,10 @@ function create_default_slot_23(ctx) {
5004
4988
  current = true;
5005
4989
  },
5006
4990
  p(ctx2, dirty) {
5007
- var _a2;
5008
4991
  const icon_changes = {};
5009
- if (dirty & 34)
5010
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.minus[ctx2[5]];
5011
- if (dirty & 131073) {
4992
+ if (dirty & 18)
4993
+ icon_changes.src = ctx2[1]?.minus[ctx2[4]];
4994
+ if (dirty & 262145) {
5012
4995
  icon_changes.$$scope = { dirty, ctx: ctx2 };
5013
4996
  }
5014
4997
  icon.$set(icon_changes);
@@ -5062,12 +5045,11 @@ function create_default_slot_13(ctx) {
5062
5045
  };
5063
5046
  }
5064
5047
  function create_default_slot3(ctx) {
5065
- var _a;
5066
5048
  let icon;
5067
5049
  let current;
5068
5050
  icon = new Icon_default({
5069
5051
  props: {
5070
- src: (_a = ctx[1]) == null ? void 0 : _a.reset[ctx[5]],
5052
+ src: ctx[1]?.reset[ctx[4]],
5071
5053
  alt: "[reset]",
5072
5054
  $$slots: { default: [create_default_slot_13] },
5073
5055
  $$scope: { ctx }
@@ -5082,11 +5064,10 @@ function create_default_slot3(ctx) {
5082
5064
  current = true;
5083
5065
  },
5084
5066
  p(ctx2, dirty) {
5085
- var _a2;
5086
5067
  const icon_changes = {};
5087
- if (dirty & 34)
5088
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.reset[ctx2[5]];
5089
- if (dirty & 131073) {
5068
+ if (dirty & 18)
5069
+ icon_changes.src = ctx2[1]?.reset[ctx2[4]];
5070
+ if (dirty & 262145) {
5090
5071
  icon_changes.$$scope = { dirty, ctx: ctx2 };
5091
5072
  }
5092
5073
  icon.$set(icon_changes);
@@ -5131,7 +5112,7 @@ function create_fragment48(ctx) {
5131
5112
  });
5132
5113
  button0.$on("click", ctx[11]);
5133
5114
  function select_block_type(ctx2, dirty) {
5134
- if (ctx2[4] == null)
5115
+ if (ctx2[3] == null)
5135
5116
  return create_if_block4;
5136
5117
  return create_else_block4;
5137
5118
  }
@@ -5154,7 +5135,7 @@ function create_fragment48(ctx) {
5154
5135
  class: "reset",
5155
5136
  name: name3,
5156
5137
  theme: ctx[0],
5157
- disabled: ctx[3],
5138
+ disabled: ctx[2],
5158
5139
  content: ctx[9].reset,
5159
5140
  $$slots: { default: [create_default_slot3] },
5160
5141
  $$scope: { ctx }
@@ -5195,7 +5176,7 @@ function create_fragment48(ctx) {
5195
5176
  button0_changes.disabled = ctx2[7];
5196
5177
  if (dirty & 512)
5197
5178
  button0_changes.content = ctx2[9].plus;
5198
- if (dirty & 131107) {
5179
+ if (dirty & 262163) {
5199
5180
  button0_changes.$$scope = { dirty, ctx: ctx2 };
5200
5181
  }
5201
5182
  button0.$set(button0_changes);
@@ -5219,18 +5200,18 @@ function create_fragment48(ctx) {
5219
5200
  button1_changes.disabled = ctx2[6];
5220
5201
  if (dirty & 512)
5221
5202
  button1_changes.content = ctx2[9].minus;
5222
- if (dirty & 131107) {
5203
+ if (dirty & 262163) {
5223
5204
  button1_changes.$$scope = { dirty, ctx: ctx2 };
5224
5205
  }
5225
5206
  button1.$set(button1_changes);
5226
5207
  const button2_changes = {};
5227
5208
  if (dirty & 1)
5228
5209
  button2_changes.theme = ctx2[0];
5229
- if (dirty & 8)
5230
- button2_changes.disabled = ctx2[3];
5210
+ if (dirty & 4)
5211
+ button2_changes.disabled = ctx2[2];
5231
5212
  if (dirty & 512)
5232
5213
  button2_changes.content = ctx2[9].reset;
5233
- if (dirty & 131107) {
5214
+ if (dirty & 262163) {
5234
5215
  button2_changes.$$scope = { dirty, ctx: ctx2 };
5235
5216
  }
5236
5217
  button2.$set(button2_changes);
@@ -5312,8 +5293,9 @@ function instance48($$self, $$props, $$invalidate) {
5312
5293
  let scale;
5313
5294
  let plus_disabled;
5314
5295
  let minus_disabled;
5315
- let $camera, $$unsubscribe_camera = noop, $$subscribe_camera = () => ($$unsubscribe_camera(), $$unsubscribe_camera = subscribe(camera, ($$value) => $$invalidate(4, $camera = $$value)), camera);
5316
- let $writable, $$unsubscribe_writable = noop, $$subscribe_writable = () => ($$unsubscribe_writable(), $$unsubscribe_writable = subscribe(writable2, ($$value) => $$invalidate(16, $writable = $$value)), writable2);
5296
+ let display_scale;
5297
+ let $camera, $$unsubscribe_camera = noop, $$subscribe_camera = () => ($$unsubscribe_camera(), $$unsubscribe_camera = subscribe(camera, ($$value) => $$invalidate(3, $camera = $$value)), camera);
5298
+ let $writable, $$unsubscribe_writable = noop, $$subscribe_writable = () => ($$unsubscribe_writable(), $$unsubscribe_writable = subscribe(writable2, ($$value) => $$invalidate(17, $writable = $$value)), writable2);
5317
5299
  $$self.$$.on_destroy.push(() => $$unsubscribe_camera());
5318
5300
  $$self.$$.on_destroy.push(() => $$unsubscribe_writable());
5319
5301
  let { app = null } = $$props;
@@ -5322,21 +5304,21 @@ function instance48($$self, $$props, $$invalidate) {
5322
5304
  let { icons = void 0 } = $$props;
5323
5305
  let type;
5324
5306
  function plus() {
5325
- app == null ? void 0 : app.moveCamera({
5307
+ app?.moveCamera({
5326
5308
  scale: next_scale(scale, 1),
5327
5309
  centerX: 0,
5328
5310
  centerY: 0
5329
5311
  });
5330
5312
  }
5331
5313
  function minus() {
5332
- app == null ? void 0 : app.moveCamera({
5314
+ app?.moveCamera({
5333
5315
  scale: next_scale(scale, -1),
5334
5316
  centerX: 0,
5335
5317
  centerY: 0
5336
5318
  });
5337
5319
  }
5338
5320
  function reset() {
5339
- app == null ? void 0 : app.moveCamera({ scale: 1, centerX: 0, centerY: 0 });
5321
+ app?.moveCamera({ scale: 1, centerX: 0, centerY: 0 });
5340
5322
  }
5341
5323
  $$self.$$set = ($$props2) => {
5342
5324
  if ("app" in $$props2)
@@ -5349,39 +5331,41 @@ function instance48($$self, $$props, $$invalidate) {
5349
5331
  $$invalidate(1, icons = $$props2.icons);
5350
5332
  };
5351
5333
  $$self.$$.update = () => {
5352
- var _a;
5353
5334
  if ($$self.$$.dirty & 16384) {
5354
- $$subscribe_writable($$invalidate(10, writable2 = app == null ? void 0 : app.writable));
5335
+ $$subscribe_writable($$invalidate(10, writable2 = app?.writable));
5355
5336
  }
5356
- if ($$self.$$.dirty & 65536) {
5357
- $$invalidate(3, disabled = !$writable);
5337
+ if ($$self.$$.dirty & 131072) {
5338
+ $$invalidate(2, disabled = !$writable);
5358
5339
  }
5359
5340
  if ($$self.$$.dirty & 32768) {
5360
5341
  $$invalidate(9, t = i18n3[language]);
5361
5342
  }
5362
- if ($$self.$$.dirty & 8) {
5363
- $$invalidate(5, type = disabled ? "disable" : "normal");
5343
+ if ($$self.$$.dirty & 4) {
5344
+ $$invalidate(4, type = disabled ? "disable" : "normal");
5364
5345
  }
5365
5346
  if ($$self.$$.dirty & 16384) {
5366
- $$subscribe_camera($$invalidate(8, camera = app == null ? void 0 : app.camera));
5347
+ $$subscribe_camera($$invalidate(8, camera = app?.baseCamera));
5367
5348
  }
5368
- if ($$self.$$.dirty & 16) {
5369
- $$invalidate(2, scale = (_a = $camera == null ? void 0 : $camera.scale) != null ? _a : 1);
5349
+ if ($$self.$$.dirty & 8) {
5350
+ $$invalidate(16, scale = $camera?.scale ?? 1);
5370
5351
  }
5371
- if ($$self.$$.dirty & 12) {
5372
- $$invalidate(7, plus_disabled = disabled || next_scale(scale, 1) === scale);
5352
+ if ($$self.$$.dirty & 65540) {
5353
+ $$invalidate(7, plus_disabled = disabled || next_scale(scale, 1) <= scale);
5373
5354
  }
5374
- if ($$self.$$.dirty & 12) {
5375
- $$invalidate(6, minus_disabled = disabled || next_scale(scale, -1) === scale);
5355
+ if ($$self.$$.dirty & 65540) {
5356
+ $$invalidate(6, minus_disabled = disabled || next_scale(scale, -1) >= scale);
5357
+ }
5358
+ if ($$self.$$.dirty & 65536) {
5359
+ $$invalidate(5, display_scale = clamp(Math.round(scale * 100), 30, 300));
5376
5360
  }
5377
5361
  };
5378
5362
  return [
5379
5363
  theme,
5380
5364
  icons,
5381
- scale,
5382
5365
  disabled,
5383
5366
  $camera,
5384
5367
  type,
5368
+ display_scale,
5385
5369
  minus_disabled,
5386
5370
  plus_disabled,
5387
5371
  camera,
@@ -5392,6 +5376,7 @@ function instance48($$self, $$props, $$invalidate) {
5392
5376
  reset,
5393
5377
  app,
5394
5378
  language,
5379
+ scale,
5395
5380
  $writable
5396
5381
  ];
5397
5382
  }
@@ -5408,7 +5393,7 @@ var ZoomControl = class extends SvelteComponent {
5408
5393
  };
5409
5394
  var ZoomControl_default = ZoomControl;
5410
5395
 
5411
- // ../../node_modules/.pnpm/svelte@3.48.0/node_modules/svelte/store/index.mjs
5396
+ // ../../node_modules/.pnpm/svelte@3.49.0/node_modules/svelte/store/index.mjs
5412
5397
  var subscriber_queue = [];
5413
5398
  function writable(value, start = noop) {
5414
5399
  let stop;
@@ -5575,21 +5560,12 @@ var scrollTop = function(node, value) {
5575
5560
  };
5576
5561
  };
5577
5562
 
5578
- // src/behaviors/icons/visual-studio-code.svg
5579
- var visual_studio_code_default = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMS4wMWVtIiBoZWlnaHQ9IjFlbSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI1NiAyNTQiIHN0eWxlPSItbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJJY29uaWZ5SWQtMTdmODcyMTU1YmUtY2M3NjZlLTU0MzkiIHgxPSI1MCUiIHgyPSI1MCUiIHkxPSIwJSIgeTI9IjEwMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNGRkYiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNGRkYiIHN0b3Atb3BhY2l0eT0iMCIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggaWQ9Ikljb25pZnlJZC0xN2Y4NzIxNTViZS1jYzc2NmUtNTQ0MCIgZD0iTTE4MC44MjggMjUyLjYwNWExNS44NzIgMTUuODcyIDAgMCAwIDEyLjY1LS40ODZsNTIuNTAxLTI1LjI2MmExNS45NCAxNS45NCAwIDAgMCA5LjAyNS0xNC4zNjRWNDEuMTk3YTE1LjkzOSAxNS45MzkgMCAwIDAtOS4wMjUtMTQuMzYzbC01Mi41LTI1LjI2M2ExNS44NzcgMTUuODc3IDAgMCAwLTE4LjExNSAzLjA4NEw3NC44NTcgOTYuMzVsLTQzLjc4LTMzLjIzMmExMC42MTQgMTAuNjE0IDAgMCAwLTEzLjU2LjYwM0wzLjQ3NiA3Ni40OTRjLTQuNjMgNC4yMTEtNC42MzUgMTEuNDk1LS4wMTIgMTUuNzEzbDM3Ljk2NyAzNC42MzhsLTM3Ljk2NyAzNC42MzdjLTQuNjIzIDQuMjE5LTQuNjE4IDExLjUwMi4wMTIgMTUuNzE0bDE0LjA0MSAxMi43NzJhMTAuNjE0IDEwLjYxNCAwIDAgMCAxMy41Ni42MDRsNDMuNzgtMzMuMjMzbDEwMC41MDcgOTEuNjk1YTE1Ljg1MyAxNS44NTMgMCAwIDAgNS40NjQgMy41NzFabTEwLjQ2NC0xODMuNjQ5bC03Ni4yNjIgNTcuODg5bDc2LjI2MiA1Ny44ODhWNjguOTU2WiIvPjwvZGVmcz48bWFzayBpZD0iSWNvbmlmeUlkLTE3Zjg3MjE1NWJlLWNjNzY2ZS01NDQxIiBmaWxsPSIjZmZmIj48dXNlIGhyZWY9IiNJY29uaWZ5SWQtMTdmODcyMTU1YmUtY2M3NjZlLTU0NDAiLz48L21hc2s+PHBhdGggZmlsbD0iIzAwNjVBOSIgZD0iTTI0Ni4xMzUgMjYuODczTDE5My41OTMgMS41NzVhMTUuODg1IDE1Ljg4NSAwIDAgMC0xOC4xMjMgMy4wOEwzLjQ2NiAxNjEuNDgyYy00LjYyNiA0LjIxOS00LjYyIDExLjUwMi4wMTIgMTUuNzE0bDE0LjA1IDEyLjc3MmExMC42MjUgMTAuNjI1IDAgMCAwIDEzLjU2OS42MDRMMjM4LjIyOSAzMy40MzZjNi45NDktNS4yNzEgMTYuOTMtLjMxNSAxNi45MyA4LjQwN3YtLjYxYTE1LjkzOCAxNS45MzggMCAwIDAtOS4wMjQtMTQuMzZaIiBtYXNrPSJ1cmwoI0ljb25pZnlJZC0xN2Y4NzIxNTViZS1jYzc2NmUtNTQ0MSkiLz48cGF0aCBmaWxsPSIjMDA3QUNDIiBkPSJtMjQ2LjEzNSAyMjYuODE2bC01Mi41NDIgMjUuMjk4YTE1Ljg4NyAxNS44ODcgMCAwIDEtMTguMTIzLTMuMDhMMy40NjYgOTIuMjA3Yy00LjYyNi00LjIxOC00LjYyLTExLjUwMi4wMTItMTUuNzEzbDE0LjA1LTEyLjc3M2ExMC42MjUgMTAuNjI1IDAgMCAxIDEzLjU2OS0uNjAzbDIwNy4xMzIgMTU3LjEzNWM2Ljk0OSA1LjI3MSAxNi45My4zMTUgMTYuOTMtOC40MDh2LjYxMWExNS45MzkgMTUuOTM5IDAgMCAxLTkuMDI0IDE0LjM2WiIgbWFzaz0idXJsKCNJY29uaWZ5SWQtMTdmODcyMTU1YmUtY2M3NjZlLTU0NDEpIi8+PHBhdGggZmlsbD0iIzFGOUNGMCIgZD0iTTE5My40MjggMjUyLjEzNGExNS44OTIgMTUuODkyIDAgMCAxLTE4LjEyNS0zLjA4M2M1Ljg4MSA1Ljg4IDE1LjkzOCAxLjcxNSAxNS45MzgtNi42MDNWMTEuMjczYzAtOC4zMTgtMTAuMDU3LTEyLjQ4My0xNS45MzgtNi42MDJhMTUuODkyIDE1Ljg5MiAwIDAgMSAxOC4xMjUtMy4wODRsNTIuNTMzIDI1LjI2M2ExNS45MzcgMTUuOTM3IDAgMCAxIDkuMDMgMTQuMzYzVjIxMi41MWMwIDYuMTI1LTMuNTEgMTEuNzA5LTkuMDMgMTQuMzYzbC01Mi41MzMgMjUuMjYyWiIgbWFzaz0idXJsKCNJY29uaWZ5SWQtMTdmODcyMTU1YmUtY2M3NjZlLTU0NDEpIi8+PHBhdGggZmlsbD0idXJsKCNJY29uaWZ5SWQtMTdmODcyMTU1YmUtY2M3NjZlLTU0MzkpIiBmaWxsLW9wYWNpdHk9Ii4yNSIgZD0iTTE4MC44MjggMjUyLjYwNWExNS44NzQgMTUuODc0IDAgMCAwIDEyLjY1LS40ODZsNTIuNS0yNS4yNjNhMTUuOTM4IDE1LjkzOCAwIDAgMCA5LjAyNi0xNC4zNjNWNDEuMTk3YTE1LjkzOSAxNS45MzkgMCAwIDAtOS4wMjUtMTQuMzYzTDE5My40NzcgMS41N2ExNS44NzcgMTUuODc3IDAgMCAwLTE4LjExNCAzLjA4NEw3NC44NTcgOTYuMzVsLTQzLjc4LTMzLjIzMmExMC42MTQgMTAuNjE0IDAgMCAwLTEzLjU2LjYwM0wzLjQ3NiA3Ni40OTRjLTQuNjMgNC4yMTEtNC42MzUgMTEuNDk1LS4wMTIgMTUuNzEzbDM3Ljk2NyAzNC42MzhsLTM3Ljk2NyAzNC42MzdjLTQuNjIzIDQuMjE5LTQuNjE4IDExLjUwMi4wMTIgMTUuNzE0bDE0LjA0MSAxMi43NzJhMTAuNjE0IDEwLjYxNCAwIDAgMCAxMy41Ni42MDRsNDMuNzgtMzMuMjMzbDEwMC41MDYgOTEuNjk1YTE1Ljg1NyAxNS44NTcgMCAwIDAgNS40NjUgMy41NzFabTEwLjQ2NC0xODMuNjVsLTc2LjI2MiA1Ny44OWw3Ni4yNjIgNTcuODg4VjY4Ljk1NloiIG1hc2s9InVybCgjSWNvbmlmeUlkLTE3Zjg3MjE1NWJlLWNjNzY2ZS01NDQxKSIvPjwvc3ZnPg==";
5580
-
5581
- // src/behaviors/icons/geogebra.svg
5582
- var geogebra_default = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1hcmN0aWNvbnMiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2NTU3ZDIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMjQgM2E0Ljc3IDQuNzcgMCAxIDAgNC43NyA0Ljc3QTQuNzggNC43OCAwIDAgMCAyNCAzWk03LjY5IDE0Ljg2YTQuNzcgNC43NyAwIDEgMCA0Ljc2IDQuNzdhNC43NiA0Ljc2IDAgMCAwLTQuNzYtNC43N1ptMzIuNjQgMGE0Ljc3IDQuNzcgMCAxIDAgNC43NyA0Ljc3YTQuNzcgNC43NyAwIDAgMC00Ljc3LTQuNzdaTTEzLjkyIDM0LjA1YTQuNzcgNC43NyAwIDEgMCA0Ljc3IDQuNzdhNC43NiA0Ljc2IDAgMCAwLTQuNzctNC43N1ptMjAuMTggMGE0Ljc3IDQuNzcgMCAxIDAgNC43NiA0Ljc3YTQuNzYgNC43NiAwIDAgMC00Ljc2LTQuNzdaIj48L3BhdGg+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjU1N2QyIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTE5LjI3IDguMzVhMTcuMjQgMTcuMjQgMCAwIDAtOS43MyA2Ljg3bTI4LjUxLjIyYTE3LjI4IDE3LjI4IDAgMCAwLTkuMzQtNi45NG04LjcgMjYuODlBMTcuMDkgMTcuMDkgMCAwIDAgNDAuOTMgMjV2LS42MU0xOCA0MS4yMmExNy4yMyAxNy4yMyAwIDAgMCA1LjY4IDFhMTcgMTcgMCAwIDAgNi4yLTEuMjJNNi41MyAyNC4yNXYuNzJhMTcuMTYgMTcuMTYgMCAwIDAgMy43NyAxMC43NiI+PC9wYXRoPjwvc3ZnPg==";
5583
-
5584
- // src/behaviors/icons/countdown.svg
5585
- var countdown_default = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1yYWRpeC1pY29ucyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2aWV3Qm94PSIwIDAgMTUgMTUiPjxwYXRoIGZpbGw9ImdyZXkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjE1IDcuNWMwLTIuODM1LTIuMjEtNS42NS01LjY1LTUuNjVjLTIuNzc4IDAtNC4xNTEgMi4wNTYtNC43MzcgMy4xNUg0LjVhLjUuNSAwIDAgMSAwIDFoLTNhLjUuNSAwIDAgMS0uNS0uNXYtM2EuNS41IDAgMCAxIDEgMHYxLjgxM0MyLjcwNSAzLjA3MSA0LjMzNC44NSA3LjUuODVjNC4wNjMgMCA2LjY1IDMuMzM1IDYuNjUgNi42NWMwIDMuMzE1LTIuNTg3IDYuNjUtNi42NSA2LjY1Yy0xLjk0NCAwLTMuNTYyLS43Ny00LjcxNS0xLjk0MmE2Ljc3MiA2Ljc3MiAwIDAgMS0xLjQyNy0yLjE2N2EuNS41IDAgMSAxIC45MjUtLjM4Yy4yOC42ODEuNjkyIDEuMzE0IDEuMjE2IDEuODQ2Yy45NzIuOTkgMi4zMzYgMS42NDMgNC4wMDEgMS42NDNjMy40NCAwIDUuNjUtMi44MTUgNS42NS01LjY1Wk03IDEwVjVoMXY1SDdaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD48L3N2Zz4=";
5586
-
5587
5563
  // src/behaviors/apps.ts
5588
5564
  var AppsInToolbar = class {
5589
5565
  constructor(_data) {
5590
5566
  this._data = _data;
5591
- this._listeners = [];
5592
5567
  }
5568
+ _listeners = [];
5593
5569
  get data() {
5594
5570
  return this._data;
5595
5571
  }
@@ -5620,41 +5596,7 @@ var AppsInToolbar = class {
5620
5596
  this._listeners.forEach((fn) => fn(this._data));
5621
5597
  }
5622
5598
  };
5623
- var apps = new AppsInToolbar([
5624
- {
5625
- kind: "Monaco",
5626
- icon: visual_studio_code_default,
5627
- label: "Code Editor",
5628
- onClick(app) {
5629
- app.manager.addApp({
5630
- kind: "Monaco",
5631
- options: { title: "Code Editor" }
5632
- });
5633
- }
5634
- },
5635
- {
5636
- kind: "GeoGebra",
5637
- icon: geogebra_default,
5638
- label: "GeoGebra",
5639
- onClick(app) {
5640
- app.manager.addApp({
5641
- kind: "GeoGebra",
5642
- options: { title: "GeoGebra" }
5643
- });
5644
- }
5645
- },
5646
- {
5647
- kind: "Countdown",
5648
- icon: countdown_default,
5649
- label: "Countdown",
5650
- onClick(app) {
5651
- app.manager.addApp({
5652
- kind: "Countdown",
5653
- options: { title: "Countdown" }
5654
- });
5655
- }
5656
- }
5657
- ]);
5599
+ var apps = new AppsInToolbar([]);
5658
5600
 
5659
5601
  // src/components/Toolbar/components/helper.ts
5660
5602
  function tooltip(text2, hotkey) {
@@ -5901,7 +5843,7 @@ function instance50($$self, $$props, $$invalidate) {
5901
5843
  let { theme = "light" } = $$props;
5902
5844
  let { disabled = false } = $$props;
5903
5845
  function set_stroke_width({ detail: value2 }) {
5904
- app == null ? void 0 : app.setStrokeWidth(value2);
5846
+ app?.setStrokeWidth(value2);
5905
5847
  }
5906
5848
  $$self.$$set = ($$props2) => {
5907
5849
  if ("app" in $$props2)
@@ -5912,12 +5854,11 @@ function instance50($$self, $$props, $$invalidate) {
5912
5854
  $$invalidate(5, disabled = $$props2.disabled);
5913
5855
  };
5914
5856
  $$self.$$.update = () => {
5915
- var _a;
5916
5857
  if ($$self.$$.dirty & 8) {
5917
- $$subscribe_memberState($$invalidate(1, memberState = app == null ? void 0 : app.memberState));
5858
+ $$subscribe_memberState($$invalidate(1, memberState = app?.memberState));
5918
5859
  }
5919
5860
  if ($$self.$$.dirty & 128) {
5920
- $$invalidate(6, value = (_a = $memberState == null ? void 0 : $memberState.strokeWidth) != null ? _a : 1);
5861
+ $$invalidate(6, value = $memberState?.strokeWidth ?? 1);
5921
5862
  }
5922
5863
  if ($$self.$$.dirty & 112) {
5923
5864
  $$invalidate(0, props = { value, theme, disabled });
@@ -6075,10 +6016,10 @@ function instance51($$self, $$props, $$invalidate) {
6075
6016
  };
6076
6017
  $$self.$$.update = () => {
6077
6018
  if ($$self.$$.dirty & 32) {
6078
- $$subscribe_memberState($$invalidate(3, memberState = app == null ? void 0 : app.memberState));
6019
+ $$subscribe_memberState($$invalidate(3, memberState = app?.memberState));
6079
6020
  }
6080
6021
  if ($$self.$$.dirty & 64) {
6081
- $$invalidate(2, strokeColor = $memberState == null ? void 0 : $memberState.strokeColor);
6022
+ $$invalidate(2, strokeColor = $memberState?.strokeColor);
6082
6023
  }
6083
6024
  };
6084
6025
  return [theme, disabled, strokeColor, memberState, set_stroke_color, app, $memberState];
@@ -6224,10 +6165,10 @@ function instance52($$self, $$props, $$invalidate) {
6224
6165
  };
6225
6166
  $$self.$$.update = () => {
6226
6167
  if ($$self.$$.dirty & 32) {
6227
- $$subscribe_memberState($$invalidate(3, memberState = app == null ? void 0 : app.memberState));
6168
+ $$subscribe_memberState($$invalidate(3, memberState = app?.memberState));
6228
6169
  }
6229
6170
  if ($$self.$$.dirty & 64) {
6230
- $$invalidate(2, textColor = $memberState == null ? void 0 : $memberState.textColor);
6171
+ $$invalidate(2, textColor = $memberState?.textColor);
6231
6172
  }
6232
6173
  };
6233
6174
  return [theme, disabled, textColor, memberState, set_stroke_color, app, $memberState];
@@ -6622,23 +6563,23 @@ function instance53($$self, $$props, $$invalidate) {
6622
6563
  $$invalidate(6, t = i18n5[language]);
6623
6564
  }
6624
6565
  if ($$self.$$.dirty & 256) {
6625
- $$subscribe_memberState($$invalidate(5, memberState = app == null ? void 0 : app.memberState));
6566
+ $$subscribe_memberState($$invalidate(5, memberState = app?.memberState));
6626
6567
  }
6627
6568
  if ($$self.$$.dirty & 2048) {
6628
- $$invalidate(4, appliance = $memberState == null ? void 0 : $memberState.currentApplianceName);
6569
+ $$invalidate(4, appliance = $memberState?.currentApplianceName);
6629
6570
  }
6630
6571
  if ($$self.$$.dirty & 2048) {
6631
- $$invalidate(3, shape = $memberState == null ? void 0 : $memberState.shapeType);
6572
+ $$invalidate(3, shape = $memberState?.shapeType);
6632
6573
  }
6633
6574
  if ($$self.$$.dirty & 256) {
6634
- $$invalidate(10, hotkeys = app == null ? void 0 : app.hotKeys);
6575
+ $$invalidate(10, hotkeys = app?.hotKeys);
6635
6576
  }
6636
6577
  if ($$self.$$.dirty & 1024) {
6637
6578
  $$invalidate(2, c = {
6638
- rectangle: hotkeys == null ? void 0 : hotkeys.changeToRectangle,
6639
- ellipse: hotkeys == null ? void 0 : hotkeys.changeToEllipse,
6640
- straight: hotkeys == null ? void 0 : hotkeys.changeToStraight,
6641
- arrow: hotkeys == null ? void 0 : hotkeys.changeToArrow
6579
+ rectangle: hotkeys?.changeToRectangle,
6580
+ ellipse: hotkeys?.changeToEllipse,
6581
+ straight: hotkeys?.changeToStraight,
6582
+ arrow: hotkeys?.changeToArrow
6642
6583
  });
6643
6584
  }
6644
6585
  };
@@ -8567,29 +8508,29 @@ function instance54($$self, $$props, $$invalidate) {
8567
8508
  set_store_value(top, $top = clamp($top + 32 + 4, 0, max_scroll), $top);
8568
8509
  }
8569
8510
  function clicker() {
8570
- app == null ? void 0 : app.setAppliance("clicker");
8511
+ app?.setAppliance("clicker");
8571
8512
  }
8572
8513
  function selector() {
8573
- app == null ? void 0 : app.setAppliance("selector");
8514
+ app?.setAppliance("selector");
8574
8515
  }
8575
8516
  function pencil() {
8576
- app == null ? void 0 : app.setAppliance("pencil");
8517
+ app?.setAppliance("pencil");
8577
8518
  }
8578
8519
  function text2() {
8579
- app == null ? void 0 : app.setAppliance("text");
8520
+ app?.setAppliance("text");
8580
8521
  }
8581
8522
  function select_last_shape() {
8582
8523
  if (applianceShapes.includes(last_shape)) {
8583
- app == null ? void 0 : app.setAppliance(last_shape);
8524
+ app?.setAppliance(last_shape);
8584
8525
  } else {
8585
- app == null ? void 0 : app.setAppliance("shape", last_shape);
8526
+ app?.setAppliance("shape", last_shape);
8586
8527
  }
8587
8528
  }
8588
8529
  function eraser() {
8589
- app == null ? void 0 : app.setAppliance("eraser");
8530
+ app?.setAppliance("eraser");
8590
8531
  }
8591
8532
  function clear() {
8592
- app == null ? void 0 : app.cleanCurrentScene();
8533
+ app?.cleanCurrentScene();
8593
8534
  }
8594
8535
  function div2_binding($$value) {
8595
8536
  binding_callbacks[$$value ? "unshift" : "push"](() => {
@@ -8646,28 +8587,28 @@ function instance54($$self, $$props, $$invalidate) {
8646
8587
  $$invalidate(9, t = i18n4[language]);
8647
8588
  }
8648
8589
  if ($$self.$$.dirty[0] & 1) {
8649
- $$invalidate(32, hotkeys = app == null ? void 0 : app.hotKeys);
8590
+ $$invalidate(32, hotkeys = app?.hotKeys);
8650
8591
  }
8651
8592
  if ($$self.$$.dirty[0] & 512 | $$self.$$.dirty[1] & 2) {
8652
8593
  $$invalidate(18, c = {
8653
- clicker: tooltip(t.clicker, hotkeys == null ? void 0 : hotkeys.changeToClick),
8654
- selector: tooltip(t.selector, hotkeys == null ? void 0 : hotkeys.changeToSelector),
8655
- pencil: tooltip(t.pencil, hotkeys == null ? void 0 : hotkeys.changeToPencil),
8656
- eraser: tooltip(t.eraser, hotkeys == null ? void 0 : hotkeys.changeToEraser),
8657
- text: tooltip(t.text, hotkeys == null ? void 0 : hotkeys.changeToText)
8594
+ clicker: tooltip(t.clicker, hotkeys?.changeToClick),
8595
+ selector: tooltip(t.selector, hotkeys?.changeToSelector),
8596
+ pencil: tooltip(t.pencil, hotkeys?.changeToPencil),
8597
+ eraser: tooltip(t.eraser, hotkeys?.changeToEraser),
8598
+ text: tooltip(t.text, hotkeys?.changeToText)
8658
8599
  });
8659
8600
  }
8660
8601
  if ($$self.$$.dirty[0] & 1) {
8661
- $$subscribe_memberState($$invalidate(17, memberState = app == null ? void 0 : app.memberState));
8602
+ $$subscribe_memberState($$invalidate(17, memberState = app?.memberState));
8662
8603
  }
8663
8604
  if ($$self.$$.dirty[1] & 8) {
8664
- $$invalidate(8, appliance = $memberState == null ? void 0 : $memberState.currentApplianceName);
8605
+ $$invalidate(8, appliance = $memberState?.currentApplianceName);
8665
8606
  }
8666
8607
  if ($$self.$$.dirty[1] & 8) {
8667
- $$invalidate(7, shape = $memberState == null ? void 0 : $memberState.shapeType);
8608
+ $$invalidate(7, shape = $memberState?.shapeType);
8668
8609
  }
8669
8610
  if ($$self.$$.dirty[0] & 1) {
8670
- $$subscribe_status($$invalidate(16, status = app == null ? void 0 : app.appsStatus));
8611
+ $$subscribe_status($$invalidate(16, status = app?.appsStatus));
8671
8612
  }
8672
8613
  if ($$self.$$.dirty[0] & 384) {
8673
8614
  if (applianceShapes.includes(appliance)) {
@@ -8725,16 +8666,25 @@ function instance54($$self, $$props, $$invalidate) {
8725
8666
  var Contents = class extends SvelteComponent {
8726
8667
  constructor(options) {
8727
8668
  super();
8728
- init(this, options, instance54, create_fragment54, safe_not_equal, {
8729
- app: 0,
8730
- theme: 1,
8731
- language: 2,
8732
- disabled: 3,
8733
- scroll_height: 4,
8734
- computed_height: 31,
8735
- scrollable: 5,
8736
- hide_apps: 6
8737
- }, null, [-1, -1]);
8669
+ init(
8670
+ this,
8671
+ options,
8672
+ instance54,
8673
+ create_fragment54,
8674
+ safe_not_equal,
8675
+ {
8676
+ app: 0,
8677
+ theme: 1,
8678
+ language: 2,
8679
+ disabled: 3,
8680
+ scroll_height: 4,
8681
+ computed_height: 31,
8682
+ scrollable: 5,
8683
+ hide_apps: 6
8684
+ },
8685
+ null,
8686
+ [-1, -1]
8687
+ );
8738
8688
  }
8739
8689
  };
8740
8690
  var Contents_default = Contents;
@@ -8846,7 +8796,12 @@ function create_fragment55(ctx) {
8846
8796
  path1 = svg_element("path");
8847
8797
  if_block.c();
8848
8798
  attr(div0, "class", div0_class_value = name6 + "-contents " + ctx[1]);
8849
- set_style(div0, "height", ctx[5] ? ctx[6] + "px" : "auto", false);
8799
+ set_style(
8800
+ div0,
8801
+ "height",
8802
+ ctx[5] ? ctx[6] + "px" : "auto",
8803
+ false
8804
+ );
8850
8805
  attr(input, "type", "checkbox");
8851
8806
  attr(path0, "fill", "#fff");
8852
8807
  attr(path0, "stroke", "none");
@@ -8905,7 +8860,12 @@ function create_fragment55(ctx) {
8905
8860
  attr(div0, "class", div0_class_value);
8906
8861
  }
8907
8862
  if (dirty & 96) {
8908
- set_style(div0, "height", ctx2[5] ? ctx2[6] + "px" : "auto", false);
8863
+ set_style(
8864
+ div0,
8865
+ "height",
8866
+ ctx2[5] ? ctx2[6] + "px" : "auto",
8867
+ false
8868
+ );
8909
8869
  }
8910
8870
  if (dirty & 8) {
8911
8871
  input.checked = ctx2[3];
@@ -8986,9 +8946,8 @@ function instance55($$self, $$props, $$invalidate) {
8986
8946
  $$invalidate(11, config = $$props2.config);
8987
8947
  };
8988
8948
  $$self.$$.update = () => {
8989
- var _a;
8990
8949
  if ($$self.$$.dirty & 1) {
8991
- $$subscribe_writable($$invalidate(8, writable2 = app == null ? void 0 : app.writable));
8950
+ $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
8992
8951
  }
8993
8952
  if ($$self.$$.dirty & 16384) {
8994
8953
  $$invalidate(7, disabled = !$writable);
@@ -9000,7 +8959,7 @@ function instance55($$self, $$props, $$invalidate) {
9000
8959
  $$invalidate(5, scrollable = $scroll_height + extra_height > $container_height);
9001
8960
  }
9002
8961
  if ($$self.$$.dirty & 2048) {
9003
- $$invalidate(4, hide_apps = ((_a = config.apps) == null ? void 0 : _a.enable) === false);
8962
+ $$invalidate(4, hide_apps = config.apps?.enable === false);
9004
8963
  }
9005
8964
  };
9006
8965
  return [
@@ -9042,12 +9001,11 @@ function get_each_context5(ctx, list, i) {
9042
9001
  return child_ctx;
9043
9002
  }
9044
9003
  function create_else_block_13(ctx) {
9045
- var _a;
9046
9004
  let icon;
9047
9005
  let current;
9048
9006
  icon = new Icon_default({
9049
9007
  props: {
9050
- src: (_a = ctx[1]) == null ? void 0 : _a.play[ctx[5]],
9008
+ src: ctx[1]?.play[ctx[5]],
9051
9009
  alt: "[play]",
9052
9010
  $$slots: { default: [create_default_slot_54] },
9053
9011
  $$scope: { ctx }
@@ -9062,10 +9020,9 @@ function create_else_block_13(ctx) {
9062
9020
  current = true;
9063
9021
  },
9064
9022
  p(ctx2, dirty) {
9065
- var _a2;
9066
9023
  const icon_changes = {};
9067
9024
  if (dirty & 34)
9068
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.play[ctx2[5]];
9025
+ icon_changes.src = ctx2[1]?.play[ctx2[5]];
9069
9026
  if (dirty & 268435457) {
9070
9027
  icon_changes.$$scope = { dirty, ctx: ctx2 };
9071
9028
  }
@@ -9087,12 +9044,11 @@ function create_else_block_13(ctx) {
9087
9044
  };
9088
9045
  }
9089
9046
  function create_if_block_22(ctx) {
9090
- var _a;
9091
9047
  let icon;
9092
9048
  let current;
9093
9049
  icon = new Icon_default({
9094
9050
  props: {
9095
- src: (_a = ctx[1]) == null ? void 0 : _a.pause[ctx[5]],
9051
+ src: ctx[1]?.pause[ctx[5]],
9096
9052
  alt: "[pause]",
9097
9053
  $$slots: { default: [create_default_slot_44] },
9098
9054
  $$scope: { ctx }
@@ -9107,10 +9063,9 @@ function create_if_block_22(ctx) {
9107
9063
  current = true;
9108
9064
  },
9109
9065
  p(ctx2, dirty) {
9110
- var _a2;
9111
9066
  const icon_changes = {};
9112
9067
  if (dirty & 34)
9113
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.pause[ctx2[5]];
9068
+ icon_changes.src = ctx2[1]?.pause[ctx2[5]];
9114
9069
  if (dirty & 268435457) {
9115
9070
  icon_changes.$$scope = { dirty, ctx: ctx2 };
9116
9071
  }
@@ -9132,12 +9087,11 @@ function create_if_block_22(ctx) {
9132
9087
  };
9133
9088
  }
9134
9089
  function create_if_block_13(ctx) {
9135
- var _a;
9136
9090
  let icon;
9137
9091
  let current;
9138
9092
  icon = new Icon_default({
9139
9093
  props: {
9140
- src: (_a = ctx[1]) == null ? void 0 : _a.loading[ctx[5]],
9094
+ src: ctx[1]?.loading[ctx[5]],
9141
9095
  alt: "[loading]",
9142
9096
  $$slots: { default: [create_default_slot_35] },
9143
9097
  $$scope: { ctx }
@@ -9152,10 +9106,9 @@ function create_if_block_13(ctx) {
9152
9106
  current = true;
9153
9107
  },
9154
9108
  p(ctx2, dirty) {
9155
- var _a2;
9156
9109
  const icon_changes = {};
9157
9110
  if (dirty & 34)
9158
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.loading[ctx2[5]];
9111
+ icon_changes.src = ctx2[1]?.loading[ctx2[5]];
9159
9112
  if (dirty & 268435457) {
9160
9113
  icon_changes.$$scope = { dirty, ctx: ctx2 };
9161
9114
  }
@@ -9864,7 +9817,7 @@ function instance56($$self, $$props, $$invalidate) {
9864
9817
  $$invalidate(12, t = i18n6[language]);
9865
9818
  }
9866
9819
  if ($$self.$$.dirty & 524288) {
9867
- $$invalidate(21, canPlay = player == null ? void 0 : player.canplay);
9820
+ $$invalidate(21, canPlay = player?.canplay);
9868
9821
  }
9869
9822
  if ($$self.$$.dirty & 2097152) {
9870
9823
  $$invalidate(4, disabled = !canPlay);
@@ -9873,16 +9826,16 @@ function instance56($$self, $$props, $$invalidate) {
9873
9826
  $$invalidate(5, type = disabled ? "disable" : "normal");
9874
9827
  }
9875
9828
  if ($$self.$$.dirty & 524288) {
9876
- $$subscribe_duration($$invalidate(11, duration = player == null ? void 0 : player.duration));
9829
+ $$subscribe_duration($$invalidate(11, duration = player?.duration));
9877
9830
  }
9878
9831
  if ($$self.$$.dirty & 524288) {
9879
- $$subscribe_current($$invalidate(10, current = player == null ? void 0 : player.currentTime));
9832
+ $$subscribe_current($$invalidate(10, current = player?.currentTime));
9880
9833
  }
9881
9834
  if ($$self.$$.dirty & 524288) {
9882
- $$subscribe_playbackRate($$invalidate(9, playbackRate = player == null ? void 0 : player.playbackRate));
9835
+ $$subscribe_playbackRate($$invalidate(9, playbackRate = player?.playbackRate));
9883
9836
  }
9884
9837
  if ($$self.$$.dirty & 524288) {
9885
- $$subscribe_phase($$invalidate(8, phase = player == null ? void 0 : player.phase));
9838
+ $$subscribe_phase($$invalidate(8, phase = player?.phase));
9886
9839
  }
9887
9840
  if ($$self.$$.dirty & 4194304) {
9888
9841
  $$invalidate(3, loading = $phase === "waitingFirstFrame" || $phase === "buffering");
@@ -9936,29 +9889,69 @@ var PlayerControl = class extends SvelteComponent {
9936
9889
  var PlayerControl_default = PlayerControl;
9937
9890
 
9938
9891
  // src/components/Fastboard/ReplayFastboard.svelte
9939
- function create_fragment57(ctx) {
9940
- let div2;
9941
- let div0;
9942
- let t;
9943
- let div1;
9892
+ function create_if_block9(ctx) {
9944
9893
  let playercontrol;
9945
9894
  let current;
9946
- let mounted;
9947
- let dispose;
9948
9895
  playercontrol = new PlayerControl_default({
9949
9896
  props: {
9950
9897
  player: ctx[0],
9951
9898
  theme: ctx[1],
9952
- language: ctx[2]
9899
+ language: ctx[2],
9900
+ icons: ctx[3].player_control?.icons
9953
9901
  }
9954
9902
  });
9903
+ return {
9904
+ c() {
9905
+ create_component(playercontrol.$$.fragment);
9906
+ },
9907
+ m(target, anchor) {
9908
+ mount_component(playercontrol, target, anchor);
9909
+ current = true;
9910
+ },
9911
+ p(ctx2, dirty) {
9912
+ const playercontrol_changes = {};
9913
+ if (dirty & 1)
9914
+ playercontrol_changes.player = ctx2[0];
9915
+ if (dirty & 2)
9916
+ playercontrol_changes.theme = ctx2[1];
9917
+ if (dirty & 4)
9918
+ playercontrol_changes.language = ctx2[2];
9919
+ if (dirty & 8)
9920
+ playercontrol_changes.icons = ctx2[3].player_control?.icons;
9921
+ playercontrol.$set(playercontrol_changes);
9922
+ },
9923
+ i(local) {
9924
+ if (current)
9925
+ return;
9926
+ transition_in(playercontrol.$$.fragment, local);
9927
+ current = true;
9928
+ },
9929
+ o(local) {
9930
+ transition_out(playercontrol.$$.fragment, local);
9931
+ current = false;
9932
+ },
9933
+ d(detaching) {
9934
+ destroy_component(playercontrol, detaching);
9935
+ }
9936
+ };
9937
+ }
9938
+ function create_fragment57(ctx) {
9939
+ let div2;
9940
+ let div0;
9941
+ let t;
9942
+ let div1;
9943
+ let current;
9944
+ let mounted;
9945
+ let dispose;
9946
+ let if_block = ctx[3].player_control?.enable !== false && create_if_block9(ctx);
9955
9947
  return {
9956
9948
  c() {
9957
9949
  div2 = element("div");
9958
9950
  div0 = element("div");
9959
9951
  t = space();
9960
9952
  div1 = element("div");
9961
- create_component(playercontrol.$$.fragment);
9953
+ if (if_block)
9954
+ if_block.c();
9962
9955
  attr(div0, "class", name8 + "-view");
9963
9956
  attr(div1, "class", name8 + "-bottom");
9964
9957
  attr(div2, "class", name8 + "-root");
@@ -9967,25 +9960,37 @@ function create_fragment57(ctx) {
9967
9960
  m(target, anchor) {
9968
9961
  insert(target, div2, anchor);
9969
9962
  append(div2, div0);
9970
- ctx[6](div0);
9963
+ ctx[8](div0);
9971
9964
  append(div2, t);
9972
9965
  append(div2, div1);
9973
- mount_component(playercontrol, div1, null);
9966
+ if (if_block)
9967
+ if_block.m(div1, null);
9974
9968
  current = true;
9975
9969
  if (!mounted) {
9976
- dispose = listen(div0, "touchstart", tippy_hide_all, { passive: true, capture: true });
9970
+ dispose = listen(div0, "touchstart", ctx[5], { passive: true, capture: true });
9977
9971
  mounted = true;
9978
9972
  }
9979
9973
  },
9980
9974
  p(ctx2, [dirty]) {
9981
- const playercontrol_changes = {};
9982
- if (dirty & 1)
9983
- playercontrol_changes.player = ctx2[0];
9984
- if (dirty & 2)
9985
- playercontrol_changes.theme = ctx2[1];
9986
- if (dirty & 4)
9987
- playercontrol_changes.language = ctx2[2];
9988
- playercontrol.$set(playercontrol_changes);
9975
+ if (ctx2[3].player_control?.enable !== false) {
9976
+ if (if_block) {
9977
+ if_block.p(ctx2, dirty);
9978
+ if (dirty & 8) {
9979
+ transition_in(if_block, 1);
9980
+ }
9981
+ } else {
9982
+ if_block = create_if_block9(ctx2);
9983
+ if_block.c();
9984
+ transition_in(if_block, 1);
9985
+ if_block.m(div1, null);
9986
+ }
9987
+ } else if (if_block) {
9988
+ group_outros();
9989
+ transition_out(if_block, 1, 1, () => {
9990
+ if_block = null;
9991
+ });
9992
+ check_outros();
9993
+ }
9989
9994
  if (dirty & 1) {
9990
9995
  toggle_class(div2, "loading", !ctx2[0]);
9991
9996
  }
@@ -9993,18 +9998,19 @@ function create_fragment57(ctx) {
9993
9998
  i(local) {
9994
9999
  if (current)
9995
10000
  return;
9996
- transition_in(playercontrol.$$.fragment, local);
10001
+ transition_in(if_block);
9997
10002
  current = true;
9998
10003
  },
9999
10004
  o(local) {
10000
- transition_out(playercontrol.$$.fragment, local);
10005
+ transition_out(if_block);
10001
10006
  current = false;
10002
10007
  },
10003
10008
  d(detaching) {
10004
10009
  if (detaching)
10005
10010
  detach(div2);
10006
- ctx[6](null);
10007
- destroy_component(playercontrol);
10011
+ ctx[8](null);
10012
+ if (if_block)
10013
+ if_block.d();
10008
10014
  mounted = false;
10009
10015
  dispose();
10010
10016
  }
@@ -10015,6 +10021,7 @@ function instance57($$self, $$props, $$invalidate) {
10015
10021
  let { player = null } = $$props;
10016
10022
  let { theme = "light" } = $$props;
10017
10023
  let { language = "en" } = $$props;
10024
+ let { config = {} } = $$props;
10018
10025
  let { containerRef = void 0 } = $$props;
10019
10026
  let container;
10020
10027
  let mounted = false;
@@ -10027,10 +10034,15 @@ function instance57($$self, $$props, $$invalidate) {
10027
10034
  };
10028
10035
  }
10029
10036
  });
10037
+ function focus_me() {
10038
+ tippy_hide_all();
10039
+ let a = document.activeElement;
10040
+ a && a.blur && a.blur();
10041
+ }
10030
10042
  function div0_binding($$value) {
10031
10043
  binding_callbacks[$$value ? "unshift" : "push"](() => {
10032
10044
  container = $$value;
10033
- $$invalidate(3, container);
10045
+ $$invalidate(4, container);
10034
10046
  });
10035
10047
  }
10036
10048
  $$self.$$set = ($$props2) => {
@@ -10040,28 +10052,40 @@ function instance57($$self, $$props, $$invalidate) {
10040
10052
  $$invalidate(1, theme = $$props2.theme);
10041
10053
  if ("language" in $$props2)
10042
10054
  $$invalidate(2, language = $$props2.language);
10055
+ if ("config" in $$props2)
10056
+ $$invalidate(3, config = $$props2.config);
10043
10057
  if ("containerRef" in $$props2)
10044
- $$invalidate(4, containerRef = $$props2.containerRef);
10058
+ $$invalidate(6, containerRef = $$props2.containerRef);
10045
10059
  };
10046
10060
  $$self.$$.update = () => {
10047
- if ($$self.$$.dirty & 9) {
10061
+ if ($$self.$$.dirty & 17) {
10048
10062
  try {
10049
10063
  if (player && container) {
10050
10064
  player.bindContainer(container);
10051
- $$invalidate(5, mounted = true);
10065
+ $$invalidate(7, mounted = true);
10052
10066
  }
10053
10067
  } catch (err) {
10054
10068
  console.error("[fastboard] An error occurred while binding container");
10055
10069
  console.error(err);
10056
10070
  }
10057
10071
  }
10058
- if ($$self.$$.dirty & 35) {
10072
+ if ($$self.$$.dirty & 131) {
10059
10073
  if (player && theme && mounted) {
10060
10074
  player.manager.setPrefersColorScheme(theme);
10061
10075
  }
10062
10076
  }
10063
10077
  };
10064
- return [player, theme, language, container, containerRef, mounted, div0_binding];
10078
+ return [
10079
+ player,
10080
+ theme,
10081
+ language,
10082
+ config,
10083
+ container,
10084
+ focus_me,
10085
+ containerRef,
10086
+ mounted,
10087
+ div0_binding
10088
+ ];
10065
10089
  }
10066
10090
  var ReplayFastboard = class extends SvelteComponent {
10067
10091
  constructor(options) {
@@ -10070,7 +10094,8 @@ var ReplayFastboard = class extends SvelteComponent {
10070
10094
  player: 0,
10071
10095
  theme: 1,
10072
10096
  language: 2,
10073
- containerRef: 4
10097
+ config: 3,
10098
+ containerRef: 6
10074
10099
  });
10075
10100
  }
10076
10101
  };
@@ -10130,7 +10155,8 @@ function create_if_block_23(ctx) {
10130
10155
  props: {
10131
10156
  app: ctx[0],
10132
10157
  theme: ctx[1],
10133
- language: ctx[2]
10158
+ language: ctx[2],
10159
+ icons: ctx[3].redo_undo?.icons
10134
10160
  }
10135
10161
  });
10136
10162
  return {
@@ -10149,6 +10175,8 @@ function create_if_block_23(ctx) {
10149
10175
  redoundo_changes.theme = ctx2[1];
10150
10176
  if (dirty & 4)
10151
10177
  redoundo_changes.language = ctx2[2];
10178
+ if (dirty & 8)
10179
+ redoundo_changes.icons = ctx2[3].redo_undo?.icons;
10152
10180
  redoundo.$set(redoundo_changes);
10153
10181
  },
10154
10182
  i(local) {
@@ -10173,7 +10201,8 @@ function create_if_block_14(ctx) {
10173
10201
  props: {
10174
10202
  app: ctx[0],
10175
10203
  theme: ctx[1],
10176
- language: ctx[2]
10204
+ language: ctx[2],
10205
+ icons: ctx[3].zoom_control?.icons
10177
10206
  }
10178
10207
  });
10179
10208
  return {
@@ -10192,6 +10221,8 @@ function create_if_block_14(ctx) {
10192
10221
  zoomcontrol_changes.theme = ctx2[1];
10193
10222
  if (dirty & 4)
10194
10223
  zoomcontrol_changes.language = ctx2[2];
10224
+ if (dirty & 8)
10225
+ zoomcontrol_changes.icons = ctx2[3].zoom_control?.icons;
10195
10226
  zoomcontrol.$set(zoomcontrol_changes);
10196
10227
  },
10197
10228
  i(local) {
@@ -10209,14 +10240,15 @@ function create_if_block_14(ctx) {
10209
10240
  }
10210
10241
  };
10211
10242
  }
10212
- function create_if_block9(ctx) {
10243
+ function create_if_block10(ctx) {
10213
10244
  let pagecontrol;
10214
10245
  let current;
10215
10246
  pagecontrol = new PageControl_default({
10216
10247
  props: {
10217
10248
  app: ctx[0],
10218
10249
  theme: ctx[1],
10219
- language: ctx[2]
10250
+ language: ctx[2],
10251
+ icons: ctx[3].page_control?.icons
10220
10252
  }
10221
10253
  });
10222
10254
  return {
@@ -10235,6 +10267,8 @@ function create_if_block9(ctx) {
10235
10267
  pagecontrol_changes.theme = ctx2[1];
10236
10268
  if (dirty & 4)
10237
10269
  pagecontrol_changes.language = ctx2[2];
10270
+ if (dirty & 8)
10271
+ pagecontrol_changes.icons = ctx2[3].page_control?.icons;
10238
10272
  pagecontrol.$set(pagecontrol_changes);
10239
10273
  },
10240
10274
  i(local) {
@@ -10253,7 +10287,6 @@ function create_if_block9(ctx) {
10253
10287
  };
10254
10288
  }
10255
10289
  function create_fragment58(ctx) {
10256
- var _a, _b, _c, _d;
10257
10290
  let div4;
10258
10291
  let div0;
10259
10292
  let t0;
@@ -10266,10 +10299,10 @@ function create_fragment58(ctx) {
10266
10299
  let current;
10267
10300
  let mounted;
10268
10301
  let dispose;
10269
- let if_block0 = ((_a = ctx[3].toolbar) == null ? void 0 : _a.enable) !== false && create_if_block_32(ctx);
10270
- let if_block1 = ((_b = ctx[3].redo_undo) == null ? void 0 : _b.enable) !== false && create_if_block_23(ctx);
10271
- let if_block2 = ((_c = ctx[3].zoom_control) == null ? void 0 : _c.enable) !== false && create_if_block_14(ctx);
10272
- let if_block3 = ((_d = ctx[3].page_control) == null ? void 0 : _d.enable) !== false && create_if_block9(ctx);
10302
+ let if_block0 = ctx[3].toolbar?.enable !== false && create_if_block_32(ctx);
10303
+ let if_block1 = ctx[3].redo_undo?.enable !== false && create_if_block_23(ctx);
10304
+ let if_block2 = ctx[3].zoom_control?.enable !== false && create_if_block_14(ctx);
10305
+ let if_block3 = ctx[3].page_control?.enable !== false && create_if_block10(ctx);
10273
10306
  return {
10274
10307
  c() {
10275
10308
  div4 = element("div");
@@ -10302,7 +10335,7 @@ function create_fragment58(ctx) {
10302
10335
  m(target, anchor) {
10303
10336
  insert(target, div4, anchor);
10304
10337
  append(div4, div0);
10305
- ctx[14](div0);
10338
+ ctx[15](div0);
10306
10339
  append(div4, t0);
10307
10340
  append(div4, div1);
10308
10341
  if (if_block0)
@@ -10320,13 +10353,12 @@ function create_fragment58(ctx) {
10320
10353
  if_block3.m(div3, null);
10321
10354
  current = true;
10322
10355
  if (!mounted) {
10323
- dispose = listen(div0, "touchstart", tippy_hide_all, { passive: true, capture: true });
10356
+ dispose = listen(div0, "touchstart", ctx[9], { passive: true, capture: true });
10324
10357
  mounted = true;
10325
10358
  }
10326
10359
  },
10327
10360
  p(ctx2, [dirty]) {
10328
- var _a2, _b2, _c2, _d2;
10329
- if (((_a2 = ctx2[3].toolbar) == null ? void 0 : _a2.enable) !== false) {
10361
+ if (ctx2[3].toolbar?.enable !== false) {
10330
10362
  if (if_block0) {
10331
10363
  if_block0.p(ctx2, dirty);
10332
10364
  if (dirty & 8) {
@@ -10348,7 +10380,7 @@ function create_fragment58(ctx) {
10348
10380
  if (dirty & 32) {
10349
10381
  toggle_class(div1, "hidden", !(ctx2[5] === "visible" || ctx2[5] === "toolbar-only"));
10350
10382
  }
10351
- if (((_b2 = ctx2[3].redo_undo) == null ? void 0 : _b2.enable) !== false) {
10383
+ if (ctx2[3].redo_undo?.enable !== false) {
10352
10384
  if (if_block1) {
10353
10385
  if_block1.p(ctx2, dirty);
10354
10386
  if (dirty & 8) {
@@ -10367,7 +10399,7 @@ function create_fragment58(ctx) {
10367
10399
  });
10368
10400
  check_outros();
10369
10401
  }
10370
- if (((_c2 = ctx2[3].zoom_control) == null ? void 0 : _c2.enable) !== false) {
10402
+ if (ctx2[3].zoom_control?.enable !== false) {
10371
10403
  if (if_block2) {
10372
10404
  if_block2.p(ctx2, dirty);
10373
10405
  if (dirty & 8) {
@@ -10389,14 +10421,14 @@ function create_fragment58(ctx) {
10389
10421
  if (dirty & 32) {
10390
10422
  toggle_class(div2, "hidden", ctx2[5] !== "visible");
10391
10423
  }
10392
- if (((_d2 = ctx2[3].page_control) == null ? void 0 : _d2.enable) !== false) {
10424
+ if (ctx2[3].page_control?.enable !== false) {
10393
10425
  if (if_block3) {
10394
10426
  if_block3.p(ctx2, dirty);
10395
10427
  if (dirty & 8) {
10396
10428
  transition_in(if_block3, 1);
10397
10429
  }
10398
10430
  } else {
10399
- if_block3 = create_if_block9(ctx2);
10431
+ if_block3 = create_if_block10(ctx2);
10400
10432
  if_block3.c();
10401
10433
  transition_in(if_block3, 1);
10402
10434
  if_block3.m(div3, null);
@@ -10434,7 +10466,7 @@ function create_fragment58(ctx) {
10434
10466
  d(detaching) {
10435
10467
  if (detaching)
10436
10468
  detach(div4);
10437
- ctx[14](null);
10469
+ ctx[15](null);
10438
10470
  if (if_block0)
10439
10471
  if_block0.d();
10440
10472
  if (if_block1)
@@ -10453,9 +10485,9 @@ function instance58($$self, $$props, $$invalidate) {
10453
10485
  let writable2;
10454
10486
  let boxState;
10455
10487
  let focusedApp;
10456
- let $focusedApp, $$unsubscribe_focusedApp = noop, $$subscribe_focusedApp = () => ($$unsubscribe_focusedApp(), $$unsubscribe_focusedApp = subscribe(focusedApp, ($$value) => $$invalidate(11, $focusedApp = $$value)), focusedApp);
10457
- let $boxState, $$unsubscribe_boxState = noop, $$subscribe_boxState = () => ($$unsubscribe_boxState(), $$unsubscribe_boxState = subscribe(boxState, ($$value) => $$invalidate(12, $boxState = $$value)), boxState);
10458
- let $writable, $$unsubscribe_writable = noop, $$subscribe_writable = () => ($$unsubscribe_writable(), $$unsubscribe_writable = subscribe(writable2, ($$value) => $$invalidate(13, $writable = $$value)), writable2);
10488
+ let $focusedApp, $$unsubscribe_focusedApp = noop, $$subscribe_focusedApp = () => ($$unsubscribe_focusedApp(), $$unsubscribe_focusedApp = subscribe(focusedApp, ($$value) => $$invalidate(12, $focusedApp = $$value)), focusedApp);
10489
+ let $boxState, $$unsubscribe_boxState = noop, $$subscribe_boxState = () => ($$unsubscribe_boxState(), $$unsubscribe_boxState = subscribe(boxState, ($$value) => $$invalidate(13, $boxState = $$value)), boxState);
10490
+ let $writable, $$unsubscribe_writable = noop, $$subscribe_writable = () => ($$unsubscribe_writable(), $$unsubscribe_writable = subscribe(writable2, ($$value) => $$invalidate(14, $writable = $$value)), writable2);
10459
10491
  $$self.$$.on_destroy.push(() => $$unsubscribe_focusedApp());
10460
10492
  $$self.$$.on_destroy.push(() => $$unsubscribe_boxState());
10461
10493
  $$self.$$.on_destroy.push(() => $$unsubscribe_writable());
@@ -10477,6 +10509,11 @@ function instance58($$self, $$props, $$invalidate) {
10477
10509
  };
10478
10510
  }
10479
10511
  });
10512
+ function focus_me() {
10513
+ tippy_hide_all();
10514
+ let a = document.activeElement;
10515
+ a && a.blur && a.blur();
10516
+ }
10480
10517
  function div0_binding($$value) {
10481
10518
  binding_callbacks[$$value ? "unshift" : "push"](() => {
10482
10519
  container = $$value;
@@ -10491,21 +10528,21 @@ function instance58($$self, $$props, $$invalidate) {
10491
10528
  if ("language" in $$props2)
10492
10529
  $$invalidate(2, language = $$props2.language);
10493
10530
  if ("containerRef" in $$props2)
10494
- $$invalidate(9, containerRef = $$props2.containerRef);
10531
+ $$invalidate(10, containerRef = $$props2.containerRef);
10495
10532
  if ("config" in $$props2)
10496
10533
  $$invalidate(3, config = $$props2.config);
10497
10534
  };
10498
10535
  $$self.$$.update = () => {
10499
10536
  if ($$self.$$.dirty & 1) {
10500
- $$subscribe_writable($$invalidate(8, writable2 = app == null ? void 0 : app.writable));
10537
+ $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
10501
10538
  }
10502
10539
  if ($$self.$$.dirty & 1) {
10503
- $$subscribe_boxState($$invalidate(7, boxState = app == null ? void 0 : app.boxState));
10540
+ $$subscribe_boxState($$invalidate(7, boxState = app?.boxState));
10504
10541
  }
10505
10542
  if ($$self.$$.dirty & 1) {
10506
- $$subscribe_focusedApp($$invalidate(6, focusedApp = app == null ? void 0 : app.focusedApp));
10543
+ $$subscribe_focusedApp($$invalidate(6, focusedApp = app?.focusedApp));
10507
10544
  }
10508
- if ($$self.$$.dirty & 14336) {
10545
+ if ($$self.$$.dirty & 28672) {
10509
10546
  if (!$writable) {
10510
10547
  $$invalidate(5, layout = "hidden");
10511
10548
  } else if ($boxState === "maximized") {
@@ -10522,14 +10559,14 @@ function instance58($$self, $$props, $$invalidate) {
10522
10559
  try {
10523
10560
  if (app && container) {
10524
10561
  app.bindContainer(container);
10525
- $$invalidate(10, mounted = true);
10562
+ $$invalidate(11, mounted = true);
10526
10563
  }
10527
10564
  } catch (err) {
10528
10565
  console.error("[fastboard] An error occurred while binding container");
10529
10566
  console.error(err);
10530
10567
  }
10531
10568
  }
10532
- if ($$self.$$.dirty & 1027) {
10569
+ if ($$self.$$.dirty & 2051) {
10533
10570
  if (app && theme && mounted) {
10534
10571
  app.manager.setPrefersColorScheme(theme);
10535
10572
  }
@@ -10545,6 +10582,7 @@ function instance58($$self, $$props, $$invalidate) {
10545
10582
  focusedApp,
10546
10583
  boxState,
10547
10584
  writable2,
10585
+ focus_me,
10548
10586
  containerRef,
10549
10587
  mounted,
10550
10588
  $focusedApp,
@@ -10560,7 +10598,7 @@ var Fastboard = class extends SvelteComponent {
10560
10598
  app: 0,
10561
10599
  theme: 1,
10562
10600
  language: 2,
10563
- containerRef: 9,
10601
+ containerRef: 10,
10564
10602
  config: 3
10565
10603
  });
10566
10604
  }
@@ -10570,72 +10608,79 @@ var Fastboard_default = Fastboard;
10570
10608
  // src/helpers/index.ts
10571
10609
  function createUI(app, div) {
10572
10610
  let fastboard;
10573
- const ui = {
10574
- mount(div2, props) {
10575
- if (fastboard) {
10576
- fastboard.$destroy();
10577
- }
10578
- fastboard = new Fastboard_default({ target: div2, props: __spreadValues({ app }, props) });
10579
- return ui;
10580
- },
10581
- update(props) {
10582
- if (fastboard) {
10583
- fastboard.$set(props);
10584
- }
10585
- },
10586
- destroy() {
10587
- if (fastboard) {
10588
- fastboard.$destroy();
10589
- }
10590
- fastboard = void 0;
10611
+ function mount(div2, props) {
10612
+ if (fastboard) {
10613
+ fastboard.$destroy();
10591
10614
  }
10592
- };
10615
+ fastboard = new Fastboard_default({ target: div2, props: { app, ...props } });
10616
+ return ui;
10617
+ }
10618
+ function update2(props) {
10619
+ if (fastboard) {
10620
+ fastboard.$set(props);
10621
+ }
10622
+ }
10623
+ function destroy() {
10624
+ if (fastboard) {
10625
+ fastboard.$destroy();
10626
+ }
10627
+ fastboard = void 0;
10628
+ }
10629
+ function setElement(div2) {
10630
+ if (div2) {
10631
+ mount(div2);
10632
+ } else {
10633
+ destroy();
10634
+ }
10635
+ }
10636
+ const ui = { mount, update: update2, destroy, setElement };
10593
10637
  if (div) {
10594
- ui.mount(div);
10638
+ mount(div, { app });
10595
10639
  }
10596
10640
  return ui;
10597
10641
  }
10598
10642
  function createReplayUI(player, div) {
10599
10643
  let fastboard;
10600
- const ui = {
10601
- mount(div2, props) {
10602
- if (fastboard) {
10603
- fastboard.$destroy();
10604
- }
10605
- fastboard = new ReplayFastboard_default({ target: div2, props: __spreadValues({ player }, props) });
10606
- return ui;
10607
- },
10608
- update(props) {
10609
- if (fastboard) {
10610
- fastboard.$set(props);
10611
- }
10612
- },
10613
- destroy() {
10614
- if (fastboard) {
10615
- fastboard.$destroy();
10616
- }
10617
- fastboard = void 0;
10644
+ function mount(div2, props) {
10645
+ if (fastboard) {
10646
+ fastboard.$destroy();
10618
10647
  }
10619
- };
10648
+ fastboard = new ReplayFastboard_default({ target: div2, props: { player, ...props } });
10649
+ return ui;
10650
+ }
10651
+ function update2(props) {
10652
+ if (fastboard) {
10653
+ fastboard.$set(props);
10654
+ }
10655
+ }
10656
+ function destroy() {
10657
+ if (fastboard) {
10658
+ fastboard.$destroy();
10659
+ }
10660
+ fastboard = void 0;
10661
+ }
10662
+ function setElement(div2) {
10663
+ if (div2) {
10664
+ mount(div2);
10665
+ } else {
10666
+ destroy();
10667
+ }
10668
+ }
10669
+ const ui = { mount, update: update2, destroy, setElement };
10620
10670
  if (div) {
10621
- ui.mount(div);
10671
+ mount(div, { player });
10622
10672
  }
10623
10673
  return ui;
10624
10674
  }
10625
10675
 
10626
- // inline-sass-helper:inline-sass-style-helper.js
10627
- function injectStyle(text2) {
10628
- if (typeof document !== "undefined") {
10629
- var style = document.createElement("style");
10630
- var node = document.createTextNode(text2);
10631
- style.appendChild(node);
10632
- document.head.appendChild(style);
10633
- }
10634
- }
10635
-
10636
- // inline-sass-content:./src/style.scss
10637
- 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}';
10638
-
10639
- // inline-sass-stub:./src/style.scss
10640
- injectStyle(style_default);
10676
+ exports.Fastboard = Fastboard_default;
10677
+ exports.PageControl = PageControl_default;
10678
+ exports.PlayerControl = PlayerControl_default;
10679
+ exports.RedoUndo = RedoUndo_default;
10680
+ exports.ReplayFastboard = ReplayFastboard_default;
10681
+ exports.Toolbar = Toolbar_default;
10682
+ exports.ZoomControl = ZoomControl_default;
10683
+ exports.apps = apps;
10684
+ exports.createReplayUI = createReplayUI;
10685
+ exports.createUI = createUI;
10641
10686
  //# sourceMappingURL=index.js.map