@netless/fastboard-ui 1.0.0-canary.1 → 1.0.0-canary.4

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.
@@ -3,25 +3,21 @@ import Tippy from 'tippy.js';
3
3
  import { writable } from 'svelte/store';
4
4
  import { onMount, createEventDispatcher } from 'svelte';
5
5
 
6
- var __defProp = Object.defineProperty;
7
- var __defProps = Object.defineProperties;
8
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
9
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
- var __hasOwnProp = Object.prototype.hasOwnProperty;
11
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {}))
15
- if (__hasOwnProp.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- if (__getOwnPropSymbols)
18
- for (var prop of __getOwnPropSymbols(b)) {
19
- if (__propIsEnum.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- }
22
- return a;
23
- };
24
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6
+ // inline-sass-helper:inline-sass-style-helper.js
7
+ function injectStyle(text4) {
8
+ if (typeof document !== "undefined") {
9
+ var style = document.createElement("style");
10
+ var node = document.createTextNode(text4);
11
+ style.appendChild(node);
12
+ document.head.appendChild(style);
13
+ }
14
+ }
15
+
16
+ // inline-sass-content:./src/style.scss
17
+ 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}';
18
+
19
+ // inline-sass-stub:./src/style.scss
20
+ injectStyle(style_default);
25
21
  function create_else_block(ctx) {
26
22
  let current;
27
23
  const default_slot_template = ctx[4].default;
@@ -40,7 +36,14 @@ function create_else_block(ctx) {
40
36
  p(ctx2, dirty) {
41
37
  if (default_slot) {
42
38
  if (default_slot.p && (!current || dirty & 8)) {
43
- 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);
39
+ update_slot_base(
40
+ default_slot,
41
+ default_slot_template,
42
+ ctx2,
43
+ ctx2[3],
44
+ !current ? get_all_dirty_from_scope(ctx2[3]) : get_slot_changes(default_slot_template, ctx2[3], dirty, null),
45
+ null
46
+ );
44
47
  }
45
48
  }
46
49
  },
@@ -2801,8 +2804,7 @@ if (is_client) {
2801
2804
  }
2802
2805
  }
2803
2806
  function remove() {
2804
- var _a;
2805
- (_a = instance59.popper.firstElementChild) == null ? void 0 : _a.classList.remove("fastboard-tip");
2807
+ instance59.popper.firstElementChild?.classList.remove("fastboard-tip");
2806
2808
  }
2807
2809
  return {
2808
2810
  onCreate: add,
@@ -2826,11 +2828,13 @@ var tippy = function(node, props) {
2826
2828
  };
2827
2829
  };
2828
2830
  function tippy_hide_all() {
2829
- document.querySelectorAll("[data-tippy-root]").forEach((el) => {
2830
- const instance59 = el._tippy;
2831
- if (instance59)
2832
- instance59.hide();
2833
- });
2831
+ document.querySelectorAll("[data-tippy-root]").forEach(tippy_hide);
2832
+ }
2833
+ function tippy_hide(el) {
2834
+ const instance59 = el._tippy;
2835
+ if (instance59) {
2836
+ instance59.hide();
2837
+ }
2834
2838
  }
