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

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.mjs CHANGED
@@ -1,24 +1,20 @@
1
1
  import Tippy from 'tippy.js';
2
2
 
3
- var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3
+ // inline-sass-helper:inline-sass-style-helper.js
4
+ function injectStyle(text2) {
5
+ if (typeof document !== "undefined") {
6
+ var style = document.createElement("style");
7
+ var node = document.createTextNode(text2);
8
+ style.appendChild(node);
9
+ document.head.appendChild(style);
10
+ }
11
+ }
12
+
13
+ // inline-sass-content:./src/style.scss
14
+ 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}';
15
+
16
+ // inline-sass-stub:./src/style.scss
17
+ injectStyle(style_default);
22
18
 
23
19
  // ../../node_modules/.pnpm/svelte@3.49.0/node_modules/svelte/internal/index.mjs
24
20
  function noop() {
@@ -557,7 +553,14 @@ function create_else_block(ctx) {
557
553
  p(ctx2, dirty) {
558
554
  if (default_slot) {
559
555
  if (default_slot.p && (!current || dirty & 8)) {
560
- 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);
556
+ update_slot_base(
557
+ default_slot,
558
+ default_slot_template,
559
+ ctx2,
560
+ ctx2[3],
561
+ !current ? get_all_dirty_from_scope(ctx2[3]) : get_slot_changes(default_slot_template, ctx2[3], dirty, null),
562
+ null
563
+ );
561
564
  }
562
565
  }
563
566
  },
@@ -3404,8 +3407,7 @@ if (is_client) {
3404
3407
  }
3405
3408
  }
3406
3409
  function remove() {
3407
- var _a;
3408
- (_a = instance59.popper.firstElementChild) == null ? void 0 : _a.classList.remove("fastboard-tip");
3410
+ instance59.popper.firstElementChild?.classList.remove("fastboard-tip");
3409
3411
  }
3410
3412
  return {
3411
3413
  onCreate: add,
@@ -3429,11 +3431,13 @@ var tippy = function(node, props) {
3429
3431
  };
3430
3432
  };
3431
3433
  function tippy_hide_all() {
3432
- document.querySelectorAll("[data-tippy-root]").forEach((el) => {
3433
- const instance59 = el._tippy;
3434
- if (instance59)
3435
- instance59.hide();
3436
- });
3434
+ document.querySelectorAll("[data-tippy-root]").forEach(tippy_hide);
3435
+ }
3436
+ function tippy_hide(el) {
3437
+ const instance59 = el._tippy;
3438
+ if (instance59) {
3439
+ instance59.hide();
3440
+ }
3437
3441
  }
