@teambit/compositions 1.0.631 → 1.0.632
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compositions.tsx +1 -0
- package/dist/compositions.js +2 -1
- package/dist/compositions.js.map +1 -1
- package/dist/{preview-1749784848263.js → preview-1750130328202.js} +2 -2
- package/dist/ui/compositions-panel/compositions-panel.js +116 -5
- package/dist/ui/compositions-panel/compositions-panel.js.map +1 -1
- package/dist/ui/compositions-panel/compositions-panel.module.scss +22 -0
- package/dist/ui/compositions-panel/live-control-input.d.ts +10 -0
- package/dist/ui/compositions-panel/live-control-input.js +268 -0
- package/dist/ui/compositions-panel/live-control-input.js.map +1 -0
- package/dist/ui/compositions-panel/live-control-input.module.scss +3 -0
- package/dist/ui/compositions-panel/live-control-panel.d.ts +6 -0
- package/dist/ui/compositions-panel/live-control-panel.js +62 -0
- package/dist/ui/compositions-panel/live-control-panel.js.map +1 -0
- package/dist/ui/compositions-panel/live-control-panel.module.scss +14 -0
- package/package.json +23 -14
- package/ui/compositions-panel/compositions-panel.module.scss +22 -0
- package/ui/compositions-panel/compositions-panel.tsx +132 -35
- package/ui/compositions-panel/live-control-input.module.scss +3 -0
- package/ui/compositions-panel/live-control-input.tsx +169 -0
- package/ui/compositions-panel/live-control-panel.module.scss +14 -0
- package/ui/compositions-panel/live-control-panel.tsx +40 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getInputComponent = getInputComponent;
|
|
7
|
+
function _react() {
|
|
8
|
+
const data = _interopRequireDefault(require("react"));
|
|
9
|
+
_react = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _classnames() {
|
|
15
|
+
const data = _interopRequireDefault(require("classnames"));
|
|
16
|
+
_classnames = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _designInputs() {
|
|
22
|
+
const data = require("@teambit/design.inputs.input-text");
|
|
23
|
+
_designInputs = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _designInputs2() {
|
|
29
|
+
const data = require("@teambit/design.inputs.text-area");
|
|
30
|
+
_designInputs2 = function () {
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
function _designInputs3() {
|
|
36
|
+
const data = require("@teambit/design.inputs.dropdown");
|
|
37
|
+
_designInputs3 = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
return data;
|
|
41
|
+
}
|
|
42
|
+
function _designInputsSelectors() {
|
|
43
|
+
const data = require("@teambit/design.inputs.selectors.menu-item");
|
|
44
|
+
_designInputsSelectors = function () {
|
|
45
|
+
return data;
|
|
46
|
+
};
|
|
47
|
+
return data;
|
|
48
|
+
}
|
|
49
|
+
function _designUiInput() {
|
|
50
|
+
const data = require("@teambit/design.ui.input.color-picker");
|
|
51
|
+
_designUiInput = function () {
|
|
52
|
+
return data;
|
|
53
|
+
};
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
function _designInputs4() {
|
|
57
|
+
const data = require("@teambit/design.inputs.date-picker");
|
|
58
|
+
_designInputs4 = function () {
|
|
59
|
+
return data;
|
|
60
|
+
};
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
function _designInputs5() {
|
|
64
|
+
const data = require("@teambit/design.inputs.toggle-switch");
|
|
65
|
+
_designInputs5 = function () {
|
|
66
|
+
return data;
|
|
67
|
+
};
|
|
68
|
+
return data;
|
|
69
|
+
}
|
|
70
|
+
function _liveControlInputModule() {
|
|
71
|
+
const data = _interopRequireDefault(require("./live-control-input.module.scss"));
|
|
72
|
+
_liveControlInputModule = function () {
|
|
73
|
+
return data;
|
|
74
|
+
};
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
77
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
78
|
+
function ShortTextInput({
|
|
79
|
+
id,
|
|
80
|
+
value,
|
|
81
|
+
onChange
|
|
82
|
+
}) {
|
|
83
|
+
const [inputValue, setInputValue] = _react().default.useState(value);
|
|
84
|
+
const handleChange = e => {
|
|
85
|
+
const newValue = e.target.value;
|
|
86
|
+
onChange(newValue);
|
|
87
|
+
setInputValue(newValue);
|
|
88
|
+
};
|
|
89
|
+
return /*#__PURE__*/_react().default.createElement(_designInputs().InputText, {
|
|
90
|
+
id: id,
|
|
91
|
+
value: inputValue,
|
|
92
|
+
onChange: handleChange
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function LongTextInput({
|
|
96
|
+
id,
|
|
97
|
+
value,
|
|
98
|
+
onChange
|
|
99
|
+
}) {
|
|
100
|
+
const [inputValue, setInputValue] = _react().default.useState(value);
|
|
101
|
+
const handleChange = e => {
|
|
102
|
+
const newValue = e.target.value;
|
|
103
|
+
onChange(newValue);
|
|
104
|
+
setInputValue(newValue);
|
|
105
|
+
};
|
|
106
|
+
return /*#__PURE__*/_react().default.createElement(_designInputs2().TextArea, {
|
|
107
|
+
id: id,
|
|
108
|
+
value: inputValue,
|
|
109
|
+
onChange: handleChange
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function SelectInput({
|
|
113
|
+
id,
|
|
114
|
+
value,
|
|
115
|
+
onChange,
|
|
116
|
+
meta
|
|
117
|
+
}) {
|
|
118
|
+
const [selectedValue, setSelectedValue] = _react().default.useState(value);
|
|
119
|
+
const handleChange = newValue => {
|
|
120
|
+
onChange(newValue);
|
|
121
|
+
setSelectedValue(newValue);
|
|
122
|
+
};
|
|
123
|
+
const placeholderContent = meta.options.find(o => o.value === selectedValue)?.label;
|
|
124
|
+
return /*#__PURE__*/_react().default.createElement("p", {
|
|
125
|
+
className: (0, _classnames().default)(_liveControlInputModule().default.wrapper)
|
|
126
|
+
}, /*#__PURE__*/_react().default.createElement(_designInputs3().Dropdown, {
|
|
127
|
+
id: id,
|
|
128
|
+
placeholderContent: placeholderContent
|
|
129
|
+
}, meta.options.map(option => /*#__PURE__*/_react().default.createElement(_designInputsSelectors().MenuItem, {
|
|
130
|
+
active: option.value === selectedValue,
|
|
131
|
+
key: option.value,
|
|
132
|
+
onClick: () => handleChange(option.value)
|
|
133
|
+
}, option.label))));
|
|
134
|
+
}
|
|
135
|
+
function NumberInput({
|
|
136
|
+
id,
|
|
137
|
+
value,
|
|
138
|
+
onChange
|
|
139
|
+
}) {
|
|
140
|
+
const [inputValue, setInputValue] = _react().default.useState(value);
|
|
141
|
+
const handleChange = e => {
|
|
142
|
+
const newValue = e.target.value;
|
|
143
|
+
if (!isNaN(Number(newValue))) {
|
|
144
|
+
onChange(Number(newValue));
|
|
145
|
+
setInputValue(Number(newValue));
|
|
146
|
+
} else {
|
|
147
|
+
// TODO: render error message
|
|
148
|
+
// eslint-disable-next-line no-console
|
|
149
|
+
console.error('Invalid number input', newValue);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
return /*#__PURE__*/_react().default.createElement(_designInputs().InputText, {
|
|
153
|
+
id: id,
|
|
154
|
+
type: "number",
|
|
155
|
+
value: inputValue,
|
|
156
|
+
onChange: handleChange
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
function ColorInput({
|
|
160
|
+
id,
|
|
161
|
+
value,
|
|
162
|
+
onChange
|
|
163
|
+
}) {
|
|
164
|
+
const [inputValue, setInputValue] = _react().default.useState(value);
|
|
165
|
+
const handleChange = newValue => {
|
|
166
|
+
onChange(newValue);
|
|
167
|
+
setInputValue(newValue);
|
|
168
|
+
};
|
|
169
|
+
return /*#__PURE__*/_react().default.createElement("p", {
|
|
170
|
+
className: (0, _classnames().default)(_liveControlInputModule().default.wrapper)
|
|
171
|
+
}, /*#__PURE__*/_react().default.createElement(_designUiInput().ColorPicker, {
|
|
172
|
+
id: id,
|
|
173
|
+
value: inputValue,
|
|
174
|
+
onColorSelect: handleChange
|
|
175
|
+
}));
|
|
176
|
+
}
|
|
177
|
+
function DateInput({
|
|
178
|
+
id,
|
|
179
|
+
value,
|
|
180
|
+
onChange
|
|
181
|
+
}) {
|
|
182
|
+
const [inputValue, setInputValue] = _react().default.useState(new Date(value));
|
|
183
|
+
const handleChange = newValue => {
|
|
184
|
+
if (newValue) {
|
|
185
|
+
onChange(newValue.toISOString().split('T')[0]);
|
|
186
|
+
}
|
|
187
|
+
setInputValue(newValue);
|
|
188
|
+
};
|
|
189
|
+
return /*#__PURE__*/_react().default.createElement("p", {
|
|
190
|
+
className: (0, _classnames().default)(_liveControlInputModule().default.wrapper)
|
|
191
|
+
}, /*#__PURE__*/_react().default.createElement(_designInputs4().DatePicker, {
|
|
192
|
+
id: id,
|
|
193
|
+
date: inputValue,
|
|
194
|
+
onChange: handleChange
|
|
195
|
+
}));
|
|
196
|
+
}
|
|
197
|
+
function ToggleInput({
|
|
198
|
+
id,
|
|
199
|
+
value,
|
|
200
|
+
onChange
|
|
201
|
+
}) {
|
|
202
|
+
const [isChecked, setIsChecked] = _react().default.useState(value);
|
|
203
|
+
const handleChange = () => {
|
|
204
|
+
setIsChecked(!isChecked);
|
|
205
|
+
onChange(!isChecked);
|
|
206
|
+
};
|
|
207
|
+
return /*#__PURE__*/_react().default.createElement("p", {
|
|
208
|
+
className: (0, _classnames().default)(_liveControlInputModule().default.wrapper)
|
|
209
|
+
}, /*#__PURE__*/_react().default.createElement(_designInputs5().Toggle, {
|
|
210
|
+
id: id,
|
|
211
|
+
defaultChecked: isChecked,
|
|
212
|
+
onChange: handleChange
|
|
213
|
+
}));
|
|
214
|
+
}
|
|
215
|
+
function JsonInput({
|
|
216
|
+
id,
|
|
217
|
+
value,
|
|
218
|
+
onChange
|
|
219
|
+
}) {
|
|
220
|
+
const [inputValue, setInputValue] = _react().default.useState(JSON.stringify(value, null, 2));
|
|
221
|
+
const [message, setMessage] = _react().default.useState('');
|
|
222
|
+
const handleChange = e => {
|
|
223
|
+
const newValue = e.target.value;
|
|
224
|
+
try {
|
|
225
|
+
const parsedValue = JSON.parse(newValue);
|
|
226
|
+
onChange(parsedValue);
|
|
227
|
+
setMessage('');
|
|
228
|
+
} catch {
|
|
229
|
+
setMessage('Invalid JSON');
|
|
230
|
+
}
|
|
231
|
+
setInputValue(newValue);
|
|
232
|
+
};
|
|
233
|
+
return /*#__PURE__*/_react().default.createElement("div", null, /*#__PURE__*/_react().default.createElement(_designInputs2().TextArea, {
|
|
234
|
+
id: id,
|
|
235
|
+
value: inputValue,
|
|
236
|
+
onChange: handleChange
|
|
237
|
+
}), message && /*#__PURE__*/_react().default.createElement("div", {
|
|
238
|
+
style: {
|
|
239
|
+
color: 'red'
|
|
240
|
+
}
|
|
241
|
+
}, message));
|
|
242
|
+
}
|
|
243
|
+
function getInputComponent(type) {
|
|
244
|
+
switch (type) {
|
|
245
|
+
case 'text':
|
|
246
|
+
return ShortTextInput;
|
|
247
|
+
case 'longtext':
|
|
248
|
+
return LongTextInput;
|
|
249
|
+
case 'select':
|
|
250
|
+
return SelectInput;
|
|
251
|
+
case 'number':
|
|
252
|
+
return NumberInput;
|
|
253
|
+
case 'color':
|
|
254
|
+
return ColorInput;
|
|
255
|
+
case 'date':
|
|
256
|
+
return DateInput;
|
|
257
|
+
case 'boolean':
|
|
258
|
+
return ToggleInput;
|
|
259
|
+
case 'json':
|
|
260
|
+
return JsonInput;
|
|
261
|
+
default:
|
|
262
|
+
// eslint-disable-next-line no-console
|
|
263
|
+
console.warn(`Unknown input type: ${type}`);
|
|
264
|
+
return ShortTextInput;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
//# sourceMappingURL=live-control-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_classnames","_designInputs","_designInputs2","_designInputs3","_designInputsSelectors","_designUiInput","_designInputs4","_designInputs5","_liveControlInputModule","e","__esModule","default","ShortTextInput","id","value","onChange","inputValue","setInputValue","React","useState","handleChange","newValue","target","createElement","InputText","LongTextInput","TextArea","SelectInput","meta","selectedValue","setSelectedValue","placeholderContent","options","find","o","label","className","classNames","styles","wrapper","Dropdown","map","option","MenuItem","active","key","onClick","NumberInput","isNaN","Number","console","error","type","ColorInput","ColorPicker","onColorSelect","DateInput","Date","toISOString","split","DatePicker","date","ToggleInput","isChecked","setIsChecked","Toggle","defaultChecked","JsonInput","JSON","stringify","message","setMessage","parsedValue","parse","style","color","getInputComponent","warn"],"sources":["live-control-input.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\n\nimport { InputText } from '@teambit/design.inputs.input-text';\nimport { TextArea } from '@teambit/design.inputs.text-area';\nimport { Dropdown } from '@teambit/design.inputs.dropdown';\nimport { MenuItem } from '@teambit/design.inputs.selectors.menu-item';\nimport { ColorPicker } from '@teambit/design.ui.input.color-picker';\nimport { DatePicker } from '@teambit/design.inputs.date-picker';\nimport { Toggle } from '@teambit/design.inputs.toggle-switch';\n\nimport styles from './live-control-input.module.scss';\n\ntype InputComponentProps = {\n id: string;\n value: any;\n onChange: (value: any) => void;\n meta?: any;\n};\n\ntype InputComponent = React.FC<InputComponentProps>;\n\nfunction ShortTextInput({ id, value, onChange }: InputComponentProps) {\n const [inputValue, setInputValue] = React.useState(value);\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n onChange(newValue);\n setInputValue(newValue);\n };\n return <InputText id={id} value={inputValue} onChange={handleChange} />;\n}\n\nfunction LongTextInput({ id, value, onChange }: InputComponentProps) {\n const [inputValue, setInputValue] = React.useState(value);\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const newValue = e.target.value;\n onChange(newValue);\n setInputValue(newValue);\n };\n return <TextArea id={id} value={inputValue} onChange={handleChange} />;\n}\n\nfunction SelectInput({ id, value, onChange, meta }: InputComponentProps) {\n const [selectedValue, setSelectedValue] = React.useState(value);\n const handleChange = (newValue: any) => {\n onChange(newValue);\n setSelectedValue(newValue);\n };\n const placeholderContent = meta.options.find((o: any) => o.value === selectedValue)?.label;\n return (\n <p className={classNames(styles.wrapper)}>\n <Dropdown id={id} placeholderContent={placeholderContent}>\n {meta.options.map((option: any) => (\n <MenuItem\n active={option.value === selectedValue}\n key={option.value}\n onClick={() => handleChange(option.value)}\n >\n {option.label}\n </MenuItem>\n ))}\n </Dropdown>\n </p>\n );\n}\n\nfunction NumberInput({ id, value, onChange }: InputComponentProps) {\n const [inputValue, setInputValue] = React.useState(value);\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n if (!isNaN(Number(newValue))) {\n onChange(Number(newValue));\n setInputValue(Number(newValue));\n } else {\n // TODO: render error message\n // eslint-disable-next-line no-console\n console.error('Invalid number input', newValue);\n }\n };\n return <InputText id={id} type=\"number\" value={inputValue} onChange={handleChange} />;\n}\n\nfunction ColorInput({ id, value, onChange }: InputComponentProps) {\n const [inputValue, setInputValue] = React.useState(value);\n const handleChange = (newValue: string) => {\n onChange(newValue);\n setInputValue(newValue);\n };\n return (\n <p className={classNames(styles.wrapper)}>\n <ColorPicker id={id} value={inputValue} onColorSelect={handleChange} />\n </p>\n );\n}\n\nfunction DateInput({ id, value, onChange }: InputComponentProps) {\n const [inputValue, setInputValue] = React.useState<Date | null>(new Date(value));\n const handleChange = (newValue: Date | null) => {\n if (newValue) {\n onChange(newValue.toISOString().split('T')[0]);\n }\n setInputValue(newValue);\n };\n return (\n <p className={classNames(styles.wrapper)}>\n <DatePicker id={id} date={inputValue} onChange={handleChange} />\n </p>\n );\n}\n\nfunction ToggleInput({ id, value, onChange }: InputComponentProps) {\n const [isChecked, setIsChecked] = React.useState(value);\n const handleChange = () => {\n setIsChecked(!isChecked);\n onChange(!isChecked);\n };\n return (\n <p className={classNames(styles.wrapper)}>\n <Toggle id={id} defaultChecked={isChecked} onChange={handleChange} />\n </p>\n );\n}\n\nfunction JsonInput({ id, value, onChange }: InputComponentProps) {\n const [inputValue, setInputValue] = React.useState(JSON.stringify(value, null, 2));\n const [message, setMessage] = React.useState('');\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const newValue = e.target.value;\n try {\n const parsedValue = JSON.parse(newValue);\n onChange(parsedValue);\n setMessage('');\n } catch {\n setMessage('Invalid JSON');\n }\n setInputValue(newValue);\n };\n return (\n <div>\n <TextArea id={id} value={inputValue} onChange={handleChange} />\n {message && <div style={{ color: 'red' }}>{message}</div>}\n </div>\n );\n}\n\nexport function getInputComponent(type: string): InputComponent {\n switch (type) {\n case 'text':\n return ShortTextInput;\n case 'longtext':\n return LongTextInput;\n case 'select':\n return SelectInput;\n case 'number':\n return NumberInput;\n case 'color':\n return ColorInput;\n case 'date':\n return DateInput;\n case 'boolean':\n return ToggleInput;\n case 'json':\n return JsonInput;\n default:\n // eslint-disable-next-line no-console\n console.warn(`Unknown input type: ${type}`);\n return ShortTextInput;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Control } from '@teambit/compositions.ui.composition-live-controls';
|
|
2
|
+
export declare function LiveControls({ defs, values, onChange, }: {
|
|
3
|
+
defs: Array<Control>;
|
|
4
|
+
values: Record<string, any>;
|
|
5
|
+
onChange: (key: string, value: any) => void;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LiveControls = LiveControls;
|
|
7
|
+
function _react() {
|
|
8
|
+
const data = _interopRequireDefault(require("react"));
|
|
9
|
+
_react = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _classnames() {
|
|
15
|
+
const data = _interopRequireDefault(require("classnames"));
|
|
16
|
+
_classnames = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _liveControlPanelModule() {
|
|
22
|
+
const data = _interopRequireDefault(require("./live-control-panel.module.scss"));
|
|
23
|
+
_liveControlPanelModule = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _liveControlInput() {
|
|
29
|
+
const data = require("./live-control-input");
|
|
30
|
+
_liveControlInput = function () {
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
36
|
+
function LiveControls({
|
|
37
|
+
defs,
|
|
38
|
+
values,
|
|
39
|
+
onChange
|
|
40
|
+
}) {
|
|
41
|
+
return /*#__PURE__*/_react().default.createElement("ul", {
|
|
42
|
+
className: (0, _classnames().default)(_liveControlPanelModule().default.container)
|
|
43
|
+
}, defs.map(field => {
|
|
44
|
+
const key = field.id;
|
|
45
|
+
const InputComponent = (0, _liveControlInput().getInputComponent)(field.input || 'text');
|
|
46
|
+
return /*#__PURE__*/_react().default.createElement("li", {
|
|
47
|
+
key: key,
|
|
48
|
+
className: (0, _classnames().default)(_liveControlPanelModule().default.item)
|
|
49
|
+
}, /*#__PURE__*/_react().default.createElement("div", {
|
|
50
|
+
className: (0, _classnames().default)(_liveControlPanelModule().default.label)
|
|
51
|
+
}, /*#__PURE__*/_react().default.createElement("label", {
|
|
52
|
+
htmlFor: `control-${key}`
|
|
53
|
+
}, field.label || field.id)), /*#__PURE__*/_react().default.createElement("div", null, /*#__PURE__*/_react().default.createElement(InputComponent, {
|
|
54
|
+
id: `control-${key}`,
|
|
55
|
+
value: values[key],
|
|
56
|
+
onChange: v => onChange(key, v),
|
|
57
|
+
meta: field
|
|
58
|
+
})));
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=live-control-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_classnames","_liveControlPanelModule","_liveControlInput","e","__esModule","default","LiveControls","defs","values","onChange","createElement","className","classNames","styles","container","map","field","key","id","InputComponent","getInputComponent","input","item","label","htmlFor","value","v","meta"],"sources":["live-control-panel.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport { type Control } from '@teambit/compositions.ui.composition-live-controls';\n\nimport styles from './live-control-panel.module.scss';\nimport { getInputComponent } from './live-control-input';\n\nexport function LiveControls({\n defs,\n values,\n onChange,\n}: {\n defs: Array<Control>;\n values: Record<string, any>;\n onChange: (key: string, value: any) => void;\n}) {\n return (\n <ul className={classNames(styles.container)}>\n {defs.map((field) => {\n const key = field.id;\n const InputComponent = getInputComponent(field.input || 'text');\n return (\n <li key={key} className={classNames(styles.item)}>\n <div className={classNames(styles.label)}>\n <label htmlFor={`control-${key}`}>{field.label || field.id}</label>\n </div>\n <div>\n <InputComponent\n id={`control-${key}`}\n value={values[key]}\n onChange={(v: any) => onChange(key, v)}\n meta={field}\n />\n </div>\n </li>\n );\n })}\n </ul>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAI,wBAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,uBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,kBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,iBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAyD,SAAAC,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElD,SAASG,YAAYA,CAAC;EAC3BC,IAAI;EACJC,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,oBACEb,MAAA,GAAAS,OAAA,CAAAK,aAAA;IAAIC,SAAS,EAAE,IAAAC,qBAAU,EAACC,iCAAM,CAACC,SAAS;EAAE,GACzCP,IAAI,CAACQ,GAAG,CAAEC,KAAK,IAAK;IACnB,MAAMC,GAAG,GAAGD,KAAK,CAACE,EAAE;IACpB,MAAMC,cAAc,GAAG,IAAAC,qCAAiB,EAACJ,KAAK,CAACK,KAAK,IAAI,MAAM,CAAC;IAC/D,oBACEzB,MAAA,GAAAS,OAAA,CAAAK,aAAA;MAAIO,GAAG,EAAEA,GAAI;MAACN,SAAS,EAAE,IAAAC,qBAAU,EAACC,iCAAM,CAACS,IAAI;IAAE,gBAC/C1B,MAAA,GAAAS,OAAA,CAAAK,aAAA;MAAKC,SAAS,EAAE,IAAAC,qBAAU,EAACC,iCAAM,CAACU,KAAK;IAAE,gBACvC3B,MAAA,GAAAS,OAAA,CAAAK,aAAA;MAAOc,OAAO,EAAE,WAAWP,GAAG;IAAG,GAAED,KAAK,CAACO,KAAK,IAAIP,KAAK,CAACE,EAAU,CAC/D,CAAC,eACNtB,MAAA,GAAAS,OAAA,CAAAK,aAAA,2BACEd,MAAA,GAAAS,OAAA,CAAAK,aAAA,CAACS,cAAc;MACbD,EAAE,EAAE,WAAWD,GAAG,EAAG;MACrBQ,KAAK,EAAEjB,MAAM,CAACS,GAAG,CAAE;MACnBR,QAAQ,EAAGiB,CAAM,IAAKjB,QAAQ,CAACQ,GAAG,EAAES,CAAC,CAAE;MACvCC,IAAI,EAAEX;IAAM,CACb,CACE,CACH,CAAC;EAET,CAAC,CACC,CAAC;AAET","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/compositions",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.632",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/compositions/compositions",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.compositions",
|
|
8
8
|
"name": "compositions",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.632"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"graphql-tag": "2.12.1",
|
|
@@ -32,28 +32,37 @@
|
|
|
32
32
|
"@teambit/mdx.ui.mdx-layout": "1.0.11",
|
|
33
33
|
"@teambit/compositions.ui.composition-compare-section": "0.0.101",
|
|
34
34
|
"@teambit/compositions.ui.composition-compare": "0.0.258",
|
|
35
|
+
"@teambit/compositions.ui.composition-live-controls": "0.0.2",
|
|
35
36
|
"@teambit/evangelist.elements.icon": "1.0.2",
|
|
36
37
|
"@teambit/ui-foundation.ui.menu-widget-icon": "0.0.502",
|
|
37
|
-
"@teambit/
|
|
38
|
+
"@teambit/ui-foundation.ui.tree.drawer": "0.0.518",
|
|
39
|
+
"@teambit/design.inputs.date-picker": "0.0.2",
|
|
40
|
+
"@teambit/design.inputs.dropdown": "1.3.1",
|
|
41
|
+
"@teambit/design.inputs.input-text": "1.1.2",
|
|
42
|
+
"@teambit/design.inputs.selectors.menu-item": "1.1.0",
|
|
43
|
+
"@teambit/design.inputs.text-area": "0.0.18",
|
|
44
|
+
"@teambit/design.inputs.toggle-switch": "0.0.7",
|
|
45
|
+
"@teambit/design.ui.input.color-picker": "0.0.53",
|
|
46
|
+
"@teambit/component": "1.0.632",
|
|
38
47
|
"@teambit/compositions.model.composition-id": "0.0.505",
|
|
39
|
-
"@teambit/graphql": "1.0.
|
|
40
|
-
"@teambit/cli": "0.0.
|
|
48
|
+
"@teambit/graphql": "1.0.632",
|
|
49
|
+
"@teambit/cli": "0.0.1209",
|
|
41
50
|
"@teambit/component.sources": "0.0.104",
|
|
42
|
-
"@teambit/dev-files": "1.0.
|
|
43
|
-
"@teambit/envs": "1.0.
|
|
51
|
+
"@teambit/dev-files": "1.0.632",
|
|
52
|
+
"@teambit/envs": "1.0.632",
|
|
44
53
|
"@teambit/legacy.consumer-component": "0.0.53",
|
|
45
|
-
"@teambit/preview": "1.0.
|
|
46
|
-
"@teambit/schema": "1.0.
|
|
47
|
-
"@teambit/scope": "1.0.
|
|
54
|
+
"@teambit/preview": "1.0.632",
|
|
55
|
+
"@teambit/schema": "1.0.632",
|
|
56
|
+
"@teambit/scope": "1.0.632",
|
|
48
57
|
"@teambit/toolbox.path.match-patterns": "0.0.19",
|
|
49
|
-
"@teambit/workspace": "1.0.
|
|
58
|
+
"@teambit/workspace": "1.0.632",
|
|
50
59
|
"@teambit/design.ui.tooltip": "0.0.375",
|
|
51
60
|
"@teambit/docs.ui.queries.get-docs": "0.0.509",
|
|
52
|
-
"@teambit/panels": "0.0.
|
|
61
|
+
"@teambit/panels": "0.0.1211",
|
|
53
62
|
"@teambit/preview.ui.component-preview": "1.0.24",
|
|
54
63
|
"@teambit/ui-foundation.ui.buttons.collapser": "0.0.227",
|
|
55
|
-
"@teambit/component-compare": "1.0.
|
|
56
|
-
"@teambit/ui": "1.0.
|
|
64
|
+
"@teambit/component-compare": "1.0.632",
|
|
65
|
+
"@teambit/ui": "1.0.632",
|
|
57
66
|
"@teambit/workspace.ui.use-workspace-mode": "0.0.2"
|
|
58
67
|
},
|
|
59
68
|
"devDependencies": {
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
.container {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
overflow: hidden;
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100%;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.tab {
|
|
10
|
+
> div:first-child {
|
|
11
|
+
border: none;
|
|
12
|
+
border-bottom: 1px solid var(--bit-border-color-lightest, #ededed);
|
|
13
|
+
}
|
|
14
|
+
> div:last-child {
|
|
15
|
+
border-bottom: 1px solid var(--bit-border-color-lightest, #ededed);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
1
19
|
.linkWrapper {
|
|
2
20
|
padding: 0 12px;
|
|
3
21
|
display: flex;
|
|
@@ -122,6 +140,10 @@
|
|
|
122
140
|
}
|
|
123
141
|
}
|
|
124
142
|
|
|
143
|
+
.noLiveControls {
|
|
144
|
+
padding: 12px;
|
|
145
|
+
}
|
|
146
|
+
|
|
125
147
|
.tabs {
|
|
126
148
|
display: flex;
|
|
127
149
|
align-items: center;
|