From 8021012037be14f1b5e6695bb8ca787fb269c701 Mon Sep 17 00:00:00 2001 From: Dallas Read Date: Thu, 19 Dec 2024 13:14:26 -0400 Subject: [PATCH] Bootstrap support widget --- _widget/.gitignore | 24 + _widget/README.md | 5 + _widget/index.html | 13 + _widget/old_src/App.vue | 30 + _widget/old_src/assets/vue.svg | 1 + _widget/old_src/components/HelloWorld.vue | 43 ++ _widget/old_src/main.js | 5 + _widget/old_src/style.css | 79 +++ _widget/package.json | 19 + _widget/public/vite.svg | 1 + _widget/src/assets/svgs.js | 7 + _widget/src/components/app/component.vue | 139 ++++ _widget/src/components/app/reset.scss | 77 ++ _widget/src/components/app/style.scss | 42 ++ _widget/src/components/app/url-dictionary.js | 64 ++ _widget/src/components/app/variables.scss | 15 + _widget/src/components/article/component.vue | 95 +++ _widget/src/components/article/resolving.scss | 17 + _widget/src/components/article/style.scss | 137 ++++ _widget/src/components/article/syntax.scss | 62 ++ _widget/src/components/article/tables.scss | 28 + _widget/src/components/articles/component.vue | 80 +++ _widget/src/components/articles/style.scss | 31 + _widget/src/components/footer/component.vue | 19 + _widget/src/components/footer/style.scss | 18 + _widget/src/components/header/component.vue | 40 ++ _widget/src/components/header/style.scss | 70 ++ _widget/src/components/prompt/animate.scss | 55 ++ _widget/src/components/prompt/component.vue | 21 + _widget/src/components/prompt/style.scss | 33 + _widget/src/components/welcome/component.vue | 20 + _widget/src/components/welcome/style.scss | 22 + _widget/src/main.js | 4 + _widget/vite.config.js | 6 + _widget/yarn.lock | 665 ++++++++++++++++++ 35 files changed, 1987 insertions(+) create mode 100644 _widget/.gitignore create mode 100644 _widget/README.md create mode 100644 _widget/index.html create mode 100644 _widget/old_src/App.vue create mode 100644 _widget/old_src/assets/vue.svg create mode 100644 _widget/old_src/components/HelloWorld.vue create mode 100644 _widget/old_src/main.js create mode 100644 _widget/old_src/style.css create mode 100644 _widget/package.json create mode 100644 _widget/public/vite.svg create mode 100644 _widget/src/assets/svgs.js create mode 100644 _widget/src/components/app/component.vue create mode 100644 _widget/src/components/app/reset.scss create mode 100644 _widget/src/components/app/style.scss create mode 100644 _widget/src/components/app/url-dictionary.js create mode 100644 _widget/src/components/app/variables.scss create mode 100644 _widget/src/components/article/component.vue create mode 100644 _widget/src/components/article/resolving.scss create mode 100644 _widget/src/components/article/style.scss create mode 100644 _widget/src/components/article/syntax.scss create mode 100644 _widget/src/components/article/tables.scss create mode 100644 _widget/src/components/articles/component.vue create mode 100644 _widget/src/components/articles/style.scss create mode 100644 _widget/src/components/footer/component.vue create mode 100644 _widget/src/components/footer/style.scss create mode 100644 _widget/src/components/header/component.vue create mode 100644 _widget/src/components/header/style.scss create mode 100644 _widget/src/components/prompt/animate.scss create mode 100644 _widget/src/components/prompt/component.vue create mode 100644 _widget/src/components/prompt/style.scss create mode 100644 _widget/src/components/welcome/component.vue create mode 100644 _widget/src/components/welcome/style.scss create mode 100644 _widget/src/main.js create mode 100644 _widget/vite.config.js create mode 100644 _widget/yarn.lock diff --git a/_widget/.gitignore b/_widget/.gitignore new file mode 100644 index 000000000..a547bf36d --- /dev/null +++ b/_widget/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/_widget/README.md b/_widget/README.md new file mode 100644 index 000000000..1511959c2 --- /dev/null +++ b/_widget/README.md @@ -0,0 +1,5 @@ +# Vue 3 + Vite + +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` + + diff --git a/_widget/old_src/App.vue b/_widget/old_src/App.vue new file mode 100644 index 000000000..81c28ec8c --- /dev/null +++ b/_widget/old_src/App.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/_widget/old_src/assets/vue.svg b/_widget/old_src/assets/vue.svg new file mode 100644 index 000000000..770e9d333 --- /dev/null +++ b/_widget/old_src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_widget/old_src/components/HelloWorld.vue b/_widget/old_src/components/HelloWorld.vue new file mode 100644 index 000000000..546ebbc62 --- /dev/null +++ b/_widget/old_src/components/HelloWorld.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/_widget/old_src/main.js b/_widget/old_src/main.js new file mode 100644 index 000000000..2425c0f74 --- /dev/null +++ b/_widget/old_src/main.js @@ -0,0 +1,5 @@ +import { createApp } from 'vue' +import './style.css' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/_widget/old_src/style.css b/_widget/old_src/style.css new file mode 100644 index 000000000..bb131d6b8 --- /dev/null +++ b/_widget/old_src/style.css @@ -0,0 +1,79 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/_widget/package.json b/_widget/package.json new file mode 100644 index 000000000..14afcf298 --- /dev/null +++ b/_widget/package.json @@ -0,0 +1,19 @@ +{ + "name": "widget", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "vue": "^3.5.13" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.1", + "sass-embedded": "^1.83.0", + "vite": "^6.0.3" + } +} diff --git a/_widget/public/vite.svg b/_widget/public/vite.svg new file mode 100644 index 000000000..e7b8dfb1b --- /dev/null +++ b/_widget/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_widget/src/assets/svgs.js b/_widget/src/assets/svgs.js new file mode 100644 index 000000000..f6718bb29 --- /dev/null +++ b/_widget/src/assets/svgs.js @@ -0,0 +1,7 @@ +export const backIcon = ''; + +export const minimizeIcon = ''; + +export const spinnerIcon = ''; + +export const trustyIcon = ''; diff --git a/_widget/src/components/app/component.vue b/_widget/src/components/app/component.vue new file mode 100644 index 000000000..54a87aea1 --- /dev/null +++ b/_widget/src/components/app/component.vue @@ -0,0 +1,139 @@ + + + + + + diff --git a/_widget/src/components/app/reset.scss b/_widget/src/components/app/reset.scss new file mode 100644 index 000000000..5b96e0546 --- /dev/null +++ b/_widget/src/components/app/reset.scss @@ -0,0 +1,77 @@ +/* Based on http://meyerweb.com/eric/tools/css/reset/ +v2.0 | 20110126 +License: none (public domain) +*/ + +#dnsimple-support { + box-sizing: border-box; + + div, span, applet, object, iframe, + h1, h2, h3, h4, h5, h6, p, blockquote, pre, + a, abbr, acronym, address, big, cite, code, + del, dfn, em, img, ins, kbd, q, s, samp, + small, strike, strong, sub, sup, tt, var, + b, u, center, + dl, dt, dd, ol, ul, li, + fieldset, form, label, legend, + table, caption, tbody, tfoot, thead, tr, th, td, + article, aside, canvas, details, embed, + figure, figcaption, footer, header, hlocation, + menu, nav, output, ruby, section, summary, + time, mark, audio, video, + input, textarea, select, button, .button { + margin: 0; + padding: 0; + border: 0; + font-size: inherit; + font: inherit; + color: inherit; + text-transform: inherit; + font-weight: inherit; + line-height: inherit; + vertical-align: baseline; + background: none; + box-shadow: none; + outline: none; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + } + /* HTML5 display-role reset for older browsers */ + article, aside, details, figcaption, figure, + footer, header, hlocation, menu, nav, section { + display: block; + } + ol, ul { + list-style: none; + } + blockquote, q { + quotes: none; + } + blockquote:before, blockquote:after, + q:before, q:after { + content: ''; + content: none; + } + table { + border-collapse: collapse; + border-spacing: 0; + } + a { + color: inherit; + text-decoration: inherit; + text-transform: inherit; + } + img { + max-width: 100%; + } + *, *:before, *:after { + box-sizing: inherit; + } + .no-select { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } +} diff --git a/_widget/src/components/app/style.scss b/_widget/src/components/app/style.scss new file mode 100644 index 000000000..9da4c7bdf --- /dev/null +++ b/_widget/src/components/app/style.scss @@ -0,0 +1,42 @@ +@import './variables.scss'; +@import './reset.scss'; + +#dnsimple-support { + position: fixed; + bottom: 0; + right: 0; + width: 480px; + font-size: $rem; + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + line-height: 1.6; + color: #222; + z-index: 999; + + @media ($desktop-only) { + display: none; + } +} + + +#dnsimple-support { + @import '../article/style.scss'; + @import '../articles/style.scss'; + @import '../footer/style.scss'; + @import '../header/style.scss'; + @import '../prompt/style.scss'; + @import '../welcome/style.scss'; + + .relative { + position: relative; + box-shadow: $box-shadow; + } + + .route { + height: 475px; + border-left: 1px solid $line-color; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + padding: $padding; + background: $white; + } +} diff --git a/_widget/src/components/app/url-dictionary.js b/_widget/src/components/app/url-dictionary.js new file mode 100644 index 000000000..1987ccf28 --- /dev/null +++ b/_widget/src/components/app/url-dictionary.js @@ -0,0 +1,64 @@ +const DICTIONARY = { + // Keys are the search terms + // Show 1 article with URL path + // Show a category with "cat:Name" + + "Let's Encrypt": /letsencrypt/, + 'Standard SSL Certificate': /standard/, + 'Reverse Zones': /zones/, + 'share management': /memberships/, + Automation: /automation/, + 'User Settings': /user/, + DNSSEC: /dnssec/, + 'Renew Domain': /renewal/, + 'Two-Factor Authentication': /twofa/, + + '/articles/account-users/': /members/, + '/articles/a-record/': /record_type=a/, + '/articles/aaaa-record/': /record_type=aaaa/, + '/articles/alias-record/': /record_type=alias/, + '/articles/caa-record/': /record_type=caa/, + '/articles/cname-record/': /record_type=cname/, + '/articles/heroku-connector/': /connections|connector/, + // "": /record_type=hinfo/, + '/articles/mx-record/': /record_type=mx/, + // "": /record_type=naptr/, + '/articles/ns-record/': /record_type=ns/, + '/articles/pool-record/': /record_type=pool/, + // "": /record_type=ptr/, + '/articles/spf-record/': /record_type=spf/, + '/articles/srv-record/': /record_type=srv/, + // "": /record_type=sshfp/, + // "": /record_type=txt/, + '/articles/url-record/': /record_type=url/, + // "/articles/dkim-record/": /dkim/, + // "/articles/soa-record/": /soa/, + '/articles/differences-between-a-cname-alias-url/': /records/, + + 'cat:CloudFlare and DNSimple': /cloudflare/, + 'cat:Heroku and DNSimple': /heroku/, + 'cat:Name Servers': /name-servers/, + 'cat:SSL Certificates': /ssl|certificate/, + 'cat:Domain Transfers': /transfer|push/, + 'cat:Services': /services/, + 'cat:Templates': /templates/, + 'cat:Contacts': /contacts/, + 'cat:Secondary DNS': /secondary/, + 'cat:Integrations': /integrations/, + 'cat:Whois Privacy': /whois/, + 'cat:Emails': /email/, + 'cat:API': /api/, + invoice: /\/account/ + // "cat:Account": /account/, + // "cat:DNS": /dns|records/, + // "cat:Domains": /domains/, + // "cat:DNSimple": /dnsimple/, +}; + +function urlMatchingDictionary (url) { + for (const key in DICTIONARY) + if (DICTIONARY[key].test(url)) + return key; +} + +export { urlMatchingDictionary }; diff --git a/_widget/src/components/app/variables.scss b/_widget/src/components/app/variables.scss new file mode 100644 index 000000000..578129284 --- /dev/null +++ b/_widget/src/components/app/variables.scss @@ -0,0 +1,15 @@ +$blue: #1A5EC6; +$dark-gray: #333; +$medium-gray: #7e7e7e; +$light-gray: #eaeaea; +$yellow: #f8c939; +$orange: #ff7f2a; +$green: #43a047; +$white: #fff; +$rem: 16px; +$padding: 15px; +$line-color: #ddd; +$desktop-only: "max-width: 640px"; +$font-monospace: Menlo,Monaco,Consolas,"Courier New",monospace; +$font-size-monospace: 13px; +$box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); diff --git a/_widget/src/components/article/component.vue b/_widget/src/components/article/component.vue new file mode 100644 index 000000000..435193e70 --- /dev/null +++ b/_widget/src/components/article/component.vue @@ -0,0 +1,95 @@ + + + diff --git a/_widget/src/components/article/resolving.scss b/_widget/src/components/article/resolving.scss new file mode 100644 index 000000000..373b4e116 --- /dev/null +++ b/_widget/src/components/article/resolving.scss @@ -0,0 +1,17 @@ +// Derived from support.dnsimple.com/content/assets/css/_resolving + +.resolving { + padding: $padding; + margin-bottom: $padding; +} + +.resolving-light { + background: #eee; +} + +.resolving-dark { + background: #000; + a { + color: #fff; + } +} diff --git a/_widget/src/components/article/style.scss b/_widget/src/components/article/style.scss new file mode 100644 index 000000000..caa2bfe76 --- /dev/null +++ b/_widget/src/components/article/style.scss @@ -0,0 +1,137 @@ +.article { + @import "./syntax.css"; + @import "./resolving.css"; + @import "./tables.css"; + + h1, h2, h3, h4, h5, h6, p, ul, ol, .table-wrapper, pre, warning, note, tip, info, .marker { + margin-bottom: $padding; + } + + h1 { + font-size: 160%; + line-height: 1.3; + color: $blue; + font-weight: bold; + margin-bottom: $padding; + } + + h2 { + font-size: 140%; + color: #222; + font-weight: bold; + } + + h3 { + font-size: 130%; + color: $blue; + font-weight: bold; + + &#toc { + background: $medium-gray; + color: #fff; + text-transform: uppercase; + font-weight: normal; + font-size: 80%; + margin-bottom: 0; + padding: 5px 5px 5px 26px; + } + } + + h4 { + font-size: 120%; + color: #555; + font-style: oblique; + } + + h5 { + font-size: 110%; + color: #888; + font-style: oblique; + } + + a { + color: $blue; + transition: all 0.2s ease; + + &:hover { + text-decoration: underline; + } + } + + hr { + margin: 20px 0; + border: 0; + border-top: 1px solid $line-color; + } + + ul, ol { + margin-left: 25px; + } + + ul { + list-style: disc; + } + + ol { + list-style: decimal; + } + + pre { + display: block; + overflow-x: scroll; + padding: 10px; + font-family: $font-monospace; + font-size: $font-size-monospace; + background-color: #f5f5f5; + border: 1px solid #ccc; + word-break: break-all; + word-wrap: break-word; + border-radius: 4px; + } + + warning, note, tip, info, .marker, #markdown-toc { + display: block; + padding: $padding; + overflow: auto; + background: $light-gray; + -webkit-overflow-scrolling: touch; + margin-left: 6px; + + *:last-child { + margin-bottom: 0; + } + } + + warning, .marker-warning { + box-shadow: -6px 0 0 0 $orange; + } + + tip, .marker-tip { + box-shadow: -6px 0 0 0 $green; + } + + note, .marker-note { + box-shadow: -6px 0 0 0 $yellow; + } + + info, .marker-info, #markdown-toc { + box-shadow: -6px 0 0 0 $medium-gray; + } + + #markdown-toc { + padding-left: 40px; + + a { + color: inherit; + text-decoration: underline; + } + } +} + +b, strong { + font-weight: bold; +} + +i, em { + font-style: oblique; +} diff --git a/_widget/src/components/article/syntax.scss b/_widget/src/components/article/syntax.scss new file mode 100644 index 000000000..583cd831c --- /dev/null +++ b/_widget/src/components/article/syntax.scss @@ -0,0 +1,62 @@ +// Derived from support.dnsimple.com/content/assets/css/_syntax + +// code { background: #ffffff; } +code .c { color: #999988; font-style: italic } /* Comment */ +code .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +code .k { font-weight: bold } /* Keyword */ +code .o { font-weight: bold } /* Operator */ +code .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +code .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +code .c1 { color: #999988; font-style: italic } /* Comment.Single */ +code .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +code .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +code .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +code .ge { font-style: italic } /* Generic.Emph */ +code .gr { color: #aa0000 } /* Generic.Error */ +code .gh { color: #999999 } /* Generic.Heading */ +code .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +code .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +code .go { color: #888888 } /* Generic.Output */ +code .gp { color: #555555 } /* Generic.Prompt */ +code .gs { font-weight: bold } /* Generic.Strong */ +code .gu { color: #aaaaaa } /* Generic.Subheading */ +code .gt { color: #aa0000 } /* Generic.Traceback */ +code .kc { font-weight: bold } /* Keyword.Constant */ +code .kd { font-weight: bold } /* Keyword.Declaration */ +code .kp { font-weight: bold } /* Keyword.Pseudo */ +code .kr { font-weight: bold } /* Keyword.Reserved */ +code .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +code .m { color: #009999 } /* Literal.Number */ +code .s { color: #d14 } /* Literal.String */ +code .na { color: #008080 } /* Name.Attribute */ +code .nb { color: #0086B3 } /* Name.Builtin */ +code .nc { color: #445588; font-weight: bold } /* Name.Class */ +code .no { color: #008080 } /* Name.Constant */ +code .ni { color: #800080 } /* Name.Entity */ +code .ne { color: #990000; font-weight: bold } /* Name.Exception */ +code .nf { color: #990000; font-weight: bold } /* Name.Function */ +code .nn { color: #555555 } /* Name.Namespace */ +code .nt { color: #000080 } /* Name.Tag */ +code .nv { color: #008080 } /* Name.Variable */ +code .ow { font-weight: bold } /* Operator.Word */ +code .w { color: #bbbbbb } /* Text.Whitespace */ +code .mf { color: #009999 } /* Literal.Number.Float */ +code .mh { color: #009999 } /* Literal.Number.Hex */ +code .mi { color: #009999 } /* Literal.Number.Integer */ +code .mo { color: #009999 } /* Literal.Number.Oct */ +code .sb { color: #d14 } /* Literal.String.Backtick */ +code .sc { color: #d14 } /* Literal.String.Char */ +code .sd { color: #d14 } /* Literal.String.Doc */ +code .s2 { color: #d14 } /* Literal.String.Double */ +code .se { color: #d14 } /* Literal.String.Escape */ +code .sh { color: #d14 } /* Literal.String.Heredoc */ +code .si { color: #d14 } /* Literal.String.Interpol */ +code .sx { color: #d14 } /* Literal.String.Other */ +code .sr { color: #009926 } /* Literal.String.Regex */ +code .s1 { color: #d14 } /* Literal.String.Single */ +code .ss { color: #990073 } /* Literal.String.Symbol */ +code .bp { color: #999999 } /* Name.Builtin.Pseudo */ +code .vc { color: #008080 } /* Name.Variable.Class */ +code .vg { color: #008080 } /* Name.Variable.Global */ +code .vi { color: #008080 } /* Name.Variable.Instance */ +code .il { color: #009999 } /* Literal.Number.Integer.Long */ diff --git a/_widget/src/components/article/tables.scss b/_widget/src/components/article/tables.scss new file mode 100644 index 000000000..dad9e34f4 --- /dev/null +++ b/_widget/src/components/article/tables.scss @@ -0,0 +1,28 @@ +// Derived from support.dnsimple.com/content/assets/css/_tables + +.table-wrapper { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.15); + border-radius: 3px; + + table { + background: $white; + width: 100%; + border-collapse: collapse; + + th, td { + padding: 0.6rem 1.2rem; + } + + th { + border-bottom: 2px solid $yellow; + font-weight: bold; + background: $white; + } + + tr:nth-child(2n + 1) { + background-color: #f1f1f1; + } + } +} diff --git a/_widget/src/components/articles/component.vue b/_widget/src/components/articles/component.vue new file mode 100644 index 000000000..8bae931c0 --- /dev/null +++ b/_widget/src/components/articles/component.vue @@ -0,0 +1,80 @@ + + + diff --git a/_widget/src/components/articles/style.scss b/_widget/src/components/articles/style.scss new file mode 100644 index 000000000..c642e6c66 --- /dev/null +++ b/_widget/src/components/articles/style.scss @@ -0,0 +1,31 @@ +.articles { + margin-top: -$padding; + + h3 { + color: $blue; + font-weight: bold; + } + + mark { + background: #fff3b6; + padding: 2px 0; + } + + li { + padding: $padding 0; + border-bottom: 1px solid $line-color; + + &:last-child { + border-bottom: 0; + } + } +} + +.loading { + text-align: center; + padding: 25vh 0; + + img { + width: 8vh; + } +} diff --git a/_widget/src/components/footer/component.vue b/_widget/src/components/footer/component.vue new file mode 100644 index 000000000..be6712417 --- /dev/null +++ b/_widget/src/components/footer/component.vue @@ -0,0 +1,19 @@ + + + diff --git a/_widget/src/components/footer/style.scss b/_widget/src/components/footer/style.scss new file mode 100644 index 000000000..51fa21517 --- /dev/null +++ b/_widget/src/components/footer/style.scss @@ -0,0 +1,18 @@ +.footer { + margin-top: $padding; + padding: $padding * 2 $padding; + border: 1px solid $line-color; + border-radius: 4px; + + .button { + float: right; + color: #333; + display: inline-block; + background: #fff; + border-radius: 4px; + padding: 5px 10px; + margin-top: -6px; + margin-bottom: -10px; + border: 1px solid $line-color; + } +} diff --git a/_widget/src/components/header/component.vue b/_widget/src/components/header/component.vue new file mode 100644 index 000000000..4a9a06984 --- /dev/null +++ b/_widget/src/components/header/component.vue @@ -0,0 +1,40 @@ + + + + + + + diff --git a/_widget/src/components/header/style.scss b/_widget/src/components/header/style.scss new file mode 100644 index 000000000..2d0f28f5a --- /dev/null +++ b/_widget/src/components/header/style.scss @@ -0,0 +1,70 @@ +@use "sass:math"; + +@import "../app/variables.scss"; + +.header { + background: $blue; + text-align: center; + padding: $padding; + border-top-left-radius: 4px; + + h1 { + color: $white; + margin-bottom: $padding; + } + + .minimize { + color: $white; + position: absolute; + top: 0; + right: 0; + line-height: 1; + padding: $padding * 1.1 math.div($padding, 1.25); + + svg { + width: $rem * 1.25; + height: $rem * 1.25; + color: $white; + opacity: 0.5; + } + + &:hover { + img { + opacity: 1.0; + } + } + } + + input { + outline: none; + padding: 10px; + width: 100%; + border: 0; + border-bottom: 1px solid #eee; + background: $white; + border-radius: 4px; + } +} + +.route { + & > .back { + position: absolute; + top: 0; + left: 0; + padding: math.div($padding, 1.25) math.div($padding, 2); + line-height: 1; + + svg { + width: $rem * 1.75; + height: $rem * 1.75; + color: $white; + opacity: 0.5; + } + + &:hover { + img { + opacity: 1.0; + } + } + } +} diff --git a/_widget/src/components/prompt/animate.scss b/_widget/src/components/prompt/animate.scss new file mode 100644 index 000000000..3190fc946 --- /dev/null +++ b/_widget/src/components/prompt/animate.scss @@ -0,0 +1,55 @@ +@-webkit-keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +.animated.faster { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; +} + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +@media (print), (prefers-reduced-motion: reduce) { + .animated { + -webkit-animation-duration: 1ms !important; + animation-duration: 1ms !important; + -webkit-transition-duration: 1ms !important; + transition-duration: 1ms !important; + -webkit-animation-iteration-count: 1 !important; + animation-iteration-count: 1 !important; + } +} diff --git a/_widget/src/components/prompt/component.vue b/_widget/src/components/prompt/component.vue new file mode 100644 index 000000000..61862e4e0 --- /dev/null +++ b/_widget/src/components/prompt/component.vue @@ -0,0 +1,21 @@ + + + diff --git a/_widget/src/components/prompt/style.scss b/_widget/src/components/prompt/style.scss new file mode 100644 index 000000000..8a1a2464a --- /dev/null +++ b/_widget/src/components/prompt/style.scss @@ -0,0 +1,33 @@ +@use "sass:math"; + +$padding: 7px; + +.prompt { + position: fixed; + bottom: $padding; + right: $padding * 8; // Allow space for the notification bell + line-height: 1; + + & > a { + position: relative; + background: $medium-gray; + color: $white; + display: inline-block; + border-radius: $padding * 6; + padding: $padding; + + .text { + display: inline-block; + padding: math.div($padding, 1.25) $padding * 1.2; + } + + .mascot { + float: left; + + svg { + display: block; + width: $padding * 4; + } + } + } +} diff --git a/_widget/src/components/welcome/component.vue b/_widget/src/components/welcome/component.vue new file mode 100644 index 000000000..b0cf54f50 --- /dev/null +++ b/_widget/src/components/welcome/component.vue @@ -0,0 +1,20 @@ + + + diff --git a/_widget/src/components/welcome/style.scss b/_widget/src/components/welcome/style.scss new file mode 100644 index 000000000..0c987c443 --- /dev/null +++ b/_widget/src/components/welcome/style.scss @@ -0,0 +1,22 @@ +.welcome { + text-align: center; + padding-top: $padding * 7; + + h1 { + font-weight: bold; + color: $blue; + font-size: 160%; + } + + p { + max-width: 70%; + margin: 0 auto; + color: $dark-gray; + } + + .mascot { + bottom: 0; + max-width: 50%; + margin: 0 auto $padding * 5; + } +} diff --git a/_widget/src/main.js b/_widget/src/main.js new file mode 100644 index 000000000..bbfa53d4d --- /dev/null +++ b/_widget/src/main.js @@ -0,0 +1,4 @@ +import { createApp } from 'vue'; +import App from './components/app/component.vue'; + +createApp(App).mount('#support-widget'); diff --git a/_widget/vite.config.js b/_widget/vite.config.js new file mode 100644 index 000000000..0a4f24eb0 --- /dev/null +++ b/_widget/vite.config.js @@ -0,0 +1,6 @@ +import { defineConfig } from 'vite'; +import vue from '@vitejs/plugin-vue'; + +export default defineConfig({ + plugins: [vue()] +}); diff --git a/_widget/yarn.lock b/_widget/yarn.lock new file mode 100644 index 000000000..2f5c4b97b --- /dev/null +++ b/_widget/yarn.lock @@ -0,0 +1,665 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/parser@^7.25.3": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.3.tgz#8c51c5db6ddf08134af1ddbacf16aaab48bac234" + integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA== + dependencies: + "@babel/types" "^7.26.3" + +"@babel/types@^7.26.3": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.3.tgz#37e79830f04c2b5687acc77db97fbc75fb81f3c0" + integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + +"@bufbuild/protobuf@^2.0.0": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.2.3.tgz#9cd136f6b687e63e9b517b3a54211ece942897ee" + integrity sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg== + +"@esbuild/aix-ppc64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz#b57697945b50e99007b4c2521507dc613d4a648c" + integrity sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw== + +"@esbuild/android-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz#1add7e0af67acefd556e407f8497e81fddad79c0" + integrity sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w== + +"@esbuild/android-arm@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.0.tgz#ab7263045fa8e090833a8e3c393b60d59a789810" + integrity sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew== + +"@esbuild/android-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.0.tgz#e8f8b196cfdfdd5aeaebbdb0110983460440e705" + integrity sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ== + +"@esbuild/darwin-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz#2d0d9414f2acbffd2d86e98253914fca603a53dd" + integrity sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw== + +"@esbuild/darwin-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz#33087aab31a1eb64c89daf3d2cf8ce1775656107" + integrity sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA== + +"@esbuild/freebsd-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz#bb76e5ea9e97fa3c753472f19421075d3a33e8a7" + integrity sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA== + +"@esbuild/freebsd-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz#e0e2ce9249fdf6ee29e5dc3d420c7007fa579b93" + integrity sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ== + +"@esbuild/linux-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz#d1b2aa58085f73ecf45533c07c82d81235388e75" + integrity sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g== + +"@esbuild/linux-arm@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz#8e4915df8ea3e12b690a057e77a47b1d5935ef6d" + integrity sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw== + +"@esbuild/linux-ia32@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz#8200b1110666c39ab316572324b7af63d82013fb" + integrity sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA== + +"@esbuild/linux-loong64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz#6ff0c99cf647504df321d0640f0d32e557da745c" + integrity sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g== + +"@esbuild/linux-mips64el@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz#3f720ccd4d59bfeb4c2ce276a46b77ad380fa1f3" + integrity sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA== + +"@esbuild/linux-ppc64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz#9d6b188b15c25afd2e213474bf5f31e42e3aa09e" + integrity sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ== + +"@esbuild/linux-riscv64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz#f989fdc9752dfda286c9cd87c46248e4dfecbc25" + integrity sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw== + +"@esbuild/linux-s390x@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz#29ebf87e4132ea659c1489fce63cd8509d1c7319" + integrity sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g== + +"@esbuild/linux-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz#4af48c5c0479569b1f359ffbce22d15f261c0cef" + integrity sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA== + +"@esbuild/netbsd-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz#1ae73d23cc044a0ebd4f198334416fb26c31366c" + integrity sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg== + +"@esbuild/openbsd-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz#5d904a4f5158c89859fd902c427f96d6a9e632e2" + integrity sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg== + +"@esbuild/openbsd-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz#4c8aa88c49187c601bae2971e71c6dc5e0ad1cdf" + integrity sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q== + +"@esbuild/sunos-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz#8ddc35a0ea38575fa44eda30a5ee01ae2fa54dd4" + integrity sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA== + +"@esbuild/win32-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz#6e79c8543f282c4539db684a207ae0e174a9007b" + integrity sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA== + +"@esbuild/win32-ia32@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz#057af345da256b7192d18b676a02e95d0fa39103" + integrity sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw== + +"@esbuild/win32-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz#168ab1c7e1c318b922637fad8f339d48b01e1244" + integrity sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA== + +"@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@rollup/rollup-android-arm-eabi@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz#7f4c4d8cd5ccab6e95d6750dbe00321c1f30791e" + integrity sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ== + +"@rollup/rollup-android-arm64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz#17ea71695fb1518c2c324badbe431a0bd1879f2d" + integrity sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA== + +"@rollup/rollup-darwin-arm64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz#dac0f0d0cfa73e7d5225ae6d303c13c8979e7999" + integrity sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ== + +"@rollup/rollup-darwin-x64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz#8f63baa1d31784904a380d2e293fa1ddf53dd4a2" + integrity sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ== + +"@rollup/rollup-freebsd-arm64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz#30ed247e0df6e8858cdc6ae4090e12dbeb8ce946" + integrity sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA== + +"@rollup/rollup-freebsd-x64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz#57846f382fddbb508412ae07855b8a04c8f56282" + integrity sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ== + +"@rollup/rollup-linux-arm-gnueabihf@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz#378ca666c9dae5e6f94d1d351e7497c176e9b6df" + integrity sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA== + +"@rollup/rollup-linux-arm-musleabihf@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz#a692eff3bab330d5c33a5d5813a090c15374cddb" + integrity sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg== + +"@rollup/rollup-linux-arm64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz#6b1719b76088da5ac1ae1feccf48c5926b9e3db9" + integrity sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA== + +"@rollup/rollup-linux-arm64-musl@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz#865baf5b6f5ff67acb32e5a359508828e8dc5788" + integrity sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A== + +"@rollup/rollup-linux-loongarch64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz#23c6609ba0f7fa7a7f2038b6b6a08555a5055a87" + integrity sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz#652ef0d9334a9f25b9daf85731242801cb0fc41c" + integrity sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A== + +"@rollup/rollup-linux-riscv64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz#1eb6651839ee6ebca64d6cc64febbd299e95e6bd" + integrity sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA== + +"@rollup/rollup-linux-s390x-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz#015c52293afb3ff2a293cf0936b1d43975c1e9cd" + integrity sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg== + +"@rollup/rollup-linux-x64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz#b83001b5abed2bcb5e2dbeec6a7e69b194235c1e" + integrity sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw== + +"@rollup/rollup-linux-x64-musl@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz#6cc7c84cd4563737f8593e66f33b57d8e228805b" + integrity sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g== + +"@rollup/rollup-win32-arm64-msvc@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz#631ffeee094d71279fcd1fe8072bdcf25311bc11" + integrity sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A== + +"@rollup/rollup-win32-ia32-msvc@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz#06d1d60d5b9f718e8a6c4a43f82e3f9e3254587f" + integrity sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA== + +"@rollup/rollup-win32-x64-msvc@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz#4dff5c4259ebe6c5b4a8f2c5bc3829b7a8447ff0" + integrity sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA== + +"@types/estree@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + +"@vitejs/plugin-vue@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz#d1491f678ee3af899f7ae57d9c21dc52a65c7133" + integrity sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ== + +"@vue/compiler-core@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz#b0ae6c4347f60c03e849a05d34e5bf747c9bda05" + integrity sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q== + dependencies: + "@babel/parser" "^7.25.3" + "@vue/shared" "3.5.13" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.2.0" + +"@vue/compiler-dom@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz#bb1b8758dbc542b3658dda973b98a1c9311a8a58" + integrity sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA== + dependencies: + "@vue/compiler-core" "3.5.13" + "@vue/shared" "3.5.13" + +"@vue/compiler-sfc@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz#461f8bd343b5c06fac4189c4fef8af32dea82b46" + integrity sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ== + dependencies: + "@babel/parser" "^7.25.3" + "@vue/compiler-core" "3.5.13" + "@vue/compiler-dom" "3.5.13" + "@vue/compiler-ssr" "3.5.13" + "@vue/shared" "3.5.13" + estree-walker "^2.0.2" + magic-string "^0.30.11" + postcss "^8.4.48" + source-map-js "^1.2.0" + +"@vue/compiler-ssr@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz#e771adcca6d3d000f91a4277c972a996d07f43ba" + integrity sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA== + dependencies: + "@vue/compiler-dom" "3.5.13" + "@vue/shared" "3.5.13" + +"@vue/reactivity@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.5.13.tgz#b41ff2bb865e093899a22219f5b25f97b6fe155f" + integrity sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg== + dependencies: + "@vue/shared" "3.5.13" + +"@vue/runtime-core@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz#1fafa4bf0b97af0ebdd9dbfe98cd630da363a455" + integrity sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw== + dependencies: + "@vue/reactivity" "3.5.13" + "@vue/shared" "3.5.13" + +"@vue/runtime-dom@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz#610fc795de9246300e8ae8865930d534e1246215" + integrity sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog== + dependencies: + "@vue/reactivity" "3.5.13" + "@vue/runtime-core" "3.5.13" + "@vue/shared" "3.5.13" + csstype "^3.1.3" + +"@vue/server-renderer@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz#429ead62ee51de789646c22efe908e489aad46f7" + integrity sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA== + dependencies: + "@vue/compiler-ssr" "3.5.13" + "@vue/shared" "3.5.13" + +"@vue/shared@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.13.tgz#87b309a6379c22b926e696893237826f64339b6f" + integrity sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ== + +buffer-builder@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/buffer-builder/-/buffer-builder-0.2.0.tgz#3322cd307d8296dab1f604618593b261a3fade8f" + integrity sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg== + +colorjs.io@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/colorjs.io/-/colorjs.io-0.5.2.tgz#63b20139b007591ebc3359932bef84628eb3fcef" + integrity sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw== + +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +esbuild@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.0.tgz#f2d470596885fcb2e91c21eb3da3b3c89c0b55e7" + integrity sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ== + optionalDependencies: + "@esbuild/aix-ppc64" "0.24.0" + "@esbuild/android-arm" "0.24.0" + "@esbuild/android-arm64" "0.24.0" + "@esbuild/android-x64" "0.24.0" + "@esbuild/darwin-arm64" "0.24.0" + "@esbuild/darwin-x64" "0.24.0" + "@esbuild/freebsd-arm64" "0.24.0" + "@esbuild/freebsd-x64" "0.24.0" + "@esbuild/linux-arm" "0.24.0" + "@esbuild/linux-arm64" "0.24.0" + "@esbuild/linux-ia32" "0.24.0" + "@esbuild/linux-loong64" "0.24.0" + "@esbuild/linux-mips64el" "0.24.0" + "@esbuild/linux-ppc64" "0.24.0" + "@esbuild/linux-riscv64" "0.24.0" + "@esbuild/linux-s390x" "0.24.0" + "@esbuild/linux-x64" "0.24.0" + "@esbuild/netbsd-x64" "0.24.0" + "@esbuild/openbsd-arm64" "0.24.0" + "@esbuild/openbsd-x64" "0.24.0" + "@esbuild/sunos-x64" "0.24.0" + "@esbuild/win32-arm64" "0.24.0" + "@esbuild/win32-ia32" "0.24.0" + "@esbuild/win32-x64" "0.24.0" + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +immutable@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.0.3.tgz#aa037e2313ea7b5d400cd9298fa14e404c933db1" + integrity sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw== + +magic-string@^0.30.11: + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + +nanoid@^3.3.7: + version "3.3.8" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" + integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== + +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +postcss@^8.4.48, postcss@^8.4.49: + version "8.4.49" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" + integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== + dependencies: + nanoid "^3.3.7" + picocolors "^1.1.1" + source-map-js "^1.2.1" + +rollup@^4.23.0: + version "4.28.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.28.1.tgz#7718ba34d62b449dfc49adbfd2f312b4fe0df4de" + integrity sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg== + dependencies: + "@types/estree" "1.0.6" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.28.1" + "@rollup/rollup-android-arm64" "4.28.1" + "@rollup/rollup-darwin-arm64" "4.28.1" + "@rollup/rollup-darwin-x64" "4.28.1" + "@rollup/rollup-freebsd-arm64" "4.28.1" + "@rollup/rollup-freebsd-x64" "4.28.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.28.1" + "@rollup/rollup-linux-arm-musleabihf" "4.28.1" + "@rollup/rollup-linux-arm64-gnu" "4.28.1" + "@rollup/rollup-linux-arm64-musl" "4.28.1" + "@rollup/rollup-linux-loongarch64-gnu" "4.28.1" + "@rollup/rollup-linux-powerpc64le-gnu" "4.28.1" + "@rollup/rollup-linux-riscv64-gnu" "4.28.1" + "@rollup/rollup-linux-s390x-gnu" "4.28.1" + "@rollup/rollup-linux-x64-gnu" "4.28.1" + "@rollup/rollup-linux-x64-musl" "4.28.1" + "@rollup/rollup-win32-arm64-msvc" "4.28.1" + "@rollup/rollup-win32-ia32-msvc" "4.28.1" + "@rollup/rollup-win32-x64-msvc" "4.28.1" + fsevents "~2.3.2" + +rxjs@^7.4.0: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +sass-embedded-android-arm64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.83.0.tgz#d552d259fad6e58ce32084ef5a42ac8a1f8883ba" + integrity sha512-GBiCvM4a2rkWBLdYDxI6XYnprfk5U5c81g69RC2X6kqPuzxzx8qTArQ9M6keFK4+iDQ5N9QTwFCr0KbZTn+ZNQ== + +sass-embedded-android-arm@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-arm/-/sass-embedded-android-arm-1.83.0.tgz#2f56246f2c3e1dc1234761ca003166c13f21dc53" + integrity sha512-uwFSXzJlfbd4Px189xE5l+cxN8+TQpXdQgJec7TIrb4HEY7imabtpYufpVdqUVwT1/uiis5V4+qIEC4Vl5XObQ== + +sass-embedded-android-ia32@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.83.0.tgz#4a28ef1a5385983ed860d7e5ef98859fb60468ae" + integrity sha512-5ATPdGo2SICqAhiJl/Z8KQ23zH4sGgobGgux0TnrNtt83uHZ+r+To/ubVJ7xTkZxed+KJZnIpolGD8dQyQqoTg== + +sass-embedded-android-riscv64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.83.0.tgz#c55b2fd64c915325af973ef368bdc7872138281a" + integrity sha512-aveknUOB8GZewOzVn2Uwk+DKcncTR50Q6vtzslNMGbYnxtgQNHzy8A1qVEviNUruex+pHofppeMK4iMPFAbiEQ== + +sass-embedded-android-x64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-x64/-/sass-embedded-android-x64-1.83.0.tgz#dd3f49747e2b0e189b0b34a2e62cfcfb3e3b7576" + integrity sha512-WqIay/72ncyf9Ph4vS742J3a73wZihWmzFUwpn1OD6lme1Aj4eWzWIve5IVnlTEJgcZcDHu6ECID9IZgehJKoA== + +sass-embedded-darwin-arm64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.83.0.tgz#377beb00a135860ac558342ee4f4847c7c455107" + integrity sha512-XQl9QqgxFFIPm/CzHhmppse5o9ocxrbaAdC2/DAnlAqvYWBBtgFqPjGoYlej13h9SzfvNoogx+y9r+Ap+e+hYg== + +sass-embedded-darwin-x64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.83.0.tgz#2323b1af2322c7a61a1fd6ee204badd16fcc87dd" + integrity sha512-ERQ7Tvp1kFOW3ux4VDFIxb7tkYXHYc+zJpcrbs0hzcIO5ilIRU2tIOK1OrNwrFO6Qxyf7AUuBwYKLAtIU/Nz7g== + +sass-embedded-linux-arm64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.83.0.tgz#e96869030fef27c73f2c01b238deaf8a41b536fa" + integrity sha512-syEAVTJt4qhaMLxrSwOWa46zdqHJdnqJkLUK+t9aCr8xqBZLPxSUeIGji76uOehQZ1C+KGFj6n9xstHN6wzOJw== + +sass-embedded-linux-arm@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.83.0.tgz#06f710fbc1ec751f6ab0a758f23c23e77e89ebcb" + integrity sha512-baG9RYBJxUFmqwDNC9h9ZFElgJoyO3jgHGjzEZ1wHhIS9anpG+zZQvO8bHx3dBpKEImX+DBeLX+CxsFR9n81gQ== + +sass-embedded-linux-ia32@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.83.0.tgz#9fd8ebb471788768a6e4811f26466ed63d38f934" + integrity sha512-RRBxQxMpoxu5+XcSSc6QR/o9asEwUzR8AbCS83RaXcdTIHTa/CccQsiAoDDoPlRsMTLqnzs0LKL4CfOsf7zBbA== + +sass-embedded-linux-musl-arm64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.83.0.tgz#f47539e94f19a9f7945ef542d91b874677d69d1a" + integrity sha512-Y7juhPHClUO2H5O+u+StRy6SEAcwZ+hTEk5WJdEmo1Bb1gDtfHvJaWB/iFZJ2tW0W1e865AZeUrC4OcOFjyAQA== + +sass-embedded-linux-musl-arm@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.83.0.tgz#814d9b14e9b5c7acb1f9bda19e0b10cc8c074450" + integrity sha512-Yc7u2TelCfBab+PRob9/MNJFh3EooMiz4urvhejXkihTiKSHGCv5YqDdtWzvyb9tY2Jb7YtYREVuHwfdVn3dTQ== + +sass-embedded-linux-musl-ia32@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.83.0.tgz#70f73ca2f19ce0d2314acaa1f7c509012fa50d56" + integrity sha512-arQeYwGmwXV8byx5G1PtSzZWW1jbkfR5qrIHMEbTFSAvAxpqjgSvCvrHMOFd73FcMxVaYh4BX9LQNbKinkbEdg== + +sass-embedded-linux-musl-riscv64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.83.0.tgz#53392ffb7903e7ea43cbb6a0541762ad3e4aeab0" + integrity sha512-E6uzlIWz59rut+Z3XR6mLG915zNzv07ISvj3GUNZENdHM7dF8GQ//ANoIpl5PljMQKp89GnYdvo6kj2gnaBf/g== + +sass-embedded-linux-musl-x64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.83.0.tgz#6dd9de8ce4d5a01ac3a6ae5bd91a6d546db1c837" + integrity sha512-eAMK6tyGqvqr21r9g8BnR3fQc1rYFj85RGduSQ3xkITZ6jOAnOhuU94N5fwRS852Hpws0lXhET+7JHXgg3U18w== + +sass-embedded-linux-riscv64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.83.0.tgz#7d568998d9e449dbd55a8701b47938ced5da0620" + integrity sha512-Ojpi78pTv02sy2fUYirRGXHLY3fPnV/bvwuC2i5LwPQw2LpCcFyFTtN0c5h4LJDk9P6wr+/ZB/JXU8tHIOlK+Q== + +sass-embedded-linux-x64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.83.0.tgz#f273cd915874504ba9fe6ab691a3023dbae8aea3" + integrity sha512-3iLjlXdoPfgZRtX4odhRvka1BQs5mAXqfCtDIQBgh/o0JnGPzJIWWl9bYLpHxK8qb+uyVBxXYgXpI0sCzArBOw== + +sass-embedded-win32-arm64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.83.0.tgz#26a5808a4b7c7077aba749e2ffa8be8633db2f0f" + integrity sha512-iOHw/8/t2dlTW3lOFwG5eUbiwhEyGWawivlKWJ8lkXH7fjMpVx2VO9zCFAm8RvY9xOHJ9sf1L7g5bx3EnNP9BQ== + +sass-embedded-win32-ia32@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.83.0.tgz#a9751b77e8b91665d04e94ef4651a7961713b542" + integrity sha512-2PxNXJ8Pad4geVcTXY4rkyTr5AwbF8nfrCTDv0ulbTvPhzX2mMKEGcBZUXWn5BeHZTBc6whNMfS7d5fQXR9dDQ== + +sass-embedded-win32-x64@1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.83.0.tgz#f7d4c9196568b0173f33442aca5a4a02e17c7005" + integrity sha512-muBXkFngM6eLTNqOV0FQi7Dv9s+YRQ42Yem26mosdan/GmJQc81deto6uDTgrYn+bzFNmiXcOdfm+0MkTWK3OQ== + +sass-embedded@^1.83.0: + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass-embedded/-/sass-embedded-1.83.0.tgz#e2400eaf7432dea61bac61a924c0b02099fec954" + integrity sha512-/8cYZeL39evUqe0o//193na51Q1VWZ61qhxioQvLJwOtWIrX+PgNhCyD8RSuTtmzc4+6+waFZf899bfp/MCUwA== + dependencies: + "@bufbuild/protobuf" "^2.0.0" + buffer-builder "^0.2.0" + colorjs.io "^0.5.0" + immutable "^5.0.2" + rxjs "^7.4.0" + supports-color "^8.1.1" + sync-child-process "^1.0.2" + varint "^6.0.0" + optionalDependencies: + sass-embedded-android-arm "1.83.0" + sass-embedded-android-arm64 "1.83.0" + sass-embedded-android-ia32 "1.83.0" + sass-embedded-android-riscv64 "1.83.0" + sass-embedded-android-x64 "1.83.0" + sass-embedded-darwin-arm64 "1.83.0" + sass-embedded-darwin-x64 "1.83.0" + sass-embedded-linux-arm "1.83.0" + sass-embedded-linux-arm64 "1.83.0" + sass-embedded-linux-ia32 "1.83.0" + sass-embedded-linux-musl-arm "1.83.0" + sass-embedded-linux-musl-arm64 "1.83.0" + sass-embedded-linux-musl-ia32 "1.83.0" + sass-embedded-linux-musl-riscv64 "1.83.0" + sass-embedded-linux-musl-x64 "1.83.0" + sass-embedded-linux-riscv64 "1.83.0" + sass-embedded-linux-x64 "1.83.0" + sass-embedded-win32-arm64 "1.83.0" + sass-embedded-win32-ia32 "1.83.0" + sass-embedded-win32-x64 "1.83.0" + +source-map-js@^1.2.0, source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +sync-child-process@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/sync-child-process/-/sync-child-process-1.0.2.tgz#45e7c72e756d1243e80b547ea2e17957ab9e367f" + integrity sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA== + dependencies: + sync-message-port "^1.0.0" + +sync-message-port@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sync-message-port/-/sync-message-port-1.1.3.tgz#6055c565ee8c81d2f9ee5aae7db757e6d9088c0c" + integrity sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg== + +tslib@^2.1.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +varint@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" + integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== + +vite@^6.0.3: + version "6.0.4" + resolved "https://registry.yarnpkg.com/vite/-/vite-6.0.4.tgz#fe7cfaedff7c701d5582be5c4ed6a2150538ea9d" + integrity sha512-zwlH6ar+6o6b4Wp+ydhtIKLrGM/LoqZzcdVmkGAFun0KHTzIzjh+h0kungEx7KJg/PYnC80I4TII9WkjciSR6Q== + dependencies: + esbuild "^0.24.0" + postcss "^8.4.49" + rollup "^4.23.0" + optionalDependencies: + fsevents "~2.3.3" + +vue@^3.5.13: + version "3.5.13" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.13.tgz#9f760a1a982b09c0c04a867903fc339c9f29ec0a" + integrity sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ== + dependencies: + "@vue/compiler-dom" "3.5.13" + "@vue/compiler-sfc" "3.5.13" + "@vue/runtime-dom" "3.5.13" + "@vue/server-renderer" "3.5.13" + "@vue/shared" "3.5.13"