@netless/fastboard-ui 1.0.0-canary.3 → 1.0.0-canary.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,21 +1,5 @@
1
1
  import Tippy from 'tippy.js';
2
2
 
3
- // inline-sass-helper:inline-sass-style-helper.js
4
- function injectStyle(text2) {
5
- if (typeof document !== "undefined") {
6
- var style = document.createElement("style");
7
- var node = document.createTextNode(text2);
8
- style.appendChild(node);
9
- document.head.appendChild(style);
10
- }
11
- }
12
-
13
- // inline-sass-content:./src/style.scss
14
- var style_default = '.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.fastboard-icon.light .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-icon.light .fastboard-icon-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-icon.light.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #3381ff)}.fastboard-icon.light.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #3381ff)}.fastboard-icon.dark .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark .fastboard-icon-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #2867cc)}.fastboard-icon.dark.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #2867cc)}.fastboard-redo-undo{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-redo-undo *{box-sizing:inherit}.fastboard-redo-undo.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-redo-undo.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-redo-undo-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-redo-undo-btn svg,.fastboard-redo-undo-btn img{width:100%;height:100%;pointer-events:none}.fastboard-redo-undo-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-redo-undo-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-redo-undo-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-zoom-control *{box-sizing:inherit}.fastboard-zoom-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-zoom-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-zoom-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-zoom-control-btn svg,.fastboard-zoom-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-zoom-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-zoom-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-zoom-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control-text{font-variant-numeric:tabular-nums}.fastboard-page-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-page-control *{box-sizing:inherit}.fastboard-page-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-page-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-page-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-page-control-btn svg,.fastboard-page-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-page-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-page-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-page-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-page-control-text{font-variant-numeric:tabular-nums}.fastboard-player-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);width:100%}.fastboard-player-control *{box-sizing:inherit}.fastboard-player-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-player-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-player-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0;display:inline}.fastboard-player-control-btn svg,.fastboard-player-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-player-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-player-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-player-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-player-control-btn.loading svg,.fastboard-player-control-btn.loading img{animation:fastboard-player-control-rotate .5s linear infinite}@keyframes fastboard-player-control-rotate{to{transform:rotate(360deg)}}.fastboard-player-control-btn.speed{width:auto;padding:4px;text-align:right;font-size:14px;font-variant-numeric:tabular-nums}.fastboard-player-control-btn.is-active.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-player-control-btn.is-active.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-player-control-speed-text,.fastboard-player-control-progress{font-size:14px;font-variant-numeric:tabular-nums;line-height:16px}.fastboard-player-control-progress{display:inline-flex;align-items:center}.fastboard-player-control-panel.speed{display:flex;flex-direction:column}.fastboard-toolbar{height:100%;display:flex;align-items:center;position:relative;transform:translate(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.fastboard-toolbar.collapsed{transform:translate(-100%)}.fastboard-toolbar-handler{position:absolute;left:100%;width:17px;font-size:0;border-radius:3px;cursor:pointer;pointer-events:auto}.fastboard-toolbar-handler:focus-visible{outline:2px solid -webkit-focus-ring-color}.fastboard-toolbar-handler input[type=checkbox]{position:absolute;top:0;left:0;appearance:none;margin:0;width:100%;height:100%;cursor:pointer;opacity:0;z-index:-1}.fastboard-toolbar-handler svg{opacity:0;transition:opacity .5s 1s;pointer-events:none}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(255, 255, 255, .9))}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(20, 24, 30, .9))}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-toolbar:hover .fastboard-toolbar-handler svg,.fastboard-toolbar.collapsed .fastboard-toolbar-handler svg{opacity:1;transition:opacity .2s}.fastboard-toolbar-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:4px;width:32px;height:32px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-toolbar-btn svg,.fastboard-toolbar-btn img{width:100%;height:100%;pointer-events:none}.fastboard-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-toolbar-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-slider{box-sizing:border-box;position:relative;width:100%;height:100%;display:flex;align-items:center}.fastboard-slider *{box-sizing:inherit}.fastboard-slider-track{appearance:none;background:rgba(0,0,0,0);border:0;border-radius:26px;flex:1;display:block;height:19px;margin:0;width:0;min-width:0;padding:0;transition:box-shadow .3s ease;cursor:pointer;touch-action:manipulation}.fastboard-slider-track::-webkit-slider-runnable-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;background-image:linear-gradient(to right,currentColor var(--value, 0%),transparent var(--value, 0%))}.fastboard-slider-track::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;appearance:none;margin-top:-4px}.fastboard-slider-track::-moz-range-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none}.fastboard-slider-track::-moz-range-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab}.fastboard-slider-track::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.fastboard-slider-track::-ms-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;color:#0000}.fastboard-slider-track::-ms-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;margin-top:0}.fastboard-slider-track::-ms-tooltip{display:none}.fastboard-slider-track::-moz-focus-outer{border:0}.fastboard-slider-track.grabbing::-webkit-slider-thumb{cursor:grabbing}.fastboard-slider-track.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-slider-track.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-contents{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:2px 0;gap:0;flex-direction:column}.fastboard-toolbar-contents *{box-sizing:inherit}.fastboard-toolbar-contents.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-contents.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-contents>.fastboard-toolbar-btn{margin:2px 4px}.fastboard-toolbar-btn-interactive{position:relative}.fastboard-toolbar-triangle{width:0px;height:0px;border-bottom:4px solid;border-left:4px solid rgba(0,0,0,0);position:absolute;bottom:0;right:0}.fastboard-toolbar-btn:focus+.fastboard-toolbar-triangle{opacity:0}.fastboard-toolbar-scrollable{padding:2px 4px;overflow:hidden;display:flex;flex-direction:column;gap:4px}.fastboard-toolbar-tooltip{display:inline-flex;align-items:center;gap:4px}.fastboard-toolbar-hotkey{display:inline-flex;margin-right:-4px;width:24px;height:24px;align-items:center;justify-content:center;background-color:#ffffff1a;border-radius:4px}.fastboard-toolbar-panel-wrapper{display:none}.fastboard-toolbar-panel{display:flex;flex-direction:column}.fastboard-toolbar-panel-divider{height:.5px;width:100%;margin:4px 0;background-color:#ffffff26}.fastboard-toolbar-colors,.fastboard-toolbar-shapes{display:grid;align-self:center;grid-template:repeat(2,1fr)/repeat(4,1fr);align-items:center;justify-items:center;gap:4px}.fastboard-toolbar-shape-btn,.fastboard-toolbar-color-btn{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center}.fastboard-toolbar-color-btn{border:1px solid rgba(0,0,0,0)}.fastboard-toolbar-color-btn.light.is-active{border-color:var(--fastboard-active-color, #3381ff)}.fastboard-toolbar-color-btn.dark.is-active{border-color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-color-item{display:inline-block;width:16px;height:16px;border-radius:4px;pointer-events:none}.fastboard-toolbar-panel.apps{display:grid;grid-template-columns:repeat(min(var(--n, 3),3),minmax(max-content,1fr));gap:4px}.fastboard-toolbar-app-btn{margin:0;border:0;border-radius:2px;padding:4px 6px;background-color:#0000;display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-size:0}.fastboard-toolbar-app-btn:disabled{opacity:.8}.fastboard-toolbar-app-btn-icon{width:32px;height:32px;pointer-events:none}.fastboard-toolbar-app-btn-text{font-size:14px;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.fastboard-toolbar-app-btn.is-loading{cursor:progress}.fastboard-toolbar-app-btn.is-failed{cursor:not-allowed;opacity:.5}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.light{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-app-btn-text.light{color:var(--fastboard-color, #5d6066)}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.dark{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-toolbar-app-btn-text.dark{color:var(--fastboard-color, #7b7e84)}.fastboard-root{position:relative;width:100%;height:100%;overflow:hidden}.fastboard-view{position:absolute;top:0;left:0;width:100%;height:100%}.fastboard-left{display:flex;align-items:center;position:absolute;bottom:62px;top:8px;left:0;z-index:200;pointer-events:none}.fastboard-left .fastboard-toolbar{padding-left:16px}.fastboard-bottom-left,.fastboard-bottom,.fastboard-bottom-right{display:flex;gap:10px;position:absolute;bottom:8px;left:8px;padding:8px;z-index:200;pointer-events:none}.fastboard-bottom-right{left:auto;right:8px}.fastboard-bottom{right:8px}.fastboard-left.hidden *,.fastboard-bottom.hidden *,.fastboard-bottom-left.hidden *,.fastboard-bottom-right.hidden *{opacity:0;pointer-events:none}.fastboard-tip{font-family:inherit;color:#d5d9e0;background-color:#03060d}.fastboard-tip[data-placement^=right]>.tippy-arrow:before{top:4px;border-width:4px;border-right-color:#03060d}.fastboard-tip[data-placement^=top]>.tippy-arrow:before{left:4px;border-width:4px;border-top-color:#03060d}.fastboard-panel .tippy-content{padding:8px}.netless-whiteboard:focus-visible{outline:none}';
15
-
16
- // inline-sass-stub:./src/style.scss
17
- injectStyle(style_default);
18
-
19
3
  // ../../node_modules/.pnpm/svelte@3.49.0/node_modules/svelte/internal/index.mjs
20
4
  function noop() {
21
5
  }
@@ -459,7 +443,7 @@ function make_dirty(component, i) {
459
443
  }
460
444
  component.$$.dirty[i / 31 | 0] |= 1 << i % 31;
461
445
  }
