@pie-lib/config-ui 13.0.4-next.31 → 13.0.4-next.34

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 (190) hide show
  1. package/CHANGELOG.json +32 -0
  2. package/CHANGELOG.md +2419 -0
  3. package/LICENSE.md +5 -0
  4. package/lib/alert-dialog.js +68 -0
  5. package/lib/alert-dialog.js.map +1 -0
  6. package/lib/checkbox.js +84 -0
  7. package/lib/checkbox.js.map +1 -0
  8. package/lib/choice-configuration/feedback-menu.js +129 -0
  9. package/lib/choice-configuration/feedback-menu.js.map +1 -0
  10. package/lib/choice-configuration/index.js +381 -0
  11. package/lib/choice-configuration/index.js.map +1 -0
  12. package/lib/choice-utils.js +42 -0
  13. package/lib/choice-utils.js.map +1 -0
  14. package/lib/feedback-config/feedback-selector.js +155 -0
  15. package/lib/feedback-config/feedback-selector.js.map +1 -0
  16. package/lib/feedback-config/group.js +61 -0
  17. package/lib/feedback-config/group.js.map +1 -0
  18. package/lib/feedback-config/index.js +146 -0
  19. package/lib/feedback-config/index.js.map +1 -0
  20. package/lib/form-section.js +44 -0
  21. package/lib/form-section.js.map +1 -0
  22. package/lib/help.js +106 -0
  23. package/lib/help.js.map +1 -0
  24. package/lib/index.js +186 -0
  25. package/lib/index.js.map +1 -0
  26. package/lib/input.js +106 -0
  27. package/lib/input.js.map +1 -0
  28. package/lib/inputs.js +105 -0
  29. package/lib/inputs.js.map +1 -0
  30. package/lib/langs.js +136 -0
  31. package/lib/langs.js.map +1 -0
  32. package/lib/layout/config-layout.js +137 -0
  33. package/lib/layout/config-layout.js.map +1 -0
  34. package/lib/layout/index.js +21 -0
  35. package/lib/layout/index.js.map +1 -0
  36. package/lib/layout/layout-contents.js +160 -0
  37. package/lib/layout/layout-contents.js.map +1 -0
  38. package/lib/layout/settings-box.js +57 -0
  39. package/lib/layout/settings-box.js.map +1 -0
  40. package/lib/mui-box/index.js +63 -0
  41. package/lib/mui-box/index.js.map +1 -0
  42. package/lib/number-text-field-custom.js +376 -0
  43. package/lib/number-text-field-custom.js.map +1 -0
  44. package/lib/number-text-field.js +229 -0
  45. package/lib/number-text-field.js.map +1 -0
  46. package/lib/radio-with-label.js +48 -0
  47. package/lib/radio-with-label.js.map +1 -0
  48. package/lib/settings/display-size.js +61 -0
  49. package/lib/settings/display-size.js.map +1 -0
  50. package/lib/settings/index.js +110 -0
  51. package/lib/settings/index.js.map +1 -0
  52. package/lib/settings/panel.js +392 -0
  53. package/lib/settings/panel.js.map +1 -0
  54. package/lib/settings/settings-radio-label.js +51 -0
  55. package/lib/settings/settings-radio-label.js.map +1 -0
  56. package/lib/settings/toggle.js +63 -0
  57. package/lib/settings/toggle.js.map +1 -0
  58. package/lib/tabs/index.js +75 -0
  59. package/lib/tabs/index.js.map +1 -0
  60. package/lib/tags-input/index.js +149 -0
  61. package/lib/tags-input/index.js.map +1 -0
  62. package/lib/two-choice.js +136 -0
  63. package/lib/two-choice.js.map +1 -0
  64. package/lib/with-stateful-model.js +61 -0
  65. package/lib/with-stateful-model.js.map +1 -0
  66. package/package.json +19 -33
  67. package/src/__tests__/alert-dialog.test.jsx +183 -0
  68. package/src/__tests__/checkbox.test.jsx +152 -0
  69. package/src/__tests__/choice-utils.test.js +12 -0
  70. package/src/__tests__/form-section.test.jsx +328 -0
  71. package/src/__tests__/help.test.jsx +184 -0
  72. package/src/__tests__/input.test.jsx +156 -0
  73. package/src/__tests__/langs.test.jsx +376 -0
  74. package/src/__tests__/number-text-field-custom.test.jsx +255 -0
  75. package/src/__tests__/number-text-field.test.jsx +263 -0
  76. package/src/__tests__/radio-with-label.test.jsx +155 -0
  77. package/src/__tests__/settings-panel.test.js +187 -0
  78. package/src/__tests__/settings.test.jsx +452 -0
  79. package/src/__tests__/tabs.test.jsx +188 -0
  80. package/src/__tests__/two-choice.test.js +110 -0
  81. package/src/__tests__/with-stateful-model.test.jsx +139 -0
  82. package/src/alert-dialog.jsx +75 -0
  83. package/src/checkbox.jsx +61 -0
  84. package/src/choice-configuration/__tests__/feedback-menu.test.jsx +151 -0
  85. package/src/choice-configuration/__tests__/index.test.jsx +234 -0
  86. package/src/choice-configuration/feedback-menu.jsx +96 -0
  87. package/src/choice-configuration/index.jsx +357 -0
  88. package/src/choice-utils.js +30 -0
  89. package/src/feedback-config/__tests__/feedback-config.test.jsx +141 -0
  90. package/src/feedback-config/__tests__/feedback-selector.test.jsx +97 -0
  91. package/src/feedback-config/feedback-selector.jsx +112 -0
  92. package/src/feedback-config/group.jsx +51 -0
  93. package/src/feedback-config/index.jsx +111 -0
  94. package/src/form-section.jsx +31 -0
  95. package/src/help.jsx +79 -0
  96. package/src/index.js +55 -0
  97. package/src/input.jsx +72 -0
  98. package/src/inputs.jsx +69 -0
  99. package/src/langs.jsx +111 -0
  100. package/src/layout/__tests__/config.layout.test.jsx +59 -0
  101. package/src/layout/__tests__/layout-content.test.jsx +3 -0
  102. package/src/layout/config-layout.jsx +103 -0
  103. package/src/layout/index.js +4 -0
  104. package/src/layout/layout-contents.jsx +117 -0
  105. package/src/layout/settings-box.jsx +32 -0
  106. package/src/mui-box/index.jsx +56 -0
  107. package/src/number-text-field-custom.jsx +333 -0
  108. package/src/number-text-field.jsx +215 -0
  109. package/src/radio-with-label.jsx +30 -0
  110. package/src/settings/display-size.jsx +53 -0
  111. package/src/settings/index.js +83 -0
  112. package/src/settings/panel.jsx +333 -0
  113. package/src/settings/settings-radio-label.jsx +32 -0
  114. package/src/settings/toggle.jsx +46 -0
  115. package/src/tabs/index.jsx +47 -0
  116. package/src/tags-input/__tests__/index.test.jsx +113 -0
  117. package/src/tags-input/index.jsx +116 -0
  118. package/src/two-choice.jsx +90 -0
  119. package/src/with-stateful-model.jsx +36 -0
  120. package/dist/_virtual/_rolldown/runtime.js +0 -11
  121. package/dist/alert-dialog.d.ts +0 -44
  122. package/dist/alert-dialog.js +0 -47
  123. package/dist/checkbox.d.ts +0 -34
  124. package/dist/checkbox.js +0 -57
  125. package/dist/choice-configuration/feedback-menu.d.ts +0 -32
  126. package/dist/choice-configuration/feedback-menu.js +0 -85
  127. package/dist/choice-configuration/index.d.ts +0 -62
  128. package/dist/choice-configuration/index.js +0 -240
  129. package/dist/choice-utils.d.ts +0 -21
  130. package/dist/choice-utils.js +0 -15
  131. package/dist/feedback-config/feedback-selector.d.ts +0 -33
  132. package/dist/feedback-config/feedback-selector.js +0 -92
  133. package/dist/feedback-config/group.d.ts +0 -21
  134. package/dist/feedback-config/group.js +0 -33
  135. package/dist/feedback-config/index.d.ts +0 -48
  136. package/dist/feedback-config/index.js +0 -96
  137. package/dist/form-section.d.ts +0 -25
  138. package/dist/form-section.js +0 -25
  139. package/dist/fraction-to-number.d.ts +0 -7
  140. package/dist/fraction-to-number.js +0 -9
  141. package/dist/help.d.ts +0 -41
  142. package/dist/help.js +0 -61
  143. package/dist/index.d.ts +0 -31
  144. package/dist/index.js +0 -34
  145. package/dist/input.d.ts +0 -29
  146. package/dist/input.js +0 -65
  147. package/dist/inputs.d.ts +0 -63
  148. package/dist/inputs.js +0 -70
  149. package/dist/langs.d.ts +0 -41
  150. package/dist/langs.js +0 -76
  151. package/dist/layout/config-layout.d.ts +0 -10
  152. package/dist/layout/config-layout.js +0 -75
  153. package/dist/layout/index.d.ts +0 -11
  154. package/dist/layout/index.js +0 -10
  155. package/dist/layout/layout-contents.d.ts +0 -21
  156. package/dist/layout/layout-contents.js +0 -70
  157. package/dist/layout/settings-box.d.ts +0 -19
  158. package/dist/layout/settings-box.js +0 -31
  159. package/dist/mui-box/index.d.ts +0 -21
  160. package/dist/mui-box/index.js +0 -47
  161. package/dist/node_modules/.bun/@babel_runtime@7.28.6/node_modules/@babel/runtime/helpers/esm/extends.js +0 -12
  162. package/dist/node_modules/.bun/@babel_runtime@7.28.6/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +0 -7
  163. package/dist/node_modules/.bun/@babel_runtime@7.28.6/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -12
  164. package/dist/node_modules/.bun/@babel_runtime@7.28.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -8
  165. package/dist/node_modules/.bun/react-measure@2.5.2_6dbf9a050bc9aadb/node_modules/react-measure/dist/index.esm.js +0 -122
  166. package/dist/node_modules/.bun/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +0 -276
  167. package/dist/number-text-field-custom.d.ts +0 -51
  168. package/dist/number-text-field-custom.js +0 -192
  169. package/dist/number-text-field.d.ts +0 -47
  170. package/dist/number-text-field.js +0 -122
  171. package/dist/radio-with-label.d.ts +0 -25
  172. package/dist/radio-with-label.js +0 -27
  173. package/dist/settings/display-size.d.ts +0 -26
  174. package/dist/settings/display-size.js +0 -45
  175. package/dist/settings/index.d.ts +0 -45
  176. package/dist/settings/index.js +0 -63
  177. package/dist/settings/panel.d.ts +0 -27
  178. package/dist/settings/panel.js +0 -201
  179. package/dist/settings/settings-radio-label.d.ts +0 -25
  180. package/dist/settings/settings-radio-label.js +0 -29
  181. package/dist/settings/toggle.d.ts +0 -25
  182. package/dist/settings/toggle.js +0 -33
  183. package/dist/tabs/index.d.ts +0 -22
  184. package/dist/tabs/index.js +0 -39
  185. package/dist/tags-input/index.d.ts +0 -21
  186. package/dist/tags-input/index.js +0 -83
  187. package/dist/two-choice.d.ts +0 -43
  188. package/dist/two-choice.js +0 -79
  189. package/dist/with-stateful-model.d.ts +0 -42
  190. package/dist/with-stateful-model.js +0 -32
