diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..419741b --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,4 @@ +import { Plugin } from 'vue'; +import '@/plugin/styles/cssVariables.css'; +declare const _default: Plugin; +export default _default; diff --git a/dist/plugin/CodeBlock.vue.d.ts b/dist/plugin/CodeBlock.vue.d.ts new file mode 100644 index 0000000..76e9554 --- /dev/null +++ b/dist/plugin/CodeBlock.vue.d.ts @@ -0,0 +1,238 @@ +declare const _default: import("vue").DefineComponent<{ + browserWindow: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + code: { + type: (ObjectConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[]; + required: true; + }; + codeBlockRadius: { + type: StringConstructor; + required: false; + default: string; + }; + copyButton: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + copyIcons: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + copyTab: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + copyFailedText: { + type: StringConstructor; + required: false; + default: string; + }; + copyText: { + type: StringConstructor; + required: false; + default: string; + }; + copySuccessText: { + type: StringConstructor; + required: false; + default: string; + }; + floatingTabs: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + height: { + type: (StringConstructor | NumberConstructor)[]; + required: false; + default: string; + }; + indent: { + type: NumberConstructor; + required: false; + default: number; + }; + label: { + type: StringConstructor; + required: false; + default: string; + }; + lang: { + type: StringConstructor; + required: false; + default: string; + }; + maxHeight: { + type: (StringConstructor | NumberConstructor)[]; + required: false; + default: string; + }; + persistentCopyButton: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + runTab: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + runText: { + type: StringConstructor; + required: false; + default: string; + }; + tabGap: { + type: StringConstructor; + required: false; + default: string; + }; + tabs: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + theme: { + type: (BooleanConstructor | StringConstructor)[]; + required: false; + default: string; + }; +}, (_ctx: any, _cache: any) => import("vue").VNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("run" | "update:copy-status")[], "run" | "update:copy-status", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onRun?: (...args: any[]) => any; + "onUpdate:copy-status"?: (...args: any[]) => any; +}, { + browserWindow: boolean; + codeBlockRadius: string; + copyButton: boolean; + copyIcons: boolean; + copyTab: boolean; + copyFailedText: string; + copyText: string; + copySuccessText: string; + floatingTabs: boolean; + height: string | number; + indent: number; + label: string; + lang: string; + maxHeight: string | number; + persistentCopyButton: boolean; + runTab: boolean; + runText: string; + tabGap: string; + tabs: boolean; + theme: string | boolean; +}>; +export default _default; diff --git a/dist/plugin/index.d.ts b/dist/plugin/index.d.ts new file mode 100644 index 0000000..6fb7ab7 --- /dev/null +++ b/dist/plugin/index.d.ts @@ -0,0 +1 @@ +export { default as CodeBlock } from '@/plugin/CodeBlock.vue'; diff --git a/dist/themes/index.js b/dist/themes/index.js new file mode 100644 index 0000000..47be39b --- /dev/null +++ b/dist/themes/index.js @@ -0,0 +1,886 @@ + +const neonBunnyTheme = ` +/** + * MIT License + * Copyright (c) 2023 WebDevNerdStuff + * WebDevNerdStuff Neon Bunny + * VSCode Theme: https://marketplace.visualstudio.com/items?itemName=WebDevNerdStuff.neon-bunny + */ + +:root { + --neon-bunny-blue-light: #2492ff; + --neon-bunny-blue: #0b93ff; + --neon-bunny-gray-lighter: #aaa; + --neon-bunny-gray: #7f817e; + --neon-bunny-green-darker-darker: #008b05; + --neon-bunny-green-darker: #2bb71d; + --neon-bunny-green-light: #2bb71d; + --neon-bunny-green-neon: #0aff04; + --neon-bunny-green: #00d205; + --neon-bunny-lime-lighter: #c3e88d; + --neon-bunny-lime: #b2ff02; + --neon-bunny-magenta: #df00df; + --neon-bunny-neon-green: #0f0; + --neon-bunny-orange: #e58100; + --neon-bunny-peach-darker: #ffb46a; + --neon-bunny-peach-light: #ffe4a6; + --neon-bunny-peach: #ffcb6b; + --neon-bunny-pink: #ff1190; + --neon-bunny-purple-light-dim: #c792ea; + --neon-bunny-purple-light: #d285cc; + --neon-bunny-purple: #ea03ff; + --neon-bunny-red: #ff3229; + --neon-bunny-salmon: #ff6f5b; + --neon-bunny-teal: #80fcff; + --neon-bunny-white: #fff; + --neon-bunny-yellow: #fef611; + + /* Standard */ + --neon-bunny-atrule: var(--neon-bunny-peach); + --neon-bunny-attr-name: var(--neon-bunny-purple-light-dim); + --neon-bunny-attr-value: var(--neon-bunny-peach); + --neon-bunny-boolean: var(--neon-bunny-blue-light); + --neon-bunny-builtin: var(--neon-bunny-purple); + --neon-bunny-cdata: var(--neon-bunny-gray); + --neon-bunny-char: var(--neon-bunny-pink); + --neon-bunny-class-name: var(--neon-bunny-peach); + --neon-bunny-comment: var(--neon-bunny-gray); + --neon-bunny-constant: var(--neon-bunny-green-darker); + --neon-bunny-deleted: var(--neon-bunny-red); + --neon-bunny-entity: var(--neon-bunny-peach); + --neon-bunny-function: var(--neon-bunny-green-neon); + --neon-bunny-important: var(--neon-bunny-red); + --neon-bunny-inserted: var(--neon-bunny-lime-lighter); + --neon-bunny-keyword: var(--neon-bunny-blue); + --neon-bunny-namespace: var(--neon-bunny-peach); + --neon-bunny-number: var(--neon-bunny-white); + --neon-bunny-operator: var(--neon-bunny-blue-light); + --neon-bunny-prolog: var(--neon-bunny-gray); + --neon-bunny-property: var(--neon-bunny-pink); + --neon-bunny-punctuation: var(--neon-bunny-blue); + --neon-bunny-regex: var(--neon-bunny-peach-light); + --neon-bunny-string: var(--neon-bunny-green-darker); + --neon-bunny-symbol: var(--neon-bunny-pink); + --neon-bunny-tag: var(--neon-bunny-blue-light); + --neon-bunny-url: var(--neon-bunny-orange); + --neon-bunny-variable: var(--neon-bunny-green-darker); + + /* HTML */ + --neon-bunny-html-attr-name: var(--neon-bunny-green); + --neon-bunny-html-attr-value-punctuation: var(--neon-bunny-peach-darker); + --neon-bunny-html-attr-value: var(--neon-bunny-peach-darker); + + /* CSS */ + --neon-bunny-css-atrule-rule: var(--neon-bunny-blue); + --neon-bunny-css-atrule: var(--neon-bunny-white); + --neon-bunny-css-function: var(--neon-bunny-orange); + --neon-bunny-css-property: var(--neon-bunny-pink); + --neon-bunny-css-punctuation: var(--neon-bunny-white); + --neon-bunny-css-selector: var(--neon-bunny-lime); + --neon-bunny-css-string: var(--neon-bunny-green-light); + --neon-bunny-css: var(--neon-bunny-purple-light-dim); + + /* JS */ + --neon-bunny-js-keyword: var(--neon-bunny-blue); + --neon-bunny-js-literal-property: var(--neon-bunny-neon-green); + --neon-bunny-js-operator: var(--neon-bunny-blue-light); + --neon-bunny-js-punctuation: var(--neon-bunny-white); + --neon-bunny-js-string: var(--neon-bunny-green-darker-darker); + --neon-bunny-js-template-string-string: var(--neon-bunny-green-darker-darker); + --neon-bunny-js: var(--neon-bunny-green-darker); + + /* PHP */ + --neon-bunny-php-boolean: var(--neon-bunny-blue); + --neon-bunny-php-class-name-definition-class-name: var(--neon-bunny-magenta); + --neon-bunny-php-class-name-return-type: var(--neon-bunny-gray-lighter); + --neon-bunny-php-class-name: var(--neon-bunny-teal); + --neon-bunny-php-double-quote-string: var(--neon-bunny-salmon); + --neon-bunny-php-function: var(--neon-bunny-green-neon); + --neon-bunny-php-keyword-type-hint: var(--neon-bunny-gray-lighter); + --neon-bunny-php-keyword: var(--neon-bunny-blue); + --neon-bunny-php-operator: var(--neon-bunny-purple); + --neon-bunny-php-package: var(--neon-bunny-peach); + --neon-bunny-php-property: var(--neon-bunny-purple-light); + --neon-bunny-php-punctuation: var(--neon-bunny-white); + --neon-bunny-php-single-quote-string: var(--neon-bunny-yellow); + --neon-bunny-php-variable: var(--neon-bunny-purple-light); +} + +code[class*='language-'], +pre[class*='language-'] { + color: var(--neon-bunny-white); + font-family: 'Consolas', 'Monaco', 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + text-align: left; + white-space: pre; + word-break: normal; + word-spacing: normal; + word-wrap: normal; +} + +pre[class*='language-']::selection, +pre[class*='language-'] ::selection, +code[class*='language-']::selection, +code[class*='language-'] ::selection { + background: rgba(29, 59, 83, 0.99); + text-shadow: none; +} + +pre[class*='language-']::selection, +pre[class*='language-'] ::selection, +code[class*='language-']::selection, +code[class*='language-'] ::selection { + background: #ffffff15; + text-shadow: none; +} + +@media print { + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*='language-'] { + margin: 0.5em 0; + overflow: auto; + padding: 1em; +} + +:not(pre) > code[class*='language-'], +pre[class*='language-'] { + background: #000; + color: white; +} + +:not(pre) > code[class*='language-'] { + border-radius: 0.3em; + padding: 0.1em; + white-space: normal; +} + +/* -------------------------------------------------- Standard */ +.token.atrule { + color: var(--neon-bunny-atrule); +} + +.token.attr-name { + color: var(--neon-bunny-attr-name); +} + +.token.attr-value { + color: var(--neon-bunny-attr-value); +} + +.token.bold { + font-weight: bold; +} + +.token.boolean { + color: var(--neon-bunny-boolean); +} + +.token.builtin { + color: var(--neon-bunny-builtin); +} + +.token.cdata { + color: var(--neon-bunny-cdata); + font-style: italic; +} + +.token.char { + color: var(--neon-bunny-char); +} + +.token.class-name { + color: var(--neon-bunny-class-name); +} + +.token.constant { + color: var(--neon-bunny-constant); +} + +.token.comment { + color: var(--neon-bunny-comment); + font-style: italic; +} + +.token.deleted { + color: var(--neon-bunny-deleted); +} + +.token.entity { + color: var(--neon-bunny-entity); +} + +.token.function { + color: var(--neon-bunny-function); +} + +.token.important { + color: var(--neon-bunny-important); + font-style: italic; +} + +.token.inserted { + color: var(--neon-bunny-inserted); +} + +.token.italic { + font-style: italic; +} + +.token.keyword { + color: var(--neon-bunny-keyword); +} + +.namespace { + color: var(--neon-bunny-namespace); +} + +.token.number { + color: var(--neon-bunny-number); +} + +.token.operator { + color: var(--neon-bunny-operator); +} + +.token.prolog { + color: var(--neon-bunny-prolog); + font-style: italic; +} + +.token.property { + color: var(--neon-bunny-property); +} + +.token.punctuation { + color: var(--neon-bunny-punctuation); +} + +.token.regex { + color: var(--neon-bunny-regex); +} + +.token.string { + color: var(--neon-bunny-string); +} + +.token.symbol { + color: var(--neon-bunny-symbol); +} + +.token.tag { + color: var(--neon-bunny-tag); +} + +.token.url { + color: var(--neon-bunny-url); + text-decoration: underline; +} + +.token.variable { + color: var(--neon-bunny-variable); +} + +/* -------------------------------------------------- HTML */ +.language-html .token.attr-name { + color: var(--neon-bunny-html-attr-name); +} + +.language-html .token.attr-value { + color: var(--neon-bunny-html-attr-value); +} + +.language-html .token.attr-value .token.punctuation { + color: var(--neon-bunny-html-attr-value-punctuation); +} + +/* -------------------------------------------------- CSS */ +.language-css { + color: var(--neon-bunny-css) !important; +} + +.language-css .token.atrule { + color: var(--neon-bunny-css-atrule); +} + +.language-css .token.atrule .token.rule { + color: var(--neon-bunny-css-atrule-rule); +} + +.language-css .token.function { + color: var(--neon-bunny-css-function); +} + +.language-css .token.property { + color: var(--neon-bunny-css-property); +} + +.language-css .token.punctuation { + color: var(--neon-bunny-css-punctuation); +} + +.language-css .token.selector { + color: var(--neon-bunny-css-selector); +} + +.language-css .token.string, +.style .token.string { + color: var(--neon-bunny-css-string); + font-style: italic; +} + +/* -------------------------------------------------- JavaScript */ +.language-javascript, +.language-js { + color: var(--neon-bunny-js) !important; + font-style: italic; +} + +.language-javascript span, +.language-js span { + font-style: normal; +} + +.language-javascript .token.keyword, +.language-js .token.keyword { + color: var(--neon-bunny-js-keyword); +} + +.language-javascript .token.literal-property.property, +.language-js .token.literal-property.property { + color: var(--neon-bunny-js-literal-property); + font-style: italic; +} + +.language-javascript .token.operator, +.language-js .token.operator { + color: var(--neon-bunny-js-operator); + font-style: italic; +} + +.language-javascript .token.punctuation, +.language-js .token.punctuation { + color: var(--neon-bunny-js-punctuation); +} + +.language-javascript .token.template-string .token.string, +.language-js .token.template-string .token.string { + color: var(--neon-bunny-js-template-string-string); +} + +/* -------------------------------------------------- PHP */ +.language-php .token.boolean { + color: var(--neon-bunny-boolean); +} + +.language-php .token.class-name { + color: var(--neon-bunny-php-class-name); +} + +.language-php .token.class-name-definition.class-name { + color: var(--neon-bunny-php-class-name-definition-class-name); +} + +.language-php .token.class-name.return-type { + color: var(--neon-bunny-php-class-name-return-type); + font-style: italic; +} + +.language-php .token.function { + color: var(--neon-bunny-php-function); +} + +.language-php .token.keyword { + color: var(--neon-bunny-php-keyword); +} + +.language-php .token.keyword.type-hint { + color: var(--neon-bunny-php-keyword-type-hint); + font-style: italic; +} + +.language-php .token.operator { + color: var(--neon-bunny-php-operator); +} + +.language-php .token.package { + color: var(--neon-bunny-php-package); +} + +.language-php .token.property { + color: var(--neon-bunny-php-property); +} + +.language-php .token.punctuation { + color: var(--neon-bunny-php-punctuation); +} + +.language-php .token.string.double-quoted-string { + color: var(--neon-bunny-php-double-quote-string); +} + +.language-php .token.string.single-quoted-string { + color: var(--neon-bunny-php-single-quote-string); +} + +.language-php .token.variable { + color: var(--neon-bunny-php-variable); +} +`; + +const neonBunnyCarrotTheme = `/** +* MIT License +* Copyright (c) 2023 WebDevNerdStuff +* WebDevNerdStuff Neon Bunny - Carrot +* VSCode Theme: https://marketplace.visualstudio.com/items?itemName=WebDevNerdStuff.neon-bunny +*/ + +:root { + --neon-bunny-blue-light: #2492ff; + --neon-bunny-blue: #0b93ff; + --neon-bunny-gray: #7f817e; + --neon-bunny-green-darker-darker: #008b05; + --neon-bunny-green-darker: #2bb71d; + --neon-bunny-green-light: #7cd47d; + --neon-bunny-green: #00d205; + --neon-bunny-lime: #c3e88d; + --neon-bunny-magenta: #dd00ff; + --neon-bunny-orange-darker: #e58100; + --neon-bunny-orange-light: #ffc266; + --neon-bunny-orange: #ff9900; + --neon-bunny-peach-light: #ffe4a6; + --neon-bunny-peach: #ffcb6b; + --neon-bunny-pink: #ff1190; + --neon-bunny-purple-light-dim: #c792ea; + --neon-bunny-purple-light: #da96df; + --neon-bunny-purple: #ea03ff; + --neon-bunny-red: #ff5370; + --neon-bunny-teal: #00EEFF; + --neon-bunny-white: #fff; + --neon-bunny-yellow-light: #ffffa2; + --neon-bunny-yellow: #ffff00; + + /* Standard */ + --neon-bunny-atrule: var(--neon-bunny-peach); + --neon-bunny-attr-name: var(--neon-bunny-purple-light-dim); + --neon-bunny-attr-value: var(--neon-bunny-peach); + --neon-bunny-boolean: var(--neon-bunny-purple-light); + --neon-bunny-builtin: var(--neon-bunny-purple); + --neon-bunny-cdata: var(--neon-bunny-gray); + --neon-bunny-char: var(--neon-bunny-pink); + --neon-bunny-class-name: var(--neon-bunny-peach); + --neon-bunny-comment: var(--neon-bunny-gray); + --neon-bunny-constant: var(--neon-bunny-green-darker); + --neon-bunny-deleted: var(--neon-bunny-red); + --neon-bunny-entity: var(--neon-bunny-peach); + --neon-bunny-function: var(--neon-bunny-orange-light); + --neon-bunny-important: var(--neon-bunny-pink); + --neon-bunny-inserted: var(--neon-bunny-lime); + --neon-bunny-keyword: var(--neon-bunny-purple-light); + --neon-bunny-namespace: var(--neon-bunny-peach); + --neon-bunny-number: var(--neon-bunny-white); + --neon-bunny-operator: var(--neon-bunny-orange); + --neon-bunny-prolog: var(--neon-bunny-gray); + --neon-bunny-property: var(--neon-bunny-orange-light); + --neon-bunny-punctuation: var(--neon-bunny-orange); + --neon-bunny-regex: var(--neon-bunny-peach-light); + --neon-bunny-string: var(--neon-bunny-green-light); + --neon-bunny-symbol: var(--neon-bunny-orange-light); + --neon-bunny-tag: var(--neon-bunny-orange); + --neon-bunny-url: var(--neon-bunny-orange-darker); + --neon-bunny-variable: var(--neon-bunny-orange); + + /* HTML */ + --neon-bunny-html-attr-name: var(--neon-bunny-orange-light); + --neon-bunny-html-attr-value-punctuation: var(--neon-bunny-green); + --neon-bunny-html-attr-value: var(--neon-bunny-green); + + /* CSS */ + --neon-bunny-css-atrule-rule: var(--neon-bunny-blue); + --neon-bunny-css-atrule: var(--neon-bunny-white); + --neon-bunny-css-function: var(--neon-bunny-orange-darker); + --neon-bunny-css-property: var(--neon-bunny-pink); + --neon-bunny-css-punctuation: var(--neon-bunny-white); + --neon-bunny-css-selector: var(--neon-bunny-yellow); + --neon-bunny-css-string: var(--neon-bunny-green-light); + --neon-bunny-css: var(--neon-bunny-teal); + + /* JS */ + --neon-bunny-js-keyword: var(--neon-bunny-magenta); + --neon-bunny-js-literal-property: var(--neon-bunny-orange); + --neon-bunny-js-operator: var(--neon-bunny-blue-light); + --neon-bunny-js-punctuation: var(--neon-bunny-white); + --neon-bunny-js-string: var(--neon-bunny-green-darker-darker); + --neon-bunny-js-template-string-string: var(--neon-bunny-green-darker-darker); + --neon-bunny-js: var(--neon-bunny-orange); + + /* PHP */ + --neon-bunny-php-boolean: var(--neon-bunny-purple-light); + --neon-bunny-php-class-name-return-type: var(--neon-bunny-yellow); + --neon-bunny-php-class-name: var(--neon-bunny-yellow); + --neon-bunny-php-double-quote-string: var(--neon-bunny-green); + --neon-bunny-php-function: var(--neon-bunny-orange-light); + --neon-bunny-php-keyword: var(--neon-bunny-magenta); + --neon-bunny-php-keyword-type-hint: var(--neon-bunny-magenta); + --neon-bunny-php-class-name-definition-class-name: var(--neon-bunny-yellow); + --neon-bunny-php-operator: var(--neon-bunny-yellow-light); + --neon-bunny-php-package: var(--neon-bunny-yellow); + --neon-bunny-php-property: var(--neon-bunny-orange); + --neon-bunny-php-punctuation: var(--neon-bunny-white); + --neon-bunny-php-single-quote-string: var(--neon-bunny-green-light); + --neon-bunny-php-variable: var(--neon-bunny-orange); +} + +code[class*="language-"], +pre[class*="language-"] { + -moz-hyphens: none; + -moz-tab-size: 4; + -ms-hyphens: none; + -o-tab-size: 4; + -webkit-hyphens: none; + + color: var(--neon-bunny-white); + font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace; + font-size: 1em; + hyphens: none; + line-height: 1.5; + tab-size: 4; + text-align: left; + white-space: pre; + word-break: normal; + word-spacing: normal; + word-wrap: normal; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + background: rgba(29, 59, 83, 0.99); + text-shadow: none; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + background: #ffffff15; + text-shadow: none; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + margin: 0.5em 0; + overflow: auto; + padding: 1em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #000000; + color: white; +} + +:not(pre) > code[class*="language-"] { + border-radius: 0.3em; + padding: 0.1em; + white-space: normal; +} + +/* -------------------------------------------------- Standard */ +.token.atrule { + color: var(--neon-bunny-atrule); +} + +.token.attr-name { + color: var(--neon-bunny-attr-name); +} + +.token.attr-value { + color: var(--neon-bunny-attr-value); +} + +.token.bold { + font-weight: bold; +} + +.token.boolean { + color: var(--neon-bunny-boolean); +} + +.token.builtin { + color: var(--neon-bunny-builtin); +} + +.token.cdata { + color: var(--neon-bunny-cdata); + font-style: italic; +} + +.token.char { + color: var(--neon-bunny-char); +} + +.token.class-name { + color: var(--neon-bunny-class-name); +} + +.token.constant { + color: var(--neon-bunny-constant); +} + +.token.comment { + color: var(--neon-bunny-comment); + font-style: italic; +} + +.token.deleted { + color: var(--neon-bunny-deleted); +} + +.token.entity { + color: var(--neon-bunny-entity); +} + +.token.function { + color: var(--neon-bunny-function); +} + +.token.important { + color: var(--neon-bunny-important); + font-style: italic; +} + +.token.inserted { + color: var(--neon-bunny-inserted); +} + +.token.italic { + font-style: italic; +} + +.token.keyword { + color: var(--neon-bunny-keyword); +} + +.namespace { + color: var(--neon-bunny-namespace); +} + +.token.number { + color: var(--neon-bunny-number); +} + +.token.operator { + color: var(--neon-bunny-operator); +} + +.token.prolog { + color: var(--neon-bunny-prolog); + font-style: italic; +} + +.token.property { + color: var(--neon-bunny-property); +} + +.token.punctuation { + color: var(--neon-bunny-punctuation); +} + +.token.regex { + color: var(--neon-bunny-regex); +} + +.token.string { + color: var(--neon-bunny-string); +} + +.token.symbol { + color: var(--neon-bunny-symbol); +} + +.token.tag { + color: var(--neon-bunny-tag); +} + +.token.url { + color: var(--neon-bunny-url); + text-decoration: underline; +} + +.token.variable { + color: var(--neon-bunny-variable); +} + +/* -------------------------------------------------- HTML */ +.language-html .token.attr-name { + color: var(--neon-bunny-html-attr-name); +} + +.language-html .token.attr-value { + color: var(--neon-bunny-html-attr-value); +} + +.language-html .token.attr-value .token.punctuation { + color: var(--neon-bunny-html-attr-value-punctuation); +} + +/* -------------------------------------------------- CSS */ +.language-css { + color: var(--neon-bunny-css) !important; +} + +.language-css .token.atrule { + color: var(--neon-bunny-css-atrule); +} + +.language-css .token.atrule .token.rule { + color: var(--neon-bunny-css-atrule-rule); +} + +.language-css .token.function { + color: var(--neon-bunny-css-function); +} + +.language-css .token.property { + color: var(--neon-bunny-css-property); +} + +.language-css .token.punctuation { + color: var(--neon-bunny-css-punctuation); +} + +.language-css .token.selector { + color: var(--neon-bunny-css-selector); +} + +.language-css .token.string, +.style .token.string { + color: var(--neon-bunny-css-string); + font-style: italic; +} + +/* -------------------------------------------------- JavaScript */ +.language-javascript, +.language-js { + color: var(--neon-bunny-js) !important; + font-style: italic; +} + +.language-javascript span, +.language-js span { + font-style: normal; +} + +.language-javascript .token.keyword, +.language-js .token.keyword { + color: var(--neon-bunny-js-keyword); +} + +.language-javascript .token.literal-property.property, +.language-js .token.literal-property.property { + color: var(--neon-bunny-js-literal-property); + font-style: italic; +} + +.language-javascript .token.operator, +.language-js .token.operator { + color: var(--neon-bunny-js-operator); + font-style: italic; +} + +.language-javascript .token.punctuation, +.language-js .token.punctuation { + color: var(--neon-bunny-js-punctuation); +} + +.language-javascript .token.template-string .token.string, +.language-js .token.template-string .token.string { + color: var(--neon-bunny-js-template-string-string); +} + +/* -------------------------------------------------- PHP */ +.language-php .token.boolean { + color: var(--neon-bunny-boolean); +} + +.language-php .token.class-name { + color: var(--neon-bunny-php-class-name); +} + +.language-php .token.class-name-definition.class-name { + color: var(--neon-bunny-php-class-name-definition-class-name); +} + +.language-php .token.class-name.return-type { + color: var(--neon-bunny-php-class-name-return-type); +} + +.language-php .token.function { + color: var(--neon-bunny-php-function); + text-decoration: underline; +} + +.language-php .token.keyword { + color: var(--neon-bunny-php-keyword); +} + +.language-php .token.keyword.type-hint { + color: var(--neon-bunny-php-keyword-type-hint); +} + +.language-php .token.operator { + color: var(--neon-bunny-php-operator); +} + +.language-php .token.package { + color: var(--neon-bunny-php-package); +} + +.language-php .token.property { + color: var(--neon-bunny-php-property); +} + +.language-php .token.punctuation { + color: var(--neon-bunny-php-punctuation); +} + +.language-php .token.string.double-quoted-string { + color: var(--neon-bunny-php-double-quote-string); +} + +.language-php .token.string.single-quoted-string { + color: var(--neon-bunny-php-single-quote-string); +} + +.language-php .token.variable { + color: var(--neon-bunny-php-variable); +} +`; + +export { + neonBunnyTheme, + neonBunnyCarrotTheme, +}; diff --git a/src/plugin/theme/neon-bunny-carrot.css b/dist/themes/neon-bunny-carrot.css similarity index 100% rename from src/plugin/theme/neon-bunny-carrot.css rename to dist/themes/neon-bunny-carrot.css diff --git a/src/plugin/theme/neon-bunny.css b/dist/themes/neon-bunny.css similarity index 100% rename from src/plugin/theme/neon-bunny.css rename to dist/themes/neon-bunny.css diff --git a/dist/types/index.d.ts b/dist/types/index.d.ts new file mode 100644 index 0000000..8c28ea1 --- /dev/null +++ b/dist/types/index.d.ts @@ -0,0 +1,24 @@ +export type Props = { + browserWindow?: boolean; + code?: object | [] | string | number; + codeBlockRadius?: string; + copyButton?: boolean; + copyIcons?: boolean; + copyTab?: boolean; + copyFailedText?: string; + copyText?: string; + copySuccessText?: string; + floatingTabs?: boolean; + globalOptions?: boolean; + height?: string | number; + indent?: number; + label?: string; + lang?: string; + maxHeight?: string | number; + persistentCopyButton?: boolean; + runTab?: boolean; + runText?: string; + tabGap?: string; + tabs?: boolean; + theme?: string | boolean; +}; diff --git a/dist/vue3-code-block.css b/dist/vue3-code-block.css new file mode 100644 index 0000000..56f46b5 --- /dev/null +++ b/dist/vue3-code-block.css @@ -0,0 +1,582 @@ +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny__eWYt5 { + background-color: hsla(var(--v-cb-tab-neon-bunny-bkg), 1) !important; + color: hsl(var(--v-cb-tab-neon-bunny-text)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny__eWYt5:hover { + background-color: hsla(var(--v-cb-tab-neon-bunny-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-icon__GIPg1 { + color: hsl(var(--v-cb-tab-neon-bunny-icon)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-icon-status-success__S7m3r { + color: hsl(var(--v-cb-tab-neon-bunny-icon-success)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-icon-status-failed__OBJab { + color: hsl(var(--v-cb-tab-neon-bunny-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny__eWYt5 > div { + color: hsl(var(--v-cb-tab-neon-bunny-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot__7MQNF { + background-color: hsla(var(--v-cb-tab-neon-bunny-carrot-bkg), 1) !important; + color: hsl(var(--v-cb-tab-neon-bunny-carrot-text)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot__7MQNF:hover { + background-color: hsla(var(--v-cb-tab-neon-bunny-carrot-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot-icon__LyIOt { + color: hsl(var(--v-cb-tab-neon-bunny-carrot-icon)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-carrot-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot-icon-status-success__08RF3 { + color: hsl(var(--v-cb-tab-neon-bunny-carrot-icon-success)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-carrot-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot-icon-status-failed__2qP5p { + color: hsl(var(--v-cb-tab-neon-bunny-carrot-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-carrot-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot__7MQNF > div { + color: hsl(var(--v-cb-tab-neon-bunny-carrot-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default__75jh3 { + background-color: hsla(var(--v-cb-tab-prism-default-bkg), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default__75jh3:hover { + background-color: hsla(var(--v-cb-tab-prism-default-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default-icon__Kkk1k { + color: hsl(var(--v-cb-tab-prism-default-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-default-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default-icon-status-success__8B1cm { + color: hsl(var(--v-cb-tab-prism-default-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-default-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default-icon-status-failed__Yqzvw { + color: hsl(var(--v-cb-tab-prism-default-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-default-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default__75jh3 > div { + color: hsl(var(--v-cb-tab-prism-default-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy__XSIIu { + background-color: hsla(var(--v-cb-tab-prism-coy-bkg), 0.1) !important; + border-left: 5px solid hsl(var(--v-cb-tab-prism-coy-bkg)); + border-radius: 0; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy__XSIIu:hover { + background-color: hsla(var(--v-cb-tab-prism-coy-bkg), 0.2) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy-icon__FNdQg { + color: hsl(var(--v-cb-tab-prism-coy-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-coy-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy-icon-status-success__p1Q-Z { + color: hsl(var(--v-cb-tab-prism-coy-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-coy-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy-icon-status-failed__jjlQE { + color: hsl(var(--v-cb-tab-prism-coy-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-coy-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy__XSIIu > div { + color: hsl(var(--v-cb-tab-prism-coy-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark__xw5Oq { + background-color: hsla(var(--v-cb-tab-prism-dark-bkg), 1) !important; + border-color: hsl(var(--v-cb-tab-prism-dark-border)); + border-style: solid; + border-width: 0.3em 0.3em 0; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark__xw5Oq:hover { + background-color: hsla(var(--v-cb-tab-prism-dark-border), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark-icon__qu0u8 { + color: hsl(var(--v-cb-tab-prism-dark-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-dark-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark-icon-status-success__YlRBX { + color: hsl(var(--v-cb-tab-prism-dark-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-dark-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark-icon-status-failed__n2jZ- { + color: hsl(var(--v-cb-tab-prism-dark-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-dark-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark__xw5Oq > div { + color: hsl(var(--v-cb-tab-prism-dark-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky__4WqP8 { + background: url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>'); + background-size: 1em 1em; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky__4WqP8:hover { + background-color: hsl(var(--v-cb-tab-prism-funky-bkg)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky-icon__uI-k- { + color: hsl(var(--v-cb-tab-prism-funky-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-funky-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky-icon-status-success__sly1m { + color: hsl(var(--v-cb-tab-prism-funky-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-funky-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky-icon-status-failed__xNBbK { + color: hsl(var(--v-cb-tab-prism-funky-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-funky-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky__4WqP8 > div { + background-color: hsl(var(--v-cb-tab-prism-funky-dark)) !important; + color: hsl(var(--v-cb-tab-prism-funky-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia__bRHfN { + background-color: hsla(var(--v-cb-tab-prism-okaidia-bkg), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia__bRHfN:hover { + background-color: hsla(var(--v-cb-tab-prism-okaidia-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia-icon__OadLs { + color: hsl(var(--v-cb-tab-prism-okaidia-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-okaidia-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia-icon-status-success__lECdn { + color: hsl(var(--v-cb-tab-prism-okaidia-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-okaidia-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia-icon-status-failed__kcY2- { + color: hsl(var(--v-cb-tab-prism-okaidia-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-okaidia-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia__bRHfN > div { + color: hsl(var(--v-cb-tab-prism-okaidia-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight__4nxDB { + background-color: hsla(var(--v-cb-tab-prism-solarizedlight-bkg), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight__4nxDB:hover { + background-color: hsla(var(--v-cb-tab-prism-solarizedlight-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight-icon__B75ew { + color: hsl(var(--v-cb-tab-prism-solarizedlight-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-solarizedlight-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight-icon-status-success__YTC3d { + color: hsl(var(--v-cb-tab-prism-solarizedlight-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-solarizedlight-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight-icon-status-failed__rq0G- { + color: hsl(var(--v-cb-tab-prism-solarizedlight-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-solarizedlight-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight__4nxDB > div { + color: hsl(var(--v-cb-tab-prism-solarizedlight-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow__-0qg7 { + background-color: hsla(var(--v-cb-tab-prism-tomorrow-bkg), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow__-0qg7:hover { + background-color: hsla(var(--v-cb-tab-prism-tomorrow-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow-icon__-2VcM { + color: hsl(var(--v-cb-tab-prism-tomorrow-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-tomorrow-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow-icon-status-success__qce7a { + color: hsl(var(--v-cb-tab-prism-tomorrow-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-tomorrow-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow-icon-status-failed__lDuHc { + color: hsl(var(--v-cb-tab-prism-tomorrow-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-tomorrow-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow__-0qg7 > div { + color: hsl(var(--v-cb-tab-prism-tomorrow-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight__v2hTK { + background-color: hsla(var(--v-cb-tab-prism-twilight-bkg), 1) !important; + border-color: hsl(var(--v-cb-tab-prism-twilight-border)); + border-style: solid; + border-width: 0.3em 0.3em 0; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight__v2hTK:hover { + background-color: hsla(var(--v-cb-tab-prism-twilight-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight-icon__iWaKS { + color: hsl(var(--v-cb-tab-prism-twilight-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-twilight-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight-icon-status-success__8QpG1 { + color: hsl(var(--v-cb-tab-prism-twilight-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-twilight-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight-icon-status-failed__kxt9N { + color: hsl(var(--v-cb-tab-prism-twilight-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-twilight-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight__v2hTK > div { + color: hsl(var(--v-cb-tab-prism-twilight-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl__kBJeG { + background-color: hsla(var(--v-cb-tab-prism-night-owl), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl__kBJeG:hover { + background-color: hsla(var(--v-cb-tab-prism-night-owl), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl-icon__l-r6P { + color: hsl(var(--v-cb-tab-prism-night-owl-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-night-owl-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl-icon-status-success__lBw98 { + color: hsl(var(--v-cb-tab-prism-night-owl-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-night-owl-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl-icon-status-failed__4779f { + color: hsl(var(--v-cb-tab-prism-night-owl-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-night-owl-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl__kBJeG > div { + color: hsl(var(--v-cb-tab-prism-night-owl-text)); +} +svg[data-v-7d8ba791] { + height: 14px; + width: 14px; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-1__gMOs4 { + margin-top: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-1__jFfYD { + margin-right: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-1__UvVKH { + margin-bottom: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-1__wtG-g { + margin-left: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-1__uImqd { + padding-top: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-1__i8bdI { + padding-right: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-1__SXrEN { + padding-bottom: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-1__h03sI { + padding-left: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-2__tF5BZ { + margin-top: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-2__SM9SC { + margin-right: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-2__bK9qA { + margin-bottom: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-2__BSVUV { + margin-left: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-2__3mXxK { + padding-top: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-2__Eae2A { + padding-right: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-2__wqNyW { + padding-bottom: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-2__XVdGP { + padding-left: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-3__LN1bN { + margin-top: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-3__nbpPK { + margin-right: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-3__3mLSC { + margin-bottom: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-3__Lc7oR { + margin-left: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-3__rQQRN { + padding-top: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-3__DWI-7 { + padding-right: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-3__nlxIJ { + padding-bottom: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-3__fzyi4 { + padding-left: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-4__lokW0 { + margin-top: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-4__85fau { + margin-right: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-4__k2Ejx { + margin-bottom: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-4__EAlye { + margin-left: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-4__KEXe- { + padding-top: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-4__67-w6 { + padding-right: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-4__BgP5Q { + padding-bottom: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-4__ICnYB { + padding-left: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-5__PAaMF { + margin-top: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-5__wgss2 { + margin-right: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-5__G1yr- { + margin-bottom: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-5__dwXgr { + margin-left: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-5__-uRsb { + padding-top: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-5__zraCL { + padding-right: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-5__L35ER { + padding-bottom: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-5__D6giu { + padding-left: 1.25rem !important; +} + +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block---label-mobile__s7JO0 input, +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block---label-mobile__s7JO0 select, +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block---label-mobile__s7JO0 textarea { + display: none; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block__R426A { + display: block; + max-width: 100%; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--header__Vl0V1 { + align-items: end; + display: flex; + justify-content: space-between; + overflow: visible; + position: relative; + width: 100%; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--label__fBwHu { + font-family: var(--v-cb-label-font); + overflow: auto; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--tabs__P9EKx { + align-items: end; + justify-content: flex-end; + display: flex; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--tab__80YkS { + align-items: center; + background-color: hsla(var(--v-cb-primary), 0.1); + border-radius: 5px 5px 0 0; + cursor: pointer; + display: flex; + flex-direction: row; + font-family: var(--v-cb-tab-font); + justify-content: flex-start; + padding: 5px 15px; + text-align: center; + transition: background-color 0.35s ease; + white-space: nowrap; + width: fit-content; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--tab__80YkS:hover { + background-color: hsla(var(--v-cb-primary), 0.2); +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ { + position: relative; + z-index: 1; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ pre { + margin-top: 0; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ pre[class*=language-] { + margin-top: 0; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ pre[class*=language-]::before, .CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ pre[class*=language-]::after { + bottom: 0.95em; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-browser__-UTUi::before { + background-image: url('data:image/svg+xml;utf8, '); + background-position: 0.5em 0.5em; + background-repeat: no-repeat; + content: ""; + display: block; + padding-right: 10em; + padding-top: 3rem; + width: 100%; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ:hover .CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-copy-button__USY28 { + opacity: 1; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-copy-button__USY28 { + align-items: center; + color: #fff; + cursor: pointer; + display: flex; + height: 1.5em; + justify-content: center; + opacity: 0; + position: absolute; + right: 0.9rem; + top: 0.7rem; + transition: opacity 0.2s ease-in-out; + width: auto; + z-index: 2; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-copy-button__USY28:hover { + opacity: 1; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-copy-button-persist__lkGXk { + opacity: 0.5; +} + +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_foo__Upa6m[data-v-5d79b278] { + display: block; + z-index: 3; +} +:root { + + /* Blue */ + --v-cb-blue: 206, 80%, 39%; + --v-cb-blue-hex: #146eb4; + --v-cb-blue-rgb: 20, 110, 180; + --v-cb-primary: var(--v-cb-blue); + --v-cb-primary-hex: var(--v-cb-blue-hex); + --v-cb-primary-rgb: var(--v-cb-blue-rgb); + + /* Green */ + --v-cb-green: 120, 61%, 34%; + --v-cb-green-hex: #228b22; + --v-cb-green-rgb: 34, 139, 34; + --v-cb-success: var(--v-cb-green); + --v-cb-success-hex: var(--v-cb-green-hex); + --v-cb-success-rgb: var(--v-cb-green-rgb); + + /* Red */ + --v-cb-red: 0, 68%, 42%; + --v-cb-red-hex: #b22222; + --v-cb-red-rgb: 178, 34, 34; + --v-cb-danger: var(--v-cb-red); + --v-cb-danger-hex: var(--v-cb-red-hex); + --v-cb-danger-rgb: var(--v-cb-red-rgb); + + /* Typography */ + --v-cb-font: system-ui, -apple-system, 'Segoe UI', 'Roboto', + 'Helvetica Neue', 'Arial', 'Noto Sans', 'Liberation Sans', sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + --v-cb-label-font: var(--v-cb-font); + --v-cb-tab-font: var(--v-cb-font); + + + /* Neon Bunny Colors */ + + /* neon-bunny */ + --v-cb-tab-neon-bunny-bkg: 0, 0%, 0%; + --v-cb-tab-neon-bunny-text: 0, 0%, 100%; + --v-cb-tab-neon-bunny-icon: 207, 100%, 52%; + --v-cb-tab-neon-bunny-icon-success: 119, 100%, 51%; + --v-cb-tab-neon-bunny-icon-failed: 3, 100%, 58%; + + /* neon-bunny-carrot */ + --v-cb-tab-neon-bunny-carrot-bkg: 0, 0%, 0%; + --v-cb-tab-neon-bunny-carrot-text: 0, 0%, 100%; + --v-cb-tab-neon-bunny-carrot-icon: 292, 100%, 50%; + --v-cb-tab-neon-bunny-carrot-icon-success: 119, 100%, 51%; + --v-cb-tab-neon-bunny-carrot-icon-failed: 3, 100%, 58%; + + /* Prism Colors */ + + /* default */ + --v-cb-tab-prism-default-bkg: 24, 20%, 95%; + --v-cb-tab-prism-default-text: 0, 0%, 0%; + --v-cb-tab-prism-default-icon: 198, 100%, 33%; + --v-cb-tab-prism-default-icon-success: 80, 100%, 30%; + --v-cb-tab-prism-default-icon-failed: 348, 68%, 58%; + + /* coy */ + --v-cb-tab-prism-coy-bkg: 205, 59%, 50%; + --v-cb-tab-prism-coy-text: 0, 0%, 0%; + --v-cb-tab-prism-coy-icon: 195, 76%, 41%; + --v-cb-tab-prism-coy-icon-success: 80, 100%, 30%; + --v-cb-tab-prism-coy-icon-failed: 0, 64%, 48%; + + /* dark */ + --v-cb-tab-prism-dark-bkg: 30, 20%, 25%; + --v-cb-tab-prism-dark-text: 0, 0%, 100%; + --v-cb-tab-prism-dark-border: 30, 20%, 40%; + --v-cb-tab-prism-dark-icon: 40, 90%, 60%; + --v-cb-tab-prism-dark-icon-success: 75, 70%, 60%; + --v-cb-tab-prism-dark-icon-failed: 0, 100%, 50%; + + /* funky */ + --v-cb-tab-prism-funky-bkg: 0, 0%, 80%; + --v-cb-tab-prism-funky-text: 0, 0%, 100%; + --v-cb-tab-prism-funky-dark: 0, 0%, 0%; + --v-cb-tab-prism-funky-icon: 328, 100%, 54%; + --v-cb-tab-prism-funky-icon-success: 80, 61%, 50%; + --v-cb-tab-prism-funky-icon-failed: 0, 100%, 50%; + + /* okaidia */ + --v-cb-tab-prism-okaidia-bkg: 70, 8%, 15%; + --v-cb-tab-prism-okaidia-text: 0, 0%, 100%; + --v-cb-tab-prism-okaidia-icon: 190, 81%, 67%; + --v-cb-tab-prism-okaidia-icon-success: 80, 76%, 53%; + --v-cb-tab-prism-okaidia-icon-failed: 338, 95%, 56%; + + /* solarizedlight */ + --v-cb-tab-prism-solarizedlight-bkg: 44, 87%, 94%; + --v-cb-tab-prism-solarizedlight-text: 196, 13%, 45%; + --v-cb-tab-prism-solarizedlight-icon: 175, 59%, 40%; + --v-cb-tab-prism-solarizedlight-icon-success: 68, 100%, 30%; + --v-cb-tab-prism-solarizedlight-icon-failed: 18, 80%, 44%; + + /* tomorrow */ + --v-cb-tab-prism-tomorrow-bkg: 0, 0%, 18%; + --v-cb-tab-prism-tomorrow-text: 0, 0%, 80%; + --v-cb-tab-prism-tomorrow-icon: 299, 34%, 70%; + --v-cb-tab-prism-tomorrow-icon-success: 143, 39%, 64%; + --v-cb-tab-prism-tomorrow-icon-failed: 358, 65%, 68%; + + /* twilight */ + --v-cb-tab-prism-twilight-bkg: 0, 0%, 8%; + --v-cb-tab-prism-twilight-text: 0, 0%, 80%; + --v-cb-tab-prism-twilight-border: 0, 0%, 33%; + --v-cb-tab-prism-twilight-icon: 53, 89%, 79%; + --v-cb-tab-prism-twilight-icon-success: 76, 21%, 52%; + --v-cb-tab-prism-twilight-icon-failed: 14, 58%, 55%; + + /* night-owl */ + --v-cb-tab-prism-night-owl: 207, 95%, 8%; + --v-cb-tab-prism-night-owl-text: 217, 34%, 88%; + --v-cb-tab-prism-night-owl-icon: 169, 56%, 68%; + --v-cb-tab-prism-night-owl-icon-success: 84, 62%, 63%; + --v-cb-tab-prism-night-owl-icon-failed: 350, 100%, 67%; +} diff --git a/dist/vue3-code-block.es.css b/dist/vue3-code-block.es.css new file mode 100644 index 0000000..56f46b5 --- /dev/null +++ b/dist/vue3-code-block.es.css @@ -0,0 +1,582 @@ +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny__eWYt5 { + background-color: hsla(var(--v-cb-tab-neon-bunny-bkg), 1) !important; + color: hsl(var(--v-cb-tab-neon-bunny-text)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny__eWYt5:hover { + background-color: hsla(var(--v-cb-tab-neon-bunny-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-icon__GIPg1 { + color: hsl(var(--v-cb-tab-neon-bunny-icon)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-icon-status-success__S7m3r { + color: hsl(var(--v-cb-tab-neon-bunny-icon-success)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-icon-status-failed__OBJab { + color: hsl(var(--v-cb-tab-neon-bunny-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny__eWYt5 > div { + color: hsl(var(--v-cb-tab-neon-bunny-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot__7MQNF { + background-color: hsla(var(--v-cb-tab-neon-bunny-carrot-bkg), 1) !important; + color: hsl(var(--v-cb-tab-neon-bunny-carrot-text)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot__7MQNF:hover { + background-color: hsla(var(--v-cb-tab-neon-bunny-carrot-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot-icon__LyIOt { + color: hsl(var(--v-cb-tab-neon-bunny-carrot-icon)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-carrot-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot-icon-status-success__08RF3 { + color: hsl(var(--v-cb-tab-neon-bunny-carrot-icon-success)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-carrot-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot-icon-status-failed__2qP5p { + color: hsl(var(--v-cb-tab-neon-bunny-carrot-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-neon-bunny-carrot-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-neon-bunny-carrot__7MQNF > div { + color: hsl(var(--v-cb-tab-neon-bunny-carrot-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default__75jh3 { + background-color: hsla(var(--v-cb-tab-prism-default-bkg), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default__75jh3:hover { + background-color: hsla(var(--v-cb-tab-prism-default-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default-icon__Kkk1k { + color: hsl(var(--v-cb-tab-prism-default-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-default-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default-icon-status-success__8B1cm { + color: hsl(var(--v-cb-tab-prism-default-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-default-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default-icon-status-failed__Yqzvw { + color: hsl(var(--v-cb-tab-prism-default-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-default-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-default__75jh3 > div { + color: hsl(var(--v-cb-tab-prism-default-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy__XSIIu { + background-color: hsla(var(--v-cb-tab-prism-coy-bkg), 0.1) !important; + border-left: 5px solid hsl(var(--v-cb-tab-prism-coy-bkg)); + border-radius: 0; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy__XSIIu:hover { + background-color: hsla(var(--v-cb-tab-prism-coy-bkg), 0.2) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy-icon__FNdQg { + color: hsl(var(--v-cb-tab-prism-coy-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-coy-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy-icon-status-success__p1Q-Z { + color: hsl(var(--v-cb-tab-prism-coy-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-coy-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy-icon-status-failed__jjlQE { + color: hsl(var(--v-cb-tab-prism-coy-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-coy-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-coy__XSIIu > div { + color: hsl(var(--v-cb-tab-prism-coy-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark__xw5Oq { + background-color: hsla(var(--v-cb-tab-prism-dark-bkg), 1) !important; + border-color: hsl(var(--v-cb-tab-prism-dark-border)); + border-style: solid; + border-width: 0.3em 0.3em 0; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark__xw5Oq:hover { + background-color: hsla(var(--v-cb-tab-prism-dark-border), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark-icon__qu0u8 { + color: hsl(var(--v-cb-tab-prism-dark-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-dark-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark-icon-status-success__YlRBX { + color: hsl(var(--v-cb-tab-prism-dark-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-dark-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark-icon-status-failed__n2jZ- { + color: hsl(var(--v-cb-tab-prism-dark-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-dark-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-dark__xw5Oq > div { + color: hsl(var(--v-cb-tab-prism-dark-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky__4WqP8 { + background: url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>'); + background-size: 1em 1em; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky__4WqP8:hover { + background-color: hsl(var(--v-cb-tab-prism-funky-bkg)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky-icon__uI-k- { + color: hsl(var(--v-cb-tab-prism-funky-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-funky-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky-icon-status-success__sly1m { + color: hsl(var(--v-cb-tab-prism-funky-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-funky-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky-icon-status-failed__xNBbK { + color: hsl(var(--v-cb-tab-prism-funky-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-funky-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-funky__4WqP8 > div { + background-color: hsl(var(--v-cb-tab-prism-funky-dark)) !important; + color: hsl(var(--v-cb-tab-prism-funky-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia__bRHfN { + background-color: hsla(var(--v-cb-tab-prism-okaidia-bkg), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia__bRHfN:hover { + background-color: hsla(var(--v-cb-tab-prism-okaidia-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia-icon__OadLs { + color: hsl(var(--v-cb-tab-prism-okaidia-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-okaidia-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia-icon-status-success__lECdn { + color: hsl(var(--v-cb-tab-prism-okaidia-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-okaidia-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia-icon-status-failed__kcY2- { + color: hsl(var(--v-cb-tab-prism-okaidia-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-okaidia-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-okaidia__bRHfN > div { + color: hsl(var(--v-cb-tab-prism-okaidia-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight__4nxDB { + background-color: hsla(var(--v-cb-tab-prism-solarizedlight-bkg), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight__4nxDB:hover { + background-color: hsla(var(--v-cb-tab-prism-solarizedlight-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight-icon__B75ew { + color: hsl(var(--v-cb-tab-prism-solarizedlight-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-solarizedlight-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight-icon-status-success__YTC3d { + color: hsl(var(--v-cb-tab-prism-solarizedlight-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-solarizedlight-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight-icon-status-failed__rq0G- { + color: hsl(var(--v-cb-tab-prism-solarizedlight-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-solarizedlight-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-solarizedlight__4nxDB > div { + color: hsl(var(--v-cb-tab-prism-solarizedlight-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow__-0qg7 { + background-color: hsla(var(--v-cb-tab-prism-tomorrow-bkg), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow__-0qg7:hover { + background-color: hsla(var(--v-cb-tab-prism-tomorrow-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow-icon__-2VcM { + color: hsl(var(--v-cb-tab-prism-tomorrow-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-tomorrow-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow-icon-status-success__qce7a { + color: hsl(var(--v-cb-tab-prism-tomorrow-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-tomorrow-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow-icon-status-failed__lDuHc { + color: hsl(var(--v-cb-tab-prism-tomorrow-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-tomorrow-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-tomorrow__-0qg7 > div { + color: hsl(var(--v-cb-tab-prism-tomorrow-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight__v2hTK { + background-color: hsla(var(--v-cb-tab-prism-twilight-bkg), 1) !important; + border-color: hsl(var(--v-cb-tab-prism-twilight-border)); + border-style: solid; + border-width: 0.3em 0.3em 0; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight__v2hTK:hover { + background-color: hsla(var(--v-cb-tab-prism-twilight-bkg), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight-icon__iWaKS { + color: hsl(var(--v-cb-tab-prism-twilight-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-twilight-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight-icon-status-success__8QpG1 { + color: hsl(var(--v-cb-tab-prism-twilight-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-twilight-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight-icon-status-failed__kxt9N { + color: hsl(var(--v-cb-tab-prism-twilight-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-twilight-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-twilight__v2hTK > div { + color: hsl(var(--v-cb-tab-prism-twilight-text)); +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl__kBJeG { + background-color: hsla(var(--v-cb-tab-prism-night-owl), 1) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl__kBJeG:hover { + background-color: hsla(var(--v-cb-tab-prism-night-owl), 0.5) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl-icon__l-r6P { + color: hsl(var(--v-cb-tab-prism-night-owl-icon)) !important; + fill: hsl(var(--v-cb-tab-prism-night-owl-icon)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl-icon-status-success__lBw98 { + color: hsl(var(--v-cb-tab-prism-night-owl-icon-success)) !important; + fill: hsl(var(--v-cb-tab-prism-night-owl-icon-success)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl-icon-status-failed__4779f { + color: hsl(var(--v-cb-tab-prism-night-owl-icon-failed)) !important; + fill: hsl(var(--v-cb-tab-prism-night-owl-icon-failed)) !important; +} +.StatusIcons-vue-vue-type-style-index-0-lang_v-code-block--tab-night-owl__kBJeG > div { + color: hsl(var(--v-cb-tab-prism-night-owl-text)); +} +svg[data-v-7d8ba791] { + height: 14px; + width: 14px; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-1__gMOs4 { + margin-top: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-1__jFfYD { + margin-right: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-1__UvVKH { + margin-bottom: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-1__wtG-g { + margin-left: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-1__uImqd { + padding-top: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-1__i8bdI { + padding-right: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-1__SXrEN { + padding-bottom: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-1__h03sI { + padding-left: 0.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-2__tF5BZ { + margin-top: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-2__SM9SC { + margin-right: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-2__bK9qA { + margin-bottom: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-2__BSVUV { + margin-left: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-2__3mXxK { + padding-top: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-2__Eae2A { + padding-right: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-2__wqNyW { + padding-bottom: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-2__XVdGP { + padding-left: 0.5rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-3__LN1bN { + margin-top: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-3__nbpPK { + margin-right: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-3__3mLSC { + margin-bottom: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-3__Lc7oR { + margin-left: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-3__rQQRN { + padding-top: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-3__DWI-7 { + padding-right: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-3__nlxIJ { + padding-bottom: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-3__fzyi4 { + padding-left: 0.75rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-4__lokW0 { + margin-top: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-4__85fau { + margin-right: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-4__k2Ejx { + margin-bottom: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-4__EAlye { + margin-left: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-4__KEXe- { + padding-top: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-4__67-w6 { + padding-right: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-4__BgP5Q { + padding-bottom: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-4__ICnYB { + padding-left: 1rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mt-5__PAaMF { + margin-top: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--me-5__wgss2 { + margin-right: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--mb-5__G1yr- { + margin-bottom: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ms-5__dwXgr { + margin-left: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pt-5__-uRsb { + padding-top: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pe-5__zraCL { + padding-right: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--pb-5__L35ER { + padding-bottom: 1.25rem !important; +} +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block--ps-5__D6giu { + padding-left: 1.25rem !important; +} + +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block---label-mobile__s7JO0 input, +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block---label-mobile__s7JO0 select, +.CodeBlock-vue-vue-type-style-index-0-lang_v-code-block---label-mobile__s7JO0 textarea { + display: none; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block__R426A { + display: block; + max-width: 100%; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--header__Vl0V1 { + align-items: end; + display: flex; + justify-content: space-between; + overflow: visible; + position: relative; + width: 100%; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--label__fBwHu { + font-family: var(--v-cb-label-font); + overflow: auto; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--tabs__P9EKx { + align-items: end; + justify-content: flex-end; + display: flex; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--tab__80YkS { + align-items: center; + background-color: hsla(var(--v-cb-primary), 0.1); + border-radius: 5px 5px 0 0; + cursor: pointer; + display: flex; + flex-direction: row; + font-family: var(--v-cb-tab-font); + justify-content: flex-start; + padding: 5px 15px; + text-align: center; + transition: background-color 0.35s ease; + white-space: nowrap; + width: fit-content; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--tab__80YkS:hover { + background-color: hsla(var(--v-cb-primary), 0.2); +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ { + position: relative; + z-index: 1; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ pre { + margin-top: 0; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ pre[class*=language-] { + margin-top: 0; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ pre[class*=language-]::before, .CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ pre[class*=language-]::after { + bottom: 0.95em; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-browser__-UTUi::before { + background-image: url('data:image/svg+xml;utf8, '); + background-position: 0.5em 0.5em; + background-repeat: no-repeat; + content: ""; + display: block; + padding-right: 10em; + padding-top: 3rem; + width: 100%; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code__qsRxQ:hover .CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-copy-button__USY28 { + opacity: 1; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-copy-button__USY28 { + align-items: center; + color: #fff; + cursor: pointer; + display: flex; + height: 1.5em; + justify-content: center; + opacity: 0; + position: absolute; + right: 0.9rem; + top: 0.7rem; + transition: opacity 0.2s ease-in-out; + width: auto; + z-index: 2; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-copy-button__USY28:hover { + opacity: 1; +} +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_v-code-block--code-copy-button-persist__lkGXk { + opacity: 0.5; +} + +.CodeBlock-vue-vue-type-style-index-1-scoped-5d79b278-lang_foo__Upa6m[data-v-5d79b278] { + display: block; + z-index: 3; +} +:root { + + /* Blue */ + --v-cb-blue: 206, 80%, 39%; + --v-cb-blue-hex: #146eb4; + --v-cb-blue-rgb: 20, 110, 180; + --v-cb-primary: var(--v-cb-blue); + --v-cb-primary-hex: var(--v-cb-blue-hex); + --v-cb-primary-rgb: var(--v-cb-blue-rgb); + + /* Green */ + --v-cb-green: 120, 61%, 34%; + --v-cb-green-hex: #228b22; + --v-cb-green-rgb: 34, 139, 34; + --v-cb-success: var(--v-cb-green); + --v-cb-success-hex: var(--v-cb-green-hex); + --v-cb-success-rgb: var(--v-cb-green-rgb); + + /* Red */ + --v-cb-red: 0, 68%, 42%; + --v-cb-red-hex: #b22222; + --v-cb-red-rgb: 178, 34, 34; + --v-cb-danger: var(--v-cb-red); + --v-cb-danger-hex: var(--v-cb-red-hex); + --v-cb-danger-rgb: var(--v-cb-red-rgb); + + /* Typography */ + --v-cb-font: system-ui, -apple-system, 'Segoe UI', 'Roboto', + 'Helvetica Neue', 'Arial', 'Noto Sans', 'Liberation Sans', sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + --v-cb-label-font: var(--v-cb-font); + --v-cb-tab-font: var(--v-cb-font); + + + /* Neon Bunny Colors */ + + /* neon-bunny */ + --v-cb-tab-neon-bunny-bkg: 0, 0%, 0%; + --v-cb-tab-neon-bunny-text: 0, 0%, 100%; + --v-cb-tab-neon-bunny-icon: 207, 100%, 52%; + --v-cb-tab-neon-bunny-icon-success: 119, 100%, 51%; + --v-cb-tab-neon-bunny-icon-failed: 3, 100%, 58%; + + /* neon-bunny-carrot */ + --v-cb-tab-neon-bunny-carrot-bkg: 0, 0%, 0%; + --v-cb-tab-neon-bunny-carrot-text: 0, 0%, 100%; + --v-cb-tab-neon-bunny-carrot-icon: 292, 100%, 50%; + --v-cb-tab-neon-bunny-carrot-icon-success: 119, 100%, 51%; + --v-cb-tab-neon-bunny-carrot-icon-failed: 3, 100%, 58%; + + /* Prism Colors */ + + /* default */ + --v-cb-tab-prism-default-bkg: 24, 20%, 95%; + --v-cb-tab-prism-default-text: 0, 0%, 0%; + --v-cb-tab-prism-default-icon: 198, 100%, 33%; + --v-cb-tab-prism-default-icon-success: 80, 100%, 30%; + --v-cb-tab-prism-default-icon-failed: 348, 68%, 58%; + + /* coy */ + --v-cb-tab-prism-coy-bkg: 205, 59%, 50%; + --v-cb-tab-prism-coy-text: 0, 0%, 0%; + --v-cb-tab-prism-coy-icon: 195, 76%, 41%; + --v-cb-tab-prism-coy-icon-success: 80, 100%, 30%; + --v-cb-tab-prism-coy-icon-failed: 0, 64%, 48%; + + /* dark */ + --v-cb-tab-prism-dark-bkg: 30, 20%, 25%; + --v-cb-tab-prism-dark-text: 0, 0%, 100%; + --v-cb-tab-prism-dark-border: 30, 20%, 40%; + --v-cb-tab-prism-dark-icon: 40, 90%, 60%; + --v-cb-tab-prism-dark-icon-success: 75, 70%, 60%; + --v-cb-tab-prism-dark-icon-failed: 0, 100%, 50%; + + /* funky */ + --v-cb-tab-prism-funky-bkg: 0, 0%, 80%; + --v-cb-tab-prism-funky-text: 0, 0%, 100%; + --v-cb-tab-prism-funky-dark: 0, 0%, 0%; + --v-cb-tab-prism-funky-icon: 328, 100%, 54%; + --v-cb-tab-prism-funky-icon-success: 80, 61%, 50%; + --v-cb-tab-prism-funky-icon-failed: 0, 100%, 50%; + + /* okaidia */ + --v-cb-tab-prism-okaidia-bkg: 70, 8%, 15%; + --v-cb-tab-prism-okaidia-text: 0, 0%, 100%; + --v-cb-tab-prism-okaidia-icon: 190, 81%, 67%; + --v-cb-tab-prism-okaidia-icon-success: 80, 76%, 53%; + --v-cb-tab-prism-okaidia-icon-failed: 338, 95%, 56%; + + /* solarizedlight */ + --v-cb-tab-prism-solarizedlight-bkg: 44, 87%, 94%; + --v-cb-tab-prism-solarizedlight-text: 196, 13%, 45%; + --v-cb-tab-prism-solarizedlight-icon: 175, 59%, 40%; + --v-cb-tab-prism-solarizedlight-icon-success: 68, 100%, 30%; + --v-cb-tab-prism-solarizedlight-icon-failed: 18, 80%, 44%; + + /* tomorrow */ + --v-cb-tab-prism-tomorrow-bkg: 0, 0%, 18%; + --v-cb-tab-prism-tomorrow-text: 0, 0%, 80%; + --v-cb-tab-prism-tomorrow-icon: 299, 34%, 70%; + --v-cb-tab-prism-tomorrow-icon-success: 143, 39%, 64%; + --v-cb-tab-prism-tomorrow-icon-failed: 358, 65%, 68%; + + /* twilight */ + --v-cb-tab-prism-twilight-bkg: 0, 0%, 8%; + --v-cb-tab-prism-twilight-text: 0, 0%, 80%; + --v-cb-tab-prism-twilight-border: 0, 0%, 33%; + --v-cb-tab-prism-twilight-icon: 53, 89%, 79%; + --v-cb-tab-prism-twilight-icon-success: 76, 21%, 52%; + --v-cb-tab-prism-twilight-icon-failed: 14, 58%, 55%; + + /* night-owl */ + --v-cb-tab-prism-night-owl: 207, 95%, 8%; + --v-cb-tab-prism-night-owl-text: 217, 34%, 88%; + --v-cb-tab-prism-night-owl-icon: 169, 56%, 68%; + --v-cb-tab-prism-night-owl-icon-success: 84, 62%, 63%; + --v-cb-tab-prism-night-owl-icon-failed: 350, 100%, 67%; +} diff --git a/dist/vue3-code-block.es.js b/dist/vue3-code-block.es.js new file mode 100644 index 0000000..7b253d6 --- /dev/null +++ b/dist/vue3-code-block.es.js @@ -0,0 +1,516 @@ +/** + * @name vue3-code-block + * @version 1.0.0-beta + * @description Vue 3 CodeBlock - Highlight your code with ease using this syntax highlighting component powered by PrismJS. + * @author WebDevNerdStuff & Bunnies... lots and lots of bunnies! (https://webdevnerdstuff.com) + * @copyright Copyright 2023, WebDevNerdStuff + * @homepage https://github.com/webdevnerdstuff/vue3-code-block + * @repository https://github.com/webdevnerdstuff/vue3-code-block + * @license MIT License + */ + +import { openBlock, createElementBlock, Fragment, createCommentVNode, mergeProps, pushScopeId, popScopeId, createElementVNode, defineComponent, useSlots, inject, ref, computed, watch, onBeforeMount, onMounted, normalizeClass, unref, normalizeStyle, renderSlot, createTextVNode, toDisplayString, createBlock } from 'vue'; +import Prism from 'prismjs'; +import UAParser from 'ua-parser-js'; + +var _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; + +const _sfc_main$1 = { + name: 'StatusIcons', + props: { + icon: { + type: String, + required: true + } + }, + setup(props) { + return { + props, + }; + } +}; + +const _withScopeId = n => (pushScopeId("data-v-7d8ba791"),n=n(),popScopeId(),n); +const _hoisted_1$1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("path", { d: "M224 0c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224zM64 160c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H288v64H64V224h64V160H64z" }, null, -1 /* HOISTED */)); +const _hoisted_2$1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("path", { d: "M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z" }, null, -1 /* HOISTED */)); +const _hoisted_3$1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("path", { d: "M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z" }, null, -1 /* HOISTED */)); + +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + return (openBlock(), createElementBlock(Fragment, null, [ + createCommentVNode(" Copy Icon "), + ($props.icon === 'copy') + ? (openBlock(), createElementBlock("svg", mergeProps({ key: 0 }, _ctx.$attrs, { + viewBox: "0 0 512 512", + xmlns: "http://www.w3.org/2000/svg" + }), [ + createCommentVNode("! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. "), + _hoisted_1$1 + ], 16 /* FULL_PROPS */)) + : ($props.icon === 'success') + ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [ + createCommentVNode(" Success Icon "), + (openBlock(), createElementBlock("svg", mergeProps(_ctx.$attrs, { + viewBox: "0 0 512 512", + xmlns: "http://www.w3.org/2000/svg" + }), [ + createCommentVNode("! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. "), + _hoisted_2$1 + ], 16 /* FULL_PROPS */)) + ], 2112 /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */)) + : ($props.icon === 'failed') + ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [ + createCommentVNode(" Failed Icon "), + (openBlock(), createElementBlock("svg", mergeProps(_ctx.$attrs, { + viewBox: "0 0 320 512", + xmlns: "http://www.w3.org/2000/svg" + }), [ + createCommentVNode("! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. "), + _hoisted_3$1 + ], 16 /* FULL_PROPS */)) + ], 2112 /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */)) + : createCommentVNode("v-if", true) + ], 2112 /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */)) +} +var StatusIcons = /*#__PURE__*/_export_sfc(_sfc_main$1, [['render',_sfc_render],['__scopeId',"data-v-7d8ba791"],['__file',"src/plugin/StatusIcons.vue"]]); + +const _hoisted_1 = { class: "v-code-block--button-copy" }; +const _hoisted_2 = { class: "v-code-block--button-run" }; +const _hoisted_3 = { class: "v-code-block--code" }; +const _hoisted_4 = ["innerHTML"]; +var _sfc_main = /*#__PURE__*/ defineComponent({ + __name: 'CodeBlock', + props: { + browserWindow: { + type: Boolean, + required: false, + default: false, + }, + code: { + type: [Object, Array, String, Number], + required: true, + }, + codeBlockRadius: { + type: String, + required: false, + default: '0.5rem', + }, + copyButton: { + type: Boolean, + required: false, + default: true, + }, + copyIcons: { + type: Boolean, + required: false, + default: true, + }, + copyTab: { + type: Boolean, + required: false, + default: true, + }, + copyFailedText: { + type: String, + required: false, + default: 'Copy failed!', + }, + copyText: { + type: String, + required: false, + default: 'Copy Code', + }, + copySuccessText: { + type: String, + required: false, + default: 'Copied!', + }, + floatingTabs: { + type: Boolean, + required: false, + default: true, + }, + height: { + type: [String, Number], + required: false, + default: 'auto', + }, + indent: { + type: Number, + required: false, + default: 2, + }, + label: { + type: String, + required: false, + default: '', + }, + lang: { + type: String, + required: false, + default: 'javascript', + }, + maxHeight: { + type: [String, Number], + required: false, + default: 'auto', + }, + persistentCopyButton: { + type: Boolean, + required: false, + default: false, + }, + runTab: { + type: Boolean, + required: false, + default: false, + }, + runText: { + type: String, + required: false, + default: 'Run', + }, + tabGap: { + type: String, + required: false, + default: '0.25rem', + }, + tabs: { + type: Boolean, + required: false, + default: false, + }, + theme: { + type: [String, Boolean], + required: false, + default: 'neon-bunny', + } + }, + emits: ['run', 'update:copy-status'], + setup(__props, { emit }) { + const props = __props; + const neonBunnyCarrotTheme = import.meta.glob('./themes/neon-bunny-carrot.css', { eager: true, as: 'raw' }); + const neonBunnyTheme = import.meta.glob('./themes/neon-bunny.css', { eager: true, as: 'raw' }); + const prismTheme = import.meta.glob('prismjs/themes/prism.css', { eager: true, as: 'raw' }); + const prismThemeCoy = import.meta.glob('prismjs/themes/prism-coy.css', { eager: true, as: 'raw' }); + const prismThemeDark = import.meta.glob('prismjs/themes/prism-dark.css', { eager: true, as: 'raw' }); + const prismThemeFunky = import.meta.glob('prismjs/themes/prism-funky.css', { eager: true, as: 'raw' }); + const prismThemeOkaidia = import.meta.glob('prismjs/themes/prism-okaidia.css', { eager: true, as: 'raw' }); + const prismThemeSolarizedlight = import.meta.glob('prismjs/themes/prism-solarizedlight.css', { eager: true, as: 'raw' }); + const prismThemeTomorrow = import.meta.glob('prismjs/themes/prism-tomorrow.css', { eager: true, as: 'raw' }); + const prismThemeTwilight = import.meta.glob('prismjs/themes/prism-twilight.css', { eager: true, as: 'raw' }); + // -------------------------------------------------- Emits & Slots & Injects // + const slots = useSlots(); + const codeBlockGlobalOptions = inject('codeBlockGlobalOptions'); + // -------------------------------------------------- Props // + // -------------------------------------------------- Data // + const copyTextValue = ref(''); + const convertedCode = ref(null); + const copying = ref(false); + const copyStatus = ref('copy'); + const isMobile = ref(false); + const runTextValue = ref(''); + const stylesheetId = 'v-code-block--theme'; + const useTheme = ref(''); + // -------------------------------------------------- Computed // + const codeBlockClasses = computed(() => { + return isMobile.value ? 'v-code-block--mobile' : ''; + }); + const codeTagStyles = computed(() => { + const width = useTheme.value === 'coy' ? '100%' : ''; + return { width }; + }); + const copyButtonClasses = computed(() => { + return { + 'v-code-block--code-copy-button': true, + 'v-code-block--code-copy-button-mobile': isMobile.value, + [`v-code-block--code-copy-button-persist`]: props.persistentCopyButton, + [`v-code-block--code-copy-button-status-${copyStatus.value}`]: true, + }; + }); + const headerStyles = computed(() => { + return { + bottom: props.floatingTabs ? '1px' : '0', + gap: convertToUnit(props.tabGap), + }; + }); + const iconClasses = computed(() => { + const theme = useTheme.value === '' || useTheme.value === 'prism' ? 'default' : useTheme.value; + const classes = { + 'v-code-block--me-1': true, + [`v-code-block--tab-${theme}-icon`]: true, + [`v-code-block--button-copy-icon-status-${copyStatus.value}`]: true, + [`v-code-block--tab-${theme}-icon-status-${copyStatus.value}`]: true, + }; + return classes; + }); + const labelClasses = computed(() => { + return isMobile.value ? 'v-code-block--label-mobile' : ''; + }); + const preTagStyles = computed(() => { + const radius = props.codeBlockRadius; + let borderRadius = `${radius} 0 ${radius} ${radius}`; + if (!props.tabs || (!props.copyTab && !props.runTab)) { + borderRadius = radius; + } + const display = useTheme.value !== 'funky' ? 'flex' : 'block'; + return { + borderRadius, + height: convertToUnit(props.height), + maxHeight: convertToUnit(props.maxHeight), + display, + }; + }); + const renderCode = computed(() => { + convertCode(); + const html = Prism.highlight(convertedCode.value, Prism.languages[props.lang], props.lang); + return html; + }); + const tabClasses = computed(() => { + const theme = useTheme.value === '' || useTheme.value === 'prism' ? 'default' : useTheme.value; + const classes = { + [`v-code-block--tab-${theme}`]: true, + }; + return classes; + }); + const tabGroupStyle = computed(() => { + return { + gap: convertToUnit(props.tabGap), + }; + }); + // -------------------------------------------------- Watch // + watch(props, () => { + if (props.theme) { + useTheme.value = props.theme; + loadTheme(); + } + if (props.copyText) { + copyTextValue.value = props.copyText; + } + if (props.runText) { + runTextValue.value = props.runText; + } + }); + // -------------------------------------------------- Mounts // + onBeforeMount(() => { + copyTextValue.value = props.copyText; + runTextValue.value = props.runText; + }); + onMounted(() => { + useTheme.value = codeBlockGlobalOptions?.theme || props.theme; + loadTheme(); + mobileCheck(); + }); + // -------------------------------------------------- Methods // + function convertCode() { + if (props.lang === 'json') { + const propsCode = props.code.toString(); + convertedCode.value = JSON.stringify(JSON.parse(propsCode), null, props.indent); + return; + } + convertedCode.value = props.code; + return; + } + function convertToUnit(str, unit = 'px') { + if (str == null || str === '') { + return undefined; + } + else if (!+str) { + return String(str); + } + return `${Number(str)}${unit}`; + } + function copyCode() { + if (copying.value) { + return; + } + copying.value = true; + navigator.clipboard.writeText(convertedCode.value).then(() => { + copyTextValue.value = props.copySuccessText; + copyStatus.value = 'success'; + emit('update:copy-status', copyStatus.value); + }, (err) => { + copyTextValue.value = props.copyFailedText; + copyStatus.value = 'failed'; + emit('update:copy-status', copyStatus.value); + console.error('Copy to clipboard failed: ', err); + }); + setTimeout(() => { + copyTextValue.value = props.copyText; + copyStatus.value = 'copy'; + emit('update:copy-status', copyStatus.value); + copying.value = false; + }, 3000); + } + function loadTheme() { + let selectedTheme = null; + const loadedThemeStyles = document.getElementById(stylesheetId); + const head = document.getElementsByTagName('head')[0]; + const themeStyles = document.createElement('style'); + if (loadedThemeStyles) { + loadedThemeStyles.remove(); + } + switch (useTheme.value) { + case 'neon-bunny': + selectedTheme = neonBunnyTheme; + break; + case 'neon-bunny-carrot': + selectedTheme = neonBunnyCarrotTheme; + break; + case 'coy': + selectedTheme = prismThemeCoy; + break; + case 'dark': + selectedTheme = prismThemeDark; + break; + case 'funky': + selectedTheme = prismThemeFunky; + break; + case 'okaidia': + selectedTheme = prismThemeOkaidia; + break; + case 'solarizedlight': + selectedTheme = prismThemeSolarizedlight; + break; + case 'tomorrow': + selectedTheme = prismThemeTomorrow; + break; + case 'twilight': + selectedTheme = prismThemeTwilight; + break; + case 'default': + case 'prism': + selectedTheme = prismTheme; + break; + default: + selectedTheme = prismTheme; + break; + } + const themeKey = Object.keys(selectedTheme)[0]; + selectedTheme = selectedTheme[themeKey]; + themeStyles.setAttribute('type', 'text/css'); + themeStyles.id = stylesheetId; + themeStyles.appendChild(document.createTextNode(selectedTheme)); + head.appendChild(themeStyles); + } + function mobileCheck() { + const ua = UAParser(); + const device = ua.device; + isMobile.value = device.type === 'mobile'; + } + window.addEventListener("orientationchange", () => { + mobileCheck(); + }); + function runCode() { + emit('run'); + } + return (_ctx, _cache) => { + return (openBlock(), createElementBlock("div", { + class: normalizeClass(["v-code-block v-code-block--mb-5", unref(codeBlockClasses)]) + }, [ + (__props.label || __props.tabs || unref(slots).label || unref(slots).tabs) + ? (openBlock(), createElementBlock("div", { + key: 0, + class: "v-code-block--header", + style: normalizeStyle(unref(headerStyles)) + }, [ + createElementVNode("div", { + class: normalizeClass(["v-code-block--label v-code-block--pb-1", unref(labelClasses)]) + }, [ + (unref(slots).label) + ? renderSlot(_ctx.$slots, "label", { key: 0 }, undefined, true) + : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ + createTextVNode(toDisplayString(props.label), 1 /* TEXT */) + ], 64 /* STABLE_FRAGMENT */)) + ], 2 /* CLASS */), + createElementVNode("div", { + class: "v-code-block--tabs", + style: normalizeStyle(unref(tabGroupStyle)) + }, [ + (unref(slots).tabs) + ? renderSlot(_ctx.$slots, "tabs", { key: 0 }, undefined, true) + : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ + createCommentVNode(" ======================================== Copy Code Tab/Button "), + (__props.copyTab && __props.tabs) + ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(["v-code-block--tab", unref(tabClasses)]), + onClick: copyCode + }, [ + createElementVNode("div", _hoisted_1, [ + (__props.copyIcons) + ? (openBlock(), createBlock(StatusIcons, { + key: 0, + class: normalizeClass(["v-code-block--button-copy-icon", unref(iconClasses)]), + icon: copyStatus.value + }, null, 8 /* PROPS */, ["class", "icon"])) + : createCommentVNode("v-if", true), + createTextVNode(" " + toDisplayString(copyTextValue.value), 1 /* TEXT */) + ]) + ], 2 /* CLASS */)) + : createCommentVNode("v-if", true), + createCommentVNode(" ======================================== Run Tab/Button "), + (__props.runTab && __props.tabs && !isMobile.value) + ? (openBlock(), createElementBlock("div", { + key: 1, + class: normalizeClass(["v-code-block--tab", unref(tabClasses)]), + onClick: runCode + }, [ + createElementVNode("div", _hoisted_2, toDisplayString(runTextValue.value), 1 /* TEXT */) + ], 2 /* CLASS */)) + : createCommentVNode("v-if", true) + ], 64 /* STABLE_FRAGMENT */)) + ], 4 /* STYLE */) + ], 4 /* STYLE */)) + : createCommentVNode("v-if", true), + createElementVNode("div", _hoisted_3, [ + createElementVNode("div", { + class: normalizeClass(["v-code-block--code-copy-button", unref(copyButtonClasses)]), + onClick: copyCode + }, [ + (unref(slots).copyButton) + ? renderSlot(_ctx.$slots, "copyButton", { key: 0 }, undefined, true) + : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ + (__props.copyButton) + ? (openBlock(), createBlock(StatusIcons, { + key: 0, + class: normalizeClass(["v-code-block--button-copy-icon", unref(iconClasses)]), + icon: copyStatus.value + }, null, 8 /* PROPS */, ["class", "icon"])) + : createCommentVNode("v-if", true) + ], 64 /* STABLE_FRAGMENT */)) + ], 2 /* CLASS */), + createElementVNode("pre", { + class: normalizeClass(`language-${props.lang}`), + style: normalizeStyle(unref(preTagStyles)) + }, [ + createTextVNode(""), + createElementVNode("code", { + class: normalizeClass(`language-${props.lang} ${__props.browserWindow ? 'v-code-block--code-browser' : ''}`), + style: normalizeStyle(unref(codeTagStyles)), + innerHTML: unref(renderCode) + }, null, 14 /* CLASS, STYLE, PROPS */, _hoisted_4), + createTextVNode("\n\t\t\t") + ], 6 /* CLASS, STYLE */) + ]) + ], 2 /* CLASS */)); + }; + } +}); + +var CodeBlock = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5d79b278"], ["__file", "src/plugin/CodeBlock.vue"]]); + +const CodeBlockPlugin = { + install(app, options) { + const codeBlockGlobalOptions = { globalOptions: true, ...options }; + app.provide('codeBlockGlobalOptions', codeBlockGlobalOptions); + app.component('CodeBlock', CodeBlock); + }, +}; + +export { CodeBlockPlugin as default }; diff --git a/dist/vue3-code-block.js b/dist/vue3-code-block.js new file mode 100644 index 0000000..fb887e9 --- /dev/null +++ b/dist/vue3-code-block.js @@ -0,0 +1,520 @@ +/** + * @name vue3-code-block + * @version 1.0.0-beta + * @description Vue 3 CodeBlock - Highlight your code with ease using this syntax highlighting component powered by PrismJS. + * @author WebDevNerdStuff & Bunnies... lots and lots of bunnies! (https://webdevnerdstuff.com) + * @copyright Copyright 2023, WebDevNerdStuff + * @homepage https://github.com/webdevnerdstuff/vue3-code-block + * @repository https://github.com/webdevnerdstuff/vue3-code-block + * @license MIT License + */ + +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var vue = require('vue'); +var Prism = require('prismjs'); +var UAParser = require('ua-parser-js'); + +var _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; + +const _sfc_main$1 = { + name: 'StatusIcons', + props: { + icon: { + type: String, + required: true + } + }, + setup(props) { + return { + props, + }; + } +}; + +const _withScopeId = n => (vue.pushScopeId("data-v-7d8ba791"),n=n(),vue.popScopeId(),n); +const _hoisted_1$1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("path", { d: "M224 0c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224zM64 160c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H288v64H64V224h64V160H64z" }, null, -1 /* HOISTED */)); +const _hoisted_2$1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("path", { d: "M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z" }, null, -1 /* HOISTED */)); +const _hoisted_3$1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("path", { d: "M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z" }, null, -1 /* HOISTED */)); + +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [ + vue.createCommentVNode(" Copy Icon "), + ($props.icon === 'copy') + ? (vue.openBlock(), vue.createElementBlock("svg", vue.mergeProps({ key: 0 }, _ctx.$attrs, { + viewBox: "0 0 512 512", + xmlns: "http://www.w3.org/2000/svg" + }), [ + vue.createCommentVNode("! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. "), + _hoisted_1$1 + ], 16 /* FULL_PROPS */)) + : ($props.icon === 'success') + ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [ + vue.createCommentVNode(" Success Icon "), + (vue.openBlock(), vue.createElementBlock("svg", vue.mergeProps(_ctx.$attrs, { + viewBox: "0 0 512 512", + xmlns: "http://www.w3.org/2000/svg" + }), [ + vue.createCommentVNode("! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. "), + _hoisted_2$1 + ], 16 /* FULL_PROPS */)) + ], 2112 /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */)) + : ($props.icon === 'failed') + ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [ + vue.createCommentVNode(" Failed Icon "), + (vue.openBlock(), vue.createElementBlock("svg", vue.mergeProps(_ctx.$attrs, { + viewBox: "0 0 320 512", + xmlns: "http://www.w3.org/2000/svg" + }), [ + vue.createCommentVNode("! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. "), + _hoisted_3$1 + ], 16 /* FULL_PROPS */)) + ], 2112 /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */)) + : vue.createCommentVNode("v-if", true) + ], 2112 /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */)) +} +var StatusIcons = /*#__PURE__*/_export_sfc(_sfc_main$1, [['render',_sfc_render],['__scopeId',"data-v-7d8ba791"],['__file',"src/plugin/StatusIcons.vue"]]); + +const _hoisted_1 = { class: "v-code-block--button-copy" }; +const _hoisted_2 = { class: "v-code-block--button-run" }; +const _hoisted_3 = { class: "v-code-block--code" }; +const _hoisted_4 = ["innerHTML"]; +var _sfc_main = /*#__PURE__*/ vue.defineComponent({ + __name: 'CodeBlock', + props: { + browserWindow: { + type: Boolean, + required: false, + default: false, + }, + code: { + type: [Object, Array, String, Number], + required: true, + }, + codeBlockRadius: { + type: String, + required: false, + default: '0.5rem', + }, + copyButton: { + type: Boolean, + required: false, + default: true, + }, + copyIcons: { + type: Boolean, + required: false, + default: true, + }, + copyTab: { + type: Boolean, + required: false, + default: true, + }, + copyFailedText: { + type: String, + required: false, + default: 'Copy failed!', + }, + copyText: { + type: String, + required: false, + default: 'Copy Code', + }, + copySuccessText: { + type: String, + required: false, + default: 'Copied!', + }, + floatingTabs: { + type: Boolean, + required: false, + default: true, + }, + height: { + type: [String, Number], + required: false, + default: 'auto', + }, + indent: { + type: Number, + required: false, + default: 2, + }, + label: { + type: String, + required: false, + default: '', + }, + lang: { + type: String, + required: false, + default: 'javascript', + }, + maxHeight: { + type: [String, Number], + required: false, + default: 'auto', + }, + persistentCopyButton: { + type: Boolean, + required: false, + default: false, + }, + runTab: { + type: Boolean, + required: false, + default: false, + }, + runText: { + type: String, + required: false, + default: 'Run', + }, + tabGap: { + type: String, + required: false, + default: '0.25rem', + }, + tabs: { + type: Boolean, + required: false, + default: false, + }, + theme: { + type: [String, Boolean], + required: false, + default: 'neon-bunny', + } + }, + emits: ['run', 'update:copy-status'], + setup(__props, { emit }) { + const props = __props; + const neonBunnyCarrotTheme = undefined('./themes/neon-bunny-carrot.css', { eager: true, as: 'raw' }); + const neonBunnyTheme = undefined('./themes/neon-bunny.css', { eager: true, as: 'raw' }); + const prismTheme = undefined('prismjs/themes/prism.css', { eager: true, as: 'raw' }); + const prismThemeCoy = undefined('prismjs/themes/prism-coy.css', { eager: true, as: 'raw' }); + const prismThemeDark = undefined('prismjs/themes/prism-dark.css', { eager: true, as: 'raw' }); + const prismThemeFunky = undefined('prismjs/themes/prism-funky.css', { eager: true, as: 'raw' }); + const prismThemeOkaidia = undefined('prismjs/themes/prism-okaidia.css', { eager: true, as: 'raw' }); + const prismThemeSolarizedlight = undefined('prismjs/themes/prism-solarizedlight.css', { eager: true, as: 'raw' }); + const prismThemeTomorrow = undefined('prismjs/themes/prism-tomorrow.css', { eager: true, as: 'raw' }); + const prismThemeTwilight = undefined('prismjs/themes/prism-twilight.css', { eager: true, as: 'raw' }); + // -------------------------------------------------- Emits & Slots & Injects // + const slots = vue.useSlots(); + const codeBlockGlobalOptions = vue.inject('codeBlockGlobalOptions'); + // -------------------------------------------------- Props // + // -------------------------------------------------- Data // + const copyTextValue = vue.ref(''); + const convertedCode = vue.ref(null); + const copying = vue.ref(false); + const copyStatus = vue.ref('copy'); + const isMobile = vue.ref(false); + const runTextValue = vue.ref(''); + const stylesheetId = 'v-code-block--theme'; + const useTheme = vue.ref(''); + // -------------------------------------------------- Computed // + const codeBlockClasses = vue.computed(() => { + return isMobile.value ? 'v-code-block--mobile' : ''; + }); + const codeTagStyles = vue.computed(() => { + const width = useTheme.value === 'coy' ? '100%' : ''; + return { width }; + }); + const copyButtonClasses = vue.computed(() => { + return { + 'v-code-block--code-copy-button': true, + 'v-code-block--code-copy-button-mobile': isMobile.value, + [`v-code-block--code-copy-button-persist`]: props.persistentCopyButton, + [`v-code-block--code-copy-button-status-${copyStatus.value}`]: true, + }; + }); + const headerStyles = vue.computed(() => { + return { + bottom: props.floatingTabs ? '1px' : '0', + gap: convertToUnit(props.tabGap), + }; + }); + const iconClasses = vue.computed(() => { + const theme = useTheme.value === '' || useTheme.value === 'prism' ? 'default' : useTheme.value; + const classes = { + 'v-code-block--me-1': true, + [`v-code-block--tab-${theme}-icon`]: true, + [`v-code-block--button-copy-icon-status-${copyStatus.value}`]: true, + [`v-code-block--tab-${theme}-icon-status-${copyStatus.value}`]: true, + }; + return classes; + }); + const labelClasses = vue.computed(() => { + return isMobile.value ? 'v-code-block--label-mobile' : ''; + }); + const preTagStyles = vue.computed(() => { + const radius = props.codeBlockRadius; + let borderRadius = `${radius} 0 ${radius} ${radius}`; + if (!props.tabs || (!props.copyTab && !props.runTab)) { + borderRadius = radius; + } + const display = useTheme.value !== 'funky' ? 'flex' : 'block'; + return { + borderRadius, + height: convertToUnit(props.height), + maxHeight: convertToUnit(props.maxHeight), + display, + }; + }); + const renderCode = vue.computed(() => { + convertCode(); + const html = Prism.highlight(convertedCode.value, Prism.languages[props.lang], props.lang); + return html; + }); + const tabClasses = vue.computed(() => { + const theme = useTheme.value === '' || useTheme.value === 'prism' ? 'default' : useTheme.value; + const classes = { + [`v-code-block--tab-${theme}`]: true, + }; + return classes; + }); + const tabGroupStyle = vue.computed(() => { + return { + gap: convertToUnit(props.tabGap), + }; + }); + // -------------------------------------------------- Watch // + vue.watch(props, () => { + if (props.theme) { + useTheme.value = props.theme; + loadTheme(); + } + if (props.copyText) { + copyTextValue.value = props.copyText; + } + if (props.runText) { + runTextValue.value = props.runText; + } + }); + // -------------------------------------------------- Mounts // + vue.onBeforeMount(() => { + copyTextValue.value = props.copyText; + runTextValue.value = props.runText; + }); + vue.onMounted(() => { + useTheme.value = codeBlockGlobalOptions?.theme || props.theme; + loadTheme(); + mobileCheck(); + }); + // -------------------------------------------------- Methods // + function convertCode() { + if (props.lang === 'json') { + const propsCode = props.code.toString(); + convertedCode.value = JSON.stringify(JSON.parse(propsCode), null, props.indent); + return; + } + convertedCode.value = props.code; + return; + } + function convertToUnit(str, unit = 'px') { + if (str == null || str === '') { + return undefined; + } + else if (!+str) { + return String(str); + } + return `${Number(str)}${unit}`; + } + function copyCode() { + if (copying.value) { + return; + } + copying.value = true; + navigator.clipboard.writeText(convertedCode.value).then(() => { + copyTextValue.value = props.copySuccessText; + copyStatus.value = 'success'; + emit('update:copy-status', copyStatus.value); + }, (err) => { + copyTextValue.value = props.copyFailedText; + copyStatus.value = 'failed'; + emit('update:copy-status', copyStatus.value); + console.error('Copy to clipboard failed: ', err); + }); + setTimeout(() => { + copyTextValue.value = props.copyText; + copyStatus.value = 'copy'; + emit('update:copy-status', copyStatus.value); + copying.value = false; + }, 3000); + } + function loadTheme() { + let selectedTheme = null; + const loadedThemeStyles = document.getElementById(stylesheetId); + const head = document.getElementsByTagName('head')[0]; + const themeStyles = document.createElement('style'); + if (loadedThemeStyles) { + loadedThemeStyles.remove(); + } + switch (useTheme.value) { + case 'neon-bunny': + selectedTheme = neonBunnyTheme; + break; + case 'neon-bunny-carrot': + selectedTheme = neonBunnyCarrotTheme; + break; + case 'coy': + selectedTheme = prismThemeCoy; + break; + case 'dark': + selectedTheme = prismThemeDark; + break; + case 'funky': + selectedTheme = prismThemeFunky; + break; + case 'okaidia': + selectedTheme = prismThemeOkaidia; + break; + case 'solarizedlight': + selectedTheme = prismThemeSolarizedlight; + break; + case 'tomorrow': + selectedTheme = prismThemeTomorrow; + break; + case 'twilight': + selectedTheme = prismThemeTwilight; + break; + case 'default': + case 'prism': + selectedTheme = prismTheme; + break; + default: + selectedTheme = prismTheme; + break; + } + const themeKey = Object.keys(selectedTheme)[0]; + selectedTheme = selectedTheme[themeKey]; + themeStyles.setAttribute('type', 'text/css'); + themeStyles.id = stylesheetId; + themeStyles.appendChild(document.createTextNode(selectedTheme)); + head.appendChild(themeStyles); + } + function mobileCheck() { + const ua = UAParser(); + const device = ua.device; + isMobile.value = device.type === 'mobile'; + } + window.addEventListener("orientationchange", () => { + mobileCheck(); + }); + function runCode() { + emit('run'); + } + return (_ctx, _cache) => { + return (vue.openBlock(), vue.createElementBlock("div", { + class: vue.normalizeClass(["v-code-block v-code-block--mb-5", vue.unref(codeBlockClasses)]) + }, [ + (__props.label || __props.tabs || vue.unref(slots).label || vue.unref(slots).tabs) + ? (vue.openBlock(), vue.createElementBlock("div", { + key: 0, + class: "v-code-block--header", + style: vue.normalizeStyle(vue.unref(headerStyles)) + }, [ + vue.createElementVNode("div", { + class: vue.normalizeClass(["v-code-block--label v-code-block--pb-1", vue.unref(labelClasses)]) + }, [ + (vue.unref(slots).label) + ? vue.renderSlot(_ctx.$slots, "label", { key: 0 }, undefined, true) + : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [ + vue.createTextVNode(vue.toDisplayString(props.label), 1 /* TEXT */) + ], 64 /* STABLE_FRAGMENT */)) + ], 2 /* CLASS */), + vue.createElementVNode("div", { + class: "v-code-block--tabs", + style: vue.normalizeStyle(vue.unref(tabGroupStyle)) + }, [ + (vue.unref(slots).tabs) + ? vue.renderSlot(_ctx.$slots, "tabs", { key: 0 }, undefined, true) + : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [ + vue.createCommentVNode(" ======================================== Copy Code Tab/Button "), + (__props.copyTab && __props.tabs) + ? (vue.openBlock(), vue.createElementBlock("div", { + key: 0, + class: vue.normalizeClass(["v-code-block--tab", vue.unref(tabClasses)]), + onClick: copyCode + }, [ + vue.createElementVNode("div", _hoisted_1, [ + (__props.copyIcons) + ? (vue.openBlock(), vue.createBlock(StatusIcons, { + key: 0, + class: vue.normalizeClass(["v-code-block--button-copy-icon", vue.unref(iconClasses)]), + icon: copyStatus.value + }, null, 8 /* PROPS */, ["class", "icon"])) + : vue.createCommentVNode("v-if", true), + vue.createTextVNode(" " + vue.toDisplayString(copyTextValue.value), 1 /* TEXT */) + ]) + ], 2 /* CLASS */)) + : vue.createCommentVNode("v-if", true), + vue.createCommentVNode(" ======================================== Run Tab/Button "), + (__props.runTab && __props.tabs && !isMobile.value) + ? (vue.openBlock(), vue.createElementBlock("div", { + key: 1, + class: vue.normalizeClass(["v-code-block--tab", vue.unref(tabClasses)]), + onClick: runCode + }, [ + vue.createElementVNode("div", _hoisted_2, vue.toDisplayString(runTextValue.value), 1 /* TEXT */) + ], 2 /* CLASS */)) + : vue.createCommentVNode("v-if", true) + ], 64 /* STABLE_FRAGMENT */)) + ], 4 /* STYLE */) + ], 4 /* STYLE */)) + : vue.createCommentVNode("v-if", true), + vue.createElementVNode("div", _hoisted_3, [ + vue.createElementVNode("div", { + class: vue.normalizeClass(["v-code-block--code-copy-button", vue.unref(copyButtonClasses)]), + onClick: copyCode + }, [ + (vue.unref(slots).copyButton) + ? vue.renderSlot(_ctx.$slots, "copyButton", { key: 0 }, undefined, true) + : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [ + (__props.copyButton) + ? (vue.openBlock(), vue.createBlock(StatusIcons, { + key: 0, + class: vue.normalizeClass(["v-code-block--button-copy-icon", vue.unref(iconClasses)]), + icon: copyStatus.value + }, null, 8 /* PROPS */, ["class", "icon"])) + : vue.createCommentVNode("v-if", true) + ], 64 /* STABLE_FRAGMENT */)) + ], 2 /* CLASS */), + vue.createElementVNode("pre", { + class: vue.normalizeClass(`language-${props.lang}`), + style: vue.normalizeStyle(vue.unref(preTagStyles)) + }, [ + vue.createTextVNode(""), + vue.createElementVNode("code", { + class: vue.normalizeClass(`language-${props.lang} ${__props.browserWindow ? 'v-code-block--code-browser' : ''}`), + style: vue.normalizeStyle(vue.unref(codeTagStyles)), + innerHTML: vue.unref(renderCode) + }, null, 14 /* CLASS, STYLE, PROPS */, _hoisted_4), + vue.createTextVNode("\n\t\t\t") + ], 6 /* CLASS, STYLE */) + ]) + ], 2 /* CLASS */)); + }; + } +}); + +var CodeBlock = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5d79b278"], ["__file", "src/plugin/CodeBlock.vue"]]); + +const CodeBlockPlugin = { + install(app, options) { + const codeBlockGlobalOptions = { globalOptions: true, ...options }; + app.provide('codeBlockGlobalOptions', codeBlockGlobalOptions); + app.component('CodeBlock', CodeBlock); + }, +}; + +exports.default = CodeBlockPlugin; diff --git a/package.json b/package.json index a8d1d38..a85346a 100644 --- a/package.json +++ b/package.json @@ -63,18 +63,22 @@ "ua-parser-js": "^1.0.34" }, "devDependencies": { - "@babel/core": "^7.21.0", - "@babel/eslint-parser": "^7.19.1", + "@babel/core": "^7.21.3", + "@babel/eslint-parser": "^7.21.3", + "@fortawesome/fontawesome-svg-core": "^6.3.0", + "@fortawesome/free-brands-svg-icons": "^6.3.0", + "@fortawesome/free-solid-svg-icons": "^6.3.0", + "@fortawesome/vue-fontawesome": "^3.0.3", "@rollup/plugin-alias": "^4.0.3", "@rollup/plugin-commonjs": "^24.0.1", "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^15.0.1", "@rollup/plugin-terser": "^0.4.0", - "@types/node": "^18.14.2", + "@types/node": "^18.15.3", "@types/prismjs": "^1.26.0", - "@typescript-eslint/eslint-plugin": "^5.53.0", - "@typescript-eslint/parser": "^5.53.0", - "@vitejs/plugin-vue": "^4.0.0", + "@typescript-eslint/eslint-plugin": "^5.55.0", + "@typescript-eslint/parser": "^5.55.0", + "@vitejs/plugin-vue": "^4.1.0", "@vue/cli-plugin-babel": "^5.0.8", "@vue/cli-plugin-eslint": "^5.0.8", "@vue/cli-service": "^5.0.8", @@ -94,17 +98,18 @@ "postcss-scss": "^4.0.6", "prettier": "^2.8.4", "rollup": "^3.17.3", + "rollup-plugin-copy": "^3.4.0", "rollup-plugin-polyfill-node": "^0.12.0", "rollup-plugin-postcss": "^4.0.2", "rollup-plugin-scss": "^4.0.0", "rollup-plugin-typescript2": "^0.34.1", - "sass": "^1.58.3", - "stylelint": "^15.2.0", - "stylelint-config-standard": "^30.0.1", + "sass": "^1.59.3", + "stylelint": "^15.3.0", + "stylelint-config-standard": "^31.0.0", "stylelint-order": "^6.0.2", - "stylelint-scss": "^4.4.0", - "typescript": "^4.9.3", - "vite": "^4.1.0", + "stylelint-scss": "^4.5.0", + "typescript": "^5.0.2", + "vite": "^4.2.0", "vite-plugin-babel": "^1.1.3", "vite-plugin-eslint": "^1.8.1", "vite-plugin-stylelint": "^4.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8bdaa6c..fc71dba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,18 +1,22 @@ lockfileVersion: 5.4 specifiers: - '@babel/core': ^7.21.0 - '@babel/eslint-parser': ^7.19.1 + '@babel/core': ^7.21.3 + '@babel/eslint-parser': ^7.21.3 + '@fortawesome/fontawesome-svg-core': ^6.3.0 + '@fortawesome/free-brands-svg-icons': ^6.3.0 + '@fortawesome/free-solid-svg-icons': ^6.3.0 + '@fortawesome/vue-fontawesome': ^3.0.3 '@rollup/plugin-alias': ^4.0.3 '@rollup/plugin-commonjs': ^24.0.1 '@rollup/plugin-json': ^6.0.0 '@rollup/plugin-node-resolve': ^15.0.1 '@rollup/plugin-terser': ^0.4.0 - '@types/node': ^18.14.2 + '@types/node': ^18.15.3 '@types/prismjs': ^1.26.0 - '@typescript-eslint/eslint-plugin': ^5.53.0 - '@typescript-eslint/parser': ^5.53.0 - '@vitejs/plugin-vue': ^4.0.0 + '@typescript-eslint/eslint-plugin': ^5.55.0 + '@typescript-eslint/parser': ^5.55.0 + '@vitejs/plugin-vue': ^4.1.0 '@vue/cli-plugin-babel': ^5.0.8 '@vue/cli-plugin-eslint': ^5.0.8 '@vue/cli-service': ^5.0.8 @@ -34,18 +38,19 @@ specifiers: prism-themes: ^1.9.0 prismjs: ^1.29.0 rollup: ^3.17.3 + rollup-plugin-copy: ^3.4.0 rollup-plugin-polyfill-node: ^0.12.0 rollup-plugin-postcss: ^4.0.2 rollup-plugin-scss: ^4.0.0 rollup-plugin-typescript2: ^0.34.1 - sass: ^1.58.3 - stylelint: ^15.2.0 - stylelint-config-standard: ^30.0.1 + sass: ^1.59.3 + stylelint: ^15.3.0 + stylelint-config-standard: ^31.0.0 stylelint-order: ^6.0.2 - stylelint-scss: ^4.4.0 - typescript: ^4.9.3 + stylelint-scss: ^4.5.0 + typescript: ^5.0.2 ua-parser-js: ^1.0.34 - vite: ^4.1.0 + vite: ^4.2.0 vite-plugin-babel: ^1.1.3 vite-plugin-eslint: ^1.8.1 vite-plugin-stylelint: ^4.2.0 @@ -58,23 +63,27 @@ dependencies: ua-parser-js: 1.0.34 devDependencies: - '@babel/core': 7.21.0 - '@babel/eslint-parser': 7.19.1_vtnbfkwqsm6iol5jb3gfhr3fli + '@babel/core': 7.21.3 + '@babel/eslint-parser': 7.21.3_pxuto7xgangxlusvzceggvrmde + '@fortawesome/fontawesome-svg-core': 6.3.0 + '@fortawesome/free-brands-svg-icons': 6.3.0 + '@fortawesome/free-solid-svg-icons': 6.3.0 + '@fortawesome/vue-fontawesome': 3.0.3_g53m6cvcbg5vm4kvi53csl4bcu '@rollup/plugin-alias': 4.0.3_rollup@3.19.1 '@rollup/plugin-commonjs': 24.0.1_rollup@3.19.1 '@rollup/plugin-json': 6.0.0_rollup@3.19.1 '@rollup/plugin-node-resolve': 15.0.1_rollup@3.19.1 '@rollup/plugin-terser': 0.4.0_rollup@3.19.1 - '@types/node': 18.15.2 + '@types/node': 18.15.3 '@types/prismjs': 1.26.0 - '@typescript-eslint/eslint-plugin': 5.55.0_342y7v4tc7ytrrysmit6jo4wri - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m - '@vitejs/plugin-vue': 4.0.0_vite@4.1.4+vue@3.2.47 + '@typescript-eslint/eslint-plugin': 5.55.0_qsnvknysi52qtaxqdyqyohkcku + '@typescript-eslint/parser': 5.55.0_j4766f7ecgqbon3u7zlxn5zszu + '@vitejs/plugin-vue': 4.1.0_vite@4.2.0+vue@3.2.47 '@vue/cli-plugin-babel': 5.0.8_rlfwzdcgwmd67vf4eqhqkedspa '@vue/cli-plugin-eslint': 5.0.8_idanmijywbw5nzmc4x6qthqjxq - '@vue/cli-service': 5.0.8_tm5xqom4yyq4puxeaonpjqdcvi + '@vue/cli-service': 5.0.8_cqbyzr7t7hug6wyzy7kmebq6je '@vue/compiler-sfc': 3.2.47 - '@vue/eslint-config-typescript': 11.0.2_75cttubc7yphoaabg6k3yrjnke + '@vue/eslint-config-typescript': 11.0.2_cgv3ijhnmp44cwuqfct7aff4va autoprefixer: 10.4.14_postcss@8.4.21 eslint: 8.36.0 eslint-config-prettier: 8.7.0_eslint@8.36.0 @@ -89,22 +98,23 @@ devDependencies: postcss-scss: 4.0.6_postcss@8.4.21 prettier: 2.8.4 rollup: 3.19.1 + rollup-plugin-copy: 3.4.0 rollup-plugin-polyfill-node: 0.12.0_rollup@3.19.1 rollup-plugin-postcss: 4.0.2_postcss@8.4.21 rollup-plugin-scss: 4.0.0 - rollup-plugin-typescript2: 0.34.1_h4kaxwm6ctjivrsm4cpxaz7nqu - sass: 1.59.2 - stylelint: 15.2.0 - stylelint-config-standard: 30.0.1_stylelint@15.2.0 - stylelint-order: 6.0.3_stylelint@15.2.0 - stylelint-scss: 4.4.0_stylelint@15.2.0 - typescript: 4.9.5 - vite: 4.1.4_tuubpuhf3jw5mbrri6rd7h53aa - vite-plugin-babel: 1.1.3_7aqncydjsmbuegxcpud6ibdpd4 - vite-plugin-eslint: 1.8.1_eslint@8.36.0+vite@4.1.4 - vite-plugin-stylelint: 4.3.0_2auhvtttrgdzu2g5p2cy4xoe4e + rollup-plugin-typescript2: 0.34.1_7iejawhbqmte5pthjozf4tfuqy + sass: 1.59.3 + stylelint: 15.3.0 + stylelint-config-standard: 31.0.0_stylelint@15.3.0 + stylelint-order: 6.0.3_stylelint@15.3.0 + stylelint-scss: 4.5.0_stylelint@15.3.0 + typescript: 5.0.2 + vite: 4.2.0_bbhgkqmop4v24vevyan3j2nitq + vite-plugin-babel: 1.1.3_ppdd5hzlngyc5rgtmrgovmkcly + vite-plugin-eslint: 1.8.1_eslint@8.36.0+vite@4.2.0 + vite-plugin-stylelint: 4.3.0_vacdk2l5jstlxhxa3d3aegtdpm vue: 3.2.47 - vue-tsc: 1.2.0_typescript@4.9.5 + vue-tsc: 1.2.0_typescript@5.0.2 packages: @@ -137,20 +147,20 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.21.0: - resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} + /@babel/core/7.21.3: + resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.1 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/generator': 7.21.3 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.2 + '@babel/parser': 7.21.3 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -160,25 +170,25 @@ packages: - supports-color dev: true - /@babel/eslint-parser/7.19.1_vtnbfkwqsm6iol5jb3gfhr3fli: - resolution: {integrity: sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==} + /@babel/eslint-parser/7.21.3_pxuto7xgangxlusvzceggvrmde: + resolution: {integrity: sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': '>=7.11.0' eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 8.36.0 eslint-visitor-keys: 2.1.0 semver: 6.3.0 dev: true - /@babel/generator/7.21.1: - resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} + /@babel/generator/7.21.3: + resolution: {integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 jsesc: 2.5.2 @@ -188,7 +198,7 @@ packages: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9: @@ -196,30 +206,30 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.0: + /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-validator-option': 7.21.0 browserslist: 4.21.5 lru-cache: 5.1.1 semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.21.0: + /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 @@ -232,24 +242,24 @@ packages: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin/7.21.0_@babel+core@7.21.0: + /@babel/helper-create-regexp-features-plugin/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.3.2 dev: true - /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.21.0: + /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.21.3: resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 debug: 4.3.4 lodash.debounce: 4.0.8 @@ -268,7 +278,7 @@ packages: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-function-name/7.21.0: @@ -276,28 +286,28 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-member-expression-to-functions/7.21.0: resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-module-imports/7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-module-transforms/7.21.2: @@ -310,8 +320,8 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 transitivePeerDependencies: - supports-color dev: true @@ -320,7 +330,7 @@ packages: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-plugin-utils/7.20.2: @@ -328,17 +338,17 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.21.0: + /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.21.3: resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 transitivePeerDependencies: - supports-color dev: true @@ -351,8 +361,8 @@ packages: '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 transitivePeerDependencies: - supports-color dev: true @@ -361,21 +371,21 @@ packages: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-skip-transparent-expression-wrappers/7.20.0: resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: true /@babel/helper-string-parser/7.19.4: @@ -399,8 +409,8 @@ packages: dependencies: '@babel/helper-function-name': 7.21.0 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 transitivePeerDependencies: - supports-color dev: true @@ -410,8 +420,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 transitivePeerDependencies: - supports-color dev: true @@ -433,440 +443,448 @@ packages: '@babel/types': 7.21.2 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.21.0: + /@babel/parser/7.21.3: + resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.21.0: + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.0 + '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.21.0: + /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.0 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.0 + '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.3 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.3 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.21.0: + /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-static-block/7.21.0_@babel+core@7.21.0: + /@babel/plugin-proposal-class-static-block/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.0 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.3 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-decorators/7.21.0_@babel+core@7.21.0: + /@babel/plugin-proposal-decorators/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/plugin-syntax-decorators': 7.21.0_@babel+core@7.21.0 + '@babel/plugin-syntax-decorators': 7.21.0_@babel+core@7.21.3 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.21.0: + /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.21.0: + /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.21.3: resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.0 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.21.0: + /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.0 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.21.0: + /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.21.0: + /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.21.0: + /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.21.0: + /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.21.0: + /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-optional-chaining/7.21.0_@babel+core@7.21.0: + /@babel/plugin-proposal-optional-chaining/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.3 dev: true - /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.21.0: + /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-private-property-in-object/7.21.0_@babel+core@7.21.0: + /@babel/plugin-proposal-private-property-in-object/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 + '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.0 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.3 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.21.0: + /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.21.0: + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.21.3: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.21.0: + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.21.3: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.21.0: + /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.21.3: resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-decorators/7.21.0_@babel+core@7.21.0: + /@babel/plugin-syntax-decorators/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.21.3: resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.21.3: resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.21.0: + /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.21.3: resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.21.3: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.0: + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.21.0: + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.21.3: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.3: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.21.0: + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.21.3: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.3: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.3: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.3: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.21.0: + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.21.3: resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.21.0: + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.21.3: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.21.0: + /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.21.0: + /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.0 + '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.3 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-block-scoping/7.21.0_@babel+core@7.21.0: + /@babel/plugin-transform-block-scoping/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-classes/7.21.0_@babel+core@7.21.0: + /@babel/plugin-transform-classes/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 @@ -878,121 +896,121 @@ packages: - supports-color dev: true - /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.21.0: + /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/template': 7.20.7 dev: true - /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.21.0: + /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.21.0: + /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.21.3: resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-for-of/7.21.0_@babel+core@7.21.0: + /@babel/plugin-transform-for-of/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.21.0: + /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.21.3: resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@babel/helper-function-name': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-literals/7.18.9_@babel+core@7.21.0: + /@babel/plugin-transform-literals/7.18.9_@babel+core@7.21.3: resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.21.0: + /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.21.3: resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs/7.21.2_@babel+core@7.21.0: + /@babel/plugin-transform-modules-commonjs/7.21.2_@babel+core@7.21.3: resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-simple-access': 7.20.2 @@ -1000,13 +1018,13 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.21.0: + /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.21.3: resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 @@ -1015,279 +1033,279 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.21.0: + /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.21.3: resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.21.0: + /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.21.0: + /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.21.3: resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 regenerator-transform: 0.15.1 dev: true - /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-runtime/7.21.0_@babel+core@7.21.0: + /@babel/plugin-transform-runtime/7.21.0_@babel+core@7.21.3: resolution: {integrity: sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.0 - babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.0 - babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.0 + babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.3 + babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.3 + babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.3 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-spread/7.20.7_@babel+core@7.21.0: + /@babel/plugin-transform-spread/7.20.7_@babel+core@7.21.3: resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 dev: true - /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.21.0: + /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.21.3: resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.21.0: + /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.21.3: resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.21.0: + /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.21.3: resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.21.0: + /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.21.3: resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/preset-env/7.20.2_@babel+core@7.21.0: + /@babel/preset-env/7.20.2_@babel+core@7.21.3: resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-proposal-class-static-block': 7.21.0_@babel+core@7.21.0 - '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.21.0 - '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.0 - '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-proposal-private-property-in-object': 7.21.0_@babel+core@7.21.0 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.0 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.0 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.21.0 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.0 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.21.0 - '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-block-scoping': 7.21.0_@babel+core@7.21.0 - '@babel/plugin-transform-classes': 7.21.0_@babel+core@7.21.0 - '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.21.0 - '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-for-of': 7.21.0_@babel+core@7.21.0 - '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.21.0 - '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.21.0 - '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.21.0 - '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.0 - '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.21.0 - '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.21.0 - '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.21.0 - '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.21.0 - '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.21.0 - '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.21.0 - '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.21.0 - '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.21.0 - '@babel/preset-modules': 0.1.5_@babel+core@7.21.0 - '@babel/types': 7.21.2 - babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.0 - babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.0 - babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-proposal-class-static-block': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.21.3 + '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-proposal-private-property-in-object': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.3 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.3 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.3 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.21.3 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.3 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.3 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.3 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.21.3 + '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-block-scoping': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-transform-classes': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.21.3 + '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-for-of': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.21.3 + '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.21.3 + '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.21.3 + '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.3 + '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.21.3 + '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.21.3 + '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.21.3 + '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.21.3 + '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.21.3 + '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.21.3 + '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.21.3 + '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.21.3 + '@babel/preset-modules': 0.1.5_@babel+core@7.21.3 + '@babel/types': 7.21.3 + babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.3 + babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.3 + babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.3 core-js-compat: 3.29.1 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules/0.1.5_@babel+core@7.21.0: + /@babel/preset-modules/0.1.5_@babel+core@7.21.3: resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.0 - '@babel/types': 7.21.2 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.3 + '@babel/types': 7.21.3 esutils: 2.0.3 dev: true @@ -1307,22 +1325,22 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 + '@babel/parser': 7.21.3 + '@babel/types': 7.21.3 dev: true - /@babel/traverse/7.21.2: - resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} + /@babel/traverse/7.21.3: + resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.1 + '@babel/generator': 7.21.3 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 + '@babel/parser': 7.21.3 + '@babel/types': 7.21.3 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -1338,6 +1356,15 @@ packages: to-fast-properties: 2.0.0 dev: true + /@babel/types/7.21.3: + resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + /@csstools/css-parser-algorithms/2.0.1_5vzy4lghjvuzkedkkk4tqwjftm: resolution: {integrity: sha512-B9/8PmOtU6nBiibJg0glnNktQDZ3rZnGn/7UmDfrm2vMtrdlXO3p7ErE95N0up80IRk9YEtB5jyj/TmQ1WH3dw==} engines: {node: ^14 || ^16 || >=18} @@ -1379,8 +1406,8 @@ packages: engines: {node: '>=10.0.0'} dev: true - /@esbuild/android-arm/0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} + /@esbuild/android-arm/0.17.11: + resolution: {integrity: sha512-CdyX6sRVh1NzFCsf5vw3kULwlAhfy9wVt8SZlrhQ7eL2qBjGbFhRBWkkAzuZm9IIEOCKJw4DXA6R85g+qc8RDw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1388,8 +1415,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64/0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + /@esbuild/android-arm64/0.17.11: + resolution: {integrity: sha512-QnK4d/zhVTuV4/pRM4HUjcsbl43POALU2zvBynmrrqZt9LPcLA3x1fTZPBg2RRguBQnJcnU059yKr+bydkntjg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1397,8 +1424,8 @@ packages: dev: true optional: true - /@esbuild/android-x64/0.16.17: - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} + /@esbuild/android-x64/0.17.11: + resolution: {integrity: sha512-3PL3HKtsDIXGQcSCKtWD/dy+mgc4p2Tvo2qKgKHj9Yf+eniwFnuoQ0OUhlSfAEpKAFzF9N21Nwgnap6zy3L3MQ==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1406,8 +1433,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64/0.16.17: - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} + /@esbuild/darwin-arm64/0.17.11: + resolution: {integrity: sha512-pJ950bNKgzhkGNO3Z9TeHzIFtEyC2GDQL3wxkMApDEghYx5Qers84UTNc1bAxWbRkuJOgmOha5V0WUeh8G+YGw==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1415,8 +1442,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64/0.16.17: - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} + /@esbuild/darwin-x64/0.17.11: + resolution: {integrity: sha512-iB0dQkIHXyczK3BZtzw1tqegf0F0Ab5texX2TvMQjiJIWXAfM4FQl7D909YfXWnB92OQz4ivBYQ2RlxBJrMJOw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1424,8 +1451,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64/0.16.17: - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} + /@esbuild/freebsd-arm64/0.17.11: + resolution: {integrity: sha512-7EFzUADmI1jCHeDRGKgbnF5sDIceZsQGapoO6dmw7r/ZBEKX7CCDnIz8m9yEclzr7mFsd+DyasHzpjfJnmBB1Q==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1433,8 +1460,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64/0.16.17: - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} + /@esbuild/freebsd-x64/0.17.11: + resolution: {integrity: sha512-iPgenptC8i8pdvkHQvXJFzc1eVMR7W2lBPrTE6GbhR54sLcF42mk3zBOjKPOodezzuAz/KSu8CPyFSjcBMkE9g==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1442,8 +1469,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm/0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + /@esbuild/linux-arm/0.17.11: + resolution: {integrity: sha512-M9iK/d4lgZH0U5M1R2p2gqhPV/7JPJcRz+8O8GBKVgqndTzydQ7B2XGDbxtbvFkvIs53uXTobOhv+RyaqhUiMg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1451,8 +1478,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64/0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + /@esbuild/linux-arm64/0.17.11: + resolution: {integrity: sha512-Qxth3gsWWGKz2/qG2d5DsW/57SeA2AmpSMhdg9TSB5Svn2KDob3qxfQSkdnWjSd42kqoxIPy3EJFs+6w1+6Qjg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1460,8 +1487,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32/0.16.17: - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} + /@esbuild/linux-ia32/0.17.11: + resolution: {integrity: sha512-dB1nGaVWtUlb/rRDHmuDQhfqazWE0LMro/AIbT2lWM3CDMHJNpLckH+gCddQyhhcLac2OYw69ikUMO34JLt3wA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1469,8 +1496,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.16.17: - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} + /@esbuild/linux-loong64/0.17.11: + resolution: {integrity: sha512-aCWlq70Q7Nc9WDnormntGS1ar6ZFvUpqr8gXtO+HRejRYPweAFQN615PcgaSJkZjhHp61+MNLhzyVALSF2/Q0g==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1478,8 +1505,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el/0.16.17: - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} + /@esbuild/linux-mips64el/0.17.11: + resolution: {integrity: sha512-cGeGNdQxqY8qJwlYH1BP6rjIIiEcrM05H7k3tR7WxOLmD1ZxRMd6/QIOWMb8mD2s2YJFNRuNQ+wjMhgEL2oCEw==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1487,8 +1514,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64/0.16.17: - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} + /@esbuild/linux-ppc64/0.17.11: + resolution: {integrity: sha512-BdlziJQPW/bNe0E8eYsHB40mYOluS+jULPCjlWiHzDgr+ZBRXPtgMV1nkLEGdpjrwgmtkZHEGEPaKdS/8faLDA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1496,8 +1523,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64/0.16.17: - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} + /@esbuild/linux-riscv64/0.17.11: + resolution: {integrity: sha512-MDLwQbtF+83oJCI1Cixn68Et/ME6gelmhssPebC40RdJaect+IM+l7o/CuG0ZlDs6tZTEIoxUe53H3GmMn8oMA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1505,8 +1532,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x/0.16.17: - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} + /@esbuild/linux-s390x/0.17.11: + resolution: {integrity: sha512-4N5EMESvws0Ozr2J94VoUD8HIRi7X0uvUv4c0wpTHZyZY9qpaaN7THjosdiW56irQ4qnJ6Lsc+i+5zGWnyqWqQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1514,8 +1541,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64/0.16.17: - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} + /@esbuild/linux-x64/0.17.11: + resolution: {integrity: sha512-rM/v8UlluxpytFSmVdbCe1yyKQd/e+FmIJE2oPJvbBo+D0XVWi1y/NQ4iTNx+436WmDHQBjVLrbnAQLQ6U7wlw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1523,8 +1550,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64/0.16.17: - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} + /@esbuild/netbsd-x64/0.17.11: + resolution: {integrity: sha512-4WaAhuz5f91h3/g43VBGdto1Q+X7VEZfpcWGtOFXnggEuLvjV+cP6DyLRU15IjiU9fKLLk41OoJfBFN5DhPvag==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1532,8 +1559,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64/0.16.17: - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} + /@esbuild/openbsd-x64/0.17.11: + resolution: {integrity: sha512-UBj135Nx4FpnvtE+C8TWGp98oUgBcmNmdYgl5ToKc0mBHxVVqVE7FUS5/ELMImOp205qDAittL6Ezhasc2Ev/w==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1541,8 +1568,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64/0.16.17: - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} + /@esbuild/sunos-x64/0.17.11: + resolution: {integrity: sha512-1/gxTifDC9aXbV2xOfCbOceh5AlIidUrPsMpivgzo8P8zUtczlq1ncFpeN1ZyQJ9lVs2hILy1PG5KPp+w8QPPg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1550,8 +1577,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64/0.16.17: - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} + /@esbuild/win32-arm64/0.17.11: + resolution: {integrity: sha512-vtSfyx5yRdpiOW9yp6Ax0zyNOv9HjOAw8WaZg3dF5djEHKKm3UnoohftVvIJtRh0Ec7Hso0RIdTqZvPXJ7FdvQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1559,8 +1586,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32/0.16.17: - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} + /@esbuild/win32-ia32/0.17.11: + resolution: {integrity: sha512-GFPSLEGQr4wHFTiIUJQrnJKZhZjjq4Sphf+mM76nQR6WkQn73vm7IsacmBRPkALfpOCHsopSvLgqdd4iUW2mYw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1568,8 +1595,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64/0.16.17: - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} + /@esbuild/win32-x64/0.17.11: + resolution: {integrity: sha512-N9vXqLP3eRL8BqSy8yn4Y98cZI2pZ8fyuHx6lKjiG2WABpT2l01TXdzq5Ma2ZUBzfB7tx5dXVhge8X9u0S70ZQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1614,6 +1641,46 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@fortawesome/fontawesome-common-types/6.3.0: + resolution: {integrity: sha512-4BC1NMoacEBzSXRwKjZ/X/gmnbp/HU5Qqat7E8xqorUtBFZS+bwfGH5/wqOC2K6GV0rgEobp3OjGRMa5fK9pFg==} + engines: {node: '>=6'} + requiresBuild: true + dev: true + + /@fortawesome/fontawesome-svg-core/6.3.0: + resolution: {integrity: sha512-uz9YifyKlixV6AcKlOX8WNdtF7l6nakGyLYxYaCa823bEBqyj/U2ssqtctO38itNEwXb8/lMzjdoJ+aaJuOdrw==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + '@fortawesome/fontawesome-common-types': 6.3.0 + dev: true + + /@fortawesome/free-brands-svg-icons/6.3.0: + resolution: {integrity: sha512-xI0c+a8xnKItAXCN8rZgCNCJQiVAd2Y7p9e2ND6zN3J3ekneu96qrePieJ7yA7073C1JxxoM3vH1RU7rYsaj8w==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + '@fortawesome/fontawesome-common-types': 6.3.0 + dev: true + + /@fortawesome/free-solid-svg-icons/6.3.0: + resolution: {integrity: sha512-x5tMwzF2lTH8pyv8yeZRodItP2IVlzzmBuD1M7BjawWgg9XAvktqJJ91Qjgoaf8qJpHQ8FEU9VxRfOkLhh86QA==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + '@fortawesome/fontawesome-common-types': 6.3.0 + dev: true + + /@fortawesome/vue-fontawesome/3.0.3_g53m6cvcbg5vm4kvi53csl4bcu: + resolution: {integrity: sha512-KCPHi9QemVXGMrfuwf3nNnNo129resAIQWut9QTAMXmXqL2ErABC6ohd2yY5Ipq0CLWNbKHk8TMdTXL/Zf3ZhA==} + peerDependencies: + '@fortawesome/fontawesome-svg-core': ~1 || ~6 + vue: '>= 3.0.0 < 4' + dependencies: + '@fortawesome/fontawesome-svg-core': 6.3.0 + vue: 3.2.47 + dev: true + /@hapi/hoek/9.3.0: resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} dev: true @@ -1886,26 +1953,26 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 18.15.2 + '@types/node': 18.15.3 dev: true /@types/bonjour/3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: - '@types/node': 18.15.2 + '@types/node': 18.15.3 dev: true /@types/connect-history-api-fallback/1.3.5: resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} dependencies: '@types/express-serve-static-core': 4.17.33 - '@types/node': 18.15.2 + '@types/node': 18.15.3 dev: true /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.15.2 + '@types/node': 18.15.3 dev: true /@types/eslint-scope/3.7.4: @@ -1933,7 +2000,7 @@ packages: /@types/express-serve-static-core/4.17.33: resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} dependencies: - '@types/node': 18.15.2 + '@types/node': 18.15.3 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: true @@ -1947,6 +2014,19 @@ packages: '@types/serve-static': 1.15.1 dev: true + /@types/fs-extra/8.1.2: + resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} + dependencies: + '@types/node': 18.15.3 + dev: true + + /@types/glob/7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 18.15.3 + dev: true + /@types/html-minifier-terser/6.1.0: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} dev: true @@ -1954,7 +2034,7 @@ packages: /@types/http-proxy/1.17.10: resolution: {integrity: sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==} dependencies: - '@types/node': 18.15.2 + '@types/node': 18.15.3 dev: true /@types/json-schema/7.0.11: @@ -1969,12 +2049,16 @@ packages: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} dev: true + /@types/minimatch/5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true + /@types/minimist/1.2.2: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node/18.15.2: - resolution: {integrity: sha512-sDPHm2wfx2QhrMDK0pOt2J4KLJMAcerqWNvnED0itPRJWvI+bK+uNHzcH1dFsBlf7G3u8tqXmRF3wkvL9yUwMw==} + /@types/node/18.15.3: + resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} dev: true /@types/normalize-package-data/2.4.1: @@ -2019,22 +2103,22 @@ packages: resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} dependencies: '@types/mime': 3.0.1 - '@types/node': 18.15.2 + '@types/node': 18.15.3 dev: true /@types/sockjs/0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: - '@types/node': 18.15.2 + '@types/node': 18.15.3 dev: true /@types/ws/8.5.4: resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} dependencies: - '@types/node': 18.15.2 + '@types/node': 18.15.3 dev: true - /@typescript-eslint/eslint-plugin/5.55.0_342y7v4tc7ytrrysmit6jo4wri: + /@typescript-eslint/eslint-plugin/5.55.0_qsnvknysi52qtaxqdyqyohkcku: resolution: {integrity: sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2046,23 +2130,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.4.0 - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/parser': 5.55.0_j4766f7ecgqbon3u7zlxn5zszu '@typescript-eslint/scope-manager': 5.55.0 - '@typescript-eslint/type-utils': 5.55.0_vgl77cfdswitgr47lm5swmv43m - '@typescript-eslint/utils': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/type-utils': 5.55.0_j4766f7ecgqbon3u7zlxn5zszu + '@typescript-eslint/utils': 5.55.0_j4766f7ecgqbon3u7zlxn5zszu debug: 4.3.4 eslint: 8.36.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.2 + typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.55.0_vgl77cfdswitgr47lm5swmv43m: + /@typescript-eslint/parser/5.55.0_j4766f7ecgqbon3u7zlxn5zszu: resolution: {integrity: sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2074,10 +2158,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.55.0 '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 + '@typescript-eslint/typescript-estree': 5.55.0_typescript@5.0.2 debug: 4.3.4 eslint: 8.36.0 - typescript: 4.9.5 + typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true @@ -2090,7 +2174,7 @@ packages: '@typescript-eslint/visitor-keys': 5.55.0 dev: true - /@typescript-eslint/type-utils/5.55.0_vgl77cfdswitgr47lm5swmv43m: + /@typescript-eslint/type-utils/5.55.0_j4766f7ecgqbon3u7zlxn5zszu: resolution: {integrity: sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2100,12 +2184,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/typescript-estree': 5.55.0_typescript@5.0.2 + '@typescript-eslint/utils': 5.55.0_j4766f7ecgqbon3u7zlxn5zszu debug: 4.3.4 eslint: 8.36.0 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.2 + typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true @@ -2115,7 +2199,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.55.0_typescript@4.9.5: + /@typescript-eslint/typescript-estree/5.55.0_typescript@5.0.2: resolution: {integrity: sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2130,13 +2214,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.2 + typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.55.0_vgl77cfdswitgr47lm5swmv43m: + /@typescript-eslint/utils/5.55.0_j4766f7ecgqbon3u7zlxn5zszu: resolution: {integrity: sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2147,7 +2231,7 @@ packages: '@types/semver': 7.3.13 '@typescript-eslint/scope-manager': 5.55.0 '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 + '@typescript-eslint/typescript-estree': 5.55.0_typescript@5.0.2 eslint: 8.36.0 eslint-scope: 5.1.1 semver: 7.3.8 @@ -2164,14 +2248,14 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-vue/4.0.0_vite@4.1.4+vue@3.2.47: - resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==} + /@vitejs/plugin-vue/4.1.0_vite@4.2.0+vue@3.2.47: + resolution: {integrity: sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.1.4_tuubpuhf3jw5mbrri6rd7h53aa + vite: 4.2.0_bbhgkqmop4v24vevyan3j2nitq vue: 3.2.47 dev: true @@ -2222,14 +2306,14 @@ packages: resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} dev: true - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.21.0: + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.21.3: resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} dependencies: '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 '@vue/babel-helper-vue-transform-on': 1.0.2 camelcase: 6.3.0 html-tags: 3.2.0 @@ -2239,21 +2323,21 @@ packages: - supports-color dev: true - /@vue/babel-plugin-transform-vue-jsx/1.4.0_@babel+core@7.21.0: + /@vue/babel-plugin-transform-vue-jsx/1.4.0_@babel+core@7.21.3: resolution: {integrity: sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 html-tags: 2.0.0 lodash.kebabcase: 4.1.1 svg-tags: 1.0.0 dev: true - /@vue/babel-preset-app/5.0.8_wsglhzocxeqeughab3nmclicb4: + /@vue/babel-preset-app/5.0.8_ae7q6n2pxdofq35ibmbyyxc3lm: resolution: {integrity: sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==} peerDependencies: '@babel/core': '*' @@ -2264,18 +2348,18 @@ packages: vue: optional: true dependencies: - '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-proposal-decorators': 7.21.0_@babel+core@7.21.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-transform-runtime': 7.21.0_@babel+core@7.21.0 - '@babel/preset-env': 7.20.2_@babel+core@7.21.0 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-proposal-decorators': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-runtime': 7.21.0_@babel+core@7.21.3 + '@babel/preset-env': 7.20.2_@babel+core@7.21.3 '@babel/runtime': 7.21.0 - '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.21.0 - '@vue/babel-preset-jsx': 1.4.0_wsglhzocxeqeughab3nmclicb4 + '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.21.3 + '@vue/babel-preset-jsx': 1.4.0_ae7q6n2pxdofq35ibmbyyxc3lm babel-plugin-dynamic-import-node: 2.3.3 core-js: 3.29.1 core-js-compat: 3.29.1 @@ -2285,7 +2369,7 @@ packages: - supports-color dev: true - /@vue/babel-preset-jsx/1.4.0_wsglhzocxeqeughab3nmclicb4: + /@vue/babel-preset-jsx/1.4.0_ae7q6n2pxdofq35ibmbyyxc3lm: resolution: {integrity: sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2294,76 +2378,76 @@ packages: vue: optional: true dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 - '@vue/babel-plugin-transform-vue-jsx': 1.4.0_@babel+core@7.21.0 - '@vue/babel-sugar-composition-api-inject-h': 1.4.0_@babel+core@7.21.0 - '@vue/babel-sugar-composition-api-render-instance': 1.4.0_@babel+core@7.21.0 - '@vue/babel-sugar-functional-vue': 1.4.0_@babel+core@7.21.0 - '@vue/babel-sugar-inject-h': 1.4.0_@babel+core@7.21.0 - '@vue/babel-sugar-v-model': 1.4.0_@babel+core@7.21.0 - '@vue/babel-sugar-v-on': 1.4.0_@babel+core@7.21.0 + '@vue/babel-plugin-transform-vue-jsx': 1.4.0_@babel+core@7.21.3 + '@vue/babel-sugar-composition-api-inject-h': 1.4.0_@babel+core@7.21.3 + '@vue/babel-sugar-composition-api-render-instance': 1.4.0_@babel+core@7.21.3 + '@vue/babel-sugar-functional-vue': 1.4.0_@babel+core@7.21.3 + '@vue/babel-sugar-inject-h': 1.4.0_@babel+core@7.21.3 + '@vue/babel-sugar-v-model': 1.4.0_@babel+core@7.21.3 + '@vue/babel-sugar-v-on': 1.4.0_@babel+core@7.21.3 vue: 3.2.47 dev: true - /@vue/babel-sugar-composition-api-inject-h/1.4.0_@babel+core@7.21.0: + /@vue/babel-sugar-composition-api-inject-h/1.4.0_@babel+core@7.21.3: resolution: {integrity: sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 dev: true - /@vue/babel-sugar-composition-api-render-instance/1.4.0_@babel+core@7.21.0: + /@vue/babel-sugar-composition-api-render-instance/1.4.0_@babel+core@7.21.3: resolution: {integrity: sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 dev: true - /@vue/babel-sugar-functional-vue/1.4.0_@babel+core@7.21.0: + /@vue/babel-sugar-functional-vue/1.4.0_@babel+core@7.21.3: resolution: {integrity: sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 dev: true - /@vue/babel-sugar-inject-h/1.4.0_@babel+core@7.21.0: + /@vue/babel-sugar-inject-h/1.4.0_@babel+core@7.21.3: resolution: {integrity: sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 dev: true - /@vue/babel-sugar-v-model/1.4.0_@babel+core@7.21.0: + /@vue/babel-sugar-v-model/1.4.0_@babel+core@7.21.3: resolution: {integrity: sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 - '@vue/babel-plugin-transform-vue-jsx': 1.4.0_@babel+core@7.21.0 + '@vue/babel-plugin-transform-vue-jsx': 1.4.0_@babel+core@7.21.3 camelcase: 5.3.1 html-tags: 2.0.0 svg-tags: 1.0.0 dev: true - /@vue/babel-sugar-v-on/1.4.0_@babel+core@7.21.0: + /@vue/babel-sugar-v-on/1.4.0_@babel+core@7.21.3: resolution: {integrity: sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 - '@vue/babel-plugin-transform-vue-jsx': 1.4.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@vue/babel-plugin-transform-vue-jsx': 1.4.0_@babel+core@7.21.3 camelcase: 5.3.1 dev: true @@ -2376,11 +2460,11 @@ packages: peerDependencies: '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@vue/babel-preset-app': 5.0.8_wsglhzocxeqeughab3nmclicb4 - '@vue/cli-service': 5.0.8_tm5xqom4yyq4puxeaonpjqdcvi + '@babel/core': 7.21.3 + '@vue/babel-preset-app': 5.0.8_ae7q6n2pxdofq35ibmbyyxc3lm + '@vue/cli-service': 5.0.8_cqbyzr7t7hug6wyzy7kmebq6je '@vue/cli-shared-utils': 5.0.8 - babel-loader: 8.3.0_olvwa26bkc7sescpzrxlktjrvi + babel-loader: 8.3.0_uskqpy7onh7hrgnpolkiy3c37i thread-loader: 3.0.4_webpack@5.76.1 webpack: 5.76.1 transitivePeerDependencies: @@ -2399,7 +2483,7 @@ packages: '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 eslint: '>=7.5.0' dependencies: - '@vue/cli-service': 5.0.8_tm5xqom4yyq4puxeaonpjqdcvi + '@vue/cli-service': 5.0.8_cqbyzr7t7hug6wyzy7kmebq6je '@vue/cli-shared-utils': 5.0.8 eslint: 8.36.0 eslint-webpack-plugin: 3.2.0_lzsovez6lt5dyeqstigldbd6xi @@ -2419,7 +2503,7 @@ packages: peerDependencies: '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 dependencies: - '@vue/cli-service': 5.0.8_tm5xqom4yyq4puxeaonpjqdcvi + '@vue/cli-service': 5.0.8_cqbyzr7t7hug6wyzy7kmebq6je '@vue/cli-shared-utils': 5.0.8 transitivePeerDependencies: - encoding @@ -2430,10 +2514,10 @@ packages: peerDependencies: '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 dependencies: - '@vue/cli-service': 5.0.8_tm5xqom4yyq4puxeaonpjqdcvi + '@vue/cli-service': 5.0.8_cqbyzr7t7hug6wyzy7kmebq6je dev: true - /@vue/cli-service/5.0.8_tm5xqom4yyq4puxeaonpjqdcvi: + /@vue/cli-service/5.0.8_cqbyzr7t7hug6wyzy7kmebq6je: resolution: {integrity: sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==} engines: {node: ^12.0.0 || >= 14.0.0} hasBin: true @@ -2464,7 +2548,7 @@ packages: webpack-sources: optional: true dependencies: - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@soda/friendly-errors-webpack-plugin': 1.8.1_webpack@5.76.1 '@soda/get-current-script': 1.0.2 '@types/minimist': 1.2.2 @@ -2715,7 +2799,7 @@ packages: - whiskers dev: true - /@vue/eslint-config-typescript/11.0.2_75cttubc7yphoaabg6k3yrjnke: + /@vue/eslint-config-typescript/11.0.2_cgv3ijhnmp44cwuqfct7aff4va: resolution: {integrity: sha512-EiKud1NqlWmSapBFkeSrE994qpKx7/27uCGnhdqzllYDpQZroyX/O6bwjEpeuyKamvLbsGdO6PMR2faIf+zFnw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: @@ -2726,11 +2810,11 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.55.0_342y7v4tc7ytrrysmit6jo4wri - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/eslint-plugin': 5.55.0_qsnvknysi52qtaxqdyqyohkcku + '@typescript-eslint/parser': 5.55.0_j4766f7ecgqbon3u7zlxn5zszu eslint: 8.36.0 eslint-plugin-vue: 9.9.0_eslint@8.36.0 - typescript: 4.9.5 + typescript: 5.0.2 vue-eslint-parser: 9.1.0_eslint@8.36.0 transitivePeerDependencies: - supports-color @@ -3172,14 +3256,14 @@ packages: engines: {node: '>= 0.4'} dev: true - /babel-loader/8.3.0_olvwa26bkc7sescpzrxlktjrvi: + /babel-loader/8.3.0_uskqpy7onh7hrgnpolkiy3c37i: resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 @@ -3193,38 +3277,38 @@ packages: object.assign: 4.1.4 dev: true - /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.21.0: + /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.21.3: resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.3 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.21.0: + /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.21.3: resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.3 core-js-compat: 3.29.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.21.0: + /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.21.3: resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.3 transitivePeerDependencies: - supports-color dev: true @@ -3582,6 +3666,10 @@ packages: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} dev: true + /colorette/1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + dev: true + /colorette/2.0.19: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true @@ -4444,34 +4532,34 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild/0.16.17: - resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} + /esbuild/0.17.11: + resolution: {integrity: sha512-pAMImyokbWDtnA/ufPxjQg0fYo2DDuzAlqwnDvbXqHLphe+m80eF++perYKVm8LeTuj2zUuFXC+xgSVxyoHUdg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 + '@esbuild/android-arm': 0.17.11 + '@esbuild/android-arm64': 0.17.11 + '@esbuild/android-x64': 0.17.11 + '@esbuild/darwin-arm64': 0.17.11 + '@esbuild/darwin-x64': 0.17.11 + '@esbuild/freebsd-arm64': 0.17.11 + '@esbuild/freebsd-x64': 0.17.11 + '@esbuild/linux-arm': 0.17.11 + '@esbuild/linux-arm64': 0.17.11 + '@esbuild/linux-ia32': 0.17.11 + '@esbuild/linux-loong64': 0.17.11 + '@esbuild/linux-mips64el': 0.17.11 + '@esbuild/linux-ppc64': 0.17.11 + '@esbuild/linux-riscv64': 0.17.11 + '@esbuild/linux-s390x': 0.17.11 + '@esbuild/linux-x64': 0.17.11 + '@esbuild/netbsd-x64': 0.17.11 + '@esbuild/openbsd-x64': 0.17.11 + '@esbuild/sunos-x64': 0.17.11 + '@esbuild/win32-arm64': 0.17.11 + '@esbuild/win32-ia32': 0.17.11 + '@esbuild/win32-x64': 0.17.11 dev: true /escalade/3.1.1: @@ -4533,7 +4621,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/parser': 5.55.0_j4766f7ecgqbon3u7zlxn5zszu debug: 3.2.7 eslint: 8.36.0 eslint-import-resolver-node: 0.3.7 @@ -4551,7 +4639,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/parser': 5.55.0_j4766f7ecgqbon3u7zlxn5zszu array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -5234,6 +5322,20 @@ packages: define-properties: 1.2.0 dev: true + /globby/10.0.1: + resolution: {integrity: sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + glob: 7.2.3 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -5767,6 +5869,11 @@ packages: isobject: 3.0.1 dev: true + /is-plain-object/3.0.1: + resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==} + engines: {node: '>=0.10.0'} + dev: true + /is-plain-object/5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} @@ -5871,7 +5978,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.15.2 + '@types/node': 18.15.3 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -5880,7 +5987,7 @@ packages: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@types/node': 18.15.2 + '@types/node': 18.15.3 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -5987,8 +6094,8 @@ packages: engines: {node: '>= 8'} dev: true - /known-css-properties/0.26.0: - resolution: {integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==} + /known-css-properties/0.27.0: + resolution: {integrity: sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==} dev: true /launch-editor-middleware/2.6.0: @@ -7643,6 +7750,17 @@ packages: glob: 7.2.3 dev: true + /rollup-plugin-copy/3.4.0: + resolution: {integrity: sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==} + engines: {node: '>=8.3'} + dependencies: + '@types/fs-extra': 8.1.2 + colorette: 1.4.0 + fs-extra: 8.1.0 + globby: 10.0.1 + is-plain-object: 3.0.1 + dev: true + /rollup-plugin-polyfill-node/0.12.0_rollup@3.19.1: resolution: {integrity: sha512-PWEVfDxLEKt8JX1nZ0NkUAgXpkZMTb85rO/Ru9AQ69wYW8VUCfDgP4CGRXXWYni5wDF0vIeR1UoF3Jmw/Lt3Ug==} peerDependencies: @@ -7682,7 +7800,7 @@ packages: rollup-pluginutils: 2.8.2 dev: true - /rollup-plugin-typescript2/0.34.1_h4kaxwm6ctjivrsm4cpxaz7nqu: + /rollup-plugin-typescript2/0.34.1_7iejawhbqmte5pthjozf4tfuqy: resolution: {integrity: sha512-P4cHLtGikESmqi1CA+tdMDUv8WbQV48mzPYt77TSTOPJpERyZ9TXdDgjSDix8Fkqce6soYz3+fa4lrC93IEkcw==} peerDependencies: rollup: '>=1.26.3' @@ -7694,7 +7812,7 @@ packages: rollup: 3.19.1 semver: 7.3.8 tslib: 2.5.0 - typescript: 4.9.5 + typescript: 5.0.2 dev: true /rollup-pluginutils/2.8.2: @@ -7755,8 +7873,8 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sass/1.59.2: - resolution: {integrity: sha512-jJyO6SmbzkJexF8MUorHx5tAilcgabioYxT/BHbY4+OvoqmbHxsYlrjZ8Adhqcgl6Zqwie0TgMXLCAmPFxXOuw==} + /sass/1.59.3: + resolution: {integrity: sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ==} engines: {node: '>=12.0.0'} hasBin: true dependencies: @@ -8240,35 +8358,35 @@ packages: postcss-selector-parser: 6.0.11 dev: true - /stylelint-config-recommended/10.0.1_stylelint@15.2.0: - resolution: {integrity: sha512-TQ4xQ48tW4QSlODcti7pgSRqBZcUaBzuh0jPpfiMhwJKBPkqzTIAU+IrSWL/7BgXlOM90DjB7YaNgFpx8QWhuA==} + /stylelint-config-recommended/11.0.0_stylelint@15.3.0: + resolution: {integrity: sha512-SoGIHNI748OCZn6BxFYT83ytWoYETCINVHV3LKScVAWQQauWdvmdDqJC5YXWjpBbxg2E761Tg5aUGKLFOVhEkA==} peerDependencies: - stylelint: ^15.0.0 + stylelint: ^15.3.0 dependencies: - stylelint: 15.2.0 + stylelint: 15.3.0 dev: true - /stylelint-config-standard/30.0.1_stylelint@15.2.0: - resolution: {integrity: sha512-NbeHOmpRQhjZh5XB1B/S4MLRWvz4xxAxeDBjzl0tY2xEcayNhLbaRGF0ZQzq+DQZLCcPpOHeS2Ru1ydbkhkmLg==} + /stylelint-config-standard/31.0.0_stylelint@15.3.0: + resolution: {integrity: sha512-CUGAmtROCvX0YgMY2+6P9tqSkHj5z/75XxrQ8bGxvkCa1xYdGDx4poM0pa7cXc3s74/PZLJH/okxZZouRfOSGw==} peerDependencies: - stylelint: ^15.0.0 + stylelint: ^15.3.0 dependencies: - stylelint: 15.2.0 - stylelint-config-recommended: 10.0.1_stylelint@15.2.0 + stylelint: 15.3.0 + stylelint-config-recommended: 11.0.0_stylelint@15.3.0 dev: true - /stylelint-order/6.0.3_stylelint@15.2.0: + /stylelint-order/6.0.3_stylelint@15.3.0: resolution: {integrity: sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w==} peerDependencies: stylelint: ^14.0.0 || ^15.0.0 dependencies: postcss: 8.4.21 postcss-sorting: 8.0.2_postcss@8.4.21 - stylelint: 15.2.0 + stylelint: 15.3.0 dev: true - /stylelint-scss/4.4.0_stylelint@15.2.0: - resolution: {integrity: sha512-Qy66a+/30aylFhPmUArHhVsHOun1qrO93LGT15uzLuLjWS7hKDfpFm34mYo1ndR4MCo8W4bEZM1+AlJRJORaaw==} + /stylelint-scss/4.5.0_stylelint@15.3.0: + resolution: {integrity: sha512-/+rQ8FePOiwT5xblOHkujYzRYfSjmE6HYhLpqJShL+9wH6/HaAVj4mWpXlpEsM3ZgIpOblG9Y+/BycSJzWgjNw==} peerDependencies: stylelint: ^14.5.1 || ^15.0.0 dependencies: @@ -8277,11 +8395,11 @@ packages: postcss-resolve-nested-selector: 0.1.1 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 - stylelint: 15.2.0 + stylelint: 15.3.0 dev: true - /stylelint/15.2.0: - resolution: {integrity: sha512-wjg5OLn8zQwjlj5cYUgyQpMWKzct42AG5dYlqkHRJQJqsystFFn3onqEc263KH4xfEI0W3lZCnlIhFfS64uwSA==} + /stylelint/15.3.0: + resolution: {integrity: sha512-9UYBYk7K9rtlKcTUDZrtntE840sZM00qyYBQHHe7tjwMNUsPsGvR6Fd43IxHEAhRrDLzpy3TVaHb6CReBB3eFg==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: @@ -8306,7 +8424,7 @@ packages: import-lazy: 4.0.0 imurmurhash: 0.1.4 is-plain-object: 5.0.0 - known-css-properties: 0.26.0 + known-css-properties: 0.27.0 mathml-tag-names: 2.1.3 meow: 9.0.0 micromatch: 4.0.5 @@ -8322,7 +8440,7 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 style-search: 0.1.0 - supports-hyperlinks: 2.3.0 + supports-hyperlinks: 3.0.0 svg-tags: 1.0.0 table: 6.8.1 v8-compile-cache: 2.3.0 @@ -8352,9 +8470,9 @@ packages: has-flag: 4.0.0 dev: true - /supports-hyperlinks/2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} + /supports-hyperlinks/3.0.0: + resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} + engines: {node: '>=14.18'} dependencies: has-flag: 4.0.0 supports-color: 7.2.0 @@ -8528,14 +8646,14 @@ packages: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} dev: true - /tsutils/3.21.0_typescript@4.9.5: + /tsutils/3.21.0_typescript@5.0.2: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.0.2 dev: true /type-check/0.4.0: @@ -8586,9 +8704,9 @@ packages: is-typed-array: 1.1.10 dev: true - /typescript/4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript/5.0.2: + resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} + engines: {node: '>=12.20'} hasBin: true dev: true @@ -8694,17 +8812,17 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-plugin-babel/1.1.3_7aqncydjsmbuegxcpud6ibdpd4: + /vite-plugin-babel/1.1.3_ppdd5hzlngyc5rgtmrgovmkcly: resolution: {integrity: sha512-WE8ORQm8530kj0geiDL1r/+P2MaU0b+5wL5E8Jq07aounFwRIUeJXziGiMr2DFQs78vaefB5GRKh257M8Z6gFQ==} peerDependencies: '@babel/core': ^7.0.0 vite: ^2.7.0 || ^3.0.0 || ^4.0.0 dependencies: - '@babel/core': 7.21.0 - vite: 4.1.4_tuubpuhf3jw5mbrri6rd7h53aa + '@babel/core': 7.21.3 + vite: 4.2.0_bbhgkqmop4v24vevyan3j2nitq dev: true - /vite-plugin-eslint/1.8.1_eslint@8.36.0+vite@4.1.4: + /vite-plugin-eslint/1.8.1_eslint@8.36.0+vite@4.2.0: resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} peerDependencies: eslint: '>=7' @@ -8714,10 +8832,10 @@ packages: '@types/eslint': 8.21.2 eslint: 8.36.0 rollup: 2.79.1 - vite: 4.1.4_tuubpuhf3jw5mbrri6rd7h53aa + vite: 4.2.0_bbhgkqmop4v24vevyan3j2nitq dev: true - /vite-plugin-stylelint/4.3.0_2auhvtttrgdzu2g5p2cy4xoe4e: + /vite-plugin-stylelint/4.3.0_vacdk2l5jstlxhxa3d3aegtdpm: resolution: {integrity: sha512-S8BONq5X8TndOFt+My4lkeHxVZvkDQRL++TV0nvnuYgOU/CvDddPPOT4V6go+ETzWK0NEtXqCGFnpkmm8c8Xcg==} engines: {node: '>=14.18'} peerDependencies: @@ -8738,12 +8856,12 @@ packages: chokidar: 3.5.3 postcss: 8.4.21 rollup: 3.19.1 - stylelint: 15.2.0 - vite: 4.1.4_tuubpuhf3jw5mbrri6rd7h53aa + stylelint: 15.3.0 + vite: 4.2.0_bbhgkqmop4v24vevyan3j2nitq dev: true - /vite/4.1.4_tuubpuhf3jw5mbrri6rd7h53aa: - resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==} + /vite/4.2.0_bbhgkqmop4v24vevyan3j2nitq: + resolution: {integrity: sha512-AbDTyzzwuKoRtMIRLGNxhLRuv1FpRgdIw+1y6AQG73Q5+vtecmvzKo/yk8X/vrHDpETRTx01ABijqUHIzBXi0g==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -8767,12 +8885,12 @@ packages: terser: optional: true dependencies: - '@types/node': 18.15.2 - esbuild: 0.16.17 + '@types/node': 18.15.3 + esbuild: 0.17.11 postcss: 8.4.21 resolve: 1.22.1 rollup: 3.19.1 - sass: 1.59.2 + sass: 1.59.3 optionalDependencies: fsevents: 2.3.2 dev: true @@ -8917,7 +9035,7 @@ packages: resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==} dev: true - /vue-tsc/1.2.0_typescript@4.9.5: + /vue-tsc/1.2.0_typescript@5.0.2: resolution: {integrity: sha512-rIlzqdrhyPYyLG9zxsVRa+JEseeS9s8F2BbVVVWRRsTZvJO2BbhLEb2HW3MY+DFma0378tnIqs+vfTzbcQtRFw==} hasBin: true peerDependencies: @@ -8925,7 +9043,7 @@ packages: dependencies: '@volar/vue-language-core': 1.2.0 '@volar/vue-typescript': 1.2.0 - typescript: 4.9.5 + typescript: 5.0.2 dev: true /vue/3.2.47: diff --git a/rollup.config.js b/rollup.config.js index 560580f..9c2247c 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -9,7 +9,8 @@ import json from '@rollup/plugin-json'; import { fileURLToPath, URL } from 'node:url'; import scss from 'rollup-plugin-scss'; import postcss from 'rollup-plugin-postcss'; -import terser from '@rollup/plugin-terser'; +// import terser from '@rollup/plugin-terser'; +import copy from 'rollup-plugin-copy'; const banner = `/** * @name ${pkg.name} @@ -80,6 +81,10 @@ export default { extract: true }), scss(), - terser(), + copy({ + targets: [ + { src: 'src/plugin/themes', dest: 'dist' }, + ] + }), ], }; diff --git a/src/App.vue b/src/App.vue index 620c3db..facde99 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/src/components/Examples/LangExamples.vue b/src/components/Examples/LangExamples.vue index f4834f1..2c4b43f 100644 --- a/src/components/Examples/LangExamples.vue +++ b/src/components/Examples/LangExamples.vue @@ -79,7 +79,7 @@ - - diff --git a/src/components/Examples/TestingExamples.vue b/src/components/Examples/TestingExamples.vue index 3be88de..7bc4f6a 100644 --- a/src/components/Examples/TestingExamples.vue +++ b/src/components/Examples/TestingExamples.vue @@ -53,120 +53,112 @@ const jsonExample = `{ }`; const phpExample = ` -namespace App\\Http\\Controllers\\API; - -use App\\Http\\Controllers\\ApiController; -use App\\Http\\Controllers\\Menu\\MenuItemController; -use App\\Http\\Resources\\API\\Menu as MenuApiResource; -use App\\Http\\Resources\\API\\PlatformUser as PlatformUserResource; -use App\\Models\\Menu\\Menu; -use App\\Models\\Menu\\MenuItem; -use App\\Models\\Platform\\Platform; -use App\\Models\\User\\User; - -class MenuController extends ApiController +getPlatform($platform)->id; - - if (!$platformId) - { - return $this->errorResponse("Please provide a valid Platform Name or ID.", 400); - } - else - { - if (!$menuName) - { - return $this->errorResponse("Please provide a Menu name.", 400); - } - else - { - $menu = (new Menu)->getPlatformMenuByName($menuName, $platformId); - - if (!$menu) - { - return $this->errorResponse("Menu '$menuName' does not exist.", 404); - } - else - { - $menu = new MenuApiResource($menu); - } - } - } + $users = User::get(); - return $this->successResponse(compact('menu')); + return Inertia::render('Users/Index', [ + 'currentPage' => 'Site Options', + 'users' => $users, + ]); } /** - * ------------------------------------------------------ GET Platform Menu Items - * - * @param string $platformName - * @param string $menuName - * @return \\Illuminate\\Http\\Response + * Store User. * */ - public function getPlatformMenuItems($platform, $menuName, $userId) + public function store(StoreUserRequest $request): JsonResponse { - $menu = []; - $platformId = (new Platform)->getPlatform($platform)?->id; + $validated = $request->validated(); - if (!$platformId) - { - return $this->errorResponse("Please provide a valid Platform Name or ID.", 400); - } + $user = [ + 'name' => $validated['name'], + 'email' => $validated['email'], + ]; - $menu = (new Menu)->getPlatformMenuByName($menuName, $platformId); + $user = User::create($user); + + $response = [ + 'err' => !$user, + 'msg' => $user ? 'success' : 'error', + 'user' => new UserResource($user), + ]; + + return response()->json($response); + } - if (!$menu->id) - { - return $this->errorResponse("Menu '$menuName' does not exist.", 404); - } - unset($menu->platform); + /** + * Update User + */ + public function update(UpdateUserRequest $request, User $userModel): JsonResponse + { + $validated = $request->validated(); + $user = $userModel->withTrashed()->find($validated['id']); - $user = User::find($userId); + $user->updated_by = auth()->id(); - if (!$user) + if ($validated['deletedAt'] === 'activate') { - return $this->errorResponse("Please provide a valid User ID", 400); + $user->restore(); } + else + { + $user->name = $validated['name']; + $user->email = $validated['email']; - $platform = (object) ['id' => $platformId]; - $user = (new PlatformUserResource($user, $platform))->resolve(); + $user->update($validated); + } - $menuItemsArray = []; - $menuItems = MenuItem::select('id', 'parent_menu_item_id', 'weight', 'name', 'link', 'target', 'icon_class') - ->with('menuItemRoles') - ->where('menu_id', $menu->id) - ->orderBy('parent_menu_item_id', 'ASC') - ->get() - ->toArray(); + $response = [ + 'err' => !$user, + 'msg' => $user ? 'success' : 'error', + 'siteOption' => new UserResource($user), + ]; - foreach ($menuItems as $key => $item) - { - foreach ($item['menu_item_roles'] as $role) - { - if (in_array($role['slug'], $user['roles_slugs'])) - { - array_push($menuItemsArray, $item); - break; - } - } - } + return response()->json($response); + } - $menu->menuItems = (new MenuItemController)->buildMenuTree($menuItemsArray); - return $this->successResponse(compact('menu')); + + /** + * Remove User + */ + public function destroy(DestroyUserRequest $request, User $userModel): JsonResponse + { + $validated = $request->validated(); + $user = $userModel->findOrFail($validated['id']); + + $user->updated_by = auth()->id(); + + $results = $user->delete(); + + return response()->json([ + 'err' => !$results, + 'status' => $results ? 'success' : 'error', + 'siteOption' => new UserResource($user), + ]); } } `; @@ -174,12 +166,7 @@ class MenuController extends ApiController // function handleCopyStatus(status) { // console.log('handleCopyStatus', status); // } - - diff --git a/src/components/Layout/FooterBar.vue b/src/components/Layout/FooterBar.vue new file mode 100644 index 0000000..6956981 --- /dev/null +++ b/src/components/Layout/FooterBar.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/components/Layout/NavBar.vue b/src/components/Layout/NavBar.vue index 393185b..daf5a0e 100644 --- a/src/components/Layout/NavBar.vue +++ b/src/components/Layout/NavBar.vue @@ -21,7 +21,7 @@ class="nav-link active" href="/vue3-code-block/" > - Home +