@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.js CHANGED
@@ -8,22 +8,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
8
8
 
9
9
  var Tippy__default = /*#__PURE__*/_interopDefaultLegacy(Tippy);
10
10
 
11
- // inline-sass-helper:inline-sass-style-helper.js
12
- function injectStyle(text2) {
13
- if (typeof document !== "undefined") {
14
- var style = document.createElement("style");
15
- var node = document.createTextNode(text2);
16
- style.appendChild(node);
17
- document.head.appendChild(style);
18
- }
19
- }
20
-
21
- // inline-sass-content:./src/style.scss
22
- 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}';
23
-
24
- // inline-sass-stub:./src/style.scss
25
- injectStyle(style_default);
26
-
27
11
  // ../../node_modules/.pnpm/svelte@3.49.0/node_modules/svelte/internal/index.mjs
28
12
  function noop() {
29
13
  }
@@ -467,7 +451,7 @@ function make_dirty(component, i) {
467
451
  }
468
452
  component.$$.dirty[i / 31 | 0] |= 1 << i % 31;
469
453
  }
470
- function init(component, options, instance59, create_fragment59, not_equal2, props, append_styles, dirty = [-1]) {
454
+ function init(component, options, instance62, create_fragment62, not_equal2, props, append_styles, dirty = [-1]) {
471
455
  const parent_component = current_component;
472
456
  set_current_component(component);
473
457
  const $$ = component.$$ = {
@@ -490,7 +474,7 @@ function init(component, options, instance59, create_fragment59, not_equal2, pro
490
474
  };
491
475
  append_styles && append_styles($$.root);
492
476
  let ready = false;
493
- $$.ctx = instance59 ? instance59(component, options.props || {}, (i, ret, ...rest) => {
477
+ $$.ctx = instance62 ? instance62(component, options.props || {}, (i, ret, ...rest) => {
494
478
  const value = rest.length ? rest[0] : ret;
495
479
  if ($$.ctx && not_equal2($$.ctx[i], $$.ctx[i] = value)) {
496
480
  if (!$$.skip_bound && $$.bound[i])
@@ -503,7 +487,7 @@ function init(component, options, instance59, create_fragment59, not_equal2, pro
503
487
  $$.update();
504
488
  ready = true;
505
489
  run_all($$.before_update);
506
- $$.fragment = create_fragment59 ? create_fragment59($$.ctx) : false;
490
+ $$.fragment = create_fragment62 ? create_fragment62($$.ctx) : false;
507
491
  if (options.target) {
508
492
  if (options.hydrate) {
509
493
  const nodes = children(options.target);
@@ -1473,17 +1457,51 @@ var Down_default = Down;
1473
1457
  // src/components/Icons/Eraser.svelte
1474
1458
  function create_fragment14(ctx) {
1475
1459
  let svg;
1476
- let path;
1460
+ let path0;
1461
+ let path1;
1462
+ let path2;
1463
+ let path3;
1464
+ let path4;
1465
+ let path5;
1477
1466
  let svg_class_value;
1478
1467
  return {
1479
1468
  c() {
1480
1469
  svg = svg_element("svg");
1481
- path = svg_element("path");
1482
- attr(path, "stroke", "#5D6066");
1483
- attr(path, "stroke-linejoin", "round");
1484
- attr(path, "stroke-width", "1.25");
1485
- 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");
1486
- attr(path, "class", "fastboard-icon-stroke-color");
1470
+ path0 = svg_element("path");
1471
+ path1 = svg_element("path");
1472
+ path2 = svg_element("path");
1473
+ path3 = svg_element("path");
1474
+ path4 = svg_element("path");
1475
+ path5 = svg_element("path");
1476
+ attr(path0, "d", "M16 16L20 20M20 16L16 20");
1477
+ attr(path0, "stroke", "#5D6066");
1478
+ attr(path0, "class", "fastboard-icon-stroke-color");
1479
+ attr(path0, "stroke-width", "1.25");
1480
+ 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");
1481
+ attr(path1, "stroke", "#5D6066");
1482
+ attr(path1, "class", "fastboard-icon-stroke-color");
1483
+ attr(path1, "stroke-width", "1.25");
1484
+ attr(path1, "stroke-linejoin", "round");
1485
+ attr(path2, "d", "M12 6.34314L17.6569 12");
1486
+ attr(path2, "stroke", "#5D6066");
1487
+ attr(path2, "class", "fastboard-icon-stroke-color");
1488
+ attr(path2, "stroke-width", "1.25");
1489
+ attr(path2, "stroke-linejoin", "round");
1490
+ attr(path3, "d", "M16.2422 4.92896L13.4138 7.75738");
1491
+ attr(path3, "stroke", "#5D6066");
1492
+ attr(path3, "class", "fastboard-icon-stroke-color");
1493
+ attr(path3, "stroke-width", "1.25");
1494
+ attr(path3, "stroke-linejoin", "round");
1495
+ attr(path4, "d", "M17.6572 6.34314L14.8288 9.17157");
1496
+ attr(path4, "stroke", "#5D6066");
1497
+ attr(path4, "class", "fastboard-icon-stroke-color");
1498
+ attr(path4, "stroke-width", "1.25");
1499
+ attr(path4, "stroke-linejoin", "round");
1500
+ attr(path5, "d", "M19.0713 7.75732L16.2429 10.5858");
1501
+ attr(path5, "stroke", "#5D6066");
1502
+ attr(path5, "class", "fastboard-icon-stroke-color");
1503
+ attr(path5, "stroke-width", "1.25");
1504
+ attr(path5, "stroke-linejoin", "round");
1487
1505
  attr(svg, "fill", "none");
1488
1506
  attr(svg, "viewBox", "0 0 24 24");
1489
1507
  attr(svg, "class", svg_class_value = "fastboard-icon " + ctx[0]);
@@ -1491,7 +1509,12 @@ function create_fragment14(ctx) {
1491
1509
  },
1492
1510
  m(target, anchor) {
1493
1511
  insert(target, svg, anchor);
1494
- append(svg, path);
1512
+ append(svg, path0);
1513
+ append(svg, path1);
1514
+ append(svg, path2);
1515
+ append(svg, path3);
1516
+ append(svg, path4);
1517
+ append(svg, path5);
1495
1518
  },
1496
1519
  p(ctx2, [dirty]) {
1497
1520
  if (dirty & 1 && svg_class_value !== (svg_class_value = "fastboard-icon " + ctx2[0])) {
@@ -1537,10 +1560,10 @@ function create_fragment15(ctx) {
1537
1560
  c() {
1538
1561
  svg = svg_element("svg");
1539
1562
  path = svg_element("path");
1540
- attr(path, "fill", "#5D6066");
1541
1563
  attr(path, "fill-rule", "evenodd");
1542
- 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");
1543
1564
  attr(path, "clip-rule", "evenodd");
1565
+ 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");
1566
+ attr(path, "fill", "#3381FF");
1544
1567
  attr(path, "class", "fastboard-icon-fill-color");
1545
1568
  attr(svg, "fill", "none");
1546
1569
  attr(svg, "viewBox", "0 0 24 24");
@@ -1949,8 +1972,124 @@ var PencilFilled = class extends SvelteComponent {
1949
1972
  };
1950
1973
  var PencilFilled_default = PencilFilled;
1951
1974
 
1952
- // src/components/Icons/Plus.svelte
1975
+ // src/components/Icons/PencilEraser.svelte
1953
1976
  function create_fragment22(ctx) {
1977
+ let svg;
1978
+ let path;
1979
+ let svg_class_value;
1980
+ return {
1981
+ c() {
1982
+ svg = svg_element("svg");
1983
+ path = svg_element("path");
1984
+ attr(path, "stroke", "#5D6066");
1985
+ attr(path, "stroke-linejoin", "round");
1986
+ attr(path, "stroke-width", "1.25");
1987
+ 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");
1988
+ attr(path, "class", "fastboard-icon-stroke-color");
1989
+ attr(svg, "fill", "none");
1990
+ attr(svg, "viewBox", "0 0 24 24");
1991
+ attr(svg, "class", svg_class_value = "fastboard-icon " + ctx[0]);
1992
+ toggle_class(svg, "is-active", ctx[1]);
1993
+ },
1994
+ m(target, anchor) {
1995
+ insert(target, svg, anchor);
1996
+ append(svg, path);
1997
+ },
1998
+ p(ctx2, [dirty]) {
1999
+ if (dirty & 1 && svg_class_value !== (svg_class_value = "fastboard-icon " + ctx2[0])) {
2000
+ attr(svg, "class", svg_class_value);
2001
+ }
2002
+ if (dirty & 3) {
2003
+ toggle_class(svg, "is-active", ctx2[1]);
2004
+ }
2005
+ },
2006
+ i: noop,
2007
+ o: noop,
2008
+ d(detaching) {
2009
+ if (detaching)
2010
+ detach(svg);
2011
+ }
2012
+ };
2013
+ }
2014
+ function instance22($$self, $$props, $$invalidate) {
2015
+ let { theme = "light" } = $$props;
2016
+ let { active = false } = $$props;
2017
+ $$self.$$set = ($$props2) => {
2018
+ if ("theme" in $$props2)
2019
+ $$invalidate(0, theme = $$props2.theme);
2020
+ if ("active" in $$props2)
2021
+ $$invalidate(1, active = $$props2.active);
2022
+ };
2023
+ return [theme, active];
2024
+ }
2025
+ var PencilEraser = class extends SvelteComponent {
2026
+ constructor(options) {
2027
+ super();
2028
+ init(this, options, instance22, create_fragment22, safe_not_equal, { theme: 0, active: 1 });
2029
+ }
2030
+ };
2031
+ var PencilEraser_default = PencilEraser;
2032
+
2033
+ // src/components/Icons/PencilEraserFilled.svelte
2034
+ function create_fragment23(ctx) {
2035
+ let svg;
2036
+ let path;
2037
+ let svg_class_value;
2038
+ return {
2039
+ c() {
2040
+ svg = svg_element("svg");
2041
+ path = svg_element("path");
2042
+ attr(path, "fill", "#5D6066");
2043
+ attr(path, "fill-rule", "evenodd");
2044
+ 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");
2045
+ attr(path, "clip-rule", "evenodd");
2046
+ attr(path, "class", "fastboard-icon-fill-color");
2047
+ attr(svg, "fill", "none");
2048
+ attr(svg, "viewBox", "0 0 24 24");
2049
+ attr(svg, "class", svg_class_value = "fastboard-icon " + ctx[0]);
2050
+ toggle_class(svg, "is-active", ctx[1]);
2051
+ },
2052
+ m(target, anchor) {
2053
+ insert(target, svg, anchor);
2054
+ append(svg, path);
2055
+ },
2056
+ p(ctx2, [dirty]) {
2057
+ if (dirty & 1 && svg_class_value !== (svg_class_value = "fastboard-icon " + ctx2[0])) {
2058
+ attr(svg, "class", svg_class_value);
2059
+ }
2060
+ if (dirty & 3) {
2061
+ toggle_class(svg, "is-active", ctx2[1]);
2062
+ }
2063
+ },
2064
+ i: noop,
2065
+ o: noop,
2066
+ d(detaching) {
2067
+ if (detaching)
2068
+ detach(svg);
2069
+ }
2070
+ };
2071
+ }
2072
+ function instance23($$self, $$props, $$invalidate) {
2073
+ let { theme = "light" } = $$props;
2074
+ let { active = false } = $$props;
2075
+ $$self.$$set = ($$props2) => {
2076
+ if ("theme" in $$props2)
2077
+ $$invalidate(0, theme = $$props2.theme);
2078
+ if ("active" in $$props2)
2079
+ $$invalidate(1, active = $$props2.active);
2080
+ };
2081
+ return [theme, active];
2082
+ }
2083
+ var PencilEraserFilled = class extends SvelteComponent {
2084
+ constructor(options) {
2085
+ super();
2086
+ init(this, options, instance23, create_fragment23, safe_not_equal, { theme: 0, active: 1 });
2087
+ }
2088
+ };
2089
+ var PencilEraserFilled_default = PencilEraserFilled;
2090
+
2091
+ // src/components/Icons/Plus.svelte
2092
+ function create_fragment24(ctx) {
1954
2093
  let svg;
1955
2094
  let path;
1956
2095
  let svg_class_value;
@@ -1988,7 +2127,7 @@ function create_fragment22(ctx) {
1988
2127
  }
1989
2128
  };
1990
2129
  }
1991
- function instance22($$self, $$props, $$invalidate) {
2130
+ function instance24($$self, $$props, $$invalidate) {
1992
2131
  let { theme = "light" } = $$props;
1993
2132
  let { active = false } = $$props;
1994
2133
  $$self.$$set = ($$props2) => {
@@ -2002,13 +2141,13 @@ function instance22($$self, $$props, $$invalidate) {
2002
2141
  var Plus = class extends SvelteComponent {
2003
2142
  constructor(options) {
2004
2143
  super();
2005
- init(this, options, instance22, create_fragment22, safe_not_equal, { theme: 0, active: 1 });
2144
+ init(this, options, instance24, create_fragment24, safe_not_equal, { theme: 0, active: 1 });
2006
2145
  }
2007
2146
  };
2008
2147
  var Plus_default = Plus;
2009
2148
 
2010
2149
  // src/components/Icons/Rectangle.svelte
2011
- function create_fragment23(ctx) {
2150
+ function create_fragment25(ctx) {
2012
2151
  let svg;
2013
2152
  let path;
2014
2153
  let svg_class_value;
@@ -2046,7 +2185,7 @@ function create_fragment23(ctx) {
2046
2185
  }
2047
2186
  };
2048
2187
  }
2049
- function instance23($$self, $$props, $$invalidate) {
2188
+ function instance25($$self, $$props, $$invalidate) {
2050
2189
  let { theme = "light" } = $$props;
2051
2190
  let { active = false } = $$props;
2052
2191
  $$self.$$set = ($$props2) => {
@@ -2060,13 +2199,13 @@ function instance23($$self, $$props, $$invalidate) {
2060
2199
  var Rectangle = class extends SvelteComponent {
2061
2200
  constructor(options) {
2062
2201
  super();
2063
- init(this, options, instance23, create_fragment23, safe_not_equal, { theme: 0, active: 1 });
2202
+ init(this, options, instance25, create_fragment25, safe_not_equal, { theme: 0, active: 1 });
2064
2203
  }
2065
2204
  };
2066
2205
  var Rectangle_default = Rectangle;
2067
2206
 
2068
2207
  // src/components/Icons/RectangleBolded.svelte
2069
- function create_fragment24(ctx) {
2208
+ function create_fragment26(ctx) {
2070
2209
  let svg;
2071
2210
  let path;
2072
2211
  let svg_class_value;
@@ -2104,7 +2243,7 @@ function create_fragment24(ctx) {
2104
2243
  }
2105
2244
  };
2106
2245
  }
2107
- function instance24($$self, $$props, $$invalidate) {
2246
+ function instance26($$self, $$props, $$invalidate) {
2108
2247
  let { theme = "light" } = $$props;
2109
2248
  let { active = false } = $$props;
2110
2249
  $$self.$$set = ($$props2) => {
@@ -2118,13 +2257,13 @@ function instance24($$self, $$props, $$invalidate) {
2118
2257
  var RectangleBolded = class extends SvelteComponent {
2119
2258
  constructor(options) {
2120
2259
  super();
2121
- init(this, options, instance24, create_fragment24, safe_not_equal, { theme: 0, active: 1 });
2260
+ init(this, options, instance26, create_fragment26, safe_not_equal, { theme: 0, active: 1 });
2122
2261
  }
2123
2262
  };
2124
2263
  var RectangleBolded_default = RectangleBolded;
2125
2264
 
2126
2265
  // src/components/Icons/Redo.svelte
2127
- function create_fragment25(ctx) {
2266
+ function create_fragment27(ctx) {
2128
2267
  let svg;
2129
2268
  let path0;
2130
2269
  let path1;
@@ -2166,7 +2305,7 @@ function create_fragment25(ctx) {
2166
2305
  }
2167
2306
  };
2168
2307
  }
2169
- function instance25($$self, $$props, $$invalidate) {
2308
+ function instance27($$self, $$props, $$invalidate) {
2170
2309
  let { theme = "light" } = $$props;
2171
2310
  let { active = false } = $$props;
2172
2311
  $$self.$$set = ($$props2) => {
@@ -2180,13 +2319,13 @@ function instance25($$self, $$props, $$invalidate) {
2180
2319
  var Redo = class extends SvelteComponent {
2181
2320
  constructor(options) {
2182
2321
  super();
2183
- init(this, options, instance25, create_fragment25, safe_not_equal, { theme: 0, active: 1 });
2322
+ init(this, options, instance27, create_fragment27, safe_not_equal, { theme: 0, active: 1 });
2184
2323
  }
2185
2324
  };
2186
2325
  var Redo_default = Redo;
2187
2326
 
2188
2327
  // src/components/Icons/Reset.svelte
2189
- function create_fragment26(ctx) {
2328
+ function create_fragment28(ctx) {
2190
2329
  let svg;
2191
2330
  let circle0;
2192
2331
  let path;
@@ -2242,7 +2381,7 @@ function create_fragment26(ctx) {
2242
2381
  }
2243
2382
  };
2244
2383
  }
2245
- function instance26($$self, $$props, $$invalidate) {
2384
+ function instance28($$self, $$props, $$invalidate) {
2246
2385
  let { theme = "light" } = $$props;
2247
2386
  let { active = false } = $$props;
2248
2387
  $$self.$$set = ($$props2) => {
@@ -2256,13 +2395,13 @@ function instance26($$self, $$props, $$invalidate) {
2256
2395
  var Reset = class extends SvelteComponent {
2257
2396
  constructor(options) {
2258
2397
  super();
2259
- init(this, options, instance26, create_fragment26, safe_not_equal, { theme: 0, active: 1 });
2398
+ init(this, options, instance28, create_fragment28, safe_not_equal, { theme: 0, active: 1 });
2260
2399
  }
2261
2400
  };
2262
2401
  var Reset_default = Reset;
2263
2402
 
2264
2403
  // src/components/Icons/Rhombus.svelte
2265
- function create_fragment27(ctx) {
2404
+ function create_fragment29(ctx) {
2266
2405
  let svg;
2267
2406
  let path;
2268
2407
  let svg_class_value;
@@ -2300,7 +2439,7 @@ function create_fragment27(ctx) {
2300
2439
  }
2301
2440
  };
2302
2441
  }
2303
- function instance27($$self, $$props, $$invalidate) {
2442
+ function instance29($$self, $$props, $$invalidate) {
2304
2443
  let { theme = "light" } = $$props;
2305
2444
  let { active = false } = $$props;
2306
2445
  $$self.$$set = ($$props2) => {
@@ -2314,13 +2453,13 @@ function instance27($$self, $$props, $$invalidate) {
2314
2453
  var Rhombus = class extends SvelteComponent {
2315
2454
  constructor(options) {
2316
2455
  super();
2317
- init(this, options, instance27, create_fragment27, safe_not_equal, { theme: 0, active: 1 });
2456
+ init(this, options, instance29, create_fragment29, safe_not_equal, { theme: 0, active: 1 });
2318
2457
  }
2319
2458
  };
2320
2459
  var Rhombus_default = Rhombus;
2321
2460
 
2322
2461
  // src/components/Icons/RhombusBolded.svelte
2323
- function create_fragment28(ctx) {
2462
+ function create_fragment30(ctx) {
2324
2463
  let svg;
2325
2464
  let path;
2326
2465
  let svg_class_value;
@@ -2358,7 +2497,7 @@ function create_fragment28(ctx) {
2358
2497
  }
2359
2498
  };
2360
2499
  }
2361
- function instance28($$self, $$props, $$invalidate) {
2500
+ function instance30($$self, $$props, $$invalidate) {
2362
2501
  let { theme = "light" } = $$props;
2363
2502
  let { active = false } = $$props;
2364
2503
  $$self.$$set = ($$props2) => {
@@ -2372,13 +2511,13 @@ function instance28($$self, $$props, $$invalidate) {
2372
2511
  var RhombusBolded = class extends SvelteComponent {
2373
2512
  constructor(options) {
2374
2513
  super();
2375
- init(this, options, instance28, create_fragment28, safe_not_equal, { theme: 0, active: 1 });
2514
+ init(this, options, instance30, create_fragment30, safe_not_equal, { theme: 0, active: 1 });
2376
2515
  }
2377
2516
  };
2378
2517
  var RhombusBolded_default = RhombusBolded;
2379
2518
 
2380
2519
  // src/components/Icons/Right.svelte
2381
- function create_fragment29(ctx) {
2520
+ function create_fragment31(ctx) {
2382
2521
  let svg;
2383
2522
  let path;
2384
2523
  let svg_class_value;
@@ -2416,7 +2555,7 @@ function create_fragment29(ctx) {
2416
2555
  }
2417
2556
  };
2418
2557
  }
2419
- function instance29($$self, $$props, $$invalidate) {
2558
+ function instance31($$self, $$props, $$invalidate) {
2420
2559
  let { theme = "light" } = $$props;
2421
2560
  let { active = false } = $$props;
2422
2561
  $$self.$$set = ($$props2) => {
@@ -2430,13 +2569,13 @@ function instance29($$self, $$props, $$invalidate) {
2430
2569
  var Right = class extends SvelteComponent {
2431
2570
  constructor(options) {
2432
2571
  super();
2433
- init(this, options, instance29, create_fragment29, safe_not_equal, { theme: 0, active: 1 });
2572
+ init(this, options, instance31, create_fragment31, safe_not_equal, { theme: 0, active: 1 });
2434
2573
  }
2435
2574
  };
2436
2575
  var Right_default = Right;
2437
2576
 
2438
2577
  // src/components/Icons/Selector.svelte
2439
- function create_fragment30(ctx) {
2578
+ function create_fragment32(ctx) {
2440
2579
  let svg;
2441
2580
  let path0;
2442
2581
  let path1;
@@ -2483,7 +2622,7 @@ function create_fragment30(ctx) {
2483
2622
  }
2484
2623
  };
2485
2624
  }
2486
- function instance30($$self, $$props, $$invalidate) {
2625
+ function instance32($$self, $$props, $$invalidate) {
2487
2626
  let { theme = "light" } = $$props;
2488
2627
  let { active = false } = $$props;
2489
2628
  $$self.$$set = ($$props2) => {
@@ -2497,13 +2636,13 @@ function instance30($$self, $$props, $$invalidate) {
2497
2636
  var Selector = class extends SvelteComponent {
2498
2637
  constructor(options) {
2499
2638
  super();
2500
- init(this, options, instance30, create_fragment30, safe_not_equal, { theme: 0, active: 1 });
2639
+ init(this, options, instance32, create_fragment32, safe_not_equal, { theme: 0, active: 1 });
2501
2640
  }
2502
2641
  };
2503
2642
  var Selector_default = Selector;
2504
2643
 
2505
2644
  // src/components/Icons/SelectorFilled.svelte
2506
- function create_fragment31(ctx) {
2645
+ function create_fragment33(ctx) {
2507
2646
  let svg;
2508
2647
  let path0;
2509
2648
  let path1;
@@ -2548,7 +2687,7 @@ function create_fragment31(ctx) {
2548
2687
  }
2549
2688
  };
2550
2689
  }
2551
- function instance31($$self, $$props, $$invalidate) {
2690
+ function instance33($$self, $$props, $$invalidate) {
2552
2691
  let { theme = "light" } = $$props;
2553
2692
  let { active = false } = $$props;
2554
2693
  $$self.$$set = ($$props2) => {
@@ -2562,13 +2701,13 @@ function instance31($$self, $$props, $$invalidate) {
2562
2701
  var SelectorFilled = class extends SvelteComponent {
2563
2702
  constructor(options) {
2564
2703
  super();
2565
- init(this, options, instance31, create_fragment31, safe_not_equal, { theme: 0, active: 1 });
2704
+ init(this, options, instance33, create_fragment33, safe_not_equal, { theme: 0, active: 1 });
2566
2705
  }
2567
2706
  };
2568
2707
  var SelectorFilled_default = SelectorFilled;
2569
2708
 
2570
2709
  // src/components/Icons/SpeechBalloon.svelte
2571
- function create_fragment32(ctx) {
2710
+ function create_fragment34(ctx) {
2572
2711
  let svg;
2573
2712
  let path;
2574
2713
  let svg_class_value;
@@ -2606,7 +2745,7 @@ function create_fragment32(ctx) {
2606
2745
  }
2607
2746
  };
2608
2747
  }
2609
- function instance32($$self, $$props, $$invalidate) {
2748
+ function instance34($$self, $$props, $$invalidate) {
2610
2749
  let { theme = "light" } = $$props;
2611
2750
  let { active = false } = $$props;
2612
2751
  $$self.$$set = ($$props2) => {
@@ -2620,13 +2759,13 @@ function instance32($$self, $$props, $$invalidate) {
2620
2759
  var SpeechBalloon = class extends SvelteComponent {
2621
2760
  constructor(options) {
2622
2761
  super();
2623
- init(this, options, instance32, create_fragment32, safe_not_equal, { theme: 0, active: 1 });
2762
+ init(this, options, instance34, create_fragment34, safe_not_equal, { theme: 0, active: 1 });
2624
2763
  }
2625
2764
  };
2626
2765
  var SpeechBalloon_default = SpeechBalloon;
2627
2766
 
2628
2767
  // src/components/Icons/Star.svelte
2629
- function create_fragment33(ctx) {
2768
+ function create_fragment35(ctx) {
2630
2769
  let svg;
2631
2770
  let path;
2632
2771
  let svg_class_value;
@@ -2664,7 +2803,7 @@ function create_fragment33(ctx) {
2664
2803
  }
2665
2804
  };
2666
2805
  }
2667
- function instance33($$self, $$props, $$invalidate) {
2806
+ function instance35($$self, $$props, $$invalidate) {
2668
2807
  let { theme = "light" } = $$props;
2669
2808
  let { active = false } = $$props;
2670
2809
  $$self.$$set = ($$props2) => {
@@ -2678,13 +2817,13 @@ function instance33($$self, $$props, $$invalidate) {
2678
2817
  var Star = class extends SvelteComponent {
2679
2818
  constructor(options) {
2680
2819
  super();
2681
- init(this, options, instance33, create_fragment33, safe_not_equal, { theme: 0, active: 1 });
2820
+ init(this, options, instance35, create_fragment35, safe_not_equal, { theme: 0, active: 1 });
2682
2821
  }
2683
2822
  };
2684
2823
  var Star_default = Star;
2685
2824
 
2686
2825
  // src/components/Icons/StarBolded.svelte
2687
- function create_fragment34(ctx) {
2826
+ function create_fragment36(ctx) {
2688
2827
  let svg;
2689
2828
  let path;
2690
2829
  let svg_class_value;
@@ -2722,7 +2861,7 @@ function create_fragment34(ctx) {
2722
2861
  }
2723
2862
  };
2724
2863
  }
2725
- function instance34($$self, $$props, $$invalidate) {
2864
+ function instance36($$self, $$props, $$invalidate) {
2726
2865
  let { theme = "light" } = $$props;
2727
2866
  let { active = false } = $$props;
2728
2867
  $$self.$$set = ($$props2) => {
@@ -2736,13 +2875,13 @@ function instance34($$self, $$props, $$invalidate) {
2736
2875
  var StarBolded = class extends SvelteComponent {
2737
2876
  constructor(options) {
2738
2877
  super();
2739
- init(this, options, instance34, create_fragment34, safe_not_equal, { theme: 0, active: 1 });
2878
+ init(this, options, instance36, create_fragment36, safe_not_equal, { theme: 0, active: 1 });
2740
2879
  }
2741
2880
  };
2742
2881
  var StarBolded_default = StarBolded;
2743
2882
 
2744
2883
  // src/components/Icons/Text.svelte
2745
- function create_fragment35(ctx) {
2884
+ function create_fragment37(ctx) {
2746
2885
  let svg;
2747
2886
  let path;
2748
2887
  let svg_class_value;
@@ -2780,7 +2919,7 @@ function create_fragment35(ctx) {
2780
2919
  }
2781
2920
  };
2782
2921
  }
2783
- function instance35($$self, $$props, $$invalidate) {
2922
+ function instance37($$self, $$props, $$invalidate) {
2784
2923
  let { theme = "light" } = $$props;
2785
2924
  let { active = false } = $$props;
2786
2925
  $$self.$$set = ($$props2) => {
@@ -2794,13 +2933,13 @@ function instance35($$self, $$props, $$invalidate) {
2794
2933
  var Text = class extends SvelteComponent {
2795
2934
  constructor(options) {
2796
2935
  super();
2797
- init(this, options, instance35, create_fragment35, safe_not_equal, { theme: 0, active: 1 });
2936
+ init(this, options, instance37, create_fragment37, safe_not_equal, { theme: 0, active: 1 });
2798
2937
  }
2799
2938
  };
2800
2939
  var Text_default = Text;
2801
2940
 
2802
2941
  // src/components/Icons/TextFilled.svelte
2803
- function create_fragment36(ctx) {
2942
+ function create_fragment38(ctx) {
2804
2943
  let svg;
2805
2944
  let path0;
2806
2945
  let path1;
@@ -2845,7 +2984,7 @@ function create_fragment36(ctx) {
2845
2984
  }
2846
2985
  };
2847
2986
  }
2848
- function instance36($$self, $$props, $$invalidate) {
2987
+ function instance38($$self, $$props, $$invalidate) {
2849
2988
  let { theme = "light" } = $$props;
2850
2989
  let { active = false } = $$props;
2851
2990
  $$self.$$set = ($$props2) => {
@@ -2859,13 +2998,13 @@ function instance36($$self, $$props, $$invalidate) {
2859
2998
  var TextFilled = class extends SvelteComponent {
2860
2999
  constructor(options) {
2861
3000
  super();
2862
- init(this, options, instance36, create_fragment36, safe_not_equal, { theme: 0, active: 1 });
3001
+ init(this, options, instance38, create_fragment38, safe_not_equal, { theme: 0, active: 1 });
2863
3002
  }
2864
3003
  };
2865
3004
  var TextFilled_default = TextFilled;
2866
3005
 
2867
3006
  // src/components/Icons/Triangle.svelte
2868
- function create_fragment37(ctx) {
3007
+ function create_fragment39(ctx) {
2869
3008
  let svg;
2870
3009
  let path;
2871
3010
  let svg_class_value;
@@ -2903,7 +3042,7 @@ function create_fragment37(ctx) {
2903
3042
  }
2904
3043
  };
2905
3044
  }
2906
- function instance37($$self, $$props, $$invalidate) {
3045
+ function instance39($$self, $$props, $$invalidate) {
2907
3046
  let { theme = "light" } = $$props;
2908
3047
  let { active = false } = $$props;
2909
3048
  $$self.$$set = ($$props2) => {
@@ -2917,13 +3056,13 @@ function instance37($$self, $$props, $$invalidate) {
2917
3056
  var Triangle = class extends SvelteComponent {
2918
3057
  constructor(options) {
2919
3058
  super();
2920
- init(this, options, instance37, create_fragment37, safe_not_equal, { theme: 0, active: 1 });
3059
+ init(this, options, instance39, create_fragment39, safe_not_equal, { theme: 0, active: 1 });
2921
3060
  }
2922
3061
  };
2923
3062
  var Triangle_default = Triangle;
2924
3063
 
2925
3064
  // src/components/Icons/TriangleBolded.svelte
2926
- function create_fragment38(ctx) {
3065
+ function create_fragment40(ctx) {
2927
3066
  let svg;
2928
3067
  let path;
2929
3068
  let svg_class_value;
@@ -2961,7 +3100,7 @@ function create_fragment38(ctx) {
2961
3100
  }
2962
3101
  };
2963
3102
  }
2964
- function instance38($$self, $$props, $$invalidate) {
3103
+ function instance40($$self, $$props, $$invalidate) {
2965
3104
  let { theme = "light" } = $$props;
2966
3105
  let { active = false } = $$props;
2967
3106
  $$self.$$set = ($$props2) => {
@@ -2975,13 +3114,13 @@ function instance38($$self, $$props, $$invalidate) {
2975
3114
  var TriangleBolded = class extends SvelteComponent {
2976
3115
  constructor(options) {
2977
3116
  super();
2978
- init(this, options, instance38, create_fragment38, safe_not_equal, { theme: 0, active: 1 });
3117
+ init(this, options, instance40, create_fragment40, safe_not_equal, { theme: 0, active: 1 });
2979
3118
  }
2980
3119
  };
2981
3120
  var TriangleBolded_default = TriangleBolded;
2982
3121
 
2983
3122
  // src/components/Icons/Undo.svelte
2984
- function create_fragment39(ctx) {
3123
+ function create_fragment41(ctx) {
2985
3124
  let svg;
2986
3125
  let path0;
2987
3126
  let path1;
@@ -3023,7 +3162,7 @@ function create_fragment39(ctx) {
3023
3162
  }
3024
3163
  };
3025
3164
  }
3026
- function instance39($$self, $$props, $$invalidate) {
3165
+ function instance41($$self, $$props, $$invalidate) {
3027
3166
  let { theme = "light" } = $$props;
3028
3167
  let { active = false } = $$props;
3029
3168
  $$self.$$set = ($$props2) => {
@@ -3037,13 +3176,13 @@ function instance39($$self, $$props, $$invalidate) {
3037
3176
  var Undo = class extends SvelteComponent {
3038
3177
  constructor(options) {
3039
3178
  super();
3040
- init(this, options, instance39, create_fragment39, safe_not_equal, { theme: 0, active: 1 });
3179
+ init(this, options, instance41, create_fragment41, safe_not_equal, { theme: 0, active: 1 });
3041
3180
  }
3042
3181
  };
3043
3182
  var Undo_default = Undo;
3044
3183
 
3045
3184
  // src/components/Icons/Up.svelte
3046
- function create_fragment40(ctx) {
3185
+ function create_fragment42(ctx) {
3047
3186
  let svg;
3048
3187
  let path;
3049
3188
  let svg_class_value;
@@ -3081,7 +3220,7 @@ function create_fragment40(ctx) {
3081
3220
  }
3082
3221
  };
3083
3222
  }
3084
- function instance40($$self, $$props, $$invalidate) {
3223
+ function instance42($$self, $$props, $$invalidate) {
3085
3224
  let { theme = "light" } = $$props;
3086
3225
  let { active = false } = $$props;
3087
3226
  $$self.$$set = ($$props2) => {
@@ -3095,13 +3234,13 @@ function instance40($$self, $$props, $$invalidate) {
3095
3234
  var Up = class extends SvelteComponent {
3096
3235
  constructor(options) {
3097
3236
  super();
3098
- init(this, options, instance40, create_fragment40, safe_not_equal, { theme: 0, active: 1 });
3237
+ init(this, options, instance42, create_fragment42, safe_not_equal, { theme: 0, active: 1 });
3099
3238
  }
3100
3239
  };
3101
3240
  var Up_default = Up;
3102
3241
 
3103
3242
  // src/components/Icons/WhiteboardAdd.svelte
3104
- function create_fragment41(ctx) {
3243
+ function create_fragment43(ctx) {
3105
3244
  let svg;
3106
3245
  let path0;
3107
3246
  let rect;
@@ -3159,7 +3298,7 @@ function create_fragment41(ctx) {
3159
3298
  }
3160
3299
  };
3161
3300
  }
3162
- function instance41($$self, $$props, $$invalidate) {
3301
+ function instance43($$self, $$props, $$invalidate) {
3163
3302
  let { theme = "light" } = $$props;
3164
3303
  let { active = false } = $$props;
3165
3304
  $$self.$$set = ($$props2) => {
@@ -3173,13 +3312,13 @@ function instance41($$self, $$props, $$invalidate) {
3173
3312
  var WhiteboardAdd = class extends SvelteComponent {
3174
3313
  constructor(options) {
3175
3314
  super();
3176
- init(this, options, instance41, create_fragment41, safe_not_equal, { theme: 0, active: 1 });
3315
+ init(this, options, instance43, create_fragment43, safe_not_equal, { theme: 0, active: 1 });
3177
3316
  }
3178
3317
  };
3179
3318
  var WhiteboardAdd_default = WhiteboardAdd;
3180
3319
 
3181
3320
  // src/components/Icons/Play.svelte
3182
- function create_fragment42(ctx) {
3321
+ function create_fragment44(ctx) {
3183
3322
  let svg;
3184
3323
  let path;
3185
3324
  let svg_class_value;
@@ -3215,7 +3354,7 @@ function create_fragment42(ctx) {
3215
3354
  }
3216
3355
  };
3217
3356
  }
3218
- function instance42($$self, $$props, $$invalidate) {
3357
+ function instance44($$self, $$props, $$invalidate) {
3219
3358
  let { theme = "light" } = $$props;
3220
3359
  let { active = false } = $$props;
3221
3360
  $$self.$$set = ($$props2) => {
@@ -3229,13 +3368,13 @@ function instance42($$self, $$props, $$invalidate) {
3229
3368
  var Play = class extends SvelteComponent {
3230
3369
  constructor(options) {
3231
3370
  super();
3232
- init(this, options, instance42, create_fragment42, safe_not_equal, { theme: 0, active: 1 });
3371
+ init(this, options, instance44, create_fragment44, safe_not_equal, { theme: 0, active: 1 });
3233
3372
  }
3234
3373
  };
3235
3374
  var Play_default = Play;
3236
3375
 
3237
3376
  // src/components/Icons/Pause.svelte
3238
- function create_fragment43(ctx) {
3377
+ function create_fragment45(ctx) {
3239
3378
  let svg;
3240
3379
  let path;
3241
3380
  let svg_class_value;
@@ -3271,7 +3410,7 @@ function create_fragment43(ctx) {
3271
3410
  }
3272
3411
  };
3273
3412
  }
3274
- function instance43($$self, $$props, $$invalidate) {
3413
+ function instance45($$self, $$props, $$invalidate) {
3275
3414
  let { theme = "light" } = $$props;
3276
3415
  let { active = false } = $$props;
3277
3416
  $$self.$$set = ($$props2) => {
@@ -3285,13 +3424,13 @@ function instance43($$self, $$props, $$invalidate) {
3285
3424
  var Pause = class extends SvelteComponent {
3286
3425
  constructor(options) {
3287
3426
  super();
3288
- init(this, options, instance43, create_fragment43, safe_not_equal, { theme: 0, active: 1 });
3427
+ init(this, options, instance45, create_fragment45, safe_not_equal, { theme: 0, active: 1 });
3289
3428
  }
3290
3429
  };
3291
3430
  var Pause_default = Pause;
3292
3431
 
3293
3432
  // src/components/Icons/Loading.svelte
3294
- function create_fragment44(ctx) {
3433
+ function create_fragment46(ctx) {
3295
3434
  let svg;
3296
3435
  let path;
3297
3436
  let svg_class_value;
@@ -3327,7 +3466,7 @@ function create_fragment44(ctx) {
3327
3466
  }
3328
3467
  };
3329
3468
  }
3330
- function instance44($$self, $$props, $$invalidate) {
3469
+ function instance46($$self, $$props, $$invalidate) {
3331
3470
  let { theme = "light" } = $$props;
3332
3471
  let { active = false } = $$props;
3333
3472
  $$self.$$set = ($$props2) => {
@@ -3341,7 +3480,7 @@ function instance44($$self, $$props, $$invalidate) {
3341
3480
  var Loading = class extends SvelteComponent {
3342
3481
  constructor(options) {
3343
3482
  super();
3344
- init(this, options, instance44, create_fragment44, safe_not_equal, { theme: 0, active: 1 });
3483
+ init(this, options, instance46, create_fragment46, safe_not_equal, { theme: 0, active: 1 });
3345
3484
  }
3346
3485
  };
3347
3486
  var Loading_default = Loading;
@@ -3368,6 +3507,8 @@ var Icons = {
3368
3507
  Minus: Minus_default,
3369
3508
  Pencil: Pencil_default,
3370
3509
  PencilFilled: PencilFilled_default,
3510
+ PencilEraser: PencilEraser_default,
3511
+ PencilEraserFilled: PencilEraserFilled_default,
3371
3512
  Plus: Plus_default,
3372
3513
  Rectangle: Rectangle_default,
3373
3514
  RectangleBolded: RectangleBolded_default,
@@ -3403,19 +3544,19 @@ if (is_client) {
3403
3544
  {
3404
3545
  name: "className",
3405
3546
  defaultValue: "",
3406
- fn(instance59) {
3547
+ fn(instance62) {
3407
3548
  function add() {
3408
- const el = instance59.popper.firstElementChild;
3549
+ const el = instance62.popper.firstElementChild;
3409
3550
  if (el) {
3410
3551
  el.classList.add("fastboard-tip");
3411
- const extra = (instance59.props.className || "").trim();
3552
+ const extra = (instance62.props.className || "").trim();
3412
3553
  if (extra) {
3413
3554
  el.classList.add(extra);
3414
3555
  }
3415
3556
  }
3416
3557
  }
3417
3558
  function remove() {
3418
- instance59.popper.firstElementChild?.classList.remove("fastboard-tip");
3559
+ instance62.popper.firstElementChild?.classList.remove("fastboard-tip");
3419
3560
  }
3420
3561
  return {
3421
3562
  onCreate: add,
@@ -3428,13 +3569,13 @@ if (is_client) {
3428
3569
  });
3429
3570
  }
3430
3571
  var tippy = function(node, props) {
3431
- const instance59 = Tippy__default["default"](node, props);
3572
+ const instance62 = Tippy__default["default"](node, props);
3432
3573
  return {
3433
3574
  update(props2) {
3434
- instance59.setProps(props2);
3575
+ instance62.setProps(props2);
3435
3576
  },
3436
3577
  destroy() {
3437
- instance59.destroy();
3578
+ instance62.destroy();
3438
3579
  }
3439
3580
  };
3440
3581
  };
@@ -3442,9 +3583,9 @@ function tippy_hide_all() {
3442
3583
  document.querySelectorAll("[data-tippy-root]").forEach(tippy_hide);
3443
3584
  }
3444
3585
  function tippy_hide(el) {
3445
- const instance59 = el._tippy;
3446
- if (instance59) {
3447
- instance59.hide();
3586
+ const instance62 = el._tippy;
3587
+ if (instance62) {
3588
+ instance62.hide();
3448
3589
  }
3449
3590
  }
3450
3591
  var tippy_menu = {
@@ -3785,7 +3926,7 @@ function create_if_block_1(ctx) {
3785
3926
  }
3786
3927
  };
3787
3928
  }
3788
- function create_fragment45(ctx) {
3929
+ function create_fragment47(ctx) {
3789
3930
  let current_block_type_index;
3790
3931
  let if_block;
3791
3932
  let if_block_anchor;
@@ -3848,7 +3989,7 @@ function create_fragment45(ctx) {
3848
3989
  }
3849
3990
  };
3850
3991
  }
3851
- function instance45($$self, $$props, $$invalidate) {
3992
+ function instance47($$self, $$props, $$invalidate) {
3852
3993
  let { $$slots: slots = {}, $$scope } = $$props;
3853
3994
  let { class: className = "" } = $$props;
3854
3995
  let { name: name10 = "fastboard-ui" } = $$props;
@@ -3906,7 +4047,7 @@ function instance45($$self, $$props, $$invalidate) {
3906
4047
  var Button = class extends SvelteComponent {
3907
4048
  constructor(options) {
3908
4049
  super();
3909
- init(this, options, instance45, create_fragment45, safe_not_equal, {
4050
+ init(this, options, instance47, create_fragment47, safe_not_equal, {
3910
4051
  class: 0,
3911
4052
  name: 1,
3912
4053
  theme: 2,
@@ -4073,7 +4214,7 @@ function create_default_slot(ctx) {
4073
4214
  }
4074
4215
  };
4075
4216
  }
4076
- function create_fragment46(ctx) {
4217
+ function create_fragment48(ctx) {
4077
4218
  let div;
4078
4219
  let button0;
4079
4220
  let t_1;
@@ -4174,7 +4315,7 @@ var i18n = {
4174
4315
  }
4175
4316
  };
4176
4317
  var name = "fastboard-redo-undo";
4177
- function instance46($$self, $$props, $$invalidate) {
4318
+ function instance48($$self, $$props, $$invalidate) {
4178
4319
  let writable2;
4179
4320
  let disabled;
4180
4321
  let t;
@@ -4258,7 +4399,7 @@ function instance46($$self, $$props, $$invalidate) {
4258
4399
  var RedoUndo = class extends SvelteComponent {
4259
4400
  constructor(options) {
4260
4401
  super();
4261
- init(this, options, instance46, create_fragment46, safe_not_equal, {
4402
+ init(this, options, instance48, create_fragment48, safe_not_equal, {
4262
4403
  app: 11,
4263
4404
  theme: 0,
4264
4405
  language: 12,
@@ -4545,7 +4686,7 @@ function create_default_slot2(ctx) {
4545
4686
  }
4546
4687
  };
4547
4688
  }
4548
- function create_fragment47(ctx) {
4689
+ function create_fragment49(ctx) {
4549
4690
  let div;
4550
4691
  let button0;
4551
4692
  let t0;
@@ -4714,7 +4855,7 @@ var i18n2 = {
4714
4855
  }
4715
4856
  };
4716
4857
  var name2 = "fastboard-page-control";
4717
- function instance47($$self, $$props, $$invalidate) {
4858
+ function instance49($$self, $$props, $$invalidate) {
4718
4859
  let writable2;
4719
4860
  let disabled;
4720
4861
  let t;
@@ -4803,7 +4944,7 @@ function instance47($$self, $$props, $$invalidate) {
4803
4944
  var PageControl = class extends SvelteComponent {
4804
4945
  constructor(options) {
4805
4946
  super();
4806
- init(this, options, instance47, create_fragment47, safe_not_equal, {
4947
+ init(this, options, instance49, create_fragment49, safe_not_equal, {
4807
4948
  app: 15,
4808
4949
  theme: 0,
4809
4950
  language: 16,
@@ -5087,7 +5228,7 @@ function create_default_slot3(ctx) {
5087
5228
  }
5088
5229
  };
5089
5230
  }
5090
- function create_fragment48(ctx) {
5231
+ function create_fragment50(ctx) {
5091
5232
  let div;
5092
5233
  let button0;
5093
5234
  let t0;
@@ -5285,7 +5426,7 @@ function next_scale(scale, delta) {
5285
5426
  return 1;
5286
5427
  }
5287
5428
  var name3 = "fastboard-zoom-control";
5288
- function instance48($$self, $$props, $$invalidate) {
5429
+ function instance50($$self, $$props, $$invalidate) {
5289
5430
  let writable2;
5290
5431
  let disabled;
5291
5432
  let t;
@@ -5383,7 +5524,7 @@ function instance48($$self, $$props, $$invalidate) {
5383
5524
  var ZoomControl = class extends SvelteComponent {
5384
5525
  constructor(options) {
5385
5526
  super();
5386
- init(this, options, instance48, create_fragment48, safe_not_equal, {
5527
+ init(this, options, instance50, create_fragment50, safe_not_equal, {
5387
5528
  app: 14,
5388
5529
  theme: 0,
5389
5530
  language: 15,
@@ -5511,12 +5652,21 @@ var shapesIconActive = {
5511
5652
  triangle: Icons_default.TriangleBolded,
5512
5653
  speechBalloon: Icons_default.BalloonBolded
5513
5654
  };
5655
+ var eraserIcon = {
5656
+ eraser: Icons_default.Eraser,
5657
+ pencilEraser: Icons_default.PencilEraser
5658
+ };
5659
+ var eraserIconActive = {
5660
+ eraser: Icons_default.EraserFilled,
5661
+ pencilEraser: Icons_default.PencilEraserFilled
5662
+ };
5514
5663
  var i18n4 = {
5515
5664
  en: {
5516
5665
  clicker: "clicker",
5517
5666
  selector: "selector",
5518
5667
  pencil: "pencil",
5519
5668
  eraser: "eraser",
5669
+ pencilEraser: "eraser",
5520
5670
  text: "text",
5521
5671
  shapes: "shapes",
5522
5672
  clear: "clear",
@@ -5527,6 +5677,7 @@ var i18n4 = {
5527
5677
  selector: "\u9009\u62E9",
5528
5678
  pencil: "\u94C5\u7B14",
5529
5679
  eraser: "\u6A61\u76AE",
5680
+ pencilEraser: "\u677F\u64E6",
5530
5681
  text: "\u6587\u5B57",
5531
5682
  shapes: "\u5F62\u72B6",
5532
5683
  clear: "\u6E05\u5C4F",
@@ -5596,7 +5747,7 @@ var AppsInToolbar = class {
5596
5747
  this._listeners.forEach((fn) => fn(this._data));
5597
5748
  }
5598
5749
  };
5599
- var apps = new AppsInToolbar([]);
5750
+ var stockedApps = new AppsInToolbar([]);
5600
5751
 
5601
5752
  // src/components/Toolbar/components/helper.ts
5602
5753
  function tooltip(text2, hotkey) {
@@ -5615,7 +5766,7 @@ function tooltip(text2, hotkey) {
5615
5766
  }
5616
5767
 
5617
5768
  // src/components/Toolbar/components/Slider.svelte
5618
- function create_fragment49(ctx) {
5769
+ function create_fragment51(ctx) {
5619
5770
  let div;
5620
5771
  let input;
5621
5772
  let input_class_value;
@@ -5703,7 +5854,7 @@ function create_fragment49(ctx) {
5703
5854
  };
5704
5855
  }
5705
5856
  var name4 = "fastboard-slider";
5706
- function instance49($$self, $$props, $$invalidate) {
5857
+ function instance51($$self, $$props, $$invalidate) {
5707
5858
  let percent;
5708
5859
  const dispatch = createEventDispatcher();
5709
5860
  let { class: className = "" } = $$props;
@@ -5772,7 +5923,7 @@ function instance49($$self, $$props, $$invalidate) {
5772
5923
  var Slider = class extends SvelteComponent {
5773
5924
  constructor(options) {
5774
5925
  super();
5775
- init(this, options, instance49, create_fragment49, safe_not_equal, {
5926
+ init(this, options, instance51, create_fragment51, safe_not_equal, {
5776
5927
  class: 1,
5777
5928
  theme: 2,
5778
5929
  min: 3,
@@ -5786,7 +5937,7 @@ var Slider = class extends SvelteComponent {
5786
5937
  var Slider_default = Slider;
5787
5938
 
5788
5939
  // src/components/Toolbar/components/StrokeWidth.svelte
5789
- function create_fragment50(ctx) {
5940
+ function create_fragment52(ctx) {
5790
5941
  let slider;
5791
5942
  let current;
5792
5943
  const slider_spread_levels = [
@@ -5833,7 +5984,7 @@ function create_fragment50(ctx) {
5833
5984
  }
5834
5985
  };
5835
5986
  }
5836
- function instance50($$self, $$props, $$invalidate) {
5987
+ function instance52($$self, $$props, $$invalidate) {
5837
5988
  let memberState;
5838
5989
  let value;
5839
5990
  let props;
@@ -5878,7 +6029,7 @@ function instance50($$self, $$props, $$invalidate) {
5878
6029
  var StrokeWidth = class extends SvelteComponent {
5879
6030
  constructor(options) {
5880
6031
  super();
5881
- init(this, options, instance50, create_fragment50, safe_not_equal, { app: 3, theme: 4, disabled: 5 });
6032
+ init(this, options, instance52, create_fragment52, safe_not_equal, { app: 3, theme: 4, disabled: 5 });
5882
6033
  }
5883
6034
  };
5884
6035
  var StrokeWidth_default = StrokeWidth;
@@ -5932,7 +6083,7 @@ function create_each_block(key_1, ctx) {
5932
6083
  }
5933
6084
  };
5934
6085
  }
5935
- function create_fragment51(ctx) {
6086
+ function create_fragment53(ctx) {
5936
6087
  let div;
5937
6088
  let each_blocks = [];
5938
6089
  let each_1_lookup = /* @__PURE__ */ new Map();
@@ -5989,7 +6140,7 @@ function create_fragment51(ctx) {
5989
6140
  function is_equal_color(a, b) {
5990
6141
  return a && b && a.every((v, i) => v === b[i]);
5991
6142
  }
5992
- function instance51($$self, $$props, $$invalidate) {
6143
+ function instance53($$self, $$props, $$invalidate) {
5993
6144
  let memberState;
5994
6145
  let strokeColor;
5995
6146
  let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(6, $memberState = $$value)), memberState);
@@ -6027,11 +6178,113 @@ function instance51($$self, $$props, $$invalidate) {
6027
6178
  var StrokeColor = class extends SvelteComponent {
6028
6179
  constructor(options) {
6029
6180
  super();
6030
- init(this, options, instance51, create_fragment51, safe_not_equal, { app: 5, theme: 0, disabled: 1 });
6181
+ init(this, options, instance53, create_fragment53, safe_not_equal, { app: 5, theme: 0, disabled: 1 });
6031
6182
  }
6032
6183
  };
6033
6184
  var StrokeColor_default = StrokeColor;
6034
6185
 
6186
+ // src/components/Toolbar/components/PencilEraserSize.svelte
6187
+ function create_fragment54(ctx) {
6188
+ let slider;
6189
+ let current;
6190
+ const slider_spread_levels = [
6191
+ {
6192
+ class: "fastboard-toolbar-slider pencil-eraser-size"
6193
+ },
6194
+ ctx[0],
6195
+ { min: 1 },
6196
+ { max: 3 },
6197
+ { step: 1 }
6198
+ ];
6199
+ let slider_props = {};
6200
+ for (let i = 0; i < slider_spread_levels.length; i += 1) {
6201
+ slider_props = assign(slider_props, slider_spread_levels[i]);
6202
+ }
6203
+ slider = new Slider_default({ props: slider_props });
6204
+ slider.$on("change", ctx[2]);
6205
+ return {
6206
+ c() {
6207
+ create_component(slider.$$.fragment);
6208
+ },
6209
+ m(target, anchor) {
6210
+ mount_component(slider, target, anchor);
6211
+ current = true;
6212
+ },
6213
+ p(ctx2, [dirty]) {
6214
+ const slider_changes = dirty & 1 ? get_spread_update(slider_spread_levels, [
6215
+ slider_spread_levels[0],
6216
+ get_spread_object(ctx2[0]),
6217
+ slider_spread_levels[2],
6218
+ slider_spread_levels[3],
6219
+ slider_spread_levels[4]
6220
+ ]) : {};
6221
+ slider.$set(slider_changes);
6222
+ },
6223
+ i(local) {
6224
+ if (current)
6225
+ return;
6226
+ transition_in(slider.$$.fragment, local);
6227
+ current = true;
6228
+ },
6229
+ o(local) {
6230
+ transition_out(slider.$$.fragment, local);
6231
+ current = false;
6232
+ },
6233
+ d(detaching) {
6234
+ destroy_component(slider, detaching);
6235
+ }
6236
+ };
6237
+ }
6238
+ function instance54($$self, $$props, $$invalidate) {
6239
+ let memberState;
6240
+ let value;
6241
+ let props;
6242
+ let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(7, $memberState = $$value)), memberState);
6243
+ $$self.$$.on_destroy.push(() => $$unsubscribe_memberState());
6244
+ let { app = null } = $$props;
6245
+ let { theme = "light" } = $$props;
6246
+ let { disabled = false } = $$props;
6247
+ function set_pencil_eraser_size({ detail: value2 }) {
6248
+ app?.setPencilEraserSize(value2);
6249
+ }
6250
+ $$self.$$set = ($$props2) => {
6251
+ if ("app" in $$props2)
6252
+ $$invalidate(3, app = $$props2.app);
6253
+ if ("theme" in $$props2)
6254
+ $$invalidate(4, theme = $$props2.theme);
6255
+ if ("disabled" in $$props2)
6256
+ $$invalidate(5, disabled = $$props2.disabled);
6257
+ };
6258
+ $$self.$$.update = () => {
6259
+ if ($$self.$$.dirty & 8) {
6260
+ $$subscribe_memberState($$invalidate(1, memberState = app?.memberState));
6261
+ }
6262
+ if ($$self.$$.dirty & 128) {
6263
+ $$invalidate(6, value = $memberState?.pencilEraserSize ?? 1);
6264
+ }
6265
+ if ($$self.$$.dirty & 112) {
6266
+ $$invalidate(0, props = { value, theme, disabled });
6267
+ }
6268
+ };
6269
+ return [
6270
+ props,
6271
+ memberState,
6272
+ set_pencil_eraser_size,
6273
+ app,
6274
+ theme,
6275
+ disabled,
6276
+ value,
6277
+ $memberState
6278
+ ];
6279
+ }
6280
+ var PencilEraserSize = class extends SvelteComponent {
6281
+ constructor(options) {
6282
+ super();
6283
+ init(this, options, instance54, create_fragment54, safe_not_equal, { app: 3, theme: 4, disabled: 5 });
6284
+ }
6285
+ };
6286
+ var PencilEraserSize_default = PencilEraserSize;
6287
+
6035
6288
  // src/components/Toolbar/components/TextColor.svelte
6036
6289
  function get_each_context2(ctx, list, i) {
6037
6290
  const child_ctx = ctx.slice();
@@ -6081,7 +6334,7 @@ function create_each_block2(key_1, ctx) {
6081
6334
  }
6082
6335
  };
6083
6336
  }
6084
- function create_fragment52(ctx) {
6337
+ function create_fragment55(ctx) {
6085
6338
  let div;
6086
6339
  let each_blocks = [];
6087
6340
  let each_1_lookup = /* @__PURE__ */ new Map();
@@ -6138,7 +6391,7 @@ function create_fragment52(ctx) {
6138
6391
  function is_equal_color2(a, b) {
6139
6392
  return a && b && a.every((v, i) => v === b[i]);
6140
6393
  }
6141
- function instance52($$self, $$props, $$invalidate) {
6394
+ function instance55($$self, $$props, $$invalidate) {
6142
6395
  let memberState;
6143
6396
  let textColor;
6144
6397
  let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(6, $memberState = $$value)), memberState);
@@ -6176,7 +6429,7 @@ function instance52($$self, $$props, $$invalidate) {
6176
6429
  var TextColor = class extends SvelteComponent {
6177
6430
  constructor(options) {
6178
6431
  super();
6179
- init(this, options, instance52, create_fragment52, safe_not_equal, { app: 5, theme: 0, disabled: 1 });
6432
+ init(this, options, instance55, create_fragment55, safe_not_equal, { app: 5, theme: 0, disabled: 1 });
6180
6433
  }
6181
6434
  };
6182
6435
  var TextColor_default = TextColor;
@@ -6430,7 +6683,7 @@ function create_each_block3(key_1, ctx) {
6430
6683
  }
6431
6684
  };
6432
6685
  }
6433
- function create_fragment53(ctx) {
6686
+ function create_fragment56(ctx) {
6434
6687
  let div;
6435
6688
  let each_blocks = [];
6436
6689
  let each_1_lookup = /* @__PURE__ */ new Map();
@@ -6522,7 +6775,7 @@ var i18n5 = {
6522
6775
  speechBalloon: "\u6C14\u6CE1"
6523
6776
  }
6524
6777
  };
6525
- function instance53($$self, $$props, $$invalidate) {
6778
+ function instance56($$self, $$props, $$invalidate) {
6526
6779
  let t;
6527
6780
  let memberState;
6528
6781
  let appliance;
@@ -6601,7 +6854,7 @@ function instance53($$self, $$props, $$invalidate) {
6601
6854
  var Shapes = class extends SvelteComponent {
6602
6855
  constructor(options) {
6603
6856
  super();
6604
- init(this, options, instance53, create_fragment53, safe_not_equal, {
6857
+ init(this, options, instance56, create_fragment56, safe_not_equal, {
6605
6858
  app: 8,
6606
6859
  theme: 0,
6607
6860
  language: 9,
@@ -6614,34 +6867,34 @@ var Shapes_default = Shapes;
6614
6867
  // src/components/Toolbar/components/Contents.svelte
6615
6868
  function get_each_context4(ctx, list, i) {
6616
6869
  const child_ctx = ctx.slice();
6617
- child_ctx[41] = list[i];
6618
- const constants_0 = child_ctx[41];
6619
- child_ctx[42] = constants_0.icon;
6620
- child_ctx[43] = constants_0.label;
6621
- child_ctx[44] = constants_0.kind;
6622
- child_ctx[45] = constants_0.onClick;
6623
- const constants_1 = child_ctx[20] && child_ctx[20][child_ctx[44]];
6624
- child_ctx[46] = constants_1;
6870
+ child_ctx[47] = list[i];
6871
+ const constants_0 = child_ctx[47];
6872
+ child_ctx[48] = constants_0.icon;
6873
+ child_ctx[49] = constants_0.label;
6874
+ child_ctx[50] = constants_0.kind;
6875
+ child_ctx[51] = constants_0.onClick;
6876
+ const constants_1 = child_ctx[23] && child_ctx[23][child_ctx[50]];
6877
+ child_ctx[52] = constants_1;
6625
6878
  const constants_2 = () => {
6626
- child_ctx[0] && child_ctx[45](child_ctx[0]);
6879
+ child_ctx[0] && child_ctx[51](child_ctx[0]);
6627
6880
  tippy_hide_all();
6628
6881
  };
6629
- child_ctx[47] = constants_2;
6882
+ child_ctx[53] = constants_2;
6630
6883
  return child_ctx;
6631
6884
  }
6632
- function create_if_block_8(ctx) {
6885
+ function create_if_block_17(ctx) {
6633
6886
  let button;
6634
6887
  let current;
6635
- const button_spread_levels = [{ class: "scroll-up" }, ctx[15]];
6888
+ const button_spread_levels = [{ class: "scroll-up" }, ctx[18]];
6636
6889
  let button_props = {
6637
- $$slots: { default: [create_default_slot_9] },
6890
+ $$slots: { default: [create_default_slot_132] },
6638
6891
  $$scope: { ctx }
6639
6892
  };
6640
6893
  for (let i = 0; i < button_spread_levels.length; i += 1) {
6641
6894
  button_props = assign(button_props, button_spread_levels[i]);
6642
6895
  }
6643
6896
  button = new Button_default({ props: button_props });
6644
- button.$on("click", ctx[22]);
6897
+ button.$on("click", ctx[25]);
6645
6898
  return {
6646
6899
  c() {
6647
6900
  create_component(button.$$.fragment);
@@ -6651,8 +6904,8 @@ function create_if_block_8(ctx) {
6651
6904
  current = true;
6652
6905
  },
6653
6906
  p(ctx2, dirty) {
6654
- const button_changes = dirty[0] & 32768 ? get_spread_update(button_spread_levels, [button_spread_levels[0], get_spread_object(ctx2[15])]) : {};
6655
- if (dirty[0] & 2 | dirty[1] & 524288) {
6907
+ const button_changes = dirty[0] & 262144 ? get_spread_update(button_spread_levels, [button_spread_levels[0], get_spread_object(ctx2[18])]) : {};
6908
+ if (dirty[0] & 2 | dirty[1] & 33554432) {
6656
6909
  button_changes.$$scope = { dirty, ctx: ctx2 };
6657
6910
  }
6658
6911
  button.$set(button_changes);
@@ -6672,7 +6925,7 @@ function create_if_block_8(ctx) {
6672
6925
  }
6673
6926
  };
6674
6927
  }
6675
- function create_default_slot_9(ctx) {
6928
+ function create_default_slot_132(ctx) {
6676
6929
  let icons_up;
6677
6930
  let current;
6678
6931
  icons_up = new Icons_default.Up({ props: { theme: ctx[1] } });
@@ -6705,7 +6958,7 @@ function create_default_slot_9(ctx) {
6705
6958
  }
6706
6959
  };
6707
6960
  }
6708
- function create_else_block_5(ctx) {
6961
+ function create_else_block_10(ctx) {
6709
6962
  let icons_click;
6710
6963
  let current;
6711
6964
  icons_click = new Icons_default.Click({ props: { theme: ctx[1] } });
@@ -6738,7 +6991,7 @@ function create_else_block_5(ctx) {
6738
6991
  }
6739
6992
  };
6740
6993
  }
6741
- function create_if_block_7(ctx) {
6994
+ function create_if_block_16(ctx) {
6742
6995
  let icons_clickfilled;
6743
6996
  let current;
6744
6997
  icons_clickfilled = new Icons_default.ClickFilled({
@@ -6773,12 +7026,12 @@ function create_if_block_7(ctx) {
6773
7026
  }
6774
7027
  };
6775
7028
  }
6776
- function create_default_slot_8(ctx) {
7029
+ function create_default_slot_122(ctx) {
6777
7030
  let current_block_type_index;
6778
7031
  let if_block;
6779
7032
  let if_block_anchor;
6780
7033
  let current;
6781
- const if_block_creators = [create_if_block_7, create_else_block_5];
7034
+ const if_block_creators = [create_if_block_16, create_else_block_10];
6782
7035
  const if_blocks = [];
6783
7036
  function select_block_type(ctx2, dirty) {
6784
7037
  if (ctx2[8] === "clicker")
@@ -6836,7 +7089,7 @@ function create_default_slot_8(ctx) {
6836
7089
  }
6837
7090
  };
6838
7091
  }
6839
- function create_else_block_4(ctx) {
7092
+ function create_else_block_9(ctx) {
6840
7093
  let icons_selector;
6841
7094
  let current;
6842
7095
  icons_selector = new Icons_default.Selector({ props: { theme: ctx[1] } });
@@ -6869,7 +7122,7 @@ function create_else_block_4(ctx) {
6869
7122
  }
6870
7123
  };
6871
7124
  }
6872
- function create_if_block_6(ctx) {
7125
+ function create_if_block_15(ctx) {
6873
7126
  let icons_selectorfilled;
6874
7127
  let current;
6875
7128
  icons_selectorfilled = new Icons_default.SelectorFilled({
@@ -6904,12 +7157,12 @@ function create_if_block_6(ctx) {
6904
7157
  }
6905
7158
  };
6906
7159
  }
6907
- function create_default_slot_7(ctx) {
7160
+ function create_default_slot_11(ctx) {
6908
7161
  let current_block_type_index;
6909
7162
  let if_block;
6910
7163
  let if_block_anchor;
6911
7164
  let current;
6912
- const if_block_creators = [create_if_block_6, create_else_block_4];
7165
+ const if_block_creators = [create_if_block_15, create_else_block_9];
6913
7166
  const if_blocks = [];
6914
7167
  function select_block_type_1(ctx2, dirty) {
6915
7168
  if (ctx2[8] === "selector")
@@ -6967,7 +7220,7 @@ function create_default_slot_7(ctx) {
6967
7220
  }
6968
7221
  };
6969
7222
  }
6970
- function create_else_block_3(ctx) {
7223
+ function create_else_block_8(ctx) {
6971
7224
  let icons_pencil;
6972
7225
  let current;
6973
7226
  icons_pencil = new Icons_default.Pencil({ props: { theme: ctx[1] } });
@@ -7000,7 +7253,7 @@ function create_else_block_3(ctx) {
7000
7253
  }
7001
7254
  };
7002
7255
  }
7003
- function create_if_block_5(ctx) {
7256
+ function create_if_block_14(ctx) {
7004
7257
  let icons_pencilfilled;
7005
7258
  let current;
7006
7259
  icons_pencilfilled = new Icons_default.PencilFilled({
@@ -7035,12 +7288,12 @@ function create_if_block_5(ctx) {
7035
7288
  }
7036
7289
  };
7037
7290
  }
7038
- function create_default_slot_6(ctx) {
7291
+ function create_default_slot_10(ctx) {
7039
7292
  let current_block_type_index;
7040
7293
  let if_block;
7041
7294
  let if_block_anchor;
7042
7295
  let current;
7043
- const if_block_creators = [create_if_block_5, create_else_block_3];
7296
+ const if_block_creators = [create_if_block_14, create_else_block_8];
7044
7297
  const if_blocks = [];
7045
7298
  function select_block_type_2(ctx2, dirty) {
7046
7299
  if (ctx2[8] === "pencil")
@@ -7098,7 +7351,7 @@ function create_default_slot_6(ctx) {
7098
7351
  }
7099
7352
  };
7100
7353
  }
7101
- function create_else_block_2(ctx) {
7354
+ function create_else_block_7(ctx) {
7102
7355
  let icons_text;
7103
7356
  let current;
7104
7357
  icons_text = new Icons_default.Text({ props: { theme: ctx[1] } });
@@ -7131,7 +7384,7 @@ function create_else_block_2(ctx) {
7131
7384
  }
7132
7385
  };
7133
7386
  }
7134
- function create_if_block_4(ctx) {
7387
+ function create_if_block_13(ctx) {
7135
7388
  let icons_textfilled;
7136
7389
  let current;
7137
7390
  icons_textfilled = new Icons_default.TextFilled({
@@ -7166,12 +7419,12 @@ function create_if_block_4(ctx) {
7166
7419
  }
7167
7420
  };
7168
7421
  }
7169
- function create_default_slot_53(ctx) {
7422
+ function create_default_slot_9(ctx) {
7170
7423
  let current_block_type_index;
7171
7424
  let if_block;
7172
7425
  let if_block_anchor;
7173
7426
  let current;
7174
- const if_block_creators = [create_if_block_4, create_else_block_2];
7427
+ const if_block_creators = [create_if_block_13, create_else_block_7];
7175
7428
  const if_blocks = [];
7176
7429
  function select_block_type_3(ctx2, dirty) {
7177
7430
  if (ctx2[8] === "text")
@@ -7229,11 +7482,11 @@ function create_default_slot_53(ctx) {
7229
7482
  }
7230
7483
  };
7231
7484
  }
7232
- function create_else_block_12(ctx) {
7485
+ function create_else_block_6(ctx) {
7233
7486
  let switch_instance;
7234
7487
  let switch_instance_anchor;
7235
7488
  let current;
7236
- var switch_value = shapesIcon[ctx[10]];
7489
+ var switch_value = shapesIcon[ctx[11]];
7237
7490
  function switch_props(ctx2) {
7238
7491
  return { props: { theme: ctx2[1] } };
7239
7492
  }
@@ -7257,7 +7510,7 @@ function create_else_block_12(ctx) {
7257
7510
  const switch_instance_changes = {};
7258
7511
  if (dirty[0] & 2)
7259
7512
  switch_instance_changes.theme = ctx2[1];
7260
- if (switch_value !== (switch_value = shapesIcon[ctx2[10]])) {
7513
+ if (switch_value !== (switch_value = shapesIcon[ctx2[11]])) {
7261
7514
  if (switch_instance) {
7262
7515
  group_outros();
7263
7516
  const old_component = switch_instance;
@@ -7298,11 +7551,11 @@ function create_else_block_12(ctx) {
7298
7551
  }
7299
7552
  };
7300
7553
  }
7301
- function create_if_block_3(ctx) {
7554
+ function create_if_block_12(ctx) {
7302
7555
  let switch_instance;
7303
7556
  let switch_instance_anchor;
7304
7557
  let current;
7305
- var switch_value = shapesIconActive[ctx[10]];
7558
+ var switch_value = shapesIconActive[ctx[11]];
7306
7559
  function switch_props(ctx2) {
7307
7560
  return {
7308
7561
  props: { theme: ctx2[1], active: true }
@@ -7328,7 +7581,7 @@ function create_if_block_3(ctx) {
7328
7581
  const switch_instance_changes = {};
7329
7582
  if (dirty[0] & 2)
7330
7583
  switch_instance_changes.theme = ctx2[1];
7331
- if (switch_value !== (switch_value = shapesIconActive[ctx2[10]])) {
7584
+ if (switch_value !== (switch_value = shapesIconActive[ctx2[11]])) {
7332
7585
  if (switch_instance) {
7333
7586
  group_outros();
7334
7587
  const old_component = switch_instance;
@@ -7369,15 +7622,15 @@ function create_if_block_3(ctx) {
7369
7622
  }
7370
7623
  };
7371
7624
  }
7372
- function create_default_slot_43(ctx) {
7625
+ function create_default_slot_8(ctx) {
7373
7626
  let current_block_type_index;
7374
7627
  let if_block;
7375
7628
  let if_block_anchor;
7376
7629
  let current;
7377
- const if_block_creators = [create_if_block_3, create_else_block_12];
7630
+ const if_block_creators = [create_if_block_12, create_else_block_6];
7378
7631
  const if_blocks = [];
7379
7632
  function select_block_type_4(ctx2, dirty) {
7380
- if (ctx2[8] === ctx2[10] || ctx2[8] === "shape" && ctx2[7] === ctx2[10])
7633
+ if (ctx2[8] === ctx2[11] || ctx2[8] === "shape" && ctx2[9] === ctx2[11])
7381
7634
  return 0;
7382
7635
  return 1;
7383
7636
  }
@@ -7432,87 +7685,316 @@ function create_default_slot_43(ctx) {
7432
7685
  }
7433
7686
  };
7434
7687
  }
7435
- function create_else_block6(ctx) {
7436
- let icons_eraser;
7688
+ function create_else_block_4(ctx) {
7689
+ let button;
7437
7690
  let current;
7438
- icons_eraser = new Icons_default.Eraser({ props: { theme: ctx[1] } });
7691
+ const button_spread_levels = [
7692
+ { class: "eraser" },
7693
+ ctx[18],
7694
+ {
7695
+ content: ctx[10][ctx[12]]
7696
+ },
7697
+ { menu: ctx[16] }
7698
+ ];
7699
+ let button_props = {
7700
+ $$slots: { default: [create_default_slot_7] },
7701
+ $$scope: { ctx }
7702
+ };
7703
+ for (let i = 0; i < button_spread_levels.length; i += 1) {
7704
+ button_props = assign(button_props, button_spread_levels[i]);
7705
+ }
7706
+ button = new Button_default({ props: button_props });
7707
+ button.$on("click", ctx[32]);
7439
7708
  return {
7440
7709
  c() {
7441
- create_component(icons_eraser.$$.fragment);
7710
+ create_component(button.$$.fragment);
7442
7711
  },
7443
7712
  m(target, anchor) {
7444
- mount_component(icons_eraser, target, anchor);
7713
+ mount_component(button, target, anchor);
7445
7714
  current = true;
7446
7715
  },
7447
7716
  p(ctx2, dirty) {
7448
- const icons_eraser_changes = {};
7449
- if (dirty[0] & 2)
7450
- icons_eraser_changes.theme = ctx2[1];
7451
- icons_eraser.$set(icons_eraser_changes);
7717
+ const button_changes = dirty[0] & 332800 ? get_spread_update(button_spread_levels, [
7718
+ button_spread_levels[0],
7719
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
7720
+ dirty[0] & 5120 && {
7721
+ content: ctx2[10][ctx2[12]]
7722
+ },
7723
+ dirty[0] & 65536 && { menu: ctx2[16] }
7724
+ ]) : {};
7725
+ if (dirty[0] & 4354 | dirty[1] & 33554432) {
7726
+ button_changes.$$scope = { dirty, ctx: ctx2 };
7727
+ }
7728
+ button.$set(button_changes);
7452
7729
  },
7453
7730
  i(local) {
7454
7731
  if (current)
7455
7732
  return;
7456
- transition_in(icons_eraser.$$.fragment, local);
7733
+ transition_in(button.$$.fragment, local);
7457
7734
  current = true;
7458
7735
  },
7459
7736
  o(local) {
7460
- transition_out(icons_eraser.$$.fragment, local);
7737
+ transition_out(button.$$.fragment, local);
7461
7738
  current = false;
7462
7739
  },
7463
7740
  d(detaching) {
7464
- destroy_component(icons_eraser, detaching);
7741
+ destroy_component(button, detaching);
7465
7742
  }
7466
7743
  };
7467
7744
  }
7468
- function create_if_block_2(ctx) {
7469
- let icons_eraserfilled;
7745
+ function create_if_block_9(ctx) {
7746
+ let button;
7470
7747
  let current;
7471
- icons_eraserfilled = new Icons_default.EraserFilled({
7472
- props: { theme: ctx[1], active: true }
7473
- });
7748
+ const button_spread_levels = [
7749
+ { class: "eraser" },
7750
+ ctx[18],
7751
+ { content: ctx[21].pencilEraser },
7752
+ { menu: ctx[16] }
7753
+ ];
7754
+ let button_props = {
7755
+ $$slots: { default: [create_default_slot_6] },
7756
+ $$scope: { ctx }
7757
+ };
7758
+ for (let i = 0; i < button_spread_levels.length; i += 1) {
7759
+ button_props = assign(button_props, button_spread_levels[i]);
7760
+ }
7761
+ button = new Button_default({ props: button_props });
7762
+ button.$on("click", ctx[34]);
7474
7763
  return {
7475
7764
  c() {
7476
- create_component(icons_eraserfilled.$$.fragment);
7765
+ create_component(button.$$.fragment);
7477
7766
  },
7478
7767
  m(target, anchor) {
7479
- mount_component(icons_eraserfilled, target, anchor);
7768
+ mount_component(button, target, anchor);
7480
7769
  current = true;
7481
7770
  },
7482
7771
  p(ctx2, dirty) {
7483
- const icons_eraserfilled_changes = {};
7484
- if (dirty[0] & 2)
7485
- icons_eraserfilled_changes.theme = ctx2[1];
7486
- icons_eraserfilled.$set(icons_eraserfilled_changes);
7772
+ const button_changes = dirty[0] & 2424832 ? get_spread_update(button_spread_levels, [
7773
+ button_spread_levels[0],
7774
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
7775
+ dirty[0] & 2097152 && { content: ctx2[21].pencilEraser },
7776
+ dirty[0] & 65536 && { menu: ctx2[16] }
7777
+ ]) : {};
7778
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
7779
+ button_changes.$$scope = { dirty, ctx: ctx2 };
7780
+ }
7781
+ button.$set(button_changes);
7487
7782
  },
7488
7783
  i(local) {
7489
7784
  if (current)
7490
7785
  return;
7491
- transition_in(icons_eraserfilled.$$.fragment, local);
7786
+ transition_in(button.$$.fragment, local);
7492
7787
  current = true;
7493
7788
  },
7494
7789
  o(local) {
7495
- transition_out(icons_eraserfilled.$$.fragment, local);
7790
+ transition_out(button.$$.fragment, local);
7496
7791
  current = false;
7497
7792
  },
7498
7793
  d(detaching) {
7499
- destroy_component(icons_eraserfilled, detaching);
7794
+ destroy_component(button, detaching);
7500
7795
  }
7501
7796
  };
7502
7797
  }
7503
- function create_default_slot_34(ctx) {
7504
- let current_block_type_index;
7505
- let if_block;
7506
- let if_block_anchor;
7798
+ function create_if_block_7(ctx) {
7799
+ let button;
7507
7800
  let current;
7508
- const if_block_creators = [create_if_block_2, create_else_block6];
7801
+ const button_spread_levels = [{ class: "eraser" }, ctx[18], { content: ctx[21].eraser }];
7802
+ let button_props = {
7803
+ $$slots: { default: [create_default_slot_53] },
7804
+ $$scope: { ctx }
7805
+ };
7806
+ for (let i = 0; i < button_spread_levels.length; i += 1) {
7807
+ button_props = assign(button_props, button_spread_levels[i]);
7808
+ }
7809
+ button = new Button_default({ props: button_props });
7810
+ button.$on("click", ctx[33]);
7811
+ return {
7812
+ c() {
7813
+ create_component(button.$$.fragment);
7814
+ },
7815
+ m(target, anchor) {
7816
+ mount_component(button, target, anchor);
7817
+ current = true;
7818
+ },
7819
+ p(ctx2, dirty) {
7820
+ const button_changes = dirty[0] & 2359296 ? get_spread_update(button_spread_levels, [
7821
+ button_spread_levels[0],
7822
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
7823
+ dirty[0] & 2097152 && { content: ctx2[21].eraser }
7824
+ ]) : {};
7825
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
7826
+ button_changes.$$scope = { dirty, ctx: ctx2 };
7827
+ }
7828
+ button.$set(button_changes);
7829
+ },
7830
+ i(local) {
7831
+ if (current)
7832
+ return;
7833
+ transition_in(button.$$.fragment, local);
7834
+ current = true;
7835
+ },
7836
+ o(local) {
7837
+ transition_out(button.$$.fragment, local);
7838
+ current = false;
7839
+ },
7840
+ d(detaching) {
7841
+ destroy_component(button, detaching);
7842
+ }
7843
+ };
7844
+ }
7845
+ function create_else_block_5(ctx) {
7846
+ let switch_instance;
7847
+ let switch_instance_anchor;
7848
+ let current;
7849
+ var switch_value = eraserIcon[ctx[12]];
7850
+ function switch_props(ctx2) {
7851
+ return { props: { theme: ctx2[1] } };
7852
+ }
7853
+ if (switch_value) {
7854
+ switch_instance = new switch_value(switch_props(ctx));
7855
+ }
7856
+ return {
7857
+ c() {
7858
+ if (switch_instance)
7859
+ create_component(switch_instance.$$.fragment);
7860
+ switch_instance_anchor = empty();
7861
+ },
7862
+ m(target, anchor) {
7863
+ if (switch_instance) {
7864
+ mount_component(switch_instance, target, anchor);
7865
+ }
7866
+ insert(target, switch_instance_anchor, anchor);
7867
+ current = true;
7868
+ },
7869
+ p(ctx2, dirty) {
7870
+ const switch_instance_changes = {};
7871
+ if (dirty[0] & 2)
7872
+ switch_instance_changes.theme = ctx2[1];
7873
+ if (switch_value !== (switch_value = eraserIcon[ctx2[12]])) {
7874
+ if (switch_instance) {
7875
+ group_outros();
7876
+ const old_component = switch_instance;
7877
+ transition_out(old_component.$$.fragment, 1, 0, () => {
7878
+ destroy_component(old_component, 1);
7879
+ });
7880
+ check_outros();
7881
+ }
7882
+ if (switch_value) {
7883
+ switch_instance = new switch_value(switch_props(ctx2));
7884
+ create_component(switch_instance.$$.fragment);
7885
+ transition_in(switch_instance.$$.fragment, 1);
7886
+ mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
7887
+ } else {
7888
+ switch_instance = null;
7889
+ }
7890
+ } else if (switch_value) {
7891
+ switch_instance.$set(switch_instance_changes);
7892
+ }
7893
+ },
7894
+ i(local) {
7895
+ if (current)
7896
+ return;
7897
+ if (switch_instance)
7898
+ transition_in(switch_instance.$$.fragment, local);
7899
+ current = true;
7900
+ },
7901
+ o(local) {
7902
+ if (switch_instance)
7903
+ transition_out(switch_instance.$$.fragment, local);
7904
+ current = false;
7905
+ },
7906
+ d(detaching) {
7907
+ if (detaching)
7908
+ detach(switch_instance_anchor);
7909
+ if (switch_instance)
7910
+ destroy_component(switch_instance, detaching);
7911
+ }
7912
+ };
7913
+ }
7914
+ function create_if_block_11(ctx) {
7915
+ let switch_instance;
7916
+ let switch_instance_anchor;
7917
+ let current;
7918
+ var switch_value = eraserIconActive[ctx[12]];
7919
+ function switch_props(ctx2) {
7920
+ return {
7921
+ props: { theme: ctx2[1], active: true }
7922
+ };
7923
+ }
7924
+ if (switch_value) {
7925
+ switch_instance = new switch_value(switch_props(ctx));
7926
+ }
7927
+ return {
7928
+ c() {
7929
+ if (switch_instance)
7930
+ create_component(switch_instance.$$.fragment);
7931
+ switch_instance_anchor = empty();
7932
+ },
7933
+ m(target, anchor) {
7934
+ if (switch_instance) {
7935
+ mount_component(switch_instance, target, anchor);
7936
+ }
7937
+ insert(target, switch_instance_anchor, anchor);
7938
+ current = true;
7939
+ },
7940
+ p(ctx2, dirty) {
7941
+ const switch_instance_changes = {};
7942
+ if (dirty[0] & 2)
7943
+ switch_instance_changes.theme = ctx2[1];
7944
+ if (switch_value !== (switch_value = eraserIconActive[ctx2[12]])) {
7945
+ if (switch_instance) {
7946
+ group_outros();
7947
+ const old_component = switch_instance;
7948
+ transition_out(old_component.$$.fragment, 1, 0, () => {
7949
+ destroy_component(old_component, 1);
7950
+ });
7951
+ check_outros();
7952
+ }
7953
+ if (switch_value) {
7954
+ switch_instance = new switch_value(switch_props(ctx2));
7955
+ create_component(switch_instance.$$.fragment);
7956
+ transition_in(switch_instance.$$.fragment, 1);
7957
+ mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
7958
+ } else {
7959
+ switch_instance = null;
7960
+ }
7961
+ } else if (switch_value) {
7962
+ switch_instance.$set(switch_instance_changes);
7963
+ }
7964
+ },
7965
+ i(local) {
7966
+ if (current)
7967
+ return;
7968
+ if (switch_instance)
7969
+ transition_in(switch_instance.$$.fragment, local);
7970
+ current = true;
7971
+ },
7972
+ o(local) {
7973
+ if (switch_instance)
7974
+ transition_out(switch_instance.$$.fragment, local);
7975
+ current = false;
7976
+ },
7977
+ d(detaching) {
7978
+ if (detaching)
7979
+ detach(switch_instance_anchor);
7980
+ if (switch_instance)
7981
+ destroy_component(switch_instance, detaching);
7982
+ }
7983
+ };
7984
+ }
7985
+ function create_default_slot_7(ctx) {
7986
+ let current_block_type_index;
7987
+ let if_block;
7988
+ let if_block_anchor;
7989
+ let current;
7990
+ const if_block_creators = [create_if_block_11, create_else_block_5];
7509
7991
  const if_blocks = [];
7510
- function select_block_type_5(ctx2, dirty) {
7511
- if (ctx2[8] === "eraser")
7992
+ function select_block_type_8(ctx2, dirty) {
7993
+ if (ctx2[8] === ctx2[12])
7512
7994
  return 0;
7513
7995
  return 1;
7514
7996
  }
7515
- current_block_type_index = select_block_type_5(ctx);
7997
+ current_block_type_index = select_block_type_8(ctx);
7516
7998
  if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
7517
7999
  return {
7518
8000
  c() {
@@ -7526,7 +8008,7 @@ function create_default_slot_34(ctx) {
7526
8008
  },
7527
8009
  p(ctx2, dirty) {
7528
8010
  let previous_block_index = current_block_type_index;
7529
- current_block_type_index = select_block_type_5(ctx2);
8011
+ current_block_type_index = select_block_type_8(ctx2);
7530
8012
  if (current_block_type_index === previous_block_index) {
7531
8013
  if_blocks[current_block_type_index].p(ctx2, dirty);
7532
8014
  } else {
@@ -7563,204 +8045,960 @@ function create_default_slot_34(ctx) {
7563
8045
  }
7564
8046
  };
7565
8047
  }
7566
- function create_default_slot_24(ctx) {
7567
- let icons_clear;
8048
+ function create_else_block_3(ctx) {
8049
+ let icons_pencileraser;
7568
8050
  let current;
7569
- icons_clear = new Icons_default.Clear({ props: { theme: ctx[1] } });
8051
+ icons_pencileraser = new Icons_default.PencilEraser({ props: { theme: ctx[1] } });
7570
8052
  return {
7571
8053
  c() {
7572
- create_component(icons_clear.$$.fragment);
8054
+ create_component(icons_pencileraser.$$.fragment);
7573
8055
  },
7574
8056
  m(target, anchor) {
7575
- mount_component(icons_clear, target, anchor);
8057
+ mount_component(icons_pencileraser, target, anchor);
7576
8058
  current = true;
7577
8059
  },
7578
8060
  p(ctx2, dirty) {
7579
- const icons_clear_changes = {};
8061
+ const icons_pencileraser_changes = {};
7580
8062
  if (dirty[0] & 2)
7581
- icons_clear_changes.theme = ctx2[1];
7582
- icons_clear.$set(icons_clear_changes);
8063
+ icons_pencileraser_changes.theme = ctx2[1];
8064
+ icons_pencileraser.$set(icons_pencileraser_changes);
7583
8065
  },
7584
8066
  i(local) {
7585
8067
  if (current)
7586
8068
  return;
7587
- transition_in(icons_clear.$$.fragment, local);
8069
+ transition_in(icons_pencileraser.$$.fragment, local);
7588
8070
  current = true;
7589
8071
  },
7590
8072
  o(local) {
7591
- transition_out(icons_clear.$$.fragment, local);
8073
+ transition_out(icons_pencileraser.$$.fragment, local);
7592
8074
  current = false;
7593
8075
  },
7594
8076
  d(detaching) {
7595
- destroy_component(icons_clear, detaching);
8077
+ destroy_component(icons_pencileraser, detaching);
7596
8078
  }
7597
8079
  };
7598
8080
  }
7599
- function create_if_block_12(ctx) {
7600
- let button;
8081
+ function create_if_block_10(ctx) {
8082
+ let icons_pencileraserfilled;
7601
8083
  let current;
7602
- const button_spread_levels = [
7603
- { class: "apps" },
7604
- ctx[15],
7605
- { content: ctx[9].apps },
7606
- { menu: ctx[14] },
7607
- { menu_placement: "right-end" }
7608
- ];
7609
- let button_props = {
7610
- $$slots: { default: [create_default_slot_14] },
7611
- $$scope: { ctx }
7612
- };
7613
- for (let i = 0; i < button_spread_levels.length; i += 1) {
7614
- button_props = assign(button_props, button_spread_levels[i]);
7615
- }
7616
- button = new Button_default({ props: button_props });
8084
+ icons_pencileraserfilled = new Icons_default.PencilEraserFilled({
8085
+ props: { theme: ctx[1], active: true }
8086
+ });
7617
8087
  return {
7618
8088
  c() {
7619
- create_component(button.$$.fragment);
8089
+ create_component(icons_pencileraserfilled.$$.fragment);
7620
8090
  },
7621
8091
  m(target, anchor) {
7622
- mount_component(button, target, anchor);
8092
+ mount_component(icons_pencileraserfilled, target, anchor);
7623
8093
  current = true;
7624
8094
  },
7625
8095
  p(ctx2, dirty) {
7626
- const button_changes = dirty[0] & 49664 ? get_spread_update(button_spread_levels, [
7627
- button_spread_levels[0],
7628
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
7629
- dirty[0] & 512 && { content: ctx2[9].apps },
7630
- dirty[0] & 16384 && { menu: ctx2[14] },
7631
- button_spread_levels[4]
7632
- ]) : {};
7633
- if (dirty[0] & 2 | dirty[1] & 524288) {
7634
- button_changes.$$scope = { dirty, ctx: ctx2 };
7635
- }
7636
- button.$set(button_changes);
8096
+ const icons_pencileraserfilled_changes = {};
8097
+ if (dirty[0] & 2)
8098
+ icons_pencileraserfilled_changes.theme = ctx2[1];
8099
+ icons_pencileraserfilled.$set(icons_pencileraserfilled_changes);
7637
8100
  },
7638
8101
  i(local) {
7639
8102
  if (current)
7640
8103
  return;
7641
- transition_in(button.$$.fragment, local);
8104
+ transition_in(icons_pencileraserfilled.$$.fragment, local);
7642
8105
  current = true;
7643
8106
  },
7644
8107
  o(local) {
7645
- transition_out(button.$$.fragment, local);
8108
+ transition_out(icons_pencileraserfilled.$$.fragment, local);
7646
8109
  current = false;
7647
8110
  },
7648
8111
  d(detaching) {
7649
- destroy_component(button, detaching);
8112
+ destroy_component(icons_pencileraserfilled, detaching);
7650
8113
  }
7651
8114
  };
7652
8115
  }
7653
- function create_default_slot_14(ctx) {
7654
- let icons_apps;
8116
+ function create_default_slot_6(ctx) {
8117
+ let current_block_type_index;
8118
+ let if_block;
8119
+ let if_block_anchor;
7655
8120
  let current;
7656
- icons_apps = new Icons_default.Apps({ props: { theme: ctx[1] } });
8121
+ const if_block_creators = [create_if_block_10, create_else_block_3];
8122
+ const if_blocks = [];
8123
+ function select_block_type_7(ctx2, dirty) {
8124
+ if (ctx2[8] === "pencilEraser")
8125
+ return 0;
8126
+ return 1;
8127
+ }
8128
+ current_block_type_index = select_block_type_7(ctx);
8129
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
7657
8130
  return {
7658
8131
  c() {
7659
- create_component(icons_apps.$$.fragment);
8132
+ if_block.c();
8133
+ if_block_anchor = empty();
7660
8134
  },
7661
8135
  m(target, anchor) {
7662
- mount_component(icons_apps, target, anchor);
8136
+ if_blocks[current_block_type_index].m(target, anchor);
8137
+ insert(target, if_block_anchor, anchor);
7663
8138
  current = true;
7664
8139
  },
7665
8140
  p(ctx2, dirty) {
7666
- const icons_apps_changes = {};
7667
- if (dirty[0] & 2)
7668
- icons_apps_changes.theme = ctx2[1];
7669
- icons_apps.$set(icons_apps_changes);
8141
+ let previous_block_index = current_block_type_index;
8142
+ current_block_type_index = select_block_type_7(ctx2);
8143
+ if (current_block_type_index === previous_block_index) {
8144
+ if_blocks[current_block_type_index].p(ctx2, dirty);
8145
+ } else {
8146
+ group_outros();
8147
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
8148
+ if_blocks[previous_block_index] = null;
8149
+ });
8150
+ check_outros();
8151
+ if_block = if_blocks[current_block_type_index];
8152
+ if (!if_block) {
8153
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
8154
+ if_block.c();
8155
+ } else {
8156
+ if_block.p(ctx2, dirty);
8157
+ }
8158
+ transition_in(if_block, 1);
8159
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
8160
+ }
8161
+ },
8162
+ i(local) {
8163
+ if (current)
8164
+ return;
8165
+ transition_in(if_block);
8166
+ current = true;
8167
+ },
8168
+ o(local) {
8169
+ transition_out(if_block);
8170
+ current = false;
8171
+ },
8172
+ d(detaching) {
8173
+ if_blocks[current_block_type_index].d(detaching);
8174
+ if (detaching)
8175
+ detach(if_block_anchor);
8176
+ }
8177
+ };
8178
+ }
8179
+ function create_else_block_2(ctx) {
8180
+ let icons_eraser;
8181
+ let current;
8182
+ icons_eraser = new Icons_default.Eraser({ props: { theme: ctx[1] } });
8183
+ return {
8184
+ c() {
8185
+ create_component(icons_eraser.$$.fragment);
8186
+ },
8187
+ m(target, anchor) {
8188
+ mount_component(icons_eraser, target, anchor);
8189
+ current = true;
8190
+ },
8191
+ p(ctx2, dirty) {
8192
+ const icons_eraser_changes = {};
8193
+ if (dirty[0] & 2)
8194
+ icons_eraser_changes.theme = ctx2[1];
8195
+ icons_eraser.$set(icons_eraser_changes);
8196
+ },
8197
+ i(local) {
8198
+ if (current)
8199
+ return;
8200
+ transition_in(icons_eraser.$$.fragment, local);
8201
+ current = true;
8202
+ },
8203
+ o(local) {
8204
+ transition_out(icons_eraser.$$.fragment, local);
8205
+ current = false;
8206
+ },
8207
+ d(detaching) {
8208
+ destroy_component(icons_eraser, detaching);
8209
+ }
8210
+ };
8211
+ }
8212
+ function create_if_block_8(ctx) {
8213
+ let icons_eraserfilled;
8214
+ let current;
8215
+ icons_eraserfilled = new Icons_default.EraserFilled({
8216
+ props: { theme: ctx[1], active: true }
8217
+ });
8218
+ return {
8219
+ c() {
8220
+ create_component(icons_eraserfilled.$$.fragment);
8221
+ },
8222
+ m(target, anchor) {
8223
+ mount_component(icons_eraserfilled, target, anchor);
8224
+ current = true;
8225
+ },
8226
+ p(ctx2, dirty) {
8227
+ const icons_eraserfilled_changes = {};
8228
+ if (dirty[0] & 2)
8229
+ icons_eraserfilled_changes.theme = ctx2[1];
8230
+ icons_eraserfilled.$set(icons_eraserfilled_changes);
8231
+ },
8232
+ i(local) {
8233
+ if (current)
8234
+ return;
8235
+ transition_in(icons_eraserfilled.$$.fragment, local);
8236
+ current = true;
8237
+ },
8238
+ o(local) {
8239
+ transition_out(icons_eraserfilled.$$.fragment, local);
8240
+ current = false;
8241
+ },
8242
+ d(detaching) {
8243
+ destroy_component(icons_eraserfilled, detaching);
8244
+ }
8245
+ };
8246
+ }
8247
+ function create_default_slot_53(ctx) {
8248
+ let current_block_type_index;
8249
+ let if_block;
8250
+ let if_block_anchor;
8251
+ let current;
8252
+ const if_block_creators = [create_if_block_8, create_else_block_2];
8253
+ const if_blocks = [];
8254
+ function select_block_type_6(ctx2, dirty) {
8255
+ if (ctx2[8] === "eraser")
8256
+ return 0;
8257
+ return 1;
8258
+ }
8259
+ current_block_type_index = select_block_type_6(ctx);
8260
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
8261
+ return {
8262
+ c() {
8263
+ if_block.c();
8264
+ if_block_anchor = empty();
8265
+ },
8266
+ m(target, anchor) {
8267
+ if_blocks[current_block_type_index].m(target, anchor);
8268
+ insert(target, if_block_anchor, anchor);
8269
+ current = true;
8270
+ },
8271
+ p(ctx2, dirty) {
8272
+ let previous_block_index = current_block_type_index;
8273
+ current_block_type_index = select_block_type_6(ctx2);
8274
+ if (current_block_type_index === previous_block_index) {
8275
+ if_blocks[current_block_type_index].p(ctx2, dirty);
8276
+ } else {
8277
+ group_outros();
8278
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
8279
+ if_blocks[previous_block_index] = null;
8280
+ });
8281
+ check_outros();
8282
+ if_block = if_blocks[current_block_type_index];
8283
+ if (!if_block) {
8284
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
8285
+ if_block.c();
8286
+ } else {
8287
+ if_block.p(ctx2, dirty);
8288
+ }
8289
+ transition_in(if_block, 1);
8290
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
8291
+ }
8292
+ },
8293
+ i(local) {
8294
+ if (current)
8295
+ return;
8296
+ transition_in(if_block);
8297
+ current = true;
8298
+ },
8299
+ o(local) {
8300
+ transition_out(if_block);
8301
+ current = false;
8302
+ },
8303
+ d(detaching) {
8304
+ if_blocks[current_block_type_index].d(detaching);
8305
+ if (detaching)
8306
+ detach(if_block_anchor);
8307
+ }
8308
+ };
8309
+ }
8310
+ function create_default_slot_43(ctx) {
8311
+ let icons_clear;
8312
+ let current;
8313
+ icons_clear = new Icons_default.Clear({ props: { theme: ctx[1] } });
8314
+ return {
8315
+ c() {
8316
+ create_component(icons_clear.$$.fragment);
8317
+ },
8318
+ m(target, anchor) {
8319
+ mount_component(icons_clear, target, anchor);
8320
+ current = true;
8321
+ },
8322
+ p(ctx2, dirty) {
8323
+ const icons_clear_changes = {};
8324
+ if (dirty[0] & 2)
8325
+ icons_clear_changes.theme = ctx2[1];
8326
+ icons_clear.$set(icons_clear_changes);
8327
+ },
8328
+ i(local) {
8329
+ if (current)
8330
+ return;
8331
+ transition_in(icons_clear.$$.fragment, local);
8332
+ current = true;
8333
+ },
8334
+ o(local) {
8335
+ transition_out(icons_clear.$$.fragment, local);
8336
+ current = false;
8337
+ },
8338
+ d(detaching) {
8339
+ destroy_component(icons_clear, detaching);
8340
+ }
8341
+ };
8342
+ }
8343
+ function create_if_block_6(ctx) {
8344
+ let button;
8345
+ let current;
8346
+ const button_spread_levels = [
8347
+ { class: "apps" },
8348
+ ctx[18],
8349
+ { content: ctx[10].apps },
8350
+ { menu: ctx[17] },
8351
+ { menu_placement: "right-end" }
8352
+ ];
8353
+ let button_props = {
8354
+ $$slots: { default: [create_default_slot_34] },
8355
+ $$scope: { ctx }
8356
+ };
8357
+ for (let i = 0; i < button_spread_levels.length; i += 1) {
8358
+ button_props = assign(button_props, button_spread_levels[i]);
8359
+ }
8360
+ button = new Button_default({ props: button_props });
8361
+ return {
8362
+ c() {
8363
+ create_component(button.$$.fragment);
8364
+ },
8365
+ m(target, anchor) {
8366
+ mount_component(button, target, anchor);
8367
+ current = true;
8368
+ },
8369
+ p(ctx2, dirty) {
8370
+ const button_changes = dirty[0] & 394240 ? get_spread_update(button_spread_levels, [
8371
+ button_spread_levels[0],
8372
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
8373
+ dirty[0] & 1024 && { content: ctx2[10].apps },
8374
+ dirty[0] & 131072 && { menu: ctx2[17] },
8375
+ button_spread_levels[4]
8376
+ ]) : {};
8377
+ if (dirty[0] & 2 | dirty[1] & 33554432) {
8378
+ button_changes.$$scope = { dirty, ctx: ctx2 };
8379
+ }
8380
+ button.$set(button_changes);
8381
+ },
8382
+ i(local) {
8383
+ if (current)
8384
+ return;
8385
+ transition_in(button.$$.fragment, local);
8386
+ current = true;
8387
+ },
8388
+ o(local) {
8389
+ transition_out(button.$$.fragment, local);
8390
+ current = false;
8391
+ },
8392
+ d(detaching) {
8393
+ destroy_component(button, detaching);
8394
+ }
8395
+ };
8396
+ }
8397
+ function create_default_slot_34(ctx) {
8398
+ let icons_apps;
8399
+ let current;
8400
+ icons_apps = new Icons_default.Apps({ props: { theme: ctx[1] } });
8401
+ return {
8402
+ c() {
8403
+ create_component(icons_apps.$$.fragment);
8404
+ },
8405
+ m(target, anchor) {
8406
+ mount_component(icons_apps, target, anchor);
8407
+ current = true;
8408
+ },
8409
+ p(ctx2, dirty) {
8410
+ const icons_apps_changes = {};
8411
+ if (dirty[0] & 2)
8412
+ icons_apps_changes.theme = ctx2[1];
8413
+ icons_apps.$set(icons_apps_changes);
8414
+ },
8415
+ i(local) {
8416
+ if (current)
8417
+ return;
8418
+ transition_in(icons_apps.$$.fragment, local);
8419
+ current = true;
8420
+ },
8421
+ o(local) {
8422
+ transition_out(icons_apps.$$.fragment, local);
8423
+ current = false;
8424
+ },
8425
+ d(detaching) {
8426
+ destroy_component(icons_apps, detaching);
8427
+ }
8428
+ };
8429
+ }
8430
+ function create_if_block_5(ctx) {
8431
+ let button;
8432
+ let current;
8433
+ button = new Button_default({
8434
+ props: {
8435
+ class: "scroll-down",
8436
+ name: name5,
8437
+ theme: ctx[1],
8438
+ disabled: ctx[3],
8439
+ $$slots: { default: [create_default_slot_24] },
8440
+ $$scope: { ctx }
8441
+ }
8442
+ });
8443
+ button.$on("click", ctx[26]);
8444
+ return {
8445
+ c() {
8446
+ create_component(button.$$.fragment);
8447
+ },
8448
+ m(target, anchor) {
8449
+ mount_component(button, target, anchor);
8450
+ current = true;
8451
+ },
8452
+ p(ctx2, dirty) {
8453
+ const button_changes = {};
8454
+ if (dirty[0] & 2)
8455
+ button_changes.theme = ctx2[1];
8456
+ if (dirty[0] & 8)
8457
+ button_changes.disabled = ctx2[3];
8458
+ if (dirty[0] & 2 | dirty[1] & 33554432) {
8459
+ button_changes.$$scope = { dirty, ctx: ctx2 };
8460
+ }
8461
+ button.$set(button_changes);
8462
+ },
8463
+ i(local) {
8464
+ if (current)
8465
+ return;
8466
+ transition_in(button.$$.fragment, local);
8467
+ current = true;
8468
+ },
8469
+ o(local) {
8470
+ transition_out(button.$$.fragment, local);
8471
+ current = false;
8472
+ },
8473
+ d(detaching) {
8474
+ destroy_component(button, detaching);
8475
+ }
8476
+ };
8477
+ }
8478
+ function create_default_slot_24(ctx) {
8479
+ let icons_down;
8480
+ let current;
8481
+ icons_down = new Icons_default.Down({ props: { theme: ctx[1] } });
8482
+ return {
8483
+ c() {
8484
+ create_component(icons_down.$$.fragment);
8485
+ },
8486
+ m(target, anchor) {
8487
+ mount_component(icons_down, target, anchor);
8488
+ current = true;
8489
+ },
8490
+ p(ctx2, dirty) {
8491
+ const icons_down_changes = {};
8492
+ if (dirty[0] & 2)
8493
+ icons_down_changes.theme = ctx2[1];
8494
+ icons_down.$set(icons_down_changes);
8495
+ },
8496
+ i(local) {
8497
+ if (current)
8498
+ return;
8499
+ transition_in(icons_down.$$.fragment, local);
8500
+ current = true;
8501
+ },
8502
+ o(local) {
8503
+ transition_out(icons_down.$$.fragment, local);
8504
+ current = false;
8505
+ },
8506
+ d(detaching) {
8507
+ destroy_component(icons_down, detaching);
8508
+ }
8509
+ };
8510
+ }
8511
+ function create_if_block_4(ctx) {
8512
+ let pencilerasersize;
8513
+ let current;
8514
+ pencilerasersize = new PencilEraserSize_default({
8515
+ props: {
8516
+ app: ctx[0],
8517
+ theme: ctx[1],
8518
+ disabled: ctx[3]
8519
+ }
8520
+ });
8521
+ return {
8522
+ c() {
8523
+ create_component(pencilerasersize.$$.fragment);
8524
+ },
8525
+ m(target, anchor) {
8526
+ mount_component(pencilerasersize, target, anchor);
8527
+ current = true;
8528
+ },
8529
+ p(ctx2, dirty) {
8530
+ const pencilerasersize_changes = {};
8531
+ if (dirty[0] & 1)
8532
+ pencilerasersize_changes.app = ctx2[0];
8533
+ if (dirty[0] & 2)
8534
+ pencilerasersize_changes.theme = ctx2[1];
8535
+ if (dirty[0] & 8)
8536
+ pencilerasersize_changes.disabled = ctx2[3];
8537
+ pencilerasersize.$set(pencilerasersize_changes);
8538
+ },
8539
+ i(local) {
8540
+ if (current)
8541
+ return;
8542
+ transition_in(pencilerasersize.$$.fragment, local);
8543
+ current = true;
8544
+ },
8545
+ o(local) {
8546
+ transition_out(pencilerasersize.$$.fragment, local);
8547
+ current = false;
8548
+ },
8549
+ d(detaching) {
8550
+ destroy_component(pencilerasersize, detaching);
8551
+ }
8552
+ };
8553
+ }
8554
+ function create_if_block6(ctx) {
8555
+ let div;
8556
+ let button0;
8557
+ let t0;
8558
+ let button1;
8559
+ let t1;
8560
+ let if_block_anchor;
8561
+ let current;
8562
+ const button0_spread_levels = [
8563
+ { class: "eraser" },
8564
+ ctx[18],
8565
+ { placement: "top" },
8566
+ {
8567
+ content: ctx[21].pencilEraserForPanel
8568
+ }
8569
+ ];
8570
+ let button0_props = {
8571
+ $$slots: { default: [create_default_slot_14] },
8572
+ $$scope: { ctx }
8573
+ };
8574
+ for (let i = 0; i < button0_spread_levels.length; i += 1) {
8575
+ button0_props = assign(button0_props, button0_spread_levels[i]);
8576
+ }
8577
+ button0 = new Button_default({ props: button0_props });
8578
+ button0.$on("click", ctx[34]);
8579
+ const button1_spread_levels = [
8580
+ { class: "eraser" },
8581
+ ctx[18],
8582
+ { placement: "top" },
8583
+ { content: ctx[21].eraserForPanel }
8584
+ ];
8585
+ let button1_props = {
8586
+ $$slots: { default: [create_default_slot4] },
8587
+ $$scope: { ctx }
8588
+ };
8589
+ for (let i = 0; i < button1_spread_levels.length; i += 1) {
8590
+ button1_props = assign(button1_props, button1_spread_levels[i]);
8591
+ }
8592
+ button1 = new Button_default({ props: button1_props });
8593
+ button1.$on("click", ctx[33]);
8594
+ let if_block = ctx[8] === "pencilEraser" && create_if_block_18(ctx);
8595
+ return {
8596
+ c() {
8597
+ div = element("div");
8598
+ create_component(button0.$$.fragment);
8599
+ t0 = space();
8600
+ create_component(button1.$$.fragment);
8601
+ t1 = space();
8602
+ if (if_block)
8603
+ if_block.c();
8604
+ if_block_anchor = empty();
8605
+ attr(div, "class", name5 + "-panel-btns");
8606
+ },
8607
+ m(target, anchor) {
8608
+ insert(target, div, anchor);
8609
+ mount_component(button0, div, null);
8610
+ append(div, t0);
8611
+ mount_component(button1, div, null);
8612
+ insert(target, t1, anchor);
8613
+ if (if_block)
8614
+ if_block.m(target, anchor);
8615
+ insert(target, if_block_anchor, anchor);
8616
+ current = true;
8617
+ },
8618
+ p(ctx2, dirty) {
8619
+ const button0_changes = dirty[0] & 2359296 ? get_spread_update(button0_spread_levels, [
8620
+ button0_spread_levels[0],
8621
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
8622
+ button0_spread_levels[2],
8623
+ dirty[0] & 2097152 && {
8624
+ content: ctx2[21].pencilEraserForPanel
8625
+ }
8626
+ ]) : {};
8627
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8628
+ button0_changes.$$scope = { dirty, ctx: ctx2 };
8629
+ }
8630
+ button0.$set(button0_changes);
8631
+ const button1_changes = dirty[0] & 2359296 ? get_spread_update(button1_spread_levels, [
8632
+ button1_spread_levels[0],
8633
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
8634
+ button1_spread_levels[2],
8635
+ dirty[0] & 2097152 && { content: ctx2[21].eraserForPanel }
8636
+ ]) : {};
8637
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8638
+ button1_changes.$$scope = { dirty, ctx: ctx2 };
8639
+ }
8640
+ button1.$set(button1_changes);
8641
+ if (ctx2[8] === "pencilEraser") {
8642
+ if (if_block) {
8643
+ if_block.p(ctx2, dirty);
8644
+ if (dirty[0] & 256) {
8645
+ transition_in(if_block, 1);
8646
+ }
8647
+ } else {
8648
+ if_block = create_if_block_18(ctx2);
8649
+ if_block.c();
8650
+ transition_in(if_block, 1);
8651
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
8652
+ }
8653
+ } else if (if_block) {
8654
+ group_outros();
8655
+ transition_out(if_block, 1, 1, () => {
8656
+ if_block = null;
8657
+ });
8658
+ check_outros();
8659
+ }
8660
+ },
8661
+ i(local) {
8662
+ if (current)
8663
+ return;
8664
+ transition_in(button0.$$.fragment, local);
8665
+ transition_in(button1.$$.fragment, local);
8666
+ transition_in(if_block);
8667
+ current = true;
8668
+ },
8669
+ o(local) {
8670
+ transition_out(button0.$$.fragment, local);
8671
+ transition_out(button1.$$.fragment, local);
8672
+ transition_out(if_block);
8673
+ current = false;
8674
+ },
8675
+ d(detaching) {
8676
+ if (detaching)
8677
+ detach(div);
8678
+ destroy_component(button0);
8679
+ destroy_component(button1);
8680
+ if (detaching)
8681
+ detach(t1);
8682
+ if (if_block)
8683
+ if_block.d(detaching);
8684
+ if (detaching)
8685
+ detach(if_block_anchor);
8686
+ }
8687
+ };
8688
+ }
8689
+ function create_else_block_12(ctx) {
8690
+ let icons_pencileraser;
8691
+ let current;
8692
+ icons_pencileraser = new Icons_default.PencilEraser({ props: { theme: ctx[1] } });
8693
+ return {
8694
+ c() {
8695
+ create_component(icons_pencileraser.$$.fragment);
8696
+ },
8697
+ m(target, anchor) {
8698
+ mount_component(icons_pencileraser, target, anchor);
8699
+ current = true;
8700
+ },
8701
+ p(ctx2, dirty) {
8702
+ const icons_pencileraser_changes = {};
8703
+ if (dirty[0] & 2)
8704
+ icons_pencileraser_changes.theme = ctx2[1];
8705
+ icons_pencileraser.$set(icons_pencileraser_changes);
8706
+ },
8707
+ i(local) {
8708
+ if (current)
8709
+ return;
8710
+ transition_in(icons_pencileraser.$$.fragment, local);
8711
+ current = true;
8712
+ },
8713
+ o(local) {
8714
+ transition_out(icons_pencileraser.$$.fragment, local);
8715
+ current = false;
8716
+ },
8717
+ d(detaching) {
8718
+ destroy_component(icons_pencileraser, detaching);
8719
+ }
8720
+ };
8721
+ }
8722
+ function create_if_block_3(ctx) {
8723
+ let icons_pencileraserfilled;
8724
+ let current;
8725
+ icons_pencileraserfilled = new Icons_default.PencilEraserFilled({
8726
+ props: { theme: ctx[1], active: true }
8727
+ });
8728
+ return {
8729
+ c() {
8730
+ create_component(icons_pencileraserfilled.$$.fragment);
8731
+ },
8732
+ m(target, anchor) {
8733
+ mount_component(icons_pencileraserfilled, target, anchor);
8734
+ current = true;
8735
+ },
8736
+ p(ctx2, dirty) {
8737
+ const icons_pencileraserfilled_changes = {};
8738
+ if (dirty[0] & 2)
8739
+ icons_pencileraserfilled_changes.theme = ctx2[1];
8740
+ icons_pencileraserfilled.$set(icons_pencileraserfilled_changes);
8741
+ },
8742
+ i(local) {
8743
+ if (current)
8744
+ return;
8745
+ transition_in(icons_pencileraserfilled.$$.fragment, local);
8746
+ current = true;
8747
+ },
8748
+ o(local) {
8749
+ transition_out(icons_pencileraserfilled.$$.fragment, local);
8750
+ current = false;
8751
+ },
8752
+ d(detaching) {
8753
+ destroy_component(icons_pencileraserfilled, detaching);
8754
+ }
8755
+ };
8756
+ }
8757
+ function create_default_slot_14(ctx) {
8758
+ let current_block_type_index;
8759
+ let if_block;
8760
+ let if_block_anchor;
8761
+ let current;
8762
+ const if_block_creators = [create_if_block_3, create_else_block_12];
8763
+ const if_blocks = [];
8764
+ function select_block_type_10(ctx2, dirty) {
8765
+ if (ctx2[8] === "pencilEraser")
8766
+ return 0;
8767
+ return 1;
8768
+ }
8769
+ current_block_type_index = select_block_type_10(ctx);
8770
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
8771
+ return {
8772
+ c() {
8773
+ if_block.c();
8774
+ if_block_anchor = empty();
8775
+ },
8776
+ m(target, anchor) {
8777
+ if_blocks[current_block_type_index].m(target, anchor);
8778
+ insert(target, if_block_anchor, anchor);
8779
+ current = true;
8780
+ },
8781
+ p(ctx2, dirty) {
8782
+ let previous_block_index = current_block_type_index;
8783
+ current_block_type_index = select_block_type_10(ctx2);
8784
+ if (current_block_type_index === previous_block_index) {
8785
+ if_blocks[current_block_type_index].p(ctx2, dirty);
8786
+ } else {
8787
+ group_outros();
8788
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
8789
+ if_blocks[previous_block_index] = null;
8790
+ });
8791
+ check_outros();
8792
+ if_block = if_blocks[current_block_type_index];
8793
+ if (!if_block) {
8794
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
8795
+ if_block.c();
8796
+ } else {
8797
+ if_block.p(ctx2, dirty);
8798
+ }
8799
+ transition_in(if_block, 1);
8800
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
8801
+ }
8802
+ },
8803
+ i(local) {
8804
+ if (current)
8805
+ return;
8806
+ transition_in(if_block);
8807
+ current = true;
8808
+ },
8809
+ o(local) {
8810
+ transition_out(if_block);
8811
+ current = false;
8812
+ },
8813
+ d(detaching) {
8814
+ if_blocks[current_block_type_index].d(detaching);
8815
+ if (detaching)
8816
+ detach(if_block_anchor);
8817
+ }
8818
+ };
8819
+ }
8820
+ function create_else_block6(ctx) {
8821
+ let icons_eraser;
8822
+ let current;
8823
+ icons_eraser = new Icons_default.Eraser({ props: { theme: ctx[1] } });
8824
+ return {
8825
+ c() {
8826
+ create_component(icons_eraser.$$.fragment);
8827
+ },
8828
+ m(target, anchor) {
8829
+ mount_component(icons_eraser, target, anchor);
8830
+ current = true;
8831
+ },
8832
+ p(ctx2, dirty) {
8833
+ const icons_eraser_changes = {};
8834
+ if (dirty[0] & 2)
8835
+ icons_eraser_changes.theme = ctx2[1];
8836
+ icons_eraser.$set(icons_eraser_changes);
8837
+ },
8838
+ i(local) {
8839
+ if (current)
8840
+ return;
8841
+ transition_in(icons_eraser.$$.fragment, local);
8842
+ current = true;
8843
+ },
8844
+ o(local) {
8845
+ transition_out(icons_eraser.$$.fragment, local);
8846
+ current = false;
8847
+ },
8848
+ d(detaching) {
8849
+ destroy_component(icons_eraser, detaching);
8850
+ }
8851
+ };
8852
+ }
8853
+ function create_if_block_2(ctx) {
8854
+ let icons_eraserfilled;
8855
+ let current;
8856
+ icons_eraserfilled = new Icons_default.EraserFilled({
8857
+ props: { theme: ctx[1], active: true }
8858
+ });
8859
+ return {
8860
+ c() {
8861
+ create_component(icons_eraserfilled.$$.fragment);
8862
+ },
8863
+ m(target, anchor) {
8864
+ mount_component(icons_eraserfilled, target, anchor);
8865
+ current = true;
8866
+ },
8867
+ p(ctx2, dirty) {
8868
+ const icons_eraserfilled_changes = {};
8869
+ if (dirty[0] & 2)
8870
+ icons_eraserfilled_changes.theme = ctx2[1];
8871
+ icons_eraserfilled.$set(icons_eraserfilled_changes);
7670
8872
  },
7671
8873
  i(local) {
7672
8874
  if (current)
7673
8875
  return;
7674
- transition_in(icons_apps.$$.fragment, local);
8876
+ transition_in(icons_eraserfilled.$$.fragment, local);
7675
8877
  current = true;
7676
8878
  },
7677
8879
  o(local) {
7678
- transition_out(icons_apps.$$.fragment, local);
8880
+ transition_out(icons_eraserfilled.$$.fragment, local);
7679
8881
  current = false;
7680
8882
  },
7681
8883
  d(detaching) {
7682
- destroy_component(icons_apps, detaching);
8884
+ destroy_component(icons_eraserfilled, detaching);
7683
8885
  }
7684
8886
  };
7685
8887
  }
7686
- function create_if_block6(ctx) {
7687
- let button;
8888
+ function create_default_slot4(ctx) {
8889
+ let current_block_type_index;
8890
+ let if_block;
8891
+ let if_block_anchor;
7688
8892
  let current;
7689
- button = new Button_default({
7690
- props: {
7691
- class: "scroll-down",
7692
- name: name5,
7693
- theme: ctx[1],
7694
- disabled: ctx[3],
7695
- $$slots: { default: [create_default_slot4] },
7696
- $$scope: { ctx }
7697
- }
7698
- });
7699
- button.$on("click", ctx[23]);
8893
+ const if_block_creators = [create_if_block_2, create_else_block6];
8894
+ const if_blocks = [];
8895
+ function select_block_type_11(ctx2, dirty) {
8896
+ if (ctx2[8] === "eraser")
8897
+ return 0;
8898
+ return 1;
8899
+ }
8900
+ current_block_type_index = select_block_type_11(ctx);
8901
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
7700
8902
  return {
7701
8903
  c() {
7702
- create_component(button.$$.fragment);
8904
+ if_block.c();
8905
+ if_block_anchor = empty();
7703
8906
  },
7704
8907
  m(target, anchor) {
7705
- mount_component(button, target, anchor);
8908
+ if_blocks[current_block_type_index].m(target, anchor);
8909
+ insert(target, if_block_anchor, anchor);
7706
8910
  current = true;
7707
8911
  },
7708
8912
  p(ctx2, dirty) {
7709
- const button_changes = {};
7710
- if (dirty[0] & 2)
7711
- button_changes.theme = ctx2[1];
7712
- if (dirty[0] & 8)
7713
- button_changes.disabled = ctx2[3];
7714
- if (dirty[0] & 2 | dirty[1] & 524288) {
7715
- button_changes.$$scope = { dirty, ctx: ctx2 };
8913
+ let previous_block_index = current_block_type_index;
8914
+ current_block_type_index = select_block_type_11(ctx2);
8915
+ if (current_block_type_index === previous_block_index) {
8916
+ if_blocks[current_block_type_index].p(ctx2, dirty);
8917
+ } else {
8918
+ group_outros();
8919
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
8920
+ if_blocks[previous_block_index] = null;
8921
+ });
8922
+ check_outros();
8923
+ if_block = if_blocks[current_block_type_index];
8924
+ if (!if_block) {
8925
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
8926
+ if_block.c();
8927
+ } else {
8928
+ if_block.p(ctx2, dirty);
8929
+ }
8930
+ transition_in(if_block, 1);
8931
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
7716
8932
  }
7717
- button.$set(button_changes);
7718
8933
  },
7719
8934
  i(local) {
7720
8935
  if (current)
7721
8936
  return;
7722
- transition_in(button.$$.fragment, local);
8937
+ transition_in(if_block);
7723
8938
  current = true;
7724
8939
  },
7725
8940
  o(local) {
7726
- transition_out(button.$$.fragment, local);
8941
+ transition_out(if_block);
7727
8942
  current = false;
7728
8943
  },
7729
8944
  d(detaching) {
7730
- destroy_component(button, detaching);
8945
+ if_blocks[current_block_type_index].d(detaching);
8946
+ if (detaching)
8947
+ detach(if_block_anchor);
7731
8948
  }
7732
8949
  };
7733
8950
  }
7734
- function create_default_slot4(ctx) {
7735
- let icons_down;
8951
+ function create_if_block_18(ctx) {
8952
+ let div;
8953
+ let t_1;
8954
+ let pencilerasersize;
7736
8955
  let current;
7737
- icons_down = new Icons_default.Down({ props: { theme: ctx[1] } });
8956
+ pencilerasersize = new PencilEraserSize_default({
8957
+ props: {
8958
+ app: ctx[0],
8959
+ theme: ctx[1],
8960
+ disabled: ctx[3]
8961
+ }
8962
+ });
7738
8963
  return {
7739
8964
  c() {
7740
- create_component(icons_down.$$.fragment);
8965
+ div = element("div");
8966
+ t_1 = space();
8967
+ create_component(pencilerasersize.$$.fragment);
8968
+ attr(div, "class", name5 + "-panel-divider");
7741
8969
  },
7742
8970
  m(target, anchor) {
7743
- mount_component(icons_down, target, anchor);
8971
+ insert(target, div, anchor);
8972
+ insert(target, t_1, anchor);
8973
+ mount_component(pencilerasersize, target, anchor);
7744
8974
  current = true;
7745
8975
  },
7746
8976
  p(ctx2, dirty) {
7747
- const icons_down_changes = {};
8977
+ const pencilerasersize_changes = {};
8978
+ if (dirty[0] & 1)
8979
+ pencilerasersize_changes.app = ctx2[0];
7748
8980
  if (dirty[0] & 2)
7749
- icons_down_changes.theme = ctx2[1];
7750
- icons_down.$set(icons_down_changes);
8981
+ pencilerasersize_changes.theme = ctx2[1];
8982
+ if (dirty[0] & 8)
8983
+ pencilerasersize_changes.disabled = ctx2[3];
8984
+ pencilerasersize.$set(pencilerasersize_changes);
7751
8985
  },
7752
8986
  i(local) {
7753
8987
  if (current)
7754
8988
  return;
7755
- transition_in(icons_down.$$.fragment, local);
8989
+ transition_in(pencilerasersize.$$.fragment, local);
7756
8990
  current = true;
7757
8991
  },
7758
8992
  o(local) {
7759
- transition_out(icons_down.$$.fragment, local);
8993
+ transition_out(pencilerasersize.$$.fragment, local);
7760
8994
  current = false;
7761
8995
  },
7762
8996
  d(detaching) {
7763
- destroy_component(icons_down, detaching);
8997
+ if (detaching)
8998
+ detach(div);
8999
+ if (detaching)
9000
+ detach(t_1);
9001
+ destroy_component(pencilerasersize, detaching);
7764
9002
  }
7765
9003
  };
7766
9004
  }
@@ -7773,7 +9011,7 @@ function create_each_block4(ctx) {
7773
9011
  let img_title_value;
7774
9012
  let t0;
7775
9013
  let span;
7776
- let t1_value = ctx[43] + "";
9014
+ let t1_value = ctx[49] + "";
7777
9015
  let t1;
7778
9016
  let span_class_value;
7779
9017
  let t2;
@@ -7792,17 +9030,17 @@ function create_each_block4(ctx) {
7792
9030
  t1 = text(t1_value);
7793
9031
  t2 = space();
7794
9032
  attr(img, "class", img_class_value = name5 + "-app-btn-icon " + ctx[1]);
7795
- if (!src_url_equal(img.src, img_src_value = ctx[42]))
9033
+ if (!src_url_equal(img.src, img_src_value = ctx[48]))
7796
9034
  attr(img, "src", img_src_value);
7797
- attr(img, "alt", img_alt_value = ctx[44]);
7798
- attr(img, "title", img_title_value = ctx[43]);
9035
+ attr(img, "alt", img_alt_value = ctx[50]);
9036
+ attr(img, "title", img_title_value = ctx[49]);
7799
9037
  attr(span, "class", span_class_value = name5 + "-app-btn-text " + ctx[1]);
7800
- attr(button, "class", button_class_value = name5 + "-app-btn " + ctx[44] + " " + ctx[1]);
7801
- attr(button, "title", button_title_value = ctx[43] + (ctx[46] && ctx[46].reason ? ": " + ctx[46].reason : ""));
7802
- attr(button, "data-app-kind", button_data_app_kind_value = ctx[41].kind);
7803
- button.disabled = button_disabled_value = ctx[46] && ctx[46].status !== "idle";
7804
- toggle_class(button, "is-loading", ctx[46] && ctx[46].status === "loading");
7805
- toggle_class(button, "is-failed", ctx[46] && ctx[46].status === "failed");
9038
+ attr(button, "class", button_class_value = name5 + "-app-btn " + ctx[50] + " " + ctx[1]);
9039
+ attr(button, "title", button_title_value = ctx[49] + (ctx[52] && ctx[52].reason ? ": " + ctx[52].reason : ""));
9040
+ attr(button, "data-app-kind", button_data_app_kind_value = ctx[47].kind);
9041
+ button.disabled = button_disabled_value = ctx[52] && ctx[52].status !== "idle";
9042
+ toggle_class(button, "is-loading", ctx[52] && ctx[52].status === "loading");
9043
+ toggle_class(button, "is-failed", ctx[52] && ctx[52].status === "failed");
7806
9044
  },
7807
9045
  m(target, anchor) {
7808
9046
  insert(target, button, anchor);
@@ -7813,8 +9051,8 @@ function create_each_block4(ctx) {
7813
9051
  append(button, t2);
7814
9052
  if (!mounted) {
7815
9053
  dispose = listen(button, "click", function() {
7816
- if (is_function(ctx[47]))
7817
- ctx[47].apply(this, arguments);
9054
+ if (is_function(ctx[53]))
9055
+ ctx[53].apply(this, arguments);
7818
9056
  });
7819
9057
  mounted = true;
7820
9058
  }
@@ -7824,37 +9062,37 @@ function create_each_block4(ctx) {
7824
9062
  if (dirty[0] & 2 && img_class_value !== (img_class_value = name5 + "-app-btn-icon " + ctx[1])) {
7825
9063
  attr(img, "class", img_class_value);
7826
9064
  }
7827
- if (dirty[0] & 524288 && !src_url_equal(img.src, img_src_value = ctx[42])) {
9065
+ if (dirty[0] & 4194304 && !src_url_equal(img.src, img_src_value = ctx[48])) {
7828
9066
  attr(img, "src", img_src_value);
7829
9067
  }
7830
- if (dirty[0] & 524288 && img_alt_value !== (img_alt_value = ctx[44])) {
9068
+ if (dirty[0] & 4194304 && img_alt_value !== (img_alt_value = ctx[50])) {
7831
9069
  attr(img, "alt", img_alt_value);
7832
9070
  }
7833
- if (dirty[0] & 524288 && img_title_value !== (img_title_value = ctx[43])) {
9071
+ if (dirty[0] & 4194304 && img_title_value !== (img_title_value = ctx[49])) {
7834
9072
  attr(img, "title", img_title_value);
7835
9073
  }
7836
- if (dirty[0] & 524288 && t1_value !== (t1_value = ctx[43] + ""))
9074
+ if (dirty[0] & 4194304 && t1_value !== (t1_value = ctx[49] + ""))
7837
9075
  set_data(t1, t1_value);
7838
9076
  if (dirty[0] & 2 && span_class_value !== (span_class_value = name5 + "-app-btn-text " + ctx[1])) {
7839
9077
  attr(span, "class", span_class_value);
7840
9078
  }
7841
- if (dirty[0] & 524290 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[44] + " " + ctx[1])) {
9079
+ if (dirty[0] & 4194306 && button_class_value !== (button_class_value = name5 + "-app-btn " + ctx[50] + " " + ctx[1])) {
7842
9080
  attr(button, "class", button_class_value);
7843
9081
  }
7844
- if (dirty[0] & 1572864 && button_title_value !== (button_title_value = ctx[43] + (ctx[46] && ctx[46].reason ? ": " + ctx[46].reason : ""))) {
9082
+ if (dirty[0] & 12582912 && button_title_value !== (button_title_value = ctx[49] + (ctx[52] && ctx[52].reason ? ": " + ctx[52].reason : ""))) {
7845
9083
  attr(button, "title", button_title_value);
7846
9084
  }
7847
- if (dirty[0] & 524288 && button_data_app_kind_value !== (button_data_app_kind_value = ctx[41].kind)) {
9085
+ if (dirty[0] & 4194304 && button_data_app_kind_value !== (button_data_app_kind_value = ctx[47].kind)) {
7848
9086
  attr(button, "data-app-kind", button_data_app_kind_value);
7849
9087
  }
7850
- if (dirty[0] & 1572864 && button_disabled_value !== (button_disabled_value = ctx[46] && ctx[46].status !== "idle")) {
9088
+ if (dirty[0] & 12582912 && button_disabled_value !== (button_disabled_value = ctx[52] && ctx[52].status !== "idle")) {
7851
9089
  button.disabled = button_disabled_value;
7852
9090
  }
7853
- if (dirty[0] & 1572866) {
7854
- toggle_class(button, "is-loading", ctx[46] && ctx[46].status === "loading");
9091
+ if (dirty[0] & 12582914) {
9092
+ toggle_class(button, "is-loading", ctx[52] && ctx[52].status === "loading");
7855
9093
  }
7856
- if (dirty[0] & 1572866) {
7857
- toggle_class(button, "is-failed", ctx[46] && ctx[46].status === "failed");
9094
+ if (dirty[0] & 12582914) {
9095
+ toggle_class(button, "is-failed", ctx[52] && ctx[52].status === "failed");
7858
9096
  }
7859
9097
  },
7860
9098
  d(detaching) {
@@ -7865,7 +9103,7 @@ function create_each_block4(ctx) {
7865
9103
  }
7866
9104
  };
7867
9105
  }
7868
- function create_fragment54(ctx) {
9106
+ function create_fragment57(ctx) {
7869
9107
  let t0;
7870
9108
  let div0;
7871
9109
  let button0;
@@ -7878,14 +9116,15 @@ function create_fragment54(ctx) {
7878
9116
  let t4;
7879
9117
  let button4;
7880
9118
  let t5;
7881
- let button5;
9119
+ let current_block_type_index;
9120
+ let if_block1;
7882
9121
  let t6;
7883
- let button6;
9122
+ let button5;
7884
9123
  let t7;
7885
9124
  let scrollHeight_action;
7886
9125
  let t8;
7887
9126
  let t9;
7888
- let div8;
9127
+ let div9;
7889
9128
  let div2;
7890
9129
  let strokewidth0;
7891
9130
  let t10;
@@ -7908,105 +9147,110 @@ function create_fragment54(ctx) {
7908
9147
  let strokecolor1;
7909
9148
  let t18;
7910
9149
  let div7;
9150
+ let current_block_type_index_1;
9151
+ let if_block4;
9152
+ let t19;
9153
+ let div8;
7911
9154
  let current;
7912
9155
  let mounted;
7913
9156
  let dispose;
7914
- let if_block0 = ctx[5] && create_if_block_8(ctx);
9157
+ let if_block0 = ctx[5] && create_if_block_17(ctx);
7915
9158
  const button0_spread_levels = [
7916
9159
  { class: "clicker" },
7917
- ctx[15],
7918
- { content: ctx[18].clicker }
9160
+ ctx[18],
9161
+ { content: ctx[21].clicker }
7919
9162
  ];
7920
9163
  let button0_props = {
7921
- $$slots: { default: [create_default_slot_8] },
9164
+ $$slots: { default: [create_default_slot_122] },
7922
9165
  $$scope: { ctx }
7923
9166
  };
7924
9167
  for (let i = 0; i < button0_spread_levels.length; i += 1) {
7925
9168
  button0_props = assign(button0_props, button0_spread_levels[i]);
7926
9169
  }
7927
9170
  button0 = new Button_default({ props: button0_props });
7928
- button0.$on("click", ctx[24]);
9171
+ button0.$on("click", ctx[27]);
7929
9172
  const button1_spread_levels = [
7930
9173
  { class: "selector" },
7931
- ctx[15],
7932
- { content: ctx[18].selector }
9174
+ ctx[18],
9175
+ { content: ctx[21].selector }
7933
9176
  ];
7934
9177
  let button1_props = {
7935
- $$slots: { default: [create_default_slot_7] },
9178
+ $$slots: { default: [create_default_slot_11] },
7936
9179
  $$scope: { ctx }
7937
9180
  };
7938
9181
  for (let i = 0; i < button1_spread_levels.length; i += 1) {
7939
9182
  button1_props = assign(button1_props, button1_spread_levels[i]);
7940
9183
  }
7941
9184
  button1 = new Button_default({ props: button1_props });
7942
- button1.$on("click", ctx[25]);
9185
+ button1.$on("click", ctx[28]);
7943
9186
  const button2_spread_levels = [
7944
9187
  { class: "pencil" },
7945
- ctx[15],
7946
- { content: ctx[18].pencil },
7947
- { menu: ctx[11] }
9188
+ ctx[18],
9189
+ { content: ctx[21].pencil },
9190
+ { menu: ctx[13] }
7948
9191
  ];
7949
9192
  let button2_props = {
7950
- $$slots: { default: [create_default_slot_6] },
9193
+ $$slots: { default: [create_default_slot_10] },
7951
9194
  $$scope: { ctx }
7952
9195
  };
7953
9196
  for (let i = 0; i < button2_spread_levels.length; i += 1) {
7954
9197
  button2_props = assign(button2_props, button2_spread_levels[i]);
7955
9198
  }
7956
9199
  button2 = new Button_default({ props: button2_props });
7957
- button2.$on("click", ctx[26]);
9200
+ button2.$on("click", ctx[29]);
7958
9201
  const button3_spread_levels = [
7959
9202
  { class: "text" },
7960
- ctx[15],
7961
- { content: ctx[18].text },
7962
- { menu: ctx[12] }
9203
+ ctx[18],
9204
+ { content: ctx[21].text },
9205
+ { menu: ctx[14] }
7963
9206
  ];
7964
9207
  let button3_props = {
7965
- $$slots: { default: [create_default_slot_53] },
9208
+ $$slots: { default: [create_default_slot_9] },
7966
9209
  $$scope: { ctx }
7967
9210
  };
7968
9211
  for (let i = 0; i < button3_spread_levels.length; i += 1) {
7969
9212
  button3_props = assign(button3_props, button3_spread_levels[i]);
7970
9213
  }
7971
9214
  button3 = new Button_default({ props: button3_props });
7972
- button3.$on("click", ctx[27]);
9215
+ button3.$on("click", ctx[30]);
7973
9216
  const button4_spread_levels = [
7974
9217
  { class: "shapes" },
7975
- ctx[15],
7976
- { content: ctx[9].shapes },
7977
- { menu: ctx[13] }
9218
+ ctx[18],
9219
+ { content: ctx[10].shapes },
9220
+ { menu: ctx[15] }
7978
9221
  ];
7979
9222
  let button4_props = {
7980
- $$slots: { default: [create_default_slot_43] },
9223
+ $$slots: { default: [create_default_slot_8] },
7981
9224
  $$scope: { ctx }
7982
9225
  };
7983
9226
  for (let i = 0; i < button4_spread_levels.length; i += 1) {
7984
9227
  button4_props = assign(button4_props, button4_spread_levels[i]);
7985
9228
  }
7986
9229
  button4 = new Button_default({ props: button4_props });
7987
- button4.$on("click", ctx[28]);
7988
- const button5_spread_levels = [{ class: "eraser" }, ctx[15], { content: ctx[18].eraser }];
9230
+ button4.$on("click", ctx[31]);
9231
+ const if_block_creators = [create_if_block_7, create_if_block_9, create_else_block_4];
9232
+ const if_blocks = [];
9233
+ function select_block_type_5(ctx2, dirty) {
9234
+ if (ctx2[7] === "delete")
9235
+ return 0;
9236
+ if (ctx2[7] === "pencil")
9237
+ return 1;
9238
+ return 2;
9239
+ }
9240
+ current_block_type_index = select_block_type_5(ctx);
9241
+ if_block1 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
9242
+ const button5_spread_levels = [{ class: "clear" }, ctx[18], { content: ctx[10].clear }];
7989
9243
  let button5_props = {
7990
- $$slots: { default: [create_default_slot_34] },
9244
+ $$slots: { default: [create_default_slot_43] },
7991
9245
  $$scope: { ctx }
7992
9246
  };
7993
9247
  for (let i = 0; i < button5_spread_levels.length; i += 1) {
7994
9248
  button5_props = assign(button5_props, button5_spread_levels[i]);
7995
9249
  }
7996
9250
  button5 = new Button_default({ props: button5_props });
7997
- button5.$on("click", ctx[29]);
7998
- const button6_spread_levels = [{ class: "clear" }, ctx[15], { content: ctx[9].clear }];
7999
- let button6_props = {
8000
- $$slots: { default: [create_default_slot_24] },
8001
- $$scope: { ctx }
8002
- };
8003
- for (let i = 0; i < button6_spread_levels.length; i += 1) {
8004
- button6_props = assign(button6_props, button6_spread_levels[i]);
8005
- }
8006
- button6 = new Button_default({ props: button6_props });
8007
- button6.$on("click", ctx[30]);
8008
- let if_block1 = !ctx[6] && create_if_block_12(ctx);
8009
- let if_block2 = ctx[5] && create_if_block6(ctx);
9251
+ button5.$on("click", ctx[35]);
9252
+ let if_block2 = !ctx[6] && create_if_block_6(ctx);
9253
+ let if_block3 = ctx[5] && create_if_block_5(ctx);
8010
9254
  strokewidth0 = new StrokeWidth_default({
8011
9255
  props: {
8012
9256
  app: ctx[0],
@@ -8050,7 +9294,19 @@ function create_fragment54(ctx) {
8050
9294
  disabled: ctx[3]
8051
9295
  }
8052
9296
  });
8053
- let each_value = ctx[19];
9297
+ const if_block_creators_1 = [create_if_block6, create_if_block_4];
9298
+ const if_blocks_1 = [];
9299
+ function select_block_type_9(ctx2, dirty) {
9300
+ if (ctx2[7] === "both")
9301
+ return 0;
9302
+ if (ctx2[7] === "pencil")
9303
+ return 1;
9304
+ return -1;
9305
+ }
9306
+ if (~(current_block_type_index_1 = select_block_type_9(ctx))) {
9307
+ if_block4 = if_blocks_1[current_block_type_index_1] = if_block_creators_1[current_block_type_index_1](ctx);
9308
+ }
9309
+ let each_value = ctx[22];
8054
9310
  let each_blocks = [];
8055
9311
  for (let i = 0; i < each_value.length; i += 1) {
8056
9312
  each_blocks[i] = create_each_block4(get_each_context4(ctx, each_value, i));
@@ -8071,17 +9327,17 @@ function create_fragment54(ctx) {
8071
9327
  t4 = space();
8072
9328
  create_component(button4.$$.fragment);
8073
9329
  t5 = space();
8074
- create_component(button5.$$.fragment);
9330
+ if_block1.c();
8075
9331
  t6 = space();
8076
- create_component(button6.$$.fragment);
9332
+ create_component(button5.$$.fragment);
8077
9333
  t7 = space();
8078
- if (if_block1)
8079
- if_block1.c();
8080
- t8 = space();
8081
9334
  if (if_block2)
8082
9335
  if_block2.c();
9336
+ t8 = space();
9337
+ if (if_block3)
9338
+ if_block3.c();
8083
9339
  t9 = space();
8084
- div8 = element("div");
9340
+ div9 = element("div");
8085
9341
  div2 = element("div");
8086
9342
  create_component(strokewidth0.$$.fragment);
8087
9343
  t10 = space();
@@ -8104,6 +9360,10 @@ function create_fragment54(ctx) {
8104
9360
  create_component(strokecolor1.$$.fragment);
8105
9361
  t18 = space();
8106
9362
  div7 = element("div");
9363
+ if (if_block4)
9364
+ if_block4.c();
9365
+ t19 = space();
9366
+ div8 = element("div");
8107
9367
  for (let i = 0; i < each_blocks.length; i += 1) {
8108
9368
  each_blocks[i].c();
8109
9369
  }
@@ -8115,10 +9375,11 @@ function create_fragment54(ctx) {
8115
9375
  attr(div4, "class", name5 + "-panel-divider");
8116
9376
  attr(div5, "class", name5 + "-panel-divider");
8117
9377
  attr(div6, "class", name5 + "-panel shapes");
8118
- attr(div7, "class", name5 + "-panel apps");
8119
- set_style(div7, "--n", ctx[19].length);
8120
- attr(div8, "class", name5 + "-panel-wrapper");
8121
- set_style(div8, "display", "none");
9378
+ attr(div7, "class", name5 + "-panel eraser");
9379
+ attr(div8, "class", name5 + "-panel apps");
9380
+ set_style(div8, "--n", ctx[22].length);
9381
+ attr(div9, "class", name5 + "-panel-wrapper");
9382
+ set_style(div9, "display", "none");
8122
9383
  },
8123
9384
  m(target, anchor) {
8124
9385
  if (if_block0)
@@ -8135,30 +9396,30 @@ function create_fragment54(ctx) {
8135
9396
  append(div0, t4);
8136
9397
  mount_component(button4, div0, null);
8137
9398
  append(div0, t5);
8138
- mount_component(button5, div0, null);
9399
+ if_blocks[current_block_type_index].m(div0, null);
8139
9400
  append(div0, t6);
8140
- mount_component(button6, div0, null);
9401
+ mount_component(button5, div0, null);
8141
9402
  append(div0, t7);
8142
- if (if_block1)
8143
- if_block1.m(div0, null);
8144
- insert(target, t8, anchor);
8145
9403
  if (if_block2)
8146
- if_block2.m(target, anchor);
9404
+ if_block2.m(div0, null);
9405
+ insert(target, t8, anchor);
9406
+ if (if_block3)
9407
+ if_block3.m(target, anchor);
8147
9408
  insert(target, t9, anchor);
8148
- insert(target, div8, anchor);
8149
- append(div8, div2);
9409
+ insert(target, div9, anchor);
9410
+ append(div9, div2);
8150
9411
  mount_component(strokewidth0, div2, null);
8151
9412
  append(div2, t10);
8152
9413
  append(div2, div1);
8153
9414
  append(div2, t11);
8154
9415
  mount_component(strokecolor0, div2, null);
8155
- ctx[35](div2);
8156
- append(div8, t12);
8157
- append(div8, div3);
9416
+ ctx[40](div2);
9417
+ append(div9, t12);
9418
+ append(div9, div3);
8158
9419
  mount_component(textcolor, div3, null);
8159
- ctx[36](div3);
8160
- append(div8, t13);
8161
- append(div8, div6);
9420
+ ctx[41](div3);
9421
+ append(div9, t13);
9422
+ append(div9, div6);
8162
9423
  mount_component(shapes2, div6, null);
8163
9424
  append(div6, t14);
8164
9425
  append(div6, div4);
@@ -8168,18 +9429,24 @@ function create_fragment54(ctx) {
8168
9429
  append(div6, div5);
8169
9430
  append(div6, t17);
8170
9431
  mount_component(strokecolor1, div6, null);
8171
- ctx[37](div6);
8172
- append(div8, t18);
8173
- append(div8, div7);
9432
+ ctx[42](div6);
9433
+ append(div9, t18);
9434
+ append(div9, div7);
9435
+ if (~current_block_type_index_1) {
9436
+ if_blocks_1[current_block_type_index_1].m(div7, null);
9437
+ }
9438
+ ctx[43](div7);
9439
+ append(div9, t19);
9440
+ append(div9, div8);
8174
9441
  for (let i = 0; i < each_blocks.length; i += 1) {
8175
- each_blocks[i].m(div7, null);
9442
+ each_blocks[i].m(div8, null);
8176
9443
  }
8177
- ctx[38](div7);
9444
+ ctx[44](div8);
8178
9445
  current = true;
8179
9446
  if (!mounted) {
8180
9447
  dispose = [
8181
9448
  action_destroyer(scrollHeight_action = scrollHeight.call(null, div0, ctx[4])),
8182
- action_destroyer(scrollTop.call(null, div0, ctx[21]))
9449
+ action_destroyer(scrollTop.call(null, div0, ctx[24]))
8183
9450
  ];
8184
9451
  mounted = true;
8185
9452
  }
@@ -8192,7 +9459,7 @@ function create_fragment54(ctx) {
8192
9459
  transition_in(if_block0, 1);
8193
9460
  }
8194
9461
  } else {
8195
- if_block0 = create_if_block_8(ctx2);
9462
+ if_block0 = create_if_block_17(ctx2);
8196
9463
  if_block0.c();
8197
9464
  transition_in(if_block0, 1);
8198
9465
  if_block0.m(t0.parentNode, t0);
@@ -8204,88 +9471,99 @@ function create_fragment54(ctx) {
8204
9471
  });
8205
9472
  check_outros();
8206
9473
  }
8207
- const button0_changes = dirty[0] & 294912 ? get_spread_update(button0_spread_levels, [
9474
+ const button0_changes = dirty[0] & 2359296 ? get_spread_update(button0_spread_levels, [
8208
9475
  button0_spread_levels[0],
8209
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8210
- dirty[0] & 262144 && { content: ctx2[18].clicker }
9476
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9477
+ dirty[0] & 2097152 && { content: ctx2[21].clicker }
8211
9478
  ]) : {};
8212
- if (dirty[0] & 258 | dirty[1] & 524288) {
9479
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8213
9480
  button0_changes.$$scope = { dirty, ctx: ctx2 };
8214
9481
  }
8215
9482
  button0.$set(button0_changes);
8216
- const button1_changes = dirty[0] & 294912 ? get_spread_update(button1_spread_levels, [
9483
+ const button1_changes = dirty[0] & 2359296 ? get_spread_update(button1_spread_levels, [
8217
9484
  button1_spread_levels[0],
8218
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8219
- dirty[0] & 262144 && { content: ctx2[18].selector }
9485
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9486
+ dirty[0] & 2097152 && { content: ctx2[21].selector }
8220
9487
  ]) : {};
8221
- if (dirty[0] & 258 | dirty[1] & 524288) {
9488
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8222
9489
  button1_changes.$$scope = { dirty, ctx: ctx2 };
8223
9490
  }
8224
9491
  button1.$set(button1_changes);
8225
- const button2_changes = dirty[0] & 296960 ? get_spread_update(button2_spread_levels, [
9492
+ const button2_changes = dirty[0] & 2367488 ? get_spread_update(button2_spread_levels, [
8226
9493
  button2_spread_levels[0],
8227
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8228
- dirty[0] & 262144 && { content: ctx2[18].pencil },
8229
- dirty[0] & 2048 && { menu: ctx2[11] }
9494
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9495
+ dirty[0] & 2097152 && { content: ctx2[21].pencil },
9496
+ dirty[0] & 8192 && { menu: ctx2[13] }
8230
9497
  ]) : {};
8231
- if (dirty[0] & 258 | dirty[1] & 524288) {
9498
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8232
9499
  button2_changes.$$scope = { dirty, ctx: ctx2 };
8233
9500
  }
8234
9501
  button2.$set(button2_changes);
8235
- const button3_changes = dirty[0] & 299008 ? get_spread_update(button3_spread_levels, [
9502
+ const button3_changes = dirty[0] & 2375680 ? get_spread_update(button3_spread_levels, [
8236
9503
  button3_spread_levels[0],
8237
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8238
- dirty[0] & 262144 && { content: ctx2[18].text },
8239
- dirty[0] & 4096 && { menu: ctx2[12] }
9504
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9505
+ dirty[0] & 2097152 && { content: ctx2[21].text },
9506
+ dirty[0] & 16384 && { menu: ctx2[14] }
8240
9507
  ]) : {};
8241
- if (dirty[0] & 258 | dirty[1] & 524288) {
9508
+ if (dirty[0] & 258 | dirty[1] & 33554432) {
8242
9509
  button3_changes.$$scope = { dirty, ctx: ctx2 };
8243
9510
  }
8244
9511
  button3.$set(button3_changes);
8245
- const button4_changes = dirty[0] & 41472 ? get_spread_update(button4_spread_levels, [
9512
+ const button4_changes = dirty[0] & 295936 ? get_spread_update(button4_spread_levels, [
8246
9513
  button4_spread_levels[0],
8247
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8248
- dirty[0] & 512 && { content: ctx2[9].shapes },
8249
- dirty[0] & 8192 && { menu: ctx2[13] }
9514
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9515
+ dirty[0] & 1024 && { content: ctx2[10].shapes },
9516
+ dirty[0] & 32768 && { menu: ctx2[15] }
8250
9517
  ]) : {};
8251
- if (dirty[0] & 1410 | dirty[1] & 524288) {
9518
+ if (dirty[0] & 2818 | dirty[1] & 33554432) {
8252
9519
  button4_changes.$$scope = { dirty, ctx: ctx2 };
8253
9520
  }
8254
9521
  button4.$set(button4_changes);
8255
- const button5_changes = dirty[0] & 294912 ? get_spread_update(button5_spread_levels, [
9522
+ let previous_block_index = current_block_type_index;
9523
+ current_block_type_index = select_block_type_5(ctx2);
9524
+ if (current_block_type_index === previous_block_index) {
9525
+ if_blocks[current_block_type_index].p(ctx2, dirty);
9526
+ } else {
9527
+ group_outros();
9528
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
9529
+ if_blocks[previous_block_index] = null;
9530
+ });
9531
+ check_outros();
9532
+ if_block1 = if_blocks[current_block_type_index];
9533
+ if (!if_block1) {
9534
+ if_block1 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
9535
+ if_block1.c();
9536
+ } else {
9537
+ if_block1.p(ctx2, dirty);
9538
+ }
9539
+ transition_in(if_block1, 1);
9540
+ if_block1.m(div0, t6);
9541
+ }
9542
+ const button5_changes = dirty[0] & 263168 ? get_spread_update(button5_spread_levels, [
8256
9543
  button5_spread_levels[0],
8257
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8258
- dirty[0] & 262144 && { content: ctx2[18].eraser }
9544
+ dirty[0] & 262144 && get_spread_object(ctx2[18]),
9545
+ dirty[0] & 1024 && { content: ctx2[10].clear }
8259
9546
  ]) : {};
8260
- if (dirty[0] & 258 | dirty[1] & 524288) {
9547
+ if (dirty[0] & 2 | dirty[1] & 33554432) {
8261
9548
  button5_changes.$$scope = { dirty, ctx: ctx2 };
8262
9549
  }
8263
9550
  button5.$set(button5_changes);
8264
- const button6_changes = dirty[0] & 33280 ? get_spread_update(button6_spread_levels, [
8265
- button6_spread_levels[0],
8266
- dirty[0] & 32768 && get_spread_object(ctx2[15]),
8267
- dirty[0] & 512 && { content: ctx2[9].clear }
8268
- ]) : {};
8269
- if (dirty[0] & 2 | dirty[1] & 524288) {
8270
- button6_changes.$$scope = { dirty, ctx: ctx2 };
8271
- }
8272
- button6.$set(button6_changes);
8273
9551
  if (!ctx2[6]) {
8274
- if (if_block1) {
8275
- if_block1.p(ctx2, dirty);
9552
+ if (if_block2) {
9553
+ if_block2.p(ctx2, dirty);
8276
9554
  if (dirty[0] & 64) {
8277
- transition_in(if_block1, 1);
9555
+ transition_in(if_block2, 1);
8278
9556
  }
8279
9557
  } else {
8280
- if_block1 = create_if_block_12(ctx2);
8281
- if_block1.c();
8282
- transition_in(if_block1, 1);
8283
- if_block1.m(div0, null);
9558
+ if_block2 = create_if_block_6(ctx2);
9559
+ if_block2.c();
9560
+ transition_in(if_block2, 1);
9561
+ if_block2.m(div0, null);
8284
9562
  }
8285
- } else if (if_block1) {
9563
+ } else if (if_block2) {
8286
9564
  group_outros();
8287
- transition_out(if_block1, 1, 1, () => {
8288
- if_block1 = null;
9565
+ transition_out(if_block2, 1, 1, () => {
9566
+ if_block2 = null;
8289
9567
  });
8290
9568
  check_outros();
8291
9569
  }
@@ -8295,21 +9573,21 @@ function create_fragment54(ctx) {
8295
9573
  toggle_class(div0, "scrollable", ctx2[5]);
8296
9574
  }
8297
9575
  if (ctx2[5]) {
8298
- if (if_block2) {
8299
- if_block2.p(ctx2, dirty);
9576
+ if (if_block3) {
9577
+ if_block3.p(ctx2, dirty);
8300
9578
  if (dirty[0] & 32) {
8301
- transition_in(if_block2, 1);
9579
+ transition_in(if_block3, 1);
8302
9580
  }
8303
9581
  } else {
8304
- if_block2 = create_if_block6(ctx2);
8305
- if_block2.c();
8306
- transition_in(if_block2, 1);
8307
- if_block2.m(t9.parentNode, t9);
9582
+ if_block3 = create_if_block_5(ctx2);
9583
+ if_block3.c();
9584
+ transition_in(if_block3, 1);
9585
+ if_block3.m(t9.parentNode, t9);
8308
9586
  }
8309
- } else if (if_block2) {
9587
+ } else if (if_block3) {
8310
9588
  group_outros();
8311
- transition_out(if_block2, 1, 1, () => {
8312
- if_block2 = null;
9589
+ transition_out(if_block3, 1, 1, () => {
9590
+ if_block3 = null;
8313
9591
  });
8314
9592
  check_outros();
8315
9593
  }
@@ -8363,8 +9641,36 @@ function create_fragment54(ctx) {
8363
9641
  if (dirty[0] & 8)
8364
9642
  strokecolor1_changes.disabled = ctx2[3];
8365
9643
  strokecolor1.$set(strokecolor1_changes);
8366
- if (dirty[0] & 1572867) {
8367
- each_value = ctx2[19];
9644
+ let previous_block_index_1 = current_block_type_index_1;
9645
+ current_block_type_index_1 = select_block_type_9(ctx2);
9646
+ if (current_block_type_index_1 === previous_block_index_1) {
9647
+ if (~current_block_type_index_1) {
9648
+ if_blocks_1[current_block_type_index_1].p(ctx2, dirty);
9649
+ }
9650
+ } else {
9651
+ if (if_block4) {
9652
+ group_outros();
9653
+ transition_out(if_blocks_1[previous_block_index_1], 1, 1, () => {
9654
+ if_blocks_1[previous_block_index_1] = null;
9655
+ });
9656
+ check_outros();
9657
+ }
9658
+ if (~current_block_type_index_1) {
9659
+ if_block4 = if_blocks_1[current_block_type_index_1];
9660
+ if (!if_block4) {
9661
+ if_block4 = if_blocks_1[current_block_type_index_1] = if_block_creators_1[current_block_type_index_1](ctx2);
9662
+ if_block4.c();
9663
+ } else {
9664
+ if_block4.p(ctx2, dirty);
9665
+ }
9666
+ transition_in(if_block4, 1);
9667
+ if_block4.m(div7, null);
9668
+ } else {
9669
+ if_block4 = null;
9670
+ }
9671
+ }
9672
+ if (dirty[0] & 12582915) {
9673
+ each_value = ctx2[22];
8368
9674
  let i;
8369
9675
  for (i = 0; i < each_value.length; i += 1) {
8370
9676
  const child_ctx = get_each_context4(ctx2, each_value, i);
@@ -8373,7 +9679,7 @@ function create_fragment54(ctx) {
8373
9679
  } else {
8374
9680
  each_blocks[i] = create_each_block4(child_ctx);
8375
9681
  each_blocks[i].c();
8376
- each_blocks[i].m(div7, null);
9682
+ each_blocks[i].m(div8, null);
8377
9683
  }
8378
9684
  }
8379
9685
  for (; i < each_blocks.length; i += 1) {
@@ -8381,8 +9687,8 @@ function create_fragment54(ctx) {
8381
9687
  }
8382
9688
  each_blocks.length = each_value.length;
8383
9689
  }
8384
- if (!current || dirty[0] & 524288) {
8385
- set_style(div7, "--n", ctx2[19].length);
9690
+ if (!current || dirty[0] & 4194304) {
9691
+ set_style(div8, "--n", ctx2[22].length);
8386
9692
  }
8387
9693
  },
8388
9694
  i(local) {
@@ -8394,16 +9700,17 @@ function create_fragment54(ctx) {
8394
9700
  transition_in(button2.$$.fragment, local);
8395
9701
  transition_in(button3.$$.fragment, local);
8396
9702
  transition_in(button4.$$.fragment, local);
8397
- transition_in(button5.$$.fragment, local);
8398
- transition_in(button6.$$.fragment, local);
8399
9703
  transition_in(if_block1);
9704
+ transition_in(button5.$$.fragment, local);
8400
9705
  transition_in(if_block2);
9706
+ transition_in(if_block3);
8401
9707
  transition_in(strokewidth0.$$.fragment, local);
8402
9708
  transition_in(strokecolor0.$$.fragment, local);
8403
9709
  transition_in(textcolor.$$.fragment, local);
8404
9710
  transition_in(shapes2.$$.fragment, local);
8405
9711
  transition_in(strokewidth1.$$.fragment, local);
8406
9712
  transition_in(strokecolor1.$$.fragment, local);
9713
+ transition_in(if_block4);
8407
9714
  current = true;
8408
9715
  },
8409
9716
  o(local) {
@@ -8413,16 +9720,17 @@ function create_fragment54(ctx) {
8413
9720
  transition_out(button2.$$.fragment, local);
8414
9721
  transition_out(button3.$$.fragment, local);
8415
9722
  transition_out(button4.$$.fragment, local);
8416
- transition_out(button5.$$.fragment, local);
8417
- transition_out(button6.$$.fragment, local);
8418
9723
  transition_out(if_block1);
9724
+ transition_out(button5.$$.fragment, local);
8419
9725
  transition_out(if_block2);
9726
+ transition_out(if_block3);
8420
9727
  transition_out(strokewidth0.$$.fragment, local);
8421
9728
  transition_out(strokecolor0.$$.fragment, local);
8422
9729
  transition_out(textcolor.$$.fragment, local);
8423
9730
  transition_out(shapes2.$$.fragment, local);
8424
9731
  transition_out(strokewidth1.$$.fragment, local);
8425
9732
  transition_out(strokecolor1.$$.fragment, local);
9733
+ transition_out(if_block4);
8426
9734
  current = false;
8427
9735
  },
8428
9736
  d(detaching) {
@@ -8437,36 +9745,40 @@ function create_fragment54(ctx) {
8437
9745
  destroy_component(button2);
8438
9746
  destroy_component(button3);
8439
9747
  destroy_component(button4);
9748
+ if_blocks[current_block_type_index].d();
8440
9749
  destroy_component(button5);
8441
- destroy_component(button6);
8442
- if (if_block1)
8443
- if_block1.d();
9750
+ if (if_block2)
9751
+ if_block2.d();
8444
9752
  if (detaching)
8445
9753
  detach(t8);
8446
- if (if_block2)
8447
- if_block2.d(detaching);
9754
+ if (if_block3)
9755
+ if_block3.d(detaching);
8448
9756
  if (detaching)
8449
9757
  detach(t9);
8450
9758
  if (detaching)
8451
- detach(div8);
9759
+ detach(div9);
8452
9760
  destroy_component(strokewidth0);
8453
9761
  destroy_component(strokecolor0);
8454
- ctx[35](null);
9762
+ ctx[40](null);
8455
9763
  destroy_component(textcolor);
8456
- ctx[36](null);
9764
+ ctx[41](null);
8457
9765
  destroy_component(shapes2);
8458
9766
  destroy_component(strokewidth1);
8459
9767
  destroy_component(strokecolor1);
8460
- ctx[37](null);
9768
+ ctx[42](null);
9769
+ if (~current_block_type_index_1) {
9770
+ if_blocks_1[current_block_type_index_1].d();
9771
+ }
9772
+ ctx[43](null);
8461
9773
  destroy_each(each_blocks, detaching);
8462
- ctx[38](null);
9774
+ ctx[44](null);
8463
9775
  mounted = false;
8464
9776
  run_all(dispose);
8465
9777
  }
8466
9778
  };
8467
9779
  }
8468
9780
  var name5 = "fastboard-toolbar";
8469
- function instance54($$self, $$props, $$invalidate) {
9781
+ function instance57($$self, $$props, $$invalidate) {
8470
9782
  let t;
8471
9783
  let hotkeys;
8472
9784
  let c;
@@ -8476,11 +9788,11 @@ function instance54($$self, $$props, $$invalidate) {
8476
9788
  let status;
8477
9789
  let max_scroll;
8478
9790
  let $top;
8479
- 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);
8480
- let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(34, $memberState = $$value)), memberState);
8481
- let $apps;
8482
- let $status, $$unsubscribe_status = noop, $$subscribe_status = () => ($$unsubscribe_status(), $$unsubscribe_status = subscribe(status, ($$value) => $$invalidate(20, $status = $$value)), status);
8483
- component_subscribe($$self, apps, ($$value) => $$invalidate(19, $apps = $$value));
9791
+ 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);
9792
+ let $memberState, $$unsubscribe_memberState = noop, $$subscribe_memberState = () => ($$unsubscribe_memberState(), $$unsubscribe_memberState = subscribe(memberState, ($$value) => $$invalidate(39, $memberState = $$value)), memberState);
9793
+ let $stockedApps;
9794
+ let $status, $$unsubscribe_status = noop, $$subscribe_status = () => ($$unsubscribe_status(), $$unsubscribe_status = subscribe(status, ($$value) => $$invalidate(23, $status = $$value)), status);
9795
+ component_subscribe($$self, stockedApps, ($$value) => $$invalidate(22, $stockedApps = $$value));
8484
9796
  $$self.$$.on_destroy.push(() => $$unsubscribe_scroll_height());
8485
9797
  $$self.$$.on_destroy.push(() => $$unsubscribe_memberState());
8486
9798
  $$self.$$.on_destroy.push(() => $$unsubscribe_status());
@@ -8493,14 +9805,17 @@ function instance54($$self, $$props, $$invalidate) {
8493
9805
  let { computed_height = 0 } = $$props;
8494
9806
  let { scrollable = false } = $$props;
8495
9807
  let { hide_apps = false } = $$props;
9808
+ let { eraser_type = "both" } = $$props;
8496
9809
  let last_shape = "rectangle";
9810
+ let last_eraser = "pencilEraser";
8497
9811
  let pencil_panel;
8498
9812
  let text_panel;
8499
9813
  let shapes_panel;
9814
+ let eraser_panel;
8500
9815
  let apps_panel;
8501
9816
  let btn_props;
8502
9817
  let top = writable(0);
8503
- component_subscribe($$self, top, (value) => $$invalidate(40, $top = value));
9818
+ component_subscribe($$self, top, (value) => $$invalidate(46, $top = value));
8504
9819
  function scroll_up() {
8505
9820
  set_store_value(top, $top = clamp($top - 32 - 4, 0, max_scroll), $top);
8506
9821
  }
@@ -8526,34 +9841,46 @@ function instance54($$self, $$props, $$invalidate) {
8526
9841
  app?.setAppliance("shape", last_shape);
8527
9842
  }
8528
9843
  }
8529
- function eraser() {
9844
+ function select_last_eraser() {
9845
+ app?.setAppliance(last_eraser);
9846
+ }
9847
+ function select_eraser() {
8530
9848
  app?.setAppliance("eraser");
8531
9849
  }
9850
+ function select_pencil_eraser() {
9851
+ app?.setAppliance("pencilEraser");
9852
+ }
8532
9853
  function clear() {
8533
9854
  app?.cleanCurrentScene();
8534
9855
  }
8535
9856
  function div2_binding($$value) {
8536
9857
  binding_callbacks[$$value ? "unshift" : "push"](() => {
8537
9858
  pencil_panel = $$value;
8538
- $$invalidate(11, pencil_panel);
9859
+ $$invalidate(13, pencil_panel);
8539
9860
  });
8540
9861
  }
8541
9862
  function div3_binding($$value) {
8542
9863
  binding_callbacks[$$value ? "unshift" : "push"](() => {
8543
9864
  text_panel = $$value;
8544
- $$invalidate(12, text_panel);
9865
+ $$invalidate(14, text_panel);
8545
9866
  });
8546
9867
  }
8547
9868
  function div6_binding($$value) {
8548
9869
  binding_callbacks[$$value ? "unshift" : "push"](() => {
8549
9870
  shapes_panel = $$value;
8550
- $$invalidate(13, shapes_panel);
9871
+ $$invalidate(15, shapes_panel);
8551
9872
  });
8552
9873
  }
8553
9874
  function div7_binding($$value) {
9875
+ binding_callbacks[$$value ? "unshift" : "push"](() => {
9876
+ eraser_panel = $$value;
9877
+ $$invalidate(16, eraser_panel);
9878
+ });
9879
+ }
9880
+ function div8_binding($$value) {
8554
9881
  binding_callbacks[$$value ? "unshift" : "push"](() => {
8555
9882
  apps_panel = $$value;
8556
- $$invalidate(14, apps_panel);
9883
+ $$invalidate(17, apps_panel);
8557
9884
  });
8558
9885
  }
8559
9886
  $$self.$$set = ($$props2) => {
@@ -8568,15 +9895,17 @@ function instance54($$self, $$props, $$invalidate) {
8568
9895
  if ("scroll_height" in $$props2)
8569
9896
  $$subscribe_scroll_height($$invalidate(4, scroll_height = $$props2.scroll_height));
8570
9897
  if ("computed_height" in $$props2)
8571
- $$invalidate(31, computed_height = $$props2.computed_height);
9898
+ $$invalidate(36, computed_height = $$props2.computed_height);
8572
9899
  if ("scrollable" in $$props2)
8573
9900
  $$invalidate(5, scrollable = $$props2.scrollable);
8574
9901
  if ("hide_apps" in $$props2)
8575
9902
  $$invalidate(6, hide_apps = $$props2.hide_apps);
9903
+ if ("eraser_type" in $$props2)
9904
+ $$invalidate(7, eraser_type = $$props2.eraser_type);
8576
9905
  };
8577
9906
  $$self.$$.update = () => {
8578
9907
  if ($$self.$$.dirty[0] & 10) {
8579
- $$invalidate(15, btn_props = {
9908
+ $$invalidate(18, btn_props = {
8580
9909
  name: name5,
8581
9910
  theme,
8582
9911
  disabled,
@@ -8584,40 +9913,48 @@ function instance54($$self, $$props, $$invalidate) {
8584
9913
  });
8585
9914
  }
8586
9915
  if ($$self.$$.dirty[0] & 4) {
8587
- $$invalidate(9, t = i18n4[language]);
9916
+ $$invalidate(10, t = i18n4[language]);
8588
9917
  }
8589
9918
  if ($$self.$$.dirty[0] & 1) {
8590
- $$invalidate(32, hotkeys = app?.hotKeys);
9919
+ $$invalidate(37, hotkeys = app?.hotKeys);
8591
9920
  }
8592
- if ($$self.$$.dirty[0] & 512 | $$self.$$.dirty[1] & 2) {
8593
- $$invalidate(18, c = {
9921
+ if ($$self.$$.dirty[0] & 1024 | $$self.$$.dirty[1] & 64) {
9922
+ $$invalidate(21, c = {
8594
9923
  clicker: tooltip(t.clicker, hotkeys?.changeToClick),
8595
9924
  selector: tooltip(t.selector, hotkeys?.changeToSelector),
8596
9925
  pencil: tooltip(t.pencil, hotkeys?.changeToPencil),
8597
9926
  eraser: tooltip(t.eraser, hotkeys?.changeToEraser),
9927
+ pencilEraser: tooltip(t.pencilEraser, hotkeys?.changeToPencilEraser),
9928
+ eraserForPanel: tooltip(t.eraser, hotkeys?.changeToEraser),
9929
+ pencilEraserForPanel: tooltip(t.pencilEraser, hotkeys?.changeToPencilEraser),
8598
9930
  text: tooltip(t.text, hotkeys?.changeToText)
8599
9931
  });
8600
9932
  }
8601
9933
  if ($$self.$$.dirty[0] & 1) {
8602
- $$subscribe_memberState($$invalidate(17, memberState = app?.memberState));
9934
+ $$subscribe_memberState($$invalidate(20, memberState = app?.memberState));
8603
9935
  }
8604
- if ($$self.$$.dirty[1] & 8) {
9936
+ if ($$self.$$.dirty[1] & 256) {
8605
9937
  $$invalidate(8, appliance = $memberState?.currentApplianceName);
8606
9938
  }
8607
- if ($$self.$$.dirty[1] & 8) {
8608
- $$invalidate(7, shape = $memberState?.shapeType);
9939
+ if ($$self.$$.dirty[1] & 256) {
9940
+ $$invalidate(9, shape = $memberState?.shapeType);
8609
9941
  }
8610
9942
  if ($$self.$$.dirty[0] & 1) {
8611
- $$subscribe_status($$invalidate(16, status = app?.appsStatus));
9943
+ $$subscribe_status($$invalidate(19, status = app?.appsStatus));
8612
9944
  }
8613
- if ($$self.$$.dirty[0] & 384) {
9945
+ if ($$self.$$.dirty[0] & 768) {
8614
9946
  if (applianceShapes.includes(appliance)) {
8615
- $$invalidate(10, last_shape = appliance);
9947
+ $$invalidate(11, last_shape = appliance);
8616
9948
  } else if (shape) {
8617
- $$invalidate(10, last_shape = shape);
9949
+ $$invalidate(11, last_shape = shape);
8618
9950
  }
8619
9951
  }
8620
- if ($$self.$$.dirty[0] & 32 | $$self.$$.dirty[1] & 5) {
9952
+ if ($$self.$$.dirty[0] & 256) {
9953
+ if (["pencilEraser", "eraser"].includes(appliance)) {
9954
+ $$invalidate(12, last_eraser = appliance);
9955
+ }
9956
+ }
9957
+ if ($$self.$$.dirty[0] & 32 | $$self.$$.dirty[1] & 160) {
8621
9958
  max_scroll = scrollable ? $scroll_height + (32 + 8) * 2 - computed_height : 0;
8622
9959
  }
8623
9960
  };
@@ -8629,19 +9966,22 @@ function instance54($$self, $$props, $$invalidate) {
8629
9966
  scroll_height,
8630
9967
  scrollable,
8631
9968
  hide_apps,
8632
- shape,
9969
+ eraser_type,
8633
9970
  appliance,
9971
+ shape,
8634
9972
  t,
8635
9973
  last_shape,
9974
+ last_eraser,
8636
9975
  pencil_panel,
8637
9976
  text_panel,
8638
9977
  shapes_panel,
9978
+ eraser_panel,
8639
9979
  apps_panel,
8640
9980
  btn_props,
8641
9981
  status,
8642
9982
  memberState,
8643
9983
  c,
8644
- $apps,
9984
+ $stockedApps,
8645
9985
  $status,
8646
9986
  top,
8647
9987
  scroll_up,
@@ -8651,7 +9991,9 @@ function instance54($$self, $$props, $$invalidate) {
8651
9991
  pencil,
8652
9992
  text2,
8653
9993
  select_last_shape,
8654
- eraser,
9994
+ select_last_eraser,
9995
+ select_eraser,
9996
+ select_pencil_eraser,
8655
9997
  clear,
8656
9998
  computed_height,
8657
9999
  hotkeys,
@@ -8660,7 +10002,8 @@ function instance54($$self, $$props, $$invalidate) {
8660
10002
  div2_binding,
8661
10003
  div3_binding,
8662
10004
  div6_binding,
8663
- div7_binding
10005
+ div7_binding,
10006
+ div8_binding
8664
10007
  ];
8665
10008
  }
8666
10009
  var Contents = class extends SvelteComponent {
@@ -8669,8 +10012,8 @@ var Contents = class extends SvelteComponent {
8669
10012
  init(
8670
10013
  this,
8671
10014
  options,
8672
- instance54,
8673
- create_fragment54,
10015
+ instance57,
10016
+ create_fragment57,
8674
10017
  safe_not_equal,
8675
10018
  {
8676
10019
  app: 0,
@@ -8678,9 +10021,10 @@ var Contents = class extends SvelteComponent {
8678
10021
  language: 2,
8679
10022
  disabled: 3,
8680
10023
  scroll_height: 4,
8681
- computed_height: 31,
10024
+ computed_height: 36,
8682
10025
  scrollable: 5,
8683
- hide_apps: 6
10026
+ hide_apps: 6,
10027
+ eraser_type: 7
8684
10028
  },
8685
10029
  null,
8686
10030
  [-1, -1]
@@ -8746,7 +10090,7 @@ function create_if_block7(ctx) {
8746
10090
  }
8747
10091
  };
8748
10092
  }
8749
- function create_fragment55(ctx) {
10093
+ function create_fragment58(ctx) {
8750
10094
  let div1;
8751
10095
  let div0;
8752
10096
  let contents;
@@ -8768,11 +10112,12 @@ function create_fragment55(ctx) {
8768
10112
  app: ctx[0],
8769
10113
  theme: ctx[1],
8770
10114
  language: ctx[2],
8771
- disabled: ctx[7],
8772
- scroll_height: ctx[10],
8773
- computed_height: ctx[6],
8774
- scrollable: ctx[5],
8775
- hide_apps: ctx[4]
10115
+ disabled: ctx[8],
10116
+ scroll_height: ctx[11],
10117
+ computed_height: ctx[7],
10118
+ scrollable: ctx[6],
10119
+ hide_apps: ctx[5],
10120
+ eraser_type: ctx[4]
8776
10121
  }
8777
10122
  });
8778
10123
  function select_block_type(ctx2, dirty) {
@@ -8799,7 +10144,7 @@ function create_fragment55(ctx) {
8799
10144
  set_style(
8800
10145
  div0,
8801
10146
  "height",
8802
- ctx[5] ? ctx[6] + "px" : "auto",
10147
+ ctx[6] ? ctx[7] + "px" : "auto",
8803
10148
  false
8804
10149
  );
8805
10150
  attr(input, "type", "checkbox");
@@ -8833,8 +10178,8 @@ function create_fragment55(ctx) {
8833
10178
  current = true;
8834
10179
  if (!mounted) {
8835
10180
  dispose = [
8836
- listen(input, "change", ctx[15]),
8837
- action_destroyer(height.call(null, div1, ctx[9]))
10181
+ listen(input, "change", ctx[16]),
10182
+ action_destroyer(height.call(null, div1, ctx[10]))
8838
10183
  ];
8839
10184
  mounted = true;
8840
10185
  }
@@ -8847,23 +10192,25 @@ function create_fragment55(ctx) {
8847
10192
  contents_changes.theme = ctx2[1];
8848
10193
  if (dirty & 4)
8849
10194
  contents_changes.language = ctx2[2];
10195
+ if (dirty & 256)
10196
+ contents_changes.disabled = ctx2[8];
8850
10197
  if (dirty & 128)
8851
- contents_changes.disabled = ctx2[7];
10198
+ contents_changes.computed_height = ctx2[7];
8852
10199
  if (dirty & 64)
8853
- contents_changes.computed_height = ctx2[6];
10200
+ contents_changes.scrollable = ctx2[6];
8854
10201
  if (dirty & 32)
8855
- contents_changes.scrollable = ctx2[5];
10202
+ contents_changes.hide_apps = ctx2[5];
8856
10203
  if (dirty & 16)
8857
- contents_changes.hide_apps = ctx2[4];
10204
+ contents_changes.eraser_type = ctx2[4];
8858
10205
  contents.$set(contents_changes);
8859
10206
  if (!current || dirty & 2 && div0_class_value !== (div0_class_value = name6 + "-contents " + ctx2[1])) {
8860
10207
  attr(div0, "class", div0_class_value);
8861
10208
  }
8862
- if (dirty & 96) {
10209
+ if (dirty & 192) {
8863
10210
  set_style(
8864
10211
  div0,
8865
10212
  "height",
8866
- ctx2[5] ? ctx2[6] + "px" : "auto",
10213
+ ctx2[6] ? ctx2[7] + "px" : "auto",
8867
10214
  false
8868
10215
  );
8869
10216
  }
@@ -8911,15 +10258,16 @@ function create_fragment55(ctx) {
8911
10258
  };
8912
10259
  }
8913
10260
  var name6 = "fastboard-toolbar";
8914
- function instance55($$self, $$props, $$invalidate) {
10261
+ function instance58($$self, $$props, $$invalidate) {
8915
10262
  let writable2;
8916
10263
  let disabled;
8917
10264
  let computed_height;
8918
10265
  let scrollable;
8919
10266
  let hide_apps;
10267
+ let eraser_type;
8920
10268
  let $container_height;
8921
10269
  let $scroll_height;
8922
- let $writable, $$unsubscribe_writable = noop, $$subscribe_writable = () => ($$unsubscribe_writable(), $$unsubscribe_writable = subscribe(writable2, ($$value) => $$invalidate(14, $writable = $$value)), writable2);
10270
+ let $writable, $$unsubscribe_writable = noop, $$subscribe_writable = () => ($$unsubscribe_writable(), $$unsubscribe_writable = subscribe(writable2, ($$value) => $$invalidate(15, $writable = $$value)), writable2);
8923
10271
  $$self.$$.on_destroy.push(() => $$unsubscribe_writable());
8924
10272
  let { app = null } = $$props;
8925
10273
  let { theme = "light" } = $$props;
@@ -8928,9 +10276,9 @@ function instance55($$self, $$props, $$invalidate) {
8928
10276
  const extra_height = (32 + 4 + 4) * 2;
8929
10277
  let collapsed = false;
8930
10278
  let container_height = writable(0);
8931
- component_subscribe($$self, container_height, (value) => $$invalidate(12, $container_height = value));
10279
+ component_subscribe($$self, container_height, (value) => $$invalidate(13, $container_height = value));
8932
10280
  let scroll_height = writable(0);
8933
- component_subscribe($$self, scroll_height, (value) => $$invalidate(13, $scroll_height = value));
10281
+ component_subscribe($$self, scroll_height, (value) => $$invalidate(14, $scroll_height = value));
8934
10282
  function input_change_handler() {
8935
10283
  collapsed = this.checked;
8936
10284
  $$invalidate(3, collapsed);
@@ -8943,23 +10291,26 @@ function instance55($$self, $$props, $$invalidate) {
8943
10291
  if ("language" in $$props2)
8944
10292
  $$invalidate(2, language = $$props2.language);
8945
10293
  if ("config" in $$props2)
8946
- $$invalidate(11, config = $$props2.config);
10294
+ $$invalidate(12, config = $$props2.config);
8947
10295
  };
8948
10296
  $$self.$$.update = () => {
8949
10297
  if ($$self.$$.dirty & 1) {
8950
- $$subscribe_writable($$invalidate(8, writable2 = app?.writable));
10298
+ $$subscribe_writable($$invalidate(9, writable2 = app?.writable));
8951
10299
  }
8952
- if ($$self.$$.dirty & 16384) {
8953
- $$invalidate(7, disabled = !$writable);
10300
+ if ($$self.$$.dirty & 32768) {
10301
+ $$invalidate(8, disabled = !$writable);
8954
10302
  }
8955
- if ($$self.$$.dirty & 12288) {
8956
- $$invalidate(6, computed_height = clamp($container_height, extra_height, $scroll_height + extra_height));
10303
+ if ($$self.$$.dirty & 24576) {
10304
+ $$invalidate(7, computed_height = clamp($container_height, extra_height, $scroll_height + extra_height));
8957
10305
  }
8958
- if ($$self.$$.dirty & 12288) {
8959
- $$invalidate(5, scrollable = $scroll_height + extra_height > $container_height);
10306
+ if ($$self.$$.dirty & 24576) {
10307
+ $$invalidate(6, scrollable = $scroll_height + extra_height > $container_height);
8960
10308
  }
8961
- if ($$self.$$.dirty & 2048) {
8962
- $$invalidate(4, hide_apps = config.apps?.enable === false);
10309
+ if ($$self.$$.dirty & 4096) {
10310
+ $$invalidate(5, hide_apps = config.apps?.enable === false);
10311
+ }
10312
+ if ($$self.$$.dirty & 4096) {
10313
+ $$invalidate(4, eraser_type = config.eraser?.behavior || "both");
8963
10314
  }
8964
10315
  };
8965
10316
  return [
@@ -8967,6 +10318,7 @@ function instance55($$self, $$props, $$invalidate) {
8967
10318
  theme,
8968
10319
  language,
8969
10320
  collapsed,
10321
+ eraser_type,
8970
10322
  hide_apps,
8971
10323
  scrollable,
8972
10324
  computed_height,
@@ -8984,11 +10336,11 @@ function instance55($$self, $$props, $$invalidate) {
8984
10336
  var Toolbar = class extends SvelteComponent {
8985
10337
  constructor(options) {
8986
10338
  super();
8987
- init(this, options, instance55, create_fragment55, safe_not_equal, {
10339
+ init(this, options, instance58, create_fragment58, safe_not_equal, {
8988
10340
  app: 0,
8989
10341
  theme: 1,
8990
10342
  language: 2,
8991
- config: 11
10343
+ config: 12
8992
10344
  });
8993
10345
  }
8994
10346
  };
@@ -9086,7 +10438,7 @@ function create_if_block_22(ctx) {
9086
10438
  }
9087
10439
  };
9088
10440
  }
9089
- function create_if_block_13(ctx) {
10441
+ function create_if_block_19(ctx) {
9090
10442
  let icon;
9091
10443
  let current;
9092
10444
  icon = new Icon_default({
@@ -9233,7 +10585,7 @@ function create_default_slot_25(ctx) {
9233
10585
  let if_block;
9234
10586
  let if_block_anchor;
9235
10587
  let current;
9236
- const if_block_creators = [create_if_block_13, create_if_block_22, create_else_block_13];
10588
+ const if_block_creators = [create_if_block_19, create_if_block_22, create_else_block_13];
9237
10589
  const if_blocks = [];
9238
10590
  function select_block_type(ctx2, dirty) {
9239
10591
  if (ctx2[3])
@@ -9541,7 +10893,7 @@ function create_each_block5(key_1, ctx) {
9541
10893
  }
9542
10894
  };
9543
10895
  }
9544
- function create_fragment56(ctx) {
10896
+ function create_fragment59(ctx) {
9545
10897
  let div0;
9546
10898
  let button0;
9547
10899
  let t0;
@@ -9744,7 +11096,7 @@ function format(ms) {
9744
11096
  return String(m).padStart(2, "0") + ":" + String(s % 60).padStart(2, "0");
9745
11097
  }
9746
11098
  var name7 = "fastboard-player-control";
9747
- function instance56($$self, $$props, $$invalidate) {
11099
+ function instance59($$self, $$props, $$invalidate) {
9748
11100
  let t;
9749
11101
  let canPlay;
9750
11102
  let disabled;
@@ -9878,7 +11230,7 @@ function instance56($$self, $$props, $$invalidate) {
9878
11230
  var PlayerControl = class extends SvelteComponent {
9879
11231
  constructor(options) {
9880
11232
  super();
9881
- init(this, options, instance56, create_fragment56, safe_not_equal, {
11233
+ init(this, options, instance59, create_fragment59, safe_not_equal, {
9882
11234
  player: 19,
9883
11235
  theme: 0,
9884
11236
  language: 20,
@@ -9935,7 +11287,7 @@ function create_if_block9(ctx) {
9935
11287
  }
9936
11288
  };
9937
11289
  }
9938
- function create_fragment57(ctx) {
11290
+ function create_fragment60(ctx) {
9939
11291
  let div2;
9940
11292
  let div0;
9941
11293
  let t;
@@ -10017,7 +11369,7 @@ function create_fragment57(ctx) {
10017
11369
  };
10018
11370
  }
10019
11371
  var name8 = "fastboard";
10020
- function instance57($$self, $$props, $$invalidate) {
11372
+ function instance60($$self, $$props, $$invalidate) {
10021
11373
  let { player = null } = $$props;
10022
11374
  let { theme = "light" } = $$props;
10023
11375
  let { language = "en" } = $$props;
@@ -10090,7 +11442,7 @@ function instance57($$self, $$props, $$invalidate) {
10090
11442
  var ReplayFastboard = class extends SvelteComponent {
10091
11443
  constructor(options) {
10092
11444
  super();
10093
- init(this, options, instance57, create_fragment57, not_equal, {
11445
+ init(this, options, instance60, create_fragment60, not_equal, {
10094
11446
  player: 0,
10095
11447
  theme: 1,
10096
11448
  language: 2,
@@ -10194,7 +11546,7 @@ function create_if_block_23(ctx) {
10194
11546
  }
10195
11547
  };
10196
11548
  }
10197
- function create_if_block_14(ctx) {
11549
+ function create_if_block_110(ctx) {
10198
11550
  let zoomcontrol;
10199
11551
  let current;
10200
11552
  zoomcontrol = new ZoomControl_default({
@@ -10286,7 +11638,7 @@ function create_if_block10(ctx) {
10286
11638
  }
10287
11639
  };
10288
11640
  }
10289
- function create_fragment58(ctx) {
11641
+ function create_fragment61(ctx) {
10290
11642
  let div4;
10291
11643
  let div0;
10292
11644
  let t0;
@@ -10301,7 +11653,7 @@ function create_fragment58(ctx) {
10301
11653
  let dispose;
10302
11654
  let if_block0 = ctx[3].toolbar?.enable !== false && create_if_block_32(ctx);
10303
11655
  let if_block1 = ctx[3].redo_undo?.enable !== false && create_if_block_23(ctx);
10304
- let if_block2 = ctx[3].zoom_control?.enable !== false && create_if_block_14(ctx);
11656
+ let if_block2 = ctx[3].zoom_control?.enable !== false && create_if_block_110(ctx);
10305
11657
  let if_block3 = ctx[3].page_control?.enable !== false && create_if_block10(ctx);
10306
11658
  return {
10307
11659
  c() {
@@ -10406,7 +11758,7 @@ function create_fragment58(ctx) {
10406
11758
  transition_in(if_block2, 1);
10407
11759
  }
10408
11760
  } else {
10409
- if_block2 = create_if_block_14(ctx2);
11761
+ if_block2 = create_if_block_110(ctx2);
10410
11762
  if_block2.c();
10411
11763
  transition_in(if_block2, 1);
10412
11764
  if_block2.m(div2, null);
@@ -10481,7 +11833,7 @@ function create_fragment58(ctx) {
10481
11833
  };
10482
11834
  }
10483
11835
  var name9 = "fastboard";
10484
- function instance58($$self, $$props, $$invalidate) {
11836
+ function instance61($$self, $$props, $$invalidate) {
10485
11837
  let writable2;
10486
11838
  let boxState;
10487
11839
  let focusedApp;
@@ -10594,7 +11946,7 @@ function instance58($$self, $$props, $$invalidate) {
10594
11946
  var Fastboard = class extends SvelteComponent {
10595
11947
  constructor(options) {
10596
11948
  super();
10597
- init(this, options, instance58, create_fragment58, not_equal, {
11949
+ init(this, options, instance61, create_fragment61, not_equal, {
10598
11950
  app: 0,
10599
11951
  theme: 1,
10600
11952
  language: 2,
@@ -10680,7 +12032,7 @@ exports.RedoUndo = RedoUndo_default;
10680
12032
  exports.ReplayFastboard = ReplayFastboard_default;
10681
12033
  exports.Toolbar = Toolbar_default;
10682
12034
  exports.ZoomControl = ZoomControl_default;
10683
- exports.apps = apps;
10684
12035
  exports.createReplayUI = createReplayUI;
10685
12036
  exports.createUI = createUI;
12037
+ exports.stockedApps = stockedApps;
10686
12038
  //# sourceMappingURL=index.js.map