@fxhash/params 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/{chunk-7H32FZ35.js → chunk-B3N473DY.js} +45 -37
  2. package/dist/chunk-B3N473DY.js.map +1 -0
  3. package/dist/index.d.ts +249 -3
  4. package/dist/index.js +100 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/utils-jEvPb5wq.d.ts +141 -0
  7. package/dist/utils.d.ts +1 -50
  8. package/dist/utils.js +2 -32
  9. package/dist/utils.js.map +1 -1
  10. package/package.json +31 -47
  11. package/dist/BaseInput.cjs +0 -13
  12. package/dist/BaseInput.cjs.map +0 -1
  13. package/dist/BaseInput.css +0 -112
  14. package/dist/BaseInput.css.map +0 -1
  15. package/dist/BaseInput.d.ts +0 -12
  16. package/dist/BaseInput.js +0 -13
  17. package/dist/BaseInput.js.map +0 -1
  18. package/dist/Context.cjs +0 -49
  19. package/dist/Context.cjs.map +0 -1
  20. package/dist/Context.d.ts +0 -19
  21. package/dist/Context.js +0 -49
  22. package/dist/Context.js.map +0 -1
  23. package/dist/Controller/BigInt.cjs +0 -10
  24. package/dist/Controller/BigInt.cjs.map +0 -1
  25. package/dist/Controller/BigInt.css +0 -183
  26. package/dist/Controller/BigInt.css.map +0 -1
  27. package/dist/Controller/BigInt.d.ts +0 -8
  28. package/dist/Controller/BigInt.js +0 -10
  29. package/dist/Controller/BigInt.js.map +0 -1
  30. package/dist/Controller/Boolean.cjs +0 -9
  31. package/dist/Controller/Boolean.cjs.map +0 -1
  32. package/dist/Controller/Boolean.css +0 -183
  33. package/dist/Controller/Boolean.css.map +0 -1
  34. package/dist/Controller/Boolean.d.ts +0 -8
  35. package/dist/Controller/Boolean.js +0 -9
  36. package/dist/Controller/Boolean.js.map +0 -1
  37. package/dist/Controller/Bytes.cjs +0 -9
  38. package/dist/Controller/Bytes.cjs.map +0 -1
  39. package/dist/Controller/Bytes.css +0 -191
  40. package/dist/Controller/Bytes.css.map +0 -1
  41. package/dist/Controller/Bytes.d.ts +0 -8
  42. package/dist/Controller/Bytes.js +0 -9
  43. package/dist/Controller/Bytes.js.map +0 -1
  44. package/dist/Controller/Color.cjs +0 -10
  45. package/dist/Controller/Color.cjs.map +0 -1
  46. package/dist/Controller/Color.css +0 -227
  47. package/dist/Controller/Color.css.map +0 -1
  48. package/dist/Controller/Color.d.ts +0 -8
  49. package/dist/Controller/Color.js +0 -10
  50. package/dist/Controller/Color.js.map +0 -1
  51. package/dist/Controller/Controller.cjs +0 -14
  52. package/dist/Controller/Controller.cjs.map +0 -1
  53. package/dist/Controller/Controller.css +0 -183
  54. package/dist/Controller/Controller.css.map +0 -1
  55. package/dist/Controller/Controller.d.ts +0 -41
  56. package/dist/Controller/Controller.js +0 -14
  57. package/dist/Controller/Controller.js.map +0 -1
  58. package/dist/Controller/Invalid.cjs +0 -7
  59. package/dist/Controller/Invalid.cjs.map +0 -1
  60. package/dist/Controller/Invalid.css +0 -48
  61. package/dist/Controller/Invalid.css.map +0 -1
  62. package/dist/Controller/Invalid.d.ts +0 -11
  63. package/dist/Controller/Invalid.js +0 -7
  64. package/dist/Controller/Invalid.js.map +0 -1
  65. package/dist/Controller/Number.cjs +0 -9
  66. package/dist/Controller/Number.cjs.map +0 -1
  67. package/dist/Controller/Number.css +0 -183
  68. package/dist/Controller/Number.css.map +0 -1
  69. package/dist/Controller/Number.d.ts +0 -8
  70. package/dist/Controller/Number.js +0 -9
  71. package/dist/Controller/Number.js.map +0 -1
  72. package/dist/Controller/Param.cjs +0 -21
  73. package/dist/Controller/Param.cjs.map +0 -1
  74. package/dist/Controller/Param.css +0 -283
  75. package/dist/Controller/Param.css.map +0 -1
  76. package/dist/Controller/Param.d.ts +0 -25
  77. package/dist/Controller/Param.js +0 -21
  78. package/dist/Controller/Param.js.map +0 -1
  79. package/dist/Controller/Select.cjs +0 -9
  80. package/dist/Controller/Select.cjs.map +0 -1
  81. package/dist/Controller/Select.css +0 -183
  82. package/dist/Controller/Select.css.map +0 -1
  83. package/dist/Controller/Select.d.ts +0 -8
  84. package/dist/Controller/Select.js +0 -9
  85. package/dist/Controller/Select.js.map +0 -1
  86. package/dist/Controller/String.cjs +0 -9
  87. package/dist/Controller/String.cjs.map +0 -1
  88. package/dist/Controller/String.css +0 -183
  89. package/dist/Controller/String.css.map +0 -1
  90. package/dist/Controller/String.d.ts +0 -8
  91. package/dist/Controller/String.js +0 -9
  92. package/dist/Controller/String.js.map +0 -1
  93. package/dist/Controls.cjs +0 -102
  94. package/dist/Controls.cjs.map +0 -1
  95. package/dist/Controls.css +0 -304
  96. package/dist/Controls.css.map +0 -1
  97. package/dist/Controls.d.ts +0 -17
  98. package/dist/Controls.js +0 -102
  99. package/dist/Controls.js.map +0 -1
  100. package/dist/LockButton/LockButton.cjs +0 -8
  101. package/dist/LockButton/LockButton.cjs.map +0 -1
  102. package/dist/LockButton/LockButton.css +0 -117
  103. package/dist/LockButton/LockButton.css.map +0 -1
  104. package/dist/LockButton/LockButton.d.ts +0 -11
  105. package/dist/LockButton/LockButton.js +0 -8
  106. package/dist/LockButton/LockButton.js.map +0 -1
  107. package/dist/ParamsHistory.cjs +0 -89
  108. package/dist/ParamsHistory.cjs.map +0 -1
  109. package/dist/ParamsHistory.d.ts +0 -22
  110. package/dist/ParamsHistory.js +0 -89
  111. package/dist/ParamsHistory.js.map +0 -1
  112. package/dist/RuntimeContext.cjs +0 -10
  113. package/dist/RuntimeContext.cjs.map +0 -1
  114. package/dist/RuntimeContext.d.ts +0 -44
  115. package/dist/RuntimeContext.js +0 -10
  116. package/dist/RuntimeContext.js.map +0 -1
  117. package/dist/chunk-2SARESCF.js +0 -135
  118. package/dist/chunk-2SARESCF.js.map +0 -1
  119. package/dist/chunk-2XWOWIXK.cjs +0 -23
  120. package/dist/chunk-2XWOWIXK.cjs.map +0 -1
  121. package/dist/chunk-3OF5LR4Y.cjs +0 -110
  122. package/dist/chunk-3OF5LR4Y.cjs.map +0 -1
  123. package/dist/chunk-3QFEC7SK.cjs +0 -39
  124. package/dist/chunk-3QFEC7SK.cjs.map +0 -1
  125. package/dist/chunk-4OKETOHR.js +0 -120
  126. package/dist/chunk-4OKETOHR.js.map +0 -1
  127. package/dist/chunk-7H32FZ35.js.map +0 -1
  128. package/dist/chunk-AMJCUB2I.cjs +0 -46
  129. package/dist/chunk-AMJCUB2I.cjs.map +0 -1
  130. package/dist/chunk-BEDRMOBJ.js +0 -43
  131. package/dist/chunk-BEDRMOBJ.js.map +0 -1
  132. package/dist/chunk-CVLSVTCX.cjs +0 -43
  133. package/dist/chunk-CVLSVTCX.cjs.map +0 -1
  134. package/dist/chunk-EACKNC6C.cjs +0 -103
  135. package/dist/chunk-EACKNC6C.cjs.map +0 -1
  136. package/dist/chunk-GDSG5VLX.js +0 -67
  137. package/dist/chunk-GDSG5VLX.js.map +0 -1
  138. package/dist/chunk-GXCX5YCI.js +0 -46
  139. package/dist/chunk-GXCX5YCI.js.map +0 -1
  140. package/dist/chunk-HIC6NEI2.js +0 -39
  141. package/dist/chunk-HIC6NEI2.js.map +0 -1
  142. package/dist/chunk-JSFJKANM.js +0 -115
  143. package/dist/chunk-JSFJKANM.js.map +0 -1
  144. package/dist/chunk-K22KNCGR.cjs +0 -24
  145. package/dist/chunk-K22KNCGR.cjs.map +0 -1
  146. package/dist/chunk-K6UPSPM5.cjs +0 -115
  147. package/dist/chunk-K6UPSPM5.cjs.map +0 -1
  148. package/dist/chunk-LTIGECX6.cjs +0 -44
  149. package/dist/chunk-LTIGECX6.cjs.map +0 -1
  150. package/dist/chunk-LVN3UGUH.cjs +0 -404
  151. package/dist/chunk-LVN3UGUH.cjs.map +0 -1
  152. package/dist/chunk-M7HJ2CKM.cjs +0 -135
  153. package/dist/chunk-M7HJ2CKM.cjs.map +0 -1
  154. package/dist/chunk-MWP7SJWC.js +0 -103
  155. package/dist/chunk-MWP7SJWC.js.map +0 -1
  156. package/dist/chunk-NBDFYP3Y.js +0 -24
  157. package/dist/chunk-NBDFYP3Y.js.map +0 -1
  158. package/dist/chunk-SOEAQVIE.js +0 -34
  159. package/dist/chunk-SOEAQVIE.js.map +0 -1
  160. package/dist/chunk-TQGOPELV.cjs +0 -67
  161. package/dist/chunk-TQGOPELV.cjs.map +0 -1
  162. package/dist/chunk-WHVPVEYH.cjs +0 -34
  163. package/dist/chunk-WHVPVEYH.cjs.map +0 -1
  164. package/dist/chunk-X4GS3I5P.js +0 -110
  165. package/dist/chunk-X4GS3I5P.js.map +0 -1
  166. package/dist/chunk-XYWE6TCQ.js +0 -37
  167. package/dist/chunk-XYWE6TCQ.js.map +0 -1
  168. package/dist/chunk-YLZI7BR5.cjs +0 -120
  169. package/dist/chunk-YLZI7BR5.cjs.map +0 -1
  170. package/dist/chunk-YNPYJVNU.js +0 -44
  171. package/dist/chunk-YNPYJVNU.js.map +0 -1
  172. package/dist/chunk-Z5Z6AKH7.cjs +0 -37
  173. package/dist/chunk-Z5Z6AKH7.cjs.map +0 -1
  174. package/dist/chunk-ZALRIFOG.js +0 -23
  175. package/dist/chunk-ZALRIFOG.js.map +0 -1
  176. package/dist/hooks.cjs +0 -29
  177. package/dist/hooks.cjs.map +0 -1
  178. package/dist/hooks.d.ts +0 -6
  179. package/dist/hooks.js +0 -29
  180. package/dist/hooks.js.map +0 -1
  181. package/dist/index.cjs +0 -7
  182. package/dist/index.cjs.map +0 -1
  183. package/dist/index.css +0 -112
  184. package/dist/index.css.map +0 -1
  185. package/dist/types.cjs +0 -1
  186. package/dist/types.cjs.map +0 -1
  187. package/dist/types.d.ts +0 -100
  188. package/dist/types.js +0 -1
  189. package/dist/types.js.map +0 -1
  190. package/dist/utils.cjs +0 -33
  191. package/dist/utils.cjs.map +0 -1
  192. package/dist/validation.cjs +0 -9
  193. package/dist/validation.cjs.map +0 -1
  194. package/dist/validation.d.ts +0 -241
  195. package/dist/validation.js +0 -9
  196. package/dist/validation.js.map +0 -1
