@antimatter-audio/antimatter-ui 10.10.0 → 10.12.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.
package/dist/index.js CHANGED
@@ -159,12 +159,12 @@ var ButtonType = /*#__PURE__*/ function(ButtonType) {
159
159
  return ButtonType;
160
160
  }({});
161
161
 
162
- function _array_like_to_array$d(arr, len) {
162
+ function _array_like_to_array$e(arr, len) {
163
163
  if (len == null || len > arr.length) len = arr.length;
164
164
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
165
165
  return arr2;
166
166
  }
167
- function _array_with_holes$c(arr) {
167
+ function _array_with_holes$d(arr) {
168
168
  if (Array.isArray(arr)) return arr;
169
169
  }
170
170
  function _define_property$k(obj, key, value) {
@@ -180,7 +180,7 @@ function _define_property$k(obj, key, value) {
180
180
  }
181
181
  return obj;
182
182
  }
183
- function _iterable_to_array_limit$c(arr, i) {
183
+ function _iterable_to_array_limit$d(arr, i) {
184
184
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
185
185
  if (_i == null) return;
186
186
  var _arr = [];
@@ -204,7 +204,7 @@ function _iterable_to_array_limit$c(arr, i) {
204
204
  }
205
205
  return _arr;
206
206
  }
207
- function _non_iterable_rest$c() {
207
+ function _non_iterable_rest$d() {
208
208
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
209
209
  }
210
210
  function _object_spread$k(target) {
@@ -222,16 +222,16 @@ function _object_spread$k(target) {
222
222
  }
223
223
  return target;
224
224
  }
225
- function _sliced_to_array$c(arr, i) {
226
- return _array_with_holes$c(arr) || _iterable_to_array_limit$c(arr, i) || _unsupported_iterable_to_array$d(arr, i) || _non_iterable_rest$c();
225
+ function _sliced_to_array$d(arr, i) {
226
+ return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$e(arr, i) || _non_iterable_rest$d();
227
227
  }
228
- function _unsupported_iterable_to_array$d(o, minLen) {
228
+ function _unsupported_iterable_to_array$e(o, minLen) {
229
229
  if (!o) return;
230
- if (typeof o === "string") return _array_like_to_array$d(o, minLen);
230
+ if (typeof o === "string") return _array_like_to_array$e(o, minLen);
231
231
  var n = Object.prototype.toString.call(o).slice(8, -1);
232
232
  if (n === "Object" && o.constructor) n = o.constructor.name;
233
233
  if (n === "Map" || n === "Set") return Array.from(n);
234
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
234
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$e(o, minLen);
235
235
  }
236
236
  function Button(param) {
237
237
  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 ? [
@@ -239,7 +239,7 @@ function Button(param) {
239
239
  ] : _param_padding, _param_margin = param.margin, margin = _param_margin === void 0 ? [
240
240
  Spacing.none
241
241
  ] : _param_margin, _param_type = param.type, type = _param_type === void 0 ? ButtonType.latch : _param_type, _param_size = param.size, size = _param_size === void 0 ? ButtonSize.large : _param_size;
242
- var _React_useState = _sliced_to_array$c(React__default.useState(false), 2), isSelected = _React_useState[0], setIsSelected = _React_useState[1];
242
+ var _React_useState = _sliced_to_array$d(React__default.useState(false), 2), isSelected = _React_useState[0], setIsSelected = _React_useState[1];
243
243
  var buttonState = Juce.getToggleState(id);
244
244
  var isLocalhost = window.location.hostname === 'localhost';
245
245
  // Update the local state when the ID changes
@@ -357,13 +357,13 @@ function useObservable(param) {
357
357
  };
358
358
  }
359
359
 
360
- function _array_like_to_array$c(arr, len) {
360
+ function _array_like_to_array$d(arr, len) {
361
361
  if (len == null || len > arr.length) len = arr.length;
362
362
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
363
363
  return arr2;
364
364
  }
365
365
  function _array_without_holes$1(arr) {
366
- if (Array.isArray(arr)) return _array_like_to_array$c(arr);
366
+ if (Array.isArray(arr)) return _array_like_to_array$d(arr);
367
367
  }
368
368
  function _iterable_to_array$1(iter) {
369
369
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
@@ -372,15 +372,15 @@ function _non_iterable_spread$1() {
372
372
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
373
373
  }
374
374
  function _to_consumable_array$1(arr) {
375
- return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$c(arr) || _non_iterable_spread$1();
375
+ return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$d(arr) || _non_iterable_spread$1();
376
376
  }
377
- function _unsupported_iterable_to_array$c(o, minLen) {
377
+ function _unsupported_iterable_to_array$d(o, minLen) {
378
378
  if (!o) return;
379
- if (typeof o === "string") return _array_like_to_array$c(o, minLen);
379
+ if (typeof o === "string") return _array_like_to_array$d(o, minLen);
380
380
  var n = Object.prototype.toString.call(o).slice(8, -1);
381
381
  if (n === "Object" && o.constructor) n = o.constructor.name;
382
382
  if (n === "Map" || n === "Set") return Array.from(n);
383
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
383
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
384
384
  }
385
385
  // export const roundUpToTwoDecimals = (val: number) => Math.ceil(val * 100) / 100;
386
386
  // mocks the `normalisedToScaledValue` internal method from JUCE
@@ -496,12 +496,12 @@ var randomizeValue = function(min, max) {
496
496
  return Math.random() * (max - min) + min;
497
497
  };
498
498
 
499
- function _array_like_to_array$b(arr, len) {
499
+ function _array_like_to_array$c(arr, len) {
500
500
  if (len == null || len > arr.length) len = arr.length;
501
501
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
502
502
  return arr2;
503
503
  }
504
- function _array_with_holes$b(arr) {
504
+ function _array_with_holes$c(arr) {
505
505
  if (Array.isArray(arr)) return arr;
506
506
  }
507
507
  function _define_property$j(obj, key, value) {
@@ -517,7 +517,7 @@ function _define_property$j(obj, key, value) {
517
517
  }
518
518
  return obj;
519
519
  }
520
- function _iterable_to_array_limit$b(arr, i) {
520
+ function _iterable_to_array_limit$c(arr, i) {
521
521
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
522
522
  if (_i == null) return;
523
523
  var _arr = [];
@@ -541,7 +541,7 @@ function _iterable_to_array_limit$b(arr, i) {
541
541
  }
542
542
  return _arr;
543
543
  }
544
- function _non_iterable_rest$b() {
544
+ function _non_iterable_rest$c() {
545
545
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
546
546
  }
547
547
  function _object_spread$j(target) {
@@ -578,16 +578,16 @@ function _object_spread_props$4(target, source) {
578
578
  }
579
579
  return target;
580
580
  }
581
- function _sliced_to_array$b(arr, i) {
582
- return _array_with_holes$b(arr) || _iterable_to_array_limit$b(arr, i) || _unsupported_iterable_to_array$b(arr, i) || _non_iterable_rest$b();
581
+ function _sliced_to_array$c(arr, i) {
582
+ return _array_with_holes$c(arr) || _iterable_to_array_limit$c(arr, i) || _unsupported_iterable_to_array$c(arr, i) || _non_iterable_rest$c();
583
583
  }
584
- function _unsupported_iterable_to_array$b(o, minLen) {
584
+ function _unsupported_iterable_to_array$c(o, minLen) {
585
585
  if (!o) return;
586
- if (typeof o === "string") return _array_like_to_array$b(o, minLen);
586
+ if (typeof o === "string") return _array_like_to_array$c(o, minLen);
587
587
  var n = Object.prototype.toString.call(o).slice(8, -1);
588
588
  if (n === "Object" && o.constructor) n = o.constructor.name;
589
589
  if (n === "Map" || n === "Set") return Array.from(n);
590
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
590
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
591
591
  }
592
592
  // Initial state
593
593
  var defaultGlobalStateValue = {
@@ -672,7 +672,7 @@ function useGlobalContext(selector) {
672
672
  // Context provider
673
673
  function GlobalContextProvider(param) {
674
674
  var children = param.children;
675
- var _useReducer = _sliced_to_array$b(useReducer(reducer, defaultGlobalStateValue), 2), state = _useReducer[0], dispatch = _useReducer[1];
675
+ var _useReducer = _sliced_to_array$c(useReducer(reducer, defaultGlobalStateValue), 2), state = _useReducer[0], dispatch = _useReducer[1];
676
676
  var highlightedItemChanged = useCallback(function(highlightedItem) {
677
677
  dispatch({
678
678
  type: 'HIGHLIGHTED_ITEM_CHANGED',
@@ -780,15 +780,15 @@ function GlobalContextProvider(param) {
780
780
  }, children);
781
781
  }
782
782
 
783
- function _array_like_to_array$a(arr, len) {
783
+ function _array_like_to_array$b(arr, len) {
784
784
  if (len == null || len > arr.length) len = arr.length;
785
785
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
786
786
  return arr2;
787
787
  }
788
- function _array_with_holes$a(arr) {
788
+ function _array_with_holes$b(arr) {
789
789
  if (Array.isArray(arr)) return arr;
790
790
  }
791
- function _iterable_to_array_limit$a(arr, i) {
791
+ function _iterable_to_array_limit$b(arr, i) {
792
792
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
793
793
  if (_i == null) return;
794
794
  var _arr = [];
@@ -812,26 +812,26 @@ function _iterable_to_array_limit$a(arr, i) {
812
812
  }
813
813
  return _arr;
814
814
  }
815
- function _non_iterable_rest$a() {
815
+ function _non_iterable_rest$b() {
816
816
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
817
817
  }
818
- function _sliced_to_array$a(arr, i) {
819
- return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$a(arr, i) || _non_iterable_rest$a();
818
+ function _sliced_to_array$b(arr, i) {
819
+ return _array_with_holes$b(arr) || _iterable_to_array_limit$b(arr, i) || _unsupported_iterable_to_array$b(arr, i) || _non_iterable_rest$b();
820
820
  }
821
- function _unsupported_iterable_to_array$a(o, minLen) {
821
+ function _unsupported_iterable_to_array$b(o, minLen) {
822
822
  if (!o) return;
823
- if (typeof o === "string") return _array_like_to_array$a(o, minLen);
823
+ if (typeof o === "string") return _array_like_to_array$b(o, minLen);
824
824
  var n = Object.prototype.toString.call(o).slice(8, -1);
825
825
  if (n === "Object" && o.constructor) n = o.constructor.name;
826
826
  if (n === "Map" || n === "Set") return Array.from(n);
827
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
827
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
828
828
  }
829
829
  var useDropdown = function(param) {
830
830
  var id = param.id, label = param.label, _param_items = param.items, items = _param_items === void 0 ? [] : _param_items, filter = param.filter, onChange = param.onChange, _param_displayValInHeader = param.displayValInHeader, displayValInHeader = _param_displayValInHeader === void 0 ? true : _param_displayValInHeader;
831
831
  var _properties_choices;
832
832
  var comboBoxState = Juce.getComboBoxState(id);
833
- var _useState = _sliced_to_array$a(useState(comboBoxState.getChoiceIndex()), 2), index = _useState[0], setIndex = _useState[1];
834
- var _useState1 = _sliced_to_array$a(useState(comboBoxState.properties), 2), properties = _useState1[0], setProperties = _useState1[1];
833
+ var _useState = _sliced_to_array$b(useState(comboBoxState.getChoiceIndex()), 2), index = _useState[0], setIndex = _useState[1];
834
+ var _useState1 = _sliced_to_array$b(useState(comboBoxState.properties), 2), properties = _useState1[0], setProperties = _useState1[1];
835
835
  var setHighlightedItem = useGlobalContext().setHighlightedItem;
836
836
  var choices = items.length ? items : (properties === null || properties === void 0 ? void 0 : (_properties_choices = properties.choices) === null || _properties_choices === void 0 ? void 0 : _properties_choices.length) ? properties === null || properties === void 0 ? void 0 : properties.choices : [];
837
837
  var filteredChoices = filter ? choices === null || choices === void 0 ? void 0 : choices.filter(function(item) {
@@ -1205,12 +1205,12 @@ function Dropdown(param) {
1205
1205
  var css_248z$7 = ".TextInput {\n pointer-events: auto;\n /* font-size: var(--text-xs); */\n}\n\n.TextInput::-moz-selection {\n background: transparent;\n}\n.TextInput::selection {\n background: transparent;\n}\n\n.TextInput.is-highlighted {\n background: var(--color-gray-600);\n border: 1px solid var(--color-gray-500);\n}\n";
1206
1206
  styleInject(css_248z$7);
1207
1207
 
1208
- function _array_like_to_array$9(arr, len) {
1208
+ function _array_like_to_array$a(arr, len) {
1209
1209
  if (len == null || len > arr.length) len = arr.length;
1210
1210
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
1211
1211
  return arr2;
1212
1212
  }
1213
- function _array_with_holes$9(arr) {
1213
+ function _array_with_holes$a(arr) {
1214
1214
  if (Array.isArray(arr)) return arr;
1215
1215
  }
1216
1216
  function _define_property$f(obj, key, value) {
@@ -1226,7 +1226,7 @@ function _define_property$f(obj, key, value) {
1226
1226
  }
1227
1227
  return obj;
1228
1228
  }
1229
- function _iterable_to_array_limit$9(arr, i) {
1229
+ function _iterable_to_array_limit$a(arr, i) {
1230
1230
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
1231
1231
  if (_i == null) return;
1232
1232
  var _arr = [];
@@ -1250,7 +1250,7 @@ function _iterable_to_array_limit$9(arr, i) {
1250
1250
  }
1251
1251
  return _arr;
1252
1252
  }
1253
- function _non_iterable_rest$9() {
1253
+ function _non_iterable_rest$a() {
1254
1254
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1255
1255
  }
1256
1256
  function _object_spread$f(target) {
@@ -1268,16 +1268,16 @@ function _object_spread$f(target) {
1268
1268
  }
1269
1269
  return target;
1270
1270
  }
1271
- function _sliced_to_array$9(arr, i) {
1272
- return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$9(arr, i) || _non_iterable_rest$9();
1271
+ function _sliced_to_array$a(arr, i) {
1272
+ return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$a(arr, i) || _non_iterable_rest$a();
1273
1273
  }
1274
- function _unsupported_iterable_to_array$9(o, minLen) {
1274
+ function _unsupported_iterable_to_array$a(o, minLen) {
1275
1275
  if (!o) return;
1276
- if (typeof o === "string") return _array_like_to_array$9(o, minLen);
1276
+ if (typeof o === "string") return _array_like_to_array$a(o, minLen);
1277
1277
  var n = Object.prototype.toString.call(o).slice(8, -1);
1278
1278
  if (n === "Object" && o.constructor) n = o.constructor.name;
1279
1279
  if (n === "Map" || n === "Set") return Array.from(n);
1280
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
1280
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
1281
1281
  }
1282
1282
  // import { decimalToPercent, percentToDecimal } from '../../common/utils';
1283
1283
  // import debounce from 'lodash.debounce';
@@ -1289,9 +1289,9 @@ var InputTypes = /*#__PURE__*/ function(InputTypes) {
1289
1289
  function Input(param) {
1290
1290
  var onComplete = param.onComplete, value = param.value; param.min; param.max; var _param_fontSize = param.fontSize, fontSize = _param_fontSize === void 0 ? FontSizes.xSmall : _param_fontSize, style = param.style, className = param.className, id = param.id, _param_textColor = param.textColor, textColor = _param_textColor === void 0 ? 'var(--color-text)' : _param_textColor;
1291
1291
  var _inputRef_current;
1292
- var _useState = _sliced_to_array$9(useState(value), 2), internalValue = _useState[0], setInternalValue = _useState[1];
1292
+ var _useState = _sliced_to_array$a(useState(value), 2), internalValue = _useState[0], setInternalValue = _useState[1];
1293
1293
  // const [hasError, setHasError] = useState<boolean>(false);
1294
- var _useState1 = _sliced_to_array$9(useState(false), 2), isHighlighted = _useState1[0], setIsHighlighted = _useState1[1];
1294
+ var _useState1 = _sliced_to_array$a(useState(false), 2), isHighlighted = _useState1[0], setIsHighlighted = _useState1[1];
1295
1295
  var valueRef = useRef(null);
1296
1296
  var isLocalhost = window.location.hostname === 'localhost';
1297
1297
  // Sets up listeners to handle changes on the backend
@@ -1327,20 +1327,32 @@ function Input(param) {
1327
1327
  ]);
1328
1328
  // (inputValue === '' || /^-?\d+$/.test(inputValue)
1329
1329
  function clickListener(event) {
1330
- if (event.target.id === id) {
1330
+ if (event.target.id === "".concat(id, "-input")) {
1331
1331
  var _document_getElementById;
1332
- (_document_getElementById = document.getElementById(id)) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.focus();
1332
+ (_document_getElementById = document.getElementById("".concat(id, "-input"))) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.focus();
1333
1333
  setIsHighlighted(true);
1334
1334
  } else {
1335
1335
  var _document_getElementById1;
1336
1336
  setIsHighlighted(false);
1337
- (_document_getElementById1 = document.getElementById(id)) === null || _document_getElementById1 === void 0 ? void 0 : _document_getElementById1.blur();
1337
+ (_document_getElementById1 = document.getElementById("".concat(id, "-input"))) === null || _document_getElementById1 === void 0 ? void 0 : _document_getElementById1.blur();
1338
+ }
1339
+ }
1340
+ function keyDownListener(event) {
1341
+ var _document_activeElement;
1342
+ var validChar = /\d|\-|\./;
1343
+ if (((_document_activeElement = document.activeElement) === null || _document_activeElement === void 0 ? void 0 : _document_activeElement.id) === id && validChar.test(event.key)) {
1344
+ var _document_getElementById;
1345
+ event.preventDefault();
1346
+ (_document_getElementById = document.getElementById("".concat(id, "-input"))) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.focus();
1347
+ setIsHighlighted(true);
1348
+ setInternalValue(event.key);
1338
1349
  }
1339
1350
  }
1340
1351
  function handleSubmit(e) {
1341
1352
  var newValue = e.target.value;
1342
1353
  var _Juce_getSliderState = Juce.getSliderState(id), scaledValue = _Juce_getSliderState.scaledValue, properties = _Juce_getSliderState.properties;
1343
- if ((valueRef === null || valueRef === void 0 ? void 0 : valueRef.current) !== newValue && e.target.id === id) {
1354
+ if ((valueRef === null || valueRef === void 0 ? void 0 : valueRef.current) !== newValue && e.target.id === "".concat(id, "-input")) {
1355
+ var _document_getElementById;
1344
1356
  var validValue = getValidValueForInput({
1345
1357
  value: newValue,
1346
1358
  oldValue: scaledValue,
@@ -1351,12 +1363,15 @@ function Input(param) {
1351
1363
  if (validValue === valueRef.current) {
1352
1364
  setInternalValue(validValue);
1353
1365
  }
1366
+ (_document_getElementById = document.getElementById(id)) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.focus();
1354
1367
  }
1355
1368
  }
1356
1369
  useEffect(function() {
1357
1370
  document.addEventListener('click', clickListener);
1371
+ document.addEventListener('keydown', keyDownListener);
1358
1372
  return function() {
1359
1373
  document.removeEventListener('click', clickListener);
1374
+ document.removeEventListener('keydown', keyDownListener);
1360
1375
  };
1361
1376
  }, [
1362
1377
  window,
@@ -1364,7 +1379,12 @@ function Input(param) {
1364
1379
  ]);
1365
1380
  function handleKeyUp(e) {
1366
1381
  if (e.key === 'Enter') {
1382
+ var _document_activeElement;
1367
1383
  handleSubmit(e);
1384
+ setIsHighlighted(false);
1385
+ if (((_document_activeElement = document.activeElement) === null || _document_activeElement === void 0 ? void 0 : _document_activeElement.id) === "".concat(id, "-input")) {
1386
+ document.activeElement.blur();
1387
+ }
1368
1388
  }
1369
1389
  }
1370
1390
  var inputRef = useRef('');
@@ -1386,7 +1406,7 @@ function Input(param) {
1386
1406
  // setInternalValue(value);
1387
1407
  // }, [value]);
1388
1408
  return /*#__PURE__*/ React__default.createElement("input", {
1389
- id: id,
1409
+ id: "".concat(id, "-input"),
1390
1410
  ref: inputRef,
1391
1411
  className: classnames('TextInput', isHighlighted ? 'is-highlighted' : '', className),
1392
1412
  style: _object_spread$f({
@@ -1415,15 +1435,15 @@ var SliderType = /*#__PURE__*/ function(SliderType) {
1415
1435
  return SliderType;
1416
1436
  }({});
1417
1437
 
1418
- function _array_like_to_array$8(arr, len) {
1438
+ function _array_like_to_array$9(arr, len) {
1419
1439
  if (len == null || len > arr.length) len = arr.length;
1420
1440
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
1421
1441
  return arr2;
1422
1442
  }
1423
- function _array_with_holes$8(arr) {
1443
+ function _array_with_holes$9(arr) {
1424
1444
  if (Array.isArray(arr)) return arr;
1425
1445
  }
1426
- function _iterable_to_array_limit$8(arr, i) {
1446
+ function _iterable_to_array_limit$9(arr, i) {
1427
1447
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
1428
1448
  if (_i == null) return;
1429
1449
  var _arr = [];
@@ -1447,19 +1467,19 @@ function _iterable_to_array_limit$8(arr, i) {
1447
1467
  }
1448
1468
  return _arr;
1449
1469
  }
1450
- function _non_iterable_rest$8() {
1470
+ function _non_iterable_rest$9() {
1451
1471
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1452
1472
  }
1453
- function _sliced_to_array$8(arr, i) {
1454
- return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
1473
+ function _sliced_to_array$9(arr, i) {
1474
+ return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$9(arr, i) || _non_iterable_rest$9();
1455
1475
  }
1456
- function _unsupported_iterable_to_array$8(o, minLen) {
1476
+ function _unsupported_iterable_to_array$9(o, minLen) {
1457
1477
  if (!o) return;
1458
- if (typeof o === "string") return _array_like_to_array$8(o, minLen);
1478
+ if (typeof o === "string") return _array_like_to_array$9(o, minLen);
1459
1479
  var n = Object.prototype.toString.call(o).slice(8, -1);
1460
1480
  if (n === "Object" && o.constructor) n = o.constructor.name;
1461
1481
  if (n === "Map" || n === "Set") return Array.from(n);
1462
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
1482
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
1463
1483
  }
1464
1484
  // 20.0f, 15000.0f, 0.1f, 0.7f),800.0f
1465
1485
  // ValueType rangeStart, ValueType rangeEnd, ValueType intervalValue, ValueType skewFactor, bool useSymmetricSkew=false)
@@ -1473,10 +1493,14 @@ var useSlider = function(param) {
1473
1493
  var clickListener = function clickListener(event) {
1474
1494
  var _event_target_closest;
1475
1495
  if (((_event_target_closest = event.target.closest('.Slider')) === null || _event_target_closest === void 0 ? void 0 : _event_target_closest.id) === id) {
1496
+ var _document_getElementById;
1476
1497
  setIsActive(true);
1498
+ (_document_getElementById = document.getElementById(id)) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.focus();
1477
1499
  event.stopPropagation();
1478
1500
  } else {
1501
+ var _document_getElementById1;
1479
1502
  setIsActive(false);
1503
+ (_document_getElementById1 = document.getElementById(id)) === null || _document_getElementById1 === void 0 ? void 0 : _document_getElementById1.blur();
1480
1504
  event.stopPropagation();
1481
1505
  }
1482
1506
  };
@@ -1504,14 +1528,14 @@ var useSlider = function(param) {
1504
1528
  * AudioProcessorParameter::getValue() (C++).
1505
1529
  */ // See https://github.com/juce-framework/JUCE/blob/51d11a2be6d5c97ccf12b4e5e827006e19f0555a/modules/juce_gui_extra/native/javascript/index.js#L230C1-L238C6
1506
1530
  // NOTE: We can think of this as a percentage value, in 0 to 1 format
1507
- var _useState = _sliced_to_array$8(useState(0), 2), scaledValue = _useState[0], setScaledValue = _useState[1];
1531
+ var _useState = _sliced_to_array$9(useState(0), 2), scaledValue = _useState[0], setScaledValue = _useState[1];
1508
1532
  // const [normalisedValue, setNormalisedValue] = useState(0);
1509
- var _useState1 = _sliced_to_array$8(useState(), 2), properties = _useState1[0], setProperties = _useState1[1];
1533
+ var _useState1 = _sliced_to_array$9(useState(), 2), properties = _useState1[0], setProperties = _useState1[1];
1510
1534
  var scaledValueRef = useRef(null);
1511
1535
  var normalisedValueRef = useRef(null);
1512
1536
  // const randomValueSetCounter = useRef<number>(null);
1513
1537
  var _useGlobalContext = useGlobalContext(), useRandom = _useGlobalContext.useRandom, highlightedItemChanged = _useGlobalContext.highlightedItemChanged, setDefaultParameter = _useGlobalContext.setDefaultParameter;
1514
- var _useState2 = _sliced_to_array$8(useState(false), 2), isActive = _useState2[0], setIsActive = _useState2[1];
1538
+ var _useState2 = _sliced_to_array$9(useState(false), 2), isActive = _useState2[0], setIsActive = _useState2[1];
1515
1539
  useEffect(function() {
1516
1540
  document.addEventListener('click', clickListener);
1517
1541
  document.addEventListener('keydown', keyDownListener);
@@ -1878,6 +1902,7 @@ function RotarySlider(param) {
1878
1902
  className: classnames('RotarySlider-center-marker')
1879
1903
  }), /*#__PURE__*/ React__default.createElement(Box, _object_spread_props$2(_object_spread$e({
1880
1904
  id: id,
1905
+ tabIndex: 0,
1881
1906
  className: classnames('Slider', 'RotarySlider', isActive ? 'corner-border' : '', polarity === Polarity.linear ? 'Slider-polarity-linear' : 'Slider-polarity-bipolar', className)
1882
1907
  }, bindDrag()), {
1883
1908
  onMouseEnter: onMouseEnter,
@@ -2091,15 +2116,15 @@ Heading.fontSize = FontSizes;
2091
2116
  Heading.tag = HeadingTags;
2092
2117
  Heading.padding = Spacing;
2093
2118
 
2094
- function _array_like_to_array$7(arr, len) {
2119
+ function _array_like_to_array$8(arr, len) {
2095
2120
  if (len == null || len > arr.length) len = arr.length;
2096
2121
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
2097
2122
  return arr2;
2098
2123
  }
2099
- function _array_with_holes$7(arr) {
2124
+ function _array_with_holes$8(arr) {
2100
2125
  if (Array.isArray(arr)) return arr;
2101
2126
  }
2102
- function _iterable_to_array_limit$7(arr, i) {
2127
+ function _iterable_to_array_limit$8(arr, i) {
2103
2128
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
2104
2129
  if (_i == null) return;
2105
2130
  var _arr = [];
@@ -2123,26 +2148,26 @@ function _iterable_to_array_limit$7(arr, i) {
2123
2148
  }
2124
2149
  return _arr;
2125
2150
  }
2126
- function _non_iterable_rest$7() {
2151
+ function _non_iterable_rest$8() {
2127
2152
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2128
2153
  }
2129
- function _sliced_to_array$7(arr, i) {
2130
- return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
2154
+ function _sliced_to_array$8(arr, i) {
2155
+ return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
2131
2156
  }
2132
- function _unsupported_iterable_to_array$7(o, minLen) {
2157
+ function _unsupported_iterable_to_array$8(o, minLen) {
2133
2158
  if (!o) return;
2134
- if (typeof o === "string") return _array_like_to_array$7(o, minLen);
2159
+ if (typeof o === "string") return _array_like_to_array$8(o, minLen);
2135
2160
  var n = Object.prototype.toString.call(o).slice(8, -1);
2136
2161
  if (n === "Object" && o.constructor) n = o.constructor.name;
2137
2162
  if (n === "Map" || n === "Set") return Array.from(n);
2138
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
2163
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
2139
2164
  }
2140
2165
  // 20.0f, 15000.0f, 0.1f, 0.7f),800.0f
2141
2166
  // ValueType rangeStart, ValueType rangeEnd, ValueType intervalValue, ValueType skewFactor, bool useSymmetricSkew=false)
2142
2167
  var useIndicator = function(param) {
2143
2168
  var id = param.id;
2144
2169
  var isLocalhost = window.location.hostname === 'localhost';
2145
- var _useState = _sliced_to_array$7(useState(0), 2), isActive = _useState[0], setIsActive = _useState[1];
2170
+ var _useState = _sliced_to_array$8(useState(0), 2), isActive = _useState[0], setIsActive = _useState[1];
2146
2171
  // Set the initial state
2147
2172
  useEffect(function() {
2148
2173
  if (!isLocalhost) {
@@ -2709,12 +2734,12 @@ function LinePlot(param) {
2709
2734
  var css_248z$4 = ".Oscilloscope {\n background: #0EAC8B;\n box-shadow: inset 0 0 20px #086350;\n height: 200px;\n };";
2710
2735
  styleInject(css_248z$4);
2711
2736
 
2712
- function _array_like_to_array$6(arr, len) {
2737
+ function _array_like_to_array$7(arr, len) {
2713
2738
  if (len == null || len > arr.length) len = arr.length;
2714
2739
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
2715
2740
  return arr2;
2716
2741
  }
2717
- function _array_with_holes$6(arr) {
2742
+ function _array_with_holes$7(arr) {
2718
2743
  if (Array.isArray(arr)) return arr;
2719
2744
  }
2720
2745
  function _define_property$7(obj, key, value) {
@@ -2730,7 +2755,7 @@ function _define_property$7(obj, key, value) {
2730
2755
  }
2731
2756
  return obj;
2732
2757
  }
2733
- function _iterable_to_array_limit$6(arr, i) {
2758
+ function _iterable_to_array_limit$7(arr, i) {
2734
2759
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
2735
2760
  if (_i == null) return;
2736
2761
  var _arr = [];
@@ -2754,7 +2779,7 @@ function _iterable_to_array_limit$6(arr, i) {
2754
2779
  }
2755
2780
  return _arr;
2756
2781
  }
2757
- function _non_iterable_rest$6() {
2782
+ function _non_iterable_rest$7() {
2758
2783
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2759
2784
  }
2760
2785
  function _object_spread$7(target) {
@@ -2772,20 +2797,20 @@ function _object_spread$7(target) {
2772
2797
  }
2773
2798
  return target;
2774
2799
  }
2775
- function _sliced_to_array$6(arr, i) {
2776
- return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
2800
+ function _sliced_to_array$7(arr, i) {
2801
+ return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
2777
2802
  }
2778
- function _unsupported_iterable_to_array$6(o, minLen) {
2803
+ function _unsupported_iterable_to_array$7(o, minLen) {
2779
2804
  if (!o) return;
2780
- if (typeof o === "string") return _array_like_to_array$6(o, minLen);
2805
+ if (typeof o === "string") return _array_like_to_array$7(o, minLen);
2781
2806
  var n = Object.prototype.toString.call(o).slice(8, -1);
2782
2807
  if (n === "Object" && o.constructor) n = o.constructor.name;
2783
2808
  if (n === "Map" || n === "Set") return Array.from(n);
2784
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
2809
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
2785
2810
  }
2786
2811
  function Oscilloscope(param) {
2787
2812
  var width = param.width, height = param.height, className = param.className, style = param.style, id = param.id;
2788
- var _useState = _sliced_to_array$6(useState([]), 2), viewData = _useState[0], setViewData = _useState[1];
2813
+ var _useState = _sliced_to_array$7(useState([]), 2), viewData = _useState[0], setViewData = _useState[1];
2789
2814
  useEffect(function() {
2790
2815
  //@ts-expect-error
2791
2816
  var removalToken = window.__JUCE__.backend.addEventListener('oscData', function() {
@@ -2820,12 +2845,12 @@ styleInject(css_248z$3);
2820
2845
  var css_248z$2 = ".PresetManagerContainer {\n width: 100%;\n height: 100%;\n background-color: var(--bg-page);\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-popover);\n}\n\n.PresetManagerPanel:focus,\n.PresetManagerPanel:focus-visible {\n outline: none;\n}\n\n/* .PresetManagerCategoryItem {\n font-family: var(--font-leagueSpartan);\n cursor: pointer;\n background: var(--color-gray-800);\n text-transform: uppercase;\n &:hover,\n &.isSelected {\n background: var(--bg-selected);\n }\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";
2821
2846
  styleInject(css_248z$2);
2822
2847
 
2823
- function _array_like_to_array$5(arr, len) {
2848
+ function _array_like_to_array$6(arr, len) {
2824
2849
  if (len == null || len > arr.length) len = arr.length;
2825
2850
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
2826
2851
  return arr2;
2827
2852
  }
2828
- function _array_with_holes$5(arr) {
2853
+ function _array_with_holes$6(arr) {
2829
2854
  if (Array.isArray(arr)) return arr;
2830
2855
  }
2831
2856
  function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
@@ -2857,7 +2882,7 @@ function _async_to_generator$3(fn) {
2857
2882
  });
2858
2883
  };
2859
2884
  }
2860
- function _iterable_to_array_limit$5(arr, i) {
2885
+ function _iterable_to_array_limit$6(arr, i) {
2861
2886
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
2862
2887
  if (_i == null) return;
2863
2888
  var _arr = [];
@@ -2881,23 +2906,23 @@ function _iterable_to_array_limit$5(arr, i) {
2881
2906
  }
2882
2907
  return _arr;
2883
2908
  }
2884
- function _non_iterable_rest$5() {
2909
+ function _non_iterable_rest$6() {
2885
2910
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2886
2911
  }
2887
2912
  function _object_destructuring_empty(o) {
2888
2913
  if (o === null || o === void 0) throw new TypeError("Cannot destructure " + o);
2889
2914
  return o;
2890
2915
  }
2891
- function _sliced_to_array$5(arr, i) {
2892
- return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$5();
2916
+ function _sliced_to_array$6(arr, i) {
2917
+ return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
2893
2918
  }
2894
- function _unsupported_iterable_to_array$5(o, minLen) {
2919
+ function _unsupported_iterable_to_array$6(o, minLen) {
2895
2920
  if (!o) return;
2896
- if (typeof o === "string") return _array_like_to_array$5(o, minLen);
2921
+ if (typeof o === "string") return _array_like_to_array$6(o, minLen);
2897
2922
  var n = Object.prototype.toString.call(o).slice(8, -1);
2898
2923
  if (n === "Object" && o.constructor) n = o.constructor.name;
2899
2924
  if (n === "Map" || n === "Set") return Array.from(n);
2900
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
2925
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
2901
2926
  }
2902
2927
  function _ts_generator$3(thisArg, body) {
2903
2928
  var f, y, t, _ = {
@@ -2992,16 +3017,16 @@ function _ts_generator$3(thisArg, body) {
2992
3017
  }
2993
3018
  function PresetManager(param) {
2994
3019
  _object_destructuring_empty(param);
2995
- var _useState = _sliced_to_array$5(useState([]), 2), presetList = _useState[0], setPresetList = _useState[1];
2996
- var _useState1 = _sliced_to_array$5(useState(false), 2); _useState1[0]; var setIsSaving = _useState1[1];
3020
+ var _useState = _sliced_to_array$6(useState([]), 2), presetList = _useState[0], setPresetList = _useState[1];
3021
+ var _useState1 = _sliced_to_array$6(useState(false), 2); _useState1[0]; var setIsSaving = _useState1[1];
2997
3022
  var savePresetFunc = Juce.getNativeFunction('savePreset');
2998
3023
  var loadPresetFunc = Juce.getNativeFunction('loadPreset');
2999
3024
  var getAllPresetsFunc = Juce.getNativeFunction('getAllPresets');
3000
3025
  var getCurrentPresetFunc = Juce.getNativeFunction('getCurrentPreset');
3001
3026
  var isDirtyFunc = Juce.getNativeFunction('canUndo');
3002
- var _useState2 = _sliced_to_array$5(useState(), 2), selectedPreset = _useState2[0], setSelectedPreset = _useState2[1];
3027
+ var _useState2 = _sliced_to_array$6(useState(), 2), selectedPreset = _useState2[0], setSelectedPreset = _useState2[1];
3003
3028
  var isLocalhost = window.location.hostname === 'localhost';
3004
- var _useState3 = _sliced_to_array$5(useState(false), 2), isDirty = _useState3[0], setIsDirty = _useState3[1];
3029
+ var _useState3 = _sliced_to_array$6(useState(false), 2), isDirty = _useState3[0], setIsDirty = _useState3[1];
3005
3030
  useEffect(function() {
3006
3031
  if (!isLocalhost) {
3007
3032
  var isDirtyListenerId = //@ts-expect-error
@@ -3277,12 +3302,12 @@ function PresetManager(param) {
3277
3302
  }))))));
3278
3303
  }
3279
3304
 
3280
- function _array_like_to_array$4(arr, len) {
3305
+ function _array_like_to_array$5(arr, len) {
3281
3306
  if (len == null || len > arr.length) len = arr.length;
3282
3307
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
3283
3308
  return arr2;
3284
3309
  }
3285
- function _array_with_holes$4(arr) {
3310
+ function _array_with_holes$5(arr) {
3286
3311
  if (Array.isArray(arr)) return arr;
3287
3312
  }
3288
3313
  function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
@@ -3327,7 +3352,7 @@ function _define_property$6(obj, key, value) {
3327
3352
  }
3328
3353
  return obj;
3329
3354
  }
3330
- function _iterable_to_array_limit$4(arr, i) {
3355
+ function _iterable_to_array_limit$5(arr, i) {
3331
3356
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
3332
3357
  if (_i == null) return;
3333
3358
  var _arr = [];
@@ -3351,7 +3376,7 @@ function _iterable_to_array_limit$4(arr, i) {
3351
3376
  }
3352
3377
  return _arr;
3353
3378
  }
3354
- function _non_iterable_rest$4() {
3379
+ function _non_iterable_rest$5() {
3355
3380
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3356
3381
  }
3357
3382
  function _object_spread$6(target) {
@@ -3369,16 +3394,16 @@ function _object_spread$6(target) {
3369
3394
  }
3370
3395
  return target;
3371
3396
  }
3372
- function _sliced_to_array$4(arr, i) {
3373
- return _array_with_holes$4(arr) || _iterable_to_array_limit$4(arr, i) || _unsupported_iterable_to_array$4(arr, i) || _non_iterable_rest$4();
3397
+ function _sliced_to_array$5(arr, i) {
3398
+ return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$5();
3374
3399
  }
3375
- function _unsupported_iterable_to_array$4(o, minLen) {
3400
+ function _unsupported_iterable_to_array$5(o, minLen) {
3376
3401
  if (!o) return;
3377
- if (typeof o === "string") return _array_like_to_array$4(o, minLen);
3402
+ if (typeof o === "string") return _array_like_to_array$5(o, minLen);
3378
3403
  var n = Object.prototype.toString.call(o).slice(8, -1);
3379
3404
  if (n === "Object" && o.constructor) n = o.constructor.name;
3380
3405
  if (n === "Map" || n === "Set") return Array.from(n);
3381
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$4(o, minLen);
3406
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
3382
3407
  }
3383
3408
  function _ts_generator$2(thisArg, body) {
3384
3409
  var f, y, t, _ = {
@@ -3561,8 +3586,8 @@ function ModuleHeader(param) {
3561
3586
  }, [
3562
3587
  window
3563
3588
  ]);
3564
- var _useState = _sliced_to_array$4(useState(false), 2), canUndo = _useState[0], setCanUndo = _useState[1];
3565
- var _useState1 = _sliced_to_array$4(useState(false), 2), canRedo = _useState1[0], setCanRedo = _useState1[1];
3589
+ var _useState = _sliced_to_array$5(useState(false), 2), canUndo = _useState[0], setCanUndo = _useState[1];
3590
+ var _useState1 = _sliced_to_array$5(useState(false), 2), canRedo = _useState1[0], setCanRedo = _useState1[1];
3566
3591
  var handleUndo = function() {
3567
3592
  undo();
3568
3593
  };
@@ -3866,15 +3891,15 @@ function SingleBarViz(param) {
3866
3891
  }
3867
3892
  SingleBarViz.polarity = Polarity;
3868
3893
 
3869
- function _array_like_to_array$3(arr, len) {
3894
+ function _array_like_to_array$4(arr, len) {
3870
3895
  if (len == null || len > arr.length) len = arr.length;
3871
3896
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
3872
3897
  return arr2;
3873
3898
  }
3874
- function _array_with_holes$3(arr) {
3899
+ function _array_with_holes$4(arr) {
3875
3900
  if (Array.isArray(arr)) return arr;
3876
3901
  }
3877
- function _iterable_to_array_limit$3(arr, i) {
3902
+ function _iterable_to_array_limit$4(arr, i) {
3878
3903
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
3879
3904
  if (_i == null) return;
3880
3905
  var _arr = [];
@@ -3898,26 +3923,26 @@ function _iterable_to_array_limit$3(arr, i) {
3898
3923
  }
3899
3924
  return _arr;
3900
3925
  }
3901
- function _non_iterable_rest$3() {
3926
+ function _non_iterable_rest$4() {
3902
3927
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3903
3928
  }
3904
- function _sliced_to_array$3(arr, i) {
3905
- return _array_with_holes$3(arr) || _iterable_to_array_limit$3(arr, i) || _unsupported_iterable_to_array$3(arr, i) || _non_iterable_rest$3();
3929
+ function _sliced_to_array$4(arr, i) {
3930
+ return _array_with_holes$4(arr) || _iterable_to_array_limit$4(arr, i) || _unsupported_iterable_to_array$4(arr, i) || _non_iterable_rest$4();
3906
3931
  }
3907
- function _unsupported_iterable_to_array$3(o, minLen) {
3932
+ function _unsupported_iterable_to_array$4(o, minLen) {
3908
3933
  if (!o) return;
3909
- if (typeof o === "string") return _array_like_to_array$3(o, minLen);
3934
+ if (typeof o === "string") return _array_like_to_array$4(o, minLen);
3910
3935
  var n = Object.prototype.toString.call(o).slice(8, -1);
3911
3936
  if (n === "Object" && o.constructor) n = o.constructor.name;
3912
3937
  if (n === "Map" || n === "Set") return Array.from(n);
3913
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$3(o, minLen);
3938
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$4(o, minLen);
3914
3939
  }
3915
3940
  var useCombobox = function(param) {
3916
3941
  var id = param.id, filter = param.filter, onChange = param.onChange;
3917
3942
  var _Object_values;
3918
3943
  var comboBoxState = Juce.getComboBoxState(id);
3919
- var _useState = _sliced_to_array$3(useState(0), 2), value = _useState[0], setValue = _useState[1];
3920
- var _useState1 = _sliced_to_array$3(useState(comboBoxState === null || comboBoxState === void 0 ? void 0 : comboBoxState.properties), 2), properties = _useState1[0], setProperties = _useState1[1];
3944
+ var _useState = _sliced_to_array$4(useState(0), 2), value = _useState[0], setValue = _useState[1];
3945
+ var _useState1 = _sliced_to_array$4(useState(comboBoxState === null || comboBoxState === void 0 ? void 0 : comboBoxState.properties), 2), properties = _useState1[0], setProperties = _useState1[1];
3921
3946
  var _useGlobalContext = useGlobalContext(); _useGlobalContext.highlightedItemChanged; var _useGlobalContext_globalState = _useGlobalContext.globalState, automatableParamLabels = _useGlobalContext_globalState.automatableParamLabels, modSlots = _useGlobalContext_globalState.modSlots;
3922
3947
  //TODO: Filter choices for subsequent rows
3923
3948
  // const availableChoices = properties?.choices;
@@ -3981,12 +4006,12 @@ var useCombobox = function(param) {
3981
4006
  };
3982
4007
  };
3983
4008
 
3984
- function _array_like_to_array$2(arr, len) {
4009
+ function _array_like_to_array$3(arr, len) {
3985
4010
  if (len == null || len > arr.length) len = arr.length;
3986
4011
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
3987
4012
  return arr2;
3988
4013
  }
3989
- function _array_with_holes$2(arr) {
4014
+ function _array_with_holes$3(arr) {
3990
4015
  if (Array.isArray(arr)) return arr;
3991
4016
  }
3992
4017
  function _define_property$4(obj, key, value) {
@@ -4002,7 +4027,7 @@ function _define_property$4(obj, key, value) {
4002
4027
  }
4003
4028
  return obj;
4004
4029
  }
4005
- function _iterable_to_array_limit$2(arr, i) {
4030
+ function _iterable_to_array_limit$3(arr, i) {
4006
4031
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
4007
4032
  if (_i == null) return;
4008
4033
  var _arr = [];
@@ -4026,7 +4051,7 @@ function _iterable_to_array_limit$2(arr, i) {
4026
4051
  }
4027
4052
  return _arr;
4028
4053
  }
4029
- function _non_iterable_rest$2() {
4054
+ function _non_iterable_rest$3() {
4030
4055
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
4031
4056
  }
4032
4057
  function _object_spread$4(target) {
@@ -4044,22 +4069,22 @@ function _object_spread$4(target) {
4044
4069
  }
4045
4070
  return target;
4046
4071
  }
4047
- function _sliced_to_array$2(arr, i) {
4048
- return _array_with_holes$2(arr) || _iterable_to_array_limit$2(arr, i) || _unsupported_iterable_to_array$2(arr, i) || _non_iterable_rest$2();
4072
+ function _sliced_to_array$3(arr, i) {
4073
+ return _array_with_holes$3(arr) || _iterable_to_array_limit$3(arr, i) || _unsupported_iterable_to_array$3(arr, i) || _non_iterable_rest$3();
4049
4074
  }
4050
- function _unsupported_iterable_to_array$2(o, minLen) {
4075
+ function _unsupported_iterable_to_array$3(o, minLen) {
4051
4076
  if (!o) return;
4052
- if (typeof o === "string") return _array_like_to_array$2(o, minLen);
4077
+ if (typeof o === "string") return _array_like_to_array$3(o, minLen);
4053
4078
  var n = Object.prototype.toString.call(o).slice(8, -1);
4054
4079
  if (n === "Object" && o.constructor) n = o.constructor.name;
4055
4080
  if (n === "Map" || n === "Set") return Array.from(n);
4056
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
4081
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$3(o, minLen);
4057
4082
  }
4058
4083
  function ModMatrixComboboxCell(param) {
4059
4084
  var target = param.target, handleTargetChange = param.handleTargetChange, rowId = param.rowId, key = param.key, color = param.color, style = param.style;
4060
4085
  var _SingleBarViz_polarity;
4061
- var _useState = _sliced_to_array$2(useState(), 2), targetValue = _useState[0], setTargetValue = _useState[1];
4062
- var _useState1 = _sliced_to_array$2(useState(''), 2), filterString = _useState1[0], setFilterString = _useState1[1];
4086
+ var _useState = _sliced_to_array$3(useState(), 2), targetValue = _useState[0], setTargetValue = _useState[1];
4087
+ var _useState1 = _sliced_to_array$3(useState(''), 2), filterString = _useState1[0], setFilterString = _useState1[1];
4063
4088
  var _useGlobalContext = useGlobalContext(), automatableParamLabels = _useGlobalContext.globalState.automatableParamLabels;
4064
4089
  var _useCombobox = useCombobox({
4065
4090
  id: rowId,
@@ -4355,16 +4380,16 @@ function ModMatrixRow(param) {
4355
4380
  }));
4356
4381
  }
4357
4382
 
4358
- function _array_like_to_array$1(arr, len) {
4383
+ function _array_like_to_array$2(arr, len) {
4359
4384
  if (len == null || len > arr.length) len = arr.length;
4360
4385
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4361
4386
  return arr2;
4362
4387
  }
4363
- function _array_with_holes$1(arr) {
4388
+ function _array_with_holes$2(arr) {
4364
4389
  if (Array.isArray(arr)) return arr;
4365
4390
  }
4366
4391
  function _array_without_holes(arr) {
4367
- if (Array.isArray(arr)) return _array_like_to_array$1(arr);
4392
+ if (Array.isArray(arr)) return _array_like_to_array$2(arr);
4368
4393
  }
4369
4394
  function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
4370
4395
  try {
@@ -4411,7 +4436,7 @@ function _define_property$1(obj, key, value) {
4411
4436
  function _iterable_to_array(iter) {
4412
4437
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
4413
4438
  }
4414
- function _iterable_to_array_limit$1(arr, i) {
4439
+ function _iterable_to_array_limit$2(arr, i) {
4415
4440
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
4416
4441
  if (_i == null) return;
4417
4442
  var _arr = [];
@@ -4435,7 +4460,7 @@ function _iterable_to_array_limit$1(arr, i) {
4435
4460
  }
4436
4461
  return _arr;
4437
4462
  }
4438
- function _non_iterable_rest$1() {
4463
+ function _non_iterable_rest$2() {
4439
4464
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
4440
4465
  }
4441
4466
  function _non_iterable_spread() {
@@ -4456,19 +4481,19 @@ function _object_spread$1(target) {
4456
4481
  }
4457
4482
  return target;
4458
4483
  }
4459
- function _sliced_to_array$1(arr, i) {
4460
- return _array_with_holes$1(arr) || _iterable_to_array_limit$1(arr, i) || _unsupported_iterable_to_array$1(arr, i) || _non_iterable_rest$1();
4484
+ function _sliced_to_array$2(arr, i) {
4485
+ return _array_with_holes$2(arr) || _iterable_to_array_limit$2(arr, i) || _unsupported_iterable_to_array$2(arr, i) || _non_iterable_rest$2();
4461
4486
  }
4462
4487
  function _to_consumable_array(arr) {
4463
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array$1(arr) || _non_iterable_spread();
4488
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array$2(arr) || _non_iterable_spread();
4464
4489
  }
4465
- function _unsupported_iterable_to_array$1(o, minLen) {
4490
+ function _unsupported_iterable_to_array$2(o, minLen) {
4466
4491
  if (!o) return;
4467
- if (typeof o === "string") return _array_like_to_array$1(o, minLen);
4492
+ if (typeof o === "string") return _array_like_to_array$2(o, minLen);
4468
4493
  var n = Object.prototype.toString.call(o).slice(8, -1);
4469
4494
  if (n === "Object" && o.constructor) n = o.constructor.name;
4470
4495
  if (n === "Map" || n === "Set") return Array.from(n);
4471
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
4496
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
4472
4497
  }
4473
4498
  function _ts_generator$1(thisArg, body) {
4474
4499
  var f, y, t, _ = {
@@ -4565,23 +4590,22 @@ function _ts_generator$1(thisArg, body) {
4565
4590
  function ModMatrix(param) {
4566
4591
  var className = param.className, style = param.style;
4567
4592
  var _Object_keys, _Object_keys1, _Object_keys2;
4568
- var _useState = _sliced_to_array$1(useState(), 2), previewRowIsActive = _useState[0], setPreviewRowIsActive = _useState[1];
4593
+ var _useState = _sliced_to_array$2(useState(), 2), previewRowIsActive = _useState[0], setPreviewRowIsActive = _useState[1];
4569
4594
  var getAutomatableParamsListFunc = Juce.getNativeFunction('getAutomatableParamsList');
4570
4595
  var getAllModSlotsFunc = Juce.getNativeFunction('getAllModSlots');
4571
4596
  var getModSlotParamsFunc = Juce.getNativeFunction('getModSlotParams');
4572
- var getAllParametersFunc = Juce.getNativeFunction('getAllParameters');
4573
4597
  var _useGlobalContext = useGlobalContext(), automatableParamsListReceived = _useGlobalContext.automatableParamsListReceived, automatableParamLabelsReceived = _useGlobalContext.automatableParamLabelsReceived, modSlotsReceived = _useGlobalContext.modSlotsReceived, modSlotParamsListReceived = _useGlobalContext.modSlotParamsListReceived, modSlotParamLabelsReceived = _useGlobalContext.modSlotParamLabelsReceived, _useGlobalContext_globalState = _useGlobalContext.globalState, modSlotParamLabels = _useGlobalContext_globalState.modSlotParamLabels, modSlots = _useGlobalContext_globalState.modSlots;
4574
4598
  var getAPVTSParams = function() {
4575
4599
  return _async_to_generator$1(function() {
4576
- var automatableParamsList, modSlotsData, modSlotParams, ap, e;
4600
+ var automatableParamsList, modSlotsData, modSlotParams, e;
4577
4601
  return _ts_generator$1(this, function(_state) {
4578
4602
  switch(_state.label){
4579
4603
  case 0:
4580
4604
  _state.trys.push([
4581
4605
  0,
4582
- 5,
4606
+ 4,
4583
4607
  ,
4584
- 6
4608
+ 5
4585
4609
  ]);
4586
4610
  return [
4587
4611
  4,
@@ -4601,13 +4625,7 @@ function ModMatrix(param) {
4601
4625
  ];
4602
4626
  case 3:
4603
4627
  modSlotParams = _state.sent();
4604
- return [
4605
- 4,
4606
- getAllParametersFunc()
4607
- ];
4608
- case 4:
4609
- ap = _state.sent();
4610
- console.log(ap, 'apapapapappa');
4628
+ // const ap = await getAllParametersFunc();
4611
4629
  automatableParamsListReceived(automatableParamsList === null || automatableParamsList === void 0 ? void 0 : automatableParamsList[0]);
4612
4630
  automatableParamLabelsReceived(automatableParamsList === null || automatableParamsList === void 0 ? void 0 : automatableParamsList[1]);
4613
4631
  modSlotsReceived(modSlotsData || []);
@@ -4615,16 +4633,16 @@ function ModMatrix(param) {
4615
4633
  modSlotParamLabelsReceived(modSlotParams === null || modSlotParams === void 0 ? void 0 : modSlotParams[1]);
4616
4634
  return [
4617
4635
  3,
4618
- 6
4636
+ 5
4619
4637
  ];
4620
- case 5:
4638
+ case 4:
4621
4639
  e = _state.sent();
4622
4640
  console.log(e);
4623
4641
  return [
4624
4642
  3,
4625
- 6
4643
+ 5
4626
4644
  ];
4627
- case 6:
4645
+ case 5:
4628
4646
  return [
4629
4647
  2
4630
4648
  ];
@@ -4729,7 +4747,65 @@ function ModMatrix(param) {
4729
4747
  })));
4730
4748
  }
4731
4749
 
4732
- function LFOTab() {
4750
+ function _array_like_to_array$1(arr, len) {
4751
+ if (len == null || len > arr.length) len = arr.length;
4752
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4753
+ return arr2;
4754
+ }
4755
+ function _array_with_holes$1(arr) {
4756
+ if (Array.isArray(arr)) return arr;
4757
+ }
4758
+ function _iterable_to_array_limit$1(arr, i) {
4759
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
4760
+ if (_i == null) return;
4761
+ var _arr = [];
4762
+ var _n = true;
4763
+ var _d = false;
4764
+ var _s, _e;
4765
+ try {
4766
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
4767
+ _arr.push(_s.value);
4768
+ if (i && _arr.length === i) break;
4769
+ }
4770
+ } catch (err) {
4771
+ _d = true;
4772
+ _e = err;
4773
+ } finally{
4774
+ try {
4775
+ if (!_n && _i["return"] != null) _i["return"]();
4776
+ } finally{
4777
+ if (_d) throw _e;
4778
+ }
4779
+ }
4780
+ return _arr;
4781
+ }
4782
+ function _non_iterable_rest$1() {
4783
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
4784
+ }
4785
+ function _sliced_to_array$1(arr, i) {
4786
+ return _array_with_holes$1(arr) || _iterable_to_array_limit$1(arr, i) || _unsupported_iterable_to_array$1(arr, i) || _non_iterable_rest$1();
4787
+ }
4788
+ function _unsupported_iterable_to_array$1(o, minLen) {
4789
+ if (!o) return;
4790
+ if (typeof o === "string") return _array_like_to_array$1(o, minLen);
4791
+ var n = Object.prototype.toString.call(o).slice(8, -1);
4792
+ if (n === "Object" && o.constructor) n = o.constructor.name;
4793
+ if (n === "Map" || n === "Set") return Array.from(n);
4794
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
4795
+ }
4796
+ function LFO(param) {
4797
+ var id = param.id;
4798
+ var _useState = _sliced_to_array$1(useState(0), 2), syncType = _useState[0], setSyncType = _useState[1];
4799
+ useEffect(function() {
4800
+ var _Juce_getSliderState;
4801
+ var syncType = (_Juce_getSliderState = Juce.getSliderState("LFO".concat(id, "_SyncType"))) === null || _Juce_getSliderState === void 0 ? void 0 : _Juce_getSliderState.scaledValue;
4802
+ setSyncType(syncType);
4803
+ }, [
4804
+ window
4805
+ ]);
4806
+ var handleSyncTypeChange = function(value) {
4807
+ setSyncType(value);
4808
+ };
4733
4809
  return /*#__PURE__*/ React__default.createElement(Box, {
4734
4810
  className: "LFOTab",
4735
4811
  flexDirection: Box.flexDirection.column
@@ -4739,97 +4815,62 @@ function LFOTab() {
4739
4815
  }, /*#__PURE__*/ React__default.createElement(Dropdown, {
4740
4816
  labelColor: "var(--color-text)",
4741
4817
  color: "var(--color-brand)",
4742
- id: "LFO1_Wave",
4743
- label: "LFO1 Wave"
4744
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4745
- id: "LFO1_Hz",
4746
- label: "LFO1 Hz"
4747
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4748
- id: "LFO1_Hz_Hi",
4749
- label: "LFO1 Hz Hi"
4750
- }), /*#__PURE__*/ React__default.createElement(Dropdown, {
4751
- labelColor: "var(--color-text)",
4752
- color: "var(--color-brand)",
4753
- id: "LFO1_SyncRate",
4754
- label: "LFO1 Sync Rate"
4755
- }), /*#__PURE__*/ React__default.createElement(Dropdown, {
4818
+ id: "LFO".concat(id, "_SyncType"),
4819
+ label: "LFO".concat(id, " Sync Type"),
4820
+ onChange: handleSyncTypeChange
4821
+ }), /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, syncType === 0 ? /*#__PURE__*/ React__default.createElement(RotarySlider, {
4822
+ id: "LFO".concat(id, "_Hz"),
4823
+ label: "LFO".concat(id, " Hz")
4824
+ }) : null, syncType === 1 ? /*#__PURE__*/ React__default.createElement(RotarySlider, {
4825
+ id: "LFO".concat(id, "_Hz_Hi"),
4826
+ label: "LFO".concat(id, " Hz Hi")
4827
+ }) : null, syncType === 2 ? /*#__PURE__*/ React__default.createElement(Dropdown, {
4756
4828
  labelColor: "var(--color-text)",
4757
4829
  color: "var(--color-brand)",
4758
- id: "LFO1_SyncType",
4759
- label: "LFO1 Sync Type"
4760
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4761
- id: "LFO1_Sixteenths",
4762
- label: "LFO1 Sixteenths"
4763
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4764
- id: "LFO1_Thirds",
4765
- label: "LFO1 Thirds"
4766
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4830
+ id: "LFO".concat(id, "_SyncRate"),
4831
+ label: "LFO".concat(id, " Sync Rate")
4832
+ }) : null, syncType === 3 ? /*#__PURE__*/ React__default.createElement(RotarySlider, {
4833
+ id: "LFO".concat(id, "_Thirds"),
4834
+ label: "LFO".concat(id, " Thirds")
4835
+ }) : null, syncType === 4 ? /*#__PURE__*/ React__default.createElement(RotarySlider, {
4836
+ id: "LFO".concat(id, "_Sixteenths"),
4837
+ label: "LFO".concat(id, " Sixteenths")
4838
+ }) : null), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4767
4839
  polarity: RotarySlider.sliderPolarity.bipolar,
4768
- id: "LFO1_Sync_Offset",
4769
- label: "LFO1 Sync Offset"
4840
+ id: "LFO".concat(id, "_Sync_Offset"),
4841
+ label: "LFO".concat(id, " Sync Offset")
4770
4842
  }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4771
4843
  polarity: RotarySlider.sliderPolarity.bipolar,
4772
- id: "LFO1_Phase",
4773
- label: "LFO1 Phase"
4774
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4775
- id: "LFO1_Width",
4776
- label: "LFO1 Width"
4777
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4778
- id: "LFO1_Amp",
4779
- label: "LFO1 Amp"
4780
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4781
- id: "LFO1_Rand",
4782
- label: "LFO1 Rand"
4783
- })), /*#__PURE__*/ React__default.createElement(Box, {
4784
- alignItems: Box.alignItems.flexEnd,
4785
- justifyContent: Box.justifyContent.spaceEvenly
4786
- }, /*#__PURE__*/ React__default.createElement(Dropdown, {
4787
- labelColor: "var(--color-text)",
4788
- color: "var(--color-brand)",
4789
- id: "LFO2_Wave",
4790
- label: "LFO2 Wave"
4791
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4792
- id: "LFO2_Hz",
4793
- label: "LFO2 Hz"
4794
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4795
- id: "LFO2_Hz_Hi",
4796
- label: "LFO2 Hz Hi"
4797
- }), /*#__PURE__*/ React__default.createElement(Dropdown, {
4798
- labelColor: "var(--color-text)",
4799
- color: "var(--color-brand)",
4800
- id: "LFO2_SyncRate",
4801
- label: "LFO2 Sync Rate"
4844
+ id: "LFO".concat(id, "_Phase"),
4845
+ label: "LFO".concat(id, " Phase")
4802
4846
  }), /*#__PURE__*/ React__default.createElement(Dropdown, {
4803
4847
  labelColor: "var(--color-text)",
4804
4848
  color: "var(--color-brand)",
4805
- id: "LFO2_SyncType",
4806
- label: "LFO2 Sync Type"
4807
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4808
- id: "LFO2_Sixteenths",
4809
- label: "LFO2 Sixteenths"
4810
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4811
- id: "LFO2_Thirds",
4812
- label: "LFO2 Thirds"
4813
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4814
- polarity: RotarySlider.sliderPolarity.bipolar,
4815
- id: "LFO2_Sync_Offset",
4816
- label: "LFO2 Sync Offset"
4817
- }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4818
- polarity: RotarySlider.sliderPolarity.bipolar,
4819
- id: "LFO2_Phase",
4820
- label: "LFO2 Phase"
4849
+ id: "LFO".concat(id, "_Wave"),
4850
+ label: "LFO".concat(id, " Wave")
4821
4851
  }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4822
- id: "LFO2_Width",
4823
- label: "LFO2 Width"
4852
+ id: "LFO".concat(id, "_Width"),
4853
+ label: "LFO".concat(id, " Width")
4824
4854
  }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4825
- id: "LFO2_Amp",
4826
- label: "LFO2 Amp"
4855
+ id: "LFO".concat(id, "_Amp"),
4856
+ label: "LFO".concat(id, " Amp")
4827
4857
  }), /*#__PURE__*/ React__default.createElement(RotarySlider, {
4828
- id: "LFO2_Rand",
4829
- label: "LFO2 Rand"
4858
+ id: "LFO".concat(id, "_Rand"),
4859
+ label: "LFO".concat(id, " Rand")
4830
4860
  })));
4831
4861
  }
4832
4862
 
4863
+ function LFOTab() {
4864
+ return /*#__PURE__*/ React__default.createElement(Box, {
4865
+ className: "LFOTab",
4866
+ flexDirection: Box.flexDirection.column
4867
+ }, /*#__PURE__*/ React__default.createElement(LFO, {
4868
+ id: 1
4869
+ }), /*#__PURE__*/ React__default.createElement(LFO, {
4870
+ id: 2
4871
+ }));
4872
+ }
4873
+
4833
4874
  var css_248z = "/* Tab styles */\n/* TODO: Refactor to use utility classes? */\n/* TODO: Clean up */\n\n.ModuleFooter {\n overflow-y: scroll;\n}\n\n.ModuleFooter .Tabs-item {\n background: transparent;\n color: var(--color-text);\n font-family: var(--font-leagueSpartan);\n background: var(--color-gray-600);\n flex: 1 0 auto;\n}\n\n.ModuleFooter .Tabs-item:hover,\n.ModuleFooter .tabs-item:focus,\n.ModuleFooter .tabs-item:focus-visible {\n background: var(--color-gray-700);\n}\n\n.ModuleFooter .Tabs-item[data-headlessui-state='selected'],\n.ModuleFooter .Tabs-item[data-headlessui-state='selected focus'] {\n background: var(--color-gray-700);\n}\n";
4834
4875
  styleInject(css_248z);
4835
4876