Type object
File match *.noodl.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/noodl-config/latest.json
Source https://noodl.s3.us-west-1.amazonaws.com/noodl.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Definitions

Action Record<string, any>
actionType string

An identifier/name for an action

Examples: "openCamera", "openPhotoLibrary", "openDocumentManager", "pageJump", "popUpDismiss", "refresh", "register", "removeSignature", "saveObject", "saveSignature", "updateObject", "popUp", "builtIn", "evalObject"
contentType string

Determines the content type of the component. For example, a textField component may be a date textField if it has contentType: date, or a password textField with contentType: password, etc

Examples: "countryCode", "email", "date", "file", "formattedDate", "formattedDuration", "hidden", "listObject", "messageHidden", "number", "password", "passwordHidden", "phone", "phoneNumber", "tel", "text", "timer", "videoSubStream"
dataKey string

The path to a data object or value. It might provide a different behavior depending on where it is placed. For example, a dataKey set on a textField component will bind its value to the path in the dataKey, enabling it to mutate the value while updating textField's value

Examples: "formData.password", "SignIn.formData.password"
dataObject string

An object that contains data. It is most commonly used in actions such as updateObject as a way to update its data values

dismissOnTouchOutside boolean

Signals that a popup should close when a user clicks outside of it. This is used for closing modals/popups

emit object

An emit is a special type of action that usually contains a dataKey paired with a list of actions that are called in order. Some emits can contain just a list of actions. When paired with a dataKey it is usually mutating the value at the path in the dataKey

2 nested properties
actions Action | BuiltInEval[] required
dataKey string | object
funcName string

A name/identifier for a function. This is used mainly for builtIn actions, where applications implement their own behavior and binds it to some object in the noodl

Examples: "redraw", "goto", "saveSignature"
goto string | object | string

The destination the user should navigate to

object string | object | array
popUpView string

A binding between a popUp or popUpDismiss component to a popUp action.

reload boolean

When set to true, this signals that a page should run its "init" operation upon visiting from the user. If it is false, a page will not run it, which can be used to persist values when navigating pages

timer string

A timer is useful for situations such as chat rooms where users will have a time limit before being getting out

timerTag string
viewTag string

An identifier which is used to bind a component and an action together. Actions can define a viewTag that invokes certain behavior towards a component. The component must also contain the same viewTag key/value. If multiple components have the same viewTag, then the action will effect multiple components

wait boolean | number

Used to prevent further actions from happening. For example, a popUp action with "wait: true" will open a pop up in the page and will not run actions that are next in the call stack. This can be used to restrict access to pages when authenticating

Examples: true, "5000"
ActionChain UserEvent[]

A chain of actions in sequential order

ActionType string

An identifier/name for an action

Examples:
  • "openCamera"
  • "openPhotoLibrary"
  • "openDocumentManager"
  • "pageJump"
  • "popUpDismiss"
  • "refresh"
  • "register"
  • "removeSignature"
  • "saveObject"
  • "saveSignature"
  • "updateObject"
  • "popUp"
  • "builtIn"
  • "evalObject"
AwaitReference string

A reference that returns its result after the value at the referenced path is received

Boolean enum

A boolean value is either one of "true", true, "false", or false

Border string | object

Border styles

BorderPreset1 string | number

Removes border including the radius

BorderPreset2 string | number

Removes border from all sides (including radius) except the bottom. This will create an underline effect

BorderPreset3 string | number

Applies a solid border to all sides

BorderPreset4 string | number

Sets the border to be a dashed border

BorderPreset5 string | number

Removes border from all sides

BorderPreset6 string | number

Sets the border to be a solid border. This will also remove border radius from all sides

BorderStylePreset BorderPreset1 | BorderPreset2 | BorderPreset3 | BorderPreset4 | BorderPreset5 | BorderPreset6

A set of border presets, each applying a different style

BuiltInEval object

Objects that become built in functions when parsed/serialized

Color string
Examples:
  • ""0x000000""
Component object

Components are the building blocks that construct to user interfaces

