@fxhash/params 0.0.9 → 0.0.10

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 (136) hide show
  1. package/README.md +2 -2
  2. package/dist/BaseInput.cjs +2 -2
  3. package/dist/BaseInput.css +24 -24
  4. package/dist/BaseInput.css.map +1 -1
  5. package/dist/BaseInput.js +1 -1
  6. package/dist/Context.cjs +2 -2
  7. package/dist/Context.js +1 -1
  8. package/dist/Controller/BigInt.cjs +5 -5
  9. package/dist/Controller/BigInt.css +48 -48
  10. package/dist/Controller/BigInt.css.map +1 -1
  11. package/dist/Controller/BigInt.js +4 -4
  12. package/dist/Controller/Boolean.cjs +4 -4
  13. package/dist/Controller/Boolean.css +48 -48
  14. package/dist/Controller/Boolean.css.map +1 -1
  15. package/dist/Controller/Boolean.js +3 -3
  16. package/dist/Controller/Bytes.cjs +4 -4
  17. package/dist/Controller/Bytes.css +49 -49
  18. package/dist/Controller/Bytes.css.map +1 -1
  19. package/dist/Controller/Bytes.js +3 -3
  20. package/dist/Controller/Color.cjs +5 -5
  21. package/dist/Controller/Color.css +58 -58
  22. package/dist/Controller/Color.css.map +1 -1
  23. package/dist/Controller/Color.js +4 -4
  24. package/dist/Controller/Controller.cjs +3 -3
  25. package/dist/Controller/Controller.css +48 -48
  26. package/dist/Controller/Controller.css.map +1 -1
  27. package/dist/Controller/Controller.js +2 -2
  28. package/dist/Controller/Invalid.cjs +2 -2
  29. package/dist/Controller/Invalid.css +9 -9
  30. package/dist/Controller/Invalid.css.map +1 -1
  31. package/dist/Controller/Invalid.js +1 -1
  32. package/dist/Controller/Number.cjs +4 -4
  33. package/dist/Controller/Number.css +48 -48
  34. package/dist/Controller/Number.css.map +1 -1
  35. package/dist/Controller/Number.js +3 -3
  36. package/dist/Controller/Param.cjs +13 -13
  37. package/dist/Controller/Param.css +68 -68
  38. package/dist/Controller/Param.css.map +1 -1
  39. package/dist/Controller/Param.js +12 -12
  40. package/dist/Controller/Select.cjs +4 -4
  41. package/dist/Controller/Select.css +48 -48
  42. package/dist/Controller/Select.css.map +1 -1
  43. package/dist/Controller/Select.js +3 -3
  44. package/dist/Controller/String.cjs +4 -4
  45. package/dist/Controller/String.css +48 -48
  46. package/dist/Controller/String.css.map +1 -1
  47. package/dist/Controller/String.js +3 -3
  48. package/dist/Controls.cjs +19 -19
  49. package/dist/Controls.cjs.map +1 -1
  50. package/dist/Controls.css +72 -72
  51. package/dist/Controls.css.map +1 -1
  52. package/dist/Controls.js +15 -15
  53. package/dist/Controls.js.map +1 -1
  54. package/dist/LockButton/LockButton.cjs +3 -3
  55. package/dist/LockButton/LockButton.css +25 -25
  56. package/dist/LockButton/LockButton.css.map +1 -1
  57. package/dist/LockButton/LockButton.js +2 -2
  58. package/dist/ParamsHistory.cjs +4 -4
  59. package/dist/ParamsHistory.cjs.map +1 -1
  60. package/dist/ParamsHistory.js +2 -2
  61. package/dist/ParamsHistory.js.map +1 -1
  62. package/dist/RuntimeContext.cjs +3 -3
  63. package/dist/RuntimeContext.js +2 -2
  64. package/dist/{chunk-CE3TPOSO.js → chunk-2SARESCF.js} +8 -8
  65. package/dist/{chunk-CE3TPOSO.js.map → chunk-2SARESCF.js.map} +1 -1
  66. package/dist/{chunk-D4RVVQC7.cjs → chunk-2XWOWIXK.cjs} +3 -3
  67. package/dist/{chunk-YXDLGCFJ.cjs → chunk-3OF5LR4Y.cjs} +17 -17
  68. package/dist/chunk-3OF5LR4Y.cjs.map +1 -0
  69. package/dist/{chunk-VED7SCYX.cjs → chunk-3QFEC7SK.cjs} +4 -4
  70. package/dist/{chunk-VED7SCYX.cjs.map → chunk-3QFEC7SK.cjs.map} +1 -1
  71. package/dist/{chunk-ZG3OT7LF.js → chunk-4OKETOHR.js} +11 -11
  72. package/dist/chunk-4OKETOHR.js.map +1 -0
  73. package/dist/{chunk-FZWZHHQ2.js → chunk-7H32FZ35.js} +14 -8
  74. package/dist/chunk-7H32FZ35.js.map +1 -0
  75. package/dist/{chunk-C6GTVBY6.cjs → chunk-AMJCUB2I.cjs} +7 -7
  76. package/dist/{chunk-2BHABOFI.js → chunk-BEDRMOBJ.js} +6 -6
  77. package/dist/{chunk-2BHABOFI.js.map → chunk-BEDRMOBJ.js.map} +1 -1
  78. package/dist/{chunk-OFUKQ2TB.cjs → chunk-CVLSVTCX.cjs} +6 -6
  79. package/dist/{chunk-OFUKQ2TB.cjs.map → chunk-CVLSVTCX.cjs.map} +1 -1
  80. package/dist/{chunk-PTXBICTZ.js → chunk-GDSG5VLX.js} +6 -6
  81. package/dist/{chunk-PTXBICTZ.js.map → chunk-GDSG5VLX.js.map} +1 -1
  82. package/dist/{chunk-P77D7XSP.js → chunk-GXCX5YCI.js} +3 -3
  83. package/dist/{chunk-2QIAF3U7.js → chunk-HIC6NEI2.js} +3 -3
  84. package/dist/{chunk-2QIAF3U7.js.map → chunk-HIC6NEI2.js.map} +1 -1
  85. package/dist/{chunk-Z7K2LNS2.js → chunk-JSFJKANM.js} +2 -2
  86. package/dist/chunk-JSFJKANM.js.map +1 -0
  87. package/dist/{chunk-JAU4ONF2.cjs → chunk-K22KNCGR.cjs} +3 -3
  88. package/dist/{chunk-LX23UR4X.cjs → chunk-K6UPSPM5.cjs} +4 -4
  89. package/dist/chunk-K6UPSPM5.cjs.map +1 -0
  90. package/dist/{chunk-TKKYM77A.cjs → chunk-LTIGECX6.cjs} +4 -4
  91. package/dist/{chunk-QDLMFMLL.cjs → chunk-LVN3UGUH.cjs} +14 -8
  92. package/dist/chunk-LVN3UGUH.cjs.map +1 -0
  93. package/dist/{chunk-HJBHIE5T.cjs → chunk-M7HJ2CKM.cjs} +9 -9
  94. package/dist/{chunk-HJBHIE5T.cjs.map → chunk-M7HJ2CKM.cjs.map} +1 -1
  95. package/dist/{chunk-YYEIYDDF.js → chunk-NBDFYP3Y.js} +2 -2
  96. package/dist/{chunk-6VMIOQSE.js → chunk-SOEAQVIE.js} +3 -3
  97. package/dist/{chunk-6VMIOQSE.js.map → chunk-SOEAQVIE.js.map} +1 -1
  98. package/dist/{chunk-QM6EKPI6.cjs → chunk-TQGOPELV.cjs} +6 -6
  99. package/dist/chunk-TQGOPELV.cjs.map +1 -0
  100. package/dist/{chunk-K4EW6YY3.cjs → chunk-WHVPVEYH.cjs} +5 -5
  101. package/dist/chunk-WHVPVEYH.cjs.map +1 -0
  102. package/dist/{chunk-57UENWLF.js → chunk-X4GS3I5P.js} +9 -9
  103. package/dist/chunk-X4GS3I5P.js.map +1 -0
  104. package/dist/{chunk-4OV7OX5A.js → chunk-XYWE6TCQ.js} +3 -3
  105. package/dist/{chunk-4OV7OX5A.js.map → chunk-XYWE6TCQ.js.map} +1 -1
  106. package/dist/{chunk-KZMSUHQX.cjs → chunk-YLZI7BR5.cjs} +16 -16
  107. package/dist/chunk-YLZI7BR5.cjs.map +1 -0
  108. package/dist/{chunk-H5IMTNFG.js → chunk-YNPYJVNU.js} +2 -2
  109. package/dist/{chunk-X4O42D2P.cjs → chunk-Z5Z6AKH7.cjs} +4 -4
  110. package/dist/{chunk-X4O42D2P.cjs.map → chunk-Z5Z6AKH7.cjs.map} +1 -1
  111. package/dist/{chunk-YOS2HCIS.js → chunk-ZALRIFOG.js} +2 -2
  112. package/dist/index.cjs +2 -2
  113. package/dist/index.css +24 -24
  114. package/dist/index.css.map +1 -1
  115. package/dist/index.js +1 -1
  116. package/dist/utils.cjs +2 -2
  117. package/dist/utils.js +1 -1
  118. package/package.json +4 -5
  119. package/dist/chunk-57UENWLF.js.map +0 -1
  120. package/dist/chunk-FZWZHHQ2.js.map +0 -1
  121. package/dist/chunk-K4EW6YY3.cjs.map +0 -1
  122. package/dist/chunk-KZMSUHQX.cjs.map +0 -1
  123. package/dist/chunk-LX23UR4X.cjs.map +0 -1
  124. package/dist/chunk-QDLMFMLL.cjs.map +0 -1
  125. package/dist/chunk-QM6EKPI6.cjs.map +0 -1
  126. package/dist/chunk-YXDLGCFJ.cjs.map +0 -1
  127. package/dist/chunk-Z7K2LNS2.js.map +0 -1
  128. package/dist/chunk-ZG3OT7LF.js.map +0 -1
  129. /package/dist/{chunk-D4RVVQC7.cjs.map → chunk-2XWOWIXK.cjs.map} +0 -0
  130. /package/dist/{chunk-C6GTVBY6.cjs.map → chunk-AMJCUB2I.cjs.map} +0 -0
  131. /package/dist/{chunk-P77D7XSP.js.map → chunk-GXCX5YCI.js.map} +0 -0
  132. /package/dist/{chunk-JAU4ONF2.cjs.map → chunk-K22KNCGR.cjs.map} +0 -0
  133. /package/dist/{chunk-TKKYM77A.cjs.map → chunk-LTIGECX6.cjs.map} +0 -0
  134. /package/dist/{chunk-YYEIYDDF.js.map → chunk-NBDFYP3Y.js.map} +0 -0
  135. /package/dist/{chunk-H5IMTNFG.js.map → chunk-YNPYJVNU.js.map} +0 -0
  136. /package/dist/{chunk-YOS2HCIS.js.map → chunk-ZALRIFOG.js.map} +0 -0
