Build forms from JSON Schema. Easily template-able. Compatible with Bootstrap 3 out of the box.

Overview

JSON Form

MIT license PRs Welcome Maintained Release NPM: released

The JSON Form library is a JavaScript client-side library that takes a structured data model defined using JSON Schema as input and returns a Bootstrap 3-friendly HTML form that matches the schema.

The generated HTML form includes client-side validation logic that provides direct inline feedback to the user upon form submission (provided a JSON Schema validator is available). If values are valid, the JSON Form library uses submitted values to create the JavaScript data structure that matches the data model.

The layout of the generated HTML form may be entirely fine-tuned through a simple declarative mechanism.

Getting started

The example below creates a form that asks for the user's name and age. The user's name is a required field, while the age is optional.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Getting started with JSON Form</title>
    <link rel="stylesheet" style="text/css" href="deps/opt/bootstrap.css" />
  </head>
  <body>
    <h1>Getting started with JSON Form</h1>
    <form></form>
    <div id="res" class="alert"></div>
    <script type="text/javascript" src="deps/jquery.min.js"></script>
    <script type="text/javascript" src="deps/underscore.js"></script>
    <script type="text/javascript" src="deps/opt/jsv.js"></script>
    <script type="text/javascript" src="lib/jsonform.js"></script>
    <script type="text/javascript">
      $('form').jsonForm({
        schema: {
          name: {
            type: 'string',
            title: 'Name',
            required: true
          },
          age: {
            type: 'number',
            title: 'Age'
          }
        },
        onSubmit: function (errors, values) {
          if (errors) {
            $('#res').html('<p>I beg your pardon?</p>');
          }
          else {
            $('#res').html('<p>Hello ' + values.name + '.' +
              (values.age ? '<br/>You are ' + values.age + '.' : '') +
              '</p>');
          }
        }
      });
    </script>
  </body>
</html>

Loading this page in a browser renders a form with two input fields and a submit button. The onSubmit function is called upon form submission. If you press "Submit" without entering values or if the age you enter is not a number, error messages appear next to the input fields.

NB: Paths in this example are relative to the root of the JSON Form project.

Documentation

You can do much more with the JSON Form library. You may define a more complex data model that includes arrays and objects for instance, or you may control the layout of the form to include fieldsets, expandable sections or tabs. For more information, check the reference documentation for JSON Form.

Playground

If you're more of the acting type than of the reading type, the JSON Form Playground is a simple JSON Form editor that lets you try out and extend all the examples in the doc.

Dependencies

At a minimum, the JSON Form library depends on:

The JSON Form library may require further libraries, depending on the features you need for the forms you need to render. In particular:

  • ACE is needed to render rich text input fields. The deps/opt/ace folder contains a minimal set of files from ACE to render a JSON input field. Beware that the code of ace.js needs to be encapsulated in (function(require,define,requirejs) {...})(undefined,undefined,undefined); before it may be used within JSON Form.
  • Bootstrap v3.3 or above is more or less needed (unless you enjoy ugly forms, that is) if you don't provide your own styles. JSON Form only needs the bootstrap.css file.
  • The JSON Schema Validator is used to detect and report validation errors upon form submission. The deps/opt folder contains a "build" of the JSON Schema Validator for use in JSON Form.
  • Bootstrap Dropdowns v2.0.3 or above is needed for imageselect fields.
  • jQuery UI Sortable v1.8.20 or above is required for drag-and-drop support within arrays and tabarrays. Note the plugin itself depends on jQuery IU Core, jQuery UI Mouse, and jQuery UI Widget.
  • wysihtml5 is required if the form uses wysihtml5 textarea fields.
  • Spectrum is required if the form uses color fields.

All of these libraries are in the deps folder for now, although you might want to check their respective Web site for more recent versions.

NB: JSON Form also uses JSON.parse and JSON.stringify which is normally already natively supported by all modern browsers.

License

