├── .npmignore ├── .gitignore ├── src ├── index.css └── index.js ├── .github └── workflows │ └── npm-publish.yml ├── vite.config.js ├── package.json ├── LICENSE ├── README.md ├── .jshintrc └── yarn.lock /.npmignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | src/ 3 | .jshintrc 4 | vite.config.js 5 | yarn.lock 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/* 2 | npm-debug.log 3 | .idea/* 4 | .DS_Store 5 | dist 6 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | .ce-rawtool__textarea { 2 | min-height: 200px; 3 | resize: vertical; 4 | border-radius: 8px; 5 | border: 0; 6 | background-color: #1e2128; 7 | font-family: Menlo, Monaco, Consolas, Courier New, monospace; 8 | font-size: 12px; 9 | line-height: 1.6; 10 | letter-spacing: -0.2px; 11 | color: #a1a7b6; 12 | overscroll-behavior: contain; 13 | } 14 | -------------------------------------------------------------------------------- /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish package to NPM 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | publish-and-notify: 10 | uses: codex-team/github-workflows/.github/workflows/npm-publish-and-notify-reusable.yml@main 11 | secrets: 12 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 13 | CODEX_BOT_NOTIFY_EDITORJS_PUBLIC_CHAT: ${{ secrets.CODEX_BOT_NOTIFY_EDITORJS_PUBLIC_CHAT }} -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js"; 3 | import * as pkg from "./package.json"; 4 | 5 | const NODE_ENV = process.argv.mode || "development"; 6 | const VERSION = pkg.version; 7 | 8 | export default { 9 | build: { 10 | copyPublicDir: false, 11 | lib: { 12 | entry: path.resolve(__dirname, "src", "index.js"), 13 | name: "RawTool", 14 | fileName: "raw", 15 | }, 16 | }, 17 | define: { 18 | NODE_ENV: JSON.stringify(NODE_ENV), 19 | VERSION: JSON.stringify(VERSION), 20 | }, 21 | 22 | plugins: [cssInjectedByJsPlugin()], 23 | }; 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@editorjs/raw", 3 | "version": "2.5.1", 4 | "keywords": [ 5 | "codex editor", 6 | "raw", 7 | "editorjs" 8 | ], 9 | "description": "Raw HTML Tool for Editor.js", 10 | "license": "MIT", 11 | "repository": "https://github.com/editor-js/raw", 12 | "files": [ 13 | "dist" 14 | ], 15 | "main": "./dist/raw.umd.js", 16 | "module": "./dist/raw.mjs", 17 | "exports": { 18 | ".": { 19 | "import": "./dist/raw.mjs", 20 | "require": "./dist/raw.umd.js" 21 | } 22 | }, 23 | "scripts": { 24 | "dev": "vite", 25 | "build": "vite build" 26 | }, 27 | "author": { 28 | "name": "CodeX", 29 | "email": "team@codex.so" 30 | }, 31 | "devDependencies": { 32 | "vite": "^4.5.0", 33 | "vite-plugin-css-injected-by-js": "^3.3.0" 34 | }, 35 | "dependencies": { 36 | "@codexteam/icons": "^0.0.4" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 CodeX 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](https://badgen.net/badge/CodeX%20Editor/v2.0/blue) 2 | 3 | # Raw HTML Tool for Editor.js 4 | 5 | Raw Tool for the [Editor.js](https://codex.so/editor) allows to include raw HTML code in your articles. 6 | 7 | ![](https://capella.pics/5195d944-966d-40cf-8f86-78c6349d94cb.jpg) 8 | 9 | ## Installation 10 | 11 | Get the package 12 | 13 | ```shell 14 | yarn add @editorjs/raw 15 | ``` 16 | 17 | Include module at your application 18 | 19 | ```javascript 20 | import RawTool from '@editorjs/raw'; 21 | ``` 22 | 23 | Optionally, you can load this tool from CDN [JsDelivr CDN](https://cdn.jsdelivr.net/npm/@editorjs/raw@latest) 24 | 25 | ## Usage 26 | 27 | Add a new Tool to the `tools` property of the CodeX Editor initial config. 28 | 29 | ```javascript 30 | var editor = CodexEditor({ 31 | ... 32 | 33 | tools: { 34 | ... 35 | raw: RawTool, 36 | } 37 | 38 | ... 39 | }); 40 | ``` 41 | 42 | ## Config Params 43 | 44 | | Field | Type | Description | 45 | | ----------- | -------- | ------------------------------| 46 | | placeholder | `string` | Raw Tool's placeholder string | 47 | 48 | ## Output data 49 | 50 | This Tool returns raw HTML code. 51 | 52 | ```json 53 | { 54 | "type" : "raw", 55 | "data" : { 56 | "html": "
Any HTML code
", 57 | } 58 | } 59 | ``` 60 | 61 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | /* 3 | * ENVIRONMENTS 4 | * ================= 5 | */ 6 | 7 | // Define globals exposed by modern browsers. 8 | "browser": true, 9 | 10 | // Define globals exposed by Node.js. 11 | "node": true, 12 | 13 | // Define globals exposed by CodeX Team 14 | "predef": [], 15 | 16 | // Allow ES6. 17 | "esversion": 6, 18 | 19 | /* 20 | * ENFORCING OPTIONS 21 | * ================= 22 | */ 23 | 24 | // Force all variable names to use either camelCase style or UPPER_CASE 25 | // with underscores. 26 | "camelcase": true, 27 | 28 | // Prohibit use of == and != in favor of === and !==. 29 | "eqeqeq": true, 30 | 31 | // Enforce tab width of 2 spaces. 32 | "indent": 2, 33 | 34 | // Prohibit use of a variable before it is defined. 35 | "latedef": true, 36 | 37 | // Enforce line length to 100 characters 38 | "maxlen": 120, 39 | 40 | // Require capitalized names for constructor functions. 41 | "newcap": true, 42 | 43 | // Enforce use of single quotation marks for strings. 44 | "quotmark": "single", 45 | 46 | // Enforce placing 'use strict' at the top function scope 47 | "strict": true, 48 | 49 | // Prohibit use of explicitly undeclared variables. 50 | "undef": true, 51 | 52 | // Warn when variables are defined but never used. 53 | "unused": true, 54 | 55 | /* 56 | * RELAXING OPTIONS 57 | * ================= 58 | */ 59 | 60 | // Suppress warnings about == null comparisons. 61 | "eqnull": true 62 | } 63 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Build styles 3 | */ 4 | import './index.css'; 5 | 6 | import { IconHtml } from '@codexteam/icons'; 7 | 8 | /** 9 | * Raw HTML Tool for CodeX Editor 10 | * 11 | * @author CodeX (team@codex.so) 12 | * @copyright CodeX 2018 13 | * @license The MIT License (MIT) 14 | */ 15 | 16 | /** 17 | * 18 | */ 19 | export default class RawTool { 20 | /** 21 | * Notify core that read-only mode is supported 22 | * 23 | * @returns {boolean} 24 | */ 25 | static get isReadOnlySupported() { 26 | return true; 27 | } 28 | 29 | /** 30 | * Should this tool be displayed at the Editor's Toolbox 31 | * 32 | * @returns {boolean} 33 | * @public 34 | */ 35 | static get displayInToolbox() { 36 | return true; 37 | } 38 | 39 | /** 40 | * Allow to press Enter inside the RawTool textarea 41 | * 42 | * @returns {boolean} 43 | * @public 44 | */ 45 | static get enableLineBreaks() { 46 | return true; 47 | } 48 | 49 | /** 50 | * Get Tool toolbox settings 51 | * icon - Tool icon's SVG 52 | * title - title to show in toolbox 53 | * 54 | * @returns {{icon: string, title: string}} 55 | */ 56 | static get toolbox() { 57 | return { 58 | icon: IconHtml, 59 | title: 'Raw HTML', 60 | }; 61 | } 62 | 63 | /** 64 | * @typedef {object} RawData — plugin saved data 65 | * @param {string} html - previously saved HTML code 66 | * @property 67 | */ 68 | 69 | /** 70 | * Render plugin`s main Element and fill it with saved data 71 | * 72 | * @param {RawData} data — previously saved HTML data 73 | * @param {object} config - user config for Tool 74 | * @param {object} api - CodeX Editor API 75 | * @param {boolean} readOnly - read-only mode flag 76 | */ 77 | constructor({ data, config, api, readOnly }) { 78 | this.api = api; 79 | this.readOnly = readOnly; 80 | 81 | this.placeholder = api.i18n.t(config.placeholder || RawTool.DEFAULT_PLACEHOLDER); 82 | 83 | this.CSS = { 84 | baseClass: this.api.styles.block, 85 | input: this.api.styles.input, 86 | wrapper: 'ce-rawtool', 87 | textarea: 'ce-rawtool__textarea', 88 | }; 89 | 90 | this.data = { 91 | html: data.html || '', 92 | }; 93 | 94 | this.textarea = null; 95 | this.resizeDebounce = null; 96 | } 97 | 98 | /** 99 | * Return Tool's view 100 | * 101 | * @returns {HTMLDivElement} this.element - RawTool's wrapper 102 | * @public 103 | */ 104 | render() { 105 | const wrapper = document.createElement('div'); 106 | const renderingTime = 100; 107 | 108 | this.textarea = document.createElement('textarea'); 109 | 110 | wrapper.classList.add(this.CSS.baseClass, this.CSS.wrapper); 111 | 112 | this.textarea.classList.add(this.CSS.textarea, this.CSS.input); 113 | this.textarea.textContent = this.data.html; 114 | this.textarea.placeholder = this.placeholder; 115 | 116 | if (this.readOnly) { 117 | this.textarea.disabled = true; 118 | } else { 119 | this.textarea.addEventListener('input', () => { 120 | this.onInput(); 121 | }); 122 | } 123 | 124 | wrapper.appendChild(this.textarea); 125 | 126 | setTimeout(() => { 127 | this.resize(); 128 | }, renderingTime); 129 | 130 | return wrapper; 131 | } 132 | 133 | /** 134 | * Extract Tool's data from the view 135 | * 136 | * @param {HTMLDivElement} rawToolsWrapper - RawTool's wrapper, containing textarea with raw HTML code 137 | * @returns {RawData} - raw HTML code 138 | * @public 139 | */ 140 | save(rawToolsWrapper) { 141 | return { 142 | html: rawToolsWrapper.querySelector('textarea').value, 143 | }; 144 | } 145 | 146 | /** 147 | * Default placeholder for RawTool's textarea 148 | * 149 | * @public 150 | * @returns {string} 151 | */ 152 | static get DEFAULT_PLACEHOLDER() { 153 | return 'Enter HTML code'; 154 | } 155 | 156 | /** 157 | * Automatic sanitize config 158 | */ 159 | static get sanitize() { 160 | return { 161 | html: true, // Allow HTML tags 162 | }; 163 | } 164 | 165 | /** 166 | * Textarea change event 167 | * 168 | * @returns {void} 169 | */ 170 | onInput() { 171 | if (this.resizeDebounce) { 172 | clearTimeout(this.resizeDebounce); 173 | } 174 | 175 | this.resizeDebounce = setTimeout(() => { 176 | this.resize(); 177 | }, 200); 178 | } 179 | 180 | /** 181 | * Resize textarea to fit whole height 182 | * 183 | * @returns {void} 184 | */ 185 | resize() { 186 | this.textarea.style.height = 'auto'; 187 | this.textarea.style.height = this.textarea.scrollHeight + 'px'; 188 | } 189 | } 190 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@codexteam/icons@^0.0.4": 6 | version "0.0.4" 7 | resolved "https://registry.yarnpkg.com/@codexteam/icons/-/icons-0.0.4.tgz#8b72dcd3f3a1b0d880bdceb2abebd74b46d3ae13" 8 | integrity sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q== 9 | 10 | "@esbuild/android-arm64@0.18.20": 11 | version "0.18.20" 12 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" 13 | integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== 14 | 15 | "@esbuild/android-arm@0.18.20": 16 | version "0.18.20" 17 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" 18 | integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== 19 | 20 | "@esbuild/android-x64@0.18.20": 21 | version "0.18.20" 22 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" 23 | integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== 24 | 25 | "@esbuild/darwin-arm64@0.18.20": 26 | version "0.18.20" 27 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" 28 | integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== 29 | 30 | "@esbuild/darwin-x64@0.18.20": 31 | version "0.18.20" 32 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" 33 | integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== 34 | 35 | "@esbuild/freebsd-arm64@0.18.20": 36 | version "0.18.20" 37 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" 38 | integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== 39 | 40 | "@esbuild/freebsd-x64@0.18.20": 41 | version "0.18.20" 42 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" 43 | integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== 44 | 45 | "@esbuild/linux-arm64@0.18.20": 46 | version "0.18.20" 47 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" 48 | integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== 49 | 50 | "@esbuild/linux-arm@0.18.20": 51 | version "0.18.20" 52 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" 53 | integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== 54 | 55 | "@esbuild/linux-ia32@0.18.20": 56 | version "0.18.20" 57 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" 58 | integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== 59 | 60 | "@esbuild/linux-loong64@0.18.20": 61 | version "0.18.20" 62 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" 63 | integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== 64 | 65 | "@esbuild/linux-mips64el@0.18.20": 66 | version "0.18.20" 67 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" 68 | integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== 69 | 70 | "@esbuild/linux-ppc64@0.18.20": 71 | version "0.18.20" 72 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" 73 | integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== 74 | 75 | "@esbuild/linux-riscv64@0.18.20": 76 | version "0.18.20" 77 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" 78 | integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== 79 | 80 | "@esbuild/linux-s390x@0.18.20": 81 | version "0.18.20" 82 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" 83 | integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== 84 | 85 | "@esbuild/linux-x64@0.18.20": 86 | version "0.18.20" 87 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" 88 | integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== 89 | 90 | "@esbuild/netbsd-x64@0.18.20": 91 | version "0.18.20" 92 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" 93 | integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== 94 | 95 | "@esbuild/openbsd-x64@0.18.20": 96 | version "0.18.20" 97 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" 98 | integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== 99 | 100 | "@esbuild/sunos-x64@0.18.20": 101 | version "0.18.20" 102 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" 103 | integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== 104 | 105 | "@esbuild/win32-arm64@0.18.20": 106 | version "0.18.20" 107 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" 108 | integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== 109 | 110 | "@esbuild/win32-ia32@0.18.20": 111 | version "0.18.20" 112 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" 113 | integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== 114 | 115 | "@esbuild/win32-x64@0.18.20": 116 | version "0.18.20" 117 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" 118 | integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== 119 | 120 | esbuild@^0.18.10: 121 | version "0.18.20" 122 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" 123 | integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== 124 | optionalDependencies: 125 | "@esbuild/android-arm" "0.18.20" 126 | "@esbuild/android-arm64" "0.18.20" 127 | "@esbuild/android-x64" "0.18.20" 128 | "@esbuild/darwin-arm64" "0.18.20" 129 | "@esbuild/darwin-x64" "0.18.20" 130 | "@esbuild/freebsd-arm64" "0.18.20" 131 | "@esbuild/freebsd-x64" "0.18.20" 132 | "@esbuild/linux-arm" "0.18.20" 133 | "@esbuild/linux-arm64" "0.18.20" 134 | "@esbuild/linux-ia32" "0.18.20" 135 | "@esbuild/linux-loong64" "0.18.20" 136 | "@esbuild/linux-mips64el" "0.18.20" 137 | "@esbuild/linux-ppc64" "0.18.20" 138 | "@esbuild/linux-riscv64" "0.18.20" 139 | "@esbuild/linux-s390x" "0.18.20" 140 | "@esbuild/linux-x64" "0.18.20" 141 | "@esbuild/netbsd-x64" "0.18.20" 142 | "@esbuild/openbsd-x64" "0.18.20" 143 | "@esbuild/sunos-x64" "0.18.20" 144 | "@esbuild/win32-arm64" "0.18.20" 145 | "@esbuild/win32-ia32" "0.18.20" 146 | "@esbuild/win32-x64" "0.18.20" 147 | 148 | fsevents@~2.3.2: 149 | version "2.3.3" 150 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" 151 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 152 | 153 | nanoid@^3.3.6: 154 | version "3.3.7" 155 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" 156 | integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== 157 | 158 | picocolors@^1.0.0: 159 | version "1.0.0" 160 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 161 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 162 | 163 | postcss@^8.4.27: 164 | version "8.4.31" 165 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" 166 | integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== 167 | dependencies: 168 | nanoid "^3.3.6" 169 | picocolors "^1.0.0" 170 | source-map-js "^1.0.2" 171 | 172 | rollup@^3.27.1: 173 | version "3.29.4" 174 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" 175 | integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== 176 | optionalDependencies: 177 | fsevents "~2.3.2" 178 | 179 | source-map-js@^1.0.2: 180 | version "1.0.2" 181 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 182 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 183 | 184 | vite-plugin-css-injected-by-js@^3.3.0: 185 | version "3.3.0" 186 | resolved "https://registry.yarnpkg.com/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.3.0.tgz#c19480a9e42a95c5bced976a9dde1446f9bd91ff" 187 | integrity sha512-xG+jyHNCmUqi/TXp6q88wTJGeAOrNLSyUUTp4qEQ9QZLGcHWQQsCsSSKa59rPMQr8sOzfzmWDd8enGqfH/dBew== 188 | 189 | vite@^4.5.0: 190 | version "4.5.0" 191 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.0.tgz#ec406295b4167ac3bc23e26f9c8ff559287cff26" 192 | integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw== 193 | dependencies: 194 | esbuild "^0.18.10" 195 | postcss "^8.4.27" 196 | rollup "^3.27.1" 197 | optionalDependencies: 198 | fsevents "~2.3.2" 199 | --------------------------------------------------------------------------------