@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.
Files changed (194) hide show
  1. package/dist/BaseInput.cjs +13 -0
  2. package/dist/BaseInput.cjs.map +1 -0
  3. package/dist/BaseInput.css +112 -0
  4. package/dist/BaseInput.css.map +1 -0
  5. package/dist/BaseInput.d.ts +12 -0
  6. package/dist/BaseInput.js +13 -0
  7. package/dist/BaseInput.js.map +1 -0
  8. package/dist/Context.cjs +49 -0
  9. package/dist/Context.cjs.map +1 -0
  10. package/dist/Context.d.ts +19 -0
  11. package/dist/Context.js +49 -0
  12. package/dist/Context.js.map +1 -0
  13. package/dist/Controller/BigInt.cjs +10 -0
  14. package/dist/Controller/BigInt.cjs.map +1 -0
  15. package/dist/Controller/BigInt.css +183 -0
  16. package/dist/Controller/BigInt.css.map +1 -0
  17. package/dist/Controller/BigInt.d.ts +8 -0
  18. package/dist/Controller/BigInt.js +10 -0
  19. package/dist/Controller/BigInt.js.map +1 -0
  20. package/dist/Controller/Boolean.cjs +9 -0
  21. package/dist/Controller/Boolean.cjs.map +1 -0
  22. package/dist/Controller/Boolean.css +183 -0
  23. package/dist/Controller/Boolean.css.map +1 -0
  24. package/dist/Controller/Boolean.d.ts +8 -0
  25. package/dist/Controller/Boolean.js +9 -0
  26. package/dist/Controller/Boolean.js.map +1 -0
  27. package/dist/Controller/Bytes.cjs +9 -0
  28. package/dist/Controller/Bytes.cjs.map +1 -0
  29. package/dist/Controller/Bytes.css +191 -0
  30. package/dist/Controller/Bytes.css.map +1 -0
  31. package/dist/Controller/Bytes.d.ts +8 -0
  32. package/dist/Controller/Bytes.js +9 -0
  33. package/dist/Controller/Bytes.js.map +1 -0
  34. package/dist/Controller/Color.cjs +10 -0
  35. package/dist/Controller/Color.cjs.map +1 -0
  36. package/dist/Controller/Color.css +227 -0
  37. package/dist/Controller/Color.css.map +1 -0
  38. package/dist/Controller/Color.d.ts +8 -0
  39. package/dist/Controller/Color.js +10 -0
  40. package/dist/Controller/Color.js.map +1 -0
  41. package/dist/Controller/Controller.cjs +14 -0
  42. package/dist/Controller/Controller.cjs.map +1 -0
  43. package/dist/Controller/Controller.css +183 -0
  44. package/dist/Controller/Controller.css.map +1 -0
  45. package/dist/Controller/Controller.d.ts +41 -0
  46. package/dist/Controller/Controller.js +14 -0
  47. package/dist/Controller/Controller.js.map +1 -0
  48. package/dist/Controller/Invalid.cjs +7 -0
  49. package/dist/Controller/Invalid.cjs.map +1 -0
  50. package/dist/Controller/Invalid.css +48 -0
  51. package/dist/Controller/Invalid.css.map +1 -0
  52. package/dist/Controller/Invalid.d.ts +11 -0
  53. package/dist/Controller/Invalid.js +7 -0
  54. package/dist/Controller/Invalid.js.map +1 -0
  55. package/dist/Controller/Number.cjs +9 -0
  56. package/dist/Controller/Number.cjs.map +1 -0
  57. package/dist/Controller/Number.css +183 -0
  58. package/dist/Controller/Number.css.map +1 -0
  59. package/dist/Controller/Number.d.ts +8 -0
  60. package/dist/Controller/Number.js +9 -0
  61. package/dist/Controller/Number.js.map +1 -0
  62. package/dist/Controller/Param.cjs +21 -0
  63. package/dist/Controller/Param.cjs.map +1 -0
  64. package/dist/Controller/Param.css +283 -0
  65. package/dist/Controller/Param.css.map +1 -0
  66. package/dist/Controller/Param.d.ts +25 -0
  67. package/dist/Controller/Param.js +21 -0
  68. package/dist/Controller/Param.js.map +1 -0
  69. package/dist/Controller/Select.cjs +9 -0
  70. package/dist/Controller/Select.cjs.map +1 -0
  71. package/dist/Controller/Select.css +183 -0
  72. package/dist/Controller/Select.css.map +1 -0
  73. package/dist/Controller/Select.d.ts +8 -0
  74. package/dist/Controller/Select.js +9 -0
  75. package/dist/Controller/Select.js.map +1 -0
  76. package/dist/Controller/String.cjs +9 -0
  77. package/dist/Controller/String.cjs.map +1 -0
  78. package/dist/Controller/String.css +183 -0
  79. package/dist/Controller/String.css.map +1 -0
  80. package/dist/Controller/String.d.ts +8 -0
  81. package/dist/Controller/String.js +9 -0
  82. package/dist/Controller/String.js.map +1 -0
  83. package/dist/Controls.cjs +102 -0
  84. package/dist/Controls.cjs.map +1 -0
  85. package/dist/Controls.css +304 -0
  86. package/dist/Controls.css.map +1 -0
  87. package/dist/Controls.d.ts +17 -0
  88. package/dist/Controls.js +102 -0
  89. package/dist/Controls.js.map +1 -0
  90. package/dist/LockButton/LockButton.cjs +8 -0
  91. package/dist/LockButton/LockButton.cjs.map +1 -0
  92. package/dist/LockButton/LockButton.css +117 -0
  93. package/dist/LockButton/LockButton.css.map +1 -0
  94. package/dist/LockButton/LockButton.d.ts +11 -0
  95. package/dist/LockButton/LockButton.js +8 -0
  96. package/dist/LockButton/LockButton.js.map +1 -0
  97. package/dist/ParamsHistory.cjs +89 -0
  98. package/dist/ParamsHistory.cjs.map +1 -0
  99. package/dist/ParamsHistory.d.ts +22 -0
  100. package/dist/ParamsHistory.js +89 -0
  101. package/dist/ParamsHistory.js.map +1 -0
  102. package/dist/RuntimeContext.cjs +10 -0
  103. package/dist/RuntimeContext.cjs.map +1 -0
  104. package/dist/RuntimeContext.d.ts +44 -0
  105. package/dist/RuntimeContext.js +10 -0
  106. package/dist/RuntimeContext.js.map +1 -0
  107. package/dist/chunk-2BHABOFI.js +43 -0
  108. package/dist/chunk-2BHABOFI.js.map +1 -0
  109. package/dist/chunk-2QIAF3U7.js +39 -0
  110. package/dist/chunk-2QIAF3U7.js.map +1 -0
  111. package/dist/chunk-2QU65L2O.cjs +399 -0
  112. package/dist/chunk-2QU65L2O.cjs.map +1 -0
  113. package/dist/chunk-4FX3ATAX.js +110 -0
  114. package/dist/chunk-4FX3ATAX.js.map +1 -0
  115. package/dist/chunk-4OV7OX5A.js +37 -0
  116. package/dist/chunk-4OV7OX5A.js.map +1 -0
  117. package/dist/chunk-6VMIOQSE.js +34 -0
  118. package/dist/chunk-6VMIOQSE.js.map +1 -0
  119. package/dist/chunk-7NOMBXLG.js +120 -0
  120. package/dist/chunk-7NOMBXLG.js.map +1 -0
  121. package/dist/chunk-CE3TPOSO.js +135 -0
  122. package/dist/chunk-CE3TPOSO.js.map +1 -0
  123. package/dist/chunk-D4RVVQC7.cjs +23 -0
  124. package/dist/chunk-D4RVVQC7.cjs.map +1 -0
  125. package/dist/chunk-DP5CBORY.cjs +46 -0
  126. package/dist/chunk-DP5CBORY.cjs.map +1 -0
  127. package/dist/chunk-EACKNC6C.cjs +103 -0
  128. package/dist/chunk-EACKNC6C.cjs.map +1 -0
  129. package/dist/chunk-EIQHQNZJ.js +115 -0
  130. package/dist/chunk-EIQHQNZJ.js.map +1 -0
  131. package/dist/chunk-FDUCXROE.cjs +120 -0
  132. package/dist/chunk-FDUCXROE.cjs.map +1 -0
  133. package/dist/chunk-H5IMTNFG.js +44 -0
  134. package/dist/chunk-H5IMTNFG.js.map +1 -0
  135. package/dist/chunk-HJBHIE5T.cjs +135 -0
  136. package/dist/chunk-HJBHIE5T.cjs.map +1 -0
  137. package/dist/chunk-JAU4ONF2.cjs +24 -0
  138. package/dist/chunk-JAU4ONF2.cjs.map +1 -0
  139. package/dist/chunk-K4EW6YY3.cjs +34 -0
  140. package/dist/chunk-K4EW6YY3.cjs.map +1 -0
  141. package/dist/chunk-MWP7SJWC.js +103 -0
  142. package/dist/chunk-MWP7SJWC.js.map +1 -0
  143. package/dist/chunk-OFUKQ2TB.cjs +43 -0
  144. package/dist/chunk-OFUKQ2TB.cjs.map +1 -0
  145. package/dist/chunk-PTXBICTZ.js +67 -0
  146. package/dist/chunk-PTXBICTZ.js.map +1 -0
  147. package/dist/chunk-QM6EKPI6.cjs +67 -0
  148. package/dist/chunk-QM6EKPI6.cjs.map +1 -0
  149. package/dist/chunk-SDPENM2L.js +399 -0
  150. package/dist/chunk-SDPENM2L.js.map +1 -0
  151. package/dist/chunk-TKKYM77A.cjs +44 -0
  152. package/dist/chunk-TKKYM77A.cjs.map +1 -0
  153. package/dist/chunk-VED7SCYX.cjs +39 -0
  154. package/dist/chunk-VED7SCYX.cjs.map +1 -0
  155. package/dist/chunk-WQVPKBSN.cjs +110 -0
  156. package/dist/chunk-WQVPKBSN.cjs.map +1 -0
  157. package/dist/chunk-X4O42D2P.cjs +37 -0
  158. package/dist/chunk-X4O42D2P.cjs.map +1 -0
  159. package/dist/chunk-YBV33YPC.cjs +115 -0
  160. package/dist/chunk-YBV33YPC.cjs.map +1 -0
  161. package/dist/chunk-YOS2HCIS.js +23 -0
  162. package/dist/chunk-YOS2HCIS.js.map +1 -0
  163. package/dist/chunk-YYEIYDDF.js +24 -0
  164. package/dist/chunk-YYEIYDDF.js.map +1 -0
  165. package/dist/chunk-ZUITF5XX.js +46 -0
  166. package/dist/chunk-ZUITF5XX.js.map +1 -0
  167. package/dist/hooks.cjs +29 -0
  168. package/dist/hooks.cjs.map +1 -0
  169. package/dist/hooks.d.ts +6 -0
  170. package/dist/hooks.js +29 -0
  171. package/dist/hooks.js.map +1 -0
  172. package/dist/index.cjs +7 -0
  173. package/dist/index.cjs.map +1 -0
  174. package/dist/index.css +112 -0
  175. package/dist/index.css.map +1 -0
  176. package/dist/index.d.ts +3 -0
  177. package/dist/index.js +7 -0
  178. package/dist/index.js.map +1 -0
  179. package/dist/types.cjs +1 -0
  180. package/dist/types.cjs.map +1 -0
  181. package/dist/types.d.ts +100 -0
  182. package/dist/types.js +1 -0
  183. package/dist/types.js.map +1 -0
  184. package/dist/utils.cjs +33 -0
  185. package/dist/utils.cjs.map +1 -0
  186. package/dist/utils.d.ts +50 -0
  187. package/dist/utils.js +33 -0
  188. package/dist/utils.js.map +1 -0
  189. package/dist/validation.cjs +9 -0
  190. package/dist/validation.cjs.map +1 -0
  191. package/dist/validation.d.ts +241 -0
  192. package/dist/validation.js +9 -0
  193. package/dist/validation.js.map +1 -0
  194. package/package.json +1 -1