The JSON Form library is licensed under the MIT license.

All the libraries that JSON Form may depend on are licensed under the MIT license, except for the JSON Schema Validator, licensed under the BSD 3 Clause license and the ACE editor licensed under the Mozilla tri-license (MPL/GPL/LGPL).

Comments
  • change the 'previously submitted values' from a variable.

    change the 'previously submitted values' from a variable.

    First of all: thank you for sharing this beautiful system. I'm looking for a way to change the 'previously submitted values'. I want to download an 'array' from the server and put it in the 'previously submitted values' first. The only way I've found so far is to replace in jsonform.js:

    formTree.prototype.computeInitialValues = function () {
        this.root.computeInitialValues(this.formDesc.value);
       };
    

    with

    formTree.prototype.computeInitialValues = function () {
        this.root.computeInitialValues(previouslySubmitted);
     };
    

    Where previouslySubmitted is a variable ( in my html) from server: var previouslySubmitted = ({"fotos":[{"foto":["foto1"],"tekst":["text1"]},{"foto":["foto2"],"tekst":["text2"]}]}); But I'm sure there is an easier way to achieve this. Any suggestion?

    usage 
    opened by backnext321 26
  • Support relative $ref references

    Support relative $ref references

    As raised in #43, JSONForm does not yet support schemas that use the $ref JSON Schema keyword.

    At a minimum, JSONForm should support internal references. Support for external references may be harder to achieve due to the async nature of such references.

    See JSON Reference and JSON Schema URI resolution scope alteration with the "id" keyword for details.

    Feature Enhancement Stale 
    opened by tidoust 21
  • Accessibility of forms

    Accessibility of forms

    I am looking for a package just like this to replace Alpaca forms. I have prototyped a simple page to test this package out...

    But like Alpaca it seems to have issues with accessibility. Collapsed field sets for instance do not seem to be expandable using the keyboard, only a click event is used?

    Is there a way of enabling additional navigation options?

    I have some blind users that have to use screen readers and keyboard navigation, and my application has some quite complex settings screens using JSON based forms. I also use collapsed and conditionally visible field sets quite extensively.

    Feature Enhancement Accessibility 
    opened by mcrossley 16
  • Way to get form values without onSubmit?

    Way to get form values without onSubmit?

    hi ! I am trying to build JsonForm by sending schema from the server to client. I cannot use templating because I don't know before hand which schema to use. but once user selects some options, I do AJAX calll to the server and retrieve schema, e.g. dataType: 'json', success: function (data) { const my_schema = JSON.parse(data.schema_str); $('#featureAttribs').jsonForm( my_schema ); }

    this works fine, but I also need to save values, so that I can populate form later. Only way I know so far is to extract all values from POST at server side, then form values. But it would be great if I could call something like getFormValue before POST and then send values inside the post and avoid parsing at server ser.

    is getFormValue() official API? I did not see it the wiki docs.

    I could not also use onSubmit callback (which supplies values), because i could not pass function definition in Json format.

    I tried also

        dataType: 'json',
        success: function (data) {
            const my_schema = JSON.parse(data.schema_str);
    
            my_schema["onSubmit"] = "function (errors, values) { alert(\"Hello\"); return onJsonFormSubmission(errors, values);  }";
    
            $('#featureAttribs').jsonForm( my_schema );
        }
    

    but callback never gets called. I can guess that JsonForm extracts function part and then parses schema.

    Question 
    opened by enikok 15
  • array of objects (but not all the same)

    array of objects (but not all the same)

    i've read the doc and played with changing form layouts..

    i am trying to add a configuration form to an app.. BUT the plugin ORDER matters (fifo top down in the config file) so I REALLY want the drag/drop capability... but my array element is a fieldset, and no two are alike.

    as an alternative, I could add a position field, 1-n enum.. is there some way to hook them together so that the user can't pick two (or more) in the same position? is there a form init function? vs a special type where I could add a change handler for those fields?

    Question 
    opened by sdetweil 12
  • Some empty field types pass

    Some empty field types pass "Required" validation. Specifically date, custom fields, and possibly others

    Hi, I've run into an issue that I can't figure out.

    I made a custom field that looks like the built in select field, but adds an Other option. When the Other option is selected, it displays a text field for the user to specify. That text field is the actual field used for the data and is just hidden or shown by the select field. The select field just sets the text box value onChange.

    Here is the code for the field (largely copied from jsonform.js):

    JSONForm.fieldTypes['selectOther'] = {
            'template':`<select onChange="$('#<%= id %>').val((this.value != 'Other')?this.value:''); $('#<%= id %>').toggle(this.value == 'Other'); $('#<%= id %>').focus();"` +
                'class=\'form-control<%= (fieldHtmlClass ? " " + fieldHtmlClass : "") %>\'' +
                '<%= (node.schemaElement && node.schemaElement.disabled? " disabled" : "")%>' +
                '> ' +
                '<% node.schemaElement.selectOptions.push("Other") %>' +
                '<% _.each(node.schemaElement.selectOptions, function(key, val) { if(key instanceof Object) { if (value === key.value) { %> <option selected value="<%= key.value %>"><%= key.title %></option> <% } else { %> <option value="<%= key.value %>"><%= key.title %></option> <% }} else { if (value === key) { %> <option selected value="<%= key %>"><%= key %></option> <% } else { %><option value="<%= key %>"><%= key %></option> <% }}}); %> ' +
                '</select>' +
                '<input type="text" ' +
                'class=\'form-control<%= (fieldHtmlClass ? " " + fieldHtmlClass : "") %>\'' +
                'name="<%= node.name %>" value="<%= escape(value) %>" id="<%= id %>"' +
                'title="Please Specify"' +
                '<%= (node.disabled? " disabled" : "")%>' +
                '<%= (node.readOnly ? " readonly=\'readonly\'" : "") %>' +
                '<%= (node.schemaElement && (node.schemaElement.step > 0 || node.schemaElement.step == "any") ? " step=\'" + node.schemaElement.step + "\'" : "") %>' +
                '<%= (node.schemaElement && node.schemaElement.maxLength ? " maxlength=\'" + node.schemaElement.maxLength + "\'" : "") %>' +
                '<%= (node.schemaElement && node.schemaElement.required && (node.schemaElement.type !== "boolean") ? " required=\'required\'" : "") %>' +
                '<%= (node.placeholder? " placeholder=" + \'"\' + escape(node.placeholder) + \'"\' : "")%>' +
                ' />',
            'fieldtemplate': true,
            'inputfield': true,
            'onInsert':function (evt, node) {
                let selectNode = $(node.el).find('select');
                let inputNode = $(node.el).find('input');
    
                //Initialize the textbox to the value of the select box
                if(!inputNode.val()) {
                    inputNode.val(selectNode.val());
                }
    
                //If the text box is set to something that isn't in the select options, set select to Other
                if (selectNode.find(`option[value="${inputNode.val()}"]`).length === 0){
                    selectNode.val('Other');
                }
    
                //Show the text box if the select option is Other and hide otherwise
                $(inputNode).toggle(selectNode.val() == 'Other');
            }
        };
    

    And here is how I add it to the schema:

    "platform": {
        "type": "selectOther",
        "title": "Platform",
        "selectOptions": ["Phone","Email","In-Person","Facebook","Instagram","LinkedIn"],
        "required": true
    }
    

    My problem is that when the form is submitted, the field doesn't behave as if it is actually required. What I want to happen is if a user selects Other but doesn't actually fill the textbox, then they will get a validation error stating that the box is required when they try to submit. Any ideas on what I'm missing to make this work properly?

    Thanks!

    Question Stale 
    opened by nextonphotos 12
  • Initialize a value passed from android to json form via javascript

    Initialize a value passed from android to json form via javascript

    Hi My name is Patrick,

    im working on some project that uses json forms. However im not sure how to initialize a value of a schema key in the json form being passed from android to the form via javascript.

    I can be able to pass the string to the form but the value is not being initialized.

    Does json forms support this?

    Here is a pastebin link to my form

    http://pastebin.com/d1ee495N

    Question 
    opened by omiltoro 12
  • is there a built in way to make a field next to a range slider that shows the value, with live-edit?

    is there a built in way to make a field next to a range slider that shows the value, with live-edit?

    one of my users wants to make a slide view like this

    This results in a ranging slider, like I'd like, but no number to indicate what it means.

    slider-none

    I'd rather have something like

    slide-box

    short of creating a custom field, is there a mechanism to do this?

    append puts the html before the description and makes a mess (from playground) without append Screenshot at 2021-06-18 08-26-34

    with append

    Screenshot at 2021-06-18 08-25-28

    Feature Enhancement 
    opened by sdetweil 11
  • Maintainers and going forward

    Maintainers and going forward

    Hello all

    This project has been stale for a while (due to us not putting much work in it since we didn't use it for the last couple of years) — we deeply apologize for that. But it still has a lot of traction and would really benefit from the work of all the people that helped build it and all the fantastic forks that exist today.

    We are actively considering creating an independent organisation to hold this repo (and possibly all the plugins / related code), so that everyone can get involved, correct, enhance, triage issues, test, etc ... From there, we can pick a few members to publish packages for instance, to smooth the process and speed things up.

    Let us know what you think in the comments of this issue below, or via mail at [email protected], we're happy to discuss so the project can really be useful and progress as it should.

    Thanks Best ! Cyril @ Joshfire

    Maintenance Stale 
    opened by tchapi 11
  • Extending JsonForm with new fields

    Extending JsonForm with new fields

    Hi,

    first of all, you've done a great job on this useful project.

    I've played with the playground project, and looked at the source. I noticed the field type 'file' is rendered in the generated form.

    however reading the source, It seems file upload handling was commented out on submit. since the 'file' type is not available in the documentation, I guess the feature was dropped.

    I need to add this feature, and eventually contribute to the project. Any instruction on adding new field types?

    Thank you

    Feature Enhancement Legacy Stale 
    opened by raizam 10
  • Customize specific properties

    Customize specific properties

    Hello, I was wondering if there is a way to customize only specific properties instead of having to define them all in the form section. In my example below, I'd like to append an event handler on the zipcode element:

    br_address = {
        zipcode: {type: 'string',title: 'CEP',},
        street: {type: 'string',title: 'Logradouro'},
        number: {type: 'string',title: 'Número'},
        district: {type: 'string',title: 'Bairro',},
        cityname: {type: 'string',title: 'Cidade'},
        state: {type: 'string',title: 'Unidade Federativa'},
        complement: {type: 'string',title: 'Complemento'},
        country: {type: 'string',title: 'País'}
    }
    local_schema = {
        local: {
            type: 'object',
            properties: {
                name: {type: 'string',title: 'Name',required: true},
                age: {type: 'number',title: 'Age'}
            }                
        },
        address: {
            type: 'object',
            properties: br_address
        }
    }
    
    $('form').jsonForm({
        schema: local_schema,
        form: [
            'local',
            'address'
        ],
    });
    

    Having to list all the fields of an object just to change the behavior of one of them is painful. Any tips ?

    Question 
    opened by kpoman 9
  • How to Map My Custom JSON Value to JSON Forms

    How to Map My Custom JSON Value to JSON Forms

    I am new to JSONForms. And I'm trying to implement the UI form which will get the Options dynamically and need to set the input value from the value tag. I'm Not finding a way to render the Option/select dynamically.

    var JSON_Form= {
       schema:{
          "phone_calendar_integration":{
             "type":"object",
             "properties":{
                "remind_before_minutes":{
                   "type":"boolean",
                   "title":"Calendar Integration"
                },
                "calendar_name":{
                   "title":"Calendar Name: ",
                   "type":"string"
                },
                "calendar_fields":{
                   "type":"object",
                   "properties":{
                      "calendar_wh_clause":{
                         "title":"Any filter that you want to apply:",
                         "type":"string"
                      },
                      "calendar_object":{
                         "title":"Object in Salesforce that you want to Sync Calendar:",
                         "type":"string",
                          "enum":[<Dynamic Option>]
                      },
                      "title":{
                         "title":"Field for title",
                         "type":"string",
                          "enum":[<Dynamic Option>]
                      },
                      "event_id":{
                         "type":"string",
                         "enum":[<Dynamic Option>]
                      },
                      "description":{
                         "title":"Description",
                         "type":"string",
                          "enum":[<Dynamic Option>]
                      },
                      "start_datetime":{
                         "title":"Field for Event Start Date",
                         "type":"string",
                         "enum":[<Dynamic Option>]
                      },
                      "end_datetime":{
                         "title":"Field for Event End Date",
                         "type":"string",
                         "enum":[<Dynamic Option>]
                      }
                   }
                }
             }
          }
       }, value : {
       "phone_calendar_integration":{
          "calendar_name":"dftly Tasks",
          "calendar_fields":{
             "start_datetime":"dftlytime__Assigment_Start_Date__c",
             "description":"Name",
             "end_datetime":"dftlytime__Assignment_End_Date__c",
             "title":"dftlytime__dftly_Project__r.Name",
             "event_id":"Id",
             "location":""
          },
          "calendar_object":"dftlytime__dftly_Project_Assignment__c",
          "remind_before_minutes":15,
          "calendar_wh_clause":"dftlytime__Assigment_Start_Date__c >= LAST_N_DAYS:30 and dftlytime__Assignment_End_Date__c <= NEXT_N_DAYS:30 and dftlytime__dftly_Time_Tracker_User__c = '#@#userid#-#'"
    } , form:{
          {
             "title":"Calendar",
             "type":"tab",
             "items":[
                {
                   "key":"phone_calendar_integration",
                   "activeClass":"btn-success",
                   "onChange" : function (evt){
                                         var value = $(evt.target).val();
                                         if (value) alert(value);
                   }
                }
             ]
          }
       }
    }
    
    Question Waiting for Response 
    opened by KruteekaMS 6
  • Ace Type as Array

    Ace Type as Array

    I have not found a way to create an array of Ace fields. When doing the following the Ace editors show-up within each field, but they drag in a very odd way and appear buggy:

    schema: { myArray: { type: "array", title: "Form Values", items: { type: "object", properties: { value: { type: "object", title: "Form Value", properties: { key: { type: "ace", title: "Key" }, value: { type: "ace", title: "Value" } } } } } } }

    Is it possible to create an array of Ace types and if so can you please provide an example?

    Question Waiting for Response 
    opened by jasondalycan 9
  • Select input does not support selecting multiple options

    Select input does not support selecting multiple options

    We have need for a select list which supports selecting multiple items. This is typically managed via the "multiple" attribute on a select list. I attempted to modify the underlying select template to test if it was possible by adding the multiple attribute to the select template if it is present in the schema like so: <select name="<%= node.name %>" id="<%= id %>" <%= node.formElement.multiple ? "multiple" + " " : "" %>'. This allowed support for selecting multiple items in the list, but when the form is submitted, only the last item selected is returned.

    Feature Question Enhancement 
    opened by rkroll 8
  • form type checkboxes does correct display, produces no results on submit

    form type checkboxes does correct display, produces no results on submit

    i am trying to enhance lib to support scrollable checkboxes..

    so I built this form

      {
      "schema": {
              "name": {
                "type": "object",
               "properties":{
                  "list":{
                    "type:": "string",
                    "enum": [
                      "one",
                      "two",
                      "four",
                      "ten"
                   ]
                 },
                 "fribble":{
                    "type": "string",
                    "enum": [
                      "six",
                      "seven",
                      "eight",
                      "nine"
                   ]
                 }
               }
              }
            },
            "form":[
               {
                "title": "Settings",
                "type": "fieldset",
                "expandable": false,
                "order": 0,
                "items": [
                    {
                      "key":"name.list",
                      "type": "checkboxes",
                      "scrollable": true,
                      "height":5
                    },
                    {
                      "key": "name.fribble",
                      "type": "checkboxes"
                    }
                ]
              },
              {
                "type": "submit",
                "title": "Submit",
                "id": "submit_button"
              }
            ],
            "value":{
                 "name":{
                  "list": ["one","ten"],
                  "fribble":["seven"]
                 }
            }
          }         
    

    get the right presentation but on submit, I get no results.. (in playground) Screenshot at 2022-09-17 17-08-26

    Bug Documentation Question Fixed 
    opened by sdetweil 2
  • Array Field's Icons(add/remove) are misaligned

    Array Field's Icons(add/remove) are misaligned

    The add/remove icons for fields are redundant and misplaced.

    Ref links: https://jsonform.github.io/jsonform/playground/index.html?example=fields-tabarray https://jsonform.github.io/jsonform/playground/index.html?example=templating-idx

    Screenshots: image

    image

    If there is a section containing >1 field, then there should be one single remove icon and the entire section should have some border to indicate the area where the action takes place on.

    Question Suggestion Waiting for Response 
    opened by drveresh 5
Releases(v2.2.5)
  • v2.2.5(Sep 20, 2021)

    This is a minor release following various bug fixes and improvements from the community

    Fixes: #365 — Add a range slider live value indicator #367 — Only apply templating when the default is of type string

    New features: #305 — Add support for minLength #377 — Add support for accept attribute for file input

    Documentation: #379 — Add example in playground for file upload

    Source code(tar.gz)
    Source code(zip)
  • v2.2.4(Jun 10, 2021)

    This is a minor release following various bug fixes and improvements from the community

    Fixes: #321 — Accessibility of inputs #341 — Accessibility of forms #349 — Fix field init when default is available #361 — Fix selectfieldset style

    • Various style / linting fixes

    New features: #348 — Add support for draggable property #354 — Add the ability to select tabarray with rel

    Source code(tar.gz)
    Source code(zip)
  • v2.2.3(Mar 23, 2021)

    This is a minor release following various bug fixes and improvements from the community

    Fixes: #326 — Updates loop to ignore null value

    Added: New template in the playground for HTML Wysiwyg

    Source code(tar.gz)
    Source code(zip)
  • v2.2.2(Dec 22, 2020)

    This is a minor release following various bug fixes and improvements from the community

    Fixes: #308 — radiobuttons type does not show passed value #295 — Context error in formNode.prototype.updateElement #292 — Expanded fieldset get closed when "Add new" button is clicked

    Features: #303 — Add navigation tabs

    Source code(tar.gz)
    Source code(zip)
  • v2.2.1(Jul 20, 2020)

  • v2.2.0(Jun 10, 2020)

    This is a minor release following various bug fixes and improvements from the community

    Fixes: #246 — Legend to show enum values #264 — User can now remove items if minItem is set (cf. #83 too) #279 — Improve selectfieldset behaviour

    Features: https://github.com/jsonform/jsonform/commit/1b1daf239ee8dafffe89642b0a730d64d8c25f69 — Add htmlClass for sections https://github.com/jsonform/jsonform/commit/78787fbba8061ccef82d4ca683e809181b282134 — Prevent activating a selectfieldset in a tabarray Correct https links, indentation, spaces, etc

    Maintenance: The jsonform.github.io website is now built from the master branch.

    Source code(tar.gz)
    Source code(zip)
  • v2.1.6(Jan 30, 2020)

    This is a minor release following various bug fixes and improvements from the community

    Fixes : #261 — Allow number type fields to accept decimal numbers #246 — Updated the binding of changes when using a legend

    Source code(tar.gz)
    Source code(zip)
  • v2.1.5(Jun 19, 2019)

    This is a minor release following various bug fixes and improvements from the community

    Fixes : https://github.com/jsonform/jsonform/issues/231 — Fix whitespaces in id / classnames https://github.com/jsonform/jsonform/issues/232 — Fix multiselect checkboxes not working with tabarray https://github.com/jsonform/jsonform/issues/233 — Fix expanded class on tabarray

    Features : https://github.com/jsonform/jsonform/pull/230 — Allow numeric step "any" https://github.com/jsonform/jsonform/pull/239 — Update template {{values}} data on drag and drop

    Source code(tar.gz)
    Source code(zip)
  • v2.1.4(May 2, 2019)

    This is a minor release following various bug fixes and improvements from the community

    Fixes : https://github.com/jsonform/jsonform/issues/138 — Array-elements are deactivated within selectfieldsets https://github.com/jsonform/jsonform/issues/210 — Nested array initial value not populated correctly https://github.com/jsonform/jsonform/issues/226 — AdvancedFieldSet Title / Legend can't be changed

    Features : https://github.com/jsonform/jsonform/issues/86 — HTML5 input "range" and maximum with exclusiveMaximum=true

    Source code(tar.gz)
    Source code(zip)
  • v2.1.3(Jan 8, 2019)

    This is a minor release following various bug fixes from the community

    We also add the htmlMetaData field to enable adding custom properties to elements.

    Source code(tar.gz)
    Source code(zip)
  • v2.1.2(Sep 17, 2018)

  • v2.1.1(Jul 27, 2018)

  • v2.1.0(Jul 27, 2018)

  • v2.0.0(Jun 29, 2018)

    This is the new release of the project following the change of organisation (joshfire → jsonform). Several bugs have been corrected; jQuery, Underscore and Bootstrap versions have been bumped up.

    Breaking changes

    • Bootstrap 2 support has been dropped
    Source code(tar.gz)
    Source code(zip)
  • v1.0(Jun 28, 2018)

Owner
The organization for the jsonform library
null
Used for creating a out-of-the-box template without additional configuration.

ou Used for creating a out-of-the-box template without additional configuration. Templates Vue3 Lite Template Used for some simple web app Vue3 + Vite

Dewey Ou 6 Jul 17, 2022
Out-of-the-box MPA plugin for Vite, with html template engine and virtual files support.

vite-plugin-virtual-mpa Out-of-the-box MPA plugin for Vite, with html template engine and virtual files support, generate multiple files using only on

QinXuYang 21 Dec 16, 2022
A simple CLI to generate a starter schema for keystone-6 from a pre-existing prisma schema.

Prisma2Keystone A tool for converting prisma schema to keystone schema typescript This is a proof of concept. More work is needed Usage npx prisma2key

Brook Mezgebu 17 Dec 17, 2022
Custom alert box using javaScript and css. This plugin will provide the functionality to customize the default JavaScript alert box.

customAlertBoxPlugin Custom Alert Box Plugin Using JavaScript and CSS Author: Suraj Aswal Must Include CSS Code/Default Custom Alert Box Class: /* mus

Suraj Aswal 17 Sep 10, 2022
Extends Bootstrap Tooltips and Popovers by adding custom classes. Available for Bootstrap 3 and Bootstrap 4.

Bootstrap Tooltip Custom Class Extends Bootstrap Tooltips and Popovers by adding custom classes. Available for Bootstrap 3 and Bootstrap 4. Define you

Andrei Victor Bulearca 14 Feb 10, 2022
A simple Form Validation Utility for Bootstrap 3, Bootstrap 4, and Bootstrap 5 for Humans.

bootstrap-validate A simple Form Validation Utility for Bootstrap 3, Bootstrap 4, and Bootstrap 5 for Humans. ?? Support us with Developer Merchandise

null 138 Jan 2, 2023
testing out ember + netlify's forms

survey-netlify I'm trying Ember + Netlify Forms. Will it work? Let's find out. Steps so far added prember and ember-cli-fastboot used the version of f

Melanie Sumner 3 Feb 14, 2022
✏️ A small jQuery extension to turn a static HTML table into an editable one. For quickly populating a small table with JSON data, letting the user modify it with validation, and then getting JSON data back out.

jquery-editable-table A small jQuery extension to turn an HTML table editable for fast data entry and validation Demo ?? https://jsfiddle.net/torrobin

Tor 7 Jul 31, 2022
This package is for developers to be able to easily integrate bad word checking into their projects.\r This package can return bad words in array or regular expression (regex) form.

Vietnamese Bad Words This package is for developers to be able to easily integrate bad word checking into their projects. This package can return bad

Nguyễn Quang Sáng 8 Nov 3, 2022
Serv is a platform for MSMEs to be able to easily find good vendors or services that are fits their needs.

Description Serv is a platform for MSMEs to be able to easily find good vendors or services that are fits their needs. For example, if someone wants t

null 3 Oct 3, 2022
FortuneSheet is an online spreedsheet component library that provides out-of-the-box features just like Excel

FortuneSheet FortuneSheet is an online spreedsheet component library that provides out-of-the-box features just like Excel English | 简体中文 Purpose The

Suzhou Ruilisi Technology Co., Ltd 1.6k Jan 3, 2023
CLI utility that parses argv, loads your specified file, and passes the parsed argv into your file's exported function. Supports ESM/TypeScript/etc out of the box.

cleffa CLI tool that: Parses argv into an object (of command-line flags) and an array of positional arguments Loads a function from the specified file

Lily Scott 9 Mar 6, 2022
Some out-of-the-box utility features based on the Oasis engine.

Engine Toolkit Some out-of-the-box utility features based on the Oasis engine Script, welcome to enjoy! Features ?? Controls - Some camera controllers

Oasis 22 Nov 21, 2022
Zemi is data-driven and reverse-routing library for Express. It provides out-of-the-box OpenAPI support, allowing you to specify and autogenerate an OpenAPI spec.

zemi zemi is a data-driven routing library for Express, built with Typescript. Features: optional, out-of-the-box support for OpenAPI reverse-routing

Yoaquim Cintrón 5 Jul 23, 2022
Scaffold a full-stack SvelteKit application with tRPC and WindiCSS out of the box

create-sweet-app Interactive CLI to quickly set up an opinionated, full-stack, typesafe SvelteKit project. Inspired by the T3 Stack and create-t3-app

David Hrabě 10 Dec 16, 2022
Cross provider map drawing library, supporting Mapbox, Google Maps and Leaflet out the box

Terra Draw Frictionless map drawing across mapping providers. TerraDraw centralises map drawing logic and provides a host of out the box drawing modes

James Milner 106 Dec 31, 2022
JCS (JSON Canonicalization Scheme), JSON digests, and JSON Merkle hashes

JSON Hash This package contains the following JSON utilties for Deno: digest.ts provides cryptographic hash digests of JSON trees. It guarantee that d

Hong Minhee (洪 民憙) 13 Sep 2, 2022
Package fetcher is a bot messenger which gather npm packages by uploading either a json file (package.json) or a picture representing package.json. To continue...

package-fetcher Ce projet contient un boilerplate pour un bot messenger et l'executable Windows ngrok qui va permettre de créer un tunnel https pour c

AILI Fida Aliotti Christino 2 Mar 29, 2022
Dropdown select box for bootstrap 5

dselect Dropdown select box for bootstrap 5 Demo Features Placeholder Multiple Search Creatable Clearable Sizing Validation Installation Install dsele

null 30 Dec 21, 2022