> For the complete documentation index, see [llms.txt](https://appeggiohelp.gitbook.io/appeggio-help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://appeggiohelp.gitbook.io/appeggio-help/references.md).

# References

## Predefined Function List

### Application Functions

<table><thead><tr><th width="247">Function</th><th>Description</th></tr></thead><tbody><tr><td>app-url</td><td>Returns the app URL.</td></tr><tr><td>color</td><td>Returns the #value.</td></tr><tr><td>email-form</td><td>Sends an email containing the selected data.</td></tr><tr><td>has-login</td><td>Returns true if the app allows users to log in.</td></tr><tr><td>is-authd-and-no-dash</td><td>Returns true if the user has logged in and the app does NOT have a dashboard.</td></tr><tr><td>is-authd-and-has-dash</td><td>Returns true if the user has logged in and the app DOES have a dashboard.</td></tr><tr><td>is-dark-mode</td><td>Returns true if the device is in dark mode.</td></tr><tr><td>is-home-page</td><td>Returns true if the current page is the home page.</td></tr><tr><td>is-light-mode</td><td>Returns true if the device is in light mode.</td></tr><tr><td>is-right-to-left</td><td>Returns true if the app is displaying right-to-left text.</td></tr><tr><td>loading</td><td>Answers a state model, indicating if the app is loading or not</td></tr><tr><td>is-loading</td><td>Returns true if the app is in a loading state.</td></tr><tr><td>set-loading</td><td>Sets the loading state of the app.</td></tr><tr><td>location-path</td><td>Returns the browser's location path.</td></tr><tr><td>navigate-to</td><td>Navigate to a provided URL.</td></tr><tr><td>pageargs</td><td>Returns the parameters provided to the page.</td></tr><tr><td>clear-page-error</td><td>Clears any page error.</td></tr><tr><td>has-page-error</td><td>Returns true if there is a page error.</td></tr><tr><td>page-error</td><td>Returns details of a page error.</td></tr><tr><td>set-page-error</td><td>Sets a page error to be displayed to the user.</td></tr><tr><td>page-path</td><td>Returns the URL of the current page.</td></tr><tr><td>page-title</td><td>Returns the title of the current page.</td></tr><tr><td>previous-page-path</td><td>Returns the URL of the previous page.</td></tr><tr><td>previous-page-title</td><td>Returns the title of the previous page.</td></tr><tr><td>reload</td><td>Reloads the application with a new session.</td></tr></tbody></table>

### API Connection Functions

<table><thead><tr><th width="248">Function</th><th>Description</th></tr></thead><tbody><tr><td>get-from-api</td><td>Makes an HTTP get request to an API. </td></tr><tr><td>post-to-api</td><td>Makes an HTTP post request to an API. </td></tr><tr><td>put-to-api</td><td>Makes an HTTP put request to an API. </td></tr></tbody></table>

### Currency Functions

<table><thead><tr><th width="248">Function</th><th>Description</th></tr></thead><tbody><tr><td>price-format</td><td>Sets the display format.</td></tr></tbody></table>

### Data and State Functions

<table><thead><tr><th width="246">Function</th><th>Description</th></tr></thead><tbody><tr><td>add-table-row</td><td>Creates a new row in the selected database table.</td></tr><tr><td>json-get</td><td></td></tr><tr><td>json-wait-get</td><td></td></tr><tr><td>query</td><td>Performs a database lookup based on a set of parameters.</td></tr><tr><td>form-submit</td><td>Submits the data contained in a form via a Process.</td></tr><tr><td>sget</td><td>Returns the state of the application.</td></tr><tr><td>sest</td><td>Sets the state of the application.</td></tr><tr><td>toggle</td><td></td></tr><tr><td>as-keyword</td><td>Returns the input as a data key.</td></tr></tbody></table>

### Date and Time Functions

<table><thead><tr><th width="248">Function</th><th>Description</th></tr></thead><tbody><tr><td>date-now</td><td>Returns the current timestamp.</td></tr><tr><td>date-format</td><td>Sets the date and time format to be displayed.</td></tr></tbody></table>

### Device Functions

<table><thead><tr><th width="245">Function</th><th>Description</th></tr></thead><tbody><tr><td>is-apple</td><td>Returns true if the device is an Apple device.</td></tr><tr><td>is-android</td><td>Returns true if the device is an Android device.</td></tr><tr><td>is-mobile</td><td>Returns true if the device is a mobile device of any type.</td></tr><tr><td>screen-lte</td><td>Returns true if the device's screen size is &#x3C;= (less than or equal to) the stipulated size.</td></tr><tr><td>screen-gte</td><td>Returns true if the device's screen size is >= (greater than or equal to) the stipulated size.</td></tr><tr><td>screen-is</td><td>Returns true if the device's screen size is equal to the stipulated size.</td></tr></tbody></table>

### Format Functions

<table><thead><tr><th width="245">Function</th><th>Description</th></tr></thead><tbody><tr><td>number-format</td><td>Sets the number format to be displayed.</td></tr></tbody></table>

### Logic Functions

<table><thead><tr><th width="245">Function</th><th>Description</th></tr></thead><tbody><tr><td>=</td><td>Returns true if two variables are the same.</td></tr><tr><td>and</td><td></td></tr><tr><td>answer</td><td></td></tr><tr><td>assoc</td><td></td></tr><tr><td>atom</td><td></td></tr><tr><td>atom?</td><td></td></tr><tr><td>concat</td><td></td></tr><tr><td>cond</td><td></td></tr><tr><td>conj</td><td></td></tr><tr><td>cons</td><td></td></tr><tr><td>contains?</td><td></td></tr><tr><td>count</td><td></td></tr><tr><td>deref</td><td></td></tr><tr><td>dissoc</td><td></td></tr><tr><td>empty?</td><td>Returns true if the value is empty.</td></tr><tr><td>false?</td><td>Returns true if the value is false.</td></tr><tr><td>first</td><td>Returns the first value in a list.</td></tr><tr><td>fn?</td><td></td></tr><tr><td>get</td><td></td></tr><tr><td>hash-map</td><td></td></tr><tr><td>keys</td><td></td></tr><tr><td>keyword</td><td></td></tr><tr><td>keyword?</td><td></td></tr><tr><td>list</td><td></td></tr><tr><td>list?</td><td></td></tr><tr><td>macro?</td><td></td></tr><tr><td>map?</td><td></td></tr><tr><td>nil?</td><td></td></tr><tr><td>nth</td><td></td></tr><tr><td>number?</td><td>Returns true if the value is a number.</td></tr><tr><td>reset!</td><td></td></tr><tr><td>rest</td><td>Returns all the values in a list after the first value.</td></tr><tr><td>seq</td><td></td></tr><tr><td>sequential?</td><td></td></tr><tr><td>string?</td><td>Returns true if the value is a string.</td></tr><tr><td>swap!</td><td></td></tr><tr><td>symbol</td><td></td></tr><tr><td>symbol?</td><td></td></tr><tr><td>throw</td><td></td></tr><tr><td>true?</td><td>Returns true if the value is true.</td></tr><tr><td>vals</td><td></td></tr><tr><td>vec</td><td></td></tr><tr><td>vector</td><td></td></tr><tr><td>vector?</td><td></td></tr></tbody></table>

### Math Functions

<table><thead><tr><th width="244">Function</th><th>Description</th></tr></thead><tbody><tr><td>&#x3C;</td><td>Less than</td></tr><tr><td>&#x3C;=</td><td>Less than or equal to</td></tr><tr><td>></td><td>Greater than</td></tr><tr><td>>=</td><td>Greater than or equal to</td></tr><tr><td>+</td><td>Add</td></tr><tr><td>-</td><td>Subtract</td></tr><tr><td>*</td><td>Multiply</td></tr><tr><td>/</td><td>Divide</td></tr></tbody></table>

### Process Functions

<table><thead><tr><th width="244">Function</th><th>Description</th></tr></thead><tbody><tr><td>run-process</td><td>Runs a process with a map of inputs.</td></tr><tr><td>task-save</td><td>Stores the set of keys and values into the process input and answers the input.</td></tr><tr><td>task-pop</td><td>Gets a previous set of keys and values from the stack and answers them.</td></tr><tr><td>task-push</td><td>Stores a set of keys and values onto a stack for future use (pop) and answers the input.</td></tr></tbody></table>

### Security Functions

<table><thead><tr><th width="248">Function</th><th>Description</th></tr></thead><tbody><tr><td>apg-log-in</td><td>Log in as a customer using an email and password.</td></tr><tr><td>apg-sign-up</td><td>Signs up a new customer using an email and password.</td></tr><tr><td>apg-verify-email</td><td>Verifies a user's email using a verification code.</td></tr><tr><td>create-verification-code</td><td>Creates a simple random verification code.</td></tr><tr><td>is-authd</td><td>Returns true if the user has logged in successfully.</td></tr><tr><td>not-authd</td><td>Returns true if the user is not logged in.</td></tr><tr><td>in-role</td><td>Check the role type of the current user.</td></tr><tr><td>in-role-gte</td><td>Checks the role type of the current user is >= (greater than or equal to) the required role.</td></tr><tr><td>in-role-lte</td><td>Checks the role type of the current user is &#x3C;= (less than or equal to) the required role.</td></tr></tbody></table>

### Text Functions

<table><thead><tr><th width="250">Function</th><th>Description</th></tr></thead><tbody><tr><td>text-join</td><td>Joins together a list of text items separated by a delimiter.</td></tr><tr><td>text-length</td><td>Returns the number of characters in a text string.</td></tr><tr><td>text-subtext</td><td>Returns the number of characters in a part of a text string. You can set the start and end positions.</td></tr></tbody></table>

### Other Functions

<table><thead><tr><th width="249">Function</th><th>Description</th></tr></thead><tbody><tr><td>as-obj</td><td></td></tr><tr><td>is-valid-email</td><td>Returns true if the email is valid.</td></tr><tr><td>is-valid-password</td><td>Returns true if the password is valid.</td></tr></tbody></table>

## Base Part List&#x20;

The following list provides the name and description of the base part and a link to its help page. The linked help pages have examples of how to add, use, and style the part.

### Action Parts

<table><thead><tr><th width="248">Part</th><th>Description</th></tr></thead><tbody><tr><td><a href="/appeggio-help/frequently-used-parts/buttons.md">Button</a></td><td>Buttons allow the user to take actions or make choices.</td></tr><tr><td><a href="/appeggio-help/base-parts/actions/choices.md">Choices</a></td><td>A toggle allowing the user to select an item among choices.</td></tr><tr><td><a href="/appeggio-help/base-parts/actions/dropdowns.md">Dropdown</a></td><td>A dropdown can open a menu or any other element when the button, or other activator, is clicked.</td></tr><tr><td><a href="/appeggio-help/base-parts/actions/modals.md">Modal</a></td><td>A modal is used to show a dialog or a box when you click a button or a link.</td></tr><tr><td><a href="/appeggio-help/base-parts/actions/social-share.md">Social Share</a></td><td>Allows you to share content with social media platforms quickly.</td></tr><tr><td><a href="/appeggio-help/base-parts/actions/swaps.md">Swap</a></td><td>Swaps allow you to toggle the visibility of two elements, by clicking on them.</td></tr></tbody></table>

### Data Display Parts

<table><thead><tr><th width="249">Part</th><th>Description</th></tr></thead><tbody><tr><td><a href="/appeggio-help/base-parts/display/accordions.md">Accordion</a></td><td>An accordion displays a list of expandable items.  They are sometimes known as expansion panels or collapsible panels.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/audio.md">Audio</a></td><td>The Audio part allows you to insert audio files, allowing users to listen to pieces of content.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/avatars-and-avatar-groups.md">Avatar and Avatar Group</a></td><td>An avatar is typically used to display circular user profile pictures, but can also display icons and text.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/badges.md">Badge</a></td><td>Badges are small visual elements, that convey information or characteristics to inform the user of the status of specific data.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/cards.md">Card</a></td><td>Cards are used to group and display content in an easily readable way. They are versatile containers that house other parts.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/carousels.md">Carousel</a></td><td>Carousels are UI components displaying a series of content items, such as images, text, or videos, cyclically.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/chat.md">Chat</a></td><td>Chat bubbles are used to show a line of conversation. Chat bubbles can include data, such as the author's image, name, time, and status such as 'delivered' or 'seen'.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/collapses.md">Collapse</a></td><td>A collapse is used for showing and hiding content.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/countdown.md">Countdown</a></td><td>A countdown gives you a transition effect of changing numbers.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/gravatars.md">Gravatar</a></td><td>A Gravatar (Globally Recognized Avatar) allows users to have a single, universally recognized avatar image associated with their email address.</td></tr><tr><td><a href="/appeggio-help/frequently-used-parts/icons.md">Icon</a></td><td>The icon part provides a large set of glyphs to provide context to various aspects of your app.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/keyboard-parts.md">Keyboard</a></td><td>Keyboard parts resemble keys on a keyboard and are used to display keyboard shortcuts.</td></tr><tr><td><a href="/appeggio-help/frequently-used-parts/lists.md">List</a></td><td>A list is a part for displaying a list of items. Lists can help organize content into easily scannable and digestible chunks.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/parallax.md">Parallax</a></td><td>A parallax part creates an effect where a page's background moves at a different speed than the foreground content.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/stats.md">Stats</a></td><td>Stats are used to display numbers and data in a box.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/tables.md">Table</a></td><td>Tables are structured layouts that organize data into rows and columns, forming a grid.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/time.md">Time</a></td><td>A part for displaying time data in a range of different formats.</td></tr><tr><td><a href="/appeggio-help/base-parts/display/timelines.md">Timeline</a></td><td>The timeline component shows a list of events in chronological order.</td></tr><tr><td><a href="/appeggio-help/frequently-used-parts/videos.md">Video</a></td><td>A part for displaying video files.</td></tr><tr><td><a href="/appeggio-help/frequently-used-parts/videos.md">YouTube Video</a></td><td>A part for embedding YouYube videos.</td></tr></tbody></table>

### Navigation Parts

<table><thead><tr><th width="250">Part</th><th>Description</th></tr></thead><tbody><tr><td><a href="/appeggio-help/base-parts/navigation/bottom-navigation.md">Bottom Navigation</a></td><td>A navigation bar that is positioned at the bottom of a web or mobile app, allowing navigation between primary screens.</td></tr><tr><td><a href="/appeggio-help/base-parts/navigation/breadcrumbs.md">Breadcrumbs</a></td><td>Breadcrumbs help users to navigate through the website.</td></tr><tr><td><a href="/appeggio-help/customising-and-formatting/adding-links.md">Link</a></td><td>A link part links to another page, and adds an underline style to the link.</td></tr><tr><td><a href="/appeggio-help/frequently-used-parts/menus.md">Menu</a></td><td>A menu is used to display a list of links vertically or horizontally.</td></tr><tr><td><a href="/appeggio-help/base-parts/navigation/navbars.md">Navbar</a></td><td>A navbar is used to show a navigation bar on the top of the page.</td></tr><tr><td><a href="/appeggio-help/base-parts/navigation/pagination.md">Pagination</a></td><td>Pagination is a group of buttons that allow the user to navigate between a set of related content.</td></tr><tr><td><a href="/appeggio-help/base-parts/navigation/steps.md">Steps</a></td><td>Steps can be used to visually represent a sequence of steps or stages in a process.</td></tr><tr><td><a href="/appeggio-help/base-parts/navigation/tabs.md">Tabs</a></td><td>Tabs can be used to show a list of links or content in a tabbed format.</td></tr></tbody></table>

### Feedback Parts

<table><thead><tr><th width="250">Part</th><th>Description</th></tr></thead><tbody><tr><td><a href="/appeggio-help/base-parts/feedback/alerts.md">Alert</a></td><td>Alerts are visual notifications that inform users about important messages, events, or actions that require their attention.</td></tr><tr><td><a href="/appeggio-help/base-parts/feedback/loading.md">Loading</a></td><td>Loading parts show an animation to indicate that something is loading.</td></tr><tr><td><a href="/appeggio-help/base-parts/feedback/progress.md">Progress</a></td><td>Progress parts can be used to show the progress of a task or to show the passing of time.</td></tr><tr><td><a href="/appeggio-help/base-parts/feedback/skeleton.md">Skeleton</a></td><td>A skeleton part can be used to show the loading state of a component and is a minimalist representation of the UI that will be displayed once the content is fully loaded.</td></tr><tr><td><a href="/appeggio-help/base-parts/feedback/toast.md">Toast</a></td><td>A toast is a wrapper to stack elements, positioned on the corner of a page. They are small, non-intrusive messages that appear on the screen to provide feedback to users.</td></tr><tr><td><a href="/appeggio-help/base-parts/feedback/tooltips.md">Tooltip</a></td><td>Tooltips are small, contextual messages or hints that appear when a user hovers over an element.</td></tr></tbody></table>

### Data Input Parts

<table><thead><tr><th width="252">Part</th><th>Description</th></tr></thead><tbody><tr><td><a href="/appeggio-help/forms/checkboxes.md">Checkbox</a></td><td>Checkboxes are used to select or deselect a value. They are commonly used in forms to allow users to make one or more selections from a list of options and typically appear as small square boxes.</td></tr><tr><td><a href="/appeggio-help/forms/file-input.md">File input</a></td><td>A file input part is an input field for uploading files.</td></tr><tr><td><a href="/appeggio-help/forms.md">Form</a></td><td>A form is a container for individual form parts.</td></tr><tr><td><a href="/appeggio-help/forms/radio-buttons.md">Radio buttons</a></td><td>Radio buttons are parts used in forms to allow users to select one option from a list of choices.</td></tr><tr><td><a href="/appeggio-help/forms/ranges.md">Range</a></td><td>A range, sometimes known as a range slider, is used to select a value by sliding a handle.</td></tr><tr><td><a href="/appeggio-help/forms/rating.md">Rating</a></td><td>Ratings are a form of user-generated feedback to indicate the quality, satisfaction, or preference of a product, service, or content.</td></tr><tr><td><a href="/appeggio-help/forms/selects.md">Select</a></td><td>A select part is used to pick a value from a list of options.</td></tr><tr><td><a href="/appeggio-help/forms/inputs-and-text-input-areas.md">Text Input and Text Area</a></td><td>An input is a simple input field where users can type in text and numerical responses. A text input area allows more space for free text over multiple lines.</td></tr><tr><td><a href="/appeggio-help/forms/toggles.md">Toggle</a></td><td>A toggle is a switch button.</td></tr></tbody></table>

### Layout Parts

<table><thead><tr><th width="250">Part</th><th>Description</th></tr></thead><tbody><tr><td><a href="/appeggio-help/base-parts/layout/artboard.md">Artboard</a></td><td>An artboard provides a fixed-size container to display demo content across a range of mobile sizes.</td></tr><tr><td><a href="/appeggio-help/layout-of-your-app/rows-and-columns.md">Column</a></td><td>A column is a vertical subdivision, usually housed within a row.</td></tr><tr><td><a href="/appeggio-help/layout-of-your-app/containers.md">Container</a></td><td>A container is a part that houses other parts. It is a fundamental element used to wrap and hold other elements such as text, images, and other content.</td></tr><tr><td><a href="/appeggio-help/base-parts/layout/dividers.md">Divider</a></td><td>A divider is used to separate content vertically or horizontally.</td></tr><tr><td><a href="/appeggio-help/base-parts/layout/drawers.md">Drawer</a></td><td>A drawer is sometimes also known as a side drawer. A drawer is a grid that can show or hide a sidebar on the left or right side of the page.</td></tr><tr><td><a href="/appeggio-help/base-parts/layout/footers.md">Footer</a></td><td>A footer is a designated area appearing at the bottom of a webpage or app screen. Footers often contain a logo, copyright notice, and links to other pages.</td></tr><tr><td><a href="/appeggio-help/layout-of-your-app/groups.md">Group</a></td><td>A group is a basic part that houses other parts. A group does not have a constrained width and will fill the width of its parent container.</td></tr><tr><td><a href="/appeggio-help/frequently-used-parts/images.md">Image</a></td><td>An image part provides a visual representation. Images can be uploaded in a variety of formats including .webp, .png, .jpg, .svg and .gif</td></tr><tr><td><a href="/appeggio-help/base-parts/layout/indicators.md">Indicator</a></td><td>An indicator is a part that places an element on the corner of another element.</td></tr><tr><td><a href="/appeggio-help/base-parts/layout/joins.md">Join</a></td><td>A join is a container for grouping multiple items. It is most commonly used to group buttons, but a join can also group accordion panels, inputs, or other parts.</td></tr><tr><td><a href="/appeggio-help/base-parts/layout/mask.md">Mask</a></td><td>A mask is a container that houses an image, and crops the image to various shapes.</td></tr><tr><td><a href="/appeggio-help/layout-of-your-app/panels.md">Panels</a></td><td>A panel is used to divide your page into sections. Panels are positioned alongside the main content of a page, often on the left or right side.</td></tr><tr><td><a href="/appeggio-help/layout-of-your-app/rows-and-columns.md">Row</a></td><td>A row is a horizontal grouping of content on a page. A row typically spans the full width of the container it's within, dividing the space horizontally.</td></tr><tr><td><a href="/appeggio-help/base-parts/layout/spacer.md">Spacer</a></td><td>A spacer is a part that adds space between other parts.</td></tr><tr><td><a href="/appeggio-help/base-parts/layout/stacks.md">Stack</a></td><td>A stack visually puts elements on top of each other. This design pattern is often used to create visual effects where parts partially overlap, giving a sense of depth and layering.</td></tr></tbody></table>

### Mockup Parts

<table><thead><tr><th width="249">Part</th><th>Description</th></tr></thead><tbody><tr><td><a href="/appeggio-help/base-parts/mockups/browser.md">Browser</a></td><td>A browser part shows a box that looks like a browser window.</td></tr><tr><td><a href="/appeggio-help/base-parts/mockups/code.md">Code</a> </td><td>A code mockup is used to show a block of code in a box that looks like a code editor.</td></tr><tr><td><a href="/appeggio-help/base-parts/mockups/phone.md">Phone</a></td><td>A phone part is a fixed-size container to mockup the contents of an iPhone.</td></tr><tr><td><a href="/appeggio-help/base-parts/mockups/window.md">Window</a></td><td><p>A window part shows a box that looks like an operating system window.</p><p></p></td></tr></tbody></table>