462
- function init(component, options, instance59, create_fragment59, not_equal2, props, append_styles, dirty = [-1]) {
446
+ function init(component, options, instance62, create_fragment62, not_equal2, props, append_styles, dirty = [-1]) {
463
447
  const parent_component = current_component;
464
448
  set_current_component(component);
465
449
  const $$ = component.$$ = {
@@ -482,7 +466,7 @@ function init(component, options, instance59, create_fragment59, not_equal2, pro
482
466
  };
483
467
  append_styles && append_styles($$.root);
484
468
  let ready = false;
485
- $$.ctx = instance59 ? instance59(component, options.props || {}, (i, ret, ...rest) => {
469
+ $$.ctx = instance62 ? instance62(component, options.props || {}, (i, ret, ...rest) => {
486
470
  const value = rest.length ? rest[0] : ret;
487
471
  if ($$.ctx && not_equal2($$.ctx[i], $$.ctx[i] = value)) {
488
472
  if (!$$.skip_bound && $$.bound[i])
@@ -495,7 +479,7 @@ function init(component, options, instance59, create_fragment59, not_equal2, pro
495
479
  $$.update();
496
480
  ready = true;
497
481
  run_all($$.before_update);
498
- $$.fragment = create_fragment59 ? create_fragment59($$.ctx) : false;
482
+ $$.fragment = create_fragment62 ? create_fragment62($$.ctx) : false;
499
483
  if (options.target) {
500
484
  if (options.hydrate) {
501
485
  const nodes = children(options.target);
@@ -1465,17 +1449,51 @@ var Down_default = Down;
1465
1449
  // src/components/Icons/Eraser.svelte
1466
1450
  function create_fragment14(ctx) {
1467
1451
  let svg;
1468
- let path;
1452
+ let path0;
1453
+ let path1;
1454
+ let path2;
1455
+ let path3;
1456
+ let path4;
1457
+ let path5;
1469
1458
  let svg_class_value;
1470
1459
  return {
1471
1460
  c() {
1472
1461
  svg = svg_element("svg");
1473
- path = svg_element("path");
1474
- attr(path, "stroke", "#5D6066");
1475
- attr(path, "stroke-linejoin", "round");
1476
- attr(path, "stroke-width", "1.25");
1477
- attr(path, "d", "M13.414 4.929a2 2 0 0 1 2.829 0l2.828 2.828a2 2 0 0 1 0 2.829L12 17.656a4 4 0 0 1-5.657 0L4.93 16.244a2 2 0 0 1 0-2.829l8.485-8.485ZM12 6.343 17.657 12m-1.414-7.071-2.829 2.828m4.243-1.414-2.829 2.829m4.243-1.415-2.828 2.829");
1478
- attr(path, "class", "fastboard-icon-stroke-color");
1462
+ path0 = svg_element("path");
1463
+ path1 = svg_element("path");
1464
+ path2 = svg_element("path");
1465
+ path3 = svg_element("path");
1466
+ path4 = svg_element("path");
1467
+ path5 = svg_element("path");
1468
+ attr(path0, "d", "M16 16L20 20M20 16L16 20");
1469
+ attr(path0, "stroke", "#5D6066");
1470
+ attr(path0, "class", "fastboard-icon-stroke-color");
1471
+ attr(path0, "stroke-width", "1.25");
1472
+ attr(path1, "d", "M13.4139 4.92898C14.195 4.14794 15.4613 4.14794 16.2423 4.92898L19.0708 7.75741C19.8518 8.53846 19.8518 9.80479 19.0708 10.5858L11.9997 17.6569C10.4376 19.219 7.90494 19.219 6.34284 17.6569L4.92863 16.2427C4.14758 15.4616 4.14758 14.1953 4.92863 13.4143L13.4139 4.92898Z");
1473
+ attr(path1, "stroke", "#5D6066");
1474
+ attr(path1, "class", "fastboard-icon-stroke-color");
1475
+ attr(path1, "stroke-width", "1.25");
1476
+ attr(path1, "stroke-linejoin", "round");
1477
+ attr(path2, "d", "M12 6.34314L17.6569 12");
1478
+ attr(path2, "stroke", "#5D6066");
1479
+ attr(path2, "class", "fastboard-icon-stroke-color");
1480
+ attr(path2, "stroke-width", "1.25");
1481
+ attr(path2, "stroke-linejoin", "round");
1482
+ attr(path3, "d", "M16.2422 4.92896L13.4138 7.75738");
1483
+ attr(path3, "stroke", "#5D6066");
1484
+ attr(path3, "class", "fastboard-icon-stroke-color");
1485
+ attr(path3, "stroke-width", "1.25");
1486
+ attr(path3, "stroke-linejoin", "round");
1487
+ attr(path4, "d", "M17.6572 6.34314L14.8288 9.17157");
1488
+ attr(path4, "stroke", "#5D6066");
1489
+ attr(path4, "class", "fastboard-icon-stroke-color");
1490
+ attr(path4, "stroke-width", "1.25");
1491
+ attr(path4, "stroke-linejoin", "round");
1492
+ attr(path5, "d", "M19.0713 7.75732L16.2429 10.5858");
1493
+ attr(path5, "stroke", "#5D6066");
1494
+ attr(path5, "class", "fastboard-icon-stroke-color");
1495
+ attr(path5, "stroke-width", "1.25");
1496
+ attr(path5, "stroke-linejoin", "round");
1479
1497
  attr(svg, "fill", "none");
1480
1498
  attr(svg, "viewBox", "0 0 24 24");
1481
1499
  attr(svg, "class", svg_class_value = "fastboard-icon " + ctx[0]);
@@ -1483,7 +1501,12 @@ function create_fragment14(ctx) {
1483
1501
  },
1484
1502
  m(target, anchor) {
1485
1503
  insert(target, svg, anchor);
1486
- append(svg, path);
1504
+ append(svg, path0);
1505
+ append(svg, path1);
1506
+ append(svg, path2);
1507
+ append(svg, path3);
1508
+ append(svg, path4);
1509
+ append(svg, path5);
1487
1510
  },
1488
1511
  p(ctx2, [dirty]) {
1489
1512
  if (dirty & 1 && svg_class_value !== (svg_class_value = "fastboard-icon " + ctx2[0])) {
@@ -1529,10 +1552,10 @@ function create_fragment15(ctx) {
1529
1552
  c() {
1530
1553
  svg = svg_element("svg");
1531
1554
  path = svg_element("path");
1532
- attr(path, "fill", "#5D6066");
1533
1555
  attr(path, "fill-rule", "evenodd");
1534
- attr(path, "d", "M16.242 4.929a2 2 0 0 0-2.828 0L4.93 13.414a2 2 0 0 0 0 2.829l1.414 1.414a4 4 0 0 0 5.657 0l5.215-5.215-5.657-5.657.884-.884 5.657 5.657.972-.972a2 2 0 0 0 0-2.829l-2.83-2.827Z");
1535
1556
  attr(path, "clip-rule", "evenodd");
1557
+ attr(path, "d", "M16.2423 4.92893C15.4612 4.14788 14.1949 4.14788 13.4138 4.92893L4.92856 13.4142C4.14751 14.1953 4.14751 15.4616 4.92856 16.2426L6.34277 17.6568C7.90487 19.2189 10.4375 19.2189 11.9996 17.6568L17.2146 12.4419L11.5577 6.78508L12.4416 5.9012L18.0985 11.558L19.0707 10.5858C19.8517 9.80473 19.8517 8.5384 19.0707 7.75735L16.2423 4.92893ZM17.1161 18L15.5581 16.4419L16.4419 15.5581L18 17.1161L19.5581 15.5581L20.4419 16.4419L18.8839 18L20.4419 19.5581L19.5581 20.4419L18 18.8839L16.4419 20.4419L15.5581 19.5581L17.1161 18Z");
1558
+ attr(path, "fill", "#3381FF");
1536
1559
  attr(path, "class", "fastboard-icon-fill-color");
1537
1560
  attr(svg, "fill", "none");
1538
1561
  attr(svg, "viewBox", "0 0 24 24");
@@ -1941,8 +1964,124 @@ var PencilFilled = class extends SvelteComponent {
1941
1964
  };
1942
1965
  var PencilFilled_default = PencilFilled;
1943
1966
 
1944
- // src/components/Icons/Plus.svelte
1967
+ // src/components/Icons/PencilEraser.svelte
1945
1968
  function create_fragment22(ctx) {
1969
+ let svg;
1970
+ let path;
1971
+ let svg_class_value;
1972
+ return {
1973
+ c() {
1974
+ svg = svg_element("svg");
1975
+ path = svg_element("path");
1976
+ attr(path, "stroke", "#5D6066");
1977
+ attr(path, "stroke-linejoin", "round");
1978
+ attr(path, "stroke-width", "1.25");
1979
+ attr(path, "d", "M13.414 4.929a2 2 0 0 1 2.829 0l2.828 2.828a2 2 0 0 1 0 2.829L12 17.656a4 4 0 0 1-5.657 0L4.93 16.244a2 2 0 0 1 0-2.829l8.485-8.485ZM12 6.343 17.657 12m-1.414-7.071-2.829 2.828m4.243-1.414-2.829 2.829m4.243-1.415-2.828 2.829");
1980
+ attr(path, "class", "fastboard-icon-stroke-color");
1981
+ attr(svg, "fill", "none");
1982
+ attr(svg, "viewBox", "0 0 24 24");
1983
+ attr(svg, "class", svg_class_value = "fastboard-icon " + ctx[0]);
1984
+ toggle_class(svg, "is-active", ctx[1]);
1985
+ },
1986
+ m(target, anchor) {
1987
+ insert(target, svg, anchor);
1988
+ append(svg, path);
1989
+ },
1990
+ p(ctx2, [dirty]) {
1991
+ if (dirty & 1 && svg_class_value !== (svg_class_value = "fastboard-icon " + ctx2[0])) {
1992
+ attr(svg, "class", svg_class_value);
1993
+ }
1994
+ if (dirty & 3) {
1995
+ toggle_class(svg, "is-active", ctx2[1]);
1996
+ }
1997
+ },
1998
+ i: noop,
1999
+ o: noop,
2000
+ d(detaching) {
2001
+ if (detaching)
2002
+ detach(svg);
2003
+ }
2004
+ };
2005
+ }
2006
+ function instance22($$self, $$props, $$invalidate) {
2007
+ let { theme = "light" } = $$props;
2008
+ let { active = false } = $$props;
2009
+ $$self.$$set = ($$props2) => {
2010
+ if ("theme" in $$props2)
2011
+ $$invalidate(0, theme = $$props2.theme);
2012
+ if ("active" in $$props2)
2013
+ $$invalidate(1, active = $$props2.active);
2014
+ };
2015
+ return [theme, active];
2016
+ }
2017
+ var PencilEraser = class extends SvelteComponent {
2018
+ constructor(options) {
2019
+ super();
2020
+ init(this, options, instance22, create_fragment22, safe_not_equal, { theme: 0, active: 1 });
2021
+ }
2022
+ };
2023
+ var PencilEraser_default = PencilEraser;
2024
+
2025
+ // src/components/Icons/PencilEraserFilled.svelte
2026
+ function create_fragment23(ctx) {
2027
+ let svg;
2028
+ let path;
2029
+ let svg_class_value;
2030
+ return {
2031
+ c() {
2032
+ svg = svg_element("svg");
2033
+ path = svg_element("path");
2034
+ attr(path, "fill", "#5D6066");
2035
+ attr(path, "fill-rule", "evenodd");
2036
+ attr(path, "d", "M16.242 4.929a2 2 0 0 0-2.828 0L4.93 13.414a2 2 0 0 0 0 2.829l1.414 1.414a4 4 0 0 0 5.657 0l5.215-5.215-5.657-5.657.884-.884 5.657 5.657.972-.972a2 2 0 0 0 0-2.829l-2.83-2.827Z");
2037
+ attr(path, "clip-rule", "evenodd");
2038
+ attr(path, "class", "fastboard-icon-fill-color");
2039
+ attr(svg, "fill", "none");
2040
+ attr(svg, "viewBox", "0 0 24 24");
2041
+ attr(svg, "class", svg_class_value = "fastboard-icon " + ctx[0]);
2042
+ toggle_class(svg, "is-active", ctx[1]);
2043
+ },
2044
+ m(target, anchor) {
2045
+ insert(target, svg, anchor);
2046
+ append(svg, path);
2047
+ },
2048
+ p(ctx2, [dirty]) {
2049
+ if (dirty & 1 && svg_class_value !== (svg_class_value = "fastboard-icon " + ctx2[0])) {
2050
+ attr(svg, "class", svg_class_value);
2051
+ }
2052
+ if (dirty & 3) {
2053
+ toggle_class(svg, "is-active", ctx2[1]);
2054
+ }
2055
+ },
2056
+ i: noop,
2057
+ o: noop,
2058
+ d(detaching) {
2059
+ if (detaching)
2060
+ detach(svg);
2061
+ }
2062
+ };
2063
+ }
2064
+ function instance23($$self, $$props, $$invalidate) {
2065
+ let { theme = "light" } = $$props;
2066
+ let { active = false } = $$props;
2067
+ $$self.$$set = ($$props2) => {
2068
+ if ("theme" in $$props2)
2069
+ $$invalidate(0, theme = $$props2.theme);
2070
+ if ("active" in $$props2)
2071
+ $$invalidate(1, active = $$props2.active);
2072
+ };
2073
+ return [theme, active];
2074
+ }
2075
+ var PencilEraserFilled = class extends SvelteComponent {
2076
+ constructor(options) {
2077
+ super();
2078
+ init(this, options, instance23, create_fragment23, safe_not_equal, { theme: 0, active: 1 });
2079
+ }
2080
+ };
2081
+ var PencilEraserFilled_default = PencilEraserFilled;
2082
+
2083
+ // src/components/Icons/Plus.svelte
2084
+ function create_fragment24(ctx) {
1946
2085
  let svg;
1947
2086
  let path;
1948
2087
  let svg_class_value;
@@ -1980,7 +2119,7 @@ function create_fragment22(ctx) {
1980
2119
  }
1981
2120
  };
1982
2121
  }
1983
- function instance22($$self, $$props, $$invalidate) {
2122
+ function instance24($$self, $$props, $$invalidate) {
1984
2123
  let { theme = "light" } = $$props;
1985
2124
  let { active = false } = $$props;
1986
2125
  $$self.$$set = ($$props2) => {
@@ -1994,13 +2133,13 @@ function instance22($$self, $$props, $$invalidate) {
1994
2133
  var Plus = class extends SvelteComponent {
1995
2134
  constructor(options) {
1996
2135
  super();
1997
- init(this, options, instance22, create_fragment22, safe_not_equal, { theme: 0, active: 1 });
2136
+ init(this, options, instance24, create_fragment24, safe_not_equal, { theme: 0, active: 1 });
1998
2137
  }
1999
2138
  };
2000
2139
  var Plus_default = Plus;
2001
2140
 
2002
2141
  // src/components/Icons/Rectangle.svelte
2003
- function create_fragment23(ctx) {
2142
+ function create_fragment25(ctx) {
2004
2143
  let svg;
2005
2144
  let path;
2006
2145
  let svg_class_value;
@@ -2038,7 +2177,7 @@ function create_fragment23(ctx) {
2038
2177
  }
2039
2178
  };
2040
2179
  }
2041
- function instance23($$self, $$props, $$invalidate) {
2180
+ function instance25($$self, $$props, $$invalidate) {
2042
2181
  let { theme = "light" } = $$props;
2043
2182
  let { active = false } = $$props;
2044
2183
  $$self.$$set = ($$props2) => {
@@ -2052,13 +2191,13 @@ function instance23($$self, $$props, $$invalidate) {
2052
2191
  var Rectangle = class extends SvelteComponent {
2053
2192
  constructor(options) {
2054
2193
  super();
2055
- init(this, options, instance23, create_fragment23, safe_not_equal, { theme: 0, active: 1 });
2194
+ init(this, options, instance25, create_fragment25, safe_not_equal, { theme: 0, active: 1 });
2056
2195
  }
2057
2196
  };
2058
2197
  var Rectangle_default = Rectangle;
2059
2198
 
2060
2199
  // src/components/Icons/RectangleBolded.svelte
2061
- function create_fragment24(ctx) {
2200
+ function create_fragment26(ctx) {
2062
2201
  let svg;
2063
2202
  let path;
2064
2203
  let svg_class_value;
@@ -2096,7 +2235,7 @@ function create_fragment24(ctx) {
2096
2235
  }
2097
2236
  };
2098
2237
  }
2099
- function instance24($$self, $$props, $$invalidate) {
2238
+ function instance26($$self, $$props, $$invalidate) {
2100
2239
  let { theme = "light" } = $$props;
2101
2240
  let { active = false } = $$props;
2102
2241
  $$self.$$set = ($$props2) => {
@@ -2110,13 +2249,13 @@ function instance24($$self, $$props, $$invalidate) {
2110
2249
  var RectangleBolded = class extends SvelteComponent {
2111
2250
  constructor(options) {
2112
2251
  super();
2113
- init(this, options, instance24, create_fragment24, safe_not_equal, { theme: 0, active: 1 });
2252
+ init(this, options, instance26, create_fragment26, safe_not_equal, { theme: 0, active: 1 });
2114
2253
  }
2115
2254
  };
2116
2255
  var RectangleBolded_default = RectangleBolded;
2117
2256
 
2118
2257
  // src/components/Icons/Redo.svelte
2119
- function create_fragment25(ctx) {
2258
+ function create_fragment27(ctx) {
2120
2259
  let svg;
2121
2260
  let path0;
2122
2261
  let path1;
@@ -2158,7 +2297,7 @@ function create_fragment25(ctx) {
2158
2297
  }
2159
2298
  };
2160
2299
  }
2161
- function instance25($$self, $$props, $$invalidate) {
2300
+ function instance27($$self, $$props, $$invalidate) {
2162
2301
  let { theme = "light" } = $$props;
2163
2302
  let { active = false } = $$props;
2164
2303
  $$self.$$set = ($$props2) => {
@@ -2172,13 +2311,13 @@ function instance25($$self, $$props, $$invalidate) {
2172
2311
  var Redo = class extends SvelteComponent {
2173
2312
  constructor(options) {
2174
2313
  super();
2175
- init(this, options, instance25, create_fragment25, safe_not_equal, { theme: 0, active: 1 });
2314
+ init(this, options, instance27, create_fragment27, safe_not_equal, { theme: 0, active: 1 });
2176
2315
  }
2177
2316
  };
2178
2317
  var Redo_default = Redo;
2179
2318
 
2180
2319
  // src/components/Icons/Reset.svelte
2181
- function create_fragment26(ctx) {
2320
+ function create_fragment28(ctx) {
2182
2321
  let svg;
2183
2322
  let circle0;
2184
2323
  let path;
@@ -2234,7 +2373,7 @@ function create_fragment26(ctx) {
2234
2373
  }
2235
2374
  };
2236
2375
  }
2237
- function instance26($$self, $$props, $$invalidate) {
2376
+ function instance28($$self, $$props, $$invalidate) {
2238
2377
  let { theme = "light" } = $$props;
2239
2378
  let { active = false } = $$props;
2240
2379
  $$self.$$set = ($$props2) => {
@@ -2248,13 +2387,13 @@ function instance26($$self, $$props, $$invalidate) {
2248
2387
  var Reset = class extends SvelteComponent {
2249
2388
  constructor(options) {
2250
2389
  super();
2251
- init(this, options, instance26, create_fragment26, safe_not_equal, { theme: 0, active: 1 });
2390
+ init(this, options, instance28, create_fragment28, safe_not_equal, { theme: 0, active: 1 });
2252
2391
  }
2253
2392
  };
2254
2393
  var Reset_default = Reset;
2255
2394
 
2256
2395
  // src/components/Icons/Rhombus.svelte
2257
- function create_fragment27(ctx) {
2396
+ function create_fragment29(ctx) {
2258
2397
  let svg;
2259
2398
  let path;
2260
2399
  let svg_class_value;
@@ -2292,7 +2431,7 @@ function create_fragment27(ctx) {
2292
2431
  }
2293
2432
  };
2294
2433
  }
2295
- function instance27($$self, $$props, $$invalidate) {
2434
+ function instance29($$self, $$props, $$invalidate) {
2296
2435
  let { theme = "light" } = $$props;
2297
2436
  let { active = false } = $$props;
2298
2437
  $$self.$$set = ($$props2) => {
@@ -2306,13 +2445,13 @@ function instance27($$self, $$props, $$invalidate) {
2306
2445
  var Rhombus = class extends SvelteComponent {
2307
2446
  constructor(options) {
2308
2447
  super();
2309
- init(this, options, instance27, create_fragment27, safe_not_equal, { theme: 0, active: 1 });
2448
+ init(this, options, instance29, create_fragment29, safe_not_equal, { theme: 0, active: 1 });
2310
2449
  }
2311
2450
  };
2312
2451
  var Rhombus_default = Rhombus;
2313
2452
 
2314
2453
  // src/components/Icons/RhombusBolded.svelte
2315
- function create_fragment28(ctx) {
2454
+ function create_fragment30(ctx) {
2316
2455
  let svg;
2317
2456
  let path;
2318
2457
  let svg_class_value;
@@ -2350,7 +2489,7 @@ function create_fragment28(ctx) {
2350
2489
  }
2351
2490
  };
2352
2491
  }
2353
- function instance28($$self, $$props, $$invalidate) {
2492
+ function instance30($$self, $$props, $$invalidate) {
2354
2493
  let { theme = "light" } = $$props;
2355
2494
  let { active = false } = $$props;
2356
2495
  $$self.$$set = ($$props2) => {
@@ -2364,13 +2503,13 @@ function instance28($$self, $$props, $$invalidate) {
2364
2503
  var RhombusBolded = class extends SvelteComponent {
2365
2504
  constructor(options) {
2366
2505
  super();
2367
- init(this, options, instance28, create_fragment28, safe_not_equal, { theme: 0, active: 1 });
2506
+ init(this, options, instance30, create_fragment30, safe_not_equal, { theme: 0, active: 1 });
2368
2507
  }
2369
2508
  };
2370
2509
  var RhombusBolded_default = RhombusBolded;
2371
2510
 
2372
2511
  // src/components/Icons/Right.svelte
2373
- function create_fragment29(ctx) {
2512
+ function create_fragment31(ctx) {
2374
2513
  let svg;
2375
2514
  let path;
2376
2515
  let svg_class_value;
@@ -2408,7 +2547,7 @@ function create_fragment29(ctx) {
2408
2547
  }
2409
2548
  };
2410
2549
  }
2411
- function instance29($$self, $$props, $$invalidate) {
2550
+ function instance31($$self, $$props, $$invalidate) {
2412
2551
  let { theme = "light" } = $$props;
2413
2552
  let { active = false } = $$props;
2414
2553
  $$self.$$set = ($$props2) => {
@@ -2422,13 +2561,13 @@ function instance29($$self, $$props, $$invalidate) {
2422
2561
  var Right = class extends SvelteComponent {
2423
2562
  constructor(options) {
2424
2563
  super();
2425
- init(this, options, instance29, create_fragment29, safe_not_equal, { theme: 0, active: 1 });
2564
+ init(this, options, instance31, create_fragment31, safe_not_equal, { theme: 0, active: 1 });
2426
2565
  }
2427
2566
  };
2428
2567
  var Right_default = Right;
2429
2568
 
2430
2569
  // src/components/Icons/Selector.svelte
2431
- function create_fragment30(ctx) {
2570
+ function create_fragment32(ctx) {
2432
2571
  let svg;
2433
2572
  let path0;
2434
2573
  let path1;
@@ -2475,7 +2614,7 @@ function create_fragment30(ctx) {
2475
2614
  }
2476
2615
  };
2477
2616
  }
2478
- function instance30($$self, $$props, $$invalidate) {
2617
+ function instance32($$self, $$props, $$invalidate) {
2479
2618
  let { theme = "light" } = $$props;
2480
2619
  let { active = false } = $$props;
2481
2620
  $$self.$$set = ($$props2) => {
@@ -2489,13 +2628,13 @@ function instance30($$self, $$props, $$invalidate) {
2489
2628
  var Selector = class extends SvelteComponent {
2490
2629
  constructor(options) {
2491
2630
  super();
2492
- init(this, options, instance30, create_fragment30, safe_not_equal, { theme: 0, active: 1 });
2631
+ init(this, options, instance32, create_fragment32, safe_not_equal, { theme: 0, active: 1 });
2493
2632
  }
2494
2633
  };
2495
2634
  var Selector_default = Selector;
2496
2635
 
2497
2636
  // src/components/Icons/SelectorFilled.svelte
2498
- function create_fragment31(ctx) {
2637
+ function create_fragment33(ctx) {
2499
2638
  let svg;
2500
2639
  let path0;
2501
2640
  let path1;
@@ -2540,7 +2679,7 @@ function create_fragment31(ctx) {
2540
2679
  }
2541
2680
  };
2542
2681
  }
2543
- function instance31($$self, $$props, $$invalidate) {
2682
+ function instance33($$self, $$props, $$invalidate) {
2544
2683
  let { theme = "light" } = $$props;
2545
2684
  let { active = false } = $$props;
2546
2685
  $$self.$$set = ($$props2) => {
@@ -2554,13 +2693,13 @@ function instance31($$self, $$props, $$invalidate) {
2554
2693
  var SelectorFilled = class extends SvelteComponent {
2555
2694
  constructor(options) {
2556
2695
  super();
2557
- init(this, options, instance31, create_fragment31, safe_not_equal, { theme: 0, active: 1 });
2696
+ init(this, options, instance33, create_fragment33, safe_not_equal, { theme: 0, active: 1 });
2558
2697
  }
2559
2698
  };
2560
2699
  var SelectorFilled_default = SelectorFilled;
2561
2700
 
2562
2701
  // src/components/Icons/SpeechBalloon.svelte
2563
- function create_fragment32(ctx) {
2702
+ function create_fragment34(ctx) {
2564
2703
  let svg;
2565
2704
  let path;
2566
2705
  let svg_class_value;
@@ -2598,7 +2737,7 @@ function create_fragment32(ctx) {
2598
2737
  }
2599
2738
  };
2600
2739
  }
2601
- function instance32($$self, $$props, $$invalidate) {
2740
+ function instance34($$self, $$props, $$invalidate) {
2602
2741
  let { theme = "light" } = $$props;
2603
2742
  let { active = false } = $$props;
2604
2743
  $$self.$$set = ($$props2) => {
@@ -2612,13 +2751,13 @@ function instance32($$self, $$props, $$invalidate) {
2612
2751
  var SpeechBalloon = class extends SvelteComponent {
2613
2752
  constructor(options) {
2614
2753
  super();
2615
- init(this, options, instance32, create_fragment32, safe_not_equal, { theme: 0, active: 1 });
2754
+ init(this, options, instance34, create_fragment34, safe_not_equal, { theme: 0, active: 1 });
2616
2755
  }
2617
2756
  };
2618
2757
  var SpeechBalloon_default = SpeechBalloon;
2619
2758
 
2620
2759
  // src/components/Icons/Star.svelte
2621
- function create_fragment33(ctx) {
2760
+ function create_fragment35(ctx) {
2622
2761
  let svg;
2623
2762
  let path;
2624
2763
  let svg_class_value;
@@ -2656,7 +2795,7 @@ function create_fragment33(ctx) {
2656
2795
  }
2657
2796
  };
2658
2797
  }
2659
- function instance33($$self, $$props, $$invalidate) {
2798
+ function instance35($$self, $$props, $$invalidate) {
2660
2799
  let { theme = "light" } = $$props;
2661
2800
  let { active = false } = $$props;
2662
2801
  $$self.$$set = ($$props2) => {
@@ -2670,13 +2809,13 @@ function instance33($$self, $$props, $$invalidate) {
2670
2809
  var Star = class extends SvelteComponent {
2671
2810
  constructor(options) {
2672
2811
  super();
2673
- init(this, options, instance33, create_fragment33, safe_not_equal, { theme: 0, active: 1 });
2812
+ init(this, options, instance35, create_fragment35, safe_not_equal, { theme: 0, active: 1 });
2674
2813
  }
2675
2814
  };
2676
2815
  var Star_default = Star;
2677
2816
 
2678
2817
  // src/components/Icons/StarBolded.svelte
2679
- function create_fragment34(ctx) {
2818
+ function create_fragment36(ctx) {
2680
2819
  let svg;
2681
2820
  let path;
2682
2821
  let svg_class_value;
@@ -2714,7 +2853,7 @@ function create_fragment34(ctx) {
2714
2853
  }
2715
2854
  };
2716
2855
  }
2717
- function instance34($$self, $$props, $$invalidate) {
2856
+ function instance36($$self, $$props, $$invalidate) {
2718
2857
  let { theme = "light" } = $$props;
2719
2858
  let { active = false } = $$props;
2720
2859
  $$self.$$set = ($$props2) => {
@@ -2728,13 +2867,13 @@ function instance34($$self, $$props, $$invalidate) {
2728
2867
  var StarBolded = class extends SvelteComponent {
2729
2868
  constructor(options) {
2730
2869
  super();
2731
- init(this, options, instance34, create_fragment34, safe_not_equal, { theme: 0, active: 1 });
2870
+ init(this, options, instance36, create_fragment36, safe_not_equal, { theme: 0, active: 1 });
2732
2871
  }
2733
2872
  };
2734
2873
  var StarBolded_default = StarBolded;
2735
2874
 
2736
2875
  // src/components/Icons/Text.svelte
2737
- function create_fragment35(ctx) {
2876
+ function create_fragment37(ctx) {
2738
2877
  let svg;
2739
2878
  let path;
2740
2879
  let svg_class_value;
@@ -2772,7 +2911,7 @@ function create_fragment35(ctx) {
2772
2911
  }
2773
2912
  };
2774
2913
  }
2775
- function instance35($$self, $$props, $$invalidate) {
2914
+ function instance37($$self, $$props, $$invalidate) {
2776
2915
  let { theme = "light" } = $$props;
2777
2916
  let { active = false } = $$props;
2778
2917
  $$self.$$set = ($$props2) => {
@@ -2786,13 +2925,13 @@ function instance35($$self, $$props, $$invalidate) {
2786
2925
  var Text = class extends SvelteComponent {
2787
2926
  constructor(options) {
2788
2927
  super();
2789
- init(this, options, instance35, create_fragment35, safe_not_equal, { theme: 0, active: 1 });
2928
+ init(this, options, instance37, create_fragment37, safe_not_equal, { theme: 0, active: 1 });
2790
2929
  }
2791
2930
  };
2792
2931
  var Text_default = Text;
2793
2932
 
2794
2933
  // src/components/Icons/TextFilled.svelte
2795
- function create_fragment36(ctx) {
2934
+ function create_fragment38(ctx) {
2796
2935
  let svg;
2797
2936
  let path0;
2798
2937
  let path1;
@@ -2837,7 +2976,7 @@ function create_fragment36(ctx) {
2837
2976
  }
2838
2977
  };
2839
2978
  }
2840
- function instance36($$self, $$props, $$invalidate) {
2979
+ function instance38($$self, $$props, $$invalidate) {
2841
2980
  let { theme = "light" } = $$props;
2842
2981
  let { active = false } = $$props;
2843
2982
  $$self.$$set = ($$props2) => {
@@ -2851,13 +2990,13 @@ function instance36($$self, $$props, $$invalidate) {
2851
2990
  var TextFilled = class extends SvelteComponent {
2852
2991
  constructor(options) {
2853
2992
  super();
2854
- init(this, options, instance36, create_fragment36, safe_not_equal, { theme: 0, active: 1 });
2993
+ init(this, options, instance38, create_fragment38, safe_not_equal, { theme: 0, active: 1 });
2855
2994
  }
2856
2995
  };
2857
2996
  var TextFilled_default = TextFilled;
2858
2997
 
2859
2998
  // src/components/Icons/Triangle.svelte
2860
- function create_fragment37(ctx) {
2999
+ function create_fragment39(ctx) {
2861
3000
  let svg;
2862
3001
  let path;
2863
3002
  let svg_class_value;
@@ -2895,7 +3034,7 @@ function create_fragment37(ctx) {
2895
3034
  }
2896
3035
  };
2897
3036
  }
2898
- function instance37($$self, $$props, $$invalidate) {
3037
+ function instance39($$self, $$props, $$invalidate) {
2899
3038
  let { theme = "light" } = $$props;
2900
3039
  let { active = false } = $$props;
2901
3040
  $$self.$$set = ($$props2) => {
@@ -2909,13 +3048,13 @@ function instance37($$self, $$props, $$invalidate) {
2909
3048
  var Triangle = class extends SvelteComponent {
2910
3049
  constructor(options) {
2911
3050
  super();
2912
- init(this, options, instance37, create_fragment37, safe_not_equal, { theme: 0, active: 1 });
3051
+ init(this, options, instance39, create_fragment39, safe_not_equal, { theme: 0, active: 1 });
2913
3052
  }
2914
3053
  };
2915
3054
  var Triangle_default = Triangle;
2916
3055
 
2917
3056
  // src/components/Icons/TriangleBolded.svelte
2918
- function create_fragment38(ctx) {
3057
+ function create_fragment40(ctx) {
2919
3058
  let svg;
2920
3059
  let path;
2921
3060
  let svg_class_value;
@@ -2953,7 +3092,7 @@ function create_fragment38(ctx) {
2953
3092
  }
2954
3093
  };
2955
3094
  }
2956
- function instance38($$self, $$props, $$invalidate) {
3095
+ function instance40($$self, $$props, $$invalidate) {
2957
3096
  let { theme = "light" } = $$props;
2958
3097
  let { active = false } = $$props;
2959
3098
  $$self.$$set = ($$props2) => {
@@ -2967,13 +3106,13 @@ function instance38($$self, $$props, $$invalidate) {
2967
3106
  var TriangleBolded = class extends SvelteComponent {
2968
3107
  constructor(options) {
2969
3108
  super();
2970
- init(this, options, instance38, create_fragment38, safe_not_equal, { theme: 0, active: 1 });
3109
+ init(this, options, instance40, create_fragment40, safe_not_equal, { theme: 0, active: 1 });
2971
3110
  }
2972
3111
  };
2973
3112
  var TriangleBolded_default = TriangleBolded;
2974
3113
 
2975
3114
  // src/components/Icons/Undo.svelte
2976
- function create_fragment39(ctx) {
3115
+ function create_fragment41(ctx) {
2977
3116
  let svg;
2978
3117
  let path0;
2979
3118
  let path1;
@@ -3015,7 +3154,7 @@ function create_fragment39(ctx) {
3015
3154
  }
3016
3155
  };
3017
3156
  }
3018
- function instance39($$self, $$props, $$invalidate) {
3157
+ function instance41($$self, $$props, $$invalidate) {
3019
3158
  let { theme = "light" } = $$props;
3020
3159
  let { active = false } = $$props;
3021
3160
  $$self.$$set = ($$props2) => {
@@ -3029,13 +3168,13 @@ function instance39($$self, $$props, $$invalidate) {
3029
3168
  var Undo = class extends SvelteComponent {
3030
3169
  constructor(options) {
3031
3170
  super();
3032
- init(this, options, instance39, create_fragment39, safe_not_equal, { theme: 0, active: 1 });
3171
+ init(this, options, instance41, create_fragment41, safe_not_equal, { theme: 0, active: 1 });
3033
3172
  }
3034
3173
  };
3035
3174
  var Undo_default = Undo;
3036
3175
 
3037
3176
  // src/components/Icons/Up.svelte
3038
- function create_fragment40(ctx) {
3177
+ function create_fragment42(ctx) {
3039
3178
  let svg;
3040
3179
  let path;
3041
3180
  let svg_class_value;
@@ -3073,7 +3212,7 @@ function create_fragment40(ctx) {
3073
3212
  }
3074
3213
  };
3075
3214
  }
3076
- function instance40($$self, $$props, $$invalidate) {
3215
+ function instance42($$self, $$props, $$invalidate) {
3077
3216
  let { theme = "light" } = $$props;
3078
3217
  let { active = false } = $$props;
3079
3218
  $$self.$$set = ($$props2) => {
@@ -3087,13 +3226,13 @@ function instance40($$self, $$props, $$invalidate) {
3087
3226
  var Up = class extends SvelteComponent {
3088
3227
  constructor(options) {
3089
3228
  super();
3090
- init(this, options, instance40, create_fragment40, safe_not_equal, { theme: 0, active: 1 });
3229
+ init(this, options, instance42, create_fragment42, safe_not_equal, { theme: 0, active: 1 });
3091
3230
  }
3092
3231
  };
3093
3232
  var Up_default = Up;
3094
3233
 
3095
3234
  // src/components/Icons/WhiteboardAdd.svelte
3096
- function create_fragment41(ctx) {
3235
+ function create_fragment43(ctx) {
3097
3236
  let svg;
3098
3237
  let path0;
3099
3238
  let rect;
@@ -3151,7 +3290,7 @@ function create_fragment41(ctx) {
3151
3290
  }
3152
3291
  };
3153
3292
  }
3154
- function instance41($$self, $$props, $$invalidate) {
3293
+ function instance43($$self, $$props, $$invalidate) {
3155
3294
  let { theme = "light" } = $$props;
3156
3295
  let { active = false } = $$props;
3157
3296
  $$self.$$set = ($$props2) => {
@@ -3165,13 +3304,13 @@ function instance41($$self, $$props, $$invalidate) {
3165
3304
  var WhiteboardAdd = class extends SvelteComponent {
3166
3305
  constructor(options) {
3167
3306
  super();
3168
- init(this, options, instance41, create_fragment41, safe_not_equal, { theme: 0, active: 1 });
3307
+ init(this, options, instance43, create_fragment43, safe_not_equal, { theme: 0, active: 1 });
3169
3308
  }
3170
3309
  };
3171
3310
  var WhiteboardAdd_default = WhiteboardAdd;
3172
3311
 
3173
3312
  // src/components/Icons/Play.svelte
3174
- function create_fragment42(ctx) {
3313
+ function create_fragment44(ctx) {
3175
3314
  let svg;
3176
3315
  let path;
3177
3316
  let svg_class_value;
@@ -3207,7 +3346,7 @@ function create_fragment42(ctx) {
3207
3346
  }
3208
3347
  };
3209
3348
  }
3210
- function instance42($$self, $$props, $$invalidate) {
3349
+ function instance44($$self, $$props, $$invalidate) {
3211
3350
  let { theme = "light" } = $$props;
3212
3351
  let { active = false } = $$props;
3213
3352
  $$self.$$set = ($$props2) => {
@@ -3221,13 +3360,13 @@ function instance42($$self, $$props, $$invalidate) {
3221
3360
  var Play = class extends SvelteComponent {
3222
3361
  constructor(options) {
3223
3362
  super();
3224
- init(this, options, instance42, create_fragment42, safe_not_equal, { theme: 0, active: 1 });
3363
+ init(this, options, instance44, create_fragment44, safe_not_equal, { theme: 0, active: 1 });
3225
3364
  }
3226
3365
  };
3227
3366
  var Play_default = Play;
3228
3367
 
3229
3368
  // src/components/Icons/Pause.svelte
3230
- function create_fragment43(ctx) {
3369
+ function create_fragment45(ctx) {
3231
3370
  let svg;
3232
3371
  let path;
3233
3372
  let svg_class_value;
@@ -3263,7 +3402,7 @@ function create_fragment43(ctx) {
3263
3402
  }
3264
3403
  };
3265
3404
  }
3266
- function instance43($$self, $$props, $$invalidate) {
3405
+ function instance45($$self, $$props, $$invalidate) {
3267
3406
  let { theme = "light" } = $$props;
3268
3407
  let { active = false } = $$props;
3269
3408
  $$self.$$set = ($$props2) => {
@@ -3277,13 +3416,13 @@ function instance43($$self, $$props, $$invalidate) {
3277
3416
  var Pause = class extends SvelteComponent {
3278
3417
  constructor(options) {
3279
3418
  super();
3280
- init(this, options, instance43, create_fragment43, safe_not_equal, { theme: 0, active: 1 });
3419
+ init(this, options, instance45, create_fragment45, safe_not_equal, { theme: 0, active: 1 });
3281
3420
  }
3282
3421
  };
3283
3422
  var Pause_default = Pause;
3284
3423
 
3285
3424
  // src/components/Icons/Loading.svelte
3286
- function create_fragment44(ctx) {
3425
+ function create_fragment46(ctx) {
3287
3426
  let svg;
3288
3427
  let path;
3289
3428
  let svg_class_value;
@@ -3319,7 +3458,7 @@ function create_fragment44(ctx) {
3319
3458
  }
3320
3459
  };
3321
3460
  }
3322
- function instance44($$self, $$props, $$invalidate) {
3461
+ function instance46($$self, $$props, $$invalidate) {
3323
3462
  let { theme = "light" } = $$props;
3324
3463
  let { active = false } = $$props;
3325
3464
  $$self.$$set = ($$props2) => {
@@ -3333,7 +3472,7 @@ function instance44($$self, $$props, $$invalidate) {
3333
3472
  var Loading = class extends SvelteComponent {
3334
3473
  constructor(options) {
3335
3474
  super();
3336
- init(this, options, instance44, create_fragment44, safe_not_equal, { theme: 0, active: 1 });
3475
+ init(this, options, instance46, create_fragment46, safe_not_equal, { theme: 0, active: 1 });
3337
3476
  }
3338
3477
  };
3339
3478
  var Loading_default = Loading;
@@ -3360,6 +3499,8 @@ var Icons = {
3360
3499
  Minus: Minus_default,
3361
3500
  Pencil: Pencil_default,
3362
3501
  PencilFilled: PencilFilled_default,
3502
+ PencilEraser: PencilEraser_default,
3503
+ PencilEraserFilled: PencilEraserFilled_default,
3363
3504
  Plus: Plus_default,
3364
3505
  Rectangle: Rectangle_default,
3365
3506
  RectangleBolded: RectangleBolded_default,
@@ -3395,19 +3536,19 @@ if (is_client) {
3395
3536
  {
3396
3537
  name: "className",
3397
3538
  defaultValue: "",
3398
- fn(instance59) {
3539
+ fn(instance62) {
3399
3540
  function add() {
3400
- const el = instance59.popper.firstElementChild;
3541
+ const el = instance62.popper.firstElementChild;
3401
3542
  if (el) {
3402
3543
  el.classList.add("fastboard-tip");
3403
- const extra = (instance59.props.className || "").trim();
3544
+ const extra = (instance62.props.className || "").trim();
3404
3545
  if (extra) {
3405
3546
  el.classList.add(extra);
3406
3547
  }
3407
3548
  }
3408
3549
  }
3409
3550
  function remove() {
3410
- instance59.popper.firstElementChild?.classList.remove("fastboard-tip");
3551
+ instance62.popper.firstElementChild?.classList.remove("fastboard-tip");
3411
3552
  }
3412
3553
  return {
3413
3554
  onCreate: add,
@@ -3420,13 +3561,13 @@ if (is_client) {
3420
3561
  });
3421
3562
  }
3422
3563
  var tippy = function(node, props) {
3423
- const instance59 = Tippy(node, props);
3564
+ const instance62 = Tippy(node, props);
3424
3565
  return {
3425
3566
  update(props2) {
3426
- instance59.setProps(props2);
3567
+ instance62.setProps(props2);
3427
3568
  },
3428
3569
  destroy() {
3429
- instance59.destroy();
3570
+ instance62.destroy();
3430
3571
  }
3431
3572
  };
3432
3573
  };
@@ -3434,9 +3575,9 @@ function tippy_hide_all() {
3434
3575
  document.querySelectorAll("[data-tippy-root]").forEach(tippy_hide);
3435
3576
  }
3436
3577
  function tippy_hide(el) {
3437
- const instance59 = el._tippy;
3438
- if (instance59) {
3439
- instance59.hide();
3578
+ const instance62 = el._tippy;
3579
+ if (instance62) {
3580
+ instance62.hide();
3440
3581
  }
3441
3582
  }
3442
3583
  var tippy_menu = {
@@ -3777,7 +3918,7 @@ function create_if_block_1(ctx) {
3777
3918
  }
3778
3919
  };
3779
3920
  }
3780
- function create_fragment45(ctx) {
3921
+ function create_fragment47(ctx) {
3781
3922
  let current_block_type_index;
3782
3923
  let if_block;
3783
3924
  let if_block_anchor;
@@ -3840,7 +3981,7 @@ function create_fragment45(ctx) {
3840
3981
  }
3841
3982
  };
3842
3983
  }
3843
- function instance45($$self, $$props, $$invalidate) {
3984
+ function instance47($$self, $$props, $$invalidate) {
3844
3985
  let { $$slots: slots = {}, $$scope } = $$props;
3845
3986
  let { class: className = "" } = $$props;
3846
3987
  let { name: name10 = "fastboard-ui" } = $$props;
@@ -3898,7 +4039,7 @@ function instance45($$self, $$props, $$invalidate) {
3898
4039
  var Button = class extends SvelteComponent {
3899
4040
  constructor(options) {
3900
4041
  super();
3901
- init(this, options, instance45, create_fragment45, safe_not_equal, {
4042
+ init(this, options, instance47, create_fragment47, safe_not_equal, {
3902
4043
  class: 0,
3903
4044
  name: 1,
3904
4045
  theme: 2,
@@ -4065,7 +4206,7 @@ function create_default_slot(ctx) {
4065
4206
  }
4066
4207
  };
4067
4208
  }
4068
- function create_fragment46(ctx) {
4209
+ function create_fragment48(ctx) {
4069
4210
  let div;
4070
4211
  let button0;
4071
4212
  let t_1;
@@ -4166,7 +4307,7 @@ var i18n = {
4166
4307
  }
4167
4308
  };
4168
4309
  var name = "fastboard-redo-undo";
4169
- function instance46($$self, $$props, $$invalidate) {
4310
+ function instance48($$self, $$props, $$invalidate) {
4170
4311
  let writable2;
4171
4312
  let disabled;
4172
4313
  let t;
@@ -4250,7 +4391,7 @@ function instance46($$self, $$props, $$invalidate) {
4250
4391
  var RedoUndo = class extends SvelteComponent {
4251
4392
  constructor(options) {
4252
4393
  super();
4253
- init(this, options, instance46, create_fragment46, safe_not_equal, {
4394
+ init(this, options, instance48, create_fragment48, safe_not_equal, {
4254
4395
  app: 11,
4255
4396
  theme: 0,
4256
4397
  language: 12,
@@ -4537,7 +4678,7 @@ function create_default_slot2(ctx) {
4537
4678
  }
4538
4679
  };
4539
4680
  }
4540
- function create_fragment47(ctx) {
4681
+ function create_fragment49(ctx) {
4541
4682
  let div;
4542
4683
  let button0;
4543
4684
  let t0;
@@ -4706,7 +4847,7 @@ var i18n2 = {
4706
4847
  }
4707
4848
  };
4708
4849
  var name2 = "fastboard-page-control";
4709
- function instance47($$self, $$props, $$invalidate) {
4850
+ function instance49($$self, $$props, $$invalidate) {
4710
4851
  let writable2;
4711
4852
  let disabled;
4712
4853
  let t;
@@ -4795,7 +4936,7 @@ function instance47($$self, $$props, $$invalidate) {
4795
4936
  var PageControl = class extends SvelteComponent {
4796
4937
  constructor(options) {
4797
4938
  super();
4798
- init(this, options, instance47, create_fragment47, safe_not_equal, {
4939
+ init(this, options, instance49, create_fragment49, safe_not_equal, {
4799
4940
  app: 15,
4800
4941
  theme: 0,
4801
4942
  language: 16,
@@ -5079,7 +5220,7 @@ function create_default_slot3(ctx) {
5079
5220
  }
5080
5221
  };
5081
5222
  }
5082
- function create_fragment48(ctx) {
5223
+ function create_fragment50(ctx) {
5083
5224
  let div;
5084
5225
  let button0;
5085
5226
  let t0;
@@ -5277,7 +5418,7 @@ function next_scale(scale, delta) {
5277
5418
  return 1;
5278
5419
  }
5279
5420
  var name3 = "fastboard-zoom-control";
5280
- function instance48($$self, $$props, $$invalidate) {
5421
+ function instance50($$self, $$props, $$invalidate) {
5281
5422
  let writable2;
5282
5423
  let disabled;
5283
5424
  let t;
@@ -5375,7 +5516,7 @@ function instance48($$self, $$props, $$invalidate) {
5375
5516
  var ZoomControl = class extends SvelteComponent {
5376
5517
  constructor(options) {
5377
5518
  super();
5378
- init(this, options, instance48, create_fragment48, safe_not_equal, {
5519
+ init(this, options, instance50, create_fragment50, safe_not_equal, {
5379
5520
  app: 14,
5380
5521
  theme: 0,
5381
5522
  language: 15,
@@ -5503,12 +5644,21 @@ var shapesIconActive = {
5503
5644
  triangle: Icons_default.TriangleBolded,
5504
5645
  speechBalloon: Icons_default.BalloonBolded
5505
5646
  };
5647
+ var eraserIcon = {
5648
+ eraser: Icons_default.Eraser,
5649
+ pencilEraser: Icons_default.PencilEraser
5650
+ };
5651
+ var eraserIconActive = {
5652
+ eraser: Icons_default.EraserFilled,
5653
+ pencilEraser: Icons_default.PencilEraserFilled
5654
+ };
5506
5655
  var i18n4 = {
5507
5656
  en: {
5508
5657
  clicker: "clicker",
5509
5658
  selector: "selector",
5510
5659
  pencil: "pencil",
5511
5660
  eraser: "eraser",
5661
+ pencilEraser: "eraser",
5512
5662
  text: "text",
5513
5663
  shapes: "shapes",
5514
5664
  clear: "clear",
@@ -5519,6 +5669,7 @@ var i18n4 = {
5519
5669
  selector: "\u9009\u62E9",
5520
5670
  pencil: "\u94C5\u7B14",
5521
5671
  eraser: "\u6A61\u76AE",
5672
+ pencilEraser: "\u677F\u64E6",
5522
5673
  text: "\u6587\u5B57",
5523
5674
  shapes: "\u5F62\u72B6",
5524
5675
  clear: "\u6E05\u5C4F",
@@ -5588,7 +5739,7 @@ var AppsInToolbar = class {
5588
5739
  this._listeners.forEach((fn) => fn(this._data));
5589
5740
  }
5590
5741
  };
5591
- var apps = new AppsInToolbar([]);
5742
+ var stockedApps = new AppsInToolbar([]);
5592
5743
 
5593
5744
  // src/components/Toolbar/components/helper.ts
5594
5745
  function tooltip(text2, hotkey) {
@@ -5607,7 +5758,7 @@ function tooltip(text2, hotkey) {
5607
5758
  }
5608
5759
 
5609
5760
  // src/components/Toolbar/components/Slider.svelte
5610
- function create_fragment49(ctx) {
5761
+ function create_fragment51(ctx) {
5611
5762
  let div;
5612
5763
  let input;
5613
5764
  let input_class_value;
@@ -5695,7 +5846,7 @@ function create_fragment49(ctx) {
5695
5846
  };
5696
5847
  }
5697
5848
  var name4 = "fastboard-slider";
5698
- function instance49($$self, $$props, $$invalidate) {
5849
+ function instance51($$self, $$props, $$invalidate) {
5699
5850
  let percent;
5700
5851
  const dispatch = createEventDispatcher();
5701
5852
  let { class: className = "" } = $$props;
@@ -5764,7 +5915,7 @@ function instance49($$self, $$props, $$invalidate) {
5764
5915
  var Slider = class extends SvelteComponent {
5765
5916
  constructor(options) {
5766
5917
  super();
5767
- init(this, options, instance49, create_fragment49, safe_not_equal, {
5918
+ init(this, options, instance51, create_fragment51, safe_not_equal, {
5768
5919
  class: 1,
5769
5920
  theme: 2,
5770
5921
  min: 3,
@@ -5778,7 +5929,7 @@ var Slider = class extends SvelteComponent {
5778
5929
  var Slider_default = Slider;
5779
5930
 
5780
5931
  // src/components/Toolbar/components/StrokeWidth.svelte
5781
- function create_fragment50(ctx) {
5932
+ function create_fragment52(ctx) {
5782
5933
  let slider;
5783
5934
  let current;
5784
5935
  const slider_spread_levels = [
@@ -5825,7 +5976,7 @@ function create_fragment50(ctx) {
5825
5976
  }
5826
5977
  };
5827
5978
  }
5828
- function instance50($$self, $$props, $$invalidate) {
5979
+ function instance52($$self, $$props, $$invalidate) {
5829
5980
  let memberState;
5830
5981
  let value;
5831
5982
  let props;
@@ -5870,7 +6021,7 @@ function instance50($$self, $$props, $$invalidate) {
5870
6021
  var StrokeWidth = class extends SvelteComponent {
5871
6022
  constructor(options) {
5872
6023
  super();
5873
- init(this, options, instance50, create_fragment50, safe_not_equal, { app: 3, theme: 4, disabled: 5 });
6024
+ init(this, options, instance52, create_fragment52, safe_not_equal, { app: 3, theme: 4, disabled: 5 });
5874
6025
  }
5875
6026
  };
5876
6027
  var StrokeWidth_default = StrokeWidth;
@@ -5924,7 +6075,7 @@ function create_each_block(key_1, ctx) {
5924
6075
  }
5925
6076
  };
5926
6077
  }
5927
- function create_fragment51(ctx) {
6078
+ function create_fragment53(ctx) {
5928
6079
  let div;
5929
6080
  let each_blocks = [];
5930
6081
  let each_1_lookup = /* @__PURE__ */ new Map();
@@ -5981,7 +6132,7 @@ function create_fragment51(ctx) {
5981
6132
  function is_equal_color(a, b) {
5982
6133
  return a && b && a.every((v, i) => v === b[i]);
5983
6134
  }
5984
- function instance51($$self, $$props, $$invalidate) {
6135
+ function instance53($$self, $$props, $$invalidate) {
5985
6136
  let memberState;
5986
6137
  let strokeColor;
5987
6138
  let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(6, $memberState = $$value)), memberState);
@@ -6019,11 +6170,113 @@ function instance51($$self, $$props, $$invalidate) {
6019
6170
  var StrokeColor = class extends SvelteComponent {
6020
6171
  constructor(options) {
6021
6172
  super();
6022
- init(this, options, instance51, create_fragment51, safe_not_equal, { app: 5, theme: 0, disabled: 1 });
6173
+ init(this, options, instance53, create_fragment53, safe_not_equal, { app: 5, theme: 0, disabled: 1 });
6023
6174
  }
6024
6175
  };
6025
6176
  var StrokeColor_default = StrokeColor;
6026
6177
 
6178
+ // src/components/Toolbar/components/PencilEraserSize.svelte
6179
+ function create_fragment54(ctx) {
6180
+ let slider;
6181
+ let current;
6182
+ const slider_spread_levels = [
6183
+ {
6184
+ class: "fastboard-toolbar-slider pencil-eraser-size"
6185
+ },
6186
+ ctx[0],
6187
+ { min: 1 },
6188
+ { max: 3 },
6189
+ { step: 1 }
6190
+ ];
6191
+ let slider_props = {};
6192
+ for (let i = 0; i < slider_spread_levels.length; i += 1) {
6193
+ slider_props = assign(slider_props, slider_spread_levels[i]);
6194
+ }
6195
+ slider = new Slider_default({ props: slider_props });
6196
+ slider.$on("change", ctx[2]);
6197
+ return {
6198
+ c() {
6199
+ create_component(slider.$$.fragment);
6200
+ },
6201
+ m(target, anchor) {
6202
+ mount_component(slider, target, anchor);
6203
+ current = true;
6204
+ },
6205
+ p(ctx2, [dirty]) {
6206
+ const slider_changes = dirty & 1 ? get_spread_update(slider_spread_levels, [
6207
+ slider_spread_levels[0],
6208
+ get_spread_object(ctx2[0]),
6209
+ slider_spread_levels[2],
6210
+ slider_spread_levels[3],
6211
+ slider_spread_levels[4]
6212
+ ]) : {};
6213
+ slider.$set(slider_changes);
6214
+ },
6215
+ i(local) {
6216
+ if (current)
6217
+ return;
6218
+ transition_in(slider.$$.fragment, local);
6219
+ current = true;
6220
+ },
6221
+ o(local) {
6222
+ transition_out(slider.$$.fragment, local);
6223
+ current = false;
6224
+ },
6225
+ d(detaching) {
6226
+ destroy_component(slider, detaching);
6227
+ }
6228
+ };
6229
+ }
6230
+ function instance54($$self, $$props, $$invalidate) {
6231
+ let memberState;
6232
+ let value;
6233
+ let props;
6234
+ let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(7, $memberState = $$value)), memberState);
6235
+ $$self.$$.on_destroy.push(() => $$unsubscribe_memberState());
6236
+ let { app = null } = $$props;
6237
+ let { theme = "light" } = $$props;
6238
+ let { disabled = false } = $$props;
6239
+ function set_pencil_eraser_size({ detail: value2 }) {
6240
+ app?.setPencilEraserSize(value2);
6241
+ }
6242
+ $$self.$$set = ($$props2) => {
6243
+ if ("app" in $$props2)
6244
+ $$invalidate(3, app = $$props2.app);
6245
+ if ("theme" in $$props2)
6246
+ $$invalidate(4, theme = $$props2.theme);
6247
+ if ("disabled" in $$props2)
6248
+ $$invalidate(5, disabled = $$props2.disabled);
6249
+ };
6250
+ $$self.$$.update = () => {
6251
+ if ($$self.$$.dirty & 8) {
6252
+ $$subscribe_memberState($$invalidate(1, memberState = app?.memberState));
6253
+ }
6254
+ if ($$self.$$.dirty & 128) {
6255
+ $$invalidate(6, value = $memberState?.pencilEraserSize ?? 1);
6256
+ }
6257
+ if ($$self.$$.dirty & 112) {
6258
+ $$invalidate(0, props = { value, theme, disabled });
6259
+ }
6260
+ };
6261
+ return [
6262
+ props,
6263
+ memberState,
6264
+ set_pencil_eraser_size,
6265
+ app,
6266
+ theme,
6267
+ disabled,
6268
+ value,
6269
+ $memberState
6270
+ ];
6271
+ }
6272
+ var PencilEraserSize = class extends SvelteComponent {
6273
+ constructor(options) {
6274
+ super();
6275
+ init(this, options, instance54, create_fragment54, safe_not_equal, { app: 3, theme: 4, disabled: 5 });
6276
+ }
6277
+ };
6278
+ var PencilEraserSize_default = PencilEraserSize;
6279
+
6027
6280
  // src/components/Toolbar/components/TextColor.svelte
6028
6281
  function get_each_context2(ctx, list, i) {
6029
6282
  const child_ctx = ctx.slice();
@@ -6073,7 +6326,7 @@ function create_each_block2(key_1, ctx) {
6073
6326
  }
6074
6327
  };
6075
6328
  }
6076
- function create_fragment52(ctx) {
6329
+ function create_fragment55(ctx) {
6077
6330
  let div;
6078
6331
  let each_blocks = [];
6079
6332
  let each_1_lookup = /* @__PURE__ */ new Map();
@@ -6130,7 +6383,7 @@ function create_fragment52(ctx) {
6130
6383
  function is_equal_color2(a, b) {
6131
6384
  return a && b && a.every((v, i) => v === b[i]);
6132
6385
  }
6133
- function instance52($$self, $$props, $$invalidate) {
6386
+ function instance55($$self, $$props, $$invalidate) {
6134
6387
  let memberState;
6135
6388
  let textColor;
6136
6389
  let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(6, $memberState = $$value)), memberState);
@@ -6168,7 +6421,7 @@ function instance52($$self, $$props, $$invalidate) {
6168
6421
  var TextColor = class extends SvelteComponent {
6169
6422
  constructor(options) {
6170
6423
  super();
6171
- init(this, options, instance52, create_fragment52, safe_not_equal, { app: 5, theme: 0, disabled: 1 });
6424
+ init(this, options, instance55, create_fragment55, safe_not_equal, { app: 5, theme: 0, disabled: 1 });
6172
6425
  }
6173
6426
  };
6174
6427
  var TextColor_default = TextColor;
@@ -6422,7 +6675,7 @@ function create_each_block3(key_1, ctx) {
6422
6675
  }
6423
6676
  };
6424
6677
  }
6425
- function create_fragment53(ctx) {
6678
+ function create_fragment56(ctx) {
6426
6679
  let div;
6427
6680
  let each_blocks = [];
6428
6681
  let each_1_lookup = /* @__PURE__ */ new Map();
@@ -6514,7 +6767,7 @@ var i18n5 = {
6514
6767
  speechBalloon: "\u6C14\u6CE1"
6515
6768
  }
6516
6769
  };
6517
- function instance53($$self, $$props, $$invalidate) {
6770
+ function instance56($$self, $$props, $$invalidate) {
6518
6771
  let t;
6519
6772
  let memberState;
6520
6773
  let appliance;
@@ -6593,7 +6846,7 @@ function instance53($$self, $$props, $$invalidate) {
6593
6846
  var Shapes = class extends SvelteComponent {
6594
6847
  constructor(options) {
6595
6848
  super();
6596
- init(this, options, instance53, create_fragment53, safe_not_equal, {
6849
+ init(this, options, instance56, create_fragment56, safe_not_equal, {
6597
6850
  app: 8,
6598
6851
  theme: 0,
6599
6852
  language: 9,
@@ -6606,34 +6859,34 @@ var Shapes_default = Shapes;
6606
6859
  // src/components/Toolbar/components/Contents.svelte
6607
6860
  function get_each_context4(ctx, list, i) {
6608
6861
  const child_ctx = ctx.slice();
6609
- child_ctx[41] = list[i];
6610
- const constants_0 = child_ctx[41];
6611
- child_ctx[42] = constants_0.icon;
6612
- child_ctx[43] = constants_0.label;
6613
- child_ctx[44] = constants_0.kind;
6614
- child_ctx[45] = constants_0.onClick;
6615
- const constants_1 = child_ctx[20] && child_ctx[20][child_ctx[44]];
6616
- child_ctx[46] = constants_1;
6862
+ child_ctx[47] = list[i];
6863
+ const constants_0 = child_ctx[47];
6864
+ child_ctx[48] = constants_0.icon;
6865
+ child_ctx[49] = constants_0.label;
6866
+ child_ctx[50] = constants_0.kind;
6867
+ child_ctx[51] = constants_0.onClick;
6868
+ const constants_1 = child_ctx[23] && child_ctx[23][child_ctx[50]];
6869
+ child_ctx[52] = constants_1;
6617
6870
  const constants_2 = () => {
6618
- child_ctx[0] && child_ctx[45](child_ctx[0]);
6871
+ child_ctx[0] && child_ctx[51](child_ctx[0]);
6619
6872
  tippy_hide_all();
6620
6873
  };
6621
- child_ctx[47] = constants_2;
6874
+ child_ctx[53] = constants_2;
6622
6875
  return child_ctx;
6623
6876
  }
6624
- function create_if_block_8(ctx) {
6877
+ function create_if_block_17(ctx) {
6625
6878
  let button;
6626
6879
  let current;
6627
- const button_spread_levels = [{ class: "scroll-up" }, ctx[15]];
6880
+ const button_spread_levels = [{ class: "scroll-up" }, ctx[18]];
6628
6881
  let button_props = {
6629
- $$slots: { default: [create_default_slot_9] },
6882
+ $$slots: { default: [create_default_slot_132] },
6630
6883
  $$scope: { ctx }
6631
6884
  };
6632
6885
  for (let i = 0; i < button_spread_levels.length; i += 1) {
6633
6886
  button_props = assign(button_props, button_spread_levels[i]);
6634
6887
  }
6635
6888
  button = new Button_default({ props: button_props });
6636
- button.$on("click", ctx[22]);
6889
+ button.$on("click", ctx[25]);
6637
6890
  return {
6638
6891
  c() {
6639
6892
  create_component(button.$$.fragment);
@@ -6643,8 +6896,8 @@ function create_if_block_8(ctx) {
6643
6896
  current = true;
6644
6897
  },
6645
6898
  p(ctx2, dirty) {
6646
- const button_changes = dirty[0] & 32768 ? get_spread_update(button_spread_levels, [button_spread_levels[0], get_spread_object(ctx2[15])]) : {};
6647
- if (dirty[0] & 2 | dirty[1] & 524288) {
6899
+ const button_changes = dirty[0] & 262144 ? get_spread_update(button_spread_levels, [button_spread_levels[0], get_spread_object(ctx2[18])]) : {};
6900
+ if (dirty[0] & 2 | dirty[1] & 33554432) {
6648
6901
  button_changes.$$scope = { dirty, ctx: ctx2 };
6649
6902
  }
6650
6903
  button.$set(button_changes);
@@ -6664,7 +6917,7 @@ function create_if_block_8(ctx) {
6664
6917
  }
6665
6918
  };
6666
6919
  }
6667
- function create_default_slot_9(ctx) {
6920
+ function create_default_slot_132(ctx) {
6668
6921
  let icons_up;
6669
6922
  let current;
6670
6923
  icons_up = new Icons_default.Up({ props: { theme: ctx[1] } });
@@ -6697,7 +6950,7 @@ function create_default_slot_9(ctx) {
6697
6950
  }
6698
6951
  };
6699
6952
  }
6700
- function create_else_block_5(ctx) {
6953
+ function create_else_block_10(ctx) {
6701
6954
  let icons_click;
6702
6955
  let current;
6703
6956
  icons_click = new Icons_default.Click({ props: { theme: ctx[1] } });
@@ -6730,7 +6983,7 @@ function create_else_block_5(ctx) {
6730
6983
  }
6731
6984
  };
6732
6985
  }
6733
- function create_if_block_7(ctx) {
6986
+ function create_if_block_16(ctx) {
6734
6987
  let icons_clickfilled;
6735
6988
  let current;
6736
6989
  icons_clickfilled = new Icons_default.ClickFilled({
@@ -6765,12 +7018,12 @@ function create_if_block_7(ctx) {
6765
7018
  }
6766
7019
  };
6767
7020
  }
6768
- function create_default_slot_8(ctx) {
7021
+ function create_default_slot_122(ctx) {
6769
7022
  let current_block_type_index;
6770
7023
  let if_block;
6771
7024
  let if_block_anchor;
6772
7025
  let current;
6773
- const if_block_creators = [create_if_block_7, create_else_block_5];
7026
+ const if_block_creators = [create_if_block_16, create_else_block_10];
6774
7027
  const if_blocks = [];
6775
7028
  function select_block_type(ctx2, dirty) {
6776
7029
  if (ctx2[8] === "clicker")
@@ -6828,7 +7081,7 @@ function create_default_slot_8(ctx) {
6828
7081
  }
6829
7082
  };
6830
7083
  }
6831
- function create_else_block_4(ctx) {
7084
+ function create_else_block_9(ctx) {
6832
7085
  let icons_selector;
6833
7086
  let current;
6834
7087
  icons_selector = new Icons_default.Selector({ props: { theme: ctx[1] } });
@@ -6861,7 +7114,7 @@ function create_else_block_4(ctx) {
6861
7114
  }
6862
7115
  };
6863
7116
  }
6864
- function create_if_block_6(ctx) {
7117
+ function create_if_block_15(ctx) {
6865
7118
  let icons_selectorfilled;
6866
7119
  let current;
6867
7120
  icons_selectorfilled = new Icons_default.SelectorFilled({
@@ -6896,12 +7149,12 @@ function create_if_block_6(ctx) {
6896
7149
  }
6897
7150
  };
6898
7151
  }
6899
- function create_default_slot_7(ctx) {
7152
+ function create_default_slot_11(ctx) {
6900
7153
  let current_block_type_index;
6901
7154
  let if_block;
6902
7155
  let if_block_anchor;
6903
7156
  let current;
6904
- const if_block_creators = [create_if_block_6, create_else_block_4];
7157
+ const if_block_creators = [create_if_block_15, create_else_block_9];
6905
7158
  const if_blocks = [];
6906
7159
  function select_block_type_1(ctx2, dirty) {
6907
7160
  if (ctx2[8] === "selector")
@@ -6959,7 +7212,7 @@ function create_default_slot_7(ctx) {
6959
7212
  }
6960
7213
  };
6961
7214
  }
6962
- function create_else_block_3(ctx) {
7215
+ function create_else_block_8(ctx) {
6963
7216
  let icons_pencil;
6964
7217
  let current;
6965
7218
  icons_pencil = new Icons_default.Pencil({ props: { theme: ctx[1] } });
@@ -6992,7 +7245,7 @@ function create_else_block_3(ctx) {
6992
7245
  }
6993
7246
  };
6994
7247
  }
6995
- function create_if_block_5(ctx) {
7248
+ function create_if_block_14(ctx) {
6996
7249
  let icons_pencilfilled;
6997
7250
  let current;
6998
7251
  icons_pencilfilled = new Icons_default.PencilFilled({
@@ -7027,12 +7280,12 @@ function create_if_block_5(ctx) {
7027
7280
  }
7028
7281
  };
7029
7282
  }
7030
- function create_default_slot_6(ctx) {
7283
+ function create_default_slot_10(ctx) {
7031
7284
  let current_block_type_index;
7032
7285
  let if_block;
7033
7286
  let if_block_anchor;
7034
7287
  let current;
7035
- const if_block_creators = [create_if_block_5, create_else_block_3];
7288
+ const if_block_creators = [create_if_block_14, create_else_block_8];
7036
7289
  const if_blocks = [];
7037
7290
  function select_block_type_2(ctx2, dirty) {
7038
7291
  if (ctx2[8] === "pencil")
@@ -7090,7 +7343,7 @@ function create_default_slot_6(ctx) {
7090
7343
  }
7091
7344
  };
7092
7345
  }
7093
- function create_else_block_2(ctx) {
7346
+ function create_else_block_7(ctx) {
7094
7347
  let icons_text;
7095
7348
  let current;
7096
7349
  icons_text = new Icons_default.Text({ props: { theme: ctx[1] } });
@@ -7123,7 +7376,7 @@ function create_else_block_2(ctx) {
7123
7376
  }
7124
7377
  };
7125
7378
  }
7126
- function create_if_block_4(ctx) {
7379
+ function create_if_block_13(ctx) {
7127
7380
  let icons_textfilled;
7128
7381
  let current;
7129
7382
  icons_textfilled = new Icons_default.TextFilled({
@@ -7158,12 +7411,12 @@ function create_if_block_4(ctx) {
7158
7411
  }
7159
7412
  };
7160
7413
  }
7161
- function create_default_slot_53(ctx) {
7414
+ function create_default_slot_9(ctx) {
7162
7415
  let current_block_type_index;
7163
7416
  let if_block;
7164
7417
  let if_block_anchor;
7165
7418
  let current;
7166
- const if_block_creators = [create_if_block_4, create_else_block_2];
7419
+ const if_block_creators = [create_if_block_13, create_else_block_7];
7167
7420
  const if_blocks = [];
7168
7421
  function select_block_type_3(ctx2, dirty) {
7169
7422
  if (ctx2[8] === "text")
@@ -7221,11 +7474,11 @@ function create_default_slot_53(ctx) {
7221
7474
  }
7222
7475
  };
7223
7476
  }
7224
- function create_else_block_12(ctx) {
7477
+ function create_else_block_6(ctx) {
7225
7478
  let switch_instance;
7226
7479
  let switch_instance_anchor;
7227
7480
  let current;
7228
- var switch_value = shapesIcon[ctx[10]];
7481
+ var switch_value = shapesIcon[ctx[11]];
7229
7482
  function switch_props(ctx2) {
7230
7483
  return { props: { theme: ctx2[1] } };
7231
7484
  }
@@ -7249,7 +7502,7 @@ function create_else_block_12(ctx) {
7249
7502
  const switch_instance_changes = {};
7250
7503
  if (dirty[0] & 2)
7251
7504
  switch_instance_changes.theme = ctx2[1];
7252
- if (switch_value !== (switch_value = shapesIcon[ctx2[10]])) {
7505
+ if (switch_value !== (switch_value = shapesIcon[ctx2[11]])) {
7253
7506
  if (switch_instance) {
7254
7507
  group_outros();
7255
7508
  const old_component = switch_instance;
@@ -7290,11 +7543,11 @@ function create_else_block_12(ctx) {
7290
7543
  }
7291
7544
  };
7292
7545
  }
7293
- function create_if_block_3(ctx) {
7546
+ function create_if_block_12(ctx) {
7294
7547
  let switch_instance;
7295
7548
  let switch_instance_anchor;
7296
7549
  let current;
7297
- var switch_value = shapesIconActive[ctx[10]];
7550
+ var switch_value = shapesIconActive[ctx[11]];
7298
7551
  function switch_props(ctx2) {
7299
7552
  return {
7300
7553
  props: { theme: ctx2[1], active: true }
@@ -7320,7 +7573,7 @@ function create_if_block_3(ctx) {
7320
7573
  const switch_instance_changes = {};
7321
7574
  if (dirty[0] & 2)
7322
7575
  switch_instance_changes.theme = ctx2[1];
7323
- if (switch_value !== (switch_value = shapesIconActive[ctx2[10]])) {
7576
+ if (switch_value !== (switch_value = shapesIconActive[ctx2[11]])) {
7324
7577
  if (switch_instance) {
7325
7578
  group_outros();
7326
7579
  const old_component = switch_instance;
@@ -7361,15 +7614,15 @@ function create_if_block_3(ctx) {
7361
7614
  }
7362
7615
  };
7363
7616
  }
7364
- function create_default_slot_43(ctx) {
7617
+ function create_default_slot_8(ctx) {
7365
7618
  let current_block_type_index;
7366
7619
  let if_block;
7367
7620
  let if_block_anchor;
7368
7621
  let current;
7369
- const if_block_creators = [create_if_block_3, create_else_block_12];
7622
+ const if_block_creators = [create_if_block_12, create_else_block_6];
7370
7623
  const if_blocks = [];
7371
7624
  function select_block_type_4(ctx2, dirty) {
7372
- if (ctx2[8] === ctx2[10] || ctx2[8] === "shape" && ctx2[7] === ctx2[10])
7625
+ if (ctx2[8] === ctx2[11] || ctx2[8] === "shape" && ctx2[9] === ctx2[11])
7373
7626
  return 0;
7374
7627
  return 1;
7375
7628
  }
@@ -7424,87 +7677,316 @@ function create_default_slot_43(ctx) {
7424
7677
  }
7425
7678
  };
7426
7679
  }
7427
- function create_else_block6(ctx) {
7428
- let icons_eraser;
7680
+ function create_else_block_4(ctx) {
7681
+ let button;
7429
7682
  let current;
7430
- icons_eraser = new Icons_default.Eraser({ props: { theme: ctx[1] } });
7683
+ const button_spread_levels = [
7684
+ { class: "eraser" },
7685
+ ctx[18],
7686
+ {
7687
+ content: ctx[10][ctx[12]]
7688
+ },
7689
+ { menu: ctx[16] }
7690
+ ];
7691
+ let button_props = {
7692
+ $$slots: { default: [create_default_slot_7] },
7693
+ $$scope: { ctx }
7694
+ };
7695
+ for (let i = 0; i < button_spread_levels.length; i += 1) {
7696
+ button_props = assign(button_props, button_spread_levels[i]);
7697
+ }
7698
+ button = new Button_default({ props: button_props });
7699
+ button.$on("click", ctx[32]);
7431
7700
  return {
7432
7701
  c() {
7433
- create_component(icons_eraser.$$.fragment);
7702
+ create_component(button.$$.fragment);
7434
7703
  },
7435
7704
  m(target, anchor) {
7436
- mount_component(icons_eraser, target, anchor);
7705
+ mount_component(button, target, anchor);
7437
7706
  current = true;
7438
7707
  },
7439
7708
  p(ctx2, dirty) {
7440
- const icons_eraser_changes = {};
7441
- if (dirty[0] & 2)
7442
- icons_eraser_changes.theme = ctx2[1];
7443
- icons_eraser.$set(icons_eraser_changes);
7709
+ const button_changes = dirty[0] & 332800 ? get_spread_update(button_spread_levels, [
7710
+ button_spread_levels[0],
7711
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
7712
+ dirty[0] & 5120 && {
7713
+ content: ctx2[10][ctx2[12]]
7714
+ },
7715
+ dirty[0] & 65536 && { menu: ctx2[16] }
7716
+ ]) : {};
7717
+ if (dirty[0] & 4354 | dirty[1] & 33554432) {
7718
+ button_changes.$$scope = { dirty, ctx: ctx2 };
7719
+ }
7720
+ button.$set(button_changes);
7444
7721
  },
7445
7722
  i(local) {
7446
7723
  if (current)
7447
7724
  return;
7448
- transition_in(icons_eraser.$$.fragment, local);
7725
+ transition_in(button.$$.fragment, local);
7449
7726
  current = true;
7450
7727
  },
7451
7728
  o(local) {
7452
- transition_out(icons_eraser.$$.fragment, local);
7729
+ transition_out(button.$$.fragment, local);
7453
7730
  current = false;
7454
7731
  },
7455
7732
  d(detaching) {
7456
- destroy_component(icons_eraser, detaching);
7733
+ destroy_component(button, detaching);
7457
7734
  }
7458
7735
  };
7459
7736
  }
7460
- function create_if_block_2(ctx) {
7461
- let icons_eraserfilled;
7737
+ function create_if_block_9(ctx) {
7738
+ let button;
7462
7739
  let current;
7463
- icons_eraserfilled = new Icons_default.EraserFilled({
7464
- props: { theme: ctx[1], active: true }
7465
- });
7740
+ const button_spread_levels = [
7741
+ { class: "eraser" },
7742
+ ctx[18],
7743
+ { content: ctx[21].pencilEraser },
7744
+ { menu: ctx[16] }
7745
+ ];
7746
+ let button_props = {
7747
+ $$slots: { default: [create_default_slot_6] },
7748
+ $$scope: { ctx }
7749
+ };
7750
+ for (let i = 0; i < button_spread_levels.length; i += 1) {
7751
+ button_props = assign(button_props, button_spread_levels[i]);
7752
+ }
7753
+ button = new Button_default({ props: button_props });
7754
+ button.$on("click", ctx[34]);
7466
7755
  return {
7467
7756
  c() {
7468
- create_component(icons_eraserfilled.$$.fragment);
7757
+ create_component(button.$$.fragment);
7469
7758
  },
7470
7759
  m(target, anchor) {
7471
- mount_component(icons_eraserfilled, target, anchor);
7760
+ mount_component(button, target, anchor);
7472
7761
  current = true;
7473
7762
  },
7474
7763
  p(ctx2, dirty) {
7475
- const icons_eraserfilled_changes = {};
7476
- if (dirty[0] & 2)
7477
- icons_eraserfilled_changes.theme = ctx2[1];
7478
- icons_eraserfilled.$set(icons_eraserfilled_changes);
7764
+ const button_changes = dirty[0] & 2424832 ? get_spread_update(button_spread_levels, [
7765
+ button_spread_levels[0],
7766
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
7767
+ dirty[0] & 2097152 && { content: ctx2[21].pencilEraser },
7768
+ dirty[0] & 65536 && { menu: ctx2[16] }
7769
+ ]) : {};
7770
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
7771
+ button_changes.$$scope = { dirty, ctx: ctx2 };
7772
+ }
7773
+ button.$set(button_changes);
7479
7774
  },
7480
7775
  i(local) {
7481
7776
  if (current)
7482
7777
  return;
7483
- transition_in(icons_eraserfilled.$$.fragment, local);
7778
+ transition_in(button.$$.fragment, local);
7484
7779
  current = true;
7485
7780
  },
7486
7781
  o(local) {
7487
- transition_out(icons_eraserfilled.$$.fragment, local);
7782
+ transition_out(button.$$.fragment, local);
7488
7783
  current = false;
7489
7784
  },
7490
7785
  d(detaching) {
7491
- destroy_component(icons_eraserfilled, detaching);
7786
+ destroy_component(button, detaching);
7492
7787
  }
7493
7788
  };
7494
7789
  }
7495
- function create_default_slot_34(ctx) {
7496
- let current_block_type_index;
7497
- let if_block;
7498
- let if_block_anchor;
7790
+ function create_if_block_7(ctx) {
7791
+ let button;
7499
7792
  let current;
7500
- const if_block_creators = [create_if_block_2, create_else_block6];
7793
+ const button_spread_levels = [{ class: "eraser" }, ctx[18], { content: ctx[21].eraser }];
7794
+ let button_props = {
7795
+ $$slots: { default: [create_default_slot_53] },
7796
+ $$scope: { ctx }
7797
+ };
7798
+ for (let i = 0; i < button_spread_levels.length; i += 1) {
7799
+ button_props = assign(button_props, button_spread_levels[i]);
7800
+ }
7801
+ button = new Button_default({ props: button_props });
7802
+ button.$on("click", ctx[33]);
7803
+ return {
7804
+ c() {
7805
+ create_component(button.$$.fragment);
7806
+ },
7807
+ m(target, anchor) {
7808
+ mount_component(button, target, anchor);
7809
+ current = true;
7810
+ },
7811
+ p(ctx2, dirty) {
7812
+ const button_changes = dirty[0] & 2359296 ? get_spread_update(button_spread_levels, [
7813
+ button_spread_levels[0],
7814
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
7815
+ dirty[0] & 2097152 && { content: ctx2[21].eraser }
7816
+ ]) : {};
7817
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
7818
+ button_changes.$$scope = { dirty, ctx: ctx2 };
7819
+ }
7820
+ button.$set(button_changes);
7821
+ },
7822
+ i(local) {
7823
+ if (current)
7824
+ return;
7825
+ transition_in(button.$$.fragment, local);
7826
+ current = true;
7827
+ },
7828
+ o(local) {
7829
+ transition_out(button.$$.fragment, local);
7830
+ current = false;
7831
+ },
7832
+ d(detaching) {
7833
+ destroy_component(button, detaching);
7834
+ }
7835
+ };
7836
+ }
7837
+ function create_else_block_5(ctx) {
7838
+ let switch_instance;
7839
+ let switch_instance_anchor;
7840
+ let current;
7841
+ var switch_value = eraserIcon[ctx[12]];
7842
+ function switch_props(ctx2) {
7843
+ return { props: { theme: ctx2[1] } };
7844
+ }
7845
+ if (switch_value) {
7846
+ switch_instance = new switch_value(switch_props(ctx));
7847
+ }
7848
+ return {
7849
+ c() {
7850
+ if (switch_instance)
7851
+ create_component(switch_instance.$$.fragment);
7852
+ switch_instance_anchor = empty();
7853
+ },
7854
+ m(target, anchor) {
7855
+ if (switch_instance) {
7856
+ mount_component(switch_instance, target, anchor);
7857
+ }
7858
+ insert(target, switch_instance_anchor, anchor);
7859
+ current = true;
7860
+ },
7861
+ p(ctx2, dirty) {
7862
+ const switch_instance_changes = {};
7863
+ if (dirty[0] & 2)
7864
+ switch_instance_changes.theme = ctx2[1];
7865
+ if (switch_value !== (switch_value = eraserIcon[ctx2[12]])) {
7866
+ if (switch_instance) {
7867
+ group_outros();
7868
+ const old_component = switch_instance;
7869
+ transition_out(old_component.$$.fragment, 1, 0, () => {
7870
+ destroy_component(old_component, 1);
7871
+ });
7872
+ check_outros();
7873
+ }
7874
+ if (switch_value) {
7875
+ switch_instance = new switch_value(switch_props(ctx2));
7876
+ create_component(switch_instance.$$.fragment);
7877
+ transition_in(switch_instance.$$.fragment, 1);
7878
+ mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
7879
+ } else {
7880
+ switch_instance = null;
7881
+ }
7882
+ } else if (switch_value) {
7883
+ switch_instance.$set(switch_instance_changes);
7884
+ }
7885
+ },
7886
+ i(local) {
7887
+ if (current)
7888
+ return;
7889
+ if (switch_instance)
7890
+ transition_in(switch_instance.$$.fragment, local);
7891
+ current = true;
7892
+ },
7893
+ o(local) {
7894
+ if (switch_instance)
7895
+ transition_out(switch_instance.$$.fragment, local);
7896
+ current = false;
7897
+ },
7898
+ d(detaching) {
7899
+ if (detaching)
7900
+ detach(switch_instance_anchor);
7901
+ if (switch_instance)
7902
+ destroy_component(switch_instance, detaching);
7903
+ }
7904
+ };
7905
+ }
7906
+ function create_if_block_11(ctx) {
7907
+ let switch_instance;
7908
+ let switch_instance_anchor;
7909
+ let current;
7910
+ var switch_value = eraserIconActive[ctx[12]];
7911
+ function switch_props(ctx2) {
7912
+ return {
7913
+ props: { theme: ctx2[1], active: true }
7914
+ };
7915
+ }
7916
+ if (switch_value) {
7917
+ switch_instance = new switch_value(switch_props(ctx));
7918
+ }
7919
+ return {
7920
+ c() {
7921
+ if (switch_instance)
7922
+ create_component(switch_instance.$$.fragment);
7923
+ switch_instance_anchor = empty();
7924
+ },
7925
+ m(target, anchor) {
7926
+ if (switch_instance) {
7927
+ mount_component(switch_instance, target, anchor);
7928
+ }
7929
+ insert(target, switch_instance_anchor, anchor);
7930
+ current = true;
7931
+ },
7932
+ p(ctx2, dirty) {
7933
+ const switch_instance_changes = {};
7934
+ if (dirty[0] & 2)
7935
+ switch_instance_changes.theme = ctx2[1];
7936
+ if (switch_value !== (switch_value = eraserIconActive[ctx2[12]])) {
7937
+ if (switch_instance) {
7938
+ group_outros();
7939
+ const old_component = switch_instance;
7940
+ transition_out(old_component.$$.fragment, 1, 0, () => {
7941
+ destroy_component(old_component, 1);
7942
+ });
7943
+ check_outros();
7944
+ }
7945
+ if (switch_value) {
7946
+ switch_instance = new switch_value(switch_props(ctx2));
7947
+ create_component(switch_instance.$$.fragment);
7948
+ transition_in(switch_instance.$$.fragment, 1);
7949
+ mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
7950
+ } else {
7951
+ switch_instance = null;
7952
+ }
7953
+ } else if (switch_value) {
7954
+ switch_instance.$set(switch_instance_changes);
7955
+ }
7956
+ },
7957
+ i(local) {
7958
+ if (current)
7959
+ return;
7960
+ if (switch_instance)
7961
+ transition_in(switch_instance.$$.fragment, local);
7962
+ current = true;
7963
+ },
7964
+ o(local) {
7965
+ if (switch_instance)
7966
+ transition_out(switch_instance.$$.fragment, local);
7967
+ current = false;
7968
+ },
7969
+ d(detaching) {
7970
+ if (detaching)
7971
+ detach(switch_instance_anchor);
7972
+ if (switch_instance)
7973
+ destroy_component(switch_instance, detaching);
7974
+ }
7975
+ };
7976
+ }
7977
+ function create_default_slot_7(ctx) {
7978
+ let current_block_type_index;
7979
+ let if_block;
7980
+ let if_block_anchor;
7981
+ let current;
7982
+ const if_block_creators = [create_if_block_11, create_else_block_5];
7501
7983
  const if_blocks = [];
7502
- function select_block_type_5(ctx2, dirty) {
7503
- if (ctx2[8] === "eraser")
7984
+ function select_block_type_8(ctx2, dirty) {
7985
+ if (ctx2[8] === ctx2[12])
7504
7986
  return 0;
7505
7987
  return 1;
7506
7988
  }
7507
- current_block_type_index = select_block_type_5(ctx);
7989
+ current_block_type_index = select_block_type_8(ctx);
7508
7990
  if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
7509
7991
  return {
7510
7992
  c() {
@@ -7518,7 +8000,7 @@ function create_default_slot_34(ctx) {
7518
8000
  },
7519
8001
  p(ctx2, dirty) {
7520
8002
  let previous_block_index = current_block_type_index;
7521
- current_block_type_index = select_block_type_5(ctx2);
8003
+ current_block_type_index = select_block_type_8(ctx2);
7522
8004
  if (current_block_type_index === previous_block_index) {
7523
8005
  if_blocks[current_block_type_index].p(ctx2, dirty);
7524
8006
  } else {
@@ -7555,204 +8037,960 @@ function create_default_slot_34(ctx) {
7555
8037
  }
7556
8038
  };
7557
8039
  }
7558
- function create_default_slot_24(ctx) {
7559
- let icons_clear;
8040
+ function create_else_block_3(ctx) {
8041
+ let icons_pencileraser;
7560
8042
  let current;
7561
- icons_clear = new Icons_default.Clear({ props: { theme: ctx[1] } });
8043
+ icons_pencileraser = new Icons_default.PencilEraser({ props: { theme: ctx[1] } });
7562
8044
  return {
7563
8045
  c() {
7564
- create_component(icons_clear.$$.fragment);
8046
+ create_component(icons_pencileraser.$$.fragment);
7565
8047
  },
7566
8048
  m(target, anchor) {
7567
- mount_component(icons_clear, target, anchor);
8049
+ mount_component(icons_pencileraser, target, anchor);
7568
8050
  current = true;
7569
8051
  },
7570
8052
  p(ctx2, dirty) {
7571
- const icons_clear_changes = {};
8053
+ const icons_pencileraser_changes = {};
7572
8054
  if (dirty[0] & 2)
7573
- icons_clear_changes.theme = ctx2[1];
7574
- icons_clear.$set(icons_clear_changes);
8055
+ icons_pencileraser_changes.theme = ctx2[1];
8056
+ icons_pencileraser.$set(icons_pencileraser_changes);
7575
8057
  },
7576
8058
  i(local) {
7577
8059
  if (current)
7578
8060
  return;
7579
- transition_in(icons_clear.$$.fragment, local);
8061
+ transition_in(icons_pencileraser.$$.fragment, local);
7580
8062
  current = true;
7581
8063
  },
7582
8064
  o(local) {
7583
- transition_out(icons_clear.$$.fragment, local);
8065
+ transition_out(icons_pencileraser.$$.fragment, local);
7584
8066
  current = false;
7585
8067
  },
7586
8068
  d(detaching) {
7587
- destroy_component(icons_clear, detaching);
8069
+ destroy_component(icons_pencileraser, detaching);
7588
8070
  }
7589
8071
  };
7590
8072
  }
7591
- function create_if_block_12(ctx) {
7592
- let button;
8073
+ function create_if_block_10(ctx) {
8074
+ let icons_pencileraserfilled;
7593
8075
  let current;
7594
- const button_spread_levels = [
7595
- { class: "apps" },
7596
- ctx[15],
7597
- { content: ctx[9].apps },
7598
- { menu: ctx[14] },
7599
- { menu_placement: "right-end" }
7600
- ];
7601
- let button_props = {
7602
- $$slots: { default: [create_default_slot_14] },
7603
- $$scope: { ctx }
7604
- };
7605
- for (let i = 0; i < button_spread_levels.length; i += 1) {
7606
- button_props = assign(button_props, button_spread_levels[i]);
7607
- }
7608
- button = new Button_default({ props: button_props });
8076
+ icons_pencileraserfilled = new Icons_default.PencilEraserFilled({
8077
+ props: { theme: ctx[1], active: true }
8078
+ });
7609
8079
  return {
7610
8080
  c() {
7611
- create_component(button.$$.fragment);
8081
+ create_component(icons_pencileraserfilled.$$.fragment);
7612
8082
  },
7613
8083
  m(target, anchor) {
7614
- mount_component(button, target, anchor);
8084
+ mount_component(icons_pencileraserfilled, target, anchor);
7615
8085
  current = true;
7616
8086
  },
7617
8087
  p(ctx2, dirty) {
7618
- const button_changes = dirty[0] & 49664 ? get_spread_update(button_spread_levels, [
7619
- button_spread_levels[0],
7620
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
7621
- dirty[0] & 512 && { content: ctx2[9].apps },
7622
- dirty[0] & 16384 && { menu: ctx2[14] },
7623
- button_spread_levels[4]
7624
- ]) : {};
7625
- if (dirty[0] & 2 | dirty[1] & 524288) {
7626
- button_changes.$$scope = { dirty, ctx: ctx2 };
7627
- }
7628
- button.$set(button_changes);
8088
+ const icons_pencileraserfilled_changes = {};
8089
+ if (dirty[0] & 2)
8090
+ icons_pencileraserfilled_changes.theme = ctx2[1];
8091
+ icons_pencileraserfilled.$set(icons_pencileraserfilled_changes);
7629
8092
  },
7630
8093
  i(local) {
7631
8094
  if (current)
7632
8095
  return;
7633
- transition_in(button.$$.fragment, local);
8096
+ transition_in(icons_pencileraserfilled.$$.fragment, local);
7634
8097
  current = true;
7635
8098
  },
7636
8099
  o(local) {
7637
- transition_out(button.$$.fragment, local);
8100
+ transition_out(icons_pencileraserfilled.$$.fragment, local);
7638
8101
  current = false;
7639
8102
  },
7640
8103
  d(detaching) {
7641
- destroy_component(button, detaching);
8104
+ destroy_component(icons_pencileraserfilled, detaching);
7642
8105
  }
7643
8106
  };
7644
8107
  }
7645
- function create_default_slot_14(ctx) {
7646
- let icons_apps;
8108
+ function create_default_slot_6(ctx) {
8109
+ let current_block_type_index;
8110
+ let if_block;
8111
+ let if_block_anchor;
7647
8112
  let current;
7648
- icons_apps = new Icons_default.Apps({ props: { theme: ctx[1] } });
8113
+ const if_block_creators = [create_if_block_10, create_else_block_3];
8114
+ const if_blocks = [];
8115
+ function select_block_type_7(ctx2, dirty) {
8116
+ if (ctx2[8] === "pencilEraser")
8117
+ return 0;
8118
+ return 1;
8119
+ }
8120
+ current_block_type_index = select_block_type_7(ctx);
8121
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
7649
8122
  return {
7650
8123
  c() {
7651
- create_component(icons_apps.$$.fragment);
8124
+ if_block.c();
8125
+ if_block_anchor = empty();
7652
8126
  },
7653
8127
  m(target, anchor) {
7654
- mount_component(icons_apps, target, anchor);
8128
+ if_blocks[current_block_type_index].m(target, anchor);
8129
+ insert(target, if_block_anchor, anchor);
7655
8130
  current = true;
7656
8131
  },
7657
8132
  p(ctx2, dirty) {
7658
- const icons_apps_changes = {};
7659
- if (dirty[0] & 2)
7660
- icons_apps_changes.theme = ctx2[1];
7661
- icons_apps.$set(icons_apps_changes);
8133
+ let previous_block_index = current_block_type_index;
8134
+ current_block_type_index = select_block_type_7(ctx2);
8135
+ if (current_block_type_index === previous_block_index) {
8136
+ if_blocks[current_block_type_index].p(ctx2, dirty);
8137
+ } else {
8138
+ group_outros();
8139
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
8140
+ if_blocks[previous_block_index] = null;
8141
+ });
8142
+ check_outros();
8143
+ if_block = if_blocks[current_block_type_index];
8144
+ if (!if_block) {
8145
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
8146
+ if_block.c();
8147
+ } else {
8148
+ if_block.p(ctx2, dirty);
8149
+ }
8150
+ transition_in(if_block, 1);
8151
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
8152
+ }
8153
+ },
8154
+ i(local) {
8155
+ if (current)
8156
+ return;
8157
+ transition_in(if_block);
8158
+ current = true;
8159
+ },
8160
+ o(local) {
8161
+ transition_out(if_block);
8162
+ current = false;
8163
+ },
8164
+ d(detaching) {
8165
+ if_blocks[current_block_type_index].d(detaching);
8166
+ if (detaching)
8167
+ detach(if_block_anchor);
8168
+ }
8169
+ };
8170
+ }
8171
+ function create_else_block_2(ctx) {
8172
+ let icons_eraser;
8173
+ let current;
8174
+ icons_eraser = new Icons_default.Eraser({ props: { theme: ctx[1] } });
8175
+ return {
8176
+ c() {
8177
+ create_component(icons_eraser.$$.fragment);
8178
+ },
8179
+ m(target, anchor) {
8180
+ mount_component(icons_eraser, target, anchor);
8181
+ current = true;
8182
+ },
8183
+ p(ctx2, dirty) {
8184
+ const icons_eraser_changes = {};
8185
+ if (dirty[0] & 2)
8186
+ icons_eraser_changes.theme = ctx2[1];
8187
+ icons_eraser.$set(icons_eraser_changes);
8188
+ },
8189
+ i(local) {
8190
+ if (current)
8191
+ return;
8192
+ transition_in(icons_eraser.$$.fragment, local);
8193
+ current = true;
8194
+ },
8195
+ o(local) {
8196
+ transition_out(icons_eraser.$$.fragment, local);
8197
+ current = false;
8198
+ },
8199
+ d(detaching) {
8200
+ destroy_component(icons_eraser, detaching);
8201
+ }
8202
+ };
8203
+ }
8204
+ function create_if_block_8(ctx) {
8205
+ let icons_eraserfilled;
8206
+ let current;
8207
+ icons_eraserfilled = new Icons_default.EraserFilled({
8208
+ props: { theme: ctx[1], active: true }
8209
+ });
8210
+ return {
8211
+ c() {
8212
+ create_component(icons_eraserfilled.$$.fragment);
8213
+ },
8214
+ m(target, anchor) {
8215
+ mount_component(icons_eraserfilled, target, anchor);
8216
+ current = true;
8217
+ },
8218
+ p(ctx2, dirty) {
8219
+ const icons_eraserfilled_changes = {};
8220
+ if (dirty[0] & 2)
8221
+ icons_eraserfilled_changes.theme = ctx2[1];
8222
+ icons_eraserfilled.$set(icons_eraserfilled_changes);
8223
+ },
8224
+ i(local) {
8225
+ if (current)
8226
+ return;
8227
+ transition_in(icons_eraserfilled.$$.fragment, local);
8228
+ current = true;
8229
+ },
8230
+ o(local) {
8231
+ transition_out(icons_eraserfilled.$$.fragment, local);
8232
+ current = false;
8233
+ },
8234
+ d(detaching) {
8235
+ destroy_component(icons_eraserfilled, detaching);
8236
+ }
8237
+ };
8238
+ }
8239
+ function create_default_slot_53(ctx) {
8240
+ let current_block_type_index;
8241
+ let if_block;
8242
+ let if_block_anchor;
8243
+ let current;
8244
+ const if_block_creators = [create_if_block_8, create_else_block_2];
8245
+ const if_blocks = [];
8246
+ function select_block_type_6(ctx2, dirty) {
8247
+ if (ctx2[8] === "eraser")
8248
+ return 0;
8249
+ return 1;
8250
+ }
8251
+ current_block_type_index = select_block_type_6(ctx);
8252
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
8253
+ return {
8254
+ c() {
8255
+ if_block.c();
8256
+ if_block_anchor = empty();
8257
+ },
8258
+ m(target, anchor) {
8259
+ if_blocks[current_block_type_index].m(target, anchor);
8260
+ insert(target, if_block_anchor, anchor);
8261
+ current = true;
8262
+ },
8263
+ p(ctx2, dirty) {
8264
+ let previous_block_index = current_block_type_index;
8265
+ current_block_type_index = select_block_type_6(ctx2);
8266
+ if (current_block_type_index === previous_block_index) {
8267
+ if_blocks[current_block_type_index].p(ctx2, dirty);
8268
+ } else {
8269
+ group_outros();
8270
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
8271
+ if_blocks[previous_block_index] = null;
8272
+ });
8273
+ check_outros();
8274
+ if_block = if_blocks[current_block_type_index];
8275
+ if (!if_block) {
8276
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
8277
+ if_block.c();
8278
+ } else {
8279
+ if_block.p(ctx2, dirty);
8280
+ }
8281
+ transition_in(if_block, 1);
8282
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
8283
+ }
8284
+ },
8285
+ i(local) {
8286
+ if (current)
8287
+ return;
8288
+ transition_in(if_block);
8289
+ current = true;
8290
+ },
8291
+ o(local) {
8292
+ transition_out(if_block);
8293
+ current = false;
8294
+ },
8295
+ d(detaching) {
8296
+ if_blocks[current_block_type_index].d(detaching);
8297
+ if (detaching)
8298
+ detach(if_block_anchor);
8299
+ }
8300
+ };
8301
+ }
8302
+ function create_default_slot_43(ctx) {
8303
+ let icons_clear;
8304
+ let current;
8305
+ icons_clear = new Icons_default.Clear({ props: { theme: ctx[1] } });
8306
+ return {
8307
+ c() {
8308
+ create_component(icons_clear.$$.fragment);
8309
+ },
8310
+ m(target, anchor) {
8311
+ mount_component(icons_clear, target, anchor);
8312
+ current = true;
8313
+ },
8314
+ p(ctx2, dirty) {
8315
+ const icons_clear_changes = {};
8316
+ if (dirty[0] & 2)
8317
+ icons_clear_changes.theme = ctx2[1];
8318
+ icons_clear.$set(icons_clear_changes);
8319
+ },
8320
+ i(local) {
8321
+ if (current)
8322
+ return;
8323
+ transition_in(icons_clear.$$.fragment, local);
8324
+ current = true;
8325
+ },
8326
+ o(local) {
8327
+ transition_out(icons_clear.$$.fragment, local);
8328
+ current = false;
8329
+ },
8330
+ d(detaching) {
8331
+ destroy_component(icons_clear, detaching);
8332
+ }
8333
+ };
8334
+ }
8335
+ function create_if_block_6(ctx) {
8336
+ let button;
8337
+ let current;
8338
+ const button_spread_levels = [
8339
+ { class: "apps" },
8340
+ ctx[18],
8341
+ { content: ctx[10].apps },
8342
+ { menu: ctx[17] },
8343
+ { menu_placement: "right-end" }
8344
+ ];
8345
+ let button_props = {
8346
+ $$slots: { default: [create_default_slot_34] },
8347
+ $$scope: { ctx }
8348
+ };
8349
+ for (let i = 0; i < button_spread_levels.length; i += 1) {
8350
+ button_props = assign(button_props, button_spread_levels[i]);
8351
+ }
8352
+ button = new Button_default({ props: button_props });
8353
+ return {
8354
+ c() {
8355
+ create_component(button.$$.fragment);
8356
+ },
8357
+ m(target, anchor) {
8358
+ mount_component(button, target, anchor);
8359
+ current = true;
8360
+ },
8361
+ p(ctx2, dirty) {
8362
+ const button_changes = dirty[0] & 394240 ? get_spread_update(button_spread_levels, [
8363
+ button_spread_levels[0],
8364
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
8365
+ dirty[0] & 1024 && { content: ctx2[10].apps },
8366
+ dirty[0] & 131072 && { menu: ctx2[17] },
8367
+ button_spread_levels[4]
8368
+ ]) : {};
8369
+ if (dirty[0] & 2 | dirty[1] & 33554432) {
8370
+ button_changes.$$scope = { dirty, ctx: ctx2 };
8371
+ }
8372
+ button.$set(button_changes);
8373
+ },
8374
+ i(local) {
8375
+ if (current)
8376
+ return;
8377
+ transition_in(button.$$.fragment, local);
8378
+ current = true;
8379
+ },
8380
+ o(local) {
8381
+ transition_out(button.$$.fragment, local);
8382
+ current = false;
8383
+ },
8384
+ d(detaching) {
8385
+ destroy_component(button, detaching);
8386
+ }
8387
+ };
8388
+ }
8389
+ function create_default_slot_34(ctx) {
8390
+ let icons_apps;
8391
+ let current;
8392
+ icons_apps = new Icons_default.Apps({ props: { theme: ctx[1] } });
8393
+ return {
8394
+ c() {
8395
+ create_component(icons_apps.$$.fragment);
8396
+ },
8397
+ m(target, anchor) {
8398
+ mount_component(icons_apps, target, anchor);
8399
+ current = true;
8400
+ },
8401
+ p(ctx2, dirty) {
8402
+ const icons_apps_changes = {};
8403
+ if (dirty[0] & 2)
8404
+ icons_apps_changes.theme = ctx2[1];
8405
+ icons_apps.$set(icons_apps_changes);
8406
+ },
8407
+ i(local) {
8408
+ if (current)
8409
+ return;
8410
+ transition_in(icons_apps.$$.fragment, local);
8411
+ current = true;
8412
+ },
8413
+ o(local) {
8414
+ transition_out(icons_apps.$$.fragment, local);
8415
+ current = false;
8416
+ },
8417
+ d(detaching) {
8418
+ destroy_component(icons_apps, detaching);
8419
+ }
8420
+ };
8421
+ }
8422
+ function create_if_block_5(ctx) {
8423
+ let button;
8424
+ let current;
8425
+ button = new Button_default({
8426
+ props: {
8427
+ class: "scroll-down",
8428
+ name: name5,
8429
+ theme: ctx[1],
8430
+ disabled: ctx[3],
8431
+ $$slots: { default: [create_default_slot_24] },
8432
+ $$scope: { ctx }
8433
+ }
8434
+ });
8435
+ button.$on("click", ctx[26]);
8436
+ return {
8437
+ c() {
8438
+ create_component(button.$$.fragment);
8439
+ },
8440
+ m(target, anchor) {
8441
+ mount_component(button, target, anchor);
8442
+ current = true;
8443
+ },
8444
+ p(ctx2, dirty) {
8445
+ const button_changes = {};
8446
+ if (dirty[0] & 2)
8447
+ button_changes.theme = ctx2[1];
8448
+ if (dirty[0] & 8)
8449
+ button_changes.disabled = ctx2[3];
8450
+ if (dirty[0] & 2 | dirty[1] & 33554432) {
8451
+ button_changes.$$scope = { dirty, ctx: ctx2 };
8452
+ }
8453
+ button.$set(button_changes);
8454
+ },
8455
+ i(local) {
8456
+ if (current)
8457
+ return;
8458
+ transition_in(button.$$.fragment, local);
8459
+ current = true;
8460
+ },
8461
+ o(local) {
8462
+ transition_out(button.$$.fragment, local);
8463
+ current = false;
8464
+ },
8465
+ d(detaching) {
8466
+ destroy_component(button, detaching);
8467
+ }
8468
+ };
8469
+ }
8470
+ function create_default_slot_24(ctx) {
8471
+ let icons_down;
8472
+ let current;
8473
+ icons_down = new Icons_default.Down({ props: { theme: ctx[1] } });
8474
+ return {
8475
+ c() {
8476
+ create_component(icons_down.$$.fragment);
8477
+ },
8478
+ m(target, anchor) {
8479
+ mount_component(icons_down, target, anchor);
8480
+ current = true;
8481
+ },
8482
+ p(ctx2, dirty) {
8483
+ const icons_down_changes = {};
8484
+ if (dirty[0] & 2)
8485
+ icons_down_changes.theme = ctx2[1];
8486
+ icons_down.$set(icons_down_changes);
8487
+ },
8488
+ i(local) {
8489
+ if (current)
8490
+ return;
8491
+ transition_in(icons_down.$$.fragment, local);
8492
+ current = true;
8493
+ },
8494
+ o(local) {
8495
+ transition_out(icons_down.$$.fragment, local);
8496
+ current = false;
8497
+ },
8498
+ d(detaching) {
8499
+ destroy_component(icons_down, detaching);
8500
+ }
8501
+ };
8502
+ }
8503
+ function create_if_block_4(ctx) {
8504
+ let pencilerasersize;
8505
+ let current;
8506
+ pencilerasersize = new PencilEraserSize_default({
8507
+ props: {
8508
+ app: ctx[0],
8509
+ theme: ctx[1],
8510
+ disabled: ctx[3]
8511
+ }
8512
+ });
8513
+ return {
8514
+ c() {
8515
+ create_component(pencilerasersize.$$.fragment);
8516
+ },
8517
+ m(target, anchor) {
8518
+ mount_component(pencilerasersize, target, anchor);
8519
+ current = true;
8520
+ },
8521
+ p(ctx2, dirty) {
8522
+ const pencilerasersize_changes = {};
8523
+ if (dirty[0] & 1)
8524
+ pencilerasersize_changes.app = ctx2[0];
8525
+ if (dirty[0] & 2)
8526
+ pencilerasersize_changes.theme = ctx2[1];
8527
+ if (dirty[0] & 8)
8528
+ pencilerasersize_changes.disabled = ctx2[3];
8529
+ pencilerasersize.$set(pencilerasersize_changes);
8530
+ },
8531
+ i(local) {
8532
+ if (current)
8533
+ return;
8534
+ transition_in(pencilerasersize.$$.fragment, local);
8535
+ current = true;
8536
+ },
8537
+ o(local) {
8538
+ transition_out(pencilerasersize.$$.fragment, local);
8539
+ current = false;
8540
+ },
8541
+ d(detaching) {
8542
+ destroy_component(pencilerasersize, detaching);
8543
+ }
8544
+ };
8545
+ }
8546
+ function create_if_block6(ctx) {
8547
+ let div;
8548
+ let button0;
8549
+ let t0;
8550
+ let button1;
8551
+ let t1;
8552
+ let if_block_anchor;
8553
+ let current;
8554
+ const button0_spread_levels = [
8555
+ { class: "eraser" },
8556
+ ctx[18],
8557
+ { placement: "top" },
8558
+ {
8559
+ content: ctx[21].pencilEraserForPanel
8560
+ }
8561
+ ];
8562
+ let button0_props = {
8563
+ $$slots: { default: [create_default_slot_14] },
8564
+ $$scope: { ctx }
8565
+ };
8566
+ for (let i = 0; i < button0_spread_levels.length; i += 1) {
8567
+ button0_props = assign(button0_props, button0_spread_levels[i]);
8568
+ }
8569
+ button0 = new Button_default({ props: button0_props });
8570
+ button0.$on("click", ctx[34]);
8571
+ const button1_spread_levels = [
8572
+ { class: "eraser" },
8573
+ ctx[18],
8574
+ { placement: "top" },
8575
+ { content: ctx[21].eraserForPanel }
8576
+ ];
8577
+ let button1_props = {
8578
+ $$slots: { default: [create_default_slot4] },
8579
+ $$scope: { ctx }
8580
+ };
8581
+ for (let i = 0; i < button1_spread_levels.length; i += 1) {
8582
+ button1_props = assign(button1_props, button1_spread_levels[i]);
8583
+ }
8584
+ button1 = new Button_default({ props: button1_props });
8585
+ button1.$on("click", ctx[33]);
8586
+ let if_block = ctx[8] === "pencilEraser" && create_if_block_18(ctx);
8587
+ return {
8588
+ c() {
8589
+ div = element("div");
8590
+ create_component(button0.$$.fragment);
8591
+ t0 = space();
8592
+ create_component(button1.$$.fragment);
8593
+ t1 = space();
8594
+ if (if_block)
8595
+ if_block.c();
8596
+ if_block_anchor = empty();
8597
+ attr(div, "class", name5 + "-panel-btns");
8598
+ },
8599
+ m(target, anchor) {
8600
+ insert(target, div, anchor);
8601
+ mount_component(button0, div, null);
8602
+ append(div, t0);
8603
+ mount_component(button1, div, null);
8604
+ insert(target, t1, anchor);
8605
+ if (if_block)
8606
+ if_block.m(target, anchor);
8607
+ insert(target, if_block_anchor, anchor);
8608
+ current = true;
8609
+ },
8610
+ p(ctx2, dirty) {
8611
+ const button0_changes = dirty[0] & 2359296 ? get_spread_update(button0_spread_levels, [
8612
+ button0_spread_levels[0],
8613
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
8614
+ button0_spread_levels[2],
8615
+ dirty[0] & 2097152 && {
8616
+ content: ctx2[21].pencilEraserForPanel
8617
+ }
8618
+ ]) : {};
8619
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8620
+ button0_changes.$$scope = { dirty, ctx: ctx2 };
8621
+ }
8622
+ button0.$set(button0_changes);
8623
+ const button1_changes = dirty[0] & 2359296 ? get_spread_update(button1_spread_levels, [
8624
+ button1_spread_levels[0],
8625
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
8626
+ button1_spread_levels[2],
8627
+ dirty[0] & 2097152 && { content: ctx2[21].eraserForPanel }
8628
+ ]) : {};
8629
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8630
+ button1_changes.$$scope = { dirty, ctx: ctx2 };
8631
+ }
8632
+ button1.$set(button1_changes);
8633
+ if (ctx2[8] === "pencilEraser") {
8634
+ if (if_block) {
8635
+ if_block.p(ctx2, dirty);
8636
+ if (dirty[0] & 256) {
8637
+ transition_in(if_block, 1);
8638
+ }
8639
+ } else {
8640
+ if_block = create_if_block_18(ctx2);
8641
+ if_block.c();
8642
+ transition_in(if_block, 1);
8643
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
8644
+ }
8645
+ } else if (if_block) {
8646
+ group_outros();
8647
+ transition_out(if_block, 1, 1, () => {
8648
+ if_block = null;
8649
+ });
8650
+ check_outros();
8651
+ }
8652
+ },
8653
+ i(local) {
8654
+ if (current)
8655
+ return;
8656
+ transition_in(button0.$$.fragment, local);
8657
+ transition_in(button1.$$.fragment, local);
8658
+ transition_in(if_block);
8659
+ current = true;
8660
+ },
8661
+ o(local) {
8662
+ transition_out(button0.$$.fragment, local);
8663
+ transition_out(button1.$$.fragment, local);
8664
+ transition_out(if_block);
8665
+ current = false;
8666
+ },
8667
+ d(detaching) {
8668
+ if (detaching)
8669
+ detach(div);
8670
+ destroy_component(button0);
8671
+ destroy_component(button1);
8672
+ if (detaching)
8673
+ detach(t1);
8674
+ if (if_block)
8675
+ if_block.d(detaching);
8676
+ if (detaching)
8677
+ detach(if_block_anchor);
8678
+ }
8679
+ };
8680
+ }
8681
+ function create_else_block_12(ctx) {
8682
+ let icons_pencileraser;
8683
+ let current;
8684
+ icons_pencileraser = new Icons_default.PencilEraser({ props: { theme: ctx[1] } });
8685
+ return {
8686
+ c() {
8687
+ create_component(icons_pencileraser.$$.fragment);
8688
+ },
8689
+ m(target, anchor) {
8690
+ mount_component(icons_pencileraser, target, anchor);
8691
+ current = true;
8692
+ },
8693
+ p(ctx2, dirty) {
8694
+ const icons_pencileraser_changes = {};
8695
+ if (dirty[0] & 2)
8696
+ icons_pencileraser_changes.theme = ctx2[1];
8697
+ icons_pencileraser.$set(icons_pencileraser_changes);
8698
+ },
8699
+ i(local) {
8700
+ if (current)
8701
+ return;
8702
+ transition_in(icons_pencileraser.$$.fragment, local);
8703
+ current = true;
8704
+ },
8705
+ o(local) {
8706
+ transition_out(icons_pencileraser.$$.fragment, local);
8707
+ current = false;
8708
+ },
8709
+ d(detaching) {
8710
+ destroy_component(icons_pencileraser, detaching);
8711
+ }
8712
+ };
8713
+ }
8714
+ function create_if_block_3(ctx) {
8715
+ let icons_pencileraserfilled;
8716
+ let current;
8717
+ icons_pencileraserfilled = new Icons_default.PencilEraserFilled({
8718
+ props: { theme: ctx[1], active: true }
8719
+ });
8720
+ return {
8721
+ c() {
8722
+ create_component(icons_pencileraserfilled.$$.fragment);
8723
+ },
8724
+ m(target, anchor) {
8725
+ mount_component(icons_pencileraserfilled, target, anchor);
8726
+ current = true;
8727
+ },
8728
+ p(ctx2, dirty) {
8729
+ const icons_pencileraserfilled_changes = {};
8730
+ if (dirty[0] & 2)
8731
+ icons_pencileraserfilled_changes.theme = ctx2[1];
8732
+ icons_pencileraserfilled.$set(icons_pencileraserfilled_changes);
8733
+ },
8734
+ i(local) {
8735
+ if (current)
8736
+ return;
8737
+ transition_in(icons_pencileraserfilled.$$.fragment, local);
8738
+ current = true;
8739
+ },
8740
+ o(local) {
8741
+ transition_out(icons_pencileraserfilled.$$.fragment, local);
8742
+ current = false;
8743
+ },
8744
+ d(detaching) {
8745
+ destroy_component(icons_pencileraserfilled, detaching);
8746
+ }
8747
+ };
8748
+ }
8749
+ function create_default_slot_14(ctx) {
8750
+ let current_block_type_index;
8751
+ let if_block;
8752
+ let if_block_anchor;
8753
+ let current;
8754
+ const if_block_creators = [create_if_block_3, create_else_block_12];
8755
+ const if_blocks = [];
8756
+ function select_block_type_10(ctx2, dirty) {
8757
+ if (ctx2[8] === "pencilEraser")
8758
+ return 0;
8759
+ return 1;
8760
+ }
8761
+ current_block_type_index = select_block_type_10(ctx);
8762
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
8763
+ return {
8764
+ c() {
8765
+ if_block.c();
8766
+ if_block_anchor = empty();
8767
+ },
8768
+ m(target, anchor) {
8769
+ if_blocks[current_block_type_index].m(target, anchor);
8770
+ insert(target, if_block_anchor, anchor);
8771
+ current = true;
8772
+ },
8773
+ p(ctx2, dirty) {
8774
+ let previous_block_index = current_block_type_index;
8775
+ current_block_type_index = select_block_type_10(ctx2);
8776
+ if (current_block_type_index === previous_block_index) {
8777
+ if_blocks[current_block_type_index].p(ctx2, dirty);
8778
+ } else {
8779
+ group_outros();
8780
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
8781
+ if_blocks[previous_block_index] = null;
8782
+ });
8783
+ check_outros();
8784
+ if_block = if_blocks[current_block_type_index];
8785
+ if (!if_block) {
8786
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
8787
+ if_block.c();
8788
+ } else {
8789
+ if_block.p(ctx2, dirty);
8790
+ }
8791
+ transition_in(if_block, 1);
8792
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
8793
+ }
8794
+ },
8795
+ i(local) {
8796
+ if (current)
8797
+ return;
8798
+ transition_in(if_block);
8799
+ current = true;
8800
+ },
8801
+ o(local) {
8802
+ transition_out(if_block);
8803
+ current = false;
8804
+ },
8805
+ d(detaching) {
8806
+ if_blocks[current_block_type_index].d(detaching);
8807
+ if (detaching)
8808
+ detach(if_block_anchor);
8809
+ }
8810
+ };
8811
+ }
8812
+ function create_else_block6(ctx) {
8813
+ let icons_eraser;
8814
+ let current;
8815
+ icons_eraser = new Icons_default.Eraser({ props: { theme: ctx[1] } });
8816
+ return {
8817
+ c() {
8818
+ create_component(icons_eraser.$$.fragment);
8819
+ },
8820
+ m(target, anchor) {
8821
+ mount_component(icons_eraser, target, anchor);
8822
+ current = true;
8823
+ },
8824
+ p(ctx2, dirty) {
8825
+ const icons_eraser_changes = {};
8826
+ if (dirty[0] & 2)
8827
+ icons_eraser_changes.theme = ctx2[1];
8828
+ icons_eraser.$set(icons_eraser_changes);
8829
+ },
8830
+ i(local) {
8831
+ if (current)
8832
+ return;
8833
+ transition_in(icons_eraser.$$.fragment, local);
8834
+ current = true;
8835
+ },
8836
+ o(local) {
8837
+ transition_out(icons_eraser.$$.fragment, local);
8838
+ current = false;
8839
+ },
8840
+ d(detaching) {
8841
+ destroy_component(icons_eraser, detaching);
8842
+ }
8843
+ };
8844
+ }
8845
+ function create_if_block_2(ctx) {
8846
+ let icons_eraserfilled;
8847
+ let current;
8848
+ icons_eraserfilled = new Icons_default.EraserFilled({
8849
+ props: { theme: ctx[1], active: true }
8850
+ });
8851
+ return {
8852
+ c() {
8853
+ create_component(icons_eraserfilled.$$.fragment);
8854
+ },
8855
+ m(target, anchor) {
8856
+ mount_component(icons_eraserfilled, target, anchor);
8857
+ current = true;
8858
+ },
8859
+ p(ctx2, dirty) {
8860
+ const icons_eraserfilled_changes = {};
8861
+ if (dirty[0] & 2)
8862
+ icons_eraserfilled_changes.theme = ctx2[1];
8863
+ icons_eraserfilled.$set(icons_eraserfilled_changes);
7662
8864
  },
7663
8865
  i(local) {
7664
8866
  if (current)
7665
8867
  return;
7666
- transition_in(icons_apps.$$.fragment, local);
8868
+ transition_in(icons_eraserfilled.$$.fragment, local);
7667
8869
  current = true;
7668
8870
  },
7669
8871
  o(local) {
7670
- transition_out(icons_apps.$$.fragment, local);
8872
+ transition_out(icons_eraserfilled.$$.fragment, local);
7671
8873
  current = false;
7672
8874
  },
7673
8875
  d(detaching) {
7674
- destroy_component(icons_apps, detaching);
8876
+ destroy_component(icons_eraserfilled, detaching);
7675
8877
  }
7676
8878
  };
7677
8879
  }
7678
- function create_if_block6(ctx) {
7679
- let button;
8880
+ function create_default_slot4(ctx) {
8881
+ let current_block_type_index;
8882
+ let if_block;
8883
+ let if_block_anchor;
7680
8884
  let current;
7681
- button = new Button_default({
7682
- props: {
7683
- class: "scroll-down",
7684
- name: name5,
7685
- theme: ctx[1],
7686
- disabled: ctx[3],
7687
- $$slots: { default: [create_default_slot4] },
7688
- $$scope: { ctx }
7689
- }
7690
- });
7691
- button.$on("click", ctx[23]);
8885
+ const if_block_creators = [create_if_block_2, create_else_block6];
8886
+ const if_blocks = [];
8887
+ function select_block_type_11(ctx2, dirty) {
8888
+ if (ctx2[8] === "eraser")
8889
+ return 0;
8890
+ return 1;
8891
+ }
8892
+ current_block_type_index = select_block_type_11(ctx);
8893
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
7692
8894
  return {
7693
8895
  c() {
7694
- create_component(button.$$.fragment);
8896
+ if_block.c();
8897
+ if_block_anchor = empty();
7695
8898
  },
7696
8899
  m(target, anchor) {
7697
- mount_component(button, target, anchor);
8900
+ if_blocks[current_block_type_index].m(target, anchor);
8901
+ insert(target, if_block_anchor, anchor);
7698
8902
  current = true;
7699
8903
  },
7700
8904
  p(ctx2, dirty) {
7701
- const button_changes = {};
7702
- if (dirty[0] & 2)
7703
- button_changes.theme = ctx2[1];
7704
- if (dirty[0] & 8)
7705
- button_changes.disabled = ctx2[3];
7706
- if (dirty[0] & 2 | dirty[1] & 524288) {
7707
- button_changes.$$scope = { dirty, ctx: ctx2 };
8905
+ let previous_block_index = current_block_type_index;
8906
+ current_block_type_index = select_block_type_11(ctx2);
8907
+ if (current_block_type_index === previous_block_index) {
8908
+ if_blocks[current_block_type_index].p(ctx2, dirty);
8909
+ } else {
8910
+ group_outros();
8911
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
8912
+ if_blocks[previous_block_index] = null;
8913
+ });
8914
+ check_outros();
8915
+ if_block = if_blocks[current_block_type_index];
8916
+ if (!if_block) {
8917
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
8918
+ if_block.c();
8919
+ } else {
8920
+ if_block.p(ctx2, dirty);
8921
+ }
8922
+ transition_in(if_block, 1);
8923
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
7708
8924
  }
7709
- button.$set(button_changes);
7710
8925
  },
7711
8926
  i(local) {
7712
8927
  if (current)
7713
8928
  return;
7714
- transition_in(button.$$.fragment, local);
8929
+ transition_in(if_block);
7715
8930
  current = true;
7716
8931
  },
7717
8932
  o(local) {
7718
- transition_out(button.$$.fragment, local);
8933
+ transition_out(if_block);
7719
8934
  current = false;
7720
8935
  },
7721
8936
  d(detaching) {
7722
- destroy_component(button, detaching);
8937
+ if_blocks[current_block_type_index].d(detaching);
8938
+ if (detaching)
8939
+ detach(if_block_anchor);
7723
8940
  }
7724
8941
  };
7725
8942
  }
7726
- function create_default_slot4(ctx) {
7727
- let icons_down;
8943
+ function create_if_block_18(ctx) {
8944
+ let div;
8945
+ let t_1;
8946
+ let pencilerasersize;
7728
8947
  let current;
7729
- icons_down = new Icons_default.Down({ props: { theme: ctx[1] } });
8948
+ pencilerasersize = new PencilEraserSize_default({
8949
+ props: {
8950
+ app: ctx[0],
8951
+ theme: ctx[1],
8952
+ disabled: ctx[3]
8953
+ }
8954
+ });
7730
8955
  return {
7731
8956
  c() {
7732
- create_component(icons_down.$$.fragment);
8957
+ div = element("div");
8958
+ t_1 = space();
8959
+ create_component(pencilerasersize.$$.fragment);
8960
+ attr(div, "class", name5 + "-panel-divider");
7733
8961
  },
7734
8962
  m(target, anchor) {
7735
- mount_component(icons_down, target, anchor);
8963
+ insert(target, div, anchor);
8964
+ insert(target, t_1, anchor);
8965
+ mount_component(pencilerasersize, target, anchor);
7736
8966
  current = true;
7737
8967
  },
7738
8968
  p(ctx2, dirty) {
7739
- const icons_down_changes = {};
8969
+ const pencilerasersize_changes = {};
8970
+ if (dirty[0] & 1)
8971
+ pencilerasersize_changes.app = ctx2[0];
7740
8972
  if (dirty[0] & 2)
7741
- icons_down_changes.theme = ctx2[1];
7742
- icons_down.$set(icons_down_changes);
8973
+ pencilerasersize_changes.theme = ctx2[1];
8974
+ if (dirty[0] & 8)
8975
+ pencilerasersize_changes.disabled = ctx2[3];
8976
+ pencilerasersize.$set(pencilerasersize_changes);
7743
8977
  },
7744
8978
  i(local) {
7745
8979
  if (current)
7746
8980
  return;
7747
- transition_in(icons_down.$$.fragment, local);
8981
+ transition_in(pencilerasersize.$$.fragment, local);
7748
8982
  current = true;
7749
8983
  },
7750
8984
  o(local) {
7751
- transition_out(icons_down.$$.fragment, local);
8985
+ transition_out(pencilerasersize.$$.fragment, local);
7752
8986
  current = false;
7753
8987
  },
7754
8988
  d(detaching) {
7755
- destroy_component(icons_down, detaching);
8989
+ if (detaching)
8990
+ detach(div);
8991
+ if (detaching)
8992
+ detach(t_1);
8993
+ destroy_component(pencilerasersize, detaching);
7756
8994
  }
7757
8995
  };
7758
8996
  }
@@ -7765,7 +9003,7 @@ function create_each_block4(ctx) {
7765
9003
  let img_title_value;
7766
9004
  let t0;
7767
9005
  let span;
7768
- let t1_value = ctx[43] + "";
9006
+ let t1_value = ctx[49] + "";
7769
9007
  let t1;
7770
9008
  let span_class_value;
7771
9009
  let t2;
@@ -7784,17 +9022,17 @@ function create_each_block4(ctx) {
7784
9022
  t1 = text(t1_value);
7785
9023
  t2 = space();
7786
9024
  attr(img, "class", img_class_value = name5 + "-app-btn-icon " + ctx[1]);
7787
- if (!src_url_equal(img.src, img_src_value = ctx[42]))
9025
+ if (!src_url_equal(img.src, img_src_value = ctx[48]))
7788
9026
  attr(img, "src", img_src_value);
7789
- attr(img, "alt", img_alt_value = ctx[44]);
7790
- attr(img, "title", img_title_value = ctx[43]);
9027
+ attr(img, "alt", img_alt_value = ctx[50]);
9028
+ attr(img, "title", img_title_value = ctx[49]);
7791
9029
  attr(span, "class", span_class_value = name5 + "-app-btn-text " + ctx[1]);
7792
- attr(button, "class", button_class_value = name5 + "-app-btn " + ctx[44] + " " + ctx[1]);
7793
- attr(button, "title", button_title_value = ctx[43] + (ctx[46] && ctx[46].reason ? ": " + ctx[46].reason : ""));
7794
- attr(button, "data-app-kind", button_data_app_kind_value = ctx[41].kind);
7795
- button.disabled = button_disabled_value = ctx[46] && ctx[46].status !== "idle";
7796
- toggle_class(button, "is-loading", ctx[46] && ctx[46].status === "loading");
7797
- toggle_class(button, "is-failed", ctx[46] && ctx[46].status === "failed");
9030
+ attr(button, "class", button_class_value = name5 + "-app-btn " + ctx[50] + " " + ctx[1]);
9031
+ attr(button, "title", button_title_value = ctx[49] + (ctx[52] && ctx[52].reason ? ": " + ctx[52].reason : ""));
9032
+ attr(button, "data-app-kind", button_data_app_kind_value = ctx[47].kind);
9033
+ button.disabled = button_disabled_value = ctx[52] && ctx[52].status !== "idle";
9034
+ toggle_class(button, "is-loading", ctx[52] && ctx[52].status === "loading");
9035
+ toggle_class(button, "is-failed", ctx[52] && ctx[52].status === "failed");
7798
9036
  },
7799
9037
  m(target, anchor) {
7800
9038
  insert(target, button, anchor);
@@ -7805,8 +9043,8 @@ function create_each_block4(ctx) {
7805
9043
  append(button, t2);
7806
9044
  if (!mounted) {
7807
9045
  dispose = listen(button, "click", function() {
7808
- if (is_function(ctx[47]))
7809
- ctx[47].apply(this, arguments);
9046
+ if (is_function(ctx[53]))
9047
+ ctx[53].apply(this, arguments);
7810
9048
  });
7811
9049
  mounted = true;
7812
9050
  }
@@ -7816,37 +9054,37 @@ function create_each_block4(ctx) {
7816
9054
  if (dirty[0] & 2 && img_class_value !== (img_class_value = name5 + "-app-btn-icon " + ctx[1])) {
7817
9055
  attr(img, "class", img_class_value);
7818
9056
  }
7819
- if (dirty[0] & 524288 && !src_url_equal(img.src, img_src_value = ctx[42])) {
9057
+ if (dirty[0] & 4194304 && !src_url_equal(img.src, img_src_value = ctx[48])) {
7820
9058
  attr(img, "src", img_src_value);
7821
9059
  }
7822
- if (dirty[0] & 524288 && img_alt_value !== (img_alt_value = ctx[44])) {
9060
+ if (dirty[0] & 4194304 && img_alt_value !== (img_alt_value = ctx[50])) {
7823
9061
  attr(img, "alt", img_alt_value);
7824
9062
  }
7825
- if (dirty[0] & 524288 && img_title_value !== (img_title_value = ctx[43])) {
9063
+ if (dirty[0] & 4194304 && img_title_value !== (img_title_value = ctx[49])) {
7826
9064
  attr(img, "title", img_title_value);
7827
9065
  }
7828
- if (dirty[0] & 524288 && t1_value !== (t1_value = ctx[43] + ""))
9066
+ if (dirty[0] & 4194304 && t1_value !== (t1_value = ctx[49] + ""))
7829
9067
  set_data(t1, t1_value);
7830
9068
  if (dirty[0] & 2 && span_class_value !== (span_class_value = name5 + "-app-btn-text " + ctx[1])) {
7831
9069
  attr(span, "class", span_class_value);
7832
9070
  }
7833
- if (dirty[0] & 524290 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[44] + " " + ctx[1])) {
9071
+ if (dirty[0] & 4194306 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[50] + " " + ctx[1])) {
7834
9072
  attr(button, "class", button_class_value);
7835
9073
  }
7836
- if (dirty[0] & 1572864 && button_title_value !== (button_title_value = ctx[43] + (ctx[46] && ctx[46].reason ? ": " + ctx[46].reason : ""))) {
9074
+ if (dirty[0] & 12582912 && button_title_value !== (button_title_value = ctx[49] + (ctx[52] && ctx[52].reason ? ": " + ctx[52].reason : ""))) {
7837
9075
  attr(button, "title", button_title_value);
7838
9076
  }
7839
- if (dirty[0] & 524288 && button_data_app_kind_value !== (button_data_app_kind_value = ctx[41].kind)) {
9077
+ if (dirty[0] & 4194304 && button_data_app_kind_value !== (button_data_app_kind_value = ctx[47].kind)) {
7840
9078
  attr(button, "data-app-kind", button_data_app_kind_value);
7841
9079
  }
7842
- if (dirty[0] & 1572864 && button_disabled_value !== (button_disabled_value = ctx[46] && ctx[46].status !== "idle")) {
9080
+ if (dirty[0] & 12582912 && button_disabled_value !== (button_disabled_value = ctx[52] && ctx[52].status !== "idle")) {
7843
9081
  button.disabled = button_disabled_value;
7844
9082
  }
7845
- if (dirty[0] & 1572866) {
7846
- toggle_class(button, "is-loading", ctx[46] && ctx[46].status === "loading");
9083
+ if (dirty[0] & 12582914) {
9084
+ toggle_class(button, "is-loading", ctx[52] && ctx[52].status === "loading");
7847
9085
  }
7848
- if (dirty[0] & 1572866) {
7849
- toggle_class(button, "is-failed", ctx[46] && ctx[46].status === "failed");
9086
+ if (dirty[0] & 12582914) {
9087
+ toggle_class(button, "is-failed", ctx[52] && ctx[52].status === "failed");
7850
9088
  }
7851
9089
  },
7852
9090
  d(detaching) {
@@ -7857,7 +9095,7 @@ function create_each_block4(ctx) {
7857
9095
  }
7858
9096
  };
7859
9097
  }
7860
- function create_fragment54(ctx) {
9098
+ function create_fragment57(ctx) {
7861
9099
  let t0;
7862
9100
  let div0;
7863
9101
  let button0;
@@ -7870,14 +9108,15 @@ function create_fragment54(ctx) {
7870
9108
  let t4;
7871
9109
  let button4;
7872
9110
  let t5;
7873
- let button5;
9111
+ let current_block_type_index;
9112
+ let if_block1;
7874
9113
  let t6;
7875
- let button6;
9114
+ let button5;
7876
9115
  let t7;
7877
9116
  let scrollHeight_action;
7878
9117
  let t8;
7879
9118
  let t9;
7880
- let div8;
9119
+ let div9;
7881
9120
  let div2;
7882
9121
  let strokewidth0;
7883
9122
  let t10;
@@ -7900,105 +9139,110 @@ function create_fragment54(ctx) {
7900
9139
  let strokecolor1;
7901
9140
  let t18;
7902
9141
  let div7;
9142
+ let current_block_type_index_1;
9143
+ let if_block4;
9144
+ let t19;
9145
+ let div8;
7903
9146
  let current;
7904
9147
  let mounted;
7905
9148
  let dispose;
7906
- let if_block0 = ctx[5] && create_if_block_8(ctx);
9149
+ let if_block0 = ctx[5] && create_if_block_17(ctx);
7907
9150
  const button0_spread_levels = [
7908
9151
  { class: "clicker" },
7909
- ctx[15],
7910
- { content: ctx[18].clicker }
9152
+ ctx[18],
9153
+ { content: ctx[21].clicker }
7911
9154
  ];
7912
9155
  let button0_props = {
7913
- $$slots: { default: [create_default_slot_8] },
9156
+ $$slots: { default: [create_default_slot_122] },
7914
9157
  $$scope: { ctx }
7915
9158
  };
7916
9159
  for (let i = 0; i < button0_spread_levels.length; i += 1) {
7917
9160
  button0_props = assign(button0_props, button0_spread_levels[i]);
7918
9161
  }
7919
9162
  button0 = new Button_default({ props: button0_props });
7920
- button0.$on("click", ctx[24]);
9163
+ button0.$on("click", ctx[27]);
7921
9164
  const button1_spread_levels = [
7922
9165
  { class: "selector" },
7923
- ctx[15],
7924
- { content: ctx[18].selector }
9166
+ ctx[18],
9167
+ { content: ctx[21].selector }
7925
9168
  ];
7926
9169
  let button1_props = {
7927
- $$slots: { default: [create_default_slot_7] },
9170
+ $$slots: { default: [create_default_slot_11] },
7928
9171
  $$scope: { ctx }
7929
9172
  };
7930
9173
  for (let i = 0; i < button1_spread_levels.length; i += 1) {
7931
9174
  button1_props = assign(button1_props, button1_spread_levels[i]);
7932
9175
  }
7933
9176
  button1 = new Button_default({ props: button1_props });
7934
- button1.$on("click", ctx[25]);
9177
+ button1.$on("click", ctx[28]);
7935
9178
  const button2_spread_levels = [
7936
9179
  { class: "pencil" },
7937
- ctx[15],
7938
- { content: ctx[18].pencil },
7939
- { menu: ctx[11] }
9180
+ ctx[18],
9181
+ { content: ctx[21].pencil },
9182
+ { menu: ctx[13] }
7940
9183
  ];
7941
9184
  let button2_props = {
7942
- $$slots: { default: [create_default_slot_6] },
9185
+ $$slots: { default: [create_default_slot_10] },
7943
9186
  $$scope: { ctx }
7944
9187
  };
7945
9188
  for (let i = 0; i < button2_spread_levels.length; i += 1) {
7946
9189
  button2_props = assign(button2_props, button2_spread_levels[i]);
7947
9190
  }
7948
9191
  button2 = new Button_default({ props: button2_props });
7949
- button2.$on("click", ctx[26]);
9192
+ button2.$on("click", ctx[29]);
7950
9193
  const button3_spread_levels = [
7951
9194
  { class: "text" },
7952
- ctx[15],
7953
- { content: ctx[18].text },
7954
- { menu: ctx[12] }
9195
+ ctx[18],
9196
+ { content: ctx[21].text },
9197
+ { menu: ctx[14] }
7955
9198
  ];
7956
9199
  let button3_props = {
7957
- $$slots: { default: [create_default_slot_53] },
9200
+ $$slots: { default: [create_default_slot_9] },
7958
9201
  $$scope: { ctx }
7959
9202
  };
7960
9203
  for (let i = 0; i < button3_spread_levels.length; i += 1) {
7961
9204
  button3_props = assign(button3_props, button3_spread_levels[i]);
7962
9205
  }
7963
9206
  button3 = new Button_default({ props: button3_props });
7964
- button3.$on("click", ctx[27]);
9207
+ button3.$on("click", ctx[30]);
7965
9208
  const button4_spread_levels = [
7966
9209
  { class: "shapes" },
7967
- ctx[15],
7968
- { content: ctx[9].shapes },
7969
- { menu: ctx[13] }
9210
+ ctx[18],
9211
+ { content: ctx[10].shapes },
9212
+ { menu: ctx[15] }
7970
9213
  ];
7971
9214
  let button4_props = {
7972
- $$slots: { default: [create_default_slot_43] },
9215
+ $$slots: { default: [create_default_slot_8] },
7973
9216
  $$scope: { ctx }
7974
9217
  };
7975
9218
  for (let i = 0; i < button4_spread_levels.length; i += 1) {
7976
9219
  button4_props = assign(button4_props, button4_spread_levels[i]);
7977
9220
  }
7978
9221
  button4 = new Button_default({ props: button4_props });
7979
- button4.$on("click", ctx[28]);
7980
- const button5_spread_levels = [{ class: "eraser" }, ctx[15], { content: ctx[18].eraser }];
9222
+ button4.$on("click", ctx[31]);
9223
+ const if_block_creators = [create_if_block_7, create_if_block_9, create_else_block_4];
9224
+ const if_blocks = [];
9225
+ function select_block_type_5(ctx2, dirty) {
9226
+ if (ctx2[7] === "delete")
9227
+ return 0;
9228
+ if (ctx2[7] === "pencil")
9229
+ return 1;
9230
+ return 2;
9231
+ }
9232
+ current_block_type_index = select_block_type_5(ctx);
9233
+ if_block1 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
9234
+ const button5_spread_levels = [{ class: "clear" }, ctx[18], { content: ctx[10].clear }];
7981
9235
  let button5_props = {
7982
- $$slots: { default: [create_default_slot_34] },
9236
+ $$slots: { default: [create_default_slot_43] },
7983
9237
  $$scope: { ctx }
7984
9238
  };
7985
9239
  for (let i = 0; i < button5_spread_levels.length; i += 1) {
7986
9240
  button5_props = assign(button5_props, button5_spread_levels[i]);
7987
9241
  }
7988
9242
  button5 = new Button_default({ props: button5_props });
7989
- button5.$on("click", ctx[29]);
7990
- const button6_spread_levels = [{ class: "clear" }, ctx[15], { content: ctx[9].clear }];
7991
- let button6_props = {
7992
- $$slots: { default: [create_default_slot_24] },
7993
- $$scope: { ctx }
7994
- };
7995
- for (let i = 0; i < button6_spread_levels.length; i += 1) {
7996
- button6_props = assign(button6_props, button6_spread_levels[i]);
7997
- }
7998
- button6 = new Button_default({ props: button6_props });
7999
- button6.$on("click", ctx[30]);
8000
- let if_block1 = !ctx[6] && create_if_block_12(ctx);
8001
- let if_block2 = ctx[5] && create_if_block6(ctx);
9243
+ button5.$on("click", ctx[35]);
9244
+ let if_block2 = !ctx[6] && create_if_block_6(ctx);
9245
+ let if_block3 = ctx[5] && create_if_block_5(ctx);
8002
9246
  strokewidth0 = new StrokeWidth_default({
8003
9247
  props: {
8004
9248
  app: ctx[0],
@@ -8042,7 +9286,19 @@ function create_fragment54(ctx) {
8042
9286
  disabled: ctx[3]
8043
9287
  }
8044
9288
  });
8045
- let each_value = ctx[19];
9289
+ const if_block_creators_1 = [create_if_block6, create_if_block_4];
9290
+ const if_blocks_1 = [];
9291
+ function select_block_type_9(ctx2, dirty) {
9292
+ if (ctx2[7] === "both")
9293
+ return 0;
9294
+ if (ctx2[7] === "pencil")
9295
+ return 1;
9296
+ return -1;
9297
+ }
9298
+ if (~(current_block_type_index_1 = select_block_type_9(ctx))) {
9299
+ if_block4 = if_blocks_1[current_block_type_index_1] = if_block_creators_1[current_block_type_index_1](ctx);
9300
+ }
9301
+ let each_value = ctx[22];
8046
9302
  let each_blocks = [];
8047
9303
  for (let i = 0; i < each_value.length; i += 1) {
8048
9304
  each_blocks[i] = create_each_block4(get_each_context4(ctx, each_value, i));
@@ -8063,17 +9319,17 @@ function create_fragment54(ctx) {
8063
9319
  t4 = space();
8064
9320
  create_component(button4.$$.fragment);
8065
9321
  t5 = space();
8066
- create_component(button5.$$.fragment);
9322
+ if_block1.c();
8067
9323
  t6 = space();
8068
- create_component(button6.$$.fragment);
9324
+ create_component(button5.$$.fragment);
8069
9325
  t7 = space();
8070
- if (if_block1)
8071
- if_block1.c();
8072
- t8 = space();
8073
9326
  if (if_block2)
8074
9327
  if_block2.c();
9328
+ t8 = space();
9329
+ if (if_block3)
9330
+ if_block3.c();
8075
9331
  t9 = space();
8076
- div8 = element("div");
9332
+ div9 = element("div");
8077
9333
  div2 = element("div");
8078
9334
  create_component(strokewidth0.$$.fragment);
8079
9335
  t10 = space();
@@ -8096,6 +9352,10 @@ function create_fragment54(ctx) {
8096
9352
  create_component(strokecolor1.$$.fragment);
8097
9353
  t18 = space();
8098
9354
  div7 = element("div");
9355
+ if (if_block4)
9356
+ if_block4.c();
9357
+ t19 = space();
9358
+ div8 = element("div");
8099
9359
  for (let i = 0; i < each_blocks.length; i += 1) {
8100
9360
  each_blocks[i].c();
8101
9361
  }
@@ -8107,10 +9367,11 @@ function create_fragment54(ctx) {
8107
9367
  attr(div4, "class", name5 + "-panel-divider");
8108
9368
  attr(div5, "class", name5 + "-panel-divider");
8109
9369
  attr(div6, "class", name5 + "-panel shapes");
8110
- attr(div7, "class", name5 + "-panel apps");
8111
- set_style(div7, "--n", ctx[19].length);
8112
- attr(div8, "class", name5 + "-panel-wrapper");
8113
- set_style(div8, "display", "none");
9370
+ attr(div7, "class", name5 + "-panel eraser");
9371
+ attr(div8, "class", name5 + "-panel apps");
9372
+ set_style(div8, "--n", ctx[22].length);
9373
+ attr(div9, "class", name5 + "-panel-wrapper");
9374
+ set_style(div9, "display", "none");
8114
9375
  },
8115
9376
  m(target, anchor) {
8116
9377
  if (if_block0)
@@ -8127,30 +9388,30 @@ function create_fragment54(ctx) {
8127
9388
  append(div0, t4);
8128
9389
  mount_component(button4, div0, null);
8129
9390
  append(div0, t5);
8130
- mount_component(button5, div0, null);
9391
+ if_blocks[current_block_type_index].m(div0, null);
8131
9392
  append(div0, t6);
8132
- mount_component(button6, div0, null);
9393
+ mount_component(button5, div0, null);
8133
9394
  append(div0, t7);
8134
- if (if_block1)
8135
- if_block1.m(div0, null);
8136
- insert(target, t8, anchor);
8137
9395
  if (if_block2)
8138
- if_block2.m(target, anchor);
9396
+ if_block2.m(div0, null);
9397
+ insert(target, t8, anchor);
9398
+ if (if_block3)
9399
+ if_block3.m(target, anchor);
8139
9400
  insert(target, t9, anchor);
8140
- insert(target, div8, anchor);
8141
- append(div8, div2);
9401
+ insert(target, div9, anchor);
9402
+ append(div9, div2);
8142
9403
  mount_component(strokewidth0, div2, null);
8143
9404
  append(div2, t10);
8144
9405
  append(div2, div1);
8145
9406
  append(div2, t11);
8146
9407
  mount_component(strokecolor0, div2, null);
8147
- ctx[35](div2);
8148
- append(div8, t12);
8149
- append(div8, div3);
9408
+ ctx[40](div2);
9409
+ append(div9, t12);
9410
+ append(div9, div3);
8150
9411
  mount_component(textcolor, div3, null);
8151
- ctx[36](div3);
8152
- append(div8, t13);
8153
- append(div8, div6);
9412
+ ctx[41](div3);
9413
+ append(div9, t13);
9414
+ append(div9, div6);
8154
9415
  mount_component(shapes2, div6, null);
8155
9416
  append(div6, t14);
8156
9417
  append(div6, div4);
@@ -8160,18 +9421,24 @@ function create_fragment54(ctx) {
8160
9421
  append(div6, div5);
8161
9422
  append(div6, t17);
8162
9423
  mount_component(strokecolor1, div6, null);
8163
- ctx[37](div6);
8164
- append(div8, t18);
8165
- append(div8, div7);
9424
+ ctx[42](div6);
9425
+ append(div9, t18);
9426
+ append(div9, div7);
9427
+ if (~current_block_type_index_1) {
9428
+ if_blocks_1[current_block_type_index_1].m(div7, null);
9429
+ }
9430
+ ctx[43](div7);
9431
+ append(div9, t19);
9432
+ append(div9, div8);
8166
9433
  for (let i = 0; i < each_blocks.length; i += 1) {
8167
- each_blocks[i].m(div7, null);
9434
+ each_blocks[i].m(div8, null);
8168
9435
  }
8169
- ctx[38](div7);
9436
+ ctx[44](div8);
8170
9437
  current = true;
8171
9438
  if (!mounted) {
8172
9439
  dispose = [
8173
9440
  action_destroyer(scrollHeight_action = scrollHeight.call(null, div0, ctx[4])),
8174
- action_destroyer(scrollTop.call(null, div0, ctx[21]))
9441
+ action_destroyer(scrollTop.call(null, div0, ctx[24]))
8175
9442
  ];
8176
9443
  mounted = true;
8177
9444
  }
@@ -8184,7 +9451,7 @@ function create_fragment54(ctx) {
8184
9451
  transition_in(if_block0, 1);
8185
9452
  }
8186
9453
  } else {
8187
- if_block0 = create_if_block_8(ctx2);
9454
+ if_block0 = create_if_block_17(ctx2);
8188
9455
  if_block0.c();
8189
9456
  transition_in(if_block0, 1);
8190
9457
  if_block0.m(t0.parentNode, t0);
@@ -8196,88 +9463,99 @@ function create_fragment54(ctx) {
8196
9463
  });
8197
9464
  check_outros();
8198
9465
  }
8199
- const button0_changes = dirty[0] & 294912 ? get_spread_update(button0_spread_levels, [
9466
+ const button0_changes = dirty[0] & 2359296 ? get_spread_update(button0_spread_levels, [
8200
9467
  button0_spread_levels[0],
8201
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8202
- dirty[0] & 262144 && { content: ctx2[18].clicker }
9468
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9469
+ dirty[0] & 2097152 && { content: ctx2[21].clicker }
8203
9470
  ]) : {};
8204
- if (dirty[0] & 258 | dirty[1] & 524288) {
9471
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8205
9472
  button0_changes.$$scope = { dirty, ctx: ctx2 };
8206
9473
  }
8207
9474
  button0.$set(button0_changes);
8208
- const button1_changes = dirty[0] & 294912 ? get_spread_update(button1_spread_levels, [
9475
+ const button1_changes = dirty[0] & 2359296 ? get_spread_update(button1_spread_levels, [
8209
9476
  button1_spread_levels[0],
8210
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8211
- dirty[0] & 262144 && { content: ctx2[18].selector }
9477
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9478
+ dirty[0] & 2097152 && { content: ctx2[21].selector }
8212
9479
  ]) : {};
8213
- if (dirty[0] & 258 | dirty[1] & 524288) {
9480
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8214
9481
  button1_changes.$$scope = { dirty, ctx: ctx2 };
8215
9482
  }
8216
9483
  button1.$set(button1_changes);
8217
- const button2_changes = dirty[0] & 296960 ? get_spread_update(button2_spread_levels, [
9484
+ const button2_changes = dirty[0] & 2367488 ? get_spread_update(button2_spread_levels, [
8218
9485
  button2_spread_levels[0],
8219
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8220
- dirty[0] & 262144 && { content: ctx2[18].pencil },
8221
- dirty[0] & 2048 && { menu: ctx2[11] }
9486
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9487
+ dirty[0] & 2097152 && { content: ctx2[21].pencil },
9488
+ dirty[0] & 8192 && { menu: ctx2[13] }
8222
9489
  ]) : {};
8223
- if (dirty[0] & 258 | dirty[1] & 524288) {
9490
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8224
9491
  button2_changes.$$scope = { dirty, ctx: ctx2 };
8225
9492
  }
8226
9493
  button2.$set(button2_changes);
8227
- const button3_changes = dirty[0] & 299008 ? get_spread_update(button3_spread_levels, [
9494
+ const button3_changes = dirty[0] & 2375680 ? get_spread_update(button3_spread_levels, [
8228
9495
  button3_spread_levels[0],
8229
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8230
- dirty[0] & 262144 && { content: ctx2[18].text },
8231
- dirty[0] & 4096 && { menu: ctx2[12] }
9496
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9497
+ dirty[0] & 2097152 && { content: ctx2[21].text },
9498
+ dirty[0] & 16384 && { menu: ctx2[14] }
8232
9499
  ]) : {};
8233
- if (dirty[0] & 258 | dirty[1] & 524288) {
9500
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8234
9501
  button3_changes.$$scope = { dirty, ctx: ctx2 };
8235
9502
  }
8236
9503
  button3.$set(button3_changes);
8237
- const button4_changes = dirty[0] & 41472 ? get_spread_update(button4_spread_levels, [
9504
+ const button4_changes = dirty[0] & 295936 ? get_spread_update(button4_spread_levels, [
8238
9505
  button4_spread_levels[0],
8239
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8240
- dirty[0] & 512 && { content: ctx2[9].shapes },
8241
- dirty[0] & 8192 && { menu: ctx2[13] }
9506
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9507
+ dirty[0] & 1024 && { content: ctx2[10].shapes },
9508
+ dirty[0] & 32768 && { menu: ctx2[15] }
8242
9509
  ]) : {};
8243
- if (dirty[0] & 1410 | dirty[1] & 524288) {
9510
+ if (dirty[0] & 2818 | dirty[1] & 33554432) {
8244
9511
  button4_changes.$$scope = { dirty, ctx: ctx2 };
8245
9512
  }
8246
9513
  button4.$set(button4_changes);
8247
- const button5_changes = dirty[0] & 294912 ? get_spread_update(button5_spread_levels, [
9514
+ let previous_block_index = current_block_type_index;
9515
+ current_block_type_index = select_block_type_5(ctx2);
9516
+ if (current_block_type_index === previous_block_index) {
9517
+ if_blocks[current_block_type_index].p(ctx2, dirty);
9518
+ } else {
9519
+ group_outros();
9520
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
9521
+ if_blocks[previous_block_index] = null;
9522
+ });
9523
+ check_outros();
9524
+ if_block1 = if_blocks[current_block_type_index];
9525
+ if (!if_block1) {
9526
+ if_block1 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
9527
+ if_block1.c();
9528
+ } else {
9529
+ if_block1.p(ctx2, dirty);
9530
+ }
9531
+ transition_in(if_block1, 1);
9532
+ if_block1.m(div0, t6);
9533
+ }
9534
+ const button5_changes = dirty[0] & 263168 ? get_spread_update(button5_spread_levels, [
8248
9535
  button5_spread_levels[0],
8249
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8250
- dirty[0] & 262144 && { content: ctx2[18].eraser }
9536
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9537
+ dirty[0] & 1024 && { content: ctx2[10].clear }
8251
9538
  ]) : {};
8252
- if (dirty[0] & 258 | dirty[1] & 524288) {
9539
+ if (dirty[0] & 2 | dirty[1] & 33554432) {
8253
9540
  button5_changes.$$scope = { dirty, ctx: ctx2 };
8254
9541
  }
8255
9542
  button5.$set(button5_changes);
8256
- const button6_changes = dirty[0] & 33280 ? get_spread_update(button6_spread_levels, [
8257
- button6_spread_levels[0],
8258
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8259
- dirty[0] & 512 && { content: ctx2[9].clear }
8260
- ]) : {};
8261
- if (dirty[0] & 2 | dirty[1] & 524288) {
8262
- button6_changes.$$scope = { dirty, ctx: ctx2 };
8263
- }
8264
- button6.$set(button6_changes);
8265
9543
  if (!ctx2[6]) {
8266
- if (if_block1) {
8267
- if_block1.p(ctx2, dirty);
9544
+ if (if_block2) {
9545
+ if_block2.p(ctx2, dirty);
8268
9546
  if (dirty[0] & 64) {
8269
- transition_in(if_block1, 1);
9547
+ transition_in(if_block2, 1);
8270
9548
  }
8271
9549
  } else {
8272
- if_block1 = create_if_block_12(ctx2);
8273
- if_block1.c();
8274
- transition_in(if_block1, 1);
8275
- if_block1.m(div0, null);
9550
+ if_block2 = create_if_block_6(ctx2);
9551
+ if_block2.c();
9552
+ transition_in(if_block2, 1);
9553
+ if_block2.m(div0, null);
8276
9554
  }
8277
- } else if (if_block1) {
9555
+ } else if (if_block2) {
8278
9556
  group_outros();
8279
- transition_out(if_block1, 1, 1, () => {
8280
- if_block1 = null;
9557
+ transition_out(if_block2, 1, 1, () => {
9558
+ if_block2 = null;
8281
9559
  });
8282
9560
  check_outros();
8283
9561
  }
@@ -8287,21 +9565,21 @@ function create_fragment54(ctx) {
8287
9565
  toggle_class(div0, "scrollable", ctx2[5]);
8288
9566
  }
8289
9567
  if (ctx2[5]) {
8290
- if (if_block2) {
8291
- if_block2.p(ctx2, dirty);
9568
+ if (if_block3) {
9569
+ if_block3.p(ctx2, dirty);
8292
9570
  if (dirty[0] & 32) {
8293
- transition_in(if_block2, 1);
9571
+ transition_in(if_block3, 1);
8294
9572
  }
8295
9573
  } else {
8296
- if_block2 = create_if_block6(ctx2);
8297
- if_block2.c();
8298
- transition_in(if_block2, 1);
8299
- if_block2.m(t9.parentNode, t9);
9574
+ if_block3 = create_if_block_5(ctx2);
9575
+ if_block3.c();
9576
+ transition_in(if_block3, 1);
9577
+ if_block3.m(t9.parentNode, t9);
8300
9578
  }
8301
- } else if (if_block2) {
9579
+ } else if (if_block3) {
8302
9580
  group_outros();
8303
- transition_out(if_block2, 1, 1, () => {
8304
- if_block2 = null;
9581
+ transition_out(if_block3, 1, 1, () => {
9582
+ if_block3 = null;
8305
9583
  });
8306
9584
  check_outros();
8307
9585
  }
@@ -8355,8 +9633,36 @@ function create_fragment54(ctx) {
8355
9633
  if (dirty[0] & 8)
8356
9634
  strokecolor1_changes.disabled = ctx2[3];
8357
9635
  strokecolor1.$set(strokecolor1_changes);
8358
- if (dirty[0] & 1572867) {
8359
- each_value = ctx2[19];
9636
+ let previous_block_index_1 = current_block_type_index_1;
9637
+ current_block_type_index_1 = select_block_type_9(ctx2);
9638
+ if (current_block_type_index_1 === previous_block_index_1) {
9639
+ if (~current_block_type_index_1) {
9640
+ if_blocks_1[current_block_type_index_1].p(ctx2, dirty);
9641
+ }
9642
+ } else {
9643
+ if (if_block4) {
9644
+ group_outros();
9645
+ transition_out(if_blocks_1[previous_block_index_1], 1, 1, () => {
9646
+ if_blocks_1[previous_block_index_1] = null;
9647
+ });
9648
+ check_outros();
9649
+ }
9650
+ if (~current_block_type_index_1) {
9651
+ if_block4 = if_blocks_1[current_block_type_index_1];
9652
+ if (!if_block4) {
9653
+ if_block4 = if_blocks_1[current_block_type_index_1] = if_block_creators_1[current_block_type_index_1](ctx2);
9654
+ if_block4.c();
9655
+ } else {
9656
+ if_block4.p(ctx2, dirty);
9657
+ }
9658
+ transition_in(if_block4, 1);
9659
+ if_block4.m(div7, null);
9660
+ } else {
9661
+ if_block4 = null;
9662
+ }
9663
+ }
9664
+ if (dirty[0] & 12582915) {
9665
+ each_value = ctx2[22];
8360
9666
  let i;
8361
9667
  for (i = 0; i < each_value.length; i += 1) {
8362
9668
  const child_ctx = get_each_context4(ctx2, each_value, i);
@@ -8365,7 +9671,7 @@ function create_fragment54(ctx) {
8365
9671
  } else {
8366
9672
  each_blocks[i] = create_each_block4(child_ctx);
8367
9673
  each_blocks[i].c();
8368
- each_blocks[i].m(div7, null);
9674
+ each_blocks[i].m(div8, null);
8369
9675
  }
8370
9676
  }
8371
9677
  for (; i < each_blocks.length; i += 1) {
@@ -8373,8 +9679,8 @@ function create_fragment54(ctx) {
8373
9679
  }
8374
9680
  each_blocks.length = each_value.length;
8375
9681
  }
8376
- if (!current || dirty[0] & 524288) {
8377
- set_style(div7, "--n", ctx2[19].length);
9682
+ if (!current || dirty[0] & 4194304) {
9683
+ set_style(div8, "--n", ctx2[22].length);
8378
9684
  }
8379
9685
  },
8380
9686
  i(local) {
@@ -8386,16 +9692,17 @@ function create_fragment54(ctx) {
8386
9692
  transition_in(button2.$$.fragment, local);
8387
9693
  transition_in(button3.$$.fragment, local);
8388
9694
  transition_in(button4.$$.fragment, local);
8389
- transition_in(button5.$$.fragment, local);
8390
- transition_in(button6.$$.fragment, local);
8391
9695
  transition_in(if_block1);
9696
+ transition_in(button5.$$.fragment, local);
8392
9697
  transition_in(if_block2);
9698
+ transition_in(if_block3);
8393
9699
  transition_in(strokewidth0.$$.fragment, local);
8394
9700
  transition_in(strokecolor0.$$.fragment, local);
8395
9701
  transition_in(textcolor.$$.fragment, local);
8396
9702
  transition_in(shapes2.$$.fragment, local);
8397
9703
  transition_in(strokewidth1.$$.fragment, local);
8398
9704
  transition_in(strokecolor1.$$.fragment, local);
9705
+ transition_in(if_block4);
8399
9706
  current = true;
8400
9707
  },
8401
9708
  o(local) {
@@ -8405,16 +9712,17 @@ function create_fragment54(ctx) {
8405
9712
  transition_out(button2.$$.fragment, local);
8406
9713
  transition_out(button3.$$.fragment, local);
8407
9714
  transition_out(button4.$$.fragment, local);
8408
- transition_out(button5.$$.fragment, local);
8409
- transition_out(button6.$$.fragment, local);
8410
9715
  transition_out(if_block1);
9716
+ transition_out(button5.$$.fragment, local);
8411
9717
  transition_out(if_block2);
9718
+ transition_out(if_block3);
8412
9719
  transition_out(strokewidth0.$$.fragment, local);
8413
9720
  transition_out(strokecolor0.$$.fragment, local);
8414
9721
  transition_out(textcolor.$$.fragment, local);
8415
9722
  transition_out(shapes2.$$.fragment, local);
8416
9723
  transition_out(strokewidth1.$$.fragment, local);
8417
9724
  transition_out(strokecolor1.$$.fragment, local);
9725
+ transition_out(if_block4);
8418
9726
  current = false;
8419
9727
  },
8420
9728
  d(detaching) {
@@ -8429,36 +9737,40 @@ function create_fragment54(ctx) {
8429
9737
  destroy_component(button2);
8430
9738
  destroy_component(button3);
8431
9739
  destroy_component(button4);
9740
+ if_blocks[current_block_type_index].d();
8432
9741
  destroy_component(button5);
8433
- destroy_component(button6);
8434
- if (if_block1)
8435
- if_block1.d();
9742
+ if (if_block2)
9743
+ if_block2.d();
8436
9744
  if (detaching)
8437
9745
  detach(t8);
8438
- if (if_block2)
8439
- if_block2.d(detaching);
9746
+ if (if_block3)
9747
+ if_block3.d(detaching);
8440
9748
  if (detaching)
8441
9749
  detach(t9);
8442
9750
  if (detaching)
8443
- detach(div8);
9751
+ detach(div9);
8444
9752
  destroy_component(strokewidth0);
8445
9753
  destroy_component(strokecolor0);
8446
- ctx[35](null);
9754
+ ctx[40](null);
8447
9755
  destroy_component(textcolor);
8448
- ctx[36](null);
9756
+ ctx[41](null);
8449
9757
  destroy_component(shapes2);
8450
9758
  destroy_component(strokewidth1);
8451
9759
  destroy_component(strokecolor1);
8452
- ctx[37](null);
9760
+ ctx[42](null);
9761
+ if (~current_block_type_index_1) {
9762
+ if_blocks_1[current_block_type_index_1].d();
9763
+ }
9764
+ ctx[43](null);
8453
9765
  destroy_each(each_blocks, detaching);
8454
- ctx[38](null);
9766
+ ctx[44](null);
8455
9767
  mounted = false;
8456
9768
  run_all(dispose);
8457
9769
  }
8458
9770
  };
8459
9771
  }
8460
9772
  var name5 = "fastboard-toolbar";
8461
- function instance54($$self, $$props, $$invalidate) {
9773
+ function instance57($$self, $$props, $$invalidate) {
8462
9774
  let t;
8463
9775
  let hotkeys;
8464
9776
  let c;
@@ -8468,11 +9780,11 @@ function instance54($$self, $$props, $$invalidate) {
8468
9780
  let status;
8469
9781
  let max_scroll;
8470
9782
  let $top;
8471
- let $scroll_height, $$unsubscribe_scroll_height = noop, $$subscribe_scroll_height = () => ($$unsubscribe_scroll_height(), $$unsubscribe_scroll_height = subscribe(scroll_height, ($$value) => $$invalidate(33, $scroll_height = $$value)), scroll_height);
8472
- let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(34, $memberState = $$value)), memberState);
8473
- let $apps;
8474
- let $status, $$unsubscribe_status = noop, $$subscribe_status = () => ($$unsubscribe_status(), $$unsubscribe_status = subscribe(status, ($$value) => $$invalidate(20, $status = $$value)), status);
8475
- component_subscribe($$self, apps, ($$value) => $$invalidate(19, $apps = $$value));
9783
+ let $scroll_height, $$unsubscribe_scroll_height = noop, $$subscribe_scroll_height = () => ($$unsubscribe_scroll_height(), $$unsubscribe_scroll_height = subscribe(scroll_height, ($$value) => $$invalidate(38, $scroll_height = $$value)), scroll_height);
9784
+ let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(39, $memberState = $$value)), memberState);
9785
+ let $stockedApps;
9786
+ let $status, $$unsubscribe_status = noop, $$subscribe_status = () => ($$unsubscribe_status(), $$unsubscribe_status = subscribe(status, ($$value) => $$invalidate(23, $status = $$value)), status);
9787
+ component_subscribe($$self, stockedApps, ($$value) => $$invalidate(22, $stockedApps = $$value));
8476
9788
  $$self.$$.on_destroy.push(() => $$unsubscribe_scroll_height());
8477
9789
  $$self.$$.on_destroy.push(() => $$unsubscribe_memberState());
8478
9790
  $$self.$$.on_destroy.push(() => $$unsubscribe_status());
@@ -8485,14 +9797,17 @@ function instance54($$self, $$props, $$invalidate) {
8485
9797
  let { computed_height = 0 } = $$props;
8486
9798
  let { scrollable = false } = $$props;
8487
9799
  let { hide_apps = false } = $$props;
9800
+ let { eraser_type = "both" } = $$props;
8488
9801
  let last_shape = "rectangle";
9802
+ let last_eraser = "pencilEraser";
8489
9803
  let pencil_panel;
8490
9804
  let text_panel;
8491
9805
  let shapes_panel;
9806
+ let eraser_panel;
8492
9807
  let apps_panel;
8493
9808
  let btn_props;
8494
9809
  let top = writable(0);
8495
- component_subscribe($$self, top, (value) => $$invalidate(40, $top = value));
9810
+ component_subscribe($$self, top, (value) => $$invalidate(46, $top = value));
8496
9811
  function scroll_up() {
8497
9812
  set_store_value(top, $top = clamp($top - 32 - 4, 0, max_scroll), $top);
8498
9813
  }
@@ -8518,34 +9833,46 @@ function instance54($$self, $$props, $$invalidate) {
8518
9833
  app?.setAppliance("shape", last_shape);
8519
9834
  }
8520
9835
  }
8521
- function eraser() {
9836
+ function select_last_eraser() {
9837
+ app?.setAppliance(last_eraser);
9838
+ }
9839
+ function select_eraser() {
8522
9840
  app?.setAppliance("eraser");
8523
9841
  }
9842
+ function select_pencil_eraser() {
9843
+ app?.setAppliance("pencilEraser");
9844
+ }
8524
9845
  function clear() {
8525
9846
  app?.cleanCurrentScene();
8526
9847
  }
8527
9848
  function div2_binding($$value) {
8528
9849
  binding_callbacks[$$value ? "unshift" : "push"](() => {
8529
9850
  pencil_panel = $$value;
8530
- $$invalidate(11, pencil_panel);
9851
+ $$invalidate(13, pencil_panel);
8531
9852
  });
8532
9853
  }
8533
9854
  function div3_binding($$value) {
8534
9855
  binding_callbacks[$$value ? "unshift" : "push"](() => {
8535
9856
  text_panel = $$value;
8536
- $$invalidate(12, text_panel);
9857
+ $$invalidate(14, text_panel);
8537
9858
  });
8538
9859
  }
8539
9860
  function div6_binding($$value) {
8540
9861
  binding_callbacks[$$value ? "unshift" : "push"](() => {
8541
9862
  shapes_panel = $$value;
8542
- $$invalidate(13, shapes_panel);
9863
+ $$invalidate(15, shapes_panel);
8543
9864
  });
8544
9865
  }
8545
9866
  function div7_binding($$value) {
9867
+ binding_callbacks[$$value ? "unshift" : "push"](() => {
9868
+ eraser_panel = $$value;
9869
+ $$invalidate(16, eraser_panel);
9870
+ });
9871
+ }
9872
+ function div8_binding($$value) {
8546
9873
  binding_callbacks[$$value ? "unshift" : "push"](() => {
8547
9874
  apps_panel = $$value;
8548
- $$invalidate(14, apps_panel);
9875
+ $$invalidate(17, apps_panel);
8549
9876
  });
8550
9877
  }
8551
9878
  $$self.$$set = ($$props2) => {
@@ -8560,15 +9887,17 @@ function instance54($$self, $$props, $$invalidate) {
8560
9887
  if ("scroll_height" in $$props2)
8561
9888
  $$subscribe_scroll_height($$invalidate(4, scroll_height = $$props2.scroll_height));
8562
9889
  if ("computed_height" in $$props2)
8563
- $$invalidate(31, computed_height = $$props2.computed_height);
9890
+ $$invalidate(36, computed_height = $$props2.computed_height);
8564
9891
  if ("scrollable" in $$props2)
8565
9892
  $$invalidate(5, scrollable = $$props2.scrollable);
8566
9893
  if ("hide_apps" in $$props2)
8567
9894
  $$invalidate(6, hide_apps = $$props2.hide_apps);
9895
+ if ("eraser_type" in $$props2)
9896
+ $$invalidate(7, eraser_type = $$props2.eraser_type);
8568
9897
  };
8569
9898
  $$self.$$.update = () => {
8570
9899
  if ($$self.$$.dirty[0] & 10) {
8571
- $$invalidate(15, btn_props = {
9900
+ $$invalidate(18, btn_props = {
8572
9901
  name: name5,
8573
9902
  theme,
8574
9903
  disabled,
@@ -8576,40 +9905,48 @@ function instance54($$self, $$props, $$invalidate) {
8576
9905
  });
8577
9906
  }
8578
9907
  if ($$self.$$.dirty[0] & 4) {
8579
- $$invalidate(9, t = i18n4[language]);
9908
+ $$invalidate(10, t = i18n4[language]);
8580
9909
  }
8581
9910
  if ($$self.$$.dirty[0] & 1) {
8582
- $$invalidate(32, hotkeys = app?.hotKeys);
9911
+ $$invalidate(37, hotkeys = app?.hotKeys);
8583
9912
  }
8584
- if ($$self.$$.dirty[0] & 512 | $$self.$$.dirty[1] & 2) {
8585
- $$invalidate(18, c = {
9913
+ if ($$self.$$.dirty[0] & 1024 | $$self.$$.dirty[1] & 64) {
9914
+ $$invalidate(21, c = {
8586
9915
  clicker: tooltip(t.clicker, hotkeys?.changeToClick),
8587
9916
  selector: tooltip(t.selector, hotkeys?.changeToSelector),
8588
9917
  pencil: tooltip(t.pencil, hotkeys?.changeToPencil),
8589
9918
  eraser: tooltip(t.eraser, hotkeys?.changeToEraser),
9919
+ pencilEraser: tooltip(t.pencilEraser, hotkeys?.changeToPencilEraser),
9920
+ eraserForPanel: tooltip(t.eraser, hotkeys?.changeToEraser),
9921
+ pencilEraserForPanel: tooltip(t.pencilEraser, hotkeys?.changeToPencilEraser),
8590
9922
  text: tooltip(t.text, hotkeys?.changeToText)
8591
9923
  });
8592
9924
  }
8593
9925
  if ($$self.$$.dirty[0] & 1) {
8594
- $$subscribe_memberState($$invalidate(17, memberState = app?.memberState));
9926
+ $$subscribe_memberState($$invalidate(20, memberState = app?.memberState));
8595
9927
  }
8596
- if ($$self.$$.dirty[1] & 8) {
9928
+ if ($$self.$$.dirty[1] & 256) {
8597
9929
  $$invalidate(8, appliance = $memberState?.currentApplianceName);
8598
9930
  }
8599
- if ($$self.$$.dirty[1] & 8) {
8600
- $$invalidate(7, shape = $memberState?.shapeType);
9931
+ if ($$self.$$.dirty[1] & 256) {
9932
+ $$invalidate(9, shape = $memberState?.shapeType);
8601
9933
  }
8602
9934
  if ($$self.$$.dirty[0] & 1) {
8603
- $$subscribe_status($$invalidate(16, status = app?.appsStatus));
9935
+ $$subscribe_status($$invalidate(19, status = app?.appsStatus));
8604
9936
  }
8605
- if ($$self.$$.dirty[0] & 384) {
9937
+ if ($$self.$$.dirty[0] & 768) {
8606
9938
  if (applianceShapes.includes(appliance)) {
8607
- $$invalidate(10, last_shape = appliance);
9939
+ $$invalidate(11, last_shape = appliance);
8608
9940
  } else if (shape) {
8609
- $$invalidate(10, last_shape = shape);
9941
+ $$invalidate(11, last_shape = shape);
8610
9942
  }
8611
9943
  }
8612
- if ($$self.$$.dirty[0] & 32 | $$self.$$.dirty[1] & 5) {
9944
+ if ($$self.$$.dirty[0] & 256) {
9945
+ if (["pencilEraser", "eraser"].includes(appliance)) {
9946
+ $$invalidate(12, last_eraser = appliance);
9947
+ }
9948
+ }
9949
+ if ($$self.$$.dirty[0] & 32 | $$self.$$.dirty[1] & 160) {
8613
9950
  max_scroll = scrollable ? $scroll_height + (32 + 8) * 2 - computed_height : 0;
8614
9951
  }
8615
9952
  };
@@ -8621,19 +9958,22 @@ function instance54($$self, $$props, $$invalidate) {
8621
9958
  scroll_height,
8622
9959
  scrollable,
8623
9960
  hide_apps,
8624
- shape,
9961
+ eraser_type,
8625
9962
  appliance,
9963
+ shape,
8626
9964
  t,
8627
9965
  last_shape,
9966
+ last_eraser,
8628
9967
  pencil_panel,
8629
9968
  text_panel,
8630
9969
  shapes_panel,
9970
+ eraser_panel,
8631
9971
  apps_panel,
8632
9972
  btn_props,
8633
9973
  status,
8634
9974
  memberState,
8635
9975
  c,
8636
- $apps,
9976
+ $stockedApps,
8637
9977
  $status,
8638
9978
  top,
8639
9979
  scroll_up,
@@ -8643,7 +9983,9 @@ function instance54($$self, $$props, $$invalidate) {
8643
9983
  pencil,
8644
9984
  text2,
8645
9985
  select_last_shape,
8646
- eraser,
9986
+ select_last_eraser,
9987
+ select_eraser,
9988
+ select_pencil_eraser,
8647
9989
  clear,
8648
9990
  computed_height,
8649
9991
  hotkeys,
@@ -8652,7 +9994,8 @@ function instance54($$self, $$props, $$invalidate) {
8652
9994
  div2_binding,
8653
9995
  div3_binding,
8654
9996
  div6_binding,
8655
- div7_binding
9997
+ div7_binding,
9998
+ div8_binding
8656
9999
  ];
8657
10000
  }
8658
10001
  var Contents = class extends SvelteComponent {
@@ -8661,8 +10004,8 @@ var Contents = class extends SvelteComponent {
8661
10004
  init(
8662
10005
  this,
8663
10006
  options,
8664
- instance54,
8665
- create_fragment54,
10007
+ instance57,
10008
+ create_fragment57,
8666
10009
  safe_not_equal,
8667
10010
  {
8668
10011
  app: 0,
@@ -8670,9 +10013,10 @@ var Contents = class extends SvelteComponent {
8670
10013
  language: 2,
8671
10014
  disabled: 3,
8672
10015
  scroll_height: 4,
8673
- computed_height: 31,
10016
+ computed_height: 36,
8674
10017
  scrollable: 5,
8675
- hide_apps: 6
10018
+ hide_apps: 6,
10019
+ eraser_type: 7
8676
10020
  },
8677
10021
  null,
8678
10022
  [-1, -1]
@@ -8738,7 +10082,7 @@ function create_if_block7(ctx) {
8738
10082
  }
8739
10083
  };
8740
10084
  }
8741
- function create_fragment55(ctx) {
10085
+ function create_fragment58(ctx) {
8742
10086
  let div1;
8743
10087
  let div0;
8744
10088
  let contents;
@@ -8760,11 +10104,12 @@ function create_fragment55(ctx) {
8760
10104
  app: ctx[0],
8761
10105
  theme: ctx[1],
8762
10106
  language: ctx[2],
8763
- disabled: ctx[7],
8764
- scroll_height: ctx[10],
8765
- computed_height: ctx[6],
8766
- scrollable: ctx[5],
8767
- hide_apps: ctx[4]
10107
+ disabled: ctx[8],
10108
+ scroll_height: ctx[11],
10109
+ computed_height: ctx[7],
10110
+ scrollable: ctx[6],
10111
+ hide_apps: ctx[5],
10112
+ eraser_type: ctx[4]
8768
10113
  }
8769
10114
  });
8770
10115
  function select_block_type(ctx2, dirty) {
@@ -8791,7 +10136,7 @@ function create_fragment55(ctx) {
8791
10136
  set_style(
8792
10137
  div0,
8793
10138
  "height",
8794
- ctx[5] ? ctx[6] + "px" : "auto",
10139
+ ctx[6] ? ctx[7] + "px" : "auto",
8795
10140
  false
8796
10141
  );
8797
10142
  attr(input, "type", "checkbox");
@@ -8825,8 +10170,8 @@ function create_fragment55(ctx) {
8825
10170
  current = true;
8826
10171
  if (!mounted) {
8827
10172
  dispose = [
8828
- listen(input, "change", ctx[15]),
8829
- action_destroyer(height.call(null, div1, ctx[9]))
10173
+ listen(input, "change", ctx[16]),
10174
+ action_destroyer(height.call(null, div1, ctx[10]))
8830
10175
  ];
8831
10176
  mounted = true;
8832
10177
  }
@@ -8839,23 +10184,25 @@ function create_fragment55(ctx) {
8839
10184
  contents_changes.theme = ctx2[1];
8840
10185
  if (dirty & 4)
8841
10186
  contents_changes.language = ctx2[2];
10187
+ if (dirty & 256)
10188
+ contents_changes.disabled = ctx2[8];
8842
10189
  if (dirty & 128)
8843
- contents_changes.disabled = ctx2[7];
10190
+ contents_changes.computed_height = ctx2[7];
8844
10191
  if (dirty & 64)
8845
- contents_changes.computed_height = ctx2[6];
10192
+ contents_changes.scrollable = ctx2[6];
8846
10193
  if (dirty & 32)
8847
- contents_changes.scrollable = ctx2[5];
10194
+ contents_changes.hide_apps = ctx2[5];
8848
10195
  if (dirty & 16)
8849
- contents_changes.hide_apps = ctx2[4];
10196
+ contents_changes.eraser_type = ctx2[4];
8850
10197
  contents.$set(contents_changes);
8851
10198
  if (!current || dirty & 2 && div0_class_value !== (div0_class_value = name6 + "-contents " + ctx2[1])) {
8852
10199
  attr(div0, "class", div0_class_value);
8853
10200
  }
8854
- if (dirty & 96) {
10201
+ if (dirty & 192) {
8855
10202
  set_style(
8856
10203
  div0,
8857
10204
  "height",
8858
- ctx2[5] ? ctx2[6] + "px" : "auto",
10205
+ ctx2[6] ? ctx2[7] + "px" : "auto",
8859
10206
  false
8860
10207
  );
8861
10208
  }
@@ -8903,15 +10250,16 @@ function create_fragment55(ctx) {
8903
10250
  };
8904
10251
  }
8905
10252
  var name6 = "fastboard-toolbar";
8906
- function instance55($$self, $$props, $$invalidate) {
10253
+ function instance58($$self, $$props, $$invalidate) {
8907
10254
  let writable2;
8908
10255
  let disabled;
8909
10256
  let computed_height;
8910
10257
  let scrollable;
8911
10258
  let hide_apps;
10259
+ let eraser_type;
8912
10260
  let $container_height;
8913
10261
  let $scroll_height;
8914
- let $writable, $$unsubscribe_writable = noop, $$subscribe_writable = () => ($$unsubscribe_writable(), $$unsubscribe_writable = subscribe(writable2, ($$value) => $$invalidate(14, $writable = $$value)), writable2);
10262
+ let $writable, $$unsubscribe_writable = noop, $$subscribe_writable = () => ($$unsubscribe_writable(), $$unsubscribe_writable = subscribe(writable2, ($$value) => $$invalidate(15, $writable = $$value)), writable2);
8915
10263
  $$self.$$.on_destroy.push(() => $$unsubscribe_writable());
8916
10264
  let { app = null } = $$props;
8917
10265
  let { theme = "light" } = $$props;
@@ -8920,9 +10268,9 @@ function instance55($$self, $$props, $$invalidate) {
8920
10268
  const extra_height = (32 + 4 + 4) * 2;
8921
10269
  let collapsed = false;
8922
10270
  let container_height = writable(0);
8923
- component_subscribe($$self, container_height, (value) => $$invalidate(12, $container_height = value));
10271
+ component_subscribe($$self, container_height, (value) => $$invalidate(13, $container_height = value));
8924
10272
  let scroll_height = writable(0);
8925
- component_subscribe($$self, scroll_height, (value) => $$invalidate(13, $scroll_height = value));
10273
+ component_subscribe($$self, scroll_height, (value) => $$invalidate(14, $scroll_height = value));
8926
10274
  function input_change_handler() {
8927
10275
  collapsed = this.checked;
8928
10276
  $$invalidate(3, collapsed);
@@ -8935,23 +10283,26 @@ function instance55($$self, $$props, $$invalidate) {
8935
10283
  if ("language" in $$props2)
8936
10284
  $$invalidate(2, language = $$props2.language);
8937
10285
  if ("config" in $$props2)
8938
- $$invalidate(11, config = $$props2.config);
10286
+ $$invalidate(12, config = $$props2.config);
8939
10287
  };
8940
10288
  $$self.$$.update = () => {
8941
10289
  if ($$self.$$.dirty & 1) {
8942
- $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
10290
+ $$subscribe_writable($$invalidate(9, writable2 = app?.writable));
8943
10291
  }
8944
- if ($$self.$$.dirty & 16384) {
8945
- $$invalidate(7, disabled = !$writable);
10292
+ if ($$self.$$.dirty & 32768) {
10293
+ $$invalidate(8, disabled = !$writable);
8946
10294
  }
8947
- if ($$self.$$.dirty & 12288) {
8948
- $$invalidate(6, computed_height = clamp($container_height, extra_height, $scroll_height + extra_height));
10295
+ if ($$self.$$.dirty & 24576) {
10296
+ $$invalidate(7, computed_height = clamp($container_height, extra_height, $scroll_height + extra_height));
8949
10297
  }
8950
- if ($$self.$$.dirty & 12288) {
8951
- $$invalidate(5, scrollable = $scroll_height + extra_height > $container_height);
10298
+ if ($$self.$$.dirty & 24576) {
10299
+ $$invalidate(6, scrollable = $scroll_height + extra_height > $container_height);
8952
10300
  }
8953
- if ($$self.$$.dirty & 2048) {
8954
- $$invalidate(4, hide_apps = config.apps?.enable === false);
10301
+ if ($$self.$$.dirty & 4096) {
10302
+ $$invalidate(5, hide_apps = config.apps?.enable === false);
10303
+ }
10304
+ if ($$self.$$.dirty & 4096) {
10305
+ $$invalidate(4, eraser_type = config.eraser?.behavior || "both");
8955
10306
  }
8956
10307
  };
8957
10308
  return [
@@ -8959,6 +10310,7 @@ function instance55($$self, $$props, $$invalidate) {
8959
10310
  theme,
8960
10311
  language,
8961
10312
  collapsed,
10313
+ eraser_type,
8962
10314
  hide_apps,
8963
10315
  scrollable,
8964
10316
  computed_height,
@@ -8976,11 +10328,11 @@ function instance55($$self, $$props, $$invalidate) {
8976
10328
  var Toolbar = class extends SvelteComponent {
8977
10329
  constructor(options) {
8978
10330
  super();
8979
- init(this, options, instance55, create_fragment55, safe_not_equal, {
10331
+ init(this, options, instance58, create_fragment58, safe_not_equal, {
8980
10332
  app: 0,
8981
10333
  theme: 1,
8982
10334
  language: 2,
8983
- config: 11
10335
+ config: 12
8984
10336
  });
8985
10337
  }
8986
10338
  };
@@ -9078,7 +10430,7 @@ function create_if_block_22(ctx) {
9078
10430
  }
9079
10431
  };
9080
10432
  }
9081
- function create_if_block_13(ctx) {
10433
+ function create_if_block_19(ctx) {
9082
10434
  let icon;
9083
10435
  let current;
9084
10436
  icon = new Icon_default({
@@ -9225,7 +10577,7 @@ function create_default_slot_25(ctx) {
9225
10577
  let if_block;
9226
10578
  let if_block_anchor;
9227
10579
  let current;
9228
- const if_block_creators = [create_if_block_13, create_if_block_22, create_else_block_13];
10580
+ const if_block_creators = [create_if_block_19, create_if_block_22, create_else_block_13];
9229
10581
  const if_blocks = [];
9230
10582
  function select_block_type(ctx2, dirty) {
9231
10583
  if (ctx2[3])
@@ -9533,7 +10885,7 @@ function create_each_block5(key_1, ctx) {
9533
10885
  }
9534
10886
  };
9535
10887
  }
9536
- function create_fragment56(ctx) {
10888
+ function create_fragment59(ctx) {
9537
10889
  let div0;
9538
10890
  let button0;
9539
10891
  let t0;
@@ -9736,7 +11088,7 @@ function format(ms) {
9736
11088
  return String(m).padStart(2, "0") + ":" + String(s % 60).padStart(2, "0");
9737
11089
  }
9738
11090
  var name7 = "fastboard-player-control";
9739
- function instance56($$self, $$props, $$invalidate) {
11091
+ function instance59($$self, $$props, $$invalidate) {
9740
11092
  let t;
9741
11093
  let canPlay;
9742
11094
  let disabled;
@@ -9870,7 +11222,7 @@ function instance56($$self, $$props, $$invalidate) {
9870
11222
  var PlayerControl = class extends SvelteComponent {
9871
11223
  constructor(options) {
9872
11224
  super();
9873
- init(this, options, instance56, create_fragment56, safe_not_equal, {
11225
+ init(this, options, instance59, create_fragment59, safe_not_equal, {
9874
11226
  player: 19,
9875
11227
  theme: 0,
9876
11228
  language: 20,
@@ -9927,7 +11279,7 @@ function create_if_block9(ctx) {
9927
11279
  }
9928
11280
  };
9929
11281
  }
9930
- function create_fragment57(ctx) {
11282
+ function create_fragment60(ctx) {
9931
11283
  let div2;
9932
11284
  let div0;
9933
11285
  let t;
@@ -10009,7 +11361,7 @@ function create_fragment57(ctx) {
10009
11361
  };
10010
11362
  }
10011
11363
  var name8 = "fastboard";
10012
- function instance57($$self, $$props, $$invalidate) {
11364
+ function instance60($$self, $$props, $$invalidate) {
10013
11365
  let { player = null } = $$props;
10014
11366
  let { theme = "light" } = $$props;
10015
11367
  let { language = "en" } = $$props;
@@ -10082,7 +11434,7 @@ function instance57($$self, $$props, $$invalidate) {
10082
11434
  var ReplayFastboard = class extends SvelteComponent {
10083
11435
  constructor(options) {
10084
11436
  super();
10085
- init(this, options, instance57, create_fragment57, not_equal, {
11437
+ init(this, options, instance60, create_fragment60, not_equal, {
10086
11438
  player: 0,
10087
11439
  theme: 1,
10088
11440
  language: 2,
@@ -10186,7 +11538,7 @@ function create_if_block_23(ctx) {
10186
11538
  }
10187
11539
  };
10188
11540
  }
10189
- function create_if_block_14(ctx) {
11541
+ function create_if_block_110(ctx) {
10190
11542
  let zoomcontrol;
10191
11543
  let current;
10192
11544
  zoomcontrol = new ZoomControl_default({
@@ -10278,7 +11630,7 @@ function create_if_block10(ctx) {
10278
11630
  }
10279
11631
  };
10280
11632
  }
10281
- function create_fragment58(ctx) {
11633
+ function create_fragment61(ctx) {
10282
11634
  let div4;
10283
11635
  let div0;
10284
11636
  let t0;
@@ -10293,7 +11645,7 @@ function create_fragment58(ctx) {
10293
11645
  let dispose;
10294
11646
  let if_block0 = ctx[3].toolbar?.enable !== false && create_if_block_32(ctx);
10295
11647
  let if_block1 = ctx[3].redo_undo?.enable !== false && create_if_block_23(ctx);
10296
- let if_block2 = ctx[3].zoom_control?.enable !== false && create_if_block_14(ctx);
11648
+ let if_block2 = ctx[3].zoom_control?.enable !== false && create_if_block_110(ctx);
10297
11649
  let if_block3 = ctx[3].page_control?.enable !== false && create_if_block10(ctx);
10298
11650
  return {
10299
11651
  c() {
@@ -10398,7 +11750,7 @@ function create_fragment58(ctx) {
10398
11750
  transition_in(if_block2, 1);
10399
11751
  }
10400
11752
  } else {
10401
- if_block2 = create_if_block_14(ctx2);
11753
+ if_block2 = create_if_block_110(ctx2);
10402
11754
  if_block2.c();
10403
11755
  transition_in(if_block2, 1);
10404
11756
  if_block2.m(div2, null);
@@ -10473,7 +11825,7 @@ function create_fragment58(ctx) {
10473
11825
  };
10474
11826
  }
10475
11827
  var name9 = "fastboard";
10476
- function instance58($$self, $$props, $$invalidate) {
11828
+ function instance61($$self, $$props, $$invalidate) {
10477
11829
  let writable2;
10478
11830
  let boxState;
10479
11831
  let focusedApp;
@@ -10586,7 +11938,7 @@ function instance58($$self, $$props, $$invalidate) {
10586
11938
  var Fastboard = class extends SvelteComponent {
10587
11939
  constructor(options) {
10588
11940
  super();
10589
- init(this, options, instance58, create_fragment58, not_equal, {
11941
+ init(this, options, instance61, create_fragment61, not_equal, {
10590
11942
  app: 0,
10591
11943
  theme: 1,
10592
11944
  language: 2,
@@ -10665,5 +12017,5 @@ function createReplayUI(player, div) {
10665
12017
  return ui;
10666
12018
  }
10667
12019
 
10668
- export { Fastboard_default as Fastboard, PageControl_default as PageControl, PlayerControl_default as PlayerControl, RedoUndo_default as RedoUndo, ReplayFastboard_default as ReplayFastboard, Toolbar_default as Toolbar, ZoomControl_default as ZoomControl, apps, createReplayUI, createUI };
12020
+ export { Fastboard_default as Fastboard, PageControl_default as PageControl, PlayerControl_default as PlayerControl, RedoUndo_default as RedoUndo, ReplayFastboard_default as ReplayFastboard, Toolbar_default as Toolbar, ZoomControl_default as ZoomControl, createReplayUI, createUI, stockedApps };
10669
12021
  //# sourceMappingURL=index.mjs.map