@cdc/core 1.1.4 → 4.22.11

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 (138) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -1
  3. package/assets/filtered-text.svg +1 -0
  4. package/assets/icon-caret-down.svg +3 -0
  5. package/assets/icon-caret-filled-down.svg +3 -0
  6. package/assets/icon-caret-filled-up.svg +3 -0
  7. package/assets/icon-caret-up.svg +3 -0
  8. package/assets/icon-chart-bar-paired.svg +15 -0
  9. package/assets/icon-chart-bar-stacked.svg +10 -0
  10. package/assets/icon-chart-bar.svg +3 -0
  11. package/assets/icon-chart-line.svg +3 -0
  12. package/assets/icon-chart-pie.svg +3 -0
  13. package/assets/icon-check.svg +3 -0
  14. package/assets/icon-close.svg +3 -1
  15. package/assets/icon-code.svg +2 -2
  16. package/assets/icon-dashboard.svg +34 -0
  17. package/assets/icon-databite.svg +3 -0
  18. package/assets/icon-edit.svg +3 -0
  19. package/assets/icon-file-upload.svg +3 -0
  20. package/assets/icon-filter-bars.svg +5 -0
  21. package/assets/icon-gear.svg +6 -0
  22. package/assets/icon-grid.svg +2 -3
  23. package/assets/icon-info.svg +1 -1
  24. package/assets/icon-link.svg +3 -0
  25. package/assets/{alabama-graphic.svg → icon-map-alabama.svg} +2 -2
  26. package/assets/icon-map-usa.svg +3 -0
  27. package/assets/icon-map-world.svg +3 -0
  28. package/assets/icon-minus.svg +3 -0
  29. package/assets/icon-move.svg +8 -0
  30. package/assets/icon-plus.svg +3 -0
  31. package/assets/icon-question-circle.svg +3 -0
  32. package/assets/icon-tools.svg +8 -0
  33. package/assets/icon-upload.svg +3 -0
  34. package/assets/icon-warning-circle.svg +3 -0
  35. package/assets/{icon-warning.svg → icon-warning-triangle.svg} +1 -1
  36. package/components/AdvancedEditor.js +52 -67
  37. package/components/{ErrorBoundary.js → ErrorBoundary.jsx} +10 -11
  38. package/components/GlobalContext.jsx +2 -6
  39. package/components/{LegendCircle.js → LegendCircle.jsx} +4 -4
  40. package/components/Loading.jsx +17 -0
  41. package/components/Waiting.jsx +20 -0
  42. package/components/elements/Button.jsx +111 -3
  43. package/components/elements/Card.jsx +13 -0
  44. package/components/inputs/InputCheckbox.jsx +43 -38
  45. package/components/inputs/InputGroup.jsx +71 -0
  46. package/components/inputs/InputSelect.jsx +28 -24
  47. package/components/inputs/InputText.jsx +20 -37
  48. package/components/inputs/InputToggle.jsx +39 -43
  49. package/components/managers/DataDesigner.jsx +194 -0
  50. package/components/ui/Accordion.jsx +18 -30
  51. package/components/ui/Icon.jsx +59 -20
  52. package/components/ui/LoadSpin.jsx +19 -0
  53. package/components/ui/Modal.jsx +40 -39
  54. package/components/ui/Overlay.jsx +15 -24
  55. package/components/ui/OverlayFrame.jsx +1 -5
  56. package/components/ui/Tooltip.jsx +20 -31
  57. package/data/colorPalettes.js +36 -227
  58. package/data/dataDesignerTables.js +148 -0
  59. package/data/themes.js +13 -13
  60. package/helpers/DataTransform.js +162 -0
  61. package/helpers/cacheBustingString.js +5 -0
  62. package/helpers/events.js +5 -6
  63. package/helpers/fetchRemoteData.js +41 -0
  64. package/helpers/getViewport.js +15 -15
  65. package/helpers/numberFromString.js +7 -7
  66. package/helpers/updatePaletteNames.js +15 -17
  67. package/helpers/useDataVizClasses.js +40 -0
  68. package/helpers/validateFipsCodeLength.js +41 -56
  69. package/package.json +3 -2
  70. package/styles/_data-table.scss +45 -40
  71. package/styles/_global.scss +41 -22
  72. package/styles/_mixins.scss +12 -12
  73. package/styles/_reset.scss +95 -16
  74. package/styles/_variables.scss +5 -5
  75. package/styles/base.scss +104 -37
  76. package/styles/heading-colors.scss +6 -2
  77. package/styles/loading.scss +62 -60
  78. package/styles/v2/base/_file-selector.scss +20 -0
  79. package/styles/v2/base/_general.scss +9 -22
  80. package/styles/v2/base/_heading.scss +20 -0
  81. package/styles/v2/base/_reset.scss +4 -3
  82. package/styles/v2/base/index.scss +7 -3
  83. package/styles/v2/components/accordion.scss +13 -13
  84. package/styles/v2/components/button.scss +29 -68
  85. package/styles/v2/components/card.scss +7 -0
  86. package/styles/v2/components/data-designer.scss +101 -0
  87. package/styles/v2/components/editor.scss +52 -50
  88. package/styles/v2/components/guidance-block.scss +74 -0
  89. package/styles/v2/components/icon.scss +0 -4
  90. package/styles/v2/components/input/_input-check-radio.scss +97 -0
  91. package/styles/v2/components/input/_input-group.scss +74 -0
  92. package/styles/v2/components/input/_input-slider.scss +183 -0
  93. package/styles/v2/components/input/_input.scss +66 -0
  94. package/styles/v2/components/input/index.scss +7 -0
  95. package/styles/v2/components/loadspin.scss +100 -0
  96. package/styles/v2/components/modal.scss +15 -8
  97. package/styles/v2/components/overlay.scss +6 -4
  98. package/styles/v2/layout/_alert.scss +15 -14
  99. package/styles/v2/layout/_component.scss +8 -1
  100. package/styles/v2/layout/_data-table.scss +78 -156
  101. package/styles/v2/layout/_progression.scss +12 -8
  102. package/styles/v2/layout/index.scss +5 -7
  103. package/styles/v2/main.scss +52 -2
  104. package/styles/v2/themes/_color-definitions.scss +103 -20
  105. package/styles/v2/themes/index.scss +1 -1
  106. package/styles/v2/utils/_align.scss +17 -0
  107. package/styles/v2/utils/_animations.scss +2 -2
  108. package/styles/v2/utils/_breakpoints.scss +59 -0
  109. package/styles/v2/utils/_grid.scss +47 -0
  110. package/styles/v2/utils/_mixins.scss +0 -16
  111. package/styles/v2/utils/_spacers.scss +31 -0
  112. package/styles/v2/utils/_variables.scss +7 -0
  113. package/styles/v2/utils/index.scss +9 -4
  114. package/styles/waiting.scss +22 -23
  115. package/assets/asc.svg +0 -1
  116. package/assets/chart-bar-solid.svg +0 -1
  117. package/assets/chart-line-solid.svg +0 -1
  118. package/assets/chart-pie-solid.svg +0 -1
  119. package/assets/check.svg +0 -3
  120. package/assets/dashboard.svg +0 -11
  121. package/assets/data-bite-graphic.svg +0 -3
  122. package/assets/desc.svg +0 -1
  123. package/assets/file-upload-solid.svg +0 -1
  124. package/assets/horizontal-stacked-bar.svg +0 -1
  125. package/assets/link.svg +0 -1
  126. package/assets/minus.svg +0 -1
  127. package/assets/paired-bar.svg +0 -11
  128. package/assets/plus.svg +0 -1
  129. package/assets/question-circle.svg +0 -1
  130. package/assets/upload-solid.svg +0 -1
  131. package/assets/usa-graphic.svg +0 -3
  132. package/assets/world-graphic.svg +0 -3
  133. package/components/DataTransform.js +0 -162
  134. package/components/Loading.js +0 -15
  135. package/components/Waiting.js +0 -11
  136. package/styles/v2/components/input.scss +0 -372
  137. package/styles/v2/layout/_header.scss +0 -13
  138. package/styles/v2/layout/_link.scss +0 -46
