├── pub ├── sample │ └── .keep ├── gh-ribbon.png ├── prodotype-logo-small.png ├── fontawesome │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── less │ │ ├── screen-reader.less │ │ ├── fixed-width.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── core.less │ │ ├── stacked.less │ │ ├── font-awesome.less │ │ ├── bordered-pulled.less │ │ ├── rotated-flipped.less │ │ ├── path.less │ │ ├── animated.less │ │ ├── mixins.less │ │ └── variables.less │ ├── scss │ │ ├── _fixed-width.scss │ │ ├── _screen-reader.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _core.scss │ │ ├── font-awesome.scss │ │ ├── _stacked.scss │ │ ├── _bordered-pulled.scss │ │ ├── _rotated-flipped.scss │ │ ├── _path.scss │ │ ├── _animated.scss │ │ ├── _mixins.scss │ │ └── _variables.scss │ └── HELP-US-OUT.txt ├── demo-simple.html ├── index.html ├── demo-simple.js ├── demo.js └── demo.css ├── .npmignore ├── jest.config.js ├── screenshot.png ├── .gitignore ├── sample ├── jumbotron.ejs ├── list-group.ejs ├── dropdown.ejs ├── list-group.yml ├── card.ejs ├── dropdown.yml ├── form.ejs ├── jumbotron.yml ├── navbar.ejs ├── file.ejs ├── button.ejs ├── color.ejs ├── checkbox.ejs ├── navbar.yml ├── card.yml ├── text.ejs ├── date.ejs ├── number.ejs ├── unslider.ejs ├── form.yml ├── select.ejs ├── unslider.yml ├── _test-props-editor.ejs ├── color.yml ├── checkbox.yml ├── button.yml ├── file.yml ├── text.yml ├── number.yml ├── select.yml └── date.yml ├── src ├── MulitlineEditor.js ├── BooleanEditor.js ├── StringEditor.js ├── StringArrayEditor.js ├── ColorEditor.js ├── ObjectEditor.js ├── EnumEditor.js ├── ActionEditor.js ├── ComponentEditor.js ├── DataSourceEditor.js ├── ToggleEditor.js ├── LinkEditor.js ├── Renderer.js ├── PropEditorBase.js ├── NumberEditor.js ├── ObjectArrayEditor.js ├── FileEditor.js ├── Editor.spec.js ├── NumberEditor.spec.js ├── Editor.js └── Prodotype.js ├── .github └── workflows │ ├── npm-publish.yml │ └── test.yml ├── babel.config.js ├── bin └── prodotype ├── package.json └── README.md /pub/sample/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .sublime* 2 | pub/**/*.ejs 3 | pub/**/*.json 4 | node_modules 5 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testEnvironment: 'jsdom', 3 | } 4 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/silexlabs/Prodotype/HEAD/screenshot.png -------------------------------------------------------------------------------- /pub/gh-ribbon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/silexlabs/Prodotype/HEAD/pub/gh-ribbon.png -------------------------------------------------------------------------------- /pub/prodotype-logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/silexlabs/Prodotype/HEAD/pub/prodotype-logo-small.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .sublime* 2 | pub/prodotype.js 3 | pub/ejs.min.js 4 | pub/**/*.ejs 5 | pub/**/*.json 6 | node_modules 7 | -------------------------------------------------------------------------------- /pub/fontawesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/silexlabs/Prodotype/HEAD/pub/fontawesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /pub/fontawesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/silexlabs/Prodotype/HEAD/pub/fontawesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /pub/fontawesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/silexlabs/Prodotype/HEAD/pub/fontawesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /pub/fontawesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/silexlabs/Prodotype/HEAD/pub/fontawesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /pub/fontawesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/silexlabs/Prodotype/HEAD/pub/fontawesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /pub/fontawesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /pub/fontawesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /pub/fontawesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /pub/fontawesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /pub/fontawesome/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /sample/jumbotron.ejs: -------------------------------------------------------------------------------- 1 |
4 | <% if(title) { %>

<%= title %>

<% } %> 5 | <% if(text) { %>

<%- text %>

<% } %> 6 | <% if(buttonLabel) { %>

onclick="<%= onclick %>"<% } %> 8 | ><%= buttonLabel %>

<% } %> 9 |
10 | -------------------------------------------------------------------------------- /pub/fontawesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /pub/fontawesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /pub/fontawesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /pub/fontawesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/MulitlineEditor.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropEditorBase from './PropEditorBase'; 3 | 4 | export default class MultilineEditor extends React.Component { 5 | render() { 6 | return 7 |