@fxhash/params 0.0.9 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/{chunk-FZWZHHQ2.js → chunk-B3N473DY.js} +56 -42
- package/dist/chunk-B3N473DY.js.map +1 -0
- package/dist/index.d.ts +249 -3
- package/dist/index.js +100 -5
- package/dist/index.js.map +1 -1
- package/dist/utils-jEvPb5wq.d.ts +141 -0
- package/dist/utils.d.ts +1 -50
- package/dist/utils.js +2 -32
- package/dist/utils.js.map +1 -1
- package/package.json +31 -48
- package/dist/BaseInput.cjs +0 -13
- package/dist/BaseInput.cjs.map +0 -1
- package/dist/BaseInput.css +0 -112
- package/dist/BaseInput.css.map +0 -1
- package/dist/BaseInput.d.ts +0 -12
- package/dist/BaseInput.js +0 -13
- package/dist/BaseInput.js.map +0 -1
- package/dist/Context.cjs +0 -49
- package/dist/Context.cjs.map +0 -1
- package/dist/Context.d.ts +0 -19
- package/dist/Context.js +0 -49
- package/dist/Context.js.map +0 -1
- package/dist/Controller/BigInt.cjs +0 -10
- package/dist/Controller/BigInt.cjs.map +0 -1
- package/dist/Controller/BigInt.css +0 -183
- package/dist/Controller/BigInt.css.map +0 -1
- package/dist/Controller/BigInt.d.ts +0 -8
- package/dist/Controller/BigInt.js +0 -10
- package/dist/Controller/BigInt.js.map +0 -1
- package/dist/Controller/Boolean.cjs +0 -9
- package/dist/Controller/Boolean.cjs.map +0 -1
- package/dist/Controller/Boolean.css +0 -183
- package/dist/Controller/Boolean.css.map +0 -1
- package/dist/Controller/Boolean.d.ts +0 -8
- package/dist/Controller/Boolean.js +0 -9
- package/dist/Controller/Boolean.js.map +0 -1
- package/dist/Controller/Bytes.cjs +0 -9
- package/dist/Controller/Bytes.cjs.map +0 -1
- package/dist/Controller/Bytes.css +0 -191
- package/dist/Controller/Bytes.css.map +0 -1
- package/dist/Controller/Bytes.d.ts +0 -8
- package/dist/Controller/Bytes.js +0 -9
- package/dist/Controller/Bytes.js.map +0 -1
- package/dist/Controller/Color.cjs +0 -10
- package/dist/Controller/Color.cjs.map +0 -1
- package/dist/Controller/Color.css +0 -227
- package/dist/Controller/Color.css.map +0 -1
- package/dist/Controller/Color.d.ts +0 -8
- package/dist/Controller/Color.js +0 -10
- package/dist/Controller/Color.js.map +0 -1
- package/dist/Controller/Controller.cjs +0 -14
- package/dist/Controller/Controller.cjs.map +0 -1
- package/dist/Controller/Controller.css +0 -183
- package/dist/Controller/Controller.css.map +0 -1
- package/dist/Controller/Controller.d.ts +0 -41
- package/dist/Controller/Controller.js +0 -14
- package/dist/Controller/Controller.js.map +0 -1
- package/dist/Controller/Invalid.cjs +0 -7
- package/dist/Controller/Invalid.cjs.map +0 -1
- package/dist/Controller/Invalid.css +0 -48
- package/dist/Controller/Invalid.css.map +0 -1
- package/dist/Controller/Invalid.d.ts +0 -11
- package/dist/Controller/Invalid.js +0 -7
- package/dist/Controller/Invalid.js.map +0 -1
- package/dist/Controller/Number.cjs +0 -9
- package/dist/Controller/Number.cjs.map +0 -1
- package/dist/Controller/Number.css +0 -183
- package/dist/Controller/Number.css.map +0 -1
- package/dist/Controller/Number.d.ts +0 -8
- package/dist/Controller/Number.js +0 -9
- package/dist/Controller/Number.js.map +0 -1
- package/dist/Controller/Param.cjs +0 -21
- package/dist/Controller/Param.cjs.map +0 -1
- package/dist/Controller/Param.css +0 -283
- package/dist/Controller/Param.css.map +0 -1
- package/dist/Controller/Param.d.ts +0 -25
- package/dist/Controller/Param.js +0 -21
- package/dist/Controller/Param.js.map +0 -1
- package/dist/Controller/Select.cjs +0 -9
- package/dist/Controller/Select.cjs.map +0 -1
- package/dist/Controller/Select.css +0 -183
- package/dist/Controller/Select.css.map +0 -1
- package/dist/Controller/Select.d.ts +0 -8
- package/dist/Controller/Select.js +0 -9
- package/dist/Controller/Select.js.map +0 -1
- package/dist/Controller/String.cjs +0 -9
- package/dist/Controller/String.cjs.map +0 -1
- package/dist/Controller/String.css +0 -183
- package/dist/Controller/String.css.map +0 -1
- package/dist/Controller/String.d.ts +0 -8
- package/dist/Controller/String.js +0 -9
- package/dist/Controller/String.js.map +0 -1
- package/dist/Controls.cjs +0 -102
- package/dist/Controls.cjs.map +0 -1
- package/dist/Controls.css +0 -304
- package/dist/Controls.css.map +0 -1
- package/dist/Controls.d.ts +0 -17
- package/dist/Controls.js +0 -102
- package/dist/Controls.js.map +0 -1
- package/dist/LockButton/LockButton.cjs +0 -8
- package/dist/LockButton/LockButton.cjs.map +0 -1
- package/dist/LockButton/LockButton.css +0 -117
- package/dist/LockButton/LockButton.css.map +0 -1
- package/dist/LockButton/LockButton.d.ts +0 -11
- package/dist/LockButton/LockButton.js +0 -8
- package/dist/LockButton/LockButton.js.map +0 -1
- package/dist/ParamsHistory.cjs +0 -89
- package/dist/ParamsHistory.cjs.map +0 -1
- package/dist/ParamsHistory.d.ts +0 -22
- package/dist/ParamsHistory.js +0 -89
- package/dist/ParamsHistory.js.map +0 -1
- package/dist/RuntimeContext.cjs +0 -10
- package/dist/RuntimeContext.cjs.map +0 -1
- package/dist/RuntimeContext.d.ts +0 -44
- package/dist/RuntimeContext.js +0 -10
- package/dist/RuntimeContext.js.map +0 -1
- package/dist/chunk-2BHABOFI.js +0 -43
- package/dist/chunk-2BHABOFI.js.map +0 -1
- package/dist/chunk-2QIAF3U7.js +0 -39
- package/dist/chunk-2QIAF3U7.js.map +0 -1
- package/dist/chunk-4OV7OX5A.js +0 -37
- package/dist/chunk-4OV7OX5A.js.map +0 -1
- package/dist/chunk-57UENWLF.js +0 -110
- package/dist/chunk-57UENWLF.js.map +0 -1
- package/dist/chunk-6VMIOQSE.js +0 -34
- package/dist/chunk-6VMIOQSE.js.map +0 -1
- package/dist/chunk-C6GTVBY6.cjs +0 -46
- package/dist/chunk-C6GTVBY6.cjs.map +0 -1
- package/dist/chunk-CE3TPOSO.js +0 -135
- package/dist/chunk-CE3TPOSO.js.map +0 -1
- package/dist/chunk-D4RVVQC7.cjs +0 -23
- package/dist/chunk-D4RVVQC7.cjs.map +0 -1
- package/dist/chunk-EACKNC6C.cjs +0 -103
- package/dist/chunk-EACKNC6C.cjs.map +0 -1
- package/dist/chunk-FZWZHHQ2.js.map +0 -1
- package/dist/chunk-H5IMTNFG.js +0 -44
- package/dist/chunk-H5IMTNFG.js.map +0 -1
- package/dist/chunk-HJBHIE5T.cjs +0 -135
- package/dist/chunk-HJBHIE5T.cjs.map +0 -1
- package/dist/chunk-JAU4ONF2.cjs +0 -24
- package/dist/chunk-JAU4ONF2.cjs.map +0 -1
- package/dist/chunk-K4EW6YY3.cjs +0 -34
- package/dist/chunk-K4EW6YY3.cjs.map +0 -1
- package/dist/chunk-KZMSUHQX.cjs +0 -120
- package/dist/chunk-KZMSUHQX.cjs.map +0 -1
- package/dist/chunk-LX23UR4X.cjs +0 -115
- package/dist/chunk-LX23UR4X.cjs.map +0 -1
- package/dist/chunk-MWP7SJWC.js +0 -103
- package/dist/chunk-MWP7SJWC.js.map +0 -1
- package/dist/chunk-OFUKQ2TB.cjs +0 -43
- package/dist/chunk-OFUKQ2TB.cjs.map +0 -1
- package/dist/chunk-P77D7XSP.js +0 -46
- package/dist/chunk-P77D7XSP.js.map +0 -1
- package/dist/chunk-PTXBICTZ.js +0 -67
- package/dist/chunk-PTXBICTZ.js.map +0 -1
- package/dist/chunk-QDLMFMLL.cjs +0 -398
- package/dist/chunk-QDLMFMLL.cjs.map +0 -1
- package/dist/chunk-QM6EKPI6.cjs +0 -67
- package/dist/chunk-QM6EKPI6.cjs.map +0 -1
- package/dist/chunk-TKKYM77A.cjs +0 -44
- package/dist/chunk-TKKYM77A.cjs.map +0 -1
- package/dist/chunk-VED7SCYX.cjs +0 -39
- package/dist/chunk-VED7SCYX.cjs.map +0 -1
- package/dist/chunk-X4O42D2P.cjs +0 -37
- package/dist/chunk-X4O42D2P.cjs.map +0 -1
- package/dist/chunk-YOS2HCIS.js +0 -23
- package/dist/chunk-YOS2HCIS.js.map +0 -1
- package/dist/chunk-YXDLGCFJ.cjs +0 -110
- package/dist/chunk-YXDLGCFJ.cjs.map +0 -1
- package/dist/chunk-YYEIYDDF.js +0 -24
- package/dist/chunk-YYEIYDDF.js.map +0 -1
- package/dist/chunk-Z7K2LNS2.js +0 -115
- package/dist/chunk-Z7K2LNS2.js.map +0 -1
- package/dist/chunk-ZG3OT7LF.js +0 -120
- package/dist/chunk-ZG3OT7LF.js.map +0 -1
- package/dist/hooks.cjs +0 -29
- package/dist/hooks.cjs.map +0 -1
- package/dist/hooks.d.ts +0 -6
- package/dist/hooks.js +0 -29
- package/dist/hooks.js.map +0 -1
- package/dist/index.cjs +0 -7
- package/dist/index.cjs.map +0 -1
- package/dist/index.css +0 -112
- package/dist/index.css.map +0 -1
- package/dist/types.cjs +0 -1
- package/dist/types.cjs.map +0 -1
- package/dist/types.d.ts +0 -100
- package/dist/types.js +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils.cjs +0 -33
- package/dist/utils.cjs.map +0 -1
- package/dist/validation.cjs +0 -9
- package/dist/validation.cjs.map +0 -1
- package/dist/validation.d.ts +0 -241
- package/dist/validation.js +0 -9
- package/dist/validation.js.map +0 -1
package/dist/chunk-X4O42D2P.cjs
DELETED
@@ -1,37 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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};"]}
|
package/dist/chunk-YOS2HCIS.js
DELETED
@@ -1,23 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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":[]}
|
package/dist/chunk-YXDLGCFJ.cjs
DELETED
@@ -1,110 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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"]}
|
package/dist/chunk-YYEIYDDF.js
DELETED
@@ -1,24 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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":[]}
|
package/dist/chunk-Z7K2LNS2.js
DELETED
@@ -1,115 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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"]}
|
package/dist/chunk-ZG3OT7LF.js
DELETED
@@ -1,120 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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
DELETED
@@ -1,29 +0,0 @@
|
|
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
|
package/dist/hooks.cjs.map
DELETED
@@ -1 +0,0 @@
|
|
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"]}
|
package/dist/hooks.d.ts
DELETED
@@ -1,6 +0,0 @@
|
|
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
DELETED
@@ -1,29 +0,0 @@
|
|
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
|
package/dist/hooks.js.map
DELETED
@@ -1 +0,0 @@
|
|
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
DELETED
package/dist/index.cjs.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|