audioStream boolean
borderRadius string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
children Component | Reference[]
contentType string

Determines the content type of the component. For example, a textField component may be a date textField if it has contentType: date, or a password textField with contentType: password, etc

Examples: "countryCode", "email", "date", "file", "formattedDate", "formattedDuration", "hidden", "listObject", "messageHidden", "number", "password", "passwordHidden", "phone", "phoneNumber", "tel", "text", "timer", "videoSubStream"

A value/pointer to a a property of an object

ecosObj string
Examples: "..document.ecosObj"
global enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
image string
imgPath string
isEdit enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
isEditable Boolean | string
itemObject string

This is a common value used for iteratorVar

iteratorVar string
Examples: "itemObject"
listObject Empty | Reference | array
onChange ActionChain | UserEvent
onEvent string
Examples: "onNewEcosDoc"
onMouseEnter ActionChain | UserEvent
onMouseLeave ActionChain | UserEvent
onMouseOut ActionChain | UserEvent
onMouseOver ActionChain | UserEvent
options string | array
Examples: "..formData.options"
overflow string
Examples: "hidden"
path string | GotoPageComponentUrl | BuiltInEval | If | object

A path can be in the form of a string, an if object, or an emit object

placeholder string | If | object
popUpView string
postMessage array
poster string

A cover image used on video components. When a video has not been interacted with by a user, a cover image is displayed. This value can be used for the cover image

Examples: "poster.png"
required string | boolean
resource string
Examples: "https://google.com/someImage.jpeg"
style object
37 nested properties
align string

The alignment in a block. If align is horizontal, siblings will align horizontally, vice versa. This is functionally equivalent to the "axis" keyword

Examples: "centerX", "centerY"
axis string

The axis in a block. If axis is horizontal, siblings will align horizontally, vice versa. This was previously used in list/listItem components

Examples: "horizontal", "vertical"
backgroundColor string
Examples: ""0x030303""
border string | object

Border styles

borderBottom string
borderColor string
Examples: ""0x000000""
borderRadius string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
borderWidth string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
boxShadow string

Applies a box shadow style effect

boxSizing string
Examples: "border-box", "content-box"
color string
Examples: ""0x000000""
fontFamily string
Examples: "Arial", "Courier New", "Verdana", "Times New Roman", "Consolas", "Helvetica"
fontSize string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
fontStyle string
fontWeight number | string
height string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
isEditable enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
isHidden enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
justifyContent string
Examples: "flex-start", "center", "flex-end", "space-around"
left string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
letterSpacing string

Spacing between each letter

lineHeight string

Spacing between each line

margin string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
marginTop string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
opacity number

Applies a transparenct style effect. The lower the opacity, the more the transparent effect is applied

Examples: "0.5"
overflow string

If hidden, any styles flowing outside of a component's bounds will be invisible

Examples: "hidden"
paddingBottom string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
paddingLeft string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
position string
Examples: "relative", "absolute", "fixed", "static"
required string
shadow string | boolean

Applies a box shadow effect

textColor string
Examples: ""0x000000""
pattern=^(0x)[a-zA-Z0-9]+$
textIndent string
top string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
width string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
zIndex string

Applies a level of precedence/importance to a component. The higher the zIndex the higher level the component will be placed. For example, if a child 3 levels down applies a higher zIndex than the parent, then the child will appear to be on top in the page

Examples: ""1000""
text string | If

Used to display text in the user interface. Most commonly used in label components

text=func string

A function to transform a component's text. A component must have the 'text' property.

Examples: "=.builtIn.system.configUrl"
textBoard object[]

A component that contains children of text that are positioned inline (side by side)

type string
Examples: "button", "canvas", "chart", "chatList", "ecosDoc", "divider", "footer", "header", "image", "label", "list", "listItem", "map", "page", "plugin", "pluginHead", "pluginBodyTop", "pluginBodyTail", "popUp", "register", "scrollView", "textField", "textView", "video", "view"
videoFormat string
Examples: "mp4"
videoStream boolean
viewTag string