package/dist/Controls.cjs CHANGED
@@ -1,34 +1,34 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkYXDLGCFJcjs = require('./chunk-YXDLGCFJ.cjs');
4
- require('./chunk-TKKYM77A.cjs');
5
- require('./chunk-K4EW6YY3.cjs');
6
- require('./chunk-JAU4ONF2.cjs');
3
+ var _chunk3OF5LR4Ycjs = require('./chunk-3OF5LR4Y.cjs');
4
+ require('./chunk-LTIGECX6.cjs');
5
+ require('./chunk-WHVPVEYH.cjs');
6
+ require('./chunk-K22KNCGR.cjs');
7
7
 
8
8
 
9
- var _chunkX4O42D2Pcjs = require('./chunk-X4O42D2P.cjs');
9
+ var _chunkZ5Z6AKH7cjs = require('./chunk-Z5Z6AKH7.cjs');
10
10
 
11
11
 
12
12
  var _chunkEACKNC6Ccjs = require('./chunk-EACKNC6C.cjs');
13
- require('./chunk-C6GTVBY6.cjs');
14
- require('./chunk-D4RVVQC7.cjs');
15
- require('./chunk-VED7SCYX.cjs');
16
- require('./chunk-KZMSUHQX.cjs');
17
- require('./chunk-HJBHIE5T.cjs');
18
- require('./chunk-QM6EKPI6.cjs');
13
+ require('./chunk-AMJCUB2I.cjs');
14
+ require('./chunk-2XWOWIXK.cjs');
15
+ require('./chunk-3QFEC7SK.cjs');
16
+ require('./chunk-YLZI7BR5.cjs');
17
+ require('./chunk-M7HJ2CKM.cjs');
18
+ require('./chunk-TQGOPELV.cjs');
19
19
 
20
20
 
21
21
 
22
- var _chunkQDLMFMLLcjs = require('./chunk-QDLMFMLL.cjs');
23
- require('./chunk-OFUKQ2TB.cjs');
22
+ var _chunkLVN3UGUHcjs = require('./chunk-LVN3UGUH.cjs');
23
+ require('./chunk-CVLSVTCX.cjs');
24
24
 
25
25
  // src/Controls.tsx
26
26
  var _react = require('react');
27
27
 
28
28
  // src/Controls.module.scss
29
29
  var Controls_module_default = {
30
- "controls": "_controls_25wa3_1",
31
- "blade": "_blade_25wa3_8"
30
+ "controls": "_controls_10c1n_1",
31
+ "blade": "_blade_10c1n_8"
32
32
  };
33
33
 
34
34
  // src/Controls.tsx