@@ -0,0 +1,59 @@
1
+ // Breakpoint Classes
2
+ @mixin breakpoint($class) {
3
+ @if $class == xs {
4
+ @media (max-width: 767.98px) {
5
+ @content;
6
+ }
7
+ } @else if $class == sm {
8
+ @media (min-width: 768px) {
9
+ @content;
10
+ }
11
+ } @else if $class == md {
12
+ @media (min-width: 960px) {
13
+ @content;
14
+ }
15
+ } @else if $class == lg {
16
+ @media (min-width: 1170px) {
17
+ @content;
18
+ }
19
+ } @else if $class == xl {
20
+ @media (min-width: 1280px) {
21
+ @content;
22
+ }
23
+ } @else {
24
+ @warn "Breakpoint mixin supports: xs, sm, md, lg, xl";
25
+ }
26
+ }
27
+
28
+ @mixin breakpointClass($class) {
29
+ @if $class == xs {
30
+ &.xs,
31
+ &.xxs {
32
+ @content;
33
+ }
34
+ } @else if $class == sm {
35
+ &.sm,
36
+ &.md,
37
+ &.lg,
38
+ &.xl {
39
+ @content;
40
+ }
41
+ } @else if $class == md {
42
+ &.md,
43
+ &.lg,
44
+ &.xl {
45
+ @content;
46
+ }
47
+ } @else if $class == lg {
48
+ &.lg,
49
+ &.xl {
50
+ @content;
51
+ }
52
+ } @else if $class == xl {
53
+ &.xl {
54
+ @content;
55
+ }
56
+ } @else {
57
+ @warn "Breakpoint Class mixin supports: xs, sm, md, lg, xl";
58
+ }
59
+ }
@@ -0,0 +1,47 @@
1
+ $grid-gap-offset: 8;
2
+ $grid-gap-max: 64;
3
+ $grid-columns: 12;
4
+
5
+ @mixin create-grid-selectors($breakpoint: null) {
6
+ $infix: if($breakpoint == null, '', '-#{$breakpoint}');
7
+
8
+ @for $i from 1 through $grid-columns {
9
+ .col#{$infix}-#{$i} {
10
+ grid-column-end: span $i;
11
+ }
12
+ .col-offset#{$infix}-#{$i} {
13
+ grid-column-start: $i + 1;
14
+ }
15
+ .row#{$infix}-#{$i} {
16
+ grid-row-end: span $i;
17
+ }
18
+ .row-offset#{$infix}-#{$i} {
19
+ grid-row-start: $i + 1;
20
+ }
21
+ }
22
+ }
23
+
24
+ @mixin grid-gaps() {
25
+ $i: 0;
26
+ @while ($i * $grid-gap-offset) <= $grid-gap-max {
27
+ .grid-gap-#{$i} {
28
+ grid-gap: #{($i * $grid-gap-offset) + 'px'};
29
+ gap: #{($i * $grid-gap-offset) + 'px'};
30
+ }
31
+ $i: $i + 1;
32
+ }
33
+ }
34
+
35
+ .grid {
36
+ display: grid;
37
+ grid-template-columns: repeat($grid-columns, 1fr);
38
+ }
39
+
40
+ @include create-grid-selectors;
41
+ @include grid-gaps;
42
+
43
+ @each $breakpoint, $width in $cove-breakpoints {
44
+ @media (min-width: $width) {
45
+ @include create-grid-selectors($breakpoint);
46
+ }
47
+ }
@@ -11,19 +11,3 @@
11
11
  justify-content: center;
12
12
  z-index: 7;
13
13
  }
