@antimatter-audio/antimatter-ui 14.2.0 → 14.4.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 (37) hide show
  1. package/dist/advanced/LFOVisualizer/LFOVisualizer.d.ts.map +1 -1
  2. package/dist/advanced/LFOVisualizer/utils.d.ts +2 -2
  3. package/dist/advanced/LFOVisualizer/utils.d.ts.map +1 -1
  4. package/dist/advanced/ModuleFooter/LFOBox.d.ts.map +1 -1
  5. package/dist/core/Chart/Area.d.ts +12 -0
  6. package/dist/core/Chart/Area.d.ts.map +1 -0
  7. package/dist/core/Chart/AxisBottom.d.ts +9 -0
  8. package/dist/core/Chart/AxisBottom.d.ts.map +1 -0
  9. package/dist/core/Chart/AxisLeft.d.ts +8 -0
  10. package/dist/core/Chart/AxisLeft.d.ts.map +1 -0
  11. package/dist/core/Chart/Chart.d.ts +16 -0
  12. package/dist/core/Chart/Chart.d.ts.map +1 -0
  13. package/dist/core/Chart/Line.d.ts +11 -0
  14. package/dist/core/Chart/Line.d.ts.map +1 -0
  15. package/dist/core/Chart/Ticks.d.ts +14 -0
  16. package/dist/core/Chart/Ticks.d.ts.map +1 -0
  17. package/dist/core/Slider/RotaryCircle.d.ts.map +1 -1
  18. package/dist/index.js +499 -225
  19. package/dist/index.js.map +1 -1
  20. package/dist/src/advanced/LFOVisualizer/LFOVisualizer.d.ts.map +1 -1
  21. package/dist/src/advanced/LFOVisualizer/utils.d.ts +3 -2
  22. package/dist/src/advanced/LFOVisualizer/utils.d.ts.map +1 -1
  23. package/dist/src/core/Chart/Area.d.ts +12 -0
  24. package/dist/src/core/Chart/Area.d.ts.map +1 -0
  25. package/dist/src/core/Chart/AxisBottom.d.ts +9 -0
  26. package/dist/src/core/Chart/AxisBottom.d.ts.map +1 -0
  27. package/dist/src/core/Chart/AxisLeft.d.ts +8 -0
  28. package/dist/src/core/Chart/AxisLeft.d.ts.map +1 -0
  29. package/dist/src/core/Chart/Chart.d.ts +16 -0
  30. package/dist/src/core/Chart/Chart.d.ts.map +1 -0
  31. package/dist/src/core/Chart/Line.d.ts +11 -0
  32. package/dist/src/core/Chart/Line.d.ts.map +1 -0
  33. package/dist/src/core/Chart/Ticks.d.ts +14 -0
  34. package/dist/src/core/Chart/Ticks.d.ts.map +1 -0
  35. package/dist/src/core/Slider/RotaryCircle.d.ts.map +1 -1
  36. package/dist/styles.css +1 -1
  37. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import { TabGroup, TabList, Tab, Listbox, ListboxButton, ListboxOptions, Listbox
5
5
  import * as Juce from 'juce-framework-frontend';
6
6
  import { useGesture } from '@use-gesture/react';
7
7
  import * as d3 from 'd3';
8
+ import { line, curveBasis, area, scaleLinear } from 'd3';
8
9
 
9
10
  function styleInject(css, ref) {
10
11
  if ( ref === void 0 ) ref = {};
@@ -33,7 +34,7 @@ function styleInject(css, ref) {
33
34
  }
34
35
  }
35
36
 
36
- var css_248z$f = "@theme static {\n --color-brand: #bb68d9;\n --color-brand-900: #443342;\n --color-brand-700: #932eb8;\n --color-brand-600: #826993;\n --color-brand-400: #d199e6;\n --color-brand-300: #f3d4f4;\n --color-brand-secondary: #18d6d6;\n --color-alert: #8a0101;\n --color-text: #bab6cf;\n --color-gray-100: #c7c3de;\n --color-gray-200: #9a96ab;\n --color-gray-300: #838091;\n --color-gray-400: #595763;\n --color-gray-500: #4c4a54;\n --color-gray-600: #2e2c33;\n --color-gray-700: #1e1d21;\n --color-gray-800: #101012;\n --color-gray-900: #09090a;\n\n --color-VFDBlue-100: #0d3814;\n --color-VFDBlue-200: #234e4a;\n --color-VFDBlue-300: #128073;\n --color-VFDBlue-400: #138c6e;\n --color-VFDBlue-500: #1abe95;\n --color-VFDBlue-600: #23d8a4;\n --color-VFDBlue-700: #4aeea4;\n --color-VFDBlue-1000: #35edb4;\n --spacing-none: 0px;\n --spacing-xs: 2px;\n --spacing-sm: 4px;\n --spacing-ms: 6px;\n --spacing-md: 8px;\n --spacing-ml: 12px;\n --spacing-lg: 16px;\n --spacing-xl: 20px;\n --m-none: 0px;\n --m-xs: 2px;\n --m-sm: 4px;\n --m-ms: 6px;\n --m-md: 8px;\n --m-ml: 12px;\n --m-lg: 16px;\n --m-xl: 20px;\n --mt-none: 0px;\n --mt-xs: 2px;\n --mt-sm: 4px;\n --mt-ms: 6px;\n --mt-md: 8px;\n --mt-ml: 12px;\n --mt-lg: 16px;\n --mt-xl: 20px;\n --mr-none: 0px;\n --mr-xs: 2px;\n --mr-sm: 4px;\n --mr-ms: 6px;\n --mr-md: 8px;\n --mr-ml: 12px;\n --mr-lg: 16px;\n --mr-xl: 20px;\n --mb-none: 0px;\n --mb-xs: 2px;\n --mb-sm: 4px;\n --mb-ms: 6px;\n --mb-md: 8px;\n --mb-ml: 12px;\n --mb-lg: 16px;\n --mb-xl: 20px;\n --ml-none: 0px;\n --ml-xs: 2px;\n --ml-sm: 4px;\n --ml-ms: 6px;\n --ml-md: 8px;\n --ml-ml: 12px;\n --ml-lg: 16px;\n --ml-xl: 20px;\n --p-none: 0px;\n --p-xs: 2px;\n --p-sm: 4px;\n --p-ms: 6px;\n --p-md: 8px;\n --p-ml: 12px;\n --p-lg: 16px;\n --p-xl: 20px;\n --pt-none: 0px;\n --pt-xs: 2px;\n --pt-sm: 4px;\n --pt-ms: 6px;\n --pt-md: 8px;\n --pt-ml: 12px;\n --pt-lg: 16px;\n --pt-xl: 20px;\n --pr-none: 0px;\n --pr-xs: 2px;\n --pr-sm: 4px;\n --pr-ms: 6px;\n --pr-md: 8px;\n --pr-ml: 12px;\n --pr-lg: 16px;\n --pr-xl: 20px;\n --pb-none: 0px;\n --pb-xs: 2px;\n --pb-sm: 4px;\n --pb-ms: 6px;\n --pb-md: 8px;\n --pb-ml: 12px;\n --pb-lg: 16px;\n --pb-xl: 20px;\n --pl-none: 0px;\n --pl-xs: 2px;\n --pl-sm: 4px;\n --pl-ms: 6px;\n --pl-md: 8px;\n --pl-ml: 12px;\n --pl-lg: 16px;\n --pl-xl: 20px;\n --bg-lv1: #0e0e12;\n --bg-lv2: #121216;\n --bg-lv3: #16171d;\n --bg-lv4: #212128;\n --bg-lv5: #2b2b31;\n --bg-lv6: #34343a;\n --bg-lv7: #3b3b41;\n --bg-lv8: #49494d;\n --bg-lv9: #535357;\n --bg-lv10: #797887;\n --bg-lv11: #9999a7;\n --bg-lv12: #c1c1c1;\n --bg-selected: #2e2c33;\n\n /* --bg-lv3-brightened: #1a1b21; */\n\n --font-leagueSpartan: 'LeagueSpartan';\n --text-xs: 0.625rem;\n --text-sm: 0.75rem;\n --text-ms: 0.813rem;\n --text-md: 0.875rem;\n --text-lg: 1rem;\n --text-xl: 1.25rem;\n --text-title: 1.75rem;\n --gap-none: 0px;\n --gap-xs: 2px;\n --gap-sm: 4px;\n --gap-ms: 6px;\n --gap-md: 8px;\n --gap-ml: 12px;\n --gap-lg: 16px;\n --gap-xl: 20px;\n}\n\ninput,\ninput:hover,\ninput:focus,\ninput:focus-visible {\n background: transparent;\n border: none;\n outline: none;\n appearance: textfield;\n}\n\nbutton,\nbutton:hover,\nbutton:focus,\nbutton:focus-visible {\n outline: none;\n}\n\nbutton:disabled,\ninput:disabled {\n cursor: default;\n}\n\ndiv:focus,\ndiv:focus-visible {\n outline: none;\n appearance: textfield;\n}\n\n.cursor-hidden * {\n cursor: none !important;\n}\n::-webkit-scrollbar,\n::-webkit-scrollbar-track {\n background-color: var(--color-gray-600);\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #252429;\n}\n\n* {\n -ms-overflow-style: none;\n}\n\n/* div::-webkit-scrollbar {\n display: none;\n} */\n\n@font-face {\n font-family: LeagueSpartan;\n /* ascent-override: 70%; */\n src: url('./common/assets/fonts/LeagueSpartan-Regular.ttf');\n}\n\n@font-face {\n font-family: LeagueSpartan;\n /* ascent-override: 70%; */\n src: url('./common/assets/fonts/LeagueSpartan-Thin.ttf');\n font-weight: lighter;\n}\n";
37
+ var css_248z$f = "@theme static {\n --color-brand: #bb68d9;\n --color-brand-900: #443342;\n --color-brand-700: #932eb8;\n --color-brand-600: #ac47d1;\n --color-brand-400: #d199e6;\n --color-brand-300: #f3d4f4;\n --color-brand-secondary: #18d6d6;\n --color-alert: #8a0101;\n --color-text: #bab6cf;\n --color-gray-100: #c7c3de;\n --color-gray-200: #9a96ab;\n --color-gray-300: #838091;\n --color-gray-400: #595763;\n --color-gray-500: #4c4a54;\n --color-gray-600: #2e2c33;\n --color-gray-700: #1e1d21;\n --color-gray-800: #101012;\n --color-gray-900: #09090a;\n\n --color-VFDBlue-100: #0d3814;\n --color-VFDBlue-200: #234e4a;\n --color-VFDBlue-300: #128073;\n --color-VFDBlue-400: #138c6e;\n --color-VFDBlue-500: #1abe95;\n --color-VFDBlue-600: #23d8a4;\n --color-VFDBlue-700: #4aeea4;\n --color-VFDBlue-1000: #35edb4;\n --spacing-none: 0px;\n --spacing-xs: 2px;\n --spacing-sm: 4px;\n --spacing-ms: 6px;\n --spacing-md: 8px;\n --spacing-ml: 12px;\n --spacing-lg: 16px;\n --spacing-xl: 20px;\n --m-none: 0px;\n --m-xs: 2px;\n --m-sm: 4px;\n --m-ms: 6px;\n --m-md: 8px;\n --m-ml: 12px;\n --m-lg: 16px;\n --m-xl: 20px;\n --mt-none: 0px;\n --mt-xs: 2px;\n --mt-sm: 4px;\n --mt-ms: 6px;\n --mt-md: 8px;\n --mt-ml: 12px;\n --mt-lg: 16px;\n --mt-xl: 20px;\n --mr-none: 0px;\n --mr-xs: 2px;\n --mr-sm: 4px;\n --mr-ms: 6px;\n --mr-md: 8px;\n --mr-ml: 12px;\n --mr-lg: 16px;\n --mr-xl: 20px;\n --mb-none: 0px;\n --mb-xs: 2px;\n --mb-sm: 4px;\n --mb-ms: 6px;\n --mb-md: 8px;\n --mb-ml: 12px;\n --mb-lg: 16px;\n --mb-xl: 20px;\n --ml-none: 0px;\n --ml-xs: 2px;\n --ml-sm: 4px;\n --ml-ms: 6px;\n --ml-md: 8px;\n --ml-ml: 12px;\n --ml-lg: 16px;\n --ml-xl: 20px;\n --p-none: 0px;\n --p-xs: 2px;\n --p-sm: 4px;\n --p-ms: 6px;\n --p-md: 8px;\n --p-ml: 12px;\n --p-lg: 16px;\n --p-xl: 20px;\n --pt-none: 0px;\n --pt-xs: 2px;\n --pt-sm: 4px;\n --pt-ms: 6px;\n --pt-md: 8px;\n --pt-ml: 12px;\n --pt-lg: 16px;\n --pt-xl: 20px;\n --pr-none: 0px;\n --pr-xs: 2px;\n --pr-sm: 4px;\n --pr-ms: 6px;\n --pr-md: 8px;\n --pr-ml: 12px;\n --pr-lg: 16px;\n --pr-xl: 20px;\n --pb-none: 0px;\n --pb-xs: 2px;\n --pb-sm: 4px;\n --pb-ms: 6px;\n --pb-md: 8px;\n --pb-ml: 12px;\n --pb-lg: 16px;\n --pb-xl: 20px;\n --pl-none: 0px;\n --pl-xs: 2px;\n --pl-sm: 4px;\n --pl-ms: 6px;\n --pl-md: 8px;\n --pl-ml: 12px;\n --pl-lg: 16px;\n --pl-xl: 20px;\n --bg-lv1: #0e0e12;\n --bg-lv2: #121216;\n --bg-lv3: #16171d;\n --bg-lv4: #212128;\n --bg-lv5: #2b2b31;\n --bg-lv6: #34343a;\n --bg-lv7: #3b3b41;\n --bg-lv8: #49494d;\n --bg-lv9: #535357;\n --bg-lv10: #797887;\n --bg-lv11: #9999a7;\n --bg-lv12: #c1c1c1;\n --bg-selected: #2e2c33;\n\n /* --bg-lv3-brightened: #1a1b21; */\n\n --font-leagueSpartan: 'LeagueSpartan';\n --text-xs: 0.625rem;\n --text-sm: 0.75rem;\n --text-ms: 0.813rem;\n --text-md: 0.875rem;\n --text-lg: 1rem;\n --text-xl: 1.25rem;\n --text-title: 1.75rem;\n --gap-none: 0px;\n --gap-xs: 2px;\n --gap-sm: 4px;\n --gap-ms: 6px;\n --gap-md: 8px;\n --gap-ml: 12px;\n --gap-lg: 16px;\n --gap-xl: 20px;\n}\n\ninput,\ninput:hover,\ninput:focus,\ninput:focus-visible {\n background: transparent;\n border: none;\n outline: none;\n appearance: textfield;\n}\n\nbutton,\nbutton:hover,\nbutton:focus,\nbutton:focus-visible {\n outline: none;\n}\n\nbutton:disabled,\ninput:disabled {\n cursor: default;\n}\n\ndiv:focus,\ndiv:focus-visible {\n outline: none;\n appearance: textfield;\n}\n\n.cursor-hidden * {\n cursor: none !important;\n}\n::-webkit-scrollbar,\n::-webkit-scrollbar-track {\n background-color: var(--color-gray-600);\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #252429;\n}\n\n* {\n -ms-overflow-style: none;\n}\n\n/* div::-webkit-scrollbar {\n display: none;\n} */\n\n@font-face {\n font-family: LeagueSpartan;\n /* ascent-override: 70%; */\n src: url('./common/assets/fonts/LeagueSpartan-Regular.ttf');\n}\n\n@font-face {\n font-family: LeagueSpartan;\n /* ascent-override: 70%; */\n src: url('./common/assets/fonts/LeagueSpartan-Thin.ttf');\n font-weight: lighter;\n}\n";
37
38
  styleInject(css_248z$f);
38
39
 
39
40
  var Spacing = /*#__PURE__*/ function(Spacing) {
@@ -176,30 +177,30 @@ function useObservable(param) {
176
177
  };
177
178
  }
178
179
 
179
- function _array_like_to_array$k(arr, len) {
180
+ function _array_like_to_array$l(arr, len) {
180
181
  if (len == null || len > arr.length) len = arr.length;
181
182
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
182
183
  return arr2;
183
184
  }
184
- function _array_without_holes$2(arr) {
185
- if (Array.isArray(arr)) return _array_like_to_array$k(arr);
185
+ function _array_without_holes$3(arr) {
186
+ if (Array.isArray(arr)) return _array_like_to_array$l(arr);
186
187
  }
187
- function _iterable_to_array$2(iter) {
188
+ function _iterable_to_array$3(iter) {
188
189
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
189
190
  }
190
- function _non_iterable_spread$2() {
191
+ function _non_iterable_spread$3() {
191
192
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
192
193
  }
193
- function _to_consumable_array$2(arr) {
194
- return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$k(arr) || _non_iterable_spread$2();
194
+ function _to_consumable_array$3(arr) {
195
+ return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$l(arr) || _non_iterable_spread$3();
195
196
  }
196
- function _unsupported_iterable_to_array$k(o, minLen) {
197
+ function _unsupported_iterable_to_array$l(o, minLen) {
197
198
  if (!o) return;
198
- if (typeof o === "string") return _array_like_to_array$k(o, minLen);
199
+ if (typeof o === "string") return _array_like_to_array$l(o, minLen);
199
200
  var n = Object.prototype.toString.call(o).slice(8, -1);
200
201
  if (n === "Object" && o.constructor) n = o.constructor.name;
201
202
  if (n === "Map" || n === "Set") return Array.from(n);
202
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$k(o, minLen);
203
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$l(o, minLen);
203
204
  }
204
205
  // export const roundUpToTwoDecimals = (val: number) => Math.ceil(val * 100) / 100;
205
206
  // mocks the `normalisedToScaledValue` internal method from JUCE
@@ -249,7 +250,7 @@ var getValidValueForInput = function(param) {
249
250
  // TODO: Clean up
250
251
  var matchCriteria = /^-?(?:\d+\.\d+|\d+|\.\d+)$/g;
251
252
  var splitValue = value.toString().matchAll(matchCriteria);
252
- var splitValueArray = _to_consumable_array$2(splitValue);
253
+ var splitValueArray = _to_consumable_array$3(splitValue);
253
254
  var validValue = splitValueArray === null || splitValueArray === void 0 ? void 0 : (_splitValueArray_ = splitValueArray[0]) === null || _splitValueArray_ === void 0 ? void 0 : _splitValueArray_[0];
254
255
  var start = properties.start, end = properties.end;
255
256
  if (validValue !== null && validValue !== undefined) {
@@ -342,7 +343,7 @@ function throttle(mainFunction, delay) {
342
343
  args[_key] = arguments[_key];
343
344
  }
344
345
  if (timerFlag === null) {
345
- mainFunction.apply(void 0, _to_consumable_array$2(args));
346
+ mainFunction.apply(void 0, _to_consumable_array$3(args));
346
347
  timerFlag = setTimeout(function() {
347
348
  timerFlag = null;
348
349
  }, delay);
@@ -350,7 +351,7 @@ function throttle(mainFunction, delay) {
350
351
  };
351
352
  }
352
353
 
353
- function _array_like_to_array$j(arr, len) {
354
+ function _array_like_to_array$k(arr, len) {
354
355
  if (len == null || len > arr.length) len = arr.length;
355
356
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
356
357
  return arr2;
@@ -358,8 +359,8 @@ function _array_like_to_array$j(arr, len) {
358
359
  function _array_with_holes$j(arr) {
359
360
  if (Array.isArray(arr)) return arr;
360
361
  }
361
- function _array_without_holes$1(arr) {
362
- if (Array.isArray(arr)) return _array_like_to_array$j(arr);
362
+ function _array_without_holes$2(arr) {
363
+ if (Array.isArray(arr)) return _array_like_to_array$k(arr);
363
364
  }
364
365
  function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
365
366
  try {
@@ -403,7 +404,7 @@ function _define_property$m(obj, key, value) {
403
404
  }
404
405
  return obj;
405
406
  }
406
- function _iterable_to_array$1(iter) {
407
+ function _iterable_to_array$2(iter) {
407
408
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
408
409
  }
409
410
  function _iterable_to_array_limit$j(arr, i) {
@@ -433,7 +434,7 @@ function _iterable_to_array_limit$j(arr, i) {
433
434
  function _non_iterable_rest$j() {
434
435
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
435
436
  }
436
- function _non_iterable_spread$1() {
437
+ function _non_iterable_spread$2() {
437
438
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
438
439
  }
439
440
  function _object_spread$l(target) {
@@ -471,18 +472,18 @@ function _object_spread_props$4(target, source) {
471
472
  return target;
472
473
  }
473
474
  function _sliced_to_array$j(arr, i) {
474
- return _array_with_holes$j(arr) || _iterable_to_array_limit$j(arr, i) || _unsupported_iterable_to_array$j(arr, i) || _non_iterable_rest$j();
475
+ return _array_with_holes$j(arr) || _iterable_to_array_limit$j(arr, i) || _unsupported_iterable_to_array$k(arr, i) || _non_iterable_rest$j();
475
476
  }
476
- function _to_consumable_array$1(arr) {
477
- return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$j(arr) || _non_iterable_spread$1();
477
+ function _to_consumable_array$2(arr) {
478
+ return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$k(arr) || _non_iterable_spread$2();
478
479
  }
479
- function _unsupported_iterable_to_array$j(o, minLen) {
480
+ function _unsupported_iterable_to_array$k(o, minLen) {
480
481
  if (!o) return;
481
- if (typeof o === "string") return _array_like_to_array$j(o, minLen);
482
+ if (typeof o === "string") return _array_like_to_array$k(o, minLen);
482
483
  var n = Object.prototype.toString.call(o).slice(8, -1);
483
484
  if (n === "Object" && o.constructor) n = o.constructor.name;
484
485
  if (n === "Map" || n === "Set") return Array.from(n);
485
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$j(o, minLen);
486
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$k(o, minLen);
486
487
  }
487
488
  function _ts_generator$4(thisArg, body) {
488
489
  var f, y, t, _ = {
@@ -745,7 +746,7 @@ function GlobalContextProvider(param) {
745
746
  type: 'AUTOMATABLE_PARAMS_LIST_RECEIVED',
746
747
  payload: [
747
748
  'none'
748
- ].concat(_to_consumable_array$1(automatableParamsList))
749
+ ].concat(_to_consumable_array$2(automatableParamsList))
749
750
  });
750
751
  }, []);
751
752
  var allParametersReceived = useCallback(function(allParameters) {
@@ -992,7 +993,7 @@ function GlobalContextProvider(param) {
992
993
  }, children);
993
994
  }
994
995
 
995
- function _array_like_to_array$i(arr, len) {
996
+ function _array_like_to_array$j(arr, len) {
996
997
  if (len == null || len > arr.length) len = arr.length;
997
998
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
998
999
  return arr2;
@@ -1056,15 +1057,15 @@ function _object_spread$k(target) {
1056
1057
  return target;
1057
1058
  }
1058
1059
  function _sliced_to_array$i(arr, i) {
1059
- return _array_with_holes$i(arr) || _iterable_to_array_limit$i(arr, i) || _unsupported_iterable_to_array$i(arr, i) || _non_iterable_rest$i();
1060
+ return _array_with_holes$i(arr) || _iterable_to_array_limit$i(arr, i) || _unsupported_iterable_to_array$j(arr, i) || _non_iterable_rest$i();
1060
1061
  }
1061
- function _unsupported_iterable_to_array$i(o, minLen) {
1062
+ function _unsupported_iterable_to_array$j(o, minLen) {
1062
1063
  if (!o) return;
1063
- if (typeof o === "string") return _array_like_to_array$i(o, minLen);
1064
+ if (typeof o === "string") return _array_like_to_array$j(o, minLen);
1064
1065
  var n = Object.prototype.toString.call(o).slice(8, -1);
1065
1066
  if (n === "Object" && o.constructor) n = o.constructor.name;
1066
1067
  if (n === "Map" || n === "Set") return Array.from(n);
1067
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$i(o, minLen);
1068
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$j(o, minLen);
1068
1069
  }
1069
1070
  function Button(param) {
1070
1071
  var disabled = param.disabled, text = param.text, id = param.id, className = param.className, style = param.style, onClick = param.onClick, children = param.children, _param_padding = param.padding, padding = _param_padding === void 0 ? [
@@ -1851,7 +1852,7 @@ IconButton.icon = Icons;
1851
1852
  IconButton.padding = Spacing;
1852
1853
  IconButton.margin = Spacing;
1853
1854
 
1854
- function _array_like_to_array$h(arr, len) {
1855
+ function _array_like_to_array$i(arr, len) {
1855
1856
  if (len == null || len > arr.length) len = arr.length;
1856
1857
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
1857
1858
  return arr2;
@@ -1887,15 +1888,15 @@ function _non_iterable_rest$h() {
1887
1888
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1888
1889
  }
1889
1890
  function _sliced_to_array$h(arr, i) {
1890
- return _array_with_holes$h(arr) || _iterable_to_array_limit$h(arr, i) || _unsupported_iterable_to_array$h(arr, i) || _non_iterable_rest$h();
1891
+ return _array_with_holes$h(arr) || _iterable_to_array_limit$h(arr, i) || _unsupported_iterable_to_array$i(arr, i) || _non_iterable_rest$h();
1891
1892
  }
1892
- function _unsupported_iterable_to_array$h(o, minLen) {
1893
+ function _unsupported_iterable_to_array$i(o, minLen) {
1893
1894
  if (!o) return;
1894
- if (typeof o === "string") return _array_like_to_array$h(o, minLen);
1895
+ if (typeof o === "string") return _array_like_to_array$i(o, minLen);
1895
1896
  var n = Object.prototype.toString.call(o).slice(8, -1);
1896
1897
  if (n === "Object" && o.constructor) n = o.constructor.name;
1897
1898
  if (n === "Map" || n === "Set") return Array.from(n);
1898
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$h(o, minLen);
1899
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$i(o, minLen);
1899
1900
  }
1900
1901
  var useDropdown = function(param) {
1901
1902
  var id = param.id, // TODO: Is there a better way to handle mod matrix dropdowns?
@@ -1999,7 +2000,7 @@ var useDropdown = function(param) {
1999
2000
  };
2000
2001
  };
2001
2002
 
2002
- function _array_like_to_array$g(arr, len) {
2003
+ function _array_like_to_array$h(arr, len) {
2003
2004
  if (len == null || len > arr.length) len = arr.length;
2004
2005
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
2005
2006
  return arr2;
@@ -2035,15 +2036,15 @@ function _non_iterable_rest$g() {
2035
2036
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2036
2037
  }
2037
2038
  function _sliced_to_array$g(arr, i) {
2038
- return _array_with_holes$g(arr) || _iterable_to_array_limit$g(arr, i) || _unsupported_iterable_to_array$g(arr, i) || _non_iterable_rest$g();
2039
+ return _array_with_holes$g(arr) || _iterable_to_array_limit$g(arr, i) || _unsupported_iterable_to_array$h(arr, i) || _non_iterable_rest$g();
2039
2040
  }
2040
- function _unsupported_iterable_to_array$g(o, minLen) {
2041
+ function _unsupported_iterable_to_array$h(o, minLen) {
2041
2042
  if (!o) return;
2042
- if (typeof o === "string") return _array_like_to_array$g(o, minLen);
2043
+ if (typeof o === "string") return _array_like_to_array$h(o, minLen);
2043
2044
  var n = Object.prototype.toString.call(o).slice(8, -1);
2044
2045
  if (n === "Object" && o.constructor) n = o.constructor.name;
2045
2046
  if (n === "Map" || n === "Set") return Array.from(n);
2046
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$g(o, minLen);
2047
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$h(o, minLen);
2047
2048
  }
2048
2049
  function Tabs(param) {
2049
2050
  var items = param.items, _param_id = param.id, id = _param_id === void 0 ? '' : _param_id, className = param.className, _param_padding = param.padding, padding = _param_padding === void 0 ? [
@@ -2275,7 +2276,7 @@ function Dropdown(param) {
2275
2276
  var css_248z$9 = ".TextInput {\n pointer-events: auto;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.TextInput::-moz-selection {\n background: transparent;\n}\n.TextInput::selection {\n background: transparent;\n}\n\n.TextInput:disabled {\n -webkit-user-select: none;\n user-select: none;\n}\n\n.isActive .TextInput {\n -webkit-user-select: auto;\n -moz-user-select: auto;\n -ms-user-select: auto;\n user-select: auto;\n}\n";
2276
2277
  styleInject(css_248z$9);
2277
2278
 
2278
- function _array_like_to_array$f(arr, len) {
2279
+ function _array_like_to_array$g(arr, len) {
2279
2280
  if (len == null || len > arr.length) len = arr.length;
2280
2281
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
2281
2282
  return arr2;
@@ -2339,15 +2340,15 @@ function _object_spread$e(target) {
2339
2340
  return target;
2340
2341
  }
2341
2342
  function _sliced_to_array$f(arr, i) {
2342
- return _array_with_holes$f(arr) || _iterable_to_array_limit$f(arr, i) || _unsupported_iterable_to_array$f(arr, i) || _non_iterable_rest$f();
2343
+ return _array_with_holes$f(arr) || _iterable_to_array_limit$f(arr, i) || _unsupported_iterable_to_array$g(arr, i) || _non_iterable_rest$f();
2343
2344
  }
2344
- function _unsupported_iterable_to_array$f(o, minLen) {
2345
+ function _unsupported_iterable_to_array$g(o, minLen) {
2345
2346
  if (!o) return;
2346
- if (typeof o === "string") return _array_like_to_array$f(o, minLen);
2347
+ if (typeof o === "string") return _array_like_to_array$g(o, minLen);
2347
2348
  var n = Object.prototype.toString.call(o).slice(8, -1);
2348
2349
  if (n === "Object" && o.constructor) n = o.constructor.name;
2349
2350
  if (n === "Map" || n === "Set") return Array.from(n);
2350
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$f(o, minLen);
2351
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$g(o, minLen);
2351
2352
  }
2352
2353
  // import { decimalToPercent, percentToDecimal } from '../../common/utils';
2353
2354
  // import debounce from 'lodash.debounce';
@@ -2545,7 +2546,7 @@ var GradientStyles = /*#__PURE__*/ function(GradientStyles) {
2545
2546
  return GradientStyles;
2546
2547
  }({});
2547
2548
 
2548
- function _array_like_to_array$e(arr, len) {
2549
+ function _array_like_to_array$f(arr, len) {
2549
2550
  if (len == null || len > arr.length) len = arr.length;
2550
2551
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
2551
2552
  return arr2;
@@ -2581,15 +2582,15 @@ function _non_iterable_rest$e() {
2581
2582
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2582
2583
  }
2583
2584
  function _sliced_to_array$e(arr, i) {
2584
- return _array_with_holes$e(arr) || _iterable_to_array_limit$e(arr, i) || _unsupported_iterable_to_array$e(arr, i) || _non_iterable_rest$e();
2585
+ return _array_with_holes$e(arr) || _iterable_to_array_limit$e(arr, i) || _unsupported_iterable_to_array$f(arr, i) || _non_iterable_rest$e();
2585
2586
  }
2586
- function _unsupported_iterable_to_array$e(o, minLen) {
2587
+ function _unsupported_iterable_to_array$f(o, minLen) {
2587
2588
  if (!o) return;
2588
- if (typeof o === "string") return _array_like_to_array$e(o, minLen);
2589
+ if (typeof o === "string") return _array_like_to_array$f(o, minLen);
2589
2590
  var n = Object.prototype.toString.call(o).slice(8, -1);
2590
2591
  if (n === "Object" && o.constructor) n = o.constructor.name;
2591
2592
  if (n === "Map" || n === "Set") return Array.from(n);
2592
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$e(o, minLen);
2593
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$f(o, minLen);
2593
2594
  }
2594
2595
  // 20.0f, 15000.0f, 0.1f, 0.7f),800.0f
2595
2596
  // ValueType rangeStart, ValueType rangeEnd, ValueType intervalValue, ValueType skewFactor, bool useSymmetricSkew=false)
@@ -2857,7 +2858,7 @@ styleInject(css_248z$8);
2857
2858
  var css_248z$7 = "";
2858
2859
  styleInject(css_248z$7);
2859
2860
 
2860
- function _array_like_to_array$d(arr, len) {
2861
+ function _array_like_to_array$e(arr, len) {
2861
2862
  if (len == null || len > arr.length) len = arr.length;
2862
2863
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
2863
2864
  return arr2;
@@ -2893,15 +2894,15 @@ function _non_iterable_rest$d() {
2893
2894
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2894
2895
  }
2895
2896
  function _sliced_to_array$d(arr, i) {
2896
- return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$d(arr, i) || _non_iterable_rest$d();
2897
+ return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$e(arr, i) || _non_iterable_rest$d();
2897
2898
  }
2898
- function _unsupported_iterable_to_array$d(o, minLen) {
2899
+ function _unsupported_iterable_to_array$e(o, minLen) {
2899
2900
  if (!o) return;
2900
- if (typeof o === "string") return _array_like_to_array$d(o, minLen);
2901
+ if (typeof o === "string") return _array_like_to_array$e(o, minLen);
2901
2902
  var n = Object.prototype.toString.call(o).slice(8, -1);
2902
2903
  if (n === "Object" && o.constructor) n = o.constructor.name;
2903
2904
  if (n === "Map" || n === "Set") return Array.from(n);
2904
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
2905
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$e(o, minLen);
2905
2906
  }
2906
2907
  function ControlGroup(param) {
2907
2908
  var id = param.id, _param_isDisabled = param.isDisabled, isDisabled = _param_isDisabled === void 0 ? false : _param_isDisabled, className = param.className, onChangeActiveState = param.onChangeActiveState, children = param.children, width = param.width;
@@ -3266,6 +3267,7 @@ function RotaryCircle(param) {
3266
3267
  var activeZone = circ - circ * 0.25;
3267
3268
  return /*#__PURE__*/ React__default.createElement(Box, _object_spread_props$2(_object_spread$d({
3268
3269
  id: id,
3270
+ key: "RotaryCircle-".concat(id),
3269
3271
  tabIndex: 0,
3270
3272
  className: classnames('Slider', 'RotarySlider', polarity === Polarity.unipolar ? 'Slider-polarity-unipolar' : 'Slider-polarity-bipolar', className)
3271
3273
  }, bindDrag()), {
@@ -3371,7 +3373,7 @@ function PositioningWrapper(param) {
3371
3373
  }, positionedElement ? positionedElement : null));
3372
3374
  }
3373
3375
 
3374
- function _array_like_to_array$c(arr, len) {
3376
+ function _array_like_to_array$d(arr, len) {
3375
3377
  if (len == null || len > arr.length) len = arr.length;
3376
3378
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
3377
3379
  return arr2;
@@ -3407,15 +3409,15 @@ function _non_iterable_rest$c() {
3407
3409
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3408
3410
  }
3409
3411
  function _sliced_to_array$c(arr, i) {
3410
- return _array_with_holes$c(arr) || _iterable_to_array_limit$c(arr, i) || _unsupported_iterable_to_array$c(arr, i) || _non_iterable_rest$c();
3412
+ return _array_with_holes$c(arr) || _iterable_to_array_limit$c(arr, i) || _unsupported_iterable_to_array$d(arr, i) || _non_iterable_rest$c();
3411
3413
  }
3412
- function _unsupported_iterable_to_array$c(o, minLen) {
3414
+ function _unsupported_iterable_to_array$d(o, minLen) {
3413
3415
  if (!o) return;
3414
- if (typeof o === "string") return _array_like_to_array$c(o, minLen);
3416
+ if (typeof o === "string") return _array_like_to_array$d(o, minLen);
3415
3417
  var n = Object.prototype.toString.call(o).slice(8, -1);
3416
3418
  if (n === "Object" && o.constructor) n = o.constructor.name;
3417
3419
  if (n === "Map" || n === "Set") return Array.from(n);
3418
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
3420
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
3419
3421
  }
3420
3422
  // 20.0f, 15000.0f, 0.1f, 0.7f),800.0f
3421
3423
  // ValueType rangeStart, ValueType rangeEnd, ValueType intervalValue, ValueType skewFactor, bool useSymmetricSkew=false)
@@ -3839,7 +3841,7 @@ Slider$1.sliderType = SliderType;
3839
3841
  Slider$1.polarity = Polarity;
3840
3842
  Slider$1.orientation = Orientation;
3841
3843
 
3842
- function _array_like_to_array$b(arr, len) {
3844
+ function _array_like_to_array$c(arr, len) {
3843
3845
  if (len == null || len > arr.length) len = arr.length;
3844
3846
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
3845
3847
  return arr2;
@@ -3875,15 +3877,15 @@ function _non_iterable_rest$b() {
3875
3877
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3876
3878
  }
3877
3879
  function _sliced_to_array$b(arr, i) {
3878
- return _array_with_holes$b(arr) || _iterable_to_array_limit$b(arr, i) || _unsupported_iterable_to_array$b(arr, i) || _non_iterable_rest$b();
3880
+ return _array_with_holes$b(arr) || _iterable_to_array_limit$b(arr, i) || _unsupported_iterable_to_array$c(arr, i) || _non_iterable_rest$b();
3879
3881
  }
3880
- function _unsupported_iterable_to_array$b(o, minLen) {
3882
+ function _unsupported_iterable_to_array$c(o, minLen) {
3881
3883
  if (!o) return;
3882
- if (typeof o === "string") return _array_like_to_array$b(o, minLen);
3884
+ if (typeof o === "string") return _array_like_to_array$c(o, minLen);
3883
3885
  var n = Object.prototype.toString.call(o).slice(8, -1);
3884
3886
  if (n === "Object" && o.constructor) n = o.constructor.name;
3885
3887
  if (n === "Map" || n === "Set") return Array.from(n);
3886
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
3888
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
3887
3889
  }
3888
3890
  var useCombobox = function(param) {
3889
3891
  var id = param.id, label = param.label, filter = param.filter; param.onChange; var _param_displayValInHeader = param.displayValInHeader, displayValInHeader = _param_displayValInHeader === void 0 ? true : _param_displayValInHeader, isDisabled = param.isDisabled;
@@ -4401,7 +4403,7 @@ function LinePlot(param) {
4401
4403
  var css_248z$5 = ".Oscilloscope {\n background: #0EAC8B;\n box-shadow: inset 0 0 20px #086350;\n height: 200px;\n };";
4402
4404
  styleInject(css_248z$5);
4403
4405
 
4404
- function _array_like_to_array$a(arr, len) {
4406
+ function _array_like_to_array$b(arr, len) {
4405
4407
  if (len == null || len > arr.length) len = arr.length;
4406
4408
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4407
4409
  return arr2;
@@ -4465,15 +4467,15 @@ function _object_spread$7(target) {
4465
4467
  return target;
4466
4468
  }
4467
4469
  function _sliced_to_array$a(arr, i) {
4468
- return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$a(arr, i) || _non_iterable_rest$a();
4470
+ return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$b(arr, i) || _non_iterable_rest$a();
4469
4471
  }
4470
- function _unsupported_iterable_to_array$a(o, minLen) {
4472
+ function _unsupported_iterable_to_array$b(o, minLen) {
4471
4473
  if (!o) return;
4472
- if (typeof o === "string") return _array_like_to_array$a(o, minLen);
4474
+ if (typeof o === "string") return _array_like_to_array$b(o, minLen);
4473
4475
  var n = Object.prototype.toString.call(o).slice(8, -1);
4474
4476
  if (n === "Object" && o.constructor) n = o.constructor.name;
4475
4477
  if (n === "Map" || n === "Set") return Array.from(n);
4476
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
4478
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
4477
4479
  }
4478
4480
  function Oscilloscope(param) {
4479
4481
  var width = param.width, height = param.height, className = param.className, style = param.style, id = param.id;
@@ -4521,7 +4523,7 @@ styleInject(css_248z$4);
4521
4523
  var css_248z$3 = ".PresetManagerContainer {\n width: 100%;\n height: 100%;\n background-color: var(--bg-lv1);\n color: var(--color-text);\n}\n\n.PresetManagerButton {\n width: 100%;\n height: 100%;\n max-width: 300px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: relative;\n cursor: pointer;\n font-family: var(--font-leagueSpartan);\n}\n.PresetManagerButtonLabel {\n cursor: pointer;\n text-align: center;\n font-family: var(--font-leagueSpartan);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 225px;\n display: inline-block;\n vertical-align: middle;\n height: 1rem;\n line-height: 1.25;\n /* position: relative; */\n &:hover,\n &:active {\n background: var(--color-gray-900);\n }\n /* &.isDirty {\n &::after {\n content: '*';\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n }\n } */\n}\n\n.PresetManagerButtonLabelContainer.isDirty::after {\n content: '*';\n position: absolute;\n height: 1rem;\n width: 1rem;\n right: -0.75rem;\n top: 0;\n}\n\n.PresetManagerButtonLabelOuterContainer {\n position: relative;\n width: auto;\n}\n\n[data-headlessui-state='open active'] .PresetManagerButtonLabel {\n background: var(--color-gray-900);\n}\n.PresetManagerPanel {\n position: absolute;\n font-family: var(--font-leagueSpartan);\n right: 0px;\n left: 0px;\n width: 100%;\n max-width: 400px !important;\n color: var(--color-text);\n background: var(--bg-lv5);\n}\n\n.PresetManagerPanel:focus,\n.PresetManagerPanel:focus-visible {\n outline: none;\n}\n\n.PresetManagerListItem {\n cursor: pointer;\n background: var(--color-gray-800);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n}\n\n.PresetManagerListItem:hover,\n.PresetManagerListItem.isSelected {\n background: var(--bg-selected);\n}\n\n.PresetManagerListItemText {\n display: inline-block;\n vertical-align: middle;\n height: 1.5rem;\n line-height: 1.75;\n}\n";
4522
4524
  styleInject(css_248z$3);
4523
4525
 
4524
- function _array_like_to_array$9(arr, len) {
4526
+ function _array_like_to_array$a(arr, len) {
4525
4527
  if (len == null || len > arr.length) len = arr.length;
4526
4528
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4527
4529
  return arr2;
@@ -4590,15 +4592,15 @@ function _object_destructuring_empty(o) {
4590
4592
  return o;
4591
4593
  }
4592
4594
  function _sliced_to_array$9(arr, i) {
4593
- return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$9(arr, i) || _non_iterable_rest$9();
4595
+ return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$a(arr, i) || _non_iterable_rest$9();
4594
4596
  }
4595
- function _unsupported_iterable_to_array$9(o, minLen) {
4597
+ function _unsupported_iterable_to_array$a(o, minLen) {
4596
4598
  if (!o) return;
4597
- if (typeof o === "string") return _array_like_to_array$9(o, minLen);
4599
+ if (typeof o === "string") return _array_like_to_array$a(o, minLen);
4598
4600
  var n = Object.prototype.toString.call(o).slice(8, -1);
4599
4601
  if (n === "Object" && o.constructor) n = o.constructor.name;
4600
4602
  if (n === "Map" || n === "Set") return Array.from(n);
4601
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
4603
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
4602
4604
  }
4603
4605
  function _ts_generator$3(thisArg, body) {
4604
4606
  var f, y, t, _ = {
@@ -4980,7 +4982,7 @@ function PresetManager(param) {
4980
4982
  }))))));
4981
4983
  }
4982
4984
 
4983
- function _array_like_to_array$8(arr, len) {
4985
+ function _array_like_to_array$9(arr, len) {
4984
4986
  if (len == null || len > arr.length) len = arr.length;
4985
4987
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4986
4988
  return arr2;
@@ -5073,15 +5075,15 @@ function _object_spread$6(target) {
5073
5075
  return target;
5074
5076
  }
5075
5077
  function _sliced_to_array$8(arr, i) {
5076
- return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
5078
+ return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$9(arr, i) || _non_iterable_rest$8();
5077
5079
  }
5078
- function _unsupported_iterable_to_array$8(o, minLen) {
5080
+ function _unsupported_iterable_to_array$9(o, minLen) {
5079
5081
  if (!o) return;
5080
- if (typeof o === "string") return _array_like_to_array$8(o, minLen);
5082
+ if (typeof o === "string") return _array_like_to_array$9(o, minLen);
5081
5083
  var n = Object.prototype.toString.call(o).slice(8, -1);
5082
5084
  if (n === "Object" && o.constructor) n = o.constructor.name;
5083
5085
  if (n === "Map" || n === "Set") return Array.from(n);
5084
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
5086
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
5085
5087
  }
5086
5088
  function _ts_generator$2(thisArg, body) {
5087
5089
  var f, y, t, _ = {
@@ -5518,7 +5520,7 @@ var targetColors = [
5518
5520
  var ComboboxCellWidth = '217px';
5519
5521
  var DeleteButtonCellWidth = '50px';
5520
5522
 
5521
- function _array_like_to_array$7(arr, len) {
5523
+ function _array_like_to_array$8(arr, len) {
5522
5524
  if (len == null || len > arr.length) len = arr.length;
5523
5525
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5524
5526
  return arr2;
@@ -5582,15 +5584,15 @@ function _object_spread$5(target) {
5582
5584
  return target;
5583
5585
  }
5584
5586
  function _sliced_to_array$7(arr, i) {
5585
- return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
5587
+ return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$7();
5586
5588
  }
5587
- function _unsupported_iterable_to_array$7(o, minLen) {
5589
+ function _unsupported_iterable_to_array$8(o, minLen) {
5588
5590
  if (!o) return;
5589
- if (typeof o === "string") return _array_like_to_array$7(o, minLen);
5591
+ if (typeof o === "string") return _array_like_to_array$8(o, minLen);
5590
5592
  var n = Object.prototype.toString.call(o).slice(8, -1);
5591
5593
  if (n === "Object" && o.constructor) n = o.constructor.name;
5592
5594
  if (n === "Map" || n === "Set") return Array.from(n);
5593
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
5595
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
5594
5596
  }
5595
5597
  function ModMatrixComboboxCell(param) {
5596
5598
  var rowId = param.rowId, key = param.key, color = param.color, style = param.style;
@@ -5795,7 +5797,7 @@ function SingleBarViz(param) {
5795
5797
  }
5796
5798
  SingleBarViz.polarity = Polarity;
5797
5799
 
5798
- function _array_like_to_array$6(arr, len) {
5800
+ function _array_like_to_array$7(arr, len) {
5799
5801
  if (len == null || len > arr.length) len = arr.length;
5800
5802
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5801
5803
  return arr2;
@@ -5878,15 +5880,15 @@ function _object_spread_props(target, source) {
5878
5880
  return target;
5879
5881
  }
5880
5882
  function _sliced_to_array$6(arr, i) {
5881
- return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
5883
+ return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$6();
5882
5884
  }
5883
- function _unsupported_iterable_to_array$6(o, minLen) {
5885
+ function _unsupported_iterable_to_array$7(o, minLen) {
5884
5886
  if (!o) return;
5885
- if (typeof o === "string") return _array_like_to_array$6(o, minLen);
5887
+ if (typeof o === "string") return _array_like_to_array$7(o, minLen);
5886
5888
  var n = Object.prototype.toString.call(o).slice(8, -1);
5887
5889
  if (n === "Object" && o.constructor) n = o.constructor.name;
5888
5890
  if (n === "Map" || n === "Set") return Array.from(n);
5889
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
5891
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
5890
5892
  }
5891
5893
  function ModMatrixCell(param) {
5892
5894
  var modifier = param.modifier, rowId = param.rowId, isDisabled = param.isDisabled, color = param.color, style = param.style;
@@ -6035,7 +6037,7 @@ function ModMatrixRow(param) {
6035
6037
  })));
6036
6038
  }
6037
6039
 
6038
- function _array_like_to_array$5(arr, len) {
6040
+ function _array_like_to_array$6(arr, len) {
6039
6041
  if (len == null || len > arr.length) len = arr.length;
6040
6042
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
6041
6043
  return arr2;
@@ -6043,8 +6045,8 @@ function _array_like_to_array$5(arr, len) {
6043
6045
  function _array_with_holes$5(arr) {
6044
6046
  if (Array.isArray(arr)) return arr;
6045
6047
  }
6046
- function _array_without_holes(arr) {
6047
- if (Array.isArray(arr)) return _array_like_to_array$5(arr);
6048
+ function _array_without_holes$1(arr) {
6049
+ if (Array.isArray(arr)) return _array_like_to_array$6(arr);
6048
6050
  }
6049
6051
  function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
6050
6052
  try {
@@ -6088,7 +6090,7 @@ function _define_property$1(obj, key, value) {
6088
6090
  }
6089
6091
  return obj;
6090
6092
  }
6091
- function _iterable_to_array(iter) {
6093
+ function _iterable_to_array$1(iter) {
6092
6094
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
6093
6095
  }
6094
6096
  function _iterable_to_array_limit$5(arr, i) {
@@ -6118,7 +6120,7 @@ function _iterable_to_array_limit$5(arr, i) {
6118
6120
  function _non_iterable_rest$5() {
6119
6121
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6120
6122
  }
6121
- function _non_iterable_spread() {
6123
+ function _non_iterable_spread$1() {
6122
6124
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6123
6125
  }
6124
6126
  function _object_spread$1(target) {
@@ -6137,18 +6139,18 @@ function _object_spread$1(target) {
6137
6139
  return target;
6138
6140
  }
6139
6141
  function _sliced_to_array$5(arr, i) {
6140
- return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$5();
6142
+ return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$5();
6141
6143
  }
6142
- function _to_consumable_array(arr) {
6143
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array$5(arr) || _non_iterable_spread();
6144
+ function _to_consumable_array$1(arr) {
6145
+ return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$6(arr) || _non_iterable_spread$1();
6144
6146
  }
6145
- function _unsupported_iterable_to_array$5(o, minLen) {
6147
+ function _unsupported_iterable_to_array$6(o, minLen) {
6146
6148
  if (!o) return;
6147
- if (typeof o === "string") return _array_like_to_array$5(o, minLen);
6149
+ if (typeof o === "string") return _array_like_to_array$6(o, minLen);
6148
6150
  var n = Object.prototype.toString.call(o).slice(8, -1);
6149
6151
  if (n === "Object" && o.constructor) n = o.constructor.name;
6150
6152
  if (n === "Map" || n === "Set") return Array.from(n);
6151
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
6153
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
6152
6154
  }
6153
6155
  function _ts_generator$1(thisArg, body) {
6154
6156
  var f, y, t, _ = {
@@ -6279,7 +6281,7 @@ function ModMatrix(param) {
6279
6281
  return modSlotTargets[item] <= 0;
6280
6282
  });
6281
6283
  if (unassignedModSlots.length > 0 && modSlotPreview.slotId) {
6282
- setDisplayedModSlots(_to_consumable_array(displayedSlots).concat([
6284
+ setDisplayedModSlots(_to_consumable_array$1(displayedSlots).concat([
6283
6285
  modSlotPreview.slotId
6284
6286
  ]));
6285
6287
  } else {
@@ -6354,7 +6356,7 @@ function ModMatrix(param) {
6354
6356
  ]);
6355
6357
  var headers = [
6356
6358
  'Target'
6357
- ].concat(_to_consumable_array(modSlotParamLabels), [
6359
+ ].concat(_to_consumable_array$1(modSlotParamLabels), [
6358
6360
  ''
6359
6361
  ]);
6360
6362
  return /*#__PURE__*/ React__default.createElement(Box, {
@@ -6398,7 +6400,6 @@ function ModMatrix(param) {
6398
6400
  }) : null));
6399
6401
  }
6400
6402
 
6401
- var svgInnerMargin = 5;
6402
6403
  var WaveTypes = /*#__PURE__*/ function(WaveTypes) {
6403
6404
  WaveTypes["Sine"] = "Sine";
6404
6405
  WaveTypes["Triangle"] = "Triangle";
@@ -6410,8 +6411,33 @@ var WaveTypes = /*#__PURE__*/ function(WaveTypes) {
6410
6411
  return WaveTypes;
6411
6412
  }({});
6412
6413
 
6414
+ function _array_like_to_array$5(arr, len) {
6415
+ if (len == null || len > arr.length) len = arr.length;
6416
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
6417
+ return arr2;
6418
+ }
6419
+ function _array_without_holes(arr) {
6420
+ if (Array.isArray(arr)) return _array_like_to_array$5(arr);
6421
+ }
6422
+ function _iterable_to_array(iter) {
6423
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
6424
+ }
6425
+ function _non_iterable_spread() {
6426
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6427
+ }
6428
+ function _to_consumable_array(arr) {
6429
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array$5(arr) || _non_iterable_spread();
6430
+ }
6431
+ function _unsupported_iterable_to_array$5(o, minLen) {
6432
+ if (!o) return;
6433
+ if (typeof o === "string") return _array_like_to_array$5(o, minLen);
6434
+ var n = Object.prototype.toString.call(o).slice(8, -1);
6435
+ if (n === "Object" && o.constructor) n = o.constructor.name;
6436
+ if (n === "Map" || n === "Set") return Array.from(n);
6437
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
6438
+ }
6413
6439
  var getPointArray = function(param) {
6414
- var waveType = param.waveType, hz = param.hz, _param_pulseWidth = param.pulseWidth, pulseWidth = _param_pulseWidth === void 0 ? 1 : _param_pulseWidth, _param_ampValue = param.ampValue, ampValue = _param_ampValue === void 0 ? 0.5 : _param_ampValue, _param_randValue = param.randValue, randValue = _param_randValue === void 0 ? 1 : _param_randValue, _param_maxLength = param.maxLength, maxLength = _param_maxLength;
6440
+ var waveType = param.waveType, hz = param.hz, phaseValue = param.phaseValue, _param_pulseWidth = param.pulseWidth, pulseWidth = _param_pulseWidth === void 0 ? 1 : _param_pulseWidth, _param_ampValue = param.ampValue, ampValue = _param_ampValue === void 0 ? 0.5 : _param_ampValue, _param_randValue = param.randValue, randValue = _param_randValue === void 0 ? 1 : _param_randValue, _param_maxArrayLength = param.maxArrayLength, maxArrayLength = _param_maxArrayLength;
6415
6441
  var generateCycle = // Returns a coordinate array for one cycle
6416
6442
  function generateCycle(index) {
6417
6443
  var cycle = [];
@@ -6445,7 +6471,10 @@ var getPointArray = function(param) {
6445
6471
  case WaveTypes.Sine:
6446
6472
  var angle = adjustedVal * (2 * Math.PI);
6447
6473
  //prettier-ignore
6448
- var sineShape = (1 - randomNumber) * (ampValue * Math.sin(angle)) / 2 + 0.5;
6474
+ var sineShape = Math.sin(angle) / 2 + 0.5;
6475
+ // if (sineShape > 0.5) {
6476
+ // sineShape = sineShape * (1 - randomNumber);
6477
+ // }
6449
6478
  cycle.push({
6450
6479
  x: adjustedVal,
6451
6480
  //prettier-ignore
@@ -6454,7 +6483,7 @@ var getPointArray = function(param) {
6454
6483
  break;
6455
6484
  case WaveTypes.Ramp:
6456
6485
  cycle.push({
6457
- y: adjustedVal * ampValue * (1 - randomNumber)
6486
+ y: adjustedVal * constrainedAmpVal * (1 - randomNumber)
6458
6487
  });
6459
6488
  break;
6460
6489
  // case WaveTypes.ExpUp:
@@ -6472,60 +6501,86 @@ var getPointArray = function(param) {
6472
6501
  // break;
6473
6502
  case WaveTypes.Saw:
6474
6503
  cycle.push({
6475
- y: (adjustedVal > 0 ? 1 - adjustedVal : 0) * (1 - randomNumber) * ampValue
6504
+ y: (adjustedVal > 0 ? 1 - adjustedVal : 0) * (1 - randomNumber) * constrainedAmpVal
6476
6505
  });
6477
6506
  break;
6478
6507
  case WaveTypes.Square:
6479
6508
  cycle.push({
6480
- y: adjustedVal > 0.5 ? 1 * (1 - randomNumber) * ampValue : 0 * (1 - randomNumber) * ampValue
6509
+ y: adjustedVal > 0.5 ? 1 * (1 - randomNumber) * constrainedAmpVal : 0 * (1 - randomNumber) * constrainedAmpVal
6481
6510
  });
6482
6511
  break;
6483
6512
  case WaveTypes.Triangle:
6484
6513
  cycle.push({
6485
6514
  y: // prettier-ignore
6486
6515
  //(pwmInput * 2) > 1023 ? rampTable[2046 - (pwmInput * 2)] : rampTable[pwmInput * 2];
6487
- adjustedVal * 2 > 1 ? (2 - adjustedVal * 2) * (1 - randomNumber) * ampValue : adjustedVal * 2 * (1 - randomNumber) * ampValue
6516
+ adjustedVal * 2 > 1 ? (2 - adjustedVal * 2) * (1 - randomNumber) * constrainedAmpVal : adjustedVal * 2 * (1 - randomNumber) * constrainedAmpVal
6488
6517
  });
6489
6518
  break;
6490
6519
  }
6491
6520
  }
6521
+ lowestNumberInCycle = cycle.reduce(function(acc, item) {
6522
+ acc = Math.min(acc, item === null || item === void 0 ? void 0 : item.y);
6523
+ return acc;
6524
+ }, cycle[0].y);
6492
6525
  return cycle;
6493
6526
  };
6494
6527
  var output = [];
6495
6528
  var randomNumbers = [
6496
6529
  0.3,
6497
- 0.8,
6498
- 0.5,
6499
- 0.1,
6500
6530
  0.7,
6501
- 0.4,
6502
- 0.8,
6531
+ 0.5,
6532
+ 0.2,
6533
+ 0.6,
6534
+ 0.3,
6503
6535
  0.2,
6504
- 0.9,
6536
+ 0.3,
6537
+ 0.4,
6505
6538
  0.4
6506
6539
  ];
6507
- // Calculate the length of one cycle
6540
+ var constrainedAmpVal = Math.max(ampValue, 0.001);
6508
6541
  var getCycleLength = function() {
6509
- var minCycleLength = 40; // Arbitrary number - can adjust up and down
6510
- var value = maxLength - Math.ceil(maxLength * hz);
6511
- if (value < minCycleLength) {
6512
- return minCycleLength;
6513
- } else {
6514
- return value;
6515
- }
6542
+ var minCycleLength = 93;
6543
+ var maxCycleLength = 256;
6544
+ return minCycleLength + (maxCycleLength - minCycleLength) * hz;
6516
6545
  };
6517
6546
  var cycleLength = getCycleLength();
6518
- var numCycles = Math.floor(maxLength / cycleLength);
6547
+ // const cycleLength = 93;
6548
+ var lowestNumberInCycle = 0;
6549
+ var numCycles = Math.floor(maxArrayLength / cycleLength);
6519
6550
  var allCycles = [];
6520
6551
  for(var i = 0; i <= numCycles; i++){
6521
6552
  var cycle = generateCycle(i);
6522
6553
  allCycles.push(cycle);
6523
6554
  }
6524
- for(var i = 0; i < maxLength; i++){
6525
- var _allCycles_flat_i;
6555
+ var randomNumber = randomNumbers[0] * randValue;
6556
+ var flattenedAllCycles = allCycles.flat();
6557
+ var randomNumberIndex = 0;
6558
+ var sineRandomizedAllCycles = [];
6559
+ if (waveType === WaveTypes.Sine) {
6560
+ flattenedAllCycles.forEach(function(item, i, array) {
6561
+ var _array_, _array_i;
6562
+ if ((array === null || array === void 0 ? void 0 : (_array_ = array[i - 1]) === null || _array_ === void 0 ? void 0 : _array_.y) > lowestNumberInCycle && (array === null || array === void 0 ? void 0 : (_array_i = array[i]) === null || _array_i === void 0 ? void 0 : _array_i.y) === lowestNumberInCycle) {
6563
+ randomNumber = randomNumbers[randomNumberIndex] * randValue;
6564
+ if (randomNumberIndex < randomNumbers.length) {
6565
+ randomNumberIndex += 1;
6566
+ } else {
6567
+ randomNumberIndex = 0;
6568
+ }
6569
+ }
6570
+ sineRandomizedAllCycles.push({
6571
+ x: item.x,
6572
+ y: item.y * (1 - randomNumber) * constrainedAmpVal
6573
+ });
6574
+ });
6575
+ }
6576
+ for(var i = 0; i < maxArrayLength; i++){
6577
+ var _phasedAllCycles_i;
6578
+ var phaseVal = flattenedAllCycles.length * (phaseValue / 4);
6579
+ var arrayToUse = waveType === WaveTypes.Sine ? _to_consumable_array(sineRandomizedAllCycles) : _to_consumable_array(flattenedAllCycles);
6580
+ var phasedAllCycles = arrayToUse.concat(arrayToUse.splice(0, phaseVal));
6526
6581
  output.push({
6527
6582
  x: i,
6528
- y: (_allCycles_flat_i = allCycles.flat()[i]) === null || _allCycles_flat_i === void 0 ? void 0 : _allCycles_flat_i.y
6583
+ y: (_phasedAllCycles_i = phasedAllCycles[i]) === null || _phasedAllCycles_i === void 0 ? void 0 : _phasedAllCycles_i.y
6529
6584
  });
6530
6585
  }
6531
6586
  return output;
@@ -6534,6 +6589,175 @@ var getPointArray = function(param) {
6534
6589
  var css_248z$1 = "/* *[id^='outerglow'] {\n opacity: 0.5;\n} */\n.area {\n fill: url(#area-gradient);\n /* stroke-width: 0px;w */\n}\n";
6535
6590
  styleInject(css_248z$1);
6536
6591
 
6592
+ function Line(param) {
6593
+ var data = param.data; param.width; var xScale = param.xScale, yScale = param.yScale, _param_strokeColor = param.strokeColor, strokeColor = _param_strokeColor === void 0 ? 'var(--color-brand-600)' : _param_strokeColor, _param_strokeWidth = param.strokeWidth, strokeWidth = _param_strokeWidth === void 0 ? '3px' : _param_strokeWidth;
6594
+ return /*#__PURE__*/ React__default.createElement("g", {
6595
+ className: "marks"
6596
+ }, /*#__PURE__*/ React__default.createElement("path", {
6597
+ fill: "none",
6598
+ // fill={fillGradient ? `url(#${fillGradient}-gradient)` : fillColor}
6599
+ filter: "url(#dropshadow)",
6600
+ stroke: strokeColor,
6601
+ strokeWidth: strokeWidth,
6602
+ //@ts-expect-error
6603
+ d: line().x(function(d) {
6604
+ return xScale(d.x);
6605
+ }).y(function(d) {
6606
+ return yScale(d.y);
6607
+ }).curve(curveBasis)(data)
6608
+ }), /*#__PURE__*/ React__default.createElement("defs", null, /*#__PURE__*/ React__default.createElement("filter", {
6609
+ id: "dropshadow"
6610
+ }, /*#__PURE__*/ React__default.createElement("feDropShadow", {
6611
+ dx: "0",
6612
+ dy: "0",
6613
+ stdDeviation: ".5",
6614
+ "flood-color": "var(--color-brand-600)",
6615
+ "flood-opacity": ".5"
6616
+ }))));
6617
+ }
6618
+
6619
+ function Area(param) {
6620
+ var data = param.data, xScale = param.xScale, yScale = param.yScale, _param_fillColor = param.fillColor, fillColor = _param_fillColor === void 0 ? 'var(--color-brand)' : _param_fillColor, fillGradient = param.fillGradient;
6621
+ return /*#__PURE__*/ React__default.createElement("g", {
6622
+ className: "marks"
6623
+ }, /*#__PURE__*/ React__default.createElement("path", {
6624
+ fill: fillGradient ? "url(#".concat(fillGradient, "-gradient)") : fillColor,
6625
+ stroke: "none",
6626
+ //@ts-expect-error
6627
+ d: area().x(function(d) {
6628
+ return xScale(d.x);
6629
+ }).y0(function() {
6630
+ return yScale(-1);
6631
+ }).y1(function(d) {
6632
+ return yScale(d.y);
6633
+ }).curve(curveBasis)(data)
6634
+ }), /*#__PURE__*/ React__default.createElement("defs", null, /*#__PURE__*/ React__default.createElement("linearGradient", {
6635
+ id: "unicolor-gradient",
6636
+ x1: "0",
6637
+ y1: "0",
6638
+ x2: "0",
6639
+ y2: "1"
6640
+ }, /*#__PURE__*/ React__default.createElement("stop", {
6641
+ offset: "0%",
6642
+ "stop-color": "var(--color-brand-700)",
6643
+ "stop-opacity": 0.2
6644
+ }), /*#__PURE__*/ React__default.createElement("stop", {
6645
+ offset: "20%",
6646
+ "stop-color": "var(--color-brand-700)",
6647
+ "stop-opacity": 0.15
6648
+ }), /*#__PURE__*/ React__default.createElement("stop", {
6649
+ offset: "30%",
6650
+ "stop-color": "var(--color-brand-700)",
6651
+ "stop-opacity": 0.1
6652
+ }), /*#__PURE__*/ React__default.createElement("stop", {
6653
+ offset: "55%",
6654
+ "stop-color": "var(--color-brand-700)",
6655
+ "stop-opacity": 0
6656
+ })), /*#__PURE__*/ React__default.createElement("linearGradient", {
6657
+ id: "multicolor-gradient"
6658
+ }, /*#__PURE__*/ React__default.createElement("stop", {
6659
+ offset: "0%",
6660
+ "stop-color": "var(--color-brand)",
6661
+ "stop-opacity": 0.2
6662
+ }), /*#__PURE__*/ React__default.createElement("stop", {
6663
+ offset: "20%",
6664
+ "stop-color": "var(--color-brand)",
6665
+ "stop-opacity": 0.15
6666
+ }), /*#__PURE__*/ React__default.createElement("stop", {
6667
+ offset: "30%",
6668
+ "stop-color": "var(--color-brand)",
6669
+ "stop-opacity": 0.1
6670
+ }), /*#__PURE__*/ React__default.createElement("stop", {
6671
+ offset: "55%",
6672
+ "stop-color": "var(--color-brand-secondary)",
6673
+ "stop-opacity": 0
6674
+ }))));
6675
+ }
6676
+
6677
+ function Ticks(param) {
6678
+ var xScale = param.xScale, yScale = param.yScale, innerHeight = param.innerHeight, innerWidth = param.innerWidth, _param_centerLine = param.centerLine, centerLine = _param_centerLine === void 0 ? true : _param_centerLine, _param_strokeColor = param.strokeColor, strokeColor = _param_strokeColor === void 0 ? 'var(--bg-lv3)' : _param_strokeColor, _param_centerLineColor = param.centerLineColor, centerLineColor = _param_centerLineColor === void 0 ? 'var(--bg-lv4)' : _param_centerLineColor; param.tickFormat; param.tickOffset;
6679
+ var _xScale_ticks, _yScale_ticks;
6680
+ return /*#__PURE__*/ React__default.createElement("g", {
6681
+ className: "ticks"
6682
+ }, xScale ? /*#__PURE__*/ React__default.createElement("g", {
6683
+ className: "xScale"
6684
+ }, xScale === null || xScale === void 0 ? void 0 : (_xScale_ticks = xScale.ticks(25)) === null || _xScale_ticks === void 0 ? void 0 : _xScale_ticks.map(function(tickValue, i) {
6685
+ return /*#__PURE__*/ React__default.createElement("line", {
6686
+ x1: tickValue,
6687
+ key: tickValue,
6688
+ y1: 0,
6689
+ y2: innerHeight,
6690
+ x2: tickValue,
6691
+ stroke: strokeColor
6692
+ });
6693
+ })) : null, yScale ? /*#__PURE__*/ React__default.createElement("g", {
6694
+ className: "yScale"
6695
+ }, yScale === null || yScale === void 0 ? void 0 : (_yScale_ticks = yScale.ticks(25)) === null || _yScale_ticks === void 0 ? void 0 : _yScale_ticks.map(function(tickValue) {
6696
+ return /*#__PURE__*/ React__default.createElement("line", {
6697
+ x1: 0,
6698
+ x2: innerWidth,
6699
+ key: tickValue,
6700
+ y1: tickValue * 400,
6701
+ y2: tickValue * 400,
6702
+ stroke: strokeColor
6703
+ });
6704
+ })) : null, centerLine ? /*#__PURE__*/ React__default.createElement("g", {
6705
+ className: "centerLine"
6706
+ }, /*#__PURE__*/ React__default.createElement("line", {
6707
+ x1: 0,
6708
+ y1: "".concat(innerHeight / 2),
6709
+ y2: "".concat(innerHeight / 2),
6710
+ x2: "".concat(innerWidth),
6711
+ stroke: centerLineColor,
6712
+ strokeWidth: '2px'
6713
+ })) : null);
6714
+ }
6715
+
6716
+ function Chart(param) {
6717
+ var data = param.data, width = param.width, height = param.height; param.margin; var strokeColor = param.strokeColor, fillColor = param.fillColor, fillGradient = param.fillGradient;
6718
+ // const innerHeight = height - margin * 2;
6719
+ // const innerWidth = width - margin * 2;
6720
+ // const xAxisTickFormat = timeFormat('%a');
6721
+ var maxArrayLength = 512;
6722
+ var xScale = width && scaleLinear().domain([
6723
+ 0,
6724
+ maxArrayLength
6725
+ ]).range([
6726
+ 0,
6727
+ width
6728
+ ]);
6729
+ var yScale = height && scaleLinear().domain([
6730
+ 0,
6731
+ 1
6732
+ ]).range([
6733
+ height - 5,
6734
+ 5
6735
+ ]);
6736
+ return /*#__PURE__*/ React__default.createElement("svg", {
6737
+ width: width,
6738
+ height: height
6739
+ }, ' ', /*#__PURE__*/ React__default.createElement(Ticks, {
6740
+ // xScale={xScale}
6741
+ // yScale={yScale}
6742
+ centerLine: true,
6743
+ innerHeight: height,
6744
+ innerWidth: width
6745
+ }), /*#__PURE__*/ React__default.createElement("g", null, fillColor || fillGradient ? /*#__PURE__*/ React__default.createElement(Area, {
6746
+ fillColor: fillColor,
6747
+ fillGradient: fillGradient,
6748
+ data: data,
6749
+ xScale: xScale,
6750
+ yScale: yScale
6751
+ }) : null, /*#__PURE__*/ React__default.createElement(Line, {
6752
+ width: width,
6753
+ strokeColor: strokeColor,
6754
+ data: data,
6755
+ xScale: xScale,
6756
+ yScale: yScale
6757
+ })));
6758
+ }
6759
+ Chart.fillGradient = GradientStyles;
6760
+
6537
6761
  function _array_like_to_array$4(arr, len) {
6538
6762
  if (len == null || len > arr.length) len = arr.length;
6539
6763
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -6582,7 +6806,7 @@ function _unsupported_iterable_to_array$4(o, minLen) {
6582
6806
  }
6583
6807
  function LFOVisualizer(param) {
6584
6808
  var id = param.id, _param_width = param.width, width = _param_width === void 0 ? 365 : _param_width, _param_height = param.height, height = _param_height === void 0 ? 160 : _param_height;
6585
- var svgRef = useRef(null);
6809
+ // const svgRef = useRef(null);
6586
6810
  var isLocalhost = window.location.hostname === 'localhost';
6587
6811
  var _useState = _sliced_to_array$4(useState(0), 2), waveValue = _useState[0], setWaveValue = _useState[1];
6588
6812
  var _useState1 = _sliced_to_array$4(useState(0), 2), hzValue = _useState1[0], setHzValue = _useState1[1];
@@ -6594,14 +6818,15 @@ function LFOVisualizer(param) {
6594
6818
  var _useState5 = _sliced_to_array$4(useState(0), 2); _useState5[0]; var setSixteenthsValue = _useState5[1];
6595
6819
  //@ts-expect-error
6596
6820
  var _useState6 = _sliced_to_array$4(useState(0), 2); _useState6[0]; var setThirdsValue = _useState6[1];
6597
- var _useState7 = _sliced_to_array$4(useState(0), 2), syncOffsetValue = _useState7[0], setSyncOffsetValue = _useState7[1];
6821
+ //@ts-expect-error
6822
+ var _useState7 = _sliced_to_array$4(useState(0), 2); _useState7[0]; var setSyncOffsetValue = _useState7[1];
6598
6823
  var _useState8 = _sliced_to_array$4(useState(0), 2), phaseValue = _useState8[0], setPhaseValue = _useState8[1];
6599
6824
  var _useState9 = _sliced_to_array$4(useState(0), 2), widthValue = _useState9[0], setWidthValue = _useState9[1];
6600
6825
  var _useState10 = _sliced_to_array$4(useState(0), 2), ampValue = _useState10[0], setAmpValue = _useState10[1];
6601
6826
  var _useState11 = _sliced_to_array$4(useState(0), 2), randValue = _useState11[0], setRandValue = _useState11[1];
6602
6827
  var _useState12 = _sliced_to_array$4(useState([]), 2), points = _useState12[0], setPoints = _useState12[1];
6603
6828
  // const [numLoops, setNumLoops] = useState(1);
6604
- var maxLength = 1024;
6829
+ var maxArrayLength = 512;
6605
6830
  // useEffect(() => {
6606
6831
  // console.log(
6607
6832
  // waveValue,
@@ -6697,9 +6922,58 @@ function LFOVisualizer(param) {
6697
6922
  setRandValue(randState === null || randState === void 0 ? void 0 : randState.getNormalisedValue());
6698
6923
  });
6699
6924
  // Set up initial graph view
6700
- var svg = d3.select(svgRef.current).attr('width', width * 2).attr('height', height);
6701
- // create center line for graph
6702
- svg.append('line').attr('x1', "".concat(svgInnerMargin)).attr('y1', "".concat(height / 2)).attr('x2', "".concat(width * 2 - svgInnerMargin)).attr('y2', "".concat(height / 2)).attr('fill', 'none').attr('stroke', 'var(--color-gray-600)').attr('stroke-width', 1);
6925
+ // // create center line for graph
6926
+ // const svg = d3
6927
+ // .select(svgRef.current)
6928
+ // .attr('width', width)
6929
+ // .attr('height', height);
6930
+ // svg
6931
+ // .append('line')
6932
+ // .attr('x1', `${svgInnerMargin}`)
6933
+ // .attr('y1', `${height / 2}`)
6934
+ // .attr('x2', `${width - svgInnerMargin}`)
6935
+ // .attr('y2', `${height / 2}`)
6936
+ // .attr('fill', 'none')
6937
+ // .attr('stroke', 'var(--color-gray-600)')
6938
+ // .attr('stroke-width', 2);
6939
+ // const xScale = d3
6940
+ // .scaleLinear()
6941
+ // .domain([0, maxArrayLength])
6942
+ // .range([svgInnerMargin, width - svgInnerMargin]);
6943
+ // const yScale = d3
6944
+ // .scaleLinear()
6945
+ // .domain([0, 1])
6946
+ // .range([height - svgInnerMargin, svgInnerMargin]);
6947
+ // svg
6948
+ // .selectAll('line.horizontalGrid')
6949
+ // .data(yScale.ticks(10))
6950
+ // .enter()
6951
+ // .append('line')
6952
+ // .attr('x1', 0)
6953
+ // .attr('x2', width)
6954
+ // .attr('y1', function (d) {
6955
+ // return yScale(d);
6956
+ // })
6957
+ // .attr('y2', function (d) {
6958
+ // return yScale(d);
6959
+ // })
6960
+ // .attr('stroke', 'var(--bg-lv3)')
6961
+ // .attr('stroke-width', '1px');
6962
+ // svg
6963
+ // .selectAll('line.verticalGrid')
6964
+ // .data(xScale.ticks(25))
6965
+ // .enter()
6966
+ // .append('line')
6967
+ // .attr('x1', function (d) {
6968
+ // return xScale(d);
6969
+ // })
6970
+ // .attr('x2', function (d) {
6971
+ // return xScale(d);
6972
+ // })
6973
+ // .attr('y1', 0)
6974
+ // .attr('y2', height)
6975
+ // .attr('stroke', 'var(--bg-lv3)')
6976
+ // .attr('stroke-width', '1px');
6703
6977
  return function() {
6704
6978
  // Remove listeners on unmount
6705
6979
  waveState === null || waveState === void 0 ? void 0 : waveState.valueChangedEvent.removeListener(waveListenerId);
@@ -6724,10 +6998,11 @@ function LFOVisualizer(param) {
6724
6998
  var pointArray = getPointArray({
6725
6999
  waveType: (_Object_values = Object.values(WaveTypes)) === null || _Object_values === void 0 ? void 0 : _Object_values[waveValue],
6726
7000
  hz: syncTypeValue === 0 ? hzValue : hzHiValue,
7001
+ phaseValue: phaseValue,
6727
7002
  randValue: randValue,
6728
7003
  ampValue: ampValue,
6729
7004
  pulseWidth: widthValue,
6730
- maxLength: maxLength
7005
+ maxArrayLength: maxArrayLength
6731
7006
  });
6732
7007
  setPoints(pointArray.filter(function(item) {
6733
7008
  return item.y !== undefined;
@@ -6739,78 +7014,91 @@ function LFOVisualizer(param) {
6739
7014
  hzHiValue,
6740
7015
  randValue,
6741
7016
  widthValue,
6742
- maxLength,
7017
+ maxArrayLength,
7018
+ phaseValue,
6743
7019
  ampValue
6744
7020
  ]);
6745
- useEffect(function() {
6746
- // 2 * Math.PI = 1 circle in radians
6747
- // d3.range(initial value, last value, increment)
6748
- // sets the number of values
6749
- var xScale = d3.scaleLinear().domain([
6750
- 0,
6751
- maxLength
6752
- ]).range([
6753
- svgInnerMargin,
6754
- width * 2 - svgInnerMargin
6755
- ]);
6756
- var yScale = d3.scaleLinear().domain([
6757
- 0,
6758
- 1
6759
- ]).range([
6760
- height - svgInnerMargin,
6761
- svgInnerMargin
6762
- ]);
6763
- var line = d3.line()//@ts-expect-error
6764
- .x(function(d) {
6765
- return xScale(d.x);
6766
- })//@ts-expect-error
6767
- .y(function(d) {
6768
- return yScale(d.y);
6769
- }).curve(d3.curveBasis);
6770
- d3.select(svgRef.current).selectAll('path').attr('width', width * 2 - svgInnerMargin).attr('height', height).data([
6771
- points
6772
- ]).attr('fill', 'var(--color-brand)').attr('stroke', 'var(--color-brand)').attr('stroke-width', 3).attr('shape-rendering', 'geometricPrecision').attr('color-rendering', 'optimizeQuality').attr('filter', 'url(#dropshadow)').join('path').attr('d', line).attr('d', d3.area()// .x((d) => xScale(0))
6773
- // .x0(xScale(0))
6774
- .x(function(d) {
6775
- //@ts-expect-error
6776
- return xScale(d.x);
6777
- }).y0(yScale(-1))//@ts-expect-error
6778
- .y1(function(d) {
6779
- return yScale(d.y);
6780
- })).attr('class', 'area');
6781
- }, [
6782
- points,
6783
- maxLength
6784
- ]);
6785
- d3.select(svgRef.current).append('linearGradient').attr('id', 'area-gradient')//.attr("gradientUnits", "userSpaceOnUse")
6786
- .attr('x1', 0).attr('y1', 0).attr('x2', 0).attr('y2', 1).selectAll('stop').data([
6787
- {
6788
- offset: '0%',
6789
- color: 'var(--color-brand)',
6790
- opacity: 0.2
6791
- },
6792
- {
6793
- offset: '20%',
6794
- color: 'var(--color-brand)',
6795
- opacity: 0.15
6796
- },
6797
- {
6798
- offset: '30%',
6799
- color: 'var(--color-brand)',
6800
- opacity: 0.1
6801
- },
6802
- {
6803
- offset: '55%',
6804
- color: 'var(--color-brand)',
6805
- opacity: 0
6806
- }
6807
- ]).enter().append('stop').attr('offset', function(d) {
6808
- return d.offset;
6809
- }).attr('stop-color', function(d) {
6810
- return d.color;
6811
- }).attr('stop-opacity', function(d) {
6812
- return d.opacity;
6813
- });
7021
+ // useEffect(() => {
7022
+ // // 2 * Math.PI = 1 circle in radians
7023
+ // // d3.range(initial value, last value, increment)
7024
+ // // sets the number of values
7025
+ // const svg = d3
7026
+ // .select(svgRef.current)
7027
+ // .attr('width', width)
7028
+ // .attr('height', height);
7029
+ // const defs = svg.append('defs');
7030
+ // const linearGradient = defs
7031
+ // .append('linearGradient')
7032
+ // .attr('id', 'area-gradient')
7033
+ // //.attr("gradientUnits", "userSpaceOnUse")
7034
+ // .attr('x1', 0)
7035
+ // .attr('y1', 0)
7036
+ // .attr('x2', 0)
7037
+ // .attr('y2', 1);
7038
+ // linearGradient
7039
+ // .append('stop')
7040
+ // .attr('offset', '0%')
7041
+ // .attr('stop-color', 'var(--color-brand)')
7042
+ // .attr('stop-opacity', 0.2);
7043
+ // linearGradient
7044
+ // .append('stop')
7045
+ // .attr('offset', '20%')
7046
+ // .attr('stop-color', 'var(--color-brand)')
7047
+ // .attr('stop-opacity', 0.15);
7048
+ // linearGradient
7049
+ // .append('stop')
7050
+ // .attr('offset', '30%')
7051
+ // .attr('stop-color', 'var(--color-brand)')
7052
+ // .attr('stop-opacity', 0.1);
7053
+ // linearGradient
7054
+ // .append('stop')
7055
+ // .attr('offset', '55%')
7056
+ // .attr('stop-color', 'var(--color-brand)')
7057
+ // .attr('stop-opacity', 0);
7058
+ // // linearGradient.append('stop').data([
7059
+ // // { offset: '0%', color: 'var(--color-brand)', opacity: 0.2 },
7060
+ // // { offset: '20%', color: 'var(--color-brand)', opacity: 0.15 },
7061
+ // // { offset: '30%', color: 'var(--color-brand)', opacity: 0.1 },
7062
+ // // { offset: '55%', color: 'var(--color-brand)', opacity: 0 },
7063
+ // // ]);
7064
+ // const xScale = d3
7065
+ // .scaleLinear()
7066
+ // .domain([0, maxArrayLength])
7067
+ // .range([svgInnerMargin, width - svgInnerMargin]);
7068
+ // const yScale = d3
7069
+ // .scaleLinear()
7070
+ // .domain([0, 1])
7071
+ // .range([height - svgInnerMargin, svgInnerMargin]);
7072
+ // // fill: 'none',
7073
+ // // 'shape-rendering': 'crispEdges',
7074
+ // const line = d3
7075
+ // .line()
7076
+ // //@ts-expect-error
7077
+ // .x((d) => xScale(d.x))
7078
+ // //@ts-expect-error
7079
+ // .y((d) => yScale(d.y))
7080
+ // .curve(d3.curveBasis);
7081
+ // // svg
7082
+ // // .append('path')
7083
+ // // .data([points])
7084
+ // // .attr('fill', 'url(#area-gradient)')
7085
+ // // // .attr('filter', 'url(#dropshadow)')
7086
+ // // .attr('stroke', 'none')
7087
+ // // .attr('d', line);
7088
+ // d3.select(svgRef.current)
7089
+ // .selectAll('path')
7090
+ // .attr('width', width * 2 - svgInnerMargin)
7091
+ // .attr('height', height)
7092
+ // .data([points])
7093
+ // .attr('fill', 'url(#area-gradient)')
7094
+ // .attr('stroke', 'var(--color-brand)')
7095
+ // .attr('stroke-width', 3)
7096
+ // .attr('shape-rendering', 'geometricPrecision')
7097
+ // .attr('color-rendering', 'optimizeQuality')
7098
+ // .attr('filter', 'url(#dropshadow)')
7099
+ // .join('path')
7100
+ // .attr('d', line);
7101
+ // }, [points, maxArrayLength]);
6814
7102
  return /*#__PURE__*/ React__default.createElement(Box, {
6815
7103
  style: {
6816
7104
  backgroundColor: 'var(--bg-lv2)'
@@ -6825,27 +7113,13 @@ function LFOVisualizer(param) {
6825
7113
  overflow: 'hidden',
6826
7114
  width: width
6827
7115
  }
6828
- }, /*#__PURE__*/ React__default.createElement("svg", {
6829
- width: width * 2,
7116
+ }, /*#__PURE__*/ React__default.createElement(Chart, {
7117
+ data: points,
7118
+ margin: 0,
7119
+ width: width,
6830
7120
  height: height,
6831
- ref: svgRef,
6832
- style: {
6833
- transform: "translate(".concat((syncTypeValue === 0 || syncTypeValue === 1 ? phaseValue * 100 - 50 : syncOffsetValue * 100 - 50) / 2, "%)"),
6834
- margin: "0 -".concat(width / 2)
6835
- }
6836
- }, ' ', /*#__PURE__*/ React__default.createElement("defs", null, /*#__PURE__*/ React__default.createElement("filter", {
6837
- id: "dropshadow",
6838
- x: "-20%",
6839
- y: "-20%",
6840
- width: "140%",
6841
- height: "140%"
6842
- }, /*#__PURE__*/ React__default.createElement("feDropShadow", {
6843
- dx: "0",
6844
- dy: "0",
6845
- stdDeviation: ".5",
6846
- "flood-color": "var(--color-brand)",
6847
- "flood-opacity": "0.5"
6848
- }))))));
7121
+ fillGradient: Chart.fillGradient.unicolor
7122
+ })));
6849
7123
  }
6850
7124
 
6851
7125
  function _array_like_to_array$3(arr, len) {