@fxhash/params 0.0.5 → 0.0.8

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 (194) hide show
  1. package/dist/BaseInput.cjs +13 -0
  2. package/dist/BaseInput.cjs.map +1 -0
  3. package/dist/BaseInput.css +112 -0
  4. package/dist/BaseInput.css.map +1 -0
  5. package/dist/BaseInput.d.ts +12 -0
  6. package/dist/BaseInput.js +13 -0
  7. package/dist/BaseInput.js.map +1 -0
  8. package/dist/Context.cjs +49 -0
  9. package/dist/Context.cjs.map +1 -0
  10. package/dist/Context.d.ts +19 -0
  11. package/dist/Context.js +49 -0
  12. package/dist/Context.js.map +1 -0
  13. package/dist/Controller/BigInt.cjs +10 -0
  14. package/dist/Controller/BigInt.cjs.map +1 -0
  15. package/dist/Controller/BigInt.css +183 -0
  16. package/dist/Controller/BigInt.css.map +1 -0
  17. package/dist/Controller/BigInt.d.ts +8 -0
  18. package/dist/Controller/BigInt.js +10 -0
  19. package/dist/Controller/BigInt.js.map +1 -0
  20. package/dist/Controller/Boolean.cjs +9 -0
  21. package/dist/Controller/Boolean.cjs.map +1 -0
  22. package/dist/Controller/Boolean.css +183 -0
  23. package/dist/Controller/Boolean.css.map +1 -0
  24. package/dist/Controller/Boolean.d.ts +8 -0
  25. package/dist/Controller/Boolean.js +9 -0
  26. package/dist/Controller/Boolean.js.map +1 -0
  27. package/dist/Controller/Bytes.cjs +9 -0
  28. package/dist/Controller/Bytes.cjs.map +1 -0
  29. package/dist/Controller/Bytes.css +191 -0
  30. package/dist/Controller/Bytes.css.map +1 -0
  31. package/dist/Controller/Bytes.d.ts +8 -0
  32. package/dist/Controller/Bytes.js +9 -0
  33. package/dist/Controller/Bytes.js.map +1 -0
  34. package/dist/Controller/Color.cjs +10 -0
  35. package/dist/Controller/Color.cjs.map +1 -0
  36. package/dist/Controller/Color.css +227 -0
  37. package/dist/Controller/Color.css.map +1 -0
  38. package/dist/Controller/Color.d.ts +8 -0
  39. package/dist/Controller/Color.js +10 -0
  40. package/dist/Controller/Color.js.map +1 -0
  41. package/dist/Controller/Controller.cjs +14 -0
  42. package/dist/Controller/Controller.cjs.map +1 -0
  43. package/dist/Controller/Controller.css +183 -0
  44. package/dist/Controller/Controller.css.map +1 -0
  45. package/dist/Controller/Controller.d.ts +41 -0
  46. package/dist/Controller/Controller.js +14 -0
  47. package/dist/Controller/Controller.js.map +1 -0
  48. package/dist/Controller/Invalid.cjs +7 -0
  49. package/dist/Controller/Invalid.cjs.map +1 -0
  50. package/dist/Controller/Invalid.css +48 -0
  51. package/dist/Controller/Invalid.css.map +1 -0
  52. package/dist/Controller/Invalid.d.ts +11 -0
  53. package/dist/Controller/Invalid.js +7 -0
  54. package/dist/Controller/Invalid.js.map +1 -0
  55. package/dist/Controller/Number.cjs +9 -0
  56. package/dist/Controller/Number.cjs.map +1 -0
  57. package/dist/Controller/Number.css +183 -0
  58. package/dist/Controller/Number.css.map +1 -0
  59. package/dist/Controller/Number.d.ts +8 -0
  60. package/dist/Controller/Number.js +9 -0
  61. package/dist/Controller/Number.js.map +1 -0
  62. package/dist/Controller/Param.cjs +21 -0
  63. package/dist/Controller/Param.cjs.map +1 -0
  64. package/dist/Controller/Param.css +283 -0
  65. package/dist/Controller/Param.css.map +1 -0
  66. package/dist/Controller/Param.d.ts +25 -0
  67. package/dist/Controller/Param.js +21 -0
  68. package/dist/Controller/Param.js.map +1 -0
  69. package/dist/Controller/Select.cjs +9 -0
  70. package/dist/Controller/Select.cjs.map +1 -0
  71. package/dist/Controller/Select.css +183 -0
  72. package/dist/Controller/Select.css.map +1 -0
  73. package/dist/Controller/Select.d.ts +8 -0
  74. package/dist/Controller/Select.js +9 -0
  75. package/dist/Controller/Select.js.map +1 -0
  76. package/dist/Controller/String.cjs +9 -0
  77. package/dist/Controller/String.cjs.map +1 -0
  78. package/dist/Controller/String.css +183 -0
  79. package/dist/Controller/String.css.map +1 -0
  80. package/dist/Controller/String.d.ts +8 -0
  81. package/dist/Controller/String.js +9 -0
  82. package/dist/Controller/String.js.map +1 -0
  83. package/dist/Controls.cjs +102 -0
  84. package/dist/Controls.cjs.map +1 -0
  85. package/dist/Controls.css +304 -0
  86. package/dist/Controls.css.map +1 -0
  87. package/dist/Controls.d.ts +17 -0
  88. package/dist/Controls.js +102 -0
  89. package/dist/Controls.js.map +1 -0
  90. package/dist/LockButton/LockButton.cjs +8 -0
  91. package/dist/LockButton/LockButton.cjs.map +1 -0
  92. package/dist/LockButton/LockButton.css +117 -0
  93. package/dist/LockButton/LockButton.css.map +1 -0
  94. package/dist/LockButton/LockButton.d.ts +11 -0
  95. package/dist/LockButton/LockButton.js +8 -0
  96. package/dist/LockButton/LockButton.js.map +1 -0
  97. package/dist/ParamsHistory.cjs +89 -0
  98. package/dist/ParamsHistory.cjs.map +1 -0
  99. package/dist/ParamsHistory.d.ts +22 -0
  100. package/dist/ParamsHistory.js +89 -0
  101. package/dist/ParamsHistory.js.map +1 -0
  102. package/dist/RuntimeContext.cjs +10 -0
  103. package/dist/RuntimeContext.cjs.map +1 -0
  104. package/dist/RuntimeContext.d.ts +44 -0
  105. package/dist/RuntimeContext.js +10 -0
  106. package/dist/RuntimeContext.js.map +1 -0
  107. package/dist/chunk-2BHABOFI.js +43 -0
  108. package/dist/chunk-2BHABOFI.js.map +1 -0
  109. package/dist/chunk-2QIAF3U7.js +39 -0
  110. package/dist/chunk-2QIAF3U7.js.map +1 -0
  111. package/dist/chunk-4OV7OX5A.js +37 -0
  112. package/dist/chunk-4OV7OX5A.js.map +1 -0
  113. package/dist/chunk-57UENWLF.js +110 -0
  114. package/dist/chunk-57UENWLF.js.map +1 -0
  115. package/dist/chunk-6VMIOQSE.js +34 -0
  116. package/dist/chunk-6VMIOQSE.js.map +1 -0
  117. package/dist/chunk-C6GTVBY6.cjs +46 -0
  118. package/dist/chunk-C6GTVBY6.cjs.map +1 -0
  119. package/dist/chunk-CE3TPOSO.js +135 -0
  120. package/dist/chunk-CE3TPOSO.js.map +1 -0
  121. package/dist/chunk-D4RVVQC7.cjs +23 -0
  122. package/dist/chunk-D4RVVQC7.cjs.map +1 -0
  123. package/dist/chunk-EACKNC6C.cjs +103 -0
  124. package/dist/chunk-EACKNC6C.cjs.map +1 -0
  125. package/dist/chunk-FZWZHHQ2.js +398 -0
  126. package/dist/chunk-FZWZHHQ2.js.map +1 -0
  127. package/dist/chunk-H5IMTNFG.js +44 -0
  128. package/dist/chunk-H5IMTNFG.js.map +1 -0
  129. package/dist/chunk-HJBHIE5T.cjs +135 -0
  130. package/dist/chunk-HJBHIE5T.cjs.map +1 -0
  131. package/dist/chunk-JAU4ONF2.cjs +24 -0
  132. package/dist/chunk-JAU4ONF2.cjs.map +1 -0
  133. package/dist/chunk-K4EW6YY3.cjs +34 -0
  134. package/dist/chunk-K4EW6YY3.cjs.map +1 -0
  135. package/dist/chunk-KZMSUHQX.cjs +120 -0
  136. package/dist/chunk-KZMSUHQX.cjs.map +1 -0
  137. package/dist/chunk-LX23UR4X.cjs +115 -0
  138. package/dist/chunk-LX23UR4X.cjs.map +1 -0
  139. package/dist/chunk-MWP7SJWC.js +103 -0
  140. package/dist/chunk-MWP7SJWC.js.map +1 -0
  141. package/dist/chunk-OFUKQ2TB.cjs +43 -0
  142. package/dist/chunk-OFUKQ2TB.cjs.map +1 -0
  143. package/dist/chunk-P77D7XSP.js +46 -0
  144. package/dist/chunk-P77D7XSP.js.map +1 -0
  145. package/dist/chunk-PTXBICTZ.js +67 -0
  146. package/dist/chunk-PTXBICTZ.js.map +1 -0
  147. package/dist/chunk-QDLMFMLL.cjs +398 -0
  148. package/dist/chunk-QDLMFMLL.cjs.map +1 -0
  149. package/dist/chunk-QM6EKPI6.cjs +67 -0
  150. package/dist/chunk-QM6EKPI6.cjs.map +1 -0
  151. package/dist/chunk-TKKYM77A.cjs +44 -0
  152. package/dist/chunk-TKKYM77A.cjs.map +1 -0
  153. package/dist/chunk-VED7SCYX.cjs +39 -0
  154. package/dist/chunk-VED7SCYX.cjs.map +1 -0
  155. package/dist/chunk-X4O42D2P.cjs +37 -0
  156. package/dist/chunk-X4O42D2P.cjs.map +1 -0
  157. package/dist/chunk-YOS2HCIS.js +23 -0
  158. package/dist/chunk-YOS2HCIS.js.map +1 -0
  159. package/dist/chunk-YXDLGCFJ.cjs +110 -0
  160. package/dist/chunk-YXDLGCFJ.cjs.map +1 -0
  161. package/dist/chunk-YYEIYDDF.js +24 -0
  162. package/dist/chunk-YYEIYDDF.js.map +1 -0
  163. package/dist/chunk-Z7K2LNS2.js +115 -0
  164. package/dist/chunk-Z7K2LNS2.js.map +1 -0
  165. package/dist/chunk-ZG3OT7LF.js +120 -0
  166. package/dist/chunk-ZG3OT7LF.js.map +1 -0
  167. package/dist/hooks.cjs +29 -0
  168. package/dist/hooks.cjs.map +1 -0
  169. package/dist/hooks.d.ts +6 -0
  170. package/dist/hooks.js +29 -0
  171. package/dist/hooks.js.map +1 -0
  172. package/dist/index.cjs +7 -0
  173. package/dist/index.cjs.map +1 -0
  174. package/dist/index.css +112 -0
  175. package/dist/index.css.map +1 -0
  176. package/dist/index.d.ts +3 -0
  177. package/dist/index.js +7 -0
  178. package/dist/index.js.map +1 -0
  179. package/dist/types.cjs +1 -0
  180. package/dist/types.cjs.map +1 -0
  181. package/dist/types.d.ts +100 -0
  182. package/dist/types.js +1 -0
  183. package/dist/types.js.map +1 -0
  184. package/dist/utils.cjs +33 -0
  185. package/dist/utils.cjs.map +1 -0
  186. package/dist/utils.d.ts +50 -0
  187. package/dist/utils.js +33 -0
  188. package/dist/utils.js.map +1 -0
  189. package/dist/validation.cjs +9 -0
  190. package/dist/validation.cjs.map +1 -0
  191. package/dist/validation.d.ts +241 -0
  192. package/dist/validation.js +9 -0
  193. package/dist/validation.js.map +1 -0
  194. package/package.json +1 -1