An identifier which is used to bind a component and an action together. Actions can define a viewTag that invokes certain behavior towards a component. The component must also contain the same viewTag key/value. If multiple components have the same viewTag, then the action will effect multiple components

zIndex number
Examples: ""1000""
ComponentType string
Examples:
  • "button"
  • "canvas"
  • "chart"
  • "chatList"
  • "ecosDoc"
  • "divider"
  • "footer"
  • "header"
  • "image"
  • "label"
  • "list"
  • "listItem"
  • "map"
  • "page"
  • "plugin"
  • "pluginHead"
  • "pluginBodyTop"
  • "pluginBodyTail"
  • "popUp"
  • "register"
  • "scrollView"
  • "textField"
  • "textView"
  • "video"
  • "view"
ConfigVersionObjectByDevice object
cadlVersion object
2 nested properties
stable string
Examples: "0.56d"
test string
Examples: "0.56d"
ContentType string

Determines the content type of the component. For example, a textField component may be a date textField if it has contentType: date, or a password textField with contentType: password, etc

Examples:
  • "countryCode"
  • "email"
  • "date"
  • "file"
  • "formattedDate"
  • "formattedDuration"
  • "hidden"
  • "listObject"
  • "messageHidden"
  • "number"
  • "password"
  • "passwordHidden"
  • "phone"
  • "phoneNumber"
  • "tel"
  • "text"
  • "timer"
  • "videoSubStream"
DataIn string | NoodlUnit | number | object | array | Reference | null | If | object

A valid value in accordance to the noodl specification

DataKey DataKeyString | DataKeyObject

A value/pointer to a a property of an object

DataKeyObject object

Data key in the emit object

DataKeyString string

The path to a data object or value. It might provide a different behavior depending on where it is placed. For example, a dataKey set on a textField component will bind its value to the path in the dataKey, enabling it to mutate the value while updating textField's value

Examples:
  • "formData.password"
  • "SignIn.formData.password"
DataObject string

An object that contains data. It is most commonly used in actions such as updateObject as a way to update its data values

DataOut string | NoodlUnit | number | object | array | Reference | null | If | object

A valid value in accordance to the noodl specification

Emit object

An emit is a special type of action that usually contains a dataKey paired with a list of actions that are called in order. Some emits can contain just a list of actions. When paired with a dataKey it is usually mutating the value at the path in the dataKey

actions Action | BuiltInEval[] required
dataKey string | object
Empty string

Empty value (empty string)

Goto string | object | string

The destination the user should navigate to

GotoObject object
destination string
Examples: "SignIn"
GotoPage string
Examples:
  • "SignIn"
  • "SignOut"
GotoPageComponentUrl string
Examples:
  • "Dashboard@SignIn#someViewTag"
If object

If objects contain an array with three items used for conditional checks. The first item is used as a test for truthiness which can be in the form of any data type such as a string, number, boolean, object, etc. Either the second or third item is returned depending on the result of the truthiness test

if Value[]
minItems=3maxItems=3
Init If | string | Goto | string[] | MixedActionChain

One or more action(s) which will occur when entering a page

LocalEvalReference string

Mutates the value at the referenced path after receiving its result

LocalReference string

A reference whose scope is within the page object, making them invisible to the objects outside of its scope

MixedActionChain ActionChain | BuiltInEval[] | object[]

An ActionChain but also includes the BuiltInEval objects =.builtIn.* as well as await/eval references

NoodlUnit string

A measurement adaptive to the size of the viewport

Examples:
  • ""0""
  • ""0.1""
  • ""1""
Page Record<string, any>

A page object

check If | string | Goto | string[] | MixedActionChain

One or more action(s) which will occur when entering a page

components Component[]
init Init | const: ""
module string
Examples: "admin", "business"
pageNumber string

A page number may help distinguish between pages with similar names

Examples: ""219""
save If | string | Goto | string[] | MixedActionChain

One or more action(s) which will occur when entering a page

title string

Titles can be used to represent the page