2835
2839
  var tippy_menu = {
2836
2840
  delay: 0,
@@ -2871,7 +2875,14 @@ function create_else_block_1(ctx) {
2871
2875
  p(ctx2, dirty) {
2872
2876
  if (default_slot) {
2873
2877
  if (default_slot.p && (!current || dirty & 256)) {
2874
- 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);
2878
+ update_slot_base(
2879
+ default_slot,
2880
+ default_slot_template,
2881
+ ctx2,
2882
+ ctx2[8],
2883
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
2884
+ null
2885
+ );
2875
2886
  }
2876
2887
  }
2877
2888
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3002,7 +3013,14 @@ function create_else_block2(ctx) {
3002
3013
  p(ctx2, dirty) {
3003
3014
  if (default_slot) {
3004
3015
  if (default_slot.p && (!current || dirty & 256)) {
3005
- 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);
3016
+ update_slot_base(
3017
+ default_slot,
3018
+ default_slot_template,
3019
+ ctx2,
3020
+ ctx2[8],
3021
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3022
+ null
3023
+ );
3006
3024
  }
3007
3025
  }
3008
3026
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3078,14 +3096,14 @@ function create_if_block_1(ctx) {
3078
3096
  if (!mounted) {
3079
3097
  dispose = [
3080
3098
  listen(button, "click", ctx[10]),
3081
- action_destroyer(tippy_action = tippy.call(null, button, __spreadProps(__spreadValues({
3082
- content: ctx[6]
3083
- }, tippy_menu), {
3099
+ action_destroyer(tippy_action = tippy.call(null, button, {
3100
+ content: ctx[6],
3101
+ ...tippy_menu,
3084
3102
  placement: ctx[7],
3085
3103
  appendTo: document.body,
3086
3104
  theme: ctx[2],
3087
3105
  className: "fastboard-panel"
3088
- }))),
3106
+ })),
3089
3107
  action_destroyer(tippy_action_1 = tippy.call(null, span1, {
3090
3108
  content: ctx[4],
3091
3109
  placement: ctx[5],
@@ -3098,7 +3116,14 @@ function create_if_block_1(ctx) {
3098
3116
  p(ctx2, dirty) {
3099
3117
  if (default_slot) {
3100
3118
  if (default_slot.p && (!current || dirty & 256)) {
3101
- 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);
3119
+ update_slot_base(
3120
+ default_slot,
3121
+ default_slot_template,
3122
+ ctx2,
3123
+ ctx2[8],
3124
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3125
+ null
3126
+ );
3102
3127
  }
3103
3128
  }
3104
3129
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3108,14 +3133,14 @@ function create_if_block_1(ctx) {
3108
3133
  button.disabled = ctx2[3];
3109
3134
  }
3110
3135
  if (tippy_action && is_function(tippy_action.update) && dirty & 196)
3111
- tippy_action.update.call(null, __spreadProps(__spreadValues({
3112
- content: ctx2[6]
3113
- }, tippy_menu), {
3136
+ tippy_action.update.call(null, {
3137
+ content: ctx2[6],
3138
+ ...tippy_menu,
3114
3139
  placement: ctx2[7],
3115
3140
  appendTo: document.body,
3116
3141
  theme: ctx2[2],
3117
3142
  className: "fastboard-panel"
3118
- }));
3143
+ });
3119
3144
  if (!current || dirty & 2 && span0_class_value !== (span0_class_value = ctx2[1] + "-triangle")) {
3120
3145
  attr(span0, "class", span0_class_value);
3121
3146
  }
@@ -3319,12 +3344,11 @@ function create_default_slot_3(ctx) {
3319
3344
  };
3320
3345
  }
3321
3346
  function create_default_slot_2(ctx) {
3322
- var _a;
3323
3347
  let icon;
3324
3348
  let current;
3325
3349
  icon = new Icon_default({
3326
3350
  props: {
3327
- src: (_a = ctx[1]) == null ? void 0 : _a.undo[ctx[2]],
3351
+ src: ctx[1]?.undo[ctx[2]],
3328
3352
  alt: "[undo]",
3329
3353
  $$slots: { default: [create_default_slot_3] },
3330
3354
  $$scope: { ctx }
@@ -3339,10 +3363,9 @@ function create_default_slot_2(ctx) {
3339
3363
  current = true;
3340
3364
  },
3341
3365
  p(ctx2, dirty) {
3342
- var _a2;
3343
3366
  const icon_changes = {};
3344
3367
  if (dirty & 6)
3345
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.undo[ctx2[2]];
3368
+ icon_changes.src = ctx2[1]?.undo[ctx2[2]];
3346
3369
  if (dirty & 131073) {
3347
3370
  icon_changes.$$scope = { dirty, ctx: ctx2 };
3348
3371
  }
@@ -3397,12 +3420,11 @@ function create_default_slot_1(ctx) {
3397
3420
  };
3398
3421
  }
3399
3422
  function create_default_slot(ctx) {
3400
- var _a;
3401
3423
  let icon;
3402
3424
  let current;
3403
3425
  icon = new Icon_default({
3404
3426
  props: {
3405
- src: (_a = ctx[1]) == null ? void 0 : _a.redo[ctx[2]],
3427
+ src: ctx[1]?.redo[ctx[2]],
3406
3428
  alt: "[redo]",
3407
3429
  $$slots: { default: [create_default_slot_1] },
3408
3430
  $$scope: { ctx }
@@ -3417,10 +3439,9 @@ function create_default_slot(ctx) {
3417
3439
  current = true;
3418
3440
  },
3419
3441
  p(ctx2, dirty) {
3420
- var _a2;
3421
3442
  const icon_changes = {};
3422
3443
  if (dirty & 6)
3423
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.redo[ctx2[2]];
3444
+ icon_changes.src = ctx2[1]?.redo[ctx2[2]];
3424
3445
  if (dirty & 131073) {
3425
3446
  icon_changes.$$scope = { dirty, ctx: ctx2 };
3426
3447
  }
@@ -3562,10 +3583,10 @@ function instance46($$self, $$props, $$invalidate) {
3562
3583
  let { icons = void 0 } = $$props;
3563
3584
  let type;
3564
3585
  function undo() {
3565
- app == null ? void 0 : app.undo();
3586
+ app?.undo();
3566
3587
  }
3567
3588
  function redo() {
3568
- app == null ? void 0 : app.redo();
3589
+ app?.redo();
3569
3590
  }
3570
3591
  $$self.$$set = ($$props2) => {
3571
3592
  if ("app" in $$props2)
@@ -3579,7 +3600,7 @@ function instance46($$self, $$props, $$invalidate) {
3579
3600
  };
3580
3601
  $$self.$$.update = () => {
3581
3602
  if ($$self.$$.dirty & 2048) {
3582
- $$subscribe_writable($$invalidate(8, writable2 = app == null ? void 0 : app.writable));
3603
+ $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
3583
3604
  }
3584
3605
  if ($$self.$$.dirty & 65536) {
3585
3606
  $$invalidate(13, disabled = !$writable);
@@ -3591,10 +3612,10 @@ function instance46($$self, $$props, $$invalidate) {
3591
3612
  $$invalidate(2, type = disabled ? "disable" : "normal");
3592
3613
  }
3593
3614
  if ($$self.$$.dirty & 2048) {
3594
- $$subscribe_undoSteps($$invalidate(6, undoSteps = app == null ? void 0 : app.canUndoSteps));
3615
+ $$subscribe_undoSteps($$invalidate(6, undoSteps = app?.canUndoSteps));
3595
3616
  }
3596
3617
  if ($$self.$$.dirty & 2048) {
3597
- $$subscribe_redoSteps($$invalidate(5, redoSteps = app == null ? void 0 : app.canRedoSteps));
3618
+ $$subscribe_redoSteps($$invalidate(5, redoSteps = app?.canRedoSteps));
3598
3619
  }
3599
3620
  if ($$self.$$.dirty & 40960) {
3600
3621
  $$invalidate(4, undo_disabled = disabled || !$undoSteps);
@@ -3669,12 +3690,11 @@ function create_default_slot_5(ctx) {
3669
3690
  };
3670
3691
  }
3671
3692
  function create_default_slot_4(ctx) {
3672
- var _a;
3673
3693
  let icon;
3674
3694
  let current;
3675
3695
  icon = new Icon_default({
3676
3696
  props: {
3677
- src: (_a = ctx[1]) == null ? void 0 : _a.prev[ctx[5]],
3697
+ src: ctx[1]?.prev[ctx[5]],
3678
3698
  alt: "[prev]",
3679
3699
  $$slots: { default: [create_default_slot_5] },
3680
3700
  $$scope: { ctx }
@@ -3689,10 +3709,9 @@ function create_default_slot_4(ctx) {
3689
3709
  current = true;
3690
3710
  },
3691
3711
  p(ctx2, dirty) {
3692
- var _a2;
3693
3712
  const icon_changes = {};
3694
3713
  if (dirty & 34)
3695
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.prev[ctx2[5]];
3714
+ icon_changes.src = ctx2[1]?.prev[ctx2[5]];
3696
3715
  if (dirty & 262145) {
3697
3716
  icon_changes.$$scope = { dirty, ctx: ctx2 };
3698
3717
  }
@@ -3795,12 +3814,11 @@ function create_default_slot_32(ctx) {
3795
3814
  };
3796
3815
  }
3797
3816
  function create_default_slot_22(ctx) {
3798
- var _a;
3799
3817
  let icon;
3800
3818
  let current;
3801
3819
  icon = new Icon_default({
3802
3820
  props: {
3803
- src: (_a = ctx[1]) == null ? void 0 : _a.next[ctx[5]],
3821
+ src: ctx[1]?.next[ctx[5]],
3804
3822
  alt: "[next]",
3805
3823
  $$slots: { default: [create_default_slot_32] },
3806
3824
  $$scope: { ctx }
@@ -3815,10 +3833,9 @@ function create_default_slot_22(ctx) {
3815
3833
  current = true;
3816
3834
  },
3817
3835
  p(ctx2, dirty) {
3818
- var _a2;
3819
3836
  const icon_changes = {};
3820
3837
  if (dirty & 34)
3821
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.next[ctx2[5]];
3838
+ icon_changes.src = ctx2[1]?.next[ctx2[5]];
3822
3839
  if (dirty & 262145) {
3823
3840
  icon_changes.$$scope = { dirty, ctx: ctx2 };
3824
3841
  }
@@ -3873,12 +3890,11 @@ function create_default_slot_12(ctx) {
3873
3890
  };
3874
3891
  }
3875
3892
  function create_default_slot2(ctx) {
3876
- var _a;
3877
3893
  let icon;
3878
3894
  let current;
3879
3895
  icon = new Icon_default({
3880
3896
  props: {
3881
- src: (_a = ctx[1]) == null ? void 0 : _a.add[ctx[5]],
3897
+ src: ctx[1]?.add[ctx[5]],
3882
3898
  alt: "[add]",
3883
3899
  $$slots: { default: [create_default_slot_12] },
3884
3900
  $$scope: { ctx }
@@ -3893,10 +3909,9 @@ function create_default_slot2(ctx) {
3893
3909
  current = true;
3894
3910
  },
3895
3911
  p(ctx2, dirty) {
3896
- var _a2;
3897
3912
  const icon_changes = {};
3898
3913
  if (dirty & 34)
3899
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.add[ctx2[5]];
3914
+ icon_changes.src = ctx2[1]?.add[ctx2[5]];
3900
3915
  if (dirty & 262145) {
3901
3916
  icon_changes.$$scope = { dirty, ctx: ctx2 };
3902
3917
  }
@@ -4106,14 +4121,14 @@ function instance47($$self, $$props, $$invalidate) {
4106
4121
  let { icons = void 0 } = $$props;
4107
4122
  let type;
4108
4123
  function prevPage() {
4109
- app == null ? void 0 : app.prevPage();
4124
+ app?.prevPage();
4110
4125
  }
4111
4126
  function nextPage() {
4112
- app == null ? void 0 : app.nextPage();
4127
+ app?.nextPage();
4113
4128
  }
4114
4129
  function addPage() {
4115
- app == null ? void 0 : app.addPage({ after: true });
4116
- app == null ? void 0 : app.nextPage();
4130
+ app?.addPage({ after: true });
4131
+ app?.nextPage();
4117
4132
  }
4118
4133
  $$self.$$set = ($$props2) => {
4119
4134
  if ("app" in $$props2)
@@ -4127,7 +4142,7 @@ function instance47($$self, $$props, $$invalidate) {
4127
4142
  };
4128
4143
  $$self.$$.update = () => {
4129
4144
  if ($$self.$$.dirty & 32768) {
4130
- $$subscribe_writable($$invalidate(11, writable2 = app == null ? void 0 : app.writable));
4145
+ $$subscribe_writable($$invalidate(11, writable2 = app?.writable));
4131
4146
  }
4132
4147
  if ($$self.$$.dirty & 131072) {
4133
4148
  $$invalidate(2, disabled = !$writable);
@@ -4139,10 +4154,10 @@ function instance47($$self, $$props, $$invalidate) {
4139
4154
  $$invalidate(5, type = disabled ? "disable" : "normal");
4140
4155
  }
4141
4156
  if ($$self.$$.dirty & 32768) {
4142
- $$subscribe_index($$invalidate(9, index = app == null ? void 0 : app.sceneIndex));
4157
+ $$subscribe_index($$invalidate(9, index = app?.pageIndex));
4143
4158
  }
4144
4159
  if ($$self.$$.dirty & 32768) {
4145
- $$subscribe_length($$invalidate(8, length = app == null ? void 0 : app.sceneLength));
4160
+ $$subscribe_length($$invalidate(8, length = app?.pageLength));
4146
4161
  }
4147
4162
  if ($$self.$$.dirty & 20) {
4148
4163
  $$invalidate(7, prev_disabled = disabled || !$index);
@@ -4225,12 +4240,11 @@ function create_default_slot_52(ctx) {
4225
4240
  };
4226
4241
  }
4227
4242
  function create_default_slot_42(ctx) {
4228
- var _a;
4229
4243
  let icon;
4230
4244
  let current;
4231
4245
  icon = new Icon_default({
4232
4246
  props: {
4233
- src: (_a = ctx[1]) == null ? void 0 : _a.plus[ctx[4]],
4247
+ src: ctx[1]?.plus[ctx[4]],
4234
4248
  alt: "[plus]",
4235
4249
  $$slots: { default: [create_default_slot_52] },
4236
4250
  $$scope: { ctx }
@@ -4245,10 +4259,9 @@ function create_default_slot_42(ctx) {
4245
4259
  current = true;
4246
4260
  },
4247
4261
  p(ctx2, dirty) {
4248
- var _a2;
4249
4262
  const icon_changes = {};
4250
4263
  if (dirty & 18)
4251
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.plus[ctx2[4]];
4264
+ icon_changes.src = ctx2[1]?.plus[ctx2[4]];
4252
4265
  if (dirty & 262145) {
4253
4266
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4254
4267
  }
@@ -4343,12 +4356,11 @@ function create_default_slot_33(ctx) {
4343
4356
  };
4344
4357
  }
4345
4358
  function create_default_slot_23(ctx) {
4346
- var _a;
4347
4359
  let icon;
4348
4360
  let current;
4349
4361
  icon = new Icon_default({
4350
4362
  props: {
4351
- src: (_a = ctx[1]) == null ? void 0 : _a.minus[ctx[4]],
4363
+ src: ctx[1]?.minus[ctx[4]],
4352
4364
  alt: "[minus]",
4353
4365
  $$slots: { default: [create_default_slot_33] },
4354
4366
  $$scope: { ctx }
@@ -4363,10 +4375,9 @@ function create_default_slot_23(ctx) {
4363
4375
  current = true;
4364
4376
  },
4365
4377
  p(ctx2, dirty) {
4366
- var _a2;
4367
4378
  const icon_changes = {};
4368
4379
  if (dirty & 18)
4369
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.minus[ctx2[4]];
4380
+ icon_changes.src = ctx2[1]?.minus[ctx2[4]];
4370
4381
  if (dirty & 262145) {
4371
4382
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4372
4383
  }
@@ -4421,12 +4432,11 @@ function create_default_slot_13(ctx) {
4421
4432
  };
4422
4433
  }
4423
4434
  function create_default_slot3(ctx) {
4424
- var _a;
4425
4435
  let icon;
4426
4436
  let current;
4427
4437
  icon = new Icon_default({
4428
4438
  props: {
4429
- src: (_a = ctx[1]) == null ? void 0 : _a.reset[ctx[4]],
4439
+ src: ctx[1]?.reset[ctx[4]],
4430
4440
  alt: "[reset]",
4431
4441
  $$slots: { default: [create_default_slot_13] },
4432
4442
  $$scope: { ctx }
@@ -4441,10 +4451,9 @@ function create_default_slot3(ctx) {
4441
4451
  current = true;
4442
4452
  },
4443
4453
  p(ctx2, dirty) {
4444
- var _a2;
4445
4454
  const icon_changes = {};
4446
4455
  if (dirty & 18)
4447
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.reset[ctx2[4]];
4456
+ icon_changes.src = ctx2[1]?.reset[ctx2[4]];
4448
4457
  if (dirty & 262145) {
4449
4458
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4450
4459
  }
@@ -4682,21 +4691,21 @@ function instance48($$self, $$props, $$invalidate) {
4682
4691
  let { icons = void 0 } = $$props;
4683
4692
  let type;
4684
4693
  function plus() {
4685
- app == null ? void 0 : app.moveCamera({
4694
+ app?.moveCamera({
4686
4695
  scale: next_scale(scale, 1),
4687
4696
  centerX: 0,
4688
4697
  centerY: 0
4689
4698
  });
4690
4699
  }
4691
4700
  function minus() {
4692
- app == null ? void 0 : app.moveCamera({
4701
+ app?.moveCamera({
4693
4702
  scale: next_scale(scale, -1),
4694
4703
  centerX: 0,
4695
4704
  centerY: 0
4696
4705
  });
4697
4706
  }
4698
4707
  function reset() {
4699
- app == null ? void 0 : app.moveCamera({ scale: 1, centerX: 0, centerY: 0 });
4708
+ app?.moveCamera({ scale: 1, centerX: 0, centerY: 0 });
4700
4709
  }
4701
4710
  $$self.$$set = ($$props2) => {
4702
4711
  if ("app" in $$props2)
@@ -4709,9 +4718,8 @@ function instance48($$self, $$props, $$invalidate) {
4709
4718
  $$invalidate(1, icons = $$props2.icons);
4710
4719
  };
4711
4720
  $$self.$$.update = () => {
4712
- var _a;
4713
4721
  if ($$self.$$.dirty & 16384) {
4714
- $$subscribe_writable($$invalidate(10, writable2 = app == null ? void 0 : app.writable));
4722
+ $$subscribe_writable($$invalidate(10, writable2 = app?.writable));
4715
4723
  }
4716
4724
  if ($$self.$$.dirty & 131072) {
4717
4725
  $$invalidate(2, disabled = !$writable);
@@ -4723,10 +4731,10 @@ function instance48($$self, $$props, $$invalidate) {
4723
4731
  $$invalidate(4, type = disabled ? "disable" : "normal");
4724
4732
  }
4725
4733
  if ($$self.$$.dirty & 16384) {
4726
- $$subscribe_camera($$invalidate(8, camera = app == null ? void 0 : app.camera));
4734
+ $$subscribe_camera($$invalidate(8, camera = app?.baseCamera));
4727
4735
  }
4728
4736
  if ($$self.$$.dirty & 8) {
4729
- $$invalidate(16, scale = (_a = $camera == null ? void 0 : $camera.scale) != null ? _a : 1);
4737
+ $$invalidate(16, scale = $camera?.scale ?? 1);
4730
4738
  }
4731
4739
  if ($$self.$$.dirty & 65540) {
4732
4740
  $$invalidate(7, plus_disabled = disabled || next_scale(scale, 1) <= scale);
@@ -4899,8 +4907,8 @@ var scrollTop = function(node, value) {
4899
4907
  var AppsInToolbar = class {
4900
4908
  constructor(_data) {
4901
4909
  this._data = _data;
4902
- this._listeners = [];
4903
4910
  }
4911
+ _listeners = [];
4904
4912
  get data() {
4905
4913
  return this._data;
4906
4914
  }
@@ -5174,7 +5182,7 @@ function instance50($$self, $$props, $$invalidate) {
5174
5182
  let { theme = "light" } = $$props;
5175
5183
  let { disabled = false } = $$props;
5176
5184
  function set_stroke_width({ detail: value2 }) {
5177
- app == null ? void 0 : app.setStrokeWidth(value2);
5185
+ app?.setStrokeWidth(value2);
5178
5186
  }
5179
5187
  $$self.$$set = ($$props2) => {
5180
5188
  if ("app" in $$props2)
@@ -5185,12 +5193,11 @@ function instance50($$self, $$props, $$invalidate) {
5185
5193
  $$invalidate(5, disabled = $$props2.disabled);
5186
5194
  };
5187
5195
  $$self.$$.update = () => {
5188
- var _a;
5189
5196
  if ($$self.$$.dirty & 8) {
5190
- $$subscribe_memberState($$invalidate(1, memberState = app == null ? void 0 : app.memberState));
5197
+ $$subscribe_memberState($$invalidate(1, memberState = app?.memberState));
5191
5198
  }
5192
5199
  if ($$self.$$.dirty & 128) {
5193
- $$invalidate(6, value = (_a = $memberState == null ? void 0 : $memberState.strokeWidth) != null ? _a : 1);
5200
+ $$invalidate(6, value = $memberState?.strokeWidth ?? 1);
5194
5201
  }
5195
5202
  if ($$self.$$.dirty & 112) {
5196
5203
  $$invalidate(0, props = { value, theme, disabled });
@@ -5346,10 +5353,10 @@ function instance51($$self, $$props, $$invalidate) {
5346
5353
  };
5347
5354
  $$self.$$.update = () => {
5348
5355
  if ($$self.$$.dirty & 32) {
5349
- $$subscribe_memberState($$invalidate(3, memberState = app == null ? void 0 : app.memberState));
5356
+ $$subscribe_memberState($$invalidate(3, memberState = app?.memberState));
5350
5357
  }
5351
5358
  if ($$self.$$.dirty & 64) {
5352
- $$invalidate(2, strokeColor = $memberState == null ? void 0 : $memberState.strokeColor);
5359
+ $$invalidate(2, strokeColor = $memberState?.strokeColor);
5353
5360
  }
5354
5361
  };
5355
5362
  return [theme, disabled, strokeColor, memberState, set_stroke_color, app, $memberState];
@@ -5493,10 +5500,10 @@ function instance52($$self, $$props, $$invalidate) {
5493
5500
  };
5494
5501
  $$self.$$.update = () => {
5495
5502
  if ($$self.$$.dirty & 32) {
5496
- $$subscribe_memberState($$invalidate(3, memberState = app == null ? void 0 : app.memberState));
5503
+ $$subscribe_memberState($$invalidate(3, memberState = app?.memberState));
5497
5504
  }
5498
5505
  if ($$self.$$.dirty & 64) {
5499
- $$invalidate(2, textColor = $memberState == null ? void 0 : $memberState.textColor);
5506
+ $$invalidate(2, textColor = $memberState?.textColor);
5500
5507
  }
5501
5508
  };
5502
5509
  return [theme, disabled, textColor, memberState, set_stroke_color, app, $memberState];
@@ -5889,23 +5896,23 @@ function instance53($$self, $$props, $$invalidate) {
5889
5896
  $$invalidate(6, t = i18n5[language]);
5890
5897
  }
5891
5898
  if ($$self.$$.dirty & 256) {
5892
- $$subscribe_memberState($$invalidate(5, memberState = app == null ? void 0 : app.memberState));
5899
+ $$subscribe_memberState($$invalidate(5, memberState = app?.memberState));
5893
5900
  }
5894
5901
  if ($$self.$$.dirty & 2048) {
5895
- $$invalidate(4, appliance = $memberState == null ? void 0 : $memberState.currentApplianceName);
5902
+ $$invalidate(4, appliance = $memberState?.currentApplianceName);
5896
5903
  }
5897
5904
  if ($$self.$$.dirty & 2048) {
5898
- $$invalidate(3, shape = $memberState == null ? void 0 : $memberState.shapeType);
5905
+ $$invalidate(3, shape = $memberState?.shapeType);
5899
5906
  }
5900
5907
  if ($$self.$$.dirty & 256) {
5901
- $$invalidate(10, hotkeys = app == null ? void 0 : app.hotKeys);
5908
+ $$invalidate(10, hotkeys = app?.hotKeys);
5902
5909
  }
5903
5910
  if ($$self.$$.dirty & 1024) {
5904
5911
  $$invalidate(2, c = {
5905
- rectangle: hotkeys == null ? void 0 : hotkeys.changeToRectangle,
5906
- ellipse: hotkeys == null ? void 0 : hotkeys.changeToEllipse,
5907
- straight: hotkeys == null ? void 0 : hotkeys.changeToStraight,
5908
- arrow: hotkeys == null ? void 0 : hotkeys.changeToArrow
5912
+ rectangle: hotkeys?.changeToRectangle,
5913
+ ellipse: hotkeys?.changeToEllipse,
5914
+ straight: hotkeys?.changeToStraight,
5915
+ arrow: hotkeys?.changeToArrow
5909
5916
  });
5910
5917
  }
5911
5918
  };
@@ -7834,29 +7841,29 @@ function instance54($$self, $$props, $$invalidate) {
7834
7841
  set_store_value(top, $top = clamp($top + 32 + 4, 0, max_scroll), $top);
7835
7842
  }
7836
7843
  function clicker() {
7837
- app == null ? void 0 : app.setAppliance("clicker");
7844
+ app?.setAppliance("clicker");
7838
7845
  }
7839
7846
  function selector() {
7840
- app == null ? void 0 : app.setAppliance("selector");
7847
+ app?.setAppliance("selector");
7841
7848
  }
7842
7849
  function pencil() {
7843
- app == null ? void 0 : app.setAppliance("pencil");
7850
+ app?.setAppliance("pencil");
7844
7851
  }
7845
7852
  function text4() {
7846
- app == null ? void 0 : app.setAppliance("text");
7853
+ app?.setAppliance("text");
7847
7854
  }
7848
7855
  function select_last_shape() {
7849
7856
  if (applianceShapes.includes(last_shape)) {
7850
- app == null ? void 0 : app.setAppliance(last_shape);
7857
+ app?.setAppliance(last_shape);
7851
7858
  } else {
7852
- app == null ? void 0 : app.setAppliance("shape", last_shape);
7859
+ app?.setAppliance("shape", last_shape);
7853
7860
  }
7854
7861
  }
7855
7862
  function eraser() {
7856
- app == null ? void 0 : app.setAppliance("eraser");
7863
+ app?.setAppliance("eraser");
7857
7864
  }
7858
7865
  function clear() {
7859
- app == null ? void 0 : app.cleanCurrentScene();
7866
+ app?.cleanCurrentScene();
7860
7867
  }
7861
7868
  function div2_binding($$value) {
7862
7869
  binding_callbacks[$$value ? "unshift" : "push"](() => {
@@ -7913,28 +7920,28 @@ function instance54($$self, $$props, $$invalidate) {
7913
7920
  $$invalidate(9, t = i18n4[language]);
7914
7921
  }
7915
7922
  if ($$self.$$.dirty[0] & 1) {
7916
- $$invalidate(32, hotkeys = app == null ? void 0 : app.hotKeys);
7923
+ $$invalidate(32, hotkeys = app?.hotKeys);
7917
7924
  }
7918
7925
  if ($$self.$$.dirty[0] & 512 | $$self.$$.dirty[1] & 2) {
7919
7926
  $$invalidate(18, c = {
7920
- clicker: tooltip(t.clicker, hotkeys == null ? void 0 : hotkeys.changeToClick),
7921
- selector: tooltip(t.selector, hotkeys == null ? void 0 : hotkeys.changeToSelector),
7922
- pencil: tooltip(t.pencil, hotkeys == null ? void 0 : hotkeys.changeToPencil),
7923
- eraser: tooltip(t.eraser, hotkeys == null ? void 0 : hotkeys.changeToEraser),
7924
- text: tooltip(t.text, hotkeys == null ? void 0 : hotkeys.changeToText)
7927
+ clicker: tooltip(t.clicker, hotkeys?.changeToClick),
7928
+ selector: tooltip(t.selector, hotkeys?.changeToSelector),
7929
+ pencil: tooltip(t.pencil, hotkeys?.changeToPencil),
7930
+ eraser: tooltip(t.eraser, hotkeys?.changeToEraser),
7931
+ text: tooltip(t.text, hotkeys?.changeToText)
7925
7932
  });
7926
7933
  }
7927
7934
  if ($$self.$$.dirty[0] & 1) {
7928
- $$subscribe_memberState($$invalidate(17, memberState = app == null ? void 0 : app.memberState));
7935
+ $$subscribe_memberState($$invalidate(17, memberState = app?.memberState));
7929
7936
  }
7930
7937
  if ($$self.$$.dirty[1] & 8) {
7931
- $$invalidate(8, appliance = $memberState == null ? void 0 : $memberState.currentApplianceName);
7938
+ $$invalidate(8, appliance = $memberState?.currentApplianceName);
7932
7939
  }
7933
7940
  if ($$self.$$.dirty[1] & 8) {
7934
- $$invalidate(7, shape = $memberState == null ? void 0 : $memberState.shapeType);
7941
+ $$invalidate(7, shape = $memberState?.shapeType);
7935
7942
  }
7936
7943
  if ($$self.$$.dirty[0] & 1) {
7937
- $$subscribe_status($$invalidate(16, status = app == null ? void 0 : app.appsStatus));
7944
+ $$subscribe_status($$invalidate(16, status = app?.appsStatus));
7938
7945
  }
7939
7946
  if ($$self.$$.dirty[0] & 384) {
7940
7947
  if (applianceShapes.includes(appliance)) {
@@ -7992,16 +7999,25 @@ function instance54($$self, $$props, $$invalidate) {
7992
7999
  var Contents = class extends SvelteComponent {
7993
8000
  constructor(options) {
7994
8001
  super();
7995
- init(this, options, instance54, create_fragment54, safe_not_equal, {
7996
- app: 0,
7997
- theme: 1,
7998
- language: 2,
7999
- disabled: 3,
8000
- scroll_height: 4,
8001
- computed_height: 31,
8002
- scrollable: 5,
8003
- hide_apps: 6
8004
- }, null, [-1, -1]);
8002
+ init(
8003
+ this,
8004
+ options,
8005
+ instance54,
8006
+ create_fragment54,
8007
+ safe_not_equal,
8008
+ {
8009
+ app: 0,
8010
+ theme: 1,
8011
+ language: 2,
8012
+ disabled: 3,
8013
+ scroll_height: 4,
8014
+ computed_height: 31,
8015
+ scrollable: 5,
8016
+ hide_apps: 6
8017
+ },
8018
+ null,
8019
+ [-1, -1]
8020
+ );
8005
8021
  }
8006
8022
  };
8007
8023
  var Contents_default = Contents;
@@ -8113,7 +8129,12 @@ function create_fragment55(ctx) {
8113
8129
  path1 = svg_element("path");
8114
8130
  if_block.c();
8115
8131
  attr(div0, "class", div0_class_value = name6 + "-contents " + ctx[1]);
8116
- set_style(div0, "height", ctx[5] ? ctx[6] + "px" : "auto", false);
8132
+ set_style(
8133
+ div0,
8134
+ "height",
8135
+ ctx[5] ? ctx[6] + "px" : "auto",
8136
+ false
8137
+ );
8117
8138
  attr(input, "type", "checkbox");
8118
8139
  attr(path0, "fill", "#fff");
8119
8140
  attr(path0, "stroke", "none");
@@ -8172,7 +8193,12 @@ function create_fragment55(ctx) {
8172
8193
  attr(div0, "class", div0_class_value);
8173
8194
  }
8174
8195
  if (dirty & 96) {
8175
- set_style(div0, "height", ctx2[5] ? ctx2[6] + "px" : "auto", false);
8196
+ set_style(
8197
+ div0,
8198
+ "height",
8199
+ ctx2[5] ? ctx2[6] + "px" : "auto",
8200
+ false
8201
+ );
8176
8202
  }
8177
8203
  if (dirty & 8) {
8178
8204
  input.checked = ctx2[3];
@@ -8253,9 +8279,8 @@ function instance55($$self, $$props, $$invalidate) {
8253
8279
  $$invalidate(11, config = $$props2.config);
8254
8280
  };
8255
8281
  $$self.$$.update = () => {
8256
- var _a;
8257
8282
  if ($$self.$$.dirty & 1) {
8258
- $$subscribe_writable($$invalidate(8, writable2 = app == null ? void 0 : app.writable));
8283
+ $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
8259
8284
  }
8260
8285
  if ($$self.$$.dirty & 16384) {
8261
8286
  $$invalidate(7, disabled = !$writable);
@@ -8267,7 +8292,7 @@ function instance55($$self, $$props, $$invalidate) {
8267
8292
  $$invalidate(5, scrollable = $scroll_height + extra_height > $container_height);
8268
8293
  }
8269
8294
  if ($$self.$$.dirty & 2048) {
8270
- $$invalidate(4, hide_apps = ((_a = config.apps) == null ? void 0 : _a.enable) === false);
8295
+ $$invalidate(4, hide_apps = config.apps?.enable === false);
8271
8296
  }
8272
8297
  };
8273
8298
  return [
@@ -8307,12 +8332,11 @@ function get_each_context5(ctx, list, i) {
8307
8332
  return child_ctx;
8308
8333
  }
8309
8334
  function create_else_block_13(ctx) {
8310
- var _a;
8311
8335
  let icon;
8312
8336
  let current;
8313
8337
  icon = new Icon_default({
8314
8338
  props: {
8315
- src: (_a = ctx[1]) == null ? void 0 : _a.play[ctx[5]],
8339
+ src: ctx[1]?.play[ctx[5]],
8316
8340
  alt: "[play]",
8317
8341
  $$slots: { default: [create_default_slot_54] },
8318
8342
  $$scope: { ctx }
@@ -8327,10 +8351,9 @@ function create_else_block_13(ctx) {
8327
8351
  current = true;
8328
8352
  },
8329
8353
  p(ctx2, dirty) {
8330
- var _a2;
8331
8354
  const icon_changes = {};
8332
8355
  if (dirty & 34)
8333
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.play[ctx2[5]];
8356
+ icon_changes.src = ctx2[1]?.play[ctx2[5]];
8334
8357
  if (dirty & 268435457) {
8335
8358
  icon_changes.$$scope = { dirty, ctx: ctx2 };
8336
8359
  }
@@ -8352,12 +8375,11 @@ function create_else_block_13(ctx) {
8352
8375
  };
8353
8376
  }
8354
8377
  function create_if_block_22(ctx) {
8355
- var _a;
8356
8378
  let icon;
8357
8379
  let current;
8358
8380
  icon = new Icon_default({
8359
8381
  props: {
8360
- src: (_a = ctx[1]) == null ? void 0 : _a.pause[ctx[5]],
8382
+ src: ctx[1]?.pause[ctx[5]],
8361
8383
  alt: "[pause]",
8362
8384
  $$slots: { default: [create_default_slot_44] },
8363
8385
  $$scope: { ctx }
@@ -8372,10 +8394,9 @@ function create_if_block_22(ctx) {
8372
8394
  current = true;
8373
8395
  },
8374
8396
  p(ctx2, dirty) {
8375
- var _a2;
8376
8397
  const icon_changes = {};
8377
8398
  if (dirty & 34)
8378
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.pause[ctx2[5]];
8399
+ icon_changes.src = ctx2[1]?.pause[ctx2[5]];
8379
8400
  if (dirty & 268435457) {
8380
8401
  icon_changes.$$scope = { dirty, ctx: ctx2 };
8381
8402
  }
@@ -8397,12 +8418,11 @@ function create_if_block_22(ctx) {
8397
8418
  };
8398
8419
  }
8399
8420
  function create_if_block_13(ctx) {
8400
- var _a;
8401
8421
  let icon;
8402
8422
  let current;
8403
8423
  icon = new Icon_default({
8404
8424
  props: {
8405
- src: (_a = ctx[1]) == null ? void 0 : _a.loading[ctx[5]],
8425
+ src: ctx[1]?.loading[ctx[5]],
8406
8426
  alt: "[loading]",
8407
8427
  $$slots: { default: [create_default_slot_35] },
8408
8428
  $$scope: { ctx }
@@ -8417,10 +8437,9 @@ function create_if_block_13(ctx) {
8417
8437
  current = true;
8418
8438
  },
8419
8439
  p(ctx2, dirty) {
8420
- var _a2;
8421
8440
  const icon_changes = {};
8422
8441
  if (dirty & 34)
8423
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.loading[ctx2[5]];
8442
+ icon_changes.src = ctx2[1]?.loading[ctx2[5]];
8424
8443
  if (dirty & 268435457) {
8425
8444
  icon_changes.$$scope = { dirty, ctx: ctx2 };
8426
8445
  }
@@ -9129,7 +9148,7 @@ function instance56($$self, $$props, $$invalidate) {
9129
9148
  $$invalidate(12, t = i18n6[language]);
9130
9149
  }
9131
9150
  if ($$self.$$.dirty & 524288) {
9132
- $$invalidate(21, canPlay = player == null ? void 0 : player.canplay);
9151
+ $$invalidate(21, canPlay = player?.canplay);
9133
9152
  }
9134
9153
  if ($$self.$$.dirty & 2097152) {
9135
9154
  $$invalidate(4, disabled = !canPlay);
@@ -9138,16 +9157,16 @@ function instance56($$self, $$props, $$invalidate) {
9138
9157
  $$invalidate(5, type = disabled ? "disable" : "normal");
9139
9158
  }
9140
9159
  if ($$self.$$.dirty & 524288) {
9141
- $$subscribe_duration($$invalidate(11, duration = player == null ? void 0 : player.duration));
9160
+ $$subscribe_duration($$invalidate(11, duration = player?.duration));
9142
9161
  }
9143
9162
  if ($$self.$$.dirty & 524288) {
9144
- $$subscribe_current($$invalidate(10, current = player == null ? void 0 : player.currentTime));
9163
+ $$subscribe_current($$invalidate(10, current = player?.currentTime));
9145
9164
  }
9146
9165
  if ($$self.$$.dirty & 524288) {
9147
- $$subscribe_playbackRate($$invalidate(9, playbackRate = player == null ? void 0 : player.playbackRate));
9166
+ $$subscribe_playbackRate($$invalidate(9, playbackRate = player?.playbackRate));
9148
9167
  }
9149
9168
  if ($$self.$$.dirty & 524288) {
9150
- $$subscribe_phase($$invalidate(8, phase = player == null ? void 0 : player.phase));
9169
+ $$subscribe_phase($$invalidate(8, phase = player?.phase));
9151
9170
  }
9152
9171
  if ($$self.$$.dirty & 4194304) {
9153
9172
  $$invalidate(3, loading = $phase === "waitingFirstFrame" || $phase === "buffering");
@@ -9199,29 +9218,69 @@ var PlayerControl = class extends SvelteComponent {
9199
9218
  }
9200
9219
  };
9201
9220
  var PlayerControl_default = PlayerControl;
9202
- function create_fragment57(ctx) {
9203
- let div2;
9204
- let div0;
9205
- let t;
9206
- let div1;
9221
+ function create_if_block9(ctx) {
9207
9222
  let playercontrol;
9208
9223
  let current;
9209
- let mounted;
9210
- let dispose;
9211
9224
  playercontrol = new PlayerControl_default({
9212
9225
  props: {
9213
9226
  player: ctx[0],
9214
9227
  theme: ctx[1],
9215
- language: ctx[2]
9228
+ language: ctx[2],
9229
+ icons: ctx[3].player_control?.icons
9216
9230
  }
9217
9231
  });
9232
+ return {
9233
+ c() {
9234
+ create_component(playercontrol.$$.fragment);
9235
+ },
9236
+ m(target, anchor) {
9237
+ mount_component(playercontrol, target, anchor);
9238
+ current = true;
9239
+ },
9240
+ p(ctx2, dirty) {
9241
+ const playercontrol_changes = {};
9242
+ if (dirty & 1)
9243
+ playercontrol_changes.player = ctx2[0];
9244
+ if (dirty & 2)
9245
+ playercontrol_changes.theme = ctx2[1];
9246
+ if (dirty & 4)
9247
+ playercontrol_changes.language = ctx2[2];
9248
+ if (dirty & 8)
9249
+ playercontrol_changes.icons = ctx2[3].player_control?.icons;
9250
+ playercontrol.$set(playercontrol_changes);
9251
+ },
9252
+ i(local) {
9253
+ if (current)
9254
+ return;
9255
+ transition_in(playercontrol.$$.fragment, local);
9256
+ current = true;
9257
+ },
9258
+ o(local) {
9259
+ transition_out(playercontrol.$$.fragment, local);
9260
+ current = false;
9261
+ },
9262
+ d(detaching) {
9263
+ destroy_component(playercontrol, detaching);
9264
+ }
9265
+ };
9266
+ }
9267
+ function create_fragment57(ctx) {
9268
+ let div2;
9269
+ let div0;
9270
+ let t;
9271
+ let div1;
9272
+ let current;
9273
+ let mounted;
9274
+ let dispose;
9275
+ let if_block = ctx[3].player_control?.enable !== false && create_if_block9(ctx);
9218
9276
  return {
9219
9277
  c() {
9220
9278
  div2 = element("div");
9221
9279
  div0 = element("div");
9222
9280
  t = space();
9223
9281
  div1 = element("div");
9224
- create_component(playercontrol.$$.fragment);
9282
+ if (if_block)
9283
+ if_block.c();
9225
9284
  attr(div0, "class", name8 + "-view");
9226
9285
  attr(div1, "class", name8 + "-bottom");
9227
9286
  attr(div2, "class", name8 + "-root");
@@ -9230,25 +9289,37 @@ function create_fragment57(ctx) {
9230
9289
  m(target, anchor) {
9231
9290
  insert(target, div2, anchor);
9232
9291
  append(div2, div0);
9233
- ctx[7](div0);
9292
+ ctx[8](div0);
9234
9293
  append(div2, t);
9235
9294
  append(div2, div1);
9236
- mount_component(playercontrol, div1, null);
9295
+ if (if_block)
9296
+ if_block.m(div1, null);
9237
9297
  current = true;
9238
9298
  if (!mounted) {
9239
- dispose = listen(div0, "touchstart", ctx[4], { passive: true, capture: true });
9299
+ dispose = listen(div0, "touchstart", ctx[5], { passive: true, capture: true });
9240
9300
  mounted = true;
9241
9301
  }
9242
9302
  },
9243
9303
  p(ctx2, [dirty]) {
9244
- const playercontrol_changes = {};
9245
- if (dirty & 1)
9246
- playercontrol_changes.player = ctx2[0];
9247
- if (dirty & 2)
9248
- playercontrol_changes.theme = ctx2[1];
9249
- if (dirty & 4)
9250
- playercontrol_changes.language = ctx2[2];
9251
- playercontrol.$set(playercontrol_changes);
9304
+ if (ctx2[3].player_control?.enable !== false) {
9305
+ if (if_block) {
9306
+ if_block.p(ctx2, dirty);
9307
+ if (dirty & 8) {
9308
+ transition_in(if_block, 1);
9309
+ }
9310
+ } else {
9311
+ if_block = create_if_block9(ctx2);
9312
+ if_block.c();
9313
+ transition_in(if_block, 1);
9314
+ if_block.m(div1, null);
9315
+ }
9316
+ } else if (if_block) {
9317
+ group_outros();
9318
+ transition_out(if_block, 1, 1, () => {
9319
+ if_block = null;
9320
+ });
9321
+ check_outros();
9322
+ }
9252
9323
  if (dirty & 1) {
9253
9324
  toggle_class(div2, "loading", !ctx2[0]);
9254
9325
  }
@@ -9256,18 +9327,19 @@ function create_fragment57(ctx) {
9256
9327
  i(local) {
9257
9328
  if (current)
9258
9329
  return;
9259
- transition_in(playercontrol.$$.fragment, local);
9330
+ transition_in(if_block);
9260
9331
  current = true;
9261
9332
  },
9262
9333
  o(local) {
9263
- transition_out(playercontrol.$$.fragment, local);
9334
+ transition_out(if_block);
9264
9335
  current = false;
9265
9336
  },
9266
9337
  d(detaching) {
9267
9338
  if (detaching)
9268
9339
  detach(div2);
9269
- ctx[7](null);
9270
- destroy_component(playercontrol);
9340
+ ctx[8](null);
9341
+ if (if_block)
9342
+ if_block.d();
9271
9343
  mounted = false;
9272
9344
  dispose();
9273
9345
  }
@@ -9278,6 +9350,7 @@ function instance57($$self, $$props, $$invalidate) {
9278
9350
  let { player = null } = $$props;
9279
9351
  let { theme = "light" } = $$props;
9280
9352
  let { language = "en" } = $$props;
9353
+ let { config = {} } = $$props;
9281
9354
  let { containerRef = void 0 } = $$props;
9282
9355
  let container;
9283
9356
  let mounted = false;
@@ -9298,7 +9371,7 @@ function instance57($$self, $$props, $$invalidate) {
9298
9371
  function div0_binding($$value) {
9299
9372
  binding_callbacks[$$value ? "unshift" : "push"](() => {
9300
9373
  container = $$value;
9301
- $$invalidate(3, container);
9374
+ $$invalidate(4, container);
9302
9375
  });
9303
9376
  }
9304
9377
  $$self.$$set = ($$props2) => {
@@ -9308,22 +9381,24 @@ function instance57($$self, $$props, $$invalidate) {
9308
9381
  $$invalidate(1, theme = $$props2.theme);
9309
9382
  if ("language" in $$props2)
9310
9383
  $$invalidate(2, language = $$props2.language);
9384
+ if ("config" in $$props2)
9385
+ $$invalidate(3, config = $$props2.config);
9311
9386
  if ("containerRef" in $$props2)
9312
- $$invalidate(5, containerRef = $$props2.containerRef);
9387
+ $$invalidate(6, containerRef = $$props2.containerRef);
9313
9388
  };
9314
9389
  $$self.$$.update = () => {
9315
- if ($$self.$$.dirty & 9) {
9390
+ if ($$self.$$.dirty & 17) {
9316
9391
  try {
9317
9392
  if (player && container) {
9318
9393
  player.bindContainer(container);
9319
- $$invalidate(6, mounted = true);
9394
+ $$invalidate(7, mounted = true);
9320
9395
  }
9321
9396
  } catch (err) {
9322
9397
  console.error("[fastboard] An error occurred while binding container");
9323
9398
  console.error(err);
9324
9399
  }
9325
9400
  }
9326
- if ($$self.$$.dirty & 67) {
9401
+ if ($$self.$$.dirty & 131) {
9327
9402
  if (player && theme && mounted) {
9328
9403
  player.manager.setPrefersColorScheme(theme);
9329
9404
  }
@@ -9333,6 +9408,7 @@ function instance57($$self, $$props, $$invalidate) {
9333
9408
  player,
9334
9409
  theme,
9335
9410
  language,
9411
+ config,
9336
9412
  container,
9337
9413
  focus_me,
9338
9414
  containerRef,
@@ -9347,7 +9423,8 @@ var ReplayFastboard = class extends SvelteComponent {
9347
9423
  player: 0,
9348
9424
  theme: 1,
9349
9425
  language: 2,
9350
- containerRef: 5
9426
+ config: 3,
9427
+ containerRef: 6
9351
9428
  });
9352
9429
  }
9353
9430
  };
@@ -9405,7 +9482,8 @@ function create_if_block_23(ctx) {
9405
9482
  props: {
9406
9483
  app: ctx[0],
9407
9484
  theme: ctx[1],
9408
- language: ctx[2]
9485
+ language: ctx[2],
9486
+ icons: ctx[3].redo_undo?.icons
9409
9487
  }
9410
9488
  });
9411
9489
  return {
@@ -9424,6 +9502,8 @@ function create_if_block_23(ctx) {
9424
9502
  redoundo_changes.theme = ctx2[1];
9425
9503
  if (dirty & 4)
9426
9504
  redoundo_changes.language = ctx2[2];
9505
+ if (dirty & 8)
9506
+ redoundo_changes.icons = ctx2[3].redo_undo?.icons;
9427
9507
  redoundo.$set(redoundo_changes);
9428
9508
  },
9429
9509
  i(local) {
@@ -9448,7 +9528,8 @@ function create_if_block_14(ctx) {
9448
9528
  props: {
9449
9529
  app: ctx[0],
9450
9530
  theme: ctx[1],
9451
- language: ctx[2]
9531
+ language: ctx[2],
9532
+ icons: ctx[3].zoom_control?.icons
9452
9533
  }
9453
9534
  });
9454
9535
  return {
@@ -9467,6 +9548,8 @@ function create_if_block_14(ctx) {
9467
9548
  zoomcontrol_changes.theme = ctx2[1];
9468
9549
  if (dirty & 4)
9469
9550
  zoomcontrol_changes.language = ctx2[2];
9551
+ if (dirty & 8)
9552
+ zoomcontrol_changes.icons = ctx2[3].zoom_control?.icons;
9470
9553
  zoomcontrol.$set(zoomcontrol_changes);
9471
9554
  },
9472
9555
  i(local) {
@@ -9484,14 +9567,15 @@ function create_if_block_14(ctx) {
9484
9567
  }
9485
9568
  };
9486
9569
  }
9487
- function create_if_block9(ctx) {
9570
+ function create_if_block10(ctx) {
9488
9571
  let pagecontrol;
9489
9572
  let current;
9490
9573
  pagecontrol = new PageControl_default({
9491
9574
  props: {
9492
9575
  app: ctx[0],
9493
9576
  theme: ctx[1],
9494
- language: ctx[2]
9577
+ language: ctx[2],
9578
+ icons: ctx[3].page_control?.icons
9495
9579
  }
9496
9580
  });
9497
9581
  return {
@@ -9510,6 +9594,8 @@ function create_if_block9(ctx) {
9510
9594
  pagecontrol_changes.theme = ctx2[1];
9511
9595
  if (dirty & 4)
9512
9596
  pagecontrol_changes.language = ctx2[2];
9597
+ if (dirty & 8)
9598
+ pagecontrol_changes.icons = ctx2[3].page_control?.icons;
9513
9599
  pagecontrol.$set(pagecontrol_changes);
9514
9600
  },
9515
9601
  i(local) {
@@ -9528,7 +9614,6 @@ function create_if_block9(ctx) {
9528
9614
  };
9529
9615
  }
9530
9616
  function create_fragment58(ctx) {
9531
- var _a, _b, _c, _d;
9532
9617
  let div4;
9533
9618
  let div0;
9534
9619
  let t0;
@@ -9541,10 +9626,10 @@ function create_fragment58(ctx) {
9541
9626
  let current;
9542
9627
  let mounted;
9543
9628
  let dispose;
9544
- let if_block0 = ((_a = ctx[3].toolbar) == null ? void 0 : _a.enable) !== false && create_if_block_32(ctx);
9545
- let if_block1 = ((_b = ctx[3].redo_undo) == null ? void 0 : _b.enable) !== false && create_if_block_23(ctx);
9546
- let if_block2 = ((_c = ctx[3].zoom_control) == null ? void 0 : _c.enable) !== false && create_if_block_14(ctx);
9547
- let if_block3 = ((_d = ctx[3].page_control) == null ? void 0 : _d.enable) !== false && create_if_block9(ctx);
9629
+ let if_block0 = ctx[3].toolbar?.enable !== false && create_if_block_32(ctx);
9630
+ let if_block1 = ctx[3].redo_undo?.enable !== false && create_if_block_23(ctx);
9631
+ let if_block2 = ctx[3].zoom_control?.enable !== false && create_if_block_14(ctx);
9632
+ let if_block3 = ctx[3].page_control?.enable !== false && create_if_block10(ctx);
9548
9633
  return {
9549
9634
  c() {
9550
9635
  div4 = element("div");
@@ -9600,8 +9685,7 @@ function create_fragment58(ctx) {
9600
9685
  }
9601
9686
  },
9602
9687
  p(ctx2, [dirty]) {
9603
- var _a2, _b2, _c2, _d2;
9604
- if (((_a2 = ctx2[3].toolbar) == null ? void 0 : _a2.enable) !== false) {
9688
+ if (ctx2[3].toolbar?.enable !== false) {
9605
9689
  if (if_block0) {
9606
9690
  if_block0.p(ctx2, dirty);
9607
9691
  if (dirty & 8) {
@@ -9623,7 +9707,7 @@ function create_fragment58(ctx) {
9623
9707
  if (dirty & 32) {
9624
9708
  toggle_class(div1, "hidden", !(ctx2[5] === "visible" || ctx2[5] === "toolbar-only"));
9625
9709
  }
9626
- if (((_b2 = ctx2[3].redo_undo) == null ? void 0 : _b2.enable) !== false) {
9710
+ if (ctx2[3].redo_undo?.enable !== false) {
9627
9711
  if (if_block1) {
9628
9712
  if_block1.p(ctx2, dirty);
9629
9713
  if (dirty & 8) {
@@ -9642,7 +9726,7 @@ function create_fragment58(ctx) {
9642
9726
  });
9643
9727
  check_outros();
9644
9728
  }
9645
- if (((_c2 = ctx2[3].zoom_control) == null ? void 0 : _c2.enable) !== false) {
9729
+ if (ctx2[3].zoom_control?.enable !== false) {
9646
9730
  if (if_block2) {
9647
9731
  if_block2.p(ctx2, dirty);
9648
9732
  if (dirty & 8) {
@@ -9664,14 +9748,14 @@ function create_fragment58(ctx) {
9664
9748
  if (dirty & 32) {
9665
9749
  toggle_class(div2, "hidden", ctx2[5] !== "visible");
9666
9750
  }
9667
- if (((_d2 = ctx2[3].page_control) == null ? void 0 : _d2.enable) !== false) {
9751
+ if (ctx2[3].page_control?.enable !== false) {
9668
9752
  if (if_block3) {
9669
9753
  if_block3.p(ctx2, dirty);
9670
9754
  if (dirty & 8) {
9671
9755
  transition_in(if_block3, 1);
9672
9756
  }
9673
9757
  } else {
9674
- if_block3 = create_if_block9(ctx2);
9758
+ if_block3 = create_if_block10(ctx2);
9675
9759
  if_block3.c();
9676
9760
  transition_in(if_block3, 1);
9677
9761
  if_block3.m(div3, null);
@@ -9777,13 +9861,13 @@ function instance58($$self, $$props, $$invalidate) {
9777
9861
  };
9778
9862
  $$self.$$.update = () => {
9779
9863
  if ($$self.$$.dirty & 1) {
9780
- $$subscribe_writable($$invalidate(8, writable2 = app == null ? void 0 : app.writable));
9864
+ $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
9781
9865
  }
9782
9866
  if ($$self.$$.dirty & 1) {
9783
- $$subscribe_boxState($$invalidate(7, boxState = app == null ? void 0 : app.boxState));
9867
+ $$subscribe_boxState($$invalidate(7, boxState = app?.boxState));
9784
9868
  }
9785
9869
  if ($$self.$$.dirty & 1) {
9786
- $$subscribe_focusedApp($$invalidate(6, focusedApp = app == null ? void 0 : app.focusedApp));
9870
+ $$subscribe_focusedApp($$invalidate(6, focusedApp = app?.focusedApp));
9787
9871
  }
9788
9872
  if ($$self.$$.dirty & 28672) {
9789
9873
  if (!$writable) {
@@ -9851,74 +9935,70 @@ var Fastboard_default = Fastboard;
9851
9935
  // src/helpers/index.ts
9852
9936
  function createUI(app, div) {
9853
9937
  let fastboard;
9854
- const ui = {
9855
- mount(div2, props) {
9856
- if (fastboard) {
9857
- fastboard.$destroy();
9858
- }
9859
- fastboard = new Fastboard_default({ target: div2, props: __spreadValues({ app }, props) });
9860
- return ui;
9861
- },
9862
- update(props) {
9863
- if (fastboard) {
9864
- fastboard.$set(props);
9865
- }
9866
- },
9867
- destroy() {
9868
- if (fastboard) {
9869
- fastboard.$destroy();
9870
- }
9871
- fastboard = void 0;
9938
+ function mount(div2, props) {
9939
+ if (fastboard) {
9940
+ fastboard.$destroy();
9872
9941
  }
9873
- };
9942
+ fastboard = new Fastboard_default({ target: div2, props: { app, ...props } });
9943
+ return ui;
9944
+ }
9945
+ function update(props) {
9946
+ if (fastboard) {
9947
+ fastboard.$set(props);
9948
+ }
9949
+ }
9950
+ function destroy() {
9951
+ if (fastboard) {
9952
+ fastboard.$destroy();
9953
+ }
9954
+ fastboard = void 0;
9955
+ }
9956
+ function setElement(div2) {
9957
+ if (div2) {
9958
+ mount(div2);
9959
+ } else {
9960
+ destroy();
9961
+ }
9962
+ }
9963
+ const ui = { mount, update, destroy, setElement };
9874
9964
  if (div) {
9875
- ui.mount(div);
9965
+ mount(div, { app });
9876
9966
  }
9877
9967
  return ui;
9878
9968
  }
9879
9969
  function createReplayUI(player, div) {
9880
9970
  let fastboard;
9881
- const ui = {
9882
- mount(div2, props) {
9883
- if (fastboard) {
9884
- fastboard.$destroy();
9885
- }
9886
- fastboard = new ReplayFastboard_default({ target: div2, props: __spreadValues({ player }, props) });
9887
- return ui;
9888
- },
9889
- update(props) {
9890
- if (fastboard) {
9891
- fastboard.$set(props);
9892
- }
9893
- },
9894
- destroy() {
9895
- if (fastboard) {
9896
- fastboard.$destroy();
9897
- }
9898
- fastboard = void 0;
9971
+ function mount(div2, props) {
9972
+ if (fastboard) {
9973
+ fastboard.$destroy();
9899
9974
  }
9900
- };
9975
+ fastboard = new ReplayFastboard_default({ target: div2, props: { player, ...props } });
9976
+ return ui;
9977
+ }
9978
+ function update(props) {
9979
+ if (fastboard) {
9980
+ fastboard.$set(props);
9981
+ }
9982
+ }
9983
+ function destroy() {
9984
+ if (fastboard) {
9985
+ fastboard.$destroy();
9986
+ }
9987
+ fastboard = void 0;
9988
+ }
9989
+ function setElement(div2) {
9990
+ if (div2) {
9991
+ mount(div2);
9992
+ } else {
9993
+ destroy();
9994
+ }
9995
+ }
9996
+ const ui = { mount, update, destroy, setElement };
9901
9997
  if (div) {
9902
- ui.mount(div);
9998
+ mount(div, { player });
9903
9999
  }
9904
10000
  return ui;
9905
10001
  }
9906
10002
 
9907
- // inline-sass-helper:inline-sass-style-helper.js
9908
- function injectStyle(text4) {
9909
- if (typeof document !== "undefined") {
9910
- var style = document.createElement("style");
9911
- var node = document.createTextNode(text4);
9912
- style.appendChild(node);
9913
- document.head.appendChild(style);
9914
- }
9915
- }
9916
-
9917
- // inline-sass-content:./src/style.scss
9918
- 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}';
9919
-
9920
- // inline-sass-stub:./src/style.scss
9921
- injectStyle(style_default);
9922
-
9923
10003
  export { Fastboard_default as Fastboard, PageControl_default as PageControl, PlayerControl_default as PlayerControl, RedoUndo_default as RedoUndo, ReplayFastboard_default as ReplayFastboard, Toolbar_default as Toolbar, ZoomControl_default as ZoomControl, apps, createReplayUI, createUI };
9924
10004
  //# sourceMappingURL=index.svelte.mjs.map