{"id":22454779,"url":"https://github.com/autosseyai/prxmpt","last_synced_at":"2025-08-02T02:31:51.332Z","repository":{"id":192938117,"uuid":"683549730","full_name":"AutosseyAI/prxmpt","owner":"AutosseyAI","description":"Prompt Crafting with JSX","archived":false,"fork":false,"pushed_at":"2023-10-04T20:41:17.000Z","size":783,"stargazers_count":34,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-21T04:49:40.326Z","etag":null,"topics":["ai","jsx","openai","prompt","prompt-engineering","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AutosseyAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-26T23:40:42.000Z","updated_at":"2025-07-05T21:28:40.000Z","dependencies_parsed_at":"2023-10-05T03:36:55.504Z","dependency_job_id":null,"html_url":"https://github.com/AutosseyAI/prxmpt","commit_stats":null,"previous_names":["autosseyai/prxmpt"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/AutosseyAI/prxmpt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutosseyAI%2Fprxmpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutosseyAI%2Fprxmpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutosseyAI%2Fprxmpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutosseyAI%2Fprxmpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AutosseyAI","download_url":"https://codeload.github.com/AutosseyAI/prxmpt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutosseyAI%2Fprxmpt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268327507,"owners_count":24232677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","jsx","openai","prompt","prompt-engineering","typescript"],"created_at":"2024-12-06T07:09:06.281Z","updated_at":"2025-08-02T02:31:50.854Z","avatar_url":"https://github.com/AutosseyAI.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\" align=\"center\"\u003e\n  \u003ch1\u003e𝕡𝕣𝕩𝕞𝕡𝕥\u003c/h1\u003e\n  \u003ca href=\"https://coveralls.io/github/AutosseyAI/prxmpt\"\u003e\n    \u003cimg alt=\"Coverage Status\" src=\"https://img.shields.io/coveralls/github/AutosseyAI/prxmpt/badge.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://npmjs.com/package/@autossey/prxmpt\"\u003e\n    \u003cimg alt=\"NPM\" src=\"https://img.shields.io/npm/v/@autossey/prxmpt.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/AutosseyAI/prxmpt\"\u003e\n    \u003cimg alt=\"TypeScript\" src=\"https://img.shields.io/github/languages/top/AutosseyAI/prxmpt.svg\"\u003e\n  \u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cblockquote align=\"center\"\u003e\u003ci\u003e-- Prompt Crafting with JSX --\u003c/i\u003e\u003c/blockquote\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@autossey/prxmpt\"\u003enpm\u003c/a\u003e\n  \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n  \u003ca href=\"https://github.com/AutosseyAI/prxmpt\"\u003eGitHub\u003c/a\u003e\n  \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n  \u003ca href=\"https://github.com/AutosseyAI/prxmpt/issues/new\"\u003eIssues\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\nPrxmpt is like _\"Tailwind for Prompt Engineering\"_. It provides a set of utilities for formatting strings with JSX.\n\nPrxmpt is designed for shaping the input to LLMs, and includes powerful elements such as [\\\u003cpriority\\\u003e](#priority) for managing tokens. However, Prxmpt also provides both Markdown and HTML elements, making it perfect for formatting LLM outputs for end users as well.\n\n\u003ch2 id=\"why-jsx\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝\u003c/a\u003e\u003c/div\u003eWhy JSX?\u003c/h2\u003e\n\n1. 📖 **Readability** - JSX gives us more control over whitespace, enabling more readable code.\n2. 🎛️ **Control** - With built-in props such as `hide`, we can easily control the text we display without ternaries.\n3. 📦 **Reusability** - Prxmpt components take props just like normal JSX components, making them easy to reuse.\n\n```tsx\nconst text = (\n  \u003clined\u003e\n    \u003ch1\u003eThis is the first line.\u003c/h1\u003e\n    \u003ctext hide={hideLine2}\u003eHere's a second line.\u003c/text\u003e\n    \u003cempty /\u003e\n    \u003ctext\u003e\n      This is a longer line, so we'll break the text tag.\n      We can even start another line here, and a space will be added.\n    \u003c/text\u003e\n  \u003c/lined\u003e\n);\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ci\u003eResult (\u003ccode\u003ehideLine2=false\u003c/code\u003e)\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  # This is the first line.\n  Here's a second line.\n\n  This is a long line, so we'llbreak the text tag We can even start another line here, and a space will be added.\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ci\u003eResult (\u003ccode\u003ehideLine2=true\u003c/code\u003e)\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  # This is the first line.\n\n  This is a long line, so we'll break the text tag We can even start another line here, and a space will be added.\n  ```\n\u003c/details\u003e\n\nCompare this to an equivalent using template literals:\n\n```ts\nconst text = `# This is the first line.${hideLine2 ? \"\\nHere's a second line.\" : \"\"}\\n\\nThis is a longer line, so by now we're off the page. We can even start another line here, but I wouldn't recommend it.`;\n```\n\n\u003ch2 id=\"installation\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝\u003c/a\u003e\u003c/div\u003eInstallation\u003c/h2\u003e\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\n    \u003ca href=\"https://www.npmjs.com/package/@autossey/prxmpt\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/npm-CB3837?logo=npm\u0026logoColor=white\" alt=\"NPM\" /\u003e\n    \u003c/a\u003e\n  \u003c/summary\u003e\n\n```sh\nnpm install @autossey/prxmpt\n```\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\n    \u003ca href=\"https://yarnpkg.com/package/@autossey/prxmpt\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/yarn-2C8EBB?logo=yarn\u0026logoColor=white\" alt=\"Yarn\" /\u003e\n    \u003c/a\u003e\n  \u003c/summary\u003e\n\n```sh\nyarn add @autossey/prxmpt\n```\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\n    \u003cimg src=\"https://img.shields.io/badge/pnpm-F69220?logo=pnpm\u0026logoColor=white\" alt=\"PNPM\" /\u003e\n  \u003c/summary\u003e\n\n```sh\npnpm add @autossey/prxmpt\n```\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\n    \u003cimg src=\"https://img.shields.io/badge/bun-EE81C3?logo=bun\u0026logoColor=white\" alt=\"Bun\" /\u003e\n  \u003c/summary\u003e\n\n```sh\nbun add @autossey/prxmpt\n```\n\n\u003c/details\u003e\n\n\u003ch2 id=\"getting-started\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝\u003c/a\u003e\u003c/div\u003eGetting Started\u003c/h2\u003e\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003cb\u003eAutomatic Mode\u003c/b\u003e\u003c/summary\u003e\n\nPrxmpt provides a base `tsconfig.json` that you can extend:\n\n```json\n{\n  \"extends\": \"@autossey/prxmpt/tsconfig.json\"\n}\n```\n\n\u003e NOTE: Bun doesn't seem to detect Prxmpt correctly when using the \"extends\" method.\n\nAlternatively, you can simply add the following fields to your `tsconfig.json`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"jsx\": \"react-jsx\",\n    \"jsxImportSource\": \"@autossey/prxmpt\",\n    \"module\": \"NodeNext\"\n  }\n}\n```\n\nYou should be able to use Prxmpt elements now, without importing:\n\n```tsx\nexport const MyComponent = () =\u003e (\n  \u003ctext\u003eHello, World!\u003c/text\u003e\n);\n```\n\n\u003e If using Prxmpt with React, add the following line at the top of each file that uses Prxmpt instead:\n\u003e ```tsx\n\u003e /** @jsxImportSource @autossey/prxmpt */\n\u003e\n\u003e export const MyComponent = () =\u003e (\n\u003e   \u003ctext\u003eHello, World!\u003c/text\u003e\n\u003e );\n\u003e ```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eClassic Mode\u003c/b\u003e\u003c/summary\u003e\n\nTo use Prxmpt in classic mode, you'll need to set the following fields in your `tsconfig.json`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"jsx\": \"react\",\n    \"jsxFactory\": \"Prxmpt.createElement\",\n    \"jsxFragmentFactory\": \"Prxmpt.Fragment\"\n  }\n}\n```\nAdditionally, you'll need to import `Prxmpt` in each file you use it:\n\n```tsx\nimport Prxmpt from \"@autossey/prxmpt\";\n\nexport const MyComponent = () =\u003e (\n  \u003ctext\u003eHello, World!\u003c/text\u003e\n);\n```\n\n\u003c/details\u003e\n\n\u003ch2 id=\"examples\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝\u003c/a\u003e\u003c/div\u003eExamples\u003c/h2\u003e\n\nSeveral examples are provided in the [examples](https://github.com/AutosseyAI/prxmpt/tree/main/examples) directory:\n\n**Element Usage Examples:**\n- [kitchen sink](https://github.com/AutosseyAI/prxmpt/blob/main/examples/kitchen-sink/source/Prompt.tsx) (Showcases many elements)\n- [priority](https://github.com/AutosseyAI/prxmpt/tree/main/examples/priority/) (A few examples of the `\u003cpriority\u003e` element)\n\n**Setup Examples (TypeScript):**\n- [bun](./examples/bun/)\n- [bun (classic mode)](./examples/bun-classic/)\n- [Next.js](./examples/next/)\n- [swc](./examples/swc/)\n- [swc (classic mode)](./examples/swc-classic/)\n- [ts-node](./examples/ts-node/)\n- [ts-node (classic mode)](./examples/ts-node-classic/)\n- [tsc](./examples/tsc/)\n- [tsc (classic mode)](./examples/tsc-classic/)\n\n**Setup Examples (JavaScript):**\n- [node --loader @autossey/prxmpt](./examples/node-loader/)\n- [swc](./examples/swc-js/)\n- [swc (classic mode)](./examples/swc-js-classic/)\n\nFor examples of how to use specific elements, the [tests](https://github.com/AutosseyAI/prxmpt/tree/main/test/) show more usecases.\n\n\u003ch2 id=\"elements\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝\u003c/a\u003e\u003c/div\u003eElements\u003c/h2\u003e\n\n- [Text Elements](#text-elements)\n    - [`\u003ctext\u003e`](#text)\n  - [Characters](#characters)\n    - [`\u003cempty\u003e`](#empty)\n    - [`\u003cspace\u003e`](#space)\n    - [`\u003ctab\u003e`](#tab)\n    - [`\u003cellipsis\u003e`](#ellipsis)\n    - [`\u003cna\u003e` (n/a)](#na)\n  - [Brackets](#brackets)\n    - [`\u003cparens\u003e` (Parenthesis)](#parenthesis)\n    - [`\u003csquare\u003e` (Square Bracket)](#square-bracket)\n    - [`\u003ccurly\u003e` (Square Bracket)](#curly-bracket)\n    - [`\u003cangle\u003e` (Angle Bracket)](#angle-bracket)\n  - [Quotes](#quotes)\n    - [`\u003csq\u003e` (Single Quote)](#single-quote)\n    - [`\u003cdq\u003e` (Double Quote)](#double-quote)\n    - [`\u003cbq\u003e` (Back Quote)](#back-quote)\n    - [`\u003ctsq\u003e` (Triple Single Quote)](#triple-single-quote)\n    - [`\u003ctdq\u003e` (Triple Double Quote)](#triple-double-quote)\n    - [`\u003ctbq\u003e` (Triple Back Quote)](#triple-back-quote)\n  - [Comments](#comments)\n    - [`\u003ccomment type=\"slash\"\u003e`](#slash-comment)\n    - [`\u003ccomment type=\"hash\"\u003e`](#hash-comment)\n    - [`\u003ccomment type=\"dash\"\u003e`](#dash-comment)\n    - [`\u003ccomment type=\"html\"\u003e`](#html-comment)\n  - [Sentences](#sentences)\n    - [`\u003cstate\u003e`](#state)\n    - [`\u003cask\u003e`](#ask)\n    - [`\u003cexclaim\u003e`](#exclaim)\n  - [Miscellaneous](#miscellaneous-text)\n    - [`\u003ckv\u003e` (Key-Value Pair)](#key-value-pair)\n- [HTML Elements](#html-elements)\n    - [`\u003ctag\u003e`](#tag)\n  - [Breaks](#breaks)\n    - [`\u003cbr\u003e` (Line Break)](#line-break)\n    - [`\u003chr\u003e` (Horizontal Rule)](#horizontal-rule)\n  - [Linking](#linking)\n    - [`\u003ca\u003e` (Anchor)](#anchor)\n    - [`\u003cimg\u003e` (Image)](#image)\n  - [Headings](#headings)\n    - [`\u003ch1\u003e`](#h1)\n    - [`\u003ch2\u003e`](#h2)\n    - [`\u003ch3\u003e`](#h3)\n    - [`\u003ch4\u003e`](#h4)\n    - [`\u003ch5\u003e`](#h5)\n    - [`\u003ch6\u003e`](#h6) \n  - [Lists](#lists)\n    - [`\u003cul\u003e` (Unordered List)](#unordered-list)\n    - [`\u003col\u003e` (Ordered List)](#ordered-list)\n    - [`\u003ccl\u003e` (Checkbox List)](#checkbox-list)\n    - [`\u003cdl\u003e` (Definition List)](#definition-list)\n  - [Styling](#styling)\n    - [`\u003ci\u003e` (Italic)](#italic)\n    - [`\u003cb\u003e` (Bold)](#bold)\n    - [`\u003cs\u003e` (Strikethrough)](#strikethrough)\n    - [`\u003ccode\u003e` (Code)](#code)\n  - [Miscellaneous](#miscellaneous-html)\n    - [`\u003cspan\u003e`](#span)\n    - [`\u003cp\u003e`](#paragraph)\n    - [`\u003cblockquote\u003e`](#blockquote)\n    - [`\u003cq\u003e`](#quote)\n    - [`\u003cpre\u003e`](#pre)\n- [Serialization Elements](#serialization-elements)\n  - [Primitives](#primitives)\n    - [`\u003cnum\u003e`](#num)\n  - [Dates](#dates)\n    - [`\u003cdatetime\u003e`](#datetime)\n    - [`\u003cdate\u003e`](#date)\n    - [`\u003ctime\u003e`](#time)\n    - [`\u003cyear\u003e`](#year)\n    - [`\u003cmonth\u003e`](#month)\n    - [`\u003cday\u003e`](#day)\n    - [`\u003chour\u003e`](#hour)\n    - [`\u003cminute\u003e`](#minute)\n    - [`\u003csecond\u003e`](#second)\n    - [`\u003cmillisecond\u003e`](#millisecond)\n    - [`\u003cduration\u003e`](#duration)\n  - [Objects](#objects)\n    - [`\u003cjson\u003e`](#json)\n    - [`\u003cyaml\u003e`](#yaml)\n- [Utility Elements](#utility-elements)\n  - [Casing](#casing)\n    - [`\u003cupper\u003e`](#upper)\n    - [`\u003clower\u003e`](#lower)\n    - [`\u003ccapital\u003e`](#capital)\n    - [`\u003ctitle\u003e`](#title)\n  - [Joins](#joins)\n    - [`\u003clined\u003e`](#lined)\n    - [`\u003cspaced\u003e`](#spaced)\n    - [`\u003ccsl\u003e` (Comma Separated List)](#csl)\n    - [`\u003cunion\u003e`](#union)\n    - [`\u003csectioned\u003e`](#sectioned)\n  - [Sets](#sets)\n    - [`\u003cand\u003e`](#and)\n    - [`\u003candor\u003e`](#andor)\n    - [`\u003cor\u003e`](#or)\n    - [`\u003cnor\u003e`](#nor)\n  - [Affixes](#affixes)\n    - [`\u003ctrim\u003e`](#trim)\n    - [`\u003cframe\u003e`](#frame)\n  - [Limiters](#limiters)\n    - [`\u003ccap\u003e`](#cap)\n    - [`\u003cpriority\u003e`](#priority)\n\n\u003ch2 id=\"exports\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝\u003c/a\u003e\u003c/div\u003eExports\u003c/h2\u003e\n\nThe following functions are also exported from Prxmpt:\n\n- [Rendering](#rendering)\n  - [`createElement`](#createelement)\n  - [`render`](#render)\n- [Children](#children)\n  - [`hasChildren`](#haschildren)\n  - [`isChildren`](#ischildren)\n- [Splitters](#splitters)\n  - [`split`](#split)\n  - [`paragraphs`](#paragraphs)\n  - [`lines`](#lines)\n  - [`spaces`](#spaces)\n  - [`words`](#words)\n  - [`commas`](#commas)\n  - [`chars`](#chars)\n\n\u003ch2 id=\"text-elements\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eText Elements\u003c/h2\u003e\n\n#### Text\n_`\u003ctext\u003e`_\n\nText is the base Prxmpt element. It returns its children as a string:\n\n\n```tsx\nconst string = \u003ctext\u003eHello, World!\u003c/text\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World!\n  ```\n\u003c/details\u003e\n\nText can also be hidden with the `hide` prop:\n\n```tsx\nconst string = \u003ctext\u003eHello\u003ctext hide\u003e, World\u003c/hide\u003e!\u003c/text\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello!\n  ```\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\nSince `\u003ctext\u003e` is the base of most other elements, the props it provides can be used with most other elements.\n\nPrxmpt treats children as an array of strings, which means `\u003ctext\u003e` can also provide several array functions for mapping, filtering, and joining children.\n\n---\n- **hide**\n```tsx\n/**\n * Prevent the Element from being rendered.\n * @default false\n */\nhide?: boolean;\n```\n- **filter**\n```tsx\n/**\n * A function to filter children.\n * @default (node) =\u003e true\n */\nfilter?: (node: Prxmpt.Children, index: number, arr: Prxmpt.Children[]) =\u003e boolean;\n```\n- **map**\n```tsx\n/**\n * A function that maps each child to a new Element.\n * @default (node) =\u003e Prxmpt.render(node)\n */\nmap?: (node: Prxmpt.Children, index: number, arr: Prxmpt.Children[]) =\u003e Prxmpt.JSX.Element;\n```\n- **reverse**\n```tsx\n/**\n * Reverse the order of the children.\n */\nreverse?: boolean;\n```\n- **join**\n```tsx\n/**\n * An Element to insert between each child.\n * @default \"\"\n */\njoin?: Prxmpt.Children;\n```\n- **repeat**\n```tsx\n/**\n * @default 1\n */\nrepeat?: number;\n```\n- **trim**\n```tsx\n/**\n * `true`: Trim whitespace from the beginning and end of the Element.\n * \n * `\"start\"`: Trim whitespace from the beginning of the Element.\n * \n * `\"end\"`: Trim whitespace from the end of the Element.\n * \n * @default false\n */\ntrim?: boolean | TrimSide;\n```\n- **casing**\n```tsx\n/**\n * Convert the Element to a given casing.\n * @default undefined\n */\ncasing?: Casing;\n```\n- **prefix**\n```tsx\n/**\n * An Element to prepend to the element.\n * @default \"\"\n */\nprefix?: Prxmpt.Children;\n```\n- **suffix**\n```tsx\n/**\n * An Element to append to the element.\n * @default \"\"\n */\nsuffix?: Prxmpt.Children;\n```\n- **indent**\n```tsx\n/**\n * Apply indentation to each line of the Element.\n * \n * If `true`, indentation is applied using 2 spaces.\n * \n * If a number is provided, that number of spaces is used.\n * \n * If `\"\\t\"` is provided, a single tab character is used.\n * \n * @default false\n */\nindent?: boolean | number | \"\\t\";\n```\n- **block**\n```tsx\n/**\n * Append a newline to the end of the Element.\n * @default false\n */\nblock?: boolean;\n```\n---\n\u003c/details\u003e\n\n\u003ch3 id=\"characters\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eCharacters\u003c/h3\u003e\n\n#### Empty\n_`\u003cempty\u003e`_\n\nThe `\u003cempty\u003e` element returns an empty string:\n\n```tsx\n// \"\"\nconst string = \u003cempty /\u003e;\n```\n\n`\u003cempty\u003e` is often useful as a child of elements that join their children on some delimiter.\n\n```tsx\nconst string = (\n  \u003clined\u003e\n    \u003ctext\u003eLine 1\u003c/text\u003e\n    \u003cempty /\u003e\n    \u003ctext\u003eLine 3\u003c/text\u003e\n  \u003c/lined\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Line 1\n\n  Line 2\n  ```\n\u003c/details\u003e\n\n#### Space\n_`\u003cspace\u003e`_\n\nThe `\u003cspace\u003e` element returns a space:\n\n```tsx\n// \" \"\nconst string = \u003cspace /\u003e;\n```\n\n#### Tab\n_`\u003ctab\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **literal**\n```tsx\n/**\n  * If true, use a literal tab character. Otherwise, use spaces.\n  * @default false\n  */\nliteral?: boolean;\n```\n- **width**\n```tsx\n/**\n  * Number of characters per tab\n  * @default 1 if `literal` is true, otherwise 2\n  */\nwidth?: number;\n```\n---\n\u003c/details\u003e\n\n```tsx\n// \"    \"\nconst string = \u003ctab width={4} /\u003e\n```\n\n#### Ellipsis\n_`\u003cellipsis\u003e`_\n\n```tsx\nconst string = \u003cellipsis /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  ...\n  ```\n\u003c/details\u003e\n\n#### NA\n_`\u003cna\u003e`_\n\n```tsx\nconst string = \u003cna /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  n/a\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"brackets\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eBrackets\u003c/h3\u003e\n\n#### Parenthesis\n_`\u003cparens\u003e`_\n\n```tsx\nconst string = \u003cparens\u003eHello, World!\u003c/parens\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  (Hello, World!)\n  ```\n\u003c/details\u003e\n\n#### Square Bracket\n_`\u003csquare\u003e`_\n\n```tsx\nconst string = \u003csquare\u003eHello, World!\u003c/square\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  [Hello, World!]\n  ```\n\u003c/details\u003e\n\n\n#### Curly Bracket\n_`\u003ccurly\u003e`_\n\n```tsx\nconst string = \u003ccurly\u003eHello, World!\u003c/curly\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  {Hello, World!}\n  ```\n\u003c/details\u003e\n\n#### Angle Bracket\n_`\u003cangle\u003e`_\n\n```tsx\nconst string = \u003cangle\u003eHello, World!\u003c/angle\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cHello, World!\u003e\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"quotes\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eQuotes\u003c/h3\u003e\n\n#### Single Quote\n_`\u003csq\u003e`_\n\n```tsx\nconst string = \u003csq\u003eHello, World!\u003c/sq\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  'Hello, World!'\n  ```\n\u003c/details\u003e\n\n#### Double Quote\n_`\u003cdq\u003e`_\n\n```tsx\nconst string = \u003cdq\u003eHello, World!\u003c/dq\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \"Hello, World!\"\n  ```\n\u003c/details\u003e\n\n#### Back Quote\n_`\u003cbq\u003e`_\n\n```tsx\nconst string = \u003cbq\u003eHello, World!\u003c/bq\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  `Hello, World!`\n  ```\n\u003c/details\u003e\n\n#### Triple Single Quote\n_`\u003ctsq\u003e`_\n\n```tsx\nconst string = \u003ctsq\u003eHello, World!\u003c/tsq\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  '''\n  Hello, World!\n  '''\n  ```\n\u003c/details\u003e\n\n#### Triple Double Quote\n_`\u003ctdq\u003e`_\n\n```tsx\nconst string = \u003ctdq\u003eHello, World!\u003c/tdq\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \"\"\"\n  Hello, World!\n  \"\"\"\n  ```\n\u003c/details\u003e\n\n#### Triple Back Quote\n_`\u003ctbq\u003e`_\n\n```tsx\nconst tbq = \u003ctbq\u003eHello, World!\u003c/tbq\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n  \u003cpre\u003e```\u003cbr/\u003eHello, World!\u003cbr/\u003e```\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003ch3 id=\"comments\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eComments\u003c/h3\u003e\n\n#### Slash Comment\n_`\u003ccomment type=\"slash\"\u003e`_\n\n```tsx\nconst slash = \u003ccomment type=\"slash\"\u003eHello, World!\u003c/comment\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  // Hello, World!\n  ```\n\u003c/details\u003e\n\n#### Hash Comment\n_`\u003ccomment type=\"hash\"\u003e`_\n\n```tsx\nconst hash = \u003ccomment type=\"hash\"\u003eHello, World!\u003c/comment\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  # Hello, World!\n  ```\n\u003c/details\u003e\n\n#### Dash Comment\n_`\u003ccomment type=\"dash\"\u003e`_\n\n```tsx\nconst dash = \u003ccomment type=\"dash\"\u003eHello, World!\u003c/comment\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  -- Hello, World!\n  ```\n\u003c/details\u003e\n\n#### HTML Comment\n_`\u003ccomment type=\"html\"\u003e`_\n\n```tsx\nconst html = \u003ccomment type=\"html\"\u003eHello, World!\u003c/comment\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003c!-- Hello, World! --\u003e\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"sentences\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eSentences\u003c/h3\u003e\n\n#### State\n_`\u003cstate\u003e`_\n\n```tsx\nconst state = \u003cstate\u003eHello, World!\u003c/state\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World.\n  ```\n\u003c/details\u003e\n\n#### Ask\n_`\u003cask\u003e`_\n\n```tsx\nconst ask = \u003cask\u003eHello, World!\u003c/ask\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World?\n  ```\n\u003c/details\u003e\n\n#### Exclaim\n_`\u003cexclaim\u003e`_\n\n```tsx\nconst exclaim = \u003cexclaim\u003eHello, World!\u003c/exclaim\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World!\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"miscellaneous-text\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eMiscellaneous\u003c/h3\u003e\n\n#### Key-Value Pair\n_`\u003ckv\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **key**\n```tsx\n/**\n  * A key to render.\n  */\nkey: Prxmpt.Children;\n```\n\n- **keyCase**\n```tsx\n/**\n  * Case to apply to the key.\n  * @default undefined\n  */\nkeyCase?: \"upper\" | \"lower\" | \"capital\" | \"title\";\n```\n\n- **wrap**\n```tsx\n/**\n * Override the default behavior for wrapping the value.\n * @default undefined\n */\nwrap?: boolean;\n```\n\n- **noSpace**\n```tsx\n/**\n * If true, do not add a space between the key and value.\n * Only applies when not wrapping.\n * @default false\n */\nnoSpace?: boolean;\n```\n---\n\n\u003c/details\u003e\n\n```tsx\nconst string = \u003ckv key=\"Hello\"\u003eWorld\u003c/kv\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello: World\n  ```\n\u003c/details\u003e\n\nWhen the children contain multiple lines, the value is rendered starting on a newline by default:\n\n```tsx\nconst worlds = (\n  \u003ctdq join={\"\\n\"}\u003e\n    \u003ctext\u003eWorld1\u003c/text\u003e\n    \u003ctext\u003eWorld2\u003c/text\u003e\n    \u003ctext\u003eWorld3\u003c/text\u003e\n  \u003c/tdq\u003e\n);\n\nconst string = \u003ckv key=\"Hello\"\u003e{worlds}\u003c/kv\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello:\n  \"\"\"\n  World1\n  World2\n  World3\n  \"\"\"\n  ```\n\u003c/details\u003e\n\n\u003ch2 id=\"html-elements\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eHTML Elements\u003c/h2\u003e\n\nHTML elements are built on top of the `\u003ctag\u003e` element. Each html element has a boolean `html` prop that is set to false by default. When `html` is true, the element is rendered as HTML. Otherwise, the element is rendered as a Markdown equivalent.\n\nAdditionally, custom attributes can be set using the `attributes` prop.\n\n#### Tag\n_`\u003ctag\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **name**\n```tsx\n/**\n * Name of the tag.\n */\nname: string;\n```\n- **noIndent**\n```tsx\n/**\n * @default false\n */\nnoIndent?: boolean;\n```\n- **wrap**\n```tsx\n/**\n * Defaults to true if the content contains a newline.\n */\nwrap?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst tag = \u003ctag name=\"mytag\"\u003eHello, World!\u003c/tag\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cmytag\u003eHello, World!\u003c/mytag\u003e\n  ```\n\u003c/details\u003e\n\n\nIf no children are provided, the tag is rendered as a self-closing tag:\n\n```tsx\nconst tag = \u003ctag name=\"mytag\" /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cmytag /\u003e\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"breaks\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eBreaks\u003c/h3\u003e\n\n#### Line Break\n_`\u003cbr /\u003e`_\n\n```tsx\n// \"\\n\"\nconst br = \u003cbr /\u003e;\n```\n\n```tsx\nconst br = \u003cbr html /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cbr /\u003e\n  ```\n\u003c/details\u003e\n\n#### Horizontal Rule\n_`\u003chr /\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **width**\n```tsx\n/**\n * @default 3\n */\nwidth?: number;\n```\n- **char**\n```tsx\n/**\n * @default \"-\"\n */\nchar?: \"-\" | \"_\" | \"=\" | \"*\";\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst hr = \u003chr /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  ---\n  ```\n\u003c/details\u003e\n\n```tsx\nconst hr = \u003chr /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003chr /\u003e\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"linking\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eLinking\u003c/h3\u003e\n\n#### Anchor\n_`\u003ca\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **href**\n\n```tsx\n/**\n * The URL of the link.\n */\nhref: string;\n```\n- **title**\n```tsx\n/**\n * A title for the link.\n */\ntitle?: string;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003ca href=\"https://example.com\" title=\"A Title\"\u003eHello, World!\u003c/a\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  [Hello, World!](https://example.com \"A Title\")\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003ca href=\"https://example.com\" title=\"A Title\" html\u003eHello, World!\u003c/a\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003ca href=\"https://example.com\" title=\"A Title\"\u003eHello, World!\u003c/a\u003e\n  ```\n\u003c/details\u003e\n\n#### Image\n_`\u003cimg\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **src**\n```tsx\n/**\n * The URL of the image.\n */\nhref: string;\n```\n- **title**\n```tsx\n/**\n * A title for the image.\n */\ntitle?: string;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cimg src=\"https://example.com\" title=\"A Title\"\u003eHello, World!\u003c/img\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  ![Hello, World!](https://example.com \"A Title\")\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cimg src=\"https://example.com\" title=\"A Title\" html\u003eHello, World!\u003c/img\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cimg src=\"https://example.com\" alt=\"Hello, World!\" title=\"A Title\" /\u003e\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"headings\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eHeadings\u003c/h3\u003e\n\n#### H1\n_`\u003ch1\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = \u003ch1\u003eHello, World!\u003c/h1\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  # Hello, World!\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003ch1 html\u003eHello, World!\u003c/h1\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003ch1\u003eHello, World!\u003c/h1\u003e\n  ```\n\u003c/details\u003e\n\n#### H2\n_`\u003ch2\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = \u003ch2\u003eHello, World!\u003c/h2\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  ## Hello, World!\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003ch2 html\u003eHello, World!\u003c/h2\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003ch2\u003eHello, World!\u003c/h2\u003e\n  ```\n\u003c/details\u003e\n\n#### H3\n_`\u003ch3\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = \u003ch3\u003eHello, World!\u003c/h3\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  ### Hello, World!\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003ch3 html\u003eHello, World!\u003c/h3\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003ch3\u003eHello, World!\u003c/h3\u003e\n  ```\n\u003c/details\u003e\n\n#### H4\n_`\u003ch4\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = \u003ch4\u003eHello, World!\u003c/h4\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  #### Hello, World!\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003ch4 html\u003eHello, World!\u003c/h4\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003ch4\u003eHello, World!\u003c/h4\u003e\n  ```\n\u003c/details\u003e\n\n#### H5\n_`\u003ch5\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = \u003ch5\u003eHello, World!\u003c/h5\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  ##### Hello, World!\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003ch5 html\u003eHello, World!\u003c/h5\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003ch5\u003eHello, World!\u003c/h5\u003e\n  ```\n\u003c/details\u003e\n\n#### H6\n_`\u003ch6\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = \u003ch6\u003eHello, World!\u003c/h6\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  ###### Hello, World!\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003ch6 html\u003eHello, World!\u003c/h6\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003ch6\u003eHello, World!\u003c/h6\u003e\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"lists\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eLists\u003c/h3\u003e\n\n#### Ordered List\n_`\u003col\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **onlyMarkIfList**\n```tsx\n/**\n  * Only include markers if the list contains more than one item.\n  * @default false\n  */\nonlyMarkIfList?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003col\u003e\n    \u003ctext\u003eHello\u003c/text\u003e\n    \u003ctext\u003eWorld\u003c/text\u003e\n  \u003c/ol\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  1. Hello\n  2. World\n  ```\n\u003c/details\u003e\n\n#### Unordered List\n_`\u003cul\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **onlyMarkIfList**\n```tsx\n/**\n  * Only include markers if the list contains more than one item.\n  * @default false\n  */\nonlyMarkIfList?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003cul\u003e\n    \u003ctext\u003eHello\u003c/text\u003e\n    \u003ctext\u003eWorld\u003c/text\u003e\n  \u003c/ul\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  - Hello\n  - World\n  ```\n\u003c/details\u003e\n\n#### Checkbox list\n_`\u003ccl\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **items**\n```tsx\nitems: {\n  /**\n   * @default false\n   */\n  checked?: boolean;\n  /**\n   * Content to render after the checkbox.\n   */\n  content: Prxmpt.Children;\n}[];\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003ccl\n    items={[\n      { content: \"Hello\" },\n      { content: \"World\", checked: true },\n    ]}\n  /\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  - [ ] Hello\n  - [x] World\n  ```\n\u003c/details\u003e\n\n#### Definition List\n_`\u003cdl\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **items**\n```tsx\n/**\n * The items to render.\n */\nitems: Record\u003cstring, Prxmpt.Children\u003e;\n```\n- **termCase**\n```tsx\n/**\n * Casing to apply to each key.\n * @default undefined\n */\ntermCase?: \"upper\" | \"lower\" | \"capital\" | \"title\";\n```\n- **space**\n```tsx\n/**\n * Number of blank lined to insert between each item.\n * @default 0\n */\nspace?: number;\n```\n- **wrap**\n```tsx\n/**\n * Override the default behavior for wrapping values.\n * @default undefined\n */\nwrap?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003cdl\n    items={{\n      Hello: \"World\",\n      Foo: \"Bar\"\n    }}\n  /\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello: World\n  Foo: Bar\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"styling\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eStyling\u003c/h3\u003e\n\n#### Italic\n_`\u003ci\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **char**\n```tsx\n/**\n * @default \"_\"\n */\nchar?: \"*\" | \"_\";\n```\n---\n\u003c/details\u003e\n\n##### Standard:\n\n```tsx\nconst string = \u003ci\u003eHello, World!\u003c/i\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  _Hello, World!_\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003ci html\u003eHello, World!\u003c/i\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003ci\u003eHello, World!\u003c/i\u003e\n  ```\n\u003c/details\u003e\n\n#### Bold\n_`\u003cb\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **char**\n```tsx\n/**\n * @default \"*\"\n */\nchar?: \"*\" | \"_\";\n```\n---\n\u003c/details\u003e\n\n##### Standard:\n\n```tsx\nconst string = \u003cb\u003eHello, World!\u003c/b\u003e;\n```\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  **Hello, World!**\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003cb html\u003eHello, World!\u003c/b\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cb\u003eHello, World!\u003c/b\u003e\n  ```\n\u003c/details\u003e\n\n#### Strikethrough\n_`\u003cs\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = \u003cs\u003eHello, World!\u003c/s\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  ~~Hello, World!~~\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003cs html\u003eHello, World!\u003c/s\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cs\u003eHello, World!\u003c/s\u003e\n  ```\n\u003c/details\u003e\n\n#### Code\n_`\u003ccode\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = \u003ccode\u003eHello, World!\u003c/code\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  `Hello, World!`\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003ccode html\u003eHello, World!\u003c/code\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003ccode\u003eHello, World!\u003c/code\u003e\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"miscellaneous-html\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eMiscellaneous\u003c/h3\u003e\n\n#### Span\n_`\u003cspan\u003e`_\n\n##### Standard:\n\nWhen rendered as text, `\u003cspan\u003e` simply renders its children like `\u003ctext\u003e`:\n\n```tsx\nconst string = \u003cspan\u003eHello, World!\u003c/span\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World!\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003cspan html\u003eHello, World!\u003c/span\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cspan\u003eHello, World!\u003c/span\u003e\n  ```\n\u003c/details\u003e\n\n#### Paragraph\n_`\u003cp\u003e`_\n\n##### Standard:\n\nWhen rendered as text, the paragraph tag adds a newline at the end of the element:\n\n```tsx\nconst string = \u003cp\u003eHello, World!\u003c/p\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World!\n\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003cp html\u003eHello, World!\u003c/p\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cp\u003eHello, World!\u003c/p\u003e\n  ```\n\u003c/details\u003e\n\n#### Blockquote\n_`\u003cblockquote\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = (\n  \u003cblockquote join={\"\\n\"}\u003e\n    \u003ctext\u003eHello\u003c/text\u003e\n    \u003cempty /\u003e\n    \u003ctext\u003eWorld!\u003c/text\u003e\n  \u003c/blockquote\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003e Hello\n  \u003e\n  \u003e World!\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003cblockquote html\u003eHello, World!\u003c/blockquote\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cblockquote\u003eHello, World!\u003c/blockquote\u003e\n  ```\n\u003c/details\u003e\n\n#### Quote\n_`\u003cq\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **type**\n```tsx\n/**\n * @default \"double\"\n */\ntype?: \"single\" | \"double\" | \"backtick\";\n```\n---\n\u003c/details\u003e\n\n##### Standard:\n\nThe quote element returns a triple quote if the children contain a newline, otherwise it returns a single quote.\n\n###### Single Line\n\n```tsx\nconst string = \u003cq\u003eHello, World!\u003c/q\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \"Hello, World!\"\n  ```\n\u003c/details\u003e\n\n###### Multi Line\n\n```tsx\nconst string = \u003cq\u003eHello\u003cbr /\u003eWorld\u003c/q\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \"\"\"\n  Hello, World!\n  \"\"\"\n  ```\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003cq html\u003eHello, World!\u003c/q\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cq\u003eHello, World!\u003c/q\u003e\n  ```\n\u003c/details\u003e\n\n#### Pre\n_`\u003cpre\u003e`_\n\n##### Standard:\n\n```tsx\nconst string = \u003cpre\u003eHello, World!\u003c/pre\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n  \u003cpre\u003e```\u003cbr /\u003eHello, World!\u003cbr /\u003e```\u003c/pre\u003e\n\u003c/details\u003e\n\n##### HTML:\n\n```tsx\nconst string = \u003cpre html\u003eHello, World!\u003c/pre\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  \u003cpre\u003eHello, World!\u003c/pre\u003e\n  ```\n\u003c/details\u003e\n\n\u003ch2 id=\"serialization-elements\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eSerialization Elements\u003c/h2\u003e\n\n\u003ch3 id=\"primitives\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003ePrimitives\u003c/h3\u003e\n\n#### Num\n_`\u003cnum\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **add**\n```tsx\n/**\n * Add a value to the number.\n */\nadd?: number;\n```\n- **min**\n```tsx\n/**\n * Minimum value. Applied after `add`.\n */\nmin?: number;\n```\n- **max**\n```tsx\n/**\n * Maximum value. Applied after `add`.\n */\nmax?: number;\n```\n- **fixed**\n```tsx\n/**\n * Number of decimal places.\n */\nfixed?: number;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cnum fixed={2}\u003e1\u003c/num\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  1.00\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cnum min={1}\u003e0\u003c/num\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  1\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"dates\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eDates\u003c/h3\u003e\n\n#### Datetime\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n- **dateFormat**\n```tsx\n/**\n * @default \"short\"\n */\ndateFormat?: \"long\" | \"medium\" | \"short\" | \"full\";\n```\n- **timeFormat**\n```tsx\n/**\n * @default \"short\"\n */\ntimeFormat?: \"long\" | \"medium\" | \"short\" | \"full\";\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cdatetime /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  September 23, 2023 at 5:17 PM\n  ```\n\u003c/details\u003e\n\n#### Date\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n- **format**\n```tsx\n/**\n * @default \"short\"\n */\nformat?: \"long\" | \"medium\" | \"short\" | \"full\";\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cdate /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  September 23, 2023\n  ```\n\u003c/details\u003e\n\n#### Time\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n- **format**\n```tsx\n/**\n * @default \"short\"\n */\nformat?: \"long\" | \"medium\" | \"short\" | \"full\";\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003ctime /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  5:17 PM\n  ```\n\u003c/details\u003e\n\n#### Year\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cyear /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  2023\n  ```\n\u003c/details\u003e\n\n#### Month\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n- **format**\n```tsx\n/**\n * @default \"number\"\n */\nformat?: \"number\" | \"long\" | \"short\" | \"narrow\";\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cmonth /\u003e\n```\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  8\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cmonth format=\"long\" /\u003e\n```\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  September\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cmonth format=\"short\" /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Sep\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cmonth format=\"narrow\" /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  S\n  ```\n\u003c/details\u003e\n\n#### Day\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n- **format**\n```tsx\n/**\n * @default \"number\"\n */\nformat?: \"number\" | \"long\" | \"short\" | \"narrow\";\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cday /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  6\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cday format=\"long\" /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Saturday\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cday format=\"short\" /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Sat\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cday format=\"narrow\" /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  S\n  ```\n\u003c/details\u003e\n\n#### Hour\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n- **cycle**\n```tsx\n/**\n * @default \"12\"\n */\ncycle?: \"12\" | \"24\";\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003chour /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  5\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = \u003chour cycle=\"24\"\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  17\n  ```\n\u003c/details\u003e\n\n#### Minute\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cminute /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  42\n  ```\n\u003c/details\u003e\n\n#### Second\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003csecond /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  42\n  ```\n\u003c/details\u003e\n\n#### Millisecond\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cmillisecond /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  999\n  ```\n\u003c/details\u003e\n\n#### Duration\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **value**\n```tsx\n/**\n * The end of the duration.\n * @default Date.now()\n */\nvalue?: Date | string | number;\n```\n- **since**\n```tsx\n/**\n * The start of the duration.\n */\nsince: Date | string | number;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cduration since={\"September 2021\"} /\u003e\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  2 years\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"objects\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eObjects\u003c/h3\u003e\n\n#### JSON\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **data**\n```tsx\n/**\n * The data to stringify.\n */\ndata: NestedOptionalJSONValue;\n```\n- **pretty**\n```tsx\n/**\n * @default false\n */\npretty?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cjson data={{ Hello: \"World\" }} pretty /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  {\n    \"Hello\": \"World\"\n  }\n  ```\n\u003c/details\u003e\n\n#### YAML\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **data**\n```tsx\n/**\n * The data to stringify.\n */\ndata: NestedOptionalJSONValue;\n```\n- **noStartMarker**\n```tsx\n/**\n * @default false\n */\nnoStartMarker?: boolean;\n```\n- **sequenceIndent**\n```tsx\n/**\n * @default false\n */\nsequenceIndent?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cyaml data={{ hello: \"world\" }} /\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  ---\n  hello: world\n  ```\n\u003c/details\u003e\n\n\u003ch2 id=\"utility-elements\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eUtility Elements\u003c/h2\u003e\n\n\u003ch3 id=\"casing\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eCasing\u003c/h3\u003e\n\n#### Upper\n\n_`\u003cupper\u003e`_\n\n```tsx\nconst string = \u003cupper\u003eHello, World!\u003c/upper\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  HELLO, WORLD!\n  ```\n\u003c/details\u003e\n\n#### Lower\n\n_`\u003clower\u003e`_\n\n```tsx\nconst string = \u003clower\u003eHello, World!\u003c/lower\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  hello, world!\n  ```\n\u003c/details\u003e\n\n#### Capital\n\n_`\u003ccapital\u003e`_\n\n```tsx\nconst string = \u003ccapital\u003ehello, world!\u003c/capital\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, world!\n  ```\n\u003c/details\u003e\n\n#### Title\n\n_`\u003ctitle\u003e`_\n\n```tsx\nconst string = \u003ctitle\u003ehello, world!\u003c/title\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World!\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"affixes\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eAffixes\u003c/h3\u003e\n\n#### Trim\n\n```tsx\n// \"Hello, World!\"\nconst string = \u003ctrim\u003eHello, World! \u003c/trim\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World!\n  ```\n\u003c/details\u003e\n\n#### Frame\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **with**\n```tsx\n/**\n * A value to apply to both `prefix` and `suffix`.\n */\nwith: Prxmpt.Children;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003cframe with=\"--\"\u003eHello, World! \u003c/frame\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  -- Hello, World! --\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"joins\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eJoins\u003c/h3\u003e\n\n#### Lined\n_`\u003clined\u003e`_\n\n```tsx\nconst string = (\n  \u003clined\u003e\n    \u003ctext\u003eHello\u003c/text\u003e\n    \u003ctext\u003eWorld!\u003c/text\u003e\n  \u003c/lined\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello\n  World!\n  ```\n\u003c/details\u003e\n\n#### Spaced\n_`\u003cspaced\u003e`_\n\n```tsx\nconst string = (\n  \u003cspaced\u003e\n    \u003ctext\u003eHello\u003c/text\u003e\n    \u003ctext\u003eWorld!\u003c/text\u003e\n  \u003c/spaced\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello World!\n  ```\n\u003c/details\u003e\n\n#### Comma-Separated List\n_`\u003ccsl\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **noSpace**\n```tsx\n/**\n * @default false\n */\nnoSpace?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003ccsl\u003e\n    \u003ctext\u003ehello\u003c/text\u003e\n    \u003ctext\u003eworld\u003c/text\u003e\n  \u003c/csl\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  hello, world\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003ccsl noSpace\u003e\n    \u003ctext\u003ehello\u003c/text\u003e\n    \u003ctext\u003eworld\u003c/text\u003e\n  \u003c/csl\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  hello,world\n  ```\n\u003c/details\u003e\n\n#### Union\n_`\u003cunion\u003e`_\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **noSpace**\n```tsx\n/**\n * @default false\n */\nnoSpace?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003cunion\u003e\n    \u003ctext\u003ehello\u003c/text\u003e\n    \u003ctext\u003eworld\u003c/text\u003e\n  \u003c/union\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  hello | world\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003cunion noSpace\u003e\n    \u003ctext\u003ehello\u003c/text\u003e\n    \u003ctext\u003eworld\u003c/text\u003e\n  \u003c/union\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  hello|world\n  ```\n\u003c/details\u003e\n\n\n#### Sectioned\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **divider**\n```tsx\n/**\n * @default \"---\"\n */\ndivider?: string;\n```\n- **frame**\n```tsx\n/**\n * Whether add dividers before and after the body.\n * @default false\n */\nframe?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003csectioned\u003e\n    \u003ctext\u003eHello\u003c/text\u003e\n    \u003ctext\u003eWorld!\u003c/text\u003e\n  \u003c/sectioned\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello\n  ---\n  World!\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"sets\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eSets\u003c/h3\u003e\n\nSets automatically adjust the separators used based on the number of children provided.\n\n#### And\n_`\u003cand\u003e`_\n\n```tsx\nconst string = (\n  \u003cand\u003e\n    \u003ctext\u003ea\u003c/text\u003e\n  \u003c/and\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  a\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003cand\u003e\n    \u003ctext\u003ea\u003c/text\u003e\n    \u003ctext\u003eb\u003c/text\u003e\n  \u003c/and\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  a and b\n  ```\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003cand\u003e\n    \u003ctext\u003ea\u003c/text\u003e\n    \u003ctext\u003eb\u003c/text\u003e\n    \u003ctext\u003ec\u003c/text\u003e\n  \u003c/and\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  a, b, and c\n  ```\n\u003c/details\u003e\n\n#### And / Or\n_`\u003candor\u003e`_\n\n```tsx\nconst string = (\n  \u003candor\u003e\n    \u003ctext\u003ea\u003c/text\u003e\n    \u003ctext\u003eb\u003c/text\u003e\n    \u003ctext\u003ec\u003c/text\u003e\n  \u003c/andor\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  a, b, and/or c\n  ```\n\u003c/details\u003e\n\n#### Or\n_`\u003cor\u003e`_\n\n```tsx\nconst string = (\n  \u003cor\u003e\n    \u003ctext\u003ea\u003c/text\u003e\n    \u003ctext\u003eb\u003c/text\u003e\n    \u003ctext\u003ec\u003c/text\u003e\n  \u003c/or\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  a, b, or c\n  ```\n\u003c/details\u003e\n\n#### Nor\n_`\u003cnor\u003e`_\n\n```tsx\nconst string = (\n  \u003cnor\u003e\n    \u003ctext\u003ea\u003c/text\u003e\n    \u003ctext\u003eb\u003c/text\u003e\n    \u003ctext\u003ec\u003c/text\u003e\n  \u003c/nor\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  a, b, nor c\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"limiters\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eLimiters\u003c/h3\u003e\n\n#### Cap\n\nThe `\u003ccap\u003e` element allows you to limit the length of a string by providing a `splitter` function and a `max` number of \"units\" to allow.\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **max**\n```tsx\n/**\n * The maximum \"units\" to include.\n * @default Infinity\n */\nmax?: number;\n```\n- **splitter**\n```tsx\n/**\n * A function that splits a string into \"units\".\n * @default \"chars\"\n */\nsplitter?: \"paragraphs\" | \"lines\" | \"spaces\" | \"words\" | \"commas\" | \"chars\" | (string: string) =\u003e string[];\n```\n- **ellipsis**\n```tsx\n/**\n * A string to append to the end if the maximum is reached.\n * This string is included in the maximum count.\n * If `true`, \"...\" is used.\n * @default undefined\n */\nellipsis?: string | true;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = \u003ccap max={5}\u003eHello, World!\u003c/cap\u003e;\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello\n  ```\n\u003c/details\u003e\n\n#### Priority\n\nThe `\u003cpriority\u003e` element is like a width-based [CSS media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries) for strings.\n\nInstead of providing a list of children, `\u003cpriority\u003e` expects a list of items, each of which can have a priority. Higher priorities are rendered first (like `z-index` in CSS), and each item has a default priority of 0. Several strategies are provided as well for fine-tuning how items are prioritiezed.\n\nPriority elements can also be nested, which enable extremely fine-grained control over which content is rendered. Several examples are provided in the [priority example directory](https://github.com/AutosseyAI/prxmpt/tree/main/examples/priority).\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eProps\u003c/b\u003e\u003c/summary\u003e\n\n---\n- **max**\n```tsx\n/**\n * The maximum \"units\" to include.\n * @default Infinity\n */\nmax?: number;\n```\n- **counter**\n```tsx\n/**\n * A function that returns the number of \"units\" in a string.\n * @default (string: string) =\u003e string.length\n */\ncounter?: (string: string) =\u003e number;\n```\n- **items**\n```tsx\n/**\n * The items to render, in order of priority.\n */\nitems: (Prxmpt.Children | {\n  /**\n   * The priority of this item. Higher priority items are included first.\n   * @default 0\n   */\n  p?: number;\n  /**\n   * The content to render.\n   */\n  content: ((capacity: number) =\u003e Prxmpt.Children) | Prxmpt.Children;\n})[];\n```\n- **strategy**\n\n\u003e The strategy to use when prioritizing items.\u003cbr /\u003eIf multiple strategies are provided, subsequent strategies are tried in order to break ties.\n\n`\"priority\"`:\n\n_Prioritize items by the provided priority.\u003cbr /\u003eOnce the maximum is reached, continue to check if remaining items fit._\n\n`\"order-asc\"`:\n\n_Prioritize items by the order provided.\u003cbr /\u003eOnce the maximum is reached, continue to check if remaining items fit._\n\n`\"order-desc\"`:\n\n_Prioritize items in reverse of the order provided.\u003cbr /\u003eOnce the maximum is reached, continue to check if remaining items fit._\n\n`\"size-asc\"`:\n\n_Prioritize items in size order, smallest to largest.\u003cbr /\u003eUse if you want to include as many items as possible._\n\n`\"size-desc\"`:\n\n_Prioritized items in size order, largest to smallest.\u003cbr /\u003eUse if you want to include as few items as possible._\n```tsx\n/**\n * @default [\"priority\", \"order-asc\"]\n */\nstrategy?: PriorityStrategy | PriorityStrategy[];\n```\n- **noSkip**\n```tsx\n/**\n  * If `true`, do not skip items after the maximum is reached.\n  * @default false\n  */\nnoSkip?: boolean;\n```\n---\n\u003c/details\u003e\n\n```tsx\nconst string = (\n  \u003cpriority\n    max={15}\n    join={\"\\n\"}\n    items={[{\n      p: 2\n      content: \"Test 1\"\n    }, {\n      // p: 0 is the default\n      content: \"This is a a super long string that won't fit.\"\n    }, {\n      p: 1,\n      content: \"Test 3\"\n    }]} /\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Test 1\n  Test 3\n  ```\n\u003c/details\u003e\n\n\u003ch2 id=\"exports\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eExports\u003c/h2\u003e\n\n\u003ch3 id=\"rendering\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eRendering\u003c/h3\u003e\n\n#### `createElement`\n\n```tsx\nimport { createElement } from \"@autossey/prxmpt\";\n\nconst string = createElement(\"text\", {}, \"Hello, World!\");\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World!\n  ```\n\u003c/details\u003e\n\n#### `render`\n\n```tsx\nimport { render } from \"@autossey/prxmpt\";\n\nconst string = render(\n  \u003ctext\u003eHello, World!\u003c/text\u003e\n);\n```\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ci\u003eResult\u003c/i\u003e\u003c/summary\u003e\n\n  ```\n  Hello, World!\n  ```\n\u003c/details\u003e\n\n\u003ch3 id=\"children\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eChildren\u003c/h3\u003e\n\n#### `hasChildren`\n\nReturns `true` if the provided props object has a `children` property.\n\n```tsx\nimport { hasChildren } from \"@autossey/prxmpt\";\n\nif(hasChildren({ children: \"Hello, World!\" })) {\n  // ...\n}\n```\n\n#### `isChildren`\n\nReturns `true` if the provided value is a valid Prxmpt element child.\n\n```tsx\nimport { isChildren } from \"@autossey/prxmpt\";\n\nif(isChildren(\"Hello, World!\")) {\n  // ...\n}\n```\n\n\u003ch3 id=\"splitters\"\u003e\u003cdiv align=\"right\"\u003e\u003ca href=\"#elements\"\u003e🔝\u003c/a\u003e\u003c/div\u003eSplitters\u003c/h3\u003e\n\n#### `split`\n\nSplit `children` on `separator`. If `separator` is `undefined`, no splitting occurs.\n\n```tsx\nimport { split } from \"@autossey/prxmpt\";\n\nconst children = (\n  \u003clined\u003e\n    \u003ctext\u003eHello\u003c/text\u003e\n    \u003ctext\u003eWorld!\u003c/text\u003e\n  \u003c/lined\u003e\n);\n\n// [\"Hello\", \"World!\"]\n\nconst strings = split(children, \"\\n\");\n```\n\n#### `paragraphs`\n\nSplit `children` on `\"\\n\\n\"`.\n\n#### `lines`\n\nSplit `children` on `\"\\n\"`.\n\n#### `spaces`\n\nSplit `children` on whitespace.\n\n#### `words`\n\nSplit `children` on word boundaries.\n\n#### `commas`\n\nSplit `children` on `\",\"`.\n\n#### `characters`\n\nSplit `children` on `\"\"`.\n\n\u003cbr /\u003e\n\n\u003ch2 id=\"dependencies\"\u003eDependencies\u003ca href=\"https://www.npmjs.com/package/clee?activeTab=dependencies\"\u003e\u003cimg align=\"right\" alt=\"dependencies\" src=\"https://img.shields.io/librariesio/release/npm/clee.svg\"\u003e\u003c/a\u003e\u003c/h2\u003e\n\n- [@swc/core](https://www.npmjs.com/package/@swc/core): Super-fast alternative for babel\n- [as-typed-array](https://www.npmjs.com/package/as-typed-array): Make any value an array\n- [types-json](https://www.npmjs.com/package/types-json): Type checking for JSON objects\n- [yaml](https://www.npmjs.com/package/yaml): JavaScript parser and stringifier for YAML\n\n\u003ch3 id=\"dev-dependencies\"\u003eDev Dependencies\u003c/h3\u003e\n\n- [@autossey/eslint-config](https://www.npmjs.com/package/@autossey/eslint-config): A base for projects that use ESLint.\n- [@autossey/tsconfig](https://www.npmjs.com/package/@autossey/tsconfig): A collection of base TSConfigs for various types of projects.\n- [@jest/globals](https://www.npmjs.com/package/@jest/globals)\n- [@swc/jest](https://www.npmjs.com/package/@swc/jest): Swc integration for jest\n- [@types/node](https://www.npmjs.com/package/@types/node): TypeScript definitions for Node.js\n- [eslint](https://www.npmjs.com/package/eslint): An AST-based pattern checker for JavaScript.\n- [jest](https://www.npmjs.com/package/jest): Delightful JavaScript Testing.\n- [typescript](https://www.npmjs.com/package/typescript): TypeScript is a language for application scale JavaScript development\n\n\u003cbr /\u003e\n\n\u003ch2 id=\"license\"\u003eLicense \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg align=\"right\" alt=\"license\" src=\"https://img.shields.io/npm/l/@autossey/prxmpt.svg\"\u003e\u003c/a\u003e\u003c/h2\u003e\n\n[MIT](https://opensource.org/licenses/MIT) - _The MIT License_\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautosseyai%2Fprxmpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautosseyai%2Fprxmpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautosseyai%2Fprxmpt/lists"}