Examples: "My Title"
update If | string | Goto | string[] | MixedActionChain

One or more action(s) which will occur when entering a page

viewPort string

Determines the initial scroll position for the user

Examples: "top", "center", "bottom"
PageActions array[]
PageModule string
Examples:
  • "admin"
  • "business"
PageNumber string

A page number may help distinguish between pages with similar names

Examples:
  • ""219""
Path string | GotoPageComponentUrl | BuiltInEval | If | object

A path can be in the form of a string, an if object, or an emit object

Reference string

Placeholder values that obtain their real values at a later time

Root object

The root/base object. It is global to all descendants

BaseCSS object
1 nested properties
Style object
37 nested properties
align string

The alignment in a block. If align is horizontal, siblings will align horizontally, vice versa. This is functionally equivalent to the "axis" keyword

Examples: "centerX", "centerY"
axis string

The axis in a block. If axis is horizontal, siblings will align horizontally, vice versa. This was previously used in list/listItem components

Examples: "horizontal", "vertical"
backgroundColor string
Examples: ""0x030303""
border string | object

Border styles

borderBottom string
borderColor string
Examples: ""0x000000""
borderRadius string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
borderWidth string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
boxShadow string

Applies a box shadow style effect

boxSizing string
Examples: "border-box", "content-box"
color string
Examples: ""0x000000""
fontFamily string
Examples: "Arial", "Courier New", "Verdana", "Times New Roman", "Consolas", "Helvetica"
fontSize string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
fontStyle string
fontWeight number | string
height string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
isEditable enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
isHidden enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
justifyContent string
Examples: "flex-start", "center", "flex-end", "space-around"
left string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
letterSpacing string

Spacing between each letter

lineHeight string

Spacing between each line

margin string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
marginTop string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
opacity number

Applies a transparenct style effect. The lower the opacity, the more the transparent effect is applied

Examples: "0.5"
overflow string

If hidden, any styles flowing outside of a component's bounds will be invisible

Examples: "hidden"
paddingBottom string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
paddingLeft string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
position string
Examples: "relative", "absolute", "fixed", "static"
required string
shadow string | boolean

Applies a box shadow effect

textColor string
Examples: ""0x000000""
pattern=^(0x)[a-zA-Z0-9]+$
textIndent string
top string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
width string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
zIndex string

Applies a level of precedence/importance to a component. The higher the zIndex the higher level the component will be placed. For example, if a child 3 levels down applies a higher zIndex than the parent, then the child will appear to be on top in the page

Examples: ""1000""
BaseDataModel Record<string, object>
2 nested properties
Config object
23 nested properties
android object
apiCheck object
apiHost string
apiPort string
Examples: "443"
appApiHost string
cadlBaseUrl string
cadlMain string
Examples: "cadlEndpoint.yml"
cadlVersion object
connectiontimeout string
Examples: "5"
debug string | object
elasticClient object
ios object
isGetPosition enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
keywords string[]
loadingLevel number
Examples: "1"
log string
myBaseUrl string
searchLink object
syncHost string
timestamp number
Examples: 5272021
viewWidthHeightRatio object
web object
webApiHost string
Global object
BasePage object
Config object
23 nested properties
android object
1 nested properties
cadlVersion object
apiCheck object
apiHost string
apiPort string
Examples: "443"
appApiHost string
cadlBaseUrl string
cadlMain string
Examples: "cadlEndpoint.yml"
cadlVersion object
connectiontimeout string
Examples: "5"
debug string | object
elasticClient object
ios object
1 nested properties
cadlVersion object
isGetPosition enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
keywords string[]
loadingLevel number
Examples: "1"
log string
myBaseUrl string
searchLink object
syncHost string
timestamp number
Examples: 5272021
viewWidthHeightRatio object
2 nested properties
max number
Examples: 0.56
min number
Examples: 0.7
web object
1 nested properties
cadlVersion object
webApiHost string
Global object

This can be accessed and mutated by any object at any time

