From 0359760d01977720ec25549d893dd16439699afd Mon Sep 17 00:00:00 2001 From: Joe Dutra Date: Tue, 30 Apr 2024 15:56:49 -0300 Subject: [PATCH] new docs --- .DS_Store | Bin 0 -> 6148 bytes docs/404.html | 21 + docs/Docs.md | 2097 ----------------- docs/Sidebar.md | 51 - docs/assets/app.iB7v5XaO.js | 7 + docs/assets/callbacks.md.9Rn7RiXs.js | 118 + docs/assets/callbacks.md.9Rn7RiXs.lean.js | 1 + docs/assets/chunks/framework.4X8dX8EZ.js | 17 + docs/assets/chunks/theme.jJu9wvzu.js | 1 + docs/assets/download-save-file.md.EhkP-o_d.js | 37 + .../download-save-file.md.EhkP-o_d.lean.js | 1 + docs/assets/en_about.md.WGVL6zWK.js | 5 + docs/assets/en_about.md.WGVL6zWK.lean.js | 1 + docs/assets/en_configs.md.XXz7wrOX.js | 1 + docs/assets/en_configs.md.XXz7wrOX.lean.js | 1 + docs/assets/en_contact.md.QbhOFKKF.js | 1 + docs/assets/en_contact.md.QbhOFKKF.lean.js | 1 + docs/assets/en_get-started.md.DImcJ8hz.js | 1 + .../assets/en_get-started.md.DImcJ8hz.lean.js | 1 + docs/assets/en_index.md.SbhtFFoC.js | 1 + docs/assets/en_index.md.SbhtFFoC.lean.js | 1 + docs/assets/en_introduction.md.fKVDA5wB.js | 194 ++ .../en_introduction.md.fKVDA5wB.lean.js | 1 + docs/assets/es_about.md.t0HjoKX9.js | 5 + docs/assets/es_about.md.t0HjoKX9.lean.js | 1 + docs/assets/es_configs.md.hCP6dw5X.js | 1 + docs/assets/es_configs.md.hCP6dw5X.lean.js | 1 + docs/assets/es_contact.md.m3ZaHbQF.js | 1 + docs/assets/es_contact.md.m3ZaHbQF.lean.js | 1 + docs/assets/es_get-started.md.IAU33Du3.js | 1 + .../assets/es_get-started.md.IAU33Du3.lean.js | 1 + docs/assets/es_index.md._tOJVrZy.js | 1 + docs/assets/es_index.md._tOJVrZy.lean.js | 1 + docs/assets/es_introduction.md.Xwe8WaMk.js | 194 ++ .../es_introduction.md.Xwe8WaMk.lean.js | 1 + docs/assets/functions-chat.md.PmEUKzYe.js | 56 + .../assets/functions-chat.md.PmEUKzYe.lean.js | 1 + .../functions-disconnected.md.ZmsdZk2o.js | 1 + ...functions-disconnected.md.ZmsdZk2o.lean.js | 1 + docs/assets/functions-group.md.k-Qnp_mQ.js | 138 ++ .../functions-group.md.k-Qnp_mQ.lean.js | 1 + docs/assets/functions-message.md.IVb724Gj.js | 44 + .../functions-message.md.IVb724Gj.lean.js | 1 + docs/assets/functions-others.md.qyenD7Fx.js | 127 + .../functions-others.md.qyenD7Fx.lean.js | 1 + docs/assets/get-started.md.e72yT3Zs.js | 34 + docs/assets/get-started.md.e72yT3Zs.lean.js | 1 + docs/assets/index.md.lQEv_vPG.js | 1 + docs/assets/index.md.lQEv_vPG.lean.js | 1 + .../inter-italic-cyrillic-ext.OVycGSDq.woff2 | Bin 0 -> 28332 bytes .../inter-italic-cyrillic.-nLMcIwj.woff2 | Bin 0 -> 17824 bytes .../inter-italic-greek-ext.hznxWNZO.woff2 | Bin 0 -> 12188 bytes docs/assets/inter-italic-greek.PSfer2Kc.woff2 | Bin 0 -> 23264 bytes .../inter-italic-latin-ext.RnFly65-.woff2 | Bin 0 -> 63552 bytes docs/assets/inter-italic-latin.27E69YJn.woff2 | Bin 0 -> 46048 bytes .../inter-italic-vietnamese.xzQHe1q1.woff2 | Bin 0 -> 8784 bytes .../inter-roman-cyrillic-ext.8T9wMG5w.woff2 | Bin 0 -> 26600 bytes .../inter-roman-cyrillic.jIZ9REo5.woff2 | Bin 0 -> 16780 bytes .../inter-roman-greek-ext.9JiNzaSO.woff2 | Bin 0 -> 11808 bytes docs/assets/inter-roman-greek.Cb5wWeGA.woff2 | Bin 0 -> 21776 bytes .../inter-roman-latin-ext.GZWE-KO4.woff2 | Bin 0 -> 59608 bytes docs/assets/inter-roman-latin.bvIUbFQP.woff2 | Bin 0 -> 42464 bytes .../inter-roman-vietnamese.paY3CzEB.woff2 | Bin 0 -> 8492 bytes docs/assets/introduction.md.6g_043d2.js | 1 + docs/assets/introduction.md.6g_043d2.lean.js | 1 + docs/assets/multiples-sections.md.znOdqNtr.js | 6 + .../multiples-sections.md.znOdqNtr.lean.js | 1 + .../parameters-optionals.md.vlyisBiR.js | 48 + .../parameters-optionals.md.vlyisBiR.lean.js | 1 + docs/assets/send-message.md.x_OzM9Vu.js | 363 +++ docs/assets/send-message.md.x_OzM9Vu.lean.js | 1 + docs/assets/status-connection.md.4-X4ebZt.js | 1 + .../status-connection.md.4-X4ebZt.lean.js | 1 + docs/assets/style.FHx-_2FG.css | 1 + docs/callbacks.html | 141 ++ docs/cover-docs.png | Bin 135884 -> 0 bytes docs/download-save-file.html | 60 + docs/en/about.html | 28 + docs/en/configs.html | 24 + docs/en/contact.html | 24 + docs/en/get-started.html | 24 + docs/en/index.html | 31 + docs/en/introduction.html | 217 ++ docs/es/about.html | 28 + docs/es/configs.html | 24 + docs/es/contact.html | 24 + docs/es/get-started.html | 24 + docs/es/index.html | 31 + docs/es/introduction.html | 217 ++ docs/functions-chat.html | 79 + docs/functions-disconnected.html | 24 + docs/functions-group.html | 161 ++ docs/functions-message.html | 67 + docs/functions-others.html | 150 ++ docs/get-started.html | 57 + docs/hashmap.json | 1 + docs/index.html | 31 + docs/introduction.html | 24 + docs/logo-big.svg | 27 + docs/logo.svg | 26 + docs/multiples-sections.html | 29 + docs/parameters-optionals.html | 71 + docs/send-message.html | 386 +++ docs/status-connection.html | 24 + 104 files changed, 3508 insertions(+), 2148 deletions(-) create mode 100644 .DS_Store create mode 100644 docs/404.html delete mode 100644 docs/Docs.md delete mode 100644 docs/Sidebar.md create mode 100644 docs/assets/app.iB7v5XaO.js create mode 100644 docs/assets/callbacks.md.9Rn7RiXs.js create mode 100644 docs/assets/callbacks.md.9Rn7RiXs.lean.js create mode 100644 docs/assets/chunks/framework.4X8dX8EZ.js create mode 100644 docs/assets/chunks/theme.jJu9wvzu.js create mode 100644 docs/assets/download-save-file.md.EhkP-o_d.js create mode 100644 docs/assets/download-save-file.md.EhkP-o_d.lean.js create mode 100644 docs/assets/en_about.md.WGVL6zWK.js create mode 100644 docs/assets/en_about.md.WGVL6zWK.lean.js create mode 100644 docs/assets/en_configs.md.XXz7wrOX.js create mode 100644 docs/assets/en_configs.md.XXz7wrOX.lean.js create mode 100644 docs/assets/en_contact.md.QbhOFKKF.js create mode 100644 docs/assets/en_contact.md.QbhOFKKF.lean.js create mode 100644 docs/assets/en_get-started.md.DImcJ8hz.js create mode 100644 docs/assets/en_get-started.md.DImcJ8hz.lean.js create mode 100644 docs/assets/en_index.md.SbhtFFoC.js create mode 100644 docs/assets/en_index.md.SbhtFFoC.lean.js create mode 100644 docs/assets/en_introduction.md.fKVDA5wB.js create mode 100644 docs/assets/en_introduction.md.fKVDA5wB.lean.js create mode 100644 docs/assets/es_about.md.t0HjoKX9.js create mode 100644 docs/assets/es_about.md.t0HjoKX9.lean.js create mode 100644 docs/assets/es_configs.md.hCP6dw5X.js create mode 100644 docs/assets/es_configs.md.hCP6dw5X.lean.js create mode 100644 docs/assets/es_contact.md.m3ZaHbQF.js create mode 100644 docs/assets/es_contact.md.m3ZaHbQF.lean.js create mode 100644 docs/assets/es_get-started.md.IAU33Du3.js create mode 100644 docs/assets/es_get-started.md.IAU33Du3.lean.js create mode 100644 docs/assets/es_index.md._tOJVrZy.js create mode 100644 docs/assets/es_index.md._tOJVrZy.lean.js create mode 100644 docs/assets/es_introduction.md.Xwe8WaMk.js create mode 100644 docs/assets/es_introduction.md.Xwe8WaMk.lean.js create mode 100644 docs/assets/functions-chat.md.PmEUKzYe.js create mode 100644 docs/assets/functions-chat.md.PmEUKzYe.lean.js create mode 100644 docs/assets/functions-disconnected.md.ZmsdZk2o.js create mode 100644 docs/assets/functions-disconnected.md.ZmsdZk2o.lean.js create mode 100644 docs/assets/functions-group.md.k-Qnp_mQ.js create mode 100644 docs/assets/functions-group.md.k-Qnp_mQ.lean.js create mode 100644 docs/assets/functions-message.md.IVb724Gj.js create mode 100644 docs/assets/functions-message.md.IVb724Gj.lean.js create mode 100644 docs/assets/functions-others.md.qyenD7Fx.js create mode 100644 docs/assets/functions-others.md.qyenD7Fx.lean.js create mode 100644 docs/assets/get-started.md.e72yT3Zs.js create mode 100644 docs/assets/get-started.md.e72yT3Zs.lean.js create mode 100644 docs/assets/index.md.lQEv_vPG.js create mode 100644 docs/assets/index.md.lQEv_vPG.lean.js create mode 100644 docs/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 create mode 100644 docs/assets/inter-italic-cyrillic.-nLMcIwj.woff2 create mode 100644 docs/assets/inter-italic-greek-ext.hznxWNZO.woff2 create mode 100644 docs/assets/inter-italic-greek.PSfer2Kc.woff2 create mode 100644 docs/assets/inter-italic-latin-ext.RnFly65-.woff2 create mode 100644 docs/assets/inter-italic-latin.27E69YJn.woff2 create mode 100644 docs/assets/inter-italic-vietnamese.xzQHe1q1.woff2 create mode 100644 docs/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 create mode 100644 docs/assets/inter-roman-cyrillic.jIZ9REo5.woff2 create mode 100644 docs/assets/inter-roman-greek-ext.9JiNzaSO.woff2 create mode 100644 docs/assets/inter-roman-greek.Cb5wWeGA.woff2 create mode 100644 docs/assets/inter-roman-latin-ext.GZWE-KO4.woff2 create mode 100644 docs/assets/inter-roman-latin.bvIUbFQP.woff2 create mode 100644 docs/assets/inter-roman-vietnamese.paY3CzEB.woff2 create mode 100644 docs/assets/introduction.md.6g_043d2.js create mode 100644 docs/assets/introduction.md.6g_043d2.lean.js create mode 100644 docs/assets/multiples-sections.md.znOdqNtr.js create mode 100644 docs/assets/multiples-sections.md.znOdqNtr.lean.js create mode 100644 docs/assets/parameters-optionals.md.vlyisBiR.js create mode 100644 docs/assets/parameters-optionals.md.vlyisBiR.lean.js create mode 100644 docs/assets/send-message.md.x_OzM9Vu.js create mode 100644 docs/assets/send-message.md.x_OzM9Vu.lean.js create mode 100644 docs/assets/status-connection.md.4-X4ebZt.js create mode 100644 docs/assets/status-connection.md.4-X4ebZt.lean.js create mode 100644 docs/assets/style.FHx-_2FG.css create mode 100644 docs/callbacks.html delete mode 100644 docs/cover-docs.png create mode 100644 docs/download-save-file.html create mode 100644 docs/en/about.html create mode 100644 docs/en/configs.html create mode 100644 docs/en/contact.html create mode 100644 docs/en/get-started.html create mode 100644 docs/en/index.html create mode 100644 docs/en/introduction.html create mode 100644 docs/es/about.html create mode 100644 docs/es/configs.html create mode 100644 docs/es/contact.html create mode 100644 docs/es/get-started.html create mode 100644 docs/es/index.html create mode 100644 docs/es/introduction.html create mode 100644 docs/functions-chat.html create mode 100644 docs/functions-disconnected.html create mode 100644 docs/functions-group.html create mode 100644 docs/functions-message.html create mode 100644 docs/functions-others.html create mode 100644 docs/get-started.html create mode 100644 docs/hashmap.json create mode 100644 docs/index.html create mode 100644 docs/introduction.html create mode 100644 docs/logo-big.svg create mode 100644 docs/logo.svg create mode 100644 docs/multiples-sections.html create mode 100644 docs/parameters-optionals.html create mode 100644 docs/send-message.html create mode 100644 docs/status-connection.html diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e3a7d30f2348f2ba3b22f04c69f7a6748c6a9941 GIT binary patch literal 6148 zcmeHK!EVz)5S>j7wN;RE0I3%wOT9)Rgo0G{;-<-=66H`=<#pF-bb3yb||qU0gKFFUVn-k`BHpLbsEH2qFzchU6cyPbB^-+B3ZvGCld z+t2ro2Vc|kOkSzVNZ|Wb^4Q=FT*J7n`!bwlsm#XkaeN(|ozr-g4e<;k%dBnC8#<%| z>eE{asb7ia`InxL!u)Y1<7Xw~5na-VCY0l8BxT6?0vpz9UX7o6c_nnM zSOzQu_m%;(=ee8rmH}J1Wxz79jse~ud?;gJu+*rw4m9ct0CeD10$ct11ATS?1B0bT zcpyTj0(Gh|R}5ip4nn76JTUR4Mx9PVt&Dlh%EH`Ggt>SKUxkwhG}_iOU>R6tpsu?O zKL7jc@Bgbwwr3fz4E$FN2&WhJx+uw + + + + + 404 | SuperChats + + + + + + + + + + +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/Docs.md b/docs/Docs.md deleted file mode 100644 index 8106484..0000000 --- a/docs/Docs.md +++ /dev/null @@ -1,2097 +0,0 @@ -## Quickstart - -Run the following command to ensure you have SuperChats installed: - -```bash -$ npm install superchats -``` - -or using yarn: - -```bash -$ yarn add superchats -``` - -## Getting Started - -```javascript -const superchats = require("superchats"); - -const client = await superchats.create({ - session: "Marketing", - license: "asjdh-efddff734-sdsdf834-233272", - multidevice: true, // (default is false) for used whatsapp beta - onMessage: async (message) => { - if (message.type == "text" && message.content == "hi") { - await client.sendText(message.from, "Thanks for using Superchats!!!"); - } - } // Receive an event all the time you receive a message from some contact -}) -``` - -## Multiples Sessions - -After executing create() function, **Superchats** will create an instance of whatsapp. If you are not logged in, it will print a QR code in the terminal. Scan it with your phone and you are ready to go! -**Superchats** will remember the session so there is no need to authenticate everytime. -Multiples sessions can be created at the same time by pasing a session name to create() function: - -```javascript -// Init sales whatsapp bot -superchats.create({session:'sales', license: "asjdh-efddff734-sdsdf834-233272"}).then((salesClient) => {...}); - -// Init support whatsapp bot -ssuperchats.create({session:'support', license: "asjdh-efddff734-sdsdf834-233272"}).then((supportClient) => {...}); -``` - -## Optional Parameters - -Optional parameters are started along with the connection as events of **QRCODE and CONNECTION STATUS**, plus extra options - -```javascript -const superchats = require("superchats"); - -superchats.create({ - session: "Marketing", - license: "asjdh-efddff734-sdsdf834-233272", // Valid license to use Superchats - welcomeScreen: true, // Show or hide welcome in terminal - retries: 3, // Number of connection attempts, - nodata true, // It doesn't get the entire history of the device (default = true) - logQr: true // (Default is true) Logs QR automatically in terminal - qrcode: (base64QR, asciiQR, urlCode) => { - console.log("base64 image of qrcode: ", base64QR); - console.log("Terminal image of qrcode in caracter ascii: ", asciiQR); - console.log("Terminal string hash of qrcode: ", urlCode); - statusFind: (statusSession) => { - console.log("Status Session: ", statusSession); - }, - onMessage: (event) => { // Receive an event all the time you receive a message from some contact - console.log(event) - }, - onAck: (event) => { // Receive an event every time you send a message to some contact with the States of: failed, pending, sent, received or read - console.log(event) - }, - onPresence: (event) => { // Receive an event every time a contact is: typing, recording, online or offline with you - console.log(event) - }, - onGroups: (event) => { // Receive events all time the name of a group, configurations are changed - console.log(event) - }, - onParticipants: (event) => { // Receive events about group participants - console.log(event) - }, - onDelete: (event) => { // Receive events every time a message is deleted - console.log(event) - } - }) -``` -## Callback StatusFind - -Get connection feedback by following codes: - -| Status | Condition | -| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `isLogged` | When the client already has a valid token and will not need to read the qrcode again | -| `notLogged` | When the client does not have a valid token and needs to read the qr code again | | -| `isDisconnected` | The client has disconnected or has been disconnected | -| `isLogout` | The client has disconnected and removed the token from the device | -| `isConnected` | The client has successfully connected list | -| `serverDisconnected` | Disconnected for whatsapp socket server | -| `isReconnected` | notifies that it is connected so that you can check if it has been successfully connected | - -## Download and Save Files - -Download and save any message file with the functions below - -```javascript -const client = await superchats.create({ - session: "Marketing", - license: "asjdh-efddff734-sdsdf834-233272", - onMessage: async (message) => { - if (message.isMedia === true) { - - //retrieve the file buffer for a given message - const buffer = await client.decryptByIdFile(message.from, message.id); - - // Save the message file in the project's root or in a directory: './diretory/filename' don't forget to create the directory - - const saveFile = await client.decryptByIdFileSave(message.from, message.id, filename); - - } - } // Receive an event all the time you receive a message from some contact -}) - -``` - -##### Return of decryptFile -```javascript -{ - session: 'Marketing', - status: 200, - type: "decrypt-by-id-file", - buffer: { - type: "Buffer", - data: [137,80,78,71,13,10,26,10,0,0,0,13,73,72,68] - } -} -``` -##### Return of decryptFileSave -```javascript -{ - session: 'Marketing', - status: 404, - type: "decrypt-by-id-file-save", - response: "./files/teste4.mp4" -} -``` -## Disconnect Functions - -> Disconnect Functions - -```javascript - client.close() -``` -```javascript - client.logout() -``` - -## Message Sending Functions - -We created the easiest way to send messages with **Superchats** - -> Sending messages can be sent to the contact's number, example: **5561981590153** or to a group ID, example: **15815954040-1631239154** - -### Send Message Text - -```javascript -let response = await client.sendText("5561981590153", "Thanks for using Superchats!!!"); - -``` - -> To reply to a message, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript -let response = await client.sendText("5561981590153", "Reply Message!!!", '3EB01A690E67'); -``` - -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'text', - id: '3EB01A690E67', - to: '556181590153', - content: 'Thanks for using Superchats!!!', - isgroup: false, - timestamp: 1633101992 -} -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'text', - message: 'message of erro' -} -``` -### Send Message Image - -> For image submission, you can use URL or the local file path - -```javascript -let response = await client.sendImage("5561981590153", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", "Text optional"); - -``` - -> To reply to a message with image, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript -let response = await client.sendImage("5561981590153", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", "Reply with image", '3EB01A690E67'); -``` - -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'image', - id: '3EB0FF4E2532', - to: '556181590153', - isgroup: false, - file: { - url: 'https://mmg.whatsapp.net/d/f/AmkmMjj4ZqieB6bDxS-Trox10ldAe5aIUZ5uQLutyKL8.enc', - caption: 'Text optional', - mimetype: 'image/jpeg', - fileSha256: , - fileLength: Long { low: 15183, high: 0, unsigned: true }, - height: 0, - width: 0, - mediaKey: , - fileEncSha256: , - directPath: '', - thumbnail: - }, - participant: '', - timestamp: 1633106913 -} - -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'image', - message: 'message of erro' -} -``` - -### Send Message Sticker - -> For image sticker submission, you can use URL or the local file path - -```javascript -let response = await client.sendSticker("5561981590153", "https://static-00.iconduck.com/assets.00/node-js-icon-454x512-nztofx17.png"); - -``` - -> To reply to a message with image sticker, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript -let response = await client.sendSticker("5561981590153", "https://static-00.iconduck.com/assets.00/node-js-icon-454x512-nztofx17.png", '3EB01A690E67'); -``` - -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'sticker', - id: '3EB07B2F281B', - to: '556181590153', - isgroup: false, - file: { - url: 'https://mmg.whatsapp.net/d/f/Ak39fUdprDRnKalZbWWyepoMbvNBlEOgIqZzY7GLEBil.enc', - mimetype: 'image/webp', - fileSha256: , - fileLength: Long { low: 23001, high: 0, unsigned: true }, - mediaKey: , - fileEncSha256: , - directPath: '' - }, - participant: '', - timestamp: 1633129024 -} -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'sticker', - message: 'message of erro' -} -``` - -### Send Message Video -> For video submission, you can use URL or the local file path - -```javascript -let response = await client.sendVideo("5561981590153", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", "Text optional"); - -``` - -> To reply to a message with video, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript -let response = await client.sendVideo("5561981590153", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", "Reply with video", '3EB01A690E67'); -``` - -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'video', - id: '3EB0612BED9B', - to: '556181590153', - isgroup: false, - file: { - url: 'https://mmg.whatsapp.net/d/f/AnrExTInFHkr446WcJoVnbHhhb1Tdmg8ort6g1SweEvS.enc', - caption: 'Text optional', - mimetype: 'video/mp4', - fileSha256: , - fileLength: Long { low: 2252313, high: 0, unsigned: true }, - mediaKey: , - fileEncSha256: , - directPath: '', - thumbnail: - }, - participant: '', - timestamp: 1633108332 -} - -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'video', - message: 'message of erro' -} -``` - -### Send Message Audio -> For audio submission, you can use URL or the local file path - -```javascript -let response = await client.sendAudio("5561981590153", "https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3"); - -``` - -> To reply to a message with audio, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript -let response = await client.sendAudio("5561981590153", "https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3", '3EB01A690E67'); -``` - -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'audio', - id: '3EB072B039F6', - to: '556181590153', - content: '', - isgroup: false, - file: { - url: 'https://mmg.whatsapp.net/d/f/AjwRfBCBZ1XgeSLtdVTr96lMJO5CtZtjCi0HpNjEctDW.enc', - mimetype: 'audio/ogg; codecs=opus', - fileSha256: , - fileLength: Long { low: 764176, high: 0, unsigned: true }, - seconds: 27, - mediaKey: , - fileEncSha256: , - directPath: '' - }, - participant: '', - timestamp: 1633111077 -} - -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'audio', - message: 'message of erro' -} -``` -### Send Message Audio Voice -> For audio voice submission, you can use URL or the local file path - -```javascript -let response = await client.sendVoice("5561981590153", "https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3"); - -``` - -> To reply to a message with audio voice, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript -let response = await client.sendVoice("5561981590153", "https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3", '3EB01A690E67'); -``` - -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'voice', - id: '3EB072B039F6', - to: '556181590153', - content: '', - isgroup: false, - file: { - url: 'https://mmg.whatsapp.net/d/f/AjwRfBCBZ1XgeSLtdVTr96lMJO5CtZtjCi0HpNjEctDW.enc', - mimetype: 'audio/ogg; codecs=opus', - fileSha256: , - fileLength: Long { low: 764176, high: 0, unsigned: true }, - seconds: 27, - mediaKey: , - fileEncSha256: , - directPath: '' - }, - participant: '', - timestamp: 1633111077 -} - -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'voice', - message: 'message of erro' -} -``` - -### Send Message Document -> For document submission, you can use URL or the local file path - -```javascript -let response = await client.sendDocument("5561981590153", "http://www.orimi.com/pdf-test.pdf", "Filename Optional"); - -``` -> To reply to a message with document, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript -let response = await client.sendDocument("5561981590153", "http://www.orimi.com/pdf-test.pdf", "Filename Optional", '3EB01A690E67'); -``` -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'document', - id: '3EB07C8C333C', - to: '556181590153', - isgroup: false, - file: { - url: 'https://mmg.whatsapp.net/d/f/ArJfVUhnzdW7qcBk8-T-mzRWsfMN6k_WOS81td_xJs6E.enc', - mimetype: 'application/pdf', - filename: 'Filename Optional', - fileSha256: , - fileLength: Long { low: 20597, high: 0, unsigned: true }, - mediaKey: , - fileEncSha256: , - directPath: '', - thumbnail: - }, - participant: '', - timestamp: 1633121433 -} -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'document', - message: 'message of erro' -} -``` -### Send Message Location - -```javascript -let response = await client.sendLocation("5561981590153", -15.8413105, -48.0270346, 'title optional', 'address optional'); - -``` -> To reply to a message with location, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript -let response = await client.sendLocation("5561981590153", -15.8413105, -48.0270346, 'title optional', 'address optional', '3EB01A690E67'); -``` -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'location', - id: '3EB01A3D9A34', - to: '556181590153', - name: 'title optional', - address: 'address optional', - url: '', - thumbnail: , - latitude: -15.8413105, - longitude: -48.0270346, - isgroup: false, - participant: '', - timestamp: 1633122748 -} -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'location', - message: 'message of erro' -} -``` -### Send Message Contact - -```javascript -let response = await client.sendContact("5561981590153",'Name of Contact', '15815954040'); - -``` -> To reply to a message with contact, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript -let response = await client.sendContact("5561981590153",'Name of Contact', '15815954040', '3EB01A690E67'); -``` -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'contact', - id: '3EB00AFB1F60', - to: '556181590153', - display: 'Name of Contact', - vcard: 'BEGIN:VCARD\n' + - 'VERSION:3.0\n' + - 'FN:Name of Contact\n' + - 'TEL;type=CELL;type=VOICE;waid=15815954040:+15815954040\n' + - 'END:VCARD', - isgroup: false, - timestamp: 1633128149 -} -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'contact', - message: 'message of erro' -} -``` -### Send Message Link - -```javascript - let response = await client.sendLink("5561981590153", "https://music.youtube.com/watch?v=mqA5iMLsME8&feature=share", 'Description optional'); - -``` -> To reply to a message with link, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript - let response = await client.sendLink("5561981590153", "https://music.youtube.com/watch?v=mqA5iMLsME8&feature=share", 'Description optional', '3EB01A690E67'); -``` -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'link', - id: '3EB0746BE9A9', - to: '556181590153', - content: 'https://music.youtube.com/watch?v=mqA5iMLsME8&feature=share\n' + - 'Description optional', - isgroup: false, - timestamp: 1633130029 -} -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'link', - message: 'message of erro' -} -``` -### Send Buttons Reply - -```javascript - const buttons = [ - {buttonId: 'id1', buttonText: {displayText: 'Button 1'}, type: 1}, - {buttonId: 'id2', buttonText: {displayText: 'Button 2'}, type: 1} - ] - let response = await client.sendButtons("5561981590153", "title of message", buttons, 'Description optional'); -``` - -> Use media in message header of buttons, image or optional video parameter. - -```javascript - let response = await client.sendButtons("5561981590153", "title of message", buttons, 'Description optional', 'image', 'https://domain.com/image.jpg'); -``` -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'buttons-reply', - id: '3EB071B7776A', - to: '556181590153', - title: 'title of message', - description: 'Description optional', - buttons: [ - Button { buttonId: 'id1', buttonText: [ButtonText], type: 1 }, - Button { buttonId: 'id2', buttonText: [ButtonText], type: 1 } - ], - isgroup: false, - timestamp: 1633142713 -} -``` - -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'buttons-reply', - message: 'message of erro' -} -``` - -### Send Message Buttons - -```javascript -const buttons = [ - {index: 1, quickReplyButton: {displayText: 'Button Normal Reply', id: 'id-123'}}, - {index: 2, callButton: {displayText: 'Button Call', phoneNumber: '+55 (61) 98159-0153'}}, - {index: 3, urlButton: {displayText: 'Button Link', url: 'https://stuidomedia.io'}}, -] - -let response = await client.sendButtonsMD("5561981590153", "title of message", buttons, 'Description optional'); -``` - -> Use media in message header of buttons, image or optional video parameter. - -```javascript - let response = await client.sendButtonsMD("5561981590153", "title of message", buttons, 'Description optional', 'image', 'https://domain.com/image.jpg'); -``` -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'buttons', - id: '3EB071B7776A', - to: '556181590153', - title: 'title of message', - description: 'Description optional', - buttons: [ - Button { buttonId: 'id1', buttonText: [ButtonText], type: 1 }, - Button { buttonId: 'id2', buttonText: [ButtonText], type: 1 } - ], - isgroup: false, - timestamp: 1633142713 -} -``` - -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'buttons', - message: 'message of erro' -} -``` - - - -### Send Message List -> Attention! This function does not work if connected to a WhatsApp Business account - -```javascript - - const sections = [ - { - title: "Bovina", - rows: [ - { title: "Fraudinha", rowId: "carnes1" }, - { title: "Alcatra", rowId: "carnes2", description: "Carne boa" }, - ], - }, - { - title: "Suina", - rows: [ - { title: "Costelinha", rowId: "carnes3" }, - { - title: "Picanha Suina", - rowId: "carnes4", - description: "Carne boa", - }, - ], - }, - ]; - //number of contact, name of button, sections array, title, description: optional, footer: optional - let response = await const response = await client.sendList( - "5561981590153", - "Escolha a Carne", - sections, - "Escolha 1 tipo de carne", - "", //Description opcional - "Qual o tipo de carne vai na sua refeição?" - ); - -``` -> To reply to a message with buttons, use the id of the message you want to reply to in the last parameter, which is optional. - -```javascript - //number of contact, name of button, sections array, title, description: optional, footer: optional, id message for reply - let response = await const response = await client.sendList( - "5561981590153", - "Escolha a Carne", - sections, - "Escolha 1 tipo de carne", - "", //Description opcional - "Qual o tipo de carne vai na sua refeição?", - "3EB01A690E67" - ); -``` -##### Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'list', - id: '3EB0F92B3F1D', - to: '556181590153', - description: 'Description optional', - btnName: 'Name of Button', - sections: [ Section { rows: [Array], title: 'Name of section' } ], - isgroup: false, - timestamp: 1633143340 -} -``` -##### Return with erro - -```javascript -{ - session: 'Marketing', - status: 404, - type: 'list', - message: 'message of erro' -} -``` - -## Delete Message - -> Delete messages in chats only for you or for all - -Delete message only for you - -```javascript -//number of chat, id of message -let response = await client.deleteMessageMe("5561981590153", "3EB071B7776A") - -``` -Delete Message to everyone on chat - -```javascript -//number of chat, id of message -let response = await client.deleteMessageAll("5561981590153", "3EB071B7776A") - -``` - -Return with success -```javascript -{ - session: 'Marketing', - status: 200 - type: 'delete-chat-me' -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'delete-chat-me', - message: 'message of erro' -} -``` -## Forwarding Message - -> Message forwarding for any contact - - - - -```javascript -//number of chat, id of message, number chat for send -let response = await client.forwardMessage("5561981590153", "3EB042FA6555", "15815954040") - -``` - -Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'forwarding', - subtype: 'text', - id: '3EB042FA6555', - from: '15815954040', - text: 'oi', - isgroup: false, - reply: { id: undefined }, - participant: '', - timestamp: 1633147282 -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'forwarding', - message: 'message of erro' -} -``` - -## Get Chats - -> List All Chats of Conversations - - -```javascript -let response = await client.getChats() - -``` - -Return with success -```javascript -{ - session: 'Marketing', - type: 'get-chats', - chats: [ - { id: '556181590153', name: 'Joe Dutra', mute: '0', spam: 'false' }, - { - id: '5511982743910-1596072761', - name: 'Venom Support', - mute: '0', - spam: 'false' - } - ] -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'get-chats', - message: 'message of erro' -} -``` -## Read Chat Messages - -> Read all messages from a chat - - -```javascript -let response = await client.markReadAll('5561981590153') - -``` - -> Read message from a chat - - -```javascript -let response = await client.markRead('5561981590153', '3EB01A690E67') // params: Number, MessageID - -``` - - -Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: "mark-read" -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'mark-read', - message: 'message of erro' -} -``` -## Get All Contacts - -> List All Contacts - - -```javascript -let response = await client.getAllContacts() - -``` - -Return with success -```javascript -{ - session: 'Marketing', - type: 'get-all-contacts', - qt: 2, - contacts: [ - { - id: '552123919428', - name: 'Alenii Venom', - short: '' - }, - { - id: '556181590153', - name: 'Joe Dutra', - short: '' - } - ] -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'get-all-contacts', - message: 'message of erro' -} -``` -## Get Block List - -> List All Contacts Blocking - - -```javascript -let response = await client.getBlockList() - -``` - -Return with success -```javascript -{ - session: 'Marketing', - type: 'get-block-list', - list: [ '5561986268199', '5561998745252' ] -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'get-block-list', - message: 'message of erro' -} -``` - -## Mute Chat - -> Silence or remove the silence of a particular chat for a specific period - - -**Mute** -```javascript -//number of chat, timer: ['hour', 'week', 'ever'] -let response = await client.muteChat("5561981590153", "hour") - -``` -**Unmute** -```javascript -//number of chat -let response = await client.unmuteChat("5561981590153") - -``` - -Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'mute-chat', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'mute-chat', - message: 'message of erro' -} -``` -## Archive Chat - -> Archive or unarchive a specific chat - - -**Archive** -```javascript -//number of chat, true -let response = await client.archiveChat("5561981590153", true) - -``` -**Unarchive** -```javascript -//number of chat, false -let response = await client.archiveChat("5561981590153", false) - -``` - -Return with success -```javascript -{ - session: 'Marketing', - status: 200, - type: 'archive-chat', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'archive-chat', - message: 'message of erro' -} -``` -## Delete Chat - -> Delete a specific chat or group - - -**Archive** -```javascript -//number of chat or group -let response = await client.deleteChat("5561981590153") -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'delete-chat', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'delete-chat', - message: 'message of erro' -} -``` -## Pin Chat - -> Pin or unpin a specific chat or group - - -**Pin** -```javascript -//number of chat, true -let response = await client.pinChat("5561981590153", true) - -``` -**Unpin** -```javascript -//number of chat, false -let response = await client.pinChat("5561981590153", false) - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'pin-chat', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'pin-chat', - message: 'message of erro' -} -``` -## Block Contact - -> Blocking or unblocking a specific contact - - -**Block** -```javascript -//number of chat -let response = await client.blockContact("5561981590153") - -``` -**Unblock** -```javascript -//number of chat -let response = await client.unblockContact("5561981590153") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'block-contact', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'block-contact', - message: 'message of erro' -} -``` -## Get Profile Status - -> Displays the text of the status of a specific contact - - -```javascript -//number of chat -let response = await client.getProfileStatus("5561981590153") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - type: 'get-profile-status', - status: 'Que Deus seja sempre louvado em nossas vidas' -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'get-profile-status', - message: 'message of erro' -} -``` -## Get Picture - -> Displays the image of a specific contact - - -```javascript -//number of chat -let response = await client.getPicture("5561981590153") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'get-picture', - picture: 'https://pps.whatsapp.net/v/t61.24694-24/166060433_390988636021500_3494454124066997603_n.jpg?ccb=11-4&oh=453e672ddc35e64ca123439f7a89d7d2&oe=615EAAAF' -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'get-picture', - message: 'message of erro' -} -``` -## Set Picture - -> Set image for profile or group - - -```javascript -//number of chat, file local path -let response = await client.setPicture("5561981590153", "./image-profile.png") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'set-picture' -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'set-picture', - message: 'message of erro' -} -``` -## Get Number Profile - -> Checks if a number exists in the WhastApp - -```javascript -//number of chat -let response = await client.getNumberProfile("5561981590153") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - type: 'get-number-profile', - id: '556181590153', - isBusiness: false, - exist: true -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'get-number-profile', - message: 'message of erro' -} -``` - -## Groups Functions - -We created the easiest way to create groups with **Superchats** - -## Create Group - -> Create a group with participants - - -```javascript -//name of group, array with number of contacts -let response = await client.createGroup("Name Group", ["556181590153", "5561981819855"]) - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'create-group', - groupId: "15815954040-1631239154" -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'create-group', - message: 'message of erro' -} -``` - -## Add Participants Group - -> Add participants in group - - -```javascript -//id of group, array with number of contacts -let response = await client.addParticipantsGroup("15815954040-1631239154", ["556181590153", "5561981819855"]) - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'add-participants-group', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'add-participants-group', - message: 'message of erro' -} -``` -## Add Admins Group - -> Add or Remove participants of group as admin - - -```javascript -//id of group, array with number of contacts -let response = await client.addGroupAdmins("15815954040-1631239154", ["556181590153", "5561981819855"]) - -``` -```javascript -//id of group, array with number of contacts -let response = await client.removeGroupAdmins("15815954040-1631239154", ["556181590153", "5561981819855"]) - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'add-group-admins', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'add-group-admins', - message: 'message of erro' -} -``` -## Change Name of Group - -> Change name of group - - -```javascript -//id of group, name group -let response = await client.groupTitle("15815954040-1631239154", "new name of group") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'group-title', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'group-title', - message: 'message of erro' -} -``` -## Change Description of Group - -> Change description of group - - -```javascript -//id of group, name group -let response = await client.groupDescription("15815954040-1631239154", "description of group") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'group-description', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'group-description', - message: 'message of erro' -} -``` -## Join Group - -> Join a group specified - - -```javascript -//id of group -let response = await client.joinGroup("15815954040-1631239154") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'join-group', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'join-group', - message: 'message of erro' -} -``` -## Leave Group - -> Leaves a group specified - - -```javascript -//id of group -let response = await client.leaveGroup("15815954040-1631239154") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'leave-group', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'leave-group', - message: 'message of erro' -} -``` - -## Revoke Group Link - -> Revoke link from a specified group - - -```javascript -//id of group -let response = await client.revokeGroupLink("15815954040-1631239154") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'revoke-group-link', - linkGroup: 'G3M81fQbuwDB2cuAdPIv0h' -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'revoke-group-link', - message: 'message of erro' -} -``` -## Info Group - -> Get info from a specified group - - -```javascript -//id of group -let response = await client.infoGroup("15815954040-1631239154") - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - type: 'info-group', - status: 200, - id: '15795662985-1631581942', - owner: '15795662985@c.us', - title: 'Teste Grupo Live', - create: 1631581942, - participants: [ - { - id: '556181590153', - name: 'Joe Dutra', - short: 'Joe', - isAdmin: false, - isSuperAdmin: false - }, - { - id: '5521991977392', - name: 'Israel - Fabrica de Sonhos', - short: 'Israel - Fabrica', - isAdmin: false, - isSuperAdmin: false - } - ] -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'info-group', - message: 'message of erro' -} -``` -## Set Group Settings - -> Get info from a specified group - -**Set sending messages in group only for admins** -```javascript -//id of group, type, boolean -let response = await client.setGroupSettings("15815954040-1631239154", "message", true) - -``` -**Set change settings in group only for admins** -```javascript -//id of group, type, boolean -let response = await client.setGroupSettings("15815954040-1631239154", "settings", true) - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'set-group-settings', -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'set-group-settings', - message: 'message of erro' -} -``` -## Get Groups List - -> Get all groups list - -```javascript -let response = await client.getGroups() - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'get-groups', - chats: [ - { id: '5511982743910-1596072761', name: 'Venom Support' }, - { id: '556181590153-1625838636', name: 'Venom Business' } - ] -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'get-groups', - message: 'message of erro' -} -``` - -## Get Host Device - -> Get info of device - -```javascript -let response = await client.getHostDevice() - -``` - -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'get-host-device', - phone: '556181590153', - image: "https://pps.whatsapp.net/v/t61.24694-24/254827313_500572874791871_6168181924916411415_n.jpg?stp=dst-jpg_s96x96&ccb=11-4&oh=5ee43eb4f1fe109b10ceba05292561aa&oe=622FF53D", - pushName: 'Joe Dutra' -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'get-host-device', - message: 'message of erro' -} -``` -## Chat Messages Functions - -> Know the types of functions to recover chat messages - -**Take the last 10 messages from a chat** -```javascript -//number of chat, Number -let response = await client.getChatMessages('556181590153', 10) - -``` -**Take all messages from a chat** -```javascript -//number of chat -let response = await client.getChatAllMessages('556181590153') - -``` -**Take all unread messages from all chats** -```javascript -let response = await client.getAllUnreadMessages() - -``` -Return with success - -```javascript -{ - session: 'Marketing', - type: 'get-chat-messages', - messages: [ - { - session: 'Marketing', - type: 'reply', - subtype: 'text', - id: '3EB082EFA70F', - from: '556181590153', - text: 'Oi', - isgroup: false, - reply: [Object], - participant: '', - timestamp: 1633407729 - }, - { - session: 'Marketing', - type: 'text', - id: '3EB0D91B1ECF', - from: '556181590153', - content: 'Oi', - isgroup: false, - participant: '', - timestamp: 1633408611 - }, - { - session: 'Marketing', - type: 'text', - id: '3EB0AD7A246F', - from: '556181590153', - content: 'Testando', - isgroup: false, - participant: '', - timestamp: 1633411173 - }, - { - session: 'Marketing', - type: 'text', - id: '46110924F9C202D3933AA4CBC2F209A3', - from: '556181590153', - content: 'Oi', - isgroup: false, - participant: '', - timestamp: 1633411357 - }, - { - session: 'Marketing', - type: 'text', - id: '3EB0EE5900AF', - from: '556181590153', - content: 'Testando', - isgroup: false, - participant: '', - timestamp: 1633411382 - }, - { - session: 'Marketing', - type: 'text', - id: '96033721D4426073C37802F407251F9A', - from: '556181590153', - content: 'Oi', - isgroup: false, - participant: '', - timestamp: 1633411396 - }, - { - session: 'Marketing', - type: 'text', - id: '3EB067D84A06', - from: '556181590153', - content: 'Testando', - isgroup: false, - participant: '', - timestamp: 1633411746 - }, - { - session: 'Marketing', - type: 'text', - id: '2CDF9BAF7E20E72BC74D602A339DA2C2', - from: '556181590153', - content: 'Oiiii', - isgroup: false, - participant: '', - timestamp: 1633411781 - }, - { - session: 'Marketing', - type: 'text', - id: '4DEBB46473A8E642E8764F6C70567089', - from: '556181590153', - content: 'Como vai???', - isgroup: false, - participant: '', - timestamp: 1633411792 - }, - { - session: 'Marketing', - type: 'text', - id: 'B536EAE6275FD6FF98F3E3326FE1682F', - from: '556181590153', - content: 'Top', - isgroup: false, - participant: '', - timestamp: 1633411811 - } - ] -} -``` -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'get-chat-messages', - message: 'message of erro' -} -``` - -## Update Presence - -Update your presence for a certain contact - -Types of state: a = available, c = composing, r = recording, p = paused - -```javascript -//chat number, state: a, c, r, p -let response = await client.setPresence('556181590153', 'c'); - -``` -Return with success - -```javascript -{ - session: 'Marketing', - status: 200, - type: 'set-presence' -} -``` - -Return with erro -```javascript -{ - session: 'Marketing', - status: 404, - type: 'set-presence', - message: 'message of erro' -} -``` - -## Observation Events - -> Follow each event at the time that happen - - -### **Received Message Event** -
- -> Receive an event all the time you receive a message from some contact - -```javascript -//event:any -const client = await superchats.create({ - session: "Marketing", - license: "asjdh-efddff734-sdsdf834-233272", - multidevice: true, // (default is false) for used whatsapp beta - onMessage: (event) => { - console.log(event) -}) -``` -Return of event onMessage - -```javascript -{ - session: 'Marketing', - type: 'text', - id: '3EB07A5B9979E8CB453A', - from: '556181590153', - content: 'oiii', - isgroup: false, - participant: '', - timestamp: 1633414066 -} -``` - -### **Reading Confirmation Event** -
- -> Receive an event every time you send a message to some contact with the States of: failed, pending, sent, received or read - -```javascript -//event:any -const client = await superchats.create({ - session: "Marketing", - license: "asjdh-efddff734-sdsdf834-233272", - multidevice: true, // (default is false) for used whatsapp beta - onAck: (event) => { - console.log(event) -}) -``` -Return of event onAck - -```javascript -{ - session: 'Marketing', - status: 'RECEIVED', - type: 'text', - id: '3EB02BC6217B', - to: '556181590153', - text: 'Hii', - isgroup: false, - timestamp: 1633414317 -} -``` -### **Presence Event** -
- -> Receive an event every time a contact is: typing, recording, online or offline with you -
-Types of state: **available**, **composing**, **recording** and **paused** - -```javascript -//event:any -const client = await superchats.create({ - session: "Marketing", - license: "asjdh-efddff734-sdsdf834-233272", - multidevice: true, // (default is false) for used whatsapp beta - onPresence: (event) => { - console.log(event) -}) - -``` -Return of event onPresence - -```javascript -{ - session: 'Marketing', - from: '556181590153', - status: 'composing', - pushname: 'Joe Dutra' -} -``` -### **Group Event** -
- -> Receive events all time the name of a group, configurations are changed -
-Types of return: **change-name**, **change-messages-admin**, **change-settings-admin** and **paused** - -```javascript -//event:any -const client = await superchats.create({ - session: "Marketing", - license: "asjdh-efddff734-sdsdf834-233272", - multidevice: true, // (default is false) for used whatsapp beta - onGroups: (event) => { - console.log(event) -}) -``` -Return of event onGroup -
- -##### **Name change group** - -```javascript -{ - session: 'Marketing', - action: 'change-name', - changed: [ 'Grupo Live', 'Teste Grupo Live' ], - group: 'Grupo Live', - from: '15795662985-1631581942', - participant: '15795662985', - participants: 3 -} -``` - -##### **Group changes for messages just for admins** - -```javascript -{ - session: 'Marketing', - action: 'change-messages-admin', - changed: 'active', - group: 'Grupo Live', - from: '15795662985-1631581942', - participant: '15795662985', - participants: 3 -} -``` -##### **Group changes for settings just for admins** -```javascript -{ - session: 'Marketing', - action: 'change-settings-admin', - changed: 'active', - group: 'Grupo Live', - from: '15795662985-1631581942', - participant: '15795662985', - participants: 3 -} -``` -### **Participants Event** -
- -> Receive events about group participants -
- -Types of action: **add**, **remove**, **promote** and **demote** - -```javascript -//event:any -const client = await superchats.create({ - session: "Marketing", - license: "asjdh-efddff734-sdsdf834-233272", - multidevice: true, // (default is false) for used whatsapp beta - onParticipants: (event) => { - console.log(event) -}) - -``` -Return of event onParticipants -
- -##### **Add participants** - -```javascript -{ - session: 'Marketing', - group: 'Grupo Live', - from: '15795662985-1631581942', - participant: '5521991977392', - action: 'add', - participants: 3 -} -``` -##### **Remove participants** - -```javascript -{ - session: 'Marketing', - group: 'Grupo Live', - from: '15795662985-1631581942', - participant: '5521991977392', - action: 'remove', - participants: 2 -} -``` - -##### **Promote participants** - -```javascript -{ - session: 'Marketing', - group: 'Grupo Live', - from: '15795662985-1631581942', - participant: '5521991977392', - action: 'promote', - participants: 3 -} -``` -##### **Demote participants** - -```javascript -{ - session: 'Marketing', - group: 'Grupo Live', - from: '15795662985-1631581942', - participant: '5521991977392', - action: 'demote', - participants: 3 -} -``` -### **Delete Event** -
- -> Receive events every time a message is deleted - - -```javascript -//event:any -const client = await superchats.create({ - session: "Marketing", - license: "asjdh-efddff734-sdsdf834-233272", - multidevice: true, // (default is false) for used whatsapp beta - onDelete: (event) => { - console.log(event) -}) - -``` -Return of event onDelete -
- -```javascript -{ - session: 'Marketing', - type: 'message-delete', - from: '15795662985-1631581942', - id: '3EB07E88FDCF1C4EF887', - timestamp: 1633453902 -} -``` diff --git a/docs/Sidebar.md b/docs/Sidebar.md deleted file mode 100644 index f80ac3e..0000000 --- a/docs/Sidebar.md +++ /dev/null @@ -1,51 +0,0 @@ -- Getting Started -- Multiples Sessions -- Optional Parameters -- Download and Save Files -- Disconnect Functions -- Message Sending Functions - - Send Text - - Send Image - - Send Sticker - - Send Video - - Send Audio - - Send Voice - - Send Document - - Send Location - - Send Contact - - Send Link - - Send Buttons - - Send List -- Get All Contacts -- Delete Message -- Forwarding Message -- Mute Chat -- Get Chats -- Read Chat Messages -- Get Block List -- Archive Chat -- Delete Chat -- Pin Chat -- Block Contact -- Get Profile Status -- Get Picture -- Set Picture -- Get Number Profile -- Groups Functions - - Create Group - - Add Participants Group - - Add Admins Group - - Change Name of Group - - Change Description of Group - - Join Group - - Leave Group - - Get Group Link - - Revoke Group Link - - Info Group - - Set Group Settings - - Get Groups List -- Get Host Device -- Chat Messages Functions -- Update Presence -- Send Messages for Status -- Observation Events diff --git a/docs/assets/app.iB7v5XaO.js b/docs/assets/app.iB7v5XaO.js new file mode 100644 index 0000000..bb613dc --- /dev/null +++ b/docs/assets/app.iB7v5XaO.js @@ -0,0 +1,7 @@ +import{j as o,a3 as p,a4 as u,a5 as c,a6 as l,a7 as f,a8 as d,a9 as m,aa as h,ab as A,ac as g,ad as v,d as P,u as y,l as C,z as w,ae as _,af as b,ag as E,ah as R}from"./chunks/framework.4X8dX8EZ.js";import{t as D}from"./chunks/theme.jJu9wvzu.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(D),j=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&_(),b(),E(),s.setup&&s.setup(),()=>R(s.Layout)}});async function L(){const e=S(),a=O();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function O(){return h(j)}function S(){let e=o,a;return A(t=>{let n=g(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&L().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{L as createApp}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/docs/assets/callbacks.md.9Rn7RiXs.js b/docs/assets/callbacks.md.9Rn7RiXs.js new file mode 100644 index 0000000..e89bb26 --- /dev/null +++ b/docs/assets/callbacks.md.9Rn7RiXs.js @@ -0,0 +1,118 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const c=JSON.parse('{"title":"Eventos Callbacks","description":"","frontmatter":{},"headers":[],"relativePath":"callbacks.md","filePath":"callbacks.md"}'),t={name:"callbacks.md"},h=n(`

Eventos Callbacks

Acompanhe cada evento no momento em que acontece

Evento de Recebimento de Mensagens


Receba um evento sempre que receber uma mensagem de algum contato

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onMessage: (event) => {
+     console.log(event)
+})

Retorno do evento onMessage

javascript
{
+  session: 'Marketing',
+  type: 'text',
+  id: '3EB07A5B9979E8CB453A',
+  from: '556181590153',
+  content: 'oiii',
+  isgroup: false,
+  participant: '',
+  timestamp: 1633414066
+}

Evento de Mensgens Enviadas


Receba um evento toda vez que enviar uma mensagem para algum contato com os estados de: ffailed, pending, sent, received or read

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onAck: (event) => {
+     console.log(event)
+})

Retorno do evento onAck

javascript
{
+  session: 'Marketing',
+  status: 'RECEIVED',
+  type: 'text',
+  id: '3EB02BC6217B',
+  to: '556181590153',
+  text: 'Hii',
+  isgroup: false,
+  timestamp: 1633414317
+}

Evento de Presença


Receba um evento sempre que um contato estiver: digitando, gravando, online ou offline com você
Tipos do status: available, composing, recording e paused

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onPresence: (event) => {
+     console.log(event)
+})

Retorno do evento onPresence

javascript
{
+  session: 'Marketing',
+  from: '556181590153',
+  status: 'composing',
+  pushname: 'Joe Dutra'
+}

Eventos de Grupo


Receba eventos sempre que o nome de um grupo, as configurações forem alteradas
Tipos de retorno: change-name, change-messages-admin, change-settings-admin e paused

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onGroups: (event) => {
+     console.log(event)
+})

Retorno do evento onGroup

Mudar Nome do Grupo
javascript
{
+  session: 'Marketing',
+  action: 'change-name',
+  changed: [ 'Grupo Live', 'Teste Grupo Live' ],
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '15795662985',
+  participants: 3
+}
Alterações de grupo para mensagens apenas para administradores
javascript
{
+  session: 'Marketing',
+  action: 'change-messages-admin',
+  changed: 'active',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '15795662985',
+  participants: 3
+}
Alterações de grupo nas configurações apenas para administradores
javascript
{
+  session: 'Marketing',
+  action: 'change-settings-admin',
+  changed: 'active',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '15795662985',
+  participants: 3
+}

Eventos de Participantes


Receba eventos sobre participantes do grupo

Types of action: add, remove, promote and demote

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onParticipants: (event) => {
+     console.log(event)
+})

Retorno do evento onParticipants

Participantes Adicionado
javascript
{
+  session: 'Marketing',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '5521991977392',
+  action: 'add',
+  participants: 3
+}
Participantes Removidos
javascript
{
+  session: 'Marketing',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '5521991977392',
+  action: 'remove',
+  participants: 2
+}
Participantes Promovidos
javascript
{
+  session: 'Marketing',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '5521991977392',
+  action: 'promote',
+  participants: 3
+}
Participantes Removidos
javascript
{
+  session: 'Marketing',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '5521991977392',
+  action: 'demote',
+  participants: 3
+}

Evento Mensagens Deletadas


Receba eventos sempre que uma mensagem for excluída

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onDelete: (event) => {
+     console.log(event)
+})

Retorno do evento onDelete

javascript
{
+  session: 'Marketing',
+  type: 'message-delete',
+  from: '15795662985-1631581942',
+  id: '3EB07E88FDCF1C4EF887',
+  timestamp: 1633453902
+}
`,51),p=[h];function l(e,k,E,r,d,g){return a(),i("div",null,p)}const y=s(t,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/callbacks.md.9Rn7RiXs.lean.js b/docs/assets/callbacks.md.9Rn7RiXs.lean.js new file mode 100644 index 0000000..ab55bbc --- /dev/null +++ b/docs/assets/callbacks.md.9Rn7RiXs.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const c=JSON.parse('{"title":"Eventos Callbacks","description":"","frontmatter":{},"headers":[],"relativePath":"callbacks.md","filePath":"callbacks.md"}'),t={name:"callbacks.md"},h=n("",51),p=[h];function l(e,k,E,r,d,g){return a(),i("div",null,p)}const y=s(t,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/chunks/framework.4X8dX8EZ.js b/docs/assets/chunks/framework.4X8dX8EZ.js new file mode 100644 index 0000000..2cfc510 --- /dev/null +++ b/docs/assets/chunks/framework.4X8dX8EZ.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function gs(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const te={},mt=[],xe=()=>{},li=()=>!1,Bt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ms=e=>e.startsWith("onUpdate:"),oe=Object.assign,_s=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ci=Object.prototype.hasOwnProperty,X=(e,t)=>ci.call(e,t),B=Array.isArray,_t=e=>bn(e)==="[object Map]",Nr=e=>bn(e)==="[object Set]",U=e=>typeof e=="function",ne=e=>typeof e=="string",xt=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",Fr=e=>(Z(e)||U(e))&&U(e.then)&&U(e.catch),$r=Object.prototype.toString,bn=e=>$r.call(e),ai=e=>bn(e).slice(8,-1),Hr=e=>bn(e)==="[object Object]",ys=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ot=gs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),vn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ui=/-(\w)/g,Me=vn(e=>e.replace(ui,(t,n)=>n?n.toUpperCase():"")),fi=/\B([A-Z])/g,at=vn(e=>e.replace(fi,"-$1").toLowerCase()),wn=vn(e=>e.charAt(0).toUpperCase()+e.slice(1)),rn=vn(e=>e?`on${wn(e)}`:""),Qe=(e,t)=>!Object.is(e,t),Vn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},di=e=>{const t=parseFloat(e);return isNaN(t)?e:t},hi=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let ks;const jr=()=>ks||(ks=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bs(e){if(B(e)){const t={};for(let n=0;n{if(n){const s=n.split(gi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function vs(e){let t="";if(ne(e))t=e;else if(B(e))for(let n=0;nne(e)?e:e==null?"":B(e)||Z(e)&&(e.toString===$r||!U(e.toString))?JSON.stringify(e,Dr,2):String(e),Dr=(e,t)=>t&&t.__v_isRef?Dr(e,t.value):_t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Dn(s,o)+" =>"]=r,n),{})}:Nr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Dn(n))}:xt(t)?Dn(t):Z(t)&&!B(t)&&!Hr(t)?String(t):t,Dn=(e,t="")=>{var n;return xt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let be;class vi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=be,!t&&be&&(this.index=(be.scopes||(be.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=be;try{return be=this,t()}finally{be=n}}}on(){be=this}off(){be=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=2))break}this._dirtyLevel<2&&(this._dirtyLevel=0),ft()}return this._dirtyLevel>=2}set dirty(t){this._dirtyLevel=t?2:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ge,n=it;try{return Ge=!0,it=this,this._runnings++,Us(this),this.fn()}finally{Ks(this),this._runnings--,it=n,Ge=t}}stop(){var t;this.active&&(Us(this),Ks(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Ci(e){return e.value}function Us(e){e._trackId++,e._depsLength=0}function Ks(e){if(e.deps&&e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},an=new WeakMap,lt=Symbol(""),ss=Symbol("");function _e(e,t,n){if(Ge&&it){let s=an.get(e);s||an.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Gr(()=>s.delete(n))),Kr(it,r)}}function $e(e,t,n,s,r,o){const i=an.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&B(e)){const c=Number(s);i.forEach((u,d)=>{(d==="length"||!xt(d)&&d>=c)&&l.push(u)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":B(e)?ys(n)&&l.push(i.get("length")):(l.push(i.get(lt)),_t(e)&&l.push(i.get(ss)));break;case"delete":B(e)||(l.push(i.get(lt)),_t(e)&&l.push(i.get(ss)));break;case"set":_t(e)&&l.push(i.get(lt));break}Es();for(const c of l)c&&Wr(c,2);Cs()}function xi(e,t){var n;return(n=an.get(e))==null?void 0:n.get(t)}const Si=gs("__proto__,__v_isRef,__isVue"),zr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(xt)),Ws=Ti();function Ti(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Y(this);for(let o=0,i=this.length;o{e[t]=function(...n){ut(),Es();const s=Y(this)[t].apply(this,n);return Cs(),ft(),s}}),e}function Ai(e){const t=Y(this);return _e(t,"has",e),t.hasOwnProperty(e)}class Xr{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,s){const r=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Di:Zr:o?Qr:Jr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=B(t);if(!r){if(i&&X(Ws,n))return Reflect.get(Ws,n,s);if(n==="hasOwnProperty")return Ai}const l=Reflect.get(t,n,s);return(xt(n)?zr.has(n):Si(n))||(r||_e(t,"get",n),o)?l:de(l)?i&&ys(n)?l:l.value:Z(l)?r?xn(l):Cn(l):l}}class Yr extends Xr{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._shallow){const c=Et(o);if(!un(s)&&!Et(s)&&(o=Y(o),s=Y(s)),!B(t)&&de(o)&&!de(s))return c?!1:(o.value=s,!0)}const i=B(t)&&ys(n)?Number(n)e,En=e=>Reflect.getPrototypeOf(e);function Wt(e,t,n=!1,s=!1){e=e.__v_raw;const r=Y(e),o=Y(t);n||(Qe(t,o)&&_e(r,"get",t),_e(r,"get",o));const{has:i}=En(r),l=s?xs:n?As:$t;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function qt(e,t=!1){const n=this.__v_raw,s=Y(n),r=Y(e);return t||(Qe(e,r)&&_e(s,"has",e),_e(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Gt(e,t=!1){return e=e.__v_raw,!t&&_e(Y(e),"iterate",lt),Reflect.get(e,"size",e)}function qs(e){e=Y(e);const t=Y(this);return En(t).has.call(t,e)||(t.add(e),$e(t,"add",e,e)),this}function Gs(e,t){t=Y(t);const n=Y(this),{has:s,get:r}=En(n);let o=s.call(n,e);o||(e=Y(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Qe(t,i)&&$e(n,"set",e,t):$e(n,"add",e,t),this}function zs(e){const t=Y(this),{has:n,get:s}=En(t);let r=n.call(t,e);r||(e=Y(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&$e(t,"delete",e,void 0),o}function Xs(){const e=Y(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function zt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=Y(i),c=t?xs:e?As:$t;return!e&&_e(l,"iterate",lt),i.forEach((u,d)=>s.call(r,c(u),c(d),o))}}function Xt(e,t,n){return function(...s){const r=this.__v_raw,o=Y(r),i=_t(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,u=r[e](...s),d=n?xs:t?As:$t;return!t&&_e(o,"iterate",c?ss:lt),{next(){const{value:h,done:m}=u.next();return m?{value:h,done:m}:{value:l?[d(h[0]),d(h[1])]:d(h),done:m}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pi(){const e={get(o){return Wt(this,o)},get size(){return Gt(this)},has:qt,add:qs,set:Gs,delete:zs,clear:Xs,forEach:zt(!1,!1)},t={get(o){return Wt(this,o,!1,!0)},get size(){return Gt(this)},has:qt,add:qs,set:Gs,delete:zs,clear:Xs,forEach:zt(!1,!0)},n={get(o){return Wt(this,o,!0)},get size(){return Gt(this,!0)},has(o){return qt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:zt(!0,!1)},s={get(o){return Wt(this,o,!0,!0)},get size(){return Gt(this,!0)},has(o){return qt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:zt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Xt(o,!1,!1),n[o]=Xt(o,!0,!1),t[o]=Xt(o,!1,!0),s[o]=Xt(o,!0,!0)}),[e,n,t,s]}const[Mi,Ni,Fi,$i]=Pi();function Ss(e,t){const n=t?e?$i:Fi:e?Ni:Mi;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(X(n,r)&&r in s?n:s,r,o)}const Hi={get:Ss(!1,!1)},ji={get:Ss(!1,!0)},Vi={get:Ss(!0,!1)},Jr=new WeakMap,Qr=new WeakMap,Zr=new WeakMap,Di=new WeakMap;function Bi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ki(e){return e.__v_skip||!Object.isExtensible(e)?0:Bi(ai(e))}function Cn(e){return Et(e)?e:Ts(e,!1,Oi,Hi,Jr)}function Ui(e){return Ts(e,!1,Ii,ji,Qr)}function xn(e){return Ts(e,!0,Li,Vi,Zr)}function Ts(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=ki(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function yt(e){return Et(e)?yt(e.__v_raw):!!(e&&e.__v_isReactive)}function Et(e){return!!(e&&e.__v_isReadonly)}function un(e){return!!(e&&e.__v_isShallow)}function eo(e){return yt(e)||Et(e)}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function Lt(e){return cn(e,"__v_skip",!0),e}const $t=e=>Z(e)?Cn(e):e,As=e=>Z(e)?xn(e):e;class to{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new ws(()=>t(this._value),()=>It(this,1),()=>this.dep&&qr(this.dep)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=Y(this);return(!t._cacheable||t.effect.dirty)&&Qe(t._value,t._value=t.effect.run())&&It(t,2),Rs(t),t.effect._dirtyLevel>=1&&It(t,1),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Ki(e,t,n=!1){let s,r;const o=U(e);return o?(s=e,r=xe):(s=e.get,r=e.set),new to(s,r,o||!r,n)}function Rs(e){Ge&&it&&(e=Y(e),Kr(it,e.dep||(e.dep=Gr(()=>e.dep=void 0,e instanceof to?e:void 0))))}function It(e,t=2,n){e=Y(e);const s=e.dep;s&&Wr(s,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function me(e){return so(e,!1)}function no(e){return so(e,!0)}function so(e,t){return de(e)?e:new Wi(e,t)}class Wi{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Y(t),this._value=n?t:$t(t)}get value(){return Rs(this),this._value}set value(t){const n=this.__v_isShallow||un(t)||Et(t);t=n?t:Y(t),Qe(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:$t(t),It(this,2))}}function ro(e){return de(e)?e.value:e}const qi={get:(e,t,n)=>ro(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return de(r)&&!de(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function oo(e){return yt(e)?e:new Proxy(e,qi)}class Gi{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Rs(this),()=>It(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function zi(e){return new Gi(e)}class Xi{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return xi(Y(this._object),this._key)}}class Yi{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Ji(e,t,n){return de(e)?e:U(e)?new Yi(e):Z(e)&&arguments.length>1?Qi(e,t,n):me(e)}function Qi(e,t,n){const s=e[t];return de(s)?s:new Xi(e,t,n)}/** +* @vue/runtime-core v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function ze(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){Sn(o,t,n)}return r}function Se(e,t,n,s){if(U(e)){const o=ze(e,t,n,s);return o&&Fr(o)&&o.catch(i=>{Sn(i,t,n)}),o}const r=[];for(let o=0;o>>1,r=ue[s],o=jt(r);oPe&&ue.splice(t,1)}function nl(e){B(e)?bt.push(...e):(!Ue||!Ue.includes(e,e.allowRecurse?rt+1:rt))&&bt.push(e),lo()}function Ys(e,t,n=Ht?Pe+1:0){for(;njt(n)-jt(s));if(bt.length=0,Ue){Ue.push(...t);return}for(Ue=t,rt=0;rte.id==null?1/0:e.id,sl=(e,t)=>{const n=jt(e)-jt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function co(e){rs=!1,Ht=!0,ue.sort(sl);try{for(Pe=0;Pene(w)?w.trim():w)),h&&(r=n.map(di))}let l,c=s[l=rn(t)]||s[l=rn(Me(t))];!c&&o&&(c=s[l=rn(at(t))]),c&&Se(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Se(u,e,6,r)}}function ao(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!U(e)){const c=u=>{const d=ao(u,t,!0);d&&(l=!0,oe(i,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&s.set(e,null),null):(B(o)?o.forEach(c=>i[c]=null):oe(i,o),Z(e)&&s.set(e,i),i)}function An(e,t){return!e||!Bt(t)?!1:(t=t.slice(2).replace(/Once$/,""),X(e,t[0].toLowerCase()+t.slice(1))||X(e,at(t))||X(e,t))}let fe=null,Rn=null;function dn(e){const t=fe;return fe=e,Rn=e&&e.type.__scopeId||null,t}function Fa(e){Rn=e}function $a(){Rn=null}function ol(e,t=fe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&cr(-1);const o=dn(t);let i;try{i=e(...r)}finally{dn(o),s._d&&cr(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Bn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:c,emit:u,render:d,renderCache:h,data:m,setupState:w,ctx:L,inheritAttrs:M}=e;let F,W;const J=dn(e);try{if(n.shapeFlag&4){const _=r||s,N=_;F=Ae(d.call(N,_,h,o,w,m,L)),W=c}else{const _=t;F=Ae(_.length>1?_(o,{attrs:c,slots:l,emit:u}):_(o,null)),W=t.props?c:il(c)}}catch(_){Nt.length=0,Sn(_,e,1),F=ae(ve)}let p=F;if(W&&M!==!1){const _=Object.keys(W),{shapeFlag:N}=p;_.length&&N&7&&(i&&_.some(ms)&&(W=ll(W,i)),p=Ze(p,W))}return n.dirs&&(p=Ze(p),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&(p.transition=n.transition),F=p,dn(J),F}const il=e=>{let t;for(const n in e)(n==="class"||n==="style"||Bt(n))&&((t||(t={}))[n]=e[n]);return t},ll=(e,t)=>{const n={};for(const s in e)(!ms(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function cl(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Js(s,i,u):!!i;if(c&8){const d=t.dynamicProps;for(let h=0;he.__isSuspense;function ho(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):nl(e)}const fl=Symbol.for("v-scx"),dl=()=>wt(fl);function po(e,t){return On(e,null,t)}function Va(e,t){return On(e,null,{flush:"post"})}const Yt={};function Xe(e,t,n){return On(e,t,n)}function On(e,t,{immediate:n,deep:s,flush:r,once:o,onTrack:i,onTrigger:l}=te){if(t&&o){const I=t;t=(...D)=>{I(...D),N()}}const c=ce,u=I=>s===!0?I:pt(I,s===!1?1:void 0);let d,h=!1,m=!1;if(de(e)?(d=()=>e.value,h=un(e)):yt(e)?(d=()=>u(e),h=!0):B(e)?(m=!0,h=e.some(I=>yt(I)||un(I)),d=()=>e.map(I=>{if(de(I))return I.value;if(yt(I))return u(I);if(U(I))return ze(I,c,2)})):U(e)?t?d=()=>ze(e,c,2):d=()=>(w&&w(),Se(e,c,3,[L])):d=xe,t&&s){const I=d;d=()=>pt(I())}let w,L=I=>{w=p.onStop=()=>{ze(I,c,4),w=p.onStop=void 0}},M;if(Fn)if(L=xe,t?n&&Se(t,c,3,[d(),m?[]:void 0,L]):d(),r==="sync"){const I=dl();M=I.__watcherHandles||(I.__watcherHandles=[])}else return xe;let F=m?new Array(e.length).fill(Yt):Yt;const W=()=>{if(!(!p.active||!p.dirty))if(t){const I=p.run();(s||h||(m?I.some((D,R)=>Qe(D,F[R])):Qe(I,F)))&&(w&&w(),Se(t,c,3,[I,F===Yt?void 0:m&&F[0]===Yt?[]:F,L]),F=I)}else p.run()};W.allowRecurse=!!t;let J;r==="sync"?J=W:r==="post"?J=()=>pe(W,c&&c.suspense):(W.pre=!0,c&&(W.id=c.uid),J=()=>Ls(W));const p=new ws(d,xe,J),_=Br(),N=()=>{p.stop(),_&&_s(_.effects,p)};return t?n?W():F=p.run():r==="post"?pe(p.run.bind(p),c&&c.suspense):p.run(),M&&M.push(N),N}function hl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?go(s,e):()=>s[e]:e.bind(s,s);let o;U(t)?o=t:(o=t.handler,n=t);const i=kt(this),l=On(r,o.bind(s),n);return i(),l}function go(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),de(e))pt(e.value,t,n,s);else if(B(e))for(let r=0;r{pt(r,t,n,s)});else if(Hr(e))for(const r in e)pt(e[r],t,n,s);return e}function Ie(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i{e.isMounted=!0}),wo(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],mo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},gl={name:"BaseTransition",props:mo,setup(e,{slots:t}){const n=Nn(),s=pl();let r;return()=>{const o=t.default&&yo(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const M of o)if(M.type!==ve){i=M;break}}const l=Y(e),{mode:c}=l;if(s.isLeaving)return kn(i);const u=Zs(i);if(!u)return kn(i);const d=os(u,l,s,n);is(u,d);const h=n.subTree,m=h&&Zs(h);let w=!1;const{getTransitionKey:L}=u.type;if(L){const M=L();r===void 0?r=M:M!==r&&(r=M,w=!0)}if(m&&m.type!==ve&&(!ot(u,m)||w)){const M=os(m,l,s,n);if(is(m,M),c==="out-in")return s.isLeaving=!0,M.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},kn(i);c==="in-out"&&u.type!==ve&&(M.delayLeave=(F,W,J)=>{const p=_o(s,m);p[String(m.key)]=m,F[Ke]=()=>{W(),F[Ke]=void 0,delete d.delayedLeave},d.delayedLeave=J})}return i}}},ml=gl;function _o(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function os(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:h,onLeave:m,onAfterLeave:w,onLeaveCancelled:L,onBeforeAppear:M,onAppear:F,onAfterAppear:W,onAppearCancelled:J}=t,p=String(e.key),_=_o(n,e),N=(R,T)=>{R&&Se(R,s,9,T)},I=(R,T)=>{const S=T[1];N(R,T),B(R)?R.every(K=>K.length<=1)&&S():R.length<=1&&S()},D={mode:o,persisted:i,beforeEnter(R){let T=l;if(!n.isMounted)if(r)T=M||l;else return;R[Ke]&&R[Ke](!0);const S=_[p];S&&ot(e,S)&&S.el[Ke]&&S.el[Ke](),N(T,[R])},enter(R){let T=c,S=u,K=d;if(!n.isMounted)if(r)T=F||c,S=W||u,K=J||d;else return;let O=!1;const q=R[Jt]=re=>{O||(O=!0,re?N(K,[R]):N(S,[R]),D.delayedLeave&&D.delayedLeave(),R[Jt]=void 0)};T?I(T,[R,q]):q()},leave(R,T){const S=String(e.key);if(R[Jt]&&R[Jt](!0),n.isUnmounting)return T();N(h,[R]);let K=!1;const O=R[Ke]=q=>{K||(K=!0,T(),q?N(L,[R]):N(w,[R]),R[Ke]=void 0,_[S]===e&&delete _[S])};_[S]=e,m?I(m,[R,O]):O()},clone(R){return os(R,t,n,s)}};return D}function kn(e){if(Ln(e))return e=Ze(e),e.children=null,e}function Zs(e){return Ln(e)?e.children?e.children[0]:void 0:e}function is(e,t){e.shapeFlag&6&&e.component?is(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function yo(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,Ln=e=>e.type.__isKeepAlive;function _l(e,t){vo(e,"a",t)}function yl(e,t){vo(e,"da",t)}function vo(e,t,n=ce){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(In(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Ln(r.parent.vnode)&&bl(s,t,n,r),r=r.parent}}function bl(e,t,n,s){const r=In(t,e,s,!0);Pn(()=>{_s(s[t],r)},n)}function In(e,t,n=ce,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;ut();const l=kt(n),c=Se(t,n,e,i);return l(),ft(),c});return s?r.unshift(o):r.push(o),o}}const je=e=>(t,n=ce)=>(!Fn||e==="sp")&&In(e,(...s)=>t(...s),n),vl=je("bm"),St=je("m"),wl=je("bu"),El=je("u"),wo=je("bum"),Pn=je("um"),Cl=je("sp"),xl=je("rtg"),Sl=je("rtc");function Tl(e,t=ce){In("ec",e,t)}function Da(e,t,n,s){let r;const o=n&&n[s];if(B(e)||ne(e)){r=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;lmn(t)?!(t.type===ve||t.type===ge&&!Eo(t.children)):!0)?e:null}function ka(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:rn(s)]=e[s];return n}const ls=e=>e?Vo(e)?Fs(e)||e.proxy:ls(e.parent):null,Pt=oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ls(e.parent),$root:e=>ls(e.root),$emit:e=>e.emit,$options:e=>Ps(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Ls(e.update)}),$nextTick:e=>e.n||(e.n=Tn.bind(e.proxy)),$watch:e=>hl.bind(e)}),Un=(e,t)=>e!==te&&!e.__isScriptSetup&&X(e,t),Al={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const w=i[t];if(w!==void 0)switch(w){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Un(s,t))return i[t]=1,s[t];if(r!==te&&X(r,t))return i[t]=2,r[t];if((u=e.propsOptions[0])&&X(u,t))return i[t]=3,o[t];if(n!==te&&X(n,t))return i[t]=4,n[t];cs&&(i[t]=0)}}const d=Pt[t];let h,m;if(d)return t==="$attrs"&&_e(e,"get",t),d(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==te&&X(n,t))return i[t]=4,n[t];if(m=c.config.globalProperties,X(m,t))return m[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Un(r,t)?(r[t]=n,!0):s!==te&&X(s,t)?(s[t]=n,!0):X(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==te&&X(e,i)||Un(t,i)||(l=o[0])&&X(l,i)||X(s,i)||X(Pt,i)||X(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:X(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ua(){return Rl().slots}function Rl(){const e=Nn();return e.setupContext||(e.setupContext=Bo(e))}function er(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let cs=!0;function Ol(e){const t=Ps(e),n=e.proxy,s=e.ctx;cs=!1,t.beforeCreate&&tr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:u,created:d,beforeMount:h,mounted:m,beforeUpdate:w,updated:L,activated:M,deactivated:F,beforeDestroy:W,beforeUnmount:J,destroyed:p,unmounted:_,render:N,renderTracked:I,renderTriggered:D,errorCaptured:R,serverPrefetch:T,expose:S,inheritAttrs:K,components:O,directives:q,filters:re}=t;if(u&&Ll(u,s,null),i)for(const z in i){const H=i[z];U(H)&&(s[z]=H.bind(n))}if(r){const z=r.call(n,n);Z(z)&&(e.data=Cn(z))}if(cs=!0,o)for(const z in o){const H=o[z],Ne=U(H)?H.bind(n,n):U(H.get)?H.get.bind(n,n):xe,Ut=!U(H)&&U(H.set)?H.set.bind(n):xe,et=se({get:Ne,set:Ut});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>et.value,set:Oe=>et.value=Oe})}if(l)for(const z in l)Co(l[z],s,n,z);if(c){const z=U(c)?c.call(n):c;Reflect.ownKeys(z).forEach(H=>{$l(H,z[H])})}d&&tr(d,e,"c");function j(z,H){B(H)?H.forEach(Ne=>z(Ne.bind(n))):H&&z(H.bind(n))}if(j(vl,h),j(St,m),j(wl,w),j(El,L),j(_l,M),j(yl,F),j(Tl,R),j(Sl,I),j(xl,D),j(wo,J),j(Pn,_),j(Cl,T),B(S))if(S.length){const z=e.exposed||(e.exposed={});S.forEach(H=>{Object.defineProperty(z,H,{get:()=>n[H],set:Ne=>n[H]=Ne})})}else e.exposed||(e.exposed={});N&&e.render===xe&&(e.render=N),K!=null&&(e.inheritAttrs=K),O&&(e.components=O),q&&(e.directives=q)}function Ll(e,t,n=xe){B(e)&&(e=as(e));for(const s in e){const r=e[s];let o;Z(r)?"default"in r?o=wt(r.from||s,r.default,!0):o=wt(r.from||s):o=wt(r),de(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function tr(e,t,n){Se(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Co(e,t,n,s){const r=s.includes(".")?go(n,s):()=>n[s];if(ne(e)){const o=t[e];U(o)&&Xe(r,o)}else if(U(e))Xe(r,e.bind(n));else if(Z(e))if(B(e))e.forEach(o=>Co(o,t,n,s));else{const o=U(e.handler)?e.handler.bind(n):t[e.handler];U(o)&&Xe(r,o,e)}}function Ps(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>hn(c,u,i,!0)),hn(c,t,i)),Z(t)&&o.set(t,c),c}function hn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&hn(e,o,n,!0),r&&r.forEach(i=>hn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Il[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Il={data:nr,props:sr,emits:sr,methods:Rt,computed:Rt,beforeCreate:he,created:he,beforeMount:he,mounted:he,beforeUpdate:he,updated:he,beforeDestroy:he,beforeUnmount:he,destroyed:he,unmounted:he,activated:he,deactivated:he,errorCaptured:he,serverPrefetch:he,components:Rt,directives:Rt,watch:Ml,provide:nr,inject:Pl};function nr(e,t){return t?e?function(){return oe(U(e)?e.call(this,this):e,U(t)?t.call(this,this):t)}:t:e}function Pl(e,t){return Rt(as(e),as(t))}function as(e){if(B(e)){const t={};for(let n=0;n1)return n&&U(t)?t.call(s&&s.proxy):t}}function Hl(e,t,n,s=!1){const r={},o={};cn(o,Mn,1),e.propsDefaults=Object.create(null),So(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:Ui(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function jl(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=Y(r),[c]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const d=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[m,w]=To(h,t,!0);oe(i,m),w&&l.push(...w)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!c)return Z(e)&&s.set(e,mt),mt;if(B(o))for(let d=0;d-1,w[1]=M<0||L-1||X(w,"default"))&&l.push(h)}}}const u=[i,l];return Z(e)&&s.set(e,u),u}function rr(e){return e[0]!=="$"}function or(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function ir(e,t){return or(e)===or(t)}function lr(e,t){return B(t)?t.findIndex(n=>ir(n,e)):U(t)&&ir(t,e)?0:-1}const Ao=e=>e[0]==="_"||e==="$stable",Ms=e=>B(e)?e.map(Ae):[Ae(e)],Vl=(e,t,n)=>{if(t._n)return t;const s=ol((...r)=>Ms(t(...r)),n);return s._c=!1,s},Ro=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Ao(r))continue;const o=e[r];if(U(o))t[r]=Vl(r,o,s);else if(o!=null){const i=Ms(o);t[r]=()=>i}}},Oo=(e,t)=>{const n=Ms(t);e.slots.default=()=>n},Dl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Y(t),cn(t,"_",n)):Ro(t,e.slots={})}else e.slots={},t&&Oo(e,t);cn(e.slots,Mn,1)},Bl=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(oe(r,t),!n&&l===1&&delete r._):(o=!t.$stable,Ro(t,r)),i=t}else t&&(Oo(e,t),i={default:1});if(o)for(const l in r)!Ao(l)&&i[l]==null&&delete r[l]};function gn(e,t,n,s,r=!1){if(B(e)){e.forEach((m,w)=>gn(m,t&&(B(t)?t[w]:t),n,s,r));return}if(vt(s)&&!r)return;const o=s.shapeFlag&4?Fs(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,u=t&&t.r,d=l.refs===te?l.refs={}:l.refs,h=l.setupState;if(u!=null&&u!==c&&(ne(u)?(d[u]=null,X(h,u)&&(h[u]=null)):de(u)&&(u.value=null)),U(c))ze(c,l,12,[i,d]);else{const m=ne(c),w=de(c),L=e.f;if(m||w){const M=()=>{if(L){const F=m?X(h,c)?h[c]:d[c]:c.value;r?B(F)&&_s(F,o):B(F)?F.includes(o)||F.push(o):m?(d[c]=[o],X(h,c)&&(h[c]=d[c])):(c.value=[o],e.k&&(d[e.k]=c.value))}else m?(d[c]=i,X(h,c)&&(h[c]=i)):w&&(c.value=i,e.k&&(d[e.k]=i))};r||L?M():(M.id=-1,pe(M,n))}}}let De=!1;const kl=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Ul=e=>e.namespaceURI.includes("MathML"),Qt=e=>{if(kl(e))return"svg";if(Ul(e))return"mathml"},Zt=e=>e.nodeType===8;function Kl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:u}}=e,d=(p,_)=>{if(!_.hasChildNodes()){n(null,p,_),fn(),_._vnode=p;return}De=!1,h(_.firstChild,p,null,null,null),fn(),_._vnode=p,De&&console.error("Hydration completed but contains mismatches.")},h=(p,_,N,I,D,R=!1)=>{const T=Zt(p)&&p.data==="[",S=()=>M(p,_,N,I,D,T),{type:K,ref:O,shapeFlag:q,patchFlag:re}=_;let le=p.nodeType;_.el=p,re===-2&&(R=!1,_.dynamicChildren=null);let j=null;switch(K){case Ct:le!==3?_.children===""?(c(_.el=r(""),i(p),p),j=p):j=S():(p.data!==_.children&&(De=!0,p.data=_.children),j=o(p));break;case ve:J(p)?(j=o(p),W(_.el=p.content.firstChild,p,N)):le!==8||T?j=S():j=o(p);break;case Mt:if(T&&(p=o(p),le=p.nodeType),le===1||le===3){j=p;const z=!_.children.length;for(let H=0;H<_.staticCount;H++)z&&(_.children+=j.nodeType===1?j.outerHTML:j.data),H===_.staticCount-1&&(_.anchor=j),j=o(j);return T?o(j):j}else S();break;case ge:T?j=L(p,_,N,I,D,R):j=S();break;default:if(q&1)(le!==1||_.type.toLowerCase()!==p.tagName.toLowerCase())&&!J(p)?j=S():j=m(p,_,N,I,D,R);else if(q&6){_.slotScopeIds=D;const z=i(p);if(T?j=F(p):Zt(p)&&p.data==="teleport start"?j=F(p,p.data,"teleport end"):j=o(p),t(_,z,null,N,I,Qt(z),R),vt(_)){let H;T?(H=ae(ge),H.anchor=j?j.previousSibling:z.lastChild):H=p.nodeType===3?jo(""):ae("div"),H.el=p,_.component.subTree=H}}else q&64?le!==8?j=S():j=_.type.hydrate(p,_,N,I,D,R,e,w):q&128&&(j=_.type.hydrate(p,_,N,I,Qt(i(p)),D,R,e,h))}return O!=null&&gn(O,null,I,_),j},m=(p,_,N,I,D,R)=>{R=R||!!_.dynamicChildren;const{type:T,props:S,patchFlag:K,shapeFlag:O,dirs:q,transition:re}=_,le=T==="input"||T==="option";if(le||K!==-1){q&&Ie(_,null,N,"created");let j=!1;if(J(p)){j=Lo(I,re)&&N&&N.vnode.props&&N.vnode.props.appear;const H=p.content.firstChild;j&&re.beforeEnter(H),W(H,p,N),_.el=p=H}if(O&16&&!(S&&(S.innerHTML||S.textContent))){let H=w(p.firstChild,_,p,N,I,D,R);for(;H;){De=!0;const Ne=H;H=H.nextSibling,l(Ne)}}else O&8&&p.textContent!==_.children&&(De=!0,p.textContent=_.children);if(S)if(le||!R||K&48)for(const H in S)(le&&(H.endsWith("value")||H==="indeterminate")||Bt(H)&&!Ot(H)||H[0]===".")&&s(p,H,null,S[H],void 0,void 0,N);else S.onClick&&s(p,"onClick",null,S.onClick,void 0,void 0,N);let z;(z=S&&S.onVnodeBeforeMount)&&Ee(z,N,_),q&&Ie(_,null,N,"beforeMount"),((z=S&&S.onVnodeMounted)||q||j)&&ho(()=>{z&&Ee(z,N,_),j&&re.enter(p),q&&Ie(_,null,N,"mounted")},I)}return p.nextSibling},w=(p,_,N,I,D,R,T)=>{T=T||!!_.dynamicChildren;const S=_.children,K=S.length;for(let O=0;O{const{slotScopeIds:T}=_;T&&(D=D?D.concat(T):T);const S=i(p),K=w(o(p),_,S,N,I,D,R);return K&&Zt(K)&&K.data==="]"?o(_.anchor=K):(De=!0,c(_.anchor=u("]"),S,K),K)},M=(p,_,N,I,D,R)=>{if(De=!0,_.el=null,R){const K=F(p);for(;;){const O=o(p);if(O&&O!==K)l(O);else break}}const T=o(p),S=i(p);return l(p),n(null,_,S,T,N,I,Qt(S),D),T},F=(p,_="[",N="]")=>{let I=0;for(;p;)if(p=o(p),p&&Zt(p)&&(p.data===_&&I++,p.data===N)){if(I===0)return o(p);I--}return p},W=(p,_,N)=>{const I=_.parentNode;I&&I.replaceChild(p,_);let D=N;for(;D;)D.vnode.el===_&&(D.vnode.el=D.subTree.el=p),D=D.parent},J=p=>p.nodeType===1&&p.tagName.toLowerCase()==="template";return[d,h]}const pe=ho;function Wl(e){return ql(e,Kl)}function ql(e,t){const n=jr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:u,setElementText:d,parentNode:h,nextSibling:m,setScopeId:w=xe,insertStaticContent:L}=e,M=(a,f,g,y=null,b=null,C=null,A=void 0,E=null,x=!!f.dynamicChildren)=>{if(a===f)return;a&&!ot(a,f)&&(y=Kt(a),Oe(a,b,C,!0),a=null),f.patchFlag===-2&&(x=!1,f.dynamicChildren=null);const{type:v,ref:P,shapeFlag:V}=f;switch(v){case Ct:F(a,f,g,y);break;case ve:W(a,f,g,y);break;case Mt:a==null&&J(f,g,y,A);break;case ge:O(a,f,g,y,b,C,A,E,x);break;default:V&1?N(a,f,g,y,b,C,A,E,x):V&6?q(a,f,g,y,b,C,A,E,x):(V&64||V&128)&&v.process(a,f,g,y,b,C,A,E,x,dt)}P!=null&&b&&gn(P,a&&a.ref,C,f||a,!f)},F=(a,f,g,y)=>{if(a==null)s(f.el=l(f.children),g,y);else{const b=f.el=a.el;f.children!==a.children&&u(b,f.children)}},W=(a,f,g,y)=>{a==null?s(f.el=c(f.children||""),g,y):f.el=a.el},J=(a,f,g,y)=>{[a.el,a.anchor]=L(a.children,f,g,y,a.el,a.anchor)},p=({el:a,anchor:f},g,y)=>{let b;for(;a&&a!==f;)b=m(a),s(a,g,y),a=b;s(f,g,y)},_=({el:a,anchor:f})=>{let g;for(;a&&a!==f;)g=m(a),r(a),a=g;r(f)},N=(a,f,g,y,b,C,A,E,x)=>{f.type==="svg"?A="svg":f.type==="math"&&(A="mathml"),a==null?I(f,g,y,b,C,A,E,x):T(a,f,b,C,A,E,x)},I=(a,f,g,y,b,C,A,E)=>{let x,v;const{props:P,shapeFlag:V,transition:$,dirs:k}=a;if(x=a.el=i(a.type,C,P&&P.is,P),V&8?d(x,a.children):V&16&&R(a.children,x,null,y,b,Kn(a,C),A,E),k&&Ie(a,null,y,"created"),D(x,a,a.scopeId,A,y),P){for(const Q in P)Q!=="value"&&!Ot(Q)&&o(x,Q,null,P[Q],C,a.children,y,b,Fe);"value"in P&&o(x,"value",null,P.value,C),(v=P.onVnodeBeforeMount)&&Ee(v,y,a)}k&&Ie(a,null,y,"beforeMount");const G=Lo(b,$);G&&$.beforeEnter(x),s(x,f,g),((v=P&&P.onVnodeMounted)||G||k)&&pe(()=>{v&&Ee(v,y,a),G&&$.enter(x),k&&Ie(a,null,y,"mounted")},b)},D=(a,f,g,y,b)=>{if(g&&w(a,g),y)for(let C=0;C{for(let v=x;v{const E=f.el=a.el;let{patchFlag:x,dynamicChildren:v,dirs:P}=f;x|=a.patchFlag&16;const V=a.props||te,$=f.props||te;let k;if(g&&tt(g,!1),(k=$.onVnodeBeforeUpdate)&&Ee(k,g,f,a),P&&Ie(f,a,g,"beforeUpdate"),g&&tt(g,!0),v?S(a.dynamicChildren,v,E,g,y,Kn(f,b),C):A||H(a,f,E,null,g,y,Kn(f,b),C,!1),x>0){if(x&16)K(E,f,V,$,g,y,b);else if(x&2&&V.class!==$.class&&o(E,"class",null,$.class,b),x&4&&o(E,"style",V.style,$.style,b),x&8){const G=f.dynamicProps;for(let Q=0;Q{k&&Ee(k,g,f,a),P&&Ie(f,a,g,"updated")},y)},S=(a,f,g,y,b,C,A)=>{for(let E=0;E{if(g!==y){if(g!==te)for(const E in g)!Ot(E)&&!(E in y)&&o(a,E,g[E],null,A,f.children,b,C,Fe);for(const E in y){if(Ot(E))continue;const x=y[E],v=g[E];x!==v&&E!=="value"&&o(a,E,v,x,A,f.children,b,C,Fe)}"value"in y&&o(a,"value",g.value,y.value,A)}},O=(a,f,g,y,b,C,A,E,x)=>{const v=f.el=a?a.el:l(""),P=f.anchor=a?a.anchor:l("");let{patchFlag:V,dynamicChildren:$,slotScopeIds:k}=f;k&&(E=E?E.concat(k):k),a==null?(s(v,g,y),s(P,g,y),R(f.children||[],g,P,b,C,A,E,x)):V>0&&V&64&&$&&a.dynamicChildren?(S(a.dynamicChildren,$,g,b,C,A,E),(f.key!=null||b&&f===b.subTree)&&Io(a,f,!0)):H(a,f,g,P,b,C,A,E,x)},q=(a,f,g,y,b,C,A,E,x)=>{f.slotScopeIds=E,a==null?f.shapeFlag&512?b.ctx.activate(f,g,y,A,x):re(f,g,y,b,C,A,x):le(a,f,x)},re=(a,f,g,y,b,C,A)=>{const E=a.component=tc(a,y,b);if(Ln(a)&&(E.ctx.renderer=dt),nc(E),E.asyncDep){if(b&&b.registerDep(E,j),!a.el){const x=E.subTree=ae(ve);W(null,x,f,g)}}else j(E,a,f,g,b,C,A)},le=(a,f,g)=>{const y=f.component=a.component;if(cl(a,f,g))if(y.asyncDep&&!y.asyncResolved){z(y,f,g);return}else y.next=f,tl(y.update),y.effect.dirty=!0,y.update();else f.el=a.el,y.vnode=f},j=(a,f,g,y,b,C,A)=>{const E=()=>{if(a.isMounted){let{next:P,bu:V,u:$,parent:k,vnode:G}=a;{const ht=Po(a);if(ht){P&&(P.el=G.el,z(a,P,A)),ht.asyncDep.then(()=>{a.isUnmounted||E()});return}}let Q=P,ee;tt(a,!1),P?(P.el=G.el,z(a,P,A)):P=G,V&&Vn(V),(ee=P.props&&P.props.onVnodeBeforeUpdate)&&Ee(ee,k,P,G),tt(a,!0);const ie=Bn(a),Te=a.subTree;a.subTree=ie,M(Te,ie,h(Te.el),Kt(Te),a,b,C),P.el=ie.el,Q===null&&al(a,ie.el),$&&pe($,b),(ee=P.props&&P.props.onVnodeUpdated)&&pe(()=>Ee(ee,k,P,G),b)}else{let P;const{el:V,props:$}=f,{bm:k,m:G,parent:Q}=a,ee=vt(f);if(tt(a,!1),k&&Vn(k),!ee&&(P=$&&$.onVnodeBeforeMount)&&Ee(P,Q,f),tt(a,!0),V&&jn){const ie=()=>{a.subTree=Bn(a),jn(V,a.subTree,a,b,null)};ee?f.type.__asyncLoader().then(()=>!a.isUnmounted&&ie()):ie()}else{const ie=a.subTree=Bn(a);M(null,ie,g,y,a,b,C),f.el=ie.el}if(G&&pe(G,b),!ee&&(P=$&&$.onVnodeMounted)){const ie=f;pe(()=>Ee(P,Q,ie),b)}(f.shapeFlag&256||Q&&vt(Q.vnode)&&Q.vnode.shapeFlag&256)&&a.a&&pe(a.a,b),a.isMounted=!0,f=g=y=null}},x=a.effect=new ws(E,xe,()=>Ls(v),a.scope),v=a.update=()=>{x.dirty&&x.run()};v.id=a.uid,tt(a,!0),v()},z=(a,f,g)=>{f.component=a;const y=a.vnode.props;a.vnode=f,a.next=null,jl(a,f.props,y,g),Bl(a,f.children,g),ut(),Ys(a),ft()},H=(a,f,g,y,b,C,A,E,x=!1)=>{const v=a&&a.children,P=a?a.shapeFlag:0,V=f.children,{patchFlag:$,shapeFlag:k}=f;if($>0){if($&128){Ut(v,V,g,y,b,C,A,E,x);return}else if($&256){Ne(v,V,g,y,b,C,A,E,x);return}}k&8?(P&16&&Fe(v,b,C),V!==v&&d(g,V)):P&16?k&16?Ut(v,V,g,y,b,C,A,E,x):Fe(v,b,C,!0):(P&8&&d(g,""),k&16&&R(V,g,y,b,C,A,E,x))},Ne=(a,f,g,y,b,C,A,E,x)=>{a=a||mt,f=f||mt;const v=a.length,P=f.length,V=Math.min(v,P);let $;for($=0;$P?Fe(a,b,C,!0,!1,V):R(f,g,y,b,C,A,E,x,V)},Ut=(a,f,g,y,b,C,A,E,x)=>{let v=0;const P=f.length;let V=a.length-1,$=P-1;for(;v<=V&&v<=$;){const k=a[v],G=f[v]=x?We(f[v]):Ae(f[v]);if(ot(k,G))M(k,G,g,null,b,C,A,E,x);else break;v++}for(;v<=V&&v<=$;){const k=a[V],G=f[$]=x?We(f[$]):Ae(f[$]);if(ot(k,G))M(k,G,g,null,b,C,A,E,x);else break;V--,$--}if(v>V){if(v<=$){const k=$+1,G=k$)for(;v<=V;)Oe(a[v],b,C,!0),v++;else{const k=v,G=v,Q=new Map;for(v=G;v<=$;v++){const ye=f[v]=x?We(f[v]):Ae(f[v]);ye.key!=null&&Q.set(ye.key,v)}let ee,ie=0;const Te=$-G+1;let ht=!1,Vs=0;const Tt=new Array(Te);for(v=0;v=Te){Oe(ye,b,C,!0);continue}let Le;if(ye.key!=null)Le=Q.get(ye.key);else for(ee=G;ee<=$;ee++)if(Tt[ee-G]===0&&ot(ye,f[ee])){Le=ee;break}Le===void 0?Oe(ye,b,C,!0):(Tt[Le-G]=v+1,Le>=Vs?Vs=Le:ht=!0,M(ye,f[Le],g,null,b,C,A,E,x),ie++)}const Ds=ht?Gl(Tt):mt;for(ee=Ds.length-1,v=Te-1;v>=0;v--){const ye=G+v,Le=f[ye],Bs=ye+1{const{el:C,type:A,transition:E,children:x,shapeFlag:v}=a;if(v&6){et(a.component.subTree,f,g,y);return}if(v&128){a.suspense.move(f,g,y);return}if(v&64){A.move(a,f,g,dt);return}if(A===ge){s(C,f,g);for(let V=0;VE.enter(C),b);else{const{leave:V,delayLeave:$,afterLeave:k}=E,G=()=>s(C,f,g),Q=()=>{V(C,()=>{G(),k&&k()})};$?$(C,G,Q):Q()}else s(C,f,g)},Oe=(a,f,g,y=!1,b=!1)=>{const{type:C,props:A,ref:E,children:x,dynamicChildren:v,shapeFlag:P,patchFlag:V,dirs:$}=a;if(E!=null&&gn(E,null,g,a,!0),P&256){f.ctx.deactivate(a);return}const k=P&1&&$,G=!vt(a);let Q;if(G&&(Q=A&&A.onVnodeBeforeUnmount)&&Ee(Q,f,a),P&6)ii(a.component,g,y);else{if(P&128){a.suspense.unmount(g,y);return}k&&Ie(a,null,f,"beforeUnmount"),P&64?a.type.remove(a,f,g,b,dt,y):v&&(C!==ge||V>0&&V&64)?Fe(v,f,g,!1,!0):(C===ge&&V&384||!b&&P&16)&&Fe(x,f,g),y&&Hs(a)}(G&&(Q=A&&A.onVnodeUnmounted)||k)&&pe(()=>{Q&&Ee(Q,f,a),k&&Ie(a,null,f,"unmounted")},g)},Hs=a=>{const{type:f,el:g,anchor:y,transition:b}=a;if(f===ge){oi(g,y);return}if(f===Mt){_(a);return}const C=()=>{r(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(a.shapeFlag&1&&b&&!b.persisted){const{leave:A,delayLeave:E}=b,x=()=>A(g,C);E?E(a.el,C,x):x()}else C()},oi=(a,f)=>{let g;for(;a!==f;)g=m(a),r(a),a=g;r(f)},ii=(a,f,g)=>{const{bum:y,scope:b,update:C,subTree:A,um:E}=a;y&&Vn(y),b.stop(),C&&(C.active=!1,Oe(A,a,f,g)),E&&pe(E,f),pe(()=>{a.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},Fe=(a,f,g,y=!1,b=!1,C=0)=>{for(let A=C;Aa.shapeFlag&6?Kt(a.component.subTree):a.shapeFlag&128?a.suspense.next():m(a.anchor||a.el);let $n=!1;const js=(a,f,g)=>{a==null?f._vnode&&Oe(f._vnode,null,null,!0):M(f._vnode||null,a,f,null,null,null,g),$n||($n=!0,Ys(),fn(),$n=!1),f._vnode=a},dt={p:M,um:Oe,m:et,r:Hs,mt:re,mc:R,pc:H,pbc:S,n:Kt,o:e};let Hn,jn;return t&&([Hn,jn]=t(dt)),{render:js,hydrate:Hn,createApp:Fl(js,Hn)}}function Kn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function tt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Lo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Io(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Po(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Po(t)}const zl=e=>e.__isTeleport,ge=Symbol.for("v-fgt"),Ct=Symbol.for("v-txt"),ve=Symbol.for("v-cmt"),Mt=Symbol.for("v-stc"),Nt=[];let Re=null;function Mo(e=!1){Nt.push(Re=e?null:[])}function Xl(){Nt.pop(),Re=Nt[Nt.length-1]||null}let Vt=1;function cr(e){Vt+=e}function No(e){return e.dynamicChildren=Vt>0?Re||mt:null,Xl(),Vt>0&&Re&&Re.push(e),e}function Ka(e,t,n,s,r,o){return No(Ho(e,t,n,s,r,o,!0))}function Fo(e,t,n,s,r){return No(ae(e,t,n,s,r,!0))}function mn(e){return e?e.__v_isVNode===!0:!1}function ot(e,t){return e.type===t.type&&e.key===t.key}const Mn="__vInternal",$o=({key:e})=>e??null,on=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||de(e)||U(e)?{i:fe,r:e,k:t,f:!!n}:e:null);function Ho(e,t=null,n=null,s=0,r=null,o=e===ge?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&$o(t),ref:t&&on(t),scopeId:Rn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:fe};return l?(Ns(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),Vt>0&&!i&&Re&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Re.push(c),c}const ae=Yl;function Yl(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===uo)&&(e=ve),mn(e)){const l=Ze(e,t,!0);return n&&Ns(l,n),Vt>0&&!o&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(ic(e)&&(e=e.__vccOpts),t){t=Jl(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=vs(l)),Z(c)&&(eo(c)&&!B(c)&&(c=oe({},c)),t.style=bs(c))}const i=ne(e)?1:ul(e)?128:zl(e)?64:Z(e)?4:U(e)?2:0;return Ho(e,t,n,s,r,i,o,!0)}function Jl(e){return e?eo(e)||Mn in e?oe({},e):e:null}function Ze(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?Ql(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&$o(l),ref:t&&t.ref?n&&r?B(r)?r.concat(on(t)):[r,on(t)]:on(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ze(e.ssContent),ssFallback:e.ssFallback&&Ze(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function jo(e=" ",t=0){return ae(Ct,null,e,t)}function Wa(e,t){const n=ae(Mt,null,e);return n.staticCount=t,n}function qa(e="",t=!1){return t?(Mo(),Fo(ve,null,e)):ae(ve,null,e)}function Ae(e){return e==null||typeof e=="boolean"?ae(ve):B(e)?ae(ge,null,e.slice()):typeof e=="object"?We(e):ae(Ct,null,String(e))}function We(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ze(e)}function Ns(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Ns(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Mn in t)?t._ctx=fe:r===3&&fe&&(fe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else U(t)?(t={default:t,_ctx:fe},n=32):(t=String(t),s&64?(n=16,t=[jo(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ql(...e){const t={};for(let n=0;nce||fe;let _n,fs;{const e=jr(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};_n=t("__VUE_INSTANCE_SETTERS__",n=>ce=n),fs=t("__VUE_SSR_SETTERS__",n=>Fn=n)}const kt=e=>{const t=ce;return _n(e),e.scope.on(),()=>{e.scope.off(),_n(t)}},ar=()=>{ce&&ce.scope.off(),_n(null)};function Vo(e){return e.vnode.shapeFlag&4}let Fn=!1;function nc(e,t=!1){t&&fs(t);const{props:n,children:s}=e.vnode,r=Vo(e);Hl(e,n,r,t),Dl(e,s);const o=r?sc(e,t):void 0;return t&&fs(!1),o}function sc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Lt(new Proxy(e.ctx,Al));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Bo(e):null,o=kt(e);ut();const i=ze(s,e,0,[e.props,r]);if(ft(),o(),Fr(i)){if(i.then(ar,ar),t)return i.then(l=>{ur(e,l,t)}).catch(l=>{Sn(l,e,0)});e.asyncDep=i}else ur(e,i,t)}else Do(e,t)}function ur(e,t,n){U(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=oo(t)),Do(e,n)}let fr;function Do(e,t,n){const s=e.type;if(!e.render){if(!t&&fr&&!s.render){const r=s.template||Ps(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=oe(oe({isCustomElement:o,delimiters:l},i),c);s.render=fr(r,u)}}e.render=s.render||xe}{const r=kt(e);ut();try{Ol(e)}finally{ft(),r()}}}function rc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return _e(e,"get","$attrs"),t[n]}}))}function Bo(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return rc(e)},slots:e.slots,emit:e.emit,expose:t}}function Fs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(oo(Lt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Pt)return Pt[n](e)},has(t,n){return n in t||n in Pt}}))}function oc(e,t=!0){return U(e)?e.displayName||e.name:e.name||t&&e.__name}function ic(e){return U(e)&&"__vccOpts"in e}const se=(e,t)=>Ki(e,t,Fn);function ds(e,t,n){const s=arguments.length;return s===2?Z(t)&&!B(t)?mn(t)?ae(e,null,[t]):ae(e,t):ae(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&mn(n)&&(n=[n]),ae(e,t,n))}const lc="3.4.15";/** +* @vue/runtime-dom v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const cc="http://www.w3.org/2000/svg",ac="http://www.w3.org/1998/Math/MathML",qe=typeof document<"u"?document:null,dr=qe&&qe.createElement("template"),uc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?qe.createElementNS(cc,e):t==="mathml"?qe.createElementNS(ac,e):qe.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>qe.createTextNode(e),createComment:e=>qe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>qe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{dr.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const l=dr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Be="transition",At="animation",Dt=Symbol("_vtc"),ko=(e,{slots:t})=>ds(ml,fc(e),t);ko.displayName="Transition";const Uo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ko.props=oe({},mo,Uo);const nt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},hr=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function fc(e){const t={};for(const O in e)O in Uo||(t[O]=e[O]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:u=i,appearToClass:d=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:w=`${n}-leave-to`}=e,L=dc(r),M=L&&L[0],F=L&&L[1],{onBeforeEnter:W,onEnter:J,onEnterCancelled:p,onLeave:_,onLeaveCancelled:N,onBeforeAppear:I=W,onAppear:D=J,onAppearCancelled:R=p}=t,T=(O,q,re)=>{st(O,q?d:l),st(O,q?u:i),re&&re()},S=(O,q)=>{O._isLeaving=!1,st(O,h),st(O,w),st(O,m),q&&q()},K=O=>(q,re)=>{const le=O?D:J,j=()=>T(q,O,re);nt(le,[q,j]),pr(()=>{st(q,O?c:o),ke(q,O?d:l),hr(le)||gr(q,s,M,j)})};return oe(t,{onBeforeEnter(O){nt(W,[O]),ke(O,o),ke(O,i)},onBeforeAppear(O){nt(I,[O]),ke(O,c),ke(O,u)},onEnter:K(!1),onAppear:K(!0),onLeave(O,q){O._isLeaving=!0;const re=()=>S(O,q);ke(O,h),gc(),ke(O,m),pr(()=>{O._isLeaving&&(st(O,h),ke(O,w),hr(_)||gr(O,s,F,re))}),nt(_,[O,re])},onEnterCancelled(O){T(O,!1),nt(p,[O])},onAppearCancelled(O){T(O,!0),nt(R,[O])},onLeaveCancelled(O){S(O),nt(N,[O])}})}function dc(e){if(e==null)return null;if(Z(e))return[Wn(e.enter),Wn(e.leave)];{const t=Wn(e);return[t,t]}}function Wn(e){return hi(e)}function ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Dt]||(e[Dt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Dt];n&&(n.delete(t),n.size||(e[Dt]=void 0))}function pr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let hc=0;function gr(e,t,n,s){const r=e._endId=++hc,o=()=>{r===e._endId&&s()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=pc(e,t);if(!i)return s();const u=i+"end";let d=0;const h=()=>{e.removeEventListener(u,m),o()},m=w=>{w.target===e&&++d>=c&&h()};setTimeout(()=>{d(n[L]||"").split(", "),r=s(`${Be}Delay`),o=s(`${Be}Duration`),i=mr(r,o),l=s(`${At}Delay`),c=s(`${At}Duration`),u=mr(l,c);let d=null,h=0,m=0;t===Be?i>0&&(d=Be,h=i,m=o.length):t===At?u>0&&(d=At,h=u,m=c.length):(h=Math.max(i,u),d=h>0?i>u?Be:At:null,m=d?d===Be?o.length:c.length:0);const w=d===Be&&/\b(transform|all)(,|$)/.test(s(`${Be}Property`).toString());return{type:d,timeout:h,propCount:m,hasTransform:w}}function mr(e,t){for(;e.length_r(n)+_r(e[s])))}function _r(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function gc(){return document.body.offsetHeight}function mc(e,t,n){const s=e[Dt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const _c=Symbol("_vod"),yc=Symbol("");function bc(e,t,n){const s=e.style,r=s.display,o=ne(n);if(n&&!o){if(t&&!ne(t))for(const i in t)n[i]==null&&hs(s,i,"");for(const i in n)hs(s,i,n[i])}else if(o){if(t!==n){const i=s[yc];i&&(n+=";"+i),s.cssText=n}}else t&&e.removeAttribute("style");_c in e&&(s.display=r)}const yr=/\s*!important$/;function hs(e,t,n){if(B(n))n.forEach(s=>hs(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=vc(e,t);yr.test(n)?e.setProperty(at(s),n.replace(yr,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],qn={};function vc(e,t){const n=qn[t];if(n)return n;let s=Me(t);if(s!=="filter"&&s in e)return qn[t]=s;s=wn(s);for(let r=0;rGn||(Ac.then(()=>Gn=0),Gn=Date.now());function Oc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Se(Lc(s,n.value),t,5,[s])};return n.value=e,n.attached=Rc(),n}function Lc(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Cr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ic=(e,t,n,s,r,o,i,l,c)=>{const u=r==="svg";t==="class"?mc(e,s,u):t==="style"?bc(e,n,s):Bt(t)?ms(t)||Sc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Pc(e,t,s,u))?Ec(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),wc(e,t,s,u))};function Pc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Cr(t)&&U(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Cr(t)&&ne(n)?!1:t in e}const Mc=["ctrl","shift","alt","meta"],Nc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Mc.some(n=>e[`${n}Key`]&&!t.includes(n))},Ga=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const o=at(r.key);if(t.some(i=>i===o||Fc[i]===o))return e(r)})},$c=oe({patchProp:Ic},uc);let zn,xr=!1;function Hc(){return zn=xr?zn:Wl($c),xr=!0,zn}const Xa=(...e)=>{const t=Hc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Vc(s);if(r)return n(r,!0,jc(r))},t};function jc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Vc(e){return ne(e)?document.querySelector(e):e}const Ya=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Ja="/logo.svg",Dc="modulepreload",Bc=function(e){return"/"+e},Sr={},Qa=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");r=Promise.all(n.map(i=>{if(i=Bc(i),i in Sr)return;Sr[i]=!0;const l=i.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!s)for(let h=o.length-1;h>=0;h--){const m=o[h];if(m.href===i&&(!l||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${c}`))return;const d=document.createElement("link");if(d.rel=l?"stylesheet":Dc,l||(d.as="script",d.crossOrigin=""),d.href=i,document.head.appendChild(d),l)return new Promise((h,m)=>{d.addEventListener("load",h),d.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${i}`)))})}))}return r.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},kc=window.__VP_SITE_DATA__;function $s(e){return Br()?(Ei(e),!0):!1}function Ye(e){return typeof e=="function"?e():ro(e)}const Ko=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Uc=Object.prototype.toString,Kc=e=>Uc.call(e)==="[object Object]",Ft=()=>{},ps=Wc();function Wc(){var e,t;return Ko&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function qc(e,t){function n(...s){return new Promise((r,o)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(o)})}return n}const Wo=e=>e();function Gc(e=Wo){const t=me(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...o)=>{t.value&&e(...o)};return{isActive:xn(t),pause:n,resume:s,eventFilter:r}}function zc(e){return e||Nn()}function qo(...e){if(e.length!==1)return Ji(...e);const t=e[0];return typeof t=="function"?xn(zi(()=>({get:t,set:Ft}))):me(t)}function Xc(e,t,n={}){const{eventFilter:s=Wo,...r}=n;return Xe(e,qc(s,t),r)}function Yc(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=Gc(s);return{stop:Xc(e,t,{...r,eventFilter:o}),pause:i,resume:l,isActive:c}}function Go(e,t=!0,n){zc()?St(e,n):t?e():Tn(e)}function gt(e){var t;const n=Ye(e);return(t=n==null?void 0:n.$el)!=null?t:n}const He=Ko?window:void 0;function Je(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=He):[t,n,s,r]=e,!t)return Ft;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const o=[],i=()=>{o.forEach(d=>d()),o.length=0},l=(d,h,m,w)=>(d.addEventListener(h,m,w),()=>d.removeEventListener(h,m,w)),c=Xe(()=>[gt(t),Ye(r)],([d,h])=>{if(i(),!d)return;const m=Kc(h)?{...h}:h;o.push(...n.flatMap(w=>s.map(L=>l(d,w,L,m))))},{immediate:!0,flush:"post"}),u=()=>{c(),i()};return $s(u),u}let Tr=!1;function Za(e,t,n={}){const{window:s=He,ignore:r=[],capture:o=!0,detectIframe:i=!1}=n;if(!s)return Ft;ps&&!Tr&&(Tr=!0,Array.from(s.document.body.children).forEach(m=>m.addEventListener("click",Ft)),s.document.documentElement.addEventListener("click",Ft));let l=!0;const c=m=>r.some(w=>{if(typeof w=="string")return Array.from(s.document.querySelectorAll(w)).some(L=>L===m.target||m.composedPath().includes(L));{const L=gt(w);return L&&(m.target===L||m.composedPath().includes(L))}}),d=[Je(s,"click",m=>{const w=gt(e);if(!(!w||w===m.target||m.composedPath().includes(w))){if(m.detail===0&&(l=!c(m)),!l){l=!0;return}t(m)}},{passive:!0,capture:o}),Je(s,"pointerdown",m=>{const w=gt(e);l=!c(m)&&!!(w&&!m.composedPath().includes(w))},{passive:!0}),i&&Je(s,"blur",m=>{setTimeout(()=>{var w;const L=gt(e);((w=s.document.activeElement)==null?void 0:w.tagName)==="IFRAME"&&!(L!=null&&L.contains(s.document.activeElement))&&t(m)},0)})].filter(Boolean);return()=>d.forEach(m=>m())}function Jc(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function eu(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=He,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=s,c=Jc(t);return Je(r,o,d=>{d.repeat&&Ye(l)||c(d)&&n(d)},i)}function Qc(){const e=me(!1);return Nn()&&St(()=>{e.value=!0}),e}function Zc(e){const t=Qc();return se(()=>(t.value,!!e()))}function ea(e,t={}){const{window:n=He}=t,s=Zc(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const o=me(!1),i=u=>{o.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",i):r.removeListener(i))},c=po(()=>{s.value&&(l(),r=n.matchMedia(Ye(e)),"addEventListener"in r?r.addEventListener("change",i):r.addListener(i),o.value=r.matches)});return $s(()=>{c(),l(),r=void 0}),o}const en=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},tn="__vueuse_ssr_handlers__",ta=na();function na(){return tn in en||(en[tn]=en[tn]||{}),en[tn]}function zo(e,t){return ta[e]||t}function sa(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const ra={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Ar="vueuse-storage";function oa(e,t,n,s={}){var r;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:d,window:h=He,eventFilter:m,onError:w=T=>{console.error(T)},initOnMounted:L}=s,M=(d?no:me)(typeof t=="function"?t():t);if(!n)try{n=zo("getDefaultStorage",()=>{var T;return(T=He)==null?void 0:T.localStorage})()}catch(T){w(T)}if(!n)return M;const F=Ye(t),W=sa(F),J=(r=s.serializer)!=null?r:ra[W],{pause:p,resume:_}=Yc(M,()=>N(M.value),{flush:o,deep:i,eventFilter:m});return h&&l&&Go(()=>{Je(h,"storage",R),Je(h,Ar,D),L&&R()}),L||R(),M;function N(T){try{if(T==null)n.removeItem(e);else{const S=J.write(T),K=n.getItem(e);K!==S&&(n.setItem(e,S),h&&h.dispatchEvent(new CustomEvent(Ar,{detail:{key:e,oldValue:K,newValue:S,storageArea:n}})))}}catch(S){w(S)}}function I(T){const S=T?T.newValue:n.getItem(e);if(S==null)return c&&F!=null&&n.setItem(e,J.write(F)),F;if(!T&&u){const K=J.read(S);return typeof u=="function"?u(K,F):W==="object"&&!Array.isArray(K)?{...F,...K}:K}else return typeof S!="string"?S:J.read(S)}function D(T){R(T.detail)}function R(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){M.value=F;return}if(!(T&&T.key!==e)){p();try{(T==null?void 0:T.newValue)!==J.write(M.value)&&(M.value=I(T))}catch(S){w(S)}finally{T?Tn(_):_()}}}}}function Xo(e){return ea("(prefers-color-scheme: dark)",e)}function ia(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=He,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:d=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},m=Xo({window:r}),w=se(()=>m.value?"dark":"light"),L=c||(i==null?qo(s):oa(i,s,o,{window:r,listenToStorageChanges:l})),M=se(()=>L.value==="auto"?w.value:L.value),F=zo("updateHTMLAttrs",(_,N,I)=>{const D=typeof _=="string"?r==null?void 0:r.document.querySelector(_):gt(_);if(!D)return;let R;if(d&&(R=r.document.createElement("style"),R.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),r.document.head.appendChild(R)),N==="class"){const T=I.split(/\s/g);Object.values(h).flatMap(S=>(S||"").split(/\s/g)).filter(Boolean).forEach(S=>{T.includes(S)?D.classList.add(S):D.classList.remove(S)})}else D.setAttribute(N,I);d&&(r.getComputedStyle(R).opacity,document.head.removeChild(R))});function W(_){var N;F(t,n,(N=h[_])!=null?N:_)}function J(_){e.onChanged?e.onChanged(_,W):W(_)}Xe(M,J,{flush:"post",immediate:!0}),Go(()=>J(M.value));const p=se({get(){return u?L.value:M.value},set(_){L.value=_}});try{return Object.assign(p,{store:L,system:w,state:M})}catch{return p}}function la(e={}){const{valueDark:t="dark",valueLight:n="",window:s=He}=e,r=ia({...e,onChanged:(l,c)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=se(()=>r.system?r.system.value:Xo({window:s}).value?"dark":"light");return se({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?r.value="auto":r.value=c}})}function Xn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Yo(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const nn=new WeakMap;function tu(e,t=!1){const n=me(t);let s=null,r;Xe(qo(e),l=>{const c=Xn(Ye(l));if(c){const u=c;nn.get(u)||nn.set(u,r),n.value&&(u.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=Xn(Ye(e));!l||n.value||(ps&&(s=Je(l,"touchmove",c=>{ca(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{var l;const c=Xn(Ye(e));!c||!n.value||(ps&&(s==null||s()),c.style.overflow=(l=nn.get(c))!=null?l:"",nn.delete(c),n.value=!1)};return $s(i),se({get(){return n.value},set(l){l?o():i()}})}function nu(e={}){const{window:t=He,behavior:n="auto"}=e;if(!t)return{x:me(0),y:me(0)};const s=me(t.scrollX),r=me(t.scrollY),o=se({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),i=se({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Je(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}var Yn={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},aa={};const Jo=/^(?:[a-z]+:|\/\/)/i,ua="vitepress-theme-appearance",Qo=/#.*$/,fa=/(index)?\.(md|html)$/,Ce=typeof document<"u",Zo={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function da(e,t,n=!1){if(t===void 0)return!1;if(e=Rr(`/${e}`),n)return new RegExp(t).test(e);if(Rr(t)!==e)return!1;const s=t.match(Qo);return s?(Ce?location.hash:"")===s[0]:!0}function Rr(e){return decodeURI(e).replace(Qo,"").replace(fa,"")}function ha(e){return Jo.test(e)}function pa(e,t){var s,r,o,i,l,c,u;const n=Object.keys(e.locales).find(d=>d!=="root"&&!ha(d)&&da(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:ti(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function ei(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=ga(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function ga(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function ma(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([o,i])=>o===n&&i[r[0]]===r[1])}function ti(e,t){return[...e.filter(n=>!ma(t,n)),...t]}const _a=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,ya=/^[a-z]:/i;function Or(e){const t=ya.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(_a,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const Jn=new Set;function ba(e){if(Jn.size===0){const n=typeof process=="object"&&aa.VITE_EXTRA_EXTENSIONS||(Yn==null?void 0:Yn.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>Jn.add(s))}const t=e.split(".").pop();return t==null||!Jn.has(t.toLowerCase())}const va=Symbol(),ct=no(kc);function su(e){const t=se(()=>pa(ct.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?me(!0):n?la({storageKey:ua,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):me(!1);return{site:t,theme:se(()=>t.value.themeConfig),page:se(()=>e.data),frontmatter:se(()=>e.data.frontmatter),params:se(()=>e.data.params),lang:se(()=>t.value.lang),dir:se(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:se(()=>t.value.localeIndex||"root"),title:se(()=>ei(t.value,e.data)),description:se(()=>e.data.description||t.value.description),isDark:s}}function wa(){const e=wt(va);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Ea(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Lr(e){return Jo.test(e)||!e.startsWith("/")?e:Ea(ct.value.base,e)}function Ca(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=Or(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Or(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let ln=[];function ru(e){ln.push(e),Pn(()=>{ln=ln.filter(t=>t!==e)})}function xa(){let e=ct.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Ir(e,n);else if(Array.isArray(e))for(const s of e){const r=Ir(s,n);if(r){t=r;break}}return t}function Ir(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Sa=Symbol(),ni="http://a.com",Ta=()=>({path:"/",component:null,data:Zo});function ou(e,t){const n=Cn(Ta()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var c,u;l=yn(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(Mr(l),await i(l),await((u=s.onAfterRouteChanged)==null?void 0:u.call(s,l)))}let o=null;async function i(l,c=0,u=!1){var m;if(await((m=s.onBeforePageLoad)==null?void 0:m.call(s,l))===!1)return;const d=new URL(l,ni),h=o=d.pathname;try{let w=await e(h);if(!w)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:L,__pageData:M}=w;if(!L)throw new Error(`Invalid route component: ${L}`);n.path=Ce?h:Lr(h),n.component=Lt(L),n.data=Lt(M),Ce&&Tn(()=>{let F=ct.value.base+M.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ct.value.cleanUrls&&!F.endsWith("/")&&(F+=".html"),F!==d.pathname&&(d.pathname=F,l=F+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let W=null;try{W=document.getElementById(decodeURIComponent(d.hash).slice(1))}catch(J){console.warn(J)}if(W){Pr(W,d.hash);return}}window.scrollTo(0,c)})}}catch(w){if(!/fetch|Page not found/.test(w.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(w),!u)try{const L=await fetch(ct.value.base+"hashmap.json");window.__VP_HASH_MAP__=await L.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:Lr(h),n.component=t?Lt(t):null,n.data=Zo)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const u=l.target.closest("a");if(u&&!u.closest(".vp-raw")&&(u instanceof SVGElement||!u.download)){const{target:d}=u,{href:h,origin:m,pathname:w,hash:L,search:M}=new URL(u.href instanceof SVGAnimatedString?u.href.animVal:u.href,u.baseURI),F=window.location;!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!d&&m===F.origin&&ba(w)&&(l.preventDefault(),w===F.pathname&&M===F.search?(L!==F.hash&&(history.pushState(null,"",L),window.dispatchEvent(new Event("hashchange"))),L?Pr(u,L,u.classList.contains("header-anchor")):(Mr(h),window.scrollTo(0,0))):r(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(yn(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Aa(){const e=wt(Sa);if(!e)throw new Error("useRouter() is called without provider.");return e}function si(){return Aa().route}function Pr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-xa()+o;requestAnimationFrame(r)}}function Mr(e){Ce&&yn(e)!==yn(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}function yn(e){const t=new URL(e,ni);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ct.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const Qn=()=>ln.forEach(e=>e()),iu=bo({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=si(),{site:n}=wa();return()=>ds(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?ds(t.component,{onVnodeMounted:Qn,onVnodeUpdated:Qn,onVnodeUnmounted:Qn}):"404 Page Not Found"])}}),lu=bo({setup(e,{slots:t}){const n=me(!1);return St(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function cu(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const o=s.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(u=>u.classList.contains("active"));if(!i)return;const l=o.children[r];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function au(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,o=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(d=>d.remove());let u=c.textContent||"";i&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),Ra(u).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const d=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,d)})}})}}async function Ra(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function uu(e,t){let n=!0,s=[];const r=o=>{if(n){n=!1,o.forEach(l=>{const c=Zn(l);for(const u of document.head.children)if(u.isEqualNode(c)){s.push(u);return}});return}const i=o.map(Zn);s.forEach((l,c)=>{const u=i.findIndex(d=>d==null?void 0:d.isEqualNode(l??null));u!==-1?delete i[u]:(l==null||l.remove(),delete s[c])}),i.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...i].filter(Boolean)};po(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],u=ei(i,o);u!==document.title&&(document.title=u);const d=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==d&&h.setAttribute("content",d):Zn(["meta",{name:"description",content:d}]),r(ti(i.head,La(c)))})}function Zn([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function Oa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function La(e){return e.filter(t=>!Oa(t))}const es=new Set,ri=()=>document.createElement("link"),Ia=e=>{const t=ri();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Pa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let sn;const Ma=Ce&&(sn=ri())&&sn.relList&&sn.relList.supports&&sn.relList.supports("prefetch")?Ia:Pa;function fu(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!es.has(c)){es.add(c);const u=Ca(c);u&&Ma(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):es.add(l))})})};St(s);const r=si();Xe(()=>r.path,s),Pn(()=>{n&&n.disconnect()})}export{ka as $,Pn as A,Va as B,El as C,xa as D,Ha as E,ge as F,Da as G,no as H,ru as I,ae as J,ja as K,Jo as L,si as M,Ql as N,wt as O,Za as P,eu as Q,bs as R,Tn as S,ko as T,nu as U,Wa as V,xn as W,tu as X,$l as Y,za as Z,Ya as _,jo as a,Ga as a0,Ua as a1,Ja as a2,uu as a3,Sa as a4,su as a5,va as a6,iu as a7,lu as a8,ct as a9,Xa as aa,ou as ab,Ca as ac,Qa as ad,fu as ae,au as af,cu as ag,ds as ah,Fo as b,Ka as c,bo as d,qa as e,ba as f,Lr as g,me as h,ha as i,Ce as j,se as k,St as l,Ho as m,vs as n,Mo as o,ro as p,Fa as q,Ba as r,$a as s,Na as t,wa as u,da as v,ol as w,ea as x,Xe as y,po as z}; diff --git a/docs/assets/chunks/theme.jJu9wvzu.js b/docs/assets/chunks/theme.jJu9wvzu.js new file mode 100644 index 0000000..7a82946 --- /dev/null +++ b/docs/assets/chunks/theme.jJu9wvzu.js @@ -0,0 +1 @@ +import{d as g,o as a,c as l,r as c,n as I,a as H,t as V,b as $,w as h,T as de,e as _,_ as m,u as De,i as Oe,f as Ue,g as ve,h as L,j as R,k,l as x,m as d,p as r,q as E,s as F,v as G,x as ie,y as j,z as X,A as he,B as ye,C as Ge,D as xe,E as q,F as T,G as A,H as we,I as ee,J as f,K as U,L as Pe,M as te,N as J,O as se,P as je,Q as qe,R as Ke,S as Re,U as Ve,V as We,W as Ye,X as Le,Y as Se,Z as Je,$ as Ze,a0 as Qe,a1 as Xe}from"./framework.4X8dX8EZ.js";const et=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),l("span",{class:I(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[H(V(e.text),1)])],2))}}),tt={key:0,class:"VPBackdrop"},st=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),$(de,{name:"fade"},{default:h(()=>[e.show?(a(),l("div",tt)):_("",!0)]),_:1}))}}),ot=m(st,[["__scopeId","data-v-c79a1216"]]),P=De;function nt(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function le(s){return/^\//.test(s)?s:`/${s}`}function pe(s){const{pathname:e,search:t,hash:n,protocol:o}=new URL(s,"http://a.com");if(Oe(s)||s.startsWith("#")||!o.startsWith("http")||!Ue(e))return s;const{site:i}=P(),u=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${n}`);return ve(u)}const fe=L(R?location.hash:"");R&&window.addEventListener("hashchange",()=>{fe.value=location.hash});function W({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:i}=P(),u=k(()=>{var v,b;return{label:(v=t.value.locales[n.value])==null?void 0:v.label,link:((b=t.value.locales[n.value])==null?void 0:b.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:k(()=>Object.entries(t.value.locales).flatMap(([v,b])=>s&&u.value.label===b.label?[]:{text:b.label,link:at(b.link||(v==="root"?"/":`/${v}/`),i.value.i18nRouting!==!1&&e,o.value.relativePath.slice(u.value.link.length-1),!t.value.cleanUrls)+fe.value})),currentLang:u}}function at(s,e,t,n){return e?s.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const rt=s=>(E("data-v-f87ff6e4"),s=s(),F(),s),it={class:"NotFound"},lt={class:"code"},ct={class:"title"},ut=rt(()=>d("div",{class:"divider"},null,-1)),dt={class:"quote"},vt={class:"action"},ht=["href","aria-label"],pt=g({__name:"NotFound",setup(s){const{site:e,theme:t}=P(),{localeLinks:n}=W({removeCurrent:!1}),o=L("/");return x(()=>{var u;const i=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((u=n.value.find(({link:p})=>p.startsWith(i)))==null?void 0:u.link)||n.value[0].link)}),(i,u)=>{var p,v,b,y,w;return a(),l("div",it,[d("p",lt,V(((p=r(t).notFound)==null?void 0:p.code)??"404"),1),d("h1",ct,V(((v=r(t).notFound)==null?void 0:v.title)??"PAGE NOT FOUND"),1),ut,d("blockquote",dt,V(((b=r(t).notFound)==null?void 0:b.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",vt,[d("a",{class:"link",href:r(ve)(o.value),"aria-label":((y=r(t).notFound)==null?void 0:y.linkLabel)??"go to home"},V(((w=r(t).notFound)==null?void 0:w.linkText)??"Take me home"),9,ht)])])}}}),ft=m(pt,[["__scopeId","data-v-f87ff6e4"]]);function Me(s,e){if(Array.isArray(s))return Z(s);if(s==null)return[];e=le(e);const t=Object.keys(s).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>e.startsWith(le(o))),n=t?s[t]:[];return Array.isArray(n)?Z(n):Z(n.items,n.base)}function _t(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function mt(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function ce(s,e){return Array.isArray(e)?e.some(t=>ce(s,t)):G(s,e.link)?!0:e.items?ce(s,e.items):!1}function Z(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=Z(n.items,o)),n})}function D(){const{frontmatter:s,page:e,theme:t}=P(),n=ie("(min-width: 960px)"),o=L(!1),i=k(()=>{const B=t.value.sidebar,S=e.value.relativePath;return B?Me(B,S):[]}),u=L(i.value);j(i,(B,S)=>{JSON.stringify(B)!==JSON.stringify(S)&&(u.value=i.value)});const p=k(()=>s.value.sidebar!==!1&&u.value.length>0&&s.value.layout!=="home"),v=k(()=>b?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),b=k(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),y=k(()=>p.value&&n.value),w=k(()=>p.value?_t(u.value):[]);function M(){o.value=!0}function C(){o.value=!1}function N(){o.value?C():M()}return{isOpen:o,sidebar:u,sidebarGroups:w,hasSidebar:p,hasAside:b,leftAside:v,isSidebarEnabled:y,open:M,close:C,toggle:N}}function gt(s,e){let t;X(()=>{t=s.value?document.activeElement:void 0}),x(()=>{window.addEventListener("keyup",n)}),he(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function $t(s){const{page:e}=P(),t=L(!1),n=k(()=>s.value.collapsed!=null),o=k(()=>!!s.value.link),i=L(!1),u=()=>{i.value=G(e.value.relativePath,s.value.link)};j([e,s,fe],u),x(u);const p=k(()=>i.value?!0:s.value.items?ce(e.value.relativePath,s.value.items):!1),v=k(()=>!!(s.value.items&&s.value.items.length));X(()=>{t.value=!!(n.value&&s.value.collapsed)}),ye(()=>{(i.value||p.value)&&(t.value=!1)});function b(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:p,hasChildren:v,toggle:b}}function kt(){const{hasSidebar:s}=D(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:k(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const ue=[];function Ce(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function _e(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:bt(t),link:"#"+t.id,level:n}});return yt(e,s)}function bt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function yt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(u=>u.level>=n&&u.level<=o),ue.length=0;for(const{element:u,link:p}of s)ue.push({element:u,link:p});const i=[];e:for(let u=0;u=0;v--){const b=s[v];if(b.level{requestAnimationFrame(i),window.addEventListener("scroll",n)}),Ge(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",n)});function i(){if(!t.value)return;const p=window.scrollY,v=window.innerHeight,b=document.body.offsetHeight,y=Math.abs(p+v-b)<1,w=ue.map(({element:C,link:N})=>({link:N,top:Pt(C)})).filter(({top:C})=>!Number.isNaN(C)).sort((C,N)=>C.top-N.top);if(!w.length){u(null);return}if(p<1){u(null);return}if(y){u(w[w.length-1].link);return}let M=null;for(const{link:C,top:N}of w){if(N>p+xe()+4)break;M=C}u(M)}function u(p){o&&o.classList.remove("active"),p==null?o=null:o=s.value.querySelector(`a[href="${decodeURIComponent(p)}"]`);const v=o;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Pt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}const Vt=["href","title"],Lt=g({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(s){function e({target:t}){const n=t.href.split("#")[1],o=document.getElementById(decodeURIComponent(n));o==null||o.focus({preventScroll:!0})}return(t,n)=>{const o=q("VPDocOutlineItem",!0);return a(),l("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),l(T,null,A(t.headers,({children:i,link:u,title:p})=>(a(),l("li",null,[d("a",{class:"outline-link",href:u,onClick:e,title:p},V(p),9,Vt),i!=null&&i.length?(a(),$(o,{key:0,headers:i},null,8,["headers"])):_("",!0)]))),256))],2)}}}),Ie=m(Lt,[["__scopeId","data-v-b933a997"]]),St=s=>(E("data-v-935f8a84"),s=s(),F(),s),Mt={class:"content"},Ct={class:"outline-title",role:"heading","aria-level":"2"},It={"aria-labelledby":"doc-outline-aria-label"},Tt=St(()=>d("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Nt=g({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),n=we([]);ee(()=>{n.value=_e(e.value.outline??t.value.outline)});const o=L(),i=L();return wt(o,i),(u,p)=>(a(),l("div",{class:I(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[d("div",Mt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",Ct,V(r(Ce)(r(t))),1),d("nav",It,[Tt,f(Ie,{headers:n.value,root:!0},null,8,["headers"])])])],2))}}),Bt=m(Nt,[["__scopeId","data-v-935f8a84"]]),At={class:"VPDocAsideCarbonAds"},Ht=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),l("div",At,[f(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),zt=s=>(E("data-v-3f215769"),s=s(),F(),s),Et={class:"VPDocAside"},Ft=zt(()=>d("div",{class:"spacer"},null,-1)),Dt=g({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,n)=>(a(),l("div",Et,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),f(Bt),c(t.$slots,"aside-outline-after",{},void 0,!0),Ft,c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),$(Ht,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):_("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ot=m(Dt,[["__scopeId","data-v-3f215769"]]);function Ut(){const{theme:s,page:e}=P();return k(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function Gt(){const{page:s,theme:e,frontmatter:t}=P();return k(()=>{var v,b,y,w,M,C,N,B;const n=Me(e.value.sidebar,s.value.relativePath),o=mt(n),i=o.findIndex(S=>G(s.value.relativePath,S.link)),u=((v=e.value.docFooter)==null?void 0:v.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((b=e.value.docFooter)==null?void 0:b.next)===!1&&!t.value.next||t.value.next===!1;return{prev:u?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((y=o[i-1])==null?void 0:y.docFooterText)??((w=o[i-1])==null?void 0:w.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((M=o[i-1])==null?void 0:M.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((C=o[i+1])==null?void 0:C.docFooterText)??((N=o[i+1])==null?void 0:N.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((B=o[i+1])==null?void 0:B.link)}}})}const xt={},jt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},qt=d("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Kt=d("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Rt=[qt,Kt];function Wt(s,e){return a(),l("svg",jt,Rt)}const Yt=m(xt,[["render",Wt]]),z=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=k(()=>e.tag??(e.href?"a":"span")),n=k(()=>e.href&&Pe.test(e.href));return(o,i)=>(a(),$(U(t.value),{class:I(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?r(pe)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:h(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Jt={class:"VPLastUpdated"},Zt=["datetime"],Qt=g({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n,lang:o}=P(),i=k(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),u=k(()=>i.value.toISOString()),p=L("");return x(()=>{X(()=>{var v,b,y;p.value=new Intl.DateTimeFormat((b=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&b.forceLocale?o.value:void 0,((y=e.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(v,b)=>{var y;return a(),l("p",Jt,[H(V(((y=r(e).lastUpdated)==null?void 0:y.text)||r(e).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:u.value},V(p.value),9,Zt)])}}}),Xt=m(Qt,[["__scopeId","data-v-7e05ebdb"]]),es={key:0,class:"VPDocFooter"},ts={key:0,class:"edit-info"},ss={key:0,class:"edit-link"},os={key:1,class:"last-updated"},ns={key:1,class:"prev-next"},as={class:"pager"},rs=["innerHTML"],is=["innerHTML"],ls={class:"pager"},cs=["innerHTML"],us=["innerHTML"],ds=g({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=Ut(),i=Gt(),u=k(()=>e.value.editLink&&n.value.editLink!==!1),p=k(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),v=k(()=>u.value||p.value||i.value.prev||i.value.next);return(b,y)=>{var w,M,C,N;return v.value?(a(),l("footer",es,[c(b.$slots,"doc-footer-before",{},void 0,!0),u.value||p.value?(a(),l("div",ts,[u.value?(a(),l("div",ss,[f(z,{class:"edit-link-button",href:r(o).url,"no-icon":!0},{default:h(()=>[f(Yt,{class:"edit-link-icon","aria-label":"edit icon"}),H(" "+V(r(o).text),1)]),_:1},8,["href"])])):_("",!0),p.value?(a(),l("div",os,[f(Xt)])):_("",!0)])):_("",!0),(w=r(i).prev)!=null&&w.link||(M=r(i).next)!=null&&M.link?(a(),l("nav",ns,[d("div",as,[(C=r(i).prev)!=null&&C.link?(a(),$(z,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:h(()=>{var B;return[d("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,rs),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,is)]}),_:1},8,["href"])):_("",!0)]),d("div",ls,[(N=r(i).next)!=null&&N.link?(a(),$(z,{key:0,class:"pager-link next",href:r(i).next.link},{default:h(()=>{var B;return[d("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.next)||"Next page"},null,8,cs),d("span",{class:"title",innerHTML:r(i).next.text},null,8,us)]}),_:1},8,["href"])):_("",!0)])])):_("",!0)])):_("",!0)}}}),vs=m(ds,[["__scopeId","data-v-48f9bb55"]]),hs=s=>(E("data-v-39a288b8"),s=s(),F(),s),ps={class:"container"},fs=hs(()=>d("div",{class:"aside-curtain"},null,-1)),_s={class:"aside-container"},ms={class:"aside-content"},gs={class:"content"},$s={class:"content-container"},ks={class:"main"},bs=g({__name:"VPDoc",setup(s){const{theme:e}=P(),t=te(),{hasSidebar:n,hasAside:o,leftAside:i}=D(),u=k(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,v)=>{const b=q("Content");return a(),l("div",{class:I(["VPDoc",{"has-sidebar":r(n),"has-aside":r(o)}])},[c(p.$slots,"doc-top",{},void 0,!0),d("div",ps,[r(o)?(a(),l("div",{key:0,class:I(["aside",{"left-aside":r(i)}])},[fs,d("div",_s,[d("div",ms,[f(Ot,null,{"aside-top":h(()=>[c(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[c(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[c(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[c(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[c(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[c(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):_("",!0),d("div",gs,[d("div",$s,[c(p.$slots,"doc-before",{},void 0,!0),d("main",ks,[f(b,{class:I(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),f(vs,null,{"doc-footer-before":h(()=>[c(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(p.$slots,"doc-after",{},void 0,!0)])])]),c(p.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ys=m(bs,[["__scopeId","data-v-39a288b8"]]),ws=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=k(()=>e.href&&Pe.test(e.href)),n=k(()=>e.tag||e.href?"a":"button");return(o,i)=>(a(),$(U(n.value),{class:I(["VPButton",[o.size,o.theme]]),href:o.href?r(pe)(o.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:h(()=>[H(V(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ps=m(ws,[["__scopeId","data-v-cad61b99"]]),Vs=["src","alt"],Ls=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=q("VPImage",!0);return e.image?(a(),l(T,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",J({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(ve)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Vs)):(a(),l(T,{key:1},[f(n,J({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),f(n,J({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):_("",!0)}}}),Q=m(Ls,[["__scopeId","data-v-8426fc1a"]]),Ss=s=>(E("data-v-303bb580"),s=s(),F(),s),Ms={class:"container"},Cs={class:"main"},Is={key:0,class:"name"},Ts=["innerHTML"],Ns=["innerHTML"],Bs=["innerHTML"],As={key:0,class:"actions"},Hs={key:0,class:"image"},zs={class:"image-container"},Es=Ss(()=>d("div",{class:"image-bg"},null,-1)),Fs=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=se("hero-image-slot-exists");return(t,n)=>(a(),l("div",{class:I(["VPHero",{"has-image":t.image||r(e)}])},[d("div",Ms,[d("div",Cs,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",Is,[d("span",{innerHTML:t.name,class:"clip"},null,8,Ts)])):_("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,Ns)):_("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Bs)):_("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),l("div",As,[(a(!0),l(T,null,A(t.actions,o=>(a(),l("div",{key:o.link,class:"action"},[f(Ps,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):_("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),l("div",Hs,[d("div",zs,[Es,c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):_("",!0)],!0)])])):_("",!0)])],2))}}),Ds=m(Fs,[["__scopeId","data-v-303bb580"]]),Os=g({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).hero?(a(),$(Ds,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":h(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":h(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":h(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":h(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":h(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):_("",!0)}}),Us={},Gs={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},xs=d("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),js=[xs];function qs(s,e){return a(),l("svg",Gs,js)}const Ks=m(Us,[["render",qs]]),Rs={class:"box"},Ws={key:0,class:"icon"},Ys=["innerHTML"],Js=["innerHTML"],Zs=["innerHTML"],Qs={key:4,class:"link-text"},Xs={class:"link-text-value"},eo=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),$(z,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:h(()=>[d("article",Rs,[typeof e.icon=="object"&&e.icon.wrap?(a(),l("div",Ws,[f(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Ys)):_("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,Js),e.details?(a(),l("p",{key:3,class:"details",innerHTML:e.details},null,8,Zs)):_("",!0),e.linkText?(a(),l("div",Qs,[d("p",Xs,[H(V(e.linkText)+" ",1),f(Ks,{class:"link-text-icon"})])])):_("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),to=m(eo,[["__scopeId","data-v-33204567"]]),so={key:0,class:"VPFeatures"},oo={class:"container"},no={class:"items"},ao=g({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=k(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,o)=>n.features?(a(),l("div",so,[d("div",oo,[d("div",no,[(a(!0),l(T,null,A(n.features,i=>(a(),l("div",{key:i.title,class:I(["item",[t.value]])},[f(to,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):_("",!0)}}),ro=m(ao,[["__scopeId","data-v-a6181336"]]),io=g({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).features?(a(),$(ro,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):_("",!0)}}),lo={class:"VPHome"},co=g({__name:"VPHome",setup(s){return(e,t)=>{const n=q("Content");return a(),l("div",lo,[c(e.$slots,"home-hero-before",{},void 0,!0),f(Os,null,{"home-hero-info-before":h(()=>[c(e.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[c(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[c(e.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[c(e.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[c(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(e.$slots,"home-hero-after",{},void 0,!0),c(e.$slots,"home-features-before",{},void 0,!0),f(io),c(e.$slots,"home-features-after",{},void 0,!0),f(n)])}}}),uo=m(co,[["__scopeId","data-v-c71b6826"]]),vo={},ho={class:"VPPage"};function po(s,e){const t=q("Content");return a(),l("div",ho,[c(s.$slots,"page-top"),f(t),c(s.$slots,"page-bottom")])}const fo=m(vo,[["render",po]]),_o=g({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,i)=>(a(),l("div",{class:I(["VPContent",{"has-sidebar":r(n),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(o.$slots,"not-found",{key:0},()=>[f(ft)],!0):r(t).layout==="page"?(a(),$(fo,{key:1},{"page-top":h(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),$(uo,{key:2},{"home-hero-before":h(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":h(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),$(U(r(t).layout),{key:3})):(a(),$(ys,{key:4},{"doc-top":h(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":h(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":h(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":h(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":h(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),mo=m(_o,[["__scopeId","data-v-1428d186"]]),go={class:"container"},$o=["innerHTML"],ko=["innerHTML"],bo=g({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,i)=>r(e).footer&&r(t).footer!==!1?(a(),l("footer",{key:0,class:I(["VPFooter",{"has-sidebar":r(n)}])},[d("div",go,[r(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,$o)):_("",!0),r(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,ko)):_("",!0)])],2)):_("",!0)}}),yo=m(bo,[["__scopeId","data-v-e315a0ad"]]);function Te(){const{theme:s,frontmatter:e}=P(),t=we([]),n=k(()=>t.value.length>0);return ee(()=>{t.value=_e(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:n}}const wo={},Po={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Vo=d("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),Lo=[Vo];function So(s,e){return a(),l("svg",Po,Lo)}const Ne=m(wo,[["render",So]]),Mo={class:"header"},Co={class:"outline"},Io=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),n=L(!1),o=L(0),i=L(),u=L();je(i,()=>{n.value=!1}),qe("Escape",()=>{n.value=!1}),ee(()=>{n.value=!1});function p(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function v(y){y.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),Re(()=>{n.value=!1}))}function b(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(y,w)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Ke({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[y.headers.length>0?(a(),l("button",{key:0,onClick:p,class:I({open:n.value})},[H(V(r(Ce)(r(t)))+" ",1),f(Ne,{class:"icon"})],2)):(a(),l("button",{key:1,onClick:b},V(r(t).returnToTopLabel||"Return to top"),1)),f(de,{name:"flyout"},{default:h(()=>[n.value?(a(),l("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:v},[d("div",Mo,[d("a",{class:"top-link",href:"#",onClick:b},V(r(t).returnToTopLabel||"Return to top"),1)]),d("div",Co,[f(Ie,{headers:y.headers},null,8,["headers"])])],512)):_("",!0)]),_:1})],4))}}),To=m(Io,[["__scopeId","data-v-af18c0d5"]]),No={},Bo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ao=d("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),Ho=d("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),zo=d("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Eo=d("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),Fo=[Ao,Ho,zo,Eo];function Do(s,e){return a(),l("svg",Bo,Fo)}const Oo=m(No,[["render",Do]]),Uo={class:"container"},Go=["aria-expanded"],xo={class:"menu-text"},jo=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D(),{headers:o}=Te(),{y:i}=Ve(),u=L(0);x(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ee(()=>{o.value=_e(t.value.outline??e.value.outline)});const p=k(()=>o.value.length===0),v=k(()=>p.value&&!n.value),b=k(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:p.value,fixed:v.value}));return(y,w)=>r(t).layout!=="home"&&(!v.value||r(i)>=u.value)?(a(),l("div",{key:0,class:I(b.value)},[d("div",Uo,[r(n)?(a(),l("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:w[0]||(w[0]=M=>y.$emit("open-menu"))},[f(Oo,{class:"menu-icon"}),d("span",xo,V(r(e).sidebarMenuLabel||"Menu"),1)],8,Go)):_("",!0),f(To,{headers:r(o),navHeight:u.value},null,8,["headers","navHeight"])])],2)):_("",!0)}}),qo=m(jo,[["__scopeId","data-v-0282ae07"]]);function Ko(){const s=L(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const i=te();return j(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const Ro={},Wo={class:"VPSwitch",type:"button",role:"switch"},Yo={class:"check"},Jo={key:0,class:"icon"};function Zo(s,e){return a(),l("button",Wo,[d("span",Yo,[s.$slots.default?(a(),l("span",Jo,[c(s.$slots,"default",{},void 0,!0)])):_("",!0)])])}const Qo=m(Ro,[["render",Zo],["__scopeId","data-v-b1685198"]]),Xo={},en={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},tn=d("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),sn=[tn];function on(s,e){return a(),l("svg",en,sn)}const nn=m(Xo,[["render",on]]),an={},rn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ln=We('',9),cn=[ln];function un(s,e){return a(),l("svg",rn,cn)}const dn=m(an,[["render",un]]),vn=g({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=P(),n=se("toggle-appearance",()=>{e.value=!e.value}),o=k(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,u)=>(a(),$(Qo,{title:o.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(n)},{default:h(()=>[f(dn,{class:"sun"}),f(nn,{class:"moon"})]),_:1},8,["title","aria-checked","onClick"]))}}),me=m(vn,[["__scopeId","data-v-1736f215"]]),hn={key:0,class:"VPNavBarAppearance"},pn=g({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",hn,[f(me)])):_("",!0)}}),fn=m(pn,[["__scopeId","data-v-e6aabb21"]]),ge=L();let Be=!1,re=0;function _n(s){const e=L(!1);if(R){!Be&&mn(),re++;const t=j(ge,n=>{var o,i,u;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(u=s.onBlur)==null||u.call(s))});he(()=>{t(),re--,re||gn()})}return Ye(e)}function mn(){document.addEventListener("focusin",Ae),Be=!0,ge.value=document.activeElement}function gn(){document.removeEventListener("focusin",Ae)}function Ae(){ge.value=document.activeElement}const $n={},kn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},bn=d("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),yn=[bn];function wn(s,e){return a(),l("svg",kn,yn)}const He=m($n,[["render",wn]]),Pn={},Vn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ln=d("circle",{cx:"12",cy:"12",r:"2"},null,-1),Sn=d("circle",{cx:"19",cy:"12",r:"2"},null,-1),Mn=d("circle",{cx:"5",cy:"12",r:"2"},null,-1),Cn=[Ln,Sn,Mn];function In(s,e){return a(),l("svg",Vn,Cn)}const Tn=m(Pn,[["render",In]]),Nn={class:"VPMenuLink"},Bn=g({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),l("div",Nn,[f(z,{class:I({active:r(G)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:h(()=>[H(V(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),oe=m(Bn,[["__scopeId","data-v-43f1e123"]]),An={class:"VPMenuGroup"},Hn={key:0,class:"title"},zn=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",An,[e.text?(a(),l("p",Hn,V(e.text),1)):_("",!0),(a(!0),l(T,null,A(e.items,n=>(a(),l(T,null,["link"in n?(a(),$(oe,{key:0,item:n},null,8,["item"])):_("",!0)],64))),256))]))}}),En=m(zn,[["__scopeId","data-v-69e747b5"]]),Fn={class:"VPMenu"},Dn={key:0,class:"items"},On=g({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),l("div",Fn,[e.items?(a(),l("div",Dn,[(a(!0),l(T,null,A(e.items,n=>(a(),l(T,{key:n.text},["link"in n?(a(),$(oe,{key:0,item:n},null,8,["item"])):(a(),$(En,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):_("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),Un=m(On,[["__scopeId","data-v-e7ea1737"]]),Gn=["aria-expanded","aria-label"],xn={key:0,class:"text"},jn=["innerHTML"],qn={class:"menu"},Kn=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=L(!1),t=L();_n({el:t,onBlur:n});function n(){e.value=!1}return(o,i)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=u=>e.value=!0),onMouseleave:i[2]||(i[2]=u=>e.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:i[0]||(i[0]=u=>e.value=!e.value)},[o.button||o.icon?(a(),l("span",xn,[o.icon?(a(),$(U(o.icon),{key:0,class:"option-icon"})):_("",!0),o.button?(a(),l("span",{key:1,innerHTML:o.button},null,8,jn)):_("",!0),f(He,{class:"text-icon"})])):(a(),$(Tn,{key:1,class:"icon"}))],8,Gn),d("div",qn,[f(Un,{items:o.items},{default:h(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=m(Kn,[["__scopeId","data-v-9c007e85"]]),Rn={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',npm:'npm',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Wn=["href","aria-label","innerHTML"],Yn=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=k(()=>typeof e.icon=="object"?e.icon.svg:Rn[e.icon]);return(n,o)=>(a(),l("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Wn))}}),Jn=m(Yn,[["__scopeId","data-v-f80f8133"]]),Zn={class:"VPSocialLinks"},Qn=g({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),l("div",Zn,[(a(!0),l(T,null,A(e.links,({link:n,icon:o,ariaLabel:i})=>(a(),$(Jn,{key:n,icon:o,link:n,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ke=m(Qn,[["__scopeId","data-v-7bc22406"]]),Xn={key:0,class:"group translations"},ea={class:"trans-title"},ta={key:1,class:"group"},sa={class:"item appearance"},oa={class:"label"},na={class:"appearance-action"},aa={key:2,class:"group"},ra={class:"item social-links"},ia=g({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:o}=W({correspondingLink:!0}),i=k(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(u,p)=>i.value?(a(),$($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:h(()=>[r(n).length&&r(o).label?(a(),l("div",Xn,[d("p",ea,V(r(o).label),1),(a(!0),l(T,null,A(r(n),v=>(a(),$(oe,{key:v.link,item:v},null,8,["item"]))),128))])):_("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",ta,[d("div",sa,[d("p",oa,V(r(t).darkModeSwitchLabel||"Appearance"),1),d("div",na,[f(me)])])])):_("",!0),r(t).socialLinks?(a(),l("div",aa,[d("div",ra,[f(ke,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):_("",!0)]),_:1})):_("",!0)}}),la=m(ia,[["__scopeId","data-v-d0bd9dde"]]),ca=s=>(E("data-v-e5dd9c1c"),s=s(),F(),s),ua=["aria-expanded"],da=ca(()=>d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)),va=[da],ha=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),l("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},va,10,ua))}}),pa=m(ha,[["__scopeId","data-v-e5dd9c1c"]]),fa=["innerHTML"],_a=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),$(z,{class:I({VPNavBarMenuLink:!0,active:r(G)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:h(()=>[d("span",{innerHTML:t.item.text},null,8,fa)]),_:1},8,["class","href","target","rel"]))}}),ma=m(_a,[["__scopeId","data-v-42ef59de"]]),ga=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=P(),n=i=>"link"in i?G(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(n),o=k(()=>n(e.item));return(i,u)=>(a(),$($e,{class:I({VPNavBarMenuGroup:!0,active:r(G)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||o.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),$a=s=>(E("data-v-7f418b0f"),s=s(),F(),s),ka={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},ba=$a(()=>d("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),ya=g({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",ka,[ba,(a(!0),l(T,null,A(r(e).nav,o=>(a(),l(T,{key:o.text},["link"in o?(a(),$(ma,{key:0,item:o},null,8,["item"])):(a(),$(ga,{key:1,item:o},null,8,["item"]))],64))),128))])):_("",!0)}}),wa=m(ya,[["__scopeId","data-v-7f418b0f"]]);function Pa(s){const{localeIndex:e,theme:t}=P();function n(o){var N,B,S;const i=o.split("."),u=(N=t.value.search)==null?void 0:N.options,p=u&&typeof u=="object",v=p&&((S=(B=u.locales)==null?void 0:B[e.value])==null?void 0:S.translations)||null,b=p&&u.translations||null;let y=v,w=b,M=s;const C=i.pop();for(const Y of i){let O=null;const K=M==null?void 0:M[Y];K&&(O=M=K);const ne=w==null?void 0:w[Y];ne&&(O=w=ne);const ae=y==null?void 0:y[Y];ae&&(O=y=ae),K||(M=O),ne||(w=O),ae||(y=O)}return(y==null?void 0:y[C])??(w==null?void 0:w[C])??(M==null?void 0:M[C])??""}return n}const Va=["aria-label"],La={class:"DocSearch-Button-Container"},Sa=d("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[d("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ma={class:"DocSearch-Button-Placeholder"},Ca=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1),be=g({__name:"VPNavBarSearchButton",setup(s){const t=Pa({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,o)=>(a(),l("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[d("span",La,[Sa,d("span",Ma,V(r(t)("button.buttonText")),1)]),Ca],8,Va))}}),Ia={class:"VPNavBarSearch"},Ta={id:"local-search"},Na={key:1,id:"docsearch"},Ba=g({__name:"VPNavBarSearch",setup(s){const e=()=>null,t=()=>null,{theme:n}=P(),o=L(!1),i=L(!1);x(()=>{});function u(){o.value||(o.value=!0,setTimeout(p,16))}function p(){const y=new Event("keydown");y.key="k",y.metaKey=!0,window.dispatchEvent(y),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||p()},16)}const v=L(!1),b="";return(y,w)=>{var M;return a(),l("div",Ia,[r(b)==="local"?(a(),l(T,{key:0},[v.value?(a(),$(r(e),{key:0,onClose:w[0]||(w[0]=C=>v.value=!1)})):_("",!0),d("div",Ta,[f(be,{onClick:w[1]||(w[1]=C=>v.value=!0)})])],64)):r(b)==="algolia"?(a(),l(T,{key:1},[o.value?(a(),$(r(t),{key:0,algolia:((M=r(n).search)==null?void 0:M.options)??r(n).algolia,onVnodeBeforeMount:w[2]||(w[2]=C=>i.value=!0)},null,8,["algolia"])):_("",!0),i.value?_("",!0):(a(),l("div",Na,[f(be,{onClick:u})]))],64)):_("",!0)])}}}),Aa=g({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),$(ke,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):_("",!0)}}),Ha=m(Aa,[["__scopeId","data-v-0394ad82"]]),za=["href","rel","target"],Ea={key:1},Fa={key:2},Da=g({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:n}=D(),{currentLang:o}=W(),i=k(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),u=k(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),p=k(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,b)=>(a(),l("div",{class:I(["VPNavBarTitle",{"has-sidebar":r(n)}])},[d("a",{class:"title",href:i.value??r(pe)(r(o).link),rel:u.value,target:p.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),$(Q,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):_("",!0),r(t).siteTitle?(a(),l("span",Ea,V(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),l("span",Fa,V(r(e).title),1)):_("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,za)],2))}}),Oa=m(Da,[["__scopeId","data-v-ab179fa1"]]),Ua={},Ga={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},xa=d("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),ja=d("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),qa=[xa,ja];function Ka(s,e){return a(),l("svg",Ga,qa)}const ze=m(Ua,[["render",Ka]]),Ra={class:"items"},Wa={class:"title"},Ya=g({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:n}=W({correspondingLink:!0});return(o,i)=>r(t).length&&r(n).label?(a(),$($e,{key:0,class:"VPNavBarTranslations",icon:ze,label:r(e).langMenuLabel||"Change language"},{default:h(()=>[d("div",Ra,[d("p",Wa,V(r(n).label),1),(a(!0),l(T,null,A(r(t),u=>(a(),$(oe,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):_("",!0)}}),Ja=m(Ya,[["__scopeId","data-v-74abcbb9"]]),Za=s=>(E("data-v-19c990f1"),s=s(),F(),s),Qa={class:"wrapper"},Xa={class:"container"},er={class:"title"},tr={class:"content"},sr={class:"content-body"},or=Za(()=>d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1)),nr=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Ve(),{hasSidebar:t}=D(),{hasLocalNav:n}=Te(),{frontmatter:o}=P(),i=L({});return ye(()=>{i.value={"has-sidebar":t.value,"has-local-nav":n.value,top:o.value.layout==="home"&&e.value===0}}),(u,p)=>(a(),l("div",{class:I(["VPNavBar",i.value])},[d("div",Qa,[d("div",Xa,[d("div",er,[f(Oa,null,{"nav-bar-title-before":h(()=>[c(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[c(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",tr,[d("div",sr,[c(u.$slots,"nav-bar-content-before",{},void 0,!0),f(Ba,{class:"search"}),f(wa,{class:"menu"}),f(Ja,{class:"translations"}),f(fn,{class:"appearance"}),f(Ha,{class:"social-links"}),f(la,{class:"extra"}),c(u.$slots,"nav-bar-content-after",{},void 0,!0),f(pa,{class:"hamburger",active:u.isScreenOpen,onClick:p[0]||(p[0]=v=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),or],2))}}),ar=m(nr,[["__scopeId","data-v-19c990f1"]]),rr={key:0,class:"VPNavScreenAppearance"},ir={class:"text"},lr=g({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(n,o)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",rr,[d("p",ir,V(r(t).darkModeSwitchLabel||"Appearance"),1),f(me)])):_("",!0)}}),cr=m(lr,[["__scopeId","data-v-2d7af913"]]),ur=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=se("close-screen");return(t,n)=>(a(),$(z,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:h(()=>[H(V(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),dr=m(ur,[["__scopeId","data-v-05f27b2a"]]),vr={},hr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},pr=d("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),fr=[pr];function _r(s,e){return a(),l("svg",hr,fr)}const mr=m(vr,[["render",_r]]),gr=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=se("close-screen");return(t,n)=>(a(),$(z,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:h(()=>[H(V(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=m(gr,[["__scopeId","data-v-19976ae1"]]),$r={class:"VPNavScreenMenuGroupSection"},kr={key:0,class:"title"},br=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",$r,[e.text?(a(),l("p",kr,V(e.text),1)):_("",!0),(a(!0),l(T,null,A(e.items,n=>(a(),$(Ee,{key:n.text,item:n},null,8,["item"]))),128))]))}}),yr=m(br,[["__scopeId","data-v-8133b170"]]),wr=["aria-controls","aria-expanded"],Pr=["innerHTML"],Vr=["id"],Lr={key:1,class:"group"},Sr=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=L(!1),n=k(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(i,u)=>(a(),l("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[d("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[d("span",{class:"button-text",innerHTML:i.text},null,8,Pr),f(mr,{class:"button-icon"})],8,wr),d("div",{id:n.value,class:"items"},[(a(!0),l(T,null,A(i.items,p=>(a(),l(T,{key:p.text},["link"in p?(a(),l("div",{key:p.text,class:"item"},[f(Ee,{item:p},null,8,["item"])])):(a(),l("div",Lr,[f(yr,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,Vr)],2))}}),Mr=m(Sr,[["__scopeId","data-v-65ef89ca"]]),Cr={key:0,class:"VPNavScreenMenu"},Ir=g({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",Cr,[(a(!0),l(T,null,A(r(e).nav,o=>(a(),l(T,{key:o.text},["link"in o?(a(),$(dr,{key:0,item:o},null,8,["item"])):(a(),$(Mr,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):_("",!0)}}),Tr=g({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),$(ke,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):_("",!0)}}),Nr={class:"list"},Br=g({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=W({correspondingLink:!0}),n=L(!1);function o(){n.value=!n.value}return(i,u)=>r(e).length&&r(t).label?(a(),l("div",{key:0,class:I(["VPNavScreenTranslations",{open:n.value}])},[d("button",{class:"title",onClick:o},[f(ze,{class:"icon lang"}),H(" "+V(r(t).label)+" ",1),f(He,{class:"icon chevron"})]),d("ul",Nr,[(a(!0),l(T,null,A(r(e),p=>(a(),l("li",{key:p.link,class:"item"},[f(z,{class:"link",href:p.link},{default:h(()=>[H(V(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):_("",!0)}}),Ar=m(Br,[["__scopeId","data-v-d72aa483"]]),Hr={class:"container"},zr=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=L(null),t=Le(R?document.body:null);return(n,o)=>(a(),$(de,{name:"fade",onEnter:o[0]||(o[0]=i=>t.value=!0),onAfterLeave:o[1]||(o[1]=i=>t.value=!1)},{default:h(()=>[n.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[d("div",Hr,[c(n.$slots,"nav-screen-content-before",{},void 0,!0),f(Ir,{class:"menu"}),f(Ar,{class:"translations"}),f(cr,{class:"appearance"}),f(Tr,{class:"social-links"}),c(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):_("",!0)]),_:3}))}}),Er=m(zr,[["__scopeId","data-v-cc5739dd"]]),Fr={key:0,class:"VPNav"},Dr=g({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Ko(),{frontmatter:o}=P(),i=k(()=>o.value.navbar!==!1);return Se("close-screen",t),X(()=>{R&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,p)=>i.value?(a(),l("header",Fr,[f(ar,{"is-screen-open":r(e),onToggleScreen:r(n)},{"nav-bar-title-before":h(()=>[c(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[c(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[c(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[c(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),f(Er,{open:r(e)},{"nav-screen-content-before":h(()=>[c(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[c(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):_("",!0)}}),Or=m(Dr,[["__scopeId","data-v-ae24b3ad"]]),Ur=s=>(E("data-v-e31bd47b"),s=s(),F(),s),Gr=["role","tabindex"],xr=Ur(()=>d("div",{class:"indicator"},null,-1)),jr={key:1,class:"items"},qr=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:u,hasChildren:p,toggle:v}=$t(k(()=>e.item)),b=k(()=>p.value?"section":"div"),y=k(()=>o.value?"a":"div"),w=k(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),M=k(()=>o.value?void 0:"button"),C=k(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":i.value},{"has-active":u.value}]);function N(S){"key"in S&&S.key!=="Enter"||!e.item.link&&v()}function B(){e.item.link&&v()}return(S,Y)=>{const O=q("VPSidebarItem",!0);return a(),$(U(b.value),{class:I(["VPSidebarItem",C.value])},{default:h(()=>[S.item.text?(a(),l("div",J({key:0,class:"item",role:M.value},Ze(S.item.items?{click:N,keydown:N}:{},!0),{tabindex:S.item.items&&0}),[xr,S.item.link?(a(),$(z,{key:0,tag:y.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:h(()=>[(a(),$(U(w.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(U(w.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:Je(B,["enter"]),tabindex:"0"},[f(Ne,{class:"caret-icon"})],32)):_("",!0)],16,Gr)):_("",!0),S.item.items&&S.item.items.length?(a(),l("div",jr,[S.depth<5?(a(!0),l(T,{key:0},A(S.item.items,K=>(a(),$(O,{key:K.text,item:K,depth:S.depth+1},null,8,["item","depth"]))),128)):_("",!0)])):_("",!0)]),_:1},8,["class"])}}}),Kr=m(qr,[["__scopeId","data-v-e31bd47b"]]),Fe=s=>(E("data-v-575e6a36"),s=s(),F(),s),Rr=Fe(()=>d("div",{class:"curtain"},null,-1)),Wr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Yr=Fe(()=>d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Jr=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=D(),n=s,o=L(null),i=Le(R?document.body:null);return j([n,o],()=>{var u;n.open?(i.value=!0,(u=o.value)==null||u.focus()):i.value=!1},{immediate:!0,flush:"post"}),(u,p)=>r(t)?(a(),l("aside",{key:0,class:I(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:o,onClick:p[0]||(p[0]=Qe(()=>{},["stop"]))},[Rr,d("nav",Wr,[Yr,c(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),l(T,null,A(r(e),v=>(a(),l("div",{key:v.text,class:"group"},[f(Kr,{item:v,depth:0},null,8,["item"])]))),128)),c(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):_("",!0)}}),Zr=m(Jr,[["__scopeId","data-v-575e6a36"]]),Qr=g({__name:"VPSkipLink",setup(s){const e=te(),t=L();j(()=>e.path,()=>t.value.focus());function n({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));if(i){const u=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",u)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",u),i.focus(),window.scrollTo(0,0)}}return(o,i)=>(a(),l(T,null,[d("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),Xr=m(Qr,[["__scopeId","data-v-0f60ec36"]]),ei=g({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=D(),o=te();j(()=>o.path,n),gt(e,n);const{frontmatter:i}=P(),u=Xe(),p=k(()=>!!u["home-hero-image"]);return Se("hero-image-slot-exists",p),(v,b)=>{const y=q("Content");return r(i).layout!==!1?(a(),l("div",{key:0,class:I(["Layout",r(i).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),f(Xr),f(ot,{class:"backdrop",show:r(e),onClick:r(n)},null,8,["show","onClick"]),f(Or,null,{"nav-bar-title-before":h(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":h(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),f(qo,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),f(Zr,{open:r(e)},{"sidebar-nav-before":h(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":h(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),f(mo,null,{"page-top":h(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":h(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":h(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":h(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":h(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":h(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":h(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),f(yo),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(y,{key:1}))}}}),ti=m(ei,[["__scopeId","data-v-5d98c3a5"]]),oi={Layout:ti,enhanceApp:({app:s})=>{s.component("Badge",et)}};export{oi as t}; diff --git a/docs/assets/download-save-file.md.EhkP-o_d.js b/docs/assets/download-save-file.md.EhkP-o_d.js new file mode 100644 index 0000000..16ee9e2 --- /dev/null +++ b/docs/assets/download-save-file.md.EhkP-o_d.js @@ -0,0 +1,37 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const o=JSON.parse('{"title":"Download de Midias","description":"","frontmatter":{},"headers":[],"relativePath":"download-save-file.md","filePath":"download-save-file.md"}'),h={name:"download-save-file.md"},l=n(`

Download de Midias

Baixar e Salvar Mídias

Baixe e salve qualquer arquivo de mensagem com as funções abaixo

javascript
let client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  statusFind: async (status) => {
+    console.log(status)
+  },
+  qrcode: async (session, base64Img, asciiQR, urlCode) => {
+  console.log(asciiQR)
+  },
+  onMessage: async (message) => {
+      if (message.isMedia === true) {
+      
+    // Recuperar o buffer de arquivo para uma determinada mensagem
+    // Atenção, use um atraso de pelo menos 2 segundos
+
+    const buffer = await client.decryptByIdFile(message.from, message.id);
+
+    // Salve o arquivo de mensagem na raiz do projeto ou em um diretório: './diretory/filename' não esqueça de criar o diretório
+    // Atenção, use um atraso de pelo menos 2 segundos
+    const saveFile = await client.decryptByIdFileSave(message.from, message.id, filename);
+   
+  }
+   }  // Receba um evento sempre que receber uma mensagem de algum contato
+})
Retorno do decryptFile
javascript
{
+    session: 'Marketing',
+    status: 200,
+    type: "decrypt-by-id-file",
+    buffer: {
+      type: "Buffer",
+      data: [137,80,78,71,13,10,26,10,0,0,0,13,73,72,68]
+    }
+}
Retorno do decryptFileSave
javascript
{
+    session: 'Marketing',
+    status: 404,
+    type: "decrypt-by-id-file-save",
+    response: "./files/teste4.mp4"
+}
`,8),k=[l];function t(p,e,E,d,r,g){return a(),i("div",null,k)}const F=s(h,[["render",t]]);export{o as __pageData,F as default}; diff --git a/docs/assets/download-save-file.md.EhkP-o_d.lean.js b/docs/assets/download-save-file.md.EhkP-o_d.lean.js new file mode 100644 index 0000000..075a56f --- /dev/null +++ b/docs/assets/download-save-file.md.EhkP-o_d.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const o=JSON.parse('{"title":"Download de Midias","description":"","frontmatter":{},"headers":[],"relativePath":"download-save-file.md","filePath":"download-save-file.md"}'),h={name:"download-save-file.md"},l=n("",8),k=[l];function t(p,e,E,d,r,g){return a(),i("div",null,k)}const F=s(h,[["render",t]]);export{o as __pageData,F as default}; diff --git a/docs/assets/en_about.md.WGVL6zWK.js b/docs/assets/en_about.md.WGVL6zWK.js new file mode 100644 index 0000000..f9b113f --- /dev/null +++ b/docs/assets/en_about.md.WGVL6zWK.js @@ -0,0 +1,5 @@ +import{_ as s,c as i,o as a,V as t,a2 as e}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"About","description":"","frontmatter":{},"headers":[],"relativePath":"en/about.md","filePath":"en/about.md"}'),n={name:"en/about.md"},p=t(`

About

Welcome to the about page.

This markdown supports html elements like the p tag coupled with inline styles

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.

Even satire code snippets with syntax highlighting are also supported. 😅

js
const lang = prompt("What is your favorite programming language?");
+
+(lang === "JavaScript") | (lang === "javascript") | (lang === "js")
+  ? alert("JavaScript to the world! 🚀🟡")
+  : alert(\`We don't permit such languages here 💩\`);

Of course, images are not left out.

adocs logo',8),h=[p];function l(k,r,o,d,g,E){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/en_about.md.WGVL6zWK.lean.js b/docs/assets/en_about.md.WGVL6zWK.lean.js new file mode 100644 index 0000000..0279665 --- /dev/null +++ b/docs/assets/en_about.md.WGVL6zWK.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as t,a2 as e}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"About","description":"","frontmatter":{},"headers":[],"relativePath":"en/about.md","filePath":"en/about.md"}'),n={name:"en/about.md"},p=t("",8),h=[p];function l(k,r,o,d,g,E){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/en_configs.md.XXz7wrOX.js b/docs/assets/en_configs.md.XXz7wrOX.js new file mode 100644 index 0000000..8238d70 --- /dev/null +++ b/docs/assets/en_configs.md.XXz7wrOX.js @@ -0,0 +1 @@ +import{_ as o,c as t,o as a,m as e,a as n}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"Configs","description":"","frontmatter":{},"headers":[],"relativePath":"en/configs.md","filePath":"en/configs.md"}'),s={name:"en/configs.md"},c=e("h1",{id:"configs",tabindex:"-1"},[n("Configs "),e("a",{class:"header-anchor",href:"#configs","aria-label":'Permalink to "Configs"'},"​")],-1),i=e("p",null,"Welcome to the config page",-1),r=[c,i];function f(d,_,l,p,g,h){return a(),t("div",null,r)}const x=o(s,[["render",f]]);export{u as __pageData,x as default}; diff --git a/docs/assets/en_configs.md.XXz7wrOX.lean.js b/docs/assets/en_configs.md.XXz7wrOX.lean.js new file mode 100644 index 0000000..8238d70 --- /dev/null +++ b/docs/assets/en_configs.md.XXz7wrOX.lean.js @@ -0,0 +1 @@ +import{_ as o,c as t,o as a,m as e,a as n}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"Configs","description":"","frontmatter":{},"headers":[],"relativePath":"en/configs.md","filePath":"en/configs.md"}'),s={name:"en/configs.md"},c=e("h1",{id:"configs",tabindex:"-1"},[n("Configs "),e("a",{class:"header-anchor",href:"#configs","aria-label":'Permalink to "Configs"'},"​")],-1),i=e("p",null,"Welcome to the config page",-1),r=[c,i];function f(d,_,l,p,g,h){return a(),t("div",null,r)}const x=o(s,[["render",f]]);export{u as __pageData,x as default}; diff --git a/docs/assets/en_contact.md.QbhOFKKF.js b/docs/assets/en_contact.md.QbhOFKKF.js new file mode 100644 index 0000000..271945d --- /dev/null +++ b/docs/assets/en_contact.md.QbhOFKKF.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as c,m as t,a as o}from"./chunks/framework.4X8dX8EZ.js";const x=JSON.parse('{"title":"Contact","description":"","frontmatter":{},"headers":[],"relativePath":"en/contact.md","filePath":"en/contact.md"}'),n={name:"en/contact.md"},s=t("h1",{id:"contact",tabindex:"-1"},[o("Contact "),t("a",{class:"header-anchor",href:"#contact","aria-label":'Permalink to "Contact"'},"​")],-1),r=t("p",null,"Welcome to the contact page",-1),d=[s,r];function i(_,l,p,h,m,f){return c(),a("div",null,d)}const $=e(n,[["render",i]]);export{x as __pageData,$ as default}; diff --git a/docs/assets/en_contact.md.QbhOFKKF.lean.js b/docs/assets/en_contact.md.QbhOFKKF.lean.js new file mode 100644 index 0000000..271945d --- /dev/null +++ b/docs/assets/en_contact.md.QbhOFKKF.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as c,m as t,a as o}from"./chunks/framework.4X8dX8EZ.js";const x=JSON.parse('{"title":"Contact","description":"","frontmatter":{},"headers":[],"relativePath":"en/contact.md","filePath":"en/contact.md"}'),n={name:"en/contact.md"},s=t("h1",{id:"contact",tabindex:"-1"},[o("Contact "),t("a",{class:"header-anchor",href:"#contact","aria-label":'Permalink to "Contact"'},"​")],-1),r=t("p",null,"Welcome to the contact page",-1),d=[s,r];function i(_,l,p,h,m,f){return c(),a("div",null,d)}const $=e(n,[["render",i]]);export{x as __pageData,$ as default}; diff --git a/docs/assets/en_get-started.md.DImcJ8hz.js b/docs/assets/en_get-started.md.DImcJ8hz.js new file mode 100644 index 0000000..ea1a706 --- /dev/null +++ b/docs/assets/en_get-started.md.DImcJ8hz.js @@ -0,0 +1 @@ +import{_ as a,c as r,o as s,m as e,a as t}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"en/get-started.md","filePath":"en/get-started.md"}'),o={name:"en/get-started.md"},d=e("h1",{id:"get-started",tabindex:"-1"},[t("Get Started "),e("a",{class:"header-anchor",href:"#get-started","aria-label":'Permalink to "Get Started"'},"​")],-1),n=e("p",null,[t("Here's how to get started with "),e("a",{href:"https://vitepress.com",target:"_blank",rel:"noreferrer"},"VitePress")],-1),c=[d,n];function i(_,l,h,p,m,f){return s(),r("div",null,c)}const x=a(o,[["render",i]]);export{u as __pageData,x as default}; diff --git a/docs/assets/en_get-started.md.DImcJ8hz.lean.js b/docs/assets/en_get-started.md.DImcJ8hz.lean.js new file mode 100644 index 0000000..ea1a706 --- /dev/null +++ b/docs/assets/en_get-started.md.DImcJ8hz.lean.js @@ -0,0 +1 @@ +import{_ as a,c as r,o as s,m as e,a as t}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"en/get-started.md","filePath":"en/get-started.md"}'),o={name:"en/get-started.md"},d=e("h1",{id:"get-started",tabindex:"-1"},[t("Get Started "),e("a",{class:"header-anchor",href:"#get-started","aria-label":'Permalink to "Get Started"'},"​")],-1),n=e("p",null,[t("Here's how to get started with "),e("a",{href:"https://vitepress.com",target:"_blank",rel:"noreferrer"},"VitePress")],-1),c=[d,n];function i(_,l,h,p,m,f){return s(),r("div",null,c)}const x=a(o,[["render",i]]);export{u as __pageData,x as default}; diff --git a/docs/assets/en_index.md.SbhtFFoC.js b/docs/assets/en_index.md.SbhtFFoC.js new file mode 100644 index 0000000..4ed9731 --- /dev/null +++ b/docs/assets/en_index.md.SbhtFFoC.js @@ -0,0 +1 @@ +import{_ as e,c as t,o}from"./chunks/framework.4X8dX8EZ.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SuperChats","text":"A Mais Poderosa Biblioteca Javascript para Automatizar Whatsapp","image":{"src":"/logo-big.svg","alt":"SuperChats logo"},"tagline":"Completa, Incrível e 100% Estável","actions":[{"theme":"brand","text":"Comprar Licença","link":"./introduction"},{"theme":"alt","text":"Documentação","link":"./introduction"}]},"features":[{"icon":"🖥","title":"Suporte Total","details":"Suporte por Ticket, Whatsapp e Acesso Remoto"},{"icon":"🌎","title":"Não Precisa de Browser","details":"Conexão através do socket do Whatsapp"},{"icon":"💯","title":"100% de Estabilidade","details":"Sem clashs ou bugs, pronta para produção"},{"icon":"💎","title":"Facilidade","details":"Roda em qualquer OS, Apenas com node 18"},{"icon":"⭕️","title":"Sem Limites","details":"Sem limites de uso ou travas"},{"icon":"💾","title":"Menor Consumo","details":"Menor consumo de memória e processamento"},{"icon":"📚","title":"Documentação Completa","details":"Toda documentada em português, inglês e espanhol"},{"icon":"🎉","title":"Updates Constantes","details":"Melhorias e atualizações constantes trazendo o que a de melhor no Whatsapp"}],"head":[["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:title","content":"Adocs"}],["meta",{"property":"og:image","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["meta",{"property":"og:url","content":"https://vitejs.dev/blog/announcing-vite3"}],["meta",{"name":"title","content":"Adocs"}],["meta",{"name":"twitter:card","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["link",{"rel":"icon","type":"image/svg","href":"logo.svg"}]]},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md"}'),a={name:"en/index.md"};function n(i,s,r,c,d,l){return o(),t("div")}const u=e(a,[["render",n]]);export{m as __pageData,u as default}; diff --git a/docs/assets/en_index.md.SbhtFFoC.lean.js b/docs/assets/en_index.md.SbhtFFoC.lean.js new file mode 100644 index 0000000..4ed9731 --- /dev/null +++ b/docs/assets/en_index.md.SbhtFFoC.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o}from"./chunks/framework.4X8dX8EZ.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SuperChats","text":"A Mais Poderosa Biblioteca Javascript para Automatizar Whatsapp","image":{"src":"/logo-big.svg","alt":"SuperChats logo"},"tagline":"Completa, Incrível e 100% Estável","actions":[{"theme":"brand","text":"Comprar Licença","link":"./introduction"},{"theme":"alt","text":"Documentação","link":"./introduction"}]},"features":[{"icon":"🖥","title":"Suporte Total","details":"Suporte por Ticket, Whatsapp e Acesso Remoto"},{"icon":"🌎","title":"Não Precisa de Browser","details":"Conexão através do socket do Whatsapp"},{"icon":"💯","title":"100% de Estabilidade","details":"Sem clashs ou bugs, pronta para produção"},{"icon":"💎","title":"Facilidade","details":"Roda em qualquer OS, Apenas com node 18"},{"icon":"⭕️","title":"Sem Limites","details":"Sem limites de uso ou travas"},{"icon":"💾","title":"Menor Consumo","details":"Menor consumo de memória e processamento"},{"icon":"📚","title":"Documentação Completa","details":"Toda documentada em português, inglês e espanhol"},{"icon":"🎉","title":"Updates Constantes","details":"Melhorias e atualizações constantes trazendo o que a de melhor no Whatsapp"}],"head":[["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:title","content":"Adocs"}],["meta",{"property":"og:image","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["meta",{"property":"og:url","content":"https://vitejs.dev/blog/announcing-vite3"}],["meta",{"name":"title","content":"Adocs"}],["meta",{"name":"twitter:card","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["link",{"rel":"icon","type":"image/svg","href":"logo.svg"}]]},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md"}'),a={name:"en/index.md"};function n(i,s,r,c,d,l){return o(),t("div")}const u=e(a,[["render",n]]);export{m as __pageData,u as default}; diff --git a/docs/assets/en_introduction.md.fKVDA5wB.js b/docs/assets/en_introduction.md.fKVDA5wB.js new file mode 100644 index 0000000..446b1e4 --- /dev/null +++ b/docs/assets/en_introduction.md.fKVDA5wB.js @@ -0,0 +1,194 @@ +import{_ as s,c as i,o as a,V as t}from"./chunks/framework.4X8dX8EZ.js";const g=JSON.parse('{"title":"How to build modern docs with VitePress","description":"","frontmatter":{},"headers":[],"relativePath":"en/introduction.md","filePath":"en/introduction.md"}'),e={name:"en/introduction.md"},n=t(`

banner

How to build modern docs with VitePress

INFO

Documentation is a crucial aspect of software development that is often neglected by developers due to the hassle of maintaining one, or even choosing the right tools to use. This is why it's important to use tools that simplify this process. In this tutorial, you'll learn how to build a complete docs site quickly by utilizing a modern tool called, VitePress.

Definition

VitePress is a simple and performant static site generator built on top of Vite for creating docs in a matter of minutes. It is powered by Vuejs, and Vite with built in customizable components. VitePress powers some popular documentation sites like Vuejs, Vitest, faker.js, and Vite itself.

Prerequisites

To follow along with this tutorial, you need to have a basic understanding of the following:

  • Markdown syntax
  • Brief understanding of NPM and Vite

Here's a screenshot of what you'll be building at the end of this tutorial.

final-works

Step. 1: Create a new project

If you already have a folder created, you can skip this step to the next one if not, use the following command to create a project folder and move into the folder.

bash
mkdir project-name
+cd project-name

Next you need to initialize with your preferred package manager. I'll be using NPM for the rest of this guide.

bash
npm init
+// or use this command if you want to skip all the questions
+npm init -y

If you used the first command, you'll be prompted with certain questions, complete them as appropriate. After a successful operation, you should have a package.json file in your root directory; This is where the VitePress dev dependency will be installed.

Step. 2: Install VitePress

Next step is to add VitePress and Vue as dev dependencies to your project.

bash
npm install vue vitepress --save-dev
+// or
+npm install -D vue vitepress

You've successfully installed VitePress and Vue and added it as a dev dependency. Now you can start creating creating your respective doc files, but before you do that, I believe it's essential to explain how VitePress works.

How does VitePress work?

VitePress makes use of Markdown .md files for it's markup which is automatically converted into static HTML. In other for this to work, a special folder called docs is created in the root directory.

This folder behaves similar to the pages folder in NextJS, where any .js file created in the directory is automatically treated as a web page. In this case a file called index.md will be the treated as index.html and serve as the root of your docs template.

Now you understand how that works, you can now create your respective doc files.

Step 3. Create respective files

You can create the docs folder and the index.md file manually, or you can do it with the terminal like a hacker.

bash
mkdir docs && echo '# Hello VitePress' > docs/index.md

This command is simply creating a folder called docs and adding an index.md file containing a h1 element that says, "Hello World".

create respective files

With this, you can boot up your dev environment to see what has been created so far.

Step 4: Boot up dev environment

In other to run your docs locally, you need to add the following scripts inside the package.json file. Simply copy the code below and replace it with the "script" object.

js
// package.json
+"scripts": {
+    "docs:dev": "vitepress dev docs",
+    "docs:build": "vitepress build docs",
+    "docs:serve": "vitepress serve docs"
+  },

Finally, the documentation site can be served on a local server by running the command below:

bash
npm run docs:dev

This will start a hot-reloading development server at http://localhost:5173, and you can visit it to see your docs site.

Output

boot-dev-server

All you had to do was add the markup and VitePress handled the looks from it's template engine. In the next session, you'll learn how you can customize the docs to fit your needs.

How to customize your docs

First create a .vitepress folder inside the docs directory you created earlier on. This is where all VitePress-specific files will be placed. Inside this new directory, you need a config.js file. Again, you can use the terminal command as a hacker.

bash
mkdir .vitepress && touch .vitepress/config.js

To test this config file, you can start by changing the meta title and description of your docs site. Copy this markup and paste into the config.js file.

js
// .vitepress/config.js
+export default {
+  title: "Adocs",
+  description: "An awesome docs template built by me",
+};

If you check the dev tools, you should see the changes in the meta title and description.

title-and-description

In other to change the logo title and add an image, copy the markup below and paste it into a new object called themeConfig inside the same config.js file. This will overwrite the current title and add a logo your docs site.

js
// config.js
+export default {
+  themeConfig: {
+    logo: "/logo.svg",
+    siteTitle: "Adocs",
+  },
+};

For the image source, you can pass in an image URL or specify the path to a local image. To do it locally, make sure you place the image within the public directory.

Output

logo-and-title

WARNING

Note: files in the public directory are served at the root path. So instead of ../public/logo.svg, just use /logo.svg.

Customizing the Navbar is a pretty straightforward process as well. Inside your themeConfig file, paste the markup below. Here we have an object that contains two properties. The anchor text text, and the path, link defines the URL path.

js
// .vitepress/config.js
+{
+  // ...
+   nav: [
+    { text: "About", link: "/about" },
+    { text: "Contact", link: "/contact" },
+    { text: "Guide", link: "/guide" },
+    { text: "Configs", link: "/configs" },
+    { text: "Changelog", link: "https://github.com/Evavic44" },
+  ],
+  // ...
+}

Essentially navigating to http://localhost:5173/about should take you to an about page(though we haven't created that yet).

Output

navbar

Navigation links can also be dropdown menus too. To add one, simply replace any of the links property with the items object which contains an array of links.

js
// .vitepress/config.js
+{
+  text: "Changelog",
+  items: [
+   { text: "v0.0.1", link: "/item-1" },
+   { text: "v0.0.2", link: "/item-2" },
+   { text: "v0.0.3", link: "/item-3" },
+  ],
+},

Now changelog will become a dropdown menu with the respective links you pass inside.

Output

dropdown-menu

Social Icons

Navigation menus usually have social icons visitors can use to visit your social platforms. To add that, define a new object called socialLinks inside themeConfig and simply pass in the social icon and the link you want it to navigate to.

js
// .vitepress/config.js
+socialLinks: [
+  { icon: "github", link: "https://github.com/Evavic44/adocs" },
+  { icon: "twitter", link: "https://twitter.com/victorekea" },
+  { icon: "discord", link: "", target: "_blank" },
+];

By default only 7 popular icons are provided. If you want to add a custom icon, use the SVG property to define an svg image.

js
}
+  "discord"
+  "facebook"
+  "github"
+  "instagram"
+  "linkedin"
+  "slack"
+  "twitter"
+  "youtube"
+  { svg: string };
+{

WARNING

For the SVG icon, make sure you add the role="img" property, this allows the string convert it properly.

navbar-2

VitePress also comes with built-in components like sidebar menus. To add a sidebar, create an object called sidebar and inside we add nested objects that takes in three values; the nested title, collapsible functionality (Default is set to true) and the nested links.

js
// .vitepress/config.js
+sidebar: [
+    {
+      text: "Section A",
+      collapsible: true,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+    {
+      text: "Section B",
+      collapsible: false,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+    {
+      text: "Section C",
+      collapsible: true,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+  ],

By adding collapsible: "true" to the sidebar object, it shows a toggle button to hide/show each section. You can create as much sections as you want.

Output

sidebar-2

You can see section B is not collapsible and we have that aesthetic next page button on the bottom of the page.

Page Routing

As explained earlier, VitePress automatically converts every .md file inside the root of the docs directory to static html that can be accessed in the address bar. For instance the index.md is converted to index.html, and about.md, about.html and so on.

Since you've created your nav links and pointed them to their respective URLs, you can access these pages easily by creating them.

docs/
+├── .vitepress/
+│   └── config.js
+├── public/
+│   └── logo.svg
+├── about.md
+├── contact.md
+├── guide.md
+├── configs.md
+└── get-started.md

Create these files inside your docs folder and add a simple markup inside them just to see how this works. This page is basic markdown so all your markdown syntax like links, code blocks, headings, etc works here.

Just for testing purposes, copy this markdown content and paste it inside any of the .md file you just created.

md
# About
+
+Welcome to the about page.
+
+This markdown supports html elements like the \`p\` tag coupled with inline styles
+
+<p style="color: #ff7340; border: 1px solid rgba(255, 135, 23, 0.25); border-radius:5px; padding: 1rem;">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>
+
+Even satire code snippets with syntax highlighting are also supported. 😅
+
+const lang = prompt("What is your favorite programming language?");
+
+(lang === "JavaScript") | (lang === "javascript") | (lang === "js")
+? alert("JavaScript to the world! 🚀🟡")
+: alert(\`We don't permit such languages here 💩\`);
+
+Of course, images are not left out.
+
+<img src="/logo.svg" alt="adocs logo">

Output

page-routing

Great! You've set-up the docs, added a navigation menu with dropdown feature, added a sidebar, and customized the links to navigate to different pages. Next up, let's work on the home page.

Customizing the home page.

Just like every other components, VitePress provides us with markup for building the home page. I've broken it down into three parts: Hero, features, and footer section.

Hero Section

First, we'll start with the hero section. Replace the Hello World text in the index.md page with the following markup.

bash
# docs/index.md
+---
+layout: home
+
+hero:
+  name: Adocs
+  text: Static docs template built with VitePress.
+  image:
+    src: /logo-big.svg
+    alt: Adocs logo
+  tagline: A free to use template for creating docs for your projects
+  actions:
+    - theme: brand
+      text: Get Started
+      link: /get-started
+    - theme: alt
+      text: View on GitHub
+      link: https://github.com/evavic44/adocs-template
+---

Features Section

Additionally, you can also add a features section after the hero section. Simply paste the code below under the hero objects.

bash
# /docs/index.md
+---
+link: https://github.com/evavic44/adocs-template
+
+features:
+  - icon: ⚡️
+    title: Adocs, The DX that can't be beat
+    details: Lorem ipsum...
+  - icon: 🎉
+    title: Power of Vue meets Markdown
+    details: Lorem ipsum...
+  - icon: 🔥
+    title: Simple and minimal, always
+    details: Lorem ipsum...
+  - icon: 🎀
+    title: Stylish and cool
+    details: Lorem ipsum...
+---

Output

hero-redesign

You can add a footer message on the bottom of the page but this will only show up in the home page.

WARNING

The footer will not be displayed when the SideBar is visible. To add the footer component, go to the config.js file and paste the markup inside the themeConfig object

js
// .vitepress/config.js
+ footer: {
+   message: "Released under the MIT License.",
+   copyright: "Copyright © 2022-present Adocs",
+ },

Output

footer

Aside from the markup, you can also customize the components using custom CSS to change things like fonts family, colors, layout, ETC.

Custom CSS

The default theme CSS is customized by overriding root level CSS variables. If you want, you can check out the full list of css variables customizable.

To do get started, create a .vitepress/theme directory, and inside this theme folder, add an index.js and custom.css file. If you've been following along, you can use the terminal command below to do this quickly.

bash
mkdir docs/.vitepress/theme && touch docs/.vitepress/theme/index.js && touch docs/.vitepress/theme/custom.css

If you ran into any issues with the terminal command, just create the files manually and move on to the next step.

Here's an overview of the folder structure.

bash
docs/
+├── .vitepress/
+   ├── config.js
+   └── theme/
+       ├── index.js
+       └── custom.css
+├── public/
+   └── logo.svg
+├── about.md
+├── contact.md
+├── guide.md
+├── configs.md
+└── get-started.md

After creating these files, inside the .vitepress/theme/index.js file, paste the import commands.

js
// .vitepress/theme/index.js
+import DefaultTheme from "vitepress/theme";
+import "./custom.css";
+
+export default DefaultTheme;

Color Theme

The colors are controlled by the CSS variables. You can simply replace them with any colors you want.

TIP

This color has a provision for both light and dark mode. So make sure you change them accordingly.

Here's an example of my custom colors

css
/* .vitepress/theme/custom.css */
+
+:root {
+  --vp-c-brand: rgb(255, 115, 64);
+  --vp-c-brand-light: rgb(255, 87, 25);
+  --vp-c-brand-lighter: rgb(255, 115, 64);
+  --vp-c-brand-dark: #ff622d;
+  --vp-c-brand-darker: rgb(226, 60, 0);
+
+  --vp-c-sponsor: #fd1d7c;
+}

If you don't see the effects immediately, try ending the server and starting it again.

Aside from the color themes, you can also override other things like, font family, typography, layout, breakpoints, etc.

Fonts

Google fonts can be imported inside the CSS file to override the default font family.

css
@import url(https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic);
+@import url(https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic);
+
+:root {
+  --vp-c-brand: #ff7340;
+  --vp-c-brand-light: #ff5719;
+  --vp-c-brand-lighter: #ff7340;
+  --vp-c-brand-lighter: rgba(255, 135, 23, 0.25);
+  --vp-c-brand-dark: #ff622d;
+  --vp-c-brand-darker: #e23c00;
+
+  --vp-c-sponsor: #fd1d7c;
+
+  /* Typography */
+  --vp-font-family-base: "Space Grotesk", "Inter var experimental", "Inter var",
+    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+    "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+
+  /* Code Snippet font */
+  --vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New",
+    monospace;
+}

With the --vp-font-family-base variable you can change the main font and --vp-font-family-mono, the font for code snippets.

Output

banner

You've successfully customized the theme and changed the font family using CSS. Though there's more you can do in regards to styling, but at this point, I'm sure it's clearer how you can customize your docs with CSS. Let's discuss hosting in the next section.

Hosting

You can publish or host your docs site when you're done to different platforms like: Netlify, Vercel, AWS Amplify, etc.

First, run the build command

bash
npm run docs:build

This should create a new dist folder that contains all the static files of your docs. In your hosting service, add these commands to their respective fields. Build command: npm run docs:build Output directory: docs/.vitepress/dist

This should create a new dist folder that contains all the static files of your docs. In your hosting service, add these commands to their respective fields.

  • Build command: npm run docs:build
  • Output directory: docs/.vitepress/dist

deploy-settings-vercel

After editing the settings, save, and deploy.

Conclusion

In this tutorial, you've set-up a full-fledged documentation site and customized it using CSS and VitePress built-in components. However, this tutorial only covers a fragment of what is possible with VitePress, to learn more, check out the VitePress docs.

Resources


If you are an open source ardent like myself or you enjoy hearing about such cool projects, do follow me on my socials so you don't miss my next post. Cheers. 🍷

GitHub Twitter Blog Portfolio

`,144),l=[n];function h(p,k,o,r,d,c){return a(),i("div",null,l)}const u=s(e,[["render",h]]);export{g as __pageData,u as default}; diff --git a/docs/assets/en_introduction.md.fKVDA5wB.lean.js b/docs/assets/en_introduction.md.fKVDA5wB.lean.js new file mode 100644 index 0000000..6456bd9 --- /dev/null +++ b/docs/assets/en_introduction.md.fKVDA5wB.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as t}from"./chunks/framework.4X8dX8EZ.js";const g=JSON.parse('{"title":"How to build modern docs with VitePress","description":"","frontmatter":{},"headers":[],"relativePath":"en/introduction.md","filePath":"en/introduction.md"}'),e={name:"en/introduction.md"},n=t("",144),l=[n];function h(p,k,o,r,d,c){return a(),i("div",null,l)}const u=s(e,[["render",h]]);export{g as __pageData,u as default}; diff --git a/docs/assets/es_about.md.t0HjoKX9.js b/docs/assets/es_about.md.t0HjoKX9.js new file mode 100644 index 0000000..5fbbe7c --- /dev/null +++ b/docs/assets/es_about.md.t0HjoKX9.js @@ -0,0 +1,5 @@ +import{_ as s,c as i,o as a,V as t,a2 as e}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"About","description":"","frontmatter":{},"headers":[],"relativePath":"es/about.md","filePath":"es/about.md"}'),n={name:"es/about.md"},p=t(`

About

Welcome to the about page.

This markdown supports html elements like the p tag coupled with inline styles

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.

Even satire code snippets with syntax highlighting are also supported. 😅

js
const lang = prompt("What is your favorite programming language?");
+
+(lang === "JavaScript") | (lang === "javascript") | (lang === "js")
+  ? alert("JavaScript to the world! 🚀🟡")
+  : alert(\`We don't permit such languages here 💩\`);

Of course, images are not left out.

adocs logo',8),h=[p];function l(k,r,o,d,g,E){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/es_about.md.t0HjoKX9.lean.js b/docs/assets/es_about.md.t0HjoKX9.lean.js new file mode 100644 index 0000000..ec1845d --- /dev/null +++ b/docs/assets/es_about.md.t0HjoKX9.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as t,a2 as e}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"About","description":"","frontmatter":{},"headers":[],"relativePath":"es/about.md","filePath":"es/about.md"}'),n={name:"es/about.md"},p=t("",8),h=[p];function l(k,r,o,d,g,E){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/es_configs.md.hCP6dw5X.js b/docs/assets/es_configs.md.hCP6dw5X.js new file mode 100644 index 0000000..aa714b4 --- /dev/null +++ b/docs/assets/es_configs.md.hCP6dw5X.js @@ -0,0 +1 @@ +import{_ as o,c as s,o as t,m as e,a}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"Configs","description":"","frontmatter":{},"headers":[],"relativePath":"es/configs.md","filePath":"es/configs.md"}'),n={name:"es/configs.md"},c=e("h1",{id:"configs",tabindex:"-1"},[a("Configs "),e("a",{class:"header-anchor",href:"#configs","aria-label":'Permalink to "Configs"'},"​")],-1),i=e("p",null,"Welcome to the config page",-1),r=[c,i];function f(d,_,l,p,g,h){return t(),s("div",null,r)}const x=o(n,[["render",f]]);export{u as __pageData,x as default}; diff --git a/docs/assets/es_configs.md.hCP6dw5X.lean.js b/docs/assets/es_configs.md.hCP6dw5X.lean.js new file mode 100644 index 0000000..aa714b4 --- /dev/null +++ b/docs/assets/es_configs.md.hCP6dw5X.lean.js @@ -0,0 +1 @@ +import{_ as o,c as s,o as t,m as e,a}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"Configs","description":"","frontmatter":{},"headers":[],"relativePath":"es/configs.md","filePath":"es/configs.md"}'),n={name:"es/configs.md"},c=e("h1",{id:"configs",tabindex:"-1"},[a("Configs "),e("a",{class:"header-anchor",href:"#configs","aria-label":'Permalink to "Configs"'},"​")],-1),i=e("p",null,"Welcome to the config page",-1),r=[c,i];function f(d,_,l,p,g,h){return t(),s("div",null,r)}const x=o(n,[["render",f]]);export{u as __pageData,x as default}; diff --git a/docs/assets/es_contact.md.m3ZaHbQF.js b/docs/assets/es_contact.md.m3ZaHbQF.js new file mode 100644 index 0000000..1f7fe17 --- /dev/null +++ b/docs/assets/es_contact.md.m3ZaHbQF.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as c,m as t,a as o}from"./chunks/framework.4X8dX8EZ.js";const x=JSON.parse('{"title":"Contact","description":"","frontmatter":{},"headers":[],"relativePath":"es/contact.md","filePath":"es/contact.md"}'),n={name:"es/contact.md"},s=t("h1",{id:"contact",tabindex:"-1"},[o("Contact "),t("a",{class:"header-anchor",href:"#contact","aria-label":'Permalink to "Contact"'},"​")],-1),r=t("p",null,"Welcome to the contact page",-1),d=[s,r];function i(_,l,p,h,m,f){return c(),a("div",null,d)}const $=e(n,[["render",i]]);export{x as __pageData,$ as default}; diff --git a/docs/assets/es_contact.md.m3ZaHbQF.lean.js b/docs/assets/es_contact.md.m3ZaHbQF.lean.js new file mode 100644 index 0000000..1f7fe17 --- /dev/null +++ b/docs/assets/es_contact.md.m3ZaHbQF.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as c,m as t,a as o}from"./chunks/framework.4X8dX8EZ.js";const x=JSON.parse('{"title":"Contact","description":"","frontmatter":{},"headers":[],"relativePath":"es/contact.md","filePath":"es/contact.md"}'),n={name:"es/contact.md"},s=t("h1",{id:"contact",tabindex:"-1"},[o("Contact "),t("a",{class:"header-anchor",href:"#contact","aria-label":'Permalink to "Contact"'},"​")],-1),r=t("p",null,"Welcome to the contact page",-1),d=[s,r];function i(_,l,p,h,m,f){return c(),a("div",null,d)}const $=e(n,[["render",i]]);export{x as __pageData,$ as default}; diff --git a/docs/assets/es_get-started.md.IAU33Du3.js b/docs/assets/es_get-started.md.IAU33Du3.js new file mode 100644 index 0000000..d392680 --- /dev/null +++ b/docs/assets/es_get-started.md.IAU33Du3.js @@ -0,0 +1 @@ +import{_ as a,c as r,o as s,m as e,a as t}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"es/get-started.md","filePath":"es/get-started.md"}'),o={name:"es/get-started.md"},d=e("h1",{id:"get-started",tabindex:"-1"},[t("Get Started "),e("a",{class:"header-anchor",href:"#get-started","aria-label":'Permalink to "Get Started"'},"​")],-1),n=e("p",null,[t("Here's how to get started with "),e("a",{href:"https://vitepress.com",target:"_blank",rel:"noreferrer"},"VitePress")],-1),c=[d,n];function i(_,l,h,p,m,f){return s(),r("div",null,c)}const x=a(o,[["render",i]]);export{u as __pageData,x as default}; diff --git a/docs/assets/es_get-started.md.IAU33Du3.lean.js b/docs/assets/es_get-started.md.IAU33Du3.lean.js new file mode 100644 index 0000000..d392680 --- /dev/null +++ b/docs/assets/es_get-started.md.IAU33Du3.lean.js @@ -0,0 +1 @@ +import{_ as a,c as r,o as s,m as e,a as t}from"./chunks/framework.4X8dX8EZ.js";const u=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"es/get-started.md","filePath":"es/get-started.md"}'),o={name:"es/get-started.md"},d=e("h1",{id:"get-started",tabindex:"-1"},[t("Get Started "),e("a",{class:"header-anchor",href:"#get-started","aria-label":'Permalink to "Get Started"'},"​")],-1),n=e("p",null,[t("Here's how to get started with "),e("a",{href:"https://vitepress.com",target:"_blank",rel:"noreferrer"},"VitePress")],-1),c=[d,n];function i(_,l,h,p,m,f){return s(),r("div",null,c)}const x=a(o,[["render",i]]);export{u as __pageData,x as default}; diff --git a/docs/assets/es_index.md._tOJVrZy.js b/docs/assets/es_index.md._tOJVrZy.js new file mode 100644 index 0000000..50a501e --- /dev/null +++ b/docs/assets/es_index.md._tOJVrZy.js @@ -0,0 +1 @@ +import{_ as e,c as t,o}from"./chunks/framework.4X8dX8EZ.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SuperChats","text":"A Mais Poderosa Biblioteca Javascript para Automatizar Whatsapp","image":{"src":"/logo-big.svg","alt":"SuperChats logo"},"tagline":"Completa, Incrível e 100% Estável","actions":[{"theme":"brand","text":"Comprar Licença","link":"./introduction"},{"theme":"alt","text":"Documentação","link":"./introduction"}]},"features":[{"icon":"🖥","title":"Suporte Total","details":"Suporte por Ticket, Whatsapp e Acesso Remoto"},{"icon":"🌎","title":"Não Precisa de Browser","details":"Conexão através do socket do Whatsapp"},{"icon":"💯","title":"100% de Estabilidade","details":"Sem clashs ou bugs, pronta para produção"},{"icon":"💎","title":"Facilidade","details":"Roda em qualquer OS, Apenas com node 18"},{"icon":"⭕️","title":"Sem Limites","details":"Sem limites de uso ou travas"},{"icon":"💾","title":"Menor Consumo","details":"Menor consumo de memória e processamento"},{"icon":"📚","title":"Documentação Completa","details":"Toda documentada em português, inglês e espanhol"},{"icon":"🎉","title":"Updates Constantes","details":"Melhorias e atualizações constantes trazendo o que a de melhor no Whatsapp"}],"head":[["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:title","content":"Adocs"}],["meta",{"property":"og:image","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["meta",{"property":"og:url","content":"https://vitejs.dev/blog/announcing-vite3"}],["meta",{"name":"title","content":"Adocs"}],["meta",{"name":"twitter:card","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["link",{"rel":"icon","type":"image/svg","href":"logo.svg"}]]},"headers":[],"relativePath":"es/index.md","filePath":"es/index.md"}'),a={name:"es/index.md"};function n(s,i,r,c,d,l){return o(),t("div")}const u=e(a,[["render",n]]);export{m as __pageData,u as default}; diff --git a/docs/assets/es_index.md._tOJVrZy.lean.js b/docs/assets/es_index.md._tOJVrZy.lean.js new file mode 100644 index 0000000..50a501e --- /dev/null +++ b/docs/assets/es_index.md._tOJVrZy.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o}from"./chunks/framework.4X8dX8EZ.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SuperChats","text":"A Mais Poderosa Biblioteca Javascript para Automatizar Whatsapp","image":{"src":"/logo-big.svg","alt":"SuperChats logo"},"tagline":"Completa, Incrível e 100% Estável","actions":[{"theme":"brand","text":"Comprar Licença","link":"./introduction"},{"theme":"alt","text":"Documentação","link":"./introduction"}]},"features":[{"icon":"🖥","title":"Suporte Total","details":"Suporte por Ticket, Whatsapp e Acesso Remoto"},{"icon":"🌎","title":"Não Precisa de Browser","details":"Conexão através do socket do Whatsapp"},{"icon":"💯","title":"100% de Estabilidade","details":"Sem clashs ou bugs, pronta para produção"},{"icon":"💎","title":"Facilidade","details":"Roda em qualquer OS, Apenas com node 18"},{"icon":"⭕️","title":"Sem Limites","details":"Sem limites de uso ou travas"},{"icon":"💾","title":"Menor Consumo","details":"Menor consumo de memória e processamento"},{"icon":"📚","title":"Documentação Completa","details":"Toda documentada em português, inglês e espanhol"},{"icon":"🎉","title":"Updates Constantes","details":"Melhorias e atualizações constantes trazendo o que a de melhor no Whatsapp"}],"head":[["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:title","content":"Adocs"}],["meta",{"property":"og:image","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["meta",{"property":"og:url","content":"https://vitejs.dev/blog/announcing-vite3"}],["meta",{"name":"title","content":"Adocs"}],["meta",{"name":"twitter:card","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["link",{"rel":"icon","type":"image/svg","href":"logo.svg"}]]},"headers":[],"relativePath":"es/index.md","filePath":"es/index.md"}'),a={name:"es/index.md"};function n(s,i,r,c,d,l){return o(),t("div")}const u=e(a,[["render",n]]);export{m as __pageData,u as default}; diff --git a/docs/assets/es_introduction.md.Xwe8WaMk.js b/docs/assets/es_introduction.md.Xwe8WaMk.js new file mode 100644 index 0000000..46aaede --- /dev/null +++ b/docs/assets/es_introduction.md.Xwe8WaMk.js @@ -0,0 +1,194 @@ +import{_ as s,c as i,o as a,V as t}from"./chunks/framework.4X8dX8EZ.js";const g=JSON.parse('{"title":"How to build modern docs with VitePress","description":"","frontmatter":{},"headers":[],"relativePath":"es/introduction.md","filePath":"es/introduction.md"}'),e={name:"es/introduction.md"},n=t(`

banner

How to build modern docs with VitePress

INFO

Documentation is a crucial aspect of software development that is often neglected by developers due to the hassle of maintaining one, or even choosing the right tools to use. This is why it's important to use tools that simplify this process. In this tutorial, you'll learn how to build a complete docs site quickly by utilizing a modern tool called, VitePress.

Definition

VitePress is a simple and performant static site generator built on top of Vite for creating docs in a matter of minutes. It is powered by Vuejs, and Vite with built in customizable components. VitePress powers some popular documentation sites like Vuejs, Vitest, faker.js, and Vite itself.

Prerequisites

To follow along with this tutorial, you need to have a basic understanding of the following:

  • Markdown syntax
  • Brief understanding of NPM and Vite

Here's a screenshot of what you'll be building at the end of this tutorial.

final-works

Step. 1: Create a new project

If you already have a folder created, you can skip this step to the next one if not, use the following command to create a project folder and move into the folder.

bash
mkdir project-name
+cd project-name

Next you need to initialize with your preferred package manager. I'll be using NPM for the rest of this guide.

bash
npm init
+// or use this command if you want to skip all the questions
+npm init -y

If you used the first command, you'll be prompted with certain questions, complete them as appropriate. After a successful operation, you should have a package.json file in your root directory; This is where the VitePress dev dependency will be installed.

Step. 2: Install VitePress

Next step is to add VitePress and Vue as dev dependencies to your project.

bash
npm install vue vitepress --save-dev
+// or
+npm install -D vue vitepress

You've successfully installed VitePress and Vue and added it as a dev dependency. Now you can start creating creating your respective doc files, but before you do that, I believe it's essential to explain how VitePress works.

How does VitePress work?

VitePress makes use of Markdown .md files for it's markup which is automatically converted into static HTML. In other for this to work, a special folder called docs is created in the root directory.

This folder behaves similar to the pages folder in NextJS, where any .js file created in the directory is automatically treated as a web page. In this case a file called index.md will be the treated as index.html and serve as the root of your docs template.

Now you understand how that works, you can now create your respective doc files.

Step 3. Create respective files

You can create the docs folder and the index.md file manually, or you can do it with the terminal like a hacker.

bash
mkdir docs && echo '# Hello VitePress' > docs/index.md

This command is simply creating a folder called docs and adding an index.md file containing a h1 element that says, "Hello World".

create respective files

With this, you can boot up your dev environment to see what has been created so far.

Step 4: Boot up dev environment

In other to run your docs locally, you need to add the following scripts inside the package.json file. Simply copy the code below and replace it with the "script" object.

js
// package.json
+"scripts": {
+    "docs:dev": "vitepress dev docs",
+    "docs:build": "vitepress build docs",
+    "docs:serve": "vitepress serve docs"
+  },

Finally, the documentation site can be served on a local server by running the command below:

bash
npm run docs:dev

This will start a hot-reloading development server at http://localhost:5173, and you can visit it to see your docs site.

Output

boot-dev-server

All you had to do was add the markup and VitePress handled the looks from it's template engine. In the next session, you'll learn how you can customize the docs to fit your needs.

How to customize your docs

First create a .vitepress folder inside the docs directory you created earlier on. This is where all VitePress-specific files will be placed. Inside this new directory, you need a config.js file. Again, you can use the terminal command as a hacker.

bash
mkdir .vitepress && touch .vitepress/config.js

To test this config file, you can start by changing the meta title and description of your docs site. Copy this markup and paste into the config.js file.

js
// .vitepress/config.js
+export default {
+  title: "Adocs",
+  description: "An awesome docs template built by me",
+};

If you check the dev tools, you should see the changes in the meta title and description.

title-and-description

In other to change the logo title and add an image, copy the markup below and paste it into a new object called themeConfig inside the same config.js file. This will overwrite the current title and add a logo your docs site.

js
// config.js
+export default {
+  themeConfig: {
+    logo: "/logo.svg",
+    siteTitle: "Adocs",
+  },
+};

For the image source, you can pass in an image URL or specify the path to a local image. To do it locally, make sure you place the image within the public directory.

Output

logo-and-title

WARNING

Note: files in the public directory are served at the root path. So instead of ../public/logo.svg, just use /logo.svg.

Customizing the Navbar is a pretty straightforward process as well. Inside your themeConfig file, paste the markup below. Here we have an object that contains two properties. The anchor text text, and the path, link defines the URL path.

js
// .vitepress/config.js
+{
+  // ...
+   nav: [
+    { text: "About", link: "/about" },
+    { text: "Contact", link: "/contact" },
+    { text: "Guide", link: "/guide" },
+    { text: "Configs", link: "/configs" },
+    { text: "Changelog", link: "https://github.com/Evavic44" },
+  ],
+  // ...
+}

Essentially navigating to http://localhost:5173/about should take you to an about page(though we haven't created that yet).

Output

navbar

Navigation links can also be dropdown menus too. To add one, simply replace any of the links property with the items object which contains an array of links.

js
// .vitepress/config.js
+{
+  text: "Changelog",
+  items: [
+   { text: "v0.0.1", link: "/item-1" },
+   { text: "v0.0.2", link: "/item-2" },
+   { text: "v0.0.3", link: "/item-3" },
+  ],
+},

Now changelog will become a dropdown menu with the respective links you pass inside.

Output

dropdown-menu

Social Icons

Navigation menus usually have social icons visitors can use to visit your social platforms. To add that, define a new object called socialLinks inside themeConfig and simply pass in the social icon and the link you want it to navigate to.

js
// .vitepress/config.js
+socialLinks: [
+  { icon: "github", link: "https://github.com/Evavic44/adocs" },
+  { icon: "twitter", link: "https://twitter.com/victorekea" },
+  { icon: "discord", link: "", target: "_blank" },
+];

By default only 7 popular icons are provided. If you want to add a custom icon, use the SVG property to define an svg image.

js
}
+  "discord"
+  "facebook"
+  "github"
+  "instagram"
+  "linkedin"
+  "slack"
+  "twitter"
+  "youtube"
+  { svg: string };
+{

WARNING

For the SVG icon, make sure you add the role="img" property, this allows the string convert it properly.

navbar-2

VitePress also comes with built-in components like sidebar menus. To add a sidebar, create an object called sidebar and inside we add nested objects that takes in three values; the nested title, collapsible functionality (Default is set to true) and the nested links.

js
// .vitepress/config.js
+sidebar: [
+    {
+      text: "Section A",
+      collapsible: true,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+    {
+      text: "Section B",
+      collapsible: false,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+    {
+      text: "Section C",
+      collapsible: true,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+  ],

By adding collapsible: "true" to the sidebar object, it shows a toggle button to hide/show each section. You can create as much sections as you want.

Output

sidebar-2

You can see section B is not collapsible and we have that aesthetic next page button on the bottom of the page.

Page Routing

As explained earlier, VitePress automatically converts every .md file inside the root of the docs directory to static html that can be accessed in the address bar. For instance the index.md is converted to index.html, and about.md, about.html and so on.

Since you've created your nav links and pointed them to their respective URLs, you can access these pages easily by creating them.

docs/
+├── .vitepress/
+│   └── config.js
+├── public/
+│   └── logo.svg
+├── about.md
+├── contact.md
+├── guide.md
+├── configs.md
+└── get-started.md

Create these files inside your docs folder and add a simple markup inside them just to see how this works. This page is basic markdown so all your markdown syntax like links, code blocks, headings, etc works here.

Just for testing purposes, copy this markdown content and paste it inside any of the .md file you just created.

md
# About
+
+Welcome to the about page.
+
+This markdown supports html elements like the \`p\` tag coupled with inline styles
+
+<p style="color: #ff7340; border: 1px solid rgba(255, 135, 23, 0.25); border-radius:5px; padding: 1rem;">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>
+
+Even satire code snippets with syntax highlighting are also supported. 😅
+
+const lang = prompt("What is your favorite programming language?");
+
+(lang === "JavaScript") | (lang === "javascript") | (lang === "js")
+? alert("JavaScript to the world! 🚀🟡")
+: alert(\`We don't permit such languages here 💩\`);
+
+Of course, images are not left out.
+
+<img src="/logo.svg" alt="adocs logo">

Output

page-routing

Great! You've set-up the docs, added a navigation menu with dropdown feature, added a sidebar, and customized the links to navigate to different pages. Next up, let's work on the home page.

Customizing the home page.

Just like every other components, VitePress provides us with markup for building the home page. I've broken it down into three parts: Hero, features, and footer section.

Hero Section

First, we'll start with the hero section. Replace the Hello World text in the index.md page with the following markup.

bash
# docs/index.md
+---
+layout: home
+
+hero:
+  name: Adocs
+  text: Static docs template built with VitePress.
+  image:
+    src: /logo-big.svg
+    alt: Adocs logo
+  tagline: A free to use template for creating docs for your projects
+  actions:
+    - theme: brand
+      text: Get Started
+      link: /get-started
+    - theme: alt
+      text: View on GitHub
+      link: https://github.com/evavic44/adocs-template
+---

Features Section

Additionally, you can also add a features section after the hero section. Simply paste the code below under the hero objects.

bash
# /docs/index.md
+---
+link: https://github.com/evavic44/adocs-template
+
+features:
+  - icon: ⚡️
+    title: Adocs, The DX that can't be beat
+    details: Lorem ipsum...
+  - icon: 🎉
+    title: Power of Vue meets Markdown
+    details: Lorem ipsum...
+  - icon: 🔥
+    title: Simple and minimal, always
+    details: Lorem ipsum...
+  - icon: 🎀
+    title: Stylish and cool
+    details: Lorem ipsum...
+---

Output

hero-redesign

You can add a footer message on the bottom of the page but this will only show up in the home page.

WARNING

The footer will not be displayed when the SideBar is visible. To add the footer component, go to the config.js file and paste the markup inside the themeConfig object

js
// .vitepress/config.js
+ footer: {
+   message: "Released under the MIT License.",
+   copyright: "Copyright © 2022-present Adocs",
+ },

Output

footer

Aside from the markup, you can also customize the components using custom CSS to change things like fonts family, colors, layout, ETC.

Custom CSS

The default theme CSS is customized by overriding root level CSS variables. If you want, you can check out the full list of css variables customizable.

To do get started, create a .vitepress/theme directory, and inside this theme folder, add an index.js and custom.css file. If you've been following along, you can use the terminal command below to do this quickly.

bash
mkdir docs/.vitepress/theme && touch docs/.vitepress/theme/index.js && touch docs/.vitepress/theme/custom.css

If you ran into any issues with the terminal command, just create the files manually and move on to the next step.

Here's an overview of the folder structure.

bash
docs/
+├── .vitepress/
+   ├── config.js
+   └── theme/
+       ├── index.js
+       └── custom.css
+├── public/
+   └── logo.svg
+├── about.md
+├── contact.md
+├── guide.md
+├── configs.md
+└── get-started.md

After creating these files, inside the .vitepress/theme/index.js file, paste the import commands.

js
// .vitepress/theme/index.js
+import DefaultTheme from "vitepress/theme";
+import "./custom.css";
+
+export default DefaultTheme;

Color Theme

The colors are controlled by the CSS variables. You can simply replace them with any colors you want.

TIP

This color has a provision for both light and dark mode. So make sure you change them accordingly.

Here's an example of my custom colors

css
/* .vitepress/theme/custom.css */
+
+:root {
+  --vp-c-brand: rgb(255, 115, 64);
+  --vp-c-brand-light: rgb(255, 87, 25);
+  --vp-c-brand-lighter: rgb(255, 115, 64);
+  --vp-c-brand-dark: #ff622d;
+  --vp-c-brand-darker: rgb(226, 60, 0);
+
+  --vp-c-sponsor: #fd1d7c;
+}

If you don't see the effects immediately, try ending the server and starting it again.

Aside from the color themes, you can also override other things like, font family, typography, layout, breakpoints, etc.

Fonts

Google fonts can be imported inside the CSS file to override the default font family.

css
@import url(https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic);
+@import url(https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic);
+
+:root {
+  --vp-c-brand: #ff7340;
+  --vp-c-brand-light: #ff5719;
+  --vp-c-brand-lighter: #ff7340;
+  --vp-c-brand-lighter: rgba(255, 135, 23, 0.25);
+  --vp-c-brand-dark: #ff622d;
+  --vp-c-brand-darker: #e23c00;
+
+  --vp-c-sponsor: #fd1d7c;
+
+  /* Typography */
+  --vp-font-family-base: "Space Grotesk", "Inter var experimental", "Inter var",
+    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+    "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+
+  /* Code Snippet font */
+  --vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New",
+    monospace;
+}

With the --vp-font-family-base variable you can change the main font and --vp-font-family-mono, the font for code snippets.

Output

banner

You've successfully customized the theme and changed the font family using CSS. Though there's more you can do in regards to styling, but at this point, I'm sure it's clearer how you can customize your docs with CSS. Let's discuss hosting in the next section.

Hosting

You can publish or host your docs site when you're done to different platforms like: Netlify, Vercel, AWS Amplify, etc.

First, run the build command

bash
npm run docs:build

This should create a new dist folder that contains all the static files of your docs. In your hosting service, add these commands to their respective fields. Build command: npm run docs:build Output directory: docs/.vitepress/dist

This should create a new dist folder that contains all the static files of your docs. In your hosting service, add these commands to their respective fields.

  • Build command: npm run docs:build
  • Output directory: docs/.vitepress/dist

deploy-settings-vercel

After editing the settings, save, and deploy.

Conclusion

In this tutorial, you've set-up a full-fledged documentation site and customized it using CSS and VitePress built-in components. However, this tutorial only covers a fragment of what is possible with VitePress, to learn more, check out the VitePress docs.

Resources


If you are an open source ardent like myself or you enjoy hearing about such cool projects, do follow me on my socials so you don't miss my next post. Cheers. 🍷

GitHub Twitter Blog Portfolio

`,144),l=[n];function h(p,k,o,r,d,c){return a(),i("div",null,l)}const u=s(e,[["render",h]]);export{g as __pageData,u as default}; diff --git a/docs/assets/es_introduction.md.Xwe8WaMk.lean.js b/docs/assets/es_introduction.md.Xwe8WaMk.lean.js new file mode 100644 index 0000000..bf79e0b --- /dev/null +++ b/docs/assets/es_introduction.md.Xwe8WaMk.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as t}from"./chunks/framework.4X8dX8EZ.js";const g=JSON.parse('{"title":"How to build modern docs with VitePress","description":"","frontmatter":{},"headers":[],"relativePath":"es/introduction.md","filePath":"es/introduction.md"}'),e={name:"es/introduction.md"},n=t("",144),l=[n];function h(p,k,o,r,d,c){return a(),i("div",null,l)}const u=s(e,[["render",h]]);export{g as __pageData,u as default}; diff --git a/docs/assets/functions-chat.md.PmEUKzYe.js b/docs/assets/functions-chat.md.PmEUKzYe.js new file mode 100644 index 0000000..75deaf9 --- /dev/null +++ b/docs/assets/functions-chat.md.PmEUKzYe.js @@ -0,0 +1,56 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const o=JSON.parse('{"title":"Funções de Chat","description":"","frontmatter":{},"headers":[],"relativePath":"functions-chat.md","filePath":"functions-chat.md"}'),t={name:"functions-chat.md"},h=n(`

Funções de Chat

Buscar Chats

Lista todos os Chats

javascript
let response = await client.getChats()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-chats',
+  chats: [
+    { id: '556181590153'},
+    { id: '5511982743910-1596072761'}
+  ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-chats',
+  message: 'message of erro'
+}

Silenciar Conversa

Silencia a conversa por um periodo

Mutar

javascript
//numero do chat, tempo: ['hour', 'week', 'ever']
+let response = await client.muteChat("5561981590153", "hour")

Desmutar

javascript
//número do chat
+let response = await client.unmuteChat("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'mute-chat',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'mute-chat',
+  message: 'message of erro'
+}

Arquivar Chat

Arquiva ou Desarquiva um chat

Arquivar
javascript
//número do chat, true
+let response = await client.archiveChat("5561981590153", true)
Desarquivar
javascript
//número do chat, false
+let response = await client.archiveChat("5561981590153", false)

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'archive-chat',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'archive-chat',
+  message: 'message of erro'
+}

Deletar Chat

Deleta um chat ou grupo especifico

javascript
//número do chat ou group
+let response = await client.deleteChat("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'delete-chat',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'delete-chat',
+  message: 'message of erro'
+}

Pin Chat

Fixar ou Desfixar um chat

Fixar

javascript
//número do chat, true
+let response = await client.pinChat("5561981590153", true)

Desfixar

javascript
//número do chat, false
+let response = await client.pinChat("5561981590153", false)

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'pin-chat',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'pin-chat',
+  message: 'message of erro'
+}
`,45),p=[h];function l(e,k,E,r,d,g){return a(),i("div",null,p)}const y=s(t,[["render",l]]);export{o as __pageData,y as default}; diff --git a/docs/assets/functions-chat.md.PmEUKzYe.lean.js b/docs/assets/functions-chat.md.PmEUKzYe.lean.js new file mode 100644 index 0000000..088f259 --- /dev/null +++ b/docs/assets/functions-chat.md.PmEUKzYe.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const o=JSON.parse('{"title":"Funções de Chat","description":"","frontmatter":{},"headers":[],"relativePath":"functions-chat.md","filePath":"functions-chat.md"}'),t={name:"functions-chat.md"},h=n("",45),p=[h];function l(e,k,E,r,d,g){return a(),i("div",null,p)}const y=s(t,[["render",l]]);export{o as __pageData,y as default}; diff --git a/docs/assets/functions-disconnected.md.ZmsdZk2o.js b/docs/assets/functions-disconnected.md.ZmsdZk2o.js new file mode 100644 index 0000000..d546f94 --- /dev/null +++ b/docs/assets/functions-disconnected.md.ZmsdZk2o.js @@ -0,0 +1 @@ +import{_ as e,c as s,o as a,V as t}from"./chunks/framework.4X8dX8EZ.js";const _=JSON.parse('{"title":"Funções de Desconexão","description":"","frontmatter":{},"headers":[],"relativePath":"functions-disconnected.md","filePath":"functions-disconnected.md"}'),i={name:"functions-disconnected.md"},o=t('

Funções de Desconexão

Fecha a conexão da Seção

javascript
   client.close()

Remove o Token da Seção (Ao perder o token será necessário ler o QRCODE novamente)

javascript
   client.logout()
',5),n=[o];function c(d,l,p,r,h,k){return a(),s("div",null,n)}const g=e(i,[["render",c]]);export{_ as __pageData,g as default}; diff --git a/docs/assets/functions-disconnected.md.ZmsdZk2o.lean.js b/docs/assets/functions-disconnected.md.ZmsdZk2o.lean.js new file mode 100644 index 0000000..38347ae --- /dev/null +++ b/docs/assets/functions-disconnected.md.ZmsdZk2o.lean.js @@ -0,0 +1 @@ +import{_ as e,c as s,o as a,V as t}from"./chunks/framework.4X8dX8EZ.js";const _=JSON.parse('{"title":"Funções de Desconexão","description":"","frontmatter":{},"headers":[],"relativePath":"functions-disconnected.md","filePath":"functions-disconnected.md"}'),i={name:"functions-disconnected.md"},o=t("",5),n=[o];function c(d,l,p,r,h,k){return a(),s("div",null,n)}const g=e(i,[["render",c]]);export{_ as __pageData,g as default}; diff --git a/docs/assets/functions-group.md.k-Qnp_mQ.js b/docs/assets/functions-group.md.k-Qnp_mQ.js new file mode 100644 index 0000000..7f6f283 --- /dev/null +++ b/docs/assets/functions-group.md.k-Qnp_mQ.js @@ -0,0 +1,138 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const c=JSON.parse('{"title":"Funções de Grupo","description":"","frontmatter":{},"headers":[],"relativePath":"functions-group.md","filePath":"functions-group.md"}'),p={name:"functions-group.md"},t=n(`

Funções de Grupo

Criamos a maneira mais fácil de criar grupos com Superchats

Criar Grupo

Crie um grupo com participantes

javascript
//name of group, array with number of contacts
+let response = await client.createGroup("Name Group", ["556181590153", "5561981819855"])

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'create-group',
+  groupId: "15815954040-1631239154"
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'create-group',
+  message: 'message of erro'
+}

Adicionar participantes

Adiciona participantes ao grupo

javascript
//id of group, array with number of contacts
+let response = await client.addParticipantsGroup("15815954040-1631239154", ["556181590153", "5561981819855"])

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'add-participants-group',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'add-participants-group',
+  message: 'message of erro'
+}

Adicionar Admins

Adiciona ou remove um admin

javascript
//id of group, array with number of contacts
+let response = await client.addGroupAdmins("15815954040-1631239154", ["556181590153", "5561981819855"])
javascript
//id of group, array with number of contacts
+let response = await client.removeGroupAdmins("15815954040-1631239154", ["556181590153", "5561981819855"])

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'add-group-admins',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'add-group-admins',
+  message: 'message of erro'
+}

Alterar Nome do Grupo

Modifica o nome do grupo

javascript
//id of group, name group
+let response = await client.groupTitle("15815954040-1631239154", "new name of group")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'group-title',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'group-title',
+  message: 'message of erro'
+}

Alterar Descrição do Grupo

Modifica descrição do Grupo

javascript
//id of group, name group
+let response = await client.groupDescription("15815954040-1631239154", "description of group")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'group-description',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'group-description',
+  message: 'message of erro'
+}

Entrar em Grupo

Entra em um grupo especifico

javascript
//id of group
+let response = await client.joinGroup("15815954040-1631239154")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'join-group',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'join-group',
+  message: 'message of erro'
+}

Sair de Grupo

Sai de um grupo especifico

javascript
//id of group
+let response = await client.leaveGroup("15815954040-1631239154")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'leave-group',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'leave-group',
+  message: 'message of erro'
+}

Atualiza o link de um grupo especifico

javascript
//id of group
+let response = await client.revokeGroupLink("15815954040-1631239154")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'revoke-group-link',
+  linkGroup: 'G3M81fQbuwDB2cuAdPIv0h'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'revoke-group-link',
+  message: 'message of erro'
+}

Informações do Grupo

Retorna informações de um grupo especifico

javascript
//id of group
+let response = await client.infoGroup("15815954040-1631239154")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'info-group',
+  status: 200,
+  id: '15795662985-1631581942',
+  owner: '15795662985@c.us',
+  title: 'Teste Grupo Live',
+  create: 1631581942,
+  participants: [
+    {
+      id: '556181590153',
+      name: 'Joe Dutra',
+      short: 'Joe',
+      isAdmin: false,
+      isSuperAdmin: false
+    },
+    {
+      id: '5521991977392',
+      name: 'Israel - Fabrica de Sonhos',
+      short: 'Israel - Fabrica',
+      isAdmin: false,
+      isSuperAdmin: false
+    }
+  ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'info-group',
+  message: 'message of erro'
+}

Modificar Configurações

Modifica configurações de um grupo especifico

Definir o envio de mensagens em grupo apenas para administradores

javascript
//id of group, type, boolean
+let response = await client.setGroupSettings("15815954040-1631239154", "message", true)

Definir configurações de alteração no grupo apenas para administradores

javascript
//id of group, type, boolean
+let response = await client.setGroupSettings("15815954040-1631239154", "settings", true)

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'set-group-settings',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-group-settings',
+  message: 'message of erro'
+}

Get Groups List

Get all groups list

javascript
let response = await client.getGroups()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'get-groups',
+  chats: [
+    { id: '5511982743910-1596072761', name: 'Venom Support' },
+    { id: '556181590153-1625838636', name: 'Venom Business' }
+  ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-groups',
+  message: 'message of erro'
+}
`,83),h=[t];function l(k,e,E,r,d,g){return a(),i("div",null,h)}const y=s(p,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/functions-group.md.k-Qnp_mQ.lean.js b/docs/assets/functions-group.md.k-Qnp_mQ.lean.js new file mode 100644 index 0000000..4e383b8 --- /dev/null +++ b/docs/assets/functions-group.md.k-Qnp_mQ.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const c=JSON.parse('{"title":"Funções de Grupo","description":"","frontmatter":{},"headers":[],"relativePath":"functions-group.md","filePath":"functions-group.md"}'),p={name:"functions-group.md"},t=n("",83),h=[t];function l(k,e,E,r,d,g){return a(),i("div",null,h)}const y=s(p,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/functions-message.md.IVb724Gj.js b/docs/assets/functions-message.md.IVb724Gj.js new file mode 100644 index 0000000..e76059c --- /dev/null +++ b/docs/assets/functions-message.md.IVb724Gj.js @@ -0,0 +1,44 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const c=JSON.parse('{"title":"Funções de Mensagem","description":"","frontmatter":{},"headers":[],"relativePath":"functions-message.md","filePath":"functions-message.md"}'),t={name:"functions-message.md"},e=n(`

Funções de Mensagem

Editar Mensagem

Edite mensagens enviadas em chats

javascript
// número do chat, id da mensagem, mensagem editada
+let response = await client.editMessage("5561981590153", "3EB071B7776A", "Outra Mensagem")

Deletar Mensagem

Exclua mensagens em bate-papos apenas para você ou para todos

Excluir mensagem apenas para você

javascript
// número do chat, id da mensagem
+let response = await client.deleteMessageMe("5561981590153", "3EB071B7776A")

Excluir mensagem para todos no chat

javascript
// número do chat, id da mensagem
+let response = await client.deleteMessageAll("5561981590153", "3EB071B7776A")

Retorno de Sucesso

javascript
{ 
+ session: 'Marketing',
+ status: 200 
+ type: 'delete-chat-me'
+}

Retorno de Erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'delete-chat-me',
+  message: 'message of erro'
+}

Encaminhar Mensagem

Encaminhamento de mensagens para qualquer contato

javascript
// Número do chat, id da mensagem, número do chat para enviar
+let response = await client.forwardMessage("5561981590153", "3EB042FA6555", "15815954040")

Return with success

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'forwarding',
+  subtype: 'text',
+  id: '3EB042FA6555',
+  from: '15815954040',
+  text: 'oi',
+  isgroup: false,
+  reply: { id: undefined },
+  participant: '',
+  timestamp: 1633147282
+}

Return with erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'forwarding',
+  message: 'message of erro'
+}

Mensagens Temporarias

Seta as proximas mensagens do chat como temporarias que desapareceram segundo o valor passado de tempo

javascript
// Número do chat, tempo (0 = desativa, 24 = 24 horas, 7 = 7 dias, 90 = 90 dias)
+let response = await client.messageTemporary("5561981590153", "24");

Return with success

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'message-temporary',
+}

Return with erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'message-temporary',
+  message: 'message of erro'
+}

Fuções de Mensagens de um Chat

Conheça os tipos de funções para recuperar mensagens de chat

Buscar Mensagem pelo ID

javascript
// Número do Chat, id da mensagem
+let response = await client.getMessageById('556181590153', '3EB042FA6555');

Listar Mensagens por Quantidade

javascript
// Número do Chat, Quantidade
+let response = await client.getChatMessages('556181590153', 10)

Listar Todas as Mensagens

javascript
// Número do Chat
+let response = await client.getChatAllMessages('556181590153')
`,36),h=[e];function p(l,k,E,r,d,g){return a(),i("div",null,h)}const y=s(t,[["render",p]]);export{c as __pageData,y as default}; diff --git a/docs/assets/functions-message.md.IVb724Gj.lean.js b/docs/assets/functions-message.md.IVb724Gj.lean.js new file mode 100644 index 0000000..832d901 --- /dev/null +++ b/docs/assets/functions-message.md.IVb724Gj.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const c=JSON.parse('{"title":"Funções de Mensagem","description":"","frontmatter":{},"headers":[],"relativePath":"functions-message.md","filePath":"functions-message.md"}'),t={name:"functions-message.md"},e=n("",36),h=[e];function p(l,k,E,r,d,g){return a(),i("div",null,h)}const y=s(t,[["render",p]]);export{c as __pageData,y as default}; diff --git a/docs/assets/functions-others.md.qyenD7Fx.js b/docs/assets/functions-others.md.qyenD7Fx.js new file mode 100644 index 0000000..0fb089a --- /dev/null +++ b/docs/assets/functions-others.md.qyenD7Fx.js @@ -0,0 +1,127 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const c=JSON.parse('{"title":"Funções Diversas","description":"","frontmatter":{},"headers":[],"relativePath":"functions-others.md","filePath":"functions-others.md"}'),t={name:"functions-others.md"},p=n(`

Funções Diversas

Buscar Contatos da Agenda

Lista todos os contatos da agenda do dispositivo

javascript
let response = await client.getAllContacts()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-all-contacts',
+  qt: 2,
+  contacts: [
+    {
+      id: '552123919428',
+      name: 'Alenii Venom',
+      short: ''
+    },
+    {
+      id: '556181590153',
+      name: 'Joe Dutra',
+      short: ''
+    }
+  ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-all-contacts',
+  message: 'message of erro'
+}

Buscar Contatos Bloqueados

Lista todos os contatos bloqueados

javascript
let response = await client.getBlockList()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-block-list',
+  list: [ '5561986268199', '5561998745252' ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-block-list',
+  message: 'message of erro'
+}

Informações do Dispositivo

Traz informações do dispositivo

javascript
let response = await client.getHostDevice()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'get-host-device',
+  phone: '556181590153',
+  image: "https://pps.whatsapp.net/v/t61.24694-24/254827313_500572874791871_6168181924916411415_n.jpg?stp=dst-jpg_s96x96&ccb=11-4&oh=5ee43eb4f1fe109b10ceba05292561aa&oe=622FF53D",
+  pushName: 'Joe Dutra'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-host-device',
+  message: 'message of erro'
+}

Bloquear Contato

Bloqueia e Desbloqueia um contato

Bloquear

javascript
//number of chat
+let response = await client.blockContact("5561981590153")

Desbloquear

javascript
//number of chat
+let response = await client.unblockContact("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'block-contact',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'block-contact',
+  message: 'message of erro'
+}

Trazer Informações do Status

Exibe o status de um contato especifico.

javascript
//number of chat
+let response = await client.getProfileStatus("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-profile-status',
+  status: 'Que Deus seja sempre louvado em nossas vidas'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-profile-status',
+  message: 'message of erro'
+}

Traz a Imagem do contato

Exibe a imagem do perfil do contato

javascript
//number of chat
+let response = await client.getPicture("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'get-picture',
+  picture: 'https://pps.whatsapp.net/v/t61.24694-24/166060433_390988636021500_3494454124066997603_n.jpg?ccb=11-4&oh=453e672ddc35e64ca123439f7a89d7d2&oe=615EAAAF'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-picture',
+  message: 'message of erro'
+}

Alterar Imagem do Perfil

Modifica a imagem do perfil ou do grupo

javascript
//number of chat, file local path
+let response = await client.setPicture("5561981590153", "./image-profile.png")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'set-picture'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-picture',
+  message: 'message of erro'
+}

Verifica Número de Whatsapp

Checa se um número de telefone possuí o Whatsapp

javascript
//number of chat
+let response = await client.getNumberProfile("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-number-profile',
+  id: '556181590153',
+  isBusiness: false,
+  exist: true
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-number-profile',
+  message: 'message of erro'
+}

Atualizar Presença

Atualize sua presença para um determinado contato

Tipos de estado: a = disponível, c = digitando, r = gravando, p = pausado

javascript
//chat number, state: a, c, r, p
+let response = await client.setPresence('556181590153', 'c');

Retorno de sucesso

javascript
{ 
+  session: 'Marketing',
+  status: 200, 
+  type: 'set-presence' 
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-presence',
+  message: 'message of erro'
+}

Mudar Nome do Perfil

Atualiza o nome no Whatsapp

javascript
// nome
+let response = await client.setName("Orkestral");

Retorno de sucesso

javascript
{ 
+  session: 'Marketing',
+  status: 200, 
+  type: 'set-name' 
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-name',
+  message: 'message of erro'
+}

Mudar Status do Perfil

Atualiza o status no Whatsapp

javascript
// nome
+let response = await client.setStatus('Viva la vida!');

Retorno de sucesso

javascript
{ 
+  session: 'Marketing',
+  status: 200, 
+  type: 'set-status' 
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-status',
+  message: 'message of erro'
+}
`,82),h=[p];function l(e,k,E,r,d,g){return a(),i("div",null,h)}const y=s(t,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/functions-others.md.qyenD7Fx.lean.js b/docs/assets/functions-others.md.qyenD7Fx.lean.js new file mode 100644 index 0000000..eb5b9eb --- /dev/null +++ b/docs/assets/functions-others.md.qyenD7Fx.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const c=JSON.parse('{"title":"Funções Diversas","description":"","frontmatter":{},"headers":[],"relativePath":"functions-others.md","filePath":"functions-others.md"}'),t={name:"functions-others.md"},p=n("",82),h=[p];function l(e,k,E,r,d,g){return a(),i("div",null,h)}const y=s(t,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/get-started.md.e72yT3Zs.js b/docs/assets/get-started.md.e72yT3Zs.js new file mode 100644 index 0000000..9762b47 --- /dev/null +++ b/docs/assets/get-started.md.e72yT3Zs.js @@ -0,0 +1,34 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const o=JSON.parse('{"title":"Começando","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md"}'),h={name:"get-started.md"},t=n(`

Começando

Inicio Rápido

Execute o seguinte comando para garantir que o SuperChats esteja instalado:

bash
$ npm install superchats

ou use yarn

bash
$ yarn add superchats

Exemplo de Código Base

javascript
const superchats = require("superchats");
+
+async function start(){
+let client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  nodata: true,
+  logQr: false,
+  alwaysOn: true, 
+  autoRead: true, 
+  nodata: true, 
+  logQr: true,
+  statusFind: async (status) => {
+    console.log(status)
+  },
+  qrcode: async (session, base64Img, asciiQR, urlCode) => {
+  console.log(asciiQR)
+  },
+  onMessage: async (message) => {
+     if ((message.type == "text" || message.subtype == 'text')  && message.content == "hi") {
+       await client.sendText(message.from, "Let's GO Superchats");
+     }
+   }  // Receive an event all the time you receive a message from some contact
+})
+
+return client;
+
+}
+
+(async function(){
+  let client = await start();
+  let response = await client.sendText('0000000000000', 'Obrigado por usar SuperChats!!!');
+  console.log(response);
+})()
`,8),k=[t];function l(p,e,E,r,d,g){return a(),i("div",null,k)}const c=s(h,[["render",l]]);export{o as __pageData,c as default}; diff --git a/docs/assets/get-started.md.e72yT3Zs.lean.js b/docs/assets/get-started.md.e72yT3Zs.lean.js new file mode 100644 index 0000000..ffb99ab --- /dev/null +++ b/docs/assets/get-started.md.e72yT3Zs.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const o=JSON.parse('{"title":"Começando","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md"}'),h={name:"get-started.md"},t=n("",8),k=[t];function l(p,e,E,r,d,g){return a(),i("div",null,k)}const c=s(h,[["render",l]]);export{o as __pageData,c as default}; diff --git a/docs/assets/index.md.lQEv_vPG.js b/docs/assets/index.md.lQEv_vPG.js new file mode 100644 index 0000000..3631ce1 --- /dev/null +++ b/docs/assets/index.md.lQEv_vPG.js @@ -0,0 +1 @@ +import{_ as e,c as t,o}from"./chunks/framework.4X8dX8EZ.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SuperChats","text":"A Mais Poderosa Biblioteca Javascript para Automatizar Whatsapp","image":{"src":"/logo-big.svg","alt":"SuperChats logo"},"tagline":"Completa, Incrível e 100% Estável","actions":[{"theme":"brand","text":"Comprar Licença","link":"./introduction"},{"theme":"alt","text":"Documentação","link":"./introduction"}]},"features":[{"icon":"🖥","title":"Suporte Total","details":"Suporte por Ticket, Whatsapp e Acesso Remoto"},{"icon":"🌎","title":"Não Precisa de Browser","details":"Conexão através do socket do Whatsapp"},{"icon":"💯","title":"100% de Estabilidade","details":"Sem clashs ou bugs, pronta para produção"},{"icon":"💎","title":"Facilidade","details":"Roda em qualquer OS, Apenas com node 18"},{"icon":"⭕️","title":"Sem Limites","details":"Sem limites de uso ou travas"},{"icon":"💾","title":"Menor Consumo","details":"Menor consumo de memória e processamento"},{"icon":"📚","title":"Documentação Completa","details":"Toda documentada em português, inglês e espanhol"},{"icon":"🎉","title":"Updates Constantes","details":"Melhorias e atualizações constantes trazendo o que a de melhor no Whatsapp"}],"head":[["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:title","content":"Adocs"}],["meta",{"property":"og:image","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["meta",{"property":"og:url","content":"https://vitejs.dev/blog/announcing-vite3"}],["meta",{"name":"title","content":"Adocs"}],["meta",{"name":"twitter:card","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["link",{"rel":"icon","type":"image/svg","href":"logo.svg"}]]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"};function n(i,s,r,c,d,l){return o(),t("div")}const u=e(a,[["render",n]]);export{m as __pageData,u as default}; diff --git a/docs/assets/index.md.lQEv_vPG.lean.js b/docs/assets/index.md.lQEv_vPG.lean.js new file mode 100644 index 0000000..3631ce1 --- /dev/null +++ b/docs/assets/index.md.lQEv_vPG.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o}from"./chunks/framework.4X8dX8EZ.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SuperChats","text":"A Mais Poderosa Biblioteca Javascript para Automatizar Whatsapp","image":{"src":"/logo-big.svg","alt":"SuperChats logo"},"tagline":"Completa, Incrível e 100% Estável","actions":[{"theme":"brand","text":"Comprar Licença","link":"./introduction"},{"theme":"alt","text":"Documentação","link":"./introduction"}]},"features":[{"icon":"🖥","title":"Suporte Total","details":"Suporte por Ticket, Whatsapp e Acesso Remoto"},{"icon":"🌎","title":"Não Precisa de Browser","details":"Conexão através do socket do Whatsapp"},{"icon":"💯","title":"100% de Estabilidade","details":"Sem clashs ou bugs, pronta para produção"},{"icon":"💎","title":"Facilidade","details":"Roda em qualquer OS, Apenas com node 18"},{"icon":"⭕️","title":"Sem Limites","details":"Sem limites de uso ou travas"},{"icon":"💾","title":"Menor Consumo","details":"Menor consumo de memória e processamento"},{"icon":"📚","title":"Documentação Completa","details":"Toda documentada em português, inglês e espanhol"},{"icon":"🎉","title":"Updates Constantes","details":"Melhorias e atualizações constantes trazendo o que a de melhor no Whatsapp"}],"head":[["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:title","content":"Adocs"}],["meta",{"property":"og:image","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["meta",{"property":"og:url","content":"https://vitejs.dev/blog/announcing-vite3"}],["meta",{"name":"title","content":"Adocs"}],["meta",{"name":"twitter:card","content":"https://user-images.githubusercontent.com/62628408/200117602-4b274d14-b1b2-4f61-8dcd-9f9482c677a0.png"}],["link",{"rel":"icon","type":"image/svg","href":"logo.svg"}]]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"};function n(i,s,r,c,d,l){return o(),t("div")}const u=e(a,[["render",n]]);export{m as __pageData,u as default}; diff --git a/docs/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 b/docs/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2a687296748f6b8bc8076cd11bde49cd27e4442b GIT binary patch literal 28332 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 HNCp4^t1hY; literal 0 HcmV?d00001 diff --git a/docs/assets/inter-italic-cyrillic.-nLMcIwj.woff2 b/docs/assets/inter-italic-cyrillic.-nLMcIwj.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f64035158d7e4c01654e3f23dcd6e8299928a28c GIT binary patch literal 17824 zcmV(|K+(TGZYzoV0yihRy3;{L*Bm;yv3xXa1 z1Rw>42nQe=C3zL>7I?PUshK)MG!ta^L3b^d$O{#w!;WOi#caU z9epdi^~z}FXC1zMc;nw||B-~iJKZ7-`H(Kn3lKjZ5N5RqaHof~Lr#JsXW1jml58&> zQGi~|0cnL4zB|P8}0t5&U@c|JdMvNGlmzMw!d_sgsBSwh~ z<3uKERMdzOA;C{wc9u@*KWk~1ZrQFoOIvrA?XoRxnU;2`Lr2EaDbuDiOouv|*;F%- z#gKPJ>8fl=HUf*mFq&P*op#SRB5uMwrI5O=D|BV|t7*jYszMn6_y=vT5wbG)8zDBN(kmfH1b)al)=7_XtiK52#|ESncdAW0QK2HvRY`_;WiO>pz_-Xk zH!T)&YR`MAJa7J@pNA;Ve=XlUuY2Z4Y1bh`Bcza^p&9I}QLUiMj74g|4NyqjXq$hi zG1}j&v`P|}Bqr@5l@eV;qy>fq`v}SgHrfA#@*v!mV~$a+B6D&Jh-sRueXL+`%jr?vt30*Vq&Bs(79VL�!Z1%E;0yxE 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 literal 0 HcmV?d00001 diff --git a/docs/assets/inter-italic-latin-ext.RnFly65-.woff2 b/docs/assets/inter-italic-latin-ext.RnFly65-.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9c1b9440ed419d4a71ba46b0db3951164f9e10df GIT binary patch literal 63552 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 literal 0 HcmV?d00001 diff --git a/docs/assets/inter-italic-latin.27E69YJn.woff2 b/docs/assets/inter-italic-latin.27E69YJn.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..01fcf20724f915f68a974ef2fb85f86f3039b1d8 GIT binary patch literal 46048 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 literal 0 HcmV?d00001 diff --git a/docs/assets/inter-italic-vietnamese.xzQHe1q1.woff2 b/docs/assets/inter-italic-vietnamese.xzQHe1q1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e4f788ee02bb687bc1d5045483ff0d381e7654e0 GIT binary patch literal 8784 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 G0002QVTgqQ literal 0 HcmV?d00001 diff --git a/docs/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 b/docs/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..28593ccb8a4d849a746f2b970678fe426cb136e8 GIT binary patch literal 26600 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 literal 0 HcmV?d00001 diff --git a/docs/assets/inter-roman-cyrillic.jIZ9REo5.woff2 b/docs/assets/inter-roman-cyrillic.jIZ9REo5.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a20adc161f433a7c4e3d92306301b9228bcf9fb4 GIT binary patch literal 16780 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

KZ;k8ywA} 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 O1{o}0SRMEP0000Yp_Hru literal 0 HcmV?d00001 diff --git a/docs/assets/inter-roman-greek.Cb5wWeGA.woff2 b/docs/assets/inter-roman-greek.Cb5wWeGA.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f790e047daa346583880da2be470431e35aa6054 GIT binary patch literal 21776 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 De!(H( literal 0 HcmV?d00001 diff --git a/docs/assets/inter-roman-latin-ext.GZWE-KO4.woff2 b/docs/assets/inter-roman-latin-ext.GZWE-KO4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..715bd903b9b14d22a056f10e6d13b8d7e0acce57 GIT binary patch literal 59608 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

banner

O Que é o SuperChats?

Superchats é uma versão Premium do Venom, ela se conecta por socket é não depende de abrir um browser para consumir o whatsapp. Essa versão é estável e não sofre com alterações do whatsapp igual a versão opensource, possui nosso suporte é tem planos por períodos Mensal, Trimestral, Semestral e Anual.

Qual a Diferença do SuperChats e Venom Bot?

SuperChats é uma biblioteca pronta para produção com suporte completo, não é mantido por comunidade e não depende de esperas longas para concerto de qualquer bug ou atualização do Whatsapp. SuperChats não depende de abrir um browser ou injetar scripts para controlar as funções do Whatsapp, ela usa uma comunicação direta ao socket do Whatsapp Web tornando assim uma biblioteca leve, segura e estavél.

Existe Alguma Limitação?

O SuperChats não possuí nenhuma limitação, pode ser usado em varios projetos com uma única licença, como falado ACIMA, não depende de browser e muito rápido e estavél, pronto para ser colocado em produção em seus projetos.

Como Adquiro uma Licença?

Você pode adquirir sua licença agora Clicando Aqui! você será redirecionado para o nosso portal e lá conseguirá adquirir sua licença, pagando pelo método de pagamento escolhido, a licença é gerada após a confirmação do pagamento.

Tenho Suporte?

Sim, após adquirir sua licença você contará com um suporte completo por: Ticket, Whatsapp, Grupo de Suporte ou Email, contando com um suporte completo com um de nossos Devs, que estaram de prontidão para ajudar a esclarecer todas as suas dúvidas e solucionar qualquer problema relacionado a biblioteca SuperChats.

',11),i=[s];function n(u,c,p,d,l,m){return o(),e("div",null,i)}const q=a(t,[["render",n]]);export{b as __pageData,q as default}; diff --git a/docs/assets/introduction.md.6g_043d2.lean.js b/docs/assets/introduction.md.6g_043d2.lean.js new file mode 100644 index 0000000..3b4bc64 --- /dev/null +++ b/docs/assets/introduction.md.6g_043d2.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o,V as r}from"./chunks/framework.4X8dX8EZ.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"introduction.md","filePath":"introduction.md"}'),t={name:"introduction.md"},s=r("",11),i=[s];function n(u,c,p,d,l,m){return o(),e("div",null,i)}const q=a(t,[["render",n]]);export{b as __pageData,q as default}; diff --git a/docs/assets/multiples-sections.md.znOdqNtr.js b/docs/assets/multiples-sections.md.znOdqNtr.js new file mode 100644 index 0000000..88c484c --- /dev/null +++ b/docs/assets/multiples-sections.md.znOdqNtr.js @@ -0,0 +1,6 @@ +import{_ as s,c as i,o as a,V as e}from"./chunks/framework.4X8dX8EZ.js";const g=JSON.parse('{"title":"Seções","description":"","frontmatter":{},"headers":[],"relativePath":"multiples-sections.md","filePath":"multiples-sections.md"}'),t={name:"multiples-sections.md"},n=e(`

Seções

Multiplas Seções

Após executar a função create(), o Superchats criará uma instância do Whatsapp. Se você não estiver logado, um código QR será impresso no terminal. Digitalize-o com seu telefone e você estará pronto para começar! Os Superchats se lembrarão da sessão, portanto não há necessidade de autenticação sempre. Múltiplas sessões podem ser criadas ao mesmo tempo, passando um nome de sessão para a função create():

javascript
// Iniciar secão vendas
+
+superchats.create({session:'vendas', license: "asjdh-efddff734-sdsdf834-233272"}).then((salesClient) => {...});
+
+// Iniciar seção suporte
+superchats.create({session:'suporte', license: "asjdh-efddff734-sdsdf834-233272"}).then((supportClient) => {...});
`,4),h=[n];function l(p,k,r,o,d,E){return a(),i("div",null,h)}const u=s(t,[["render",l]]);export{g as __pageData,u as default}; diff --git a/docs/assets/multiples-sections.md.znOdqNtr.lean.js b/docs/assets/multiples-sections.md.znOdqNtr.lean.js new file mode 100644 index 0000000..fe0c9a7 --- /dev/null +++ b/docs/assets/multiples-sections.md.znOdqNtr.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as e}from"./chunks/framework.4X8dX8EZ.js";const g=JSON.parse('{"title":"Seções","description":"","frontmatter":{},"headers":[],"relativePath":"multiples-sections.md","filePath":"multiples-sections.md"}'),t={name:"multiples-sections.md"},n=e("",4),h=[n];function l(p,k,r,o,d,E){return a(),i("div",null,h)}const u=s(t,[["render",l]]);export{g as __pageData,u as default}; diff --git a/docs/assets/parameters-optionals.md.vlyisBiR.js b/docs/assets/parameters-optionals.md.vlyisBiR.js new file mode 100644 index 0000000..0f1f1c2 --- /dev/null +++ b/docs/assets/parameters-optionals.md.vlyisBiR.js @@ -0,0 +1,48 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const y=JSON.parse('{"title":"Parâmetros","description":"","frontmatter":{},"headers":[],"relativePath":"parameters-optionals.md","filePath":"parameters-optionals.md"}'),h={name:"parameters-optionals.md"},t=n(`

Parâmetros

Parâmetros Opcionais

Parâmetros opcionais são iniciados junto com a conexão como eventos de QRCODE and STATUSFIND, além de opções extras

javascript
const superchats = require("superchats");
+
+superchats.create({
+    session: "Marketing",
+    license: "asjdh-efddff734-sdsdf834-233272", // Licença válida para usar Superchats
+    welcomeScreen: true, // Mostrar ou ocultar boas-vindas no terminal
+    welcomeText: true, // Seta um novo nome para intro e Browser device
+    alwaysOn: true, // Marca o Chat como sempre online
+    autoRead?: true, // Ler todas as mensagens recebidas
+    nodata: true, // Não obtém todo o histórico do dispositivo (padrão = verdadeiro)
+    logQr: true, // (O padrão é verdadeiro) Registra QR automaticamente no terminal
+    qrcode: (sessionId, base64QR, asciiQR, urlCode) => {
+    console.log("sessionId: " + sessionId)
+    console.log("base64 image of qrcode: " + base64QR);
+    console.log("Terminal image of qrcode in caracter ascii: " + asciiQR);
+    console.log("Terminal string hash of qrcode: " + urlCode);
+     },
+    statusFind: (statusSession) => {
+    console.log("Status Session: ", statusSession);
+     },
+   syncHistory: (percent) => { // Receba o evento de porcentagem da sicronização de dados assim que contecta.
+    console.log(percent);
+     },
+    onMessage: (event) => { // Receba um evento sempre que receber uma mensagem de algum contato
+     console.log(event)
+     },
+    onAck: (event) => {    // Receba um status toda vez que enviar uma mensagem para algum contato: falhou, pendente, enviado, recebido ou lido
+     console.log(event)
+     },
+     onAnyMessage: (event) => {    // Receba eventos toda vez que enviar ou receber uma mensagem
+     console.log(event)
+     },
+    onPresence: (event) => { // Receba um evento sempre que um contato estiver: digitando, gravando, online ou offline com você
+     console.log(event)
+     },
+    onGroups: (event) => { // Receba eventos sempre que o nome de um grupo, as configurações forem alteradas
+     console.log(event)
+     },
+    onParticipants: (event) => { // Recebe eventos relacionados aos participantes do grupo como : quem entrou, saiu, promovido a admin ...
+     console.log(event)
+     },
+    onDelete: (event) => { // Recebe evento sempre quando uma mensagem é deletada para todos de algum chat
+     console.log(event)
+     },
+    onCall: (event) => { // Recebe evento todas vez que receber uma chamada de voz ou video
+     console.log(event)
+     },
+  })
`,4),k=[t];function l(e,p,E,r,d,o){return a(),i("div",null,k)}const c=s(h,[["render",l]]);export{y as __pageData,c as default}; diff --git a/docs/assets/parameters-optionals.md.vlyisBiR.lean.js b/docs/assets/parameters-optionals.md.vlyisBiR.lean.js new file mode 100644 index 0000000..551a703 --- /dev/null +++ b/docs/assets/parameters-optionals.md.vlyisBiR.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as n}from"./chunks/framework.4X8dX8EZ.js";const y=JSON.parse('{"title":"Parâmetros","description":"","frontmatter":{},"headers":[],"relativePath":"parameters-optionals.md","filePath":"parameters-optionals.md"}'),h={name:"parameters-optionals.md"},t=n("",4),k=[t];function l(e,p,E,r,d,o){return a(),i("div",null,k)}const c=s(h,[["render",l]]);export{y as __pageData,c as default}; diff --git a/docs/assets/send-message.md.x_OzM9Vu.js b/docs/assets/send-message.md.x_OzM9Vu.js new file mode 100644 index 0000000..d14750d --- /dev/null +++ b/docs/assets/send-message.md.x_OzM9Vu.js @@ -0,0 +1,363 @@ +import{_ as i,c as s,o as a,V as t}from"./chunks/framework.4X8dX8EZ.js";const g=JSON.parse('{"title":"Envio de Mensagem","description":"","frontmatter":{},"headers":[],"relativePath":"send-message.md","filePath":"send-message.md"}'),l={name:"send-message.md"},h=t(`

Envio de Mensagem

Criamos a maneira mais fácil de enviar mensagens com Superchats

Mensagens finais podem ser enviadas para o número do contato, exemplo: 5561985290357 ou para um ID de grupo, exemplo: 1581595404016312391

Enviar Texto

Parâmetros

Parâmetros opcionais de SendText

javascript
const options = {
+  reply: '3EB01A690E67' // parâmetro para responder mensagem
+}

Envio Simples

javascript
let response = await client.sendText("5561985290357", "Obrigado por usar Superchats!!!");

Fazer Menções a Contatos

Para mencionar um contato em uma mensagem, passe o @551199999999 usando o número do contato como no exemplo, podendo utilizar menções ilimitadas em uma unica mensagem.

javascript
let response = await client.sendText("5561985290357", "Olá @551199999999 como vai? nosso amigo @5511988888888 anda sumido hein?");

Responder uma Mensagem

Para responder a uma mensagem, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+
+let response = await client.sendText("5561985290357", "Responder à mensagem!!!", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'text',
+  isMedia: false,
+  id: 'KIZAKIXD9B79E2BC8475',
+  to: '556185290357',
+  content: { textMessage: { text: 'Obrigado por usar Superchats!!!' } },
+  isgroup: false,
+  timestamp: 1714497888
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'text',
+  message: 'message of erro'
+}

Enviar Imagem

Parâmetros

Parâmetros opcionais de SendImage

javascript
const options = {
+  reply: '3EB01A690E67', // parâmetro para responder mensagem
+  viewOnce: true, // parâmetro para envio de mensagem única
+}

Envio Simples

Para envio de imagens, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png");

Imagem com Texto

Para enviar uma imagem com texto, utilize o parâmetro options {caption: 'Meu texto'}, que é opcional.

javascript
const options = {
+  caption: 'Meu texto'
+}
+
+let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", options);

Fazer Menções a Contatos

Para enviar uma imagem com texto e menções, utilize o parâmetro options {caption: 'Meu texto @551199999999'}, que é opcional passando o @551199999999 usando o número do contato como no exemplo, podendo utilizar menções ilimitadas em uma unica mensagem de imagem.

javascript
const options = {
+  caption: '"Olá @551199999999 veja essa imagem e compartilhe com @5511988888888  que anda sumido."'
+}
+
+let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", options);

Responder uma Mensagem

Para responder a uma mensagem com imagem, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+
+let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", options);

Imagem com Visualização Única

Para enviar uma imagem visualização única, use o parâmetro options {viewOnce: true}, que é opcional.

javascript
const options = {
+  viewOnce: true
+}
+
+let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'image',
+  isMedia: true,
+  id: 'KIZAKIXD5785E3070D74',
+  to: '556185290357',
+  isgroup: false,
+  content: Message {
+    imageMessage: ImageMessage {
+      interactiveAnnotations: [],
+      scanLengths: [],
+      url: 'https://mmg.whatsapp.net/v/t62.7118-24/25270615_458846373224929_1269936098490414810_n.enc?ccb=11-4&oh=01_Q5AaIPI9U29lICyS2MULod54ott0rE5IEr8CArdKjrNkY6kA&oe=66589797&_nc_sid=5e03e0&mms3=true',
+      mimetype: 'image/jpeg',
+      fileSha256: <Buffer 11 ed 0d 21 f2 59 96 9a 65 cf 7e fa c1 57 a1 ee a2 c9 50 b4 0d 09 df df a8 9f e1 44 dd cf a6 a5>,
+      fileLength: [Long],
+      height: 214,
+      width: 818,
+      mediaKey: <Buffer 08 15 d8 05 ee 7d 20 91 4e c1 99 11 b3 7d b8 9c 84 74 5d 08 e9 e6 e2 1c b0 e4 0f 14 73 86 6f 91>,
+      fileEncSha256: <Buffer 09 a0 66 f5 d3 82 72 e4 20 99 2b 2b c3 4d 0d a9 11 ae 71 18 14 a9 42 44 5e ca cb 41 45 fe de 6a>,
+      directPath: '/v/t62.7118-24/25270615_458846373224929_1269936098490414810_n.enc?ccb=11-4&oh=01_Q5AaIPI9U29lICyS2MULod54ott0rE5IEr8CArdKjrNkY6kA&oe=66589797&_nc_sid=5e03e0',
+      mediaKeyTimestamp: [Long],
+      jpegThumbnail: <Buffer ff d8 ff db 00 43 00 10 0b 0c 0e 0c 0a 10 0e 0d 0e 12 11 10 13 18 28 1a 18 16 16 18 31 23 25 1d 28 3a 33 3d 3c 39 33 38 37 40 48 5c 4e 40 44 57 45 37 ... 294 more bytes>
+    }
+  },
+  participant: '',
+  timestamp: 1714498896
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'image',
+  message: 'message of erro'
+}

Enviar Sticker

Parâmetros

Parâmetros opcionais de SendSticker

javascript
const options = {
+  reply: '3EB01A690E67', // parâmetro para responder mensagem
+}

Envio Simples

Para envio de adesivos de imagem, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendSticker("5561985290357", "https://static-00.iconduck.com/assets.00/node-js-icon-454x512-nztofx17.png");

Para responder uma mensagem com adesivo de imagem, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+
+let response = await client.sendSticker("5561985290357", "https://static-00.iconduck.com/assets.00/node-js-icon-454x512-nztofx17.png", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'sticker',
+  isMedia: true,
+  id: 'KIZAKIXD29528BD80D26',
+  to: '556185290357',
+  isgroup: false,
+  content: Message {
+    stickerMessage: StickerMessage {
+      url: 'https://mmg.whatsapp.net/v/t62.7118-24/24265743_345128448578659_4510702101938416826_n.enc?ccb=11-4&oh=01_Q5AaIGMrAR78AxXkObTOR3fltIDMqLJUGxjElFnrJllVRii4&oe=6658AFCA&_nc_sid=5e03e0&mms3=true',
+      fileSha256: <Buffer ac b2 5f f4 af a4 2e 6d 9e 15 4a e7 58 c0 b3 0f df b6 0b 3f 27 cb 6c d9 55 dd 90 7f e8 92 b8 f7>,
+      fileEncSha256: <Buffer 63 9b b7 51 4d 2f 84 2b 11 fc c3 5e 2b bb 8c 4c 56 6b 27 24 30 13 ec 77 c0 01 52 2a 7d a3 d3 70>,
+      mediaKey: <Buffer 12 aa cc f7 b7 2f ff 90 e6 e4 cd 71 93 2e 94 65 01 d5 2a 5d cf 31 a4 87 6a 59 65 bf 66 6e c9 f6>,
+      mimetype: 'image/webp',
+      directPath: '/v/t62.7118-24/24265743_345128448578659_4510702101938416826_n.enc?ccb=11-4&oh=01_Q5AaIGMrAR78AxXkObTOR3fltIDMqLJUGxjElFnrJllVRii4&oe=6658AFCA&_nc_sid=5e03e0',
+      fileLength: [Long],
+      mediaKeyTimestamp: [Long]
+    }
+  },
+  participant: '',
+  timestamp: 1714500124
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'sticker',
+  message: 'message of erro'
+}

Enviar Video

Parâmetros

Parâmetros opcionais de SendVideo

javascript
const options = {
+  reply: '3EB01A690E67', // parâmetro para responder mensagem
+  viewOnce: true, // parâmetro para envio de mensagem única
+  ptv: true // parâmetro para envio de mensagem de video PTV
+}

Envio Simples

Para envio de vídeo, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", "Text optional");

Video com Texto

Para enviar um video com texto, utilize o parâmetro options {caption: 'Meu texto'}, que é opcional.

javascript
const options = {
+  caption: 'Meu texto'
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);

Fazer Menções a Contatos

Para enviar um video com texto e menções, utilize o parâmetro options {caption: 'Meu texto @551199999999'}, que é opcional passando o @551199999999 usando o número do contato como no exemplo, podendo utilizar menções ilimitadas em uma unica mensagem de video.

javascript
const options = {
+  caption: '"Olá @551199999999 veja esse video e compartilhe com @5511988888888 que anda sumido."'
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);

Responder uma Mensagem

Para responder a uma mensagem com video, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);

Video com Visualização Única

Para enviar um video com visualização única, use o parâmetro options {viewOnce: true}, que é opcional.

javascript
const options = {
+  viewOnce: true
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);

Video Estilo PTV

Para enviar um video estilo PTV, use o parâmetro options {ptv: true}, que é opcional.

javascript
const options = {
+  ptv: true
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'video',
+  isMedia: true,
+  id: 'KIZAKIXDC3EC9941831D',
+  to: '556185290357',
+  isgroup: false,
+  content: Message {
+    videoMessage: VideoMessage {
+      interactiveAnnotations: [],
+      url: 'https://mmg.whatsapp.net/v/t62.7161-24/30917007_1016185773462314_1667717879487066254_n.enc?ccb=11-4&oh=01_Q5AaINN4m-LST25bM3ilv2JDdtIDhFTecdLnIxMN98AL69r7&oe=6658B933&_nc_sid=5e03e0&mms3=true',
+      mimetype: 'video/mp4',
+      fileSha256: <Buffer 75 de 47 ac c8 b9 b5 c6 ef 56 56 6e eb 50 72 af c3 bd e0 a4 ff 4f f4 09 62 a4 b5 33 c1 26 db 46>,
+      fileLength: [Long],
+      mediaKey: <Buffer c1 3d 61 78 ce da d6 4e 3d 4d f3 27 bd 0a 3b 9f 5c 52 2a 1f 45 98 bf 57 f7 28 f1 f4 80 4d b2 39>,
+      fileEncSha256: <Buffer eb 44 32 7a 10 5a e7 4a c2 20 81 1a 8d 32 14 60 06 45 d8 02 24 51 8f ed 6c 2b 1e 6f 8d 57 f7 fe>,
+      directPath: '/v/t62.7161-24/30917007_1016185773462314_1667717879487066254_n.enc?ccb=11-4&oh=01_Q5AaINN4m-LST25bM3ilv2JDdtIDhFTecdLnIxMN98AL69r7&oe=6658B933&_nc_sid=5e03e0',
+      mediaKeyTimestamp: [Long],
+      jpegThumbnail: <Buffer ff d8 ff fe 00 0f 4c 61 76 63 36 30 2e 33 2e 31 30 30 00 ff db 00 43 00 08 04 04 04 04 04 05 05 05 05 05 05 06 06 06 06 06 06 06 06 06 06 06 06 06 07 ... 515 more bytes>
+    }
+  },
+  participant: '',
+  timestamp: 1714501077
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'video',
+  message: 'message of erro'
+}

Enviar Audio

Parâmetros

Parâmetros opcionais de SendAudio

javascript
const options = {
+  reply: '3EB01A690E67' // parâmetro para responder mensagem
+}

Envio Simples

Para envio de áudio, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendAudio("5561985290357", "https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3");

Responder uma Mensagem

Para responder uma mensagem com áudio, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+let response = await client.sendAudio("5561985290357", "https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'audio',
+  isMedia: true,
+  id: 'KIZAKIXDD47A012F369B',
+  to: '556185290357',
+  content: Message {
+    audioMessage: AudioMessage {
+      url: 'https://mmg.whatsapp.net/v/t62.7114-24/35304887_962160115296962_4043552676958593962_n.enc?ccb=11-4&oh=01_Q5AaILurgXMtkRNbB1v-2NA3TqM3M488f14yCz50KajQaOjE&oe=6658C1ED&_nc_sid=5e03e0&mms3=true',
+      mimetype: 'audio/ogg; codecs=opus',
+      fileSha256: <Buffer 23 f0 2d b4 39 18 e3 6e 4e 50 14 a8 01 6d 40 a6 24 b6 21 89 1c 9f 2f f9 cc 15 e0 42 93 59 1b 54>,
+      fileLength: [Long],
+      seconds: 348,
+      mediaKey: <Buffer 8d 46 11 b9 f8 fc b9 8f a7 bf cb 7c 45 ad cc 89 9a d5 e2 2e f5 bd 3d 60 1a 23 16 a1 21 3c 07 3f>,
+      fileEncSha256: <Buffer 28 2b d4 64 e4 69 5b 64 2f 3a 44 34 95 75 57 2e 53 fa 77 b4 bf 43 ac 83 6a 9a e6 d7 e3 fa a4 34>,
+      directPath: '/v/t62.7114-24/35304887_962160115296962_4043552676958593962_n.enc?ccb=11-4&oh=01_Q5AaILurgXMtkRNbB1v-2NA3TqM3M488f14yCz50KajQaOjE&oe=6658C1ED&_nc_sid=5e03e0',
+      mediaKeyTimestamp: [Long]
+    }
+  },
+  isgroup: false,
+  participant: '',
+  timestamp: 1714501517
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'audio',
+  message: 'message of erro'
+}

Enviar Audio de Voz

Para envio de áudio e voz, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendVoice("5561985290357", "https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3");

Responder uma Mensagem

Para responder uma mensagem com áudio de voz, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+let response = await client.sendVoice("5561985290357", "https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'voice',
+  id: '3EB072B039F6',
+  to: '556181590153',
+  content: '',
+  isgroup: false,
+  file: {
+    url: 'https://mmg.whatsapp.net/d/f/AjwRfBCBZ1XgeSLtdVTr96lMJO5CtZtjCi0HpNjEctDW.enc',
+    mimetype: 'audio/ogg; codecs=opus',
+    fileSha256: <Buffer fa 28 20 25 6f 2c d3 f2 df 03 fa 24 7d 7b 01 e7 9d 3f e7 94 34 4a ad ce a0 8c ee 06 bc ce 3c 94>,
+    fileLength: Long { low: 764176, high: 0, unsigned: true },
+    seconds: 27,
+    mediaKey: <Buffer ad f9 19 91 76 08 28 59 63 b2 be 43 13 8d 68 5b d3 90 e7 93 6d 32 29 5e e8 b5 b9 cb 37 76 d6 27>,
+    fileEncSha256: <Buffer ab d4 0e 48 ca 4c 1e 47 86 02 50 3f 0d 87 aa 7f a7 82 ac ff eb 8d 1f ac f1 f8 6d da 36 1e ba e4>,
+    directPath: ''
+  },
+  participant: '',
+  timestamp: 1633111077
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'voice',
+  message: 'message of erro'
+}

Enviar Arquivos

Para envio de documentos, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendDocument("5561985290357", "http://www.orimi.com/pdf-test.pdf", "Filename Optional");

Para responder uma mensagem com documento, utilize o id da mensagem que deseja responder no último parâmetro, que é opcional.

javascript
let response = await client.sendDocument("5561985290357", "http://www.orimi.com/pdf-test.pdf", "Filename Optional", '3EB01A690E67');
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'document',
+  id: '3EB07C8C333C',
+  to: '556181590153',
+  isgroup: false,
+  file: {
+    url: 'https://mmg.whatsapp.net/d/f/ArJfVUhnzdW7qcBk8-T-mzRWsfMN6k_WOS81td_xJs6E.enc',
+    mimetype: 'application/pdf',
+    filename: 'Filename Optional',
+    fileSha256: <Buffer f6 ed cd 8a 1b 4f 7c b8 54 86 d0 c6 77 7f 91 74 ea db c4 d1 d0 d9 e5 ae ba 71 32 f3 0b 34 bc 3e>,
+    fileLength: Long { low: 20597, high: 0, unsigned: true },
+    mediaKey: <Buffer 1b 7d 59 ce fa 4b 3f 35 14 ca 36 1b bd ba f7 c7 ed 6a f7 3d ea c1 04 b0 7c a1 6b d4 4a ab 33 40>,
+    fileEncSha256: <Buffer 37 db ac 7a aa f5 c2 aa 13 c6 ec 18 9f 32 d7 5b 8a b3 0d fc 50 4f 9c ea aa 2f 8c ed 20 c9 f5 b0>,
+    directPath: '',
+    thumbnail: <Buffer >
+  },
+  participant: '',
+  timestamp: 1633121433
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'document',
+  message: 'message of erro'
+}

Enviar Localização

javascript
let response = await client.sendLocation("5561985290357", -15.8413105, -48.0270346, 'Titulo Opcional', 'endereço opcional');

Para responder uma mensagem com localização, utilize o id da mensagem que deseja responder no último parâmetro, que é opcional.

javascript
let response = await client.sendLocation("5561985290357", -15.8413105, -48.0270346, 'title optional', 'address optional', '3EB01A690E67');
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'location',
+  id: '3EB01A3D9A34',
+  to: '556181590153',
+  name: 'title optional',
+  address: 'address optional',
+  url: '',
+  thumbnail: <Buffer >,
+  latitude: -15.8413105,
+  longitude: -48.0270346,
+  isgroup: false,
+  participant: '',
+  timestamp: 1633122748
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'location',
+  message: 'message of erro'
+}

Enviar Contato

javascript
let response = await client.sendContact("5561985290357",'Name of Contact', '15815954040');

Para responder uma mensagem com contato, utilize o id da mensagem que deseja responder no último parâmetro, que é opcional.

javascript
let response = await client.sendContact("5561985290357",'Nome do Contato', '15815954040', '3EB01A690E67');
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'contact',
+  id: '3EB00AFB1F60',
+  to: '556181590153',
+  display: 'Name of Contact',
+  vcard: 'BEGIN:VCARD\\n' +
+    'VERSION:3.0\\n' +
+    'FN:Name of Contact\\n' +
+    'TEL;type=CELL;type=VOICE;waid=15815954040:+15815954040\\n' +
+    'END:VCARD',
+  isgroup: false,
+  timestamp: 1633128149
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'contact',
+  message: 'message of erro'
+}

Enviar Lista

Atenção! Esta função não funciona se estiver conectado a uma conta do WhatsApp Business

javascript

+   const sections = [
+        {
+          title: "Bovina",
+          rows: [
+            { title: "Fraudinha", rowId: "carnes1" },
+            { title: "Alcatra", rowId: "carnes2", description: "Carne boa" },
+          ],
+        },
+        {
+          title: "Suina",
+          rows: [
+            { title: "Costelinha", rowId: "carnes3" },
+            {
+              title: "Picanha Suina",
+              rowId: "carnes4",
+              description: "Carne boa",
+            },
+          ],
+        },
+      ];
+  // Número do contato, nome do botão, matriz de seções, título, descrição: opcional, rodapé: opcional
+  let response = await client.sendList(
+        "5561985290357",
+        "Escolha a Carne",
+        sections,
+        "Escolha 1 tipo de carne",
+        "", //Descrição Opcional
+        "Qual o tipo de carne vai na sua refeição?"
+      );

Para responder uma mensagem com botões, utilize o id da mensagem que deseja responder no último parâmetro, que é opcional.

javascript
  // Número do contato, nome do botão, array de seções, título, descrição: opcional, rodapé: opcional, id da mensagem para resposta
+  let response = await const response = await client.sendList(
+        "5561985290357",
+        "Escolha a Carne",
+        sections,
+        "Escolha 1 tipo de carne",
+        "", //Descrição opcional
+        "Qual o tipo de carne vai na sua refeição?",
+        "3EB01A690E67"
+      );
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'list',
+  id: '3EB0F92B3F1D',
+  to: '556181590153',
+  description: 'Descrição opcional',
+  btnName: 'Nome do Butão',
+  sections: [ Section { rows: [Array], title: 'Nome da Secão' } ],
+  isgroup: false,
+  timestamp: 1633143340
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'list',
+  message: 'message of erro'
+}

Enviar Reação

Para reagir a uma mensagem, você pode usar qualquer Emoji

javascript

+  // Número do contato, Emoji, id da mensagem
+  let response = await client.sendReaction(
+        "5561985290357",
+        "👍",
+        "3EB01A690E67"
+      );
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'reaction',
+  id: '3EB0F92B3F1D',
+  to: '556181590153',
+  text: '👍',
+  isgroup: false,
+  timestamp: 1633143340
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'reaction',
+  message: 'message of erro'
+}
`,146),n=[h];function k(e,p,r,d,E,o){return a(),s("div",null,n)}const c=i(l,[["render",k]]);export{g as __pageData,c as default}; diff --git a/docs/assets/send-message.md.x_OzM9Vu.lean.js b/docs/assets/send-message.md.x_OzM9Vu.lean.js new file mode 100644 index 0000000..8037341 --- /dev/null +++ b/docs/assets/send-message.md.x_OzM9Vu.lean.js @@ -0,0 +1 @@ +import{_ as i,c as s,o as a,V as t}from"./chunks/framework.4X8dX8EZ.js";const g=JSON.parse('{"title":"Envio de Mensagem","description":"","frontmatter":{},"headers":[],"relativePath":"send-message.md","filePath":"send-message.md"}'),l={name:"send-message.md"},h=t("",146),n=[h];function k(e,p,r,d,E,o){return a(),s("div",null,n)}const c=i(l,[["render",k]]);export{g as __pageData,c as default}; diff --git a/docs/assets/status-connection.md.4-X4ebZt.js b/docs/assets/status-connection.md.4-X4ebZt.js new file mode 100644 index 0000000..2a79f64 --- /dev/null +++ b/docs/assets/status-connection.md.4-X4ebZt.js @@ -0,0 +1 @@ +import{_ as t,c as e,o,V as d}from"./chunks/framework.4X8dX8EZ.js";const m=JSON.parse('{"title":"Status de Conexão","description":"","frontmatter":{},"headers":[],"relativePath":"status-connection.md","filePath":"status-connection.md"}'),a={name:"status-connection.md"},c=d('

Status de Conexão

Callback do StatusFind

Obtenha feedback de conexão seguindo os códigos:

StatusCondições
isLoggedQuando o cliente já possui um token válido e não precisará ler o qrcode novamente
notLoggedQuando o cliente não possui um token válido e precisa ler o código QR novamente
isDisconnectedO cliente desconectou ou foi desconectado
isLogoutO cliente desconectou e removeu o token do dispositivo
isConnectedO cliente conectou a lista com sucesso
serverDisconnectedDesconectado do servidor de socket do Whatsapp
isReconnectedNotifica que foi reconectado novamente a uma conexão
',4),n=[c];function s(i,r,u,l,_,h){return o(),e("div",null,n)}const f=t(a,[["render",s]]);export{m as __pageData,f as default}; diff --git a/docs/assets/status-connection.md.4-X4ebZt.lean.js b/docs/assets/status-connection.md.4-X4ebZt.lean.js new file mode 100644 index 0000000..e77072c --- /dev/null +++ b/docs/assets/status-connection.md.4-X4ebZt.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o,V as d}from"./chunks/framework.4X8dX8EZ.js";const m=JSON.parse('{"title":"Status de Conexão","description":"","frontmatter":{},"headers":[],"relativePath":"status-connection.md","filePath":"status-connection.md"}'),a={name:"status-connection.md"},c=d("",4),n=[c];function s(i,r,u,l,_,h){return o(),e("div",null,n)}const f=t(a,[["render",s]]);export{m as __pageData,f as default}; diff --git a/docs/assets/style.FHx-_2FG.css b/docs/assets/style.FHx-_2FG.css new file mode 100644 index 0000000..f142a78 --- /dev/null +++ b/docs/assets/style.FHx-_2FG.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic";@import"https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic";@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.jIZ9REo5.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.Cb5wWeGA.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.9JiNzaSO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.bvIUbFQP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.GZWE-KO4.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.paY3CzEB.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.-nLMcIwj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.PSfer2Kc.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.hznxWNZO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.27E69YJn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.RnFly65-.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.xzQHe1q1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{margin:auto}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-c79a1216]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}.NotFound[data-v-f87ff6e4]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-f87ff6e4]{padding:96px 32px 168px}}.code[data-v-f87ff6e4]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-f87ff6e4]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-f87ff6e4]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-f87ff6e4]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-f87ff6e4]{padding-top:20px}.link[data-v-f87ff6e4]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-f87ff6e4]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b933a997]{position:relative;z-index:1}.nested[data-v-b933a997]{padding-right:16px;padding-left:16px}.outline-link[data-v-b933a997]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-b933a997]:hover,.outline-link.active[data-v-b933a997]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b933a997]{padding-left:13px}.VPDocAsideOutline[data-v-935f8a84]{display:none}.VPDocAsideOutline.has-outline[data-v-935f8a84]{display:block}.content[data-v-935f8a84]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-935f8a84]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-935f8a84]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7e05ebdb]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7e05ebdb]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-48f9bb55]{margin-top:64px}.edit-info[data-v-48f9bb55]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-48f9bb55]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-48f9bb55]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-48f9bb55]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-48f9bb55]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-48f9bb55]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-48f9bb55]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-48f9bb55]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-48f9bb55]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-48f9bb55]{margin-left:auto;text-align:right}.desc[data-v-48f9bb55]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-48f9bb55]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-39a288b8]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-39a288b8]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-39a288b8]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-39a288b8]{display:flex;justify-content:center}.VPDoc .aside[data-v-39a288b8]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{max-width:1104px}}.container[data-v-39a288b8]{margin:0 auto;width:100%}.aside[data-v-39a288b8]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-39a288b8]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-39a288b8]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-39a288b8]::-webkit-scrollbar{display:none}.aside-curtain[data-v-39a288b8]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-39a288b8]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-39a288b8]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-39a288b8]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-39a288b8]{order:1;margin:0;min-width:640px}}.content-container[data-v-39a288b8]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-39a288b8]{max-width:688px}.VPButton[data-v-cad61b99]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-cad61b99]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-cad61b99]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-cad61b99]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-cad61b99]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-cad61b99]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-cad61b99]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-cad61b99]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-cad61b99]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-cad61b99]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-cad61b99]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-cad61b99]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-cad61b99]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-8426fc1a]{display:none}.dark .VPImage.light[data-v-8426fc1a]{display:none}.VPHero[data-v-303bb580]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-303bb580]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-303bb580]{flex-direction:row}}.main[data-v-303bb580]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-303bb580]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-303bb580]{text-align:left}}@media (min-width: 960px){.main[data-v-303bb580]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-303bb580]{max-width:592px}}.name[data-v-303bb580],.text[data-v-303bb580]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0 auto}.name[data-v-303bb580]{color:var(--vp-home-hero-name-color)}.clip[data-v-303bb580]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-303bb580],.text[data-v-303bb580]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-303bb580],.text[data-v-303bb580]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0}}.tagline[data-v-303bb580]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-303bb580]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-303bb580]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-303bb580]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-303bb580]{margin:0}}.actions[data-v-303bb580]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-303bb580]{justify-content:center}@media (min-width: 640px){.actions[data-v-303bb580]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-303bb580]{justify-content:flex-start}}.action[data-v-303bb580]{flex-shrink:0;padding:6px}.image[data-v-303bb580]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-303bb580]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-303bb580]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-303bb580]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-303bb580]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-303bb580]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-303bb580]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-303bb580]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-303bb580]{width:320px;height:320px}}[data-v-303bb580] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-303bb580] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-303bb580] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-33204567]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-33204567]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-33204567]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-33204567]>.VPImage{margin-bottom:20px}.icon[data-v-33204567]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-33204567]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-33204567]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-33204567]{padding-top:8px}.link-text-value[data-v-33204567]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-33204567]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-a6181336]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-a6181336]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-a6181336]{padding:0 64px}}.container[data-v-a6181336]{margin:0 auto;max-width:1152px}.items[data-v-a6181336]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-a6181336]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336]{width:50%}.item.grid-3[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-a6181336]{width:25%}}.VPHome[data-v-c71b6826]{padding-bottom:96px}.VPHome[data-v-c71b6826] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-c71b6826]{padding-bottom:128px}}.VPContent[data-v-1428d186]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-1428d186]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-1428d186]{margin:0}@media (min-width: 960px){.VPContent[data-v-1428d186]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-1428d186]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-1428d186]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-e315a0ad]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-e315a0ad]{display:none}.VPFooter[data-v-e315a0ad] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e315a0ad] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e315a0ad]{padding:32px}}.container[data-v-e315a0ad]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e315a0ad],.copyright[data-v-e315a0ad]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-af18c0d5]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-af18c0d5]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-af18c0d5]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-af18c0d5]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-af18c0d5]{color:var(--vp-c-text-1)}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-af18c0d5]{font-size:14px}}.icon[data-v-af18c0d5]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}.open>.icon[data-v-af18c0d5]{transform:rotate(90deg)}.items[data-v-af18c0d5]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-af18c0d5]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-af18c0d5]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-af18c0d5]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-af18c0d5]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-af18c0d5]{transition:all .2s ease-out}.flyout-leave-active[data-v-af18c0d5]{transition:all .15s ease-in}.flyout-enter-from[data-v-af18c0d5],.flyout-leave-to[data-v-af18c0d5]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-0282ae07]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-0282ae07]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-0282ae07]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-0282ae07]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-0282ae07]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-0282ae07]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-0282ae07]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-0282ae07]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-0282ae07]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-0282ae07]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-0282ae07]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-0282ae07]{display:none}}.menu-icon[data-v-0282ae07]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-0282ae07]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-0282ae07]{padding:12px 32px 11px}}.VPSwitch[data-v-b1685198]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-b1685198]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-b1685198]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-b1685198]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-b1685198] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-b1685198] svg{fill:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-1736f215]{opacity:1}.moon[data-v-1736f215],.dark .sun[data-v-1736f215]{opacity:0}.dark .moon[data-v-1736f215]{opacity:1}.dark .VPSwitchAppearance[data-v-1736f215] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-e6aabb21]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-e6aabb21]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-43f1e123]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-43f1e123]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-43f1e123]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-43f1e123]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e7ea1737]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-9c007e85]{position:relative}.VPFlyout[data-v-9c007e85]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-9c007e85]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-9c007e85]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-9c007e85]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-9c007e85]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-9c007e85],.button[aria-expanded=true]+.menu[data-v-9c007e85]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-9c007e85]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-9c007e85]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-9c007e85]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-9c007e85]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-9c007e85]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-9c007e85]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-9c007e85]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-f80f8133]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-f80f8133]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-f80f8133]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarExtra[data-v-d0bd9dde]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-d0bd9dde]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-d0bd9dde]{display:none}}.trans-title[data-v-d0bd9dde]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-d0bd9dde],.item.social-links[data-v-d0bd9dde]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-d0bd9dde]{min-width:176px}.appearance-action[data-v-d0bd9dde]{margin-right:-2px}.social-links-list[data-v-d0bd9dde]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-42ef59de]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-42ef59de],.VPNavBarMenuLink[data-v-42ef59de]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.title[data-v-ab179fa1]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-ab179fa1]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-ab179fa1]{border-bottom-color:var(--vp-c-divider)}}[data-v-ab179fa1] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-74abcbb9]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-74abcbb9]{display:flex;align-items:center}}.title[data-v-74abcbb9]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-19c990f1]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:transparent}.VPNavBar[data-v-19c990f1]:not(.has-sidebar):not(.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-19c990f1]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-19c990f1]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-19c990f1]{padding:0}}.container[data-v-19c990f1]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-19c990f1],.container>.content[data-v-19c990f1]{pointer-events:none}.container[data-v-19c990f1] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-19c990f1]{max-width:100%}}.title[data-v-19c990f1]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-19c990f1]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-19c990f1]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-19c990f1]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-19c990f1]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-19c990f1]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.top) .content-body[data-v-19c990f1]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-19c990f1]{column-gap:.5rem}}.menu+.translations[data-v-19c990f1]:before,.menu+.appearance[data-v-19c990f1]:before,.menu+.social-links[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before,.appearance+.social-links[data-v-19c990f1]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before{margin-right:16px}.appearance+.social-links[data-v-19c990f1]:before{margin-left:16px}.social-links[data-v-19c990f1]{margin-right:-8px}.divider[data-v-19c990f1]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-19c990f1]{width:100%;height:1px;transition:background-color .5s}.VPNavBar.has-local-nav .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.top) .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.top) .divider[data-v-19c990f1]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2d7af913]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-2d7af913]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-05f27b2a]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-05f27b2a]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-19976ae1]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-19976ae1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-65ef89ca]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-65ef89ca]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-65ef89ca]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-65ef89ca]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-65ef89ca]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-65ef89ca]{transform:rotate(45deg)}.button[data-v-65ef89ca]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-65ef89ca]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-65ef89ca]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-65ef89ca]:first-child{padding-top:0}.group+.group[data-v-65ef89ca],.group+.item[data-v-65ef89ca]{padding-top:4px}.VPNavScreenTranslations[data-v-d72aa483]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-d72aa483]{height:auto}.title[data-v-d72aa483]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-d72aa483]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-d72aa483]{margin-right:8px}.icon.chevron[data-v-d72aa483]{margin-left:4px}.list[data-v-d72aa483]{padding:4px 0 0 24px}.link[data-v-d72aa483]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-cc5739dd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-cc5739dd],.VPNavScreen.fade-leave-active[data-v-cc5739dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-cc5739dd],.VPNavScreen.fade-leave-active .container[data-v-cc5739dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-cc5739dd],.VPNavScreen.fade-leave-to[data-v-cc5739dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-cc5739dd],.VPNavScreen.fade-leave-to .container[data-v-cc5739dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-cc5739dd]{display:none}}.container[data-v-cc5739dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-cc5739dd],.menu+.appearance[data-v-cc5739dd],.translations+.appearance[data-v-cc5739dd]{margin-top:24px}.menu+.social-links[data-v-cc5739dd]{margin-top:16px}.appearance+.social-links[data-v-cc5739dd]{margin-top:16px}.VPNav[data-v-ae24b3ad]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-ae24b3ad]{position:fixed}}.VPSidebarItem.level-0[data-v-e31bd47b]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-e31bd47b]{padding-bottom:10px}.item[data-v-e31bd47b]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-e31bd47b]{cursor:pointer}.indicator[data-v-e31bd47b]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-e31bd47b]{background-color:var(--vp-c-brand-1)}.link[data-v-e31bd47b]{display:flex;align-items:center;flex-grow:1}.text[data-v-e31bd47b]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-e31bd47b]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-e31bd47b],.VPSidebarItem.level-2 .text[data-v-e31bd47b],.VPSidebarItem.level-3 .text[data-v-e31bd47b],.VPSidebarItem.level-4 .text[data-v-e31bd47b],.VPSidebarItem.level-5 .text[data-v-e31bd47b]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-e31bd47b]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.caret[data-v-e31bd47b]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-e31bd47b]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-e31bd47b]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-e31bd47b]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-e31bd47b]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-e31bd47b],.VPSidebarItem.level-2 .items[data-v-e31bd47b],.VPSidebarItem.level-3 .items[data-v-e31bd47b],.VPSidebarItem.level-4 .items[data-v-e31bd47b],.VPSidebarItem.level-5 .items[data-v-e31bd47b]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-e31bd47b]{display:none}.VPSidebar[data-v-575e6a36]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-575e6a36]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-575e6a36]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-575e6a36]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-575e6a36]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-575e6a36]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-575e6a36]{outline:0}.group+.group[data-v-575e6a36]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-575e6a36]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-0f60ec36]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-0f60ec36]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-0f60ec36]{top:14px;left:16px}}.Layout[data-v-5d98c3a5]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-96bd69d5]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-96bd69d5]{margin:0 auto;max-width:1152px}.love[data-v-96bd69d5]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-96bd69d5]{width:28px;height:28px;fill:currentColor}.message[data-v-96bd69d5]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-96bd69d5]{padding-top:32px}.action[data-v-96bd69d5]{padding-top:40px;text-align:center}.VPTeamPage[data-v-10b00018]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-10b00018]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-10b00018-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-10b00018-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:96px}}.VPTeamMembers[data-v-10b00018-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-10b00018-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-10b00018-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-b1a88750]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-0d3d0d4d]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-0d3d0d4d]{padding:32px}.VPTeamMembersItem.small .data[data-v-0d3d0d4d]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-0d3d0d4d]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-0d3d0d4d]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-0d3d0d4d]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-0d3d0d4d]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-0d3d0d4d]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-0d3d0d4d]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-0d3d0d4d]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-0d3d0d4d]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-0d3d0d4d]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-0d3d0d4d]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-0d3d0d4d]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-0d3d0d4d]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-0d3d0d4d]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-0d3d0d4d]{text-align:center}.avatar[data-v-0d3d0d4d]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-0d3d0d4d]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-0d3d0d4d]{margin:0;font-weight:600}.affiliation[data-v-0d3d0d4d]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-0d3d0d4d]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-0d3d0d4d]:hover{color:var(--vp-c-brand-1)}.desc[data-v-0d3d0d4d]{margin:0 auto}.desc[data-v-0d3d0d4d] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-0d3d0d4d]{display:flex;justify-content:center;height:56px}.sp-link[data-v-0d3d0d4d]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-0d3d0d4d]:hover,.sp .sp-link.link[data-v-0d3d0d4d]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-0d3d0d4d]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6cb0dbc4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6cb0dbc4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6cb0dbc4]{max-width:876px}.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6cb0dbc4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6cb0dbc4]{max-width:760px}.container[data-v-6cb0dbc4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-brand: #e9204f;--vp-c-brand-light: #be163d;--vp-c-brand-lighter: #a11536;--vp-c-brand-lighter: #c1294c;--vp-c-brand-dark: #f5164a;--vp-c-brand-darker: #e7486d;--vp-button-brand-bg: #e9204f;--vp-button-brand-hover-bg: #bd0d36;--docsearch-primary-color: #f5164a;--vp-home-hero-name-color:#f5164a;--vp-c-sponsor: #bd0d36;--vp-font-family-base: "Space Grotesk", "Inter var experimental", "Inter var", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New", monospace}.custom-layout{background-color:var(--vp-c-bg-soft);color:var(--vp-c-text-1);padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;min-height:400px;max-width:1152px;margin:6rem auto 0;border-radius:10px}.custom-layout h1{font-size:2.2rem;font-weight:600}.custom-layout .btn{background-color:var(--vp-button-brand-bg);color:var(--vp-button-brand-text);border-radius:20px;padding:.5rem 1.4rem}.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-3db96182]{color:#e9204f} diff --git a/docs/callbacks.html b/docs/callbacks.html new file mode 100644 index 0000000..fbddaf5 --- /dev/null +++ b/docs/callbacks.html @@ -0,0 +1,141 @@ + + + + + + Eventos Callbacks | SuperChats + + + + + + + + + + + + + +
Skip to content

Eventos Callbacks

Acompanhe cada evento no momento em que acontece

Evento de Recebimento de Mensagens


Receba um evento sempre que receber uma mensagem de algum contato

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onMessage: (event) => {
+     console.log(event)
+})

Retorno do evento onMessage

javascript
{
+  session: 'Marketing',
+  type: 'text',
+  id: '3EB07A5B9979E8CB453A',
+  from: '556181590153',
+  content: 'oiii',
+  isgroup: false,
+  participant: '',
+  timestamp: 1633414066
+}

Evento de Mensgens Enviadas


Receba um evento toda vez que enviar uma mensagem para algum contato com os estados de: ffailed, pending, sent, received or read

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onAck: (event) => {
+     console.log(event)
+})

Retorno do evento onAck

javascript
{
+  session: 'Marketing',
+  status: 'RECEIVED',
+  type: 'text',
+  id: '3EB02BC6217B',
+  to: '556181590153',
+  text: 'Hii',
+  isgroup: false,
+  timestamp: 1633414317
+}

Evento de Presença


Receba um evento sempre que um contato estiver: digitando, gravando, online ou offline com você
Tipos do status: available, composing, recording e paused

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onPresence: (event) => {
+     console.log(event)
+})

Retorno do evento onPresence

javascript
{
+  session: 'Marketing',
+  from: '556181590153',
+  status: 'composing',
+  pushname: 'Joe Dutra'
+}

Eventos de Grupo


Receba eventos sempre que o nome de um grupo, as configurações forem alteradas
Tipos de retorno: change-name, change-messages-admin, change-settings-admin e paused

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onGroups: (event) => {
+     console.log(event)
+})

Retorno do evento onGroup

Mudar Nome do Grupo
javascript
{
+  session: 'Marketing',
+  action: 'change-name',
+  changed: [ 'Grupo Live', 'Teste Grupo Live' ],
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '15795662985',
+  participants: 3
+}
Alterações de grupo para mensagens apenas para administradores
javascript
{
+  session: 'Marketing',
+  action: 'change-messages-admin',
+  changed: 'active',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '15795662985',
+  participants: 3
+}
Alterações de grupo nas configurações apenas para administradores
javascript
{
+  session: 'Marketing',
+  action: 'change-settings-admin',
+  changed: 'active',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '15795662985',
+  participants: 3
+}

Eventos de Participantes


Receba eventos sobre participantes do grupo

Types of action: add, remove, promote and demote

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onParticipants: (event) => {
+     console.log(event)
+})

Retorno do evento onParticipants

Participantes Adicionado
javascript
{
+  session: 'Marketing',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '5521991977392',
+  action: 'add',
+  participants: 3
+}
Participantes Removidos
javascript
{
+  session: 'Marketing',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '5521991977392',
+  action: 'remove',
+  participants: 2
+}
Participantes Promovidos
javascript
{
+  session: 'Marketing',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '5521991977392',
+  action: 'promote',
+  participants: 3
+}
Participantes Removidos
javascript
{
+  session: 'Marketing',
+  group: 'Grupo Live',
+  from: '15795662985-1631581942',
+  participant: '5521991977392',
+  action: 'demote',
+  participants: 3
+}

Evento Mensagens Deletadas


Receba eventos sempre que uma mensagem for excluída

javascript
//event:any
+const client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  onDelete: (event) => {
+     console.log(event)
+})

Retorno do evento onDelete

javascript
{
+  session: 'Marketing',
+  type: 'message-delete',
+  from: '15795662985-1631581942',
+  id: '3EB07E88FDCF1C4EF887',
+  timestamp: 1633453902
+}

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/cover-docs.png b/docs/cover-docs.png deleted file mode 100644 index 2f53068719a4ba8579e6efa94aaf175723072651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135884 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%0A;%`L5@BzDeBdw-YX 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 diff --git a/docs/download-save-file.html b/docs/download-save-file.html new file mode 100644 index 0000000..bd04c34 --- /dev/null +++ b/docs/download-save-file.html @@ -0,0 +1,60 @@ + + + + + + Download de Midias | SuperChats + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/en/about.html b/docs/en/about.html new file mode 100644 index 0000000..1552edd --- /dev/null +++ b/docs/en/about.html @@ -0,0 +1,28 @@ + + + + + + About | SuperChats + + + + + + + + + + + + + +
Skip to content

About

Welcome to the about page.

This markdown supports html elements like the p tag coupled with inline styles

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.

Even satire code snippets with syntax highlighting are also supported. 😅

js
const lang = prompt("What is your favorite programming language?");
+
+(lang === "JavaScript") | (lang === "javascript") | (lang === "js")
+  ? alert("JavaScript to the world! 🚀🟡")
+  : alert(`We don't permit such languages here 💩`);

Of course, images are not left out.

adocs logo

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/en/configs.html b/docs/en/configs.html new file mode 100644 index 0000000..2410c39 --- /dev/null +++ b/docs/en/configs.html @@ -0,0 +1,24 @@ + + + + + + Configs | SuperChats + + + + + + + + + + + + + +
Skip to content

Configs

Welcome to the config page

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/en/contact.html b/docs/en/contact.html new file mode 100644 index 0000000..6331df2 --- /dev/null +++ b/docs/en/contact.html @@ -0,0 +1,24 @@ + + + + + + Contact | SuperChats + + + + + + + + + + + + + +
Skip to content

Contact

Welcome to the contact page

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/en/get-started.html b/docs/en/get-started.html new file mode 100644 index 0000000..717c84f --- /dev/null +++ b/docs/en/get-started.html @@ -0,0 +1,24 @@ + + + + + + Get Started | SuperChats + + + + + + + + + + + + + +
Skip to content

Get Started

Here's how to get started with VitePress

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/en/index.html b/docs/en/index.html new file mode 100644 index 0000000..f775b67 --- /dev/null +++ b/docs/en/index.html @@ -0,0 +1,31 @@ + + + + + + SuperChats + + + + + + + + + + + + + + + + + + + + +
Skip to content

SuperChats

A Mais Poderosa Biblioteca Javascript para Automatizar Whatsapp

Completa, Incrível e 100% Estável

SuperChats logo

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/en/introduction.html b/docs/en/introduction.html new file mode 100644 index 0000000..294bcf5 --- /dev/null +++ b/docs/en/introduction.html @@ -0,0 +1,217 @@ + + + + + + How to build modern docs with VitePress | SuperChats + + + + + + + + + + + + + +
Skip to content

banner

How to build modern docs with VitePress

INFO

Documentation is a crucial aspect of software development that is often neglected by developers due to the hassle of maintaining one, or even choosing the right tools to use. This is why it's important to use tools that simplify this process. In this tutorial, you'll learn how to build a complete docs site quickly by utilizing a modern tool called, VitePress.

Definition

VitePress is a simple and performant static site generator built on top of Vite for creating docs in a matter of minutes. It is powered by Vuejs, and Vite with built in customizable components. VitePress powers some popular documentation sites like Vuejs, Vitest, faker.js, and Vite itself.

Prerequisites

To follow along with this tutorial, you need to have a basic understanding of the following:

  • Markdown syntax
  • Brief understanding of NPM and Vite

Here's a screenshot of what you'll be building at the end of this tutorial.

final-works

Step. 1: Create a new project

If you already have a folder created, you can skip this step to the next one if not, use the following command to create a project folder and move into the folder.

bash
mkdir project-name
+cd project-name

Next you need to initialize with your preferred package manager. I'll be using NPM for the rest of this guide.

bash
npm init
+// or use this command if you want to skip all the questions
+npm init -y

If you used the first command, you'll be prompted with certain questions, complete them as appropriate. After a successful operation, you should have a package.json file in your root directory; This is where the VitePress dev dependency will be installed.

Step. 2: Install VitePress

Next step is to add VitePress and Vue as dev dependencies to your project.

bash
npm install vue vitepress --save-dev
+// or
+npm install -D vue vitepress

You've successfully installed VitePress and Vue and added it as a dev dependency. Now you can start creating creating your respective doc files, but before you do that, I believe it's essential to explain how VitePress works.

How does VitePress work?

VitePress makes use of Markdown .md files for it's markup which is automatically converted into static HTML. In other for this to work, a special folder called docs is created in the root directory.

This folder behaves similar to the pages folder in NextJS, where any .js file created in the directory is automatically treated as a web page. In this case a file called index.md will be the treated as index.html and serve as the root of your docs template.

Now you understand how that works, you can now create your respective doc files.

Step 3. Create respective files

You can create the docs folder and the index.md file manually, or you can do it with the terminal like a hacker.

bash
mkdir docs && echo '# Hello VitePress' > docs/index.md

This command is simply creating a folder called docs and adding an index.md file containing a h1 element that says, "Hello World".

create respective files

With this, you can boot up your dev environment to see what has been created so far.

Step 4: Boot up dev environment

In other to run your docs locally, you need to add the following scripts inside the package.json file. Simply copy the code below and replace it with the "script" object.

js
// package.json
+"scripts": {
+    "docs:dev": "vitepress dev docs",
+    "docs:build": "vitepress build docs",
+    "docs:serve": "vitepress serve docs"
+  },

Finally, the documentation site can be served on a local server by running the command below:

bash
npm run docs:dev

This will start a hot-reloading development server at http://localhost:5173, and you can visit it to see your docs site.

Output

boot-dev-server

All you had to do was add the markup and VitePress handled the looks from it's template engine. In the next session, you'll learn how you can customize the docs to fit your needs.

How to customize your docs

First create a .vitepress folder inside the docs directory you created earlier on. This is where all VitePress-specific files will be placed. Inside this new directory, you need a config.js file. Again, you can use the terminal command as a hacker.

bash
mkdir .vitepress && touch .vitepress/config.js

To test this config file, you can start by changing the meta title and description of your docs site. Copy this markup and paste into the config.js file.

js
// .vitepress/config.js
+export default {
+  title: "Adocs",
+  description: "An awesome docs template built by me",
+};

If you check the dev tools, you should see the changes in the meta title and description.

title-and-description

In other to change the logo title and add an image, copy the markup below and paste it into a new object called themeConfig inside the same config.js file. This will overwrite the current title and add a logo your docs site.

js
// config.js
+export default {
+  themeConfig: {
+    logo: "/logo.svg",
+    siteTitle: "Adocs",
+  },
+};

For the image source, you can pass in an image URL or specify the path to a local image. To do it locally, make sure you place the image within the public directory.

Output

logo-and-title

WARNING

Note: files in the public directory are served at the root path. So instead of ../public/logo.svg, just use /logo.svg.

Customizing the Navbar is a pretty straightforward process as well. Inside your themeConfig file, paste the markup below. Here we have an object that contains two properties. The anchor text text, and the path, link defines the URL path.

js
// .vitepress/config.js
+{
+  // ...
+   nav: [
+    { text: "About", link: "/about" },
+    { text: "Contact", link: "/contact" },
+    { text: "Guide", link: "/guide" },
+    { text: "Configs", link: "/configs" },
+    { text: "Changelog", link: "https://github.com/Evavic44" },
+  ],
+  // ...
+}

Essentially navigating to http://localhost:5173/about should take you to an about page(though we haven't created that yet).

Output

navbar

Navigation links can also be dropdown menus too. To add one, simply replace any of the links property with the items object which contains an array of links.

js
// .vitepress/config.js
+{
+  text: "Changelog",
+  items: [
+   { text: "v0.0.1", link: "/item-1" },
+   { text: "v0.0.2", link: "/item-2" },
+   { text: "v0.0.3", link: "/item-3" },
+  ],
+},

Now changelog will become a dropdown menu with the respective links you pass inside.

Output

dropdown-menu

Social Icons

Navigation menus usually have social icons visitors can use to visit your social platforms. To add that, define a new object called socialLinks inside themeConfig and simply pass in the social icon and the link you want it to navigate to.

js
// .vitepress/config.js
+socialLinks: [
+  { icon: "github", link: "https://github.com/Evavic44/adocs" },
+  { icon: "twitter", link: "https://twitter.com/victorekea" },
+  { icon: "discord", link: "", target: "_blank" },
+];

By default only 7 popular icons are provided. If you want to add a custom icon, use the SVG property to define an svg image.

js
}
+  "discord"
+  "facebook"
+  "github"
+  "instagram"
+  "linkedin"
+  "slack"
+  "twitter"
+  "youtube"
+  { svg: string };
+{

WARNING

For the SVG icon, make sure you add the role="img" property, this allows the string convert it properly.

navbar-2

VitePress also comes with built-in components like sidebar menus. To add a sidebar, create an object called sidebar and inside we add nested objects that takes in three values; the nested title, collapsible functionality (Default is set to true) and the nested links.

js
// .vitepress/config.js
+sidebar: [
+    {
+      text: "Section A",
+      collapsible: true,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+    {
+      text: "Section B",
+      collapsible: false,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+    {
+      text: "Section C",
+      collapsible: true,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+  ],

By adding collapsible: "true" to the sidebar object, it shows a toggle button to hide/show each section. You can create as much sections as you want.

Output

sidebar-2

You can see section B is not collapsible and we have that aesthetic next page button on the bottom of the page.

Page Routing

As explained earlier, VitePress automatically converts every .md file inside the root of the docs directory to static html that can be accessed in the address bar. For instance the index.md is converted to index.html, and about.md, about.html and so on.

Since you've created your nav links and pointed them to their respective URLs, you can access these pages easily by creating them.

docs/
+├── .vitepress/
+│   └── config.js
+├── public/
+│   └── logo.svg
+├── about.md
+├── contact.md
+├── guide.md
+├── configs.md
+└── get-started.md

Create these files inside your docs folder and add a simple markup inside them just to see how this works. This page is basic markdown so all your markdown syntax like links, code blocks, headings, etc works here.

Just for testing purposes, copy this markdown content and paste it inside any of the .md file you just created.

md
# About
+
+Welcome to the about page.
+
+This markdown supports html elements like the `p` tag coupled with inline styles
+
+<p style="color: #ff7340; border: 1px solid rgba(255, 135, 23, 0.25); border-radius:5px; padding: 1rem;">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>
+
+Even satire code snippets with syntax highlighting are also supported. 😅
+
+const lang = prompt("What is your favorite programming language?");
+
+(lang === "JavaScript") | (lang === "javascript") | (lang === "js")
+? alert("JavaScript to the world! 🚀🟡")
+: alert(`We don't permit such languages here 💩`);
+
+Of course, images are not left out.
+
+<img src="/logo.svg" alt="adocs logo">

Output

page-routing

Great! You've set-up the docs, added a navigation menu with dropdown feature, added a sidebar, and customized the links to navigate to different pages. Next up, let's work on the home page.

Customizing the home page.

Just like every other components, VitePress provides us with markup for building the home page. I've broken it down into three parts: Hero, features, and footer section.

Hero Section

First, we'll start with the hero section. Replace the Hello World text in the index.md page with the following markup.

bash
# docs/index.md
+---
+layout: home
+
+hero:
+  name: Adocs
+  text: Static docs template built with VitePress.
+  image:
+    src: /logo-big.svg
+    alt: Adocs logo
+  tagline: A free to use template for creating docs for your projects
+  actions:
+    - theme: brand
+      text: Get Started
+      link: /get-started
+    - theme: alt
+      text: View on GitHub
+      link: https://github.com/evavic44/adocs-template
+---

Features Section

Additionally, you can also add a features section after the hero section. Simply paste the code below under the hero objects.

bash
# /docs/index.md
+---
+link: https://github.com/evavic44/adocs-template
+
+features:
+  - icon: ⚡️
+    title: Adocs, The DX that can't be beat
+    details: Lorem ipsum...
+  - icon: 🎉
+    title: Power of Vue meets Markdown
+    details: Lorem ipsum...
+  - icon: 🔥
+    title: Simple and minimal, always
+    details: Lorem ipsum...
+  - icon: 🎀
+    title: Stylish and cool
+    details: Lorem ipsum...
+---

Output

hero-redesign

You can add a footer message on the bottom of the page but this will only show up in the home page.

WARNING

The footer will not be displayed when the SideBar is visible. To add the footer component, go to the config.js file and paste the markup inside the themeConfig object

js
// .vitepress/config.js
+ footer: {
+   message: "Released under the MIT License.",
+   copyright: "Copyright © 2022-present Adocs",
+ },

Output

footer

Aside from the markup, you can also customize the components using custom CSS to change things like fonts family, colors, layout, ETC.

Custom CSS

The default theme CSS is customized by overriding root level CSS variables. If you want, you can check out the full list of css variables customizable.

To do get started, create a .vitepress/theme directory, and inside this theme folder, add an index.js and custom.css file. If you've been following along, you can use the terminal command below to do this quickly.

bash
mkdir docs/.vitepress/theme && touch docs/.vitepress/theme/index.js && touch docs/.vitepress/theme/custom.css

If you ran into any issues with the terminal command, just create the files manually and move on to the next step.

Here's an overview of the folder structure.

bash
docs/
+├── .vitepress/
+   ├── config.js
+   └── theme/
+       ├── index.js
+       └── custom.css
+├── public/
+   └── logo.svg
+├── about.md
+├── contact.md
+├── guide.md
+├── configs.md
+└── get-started.md

After creating these files, inside the .vitepress/theme/index.js file, paste the import commands.

js
// .vitepress/theme/index.js
+import DefaultTheme from "vitepress/theme";
+import "./custom.css";
+
+export default DefaultTheme;

Color Theme

The colors are controlled by the CSS variables. You can simply replace them with any colors you want.

TIP

This color has a provision for both light and dark mode. So make sure you change them accordingly.

Here's an example of my custom colors

css
/* .vitepress/theme/custom.css */
+
+:root {
+  --vp-c-brand: rgb(255, 115, 64);
+  --vp-c-brand-light: rgb(255, 87, 25);
+  --vp-c-brand-lighter: rgb(255, 115, 64);
+  --vp-c-brand-dark: #ff622d;
+  --vp-c-brand-darker: rgb(226, 60, 0);
+
+  --vp-c-sponsor: #fd1d7c;
+}

If you don't see the effects immediately, try ending the server and starting it again.

Aside from the color themes, you can also override other things like, font family, typography, layout, breakpoints, etc.

Fonts

Google fonts can be imported inside the CSS file to override the default font family.

css
@import url(https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic);
+@import url(https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic);
+
+:root {
+  --vp-c-brand: #ff7340;
+  --vp-c-brand-light: #ff5719;
+  --vp-c-brand-lighter: #ff7340;
+  --vp-c-brand-lighter: rgba(255, 135, 23, 0.25);
+  --vp-c-brand-dark: #ff622d;
+  --vp-c-brand-darker: #e23c00;
+
+  --vp-c-sponsor: #fd1d7c;
+
+  /* Typography */
+  --vp-font-family-base: "Space Grotesk", "Inter var experimental", "Inter var",
+    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+    "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+
+  /* Code Snippet font */
+  --vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New",
+    monospace;
+}

With the --vp-font-family-base variable you can change the main font and --vp-font-family-mono, the font for code snippets.

Output

banner

You've successfully customized the theme and changed the font family using CSS. Though there's more you can do in regards to styling, but at this point, I'm sure it's clearer how you can customize your docs with CSS. Let's discuss hosting in the next section.

Hosting

You can publish or host your docs site when you're done to different platforms like: Netlify, Vercel, AWS Amplify, etc.

First, run the build command

bash
npm run docs:build

This should create a new dist folder that contains all the static files of your docs. In your hosting service, add these commands to their respective fields. Build command: npm run docs:build Output directory: docs/.vitepress/dist

This should create a new dist folder that contains all the static files of your docs. In your hosting service, add these commands to their respective fields.

  • Build command: npm run docs:build
  • Output directory: docs/.vitepress/dist

deploy-settings-vercel

After editing the settings, save, and deploy.

Conclusion

In this tutorial, you've set-up a full-fledged documentation site and customized it using CSS and VitePress built-in components. However, this tutorial only covers a fragment of what is possible with VitePress, to learn more, check out the VitePress docs.

Resources


If you are an open source ardent like myself or you enjoy hearing about such cool projects, do follow me on my socials so you don't miss my next post. Cheers. 🍷

GitHub Twitter Blog Portfolio

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/es/about.html b/docs/es/about.html new file mode 100644 index 0000000..7653eea --- /dev/null +++ b/docs/es/about.html @@ -0,0 +1,28 @@ + + + + + + About | SuperChats + + + + + + + + + + + + + +
Skip to content

About

Welcome to the about page.

This markdown supports html elements like the p tag coupled with inline styles

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.

Even satire code snippets with syntax highlighting are also supported. 😅

js
const lang = prompt("What is your favorite programming language?");
+
+(lang === "JavaScript") | (lang === "javascript") | (lang === "js")
+  ? alert("JavaScript to the world! 🚀🟡")
+  : alert(`We don't permit such languages here 💩`);

Of course, images are not left out.

adocs logo

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/es/configs.html b/docs/es/configs.html new file mode 100644 index 0000000..d76875b --- /dev/null +++ b/docs/es/configs.html @@ -0,0 +1,24 @@ + + + + + + Configs | SuperChats + + + + + + + + + + + + + +
Skip to content

Configs

Welcome to the config page

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/es/contact.html b/docs/es/contact.html new file mode 100644 index 0000000..2e80bd9 --- /dev/null +++ b/docs/es/contact.html @@ -0,0 +1,24 @@ + + + + + + Contact | SuperChats + + + + + + + + + + + + + +
Skip to content

Contact

Welcome to the contact page

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/es/get-started.html b/docs/es/get-started.html new file mode 100644 index 0000000..f33a687 --- /dev/null +++ b/docs/es/get-started.html @@ -0,0 +1,24 @@ + + + + + + Get Started | SuperChats + + + + + + + + + + + + + +
Skip to content

Get Started

Here's how to get started with VitePress

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/es/index.html b/docs/es/index.html new file mode 100644 index 0000000..8c4867c --- /dev/null +++ b/docs/es/index.html @@ -0,0 +1,31 @@ + + + + + + SuperChats + + + + + + + + + + + + + + + + + + + + +
Skip to content

SuperChats

A Mais Poderosa Biblioteca Javascript para Automatizar Whatsapp

Completa, Incrível e 100% Estável

SuperChats logo

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/es/introduction.html b/docs/es/introduction.html new file mode 100644 index 0000000..4a4a4d7 --- /dev/null +++ b/docs/es/introduction.html @@ -0,0 +1,217 @@ + + + + + + How to build modern docs with VitePress | SuperChats + + + + + + + + + + + + + +
Skip to content

banner

How to build modern docs with VitePress

INFO

Documentation is a crucial aspect of software development that is often neglected by developers due to the hassle of maintaining one, or even choosing the right tools to use. This is why it's important to use tools that simplify this process. In this tutorial, you'll learn how to build a complete docs site quickly by utilizing a modern tool called, VitePress.

Definition

VitePress is a simple and performant static site generator built on top of Vite for creating docs in a matter of minutes. It is powered by Vuejs, and Vite with built in customizable components. VitePress powers some popular documentation sites like Vuejs, Vitest, faker.js, and Vite itself.

Prerequisites

To follow along with this tutorial, you need to have a basic understanding of the following:

  • Markdown syntax
  • Brief understanding of NPM and Vite

Here's a screenshot of what you'll be building at the end of this tutorial.

final-works

Step. 1: Create a new project

If you already have a folder created, you can skip this step to the next one if not, use the following command to create a project folder and move into the folder.

bash
mkdir project-name
+cd project-name

Next you need to initialize with your preferred package manager. I'll be using NPM for the rest of this guide.

bash
npm init
+// or use this command if you want to skip all the questions
+npm init -y

If you used the first command, you'll be prompted with certain questions, complete them as appropriate. After a successful operation, you should have a package.json file in your root directory; This is where the VitePress dev dependency will be installed.

Step. 2: Install VitePress

Next step is to add VitePress and Vue as dev dependencies to your project.

bash
npm install vue vitepress --save-dev
+// or
+npm install -D vue vitepress

You've successfully installed VitePress and Vue and added it as a dev dependency. Now you can start creating creating your respective doc files, but before you do that, I believe it's essential to explain how VitePress works.

How does VitePress work?

VitePress makes use of Markdown .md files for it's markup which is automatically converted into static HTML. In other for this to work, a special folder called docs is created in the root directory.

This folder behaves similar to the pages folder in NextJS, where any .js file created in the directory is automatically treated as a web page. In this case a file called index.md will be the treated as index.html and serve as the root of your docs template.

Now you understand how that works, you can now create your respective doc files.

Step 3. Create respective files

You can create the docs folder and the index.md file manually, or you can do it with the terminal like a hacker.

bash
mkdir docs && echo '# Hello VitePress' > docs/index.md

This command is simply creating a folder called docs and adding an index.md file containing a h1 element that says, "Hello World".

create respective files

With this, you can boot up your dev environment to see what has been created so far.

Step 4: Boot up dev environment

In other to run your docs locally, you need to add the following scripts inside the package.json file. Simply copy the code below and replace it with the "script" object.

js
// package.json
+"scripts": {
+    "docs:dev": "vitepress dev docs",
+    "docs:build": "vitepress build docs",
+    "docs:serve": "vitepress serve docs"
+  },

Finally, the documentation site can be served on a local server by running the command below:

bash
npm run docs:dev

This will start a hot-reloading development server at http://localhost:5173, and you can visit it to see your docs site.

Output

boot-dev-server

All you had to do was add the markup and VitePress handled the looks from it's template engine. In the next session, you'll learn how you can customize the docs to fit your needs.

How to customize your docs

First create a .vitepress folder inside the docs directory you created earlier on. This is where all VitePress-specific files will be placed. Inside this new directory, you need a config.js file. Again, you can use the terminal command as a hacker.

bash
mkdir .vitepress && touch .vitepress/config.js

To test this config file, you can start by changing the meta title and description of your docs site. Copy this markup and paste into the config.js file.

js
// .vitepress/config.js
+export default {
+  title: "Adocs",
+  description: "An awesome docs template built by me",
+};

If you check the dev tools, you should see the changes in the meta title and description.

title-and-description

In other to change the logo title and add an image, copy the markup below and paste it into a new object called themeConfig inside the same config.js file. This will overwrite the current title and add a logo your docs site.

js
// config.js
+export default {
+  themeConfig: {
+    logo: "/logo.svg",
+    siteTitle: "Adocs",
+  },
+};

For the image source, you can pass in an image URL or specify the path to a local image. To do it locally, make sure you place the image within the public directory.

Output

logo-and-title

WARNING

Note: files in the public directory are served at the root path. So instead of ../public/logo.svg, just use /logo.svg.

Customizing the Navbar is a pretty straightforward process as well. Inside your themeConfig file, paste the markup below. Here we have an object that contains two properties. The anchor text text, and the path, link defines the URL path.

js
// .vitepress/config.js
+{
+  // ...
+   nav: [
+    { text: "About", link: "/about" },
+    { text: "Contact", link: "/contact" },
+    { text: "Guide", link: "/guide" },
+    { text: "Configs", link: "/configs" },
+    { text: "Changelog", link: "https://github.com/Evavic44" },
+  ],
+  // ...
+}

Essentially navigating to http://localhost:5173/about should take you to an about page(though we haven't created that yet).

Output

navbar

Navigation links can also be dropdown menus too. To add one, simply replace any of the links property with the items object which contains an array of links.

js
// .vitepress/config.js
+{
+  text: "Changelog",
+  items: [
+   { text: "v0.0.1", link: "/item-1" },
+   { text: "v0.0.2", link: "/item-2" },
+   { text: "v0.0.3", link: "/item-3" },
+  ],
+},

Now changelog will become a dropdown menu with the respective links you pass inside.

Output

dropdown-menu

Social Icons

Navigation menus usually have social icons visitors can use to visit your social platforms. To add that, define a new object called socialLinks inside themeConfig and simply pass in the social icon and the link you want it to navigate to.

js
// .vitepress/config.js
+socialLinks: [
+  { icon: "github", link: "https://github.com/Evavic44/adocs" },
+  { icon: "twitter", link: "https://twitter.com/victorekea" },
+  { icon: "discord", link: "", target: "_blank" },
+];

By default only 7 popular icons are provided. If you want to add a custom icon, use the SVG property to define an svg image.

js
}
+  "discord"
+  "facebook"
+  "github"
+  "instagram"
+  "linkedin"
+  "slack"
+  "twitter"
+  "youtube"
+  { svg: string };
+{

WARNING

For the SVG icon, make sure you add the role="img" property, this allows the string convert it properly.

navbar-2

VitePress also comes with built-in components like sidebar menus. To add a sidebar, create an object called sidebar and inside we add nested objects that takes in three values; the nested title, collapsible functionality (Default is set to true) and the nested links.

js
// .vitepress/config.js
+sidebar: [
+    {
+      text: "Section A",
+      collapsible: true,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+    {
+      text: "Section B",
+      collapsible: false,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+    {
+      text: "Section C",
+      collapsible: true,
+      items: [
+        { text: "Introduction", link: "/introduction" },
+        { text: "Getting Started", link: "/getting-started" },
+      ],
+    },
+  ],

By adding collapsible: "true" to the sidebar object, it shows a toggle button to hide/show each section. You can create as much sections as you want.

Output

sidebar-2

You can see section B is not collapsible and we have that aesthetic next page button on the bottom of the page.

Page Routing

As explained earlier, VitePress automatically converts every .md file inside the root of the docs directory to static html that can be accessed in the address bar. For instance the index.md is converted to index.html, and about.md, about.html and so on.

Since you've created your nav links and pointed them to their respective URLs, you can access these pages easily by creating them.

docs/
+├── .vitepress/
+│   └── config.js
+├── public/
+│   └── logo.svg
+├── about.md
+├── contact.md
+├── guide.md
+├── configs.md
+└── get-started.md

Create these files inside your docs folder and add a simple markup inside them just to see how this works. This page is basic markdown so all your markdown syntax like links, code blocks, headings, etc works here.

Just for testing purposes, copy this markdown content and paste it inside any of the .md file you just created.

md
# About
+
+Welcome to the about page.
+
+This markdown supports html elements like the `p` tag coupled with inline styles
+
+<p style="color: #ff7340; border: 1px solid rgba(255, 135, 23, 0.25); border-radius:5px; padding: 1rem;">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>
+
+Even satire code snippets with syntax highlighting are also supported. 😅
+
+const lang = prompt("What is your favorite programming language?");
+
+(lang === "JavaScript") | (lang === "javascript") | (lang === "js")
+? alert("JavaScript to the world! 🚀🟡")
+: alert(`We don't permit such languages here 💩`);
+
+Of course, images are not left out.
+
+<img src="/logo.svg" alt="adocs logo">

Output

page-routing

Great! You've set-up the docs, added a navigation menu with dropdown feature, added a sidebar, and customized the links to navigate to different pages. Next up, let's work on the home page.

Customizing the home page.

Just like every other components, VitePress provides us with markup for building the home page. I've broken it down into three parts: Hero, features, and footer section.

Hero Section

First, we'll start with the hero section. Replace the Hello World text in the index.md page with the following markup.

bash
# docs/index.md
+---
+layout: home
+
+hero:
+  name: Adocs
+  text: Static docs template built with VitePress.
+  image:
+    src: /logo-big.svg
+    alt: Adocs logo
+  tagline: A free to use template for creating docs for your projects
+  actions:
+    - theme: brand
+      text: Get Started
+      link: /get-started
+    - theme: alt
+      text: View on GitHub
+      link: https://github.com/evavic44/adocs-template
+---

Features Section

Additionally, you can also add a features section after the hero section. Simply paste the code below under the hero objects.

bash
# /docs/index.md
+---
+link: https://github.com/evavic44/adocs-template
+
+features:
+  - icon: ⚡️
+    title: Adocs, The DX that can't be beat
+    details: Lorem ipsum...
+  - icon: 🎉
+    title: Power of Vue meets Markdown
+    details: Lorem ipsum...
+  - icon: 🔥
+    title: Simple and minimal, always
+    details: Lorem ipsum...
+  - icon: 🎀
+    title: Stylish and cool
+    details: Lorem ipsum...
+---

Output

hero-redesign

You can add a footer message on the bottom of the page but this will only show up in the home page.

WARNING

The footer will not be displayed when the SideBar is visible. To add the footer component, go to the config.js file and paste the markup inside the themeConfig object

js
// .vitepress/config.js
+ footer: {
+   message: "Released under the MIT License.",
+   copyright: "Copyright © 2022-present Adocs",
+ },

Output

footer

Aside from the markup, you can also customize the components using custom CSS to change things like fonts family, colors, layout, ETC.

Custom CSS

The default theme CSS is customized by overriding root level CSS variables. If you want, you can check out the full list of css variables customizable.

To do get started, create a .vitepress/theme directory, and inside this theme folder, add an index.js and custom.css file. If you've been following along, you can use the terminal command below to do this quickly.

bash
mkdir docs/.vitepress/theme && touch docs/.vitepress/theme/index.js && touch docs/.vitepress/theme/custom.css

If you ran into any issues with the terminal command, just create the files manually and move on to the next step.

Here's an overview of the folder structure.

bash
docs/
+├── .vitepress/
+   ├── config.js
+   └── theme/
+       ├── index.js
+       └── custom.css
+├── public/
+   └── logo.svg
+├── about.md
+├── contact.md
+├── guide.md
+├── configs.md
+└── get-started.md

After creating these files, inside the .vitepress/theme/index.js file, paste the import commands.

js
// .vitepress/theme/index.js
+import DefaultTheme from "vitepress/theme";
+import "./custom.css";
+
+export default DefaultTheme;

Color Theme

The colors are controlled by the CSS variables. You can simply replace them with any colors you want.

TIP

This color has a provision for both light and dark mode. So make sure you change them accordingly.

Here's an example of my custom colors

css
/* .vitepress/theme/custom.css */
+
+:root {
+  --vp-c-brand: rgb(255, 115, 64);
+  --vp-c-brand-light: rgb(255, 87, 25);
+  --vp-c-brand-lighter: rgb(255, 115, 64);
+  --vp-c-brand-dark: #ff622d;
+  --vp-c-brand-darker: rgb(226, 60, 0);
+
+  --vp-c-sponsor: #fd1d7c;
+}

If you don't see the effects immediately, try ending the server and starting it again.

Aside from the color themes, you can also override other things like, font family, typography, layout, breakpoints, etc.

Fonts

Google fonts can be imported inside the CSS file to override the default font family.

css
@import url(https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic);
+@import url(https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic);
+
+:root {
+  --vp-c-brand: #ff7340;
+  --vp-c-brand-light: #ff5719;
+  --vp-c-brand-lighter: #ff7340;
+  --vp-c-brand-lighter: rgba(255, 135, 23, 0.25);
+  --vp-c-brand-dark: #ff622d;
+  --vp-c-brand-darker: #e23c00;
+
+  --vp-c-sponsor: #fd1d7c;
+
+  /* Typography */
+  --vp-font-family-base: "Space Grotesk", "Inter var experimental", "Inter var",
+    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+    "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+
+  /* Code Snippet font */
+  --vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New",
+    monospace;
+}

With the --vp-font-family-base variable you can change the main font and --vp-font-family-mono, the font for code snippets.

Output

banner

You've successfully customized the theme and changed the font family using CSS. Though there's more you can do in regards to styling, but at this point, I'm sure it's clearer how you can customize your docs with CSS. Let's discuss hosting in the next section.

Hosting

You can publish or host your docs site when you're done to different platforms like: Netlify, Vercel, AWS Amplify, etc.

First, run the build command

bash
npm run docs:build

This should create a new dist folder that contains all the static files of your docs. In your hosting service, add these commands to their respective fields. Build command: npm run docs:build Output directory: docs/.vitepress/dist

This should create a new dist folder that contains all the static files of your docs. In your hosting service, add these commands to their respective fields.

  • Build command: npm run docs:build
  • Output directory: docs/.vitepress/dist

deploy-settings-vercel

After editing the settings, save, and deploy.

Conclusion

In this tutorial, you've set-up a full-fledged documentation site and customized it using CSS and VitePress built-in components. However, this tutorial only covers a fragment of what is possible with VitePress, to learn more, check out the VitePress docs.

Resources


If you are an open source ardent like myself or you enjoy hearing about such cool projects, do follow me on my socials so you don't miss my next post. Cheers. 🍷

GitHub Twitter Blog Portfolio

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/functions-chat.html b/docs/functions-chat.html new file mode 100644 index 0000000..130db0d --- /dev/null +++ b/docs/functions-chat.html @@ -0,0 +1,79 @@ + + + + + + Funções de Chat | SuperChats + + + + + + + + + + + + + +
Skip to content

Funções de Chat

Buscar Chats

Lista todos os Chats

javascript
let response = await client.getChats()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-chats',
+  chats: [
+    { id: '556181590153'},
+    { id: '5511982743910-1596072761'}
+  ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-chats',
+  message: 'message of erro'
+}

Silenciar Conversa

Silencia a conversa por um periodo

Mutar

javascript
//numero do chat, tempo: ['hour', 'week', 'ever']
+let response = await client.muteChat("5561981590153", "hour")

Desmutar

javascript
//número do chat
+let response = await client.unmuteChat("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'mute-chat',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'mute-chat',
+  message: 'message of erro'
+}

Arquivar Chat

Arquiva ou Desarquiva um chat

Arquivar
javascript
//número do chat, true
+let response = await client.archiveChat("5561981590153", true)
Desarquivar
javascript
//número do chat, false
+let response = await client.archiveChat("5561981590153", false)

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'archive-chat',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'archive-chat',
+  message: 'message of erro'
+}

Deletar Chat

Deleta um chat ou grupo especifico

javascript
//número do chat ou group
+let response = await client.deleteChat("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'delete-chat',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'delete-chat',
+  message: 'message of erro'
+}

Pin Chat

Fixar ou Desfixar um chat

Fixar

javascript
//número do chat, true
+let response = await client.pinChat("5561981590153", true)

Desfixar

javascript
//número do chat, false
+let response = await client.pinChat("5561981590153", false)

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'pin-chat',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'pin-chat',
+  message: 'message of erro'
+}

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/functions-disconnected.html b/docs/functions-disconnected.html new file mode 100644 index 0000000..ade0457 --- /dev/null +++ b/docs/functions-disconnected.html @@ -0,0 +1,24 @@ + + + + + + Funções de Desconexão | SuperChats + + + + + + + + + + + + + +
Skip to content

Funções de Desconexão

Fecha a conexão da Seção

javascript
   client.close()

Remove o Token da Seção (Ao perder o token será necessário ler o QRCODE novamente)

javascript
   client.logout()

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/functions-group.html b/docs/functions-group.html new file mode 100644 index 0000000..e2438c5 --- /dev/null +++ b/docs/functions-group.html @@ -0,0 +1,161 @@ + + + + + + Funções de Grupo | SuperChats + + + + + + + + + + + + + +
Skip to content

Funções de Grupo

Criamos a maneira mais fácil de criar grupos com Superchats

Criar Grupo

Crie um grupo com participantes

javascript
//name of group, array with number of contacts
+let response = await client.createGroup("Name Group", ["556181590153", "5561981819855"])

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'create-group',
+  groupId: "15815954040-1631239154"
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'create-group',
+  message: 'message of erro'
+}

Adicionar participantes

Adiciona participantes ao grupo

javascript
//id of group, array with number of contacts
+let response = await client.addParticipantsGroup("15815954040-1631239154", ["556181590153", "5561981819855"])

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'add-participants-group',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'add-participants-group',
+  message: 'message of erro'
+}

Adicionar Admins

Adiciona ou remove um admin

javascript
//id of group, array with number of contacts
+let response = await client.addGroupAdmins("15815954040-1631239154", ["556181590153", "5561981819855"])
javascript
//id of group, array with number of contacts
+let response = await client.removeGroupAdmins("15815954040-1631239154", ["556181590153", "5561981819855"])

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'add-group-admins',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'add-group-admins',
+  message: 'message of erro'
+}

Alterar Nome do Grupo

Modifica o nome do grupo

javascript
//id of group, name group
+let response = await client.groupTitle("15815954040-1631239154", "new name of group")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'group-title',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'group-title',
+  message: 'message of erro'
+}

Alterar Descrição do Grupo

Modifica descrição do Grupo

javascript
//id of group, name group
+let response = await client.groupDescription("15815954040-1631239154", "description of group")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'group-description',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'group-description',
+  message: 'message of erro'
+}

Entrar em Grupo

Entra em um grupo especifico

javascript
//id of group
+let response = await client.joinGroup("15815954040-1631239154")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'join-group',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'join-group',
+  message: 'message of erro'
+}

Sair de Grupo

Sai de um grupo especifico

javascript
//id of group
+let response = await client.leaveGroup("15815954040-1631239154")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'leave-group',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'leave-group',
+  message: 'message of erro'
+}

Atualiza o link de um grupo especifico

javascript
//id of group
+let response = await client.revokeGroupLink("15815954040-1631239154")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'revoke-group-link',
+  linkGroup: 'G3M81fQbuwDB2cuAdPIv0h'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'revoke-group-link',
+  message: 'message of erro'
+}

Informações do Grupo

Retorna informações de um grupo especifico

javascript
//id of group
+let response = await client.infoGroup("15815954040-1631239154")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'info-group',
+  status: 200,
+  id: '15795662985-1631581942',
+  owner: '15795662985@c.us',
+  title: 'Teste Grupo Live',
+  create: 1631581942,
+  participants: [
+    {
+      id: '556181590153',
+      name: 'Joe Dutra',
+      short: 'Joe',
+      isAdmin: false,
+      isSuperAdmin: false
+    },
+    {
+      id: '5521991977392',
+      name: 'Israel - Fabrica de Sonhos',
+      short: 'Israel - Fabrica',
+      isAdmin: false,
+      isSuperAdmin: false
+    }
+  ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'info-group',
+  message: 'message of erro'
+}

Modificar Configurações

Modifica configurações de um grupo especifico

Definir o envio de mensagens em grupo apenas para administradores

javascript
//id of group, type, boolean
+let response = await client.setGroupSettings("15815954040-1631239154", "message", true)

Definir configurações de alteração no grupo apenas para administradores

javascript
//id of group, type, boolean
+let response = await client.setGroupSettings("15815954040-1631239154", "settings", true)

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'set-group-settings',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-group-settings',
+  message: 'message of erro'
+}

Get Groups List

Get all groups list

javascript
let response = await client.getGroups()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'get-groups',
+  chats: [
+    { id: '5511982743910-1596072761', name: 'Venom Support' },
+    { id: '556181590153-1625838636', name: 'Venom Business' }
+  ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-groups',
+  message: 'message of erro'
+}

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/functions-message.html b/docs/functions-message.html new file mode 100644 index 0000000..780985f --- /dev/null +++ b/docs/functions-message.html @@ -0,0 +1,67 @@ + + + + + + Funções de Mensagem | SuperChats + + + + + + + + + + + + + +
Skip to content

Funções de Mensagem

Editar Mensagem

Edite mensagens enviadas em chats

javascript
// número do chat, id da mensagem, mensagem editada
+let response = await client.editMessage("5561981590153", "3EB071B7776A", "Outra Mensagem")

Deletar Mensagem

Exclua mensagens em bate-papos apenas para você ou para todos

Excluir mensagem apenas para você

javascript
// número do chat, id da mensagem
+let response = await client.deleteMessageMe("5561981590153", "3EB071B7776A")

Excluir mensagem para todos no chat

javascript
// número do chat, id da mensagem
+let response = await client.deleteMessageAll("5561981590153", "3EB071B7776A")

Retorno de Sucesso

javascript
{ 
+ session: 'Marketing',
+ status: 200 
+ type: 'delete-chat-me'
+}

Retorno de Erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'delete-chat-me',
+  message: 'message of erro'
+}

Encaminhar Mensagem

Encaminhamento de mensagens para qualquer contato

javascript
// Número do chat, id da mensagem, número do chat para enviar
+let response = await client.forwardMessage("5561981590153", "3EB042FA6555", "15815954040")

Return with success

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'forwarding',
+  subtype: 'text',
+  id: '3EB042FA6555',
+  from: '15815954040',
+  text: 'oi',
+  isgroup: false,
+  reply: { id: undefined },
+  participant: '',
+  timestamp: 1633147282
+}

Return with erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'forwarding',
+  message: 'message of erro'
+}

Mensagens Temporarias

Seta as proximas mensagens do chat como temporarias que desapareceram segundo o valor passado de tempo

javascript
// Número do chat, tempo (0 = desativa, 24 = 24 horas, 7 = 7 dias, 90 = 90 dias)
+let response = await client.messageTemporary("5561981590153", "24");

Return with success

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'message-temporary',
+}

Return with erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'message-temporary',
+  message: 'message of erro'
+}

Fuções de Mensagens de um Chat

Conheça os tipos de funções para recuperar mensagens de chat

Buscar Mensagem pelo ID

javascript
// Número do Chat, id da mensagem
+let response = await client.getMessageById('556181590153', '3EB042FA6555');

Listar Mensagens por Quantidade

javascript
// Número do Chat, Quantidade
+let response = await client.getChatMessages('556181590153', 10)

Listar Todas as Mensagens

javascript
// Número do Chat
+let response = await client.getChatAllMessages('556181590153')

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/functions-others.html b/docs/functions-others.html new file mode 100644 index 0000000..2a1843c --- /dev/null +++ b/docs/functions-others.html @@ -0,0 +1,150 @@ + + + + + + Funções Diversas | SuperChats + + + + + + + + + + + + + +
Skip to content

Funções Diversas

Buscar Contatos da Agenda

Lista todos os contatos da agenda do dispositivo

javascript
let response = await client.getAllContacts()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-all-contacts',
+  qt: 2,
+  contacts: [
+    {
+      id: '552123919428',
+      name: 'Alenii Venom',
+      short: ''
+    },
+    {
+      id: '556181590153',
+      name: 'Joe Dutra',
+      short: ''
+    }
+  ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-all-contacts',
+  message: 'message of erro'
+}

Buscar Contatos Bloqueados

Lista todos os contatos bloqueados

javascript
let response = await client.getBlockList()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-block-list',
+  list: [ '5561986268199', '5561998745252' ]
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-block-list',
+  message: 'message of erro'
+}

Informações do Dispositivo

Traz informações do dispositivo

javascript
let response = await client.getHostDevice()

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'get-host-device',
+  phone: '556181590153',
+  image: "https://pps.whatsapp.net/v/t61.24694-24/254827313_500572874791871_6168181924916411415_n.jpg?stp=dst-jpg_s96x96&ccb=11-4&oh=5ee43eb4f1fe109b10ceba05292561aa&oe=622FF53D",
+  pushName: 'Joe Dutra'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-host-device',
+  message: 'message of erro'
+}

Bloquear Contato

Bloqueia e Desbloqueia um contato

Bloquear

javascript
//number of chat
+let response = await client.blockContact("5561981590153")

Desbloquear

javascript
//number of chat
+let response = await client.unblockContact("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'block-contact',
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'block-contact',
+  message: 'message of erro'
+}

Trazer Informações do Status

Exibe o status de um contato especifico.

javascript
//number of chat
+let response = await client.getProfileStatus("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-profile-status',
+  status: 'Que Deus seja sempre louvado em nossas vidas'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-profile-status',
+  message: 'message of erro'
+}

Traz a Imagem do contato

Exibe a imagem do perfil do contato

javascript
//number of chat
+let response = await client.getPicture("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'get-picture',
+  picture: 'https://pps.whatsapp.net/v/t61.24694-24/166060433_390988636021500_3494454124066997603_n.jpg?ccb=11-4&oh=453e672ddc35e64ca123439f7a89d7d2&oe=615EAAAF'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-picture',
+  message: 'message of erro'
+}

Alterar Imagem do Perfil

Modifica a imagem do perfil ou do grupo

javascript
//number of chat, file local path
+let response = await client.setPicture("5561981590153", "./image-profile.png")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'set-picture'
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-picture',
+  message: 'message of erro'
+}

Verifica Número de Whatsapp

Checa se um número de telefone possuí o Whatsapp

javascript
//number of chat
+let response = await client.getNumberProfile("5561981590153")

Retorno de sucesso

javascript
{
+  session: 'Marketing',
+  type: 'get-number-profile',
+  id: '556181590153',
+  isBusiness: false,
+  exist: true
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'get-number-profile',
+  message: 'message of erro'
+}

Atualizar Presença

Atualize sua presença para um determinado contato

Tipos de estado: a = disponível, c = digitando, r = gravando, p = pausado

javascript
//chat number, state: a, c, r, p
+let response = await client.setPresence('556181590153', 'c');

Retorno de sucesso

javascript
{ 
+  session: 'Marketing',
+  status: 200, 
+  type: 'set-presence' 
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-presence',
+  message: 'message of erro'
+}

Mudar Nome do Perfil

Atualiza o nome no Whatsapp

javascript
// nome
+let response = await client.setName("Orkestral");

Retorno de sucesso

javascript
{ 
+  session: 'Marketing',
+  status: 200, 
+  type: 'set-name' 
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-name',
+  message: 'message of erro'
+}

Mudar Status do Perfil

Atualiza o status no Whatsapp

javascript
// nome
+let response = await client.setStatus('Viva la vida!');

Retorno de sucesso

javascript
{ 
+  session: 'Marketing',
+  status: 200, 
+  type: 'set-status' 
+}

Retorno de erro

javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'set-status',
+  message: 'message of erro'
+}

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/get-started.html b/docs/get-started.html new file mode 100644 index 0000000..e148576 --- /dev/null +++ b/docs/get-started.html @@ -0,0 +1,57 @@ + + + + + + Começando | SuperChats + + + + + + + + + + + + + +
Skip to content

Começando

Inicio Rápido

Execute o seguinte comando para garantir que o SuperChats esteja instalado:

bash
$ npm install superchats

ou use yarn

bash
$ yarn add superchats

Exemplo de Código Base

javascript
const superchats = require("superchats");
+
+async function start(){
+let client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  nodata: true,
+  logQr: false,
+  alwaysOn: true, 
+  autoRead: true, 
+  nodata: true, 
+  logQr: true,
+  statusFind: async (status) => {
+    console.log(status)
+  },
+  qrcode: async (session, base64Img, asciiQR, urlCode) => {
+  console.log(asciiQR)
+  },
+  onMessage: async (message) => {
+     if ((message.type == "text" || message.subtype == 'text')  && message.content == "hi") {
+       await client.sendText(message.from, "Let's GO Superchats");
+     }
+   }  // Receive an event all the time you receive a message from some contact
+})
+
+return client;
+
+}
+
+(async function(){
+  let client = await start();
+  let response = await client.sendText('0000000000000', 'Obrigado por usar SuperChats!!!');
+  console.log(response);
+})()

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/hashmap.json b/docs/hashmap.json new file mode 100644 index 0000000..25c19ec --- /dev/null +++ b/docs/hashmap.json @@ -0,0 +1 @@ +{"en_index.md":"SbhtFFoC","en_get-started.md":"DImcJ8hz","es_index.md":"_tOJVrZy","en_contact.md":"QbhOFKKF","en_configs.md":"XXz7wrOX","es_contact.md":"m3ZaHbQF","es_get-started.md":"IAU33Du3","functions-disconnected.md":"ZmsdZk2o","en_about.md":"WGVL6zWK","download-save-file.md":"EhkP-o_d","es_about.md":"t0HjoKX9","es_configs.md":"hCP6dw5X","get-started.md":"e72yT3Zs","callbacks.md":"9Rn7RiXs","es_introduction.md":"Xwe8WaMk","multiples-sections.md":"znOdqNtr","functions-chat.md":"PmEUKzYe","index.md":"lQEv_vPG","introduction.md":"6g_043d2","functions-message.md":"IVb724Gj","functions-group.md":"k-Qnp_mQ","status-connection.md":"4-X4ebZt","parameters-optionals.md":"vlyisBiR","functions-others.md":"qyenD7Fx","en_introduction.md":"fKVDA5wB","send-message.md":"x_OzM9Vu"} diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..9481ede --- /dev/null +++ b/docs/index.html @@ -0,0 +1,31 @@ + + + + + + SuperChats + + + + + + + + + + + + + + + + + + + + +
Skip to content

SuperChats

A Mais Poderosa Biblioteca Javascript para Automatizar Whatsapp

Completa, Incrível e 100% Estável

SuperChats logo

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/introduction.html b/docs/introduction.html new file mode 100644 index 0000000..09feee7 --- /dev/null +++ b/docs/introduction.html @@ -0,0 +1,24 @@ + + + + + + SuperChats + + + + + + + + + + + + + +
Skip to content

banner

O Que é o SuperChats?

Superchats é uma versão Premium do Venom, ela se conecta por socket é não depende de abrir um browser para consumir o whatsapp. Essa versão é estável e não sofre com alterações do whatsapp igual a versão opensource, possui nosso suporte é tem planos por períodos Mensal, Trimestral, Semestral e Anual.

Qual a Diferença do SuperChats e Venom Bot?

SuperChats é uma biblioteca pronta para produção com suporte completo, não é mantido por comunidade e não depende de esperas longas para concerto de qualquer bug ou atualização do Whatsapp. SuperChats não depende de abrir um browser ou injetar scripts para controlar as funções do Whatsapp, ela usa uma comunicação direta ao socket do Whatsapp Web tornando assim uma biblioteca leve, segura e estavél.

Existe Alguma Limitação?

O SuperChats não possuí nenhuma limitação, pode ser usado em varios projetos com uma única licença, como falado ACIMA, não depende de browser e muito rápido e estavél, pronto para ser colocado em produção em seus projetos.

Como Adquiro uma Licença?

Você pode adquirir sua licença agora Clicando Aqui! você será redirecionado para o nosso portal e lá conseguirá adquirir sua licença, pagando pelo método de pagamento escolhido, a licença é gerada após a confirmação do pagamento.

Tenho Suporte?

Sim, após adquirir sua licença você contará com um suporte completo por: Ticket, Whatsapp, Grupo de Suporte ou Email, contando com um suporte completo com um de nossos Devs, que estaram de prontidão para ajudar a esclarecer todas as suas dúvidas e solucionar qualquer problema relacionado a biblioteca SuperChats.

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/logo-big.svg b/docs/logo-big.svg new file mode 100644 index 0000000..016ea27 --- /dev/null +++ b/docs/logo-big.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + diff --git a/docs/logo.svg b/docs/logo.svg new file mode 100644 index 0000000..b82162c --- /dev/null +++ b/docs/logo.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + diff --git a/docs/multiples-sections.html b/docs/multiples-sections.html new file mode 100644 index 0000000..508ef3e --- /dev/null +++ b/docs/multiples-sections.html @@ -0,0 +1,29 @@ + + + + + + Seções | SuperChats + + + + + + + + + + + + + +
Skip to content

Seções

Multiplas Seções

Após executar a função create(), o Superchats criará uma instância do Whatsapp. Se você não estiver logado, um código QR será impresso no terminal. Digitalize-o com seu telefone e você estará pronto para começar! Os Superchats se lembrarão da sessão, portanto não há necessidade de autenticação sempre. Múltiplas sessões podem ser criadas ao mesmo tempo, passando um nome de sessão para a função create():

javascript
// Iniciar secão vendas
+
+superchats.create({session:'vendas', license: "asjdh-efddff734-sdsdf834-233272"}).then((salesClient) => {...});
+
+// Iniciar seção suporte
+superchats.create({session:'suporte', license: "asjdh-efddff734-sdsdf834-233272"}).then((supportClient) => {...});

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/parameters-optionals.html b/docs/parameters-optionals.html new file mode 100644 index 0000000..dc60e5d --- /dev/null +++ b/docs/parameters-optionals.html @@ -0,0 +1,71 @@ + + + + + + Parâmetros | SuperChats + + + + + + + + + + + + + +
Skip to content

Parâmetros

Parâmetros Opcionais

Parâmetros opcionais são iniciados junto com a conexão como eventos de QRCODE and STATUSFIND, além de opções extras

javascript
const superchats = require("superchats");
+
+superchats.create({
+    session: "Marketing",
+    license: "asjdh-efddff734-sdsdf834-233272", // Licença válida para usar Superchats
+    welcomeScreen: true, // Mostrar ou ocultar boas-vindas no terminal
+    welcomeText: true, // Seta um novo nome para intro e Browser device
+    alwaysOn: true, // Marca o Chat como sempre online
+    autoRead?: true, // Ler todas as mensagens recebidas
+    nodata: true, // Não obtém todo o histórico do dispositivo (padrão = verdadeiro)
+    logQr: true, // (O padrão é verdadeiro) Registra QR automaticamente no terminal
+    qrcode: (sessionId, base64QR, asciiQR, urlCode) => {
+    console.log("sessionId: " + sessionId)
+    console.log("base64 image of qrcode: " + base64QR);
+    console.log("Terminal image of qrcode in caracter ascii: " + asciiQR);
+    console.log("Terminal string hash of qrcode: " + urlCode);
+     },
+    statusFind: (statusSession) => {
+    console.log("Status Session: ", statusSession);
+     },
+   syncHistory: (percent) => { // Receba o evento de porcentagem da sicronização de dados assim que contecta.
+    console.log(percent);
+     },
+    onMessage: (event) => { // Receba um evento sempre que receber uma mensagem de algum contato
+     console.log(event)
+     },
+    onAck: (event) => {    // Receba um status toda vez que enviar uma mensagem para algum contato: falhou, pendente, enviado, recebido ou lido
+     console.log(event)
+     },
+     onAnyMessage: (event) => {    // Receba eventos toda vez que enviar ou receber uma mensagem
+     console.log(event)
+     },
+    onPresence: (event) => { // Receba um evento sempre que um contato estiver: digitando, gravando, online ou offline com você
+     console.log(event)
+     },
+    onGroups: (event) => { // Receba eventos sempre que o nome de um grupo, as configurações forem alteradas
+     console.log(event)
+     },
+    onParticipants: (event) => { // Recebe eventos relacionados aos participantes do grupo como : quem entrou, saiu, promovido a admin ...
+     console.log(event)
+     },
+    onDelete: (event) => { // Recebe evento sempre quando uma mensagem é deletada para todos de algum chat
+     console.log(event)
+     },
+    onCall: (event) => { // Recebe evento todas vez que receber uma chamada de voz ou video
+     console.log(event)
+     },
+  })

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/send-message.html b/docs/send-message.html new file mode 100644 index 0000000..e255d5e --- /dev/null +++ b/docs/send-message.html @@ -0,0 +1,386 @@ + + + + + + Envio de Mensagem | SuperChats + + + + + + + + + + + + + +
Skip to content

Envio de Mensagem

Criamos a maneira mais fácil de enviar mensagens com Superchats

Mensagens finais podem ser enviadas para o número do contato, exemplo: 5561985290357 ou para um ID de grupo, exemplo: 1581595404016312391

Enviar Texto

Parâmetros

Parâmetros opcionais de SendText

javascript
const options = {
+  reply: '3EB01A690E67' // parâmetro para responder mensagem
+}

Envio Simples

javascript
let response = await client.sendText("5561985290357", "Obrigado por usar Superchats!!!");

Fazer Menções a Contatos

Para mencionar um contato em uma mensagem, passe o @551199999999 usando o número do contato como no exemplo, podendo utilizar menções ilimitadas em uma unica mensagem.

javascript
let response = await client.sendText("5561985290357", "Olá @551199999999 como vai? nosso amigo @5511988888888 anda sumido hein?");

Responder uma Mensagem

Para responder a uma mensagem, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+
+let response = await client.sendText("5561985290357", "Responder à mensagem!!!", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'text',
+  isMedia: false,
+  id: 'KIZAKIXD9B79E2BC8475',
+  to: '556185290357',
+  content: { textMessage: { text: 'Obrigado por usar Superchats!!!' } },
+  isgroup: false,
+  timestamp: 1714497888
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'text',
+  message: 'message of erro'
+}

Enviar Imagem

Parâmetros

Parâmetros opcionais de SendImage

javascript
const options = {
+  reply: '3EB01A690E67', // parâmetro para responder mensagem
+  viewOnce: true, // parâmetro para envio de mensagem única
+}

Envio Simples

Para envio de imagens, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png");

Imagem com Texto

Para enviar uma imagem com texto, utilize o parâmetro options {caption: 'Meu texto'}, que é opcional.

javascript
const options = {
+  caption: 'Meu texto'
+}
+
+let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", options);

Fazer Menções a Contatos

Para enviar uma imagem com texto e menções, utilize o parâmetro options {caption: 'Meu texto @551199999999'}, que é opcional passando o @551199999999 usando o número do contato como no exemplo, podendo utilizar menções ilimitadas em uma unica mensagem de imagem.

javascript
const options = {
+  caption: '"Olá @551199999999 veja essa imagem e compartilhe com @5511988888888  que anda sumido."'
+}
+
+let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", options);

Responder uma Mensagem

Para responder a uma mensagem com imagem, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+
+let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", options);

Imagem com Visualização Única

Para enviar uma imagem visualização única, use o parâmetro options {viewOnce: true}, que é opcional.

javascript
const options = {
+  viewOnce: true
+}
+
+let response = await client.sendImage("5561985290357", "https://github.com/orkestral/superchats/raw/main/img/superchats.png", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'image',
+  isMedia: true,
+  id: 'KIZAKIXD5785E3070D74',
+  to: '556185290357',
+  isgroup: false,
+  content: Message {
+    imageMessage: ImageMessage {
+      interactiveAnnotations: [],
+      scanLengths: [],
+      url: 'https://mmg.whatsapp.net/v/t62.7118-24/25270615_458846373224929_1269936098490414810_n.enc?ccb=11-4&oh=01_Q5AaIPI9U29lICyS2MULod54ott0rE5IEr8CArdKjrNkY6kA&oe=66589797&_nc_sid=5e03e0&mms3=true',
+      mimetype: 'image/jpeg',
+      fileSha256: <Buffer 11 ed 0d 21 f2 59 96 9a 65 cf 7e fa c1 57 a1 ee a2 c9 50 b4 0d 09 df df a8 9f e1 44 dd cf a6 a5>,
+      fileLength: [Long],
+      height: 214,
+      width: 818,
+      mediaKey: <Buffer 08 15 d8 05 ee 7d 20 91 4e c1 99 11 b3 7d b8 9c 84 74 5d 08 e9 e6 e2 1c b0 e4 0f 14 73 86 6f 91>,
+      fileEncSha256: <Buffer 09 a0 66 f5 d3 82 72 e4 20 99 2b 2b c3 4d 0d a9 11 ae 71 18 14 a9 42 44 5e ca cb 41 45 fe de 6a>,
+      directPath: '/v/t62.7118-24/25270615_458846373224929_1269936098490414810_n.enc?ccb=11-4&oh=01_Q5AaIPI9U29lICyS2MULod54ott0rE5IEr8CArdKjrNkY6kA&oe=66589797&_nc_sid=5e03e0',
+      mediaKeyTimestamp: [Long],
+      jpegThumbnail: <Buffer ff d8 ff db 00 43 00 10 0b 0c 0e 0c 0a 10 0e 0d 0e 12 11 10 13 18 28 1a 18 16 16 18 31 23 25 1d 28 3a 33 3d 3c 39 33 38 37 40 48 5c 4e 40 44 57 45 37 ... 294 more bytes>
+    }
+  },
+  participant: '',
+  timestamp: 1714498896
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'image',
+  message: 'message of erro'
+}

Enviar Sticker

Parâmetros

Parâmetros opcionais de SendSticker

javascript
const options = {
+  reply: '3EB01A690E67', // parâmetro para responder mensagem
+}

Envio Simples

Para envio de adesivos de imagem, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendSticker("5561985290357", "https://static-00.iconduck.com/assets.00/node-js-icon-454x512-nztofx17.png");

Para responder uma mensagem com adesivo de imagem, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+
+let response = await client.sendSticker("5561985290357", "https://static-00.iconduck.com/assets.00/node-js-icon-454x512-nztofx17.png", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'sticker',
+  isMedia: true,
+  id: 'KIZAKIXD29528BD80D26',
+  to: '556185290357',
+  isgroup: false,
+  content: Message {
+    stickerMessage: StickerMessage {
+      url: 'https://mmg.whatsapp.net/v/t62.7118-24/24265743_345128448578659_4510702101938416826_n.enc?ccb=11-4&oh=01_Q5AaIGMrAR78AxXkObTOR3fltIDMqLJUGxjElFnrJllVRii4&oe=6658AFCA&_nc_sid=5e03e0&mms3=true',
+      fileSha256: <Buffer ac b2 5f f4 af a4 2e 6d 9e 15 4a e7 58 c0 b3 0f df b6 0b 3f 27 cb 6c d9 55 dd 90 7f e8 92 b8 f7>,
+      fileEncSha256: <Buffer 63 9b b7 51 4d 2f 84 2b 11 fc c3 5e 2b bb 8c 4c 56 6b 27 24 30 13 ec 77 c0 01 52 2a 7d a3 d3 70>,
+      mediaKey: <Buffer 12 aa cc f7 b7 2f ff 90 e6 e4 cd 71 93 2e 94 65 01 d5 2a 5d cf 31 a4 87 6a 59 65 bf 66 6e c9 f6>,
+      mimetype: 'image/webp',
+      directPath: '/v/t62.7118-24/24265743_345128448578659_4510702101938416826_n.enc?ccb=11-4&oh=01_Q5AaIGMrAR78AxXkObTOR3fltIDMqLJUGxjElFnrJllVRii4&oe=6658AFCA&_nc_sid=5e03e0',
+      fileLength: [Long],
+      mediaKeyTimestamp: [Long]
+    }
+  },
+  participant: '',
+  timestamp: 1714500124
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'sticker',
+  message: 'message of erro'
+}

Enviar Video

Parâmetros

Parâmetros opcionais de SendVideo

javascript
const options = {
+  reply: '3EB01A690E67', // parâmetro para responder mensagem
+  viewOnce: true, // parâmetro para envio de mensagem única
+  ptv: true // parâmetro para envio de mensagem de video PTV
+}

Envio Simples

Para envio de vídeo, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", "Text optional");

Video com Texto

Para enviar um video com texto, utilize o parâmetro options {caption: 'Meu texto'}, que é opcional.

javascript
const options = {
+  caption: 'Meu texto'
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);

Fazer Menções a Contatos

Para enviar um video com texto e menções, utilize o parâmetro options {caption: 'Meu texto @551199999999'}, que é opcional passando o @551199999999 usando o número do contato como no exemplo, podendo utilizar menções ilimitadas em uma unica mensagem de video.

javascript
const options = {
+  caption: '"Olá @551199999999 veja esse video e compartilhe com @5511988888888 que anda sumido."'
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);

Responder uma Mensagem

Para responder a uma mensagem com video, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);

Video com Visualização Única

Para enviar um video com visualização única, use o parâmetro options {viewOnce: true}, que é opcional.

javascript
const options = {
+  viewOnce: true
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);

Video Estilo PTV

Para enviar um video estilo PTV, use o parâmetro options {ptv: true}, que é opcional.

javascript
const options = {
+  ptv: true
+}
+
+let response = await client.sendVideo("5561985290357", "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'video',
+  isMedia: true,
+  id: 'KIZAKIXDC3EC9941831D',
+  to: '556185290357',
+  isgroup: false,
+  content: Message {
+    videoMessage: VideoMessage {
+      interactiveAnnotations: [],
+      url: 'https://mmg.whatsapp.net/v/t62.7161-24/30917007_1016185773462314_1667717879487066254_n.enc?ccb=11-4&oh=01_Q5AaINN4m-LST25bM3ilv2JDdtIDhFTecdLnIxMN98AL69r7&oe=6658B933&_nc_sid=5e03e0&mms3=true',
+      mimetype: 'video/mp4',
+      fileSha256: <Buffer 75 de 47 ac c8 b9 b5 c6 ef 56 56 6e eb 50 72 af c3 bd e0 a4 ff 4f f4 09 62 a4 b5 33 c1 26 db 46>,
+      fileLength: [Long],
+      mediaKey: <Buffer c1 3d 61 78 ce da d6 4e 3d 4d f3 27 bd 0a 3b 9f 5c 52 2a 1f 45 98 bf 57 f7 28 f1 f4 80 4d b2 39>,
+      fileEncSha256: <Buffer eb 44 32 7a 10 5a e7 4a c2 20 81 1a 8d 32 14 60 06 45 d8 02 24 51 8f ed 6c 2b 1e 6f 8d 57 f7 fe>,
+      directPath: '/v/t62.7161-24/30917007_1016185773462314_1667717879487066254_n.enc?ccb=11-4&oh=01_Q5AaINN4m-LST25bM3ilv2JDdtIDhFTecdLnIxMN98AL69r7&oe=6658B933&_nc_sid=5e03e0',
+      mediaKeyTimestamp: [Long],
+      jpegThumbnail: <Buffer ff d8 ff fe 00 0f 4c 61 76 63 36 30 2e 33 2e 31 30 30 00 ff db 00 43 00 08 04 04 04 04 04 05 05 05 05 05 05 06 06 06 06 06 06 06 06 06 06 06 06 06 07 ... 515 more bytes>
+    }
+  },
+  participant: '',
+  timestamp: 1714501077
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'video',
+  message: 'message of erro'
+}

Enviar Audio

Parâmetros

Parâmetros opcionais de SendAudio

javascript
const options = {
+  reply: '3EB01A690E67' // parâmetro para responder mensagem
+}

Envio Simples

Para envio de áudio, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendAudio("5561985290357", "https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3");

Responder uma Mensagem

Para responder uma mensagem com áudio, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+let response = await client.sendAudio("5561985290357", "https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  device: '551152204957',
+  status: 200,
+  type: 'audio',
+  isMedia: true,
+  id: 'KIZAKIXDD47A012F369B',
+  to: '556185290357',
+  content: Message {
+    audioMessage: AudioMessage {
+      url: 'https://mmg.whatsapp.net/v/t62.7114-24/35304887_962160115296962_4043552676958593962_n.enc?ccb=11-4&oh=01_Q5AaILurgXMtkRNbB1v-2NA3TqM3M488f14yCz50KajQaOjE&oe=6658C1ED&_nc_sid=5e03e0&mms3=true',
+      mimetype: 'audio/ogg; codecs=opus',
+      fileSha256: <Buffer 23 f0 2d b4 39 18 e3 6e 4e 50 14 a8 01 6d 40 a6 24 b6 21 89 1c 9f 2f f9 cc 15 e0 42 93 59 1b 54>,
+      fileLength: [Long],
+      seconds: 348,
+      mediaKey: <Buffer 8d 46 11 b9 f8 fc b9 8f a7 bf cb 7c 45 ad cc 89 9a d5 e2 2e f5 bd 3d 60 1a 23 16 a1 21 3c 07 3f>,
+      fileEncSha256: <Buffer 28 2b d4 64 e4 69 5b 64 2f 3a 44 34 95 75 57 2e 53 fa 77 b4 bf 43 ac 83 6a 9a e6 d7 e3 fa a4 34>,
+      directPath: '/v/t62.7114-24/35304887_962160115296962_4043552676958593962_n.enc?ccb=11-4&oh=01_Q5AaILurgXMtkRNbB1v-2NA3TqM3M488f14yCz50KajQaOjE&oe=6658C1ED&_nc_sid=5e03e0',
+      mediaKeyTimestamp: [Long]
+    }
+  },
+  isgroup: false,
+  participant: '',
+  timestamp: 1714501517
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'audio',
+  message: 'message of erro'
+}

Enviar Audio de Voz

Para envio de áudio e voz, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendVoice("5561985290357", "https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3");

Responder uma Mensagem

Para responder uma mensagem com áudio de voz, utilize o id da mensagem que deseja responder no parâmetro options {reply: msgID}, que é opcional.

javascript
const options = {
+  reply: '3EB01A690E67'
+}
+let response = await client.sendVoice("5561985290357", "https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3", options);
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'voice',
+  id: '3EB072B039F6',
+  to: '556181590153',
+  content: '',
+  isgroup: false,
+  file: {
+    url: 'https://mmg.whatsapp.net/d/f/AjwRfBCBZ1XgeSLtdVTr96lMJO5CtZtjCi0HpNjEctDW.enc',
+    mimetype: 'audio/ogg; codecs=opus',
+    fileSha256: <Buffer fa 28 20 25 6f 2c d3 f2 df 03 fa 24 7d 7b 01 e7 9d 3f e7 94 34 4a ad ce a0 8c ee 06 bc ce 3c 94>,
+    fileLength: Long { low: 764176, high: 0, unsigned: true },
+    seconds: 27,
+    mediaKey: <Buffer ad f9 19 91 76 08 28 59 63 b2 be 43 13 8d 68 5b d3 90 e7 93 6d 32 29 5e e8 b5 b9 cb 37 76 d6 27>,
+    fileEncSha256: <Buffer ab d4 0e 48 ca 4c 1e 47 86 02 50 3f 0d 87 aa 7f a7 82 ac ff eb 8d 1f ac f1 f8 6d da 36 1e ba e4>,
+    directPath: ''
+  },
+  participant: '',
+  timestamp: 1633111077
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'voice',
+  message: 'message of erro'
+}

Enviar Arquivos

Para envio de documentos, você pode usar o URL, caminho do arquivo local ou Base64

javascript
let response = await client.sendDocument("5561985290357", "http://www.orimi.com/pdf-test.pdf", "Filename Optional");

Para responder uma mensagem com documento, utilize o id da mensagem que deseja responder no último parâmetro, que é opcional.

javascript
let response = await client.sendDocument("5561985290357", "http://www.orimi.com/pdf-test.pdf", "Filename Optional", '3EB01A690E67');
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'document',
+  id: '3EB07C8C333C',
+  to: '556181590153',
+  isgroup: false,
+  file: {
+    url: 'https://mmg.whatsapp.net/d/f/ArJfVUhnzdW7qcBk8-T-mzRWsfMN6k_WOS81td_xJs6E.enc',
+    mimetype: 'application/pdf',
+    filename: 'Filename Optional',
+    fileSha256: <Buffer f6 ed cd 8a 1b 4f 7c b8 54 86 d0 c6 77 7f 91 74 ea db c4 d1 d0 d9 e5 ae ba 71 32 f3 0b 34 bc 3e>,
+    fileLength: Long { low: 20597, high: 0, unsigned: true },
+    mediaKey: <Buffer 1b 7d 59 ce fa 4b 3f 35 14 ca 36 1b bd ba f7 c7 ed 6a f7 3d ea c1 04 b0 7c a1 6b d4 4a ab 33 40>,
+    fileEncSha256: <Buffer 37 db ac 7a aa f5 c2 aa 13 c6 ec 18 9f 32 d7 5b 8a b3 0d fc 50 4f 9c ea aa 2f 8c ed 20 c9 f5 b0>,
+    directPath: '',
+    thumbnail: <Buffer >
+  },
+  participant: '',
+  timestamp: 1633121433
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'document',
+  message: 'message of erro'
+}

Enviar Localização

javascript
let response = await client.sendLocation("5561985290357", -15.8413105, -48.0270346, 'Titulo Opcional', 'endereço opcional');

Para responder uma mensagem com localização, utilize o id da mensagem que deseja responder no último parâmetro, que é opcional.

javascript
let response = await client.sendLocation("5561985290357", -15.8413105, -48.0270346, 'title optional', 'address optional', '3EB01A690E67');
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'location',
+  id: '3EB01A3D9A34',
+  to: '556181590153',
+  name: 'title optional',
+  address: 'address optional',
+  url: '',
+  thumbnail: <Buffer >,
+  latitude: -15.8413105,
+  longitude: -48.0270346,
+  isgroup: false,
+  participant: '',
+  timestamp: 1633122748
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'location',
+  message: 'message of erro'
+}

Enviar Contato

javascript
let response = await client.sendContact("5561985290357",'Name of Contact', '15815954040');

Para responder uma mensagem com contato, utilize o id da mensagem que deseja responder no último parâmetro, que é opcional.

javascript
let response = await client.sendContact("5561985290357",'Nome do Contato', '15815954040', '3EB01A690E67');
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'contact',
+  id: '3EB00AFB1F60',
+  to: '556181590153',
+  display: 'Name of Contact',
+  vcard: 'BEGIN:VCARD\n' +
+    'VERSION:3.0\n' +
+    'FN:Name of Contact\n' +
+    'TEL;type=CELL;type=VOICE;waid=15815954040:+15815954040\n' +
+    'END:VCARD',
+  isgroup: false,
+  timestamp: 1633128149
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'contact',
+  message: 'message of erro'
+}

Enviar Lista

Atenção! Esta função não funciona se estiver conectado a uma conta do WhatsApp Business

javascript

+   const sections = [
+        {
+          title: "Bovina",
+          rows: [
+            { title: "Fraudinha", rowId: "carnes1" },
+            { title: "Alcatra", rowId: "carnes2", description: "Carne boa" },
+          ],
+        },
+        {
+          title: "Suina",
+          rows: [
+            { title: "Costelinha", rowId: "carnes3" },
+            {
+              title: "Picanha Suina",
+              rowId: "carnes4",
+              description: "Carne boa",
+            },
+          ],
+        },
+      ];
+  // Número do contato, nome do botão, matriz de seções, título, descrição: opcional, rodapé: opcional
+  let response = await client.sendList(
+        "5561985290357",
+        "Escolha a Carne",
+        sections,
+        "Escolha 1 tipo de carne",
+        "", //Descrição Opcional
+        "Qual o tipo de carne vai na sua refeição?"
+      );

Para responder uma mensagem com botões, utilize o id da mensagem que deseja responder no último parâmetro, que é opcional.

javascript
  // Número do contato, nome do botão, array de seções, título, descrição: opcional, rodapé: opcional, id da mensagem para resposta
+  let response = await const response = await client.sendList(
+        "5561985290357",
+        "Escolha a Carne",
+        sections,
+        "Escolha 1 tipo de carne",
+        "", //Descrição opcional
+        "Qual o tipo de carne vai na sua refeição?",
+        "3EB01A690E67"
+      );
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'list',
+  id: '3EB0F92B3F1D',
+  to: '556181590153',
+  description: 'Descrição opcional',
+  btnName: 'Nome do Butão',
+  sections: [ Section { rows: [Array], title: 'Nome da Secão' } ],
+  isgroup: false,
+  timestamp: 1633143340
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'list',
+  message: 'message of erro'
+}

Enviar Reação

Para reagir a uma mensagem, você pode usar qualquer Emoji

javascript

+  // Número do contato, Emoji, id da mensagem
+  let response = await client.sendReaction(
+        "5561985290357",
+        "👍",
+        "3EB01A690E67"
+      );
Retorno de sucesso
javascript
{
+  session: 'Marketing',
+  status: 200,
+  type: 'reaction',
+  id: '3EB0F92B3F1D',
+  to: '556181590153',
+  text: '👍',
+  isgroup: false,
+  timestamp: 1633143340
+}
Retorno de erro
javascript
{
+  session: 'Marketing',
+  status: 404,
+  type: 'reaction',
+  message: 'message of erro'
+}

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file diff --git a/docs/status-connection.html b/docs/status-connection.html new file mode 100644 index 0000000..cc8d582 --- /dev/null +++ b/docs/status-connection.html @@ -0,0 +1,24 @@ + + + + + + Status de Conexão | SuperChats + + + + + + + + + + + + + +
Skip to content

Status de Conexão

Callback do StatusFind

Obtenha feedback de conexão seguindo os códigos:

StatusCondições
isLoggedQuando o cliente já possui um token válido e não precisará ler o qrcode novamente
notLoggedQuando o cliente não possui um token válido e precisa ler o código QR novamente
isDisconnectedO cliente desconectou ou foi desconectado
isLogoutO cliente desconectou e removeu o token do dispositivo
isConnectedO cliente conectou a lista com sucesso
serverDisconnectedDesconectado do servidor de socket do Whatsapp
isReconnectedNotifica que foi reconectado novamente a uma conexão

All rights reserved to Orkestral LLC

+ + + + \ No newline at end of file
Skip to content

Download de Midias

Baixar e Salvar Mídias

Baixe e salve qualquer arquivo de mensagem com as funções abaixo

javascript
let client = await superchats.create({
+  session: "Marketing",
+  license: "asjdh-efddff734-sdsdf834-233272",
+  statusFind: async (status) => {
+    console.log(status)
+  },
+  qrcode: async (session, base64Img, asciiQR, urlCode) => {
+  console.log(asciiQR)
+  },
+  onMessage: async (message) => {
+      if (message.isMedia === true) {
+      
+    // Recuperar o buffer de arquivo para uma determinada mensagem
+    // Atenção, use um atraso de pelo menos 2 segundos
+
+    const buffer = await client.decryptByIdFile(message.from, message.id);
+
+    // Salve o arquivo de mensagem na raiz do projeto ou em um diretório: './diretory/filename' não esqueça de criar o diretório
+    // Atenção, use um atraso de pelo menos 2 segundos
+    const saveFile = await client.decryptByIdFileSave(message.from, message.id, filename);
+   
+  }
+   }  // Receba um evento sempre que receber uma mensagem de algum contato
+})
Retorno do decryptFile
javascript
{
+    session: 'Marketing',
+    status: 200,
+    type: "decrypt-by-id-file",
+    buffer: {
+      type: "Buffer",
+      data: [137,80,78,71,13,10,26,10,0,0,0,13,73,72,68]
+    }
+}
Retorno do decryptFileSave
javascript
{
+    session: 'Marketing',
+    status: 404,
+    type: "decrypt-by-id-file-save",
+    response: "./files/teste4.mp4"
+}

All rights reserved to Orkestral LLC

ZW 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�zBE;A6`RoYnYVbGchb9$^iIU2 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 literal 0 HcmV?d00001 diff --git a/docs/assets/inter-roman-vietnamese.paY3CzEB.woff2 b/docs/assets/inter-roman-vietnamese.paY3CzEB.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5a9f9cb9ca0cd78b6ea2f3e5c9d2838dc8895598 GIT binary patch literal 8492 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 a!Vc~9U7SGB8$q3Ii#9CnAx#qS0RRAsKuhfa literal 0 HcmV?d00001 diff --git a/docs/assets/introduction.md.6g_043d2.js b/docs/assets/introduction.md.6g_043d2.js new file mode 100644 index 0000000..0a7e3f3 --- /dev/null +++ b/docs/assets/introduction.md.6g_043d2.js @@ -0,0 +1 @@ +import{_ as a,c as e,o,V as r}from"./chunks/framework.4X8dX8EZ.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"introduction.md","filePath":"introduction.md"}'),t={name:"introduction.md"},s=r('