summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAcid Chicken (硫酸鶏) <root@acid-chicken.com>2023-06-01 17:19:46 +0900
committerGitHub <noreply@github.com>2023-06-01 17:19:46 +0900
commit337dd97b490fb6bcfc351566a4fd80c35a9cda14 (patch)
tree5dc95fc8617a22f713dcf8511398f4100d96c5a9
parentUpdate index.d.ts (diff)
downloadsharkey-337dd97b490fb6bcfc351566a4fd80c35a9cda14.tar.gz
sharkey-337dd97b490fb6bcfc351566a4fd80c35a9cda14.tar.bz2
sharkey-337dd97b490fb6bcfc351566a4fd80c35a9cda14.zip
perf(#10923): CSS Modules のクラス名をインライン化する (#10930)
* perf(#10923): unwind css module class name * perf(#10923): support multiple components * refactor: clean up * refactor(#10923): avoid `useCssModule()` * fix(#10923): allow direct literal class name * fix(#10923): avoid computed class name * fix(#10923): allow literal keys * fix(#10923): typo * fix(#10923): invalid class names * chore: test * revert: test This reverts commit 5c7ef366eceebe8ba260efa4d5d675f6c1775c45. * fix(#10923): hidden tale * perf(#10923): also unwind scoped css contained components * perf(#10923): `normalizeClass` AOT compilation --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
-rw-r--r--packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts597
-rw-r--r--packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.ts275
-rw-r--r--packages/frontend/package.json4
-rw-r--r--packages/frontend/src/components/MkAchievements.vue9
-rw-r--r--packages/frontend/src/components/MkAutocomplete.vue2
-rw-r--r--packages/frontend/src/components/MkButton.vue10
-rw-r--r--packages/frontend/src/components/MkClickerGame.vue6
-rw-r--r--packages/frontend/src/components/MkContainer.vue2
-rw-r--r--packages/frontend/src/components/MkDateSeparatedList.vue2
-rw-r--r--packages/frontend/src/components/MkDialog.vue10
-rw-r--r--packages/frontend/src/components/MkFolder.vue6
-rw-r--r--packages/frontend/src/components/MkImgWithBlurhash.vue5
-rw-r--r--packages/frontend/src/components/MkMediaList.vue15
-rw-r--r--packages/frontend/src/components/MkMention.vue2
-rw-r--r--packages/frontend/src/components/MkMenu.vue2
-rw-r--r--packages/frontend/src/components/MkModal.vue46
-rw-r--r--packages/frontend/src/components/MkNote.vue8
-rw-r--r--packages/frontend/src/components/MkNoteDetailed.vue4
-rw-r--r--packages/frontend/src/components/MkNotePreview.vue2
-rw-r--r--packages/frontend/src/components/MkNotification.vue19
-rw-r--r--packages/frontend/src/components/MkPoll.vue2
-rw-r--r--packages/frontend/src/components/MkPostForm.vue8
-rw-r--r--packages/frontend/src/components/MkSubNoteContent.vue6
-rw-r--r--packages/frontend/src/components/MkTextarea.vue2
-rw-r--r--packages/frontend/src/components/MkUrlPreview.vue11
-rw-r--r--packages/frontend/src/components/MkUserOnlineIndicator.vue10
-rw-r--r--packages/frontend/src/components/MkUserSelectDialog.vue4
-rw-r--r--packages/frontend/src/components/MkUsersTooltip.vue12
-rw-r--r--packages/frontend/src/components/MkVisitorDashboard.vue6
-rw-r--r--packages/frontend/src/components/MkWidgets.vue30
-rw-r--r--packages/frontend/src/components/form/link.vue4
-rw-r--r--packages/frontend/src/components/form/slot.vue2
-rw-r--r--packages/frontend/src/components/global/MkAd.vue12
-rw-r--r--packages/frontend/src/components/global/MkUrl.vue2
-rw-r--r--packages/frontend/src/components/page/page.section.vue11
-rw-r--r--packages/frontend/src/pages/admin/RolesEditorFormula.vue12
-rw-r--r--packages/frontend/src/pages/admin/queue.chart.vue7
-rw-r--r--packages/frontend/src/pages/admin/server-rules.vue2
-rw-r--r--packages/frontend/src/pages/settings/preferences-backups.vue4
-rw-r--r--packages/frontend/src/pages/settings/profile.vue6
-rw-r--r--packages/frontend/src/pages/signup-complete.vue5
-rw-r--r--packages/frontend/src/pages/welcome.setup.vue5
-rw-r--r--packages/frontend/src/pages/welcome.timeline.vue2
-rw-r--r--packages/frontend/src/ui/_common_/common.vue38
-rw-r--r--packages/frontend/src/ui/_common_/statusbar-federation.vue2
-rw-r--r--packages/frontend/src/ui/_common_/statusbars.vue1
-rw-r--r--packages/frontend/src/ui/_common_/stream-indicator.vue7
-rw-r--r--packages/frontend/src/ui/deck/column.vue2
-rw-r--r--packages/frontend/src/ui/universal.widgets.vue7
-rw-r--r--packages/frontend/src/widgets/WidgetClock.vue8
-rw-r--r--packages/frontend/src/widgets/WidgetRssTicker.vue2
-rw-r--r--packages/frontend/vite.config.ts2
-rw-r--r--pnpm-lock.yaml1403
53 files changed, 2295 insertions, 368 deletions
diff --git a/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts b/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts
new file mode 100644
index 0000000000..3929bf0608
--- /dev/null
+++ b/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts
@@ -0,0 +1,597 @@
+import { parse } from 'acorn';
+import { generate } from 'astring';
+import { describe, expect, it } from 'vitest';
+import { normalizeClass, unwindCssModuleClassName } from './rollup-plugin-unwind-css-module-class-name';
+import type * as estree from 'estree';
+
+function parseExpression(code: string): estree.Expression {
+ const program = parse(code, { ecmaVersion: 'latest', sourceType: 'module' }) as unknown as estree.Program;
+ const statement = program.body[0] as estree.ExpressionStatement;
+ return statement.expression;
+}
+
+describe(normalizeClass.name, () => {
+ it('should normalize string', () => {
+ expect(normalizeClass(parseExpression('"a b c"'))).toBe('a b c');
+ });
+ it('should trim redundant spaces', () => {
+ expect(normalizeClass(parseExpression('" a b c "'))).toBe('a b c');
+ });
+ it('should ignore undefined', () => {
+ expect(normalizeClass(parseExpression('undefined'))).toBe('');
+ });
+ it('should ignore non string literals', () => {
+ expect(normalizeClass(parseExpression('0'))).toBe('');
+ expect(normalizeClass(parseExpression('true'))).toBe('');
+ expect(normalizeClass(parseExpression('null'))).toBe('');
+ expect(normalizeClass(parseExpression('/I.D/'))).toBe('');
+ });
+ it('should not normalize identifiers', () => {
+ expect(normalizeClass(parseExpression('EScape'))).toBeNull();
+ });
+ it('should normalize recursively array', () => {
+ expect(normalizeClass(parseExpression('["from", ...["Utopia"]]'))).toBe('from Utopia');
+ expect(normalizeClass(parseExpression('["from", ...[Utopia]]'))).toBeNull();
+ });
+ it('should normalize recursively template literal', () => {
+ expect(normalizeClass(parseExpression('`name ${"shiho"} code ${33}`'))).toBe('name shiho code');
+ expect(normalizeClass(parseExpression('`name ${shiho.name} code ${33}`'))).toBeNull();
+ });
+ it('should normalize recursively binary expression', () => {
+ expect(normalizeClass(parseExpression('"mirage" + "mirror"'))).toBe('miragemirror');
+ expect(normalizeClass(parseExpression('"mirage" + mirror'))).toBeNull();
+ });
+ it('should normalize recursively object expression', () => {
+ expect(normalizeClass(parseExpression('({ a: true, b: "c" })'))).toBe('a b');
+ expect(normalizeClass(parseExpression('({ a: false, b: "c" })'))).toBe('b');
+ expect(normalizeClass(parseExpression('({ a: true, b: c })'))).toBeNull();
+ expect(normalizeClass(parseExpression('({ a: true, b: "c", ...({ d: true }) })'))).toBe('a b d');
+ expect(normalizeClass(parseExpression('({ a: true, [b]: "c" })'))).toBeNull();
+ expect(normalizeClass(parseExpression('({ a: true, b: false, c: !false, d: !!0 })'))).toBe('a c');
+ });
+});
+
+it('Composition API (standard)', () => {
+ const ast = parse(`
+import { c as api, d as defaultStore, i as i18n, aD as notePage, bN as ImgWithBlurhash, bY as getStaticImageUrl, _ as _export_sfc } from './app-!~{001}~.js';
+import { M as MkContainer } from './MkContainer-!~{03M}~.js';
+import { b as defineComponent, a as ref, e as onMounted, z as resolveComponent, g as openBlock, h as createBlock, i as withCtx, K as createTextVNode, E as toDisplayString, u as unref, l as createBaseVNode, q as normalizeClass, B as createCommentVNode, k as createElementBlock, F as Fragment, C as renderList, A as createVNode } from './vue-!~{002}~.js';
+import './photoswipe-!~{003}~.js';
+
+const _hoisted_1 = /* @__PURE__ */ createBaseVNode("i", { class: "ti ti-photo" }, null, -1);
+const _sfc_main = /* @__PURE__ */ defineComponent({
+ __name: "index.photos",
+ props: {
+ user: {}
+ },
+ setup(__props) {
+ const props = __props;
+ let fetching = ref(true);
+ let images = ref([]);
+ function thumbnail(image) {
+ return defaultStore.state.disableShowingAnimatedImages ? getStaticImageUrl(image.url) : image.thumbnailUrl;
+ }
+ onMounted(() => {
+ const image = [
+ "image/jpeg",
+ "image/webp",
+ "image/avif",
+ "image/png",
+ "image/gif",
+ "image/apng",
+ "image/vnd.mozilla.apng"
+ ];
+ api("users/notes", {
+ userId: props.user.id,
+ fileType: image,
+ excludeNsfw: defaultStore.state.nsfw !== "ignore",
+ limit: 10
+ }).then((notes) => {
+ for (const note of notes) {
+ for (const file of note.files) {
+ images.value.push({
+ note,
+ file
+ });
+ }
+ }
+ fetching.value = false;
+ });
+ });
+ return (_ctx, _cache) => {
+ const _component_MkLoading = resolveComponent("MkLoading");
+ const _component_MkA = resolveComponent("MkA");
+ return openBlock(), createBlock(MkContainer, {
+ "max-height": 300,
+ foldable: true
+ }, {
+ icon: withCtx(() => [
+ _hoisted_1
+ ]),
+ header: withCtx(() => [
+ createTextVNode(toDisplayString(unref(i18n).ts.images), 1)
+ ]),
+ default: withCtx(() => [
+ createBaseVNode("div", {
+ class: normalizeClass(_ctx.$style.root)
+ }, [
+ unref(fetching) ? (openBlock(), createBlock(_component_MkLoading, { key: 0 })) : createCommentVNode("", true),
+ !unref(fetching) && unref(images).length > 0 ? (openBlock(), createElementBlock("div", {
+ key: 1,
+ class: normalizeClass(_ctx.$style.stream)
+ }, [
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(images), (image) => {
+ return openBlock(), createBlock(_component_MkA, {
+ key: image.note.id + image.file.id,
+ class: normalizeClass(_ctx.$style.img),
+ to: unref(notePage)(image.note)
+ }, {
+ default: withCtx(() => [
+ createVNode(ImgWithBlurhash, {
+ hash: image.file.blurhash,
+ src: thumbnail(image.file),
+ title: image.file.name
+ }, null, 8, ["hash", "src", "title"])
+ ]),
+ _: 2
+ }, 1032, ["class", "to"]);
+ }), 128))
+ ], 2)) : createCommentVNode("", true),
+ !unref(fetching) && unref(images).length == 0 ? (openBlock(), createElementBlock("p", {
+ key: 2,
+ class: normalizeClass(_ctx.$style.empty)
+ }, toDisplayString(unref(i18n).ts.nothing), 3)) : createCommentVNode("", true)
+ ], 2)
+ ]),
+ _: 1
+ });
+ };
+ }
+});
+
+const root = "xenMW";
+const stream = "xaZzf";
+const img = "xtA8t";
+const empty = "xhYKj";
+const style0 = {
+ root: root,
+ stream: stream,
+ img: img,
+ empty: empty
+};
+
+const cssModules = {
+ "$style": style0
+};
+const index_photos = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
+
+export { index_photos as default };
+`.slice(1), { ecmaVersion: 'latest', sourceType: 'module' });
+ unwindCssModuleClassName(ast);
+ expect(generate(ast)).toBe(`
+import {c as api, d as defaultStore, i as i18n, aD as notePage, bN as ImgWithBlurhash, bY as getStaticImageUrl, _ as _export_sfc} from './app-!~{001}~.js';
+import {M as MkContainer} from './MkContainer-!~{03M}~.js';
+import {b as defineComponent, a as ref, e as onMounted, z as resolveComponent, g as openBlock, h as createBlock, i as withCtx, K as createTextVNode, E as toDisplayString, u as unref, l as createBaseVNode, q as normalizeClass, B as createCommentVNode, k as createElementBlock, F as Fragment, C as renderList, A as createVNode} from './vue-!~{002}~.js';
+import './photoswipe-!~{003}~.js';
+const _hoisted_1 = createBaseVNode("i", {
+ class: "ti ti-photo"
+}, null, -1);
+const _sfc_main = defineComponent({
+ __name: "index.photos",
+ props: {
+ user: {}
+ },
+ setup(__props) {
+ const props = __props;
+ let fetching = ref(true);
+ let images = ref([]);
+ function thumbnail(image) {
+ return defaultStore.state.disableShowingAnimatedImages ? getStaticImageUrl(image.url) : image.thumbnailUrl;
+ }
+ onMounted(() => {
+ const image = ["image/jpeg", "image/webp", "image/avif", "image/png", "image/gif", "image/apng", "image/vnd.mozilla.apng"];
+ api("users/notes", {
+ userId: props.user.id,
+ fileType: image,
+ excludeNsfw: defaultStore.state.nsfw !== "ignore",
+ limit: 10
+ }).then(notes => {
+ for (const note of notes) {
+ for (const file of note.files) {
+ images.value.push({
+ note,
+ file
+ });
+ }
+ }
+ fetching.value = false;
+ });
+ });
+ return (_ctx, _cache) => {
+ const _component_MkLoading = resolveComponent("MkLoading");
+ const _component_MkA = resolveComponent("MkA");
+ return (openBlock(), createBlock(MkContainer, {
+ "max-height": 300,
+ foldable: true
+ }, {
+ icon: withCtx(() => [_hoisted_1]),
+ header: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).ts.images), 1)]),
+ default: withCtx(() => [createBaseVNode("div", {
+ class: "xenMW"
+ }, [unref(fetching) ? (openBlock(), createBlock(_component_MkLoading, {
+ key: 0
+ })) : createCommentVNode("", true), !unref(fetching) && unref(images).length > 0 ? (openBlock(), createElementBlock("div", {
+ key: 1,
+ class: "xaZzf"
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(images), image => {
+ return (openBlock(), createBlock(_component_MkA, {
+ key: image.note.id + image.file.id,
+ class: "xtA8t",
+ to: unref(notePage)(image.note)
+ }, {
+ default: withCtx(() => [createVNode(ImgWithBlurhash, {
+ hash: image.file.blurhash,
+ src: thumbnail(image.file),
+ title: image.file.name
+ }, null, 8, ["hash", "src", "title"])]),
+ _: 2
+ }, 1032, ["class", "to"]));
+ }), 128))], 2)) : createCommentVNode("", true), !unref(fetching) && unref(images).length == 0 ? (openBlock(), createElementBlock("p", {
+ key: 2,
+ class: "xhYKj"
+ }, toDisplayString(unref(i18n).ts.nothing), 3)) : createCommentVNode("", true)], 2)]),
+ _: 1
+ }));
+ };
+ }
+});
+const root = "xenMW";
+const stream = "xaZzf";
+const img = "xtA8t";
+const empty = "xhYKj";
+const style0 = {
+ root: root,
+ stream: stream,
+ img: img,
+ empty: empty
+};
+const cssModules = {
+ "$style": style0
+};
+const index_photos = _sfc_main;
+export {index_photos as default};
+`.slice(1));
+});
+
+it('Composition API (with `useCssModule()`)', () => {
+ const ast = parse(`
+import { a7 as getCurrentInstance, b as defineComponent, G as useCssModule, a1 as h, H as TransitionGroup } from './!~{002}~.js';
+import { d as defaultStore, aK as toast, b5 as MkAd, i as i18n, _ as _export_sfc } from './app-!~{001}~.js';
+
+function isDebuggerEnabled(id) {
+ try {
+ return localStorage.getItem(\`DEBUG_\${id}\`) !== null;
+ } catch {
+ return false;
+ }
+}
+function stackTraceInstances() {
+ let instance = getCurrentInstance();
+ const stack = [];
+ while (instance) {
+ stack.push(instance);
+ instance = instance.parent;
+ }
+ return stack;
+}
+
+const _sfc_main = defineComponent({
+ props: {
+ items: {
+ type: Array,
+ required: true
+ },
+ direction: {
+ type: String,
+ required: false,
+ default: "down"
+ },
+ reversed: {
+ type: Boolean,
+ required: false,
+ default: false
+ },
+ noGap: {
+ type: Boolean,
+ required: false,
+ default: false
+ },
+ ad: {
+ type: Boolean,
+ required: false,
+ default: false
+ }
+ },
+ setup(props, { slots, expose }) {
+ const $style = useCssModule();
+ function getDateText(time) {
+ const date = new Date(time).getDate();
+ const month = new Date(time).getMonth() + 1;
+ return i18n.t("monthAndDay", {
+ month: month.toString(),
+ day: date.toString()
+ });
+ }
+ if (props.items.length === 0)
+ return;
+ const renderChildrenImpl = () => props.items.map((item, i) => {
+ if (!slots || !slots.default)
+ return;
+ const el = slots.default({
+ item
+ })[0];
+ if (el.key == null && item.id)
+ el.key = item.id;
+ if (i !== props.items.length - 1 && new Date(item.createdAt).getDate() !== new Date(props.items[i + 1].createdAt).getDate()) {
+ const separator = h("div", {
+ class: $style["separator"],
+ key: item.id + ":separator"
+ }, h("p", {
+ class: $style["date"]
+ }, [
+ h("span", {
+ class: $style["date-1"]
+ }, [
+ h("i", {
+ class: \`ti ti-chevron-up \${$style["date-1-icon"]}\`
+ }),
+ getDateText(item.createdAt)
+ ]),
+ h("span", {
+ class: $style["date-2"]
+ }, [
+ getDateText(props.items[i + 1].createdAt),
+ h("i", {
+ class: \`ti ti-chevron-down \${$style["date-2-icon"]}\`
+ })
+ ])
+ ]));
+ return [el, separator];
+ } else {
+ if (props.ad && item._shouldInsertAd_) {
+ return [h(MkAd, {
+ key: item.id + ":ad",
+ prefer: ["horizontal", "horizontal-big"]
+ }), el];
+ } else {
+ return el;
+ }
+ }
+ });
+ const renderChildren = () => {
+ const children = renderChildrenImpl();
+ if (isDebuggerEnabled(6864)) {
+ const nodes = children.flatMap((node) => node ?? []);
+ const keys = new Set(nodes.map((node) => node.key));
+ if (keys.size !== nodes.length) {
+ const id = crypto.randomUUID();
+ const instances = stackTraceInstances();
+ toast(instances.reduce((a, c) => \`\${a} at \${c.type.name}\`, \`[DEBUG_6864 (\${id})]: \${nodes.length - keys.size} duplicated keys found\`));
+ console.warn({ id, debugId: 6864, stack: instances });
+ }
+ }
+ return children;
+ };
+ function onBeforeLeave(el) {
+ el.style.top = \`\${el.offsetTop}px\`;
+ el.style.left = \`\${el.offsetLeft}px\`;
+ }
+ function onLeaveCanceled(el) {
+ el.style.top = "";
+ el.style.left = "";
+ }
+ return () => h(
+ defaultStore.state.animation ? TransitionGroup : "div",
+ {
+ class: {
+ [$style["date-separated-list"]]: true,
+ [$style["date-separated-list-nogap"]]: props.noGap,
+ [$style["reversed"]]: props.reversed,
+ [$style["direction-down"]]: props.direction === "down",
+ [$style["direction-up"]]: props.direction === "up"
+ },
+ ...defaultStore.state.animation ? {
+ name: "list",
+ tag: "div",
+ onBeforeLeave,
+ onLeaveCanceled
+ } : {}
+ },
+ { default: renderChildren }
+ );
+ }
+});
+
+const reversed = "xxiZh";
+const separator = "xxeDx";
+const date = "xxawD";
+const style0 = {
+ "date-separated-list": "xfKPa",
+ "date-separated-list-nogap": "xf9zr",
+ "direction-up": "x7AeO",
+ "direction-down": "xBIqc",
+ reversed: reversed,
+ separator: separator,
+ date: date,
+ "date-1": "xwtmh",
+ "date-1-icon": "xsNPa",
+ "date-2": "x1xvw",
+ "date-2-icon": "x9ZiG"
+};
+
+const cssModules = {
+ "$style": style0
+};
+const MkDateSeparatedList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
+
+export { MkDateSeparatedList as M };
+`.slice(1), { ecmaVersion: 'latest', sourceType: 'module' });
+ unwindCssModuleClassName(ast);
+ expect(generate(ast)).toBe(`
+import {a7 as getCurrentInstance, b as defineComponent, G as useCssModule, a1 as h, H as TransitionGroup} from './!~{002}~.js';
+import {d as defaultStore, aK as toast, b5 as MkAd, i as i18n, _ as _export_sfc} from './app-!~{001}~.js';
+function isDebuggerEnabled(id) {
+ try {
+ return localStorage.getItem(\`DEBUG_\${id}\`) !== null;
+ } catch {
+ return false;
+ }
+}
+function stackTraceInstances() {
+ let instance = getCurrentInstance();
+ const stack = [];
+ while (instance) {
+ stack.push(instance);
+ instance = instance.parent;
+ }
+ return stack;
+}
+const _sfc_main = defineComponent({
+ props: {
+ items: {
+ type: Array,
+ required: true
+ },
+ direction: {
+ type: String,
+ required: false,
+ default: "down"
+ },
+ reversed: {
+ type: Boolean,
+ required: false,
+ default: false
+ },
+ noGap: {
+ type: Boolean,
+ required: false,
+ default: false
+ },
+ ad: {
+ type: Boolean,
+ required: false,
+ default: false
+ }
+ },
+ setup(props, {slots, expose}) {
+ const $style = useCssModule();
+ function getDateText(time) {
+ const date = new Date(time).getDate();
+ const month = new Date(time).getMonth() + 1;
+ return i18n.t("monthAndDay", {
+ month: month.toString(),
+ day: date.toString()
+ });
+ }
+ if (props.items.length === 0) return;
+ const renderChildrenImpl = () => props.items.map((item, i) => {
+ if (!slots || !slots.default) return;
+ const el = slots.default({
+ item
+ })[0];
+ if (el.key == null && item.id) el.key = item.id;
+ if (i !== props.items.length - 1 && new Date(item.createdAt).getDate() !== new Date(props.items[i + 1].createdAt).getDate()) {
+ const separator = h("div", {
+ class: $style["separator"],
+ key: item.id + ":separator"
+ }, h("p", {
+ class: $style["date"]
+ }, [h("span", {
+ class: $style["date-1"]
+ }, [h("i", {
+ class: \`ti ti-chevron-up \${$style["date-1-icon"]}\`
+ }), getDateText(item.createdAt)]), h("span", {
+ class: $style["date-2"]
+ }, [getDateText(props.items[i + 1].createdAt), h("i", {
+ class: \`ti ti-chevron-down \${$style["date-2-icon"]}\`
+ })])]));
+ return [el, separator];
+ } else {
+ if (props.ad && item._shouldInsertAd_) {
+ return [h(MkAd, {
+ key: item.id + ":ad",
+ prefer: ["horizontal", "horizontal-big"]
+ }), el];
+ } else {
+ return el;
+ }
+ }
+ });
+ const renderChildren = () => {
+ const children = renderChildrenImpl();
+ if (isDebuggerEnabled(6864)) {
+ const nodes = children.flatMap(node => node ?? []);
+ const keys = new Set(nodes.map(node => node.key));
+ if (keys.size !== nodes.length) {
+ const id = crypto.randomUUID();
+ const instances = stackTraceInstances();
+ toast(instances.reduce((a, c) => \`\${a} at \${c.type.name}\`, \`[DEBUG_6864 (\${id})]: \${nodes.length - keys.size} duplicated keys found\`));
+ console.warn({
+ id,
+ debugId: 6864,
+ stack: instances
+ });
+ }
+ }
+ return children;
+ };
+ function onBeforeLeave(el) {
+ el.style.top = \`\${el.offsetTop}px\`;
+ el.style.left = \`\${el.offsetLeft}px\`;
+ }
+ function onLeaveCanceled(el) {
+ el.style.top = "";
+ el.style.left = "";
+ }
+ return () => h(defaultStore.state.animation ? TransitionGroup : "div", {
+ class: {
+ [$style["date-separated-list"]]: true,
+ [$style["date-separated-list-nogap"]]: props.noGap,
+ [$style["reversed"]]: props.reversed,
+ [$style["direction-down"]]: props.direction === "down",
+ [$style["direction-up"]]: props.direction === "up"
+ },
+ ...defaultStore.state.animation ? {
+ name: "list",
+ tag: "div",
+ onBeforeLeave,
+ onLeaveCanceled
+ } : {}
+ }, {
+ default: renderChildren
+ });
+ }
+});
+const reversed = "xxiZh";
+const separator = "xxeDx";
+const date = "xxawD";
+const style0 = {
+ "date-separated-list": "xfKPa",
+ "date-separated-list-nogap": "xf9zr",
+ "direction-up": "x7AeO",
+ "direction-down": "xBIqc",
+ reversed: reversed,
+ separator: separator,
+ date: date,
+ "date-1": "xwtmh",
+ "date-1-icon": "xsNPa",
+ "date-2": "x1xvw",
+ "date-2-icon": "x9ZiG"
+};
+const cssModules = {
+ "$style": style0
+};
+const MkDateSeparatedList = _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
+export {MkDateSeparatedList as M};
+`.slice(1));
+});
diff --git a/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.ts b/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.ts
new file mode 100644
index 0000000000..a18f0d9049
--- /dev/null
+++ b/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.ts
@@ -0,0 +1,275 @@
+import { generate } from 'astring';
+import * as estree from 'estree';
+import { walk } from '../node_modules/estree-walker/src/index.js';
+import type * as estreeWalker from 'estree-walker';
+import type { Plugin } from 'vite';
+
+function isFalsyIdentifier(identifier: estree.Identifier): boolean {
+ return identifier.name === 'undefined' || identifier.name === 'NaN';
+}
+
+function normalizeClassWalker(tree: estree.Node): string | null {
+ if (tree.type === 'Identifier') return isFalsyIdentifier(tree) ? '' : null;
+ if (tree.type === 'Literal') return typeof tree.value === 'string' ? tree.value : '';
+ if (tree.type === 'BinaryExpression') {
+ if (tree.operator !== '+') return null;
+ const left = normalizeClassWalker(tree.left);
+ const right = normalizeClassWalker(tree.right);
+ if (left === null || right === null) return null;
+ return `${left}${right}`;
+ }
+ if (tree.type === 'TemplateLiteral') {
+ if (tree.expressions.some((x) => x.type !== 'Literal' && (x.type !== 'Identifier' || !isFalsyIdentifier(x)))) return null;
+ return tree.quasis.reduce((a, c, i) => {
+ const v = i === tree.quasis.length - 1 ? '' : (tree.expressions[i] as Partial<estree.Literal>).value;
+ return a + c.value.raw + (typeof v === 'string' ? v : '');
+ }, '');
+ }
+ if (tree.type === 'ArrayExpression') {
+ const values = tree.elements.map((treeNode) => {
+ if (treeNode === null) return '';
+ if (treeNode.type === 'SpreadElement') return normalizeClassWalker(treeNode.argument);
+ return normalizeClassWalker(treeNode);
+ });
+ if (values.some((x) => x === null)) return null;
+ return values.join(' ');
+ }
+ if (tree.type === 'ObjectExpression') {
+ const values = tree.properties.map((treeNode) => {
+ if (treeNode.type === 'SpreadElement') return normalizeClassWalker(treeNode.argument);
+ let x = treeNode.value;
+ let inveted = false;
+ while (x.type === 'UnaryExpression' && x.operator === '!') {
+ x = x.argument;
+ inveted = !inveted;
+ }
+ if (x.type === 'Literal') {
+ if (inveted === !x.value) {
+ return treeNode.key.type === 'Identifier' ? treeNode.computed ? null : treeNode.key.name : treeNode.key.type === 'Literal' ? treeNode.key.value : '';
+ } else {
+ return '';
+ }
+ }
+ if (x.type === 'Identifier') {
+ if (inveted !== isFalsyIdentifier(x)) {
+ return '';
+ } else {
+ return null;
+ }
+ }
+ return null;
+ });
+ if (values.some((x) => x === null)) return null;
+ return values.join(' ');
+ }
+ console.error(`Unexpected node type: ${tree.type}`);
+ return null;
+}
+
+export function normalizeClass(tree: estree.Node): string | null {
+ const walked = normalizeClassWalker(tree);
+ return walked && walked.replace(/^\s+|\s+(?=\s)|\s+$/g, '');
+}
+
+export function unwindCssModuleClassName(ast: estree.Node): void {
+ (walk as typeof estreeWalker.walk)(ast, {
+ enter(node, parent): void {
+ if (parent?.type !== 'Program') return;
+ if (node.type !== 'VariableDeclaration') return;
+ if (node.declarations.length !== 1) return;
+ if (node.declarations[0].id.type !== 'Identifier') return;
+ const name = node.declarations[0].id.name;
+ if (node.declarations[0].init?.type !== 'CallExpression') return;
+ if (node.declarations[0].init.callee.type !== 'Identifier') return;
+ if (node.declarations[0].init.callee.name !== '_export_sfc') return;
+ if (node.declarations[0].init.arguments.length !== 2) return;
+ if (node.declarations[0].init.arguments[0].type !== 'Identifier') return;
+ const ident = node.declarations[0].init.arguments[0].name;
+ if (!ident.startsWith('_sfc_main')) return;
+ if (node.declarations[0].init.arguments[1].type !== 'ArrayExpression') return;
+ if (node.declarations[0].init.arguments[1].elements.length === 0) return;
+ const __cssModulesIndex = node.declarations[0].init.arguments[1].elements.findIndex((x) => {
+ if (x?.type !== 'ArrayExpression') return false;
+ if (x.elements.length !== 2) return false;
+ if (x.elements[0]?.type !== 'Literal') return false;
+ if (x.elements[0].value !== '__cssModules') return false;
+ if (x.elements[1]?.type !== 'Identifier') return false;
+ return true;
+ });
+ if (!~__cssModulesIndex) return;
+ const cssModuleForestName = ((node.declarations[0].init.arguments[1].elements[__cssModulesIndex] as estree.ArrayExpression).elements[1] as estree.Identifier).name;
+ const cssModuleForestNode = parent.body.find((x) => {
+ if (x.type !== 'VariableDeclaration') return false;
+ if (x.declarations.length !== 1) return false;
+ if (x.declarations[0].id.type !== 'Identifier') return false;
+ if (x.declarations[0].id.name !== cssModuleForestName) return false;
+ if (x.declarations[0].init?.type !== 'ObjectExpression') return false;
+ return true;
+ }) as unknown as estree.VariableDeclaration;
+ const moduleForest = new Map((cssModuleForestNode.declarations[0].init as estree.ObjectExpression).properties.flatMap((property) => {
+ if (property.type !== 'Property') return [];
+ if (property.key.type !== 'Literal') return [];
+ if (property.value.type !== 'Identifier') return [];
+ return [[property.key.value as string, property.value.name as string]];
+ }));
+ const sfcMain = parent.body.find((x) => {
+ if (x.type !== 'VariableDeclaration') return false;
+ if (x.declarations.length !== 1) return false;
+ if (x.declarations[0].id.type !== 'Identifier') return false;
+ if (x.declarations[0].id.name !== ident) return false;
+ return true;
+ }) as unknown as estree.VariableDeclaration;
+ if (sfcMain.declarations[0].init?.type !== 'CallExpression') return;
+ if (sfcMain.declarations[0].init.callee.type !== 'Identifier') return;
+ if (sfcMain.declarations[0].init.callee.name !== 'defineComponent') return;
+ if (sfcMain.declarations[0].init.arguments.length !== 1) return;
+ if (sfcMain.declarations[0].init.arguments[0].type !== 'ObjectExpression') return;
+ const setup = sfcMain.declarations[0].init.arguments[0].properties.find((x) => {
+ if (x.type !== 'Property') return false;
+ if (x.key.type !== 'Identifier') return false;
+ if (x.key.name !== 'setup') return false;
+ return true;
+ }) as unknown as estree.Property;
+ if (setup.value.type !== 'FunctionExpression') return;
+ const render = setup.value.body.body.find((x) => {
+ if (x.type !== 'ReturnStatement') return false;
+ return true;
+ }) as unknown as estree.ReturnStatement;
+ if (render.argument?.type !== 'ArrowFunctionExpression') return;
+ if (render.argument.params.length !== 2) return;
+ const ctx = render.argument.params[0];
+ if (ctx.type !== 'Identifier') return;
+ if (ctx.name !== '_ctx') return;
+ if (render.argument.body.type !== 'BlockStatement') return;
+ for (const [key, value] of moduleForest) {
+ const cssModuleTreeNode = parent.body.find((x) => {
+ if (x.type !== 'VariableDeclaration') return false;
+ if (x.declarations.length !== 1) return false;
+ if (x.declarations[0].id.type !== 'Identifier') return false;
+ if (x.declarations[0].id.name !== value) return false;
+ return true;
+ }) as unknown as estree.VariableDeclaration;
+ if (cssModuleTreeNode.declarations[0].init?.type !== 'ObjectExpression') return;
+ const moduleTree = new Map(cssModuleTreeNode.declarations[0].init.properties.flatMap((property) => {
+ if (property.type !== 'Property') return [];
+ const actualKey = property.key.type === 'Identifier' ? property.key.name : property.key.type === 'Literal' ? property.key.value : null;
+ if (typeof actualKey !== 'string') return [];
+ if (property.value.type === 'Literal') return [[actualKey, property.value.value as string]];
+ if (property.value.type !== 'Identifier') return [];
+ const labelledValue = property.value.name;
+ const actualValue = parent.body.find((x) => {
+ if (x.type !== 'VariableDeclaration') return false;
+ if (x.declarations.length !== 1) return false;
+ if (x.declarations[0].id.type !== 'Identifier') return false;
+ if (x.declarations[0].id.name !== labelledValue) return false;
+ return true;
+ }) as unknown as estree.VariableDeclaration;
+ if (actualValue.declarations[0].init?.type !== 'Literal') return [];
+ return [[actualKey, actualValue.declarations[0].init.value as string]];
+ }));
+ (walk as typeof estreeWalker.walk)(render.argument.body, {
+ enter(childNode) {
+ if (childNode.type !== 'MemberExpression') return;
+ if (childNode.object.type !== 'MemberExpression') return;
+ if (childNode.object.object.type !== 'Identifier') return;
+ if (childNode.object.object.name !== ctx.name) return;
+ if (childNode.object.property.type !== 'Identifier') return;
+ if (childNode.object.property.name !== key) return;
+ if (childNode.property.type !== 'Identifier') return;
+ const actualValue = moduleTree.get(childNode.property.name);
+ if (actualValue === undefined) return;
+ this.replace({
+ type: 'Literal',
+ value: actualValue,
+ });
+ },
+ });
+ (walk as typeof estreeWalker.walk)(render.argument.body, {
+ enter(childNode) {
+ if (childNode.type !== 'MemberExpression') return;
+ if (childNode.object.type !== 'MemberExpression') return;
+ if (childNode.object.object.type !== 'Identifier') return;
+ if (childNode.object.object.name !== ctx.name) return;
+ if (childNode.object.property.type !== 'Identifier') return;
+ if (childNode.object.property.name !== key) return;
+ if (childNode.property.type !== 'Identifier') return;
+ console.error(`Undefined style detected: ${key}.${childNode.property.name} (in ${name})`);
+ this.replace({
+ type: 'Identifier',
+ name: 'undefined',
+ });
+ },
+ });
+ (walk as typeof estreeWalker.walk)(render.argument.body, {
+ enter(childNode) {
+ if (childNode.type !== 'CallExpression') return;
+ if (childNode.callee.type !== 'Identifier') return;
+ if (childNode.callee.name !== 'normalizeClass') return;
+ if (childNode.arguments.length !== 1) return;
+ const normalized = normalizeClass(childNode.arguments[0]);
+ if (normalized === null) return;
+ this.replace({
+ type: 'Literal',
+ value: normalized,
+ });
+ },
+ });
+ }
+ if (node.declarations[0].init.arguments[1].elements.length === 1) {
+ this.replace({
+ type: 'VariableDeclaration',
+ declarations: [{
+ type: 'VariableDeclarator',
+ id: {
+ type: 'Identifier',
+ name: node.declarations[0].id.name,
+ },
+ init: {
+ type: 'Identifier',
+ name: ident,
+ },
+ }],
+ kind: 'const',
+ });
+ } else {
+ this.replace({
+ type: 'VariableDeclaration',
+ declarations: [{
+ type: 'VariableDeclarator',
+ id: {
+ type: 'Identifier',
+ name: node.declarations[0].id.name,
+ },
+ init: {
+ type: 'CallExpression',
+ callee: {
+ type: 'Identifier',
+ name: '_export_sfc',
+ },
+ arguments: [{
+ type: 'Identifier',
+ name: ident,
+ }, {
+ type: 'ArrayExpression',
+ elements: node.declarations[0].init.arguments[1].elements.slice(0, __cssModulesIndex).concat(node.declarations[0].init.arguments[1].elements.slice(__cssModulesIndex + 1)),
+ }],
+ },
+ }],
+ kind: 'const',
+ });
+ }
+ },
+ });
+}
+
+// eslint-disable-next-line import/no-default-export
+export default function pluginUnwindCssModuleClassName(): Plugin {
+ return {
+ name: 'UnwindCssModuleClassName',
+ renderChunk(code): { code: string } {
+ const ast = this.parse(code) as unknown as estree.Node;
+ unwindCssModuleClassName(ast);
+ return { code: generate(ast) };
+ },
+ };
+}
diff --git a/packages/frontend/package.json b/packages/frontend/package.json
index 84f3d9ce63..6720a5939b 100644
--- a/packages/frontend/package.json
+++ b/packages/frontend/package.json
@@ -24,6 +24,7 @@
"@vitejs/plugin-vue": "4.2.3",
"@vue-macros/reactivity-transform": "0.3.8",
"@vue/compiler-sfc": "3.3.4",
+ "astring": "1.8.5",
"autosize": "6.0.1",
"broadcast-channel": "4.20.2",
"browser-image-resizer": "github:misskey-dev/browser-image-resizer#v2.2.1-misskey.3",
@@ -39,6 +40,7 @@
"cropperjs": "2.0.0-beta.2",
"date-fns": "2.30.0",
"escape-regexp": "0.0.1",
+ "estree-walker": "^3.0.3",
"eventemitter3": "5.0.1",
"gsap": "3.11.5",
"idb-keyval": "6.2.1",
@@ -116,7 +118,7 @@
"@typescript-eslint/parser": "5.59.5",
"@vitest/coverage-c8": "0.31.1",
"@vue/runtime-core": "3.3.4",
- "astring": "1.8.5",
+ "acorn": "^8.8.2",
"chokidar-cli": "3.0.0",
"cross-env": "7.0.3",
"cypress": "12.13.0",
diff --git a/packages/frontend/src/components/MkAchievements.vue b/packages/frontend/src/components/MkAchievements.vue
index d30037dcf9..3fdb261dac 100644
--- a/packages/frontend/src/components/MkAchievements.vue
+++ b/packages/frontend/src/components/MkAchievements.vue
@@ -3,7 +3,14 @@
<div v-if="achievements" :class="$style.root">
<div v-for="achievement in achievements" :key="achievement" :class="$style.achievement" class="_panel">
<div :class="$style.icon">
- <div :class="[$style.iconFrame, $style['iconFrame_' + ACHIEVEMENT_BADGES[achievement.name].frame]]">
+ <div
+ :class="[$style.iconFrame, {
+ [$style.iconFrame_bronze]: ACHIEVEMENT_BADGES[achievement.name].frame === 'bronze',
+ [$style.iconFrame_silver]: ACHIEVEMENT_BADGES[achievement.name].frame === 'silver',
+ [$style.iconFrame_gold]: ACHIEVEMENT_BADGES[achievement.name].frame === 'gold',
+ [$style.iconFrame_platinum]: ACHIEVEMENT_BADGES[achievement.name].frame === 'platinum',
+ }]"
+ >
<div :class="[$style.iconInner]" :style="{ background: ACHIEVEMENT_BADGES[achievement.name].bg }">
<img :class="$style.iconImg" :src="ACHIEVEMENT_BADGES[achievement.name].img">
</div>
diff --git a/packages/frontend/src/components/MkAutocomplete.vue b/packages/frontend/src/components/MkAutocomplete.vue
index 1af998dedd..fd892d8174 100644
--- a/packages/frontend/src/components/MkAutocomplete.vue
+++ b/packages/frontend/src/components/MkAutocomplete.vue
@@ -10,7 +10,7 @@
</li>
<li tabindex="-1" :class="$style.item" @click="chooseUser()" @keydown="onKeydown">{{ i18n.ts.selectUser }}</li>
</ol>
- <ol v-else-if="hashtags.length > 0" ref="suggests" :class="[$style.list, $style.hashtags]">
+ <ol v-else-if="hashtags.length > 0" ref="suggests" :class="$style.list">
<li v-for="hashtag in hashtags" tabindex="-1" :class="$style.item" @click="complete(type, hashtag)" @keydown="onKeydown">
<span class="name">{{ hashtag }}</span>
</li>
diff --git a/packages/frontend/src/components/MkButton.vue b/packages/frontend/src/components/MkButton.vue
index 6de6a4cc70..16e44ec618 100644
--- a/packages/frontend/src/components/MkButton.vue
+++ b/packages/frontend/src/components/MkButton.vue
@@ -7,7 +7,7 @@
@click="emit('click', $event)"
@mousedown="onMousedown"
>
- <div ref="ripples" :class="$style.ripples"></div>
+ <div ref="ripples" :class="$style.ripples" :data-children-class="$style.ripple"></div>
<div :class="$style.content">
<slot></slot>
</div>
@@ -18,7 +18,7 @@
:to="to"
@mousedown="onMousedown"
>
- <div ref="ripples" :class="$style.ripples"></div>
+ <div ref="ripples" :class="$style.ripples" :data-children-class="$style.ripple"></div>
<div :class="$style.content">
<slot></slot>
</div>
@@ -26,9 +26,7 @@
</template>
<script lang="ts" setup>
-import { nextTick, onMounted, useCssModule } from 'vue';
-
-const $style = useCssModule();
+import { nextTick, onMounted } from 'vue';
const props = defineProps<{
type?: 'button' | 'submit' | 'reset';
@@ -81,7 +79,7 @@ function onMousedown(evt: MouseEvent): void {
const rect = target.getBoundingClientRect();
const ripple = document.createElement('div');
- ripple.classList.add($style.ripple);
+ ripple.classList.add(ripples!.dataset.childrenClass!);
ripple.style.top = (evt.clientY - rect.top - 1).toString() + 'px';
ripple.style.left = (evt.clientX - rect.left - 1).toString() + 'px';
diff --git a/packages/frontend/src/components/MkClickerGame.vue b/packages/frontend/src/components/MkClickerGame.vue
index da6439fd2c..a6ab5aded4 100644
--- a/packages/frontend/src/components/MkClickerGame.vue
+++ b/packages/frontend/src/components/MkClickerGame.vue
@@ -3,7 +3,7 @@
<div v-if="game.ready" :class="$style.game">
<div :class="$style.cps" class="">{{ number(cps) }}cps</div>
<div :class="$style.count" class=""><i class="ti ti-cookie" style="font-size: 70%;"></i> {{ number(cookies) }}</div>
- <button v-click-anime class="_button" :class="$style.button" @click="onClick">
+ <button v-click-anime class="_button" @click="onClick">
<img src="/client-assets/cookie.png" :class="$style.img">
</button>
</div>
@@ -84,10 +84,6 @@ onUnmounted(() => {
margin-bottom: 6px;
}
-.button {
-
-}
-
.img {
max-width: 90px;
}
diff --git a/packages/frontend/src/components/MkContainer.vue b/packages/frontend/src/components/MkContainer.vue
index f7cc697d67..af1c57b349 100644
--- a/packages/frontend/src/components/MkContainer.vue
+++ b/packages/frontend/src/components/MkContainer.vue
@@ -1,5 +1,5 @@
<template>
-<div ref="rootEl" class="_panel" :class="[$style.root, { [$style.naked]: naked, [$style.thin]: thin, [$style.hideHeader]: !showHeader, [$style.scrollable]: scrollable, [$style.closed]: !showBody }]">
+<div ref="rootEl" class="_panel" :class="[$style.root, { [$style.naked]: naked, [$style.thin]: thin, [$style.scrollable]: scrollable }]">
<header v-if="showHeader" ref="headerEl" :class="$style.header">
<div :class="$style.title">
<span :class="$style.titleIcon"><slot name="icon"></slot></span>
diff --git a/packages/frontend/src/components/MkDateSeparatedList.vue b/packages/frontend/src/components/MkDateSeparatedList.vue
index d6303f9675..6942a0e6c3 100644
--- a/packages/frontend/src/components/MkDateSeparatedList.vue
+++ b/packages/frontend/src/components/MkDateSeparatedList.vue
@@ -36,7 +36,7 @@ export default defineComponent({
},
setup(props, { slots, expose }) {
- const $style = useCssModule();
+ const $style = useCssModule(); // カスタムレンダラなので使っても大丈夫
function getDateText(time: string) {
const date = new Date(time).getDate();
const month = new Date(time).getMonth() + 1;
diff --git a/packages/frontend/src/components/MkDialog.vue b/packages/frontend/src/components/MkDialog.vue
index bd4da6c545..4d5df0bba4 100644
--- a/packages/frontend/src/components/MkDialog.vue
+++ b/packages/frontend/src/components/MkDialog.vue
@@ -4,7 +4,15 @@
<div v-if="icon" :class="$style.icon">
<i :class="icon"></i>
</div>
- <div v-else-if="!input && !select" :class="[$style.icon, $style['type_' + type]]">
+ <div
+ v-else-if="!input && !select"
+ :class="[$style.icon, {
+ [$style.type_success]: type === 'success',
+ [$style.type_error]: type === 'error',
+ [$style.type_warning]: type === 'warning',
+ [$style.type_info]: type === 'info',
+ }]"
+ >
<i v-if="type === 'success'" :class="$style.iconInner" class="ti ti-check"></i>
<i v-else-if="type === 'error'" :class="$style.iconInner" class="ti ti-circle-x"></i>
<i v-else-if="type === 'warning'" :class="$style.iconInner" class="ti ti-alert-triangle"></i>
diff --git a/packages/frontend/src/components/MkFolder.vue b/packages/frontend/src/components/MkFolder.vue
index 526f5e94ea..70f0cc5cda 100644
--- a/packages/frontend/src/components/MkFolder.vue
+++ b/packages/frontend/src/components/MkFolder.vue
@@ -5,7 +5,7 @@
<div :class="[$style.header, { [$style.opened]: opened }]" class="_button" role="button" data-cy-folder-header @click="toggle">
<div :class="$style.headerIcon"><slot name="icon"></slot></div>
<div :class="$style.headerText">
- <div :class="$style.headerTextMain">
+ <div>
<MkCondensedLine :minScale="2 / 3"><slot name="label"></slot></MkCondensedLine>
</div>
<div :class="$style.headerTextSub">
@@ -185,10 +185,6 @@ onMounted(() => {
padding-right: 12px;
}
-.headerTextMain {
-
-}
-
.headerTextSub {
color: var(--fgTransparentWeak);
font-size: .85em;
diff --git a/packages/frontend/src/components/MkImgWithBlurhash.vue b/packages/frontend/src/components/MkImgWithBlurhash.vue
index 38406cc0be..3750dacddc 100644
--- a/packages/frontend/src/components/MkImgWithBlurhash.vue
+++ b/packages/frontend/src/components/MkImgWithBlurhash.vue
@@ -3,7 +3,7 @@
<TransitionGroup
:duration="defaultStore.state.animation && props.transition?.duration || undefined"
:enterActiveClass="defaultStore.state.animation && props.transition?.enterActiveClass || undefined"
- :leaveActiveClass="defaultStore.state.animation && (props.transition?.leaveActiveClass ?? $style['transition_leaveActive']) || undefined"
+ :leaveActiveClass="defaultStore.state.animation && (props.transition?.leaveActiveClass ?? $style.transition_leaveActive) || undefined"
:enterFromClass="defaultStore.state.animation && props.transition?.enterFromClass || undefined"
:leaveToClass="defaultStore.state.animation && props.transition?.leaveToClass || undefined"
:enterToClass="defaultStore.state.animation && props.transition?.enterToClass || undefined"
@@ -42,11 +42,10 @@ const workerPromise = new Promise<WorkerMultiDispatch | null>(resolve => {
</script>
<script lang="ts" setup>
-import { computed, nextTick, onMounted, onUnmounted, shallowRef, useCssModule, watch } from 'vue';
+import { computed, nextTick, onMounted, onUnmounted, shallowRef, watch } from 'vue';
import { v4 as uuid } from 'uuid';
import { render } from 'buraha';
import { defaultStore } from '@/store';
-const $style = useCssModule();
const props = withDefaults(defineProps<{
transition?: {
diff --git a/packages/frontend/src/components/MkMediaList.vue b/packages/frontend/src/components/MkMediaList.vue
index 0f41ef248f..a0a2450054 100644
--- a/packages/frontend/src/components/MkMediaList.vue
+++ b/packages/frontend/src/components/MkMediaList.vue
@@ -6,8 +6,11 @@
ref="gallery"
:class="[
$style.medias,
- count <= 4 ? $style['n' + count] : $style.nMany,
- $style[`n1${defaultStore.reactiveState.mediaListWithOneImageAppearance.value}`]
+ count === 1 ? [$style.n1, {
+ [$style.n116_9]: defaultStore.reactiveState.mediaListWithOneImageAppearance.value === '16_9',
+ [$style.n11_1]: defaultStore.reactiveState.mediaListWithOneImageAppearance.value === '1_1',
+ [$style.n12_3]: defaultStore.reactiveState.mediaListWithOneImageAppearance.value === '2_3',
+ }] : count === 2 ? $style.n2 : count === 3 ? $style.n3 : count === 4 ? $style.n4 : $style.nMany,
]"
>
<template v-for="media in mediaList.filter(media => previewable(media))">
@@ -20,7 +23,7 @@
</template>
<script lang="ts" setup>
-import { onMounted, ref, useCssModule, watch, shallowRef } from 'vue';
+import { onMounted, watch, shallowRef } from 'vue';
import * as misskey from 'misskey-js';
import PhotoSwipeLightbox from 'photoswipe/lightbox';
import PhotoSwipe from 'photoswipe';
@@ -37,8 +40,6 @@ const props = defineProps<{
raw?: boolean;
}>();
-const $style = useCssModule();
-
const gallery = shallowRef<HTMLDivElement>();
const pswpZIndex = os.claimZIndex('middle');
document.documentElement.style.setProperty('--mk-pswp-root-z-index', pswpZIndex.toString());
@@ -96,7 +97,7 @@ onMounted(() => {
return item;
}),
gallery: gallery.value,
- mainClass: $style.pswp,
+ mainClass: 'pswp',
children: '.image',
thumbSelector: '.image',
loop: false,
@@ -268,7 +269,7 @@ const previewable = (file: misskey.entities.DriveFile): boolean => {
border-radius: 8px;
}
-.pswp {
+:global(.pswp) {
--pswp-root-z-index: var(--mk-pswp-root-z-index, 2000700) !important;
--pswp-bg: var(--modalBg) !important;
}
diff --git a/packages/frontend/src/components/MkMention.vue b/packages/frontend/src/components/MkMention.vue
index 481c3710ca..bb256c394b 100644
--- a/packages/frontend/src/components/MkMention.vue
+++ b/packages/frontend/src/components/MkMention.vue
@@ -2,7 +2,7 @@
<MkA v-user-preview="canonical" :class="[$style.root, { [$style.isMe]: isMe }]" :to="url" :style="{ background: bgCss }">
<img :class="$style.icon" :src="`/avatar/@${username}@${host}`" alt="">
<span>
- <span :class="$style.username">@{{ username }}</span>
+ <span>@{{ username }}</span>
<span v-if="(host != localHost) || defaultStore.state.showFullAcct" :class="$style.host">@{{ toUnicode(host) }}</span>
</span>
</MkA>
diff --git a/packages/frontend/src/components/MkMenu.vue b/packages/frontend/src/components/MkMenu.vue
index 2697e3e21a..7dd6a8c88f 100644
--- a/packages/frontend/src/components/MkMenu.vue
+++ b/packages/frontend/src/components/MkMenu.vue
@@ -49,7 +49,7 @@
<span>{{ i18n.ts.none }}</span>
</span>
</div>
- <div v-if="childMenu" :class="$style.child">
+ <div v-if="childMenu">
<XChild ref="child" :items="childMenu" :targetElement="childTarget" :rootElement="itemsEl" showing @actioned="childActioned"/>
</div>
</div>
diff --git a/packages/frontend/src/components/MkModal.vue b/packages/frontend/src/components/MkModal.vue
index b9ce6de697..bb5c6c7aab 100644
--- a/packages/frontend/src/components/MkModal.vue
+++ b/packages/frontend/src/components/MkModal.vue
@@ -1,10 +1,30 @@
<template>
<Transition
:name="transitionName"
- :enterActiveClass="$style['transition_' + transitionName + '_enterActive']"
- :leaveActiveClass="$style['transition_' + transitionName + '_leaveActive']"
- :enterFromClass="$style['transition_' + transitionName + '_enterFrom']"
- :leaveToClass="$style['transition_' + transitionName + '_leaveTo']"
+ :enterActiveClass="normalizeClass({
+ [$style.transition_modalDrawer_enterActive]: transitionName === 'modal-drawer',
+ [$style.transition_modalPopup_enterActive]: transitionName === 'modal-popup',
+ [$style.transition_modal_enterActive]: transitionName === 'modal',
+ [$style.transition_send_enterActive]: transitionName === 'send',
+ })"
+ :leaveActiveClass="normalizeClass({
+ [$style.transition_modalDrawer_leaveActive]: transitionName === 'modal-drawer',
+ [$style.transition_modalPopup_leaveActive]: transitionName === 'modal-popup',
+ [$style.transition_modal_leaveActive]: transitionName === 'modal',
+ [$style.transition_send_leaveActive]: transitionName === 'send',
+ })"
+ :enterFromClass="normalizeClass({
+ [$style.transition_modalDrawer_enterFrom]: transitionName === 'modal-drawer',
+ [$style.transition_modalPopup_enterFrom]: transitionName === 'modal-popup',
+ [$style.transition_modal_enterFrom]: transitionName === 'modal',
+ [$style.transition_send_enterFrom]: transitionName === 'send',
+ })"
+ :leaveToClass="normalizeClass({
+ [$style.transition_modalDrawer_leaveTo]: transitionName === 'modal-drawer',
+ [$style.transition_modalPopup_leaveTo]: transitionName === 'modal-popup',
+ [$style.transition_modal_leaveTo]: transitionName === 'modal',
+ [$style.transition_send_leaveTo]: transitionName === 'send',
+ })"
:duration="transitionDuration" appear @afterLeave="emit('closed')" @enter="emit('opening')" @afterEnter="onOpened"
>
<div v-show="manualShowing != null ? manualShowing : showing" v-hotkey.global="keymap" :class="[$style.root, { [$style.drawer]: type === 'drawer', [$style.dialog]: type === 'dialog', [$style.popup]: type === 'popup' }]" :style="{ zIndex, pointerEvents: (manualShowing != null ? manualShowing : showing) ? 'auto' : 'none', '--transformOrigin': transformOrigin }">
@@ -17,7 +37,7 @@
</template>
<script lang="ts" setup>
-import { nextTick, onMounted, watch, provide, onUnmounted } from 'vue';
+import { nextTick, normalizeClass, onMounted, onUnmounted, provide, watch } from 'vue';
import * as os from '@/os';
import { isTouchUsing } from '@/scripts/touch';
import { defaultStore } from '@/store';
@@ -345,8 +365,8 @@ defineExpose({
}
}
-.transition_modal-popup_enterActive,
-.transition_modal-popup_leaveActive {
+.transition_modalPopup_enterActive,
+.transition_modalPopup_leaveActive {
> .bg {
transition: opacity 0.1s !important;
}
@@ -356,8 +376,8 @@ defineExpose({
transition: opacity 0.1s cubic-bezier(0, 0, 0.2, 1), transform 0.1s cubic-bezier(0, 0, 0.2, 1) !important;
}
}
-.transition_modal-popup_enterFrom,
-.transition_modal-popup_leaveTo {
+.transition_modalPopup_enterFrom,
+.transition_modalPopup_leaveTo {
> .bg {
opacity: 0;
}
@@ -370,7 +390,7 @@ defineExpose({
}
}
-.transition_modal-drawer_enterActive {
+.transition_modalDrawer_enterActive {
> .bg {
transition: opacity 0.2s !important;
}
@@ -379,7 +399,7 @@ defineExpose({
transition: transform 0.2s cubic-bezier(0,.5,0,1) !important;
}
}
-.transition_modal-drawer_leaveActive {
+.transition_modalDrawer_leaveActive {
> .bg {
transition: opacity 0.2s !important;
}
@@ -388,8 +408,8 @@ defineExpose({
transition: transform 0.2s cubic-bezier(0,.5,0,1) !important;
}
}
-.transition_modal-drawer_enterFrom,
-.transition_modal-drawer_leaveTo {
+.transition_modalDrawer_enterFrom,
+.transition_modalDrawer_leaveTo {
> .bg {
opacity: 0;
}
diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue
index 30ec9123bb..2483204d4c 100644
--- a/packages/frontend/src/components/MkNote.vue
+++ b/packages/frontend/src/components/MkNote.vue
@@ -44,8 +44,8 @@
<div v-if="appearNote.channel" :class="$style.colorBar" :style="{ background: appearNote.channel.color }"></div>
<MkAvatar :class="$style.avatar" :user="appearNote.user" link preview/>
<div :class="$style.main">
- <MkNoteHeader :class="$style.header" :note="appearNote" :mini="true"/>
- <MkInstanceTicker v-if="showTicker" :class="$style.ticker" :instance="appearNote.user.instance"/>
+ <MkNoteHeader :note="appearNote" :mini="true"/>
+ <MkInstanceTicker v-if="showTicker" :instance="appearNote.user.instance"/>
<div style="container-type: inline-size;">
<p v-if="appearNote.cw != null" :class="$style.cw">
<Mfm v-if="appearNote.cw != ''" style="margin-right: 8px;" :text="appearNote.cw" :author="appearNote.user" :i="$i"/>
@@ -58,13 +58,13 @@
<Mfm v-if="appearNote.text" :text="appearNote.text" :author="appearNote.user" :i="$i" :emojiUrls="appearNote.emojis"/>
<div v-if="translating || translation" :class="$style.translation">
<MkLoading v-if="translating" mini/>
- <div v-else :class="$style.translated">
+ <div v-else>
<b>{{ i18n.t('translatedFrom', { x: translation.sourceLang }) }}: </b>
<Mfm :text="translation.text" :author="appearNote.user" :i="$i" :emojiUrls="appearNote.emojis"/>
</div>
</div>
</div>
- <div v-if="appearNote.files.length > 0" :class="$style.files">
+ <div v-if="appearNote.files.length > 0">
<MkMediaList :mediaList="appearNote.files"/>
</div>
<MkPoll v-if="appearNote.poll" :note="appearNote" :class="$style.poll"/>
diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue
index 19aa73127b..a65039277b 100644
--- a/packages/frontend/src/components/MkNoteDetailed.vue
+++ b/packages/frontend/src/components/MkNoteDetailed.vue
@@ -52,7 +52,7 @@
</div>
</div>
<div :class="$style.noteHeaderUsername"><MkAcct :user="appearNote.user"/></div>
- <MkInstanceTicker v-if="showTicker" :class="$style.ticker" :instance="appearNote.user.instance"/>
+ <MkInstanceTicker v-if="showTicker" :instance="appearNote.user.instance"/>
</div>
</header>
<div :class="$style.noteContent">
@@ -72,7 +72,7 @@
<Mfm :text="translation.text" :author="appearNote.user" :i="$i" :emojiUrls="appearNote.emojis"/>
</div>
</div>
- <div v-if="appearNote.files.length > 0" :class="$style.files">
+ <div v-if="appearNote.files.length > 0">
<MkMediaList :mediaList="appearNote.files"/>
</div>
<MkPoll v-if="appearNote.poll" ref="pollViewer" :note="appearNote" :class="$style.poll"/>
diff --git a/packages/frontend/src/components/MkNotePreview.vue b/packages/frontend/src/components/MkNotePreview.vue
index 6b55c27869..6786f8b256 100644
--- a/packages/frontend/src/components/MkNotePreview.vue
+++ b/packages/frontend/src/components/MkNotePreview.vue
@@ -6,7 +6,7 @@
<MkUserName :user="$i" :nowrap="true"/>
</div>
<div>
- <div :class="$style.content">
+ <div>
<Mfm :text="text.trim()" :author="$i" :i="$i"/>
</div>
</div>
diff --git a/packages/frontend/src/components/MkNotification.vue b/packages/frontend/src/components/MkNotification.vue
index b4c424e79e..d25332b10f 100644
--- a/packages/frontend/src/components/MkNotification.vue
+++ b/packages/frontend/src/components/MkNotification.vue
@@ -5,7 +5,19 @@
<MkAvatar v-else-if="notification.type === 'achievementEarned'" :class="$style.icon" :user="$i" link preview/>
<MkAvatar v-else-if="notification.user" :class="$style.icon" :user="notification.user" link preview/>
<img v-else-if="notification.icon" :class="$style.icon" :src="notification.icon" alt=""/>
- <div :class="[$style.subIcon, $style['t_' + notification.type]]">
+ <div
+ :class="[$style.subIcon, {
+ [$style.t_follow]: notification.type === 'follow',
+ [$style.t_followRequestAccepted]: notification.type === 'followRequestAccepted',
+ [$style.t_receiveFollowRequest]: notification.type === 'receiveFollowRequest',
+ [$style.t_renote]: notification.type === 'renote',
+ [$style.t_reply]: notification.type === 'reply',
+ [$style.t_mention]: notification.type === 'mention',
+ [$style.t_quote]: notification.type === 'quote',
+ [$style.t_pollEnded]: notification.type === 'pollEnded',
+ [$style.t_achievementEarned]: notification.type === 'achievementEarned',
+ }]"
+ >
<i v-if="notification.type === 'follow'" class="ti ti-plus"></i>
<i v-else-if="notification.type === 'receiveFollowRequest'" class="ti ti-clock"></i>
<i v-else-if="notification.type === 'followRequestAccepted'" class="ti ti-check"></i>
@@ -34,7 +46,7 @@
<span v-else>{{ notification.header }}</span>
<MkTime v-if="withTime" :time="notification.createdAt" :class="$style.headerTime"/>
</header>
- <div :class="$style.content">
+ <div>
<MkA v-if="notification.type === 'reaction'" :class="$style.text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
<i class="ti ti-quote" :class="$style.quote"></i>
<Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="true" :author="notification.note.user"/>
@@ -243,9 +255,6 @@ useTooltip(reactionRef, (showing) => {
font-size: 0.9em;
}
-.content {
-}
-
.text {
display: flex;
width: 100%;
diff --git a/packages/frontend/src/components/MkPoll.vue b/packages/frontend/src/components/MkPoll.vue
index e2ca5603e3..464e340116 100644
--- a/packages/frontend/src/components/MkPoll.vue
+++ b/packages/frontend/src/components/MkPoll.vue
@@ -1,7 +1,7 @@
<template>
<div :class="{ [$style.done]: closed || isVoted }">
<ul :class="$style.choices">
- <li v-for="(choice, i) in note.poll.choices" :key="i" :class="[$style.choice, { [$style.voted]: choice.voted }]" @click="vote(i)">
+ <li v-for="(choice, i) in note.poll.choices" :key="i" :class="$style.choice" @click="vote(i)">
<div :class="$style.bg" :style="{ 'width': `${showResult ? (choice.votes / total * 100) : 0}%` }"></div>
<span :class="$style.fg">
<template v-if="choice.isVoted"><i class="ti ti-check" style="margin-right: 4px; color: var(--accent);"></i></template>
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue
index 731d171178..5c65569683 100644
--- a/packages/frontend/src/components/MkPostForm.vue
+++ b/packages/frontend/src/components/MkPostForm.vue
@@ -27,16 +27,16 @@
<span :class="$style.headerRightButtonText">{{ channel.name }}</span>
</button>
</template>
- <button v-click-anime v-tooltip="i18n.ts._visibility.disableFederation" class="_button" :class="[$style.headerRightItem, $style.localOnly, { [$style.danger]: localOnly }]" :disabled="channel != null || visibility === 'specified'" @click="toggleLocalOnly">
+ <button v-click-anime v-tooltip="i18n.ts._visibility.disableFederation" class="_button" :class="[$style.headerRightItem, { [$style.danger]: localOnly }]" :disabled="channel != null || visibility === 'specified'" @click="toggleLocalOnly">
<span v-if="!localOnly"><i class="ti ti-rocket"></i></span>
<span v-else><i class="ti ti-rocket-off"></i></span>
</button>
- <button v-click-anime v-tooltip="i18n.ts.reactionAcceptance" class="_button" :class="[$style.headerRightItem, $style.reactionAcceptance, { [$style.danger]: reactionAcceptance === 'likeOnly' }]" @click="toggleReactionAcceptance">
+ <button v-click-anime v-tooltip="i18n.ts.reactionAcceptance" class="_button" :class="[$style.headerRightItem, { [$style.danger]: reactionAcceptance === 'likeOnly' }]" @click="toggleReactionAcceptance">
<span v-if="reactionAcceptance === 'likeOnly'"><i class="ti ti-heart"></i></span>
<span v-else-if="reactionAcceptance === 'likeOnlyForRemote'"><i class="ti ti-heart-plus"></i></span>
<span v-else><i class="ti ti-icons"></i></span>
</button>
- <button v-click-anime class="_button" :class="[$style.submit, { [$style.submitPosting]: posting }]" :disabled="!canPost" data-cy-open-post-form-submit @click="post">
+ <button v-click-anime class="_button" :class="$style.submit" :disabled="!canPost" data-cy-open-post-form-submit @click="post">
<div :class="$style.submitInner">
<template v-if="posted"></template>
<template v-else-if="posting"><MkEllipsis/></template>
@@ -66,7 +66,7 @@
<div v-if="maxTextLength - textLength < 100" :class="['_acrylic', $style.textCount, { [$style.textOver]: textLength > maxTextLength }]">{{ maxTextLength - textLength }}</div>
</div>
<input v-show="withHashtags" ref="hashtagsInputEl" v-model="hashtags" :class="$style.hashtags" :placeholder="i18n.ts.hashtags" list="hashtags">
- <XPostFormAttaches v-model="files" :class="$style.attaches" @detach="detachFile" @changeSensitive="updateFileSensitive" @changeName="updateFileName"/>
+ <XPostFormAttaches v-model="files" @detach="detachFile" @changeSensitive="updateFileSensitive" @changeName="updateFileName"/>
<MkPollEditor v-if="poll" v-model="poll" @destroyed="poll = null"/>
<MkNotePreview v-if="showPreview" :class="$style.preview" :text="text"/>
<div v-if="showingOptions" style="padding: 8px 16px;">
diff --git a/packages/frontend/src/components/MkSubNoteContent.vue b/packages/frontend/src/components/MkSubNoteContent.vue
index 5f32391c7e..3a050889c8 100644
--- a/packages/frontend/src/components/MkSubNoteContent.vue
+++ b/packages/frontend/src/components/MkSubNoteContent.vue
@@ -1,6 +1,6 @@
<template>
<div :class="[$style.root, { [$style.collapsed]: collapsed }]">
- <div :class="$style.body">
+ <div>
<span v-if="note.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span>
<span v-if="note.deletedAt" style="opacity: 0.5">({{ i18n.ts.deleted }})</span>
<MkA v-if="note.replyId" :class="$style.reply" :to="`/notes/${note.replyId}`"><i class="ti ti-arrow-back-up"></i></MkA>
@@ -76,10 +76,6 @@ const collapsed = $ref(
}
}
-.body {
-
-}
-
.reply {
margin-right: 6px;
color: var(--accent);
diff --git a/packages/frontend/src/components/MkTextarea.vue b/packages/frontend/src/components/MkTextarea.vue
index f5e6c71b75..83b2ed2444 100644
--- a/packages/frontend/src/components/MkTextarea.vue
+++ b/packages/frontend/src/components/MkTextarea.vue
@@ -6,7 +6,7 @@
ref="inputEl"
v-model="v"
v-adaptive-border
- :class="[$style.textarea, { [$style.code]: code, _monospace: code }]"
+ :class="[$style.textarea, { _monospace: code }]"
:disabled="disabled"
:required="required"
:readonly="readonly"
diff --git a/packages/frontend/src/components/MkUrlPreview.vue b/packages/frontend/src/components/MkUrlPreview.vue
index 23be814322..fcad5b8064 100644
--- a/packages/frontend/src/components/MkUrlPreview.vue
+++ b/packages/frontend/src/components/MkUrlPreview.vue
@@ -22,7 +22,7 @@
</div>
</template>
<template v-else-if="tweetId && tweetExpanded">
- <div ref="twitter" :class="$style.twitter">
+ <div ref="twitter">
<iframe ref="tweet" scrolling="no" frameborder="no" :style="{ position: 'relative', width: '100%', height: `${tweetHeight}px` }" :src="`https://platform.twitter.com/embed/index.html?embedId=${embedId}&amp;hideCard=false&amp;hideThread=false&amp;lang=en&amp;theme=${defaultStore.state.darkMode ? 'dark' : 'light'}&amp;id=${tweetId}`"></iframe>
</div>
<div :class="$style.action">
@@ -31,7 +31,7 @@
</MkButton>
</div>
</template>
-<div v-else :class="$style.urlPreview">
+<div v-else>
<component :is="self ? 'MkA' : 'a'" :class="[$style.link, { [$style.compact]: compact }]" :[attr]="self ? url.substr(local.length) : url" rel="nofollow noopener" :target="target" :title="url">
<div v-if="thumbnail" :class="$style.thumbnail" :style="`background-image: url('${thumbnail}')`">
</div>
@@ -210,13 +210,6 @@ onUnmounted(() => {
width: 100%;
}
-.twitter {
-
-}
-
-.urlPreview {
-}
-
.link {
position: relative;
display: block;
diff --git a/packages/frontend/src/components/MkUserOnlineIndicator.vue b/packages/frontend/src/components/MkUserOnlineIndicator.vue
index 251ab5d79a..a2c2b53b08 100644
--- a/packages/frontend/src/components/MkUserOnlineIndicator.vue
+++ b/packages/frontend/src/components/MkUserOnlineIndicator.vue
@@ -1,5 +1,13 @@
<template>
-<div v-tooltip="text" :class="[$style.root, $style['status_' + user.onlineStatus]]"></div>
+<div
+ v-tooltip="text"
+ :class="[$style.root, {
+ [$style.status_online]: user.onlineStatus === 'online',
+ [$style.status_active]: user.onlineStatus === 'active',
+ [$style.status_offline]: user.onlineStatus === 'offline',
+ [$style.status_unknown]: user.onlineStatus === 'unknown',
+ }]"
+></div>
</template>
<script lang="ts" setup>
diff --git a/packages/frontend/src/components/MkUserSelectDialog.vue b/packages/frontend/src/components/MkUserSelectDialog.vue
index 9ba5d9fc53..792ff7afd7 100644
--- a/packages/frontend/src/components/MkUserSelectDialog.vue
+++ b/packages/frontend/src/components/MkUserSelectDialog.vue
@@ -9,7 +9,7 @@
@closed="$emit('closed')"
>
<template #header>{{ i18n.ts.selectUser }}</template>
- <div :class="$style.root">
+ <div>
<div :class="$style.form">
<FormSplit :minWidth="170">
<MkInput v-model="username" :autofocus="true" @update:modelValue="search">
@@ -126,8 +126,6 @@ onMounted(() => {
</script>
<style lang="scss" module>
-.root {
-}
.form {
padding: 0 var(--root-margin);
diff --git a/packages/frontend/src/components/MkUsersTooltip.vue b/packages/frontend/src/components/MkUsersTooltip.vue
index bed725cd1d..0b80c2edc7 100644
--- a/packages/frontend/src/components/MkUsersTooltip.vue
+++ b/packages/frontend/src/components/MkUsersTooltip.vue
@@ -3,9 +3,9 @@
<div :class="$style.root">
<div v-for="u in users" :key="u.id" :class="$style.user">
<MkAvatar :class="$style.avatar" :user="u"/>
- <MkUserName :class="$style.name" :user="u" :nowrap="true"/>
+ <MkUserName :user="u" :nowrap="true"/>
</div>
- <div v-if="users.length < count" :class="$style.omitted">+{{ count - users.length }}</div>
+ <div v-if="users.length < count">+{{ count - users.length }}</div>
</div>
</MkTooltip>
</template>
@@ -43,14 +43,6 @@ const emit = defineEmits<{
}
}
-.name {
-
-}
-
-.omitted {
-
-}
-
.avatar {
width: 24px;
height: 24px;
diff --git a/packages/frontend/src/components/MkVisitorDashboard.vue b/packages/frontend/src/components/MkVisitorDashboard.vue
index 6226768127..9566cc651f 100644
--- a/packages/frontend/src/components/MkVisitorDashboard.vue
+++ b/packages/frontend/src/components/MkVisitorDashboard.vue
@@ -39,7 +39,7 @@
<MkTimeline src="local"/>
</div>
</div>
- <div :class="[$style.activeUsersChart, $style.panel]">
+ <div :class="$style.panel">
<XActiveUsersChart/>
</div>
</div>
@@ -220,8 +220,4 @@ function exploreOtherServers() {
height: 350px;
overflow: auto;
}
-
-.activeUsersChart {
-
-}
</style>
diff --git a/packages/frontend/src/components/MkWidgets.vue b/packages/frontend/src/components/MkWidgets.vue
index 9fd1d61632..30547c7444 100644
--- a/packages/frontend/src/components/MkWidgets.vue
+++ b/packages/frontend/src/components/MkWidgets.vue
@@ -1,7 +1,7 @@
<template>
<div :class="$style.root">
<template v-if="edit">
- <header :class="$style['edit-header']">
+ <header :class="$style.editHeader">
<MkSelect v-model="widgetAdderSelected" style="margin-bottom: var(--margin)" data-cy-widget-select>
<template #label>{{ i18n.ts.selectWidget }}</template>
<option v-for="widget in widgetDefs" :key="widget" :value="widget">{{ i18n.t(`_widgets.${widget}`) }}</option>
@@ -15,15 +15,15 @@
handle=".handle"
:animation="150"
:group="{ name: 'SortableMkWidgets' }"
- :class="$style['edit-editing']"
+ :class="$style.editEditing"
@update:modelValue="v => emit('updateWidgets', v)"
>
<template #item="{element}">
- <div :class="[$style.widget, $style['customize-container']]" data-cy-customize-container>
- <button :class="$style['customize-container-config']" class="_button" @click.prevent.stop="configWidget(element.id)"><i class="ti ti-settings"></i></button>
- <button :class="$style['customize-container-remove']" data-cy-customize-container-remove class="_button" @click.prevent.stop="removeWidget(element)"><i class="ti ti-x"></i></button>
+ <div :class="[$style.widget, $style.customizeContainer]" data-cy-customize-container>
+ <button :class="$style.customizeContainerConfig" class="_button" @click.prevent.stop="configWidget(element.id)"><i class="ti ti-settings"></i></button>
+ <button :class="$style.customizeContainerRemove" data-cy-customize-container-remove class="_button" @click.prevent.stop="removeWidget(element)"><i class="ti ti-x"></i></button>
<div class="handle">
- <component :is="`widget-${element.name}`" :ref="el => widgetRefs[element.id] = el" class="widget" :class="$style['customize-container-handle-widget']" :widget="element" @updateProps="updateWidget(element.id, $event)"/>
+ <component :is="`widget-${element.name}`" :ref="el => widgetRefs[element.id] = el" class="widget" :class="$style.customizeContainerHandleWidget" :widget="element" @updateProps="updateWidget(element.id, $event)"/>
</div>
</div>
</template>
@@ -130,7 +130,7 @@ function onContextmenu(widget: Widget, ev: MouseEvent) {
}
.edit {
- &-header {
+ &Header {
margin: 16px 0;
> * {
@@ -139,17 +139,17 @@ function onContextmenu(widget: Widget, ev: MouseEvent) {
}
}
- &-editing {
+ &Editing {
min-height: 100px;
}
}
-.customize-container {
+.customizeContainer {
position: relative;
cursor: move;
- &-config,
- &-remove {
+ &Config,
+ &Remove {
position: absolute;
z-index: 10000;
top: 8px;
@@ -160,17 +160,17 @@ function onContextmenu(widget: Widget, ev: MouseEvent) {
border-radius: 4px;
}
- &-config {
+ &Config {
right: 8px + 8px + 32px;
}
- &-remove {
+ &Remove {
right: 8px;
}
- &-handle {
+ &Handle {
- &-widget {
+ &Widget {
pointer-events: none;
}
}
diff --git a/packages/frontend/src/components/form/link.vue b/packages/frontend/src/components/form/link.vue
index e6da039ac5..22b5edc3c9 100644
--- a/packages/frontend/src/components/form/link.vue
+++ b/packages/frontend/src/components/form/link.vue
@@ -5,7 +5,7 @@
<span :class="$style.text"><slot></slot></span>
<span :class="$style.suffix">
<span :class="$style.suffixText"><slot name="suffix"></slot></span>
- <i class="ti ti-external-link" :class="$style.suffixIcon"></i>
+ <i class="ti ti-external-link"></i>
</span>
</a>
<MkA v-else :class="[$style.main, { [$style.active]: active }]" class="_button" :to="to" :behavior="behavior">
@@ -13,7 +13,7 @@
<span :class="$style.text"><slot></slot></span>
<span :class="$style.suffix">
<span :class="$style.suffixText"><slot name="suffix"></slot></span>
- <i class="ti ti-chevron-right" :class="$style.suffixIcon"></i>
+ <i class="ti ti-chevron-right"></i>
</span>
</MkA>
</div>
diff --git a/packages/frontend/src/components/form/slot.vue b/packages/frontend/src/components/form/slot.vue
index 792f664ea0..809d80620f 100644
--- a/packages/frontend/src/components/form/slot.vue
+++ b/packages/frontend/src/components/form/slot.vue
@@ -1,7 +1,7 @@
<template>
<div>
<div :class="$style.label" @click="focus"><slot name="label"></slot></div>
- <div :class="$style.content">
+ <div>
<slot></slot>
</div>
<div :class="$style.caption"><slot name="caption"></slot></div>
diff --git a/packages/frontend/src/components/global/MkAd.vue b/packages/frontend/src/components/global/MkAd.vue
index aa975600f0..8b25ab1b6a 100644
--- a/packages/frontend/src/components/global/MkAd.vue
+++ b/packages/frontend/src/components/global/MkAd.vue
@@ -1,6 +1,14 @@
<template>
<div v-if="chosen && !shouldHide" :class="$style.root">
- <div v-if="!showMenu" :class="[$style.main, $style['form_' + chosen.place]]">
+ <div
+ v-if="!showMenu"
+ :class="[$style.main, {
+ [$style.form_square]: chosen.place === 'square',
+ [$style.form_horizontal]: chosen.place === 'horizontal',
+ [$style.form_horizontalBig]: chosen.place === 'horizontal-big',
+ [$style.form_vertical]: chosen.place === 'vertical',
+ }]"
+ >
<a :href="chosen.url" target="_blank" :class="$style.link">
<img :src="chosen.imageUrl" :class="$style.img">
<button class="_button" :class="$style.i" @click.prevent.stop="toggleMenu"><i :class="$style.iIcon" class="ti ti-info-circle"></i></button>
@@ -122,7 +130,7 @@ function reduceFrequency(): void {
}
}
- &.form_horizontal-big {
+ &.form_horizontalBig {
padding: 8px;
> .link,
diff --git a/packages/frontend/src/components/global/MkUrl.vue b/packages/frontend/src/components/global/MkUrl.vue
index 2a92780306..c1efd9a06b 100644
--- a/packages/frontend/src/components/global/MkUrl.vue
+++ b/packages/frontend/src/components/global/MkUrl.vue
@@ -6,7 +6,7 @@
<template v-if="!self">
<span :class="$style.schema">{{ schema }}//</span>
<span :class="$style.hostname">{{ hostname }}</span>
- <span v-if="port != ''" :class="$style.port">:{{ port }}</span>
+ <span v-if="port != ''">:{{ port }}</span>
</template>
<template v-if="pathname === '/' && self">
<span :class="$style.self">{{ hostname }}</span>
diff --git a/packages/frontend/src/components/page/page.section.vue b/packages/frontend/src/components/page/page.section.vue
index 9f79ecc833..83a16ae0a5 100644
--- a/packages/frontend/src/components/page/page.section.vue
+++ b/packages/frontend/src/components/page/page.section.vue
@@ -1,6 +1,15 @@
<template>
<section>
- <component :is="'h' + h" :class="h < 5 ? $style['h' + h] : null">{{ block.title }}</component>
+ <component
+ :is="'h' + h"
+ :class="{
+ 'h2': h === 2,
+ 'h3': h === 3,
+ 'h4': h === 4,
+ }"
+ >
+ {{ block.title }}
+ </component>
<div class="_gaps">
<XBlock v-for="child in block.children" :key="child.id" :page="page" :block="child" :h="h + 1"/>
diff --git a/packages/frontend/src/pages/admin/RolesEditorFormula.vue b/packages/frontend/src/pages/admin/RolesEditorFormula.vue
index 36e3c32391..9530b27bad 100644
--- a/packages/frontend/src/pages/admin/RolesEditorFormula.vue
+++ b/packages/frontend/src/pages/admin/RolesEditorFormula.vue
@@ -1,5 +1,5 @@
<template>
-<div :class="$style.root" class="_gaps">
+<div class="_gaps">
<div :class="$style.header">
<MkSelect v-model="type" :class="$style.typeSelect">
<option value="isLocal">{{ i18n.ts._role._condition.isLocal }}</option>
@@ -24,7 +24,7 @@
</button>
</div>
- <div v-if="type === 'and' || type === 'or'" :class="$style.values" class="_gaps">
+ <div v-if="type === 'and' || type === 'or'" class="_gaps">
<Sortable v-model="v.values" tag="div" class="_gaps" itemKey="id" handle=".drag-handle" :group="{ name: 'roleFormula' }" :animation="150" :swapThreshold="0.5">
<template #item="{element}">
<div :class="$style.item">
@@ -118,10 +118,6 @@ function removeSelf() {
</script>
<style lang="scss" module>
-.root {
-
-}
-
.header {
display: flex;
}
@@ -148,8 +144,4 @@ function removeSelf() {
border-color: var(--accent);
}
}
-
-.values {
-
-}
</style>
diff --git a/packages/frontend/src/pages/admin/queue.chart.vue b/packages/frontend/src/pages/admin/queue.chart.vue
index 3ad8324d63..8e6856fddd 100644
--- a/packages/frontend/src/pages/admin/queue.chart.vue
+++ b/packages/frontend/src/pages/admin/queue.chart.vue
@@ -28,8 +28,8 @@
<template #icon><i class="ti ti-alert-triangle"></i></template>
<template #label>Errored instances</template>
<template #suffix>({{ number(jobs.reduce((a, b) => a + b[1], 0)) }} jobs)</template>
-
- <div :class="$style.jobs">
+
+ <div>
<div v-if="jobs.length > 0">
<div v-for="job in jobs" :key="job[0]">
<MkA :to="`/instance-info/${job[0]}`" behavior="window">{{ job[0] }}</MkA>
@@ -150,7 +150,4 @@ onUnmounted(() => {
font-size: 80%;
opacity: 0.6;
}
-
-.jobs {
-}
</style>
diff --git a/packages/frontend/src/pages/admin/server-rules.vue b/packages/frontend/src/pages/admin/server-rules.vue
index 2e4aba5fe4..fdba4f464e 100644
--- a/packages/frontend/src/pages/admin/server-rules.vue
+++ b/packages/frontend/src/pages/admin/server-rules.vue
@@ -27,7 +27,7 @@
</Sortable>
<div :class="$style.commands">
<MkButton rounded @click="serverRules.push('')"><i class="ti ti-plus"></i> {{ i18n.ts.add }}</MkButton>
- <MkButton primary rounded :class="$style.buttonSave" @click="save"><i class="ti ti-check"></i> {{ i18n.ts.save }}</MkButton>
+ <MkButton primary rounded @click="save"><i class="ti ti-check"></i> {{ i18n.ts.save }}</MkButton>
</div>
</div>
</MkSpacer>
diff --git a/packages/frontend/src/pages/settings/preferences-backups.vue b/packages/frontend/src/pages/settings/preferences-backups.vue
index 86f633c445..e34901cd11 100644
--- a/packages/frontend/src/pages/settings/preferences-backups.vue
+++ b/packages/frontend/src/pages/settings/preferences-backups.vue
@@ -32,7 +32,7 @@
</template>
<script lang="ts" setup>
-import { computed, onMounted, onUnmounted, useCssModule } from 'vue';
+import { computed, onMounted, onUnmounted } from 'vue';
import { v4 as uuid } from 'uuid';
import FormSection from '@/components/form/section.vue';
import MkButton from '@/components/MkButton.vue';
@@ -48,8 +48,6 @@ import { definePageMetadata } from '@/scripts/page-metadata';
import { miLocalStorage } from '@/local-storage';
const { t, ts } = i18n;
-useCssModule();
-
const defaultStoreSaveKeys: (keyof typeof defaultStore['state'])[] = [
'menu',
'visibility',
diff --git a/packages/frontend/src/pages/settings/profile.vue b/packages/frontend/src/pages/settings/profile.vue
index 11e891b784..58217d0475 100644
--- a/packages/frontend/src/pages/settings/profile.vue
+++ b/packages/frontend/src/pages/settings/profile.vue
@@ -3,7 +3,7 @@
<div :class="$style.avatarAndBanner" :style="{ backgroundImage: $i.bannerUrl ? `url(${ $i.bannerUrl })` : null }">
<div :class="$style.avatarContainer">
<MkAvatar :class="$style.avatar" :user="$i" @click="changeAvatar"/>
- <MkButton primary rounded :class="$style.avatarEdit" @click="changeAvatar">{{ i18n.ts._profile.changeAvatar }}</MkButton>
+ <MkButton primary rounded @click="changeAvatar">{{ i18n.ts._profile.changeAvatar }}</MkButton>
</div>
<MkButton primary rounded :class="$style.bannerEdit" @click="changeBanner">{{ i18n.ts._profile.changeBanner }}</MkButton>
</div>
@@ -271,10 +271,6 @@ definePageMetadata({
margin: 0 auto 16px auto;
}
-.avatarEdit {
-
-}
-
.bannerEdit {
position: absolute;
top: 16px;
diff --git a/packages/frontend/src/pages/signup-complete.vue b/packages/frontend/src/pages/signup-complete.vue
index 2700601c44..61d7eb24fd 100644
--- a/packages/frontend/src/pages/signup-complete.vue
+++ b/packages/frontend/src/pages/signup-complete.vue
@@ -1,5 +1,5 @@
<template>
-<div :class="$style.root">
+<div>
<MkAnimBg style="position: fixed; top: 0;"/>
<div :class="$style.formContainer">
<form :class="$style.form" class="_panel" @submit.prevent="submit()">
@@ -53,9 +53,6 @@ function submit() {
</script>
<style lang="scss" module>
-.root {
-}
-
.formContainer {
min-height: 100svh;
padding: 32px 32px 64px 32px;
diff --git a/packages/frontend/src/pages/welcome.setup.vue b/packages/frontend/src/pages/welcome.setup.vue
index 5a68292b1b..2081cb9c93 100644
--- a/packages/frontend/src/pages/welcome.setup.vue
+++ b/packages/frontend/src/pages/welcome.setup.vue
@@ -1,5 +1,5 @@
<template>
-<div :class="$style.root">
+<div>
<MkAnimBg style="position: fixed; top: 0;"/>
<div :class="$style.formContainer">
<form :class="$style.form" class="_panel" @submit.prevent="submit()">
@@ -64,9 +64,6 @@ function submit() {
</script>
<style lang="scss" module>
-.root {
-}
-
.formContainer {
min-height: 100svh;
padding: 32px 32px 64px 32px;
diff --git a/packages/frontend/src/pages/welcome.timeline.vue b/packages/frontend/src/pages/welcome.timeline.vue
index 46a0775579..a93d103d4f 100644
--- a/packages/frontend/src/pages/welcome.timeline.vue
+++ b/packages/frontend/src/pages/welcome.timeline.vue
@@ -3,7 +3,7 @@
<div ref="scrollEl" :class="[$style.scrollbox, { [$style.scroll]: isScrolling }]">
<div v-for="note in notes" :key="note.id" :class="$style.note">
<div class="_panel" :class="$style.content">
- <div :class="$style.body">
+ <div>
<MkA v-if="note.replyId" class="reply" :to="`/notes/${note.replyId}`"><i class="ti ti-arrow-back-up"></i></MkA>
<Mfm v-if="note.text" :text="note.text" :author="note.user" :i="$i"/>
<MkA v-if="note.renoteId" class="rp" :to="`/notes/${note.renoteId}`">RN: ...</MkA>
diff --git a/packages/frontend/src/ui/_common_/common.vue b/packages/frontend/src/ui/_common_/common.vue
index 4600d2af8e..3b970eefbe 100644
--- a/packages/frontend/src/ui/_common_/common.vue
+++ b/packages/frontend/src/ui/_common_/common.vue
@@ -10,7 +10,15 @@
<XUpload v-if="uploads.length > 0"/>
<TransitionGroup
- tag="div" :class="[$style.notifications, $style[`notificationsPosition-${defaultStore.state.notificationPosition}`], $style[`notificationsStackAxis-${defaultStore.state.notificationStackAxis}`]]"
+ tag="div"
+ :class="[$style.notifications, {
+ [$style.notificationsPosition_leftTop]: defaultStore.state.notificationPosition === 'leftTop',
+ [$style.notificationsPosition_leftBottom]: defaultStore.state.notificationPosition === 'leftBottom',
+ [$style.notificationsPosition_rightTop]: defaultStore.state.notificationPosition === 'rightTop',
+ [$style.notificationsPosition_rightBottom]: defaultStore.state.notificationPosition === 'rightBottom',
+ [$style.notificationsStackAxis_vertical]: defaultStore.state.notificationStackAxis === 'vertical',
+ [$style.notificationsStackAxis_horizontal]: defaultStore.state.notificationStackAxis === 'horizontal',
+ }]"
:moveClass="defaultStore.state.animation ? $style.transition_notification_move : ''"
:enterActiveClass="defaultStore.state.animation ? $style.transition_notification_enterActive : ''"
:leaveActiveClass="defaultStore.state.animation ? $style.transition_notification_leaveActive : ''"
@@ -103,31 +111,31 @@ if ($i) {
pointer-events: none;
display: flex;
- &.notificationsPosition-leftTop {
+ &.notificationsPosition_leftTop {
top: var(--margin);
left: 0;
}
- &.notificationsPosition-rightTop {
+ &.notificationsPosition_rightTop {
top: var(--margin);
right: 0;
}
- &.notificationsPosition-leftBottom {
+ &.notificationsPosition_leftBottom {
bottom: calc(var(--minBottomSpacing) + var(--margin));
left: 0;
}
- &.notificationsPosition-rightBottom {
+ &.notificationsPosition_rightBottom {
bottom: calc(var(--minBottomSpacing) + var(--margin));
right: 0;
}
- &.notificationsStackAxis-vertical {
+ &.notificationsStackAxis_vertical {
width: 250px;
- &.notificationsPosition-leftTop,
- &.notificationsPosition-rightTop {
+ &.notificationsPosition_leftTop,
+ &.notificationsPosition_rightTop {
flex-direction: column;
.notification {
@@ -137,8 +145,8 @@ if ($i) {
}
}
- &.notificationsPosition-leftBottom,
- &.notificationsPosition-rightBottom {
+ &.notificationsPosition_leftBottom,
+ &.notificationsPosition_rightBottom {
flex-direction: column-reverse;
.notification {
@@ -149,11 +157,11 @@ if ($i) {
}
}
- &.notificationsStackAxis-horizontal {
+ &.notificationsStackAxis_horizontal {
width: 100%;
- &.notificationsPosition-leftTop,
- &.notificationsPosition-leftBottom {
+ &.notificationsPosition_leftTop,
+ &.notificationsPosition_leftBottom {
flex-direction: row;
.notification {
@@ -163,8 +171,8 @@ if ($i) {
}
}
- &.notificationsPosition-rightTop,
- &.notificationsPosition-rightBottom {
+ &.notificationsPosition_rightTop,
+ &.notificationsPosition_rightBottom {
flex-direction: row-reverse;
.notification {
diff --git a/packages/frontend/src/ui/_common_/statusbar-federation.vue b/packages/frontend/src/ui/_common_/statusbar-federation.vue
index 4ea84c82c2..6f2e4bc9a7 100644
--- a/packages/frontend/src/ui/_common_/statusbar-federation.vue
+++ b/packages/frontend/src/ui/_common_/statusbar-federation.vue
@@ -14,7 +14,7 @@
<MkA :to="`/instance-info/${instance.host}`" :class="$style.host" class="_monospace">
{{ instance.host }}
</MkA>
- <span :class="$style.divider"></span>
+ <span></span>
</span>
</MarqueeText>
</Transition>
diff --git a/packages/frontend/src/ui/_common_/statusbars.vue b/packages/frontend/src/ui/_common_/statusbars.vue
index bb245c7dd8..3533972cdf 100644
--- a/packages/frontend/src/ui/_common_/statusbars.vue
+++ b/packages/frontend/src/ui/_common_/statusbars.vue
@@ -4,7 +4,6 @@
v-for="x in defaultStore.reactiveState.statusbars.value" :key="x.id" :class="[$style.item, { [$style.black]: x.black,
[$style.verySmall]: x.size === 'verySmall',
[$style.small]: x.size === 'small',
- [$style.medium]: x.size === 'medium',
[$style.large]: x.size === 'large',
[$style.veryLarge]: x.size === 'veryLarge',
}]"
diff --git a/packages/frontend/src/ui/_common_/stream-indicator.vue b/packages/frontend/src/ui/_common_/stream-indicator.vue
index 3e97df7ee5..74c475fc7d 100644
--- a/packages/frontend/src/ui/_common_/stream-indicator.vue
+++ b/packages/frontend/src/ui/_common_/stream-indicator.vue
@@ -2,8 +2,8 @@
<div v-if="hasDisconnected && defaultStore.state.serverDisconnectedBehavior === 'quiet'" :class="$style.root" class="_panel _shadow" @click="resetDisconnected">
<div><i class="ti ti-alert-triangle"></i> {{ i18n.ts.disconnectedFromServer }}</div>
<div :class="$style.command" class="_buttons">
- <MkButton :class="$style.commandButton" small primary @click="reload">{{ i18n.ts.reload }}</MkButton>
- <MkButton :class="$style.commandButton" small>{{ i18n.ts.doNothing }}</MkButton>
+ <MkButton small primary @click="reload">{{ i18n.ts.reload }}</MkButton>
+ <MkButton small>{{ i18n.ts.doNothing }}</MkButton>
</div>
</div>
</template>
@@ -54,7 +54,4 @@ onUnmounted(() => {
.command {
margin-top: 8px;
}
-
-.commandButton {
-}
</style>
diff --git a/packages/frontend/src/ui/deck/column.vue b/packages/frontend/src/ui/deck/column.vue
index d95f826f20..8296c46691 100644
--- a/packages/frontend/src/ui/deck/column.vue
+++ b/packages/frontend/src/ui/deck/column.vue
@@ -1,6 +1,6 @@
<template>
<div
- :class="[$style.root, { [$style.paged]: isMainColumn, [$style.naked]: naked, [$style.active]: active, [$style.isStacked]: isStacked, [$style.draghover]: draghover, [$style.dragging]: dragging, [$style.dropready]: dropready }]"
+ :class="[$style.root, { [$style.paged]: isMainColumn, [$style.naked]: naked, [$style.active]: active, [$style.draghover]: draghover, [$style.dragging]: dragging, [$style.dropready]: dropready }]"
@dragover.prevent.stop="onDragover"
@dragleave="onDragleave"
@drop.prevent.stop="onDrop"
diff --git a/packages/frontend/src/ui/universal.widgets.vue b/packages/frontend/src/ui/universal.widgets.vue
index 1ee95bf06e..ec5e8bb03f 100644
--- a/packages/frontend/src/ui/universal.widgets.vue
+++ b/packages/frontend/src/ui/universal.widgets.vue
@@ -1,6 +1,6 @@
<template>
-<div :class="$style.root">
- <XWidgets :class="$style.widgets" :edit="editMode" :widgets="widgets" @addWidget="addWidget" @removeWidget="removeWidget" @updateWidget="updateWidget" @updateWidgets="updateWidgets" @exit="editMode = false"/>
+<div>
+ <XWidgets :edit="editMode" :widgets="widgets" @addWidget="addWidget" @removeWidget="removeWidget" @updateWidget="updateWidget" @updateWidgets="updateWidgets" @exit="editMode = false"/>
<button v-if="editMode" class="_textButton" style="font-size: 0.9em;" @click="editMode = false"><i class="ti ti-check"></i> {{ i18n.ts.editWidgetsExit }}</button>
<button v-else class="_textButton" data-cy-widget-edit :class="$style.edit" style="font-size: 0.9em;" @click="editMode = true"><i class="ti ti-pencil"></i> {{ i18n.ts.editWidgets }}</button>
@@ -70,9 +70,6 @@ function updateWidgets(thisWidgets) {
</script>
<style lang="scss" module>
-.root {
-}
-
.edit {
width: 100%;
}
diff --git a/packages/frontend/src/widgets/WidgetClock.vue b/packages/frontend/src/widgets/WidgetClock.vue
index 707f403603..aee5026db4 100644
--- a/packages/frontend/src/widgets/WidgetClock.vue
+++ b/packages/frontend/src/widgets/WidgetClock.vue
@@ -1,6 +1,12 @@
<template>
<MkContainer :naked="widgetProps.transparent" :showHeader="false" data-cy-mkw-clock>
- <div :class="[$style.root, $style[widgetProps.size]]">
+ <div
+ :class="[$style.root, {
+ [$style.small]: widgetProps.size === 'small',
+ [$style.medium]: widgetProps.size === 'medium',
+ [$style.large]: widgetProps.size === 'large',
+ }]"
+ >
<div v-if="widgetProps.label === 'tz' || widgetProps.label === 'timeAndTz'" class="_monospace" :class="[$style.label, $style.a]">{{ tzAbbrev }}</div>
<MkAnalogClock
:class="$style.clock"
diff --git a/packages/frontend/src/widgets/WidgetRssTicker.vue b/packages/frontend/src/widgets/WidgetRssTicker.vue
index 135ca37026..6b346c0598 100644
--- a/packages/frontend/src/widgets/WidgetRssTicker.vue
+++ b/packages/frontend/src/widgets/WidgetRssTicker.vue
@@ -12,7 +12,7 @@
<Transition :name="$style.change" mode="default" appear>
<MarqueeText :key="key" :duration="widgetProps.duration" :reverse="widgetProps.reverse">
<span v-for="item in items" :key="item.link" :class="$style.item">
- <a :class="$style.link" :href="item.link" rel="nofollow noopener" target="_blank" :title="item.title">{{ item.title }}</a><span :class="$style.divider"></span>
+ <a :href="item.link" rel="nofollow noopener" target="_blank" :title="item.title">{{ item.title }}</a><span :class="$style.divider"></span>
</span>
</MarqueeText>
</Transition>
diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts
index 482c98fe88..531dd0b488 100644
--- a/packages/frontend/vite.config.ts
+++ b/packages/frontend/vite.config.ts
@@ -8,6 +8,7 @@ import ReactivityTransform from '@vue-macros/reactivity-transform/vite';
import locales from '../../locales';
import generateDTS from '../../locales/generateDTS';
import meta from '../../package.json';
+import pluginUnwindCssModuleClassName from './lib/rollup-plugin-unwind-css-module-class-name';
import pluginJson5 from './vite.json5';
const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.json', '.json5', '.svg', '.sass', '.scss', '.css', '.vue'];
@@ -54,6 +55,7 @@ export function getConfig(): UserConfig {
reactivityTransform: true,
}),
ReactivityTransform(),
+ pluginUnwindCssModuleClassName(),
pluginJson5(),
...process.env.NODE_ENV === 'production'
? [
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 711e0dc0ab..c4b66a1ff5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -661,6 +661,9 @@ importers:
'@vue/compiler-sfc':
specifier: 3.3.4
version: 3.3.4
+ astring:
+ specifier: 1.8.5
+ version: 1.8.5
autosize:
specifier: 6.0.1
version: 6.0.1
@@ -706,6 +709,9 @@ importers:
escape-regexp:
specifier: 0.0.1
version: 0.0.1
+ estree-walker:
+ specifier: ^3.0.3
+ version: 3.0.3
eventemitter3:
specifier: 5.0.1
version: 5.0.1
@@ -932,9 +938,9 @@ importers:
'@vue/runtime-core':
specifier: 3.3.4
version: 3.3.4
- astring:
- specifier: 1.8.5
- version: 1.8.5
+ acorn:
+ specifier: ^8.8.2
+ version: 8.8.2
chokidar-cli:
specifier: 3.0.0
version: 3.0.0
@@ -2081,15 +2087,15 @@ packages:
tslib: 2.5.2
dev: false
- /@babel/code-frame@7.18.6:
- resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
+ /@babel/code-frame@7.21.4:
+ resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/highlight': 7.18.6
dev: true
- /@babel/compat-data@7.21.4:
- resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==}
+ /@babel/compat-data@7.22.3:
+ resolution: {integrity: sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==}
engines: {node: '>=6.9.0'}
dev: true
@@ -2098,15 +2104,38 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.1
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.21.3
- '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.3)
- '@babel/helper-module-transforms': 7.21.2
- '@babel/helpers': 7.21.0
- '@babel/parser': 7.21.9
- '@babel/template': 7.20.7
- '@babel/traverse': 7.21.3
- '@babel/types': 7.21.5
+ '@babel/code-frame': 7.21.4
+ '@babel/generator': 7.22.3
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.21.3)
+ '@babel/helper-module-transforms': 7.22.1
+ '@babel/helpers': 7.22.3
+ '@babel/parser': 7.22.4
+ '@babel/template': 7.21.9
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
+ convert-source-map: 1.9.0
+ debug: 4.3.4(supports-color@8.1.1)
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/core@7.22.1:
+ resolution: {integrity: sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.21.4
+ '@babel/generator': 7.22.3
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1)
+ '@babel/helper-module-transforms': 7.22.1
+ '@babel/helpers': 7.22.3
+ '@babel/parser': 7.22.4
+ '@babel/template': 7.21.9
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
convert-source-map: 1.9.0
debug: 4.3.4(supports-color@8.1.1)
gensync: 1.0.0-beta.2
@@ -2120,7 +2149,17 @@ packages:
resolution: {integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
+ '@jridgewell/gen-mapping': 0.3.2
+ '@jridgewell/trace-mapping': 0.3.17
+ jsesc: 2.5.2
+ dev: true
+
+ /@babel/generator@7.22.3:
+ resolution: {integrity: sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.22.4
'@jridgewell/gen-mapping': 0.3.2
'@jridgewell/trace-mapping': 0.3.17
jsesc: 2.5.2
@@ -2130,7 +2169,7 @@ packages:
resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
dev: true
/@babel/helper-builder-binary-assignment-operator-visitor@7.18.9:
@@ -2138,16 +2177,16 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-explode-assignable-expression': 7.18.6
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
dev: true
- /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.3):
- resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==}
+ /@babel/helper-compilation-targets@7.22.1(@babel/core@7.21.3):
+ resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/compat-data': 7.21.4
+ '@babel/compat-data': 7.22.3
'@babel/core': 7.21.3
'@babel/helper-validator-option': 7.21.0
browserslist: 4.21.5
@@ -2155,6 +2194,20 @@ packages:
semver: 6.3.0
dev: true
+ /@babel/helper-compilation-targets@7.22.1(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/compat-data': 7.22.3
+ '@babel/core': 7.22.1
+ '@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.3):
resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==}
engines: {node: '>=6.9.0'}
@@ -2163,7 +2216,26 @@ packages:
dependencies:
'@babel/core': 7.21.3
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-environment-visitor': 7.22.1
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-member-expression-to-functions': 7.21.0
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-replace-supers': 7.20.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ '@babel/helper-split-export-declaration': 7.18.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.22.1
'@babel/helper-function-name': 7.21.0
'@babel/helper-member-expression-to-functions': 7.21.0
'@babel/helper-optimise-call-expression': 7.18.6
@@ -2185,13 +2257,24 @@ packages:
regexpu-core: 5.3.2
dev: true
+ /@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@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.3):
resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
peerDependencies:
'@babel/core': ^7.4.0-0
dependencies:
'@babel/core': 7.21.3
- '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.3)
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.21.3)
'@babel/helper-plugin-utils': 7.20.2
debug: 4.3.4(supports-color@8.1.1)
lodash.debounce: 4.0.8
@@ -2201,8 +2284,24 @@ packages:
- supports-color
dev: true
- /@babel/helper-environment-visitor@7.18.9:
- resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
+ /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
+ peerDependencies:
+ '@babel/core': ^7.4.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1)
+ '@babel/helper-plugin-utils': 7.20.2
+ debug: 4.3.4(supports-color@8.1.1)
+ lodash.debounce: 4.0.8
+ resolve: 1.22.1
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-environment-visitor@7.22.1:
+ resolution: {integrity: sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==}
engines: {node: '>=6.9.0'}
dev: true
@@ -2210,50 +2309,50 @@ packages:
resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
dev: true
/@babel/helper-function-name@7.21.0:
resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.20.7
- '@babel/types': 7.21.5
+ '@babel/template': 7.21.9
+ '@babel/types': 7.22.4
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.5
+ '@babel/types': 7.22.4
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.5
+ '@babel/types': 7.22.4
dev: true
- /@babel/helper-module-imports@7.18.6:
- resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
+ /@babel/helper-module-imports@7.21.4:
+ resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
dev: true
- /@babel/helper-module-transforms@7.21.2:
- resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==}
+ /@babel/helper-module-transforms@7.22.1:
+ resolution: {integrity: sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-module-imports': 7.18.6
- '@babel/helper-simple-access': 7.20.2
+ '@babel/helper-environment-visitor': 7.22.1
+ '@babel/helper-module-imports': 7.21.4
+ '@babel/helper-simple-access': 7.21.5
'@babel/helper-split-export-declaration': 7.18.6
'@babel/helper-validator-identifier': 7.19.1
- '@babel/template': 7.20.7
- '@babel/traverse': 7.21.3
- '@babel/types': 7.21.5
+ '@babel/template': 7.21.9
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
transitivePeerDependencies:
- supports-color
dev: true
@@ -2262,7 +2361,7 @@ packages:
resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
dev: true
/@babel/helper-plugin-utils@7.20.2:
@@ -2278,9 +2377,24 @@ packages:
dependencies:
'@babel/core': 7.21.3
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-environment-visitor': 7.22.1
'@babel/helper-wrap-function': 7.20.5
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.22.1):
+ resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.22.1
+ '@babel/helper-wrap-function': 7.20.5
+ '@babel/types': 7.22.4
transitivePeerDependencies:
- supports-color
dev: true
@@ -2289,35 +2403,35 @@ packages:
resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-environment-visitor': 7.22.1
'@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.3
- '@babel/types': 7.21.5
+ '@babel/template': 7.21.9
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/helper-simple-access@7.20.2:
- resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
+ /@babel/helper-simple-access@7.21.5:
+ resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
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.5
+ '@babel/types': 7.22.4
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.5
+ '@babel/types': 7.22.4
dev: true
/@babel/helper-string-parser@7.21.5:
@@ -2338,20 +2452,20 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-function-name': 7.21.0
- '@babel/template': 7.20.7
- '@babel/traverse': 7.21.3
- '@babel/types': 7.21.5
+ '@babel/template': 7.21.9
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/helpers@7.21.0:
- resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==}
+ /@babel/helpers@7.22.3:
+ resolution: {integrity: sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.20.7
- '@babel/traverse': 7.21.3
- '@babel/types': 7.21.5
+ '@babel/template': 7.21.9
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
transitivePeerDependencies:
- supports-color
dev: true
@@ -2370,14 +2484,21 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
/@babel/parser@7.21.9:
resolution: {integrity: sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
+
+ /@babel/parser@7.22.4:
+ resolution: {integrity: sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.22.4
/@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==}
@@ -2389,6 +2510,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@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.3):
resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==}
engines: {node: '>=6.9.0'}
@@ -2401,6 +2532,18 @@ packages:
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.22.1):
+ resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@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.22.1)
+ dev: true
+
/@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'}
@@ -2408,7 +2551,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.21.3
- '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-environment-visitor': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
'@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)
@@ -2416,6 +2559,21 @@ packages:
- supports-color
dev: true
+ /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.1):
+ 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.22.1
+ '@babel/helper-environment-visitor': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.22.1)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.1)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@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'}
@@ -2429,6 +2587,19 @@ packages:
- supports-color
dev: true
+ /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.1):
+ 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.22.1
+ '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.22.1)
+ '@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.3):
resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==}
engines: {node: '>=6.9.0'}
@@ -2443,6 +2614,20 @@ packages:
- supports-color
dev: true
+ /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.22.1)
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.1)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@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'}
@@ -2454,6 +2639,17 @@ packages:
'@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.1)
+ dev: true
+
/@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'}
@@ -2465,6 +2661,17 @@ packages:
'@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.22.1):
+ resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.1)
+ dev: true
+
/@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'}
@@ -2476,6 +2683,17 @@ packages:
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.1)
+ dev: true
+
/@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'}
@@ -2487,6 +2705,17 @@ packages:
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.22.1):
+ resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.1)
+ dev: true
+
/@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'}
@@ -2498,6 +2727,17 @@ packages:
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.1)
+ dev: true
+
/@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.3):
resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
engines: {node: '>=6.9.0'}
@@ -2509,20 +2749,45 @@ packages:
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.1)
+ dev: true
+
/@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.4
+ '@babel/compat-data': 7.22.3
'@babel/core': 7.21.3
- '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.3)
+ '@babel/helper-compilation-targets': 7.22.1(@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.3)
'@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.1):
+ resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.22.3
+ '@babel/core': 7.22.1
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1)
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.22.1)
+ dev: true
+
/@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.3):
resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
engines: {node: '>=6.9.0'}
@@ -2534,6 +2799,17 @@ packages:
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.1)
+ dev: true
+
/@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.3):
resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
engines: {node: '>=6.9.0'}
@@ -2546,6 +2822,18 @@ packages:
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.3)
dev: true
+ /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@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.22.1)
+ dev: true
+
/@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.3):
resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
engines: {node: '>=6.9.0'}
@@ -2559,6 +2847,19 @@ packages:
- supports-color
dev: true
+ /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.22.1)
+ '@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.3):
resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==}
engines: {node: '>=6.9.0'}
@@ -2574,6 +2875,21 @@ packages:
- supports-color
dev: true
+ /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.22.1)
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.1)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.3):
resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==}
engines: {node: '>=4'}
@@ -2585,6 +2901,17 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.22.1)
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.3):
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
@@ -2594,6 +2921,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.1):
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.3):
resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
peerDependencies:
@@ -2603,6 +2939,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.3):
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
@@ -2612,6 +2957,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.1):
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -2622,6 +2976,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.1):
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.3):
resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
peerDependencies:
@@ -2631,6 +2995,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.3):
resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
peerDependencies:
@@ -2640,13 +3013,22 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-flow@7.18.6(@babel/core@7.21.3):
+ /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-syntax-flow@7.18.6(@babel/core@7.22.1):
resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
dev: true
@@ -2660,6 +3042,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.3):
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
peerDependencies:
@@ -2669,6 +3061,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.3):
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
peerDependencies:
@@ -2678,13 +3079,22 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.3):
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.22.1):
resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
dev: true
@@ -2697,6 +3107,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.1):
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.3):
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
peerDependencies:
@@ -2706,6 +3125,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.3):
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
peerDependencies:
@@ -2715,6 +3143,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.1):
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.3):
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
peerDependencies:
@@ -2724,6 +3161,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.3):
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
peerDependencies:
@@ -2733,6 +3179,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.3):
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
peerDependencies:
@@ -2742,6 +3197,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -2752,6 +3216,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.1):
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -2762,13 +3236,23 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.3):
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.1):
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.22.1):
resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
dev: true
@@ -2782,6 +3266,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.22.1):
+ 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.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -2789,13 +3283,27 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.21.3
- '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-module-imports': 7.21.4
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.3)
transitivePeerDependencies:
- supports-color
dev: true
+ /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-module-imports': 7.21.4
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.22.1)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.3):
resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
engines: {node: '>=6.9.0'}
@@ -2806,6 +3314,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -2816,6 +3334,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.3):
resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==}
engines: {node: '>=6.9.0'}
@@ -2824,8 +3352,28 @@ packages:
dependencies:
'@babel/core': 7.21.3
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.3)
- '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.21.3)
+ '@babel/helper-environment-visitor': 7.22.1
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-replace-supers': 7.20.7
+ '@babel/helper-split-export-declaration': 7.18.6
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-classes@7.21.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1)
+ '@babel/helper-environment-visitor': 7.22.1
'@babel/helper-function-name': 7.21.0
'@babel/helper-optimise-call-expression': 7.18.6
'@babel/helper-plugin-utils': 7.20.2
@@ -2844,7 +3392,18 @@ packages:
dependencies:
'@babel/core': 7.21.3
'@babel/helper-plugin-utils': 7.20.2
- '@babel/template': 7.20.7
+ '@babel/template': 7.21.9
+ dev: true
+
+ /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/template': 7.21.9
dev: true
/@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.3):
@@ -2857,6 +3416,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.3):
resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==}
engines: {node: '>=6.9.0'}
@@ -2868,6 +3437,17 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.22.1)
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -2878,6 +3458,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.22.1):
+ resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -2889,15 +3479,26 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-flow-strip-types@7.21.0(@babel/core@7.21.3):
+ /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-flow-strip-types@7.21.0(@babel/core@7.22.1):
resolution: {integrity: sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-flow': 7.18.6(@babel/core@7.21.3)
+ '@babel/plugin-syntax-flow': 7.18.6(@babel/core@7.22.1)
dev: true
/@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.3):
@@ -2910,6 +3511,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.3):
resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
engines: {node: '>=6.9.0'}
@@ -2917,7 +3528,19 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.21.3
- '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.3)
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.21.3)
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.22.1):
+ resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1)
'@babel/helper-function-name': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
@@ -2932,6 +3555,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-literals@7.18.9(@babel/core@7.22.1):
+ resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.3):
resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
engines: {node: '>=6.9.0'}
@@ -2942,6 +3575,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.3):
resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==}
engines: {node: '>=6.9.0'}
@@ -2949,7 +3592,20 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.21.3
- '@babel/helper-module-transforms': 7.21.2
+ '@babel/helper-module-transforms': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.22.1):
+ resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
@@ -2962,9 +3618,23 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.21.3
- '@babel/helper-module-transforms': 7.21.2
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-simple-access': 7.20.2
+ '@babel/helper-simple-access': 7.21.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-module-transforms': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-simple-access': 7.21.5
transitivePeerDependencies:
- supports-color
dev: true
@@ -2977,7 +3647,22 @@ packages:
dependencies:
'@babel/core': 7.21.3
'@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-module-transforms': 7.21.2
+ '@babel/helper-module-transforms': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-validator-identifier': 7.19.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.22.1):
+ resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-hoist-variables': 7.18.6
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-validator-identifier': 7.19.1
transitivePeerDependencies:
@@ -2991,7 +3676,20 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.21.3
- '@babel/helper-module-transforms': 7.21.2
+ '@babel/helper-module-transforms': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
@@ -3008,6 +3706,17 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.22.1):
+ resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.22.1)
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -3018,6 +3727,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.22.1):
+ 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.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -3031,6 +3750,19 @@ packages:
- supports-color
dev: true
+ /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-replace-supers': 7.20.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.3):
resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==}
engines: {node: '>=6.9.0'}
@@ -3041,6 +3773,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -3051,38 +3793,48 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.21.3):
+ /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.22.1):
resolution: {integrity: sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.21.3):
+ /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.22.1):
resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.21.3):
+ /@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.22.1):
resolution: {integrity: sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-module-imports': 7.21.4
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3)
- '@babel/types': 7.21.5
+ '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.22.1)
+ '@babel/types': 7.22.4
dev: true
/@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.3):
@@ -3096,6 +3848,17 @@ packages:
regenerator-transform: 0.15.1
dev: true
+ /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.22.1):
+ resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@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.3):
resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==}
engines: {node: '>=6.9.0'}
@@ -3106,6 +3869,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -3116,6 +3889,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.3):
resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==}
engines: {node: '>=6.9.0'}
@@ -3127,6 +3910,17 @@ packages:
'@babel/helper-skip-transparent-expression-wrappers': 7.20.0
dev: true
+ /@babel/plugin-transform-spread@7.20.7(@babel/core@7.22.1):
+ resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@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.3):
resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==}
engines: {node: '>=6.9.0'}
@@ -3137,6 +3931,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.3):
resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
engines: {node: '>=6.9.0'}
@@ -3147,6 +3951,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.22.1):
+ resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.3):
resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==}
engines: {node: '>=6.9.0'}
@@ -3157,17 +3971,27 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.3):
+ /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.22.1):
+ resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.22.1):
resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.3)
+ '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.22.1)
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.3)
+ '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.22.1)
transitivePeerDependencies:
- supports-color
dev: true
@@ -3182,6 +4006,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.22.1):
+ 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.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@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'}
@@ -3193,15 +4027,26 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.22.1):
+ resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.22.1)
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/preset-env@7.21.4(@babel/core@7.21.3):
resolution: {integrity: sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.21.4
+ '@babel/compat-data': 7.22.3
'@babel/core': 7.21.3
- '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.3)
+ '@babel/helper-compilation-targets': 7.22.1(@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.3)
@@ -3269,7 +4114,7 @@ packages:
'@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.5
+ '@babel/types': 7.22.4
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)
@@ -3279,16 +4124,102 @@ packages:
- supports-color
dev: true
- /@babel/preset-flow@7.18.6(@babel/core@7.21.3):
+ /@babel/preset-env@7.21.4(@babel/core@7.22.1):
+ resolution: {integrity: sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.22.3
+ '@babel/core': 7.22.1
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1)
+ '@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.22.1)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.22.1)
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.1)
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.22.1)
+ '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.22.1)
+ '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.22.1)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.1)
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.1)
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.22.1)
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.1)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.1)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.1)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.22.1)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.1)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.1)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.1)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.1)
+ '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.22.1)
+ '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.22.1)
+ '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.22.1)
+ '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.22.1)
+ '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.22.1)
+ '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.22.1)
+ '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.22.1)
+ '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.22.1)
+ '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.22.1)
+ '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.22.1)
+ '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.22.1)
+ '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.22.1)
+ '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.22.1)
+ '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.22.1)
+ '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.22.1)
+ '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.22.1)
+ '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.22.1)
+ '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.22.1)
+ '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.22.1)
+ '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.22.1)
+ '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.22.1)
+ '@babel/preset-modules': 0.1.5(@babel/core@7.22.1)
+ '@babel/types': 7.22.4
+ babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.22.1)
+ babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.22.1)
+ babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.22.1)
+ core-js-compat: 3.29.1
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/preset-flow@7.18.6(@babel/core@7.22.1):
resolution: {integrity: sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-validator-option': 7.21.0
- '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.3)
+ '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.22.1)
dev: true
/@babel/preset-modules@0.1.5(@babel/core@7.21.3):
@@ -3300,31 +4231,44 @@ packages:
'@babel/helper-plugin-utils': 7.20.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.5
+ '@babel/types': 7.22.4
esutils: 2.0.3
dev: true
- /@babel/preset-typescript@7.21.0(@babel/core@7.21.3):
+ /@babel/preset-modules@0.1.5(@babel/core@7.22.1):
+ resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.22.1)
+ '@babel/types': 7.22.4
+ esutils: 2.0.3
+ dev: true
+
+ /@babel/preset-typescript@7.21.0(@babel/core@7.22.1):
resolution: {integrity: sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-validator-option': 7.21.0
- '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.3)
+ '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.22.1)
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/register@7.21.0(@babel/core@7.21.3):
+ /@babel/register@7.21.0(@babel/core@7.22.1):
resolution: {integrity: sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
clone-deep: 4.0.1
find-cache-dir: 2.1.0
make-dir: 2.1.0
@@ -3348,27 +4292,45 @@ packages:
dependencies:
regenerator-runtime: 0.13.11
- /@babel/template@7.20.7:
- resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
+ /@babel/template@7.21.9:
+ resolution: {integrity: sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/parser': 7.21.9
- '@babel/types': 7.21.5
+ '@babel/code-frame': 7.21.4
+ '@babel/parser': 7.22.4
+ '@babel/types': 7.22.4
dev: true
/@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.3
- '@babel/helper-environment-visitor': 7.18.9
+ '@babel/code-frame': 7.21.4
+ '@babel/generator': 7.22.3
+ '@babel/helper-environment-visitor': 7.22.1
'@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.9
- '@babel/types': 7.21.5
+ '@babel/parser': 7.22.4
+ '@babel/types': 7.22.4
+ debug: 4.3.4(supports-color@8.1.1)
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/traverse@7.22.4:
+ resolution: {integrity: sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.21.4
+ '@babel/generator': 7.22.3
+ '@babel/helper-environment-visitor': 7.22.1
+ '@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.22.4
+ '@babel/types': 7.22.4
debug: 4.3.4(supports-color@8.1.1)
globals: 11.12.0
transitivePeerDependencies:
@@ -3382,6 +4344,15 @@ packages:
'@babel/helper-string-parser': 7.21.5
'@babel/helper-validator-identifier': 7.19.1
to-fast-properties: 2.0.0
+ dev: true
+
+ /@babel/types@7.22.4:
+ resolution: {integrity: sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.21.5
+ '@babel/helper-validator-identifier': 7.19.1
+ to-fast-properties: 2.0.0
/@base2/pretty-print-object@1.0.1:
resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==}
@@ -4171,7 +5142,7 @@ packages:
resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@jest/types': 29.5.0
'@jridgewell/trace-mapping': 0.3.17
babel-plugin-istanbul: 6.1.1
@@ -4945,8 +5916,8 @@ packages:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
dependencies:
- '@babel/core': 7.21.3
- '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.3)
+ '@babel/core': 7.22.1
+ '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.22.1)
'@jest/transform': 29.5.0
'@mdx-js/react': 2.3.0(react@18.2.0)
'@storybook/blocks': 7.0.18(react-dom@18.2.0)(react@18.2.0)
@@ -5344,8 +6315,8 @@ packages:
resolution: {integrity: sha512-9n4J4thiCUsGSXiRc6ZysqYUaCMCrpu0/qgC+5ngfFRuMmZgUV0y5+0fmaOhT2XjsonTTgucizO82i7+ottCVg==}
hasBin: true
dependencies:
- '@babel/core': 7.21.3
- '@babel/preset-env': 7.21.4(@babel/core@7.21.3)
+ '@babel/core': 7.22.1
+ '@babel/preset-env': 7.21.4(@babel/core@7.22.1)
'@ndelangen/get-tarball': 3.0.7
'@storybook/codemod': 7.0.18
'@storybook/core-common': 7.0.18
@@ -5581,7 +6552,7 @@ packages:
/@storybook/docs-tools@7.0.18:
resolution: {integrity: sha512-H95dW2DquGQ75ZVrFjvznPdCxT0eW6esDnemzLJB61KitcYZrWRavfrZzFtUcpzIa84OgY5pllFYt636v11LHQ==}
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
'@storybook/core-common': 7.0.18
'@storybook/preview-api': 7.0.18
'@storybook/types': 7.0.18
@@ -6379,7 +7350,7 @@ packages:
resolution: {integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==}
engines: {node: '>=12'}
dependencies:
- '@babel/code-frame': 7.18.6
+ '@babel/code-frame': 7.21.4
'@babel/runtime': 7.21.0
'@types/aria-query': 5.0.1
aria-query: 5.1.3
@@ -6393,7 +7364,7 @@ packages:
resolution: {integrity: sha512-xTEnpUKiV/bMyEsE5bT4oYA0x0Z/colMtxzUY8bKyPXBNLn/e0V4ZjBZkEhms0xE4pv9QsPfSRu9AWS4y5wGvA==}
engines: {node: '>=14'}
dependencies:
- '@babel/code-frame': 7.18.6
+ '@babel/code-frame': 7.21.4
'@babel/runtime': 7.21.0
'@types/aria-query': 5.0.1
aria-query: 5.1.3
@@ -6478,30 +7449,30 @@ packages:
/@types/babel__core@7.20.0:
resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==}
dependencies:
- '@babel/parser': 7.21.9
- '@babel/types': 7.21.5
+ '@babel/parser': 7.22.4
+ '@babel/types': 7.22.4
'@types/babel__generator': 7.6.4
'@types/babel__template': 7.4.1
- '@types/babel__traverse': 7.18.3
+ '@types/babel__traverse': 7.20.0
dev: true
/@types/babel__generator@7.6.4:
resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==}
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
dev: true
/@types/babel__template@7.4.1:
resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
dependencies:
- '@babel/parser': 7.21.9
- '@babel/types': 7.21.5
+ '@babel/parser': 7.22.4
+ '@babel/types': 7.22.4
dev: true
- /@types/babel__traverse@7.18.3:
- resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==}
+ /@types/babel__traverse@7.20.0:
+ resolution: {integrity: sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==}
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
dev: true
/@types/bcryptjs@2.4.2:
@@ -7278,9 +8249,9 @@ packages:
peerDependencies:
vite: ^4.1.0-beta.0
dependencies:
- '@babel/core': 7.21.3
- '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.3)
- '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.3)
+ '@babel/core': 7.22.1
+ '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.22.1)
+ '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.22.1)
magic-string: 0.27.0
react-refresh: 0.14.0
vite: 4.3.9(@types/node@20.2.5)(sass@1.62.1)
@@ -7404,7 +8375,7 @@ packages:
vue:
optional: true
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
'@rollup/pluginutils': 5.0.2(rollup@3.23.0)
'@vue/compiler-sfc': 3.3.4
local-pkg: 0.4.3
@@ -7434,7 +8405,7 @@ packages:
/@vue/compiler-core@3.3.4:
resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==}
dependencies:
- '@babel/parser': 7.21.9
+ '@babel/parser': 7.22.4
'@vue/shared': 3.3.4
estree-walker: 2.0.2
source-map-js: 1.0.2
@@ -7468,7 +8439,7 @@ packages:
/@vue/reactivity-transform@3.3.4:
resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==}
dependencies:
- '@babel/parser': 7.21.9
+ '@babel/parser': 7.22.4
'@vue/compiler-core': 3.3.4
'@vue/shared': 3.3.4
estree-walker: 2.0.2
@@ -8147,7 +9118,7 @@ packages:
/astring@1.8.5:
resolution: {integrity: sha512-TuBbdn7jWVzf8dmFGTaRpW8qgANtWLi1qJLnkfGO5uVf6jf9f/F4B1H35tnOI+qVYZo3p3i8WZlbZOuPAE0wEA==}
hasBin: true
- dev: true
+ dev: false
/async-done@1.3.2:
resolution: {integrity: sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==}
@@ -8262,12 +9233,12 @@ packages:
- debug
dev: true
- /babel-core@7.0.0-bridge.0(@babel/core@7.21.3):
+ /babel-core@7.0.0-bridge.0(@babel/core@7.22.1):
resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.3
+ '@babel/core': 7.22.1
dev: true
/babel-jest@29.5.0(@babel/core@7.21.3):
@@ -8305,10 +9276,10 @@ packages:
resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/template': 7.20.7
- '@babel/types': 7.21.5
+ '@babel/template': 7.21.9
+ '@babel/types': 7.22.4
'@types/babel__core': 7.20.0
- '@types/babel__traverse': 7.18.3
+ '@types/babel__traverse': 7.20.0
dev: true
/babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.3):
@@ -8316,7 +9287,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.21.4
+ '@babel/compat-data': 7.22.3
'@babel/core': 7.21.3
'@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.3)
semver: 6.3.0
@@ -8324,6 +9295,19 @@ packages:
- supports-color
dev: true
+ /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.22.1):
+ resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.22.3
+ '@babel/core': 7.22.1
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.1)
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.3):
resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
peerDependencies:
@@ -8336,6 +9320,18 @@ packages:
- supports-color
dev: true
+ /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.22.1):
+ resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.1)
+ core-js-compat: 3.29.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.3):
resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
peerDependencies:
@@ -8347,6 +9343,17 @@ packages:
- supports-color
dev: true
+ /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.22.1):
+ resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.1)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.3):
resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
peerDependencies:
@@ -8367,6 +9374,26 @@ packages:
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.3)
dev: true
+ /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.1):
+ resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.1
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.1)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.1)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.1)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.1)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.1)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.1)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.1)
+ dev: true
+
/babel-preset-jest@29.5.0(@babel/core@7.21.3):
resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -8382,7 +9409,7 @@ packages:
resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==}
engines: {node: '>= 10.0.0'}
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.22.4
/bach@1.2.0:
resolution: {integrity: sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==}
@@ -9528,8 +10555,8 @@ packages:
/constantinople@4.0.1:
resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==}
dependencies:
- '@babel/parser': 7.21.9
- '@babel/types': 7.21.5
+ '@babel/parser': 7.22.4
+ '@babel/types': 7.22.4
/content-disposition@0.5.4:
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
@@ -10783,8 +11810,8 @@ packages:
resolution: {integrity: sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==}
engines: {node: '>=8.3.0'}
dependencies:
- '@babel/traverse': 7.21.3
- '@babel/types': 7.21.5
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
c8: 7.13.0
transitivePeerDependencies:
- supports-color
@@ -10793,6 +11820,12 @@ packages:
/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ /estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ dependencies:
+ '@types/estree': 1.0.1
+ dev: false
+
/esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -13149,8 +14182,8 @@ packages:
resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
engines: {node: '>=8'}
dependencies:
- '@babel/core': 7.21.3
- '@babel/parser': 7.21.9
+ '@babel/core': 7.22.1
+ '@babel/parser': 7.22.4
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.0
semver: 6.3.0
@@ -13528,7 +14561,7 @@ packages:
resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/code-frame': 7.18.6
+ '@babel/code-frame': 7.21.4
'@jest/types': 29.5.0
'@types/stack-utils': 2.0.1
chalk: 4.1.2
@@ -13661,18 +14694,18 @@ packages:
resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/core': 7.21.3
- '@babel/generator': 7.21.3
- '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3)
- '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.3)
- '@babel/traverse': 7.21.3
- '@babel/types': 7.21.5
+ '@babel/core': 7.22.1
+ '@babel/generator': 7.22.3
+ '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.22.1)
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
'@jest/expect-utils': 29.5.0
'@jest/transform': 29.5.0
'@jest/types': 29.5.0
- '@types/babel__traverse': 7.18.3
+ '@types/babel__traverse': 7.20.0
'@types/prettier': 2.7.2
- babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.3)
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.1)
chalk: 4.1.2
expect: 29.5.0
graceful-fs: 4.2.11
@@ -13878,17 +14911,17 @@ packages:
peerDependencies:
'@babel/preset-env': ^7.1.6
dependencies:
- '@babel/core': 7.21.3
- '@babel/parser': 7.21.9
- '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.3)
- '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.3)
- '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.3)
- '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.3)
- '@babel/preset-env': 7.21.4(@babel/core@7.21.3)
- '@babel/preset-flow': 7.18.6(@babel/core@7.21.3)
- '@babel/preset-typescript': 7.21.0(@babel/core@7.21.3)
- '@babel/register': 7.21.0(@babel/core@7.21.3)
- babel-core: 7.0.0-bridge.0(@babel/core@7.21.3)
+ '@babel/core': 7.22.1
+ '@babel/parser': 7.22.4
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.1)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.1)
+ '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.22.1)
+ '@babel/preset-env': 7.21.4(@babel/core@7.22.1)
+ '@babel/preset-flow': 7.18.6(@babel/core@7.22.1)
+ '@babel/preset-typescript': 7.21.0(@babel/core@7.22.1)
+ '@babel/register': 7.21.0(@babel/core@7.22.1)
+ babel-core: 7.0.0-bridge.0(@babel/core@7.22.1)
chalk: 4.1.2
flow-parser: 0.202.0
graceful-fs: 4.2.11
@@ -15837,7 +16870,7 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
dependencies:
- '@babel/code-frame': 7.18.6
+ '@babel/code-frame': 7.21.4
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -17043,8 +18076,8 @@ packages:
engines: {node: '>=12.0.0'}
hasBin: true
dependencies:
- '@babel/core': 7.21.3
- '@babel/generator': 7.21.3
+ '@babel/core': 7.22.1
+ '@babel/generator': 7.22.3
ast-types: 0.14.2
commander: 2.20.3
doctrine: 3.0.0
@@ -19959,8 +20992,8 @@ packages:
/vue-docgen-api@4.64.1(vue@3.3.4):
resolution: {integrity: sha512-jbOf7ByE3Zvtuk+429Jorl+eIeh2aB2Fx1GUo3xJd1aByJWE8KDlSEa6b11PB1ze8f0sRUBraRDinICCk0KY7g==}
dependencies:
- '@babel/parser': 7.21.9
- '@babel/types': 7.21.5
+ '@babel/parser': 7.22.4
+ '@babel/types': 7.22.4
'@vue/compiler-dom': 3.3.4
'@vue/compiler-sfc': 3.3.4
ast-types: 0.14.2
@@ -20244,8 +21277,8 @@ packages:
resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==}
engines: {node: '>= 10.0.0'}
dependencies:
- '@babel/parser': 7.21.9
- '@babel/types': 7.21.5
+ '@babel/parser': 7.22.4
+ '@babel/types': 7.22.4
assert-never: 1.2.1
babel-walk: 3.0.0-canary-5