@netless/fastboard-ui 0.3.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/LICENSE.txt +21 -0
  2. package/README.md +7 -0
  3. package/dist/index.d.ts +92 -0
  4. package/dist/index.js +10143 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.mjs +10114 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/dist/index.svelte.mjs +10368 -0
  9. package/dist/index.svelte.mjs.map +1 -0
  10. package/package.json +31 -0
  11. package/src/actions/height.ts +43 -0
  12. package/src/actions/scroll.ts +31 -0
  13. package/src/actions/tippy.ts +70 -0
  14. package/src/behaviors/icons/countdown.svg +1 -0
  15. package/src/behaviors/icons/geogebra.svg +1 -0
  16. package/src/behaviors/icons/visual-studio-code.svg +1 -0
  17. package/src/behaviors/index.ts +68 -0
  18. package/src/components/Button/Button.svelte +51 -0
  19. package/src/components/Button/Button.svelte.d.ts +26 -0
  20. package/src/components/Button/index.ts +2 -0
  21. package/src/components/Fastboard/Fastboard.scss +49 -0
  22. package/src/components/Fastboard/Fastboard.svelte +32 -0
  23. package/src/components/Fastboard/Fastboard.svelte.ts +12 -0
  24. package/src/components/Fastboard/ReplayFastboard.svelte +22 -0
  25. package/src/components/Fastboard/ReplayFastboard.svelte.ts +12 -0
  26. package/src/components/Fastboard/index.ts +5 -0
  27. package/src/components/Icon/Icon.svelte +11 -0
  28. package/src/components/Icon/Icon.svelte.d.ts +10 -0
  29. package/src/components/Icon/index.ts +2 -0
  30. package/src/components/Icons/Apps.svelte +49 -0
  31. package/src/components/Icons/Arrow.svelte +16 -0
  32. package/src/components/Icons/ArrowBolded.svelte +17 -0
  33. package/src/components/Icons/Balloon.svelte +16 -0
  34. package/src/components/Icons/BalloonBolded.svelte +16 -0
  35. package/src/components/Icons/Circle.svelte +20 -0
  36. package/src/components/Icons/CircleBolded.svelte +20 -0
  37. package/src/components/Icons/Clean.svelte +14 -0
  38. package/src/components/Icons/Clear.svelte +16 -0
  39. package/src/components/Icons/Click.svelte +16 -0
  40. package/src/components/Icons/ClickFilled.svelte +10 -0
  41. package/src/components/Icons/Diamond.svelte +16 -0
  42. package/src/components/Icons/Down.svelte +16 -0
  43. package/src/components/Icons/Eraser.svelte +16 -0
  44. package/src/components/Icons/EraserFilled.svelte +16 -0
  45. package/src/components/Icons/Icons.scss +20 -0
  46. package/src/components/Icons/Left.svelte +16 -0
  47. package/src/components/Icons/Line.svelte +16 -0
  48. package/src/components/Icons/LineBolded.svelte +16 -0
  49. package/src/components/Icons/Loading.svelte +10 -0
  50. package/src/components/Icons/Minus.svelte +16 -0
  51. package/src/components/Icons/Pause.svelte +10 -0
  52. package/src/components/Icons/Pencil.svelte +29 -0
  53. package/src/components/Icons/PencilFilled.svelte +16 -0
  54. package/src/components/Icons/Play.svelte +10 -0
  55. package/src/components/Icons/Plus.svelte +16 -0
  56. package/src/components/Icons/Rectangle.svelte +16 -0
  57. package/src/components/Icons/RectangleBolded.svelte +16 -0
  58. package/src/components/Icons/Redo.svelte +15 -0
  59. package/src/components/Icons/Reset.svelte +26 -0
  60. package/src/components/Icons/Rhombus.svelte +16 -0
  61. package/src/components/Icons/RhombusBolded.svelte +16 -0
  62. package/src/components/Icons/Right.svelte +16 -0
  63. package/src/components/Icons/Selector.svelte +24 -0
  64. package/src/components/Icons/SelectorFilled.svelte +18 -0
  65. package/src/components/Icons/SpeechBalloon.svelte +16 -0
  66. package/src/components/Icons/Star.svelte +16 -0
  67. package/src/components/Icons/StarBolded.svelte +16 -0
  68. package/src/components/Icons/Text.svelte +16 -0
  69. package/src/components/Icons/TextFilled.svelte +17 -0
  70. package/src/components/Icons/Triangle.svelte +16 -0
  71. package/src/components/Icons/TriangleBolded.svelte +16 -0
  72. package/src/components/Icons/Undo.svelte +15 -0
  73. package/src/components/Icons/Up.svelte +16 -0
  74. package/src/components/Icons/WhiteboardAdd.svelte +34 -0
  75. package/src/components/Icons/index.ts +93 -0
  76. package/src/components/PageControl/PageControl.scss +15 -0
  77. package/src/components/PageControl/PageControl.svelte +78 -0
  78. package/src/components/PageControl/PageControl.svelte.d.ts +13 -0
  79. package/src/components/PageControl/index.ts +2 -0
  80. package/src/components/PlayerControl/PlayerControl.scss +57 -0
  81. package/src/components/PlayerControl/PlayerControl.svelte +153 -0
  82. package/src/components/PlayerControl/PlayerControl.svelte.d.ts +13 -0
  83. package/src/components/PlayerControl/index.ts +2 -0
  84. package/src/components/RedoUndo/RedoUndo.scss +11 -0
  85. package/src/components/RedoUndo/RedoUndo.svelte +60 -0
  86. package/src/components/RedoUndo/RedoUndo.svelte.d.ts +13 -0
  87. package/src/components/RedoUndo/index.ts +2 -0
  88. package/src/components/Toolbar/README.md +57 -0
  89. package/src/components/Toolbar/Toolbar.scss +69 -0
  90. package/src/components/Toolbar/Toolbar.svelte +50 -0
  91. package/src/components/Toolbar/Toolbar.svelte.d.ts +12 -0
  92. package/src/components/Toolbar/components/Contents.scss +166 -0
  93. package/src/components/Toolbar/components/Contents.svelte +191 -0
  94. package/src/components/Toolbar/components/Shapes.svelte +85 -0
  95. package/src/components/Toolbar/components/Slider.scss +119 -0
  96. package/src/components/Toolbar/components/Slider.svelte +54 -0
  97. package/src/components/Toolbar/components/StrokeColor.svelte +39 -0
  98. package/src/components/Toolbar/components/StrokeWidth.svelte +20 -0
  99. package/src/components/Toolbar/components/constants.ts +80 -0
  100. package/src/components/Toolbar/components/helper.ts +24 -0
  101. package/src/components/Toolbar/index.ts +2 -0
  102. package/src/components/ZoomControl/ZoomControl.scss +15 -0
  103. package/src/components/ZoomControl/ZoomControl.svelte +99 -0
  104. package/src/components/ZoomControl/ZoomControl.svelte.d.ts +13 -0
  105. package/src/components/ZoomControl/index.ts +2 -0
  106. package/src/components/helpers.ts +3 -0
  107. package/src/components/theme.scss +91 -0
  108. package/src/components/variables.scss +69 -0
  109. package/src/index.ts +13 -0
  110. package/src/style.scss +36 -0
  111. package/src/typings.ts +17 -0