@@ -0,0 +1,37 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkOFUKQ2TBcjs = require('./chunk-OFUKQ2TB.cjs');
4
+
5
+ // src/LockButton/LockButton.tsx
6
+ var _reactfontawesome = require('@fortawesome/react-fontawesome');
7
+
8
+ // src/LockButton/LockButton.module.scss
9
+ var LockButton_module_default = {
10
+ "lockButton": "_lockButton_1bbiz_1"
11
+ };
12
+
13
+ // src/LockButton/LockButton.tsx
14
+ var _freesolidsvgicons = require('@fortawesome/free-solid-svg-icons');
15
+ var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
16
+ var _jsxruntime = require('react/jsx-runtime');
17
+ function LockButton(props) {
18
+ const { isLocked, className, ...rest } = props;
19
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20
+ _chunkOFUKQ2TBcjs.IconButton,
21
+ {
22
+ color: "secondary",
23
+ className: _classnames2.default.call(void 0,
24
+ LockButton_module_default.lockButton,
25
+ { [LockButton_module_default.isOpen]: !isLocked },
26
+ className
27
+ ),
28
+ ...rest,
29
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactfontawesome.FontAwesomeIcon, { icon: isLocked ? _freesolidsvgicons.faLock : _freesolidsvgicons.faLockOpen })
30
+ }
31
+ );
32
+ }
33
+
34
+
35
+
36
+ exports.LockButton = LockButton;
37
+ //# sourceMappingURL=chunk-X4O42D2P.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/LockButton/LockButton.tsx","../src/LockButton/LockButton.module.scss"],"names":[],"mappings":";;;;;AAAA,SAAS,uBAAuB;;;ACAyB,IAAO,4BAAQ;AAAA,EACtE,cAAc;AAChB;;;ADCA,SAAS,QAAQ,kBAAkB;AACnC,OAAO,QAAQ;AAkBT;AAZC,SAAS,WAAW,OAAwB;AACjD,QAAM,EAAE,UAAU,WAAW,GAAG,KAAK,IAAI;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,WAAW;AAAA,QACT,0BAAQ;AAAA,QACR,EAAE,CAAC,0BAAQ,MAAM,GAAG,CAAC,SAAS;AAAA,QAC9B;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,8BAAC,mBAAgB,MAAM,WAAW,SAAS,YAAY;AAAA;AAAA,EACzD;AAEJ","sourcesContent":["import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { BaseButtonProps, IconButton } from \"../BaseInput\"\nimport classes from \"./LockButton.module.scss\"\nimport { faLock, faLockOpen } from \"@fortawesome/free-solid-svg-icons\"\nimport cx from \"classnames\"\ninterface LockButtonProps extends BaseButtonProps {\n isLocked?: boolean\n className?: string\n}\n\nexport function LockButton(props: LockButtonProps) {\n const { isLocked, className, ...rest } = props\n return (\n <IconButton\n color=\"secondary\"\n className={cx(\n classes.lockButton,\n { [classes.isOpen]: !isLocked },\n className\n )}\n {...rest}\n >\n <FontAwesomeIcon icon={isLocked ? faLock : faLockOpen} />\n </IconButton>\n )\n}\n","import 'css-chunk:src/LockButton/LockButton.module.scss';export default {\n \"lockButton\": \"_lockButton_1bbiz_1\"\n};"]}
@@ -0,0 +1,23 @@
1
+ import {
2
+ HTMLInputController
3
+ } from "./chunk-CE3TPOSO.js";
4
+
5
+ // src/Controller/Boolean.tsx
6
+ import { jsx } from "react/jsx-runtime";
7
+ function BooleanController(props) {
8
+ const { ...rest } = props;
9
+ return /* @__PURE__ */ jsx(
10
+ HTMLInputController,
11
+ {
12
+ type: "checkbox",
13
+ layout: "box",
14
+ inputProps: { checked: props.value },
15
+ ...rest
16
+ }
17
+ );
18
+ }
19
+
20
+ export {
21
+ BooleanController
22
+ };
23
+ //# sourceMappingURL=chunk-YOS2HCIS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/Boolean.tsx"],"sourcesContent":["import { FxParamControllerProps, HTMLInputController } from \"./Controller\"\nimport classes from \"./Controller.module.scss\"\n\nexport function BooleanController(props: FxParamControllerProps<\"boolean\">) {\n const { ...rest } = props\n return (\n <HTMLInputController\n type=\"checkbox\"\n layout=\"box\"\n inputProps={{ checked: props.value }}\n {...rest}\n />\n )\n}\n"],"mappings":";;;;;AAMI;AAHG,SAAS,kBAAkB,OAA0C;AAC1E,QAAM,EAAE,GAAG,KAAK,IAAI;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,QAAO;AAAA,MACP,YAAY,EAAE,SAAS,MAAM,MAAM;AAAA,MAClC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,110 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkTKKYM77Acjs = require('./chunk-TKKYM77A.cjs');
4
+
5
+
6
+ var _chunkK4EW6YY3cjs = require('./chunk-K4EW6YY3.cjs');
7
+
8
+
9
+ var _chunkJAU4ONF2cjs = require('./chunk-JAU4ONF2.cjs');
10
+
11
+
12
+ var _chunkEACKNC6Ccjs = require('./chunk-EACKNC6C.cjs');
13
+
14
+
15
+ var _chunkC6GTVBY6cjs = require('./chunk-C6GTVBY6.cjs');
16
+
17
+
18
+ var _chunkD4RVVQC7cjs = require('./chunk-D4RVVQC7.cjs');
19
+
20
+
21
+ var _chunkVED7SCYXcjs = require('./chunk-VED7SCYX.cjs');
22
+
23
+
24
+ var _chunkKZMSUHQXcjs = require('./chunk-KZMSUHQX.cjs');
25
+
26
+
27
+ var _chunkQM6EKPI6cjs = require('./chunk-QM6EKPI6.cjs');
28
+
29
+ // src/Controller/Param.tsx
30
+ var _react = require('react');
31
+ var _jsxruntime = require('react/jsx-runtime');
32
+ var controllerDefinitions = {
33
+ number: {
34
+ type: "number",
35
+ controller: _chunkTKKYM77Acjs.NumberController,
36
+ handler: (e) => Number(e.target.value)
37
+ },
38
+ bigint: {
39
+ type: "bigint",
40
+ controller: _chunkC6GTVBY6cjs.BigIntController,
41
+ handler: (e) => BigInt(e.target.value)
42
+ },
43
+ string: {
44
+ type: "string",
45
+ controller: _chunkJAU4ONF2cjs.StringController,
46
+ handler: (e) => e.target.value
47
+ },
48
+ bytes: {
49
+ type: "bytes",
50
+ controller: _chunkVED7SCYXcjs.BytesController,
51
+ handler: (e) => e.target.value
52
+ },
53
+ boolean: {
54
+ type: "boolean",
55
+ controller: _chunkD4RVVQC7cjs.BooleanController,
56
+ handler: (e) => e.target.checked
57
+ },
58
+ color: {
59
+ type: "color",
60
+ controller: _chunkKZMSUHQXcjs.ColorController,
61
+ handler: (v) => v
62
+ },
63
+ select: {
64
+ type: "select",
65
+ controller: _chunkK4EW6YY3cjs.SelectController,
66
+ handler: (e) => e.target.value
67
+ }
68
+ };
69
+ function ParameterController(props) {
70
+ const { parameter, onChange, parsed } = props;
71
+ const parsedDefinition = _react.useMemo.call(void 0,
72
+ () => parsed || _chunkEACKNC6Ccjs.validateParameterDefinition.call(void 0, parameter),
73
+ [parameter, parsed]
74
+ );
75
+ const { controller: Controller, handler } = _react.useMemo.call(void 0,
76
+ () => controllerDefinitions[parameter.type],
77
+ [parameter.type]
78
+ );
79
+ const handleChangeParam = (e) => {
80
+ const value = handler(e);
81
+ onChange(parameter.id, value);
82
+ };
83
+ if (parsedDefinition && parsedDefinition.success === false) {
84
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
85
+ _chunkQM6EKPI6cjs.ControllerInvalid,
86
+ {
87
+ definition: parameter,
88
+ error: parsedDefinition.error
89
+ }
90
+ );
91
+ }
92
+ const isCodeDriven = parameter.update === "code-driven";
93
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
94
+ Controller,
95
+ {
96
+ id: parameter.id,
97
+ label: parameter.name,
98
+ value: props.value,
99
+ onChange: handleChangeParam,
100
+ options: parameter.options,
101
+ isCodeDriven
102
+ }
103
+ );
104
+ }
105
+
106
+
107
+
108
+
109
+ exports.controllerDefinitions = controllerDefinitions; exports.ParameterController = ParameterController;
110
+ //# sourceMappingURL=chunk-YXDLGCFJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/Param.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,eAA6B;AA6FhC;AAlEC,IAAM,wBAAsD;AAAA,EACjE,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,CAAC,MAAM,OAAO,EAAE,OAAO,KAAK;AAAA,EACvC;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,CAAC,MAAM,OAAO,EAAE,OAAO,KAAK;AAAA,EACvC;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,CAAC,MAAM,EAAE,OAAO;AAAA,EAC3B;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,CAAC,MAAM,EAAE,OAAO;AAAA,EAC3B;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,CAAC,MAAO,EAA0C,OAAO;AAAA,EACpE;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,CAAC,MAAM;AAAA,EAClB;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,CAAC,MAAM,EAAE,OAAO;AAAA,EAC3B;AACF;AAWO,SAAS,oBAAoB,OAAiC;AACnE,QAAM,EAAE,WAAW,UAAU,OAAO,IAAI;AAExC,QAAM,mBAAmB;AAAA,IACvB,MAAM,UAAU,4BAA4B,SAAS;AAAA,IACrD,CAAC,WAAW,MAAM;AAAA,EACpB;AACA,QAAM,EAAE,YAAY,YAAY,QAAQ,IAAI;AAAA,IAC1C,MAAM,sBAAsB,UAAU,IAAI;AAAA,IAC1C,CAAC,UAAU,IAAI;AAAA,EACjB;AAEA,QAAM,oBAAoB,CAAC,MAAW;AACpC,UAAM,QAAQ,QAAQ,CAAC;AACvB,aAAS,UAAU,IAAI,KAAK;AAAA,EAC9B;AAEA,MAAI,oBAAoB,iBAAiB,YAAY,OAAO;AAC1D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,YAAY;AAAA,QACZ,OAAO,iBAAiB;AAAA;AAAA,IAC1B;AAAA,EAEJ;AAEA,QAAM,eAAe,UAAU,WAAW;AAE1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,UAAU;AAAA,MACd,OAAO,UAAU;AAAA,MACjB,OAAO,MAAM;AAAA,MACb,UAAU;AAAA,MAEV,SAAS,UAAU;AAAA,MACnB;AAAA;AAAA,EACF;AAEJ","sourcesContent":["import { useMemo, ReactElement } from \"react\"\nimport { FxParamDefinition, FxParamType } from \"../types\"\nimport { FxParamInputChangeHandler, FxParamControllerProps } from \"./Controller\"\nimport { BooleanController } from \"./Boolean\"\nimport { ColorController } from \"./Color\"\nimport { NumberController } from \"./Number\"\nimport { BigIntController } from \"./BigInt\"\nimport { SelectController } from \"./Select\"\nimport { StringController } from \"./String\"\nimport {\n validateParameterDefinition,\n ControllerDefinitionSchemaType,\n} from \"../validation\"\nimport { SafeParseError, SafeParseSuccess, z } from \"zod\"\nimport { ControllerInvalid } from \"./Invalid\"\nimport { BytesController } from \"./Bytes\"\n\ninterface FxParamControllerDefiniton<Type extends FxParamType> {\n type: Type\n controller: (props: FxParamControllerProps<Type>) => ReactElement\n handler: FxParamInputChangeHandler\n}\n\nexport type FxParamControllerDefinitions = {\n [T in FxParamType]: FxParamControllerDefiniton<T>\n}\n\nexport const controllerDefinitions: FxParamControllerDefinitions = {\n number: {\n type: \"number\",\n controller: NumberController,\n handler: (e) => Number(e.target.value),\n },\n bigint: {\n type: \"bigint\",\n controller: BigIntController,\n handler: (e) => BigInt(e.target.value),\n },\n string: {\n type: \"string\",\n controller: StringController,\n handler: (e) => e.target.value,\n },\n bytes: {\n type: \"bytes\",\n controller: BytesController,\n handler: (e) => e.target.value,\n },\n boolean: {\n type: \"boolean\",\n controller: BooleanController,\n handler: (e) => (e as React.ChangeEvent<HTMLInputElement>).target.checked,\n },\n color: {\n type: \"color\",\n controller: ColorController,\n handler: (v) => v,\n },\n select: {\n type: \"select\",\n controller: SelectController,\n handler: (e) => e.target.value,\n },\n}\n\nexport interface ParameterControllerProps {\n parameter: FxParamDefinition<FxParamType>\n value: any\n onChange: (id: string, value: any) => void\n parsed?:\n | SafeParseError<ControllerDefinitionSchemaType>\n | SafeParseSuccess<ControllerDefinitionSchemaType>\n}\n\nexport function ParameterController(props: ParameterControllerProps) {\n const { parameter, onChange, parsed } = props\n\n const parsedDefinition = useMemo(\n () => parsed || validateParameterDefinition(parameter),\n [parameter, parsed]\n )\n const { controller: Controller, handler } = useMemo(\n () => controllerDefinitions[parameter.type],\n [parameter.type]\n )\n\n const handleChangeParam = (e: any) => {\n const value = handler(e)\n onChange(parameter.id, value)\n }\n\n if (parsedDefinition && parsedDefinition.success === false) {\n return (\n <ControllerInvalid\n definition={parameter}\n error={parsedDefinition.error}\n />\n )\n }\n\n const isCodeDriven = parameter.update === \"code-driven\"\n\n return (\n <Controller\n id={parameter.id}\n label={parameter.name}\n value={props.value}\n onChange={handleChangeParam}\n // TODO: This should be properly casted\n options={parameter.options as any}\n isCodeDriven={isCodeDriven}\n />\n )\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import {
2
+ HTMLInputController
3
+ } from "./chunk-CE3TPOSO.js";
4
+
5
+ // src/Controller/String.tsx
6
+ import { jsx } from "react/jsx-runtime";
7
+ function StringController(props) {
8
+ const { options } = props;
9
+ const minLength = Number(options?.minLength) || 0;
10
+ const maxLength = Number(options?.maxLength) || 64;
11
+ return /* @__PURE__ */ jsx(
12
+ HTMLInputController,
13
+ {
14
+ type: "text",
15
+ inputProps: { minLength, maxLength },
16
+ ...props
17
+ }
18
+ );
19
+ }
20
+
21
+ export {
22
+ StringController
23
+ };
24
+ //# sourceMappingURL=chunk-YYEIYDDF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/String.tsx"],"sourcesContent":["import { FxParamControllerProps, HTMLInputController } from \"./Controller\"\n\nexport function StringController(props: FxParamControllerProps<\"string\">) {\n const { options } = props\n const minLength = Number(options?.minLength) || 0\n const maxLength = Number(options?.maxLength) || 64\n\n return (\n <HTMLInputController\n type=\"text\"\n inputProps={{ minLength, maxLength }}\n {...props}\n />\n )\n}\n"],"mappings":";;;;;AAQI;AANG,SAAS,iBAAiB,OAAyC;AACxE,QAAM,EAAE,QAAQ,IAAI;AACpB,QAAM,YAAY,OAAO,SAAS,SAAS,KAAK;AAChD,QAAM,YAAY,OAAO,SAAS,SAAS,KAAK;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,YAAY,EAAE,WAAW,UAAU;AAAA,MAClC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,115 @@
1
+ import {
2
+ jsonStringifyBigint,
3
+ sumBytesParams
4
+ } from "./chunk-FZWZHHQ2.js";
5
+
6
+ // src/RuntimeContext.tsx
7
+ import { useMemo, useState } from "react";
8
+ import { createContext } from "react";
9
+ import sha1 from "sha1";
10
+ import { jsx } from "react/jsx-runtime";
11
+ function hashRuntimeState(state) {
12
+ return sha1(jsonStringifyBigint(state));
13
+ }
14
+ function hashRuntimeHardState(state, definition) {
15
+ const staticParams = {};
16
+ for (const id in state.params) {
17
+ const def = definition?.find((def2) => def2.id === id);
18
+ if (!def || !def.update || def.update === "page-reload") {
19
+ staticParams[id] = state.params[id];
20
+ }
21
+ }
22
+ return hashRuntimeState({
23
+ ...state,
24
+ params: staticParams
25
+ });
26
+ }
27
+ var defaultRuntimeContext = {
28
+ state: {
29
+ hash: "",
30
+ minter: "",
31
+ params: {},
32
+ update: () => {
33
+ },
34
+ iteration: 1,
35
+ context: "standalone"
36
+ },
37
+ definition: {
38
+ params: null,
39
+ version: null,
40
+ update: () => {
41
+ }
42
+ },
43
+ details: {
44
+ paramsByteSize: 0,
45
+ stateHash: {
46
+ soft: "",
47
+ hard: ""
48
+ }
49
+ }
50
+ };
51
+ var RuntimeContext = createContext(defaultRuntimeContext);
52
+ function RuntimeProvider({ children }) {
53
+ const [state, setState] = useState({
54
+ hash: "",
55
+ minter: "",
56
+ params: {},
57
+ iteration: 1,
58
+ context: new URLSearchParams(window.location.search).get(
59
+ "fxcontext"
60
+ ) || "standalone"
61
+ });
62
+ const [definition, setDefinition] = useState({
63
+ params: null,
64
+ version: null
65
+ });
66
+ const update = (data) => {
67
+ setState((lastState) => ({
68
+ ...lastState,
69
+ ...data
70
+ }));
71
+ };
72
+ const updateDefinition = (data) => {
73
+ setDefinition((lastDefinition) => ({
74
+ ...lastDefinition,
75
+ ...data
76
+ }));
77
+ };
78
+ const definitionEnhanced = useMemo(
79
+ () => ({
80
+ ...definition,
81
+ params: definition.params?.map((p) => ({
82
+ ...p,
83
+ version: definition.version || "0"
84
+ })) || null
85
+ }),
86
+ [definition]
87
+ );
88
+ const ctx = {
89
+ state: {
90
+ ...state,
91
+ update
92
+ },
93
+ definition: {
94
+ ...definitionEnhanced,
95
+ update: updateDefinition
96
+ },
97
+ details: useMemo(
98
+ () => ({
99
+ paramsByteSize: sumBytesParams(definition.params || []),
100
+ stateHash: {
101
+ soft: hashRuntimeState(state),
102
+ hard: hashRuntimeHardState(state, definition.params)
103
+ }
104
+ }),
105
+ [state, definition.params]
106
+ )
107
+ };
108
+ return /* @__PURE__ */ jsx(RuntimeContext.Provider, { value: ctx, children });
109
+ }
110
+
111
+ export {
112
+ RuntimeContext,
113
+ RuntimeProvider
114
+ };
115
+ //# sourceMappingURL=chunk-Z7K2LNS2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/RuntimeContext.tsx"],"sourcesContent":["import {\n FxParamDefinition,\n FxParamType,\n FxParamsData,\n} from \"types\"\nimport { PropsWithChildren, useMemo, useState } from \"react\"\nimport { createContext } from \"react\"\nimport sha1 from \"sha1\"\nimport { jsonStringifyBigint, sumBytesParams } from \"utils\"\n\nexport type TUpdateStateFn<T> = (data: Partial<T>) => void\n\nexport type TUpdateableState<T> = T & {\n update: TUpdateStateFn<T>\n}\n/**\n * The Runtime Context is responsible for managing the state of a project ran\n * in a frame. It centralizes any source of data to derive the project and\n * facilitate their manipulation from the outside.\n *\n * See comments on IRuntimeContext for more details.\n */\n\nexport type TExecutionContext = \"minting\" | \"standalone\" | \"capture\"\n\nexport interface RuntimeState {\n hash: string\n minter: string\n params: FxParamsData\n iteration: number\n context: TExecutionContext\n}\n\nexport interface RuntimeDefinition {\n params: FxParamDefinition<FxParamType>[] | null\n version: string | null\n}\n\n/**\n * Hashes a runtime state using sha1\n */\nfunction hashRuntimeState(state: RuntimeState): string {\n return sha1(jsonStringifyBigint(state))\n}\n\n/**\n * Hashes the hard-refresh properties of a runtime state:\n * - hash\n * - minter address\n * - params in update mode \"page-reload\"\n */\nfunction hashRuntimeHardState(\n state: RuntimeState,\n definition: FxParamDefinition<FxParamType>[] | null\n): string {\n const staticParams: FxParamsData = {}\n for (const id in state.params) {\n const def = definition?.find((def) => def.id === id)\n // if no definition, or update == \"page-reload\" (which is default value)\n if (!def || !def.update || def.update === \"page-reload\") {\n staticParams[id] = state.params[id]\n }\n }\n return hashRuntimeState({\n ...state,\n params: staticParams,\n })\n}\n\nexport interface IRuntimeContext {\n // the base state of the runtime\n state: TUpdateableState<RuntimeState>\n // definitions, used to manipulate the state\n definition: TUpdateableState<RuntimeDefinition>\n // extra details derived from the state & definition\n details: {\n paramsByteSize: number\n stateHash: {\n soft: string\n hard: string\n }\n }\n}\n\nconst defaultRuntimeContext: IRuntimeContext = {\n state: {\n hash: \"\",\n minter: \"\",\n params: {},\n update: () => {},\n iteration: 1,\n context: \"standalone\",\n },\n definition: {\n params: null,\n version: null,\n update: () => {},\n },\n details: {\n paramsByteSize: 0,\n stateHash: {\n soft: \"\",\n hard: \"\",\n },\n },\n}\n\nexport const RuntimeContext = createContext(defaultRuntimeContext)\n\ntype Props = PropsWithChildren<any>\nexport function RuntimeProvider({ children }: Props) {\n const [state, setState] = useState<RuntimeState>({\n hash: \"\",\n minter: \"\",\n params: {},\n iteration: 1,\n context:\n (new URLSearchParams(window.location.search).get(\n \"fxcontext\"\n ) as TExecutionContext) || \"standalone\",\n })\n const [definition, setDefinition] = useState<RuntimeDefinition>({\n params: null,\n version: null,\n })\n\n const update: TUpdateStateFn<RuntimeState> = (data) => {\n setState((lastState) => ({\n ...lastState,\n ...data,\n }))\n }\n\n const updateDefinition: TUpdateStateFn<RuntimeDefinition> = (data) => {\n setDefinition((lastDefinition) => ({\n ...lastDefinition,\n ...data,\n }))\n }\n\n // enhance each param definition with the version (useful for serialization)\n const definitionEnhanced = useMemo(\n () => ({\n ...definition,\n params:\n definition.params?.map((p: FxParamDefinition<FxParamType>) => ({\n ...p,\n version: definition.version || \"0\",\n })) || null,\n }),\n [definition]\n )\n\n const ctx: IRuntimeContext = {\n state: {\n ...state,\n update,\n },\n definition: {\n ...definitionEnhanced,\n update: updateDefinition,\n },\n details: useMemo(\n () => ({\n paramsByteSize: sumBytesParams(definition.params || []),\n stateHash: {\n soft: hashRuntimeState(state),\n hard: hashRuntimeHardState(state, definition.params),\n },\n }),\n [state, definition.params]\n ),\n }\n\n return (\n <RuntimeContext.Provider value={ctx}>{children}</RuntimeContext.Provider>\n )\n}\n"],"mappings":";;;;;;AAKA,SAA4B,SAAS,gBAAgB;AACrD,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AAwKb;AAtIJ,SAAS,iBAAiB,OAA6B;AACrD,SAAO,KAAK,oBAAoB,KAAK,CAAC;AACxC;AAQA,SAAS,qBACP,OACA,YACQ;AACR,QAAM,eAA6B,CAAC;AACpC,aAAW,MAAM,MAAM,QAAQ;AAC7B,UAAM,MAAM,YAAY,KAAK,CAACA,SAAQA,KAAI,OAAO,EAAE;AAEnD,QAAI,CAAC,OAAO,CAAC,IAAI,UAAU,IAAI,WAAW,eAAe;AACvD,mBAAa,EAAE,IAAI,MAAM,OAAO,EAAE;AAAA,IACpC;AAAA,EACF;AACA,SAAO,iBAAiB;AAAA,IACtB,GAAG;AAAA,IACH,QAAQ;AAAA,EACV,CAAC;AACH;AAiBA,IAAM,wBAAyC;AAAA,EAC7C,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ,CAAC;AAAA,IACT,QAAQ,MAAM;AAAA,IAAC;AAAA,IACf,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ,MAAM;AAAA,IAAC;AAAA,EACjB;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB;AAAA,IAChB,WAAW;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEO,IAAM,iBAAiB,cAAc,qBAAqB;AAG1D,SAAS,gBAAgB,EAAE,SAAS,GAAU;AACnD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAuB;AAAA,IAC/C,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ,CAAC;AAAA,IACT,WAAW;AAAA,IACX,SACG,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE;AAAA,MAC3C;AAAA,IACF,KAA2B;AAAA,EAC/B,CAAC;AACD,QAAM,CAAC,YAAY,aAAa,IAAI,SAA4B;AAAA,IAC9D,QAAQ;AAAA,IACR,SAAS;AAAA,EACX,CAAC;AAED,QAAM,SAAuC,CAAC,SAAS;AACrD,aAAS,CAAC,eAAe;AAAA,MACvB,GAAG;AAAA,MACH,GAAG;AAAA,IACL,EAAE;AAAA,EACJ;AAEA,QAAM,mBAAsD,CAAC,SAAS;AACpE,kBAAc,CAAC,oBAAoB;AAAA,MACjC,GAAG;AAAA,MACH,GAAG;AAAA,IACL,EAAE;AAAA,EACJ;AAGA,QAAM,qBAAqB;AAAA,IACzB,OAAO;AAAA,MACL,GAAG;AAAA,MACH,QACE,WAAW,QAAQ,IAAI,CAAC,OAAuC;AAAA,QAC7D,GAAG;AAAA,QACH,SAAS,WAAW,WAAW;AAAA,MACjC,EAAE,KAAK;AAAA,IACX;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AAEA,QAAM,MAAuB;AAAA,IAC3B,OAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,GAAG;AAAA,MACH,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,QACL,gBAAgB,eAAe,WAAW,UAAU,CAAC,CAAC;AAAA,QACtD,WAAW;AAAA,UACT,MAAM,iBAAiB,KAAK;AAAA,UAC5B,MAAM,qBAAqB,OAAO,WAAW,MAAM;AAAA,QACrD;AAAA,MACF;AAAA,MACA,CAAC,OAAO,WAAW,MAAM;AAAA,IAC3B;AAAA,EACF;AAEA,SACE,oBAAC,eAAe,UAAf,EAAwB,OAAO,KAAM,UAAS;AAEnD;","names":["def"]}
@@ -0,0 +1,120 @@
1
+ import {
2
+ BaseParamsInput,
3
+ Controller
4
+ } from "./chunk-CE3TPOSO.js";
5
+ import {
6
+ hexToRgba,
7
+ rgbaToHex
8
+ } from "./chunk-FZWZHHQ2.js";
9
+ import {
10
+ BaseButton
11
+ } from "./chunk-2BHABOFI.js";
12
+
13
+ // src/Controller/Color.tsx
14
+ import {
15
+ useState,
16
+ useEffect,
17
+ useRef,
18
+ useMemo
19
+ } from "react";
20
+
21
+ // src/Controller/Color.module.scss
22
+ var Color_module_default = {
23
+ "squaredButton": "_squaredButton_13v06_1",
24
+ "active": "_active_13v06_9",
25
+ "square": "_square_13v06_1",
26
+ "pickerWrapper": "_pickerWrapper_13v06_24",
27
+ "pickerAbsoluteWrapper": "_pickerAbsoluteWrapper_13v06_28",
28
+ "picker": "_picker_13v06_24",
29
+ "colorful": "_colorful_13v06_42"
30
+ };
31
+
32
+ // src/Controller/Color.tsx
33
+ import { RgbaColorPicker } from "react-colorful";
34
+ import cx from "classnames";
35
+ import { jsx, jsxs } from "react/jsx-runtime";
36
+ function ColorController(props) {
37
+ const ref = useRef(null);
38
+ const { label, id, onChange, value, layout = "box", isCodeDriven } = props;
39
+ const [showPicker, setShowPicker] = useState(false);
40
+ const handleToggleShowPicker = () => {
41
+ setShowPicker((show) => !show);
42
+ };
43
+ const handleInputChange = (e) => {
44
+ onChange(e.target.value);
45
+ };
46
+ useEffect(() => {
47
+ function handleClickOutside(event) {
48
+ if (ref.current && !ref.current?.contains(event.target)) {
49
+ setShowPicker(false);
50
+ }
51
+ }
52
+ window.addEventListener("mousedown", handleClickOutside);
53
+ return () => {
54
+ window.removeEventListener("mousedown", handleClickOutside);
55
+ };
56
+ }, [ref]);
57
+ const handleChangeColor = (newColor) => {
58
+ onChange(rgbaToHex(newColor.r, newColor.g, newColor.b, newColor.a));
59
+ };
60
+ const color = useMemo(() => hexToRgba(value), [value]);
61
+ return /* @__PURE__ */ jsxs(
62
+ Controller,
63
+ {
64
+ id,
65
+ label,
66
+ layout,
67
+ className: Color_module_default.pickerWrapper,
68
+ inputContainerProps: { ref },
69
+ isCodeDriven,
70
+ children: [
71
+ /* @__PURE__ */ jsx(
72
+ BaseButton,
73
+ {
74
+ className: cx(Color_module_default.squaredButton, { [Color_module_default.active]: showPicker }),
75
+ onClick: handleToggleShowPicker,
76
+ disabled: isCodeDriven,
77
+ children: /* @__PURE__ */ jsx(
78
+ "div",
79
+ {
80
+ className: cx(Color_module_default.square, Color_module_default.leftTop),
81
+ style: {
82
+ background: `linear-gradient(-45deg, ${value} 0%, ${value} 50%, ${value.slice(
83
+ 0,
84
+ 7
85
+ )} 50%, ${value.slice(0, 7)} 100%)`
86
+ }
87
+ }
88
+ )
89
+ }
90
+ ),
91
+ /* @__PURE__ */ jsx(
92
+ BaseParamsInput,
93
+ {
94
+ type: "text",
95
+ id: `text-${id}`,
96
+ onChange: handleInputChange,
97
+ value,
98
+ autoComplete: "off",
99
+ maxLength: 9,
100
+ minLength: 2,
101
+ disabled: isCodeDriven
102
+ }
103
+ ),
104
+ showPicker && /* @__PURE__ */ jsx("div", { className: Color_module_default.pickerAbsoluteWrapper, children: /* @__PURE__ */ jsx("div", { className: Color_module_default.picker, children: /* @__PURE__ */ jsx(
105
+ RgbaColorPicker,
106
+ {
107
+ color,
108
+ onChange: handleChangeColor,
109
+ className: Color_module_default.colorful
110
+ }
111
+ ) }) })
112
+ ]
113
+ }
114
+ );
115
+ }
116
+
117
+ export {
118
+ ColorController
119
+ };
120
+ //# sourceMappingURL=chunk-ZG3OT7LF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/Color.tsx","../src/Controller/Color.module.scss"],"sourcesContent":["import {\n useState,\n useEffect,\n useRef,\n LegacyRef,\n MutableRefObject,\n RefObject,\n ChangeEvent,\n useMemo,\n} from \"react\"\nimport { hexToRgba, rgbaToHex } from \"../utils\"\nimport {\n FxParamControllerProps,\n Controller,\n BaseParamsInput,\n} from \"./Controller\"\nimport classes from \"./Color.module.scss\"\nimport { RgbaColor, RgbaColorPicker } from \"react-colorful\"\nimport cx from \"classnames\"\nimport { BaseButton } from \"../BaseInput\"\n\nexport function ColorController(props: FxParamControllerProps<\"color\">) {\n const ref = useRef<HTMLDivElement>(null)\n const { label, id, onChange, value, layout = \"box\", isCodeDriven } = props\n const [showPicker, setShowPicker] = useState(false)\n const handleToggleShowPicker = () => {\n setShowPicker((show) => !show)\n }\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n onChange(e.target.value)\n }\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n if (ref.current && !ref.current?.contains(event.target as Node)) {\n setShowPicker(false)\n }\n }\n window.addEventListener(\"mousedown\", handleClickOutside)\n return () => {\n window.removeEventListener(\"mousedown\", handleClickOutside)\n }\n }, [ref])\n const handleChangeColor = (newColor: RgbaColor) => {\n onChange(rgbaToHex(newColor.r, newColor.g, newColor.b, newColor.a))\n }\n const color = useMemo(() => hexToRgba(value), [value])\n\n return (\n <Controller\n id={id}\n label={label}\n layout={layout}\n className={classes.pickerWrapper}\n inputContainerProps={{ ref }}\n isCodeDriven={isCodeDriven}\n >\n <BaseButton\n className={cx(classes.squaredButton, { [classes.active]: showPicker })}\n onClick={handleToggleShowPicker}\n disabled={isCodeDriven}\n >\n <div\n className={cx(classes.square, classes.leftTop)}\n style={{\n background: `linear-gradient(-45deg, ${value} 0%, ${value} 50%, ${value.slice(\n 0,\n 7\n )} 50%, ${value.slice(0, 7)} 100%)`,\n }}\n />\n </BaseButton>\n <BaseParamsInput\n type=\"text\"\n id={`text-${id}`}\n onChange={handleInputChange}\n value={value}\n autoComplete=\"off\"\n maxLength={9}\n minLength={2}\n disabled={isCodeDriven}\n />\n {showPicker && (\n <div className={classes.pickerAbsoluteWrapper}>\n <div className={classes.picker}>\n <RgbaColorPicker\n color={color}\n onChange={handleChangeColor}\n className={classes.colorful}\n />\n </div>\n </div>\n )}\n </Controller>\n )\n}\n","import 'css-chunk:src/Controller/Color.module.scss';export default {\n \"squaredButton\": \"_squaredButton_13v06_1\",\n \"active\": \"_active_13v06_9\",\n \"square\": \"_square_13v06_1\",\n \"pickerWrapper\": \"_pickerWrapper_13v06_24\",\n \"pickerAbsoluteWrapper\": \"_pickerAbsoluteWrapper_13v06_28\",\n \"picker\": \"_picker_13v06_24\",\n \"colorful\": \"_colorful_13v06_42\"\n};"],"mappings":";;;;;;;;;;;;;AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAKA;AAAA,OACK;;;ACT6C,IAAO,uBAAQ;AAAA,EACjE,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,yBAAyB;AAAA,EACzB,UAAU;AAAA,EACV,YAAY;AACd;;;ADSA,SAAoB,uBAAuB;AAC3C,OAAO,QAAQ;AA8BX,SAaI,KAbJ;AA3BG,SAAS,gBAAgB,OAAwC;AACtE,QAAM,MAAM,OAAuB,IAAI;AACvC,QAAM,EAAE,OAAO,IAAI,UAAU,OAAO,SAAS,OAAO,aAAa,IAAI;AACrE,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,QAAM,yBAAyB,MAAM;AACnC,kBAAc,CAAC,SAAS,CAAC,IAAI;AAAA,EAC/B;AACA,QAAM,oBAAoB,CAAC,MAAqC;AAC9D,aAAS,EAAE,OAAO,KAAK;AAAA,EACzB;AACA,YAAU,MAAM;AACd,aAAS,mBAAmB,OAAmB;AAC7C,UAAI,IAAI,WAAW,CAAC,IAAI,SAAS,SAAS,MAAM,MAAc,GAAG;AAC/D,sBAAc,KAAK;AAAA,MACrB;AAAA,IACF;AACA,WAAO,iBAAiB,aAAa,kBAAkB;AACvD,WAAO,MAAM;AACX,aAAO,oBAAoB,aAAa,kBAAkB;AAAA,IAC5D;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AACR,QAAM,oBAAoB,CAAC,aAAwB;AACjD,aAAS,UAAU,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAAA,EACpE;AACA,QAAM,QAAQ,QAAQ,MAAM,UAAU,KAAK,GAAG,CAAC,KAAK,CAAC;AAErD,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,qBAAQ;AAAA,MACnB,qBAAqB,EAAE,IAAI;AAAA,MAC3B;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,qBAAQ,eAAe,EAAE,CAAC,qBAAQ,MAAM,GAAG,WAAW,CAAC;AAAA,YACrE,SAAS;AAAA,YACT,UAAU;AAAA,YAEV;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW,GAAG,qBAAQ,QAAQ,qBAAQ,OAAO;AAAA,gBAC7C,OAAO;AAAA,kBACL,YAAY,2BAA2B,aAAa,cAAc,MAAM;AAAA,oBACtE;AAAA,oBACA;AAAA,kBACF,UAAU,MAAM,MAAM,GAAG,CAAC;AAAA,gBAC5B;AAAA;AAAA,YACF;AAAA;AAAA,QACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,IAAI,QAAQ;AAAA,YACZ,UAAU;AAAA,YACV;AAAA,YACA,cAAa;AAAA,YACb,WAAW;AAAA,YACX,WAAW;AAAA,YACX,UAAU;AAAA;AAAA,QACZ;AAAA,QACC,cACC,oBAAC,SAAI,WAAW,qBAAQ,uBACtB,8BAAC,SAAI,WAAW,qBAAQ,QACtB;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,UAAU;AAAA,YACV,WAAW,qBAAQ;AAAA;AAAA,QACrB,GACF,GACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
package/dist/hooks.cjs ADDED
@@ -0,0 +1,29 @@
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; }// src/hooks.ts
2
+ var _react = require('react');
3
+ function useMessageListener(eventId, listener) {
4
+ _react.useEffect.call(void 0, () => {
5
+ const _listener = (e) => {
6
+ if (e.data.id === eventId)
7
+ listener(e);
8
+ };
9
+ window.addEventListener("message", _listener, false);
10
+ return () => {
11
+ window.removeEventListener("message", _listener, false);
12
+ };
13
+ }, [listener]);
14
+ }
15
+ function usePostMessageListener(iframe, eventId, listener) {
16
+ useMessageListener(eventId, listener);
17
+ _react.useEffect.call(void 0, () => {
18
+ if (!iframe.current)
19
+ return;
20
+ iframe.current.addEventListener("load", () => {
21
+ _optionalChain([iframe, 'access', _ => _.current, 'optionalAccess', _2 => _2.contentWindow, 'optionalAccess', _3 => _3.postMessage, 'call', _4 => _4(eventId, "*")]);
22
+ });
23
+ }, [iframe, eventId]);
24
+ }
25
+
26
+
27
+
28
+ exports.useMessageListener = useMessageListener; exports.usePostMessageListener = usePostMessageListener;
29
+ //# sourceMappingURL=hooks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks.ts"],"names":[],"mappings":";AAAA,SAAoB,iBAAiB;AAE9B,SAAS,mBACd,SACA,UACA;AACA,YAAU,MAAM;AACd,UAAM,YAAY,CAAC,MAAW;AAC5B,UAAI,EAAE,KAAK,OAAO;AAAS,iBAAS,CAAC;AAAA,IACvC;AAEA,WAAO,iBAAiB,WAAW,WAAW,KAAK;AAEnD,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,WAAW,KAAK;AAAA,IACxD;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AACf;AAEO,SAAS,uBACd,QACA,SACA,UACA;AACA,qBAAmB,SAAS,QAAQ;AACpC,YAAU,MAAM;AACd,QAAI,CAAC,OAAO;AAAS;AACrB,WAAO,QAAQ,iBAAiB,QAAQ,MAAM;AAC5C,aAAO,SAAS,eAAe,YAAY,SAAS,GAAG;AAAA,IACzD,CAAC;AAAA,EACH,GAAG,CAAC,QAAQ,OAAO,CAAC;AACtB","sourcesContent":["import { RefObject, useEffect } from \"react\"\n\nexport function useMessageListener(\n eventId: string,\n listener: (e: any) => void\n) {\n useEffect(() => {\n const _listener = (e: any) => {\n if (e.data.id === eventId) listener(e)\n }\n\n window.addEventListener(\"message\", _listener, false)\n\n return () => {\n window.removeEventListener(\"message\", _listener, false)\n }\n }, [listener])\n}\n\nexport function usePostMessageListener(\n iframe: RefObject<HTMLIFrameElement>,\n eventId: string,\n listener: (e: any) => void\n) {\n useMessageListener(eventId, listener)\n useEffect(() => {\n if (!iframe.current) return\n iframe.current.addEventListener(\"load\", () => {\n iframe.current?.contentWindow?.postMessage(eventId, \"*\")\n })\n }, [iframe, eventId])\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { RefObject } from 'react';
2
+
3
+ declare function useMessageListener(eventId: string, listener: (e: any) => void): void;
4
+ declare function usePostMessageListener(iframe: RefObject<HTMLIFrameElement>, eventId: string, listener: (e: any) => void): void;
5
+
6
+ export { useMessageListener, usePostMessageListener };
package/dist/hooks.js ADDED
@@ -0,0 +1,29 @@
1
+ // src/hooks.ts
2
+ import { useEffect } from "react";
3
+ function useMessageListener(eventId, listener) {
4
+ useEffect(() => {
5
+ const _listener = (e) => {
6
+ if (e.data.id === eventId)
7
+ listener(e);
8
+ };
9
+ window.addEventListener("message", _listener, false);
10
+ return () => {
11
+ window.removeEventListener("message", _listener, false);
12
+ };
13
+ }, [listener]);
14
+ }
15
+ function usePostMessageListener(iframe, eventId, listener) {
16
+ useMessageListener(eventId, listener);
17
+ useEffect(() => {
18
+ if (!iframe.current)
19
+ return;
20
+ iframe.current.addEventListener("load", () => {
21
+ iframe.current?.contentWindow?.postMessage(eventId, "*");
22
+ });
23
+ }, [iframe, eventId]);
24
+ }
25
+ export {
26
+ useMessageListener,
27
+ usePostMessageListener
28
+ };
29
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks.ts"],"sourcesContent":["import { RefObject, useEffect } from \"react\"\n\nexport function useMessageListener(\n eventId: string,\n listener: (e: any) => void\n) {\n useEffect(() => {\n const _listener = (e: any) => {\n if (e.data.id === eventId) listener(e)\n }\n\n window.addEventListener(\"message\", _listener, false)\n\n return () => {\n window.removeEventListener(\"message\", _listener, false)\n }\n }, [listener])\n}\n\nexport function usePostMessageListener(\n iframe: RefObject<HTMLIFrameElement>,\n eventId: string,\n listener: (e: any) => void\n) {\n useMessageListener(eventId, listener)\n useEffect(() => {\n if (!iframe.current) return\n iframe.current.addEventListener(\"load\", () => {\n iframe.current?.contentWindow?.postMessage(eventId, \"*\")\n })\n }, [iframe, eventId])\n}\n"],"mappings":";AAAA,SAAoB,iBAAiB;AAE9B,SAAS,mBACd,SACA,UACA;AACA,YAAU,MAAM;AACd,UAAM,YAAY,CAAC,MAAW;AAC5B,UAAI,EAAE,KAAK,OAAO;AAAS,iBAAS,CAAC;AAAA,IACvC;AAEA,WAAO,iBAAiB,WAAW,WAAW,KAAK;AAEnD,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,WAAW,KAAK;AAAA,IACxD;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AACf;AAEO,SAAS,uBACd,QACA,SACA,UACA;AACA,qBAAmB,SAAS,QAAQ;AACpC,YAAU,MAAM;AACd,QAAI,CAAC,OAAO;AAAS;AACrB,WAAO,QAAQ,iBAAiB,QAAQ,MAAM;AAC5C,aAAO,SAAS,eAAe,YAAY,SAAS,GAAG;AAAA,IACzD,CAAC;AAAA,EACH,GAAG,CAAC,QAAQ,OAAO,CAAC;AACtB;","names":[]}
package/dist/index.cjs ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkOFUKQ2TBcjs = require('./chunk-OFUKQ2TB.cjs');
4
+
5
+
6
+ exports.BaseInput = _chunkOFUKQ2TBcjs.BaseInput;
7
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}