@netless/fastboard-ui 0.3.0-canary.4 → 0.3.0-canary.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -21,27 +21,20 @@ var __spreadValues = (a, b) => {
21
21
  return a;
22
22
  };
23
23
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
24
  var __export = (target, all) => {
26
25
  for (var name10 in all)
27
26
  __defProp(target, name10, { get: all[name10], enumerable: true });
28
27
  };
29
- var __reExport = (target, module2, copyDefault, desc) => {
30
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
31
- for (let key of __getOwnPropNames(module2))
32
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
33
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") {
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
33
  }
35
- return target;
34
+ return to;
36
35
  };
37
- var __toESM = (module2, isNodeMode) => {
38
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
39
- };
40
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
41
- return (module2, temp) => {
42
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
43
- };
44
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
45
38
 
46
39
  // src/index.ts
47
40
  var src_exports = {};
@@ -55,6 +48,7 @@ __export(src_exports, {
55
48
  ZoomControl: () => ZoomControl_default,
56
49
  apps: () => apps
57
50
  });
51
+ module.exports = __toCommonJS(src_exports);
58
52
 
59
53
  // ../../node_modules/.pnpm/svelte@3.46.4/node_modules/svelte/internal/index.mjs
60
54
  function noop() {
@@ -168,6 +162,12 @@ function insert(target, node, anchor) {
168
162
  function detach(node) {
169
163
  node.parentNode.removeChild(node);
170
164
  }
165
+ function destroy_each(iterations, detaching) {
166
+ for (let i = 0; i < iterations.length; i += 1) {
167
+ if (iterations[i])
168
+ iterations[i].d(detaching);
169
+ }
170
+ }
171
171
  function element(name10) {
172
172
  return document.createElement(name10);
173
173
  }
@@ -231,6 +231,9 @@ function get_current_component() {
231
231
  throw new Error("Function called outside component initialization");
232
232
  return current_component;
233
233
  }
234
+ function onMount(fn) {
235
+ get_current_component().$$.on_mount.push(fn);
236
+ }
234
237
  function createEventDispatcher() {
235
238
  const component = get_current_component();
236
239
  return (type, detail) => {
@@ -3553,6 +3556,7 @@ function tippy_hide_all() {
3553
3556
  }
3554
3557
  var tippy_menu = {
3555
3558
  delay: 0,
3559
+ duration: [50, 300],
3556
3560
  placement: "right-start",
3557
3561
  interactive: true,
3558
3562
  trigger: "click"
@@ -4841,6 +4845,7 @@ function instance48($$self, $$props, $$invalidate) {
4841
4845
  }
4842
4846
  function addPage() {
4843
4847
  app == null ? void 0 : app.addPage({ after: true });
4848
+ app == null ? void 0 : app.nextPage();
4844
4849
  }
4845
4850
  $$self.$$set = ($$props2) => {
4846
4851
  if ("app" in $$props2)
@@ -5706,8 +5711,8 @@ var AppsInToolbar = class {
5706
5711
  this._listeners = this._listeners.filter((item) => item !== fn);
5707
5712
  };
5708
5713
  }
5709
- push(data) {
5710
- this._data.push(data);
5714
+ push(...data) {
5715
+ this._data.push(...data);
5711
5716
  this._listeners.forEach((fn) => fn(this._data));
5712
5717
  }
5713
5718
  insert(data, index) {
@@ -6629,14 +6634,14 @@ var Shapes_default = Shapes;
6629
6634
  // src/components/Toolbar/components/Contents.svelte
6630
6635
  function get_each_context3(ctx, list, i) {
6631
6636
  const child_ctx = ctx.slice();
6632
- child_ctx[39] = list[i];
6633
- const constants_0 = child_ctx[39];
6634
- child_ctx[40] = constants_0.icon;
6635
- child_ctx[41] = constants_0.label;
6636
- child_ctx[42] = constants_0.kind;
6637
- child_ctx[43] = constants_0.onClick;
6638
- const constants_1 = child_ctx[18] && child_ctx[18][child_ctx[42]];
6639
- child_ctx[44] = constants_1;
6637
+ child_ctx[40] = list[i];
6638
+ const constants_0 = child_ctx[40];
6639
+ child_ctx[41] = constants_0.icon;
6640
+ child_ctx[42] = constants_0.label;
6641
+ child_ctx[43] = constants_0.kind;
6642
+ child_ctx[44] = constants_0.onClick;
6643
+ const constants_1 = child_ctx[19] && child_ctx[19][child_ctx[43]];
6644
+ child_ctx[45] = constants_1;
6640
6645
  return child_ctx;
6641
6646
  }
6642
6647
  function create_if_block_7(ctx) {
@@ -6651,7 +6656,7 @@ function create_if_block_7(ctx) {
6651
6656
  button_props = assign(button_props, button_spread_levels[i]);
6652
6657
  }
6653
6658
  button = new Button_default({ props: button_props });
6654
- button.$on("click", ctx[20]);
6659
+ button.$on("click", ctx[21]);
6655
6660
  return {
6656
6661
  c() {
6657
6662
  create_component(button.$$.fragment);
@@ -6662,7 +6667,7 @@ function create_if_block_7(ctx) {
6662
6667
  },
6663
6668
  p(ctx2, dirty) {
6664
6669
  const button_changes = dirty[0] & 16384 ? get_spread_update(button_spread_levels, [button_spread_levels[0], get_spread_object(ctx2[14])]) : {};
6665
- if (dirty[0] & 2 | dirty[1] & 65536) {
6670
+ if (dirty[0] & 2 | dirty[1] & 131072) {
6666
6671
  button_changes.$$scope = { dirty, ctx: ctx2 };
6667
6672
  }
6668
6673
  button.$set(button_changes);
@@ -7652,7 +7657,7 @@ function create_if_block6(ctx) {
7652
7657
  $$scope: { ctx }
7653
7658
  }
7654
7659
  });
7655
- button.$on("click", ctx[21]);
7660
+ button.$on("click", ctx[22]);
7656
7661
  return {
7657
7662
  c() {
7658
7663
  create_component(button.$$.fragment);
@@ -7667,7 +7672,7 @@ function create_if_block6(ctx) {
7667
7672
  button_changes.theme = ctx2[1];
7668
7673
  if (dirty[0] & 8)
7669
7674
  button_changes.disabled = ctx2[3];
7670
- if (dirty[0] & 2 | dirty[1] & 65536) {
7675
+ if (dirty[0] & 2 | dirty[1] & 131072) {
7671
7676
  button_changes.$$scope = { dirty, ctx: ctx2 };
7672
7677
  }
7673
7678
  button.$set(button_changes);
@@ -7720,7 +7725,7 @@ function create_default_slot4(ctx) {
7720
7725
  }
7721
7726
  };
7722
7727
  }
7723
- function create_each_block3(key_1, ctx) {
7728
+ function create_each_block3(ctx) {
7724
7729
  let button;
7725
7730
  let img;
7726
7731
  let img_class_value;
@@ -7729,7 +7734,7 @@ function create_each_block3(key_1, ctx) {
7729
7734
  let img_title_value;
7730
7735
  let t0;
7731
7736
  let span;
7732
- let t1_value = ctx[41] + "";
7737
+ let t1_value = ctx[42] + "";
7733
7738
  let t1;
7734
7739
  let span_class_value;
7735
7740
  let t2;
@@ -7740,8 +7745,6 @@ function create_each_block3(key_1, ctx) {
7740
7745
  let mounted;
7741
7746
  let dispose;
7742
7747
  return {
7743
- key: key_1,
7744
- first: null,
7745
7748
  c() {
7746
7749
  button = element("button");
7747
7750
  img = element("img");
@@ -7750,18 +7753,17 @@ function create_each_block3(key_1, ctx) {
7750
7753
  t1 = text(t1_value);
7751
7754
  t2 = space();
7752
7755
  attr(img, "class", img_class_value = name5 + "-app-btn-icon " + ctx[1]);
7753
- if (!src_url_equal(img.src, img_src_value = ctx[40]))
7756
+ if (!src_url_equal(img.src, img_src_value = ctx[41]))
7754
7757
  attr(img, "src", img_src_value);
7755
- attr(img, "alt", img_alt_value = ctx[42]);
7756
- attr(img, "title", img_title_value = ctx[41]);
7758
+ attr(img, "alt", img_alt_value = ctx[43]);
7759
+ attr(img, "title", img_title_value = ctx[42]);
7757
7760
  attr(span, "class", span_class_value = name5 + "-app-btn-text " + ctx[1]);
7758
- attr(button, "class", button_class_value = name5 + "-app-btn " + ctx[42] + " " + ctx[1]);
7759
- attr(button, "title", button_title_value = ctx[41] + (ctx[44] && ctx[44].reason ? ": " + ctx[44].reason : ""));
7760
- attr(button, "data-app-kind", button_data_app_kind_value = ctx[39].kind);
7761
- button.disabled = button_disabled_value = ctx[44] && ctx[44].status !== "idle";
7762
- toggle_class(button, "is-loading", ctx[44] && ctx[44].status === "loading");
7763
- toggle_class(button, "is-failed", ctx[44] && ctx[44].status === "failed");
7764
- this.first = button;
7761
+ attr(button, "class", button_class_value = name5 + "-app-btn " + ctx[43] + " " + ctx[1]);
7762
+ attr(button, "title", button_title_value = ctx[42] + (ctx[45] && ctx[45].reason ? ": " + ctx[45].reason : ""));
7763
+ attr(button, "data-app-kind", button_data_app_kind_value = ctx[40].kind);
7764
+ button.disabled = button_disabled_value = ctx[45] && ctx[45].status !== "idle";
7765
+ toggle_class(button, "is-loading", ctx[45] && ctx[45].status === "loading");
7766
+ toggle_class(button, "is-failed", ctx[45] && ctx[45].status === "failed");
7765
7767
  },
7766
7768
  m(target, anchor) {
7767
7769
  insert(target, button, anchor);
@@ -7772,8 +7774,8 @@ function create_each_block3(key_1, ctx) {
7772
7774
  append(button, t2);
7773
7775
  if (!mounted) {
7774
7776
  dispose = listen(button, "click", function() {
7775
- if (is_function(ctx[0] && ctx[43].bind(null, ctx[0])))
7776
- (ctx[0] && ctx[43].bind(null, ctx[0])).apply(this, arguments);
7777
+ if (is_function(ctx[0] && ctx[44].bind(null, ctx[0])))
7778
+ (ctx[0] && ctx[44].bind(null, ctx[0])).apply(this, arguments);
7777
7779
  });
7778
7780
  mounted = true;
7779
7781
  }
@@ -7783,23 +7785,37 @@ function create_each_block3(key_1, ctx) {
7783
7785
  if (dirty[0] & 2 && img_class_value !== (img_class_value = name5 + "-app-btn-icon " + ctx[1])) {
7784
7786
  attr(img, "class", img_class_value);
7785
7787
  }
7788
+ if (dirty[0] & 262144 && !src_url_equal(img.src, img_src_value = ctx[41])) {
7789
+ attr(img, "src", img_src_value);
7790
+ }
7791
+ if (dirty[0] & 262144 && img_alt_value !== (img_alt_value = ctx[43])) {
7792
+ attr(img, "alt", img_alt_value);
7793
+ }
7794
+ if (dirty[0] & 262144 && img_title_value !== (img_title_value = ctx[42])) {
7795
+ attr(img, "title", img_title_value);
7796
+ }
7797
+ if (dirty[0] & 262144 && t1_value !== (t1_value = ctx[42] + ""))
7798
+ set_data(t1, t1_value);
7786
7799
  if (dirty[0] & 2 && span_class_value !== (span_class_value = name5 + "-app-btn-text " + ctx[1])) {
7787
7800
  attr(span, "class", span_class_value);
7788
7801
  }
7789
- if (dirty[0] & 2 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[42] + " " + ctx[1])) {
7802
+ if (dirty[0] & 262146 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[43] + " " + ctx[1])) {
7790
7803
  attr(button, "class", button_class_value);
7791
7804
  }
7792
- if (dirty[0] & 262144 && button_title_value !== (button_title_value = ctx[41] + (ctx[44] && ctx[44].reason ? ": " + ctx[44].reason : ""))) {
7805
+ if (dirty[0] & 786432 && button_title_value !== (button_title_value = ctx[42] + (ctx[45] && ctx[45].reason ? ": " + ctx[45].reason : ""))) {
7793
7806
  attr(button, "title", button_title_value);
7794
7807
  }
7795
- if (dirty[0] & 262144 && button_disabled_value !== (button_disabled_value = ctx[44] && ctx[44].status !== "idle")) {
7808
+ if (dirty[0] & 262144 && button_data_app_kind_value !== (button_data_app_kind_value = ctx[40].kind)) {
7809
+ attr(button, "data-app-kind", button_data_app_kind_value);
7810
+ }
7811
+ if (dirty[0] & 786432 && button_disabled_value !== (button_disabled_value = ctx[45] && ctx[45].status !== "idle")) {
7796
7812
  button.disabled = button_disabled_value;
7797
7813
  }
7798
- if (dirty[0] & 262146) {
7799
- toggle_class(button, "is-loading", ctx[44] && ctx[44].status === "loading");
7814
+ if (dirty[0] & 786434) {
7815
+ toggle_class(button, "is-loading", ctx[45] && ctx[45].status === "loading");
7800
7816
  }
7801
- if (dirty[0] & 262146) {
7802
- toggle_class(button, "is-failed", ctx[44] && ctx[44].status === "failed");
7817
+ if (dirty[0] & 786434) {
7818
+ toggle_class(button, "is-failed", ctx[45] && ctx[45].status === "failed");
7803
7819
  }
7804
7820
  },
7805
7821
  d(detaching) {
@@ -7862,8 +7878,6 @@ function create_fragment54(ctx) {
7862
7878
  let div6_class_value;
7863
7879
  let t18;
7864
7880
  let div7;
7865
- let each_blocks = [];
7866
- let each_1_lookup = /* @__PURE__ */ new Map();
7867
7881
  let div7_class_value;
7868
7882
  let div8_class_value;
7869
7883
  let current;
@@ -7883,7 +7897,7 @@ function create_fragment54(ctx) {
7883
7897
  button0_props = assign(button0_props, button0_spread_levels[i]);
7884
7898
  }
7885
7899
  button0 = new Button_default({ props: button0_props });
7886
- button0.$on("click", ctx[22]);
7900
+ button0.$on("click", ctx[23]);
7887
7901
  const button1_spread_levels = [
7888
7902
  { class: "selector" },
7889
7903
  ctx[14],
@@ -7897,7 +7911,7 @@ function create_fragment54(ctx) {
7897
7911
  button1_props = assign(button1_props, button1_spread_levels[i]);
7898
7912
  }
7899
7913
  button1 = new Button_default({ props: button1_props });
7900
- button1.$on("click", ctx[23]);
7914
+ button1.$on("click", ctx[24]);
7901
7915
  const button2_spread_levels = [
7902
7916
  { class: "pencil" },
7903
7917
  ctx[14],
@@ -7912,7 +7926,7 @@ function create_fragment54(ctx) {
7912
7926
  button2_props = assign(button2_props, button2_spread_levels[i]);
7913
7927
  }
7914
7928
  button2 = new Button_default({ props: button2_props });
7915
- button2.$on("click", ctx[24]);
7929
+ button2.$on("click", ctx[25]);
7916
7930
  const button3_spread_levels = [
7917
7931
  { class: "text" },
7918
7932
  ctx[14],
@@ -7927,7 +7941,7 @@ function create_fragment54(ctx) {
7927
7941
  button3_props = assign(button3_props, button3_spread_levels[i]);
7928
7942
  }
7929
7943
  button3 = new Button_default({ props: button3_props });
7930
- button3.$on("click", ctx[25]);
7944
+ button3.$on("click", ctx[26]);
7931
7945
  const button4_spread_levels = [
7932
7946
  { class: "shapes" },
7933
7947
  ctx[14],
@@ -7942,7 +7956,7 @@ function create_fragment54(ctx) {
7942
7956
  button4_props = assign(button4_props, button4_spread_levels[i]);
7943
7957
  }
7944
7958
  button4 = new Button_default({ props: button4_props });
7945
- button4.$on("click", ctx[26]);
7959
+ button4.$on("click", ctx[27]);
7946
7960
  const button5_spread_levels = [{ class: "eraser" }, ctx[14], { content: ctx[17].eraser }];
7947
7961
  let button5_props = {
7948
7962
  $$slots: { default: [create_default_slot_34] },
@@ -7952,7 +7966,7 @@ function create_fragment54(ctx) {
7952
7966
  button5_props = assign(button5_props, button5_spread_levels[i]);
7953
7967
  }
7954
7968
  button5 = new Button_default({ props: button5_props });
7955
- button5.$on("click", ctx[27]);
7969
+ button5.$on("click", ctx[28]);
7956
7970
  const button6_spread_levels = [{ class: "clear" }, ctx[14], { content: ctx[8].clear }];
7957
7971
  let button6_props = {
7958
7972
  $$slots: { default: [create_default_slot_24] },
@@ -7962,7 +7976,7 @@ function create_fragment54(ctx) {
7962
7976
  button6_props = assign(button6_props, button6_spread_levels[i]);
7963
7977
  }
7964
7978
  button6 = new Button_default({ props: button6_props });
7965
- button6.$on("click", ctx[28]);
7979
+ button6.$on("click", ctx[29]);
7966
7980
  const button7_spread_levels = [
7967
7981
  { class: "apps" },
7968
7982
  ctx[14],
@@ -8022,12 +8036,10 @@ function create_fragment54(ctx) {
8022
8036
  disabled: ctx[3]
8023
8037
  }
8024
8038
  });
8025
- let each_value = apps.data;
8026
- const get_key = (ctx2) => ctx2[39].kind;
8039
+ let each_value = ctx[18];
8040
+ let each_blocks = [];
8027
8041
  for (let i = 0; i < each_value.length; i += 1) {
8028
- let child_ctx = get_each_context3(ctx, each_value, i);
8029
- let key = get_key(child_ctx);
8030
- each_1_lookup.set(key, each_blocks[i] = create_each_block3(key, child_ctx));
8042
+ each_blocks[i] = create_each_block3(get_each_context3(ctx, each_value, i));
8031
8043
  }
8032
8044
  return {
8033
8045
  c() {
@@ -8089,6 +8101,7 @@ function create_fragment54(ctx) {
8089
8101
  attr(div5, "class", div5_class_value = name5 + "-panel-divider");
8090
8102
  attr(div6, "class", div6_class_value = name5 + "-panel shapes");
8091
8103
  attr(div7, "class", div7_class_value = name5 + "-panel apps");
8104
+ set_style(div7, "--n", ctx[18].length);
8092
8105
  attr(div8, "class", div8_class_value = name5 + "-panel-wrapper");
8093
8106
  set_style(div8, "display", "none");
8094
8107
  },
@@ -8123,11 +8136,11 @@ function create_fragment54(ctx) {
8123
8136
  append(div2, div1);
8124
8137
  append(div2, t11);
8125
8138
  mount_component(strokecolor0, div2, null);
8126
- ctx[33](div2);
8139
+ ctx[34](div2);
8127
8140
  append(div8, t12);
8128
8141
  append(div8, div3);
8129
8142
  mount_component(strokecolor1, div3, null);
8130
- ctx[34](div3);
8143
+ ctx[35](div3);
8131
8144
  append(div8, t13);
8132
8145
  append(div8, div6);
8133
8146
  mount_component(shapes2, div6, null);
@@ -8139,18 +8152,18 @@ function create_fragment54(ctx) {
8139
8152
  append(div6, div5);
8140
8153
  append(div6, t17);
8141
8154
  mount_component(strokecolor2, div6, null);
8142
- ctx[35](div6);
8155
+ ctx[36](div6);
8143
8156
  append(div8, t18);
8144
8157
  append(div8, div7);
8145
8158
  for (let i = 0; i < each_blocks.length; i += 1) {
8146
8159
  each_blocks[i].m(div7, null);
8147
8160
  }
8148
- ctx[36](div7);
8161
+ ctx[37](div7);
8149
8162
  current = true;
8150
8163
  if (!mounted) {
8151
8164
  dispose = [
8152
8165
  action_destroyer(scrollHeight_action = scrollHeight.call(null, div0, ctx[4])),
8153
- action_destroyer(scrollTop_action = scrollTop.call(null, div0, ctx[19]))
8166
+ action_destroyer(scrollTop_action = scrollTop.call(null, div0, ctx[20]))
8154
8167
  ];
8155
8168
  mounted = true;
8156
8169
  }
@@ -8180,7 +8193,7 @@ function create_fragment54(ctx) {
8180
8193
  dirty[0] & 16384 && get_spread_object(ctx2[14]),
8181
8194
  dirty[0] & 131072 && { content: ctx2[17].clicker }
8182
8195
  ]) : {};
8183
- if (dirty[0] & 130 | dirty[1] & 65536) {
8196
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8184
8197
  button0_changes.$$scope = { dirty, ctx: ctx2 };
8185
8198
  }
8186
8199
  button0.$set(button0_changes);
@@ -8189,7 +8202,7 @@ function create_fragment54(ctx) {
8189
8202
  dirty[0] & 16384 && get_spread_object(ctx2[14]),
8190
8203
  dirty[0] & 131072 && { content: ctx2[17].selector }
8191
8204
  ]) : {};
8192
- if (dirty[0] & 130 | dirty[1] & 65536) {
8205
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8193
8206
  button1_changes.$$scope = { dirty, ctx: ctx2 };
8194
8207
  }
8195
8208
  button1.$set(button1_changes);
@@ -8199,7 +8212,7 @@ function create_fragment54(ctx) {
8199
8212
  dirty[0] & 131072 && { content: ctx2[17].pencil },
8200
8213
  dirty[0] & 1024 && { menu: ctx2[10] }
8201
8214
  ]) : {};
8202
- if (dirty[0] & 130 | dirty[1] & 65536) {
8215
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8203
8216
  button2_changes.$$scope = { dirty, ctx: ctx2 };
8204
8217
  }
8205
8218
  button2.$set(button2_changes);
@@ -8209,7 +8222,7 @@ function create_fragment54(ctx) {
8209
8222
  dirty[0] & 131072 && { content: ctx2[17].text },
8210
8223
  dirty[0] & 2048 && { menu: ctx2[11] }
8211
8224
  ]) : {};
8212
- if (dirty[0] & 130 | dirty[1] & 65536) {
8225
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8213
8226
  button3_changes.$$scope = { dirty, ctx: ctx2 };
8214
8227
  }
8215
8228
  button3.$set(button3_changes);
@@ -8219,7 +8232,7 @@ function create_fragment54(ctx) {
8219
8232
  dirty[0] & 256 && { content: ctx2[8].shapes },
8220
8233
  dirty[0] & 4096 && { menu: ctx2[12] }
8221
8234
  ]) : {};
8222
- if (dirty[0] & 706 | dirty[1] & 65536) {
8235
+ if (dirty[0] & 706 | dirty[1] & 131072) {
8223
8236
  button4_changes.$$scope = { dirty, ctx: ctx2 };
8224
8237
  }
8225
8238
  button4.$set(button4_changes);
@@ -8228,7 +8241,7 @@ function create_fragment54(ctx) {
8228
8241
  dirty[0] & 16384 && get_spread_object(ctx2[14]),
8229
8242
  dirty[0] & 131072 && { content: ctx2[17].eraser }
8230
8243
  ]) : {};
8231
- if (dirty[0] & 130 | dirty[1] & 65536) {
8244
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8232
8245
  button5_changes.$$scope = { dirty, ctx: ctx2 };
8233
8246
  }
8234
8247
  button5.$set(button5_changes);
@@ -8237,7 +8250,7 @@ function create_fragment54(ctx) {
8237
8250
  dirty[0] & 16384 && get_spread_object(ctx2[14]),
8238
8251
  dirty[0] & 256 && { content: ctx2[8].clear }
8239
8252
  ]) : {};
8240
- if (dirty[0] & 2 | dirty[1] & 65536) {
8253
+ if (dirty[0] & 2 | dirty[1] & 131072) {
8241
8254
  button6_changes.$$scope = { dirty, ctx: ctx2 };
8242
8255
  }
8243
8256
  button6.$set(button6_changes);
@@ -8248,7 +8261,7 @@ function create_fragment54(ctx) {
8248
8261
  dirty[0] & 8192 && { menu: ctx2[13] },
8249
8262
  button7_spread_levels[4]
8250
8263
  ]) : {};
8251
- if (dirty[0] & 2 | dirty[1] & 65536) {
8264
+ if (dirty[0] & 2 | dirty[1] & 131072) {
8252
8265
  button7_changes.$$scope = { dirty, ctx: ctx2 };
8253
8266
  }
8254
8267
  button7.$set(button7_changes);
@@ -8326,9 +8339,26 @@ function create_fragment54(ctx) {
8326
8339
  if (dirty[0] & 8)
8327
8340
  strokecolor2_changes.disabled = ctx2[3];
8328
8341
  strokecolor2.$set(strokecolor2_changes);
8329
- if (dirty[0] & 262147) {
8330
- each_value = apps.data;
8331
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, div7, destroy_block, create_each_block3, null, get_each_context3);
8342
+ if (dirty[0] & 786435) {
8343
+ each_value = ctx2[18];
8344
+ let i;
8345
+ for (i = 0; i < each_value.length; i += 1) {
8346
+ const child_ctx = get_each_context3(ctx2, each_value, i);
8347
+ if (each_blocks[i]) {
8348
+ each_blocks[i].p(child_ctx, dirty);
8349
+ } else {
8350
+ each_blocks[i] = create_each_block3(child_ctx);
8351
+ each_blocks[i].c();
8352
+ each_blocks[i].m(div7, null);
8353
+ }
8354
+ }
8355
+ for (; i < each_blocks.length; i += 1) {
8356
+ each_blocks[i].d(1);
8357
+ }
8358
+ each_blocks.length = each_value.length;
8359
+ }
8360
+ if (!current || dirty[0] & 262144) {
8361
+ set_style(div7, "--n", ctx2[18].length);
8332
8362
  }
8333
8363
  },
8334
8364
  i(local) {
@@ -8396,17 +8426,15 @@ function create_fragment54(ctx) {
8396
8426
  detach(div8);
8397
8427
  destroy_component(strokewidth0);
8398
8428
  destroy_component(strokecolor0);
8399
- ctx[33](null);
8400
- destroy_component(strokecolor1);
8401
8429
  ctx[34](null);
8430
+ destroy_component(strokecolor1);
8431
+ ctx[35](null);
8402
8432
  destroy_component(shapes2);
8403
8433
  destroy_component(strokewidth1);
8404
8434
  destroy_component(strokecolor2);
8405
- ctx[35](null);
8406
- for (let i = 0; i < each_blocks.length; i += 1) {
8407
- each_blocks[i].d();
8408
- }
8409
8435
  ctx[36](null);
8436
+ destroy_each(each_blocks, detaching);
8437
+ ctx[37](null);
8410
8438
  mounted = false;
8411
8439
  run_all(dispose);
8412
8440
  }
@@ -8423,9 +8451,11 @@ function instance54($$self, $$props, $$invalidate) {
8423
8451
  let status;
8424
8452
  let max_scroll;
8425
8453
  let $top;
8426
- let $scroll_height, $$unsubscribe_scroll_height = noop, $$subscribe_scroll_height = () => ($$unsubscribe_scroll_height(), $$unsubscribe_scroll_height = subscribe(scroll_height, ($$value) => $$invalidate(31, $scroll_height = $$value)), scroll_height);
8427
- let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(32, $memberState = $$value)), memberState);
8428
- let $status, $$unsubscribe_status = noop, $$subscribe_status = () => ($$unsubscribe_status(), $$unsubscribe_status = subscribe(status, ($$value) => $$invalidate(18, $status = $$value)), status);
8454
+ let $scroll_height, $$unsubscribe_scroll_height = noop, $$subscribe_scroll_height = () => ($$unsubscribe_scroll_height(), $$unsubscribe_scroll_height = subscribe(scroll_height, ($$value) => $$invalidate(32, $scroll_height = $$value)), scroll_height);
8455
+ let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(33, $memberState = $$value)), memberState);
8456
+ let $apps;
8457
+ let $status, $$unsubscribe_status = noop, $$subscribe_status = () => ($$unsubscribe_status(), $$unsubscribe_status = subscribe(status, ($$value) => $$invalidate(19, $status = $$value)), status);
8458
+ component_subscribe($$self, apps, ($$value) => $$invalidate(18, $apps = $$value));
8429
8459
  $$self.$$.on_destroy.push(() => $$unsubscribe_scroll_height());
8430
8460
  $$self.$$.on_destroy.push(() => $$unsubscribe_memberState());
8431
8461
  $$self.$$.on_destroy.push(() => $$unsubscribe_status());
@@ -8444,7 +8474,7 @@ function instance54($$self, $$props, $$invalidate) {
8444
8474
  let apps_panel;
8445
8475
  let btn_props;
8446
8476
  let top = writable(0);
8447
- component_subscribe($$self, top, (value) => $$invalidate(38, $top = value));
8477
+ component_subscribe($$self, top, (value) => $$invalidate(39, $top = value));
8448
8478
  function scroll_up() {
8449
8479
  set_store_value(top, $top = clamp($top - 32 - 4, 0, max_scroll), $top);
8450
8480
  }
@@ -8512,7 +8542,7 @@ function instance54($$self, $$props, $$invalidate) {
8512
8542
  if ("scroll_height" in $$props2)
8513
8543
  $$subscribe_scroll_height($$invalidate(4, scroll_height = $$props2.scroll_height));
8514
8544
  if ("computed_height" in $$props2)
8515
- $$invalidate(29, computed_height = $$props2.computed_height);
8545
+ $$invalidate(30, computed_height = $$props2.computed_height);
8516
8546
  if ("scrollable" in $$props2)
8517
8547
  $$invalidate(5, scrollable = $$props2.scrollable);
8518
8548
  };
@@ -8532,9 +8562,9 @@ function instance54($$self, $$props, $$invalidate) {
8532
8562
  }
8533
8563
  if ($$self.$$.dirty[0] & 1) {
8534
8564
  $:
8535
- $$invalidate(30, hotkeys = app == null ? void 0 : app.hotKeys);
8565
+ $$invalidate(31, hotkeys = app == null ? void 0 : app.hotKeys);
8536
8566
  }
8537
- if ($$self.$$.dirty[0] & 1073742080) {
8567
+ if ($$self.$$.dirty[0] & 256 | $$self.$$.dirty[1] & 1) {
8538
8568
  $:
8539
8569
  $$invalidate(17, c = {
8540
8570
  clicker: tooltip(t.clicker, hotkeys == null ? void 0 : hotkeys.changeToClick),
@@ -8548,11 +8578,11 @@ function instance54($$self, $$props, $$invalidate) {
8548
8578
  $:
8549
8579
  $$subscribe_memberState($$invalidate(16, memberState = app == null ? void 0 : app.memberState));
8550
8580
  }
8551
- if ($$self.$$.dirty[1] & 2) {
8581
+ if ($$self.$$.dirty[1] & 4) {
8552
8582
  $:
8553
8583
  $$invalidate(7, appliance = $memberState == null ? void 0 : $memberState.currentApplianceName);
8554
8584
  }
8555
- if ($$self.$$.dirty[1] & 2) {
8585
+ if ($$self.$$.dirty[1] & 4) {
8556
8586
  $:
8557
8587
  $$invalidate(6, shape = $memberState == null ? void 0 : $memberState.shapeType);
8558
8588
  }
@@ -8560,10 +8590,6 @@ function instance54($$self, $$props, $$invalidate) {
8560
8590
  $:
8561
8591
  $$subscribe_status($$invalidate(15, status = app == null ? void 0 : app.appsStatus));
8562
8592
  }
8563
- if ($$self.$$.dirty[0] & 536870944 | $$self.$$.dirty[1] & 1) {
8564
- $:
8565
- max_scroll = scrollable ? $scroll_height + (32 + 8) * 2 - computed_height : 0;
8566
- }
8567
8593
  if ($$self.$$.dirty[0] & 192) {
8568
8594
  $:
8569
8595
  if (applianceShapes.includes(appliance)) {
@@ -8572,6 +8598,10 @@ function instance54($$self, $$props, $$invalidate) {
8572
8598
  $$invalidate(9, last_shape = shape);
8573
8599
  }
8574
8600
  }
8601
+ if ($$self.$$.dirty[0] & 1073741856 | $$self.$$.dirty[1] & 2) {
8602
+ $:
8603
+ max_scroll = scrollable ? $scroll_height + (32 + 8) * 2 - computed_height : 0;
8604
+ }
8575
8605
  };
8576
8606
  return [
8577
8607
  app,
@@ -8592,6 +8622,7 @@ function instance54($$self, $$props, $$invalidate) {
8592
8622
  status,
8593
8623
  memberState,
8594
8624
  c,
8625
+ $apps,
8595
8626
  $status,
8596
8627
  top,
8597
8628
  scroll_up,
@@ -8622,7 +8653,7 @@ var Contents = class extends SvelteComponent {
8622
8653
  language: 2,
8623
8654
  disabled: 3,
8624
8655
  scroll_height: 4,
8625
- computed_height: 29,
8656
+ computed_height: 30,
8626
8657
  scrollable: 5
8627
8658
  }, null, [-1, -1]);
8628
8659
  }
@@ -9367,13 +9398,14 @@ function create_if_block8(ctx) {
9367
9398
  }
9368
9399
  function create_default_slot_15(ctx) {
9369
9400
  let span;
9401
+ let t0_value = (ctx[15] || 1) + "";
9370
9402
  let t0;
9371
9403
  let t1;
9372
9404
  let span_class_value;
9373
9405
  return {
9374
9406
  c() {
9375
9407
  span = element("span");
9376
- t0 = text(ctx[15]);
9408
+ t0 = text(t0_value);
9377
9409
  t1 = text("x");
9378
9410
  attr(span, "class", span_class_value = name7 + "-speed-text");
9379
9411
  },
@@ -9383,8 +9415,8 @@ function create_default_slot_15(ctx) {
9383
9415
  append(span, t1);
9384
9416
  },
9385
9417
  p(ctx2, dirty) {
9386
- if (dirty & 32768)
9387
- set_data(t0, ctx2[15]);
9418
+ if (dirty & 32768 && t0_value !== (t0_value = (ctx2[15] || 1) + ""))
9419
+ set_data(t0, t0_value);
9388
9420
  },
9389
9421
  d(detaching) {
9390
9422
  if (detaching)
@@ -9920,6 +9952,15 @@ function instance57($$self, $$props, $$invalidate) {
9920
9952
  let { language = "en" } = $$props;
9921
9953
  let { containerRef = void 0 } = $$props;
9922
9954
  let container;
9955
+ onMount(() => {
9956
+ if (containerRef) {
9957
+ containerRef(container);
9958
+ return () => {
9959
+ if (containerRef)
9960
+ containerRef(null);
9961
+ };
9962
+ }
9963
+ });
9923
9964
  function div0_binding($$value) {
9924
9965
  binding_callbacks[$$value ? "unshift" : "push"](() => {
9925
9966
  container = $$value;
@@ -9939,13 +9980,19 @@ function instance57($$self, $$props, $$invalidate) {
9939
9980
  $$self.$$.update = () => {
9940
9981
  if ($$self.$$.dirty & 9) {
9941
9982
  $:
9942
- if (player && container)
9943
- player.bindContainer(container);
9983
+ try {
9984
+ if (player && container)
9985
+ player.bindContainer(container);
9986
+ } catch (err) {
9987
+ console.error("[fastboard] An error occurred while binding container");
9988
+ console.error(err);
9989
+ }
9944
9990
  }
9945
- if ($$self.$$.dirty & 24) {
9991
+ if ($$self.$$.dirty & 3) {
9946
9992
  $:
9947
- if (containerRef)
9948
- containerRef(container || null);
9993
+ if (player && theme) {
9994
+ player.manager.setPrefersColorScheme(theme);
9995
+ }
9949
9996
  }
9950
9997
  };
9951
9998
  return [player, theme, language, container, containerRef, div0_binding];
@@ -10130,6 +10177,15 @@ function instance58($$self, $$props, $$invalidate) {
10130
10177
  let { language = "en" } = $$props;
10131
10178
  let { containerRef = void 0 } = $$props;
10132
10179
  let container;
10180
+ onMount(() => {
10181
+ if (containerRef) {
10182
+ containerRef(container);
10183
+ return () => {
10184
+ if (containerRef)
10185
+ containerRef(null);
10186
+ };
10187
+ }
10188
+ });
10133
10189
  function div0_binding($$value) {
10134
10190
  binding_callbacks[$$value ? "unshift" : "push"](() => {
10135
10191
  container = $$value;
@@ -10149,13 +10205,19 @@ function instance58($$self, $$props, $$invalidate) {
10149
10205
  $$self.$$.update = () => {
10150
10206
  if ($$self.$$.dirty & 9) {
10151
10207
  $:
10152
- if (app && container)
10153
- app.bindContainer(container);
10208
+ try {
10209
+ if (app && container)
10210
+ app.bindContainer(container);
10211
+ } catch (err) {
10212
+ console.error("[fastboard] An error occurred while binding container");
10213
+ console.error(err);
10214
+ }
10154
10215
  }
10155
- if ($$self.$$.dirty & 24) {
10216
+ if ($$self.$$.dirty & 3) {
10156
10217
  $:
10157
- if (containerRef)
10158
- containerRef(container || null);
10218
+ if (app && theme) {
10219
+ app.manager.setPrefersColorScheme(theme);
10220
+ }
10159
10221
  }
10160
10222
  };
10161
10223
  return [app, theme, language, container, containerRef, div0_binding];
@@ -10184,9 +10246,8 @@ function injectStyle(text2) {
10184
10246
  }
10185
10247
 
10186
10248
  // inline-sass-content:./src/style.scss
10187
- 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;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:transparent;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;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:transparent;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;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:transparent;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;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:transparent;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)}.fastboard-toolbar.collapsed{transform:translate(-100%)}.fastboard-toolbar-handler{position:absolute;left:100%;width:17px;font-size:0;cursor:pointer}.fastboard-toolbar-handler input[type=checkbox]{position:absolute;top:0;left:0;appearance:none;margin:0;width:100%;height:100%;cursor:pointer}.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:transparent;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:transparent;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:transparent}.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;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 transparent;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 transparent}.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(3,1fr);gap:4px}.fastboard-toolbar-app-btn{margin:0;border:0;padding:4px;background-color:transparent;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;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}.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}.fastboard-bottom-right{left:auto;right:8px}.fastboard-bottom{right:8px}.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}';
10249
+ 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;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:transparent;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;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:transparent;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;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:transparent;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;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:transparent;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)}.fastboard-toolbar.collapsed{transform:translate(-100%)}.fastboard-toolbar-handler{position:absolute;left:100%;width:17px;font-size:0;cursor:pointer}.fastboard-toolbar-handler input[type=checkbox]{position:absolute;top:0;left:0;appearance:none;margin:0;width:100%;height:100%;cursor:pointer}.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:transparent;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:transparent;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:transparent}.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;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 transparent;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 transparent}.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:transparent;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}.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}.fastboard-bottom-right{left:auto;right:8px}.fastboard-bottom{right:8px}.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}';
10188
10250
 
10189
10251
  // inline-sass-stub:./src/style.scss
10190
10252
  injectStyle(style_default);
10191
- module.exports = __toCommonJS(src_exports);
10192
10253
  //# sourceMappingURL=index.js.map