@@ -0,0 +1,20 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <rect
10
+ width="16"
11
+ height="16"
12
+ x="4"
13
+ y="4"
14
+ stroke="#5D6066"
15
+ stroke-linejoin="round"
16
+ stroke-width="1.75"
17
+ rx="8"
18
+ class="fastboard-icon-stroke-color"
19
+ />
20
+ </svg>
@@ -0,0 +1,14 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ fill="#5D6066"
11
+ d="M9.754 11.99c0 1.856-.711 3.62-1.96 4.951l-.151.155h1.403l.855-.853h.707l.853.853h2.635l.094-.064a6.237 6.237 0 0 0 2.559-4.781l.005-.26h1a7.237 7.237 0 0 1-2.994 5.862l-.229.16-.277.083h-3l-.353-.146-.647-.647-.646.647-.354.146h-3l-.286-.91.214-.148a6.237 6.237 0 0 0 2.567-4.787l.005-.26h1Zm4.772-6.502v2l.35.039a2.98 2.98 0 0 1 2.644 2.78l.006.181h-8a2.98 2.98 0 0 1 2.65-2.961l.35-.039v-2h2Z"
12
+ class="fastboard-icon-fill-color"
13
+ />
14
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ d="m17.95 4.636-2.83 2.828-1.413-1.414a2 2 0 0 0-2.829 0l-.707.707 7.071 7.071.707-.707a2 2 0 0 0 0-2.828l-1.414-1.414 2.829-2.829-1.415-1.414Zm-1.415 9.9-5.656 5.656-.707-.707 1.767-3.182-3.182 1.768.707-2.121-2.121.707 1.768-3.182-3.182 1.768.707-2.122-2.121.707-.707-.707 5.656-5.657"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ d="M10 18 6 6l12 4-6 2-2 6Z"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path fill="#5D6066" d="M10 18 6 6l12 4-6 2-2 6Z" class="fastboard-icon-fill-color" />
10
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ class="fastboard-icon-stroke-color"
11
+ d="M4.222 12 12 4.222 19.778 12 12 19.778z"
12
+ stroke="#5D6066"
13
+ stroke-linejoin="round"
14
+ stroke-width="1.25"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ class="fastboard-icon-stroke-color"
11
+ d="m16 10-2 2-2 2-2-2-2-2"
12
+ stroke="#5D6066"
13
+ stroke-linejoin="round"
14
+ stroke-width="1.25"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ 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"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ fill="#5D6066"
11
+ fill-rule="evenodd"
12
+ 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"
13
+ clip-rule="evenodd"
14
+ class="fastboard-icon-fill-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,20 @@
1
+ @import "../theme.scss";
2
+
3
+ @each $name, $theme in $themes {
4
+ .fastboard-icon.#{$name} {
5
+ .fastboard-icon-stroke-color {
6
+ stroke: read($theme, "color");
7
+ }
8
+ .fastboard-icon-fill-color {
9
+ fill: read($theme, "color");
10
+ }
11
+ &.is-active {
12
+ .fastboard-icon-stroke-color {
13
+ stroke: read($theme, "active-color");
14
+ }
15
+ .fastboard-icon-fill-color {
16
+ fill: read($theme, "active-color");
17
+ }
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ d="m14 8-2 2-2 2 2 2 2 2"
11
+ class="fastboard-icon-stroke-color"
12
+ stroke="#5D6066"
13
+ stroke-linejoin="round"
14
+ stroke-width="1.25"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ d="M5 19 19 5"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.75"
13
+ d="M5 19 19 5"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path fill="#5D6066" d="M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8z" class="fastboard-icon-fill-color" />
10
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ d="M5 12h14"
11
+ class="fastboard-icon-stroke-color"
12
+ stroke="#5D6066"
13
+ stroke-linejoin="round"
14
+ stroke-width="1.25"
15
+ />
16
+ </svg>
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path fill="#5D6066" d="M14 19h4V5h-4M6 19h4V5H6v14z" class="fastboard-icon-fill-color" />
10
+ </svg>
@@ -0,0 +1,29 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ d="M15.536 4.222a2 2 0 0 1 2.828 0l1.414 1.414a2 2 0 0 1 0 2.828l-9.9 9.9-4.95.707.708-4.95 9.9-9.9Z"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ <path
17
+ stroke="#5D6066"
18
+ stroke-width="1.25"
19
+ d="m14.121 5.636 4.243 4.243"
20
+ class="fastboard-icon-stroke-color"
21
+ />
22
+ <path
23
+ stroke="#5D6066"
24
+ stroke-linejoin="round"
25
+ stroke-width="1.25"
26
+ d="m16.243 7.757-5.657 5.657m-3.536.707v1.415h1.415v1.414h1.414"
27
+ class="fastboard-icon-stroke-color"
28
+ />
29
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ fill="#5D6066"
11
+ fill-rule="evenodd"
12
+ d="M18.364 4.222a2 2 0 0 0-2.828 0l-9.9 9.9-.707 4.95 4.95-.708 8.132-8.132-.008-.007-.008-.008-.007-.008-.008-.007-.008-.008-.008-.008-.007-.008-.008-.008-.008-.007-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.009-.009-.008-.008-.008-.008-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.009-.009-.008-.009-.009-.008-.009-.009-.008-.008-.009-.01-.009-.008-.008-.009-.01-.008-.008-.01-.009-.008-.008-.009-.01-.009-.008-.008-.01-.01-.008-.008-.009-.01-.009-.008-.009-.01-.009-.008-.009-.01-.009-.008-.009-.01-.01-.008-.008-.01-.01-.009-.009-.009-.009-.009-.009-.01-.01-.008-.008-.01-.01-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.009-.009-.009-.01-.01-.008-.009-.01-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.01-.01-.009-.009-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.009-.009-.01-.01-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.01-.01-.009-.01-.01-.01-.01-.009-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.011-.01-.01-.011-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.011-.01-.01-.011-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.009-.009-.01-.01-.01-.01-.009-.009-.01-.01-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.008-.008-.01-.01-.009-.009-.009-.009-.01-.009-.008-.01-.01-.008-.008-.01-.01-.008-.009-.01-.009-.008-.009-.01-.009-.008-.008-.01-.01-.008-.008-.009-.01-.009-.008-.009-.009-.008-.009-.01-.008-.008-.01L14.777 7l-.008-.009-.01-.008-.008-.01-.008-.008-.01-.008-.008-.009-.008-.008-.009-.009-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.008-.009-.009-.008-.008-.008-.008-.008-.008-.009-.008-.008-.009-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.007-.008-.008-.007-.008-.008-.008-.008-.007-.008-.008-.007-.008-.008-.007-.008-.008-.007-.008-.008-.007-.007-.008-.008-.007-.007-.008-.008-.007-.007-.007-.008-.008-.007-.007-.007-.007-.007-.008-.008-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.006-.007-.007-.007-.007-.006-.007-.007-.006-.007-.007-.006-.007-.007-.006-.006-.007-.007-.006-.006-.007-.007-.006-.006-.006-.007-.007-.006-.006-.006-.006-.006-.006-.007-.007-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.005-.006-.006-.005-.006-.006-.006-.006-.005-.006-.006-.005-.005-.006-.006-.005-.006-.006-.005-.005-.005-.006-.006-.005-.005-.005-.005-.006-.006-.005-.005-.005-.005-.005-.005-.005-.005-.005-.005-.006-.005-.005-.005-.004-.005-.005-.005-.005-.005-.005-.005-.005-.004-.005-.005-.004-.005-.005-.004-.005-.005-.004-.004-.005-.005-.004-.004-.004-.005-.005-.004-.004-.004-.004-.005-.005-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.003-.004-.004-.003-.004-.004-.003-.004-.004-.003-.004-.004-.003-.003-.003-.004-.004-.003-.003-.003-.003-.004-.004-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.002-.003-.003-.002-.003-.003-.002-.002-.003-.003-.002-.003-.003-.002-.002-.002-.002-.003-.003-.002-.002-.002-.002-.002-.002-.002-.002-.002L13.779 6l-.002-.002-.002-.002-.002-.002-.002-.002-.002-.002-.001-.001.707-.708.002.002.001.002.002.002.002.002.002.001.002.002.002.002.002.002.002.003.002.002.002.002.003.002.002.003.002.002.003.002.002.003.003.002.002.003.003.003.003.002.002.003.003.003.003.003.003.003.003.003.003.002.003.004.003.003.003.003.003.003.004.003.003.003.003.004.004.003.003.004.004.003.003.004.004.003.003.004.004.004.004.003.004.004.003.004.004.004.004.004.004.004.004.004.004.004.004.004.004.004.005.004.004.004.004.005.005.004.004.004.004.005.005.004.004.005.005.004.004.005.005.005.005.004.005.005.004.005.005.005.005.005.005.004.005.005.005.005.005.005.005.005.005.006.005.005.005.005.006.005.005.006.005.005.006.005.005.006.006.005.005.006.006.005.005.006.006.005.006.006.005.006.006.005.006.006.006.006.005.006.006.006.006.006.006.006.006.006.006.006.006.006.007.006.006.006.006.006.006.007.007.006.006.006.006.007.007.006.006.007.007.006.006.007.007.006.006.007.007.006.006.007.007.007.007.006.007.007.006.007.007.007.007.007.007.007.007.006.007.007.007.007.007.007.007.008.007.007.007.007.007.007.008.007.007.007.007.008.007.007.008.007.007.008.008.007.007.008.008.007.007.008.008.007.007.008.008.007.007.008.008.008.008.007.007.008.008.008.008.007.008.008.008.008.008.008.007.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.009.008.008.008.008.008.008.009.008.008.009.008.008.009.008.008.009.008.008.009.009.008.008.008.008.009.009.008.008.009.009.008.008.009.01.009.008.008.008.009.009.009.009.008.008.009.01.009.008.008.009.01.009.008.008.009.01.009.008.009.009.008.009.01.009.008.009.01.009.008.009.01.009.008.009.01.009.009.01.009.008.009.01.009.009.01.009.008.009.01.01.009.008.009.01.01.01.009.008.009.01.01.01.009.008.009.01.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.01.01.009.01.01.009.009.01.01.01.01.009.01.01.009.01.01.01.01.009.01.01.009.01.01.01.01.01.01.009.01.01.01.01.009.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.011.01.01.01.01.011.01.01.01.01.011.01.01.01.01.011.01.01.011.01.01.011.01.01.011.01.01.01.01.011.01.01.011.01.01.011.011.01.01.01.01.011.011.01.01.01.01.011.011.01.01.011.011.01.01.01.01.011.011.01.01.011.011.01.01.011.01.01.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.01.01.011.01.01.011.011.01.01.011.011.01.01.011.01.01.011.01.01.011.011.01.01.01.01.011.011.01.01.011.01.01.011.01.01.011.01.01.011.01.01.011.01.01.011.01.01.01.01.011.01.01.011.01.01.01.01.011.01.01.011.01.01.01.01.01.01.011.01.01.01.01.011.01.01.01.01.01.01.011.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.009.01.01.009.01.01.01.01.009.009.01.01.01.01.009.01.01.009.01.01.009.009.01.01.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.009.01.009.009.01.009.009.01.01.009.008.009.01.01.01.009.008.009.01.01.009.008.01.01.008.009.01.01.009.008.009.01.009.008.01.01.008.009.01.009.008.009.01.009.008.009.01.009.008.009.009.009.009.008.009.01.009.008.008.009.01.009.008.009.009.008.008.01.01.008.008.008.008.01.01.008.008.008.008.009.009.008.008.009.009.008.008.009.009.008.008.009.009.008.008.009.008.008.009.008.008.008.008.009.008.008.009.008.008.008.008.008.008.009.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.007.008.008.008.008.007.008.008.007.008.008.007.008.008.008.008.007 1.06-1.06a2 2 0 0 0 0-2.829l-1.414-1.414Zm-9.9 10.689c.346 0 .626.28.626.625v.789h.789v1.25H8.465a.625.625 0 0 1-.625-.625v-.79h-.79a.625.625 0 0 1-.625-.624V14.12h1.25v.79h.79Z"
13
+ clip-rule="evenodd"
14
+ class="fastboard-icon-fill-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path fill="#5D6066" d="M8 5.14v14l11-7l-11-7z" class="fastboard-icon-fill-color" />
10
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ d="M5 12h14m-7-7v14"
11
+ class="fastboard-icon-stroke-color"
12
+ stroke="#5D6066"
13
+ stroke-linejoin="round"
14
+ stroke-width="1.25"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ d="M5 5h14v14H5z"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.75"
13
+ d="M5 5h14v14H5z"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,15 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path fill="#5D6066" d="m14 5 6 4-6 4 2-4-2-4Z" class="fastboard-icon-fill-color" />
10
+ <path
11
+ fill="#5D6066"
12
+ d="M8 8.375h8v1.25H8v-1.25Zm0 8h12v1.25H8v-1.25ZM3.375 13A4.625 4.625 0 0 1 8 8.375v1.25A3.375 3.375 0 0 0 4.625 13h-1.25Zm1.25 0A3.375 3.375 0 0 0 8 16.375v1.25A4.625 4.625 0 0 1 3.375 13h1.25Z"
13
+ class="fastboard-icon-fill-color"
14
+ />
15
+ </svg>
@@ -0,0 +1,26 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <circle cx="12" cy="12" fill="#5D6066" r="2" class="fastboard-icon-fill-color" />
10
+ <path
11
+ d="M12 3v4m0 10v4m9-9h-4M7 12H3"
12
+ stroke="#5D6066"
13
+ stroke-linejoin="round"
14
+ stroke-width="1.25"
15
+ class="fastboard-icon-stroke-color"
16
+ />
17
+ <circle
18
+ cx="12"
19
+ cy="12"
20
+ r="7"
21
+ stroke="#5D6066"
22
+ stroke-linejoin="round"
23
+ stroke-width="1.25"
24
+ class="fastboard-icon-stroke-color"
25
+ />
26
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ d="M3.515 12 12 3.514 20.485 12 12 20.485z"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.75"
13
+ d="M3.515 12 12 3.514 20.485 12 12 20.485z"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ d="m10 8 2 2 2 2-2 2-2 2"
11
+ stroke="#5D6066"
12
+ stroke-linejoin="round"
13
+ stroke-width="1.25"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,24 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-dasharray="1.25 1.25"
12
+ stroke-linejoin="round"
13
+ stroke-width="1.25"
14
+ d="M18 11V4H4v14h7"
15
+ class="fastboard-icon-stroke-color"
16
+ />
17
+ <path
18
+ stroke="#5D6066"
19
+ stroke-linejoin="round"
20
+ stroke-width="1.25"
21
+ d="m15 20-2-7 7 2-3.5 1.5L15 20Z"
22
+ class="fastboard-icon-stroke-color"
23
+ />
24
+ </svg>
@@ -0,0 +1,18 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-dasharray="1.25 1.25"
12
+ stroke-linejoin="round"
13
+ stroke-width="1.25"
14
+ d="M18 11V4H4v14h7"
15
+ class="fastboard-icon-stroke-color"
16
+ />
17
+ <path fill="#5D6066" d="m15 20-2-7 7 2-3.5 1.5L15 20Z" class="fastboard-icon-fill-color" />
18
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ d="M17 4.5c.414 0 .79.168 1.06.44.272.27.44.646.44 1.06v9c0 .414-.168.79-.44 1.06a1.49 1.49 0 0 1-1.06.44h-4.207l-2.715 2.715-1.81-2.715H7a1.49 1.49 0 0 1-1.06-.44A1.495 1.495 0 0 1 5.5 15V6c0-.414.168-.79.44-1.06A1.49 1.49 0 0 1 7 4.5Z"
11
+ stroke="#5D6066"
12
+ stroke-linejoin="round"
13
+ stroke-width="1.25"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ d="m12 4 1.88 5.411 5.728.117-4.565 3.46 1.66 5.484L12 15.2l-4.702 3.272 1.659-5.483-4.565-3.461 5.727-.117L12 4Z"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.75"
13
+ d="m12 4 1.88 5.411 5.728.117-4.565 3.46 1.66 5.484L12 15.2l-4.702 3.272 1.659-5.483-4.565-3.461 5.727-.117L12 4Z"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ d="M6 7V5h5m7 2V5h-5M8 19h3m5 0h-3m-2 0V5m0 14h2M11 5h2m0 0v14"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>
@@ -0,0 +1,17 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path fill="#3381FF" stroke="#5D6066" d="M11.5 5.5h1v13h-1z" class="fastboard-icon-stroke-color" />
10
+ <path
11
+ stroke="#5D6066"
12
+ stroke-linejoin="round"
13
+ stroke-width="1.25"
14
+ d="M6 7V5h5m7 2V5h-5M8 19h3m5 0h-3m-2 0V5m0 14h2M11 5h2m0 0v14"
15
+ class="fastboard-icon-stroke-color"
16
+ />
17
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Theme } from "../../typings";
3
+
4
+ export let theme: Theme = "light";
5
+ export let active = false;
6
+ </script>
7
+
8
+ <svg fill="none" viewBox="0 0 24 24" class="fastboard-icon {theme}" class:is-active={active}>
9
+ <path
10
+ stroke="#5D6066"
11
+ stroke-linejoin="round"
12
+ stroke-width="1.25"
13
+ d="m12 5 8 14H4l8-14Z"
14
+ class="fastboard-icon-stroke-color"
15
+ />
16
+ </svg>