@@ -0,0 +1,120 @@
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 _chunkHJBHIE5Tcjs = require('./chunk-HJBHIE5T.cjs');
5
+
6
+
7
+
8
+ var _chunk2QU65L2Ocjs = require('./chunk-2QU65L2O.cjs');
9
+
10
+
11
+ var _chunkOFUKQ2TBcjs = require('./chunk-OFUKQ2TB.cjs');
12
+
13
+ // src/Controller/Color.tsx
14
+
15
+
16
+
17
+
18
+
19
+ var _react = require('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
+ var _reactcolorful = require('react-colorful');
34
+ var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
35
+ var _jsxruntime = require('react/jsx-runtime');
36
+ function ColorController(props) {
37
+ const ref = _react.useRef.call(void 0, null);
38
+ const { label, id, onChange, value, layout = "box", isCodeDriven } = props;
39
+ const [showPicker, setShowPicker] = _react.useState.call(void 0, false);
40
+ const handleToggleShowPicker = () => {
41
+ setShowPicker((show) => !show);
42
+ };
43
+ const handleInputChange = (e) => {
44
+ onChange(e.target.value);
45
+ };
46
+ _react.useEffect.call(void 0, () => {
47
+ function handleClickOutside(event) {
48
+ if (ref.current && !_optionalChain([ref, 'access', _ => _.current, 'optionalAccess', _2 => _2.contains, 'call', _3 => _3(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(_chunk2QU65L2Ocjs.rgbaToHex.call(void 0, newColor.r, newColor.g, newColor.b, newColor.a));
59
+ };
60
+ const color = _react.useMemo.call(void 0, () => _chunk2QU65L2Ocjs.hexToRgba.call(void 0, value), [value]);
61
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
62
+ _chunkHJBHIE5Tcjs.Controller,
63
+ {
64
+ id,
65
+ label,
66
+ layout,
67
+ className: Color_module_default.pickerWrapper,
68
+ inputContainerProps: { ref },
69
+ isCodeDriven,
70
+ children: [
71
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
72
+ _chunkOFUKQ2TBcjs.BaseButton,
73
+ {
74
+ className: _classnames2.default.call(void 0, Color_module_default.squaredButton, { [Color_module_default.active]: showPicker }),
75
+ onClick: handleToggleShowPicker,
76
+ disabled: isCodeDriven,
77
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
78
+ "div",
79
+ {
80
+ className: _classnames2.default.call(void 0, 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__ */ _jsxruntime.jsx.call(void 0,
92
+ _chunkHJBHIE5Tcjs.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__ */ _jsxruntime.jsx.call(void 0, "div", { className: Color_module_default.pickerAbsoluteWrapper, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: Color_module_default.picker, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
105
+ _reactcolorful.RgbaColorPicker,
106
+ {
107
+ color,
108
+ onChange: handleChangeColor,
109
+ className: Color_module_default.colorful
110
+ }
111
+ ) }) })
112
+ ]
113
+ }
114
+ );
115
+ }
116
+
117
+
118
+
119
+ exports.ColorController = ColorController;
120
+ //# sourceMappingURL=chunk-FDUCXROE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/Color.tsx","../src/Controller/Color.module.scss"],"names":[],"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","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};"]}
@@ -0,0 +1,44 @@
1
+ import {
2
+ Controller_module_default,
3
+ HTMLInputControllerWithTextInput
4
+ } from "./chunk-CE3TPOSO.js";
5
+
6
+ // src/Controller/Number.tsx
7
+ import { useMemo } from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ function NumberController(props) {
10
+ const { options, value, inputProps } = props;
11
+ const min = useMemo(() => {
12
+ if (typeof options?.min === "undefined")
13
+ return Number.MIN_SAFE_INTEGER;
14
+ return options.min;
15
+ }, [options?.min]);
16
+ const max = useMemo(() => {
17
+ if (typeof options?.max === "undefined")
18
+ return Number.MAX_SAFE_INTEGER;
19
+ return options.max;
20
+ }, [options?.max]);
21
+ const step = options?.step || 1;
22
+ const stringValue = `${value}`;
23
+ return /* @__PURE__ */ jsx(
24
+ HTMLInputControllerWithTextInput,
25
+ {
26
+ type: "range",
27
+ inputProps: { min, max, step },
28
+ textInputProps: {
29
+ type: "number",
30
+ min,
31
+ max,
32
+ step,
33
+ className: Controller_module_default.numberInput
34
+ },
35
+ ...props,
36
+ value: stringValue
37
+ }
38
+ );
39
+ }
40
+
41
+ export {
42
+ NumberController
43
+ };
44
+ //# sourceMappingURL=chunk-H5IMTNFG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/Number.tsx"],"sourcesContent":["import {\n FxParamControllerProps,\n HTMLInputControllerWithTextInput,\n} from \"./Controller\"\nimport classes from \"./Controller.module.scss\"\nimport { useMemo } from \"react\"\n\nexport function NumberController(props: FxParamControllerProps<\"number\">) {\n const { options, value, inputProps } = props\n const min = useMemo(() => {\n if (typeof options?.min === \"undefined\") return Number.MIN_SAFE_INTEGER\n return options.min\n }, [options?.min])\n const max = useMemo(() => {\n if (typeof options?.max === \"undefined\") return Number.MAX_SAFE_INTEGER\n return options.max\n }, [options?.max])\n const step = options?.step || 1\n const stringValue = `${value}`\n return (\n <HTMLInputControllerWithTextInput\n type=\"range\"\n inputProps={{ min, max, step }}\n textInputProps={{\n type: \"number\",\n min,\n max,\n step,\n className: classes.numberInput,\n }}\n {...props}\n value={stringValue}\n />\n )\n}\n"],"mappings":";;;;;;AAKA,SAAS,eAAe;AAepB;AAbG,SAAS,iBAAiB,OAAyC;AACxE,QAAM,EAAE,SAAS,OAAO,WAAW,IAAI;AACvC,QAAM,MAAM,QAAQ,MAAM;AACxB,QAAI,OAAO,SAAS,QAAQ;AAAa,aAAO,OAAO;AACvD,WAAO,QAAQ;AAAA,EACjB,GAAG,CAAC,SAAS,GAAG,CAAC;AACjB,QAAM,MAAM,QAAQ,MAAM;AACxB,QAAI,OAAO,SAAS,QAAQ;AAAa,aAAO,OAAO;AACvD,WAAO,QAAQ;AAAA,EACjB,GAAG,CAAC,SAAS,GAAG,CAAC;AACjB,QAAM,OAAO,SAAS,QAAQ;AAC9B,QAAM,cAAc,GAAG;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,YAAY,EAAE,KAAK,KAAK,KAAK;AAAA,MAC7B,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,0BAAQ;AAAA,MACrB;AAAA,MACC,GAAG;AAAA,MACJ,OAAO;AAAA;AAAA,EACT;AAEJ;","names":[]}
@@ -0,0 +1,135 @@
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/Controller/Controller.module.scss
6
+ var Controller_module_default = {
7
+ "controller": "_controller_1rjbl_1",
8
+ "inputContainer": "_inputContainer_1rjbl_12",
9
+ "default": "_default_1rjbl_18",
10
+ "invert": "_invert_1rjbl_31",
11
+ "box": "_box_1rjbl_44",
12
+ "numberInput": "_numberInput_1rjbl_58"
13
+ };
14
+
15
+ // src/Controller/Controller.tsx
16
+ var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
17
+ var _jsxruntime = require('react/jsx-runtime');
18
+ function BaseParamsInput(props) {
19
+ const { id } = props;
20
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOFUKQ2TBcjs.BaseInput, { name: `${id}-params-search`, autoComplete: "off", ...props });
21
+ }
22
+ function Controller(props) {
23
+ const {
24
+ id,
25
+ label,
26
+ layout = "default",
27
+ className,
28
+ inputContainerProps,
29
+ isCodeDriven
30
+ } = props;
31
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
32
+ "div",
33
+ {
34
+ className: _classnames2.default.call(void 0, Controller_module_default.controller, Controller_module_default[layout], className),
35
+ title: isCodeDriven ? "This parameter is solely code-driven. Controller is just shown for debugging purposes." : "",
36
+ children: [
37
+ id && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: id, children: label || id }),
38
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: Controller_module_default.inputContainer, ...inputContainerProps, children: props.children })
39
+ ]
40
+ }
41
+ );
42
+ }
43
+ function HTMLInputController(props) {
44
+ const {
45
+ label,
46
+ id,
47
+ onChange,
48
+ value,
49
+ type,
50
+ className,
51
+ inputProps,
52
+ layout = "default",
53
+ isCodeDriven
54
+ } = props;
55
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
56
+ Controller,
57
+ {
58
+ id,
59
+ label,
60
+ layout,
61
+ isCodeDriven,
62
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
63
+ BaseParamsInput,
64
+ {
65
+ className,
66
+ type,
67
+ id,
68
+ onChange,
69
+ value,
70
+ disabled: isCodeDriven,
71
+ ...inputProps
72
+ }
73
+ )
74
+ }
75
+ );
76
+ }
77
+ function HTMLInputControllerWithTextInput(props) {
78
+ const {
79
+ label,
80
+ id,
81
+ onChange,
82
+ value,
83
+ type,
84
+ className,
85
+ inputProps = {},
86
+ layout = "default",
87
+ textInputProps,
88
+ isCodeDriven
89
+ } = props;
90
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
91
+ Controller,
92
+ {
93
+ id,
94
+ label,
95
+ layout,
96
+ isCodeDriven,
97
+ children: [
98
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
99
+ BaseParamsInput,
100
+ {
101
+ className,
102
+ type,
103
+ id,
104
+ onChange,
105
+ value,
106
+ autoComplete: "off",
107
+ disabled: isCodeDriven,
108
+ ...inputProps
109
+ }
110
+ ),
111
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
112
+ BaseParamsInput,
113
+ {
114
+ type: "text",
115
+ id: `text-${id}`,
116
+ onChange,
117
+ value,
118
+ autoComplete: "off",
119
+ disabled: isCodeDriven,
120
+ ...textInputProps
121
+ }
122
+ )
123
+ ]
124
+ }
125
+ );
126
+ }
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+ exports.Controller_module_default = Controller_module_default; exports.BaseParamsInput = BaseParamsInput; exports.Controller = Controller; exports.HTMLInputController = HTMLInputController; exports.HTMLInputControllerWithTextInput = HTMLInputControllerWithTextInput;
135
+ //# sourceMappingURL=chunk-HJBHIE5T.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/Controller.module.scss","../src/Controller/Controller.tsx"],"names":[],"mappings":";;;;;AAAyD,IAAO,4BAAQ;AAAA,EACtE,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,OAAO;AAAA,EACP,eAAe;AACjB;;;ACCA,OAAO,QAAQ;AAWX,cA4BA,YA5BA;AAHG,SAAS,gBAAgB,OAA8C;AAC5E,QAAM,EAAE,GAAG,IAAI;AACf,SACE,oBAAC,aAAU,MAAM,GAAG,oBAAoB,cAAa,OAAO,GAAG,OAAO;AAE1E;AAgBO,SAAS,WAAW,OAAwB;AACjD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,0BAAQ,YAAY,0BAAQ,MAAM,GAAG,SAAS;AAAA,MAC5D,OACE,eACI,2FACA;AAAA,MAGL;AAAA,cAAM,oBAAC,WAAM,SAAS,IAAK,mBAAS,IAAG;AAAA,QACxC,oBAAC,SAAI,WAAW,0BAAQ,gBAAiB,GAAG,qBACzC,gBAAM,UACT;AAAA;AAAA;AAAA,EACF;AAEJ;AAuBO,SAAS,oBAAoB,OAAiC;AACnE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,EACF,IAAI;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACT,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EACF;AAEJ;AAOO,SAAS,iCACd,OACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,CAAC;AAAA,IACd,SAAS;AAAA,IACT;AAAA,IACA;AAAA,EACF,IAAI;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,cAAa;AAAA,YACb,UAAU;AAAA,YACT,GAAG;AAAA;AAAA,QACN;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,IAAI,QAAQ;AAAA,YACZ;AAAA,YACA;AAAA,YACA,cAAa;AAAA,YACb,UAAU;AAAA,YACT,GAAG;AAAA;AAAA,QACN;AAAA;AAAA;AAAA,EACF;AAEJ","sourcesContent":["import 'css-chunk:src/Controller/Controller.module.scss';export default {\n \"controller\": \"_controller_1rjbl_1\",\n \"inputContainer\": \"_inputContainer_1rjbl_12\",\n \"default\": \"_default_1rjbl_18\",\n \"invert\": \"_invert_1rjbl_31\",\n \"box\": \"_box_1rjbl_44\",\n \"numberInput\": \"_numberInput_1rjbl_58\"\n};","import {\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n ReactNode,\n RefObject,\n} from \"react\"\nimport { FxParamOptionsMap, FxParamType } from \"../types\"\nimport classes from \"./Controller.module.scss\"\nimport cx from \"classnames\"\nimport { BaseInput } from \"../BaseInput\"\n\n/*\n * Providing a name starting or ending with `search` prevents\n * 1Password extension to appear in the input fields\n * https://1password.community/discussion/comment/606453/#Comment_606453\n */\nexport function BaseParamsInput(props: InputHTMLAttributes<HTMLInputElement>) {\n const { id } = props\n return (\n <BaseInput name={`${id}-params-search`} autoComplete=\"off\" {...props} />\n )\n}\n\nexport type FxParamInputChangeHandler = (e: any) => void\n\nexport interface ControllerProps {\n label?: string\n id?: string\n children: ReactNode\n layout?: \"default\" | \"invert\" | \"box\"\n className?: string\n inputContainerProps?: {\n ref: RefObject<HTMLDivElement>\n }\n isCodeDriven?: boolean\n}\n\nexport function Controller(props: ControllerProps) {\n const {\n id,\n label,\n layout = \"default\",\n className,\n inputContainerProps,\n isCodeDriven,\n } = props\n return (\n <div\n className={cx(classes.controller, classes[layout], className)}\n title={\n isCodeDriven\n ? \"This parameter is solely code-driven. Controller is just shown for debugging purposes.\"\n : \"\"\n }\n >\n {id && <label htmlFor={id}>{label || id}</label>}\n <div className={classes.inputContainer} {...inputContainerProps}>\n {props.children}\n </div>\n </div>\n )\n}\n\nexport interface HTMLInputControllerProps {\n id: string\n value: string\n onChange: FxParamInputChangeHandler\n type: HTMLInputTypeAttribute\n inputProps?: InputHTMLAttributes<HTMLInputElement | HTMLSelectElement>\n className?: string\n label?: string\n layout?: \"default\" | \"invert\" | \"box\"\n isCodeDriven?: boolean\n}\n\nexport type FxParamControllerProps<Type extends FxParamType> = Omit<\n HTMLInputControllerProps,\n \"type\"\n> & {\n value: any\n options?: FxParamOptionsMap[Type]\n onChange: FxParamInputChangeHandler\n}\n\nexport function HTMLInputController(props: HTMLInputControllerProps) {\n const {\n label,\n id,\n onChange,\n value,\n type,\n className,\n inputProps,\n layout = \"default\",\n isCodeDriven,\n } = props\n return (\n <Controller\n id={id}\n label={label}\n layout={layout}\n isCodeDriven={isCodeDriven}\n >\n <BaseParamsInput\n className={className}\n type={type}\n id={id}\n onChange={onChange}\n value={value}\n disabled={isCodeDriven}\n {...inputProps}\n />\n </Controller>\n )\n}\n\nexport interface HTMLInputControllerWithTextInputProps\n extends HTMLInputControllerProps {\n textInputProps?: InputHTMLAttributes<HTMLInputElement>\n}\n\nexport function HTMLInputControllerWithTextInput(\n props: HTMLInputControllerWithTextInputProps\n) {\n const {\n label,\n id,\n onChange,\n value,\n type,\n className,\n inputProps = {},\n layout = \"default\",\n textInputProps,\n isCodeDriven,\n } = props\n return (\n <Controller\n id={id}\n label={label}\n layout={layout}\n isCodeDriven={isCodeDriven}\n >\n <BaseParamsInput\n className={className}\n type={type}\n id={id}\n onChange={onChange}\n value={value}\n autoComplete=\"off\"\n disabled={isCodeDriven}\n {...inputProps}\n />\n <BaseParamsInput\n type=\"text\"\n id={`text-${id}`}\n onChange={onChange}\n value={value}\n autoComplete=\"off\"\n disabled={isCodeDriven}\n {...textInputProps}\n />\n </Controller>\n )\n}\n"]}
@@ -0,0 +1,24 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkHJBHIE5Tcjs = require('./chunk-HJBHIE5T.cjs');
4
+
5
+ // src/Controller/String.tsx
6
+ var _jsxruntime = require('react/jsx-runtime');
7
+ function StringController(props) {
8
+ const { options } = props;
9
+ const minLength = Number(_optionalChain([options, 'optionalAccess', _ => _.minLength])) || 0;
10
+ const maxLength = Number(_optionalChain([options, 'optionalAccess', _2 => _2.maxLength])) || 64;
11
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12
+ _chunkHJBHIE5Tcjs.HTMLInputController,
13
+ {
14
+ type: "text",
15
+ inputProps: { minLength, maxLength },
16
+ ...props
17
+ }
18
+ );
19
+ }
20
+
21
+
22
+
23
+ exports.StringController = StringController;
24
+ //# sourceMappingURL=chunk-JAU4ONF2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/String.tsx"],"names":[],"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","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"]}
@@ -0,0 +1,34 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkHJBHIE5Tcjs = require('./chunk-HJBHIE5T.cjs');
4
+
5
+
6
+ var _chunkOFUKQ2TBcjs = require('./chunk-OFUKQ2TB.cjs');
7
+
8
+ // src/Controller/Select.tsx
9
+ var _jsxruntime = require('react/jsx-runtime');
10
+ function SelectController({
11
+ id,
12
+ label,
13
+ value,
14
+ onChange,
15
+ options,
16
+ isCodeDriven
17
+ }) {
18
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJBHIE5Tcjs.Controller, { id, label, isCodeDriven, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19
+ _chunkOFUKQ2TBcjs.BaseSelect,
20
+ {
21
+ name: id,
22
+ id,
23
+ onChange,
24
+ value,
25
+ disabled: isCodeDriven,
26
+ children: _optionalChain([options, 'optionalAccess', _ => _.options, 'access', _2 => _2.map, 'call', _3 => _3((o) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "option", { value: o, children: o }, o))])
27
+ }
28
+ ) });
29
+ }
30
+
31
+
32
+
33
+ exports.SelectController = SelectController;
34
+ //# sourceMappingURL=chunk-K4EW6YY3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/Select.tsx"],"names":[],"mappings":";;;;;;;;AAqBU;AAlBH,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAqC;AACnC,SACE,oBAAC,cAAW,IAAQ,OAAc,cAChC;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MAET,mBAAS,QAAQ,IAAI,CAAC,MACrB,oBAAC,YAAe,OAAO,GACpB,eADU,CAEb,CACD;AAAA;AAAA,EACH,GACF;AAEJ","sourcesContent":["import { Controller, FxParamControllerProps } from \"./Controller\"\nimport { BaseSelect } from \"../BaseInput\"\n\nexport function SelectController({\n id,\n label,\n value,\n onChange,\n options,\n isCodeDriven,\n}: FxParamControllerProps<\"select\">) {\n return (\n <Controller id={id} label={label} isCodeDriven={isCodeDriven}>\n <BaseSelect\n name={id}\n id={id}\n onChange={onChange}\n value={value}\n disabled={isCodeDriven}\n >\n {options?.options.map((o) => (\n <option key={o} value={o}>\n {o}\n </option>\n ))}\n </BaseSelect>\n </Controller>\n )\n}\n"]}
@@ -0,0 +1,103 @@
1
+ // src/validation.ts
2
+ import { z } from "zod";
3
+ var ControllerTypeSchema = z.enum([
4
+ "number",
5
+ "bigint",
6
+ "color",
7
+ "string",
8
+ "bytes",
9
+ "boolean",
10
+ "select"
11
+ ]);
12
+ var FxParamOptions_bigintSchema = z.object({
13
+ min: z.number().or(z.bigint()).optional(),
14
+ max: z.number().or(z.bigint()).optional()
15
+ });
16
+ var FxParamOptions_numberSchema = z.object({
17
+ min: z.number().gte(Number.MIN_SAFE_INTEGER).optional(),
18
+ max: z.number().lte(Number.MAX_SAFE_INTEGER).optional(),
19
+ step: z.number().optional()
20
+ });
21
+ var FxParamOptions_stringSchema = z.object({
22
+ minLength: z.number().gte(0).optional(),
23
+ maxLength: z.number().optional()
24
+ });
25
+ var FxParamOptions_bytesSchema = z.object({
26
+ length: z.number().gt(0)
27
+ });
28
+ var FxParamOptions_selectSchema = z.object({
29
+ options: z.string().array().nonempty()
30
+ });
31
+ var BaseControllerDefinitionSchema = z.object({
32
+ id: z.string(),
33
+ name: z.string().optional(),
34
+ exposedAsFeature: z.boolean().optional()
35
+ });
36
+ var StringControllerSchema = BaseControllerDefinitionSchema.extend({
37
+ type: z.literal(ControllerTypeSchema.enum.string),
38
+ options: FxParamOptions_stringSchema.optional(),
39
+ default: z.string().optional()
40
+ });
41
+ var BytesControllerSchema = BaseControllerDefinitionSchema.extend({
42
+ type: z.literal(ControllerTypeSchema.enum.bytes),
43
+ options: FxParamOptions_bytesSchema,
44
+ default: z.any().optional(),
45
+ update: z.literal("code-driven", {
46
+ invalid_type_error: "Bytes parameters must be code-driven",
47
+ required_error: "Bytes parameters must be code-driven"
48
+ })
49
+ });
50
+ var NumberControllerSchema = BaseControllerDefinitionSchema.extend({
51
+ type: z.literal(ControllerTypeSchema.enum.number),
52
+ options: FxParamOptions_numberSchema.optional(),
53
+ default: z.number().gte(Number.MIN_SAFE_INTEGER).lte(Number.MAX_SAFE_INTEGER).optional()
54
+ });
55
+ var BigIntControllerSchema = BaseControllerDefinitionSchema.extend({
56
+ type: z.literal(ControllerTypeSchema.enum.bigint),
57
+ options: FxParamOptions_bigintSchema.optional(),
58
+ default: z.bigint().optional()
59
+ });
60
+ var SelectControllerSchema = BaseControllerDefinitionSchema.extend({
61
+ type: z.literal(ControllerTypeSchema.enum.select),
62
+ options: FxParamOptions_selectSchema,
63
+ default: z.string().optional()
64
+ });
65
+ var BooleanControllerSchema = BaseControllerDefinitionSchema.extend({
66
+ type: z.literal(ControllerTypeSchema.enum.boolean),
67
+ options: z.undefined(),
68
+ default: z.boolean().optional()
69
+ });
70
+ var ColorControllerSchema = BaseControllerDefinitionSchema.extend({
71
+ type: z.literal(ControllerTypeSchema.enum.color),
72
+ options: z.undefined(),
73
+ default: z.string().optional()
74
+ });
75
+ var ControllerDefinitionSchema = z.union([
76
+ StringControllerSchema,
77
+ NumberControllerSchema,
78
+ BigIntControllerSchema,
79
+ SelectControllerSchema,
80
+ BytesControllerSchema,
81
+ BooleanControllerSchema,
82
+ ColorControllerSchema
83
+ ]);
84
+ var controllerSchema = {
85
+ number: NumberControllerSchema,
86
+ bigint: BigIntControllerSchema,
87
+ color: ColorControllerSchema,
88
+ string: StringControllerSchema,
89
+ bytes: BytesControllerSchema,
90
+ boolean: BooleanControllerSchema,
91
+ select: SelectControllerSchema
92
+ };
93
+ function validateParameterDefinition(parameterDefinition) {
94
+ return controllerSchema[parameterDefinition.type]?.safeParse(
95
+ parameterDefinition
96
+ );
97
+ }
98
+
99
+ export {
100
+ BaseControllerDefinitionSchema,
101
+ validateParameterDefinition
102
+ };
103
+ //# sourceMappingURL=chunk-MWP7SJWC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/validation.ts"],"sourcesContent":["import { SafeParseError, SafeParseSuccess, z } from \"zod\"\nimport { FxParamDefinition, FxParamType } from \"./types\"\n\nconst ControllerTypeSchema = z.enum([\n \"number\",\n \"bigint\",\n \"color\",\n \"string\",\n \"bytes\",\n \"boolean\",\n \"select\",\n])\n\nconst FxParamOptions_bigintSchema = z.object({\n min: z.number().or(z.bigint()).optional(),\n max: z.number().or(z.bigint()).optional(),\n})\n\nconst FxParamOptions_numberSchema = z.object({\n min: z.number().gte(Number.MIN_SAFE_INTEGER).optional(),\n max: z.number().lte(Number.MAX_SAFE_INTEGER).optional(),\n step: z.number().optional(),\n})\n\nconst FxParamOptions_stringSchema = z.object({\n minLength: z.number().gte(0).optional(),\n maxLength: z.number().optional(),\n})\n\nconst FxParamOptions_bytesSchema = z.object({\n length: z.number().gt(0),\n})\n\nconst FxParamOptions_selectSchema = z.object({\n options: z.string().array().nonempty(),\n})\n\nexport const BaseControllerDefinitionSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n exposedAsFeature: z.boolean().optional(),\n})\n\nconst StringControllerSchema = BaseControllerDefinitionSchema.extend({\n type: z.literal(ControllerTypeSchema.enum.string),\n options: FxParamOptions_stringSchema.optional(),\n default: z.string().optional(),\n})\n\nconst BytesControllerSchema = BaseControllerDefinitionSchema.extend({\n type: z.literal(ControllerTypeSchema.enum.bytes),\n options: FxParamOptions_bytesSchema,\n default: z.any().optional(),\n update: z.literal(\"code-driven\", {\n invalid_type_error: \"Bytes parameters must be code-driven\",\n required_error: \"Bytes parameters must be code-driven\",\n }),\n})\n\nconst NumberControllerSchema = BaseControllerDefinitionSchema.extend({\n type: z.literal(ControllerTypeSchema.enum.number),\n options: FxParamOptions_numberSchema.optional(),\n default: z\n .number()\n .gte(Number.MIN_SAFE_INTEGER)\n .lte(Number.MAX_SAFE_INTEGER)\n .optional(),\n})\n\nconst BigIntControllerSchema = BaseControllerDefinitionSchema.extend({\n type: z.literal(ControllerTypeSchema.enum.bigint),\n options: FxParamOptions_bigintSchema.optional(),\n default: z.bigint().optional(),\n})\n\nconst SelectControllerSchema = BaseControllerDefinitionSchema.extend({\n type: z.literal(ControllerTypeSchema.enum.select),\n options: FxParamOptions_selectSchema,\n default: z.string().optional(),\n})\n\nconst BooleanControllerSchema = BaseControllerDefinitionSchema.extend({\n type: z.literal(ControllerTypeSchema.enum.boolean),\n options: z.undefined(),\n default: z.boolean().optional(),\n})\n\nconst ColorControllerSchema = BaseControllerDefinitionSchema.extend({\n type: z.literal(ControllerTypeSchema.enum.color),\n options: z.undefined(),\n default: z.string().optional(),\n})\n\nconst ControllerDefinitionSchema = z.union([\n StringControllerSchema,\n NumberControllerSchema,\n BigIntControllerSchema,\n SelectControllerSchema,\n BytesControllerSchema,\n BooleanControllerSchema,\n ColorControllerSchema,\n])\n\nexport type ControllerDefinitionSchemaType = z.infer<\n typeof ControllerDefinitionSchema\n>\n\nconst controllerSchema = {\n number: NumberControllerSchema,\n bigint: BigIntControllerSchema,\n color: ColorControllerSchema,\n string: StringControllerSchema,\n bytes: BytesControllerSchema,\n boolean: BooleanControllerSchema,\n select: SelectControllerSchema,\n}\n\nexport function validateParameterDefinition(\n parameterDefinition: FxParamDefinition<FxParamType>\n):\n | SafeParseError<ControllerDefinitionSchemaType>\n | SafeParseSuccess<ControllerDefinitionSchemaType>\n | undefined {\n return controllerSchema[parameterDefinition.type]?.safeParse(\n parameterDefinition\n )\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/BaseInput.module.scss
2
+ var BaseInput_module_default = {
3
+ "baseInput": "_baseInput_jtvfw_1",
4
+ "baseSelect": "_baseSelect_jtvfw_1",
5
+ "baseButton": "_baseButton_jtvfw_1",
6
+ "color-secondary": "_color-secondary_jtvfw_37",
7
+ "iconButton": "_iconButton_jtvfw_47"
8
+ };
9
+
10
+ // src/BaseInput.tsx
11
+ var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
12
+ var _jsxruntime = require('react/jsx-runtime');
13
+ function BaseInput(props) {
14
+ const { className, ...rest } = props;
15
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { className: _classnames2.default.call(void 0, BaseInput_module_default.baseInput, className), ...rest });
16
+ }
17
+ function BaseSelect(props) {
18
+ const { className, ...rest } = props;
19
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "select", { className: _classnames2.default.call(void 0, BaseInput_module_default.baseSelect, className), ...rest });
20
+ }
21
+ function BaseButton(props) {
22
+ const { className, color = "primary", ...rest } = props;
23
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24
+ "button",
25
+ {
26
+ type: "button",
27
+ className: _classnames2.default.call(void 0, BaseInput_module_default.baseButton, BaseInput_module_default[`color-${color}`], className),
28
+ ...rest
29
+ }
30
+ );
31
+ }
32
+ function IconButton(props) {
33
+ const { className, ...rest } = props;
34
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BaseButton, { className: _classnames2.default.call(void 0, BaseInput_module_default.iconButton, className), ...rest });
35
+ }
36
+
37
+
38
+
39
+
40
+
41
+
42
+ exports.BaseInput = BaseInput; exports.BaseSelect = BaseSelect; exports.BaseButton = BaseButton; exports.IconButton = IconButton;
43
+ //# sourceMappingURL=chunk-OFUKQ2TB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/BaseInput.module.scss","../src/BaseInput.tsx"],"names":[],"mappings":";AAA6C,IAAO,2BAAQ;AAAA,EAC1D,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,cAAc;AAChB;;;ACCA,OAAO,QAAQ;AAIN;AAFF,SAAS,UAAU,OAA8C;AACtE,QAAM,EAAE,WAAW,GAAG,KAAK,IAAI;AAC/B,SAAO,oBAAC,WAAM,WAAW,GAAG,yBAAQ,WAAW,SAAS,GAAI,GAAG,MAAM;AACvE;AAEO,SAAS,WAAW,OAAgD;AACzE,QAAM,EAAE,WAAW,GAAG,KAAK,IAAI;AAC/B,SAAO,oBAAC,YAAO,WAAW,GAAG,yBAAQ,YAAY,SAAS,GAAI,GAAG,MAAM;AACzE;AAOO,SAAS,WAAW,OAAwB;AACjD,QAAM,EAAE,WAAW,QAAQ,WAAW,GAAG,KAAK,IAAI;AAClD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW,GAAG,yBAAQ,YAAY,yBAAQ,SAAS,OAAO,GAAG,SAAS;AAAA,MACrE,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,WAAW,OAAwB;AACjD,QAAM,EAAE,WAAW,GAAG,KAAK,IAAI;AAC/B,SAAO,oBAAC,cAAW,WAAW,GAAG,yBAAQ,YAAY,SAAS,GAAI,GAAG,MAAM;AAC7E","sourcesContent":["import 'css-chunk:src/BaseInput.module.scss';export default {\n \"baseInput\": \"_baseInput_jtvfw_1\",\n \"baseSelect\": \"_baseSelect_jtvfw_1\",\n \"baseButton\": \"_baseButton_jtvfw_1\",\n \"color-secondary\": \"_color-secondary_jtvfw_37\",\n \"iconButton\": \"_iconButton_jtvfw_47\"\n};","import {\n ButtonHTMLAttributes,\n HtmlHTMLAttributes,\n InputHTMLAttributes,\n SelectHTMLAttributes,\n} from \"react\"\nimport classes from \"./BaseInput.module.scss\"\nimport cx from \"classnames\"\n\nexport function BaseInput(props: InputHTMLAttributes<HTMLInputElement>) {\n const { className, ...rest } = props\n return <input className={cx(classes.baseInput, className)} {...rest} />\n}\n\nexport function BaseSelect(props: SelectHTMLAttributes<HTMLSelectElement>) {\n const { className, ...rest } = props\n return <select className={cx(classes.baseSelect, className)} {...rest} />\n}\n\nexport interface BaseButtonProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n color?: \"primary\" | \"secondary\" | undefined\n}\n\nexport function BaseButton(props: BaseButtonProps) {\n const { className, color = \"primary\", ...rest } = props\n return (\n <button\n type=\"button\"\n className={cx(classes.baseButton, classes[`color-${color}`], className)}\n {...rest}\n />\n )\n}\n\nexport function IconButton(props: BaseButtonProps) {\n const { className, ...rest } = props\n return <BaseButton className={cx(classes.iconButton, className)} {...rest} />\n}\n"]}
@@ -0,0 +1,67 @@
1
+ // src/Controller/Invalid.tsx
2
+ import { useState } from "react";
3
+
4
+ // src/Controller/Invalid.module.scss
5
+ var Invalid_module_default = {
6
+ "invalid": "_invalid_9fznv_1",
7
+ "isOpen": "_isOpen_9fznv_30",
8
+ "errorsWrapper": "_errorsWrapper_9fznv_34",
9
+ "attributes": "_attributes_9fznv_40",
10
+ "issue": "_issue_9fznv_44"
11
+ };
12
+
13
+ // src/Controller/Invalid.tsx
14
+ import cx from "classnames";
15
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
16
+ function Issue(props) {
17
+ const { issue } = props;
18
+ return /* @__PURE__ */ jsxs("li", { className: Invalid_module_default.issue, children: [
19
+ /* @__PURE__ */ jsxs("h3", { children: [
20
+ issue.code,
21
+ " at ",
22
+ issue.path.join(".")
23
+ ] }),
24
+ /* @__PURE__ */ jsx("p", { children: issue.message })
25
+ ] });
26
+ }
27
+ function Attribute(props) {
28
+ const { id, definition } = props;
29
+ if (!definition[id])
30
+ return null;
31
+ return /* @__PURE__ */ jsx("h4", { children: /* @__PURE__ */ jsxs(Fragment, { children: [
32
+ id,
33
+ ": ",
34
+ definition[id]
35
+ ] }) });
36
+ }
37
+ function ControllerInvalid(props) {
38
+ const { definition, error } = props;
39
+ const [showIssues, setShowIssues] = useState(false);
40
+ const handleToggleShowIssues = () => {
41
+ setShowIssues(!showIssues);
42
+ };
43
+ return /* @__PURE__ */ jsxs("div", { className: cx(Invalid_module_default.invalid), children: [
44
+ /* @__PURE__ */ jsxs("label", { onClick: handleToggleShowIssues, children: [
45
+ "Invalid parameter definition",
46
+ /* @__PURE__ */ jsx("i", { className: cx({ [Invalid_module_default.isOpen]: showIssues }), children: showIssues ? "-" : "+" })
47
+ ] }),
48
+ showIssues && /* @__PURE__ */ jsxs("div", { className: Invalid_module_default.errorsWrapper, children: [
49
+ /* @__PURE__ */ jsxs("div", { className: Invalid_module_default.attributes, children: [
50
+ /* @__PURE__ */ jsx(Attribute, { definition, id: "id" }),
51
+ /* @__PURE__ */ jsx(Attribute, { definition, id: "name" })
52
+ ] }),
53
+ /* @__PURE__ */ jsx("ul", { className: cx(Invalid_module_default.issues, { [Invalid_module_default.isOpen]: showIssues }), children: error.issues.map((issue) => /* @__PURE__ */ jsx(
54
+ Issue,
55
+ {
56
+ issue
57
+ },
58
+ `${issue.code}-${issue.path.join("-")}`
59
+ )) })
60
+ ] })
61
+ ] });
62
+ }
63
+
64
+ export {
65
+ ControllerInvalid
66
+ };
67
+ //# sourceMappingURL=chunk-PTXBICTZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/Invalid.tsx","../src/Controller/Invalid.module.scss"],"sourcesContent":["import { useState } from \"react\"\nimport { FxParamDefinition, FxParamType } from \"../types\"\nimport { ZodError, ZodIssue } from \"zod\"\nimport classes from \"./Invalid.module.scss\"\nimport cx from \"classnames\"\n\ninterface IssueProps {\n issue: ZodIssue\n}\n\nfunction Issue(props: IssueProps) {\n const { issue } = props\n return (\n <li className={classes.issue}>\n <h3>\n {issue.code} at {issue.path.join(\".\")}\n </h3>\n <p>{issue.message}</p>\n </li>\n )\n}\n\ninterface AttributeProps {\n id: keyof FxParamDefinition<FxParamType>\n definition: FxParamDefinition<FxParamType>\n}\n\nfunction Attribute(props: AttributeProps) {\n const { id, definition } = props\n if (!definition[id]) return null\n return (\n <h4>\n <>\n {id}: {definition[id]}\n </>\n </h4>\n )\n}\n\nexport interface ControllerInvalidProps {\n definition: FxParamDefinition<FxParamType>\n error: ZodError\n}\n\nexport function ControllerInvalid(props: ControllerInvalidProps) {\n const { definition, error } = props\n\n const [showIssues, setShowIssues] = useState(false)\n\n const handleToggleShowIssues = () => {\n setShowIssues(!showIssues)\n }\n\n return (\n <div className={cx(classes.invalid)}>\n <label onClick={handleToggleShowIssues}>\n Invalid parameter definition\n <i className={cx({ [classes.isOpen]: showIssues })}>\n {showIssues ? \"-\" : \"+\"}\n </i>\n </label>\n {showIssues && (\n <div className={classes.errorsWrapper}>\n <div className={classes.attributes}>\n <Attribute definition={definition} id=\"id\" />\n <Attribute definition={definition} id=\"name\" />\n </div>\n <ul className={cx(classes.issues, { [classes.isOpen]: showIssues })}>\n {error.issues.map((issue) => (\n <Issue\n key={`${issue.code}-${issue.path.join(\"-\")}`}\n issue={issue}\n />\n ))}\n </ul>\n </div>\n )}\n </div>\n )\n}\n","import 'css-chunk:src/Controller/Invalid.module.scss';export default {\n \"invalid\": \"_invalid_9fznv_1\",\n \"isOpen\": \"_isOpen_9fznv_30\",\n \"errorsWrapper\": \"_errorsWrapper_9fznv_34\",\n \"attributes\": \"_attributes_9fznv_40\",\n \"issue\": \"_issue_9fznv_44\"\n};"],"mappings":";AAAA,SAAS,gBAAgB;;;ACA6B,IAAO,yBAAQ;AAAA,EACnE,WAAW;AAAA,EACX,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,SAAS;AACX;;;ADFA,OAAO,QAAQ;AAUT,SAkBA,UAfA,KAHA;AAJN,SAAS,MAAM,OAAmB;AAChC,QAAM,EAAE,MAAM,IAAI;AAClB,SACE,qBAAC,QAAG,WAAW,uBAAQ,OACrB;AAAA,yBAAC,QACE;AAAA,YAAM;AAAA,MAAK;AAAA,MAAK,MAAM,KAAK,KAAK,GAAG;AAAA,OACtC;AAAA,IACA,oBAAC,OAAG,gBAAM,SAAQ;AAAA,KACpB;AAEJ;AAOA,SAAS,UAAU,OAAuB;AACxC,QAAM,EAAE,IAAI,WAAW,IAAI;AAC3B,MAAI,CAAC,WAAW,EAAE;AAAG,WAAO;AAC5B,SACE,oBAAC,QACC,2CACG;AAAA;AAAA,IAAG;AAAA,IAAG,WAAW,EAAE;AAAA,KACtB,GACF;AAEJ;AAOO,SAAS,kBAAkB,OAA+B;AAC/D,QAAM,EAAE,YAAY,MAAM,IAAI;AAE9B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAElD,QAAM,yBAAyB,MAAM;AACnC,kBAAc,CAAC,UAAU;AAAA,EAC3B;AAEA,SACE,qBAAC,SAAI,WAAW,GAAG,uBAAQ,OAAO,GAChC;AAAA,yBAAC,WAAM,SAAS,wBAAwB;AAAA;AAAA,MAEtC,oBAAC,OAAE,WAAW,GAAG,EAAE,CAAC,uBAAQ,MAAM,GAAG,WAAW,CAAC,GAC9C,uBAAa,MAAM,KACtB;AAAA,OACF;AAAA,IACC,cACC,qBAAC,SAAI,WAAW,uBAAQ,eACtB;AAAA,2BAAC,SAAI,WAAW,uBAAQ,YACtB;AAAA,4BAAC,aAAU,YAAwB,IAAG,MAAK;AAAA,QAC3C,oBAAC,aAAU,YAAwB,IAAG,QAAO;AAAA,SAC/C;AAAA,MACA,oBAAC,QAAG,WAAW,GAAG,uBAAQ,QAAQ,EAAE,CAAC,uBAAQ,MAAM,GAAG,WAAW,CAAC,GAC/D,gBAAM,OAAO,IAAI,CAAC,UACjB;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA;AAAA,QADK,GAAG,MAAM,QAAQ,MAAM,KAAK,KAAK,GAAG;AAAA,MAE3C,CACD,GACH;AAAA,OACF;AAAA,KAEJ;AAEJ;","names":[]}