14
-
15
- @mixin breakpoint($class) {
16
- @if $class == xs {@media (max-width: 767px) { @content; }}
17
- @else if $class == sm {@media (min-width: 768px) { @content; }}
18
- @else if $class == md {@media (min-width: 960px) { @content; }}
19
- @else if $class == lg {@media (min-width: 1300px) { @content; }}
20
- @else {@warn "Breakpoint mixin supports: xs, sm, md, lg";}
21
- }
22
-
23
- @mixin breakpointClass($class) {
24
- @if $class == xs { &.xs, &.xxs {@content;} }
25
- @else if $class == sm { &.sm, &.md, &.lg {@content;} }
26
- @else if $class == md { &.md, &.lg {@content;} }
27
- @else if $class == lg { &.lg {@content;} }
28
- @else {@warn "Breakpoint Class mixin supports: xs, sm, md, lg";}
29
- }
@@ -0,0 +1,31 @@
1
+ // Content Spacer Classes
2
+ $cove-spacers-offset: 8;
3
+ $cove-spacers-max: 64;
4
+
5
+ @mixin spacers($className, $styleNameCollection) {
6
+ $i: 0;
7
+ @while ($i * $cove-spacers-offset) <= $cove-spacers-max {
8
+ #{$className + $i} {
9
+ @each $styleName in $styleNameCollection {
10
+ #{$styleName}: #{($i * $cove-spacers-offset) + 'px'} !important;
11
+ }
12
+ }
13
+ $i: $i + 1;
14
+ }
15
+ }
16
+
17
+ @include spacers('.p-', 'padding');
18
+ @include spacers('.pt-', 'padding-top');
19
+ @include spacers('.pr-', 'padding-right');
20
+ @include spacers('.pb-', 'padding-bottom');
21
+ @include spacers('.pl-', 'padding-left');
22
+ @include spacers('.px-', ('padding-left', 'padding-right'));
23
+ @include spacers('.py-', ('padding-top', 'padding-bottom'));
24
+
25
+ @include spacers('.m-', 'margin');
26
+ @include spacers('.mt-', 'margin-top');
27
+ @include spacers('.mr-', 'margin-right');
28
+ @include spacers('.mb-', 'margin-bottom');
29
+ @include spacers('.ml-', 'margin-left');
30
+ @include spacers('.mx-', ('margin-left', 'margin-right'));
31
+ @include spacers('.mx-', ('margin-top', 'margin-bottom'));
@@ -1,2 +1,9 @@
1
+ $cove-breakpoints: (
2
+ xs: 480px,
3
+ sm: 768px,
4
+ md: 960px,
5
+ lg: 1170px,
6
+ xl: 1280px
7
+ );
1
8
  $editorWidth: 350px;
2
9
  $transition-expo-out: cubic-bezier(0.16, 1, 0.3, 1);