@@ -0,0 +1,90 @@
1
+ import { InputContainer } from '@pie-lib/render-ui';
2
+ import PropTypes from 'prop-types';
3
+ import RadioWithLabel from './radio-with-label';
4
+ import React from 'react';
5
+ import { styled } from '@mui/material/styles';
6
+
7
+ const StyledGroup = styled('div')(({ theme, direction }) => ({
8
+ display: 'flex',
9
+ flexWrap: 'wrap',
10
+ paddingLeft: 0,
11
+ marginTop: theme.spacing(1),
12
+ ...(direction === 'vertical' && {
13
+ flexDirection: 'column',
14
+ }),
15
+ }));
16
+
17
+ class NChoice extends React.Component {
18
+ static propTypes = {
19
+ header: PropTypes.string.isRequired,
20
+ className: PropTypes.string,
21
+ customLabel: PropTypes.func,
22
+ opts: PropTypes.array.isRequired,
23
+ value: PropTypes.string,
24
+ onChange: PropTypes.func.isRequired,
25
+ direction: PropTypes.oneOf(['horizontal', 'vertical']),
26
+ };
27
+
28
+ handleChange = (event) => {
29
+ this.props.onChange(event.currentTarget.value);
30
+ };
31
+
32
+ render() {
33
+ const { header, className, customLabel, opts, value, direction } = this.props;
34
+
35
+ const preppedOpts = opts.map((o) => {
36
+ return typeof o === 'string' ? { label: o, value: o } : o;
37
+ });
38
+ const LabelComponent = customLabel || RadioWithLabel;
39
+
40
+ return (
41
+ <InputContainer label={header} className={className}>
42
+ <StyledGroup direction={direction}>
43
+ {preppedOpts.map((o, index) => (
44
+ <LabelComponent
45
+ value={o.value}
46
+ key={index}
47
+ checked={o.value === value}
48
+ onChange={this.handleChange}
49
+ label={o.label}
50
+ />
51
+ ))}
52
+ </StyledGroup>
53
+ </InputContainer>
54
+ );
55
+ }
56
+ }
57
+
58
+ export { NChoice };
59
+
60
+ const labelValue = PropTypes.shape({ label: PropTypes.string, value: PropTypes.string });
61
+
62
+ class TwoChoice extends React.Component {
63
+ static propTypes = {
64
+ header: PropTypes.string.isRequired,
65
+ value: PropTypes.string.isRequired,
66
+ onChange: PropTypes.func.isRequired,
67
+ one: PropTypes.oneOfType([labelValue, PropTypes.string]),
68
+ two: PropTypes.oneOfType([labelValue, PropTypes.string]),
69
+ className: PropTypes.string,
70
+ customLabel: PropTypes.func,
71
+ };
72
+
73
+ render() {
74
+ const { one, two, header, className, customLabel, value, onChange } = this.props;
75
+ const opts = [one, two];
76
+
77
+ return (
78
+ <NChoice
79
+ customLabel={customLabel}
80
+ header={header}
81
+ className={className}
82
+ opts={opts}
83
+ value={value}
84
+ onChange={onChange}
85
+ />
86
+ );
87
+ }
88
+ }
89
+
90
+ export default TwoChoice;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+
4
+ const withStatefulModel = (Component) => {
5
+ class Stateful extends React.Component {
6
+ static propTypes = {
7
+ model: PropTypes.object.isRequired,
8
+ onChange: PropTypes.func.isRequired,
9
+ };
10
+
11
+ constructor(props) {
12
+ super(props);
13
+ this.state = {
14
+ model: props.model,
15
+ };
16
+ }
17
+
18
+ UNSAFE_componentWillReceiveProps(props) {
19
+ this.setState({ model: props.model });
20
+ }
21
+
22
+ onChange = (model) => {
23
+ this.setState({ model }, () => {
24
+ this.props.onChange(this.state.model);
25
+ });
26
+ };
27
+
28
+ render() {
29
+ return <Component model={this.state.model} onChange={this.onChange} />;
30
+ }
31
+ }
32
+
33
+ return Stateful;
34
+ };
35
+
36
+ export default withStatefulModel;
@@ -1,11 +0,0 @@
1
- //#region \0rolldown/runtime.js
2
- var e = Object.defineProperty, t = (t, n) => {
3
- let r = {};
4
- for (var i in t) e(r, i, {
5
- get: t[i],
6
- enumerable: !0
7
- });
8
- return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
9
- };
10
- //#endregion
11
- export { t as __exportAll };
@@ -1,44 +0,0 @@
1
- /**
2
- * @synced-from pie-lib/packages/config-ui/src/alert-dialog.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- import PropTypes from 'prop-types';
11
- declare const AlertDialog: {
12
- ({ text, title, onClose, onConfirm, open, onCloseText, onConfirmText, disableAutoFocus, disableEnforceFocus, disableRestoreFocus, }: {
13
- text: any;
14
- title: any;
15
- onClose: any;
16
- onConfirm: any;
17
- open: any;
18
- onCloseText: any;
19
- onConfirmText: any;
20
- disableAutoFocus: any;
21
- disableEnforceFocus: any;
22
- disableRestoreFocus: any;
23
- }): React.JSX.Element;
24
- defaultProps: {
25
- onCloseText: string;
26
- onConfirmText: string;
27
- disableAutoFocus: boolean;
28
- disableEnforceFocus: boolean;
29
- disableRestoreFocus: boolean;
30
- };
31
- propTypes: {
32
- text: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
33
- title: PropTypes.Requireable<string>;
34
- onClose: PropTypes.Requireable<(...args: any[]) => any>;
35
- onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
36
- open: PropTypes.Requireable<boolean>;
37
- onConfirmText: PropTypes.Requireable<string>;
38
- onCloseText: PropTypes.Requireable<string>;
39
- disableAutoFocus: PropTypes.Requireable<boolean>;
40
- disableEnforceFocus: PropTypes.Requireable<boolean>;
41
- disableRestoreFocus: PropTypes.Requireable<boolean>;
42
- };
43
- };
44
- export default AlertDialog;
@@ -1,47 +0,0 @@
1
- import "react";
2
- import e from "prop-types";
3
- import { Button as t, Dialog as n, DialogActions as r, DialogContent as i, DialogContentText as a, DialogTitle as o } from "@mui/material";
4
- import { styled as s } from "@mui/material/styles";
5
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
- //#region src/alert-dialog.tsx
7
- var u = s(o)(() => ({ fontSize: "max(1.25rem, 18px)" })), d = s(a)(() => ({ fontSize: "max(1rem, 14px)" })), f = ({ text: e, title: a, onClose: o, onConfirm: s, open: f, onCloseText: p, onConfirmText: m, disableAutoFocus: h, disableEnforceFocus: g, disableRestoreFocus: _ }) => /* @__PURE__ */ l(n, {
8
- open: f,
9
- disableAutoFocus: h,
10
- disableEnforceFocus: g,
11
- disableRestoreFocus: _,
12
- onClose: o,
13
- children: [
14
- a && /* @__PURE__ */ c(u, { children: a }),
15
- e && /* @__PURE__ */ c(i, { children: /* @__PURE__ */ c(d, { children: e }) }),
16
- /* @__PURE__ */ l(r, { children: [o && /* @__PURE__ */ c(t, {
17
- onClick: o,
18
- color: "primary",
19
- children: p
20
- }), s && /* @__PURE__ */ c(t, {
21
- autoFocus: !0,
22
- onClick: s,
23
- color: "primary",
24
- children: m
25
- })] })
26
- ]
27
- });
28
- f.defaultProps = {
29
- onCloseText: "CANCEL",
30
- onConfirmText: "OK",
31
- disableAutoFocus: !1,
32
- disableEnforceFocus: !1,
33
- disableRestoreFocus: !1
34
- }, f.propTypes = {
35
- text: e.oneOfType([e.string, e.object]),
36
- title: e.string,
37
- onClose: e.func,
38
- onConfirm: e.func,
39
- open: e.bool,
40
- onConfirmText: e.string,
41
- onCloseText: e.string,
42
- disableAutoFocus: e.bool,
43
- disableEnforceFocus: e.bool,
44
- disableRestoreFocus: e.bool
45
- };
46
- //#endregion
47
- export { f as default };
@@ -1,34 +0,0 @@
1
- /**
2
- * @synced-from pie-lib/packages/config-ui/src/checkbox.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import PropTypes from 'prop-types';
10
- import React from 'react';
11
- declare const Checkbox: {
12
- ({ mini, checked, onChange, value, label, error }: {
13
- mini: any;
14
- checked: any;
15
- onChange: any;
16
- value: any;
17
- label: any;
18
- error: any;
19
- }): React.JSX.Element;
20
- propTypes: {
21
- mini: PropTypes.Requireable<boolean>;
22
- checked: PropTypes.Validator<boolean>;
23
- onChange: PropTypes.Validator<(...args: any[]) => any>;
24
- value: PropTypes.Requireable<string>;
25
- label: PropTypes.Validator<string>;
26
- error: PropTypes.Requireable<boolean>;
27
- };
28
- defaultProps: {
29
- value: string;
30
- mini: boolean;
31
- error: boolean;
32
- };
33
- };
34
- export default Checkbox;
package/dist/checkbox.js DELETED
@@ -1,57 +0,0 @@
1
- import "react";
2
- import e from "prop-types";
3
- import { styled as t } from "@mui/material/styles";
4
- import { jsx as n } from "react/jsx-runtime";
5
- import { color as r } from "@pie-lib/render-ui";
6
- import i from "@mui/material/FormControlLabel";
7
- import a from "@mui/material/Checkbox";
8
- import { grey as o } from "@mui/material/colors";
9
- //#region src/checkbox.tsx
10
- var s = t(i)(({ theme: e, mini: t }) => ({
11
- margin: 0,
12
- marginLeft: 0,
13
- padding: 0,
14
- "& .MuiFormControlLabel-label": {
15
- fontSize: e.typography.fontSize - 1,
16
- transform: "translate(-4%, 2%)",
17
- color: "rgba(0,0,0,1.0)",
18
- ...t && {
19
- marginLeft: e.spacing(1),
20
- color: o[700],
21
- fontSize: e.typography.fontSize - 3
22
- }
23
- }
24
- })), c = t(a)(({ theme: e, mini: t, error: n }) => ({
25
- color: `${r.tertiary()} !important`,
26
- ...t && {
27
- margin: 0,
28
- padding: 0,
29
- width: e.spacing(3),
30
- height: e.spacing(3)
31
- },
32
- ...n && { color: `${e.palette.error.main} !important` }
33
- })), l = ({ mini: e, checked: t, onChange: r, value: i, label: a, error: o }) => /* @__PURE__ */ n(s, {
34
- mini: e,
35
- control: /* @__PURE__ */ n(c, {
36
- checked: t,
37
- onChange: r,
38
- value: i,
39
- mini: e,
40
- error: o
41
- }),
42
- label: a
43
- });
44
- l.propTypes = {
45
- mini: e.bool,
46
- checked: e.bool.isRequired,
47
- onChange: e.func.isRequired,
48
- value: e.string,
49
- label: e.string.isRequired,
50
- error: e.bool
51
- }, l.defaultProps = {
52
- value: "",
53
- mini: !1,
54
- error: !1
55
- };
56
- //#endregion
57
- export { l as default };
@@ -1,32 +0,0 @@
1
- /**
2
- * @synced-from pie-lib/packages/config-ui/src/choice-configuration/feedback-menu.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import PropTypes from 'prop-types';
10
- import React from 'react';
11
- export declare class IconMenu extends React.Component {
12
- static propTypes: {
13
- opts: PropTypes.Requireable<object>;
14
- onClick: PropTypes.Validator<(...args: any[]) => any>;
15
- iconButtonElement: PropTypes.Requireable<any>;
16
- };
17
- constructor(props: any);
18
- handleClick: any;
19
- handleRequestClose: any;
20
- render(): React.JSX.Element;
21
- }
22
- export default class FeedbackMenu extends React.Component {
23
- static propTypes: {
24
- value: PropTypes.Requireable<object>;
25
- onChange: PropTypes.Validator<(...args: any[]) => any>;
26
- classes: PropTypes.Validator<object>;
27
- };
28
- static defaultProps: {
29
- classes: {};
30
- };
31
- render(): React.JSX.Element;
32
- }
@@ -1,85 +0,0 @@
1
- import e from "react";
2
- import t from "prop-types";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
- import * as i from "@pie-lib/render-ui";
5
- import { InlineMenu as a } from "@pie-lib/render-ui";
6
- import o from "@mui/material/MenuItem";
7
- import s from "@mui/material/IconButton";
8
- import c from "@mui/icons-material/Feedback";
9
- //#region src/choice-configuration/feedback-menu.tsx
10
- function l(e) {
11
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
12
- }
13
- function u(e, t) {
14
- return !e || l(e) ? e : l(e.default) ? e.default : t && l(e[t]) ? e[t] : t && l(e[t]?.default) ? e[t].default : e;
15
- }
16
- var d = u(a, "InlineMenu") || u(m.InlineMenu, "InlineMenu"), f = i, p = f.default, m = p && typeof p == "object" ? p : f, h = class extends e.Component {
17
- static propTypes = {
18
- opts: t.object,
19
- onClick: t.func.isRequired,
20
- iconButtonElement: t.any
21
- };
22
- constructor(e) {
23
- super(e), this.state = {
24
- anchorEl: void 0,
25
- open: !1
26
- };
27
- }
28
- handleClick = (e) => {
29
- this.setState({
30
- open: !0,
31
- anchorEl: e.currentTarget
32
- });
33
- };
34
- handleRequestClose = () => {
35
- this.setState({ open: !1 });
36
- };
37
- render() {
38
- let { opts: e, onClick: t } = this.props, i = Object.keys(e), a = (e) => () => {
39
- t(e), this.handleRequestClose();
40
- };
41
- return /* @__PURE__ */ r("div", { children: [/* @__PURE__ */ n("div", {
42
- onClick: this.handleClick,
43
- children: this.props.iconButtonElement
44
- }), /* @__PURE__ */ n(d, {
45
- id: "simple-menu",
46
- anchorEl: this.state.anchorEl,
47
- open: this.state.open,
48
- onClose: this.handleRequestClose,
49
- transitionDuration: {
50
- enter: 225,
51
- exit: 195
52
- },
53
- children: i.map((t, r) => /* @__PURE__ */ n(o, {
54
- onClick: a(t),
55
- children: e[t]
56
- }, r))
57
- })] });
58
- }
59
- }, g = class extends e.Component {
60
- static propTypes = {
61
- value: t.object,
62
- onChange: t.func.isRequired,
63
- classes: t.object.isRequired
64
- };
65
- static defaultProps = { classes: {} };
66
- render() {
67
- let { value: e, onChange: t, classes: r } = this.props, i = e && e.type, a = i === "custom" || i === "default" ? "primary" : "disabled", o = i === "custom" ? "Custom Feedback" : i === "default" ? "Default Feedback" : "Feedback disabled";
68
- return /* @__PURE__ */ n(h, {
69
- iconButtonElement: /* @__PURE__ */ n(s, {
70
- className: r.icon,
71
- "aria-label": o,
72
- size: "large",
73
- children: /* @__PURE__ */ n(c, { color: a })
74
- }),
75
- onClick: (e) => t(e),
76
- opts: {
77
- none: "No Feedback",
78
- default: "Default",
79
- custom: "Custom"
80
- }
81
- });
82
- }
83
- };
84
- //#endregion
85
- export { g as default };
@@ -1,62 +0,0 @@
1
- /**
2
- * @synced-from pie-lib/packages/config-ui/src/choice-configuration/index.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- import PropTypes from 'prop-types';
11
- export declare class ChoiceConfiguration extends React.Component {
12
- static propTypes: {
13
- noLabels: PropTypes.Requireable<boolean>;
14
- useLetterOrdering: PropTypes.Requireable<boolean>;
15
- className: PropTypes.Requireable<string>;
16
- error: PropTypes.Requireable<string>;
17
- mode: PropTypes.Requireable<string>;
18
- defaultFeedback: PropTypes.Validator<object>;
19
- disabled: PropTypes.Requireable<boolean>;
20
- nonEmpty: PropTypes.Requireable<boolean>;
21
- data: PropTypes.Requireable<PropTypes.InferProps<{
22
- label: PropTypes.Validator<string>;
23
- value: PropTypes.Validator<string>;
24
- correct: PropTypes.Requireable<boolean>;
25
- feedback: PropTypes.Requireable<PropTypes.InferProps<{
26
- type: PropTypes.Requireable<string>;
27
- value: PropTypes.Requireable<string>;
28
- }>>;
29
- }>>;
30
- onDelete: PropTypes.Requireable<(...args: any[]) => any>;
31
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
32
- index: PropTypes.Requireable<number>;
33
- imageSupport: PropTypes.Requireable<PropTypes.InferProps<{
34
- add: PropTypes.Validator<(...args: any[]) => any>;
35
- delete: PropTypes.Validator<(...args: any[]) => any>;
36
- }>>;
37
- disableImageAlignmentButtons: PropTypes.Requireable<boolean>;
38
- allowFeedBack: PropTypes.Requireable<boolean>;
39
- allowDelete: PropTypes.Requireable<boolean>;
40
- noCorrectAnswerError: PropTypes.Requireable<string>;
41
- spellCheck: PropTypes.Requireable<boolean>;
42
- pluginOpts: PropTypes.Requireable<object>;
43
- toolbarOpts: PropTypes.Requireable<object>;
44
- uploadSoundSupport: PropTypes.Requireable<object>;
45
- maxImageWidth: PropTypes.Requireable<number>;
46
- maxImageHeight: PropTypes.Requireable<number>;
47
- };
48
- static defaultProps: {
49
- index: number;
50
- noLabels: boolean;
51
- useLetterOrdering: boolean;
52
- allowFeedBack: boolean;
53
- allowDelete: boolean;
54
- };
55
- _changeFn: (key: any) => (update: any) => void;
56
- onLabelChange: (update: any) => void;
57
- onCheckedChange: any;
58
- onFeedbackValueChange: any;
59
- onFeedbackTypeChange: any;
60
- render(): React.JSX.Element;
61
- }
62
- export default ChoiceConfiguration;