@netless/fastboard-ui 0.3.0-canary.5 → 0.3.0

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.
@@ -3557,6 +3557,7 @@ function tippy_hide_all() {
3557
3557
  }
3558
3558
  var tippy_menu = {
3559
3559
  delay: 0,
3560
+ duration: [50, 300],
3560
3561
  placement: "right-start",
3561
3562
  interactive: true,
3562
3563
  trigger: "click"
@@ -4865,6 +4866,7 @@ function instance48($$self, $$props, $$invalidate) {
4865
4866
  }
4866
4867
  function addPage() {
4867
4868
  app == null ? void 0 : app.addPage({ after: true });
4869
+ app == null ? void 0 : app.nextPage();
4868
4870
  }
4869
4871
  $$self.$$set = ($$props2) => {
4870
4872
  if ("app" in $$props2)
@@ -5628,8 +5630,8 @@ import {
5628
5630
  check_outros as check_outros4,
5629
5631
  component_subscribe,
5630
5632
  create_component as create_component6,
5631
- destroy_block as destroy_block2,
5632
5633
  destroy_component as destroy_component6,
5634
+ destroy_each,
5633
5635
  detach as detach53,
5634
5636
  element as element10,
5635
5637
  empty as empty4,
@@ -5644,6 +5646,7 @@ import {
5644
5646
  noop as noop53,
5645
5647
  run_all as run_all3,
5646
5648
  safe_not_equal as safe_not_equal54,
5649
+ set_data as set_data3,
5647
5650
  set_store_value,
5648
5651
  set_style as set_style3,
5649
5652
  space as space7,
@@ -5652,8 +5655,7 @@ import {
5652
5655
  text as text_1,
5653
5656
  toggle_class as toggle_class48,
5654
5657
  transition_in as transition_in8,
5655
- transition_out as transition_out8,
5656
- update_keyed_each as update_keyed_each3
5658
+ transition_out as transition_out8
5657
5659
  } from "svelte/internal";
5658
5660
 
5659
5661
  // src/components/Toolbar/components/constants.ts
@@ -5778,8 +5780,8 @@ var AppsInToolbar = class {
5778
5780
  this._listeners = this._listeners.filter((item) => item !== fn);
5779
5781
  };
5780
5782
  }
5781
- push(data) {
5782
- this._data.push(data);
5783
+ push(...data) {
5784
+ this._data.push(...data);
5783
5785
  this._listeners.forEach((fn) => fn(this._data));
5784
5786
  }
5785
5787
  insert(data, index) {
@@ -6782,14 +6784,14 @@ var Shapes_default = Shapes;
6782
6784
  // src/components/Toolbar/components/Contents.svelte
6783
6785
  function get_each_context3(ctx, list, i) {
6784
6786
  const child_ctx = ctx.slice();
6785
- child_ctx[39] = list[i];
6786
- const constants_0 = child_ctx[39];
6787
- child_ctx[40] = constants_0.icon;
6788
- child_ctx[41] = constants_0.label;
6789
- child_ctx[42] = constants_0.kind;
6790
- child_ctx[43] = constants_0.onClick;
6791
- const constants_1 = child_ctx[18] && child_ctx[18][child_ctx[42]];
6792
- child_ctx[44] = constants_1;
6787
+ child_ctx[40] = list[i];
6788
+ const constants_0 = child_ctx[40];
6789
+ child_ctx[41] = constants_0.icon;
6790
+ child_ctx[42] = constants_0.label;
6791
+ child_ctx[43] = constants_0.kind;
6792
+ child_ctx[44] = constants_0.onClick;
6793
+ const constants_1 = child_ctx[19] && child_ctx[19][child_ctx[43]];
6794
+ child_ctx[45] = constants_1;
6793
6795
  return child_ctx;
6794
6796
  }
6795
6797
  function create_if_block_7(ctx) {
@@ -6804,7 +6806,7 @@ function create_if_block_7(ctx) {
6804
6806
  button_props = assign2(button_props, button_spread_levels[i]);
6805
6807
  }
6806
6808
  button = new Button_default({ props: button_props });
6807
- button.$on("click", ctx[20]);
6809
+ button.$on("click", ctx[21]);
6808
6810
  return {
6809
6811
  c() {
6810
6812
  create_component6(button.$$.fragment);
@@ -6815,7 +6817,7 @@ function create_if_block_7(ctx) {
6815
6817
  },
6816
6818
  p(ctx2, dirty) {
6817
6819
  const button_changes = dirty[0] & 16384 ? get_spread_update2(button_spread_levels, [button_spread_levels[0], get_spread_object2(ctx2[14])]) : {};
6818
- if (dirty[0] & 2 | dirty[1] & 65536) {
6820
+ if (dirty[0] & 2 | dirty[1] & 131072) {
6819
6821
  button_changes.$$scope = { dirty, ctx: ctx2 };
6820
6822
  }
6821
6823
  button.$set(button_changes);
@@ -7805,7 +7807,7 @@ function create_if_block6(ctx) {
7805
7807
  $$scope: { ctx }
7806
7808
  }
7807
7809
  });
7808
- button.$on("click", ctx[21]);
7810
+ button.$on("click", ctx[22]);
7809
7811
  return {
7810
7812
  c() {
7811
7813
  create_component6(button.$$.fragment);
@@ -7820,7 +7822,7 @@ function create_if_block6(ctx) {
7820
7822
  button_changes.theme = ctx2[1];
7821
7823
  if (dirty[0] & 8)
7822
7824
  button_changes.disabled = ctx2[3];
7823
- if (dirty[0] & 2 | dirty[1] & 65536) {
7825
+ if (dirty[0] & 2 | dirty[1] & 131072) {
7824
7826
  button_changes.$$scope = { dirty, ctx: ctx2 };
7825
7827
  }
7826
7828
  button.$set(button_changes);
@@ -7873,7 +7875,7 @@ function create_default_slot4(ctx) {
7873
7875
  }
7874
7876
  };
7875
7877
  }
7876
- function create_each_block3(key_1, ctx) {
7878
+ function create_each_block3(ctx) {
7877
7879
  let button;
7878
7880
  let img;
7879
7881
  let img_class_value;
@@ -7882,7 +7884,7 @@ function create_each_block3(key_1, ctx) {
7882
7884
  let img_title_value;
7883
7885
  let t0;
7884
7886
  let span;
7885
- let t1_value = ctx[41] + "";
7887
+ let t1_value = ctx[42] + "";
7886
7888
  let t1;
7887
7889
  let span_class_value;
7888
7890
  let t2;
@@ -7893,8 +7895,6 @@ function create_each_block3(key_1, ctx) {
7893
7895
  let mounted;
7894
7896
  let dispose;
7895
7897
  return {
7896
- key: key_1,
7897
- first: null,
7898
7898
  c() {
7899
7899
  button = element10("button");
7900
7900
  img = element10("img");
@@ -7903,18 +7903,17 @@ function create_each_block3(key_1, ctx) {
7903
7903
  t1 = text_1(t1_value);
7904
7904
  t2 = space7();
7905
7905
  attr54(img, "class", img_class_value = name5 + "-app-btn-icon " + ctx[1]);
7906
- if (!src_url_equal2(img.src, img_src_value = ctx[40]))
7906
+ if (!src_url_equal2(img.src, img_src_value = ctx[41]))
7907
7907
  attr54(img, "src", img_src_value);
7908
- attr54(img, "alt", img_alt_value = ctx[42]);
7909
- attr54(img, "title", img_title_value = ctx[41]);
7908
+ attr54(img, "alt", img_alt_value = ctx[43]);
7909
+ attr54(img, "title", img_title_value = ctx[42]);
7910
7910
  attr54(span, "class", span_class_value = name5 + "-app-btn-text " + ctx[1]);
7911
- attr54(button, "class", button_class_value = name5 + "-app-btn " + ctx[42] + " " + ctx[1]);
7912
- attr54(button, "title", button_title_value = ctx[41] + (ctx[44] && ctx[44].reason ? ": " + ctx[44].reason : ""));
7913
- attr54(button, "data-app-kind", button_data_app_kind_value = ctx[39].kind);
7914
- button.disabled = button_disabled_value = ctx[44] && ctx[44].status !== "idle";
7915
- toggle_class48(button, "is-loading", ctx[44] && ctx[44].status === "loading");
7916
- toggle_class48(button, "is-failed", ctx[44] && ctx[44].status === "failed");
7917
- this.first = button;
7911
+ attr54(button, "class", button_class_value = name5 + "-app-btn " + ctx[43] + " " + ctx[1]);
7912
+ attr54(button, "title", button_title_value = ctx[42] + (ctx[45] && ctx[45].reason ? ": " + ctx[45].reason : ""));
7913
+ attr54(button, "data-app-kind", button_data_app_kind_value = ctx[40].kind);
7914
+ button.disabled = button_disabled_value = ctx[45] && ctx[45].status !== "idle";
7915
+ toggle_class48(button, "is-loading", ctx[45] && ctx[45].status === "loading");
7916
+ toggle_class48(button, "is-failed", ctx[45] && ctx[45].status === "failed");
7918
7917
  },
7919
7918
  m(target, anchor) {
7920
7919
  insert53(target, button, anchor);
@@ -7925,8 +7924,8 @@ function create_each_block3(key_1, ctx) {
7925
7924
  append53(button, t2);
7926
7925
  if (!mounted) {
7927
7926
  dispose = listen5(button, "click", function() {
7928
- if (is_function3(ctx[0] && ctx[43].bind(null, ctx[0])))
7929
- (ctx[0] && ctx[43].bind(null, ctx[0])).apply(this, arguments);
7927
+ if (is_function3(ctx[0] && ctx[44].bind(null, ctx[0])))
7928
+ (ctx[0] && ctx[44].bind(null, ctx[0])).apply(this, arguments);
7930
7929
  });
7931
7930
  mounted = true;
7932
7931
  }
@@ -7936,23 +7935,37 @@ function create_each_block3(key_1, ctx) {
7936
7935
  if (dirty[0] & 2 && img_class_value !== (img_class_value = name5 + "-app-btn-icon " + ctx[1])) {
7937
7936
  attr54(img, "class", img_class_value);
7938
7937
  }
7938
+ if (dirty[0] & 262144 && !src_url_equal2(img.src, img_src_value = ctx[41])) {
7939
+ attr54(img, "src", img_src_value);
7940
+ }
7941
+ if (dirty[0] & 262144 && img_alt_value !== (img_alt_value = ctx[43])) {
7942
+ attr54(img, "alt", img_alt_value);
7943
+ }
7944
+ if (dirty[0] & 262144 && img_title_value !== (img_title_value = ctx[42])) {
7945
+ attr54(img, "title", img_title_value);
7946
+ }
7947
+ if (dirty[0] & 262144 && t1_value !== (t1_value = ctx[42] + ""))
7948
+ set_data3(t1, t1_value);
7939
7949
  if (dirty[0] & 2 && span_class_value !== (span_class_value = name5 + "-app-btn-text " + ctx[1])) {
7940
7950
  attr54(span, "class", span_class_value);
7941
7951
  }
7942
- if (dirty[0] & 2 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[42] + " " + ctx[1])) {
7952
+ if (dirty[0] & 262146 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[43] + " " + ctx[1])) {
7943
7953
  attr54(button, "class", button_class_value);
7944
7954
  }
7945
- if (dirty[0] & 262144 && button_title_value !== (button_title_value = ctx[41] + (ctx[44] && ctx[44].reason ? ": " + ctx[44].reason : ""))) {
7955
+ if (dirty[0] & 786432 && button_title_value !== (button_title_value = ctx[42] + (ctx[45] && ctx[45].reason ? ": " + ctx[45].reason : ""))) {
7946
7956
  attr54(button, "title", button_title_value);
7947
7957
  }
7948
- if (dirty[0] & 262144 && button_disabled_value !== (button_disabled_value = ctx[44] && ctx[44].status !== "idle")) {
7958
+ if (dirty[0] & 262144 && button_data_app_kind_value !== (button_data_app_kind_value = ctx[40].kind)) {
7959
+ attr54(button, "data-app-kind", button_data_app_kind_value);
7960
+ }
7961
+ if (dirty[0] & 786432 && button_disabled_value !== (button_disabled_value = ctx[45] && ctx[45].status !== "idle")) {
7949
7962
  button.disabled = button_disabled_value;
7950
7963
  }
7951
- if (dirty[0] & 262146) {
7952
- toggle_class48(button, "is-loading", ctx[44] && ctx[44].status === "loading");
7964
+ if (dirty[0] & 786434) {
7965
+ toggle_class48(button, "is-loading", ctx[45] && ctx[45].status === "loading");
7953
7966
  }
7954
- if (dirty[0] & 262146) {
7955
- toggle_class48(button, "is-failed", ctx[44] && ctx[44].status === "failed");
7967
+ if (dirty[0] & 786434) {
7968
+ toggle_class48(button, "is-failed", ctx[45] && ctx[45].status === "failed");
7956
7969
  }
7957
7970
  },
7958
7971
  d(detaching) {
@@ -8015,8 +8028,6 @@ function create_fragment54(ctx) {
8015
8028
  let div6_class_value;
8016
8029
  let t18;
8017
8030
  let div7;
8018
- let each_blocks = [];
8019
- let each_1_lookup = /* @__PURE__ */ new Map();
8020
8031
  let div7_class_value;
8021
8032
  let div8_class_value;
8022
8033
  let current;
@@ -8036,7 +8047,7 @@ function create_fragment54(ctx) {
8036
8047
  button0_props = assign2(button0_props, button0_spread_levels[i]);
8037
8048
  }
8038
8049
  button0 = new Button_default({ props: button0_props });
8039
- button0.$on("click", ctx[22]);
8050
+ button0.$on("click", ctx[23]);
8040
8051
  const button1_spread_levels = [
8041
8052
  { class: "selector" },
8042
8053
  ctx[14],
@@ -8050,7 +8061,7 @@ function create_fragment54(ctx) {
8050
8061
  button1_props = assign2(button1_props, button1_spread_levels[i]);
8051
8062
  }
8052
8063
  button1 = new Button_default({ props: button1_props });
8053
- button1.$on("click", ctx[23]);
8064
+ button1.$on("click", ctx[24]);
8054
8065
  const button2_spread_levels = [
8055
8066
  { class: "pencil" },
8056
8067
  ctx[14],
@@ -8065,7 +8076,7 @@ function create_fragment54(ctx) {
8065
8076
  button2_props = assign2(button2_props, button2_spread_levels[i]);
8066
8077
  }
8067
8078
  button2 = new Button_default({ props: button2_props });
8068
- button2.$on("click", ctx[24]);
8079
+ button2.$on("click", ctx[25]);
8069
8080
  const button3_spread_levels = [
8070
8081
  { class: "text" },
8071
8082
  ctx[14],
@@ -8080,7 +8091,7 @@ function create_fragment54(ctx) {
8080
8091
  button3_props = assign2(button3_props, button3_spread_levels[i]);
8081
8092
  }
8082
8093
  button3 = new Button_default({ props: button3_props });
8083
- button3.$on("click", ctx[25]);
8094
+ button3.$on("click", ctx[26]);
8084
8095
  const button4_spread_levels = [
8085
8096
  { class: "shapes" },
8086
8097
  ctx[14],
@@ -8095,7 +8106,7 @@ function create_fragment54(ctx) {
8095
8106
  button4_props = assign2(button4_props, button4_spread_levels[i]);
8096
8107
  }
8097
8108
  button4 = new Button_default({ props: button4_props });
8098
- button4.$on("click", ctx[26]);
8109
+ button4.$on("click", ctx[27]);
8099
8110
  const button5_spread_levels = [{ class: "eraser" }, ctx[14], { content: ctx[17].eraser }];
8100
8111
  let button5_props = {
8101
8112
  $$slots: { default: [create_default_slot_34] },
@@ -8105,7 +8116,7 @@ function create_fragment54(ctx) {
8105
8116
  button5_props = assign2(button5_props, button5_spread_levels[i]);
8106
8117
  }
8107
8118
  button5 = new Button_default({ props: button5_props });
8108
- button5.$on("click", ctx[27]);
8119
+ button5.$on("click", ctx[28]);
8109
8120
  const button6_spread_levels = [{ class: "clear" }, ctx[14], { content: ctx[8].clear }];
8110
8121
  let button6_props = {
8111
8122
  $$slots: { default: [create_default_slot_24] },
@@ -8115,7 +8126,7 @@ function create_fragment54(ctx) {
8115
8126
  button6_props = assign2(button6_props, button6_spread_levels[i]);
8116
8127
  }
8117
8128
  button6 = new Button_default({ props: button6_props });
8118
- button6.$on("click", ctx[28]);
8129
+ button6.$on("click", ctx[29]);
8119
8130
  const button7_spread_levels = [
8120
8131
  { class: "apps" },
8121
8132
  ctx[14],
@@ -8175,12 +8186,10 @@ function create_fragment54(ctx) {
8175
8186
  disabled: ctx[3]
8176
8187
  }
8177
8188
  });
8178
- let each_value = apps.data;
8179
- const get_key = (ctx2) => ctx2[39].kind;
8189
+ let each_value = ctx[18];
8190
+ let each_blocks = [];
8180
8191
  for (let i = 0; i < each_value.length; i += 1) {
8181
- let child_ctx = get_each_context3(ctx, each_value, i);
8182
- let key = get_key(child_ctx);
8183
- each_1_lookup.set(key, each_blocks[i] = create_each_block3(key, child_ctx));
8192
+ each_blocks[i] = create_each_block3(get_each_context3(ctx, each_value, i));
8184
8193
  }
8185
8194
  return {
8186
8195
  c() {
@@ -8242,6 +8251,7 @@ function create_fragment54(ctx) {
8242
8251
  attr54(div5, "class", div5_class_value = name5 + "-panel-divider");
8243
8252
  attr54(div6, "class", div6_class_value = name5 + "-panel shapes");
8244
8253
  attr54(div7, "class", div7_class_value = name5 + "-panel apps");
8254
+ set_style3(div7, "--n", ctx[18].length);
8245
8255
  attr54(div8, "class", div8_class_value = name5 + "-panel-wrapper");
8246
8256
  set_style3(div8, "display", "none");
8247
8257
  },
@@ -8276,11 +8286,11 @@ function create_fragment54(ctx) {
8276
8286
  append53(div2, div1);
8277
8287
  append53(div2, t11);
8278
8288
  mount_component6(strokecolor0, div2, null);
8279
- ctx[33](div2);
8289
+ ctx[34](div2);
8280
8290
  append53(div8, t12);
8281
8291
  append53(div8, div3);
8282
8292
  mount_component6(strokecolor1, div3, null);
8283
- ctx[34](div3);
8293
+ ctx[35](div3);
8284
8294
  append53(div8, t13);
8285
8295
  append53(div8, div6);
8286
8296
  mount_component6(shapes2, div6, null);
@@ -8292,18 +8302,18 @@ function create_fragment54(ctx) {
8292
8302
  append53(div6, div5);
8293
8303
  append53(div6, t17);
8294
8304
  mount_component6(strokecolor2, div6, null);
8295
- ctx[35](div6);
8305
+ ctx[36](div6);
8296
8306
  append53(div8, t18);
8297
8307
  append53(div8, div7);
8298
8308
  for (let i = 0; i < each_blocks.length; i += 1) {
8299
8309
  each_blocks[i].m(div7, null);
8300
8310
  }
8301
- ctx[36](div7);
8311
+ ctx[37](div7);
8302
8312
  current = true;
8303
8313
  if (!mounted) {
8304
8314
  dispose = [
8305
8315
  action_destroyer3(scrollHeight_action = scrollHeight.call(null, div0, ctx[4])),
8306
- action_destroyer3(scrollTop_action = scrollTop.call(null, div0, ctx[19]))
8316
+ action_destroyer3(scrollTop_action = scrollTop.call(null, div0, ctx[20]))
8307
8317
  ];
8308
8318
  mounted = true;
8309
8319
  }
@@ -8333,7 +8343,7 @@ function create_fragment54(ctx) {
8333
8343
  dirty[0] & 16384 && get_spread_object2(ctx2[14]),
8334
8344
  dirty[0] & 131072 && { content: ctx2[17].clicker }
8335
8345
  ]) : {};
8336
- if (dirty[0] & 130 | dirty[1] & 65536) {
8346
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8337
8347
  button0_changes.$$scope = { dirty, ctx: ctx2 };
8338
8348
  }
8339
8349
  button0.$set(button0_changes);
@@ -8342,7 +8352,7 @@ function create_fragment54(ctx) {
8342
8352
  dirty[0] & 16384 && get_spread_object2(ctx2[14]),
8343
8353
  dirty[0] & 131072 && { content: ctx2[17].selector }
8344
8354
  ]) : {};
8345
- if (dirty[0] & 130 | dirty[1] & 65536) {
8355
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8346
8356
  button1_changes.$$scope = { dirty, ctx: ctx2 };
8347
8357
  }
8348
8358
  button1.$set(button1_changes);
@@ -8352,7 +8362,7 @@ function create_fragment54(ctx) {
8352
8362
  dirty[0] & 131072 && { content: ctx2[17].pencil },
8353
8363
  dirty[0] & 1024 && { menu: ctx2[10] }
8354
8364
  ]) : {};
8355
- if (dirty[0] & 130 | dirty[1] & 65536) {
8365
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8356
8366
  button2_changes.$$scope = { dirty, ctx: ctx2 };
8357
8367
  }
8358
8368
  button2.$set(button2_changes);
@@ -8362,7 +8372,7 @@ function create_fragment54(ctx) {
8362
8372
  dirty[0] & 131072 && { content: ctx2[17].text },
8363
8373
  dirty[0] & 2048 && { menu: ctx2[11] }
8364
8374
  ]) : {};
8365
- if (dirty[0] & 130 | dirty[1] & 65536) {
8375
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8366
8376
  button3_changes.$$scope = { dirty, ctx: ctx2 };
8367
8377
  }
8368
8378
  button3.$set(button3_changes);
@@ -8372,7 +8382,7 @@ function create_fragment54(ctx) {
8372
8382
  dirty[0] & 256 && { content: ctx2[8].shapes },
8373
8383
  dirty[0] & 4096 && { menu: ctx2[12] }
8374
8384
  ]) : {};
8375
- if (dirty[0] & 706 | dirty[1] & 65536) {
8385
+ if (dirty[0] & 706 | dirty[1] & 131072) {
8376
8386
  button4_changes.$$scope = { dirty, ctx: ctx2 };
8377
8387
  }
8378
8388
  button4.$set(button4_changes);
@@ -8381,7 +8391,7 @@ function create_fragment54(ctx) {
8381
8391
  dirty[0] & 16384 && get_spread_object2(ctx2[14]),
8382
8392
  dirty[0] & 131072 && { content: ctx2[17].eraser }
8383
8393
  ]) : {};
8384
- if (dirty[0] & 130 | dirty[1] & 65536) {
8394
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8385
8395
  button5_changes.$$scope = { dirty, ctx: ctx2 };
8386
8396
  }
8387
8397
  button5.$set(button5_changes);
@@ -8390,7 +8400,7 @@ function create_fragment54(ctx) {
8390
8400
  dirty[0] & 16384 && get_spread_object2(ctx2[14]),
8391
8401
  dirty[0] & 256 && { content: ctx2[8].clear }
8392
8402
  ]) : {};
8393
- if (dirty[0] & 2 | dirty[1] & 65536) {
8403
+ if (dirty[0] & 2 | dirty[1] & 131072) {
8394
8404
  button6_changes.$$scope = { dirty, ctx: ctx2 };
8395
8405
  }
8396
8406
  button6.$set(button6_changes);
@@ -8401,7 +8411,7 @@ function create_fragment54(ctx) {
8401
8411
  dirty[0] & 8192 && { menu: ctx2[13] },
8402
8412
  button7_spread_levels[4]
8403
8413
  ]) : {};
8404
- if (dirty[0] & 2 | dirty[1] & 65536) {
8414
+ if (dirty[0] & 2 | dirty[1] & 131072) {
8405
8415
  button7_changes.$$scope = { dirty, ctx: ctx2 };
8406
8416
  }
8407
8417
  button7.$set(button7_changes);
@@ -8479,9 +8489,26 @@ function create_fragment54(ctx) {
8479
8489
  if (dirty[0] & 8)
8480
8490
  strokecolor2_changes.disabled = ctx2[3];
8481
8491
  strokecolor2.$set(strokecolor2_changes);
8482
- if (dirty[0] & 262147) {
8483
- each_value = apps.data;
8484
- each_blocks = update_keyed_each3(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, div7, destroy_block2, create_each_block3, null, get_each_context3);
8492
+ if (dirty[0] & 786435) {
8493
+ each_value = ctx2[18];
8494
+ let i;
8495
+ for (i = 0; i < each_value.length; i += 1) {
8496
+ const child_ctx = get_each_context3(ctx2, each_value, i);
8497
+ if (each_blocks[i]) {
8498
+ each_blocks[i].p(child_ctx, dirty);
8499
+ } else {
8500
+ each_blocks[i] = create_each_block3(child_ctx);
8501
+ each_blocks[i].c();
8502
+ each_blocks[i].m(div7, null);
8503
+ }
8504
+ }
8505
+ for (; i < each_blocks.length; i += 1) {
8506
+ each_blocks[i].d(1);
8507
+ }
8508
+ each_blocks.length = each_value.length;
8509
+ }
8510
+ if (!current || dirty[0] & 262144) {
8511
+ set_style3(div7, "--n", ctx2[18].length);
8485
8512
  }
8486
8513
  },
8487
8514
  i(local) {
@@ -8549,17 +8576,15 @@ function create_fragment54(ctx) {
8549
8576
  detach53(div8);
8550
8577
  destroy_component6(strokewidth0);
8551
8578
  destroy_component6(strokecolor0);
8552
- ctx[33](null);
8553
- destroy_component6(strokecolor1);
8554
8579
  ctx[34](null);
8580
+ destroy_component6(strokecolor1);
8581
+ ctx[35](null);
8555
8582
  destroy_component6(shapes2);
8556
8583
  destroy_component6(strokewidth1);
8557
8584
  destroy_component6(strokecolor2);
8558
- ctx[35](null);
8559
- for (let i = 0; i < each_blocks.length; i += 1) {
8560
- each_blocks[i].d();
8561
- }
8562
8585
  ctx[36](null);
8586
+ destroy_each(each_blocks, detaching);
8587
+ ctx[37](null);
8563
8588
  mounted = false;
8564
8589
  run_all3(dispose);
8565
8590
  }
@@ -8576,9 +8601,11 @@ function instance54($$self, $$props, $$invalidate) {
8576
8601
  let status;
8577
8602
  let max_scroll;
8578
8603
  let $top;
8579
- let $scroll_height, $$unsubscribe_scroll_height = noop53, $$subscribe_scroll_height = () => ($$unsubscribe_scroll_height(), $$unsubscribe_scroll_height = subscribe7(scroll_height, ($$value) => $$invalidate(31, $scroll_height = $$value)), scroll_height);
8580
- let $memberState, $$unsubscribe_memberState = noop53, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe7(memberState, ($$value) => $$invalidate(32, $memberState = $$value)), memberState);
8581
- let $status, $$unsubscribe_status = noop53, $$subscribe_status = () => ($$unsubscribe_status(), $$unsubscribe_status = subscribe7(status, ($$value) => $$invalidate(18, $status = $$value)), status);
8604
+ let $scroll_height, $$unsubscribe_scroll_height = noop53, $$subscribe_scroll_height = () => ($$unsubscribe_scroll_height(), $$unsubscribe_scroll_height = subscribe7(scroll_height, ($$value) => $$invalidate(32, $scroll_height = $$value)), scroll_height);
8605
+ let $memberState, $$unsubscribe_memberState = noop53, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe7(memberState, ($$value) => $$invalidate(33, $memberState = $$value)), memberState);
8606
+ let $apps;
8607
+ let $status, $$unsubscribe_status = noop53, $$subscribe_status = () => ($$unsubscribe_status(), $$unsubscribe_status = subscribe7(status, ($$value) => $$invalidate(19, $status = $$value)), status);
8608
+ component_subscribe($$self, apps, ($$value) => $$invalidate(18, $apps = $$value));
8582
8609
  $$self.$$.on_destroy.push(() => $$unsubscribe_scroll_height());
8583
8610
  $$self.$$.on_destroy.push(() => $$unsubscribe_memberState());
8584
8611
  $$self.$$.on_destroy.push(() => $$unsubscribe_status());
@@ -8597,7 +8624,7 @@ function instance54($$self, $$props, $$invalidate) {
8597
8624
  let apps_panel;
8598
8625
  let btn_props;
8599
8626
  let top = writable(0);
8600
- component_subscribe($$self, top, (value) => $$invalidate(38, $top = value));
8627
+ component_subscribe($$self, top, (value) => $$invalidate(39, $top = value));
8601
8628
  function scroll_up() {
8602
8629
  set_store_value(top, $top = clamp($top - 32 - 4, 0, max_scroll), $top);
8603
8630
  }
@@ -8665,7 +8692,7 @@ function instance54($$self, $$props, $$invalidate) {
8665
8692
  if ("scroll_height" in $$props2)
8666
8693
  $$subscribe_scroll_height($$invalidate(4, scroll_height = $$props2.scroll_height));
8667
8694
  if ("computed_height" in $$props2)
8668
- $$invalidate(29, computed_height = $$props2.computed_height);
8695
+ $$invalidate(30, computed_height = $$props2.computed_height);
8669
8696
  if ("scrollable" in $$props2)
8670
8697
  $$invalidate(5, scrollable = $$props2.scrollable);
8671
8698
  };
@@ -8685,9 +8712,9 @@ function instance54($$self, $$props, $$invalidate) {
8685
8712
  }
8686
8713
  if ($$self.$$.dirty[0] & 1) {
8687
8714
  $:
8688
- $$invalidate(30, hotkeys = app == null ? void 0 : app.hotKeys);
8715
+ $$invalidate(31, hotkeys = app == null ? void 0 : app.hotKeys);
8689
8716
  }
8690
- if ($$self.$$.dirty[0] & 1073742080) {
8717
+ if ($$self.$$.dirty[0] & 256 | $$self.$$.dirty[1] & 1) {
8691
8718
  $:
8692
8719
  $$invalidate(17, c = {
8693
8720
  clicker: tooltip(t.clicker, hotkeys == null ? void 0 : hotkeys.changeToClick),
@@ -8701,11 +8728,11 @@ function instance54($$self, $$props, $$invalidate) {
8701
8728
  $:
8702
8729
  $$subscribe_memberState($$invalidate(16, memberState = app == null ? void 0 : app.memberState));
8703
8730
  }
8704
- if ($$self.$$.dirty[1] & 2) {
8731
+ if ($$self.$$.dirty[1] & 4) {
8705
8732
  $:
8706
8733
  $$invalidate(7, appliance = $memberState == null ? void 0 : $memberState.currentApplianceName);
8707
8734
  }
8708
- if ($$self.$$.dirty[1] & 2) {
8735
+ if ($$self.$$.dirty[1] & 4) {
8709
8736
  $:
8710
8737
  $$invalidate(6, shape = $memberState == null ? void 0 : $memberState.shapeType);
8711
8738
  }
@@ -8721,7 +8748,7 @@ function instance54($$self, $$props, $$invalidate) {
8721
8748
  $$invalidate(9, last_shape = shape);
8722
8749
  }
8723
8750
  }
8724
- if ($$self.$$.dirty[0] & 536870944 | $$self.$$.dirty[1] & 1) {
8751
+ if ($$self.$$.dirty[0] & 1073741856 | $$self.$$.dirty[1] & 2) {
8725
8752
  $:
8726
8753
  max_scroll = scrollable ? $scroll_height + (32 + 8) * 2 - computed_height : 0;
8727
8754
  }
@@ -8745,6 +8772,7 @@ function instance54($$self, $$props, $$invalidate) {
8745
8772
  status,
8746
8773
  memberState,
8747
8774
  c,
8775
+ $apps,
8748
8776
  $status,
8749
8777
  top,
8750
8778
  scroll_up,
@@ -8775,7 +8803,7 @@ var Contents = class extends SvelteComponent54 {
8775
8803
  language: 2,
8776
8804
  disabled: 3,
8777
8805
  scroll_height: 4,
8778
- computed_height: 29,
8806
+ computed_height: 30,
8779
8807
  scrollable: 5
8780
8808
  }, null, [-1, -1]);
8781
8809
  }
@@ -9090,14 +9118,14 @@ import {
9090
9118
  noop as noop55,
9091
9119
  outro_and_destroy_block as outro_and_destroy_block2,
9092
9120
  safe_not_equal as safe_not_equal56,
9093
- set_data as set_data3,
9121
+ set_data as set_data4,
9094
9122
  set_style as set_style5,
9095
9123
  space as space9,
9096
9124
  subscribe as subscribe9,
9097
9125
  text as text3,
9098
9126
  transition_in as transition_in10,
9099
9127
  transition_out as transition_out10,
9100
- update_keyed_each as update_keyed_each4
9128
+ update_keyed_each as update_keyed_each3
9101
9129
  } from "svelte/internal";
9102
9130
  function get_each_context4(ctx, list, i) {
9103
9131
  const child_ctx = ctx.slice();
@@ -9474,9 +9502,9 @@ function create_else_block8(ctx) {
9474
9502
  slider_changes.max = ctx2[14] / 1e3;
9475
9503
  slider.$set(slider_changes);
9476
9504
  if ((!current || dirty & 8192) && t1_value !== (t1_value = format(ctx2[13]) + ""))
9477
- set_data3(t1, t1_value);
9505
+ set_data4(t1, t1_value);
9478
9506
  if ((!current || dirty & 16384) && t5_value !== (t5_value = format(ctx2[14]) + ""))
9479
- set_data3(t5, t5_value);
9507
+ set_data4(t5, t5_value);
9480
9508
  },
9481
9509
  i(local) {
9482
9510
  if (current)
@@ -9547,13 +9575,14 @@ function create_if_block8(ctx) {
9547
9575
  }
9548
9576
  function create_default_slot_15(ctx) {
9549
9577
  let span;
9578
+ let t0_value = (ctx[15] || 1) + "";
9550
9579
  let t0;
9551
9580
  let t1;
9552
9581
  let span_class_value;
9553
9582
  return {
9554
9583
  c() {
9555
9584
  span = element12("span");
9556
- t0 = text3(ctx[15]);
9585
+ t0 = text3(t0_value);
9557
9586
  t1 = text3("x");
9558
9587
  attr56(span, "class", span_class_value = name7 + "-speed-text");
9559
9588
  },
@@ -9563,8 +9592,8 @@ function create_default_slot_15(ctx) {
9563
9592
  append55(span, t1);
9564
9593
  },
9565
9594
  p(ctx2, dirty) {
9566
- if (dirty & 32768)
9567
- set_data3(t0, ctx2[15]);
9595
+ if (dirty & 32768 && t0_value !== (t0_value = (ctx2[15] || 1) + ""))
9596
+ set_data4(t0, t0_value);
9568
9597
  },
9569
9598
  d(detaching) {
9570
9599
  if (detaching)
@@ -9800,7 +9829,7 @@ function create_fragment56(ctx) {
9800
9829
  if (dirty & 294929) {
9801
9830
  each_value = speeds;
9802
9831
  group_outros5();
9803
- each_blocks = update_keyed_each4(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, div1, outro_and_destroy_block2, create_each_block4, null, get_each_context4);
9832
+ each_blocks = update_keyed_each3(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, div1, outro_and_destroy_block2, create_each_block4, null, get_each_context4);
9804
9833
  check_outros5();
9805
9834
  }
9806
9835
  },
@@ -10035,6 +10064,7 @@ import {
10035
10064
  transition_in as transition_in11,
10036
10065
  transition_out as transition_out11
10037
10066
  } from "svelte/internal";
10067
+ import { onMount } from "svelte";
10038
10068
  function create_fragment57(ctx) {
10039
10069
  let div2;
10040
10070
  let div0;
@@ -10119,6 +10149,15 @@ function instance57($$self, $$props, $$invalidate) {
10119
10149
  let { language = "en" } = $$props;
10120
10150
  let { containerRef = void 0 } = $$props;
10121
10151
  let container;
10152
+ onMount(() => {
10153
+ if (containerRef) {
10154
+ containerRef(container);
10155
+ return () => {
10156
+ if (containerRef)
10157
+ containerRef(null);
10158
+ };
10159
+ }
10160
+ });
10122
10161
  function div0_binding($$value) {
10123
10162
  binding_callbacks3[$$value ? "unshift" : "push"](() => {
10124
10163
  container = $$value;
@@ -10138,13 +10177,19 @@ function instance57($$self, $$props, $$invalidate) {
10138
10177
  $$self.$$.update = () => {
10139
10178
  if ($$self.$$.dirty & 9) {
10140
10179
  $:
10141
- if (player && container)
10142
- player.bindContainer(container);
10180
+ try {
10181
+ if (player && container)
10182
+ player.bindContainer(container);
10183
+ } catch (err) {
10184
+ console.error("[fastboard] An error occurred while binding container");
10185
+ console.error(err);
10186
+ }
10143
10187
  }
10144
- if ($$self.$$.dirty & 24) {
10188
+ if ($$self.$$.dirty & 3) {
10145
10189
  $:
10146
- if (containerRef)
10147
- containerRef(container || null);
10190
+ if (player && theme) {
10191
+ player.manager.setPrefersColorScheme(theme);
10192
+ }
10148
10193
  }
10149
10194
  };
10150
10195
  return [player, theme, language, container, containerRef, div0_binding];
@@ -10182,7 +10227,7 @@ import {
10182
10227
  transition_in as transition_in12,
10183
10228
  transition_out as transition_out12
10184
10229
  } from "svelte/internal";
10185
- import { onMount } from "svelte";
10230
+ import { onMount as onMount2 } from "svelte";
10186
10231
  function create_fragment58(ctx) {
10187
10232
  let div4;
10188
10233
  let div0;
@@ -10349,7 +10394,7 @@ function instance58($$self, $$props, $$invalidate) {
10349
10394
  let { language = "en" } = $$props;
10350
10395
  let { containerRef = void 0 } = $$props;
10351
10396
  let container;
10352
- onMount(() => {
10397
+ onMount2(() => {
10353
10398
  if (containerRef) {
10354
10399
  containerRef(container);
10355
10400
  return () => {
@@ -10377,8 +10422,19 @@ function instance58($$self, $$props, $$invalidate) {
10377
10422
  $$self.$$.update = () => {
10378
10423
  if ($$self.$$.dirty & 9) {
10379
10424
  $:
10380
- if (app && container)
10381
- app.bindContainer(container);
10425
+ try {
10426
+ if (app && container)
10427
+ app.bindContainer(container);
10428
+ } catch (err) {
10429
+ console.error("[fastboard] An error occurred while binding container");
10430
+ console.error(err);
10431
+ }
10432
+ }
10433
+ if ($$self.$$.dirty & 3) {
10434
+ $:
10435
+ if (app && theme) {
10436
+ app.manager.setPrefersColorScheme(theme);
10437
+ }
10382
10438
  }
10383
10439
  };
10384
10440
  return [app, theme, language, container, containerRef, div0_binding];
@@ -10407,7 +10463,7 @@ function injectStyle(text4) {
10407
10463
  }
10408
10464
 
10409
10465
  // inline-sass-content:./src/style.scss
10410
- 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}';
10466
+ 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}';
10411
10467
 
10412
10468
  // inline-sass-stub:./src/style.scss
10413
10469
  injectStyle(style_default);