@@ -42,7 +42,7 @@ function ControllerBlade(props) {
42
42
  const isValid = _react.useMemo.call(void 0, () => parsed && parsed.success, [parsed]);
43
43
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: Controls_module_default.blade, children: [
44
44
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45
- _chunkYXDLGCFJcjs.ParameterController,
45
+ _chunk3OF5LR4Ycjs.ParameterController,
46
46
  {
47
47
  parameter,
48
48
  value: parameter.value,
@@ -50,7 +50,7 @@ function ControllerBlade(props) {
50
50
  }
51
51
  ),
52
52
  onClickLockButton && isValid && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
53
- _chunkX4O42D2Pcjs.LockButton,
53
+ _chunkZ5Z6AKH7cjs.LockButton,
54
54
  {
55
55
  className: Controls_module_default.lockButton,
56
56
  title: `toggle lock ${parameter.id} param`,
@@ -67,7 +67,7 @@ var Controls = ({
67
67
  lockedParamIds,
68
68
  onChangeData
69
69
  }) => {
70
- const consolidatedParams = _chunkQDLMFMLLcjs.consolidateParams.call(void 0, params, data);
70
+ const consolidatedParams = _chunkLVN3UGUHcjs.consolidateParams.call(void 0, params, data);
71
71
  const p = _react.createRef.call(void 0, );
72
72
  _react.useEffect.call(void 0, () => {
73
73
  const ps = {};
@@ -75,7 +75,7 @@ var Controls = ({
75
75
  consolidatedParams.forEach((p2) => {
76
76
  ps[p2.id] = p2.value;
77
77
  });
78
- if (_chunkQDLMFMLLcjs.stringifyParamsData.call(void 0, data) !== _chunkQDLMFMLLcjs.stringifyParamsData.call(void 0, ps))
78
+ if (_chunkLVN3UGUHcjs.stringifyParamsData.call(void 0, data) !== _chunkLVN3UGUHcjs.stringifyParamsData.call(void 0, ps))
79
79
  onChangeData(ps);
80
80
  }
81
81
  }, [params]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Controls.tsx","../src/Controls.module.scss"],"names":["p"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,WAAW,eAAyB;;;ACAZ,IAAO,0BAAQ;AAAA,EACzD,YAAY;AAAA,EACZ,SAAS;AACX;;;ADqBI,SACE,KADF;AARJ,SAAS,gBAAgB,OAA6B;AACpD,QAAM,EAAE,WAAW,mBAAmB,gBAAgB,cAAc,IAAI;AACxE,QAAM,SAAS;AAAA,IACb,MAAM,4BAA4B,SAAS;AAAA,IAC3C,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,UAAU,QAAQ,MAAM,UAAU,OAAO,SAAS,CAAC,MAAM,CAAC;AAChE,SACE,qBAAC,SAAI,WAAW,wBAAQ,OACtB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO,UAAU;AAAA,QACjB,UAAU;AAAA;AAAA,IACZ;AAAA,IACC,qBAAqB,WACpB;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,wBAAQ;AAAA,QACnB,OAAO,eAAe,UAAU;AAAA,QAChC,UAAU,gBAAgB,SAAS,UAAU,EAAE;AAAA,QAC/C,SAAS,CAAC,MAAM,kBAAkB,UAAU,EAAE;AAAA;AAAA,IAChD;AAAA,KAEJ;AAEJ;AAkBO,IAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqB;AACnB,QAAM,qBAAqB,kBAAkB,QAAQ,IAAI;AAEzD,QAAM,IAAqC,UAAU;AAErD,YAAU,MAAM;AACd,UAAM,KAAU,CAAC;AACjB,QAAI,oBAAoB,SAAS,GAAG;AAClC,yBAAmB,QAAQ,CAACA,OAAW;AACrC,WAAGA,GAAE,EAAE,IAAIA,GAAE;AAAA,MACf,CAAC;AACD,UAAI,oBAAoB,IAAI,MAAM,oBAAoB,EAAE;AACtD,qBAAa,EAAE;AAAA,IACnB;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,oBAAoB,CAAC,IAAY,UAAe;AACpD,UAAM,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM;AACvC,iBAAa,SAAS,EAAE,IAAI,MAAM,CAAC;AAAA,EACrC;AAEA,SACE,oBAAC,SAAI,WAAW,wBAAQ,UAAU,KAAK,GACpC,8BAAoB,IAAI,CAACA,OAAW;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,WAAWA;AAAA,QACX,eAAe;AAAA,QACf;AAAA,QACA;AAAA;AAAA,MAJKA,GAAE;AAAA,IAKT;AAAA,EAEJ,CAAC,GACH;AAEJ","sourcesContent":["import { createRef, useEffect, useMemo, useState } from \"react\"\nimport { consolidateParams } from \"utils\"\nimport { ParameterController } from \"./Controller/Param\"\nimport { LockButton } from \"./LockButton/LockButton\"\nimport classes from \"./Controls.module.scss\"\nimport { validateParameterDefinition } from \"./validation\"\nimport { stringifyParamsData } from \"./utils\"\nimport { FxParamType, FxParamTypeMap } from \"./types.js\"\n\ninterface ControllerBladeProps {\n parameter: any\n onClickLockButton?: (id: string) => void\n lockedParamIds?: string[]\n onChangeParam: (id: string, value: any) => void\n}\n\nfunction ControllerBlade(props: ControllerBladeProps) {\n const { parameter, onClickLockButton, lockedParamIds, onChangeParam } = props\n const parsed = useMemo(\n () => validateParameterDefinition(parameter),\n [parameter]\n )\n const isValid = useMemo(() => parsed && parsed.success, [parsed])\n return (\n <div className={classes.blade}>\n <ParameterController\n parameter={parameter}\n value={parameter.value}\n onChange={onChangeParam}\n />\n {onClickLockButton && isValid && (\n <LockButton\n className={classes.lockButton}\n title={`toggle lock ${parameter.id} param`}\n isLocked={lockedParamIds?.includes(parameter.id)}\n onClick={(e) => onClickLockButton(parameter.id)}\n />\n )}\n </div>\n )\n}\n\nexport type ControlsOnChangeDataHandler = (\n newData: Record<string, any>,\n changedParam?: {\n id: string\n value: FxParamTypeMap[FxParamType]\n }\n) => void\n\ninterface ControlsProps {\n params: any\n onClickLockButton?: (id: string) => void\n lockedParamIds?: string[]\n onChangeData: ControlsOnChangeDataHandler\n data: Record<string, any>\n}\n\nexport const Controls = ({\n params,\n data,\n onClickLockButton,\n lockedParamIds,\n onChangeData,\n}: ControlsProps) => {\n const consolidatedParams = consolidateParams(params, data)\n\n const p: React.RefObject<HTMLDivElement> = createRef()\n\n useEffect(() => {\n const ps: any = {}\n if (consolidatedParams?.length > 0) {\n consolidatedParams.forEach((p: any) => {\n ps[p.id] = p.value\n })\n if (stringifyParamsData(data) !== stringifyParamsData(ps))\n onChangeData(ps)\n }\n }, [params])\n\n const handleChangeParam = (id: string, value: any) => {\n const newData = { ...data, [id]: value }\n onChangeData(newData, { id, value })\n }\n\n return (\n <div className={classes.controls} ref={p}>\n {consolidatedParams?.map((p: any) => {\n return (\n <ControllerBlade\n key={p.id}\n parameter={p}\n onChangeParam={handleChangeParam}\n lockedParamIds={lockedParamIds}\n onClickLockButton={onClickLockButton}\n />\n )\n })}\n </div>\n )\n}\n","import 'css-chunk:src/Controls.module.scss';export default {\n \"controls\": \"_controls_25wa3_1\",\n \"blade\": \"_blade_25wa3_8\"\n};"]}
1
+ {"version":3,"sources":["../src/Controls.tsx","../src/Controls.module.scss"],"names":["p"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,WAAW,eAAyB;;;ACAZ,IAAO,0BAAQ;AAAA,EACzD,YAAY;AAAA,EACZ,SAAS;AACX;;;ADqBI,SACE,KADF;AARJ,SAAS,gBAAgB,OAA6B;AACpD,QAAM,EAAE,WAAW,mBAAmB,gBAAgB,cAAc,IAAI;AACxE,QAAM,SAAS;AAAA,IACb,MAAM,4BAA4B,SAAS;AAAA,IAC3C,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,UAAU,QAAQ,MAAM,UAAU,OAAO,SAAS,CAAC,MAAM,CAAC;AAChE,SACE,qBAAC,SAAI,WAAW,wBAAQ,OACtB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO,UAAU;AAAA,QACjB,UAAU;AAAA;AAAA,IACZ;AAAA,IACC,qBAAqB,WACpB;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,wBAAQ;AAAA,QACnB,OAAO,eAAe,UAAU;AAAA,QAChC,UAAU,gBAAgB,SAAS,UAAU,EAAE;AAAA,QAC/C,SAAS,OAAK,kBAAkB,UAAU,EAAE;AAAA;AAAA,IAC9C;AAAA,KAEJ;AAEJ;AAkBO,IAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqB;AACnB,QAAM,qBAAqB,kBAAkB,QAAQ,IAAI;AAEzD,QAAM,IAAqC,UAAU;AAErD,YAAU,MAAM;AACd,UAAM,KAAU,CAAC;AACjB,QAAI,oBAAoB,SAAS,GAAG;AAClC,yBAAmB,QAAQ,CAACA,OAAW;AACrC,WAAGA,GAAE,EAAE,IAAIA,GAAE;AAAA,MACf,CAAC;AACD,UAAI,oBAAoB,IAAI,MAAM,oBAAoB,EAAE;AACtD,qBAAa,EAAE;AAAA,IACnB;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,oBAAoB,CAAC,IAAY,UAAe;AACpD,UAAM,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM;AACvC,iBAAa,SAAS,EAAE,IAAI,MAAM,CAAC;AAAA,EACrC;AAEA,SACE,oBAAC,SAAI,WAAW,wBAAQ,UAAU,KAAK,GACpC,8BAAoB,IAAI,CAACA,OAAW;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,WAAWA;AAAA,QACX,eAAe;AAAA,QACf;AAAA,QACA;AAAA;AAAA,MAJKA,GAAE;AAAA,IAKT;AAAA,EAEJ,CAAC,GACH;AAEJ","sourcesContent":["import { createRef, useEffect, useMemo, useState } from \"react\"\nimport { consolidateParams } from \"utils\"\nimport { ParameterController } from \"./Controller/Param\"\nimport { LockButton } from \"./LockButton/LockButton\"\nimport classes from \"./Controls.module.scss\"\nimport { validateParameterDefinition } from \"./validation\"\nimport { stringifyParamsData } from \"./utils\"\nimport { FxParamType, FxParamTypeMap } from \"./types.js\"\n\ninterface ControllerBladeProps {\n parameter: any\n onClickLockButton?: (id: string) => void\n lockedParamIds?: string[]\n onChangeParam: (id: string, value: any) => void\n}\n\nfunction ControllerBlade(props: ControllerBladeProps) {\n const { parameter, onClickLockButton, lockedParamIds, onChangeParam } = props\n const parsed = useMemo(\n () => validateParameterDefinition(parameter),\n [parameter]\n )\n const isValid = useMemo(() => parsed && parsed.success, [parsed])\n return (\n <div className={classes.blade}>\n <ParameterController\n parameter={parameter}\n value={parameter.value}\n onChange={onChangeParam}\n />\n {onClickLockButton && isValid && (\n <LockButton\n className={classes.lockButton}\n title={`toggle lock ${parameter.id} param`}\n isLocked={lockedParamIds?.includes(parameter.id)}\n onClick={e => onClickLockButton(parameter.id)}\n />\n )}\n </div>\n )\n}\n\nexport type ControlsOnChangeDataHandler = (\n newData: Record<string, any>,\n changedParam?: {\n id: string\n value: FxParamTypeMap[FxParamType]\n }\n) => void\n\ninterface ControlsProps {\n params: any\n onClickLockButton?: (id: string) => void\n lockedParamIds?: string[]\n onChangeData: ControlsOnChangeDataHandler\n data: Record<string, any>\n}\n\nexport const Controls = ({\n params,\n data,\n onClickLockButton,\n lockedParamIds,\n onChangeData,\n}: ControlsProps) => {\n const consolidatedParams = consolidateParams(params, data)\n\n const p: React.RefObject<HTMLDivElement> = createRef()\n\n useEffect(() => {\n const ps: any = {}\n if (consolidatedParams?.length > 0) {\n consolidatedParams.forEach((p: any) => {\n ps[p.id] = p.value\n })\n if (stringifyParamsData(data) !== stringifyParamsData(ps))\n onChangeData(ps)\n }\n }, [params])\n\n const handleChangeParam = (id: string, value: any) => {\n const newData = { ...data, [id]: value }\n onChangeData(newData, { id, value })\n }\n\n return (\n <div className={classes.controls} ref={p}>\n {consolidatedParams?.map((p: any) => {\n return (\n <ControllerBlade\n key={p.id}\n parameter={p}\n onChangeParam={handleChangeParam}\n lockedParamIds={lockedParamIds}\n onClickLockButton={onClickLockButton}\n />\n )\n })}\n </div>\n )\n}\n","import 'css-chunk:src/Controls.module.scss';export default {\n \"controls\": \"_controls_10c1n_1\",\n \"blade\": \"_blade_10c1n_8\"\n};"]}
package/dist/Controls.css CHANGED
@@ -1,78 +1,78 @@
1
1
  /* esbuild-sass-plugin:css-chunk:src/Controller/Controller.module.scss */
2
- ._controller_1rjbl_1 {
2
+ ._controller_t5850_1 {
3
3
  display: flex;
4
4
  align-items: center;
5
5
  gap: var(--fxl-spacing-xxs);
6
6
  }
7
- ._controller_1rjbl_1 label {
7
+ ._controller_t5850_1 label {
8
8
  flex: 1;
9
9
  font-size: 1rem;
10
10
  word-break: break-all;
11
11
  font-size: var(--fxl-font-size-s);
12
12
  }
13
- ._controller_1rjbl_1 ._inputContainer_1rjbl_12 {
13
+ ._controller_t5850_1 ._inputContainer_t5850_12 {
14
14
  width: 200px;
15
15
  display: flex;
16
16
  align-items: center;
17
17
  }
18
- ._default_1rjbl_18 input:nth-child(1),
19
- ._default_1rjbl_18 select:nth-child(1) {
18
+ ._default_t5850_18 input:nth-child(1),
19
+ ._default_t5850_18 select:nth-child(1) {
20
20
  margin-right: var(--fxl-spacing-xxs);
21
21
  width: 65%;
22
22
  }
23
- ._default_1rjbl_18 input:nth-child(2),
24
- ._default_1rjbl_18 select:nth-child(2) {
23
+ ._default_t5850_18 input:nth-child(2),
24
+ ._default_t5850_18 select:nth-child(2) {
25
25
  margin-left: var(--fxl-spacing-xxs);
26
26
  width: 35%;
27
27
  }
28
- ._default_1rjbl_18 input:only-child,
29
- ._default_1rjbl_18 select:only-child {
28
+ ._default_t5850_18 input:only-child,
29
+ ._default_t5850_18 select:only-child {
30
30
  width: 100%;
31
31
  margin-right: 0;
32
32
  }
33
- ._invert_1rjbl_31 input:nth-child(1),
34
- ._invert_1rjbl_31 select:nth-child(1) {
33
+ ._invert_t5850_34 input:nth-child(1),
34
+ ._invert_t5850_34 select:nth-child(1) {
35
35
  margin-right: var(--fxl-spacing-xxs);
36
36
  width: 30%;
37
37
  }
38
- ._invert_1rjbl_31 input:nth-child(2),
39
- ._invert_1rjbl_31 select:nth-child(2) {
38
+ ._invert_t5850_34 input:nth-child(2),
39
+ ._invert_t5850_34 select:nth-child(2) {
40
40
  margin-left: var(--fxl-spacing-xxs);
41
41
  width: 70%;
42
42
  }
43
- ._invert_1rjbl_31 input:only-child,
44
- ._invert_1rjbl_31 select:only-child {
43
+ ._invert_t5850_34 input:only-child,
44
+ ._invert_t5850_34 select:only-child {
45
45
  width: 100%;
46
46
  margin-right: 0;
47
47
  }
48
- ._box_1rjbl_44 input:nth-child(1),
49
- ._box_1rjbl_44 select:nth-child(1) {
48
+ ._box_t5850_50 input:nth-child(1),
49
+ ._box_t5850_50 select:nth-child(1) {
50
50
  margin-right: var(--fxl-spacing-xxs);
51
51
  width: 30px;
52
52
  }
53
- ._box_1rjbl_44 input:nth-child(2),
54
- ._box_1rjbl_44 select:nth-child(2) {
53
+ ._box_t5850_50 input:nth-child(2),
54
+ ._box_t5850_50 select:nth-child(2) {
55
55
  margin-left: var(--fxl-spacing-xxs);
56
56
  width: calc(100% - 30px);
57
57
  }
58
- ._box_1rjbl_44 input:only-child,
59
- ._box_1rjbl_44 select:only-child {
58
+ ._box_t5850_50 input:only-child,
59
+ ._box_t5850_50 select:only-child {
60
60
  width: 30px;
61
61
  margin-right: 0;
62
62
  }
63
- ._numberInput_1rjbl_58::-webkit-outer-spin-button,
64
- ._numberInput_1rjbl_58::-webkit-inner-spin-button {
63
+ ._numberInput_t5850_67::-webkit-outer-spin-button,
64
+ ._numberInput_t5850_67::-webkit-inner-spin-button {
65
65
  -webkit-appearance: none;
66
66
  margin: 0;
67
67
  }
68
- ._numberInput_1rjbl_58[type=number] {
68
+ ._numberInput_t5850_67[type=number] {
69
69
  -moz-appearance: textfield;
70
70
  }
71
71
 
72
72
  /* esbuild-sass-plugin:css-chunk:src/BaseInput.module.scss */
73
- ._baseInput_jtvfw_1,
74
- ._baseSelect_jtvfw_1,
75
- ._baseButton_jtvfw_1 {
73
+ ._baseInput_13ljm_1,
74
+ ._baseSelect_13ljm_2,
75
+ ._baseButton_13ljm_3 {
76
76
  font-family: var(--fxl-font-family);
77
77
  font-size: var(--fxl-font-size-regular);
78
78
  height: 30px;
@@ -82,47 +82,47 @@
82
82
  padding: 0 var(--fxl-spacing-xxs);
83
83
  outline-offset: -1px;
84
84
  }
85
- ._baseInput_jtvfw_1:hover,
86
- ._baseSelect_jtvfw_1:hover,
87
- ._baseButton_jtvfw_1:hover {
85
+ ._baseInput_13ljm_1:hover,
86
+ ._baseSelect_13ljm_2:hover,
87
+ ._baseButton_13ljm_3:hover {
88
88
  background: var(--fxl-color-background3);
89
89
  }
90
- ._baseInput_jtvfw_1:focus-visible,
91
- ._baseSelect_jtvfw_1:focus-visible,
92
- ._baseButton_jtvfw_1:focus-visible {
90
+ ._baseInput_13ljm_1:focus-visible,
91
+ ._baseSelect_13ljm_2:focus-visible,
92
+ ._baseButton_13ljm_3:focus-visible {
93
93
  outline: 1px solid var(--fxl-color-primary);
94
94
  }
95
- ._baseInput_jtvfw_1:disabled,
96
- ._baseSelect_jtvfw_1:disabled,
97
- ._baseButton_jtvfw_1:disabled {
95
+ ._baseInput_13ljm_1:disabled,
96
+ ._baseSelect_13ljm_2:disabled,
97
+ ._baseButton_13ljm_3:disabled {
98
98
  opacity: 0.6;
99
99
  pointer-events: none;
100
100
  }
101
- ._baseButton_jtvfw_1 {
101
+ ._baseButton_13ljm_3 {
102
102
  cursor: pointer;
103
103
  background: var(--fxl-color-background2);
104
104
  color: var(--fxl-color-text-primary);
105
105
  font-weight: 700;
106
106
  }
107
- ._baseButton_jtvfw_1:hover {
107
+ ._baseButton_13ljm_3:hover {
108
108
  background: var(--fxl-color-background3);
109
109
  color: var(--fxl-color-light);
110
110
  outline: 1px solid var(--fxl-color-primary);
111
111
  }
112
- ._baseButton_jtvfw_1:focus-visible {
112
+ ._baseButton_13ljm_3:focus-visible {
113
113
  outline: 1px solid var(--fxl-color-primary);
114
114
  outline-offset: 2px;
115
115
  }
116
- ._baseButton_jtvfw_1._color-secondary_jtvfw_37 {
116
+ ._baseButton_13ljm_3._color-secondary_13ljm_45 {
117
117
  background: var(--fxl-color-dark1);
118
118
  color: var(--fxl-color-light);
119
119
  }
120
- ._baseButton_jtvfw_1._color-secondary_jtvfw_37:hover {
120
+ ._baseButton_13ljm_3._color-secondary_13ljm_45:hover {
121
121
  background: var(--fxl-color-dark2);
122
122
  color: var(--fxl-color-light);
123
123
  outline: 1px solid var(--fxl-color-primary);
124
124
  }
125
- ._iconButton_jtvfw_47 {
125
+ ._iconButton_13ljm_55 {
126
126
  width: 30px !important;
127
127
  cursor: pointer;
128
128
  padding: 0;
@@ -132,7 +132,7 @@
132
132
  flex-grow: 0;
133
133
  flex-shrink: 0;
134
134
  }
135
- ._baseInput_jtvfw_1[type=range] {
135
+ ._baseInput_13ljm_1[type=range] {
136
136
  -webkit-appearance: none;
137
137
  appearance: none;
138
138
  height: 3px !important;
@@ -141,7 +141,7 @@
141
141
  padding: 0 !important;
142
142
  border: none;
143
143
  }
144
- ._baseInput_jtvfw_1[type=range]::-webkit-slider-thumb {
144
+ ._baseInput_13ljm_1[type=range]::-webkit-slider-thumb {
145
145
  -webkit-appearance: none;
146
146
  appearance: none;
147
147
  cursor: pointer;
@@ -150,17 +150,17 @@
150
150
  background: var(--fxl-color-primary);
151
151
  border-radius: 50%;
152
152
  }
153
- ._baseInput_jtvfw_1[type=range]::-webkit-slider-thumb:hover {
153
+ ._baseInput_13ljm_1[type=range]::-webkit-slider-thumb:hover {
154
154
  transform: scale(1.1);
155
155
  }
156
- ._baseInput_jtvfw_1[type=range]::-moz-range-thumb {
156
+ ._baseInput_13ljm_1[type=range]::-moz-range-thumb {
157
157
  cursor: pointer;
158
158
  width: 15px;
159
159
  height: 15px;
160
160
  background: var(--fxl-color-primary);
161
161
  border-radius: 50%;
162
162
  }
163
- ._baseInput_jtvfw_1[type=checkbox] {
163
+ ._baseInput_13ljm_1[type=checkbox] {
164
164
  -webkit-appearance: none;
165
165
  appearance: none;
166
166
  cursor: pointer;
@@ -170,7 +170,7 @@
170
170
  padding: 0;
171
171
  position: relative;
172
172
  }
173
- ._baseInput_jtvfw_1[type=checkbox]:checked:after {
173
+ ._baseInput_13ljm_1[type=checkbox]:checked:after {
174
174
  content: "";
175
175
  width: 15px;
176
176
  height: 15px;
@@ -182,7 +182,7 @@
182
182
  }
183
183
 
184
184
  /* esbuild-sass-plugin:css-chunk:src/Controller/Color.module.scss */
185
- ._squaredButton_13v06_1 {
185
+ ._squaredButton_p7fh7_1 {
186
186
  width: 30px;
187
187
  height: 30px;
188
188
  padding: 0;
@@ -190,50 +190,50 @@
190
190
  position: relative;
191
191
  background: white !important;
192
192
  }
193
- ._squaredButton_13v06_1._active_13v06_9 {
193
+ ._squaredButton_p7fh7_1._active_p7fh7_9 {
194
194
  border-color: var(--fxl-color-primary);
195
195
  }
196
- ._squaredButton_13v06_1:focus-visible {
196
+ ._squaredButton_p7fh7_1:focus-visible {
197
197
  outline-offset: -1px;
198
198
  }
199
- ._square_13v06_1 {
199
+ ._square_p7fh7_1 {
200
200
  width: 100%;
201
201
  height: 100%;
202
202
  position: absolute;
203
203
  top: 0;
204
204
  left: 0;
205
205
  }
206
- ._pickerWrapper_13v06_24 {
206
+ ._pickerWrapper_p7fh7_24 {
207
207
  position: relative;
208
208
  }
209
- ._pickerAbsoluteWrapper_13v06_28 {
209
+ ._pickerAbsoluteWrapper_p7fh7_28 {
210
210
  position: absolute;
211
211
  bottom: 0;
212
212
  transform: translate(0, calc(100% + var(--fxl-spacing-xxs)));
213
213
  z-index: 10;
214
214
  }
215
- ._picker_13v06_24 {
215
+ ._picker_p7fh7_24 {
216
216
  border: 1px solid var(--fxl-color-light2);
217
217
  }
218
- ._picker_13v06_24 input {
218
+ ._picker_p7fh7_24 input {
219
219
  background: var(--fxl-color-light);
220
220
  }
221
- ._colorful_13v06_42 .react-colorful__saturation {
221
+ ._colorful_p7fh7_42 .react-colorful__saturation {
222
222
  border-radius: 0;
223
223
  }
224
- ._colorful_13v06_42 .react-colorful__last-control {
224
+ ._colorful_p7fh7_42 .react-colorful__last-control {
225
225
  border-radius: 0;
226
226
  }
227
227
 
228
228
  /* esbuild-sass-plugin:css-chunk:src/Controller/Invalid.module.scss */
229
- ._invalid_9fznv_1 {
229
+ ._invalid_u8v12_1 {
230
230
  color: var(--fxl-color-light);
231
231
  display: flex;
232
232
  width: 100%;
233
233
  flex-direction: column;
234
234
  margin-bottom: var(--fxl-spacing-xxs);
235
235
  }
236
- ._invalid_9fznv_1 label {
236
+ ._invalid_u8v12_1 label {
237
237
  color: var(--fxl-color-light1);
238
238
  cursor: pointer;
239
239
  display: flex;
@@ -244,10 +244,10 @@
244
244
  text-align: center;
245
245
  position: relative;
246
246
  }
247
- ._invalid_9fznv_1 label:hover {
247
+ ._invalid_u8v12_1 label:hover {
248
248
  background: repeating-linear-gradient(45deg, transparent, transparent 5px, var(--fxl-color-dark2) 5px, var(--fxl-color-dark2) 10px);
249
249
  }
250
- ._invalid_9fznv_1 label i {
250
+ ._invalid_u8v12_1 label i {
251
251
  font-style: normal;
252
252
  position: absolute;
253
253
  left: var(--fxl-spacing-sm);
@@ -255,26 +255,26 @@
255
255
  transform: translate(0, -50%) rotate(-90deg);
256
256
  font-size: var(--fxl-font-size-m);
257
257
  }
258
- ._invalid_9fznv_1 label i._isOpen_9fznv_30 {
258
+ ._invalid_u8v12_1 label i._isOpen_u8v12_30 {
259
259
  transform: translate(0, -50%) rotate(0);
260
260
  }
261
- ._errorsWrapper_9fznv_34 {
261
+ ._errorsWrapper_u8v12_34 {
262
262
  border: 2px solid var(--fxl-color-dark2);
263
263
  border-top: none;
264
264
  padding: var(--fxl-spacing-sm);
265
265
  }
266
- ._attributes_9fznv_40 {
266
+ ._attributes_u8v12_40 {
267
267
  margin-bottom: var(--fxl-spacing-l);
268
268
  }
269
- ._issue_9fznv_44 h3 {
269
+ ._issue_u8v12_44 h3 {
270
270
  font-weight: 400;
271
271
  }
272
- ._issue_9fznv_44 p {
272
+ ._issue_u8v12_44 p {
273
273
  color: var(--fxl-color-light1);
274
274
  }
275
275
 
276
276
  /* esbuild-sass-plugin:css-chunk:src/Controller/Bytes.module.scss */
277
- ._root_1qszq_1 {
277
+ ._root_sy7al_1 {
278
278
  width: 100%;
279
279
  overflow-x: auto;
280
280
  height: 100%;
@@ -282,23 +282,23 @@
282
282
  }
283
283
 
284
284
  /* esbuild-sass-plugin:css-chunk:src/LockButton/LockButton.module.scss */
285
- ._lockButton_1bbiz_1 {
285
+ ._lockButton_xs4tj_1 {
286
286
  color: var(--fxl-color-light1) !important;
287
287
  }
288
288
 
289
289
  /* esbuild-sass-plugin:css-chunk:src/Controls.module.scss */
290
- ._controls_25wa3_1 {
290
+ ._controls_10c1n_1 {
291
291
  display: flex;
292
292
  flex-direction: column;
293
293
  flex-grow: 1;
294
294
  gap: var(--fxl-spacing-xxs);
295
295
  }
296
- ._blade_25wa3_8 {
296
+ ._blade_10c1n_8 {
297
297
  display: flex;
298
298
  gap: var(--fxl-spacing-xxs);
299
299
  align-items: center;
300
300
  }
301
- ._blade_25wa3_8 > div {
301
+ ._blade_10c1n_8 > div {
302
302
  flex-grow: 1;
303
303
  }
304
304
  /*# sourceMappingURL=Controls.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["esbuild-sass-plugin:css-chunk:src/Controller/Controller.module.scss","esbuild-sass-plugin:css-chunk:src/BaseInput.module.scss","esbuild-sass-plugin:css-chunk:src/Controller/Color.module.scss","esbuild-sass-plugin:css-chunk:src/Controller/Invalid.module.scss","esbuild-sass-plugin:css-chunk:src/Controller/Bytes.module.scss","esbuild-sass-plugin:css-chunk:src/LockButton/LockButton.module.scss","esbuild-sass-plugin:css-chunk:src/Controls.module.scss"],"sourcesContent":["._controller_1rjbl_1 {\n display: flex;\n align-items: center;\n gap: var(--fxl-spacing-xxs);\n}\n._controller_1rjbl_1 label {\n flex: 1;\n font-size: 1rem;\n word-break: break-all;\n font-size: var(--fxl-font-size-s);\n}\n._controller_1rjbl_1 ._inputContainer_1rjbl_12 {\n width: 200px;\n display: flex;\n align-items: center;\n}\n\n._default_1rjbl_18 input:nth-child(1), ._default_1rjbl_18 select:nth-child(1) {\n margin-right: var(--fxl-spacing-xxs);\n width: 65%;\n}\n._default_1rjbl_18 input:nth-child(2), ._default_1rjbl_18 select:nth-child(2) {\n margin-left: var(--fxl-spacing-xxs);\n width: 35%;\n}\n._default_1rjbl_18 input:only-child, ._default_1rjbl_18 select:only-child {\n width: 100%;\n margin-right: 0;\n}\n\n._invert_1rjbl_31 input:nth-child(1), ._invert_1rjbl_31 select:nth-child(1) {\n margin-right: var(--fxl-spacing-xxs);\n width: 30%;\n}\n._invert_1rjbl_31 input:nth-child(2), ._invert_1rjbl_31 select:nth-child(2) {\n margin-left: var(--fxl-spacing-xxs);\n width: 70%;\n}\n._invert_1rjbl_31 input:only-child, ._invert_1rjbl_31 select:only-child {\n width: 100%;\n margin-right: 0;\n}\n\n._box_1rjbl_44 input:nth-child(1), ._box_1rjbl_44 select:nth-child(1) {\n margin-right: var(--fxl-spacing-xxs);\n width: 30px;\n}\n._box_1rjbl_44 input:nth-child(2), ._box_1rjbl_44 select:nth-child(2) {\n margin-left: var(--fxl-spacing-xxs);\n width: calc(100% - 30px);\n}\n._box_1rjbl_44 input:only-child, ._box_1rjbl_44 select:only-child {\n width: 30px;\n margin-right: 0;\n}\n\n/* Chrome, Safari, Edge, Opera */\n._numberInput_1rjbl_58::-webkit-outer-spin-button,\n._numberInput_1rjbl_58::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\n._numberInput_1rjbl_58[type=number] {\n -moz-appearance: textfield;\n}","._baseInput_jtvfw_1, ._baseSelect_jtvfw_1, ._baseButton_jtvfw_1 {\n font-family: var(--fxl-font-family);\n font-size: var(--fxl-font-size-regular);\n height: 30px;\n color: var(--fxl-color-text-primary);\n background: var(--fxl-color-background2);\n border: 1px solid var(--fxl-color-light2);\n padding: 0 var(--fxl-spacing-xxs);\n outline-offset: -1px;\n}\n._baseInput_jtvfw_1:hover, ._baseSelect_jtvfw_1:hover, ._baseButton_jtvfw_1:hover {\n background: var(--fxl-color-background3);\n}\n._baseInput_jtvfw_1:focus-visible, ._baseSelect_jtvfw_1:focus-visible, ._baseButton_jtvfw_1:focus-visible {\n outline: 1px solid var(--fxl-color-primary);\n}\n._baseInput_jtvfw_1:disabled, ._baseSelect_jtvfw_1:disabled, ._baseButton_jtvfw_1:disabled {\n opacity: 0.6;\n pointer-events: none;\n}\n\n._baseButton_jtvfw_1 {\n cursor: pointer;\n background: var(--fxl-color-background2);\n color: var(--fxl-color-text-primary);\n font-weight: 700;\n}\n._baseButton_jtvfw_1:hover {\n background: var(--fxl-color-background3);\n color: var(--fxl-color-light);\n outline: 1px solid var(--fxl-color-primary);\n}\n._baseButton_jtvfw_1:focus-visible {\n outline: 1px solid var(--fxl-color-primary);\n outline-offset: 2px;\n}\n._baseButton_jtvfw_1._color-secondary_jtvfw_37 {\n background: var(--fxl-color-dark1);\n color: var(--fxl-color-light);\n}\n._baseButton_jtvfw_1._color-secondary_jtvfw_37:hover {\n background: var(--fxl-color-dark2);\n color: var(--fxl-color-light);\n outline: 1px solid var(--fxl-color-primary);\n}\n\n._iconButton_jtvfw_47 {\n width: 30px !important;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 0;\n flex-shrink: 0;\n}\n\n._baseInput_jtvfw_1[type=range] {\n -webkit-appearance: none;\n appearance: none;\n height: 3px !important;\n background: var(--fxl-color-light2);\n outline: none;\n padding: 0 !important;\n border: none;\n}\n\n._baseInput_jtvfw_1[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none; /* Override default look */\n appearance: none;\n cursor: pointer;\n width: 15px;\n height: 15px;\n background: var(--fxl-color-primary);\n border-radius: 50%;\n}\n._baseInput_jtvfw_1[type=range]::-webkit-slider-thumb:hover {\n transform: scale(1.1);\n}\n\n._baseInput_jtvfw_1[type=range]::-moz-range-thumb {\n cursor: pointer;\n width: 15px;\n height: 15px;\n background: var(--fxl-color-primary);\n border-radius: 50%;\n}\n\n._baseInput_jtvfw_1[type=checkbox] {\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n width: 30px !important;\n height: 30px !important;\n margin: 0;\n padding: 0;\n position: relative;\n}\n._baseInput_jtvfw_1[type=checkbox]:checked:after {\n content: \"\";\n width: 15px;\n height: 15px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: var(--fxl-color-primary);\n}","._squaredButton_13v06_1 {\n width: 30px;\n height: 30px;\n padding: 0;\n border: 1px solid var(--fxl-color-light2);\n position: relative;\n background: white !important;\n}\n._squaredButton_13v06_1._active_13v06_9 {\n border-color: var(--fxl-color-primary);\n}\n._squaredButton_13v06_1:focus-visible {\n outline-offset: -1px;\n}\n\n._square_13v06_1 {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n._pickerWrapper_13v06_24 {\n position: relative;\n}\n\n._pickerAbsoluteWrapper_13v06_28 {\n position: absolute;\n bottom: 0;\n transform: translate(0, calc(100% + var(--fxl-spacing-xxs)));\n z-index: 10;\n}\n\n._picker_13v06_24 {\n border: 1px solid var(--fxl-color-light2);\n}\n._picker_13v06_24 input {\n background: var(--fxl-color-light);\n}\n\n._colorful_13v06_42 .react-colorful__saturation {\n border-radius: 0;\n}\n._colorful_13v06_42 .react-colorful__last-control {\n border-radius: 0;\n}","._invalid_9fznv_1 {\n color: var(--fxl-color-light);\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-bottom: var(--fxl-spacing-xxs);\n}\n._invalid_9fznv_1 label {\n color: var(--fxl-color-light1);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 30px;\n background: repeating-linear-gradient(45deg, transparent, transparent 5px, var(--fxl-color-dark1) 5px, var(--fxl-color-dark1) 10px);\n text-align: center;\n position: relative;\n}\n._invalid_9fznv_1 label:hover {\n background: repeating-linear-gradient(45deg, transparent, transparent 5px, var(--fxl-color-dark2) 5px, var(--fxl-color-dark2) 10px);\n}\n._invalid_9fznv_1 label i {\n font-style: normal;\n position: absolute;\n left: var(--fxl-spacing-sm);\n top: 50%;\n transform: translate(0, -50%) rotate(-90deg);\n font-size: var(--fxl-font-size-m);\n}\n._invalid_9fznv_1 label i._isOpen_9fznv_30 {\n transform: translate(0, -50%) rotate(0);\n}\n\n._errorsWrapper_9fznv_34 {\n border: 2px solid var(--fxl-color-dark2);\n border-top: none;\n padding: var(--fxl-spacing-sm);\n}\n\n._attributes_9fznv_40 {\n margin-bottom: var(--fxl-spacing-l);\n}\n\n._issue_9fznv_44 h3 {\n font-weight: 400;\n}\n._issue_9fznv_44 p {\n color: var(--fxl-color-light1);\n}","._root_1qszq_1 {\n width: 100%;\n overflow-x: auto;\n height: 100%;\n padding: 4px;\n}","._lockButton_1bbiz_1 {\n color: var(--fxl-color-light1) !important;\n}","._controls_25wa3_1 {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n gap: var(--fxl-spacing-xxs);\n}\n\n._blade_25wa3_8 {\n display: flex;\n gap: var(--fxl-spacing-xxs);\n align-items: center;\n}\n._blade_25wa3_8 > div {\n flex-grow: 1;\n}"],"mappings":";AAAA;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAGF;AAAA;AACE;AACA;AAAA;AAEF;AAAA;AACE;AACA;AAAA;AAEF;AAAA;AACE;AACA;AAAA;AAGF;AAAA;AACE;AACA;AAAA;AAEF;AAAA;AACE;AACA;AAAA;AAEF;AAAA;AACE;AACA;AAAA;AAGF;AAAA;AACE;AACA;AAAA;AAEF;AAAA;AACE;AACA;AAAA;AAEF;AAAA;AACE;AACA;AAAA;AAIF;AAAA;AAEE;AACA;AAAA;AAIF;AACE;AAAA;;;ACjEF;AAAA;AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AAAA;AAAA;AACE;AAAA;AAEF;AAAA;AAAA;AACE;AAAA;AAEF;AAAA;AAAA;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;AC1GF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;;;AC7CF;AACE;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;;;AC/CF;AACE;AACA;AACA;AACA;AAAA;;;ACJF;AACE;AAAA;;;ACDF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAEF;AACE;AAAA;","names":[]}
1
+ {"version":3,"sources":["esbuild-sass-plugin:css-chunk:src/Controller/Controller.module.scss","esbuild-sass-plugin:css-chunk:src/BaseInput.module.scss","esbuild-sass-plugin:css-chunk:src/Controller/Color.module.scss","esbuild-sass-plugin:css-chunk:src/Controller/Invalid.module.scss","esbuild-sass-plugin:css-chunk:src/Controller/Bytes.module.scss","esbuild-sass-plugin:css-chunk:src/LockButton/LockButton.module.scss","esbuild-sass-plugin:css-chunk:src/Controls.module.scss"],"sourcesContent":["._controller_t5850_1 {\n display: flex;\n align-items: center;\n gap: var(--fxl-spacing-xxs);\n}\n._controller_t5850_1 label {\n flex: 1;\n font-size: 1rem;\n word-break: break-all;\n font-size: var(--fxl-font-size-s);\n}\n._controller_t5850_1 ._inputContainer_t5850_12 {\n width: 200px;\n display: flex;\n align-items: center;\n}\n\n._default_t5850_18 input:nth-child(1),\n._default_t5850_18 select:nth-child(1) {\n margin-right: var(--fxl-spacing-xxs);\n width: 65%;\n}\n._default_t5850_18 input:nth-child(2),\n._default_t5850_18 select:nth-child(2) {\n margin-left: var(--fxl-spacing-xxs);\n width: 35%;\n}\n._default_t5850_18 input:only-child,\n._default_t5850_18 select:only-child {\n width: 100%;\n margin-right: 0;\n}\n\n._invert_t5850_34 input:nth-child(1),\n._invert_t5850_34 select:nth-child(1) {\n margin-right: var(--fxl-spacing-xxs);\n width: 30%;\n}\n._invert_t5850_34 input:nth-child(2),\n._invert_t5850_34 select:nth-child(2) {\n margin-left: var(--fxl-spacing-xxs);\n width: 70%;\n}\n._invert_t5850_34 input:only-child,\n._invert_t5850_34 select:only-child {\n width: 100%;\n margin-right: 0;\n}\n\n._box_t5850_50 input:nth-child(1),\n._box_t5850_50 select:nth-child(1) {\n margin-right: var(--fxl-spacing-xxs);\n width: 30px;\n}\n._box_t5850_50 input:nth-child(2),\n._box_t5850_50 select:nth-child(2) {\n margin-left: var(--fxl-spacing-xxs);\n width: calc(100% - 30px);\n}\n._box_t5850_50 input:only-child,\n._box_t5850_50 select:only-child {\n width: 30px;\n margin-right: 0;\n}\n\n/* Chrome, Safari, Edge, Opera */\n._numberInput_t5850_67::-webkit-outer-spin-button,\n._numberInput_t5850_67::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\n._numberInput_t5850_67[type=number] {\n -moz-appearance: textfield;\n}","._baseInput_13ljm_1,\n._baseSelect_13ljm_2,\n._baseButton_13ljm_3 {\n font-family: var(--fxl-font-family);\n font-size: var(--fxl-font-size-regular);\n height: 30px;\n color: var(--fxl-color-text-primary);\n background: var(--fxl-color-background2);\n border: 1px solid var(--fxl-color-light2);\n padding: 0 var(--fxl-spacing-xxs);\n outline-offset: -1px;\n}\n._baseInput_13ljm_1:hover,\n._baseSelect_13ljm_2:hover,\n._baseButton_13ljm_3:hover {\n background: var(--fxl-color-background3);\n}\n._baseInput_13ljm_1:focus-visible,\n._baseSelect_13ljm_2:focus-visible,\n._baseButton_13ljm_3:focus-visible {\n outline: 1px solid var(--fxl-color-primary);\n}\n._baseInput_13ljm_1:disabled,\n._baseSelect_13ljm_2:disabled,\n._baseButton_13ljm_3:disabled {\n opacity: 0.6;\n pointer-events: none;\n}\n\n._baseButton_13ljm_3 {\n cursor: pointer;\n background: var(--fxl-color-background2);\n color: var(--fxl-color-text-primary);\n font-weight: 700;\n}\n._baseButton_13ljm_3:hover {\n background: var(--fxl-color-background3);\n color: var(--fxl-color-light);\n outline: 1px solid var(--fxl-color-primary);\n}\n._baseButton_13ljm_3:focus-visible {\n outline: 1px solid var(--fxl-color-primary);\n outline-offset: 2px;\n}\n._baseButton_13ljm_3._color-secondary_13ljm_45 {\n background: var(--fxl-color-dark1);\n color: var(--fxl-color-light);\n}\n._baseButton_13ljm_3._color-secondary_13ljm_45:hover {\n background: var(--fxl-color-dark2);\n color: var(--fxl-color-light);\n outline: 1px solid var(--fxl-color-primary);\n}\n\n._iconButton_13ljm_55 {\n width: 30px !important;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 0;\n flex-shrink: 0;\n}\n\n._baseInput_13ljm_1[type=range] {\n -webkit-appearance: none;\n appearance: none;\n height: 3px !important;\n background: var(--fxl-color-light2);\n outline: none;\n padding: 0 !important;\n border: none;\n}\n\n._baseInput_13ljm_1[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none; /* Override default look */\n appearance: none;\n cursor: pointer;\n width: 15px;\n height: 15px;\n background: var(--fxl-color-primary);\n border-radius: 50%;\n}\n._baseInput_13ljm_1[type=range]::-webkit-slider-thumb:hover {\n transform: scale(1.1);\n}\n\n._baseInput_13ljm_1[type=range]::-moz-range-thumb {\n cursor: pointer;\n width: 15px;\n height: 15px;\n background: var(--fxl-color-primary);\n border-radius: 50%;\n}\n\n._baseInput_13ljm_1[type=checkbox] {\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n width: 30px !important;\n height: 30px !important;\n margin: 0;\n padding: 0;\n position: relative;\n}\n._baseInput_13ljm_1[type=checkbox]:checked:after {\n content: \"\";\n width: 15px;\n height: 15px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: var(--fxl-color-primary);\n}","._squaredButton_p7fh7_1 {\n width: 30px;\n height: 30px;\n padding: 0;\n border: 1px solid var(--fxl-color-light2);\n position: relative;\n background: white !important;\n}\n._squaredButton_p7fh7_1._active_p7fh7_9 {\n border-color: var(--fxl-color-primary);\n}\n._squaredButton_p7fh7_1:focus-visible {\n outline-offset: -1px;\n}\n\n._square_p7fh7_1 {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n._pickerWrapper_p7fh7_24 {\n position: relative;\n}\n\n._pickerAbsoluteWrapper_p7fh7_28 {\n position: absolute;\n bottom: 0;\n transform: translate(0, calc(100% + var(--fxl-spacing-xxs)));\n z-index: 10;\n}\n\n._picker_p7fh7_24 {\n border: 1px solid var(--fxl-color-light2);\n}\n._picker_p7fh7_24 input {\n background: var(--fxl-color-light);\n}\n\n._colorful_p7fh7_42 .react-colorful__saturation {\n border-radius: 0;\n}\n._colorful_p7fh7_42 .react-colorful__last-control {\n border-radius: 0;\n}","._invalid_u8v12_1 {\n color: var(--fxl-color-light);\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-bottom: var(--fxl-spacing-xxs);\n}\n._invalid_u8v12_1 label {\n color: var(--fxl-color-light1);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 30px;\n background: repeating-linear-gradient(45deg, transparent, transparent 5px, var(--fxl-color-dark1) 5px, var(--fxl-color-dark1) 10px);\n text-align: center;\n position: relative;\n}\n._invalid_u8v12_1 label:hover {\n background: repeating-linear-gradient(45deg, transparent, transparent 5px, var(--fxl-color-dark2) 5px, var(--fxl-color-dark2) 10px);\n}\n._invalid_u8v12_1 label i {\n font-style: normal;\n position: absolute;\n left: var(--fxl-spacing-sm);\n top: 50%;\n transform: translate(0, -50%) rotate(-90deg);\n font-size: var(--fxl-font-size-m);\n}\n._invalid_u8v12_1 label i._isOpen_u8v12_30 {\n transform: translate(0, -50%) rotate(0);\n}\n\n._errorsWrapper_u8v12_34 {\n border: 2px solid var(--fxl-color-dark2);\n border-top: none;\n padding: var(--fxl-spacing-sm);\n}\n\n._attributes_u8v12_40 {\n margin-bottom: var(--fxl-spacing-l);\n}\n\n._issue_u8v12_44 h3 {\n font-weight: 400;\n}\n._issue_u8v12_44 p {\n color: var(--fxl-color-light1);\n}","._root_sy7al_1 {\n width: 100%;\n overflow-x: auto;\n height: 100%;\n padding: 4px;\n}","._lockButton_xs4tj_1 {\n color: var(--fxl-color-light1) !important;\n}","._controls_10c1n_1 {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n gap: var(--fxl-spacing-xxs);\n}\n\n._blade_10c1n_8 {\n display: flex;\n gap: var(--fxl-spacing-xxs);\n align-items: center;\n}\n._blade_10c1n_8 > div {\n flex-grow: 1;\n}"],"mappings":";AAAA;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAEE;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAEE;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAEE;AACA;AAAA;AAIF;AAAA;AAEE;AACA;AAAA;AAIF;AACE;AAAA;;;AC1EF;AAAA;AAAA;AAGE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AAAA;AAAA;AAGE;AAAA;AAEF;AAAA;AAAA;AAGE;AAAA;AAEF;AAAA;AAAA;AAGE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;AClHF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;;;AC7CF;AACE;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;;;AC/CF;AACE;AACA;AACA;AACA;AAAA;;;ACJF;AACE;AAAA;;;ACDF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAEF;AACE;AAAA;","names":[]}
package/dist/Controls.js CHANGED
@@ -1,34 +1,34 @@
1
1
  import {
2
2
  ParameterController
3
- } from "./chunk-57UENWLF.js";
4
- import "./chunk-H5IMTNFG.js";
5
- import "./chunk-6VMIOQSE.js";
6
- import "./chunk-YYEIYDDF.js";
3
+ } from "./chunk-X4GS3I5P.js";
4
+ import "./chunk-YNPYJVNU.js";
5
+ import "./chunk-SOEAQVIE.js";
6
+ import "./chunk-NBDFYP3Y.js";
7
7
  import {
8
8
  LockButton
9
- } from "./chunk-4OV7OX5A.js";
9
+ } from "./chunk-XYWE6TCQ.js";
10
10
  import {
11
11
  validateParameterDefinition
12
12
  } from "./chunk-MWP7SJWC.js";
13
- import "./chunk-P77D7XSP.js";
14
- import "./chunk-YOS2HCIS.js";
15
- import "./chunk-2QIAF3U7.js";
16
- import "./chunk-ZG3OT7LF.js";
17
- import "./chunk-CE3TPOSO.js";
18
- import "./chunk-PTXBICTZ.js";
13
+ import "./chunk-GXCX5YCI.js";
14
+ import "./chunk-ZALRIFOG.js";
15
+ import "./chunk-HIC6NEI2.js";
16
+ import "./chunk-4OKETOHR.js";
17
+ import "./chunk-2SARESCF.js";
18
+ import "./chunk-GDSG5VLX.js";
19
19
  import {
20
20
  consolidateParams,
21
21
  stringifyParamsData
22
- } from "./chunk-FZWZHHQ2.js";
23
- import "./chunk-2BHABOFI.js";
22
+ } from "./chunk-7H32FZ35.js";
23
+ import "./chunk-BEDRMOBJ.js";
24
24
 
25
25
  // src/Controls.tsx
26
26
  import { createRef, useEffect, useMemo } from "react";
27
27
 
28
28
  // src/Controls.module.scss
29
29
  var Controls_module_default = {
30
- "controls": "_controls_25wa3_1",
31
- "blade": "_blade_25wa3_8"
30
+ "controls": "_controls_10c1n_1",
31
+ "blade": "_blade_10c1n_8"
32
32
  };
33
33
 
34
34
  // src/Controls.tsx
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Controls.tsx","../src/Controls.module.scss"],"sourcesContent":["import { createRef, useEffect, useMemo, useState } from \"react\"\nimport { consolidateParams } from \"utils\"\nimport { ParameterController } from \"./Controller/Param\"\nimport { LockButton } from \"./LockButton/LockButton\"\nimport classes from \"./Controls.module.scss\"\nimport { validateParameterDefinition } from \"./validation\"\nimport { stringifyParamsData } from \"./utils\"\nimport { FxParamType, FxParamTypeMap } from \"./types.js\"\n\ninterface ControllerBladeProps {\n parameter: any\n onClickLockButton?: (id: string) => void\n lockedParamIds?: string[]\n onChangeParam: (id: string, value: any) => void\n}\n\nfunction ControllerBlade(props: ControllerBladeProps) {\n const { parameter, onClickLockButton, lockedParamIds, onChangeParam } = props\n const parsed = useMemo(\n () => validateParameterDefinition(parameter),\n [parameter]\n )\n const isValid = useMemo(() => parsed && parsed.success, [parsed])\n return (\n <div className={classes.blade}>\n <ParameterController\n parameter={parameter}\n value={parameter.value}\n onChange={onChangeParam}\n />\n {onClickLockButton && isValid && (\n <LockButton\n className={classes.lockButton}\n title={`toggle lock ${parameter.id} param`}\n isLocked={lockedParamIds?.includes(parameter.id)}\n onClick={(e) => onClickLockButton(parameter.id)}\n />\n )}\n </div>\n )\n}\n\nexport type ControlsOnChangeDataHandler = (\n newData: Record<string, any>,\n changedParam?: {\n id: string\n value: FxParamTypeMap[FxParamType]\n }\n) => void\n\ninterface ControlsProps {\n params: any\n onClickLockButton?: (id: string) => void\n lockedParamIds?: string[]\n onChangeData: ControlsOnChangeDataHandler\n data: Record<string, any>\n}\n\nexport const Controls = ({\n params,\n data,\n onClickLockButton,\n lockedParamIds,\n onChangeData,\n}: ControlsProps) => {\n const consolidatedParams = consolidateParams(params, data)\n\n const p: React.RefObject<HTMLDivElement> = createRef()\n\n useEffect(() => {\n const ps: any = {}\n if (consolidatedParams?.length > 0) {\n consolidatedParams.forEach((p: any) => {\n ps[p.id] = p.value\n })\n if (stringifyParamsData(data) !== stringifyParamsData(ps))\n onChangeData(ps)\n }\n }, [params])\n\n const handleChangeParam = (id: string, value: any) => {\n const newData = { ...data, [id]: value }\n onChangeData(newData, { id, value })\n }\n\n return (\n <div className={classes.controls} ref={p}>\n {consolidatedParams?.map((p: any) => {\n return (\n <ControllerBlade\n key={p.id}\n parameter={p}\n onChangeParam={handleChangeParam}\n lockedParamIds={lockedParamIds}\n onClickLockButton={onClickLockButton}\n />\n )\n })}\n </div>\n )\n}\n","import 'css-chunk:src/Controls.module.scss';export default {\n \"controls\": \"_controls_25wa3_1\",\n \"blade\": \"_blade_25wa3_8\"\n};"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,WAAW,eAAyB;;;ACAZ,IAAO,0BAAQ;AAAA,EACzD,YAAY;AAAA,EACZ,SAAS;AACX;;;ADqBI,SACE,KADF;AARJ,SAAS,gBAAgB,OAA6B;AACpD,QAAM,EAAE,WAAW,mBAAmB,gBAAgB,cAAc,IAAI;AACxE,QAAM,SAAS;AAAA,IACb,MAAM,4BAA4B,SAAS;AAAA,IAC3C,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,UAAU,QAAQ,MAAM,UAAU,OAAO,SAAS,CAAC,MAAM,CAAC;AAChE,SACE,qBAAC,SAAI,WAAW,wBAAQ,OACtB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO,UAAU;AAAA,QACjB,UAAU;AAAA;AAAA,IACZ;AAAA,IACC,qBAAqB,WACpB;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,wBAAQ;AAAA,QACnB,OAAO,eAAe,UAAU;AAAA,QAChC,UAAU,gBAAgB,SAAS,UAAU,EAAE;AAAA,QAC/C,SAAS,CAAC,MAAM,kBAAkB,UAAU,EAAE;AAAA;AAAA,IAChD;AAAA,KAEJ;AAEJ;AAkBO,IAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqB;AACnB,QAAM,qBAAqB,kBAAkB,QAAQ,IAAI;AAEzD,QAAM,IAAqC,UAAU;AAErD,YAAU,MAAM;AACd,UAAM,KAAU,CAAC;AACjB,QAAI,oBAAoB,SAAS,GAAG;AAClC,yBAAmB,QAAQ,CAACA,OAAW;AACrC,WAAGA,GAAE,EAAE,IAAIA,GAAE;AAAA,MACf,CAAC;AACD,UAAI,oBAAoB,IAAI,MAAM,oBAAoB,EAAE;AACtD,qBAAa,EAAE;AAAA,IACnB;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,oBAAoB,CAAC,IAAY,UAAe;AACpD,UAAM,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM;AACvC,iBAAa,SAAS,EAAE,IAAI,MAAM,CAAC;AAAA,EACrC;AAEA,SACE,oBAAC,SAAI,WAAW,wBAAQ,UAAU,KAAK,GACpC,8BAAoB,IAAI,CAACA,OAAW;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,WAAWA;AAAA,QACX,eAAe;AAAA,QACf;AAAA,QACA;AAAA;AAAA,MAJKA,GAAE;AAAA,IAKT;AAAA,EAEJ,CAAC,GACH;AAEJ;","names":["p"]}
1
+ {"version":3,"sources":["../src/Controls.tsx","../src/Controls.module.scss"],"sourcesContent":["import { createRef, useEffect, useMemo, useState } from \"react\"\nimport { consolidateParams } from \"utils\"\nimport { ParameterController } from \"./Controller/Param\"\nimport { LockButton } from \"./LockButton/LockButton\"\nimport classes from \"./Controls.module.scss\"\nimport { validateParameterDefinition } from \"./validation\"\nimport { stringifyParamsData } from \"./utils\"\nimport { FxParamType, FxParamTypeMap } from \"./types.js\"\n\ninterface ControllerBladeProps {\n parameter: any\n onClickLockButton?: (id: string) => void\n lockedParamIds?: string[]\n onChangeParam: (id: string, value: any) => void\n}\n\nfunction ControllerBlade(props: ControllerBladeProps) {\n const { parameter, onClickLockButton, lockedParamIds, onChangeParam } = props\n const parsed = useMemo(\n () => validateParameterDefinition(parameter),\n [parameter]\n )\n const isValid = useMemo(() => parsed && parsed.success, [parsed])\n return (\n <div className={classes.blade}>\n <ParameterController\n parameter={parameter}\n value={parameter.value}\n onChange={onChangeParam}\n />\n {onClickLockButton && isValid && (\n <LockButton\n className={classes.lockButton}\n title={`toggle lock ${parameter.id} param`}\n isLocked={lockedParamIds?.includes(parameter.id)}\n onClick={e => onClickLockButton(parameter.id)}\n />\n )}\n </div>\n )\n}\n\nexport type ControlsOnChangeDataHandler = (\n newData: Record<string, any>,\n changedParam?: {\n id: string\n value: FxParamTypeMap[FxParamType]\n }\n) => void\n\ninterface ControlsProps {\n params: any\n onClickLockButton?: (id: string) => void\n lockedParamIds?: string[]\n onChangeData: ControlsOnChangeDataHandler\n data: Record<string, any>\n}\n\nexport const Controls = ({\n params,\n data,\n onClickLockButton,\n lockedParamIds,\n onChangeData,\n}: ControlsProps) => {\n const consolidatedParams = consolidateParams(params, data)\n\n const p: React.RefObject<HTMLDivElement> = createRef()\n\n useEffect(() => {\n const ps: any = {}\n if (consolidatedParams?.length > 0) {\n consolidatedParams.forEach((p: any) => {\n ps[p.id] = p.value\n })\n if (stringifyParamsData(data) !== stringifyParamsData(ps))\n onChangeData(ps)\n }\n }, [params])\n\n const handleChangeParam = (id: string, value: any) => {\n const newData = { ...data, [id]: value }\n onChangeData(newData, { id, value })\n }\n\n return (\n <div className={classes.controls} ref={p}>\n {consolidatedParams?.map((p: any) => {\n return (\n <ControllerBlade\n key={p.id}\n parameter={p}\n onChangeParam={handleChangeParam}\n lockedParamIds={lockedParamIds}\n onClickLockButton={onClickLockButton}\n />\n )\n })}\n </div>\n )\n}\n","import 'css-chunk:src/Controls.module.scss';export default {\n \"controls\": \"_controls_10c1n_1\",\n \"blade\": \"_blade_10c1n_8\"\n};"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,WAAW,eAAyB;;;ACAZ,IAAO,0BAAQ;AAAA,EACzD,YAAY;AAAA,EACZ,SAAS;AACX;;;ADqBI,SACE,KADF;AARJ,SAAS,gBAAgB,OAA6B;AACpD,QAAM,EAAE,WAAW,mBAAmB,gBAAgB,cAAc,IAAI;AACxE,QAAM,SAAS;AAAA,IACb,MAAM,4BAA4B,SAAS;AAAA,IAC3C,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,UAAU,QAAQ,MAAM,UAAU,OAAO,SAAS,CAAC,MAAM,CAAC;AAChE,SACE,qBAAC,SAAI,WAAW,wBAAQ,OACtB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO,UAAU;AAAA,QACjB,UAAU;AAAA;AAAA,IACZ;AAAA,IACC,qBAAqB,WACpB;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,wBAAQ;AAAA,QACnB,OAAO,eAAe,UAAU;AAAA,QAChC,UAAU,gBAAgB,SAAS,UAAU,EAAE;AAAA,QAC/C,SAAS,OAAK,kBAAkB,UAAU,EAAE;AAAA;AAAA,IAC9C;AAAA,KAEJ;AAEJ;AAkBO,IAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqB;AACnB,QAAM,qBAAqB,kBAAkB,QAAQ,IAAI;AAEzD,QAAM,IAAqC,UAAU;AAErD,YAAU,MAAM;AACd,UAAM,KAAU,CAAC;AACjB,QAAI,oBAAoB,SAAS,GAAG;AAClC,yBAAmB,QAAQ,CAACA,OAAW;AACrC,WAAGA,GAAE,EAAE,IAAIA,GAAE;AAAA,MACf,CAAC;AACD,UAAI,oBAAoB,IAAI,MAAM,oBAAoB,EAAE;AACtD,qBAAa,EAAE;AAAA,IACnB;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,oBAAoB,CAAC,IAAY,UAAe;AACpD,UAAM,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM;AACvC,iBAAa,SAAS,EAAE,IAAI,MAAM,CAAC;AAAA,EACrC;AAEA,SACE,oBAAC,SAAI,WAAW,wBAAQ,UAAU,KAAK,GACpC,8BAAoB,IAAI,CAACA,OAAW;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,WAAWA;AAAA,QACX,eAAe;AAAA,QACf;AAAA,QACA;AAAA;AAAA,MAJKA,GAAE;AAAA,IAKT;AAAA,EAEJ,CAAC,GACH;AAEJ;","names":["p"]}
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkX4O42D2Pcjs = require('../chunk-X4O42D2P.cjs');
4
- require('../chunk-OFUKQ2TB.cjs');
3
+ var _chunkZ5Z6AKH7cjs = require('../chunk-Z5Z6AKH7.cjs');
4
+ require('../chunk-CVLSVTCX.cjs');
5
5
 
6
6
 
7
- exports.LockButton = _chunkX4O42D2Pcjs.LockButton;
7
+ exports.LockButton = _chunkZ5Z6AKH7cjs.LockButton;
8
8
  //# sourceMappingURL=LockButton.cjs.map