@pie-lib/config-ui 0.1.0

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 (132) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +11 -0
  2. package/dist/alert-dialog.d.ts +44 -0
  3. package/dist/alert-dialog.d.ts.map +1 -0
  4. package/dist/alert-dialog.js +47 -0
  5. package/dist/checkbox.d.ts +34 -0
  6. package/dist/checkbox.d.ts.map +1 -0
  7. package/dist/checkbox.js +57 -0
  8. package/dist/choice-configuration/feedback-menu.d.ts +33 -0
  9. package/dist/choice-configuration/feedback-menu.d.ts.map +1 -0
  10. package/dist/choice-configuration/feedback-menu.js +85 -0
  11. package/dist/choice-configuration/index.d.ts +63 -0
  12. package/dist/choice-configuration/index.d.ts.map +1 -0
  13. package/dist/choice-configuration/index.js +240 -0
  14. package/dist/choice-utils.d.ts +22 -0
  15. package/dist/choice-utils.d.ts.map +1 -0
  16. package/dist/choice-utils.js +15 -0
  17. package/dist/feedback-config/feedback-selector.d.ts +34 -0
  18. package/dist/feedback-config/feedback-selector.d.ts.map +1 -0
  19. package/dist/feedback-config/feedback-selector.js +92 -0
  20. package/dist/feedback-config/group.d.ts +21 -0
  21. package/dist/feedback-config/group.d.ts.map +1 -0
  22. package/dist/feedback-config/group.js +33 -0
  23. package/dist/feedback-config/index.d.ts +49 -0
  24. package/dist/feedback-config/index.d.ts.map +1 -0
  25. package/dist/feedback-config/index.js +96 -0
  26. package/dist/form-section.d.ts +25 -0
  27. package/dist/form-section.d.ts.map +1 -0
  28. package/dist/form-section.js +25 -0
  29. package/dist/help.d.ts +42 -0
  30. package/dist/help.d.ts.map +1 -0
  31. package/dist/help.js +61 -0
  32. package/dist/index.d.ts +32 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +34 -0
  35. package/dist/input.d.ts +30 -0
  36. package/dist/input.d.ts.map +1 -0
  37. package/dist/input.js +65 -0
  38. package/dist/inputs.d.ts +63 -0
  39. package/dist/inputs.d.ts.map +1 -0
  40. package/dist/inputs.js +70 -0
  41. package/dist/langs.d.ts +42 -0
  42. package/dist/langs.d.ts.map +1 -0
  43. package/dist/langs.js +76 -0
  44. package/dist/layout/config-layout.d.ts +11 -0
  45. package/dist/layout/config-layout.d.ts.map +1 -0
  46. package/dist/layout/config-layout.js +75 -0
  47. package/dist/layout/index.d.ts +12 -0
  48. package/dist/layout/index.d.ts.map +1 -0
  49. package/dist/layout/index.js +10 -0
  50. package/dist/layout/layout-contents.d.ts +22 -0
  51. package/dist/layout/layout-contents.d.ts.map +1 -0
  52. package/dist/layout/layout-contents.js +70 -0
  53. package/dist/layout/settings-box.d.ts +20 -0
  54. package/dist/layout/settings-box.d.ts.map +1 -0
  55. package/dist/layout/settings-box.js +31 -0
  56. package/dist/mui-box/index.d.ts +21 -0
  57. package/dist/mui-box/index.d.ts.map +1 -0
  58. package/dist/mui-box/index.js +47 -0
  59. package/dist/node_modules/.bun/@babel_runtime@7.28.6/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
  60. package/dist/node_modules/.bun/@babel_runtime@7.28.6/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +7 -0
  61. package/dist/node_modules/.bun/@babel_runtime@7.28.6/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
  62. package/dist/node_modules/.bun/@babel_runtime@7.28.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +8 -0
  63. package/dist/node_modules/.bun/react-measure@2.5.2_6dbf9a050bc9aadb/node_modules/react-measure/dist/index.esm.js +122 -0
  64. package/dist/node_modules/.bun/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +276 -0
  65. package/dist/number-text-field-custom.d.ts +52 -0
  66. package/dist/number-text-field-custom.d.ts.map +1 -0
  67. package/dist/number-text-field-custom.js +192 -0
  68. package/dist/number-text-field.d.ts +48 -0
  69. package/dist/number-text-field.d.ts.map +1 -0
  70. package/dist/number-text-field.js +122 -0
  71. package/dist/radio-with-label.d.ts +25 -0
  72. package/dist/radio-with-label.d.ts.map +1 -0
  73. package/dist/radio-with-label.js +27 -0
  74. package/dist/settings/display-size.d.ts +26 -0
  75. package/dist/settings/display-size.d.ts.map +1 -0
  76. package/dist/settings/display-size.js +45 -0
  77. package/dist/settings/index.d.ts +46 -0
  78. package/dist/settings/index.d.ts.map +1 -0
  79. package/dist/settings/index.js +63 -0
  80. package/dist/settings/panel.d.ts +28 -0
  81. package/dist/settings/panel.d.ts.map +1 -0
  82. package/dist/settings/panel.js +201 -0
  83. package/dist/settings/settings-radio-label.d.ts +25 -0
  84. package/dist/settings/settings-radio-label.d.ts.map +1 -0
  85. package/dist/settings/settings-radio-label.js +29 -0
  86. package/dist/settings/toggle.d.ts +25 -0
  87. package/dist/settings/toggle.d.ts.map +1 -0
  88. package/dist/settings/toggle.js +33 -0
  89. package/dist/tabs/index.d.ts +23 -0
  90. package/dist/tabs/index.d.ts.map +1 -0
  91. package/dist/tabs/index.js +39 -0
  92. package/dist/tags-input/index.d.ts +22 -0
  93. package/dist/tags-input/index.d.ts.map +1 -0
  94. package/dist/tags-input/index.js +83 -0
  95. package/dist/two-choice.d.ts +44 -0
  96. package/dist/two-choice.d.ts.map +1 -0
  97. package/dist/two-choice.js +79 -0
  98. package/dist/with-stateful-model.d.ts +22 -0
  99. package/dist/with-stateful-model.d.ts.map +1 -0
  100. package/dist/with-stateful-model.js +32 -0
  101. package/package.json +40 -0
  102. package/src/alert-dialog.tsx +85 -0
  103. package/src/checkbox.tsx +71 -0
  104. package/src/choice-configuration/feedback-menu.tsx +134 -0
  105. package/src/choice-configuration/index.tsx +400 -0
  106. package/src/choice-utils.ts +40 -0
  107. package/src/feedback-config/feedback-selector.tsx +153 -0
  108. package/src/feedback-config/group.tsx +61 -0
  109. package/src/feedback-config/index.tsx +121 -0
  110. package/src/form-section.tsx +41 -0
  111. package/src/help.tsx +89 -0
  112. package/src/index.ts +93 -0
  113. package/src/input.tsx +109 -0
  114. package/src/inputs.tsx +107 -0
  115. package/src/langs.tsx +121 -0
  116. package/src/layout/config-layout.tsx +113 -0
  117. package/src/layout/index.ts +14 -0
  118. package/src/layout/layout-contents.tsx +127 -0
  119. package/src/layout/settings-box.tsx +42 -0
  120. package/src/mui-box/index.tsx +66 -0
  121. package/src/number-text-field-custom.tsx +343 -0
  122. package/src/number-text-field.tsx +229 -0
  123. package/src/radio-with-label.tsx +40 -0
  124. package/src/settings/display-size.tsx +63 -0
  125. package/src/settings/index.ts +93 -0
  126. package/src/settings/panel.tsx +343 -0
  127. package/src/settings/settings-radio-label.tsx +42 -0
  128. package/src/settings/toggle.tsx +56 -0
  129. package/src/tabs/index.tsx +57 -0
  130. package/src/tags-input/index.tsx +126 -0
  131. package/src/two-choice.tsx +128 -0
  132. package/src/with-stateful-model.tsx +46 -0
