diff --git a/src/client/components/types/object.raw.scss b/src/client/components/types/object.raw.scss
new file mode 100644
index 0000000..0198676
--- /dev/null
+++ b/src/client/components/types/object.raw.scss
@@ -0,0 +1,5 @@
+:scope {
+ background-color: rgba(255, 255, 255, 0.05);
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ padding: 0.25em;
+}
diff --git a/src/client/components/types/object.type-renderer.jsx b/src/client/components/types/object.type-renderer.jsx
new file mode 100644
index 0000000..0e396f6
--- /dev/null
+++ b/src/client/components/types/object.type-renderer.jsx
@@ -0,0 +1,35 @@
+import {compose} from '@avocado/core';
+import contempo from 'contempo';
+import PropTypes from 'prop-types';
+import React from 'react';
+
+import propertyPropTypes from './property-prop-types';
+
+const decorate = compose(
+ contempo(require('./object.raw.scss')),
+);
+
+const ObjectRenderer = ({
+ value,
+}) => (
+
+
{'{'}
+
+
+ {' '}
+ {JSON.stringify(value, null, 2).slice(1).slice(0, -1).trim('\n')}
+
+
+
{'}'}
+
+);
+
+ObjectRenderer.propTypes = {
+ ...propertyPropTypes,
+ value: PropTypes.bool.isRequired,
+};
+
+export default {
+ type: 'object',
+ component: decorate(ObjectRenderer),
+};
diff --git a/src/client/components/types/value.raw.scss b/src/client/components/types/value.raw.scss
index 3dec98d..f17d327 100644
--- a/src/client/components/types/value.raw.scss
+++ b/src/client/components/types/value.raw.scss
@@ -2,21 +2,11 @@
text-align-last: right;
}
-:scope {
+.literal {
display: flex;
align-items: center;
}
-.object {
- background-color: #333333;
- border: 1px solid rgba(255, 255, 255, 0.1);
- padding: 0.25em;
-}
-
-.object, input {
- // border-left: none;
-}
-
-select {
+.literal select {
margin-right: 0.25em;
}
diff --git a/src/client/components/types/value.type-renderer.jsx b/src/client/components/types/value.type-renderer.jsx
index 82f9d53..f9d04e5 100644
--- a/src/client/components/types/value.type-renderer.jsx
+++ b/src/client/components/types/value.type-renderer.jsx
@@ -6,6 +6,7 @@ import React from 'react';
import Bool from './bool.type-renderer';
import Number from './number.type-renderer';
+import {default as ObjectType} from './object.type-renderer';
import propertyPropTypes from './property-prop-types';
import Steps from './steps';
import String from './string.type-renderer';
@@ -46,18 +47,7 @@ const renderValue = (context, type, value) => {
case 'string':
return ;
case 'object':
- return (
-
-
{'{'}
-
-
- {' '}
- {JSON.stringify(value.value, null, 2).slice(1).slice(0, -1).trim('\n')}
-
-
-
{'}'}
-
- );
+ return ;
default:
return null;
}
@@ -81,7 +71,7 @@ const Value = ({
options,
type,
value,
-}) => renderValue(context, type || 'any', value);
+}) => {renderValue(context, type, value)};
Value.propTypes = {
...propertyPropTypes,