@@ -1,103 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}
@@ -1,24 +0,0 @@
1
- import {
2
- HTMLInputController
3
- } from "./chunk-2SARESCF.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-NBDFYP3Y.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Controller/String.tsx"],"sourcesContent":["import { FxParamControllerProps, HTMLInputController } from \"./Controller\"\n\nexport function StringController(props: FxParamControllerProps<\"string\">) {\n const { options } = props\n const minLength = Number(options?.minLength) || 0\n const maxLength = Number(options?.maxLength) || 64\n\n return (\n <HTMLInputController\n type=\"text\"\n inputProps={{ minLength, maxLength }}\n {...props}\n />\n )\n}\n"],"mappings":";;;;;AAQI;AANG,SAAS,iBAAiB,OAAyC;AACxE,QAAM,EAAE,QAAQ,IAAI;AACpB,QAAM,YAAY,OAAO,SAAS,SAAS,KAAK;AAChD,QAAM,YAAY,OAAO,SAAS,SAAS,KAAK;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,YAAY,EAAE,WAAW,UAAU;AAAA,MAClC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -1,34 +0,0 @@
1
- import {
2
- Controller
3
- } from "./chunk-2SARESCF.js";
4
- import {
5
- BaseSelect
6
- } from "./chunk-BEDRMOBJ.js";
7
-
8
- // src/Controller/Select.tsx
9
- import { jsx } from "react/jsx-runtime";
10
- function SelectController({
11
- id,
12
- label,
13
- value,
14
- onChange,
15
- options,
16
- isCodeDriven
17
- }) {
18
- return /* @__PURE__ */ jsx(Controller, { id, label, isCodeDriven, children: /* @__PURE__ */ jsx(
19
- BaseSelect,
20
- {
21
- name: id,
22
- id,
23
- onChange,
24
- value,
25
- disabled: isCodeDriven,
26
- children: options?.options.map((o) => /* @__PURE__ */ jsx("option", { value: o, children: o }, o))
27
- }
28
- ) });
29
- }
30
-
31
- export {
32
- SelectController
33
- };
34
- //# sourceMappingURL=chunk-SOEAQVIE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Controller/Select.tsx"],"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"],"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,OACpB,oBAAC,YAAe,OAAO,GACpB,eADU,CAEb,CACD;AAAA;AAAA,EACH,GACF;AAEJ;","names":[]}
@@ -1,67 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/Controller/Invalid.tsx
2
- var _react = require('react');
3
-
4
- // src/Controller/Invalid.module.scss
5
- var Invalid_module_default = {
6
- "invalid": "_invalid_u8v12_1",
7
- "isOpen": "_isOpen_u8v12_30",
8
- "errorsWrapper": "_errorsWrapper_u8v12_34",
9
- "attributes": "_attributes_u8v12_40",
10
- "issue": "_issue_u8v12_44"
11
- };
12
-
13
- // src/Controller/Invalid.tsx
14
- var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
15
- var _jsxruntime = require('react/jsx-runtime');
16
- function Issue(props) {
17
- const { issue } = props;
18
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { className: Invalid_module_default.issue, children: [
19
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { children: [
20
- issue.code,
21
- " at ",
22
- issue.path.join(".")
23
- ] }),
24
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "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__ */ _jsxruntime.jsx.call(void 0, "h4", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
32
- id,
33
- ": ",
34
- definition[id]
35
- ] }) });
36
- }
37
- function ControllerInvalid(props) {
38
- const { definition, error } = props;
39
- const [showIssues, setShowIssues] = _react.useState.call(void 0, false);
40
- const handleToggleShowIssues = () => {
41
- setShowIssues(!showIssues);
42
- };
43
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _classnames2.default.call(void 0, Invalid_module_default.invalid), children: [
44
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "label", { onClick: handleToggleShowIssues, children: [
45
- "Invalid parameter definition",
46
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "i", { className: _classnames2.default.call(void 0, { [Invalid_module_default.isOpen]: showIssues }), children: showIssues ? "-" : "+" })
47
- ] }),
48
- showIssues && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: Invalid_module_default.errorsWrapper, children: [
49
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: Invalid_module_default.attributes, children: [
50
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Attribute, { definition, id: "id" }),
51
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Attribute, { definition, id: "name" })
52
- ] }),
53
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: _classnames2.default.call(void 0, Invalid_module_default.issues, { [Invalid_module_default.isOpen]: showIssues }), children: error.issues.map((issue) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
54
- Issue,
55
- {
56
- issue
57
- },
58
- `${issue.code}-${issue.path.join("-")}`
59
- )) })
60
- ] })
61
- ] });
62
- }
63
-
64
-
65
-
66
- exports.ControllerInvalid = ControllerInvalid;
67
- //# sourceMappingURL=chunk-TQGOPELV.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Controller/Invalid.tsx","../src/Controller/Invalid.module.scss"],"names":[],"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,WAChB;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA;AAAA,QADK,GAAG,MAAM,QAAQ,MAAM,KAAK,KAAK,GAAG;AAAA,MAE3C,CACD,GACH;AAAA,OACF;AAAA,KAEJ;AAEJ","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_u8v12_1\",\n \"isOpen\": \"_isOpen_u8v12_30\",\n \"errorsWrapper\": \"_errorsWrapper_u8v12_34\",\n \"attributes\": \"_attributes_u8v12_40\",\n \"issue\": \"_issue_u8v12_44\"\n};"]}
@@ -1,34 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
-
3
- var _chunkM7HJ2CKMcjs = require('./chunk-M7HJ2CKM.cjs');
4
-
5
-
6
- var _chunkCVLSVTCXcjs = require('./chunk-CVLSVTCX.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, _chunkM7HJ2CKMcjs.Controller, { id, label, isCodeDriven, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19
- _chunkCVLSVTCXcjs.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-WHVPVEYH.cjs.map
@@ -1 +0,0 @@
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,OACpB,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"]}
@@ -1,110 +0,0 @@
1
- import {
2
- NumberController
3
- } from "./chunk-YNPYJVNU.js";
4
- import {
5
- SelectController
6
- } from "./chunk-SOEAQVIE.js";
7
- import {
8
- StringController
9
- } from "./chunk-NBDFYP3Y.js";
10
- import {
11
- validateParameterDefinition
12
- } from "./chunk-MWP7SJWC.js";
13
- import {
14
- BigIntController
15
- } from "./chunk-GXCX5YCI.js";
16
- import {
17
- BooleanController
18
- } from "./chunk-ZALRIFOG.js";
19
- import {
20
- BytesController
21
- } from "./chunk-HIC6NEI2.js";
22
- import {
23
- ColorController
24
- } from "./chunk-4OKETOHR.js";
25
- import {
26
- ControllerInvalid
27
- } from "./chunk-GDSG5VLX.js";
28
-
29
- // src/Controller/Param.tsx
30
- import { useMemo } from "react";
31
- import { jsx } from "react/jsx-runtime";
32
- var controllerDefinitions = {
33
- number: {
34
- type: "number",
35
- controller: NumberController,
36
- handler: (e) => Number(e.target.value)
37
- },
38
- bigint: {
39
- type: "bigint",
40
- controller: BigIntController,
41
- handler: (e) => BigInt(e.target.value)
42
- },
43
- string: {
44
- type: "string",
45
- controller: StringController,
46
- handler: (e) => e.target.value
47
- },
48
- bytes: {
49
- type: "bytes",
50
- controller: BytesController,
51
- handler: (e) => e.target.value
52
- },
53
- boolean: {
54
- type: "boolean",
55
- controller: BooleanController,
56
- handler: (e) => e.target.checked
57
- },
58
- color: {
59
- type: "color",
60
- controller: ColorController,
61
- handler: (v) => v
62
- },
63
- select: {
64
- type: "select",
65
- controller: SelectController,
66
- handler: (e) => e.target.value
67
- }
68
- };
69
- function ParameterController(props) {
70
- const { parameter, onChange, parsed } = props;
71
- const parsedDefinition = useMemo(
72
- () => parsed || validateParameterDefinition(parameter),
73
- [parameter, parsed]
74
- );
75
- const { controller: Controller, handler } = useMemo(
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__ */ jsx(
85
- ControllerInvalid,
86
- {
87
- definition: parameter,
88
- error: parsedDefinition.error
89
- }
90
- );
91
- }
92
- const isCodeDriven = parameter.update === "code-driven";
93
- return /* @__PURE__ */ jsx(
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
- export {
107
- controllerDefinitions,
108
- ParameterController
109
- };
110
- //# sourceMappingURL=chunk-X4GS3I5P.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Controller/Param.tsx"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,eAA6B;AA6FhC;AAlEC,IAAM,wBAAsD;AAAA,EACjE,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,OAAK,OAAO,EAAE,OAAO,KAAK;AAAA,EACrC;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,OAAK,OAAO,EAAE,OAAO,KAAK;AAAA,EACrC;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,OAAK,EAAE,OAAO;AAAA,EACzB;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,OAAK,EAAE,OAAO;AAAA,EACzB;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,OAAM,EAA0C,OAAO;AAAA,EAClE;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,OAAK;AAAA,EAChB;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS,OAAK,EAAE,OAAO;AAAA,EACzB;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;","names":[]}
@@ -1,37 +0,0 @@
1
- import {
2
- IconButton
3
- } from "./chunk-BEDRMOBJ.js";
4
-
5
- // src/LockButton/LockButton.tsx
6
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
7
-
8
- // src/LockButton/LockButton.module.scss
9
- var LockButton_module_default = {
10
- "lockButton": "_lockButton_xs4tj_1"
11
- };
12
-
13
- // src/LockButton/LockButton.tsx
14
- import { faLock, faLockOpen } from "@fortawesome/free-solid-svg-icons";
15
- import cx from "classnames";
16
- import { jsx } from "react/jsx-runtime";
17
- function LockButton(props) {
18
- const { isLocked, className, ...rest } = props;
19
- return /* @__PURE__ */ jsx(
20
- IconButton,
21
- {
22
- color: "secondary",
23
- className: cx(
24
- LockButton_module_default.lockButton,
25
- { [LockButton_module_default.isOpen]: !isLocked },
26
- className
27
- ),
28
- ...rest,
29
- children: /* @__PURE__ */ jsx(FontAwesomeIcon, { icon: isLocked ? faLock : faLockOpen })
30
- }
31
- );
32
- }
33
-
34
- export {
35
- LockButton
36
- };
37
- //# sourceMappingURL=chunk-XYWE6TCQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/LockButton/LockButton.tsx","../src/LockButton/LockButton.module.scss"],"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_xs4tj_1\"\n};"],"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;","names":[]}
@@ -1,120 +0,0 @@
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 _chunkM7HJ2CKMcjs = require('./chunk-M7HJ2CKM.cjs');
5
-
6
-
7
-
8
- var _chunkLVN3UGUHcjs = require('./chunk-LVN3UGUH.cjs');
9
-
10
-
11
- var _chunkCVLSVTCXcjs = require('./chunk-CVLSVTCX.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_p7fh7_1",
24
- "active": "_active_p7fh7_9",
25
- "square": "_square_p7fh7_1",
26
- "pickerWrapper": "_pickerWrapper_p7fh7_24",
27
- "pickerAbsoluteWrapper": "_pickerAbsoluteWrapper_p7fh7_28",
28
- "picker": "_picker_p7fh7_24",
29
- "colorful": "_colorful_p7fh7_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(_chunkLVN3UGUHcjs.rgbaToHex.call(void 0, newColor.r, newColor.g, newColor.b, newColor.a));
59
- };
60
- const color = _react.useMemo.call(void 0, () => _chunkLVN3UGUHcjs.hexToRgba.call(void 0, value), [value]);
61
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
62
- _chunkM7HJ2CKMcjs.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
- _chunkCVLSVTCXcjs.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
- _chunkM7HJ2CKMcjs.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-YLZI7BR5.cjs.map
@@ -1 +0,0 @@
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,UAAQ,CAAC,IAAI;AAAA,EAC7B;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_p7fh7_1\",\n \"active\": \"_active_p7fh7_9\",\n \"square\": \"_square_p7fh7_1\",\n \"pickerWrapper\": \"_pickerWrapper_p7fh7_24\",\n \"pickerAbsoluteWrapper\": \"_pickerAbsoluteWrapper_p7fh7_28\",\n \"picker\": \"_picker_p7fh7_24\",\n \"colorful\": \"_colorful_p7fh7_42\"\n};"]}
@@ -1,44 +0,0 @@
1
- import {
2
- Controller_module_default,
3
- HTMLInputControllerWithTextInput
4
- } from "./chunk-2SARESCF.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-YNPYJVNU.js.map
@@ -1 +0,0 @@
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":[]}