@fxhash/params 0.0.4 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BaseInput.cjs +13 -0
- package/dist/BaseInput.cjs.map +1 -0
- package/dist/BaseInput.css +112 -0
- package/dist/BaseInput.css.map +1 -0
- package/dist/BaseInput.d.ts +12 -0
- package/dist/BaseInput.js +13 -0
- package/dist/BaseInput.js.map +1 -0
- package/dist/Context.cjs +49 -0
- package/dist/Context.cjs.map +1 -0
- package/dist/Context.d.ts +19 -0
- package/dist/Context.js +49 -0
- package/dist/Context.js.map +1 -0
- package/dist/Controller/BigInt.cjs +10 -0
- package/dist/Controller/BigInt.cjs.map +1 -0
- package/dist/Controller/BigInt.css +183 -0
- package/dist/Controller/BigInt.css.map +1 -0
- package/dist/Controller/BigInt.d.ts +8 -0
- package/dist/Controller/BigInt.js +10 -0
- package/dist/Controller/BigInt.js.map +1 -0
- package/dist/Controller/Boolean.cjs +9 -0
- package/dist/Controller/Boolean.cjs.map +1 -0
- package/dist/Controller/Boolean.css +183 -0
- package/dist/Controller/Boolean.css.map +1 -0
- package/dist/Controller/Boolean.d.ts +8 -0
- package/dist/Controller/Boolean.js +9 -0
- package/dist/Controller/Boolean.js.map +1 -0
- package/dist/Controller/Bytes.cjs +9 -0
- package/dist/Controller/Bytes.cjs.map +1 -0
- package/dist/Controller/Bytes.css +191 -0
- package/dist/Controller/Bytes.css.map +1 -0
- package/dist/Controller/Bytes.d.ts +8 -0
- package/dist/Controller/Bytes.js +9 -0
- package/dist/Controller/Bytes.js.map +1 -0
- package/dist/Controller/Color.cjs +10 -0
- package/dist/Controller/Color.cjs.map +1 -0
- package/dist/Controller/Color.css +227 -0
- package/dist/Controller/Color.css.map +1 -0
- package/dist/Controller/Color.d.ts +8 -0
- package/dist/Controller/Color.js +10 -0
- package/dist/Controller/Color.js.map +1 -0
- package/dist/Controller/Controller.cjs +14 -0
- package/dist/Controller/Controller.cjs.map +1 -0
- package/dist/Controller/Controller.css +183 -0
- package/dist/Controller/Controller.css.map +1 -0
- package/dist/Controller/Controller.d.ts +41 -0
- package/dist/Controller/Controller.js +14 -0
- package/dist/Controller/Controller.js.map +1 -0
- package/dist/Controller/Invalid.cjs +7 -0
- package/dist/Controller/Invalid.cjs.map +1 -0
- package/dist/Controller/Invalid.css +48 -0
- package/dist/Controller/Invalid.css.map +1 -0
- package/dist/Controller/Invalid.d.ts +11 -0
- package/dist/Controller/Invalid.js +7 -0
- package/dist/Controller/Invalid.js.map +1 -0
- package/dist/Controller/Number.cjs +9 -0
- package/dist/Controller/Number.cjs.map +1 -0
- package/dist/Controller/Number.css +183 -0
- package/dist/Controller/Number.css.map +1 -0
- package/dist/Controller/Number.d.ts +8 -0
- package/dist/Controller/Number.js +9 -0
- package/dist/Controller/Number.js.map +1 -0
- package/dist/Controller/Param.cjs +21 -0
- package/dist/Controller/Param.cjs.map +1 -0
- package/dist/Controller/Param.css +283 -0
- package/dist/Controller/Param.css.map +1 -0
- package/dist/Controller/Param.d.ts +25 -0
- package/dist/Controller/Param.js +21 -0
- package/dist/Controller/Param.js.map +1 -0
- package/dist/Controller/Select.cjs +9 -0
- package/dist/Controller/Select.cjs.map +1 -0
- package/dist/Controller/Select.css +183 -0
- package/dist/Controller/Select.css.map +1 -0
- package/dist/Controller/Select.d.ts +8 -0
- package/dist/Controller/Select.js +9 -0
- package/dist/Controller/Select.js.map +1 -0
- package/dist/Controller/String.cjs +9 -0
- package/dist/Controller/String.cjs.map +1 -0
- package/dist/Controller/String.css +183 -0
- package/dist/Controller/String.css.map +1 -0
- package/dist/Controller/String.d.ts +8 -0
- package/dist/Controller/String.js +9 -0
- package/dist/Controller/String.js.map +1 -0
- package/dist/Controls.cjs +102 -0
- package/dist/Controls.cjs.map +1 -0
- package/dist/Controls.css +304 -0
- package/dist/Controls.css.map +1 -0
- package/dist/Controls.d.ts +17 -0
- package/dist/Controls.js +102 -0
- package/dist/Controls.js.map +1 -0
- package/dist/LockButton/LockButton.cjs +8 -0
- package/dist/LockButton/LockButton.cjs.map +1 -0
- package/dist/LockButton/LockButton.css +117 -0
- package/dist/LockButton/LockButton.css.map +1 -0
- package/dist/LockButton/LockButton.d.ts +11 -0
- package/dist/LockButton/LockButton.js +8 -0
- package/dist/LockButton/LockButton.js.map +1 -0
- package/dist/ParamsHistory.cjs +89 -0
- package/dist/ParamsHistory.cjs.map +1 -0
- package/dist/ParamsHistory.d.ts +22 -0
- package/dist/ParamsHistory.js +89 -0
- package/dist/ParamsHistory.js.map +1 -0
- package/dist/RuntimeContext.cjs +10 -0
- package/dist/RuntimeContext.cjs.map +1 -0
- package/dist/RuntimeContext.d.ts +44 -0
- package/dist/RuntimeContext.js +10 -0
- package/dist/RuntimeContext.js.map +1 -0
- package/dist/chunk-2BHABOFI.js +43 -0
- package/dist/chunk-2BHABOFI.js.map +1 -0
- package/dist/chunk-2QIAF3U7.js +39 -0
- package/dist/chunk-2QIAF3U7.js.map +1 -0
- package/dist/chunk-2QU65L2O.cjs +399 -0
- package/dist/chunk-2QU65L2O.cjs.map +1 -0
- package/dist/chunk-4FX3ATAX.js +110 -0
- package/dist/chunk-4FX3ATAX.js.map +1 -0
- package/dist/chunk-4OV7OX5A.js +37 -0
- package/dist/chunk-4OV7OX5A.js.map +1 -0
- package/dist/chunk-6VMIOQSE.js +34 -0
- package/dist/chunk-6VMIOQSE.js.map +1 -0
- package/dist/chunk-7NOMBXLG.js +120 -0
- package/dist/chunk-7NOMBXLG.js.map +1 -0
- package/dist/chunk-CE3TPOSO.js +135 -0
- package/dist/chunk-CE3TPOSO.js.map +1 -0
- package/dist/chunk-D4RVVQC7.cjs +23 -0
- package/dist/chunk-D4RVVQC7.cjs.map +1 -0
- package/dist/chunk-DP5CBORY.cjs +46 -0
- package/dist/chunk-DP5CBORY.cjs.map +1 -0
- package/dist/chunk-EACKNC6C.cjs +103 -0
- package/dist/chunk-EACKNC6C.cjs.map +1 -0
- package/dist/chunk-EIQHQNZJ.js +115 -0
- package/dist/chunk-EIQHQNZJ.js.map +1 -0
- package/dist/chunk-FDUCXROE.cjs +120 -0
- package/dist/chunk-FDUCXROE.cjs.map +1 -0
- package/dist/chunk-H5IMTNFG.js +44 -0
- package/dist/chunk-H5IMTNFG.js.map +1 -0
- package/dist/chunk-HJBHIE5T.cjs +135 -0
- package/dist/chunk-HJBHIE5T.cjs.map +1 -0
- package/dist/chunk-JAU4ONF2.cjs +24 -0
- package/dist/chunk-JAU4ONF2.cjs.map +1 -0
- package/dist/chunk-K4EW6YY3.cjs +34 -0
- package/dist/chunk-K4EW6YY3.cjs.map +1 -0
- package/dist/chunk-MWP7SJWC.js +103 -0
- package/dist/chunk-MWP7SJWC.js.map +1 -0
- package/dist/chunk-OFUKQ2TB.cjs +43 -0
- package/dist/chunk-OFUKQ2TB.cjs.map +1 -0
- package/dist/chunk-PTXBICTZ.js +67 -0
- package/dist/chunk-PTXBICTZ.js.map +1 -0
- package/dist/chunk-QM6EKPI6.cjs +67 -0
- package/dist/chunk-QM6EKPI6.cjs.map +1 -0
- package/dist/chunk-SDPENM2L.js +399 -0
- package/dist/chunk-SDPENM2L.js.map +1 -0
- package/dist/chunk-TKKYM77A.cjs +44 -0
- package/dist/chunk-TKKYM77A.cjs.map +1 -0
- package/dist/chunk-VED7SCYX.cjs +39 -0
- package/dist/chunk-VED7SCYX.cjs.map +1 -0
- package/dist/chunk-WQVPKBSN.cjs +110 -0
- package/dist/chunk-WQVPKBSN.cjs.map +1 -0
- package/dist/chunk-X4O42D2P.cjs +37 -0
- package/dist/chunk-X4O42D2P.cjs.map +1 -0
- package/dist/chunk-YBV33YPC.cjs +115 -0
- package/dist/chunk-YBV33YPC.cjs.map +1 -0
- package/dist/chunk-YOS2HCIS.js +23 -0
- package/dist/chunk-YOS2HCIS.js.map +1 -0
- package/dist/chunk-YYEIYDDF.js +24 -0
- package/dist/chunk-YYEIYDDF.js.map +1 -0
- package/dist/chunk-ZUITF5XX.js +46 -0
- package/dist/chunk-ZUITF5XX.js.map +1 -0
- package/dist/hooks.cjs +29 -0
- package/dist/hooks.cjs.map +1 -0
- package/dist/hooks.d.ts +6 -0
- package/dist/hooks.js +29 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.cjs +7 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +112 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/types.cjs +1 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.ts +100 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.cjs +33 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.ts +50 -0
- package/dist/utils.js +33 -0
- package/dist/utils.js.map +1 -0
- package/dist/validation.cjs +9 -0
- package/dist/validation.cjs.map +1 -0
- package/dist/validation.d.ts +241 -0
- package/dist/validation.js +9 -0
- package/dist/validation.js.map +1 -0
- package/package.json +1 -1
@@ -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 _chunkDP5CBORYcjs = require('./chunk-DP5CBORY.cjs');
|
16
|
+
|
17
|
+
|
18
|
+
var _chunkD4RVVQC7cjs = require('./chunk-D4RVVQC7.cjs');
|
19
|
+
|
20
|
+
|
21
|
+
var _chunkVED7SCYXcjs = require('./chunk-VED7SCYX.cjs');
|
22
|
+
|
23
|
+
|
24
|
+
var _chunkFDUCXROEcjs = require('./chunk-FDUCXROE.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: _chunkDP5CBORYcjs.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: _chunkFDUCXROEcjs.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-WQVPKBSN.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,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,115 @@
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
2
|
+
|
3
|
+
|
4
|
+
var _chunk2QU65L2Ocjs = require('./chunk-2QU65L2O.cjs');
|
5
|
+
|
6
|
+
// src/RuntimeContext.tsx
|
7
|
+
var _react = require('react');
|
8
|
+
|
9
|
+
var _sha1 = require('sha1'); var _sha12 = _interopRequireDefault(_sha1);
|
10
|
+
var _jsxruntime = require('react/jsx-runtime');
|
11
|
+
function hashRuntimeState(state) {
|
12
|
+
return _sha12.default.call(void 0, _chunk2QU65L2Ocjs.jsonStringifyBigint.call(void 0, state));
|
13
|
+
}
|
14
|
+
function hashRuntimeHardState(state, definition) {
|
15
|
+
const staticParams = {};
|
16
|
+
for (const id in state.params) {
|
17
|
+
const def = _optionalChain([definition, 'optionalAccess', _ => _.find, 'call', _2 => _2((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 = _react.createContext.call(void 0, defaultRuntimeContext);
|
52
|
+
function RuntimeProvider({ children }) {
|
53
|
+
const [state, setState] = _react.useState.call(void 0, {
|
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] = _react.useState.call(void 0, {
|
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 = _react.useMemo.call(void 0,
|
79
|
+
() => ({
|
80
|
+
...definition,
|
81
|
+
params: _optionalChain([definition, 'access', _3 => _3.params, 'optionalAccess', _4 => _4.map, 'call', _5 => _5((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: _react.useMemo.call(void 0,
|
98
|
+
() => ({
|
99
|
+
paramsByteSize: _chunk2QU65L2Ocjs.sumBytesParams.call(void 0, 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__ */ _jsxruntime.jsx.call(void 0, RuntimeContext.Provider, { value: ctx, children });
|
109
|
+
}
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
exports.RuntimeContext = RuntimeContext; exports.RuntimeProvider = RuntimeProvider;
|
115
|
+
//# sourceMappingURL=chunk-YBV33YPC.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/RuntimeContext.tsx"],"names":["def"],"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","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"]}
|
@@ -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,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,46 @@
|
|
1
|
+
import {
|
2
|
+
Controller_module_default,
|
3
|
+
HTMLInputControllerWithTextInput
|
4
|
+
} from "./chunk-CE3TPOSO.js";
|
5
|
+
import {
|
6
|
+
MAX_SAFE_INT64,
|
7
|
+
MIN_SAFE_INT64
|
8
|
+
} from "./chunk-SDPENM2L.js";
|
9
|
+
|
10
|
+
// src/Controller/BigInt.tsx
|
11
|
+
import { useMemo } from "react";
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
13
|
+
function BigIntController(props) {
|
14
|
+
const { options, value } = props;
|
15
|
+
const min = useMemo(() => {
|
16
|
+
if (typeof options?.min === "undefined")
|
17
|
+
return MIN_SAFE_INT64;
|
18
|
+
return options.min;
|
19
|
+
}, [options?.min]);
|
20
|
+
const max = useMemo(() => {
|
21
|
+
if (typeof options?.max === "undefined")
|
22
|
+
return MAX_SAFE_INT64;
|
23
|
+
return options.max;
|
24
|
+
}, [options?.max]);
|
25
|
+
const stringValue = `${value}`;
|
26
|
+
return /* @__PURE__ */ jsx(
|
27
|
+
HTMLInputControllerWithTextInput,
|
28
|
+
{
|
29
|
+
type: "range",
|
30
|
+
inputProps: { min: `${min}`, max: `${max}` },
|
31
|
+
textInputProps: {
|
32
|
+
type: "number",
|
33
|
+
min: `${min}`,
|
34
|
+
max: `${max}`,
|
35
|
+
className: Controller_module_default.numberInput
|
36
|
+
},
|
37
|
+
...props,
|
38
|
+
value: stringValue
|
39
|
+
}
|
40
|
+
);
|
41
|
+
}
|
42
|
+
|
43
|
+
export {
|
44
|
+
BigIntController
|
45
|
+
};
|
46
|
+
//# sourceMappingURL=chunk-ZUITF5XX.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/Controller/BigInt.tsx"],"sourcesContent":["import {\n FxParamControllerProps,\n HTMLInputControllerWithTextInput,\n} from \"./Controller\"\nimport classes from \"./Controller.module.scss\"\nimport { MAX_SAFE_INT64, MIN_SAFE_INT64 } from \"../utils\"\nimport { useMemo } from \"react\"\n\nexport function BigIntController(props: FxParamControllerProps<\"bigint\">) {\n const { options, value } = props\n const min = useMemo(() => {\n if (typeof options?.min === \"undefined\") return MIN_SAFE_INT64\n return options.min\n }, [options?.min])\n const max = useMemo(() => {\n if (typeof options?.max === \"undefined\") return MAX_SAFE_INT64\n return options.max\n }, [options?.max])\n const stringValue = `${value}`\n return (\n <HTMLInputControllerWithTextInput\n type=\"range\"\n inputProps={{ min: `${min}`, max: `${max}` }}\n textInputProps={{\n type: \"number\",\n min: `${min}`,\n max: `${max}`,\n className: classes.numberInput,\n }}\n {...props}\n value={stringValue}\n />\n )\n}\n"],"mappings":";;;;;;;;;;AAMA,SAAS,eAAe;AAcpB;AAZG,SAAS,iBAAiB,OAAyC;AACxE,QAAM,EAAE,SAAS,MAAM,IAAI;AAC3B,QAAM,MAAM,QAAQ,MAAM;AACxB,QAAI,OAAO,SAAS,QAAQ;AAAa,aAAO;AAChD,WAAO,QAAQ;AAAA,EACjB,GAAG,CAAC,SAAS,GAAG,CAAC;AACjB,QAAM,MAAM,QAAQ,MAAM;AACxB,QAAI,OAAO,SAAS,QAAQ;AAAa,aAAO;AAChD,WAAO,QAAQ;AAAA,EACjB,GAAG,CAAC,SAAS,GAAG,CAAC;AACjB,QAAM,cAAc,GAAG;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,YAAY,EAAE,KAAK,GAAG,OAAO,KAAK,GAAG,MAAM;AAAA,MAC3C,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN,KAAK,GAAG;AAAA,QACR,KAAK,GAAG;AAAA,QACR,WAAW,0BAAQ;AAAA,MACrB;AAAA,MACC,GAAG;AAAA,MACJ,OAAO;AAAA;AAAA,EACT;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"]}
|
package/dist/hooks.d.ts
ADDED
@@ -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 @@
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
package/dist/index.css
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
/* esbuild-sass-plugin:css-chunk:src/BaseInput.module.scss */
|
2
|
+
._baseInput_jtvfw_1,
|
3
|
+
._baseSelect_jtvfw_1,
|
4
|
+
._baseButton_jtvfw_1 {
|
5
|
+
font-family: var(--fxl-font-family);
|
6
|
+
font-size: var(--fxl-font-size-regular);
|
7
|
+
height: 30px;
|
8
|
+
color: var(--fxl-color-text-primary);
|
9
|
+
background: var(--fxl-color-background2);
|
10
|
+
border: 1px solid var(--fxl-color-light2);
|
11
|
+
padding: 0 var(--fxl-spacing-xxs);
|
12
|
+
outline-offset: -1px;
|
13
|
+
}
|
14
|
+
._baseInput_jtvfw_1:hover,
|
15
|
+
._baseSelect_jtvfw_1:hover,
|
16
|
+
._baseButton_jtvfw_1:hover {
|
17
|
+
background: var(--fxl-color-background3);
|
18
|
+
}
|
19
|
+
._baseInput_jtvfw_1:focus-visible,
|
20
|
+
._baseSelect_jtvfw_1:focus-visible,
|
21
|
+
._baseButton_jtvfw_1:focus-visible {
|
22
|
+
outline: 1px solid var(--fxl-color-primary);
|
23
|
+
}
|
24
|
+
._baseInput_jtvfw_1:disabled,
|
25
|
+
._baseSelect_jtvfw_1:disabled,
|
26
|
+
._baseButton_jtvfw_1:disabled {
|
27
|
+
opacity: 0.6;
|
28
|
+
pointer-events: none;
|
29
|
+
}
|
30
|
+
._baseButton_jtvfw_1 {
|
31
|
+
cursor: pointer;
|
32
|
+
background: var(--fxl-color-background2);
|
33
|
+
color: var(--fxl-color-text-primary);
|
34
|
+
font-weight: 700;
|
35
|
+
}
|
36
|
+
._baseButton_jtvfw_1:hover {
|
37
|
+
background: var(--fxl-color-background3);
|
38
|
+
color: var(--fxl-color-light);
|
39
|
+
outline: 1px solid var(--fxl-color-primary);
|
40
|
+
}
|
41
|
+
._baseButton_jtvfw_1:focus-visible {
|
42
|
+
outline: 1px solid var(--fxl-color-primary);
|
43
|
+
outline-offset: 2px;
|
44
|
+
}
|
45
|
+
._baseButton_jtvfw_1._color-secondary_jtvfw_37 {
|
46
|
+
background: var(--fxl-color-dark1);
|
47
|
+
color: var(--fxl-color-light);
|
48
|
+
}
|
49
|
+
._baseButton_jtvfw_1._color-secondary_jtvfw_37:hover {
|
50
|
+
background: var(--fxl-color-dark2);
|
51
|
+
color: var(--fxl-color-light);
|
52
|
+
outline: 1px solid var(--fxl-color-primary);
|
53
|
+
}
|
54
|
+
._iconButton_jtvfw_47 {
|
55
|
+
width: 30px !important;
|
56
|
+
cursor: pointer;
|
57
|
+
padding: 0;
|
58
|
+
display: flex;
|
59
|
+
align-items: center;
|
60
|
+
justify-content: center;
|
61
|
+
flex-grow: 0;
|
62
|
+
flex-shrink: 0;
|
63
|
+
}
|
64
|
+
._baseInput_jtvfw_1[type=range] {
|
65
|
+
-webkit-appearance: none;
|
66
|
+
appearance: none;
|
67
|
+
height: 3px !important;
|
68
|
+
background: var(--fxl-color-light2);
|
69
|
+
outline: none;
|
70
|
+
padding: 0 !important;
|
71
|
+
border: none;
|
72
|
+
}
|
73
|
+
._baseInput_jtvfw_1[type=range]::-webkit-slider-thumb {
|
74
|
+
-webkit-appearance: none;
|
75
|
+
appearance: none;
|
76
|
+
cursor: pointer;
|
77
|
+
width: 15px;
|
78
|
+
height: 15px;
|
79
|
+
background: var(--fxl-color-primary);
|
80
|
+
border-radius: 50%;
|
81
|
+
}
|
82
|
+
._baseInput_jtvfw_1[type=range]::-webkit-slider-thumb:hover {
|
83
|
+
transform: scale(1.1);
|
84
|
+
}
|
85
|
+
._baseInput_jtvfw_1[type=range]::-moz-range-thumb {
|
86
|
+
cursor: pointer;
|
87
|
+
width: 15px;
|
88
|
+
height: 15px;
|
89
|
+
background: var(--fxl-color-primary);
|
90
|
+
border-radius: 50%;
|
91
|
+
}
|
92
|
+
._baseInput_jtvfw_1[type=checkbox] {
|
93
|
+
-webkit-appearance: none;
|
94
|
+
appearance: none;
|
95
|
+
cursor: pointer;
|
96
|
+
width: 30px !important;
|
97
|
+
height: 30px !important;
|
98
|
+
margin: 0;
|
99
|
+
padding: 0;
|
100
|
+
position: relative;
|
101
|
+
}
|
102
|
+
._baseInput_jtvfw_1[type=checkbox]:checked:after {
|
103
|
+
content: "";
|
104
|
+
width: 15px;
|
105
|
+
height: 15px;
|
106
|
+
position: absolute;
|
107
|
+
top: 50%;
|
108
|
+
left: 50%;
|
109
|
+
transform: translate(-50%, -50%);
|
110
|
+
background: var(--fxl-color-primary);
|
111
|
+
}
|
112
|
+
/*# sourceMappingURL=index.css.map */
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["esbuild-sass-plugin:css-chunk:src/BaseInput.module.scss"],"sourcesContent":["._baseInput_jtvfw_1, ._baseSelect_jtvfw_1, ._baseButton_jtvfw_1 {\n font-family: var(--fxl-font-family);\n font-size: var(--fxl-font-size-regular);\n height: 30px;\n color: var(--fxl-color-text-primary);\n background: var(--fxl-color-background2);\n border: 1px solid var(--fxl-color-light2);\n padding: 0 var(--fxl-spacing-xxs);\n outline-offset: -1px;\n}\n._baseInput_jtvfw_1:hover, ._baseSelect_jtvfw_1:hover, ._baseButton_jtvfw_1:hover {\n background: var(--fxl-color-background3);\n}\n._baseInput_jtvfw_1:focus-visible, ._baseSelect_jtvfw_1:focus-visible, ._baseButton_jtvfw_1:focus-visible {\n outline: 1px solid var(--fxl-color-primary);\n}\n._baseInput_jtvfw_1:disabled, ._baseSelect_jtvfw_1:disabled, ._baseButton_jtvfw_1:disabled {\n opacity: 0.6;\n pointer-events: none;\n}\n\n._baseButton_jtvfw_1 {\n cursor: pointer;\n background: var(--fxl-color-background2);\n color: var(--fxl-color-text-primary);\n font-weight: 700;\n}\n._baseButton_jtvfw_1:hover {\n background: var(--fxl-color-background3);\n color: var(--fxl-color-light);\n outline: 1px solid var(--fxl-color-primary);\n}\n._baseButton_jtvfw_1:focus-visible {\n outline: 1px solid var(--fxl-color-primary);\n outline-offset: 2px;\n}\n._baseButton_jtvfw_1._color-secondary_jtvfw_37 {\n background: var(--fxl-color-dark1);\n color: var(--fxl-color-light);\n}\n._baseButton_jtvfw_1._color-secondary_jtvfw_37:hover {\n background: var(--fxl-color-dark2);\n color: var(--fxl-color-light);\n outline: 1px solid var(--fxl-color-primary);\n}\n\n._iconButton_jtvfw_47 {\n width: 30px !important;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 0;\n flex-shrink: 0;\n}\n\n._baseInput_jtvfw_1[type=range] {\n -webkit-appearance: none;\n appearance: none;\n height: 3px !important;\n background: var(--fxl-color-light2);\n outline: none;\n padding: 0 !important;\n border: none;\n}\n\n._baseInput_jtvfw_1[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none; /* Override default look */\n appearance: none;\n cursor: pointer;\n width: 15px;\n height: 15px;\n background: var(--fxl-color-primary);\n border-radius: 50%;\n}\n._baseInput_jtvfw_1[type=range]::-webkit-slider-thumb:hover {\n transform: scale(1.1);\n}\n\n._baseInput_jtvfw_1[type=range]::-moz-range-thumb {\n cursor: pointer;\n width: 15px;\n height: 15px;\n background: var(--fxl-color-primary);\n border-radius: 50%;\n}\n\n._baseInput_jtvfw_1[type=checkbox] {\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n width: 30px !important;\n height: 30px !important;\n margin: 0;\n padding: 0;\n position: relative;\n}\n._baseInput_jtvfw_1[type=checkbox]:checked:after {\n content: \"\";\n width: 15px;\n height: 15px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: var(--fxl-color-primary);\n}"],"mappings":";AAAA;AAAA;AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AAAA;AAAA;AACE;AAAA;AAEF;AAAA;AAAA;AACE;AAAA;AAEF;AAAA;AAAA;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;","names":[]}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/types.cjs
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";//# sourceMappingURL=types.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|