3438
3442
  var tippy_menu = {
3439
3443
  delay: 0,
@@ -3474,7 +3478,14 @@ function create_else_block_1(ctx) {
3474
3478
  p(ctx2, dirty) {
3475
3479
  if (default_slot) {
3476
3480
  if (default_slot.p && (!current || dirty & 256)) {
3477
- 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);
3481
+ update_slot_base(
3482
+ default_slot,
3483
+ default_slot_template,
3484
+ ctx2,
3485
+ ctx2[8],
3486
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3487
+ null
3488
+ );
3478
3489
  }
3479
3490
  }
3480
3491
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3605,7 +3616,14 @@ function create_else_block2(ctx) {
3605
3616
  p(ctx2, dirty) {
3606
3617
  if (default_slot) {
3607
3618
  if (default_slot.p && (!current || dirty & 256)) {
3608
- 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);
3619
+ update_slot_base(
3620
+ default_slot,
3621
+ default_slot_template,
3622
+ ctx2,
3623
+ ctx2[8],
3624
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3625
+ null
3626
+ );
3609
3627
  }
3610
3628
  }
3611
3629
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3681,14 +3699,14 @@ function create_if_block_1(ctx) {
3681
3699
  if (!mounted) {
3682
3700
  dispose = [
3683
3701
  listen(button, "click", ctx[10]),
3684
- action_destroyer(tippy_action = tippy.call(null, button, __spreadProps(__spreadValues({
3685
- content: ctx[6]
3686
- }, tippy_menu), {
3702
+ action_destroyer(tippy_action = tippy.call(null, button, {
3703
+ content: ctx[6],
3704
+ ...tippy_menu,
3687
3705
  placement: ctx[7],
3688
3706
  appendTo: document.body,
3689
3707
  theme: ctx[2],
3690
3708
  className: "fastboard-panel"
3691
- }))),
3709
+ })),
3692
3710
  action_destroyer(tippy_action_1 = tippy.call(null, span1, {
3693
3711
  content: ctx[4],
3694
3712
  placement: ctx[5],
@@ -3701,7 +3719,14 @@ function create_if_block_1(ctx) {
3701
3719
  p(ctx2, dirty) {
3702
3720
  if (default_slot) {
3703
3721
  if (default_slot.p && (!current || dirty & 256)) {
3704
- 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);
3722
+ update_slot_base(
3723
+ default_slot,
3724
+ default_slot_template,
3725
+ ctx2,
3726
+ ctx2[8],
3727
+ !current ? get_all_dirty_from_scope(ctx2[8]) : get_slot_changes(default_slot_template, ctx2[8], dirty, null),
3728
+ null
3729
+ );
3705
3730
  }
3706
3731
  }
3707
3732
  if (!current || dirty & 7 && button_class_value !== (button_class_value = ctx2[1] + "-btn " + ctx2[0] + " " + ctx2[2])) {
@@ -3711,14 +3736,14 @@ function create_if_block_1(ctx) {
3711
3736
  button.disabled = ctx2[3];
3712
3737
  }
3713
3738
  if (tippy_action && is_function(tippy_action.update) && dirty & 196)
3714
- tippy_action.update.call(null, __spreadProps(__spreadValues({
3715
- content: ctx2[6]
3716
- }, tippy_menu), {
3739
+ tippy_action.update.call(null, {
3740
+ content: ctx2[6],
3741
+ ...tippy_menu,
3717
3742
  placement: ctx2[7],
3718
3743
  appendTo: document.body,
3719
3744
  theme: ctx2[2],
3720
3745
  className: "fastboard-panel"
3721
- }));
3746
+ });
3722
3747
  if (!current || dirty & 2 && span0_class_value !== (span0_class_value = ctx2[1] + "-triangle")) {
3723
3748
  attr(span0, "class", span0_class_value);
3724
3749
  }
@@ -3922,12 +3947,11 @@ function create_default_slot_3(ctx) {
3922
3947
  };
3923
3948
  }
3924
3949
  function create_default_slot_2(ctx) {
3925
- var _a;
3926
3950
  let icon;
3927
3951
  let current;
3928
3952
  icon = new Icon_default({
3929
3953
  props: {
3930
- src: (_a = ctx[1]) == null ? void 0 : _a.undo[ctx[2]],
3954
+ src: ctx[1]?.undo[ctx[2]],
3931
3955
  alt: "[undo]",
3932
3956
  $$slots: { default: [create_default_slot_3] },
3933
3957
  $$scope: { ctx }
@@ -3942,10 +3966,9 @@ function create_default_slot_2(ctx) {
3942
3966
  current = true;
3943
3967
  },
3944
3968
  p(ctx2, dirty) {
3945
- var _a2;
3946
3969
  const icon_changes = {};
3947
3970
  if (dirty & 6)
3948
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.undo[ctx2[2]];
3971
+ icon_changes.src = ctx2[1]?.undo[ctx2[2]];
3949
3972
  if (dirty & 131073) {
3950
3973
  icon_changes.$$scope = { dirty, ctx: ctx2 };
3951
3974
  }
@@ -4000,12 +4023,11 @@ function create_default_slot_1(ctx) {
4000
4023
  };
4001
4024
  }
4002
4025
  function create_default_slot(ctx) {
4003
- var _a;
4004
4026
  let icon;
4005
4027
  let current;
4006
4028
  icon = new Icon_default({
4007
4029
  props: {
4008
- src: (_a = ctx[1]) == null ? void 0 : _a.redo[ctx[2]],
4030
+ src: ctx[1]?.redo[ctx[2]],
4009
4031
  alt: "[redo]",
4010
4032
  $$slots: { default: [create_default_slot_1] },
4011
4033
  $$scope: { ctx }
@@ -4020,10 +4042,9 @@ function create_default_slot(ctx) {
4020
4042
  current = true;
4021
4043
  },
4022
4044
  p(ctx2, dirty) {
4023
- var _a2;
4024
4045
  const icon_changes = {};
4025
4046
  if (dirty & 6)
4026
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.redo[ctx2[2]];
4047
+ icon_changes.src = ctx2[1]?.redo[ctx2[2]];
4027
4048
  if (dirty & 131073) {
4028
4049
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4029
4050
  }
@@ -4165,10 +4186,10 @@ function instance46($$self, $$props, $$invalidate) {
4165
4186
  let { icons = void 0 } = $$props;
4166
4187
  let type;
4167
4188
  function undo() {
4168
- app == null ? void 0 : app.undo();
4189
+ app?.undo();
4169
4190
  }
4170
4191
  function redo() {
4171
- app == null ? void 0 : app.redo();
4192
+ app?.redo();
4172
4193
  }
4173
4194
  $$self.$$set = ($$props2) => {
4174
4195
  if ("app" in $$props2)
@@ -4182,7 +4203,7 @@ function instance46($$self, $$props, $$invalidate) {
4182
4203
  };
4183
4204
  $$self.$$.update = () => {
4184
4205
  if ($$self.$$.dirty & 2048) {
4185
- $$subscribe_writable($$invalidate(8, writable2 = app == null ? void 0 : app.writable));
4206
+ $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
4186
4207
  }
4187
4208
  if ($$self.$$.dirty & 65536) {
4188
4209
  $$invalidate(13, disabled = !$writable);
@@ -4194,10 +4215,10 @@ function instance46($$self, $$props, $$invalidate) {
4194
4215
  $$invalidate(2, type = disabled ? "disable" : "normal");
4195
4216
  }
4196
4217
  if ($$self.$$.dirty & 2048) {
4197
- $$subscribe_undoSteps($$invalidate(6, undoSteps = app == null ? void 0 : app.canUndoSteps));
4218
+ $$subscribe_undoSteps($$invalidate(6, undoSteps = app?.canUndoSteps));
4198
4219
  }
4199
4220
  if ($$self.$$.dirty & 2048) {
4200
- $$subscribe_redoSteps($$invalidate(5, redoSteps = app == null ? void 0 : app.canRedoSteps));
4221
+ $$subscribe_redoSteps($$invalidate(5, redoSteps = app?.canRedoSteps));
4201
4222
  }
4202
4223
  if ($$self.$$.dirty & 40960) {
4203
4224
  $$invalidate(4, undo_disabled = disabled || !$undoSteps);
@@ -4274,12 +4295,11 @@ function create_default_slot_5(ctx) {
4274
4295
  };
4275
4296
  }
4276
4297
  function create_default_slot_4(ctx) {
4277
- var _a;
4278
4298
  let icon;
4279
4299
  let current;
4280
4300
  icon = new Icon_default({
4281
4301
  props: {
4282
- src: (_a = ctx[1]) == null ? void 0 : _a.prev[ctx[5]],
4302
+ src: ctx[1]?.prev[ctx[5]],
4283
4303
  alt: "[prev]",
4284
4304
  $$slots: { default: [create_default_slot_5] },
4285
4305
  $$scope: { ctx }
@@ -4294,10 +4314,9 @@ function create_default_slot_4(ctx) {
4294
4314
  current = true;
4295
4315
  },
4296
4316
  p(ctx2, dirty) {
4297
- var _a2;
4298
4317
  const icon_changes = {};
4299
4318
  if (dirty & 34)
4300
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.prev[ctx2[5]];
4319
+ icon_changes.src = ctx2[1]?.prev[ctx2[5]];
4301
4320
  if (dirty & 262145) {
4302
4321
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4303
4322
  }
@@ -4400,12 +4419,11 @@ function create_default_slot_32(ctx) {
4400
4419
  };
4401
4420
  }
4402
4421
  function create_default_slot_22(ctx) {
4403
- var _a;
4404
4422
  let icon;
4405
4423
  let current;
4406
4424
  icon = new Icon_default({
4407
4425
  props: {
4408
- src: (_a = ctx[1]) == null ? void 0 : _a.next[ctx[5]],
4426
+ src: ctx[1]?.next[ctx[5]],
4409
4427
  alt: "[next]",
4410
4428
  $$slots: { default: [create_default_slot_32] },
4411
4429
  $$scope: { ctx }
@@ -4420,10 +4438,9 @@ function create_default_slot_22(ctx) {
4420
4438
  current = true;
4421
4439
  },
4422
4440
  p(ctx2, dirty) {
4423
- var _a2;
4424
4441
  const icon_changes = {};
4425
4442
  if (dirty & 34)
4426
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.next[ctx2[5]];
4443
+ icon_changes.src = ctx2[1]?.next[ctx2[5]];
4427
4444
  if (dirty & 262145) {
4428
4445
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4429
4446
  }
@@ -4478,12 +4495,11 @@ function create_default_slot_12(ctx) {
4478
4495
  };
4479
4496
  }
4480
4497
  function create_default_slot2(ctx) {
4481
- var _a;
4482
4498
  let icon;
4483
4499
  let current;
4484
4500
  icon = new Icon_default({
4485
4501
  props: {
4486
- src: (_a = ctx[1]) == null ? void 0 : _a.add[ctx[5]],
4502
+ src: ctx[1]?.add[ctx[5]],
4487
4503
  alt: "[add]",
4488
4504
  $$slots: { default: [create_default_slot_12] },
4489
4505
  $$scope: { ctx }
@@ -4498,10 +4514,9 @@ function create_default_slot2(ctx) {
4498
4514
  current = true;
4499
4515
  },
4500
4516
  p(ctx2, dirty) {
4501
- var _a2;
4502
4517
  const icon_changes = {};
4503
4518
  if (dirty & 34)
4504
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.add[ctx2[5]];
4519
+ icon_changes.src = ctx2[1]?.add[ctx2[5]];
4505
4520
  if (dirty & 262145) {
4506
4521
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4507
4522
  }
@@ -4711,14 +4726,14 @@ function instance47($$self, $$props, $$invalidate) {
4711
4726
  let { icons = void 0 } = $$props;
4712
4727
  let type;
4713
4728
  function prevPage() {
4714
- app == null ? void 0 : app.prevPage();
4729
+ app?.prevPage();
4715
4730
  }
4716
4731
  function nextPage() {
4717
- app == null ? void 0 : app.nextPage();
4732
+ app?.nextPage();
4718
4733
  }
4719
4734
  function addPage() {
4720
- app == null ? void 0 : app.addPage({ after: true });
4721
- app == null ? void 0 : app.nextPage();
4735
+ app?.addPage({ after: true });
4736
+ app?.nextPage();
4722
4737
  }
4723
4738
  $$self.$$set = ($$props2) => {
4724
4739
  if ("app" in $$props2)
@@ -4732,7 +4747,7 @@ function instance47($$self, $$props, $$invalidate) {
4732
4747
  };
4733
4748
  $$self.$$.update = () => {
4734
4749
  if ($$self.$$.dirty & 32768) {
4735
- $$subscribe_writable($$invalidate(11, writable2 = app == null ? void 0 : app.writable));
4750
+ $$subscribe_writable($$invalidate(11, writable2 = app?.writable));
4736
4751
  }
4737
4752
  if ($$self.$$.dirty & 131072) {
4738
4753
  $$invalidate(2, disabled = !$writable);
@@ -4744,10 +4759,10 @@ function instance47($$self, $$props, $$invalidate) {
4744
4759
  $$invalidate(5, type = disabled ? "disable" : "normal");
4745
4760
  }
4746
4761
  if ($$self.$$.dirty & 32768) {
4747
- $$subscribe_index($$invalidate(9, index = app == null ? void 0 : app.sceneIndex));
4762
+ $$subscribe_index($$invalidate(9, index = app?.pageIndex));
4748
4763
  }
4749
4764
  if ($$self.$$.dirty & 32768) {
4750
- $$subscribe_length($$invalidate(8, length = app == null ? void 0 : app.sceneLength));
4765
+ $$subscribe_length($$invalidate(8, length = app?.pageLength));
4751
4766
  }
4752
4767
  if ($$self.$$.dirty & 20) {
4753
4768
  $$invalidate(7, prev_disabled = disabled || !$index);
@@ -4830,12 +4845,11 @@ function create_default_slot_52(ctx) {
4830
4845
  };
4831
4846
  }
4832
4847
  function create_default_slot_42(ctx) {
4833
- var _a;
4834
4848
  let icon;
4835
4849
  let current;
4836
4850
  icon = new Icon_default({
4837
4851
  props: {
4838
- src: (_a = ctx[1]) == null ? void 0 : _a.plus[ctx[4]],
4852
+ src: ctx[1]?.plus[ctx[4]],
4839
4853
  alt: "[plus]",
4840
4854
  $$slots: { default: [create_default_slot_52] },
4841
4855
  $$scope: { ctx }
@@ -4850,10 +4864,9 @@ function create_default_slot_42(ctx) {
4850
4864
  current = true;
4851
4865
  },
4852
4866
  p(ctx2, dirty) {
4853
- var _a2;
4854
4867
  const icon_changes = {};
4855
4868
  if (dirty & 18)
4856
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.plus[ctx2[4]];
4869
+ icon_changes.src = ctx2[1]?.plus[ctx2[4]];
4857
4870
  if (dirty & 262145) {
4858
4871
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4859
4872
  }
@@ -4948,12 +4961,11 @@ function create_default_slot_33(ctx) {
4948
4961
  };
4949
4962
  }
4950
4963
  function create_default_slot_23(ctx) {
4951
- var _a;
4952
4964
  let icon;
4953
4965
  let current;
4954
4966
  icon = new Icon_default({
4955
4967
  props: {
4956
- src: (_a = ctx[1]) == null ? void 0 : _a.minus[ctx[4]],
4968
+ src: ctx[1]?.minus[ctx[4]],
4957
4969
  alt: "[minus]",
4958
4970
  $$slots: { default: [create_default_slot_33] },
4959
4971
  $$scope: { ctx }
@@ -4968,10 +4980,9 @@ function create_default_slot_23(ctx) {
4968
4980
  current = true;
4969
4981
  },
4970
4982
  p(ctx2, dirty) {
4971
- var _a2;
4972
4983
  const icon_changes = {};
4973
4984
  if (dirty & 18)
4974
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.minus[ctx2[4]];
4985
+ icon_changes.src = ctx2[1]?.minus[ctx2[4]];
4975
4986
  if (dirty & 262145) {
4976
4987
  icon_changes.$$scope = { dirty, ctx: ctx2 };
4977
4988
  }
@@ -5026,12 +5037,11 @@ function create_default_slot_13(ctx) {
5026
5037
  };
5027
5038
  }
5028
5039
  function create_default_slot3(ctx) {
5029
- var _a;
5030
5040
  let icon;
5031
5041
  let current;
5032
5042
  icon = new Icon_default({
5033
5043
  props: {
5034
- src: (_a = ctx[1]) == null ? void 0 : _a.reset[ctx[4]],
5044
+ src: ctx[1]?.reset[ctx[4]],
5035
5045
  alt: "[reset]",
5036
5046
  $$slots: { default: [create_default_slot_13] },
5037
5047
  $$scope: { ctx }
@@ -5046,10 +5056,9 @@ function create_default_slot3(ctx) {
5046
5056
  current = true;
5047
5057
  },
5048
5058
  p(ctx2, dirty) {
5049
- var _a2;
5050
5059
  const icon_changes = {};
5051
5060
  if (dirty & 18)
5052
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.reset[ctx2[4]];
5061
+ icon_changes.src = ctx2[1]?.reset[ctx2[4]];
5053
5062
  if (dirty & 262145) {
5054
5063
  icon_changes.$$scope = { dirty, ctx: ctx2 };
5055
5064
  }
@@ -5287,21 +5296,21 @@ function instance48($$self, $$props, $$invalidate) {
5287
5296
  let { icons = void 0 } = $$props;
5288
5297
  let type;
5289
5298
  function plus() {
5290
- app == null ? void 0 : app.moveCamera({
5299
+ app?.moveCamera({
5291
5300
  scale: next_scale(scale, 1),
5292
5301
  centerX: 0,
5293
5302
  centerY: 0
5294
5303
  });
5295
5304
  }
5296
5305
  function minus() {
5297
- app == null ? void 0 : app.moveCamera({
5306
+ app?.moveCamera({
5298
5307
  scale: next_scale(scale, -1),
5299
5308
  centerX: 0,
5300
5309
  centerY: 0
5301
5310
  });
5302
5311
  }
5303
5312
  function reset() {
5304
- app == null ? void 0 : app.moveCamera({ scale: 1, centerX: 0, centerY: 0 });
5313
+ app?.moveCamera({ scale: 1, centerX: 0, centerY: 0 });
5305
5314
  }
5306
5315
  $$self.$$set = ($$props2) => {
5307
5316
  if ("app" in $$props2)
@@ -5314,9 +5323,8 @@ function instance48($$self, $$props, $$invalidate) {
5314
5323
  $$invalidate(1, icons = $$props2.icons);
5315
5324
  };
5316
5325
  $$self.$$.update = () => {
5317
- var _a;
5318
5326
  if ($$self.$$.dirty & 16384) {
5319
- $$subscribe_writable($$invalidate(10, writable2 = app == null ? void 0 : app.writable));
5327
+ $$subscribe_writable($$invalidate(10, writable2 = app?.writable));
5320
5328
  }
5321
5329
  if ($$self.$$.dirty & 131072) {
5322
5330
  $$invalidate(2, disabled = !$writable);
@@ -5328,10 +5336,10 @@ function instance48($$self, $$props, $$invalidate) {
5328
5336
  $$invalidate(4, type = disabled ? "disable" : "normal");
5329
5337
  }
5330
5338
  if ($$self.$$.dirty & 16384) {
5331
- $$subscribe_camera($$invalidate(8, camera = app == null ? void 0 : app.camera));
5339
+ $$subscribe_camera($$invalidate(8, camera = app?.baseCamera));
5332
5340
  }
5333
5341
  if ($$self.$$.dirty & 8) {
5334
- $$invalidate(16, scale = (_a = $camera == null ? void 0 : $camera.scale) != null ? _a : 1);
5342
+ $$invalidate(16, scale = $camera?.scale ?? 1);
5335
5343
  }
5336
5344
  if ($$self.$$.dirty & 65540) {
5337
5345
  $$invalidate(7, plus_disabled = disabled || next_scale(scale, 1) <= scale);
@@ -5548,8 +5556,8 @@ var scrollTop = function(node, value) {
5548
5556
  var AppsInToolbar = class {
5549
5557
  constructor(_data) {
5550
5558
  this._data = _data;
5551
- this._listeners = [];
5552
5559
  }
5560
+ _listeners = [];
5553
5561
  get data() {
5554
5562
  return this._data;
5555
5563
  }
@@ -5827,7 +5835,7 @@ function instance50($$self, $$props, $$invalidate) {
5827
5835
  let { theme = "light" } = $$props;
5828
5836
  let { disabled = false } = $$props;
5829
5837
  function set_stroke_width({ detail: value2 }) {
5830
- app == null ? void 0 : app.setStrokeWidth(value2);
5838
+ app?.setStrokeWidth(value2);
5831
5839
  }
5832
5840
  $$self.$$set = ($$props2) => {
5833
5841
  if ("app" in $$props2)
@@ -5838,12 +5846,11 @@ function instance50($$self, $$props, $$invalidate) {
5838
5846
  $$invalidate(5, disabled = $$props2.disabled);
5839
5847
  };
5840
5848
  $$self.$$.update = () => {
5841
- var _a;
5842
5849
  if ($$self.$$.dirty & 8) {
5843
- $$subscribe_memberState($$invalidate(1, memberState = app == null ? void 0 : app.memberState));
5850
+ $$subscribe_memberState($$invalidate(1, memberState = app?.memberState));
5844
5851
  }
5845
5852
  if ($$self.$$.dirty & 128) {
5846
- $$invalidate(6, value = (_a = $memberState == null ? void 0 : $memberState.strokeWidth) != null ? _a : 1);
5853
+ $$invalidate(6, value = $memberState?.strokeWidth ?? 1);
5847
5854
  }
5848
5855
  if ($$self.$$.dirty & 112) {
5849
5856
  $$invalidate(0, props = { value, theme, disabled });
@@ -6001,10 +6008,10 @@ function instance51($$self, $$props, $$invalidate) {
6001
6008
  };
6002
6009
  $$self.$$.update = () => {
6003
6010
  if ($$self.$$.dirty & 32) {
6004
- $$subscribe_memberState($$invalidate(3, memberState = app == null ? void 0 : app.memberState));
6011
+ $$subscribe_memberState($$invalidate(3, memberState = app?.memberState));
6005
6012
  }
6006
6013
  if ($$self.$$.dirty & 64) {
6007
- $$invalidate(2, strokeColor = $memberState == null ? void 0 : $memberState.strokeColor);
6014
+ $$invalidate(2, strokeColor = $memberState?.strokeColor);
6008
6015
  }
6009
6016
  };
6010
6017
  return [theme, disabled, strokeColor, memberState, set_stroke_color, app, $memberState];
@@ -6150,10 +6157,10 @@ function instance52($$self, $$props, $$invalidate) {
6150
6157
  };
6151
6158
  $$self.$$.update = () => {
6152
6159
  if ($$self.$$.dirty & 32) {
6153
- $$subscribe_memberState($$invalidate(3, memberState = app == null ? void 0 : app.memberState));
6160
+ $$subscribe_memberState($$invalidate(3, memberState = app?.memberState));
6154
6161
  }
6155
6162
  if ($$self.$$.dirty & 64) {
6156
- $$invalidate(2, textColor = $memberState == null ? void 0 : $memberState.textColor);
6163
+ $$invalidate(2, textColor = $memberState?.textColor);
6157
6164
  }
6158
6165
  };
6159
6166
  return [theme, disabled, textColor, memberState, set_stroke_color, app, $memberState];
@@ -6548,23 +6555,23 @@ function instance53($$self, $$props, $$invalidate) {
6548
6555
  $$invalidate(6, t = i18n5[language]);
6549
6556
  }
6550
6557
  if ($$self.$$.dirty & 256) {
6551
- $$subscribe_memberState($$invalidate(5, memberState = app == null ? void 0 : app.memberState));
6558
+ $$subscribe_memberState($$invalidate(5, memberState = app?.memberState));
6552
6559
  }
6553
6560
  if ($$self.$$.dirty & 2048) {
6554
- $$invalidate(4, appliance = $memberState == null ? void 0 : $memberState.currentApplianceName);
6561
+ $$invalidate(4, appliance = $memberState?.currentApplianceName);
6555
6562
  }
6556
6563
  if ($$self.$$.dirty & 2048) {
6557
- $$invalidate(3, shape = $memberState == null ? void 0 : $memberState.shapeType);
6564
+ $$invalidate(3, shape = $memberState?.shapeType);
6558
6565
  }
6559
6566
  if ($$self.$$.dirty & 256) {
6560
- $$invalidate(10, hotkeys = app == null ? void 0 : app.hotKeys);
6567
+ $$invalidate(10, hotkeys = app?.hotKeys);
6561
6568
  }
6562
6569
  if ($$self.$$.dirty & 1024) {
6563
6570
  $$invalidate(2, c = {
6564
- rectangle: hotkeys == null ? void 0 : hotkeys.changeToRectangle,
6565
- ellipse: hotkeys == null ? void 0 : hotkeys.changeToEllipse,
6566
- straight: hotkeys == null ? void 0 : hotkeys.changeToStraight,
6567
- arrow: hotkeys == null ? void 0 : hotkeys.changeToArrow
6571
+ rectangle: hotkeys?.changeToRectangle,
6572
+ ellipse: hotkeys?.changeToEllipse,
6573
+ straight: hotkeys?.changeToStraight,
6574
+ arrow: hotkeys?.changeToArrow
6568
6575
  });
6569
6576
  }
6570
6577
  };
@@ -8493,29 +8500,29 @@ function instance54($$self, $$props, $$invalidate) {
8493
8500
  set_store_value(top, $top = clamp($top + 32 + 4, 0, max_scroll), $top);
8494
8501
  }
8495
8502
  function clicker() {
8496
- app == null ? void 0 : app.setAppliance("clicker");
8503
+ app?.setAppliance("clicker");
8497
8504
  }
8498
8505
  function selector() {
8499
- app == null ? void 0 : app.setAppliance("selector");
8506
+ app?.setAppliance("selector");
8500
8507
  }
8501
8508
  function pencil() {
8502
- app == null ? void 0 : app.setAppliance("pencil");
8509
+ app?.setAppliance("pencil");
8503
8510
  }
8504
8511
  function text2() {
8505
- app == null ? void 0 : app.setAppliance("text");
8512
+ app?.setAppliance("text");
8506
8513
  }
8507
8514
  function select_last_shape() {
8508
8515
  if (applianceShapes.includes(last_shape)) {
8509
- app == null ? void 0 : app.setAppliance(last_shape);
8516
+ app?.setAppliance(last_shape);
8510
8517
  } else {
8511
- app == null ? void 0 : app.setAppliance("shape", last_shape);
8518
+ app?.setAppliance("shape", last_shape);
8512
8519
  }
8513
8520
  }
8514
8521
  function eraser() {
8515
- app == null ? void 0 : app.setAppliance("eraser");
8522
+ app?.setAppliance("eraser");
8516
8523
  }
8517
8524
  function clear() {
8518
- app == null ? void 0 : app.cleanCurrentScene();
8525
+ app?.cleanCurrentScene();
8519
8526
  }
8520
8527
  function div2_binding($$value) {
8521
8528
  binding_callbacks[$$value ? "unshift" : "push"](() => {
@@ -8572,28 +8579,28 @@ function instance54($$self, $$props, $$invalidate) {
8572
8579
  $$invalidate(9, t = i18n4[language]);
8573
8580
  }
8574
8581
  if ($$self.$$.dirty[0] & 1) {
8575
- $$invalidate(32, hotkeys = app == null ? void 0 : app.hotKeys);
8582
+ $$invalidate(32, hotkeys = app?.hotKeys);
8576
8583
  }
8577
8584
  if ($$self.$$.dirty[0] & 512 | $$self.$$.dirty[1] & 2) {
8578
8585
  $$invalidate(18, c = {
8579
- clicker: tooltip(t.clicker, hotkeys == null ? void 0 : hotkeys.changeToClick),
8580
- selector: tooltip(t.selector, hotkeys == null ? void 0 : hotkeys.changeToSelector),
8581
- pencil: tooltip(t.pencil, hotkeys == null ? void 0 : hotkeys.changeToPencil),
8582
- eraser: tooltip(t.eraser, hotkeys == null ? void 0 : hotkeys.changeToEraser),
8583
- text: tooltip(t.text, hotkeys == null ? void 0 : hotkeys.changeToText)
8586
+ clicker: tooltip(t.clicker, hotkeys?.changeToClick),
8587
+ selector: tooltip(t.selector, hotkeys?.changeToSelector),
8588
+ pencil: tooltip(t.pencil, hotkeys?.changeToPencil),
8589
+ eraser: tooltip(t.eraser, hotkeys?.changeToEraser),
8590
+ text: tooltip(t.text, hotkeys?.changeToText)
8584
8591
  });
8585
8592
  }
8586
8593
  if ($$self.$$.dirty[0] & 1) {
8587
- $$subscribe_memberState($$invalidate(17, memberState = app == null ? void 0 : app.memberState));
8594
+ $$subscribe_memberState($$invalidate(17, memberState = app?.memberState));
8588
8595
  }
8589
8596
  if ($$self.$$.dirty[1] & 8) {
8590
- $$invalidate(8, appliance = $memberState == null ? void 0 : $memberState.currentApplianceName);
8597
+ $$invalidate(8, appliance = $memberState?.currentApplianceName);
8591
8598
  }
8592
8599
  if ($$self.$$.dirty[1] & 8) {
8593
- $$invalidate(7, shape = $memberState == null ? void 0 : $memberState.shapeType);
8600
+ $$invalidate(7, shape = $memberState?.shapeType);
8594
8601
  }
8595
8602
  if ($$self.$$.dirty[0] & 1) {
8596
- $$subscribe_status($$invalidate(16, status = app == null ? void 0 : app.appsStatus));
8603
+ $$subscribe_status($$invalidate(16, status = app?.appsStatus));
8597
8604
  }
8598
8605
  if ($$self.$$.dirty[0] & 384) {
8599
8606
  if (applianceShapes.includes(appliance)) {
@@ -8651,16 +8658,25 @@ function instance54($$self, $$props, $$invalidate) {
8651
8658
  var Contents = class extends SvelteComponent {
8652
8659
  constructor(options) {
8653
8660
  super();
8654
- init(this, options, instance54, create_fragment54, safe_not_equal, {
8655
- app: 0,
8656
- theme: 1,
8657
- language: 2,
8658
- disabled: 3,
8659
- scroll_height: 4,
8660
- computed_height: 31,
8661
- scrollable: 5,
8662
- hide_apps: 6
8663
- }, null, [-1, -1]);
8661
+ init(
8662
+ this,
8663
+ options,
8664
+ instance54,
8665
+ create_fragment54,
8666
+ safe_not_equal,
8667
+ {
8668
+ app: 0,
8669
+ theme: 1,
8670
+ language: 2,
8671
+ disabled: 3,
8672
+ scroll_height: 4,
8673
+ computed_height: 31,
8674
+ scrollable: 5,
8675
+ hide_apps: 6
8676
+ },
8677
+ null,
8678
+ [-1, -1]
8679
+ );
8664
8680
  }
8665
8681
  };
8666
8682
  var Contents_default = Contents;
@@ -8772,7 +8788,12 @@ function create_fragment55(ctx) {
8772
8788
  path1 = svg_element("path");
8773
8789
  if_block.c();
8774
8790
  attr(div0, "class", div0_class_value = name6 + "-contents " + ctx[1]);
8775
- set_style(div0, "height", ctx[5] ? ctx[6] + "px" : "auto", false);
8791
+ set_style(
8792
+ div0,
8793
+ "height",
8794
+ ctx[5] ? ctx[6] + "px" : "auto",
8795
+ false
8796
+ );
8776
8797
  attr(input, "type", "checkbox");
8777
8798
  attr(path0, "fill", "#fff");
8778
8799
  attr(path0, "stroke", "none");
@@ -8831,7 +8852,12 @@ function create_fragment55(ctx) {
8831
8852
  attr(div0, "class", div0_class_value);
8832
8853
  }
8833
8854
  if (dirty & 96) {
8834
- set_style(div0, "height", ctx2[5] ? ctx2[6] + "px" : "auto", false);
8855
+ set_style(
8856
+ div0,
8857
+ "height",
8858
+ ctx2[5] ? ctx2[6] + "px" : "auto",
8859
+ false
8860
+ );
8835
8861
  }
8836
8862
  if (dirty & 8) {
8837
8863
  input.checked = ctx2[3];
@@ -8912,9 +8938,8 @@ function instance55($$self, $$props, $$invalidate) {
8912
8938
  $$invalidate(11, config = $$props2.config);
8913
8939
  };
8914
8940
  $$self.$$.update = () => {
8915
- var _a;
8916
8941
  if ($$self.$$.dirty & 1) {
8917
- $$subscribe_writable($$invalidate(8, writable2 = app == null ? void 0 : app.writable));
8942
+ $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
8918
8943
  }
8919
8944
  if ($$self.$$.dirty & 16384) {
8920
8945
  $$invalidate(7, disabled = !$writable);
@@ -8926,7 +8951,7 @@ function instance55($$self, $$props, $$invalidate) {
8926
8951
  $$invalidate(5, scrollable = $scroll_height + extra_height > $container_height);
8927
8952
  }
8928
8953
  if ($$self.$$.dirty & 2048) {
8929
- $$invalidate(4, hide_apps = ((_a = config.apps) == null ? void 0 : _a.enable) === false);
8954
+ $$invalidate(4, hide_apps = config.apps?.enable === false);
8930
8955
  }
8931
8956
  };
8932
8957
  return [
@@ -8968,12 +8993,11 @@ function get_each_context5(ctx, list, i) {
8968
8993
  return child_ctx;
8969
8994
  }
8970
8995
  function create_else_block_13(ctx) {
8971
- var _a;
8972
8996
  let icon;
8973
8997
  let current;
8974
8998
  icon = new Icon_default({
8975
8999
  props: {
8976
- src: (_a = ctx[1]) == null ? void 0 : _a.play[ctx[5]],
9000
+ src: ctx[1]?.play[ctx[5]],
8977
9001
  alt: "[play]",
8978
9002
  $$slots: { default: [create_default_slot_54] },
8979
9003
  $$scope: { ctx }
@@ -8988,10 +9012,9 @@ function create_else_block_13(ctx) {
8988
9012
  current = true;
8989
9013
  },
8990
9014
  p(ctx2, dirty) {
8991
- var _a2;
8992
9015
  const icon_changes = {};
8993
9016
  if (dirty & 34)
8994
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.play[ctx2[5]];
9017
+ icon_changes.src = ctx2[1]?.play[ctx2[5]];
8995
9018
  if (dirty & 268435457) {
8996
9019
  icon_changes.$$scope = { dirty, ctx: ctx2 };
8997
9020
  }
@@ -9013,12 +9036,11 @@ function create_else_block_13(ctx) {
9013
9036
  };
9014
9037
  }
9015
9038
  function create_if_block_22(ctx) {
9016
- var _a;
9017
9039
  let icon;
9018
9040
  let current;
9019
9041
  icon = new Icon_default({
9020
9042
  props: {
9021
- src: (_a = ctx[1]) == null ? void 0 : _a.pause[ctx[5]],
9043
+ src: ctx[1]?.pause[ctx[5]],
9022
9044
  alt: "[pause]",
9023
9045
  $$slots: { default: [create_default_slot_44] },
9024
9046
  $$scope: { ctx }
@@ -9033,10 +9055,9 @@ function create_if_block_22(ctx) {
9033
9055
  current = true;
9034
9056
  },
9035
9057
  p(ctx2, dirty) {
9036
- var _a2;
9037
9058
  const icon_changes = {};
9038
9059
  if (dirty & 34)
9039
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.pause[ctx2[5]];
9060
+ icon_changes.src = ctx2[1]?.pause[ctx2[5]];
9040
9061
  if (dirty & 268435457) {
9041
9062
  icon_changes.$$scope = { dirty, ctx: ctx2 };
9042
9063
  }
@@ -9058,12 +9079,11 @@ function create_if_block_22(ctx) {
9058
9079
  };
9059
9080
  }
9060
9081
  function create_if_block_13(ctx) {
9061
- var _a;
9062
9082
  let icon;
9063
9083
  let current;
9064
9084
  icon = new Icon_default({
9065
9085
  props: {
9066
- src: (_a = ctx[1]) == null ? void 0 : _a.loading[ctx[5]],
9086
+ src: ctx[1]?.loading[ctx[5]],
9067
9087
  alt: "[loading]",
9068
9088
  $$slots: { default: [create_default_slot_35] },
9069
9089
  $$scope: { ctx }
@@ -9078,10 +9098,9 @@ function create_if_block_13(ctx) {
9078
9098
  current = true;
9079
9099
  },
9080
9100
  p(ctx2, dirty) {
9081
- var _a2;
9082
9101
  const icon_changes = {};
9083
9102
  if (dirty & 34)
9084
- icon_changes.src = (_a2 = ctx2[1]) == null ? void 0 : _a2.loading[ctx2[5]];
9103
+ icon_changes.src = ctx2[1]?.loading[ctx2[5]];
9085
9104
  if (dirty & 268435457) {
9086
9105
  icon_changes.$$scope = { dirty, ctx: ctx2 };
9087
9106
  }
@@ -9790,7 +9809,7 @@ function instance56($$self, $$props, $$invalidate) {
9790
9809
  $$invalidate(12, t = i18n6[language]);
9791
9810
  }
9792
9811
  if ($$self.$$.dirty & 524288) {
9793
- $$invalidate(21, canPlay = player == null ? void 0 : player.canplay);
9812
+ $$invalidate(21, canPlay = player?.canplay);
9794
9813
  }
9795
9814
  if ($$self.$$.dirty & 2097152) {
9796
9815
  $$invalidate(4, disabled = !canPlay);
@@ -9799,16 +9818,16 @@ function instance56($$self, $$props, $$invalidate) {
9799
9818
  $$invalidate(5, type = disabled ? "disable" : "normal");
9800
9819
  }
9801
9820
  if ($$self.$$.dirty & 524288) {
9802
- $$subscribe_duration($$invalidate(11, duration = player == null ? void 0 : player.duration));
9821
+ $$subscribe_duration($$invalidate(11, duration = player?.duration));
9803
9822
  }
9804
9823
  if ($$self.$$.dirty & 524288) {
9805
- $$subscribe_current($$invalidate(10, current = player == null ? void 0 : player.currentTime));
9824
+ $$subscribe_current($$invalidate(10, current = player?.currentTime));
9806
9825
  }
9807
9826
  if ($$self.$$.dirty & 524288) {
9808
- $$subscribe_playbackRate($$invalidate(9, playbackRate = player == null ? void 0 : player.playbackRate));
9827
+ $$subscribe_playbackRate($$invalidate(9, playbackRate = player?.playbackRate));
9809
9828
  }
9810
9829
  if ($$self.$$.dirty & 524288) {
9811
- $$subscribe_phase($$invalidate(8, phase = player == null ? void 0 : player.phase));
9830
+ $$subscribe_phase($$invalidate(8, phase = player?.phase));
9812
9831
  }
9813
9832
  if ($$self.$$.dirty & 4194304) {
9814
9833
  $$invalidate(3, loading = $phase === "waitingFirstFrame" || $phase === "buffering");
@@ -9862,29 +9881,69 @@ var PlayerControl = class extends SvelteComponent {
9862
9881
  var PlayerControl_default = PlayerControl;
9863
9882
 
9864
9883
  // src/components/Fastboard/ReplayFastboard.svelte
9865
- function create_fragment57(ctx) {
9866
- let div2;
9867
- let div0;
9868
- let t;
9869
- let div1;
9884
+ function create_if_block9(ctx) {
9870
9885
  let playercontrol;
9871
9886
  let current;
9872
- let mounted;
9873
- let dispose;
9874
9887
  playercontrol = new PlayerControl_default({
9875
9888
  props: {
9876
9889
  player: ctx[0],
9877
9890
  theme: ctx[1],
9878
- language: ctx[2]
9891
+ language: ctx[2],
9892
+ icons: ctx[3].player_control?.icons
9879
9893
  }
9880
9894
  });
9895
+ return {
9896
+ c() {
9897
+ create_component(playercontrol.$$.fragment);
9898
+ },
9899
+ m(target, anchor) {
9900
+ mount_component(playercontrol, target, anchor);
9901
+ current = true;
9902
+ },
9903
+ p(ctx2, dirty) {
9904
+ const playercontrol_changes = {};
9905
+ if (dirty & 1)
9906
+ playercontrol_changes.player = ctx2[0];
9907
+ if (dirty & 2)
9908
+ playercontrol_changes.theme = ctx2[1];
9909
+ if (dirty & 4)
9910
+ playercontrol_changes.language = ctx2[2];
9911
+ if (dirty & 8)
9912
+ playercontrol_changes.icons = ctx2[3].player_control?.icons;
9913
+ playercontrol.$set(playercontrol_changes);
9914
+ },
9915
+ i(local) {
9916
+ if (current)
9917
+ return;
9918
+ transition_in(playercontrol.$$.fragment, local);
9919
+ current = true;
9920
+ },
9921
+ o(local) {
9922
+ transition_out(playercontrol.$$.fragment, local);
9923
+ current = false;
9924
+ },
9925
+ d(detaching) {
9926
+ destroy_component(playercontrol, detaching);
9927
+ }
9928
+ };
9929
+ }
9930
+ function create_fragment57(ctx) {
9931
+ let div2;
9932
+ let div0;
9933
+ let t;
9934
+ let div1;
9935
+ let current;
9936
+ let mounted;
9937
+ let dispose;
9938
+ let if_block = ctx[3].player_control?.enable !== false && create_if_block9(ctx);
9881
9939
  return {
9882
9940
  c() {
9883
9941
  div2 = element("div");
9884
9942
  div0 = element("div");
9885
9943
  t = space();
9886
9944
  div1 = element("div");
9887
- create_component(playercontrol.$$.fragment);
9945
+ if (if_block)
9946
+ if_block.c();
9888
9947
  attr(div0, "class", name8 + "-view");
9889
9948
  attr(div1, "class", name8 + "-bottom");
9890
9949
  attr(div2, "class", name8 + "-root");
@@ -9893,25 +9952,37 @@ function create_fragment57(ctx) {
9893
9952
  m(target, anchor) {
9894
9953
  insert(target, div2, anchor);
9895
9954
  append(div2, div0);
9896
- ctx[7](div0);
9955
+ ctx[8](div0);
9897
9956
  append(div2, t);
9898
9957
  append(div2, div1);
9899
- mount_component(playercontrol, div1, null);
9958
+ if (if_block)
9959
+ if_block.m(div1, null);
9900
9960
  current = true;
9901
9961
  if (!mounted) {
9902
- dispose = listen(div0, "touchstart", ctx[4], { passive: true, capture: true });
9962
+ dispose = listen(div0, "touchstart", ctx[5], { passive: true, capture: true });
9903
9963
  mounted = true;
9904
9964
  }
9905
9965
  },
9906
9966
  p(ctx2, [dirty]) {
9907
- const playercontrol_changes = {};
9908
- if (dirty & 1)
9909
- playercontrol_changes.player = ctx2[0];
9910
- if (dirty & 2)
9911
- playercontrol_changes.theme = ctx2[1];
9912
- if (dirty & 4)
9913
- playercontrol_changes.language = ctx2[2];
9914
- playercontrol.$set(playercontrol_changes);
9967
+ if (ctx2[3].player_control?.enable !== false) {
9968
+ if (if_block) {
9969
+ if_block.p(ctx2, dirty);
9970
+ if (dirty & 8) {
9971
+ transition_in(if_block, 1);
9972
+ }
9973
+ } else {
9974
+ if_block = create_if_block9(ctx2);
9975
+ if_block.c();
9976
+ transition_in(if_block, 1);
9977
+ if_block.m(div1, null);
9978
+ }
9979
+ } else if (if_block) {
9980
+ group_outros();
9981
+ transition_out(if_block, 1, 1, () => {
9982
+ if_block = null;
9983
+ });
9984
+ check_outros();
9985
+ }
9915
9986
  if (dirty & 1) {
9916
9987
  toggle_class(div2, "loading", !ctx2[0]);
9917
9988
  }
@@ -9919,18 +9990,19 @@ function create_fragment57(ctx) {
9919
9990
  i(local) {
9920
9991
  if (current)
9921
9992
  return;
9922
- transition_in(playercontrol.$$.fragment, local);
9993
+ transition_in(if_block);
9923
9994
  current = true;
9924
9995
  },
9925
9996
  o(local) {
9926
- transition_out(playercontrol.$$.fragment, local);
9997
+ transition_out(if_block);
9927
9998
  current = false;
9928
9999
  },
9929
10000
  d(detaching) {
9930
10001
  if (detaching)
9931
10002
  detach(div2);
9932
- ctx[7](null);
9933
- destroy_component(playercontrol);
10003
+ ctx[8](null);
10004
+ if (if_block)
10005
+ if_block.d();
9934
10006
  mounted = false;
9935
10007
  dispose();
9936
10008
  }
@@ -9941,6 +10013,7 @@ function instance57($$self, $$props, $$invalidate) {
9941
10013
  let { player = null } = $$props;
9942
10014
  let { theme = "light" } = $$props;
9943
10015
  let { language = "en" } = $$props;
10016
+ let { config = {} } = $$props;
9944
10017
  let { containerRef = void 0 } = $$props;
9945
10018
  let container;
9946
10019
  let mounted = false;
@@ -9961,7 +10034,7 @@ function instance57($$self, $$props, $$invalidate) {
9961
10034
  function div0_binding($$value) {
9962
10035
  binding_callbacks[$$value ? "unshift" : "push"](() => {
9963
10036
  container = $$value;
9964
- $$invalidate(3, container);
10037
+ $$invalidate(4, container);
9965
10038
  });
9966
10039
  }
9967
10040
  $$self.$$set = ($$props2) => {
@@ -9971,22 +10044,24 @@ function instance57($$self, $$props, $$invalidate) {
9971
10044
  $$invalidate(1, theme = $$props2.theme);
9972
10045
  if ("language" in $$props2)
9973
10046
  $$invalidate(2, language = $$props2.language);
10047
+ if ("config" in $$props2)
10048
+ $$invalidate(3, config = $$props2.config);
9974
10049
  if ("containerRef" in $$props2)
9975
- $$invalidate(5, containerRef = $$props2.containerRef);
10050
+ $$invalidate(6, containerRef = $$props2.containerRef);
9976
10051
  };
9977
10052
  $$self.$$.update = () => {
9978
- if ($$self.$$.dirty & 9) {
10053
+ if ($$self.$$.dirty & 17) {
9979
10054
  try {
9980
10055
  if (player && container) {
9981
10056
  player.bindContainer(container);
9982
- $$invalidate(6, mounted = true);
10057
+ $$invalidate(7, mounted = true);
9983
10058
  }
9984
10059
  } catch (err) {
9985
10060
  console.error("[fastboard] An error occurred while binding container");
9986
10061
  console.error(err);
9987
10062
  }
9988
10063
  }
9989
- if ($$self.$$.dirty & 67) {
10064
+ if ($$self.$$.dirty & 131) {
9990
10065
  if (player && theme && mounted) {
9991
10066
  player.manager.setPrefersColorScheme(theme);
9992
10067
  }
@@ -9996,6 +10071,7 @@ function instance57($$self, $$props, $$invalidate) {
9996
10071
  player,
9997
10072
  theme,
9998
10073
  language,
10074
+ config,
9999
10075
  container,
10000
10076
  focus_me,
10001
10077
  containerRef,
@@ -10010,7 +10086,8 @@ var ReplayFastboard = class extends SvelteComponent {
10010
10086
  player: 0,
10011
10087
  theme: 1,
10012
10088
  language: 2,
10013
- containerRef: 5
10089
+ config: 3,
10090
+ containerRef: 6
10014
10091
  });
10015
10092
  }
10016
10093
  };
@@ -10070,7 +10147,8 @@ function create_if_block_23(ctx) {
10070
10147
  props: {
10071
10148
  app: ctx[0],
10072
10149
  theme: ctx[1],
10073
- language: ctx[2]
10150
+ language: ctx[2],
10151
+ icons: ctx[3].redo_undo?.icons
10074
10152
  }
10075
10153
  });
10076
10154
  return {
@@ -10089,6 +10167,8 @@ function create_if_block_23(ctx) {
10089
10167
  redoundo_changes.theme = ctx2[1];
10090
10168
  if (dirty & 4)
10091
10169
  redoundo_changes.language = ctx2[2];
10170
+ if (dirty & 8)
10171
+ redoundo_changes.icons = ctx2[3].redo_undo?.icons;
10092
10172
  redoundo.$set(redoundo_changes);
10093
10173
  },
10094
10174
  i(local) {
@@ -10113,7 +10193,8 @@ function create_if_block_14(ctx) {
10113
10193
  props: {
10114
10194
  app: ctx[0],
10115
10195
  theme: ctx[1],
10116
- language: ctx[2]
10196
+ language: ctx[2],
10197
+ icons: ctx[3].zoom_control?.icons
10117
10198
  }
10118
10199
  });
10119
10200
  return {
@@ -10132,6 +10213,8 @@ function create_if_block_14(ctx) {
10132
10213
  zoomcontrol_changes.theme = ctx2[1];
10133
10214
  if (dirty & 4)
10134
10215
  zoomcontrol_changes.language = ctx2[2];
10216
+ if (dirty & 8)
10217
+ zoomcontrol_changes.icons = ctx2[3].zoom_control?.icons;
10135
10218
  zoomcontrol.$set(zoomcontrol_changes);
10136
10219
  },
10137
10220
  i(local) {
@@ -10149,14 +10232,15 @@ function create_if_block_14(ctx) {
10149
10232
  }
10150
10233
  };
10151
10234
  }
10152
- function create_if_block9(ctx) {
10235
+ function create_if_block10(ctx) {
10153
10236
  let pagecontrol;
10154
10237
  let current;
10155
10238
  pagecontrol = new PageControl_default({
10156
10239
  props: {
10157
10240
  app: ctx[0],
10158
10241
  theme: ctx[1],
10159
- language: ctx[2]
10242
+ language: ctx[2],
10243
+ icons: ctx[3].page_control?.icons
10160
10244
  }
10161
10245
  });
10162
10246
  return {
@@ -10175,6 +10259,8 @@ function create_if_block9(ctx) {
10175
10259
  pagecontrol_changes.theme = ctx2[1];
10176
10260
  if (dirty & 4)
10177
10261
  pagecontrol_changes.language = ctx2[2];
10262
+ if (dirty & 8)
10263
+ pagecontrol_changes.icons = ctx2[3].page_control?.icons;
10178
10264
  pagecontrol.$set(pagecontrol_changes);
10179
10265
  },
10180
10266
  i(local) {
@@ -10193,7 +10279,6 @@ function create_if_block9(ctx) {
10193
10279
  };
10194
10280
  }
10195
10281
  function create_fragment58(ctx) {
10196
- var _a, _b, _c, _d;
10197
10282
  let div4;
10198
10283
  let div0;
10199
10284
  let t0;
@@ -10206,10 +10291,10 @@ function create_fragment58(ctx) {
10206
10291
  let current;
10207
10292
  let mounted;
10208
10293
  let dispose;
10209
- let if_block0 = ((_a = ctx[3].toolbar) == null ? void 0 : _a.enable) !== false && create_if_block_32(ctx);
10210
- let if_block1 = ((_b = ctx[3].redo_undo) == null ? void 0 : _b.enable) !== false && create_if_block_23(ctx);
10211
- let if_block2 = ((_c = ctx[3].zoom_control) == null ? void 0 : _c.enable) !== false && create_if_block_14(ctx);
10212
- let if_block3 = ((_d = ctx[3].page_control) == null ? void 0 : _d.enable) !== false && create_if_block9(ctx);
10294
+ let if_block0 = ctx[3].toolbar?.enable !== false && create_if_block_32(ctx);
10295
+ let if_block1 = ctx[3].redo_undo?.enable !== false && create_if_block_23(ctx);
10296
+ let if_block2 = ctx[3].zoom_control?.enable !== false && create_if_block_14(ctx);
10297
+ let if_block3 = ctx[3].page_control?.enable !== false && create_if_block10(ctx);
10213
10298
  return {
10214
10299
  c() {
10215
10300
  div4 = element("div");
@@ -10265,8 +10350,7 @@ function create_fragment58(ctx) {
10265
10350
  }
10266
10351
  },
10267
10352
  p(ctx2, [dirty]) {
10268
- var _a2, _b2, _c2, _d2;
10269
- if (((_a2 = ctx2[3].toolbar) == null ? void 0 : _a2.enable) !== false) {
10353
+ if (ctx2[3].toolbar?.enable !== false) {
10270
10354
  if (if_block0) {
10271
10355
  if_block0.p(ctx2, dirty);
10272
10356
  if (dirty & 8) {
@@ -10288,7 +10372,7 @@ function create_fragment58(ctx) {
10288
10372
  if (dirty & 32) {
10289
10373
  toggle_class(div1, "hidden", !(ctx2[5] === "visible" || ctx2[5] === "toolbar-only"));
10290
10374
  }
10291
- if (((_b2 = ctx2[3].redo_undo) == null ? void 0 : _b2.enable) !== false) {
10375
+ if (ctx2[3].redo_undo?.enable !== false) {
10292
10376
  if (if_block1) {
10293
10377
  if_block1.p(ctx2, dirty);
10294
10378
  if (dirty & 8) {
@@ -10307,7 +10391,7 @@ function create_fragment58(ctx) {
10307
10391
  });
10308
10392
  check_outros();
10309
10393
  }
10310
- if (((_c2 = ctx2[3].zoom_control) == null ? void 0 : _c2.enable) !== false) {
10394
+ if (ctx2[3].zoom_control?.enable !== false) {
10311
10395
  if (if_block2) {
10312
10396
  if_block2.p(ctx2, dirty);
10313
10397
  if (dirty & 8) {
@@ -10329,14 +10413,14 @@ function create_fragment58(ctx) {
10329
10413
  if (dirty & 32) {
10330
10414
  toggle_class(div2, "hidden", ctx2[5] !== "visible");
10331
10415
  }
10332
- if (((_d2 = ctx2[3].page_control) == null ? void 0 : _d2.enable) !== false) {
10416
+ if (ctx2[3].page_control?.enable !== false) {
10333
10417
  if (if_block3) {
10334
10418
  if_block3.p(ctx2, dirty);
10335
10419
  if (dirty & 8) {
10336
10420
  transition_in(if_block3, 1);
10337
10421
  }
10338
10422
  } else {
10339
- if_block3 = create_if_block9(ctx2);
10423
+ if_block3 = create_if_block10(ctx2);
10340
10424
  if_block3.c();
10341
10425
  transition_in(if_block3, 1);
10342
10426
  if_block3.m(div3, null);
@@ -10442,13 +10526,13 @@ function instance58($$self, $$props, $$invalidate) {
10442
10526
  };
10443
10527
  $$self.$$.update = () => {
10444
10528
  if ($$self.$$.dirty & 1) {
10445
- $$subscribe_writable($$invalidate(8, writable2 = app == null ? void 0 : app.writable));
10529
+ $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
10446
10530
  }
10447
10531
  if ($$self.$$.dirty & 1) {
10448
- $$subscribe_boxState($$invalidate(7, boxState = app == null ? void 0 : app.boxState));
10532
+ $$subscribe_boxState($$invalidate(7, boxState = app?.boxState));
10449
10533
  }
10450
10534
  if ($$self.$$.dirty & 1) {
10451
- $$subscribe_focusedApp($$invalidate(6, focusedApp = app == null ? void 0 : app.focusedApp));
10535
+ $$subscribe_focusedApp($$invalidate(6, focusedApp = app?.focusedApp));
10452
10536
  }
10453
10537
  if ($$self.$$.dirty & 28672) {
10454
10538
  if (!$writable) {
@@ -10516,74 +10600,70 @@ var Fastboard_default = Fastboard;
10516
10600
  // src/helpers/index.ts
10517
10601
  function createUI(app, div) {
10518
10602
  let fastboard;
10519
- const ui = {
10520
- mount(div2, props) {
10521
- if (fastboard) {
10522
- fastboard.$destroy();
10523
- }
10524
- fastboard = new Fastboard_default({ target: div2, props: __spreadValues({ app }, props) });
10525
- return ui;
10526
- },
10527
- update(props) {
10528
- if (fastboard) {
10529
- fastboard.$set(props);
10530
- }
10531
- },
10532
- destroy() {
10533
- if (fastboard) {
10534
- fastboard.$destroy();
10535
- }
10536
- fastboard = void 0;
10603
+ function mount(div2, props) {
10604
+ if (fastboard) {
10605
+ fastboard.$destroy();
10537
10606
  }
10538
- };
10607
+ fastboard = new Fastboard_default({ target: div2, props: { app, ...props } });
10608
+ return ui;
10609
+ }
10610
+ function update2(props) {
10611
+ if (fastboard) {
10612
+ fastboard.$set(props);
10613
+ }
10614
+ }
10615
+ function destroy() {
10616
+ if (fastboard) {
10617
+ fastboard.$destroy();
10618
+ }
10619
+ fastboard = void 0;
10620
+ }
10621
+ function setElement(div2) {
10622
+ if (div2) {
10623
+ mount(div2);
10624
+ } else {
10625
+ destroy();
10626
+ }
10627
+ }
10628
+ const ui = { mount, update: update2, destroy, setElement };
10539
10629
  if (div) {
10540
- ui.mount(div);
10630
+ mount(div, { app });
10541
10631
  }
10542
10632
  return ui;
10543
10633
  }
10544
10634
  function createReplayUI(player, div) {
10545
10635
  let fastboard;
10546
- const ui = {
10547
- mount(div2, props) {
10548
- if (fastboard) {
10549
- fastboard.$destroy();
10550
- }
10551
- fastboard = new ReplayFastboard_default({ target: div2, props: __spreadValues({ player }, props) });
10552
- return ui;
10553
- },
10554
- update(props) {
10555
- if (fastboard) {
10556
- fastboard.$set(props);
10557
- }
10558
- },
10559
- destroy() {
10560
- if (fastboard) {
10561
- fastboard.$destroy();
10562
- }
10563
- fastboard = void 0;
10636
+ function mount(div2, props) {
10637
+ if (fastboard) {
10638
+ fastboard.$destroy();
10564
10639
  }
10565
- };
10640
+ fastboard = new ReplayFastboard_default({ target: div2, props: { player, ...props } });
10641
+ return ui;
10642
+ }
10643
+ function update2(props) {
10644
+ if (fastboard) {
10645
+ fastboard.$set(props);
10646
+ }
10647
+ }
10648
+ function destroy() {
10649
+ if (fastboard) {
10650
+ fastboard.$destroy();
10651
+ }
10652
+ fastboard = void 0;
10653
+ }
10654
+ function setElement(div2) {
10655
+ if (div2) {
10656
+ mount(div2);
10657
+ } else {
10658
+ destroy();
10659
+ }
10660
+ }
10661
+ const ui = { mount, update: update2, destroy, setElement };
10566
10662
  if (div) {
10567
- ui.mount(div);
10663
+ mount(div, { player });
10568
10664
  }
10569
10665
  return ui;
10570
10666
  }
10571
10667
 
10572
- // inline-sass-helper:inline-sass-style-helper.js
10573
- function injectStyle(text2) {
10574
- if (typeof document !== "undefined") {
10575
- var style = document.createElement("style");
10576
- var node = document.createTextNode(text2);
10577
- style.appendChild(node);
10578
- document.head.appendChild(style);
10579
- }
10580
- }
10581
-
10582
- // inline-sass-content:./src/style.scss
10583
- 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}';
10584
-
10585
- // inline-sass-stub:./src/style.scss
10586
- injectStyle(style_default);
10587
-
10588
10668
  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 };
10589
10669
  //# sourceMappingURL=index.mjs.map