RootConfig object
android object
1 nested properties
cadlVersion object
2 nested properties
stable string
Examples: "0.56d"
test string
Examples: "0.56d"
apiCheck object
apiHost string
apiPort string
Examples: "443"
appApiHost string
cadlBaseUrl string
cadlMain string
Examples: "cadlEndpoint.yml"
cadlVersion object
connectiontimeout string
Examples: "5"
debug string | object
elasticClient object
ios object
1 nested properties
cadlVersion object
2 nested properties
stable string
Examples: "0.56d"
test string
Examples: "0.56d"
isGetPosition enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
keywords string[]
loadingLevel number
Examples: "1"
log string
myBaseUrl string
searchLink object
syncHost string
timestamp number
Examples: 5272021
viewWidthHeightRatio object
2 nested properties
max number
Examples: 0.56
min number
Examples: 0.7
web object
1 nested properties
cadlVersion object
2 nested properties
stable string
Examples: "0.56d"
test string
Examples: "0.56d"
webApiHost string
RootEvalReference string

Mutates the value at the root referenced path after receiving its result

RootReference string

A reference whose scope is at the global level

SelectOptions string | number[]

Options for a select component. These are the items that appear in the drop down menu when interacting with a select component

Style object
align string

The alignment in a block. If align is horizontal, siblings will align horizontally, vice versa. This is functionally equivalent to the "axis" keyword

Examples: "centerX", "centerY"
axis string

The axis in a block. If axis is horizontal, siblings will align horizontally, vice versa. This was previously used in list/listItem components

Examples: "horizontal", "vertical"
backgroundColor string
Examples: ""0x030303""
border string | object

Border styles

borderBottom string
borderColor string
Examples: ""0x000000""
borderRadius string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
borderWidth string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
boxShadow string

Applies a box shadow style effect

boxSizing string
Examples: "border-box", "content-box"
color string
Examples: ""0x000000""
fontFamily string
Examples: "Arial", "Courier New", "Verdana", "Times New Roman", "Consolas", "Helvetica"
fontSize string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
fontStyle string
fontWeight number | string
height string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
isEditable enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
isHidden enum

A boolean value is either one of "true", true, "false", or false

Values: "true" "false" true false
justifyContent string
Examples: "flex-start", "center", "flex-end", "space-around"
left string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
letterSpacing string

Spacing between each letter

lineHeight string

Spacing between each line

margin string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
marginTop string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
opacity number

Applies a transparenct style effect. The lower the opacity, the more the transparent effect is applied

Examples: "0.5"
overflow string

If hidden, any styles flowing outside of a component's bounds will be invisible

Examples: "hidden"
paddingBottom string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
paddingLeft string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
position string
Examples: "relative", "absolute", "fixed", "static"
required string
shadow string | boolean

Applies a box shadow effect

textColor string
Examples: ""0x000000""
pattern=^(0x)[a-zA-Z0-9]+$
textIndent string
top string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
width string

A measurement adaptive to the size of the viewport

Examples: ""0"", ""0.1"", ""1""
zIndex string

Applies a level of precedence/importance to a component. The higher the zIndex the higher level the component will be placed. For example, if a child 3 levels down applies a higher zIndex than the parent, then the child will appear to be on top in the page

Examples: ""1000""
Text string | If

Used to display text in the user interface. Most commonly used in label components

TextAlign TextAlignEnum | TextAlignObject
TextAlignEnum string
Examples:
  • "left"
  • "center"
  • "centerX"
  • "right"
TextAlignObject object
x string
Examples: "left", "center", "centerX", "right"
y string
Examples: "center"
TextBoard object[]

A component that contains children of text that are positioned inline (side by side)

UserEvent object | Reference

An event in the form of an ActionChain that triggers from user interactions, like onClick and onFocus

Value string | NoodlUnit | number | object | array | Reference | null | If | object

A valid value in accordance to the noodl specification

ViewTag string

An identifier which is used to bind a component and an action together. Actions can define a viewTag that invokes certain behavior towards a component. The component must also contain the same viewTag key/value. If multiple components have the same viewTag, then the action will effect multiple components