0.0.224 • Published 10 days ago

jsonforms-react-spectrum-vite-test v0.0.224

Weekly downloads
-
License
-
Repository
-
Last release
10 days ago

JSONForms - More Forms. Less Code

Complex Forms in the blink of an eye

JSONForms eliminates the tedious task of writing fully-featured forms by hand by leveraging the capabilities of JSON, JSON Schema and Javascript.

Spectrum Renderers Package

See how you can use the Spectrum renderers to render your forms.

Grid Array Control

UI Schema and Custom options

{
  "type": "Control",
  "scope": "#/properties/myArray",
  "options": {
    "dataAsImage": "image",
    "detail": {
      "type": "HorizontalLayout",
      ...
        },
    "enableDetailedView": true,
    "noAccordion": false,
    "pathFilter": "/content/path/",
    "picker": true,
    "showItemNumber": false,
    "sortMode": "arrows"
  }
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"dataAsImage"nonullstring or numberSearches the Data for the name or position to display as an Image
"detail"nonullobjectPass down a UI Schema
"enableDetailedView"notruebooleanIf it uses the DetailedView or acts as an Accordion
"noAccordion"nofalsebooleanOnly used for a Single Item like a Textfield, only works if enableDetailedView is false. The Accordion will not expand and it will not have an Header.
"pathFilter"nonullstringReplaces the string from the path to display
"picker"nofalsebooleanIf it should send a Message for the Picker
"showItemNumber"nofalsebooleanIf it should show the Index in the Header
"sortMode"no"drag&drop"string"arrows" or "drag&drop"

Horizontal Layout

UI Schema and Custom options

{
  "type": "HorizontalLayout",
  "elements": [ ... ],
  "options": {
    "spacing": [3, 1]
  }
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"spacing"no1Array of Numberflex-grow for each element.

Boolean Switch (Toggle) Component

React Spectrum Switch

Schema

{
  "type": "object",
  "properties": {
    "switch": {
      "type": "boolean",
      "default": true
    }
  },
  "required": ["switch"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"type"yesnullBooleanMust be Boolean.
"default"nonullBooleanDefault Value (will be inserted only at rendertime).

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/switch",
      "label": "Switch Component", //Optional Label, default label is the property name, in this example it would be Switch
      "options": {
        "focus": true,
        "isEmphasized": false,
        "toggle": true
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"isEmphasized"nofalsetrue or falseChanges the appearance.
"toggle"yesWithout "toggle" it's a Checkboxtrue or falseIf true the Component will be a toggle.

Boolean Checkbox (Toggle) Component

React Spectrum Checkbox

Schema

{
  "type": "object",
  "properties": {
    "checkbox": {
      "default": true,
      "type": "boolean"
    }
  },
  "required": ["checkbox"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullBooleanDefault Value (will be inserted only at rendertime).
"type"yesnullStringMust be provided.

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"type"yesnull"boolean"Must be Boolean.

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/checkbox",
      "label": "Checkbox Component", //Optional Label, default label is the property name, in this example it would be Checkbox
      "options": {
        "focus": true,
        "isEmphasized": false
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"isEmphasized"nofalsetrue or falseChanges the appearance.

Boolean Button (Toggle) Component

React Spectrum ToggleButton

Schema

{
  "type": "object",
  "properties": {
    "booleanButton": {
      "type": "boolean",
      "default": true
    }
  },
  "required": ["booleanButton"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"type"yesnull"boolean"Must be Boolean.
"default"nonullBooleanDefault Value (will be inserted only at rendertime).

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/switch",
      "label": "Switch Component", //Optional Label, default label is the property name, in this example it would be Switch
      "options": {
        "button": true,
        "focus": true,
        "isEmphasized": false,
        "isQuiet": false,
        "staticColor": "white"
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"button"yesWithout "button" it's a Checkboxtrue or falseIf true the Component will be a Button.
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"isEmphasized"nofalsetrue or falseChanges the appearance.
"isQuiet"nofalsetrue or falseChanges the appearance.
"staticColor"nofalse"white" or "black"The static color style to apply. Useful when the button appears over a color background.

Date Component

React Spectrum DatePicker

How to use it

Schema

{
  "type": "object",
  "properties": {
    "date": {
      "default": "2022-03-01",
      "type": "string",
      "format": "date"
    }
  },
  "required": ["date"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullDate (ISO 8601)Default Value (will be inserted only at rendertime).
"format"yesnull"date"Must be Date, else it's a string.
"type"yesnull"string"Must be String.

UI Schema and Custom options

UI Schema
{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/date",
      "label": "Date Component", //Optional Label, default label is the property name, in this example it would be Date
      "options": {
            "description": "Custom description",
            "erroMessage": "Custom error message",
            "focus": true,
            "hideTimeZone": true,
            "isQuiet": true,
            "locale": "ja-Jpan-JP-u-ca-japanese-hc-h12",
            "maxValue": "2022-12-31",
            "maxVisibleMonths": 3,
            "minValue": "today",
            "necessityIndicator": "label",
            "trim": false
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"description"nonullStringA Description for your Date Component. Will be displayed if no error is displayed.
"errorMessage"nonullString or false (no ErrorMessage)Create a Custom Error Message.
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"hideTimeZone"notruetrue or falseHides Time Zone or not.
"isQuiet"nofalsetrue or falseChanges the appearance.
"locale"no"gregory"String See MDN for more InformationsWhich Calendar should be used.
"maxValue"nonullDate E.g. "2022-12-31" or "today"When the Value is above maxValue, a warning icon will be displayed inside the Component and you can't pick a Date after maxValue.
"maxVisibleMonths"no1IntegerHow many Months should be displayed while Picking.
"minValue"nonullDate E.g. "2022-12-31" or "today"When the Value is below minValue, a warning icon will be displayed inside the Component and you can't pick a Date befor minValue.
"necessityIndicator"nofalse"label", "icon" or falseDecide if the necessity indicator should be displayed, icon = *, label = "required" or "optional" in the Browser Language.
"trim"nofalsetrue or falseIf false the Component uses 100% width, else the Component will be trimmed.

Date Time Component

React Spectrum DatePicker

How to use it

Schema

{
  "type": "object",
  "properties": {
    "dateTime": {
      "default": "2022-03-01T12:00:00",
      "type": "string",
      "format": "date-time"
    }
  },
  "required": ["dateTime"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullDate-Time (ISO 8601)Default Value (will be inserted only at rendertime).
"format"yesnull"date-time"Must be Date-Time, else it's a string.
"type"yesnull"string"Must be String.

UI Schema and Custom options

UI Schema
{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/dateTime",
      "label": "Date Time Component", //Optional Label, default label is the property name, in this example it would be Date Time
      "options": {
            "description": "Custom description",
            "erroMessage": "Custom error message",
            "focus": true,
            "granularity": "hour",
            "hideTimeZone": true,
            "hourCycle": "24",
            "isQuiet": true,
            "locale": "ja-Jpan-JP-u-ca-japanese-hc-h12",
            "maxValue": "2022-12-31",
            "maxVisibleMonths": 3,
            "minValue": "today",
            "necessityIndicator": "label",
            "trim": false
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"description"nonullStringA Description for your Date Time Component. Will be displayed if no error is displayed.
"errorMessage"nonullString or false (no ErrorMessage)Create a Custom Error Message.
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"granularity"no"minute""minute" or "hour"Decide if you want only hours or hours and minutes.
"hideTimeZone"notruetrue or falseHides Time Zone or not.
"hourCycle"noUses the Browser hour cycle"12" or "24"Decide if the User should use 12 or 24 hour format.
"isQuiet"nofalsetrue or falseChanges the appearance.
"locale"no"gregory"String See MDN for more InformationsWhich Calendar should be used.
"maxValue"nonullDate(Time), E.g. ("2022-12-31T23:59:59" or "2022-12-31") or "today"When the Value is above maxValue, a warning icon will be displayed inside the Component and you can't pick a Date after maxValue.
"maxVisibleMonths"no1IntegerHow many Months should be displayed while Picking.
"minValue"nonullDate(Time), E.g. ("2022-12-31T00:00:00" or "2022-12-31") or "today"When the Value is below minValue, a warning icon will be displayed inside the Component and you can't pick a Date befor minValue.
"necessityIndicator"nofalse"label", "icon" or falseDecide if the necessity indicator should be displayed, icon = *, label = "required" or "optional" in the Browser Language.
"trim"nofalsetrue or falseIf false the Component uses 100% width, else the Component will be trimmed.

Time Component

React Spectrum TimeField(https://react-spectrum.adobe.com/react-spectrum/TimeField.html

How to use it

Schema

{
  "type": "object",
  "properties": {
    "time": {
      "default": "12:00",
      "type": "string",
      "format": "time"
    }
  },
  "required": ["time"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullTime (ISO 8601)Default Value (will be inserted only at rendertime).
"format"yesnull"time"Must be Time, else it's a string.
"type"yesnull"string"Must be String.

UI Schema and Custom options

UI Schema
{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/time",
      "label": "Time Component", //Optional Label, default label is the property name, in this example it would be Time
      "options": {
        "focus": true,
        "granularity": "hour",
        "hideTimeZone": true,
        "hourCycle": "24",
        "isQuiet": false,
        "locale": "ja-Jpan-JP-u-ca-japanese-hc-h12",
        "maxValue": "13:38",
        "minValue": "12:58",
        "necessityIndicator": "label",
        "trim": true
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"granularity"no"minute""minute" or "hour"Decide if you want only hours or hours and minutes.
"hideTimeZone"notruetrue or falseHides Time Zone or not.
"hourCycle"noUses the Browser hour cycle"12" or "24"Decide if the User should use 12 or 24 hour format.
"isQuiet"nofalsetrue or falseChanges the appearance.
"locale"no"gregory"String See MDN for more InformationsWhich Calendar should be used.
"maxValue"nonullTime in the Format "HH:mm"When the Value is above maxValue, a warning icon will be displayed inside the Component.
"minValue"nonullTime in the Format "HH:mm"When the Value is below minValue, a warning icon will be displayed inside the Component.
"necessityIndicator"nofalse"label", "icon" or falseDecide if the necessity indicator should be displayed, icon = *, label = "required" or "optional" in the Browser Language.
"trim"nofalsetrue or falseIf false the Component uses 100% width, else the Component will be trimmed.

Enum Component

React Spectrum Picker

Schema

{
  "type": "object",
  "properties": {
    "enumComponent": {
      "default": "foo",
      "enum": ["foo", "bar"],
      "type": "string"
    }
  },
  "required": ["enum"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullOne of the Enum ValuesDefault Value (will be inserted only at rendertime).
"enum"yesnull"enum"Must be enum.
"type"no"string""string" or "array"For multiple selection, choose array.

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/enumComponent",
      "label": "Enum Component", //Optional Label, default label is the property name, in this example it would be Enum
      "options": {
        "align": "start",
        "autocomplete": false,
        "description": "Picker description",
        "errorMessage": "Custom error message",
        "focus": true,
        "isQuiet": true,
        "menuWidth": "size-100",
        "necessityIndicator": "label",
        "placeholder": "Select an option"
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"align"no"start""start" or "end"Alignment of the menu relative to the input target.
"autocomplete"yestruetrue or falseMust be false for a Picker, else it's a ComboBox.
"description"nonullStringA Description for your Picker. Will be displayed if no error is displayed.
"errorMessage"nonullString or false (no ErrorMessage)Create a Custom Error Message.
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"isQuiet"nofalsetrue or falseChanges the appearance.
"menuWidth"nonullE.g. "size-100" See all OptionsWidth of the menu.
"minWidth"nonullE.g. "size-100" See all OptionsMinimum width of the menu.
"necessityIndicator"nofalse"label", "icon" or falseDecide if the necessity indicator should be displayed, icon = *, label = "required" or "optional" in the Browser Language.
"placeholder"nonullStringText which is displayed inside the Component if it's empty (Placeholdertext).

Different Name and Value for Enum and Enum Autocomplete

For the Enum Component you can use different names and values for the enum. This is useful if you want to display a different name than the value in the UI. For example if you want to display "Foo" instead of "foo" in the UI. For that you have to change enum to oneOf and the array is an array of objects with title and value.

Schema

{
  "type": "object",
  "properties": {
    "enumWithDifferentTitleValue": {
      "type": "string",
      "oneOf": [
        {
          "const": "foo",
          "title": "Foo"
        },
        {
          "const": "bar",
          "title": "Bar"
        },
        {
          "const": "foobar",
          "title": "FooBar"
        }
      ]
    }
  },
  "required": ["enumComponent"] //If it should be required
}

Enum Autocomplete Component

React Spectrum ComboBox

Schema

{
  "type": "object",
  "properties": {
    "enumAutocomplete": {
      "default": "foo",
      "enum": ["foo", "bar"],
      "type": "string"
    }
  },
  "required": ["enumAutocomplete"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullOne of the Enum ValuesDefault Value (will be inserted only at rendertime).
"enum"yesnull"enum"Must be enum.
"type"no"string""string" or "array"For multiple selection, choose array.

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/enumAutocomplete",
      "label": "Enum Autocomplete Component", //Optional Label, default label is the property name, in this example it would be Enum Autocomplete
      "options": {
        "allowsCustomValue": true,
        "autocomplete": true,
        "description": "ComboBox description",
        "errorMessage": "Custom error message",
        "focus": true,
        "isQuiet": true,
        "menuTrigger": "manual",
        "necessityIndicator": "label",
        "shouldFocusWrap": true
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"allowsCustomValue"nofalsetrue or falseWhether the ComboBox allows a non-item matching input value to be set.
"autocomplete"yestruetrue or falseMust be true for a ComboBox, else it's a Picker.
"autoFocus"nofalsetrue or falseWhether the ComboBox should receive focus on render.
"description"nonullStringA Description for your ComboBox. Will be displayed if no error is displayed.
"errorMessage"nonullString or false (no ErrorMessage)Create a Custom Error Message.
"focus"nofalsetrue or falseWhether the ComboBox should receive focus on render.
"isQuiet"nofalsetrue or falseChanges the appearance.
"menuTrigger"no"input""input", "focus" or "manual"The interaction required to display the ComboBox menu. It has no effect on the mobile ComboBox.
"minWidth"nonullE.g. "size-100" See all OptionsMinimum width of the menu.
"necessityIndicator"nofalse"label", "icon" or falseDecide if the necessity indicator should be displayed, icon = *, label = "required" or "optional" in the Browser Language.
"readonly"nofalsetrue or falseWhether the ComboBox is read-only or not.
"shouldFocusWrap"nofalsetrue or falseWhether keyboard navigation is circular.

Integer Component

React Spectrum NumberField

Schema

{
  "type": "object",
  "properties": {
    "integer": {
      "default": 3,
      "maximum": 5,
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": ["integer"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullIntegerDefault Value (will be inserted only at rendertime).
"maximum"nonullInteger (>= minimum)Highest Integer to accept.
"minimum"nonullIntegerLowest Integer to accept.
"type"yesnull"integer"Must be Integer.

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/integer",
      "label": "Integer Component", //Optional Label, default label is the property name, in this example it would be Integer
      "options": {
        "decrementAriaLabel": "ARIALABELDOWN",
        "description": "Number Description",
        "errorMessage": "Custom Error",
        "focus": true,
        "formatOptions": {
          "style": "currency",
          "currency": "EUR"
        },
        "hideStepper": true,
        "incrementAriaLabel": "ARIALABELUP",
        "necessityIndicator": "label",
        "step": 2
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"decrementAriaLabel"noDecrement -${step}StringCreate a Custom Aria Label for the Decrement Stepper.
"description"nonullStringA Description for your Integer Field. Will be displayed if no error is displayed.
"errorMessage"noError Message based on min and/or maxString or falseCreate a Custom Error Message.
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"formatOptions"nofalseE.g.{ style: 'percent' } See MDN for Full ListThe Display Format of the Value Label.
"hideStepper"nofalsetrue or falseIf true there is no visible Stepper.
"incrementAriaLabel"noIncrement +${step}StringCreate a Custom Aria Label for the Increment Stepper.
"necessityIndicator"nofalse"label", "icon" or falseDecide if the necessity indicator should be displayed, icon = *, label = "required" or "optional" in the Browser Language.
"step"no1positive IntegerHow much the value should increase or decrease for every step.
"trim"nofalsetrue or falseIf false the Component uses 100% width, else the Component will be trimmed.

Number Component

React Spectrum NumberField

Schema

{
  "type": "object",
  "properties": {
    "number": {
      "default": 3.14,
      "maximum": 5,
      "minimum": 1,
      "type": "number"
    }
  },
  "required": ["number"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullNumberDefault Value (will be inserted only at rendertime).
"maximum"nonullNumber (>= minimum)Highest Number to accept.
"minimum"nonullNumberLowest Number to accept.
"type"yesnull"number"Must be Number.

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/number",
      "label": "Number Component", //Optional Label, default label is the property name, in this example it would be Number
      "options": {
        "decrementAriaLabel": "ARIALABELDOWN",
        "description": "Number Description",
        "errorMessage": "Custom Error",
        "focus": true,
        "formatOptions": {
          "style": "currency",
          "currency": "EUR"
        },
        "hideStepper": true,
        "incrementAriaLabel": "ARIALABELUP",
        "necessityIndicator": "label",
        "step": 2
      }
    }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"decrementAriaLabel"noDecrement -${step}StringCreate a Custom Aria Label for the Decrement Stepper.
"description"nonullStringA Description for your Integer Field. Will be displayed if no error is displayed.
"errorMessage"noError Message based on min and/or maxString or falseCreate a Custom Error Message.
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"formatOptions"nofalseE.g.{ style: 'percent' } See MDN for Full ListThe Display Format of the Value Label.
"hideStepper"nofalsetrue or falseIf true there is no visible Stepper.
"incrementAriaLabel"noIncrement +${step}StringCreate a Custom Aria Label for the Increment Stepper.
"necessityIndicator"nofalse"label", "icon" or falseDecide if the necessity indicator should be displayed, icon = *, label = "required" or "optional" in the Browser Language.
"step"no1positiveHow much the value should increase or decrease for every step.
"trim"nofalsetrue or falseIf false the Component uses 100% width, else the Component will be trimmed.

Star Rating Component

Custom Component with Workflow Star Icon

Schema

{
  "type": "object",
  "properties": {
    "rating": {
      "default": 3,
      "maximum": 10,
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": ["rating"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullIntegerDefault Value (will be inserted only at rendertime).
"maximum"no5positive Integer (>= minimum)How much Stars should rendered.
"minimum"nonullInteger between 0 and maximumLowest Integer to accept.
"type"yesnull"integer"Must be Integer.

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/rating",
      "label": "Rating Component", //Optional Label, default label is the property name, in this example it would be Rating
      "options": {
        "necessityIndicator": "label",
        "orientation": "vertical",
        "rating": true,
        "trim": false
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"necessityIndicator"nofalse"label", "icon" or falseDecide if the necessity indicator should be displayed, icon = *, label = "required" or "optional" in the Browser Language.
"orientation"no"horizontal""horizontal" or "vertical"How the Stars should be aligned.
"trim"nofalsetrue or falseIf false the Component uses 100% width, else the Component will be trimmed.
"rating"yesWithout "rating" it's a Integer Fieldtrue or falseIf true the Component will be a Star Rating.

Slider Component

React Spectrum Slider

Schema

{
  "type": "object",
  "properties": {
    "range": {
      "default": 42,
      "maximum": 100,
      "minimum": 0,
      "multipleOf": 2,
      "type": "number"
    }
  },
  "required": ["range"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"yesnullNumberDefault Value.
"maximum"yesnullNumber (>= minimum)Highest Number to accept.
"minimum"yesnullNumberLowest Number to accept.
"multipleOf"no1NumberHow big a Step should be.
"type"yesnull"integer" or "number"Depends on the Value you need.

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/range",
      "label": "Range Component", //Optional Label, default label is the property name, in this example it would be Range
      "options": {
        "formatOptions": {
          "style": "currency",
          "currency": "EUR"
        },
        "getValueLabel": "of 1",
        "trackGradient": ["#000000", "blue"],
        "fillOffset": 2,
        "isFilled": true,
        "slider": true,
        "trim": false
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"fillOffset"nofalseNumber between minimum and maximumThe offset from which to start the fill.
"formatOptions"nofalseE.g.{ style: 'percent' } See MDN for Full ListThe Display Format of the Value Label.
"getValueLabel"nonullStringCustom Value Label, like "Bananas".
"isFilled"nofalsetrue or falseWhether a fill color is shown between the start of the slider and the current value.
"slider"yesWithout "slider" it's a Number/Integer Fieldtrue or falseIf true the Component will be a toggle instead of a Number Field.
"trackGradient"nonullArray of Color Values, HEX, RGB, RGBA, Color Name and HSL are supportedThe background of the track, specified as the stops for a CSS background: linear-gradient
"trim"nofalsetrue or falseIf false the Component uses 100% width, else the Component will be trimmed.

Text Field Component

React Spectrum TextField

Schema

{
  "type": "object",
  "properties": {
    "textfield": {
      "default": "DefaultString",
      "type": "string"
    }
  },
  "required": ["textfield"] //If it should be required
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"default"nonullStringDefault Value (will be inserted only at rendertime).
"type"yesnull"string"Must be String.

UI Schema and Custom options

{
  "type": "HorizontalLayout", //or any other layout
  "elements": [
    {
      "type": "Control",
      "scope": "#/properties/textfield",
      "label": "TextField Component", //Optional Label, default label is the property name, in this example it would be Textfield
      "options": {
        "description": "Text Field Description",
        "errorMessage": "Custom Error Message!",
        "focus": true,
        "inputMode": "text",
        "isQuiet": false,
        "maxLength": 5,
        "minLength": 1,
        "necessityIndicator": "label",
        "trim": true,
        "type": "text"
      }
    }
  ]
}

Custom Options Overview

OptionRequiredDefault (Option not used)ValuesDescription
"description"nonullStringA Description for your Text Field. Will be displayed if no error is displayed.
"errorMessage"noError Message based on minLength and/or maxLengthString or false (No ErrorMessage)Create a Custom Error Message.
"focus"nofalsetrue or falseIf true it will be focused after it rendered.
"inputMode"no"none"
0.0.224

10 days ago

0.0.223

3 months ago

0.0.222

4 months ago

0.0.221-variants2

4 months ago

0.0.221-variants3

4 months ago

0.0.221-variants

4 months ago

0.0.221

5 months ago

0.0.216

6 months ago

0.0.219

5 months ago

0.0.218

6 months ago

0.0.217

6 months ago

0.0.220

5 months ago

0.0.215

6 months ago

0.0.214

8 months ago

0.0.213

8 months ago

0.0.212

8 months ago

0.0.211

8 months ago

0.0.210

8 months ago

0.0.205

9 months ago

0.0.204

9 months ago

0.0.203

9 months ago

0.0.202

10 months ago

0.0.209

9 months ago

0.0.208

9 months ago

0.0.207

9 months ago

0.0.206

9 months ago

0.0.201

10 months ago

0.0.200

10 months ago

0.0.197

11 months ago

0.0.196

11 months ago

0.0.195

11 months ago

0.0.194

11 months ago

0.0.199

10 months ago

0.0.198

10 months ago

0.0.193

11 months ago

0.0.192

11 months ago

0.0.191

11 months ago

0.0.190

11 months ago

0.0.189

12 months ago

0.0.188

12 months ago

0.0.179

1 year ago

0.0.178

1 year ago

0.0.177

1 year ago

0.0.176

1 year ago

0.0.186

12 months ago

0.0.185

1 year ago

0.0.184

1 year ago

0.0.183

1 year ago

0.0.187

12 months ago

0.0.182

1 year ago

0.0.181

1 year ago

0.0.180

1 year ago

0.0.159

1 year ago

0.0.158

1 year ago

0.0.153

1 year ago

0.0.152

1 year ago

0.0.151

1 year ago

0.0.150

1 year ago

0.0.157

1 year ago

0.0.156

1 year ago

0.0.155

1 year ago

0.0.154

1 year ago

0.0.169

1 year ago

0.0.164

1 year ago

0.0.163

1 year ago

0.0.162

1 year ago

0.0.161

1 year ago

0.0.168

1 year ago

0.0.167

1 year ago

0.0.166

1 year ago

0.0.165

1 year ago

0.0.160

1 year ago

0.0.175

1 year ago

0.0.174

1 year ago

0.0.173

1 year ago

0.0.172

1 year ago

0.0.171

1 year ago

0.0.170

1 year ago

0.0.128

2 years ago

0.0.127

2 years ago

0.0.126

2 years ago

0.0.125

2 years ago

0.0.129

2 years ago

0.0.139

1 year ago

0.0.138

1 year ago

0.0.137

2 years ago

0.0.136

2 years ago

0.0.131

2 years ago

0.0.130

2 years ago

0.0.135

2 years ago

0.0.134

2 years ago

0.0.133

2 years ago

0.0.132

2 years ago

0.0.149

1 year ago

0.0.148

1 year ago

0.0.147

1 year ago

0.0.142

1 year ago

0.0.141

1 year ago

0.0.140

1 year ago

0.0.146

1 year ago

0.0.145

1 year ago

0.0.144

1 year ago

0.0.143

1 year ago

0.0.84

2 years ago

0.0.85

2 years ago

0.0.86

2 years ago

0.0.87

2 years ago

0.0.88

2 years ago

0.0.89

2 years ago

0.0.80

2 years ago

0.0.81

2 years ago

0.0.82

2 years ago

0.0.83

2 years ago

0.0.73

2 years ago

0.0.74

2 years ago

0.0.75

2 years ago

0.0.76

2 years ago

0.0.77

2 years ago

0.0.78

2 years ago

0.0.79

2 years ago

0.0.72

2 years ago

0.0.106

2 years ago

0.0.105

2 years ago

0.0.104

2 years ago

0.0.103

2 years ago

0.0.109

2 years ago

0.0.108

2 years ago

0.0.107

2 years ago

0.0.102

2 years ago

0.0.101

2 years ago

0.0.100

2 years ago

0.0.116

2 years ago

0.0.115

2 years ago

0.0.114

2 years ago

0.0.119

2 years ago

0.0.118

2 years ago

0.0.113

2 years ago

0.0.112

2 years ago

0.0.111

2 years ago

0.0.110

2 years ago

0.0.120

2 years ago

0.0.124

2 years ago

0.0.123

2 years ago

0.0.122

2 years ago

0.0.121

2 years ago

0.0.95

2 years ago

0.0.96

2 years ago

0.0.97

2 years ago

0.0.98

2 years ago

0.0.90

2 years ago

0.0.91

2 years ago

0.0.92

2 years ago

0.0.93

2 years ago

0.0.94

2 years ago

0.0.71

2 years ago

0.0.70

2 years ago

0.0.69

2 years ago

0.0.68

2 years ago

0.0.67

2 years ago

0.0.66

2 years ago

0.0.65

2 years ago

0.0.64

2 years ago

0.0.63

2 years ago

0.0.62

2 years ago

0.0.61

2 years ago

0.0.60

2 years ago

0.0.59

2 years ago

0.0.58

2 years ago

0.0.57

2 years ago

0.0.56

2 years ago

0.0.55

2 years ago

0.0.54

2 years ago

0.0.53

2 years ago

0.0.52

2 years ago

0.0.51

2 years ago

0.0.50

2 years ago

0.0.49

2 years ago

0.0.48

2 years ago

0.0.47

2 years ago

0.0.46

2 years ago

0.0.45

2 years ago

0.0.44

2 years ago

0.0.43

2 years ago

0.0.42

2 years ago

0.0.41

2 years ago

0.0.40

2 years ago

0.0.39

2 years ago

0.0.38

2 years ago

0.0.37

2 years ago

0.0.36

2 years ago

0.0.35

2 years ago

0.0.34

2 years ago

0.0.33

2 years ago

0.0.32

2 years ago

0.0.31

2 years ago

0.0.30

2 years ago

0.0.29

2 years ago

0.0.28

2 years ago

0.0.27

2 years ago

0.0.26

2 years ago

0.0.25

2 years ago

0.0.24

2 years ago

0.0.23

2 years ago

0.0.22

2 years ago

0.0.21

2 years ago

0.0.20

2 years ago

0.0.19

2 years ago

0.0.18

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.0

2 years ago