@@ -1,4 +1,9 @@
1
- @import "animations";
2
- @import "functions";
3
- @import "mixins";
4
- @import "variables";
1
+ @import 'variables';
2
+ @import 'mixins';
3
+
4
+ @import 'align';
5
+ @import 'animations';
6
+ @import 'breakpoints';
7
+ @import 'functions';
8
+ @import 'grid';
9
+ @import 'spacers';
@@ -1,26 +1,25 @@
1
1
  .cdc-open-viz-module {
2
- @import "mixins";
3
- .waiting {
4
- &.collapsed {
5
- padding: 2em !important;
6
- }
7
- @include emptyState;
8
- align-items: flex-start;
9
- padding-top: 250px;
10
- .waiting-container {
11
- max-width: 400px;
12
- }
13
- h3 {
14
- font-size: 1.3rem;
15
- font-weight: 600;
16
- margin-bottom: .3rem;
17
- }
18
- p {
19
- font-size: 1em;
20
- strong {
21
- font-weight: bold;
22
- }
23
- }
2
+ @import 'mixins';
3
+ .waiting {
4
+ &.collapsed {
5
+ padding: 2em !important;
24
6
  }
7
+ @include emptyState;
8
+ align-items: flex-start;
9
+ padding-top: 250px;
10
+ .waiting-container {
11
+ max-width: 400px;
12
+ }
13
+ h3 {
14
+ font-size: 1.3rem;
15
+ font-weight: 600;
16
+ margin-bottom: 0.3rem;
17
+ }
18
+ p {
19
+ font-size: 1em;
20
+ strong {
21
+ font-weight: bold;
22
+ }
23
+ }
24
+ }
25
25
  }
26
-
package/assets/asc.svg DELETED
@@ -1 +0,0 @@
1
- <svg viewBox="0 0 10 5" xmlns="http://www.w3.org/2000/svg"><path d="M0 5l5-5 5 5z" fill="#FFF" fill-rule="nonzero"/></svg>
@@ -1 +0,0 @@
1
- <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chart-bar" class="svg-inline--fa fa-chart-bar fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"></path></svg>
@@ -1 +0,0 @@
1
- <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chart-line" class="svg-inline--fa fa-chart-line fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z"></path></svg>
@@ -1 +0,0 @@
1
- <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chart-pie" class="svg-inline--fa fa-chart-pie fa-w-17" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 544 512"><path fill="currentColor" d="M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z"></path></svg>
package/assets/check.svg DELETED
@@ -1,3 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
2
- <path fill="currentColor" d="M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z"/>
3
- </svg>
@@ -1,11 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
2
- <svg x="0" y="0" width="512" height="512" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chart-line" class="svg-inline--fa fa-chart-line fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
3
- <path fill="currentColor" d="M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z"></path>
4
- </svg>
5
- <svg x="512" y="0" width="512" height="512" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chart-pie" class="svg-inline--fa fa-chart-pie fa-w-17" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 544 512">
6
- <path fill="currentColor" d="M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z"></path>
7
- </svg>
8
- <svg x="0" y="512" width="1024" height="512" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 252 137">
9
- <path fill="currentColor" d="M10.834,5.084 L11.167,7.251 L12.834,10.751 L12,14.418 L10.167,12.085 L9,9.418 L6.334,8.918 L2.167,8.418 L1,8.418 L1.667,10.751 L4,14.084 L4,17.417 L4.667,21.084 L7.667,21.417 L8.834,23.084 L5.167,22.584 L4,23.417 L4.5,26.917 L3.834,30.75 L4,35.25 L2.834,38.25 L1.5,42.583 L2.5,45.583 L3.167,49.416 L3.667,52.249 L3,56.082 L3.5,58.749 L4.667,61.416 L5.667,64.749 L6.5,66.916 L10,69.749 L11.667,69.582 L14,69.915 L11.5,70.582 L12.167,71.749 L10,72.082 L12,74.249 L14,76.416 L13.334,78.249 L16,82.082 L18.834,84.415 L19.167,87.248 L21.5,88.415 L24.667,89.415 L27.167,91.582 L29.334,92.915 L31.667,94.748 L33,95.748 L34.5,99.081 L43,98.914 L59.667,104.747 L73.5,104.747 L73.167,103.414 L79.834,103.414 L82.5,104.914 L84,106.414 L87.834,109.081 L89.167,113.914 L93,115.914 L95.334,116.914 L98.5,113.081 L102.667,113.581 L104.334,114.914 L108.834,122.247 L110.334,124.081 L111.5,128.247 L120.334,131.747 L120,128.747 L119.667,124.581 L122.5,121.247 L122,120.247 L124.834,117.914 L126.334,118.747 L128.834,115.914 L130.334,113.914 L132.5,113.914 L137.334,112.914 L140.834,114.414 L143.5,114.414 L144.5,113.247 L145.667,114.081 L145.834,115.581 L149.334,116.747 L152.667,116.247 L155.5,116.414 L153.167,114.581 L153,113.581 L154.5,112.747 L154.334,111.914 L152,111.914 L149.334,112.247 L151,110.747 L151.834,109.747 L152.667,110.581 L157.5,109.914 L158.167,110.747 L161.5,110.747 L163.334,110.247 L166,110.081 L168.5,111.081 L170,110.914 L171.5,113.081 L174.5,113.247 L176.167,111.914 L177.834,111.914 L181.167,114.747 L183,116.747 L183.5,119.414 L183.167,122.747 L184.334,126.247 L187.5,130.247 L189.334,134.081 L190,135.581 L193.334,134.914 L194.167,131.247 L194.167,125.747 L192.5,121.247 L192,120.081 L191.667,116.747 L188.834,113.414 L188.334,109.414 L188.5,106.081 L189.834,102.414 L192.334,100.414 L192.167,98.914 L195.167,98.414 L199.5,93.581 L201.5,91.914 L203.667,92.247 L205.667,88.414 L208.5,86.914 C208.5,86.914 210.668,87.247 210.834,86.414 C211,85.581 213.167,81.581 213.167,81.581 L210.834,80.248 L212.167,79.081 L212.5,78.248 L211.167,74.915 L209.834,73.415 L211.5,71.582 L210.167,69.915 L209.834,66.582 L209.667,63.749 L210.667,62.916 L211.334,67.083 L211.834,69.083 L213,70.916 L212.667,73.916 L214.5,70.249 L215.667,67.416 L215.834,65.749 L214.167,63.749 L214,62.916 L214.5,62.416 L217.167,64.083 L218,62.083 L219.834,60.25 L220.167,58.25 L219.834,55.917 L220,54.75 L220.334,53.083 L221.667,54.916 L222.334,54.916 L224.334,54.583 L226.334,54.416 L229,53.583 L228.5,52.583 L225.834,52.75 L223.334,53.417 L222.167,54.084 L222,52.917 L222.834,51.917 L225,51.417 L227.667,50.917 L229.5,50.417 L231,49.417 L234.5,50.25 C234.5,50.25 236,51.083 236.167,50.583 C236.334,50.083 236.834,48.75 236.834,48.75 L235.667,47.417 L235.167,45.417 L235.5,42.084 L235.834,39.417 L237.334,37.417 L237.667,36.584 L238.667,37.084 L241.834,33.584 L243,33.584 L245.667,33.251 L246.5,31.584 L248.834,31.584 L250.834,29.917 L250.084,29 L249.167,26.75 L248.167,26 L248.584,20.417 L248.084,15.334 L245.084,14.417 L242.5,15.334 L241.084,15.167 L235.334,28.584 L232.667,28.751 L231.5,29.751 L217.334,29.668 L213.834,32.918 L211.667,34.251 L210.667,37.084 L210.167,38.584 L207.667,40.251 L205.167,40.251 L203.334,39.418 L201,39.751 L198,40.751 L198.167,42.251 L198,44.918 L196.5,46.251 L193.5,46.918 L188.834,49.251 L185.334,50.418 L182,50.585 L180,49.085 L181,47.252 L181.5,46.752 L182.167,44.919 L183.417,44.169 L185,41.419 L183.334,39.252 L183,35.752 L180.834,35.085 L178,37.085 L179,34.752 L180.667,32.419 L180,30.252 L179.5,27.752 L176.834,26.752 L174.5,24.752 L171.667,25.919 L171.834,28.086 L170.167,30.086 L168.834,29.419 L166.334,32.252 L166.334,35.585 L166.667,38.918 L168.167,41.251 L168,46.251 L164.834,49.251 L162.5,49.418 L161.334,45.918 L160.167,43.418 L160.667,40.085 L160.167,36.752 L161.334,34.585 L162,32.418 L163.167,28.751 L160.5,31.751 L162,26.584 L164.334,24.584 L167.167,24.417 L169.334,23.417 L172.834,23.417 L175.667,23.417 L177.5,22.917 L179.667,23.25 L180.667,24.917 L184.834,26.417 L185.667,24.084 L182.834,24.417 L181,24.25 L178.334,22.25 L176.667,21.25 L174.75,19.833 L172.834,20.416 L171,19.083 L166.667,19.25 L164.334,20.75 L162.5,19.583 L160.334,18.25 L157.167,18.083 L160.334,13.583 L156.667,15.25 L153.667,17.583 L150.667,19.25 L148,19.583 L147.667,17.916 L142.167,19.083 L146.792,15.041 L150.042,12.666 L154.084,9.499 L152.417,9.249 L146.917,9.416 L144.417,8.916 L142.167,8.541 L139.917,6.916 L137.417,7.083 L132.667,5.916 L131.417,4.416 L130.75,2.083 L129.584,1 L129.667,2.25 L128.5,4.083 L11.5,4.166 L10.834,5.084 L10.834,5.084 Z"/>
10
- </svg>
11
- </svg>
@@ -1,3 +0,0 @@
1
- <svg viewBox="0 0 308 151">
2
- <path fill="currentColor" d="M293,0 C301.284271,-3.29815278e-15 308,6.71572875 308,15 L308,136 C308,144.284271 301.284271,151 293,151 L15,151 C6.71572875,151 1.01453063e-15,144.284271 0,136 L0,15 C-1.01453063e-15,6.71572875 6.71572875,1.52179594e-15 15,0 L293,0 Z M62,32 C37.699471,32 18,51.699471 18,76 C18,100.300529 37.699471,120 62,120 C86.300529,120 106,100.300529 106,76 C106,51.699471 86.300529,32 62,32 Z M287,102 L124,102 C122.343146,102 121,103.343146 121,105 L121,105 L121,115 C121,116.656854 122.343146,118 124,118 L124,118 L287,118 C288.656854,118 290,116.656854 290,115 L290,115 L290,105 C290,103.343146 288.656854,102 287,102 L287,102 Z M287,68 L124,68 C122.343146,68 121,69.3431458 121,71 L121,71 L121,81 C121,82.6568542 122.343146,84 124,84 L124,84 L287,84 C288.656854,84 290,82.6568542 290,81 L290,81 L290,71 C290,69.3431458 288.656854,68 287,68 L287,68 Z M287,34 L124,34 C122.343146,34 121,35.3431458 121,37 L121,37 L121,47 C121,48.6568542 122.343146,50 124,50 L124,50 L287,50 C288.656854,50 290,48.6568542 290,47 L290,47 L290,37 C290,35.3431458 288.656854,34 287,34 L287,34 Z"/>
3
- </svg>
package/assets/desc.svg DELETED
@@ -1 +0,0 @@
1
- <svg viewBox="0 0 10 5" xmlns="http://www.w3.org/2000/svg"><path d="M0 0l5 5 5-5z" fill="#FFF" fill-rule="nonzero"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"/></svg>
@@ -1 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96.31 82.55"><path d="M83.91,61.36H19.87V12.15c0-1.1-.9-2-2-2h-5.48c-1.1,0-2,.9-2,2v56.69c0,1.1,.9,2,2,2H83.91c1.1,0,2-.9,2-2v-5.48c0-1.1-.9-2-2-2Z"/><path d="M67.1,47.26H26.76c-1.1,0-2,.9-2,2v6.09c0,1.1,.9,2,2,2h40.33c1.1,0,2-.9,2-2v-6.09c0-1.1-.9-2-2-2Zm-13.76,8.09h-16.48v-6.09h16.48v6.09Z"/><path d="M83.91,31.67H26.76c-1.1,0-2,.9-2,2v6.09c0,1.1,.9,2,2,2h57.15c1.1,0,2-.9,2-2v-6.09c0-1.1-.9-2-2-2Zm-13.76,8.09h-26.27v-6.09h26.27v6.09Z"/><path d="M77.03,16.08H26.76c-1.1,0-2,.9-2,2v6.09c0,1.1,.9,2,2,2h50.27c1.1,0,2-.9,2-2v-6.09c0-1.1-.9-2-2-2Zm-16.82,8.09h-24.89v-6.09h24.89v6.09Z"/></svg>
package/assets/link.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M314.222 197.78c51.091 51.091 54.377 132.287 9.75 187.16-6.242 7.73-2.784 3.865-84.94 86.02-54.696 54.696-143.266 54.745-197.99 0-54.711-54.69-54.734-143.255 0-197.99 32.773-32.773 51.835-51.899 63.409-63.457 7.463-7.452 20.331-2.354 20.486 8.192a173.31 173.31 0 0 0 4.746 37.828c.966 4.029-.272 8.269-3.202 11.198L80.632 312.57c-32.755 32.775-32.887 85.892 0 118.8 32.775 32.755 85.892 32.887 118.8 0l75.19-75.2c32.718-32.725 32.777-86.013 0-118.79a83.722 83.722 0 0 0-22.814-16.229c-4.623-2.233-7.182-7.25-6.561-12.346 1.356-11.122 6.296-21.885 14.815-30.405l4.375-4.375c3.625-3.626 9.177-4.594 13.76-2.294 12.999 6.524 25.187 15.211 36.025 26.049zM470.958 41.04c-54.724-54.745-143.294-54.696-197.99 0-82.156 82.156-78.698 78.29-84.94 86.02-44.627 54.873-41.341 136.069 9.75 187.16 10.838 10.838 23.026 19.525 36.025 26.049 4.582 2.3 10.134 1.331 13.76-2.294l4.375-4.375c8.52-8.519 13.459-19.283 14.815-30.405.621-5.096-1.938-10.113-6.561-12.346a83.706 83.706 0 0 1-22.814-16.229c-32.777-32.777-32.718-86.065 0-118.79l75.19-75.2c32.908-32.887 86.025-32.755 118.8 0 32.887 32.908 32.755 86.025 0 118.8l-45.848 45.84c-2.93 2.929-4.168 7.169-3.202 11.198a173.31 173.31 0 0 1 4.746 37.828c.155 10.546 13.023 15.644 20.486 8.192 11.574-11.558 30.636-30.684 63.409-63.457 54.733-54.735 54.71-143.3-.001-197.991z"/></svg>
package/assets/minus.svg DELETED
@@ -1 +0,0 @@
1
- <svg viewBox="0 0 10 2" xmlns="http://www.w3.org/2000/svg"><path d="M4 0H0v2h10V0H6z" fill-rule="nonzero"/></svg>
@@ -1,11 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 99.1 79.69">
2
- <rect fill="currentColor" x="45.87" y="12.8" width="8.32" height="53.78" rx="1"/>
3
- <rect fill="currentColor" x="22.98" y="10.64" width="8.32" height="23.31" rx="1" transform="translate(49.43 -4.84) rotate(90)"/>
4
- <rect fill="currentColor" x="18.53" y="18.99" width="8.32" height="32.21" rx="1" transform="translate(57.78 12.41) rotate(90)"/>
5
- <rect fill="currentColor" x="24.43" y="37.69" width="8.32" height="20.41" rx="1" transform="translate(76.48 19.3) rotate(90)"/>
6
- <rect fill="currentColor" x="27.33" y="53.39" width="8.32" height="14.6" rx="1" transform="translate(92.18 29.2) rotate(90)"/>
7
- <path fill="currentColor" d="M90.32,20.13v4.33H63.55V20.13H90.32m1-2H62.55a1,1,0,0,0-1,1v6.33a1,1,0,0,0,1,1H91.32a1,1,0,0,0,1-1V19.13a1,1,0,0,0-1-1Z"/>
8
- <path fill="currentColor" d="M73.68,32.93v4.32H63.55V32.93H73.68m1-2H62.55a1,1,0,0,0-1,1v6.32a1,1,0,0,0,1,1H74.68a1,1,0,0,0,1-1V31.93a1,1,0,0,0-1-1Z"/>
9
- <path fill="currentColor" d="M80,45.73v4.32H63.55V45.73H80m1-2H62.55a1,1,0,0,0-1,1v6.32a1,1,0,0,0,1,1H81a1,1,0,0,0,1-1V44.73a1,1,0,0,0-1-1Z"/>
10
- <path fill="currentColor" d="M77.94,58.53v4.32H63.55V58.53H77.94m1-2H62.55a1,1,0,0,0-1,1v6.32a1,1,0,0,0,1,1H78.94a1,1,0,0,0,1-1V57.53a1,1,0,0,0-1-1Z"/>
11
- </svg>
package/assets/plus.svg DELETED
@@ -1 +0,0 @@
1
- <svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"><path d="M6 0H4v4H0v2h4v4h2V6h4V4H6z" fill-rule="nonzero"/></svg>
@@ -1 +0,0 @@
1
- <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="question-circle" class="svg-inline--fa fa-question-circle fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z"></path></svg>
@@ -1 +0,0 @@
1
- <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="upload" class="svg-inline--fa fa-upload fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"></path></svg>
@@ -1,3 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 252 137">
2
- <path fill="currentColor" d="M10.834,5.084 L11.167,7.251 L12.834,10.751 L12,14.418 L10.167,12.085 L9,9.418 L6.334,8.918 L2.167,8.418 L1,8.418 L1.667,10.751 L4,14.084 L4,17.417 L4.667,21.084 L7.667,21.417 L8.834,23.084 L5.167,22.584 L4,23.417 L4.5,26.917 L3.834,30.75 L4,35.25 L2.834,38.25 L1.5,42.583 L2.5,45.583 L3.167,49.416 L3.667,52.249 L3,56.082 L3.5,58.749 L4.667,61.416 L5.667,64.749 L6.5,66.916 L10,69.749 L11.667,69.582 L14,69.915 L11.5,70.582 L12.167,71.749 L10,72.082 L12,74.249 L14,76.416 L13.334,78.249 L16,82.082 L18.834,84.415 L19.167,87.248 L21.5,88.415 L24.667,89.415 L27.167,91.582 L29.334,92.915 L31.667,94.748 L33,95.748 L34.5,99.081 L43,98.914 L59.667,104.747 L73.5,104.747 L73.167,103.414 L79.834,103.414 L82.5,104.914 L84,106.414 L87.834,109.081 L89.167,113.914 L93,115.914 L95.334,116.914 L98.5,113.081 L102.667,113.581 L104.334,114.914 L108.834,122.247 L110.334,124.081 L111.5,128.247 L120.334,131.747 L120,128.747 L119.667,124.581 L122.5,121.247 L122,120.247 L124.834,117.914 L126.334,118.747 L128.834,115.914 L130.334,113.914 L132.5,113.914 L137.334,112.914 L140.834,114.414 L143.5,114.414 L144.5,113.247 L145.667,114.081 L145.834,115.581 L149.334,116.747 L152.667,116.247 L155.5,116.414 L153.167,114.581 L153,113.581 L154.5,112.747 L154.334,111.914 L152,111.914 L149.334,112.247 L151,110.747 L151.834,109.747 L152.667,110.581 L157.5,109.914 L158.167,110.747 L161.5,110.747 L163.334,110.247 L166,110.081 L168.5,111.081 L170,110.914 L171.5,113.081 L174.5,113.247 L176.167,111.914 L177.834,111.914 L181.167,114.747 L183,116.747 L183.5,119.414 L183.167,122.747 L184.334,126.247 L187.5,130.247 L189.334,134.081 L190,135.581 L193.334,134.914 L194.167,131.247 L194.167,125.747 L192.5,121.247 L192,120.081 L191.667,116.747 L188.834,113.414 L188.334,109.414 L188.5,106.081 L189.834,102.414 L192.334,100.414 L192.167,98.914 L195.167,98.414 L199.5,93.581 L201.5,91.914 L203.667,92.247 L205.667,88.414 L208.5,86.914 C208.5,86.914 210.668,87.247 210.834,86.414 C211,85.581 213.167,81.581 213.167,81.581 L210.834,80.248 L212.167,79.081 L212.5,78.248 L211.167,74.915 L209.834,73.415 L211.5,71.582 L210.167,69.915 L209.834,66.582 L209.667,63.749 L210.667,62.916 L211.334,67.083 L211.834,69.083 L213,70.916 L212.667,73.916 L214.5,70.249 L215.667,67.416 L215.834,65.749 L214.167,63.749 L214,62.916 L214.5,62.416 L217.167,64.083 L218,62.083 L219.834,60.25 L220.167,58.25 L219.834,55.917 L220,54.75 L220.334,53.083 L221.667,54.916 L222.334,54.916 L224.334,54.583 L226.334,54.416 L229,53.583 L228.5,52.583 L225.834,52.75 L223.334,53.417 L222.167,54.084 L222,52.917 L222.834,51.917 L225,51.417 L227.667,50.917 L229.5,50.417 L231,49.417 L234.5,50.25 C234.5,50.25 236,51.083 236.167,50.583 C236.334,50.083 236.834,48.75 236.834,48.75 L235.667,47.417 L235.167,45.417 L235.5,42.084 L235.834,39.417 L237.334,37.417 L237.667,36.584 L238.667,37.084 L241.834,33.584 L243,33.584 L245.667,33.251 L246.5,31.584 L248.834,31.584 L250.834,29.917 L250.084,29 L249.167,26.75 L248.167,26 L248.584,20.417 L248.084,15.334 L245.084,14.417 L242.5,15.334 L241.084,15.167 L235.334,28.584 L232.667,28.751 L231.5,29.751 L217.334,29.668 L213.834,32.918 L211.667,34.251 L210.667,37.084 L210.167,38.584 L207.667,40.251 L205.167,40.251 L203.334,39.418 L201,39.751 L198,40.751 L198.167,42.251 L198,44.918 L196.5,46.251 L193.5,46.918 L188.834,49.251 L185.334,50.418 L182,50.585 L180,49.085 L181,47.252 L181.5,46.752 L182.167,44.919 L183.417,44.169 L185,41.419 L183.334,39.252 L183,35.752 L180.834,35.085 L178,37.085 L179,34.752 L180.667,32.419 L180,30.252 L179.5,27.752 L176.834,26.752 L174.5,24.752 L171.667,25.919 L171.834,28.086 L170.167,30.086 L168.834,29.419 L166.334,32.252 L166.334,35.585 L166.667,38.918 L168.167,41.251 L168,46.251 L164.834,49.251 L162.5,49.418 L161.334,45.918 L160.167,43.418 L160.667,40.085 L160.167,36.752 L161.334,34.585 L162,32.418 L163.167,28.751 L160.5,31.751 L162,26.584 L164.334,24.584 L167.167,24.417 L169.334,23.417 L172.834,23.417 L175.667,23.417 L177.5,22.917 L179.667,23.25 L180.667,24.917 L184.834,26.417 L185.667,24.084 L182.834,24.417 L181,24.25 L178.334,22.25 L176.667,21.25 L174.75,19.833 L172.834,20.416 L171,19.083 L166.667,19.25 L164.334,20.75 L162.5,19.583 L160.334,18.25 L157.167,18.083 L160.334,13.583 L156.667,15.25 L153.667,17.583 L150.667,19.25 L148,19.583 L147.667,17.916 L142.167,19.083 L146.792,15.041 L150.042,12.666 L154.084,9.499 L152.417,9.249 L146.917,9.416 L144.417,8.916 L142.167,8.541 L139.917,6.916 L137.417,7.083 L132.667,5.916 L131.417,4.416 L130.75,2.083 L129.584,1 L129.667,2.25 L128.5,4.083 L11.5,4.166 L10.834,5.084 L10.834,5.084 Z"/>
3
- </svg>
@@ -1,3 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 496">
2
- <path fill="currentColor" d="M248,0 C111,0 0,111 0,248 C0,385 111,496 248,496 C385,496 496,385 496,248 C496,111 385,0 248,0 Z M216,50.8 L216,62.1 C216,74 203.5,81.7 192.8,76.4 L168.8,64.4 C183.7,58 199.5,53.5 216,50.8 L216,50.8 Z M248,420.6 L248,448 C137.7,448 48,358.3 48,248 C48,218.9 54.4,191.3 65.6,166.3 C75.5,181 90.8,203.7 100.2,217.4 C105.4,225 111.4,232 118.3,238.1 L119.1,238.8 C128.6,247.4 139.3,254.8 150.7,260.6 C164.7,267.6 185.1,278.8 199.5,286.7 C209.7,292.3 216,303 216,314.7 L216,346.7 C216,355.2 219.4,363.3 225.4,369.3 C240.4,384.4 249.7,408 248,420.6 Z M290.7,443.3 L308.1,396.4 C310.1,390.9 311.4,385.2 312.9,379.5 C314,375.5 316.1,371.8 319.1,368.8 L330.4,357.5 C339.2,348.8 344.1,336.9 344.1,324.5 C344.1,316.4 340.9,308.6 335.2,302.9 L321.5,289.2 C315.5,283.2 307.4,279.8 298.9,279.8 L232,279.8 C222.6,275.1 210.5,247.8 200,247.8 C189.5,247.8 179.1,245.3 169.7,240.6 L158.6,235.1 C154.6,233.1 152,228.9 152,224.4 C152,219.3 155.3,214.7 160.2,213.1 L191.4,202.7 C196.8,200.9 202.7,202.1 206.9,205.8 L216.2,213.9 C217.7,215.2 219.5,215.9 221.4,215.9 L227,215.9 C233,215.9 236.8,209.6 234.2,204.3 L218.6,173.1 C217,170 217.7,166.2 220.2,163.8 L230.1,154.2 C231.6,152.7 233.6,151.9 235.7,151.9 L244.7,151.9 C246.8,151.9 248.9,151.1 250.4,149.6 L258.4,141.6 C261.5,138.5 261.5,133.4 258.4,130.3 L253.7,125.6 C250.6,122.5 250.6,117.4 253.7,114.3 L264,104 L268.7,99.3 C274.9,93.1 274.9,82.9 268.7,76.7 L240.4,48.4 C242.9,48.3 245.4,48 248,48 C326.2,48 393.8,93.2 426.7,158.7 L413.7,165.2 C410,167.1 406.8,169.9 404.5,173.3 L384.9,202.7 C379.5,210.8 379.5,221.3 384.9,229.3 L402.9,256.3 C406.2,261.3 411.3,264.8 417,266.3 L446.2,273.6 C435.4,357.6 372.3,425.5 290.7,443.3 L290.7,443.3 Z"/>
3
- </svg>
@@ -1,162 +0,0 @@
1
- export class DataTransform {
2
- constructor() {
3
- this.constants = {
4
- errorMessageEmtpyData: 'Your data file is empty.',
5
- errorMessageFormat: 'Your datatype is not supported.',
6
- descriptionHeader: 1,
7
- descriptionRoot: 2,
8
- descriptionSeriesFilter: 3
9
- };
10
- }
11
-
12
- //Performs standardizations that can be completed automatically without use input
13
- autoStandardize(data){
14
- const errorsFound = []
15
-
16
- // Empty data
17
- if ( 0 === data.length ) {
18
- errorsFound.push(this.constants.errorMessageEmptyData);
19
- }
20
-
21
- // Does it have the correct data structure?
22
- if (!data.filter || data.filter(row => typeof row !== 'object').length > 0) {
23
- errorsFound.push(this.constants.errorMessageFormat);
24
- }
25
-
26
- if(errorsFound.length > 0) {
27
- console.error(errorsFound);
28
- return undefined;
29
- }
30
-
31
- //Convert array of arrays, to array of objects
32
- if (data.filter(row => row.constructor !== Object).length > 0) {
33
- let standardizedData = [];
34
- for(let row = 1; row < data.length; row++){
35
- let standardizedRow = {};
36
- data[row].forEach((datum, col) => {
37
- standardizedRow[data[0][col]] = datum;
38
- });
39
- standardizedData.push(standardizedRow);
40
- }
41
- data = standardizedData;
42
- }
43
-
44
- return data;
45
- }
46
-
47
- //Performs standardizations based on developer provided description of the data
48
- developerStandardize(data, description){
49
- //Validate the description object
50
- if(!description){
51
- return undefined
52
- }
53
-
54
- if(description.horizontal === undefined || description.series === undefined){
55
- return undefined
56
- }
57
-
58
- if(description.series === true && description.horizontal === false && description.singleRow === undefined){
59
- return undefined
60
- }
61
-
62
- if(description.horizontal === true){
63
- if(description.series === true) {
64
- if(!description.seriesKey){
65
- return undefined
66
- }
67
-
68
- let standardizedMapped = {};
69
- let standardized = [];
70
- data.forEach((row) => {
71
- let nonNumericKeys = [];
72
- Object.keys(row).forEach((key) => {
73
- if(key !== description.seriesKey && isNaN(parseFloat(row[key]))){
74
- nonNumericKeys.push(key);
75
- }
76
- });
77
-
78
- Object.keys(row).forEach((key) => {
79
- if(key !== description.seriesKey && nonNumericKeys.indexOf(key) === -1) {
80
- let uniqueKey = key + '|' + nonNumericKeys.map((nonNumericKey) => (nonNumericKey + '=' + row[nonNumericKey]));
81
- if(!standardizedMapped[uniqueKey]){
82
- standardizedMapped[uniqueKey] = {[row[description.seriesKey]]: row[key], key};
83
- nonNumericKeys.forEach((nonNumericKey) => {
84
- standardizedMapped[uniqueKey][nonNumericKey] = row[nonNumericKey];
85
- });
86
- }
87
- standardizedMapped[uniqueKey][row[description.seriesKey]] = row[key];
88
- }
89
- });
90
- });
91
-
92
- Object.keys(standardizedMapped).forEach((key) => {
93
- standardized.push(standardizedMapped[key]);
94
- });
95
-
96
- return standardized;
97
- } else {
98
- let standardized = [];
99
-
100
- data.forEach((row) => {
101
- let nonNumericKeys = [];
102
- Object.keys(row).forEach((key) => {
103
- if(isNaN(parseFloat(row[key]))){
104
- nonNumericKeys.push(key);
105
- }
106
- });
107
-
108
- Object.keys(row).forEach((key) => {
109
- if(nonNumericKeys.indexOf(key) === -1){
110
- let newRow = {key, value: row[key]};
111
-
112
- nonNumericKeys.forEach((nonNumericKey) => {
113
- newRow[nonNumericKey] = row[nonNumericKey];
114
- });
115
-
116
- standardized.push(newRow);
117
- }
118
- });
119
- });
120
-
121
- return standardized;
122
- }
123
- } else if(description.series === true && description.singleRow === false){
124
- if(description.seriesKey !== undefined && description.xKey !== undefined && description.valueKey !== undefined){
125
- let standardizedMapped = {};
126
- let standardized = [];
127
-
128
- data.forEach((row) => {
129
- let extraKeys = [];
130
- let uniqueKey = row[description.xKey];
131
- Object.keys(row).forEach((key) => {
132
- if(key !== description.xKey && key !== description.seriesKey && key !== description.valueKey){
133
- uniqueKey += '|' + key + '=' + row[key];
134
- extraKeys.push(key);
135
- }
136
- });
137
-
138
- if(standardizedMapped[uniqueKey]){
139
- standardizedMapped[uniqueKey][row[description.seriesKey]] = row[description.valueKey];
140
- } else {
141
- standardizedMapped[uniqueKey] = {[description.xKey]: row[description.xKey], [row[description.seriesKey]]: row[description.valueKey]};
142
- extraKeys.forEach((key) => {
143
- standardizedMapped[uniqueKey][key] = row[key];
144
- });
145
- }
146
- });
147
-
148
- Object.keys(standardizedMapped).forEach((key) => {
149
- standardized.push(standardizedMapped[key]);
150
- });
151
-
152
- return standardized;
153
- } else {
154
- return undefined
155
- }
156
- }
157
-
158
- return data;
159
- }
160
- }
161
-
162
- export default DataTransform;
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import '../styles/loading.scss';
3
-
4
- export default function Loading({viewport = "lg"}) {
5
- return (
6
- <section className="loading" aria-live="assertive">
7
- <span className="sr-only" style={{display: 'none'}}>Content is loading.</span>
8
- <div className={`la-ball-beat la-dark ${viewport}`}>
9
- <div />
10
- <div />
11
- <div />
12
- </div>
13
- </section>
14
- )
15
- }
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import '../styles/waiting.scss';
3
-
4
- export default ({ requiredColumns, className }) => (
5
- <section className={className}>
6
- <section className="waiting-container">
7
- <h3>Configuration Required</h3>
8
- <p>Set { requiredColumns.map((col, i) => (<span key={`missing-column-${i}`}><strong>{col}</strong>{i + 1 < requiredColumns.length && ', '}</span>)) } columns in editor.</p>
9
- </section>
10
- </section>
11
- );