@@ -0,0 +1,126 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @synced-from pie-lib/packages/config-ui/src/tags-input/index.jsx
4
+ * @auto-generated
5
+ *
6
+ * This file is automatically synced from pie-elements and converted to TypeScript.
7
+ * Manual edits will be overwritten on next sync.
8
+ * To make changes, edit the upstream JavaScript file and run sync again.
9
+ */
10
+
11
+ import React from 'react';
12
+ import PropTypes from 'prop-types';
13
+ import { styled } from '@mui/material/styles';
14
+ import { uniq } from 'lodash-es';
15
+ import Chip from '@mui/material/Chip';
16
+ import MuiBox from '../mui-box/index.js';
17
+
18
+ const ENTER = 13;
19
+
20
+ const StyledChip: any = styled(Chip)(() => ({
21
+ padding: '0px',
22
+ margin: '1px',
23
+ }));
24
+
25
+ const Tag = ({ label, onDelete }) => <StyledChip label={label} onDelete={onDelete} />;
26
+
27
+ Tag.propTypes = {
28
+ label: PropTypes.string.isRequired,
29
+ onDelete: PropTypes.func.isRequired,
30
+ };
31
+
32
+ const StyledTagsInput: any = styled('div')(({ theme }) => ({
33
+ border: `0px solid ${theme.palette.background.paper}`,
34
+ display: 'flex',
35
+ flexWrap: 'wrap',
36
+ }));
37
+
38
+ const StyledInput: any = styled('input')(({ theme }) => ({
39
+ padding: '2px',
40
+ margin: '1px',
41
+ minWidth: '30px',
42
+ width: '100%',
43
+ flex: '1',
44
+ border: `0px solid ${theme.palette.background.paper}`,
45
+ height: '28px',
46
+ fontSize: theme.typography.fontSize,
47
+ fontFamily: theme.typography.fontFamily,
48
+ outline: 'none',
49
+ '&:focus': {
50
+ outline: 'none',
51
+ },
52
+ }));
53
+
54
+ export class TagsInput extends React.Component {
55
+ static propTypes = {
56
+ tags: PropTypes.arrayOf(PropTypes.string).isRequired,
57
+ onChange: PropTypes.func.isRequired,
58
+ };
59
+
60
+ constructor(props) {
61
+ super(props);
62
+ this.state = {
63
+ value: '',
64
+ focused: false,
65
+ };
66
+
67
+ this.onKeyDown = (event) => {
68
+ if (event.keyCode === ENTER && this.state.value !== '') {
69
+ const tag = this.state.value.trim();
70
+ const newTags = uniq(this.props.tags.concat([tag]));
71
+
72
+ if (newTags.length !== this.props.tags.length) {
73
+ this.props.onChange(newTags);
74
+ this.setState({ value: '' });
75
+ }
76
+ }
77
+ };
78
+
79
+ this.onChange = (event) => {
80
+ this.setState({ value: event.target.value });
81
+ };
82
+
83
+ this.deleteTag = (tag) => {
84
+ const { tags } = this.props;
85
+
86
+ const tagIndex = tags.indexOf(tag);
87
+ if (tagIndex !== -1) {
88
+ tags.splice(tagIndex, 1);
89
+ this.props.onChange(tags);
90
+ this.input.focus();
91
+ }
92
+ };
93
+ }
94
+
95
+ onFocus: any = () => {
96
+ this.setState({ focused: true });
97
+ };
98
+
99
+ onBlur: any = () => {
100
+ this.setState({ focused: false });
101
+ };
102
+
103
+ render() {
104
+ const { tags } = this.props;
105
+ return (
106
+ <MuiBox focused={this.state.focused}>
107
+ <StyledTagsInput>
108
+ {(tags || []).map((t, index) => (
109
+ <Tag key={index} label={t} onDelete={() => this.deleteTag(t)} />
110
+ ))}
111
+ <StyledInput
112
+ ref={(r) => (this.input = r)}
113
+ onKeyDown={this.onKeyDown}
114
+ onChange={this.onChange}
115
+ value={this.state.value}
116
+ onFocus={this.onFocus}
117
+ onBlur={this.onBlur}
118
+ type="text"
119
+ />
120
+ </StyledTagsInput>
121
+ </MuiBox>
122
+ );
123
+ }
124
+ }
125
+
126
+ export default TagsInput;
@@ -0,0 +1,128 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @synced-from pie-lib/packages/config-ui/src/two-choice.jsx
4
+ * @auto-generated
5
+ *
6
+ * This file is automatically synced from pie-elements and converted to TypeScript.
7
+ * Manual edits will be overwritten on next sync.
8
+ * To make changes, edit the upstream JavaScript file and run sync again.
9
+ */
10
+
11
+ import { InputContainer as InputContainerImport } from '@pie-lib/render-ui';
12
+
13
+ function isRenderableReactInteropType(value: any) {
14
+ return (
15
+ typeof value === 'function' ||
16
+ (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')
17
+ );
18
+ }
19
+
20
+ function unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {
21
+ if (!maybeSymbol) return maybeSymbol;
22
+ if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;
23
+ if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;
24
+ if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {
25
+ return maybeSymbol[namedExport];
26
+ }
27
+ if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {
28
+ return maybeSymbol[namedExport].default;
29
+ }
30
+ return maybeSymbol;
31
+ }
32
+ const InputContainer = unwrapReactInteropSymbol(InputContainerImport, 'InputContainer') || unwrapReactInteropSymbol(renderUi.InputContainer, 'InputContainer');
33
+ import * as RenderUiNamespace from '@pie-lib/render-ui';
34
+ const renderUiNamespaceAny = RenderUiNamespace as any;
35
+ const renderUiDefaultMaybe = renderUiNamespaceAny['default'];
36
+ const renderUi =
37
+ renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'
38
+ ? renderUiDefaultMaybe
39
+ : renderUiNamespaceAny;
40
+ import PropTypes from 'prop-types';
41
+ import RadioWithLabel from './radio-with-label.js';
42
+ import React from 'react';
43
+ import { styled } from '@mui/material/styles';
44
+
45
+ const StyledGroup: any = styled('div')(({ theme, direction }) => ({
46
+ display: 'flex',
47
+ flexWrap: 'wrap',
48
+ paddingLeft: 0,
49
+ marginTop: theme.spacing(1),
50
+ ...(direction === 'vertical' && {
51
+ flexDirection: 'column',
52
+ }),
53
+ }));
54
+
55
+ class NChoice extends React.Component {
56
+ static propTypes = {
57
+ header: PropTypes.string.isRequired,
58
+ className: PropTypes.string,
59
+ customLabel: PropTypes.func,
60
+ opts: PropTypes.array.isRequired,
61
+ value: PropTypes.string,
62
+ onChange: PropTypes.func.isRequired,
63
+ direction: PropTypes.oneOf(['horizontal', 'vertical']),
64
+ };
65
+
66
+ handleChange: any = (event) => {
67
+ this.props.onChange(event.currentTarget.value);
68
+ };
69
+
70
+ render() {
71
+ const { header, className, customLabel, opts, value, direction } = this.props;
72
+
73
+ const preppedOpts = opts.map((o) => {
74
+ return typeof o === 'string' ? { label: o, value: o } : o;
75
+ });
76
+ const LabelComponent = customLabel || RadioWithLabel;
77
+
78
+ return (
79
+ <InputContainer label={header} className={className}>
80
+ <StyledGroup direction={direction}>
81
+ {preppedOpts.map((o, index) => (
82
+ <LabelComponent
83
+ value={o.value}
84
+ key={index}
85
+ checked={o.value === value}
86
+ onChange={this.handleChange}
87
+ label={o.label}
88
+ />
89
+ ))}
90
+ </StyledGroup>
91
+ </InputContainer>
92
+ );
93
+ }
94
+ }
95
+
96
+ export { NChoice };
97
+
98
+ const labelValue = PropTypes.shape({ label: PropTypes.string, value: PropTypes.string });
99
+
100
+ class TwoChoice extends React.Component {
101
+ static propTypes = {
102
+ header: PropTypes.string.isRequired,
103
+ value: PropTypes.string.isRequired,
104
+ onChange: PropTypes.func.isRequired,
105
+ one: PropTypes.oneOfType([labelValue, PropTypes.string]),
106
+ two: PropTypes.oneOfType([labelValue, PropTypes.string]),
107
+ className: PropTypes.string,
108
+ customLabel: PropTypes.func,
109
+ };
110
+
111
+ render() {
112
+ const { one, two, header, className, customLabel, value, onChange } = this.props;
113
+ const opts = [one, two];
114
+
115
+ return (
116
+ <NChoice
117
+ customLabel={customLabel}
118
+ header={header}
119
+ className={className}
120
+ opts={opts}
121
+ value={value}
122
+ onChange={onChange}
123
+ />
124
+ );
125
+ }
126
+ }
127
+
128
+ export default TwoChoice;
@@ -0,0 +1,46 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @synced-from pie-lib/packages/config-ui/src/with-stateful-model.jsx
4
+ * @auto-generated
5
+ *
6
+ * This file is automatically synced from pie-elements and converted to TypeScript.
7
+ * Manual edits will be overwritten on next sync.
8
+ * To make changes, edit the upstream JavaScript file and run sync again.
9
+ */
10
+
11
+ import React from 'react';
12
+ import PropTypes from 'prop-types';
13
+
14
+ const withStatefulModel = (Component) => {
15
+ class Stateful extends React.Component {
16
+ static propTypes = {
17
+ model: PropTypes.object.isRequired,
18
+ onChange: PropTypes.func.isRequired,
19
+ };
20
+
21
+ constructor(props) {
22
+ super(props);
23
+ this.state = {
24
+ model: props.model,
25
+ };
26
+ }
27
+
28
+ UNSAFE_componentWillReceiveProps(props) {
29
+ this.setState({ model: props.model });
30
+ }
31
+
32
+ onChange: any = (model) => {
33
+ this.setState({ model }, () => {
34
+ this.props.onChange(this.state.model);
35
+ });
36
+ };
37
+
38
+ render() {
39
+ return <Component model={this.state.model} onChange={this.onChange} />;
40
+ }
41
+ }
42
+
43
+ return Stateful;
44
+ };
45
+
46
+ export default withStatefulModel;