@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.
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
  }
@@ -3556,6 +3556,7 @@ function tippy_hide_all() {
3556
3556
  }
3557
3557
  var tippy_menu = {
3558
3558
  delay: 0,
3559
+ duration: [50, 300],
3559
3560
  placement: "right-start",
3560
3561
  interactive: true,
3561
3562
  trigger: "click"
@@ -4844,6 +4845,7 @@ function instance48($$self, $$props, $$invalidate) {
4844
4845
  }
4845
4846
  function addPage() {
4846
4847
  app == null ? void 0 : app.addPage({ after: true });
4848
+ app == null ? void 0 : app.nextPage();
4847
4849
  }
4848
4850
  $$self.$$set = ($$props2) => {
4849
4851
  if ("app" in $$props2)
@@ -5709,8 +5711,8 @@ var AppsInToolbar = class {
5709
5711
  this._listeners = this._listeners.filter((item) => item !== fn);
5710
5712
  };
5711
5713
  }
5712
- push(data) {
5713
- this._data.push(data);
5714
+ push(...data) {
5715
+ this._data.push(...data);
5714
5716
  this._listeners.forEach((fn) => fn(this._data));
5715
5717
  }
5716
5718
  insert(data, index) {
@@ -6632,14 +6634,14 @@ var Shapes_default = Shapes;
6632
6634
  // src/components/Toolbar/components/Contents.svelte
6633
6635
  function get_each_context3(ctx, list, i) {
6634
6636
  const child_ctx = ctx.slice();
6635
- child_ctx[39] = list[i];
6636
- const constants_0 = child_ctx[39];
6637
- child_ctx[40] = constants_0.icon;
6638
- child_ctx[41] = constants_0.label;
6639
- child_ctx[42] = constants_0.kind;
6640
- child_ctx[43] = constants_0.onClick;
6641
- const constants_1 = child_ctx[18] && child_ctx[18][child_ctx[42]];
6642
- 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;
6643
6645
  return child_ctx;
6644
6646
  }
6645
6647
  function create_if_block_7(ctx) {
@@ -6654,7 +6656,7 @@ function create_if_block_7(ctx) {
6654
6656
  button_props = assign(button_props, button_spread_levels[i]);
6655
6657
  }
6656
6658
  button = new Button_default({ props: button_props });
6657
- button.$on("click", ctx[20]);
6659
+ button.$on("click", ctx[21]);
6658
6660
  return {
6659
6661
  c() {
6660
6662
  create_component(button.$$.fragment);
@@ -6665,7 +6667,7 @@ function create_if_block_7(ctx) {
6665
6667
  },
6666
6668
  p(ctx2, dirty) {
6667
6669
  const button_changes = dirty[0] & 16384 ? get_spread_update(button_spread_levels, [button_spread_levels[0], get_spread_object(ctx2[14])]) : {};
6668
- if (dirty[0] & 2 | dirty[1] & 65536) {
6670
+ if (dirty[0] & 2 | dirty[1] & 131072) {
6669
6671
  button_changes.$$scope = { dirty, ctx: ctx2 };
6670
6672
  }
6671
6673
  button.$set(button_changes);
@@ -7655,7 +7657,7 @@ function create_if_block6(ctx) {
7655
7657
  $$scope: { ctx }
7656
7658
  }
7657
7659
  });
7658
- button.$on("click", ctx[21]);
7660
+ button.$on("click", ctx[22]);
7659
7661
  return {
7660
7662
  c() {
7661
7663
  create_component(button.$$.fragment);
@@ -7670,7 +7672,7 @@ function create_if_block6(ctx) {
7670
7672
  button_changes.theme = ctx2[1];
7671
7673
  if (dirty[0] & 8)
7672
7674
  button_changes.disabled = ctx2[3];
7673
- if (dirty[0] & 2 | dirty[1] & 65536) {
7675
+ if (dirty[0] & 2 | dirty[1] & 131072) {
7674
7676
  button_changes.$$scope = { dirty, ctx: ctx2 };
7675
7677
  }
7676
7678
  button.$set(button_changes);
@@ -7723,7 +7725,7 @@ function create_default_slot4(ctx) {
7723
7725
  }
7724
7726
  };
7725
7727
  }
7726
- function create_each_block3(key_1, ctx) {
7728
+ function create_each_block3(ctx) {
7727
7729
  let button;
7728
7730
  let img;
7729
7731
  let img_class_value;
@@ -7732,7 +7734,7 @@ function create_each_block3(key_1, ctx) {
7732
7734
  let img_title_value;
7733
7735
  let t0;
7734
7736
  let span;
7735
- let t1_value = ctx[41] + "";
7737
+ let t1_value = ctx[42] + "";
7736
7738
  let t1;
7737
7739
  let span_class_value;
7738
7740
  let t2;
@@ -7743,8 +7745,6 @@ function create_each_block3(key_1, ctx) {
7743
7745
  let mounted;
7744
7746
  let dispose;
7745
7747
  return {
7746
- key: key_1,
7747
- first: null,
7748
7748
  c() {
7749
7749
  button = element("button");
7750
7750
  img = element("img");
@@ -7753,18 +7753,17 @@ function create_each_block3(key_1, ctx) {
7753
7753
  t1 = text(t1_value);
7754
7754
  t2 = space();
7755
7755
  attr(img, "class", img_class_value = name5 + "-app-btn-icon " + ctx[1]);
7756
- if (!src_url_equal(img.src, img_src_value = ctx[40]))
7756
+ if (!src_url_equal(img.src, img_src_value = ctx[41]))
7757
7757
  attr(img, "src", img_src_value);
7758
- attr(img, "alt", img_alt_value = ctx[42]);
7759
- 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]);
7760
7760
  attr(span, "class", span_class_value = name5 + "-app-btn-text " + ctx[1]);
7761
- attr(button, "class", button_class_value = name5 + "-app-btn " + ctx[42] + " " + ctx[1]);
7762
- attr(button, "title", button_title_value = ctx[41] + (ctx[44] && ctx[44].reason ? ": " + ctx[44].reason : ""));
7763
- attr(button, "data-app-kind", button_data_app_kind_value = ctx[39].kind);
7764
- button.disabled = button_disabled_value = ctx[44] && ctx[44].status !== "idle";
7765
- toggle_class(button, "is-loading", ctx[44] && ctx[44].status === "loading");
7766
- toggle_class(button, "is-failed", ctx[44] && ctx[44].status === "failed");
7767
- 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");
7768
7767
  },
7769
7768
  m(target, anchor) {
7770
7769
  insert(target, button, anchor);
@@ -7775,8 +7774,8 @@ function create_each_block3(key_1, ctx) {
7775
7774
  append(button, t2);
7776
7775
  if (!mounted) {
7777
7776
  dispose = listen(button, "click", function() {
7778
- if (is_function(ctx[0] && ctx[43].bind(null, ctx[0])))
7779
- (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);
7780
7779
  });
7781
7780
  mounted = true;
7782
7781
  }
@@ -7786,23 +7785,37 @@ function create_each_block3(key_1, ctx) {
7786
7785
  if (dirty[0] & 2 && img_class_value !== (img_class_value = name5 + "-app-btn-icon " + ctx[1])) {
7787
7786
  attr(img, "class", img_class_value);
7788
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);
7789
7799
  if (dirty[0] & 2 && span_class_value !== (span_class_value = name5 + "-app-btn-text " + ctx[1])) {
7790
7800
  attr(span, "class", span_class_value);
7791
7801
  }
7792
- 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])) {
7793
7803
  attr(button, "class", button_class_value);
7794
7804
  }
7795
- 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 : ""))) {
7796
7806
  attr(button, "title", button_title_value);
7797
7807
  }
7798
- 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")) {
7799
7812
  button.disabled = button_disabled_value;
7800
7813
  }
7801
- if (dirty[0] & 262146) {
7802
- 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");
7803
7816
  }
7804
- if (dirty[0] & 262146) {
7805
- 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");
7806
7819
  }
7807
7820
  },
7808
7821
  d(detaching) {
@@ -7865,8 +7878,6 @@ function create_fragment54(ctx) {
7865
7878
  let div6_class_value;
7866
7879
  let t18;
7867
7880
  let div7;
7868
- let each_blocks = [];
7869
- let each_1_lookup = /* @__PURE__ */ new Map();
7870
7881
  let div7_class_value;
7871
7882
  let div8_class_value;
7872
7883
  let current;
@@ -7886,7 +7897,7 @@ function create_fragment54(ctx) {
7886
7897
  button0_props = assign(button0_props, button0_spread_levels[i]);
7887
7898
  }
7888
7899
  button0 = new Button_default({ props: button0_props });
7889
- button0.$on("click", ctx[22]);
7900
+ button0.$on("click", ctx[23]);
7890
7901
  const button1_spread_levels = [
7891
7902
  { class: "selector" },
7892
7903
  ctx[14],
@@ -7900,7 +7911,7 @@ function create_fragment54(ctx) {
7900
7911
  button1_props = assign(button1_props, button1_spread_levels[i]);
7901
7912
  }
7902
7913
  button1 = new Button_default({ props: button1_props });
7903
- button1.$on("click", ctx[23]);
7914
+ button1.$on("click", ctx[24]);
7904
7915
  const button2_spread_levels = [
7905
7916
  { class: "pencil" },
7906
7917
  ctx[14],
@@ -7915,7 +7926,7 @@ function create_fragment54(ctx) {
7915
7926
  button2_props = assign(button2_props, button2_spread_levels[i]);
7916
7927
  }
7917
7928
  button2 = new Button_default({ props: button2_props });
7918
- button2.$on("click", ctx[24]);
7929
+ button2.$on("click", ctx[25]);
7919
7930
  const button3_spread_levels = [
7920
7931
  { class: "text" },
7921
7932
  ctx[14],
@@ -7930,7 +7941,7 @@ function create_fragment54(ctx) {
7930
7941
  button3_props = assign(button3_props, button3_spread_levels[i]);
7931
7942
  }
7932
7943
  button3 = new Button_default({ props: button3_props });
7933
- button3.$on("click", ctx[25]);
7944
+ button3.$on("click", ctx[26]);
7934
7945
  const button4_spread_levels = [
7935
7946
  { class: "shapes" },
7936
7947
  ctx[14],
@@ -7945,7 +7956,7 @@ function create_fragment54(ctx) {
7945
7956
  button4_props = assign(button4_props, button4_spread_levels[i]);
7946
7957
  }
7947
7958
  button4 = new Button_default({ props: button4_props });
7948
- button4.$on("click", ctx[26]);
7959
+ button4.$on("click", ctx[27]);
7949
7960
  const button5_spread_levels = [{ class: "eraser" }, ctx[14], { content: ctx[17].eraser }];
7950
7961
  let button5_props = {
7951
7962
  $$slots: { default: [create_default_slot_34] },
@@ -7955,7 +7966,7 @@ function create_fragment54(ctx) {
7955
7966
  button5_props = assign(button5_props, button5_spread_levels[i]);
7956
7967
  }
7957
7968
  button5 = new Button_default({ props: button5_props });
7958
- button5.$on("click", ctx[27]);
7969
+ button5.$on("click", ctx[28]);
7959
7970
  const button6_spread_levels = [{ class: "clear" }, ctx[14], { content: ctx[8].clear }];
7960
7971
  let button6_props = {
7961
7972
  $$slots: { default: [create_default_slot_24] },
@@ -7965,7 +7976,7 @@ function create_fragment54(ctx) {
7965
7976
  button6_props = assign(button6_props, button6_spread_levels[i]);
7966
7977
  }
7967
7978
  button6 = new Button_default({ props: button6_props });
7968
- button6.$on("click", ctx[28]);
7979
+ button6.$on("click", ctx[29]);
7969
7980
  const button7_spread_levels = [
7970
7981
  { class: "apps" },
7971
7982
  ctx[14],
@@ -8025,12 +8036,10 @@ function create_fragment54(ctx) {
8025
8036
  disabled: ctx[3]
8026
8037
  }
8027
8038
  });
8028
- let each_value = apps.data;
8029
- const get_key = (ctx2) => ctx2[39].kind;
8039
+ let each_value = ctx[18];
8040
+ let each_blocks = [];
8030
8041
  for (let i = 0; i < each_value.length; i += 1) {
8031
- let child_ctx = get_each_context3(ctx, each_value, i);
8032
- let key = get_key(child_ctx);
8033
- 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));
8034
8043
  }
8035
8044
  return {
8036
8045
  c() {
@@ -8092,6 +8101,7 @@ function create_fragment54(ctx) {
8092
8101
  attr(div5, "class", div5_class_value = name5 + "-panel-divider");
8093
8102
  attr(div6, "class", div6_class_value = name5 + "-panel shapes");
8094
8103
  attr(div7, "class", div7_class_value = name5 + "-panel apps");
8104
+ set_style(div7, "--n", ctx[18].length);
8095
8105
  attr(div8, "class", div8_class_value = name5 + "-panel-wrapper");
8096
8106
  set_style(div8, "display", "none");
8097
8107
  },
@@ -8126,11 +8136,11 @@ function create_fragment54(ctx) {
8126
8136
  append(div2, div1);
8127
8137
  append(div2, t11);
8128
8138
  mount_component(strokecolor0, div2, null);
8129
- ctx[33](div2);
8139
+ ctx[34](div2);
8130
8140
  append(div8, t12);
8131
8141
  append(div8, div3);
8132
8142
  mount_component(strokecolor1, div3, null);
8133
- ctx[34](div3);
8143
+ ctx[35](div3);
8134
8144
  append(div8, t13);
8135
8145
  append(div8, div6);
8136
8146
  mount_component(shapes2, div6, null);
@@ -8142,18 +8152,18 @@ function create_fragment54(ctx) {
8142
8152
  append(div6, div5);
8143
8153
  append(div6, t17);
8144
8154
  mount_component(strokecolor2, div6, null);
8145
- ctx[35](div6);
8155
+ ctx[36](div6);
8146
8156
  append(div8, t18);
8147
8157
  append(div8, div7);
8148
8158
  for (let i = 0; i < each_blocks.length; i += 1) {
8149
8159
  each_blocks[i].m(div7, null);
8150
8160
  }
8151
- ctx[36](div7);
8161
+ ctx[37](div7);
8152
8162
  current = true;
8153
8163
  if (!mounted) {
8154
8164
  dispose = [
8155
8165
  action_destroyer(scrollHeight_action = scrollHeight.call(null, div0, ctx[4])),
8156
- action_destroyer(scrollTop_action = scrollTop.call(null, div0, ctx[19]))
8166
+ action_destroyer(scrollTop_action = scrollTop.call(null, div0, ctx[20]))
8157
8167
  ];
8158
8168
  mounted = true;
8159
8169
  }
@@ -8183,7 +8193,7 @@ function create_fragment54(ctx) {
8183
8193
  dirty[0] & 16384 && get_spread_object(ctx2[14]),
8184
8194
  dirty[0] & 131072 && { content: ctx2[17].clicker }
8185
8195
  ]) : {};
8186
- if (dirty[0] & 130 | dirty[1] & 65536) {
8196
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8187
8197
  button0_changes.$$scope = { dirty, ctx: ctx2 };
8188
8198
  }
8189
8199
  button0.$set(button0_changes);
@@ -8192,7 +8202,7 @@ function create_fragment54(ctx) {
8192
8202
  dirty[0] & 16384 && get_spread_object(ctx2[14]),
8193
8203
  dirty[0] & 131072 && { content: ctx2[17].selector }
8194
8204
  ]) : {};
8195
- if (dirty[0] & 130 | dirty[1] & 65536) {
8205
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8196
8206
  button1_changes.$$scope = { dirty, ctx: ctx2 };
8197
8207
  }
8198
8208
  button1.$set(button1_changes);
@@ -8202,7 +8212,7 @@ function create_fragment54(ctx) {
8202
8212
  dirty[0] & 131072 && { content: ctx2[17].pencil },
8203
8213
  dirty[0] & 1024 && { menu: ctx2[10] }
8204
8214
  ]) : {};
8205
- if (dirty[0] & 130 | dirty[1] & 65536) {
8215
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8206
8216
  button2_changes.$$scope = { dirty, ctx: ctx2 };
8207
8217
  }
8208
8218
  button2.$set(button2_changes);
@@ -8212,7 +8222,7 @@ function create_fragment54(ctx) {
8212
8222
  dirty[0] & 131072 && { content: ctx2[17].text },
8213
8223
  dirty[0] & 2048 && { menu: ctx2[11] }
8214
8224
  ]) : {};
8215
- if (dirty[0] & 130 | dirty[1] & 65536) {
8225
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8216
8226
  button3_changes.$$scope = { dirty, ctx: ctx2 };
8217
8227
  }
8218
8228
  button3.$set(button3_changes);
@@ -8222,7 +8232,7 @@ function create_fragment54(ctx) {
8222
8232
  dirty[0] & 256 && { content: ctx2[8].shapes },
8223
8233
  dirty[0] & 4096 && { menu: ctx2[12] }
8224
8234
  ]) : {};
8225
- if (dirty[0] & 706 | dirty[1] & 65536) {
8235
+ if (dirty[0] & 706 | dirty[1] & 131072) {
8226
8236
  button4_changes.$$scope = { dirty, ctx: ctx2 };
8227
8237
  }
8228
8238
  button4.$set(button4_changes);
@@ -8231,7 +8241,7 @@ function create_fragment54(ctx) {
8231
8241
  dirty[0] & 16384 && get_spread_object(ctx2[14]),
8232
8242
  dirty[0] & 131072 && { content: ctx2[17].eraser }
8233
8243
  ]) : {};
8234
- if (dirty[0] & 130 | dirty[1] & 65536) {
8244
+ if (dirty[0] & 130 | dirty[1] & 131072) {
8235
8245
  button5_changes.$$scope = { dirty, ctx: ctx2 };
8236
8246
  }
8237
8247
  button5.$set(button5_changes);
@@ -8240,7 +8250,7 @@ function create_fragment54(ctx) {
8240
8250
  dirty[0] & 16384 && get_spread_object(ctx2[14]),
8241
8251
  dirty[0] & 256 && { content: ctx2[8].clear }
8242
8252
  ]) : {};
8243
- if (dirty[0] & 2 | dirty[1] & 65536) {
8253
+ if (dirty[0] & 2 | dirty[1] & 131072) {
8244
8254
  button6_changes.$$scope = { dirty, ctx: ctx2 };
8245
8255
  }
8246
8256
  button6.$set(button6_changes);
@@ -8251,7 +8261,7 @@ function create_fragment54(ctx) {
8251
8261
  dirty[0] & 8192 && { menu: ctx2[13] },
8252
8262
  button7_spread_levels[4]
8253
8263
  ]) : {};
8254
- if (dirty[0] & 2 | dirty[1] & 65536) {
8264
+ if (dirty[0] & 2 | dirty[1] & 131072) {
8255
8265
  button7_changes.$$scope = { dirty, ctx: ctx2 };
8256
8266
  }
8257
8267
  button7.$set(button7_changes);
@@ -8329,9 +8339,26 @@ function create_fragment54(ctx) {
8329
8339
  if (dirty[0] & 8)
8330
8340
  strokecolor2_changes.disabled = ctx2[3];
8331
8341
  strokecolor2.$set(strokecolor2_changes);
8332
- if (dirty[0] & 262147) {
8333
- each_value = apps.data;
8334
- 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);
8335
8362
  }
8336
8363
  },
8337
8364
  i(local) {
@@ -8399,17 +8426,15 @@ function create_fragment54(ctx) {
8399
8426
  detach(div8);
8400
8427
  destroy_component(strokewidth0);
8401
8428
  destroy_component(strokecolor0);
8402
- ctx[33](null);
8403
- destroy_component(strokecolor1);
8404
8429
  ctx[34](null);
8430
+ destroy_component(strokecolor1);
8431
+ ctx[35](null);
8405
8432
  destroy_component(shapes2);
8406
8433
  destroy_component(strokewidth1);
8407
8434
  destroy_component(strokecolor2);
8408
- ctx[35](null);
8409
- for (let i = 0; i < each_blocks.length; i += 1) {
8410
- each_blocks[i].d();
8411
- }
8412
8435
  ctx[36](null);
8436
+ destroy_each(each_blocks, detaching);
8437
+ ctx[37](null);
8413
8438
  mounted = false;
8414
8439
  run_all(dispose);
8415
8440
  }
@@ -8426,9 +8451,11 @@ function instance54($$self, $$props, $$invalidate) {
8426
8451
  let status;
8427
8452
  let max_scroll;
8428
8453
  let $top;
8429
- 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);
8430
- let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(32, $memberState = $$value)), memberState);
8431
- 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));
8432
8459
  $$self.$$.on_destroy.push(() => $$unsubscribe_scroll_height());
8433
8460
  $$self.$$.on_destroy.push(() => $$unsubscribe_memberState());
8434
8461
  $$self.$$.on_destroy.push(() => $$unsubscribe_status());
@@ -8447,7 +8474,7 @@ function instance54($$self, $$props, $$invalidate) {
8447
8474
  let apps_panel;
8448
8475
  let btn_props;
8449
8476
  let top = writable(0);
8450
- component_subscribe($$self, top, (value) => $$invalidate(38, $top = value));
8477
+ component_subscribe($$self, top, (value) => $$invalidate(39, $top = value));
8451
8478
  function scroll_up() {
8452
8479
  set_store_value(top, $top = clamp($top - 32 - 4, 0, max_scroll), $top);
8453
8480
  }
@@ -8515,7 +8542,7 @@ function instance54($$self, $$props, $$invalidate) {
8515
8542
  if ("scroll_height" in $$props2)
8516
8543
  $$subscribe_scroll_height($$invalidate(4, scroll_height = $$props2.scroll_height));
8517
8544
  if ("computed_height" in $$props2)
8518
- $$invalidate(29, computed_height = $$props2.computed_height);
8545
+ $$invalidate(30, computed_height = $$props2.computed_height);
8519
8546
  if ("scrollable" in $$props2)
8520
8547
  $$invalidate(5, scrollable = $$props2.scrollable);
8521
8548
  };
@@ -8535,9 +8562,9 @@ function instance54($$self, $$props, $$invalidate) {
8535
8562
  }
8536
8563
  if ($$self.$$.dirty[0] & 1) {
8537
8564
  $:
8538
- $$invalidate(30, hotkeys = app == null ? void 0 : app.hotKeys);
8565
+ $$invalidate(31, hotkeys = app == null ? void 0 : app.hotKeys);
8539
8566
  }
8540
- if ($$self.$$.dirty[0] & 1073742080) {
8567
+ if ($$self.$$.dirty[0] & 256 | $$self.$$.dirty[1] & 1) {
8541
8568
  $:
8542
8569
  $$invalidate(17, c = {
8543
8570
  clicker: tooltip(t.clicker, hotkeys == null ? void 0 : hotkeys.changeToClick),
@@ -8551,11 +8578,11 @@ function instance54($$self, $$props, $$invalidate) {
8551
8578
  $:
8552
8579
  $$subscribe_memberState($$invalidate(16, memberState = app == null ? void 0 : app.memberState));
8553
8580
  }
8554
- if ($$self.$$.dirty[1] & 2) {
8581
+ if ($$self.$$.dirty[1] & 4) {
8555
8582
  $:
8556
8583
  $$invalidate(7, appliance = $memberState == null ? void 0 : $memberState.currentApplianceName);
8557
8584
  }
8558
- if ($$self.$$.dirty[1] & 2) {
8585
+ if ($$self.$$.dirty[1] & 4) {
8559
8586
  $:
8560
8587
  $$invalidate(6, shape = $memberState == null ? void 0 : $memberState.shapeType);
8561
8588
  }
@@ -8571,7 +8598,7 @@ function instance54($$self, $$props, $$invalidate) {
8571
8598
  $$invalidate(9, last_shape = shape);
8572
8599
  }
8573
8600
  }
8574
- if ($$self.$$.dirty[0] & 536870944 | $$self.$$.dirty[1] & 1) {
8601
+ if ($$self.$$.dirty[0] & 1073741856 | $$self.$$.dirty[1] & 2) {
8575
8602
  $:
8576
8603
  max_scroll = scrollable ? $scroll_height + (32 + 8) * 2 - computed_height : 0;
8577
8604
  }
@@ -8595,6 +8622,7 @@ function instance54($$self, $$props, $$invalidate) {
8595
8622
  status,
8596
8623
  memberState,
8597
8624
  c,
8625
+ $apps,
8598
8626
  $status,
8599
8627
  top,
8600
8628
  scroll_up,
@@ -8625,7 +8653,7 @@ var Contents = class extends SvelteComponent {
8625
8653
  language: 2,
8626
8654
  disabled: 3,
8627
8655
  scroll_height: 4,
8628
- computed_height: 29,
8656
+ computed_height: 30,
8629
8657
  scrollable: 5
8630
8658
  }, null, [-1, -1]);
8631
8659
  }
@@ -9370,13 +9398,14 @@ function create_if_block8(ctx) {
9370
9398
  }
9371
9399
  function create_default_slot_15(ctx) {
9372
9400
  let span;
9401
+ let t0_value = (ctx[15] || 1) + "";
9373
9402
  let t0;
9374
9403
  let t1;
9375
9404
  let span_class_value;
9376
9405
  return {
9377
9406
  c() {
9378
9407
  span = element("span");
9379
- t0 = text(ctx[15]);
9408
+ t0 = text(t0_value);
9380
9409
  t1 = text("x");
9381
9410
  attr(span, "class", span_class_value = name7 + "-speed-text");
9382
9411
  },
@@ -9386,8 +9415,8 @@ function create_default_slot_15(ctx) {
9386
9415
  append(span, t1);
9387
9416
  },
9388
9417
  p(ctx2, dirty) {
9389
- if (dirty & 32768)
9390
- set_data(t0, ctx2[15]);
9418
+ if (dirty & 32768 && t0_value !== (t0_value = (ctx2[15] || 1) + ""))
9419
+ set_data(t0, t0_value);
9391
9420
  },
9392
9421
  d(detaching) {
9393
9422
  if (detaching)
@@ -9923,6 +9952,15 @@ function instance57($$self, $$props, $$invalidate) {
9923
9952
  let { language = "en" } = $$props;
9924
9953
  let { containerRef = void 0 } = $$props;
9925
9954
  let container;
9955
+ onMount(() => {
9956
+ if (containerRef) {
9957
+ containerRef(container);
9958
+ return () => {
9959
+ if (containerRef)
9960
+ containerRef(null);
9961
+ };
9962
+ }
9963
+ });
9926
9964
  function div0_binding($$value) {
9927
9965
  binding_callbacks[$$value ? "unshift" : "push"](() => {
9928
9966
  container = $$value;
@@ -9942,13 +9980,19 @@ function instance57($$self, $$props, $$invalidate) {
9942
9980
  $$self.$$.update = () => {
9943
9981
  if ($$self.$$.dirty & 9) {
9944
9982
  $:
9945
- if (player && container)
9946
- 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
+ }
9947
9990
  }
9948
- if ($$self.$$.dirty & 24) {
9991
+ if ($$self.$$.dirty & 3) {
9949
9992
  $:
9950
- if (containerRef)
9951
- containerRef(container || null);
9993
+ if (player && theme) {
9994
+ player.manager.setPrefersColorScheme(theme);
9995
+ }
9952
9996
  }
9953
9997
  };
9954
9998
  return [player, theme, language, container, containerRef, div0_binding];
@@ -10161,8 +10205,19 @@ function instance58($$self, $$props, $$invalidate) {
10161
10205
  $$self.$$.update = () => {
10162
10206
  if ($$self.$$.dirty & 9) {
10163
10207
  $:
10164
- if (app && container)
10165
- 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
+ }
10215
+ }
10216
+ if ($$self.$$.dirty & 3) {
10217
+ $:
10218
+ if (app && theme) {
10219
+ app.manager.setPrefersColorScheme(theme);
10220
+ }
10166
10221
  }
10167
10222
  };
10168
10223
  return [app, theme, language, container, containerRef, div0_binding];
@@ -10191,9 +10246,8 @@ function injectStyle(text2) {
10191
10246
  }
10192
10247
 
10193
10248
  // inline-sass-content:./src/style.scss
10194
- 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}';
10195
10250
 
10196
10251
  // inline-sass-stub:./src/style.scss
10197
10252
  injectStyle(style_default);
10198
- module.exports = __toCommonJS(src_exports);
10199
10253
  //# sourceMappingURL=index.js.map