From d8054700bdc0567dcb32f203e14d3f28c28b0073 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Sat, 25 Feb 2023 17:32:18 +0100
Subject: [PATCH 01/33] Add transition-group pkg with `createSwitchTransition`
primitive dev playground Add `findFirst` and `resolveFirst` to `refs` pkg
---
.changeset/dirty-kiwis-exist.md | 5 +
.prettierrc | 2 +-
configs/vite.config.ts | 4 +
package.json | 3 +-
packages/refs/dev/refs.tsx | 4 +-
packages/refs/src/index.ts | 28 +
packages/transition-group/LICENSE | 21 +
packages/transition-group/README.md | 38 +
packages/transition-group/dev/index.html | 37 +
packages/transition-group/dev/index.tsx | 28 +
packages/transition-group/dev/list-page.tsx | 90 +
packages/transition-group/dev/switch-page.tsx | 99 +
packages/transition-group/dev/vite.config.ts | 2 +
packages/transition-group/package.json | 77 +
packages/transition-group/src/index.ts | 85 +
packages/transition-group/test/index.test.ts | 14 +
packages/transition-group/test/server.test.ts | 9 +
pnpm-lock.yaml | 2063 ++++++++++++++++-
18 files changed, 2483 insertions(+), 126 deletions(-)
create mode 100644 .changeset/dirty-kiwis-exist.md
create mode 100644 packages/transition-group/LICENSE
create mode 100644 packages/transition-group/README.md
create mode 100644 packages/transition-group/dev/index.html
create mode 100644 packages/transition-group/dev/index.tsx
create mode 100644 packages/transition-group/dev/list-page.tsx
create mode 100644 packages/transition-group/dev/switch-page.tsx
create mode 100644 packages/transition-group/dev/vite.config.ts
create mode 100644 packages/transition-group/package.json
create mode 100644 packages/transition-group/src/index.ts
create mode 100644 packages/transition-group/test/index.test.ts
create mode 100644 packages/transition-group/test/server.test.ts
diff --git a/.changeset/dirty-kiwis-exist.md b/.changeset/dirty-kiwis-exist.md
new file mode 100644
index 000000000..1edfad13f
--- /dev/null
+++ b/.changeset/dirty-kiwis-exist.md
@@ -0,0 +1,5 @@
+---
+"@solid-primitives/refs": minor
+---
+
+Add `findFirst` and `resolveFirst` primitives
diff --git a/.prettierrc b/.prettierrc
index c91d99274..d3afb7d49 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,5 +1,5 @@
{
- "trailingComma": "none",
+ "trailingComma": "all",
"tabWidth": 2,
"printWidth": 100,
"semi": true,
diff --git a/configs/vite.config.ts b/configs/vite.config.ts
index 761472864..1e62abc8b 100644
--- a/configs/vite.config.ts
+++ b/configs/vite.config.ts
@@ -1,4 +1,5 @@
import { defineConfig } from "vitest/config";
+import devtools from "solid-devtools/vite";
import solid from "vite-plugin-solid";
import Unocss from "unocss/vite";
@@ -7,6 +8,9 @@ export const viteConfig = defineConfig({
port: 3000
},
plugins: [
+ devtools({
+ autoname: true
+ }),
solid(),
Unocss({
shortcuts: {
diff --git a/package.json b/package.json
index e30f5fa17..cbff98963 100644
--- a/package.json
+++ b/package.json
@@ -31,14 +31,15 @@
"@typescript-eslint/parser": "^5.52.0",
"cross-env": "^7.0.3",
"eslint": "^8.34.0",
+ "eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-no-only-tests": "^3.1.0",
"eslint-plugin-solid": "^0.9.4",
- "eslint-plugin-eslint-comments": "^3.2.0",
"fs-extra": "^11.1.0",
"jiti": "^1.17.1",
"jsdom": "^21.1.0",
"json-to-markdown-table": "^1.0.0",
"prettier": "^2.8.4",
+ "solid-devtools": "^0.26.0",
"solid-js": "^1.6.11",
"tsup": "^6.6.3",
"tsup-preset-solid": "^0.1.8",
diff --git a/packages/refs/dev/refs.tsx b/packages/refs/dev/refs.tsx
index f8129e0b1..47eb82377 100644
--- a/packages/refs/dev/refs.tsx
+++ b/packages/refs/dev/refs.tsx
@@ -1,10 +1,10 @@
-import { children } from "solid-js";
+import { children, ParentComponent } from "solid-js";
import { elements, mapRemoved, unmount } from "../src";
import { Component, createSignal, For, Show } from "solid-js";
import { createCallbackStack } from "@solid-primitives/utils";
unmount;
-const Keep: Component<{
+const Keep: ParentComponent<{
getClear?: (fn: VoidFunction) => void;
}> = props => {
const resolved = children(() => props.children);
diff --git a/packages/refs/src/index.ts b/packages/refs/src/index.ts
index 47bd1c236..3283ec7fe 100644
--- a/packages/refs/src/index.ts
+++ b/packages/refs/src/index.ts
@@ -148,6 +148,34 @@ function getResolvedElements(value: unknown): HTMLElement | HTMLElement[] | null
return value instanceof HTMLElement ? value : null;
}
+export function findFirst(
+ value: JSX.Element,
+ predicate: (item: unknown | T) => item is T
+): T | null {
+ if (predicate(value)) return value;
+ if (typeof value === "function" && !value.length) return findFirst(value(), predicate);
+ if (Array.isArray(value)) {
+ for (const item of value) {
+ const result = findFirst(item, predicate);
+ if (result) return result;
+ }
+ }
+ return null;
+}
+
+export function resolveFirst(fn: Accessor): Accessor;
+export function resolveFirst(
+ fn: Accessor,
+ predicate: (item: unknown | T) => item is T
+): Accessor;
+export function resolveFirst(
+ fn: Accessor,
+ predicate = (item: unknown | Element): item is Element => item instanceof Element
+): Accessor {
+ const memo = createMemo(fn);
+ return createMemo(() => findFirst(memo(), predicate));
+}
+
/**
* Reactive signal that filters out non-element items from a signal array.
* @param fn Array signal
diff --git a/packages/transition-group/LICENSE b/packages/transition-group/LICENSE
new file mode 100644
index 000000000..38b41d975
--- /dev/null
+++ b/packages/transition-group/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 Solid Primitives Working Group
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/packages/transition-group/README.md b/packages/transition-group/README.md
new file mode 100644
index 000000000..c26978a69
--- /dev/null
+++ b/packages/transition-group/README.md
@@ -0,0 +1,38 @@
+
+
+
+
+# @solid-primitives/transition-group
+
+[](https://turborepo.org/)
+[](https://bundlephobia.com/package/@solid-primitives/transition-group)
+[](https://www.npmjs.com/package/@solid-primitives/transition-group)
+[](https://github.com/solidjs-community/solid-primitives#contribution-process)
+
+A sample primitive that is made up for templating with the following options:
+
+`createPrimitiveTemplate` - Provides a getter and setter for the primitive.
+
+## Installation
+
+```bash
+npm install @solid-primitives/transition-group
+# or
+yarn add @solid-primitives/transition-group
+# or
+pnpm add @solid-primitives/transition-group
+```
+
+## How to use it
+
+```ts
+const [value, setValue] = createPrimitiveTemplate(false);
+```
+
+## Demo
+
+You can use this template for publishing your demo on CodeSandbox: https://codesandbox.io/s/solid-primitives-demo-template-sz95h
+
+## Changelog
+
+See [CHANGELOG.md](./CHANGELOG.md)
diff --git a/packages/transition-group/dev/index.html b/packages/transition-group/dev/index.html
new file mode 100644
index 000000000..9c4d05fc2
--- /dev/null
+++ b/packages/transition-group/dev/index.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+ Solid App
+
+
+
+
+ You need to enable JavaScript to run this app.
+
+
+
+
+
+
diff --git a/packages/transition-group/dev/index.tsx b/packages/transition-group/dev/index.tsx
new file mode 100644
index 000000000..8b0c62d1e
--- /dev/null
+++ b/packages/transition-group/dev/index.tsx
@@ -0,0 +1,28 @@
+import { A, Route, Router, Routes } from "@solidjs/router";
+import { render } from "solid-js/web";
+import ListPage from "./list-page";
+import SwitchPage from "./switch-page";
+
+import "uno.css";
+
+render(
+ () => (
+
+
+
+ /list
+
+
+ /switch
+
+
+
+
+ } />
+ } />
+
+
+
+ ),
+ document.getElementById("root")!
+);
diff --git a/packages/transition-group/dev/list-page.tsx b/packages/transition-group/dev/list-page.tsx
new file mode 100644
index 000000000..33e8d5257
--- /dev/null
+++ b/packages/transition-group/dev/list-page.tsx
@@ -0,0 +1,90 @@
+import { children, ParentComponent } from "solid-js";
+import { elements, mapRemoved } from "@solid-primitives/refs";
+import { Component, createSignal, For, Show } from "solid-js";
+import { createCallbackStack } from "@solid-primitives/utils";
+
+const Keep: ParentComponent<{
+ getClear?: (fn: VoidFunction) => void;
+}> = props => {
+ const resolved = children(() => props.children);
+ const refs = elements(resolved, HTMLElement);
+ const stack = createCallbackStack();
+ props.getClear?.(stack.execute);
+ const combined = mapRemoved(refs, (ref, i) => {
+ const [el, setEl] = createSignal(ref);
+ console.log("REMOVED", i());
+ stack.push(() => setEl(undefined));
+ ref!.style.filter = "grayscale(100%)";
+ ref!.style.position = "relative";
+ ref!.appendChild(({i()}
) as Element);
+
+ ref!.addEventListener("click", () => setEl(undefined));
+
+ return el;
+ });
+ return combined;
+};
+
+const ListPage: Component = () => {
+ const [show, setShow] = createSignal(false);
+ const [show1, setShow1] = createSignal(false);
+ const [show2, setShow2] = createSignal(true);
+ const [showWrapper, setShowWrapper] = createSignal(true);
+ const [count, setCount] = createSignal(5);
+
+ let clear!: VoidFunction;
+
+ return (
+ <>
+
+ setCount(p => ++p)}>
+ + 1
+
+ setCount(p => --p)}>
+ - 1
+
+ setShow(p => !p)}>
+ toggle 0
+
+ setShow1(p => !p)}>
+ toggle 1
+
+ setShow2(p => !p)}>
+ toggle 2 & 3
+
+ setShowWrapper(p => !p)}>
+ toggle wrapper
+
+ clear()}>
+ clear
+
+
+
+
(clear = fn)}>
+
+ Hello
+ World
+ {show() && ID 0
}
+ {/* [
+ ref={el => console.log(el)}
+ onMount={el => console.log("Mounted", el)}
+ > */}
+ ]
+ ID 1
+
+ {/* */}
+
+ ID 2
+ ID 3
+
+ i)}>
+ {i => {i + 1}.
}
+
+
+
+
+ >
+ );
+};
+
+export default ListPage;
diff --git a/packages/transition-group/dev/switch-page.tsx b/packages/transition-group/dev/switch-page.tsx
new file mode 100644
index 000000000..ab9851617
--- /dev/null
+++ b/packages/transition-group/dev/switch-page.tsx
@@ -0,0 +1,99 @@
+import { Component, createSignal, onCleanup, Show, untrack } from "solid-js";
+import { resolveFirst } from "@solid-primitives/refs";
+import { createSwitchTransition } from "../src";
+
+const SwitchPage: Component = () => {
+ const [toggle, setToggle] = createSignal(true);
+
+ return (
+ <>
+
+ setToggle(!toggle())}>
+ {toggle() ? "Hide" : "Show"}
+
+
+
+ {untrack(() => {
+ let i = 0;
+
+ const el = resolveFirst(
+ () => (
+ onCleanup(() => (el.style.filter = "grayscale(60%)"))}
+ >
+ B{i++}
+
+ }
+ >
+ onCleanup(() => (el.style.filter = "grayscale(60%)"))}
+ >
+ A{i++}
+
+
+ ),
+ (item): item is HTMLElement => item instanceof HTMLElement,
+ );
+
+ const animateIn = (el: HTMLElement, done: VoidFunction) => {
+ if (!el.isConnected) throw el.textContent + " is not connected!!";
+ const a = el.animate(
+ [
+ { opacity: 0, transform: "translate(100px)" },
+ { opacity: 1, transform: "translate(0)" },
+ ],
+ { duration: 800 },
+ );
+ animationMap.set(el, a);
+ const complete = () => {
+ done();
+ animationMap.delete(el);
+ };
+ a.finished.then(complete).catch(complete);
+ };
+
+ const animateOut = (el: HTMLElement, done: VoidFunction) => {
+ if (!el.isConnected) throw el.textContent + " is not connected!!";
+ el.style.position = "absolute";
+ const left1 = el.getBoundingClientRect().left;
+ animationMap.get(el)?.cancel();
+ const left2 = el.getBoundingClientRect().left;
+ el.animate(
+ [
+ { opacity: 1, transform: `translate(${left1 - left2}px)` },
+ { opacity: 0, transform: "translate(-100px)" },
+ ],
+ { duration: 1000 },
+ )
+ .finished.then(done)
+ .catch(done);
+ };
+
+ const animationMap = new Map();
+
+ return createSwitchTransition(el, {
+ onEnter(el, done) {
+ // console.log("onEnter", el);
+ requestAnimationFrame(() => {
+ animateIn(el, done);
+ });
+ },
+ onExit(el, done) {
+ // console.log("onExit", el);
+ animateOut(el, done);
+ },
+ // mode: "in-out",
+ appear: false,
+ });
+ })}
+
+ >
+ );
+};
+
+export default SwitchPage;
diff --git a/packages/transition-group/dev/vite.config.ts b/packages/transition-group/dev/vite.config.ts
new file mode 100644
index 000000000..7ca66a520
--- /dev/null
+++ b/packages/transition-group/dev/vite.config.ts
@@ -0,0 +1,2 @@
+import { viteConfig } from "../../../configs/vite.config";
+export default viteConfig;
diff --git a/packages/transition-group/package.json b/packages/transition-group/package.json
new file mode 100644
index 000000000..c206704b1
--- /dev/null
+++ b/packages/transition-group/package.json
@@ -0,0 +1,77 @@
+{
+ "name": "@solid-primitives/transition-group",
+ "version": "0.0.100",
+ "description": "A template primitive example.",
+ "author": "Damian Tarnawski ",
+ "contributors": [],
+ "license": "MIT",
+ "homepage": "https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition#readme",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/solidjs-community/solid-primitives.git"
+ },
+ "bugs": {
+ "url": "https://github.com/solidjs-community/solid-primitives/issues"
+ },
+ "primitive": {
+ "name": "transition",
+ "stage": 0,
+ "list": [
+ "createSwitchTransition",
+ "createListTransition"
+ ],
+ "category": "Animation"
+ },
+ "keywords": [
+ "solid",
+ "primitives"
+ ],
+ "private": false,
+ "sideEffects": false,
+ "files": [
+ "dist"
+ ],
+ "type": "module",
+ "main": "./dist/server.cjs",
+ "module": "./dist/server.js",
+ "browser": {
+ "./dist/server.cjs": "./dist/index.cjs",
+ "./dist/server.js": "./dist/index.js"
+ },
+ "types": "./dist/index.d.ts",
+ "exports": {
+ "worker": {
+ "import": "./dist/server.js",
+ "require": "./dist/server.cjs"
+ },
+ "browser": {
+ "import": "./dist/index.js",
+ "require": "./dist/index.cjs"
+ },
+ "deno": {
+ "import": "./dist/server.js",
+ "require": "./dist/server.cjs"
+ },
+ "node": {
+ "import": "./dist/server.js",
+ "require": "./dist/server.cjs"
+ },
+ "import": "./dist/index.js",
+ "require": "./dist/index.cjs"
+ },
+ "scripts": {
+ "dev": "vite serve dev",
+ "page": "vite build dev",
+ "build": "jiti ../../scripts/build.ts --ssr",
+ "test": "vitest -c ../../configs/vitest.config.ts",
+ "test:ssr": "pnpm run test --mode ssr"
+ },
+ "peerDependencies": {
+ "solid-js": "^1.6.0"
+ },
+ "devDependencies": {
+ "@solid-primitives/refs": "workspace:^0.3.6",
+ "@solid-primitives/utils": "workspace:^5.2.0",
+ "@solidjs/router": "^0.7.0"
+ }
+}
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
new file mode 100644
index 000000000..2ddb1041c
--- /dev/null
+++ b/packages/transition-group/src/index.ts
@@ -0,0 +1,85 @@
+import { FalsyValue, noop } from "@solid-primitives/utils";
+import { Accessor, batch, createComputed, createSignal, untrack } from "solid-js";
+
+const logEl = (el: any) => (el ? el.textContent : null);
+
+const noopTransition = (el: any, done: () => void) => done();
+
+export function createSwitchTransition(
+ source: Accessor,
+ props: {
+ onEnter?: (el: T, done: () => void) => void;
+ onExit?: (el: T, done: () => void) => void;
+ mode?: "out-in" | "in-out" | "parallel";
+ appear?: boolean;
+ },
+): Accessor {
+ if (process.env.SSR) {
+ let el: any = source();
+ el = el ? [el] : [];
+ return () => el;
+ }
+
+ // eslint-disable-next-line prefer-const
+ let { onEnter = noopTransition, onExit = noopTransition } = props;
+
+ // prevent the first enter transition if appear is disabled
+ let init = true;
+ if (!props.appear) {
+ const _onEnter = onEnter;
+ onEnter = (el, done) => {
+ onEnter = _onEnter;
+ init ? done() : onEnter(el, done);
+ };
+ }
+
+ const [returned, setReturned] = createSignal([]);
+
+ let next: T | undefined;
+ let isExiting = false;
+
+ function exitTransition(el: T | undefined, after?: () => void) {
+ if (!el) return after?.();
+ isExiting = true;
+ onExit(el, () => {
+ batch(() => {
+ isExiting = false;
+ setReturned(p => p.filter(e => e !== el));
+ after?.();
+ });
+ });
+ }
+
+ function enterTransition(after?: () => void) {
+ const el = next;
+ if (!el) return after?.();
+ next = undefined;
+ setReturned(p => [el, ...p]);
+ onEnter(el, after ?? noop);
+ }
+
+ const transition: (prev: T | undefined) => void =
+ props.mode === "out-in"
+ ? // exit -> enter
+ prev => isExiting || exitTransition(prev, enterTransition)
+ : props.mode === "in-out"
+ ? // enter -> exit
+ prev => enterTransition(() => exitTransition(prev))
+ : // exit & enter
+ prev => {
+ enterTransition();
+ exitTransition(prev);
+ };
+
+ createComputed((prev: T | undefined) => {
+ const el = source() || undefined;
+ if (el !== prev) {
+ next = el;
+ untrack(() => batch(() => transition(prev)));
+ }
+ return el;
+ });
+
+ init = false;
+ return returned;
+}
diff --git a/packages/transition-group/test/index.test.ts b/packages/transition-group/test/index.test.ts
new file mode 100644
index 000000000..b7722a209
--- /dev/null
+++ b/packages/transition-group/test/index.test.ts
@@ -0,0 +1,14 @@
+import { describe, test, expect } from "vitest";
+import { createRoot } from "solid-js";
+import { createPrimitiveTemplate } from "../src";
+
+describe("createPrimitiveTemplate", () => {
+ test("createPrimitiveTemplate return values", () =>
+ createRoot(dispose => {
+ const [value, setValue] = createPrimitiveTemplate(true);
+ expect(value(), "initial value should be true").toBe(true);
+ setValue(false);
+ expect(value(), "value after change should be false").toBe(false);
+ dispose();
+ }));
+});
diff --git a/packages/transition-group/test/server.test.ts b/packages/transition-group/test/server.test.ts
new file mode 100644
index 000000000..887e271dc
--- /dev/null
+++ b/packages/transition-group/test/server.test.ts
@@ -0,0 +1,9 @@
+import { describe, test, expect } from "vitest";
+import { createPrimitiveTemplate } from "../src";
+
+describe("createPrimitiveTemplate", () => {
+ test("doesn't break in SSR", () => {
+ const [value, setValue] = createPrimitiveTemplate(true);
+ expect(value(), "initial value should be true").toBe(true);
+ });
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bd1276f7f..ae18d7c1e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -20,6 +20,7 @@ importers:
jsdom: ^21.1.0
json-to-markdown-table: ^1.0.0
prettier: ^2.8.4
+ solid-devtools: ^0.26.0
solid-js: ^1.6.11
tsup: ^6.6.3
tsup-preset-solid: ^0.1.8
@@ -47,13 +48,14 @@ importers:
jsdom: 21.1.0
json-to-markdown-table: 1.0.0
prettier: 2.8.4
+ solid-devtools: 0.26.0_g6qi5asgsopwckrc6btee5ag3u
solid-js: 1.6.11
tsup: 6.6.3_typescript@4.9.5
tsup-preset-solid: 0.1.8_mpb67xq6yqcmwxkx4udi7xjn6u
turbo: 1.7.4
type-fest: 3.6.0
typescript: 4.9.5
- unocss: 0.49.6_vite@4.1.1
+ unocss: 0.49.6_rollup@3.15.0+vite@4.1.1
vite: 4.1.1_@types+node@18.13.0
vite-plugin-solid: 2.5.0_solid-js@1.6.11+vite@4.1.1
vitest: 0.28.5_jsdom@21.1.0
@@ -634,6 +636,19 @@ importers:
dependencies:
solid-js: 1.6.9
+ packages/transition-group:
+ specifiers:
+ '@solid-primitives/refs': workspace:^0.3.6
+ '@solid-primitives/utils': workspace:^5.2.0
+ '@solidjs/router': ^0.7.0
+ solid-js: ^1.6.0
+ dependencies:
+ solid-js: 1.6.11
+ devDependencies:
+ '@solid-primitives/refs': link:../refs
+ '@solid-primitives/utils': link:../utils
+ '@solidjs/router': 0.7.0_solid-js@1.6.11
+
packages/trigger:
specifiers:
'@solid-primitives/utils': workspace:^5.0.0
@@ -788,6 +803,15 @@ packages:
'@babel/types': 7.20.7
dev: true
+ /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9:
+ resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-explode-assignable-expression': 7.18.6
+ '@babel/types': 7.20.7
+ dev: true
+ optional: true
+
/@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12:
resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==}
engines: {node: '>=6.9.0'}
@@ -821,11 +845,68 @@ packages:
- supports-color
dev: true
+ /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@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
+ optional: true
+
+ /@babel/helper-create-regexp-features-plugin/7.21.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-annotate-as-pure': 7.18.6
+ regexpu-core: 5.3.1
+ dev: true
+ optional: true
+
+ /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.20.12:
+ resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
+ peerDependencies:
+ '@babel/core': ^7.4.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ debug: 4.3.4
+ lodash.debounce: 4.0.8
+ resolve: 1.22.1
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
/@babel/helper-environment-visitor/7.18.9:
resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
engines: {node: '>=6.9.0'}
dev: true
+ /@babel/helper-explode-assignable-expression/7.18.6:
+ resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.7
+ dev: true
+ optional: true
+
/@babel/helper-function-name/7.19.0:
resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==}
engines: {node: '>=6.9.0'}
@@ -834,6 +915,15 @@ packages:
'@babel/types': 7.20.7
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.2
+ dev: true
+ optional: true
+
/@babel/helper-hoist-variables/7.18.6:
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
engines: {node: '>=6.9.0'}
@@ -848,6 +938,14 @@ packages:
'@babel/types': 7.20.7
dev: true
+ /@babel/helper-member-expression-to-functions/7.21.0:
+ resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.2
+ dev: true
+ optional: true
+
/@babel/helper-module-imports/7.18.6:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
@@ -883,6 +981,22 @@ packages:
engines: {node: '>=6.9.0'}
dev: true
+ /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.20.12:
+ resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-wrap-function': 7.20.5
+ '@babel/types': 7.20.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
/@babel/helper-replace-supers/7.20.7:
resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==}
engines: {node: '>=6.9.0'}
@@ -933,6 +1047,19 @@ packages:
engines: {node: '>=6.9.0'}
dev: true
+ /@babel/helper-wrap-function/7.20.5:
+ resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-function-name': 7.19.0
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.20.13
+ '@babel/types': 7.20.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
/@babel/helpers/7.20.7:
resolution: {integrity: sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==}
engines: {node: '>=6.9.0'}
@@ -961,6 +1088,46 @@ packages:
'@babel/types': 7.20.7
dev: true
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@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.20.12
+ dev: true
+ optional: true
+
+ /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.12:
+ 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.20.12
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
/@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
engines: {node: '>=6.9.0'}
@@ -974,162 +1141,195 @@ packages:
- supports-color
dev: true
- /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
+ /@babel/plugin-proposal-class-static-block/7.21.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
+ /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.20.14
'@babel/core': 7.20.12
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12
dev: true
+ optional: true
- /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12:
- resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.20.12:
+ resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==}
+ engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12
dev: true
+ optional: true
- /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==}
+ /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12
dev: true
+ optional: true
- /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.20.12:
- resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==}
+ /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12
dev: true
+ optional: true
- /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
+ /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12
dev: true
+ optional: true
- /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12:
- resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
+ engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12
dev: true
+ optional: true
- /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.12:
- resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
+ /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
+ '@babel/compat-data': 7.20.14
'@babel/core': 7.20.12
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12
dev: true
- /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==}
+ /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12
dev: true
+ optional: true
- /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
+ /@babel/plugin-proposal-optional-chaining/7.21.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@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.20.12
dev: true
+ optional: true
- /@babel/plugin-transform-block-scoping/7.20.15_@babel+core@7.20.12:
- resolution: {integrity: sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==}
+ /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
+ '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
dev: true
+ optional: true
- /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==}
+ /@babel/plugin-proposal-private-property-in-object/7.21.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-function-name': 7.19.0
- '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.20.12
'@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
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12
transitivePeerDependencies:
- supports-color
dev: true
+ optional: true
- /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==}
- engines: {node: '>=6.9.0'}
+ /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==}
+ engines: {node: '>=4'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
+ '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
- '@babel/template': 7.20.7
dev: true
+ optional: true
- /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==}
- engines: {node: '>=6.9.0'}
+ /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.12:
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ optional: true
- /@babel/plugin-transform-flow-strip-types/7.19.0_@babel+core@7.20.12:
- resolution: {integrity: sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==}
- engines: {node: '>=6.9.0'}
+ /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12:
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.20.12
dev: true
- /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.12:
- resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==}
+ /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.20.12:
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1137,31 +1337,30 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ optional: true
- /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.12:
- resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
- engines: {node: '>=6.9.0'}
+ /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.20.12:
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
- '@babel/helper-function-name': 7.19.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ optional: true
- /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.12:
- resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==}
- engines: {node: '>=6.9.0'}
+ /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.20.12:
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ optional: true
- /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
+ /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1170,35 +1369,28 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.12:
- resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==}
+ /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-module-transforms': 7.20.11
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-simple-access': 7.20.2
- transitivePeerDependencies:
- - supports-color
dev: true
- /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==}
- engines: {node: '>=6.9.0'}
+ /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12:
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-replace-supers': 7.20.7
- transitivePeerDependencies:
- - supports-color
dev: true
+ optional: true
- /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==}
+ /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1207,42 +1399,501 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==}
- engines: {node: '>=6.9.0'}
+ /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.12:
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ optional: true
- /@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==}
- engines: {node: '>=6.9.0'}
+ /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.12:
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ optional: true
- /@babel/plugin-transform-react-jsx/7.20.13_@babel+core@7.20.12:
- resolution: {integrity: sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==}
+ /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.12:
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12:
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.12:
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.12:
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.20.12:
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.12:
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.12:
+ 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.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-block-scoping/7.20.15_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.19.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-computed-properties/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/template': 7.20.7
+ dev: true
+
+ /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.20.12:
+ resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-flow-strip-types/7.19.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.20.12
+ dev: true
+
+ /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.12:
+ resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.12:
+ resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
+ '@babel/helper-function-name': 7.19.0
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.12:
+ resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.12:
+ resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.12:
+ resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-simple-access': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.12:
+ resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-hoist-variables': 7.18.6
+ '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-validator-identifier': 7.19.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.12:
+ resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.20.12:
+ 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.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-replace-supers': 7.20.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-react-jsx/7.20.13_@babel+core@7.20.12:
+ resolution: {integrity: sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
+ '@babel/types': 7.20.7
+ dev: true
+
+ /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.20.12:
+ resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ regenerator-transform: 0.15.1
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@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.20.12:
+ resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.12:
+ resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.20.12:
+ resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+ optional: true
+
+ /@babel/plugin-transform-typescript/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
- '@babel/types': 7.20.7
+ '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==}
+ /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.20.12:
+ resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1250,41 +1901,120 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ optional: true
- /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==}
+ /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
+ '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
dev: true
+ optional: true
- /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.12:
- resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
+ /@babel/preset-env/7.20.2_@babel+core@7.20.12:
+ resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
+ '@babel/compat-data': 7.20.14
'@babel/core': 7.20.12
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-validator-option': 7.18.6
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-proposal-class-static-block': 7.21.0_@babel+core@7.20.12
+ '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.20.12
+ '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.20.12
+ '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0_@babel+core@7.20.12
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12
+ '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12
+ '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12
+ '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.12
+ '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12
+ '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.12
+ '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-block-scoping': 7.20.15_@babel+core@7.20.12
+ '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.12
+ '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.12
+ '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.12
+ '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.12
+ '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.20.12
+ '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12
+ '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.20.12
+ '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.12
+ '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.12
+ '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.12
+ '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.12
+ '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.12
+ '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.12
+ '@babel/preset-modules': 0.1.5_@babel+core@7.20.12
+ '@babel/types': 7.20.7
+ babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.12
+ babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.12
+ babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.12
+ core-js-compat: 3.28.0
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
dev: true
+ optional: true
- /@babel/plugin-transform-typescript/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==}
- engines: {node: '>=6.9.0'}
+ /@babel/preset-modules/0.1.5_@babel+core@7.20.12:
+ resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12
- transitivePeerDependencies:
- - supports-color
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12
+ '@babel/types': 7.20.7
+ esutils: 2.0.3
dev: true
+ optional: true
/@babel/preset-typescript/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==}
@@ -1300,6 +2030,11 @@ packages:
- supports-color
dev: true
+ /@babel/regjsgen/0.8.0:
+ resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+ dev: true
+ optional: true
+
/@babel/runtime/7.20.13:
resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==}
engines: {node: '>=6.9.0'}
@@ -1350,6 +2085,16 @@ packages:
to-fast-properties: 2.0.0
dev: true
+ /@babel/types/7.21.2:
+ resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.19.4
+ '@babel/helper-validator-identifier': 7.19.1
+ to-fast-properties: 2.0.0
+ dev: true
+ optional: true
+
/@changesets/apply-release-plan/6.1.3:
resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==}
dependencies:
@@ -1721,6 +2466,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-loong64/0.14.54:
+ resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-loong64/0.16.17:
resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==}
engines: {node: '>=12'}
@@ -2473,6 +3227,18 @@ packages:
dependencies:
graphql: 16.6.0
+ /@hapi/hoek/9.3.0:
+ resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+ dev: true
+ optional: true
+
+ /@hapi/topo/5.1.0:
+ resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ dev: true
+ optional: true
+
/@humanwhocodes/config-array/0.11.8:
resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
engines: {node: '>=10.10.0'}
@@ -2537,6 +3303,14 @@ packages:
engines: {node: '>=6.0.0'}
dev: true
+ /@jridgewell/source-map/0.3.2:
+ resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.2
+ '@jridgewell/trace-mapping': 0.3.17
+ dev: true
+ optional: true
+
/@jridgewell/sourcemap-codec/1.4.14:
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
dev: true
@@ -2786,7 +3560,7 @@ packages:
resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==}
dev: true
- /@rollup/pluginutils/5.0.2:
+ /@rollup/pluginutils/5.0.2_rollup@3.15.0:
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -2798,6 +3572,79 @@ packages:
'@types/estree': 1.0.0
estree-walker: 2.0.2
picomatch: 2.3.1
+ rollup: 3.15.0
+ dev: true
+
+ /@sideway/address/4.1.4:
+ resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==}
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ dev: true
+ optional: true
+
+ /@sideway/formula/3.0.1:
+ resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
+ dev: true
+ optional: true
+
+ /@sideway/pinpoint/2.0.0:
+ resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+ dev: true
+ optional: true
+
+ /@solid-devtools/debugger/0.21.0_solid-js@1.6.11:
+ resolution: {integrity: sha512-5m7JLkh4WgFm0DZrs9JSzTDdZ68rXMv4ixkz4e529aETfhM/Bmek/6jpWSlxsxAn6EwbKHThYWqOyLDAKVQw5w==}
+ peerDependencies:
+ solid-js: ^1.6.9
+ dependencies:
+ '@solid-devtools/shared': 0.11.0_solid-js@1.6.11
+ '@solid-primitives/bounds': 0.0.107_solid-js@1.6.11
+ '@solid-primitives/cursor': 0.0.105_solid-js@1.6.11
+ '@solid-primitives/event-bus': 1.0.0_solid-js@1.6.11
+ '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
+ '@solid-primitives/keyboard': 1.0.7_solid-js@1.6.11
+ '@solid-primitives/platform': 0.0.103_solid-js@1.6.11
+ '@solid-primitives/scheduled': 1.3.0_solid-js@1.6.11
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ type-fest: 3.6.0
+ dev: true
+
+ /@solid-devtools/shared/0.11.0_solid-js@1.6.11:
+ resolution: {integrity: sha512-iAIIgpGUucb+2pVlCEvv44C24Fd7J+stOO1a/Mww9OpfQqgZhCOnozAIdHurcMGyILyYgkI+ZJFBGsH+6tiaCA==}
+ peerDependencies:
+ solid-js: ^1.6.9
+ dependencies:
+ '@solid-primitives/event-bus': 1.0.0_solid-js@1.6.11
+ '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
+ '@solid-primitives/media': 2.1.1_solid-js@1.6.11
+ '@solid-primitives/refs': 0.3.6_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
+ '@solid-primitives/scheduled': 1.3.0_solid-js@1.6.11
+ '@solid-primitives/styles': 0.0.101_solid-js@1.6.11
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ type-fest: 3.6.0
+ dev: true
+
+ /@solid-primitives/bounds/0.0.107_solid-js@1.6.11:
+ resolution: {integrity: sha512-pkW2zpOBsc+TaW0QcXbARLUC/GP0HYsyk6nIZxtITfPct9Ixulx54au09mQBC3egjrakmrUdT1siWWhPrT0JpQ==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
+ '@solid-primitives/resize-observer': 2.0.9_solid-js@1.6.11
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/cursor/0.0.105_solid-js@1.6.11:
+ resolution: {integrity: sha512-/DdttvMytHWvGOTr6e2BesOFg85I1+zPz3ffGw6uwSFrUcBcxSiG3i5Rn9rKgWXyEZ+Sl1Ov8HoYJBo6NAgqrQ==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
dev: true
/@solid-primitives/debounce/1.3.0_solid-js@1.6.9:
@@ -2809,6 +3656,112 @@ packages:
solid-js: 1.6.9
dev: false
+ /@solid-primitives/event-bus/1.0.0_solid-js@1.6.11:
+ resolution: {integrity: sha512-Z8Nv0J3Rmc5/D+zN59qFvwPk5cWvrAJ7yjGiNGQBqGVDdHEtnZmhSb5BeFDlkga4TthIIbuYapVyr5T9AQ9FhA==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ '@solid-primitives/immutable': 0.1.6_solid-js@1.6.11
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/event-listener/2.2.6_solid-js@1.6.11:
+ resolution: {integrity: sha512-Lb2q888Apv8wqgZ3WvPlt8ic2rEmHx6QT8d3pgi+JRSIRNwAysE6PZDmbwT6/hzzP1TIQG0IRZwh5tomfuqlaQ==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/immutable/0.1.6_solid-js@1.6.11:
+ resolution: {integrity: sha512-P4wbDogtytijTV5En+bm6jfFbf4ZOMnfmttUJ8642MQ0tJ2VS2z8iJplg9YFJIltXz7W/+2mdfw2XczlkTxeGg==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/keyboard/1.0.7_solid-js@1.6.11:
+ resolution: {integrity: sha512-28fzmKBhHS1CPa439zCEN0ZH9sSQ/AEao5TyWFDtOsJnozdbaT8s1IAw6BgQSbn54vOyWkgbkJ/aYN7+tSJPtQ==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/media/2.1.1_solid-js@1.6.11:
+ resolution: {integrity: sha512-0lMEIDereGYCKNnl0zIAd8v2kiJIUNP9om0VJKF6gD4kItUE+pdcSBok9CdEhjQzSS/HdsNo1smCYHNzdES09Q==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/platform/0.0.103_solid-js@1.6.11:
+ resolution: {integrity: sha512-C/S4STL0cHb3+AOa3uljdph0UVWovDJOF9D/BvNKhin+QGTeHYV5N5Ypsmx8SDG4zgp9ZyuIuV6OOnxSsUzTIg==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/refs/0.3.6_solid-js@1.6.11:
+ resolution: {integrity: sha512-8PkCzIxnHd+kY3IaLKWvix0G15iUS6hffMOooM9fWnkQy2p5PYjOWtC/qucOBGfn6skaOAMq5rnoP40WNi9YXw==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ '@solid-primitives/immutable': 0.1.6_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/resize-observer/2.0.9_solid-js@1.6.11:
+ resolution: {integrity: sha512-N9apMcfL7LSPa/L9g86dhZlIZq3sM1NrFAMgNufzuJWfgHnC/vDQLQpuzc/b2q8O4KpfRs9DTRdFA6t6CK6Plw==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/rootless/1.2.4_solid-js@1.6.11:
+ resolution: {integrity: sha512-wsxpJzmCTeKt7gM1sDN3aKs5Sb8dmD3xVBdXUA+xZWcO5v/CVR5Gq690YvXvWSK+Thjv8jvDNHI582CDP/gFzQ==}
+ peerDependencies:
+ solid-js: ^1.6.11
+ dependencies:
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/scheduled/1.3.0_solid-js@1.6.11:
+ resolution: {integrity: sha512-9B1eQ069vduoDorKwaDjZmcWO3ojEf3hpAcoIQA4CWGkk+QCfJnMWHv/XGYHvytQfr382EQQ1j1nxZBDLOWEQQ==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ solid-js: 1.6.11
+ dev: true
+
+ /@solid-primitives/styles/0.0.101_solid-js@1.6.11:
+ resolution: {integrity: sha512-tHkeUMntlS/w+/zDzXJv82hhMy3J3q7tVV3ZTbahRo0hZienAM8ZJrCYZNK/fu2px8NHVSZFRufxv9qhIclPTw==}
+ peerDependencies:
+ solid-js: ^1.5.0
+ dependencies:
+ '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
+ solid-js: 1.6.11
+ dev: true
+
/@solid-primitives/throttle/1.2.0_solid-js@1.6.9:
resolution: {integrity: sha512-qYKYEgGl/nSCF+wq7H6zFFi8s2e/woFZJkZbCbyUrtbEIvCze4xSZRr64Xi067GlBE+T/N4LZX/htJmLfwkAeg==}
deprecated: throttle primitive moved to @solid-primitives/scheduled
@@ -2818,6 +3771,31 @@ packages:
solid-js: 1.6.9
dev: false
+ /@solid-primitives/utils/5.2.0_solid-js@1.6.11:
+ resolution: {integrity: sha512-9sJSBv0IshaQ6qks9FW9ErKZS9qeAv+uYYrsAAXnu5XtDeifRtMk0k6Smje4XxzpxGH/8P4nwS2kk/9vt6KsBg==}
+ peerDependencies:
+ solid-js: ^1.6.0
+ dependencies:
+ solid-js: 1.6.11
+ dev: true
+
+ /@solidjs/meta/0.28.2_solid-js@1.6.11:
+ resolution: {integrity: sha512-avlLgBPdk4KVxzRGFlYp/MIJo8B5jVgXPgk6OUnUP8km21Z+ovO+DUd7ZPA7ejv8PBdWi9GE3zCzw8RU2YuV2Q==}
+ peerDependencies:
+ solid-js: '>=1.4.0'
+ dependencies:
+ solid-js: 1.6.11
+ dev: true
+ optional: true
+
+ /@solidjs/router/0.7.0_solid-js@1.6.11:
+ resolution: {integrity: sha512-8HI84twe5FjYRebSLMAhtkL9bRuTDIlxJK56kjfjU9WKGoUCTaWpCnkuj8Hqde1bWZ0X+GOZxKDfNkn1CjtjxA==}
+ peerDependencies:
+ solid-js: ^1.5.3
+ dependencies:
+ solid-js: 1.6.11
+ dev: true
+
/@solidjs/router/0.7.0_solid-js@1.6.9:
resolution: {integrity: sha512-8HI84twe5FjYRebSLMAhtkL9bRuTDIlxJK56kjfjU9WKGoUCTaWpCnkuj8Hqde1bWZ0X+GOZxKDfNkn1CjtjxA==}
peerDependencies:
@@ -2885,6 +3863,11 @@ packages:
resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==}
dev: true
+ /@types/cookie/0.5.1:
+ resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==}
+ dev: true
+ optional: true
+
/@types/estree/1.0.0:
resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
dev: true
@@ -3100,24 +4083,24 @@ packages:
eslint-visitor-keys: 3.3.0
dev: true
- /@unocss/astro/0.49.6_vite@4.1.1:
+ /@unocss/astro/0.49.6_rollup@3.15.0+vite@4.1.1:
resolution: {integrity: sha512-0+vXBLLoS8B8Itvx+43GYeEABbRur4XxdsMKjU1/F/zXJXEoQm2A1e7TM555dJSfHD7ZVcpP12Wygo5fCAfWVw==}
dependencies:
'@unocss/core': 0.49.6
'@unocss/reset': 0.49.6
- '@unocss/vite': 0.49.6_vite@4.1.1
+ '@unocss/vite': 0.49.6_rollup@3.15.0+vite@4.1.1
transitivePeerDependencies:
- rollup
- vite
dev: true
- /@unocss/cli/0.49.6:
+ /@unocss/cli/0.49.6_rollup@3.15.0:
resolution: {integrity: sha512-XdMeZzTZqe4Ds2Sf4VPUrQ1fnNlQwpi83cVDDbTtRgh7Lu2hgZFP/Baeq+IJ5Y5EEcf5nb+q2dp2K824/f9pZA==}
engines: {node: '>=14'}
hasBin: true
dependencies:
'@ampproject/remapping': 2.2.0
- '@rollup/pluginutils': 5.0.2
+ '@rollup/pluginutils': 5.0.2_rollup@3.15.0
'@unocss/config': 0.49.6
'@unocss/core': 0.49.6
'@unocss/preset-uno': 0.49.6
@@ -3241,13 +4224,13 @@ packages:
'@unocss/core': 0.49.6
dev: true
- /@unocss/vite/0.49.6_vite@4.1.1:
+ /@unocss/vite/0.49.6_rollup@3.15.0+vite@4.1.1:
resolution: {integrity: sha512-9wpl5t+WoXN+qpVRd9VprFQzSJtknA5eCTDvbNQwTPTmoCbIeIHBXsQrX9swj8jA3W9lVVS3ulDQCny8Qfwl8A==}
peerDependencies:
vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0
dependencies:
'@ampproject/remapping': 2.2.0
- '@rollup/pluginutils': 5.0.2
+ '@rollup/pluginutils': 5.0.2_rollup@3.15.0
'@unocss/config': 0.49.6
'@unocss/core': 0.49.6
'@unocss/inspector': 0.49.6
@@ -3349,6 +4332,15 @@ packages:
resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
dev: true
+ /accepts/1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+ dev: true
+ optional: true
+
/acorn-globals/7.0.1:
resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==}
dependencies:
@@ -3546,28 +4538,76 @@ packages:
engines: {node: '>= 0.4'}
dev: true
- /axios/1.3.3_debug@4.3.4:
- resolution: {integrity: sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==}
+ /axios/0.25.0_debug@4.3.4:
+ resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==}
+ dependencies:
+ follow-redirects: 1.15.2_debug@4.3.4
+ transitivePeerDependencies:
+ - debug
+ dev: true
+ optional: true
+
+ /axios/1.3.3_debug@4.3.4:
+ resolution: {integrity: sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==}
+ dependencies:
+ follow-redirects: 1.15.2_debug@4.3.4
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /babel-plugin-jsx-dom-expressions/0.35.16_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Z8vaeXRdtI4qyq3bmQiLjiZnbjn2Rr0mjpXMwN+QxHbWjtlAFOJSHlkcxbrwPz/DdcfSgkmZM0Atvt/zMLeLyA==}
+ peerDependencies:
+ '@babel/core': ^7.20.12
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
+ '@babel/types': 7.20.7
+ html-entities: 2.3.3
+ validate-html-nesting: 1.2.1
+ dev: true
+
+ /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.20.12:
+ resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.20.14
+ '@babel/core': 7.20.12
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
+ /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
dependencies:
- follow-redirects: 1.15.2_debug@4.3.4
- form-data: 4.0.0
- proxy-from-env: 1.1.0
+ '@babel/core': 7.20.12
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12
+ core-js-compat: 3.28.0
transitivePeerDependencies:
- - debug
+ - supports-color
dev: true
+ optional: true
- /babel-plugin-jsx-dom-expressions/0.35.16_@babel+core@7.20.12:
- resolution: {integrity: sha512-Z8vaeXRdtI4qyq3bmQiLjiZnbjn2Rr0mjpXMwN+QxHbWjtlAFOJSHlkcxbrwPz/DdcfSgkmZM0Atvt/zMLeLyA==}
+ /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.20.12:
+ resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
peerDependencies:
- '@babel/core': ^7.20.12
+ '@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-module-imports': 7.18.6
- '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
- '@babel/types': 7.20.7
- html-entities: 2.3.3
- validate-html-nesting: 1.2.1
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12
+ transitivePeerDependencies:
+ - supports-color
dev: true
+ optional: true
/babel-plugin-syntax-trailing-function-commas/7.0.0-beta.0:
resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==}
@@ -3691,6 +4731,18 @@ packages:
update-browserslist-db: 1.0.10_browserslist@4.21.4
dev: true
+ /browserslist/4.21.5:
+ resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001457
+ electron-to-chromium: 1.4.284
+ node-releases: 2.0.8
+ update-browserslist-db: 1.0.10_browserslist@4.21.5
+ dev: true
+ optional: true
+
/bser/2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
dependencies:
@@ -3729,6 +4781,12 @@ packages:
streamsearch: 1.1.0
dev: true
+ /bytes/3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+ dev: true
+ optional: true
+
/cac/6.7.14:
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
engines: {node: '>=8'}
@@ -3771,6 +4829,11 @@ packages:
resolution: {integrity: sha512-8sdQIdMztYmzfTMO6KfLny878Ln9c2M0fc7EH60IjlP4Dc4PiCy7K2Vl3ITmWgOyPgVQKa5x+UP/KqFsxj4mBg==}
dev: true
+ /caniuse-lite/1.0.30001457:
+ resolution: {integrity: sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==}
+ dev: true
+ optional: true
+
/capital-case/1.0.4:
resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
dependencies:
@@ -3961,6 +5024,11 @@ packages:
delayed-stream: 1.0.0
dev: true
+ /commander/2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ dev: true
+ optional: true
+
/commander/4.1.1:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
@@ -3971,10 +5039,47 @@ packages:
engines: {node: '>=4.0.0'}
dev: true
+ /compressible/2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: true
+ optional: true
+
+ /compression/1.7.4:
+ resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ accepts: 1.3.8
+ bytes: 3.0.0
+ compressible: 2.0.18
+ debug: 2.6.9
+ on-headers: 1.0.2
+ safe-buffer: 5.1.2
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
/concat-map/0.0.1:
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
dev: true
+ /connect/3.7.0:
+ resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ debug: 2.6.9
+ finalhandler: 1.1.2
+ parseurl: 1.3.3
+ utils-merge: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
/consola/2.15.3:
resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
dev: true
@@ -3991,6 +5096,13 @@ packages:
resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
dev: true
+ /core-js-compat/3.28.0:
+ resolution: {integrity: sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg==}
+ dependencies:
+ browserslist: 4.21.5
+ dev: true
+ optional: true
+
/cosmiconfig-typescript-loader/4.3.0_ubrymuwlz4ufngznlqsmh7e3bi:
resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==}
engines: {node: '>=12', npm: '>=6'}
@@ -4143,6 +5255,18 @@ packages:
resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
dev: true
+ /debug/2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+ dev: true
+ optional: true
+
/debug/4.3.4:
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
@@ -4211,6 +5335,12 @@ packages:
clone: 1.0.4
dev: true
+ /define-lazy-prop/2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+ dev: true
+ optional: true
+
/define-properties/1.1.4:
resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
engines: {node: '>= 0.4'}
@@ -4245,6 +5375,12 @@ packages:
resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
dev: true
+ /dequal/2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: true
+ optional: true
+
/destr/1.2.2:
resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==}
dev: true
@@ -4324,6 +5460,11 @@ packages:
safe-buffer: 5.2.1
dev: true
+ /ee-first/1.1.1:
+ resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
+ dev: true
+ optional: true
+
/electron-to-chromium/1.4.284:
resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
dev: true
@@ -4336,6 +5477,12 @@ packages:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
dev: true
+ /encodeurl/1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+ dev: true
+ optional: true
+
/enquirer/2.3.6:
resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==}
engines: {node: '>=8.6'}
@@ -4407,6 +5554,11 @@ packages:
stop-iteration-iterator: 1.0.0
dev: true
+ /es-module-lexer/1.2.0:
+ resolution: {integrity: sha512-2BMfqBDeVCcOlLaL1ZAfp+D868SczNpKArrTM3dhpd7dK/OVlogzY15qpUngt+LMTq5UC/csb9vVQAgupucSbA==}
+ dev: true
+ optional: true
+
/es-set-tostringtag/2.0.1:
resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
engines: {node: '>= 0.4'}
@@ -4431,6 +5583,166 @@ packages:
is-symbol: 1.0.4
dev: true
+ /esbuild-android-64/0.14.54:
+ resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-android-arm64/0.14.54:
+ resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-darwin-64/0.14.54:
+ resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-darwin-arm64/0.14.54:
+ resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-freebsd-64/0.14.54:
+ resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-freebsd-arm64/0.14.54:
+ resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-32/0.14.54:
+ resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-64/0.14.54:
+ resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-arm/0.14.54:
+ resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-arm64/0.14.54:
+ resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-mips64le/0.14.54:
+ resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-ppc64le/0.14.54:
+ resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-riscv64/0.14.54:
+ resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-s390x/0.14.54:
+ resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-netbsd-64/0.14.54:
+ resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-openbsd-64/0.14.54:
+ resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-plugin-solid/0.4.2_bve56rijdtklnf27lceyb3zzei:
+ resolution: {integrity: sha512-T5GphLoud3RumjeNYO3K9WVjWDzVKG5evlS7hUEUI0n9tiCL+CnbvJh3SSwFi3xeeXpZRrnZc1gd6FWQsVobTg==}
+ peerDependencies:
+ esbuild: '>=0.12'
+ solid-js: '>= 1.0'
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12
+ babel-preset-solid: 1.6.10_@babel+core@7.20.12
+ esbuild: 0.14.54
+ solid-js: 1.6.11
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
/esbuild-plugin-solid/0.5.0_53k565wzpp55uni6zxdi7b642e:
resolution: {integrity: sha512-ITK6n+0ayGFeDVUZWNMxX+vLsasEN1ILrg4pISsNOQ+mq4ljlJJiuXotInd+HE0MzwTcA9wExT1yzDE2hsqPsg==}
peerDependencies:
@@ -4446,6 +5758,72 @@ packages:
- supports-color
dev: true
+ /esbuild-sunos-64/0.14.54:
+ resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-windows-32/0.14.54:
+ resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-windows-64/0.14.54:
+ resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-windows-arm64/0.14.54:
+ resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild/0.14.54:
+ resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/linux-loong64': 0.14.54
+ esbuild-android-64: 0.14.54
+ esbuild-android-arm64: 0.14.54
+ esbuild-darwin-64: 0.14.54
+ esbuild-darwin-arm64: 0.14.54
+ esbuild-freebsd-64: 0.14.54
+ esbuild-freebsd-arm64: 0.14.54
+ esbuild-linux-32: 0.14.54
+ esbuild-linux-64: 0.14.54
+ esbuild-linux-arm: 0.14.54
+ esbuild-linux-arm64: 0.14.54
+ esbuild-linux-mips64le: 0.14.54
+ esbuild-linux-ppc64le: 0.14.54
+ esbuild-linux-riscv64: 0.14.54
+ esbuild-linux-s390x: 0.14.54
+ esbuild-netbsd-64: 0.14.54
+ esbuild-openbsd-64: 0.14.54
+ esbuild-sunos-64: 0.14.54
+ esbuild-windows-32: 0.14.54
+ esbuild-windows-64: 0.14.54
+ esbuild-windows-arm64: 0.14.54
+ dev: true
+ optional: true
+
/esbuild/0.16.17:
resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==}
engines: {node: '>=12'}
@@ -4511,6 +5889,11 @@ packages:
engines: {node: '>=6'}
dev: true
+ /escape-html/1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+ dev: true
+ optional: true
+
/escape-string-regexp/1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
@@ -4836,6 +6219,22 @@ packages:
to-regex-range: 5.0.1
dev: true
+ /finalhandler/1.1.2:
+ resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.3.0
+ parseurl: 1.3.3
+ statuses: 1.5.0
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
/find-up/4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -4997,6 +6396,12 @@ packages:
has-symbols: 1.0.3
dev: true
+ /get-port/6.1.2:
+ resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+ optional: true
+
/get-stream/6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
@@ -5457,6 +6862,13 @@ packages:
has-tostringtag: 1.0.0
dev: true
+ /is-docker/2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dev: true
+ optional: true
+
/is-extglob/2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -5644,6 +7056,14 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /is-wsl/2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+ optional: true
+
/isarray/2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
dev: true
@@ -5674,6 +7094,17 @@ packages:
hasBin: true
dev: true
+ /joi/17.8.3:
+ resolution: {integrity: sha512-q5Fn6Tj/jR8PfrLrx4fpGH4v9qM6o+vDUfD4/3vxxyg34OmKcNqYZ1qn2mpLza96S8tL0p0rIw2gOZX+/cTg9w==}
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ '@hapi/topo': 5.1.0
+ '@sideway/address': 4.1.4
+ '@sideway/formula': 3.0.1
+ '@sideway/pinpoint': 2.0.0
+ dev: true
+ optional: true
+
/joycon/3.1.1:
resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
engines: {node: '>=10'}
@@ -5743,6 +7174,12 @@ packages:
- utf-8-validate
dev: true
+ /jsesc/0.5.0:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+ dev: true
+ optional: true
+
/jsesc/2.5.2:
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
engines: {node: '>=4'}
@@ -5950,6 +7387,11 @@ packages:
p-locate: 5.0.0
dev: true
+ /lodash.debounce/4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ dev: true
+ optional: true
+
/lodash.merge/4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
@@ -6212,11 +7654,22 @@ packages:
ufo: 1.1.0
dev: true
+ /mri/1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+ dev: true
+ optional: true
+
/mrmime/1.0.1:
resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
engines: {node: '>=10'}
dev: true
+ /ms/2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ dev: true
+ optional: true
+
/ms/2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
dev: true
@@ -6260,6 +7713,12 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
+ /negotiator/0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+ optional: true
+
/no-case/3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies:
@@ -6393,6 +7852,20 @@ packages:
ufo: 1.1.0
dev: true
+ /on-finished/2.3.0:
+ resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: true
+ optional: true
+
+ /on-headers/1.0.2:
+ resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
+ engines: {node: '>= 0.8'}
+ dev: true
+ optional: true
+
/once/1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
@@ -6406,6 +7879,16 @@ packages:
mimic-fn: 2.1.0
dev: true
+ /open/8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: true
+ optional: true
+
/optionator/0.8.3:
resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
engines: {node: '>= 0.8.0'}
@@ -6546,12 +8029,23 @@ packages:
lines-and-columns: 1.2.4
dev: true
+ /parse-multipart-data/1.5.0:
+ resolution: {integrity: sha512-ck5zaMF0ydjGfejNMnlo5YU2oJ+pT+80Jb1y4ybanT27j+zbVP/jkYmCrUGsEln0Ox/hZmuvgy8Ra7AxbXP2Mw==}
+ dev: true
+ optional: true
+
/parse5/7.1.2:
resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
dependencies:
entities: 4.4.0
dev: true
+ /parseurl/1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+ optional: true
+
/pascal-case/3.1.2:
resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
dependencies:
@@ -6836,10 +8330,30 @@ packages:
strip-indent: 3.0.0
dev: true
+ /regenerate-unicode-properties/10.1.0:
+ resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ dev: true
+ optional: true
+
+ /regenerate/1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ dev: true
+ optional: true
+
/regenerator-runtime/0.13.11:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
dev: true
+ /regenerator-transform/0.15.1:
+ resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==}
+ dependencies:
+ '@babel/runtime': 7.20.13
+ dev: true
+ optional: true
+
/regexp.prototype.flags/1.4.3:
resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==}
engines: {node: '>= 0.4'}
@@ -6854,6 +8368,27 @@ packages:
engines: {node: '>=8'}
dev: true
+ /regexpu-core/5.3.1:
+ resolution: {integrity: sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ '@babel/regjsgen': 0.8.0
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.1.0
+ regjsparser: 0.9.1
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.1.0
+ dev: true
+ optional: true
+
+ /regjsparser/0.9.1:
+ resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
+ hasBin: true
+ dependencies:
+ jsesc: 0.5.0
+ dev: true
+ optional: true
+
/relay-runtime/12.0.0:
resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==}
dependencies:
@@ -6938,6 +8473,35 @@ packages:
glob: 7.2.3
dev: true
+ /rollup-plugin-visualizer/5.9.0_rollup@3.15.0:
+ resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==}
+ engines: {node: '>=14'}
+ hasBin: true
+ peerDependencies:
+ rollup: 2.x || 3.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ open: 8.4.2
+ picomatch: 2.3.1
+ rollup: 3.15.0
+ source-map: 0.7.4
+ yargs: 17.7.0
+ dev: true
+ optional: true
+
+ /rollup-route-manifest/1.0.0_rollup@3.15.0:
+ resolution: {integrity: sha512-3CmcMmCLAzJDUXiO3z6386/Pt8/k9xTZv8gIHyXI8hYGoAInnYdOsFXiGGzQRMy6TXR1jUZme2qbdwjH2nFMjg==}
+ engines: {node: '>=8'}
+ peerDependencies:
+ rollup: '>=2.0.0'
+ dependencies:
+ rollup: 3.15.0
+ route-sort: 1.0.0
+ dev: true
+ optional: true
+
/rollup/3.15.0:
resolution: {integrity: sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
@@ -6946,6 +8510,12 @@ packages:
fsevents: 2.3.2
dev: true
+ /route-sort/1.0.0:
+ resolution: {integrity: sha512-SFgmvjoIhp5S4iBEDW3XnbT+7PRuZ55oRuNjY+CDB1SGZkyCG9bqQ3/dhaZTctTBYMAvDxd2Uy9dStuaUfgJqQ==}
+ engines: {node: '>= 6'}
+ dev: true
+ optional: true
+
/run-async/2.4.1:
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
engines: {node: '>=0.12.0'}
@@ -6967,6 +8537,19 @@ packages:
tslib: 2.5.0
dev: true
+ /sade/1.8.1:
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
+ engines: {node: '>=6'}
+ dependencies:
+ mri: 1.2.0
+ dev: true
+ optional: true
+
+ /safe-buffer/5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ dev: true
+ optional: true
+
/safe-buffer/5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
dev: true
@@ -7024,6 +8607,11 @@ packages:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
dev: true
+ /set-cookie-parser/2.5.1:
+ resolution: {integrity: sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==}
+ dev: true
+ optional: true
+
/setimmediate/1.0.5:
resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
dev: true
@@ -7144,6 +8732,38 @@ packages:
solid-js: 1.6.9
dev: true
+ /solid-devtools/0.26.0_g6qi5asgsopwckrc6btee5ag3u:
+ resolution: {integrity: sha512-YNvdOj2SsAzArmclh5cdCPQNZlDaYp8TsYQWftCGEA7eQ0UJ2dfz+IDEw7KkW6d44tyfd5iUgjDeoht0+B5klA==}
+ peerDependencies:
+ solid-js: ^1.6.9
+ vite: ^2.2.3 || ^3.0.0 || ^4.0.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12
+ '@babel/types': 7.20.7
+ '@solid-devtools/debugger': 0.21.0_solid-js@1.6.11
+ '@solid-devtools/shared': 0.11.0_solid-js@1.6.11
+ '@solid-primitives/event-bus': 1.0.0_solid-js@1.6.11
+ '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
+ type-fest: 3.6.0
+ vite: 4.1.1_@types+node@18.13.0
+ optionalDependencies:
+ solid-start: 0.2.21_g6qi5asgsopwckrc6btee5ag3u
+ transitivePeerDependencies:
+ - '@solidjs/meta'
+ - '@solidjs/router'
+ - solid-start-aws
+ - solid-start-cloudflare-pages
+ - solid-start-cloudflare-workers
+ - solid-start-deno
+ - solid-start-netlify
+ - solid-start-node
+ - solid-start-static
+ - solid-start-vercel
+ - supports-color
+ dev: true
+
/solid-heroicons/3.1.1_solid-js@1.6.9:
resolution: {integrity: sha512-wfU/SqxqxWxInvfFlKJfCBPnJ94Zq1GQFiFL3M0KwZzT81lSF5yIC4HA/Czp3DYrn+dUumjO0qdrx8Ab3cy2sA==}
peerDependencies:
@@ -7181,6 +8801,81 @@ packages:
solid-js: 1.6.11
dev: true
+ /solid-start/0.2.21_g6qi5asgsopwckrc6btee5ag3u:
+ resolution: {integrity: sha512-igh1vI6d8sBm9BeGGcJOE7ewEOSlhzmL3f4iVX0bg5oz+9xtqAf1EA0MvNkTLTvq5YKsVKYy80oJmm/xg0F8jw==}
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ '@solidjs/meta': ^0.28.0
+ '@solidjs/router': ^0.7.0
+ solid-js: ^1.6.2
+ solid-start-aws: '*'
+ solid-start-cloudflare-pages: '*'
+ solid-start-cloudflare-workers: '*'
+ solid-start-deno: '*'
+ solid-start-netlify: '*'
+ solid-start-node: '*'
+ solid-start-static: '*'
+ solid-start-vercel: '*'
+ vite: ^3.1.8
+ peerDependenciesMeta:
+ solid-start-aws:
+ optional: true
+ solid-start-cloudflare-pages:
+ optional: true
+ solid-start-cloudflare-workers:
+ optional: true
+ solid-start-deno:
+ optional: true
+ solid-start-netlify:
+ optional: true
+ solid-start-node:
+ optional: true
+ solid-start-static:
+ optional: true
+ solid-start-vercel:
+ optional: true
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/generator': 7.20.14
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
+ '@babel/preset-env': 7.20.2_@babel+core@7.20.12
+ '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12
+ '@babel/template': 7.20.7
+ '@solidjs/meta': 0.28.2_solid-js@1.6.11
+ '@solidjs/router': 0.7.0_solid-js@1.6.11
+ '@types/cookie': 0.5.1
+ chokidar: 3.5.3
+ compression: 1.7.4
+ connect: 3.7.0
+ debug: 4.3.4
+ dequal: 2.0.3
+ dotenv: 16.0.3
+ es-module-lexer: 1.2.0
+ esbuild: 0.14.54
+ esbuild-plugin-solid: 0.4.2_bve56rijdtklnf27lceyb3zzei
+ fast-glob: 3.2.12
+ get-port: 6.1.2
+ parse-multipart-data: 1.5.0
+ picocolors: 1.0.0
+ rollup: 3.15.0
+ rollup-plugin-visualizer: 5.9.0_rollup@3.15.0
+ rollup-route-manifest: 1.0.0_rollup@3.15.0
+ sade: 1.8.1
+ set-cookie-parser: 2.5.1
+ sirv: 2.0.2
+ solid-js: 1.6.11
+ terser: 5.16.5
+ undici: 5.20.0
+ vite: 4.1.1_@types+node@18.13.0
+ vite-plugin-inspect: 0.7.15_rollup@3.15.0+vite@4.1.1
+ vite-plugin-solid: 2.5.0_solid-js@1.6.11+vite@4.1.1
+ wait-on: 6.0.1_debug@4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
/solid-transition-group/0.0.13_solid-js@1.6.9:
resolution: {integrity: sha512-VA1V0ip4dsNOQJ/dCluCiAPBUuHspYFm4WYG91jpNmcP4rC4DY1S1EGds44JjiUAP7qEoEZdMhPaiS6lqTF7AA==}
peerDependencies:
@@ -7206,6 +8901,12 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /source-map/0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+ dev: true
+ optional: true
+
/source-map/0.8.0-beta.0:
resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
engines: {node: '>= 8'}
@@ -7256,6 +8957,12 @@ packages:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
dev: true
+ /statuses/1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+ optional: true
+
/std-env/3.3.2:
resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==}
dev: true
@@ -7423,6 +9130,18 @@ packages:
engines: {node: '>=8'}
dev: true
+ /terser/5.16.5:
+ resolution: {integrity: sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.2
+ acorn: 8.8.2
+ commander: 2.20.3
+ source-map-support: 0.5.21
+ dev: true
+ optional: true
+
/text-table/0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
@@ -7808,6 +9527,41 @@ packages:
jiti: 1.17.1
dev: true
+ /undici/5.20.0:
+ resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==}
+ engines: {node: '>=12.18'}
+ dependencies:
+ busboy: 1.6.0
+ dev: true
+ optional: true
+
+ /unicode-canonical-property-names-ecmascript/2.0.0:
+ resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
+ engines: {node: '>=4'}
+ dev: true
+ optional: true
+
+ /unicode-match-property-ecmascript/2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.0
+ unicode-property-aliases-ecmascript: 2.1.0
+ dev: true
+ optional: true
+
+ /unicode-match-property-value-ecmascript/2.1.0:
+ resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
+ engines: {node: '>=4'}
+ dev: true
+ optional: true
+
+ /unicode-property-aliases-ecmascript/2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+ dev: true
+ optional: true
+
/universal-user-agent/6.0.0:
resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==}
dev: true
@@ -7834,7 +9588,7 @@ packages:
normalize-path: 2.1.1
dev: true
- /unocss/0.49.6_vite@4.1.1:
+ /unocss/0.49.6_rollup@3.15.0+vite@4.1.1:
resolution: {integrity: sha512-/KAZyGA2Jb/mOzOxxZXji+njY8qAzkKWanOGGyupUqq0f3D4SSBQ/QE9Htn+Gw+4yo6nQLSMCyxBd418C+GSOA==}
engines: {node: '>=14'}
peerDependencies:
@@ -7843,8 +9597,8 @@ packages:
'@unocss/webpack':
optional: true
dependencies:
- '@unocss/astro': 0.49.6_vite@4.1.1
- '@unocss/cli': 0.49.6
+ '@unocss/astro': 0.49.6_rollup@3.15.0+vite@4.1.1
+ '@unocss/cli': 0.49.6_rollup@3.15.0
'@unocss/core': 0.49.6
'@unocss/preset-attributify': 0.49.6
'@unocss/preset-icons': 0.49.6
@@ -7859,13 +9613,19 @@ packages:
'@unocss/transformer-compile-class': 0.49.6
'@unocss/transformer-directives': 0.49.6
'@unocss/transformer-variant-group': 0.49.6
- '@unocss/vite': 0.49.6_vite@4.1.1
+ '@unocss/vite': 0.49.6_rollup@3.15.0+vite@4.1.1
transitivePeerDependencies:
- rollup
- supports-color
- vite
dev: true
+ /unpipe/1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+ optional: true
+
/update-browserslist-db/1.0.10_browserslist@4.21.4:
resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
hasBin: true
@@ -7877,6 +9637,18 @@ packages:
picocolors: 1.0.0
dev: true
+ /update-browserslist-db/1.0.10_browserslist@4.21.5:
+ resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.21.5
+ escalade: 3.1.1
+ picocolors: 1.0.0
+ dev: true
+ optional: true
+
/upper-case-first/2.0.2:
resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
dependencies:
@@ -7912,6 +9684,12 @@ packages:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
+ /utils-merge/1.0.1:
+ resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=}
+ engines: {node: '>= 0.4.0'}
+ dev: true
+ optional: true
+
/v8-compile-cache-lib/3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
dev: true
@@ -7932,6 +9710,12 @@ packages:
engines: {node: '>=12'}
dev: true
+ /vary/1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+ optional: true
+
/vite-node/0.28.5_@types+node@18.13.0:
resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==}
engines: {node: '>=v14.16.0'}
@@ -7955,6 +9739,26 @@ packages:
- terser
dev: true
+ /vite-plugin-inspect/0.7.15_rollup@3.15.0+vite@4.1.1:
+ resolution: {integrity: sha512-oxeZCljacA/slhGFbDNlBqdhDU9fgdHL84i7Nz7DnaAIE7DhTiW2djanw3d/BKuZtduKUY82vRUQ4iaG917t2A==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ vite: ^3.1.0 || ^4.0.0
+ dependencies:
+ '@antfu/utils': 0.7.2
+ '@rollup/pluginutils': 5.0.2_rollup@3.15.0
+ debug: 4.3.4
+ fs-extra: 11.1.0
+ kolorist: 1.7.0
+ sirv: 2.0.2
+ ufo: 1.1.0
+ vite: 4.1.1_@types+node@18.13.0
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+ optional: true
+
/vite-plugin-mkcert/1.13.1_vite@4.1.1:
resolution: {integrity: sha512-0daZMGEpQDN6LniLn1b9J7IRk2Ddp+euN4Wly/CGe4XkOoB2OHJM7ucpMfSS2MVjfd3GrO1hxyV7Ma0OeTsG7A==}
engines: {node: '>=v16.7.0'}
@@ -8138,6 +9942,21 @@ packages:
xml-name-validator: 4.0.0
dev: true
+ /wait-on/6.0.1_debug@4.3.4:
+ resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ dependencies:
+ axios: 0.25.0_debug@4.3.4
+ joi: 17.8.3
+ lodash: 4.17.21
+ minimist: 1.2.8
+ rxjs: 7.8.0
+ transitivePeerDependencies:
+ - debug
+ dev: true
+ optional: true
+
/wcwidth/1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
dependencies:
From a615e05ff2386ba84d23e20330aacd2118cb7484 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Sat, 25 Feb 2023 18:49:33 +0100
Subject: [PATCH 02/33] Improve switch transition demo and add tests
---
packages/transition-group/dev/switch-page.tsx | 188 ++++++++++--------
packages/transition-group/src/index.ts | 4 +-
packages/transition-group/test/index.test.ts | 14 --
.../test/switch-transition.test.ts | 187 +++++++++++++++++
4 files changed, 292 insertions(+), 101 deletions(-)
delete mode 100644 packages/transition-group/test/index.test.ts
create mode 100644 packages/transition-group/test/switch-transition.test.ts
diff --git a/packages/transition-group/dev/switch-page.tsx b/packages/transition-group/dev/switch-page.tsx
index ab9851617..d09a82f6f 100644
--- a/packages/transition-group/dev/switch-page.tsx
+++ b/packages/transition-group/dev/switch-page.tsx
@@ -1,97 +1,113 @@
-import { Component, createSignal, onCleanup, Show, untrack } from "solid-js";
+import { Component, createSignal, JSX, onCleanup, ParentProps, Show } from "solid-js";
import { resolveFirst } from "@solid-primitives/refs";
-import { createSwitchTransition } from "../src";
+import { createSwitchTransition, TransitionMode } from "../src";
-const SwitchPage: Component = () => {
- const [toggle, setToggle] = createSignal(true);
+function Transition(props: ParentProps & { mode: TransitionMode }): JSX.Element {
+ const el = resolveFirst(
+ () => props.children,
+ (item): item is HTMLElement => item instanceof HTMLElement,
+ );
- return (
- <>
-
- setToggle(!toggle())}>
- {toggle() ? "Hide" : "Show"}
-
-
-
- {untrack(() => {
- let i = 0;
+ const animateIn = (el: HTMLElement, done: VoidFunction) => {
+ if (!el.isConnected) throw el.textContent + " is not connected!!";
+ const a = el.animate(
+ [
+ { opacity: 0, transform: "translate(100px)" },
+ { opacity: 1, transform: "translate(0)" },
+ ],
+ { duration: 800 },
+ );
+ animationMap.set(el, a);
+ const complete = () => {
+ done();
+ animationMap.delete(el);
+ };
+ a.finished.then(complete).catch(complete);
+ };
- const el = resolveFirst(
- () => (
- onCleanup(() => (el.style.filter = "grayscale(60%)"))}
- >
- B{i++}
-
- }
- >
- onCleanup(() => (el.style.filter = "grayscale(60%)"))}
- >
- A{i++}
-
-
- ),
- (item): item is HTMLElement => item instanceof HTMLElement,
- );
+ const animateOut = (el: HTMLElement, done: VoidFunction) => {
+ if (!el.isConnected) throw el.textContent + " is not connected!!";
+ const left1 = el.getBoundingClientRect().left;
+ animationMap.get(el)?.cancel();
+ const left2 = el.getBoundingClientRect().left;
+ el.animate(
+ [
+ { opacity: 1, transform: `translate(${left1 - left2}px)` },
+ { opacity: 0, transform: "translate(-100px)" },
+ ],
+ { duration: 1000 },
+ )
+ .finished.then(done)
+ .catch(done);
+ };
- const animateIn = (el: HTMLElement, done: VoidFunction) => {
- if (!el.isConnected) throw el.textContent + " is not connected!!";
- const a = el.animate(
- [
- { opacity: 0, transform: "translate(100px)" },
- { opacity: 1, transform: "translate(0)" },
- ],
- { duration: 800 },
- );
- animationMap.set(el, a);
- const complete = () => {
- done();
- animationMap.delete(el);
- };
- a.finished.then(complete).catch(complete);
- };
+ const animationMap = new Map();
- const animateOut = (el: HTMLElement, done: VoidFunction) => {
- if (!el.isConnected) throw el.textContent + " is not connected!!";
- el.style.position = "absolute";
- const left1 = el.getBoundingClientRect().left;
- animationMap.get(el)?.cancel();
- const left2 = el.getBoundingClientRect().left;
- el.animate(
- [
- { opacity: 1, transform: `translate(${left1 - left2}px)` },
- { opacity: 0, transform: "translate(-100px)" },
- ],
- { duration: 1000 },
- )
- .finished.then(done)
- .catch(done);
- };
+ return createSwitchTransition(el, {
+ onEnter(el, done) {
+ // console.log("onEnter", el);
+ requestAnimationFrame(() => {
+ animateIn(el, done);
+ });
+ },
+ onExit(el, done) {
+ // console.log("onExit", el);
+ animateOut(el, done);
+ },
+ mode: props.mode,
+ });
+}
+
+const grayOutOnDispose = (el: HTMLElement) => {
+ onCleanup(() => {
+ el.style.filter = "grayscale(60%)";
+ el.style.zIndex = "0";
+ });
+};
- const animationMap = new Map();
+function Example(props: { mode: TransitionMode; withFallback?: true }): JSX.Element {
+ const { withFallback, mode } = props;
+ const [toggle, setToggle] = createSignal(true);
- return createSwitchTransition(el, {
- onEnter(el, done) {
- // console.log("onEnter", el);
- requestAnimationFrame(() => {
- animateIn(el, done);
- });
- },
- onExit(el, done) {
- // console.log("onExit", el);
- animateOut(el, done);
- },
- // mode: "in-out",
- appear: false,
- });
- })}
-
+ let i = 0;
+
+ return (
+
+
{mode}
+ setToggle(!toggle())}>
+ {toggle() ? "Hide" : "Show"}
+
+
+
+ B{i++}
+
+ )
+ }
+ >
+
+ A{i++}
+
+
+
+
+ );
+}
+
+const SwitchPage: Component = () => {
+ return (
+ <>
+ Toggle
+
+
+
+ Switch
+
+
+
>
);
};
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index 2ddb1041c..bb4c6f24f 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -1,6 +1,8 @@
import { FalsyValue, noop } from "@solid-primitives/utils";
import { Accessor, batch, createComputed, createSignal, untrack } from "solid-js";
+export type TransitionMode = "out-in" | "in-out" | "parallel";
+
const logEl = (el: any) => (el ? el.textContent : null);
const noopTransition = (el: any, done: () => void) => done();
@@ -10,7 +12,7 @@ export function createSwitchTransition(
props: {
onEnter?: (el: T, done: () => void) => void;
onExit?: (el: T, done: () => void) => void;
- mode?: "out-in" | "in-out" | "parallel";
+ mode?: TransitionMode;
appear?: boolean;
},
): Accessor {
diff --git a/packages/transition-group/test/index.test.ts b/packages/transition-group/test/index.test.ts
deleted file mode 100644
index b7722a209..000000000
--- a/packages/transition-group/test/index.test.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { describe, test, expect } from "vitest";
-import { createRoot } from "solid-js";
-import { createPrimitiveTemplate } from "../src";
-
-describe("createPrimitiveTemplate", () => {
- test("createPrimitiveTemplate return values", () =>
- createRoot(dispose => {
- const [value, setValue] = createPrimitiveTemplate(true);
- expect(value(), "initial value should be true").toBe(true);
- setValue(false);
- expect(value(), "value after change should be false").toBe(false);
- dispose();
- }));
-});
diff --git a/packages/transition-group/test/switch-transition.test.ts b/packages/transition-group/test/switch-transition.test.ts
new file mode 100644
index 000000000..01453f999
--- /dev/null
+++ b/packages/transition-group/test/switch-transition.test.ts
@@ -0,0 +1,187 @@
+import { describe, it, expect, vi } from "vitest";
+import { createRoot, createSignal } from "solid-js";
+import { createSwitchTransition } from "../src";
+
+describe("createSwitchTransition", () => {
+ const el1 = document.createElement("div");
+ const el2 = document.createElement("div");
+
+ it("renders items immediately on the initial run", () =>
+ createRoot(dispose => {
+ const result = createSwitchTransition(() => el1, {});
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el1);
+ dispose();
+ }));
+
+ it("reacts to changes to children", () =>
+ createRoot(dispose => {
+ const [children, setChildren] = createSignal();
+ const result = createSwitchTransition(children, {});
+ expect(result()).toHaveLength(0);
+
+ setChildren(el1);
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el1);
+ dispose();
+ }));
+
+ it("transitions element out", () => {
+ return createRoot(dispose => {
+ const [children, setChildren] = createSignal(el1);
+ const fn = vi.fn();
+ const result = createSwitchTransition(children, {
+ onExit: fn,
+ });
+ expect(result()).toHaveLength(1);
+
+ setChildren(null);
+ expect(result()).toHaveLength(1);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ const done = fn.mock.calls[0]![1];
+ done();
+ expect(result()).toHaveLength(0);
+
+ dispose();
+ });
+ });
+
+ it("transitions element in", () => {
+ return createRoot(dispose => {
+ const [children, setChildren] = createSignal(null);
+ const fn = vi.fn();
+ const result = createSwitchTransition(children, {
+ onEnter: fn,
+ });
+ expect(result()).toHaveLength(0);
+
+ setChildren(el1);
+ expect(result()).toHaveLength(1);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ dispose();
+ });
+ });
+
+ it("transitions element in on appear", () => {
+ return createRoot(dispose => {
+ const fn = vi.fn();
+ const result = createSwitchTransition(() => el1, {
+ onEnter: fn,
+ appear: true,
+ });
+ expect(result()).toHaveLength(1);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ dispose();
+ });
+ });
+
+ it("toggles between two elements", () => {
+ return createRoot(dispose => {
+ const [children, setChildren] = createSignal(el1);
+ const enterCb = vi.fn();
+ const exitCb = vi.fn();
+ const result = createSwitchTransition(children, {
+ onExit: exitCb,
+ onEnter: enterCb,
+ });
+ expect(result()).toHaveLength(1);
+ expect(enterCb).not.toHaveBeenCalled();
+ expect(exitCb).not.toHaveBeenCalled();
+
+ setChildren(el2);
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el2);
+ expect(result()[1]).toBe(el1);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(enterCb).toHaveBeenCalledWith(el2, expect.any(Function));
+ expect(exitCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ const exitDone = exitCb.mock.calls[0]![1];
+ exitDone();
+ expect(result()).toHaveLength(1);
+
+ dispose();
+ });
+ });
+
+ it("toggles between two elements out-in", () => {
+ return createRoot(dispose => {
+ const [children, setChildren] = createSignal(el1);
+ const enterCb = vi.fn();
+ const exitCb = vi.fn();
+ const result = createSwitchTransition(children, {
+ onExit: exitCb,
+ onEnter: enterCb,
+ mode: "out-in",
+ });
+ expect(result()).toHaveLength(1);
+ expect(enterCb).not.toHaveBeenCalled();
+ expect(exitCb).not.toHaveBeenCalled();
+
+ setChildren(el2);
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el1);
+ expect(enterCb).not.toHaveBeenCalled();
+ expect(exitCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ const exitDone = exitCb.mock.calls[0]![1];
+ exitDone();
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el2);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(enterCb).toHaveBeenCalledWith(el2, expect.any(Function));
+
+ dispose();
+ });
+ });
+
+ it("toggles between two elements in-out", () => {
+ return createRoot(dispose => {
+ const [children, setChildren] = createSignal(el1);
+ const enterCb = vi.fn();
+ const exitCb = vi.fn();
+ const result = createSwitchTransition(children, {
+ onExit: exitCb,
+ onEnter: enterCb,
+ mode: "in-out",
+ });
+ expect(result()).toHaveLength(1);
+ expect(enterCb).not.toHaveBeenCalled();
+ expect(exitCb).not.toHaveBeenCalled();
+
+ setChildren(el2);
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el2);
+ expect(result()[1]).toBe(el1);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(enterCb).toHaveBeenCalledWith(el2, expect.any(Function));
+ expect(exitCb).not.toHaveBeenCalled();
+
+ const enterDone = enterCb.mock.calls[0]![1];
+ enterDone();
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el2);
+ expect(result()[1]).toBe(el1);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ const exitDone = exitCb.mock.calls[0]![1];
+ exitDone();
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el2);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledOnce();
+
+ dispose();
+ });
+ });
+});
From 95d326c44b0dda55a68019d3fd801c8174162353 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Sun, 26 Feb 2023 21:18:13 +0100
Subject: [PATCH 03/33] Add `createListTransition` to transition-group
---
packages/transition-group/dev/list-page.tsx | 169 ++++++++++++++------
packages/transition-group/src/index.ts | 133 ++++++++++++---
2 files changed, 228 insertions(+), 74 deletions(-)
diff --git a/packages/transition-group/dev/list-page.tsx b/packages/transition-group/dev/list-page.tsx
index 33e8d5257..3768cf6d8 100644
--- a/packages/transition-group/dev/list-page.tsx
+++ b/packages/transition-group/dev/list-page.tsx
@@ -1,28 +1,13 @@
-import { children, ParentComponent } from "solid-js";
-import { elements, mapRemoved } from "@solid-primitives/refs";
+import { children, onCleanup, untrack } from "solid-js";
+import { elements } from "@solid-primitives/refs";
import { Component, createSignal, For, Show } from "solid-js";
-import { createCallbackStack } from "@solid-primitives/utils";
+import { createListTransition } from "../src";
-const Keep: ParentComponent<{
- getClear?: (fn: VoidFunction) => void;
-}> = props => {
- const resolved = children(() => props.children);
- const refs = elements(resolved, HTMLElement);
- const stack = createCallbackStack();
- props.getClear?.(stack.execute);
- const combined = mapRemoved(refs, (ref, i) => {
- const [el, setEl] = createSignal(ref);
- console.log("REMOVED", i());
- stack.push(() => setEl(undefined));
- ref!.style.filter = "grayscale(100%)";
- ref!.style.position = "relative";
- ref!.appendChild(({i()}
) as Element);
-
- ref!.addEventListener("click", () => setEl(undefined));
-
- return el;
+const grayOutOnDispose = (el: HTMLElement) => {
+ onCleanup(() => {
+ el.style.filter = "grayscale(60%)";
+ el.style.zIndex = "0";
});
- return combined;
};
const ListPage: Component = () => {
@@ -30,17 +15,22 @@ const ListPage: Component = () => {
const [show1, setShow1] = createSignal(false);
const [show2, setShow2] = createSignal(true);
const [showWrapper, setShowWrapper] = createSignal(true);
- const [count, setCount] = createSignal(5);
- let clear!: VoidFunction;
+ const [list, setList] = createSignal([{ n: 1 }, { n: 2 }, { n: 3 }, { n: 4 }, { n: 5 }]);
return (
<>
- setCount(p => ++p)}>
+ setList(p => [...p, { n: (p[p.length - 1]?.n ?? -1) + 1 }])}
+ >
+ 1
- setCount(p => --p)}>
+ setList(p => (p.length > 0 ? p.slice(0, p.length - 1) : p))}
+ >
- 1
setShow(p => !p)}>
@@ -55,33 +45,110 @@ const ListPage: Component = () => {
setShowWrapper(p => !p)}>
toggle wrapper
- clear()}>
- clear
-
-
-
(clear = fn)}>
-
- Hello
- World
- {show() && ID 0
}
- {/* [
- ref={el => console.log(el)}
- onMount={el => console.log("Mounted", el)}
- > */}
- ]
- ID 1
-
- {/* */}
-
- ID 2
- ID 3
+
+ {untrack(() => {
+ const resolved = children(() => (
+
+ Hello
+ World
+ {show() && (
+
+ ID 0
+
+ )}
+
+
+ ID 1
+
+
+
+
+ ID 2
+
+
+ ID 3
+
+
+
+ {({ n }, i) => (
+
+ setList(p => {
+ const copy = p.slice();
+ copy.splice(i(), 1);
+ return copy;
+ })
+ }
+ ref={grayOutOnDispose}
+ >
+ {n + 1}.
+
+ )}
+
-
i)}>
- {i => {i + 1}.
}
-
-
-
+ ));
+ const refs = elements(resolved, HTMLElement);
+
+ const options = { duration: 600, easing: "cubic-bezier(0.4, 0, 0.2, 1)" };
+
+ return createListTransition(refs, {
+ appear: true,
+ onChange({ added, finishRemoved, moved, removed }) {
+ added.forEach(el => {
+ el.style.opacity = "0";
+ el.style.transform = "translateY(10px)";
+ requestAnimationFrame(() => {
+ el.animate(
+ [
+ { opacity: 0, transform: "translateY(-36px)" },
+ { opacity: 1, transform: "translateY(0)" },
+ ],
+ { ...options, fill: "both" },
+ );
+ });
+ });
+
+ moved.forEach(el => {
+ const { left: left1, top: top1 } = el.getBoundingClientRect();
+ requestAnimationFrame(() => {
+ const { left: left2, top: top2 } = el.getBoundingClientRect();
+ el.animate(
+ [
+ { transform: `translate(${left1 - left2}px, ${top1 - top2}px)` },
+ { transform: "none" },
+ ],
+ options,
+ );
+ });
+ });
+
+ const removedRects = removed.map(el => el.getBoundingClientRect());
+ removed.forEach(el => {
+ el.style.transform = "none";
+ el.style.position = "absolute";
+ });
+ removed.forEach((el, i) => {
+ const { left: left1, top: top1 } = removedRects[i]!;
+ const { left: left2, top: top2 } = el.getBoundingClientRect();
+
+ const a = el.animate(
+ [
+ { transform: `translate(${left1 - left2}px, ${top1 - top2}px)` },
+ {
+ opacity: 0,
+ transform: `translate(${left1 - left2}px, ${top1 - top2 + 36}px)`,
+ },
+ ],
+ options,
+ );
+
+ i === removed.length - 1 && a.finished.then(() => finishRemoved(removed));
+ });
+ },
+ });
+ })}
>
);
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index bb4c6f24f..c02893dd2 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -1,21 +1,23 @@
-import { FalsyValue, noop } from "@solid-primitives/utils";
-import { Accessor, batch, createComputed, createSignal, untrack } from "solid-js";
+import { Accessor, batch, createComputed, createSignal, untrack, $TRACK } from "solid-js";
+
+const noop = () => {};
+const noopTransition = (el: any, done: () => void) => done();
export type TransitionMode = "out-in" | "in-out" | "parallel";
-const logEl = (el: any) => (el ? el.textContent : null);
+export type OnTransition = (el: NonNullable, done: () => void) => void;
-const noopTransition = (el: any, done: () => void) => done();
+export type SwitchTransitionOptions = {
+ onEnter?: OnTransition;
+ onExit?: OnTransition;
+ mode?: TransitionMode;
+ appear?: boolean;
+};
-export function createSwitchTransition(
- source: Accessor,
- props: {
- onEnter?: (el: T, done: () => void) => void;
- onExit?: (el: T, done: () => void) => void;
- mode?: TransitionMode;
- appear?: boolean;
- },
-): Accessor {
+export function createSwitchTransition(
+ source: Accessor,
+ options: SwitchTransitionOptions,
+): Accessor[]> {
if (process.env.SSR) {
let el: any = source();
el = el ? [el] : [];
@@ -23,11 +25,11 @@ export function createSwitchTransition(
}
// eslint-disable-next-line prefer-const
- let { onEnter = noopTransition, onExit = noopTransition } = props;
+ let { onEnter = noopTransition, onExit = noopTransition } = options;
- // prevent the first enter transition if appear is disabled
+ // skip the first enter transition if appear is disabled
let init = true;
- if (!props.appear) {
+ if (!options.appear) {
const _onEnter = onEnter;
onEnter = (el, done) => {
onEnter = _onEnter;
@@ -35,36 +37,36 @@ export function createSwitchTransition(
};
}
- const [returned, setReturned] = createSignal([]);
+ const [returned, setReturned] = createSignal[]>([]);
let next: T | undefined;
let isExiting = false;
function exitTransition(el: T | undefined, after?: () => void) {
- if (!el) return after?.();
+ if (!el) return after && after();
isExiting = true;
onExit(el, () => {
batch(() => {
isExiting = false;
setReturned(p => p.filter(e => e !== el));
- after?.();
+ after && after();
});
});
}
function enterTransition(after?: () => void) {
const el = next;
- if (!el) return after?.();
+ if (!el) return after && after();
next = undefined;
setReturned(p => [el, ...p]);
onEnter(el, after ?? noop);
}
const transition: (prev: T | undefined) => void =
- props.mode === "out-in"
+ options.mode === "out-in"
? // exit -> enter
prev => isExiting || exitTransition(prev, enterTransition)
- : props.mode === "in-out"
+ : options.mode === "in-out"
? // enter -> exit
prev => enterTransition(() => exitTransition(prev))
: // exit & enter
@@ -74,7 +76,7 @@ export function createSwitchTransition(
};
createComputed((prev: T | undefined) => {
- const el = source() || undefined;
+ const el = source();
if (el !== prev) {
next = el;
untrack(() => batch(() => transition(prev)));
@@ -85,3 +87,88 @@ export function createSwitchTransition(
init = false;
return returned;
}
+
+export type OnListChange = (payload: {
+ added: T[];
+ removed: T[];
+ moved: T[];
+ finishRemoved: (els: T[]) => void;
+}) => void;
+
+export type ListTransitionOptions = {
+ onChange: OnListChange;
+ appear?: boolean;
+};
+
+export function createListTransition(
+ source: Accessor[]>,
+ options: ListTransitionOptions>,
+): Accessor[]> {
+ if (process.env.SSR) {
+ const copy = source().slice();
+ return () => copy;
+ }
+
+ type V = NonNullable;
+
+ let { onChange } = options;
+
+ // skip the first enter transition if appear is disabled
+ let init = true;
+ if (!options.appear) {
+ const _onChange = onChange;
+ onChange = data => {
+ onChange = _onChange;
+ init || onChange(data);
+ };
+ }
+
+ const [returned, setReturned] = createSignal([]);
+
+ let prevSet: ReadonlySet = new Set();
+ const exiting = new Set();
+
+ function finishRemoved(els: V[]): void {
+ setReturned(p => p.filter(e => !els.includes(e)));
+ for (const el of els) exiting.delete(el);
+ }
+
+ createComputed(() => {
+ const list = source();
+ (list as any)[$TRACK]; // top level store tracking
+
+ untrack(() => {
+ setReturned(prev => {
+ const nextSet: ReadonlySet = new Set(list);
+ const next: V[] = list.slice();
+
+ const added: V[] = [];
+ const removed: V[] = [];
+ const moved: V[] = [];
+
+ for (const el of list) {
+ (prevSet.has(el) ? moved : added).push(el);
+ }
+
+ for (let i = 0; i < prev.length; i++) {
+ const el = prev[i]!;
+ if (!nextSet.has(el)) {
+ if (!exiting.has(el)) {
+ removed.push(el);
+ exiting.add(el);
+ }
+ next.splice(i, 0, el);
+ }
+ }
+
+ onChange({ added, removed, moved, finishRemoved });
+
+ prevSet = nextSet;
+ return next;
+ });
+ });
+ });
+
+ init = false;
+ return returned;
+}
From 6f0a0e587c01ed9c7fd351b58700b16ac5c77a73 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Sun, 26 Feb 2023 22:41:21 +0100
Subject: [PATCH 04/33] Test `createListTransition`, add ssr tests
---
packages/transition-group/src/index.ts | 4 +-
.../test/list-transition.test.ts | 129 ++++++++++++++++++
packages/transition-group/test/server.test.ts | 25 +++-
3 files changed, 151 insertions(+), 7 deletions(-)
create mode 100644 packages/transition-group/test/list-transition.test.ts
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index c02893dd2..c0ec84679 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -5,7 +5,7 @@ const noopTransition = (el: any, done: () => void) => done();
export type TransitionMode = "out-in" | "in-out" | "parallel";
-export type OnTransition = (el: NonNullable, done: () => void) => void;
+export type OnTransition = (el: T, done: () => void) => void;
export type SwitchTransitionOptions = {
onEnter?: OnTransition;
@@ -16,7 +16,7 @@ export type SwitchTransitionOptions = {
export function createSwitchTransition(
source: Accessor,
- options: SwitchTransitionOptions,
+ options: SwitchTransitionOptions>,
): Accessor[]> {
if (process.env.SSR) {
let el: any = source();
diff --git a/packages/transition-group/test/list-transition.test.ts b/packages/transition-group/test/list-transition.test.ts
new file mode 100644
index 000000000..ff075b93d
--- /dev/null
+++ b/packages/transition-group/test/list-transition.test.ts
@@ -0,0 +1,129 @@
+import { describe, it, expect, vi } from "vitest";
+import { createRoot, createSignal } from "solid-js";
+import { createListTransition, ListTransitionOptions } from "../src";
+
+describe("createListTransition", () => {
+ const el1 = document.createElement("div");
+ const el2 = document.createElement("div");
+ const el3 = document.createElement("div");
+ const el4 = document.createElement("div");
+
+ it("renders items immediately on the initial run", () =>
+ createRoot(dispose => {
+ const result = createListTransition(() => [el1, el2], {
+ onChange: () => {},
+ });
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el1);
+ expect(result()[1]).toBe(el2);
+ dispose();
+ }));
+
+ it("reacts to changes to children", () =>
+ createRoot(dispose => {
+ const [children, setChildren] = createSignal([]);
+ const result = createListTransition(children, {
+ onChange: () => {},
+ });
+ expect(result()).toHaveLength(0);
+
+ setChildren([el1, el2]);
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el1);
+ expect(result()[1]).toBe(el2);
+ dispose();
+ }));
+
+ it("transitions added, removed and moved elements", () => {
+ return createRoot(dispose => {
+ const [children, setChildren] = createSignal([el1, el2]);
+ const fn = vi.fn();
+ const result = createListTransition(children, {
+ onChange: fn,
+ });
+ expect(result()).toHaveLength(2);
+
+ setChildren([el3, el1, el4]);
+ expect(result()).toHaveLength(4);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith({
+ added: [el3, el4],
+ removed: [el2],
+ moved: [el1],
+ finishRemoved: expect.any(Function),
+ } satisfies Parameters["onChange"]>[0]);
+
+ const done = fn.mock.calls[0]![0].finishRemoved;
+ done([el2]);
+ expect(result()).toHaveLength(3);
+
+ dispose();
+ });
+ });
+
+ it("transitions element in on appear", () => {
+ return createRoot(dispose => {
+ const fn = vi.fn();
+ const result = createListTransition(() => [el1, el2], {
+ onChange: fn,
+ appear: true,
+ });
+ expect(result()).toHaveLength(2);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith({
+ added: [el1, el2],
+ removed: [],
+ moved: [],
+ finishRemoved: expect.any(Function),
+ });
+
+ dispose();
+ });
+ });
+
+ it("can transition multiple leaving elements", () => {
+ return createRoot(dispose => {
+ const [children, setChildren] = createSignal([el1, el2]);
+ const fn = vi.fn();
+ const result = createListTransition(children, {
+ onChange: fn,
+ });
+ expect(result()).toHaveLength(2);
+
+ setChildren([el2, el3]);
+ expect(result()).toHaveLength(3);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith({
+ added: [el3],
+ removed: [el1],
+ moved: [el2],
+ finishRemoved: expect.any(Function),
+ });
+
+ const done1 = fn.mock.calls[0]![0].finishRemoved;
+
+ setChildren([]);
+
+ expect(result()).toHaveLength(3);
+ expect(fn).toHaveBeenCalledTimes(2);
+ expect(fn).toHaveBeenLastCalledWith({
+ added: [],
+ removed: [el2, el3],
+ moved: [],
+ finishRemoved: expect.any(Function),
+ });
+
+ const done2 = fn.mock.calls[1]![0].finishRemoved;
+
+ done1([el1]);
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el2);
+ expect(result()[1]).toBe(el3);
+
+ done2([el2, el3]);
+ expect(result()).toHaveLength(0);
+
+ dispose();
+ });
+ });
+});
diff --git a/packages/transition-group/test/server.test.ts b/packages/transition-group/test/server.test.ts
index 887e271dc..b97cf5f08 100644
--- a/packages/transition-group/test/server.test.ts
+++ b/packages/transition-group/test/server.test.ts
@@ -1,9 +1,24 @@
import { describe, test, expect } from "vitest";
-import { createPrimitiveTemplate } from "../src";
+import { createSwitchTransition, createListTransition } from "../src";
-describe("createPrimitiveTemplate", () => {
- test("doesn't break in SSR", () => {
- const [value, setValue] = createPrimitiveTemplate(true);
- expect(value(), "initial value should be true").toBe(true);
+const el1 = { t: "1
" };
+const el2 = { t: "2
" };
+
+describe("createSwitchTransition", () => {
+ test("returns initial elements", () => {
+ const result = createSwitchTransition(() => el1, {});
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el1);
+ });
+});
+
+describe("createListTransition", () => {
+ test("returns initial elements", () => {
+ const result = createListTransition(() => [el1, el2], {
+ onChange: () => {},
+ });
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el1);
+ expect(result()[1]).toBe(el2);
});
});
From e049ea6484b4f260612ed330757a8173437c1d07 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Mon, 27 Feb 2023 14:22:02 +0100
Subject: [PATCH 05/33] Support suspending transition-group primitives
---
packages/transition-group/dev/list-page.tsx | 205 +++++++------
packages/transition-group/dev/switch-page.tsx | 93 ++++--
packages/transition-group/src/index.ts | 105 ++++---
.../test/list-transition.test.ts | 203 ++++++++-----
packages/transition-group/test/server.test.ts | 19 +-
.../test/switch-transition.test.ts | 277 +++++++++++-------
6 files changed, 555 insertions(+), 347 deletions(-)
diff --git a/packages/transition-group/dev/list-page.tsx b/packages/transition-group/dev/list-page.tsx
index 3768cf6d8..13beb69de 100644
--- a/packages/transition-group/dev/list-page.tsx
+++ b/packages/transition-group/dev/list-page.tsx
@@ -1,4 +1,11 @@
-import { children, onCleanup, untrack } from "solid-js";
+import {
+ children,
+ createRenderEffect,
+ createResource,
+ onCleanup,
+ Suspense,
+ untrack,
+} from "solid-js";
import { elements } from "@solid-primitives/refs";
import { Component, createSignal, For, Show } from "solid-js";
import { createListTransition } from "../src";
@@ -18,8 +25,21 @@ const ListPage: Component = () => {
const [list, setList] = createSignal([{ n: 1 }, { n: 2 }, { n: 3 }, { n: 4 }, { n: 5 }]);
+ const [runResource, setRunResource] = createSignal(false);
+ let resolve = () => {};
+ const [res] = createResource(runResource, () => new Promise(r => (resolve = r)));
+
return (
<>
+ {
+ resolve();
+ setRunResource(p => !p);
+ }}
+ >
+ {runResource() ? "Stop" : "Start"} Resource
+
{
- {untrack(() => {
- const resolved = children(() => (
-
- Hello
- World
- {show() && (
-
- ID 0
-
- )}
-
-
- ID 1
-
-
-
-
- ID 2
-
-
- ID 3
-
-
-
- {({ n }, i) => (
-
- setList(p => {
- const copy = p.slice();
- copy.splice(i(), 1);
- return copy;
- })
- }
- ref={grayOutOnDispose}
- >
- {n + 1}.
+
Suspended}>
+ {untrack(() => {
+ // track the resource
+ createRenderEffect(res);
+
+ const resolved = children(() => (
+
+ Hello
+ World
+ {show() && (
+
+ ID 0
)}
-
-
- ));
- const refs = elements(resolved, HTMLElement);
+
+
+ ID 1
+
+
+
+
+ ID 2
+
+
+ ID 3
+
+
+
+ {({ n }, i) => (
+
+ setList(p => {
+ const copy = p.slice();
+ copy.splice(i(), 1);
+ return copy;
+ })
+ }
+ ref={grayOutOnDispose}
+ >
+ {n + 1}.
+
+ )}
+
+
+ ));
+ const refs = elements(resolved, HTMLElement);
- const options = { duration: 600, easing: "cubic-bezier(0.4, 0, 0.2, 1)" };
+ const options = { duration: 600, easing: "cubic-bezier(0.4, 0, 0.2, 1)" };
- return createListTransition(refs, {
- appear: true,
- onChange({ added, finishRemoved, moved, removed }) {
- added.forEach(el => {
- el.style.opacity = "0";
- el.style.transform = "translateY(10px)";
- requestAnimationFrame(() => {
- el.animate(
- [
- { opacity: 0, transform: "translateY(-36px)" },
- { opacity: 1, transform: "translateY(0)" },
- ],
- { ...options, fill: "both" },
- );
+ return createListTransition(refs, {
+ appear: true,
+ onChange({ added, finishRemoved, moved, removed }) {
+ added.forEach(el => {
+ el.style.opacity = "0";
+ el.style.transform = "translateY(10px)";
+ requestAnimationFrame(() => {
+ el.animate(
+ [
+ { opacity: 0, transform: "translateY(-36px)" },
+ { opacity: 1, transform: "translateY(0)" },
+ ],
+ { ...options, fill: "both" },
+ );
+ });
+ });
+
+ moved.forEach(el => {
+ const { left: left1, top: top1 } = el.getBoundingClientRect();
+ requestAnimationFrame(() => {
+ const { left: left2, top: top2 } = el.getBoundingClientRect();
+ el.animate(
+ [
+ { transform: `translate(${left1 - left2}px, ${top1 - top2}px)` },
+ { transform: "none" },
+ ],
+ options,
+ );
+ });
});
- });
- moved.forEach(el => {
- const { left: left1, top: top1 } = el.getBoundingClientRect();
- requestAnimationFrame(() => {
+ const removedRects = removed.map(el => el.getBoundingClientRect());
+ removed.forEach(el => {
+ el.style.transform = "none";
+ el.style.position = "absolute";
+ });
+ removed.forEach((el, i) => {
+ const { left: left1, top: top1 } = removedRects[i]!;
const { left: left2, top: top2 } = el.getBoundingClientRect();
- el.animate(
+
+ const a = el.animate(
[
{ transform: `translate(${left1 - left2}px, ${top1 - top2}px)` },
- { transform: "none" },
+ {
+ opacity: 0,
+ transform: `translate(${left1 - left2}px, ${top1 - top2 + 36}px)`,
+ },
],
options,
);
- });
- });
-
- const removedRects = removed.map(el => el.getBoundingClientRect());
- removed.forEach(el => {
- el.style.transform = "none";
- el.style.position = "absolute";
- });
- removed.forEach((el, i) => {
- const { left: left1, top: top1 } = removedRects[i]!;
- const { left: left2, top: top2 } = el.getBoundingClientRect();
- const a = el.animate(
- [
- { transform: `translate(${left1 - left2}px, ${top1 - top2}px)` },
- {
- opacity: 0,
- transform: `translate(${left1 - left2}px, ${top1 - top2 + 36}px)`,
- },
- ],
- options,
- );
-
- i === removed.length - 1 && a.finished.then(() => finishRemoved(removed));
- });
- },
- });
- })}
+ i === removed.length - 1 && a.finished.then(() => finishRemoved(removed));
+ });
+ },
+ });
+ })}
+
>
);
diff --git a/packages/transition-group/dev/switch-page.tsx b/packages/transition-group/dev/switch-page.tsx
index d09a82f6f..670e3b3e3 100644
--- a/packages/transition-group/dev/switch-page.tsx
+++ b/packages/transition-group/dev/switch-page.tsx
@@ -1,4 +1,15 @@
-import { Component, createSignal, JSX, onCleanup, ParentProps, Show } from "solid-js";
+import {
+ Component,
+ createRenderEffect,
+ createResource,
+ createSignal,
+ JSX,
+ onCleanup,
+ ParentProps,
+ Show,
+ Suspense,
+ untrack,
+} from "solid-js";
import { resolveFirst } from "@solid-primitives/refs";
import { createSwitchTransition, TransitionMode } from "../src";
@@ -9,7 +20,7 @@ function Transition(props: ParentProps & { mode: TransitionMode }): JSX.Element
);
const animateIn = (el: HTMLElement, done: VoidFunction) => {
- if (!el.isConnected) throw el.textContent + " is not connected!!";
+ if (!el.isConnected) console.warn(el.textContent + " is not connected on enter!!");
const a = el.animate(
[
{ opacity: 0, transform: "translate(100px)" },
@@ -26,7 +37,7 @@ function Transition(props: ParentProps & { mode: TransitionMode }): JSX.Element
};
const animateOut = (el: HTMLElement, done: VoidFunction) => {
- if (!el.isConnected) throw el.textContent + " is not connected!!";
+ if (!el.isConnected) console.warn(el.textContent + " is not connected on exit!!");
const left1 = el.getBoundingClientRect().left;
animationMap.get(el)?.cancel();
const left2 = el.getBoundingClientRect().left;
@@ -55,6 +66,7 @@ function Transition(props: ParentProps & { mode: TransitionMode }): JSX.Element
animateOut(el, done);
},
mode: props.mode,
+ // appear: true,
});
}
@@ -65,7 +77,11 @@ const grayOutOnDispose = (el: HTMLElement) => {
});
};
-function Example(props: { mode: TransitionMode; withFallback?: true }): JSX.Element {
+function Example(props: {
+ mode: TransitionMode;
+ withFallback?: true;
+ resource: VoidFunction;
+}): JSX.Element {
const { withFallback, mode } = props;
const [toggle, setToggle] = createSignal(true);
@@ -77,37 +93,62 @@ function Example(props: { mode: TransitionMode; withFallback?: true }): JSX.Elem
setToggle(!toggle())}>
{toggle() ? "Hide" : "Show"}
-
-
- B{i++}
-
- )
- }
- >
-
- A{i++}
-
-
-
+ Suspended}>
+ {untrack(() => {
+ // track the resource
+ createRenderEffect(props.resource);
+
+ return (
+
+
+ B{i++}
+
+ )
+ }
+ >
+
+ A{i++}
+
+
+
+ );
+ })}
+
);
}
const SwitchPage: Component = () => {
+ const [runResource, setRunResource] = createSignal(false);
+ let resolve = () => {};
+ const [res] = createResource(runResource, () => new Promise(r => (resolve = r)));
+
return (
<>
+ {
+ resolve();
+ setRunResource(p => !p);
+ }}
+ >
+ {runResource() ? "Stop" : "Start"} Resource
+
Toggle
-
-
-
+
+
+
Switch
-
-
-
+
+
+
>
);
};
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index c0ec84679..d9fff8332 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -1,4 +1,4 @@
-import { Accessor, batch, createComputed, createSignal, untrack, $TRACK } from "solid-js";
+import { Accessor, batch, createSignal, untrack, $TRACK, createEffect } from "solid-js";
const noop = () => {};
const noopTransition = (el: any, done: () => void) => done();
@@ -18,26 +18,19 @@ export function createSwitchTransition(
source: Accessor,
options: SwitchTransitionOptions>,
): Accessor[]> {
+ const initSource = untrack(source);
+ // if appear is enabled, the initial list will be empty (to be updated in effect)
+ // otherwise, it will be the initial source
+ // this way it will be consistent between server and client
+ const initReturned = options.appear ? [] : initSource ? [initSource] : [];
+
if (process.env.SSR) {
- let el: any = source();
- el = el ? [el] : [];
- return () => el;
+ return () => initReturned;
}
- // eslint-disable-next-line prefer-const
- let { onEnter = noopTransition, onExit = noopTransition } = options;
-
- // skip the first enter transition if appear is disabled
- let init = true;
- if (!options.appear) {
- const _onEnter = onEnter;
- onEnter = (el, done) => {
- onEnter = _onEnter;
- init ? done() : onEnter(el, done);
- };
- }
+ const { onEnter = noopTransition, onExit = noopTransition } = options;
- const [returned, setReturned] = createSignal[]>([]);
+ const [returned, setReturned] = createSignal[]>(initReturned);
let next: T | undefined;
let isExiting = false;
@@ -75,16 +68,30 @@ export function createSwitchTransition(
exitTransition(prev);
};
- createComputed((prev: T | undefined) => {
- const el = source();
- if (el !== prev) {
- next = el;
- untrack(() => batch(() => transition(prev)));
- }
- return el;
- });
+ let shouldRun = options.appear;
+
+ // update elements and call transitions in effect to suspend under Suspense
+ createEffect(
+ (prev: T | undefined) => {
+ const el = source();
+
+ // skip the first transition if appear is disabled
+ if (!shouldRun) {
+ setReturned(el ? [el] : []);
+ shouldRun = true;
+ return el;
+ }
+
+ if (el !== prev) {
+ next = el;
+ untrack(() => transition(prev));
+ }
+
+ return el;
+ },
+ options.appear ? undefined : initSource,
+ );
- init = false;
return returned;
}
@@ -104,28 +111,23 @@ export function createListTransition(
source: Accessor[]>,
options: ListTransitionOptions>,
): Accessor[]> {
- if (process.env.SSR) {
- const copy = source().slice();
- return () => copy;
- }
-
type V = NonNullable;
- let { onChange } = options;
+ const initSource = untrack(source);
+ // if appear is enabled, the initial list will be empty (to be updated in effect)
+ // otherwise, it will be the initial source
+ // this way it will be consistent between server and client
+ const initialReturned = options.appear ? [] : initSource.slice();
- // skip the first enter transition if appear is disabled
- let init = true;
- if (!options.appear) {
- const _onChange = onChange;
- onChange = data => {
- onChange = _onChange;
- init || onChange(data);
- };
+ if (process.env.SSR) {
+ return () => initialReturned;
}
- const [returned, setReturned] = createSignal([]);
+ const { onChange } = options;
+
+ const [returned, setReturned] = createSignal(initialReturned);
- let prevSet: ReadonlySet = new Set();
+ let prevSet: ReadonlySet = new Set(options.appear ? undefined : initSource);
const exiting = new Set();
function finishRemoved(els: V[]): void {
@@ -133,11 +135,21 @@ export function createListTransition(
for (const el of els) exiting.delete(el);
}
- createComputed(() => {
+ let shouldRun = options.appear;
+ // update elements and call transitions in effect to suspend under Suspense
+ createEffect(() => {
const list = source();
(list as any)[$TRACK]; // top level store tracking
- untrack(() => {
+ // skip the first transition if appear is disabled
+ if (!shouldRun) {
+ shouldRun = true;
+ prevSet = new Set(list);
+ setReturned(list.slice());
+ return;
+ }
+
+ untrack(() =>
setReturned(prev => {
const nextSet: ReadonlySet = new Set(list);
const next: V[] = list.slice();
@@ -165,10 +177,9 @@ export function createListTransition(
prevSet = nextSet;
return next;
- });
- });
+ }),
+ );
});
- init = false;
return returned;
}
diff --git a/packages/transition-group/test/list-transition.test.ts b/packages/transition-group/test/list-transition.test.ts
index ff075b93d..734e1a483 100644
--- a/packages/transition-group/test/list-transition.test.ts
+++ b/packages/transition-group/test/list-transition.test.ts
@@ -1,12 +1,12 @@
import { describe, it, expect, vi } from "vitest";
-import { createRoot, createSignal } from "solid-js";
+import { createRenderEffect, createResource, createRoot, createSignal, Suspense } from "solid-js";
import { createListTransition, ListTransitionOptions } from "../src";
describe("createListTransition", () => {
const el1 = document.createElement("div");
- const el2 = document.createElement("div");
- const el3 = document.createElement("div");
- const el4 = document.createElement("div");
+ const el2 = document.createElement("span");
+ const el3 = document.createElement("button");
+ const el4 = document.createElement("section");
it("renders items immediately on the initial run", () =>
createRoot(dispose => {
@@ -19,111 +19,170 @@ describe("createListTransition", () => {
dispose();
}));
- it("reacts to changes to children", () =>
- createRoot(dispose => {
- const [children, setChildren] = createSignal([]);
+ it("reacts to changes to children", () => {
+ const [children, setChildren] = createSignal([]);
+
+ const { result, dispose } = createRoot(dispose => {
const result = createListTransition(children, {
onChange: () => {},
});
expect(result()).toHaveLength(0);
+ return { result, dispose };
+ });
+ expect(result()).toHaveLength(0);
- setChildren([el1, el2]);
- expect(result()).toHaveLength(2);
- expect(result()[0]).toBe(el1);
- expect(result()[1]).toBe(el2);
- dispose();
- }));
+ setChildren([el1, el2]);
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el1);
+ expect(result()[1]).toBe(el2);
+
+ dispose();
+ });
it("transitions added, removed and moved elements", () => {
- return createRoot(dispose => {
- const [children, setChildren] = createSignal([el1, el2]);
- const fn = vi.fn();
+ const [children, setChildren] = createSignal([el1, el2]);
+ const fn = vi.fn();
+
+ const { result, dispose } = createRoot(dispose => {
const result = createListTransition(children, {
onChange: fn,
});
expect(result()).toHaveLength(2);
-
- setChildren([el3, el1, el4]);
- expect(result()).toHaveLength(4);
- expect(fn).toHaveBeenCalledOnce();
- expect(fn).toHaveBeenCalledWith({
- added: [el3, el4],
- removed: [el2],
- moved: [el1],
- finishRemoved: expect.any(Function),
- } satisfies Parameters["onChange"]>[0]);
-
- const done = fn.mock.calls[0]![0].finishRemoved;
- done([el2]);
- expect(result()).toHaveLength(3);
-
- dispose();
+ expect(fn).not.toHaveBeenCalled();
+ return { result, dispose };
});
+ expect(result()).toHaveLength(2);
+ expect(fn).not.toHaveBeenCalled();
+
+ setChildren([el3, el1, el4]);
+ expect(result()).toHaveLength(4);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith({
+ added: [el3, el4],
+ removed: [el2],
+ moved: [el1],
+ finishRemoved: expect.any(Function),
+ } satisfies Parameters["onChange"]>[0]);
+
+ const done = fn.mock.calls[0]![0].finishRemoved;
+ done([el2]);
+ expect(result()).toHaveLength(3);
+
+ dispose();
});
it("transitions element in on appear", () => {
- return createRoot(dispose => {
- const fn = vi.fn();
+ const fn = vi.fn();
+
+ const { dispose, result } = createRoot(dispose => {
const result = createListTransition(() => [el1, el2], {
onChange: fn,
appear: true,
});
- expect(result()).toHaveLength(2);
- expect(fn).toHaveBeenCalledOnce();
- expect(fn).toHaveBeenCalledWith({
- added: [el1, el2],
- removed: [],
- moved: [],
- finishRemoved: expect.any(Function),
- });
+ expect(result()).toHaveLength(0);
+ expect(fn).not.toHaveBeenCalled();
+ return { dispose, result };
+ });
- dispose();
+ expect(result()).toHaveLength(2);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith({
+ added: [el1, el2],
+ removed: [],
+ moved: [],
+ finishRemoved: expect.any(Function),
});
+
+ dispose();
});
it("can transition multiple leaving elements", () => {
- return createRoot(dispose => {
- const [children, setChildren] = createSignal([el1, el2]);
- const fn = vi.fn();
+ const [children, setChildren] = createSignal([el1, el2]);
+ const fn = vi.fn();
+
+ const { result, dispose } = createRoot(dispose => {
const result = createListTransition(children, {
onChange: fn,
});
expect(result()).toHaveLength(2);
+ return { dispose, result };
+ });
- setChildren([el2, el3]);
- expect(result()).toHaveLength(3);
- expect(fn).toHaveBeenCalledOnce();
- expect(fn).toHaveBeenCalledWith({
- added: [el3],
- removed: [el1],
- moved: [el2],
- finishRemoved: expect.any(Function),
- });
+ setChildren([el2, el3]);
+ expect(result()).toHaveLength(3);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith({
+ added: [el3],
+ removed: [el1],
+ moved: [el2],
+ finishRemoved: expect.any(Function),
+ });
+
+ const done1 = fn.mock.calls[0]![0].finishRemoved;
- const done1 = fn.mock.calls[0]![0].finishRemoved;
+ setChildren([]);
- setChildren([]);
+ expect(result()).toHaveLength(3);
+ expect(fn).toHaveBeenCalledTimes(2);
+ expect(fn).toHaveBeenLastCalledWith({
+ added: [],
+ removed: [el2, el3],
+ moved: [],
+ finishRemoved: expect.any(Function),
+ });
+
+ const done2 = fn.mock.calls[1]![0].finishRemoved;
+
+ done1([el1]);
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el2);
+ expect(result()[1]).toBe(el3);
+
+ done2([el2, el3]);
+ expect(result()).toHaveLength(0);
+
+ dispose();
+ });
- expect(result()).toHaveLength(3);
- expect(fn).toHaveBeenCalledTimes(2);
- expect(fn).toHaveBeenLastCalledWith({
- added: [],
- removed: [el2, el3],
- moved: [],
- finishRemoved: expect.any(Function),
+ it("suspends under Suspense", () => {
+ const onChange = vi.fn();
+
+ const [children, setChildren] = createSignal([el1]);
+ const [runResource, setRunResource] = createSignal(true);
+ let resolve = () => {};
+
+ const dispose = createRoot(dispose => {
+ const [res] = createResource(runResource, () => new Promise(r => (resolve = r)));
+ Suspense({
+ get children() {
+ createRenderEffect(res);
+ return createListTransition(children, { onChange });
+ },
});
+ return dispose;
+ });
- const done2 = fn.mock.calls[1]![0].finishRemoved;
+ expect(onChange).not.toHaveBeenCalled();
- done1([el1]);
- expect(result()).toHaveLength(2);
- expect(result()[0]).toBe(el2);
- expect(result()[1]).toBe(el3);
+ setChildren([el2]);
- done2([el2, el3]);
- expect(result()).toHaveLength(0);
+ expect(onChange).not.toHaveBeenCalled();
- dispose();
+ resolve();
+ setRunResource(false);
+
+ expect(onChange).not.toHaveBeenCalled();
+
+ setChildren([el1, el3]);
+
+ expect(onChange).toHaveBeenCalledOnce();
+ expect(onChange).toHaveBeenLastCalledWith({
+ added: [el1, el3],
+ removed: [el2],
+ moved: [],
+ finishRemoved: expect.any(Function),
});
+
+ dispose();
});
});
diff --git a/packages/transition-group/test/server.test.ts b/packages/transition-group/test/server.test.ts
index b97cf5f08..ee33804c6 100644
--- a/packages/transition-group/test/server.test.ts
+++ b/packages/transition-group/test/server.test.ts
@@ -1,19 +1,24 @@
-import { describe, test, expect } from "vitest";
+import { describe, it, expect } from "vitest";
import { createSwitchTransition, createListTransition } from "../src";
const el1 = { t: "1
" };
const el2 = { t: "2
" };
describe("createSwitchTransition", () => {
- test("returns initial elements", () => {
+ it("returns initial elements", () => {
const result = createSwitchTransition(() => el1, {});
expect(result()).toHaveLength(1);
expect(result()[0]).toBe(el1);
});
+
+ it("returns empty array if appear is enabled", () => {
+ const result = createSwitchTransition(() => el1, { appear: true });
+ expect(result()).toHaveLength(0);
+ });
});
describe("createListTransition", () => {
- test("returns initial elements", () => {
+ it("returns initial elements", () => {
const result = createListTransition(() => [el1, el2], {
onChange: () => {},
});
@@ -21,4 +26,12 @@ describe("createListTransition", () => {
expect(result()[0]).toBe(el1);
expect(result()[1]).toBe(el2);
});
+
+ it("returns empty array if appear is enabled", () => {
+ const result = createListTransition(() => [el1, el2], {
+ onChange: () => {},
+ appear: true,
+ });
+ expect(result()).toHaveLength(0);
+ });
});
diff --git a/packages/transition-group/test/switch-transition.test.ts b/packages/transition-group/test/switch-transition.test.ts
index 01453f999..6a1e75bd0 100644
--- a/packages/transition-group/test/switch-transition.test.ts
+++ b/packages/transition-group/test/switch-transition.test.ts
@@ -1,10 +1,11 @@
import { describe, it, expect, vi } from "vitest";
-import { createRoot, createSignal } from "solid-js";
+import { createRenderEffect, createResource, createRoot, createSignal, Suspense } from "solid-js";
import { createSwitchTransition } from "../src";
describe("createSwitchTransition", () => {
const el1 = document.createElement("div");
const el2 = document.createElement("div");
+ const el3 = document.createElement("div");
it("renders items immediately on the initial run", () =>
createRoot(dispose => {
@@ -14,78 +15,88 @@ describe("createSwitchTransition", () => {
dispose();
}));
- it("reacts to changes to children", () =>
- createRoot(dispose => {
- const [children, setChildren] = createSignal();
+ it("reacts to changes to children", () => {
+ const [children, setChildren] = createSignal();
+
+ const { result, dispose } = createRoot(dispose => {
const result = createSwitchTransition(children, {});
expect(result()).toHaveLength(0);
+ return { result, dispose };
+ });
+ expect(result()).toHaveLength(0);
- setChildren(el1);
- expect(result()).toHaveLength(1);
- expect(result()[0]).toBe(el1);
- dispose();
- }));
+ setChildren(el1);
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el1);
+ dispose();
+ });
it("transitions element out", () => {
- return createRoot(dispose => {
- const [children, setChildren] = createSignal(el1);
- const fn = vi.fn();
- const result = createSwitchTransition(children, {
- onExit: fn,
- });
- expect(result()).toHaveLength(1);
+ const [children, setChildren] = createSignal(el1);
+ const fn = vi.fn();
- setChildren(null);
+ const { result, dispose } = createRoot(dispose => {
+ const result = createSwitchTransition(children, { onExit: fn });
expect(result()).toHaveLength(1);
- expect(fn).toHaveBeenCalledOnce();
- expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
+ return { result, dispose };
+ });
- const done = fn.mock.calls[0]![1];
- done();
- expect(result()).toHaveLength(0);
+ setChildren(null);
+ expect(result()).toHaveLength(1);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
- dispose();
- });
+ const done = fn.mock.calls[0]![1];
+ done();
+ expect(result()).toHaveLength(0);
+
+ dispose();
});
it("transitions element in", () => {
- return createRoot(dispose => {
- const [children, setChildren] = createSignal(null);
- const fn = vi.fn();
- const result = createSwitchTransition(children, {
- onEnter: fn,
- });
+ const [children, setChildren] = createSignal(null);
+ const fn = vi.fn();
+
+ const { result, dispose } = createRoot(dispose => {
+ const result = createSwitchTransition(children, { onEnter: fn });
expect(result()).toHaveLength(0);
+ return { result, dispose };
+ });
- setChildren(el1);
- expect(result()).toHaveLength(1);
- expect(fn).toHaveBeenCalledOnce();
- expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
+ setChildren(el1);
+ expect(result()).toHaveLength(1);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
- dispose();
- });
+ dispose();
});
it("transitions element in on appear", () => {
- return createRoot(dispose => {
- const fn = vi.fn();
+ const fn = vi.fn();
+
+ const { dispose, result } = createRoot(dispose => {
const result = createSwitchTransition(() => el1, {
onEnter: fn,
appear: true,
});
- expect(result()).toHaveLength(1);
- expect(fn).toHaveBeenCalledOnce();
- expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
-
- dispose();
+ expect(result()).toHaveLength(0);
+ expect(fn).not.toHaveBeenCalled();
+ return { result, dispose };
});
+
+ expect(result()).toHaveLength(1);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ dispose();
});
it("toggles between two elements", () => {
- return createRoot(dispose => {
- const [children, setChildren] = createSignal(el1);
- const enterCb = vi.fn();
- const exitCb = vi.fn();
+ const [children, setChildren] = createSignal(el1);
+ const enterCb = vi.fn();
+ const exitCb = vi.fn();
+
+ const { result, dispose } = createRoot(dispose => {
const result = createSwitchTransition(children, {
onExit: exitCb,
onEnter: enterCb,
@@ -93,29 +104,31 @@ describe("createSwitchTransition", () => {
expect(result()).toHaveLength(1);
expect(enterCb).not.toHaveBeenCalled();
expect(exitCb).not.toHaveBeenCalled();
+ return { result, dispose };
+ });
- setChildren(el2);
- expect(result()).toHaveLength(2);
- expect(result()[0]).toBe(el2);
- expect(result()[1]).toBe(el1);
- expect(enterCb).toHaveBeenCalledOnce();
- expect(enterCb).toHaveBeenCalledWith(el2, expect.any(Function));
- expect(exitCb).toHaveBeenCalledOnce();
- expect(exitCb).toHaveBeenCalledWith(el1, expect.any(Function));
-
- const exitDone = exitCb.mock.calls[0]![1];
- exitDone();
- expect(result()).toHaveLength(1);
+ setChildren(el2);
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el2);
+ expect(result()[1]).toBe(el1);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(enterCb).toHaveBeenCalledWith(el2, expect.any(Function));
+ expect(exitCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledWith(el1, expect.any(Function));
- dispose();
- });
+ const exitDone = exitCb.mock.calls[0]![1];
+ exitDone();
+ expect(result()).toHaveLength(1);
+
+ dispose();
});
it("toggles between two elements out-in", () => {
- return createRoot(dispose => {
- const [children, setChildren] = createSignal(el1);
- const enterCb = vi.fn();
- const exitCb = vi.fn();
+ const [children, setChildren] = createSignal(el1);
+ const enterCb = vi.fn();
+ const exitCb = vi.fn();
+
+ const { result, dispose } = createRoot(dispose => {
const result = createSwitchTransition(children, {
onExit: exitCb,
onEnter: enterCb,
@@ -124,30 +137,32 @@ describe("createSwitchTransition", () => {
expect(result()).toHaveLength(1);
expect(enterCb).not.toHaveBeenCalled();
expect(exitCb).not.toHaveBeenCalled();
-
- setChildren(el2);
- expect(result()).toHaveLength(1);
- expect(result()[0]).toBe(el1);
- expect(enterCb).not.toHaveBeenCalled();
- expect(exitCb).toHaveBeenCalledOnce();
- expect(exitCb).toHaveBeenCalledWith(el1, expect.any(Function));
-
- const exitDone = exitCb.mock.calls[0]![1];
- exitDone();
- expect(result()).toHaveLength(1);
- expect(result()[0]).toBe(el2);
- expect(enterCb).toHaveBeenCalledOnce();
- expect(enterCb).toHaveBeenCalledWith(el2, expect.any(Function));
-
- dispose();
+ return { result, dispose };
});
+
+ setChildren(el2);
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el1);
+ expect(enterCb).not.toHaveBeenCalled();
+ expect(exitCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ const exitDone = exitCb.mock.calls[0]![1];
+ exitDone();
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el2);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(enterCb).toHaveBeenCalledWith(el2, expect.any(Function));
+
+ dispose();
});
it("toggles between two elements in-out", () => {
- return createRoot(dispose => {
- const [children, setChildren] = createSignal(el1);
- const enterCb = vi.fn();
- const exitCb = vi.fn();
+ const [children, setChildren] = createSignal(el1);
+ const enterCb = vi.fn();
+ const exitCb = vi.fn();
+
+ const { result, dispose } = createRoot(dispose => {
const result = createSwitchTransition(children, {
onExit: exitCb,
onEnter: enterCb,
@@ -156,32 +171,76 @@ describe("createSwitchTransition", () => {
expect(result()).toHaveLength(1);
expect(enterCb).not.toHaveBeenCalled();
expect(exitCb).not.toHaveBeenCalled();
+ return { result, dispose };
+ });
- setChildren(el2);
- expect(result()).toHaveLength(2);
- expect(result()[0]).toBe(el2);
- expect(result()[1]).toBe(el1);
- expect(enterCb).toHaveBeenCalledOnce();
- expect(enterCb).toHaveBeenCalledWith(el2, expect.any(Function));
- expect(exitCb).not.toHaveBeenCalled();
-
- const enterDone = enterCb.mock.calls[0]![1];
- enterDone();
- expect(result()).toHaveLength(2);
- expect(result()[0]).toBe(el2);
- expect(result()[1]).toBe(el1);
- expect(enterCb).toHaveBeenCalledOnce();
- expect(exitCb).toHaveBeenCalledOnce();
- expect(exitCb).toHaveBeenCalledWith(el1, expect.any(Function));
-
- const exitDone = exitCb.mock.calls[0]![1];
- exitDone();
- expect(result()).toHaveLength(1);
- expect(result()[0]).toBe(el2);
- expect(enterCb).toHaveBeenCalledOnce();
- expect(exitCb).toHaveBeenCalledOnce();
+ setChildren(el2);
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el2);
+ expect(result()[1]).toBe(el1);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(enterCb).toHaveBeenCalledWith(el2, expect.any(Function));
+ expect(exitCb).not.toHaveBeenCalled();
+
+ const enterDone = enterCb.mock.calls[0]![1];
+ enterDone();
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el2);
+ expect(result()[1]).toBe(el1);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ const exitDone = exitCb.mock.calls[0]![1];
+ exitDone();
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el2);
+ expect(enterCb).toHaveBeenCalledOnce();
+ expect(exitCb).toHaveBeenCalledOnce();
+
+ dispose();
+ });
- dispose();
+ it("suspends under Suspense", () => {
+ const onEnter = vi.fn();
+ const onExit = vi.fn();
+
+ const [children, setChildren] = createSignal(el1);
+ const [runResource, setRunResource] = createSignal(true);
+ let resolve = () => {};
+
+ const dispose = createRoot(dispose => {
+ const [res] = createResource(runResource, () => new Promise(r => (resolve = r)));
+ Suspense({
+ get children() {
+ createRenderEffect(res);
+ return createSwitchTransition(children, { onEnter, onExit });
+ },
+ });
+ return dispose;
});
+
+ expect(onEnter).not.toHaveBeenCalled();
+ expect(onExit).not.toHaveBeenCalled();
+
+ setChildren(el2);
+
+ expect(onEnter).not.toHaveBeenCalled();
+ expect(onExit).not.toHaveBeenCalled();
+
+ resolve();
+ setRunResource(false);
+
+ expect(onEnter).not.toHaveBeenCalled();
+ expect(onExit).not.toHaveBeenCalled();
+
+ setChildren(el3);
+
+ expect(onEnter).toHaveBeenCalledOnce();
+ expect(onEnter).toHaveBeenCalledWith(el3, expect.any(Function));
+ expect(onExit).toHaveBeenCalledOnce();
+ expect(onExit).toHaveBeenCalledWith(el1, expect.any(Function));
+
+ dispose();
});
});
From 1ba2f0378a3317025603d9886c2cb4fa323714dc Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Mon, 27 Feb 2023 17:20:03 +0100
Subject: [PATCH 06/33] Enter prerelease mode and version packages
---
.changeset/fresh-maps-worry.md | 5 ++
.changeset/pre.json | 77 ++++++++++++++++++++++++++
packages/keyed/package.json | 2 +-
packages/refs/CHANGELOG.md | 6 ++
packages/refs/package.json | 2 +-
packages/transition-group/CHANGELOG.md | 7 +++
packages/transition-group/package.json | 4 +-
7 files changed, 99 insertions(+), 4 deletions(-)
create mode 100644 .changeset/fresh-maps-worry.md
create mode 100644 .changeset/pre.json
create mode 100644 packages/transition-group/CHANGELOG.md
diff --git a/.changeset/fresh-maps-worry.md b/.changeset/fresh-maps-worry.md
new file mode 100644
index 000000000..37b7a00b7
--- /dev/null
+++ b/.changeset/fresh-maps-worry.md
@@ -0,0 +1,5 @@
+---
+"@solid-primitives/transition-group": major
+---
+
+Initial release. Adds `createSwitchTransition` and `createListTransition` primitives.
diff --git a/.changeset/pre.json b/.changeset/pre.json
new file mode 100644
index 000000000..8e9ea7b7e
--- /dev/null
+++ b/.changeset/pre.json
@@ -0,0 +1,77 @@
+{
+ "mode": "pre",
+ "tag": "beta",
+ "initialVersions": {
+ "@solid-primitives/active-element": "2.0.8",
+ "@solid-primitives/analytics": "0.1.3",
+ "@solid-primitives/audio": "1.3.7",
+ "@solid-primitives/autofocus": "0.0.100",
+ "@solid-primitives/bounds": "0.0.107",
+ "@solid-primitives/broadcast-channel": "0.0.101",
+ "@solid-primitives/clipboard": "1.5.0",
+ "@solid-primitives/composites": "1.1.2",
+ "@solid-primitives/connectivity": "0.3.7",
+ "@solid-primitives/context": "0.1.3",
+ "@solid-primitives/controlled-props": "0.0.5",
+ "@solid-primitives/cursor": "0.0.105",
+ "@solid-primitives/date": "2.0.7",
+ "@solid-primitives/destructure": "0.1.7",
+ "@solid-primitives/devices": "1.2.2",
+ "@solid-primitives/event-bus": "1.0.0",
+ "@solid-primitives/event-dispatcher": "0.0.103",
+ "@solid-primitives/event-listener": "2.2.6",
+ "@solid-primitives/event-props": "0.2.3",
+ "@solid-primitives/fetch": "2.4.3",
+ "@solid-primitives/fullscreen": "1.2.2",
+ "@solid-primitives/geolocation": "1.4.4",
+ "@solid-primitives/gestures": "1.1.3",
+ "@solid-primitives/graphql": "1.5.2",
+ "@solid-primitives/i18n": "1.2.0",
+ "@solid-primitives/idle": "0.0.103",
+ "@solid-primitives/immutable": "0.1.6",
+ "@solid-primitives/input-mask": "0.1.5",
+ "@solid-primitives/intersection-observer": "2.0.6",
+ "@solid-primitives/jsx-parser": "0.1.1",
+ "@solid-primitives/keyboard": "1.0.7",
+ "@solid-primitives/keyed": "1.1.7",
+ "@solid-primitives/map": "0.4.0",
+ "@solid-primitives/media": "2.1.1",
+ "@solid-primitives/memo": "1.1.4",
+ "@solid-primitives/mouse": "2.0.6",
+ "@solid-primitives/mutation-observer": "1.1.6",
+ "@solid-primitives/page-visibility": "2.0.4",
+ "@solid-primitives/pagination": "0.2.0",
+ "@solid-primitives/permission": "1.2.2",
+ "@solid-primitives/platform": "0.0.103",
+ "@solid-primitives/pointer": "0.2.5",
+ "@solid-primitives/promise": "1.0.6",
+ "@solid-primitives/props": "3.0.6",
+ "@solid-primitives/raf": "2.1.6",
+ "@solid-primitives/range": "0.1.6",
+ "@solid-primitives/refs": "0.3.6",
+ "@solid-primitives/resize-observer": "2.0.9",
+ "@solid-primitives/rootless": "1.2.4",
+ "@solid-primitives/scheduled": "1.3.0",
+ "@solid-primitives/script-loader": "2.0.0",
+ "@solid-primitives/scroll": "2.0.8",
+ "@solid-primitives/selection": "0.0.4",
+ "@solid-primitives/set": "0.4.0",
+ "@solid-primitives/share": "2.0.2",
+ "@solid-primitives/signal-builders": "0.1.6",
+ "@solid-primitives/storage": "1.3.5",
+ "@solid-primitives/stream": "0.6.4",
+ "@solid-primitives/styles": "0.0.103",
+ "@solid-primitives/timer": "1.3.5",
+ "@solid-primitives/transition-group": "0.0.100",
+ "@solid-primitives/trigger": "1.0.0",
+ "@solid-primitives/tween": "1.2.4",
+ "@solid-primitives/upload": "0.0.107",
+ "@solid-primitives/utils": "5.2.0",
+ "@solid-primitives/websocket": "0.3.4",
+ "@solid-primitives/workers": "0.2.3"
+ },
+ "changesets": [
+ "dirty-kiwis-exist",
+ "fresh-maps-worry"
+ ]
+}
diff --git a/packages/keyed/package.json b/packages/keyed/package.json
index e56db1f74..b68e4ab56 100644
--- a/packages/keyed/package.json
+++ b/packages/keyed/package.json
@@ -82,7 +82,7 @@
},
"devDependencies": {
"@solid-primitives/immutable": "^0.1.6",
- "@solid-primitives/refs": "^0.3.6",
+ "@solid-primitives/refs": "^0.4.0-beta.0",
"@solid-primitives/utils": "^5.0.0",
"solid-transition-group": "^0.0.13"
},
diff --git a/packages/refs/CHANGELOG.md b/packages/refs/CHANGELOG.md
index 3e752ec93..51cf0a99c 100644
--- a/packages/refs/CHANGELOG.md
+++ b/packages/refs/CHANGELOG.md
@@ -1,5 +1,11 @@
# @solid-primitives/refs
+## 0.4.0-beta.0
+
+### Minor Changes
+
+- d8054700: Add `findFirst` and `resolveFirst` primitives
+
## 0.3.6
### Patch Changes
diff --git a/packages/refs/package.json b/packages/refs/package.json
index 5afa2556c..a67170306 100644
--- a/packages/refs/package.json
+++ b/packages/refs/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/refs",
- "version": "0.3.6",
+ "version": "0.4.0-beta.0",
"description": "Library of primitives, components and directives for SolidJS that help managing references to JSX elements.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
diff --git a/packages/transition-group/CHANGELOG.md b/packages/transition-group/CHANGELOG.md
new file mode 100644
index 000000000..1394b45b4
--- /dev/null
+++ b/packages/transition-group/CHANGELOG.md
@@ -0,0 +1,7 @@
+# @solid-primitives/transition-group
+
+## 0.0.1-beta.0
+
+### Major Changes
+
+- Initial release. Adds `createSwitchTransition` and `createListTransition` primitives.
diff --git a/packages/transition-group/package.json b/packages/transition-group/package.json
index c206704b1..98aa7e881 100644
--- a/packages/transition-group/package.json
+++ b/packages/transition-group/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/transition-group",
- "version": "0.0.100",
+ "version": "0.0.1-beta.0",
"description": "A template primitive example.",
"author": "Damian Tarnawski ",
"contributors": [],
@@ -70,7 +70,7 @@
"solid-js": "^1.6.0"
},
"devDependencies": {
- "@solid-primitives/refs": "workspace:^0.3.6",
+ "@solid-primitives/refs": "workspace:^0.4.0-beta.0",
"@solid-primitives/utils": "workspace:^5.2.0",
"@solidjs/router": "^0.7.0"
}
From 6a4e530a039b81b3fa179cd92965f218b88e5b78 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Mon, 27 Feb 2023 17:20:39 +0100
Subject: [PATCH 07/33] Update lock
---
pnpm-lock.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 21725bf0a..e79793bb6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -351,7 +351,7 @@ importers:
packages/keyed:
specifiers:
'@solid-primitives/immutable': ^0.1.6
- '@solid-primitives/refs': ^0.3.6
+ '@solid-primitives/refs': ^0.4.0-beta.0
'@solid-primitives/utils': ^5.0.0
solid-js: ^1.6.0
solid-transition-group: ^0.0.13
@@ -640,7 +640,7 @@ importers:
packages/transition-group:
specifiers:
- '@solid-primitives/refs': workspace:^0.3.6
+ '@solid-primitives/refs': workspace:^0.4.0-beta.0
'@solid-primitives/utils': workspace:^5.2.0
'@solidjs/router': ^0.7.0
solid-js: ^1.6.0
From aeaec59fa6e998a8c88fae9b5169bcc2b84b5e7c Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Mon, 27 Feb 2023 17:21:48 +0100
Subject: [PATCH 08/33] Update prerelease config
---
.changeset/pre.json | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/.changeset/pre.json b/.changeset/pre.json
index 8e9ea7b7e..ed0bd2bde 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -62,7 +62,7 @@
"@solid-primitives/stream": "0.6.4",
"@solid-primitives/styles": "0.0.103",
"@solid-primitives/timer": "1.3.5",
- "@solid-primitives/transition-group": "0.0.100",
+ "@solid-primitives/transition-group": "0.0.0",
"@solid-primitives/trigger": "1.0.0",
"@solid-primitives/tween": "1.2.4",
"@solid-primitives/upload": "0.0.107",
@@ -70,8 +70,5 @@
"@solid-primitives/websocket": "0.3.4",
"@solid-primitives/workers": "0.2.3"
},
- "changesets": [
- "dirty-kiwis-exist",
- "fresh-maps-worry"
- ]
+ "changesets": ["dirty-kiwis-exist", "fresh-maps-worry"]
}
From 8fb992042574692a46d6ce9b6b338c5fff2b1031 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Mon, 27 Feb 2023 19:04:02 +0100
Subject: [PATCH 09/33] Add basic docs to transition-group
---
packages/transition-group/README.md | 99 ++++++++++++++++++++++++--
packages/transition-group/package.json | 11 +--
packages/transition-group/src/index.ts | 66 +++++++++++++++++
3 files changed, 166 insertions(+), 10 deletions(-)
diff --git a/packages/transition-group/README.md b/packages/transition-group/README.md
index c26978a69..8c2708f00 100644
--- a/packages/transition-group/README.md
+++ b/packages/transition-group/README.md
@@ -7,11 +7,12 @@
[](https://turborepo.org/)
[](https://bundlephobia.com/package/@solid-primitives/transition-group)
[](https://www.npmjs.com/package/@solid-primitives/transition-group)
-[](https://github.com/solidjs-community/solid-primitives#contribution-process)
+[](https://github.com/solidjs-community/solid-primitives#contribution-process)
-A sample primitive that is made up for templating with the following options:
+Provides reactive primitives for implementing transition effects on a group of elements.
-`createPrimitiveTemplate` - Provides a getter and setter for the primitive.
+- [`createSwitchTransition`](#createSwitchTransition) - Create an element transition interface for switching between single elements.
+- [`createListTransition`](#createListTransition) - Create an element list transition interface for changes to the list of elements.
## Installation
@@ -23,15 +24,101 @@ yarn add @solid-primitives/transition-group
pnpm add @solid-primitives/transition-group
```
-## How to use it
+## `createSwitchTransition`
+
+Create an element transition interface for switching between single elements.
+It can be used to implement own transition effect, or a custom ``-like component.
+
+### How to use it
+
+It will observe the source and return a signal with array of elements to be rendered (current one and exiting ones).
+
+`createSwitchTransition` takes two parameters:
+
+- `source` a signal with the current element. Any nullish value will mean there is no element.
+ Any object can used as the source, but most likely you will want to use a `HTMLElement` or `SVGElement`.
+
+- `options` transition options:
+ - `onEnter` - a function to be called when a new element is entering. It receives the element and a callback to be called when the transition is done.
+ - `onExit` - a function to be called when an exiting element is leaving. It receives the element and a callback to be called when the transition is done.
+ - `mode` - transition mode. Defaults to `"parallel"`. Other options are `"out-in"` and `"in-out"`.
+ - `appear` - whether to run the transition on the initial element. Defaults to `false`. If `true`, the initial element won't be rendered until the first clinet-side effect is run.
+
+Returns a signal with an array of the current element and exiting previous elements.
+
+```ts
+import { createSwitchTransition } from "@solid-primitives/transition-group";
+
+const [el, setEl] = createSignal();
+
+const rendered = createSwitchTransition(el, {
+ onEnter(el, done) {
+ // the enter callback is called before the element is inserted into the DOM
+ // so run the animation in the next animation frame
+ requestAnimationFrame(() => {
+ /*...*/
+ });
+ },
+ onExit(el, done) {
+ // the exitting element is kept in the DOM until the done() callback is called
+ },
+});
+
+// change the source to trigger the transition
+setEl(refToHtmlElement);
+```
+
+## `createListTransition`
+
+Create an element list transition interface for changes to the list of elements.
+It can be used to implement own transition effect, or a custom ``-like component.
+
+### How to use it
+
+It will observe the source and return a signal with array of elements to be rendered (current ones and exiting ones).
+
+`createListTransition` takes two parameters:
+
+- `source` a signal with the current list of elements.
+ Any object can used as the element, but most likely you will want to use a `HTMLElement` or `SVGElement`.
+
+- `options` transition options:
+ - `onChange` - a function to be called when the list changes. It receives the list of added elements, removed elements, and moved elements. It also receives a callback to be called when the removed elements are finished animating (they can be removed from the DOM).
+ - `appear` - whether to run the transition on the initial elements. Defaults to `false`. If `true`, the initial elements won't be rendered until the first clinet-side effect is run.
+
+Returns a signal with an array of the current elements and exiting previous elements.
```ts
-const [value, setValue] = createPrimitiveTemplate(false);
+import { createListTransition } from "@solid-primitives/transition-group";
+
+const [els, setEls] = createSignal([]);
+
+const rendered = createListTransition(els, {
+ onChange({ added, removed, moved, finishRemoved }) {
+ // the callback is called before the added elements are inserted into the DOM
+ // so run the animation in the next animation frame
+ requestAnimationFrame(() => {
+ /*...*/
+ });
+
+ // the removed elements are kept in the DOM until the finishRemoved() callback is called
+ finishRemoved(removed);
+ },
+});
+
+// change the source to trigger the transition
+setEls([...refsToHTMLElements]);
```
## Demo
-You can use this template for publishing your demo on CodeSandbox: https://codesandbox.io/s/solid-primitives-demo-template-sz95h
+Deployed example:
+
+https://solidjs-community.github.io/solid-primitives/transition-group
+
+Source code:
+
+https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group/dev
## Changelog
diff --git a/packages/transition-group/package.json b/packages/transition-group/package.json
index 98aa7e881..404de4c51 100644
--- a/packages/transition-group/package.json
+++ b/packages/transition-group/package.json
@@ -1,7 +1,7 @@
{
"name": "@solid-primitives/transition-group",
"version": "0.0.1-beta.0",
- "description": "A template primitive example.",
+ "description": "Reactive primitives for implementing transition effects in SolidJS",
"author": "Damian Tarnawski ",
"contributors": [],
"license": "MIT",
@@ -14,8 +14,8 @@
"url": "https://github.com/solidjs-community/solid-primitives/issues"
},
"primitive": {
- "name": "transition",
- "stage": 0,
+ "name": "transition-group",
+ "stage": 1,
"list": [
"createSwitchTransition",
"createListTransition"
@@ -24,7 +24,10 @@
},
"keywords": [
"solid",
- "primitives"
+ "primitives",
+ "transition",
+ "animation",
+ "transition-group"
],
"private": false,
"sideEffects": false,
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index d9fff8332..a205187f4 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -14,6 +14,40 @@ export type SwitchTransitionOptions = {
appear?: boolean;
};
+/**
+ * Create an element transition interface for switching between single elements.
+ * It can be used to implement own transition effect, or a custom ``-like component.
+ *
+ * It will observe {@link source} and return a signal with array of elements to be rendered (current one and exiting ones).
+ *
+ * @param source a signal with the current element. Any nullish value will mean there is no element.
+ * Any object can used as the source, but most likely you will want to use a `HTMLElement` or `SVGElement`.
+ * @param options transition options:
+ * - `onEnter` - a function to be called when a new element is entering. It receives the element and a callback to be called when the transition is done.
+ * - `onExit` - a function to be called when an exiting element is leaving. It receives the element and a callback to be called when the transition is done.
+ * - `mode` - transition mode. Defaults to `"parallel"`. Other options are `"out-in"` and `"in-out"`.
+ * - `appear` - whether to run the transition on the initial element. Defaults to `false`. If `true`, the initial element won't be rendered until the first clinet-side effect is run.
+ * @returns a signal with an array of the current element and exiting previous elements.
+ *
+ * @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group#createSwitchTransition
+ *
+ * @example
+ * const [el, setEl] = createSignal();
+ *
+ * const rendered = createSwitchTransition(el, {
+ * onEnter(el, done) {
+ * // the enter callback is called before the element is inserted into the DOM
+ * // so run the animation in the next animation frame
+ * requestAnimationFrame(() => { ... })
+ * },
+ * onExit(el, done) {
+ * // the exitting element is kept in the DOM until the done() callback is called
+ * },
+ * })
+ *
+ * // change the source to trigger the transition
+ * setEl(refToHtmlElement);
+ */
export function createSwitchTransition(
source: Accessor,
options: SwitchTransitionOptions>,
@@ -107,6 +141,38 @@ export type ListTransitionOptions = {
appear?: boolean;
};
+/**
+ * Create an element list transition interface for changes to the list of elements.
+ * It can be used to implement own transition effect, or a custom ``-like component.
+ *
+ * It will observe {@link source} and return a signal with array of elements to be rendered (current ones and exiting ones).
+ *
+ * @param source a signal with the current list of elements.
+ * Any object can used as the element, but most likely you will want to use a `HTMLElement` or `SVGElement`.
+ * @param options transition options:
+ * - `onChange` - a function to be called when the list changes. It receives the list of added elements, removed elements, and moved elements. It also receives a callback to be called when the removed elements are finished animating (they can be removed from the DOM).
+ * - `appear` - whether to run the transition on the initial elements. Defaults to `false`. If `true`, the initial elements won't be rendered until the first clinet-side effect is run.
+ * @returns a signal with an array of the current elements and exiting previous elements.
+ *
+ * @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group#createListTransition
+ *
+ * @example
+ * const [els, setEls] = createSignal([]);
+ *
+ * const rendered = createListTransition(els, {
+ * onChange({ added, removed, moved, finishRemoved }) {
+ * // the callback is called before the added elements are inserted into the DOM
+ * // so run the animation in the next animation frame
+ * requestAnimationFrame(() => { ... })
+ *
+ * // the removed elements are kept in the DOM until the finishRemoved() callback is called
+ * finishRemoved(removed);
+ * }
+ * })
+ *
+ * // change the source to trigger the transition
+ * setEls([...refsToHTMLElements]);
+ */
export function createListTransition(
source: Accessor[]>,
options: ListTransitionOptions>,
From 2b4fb9bebc161eb2a7cd640ce7e4fe02ebbee6c0 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Mon, 27 Feb 2023 23:27:32 +0100
Subject: [PATCH 10/33] Improve `appear` SSR - always render the initial items.
---
.changeset/itchy-suits-attack.md | 5 ++
packages/transition-group/README.md | 12 +++-
packages/transition-group/src/index.ts | 59 ++++++++++---------
.../test/list-transition.test.ts | 16 +++--
packages/transition-group/test/server.test.ts | 11 ++--
.../test/switch-transition.test.ts | 14 +++--
6 files changed, 70 insertions(+), 47 deletions(-)
create mode 100644 .changeset/itchy-suits-attack.md
diff --git a/.changeset/itchy-suits-attack.md b/.changeset/itchy-suits-attack.md
new file mode 100644
index 000000000..ae36e59ab
--- /dev/null
+++ b/.changeset/itchy-suits-attack.md
@@ -0,0 +1,5 @@
+---
+"@solid-primitives/transition-group": patch
+---
+
+Improve `appear` SSR - always render the initial items.
diff --git a/packages/transition-group/README.md b/packages/transition-group/README.md
index 8c2708f00..cb6871f14 100644
--- a/packages/transition-group/README.md
+++ b/packages/transition-group/README.md
@@ -9,7 +9,7 @@
[](https://www.npmjs.com/package/@solid-primitives/transition-group)
[](https://github.com/solidjs-community/solid-primitives#contribution-process)
-Provides reactive primitives for implementing transition effects on a group of elements.
+Provides reactive primitives for implementing transition effects on a group of elements, or your own `` and `` components.
- [`createSwitchTransition`](#createSwitchTransition) - Create an element transition interface for switching between single elements.
- [`createListTransition`](#createListTransition) - Create an element list transition interface for changes to the list of elements.
@@ -39,10 +39,13 @@ It will observe the source and return a signal with array of elements to be rend
Any object can used as the source, but most likely you will want to use a `HTMLElement` or `SVGElement`.
- `options` transition options:
+
- `onEnter` - a function to be called when a new element is entering. It receives the element and a callback to be called when the transition is done.
- `onExit` - a function to be called when an exiting element is leaving. It receives the element and a callback to be called when the transition is done.
- `mode` - transition mode. Defaults to `"parallel"`. Other options are `"out-in"` and `"in-out"`.
- - `appear` - whether to run the transition on the initial element. Defaults to `false`. If `true`, the initial element won't be rendered until the first clinet-side effect is run.
+ - `appear` - whether to run the transition on the initial element. Defaults to `false`.
+
+ If enabled, the initial element will still be included in the initial render (for SSR), but the transition fill happen when the first client-side effect is run. So to avoid the initial element to be visible, you can set the initial element's style to `display: none` and set it to `display: block` in the `onEnter` callback.
Returns a signal with an array of the current element and exiting previous elements.
@@ -83,8 +86,11 @@ It will observe the source and return a signal with array of elements to be rend
Any object can used as the element, but most likely you will want to use a `HTMLElement` or `SVGElement`.
- `options` transition options:
+
- `onChange` - a function to be called when the list changes. It receives the list of added elements, removed elements, and moved elements. It also receives a callback to be called when the removed elements are finished animating (they can be removed from the DOM).
- - `appear` - whether to run the transition on the initial elements. Defaults to `false`. If `true`, the initial elements won't be rendered until the first clinet-side effect is run.
+ - `appear` - whether to run the transition on the initial elements. Defaults to `false`.
+
+ If enabled, the initial elements will still be included in the initial render (for SSR), but the transition fill happen when the first client-side effect is run. So to avoid the initial elements to be visible, you can set the initial element's style to `display: none` and set it to `display: block` in the `onEnter` callback.
Returns a signal with an array of the current elements and exiting previous elements.
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index a205187f4..45e5ab03f 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -26,7 +26,7 @@ export type SwitchTransitionOptions = {
* - `onEnter` - a function to be called when a new element is entering. It receives the element and a callback to be called when the transition is done.
* - `onExit` - a function to be called when an exiting element is leaving. It receives the element and a callback to be called when the transition is done.
* - `mode` - transition mode. Defaults to `"parallel"`. Other options are `"out-in"` and `"in-out"`.
- * - `appear` - whether to run the transition on the initial element. Defaults to `false`. If `true`, the initial element won't be rendered until the first clinet-side effect is run.
+ * - `appear` - whether to run the transition on the initial element. Defaults to `false`.
* @returns a signal with an array of the current element and exiting previous elements.
*
* @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group#createSwitchTransition
@@ -53,16 +53,14 @@ export function createSwitchTransition(
options: SwitchTransitionOptions>,
): Accessor[]> {
const initSource = untrack(source);
- // if appear is enabled, the initial list will be empty (to be updated in effect)
- // otherwise, it will be the initial source
- // this way it will be consistent between server and client
- const initReturned = options.appear ? [] : initSource ? [initSource] : [];
+ const initReturned = initSource ? [initSource] : [];
if (process.env.SSR) {
return () => initReturned;
}
const { onEnter = noopTransition, onExit = noopTransition } = options;
+ let { appear } = options;
const [returned, setReturned] = createSignal[]>(initReturned);
@@ -102,18 +100,16 @@ export function createSwitchTransition(
exitTransition(prev);
};
- let shouldRun = options.appear;
-
// update elements and call transitions in effect to suspend under Suspense
createEffect(
(prev: T | undefined) => {
const el = source();
- // skip the first transition if appear is disabled
- if (!shouldRun) {
- setReturned(el ? [el] : []);
- shouldRun = true;
- return el;
+ if (appear) {
+ appear = false;
+ // the initial element is already in the rendered array
+ // so it needs to be removed to be added again during the enter transition
+ setReturned([]);
}
if (el !== prev) {
@@ -123,7 +119,10 @@ export function createSwitchTransition(
return el;
},
- options.appear ? undefined : initSource,
+ // enabling appear always animates the initial element in
+ // otherwise the element won't be animated,
+ // or will animate the transition if the source is different from the initial value
+ appear ? undefined : initSource,
);
return returned;
@@ -151,7 +150,7 @@ export type ListTransitionOptions = {
* Any object can used as the element, but most likely you will want to use a `HTMLElement` or `SVGElement`.
* @param options transition options:
* - `onChange` - a function to be called when the list changes. It receives the list of added elements, removed elements, and moved elements. It also receives a callback to be called when the removed elements are finished animating (they can be removed from the DOM).
- * - `appear` - whether to run the transition on the initial elements. Defaults to `false`. If `true`, the initial elements won't be rendered until the first clinet-side effect is run.
+ * - `appear` - whether to run the transition on the initial elements. Defaults to `false`.
* @returns a signal with an array of the current elements and exiting previous elements.
*
* @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group#createListTransition
@@ -179,21 +178,20 @@ export function createListTransition(
): Accessor[]> {
type V = NonNullable;
- const initSource = untrack(source);
- // if appear is enabled, the initial list will be empty (to be updated in effect)
- // otherwise, it will be the initial source
- // this way it will be consistent between server and client
- const initialReturned = options.appear ? [] : initSource.slice();
+ const initSource = untrack(source).slice();
if (process.env.SSR) {
- return () => initialReturned;
+ return () => initSource;
}
const { onChange } = options;
+ let { appear } = options;
- const [returned, setReturned] = createSignal(initialReturned);
+ const [returned, setReturned] = createSignal(initSource);
- let prevSet: ReadonlySet = new Set(options.appear ? undefined : initSource);
+ // if appear is enabled, the initial transition won't have any previous elements.
+ // otherwise the elements will match and transition skipped, or transitioned if the source is different from the initial value
+ let prevSet: ReadonlySet = new Set(appear ? undefined : initSource);
const exiting = new Set();
function finishRemoved(els: V[]): void {
@@ -201,18 +199,16 @@ export function createListTransition(
for (const el of els) exiting.delete(el);
}
- let shouldRun = options.appear;
// update elements and call transitions in effect to suspend under Suspense
createEffect(() => {
const list = source();
(list as any)[$TRACK]; // top level store tracking
- // skip the first transition if appear is disabled
- if (!shouldRun) {
- shouldRun = true;
- prevSet = new Set(list);
- setReturned(list.slice());
- return;
+ if (appear) {
+ appear = false;
+ // the initial element is already in the rendered array
+ // so it needs to be removed to be added again during the enter transition
+ setReturned([]);
}
untrack(() =>
@@ -228,6 +224,7 @@ export function createListTransition(
(prevSet.has(el) ? moved : added).push(el);
}
+ let sameOrder = true;
for (let i = 0; i < prev.length; i++) {
const el = prev[i]!;
if (!nextSet.has(el)) {
@@ -237,8 +234,12 @@ export function createListTransition(
}
next.splice(i, 0, el);
}
+ if (sameOrder && el !== next[i]) sameOrder = false;
}
+ // skip if nothing changed
+ if (!added.length && !removed.length && sameOrder) return prev;
+
onChange({ added, removed, moved, finishRemoved });
prevSet = nextSet;
diff --git a/packages/transition-group/test/list-transition.test.ts b/packages/transition-group/test/list-transition.test.ts
index 734e1a483..5d7eaa063 100644
--- a/packages/transition-group/test/list-transition.test.ts
+++ b/packages/transition-group/test/list-transition.test.ts
@@ -1,6 +1,6 @@
import { describe, it, expect, vi } from "vitest";
import { createRenderEffect, createResource, createRoot, createSignal, Suspense } from "solid-js";
-import { createListTransition, ListTransitionOptions } from "../src";
+import { createListTransition, OnListChange } from "../src";
describe("createListTransition", () => {
const el1 = document.createElement("div");
@@ -62,7 +62,7 @@ describe("createListTransition", () => {
removed: [el2],
moved: [el1],
finishRemoved: expect.any(Function),
- } satisfies Parameters["onChange"]>[0]);
+ } satisfies Parameters>[0]);
const done = fn.mock.calls[0]![0].finishRemoved;
done([el2]);
@@ -79,7 +79,7 @@ describe("createListTransition", () => {
onChange: fn,
appear: true,
});
- expect(result()).toHaveLength(0);
+ expect(result()).toHaveLength(2);
expect(fn).not.toHaveBeenCalled();
return { dispose, result };
});
@@ -171,11 +171,17 @@ describe("createListTransition", () => {
resolve();
setRunResource(false);
- expect(onChange).not.toHaveBeenCalled();
+ expect(onChange).toHaveBeenCalledOnce();
+ expect(onChange).toHaveBeenLastCalledWith({
+ added: [el2],
+ removed: [el1],
+ moved: [],
+ finishRemoved: expect.any(Function),
+ });
setChildren([el1, el3]);
- expect(onChange).toHaveBeenCalledOnce();
+ expect(onChange).toHaveBeenCalledTimes(2);
expect(onChange).toHaveBeenLastCalledWith({
added: [el1, el3],
removed: [el2],
diff --git a/packages/transition-group/test/server.test.ts b/packages/transition-group/test/server.test.ts
index ee33804c6..25b30a191 100644
--- a/packages/transition-group/test/server.test.ts
+++ b/packages/transition-group/test/server.test.ts
@@ -11,9 +11,10 @@ describe("createSwitchTransition", () => {
expect(result()[0]).toBe(el1);
});
- it("returns empty array if appear is enabled", () => {
+ it("returns initial elements if appear is enabled", () => {
const result = createSwitchTransition(() => el1, { appear: true });
- expect(result()).toHaveLength(0);
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el1);
});
});
@@ -27,11 +28,13 @@ describe("createListTransition", () => {
expect(result()[1]).toBe(el2);
});
- it("returns empty array if appear is enabled", () => {
+ it("returns initial elements if appear is enabled", () => {
const result = createListTransition(() => [el1, el2], {
onChange: () => {},
appear: true,
});
- expect(result()).toHaveLength(0);
+ expect(result()).toHaveLength(2);
+ expect(result()[0]).toBe(el1);
+ expect(result()[1]).toBe(el2);
});
});
diff --git a/packages/transition-group/test/switch-transition.test.ts b/packages/transition-group/test/switch-transition.test.ts
index 6a1e75bd0..41ebe4042 100644
--- a/packages/transition-group/test/switch-transition.test.ts
+++ b/packages/transition-group/test/switch-transition.test.ts
@@ -79,7 +79,7 @@ describe("createSwitchTransition", () => {
onEnter: fn,
appear: true,
});
- expect(result()).toHaveLength(0);
+ expect(result()).toHaveLength(1);
expect(fn).not.toHaveBeenCalled();
return { result, dispose };
});
@@ -231,15 +231,17 @@ describe("createSwitchTransition", () => {
resolve();
setRunResource(false);
- expect(onEnter).not.toHaveBeenCalled();
- expect(onExit).not.toHaveBeenCalled();
+ expect(onEnter).toHaveBeenCalledOnce();
+ expect(onEnter).toHaveBeenCalledWith(el2, expect.any(Function));
+ expect(onExit).toHaveBeenCalledOnce();
+ expect(onExit).toHaveBeenCalledWith(el1, expect.any(Function));
setChildren(el3);
- expect(onEnter).toHaveBeenCalledOnce();
+ expect(onEnter).toHaveBeenCalledTimes(2);
expect(onEnter).toHaveBeenCalledWith(el3, expect.any(Function));
- expect(onExit).toHaveBeenCalledOnce();
- expect(onExit).toHaveBeenCalledWith(el1, expect.any(Function));
+ expect(onExit).toHaveBeenCalledTimes(2);
+ expect(onExit).toHaveBeenCalledWith(el2, expect.any(Function));
dispose();
});
From c56d280bc0e746a88e74b35cb95eec8562b02c7d Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Mon, 27 Feb 2023 23:28:59 +0100
Subject: [PATCH 11/33] Release 0.0.1-beta.1
---
.changeset/pre.json | 6 +++++-
packages/transition-group/CHANGELOG.md | 6 ++++++
packages/transition-group/package.json | 2 +-
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/.changeset/pre.json b/.changeset/pre.json
index ed0bd2bde..731425b9c 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -70,5 +70,9 @@
"@solid-primitives/websocket": "0.3.4",
"@solid-primitives/workers": "0.2.3"
},
- "changesets": ["dirty-kiwis-exist", "fresh-maps-worry"]
+ "changesets": [
+ "dirty-kiwis-exist",
+ "fresh-maps-worry",
+ "itchy-suits-attack"
+ ]
}
diff --git a/packages/transition-group/CHANGELOG.md b/packages/transition-group/CHANGELOG.md
index 1394b45b4..37048765b 100644
--- a/packages/transition-group/CHANGELOG.md
+++ b/packages/transition-group/CHANGELOG.md
@@ -1,5 +1,11 @@
# @solid-primitives/transition-group
+## 0.0.1-beta.1
+
+### Patch Changes
+
+- 2b4fb9be: Improve `appear` SSR - always render the initial items.
+
## 0.0.1-beta.0
### Major Changes
diff --git a/packages/transition-group/package.json b/packages/transition-group/package.json
index 404de4c51..a01d261b6 100644
--- a/packages/transition-group/package.json
+++ b/packages/transition-group/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/transition-group",
- "version": "0.0.1-beta.0",
+ "version": "0.0.1-beta.1",
"description": "Reactive primitives for implementing transition effects in SolidJS",
"author": "Damian Tarnawski ",
"contributors": [],
From ddc12685a086e9854263dd2450e90c3b26dd56b9 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Tue, 28 Feb 2023 17:18:26 +0100
Subject: [PATCH 12/33] Add an options to reverse the callbacks in
`combineProps`
---
.changeset/sharp-llamas-burn.md | 5 ++++
.changeset/wild-peas-flash.md | 5 ++++
packages/props/README.md | 13 +++++++++
packages/props/src/combineProps.ts | 36 ++++++++++++++++++++----
packages/props/test/combineProps.test.ts | 25 ++++++++++++++++
packages/utils/src/index.ts | 16 +++++++++--
6 files changed, 93 insertions(+), 7 deletions(-)
create mode 100644 .changeset/sharp-llamas-burn.md
create mode 100644 .changeset/wild-peas-flash.md
diff --git a/.changeset/sharp-llamas-burn.md b/.changeset/sharp-llamas-burn.md
new file mode 100644
index 000000000..ced5ad173
--- /dev/null
+++ b/.changeset/sharp-llamas-burn.md
@@ -0,0 +1,5 @@
+---
+"@solid-primitives/props": minor
+---
+
+Add an overload to `combineProps` which allows for passing an options object, with `reverseEventHandlers` option. This option when enabled will cause the event handlers to be called right to left.
diff --git a/.changeset/wild-peas-flash.md b/.changeset/wild-peas-flash.md
new file mode 100644
index 000000000..5a242f337
--- /dev/null
+++ b/.changeset/wild-peas-flash.md
@@ -0,0 +1,5 @@
+---
+"@solid-primitives/utils": minor
+---
+
+Add `reverseChain` util as an alternative to `chain`
diff --git a/packages/props/README.md b/packages/props/README.md
index c307c784b..ca9b50967 100644
--- a/packages/props/README.md
+++ b/packages/props/README.md
@@ -74,6 +74,19 @@ const combined = combineProps(
// combined.onClick() will call all 3 of the functions above
```
+The default order of execution is left-to-right. If you want to change it, you can use an options object as the last argument:
+
+```ts
+const combined = combineProps(
+ // props need to be passed in an array
+ [{ onClick: () => console.log("parent") }, { onClick: () => console.log("parent") }],
+ {
+ reverseEventHandlers: true,
+ },
+);
+combined.onClick(); // "child" "parent"
+```
+
##### For better reference of how exactly `combineProps` works, see the [TESTS](https://github.com/solidjs-community/solid-primitives/blob/main/packages/props/test/combineProps.test.ts)
### Additional helpers
diff --git a/packages/props/src/combineProps.ts b/packages/props/src/combineProps.ts
index 32b74a92e..839d3d179 100644
--- a/packages/props/src/combineProps.ts
+++ b/packages/props/src/combineProps.ts
@@ -1,5 +1,5 @@
import { JSX, mergeProps, MergeProps } from "solid-js";
-import { access, AnyObject, chain, MaybeAccessor } from "@solid-primitives/utils";
+import { access, chain, reverseChain, MaybeAccessor } from "@solid-primitives/utils";
import { propTraps } from "./propTraps";
const extractCSSregex = /([^:; ]*):\s*([^;]*)/g;
@@ -53,7 +53,7 @@ type PropsInput = {
classList?: Record;
style?: JSX.CSSProperties | string;
ref?: Element | ((el: any) => void);
-} & AnyObject;
+} & Record;
const reduce = (
sources: MaybeAccessor[],
@@ -69,6 +69,15 @@ const reduce = (
return v;
};
+export type CombinePropsOptions = {
+ /**
+ * by default the event handlers will be called left-to-right,
+ * following the order of the sources.
+ * If this option is set to true, the handlers will be called right-to-left.
+ */
+ reverseEventHandlers?: boolean;
+};
+
/**
* A helper that reactively merges multiple props objects together while smartly combining some of Solid's JSX/DOM attributes.
*
@@ -87,9 +96,26 @@ const reduce = (
*
* ```
*/
-export function combineProps[]>(...sources: T): MergeProps {
+export function combineProps[]>(
+ sources: T,
+ options?: CombinePropsOptions,
+): MergeProps;
+export function combineProps[]>(
+ ...sources: T
+): MergeProps;
+export function combineProps[]>(
+ ...args: T | [sources: T, options?: CombinePropsOptions]
+): MergeProps {
+ const restArgs = Array.isArray(args[0]);
+ const sources = (restArgs ? args[0] : args) as T;
+
if (sources.length === 1) return sources[0] as MergeProps;
+ const chainFn =
+ restArgs && (args[1] as CombinePropsOptions | undefined)?.reverseEventHandlers
+ ? reverseChain
+ : chain;
+
// create a map of event listeners to be chained
const listeners: Record void)[]> = {};
@@ -135,13 +161,13 @@ export function combineProps[]>(...sources:
const cb = access(props)[key] as ((el: any) => void) | undefined;
if (typeof cb === "function") callbacks.push(cb);
}
- return chain(callbacks);
+ return chainFn(callbacks);
}
// Chain event listeners
if (key[0] === "o" && key[1] === "n" && key[2]) {
const callbacks = listeners[key.toLowerCase()];
- return callbacks ? chain(callbacks) : Reflect.get(merge, key);
+ return callbacks ? chainFn(callbacks) : Reflect.get(merge, key);
}
// Merge classes or classNames
diff --git a/packages/props/test/combineProps.test.ts b/packages/props/test/combineProps.test.ts
index da4e6b4ea..b5e744508 100644
--- a/packages/props/test/combineProps.test.ts
+++ b/packages/props/test/combineProps.test.ts
@@ -41,6 +41,31 @@ describe("combineProps", () => {
});
});
+ it("calls handlers in reverse", () => {
+ createRoot(dispose => {
+ const mockFn = spy();
+ const message1 = "click1";
+ const message2 = "click2";
+ const message3 = "click3";
+
+ const combinedProps = combineProps(
+ [
+ { onEvent: () => mockFn(message1) },
+ { onEvent: () => mockFn(message2) },
+ { onEvent: () => mockFn(message3) },
+ ],
+ { reverseEventHandlers: true },
+ );
+
+ combinedProps.onEvent();
+
+ expect(mockFn.callCount).toBe(3);
+ expect(mockFn.calls).toEqual([[message3], [message2], [message1]]);
+
+ dispose();
+ });
+ });
+
it("event handlers can be overwritten", async () => {
createRoot(async dispose => {
const mockFn = spy();
diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts
index f25bd02da..39a4bb9ee 100644
--- a/packages/utils/src/index.ts
+++ b/packages/utils/src/index.ts
@@ -70,8 +70,20 @@ export function chain(callbacks: {
[Symbol.iterator](): IterableIterator<((...args: Args) => any) | undefined>;
}): (...args: Args) => void {
return (...args: Args) => {
- for (const callback of callbacks) {
- if (typeof callback === "function") callback(...args);
+ for (const callback of callbacks) callback && callback(...args);
+ };
+}
+
+/**
+ * Returns a function that will call all functions in the reversed order with the same arguments.
+ */
+export function reverseChain(
+ callbacks: (((...args: Args) => any) | undefined)[],
+): (...args: Args) => void {
+ return (...args: Args) => {
+ for (let i = callbacks.length - 1; i >= 0; i--) {
+ const callback = callbacks[i];
+ callback && callback(...args);
}
};
}
From 29530caf0d46b023ff2c1ec5807df506868e44eb Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Tue, 28 Feb 2023 17:19:45 +0100
Subject: [PATCH 13/33] Update readme
---
packages/props/README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/props/README.md b/packages/props/README.md
index ca9b50967..523068abc 100644
--- a/packages/props/README.md
+++ b/packages/props/README.md
@@ -74,12 +74,12 @@ const combined = combineProps(
// combined.onClick() will call all 3 of the functions above
```
-The default order of execution is left-to-right. If you want to change it, you can use an options object as the last argument:
+The default order of execution is left-to-right. If you want to change it, you can use an options object as the last argument: (`reverseEventHandlers: true`)
```ts
const combined = combineProps(
// props need to be passed in an array
- [{ onClick: () => console.log("parent") }, { onClick: () => console.log("parent") }],
+ [{ onClick: () => console.log("parent") }, { onClick: () => console.log("child") }],
{
reverseEventHandlers: true,
},
From 278267818462d92e283b70eb92e61d07ab5a2bff Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Tue, 28 Feb 2023 16:20:29 +0000
Subject: [PATCH 14/33] Version Packages
---
.changeset/sharp-llamas-burn.md | 5 -----
.changeset/wild-peas-flash.md | 5 -----
packages/props/CHANGELOG.md | 11 +++++++++++
packages/props/package.json | 4 ++--
packages/utils/CHANGELOG.md | 6 ++++++
packages/utils/package.json | 2 +-
pnpm-lock.yaml | 2 +-
7 files changed, 21 insertions(+), 14 deletions(-)
delete mode 100644 .changeset/sharp-llamas-burn.md
delete mode 100644 .changeset/wild-peas-flash.md
diff --git a/.changeset/sharp-llamas-burn.md b/.changeset/sharp-llamas-burn.md
deleted file mode 100644
index ced5ad173..000000000
--- a/.changeset/sharp-llamas-burn.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@solid-primitives/props": minor
----
-
-Add an overload to `combineProps` which allows for passing an options object, with `reverseEventHandlers` option. This option when enabled will cause the event handlers to be called right to left.
diff --git a/.changeset/wild-peas-flash.md b/.changeset/wild-peas-flash.md
deleted file mode 100644
index 5a242f337..000000000
--- a/.changeset/wild-peas-flash.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@solid-primitives/utils": minor
----
-
-Add `reverseChain` util as an alternative to `chain`
diff --git a/packages/props/CHANGELOG.md b/packages/props/CHANGELOG.md
index 7d8c404b8..4dfa70558 100644
--- a/packages/props/CHANGELOG.md
+++ b/packages/props/CHANGELOG.md
@@ -1,5 +1,16 @@
# @solid-primitives/props
+## 3.1.0
+
+### Minor Changes
+
+- ddc12685: Add an overload to `combineProps` which allows for passing an options object, with `reverseEventHandlers` option. This option when enabled will cause the event handlers to be called right to left.
+
+### Patch Changes
+
+- Updated dependencies [ddc12685]
+ - @solid-primitives/utils@5.3.0
+
## 3.0.7
### Patch Changes
diff --git a/packages/props/package.json b/packages/props/package.json
index 5e7457314..1cb08767c 100644
--- a/packages/props/package.json
+++ b/packages/props/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/props",
- "version": "3.0.7",
+ "version": "3.1.0",
"description": "Library of primitives focused around component props.",
"author": "Damian Tarnawski ",
"contributors": [],
@@ -49,7 +49,7 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.3.0"
},
"devDependencies": {
"nanospy": "^0.5.0"
diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md
index 58562c325..0ba538f00 100644
--- a/packages/utils/CHANGELOG.md
+++ b/packages/utils/CHANGELOG.md
@@ -1,5 +1,11 @@
# @solid-primitives/utils
+## 5.3.0
+
+### Minor Changes
+
+- ddc12685: Add `reverseChain` util as an alternative to `chain`
+
## 5.2.1
### Patch Changes
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 4d80d339f..e69cc0701 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/utils",
- "version": "5.2.1",
+ "version": "5.3.0",
"description": "A bunch of reactive utility types and functions, for building primitives with Solid.js",
"author": "Damian Tarnawski @thetarnav ",
"contributors": [
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 86c59fef4..b2f410961 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -480,7 +480,7 @@ importers:
packages/props:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.3.0
nanospy: ^0.5.0
solid-js: ^1.6.0
dependencies:
From d7b907e6ec6a571d2762877192fd9114dc9315fd Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Tue, 28 Feb 2023 22:45:23 +0100
Subject: [PATCH 15/33] Major improvements to createWritableMemo and
createLatest
---
.changeset/seven-onions-smile.md | 5 ++
packages/memo/dev/index.tsx | 4 +-
packages/memo/dev/writable-page.tsx | 32 +++++++++++
packages/memo/dev/writable.tsx | 26 ---------
packages/memo/package.json | 2 +-
packages/memo/src/index.ts | 89 ++++++++---------------------
packages/memo/test/writable.test.ts | 49 +++++++++++++++-
pnpm-lock.yaml | 84 ++++++++++++++-------------
8 files changed, 156 insertions(+), 135 deletions(-)
create mode 100644 .changeset/seven-onions-smile.md
create mode 100644 packages/memo/dev/writable-page.tsx
delete mode 100644 packages/memo/dev/writable.tsx
diff --git a/.changeset/seven-onions-smile.md b/.changeset/seven-onions-smile.md
new file mode 100644
index 000000000..6df1c1cc6
--- /dev/null
+++ b/.changeset/seven-onions-smile.md
@@ -0,0 +1,5 @@
+---
+"@solid-primitives/memo": minor
+---
+
+Major improvements to how createWritableMemo and createLatest works.
diff --git a/packages/memo/dev/index.tsx b/packages/memo/dev/index.tsx
index bc24e38c0..53108276e 100644
--- a/packages/memo/dev/index.tsx
+++ b/packages/memo/dev/index.tsx
@@ -1,7 +1,7 @@
/* @refresh reload */
import { Component, lazy } from "solid-js";
import { render } from "solid-js/web";
-import { Router, Routes, Route, Link } from "solid-app-router";
+import { Router, Routes, Route, Link } from "@solidjs/router";
import "uno.css";
const Lazy = lazy(() => import("./lazy"));
@@ -9,7 +9,7 @@ const LazySuspense = lazy(() => import("./lazy-suspense"));
const Async = lazy(() => import("./async"));
const Grouped = lazy(() => import("./grouped"));
const Cache = lazy(() => import("./cache"));
-const Writable = lazy(() => import("./writable"));
+const Writable = lazy(() => import("./writable-page"));
const App: Component = () => {
return (
diff --git a/packages/memo/dev/writable-page.tsx b/packages/memo/dev/writable-page.tsx
new file mode 100644
index 000000000..6f902ad8f
--- /dev/null
+++ b/packages/memo/dev/writable-page.tsx
@@ -0,0 +1,32 @@
+import { batch, createEffect, createSignal } from "solid-js";
+import { createWritableMemo } from "../src";
+
+export default function Cache() {
+ const [source, setSource] = createSignal(1);
+ const [memo, setMemo] = createWritableMemo(p => (source(), ++p), -2);
+ const [memo2, setMemo2] = createWritableMemo(source, -2);
+
+ batch(() => {
+ setSource(2);
+ console.log(2, source(), memo2());
+ });
+
+ batch(() => {
+ setMemo2(-3);
+ console.log(-3, memo2());
+ });
+
+ return (
+ <>
+ Signal:
+ setSource(p => ++p)}>
+ {source()}
+
+ Setter:
+ setMemo(p => --p)}>
+ {memo()}
+
+ Result: {memo()}
+ >
+ );
+}
diff --git a/packages/memo/dev/writable.tsx b/packages/memo/dev/writable.tsx
deleted file mode 100644
index 9f1a297fd..000000000
--- a/packages/memo/dev/writable.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { createEffect, createSignal } from "solid-js";
-import { createWritableMemo } from "../src";
-
-export default function Cache() {
- const [source, setSource] = createSignal(1);
- const [memo, setMemo] = createWritableMemo(() => source());
-
- const [setterCount, setSetterCount] = createSignal(1);
- createEffect(() => {
- setMemo(setterCount());
- });
-
- return (
- <>
- Signal:
- setSource(p => ++p)}>
- {source()}
-
- Setter:
- setSetterCount(p => ++p)}>
- {setterCount()}
-
- Result: {memo()}
- >
- );
-}
diff --git a/packages/memo/package.json b/packages/memo/package.json
index f8951e979..a6a176235 100644
--- a/packages/memo/package.json
+++ b/packages/memo/package.json
@@ -97,7 +97,7 @@
},
"devDependencies": {
"@solid-primitives/mouse": "^2.0.7",
- "solid-app-router": "^0.4.2"
+ "@solidjs/router": "^0.7.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/memo/src/index.ts b/packages/memo/src/index.ts
index dcf92f31f..e6242b349 100644
--- a/packages/memo/src/index.ts
+++ b/packages/memo/src/index.ts
@@ -19,17 +19,11 @@ import {
SignalOptions,
} from "solid-js";
import { debounce, throttle } from "@solid-primitives/scheduled";
-import { ItemsOf, noop, EffectOptions } from "@solid-primitives/utils";
+import { noop, EffectOptions } from "@solid-primitives/utils";
export type MemoOptionsWithValue = MemoOptions & { value?: T };
export type AsyncMemoCalculation = (prev: T | Init) => Promise | T;
-const set =
- (setter: Setter) =>
- (v: T): void => {
- setter(() => v);
- };
-
const callbackWith = (fn: (a: A) => T, v: Accessor ): (() => T) =>
fn.length > 0 ? () => fn(untrack(v)) : (fn as () => T);
@@ -109,27 +103,13 @@ export function createPureReaction(
*/
export function createLatest[]>(
sources: T,
- value: ReturnType>,
- options: SignalOptions>>,
-): Accessor>>;
-export function createLatest[]>(
- sources: T,
- value?: ReturnType>,
- options?: SignalOptions> | undefined>,
-): Accessor> | undefined>;
-export function createLatest(
- sources: Accessor[],
- value: any,
- options: SignalOptions = {},
-): Accessor {
- const [last, setLast] = createSignal(value, options);
- for (const fn of sources) createComputed(on(fn, set(setLast), { defer: true }));
- return last;
+ options?: SignalOptions>,
+): Accessor> {
+ const [signal, setSignal] = createSignal(0);
+ const memos = sources.map((source, i) => createMemo(() => (setSignal(i), source())));
+ return createMemo(() => memos.map(m => m())[signal()]!, undefined, options);
}
-/** @deprecated use `createLatest` instead */
-export const createCurtain = createLatest;
-
/**
* Solid's `createMemo` which value can be overwritten by a setter. Signal value will be the last one, set by a setter or a memo calculation.
* @param fn callback that calculates the value
@@ -142,53 +122,34 @@ export const createCurtain = createLatest;
* const [result, setResult] = createWritableMemo(() => count() * 2);
* setResult(5) // overwrites calculation result
*/
-export function createWritableMemo(
- fn: (prev: T) => T,
- value: T,
- options?: MemoOptions,
-): [signal: Accessor, setter: Setter];
-export function createWritableMemo(
- fn: (prev: T | undefined) => T,
- value?: undefined,
- options?: MemoOptions,
-): [signal: Accessor, setter: Setter];
+export function createWritableMemo(
+ fn: EffectFunction, Next>,
+): [signal: Accessor, setter: Setter];
+export function createWritableMemo(
+ fn: EffectFunction,
+ value: Init,
+ options?: MemoOptions,
+): [signal: Accessor, setter: Setter];
export function createWritableMemo(
fn: (prev: T | undefined) => T,
value?: T,
options?: MemoOptions,
): [signal: Accessor, setter: Setter] {
- const [signal, setSignal] = createSignal(fn(value), options);
- const calc = callbackWith(fn, signal);
- createComputed(on(calc, set(setSignal), { defer: true }));
- return [signal, setSignal];
-}
+ let combined: Accessor = () => value as T;
+ const [signal, setSignal] = createSignal(value as T),
+ memo = createMemo(
+ callbackWith(fn, () => combined()),
+ value,
+ );
-/*
-
-alternative implementation to try:
-
-export function createWritableMemo(fn: () => T, initialValue: T) {
- let latest: Accessor;
- const [value, setValue] = createSignal(initialValue);
- const memo = createMemo(fn, initialValue);
- latest = memo;
- const combined = createMemo(() => {
- const s = value();
- const m = memo();
- if (value === latest) return s;
- else return m;
- });
return [
- combined,
- (v: T) => {
- latest = value;
- return setValue(() => v);
- }
- ] as const;
+ (combined = createLatest([signal, memo], options)),
+ ((setter: any): T =>
+ setSignal(() => (typeof setter === "function" ? setter(untrack(combined)) : setter))
+ .v) as Setter,
+ ];
}
-*/
-
/**
* Solid's `createMemo` which returned signal is debounced. *(The {@link fn} callback is not debounced!)*
*
diff --git a/packages/memo/test/writable.test.ts b/packages/memo/test/writable.test.ts
index 82974f98d..c31226c7e 100644
--- a/packages/memo/test/writable.test.ts
+++ b/packages/memo/test/writable.test.ts
@@ -1,6 +1,6 @@
import { describe, test, expect } from "vitest";
import { createWritableMemo } from "../src";
-import { createRoot, createSignal } from "solid-js";
+import { batch, createRoot, createSignal } from "solid-js";
describe("createWritableMemo", () => {
test("behaves like a memo", () =>
@@ -27,4 +27,51 @@ describe("createWritableMemo", () => {
expect(result()).toBe(3);
dispose();
}));
+
+ test("consistency of previous value in the callbacks", () => {
+ const [count, setCount] = createSignal(1);
+ let prevCb: number | undefined;
+ const { result, setResult, dispose } = createRoot(dispose => {
+ const [result, setResult] = createWritableMemo(p => ((prevCb = p), count() * 2), -2);
+ expect(prevCb).toBe(-2);
+ expect(result()).toBe(2);
+ return { result, dispose, setResult };
+ });
+ setResult(p => {
+ expect(p).toBe(2);
+ return 5;
+ });
+ expect(result()).toBe(5);
+ expect(prevCb).toBe(-2);
+ setCount(5);
+ expect(result()).toBe(count() * 2);
+ expect(prevCb).toBe(5);
+ setCount(7);
+ expect(prevCb).toBe(10);
+ setResult(p => {
+ expect(p).toBe(14);
+ return 3;
+ });
+ expect(result()).toBe(3);
+ dispose();
+ });
+
+ test("updating and reading in a batch", () => {
+ createRoot(dispose => {
+ const [source, setSource] = createSignal(1);
+ const [memo, setMemo] = createWritableMemo(source, -2);
+
+ batch(() => {
+ setSource(2);
+ expect(memo()).toBe(2);
+ });
+
+ batch(() => {
+ setMemo(-3);
+ expect(memo()).toBe(-3);
+ });
+
+ dispose();
+ });
+ });
});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 119cd3d51..e8c1f23e1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -388,7 +388,7 @@ importers:
'@solid-primitives/mouse': ^2.0.7
'@solid-primitives/scheduled': ^1.3.1
'@solid-primitives/utils': ^5.2.1
- solid-app-router: ^0.4.2
+ '@solidjs/router': ^0.7.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/scheduled': link:../scheduled
@@ -396,7 +396,7 @@ importers:
solid-js: 1.6.9
devDependencies:
'@solid-primitives/mouse': link:../mouse
- solid-app-router: 0.4.2_solid-js@1.6.9
+ '@solidjs/router': 0.7.0_solid-js@1.6.9
packages/mouse:
specifiers:
@@ -640,11 +640,13 @@ importers:
packages/transition-group:
specifiers:
+ '@solid-primitives/memo': workspace:^1.1.5
'@solid-primitives/refs': workspace:^0.4.0-beta.0
'@solid-primitives/utils': workspace:^5.2.0
'@solidjs/router': ^0.7.0
solid-js: ^1.6.0
dependencies:
+ '@solid-primitives/memo': link:../memo
solid-js: 1.6.11
devDependencies:
'@solid-primitives/refs': link:../refs
@@ -3603,11 +3605,11 @@ packages:
'@solid-primitives/bounds': 0.0.107_solid-js@1.6.11
'@solid-primitives/cursor': 0.0.105_solid-js@1.6.11
'@solid-primitives/event-bus': 1.0.0_solid-js@1.6.11
- '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
+ '@solid-primitives/event-listener': 2.2.7_solid-js@1.6.11
'@solid-primitives/keyboard': 1.0.7_solid-js@1.6.11
'@solid-primitives/platform': 0.0.103_solid-js@1.6.11
- '@solid-primitives/scheduled': 1.3.0_solid-js@1.6.11
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/scheduled': 1.3.1_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
type-fest: 3.6.0
dev: true
@@ -3618,13 +3620,13 @@ packages:
solid-js: ^1.6.9
dependencies:
'@solid-primitives/event-bus': 1.0.0_solid-js@1.6.11
- '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
+ '@solid-primitives/event-listener': 2.2.7_solid-js@1.6.11
'@solid-primitives/media': 2.1.1_solid-js@1.6.11
'@solid-primitives/refs': 0.3.6_solid-js@1.6.11
- '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
- '@solid-primitives/scheduled': 1.3.0_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.5_solid-js@1.6.11
+ '@solid-primitives/scheduled': 1.3.1_solid-js@1.6.11
'@solid-primitives/styles': 0.0.101_solid-js@1.6.11
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
type-fest: 3.6.0
dev: true
@@ -3634,9 +3636,9 @@ packages:
peerDependencies:
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
+ '@solid-primitives/event-listener': 2.2.7_solid-js@1.6.11
'@solid-primitives/resize-observer': 2.0.9_solid-js@1.6.11
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
@@ -3645,7 +3647,7 @@ packages:
peerDependencies:
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
@@ -3663,26 +3665,26 @@ packages:
peerDependencies:
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/immutable': 0.1.6_solid-js@1.6.11
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/immutable': 0.1.7_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
- /@solid-primitives/event-listener/2.2.6_solid-js@1.6.11:
- resolution: {integrity: sha512-Lb2q888Apv8wqgZ3WvPlt8ic2rEmHx6QT8d3pgi+JRSIRNwAysE6PZDmbwT6/hzzP1TIQG0IRZwh5tomfuqlaQ==}
+ /@solid-primitives/event-listener/2.2.7_solid-js@1.6.11:
+ resolution: {integrity: sha512-rvu4ZbeM3Z9ncYc+nVI7y1KY/XqN2uDkhc0wvXzmVempSr5WfbsFEieuah8SAUd0ypi/qvy7aaFXh5fYKOgnOw==}
peerDependencies:
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
- /@solid-primitives/immutable/0.1.6_solid-js@1.6.11:
- resolution: {integrity: sha512-P4wbDogtytijTV5En+bm6jfFbf4ZOMnfmttUJ8642MQ0tJ2VS2z8iJplg9YFJIltXz7W/+2mdfw2XczlkTxeGg==}
+ /@solid-primitives/immutable/0.1.7_solid-js@1.6.11:
+ resolution: {integrity: sha512-V824C1PDHfnFQJxrBfc7zRRCqa1tFY+L/JpKTCr1OKk1kc3MaGCPghI5GNqwsCwKJZvvXHxBsiRsBMX1OPSI8Q==}
peerDependencies:
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
@@ -3691,9 +3693,9 @@ packages:
peerDependencies:
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
- '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/event-listener': 2.2.7_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.5_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
@@ -3702,9 +3704,9 @@ packages:
peerDependencies:
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
- '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/event-listener': 2.2.7_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.5_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
@@ -3721,9 +3723,9 @@ packages:
peerDependencies:
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/immutable': 0.1.6_solid-js@1.6.11
- '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/immutable': 0.1.7_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.5_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
@@ -3732,23 +3734,23 @@ packages:
peerDependencies:
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/event-listener': 2.2.6_solid-js@1.6.11
- '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/event-listener': 2.2.7_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.5_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
- /@solid-primitives/rootless/1.2.4_solid-js@1.6.11:
- resolution: {integrity: sha512-wsxpJzmCTeKt7gM1sDN3aKs5Sb8dmD3xVBdXUA+xZWcO5v/CVR5Gq690YvXvWSK+Thjv8jvDNHI582CDP/gFzQ==}
+ /@solid-primitives/rootless/1.2.5_solid-js@1.6.11:
+ resolution: {integrity: sha512-HLtF965ptJ0IYXPWluzpCVyTwWeiYNTpjiINlZeaSoAY8Ba6NnbSAV587emdvbt4bbrgi2Y8Gmav+/00AQJ6Hw==}
peerDependencies:
solid-js: ^1.6.11
dependencies:
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
- /@solid-primitives/scheduled/1.3.0_solid-js@1.6.11:
- resolution: {integrity: sha512-9B1eQ069vduoDorKwaDjZmcWO3ojEf3hpAcoIQA4CWGkk+QCfJnMWHv/XGYHvytQfr382EQQ1j1nxZBDLOWEQQ==}
+ /@solid-primitives/scheduled/1.3.1_solid-js@1.6.11:
+ resolution: {integrity: sha512-3tEyYAoGteeSMjXh1HfX1MteU9PpEP8cq0w26ffa3xScaN/EklonZZiy1ajJJuen/WQ5f2zZ3WmHCMnLMbURow==}
peerDependencies:
solid-js: ^1.6.0
dependencies:
@@ -3760,7 +3762,7 @@ packages:
peerDependencies:
solid-js: ^1.5.0
dependencies:
- '@solid-primitives/rootless': 1.2.4_solid-js@1.6.11
+ '@solid-primitives/rootless': 1.2.5_solid-js@1.6.11
solid-js: 1.6.11
dev: true
@@ -3773,8 +3775,8 @@ packages:
solid-js: 1.6.9
dev: false
- /@solid-primitives/utils/5.2.0_solid-js@1.6.11:
- resolution: {integrity: sha512-9sJSBv0IshaQ6qks9FW9ErKZS9qeAv+uYYrsAAXnu5XtDeifRtMk0k6Smje4XxzpxGH/8P4nwS2kk/9vt6KsBg==}
+ /@solid-primitives/utils/5.3.0_solid-js@1.6.11:
+ resolution: {integrity: sha512-YlMvXtJxm5zWQC+EW24qO9kMoUdfR5I4bi6zsL9RlETyfJEPrmTY2ztU0T9lPq5hC3Qwn3q+ifd4tz4js3fTUA==}
peerDependencies:
solid-js: ^1.6.0
dependencies:
@@ -8746,7 +8748,7 @@ packages:
'@solid-devtools/debugger': 0.21.0_solid-js@1.6.11
'@solid-devtools/shared': 0.11.0_solid-js@1.6.11
'@solid-primitives/event-bus': 1.0.0_solid-js@1.6.11
- '@solid-primitives/utils': 5.2.0_solid-js@1.6.11
+ '@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
type-fest: 3.6.0
vite: 4.1.1_@types+node@18.13.0
From f4ed25f76485bfc6d9060e05940686f610d5c8e0 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Tue, 28 Feb 2023 23:39:53 +0100
Subject: [PATCH 16/33] Update createSwitchTransition signal in a pure
computation
---
packages/transition-group/src/index.ts | 73 +++++++++++++------
.../test/switch-transition.test.ts | 42 ++++++++++-
pnpm-lock.yaml | 2 -
3 files changed, 91 insertions(+), 26 deletions(-)
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index 45e5ab03f..02759a58e 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -1,4 +1,12 @@
-import { Accessor, batch, createSignal, untrack, $TRACK, createEffect } from "solid-js";
+import {
+ Accessor,
+ batch,
+ createSignal,
+ untrack,
+ $TRACK,
+ createEffect,
+ createComputed,
+} from "solid-js";
const noop = () => {};
const noopTransition = (el: any, done: () => void) => done();
@@ -63,6 +71,7 @@ export function createSwitchTransition(
let { appear } = options;
const [returned, setReturned] = createSignal[]>(initReturned);
+ const [transitions, startTransitions] = createSignal([], { equals: false });
let next: T | undefined;
let isExiting = false;
@@ -70,13 +79,20 @@ export function createSwitchTransition(
function exitTransition(el: T | undefined, after?: () => void) {
if (!el) return after && after();
isExiting = true;
- onExit(el, () => {
- batch(() => {
- isExiting = false;
- setReturned(p => p.filter(e => e !== el));
- after && after();
- });
- });
+ startTransitions(
+ p => (
+ p.push(() =>
+ onExit(el, () => {
+ batch(() => {
+ isExiting = false;
+ setReturned(p => p.filter(e => e !== el));
+ after && after();
+ });
+ }),
+ ),
+ p
+ ),
+ );
}
function enterTransition(after?: () => void) {
@@ -84,10 +100,10 @@ export function createSwitchTransition(
if (!el) return after && after();
next = undefined;
setReturned(p => [el, ...p]);
- onEnter(el, after ?? noop);
+ startTransitions(p => (p.push(() => onEnter(el, after ?? noop)), p));
}
- const transition: (prev: T | undefined) => void =
+ const triggerTransitions: (prev: T | undefined) => void =
options.mode === "out-in"
? // exit -> enter
prev => isExiting || exitTransition(prev, enterTransition)
@@ -100,22 +116,25 @@ export function createSwitchTransition(
exitTransition(prev);
};
- // update elements and call transitions in effect to suspend under Suspense
- createEffect(
+ // update returned array in a pure computation
+ // so that the updated list is available in user effects
+ createComputed(
(prev: T | undefined) => {
const el = source();
- if (appear) {
- appear = false;
- // the initial element is already in the rendered array
- // so it needs to be removed to be added again during the enter transition
- setReturned([]);
- }
+ batch(() => {
+ if (appear) {
+ appear = false;
+ // the initial element is already in the rendered array
+ // so it needs to be removed to be added again during the enter transition
+ setReturned([]);
+ }
- if (el !== prev) {
- next = el;
- untrack(() => transition(prev));
- }
+ if (el !== prev) {
+ next = el;
+ untrack(() => triggerTransitions(prev));
+ }
+ });
return el;
},
@@ -125,6 +144,16 @@ export function createSwitchTransition(
appear ? undefined : initSource,
);
+ // call transitions in effect to suspend them under Suspense
+ createEffect(() => {
+ const queue = transitions();
+ const copy = queue.slice();
+ queue.length = 0;
+ untrack(() => {
+ for (const cb of copy) cb();
+ });
+ });
+
return returned;
}
diff --git a/packages/transition-group/test/switch-transition.test.ts b/packages/transition-group/test/switch-transition.test.ts
index 41ebe4042..bc97a2d64 100644
--- a/packages/transition-group/test/switch-transition.test.ts
+++ b/packages/transition-group/test/switch-transition.test.ts
@@ -1,5 +1,12 @@
-import { describe, it, expect, vi } from "vitest";
-import { createRenderEffect, createResource, createRoot, createSignal, Suspense } from "solid-js";
+import { describe, it, expect, vi, test } from "vitest";
+import {
+ createEffect,
+ createRenderEffect,
+ createResource,
+ createRoot,
+ createSignal,
+ Suspense,
+} from "solid-js";
import { createSwitchTransition } from "../src";
describe("createSwitchTransition", () => {
@@ -245,4 +252,35 @@ describe("createSwitchTransition", () => {
dispose();
});
+
+ test("updated list should be available in user effects", () => {
+ let effRuns = 0;
+
+ const dispose = createRoot(dispose => {
+ const [children, setChildren] = createSignal(el1);
+
+ createEffect(() => {
+ effRuns++;
+ children();
+ if (effRuns === 1) {
+ expect(result(), "effect after root").toHaveLength(2);
+ } else {
+ expect(result(), "affect after transitions").toHaveLength(1);
+ expect(result()[0]).toBe(el2);
+ }
+ });
+
+ const result = createSwitchTransition(children, {});
+ expect(result(), "initial").toHaveLength(1);
+
+ setChildren(el2);
+ expect(result(), "after sync assign").toHaveLength(2);
+
+ return dispose;
+ });
+
+ expect(effRuns).toBe(2);
+
+ dispose();
+ });
});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e8c1f23e1..be0c5cdb7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -640,13 +640,11 @@ importers:
packages/transition-group:
specifiers:
- '@solid-primitives/memo': workspace:^1.1.5
'@solid-primitives/refs': workspace:^0.4.0-beta.0
'@solid-primitives/utils': workspace:^5.2.0
'@solidjs/router': ^0.7.0
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/memo': link:../memo
solid-js: 1.6.11
devDependencies:
'@solid-primitives/refs': link:../refs
From 90ae2b456974174bdd05e24e5900b5ef1ab6c961 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Wed, 1 Mar 2023 13:12:18 +0100
Subject: [PATCH 17/33] Fix package title
---
packages/jsx-parser/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/jsx-parser/README.md b/packages/jsx-parser/README.md
index f63368e3b..f5b1dd4ad 100644
--- a/packages/jsx-parser/README.md
+++ b/packages/jsx-parser/README.md
@@ -2,7 +2,7 @@
-# @solid-primitives/parser
+# @solid-primitives/jsx-parser
A primitive to extend the types of values JSX can return. These JSX-elements are named `tokens`.
From 0843a89964e0250f2771e48e431b1520f95bc694 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Wed, 1 Mar 2023 22:16:21 +0100
Subject: [PATCH 18/33] Use a memo instead of effect in createListTransition
Also adds different exit methods
---
packages/transition-group/dev/list-page.tsx | 259 ++++++++++--------
packages/transition-group/src/index.ts | 179 ++++++------
.../test/list-transition.test.ts | 104 +++++--
3 files changed, 336 insertions(+), 206 deletions(-)
diff --git a/packages/transition-group/dev/list-page.tsx b/packages/transition-group/dev/list-page.tsx
index 13beb69de..b1d6e4715 100644
--- a/packages/transition-group/dev/list-page.tsx
+++ b/packages/transition-group/dev/list-page.tsx
@@ -3,8 +3,10 @@ import {
createRenderEffect,
createResource,
onCleanup,
+ onMount,
Suspense,
untrack,
+ useTransition,
} from "solid-js";
import { elements } from "@solid-primitives/refs";
import { Component, createSignal, For, Show } from "solid-js";
@@ -28,18 +30,42 @@ const ListPage: Component = () => {
const [runResource, setRunResource] = createSignal(false);
let resolve = () => {};
const [res] = createResource(runResource, () => new Promise(r => (resolve = r)));
+ const [isTransitioning, startTransition] = useTransition();
+
+ const appear = localStorage.getItem("transition-group-appear") === "true";
return (
<>
- {
- resolve();
- setRunResource(p => !p);
- }}
- >
- {runResource() ? "Stop" : "Start"} Resource
-
+
+ {
+ resolve();
+ setRunResource(p => !p);
+ }}
+ >
+ {runResource() ? "Stop" : "Start"} Resource
+
+ {
+ resolve();
+ runResource() || startTransition(() => setRunResource(p => !p));
+ }}
+ >
+ {isTransitioning() ? "Stop" : "Start"} Transition
+
+ {
+ localStorage.setItem("transition-group-appear", String(!appear));
+ window.location.reload();
+ }}
+ >
+ {appear ? "Disable" : "Enable"} Appear
+
+
+
{
Suspended}>
- {untrack(() => {
- // track the resource
- createRenderEffect(res);
-
- const resolved = children(() => (
-
- Hello
- World
- {show() && (
-
- ID 0
-
- )}
-
-
- ID 1
-
-
-
-
- ID 2
-
-
- ID 3
-
-
-
- {({ n }, i) => (
+
+ {untrack(() => {
+ // track the resource
+ createRenderEffect(res);
+
+ const resolved = children(() => (
+ <>
+ Hello
+ World
+ {show() && (
- setList(p => {
- const copy = p.slice();
- copy.splice(i(), 1);
- return copy;
- })
- }
- ref={grayOutOnDispose}
+ class="node"
+ ref={el => {
+ onMount(() => console.log("mounted", el.isConnected));
+ grayOutOnDispose(el);
+ }}
>
- {n + 1}.
+ ID 0
)}
-
-
- ));
- const refs = elements(resolved, HTMLElement);
-
- const options = { duration: 600, easing: "cubic-bezier(0.4, 0, 0.2, 1)" };
-
- return createListTransition(refs, {
- appear: true,
- onChange({ added, finishRemoved, moved, removed }) {
- added.forEach(el => {
- el.style.opacity = "0";
- el.style.transform = "translateY(10px)";
- requestAnimationFrame(() => {
- el.animate(
- [
- { opacity: 0, transform: "translateY(-36px)" },
- { opacity: 1, transform: "translateY(0)" },
- ],
- { ...options, fill: "both" },
- );
+
+
+ ID 1
+
+
+
+
+ ID 2
+
+
+ ID 3
+
+
+
+ {({ n }, i) => (
+
+ setList(p => {
+ const copy = p.slice();
+ copy.splice(i(), 1);
+ return copy;
+ })
+ }
+ ref={grayOutOnDispose}
+ >
+ {n + 1}.
+
+ )}
+
+ >
+ ));
+ const refs = elements(resolved, HTMLElement);
+
+ const options = { duration: 600, easing: "cubic-bezier(0.4, 0, 0.2, 1)" };
+
+ return createListTransition(refs, {
+ appear,
+ onChange({ added, finishRemoved, unchanged, removed }) {
+ added.forEach(el => {
+ queueMicrotask(() => {
+ if (!el.isConnected) return;
+ el.style.opacity = "0";
+ el.style.transform = "translateY(10px)";
+ el.animate(
+ [
+ { opacity: 0, transform: "translateY(-36px)" },
+ { opacity: 1, transform: "translateY(0)" },
+ ],
+ { ...options, fill: "both" },
+ );
+ });
});
- });
-
- moved.forEach(el => {
- const { left: left1, top: top1 } = el.getBoundingClientRect();
- requestAnimationFrame(() => {
- const { left: left2, top: top2 } = el.getBoundingClientRect();
- el.animate(
- [
- { transform: `translate(${left1 - left2}px, ${top1 - top2}px)` },
- { transform: "none" },
- ],
- options,
- );
+
+ unchanged.forEach(el => {
+ const { left: left1, top: top1 } = el.getBoundingClientRect();
+ if (!el.isConnected) return;
+ queueMicrotask(() => {
+ const { left: left2, top: top2 } = el.getBoundingClientRect();
+ el.animate(
+ [
+ { transform: `translate(${left1 - left2}px, ${top1 - top2}px)` },
+ { transform: "none" },
+ ],
+ options,
+ );
+ });
+ });
+
+ const removedRects = removed.map(el => el.getBoundingClientRect());
+ removed.forEach(el => {
+ el.style.transform = "none";
+ el.style.position = "absolute";
+ });
+ queueMicrotask(() => {
+ removed.forEach((el, i) => {
+ if (!el.isConnected) return finishRemoved([el]);
+
+ const { left: left1, top: top1 } = removedRects[i]!;
+ const { left: left2, top: top2 } = el.getBoundingClientRect();
+
+ const a = el.animate(
+ [
+ { transform: `translate(${left1 - left2}px, ${top1 - top2}px)` },
+ {
+ opacity: 0,
+ transform: `translate(${left1 - left2}px, ${top1 - top2 + 36}px)`,
+ },
+ ],
+ options,
+ );
+
+ i === removed.length - 1 &&
+ a.finished
+ .then(() => finishRemoved(removed))
+ .catch(() => finishRemoved(removed));
+ });
});
- });
-
- const removedRects = removed.map(el => el.getBoundingClientRect());
- removed.forEach(el => {
- el.style.transform = "none";
- el.style.position = "absolute";
- });
- removed.forEach((el, i) => {
- const { left: left1, top: top1 } = removedRects[i]!;
- const { left: left2, top: top2 } = el.getBoundingClientRect();
-
- const a = el.animate(
- [
- { transform: `translate(${left1 - left2}px, ${top1 - top2}px)` },
- {
- opacity: 0,
- transform: `translate(${left1 - left2}px, ${top1 - top2 + 36}px)`,
- },
- ],
- options,
- );
-
- i === removed.length - 1 && a.finished.then(() => finishRemoved(removed));
- });
- },
- });
- })}
+ },
+ });
+ })}
+
>
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index 02759a58e..11e55261a 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -6,6 +6,8 @@ import {
$TRACK,
createEffect,
createComputed,
+ createMemo,
+ useTransition,
} from "solid-js";
const noop = () => {};
@@ -68,10 +70,11 @@ export function createSwitchTransition(
}
const { onEnter = noopTransition, onExit = noopTransition } = options;
- let { appear } = options;
- const [returned, setReturned] = createSignal[]>(initReturned);
- const [transitions, startTransitions] = createSignal([], { equals: false });
+ const [returned, setReturned] = createSignal[]>(
+ options.appear ? [] : initReturned,
+ );
+ const [transitions, setTransitions] = createSignal([], { equals: false });
let next: T | undefined;
let isExiting = false;
@@ -79,7 +82,7 @@ export function createSwitchTransition(
function exitTransition(el: T | undefined, after?: () => void) {
if (!el) return after && after();
isExiting = true;
- startTransitions(
+ setTransitions(
p => (
p.push(() =>
onExit(el, () => {
@@ -100,7 +103,7 @@ export function createSwitchTransition(
if (!el) return after && after();
next = undefined;
setReturned(p => [el, ...p]);
- startTransitions(p => (p.push(() => onEnter(el, after ?? noop)), p));
+ setTransitions(p => (p.push(() => onEnter(el, after ?? noop)), p));
}
const triggerTransitions: (prev: T | undefined) => void =
@@ -122,26 +125,17 @@ export function createSwitchTransition(
(prev: T | undefined) => {
const el = source();
- batch(() => {
- if (appear) {
- appear = false;
- // the initial element is already in the rendered array
- // so it needs to be removed to be added again during the enter transition
- setReturned([]);
- }
-
- if (el !== prev) {
- next = el;
- untrack(() => triggerTransitions(prev));
- }
- });
+ if (el !== prev) {
+ next = el;
+ untrack(() => triggerTransitions(prev));
+ }
return el;
},
// enabling appear always animates the initial element in
// otherwise the element won't be animated,
// or will animate the transition if the source is different from the initial value
- appear ? undefined : initSource,
+ options.appear ? undefined : initSource,
);
// call transitions in effect to suspend them under Suspense
@@ -149,24 +143,44 @@ export function createSwitchTransition(
const queue = transitions();
const copy = queue.slice();
queue.length = 0;
- untrack(() => {
- for (const cb of copy) cb();
- });
+ untrack(() => copy.forEach(cb => cb()));
});
return returned;
}
export type OnListChange = (payload: {
+ /** full list of elements to be rendered */
+ list: T[];
+ /** list of elements that were added since the last change */
added: T[];
+ /** list of elements that were removed since the last change */
removed: T[];
- moved: T[];
+ /** list of elements that were already added before, and are not currently exiting */
+ unchanged: T[];
+ /** Callback for finishing the transition of exiting elements - removes them from rendered array */
finishRemoved: (els: T[]) => void;
}) => void;
+export type ExitMethod = "remove" | "move-to-end" | "keep-index";
+
export type ListTransitionOptions = {
+ /**
+ * A function to be called when the list changes. {@link OnListChange}
+ *
+ * It receives the list of current, added, removed, and unchanged elements.
+ * It also receives a callback to be called when the removed elements are finished animating (they can be removed from the DOM).
+ */
onChange: OnListChange;
+ /** whether to run the transition on the initial elements. Defaults to `false` */
appear?: boolean;
+ /**
+ * This controls how the elements exit. {@link ExitMethod}
+ * - `"remove"` removes the element immediately.
+ * - `"move-to-end"` (default) will move elements which have exited to the end of the array.
+ * - `"keep-index"` will splice them in at their previous index.
+ */
+ exitMethod?: ExitMethod;
};
/**
@@ -177,10 +191,7 @@ export type ListTransitionOptions = {
*
* @param source a signal with the current list of elements.
* Any object can used as the element, but most likely you will want to use a `HTMLElement` or `SVGElement`.
- * @param options transition options:
- * - `onChange` - a function to be called when the list changes. It receives the list of added elements, removed elements, and moved elements. It also receives a callback to be called when the removed elements are finished animating (they can be removed from the DOM).
- * - `appear` - whether to run the transition on the initial elements. Defaults to `false`.
- * @returns a signal with an array of the current elements and exiting previous elements.
+ * @param options transition options {@link ListTransitionOptions}
*
* @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group#createListTransition
*
@@ -201,59 +212,74 @@ export type ListTransitionOptions = {
* // change the source to trigger the transition
* setEls([...refsToHTMLElements]);
*/
-export function createListTransition(
- source: Accessor[]>,
- options: ListTransitionOptions>,
-): Accessor[]> {
- type V = NonNullable;
-
- const initSource = untrack(source).slice();
+export function createListTransition(
+ source: Accessor,
+ options: ListTransitionOptions,
+): Accessor {
+ const initSource = untrack(source);
if (process.env.SSR) {
- return () => initSource;
+ const copy = initSource.slice();
+ return () => copy;
}
const { onChange } = options;
- let { appear } = options;
-
- const [returned, setReturned] = createSignal(initSource);
// if appear is enabled, the initial transition won't have any previous elements.
// otherwise the elements will match and transition skipped, or transitioned if the source is different from the initial value
- let prevSet: ReadonlySet = new Set(appear ? undefined : initSource);
- const exiting = new Set();
+ let prevSet: ReadonlySet = new Set(options.appear ? undefined : initSource);
+ const exiting = new WeakSet();
+
+ const [toRemove, setToRemove] = createSignal([], { equals: false });
+ const [isTransitionPending] = useTransition();
+
+ const finishRemoved: (els: T[]) => void =
+ options.exitMethod === "remove"
+ ? noop
+ : els => {
+ setToRemove(p => (p.push.apply(p, els), p));
+ for (const el of els) exiting.delete(el);
+ };
- function finishRemoved(els: V[]): void {
- setReturned(p => p.filter(e => !els.includes(e)));
- for (const el of els) exiting.delete(el);
- }
+ const handleRemoved: (els: T[], el: T, i: number) => void =
+ options.exitMethod === "remove"
+ ? noop
+ : options.exitMethod === "keep-index"
+ ? (els, el, i) => els.splice(i, 0, el)
+ : (els, el) => els.push(el);
+
+ return createMemo(
+ prev => {
+ const elsToRemove = toRemove();
+ const sourceList = source();
+ (sourceList as any)[$TRACK]; // top level store tracking
+
+ if (untrack(isTransitionPending)) {
+ // wait for pending transition to end before animating
+ isTransitionPending();
+ return prev;
+ }
+
+ if (elsToRemove.length) {
+ const next = prev.filter(e => !elsToRemove.includes(e));
+ elsToRemove.length = 0;
+ onChange({ list: next, added: [], removed: [], unchanged: next, finishRemoved });
+ return next;
+ }
- // update elements and call transitions in effect to suspend under Suspense
- createEffect(() => {
- const list = source();
- (list as any)[$TRACK]; // top level store tracking
-
- if (appear) {
- appear = false;
- // the initial element is already in the rendered array
- // so it needs to be removed to be added again during the enter transition
- setReturned([]);
- }
-
- untrack(() =>
- setReturned(prev => {
- const nextSet: ReadonlySet = new Set(list);
- const next: V[] = list.slice();
-
- const added: V[] = [];
- const removed: V[] = [];
- const moved: V[] = [];
-
- for (const el of list) {
- (prevSet.has(el) ? moved : added).push(el);
+ return untrack(() => {
+ const nextSet: ReadonlySet = new Set(sourceList);
+ const next: T[] = sourceList.slice();
+
+ const added: T[] = [];
+ const removed: T[] = [];
+ const unchanged: T[] = [];
+
+ for (const el of sourceList) {
+ (prevSet.has(el) ? unchanged : added).push(el);
}
- let sameOrder = true;
+ let nothingChanged = !added.length;
for (let i = 0; i < prev.length; i++) {
const el = prev[i]!;
if (!nextSet.has(el)) {
@@ -261,21 +287,20 @@ export function createListTransition(
removed.push(el);
exiting.add(el);
}
- next.splice(i, 0, el);
+ handleRemoved(next, el, i);
}
- if (sameOrder && el !== next[i]) sameOrder = false;
+ if (nothingChanged && el !== next[i]) nothingChanged = false;
}
// skip if nothing changed
- if (!added.length && !removed.length && sameOrder) return prev;
+ if (!removed.length && nothingChanged) return prev;
- onChange({ added, removed, moved, finishRemoved });
+ onChange({ list: next, added, removed, unchanged, finishRemoved });
prevSet = nextSet;
return next;
- }),
- );
- });
-
- return returned;
+ });
+ },
+ options.appear ? [] : initSource.slice(),
+ );
}
diff --git a/packages/transition-group/test/list-transition.test.ts b/packages/transition-group/test/list-transition.test.ts
index 5d7eaa063..aa233f692 100644
--- a/packages/transition-group/test/list-transition.test.ts
+++ b/packages/transition-group/test/list-transition.test.ts
@@ -1,7 +1,9 @@
import { describe, it, expect, vi } from "vitest";
-import { createRenderEffect, createResource, createRoot, createSignal, Suspense } from "solid-js";
+import { createRoot, createSignal } from "solid-js";
import { createListTransition, OnListChange } from "../src";
+type OnChangeParams = Parameters>[0];
+
describe("createListTransition", () => {
const el1 = document.createElement("div");
const el2 = document.createElement("span");
@@ -58,11 +60,12 @@ describe("createListTransition", () => {
expect(result()).toHaveLength(4);
expect(fn).toHaveBeenCalledOnce();
expect(fn).toHaveBeenCalledWith({
+ list: [el3, el1, el4, el2],
added: [el3, el4],
removed: [el2],
- moved: [el1],
+ unchanged: [el1],
finishRemoved: expect.any(Function),
- } satisfies Parameters>[0]);
+ } satisfies OnChangeParams);
const done = fn.mock.calls[0]![0].finishRemoved;
done([el2]);
@@ -72,28 +75,26 @@ describe("createListTransition", () => {
});
it("transitions element in on appear", () => {
- const fn = vi.fn();
+ createRoot(dispose => {
+ const fn = vi.fn();
- const { dispose, result } = createRoot(dispose => {
const result = createListTransition(() => [el1, el2], {
onChange: fn,
appear: true,
});
+
expect(result()).toHaveLength(2);
- expect(fn).not.toHaveBeenCalled();
- return { dispose, result };
- });
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith({
+ list: [el1, el2],
+ added: [el1, el2],
+ removed: [],
+ unchanged: [],
+ finishRemoved: expect.any(Function),
+ } satisfies OnChangeParams);
- expect(result()).toHaveLength(2);
- expect(fn).toHaveBeenCalledOnce();
- expect(fn).toHaveBeenCalledWith({
- added: [el1, el2],
- removed: [],
- moved: [],
- finishRemoved: expect.any(Function),
+ dispose();
});
-
- dispose();
});
it("can transition multiple leaving elements", () => {
@@ -112,11 +113,12 @@ describe("createListTransition", () => {
expect(result()).toHaveLength(3);
expect(fn).toHaveBeenCalledOnce();
expect(fn).toHaveBeenCalledWith({
+ list: [el2, el3, el1],
added: [el3],
removed: [el1],
- moved: [el2],
+ unchanged: [el2],
finishRemoved: expect.any(Function),
- });
+ } satisfies OnChangeParams);
const done1 = fn.mock.calls[0]![0].finishRemoved;
@@ -125,11 +127,12 @@ describe("createListTransition", () => {
expect(result()).toHaveLength(3);
expect(fn).toHaveBeenCalledTimes(2);
expect(fn).toHaveBeenLastCalledWith({
+ list: [el2, el3, el1],
added: [],
removed: [el2, el3],
- moved: [],
+ unchanged: [],
finishRemoved: expect.any(Function),
- });
+ } satisfies OnChangeParams);
const done2 = fn.mock.calls[1]![0].finishRemoved;
@@ -144,6 +147,62 @@ describe("createListTransition", () => {
dispose();
});
+ it("removes elements immediately if enabled", () => {
+ createRoot(dispose => {
+ const [children, setChildren] = createSignal([el1, el2]);
+ const fn = vi.fn();
+
+ const result = createListTransition(children, {
+ onChange: fn,
+ exitMethod: "remove",
+ });
+ expect(result()).toHaveLength(2);
+
+ setChildren([el2, el3]);
+ expect(result()).toHaveLength(2);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith({
+ list: [el2, el3],
+ added: [el3],
+ removed: [el1],
+ unchanged: [el2],
+ finishRemoved: expect.any(Function),
+ } satisfies OnChangeParams);
+
+ dispose();
+ });
+
+ it("keeps index if removed elements if enabled", () => {
+ createRoot(dispose => {
+ const [children, setChildren] = createSignal([el1, el2, el3]);
+ const fn = vi.fn();
+
+ const result = createListTransition(children, {
+ onChange: fn,
+ exitMethod: "keep-index",
+ });
+ expect(result()).toHaveLength(2);
+
+ setChildren([el1, el3]);
+ expect(result()).toHaveLength(3);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith({
+ list: [el1, el2, el3],
+ added: [el3],
+ removed: [el1],
+ unchanged: [el2],
+ finishRemoved: expect.any(Function),
+ } satisfies OnChangeParams);
+
+ dispose();
+ });
+ });
+ });
+
+ /*
+
+ Transitions will run even if under suspense.
+
it("suspends under Suspense", () => {
const onChange = vi.fn();
@@ -190,5 +249,8 @@ describe("createListTransition", () => {
});
dispose();
+
});
+
+ */
});
From d42815b36ed06936d782685e433bbe9064f684a2 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Wed, 1 Mar 2023 23:51:39 +0100
Subject: [PATCH 19/33] Remove createEffect from createSwitchTransition
---
packages/transition-group/dev/switch-page.tsx | 43 ++++++++-----
packages/transition-group/src/index.ts | 44 +++++--------
.../test/list-transition.test.ts | 35 ++++++++++-
.../test/switch-transition.test.ts | 63 ++++++++-----------
4 files changed, 102 insertions(+), 83 deletions(-)
diff --git a/packages/transition-group/dev/switch-page.tsx b/packages/transition-group/dev/switch-page.tsx
index 670e3b3e3..867788a9e 100644
--- a/packages/transition-group/dev/switch-page.tsx
+++ b/packages/transition-group/dev/switch-page.tsx
@@ -13,6 +13,8 @@ import {
import { resolveFirst } from "@solid-primitives/refs";
import { createSwitchTransition, TransitionMode } from "../src";
+const appear = localStorage.getItem("transition-group-appear") === "true";
+
function Transition(props: ParentProps & { mode: TransitionMode }): JSX.Element {
const el = resolveFirst(
() => props.children,
@@ -20,7 +22,7 @@ function Transition(props: ParentProps & { mode: TransitionMode }): JSX.Element
);
const animateIn = (el: HTMLElement, done: VoidFunction) => {
- if (!el.isConnected) console.warn(el.textContent + " is not connected on enter!!");
+ if (!el.isConnected) return done();
const a = el.animate(
[
{ opacity: 0, transform: "translate(100px)" },
@@ -37,7 +39,7 @@ function Transition(props: ParentProps & { mode: TransitionMode }): JSX.Element
};
const animateOut = (el: HTMLElement, done: VoidFunction) => {
- if (!el.isConnected) console.warn(el.textContent + " is not connected on exit!!");
+ if (!el.isConnected) return done();
const left1 = el.getBoundingClientRect().left;
animationMap.get(el)?.cancel();
const left2 = el.getBoundingClientRect().left;
@@ -56,17 +58,13 @@ function Transition(props: ParentProps & { mode: TransitionMode }): JSX.Element
return createSwitchTransition(el, {
onEnter(el, done) {
- // console.log("onEnter", el);
- requestAnimationFrame(() => {
- animateIn(el, done);
- });
+ queueMicrotask(() => animateIn(el, done));
},
onExit(el, done) {
- // console.log("onExit", el);
animateOut(el, done);
},
mode: props.mode,
- // appear: true,
+ appear,
});
}
@@ -132,15 +130,26 @@ const SwitchPage: Component = () => {
return (
<>
- {
- resolve();
- setRunResource(p => !p);
- }}
- >
- {runResource() ? "Stop" : "Start"} Resource
-
+
+ {
+ resolve();
+ setRunResource(p => !p);
+ }}
+ >
+ {runResource() ? "Stop" : "Start"} Resource
+
+ {
+ localStorage.setItem("transition-group-appear", String(!appear));
+ window.location.reload();
+ }}
+ >
+ {appear ? "Disable" : "Enable"} Appear
+
+
Toggle
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index 11e55261a..7e5cc3e7c 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -4,7 +4,6 @@ import {
createSignal,
untrack,
$TRACK,
- createEffect,
createComputed,
createMemo,
useTransition,
@@ -74,7 +73,7 @@ export function createSwitchTransition(
const [returned, setReturned] = createSignal[]>(
options.appear ? [] : initReturned,
);
- const [transitions, setTransitions] = createSignal([], { equals: false });
+ const [isTransitionPending] = useTransition();
let next: T | undefined;
let isExiting = false;
@@ -82,20 +81,13 @@ export function createSwitchTransition(
function exitTransition(el: T | undefined, after?: () => void) {
if (!el) return after && after();
isExiting = true;
- setTransitions(
- p => (
- p.push(() =>
- onExit(el, () => {
- batch(() => {
- isExiting = false;
- setReturned(p => p.filter(e => e !== el));
- after && after();
- });
- }),
- ),
- p
- ),
- );
+ onExit(el, () => {
+ batch(() => {
+ isExiting = false;
+ setReturned(p => p.filter(e => e !== el));
+ after && after();
+ });
+ });
}
function enterTransition(after?: () => void) {
@@ -103,7 +95,7 @@ export function createSwitchTransition(
if (!el) return after && after();
next = undefined;
setReturned(p => [el, ...p]);
- setTransitions(p => (p.push(() => onEnter(el, after ?? noop)), p));
+ onEnter(el, after ?? noop);
}
const triggerTransitions: (prev: T | undefined) => void =
@@ -119,15 +111,19 @@ export function createSwitchTransition(
exitTransition(prev);
};
- // update returned array in a pure computation
- // so that the updated list is available in user effects
createComputed(
(prev: T | undefined) => {
const el = source();
+ if (untrack(isTransitionPending)) {
+ // wait for pending transition to end before animating
+ isTransitionPending();
+ return prev;
+ }
+
if (el !== prev) {
next = el;
- untrack(() => triggerTransitions(prev));
+ batch(() => untrack(() => triggerTransitions(prev)));
}
return el;
@@ -138,14 +134,6 @@ export function createSwitchTransition(
options.appear ? undefined : initSource,
);
- // call transitions in effect to suspend them under Suspense
- createEffect(() => {
- const queue = transitions();
- const copy = queue.slice();
- queue.length = 0;
- untrack(() => copy.forEach(cb => cb()));
- });
-
return returned;
}
diff --git a/packages/transition-group/test/list-transition.test.ts b/packages/transition-group/test/list-transition.test.ts
index aa233f692..4c85bb976 100644
--- a/packages/transition-group/test/list-transition.test.ts
+++ b/packages/transition-group/test/list-transition.test.ts
@@ -1,5 +1,5 @@
-import { describe, it, expect, vi } from "vitest";
-import { createRoot, createSignal } from "solid-js";
+import { describe, it, test, expect, vi } from "vitest";
+import { createEffect, createRoot, createSignal, untrack } from "solid-js";
import { createListTransition, OnListChange } from "../src";
type OnChangeParams = Parameters>[0];
@@ -253,4 +253,35 @@ describe("createListTransition", () => {
});
*/
+
+ test("updated list should be available in user effects", () => {
+ let effRuns = 0;
+
+ const dispose = createRoot(dispose => {
+ const [children, setChildren] = createSignal([]);
+
+ createEffect(() => {
+ effRuns++;
+ children();
+ expect(untrack(result), "effect after root").toHaveLength(1);
+ expect(untrack(result)[0]).toBe(el1);
+ });
+
+ const result = createListTransition(children, {
+ onChange: () => {},
+ exitMethod: "remove",
+ });
+ expect(result(), "initial").toHaveLength(0);
+
+ setChildren([el1]);
+ expect(result(), "after sync assign").toHaveLength(1);
+ expect(result()[0]).toBe(el1);
+
+ return dispose;
+ });
+
+ expect(effRuns).toBe(1);
+
+ dispose();
+ });
});
diff --git a/packages/transition-group/test/switch-transition.test.ts b/packages/transition-group/test/switch-transition.test.ts
index bc97a2d64..60e33d8b4 100644
--- a/packages/transition-group/test/switch-transition.test.ts
+++ b/packages/transition-group/test/switch-transition.test.ts
@@ -1,18 +1,10 @@
import { describe, it, expect, vi, test } from "vitest";
-import {
- createEffect,
- createRenderEffect,
- createResource,
- createRoot,
- createSignal,
- Suspense,
-} from "solid-js";
+import { createEffect, createRoot, createSignal, untrack } from "solid-js";
import { createSwitchTransition } from "../src";
describe("createSwitchTransition", () => {
const el1 = document.createElement("div");
const el2 = document.createElement("div");
- const el3 = document.createElement("div");
it("renders items immediately on the initial run", () =>
createRoot(dispose => {
@@ -23,19 +15,17 @@ describe("createSwitchTransition", () => {
}));
it("reacts to changes to children", () => {
- const [children, setChildren] = createSignal();
+ createRoot(dispose => {
+ const [children, setChildren] = createSignal();
- const { result, dispose } = createRoot(dispose => {
const result = createSwitchTransition(children, {});
expect(result()).toHaveLength(0);
- return { result, dispose };
- });
- expect(result()).toHaveLength(0);
- setChildren(el1);
- expect(result()).toHaveLength(1);
- expect(result()[0]).toBe(el1);
- dispose();
+ setChildren(el1);
+ expect(result()).toHaveLength(1);
+ expect(result()[0]).toBe(el1);
+ dispose();
+ });
});
it("transitions element out", () => {
@@ -79,23 +69,20 @@ describe("createSwitchTransition", () => {
});
it("transitions element in on appear", () => {
- const fn = vi.fn();
+ createRoot(dispose => {
+ const fn = vi.fn();
- const { dispose, result } = createRoot(dispose => {
const result = createSwitchTransition(() => el1, {
onEnter: fn,
appear: true,
});
- expect(result()).toHaveLength(1);
- expect(fn).not.toHaveBeenCalled();
- return { result, dispose };
- });
- expect(result()).toHaveLength(1);
- expect(fn).toHaveBeenCalledOnce();
- expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
+ expect(result()).toHaveLength(1);
+ expect(fn).toHaveBeenCalledOnce();
+ expect(fn).toHaveBeenCalledWith(el1, expect.any(Function));
- dispose();
+ dispose();
+ });
});
it("toggles between two elements", () => {
@@ -208,6 +195,10 @@ describe("createSwitchTransition", () => {
dispose();
});
+ /*
+
+ The transitions are called in a pure computation, so they are still working under suspense
+
it("suspends under Suspense", () => {
const onEnter = vi.fn();
const onExit = vi.fn();
@@ -253,6 +244,8 @@ describe("createSwitchTransition", () => {
dispose();
});
+ */
+
test("updated list should be available in user effects", () => {
let effRuns = 0;
@@ -262,24 +255,22 @@ describe("createSwitchTransition", () => {
createEffect(() => {
effRuns++;
children();
- if (effRuns === 1) {
- expect(result(), "effect after root").toHaveLength(2);
- } else {
- expect(result(), "affect after transitions").toHaveLength(1);
- expect(result()[0]).toBe(el2);
- }
+ expect(untrack(result), "effect after root").toHaveLength(1);
+ expect(untrack(result)[0]).toBe(el2);
});
const result = createSwitchTransition(children, {});
expect(result(), "initial").toHaveLength(1);
+ expect(result()[0]).toBe(el1);
setChildren(el2);
- expect(result(), "after sync assign").toHaveLength(2);
+ expect(result(), "after sync assign").toHaveLength(1);
+ expect(result()[0]).toBe(el2);
return dispose;
});
- expect(effRuns).toBe(2);
+ expect(effRuns).toBe(1);
dispose();
});
From 11ac3dc57c579aaaf68036a5c89adf04a549102b Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Thu, 2 Mar 2023 19:34:23 +0100
Subject: [PATCH 20/33] Improve documentation
---
packages/transition-group/README.md | 68 +++++++++++++++++++++++---
packages/transition-group/src/index.ts | 33 +++++++++----
2 files changed, 85 insertions(+), 16 deletions(-)
diff --git a/packages/transition-group/README.md b/packages/transition-group/README.md
index cb6871f14..7f49b7354 100644
--- a/packages/transition-group/README.md
+++ b/packages/transition-group/README.md
@@ -41,8 +41,11 @@ It will observe the source and return a signal with array of elements to be rend
- `options` transition options:
- `onEnter` - a function to be called when a new element is entering. It receives the element and a callback to be called when the transition is done.
+
- `onExit` - a function to be called when an exiting element is leaving. It receives the element and a callback to be called when the transition is done.
+
- `mode` - transition mode. Defaults to `"parallel"`. Other options are `"out-in"` and `"in-out"`.
+
- `appear` - whether to run the transition on the initial element. Defaults to `false`.
If enabled, the initial element will still be included in the initial render (for SSR), but the transition fill happen when the first client-side effect is run. So to avoid the initial element to be visible, you can set the initial element's style to `display: none` and set it to `display: block` in the `onEnter` callback.
@@ -57,8 +60,8 @@ const [el, setEl] = createSignal();
const rendered = createSwitchTransition(el, {
onEnter(el, done) {
// the enter callback is called before the element is inserted into the DOM
- // so run the animation in the next animation frame
- requestAnimationFrame(() => {
+ // so run the animation in the next animation frame / microtask
+ queueMicrotask(() => {
/*...*/
});
},
@@ -71,6 +74,35 @@ const rendered = createSwitchTransition(el, {
setEl(refToHtmlElement);
```
+### Resolving JSX
+
+Usually the source will be a JSX element, and you will want to resolve it to a DOM element before passing it to `createSwitchTransition`. It leaves the resolving to you, so you can do it in any way you want.
+
+For example, you can `children` helper from `solid-js`, to get the first found HTML element.
+
+```ts
+import { children } from "solid-js";
+import { createSwitchTransition } from "@solid-primitives/transition-group";
+
+const resolved = children(() => props.children);
+const filtered = createMemo(() => resolved.asArray().find(el => el instanceof HTMLElement));
+return createSwitchTransition(filtered, {
+ /*...*/
+});
+```
+
+Or use a `resolveFirst` helper from `@solid-primitives/refs`
+
+```ts
+import { resolveFirst } from "@solid-primitives/refs";
+import { createSwitchTransition } from "@solid-primitives/transition-group";
+
+const resolved = resolveFirst(() => props.children);
+return createSwitchTransition(resolved, {
+ /*...*/
+});
+```
+
## `createListTransition`
Create an element list transition interface for changes to the list of elements.
@@ -88,9 +120,16 @@ It will observe the source and return a signal with array of elements to be rend
- `options` transition options:
- `onChange` - a function to be called when the list changes. It receives the list of added elements, removed elements, and moved elements. It also receives a callback to be called when the removed elements are finished animating (they can be removed from the DOM).
+
- `appear` - whether to run the transition on the initial elements. Defaults to `false`.
- If enabled, the initial elements will still be included in the initial render (for SSR), but the transition fill happen when the first client-side effect is run. So to avoid the initial elements to be visible, you can set the initial element's style to `display: none` and set it to `display: block` in the `onEnter` callback.
+ If enabled, the initial elements will still be included in the initial render (for SSR), but the transition fill happen when the first client-side effect is run. So to avoid the initial elements to be visible, you can set the initial element's style to `display: none` and set it to `display: block` in the `onChange` callback.
+
+ - `exitMethod` - This controls how the elements exit.
+
+ - `"remove"` removes the element immediately.
+ - `"move-to-end"` (default) will move elements which have exited to the end of the array.
+ - `"keep-index"` will splice them in at their previous index.
Returns a signal with an array of the current elements and exiting previous elements.
@@ -100,10 +139,10 @@ import { createListTransition } from "@solid-primitives/transition-group";
const [els, setEls] = createSignal([]);
const rendered = createListTransition(els, {
- onChange({ added, removed, moved, finishRemoved }) {
+ onChange({ list, added, removed, unchanged, finishRemoved }) {
// the callback is called before the added elements are inserted into the DOM
- // so run the animation in the next animation frame
- requestAnimationFrame(() => {
+ // so run the animation in the next animation frame / microtask
+ queueMicrotask(() => {
/*...*/
});
@@ -116,6 +155,23 @@ const rendered = createListTransition(els, {
setEls([...refsToHTMLElements]);
```
+### Resolving JSX
+
+Usually the source will be a JSX Element, and you will want to resolve it to a list of DOM elements before passing it to `createListTransition`. It leaves the resolving to you, so you can do it in any way you want.
+
+For example, you can `children` helper from `solid-js`, and filter out non-HTML elements:
+
+```ts
+import { children } from "solid-js";
+import { createListTransition } from "@solid-primitives/transition-group";
+
+const resolved = children(() => props.children);
+const filtered = createMemo(() => resolved.asArray().filter(el => el instanceof HTMLElement));
+return createListTransition(filtered, {
+ /*...*/
+});
+```
+
## Demo
Deployed example:
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index 7e5cc3e7c..eda9895e0 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -17,9 +17,26 @@ export type TransitionMode = "out-in" | "in-out" | "parallel";
export type OnTransition = (el: T, done: () => void) => void;
export type SwitchTransitionOptions = {
+ /**
+ * a function to be called when a new element is entering. {@link OnTransition}
+ *
+ * It receives the element and a callback to be called when the transition is done.
+ */
onEnter?: OnTransition;
+ /**
+ * a function to be called when an exiting element is leaving. {@link OnTransition}
+ *
+ * It receives the element and a callback to be called when the transition is done.
+ * The element is kept in the DOM until the done() callback is called.
+ */
onExit?: OnTransition;
+ /**
+ * transition mode. {@link TransitionMode}
+ *
+ * Defaults to `"parallel"`. Other options are `"out-in"` and `"in-out"`.
+ */
mode?: TransitionMode;
+ /** whether to run the transition on the initial elements. Defaults to `false` */
appear?: boolean;
};
@@ -31,11 +48,7 @@ export type SwitchTransitionOptions = {
*
* @param source a signal with the current element. Any nullish value will mean there is no element.
* Any object can used as the source, but most likely you will want to use a `HTMLElement` or `SVGElement`.
- * @param options transition options:
- * - `onEnter` - a function to be called when a new element is entering. It receives the element and a callback to be called when the transition is done.
- * - `onExit` - a function to be called when an exiting element is leaving. It receives the element and a callback to be called when the transition is done.
- * - `mode` - transition mode. Defaults to `"parallel"`. Other options are `"out-in"` and `"in-out"`.
- * - `appear` - whether to run the transition on the initial element. Defaults to `false`.
+ * @param options transition options {@link SwitchTransitionOptions}
* @returns a signal with an array of the current element and exiting previous elements.
*
* @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group#createSwitchTransition
@@ -46,8 +59,8 @@ export type SwitchTransitionOptions = {
* const rendered = createSwitchTransition(el, {
* onEnter(el, done) {
* // the enter callback is called before the element is inserted into the DOM
- * // so run the animation in the next animation frame
- * requestAnimationFrame(() => { ... })
+ * // so run the animation in the next animation frame / microtask
+ * queueMicrotask(() => { ... })
* },
* onExit(el, done) {
* // the exitting element is kept in the DOM until the done() callback is called
@@ -187,10 +200,10 @@ export type ListTransitionOptions = {
* const [els, setEls] = createSignal([]);
*
* const rendered = createListTransition(els, {
- * onChange({ added, removed, moved, finishRemoved }) {
+ * onChange({ list, added, removed, unchanged, finishRemoved }) {
* // the callback is called before the added elements are inserted into the DOM
- * // so run the animation in the next animation frame
- * requestAnimationFrame(() => { ... })
+ * // so run the animation in the next animation frame / microtask
+ * queueMicrotask(() => { ... })
*
* // the removed elements are kept in the DOM until the finishRemoved() callback is called
* finishRemoved(removed);
From ba06b3349180232940da9e1f34e3cb8a47084b63 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Thu, 2 Mar 2023 19:47:16 +0100
Subject: [PATCH 21/33] Bump beta version
---
.changeset/fair-kangaroos-beam.md | 5 +++++
.changeset/pre.json | 4 +++-
packages/date/CHANGELOG.md | 7 +++++++
packages/date/package.json | 4 ++--
packages/memo/CHANGELOG.md | 6 ++++++
packages/memo/package.json | 2 +-
packages/transition-group/CHANGELOG.md | 6 ++++++
packages/transition-group/package.json | 2 +-
8 files changed, 31 insertions(+), 5 deletions(-)
create mode 100644 .changeset/fair-kangaroos-beam.md
diff --git a/.changeset/fair-kangaroos-beam.md b/.changeset/fair-kangaroos-beam.md
new file mode 100644
index 000000000..4e3647407
--- /dev/null
+++ b/.changeset/fair-kangaroos-beam.md
@@ -0,0 +1,5 @@
+---
+"@solid-primitives/transition-group": patch
+---
+
+Remove effects - change the rendered array and call transitions in a pure computation.
diff --git a/.changeset/pre.json b/.changeset/pre.json
index 731425b9c..d70daf5a0 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -72,7 +72,9 @@
},
"changesets": [
"dirty-kiwis-exist",
+ "fair-kangaroos-beam",
"fresh-maps-worry",
- "itchy-suits-attack"
+ "itchy-suits-attack",
+ "seven-onions-smile"
]
}
diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md
index f7e97e5cb..ab82d81e4 100644
--- a/packages/date/CHANGELOG.md
+++ b/packages/date/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/date
+## 2.0.9-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d7b907e6]
+ - @solid-primitives/memo@1.2.0-beta.0
+
## 2.0.8
### Patch Changes
diff --git a/packages/date/package.json b/packages/date/package.json
index 243ac9dec..d629b32dc 100644
--- a/packages/date/package.json
+++ b/packages/date/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/date",
- "version": "2.0.8",
+ "version": "2.0.9-beta.0",
"description": "Collection of reactive primitives and utility functions, providing easier ways to deal with dates in SolidJS",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -59,7 +59,7 @@
"date-fns": "^2.29.2"
},
"dependencies": {
- "@solid-primitives/memo": "^1.1.5",
+ "@solid-primitives/memo": "^1.2.0-beta.0",
"@solid-primitives/timer": "^1.3.6",
"@solid-primitives/utils": "^5.2.1"
},
diff --git a/packages/memo/CHANGELOG.md b/packages/memo/CHANGELOG.md
index 2f1f50097..3d74792c5 100644
--- a/packages/memo/CHANGELOG.md
+++ b/packages/memo/CHANGELOG.md
@@ -1,5 +1,11 @@
# @solid-primitives/memo
+## 1.2.0-beta.0
+
+### Minor Changes
+
+- d7b907e6: Major improvements to how createWritableMemo and createLatest works.
+
## 1.1.5
### Patch Changes
diff --git a/packages/memo/package.json b/packages/memo/package.json
index a6a176235..b7173e702 100644
--- a/packages/memo/package.json
+++ b/packages/memo/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/memo",
- "version": "1.1.5",
+ "version": "1.2.0-beta.0",
"description": "Collection of custom memo primitives. They extend Solid's createMemo functionality while keeping the usage similar.",
"author": "Damian Tarnawski @thetarnav ",
"contributors": [],
diff --git a/packages/transition-group/CHANGELOG.md b/packages/transition-group/CHANGELOG.md
index 37048765b..b587a9856 100644
--- a/packages/transition-group/CHANGELOG.md
+++ b/packages/transition-group/CHANGELOG.md
@@ -1,5 +1,11 @@
# @solid-primitives/transition-group
+## 0.0.1-beta.2
+
+### Patch Changes
+
+- Remove effects - change the rendered array and call transitions in a pure computation.
+
## 0.0.1-beta.1
### Patch Changes
diff --git a/packages/transition-group/package.json b/packages/transition-group/package.json
index a01d261b6..fa2403d06 100644
--- a/packages/transition-group/package.json
+++ b/packages/transition-group/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/transition-group",
- "version": "0.0.1-beta.1",
+ "version": "0.0.1-beta.2",
"description": "Reactive primitives for implementing transition effects in SolidJS",
"author": "Damian Tarnawski ",
"contributors": [],
From d1ea0d5c78a54a9a80cd7cc2e6420441cc7db9ad Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Thu, 2 Mar 2023 19:49:26 +0100
Subject: [PATCH 22/33] Update lockfile
---
pnpm-lock.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index be0c5cdb7..f7fe755d4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -171,7 +171,7 @@ importers:
packages/date:
specifiers:
'@solid-primitives/event-listener': ^2.2.7
- '@solid-primitives/memo': ^1.1.5
+ '@solid-primitives/memo': ^1.2.0-beta.0
'@solid-primitives/timer': ^1.3.6
'@solid-primitives/utils': ^5.2.1
date-fns: ^2.29.2
From d6559a32e77e96da2c8d5bef414954fe8fc3df47 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Thu, 2 Mar 2023 22:11:33 +0100
Subject: [PATCH 23/33] Major changes to `refs` package
Major API changes. Bump stage to 2.
`mapRemoved`, `Refs`, `Ref`, `unmount`, `refs`, `getChangedItems`, `getAddedItems` and `getRemovedItems` has been removed.
Add `getResolvedElements`, `resolveElements`, `getFirstChild` and `resolveFirst` primitives.
Improve `mergeRefs` to allow an array of refs to be passed in.
---
.changeset/dirty-kiwis-exist.md | 5 -
.changeset/flat-fishes-pay.md | 5 +
.changeset/khaki-geckos-punch.md | 11 +
packages/refs/README.md | 2 +-
packages/refs/package.json | 12 +-
packages/refs/src/index.ts | 495 ++----
packages/refs/test/index.test.ts | 10 +-
packages/refs/test/mergeRefs.test.tsx | 8 +-
packages/transition-group/src/index.ts | 3 -
packages/utils/src/types.ts | 7 +-
pnpm-lock.yaml | 2265 ++++++++++++------------
11 files changed, 1237 insertions(+), 1586 deletions(-)
delete mode 100644 .changeset/dirty-kiwis-exist.md
create mode 100644 .changeset/flat-fishes-pay.md
create mode 100644 .changeset/khaki-geckos-punch.md
diff --git a/.changeset/dirty-kiwis-exist.md b/.changeset/dirty-kiwis-exist.md
deleted file mode 100644
index 1edfad13f..000000000
--- a/.changeset/dirty-kiwis-exist.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@solid-primitives/refs": minor
----
-
-Add `findFirst` and `resolveFirst` primitives
diff --git a/.changeset/flat-fishes-pay.md b/.changeset/flat-fishes-pay.md
new file mode 100644
index 000000000..4a531f706
--- /dev/null
+++ b/.changeset/flat-fishes-pay.md
@@ -0,0 +1,5 @@
+---
+"@solid-primitives/utils": minor
+---
+
+Export `ResolvedJSXElement` and `ResolvedChildren` types from utils
diff --git a/.changeset/khaki-geckos-punch.md b/.changeset/khaki-geckos-punch.md
new file mode 100644
index 000000000..a2a0b1c00
--- /dev/null
+++ b/.changeset/khaki-geckos-punch.md
@@ -0,0 +1,11 @@
+---
+"@solid-primitives/refs": major
+---
+
+Major API changes. Bump stage to 2.
+
+`mapRemoved`, `Refs`, `Ref`, `unmount`, `refs`, `getChangedItems`, `getAddedItems` and `getRemovedItems` has been removed.
+
+Add `getResolvedElements`, `resolveElements`, `getFirstChild` and `resolveFirst` primitives.
+
+Improve `mergeRefs` to allow an array of refs to be passed in.
diff --git a/packages/refs/README.md b/packages/refs/README.md
index 1256effd0..ff0b2c156 100644
--- a/packages/refs/README.md
+++ b/packages/refs/README.md
@@ -7,7 +7,7 @@
[](https://turborepo.org/)
[](https://bundlephobia.com/package/@solid-primitives/refs)
[](https://www.npmjs.com/package/@solid-primitives/refs)
-[](https://github.com/solidjs-community/solid-primitives#contribution-process)
+[](https://github.com/solidjs-community/solid-primitives#contribution-process)
Collection of primitives, components and directives that help managing references to JSX elements, keeping track of mounted/unmounted elements.
diff --git a/packages/refs/package.json b/packages/refs/package.json
index 8595c7caf..69012dcc0 100644
--- a/packages/refs/package.json
+++ b/packages/refs/package.json
@@ -11,16 +11,13 @@
},
"primitive": {
"name": "refs",
- "stage": 1,
+ "stage": 2,
"list": [
"mergeRefs",
+ "resolveElements",
+ "resolveFirst",
"elements",
- "refs",
- "mapRemoved",
- "Children",
- "Refs",
- "Ref",
- "unmount"
+ "Children"
],
"category": "Control Flow"
},
@@ -56,7 +53,6 @@
],
"dependencies": {
"@solid-primitives/immutable": "^0.1.7",
- "@solid-primitives/rootless": "^1.2.5",
"@solid-primitives/utils": "^5.2.1"
},
"devDependencies": {
diff --git a/packages/refs/src/index.ts b/packages/refs/src/index.ts
index 6f92a0ba2..5af0e4f97 100644
--- a/packages/refs/src/index.ts
+++ b/packages/refs/src/index.ts
@@ -1,179 +1,178 @@
-import { filterInstance, remove, removeItems } from "@solid-primitives/immutable";
-import { createSubRoot } from "@solid-primitives/rootless";
-import {
- access,
- asArray,
- Directive,
- ExtractIfPossible,
- ItemsOf,
- Many,
-} from "@solid-primitives/utils";
-import {
- Accessor,
- children,
- createComputed,
- createMemo,
- createSignal,
- JSX,
- on,
- onCleanup,
- onMount,
- untrack,
- getOwner,
- Setter,
-} from "solid-js";
+import { filterInstance } from "@solid-primitives/immutable";
+import { asArray, chain, ExtractIfPossible, Many, ResolvedChildren } from "@solid-primitives/utils";
+import { Accessor, children, createComputed, createMemo, JSX, on, onCleanup } from "solid-js";
-declare module "solid-js" {
- namespace JSX {
- interface Directives {
- unmount: (el: Element) => void;
- }
- }
-}
-export type E = JSX.Element;
+/**
+ * Type for the `ref` prop
+ */
+export type Ref = T | ((el: T) => void) | undefined;
/**
- * Component properties with types for `ref`
+ * Component properties with types for `ref` prop
* ```ts
* {
- * ref?: Element | ((el: Element) => void);
+ * ref?: T | ((el: T) => void);
* }
* ```
*/
-export interface RefProps {
- ref?: T | ((el: T) => void);
+export interface RefProps {
+ ref?: Ref;
}
-/**
- * Type of resolved JSX elements provided by Solid's `children` helper.
- */
-export type ResolvedChildren = ReturnType>;
-
/**
* Utility for using jsx refs both for local variables and providing it to the `props.ref` for component consumers.
- * @param setRef use this to set local variables
- * @param propsRef for forwarding the ref to `props.ref`
+ * @param refs list of ref setters. Can be a `props.ref` prop for ref forwarding or a setter to a local variable (`el => ref = el`).
* @example
* ```tsx
* interface ButtonProps {
- * ref?: HTMLButtonElement | ((el: HTMLButtonElement) => void);
+ * ref?: Ref
* }
* const Button = (props: ButtonProps) => {
- * let ref!: HTMLButtonElement
+ * let ref: HTMLButtonElement | undefined
* onMount(() => {
* // use the local ref
* })
- * return (ref = el), props.ref)} />
+ * return ref = el)} />
* }
*
* // in consumer's component:
- * let ref!: HTMLButtonElement
+ * let ref: HTMLButtonElement | undefined
*
* ```
*/
-export function mergeRefs(
- setRef: (el: T) => void,
- propsRef: T | ((el: T) => void) | undefined,
-): (el: T) => void {
- return el => {
- setRef(el);
- (propsRef as ((el: T) => void) | undefined)?.(el);
- };
+export function mergeRefs(...refs: Ref[]): (el: T) => void {
+ return chain(refs as ((el: T) => void)[]);
}
-const mutableRemove = (list: T[], item: T): void => {
- const index = list.indexOf(item);
- list.splice(index, 1);
-};
-
-/**
- * Which elements got added to the array, and which got removed?
- * @param prevList Array before change
- * @param list Array after change
- * @returns `[added items, removed items]`
- */
-export function getChangedItems(
- prevList: readonly T[],
- list: readonly T[],
-): [added: T[], removed: T[]] {
- const prev = prevList.slice();
- const added: T[] = [];
- for (const el of list) {
- const index = prev.indexOf(el);
- if (index !== -1) prev.splice(index, 1);
- else added.push(el);
- }
- return [added, prev];
-}
/**
- * Which elements got added to the array?
- * @param prevList Array before change
- * @param list Array after change
- * @returns list of added items
- */
-export const getAddedItems = (prevList: readonly T[], list: readonly T[]): T[] =>
- list.filter(item => !prevList.includes(item));
-/**
- * Which elements got removed from the array?
- * @param prevList Array before change
- * @param list Array after change
- * @returns list of removed items
- */
-export const getRemovedItems = (prevList: readonly T[], list: readonly T[]): T[] =>
- prevList.filter(item => !list.includes(item));
-
-/**
- * Similarly to `children()` helper from `solid-js` will resolve provided {@link value} to a flat list of HTML elements or a single element or `null`. But doesn't create a computation.
- * @param value value to be resolved
- * @returns ```ts
- * HTMLElement | HTMLElement[] | null
- * ```
+ * Utility for resolving recursively nested JSX children to a single element or an array of elements using a predicate.
+ *
+ * It does **not** create a computation - should be wrapped in one to repeat the resolution on changes.
+ *
+ * @param value JSX children
+ * @param predicate predicate to filter elements
+ * @returns single element or an array of elements or `null` if no elements were found
*/
-export function resolveElements(value: unknown): HTMLElement | HTMLElement[] | null {
- let resolved = getResolvedElements(value);
- if (Array.isArray(resolved) && !resolved.length) resolved = null;
- return resolved;
-}
-function getResolvedElements(value: unknown): HTMLElement | HTMLElement[] | null {
- if (typeof value === "function" && !value.length) return getResolvedElements(value());
+export function getResolvedElements(
+ value: JSX.Element,
+ predicate: (item: JSX.Element | T) => item is T,
+): T | T[] | null {
+ if (predicate(value)) return value;
+ if (typeof value === "function" && !value.length) return getResolvedElements(value(), predicate);
if (Array.isArray(value)) {
- const results: HTMLElement[] = [];
+ const results: T[] = [];
for (const item of value) {
- const result = getResolvedElements(item);
+ const result = getResolvedElements(item, predicate);
if (result)
Array.isArray(result) ? results.push.apply(results, result) : results.push(result);
}
- return results;
+ return results.length ? results : null;
}
- return value instanceof HTMLElement ? value : null;
+ return null;
+}
+
+export type ResolveChildrenReturn = Accessor & {
+ toArray: () => T[];
+};
+
+/**
+ * Utility for resolving recursively nested JSX children to a single element or an array of elements using a predicate.
+ *
+ * @param fn Accessor of JSX children
+ * @param predicate predicate to filter elements.
+ * ```ts
+ * // default predicate
+ * (item: JSX.Element): item is Element => item instanceof Element
+ * ```
+ * @returns Signal of a single element or an array of elements or `null` if no elements were found
+ * ```ts
+ * Accessor & { toArray: () => T[] }
+ * ```
+ * @example
+ * ```tsx
+ * function Button(props: ParentProps) {
+ * const children = resolveElements(() => props.children)
+ * return
+ * {child => {child.localName}: {child}
}
+ *
+ * }
+ * ```
+ */
+export function resolveElements(fn: Accessor): ResolveChildrenReturn;
+export function resolveElements(
+ fn: Accessor,
+ predicate: (item: JSX.Element | T) => item is T,
+): ResolveChildrenReturn;
+export function resolveElements(
+ fn: Accessor,
+ predicate = (item: unknown | Element): item is Element => item instanceof Element,
+): ResolveChildrenReturn {
+ const children = createMemo(fn);
+ const memo = createMemo(() =>
+ getResolvedElements(children(), predicate),
+ ) as ResolveChildrenReturn;
+ memo.toArray = () => {
+ const value = memo();
+ return Array.isArray(value) ? value : value ? [value] : [];
+ };
+ return memo;
}
-export function findFirst(
+/**
+ * Utility for resolving recursively nested JSX children in search of the first element that matches a predicate.
+ *
+ * It does **not** create a computation - should be wrapped in one to repeat the resolution on changes.
+ *
+ * @param value JSX children
+ * @param predicate predicate to filter elements
+ * @returns single found element or `null` if no elements were found
+ */
+export function getFirstChild(
value: JSX.Element,
- predicate: (item: unknown | T) => item is T
+ predicate: (item: JSX.Element | T) => item is T,
): T | null {
if (predicate(value)) return value;
- if (typeof value === "function" && !value.length) return findFirst(value(), predicate);
+ if (typeof value === "function" && !value.length) return getFirstChild(value(), predicate);
if (Array.isArray(value)) {
for (const item of value) {
- const result = findFirst(item, predicate);
+ const result = getFirstChild(item, predicate);
if (result) return result;
}
}
return null;
}
+/**
+ * Utility for resolving recursively nested JSX children in search of the first element that matches a predicate.
+ * @param fn Accessor of JSX children
+ * @param predicate predicate to filter elements.
+ * ```ts
+ * // default predicate
+ * (item: JSX.Element): item is Element => item instanceof Element
+ * ```
+ * @returns Signal of a single found element or `null` if no elements were found
+ * ```ts
+ * Accessor
+ * ```
+ * @example
+ * ```tsx
+ * function Button(props: ParentProps) {
+ * const child = resolveFirst(() => props.children)
+ * return {child()?.localName}: {child()}
+ * }
+ * ```
+ */
export function resolveFirst(fn: Accessor): Accessor;
export function resolveFirst(
fn: Accessor,
- predicate: (item: unknown | T) => item is T
+ predicate: (item: JSX.Element | T) => item is T,
): Accessor;
export function resolveFirst(
fn: Accessor,
- predicate = (item: unknown | Element): item is Element => item instanceof Element
+ predicate = (item: JSX.Element | Element): item is Element => item instanceof Element,
): Accessor {
- const memo = createMemo(fn);
- return createMemo(() => findFirst(memo(), predicate));
+ const children = createMemo(fn);
+ return createMemo(() => getFirstChild(children(), predicate));
}
/**
@@ -192,177 +191,11 @@ export function elements(fn: Accessor>): Accessor(
fn: Accessor>,
...types: T
-): Accessor>>[]>;
+): Accessor>[]>;
export function elements(fn: Accessor, ...types: (typeof Element)[]): Accessor {
return createMemo(() => filterInstance(asArray(fn()), ...(types.length ? types : [Element])));
}
-/**
- * Get signal references to DOM Elements of the reactive input. Which Elements were added, which were removed.
- * @param fn JSX.Element signal
- * @returns `[current elements, added, removed]`
- * @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#refs
- * @example
- * const [elements, added, removed] = refs(children(() => props.children));
- * elements() // => [, , ...]
- * added() // => [...]
- * removed() // => [...]
- */
-export function refs
(
- fn: Accessor>,
-): [
- refs: Accessor[]>,
- added: Accessor[]>,
- removed: Accessor[]>,
-];
-export function refs(
- fn: Accessor>,
- ...types: T
-): [
- refs: Accessor>>[]>,
- added: Accessor>>[]>,
- removed: Accessor>>[]>,
-];
-export function refs(
- fn: Accessor,
- ...types: (typeof Element)[]
-): [refs: Accessor, added: Accessor, removed: Accessor] {
- const resolved = elements(fn, ...types);
- let prev: readonly Element[] = [];
-
- const memo = createMemo(() => {
- const list = resolved();
- const [added, removed] = getChangedItems(prev, list);
- prev = list;
- return { refs: list.slice(), added, removed };
- });
-
- return [() => memo().refs, () => memo().added, () => memo().removed];
-}
-
-/**
- * A directive that calls handler when the element get's unmounted from DOM.
- * @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#unmount
- */
-export const unmount: Directive<(el: Element) => void> = (el, handler): void => {
- onCleanup(() => handler()(el));
-};
-
-/**
- * reactively map removed items from a reactive signal array. If the mapping function return an element signal, this element will be placed in the array returned from primitive.
- * @param list array source
- * @param mapFn function executed on elements removed from the source list. Return element to keep it in the array.
- * @returns array signal of elements from source + mapped removed elements
- * @example
- * const combined = mapRemoved(refs, (ref, i) => {
- * const [el, setEl] = createSignal(ref);
- * createEffect(() => {}) // you can create computations in the mapping function
- * return el; // set the signal to undefined to remove it from array
- * });
- */
-export function mapRemoved(
- list: Accessor>,
- mapFn: (v: T, index: Accessor) => Accessor | undefined | void,
-): Accessor {
- let prevList: T[] = [];
- const saved = new Set();
- const indexes = mapFn.length > 1 ? new Map>() : undefined;
- const owner = getOwner();
- const [items, setItems] = createSignal([]);
-
- createComputed(
- on(list, _list => {
- const { length } = prevList;
- const newList = asArray(_list).slice();
-
- // fast path for empty prev list
- if (!length) return setItems((prevList = newList));
-
- for (let pi = 0, ni = 0; pi < length; ) {
- const item = prevList[pi]!;
- // item already in both lists
- if (newList.includes(item)) pi++, ni++;
- // item saved from previous changes
- else if (saved.has(item)) {
- const x = prevList.indexOf(newList[ni]!);
- if (x !== -1 && x <= pi) ni++;
- else {
- newList.splice(ni, 0, item);
- indexes?.get(item)?.(ni);
- pi++;
- }
- }
- // item removed in this change
- else mapRemovedElement(newList, item, pi), pi++;
- }
-
- setItems((prevList = newList));
- }),
- );
-
- let toRemove: T[] = [];
- const executeToRemove = () => {
- if (!toRemove.length) return;
- setItems(p => removeItems(p, ...toRemove));
- toRemove = [];
- };
-
- function mapRemovedElement(newList: T[], item: T, i: number) {
- createSubRoot(dispose => {
- let signal: Accessor, mapped: T;
- // create index signal
- if (indexes) {
- const [index, setIndex] = createSignal(i);
- const s = mapFn(item, index);
- const m = access(s);
- if (!m) return dispose();
- indexes.set(m, setIndex);
- (signal = s as Accessor), (mapped = m);
- }
- // don't create index signal
- else {
- const s = (mapFn as any)(item);
- const m = access(s);
- if (!m) return dispose();
- (signal = s), (mapped = m);
- }
-
- saved.add(mapped);
- newList.splice(i, 0, mapped);
- let prev: T = mapped;
-
- // prettier-ignore
- createComputed(on(signal, signalValue => {
- saved.delete(prev)
- if (indexes) {
- const set = indexes.get(prev)
- indexes.delete(prev)
- if (signalValue) set && indexes.set(signalValue, set)
- else {
- const listValue = items()
- for (i = listValue.indexOf(prev); i < listValue.length; i++) {
- indexes.get(listValue[i]!)?.(p => --p)
- }
- }
- }
- // remove saved item if changed to undefined
- if (!signalValue) {
- mutableRemove(prevList, prev);
- // batch setItems changes
- toRemove.push(prev);
- queueMicrotask(executeToRemove);
- return dispose();
- }
- saved.add(signalValue);
- setItems(p => remove(p, prev, signalValue));
- prev = signalValue;
- }, { defer: true }));
- }, owner);
- }
-
- return items;
-}
-
/**
* Solid's `children` helper in component form. Access it's children elements by `get` property.
* @property `get` – get resolved elements, fired every time the children change
@@ -376,94 +209,12 @@ export function mapRemoved(
*
* ```
*/
-export const Children = (props: {
+export function Children(props: {
get: (resolved: ResolvedChildren) => void;
children: JSX.Element;
-}): Accessor => {
+}): JSX.Element {
const resolved = children(() => props.children);
createComputed(on(resolved, props.get));
onCleanup(() => props.get(undefined));
return resolved;
-};
-
-/**
- * Get up-to-date references of the multiple children elements.
- * @param refs Getter of current array of elements
- * @param added Getter of added elements since the last change
- * @param removed Getter of removed elements since the last change
- * @param onChange handle children changes
- * @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#Refs
- */
-export const Refs = (props: {
- refs?: (els: El[]) => void;
- added?: (els: El[]) => void;
- removed?: (els: El[]) => void;
- onChange?: (changed: { refs: El[]; added: El[]; removed: El[] }) => void;
- children: JSX.Element;
-}): Accessor => {
- const resolved = children(() => props.children);
-
- // calculate changed elements only if user listens for it
- if (props.added || props.removed || props.onChange) {
- const [elementList, added, removed] = refs(resolved);
- const emit = (refValue: El[], addedValue: El[], removedValue: El[]) =>
- untrack(() => {
- props.refs?.(refValue);
- props.added?.(addedValue);
- props.removed?.(removedValue);
- props.onChange?.({ refs: refValue, added: addedValue, removed: removedValue });
- });
- createComputed(() => emit(elementList() as El[], added() as El[], removed() as El[]));
- onCleanup(() => emit([], [], elementList() as El[]));
- }
- // or emit only the current elements
- else if (props.refs) {
- const cb = props.refs;
- const refList = elements(resolved);
- createComputed(() => cb(refList() as El[]));
- onCleanup(() => cb([]));
- }
-
- return resolved;
-};
-
-/**
- * Get up-to-date reference to a single child element.
- * @param ref Getter of current element *(or `undefined` if not mounted)*
- * @param onMount handle the child element getting mounted to the dom
- * @param onUnmount handle the child element getting unmounted from the dom
- * @see https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#Ref
- */
-export const Ref = (props: {
- ref?: (el: U | undefined) => void;
- onMount?: (el: U) => void;
- onUnmount?: (el: U) => void;
- children: JSX.Element;
-}): Accessor => {
- const resolved = children(() => props.children);
- let prev: U | undefined;
-
- createComputed(() => {
- const el = (() => {
- let newEl = access(resolved()) as U | undefined;
- if (!(newEl instanceof Element)) newEl = undefined;
- return newEl;
- })();
-
- untrack(() => {
- props.ref?.(el);
- if (el && prev !== el) onMount(() => props.onMount?.(el));
- if (prev && prev !== el && props.onUnmount) props.onUnmount(prev);
- });
- prev = el;
- });
-
- onCleanup(() => {
- if (prev) {
- props.ref?.(undefined);
- props.onUnmount?.(prev);
- }
- });
-
- return resolved;
-};
+}
diff --git a/packages/refs/test/index.test.ts b/packages/refs/test/index.test.ts
index 32a3d2131..b28f5f95a 100644
--- a/packages/refs/test/index.test.ts
+++ b/packages/refs/test/index.test.ts
@@ -1,15 +1,7 @@
import { describe, test, expect } from "vitest";
import { createRoot, createSignal } from "solid-js";
import { push, remove, removeItems } from "@solid-primitives/immutable";
-import {
- elements,
- getAddedItems,
- getChangedItems,
- getRemovedItems,
- mapRemoved,
- refs,
- resolveElements,
-} from "../src";
+import { elements, resolveElements } from "../src";
const el1 = document.createElement("div");
const el2 = document.createElement("span");
diff --git a/packages/refs/test/mergeRefs.test.tsx b/packages/refs/test/mergeRefs.test.tsx
index 3a32f51b7..ad5bc9d84 100644
--- a/packages/refs/test/mergeRefs.test.tsx
+++ b/packages/refs/test/mergeRefs.test.tsx
@@ -1,10 +1,6 @@
import { describe, test, expect } from "vitest";
import { createRoot, onMount } from "solid-js";
-import { mergeRefs } from "../src";
-
-interface ButtonProps {
- ref?: HTMLButtonElement | ((el: HTMLButtonElement) => void);
-}
+import { mergeRefs, RefProps } from "../src";
describe("mergeRefs", () => {
test("passes ref to props and local var", () =>
@@ -12,7 +8,7 @@ describe("mergeRefs", () => {
let local!: HTMLButtonElement;
let forwared!: HTMLButtonElement;
- const Button = (props: ButtonProps) => {
+ const Button = (props: RefProps) => {
return (local = el), props.ref)} />;
};
diff --git a/packages/transition-group/src/index.ts b/packages/transition-group/src/index.ts
index eda9895e0..4df97bad2 100644
--- a/packages/transition-group/src/index.ts
+++ b/packages/transition-group/src/index.ts
@@ -141,9 +141,6 @@ export function createSwitchTransition(
return el;
},
- // enabling appear always animates the initial element in
- // otherwise the element won't be animated,
- // or will animate the transition if the source is different from the initial value
options.appear ? undefined : initSource,
);
diff --git a/packages/utils/src/types.ts b/packages/utils/src/types.ts
index f31111e15..e99d44a21 100644
--- a/packages/utils/src/types.ts
+++ b/packages/utils/src/types.ts
@@ -1,7 +1,12 @@
import type { Accessor, Setter } from "solid-js";
// export types that aren't exported by solid-js main module
-export type { EffectOptions, OnOptions } from "solid-js/types/reactive/signal";
+export type {
+ EffectOptions,
+ OnOptions,
+ ResolvedJSXElement,
+ ResolvedChildren,
+} from "solid-js/types/reactive/signal";
/**
* Can be single or in an array
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f7fe755d4..c0f7c1fb0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -35,29 +35,29 @@ importers:
'@changesets/cli': 2.26.0
'@solidjs/testing-library': 0.6.1_solid-js@1.6.11
'@types/fs-extra': 11.0.1
- '@types/node': 18.13.0
- '@typescript-eslint/eslint-plugin': 5.52.0_6cfvjsbua5ptj65675bqcn6oza
- '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
+ '@types/node': 18.14.4
+ '@typescript-eslint/eslint-plugin': 5.54.0_6mj2wypvdnknez7kws2nfdgupi
+ '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
cross-env: 7.0.3
- eslint: 8.34.0
- eslint-plugin-eslint-comments: 3.2.0_eslint@8.34.0
+ eslint: 8.35.0
+ eslint-plugin-eslint-comments: 3.2.0_eslint@8.35.0
eslint-plugin-no-only-tests: 3.1.0
- eslint-plugin-solid: 0.9.4_7kw3g6rralp5ps6mg3uyzz6azm
+ eslint-plugin-solid: 0.9.4_ycpbpc6yetojsgtrx3mwntkhsu
fs-extra: 11.1.0
jiti: 1.17.1
jsdom: 21.1.0
json-to-markdown-table: 1.0.0
prettier: 2.8.4
- solid-devtools: 0.26.0_g6qi5asgsopwckrc6btee5ag3u
+ solid-devtools: 0.26.0_juyfzio7agobqr6l64ql2e3ejy
solid-js: 1.6.11
tsup: 6.6.3_typescript@4.9.5
- tsup-preset-solid: 0.1.8_mpb67xq6yqcmwxkx4udi7xjn6u
- turbo: 1.7.4
- type-fest: 3.6.0
+ tsup-preset-solid: 0.1.8_33jyajmuvhjnhxb7klks6dlycu
+ turbo: 1.8.3
+ type-fest: 3.6.1
typescript: 4.9.5
- unocss: 0.49.6_rollup@3.15.0+vite@4.1.1
- vite: 4.1.1_@types+node@18.13.0
- vite-plugin-solid: 2.5.0_solid-js@1.6.11+vite@4.1.1
+ unocss: 0.49.8_rollup@3.18.0+vite@4.1.4
+ vite: 4.1.4_@types+node@18.14.4
+ vite-plugin-solid: 2.6.1_solid-js@1.6.11+vite@4.1.4
vitest: 0.28.5_jsdom@21.1.0
packages/active-element:
@@ -68,13 +68,13 @@ importers:
dependencies:
'@solid-primitives/event-listener': link:../event-listener
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/analytics:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/audio:
specifiers:
@@ -83,9 +83,9 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
- solid-heroicons: 3.1.1_solid-js@1.6.9
+ solid-heroicons: 3.1.1_solid-js@1.6.11
packages/autofocus:
specifiers:
@@ -106,7 +106,7 @@ importers:
'@solid-primitives/event-listener': link:../event-listener
'@solid-primitives/resize-observer': link:../resize-observer
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
'@solid-primitives/scheduled': link:../scheduled
@@ -114,7 +114,7 @@ importers:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/clipboard:
specifiers:
@@ -122,7 +122,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/composites:
specifiers:
@@ -130,9 +130,9 @@ importers:
'@solid-primitives/throttle': ^1.2.0
solid-js: ^1.6.0
dependencies:
- '@solid-primitives/debounce': 1.3.0_solid-js@1.6.9
- '@solid-primitives/throttle': 1.2.0_solid-js@1.6.9
- solid-js: 1.6.9
+ '@solid-primitives/debounce': 1.3.0_solid-js@1.6.11
+ '@solid-primitives/throttle': 1.2.0_solid-js@1.6.11
+ solid-js: 1.6.11
packages/connectivity:
specifiers:
@@ -144,13 +144,13 @@ importers:
'@solid-primitives/event-listener': link:../event-listener
'@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/context:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/controlled-props:
specifiers:
@@ -158,7 +158,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/cursor:
specifiers:
@@ -166,7 +166,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/date:
specifiers:
@@ -180,7 +180,7 @@ importers:
'@solid-primitives/memo': link:../memo
'@solid-primitives/timer': link:../timer
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
'@solid-primitives/event-listener': link:../event-listener
date-fns: 2.29.3
@@ -191,13 +191,13 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/devices:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/event-bus:
specifiers:
@@ -207,13 +207,13 @@ importers:
dependencies:
'@solid-primitives/immutable': link:../immutable
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/event-dispatcher:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/event-listener:
specifiers:
@@ -221,13 +221,13 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/event-props:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/fetch:
specifiers:
@@ -235,13 +235,13 @@ importers:
solid-js: ^1.6.0
dependencies:
node-fetch: 3.3.0
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/fullscreen:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/geolocation:
specifiers:
@@ -254,19 +254,19 @@ importers:
vite-plugin-mkcert: ^1.13.1
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
- '@types/leaflet': 1.9.0
+ '@types/leaflet': 1.9.1
leaflet: 1.9.3
- mapbox-gl: 2.12.1
- solid-map-gl: 1.6.4_mapbox-gl@2.12.1
- vite-plugin-mkcert: 1.13.1_vite@4.1.1
+ mapbox-gl: 2.13.0
+ solid-map-gl: 1.6.6_mapbox-gl@2.13.0
+ vite-plugin-mkcert: 1.13.3_vite@4.1.4
packages/gestures:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/graphql:
specifiers:
@@ -279,15 +279,15 @@ importers:
graphql: ^16.6.0
solid-js: ^1.6.0
dependencies:
- '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0
+ '@graphql-typed-document-node/core': 3.1.2_graphql@16.6.0
'@solid-primitives/utils': link:../utils
graphql: 16.6.0
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
- '@graphql-codegen/cli': 3.0.0_2d6cv5yaqknlfmphsouiid32r4
- '@graphql-codegen/typed-document-node': 3.0.0_graphql@16.6.0
- '@graphql-codegen/typescript': 3.0.0_graphql@16.6.0
- '@graphql-codegen/typescript-operations': 3.0.0_graphql@16.6.0
+ '@graphql-codegen/cli': 3.2.1_lbl24zch7w3xk2ickdcdyyuszi
+ '@graphql-codegen/typed-document-node': 3.0.1_graphql@16.6.0
+ '@graphql-codegen/typescript': 3.0.1_graphql@16.6.0
+ '@graphql-codegen/typescript-operations': 3.0.1_graphql@16.6.0
packages/i18n:
specifiers:
@@ -295,13 +295,13 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/context': link:../context
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/idle:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/immutable:
specifiers:
@@ -309,13 +309,13 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/input-mask:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/intersection-observer:
specifiers:
@@ -324,7 +324,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
'@solid-primitives/range': link:../range
@@ -334,7 +334,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/keyboard:
specifiers:
@@ -346,7 +346,7 @@ importers:
'@solid-primitives/event-listener': link:../event-listener
'@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/keyed:
specifiers:
@@ -356,12 +356,12 @@ importers:
solid-js: ^1.6.0
solid-transition-group: ^0.0.13
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
'@solid-primitives/immutable': link:../immutable
'@solid-primitives/refs': link:../refs
'@solid-primitives/utils': link:../utils
- solid-transition-group: 0.0.13_solid-js@1.6.9
+ solid-transition-group: 0.0.13_solid-js@1.6.11
packages/map:
specifiers:
@@ -369,7 +369,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/trigger': link:../trigger
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/media:
specifiers:
@@ -381,7 +381,7 @@ importers:
'@solid-primitives/event-listener': link:../event-listener
'@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/memo:
specifiers:
@@ -393,10 +393,10 @@ importers:
dependencies:
'@solid-primitives/scheduled': link:../scheduled
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
'@solid-primitives/mouse': link:../mouse
- '@solidjs/router': 0.7.0_solid-js@1.6.9
+ '@solidjs/router': 0.7.0_solid-js@1.6.11
packages/mouse:
specifiers:
@@ -409,7 +409,7 @@ importers:
'@solid-primitives/event-listener': link:../event-listener
'@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
'@solid-primitives/raf': link:../raf
@@ -420,7 +420,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
'@solid-primitives/composites': link:../composites
@@ -434,7 +434,7 @@ importers:
'@solid-primitives/event-listener': link:../event-listener
'@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/pagination:
specifiers:
@@ -444,19 +444,19 @@ importers:
dependencies:
'@solid-primitives/intersection-observer': link:../intersection-observer
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/permission:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/platform:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/pointer:
specifiers:
@@ -470,7 +470,7 @@ importers:
'@solid-primitives/immutable': link:../immutable
'@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/promise:
specifiers:
@@ -478,7 +478,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/props:
specifiers:
@@ -487,7 +487,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
nanospy: 0.5.0
@@ -497,7 +497,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/range:
specifiers:
@@ -506,26 +506,24 @@ importers:
solid-transition-group: ^0.0.13
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
- solid-transition-group: 0.0.13_solid-js@1.6.9
+ solid-transition-group: 0.0.13_solid-js@1.6.11
packages/refs:
specifiers:
'@solid-primitives/immutable': ^0.1.7
- '@solid-primitives/rootless': ^1.2.5
'@solid-primitives/utils': ^5.2.1
solid-app-router: ^0.4.2
solid-js: ^1.6.0
solid-transition-group: ^0.0.13
dependencies:
'@solid-primitives/immutable': link:../immutable
- '@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
- solid-app-router: 0.4.2_solid-js@1.6.9
- solid-transition-group: 0.0.13_solid-js@1.6.9
+ solid-app-router: 0.4.2_solid-js@1.6.11
+ solid-transition-group: 0.0.13_solid-js@1.6.11
packages/resize-observer:
specifiers:
@@ -537,7 +535,7 @@ importers:
'@solid-primitives/event-listener': link:../event-listener
'@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/rootless:
specifiers:
@@ -553,16 +551,16 @@ importers:
'@solidjs/router': ^0.7.0
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
devDependencies:
'@solid-primitives/timer': link:../timer
- '@solidjs/router': 0.7.0_solid-js@1.6.9
+ '@solidjs/router': 0.7.0_solid-js@1.6.11
packages/script-loader:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/scroll:
specifiers:
@@ -574,13 +572,13 @@ importers:
'@solid-primitives/event-listener': link:../event-listener
'@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/selection:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/set:
specifiers:
@@ -588,13 +586,13 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/trigger': link:../trigger
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/share:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/signal-builders:
specifiers:
@@ -604,7 +602,7 @@ importers:
dependencies:
'@solid-primitives/immutable': link:../immutable
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/storage:
specifiers:
@@ -612,7 +610,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/stream:
specifiers:
@@ -620,7 +618,7 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/styles:
specifiers:
@@ -630,13 +628,13 @@ importers:
dependencies:
'@solid-primitives/rootless': link:../rootless
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/timer:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/transition-group:
specifiers:
@@ -657,13 +655,13 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/tween:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/upload:
specifiers:
@@ -671,25 +669,25 @@ importers:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/utils:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/websocket:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages/workers:
specifiers:
solid-js: ^1.6.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
packages:
@@ -722,13 +720,13 @@ packages:
peerDependencies:
graphql: '*'
dependencies:
- '@babel/core': 7.20.12
- '@babel/generator': 7.20.14
- '@babel/parser': 7.20.15
- '@babel/runtime': 7.20.13
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
- babel-preset-fbjs: 3.4.0_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/generator': 7.21.1
+ '@babel/parser': 7.21.2
+ '@babel/runtime': 7.21.0
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
+ babel-preset-fbjs: 3.4.0_@babel+core@7.21.0
chalk: 4.1.2
fb-watchman: 2.0.2
fbjs: 3.0.4
@@ -761,25 +759,25 @@ packages:
'@babel/highlight': 7.18.6
dev: true
- /@babel/compat-data/7.20.14:
- resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==}
+ /@babel/compat-data/7.21.0:
+ resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==}
engines: {node: '>=6.9.0'}
dev: true
- /@babel/core/7.20.12:
- resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==}
+ /@babel/core/7.21.0:
+ resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.0
'@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.14
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
- '@babel/helper-module-transforms': 7.20.11
- '@babel/helpers': 7.20.7
- '@babel/parser': 7.20.15
+ '@babel/generator': 7.21.1
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
+ '@babel/helper-module-transforms': 7.21.2
+ '@babel/helpers': 7.21.0
+ '@babel/parser': 7.21.2
'@babel/template': 7.20.7
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
convert-source-map: 1.9.0
debug: 4.3.4
gensync: 1.0.0-beta.2
@@ -789,12 +787,13 @@ packages:
- supports-color
dev: true
- /@babel/generator/7.20.14:
- resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==}
+ /@babel/generator/7.21.1:
+ resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
'@jridgewell/gen-mapping': 0.3.2
+ '@jridgewell/trace-mapping': 0.3.17
jsesc: 2.5.2
dev: true
@@ -802,7 +801,7 @@ packages:
resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-builder-binary-assignment-operator-visitor/7.18.9:
@@ -810,50 +809,31 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-explode-assignable-expression': 7.18.6
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
optional: true
- /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12:
+ /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.0:
resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/compat-data': 7.20.14
- '@babel/core': 7.20.12
- '@babel/helper-validator-option': 7.18.6
- browserslist: 4.21.4
+ '@babel/compat-data': 7.21.0
+ '@babel/core': 7.21.0
+ '@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.20.12_@babel+core@7.20.12:
- resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-function-name': 7.19.0
- '@babel/helper-member-expression-to-functions': 7.20.7
- '@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.20.12:
+ /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.21.0:
resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-annotate-as-pure': 7.18.6
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.21.0
@@ -865,27 +845,26 @@ packages:
transitivePeerDependencies:
- supports-color
dev: true
- optional: true
- /@babel/helper-create-regexp-features-plugin/7.21.0_@babel+core@7.20.12:
+ /@babel/helper-create-regexp-features-plugin/7.21.0_@babel+core@7.21.0:
resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-annotate-as-pure': 7.18.6
regexpu-core: 5.3.1
dev: true
optional: true
- /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.20.12:
+ /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.21.0:
resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
peerDependencies:
'@babel/core': ^7.4.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
debug: 4.3.4
lodash.debounce: 4.0.8
@@ -905,18 +884,10 @@ packages:
resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
optional: true
- /@babel/helper-function-name/7.19.0:
- resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.20.7
- '@babel/types': 7.20.7
- dev: true
-
/@babel/helper-function-name/7.21.0:
resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
engines: {node: '>=6.9.0'}
@@ -924,20 +895,12 @@ packages:
'@babel/template': 7.20.7
'@babel/types': 7.21.2
dev: true
- optional: true
/@babel/helper-hoist-variables/7.18.6:
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
- dev: true
-
- /@babel/helper-member-expression-to-functions/7.20.7:
- resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-member-expression-to-functions/7.21.0:
@@ -946,17 +909,16 @@ packages:
dependencies:
'@babel/types': 7.21.2
dev: true
- optional: true
/@babel/helper-module-imports/7.18.6:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
- /@babel/helper-module-transforms/7.20.11:
- resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==}
+ /@babel/helper-module-transforms/7.21.2:
+ resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-environment-visitor': 7.18.9
@@ -965,8 +927,8 @@ packages:
'@babel/helper-split-export-declaration': 7.18.6
'@babel/helper-validator-identifier': 7.19.1
'@babel/template': 7.20.7
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -975,7 +937,7 @@ packages:
resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-plugin-utils/7.20.2:
@@ -983,17 +945,17 @@ packages:
engines: {node: '>=6.9.0'}
dev: true
- /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.20.12:
+ /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.21.0:
resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-annotate-as-pure': 7.18.6
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-wrap-function': 7.20.5
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -1004,11 +966,11 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-member-expression-to-functions': 7.20.7
+ '@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.20.13
- '@babel/types': 7.20.7
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -1017,21 +979,21 @@ packages:
resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
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.20.7
+ '@babel/types': 7.21.2
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.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-string-parser/7.19.4:
@@ -1044,8 +1006,8 @@ packages:
engines: {node: '>=6.9.0'}
dev: true
- /@babel/helper-validator-option/7.18.6:
- resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
+ /@babel/helper-validator-option/7.21.0:
+ resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==}
engines: {node: '>=6.9.0'}
dev: true
@@ -1053,22 +1015,22 @@ packages:
resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-function-name': 7.19.0
+ '@babel/helper-function-name': 7.21.0
'@babel/template': 7.20.7
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /@babel/helpers/7.20.7:
- resolution: {integrity: sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==}
+ /@babel/helpers/7.21.0:
+ resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.20.7
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -1082,472 +1044,472 @@ packages:
js-tokens: 4.0.0
dev: true
- /@babel/parser/7.20.15:
- resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==}
+ /@babel/parser/7.21.2:
+ resolution: {integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
- /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.21.0:
resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.13.0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@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.20.12
+ '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.0
dev: true
optional: true
- /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.21.0:
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.20.12
+ '@babel/core': 7.21.0
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12
+ '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.0
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.21.0:
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.20.12
- '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-proposal-class-static-block/7.21.0_@babel+core@7.20.12:
+ /@babel/plugin-proposal-class-static-block/7.21.0_@babel+core@7.21.0:
resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.12.0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12
+ '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.0
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.0
dev: true
optional: true
- /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.20.12:
+ /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.21.0:
resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.0
dev: true
optional: true
- /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.0
dev: true
optional: true
- /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.21.0:
resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.0
dev: true
optional: true
- /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.0
dev: true
optional: true
- /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12
+ '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.0
dev: true
optional: true
- /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.21.0:
resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.20.14
- '@babel/core': 7.20.12
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
+ '@babel/compat-data': 7.21.0
+ '@babel/core': 7.21.0
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.0
dev: true
- /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.0
dev: true
optional: true
- /@babel/plugin-proposal-optional-chaining/7.21.0_@babel+core@7.20.12:
+ /@babel/plugin-proposal-optional-chaining/7.21.0_@babel+core@7.21.0:
resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@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.20.12
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.0
dev: true
optional: true
- /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /@babel/plugin-proposal-private-property-in-object/7.21.0_@babel+core@7.20.12:
+ /@babel/plugin-proposal-private-property-in-object/7.21.0_@babel+core@7.21.0:
resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.20.12
+ '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.0
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==}
engines: {node: '>=4'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.12:
+ /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.21.0:
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12:
+ /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.21.0:
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.20.12:
+ /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.21.0:
resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.20.12:
+ /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.21.0:
resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.20.12:
+ /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.21.0:
resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.20.12:
+ /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.21.0:
resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12:
+ /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.21.0:
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.12:
+ /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.21.0:
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.12:
+ /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.0:
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.12:
+ /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.21.0:
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12:
+ /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.0:
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.12:
+ /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.0:
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.12:
+ /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.0:
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.20.12:
+ /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.21.0:
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.12:
+ /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.21.0:
resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.12:
+ /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.0:
resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.21.0:
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.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.21.0:
resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-module-imports': 7.18.6
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12
+ '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.0
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-block-scoping/7.20.15_@babel+core@7.20.12:
- resolution: {integrity: sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==}
+ /@babel/plugin-transform-block-scoping/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==}
+ /@babel/plugin-transform-classes/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
'@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-function-name': 7.19.0
+ '@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
@@ -1557,152 +1519,152 @@ packages:
- supports-color
dev: true
- /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.21.0:
resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
'@babel/template': 7.20.7
dev: true
- /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.21.0:
resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.20.12:
+ /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.21.0:
resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-transform-flow-strip-types/7.19.0_@babel+core@7.20.12:
- resolution: {integrity: sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==}
+ /@babel/plugin-transform-flow-strip-types/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.20.12
+ '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.0
dev: true
- /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.12:
- resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==}
+ /@babel/plugin-transform-for-of/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.12:
+ /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.21.0:
resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
- '@babel/helper-function-name': 7.19.0
+ '@babel/core': 7.21.0
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
+ '@babel/helper-function-name': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.12:
+ /@babel/plugin-transform-literals/7.18.9_@babel+core@7.21.0:
resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.12:
+ /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.21.0:
resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/core': 7.21.0
+ '@babel/helper-module-transforms': 7.21.2
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.12:
- resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==}
+ /@babel/plugin-transform-modules-commonjs/7.21.2_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/core': 7.21.0
+ '@babel/helper-module-transforms': 7.21.2
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-simple-access': 7.20.2
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.12:
+ /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.21.0:
resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-module-transforms': 7.21.2
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-validator-identifier': 7.19.1
transitivePeerDependencies:
@@ -1710,324 +1672,324 @@ packages:
dev: true
optional: true
- /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/core': 7.21.0
+ '@babel/helper-module-transforms': 7.21.2
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.12:
+ /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.21.0:
resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.21.0:
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.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-replace-supers': 7.20.7
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.21.0:
resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-react-jsx/7.20.13_@babel+core@7.20.12:
- resolution: {integrity: sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==}
+ /@babel/plugin-transform-react-jsx/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-annotate-as-pure': 7.18.6
'@babel/helper-module-imports': 7.18.6
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
- '@babel/types': 7.20.7
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0
+ '@babel/types': 7.21.2
dev: true
- /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.20.12:
+ /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.21.0:
resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
regenerator-transform: 0.15.1
dev: true
optional: true
- /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.12:
+ /@babel/plugin-transform-spread/7.20.7_@babel+core@7.21.0:
resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@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.20.12:
+ /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.12:
+ /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.21.0:
resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.20.12:
+ /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.21.0:
resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-transform-typescript/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==}
+ /@babel/plugin-transform-typescript/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12
+ '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.0
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.20.12:
+ /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.21.0:
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.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.20.12:
+ /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.21.0:
resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
optional: true
- /@babel/preset-env/7.20.2_@babel+core@7.20.12:
+ /@babel/preset-env/7.20.2_@babel+core@7.21.0:
resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.20.14
- '@babel/core': 7.20.12
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
+ '@babel/compat-data': 7.21.0
+ '@babel/core': 7.21.0
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-validator-option': 7.18.6
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-class-static-block': 7.21.0_@babel+core@7.20.12
- '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.20.12
- '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-private-property-in-object': 7.21.0_@babel+core@7.20.12
- '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12
- '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12
- '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12
- '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.12
- '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12
- '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12
- '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.12
- '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-block-scoping': 7.20.15_@babel+core@7.20.12
- '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.12
- '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.20.12
- '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12
- '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.20.12
- '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.12
- '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.12
- '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.12
- '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.12
- '@babel/preset-modules': 0.1.5_@babel+core@7.20.12
- '@babel/types': 7.20.7
- babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.12
- babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.12
- babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.12
- core-js-compat: 3.28.0
+ '@babel/helper-validator-option': 7.21.0
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-class-static-block': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.0
+ '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.0
+ '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.0
+ '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.21.0
+ '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.0
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.0
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.0
+ '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.21.0
+ '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-block-scoping': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-classes': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-for-of': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.21.0
+ '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.0
+ '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.21.0
+ '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.21.0
+ '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.21.0
+ '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.21.0
+ '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.21.0
+ '@babel/preset-modules': 0.1.5_@babel+core@7.21.0
+ '@babel/types': 7.21.2
+ babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.0
+ babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.0
+ babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.0
+ core-js-compat: 3.29.0
semver: 6.3.0
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /@babel/preset-modules/0.1.5_@babel+core@7.20.12:
+ /@babel/preset-modules/0.1.5_@babel+core@7.21.0:
resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12
- '@babel/types': 7.20.7
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.0
+ '@babel/types': 7.21.2
esutils: 2.0.3
dev: true
optional: true
- /@babel/preset-typescript/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==}
+ /@babel/preset-typescript/7.21.0_@babel+core@7.21.0:
+ 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.20.12
+ '@babel/core': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-validator-option': 7.18.6
- '@babel/plugin-transform-typescript': 7.20.7_@babel+core@7.20.12
+ '@babel/helper-validator-option': 7.21.0
+ '@babel/plugin-transform-typescript': 7.21.0_@babel+core@7.21.0
transitivePeerDependencies:
- supports-color
dev: true
@@ -2037,15 +1999,8 @@ packages:
dev: true
optional: true
- /@babel/runtime/7.20.13:
- resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: 0.13.11
- dev: true
-
- /@babel/runtime/7.20.7:
- resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==}
+ /@babel/runtime/7.21.0:
+ resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==}
engines: {node: '>=6.9.0'}
dependencies:
regenerator-runtime: 0.13.11
@@ -2056,37 +2011,28 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.18.6
- '@babel/parser': 7.20.15
- '@babel/types': 7.20.7
+ '@babel/parser': 7.21.2
+ '@babel/types': 7.21.2
dev: true
- /@babel/traverse/7.20.13:
- resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==}
+ /@babel/traverse/7.21.2:
+ resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.14
+ '@babel/generator': 7.21.1
'@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-function-name': 7.19.0
+ '@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.20.15
- '@babel/types': 7.20.7
+ '@babel/parser': 7.21.2
+ '@babel/types': 7.21.2
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/types/7.20.7:
- resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.19.4
- '@babel/helper-validator-identifier': 7.19.1
- to-fast-properties: 2.0.0
- dev: true
-
/@babel/types/7.21.2:
resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==}
engines: {node: '>=6.9.0'}
@@ -2095,12 +2041,11 @@ packages:
'@babel/helper-validator-identifier': 7.19.1
to-fast-properties: 2.0.0
dev: true
- optional: true
/@changesets/apply-release-plan/6.1.3:
resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@changesets/config': 2.3.0
'@changesets/get-version-range-type': 0.3.2
'@changesets/git': 2.0.0
@@ -2118,7 +2063,7 @@ packages:
/@changesets/assemble-release-plan/5.2.3:
resolution: {integrity: sha512-g7EVZCmnWz3zMBAdrcKhid4hkHT+Ft1n0mLussFMcB1dE2zCuwcvGoy9ec3yOgPGF4hoMtgHaMIk3T3TBdvU9g==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@changesets/errors': 0.1.4
'@changesets/get-dependents-graph': 1.3.5
'@changesets/types': 5.2.1
@@ -2136,7 +2081,7 @@ packages:
resolution: {integrity: sha512-0cbTiDms+ICTVtEwAFLNW0jBNex9f5+fFv3I771nBvdnV/mOjd1QJ4+f8KtVSOrwD9SJkk9xbDkWFb0oXd8d1Q==}
hasBin: true
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@changesets/apply-release-plan': 6.1.3
'@changesets/assemble-release-plan': 5.2.3
'@changesets/changelog-git': 0.1.14
@@ -2202,7 +2147,7 @@ packages:
/@changesets/get-release-plan/3.0.16:
resolution: {integrity: sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@changesets/assemble-release-plan': 5.2.3
'@changesets/config': 2.3.0
'@changesets/pre': 1.0.14
@@ -2218,7 +2163,7 @@ packages:
/@changesets/git/2.0.0:
resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@changesets/errors': 0.1.4
'@changesets/types': 5.2.1
'@manypkg/get-packages': 1.1.3
@@ -2243,7 +2188,7 @@ packages:
/@changesets/pre/1.0.14:
resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@changesets/errors': 0.1.4
'@changesets/types': 5.2.1
'@manypkg/get-packages': 1.1.3
@@ -2253,7 +2198,7 @@ packages:
/@changesets/read/0.5.9:
resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@changesets/git': 2.0.0
'@changesets/logger': 0.0.5
'@changesets/parse': 0.3.16
@@ -2274,7 +2219,7 @@ packages:
/@changesets/write/0.2.3:
resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@changesets/types': 5.2.1
fs-extra: 7.0.1
human-id: 1.0.2
@@ -2297,8 +2242,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm/0.17.8:
- resolution: {integrity: sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==}
+ /@esbuild/android-arm/0.17.10:
+ resolution: {integrity: sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
@@ -2315,8 +2260,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm64/0.17.8:
- resolution: {integrity: sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==}
+ /@esbuild/android-arm64/0.17.10:
+ resolution: {integrity: sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
@@ -2333,8 +2278,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-x64/0.17.8:
- resolution: {integrity: sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==}
+ /@esbuild/android-x64/0.17.10:
+ resolution: {integrity: sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@@ -2351,8 +2296,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-arm64/0.17.8:
- resolution: {integrity: sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==}
+ /@esbuild/darwin-arm64/0.17.10:
+ resolution: {integrity: sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
@@ -2369,8 +2314,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-x64/0.17.8:
- resolution: {integrity: sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==}
+ /@esbuild/darwin-x64/0.17.10:
+ resolution: {integrity: sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@@ -2387,8 +2332,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-arm64/0.17.8:
- resolution: {integrity: sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==}
+ /@esbuild/freebsd-arm64/0.17.10:
+ resolution: {integrity: sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
@@ -2405,8 +2350,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-x64/0.17.8:
- resolution: {integrity: sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==}
+ /@esbuild/freebsd-x64/0.17.10:
+ resolution: {integrity: sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@@ -2423,8 +2368,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm/0.17.8:
- resolution: {integrity: sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==}
+ /@esbuild/linux-arm/0.17.10:
+ resolution: {integrity: sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
@@ -2441,8 +2386,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm64/0.17.8:
- resolution: {integrity: sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==}
+ /@esbuild/linux-arm64/0.17.10:
+ resolution: {integrity: sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
@@ -2459,8 +2404,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ia32/0.17.8:
- resolution: {integrity: sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==}
+ /@esbuild/linux-ia32/0.17.10:
+ resolution: {integrity: sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
@@ -2486,8 +2431,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-loong64/0.17.8:
- resolution: {integrity: sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==}
+ /@esbuild/linux-loong64/0.17.10:
+ resolution: {integrity: sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
@@ -2504,8 +2449,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-mips64el/0.17.8:
- resolution: {integrity: sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==}
+ /@esbuild/linux-mips64el/0.17.10:
+ resolution: {integrity: sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
@@ -2522,8 +2467,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ppc64/0.17.8:
- resolution: {integrity: sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==}
+ /@esbuild/linux-ppc64/0.17.10:
+ resolution: {integrity: sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
@@ -2540,8 +2485,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-riscv64/0.17.8:
- resolution: {integrity: sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==}
+ /@esbuild/linux-riscv64/0.17.10:
+ resolution: {integrity: sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
@@ -2558,8 +2503,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-s390x/0.17.8:
- resolution: {integrity: sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==}
+ /@esbuild/linux-s390x/0.17.10:
+ resolution: {integrity: sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
@@ -2576,8 +2521,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-x64/0.17.8:
- resolution: {integrity: sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==}
+ /@esbuild/linux-x64/0.17.10:
+ resolution: {integrity: sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
@@ -2594,8 +2539,8 @@ packages:
dev: true
optional: true
- /@esbuild/netbsd-x64/0.17.8:
- resolution: {integrity: sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==}
+ /@esbuild/netbsd-x64/0.17.10:
+ resolution: {integrity: sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@@ -2612,8 +2557,8 @@ packages:
dev: true
optional: true
- /@esbuild/openbsd-x64/0.17.8:
- resolution: {integrity: sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==}
+ /@esbuild/openbsd-x64/0.17.10:
+ resolution: {integrity: sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@@ -2630,8 +2575,8 @@ packages:
dev: true
optional: true
- /@esbuild/sunos-x64/0.17.8:
- resolution: {integrity: sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==}
+ /@esbuild/sunos-x64/0.17.10:
+ resolution: {integrity: sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@@ -2648,8 +2593,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-arm64/0.17.8:
- resolution: {integrity: sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==}
+ /@esbuild/win32-arm64/0.17.10:
+ resolution: {integrity: sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
@@ -2666,8 +2611,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-ia32/0.17.8:
- resolution: {integrity: sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==}
+ /@esbuild/win32-ia32/0.17.10:
+ resolution: {integrity: sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
@@ -2684,8 +2629,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-x64/0.17.8:
- resolution: {integrity: sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==}
+ /@esbuild/win32-x64/0.17.10:
+ resolution: {integrity: sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@@ -2693,8 +2638,8 @@ packages:
dev: true
optional: true
- /@eslint/eslintrc/1.4.1:
- resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
+ /@eslint/eslintrc/2.0.0:
+ resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
@@ -2710,48 +2655,54 @@ packages:
- supports-color
dev: true
- /@graphql-codegen/cli/3.0.0_2d6cv5yaqknlfmphsouiid32r4:
- resolution: {integrity: sha512-16nuFabHCfPQ/d+v52OvR1ueL8eiJvS/nRuvuEV8d9T1fkborHKRw4lhyKVebu9izFBs6G0CvVCLhgVzQwHSLw==}
+ /@eslint/js/8.35.0:
+ resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@graphql-codegen/cli/3.2.1_lbl24zch7w3xk2ickdcdyyuszi:
+ resolution: {integrity: sha512-AeXzOvhSgAyMC0TzIoc6/HIc2Fy2rCZJcs5pt1LDypn1k4gpGRzqZ5JOjYx+XIna2hLfB9NbAkcO5dcdHwFdJA==}
hasBin: true
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
- '@babel/generator': 7.20.14
+ '@babel/generator': 7.21.1
'@babel/template': 7.20.7
- '@babel/types': 7.20.7
- '@graphql-codegen/core': 3.0.0_graphql@16.6.0
- '@graphql-codegen/plugin-helpers': 4.0.0_graphql@16.6.0
- '@graphql-tools/apollo-engine-loader': 7.3.26_d3dx4krdt4fsynqrp5lqxelwe4
- '@graphql-tools/code-file-loader': 7.3.21_hooseksvfyhf37tjwfseq7c3kq
- '@graphql-tools/git-loader': 7.2.20_hooseksvfyhf37tjwfseq7c3kq
- '@graphql-tools/github-loader': 7.3.27_f4rfj2fp6qksp335ght2qxujky
+ '@babel/types': 7.21.2
+ '@graphql-codegen/core': 3.1.0_graphql@16.6.0
+ '@graphql-codegen/plugin-helpers': 4.1.0_graphql@16.6.0
+ '@graphql-tools/apollo-engine-loader': 7.3.26_hx4xv653uq7zrgbdj6lyizcj3a
+ '@graphql-tools/code-file-loader': 7.3.21_alaufhgqlbompjtohumd2yejme
+ '@graphql-tools/git-loader': 7.2.20_alaufhgqlbompjtohumd2yejme
+ '@graphql-tools/github-loader': 7.3.27_7vzwjdfclxf3id7neveaqhm5b4
'@graphql-tools/graphql-file-loader': 7.5.16_graphql@16.6.0
'@graphql-tools/json-file-loader': 7.4.17_graphql@16.6.0
'@graphql-tools/load': 7.8.12_graphql@16.6.0
- '@graphql-tools/prisma-loader': 7.2.64_d3dx4krdt4fsynqrp5lqxelwe4
- '@graphql-tools/url-loader': 7.17.13_d3dx4krdt4fsynqrp5lqxelwe4
+ '@graphql-tools/prisma-loader': 7.2.64_hx4xv653uq7zrgbdj6lyizcj3a
+ '@graphql-tools/url-loader': 7.17.13_hx4xv653uq7zrgbdj6lyizcj3a
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
- '@whatwg-node/fetch': 0.6.9_@types+node@18.13.0
+ '@parcel/watcher': 2.1.0
+ '@whatwg-node/fetch': 0.8.1_@types+node@18.14.4
chalk: 4.1.2
- chokidar: 3.5.3
cosmiconfig: 7.1.0
- cosmiconfig-typescript-loader: 4.3.0_ubrymuwlz4ufngznlqsmh7e3bi
+ cosmiconfig-typescript-loader: 4.3.0_sxpnysmqw4qddw4rfli2rie7zm
debounce: 1.2.1
detect-indent: 6.1.0
graphql: 16.6.0
- graphql-config: 4.4.1_xpmawne4qzm56nll3j5t4i4bx4
+ graphql-config: 4.4.1_jw3hc3dleypqsddxkfryqwtwtu
inquirer: 8.2.5
is-glob: 4.0.3
json-to-pretty-yaml: 1.2.2
listr2: 4.0.5
log-symbols: 4.1.0
+ micromatch: 4.0.5
shell-quote: 1.8.0
string-env-interpolation: 1.0.1
ts-log: 2.2.5
- ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy
+ ts-node: 10.9.1_oboltcrkaqheaa54woelu7cdsa
tslib: 2.5.0
yaml: 1.10.2
- yargs: 17.7.0
+ yargs: 17.7.1
transitivePeerDependencies:
- '@babel/core'
- '@swc/core'
@@ -2766,20 +2717,20 @@ packages:
- utf-8-validate
dev: true
- /@graphql-codegen/core/3.0.0_graphql@16.6.0:
- resolution: {integrity: sha512-WUfAUTmUcgeHPR7F5ZQqaBqJLJb5+3Lvp6v9SrnupKOFed+Q3u8CvZL6sPTvDpqqW8Ucjy59DEZqumPLp99pdQ==}
+ /@graphql-codegen/core/3.1.0_graphql@16.6.0:
+ resolution: {integrity: sha512-DH1/yaR7oJE6/B+c6ZF2Tbdh7LixF1K8L+8BoSubjNyQ8pNwR4a70mvc1sv6H7qgp6y1bPQ9tKE+aazRRshysw==}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
- '@graphql-codegen/plugin-helpers': 4.0.0_graphql@16.6.0
+ '@graphql-codegen/plugin-helpers': 4.1.0_graphql@16.6.0
'@graphql-tools/schema': 9.0.16_graphql@16.6.0
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
graphql: 16.6.0
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
- /@graphql-codegen/plugin-helpers/4.0.0_graphql@16.6.0:
- resolution: {integrity: sha512-vgNGTanT36hC4RAC/LAThMEjDvnu3WCyx6MtKZcPUtfCWFxbUAr88+OarGl1LAEiOef0agIREC7tIBXCqjKkJA==}
+ /@graphql-codegen/plugin-helpers/4.1.0_graphql@16.6.0:
+ resolution: {integrity: sha512-xvSHJb9OGb5CODIls0AI1rCenLz+FuiaNPCsfHMCNsLDjOZK2u0jAQ9zUBdc/Wb+21YXZujBCc0Vm1QX+Zz0nw==}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
@@ -2789,74 +2740,74 @@ packages:
graphql: 16.6.0
import-from: 4.0.0
lodash: 4.17.21
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
- /@graphql-codegen/schema-ast/3.0.0_graphql@16.6.0:
- resolution: {integrity: sha512-5gC8nNk/bxufS2LBSpaPExRgn6eNo8LQdtwDtwfM9XGEzt/F6rIBQoyOmqqwkiBmgu1PHHH8kLZMBYvYB1x5DA==}
+ /@graphql-codegen/schema-ast/3.0.1_graphql@16.6.0:
+ resolution: {integrity: sha512-rTKTi4XiW4QFZnrEqetpiYEWVsOFNoiR/v3rY9mFSttXFbIwNXPme32EspTiGWmEEdHY8UuTDtZN3vEcs/31zw==}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
- '@graphql-codegen/plugin-helpers': 4.0.0_graphql@16.6.0
+ '@graphql-codegen/plugin-helpers': 4.1.0_graphql@16.6.0
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
graphql: 16.6.0
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
- /@graphql-codegen/typed-document-node/3.0.0_graphql@16.6.0:
- resolution: {integrity: sha512-u1HypK2y6OMSpRgEDLoB4fFnEYMUjW9du04WPlYB1S6y2wM1KhnHOmlpMaUAndZEPjbB0z7GVA9GbZ3vsO0Pcg==}
+ /@graphql-codegen/typed-document-node/3.0.1_graphql@16.6.0:
+ resolution: {integrity: sha512-2plPBbAJZtR72BU6n07N3nIJYlwnCWbFNoe++MQ33S2ML4KwpCiflGEJnTpiwOEhCklQLWg1FEUdEOYS2iluqw==}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
- '@graphql-codegen/plugin-helpers': 4.0.0_graphql@16.6.0
- '@graphql-codegen/visitor-plugin-common': 3.0.0_graphql@16.6.0
+ '@graphql-codegen/plugin-helpers': 4.1.0_graphql@16.6.0
+ '@graphql-codegen/visitor-plugin-common': 3.0.1_graphql@16.6.0
auto-bind: 4.0.0
change-case-all: 1.0.15
graphql: 16.6.0
- tslib: 2.4.1
+ tslib: 2.5.0
transitivePeerDependencies:
- encoding
- supports-color
dev: true
- /@graphql-codegen/typescript-operations/3.0.0_graphql@16.6.0:
- resolution: {integrity: sha512-t+Lk+lxkUFDh6F0t8CErowOccP3bZwxhl66qmEeBcOrC7jQrSCnRZoFvOXhFKFBJe/y4DIJiizgSr34AqjiJIQ==}
+ /@graphql-codegen/typescript-operations/3.0.1_graphql@16.6.0:
+ resolution: {integrity: sha512-Td1d483cQr7XJj/zXrbqVUEi2QK56DT7EToFheZrBFArIQCUEGK+Xgw6GhEmZaTwWYODxavzy1jmTTJC2fEuTw==}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
- '@graphql-codegen/plugin-helpers': 4.0.0_graphql@16.6.0
- '@graphql-codegen/typescript': 3.0.0_graphql@16.6.0
- '@graphql-codegen/visitor-plugin-common': 3.0.0_graphql@16.6.0
+ '@graphql-codegen/plugin-helpers': 4.1.0_graphql@16.6.0
+ '@graphql-codegen/typescript': 3.0.1_graphql@16.6.0
+ '@graphql-codegen/visitor-plugin-common': 3.0.1_graphql@16.6.0
auto-bind: 4.0.0
graphql: 16.6.0
- tslib: 2.4.1
+ tslib: 2.5.0
transitivePeerDependencies:
- encoding
- supports-color
dev: true
- /@graphql-codegen/typescript/3.0.0_graphql@16.6.0:
- resolution: {integrity: sha512-FQWyuIUy1y+fxb9+EZfvdBHBQpYExlIBHV5sg2WGNCsyVyCqBTl0mO8icyOtsQPVg6YFMFe8JJO69vQbwHma5w==}
+ /@graphql-codegen/typescript/3.0.1_graphql@16.6.0:
+ resolution: {integrity: sha512-HvozJg7eHqywmYvXa7+nmjw+v3+f8ilFv9VbRvmjhj/zBw3VKGT2n/85ZhVyuWjY2KrDLzl6BqeXttWsW5Wo4w==}
peerDependencies:
graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
- '@graphql-codegen/plugin-helpers': 4.0.0_graphql@16.6.0
- '@graphql-codegen/schema-ast': 3.0.0_graphql@16.6.0
- '@graphql-codegen/visitor-plugin-common': 3.0.0_graphql@16.6.0
+ '@graphql-codegen/plugin-helpers': 4.1.0_graphql@16.6.0
+ '@graphql-codegen/schema-ast': 3.0.1_graphql@16.6.0
+ '@graphql-codegen/visitor-plugin-common': 3.0.1_graphql@16.6.0
auto-bind: 4.0.0
graphql: 16.6.0
- tslib: 2.4.1
+ tslib: 2.5.0
transitivePeerDependencies:
- encoding
- supports-color
dev: true
- /@graphql-codegen/visitor-plugin-common/3.0.0_graphql@16.6.0:
- resolution: {integrity: sha512-ZoNlCmmkGClB137SpJT9og/nkihLN7Z4Ynl9Ir3OlbDuI20dbpyXsclpr9QGLcxEcfQeVfhGw9CooW7wZJJ8LA==}
+ /@graphql-codegen/visitor-plugin-common/3.0.1_graphql@16.6.0:
+ resolution: {integrity: sha512-Qek+Ywy094Km7Vc1TzKBN9ICvtYwPdqZUliPO77urMSveP+2+G2O9Tjx546dW4A1O6rhEfexbenc2DqTAe7iLQ==}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
- '@graphql-codegen/plugin-helpers': 4.0.0_graphql@16.6.0
+ '@graphql-codegen/plugin-helpers': 4.1.0_graphql@16.6.0
'@graphql-tools/optimize': 1.3.1_graphql@16.6.0
'@graphql-tools/relay-operation-optimizer': 6.5.17_graphql@16.6.0
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
@@ -2866,20 +2817,20 @@ packages:
graphql: 16.6.0
graphql-tag: 2.12.6_graphql@16.6.0
parse-filepath: 1.0.2
- tslib: 2.4.1
+ tslib: 2.5.0
transitivePeerDependencies:
- encoding
- supports-color
dev: true
- /@graphql-tools/apollo-engine-loader/7.3.26_d3dx4krdt4fsynqrp5lqxelwe4:
+ /@graphql-tools/apollo-engine-loader/7.3.26_hx4xv653uq7zrgbdj6lyizcj3a:
resolution: {integrity: sha512-h1vfhdJFjnCYn9b5EY1Z91JTF0KB3hHVJNQIsiUV2mpQXZdeOXQoaWeYEKaiI5R6kwBw5PP9B0fv3jfUIG8LyQ==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
'@ardatan/sync-fetch': 0.0.1
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
- '@whatwg-node/fetch': 0.8.1_@types+node@18.13.0
+ '@whatwg-node/fetch': 0.8.1_@types+node@18.14.4
graphql: 16.6.0
tslib: 2.5.0
transitivePeerDependencies:
@@ -2899,12 +2850,12 @@ packages:
value-or-promise: 1.0.12
dev: true
- /@graphql-tools/code-file-loader/7.3.21_hooseksvfyhf37tjwfseq7c3kq:
+ /@graphql-tools/code-file-loader/7.3.21_alaufhgqlbompjtohumd2yejme:
resolution: {integrity: sha512-dj+OLnz1b8SYkXcuiy0CUQ25DWnOEyandDlOcdBqU3WVwh5EEVbn0oXUYm90fDlq2/uut00OrtC5Wpyhi3tAvA==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
- '@graphql-tools/graphql-tag-pluck': 7.5.0_hooseksvfyhf37tjwfseq7c3kq
+ '@graphql-tools/graphql-tag-pluck': 7.5.0_alaufhgqlbompjtohumd2yejme
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
globby: 11.1.0
graphql: 16.6.0
@@ -2915,13 +2866,13 @@ packages:
- supports-color
dev: true
- /@graphql-tools/delegate/9.0.27_graphql@16.6.0:
- resolution: {integrity: sha512-goYewiPls/RDXiRTl1S2tRPlsyDQCxlDWqd0uEIzQZ6aWSyiutfwQnTzdbZPXK0qOblEVMIqFhSGrB6fp0OkBA==}
+ /@graphql-tools/delegate/9.0.28_graphql@16.6.0:
+ resolution: {integrity: sha512-8j23JCs2mgXqnp+5K0v4J3QBQU/5sXd9miaLvMfRf/6963DznOXTECyS9Gcvj1VEeR5CXIw6+aX/BvRDKDdN1g==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
'@graphql-tools/batch-execute': 8.5.18_graphql@16.6.0
- '@graphql-tools/executor': 0.0.14_graphql@16.6.0
+ '@graphql-tools/executor': 0.0.15_graphql@16.6.0
'@graphql-tools/schema': 9.0.16_graphql@16.6.0
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
dataloader: 2.2.2
@@ -2948,18 +2899,18 @@ packages:
- utf-8-validate
dev: true
- /@graphql-tools/executor-http/0.1.9_d3dx4krdt4fsynqrp5lqxelwe4:
+ /@graphql-tools/executor-http/0.1.9_hx4xv653uq7zrgbdj6lyizcj3a:
resolution: {integrity: sha512-tNzMt5qc1ptlHKfpSv9wVBVKCZ7gks6Yb/JcYJluxZIT4qRV+TtOFjpptfBU63usgrGVOVcGjzWc/mt7KhmmpQ==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
'@repeaterjs/repeater': 3.0.4
- '@whatwg-node/fetch': 0.8.1_@types+node@18.13.0
+ '@whatwg-node/fetch': 0.8.1_@types+node@18.14.4
dset: 3.1.2
extract-files: 11.0.0
graphql: 16.6.0
- meros: 1.2.1_@types+node@18.13.0
+ meros: 1.2.1_@types+node@18.14.4
tslib: 2.5.0
value-or-promise: 1.0.12
transitivePeerDependencies:
@@ -2982,25 +2933,25 @@ packages:
- utf-8-validate
dev: true
- /@graphql-tools/executor/0.0.14_graphql@16.6.0:
- resolution: {integrity: sha512-YiBbN9NT0FgqPJ35+Eg0ty1s5scOZTgiPf+6hLVJBd5zHEURwojEMCTKJ9e0RNZHETp2lN+YaTFGTSoRk0t4Sw==}
+ /@graphql-tools/executor/0.0.15_graphql@16.6.0:
+ resolution: {integrity: sha512-6U7QLZT8cEUxAMXDP4xXVplLi6RBwx7ih7TevlBto66A/qFp3PDb6o/VFo07yBKozr8PGMZ4jMfEWBGxmbGdxA==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
- '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0
+ '@graphql-typed-document-node/core': 3.1.2_graphql@16.6.0
'@repeaterjs/repeater': 3.0.4
graphql: 16.6.0
tslib: 2.5.0
value-or-promise: 1.0.12
dev: true
- /@graphql-tools/git-loader/7.2.20_hooseksvfyhf37tjwfseq7c3kq:
+ /@graphql-tools/git-loader/7.2.20_alaufhgqlbompjtohumd2yejme:
resolution: {integrity: sha512-D/3uwTzlXxG50HI8BEixqirT4xiUp6AesTdfotRXAs2d4CT9wC6yuIWOHkSBqgI1cwKWZb6KXZr467YPS5ob1w==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
- '@graphql-tools/graphql-tag-pluck': 7.5.0_hooseksvfyhf37tjwfseq7c3kq
+ '@graphql-tools/graphql-tag-pluck': 7.5.0_alaufhgqlbompjtohumd2yejme
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
graphql: 16.6.0
is-glob: 4.0.3
@@ -3012,15 +2963,15 @@ packages:
- supports-color
dev: true
- /@graphql-tools/github-loader/7.3.27_f4rfj2fp6qksp335ght2qxujky:
+ /@graphql-tools/github-loader/7.3.27_7vzwjdfclxf3id7neveaqhm5b4:
resolution: {integrity: sha512-fFFC35qenyhjb8pfcYXKknAt0CXP5CkQYtLfJXgTXSgBjIsfAVMrqxQ/Y0ejeM19XNF/C3VWJ7rE308yOX6ywA==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
'@ardatan/sync-fetch': 0.0.1
- '@graphql-tools/graphql-tag-pluck': 7.5.0_hooseksvfyhf37tjwfseq7c3kq
+ '@graphql-tools/graphql-tag-pluck': 7.5.0_alaufhgqlbompjtohumd2yejme
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
- '@whatwg-node/fetch': 0.8.1_@types+node@18.13.0
+ '@whatwg-node/fetch': 0.8.1_@types+node@18.14.4
graphql: 16.6.0
tslib: 2.5.0
transitivePeerDependencies:
@@ -3043,15 +2994,15 @@ packages:
unixify: 1.0.0
dev: true
- /@graphql-tools/graphql-tag-pluck/7.5.0_hooseksvfyhf37tjwfseq7c3kq:
+ /@graphql-tools/graphql-tag-pluck/7.5.0_alaufhgqlbompjtohumd2yejme:
resolution: {integrity: sha512-76SYzhSlH50ZWkhWH6OI94qrxa8Ww1ZeOU04MdtpSeQZVT2rjGWeTb3xM3kjTVWQJsr/YJBhDeNPGlwNUWfX4Q==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
- '@babel/parser': 7.20.15
- '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.12
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/parser': 7.21.2
+ '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.21.0
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
graphql: 16.6.0
tslib: 2.5.0
@@ -3111,15 +3062,15 @@ packages:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
graphql: 16.6.0
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
- /@graphql-tools/prisma-loader/7.2.64_d3dx4krdt4fsynqrp5lqxelwe4:
+ /@graphql-tools/prisma-loader/7.2.64_hx4xv653uq7zrgbdj6lyizcj3a:
resolution: {integrity: sha512-W8GfzfBKiBSIEgw+/nJk6zUlF6k/jterlNoFhM27mBsbeMtWxKnm1+gEU6KA0N1PNEdq2RIa2W4AfVfVBl2GgQ==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
- '@graphql-tools/url-loader': 7.17.13_d3dx4krdt4fsynqrp5lqxelwe4
+ '@graphql-tools/url-loader': 7.17.13_hx4xv653uq7zrgbdj6lyizcj3a
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
'@types/js-yaml': 4.0.5
'@types/json-stable-stringify': 1.0.34
@@ -3128,7 +3079,7 @@ packages:
debug: 4.3.4
dotenv: 16.0.3
graphql: 16.6.0
- graphql-request: 5.1.0_graphql@16.6.0
+ graphql-request: 5.2.0_graphql@16.6.0
http-proxy-agent: 5.0.0
https-proxy-agent: 5.0.1
isomorphic-fetch: 3.0.0
@@ -3155,7 +3106,7 @@ packages:
'@ardatan/relay-compiler': 12.0.0_graphql@16.6.0
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
graphql: 16.6.0
- tslib: 2.4.1
+ tslib: 2.5.0
transitivePeerDependencies:
- encoding
- supports-color
@@ -3173,20 +3124,20 @@ packages:
value-or-promise: 1.0.12
dev: true
- /@graphql-tools/url-loader/7.17.13_d3dx4krdt4fsynqrp5lqxelwe4:
+ /@graphql-tools/url-loader/7.17.13_hx4xv653uq7zrgbdj6lyizcj3a:
resolution: {integrity: sha512-FEmbvw68kxeZLn4VYGAl+NuBPk09ZnxymjW07A6mCtiDayFgYfHdWeRzXn/iM5PzsEuCD73R1sExtNQ/ISiajg==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
'@ardatan/sync-fetch': 0.0.1
- '@graphql-tools/delegate': 9.0.27_graphql@16.6.0
+ '@graphql-tools/delegate': 9.0.28_graphql@16.6.0
'@graphql-tools/executor-graphql-ws': 0.0.11_graphql@16.6.0
- '@graphql-tools/executor-http': 0.1.9_d3dx4krdt4fsynqrp5lqxelwe4
+ '@graphql-tools/executor-http': 0.1.9_hx4xv653uq7zrgbdj6lyizcj3a
'@graphql-tools/executor-legacy-ws': 0.0.9_graphql@16.6.0
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
- '@graphql-tools/wrap': 9.3.6_graphql@16.6.0
+ '@graphql-tools/wrap': 9.3.7_graphql@16.6.0
'@types/ws': 8.5.4
- '@whatwg-node/fetch': 0.8.1_@types+node@18.13.0
+ '@whatwg-node/fetch': 0.8.1_@types+node@18.14.4
graphql: 16.6.0
isomorphic-ws: 5.0.0_ws@8.12.1
tslib: 2.5.0
@@ -3204,17 +3155,17 @@ packages:
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
- '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0
+ '@graphql-typed-document-node/core': 3.1.2_graphql@16.6.0
graphql: 16.6.0
tslib: 2.5.0
dev: true
- /@graphql-tools/wrap/9.3.6_graphql@16.6.0:
- resolution: {integrity: sha512-HtQIYoPz48bzpMYZzoeMmzIIYuVxcaUuLD7dH7GtIhwe2f4hpPDE+JLUPxpYiaXdY10l7kP9wycK+FtRfCsFlw==}
+ /@graphql-tools/wrap/9.3.7_graphql@16.6.0:
+ resolution: {integrity: sha512-gavfiWLKgvmC2VPamnMzml3zmkBoo0yt+EmOLIHY6O92o4uMTR281WGM77tZIfq+jzLtjoIOThUSjC/cN/6XKg==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
- '@graphql-tools/delegate': 9.0.27_graphql@16.6.0
+ '@graphql-tools/delegate': 9.0.28_graphql@16.6.0
'@graphql-tools/schema': 9.0.16_graphql@16.6.0
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
graphql: 16.6.0
@@ -3222,10 +3173,10 @@ packages:
value-or-promise: 1.0.12
dev: true
- /@graphql-typed-document-node/core/3.1.1_graphql@16.6.0:
- resolution: {integrity: sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==}
+ /@graphql-typed-document-node/core/3.1.2_graphql@16.6.0:
+ resolution: {integrity: sha512-9anpBMM9mEgZN4wr2v8wHJI2/u5TnnggewRN6OlvXTTnuVyoY19X6rOv9XTqKRw6dcGKwZsBi8n0kDE2I5i4VA==}
peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies:
graphql: 16.6.0
@@ -3265,8 +3216,8 @@ packages:
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
dev: true
- /@iconify/utils/2.1.3:
- resolution: {integrity: sha512-4rnzpZ2AWztPKDyWtw+DwJ9uko24it6YS+cnVpZveOrvLErwg22eXcGnIfuMFyECvsfbFhMqZW5YYWHe3CyEEg==}
+ /@iconify/utils/2.1.4:
+ resolution: {integrity: sha512-7vzsYIvxv5Hng0MNEtSSnyMBD/+zqnORqmKiYsSgpMBGSz1r93URgBZHPYCZ1/gpoaVstYW4/SVLGCMJBNMCLQ==}
dependencies:
'@antfu/install-pkg': 0.1.1
'@antfu/utils': 0.7.2
@@ -3334,7 +3285,7 @@ packages:
/@manypkg/find-root/1.1.0:
resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@types/node': 12.20.55
find-up: 4.1.0
fs-extra: 8.1.0
@@ -3343,7 +3294,7 @@ packages:
/@manypkg/get-packages/1.1.3:
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
'@changesets/types': 4.1.0
'@manypkg/find-root': 1.1.0
fs-extra: 8.1.0
@@ -3528,6 +3479,17 @@ packages:
'@octokit/openapi-types': 16.0.0
dev: true
+ /@parcel/watcher/2.1.0:
+ resolution: {integrity: sha512-8s8yYjd19pDSsBpbkOHnT6Z2+UJSuLQx61pCFM0s5wSRvKCEMDjd/cHY3/GI1szHIWbpXpsJdg3V6ISGGx9xDw==}
+ engines: {node: '>= 10.0.0'}
+ requiresBuild: true
+ dependencies:
+ is-glob: 4.0.3
+ micromatch: 4.0.5
+ node-addon-api: 3.2.1
+ node-gyp-build: 4.6.0
+ dev: true
+
/@peculiar/asn1-schema/2.3.3:
resolution: {integrity: sha512-6GptMYDMyWBHTUKndHaDsRZUO/XMSgIns2krxcm2L7SEExRHwawFvSwNBhqNPR9HJwv3MruAiF1bhN0we6j6GQ==}
dependencies:
@@ -3562,7 +3524,7 @@ packages:
resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==}
dev: true
- /@rollup/pluginutils/5.0.2_rollup@3.15.0:
+ /@rollup/pluginutils/5.0.2_rollup@3.18.0:
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -3574,7 +3536,7 @@ packages:
'@types/estree': 1.0.0
estree-walker: 2.0.2
picomatch: 2.3.1
- rollup: 3.15.0
+ rollup: 3.18.0
dev: true
/@sideway/address/4.1.4:
@@ -3602,14 +3564,14 @@ packages:
'@solid-devtools/shared': 0.11.0_solid-js@1.6.11
'@solid-primitives/bounds': 0.0.107_solid-js@1.6.11
'@solid-primitives/cursor': 0.0.105_solid-js@1.6.11
- '@solid-primitives/event-bus': 1.0.0_solid-js@1.6.11
+ '@solid-primitives/event-bus': 1.0.1_solid-js@1.6.11
'@solid-primitives/event-listener': 2.2.7_solid-js@1.6.11
- '@solid-primitives/keyboard': 1.0.7_solid-js@1.6.11
+ '@solid-primitives/keyboard': 1.0.8_solid-js@1.6.11
'@solid-primitives/platform': 0.0.103_solid-js@1.6.11
'@solid-primitives/scheduled': 1.3.1_solid-js@1.6.11
'@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
- type-fest: 3.6.0
+ type-fest: 3.6.1
dev: true
/@solid-devtools/shared/0.11.0_solid-js@1.6.11:
@@ -3617,16 +3579,16 @@ packages:
peerDependencies:
solid-js: ^1.6.9
dependencies:
- '@solid-primitives/event-bus': 1.0.0_solid-js@1.6.11
+ '@solid-primitives/event-bus': 1.0.1_solid-js@1.6.11
'@solid-primitives/event-listener': 2.2.7_solid-js@1.6.11
- '@solid-primitives/media': 2.1.1_solid-js@1.6.11
- '@solid-primitives/refs': 0.3.6_solid-js@1.6.11
+ '@solid-primitives/media': 2.1.2_solid-js@1.6.11
+ '@solid-primitives/refs': 0.3.7_solid-js@1.6.11
'@solid-primitives/rootless': 1.2.5_solid-js@1.6.11
'@solid-primitives/scheduled': 1.3.1_solid-js@1.6.11
'@solid-primitives/styles': 0.0.101_solid-js@1.6.11
'@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
- type-fest: 3.6.0
+ type-fest: 3.6.1
dev: true
/@solid-primitives/bounds/0.0.107_solid-js@1.6.11:
@@ -3635,7 +3597,7 @@ packages:
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': 2.2.7_solid-js@1.6.11
- '@solid-primitives/resize-observer': 2.0.9_solid-js@1.6.11
+ '@solid-primitives/resize-observer': 2.0.10_solid-js@1.6.11
'@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
dev: true
@@ -3649,17 +3611,17 @@ packages:
solid-js: 1.6.11
dev: true
- /@solid-primitives/debounce/1.3.0_solid-js@1.6.9:
+ /@solid-primitives/debounce/1.3.0_solid-js@1.6.11:
resolution: {integrity: sha512-Cen4ccCPTuEtQM7o9aEKuOJ0LRlAnzKvN7loEBBOQ+zKdu7/7kYKr7HHE/WS8JAI3QeQr5v2ModYRIZLERw5zw==}
deprecated: debounce primitive moved to @solid-primitives/scheduled
peerDependencies:
solid-js: '>=1.0.0'
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
dev: false
- /@solid-primitives/event-bus/1.0.0_solid-js@1.6.11:
- resolution: {integrity: sha512-Z8Nv0J3Rmc5/D+zN59qFvwPk5cWvrAJ7yjGiNGQBqGVDdHEtnZmhSb5BeFDlkga4TthIIbuYapVyr5T9AQ9FhA==}
+ /@solid-primitives/event-bus/1.0.1_solid-js@1.6.11:
+ resolution: {integrity: sha512-eBZolEPUshrGJuEZL4TgWjJ1bQkr4PxrIwH3IP/RhtJFQOvQfGzsf577XaOZfAkisdMGcF9Qw7wp4MeMMc7erg==}
peerDependencies:
solid-js: ^1.6.0
dependencies:
@@ -3686,8 +3648,8 @@ packages:
solid-js: 1.6.11
dev: true
- /@solid-primitives/keyboard/1.0.7_solid-js@1.6.11:
- resolution: {integrity: sha512-28fzmKBhHS1CPa439zCEN0ZH9sSQ/AEao5TyWFDtOsJnozdbaT8s1IAw6BgQSbn54vOyWkgbkJ/aYN7+tSJPtQ==}
+ /@solid-primitives/keyboard/1.0.8_solid-js@1.6.11:
+ resolution: {integrity: sha512-R6hD84/tU+GC0QuEKm80npFv5Uu1K6R0kka0MGlItLxm/TSEv2Mof4l3xboU1mZoz6M3tuGDwBO7ECNPkxx58g==}
peerDependencies:
solid-js: ^1.6.0
dependencies:
@@ -3697,8 +3659,8 @@ packages:
solid-js: 1.6.11
dev: true
- /@solid-primitives/media/2.1.1_solid-js@1.6.11:
- resolution: {integrity: sha512-0lMEIDereGYCKNnl0zIAd8v2kiJIUNP9om0VJKF6gD4kItUE+pdcSBok9CdEhjQzSS/HdsNo1smCYHNzdES09Q==}
+ /@solid-primitives/media/2.1.2_solid-js@1.6.11:
+ resolution: {integrity: sha512-FcvUJaNc1qd7sYq8GaL3NM/FbUS5VfpvZ4rql9iTF47BxKH7uAMvl0Vw+qNnQTMxNrZw0HRXEOl+PJUau/PQaw==}
peerDependencies:
solid-js: ^1.6.0
dependencies:
@@ -3716,8 +3678,8 @@ packages:
solid-js: 1.6.11
dev: true
- /@solid-primitives/refs/0.3.6_solid-js@1.6.11:
- resolution: {integrity: sha512-8PkCzIxnHd+kY3IaLKWvix0G15iUS6hffMOooM9fWnkQy2p5PYjOWtC/qucOBGfn6skaOAMq5rnoP40WNi9YXw==}
+ /@solid-primitives/refs/0.3.7_solid-js@1.6.11:
+ resolution: {integrity: sha512-aqidj/Sw5b2FvXgvNP8zH5HC2jEzDbFju+xRUCxZguaBmDJJyzec12fpZ9JV6SiWCyk08nZ/N4rfPNQnt1af1Q==}
peerDependencies:
solid-js: ^1.6.0
dependencies:
@@ -3727,8 +3689,8 @@ packages:
solid-js: 1.6.11
dev: true
- /@solid-primitives/resize-observer/2.0.9_solid-js@1.6.11:
- resolution: {integrity: sha512-N9apMcfL7LSPa/L9g86dhZlIZq3sM1NrFAMgNufzuJWfgHnC/vDQLQpuzc/b2q8O4KpfRs9DTRdFA6t6CK6Plw==}
+ /@solid-primitives/resize-observer/2.0.10_solid-js@1.6.11:
+ resolution: {integrity: sha512-qOYWOaJEyj3gD0N9UF0/XSdUNd3uVjzQRbH8Rr+MILA5j9w3aLGvTS3w21AdgsgIVybs+zjZMVLH0RgMf0iQFg==}
peerDependencies:
solid-js: ^1.6.0
dependencies:
@@ -3764,13 +3726,13 @@ packages:
solid-js: 1.6.11
dev: true
- /@solid-primitives/throttle/1.2.0_solid-js@1.6.9:
+ /@solid-primitives/throttle/1.2.0_solid-js@1.6.11:
resolution: {integrity: sha512-qYKYEgGl/nSCF+wq7H6zFFi8s2e/woFZJkZbCbyUrtbEIvCze4xSZRr64Xi067GlBE+T/N4LZX/htJmLfwkAeg==}
deprecated: throttle primitive moved to @solid-primitives/scheduled
peerDependencies:
solid-js: ^1.3.1
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
dev: false
/@solid-primitives/utils/5.3.0_solid-js@1.6.11:
@@ -3798,14 +3760,6 @@ packages:
solid-js: 1.6.11
dev: true
- /@solidjs/router/0.7.0_solid-js@1.6.9:
- resolution: {integrity: sha512-8HI84twe5FjYRebSLMAhtkL9bRuTDIlxJK56kjfjU9WKGoUCTaWpCnkuj8Hqde1bWZ0X+GOZxKDfNkn1CjtjxA==}
- peerDependencies:
- solid-js: ^1.5.3
- dependencies:
- solid-js: 1.6.9
- dev: true
-
/@solidjs/testing-library/0.6.1_solid-js@1.6.11:
resolution: {integrity: sha512-cS91EDopZhpVa+F55vLxbT+xrQEtc6jIYhXEleu7aCtPRKuBAhKGYQoiOAWrxRd2cXu678dhR8kuwp7ZS2gkNQ==}
engines: {node: '>= 14'}
@@ -3821,7 +3775,7 @@ packages:
engines: {node: '>=12'}
dependencies:
'@babel/code-frame': 7.18.6
- '@babel/runtime': 7.20.13
+ '@babel/runtime': 7.21.0
'@types/aria-query': 5.0.1
aria-query: 5.1.3
chalk: 4.1.2
@@ -3855,6 +3809,35 @@ packages:
resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==}
dev: true
+ /@types/babel__core/7.20.0:
+ resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==}
+ dependencies:
+ '@babel/parser': 7.21.2
+ '@babel/types': 7.21.2
+ '@types/babel__generator': 7.6.4
+ '@types/babel__template': 7.4.1
+ '@types/babel__traverse': 7.18.3
+ dev: true
+
+ /@types/babel__generator/7.6.4:
+ resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==}
+ dependencies:
+ '@babel/types': 7.21.2
+ dev: true
+
+ /@types/babel__template/7.4.1:
+ resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
+ dependencies:
+ '@babel/parser': 7.21.2
+ '@babel/types': 7.21.2
+ dev: true
+
+ /@types/babel__traverse/7.18.3:
+ resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==}
+ dependencies:
+ '@babel/types': 7.21.2
+ dev: true
+
/@types/chai-subset/1.3.3:
resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
dependencies:
@@ -3878,7 +3861,7 @@ packages:
resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==}
dependencies:
'@types/jsonfile': 6.1.1
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
dev: true
/@types/geojson/7946.0.10:
@@ -3888,7 +3871,7 @@ packages:
/@types/is-ci/3.0.0:
resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==}
dependencies:
- ci-info: 3.7.1
+ ci-info: 3.8.0
dev: true
/@types/js-yaml/4.0.5:
@@ -3906,17 +3889,17 @@ packages:
/@types/jsonfile/6.1.1:
resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==}
dependencies:
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
dev: true
/@types/jsonwebtoken/9.0.1:
resolution: {integrity: sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw==}
dependencies:
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
dev: true
- /@types/leaflet/1.9.0:
- resolution: {integrity: sha512-7LeOSj7EloC5UcyOMo+1kc3S1UT3MjJxwqsMT1d2PTyvQz53w0Y0oSSk9nwZnOZubCmBvpSNGceucxiq+ZPEUw==}
+ /@types/leaflet/1.9.1:
+ resolution: {integrity: sha512-lYawM3I3lLO6rmBASaqdGgY6zUL4YHr3H79/axx7FNYyPXuj0P1DZHbkNo8Itbv0i7Y9EryLWtDXXROMygXhRA==}
dependencies:
'@types/geojson': 7946.0.10
dev: true
@@ -3929,8 +3912,8 @@ packages:
resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
dev: true
- /@types/node/18.13.0:
- resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==}
+ /@types/node/18.14.4:
+ resolution: {integrity: sha512-VhCw7I7qO2X49+jaKcAUwi3rR+hbxT5VcYF493+Z5kMLI0DL568b7JI4IDJaxWFH0D/xwmGJNoXisyX+w7GH/g==}
dev: true
/@types/normalize-package-data/2.4.1:
@@ -3952,11 +3935,11 @@ packages:
/@types/ws/8.5.4:
resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==}
dependencies:
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
dev: true
- /@typescript-eslint/eslint-plugin/5.52.0_6cfvjsbua5ptj65675bqcn6oza:
- resolution: {integrity: sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==}
+ /@typescript-eslint/eslint-plugin/5.54.0_6mj2wypvdnknez7kws2nfdgupi:
+ resolution: {integrity: sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
@@ -3966,12 +3949,12 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
- '@typescript-eslint/scope-manager': 5.52.0
- '@typescript-eslint/type-utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
- '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
+ '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
+ '@typescript-eslint/scope-manager': 5.54.0
+ '@typescript-eslint/type-utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
+ '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
debug: 4.3.4
- eslint: 8.34.0
+ eslint: 8.35.0
grapheme-splitter: 1.0.4
ignore: 5.2.4
natural-compare-lite: 1.4.0
@@ -3983,8 +3966,8 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/parser/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm:
- resolution: {integrity: sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==}
+ /@typescript-eslint/parser/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu:
+ resolution: {integrity: sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -3993,26 +3976,26 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 5.52.0
- '@typescript-eslint/types': 5.52.0
- '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5
+ '@typescript-eslint/scope-manager': 5.54.0
+ '@typescript-eslint/types': 5.54.0
+ '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5
debug: 4.3.4
- eslint: 8.34.0
+ eslint: 8.35.0
typescript: 4.9.5
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/scope-manager/5.52.0:
- resolution: {integrity: sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==}
+ /@typescript-eslint/scope-manager/5.54.0:
+ resolution: {integrity: sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.52.0
- '@typescript-eslint/visitor-keys': 5.52.0
+ '@typescript-eslint/types': 5.54.0
+ '@typescript-eslint/visitor-keys': 5.54.0
dev: true
- /@typescript-eslint/type-utils/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm:
- resolution: {integrity: sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==}
+ /@typescript-eslint/type-utils/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu:
+ resolution: {integrity: sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
@@ -4021,23 +4004,23 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5
- '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
+ '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5
+ '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
debug: 4.3.4
- eslint: 8.34.0
+ eslint: 8.35.0
tsutils: 3.21.0_typescript@4.9.5
typescript: 4.9.5
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/types/5.52.0:
- resolution: {integrity: sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==}
+ /@typescript-eslint/types/5.54.0:
+ resolution: {integrity: sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@typescript-eslint/typescript-estree/5.52.0_typescript@4.9.5:
- resolution: {integrity: sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==}
+ /@typescript-eslint/typescript-estree/5.54.0_typescript@4.9.5:
+ resolution: {integrity: sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@@ -4045,8 +4028,8 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 5.52.0
- '@typescript-eslint/visitor-keys': 5.52.0
+ '@typescript-eslint/types': 5.54.0
+ '@typescript-eslint/visitor-keys': 5.54.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@@ -4057,55 +4040,55 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/utils/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm:
- resolution: {integrity: sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==}
+ /@typescript-eslint/utils/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu:
+ resolution: {integrity: sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@types/json-schema': 7.0.11
'@types/semver': 7.3.13
- '@typescript-eslint/scope-manager': 5.52.0
- '@typescript-eslint/types': 5.52.0
- '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5
- eslint: 8.34.0
+ '@typescript-eslint/scope-manager': 5.54.0
+ '@typescript-eslint/types': 5.54.0
+ '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5
+ eslint: 8.35.0
eslint-scope: 5.1.1
- eslint-utils: 3.0.0_eslint@8.34.0
+ eslint-utils: 3.0.0_eslint@8.35.0
semver: 7.3.8
transitivePeerDependencies:
- supports-color
- typescript
dev: true
- /@typescript-eslint/visitor-keys/5.52.0:
- resolution: {integrity: sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==}
+ /@typescript-eslint/visitor-keys/5.54.0:
+ resolution: {integrity: sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.52.0
+ '@typescript-eslint/types': 5.54.0
eslint-visitor-keys: 3.3.0
dev: true
- /@unocss/astro/0.49.6_rollup@3.15.0+vite@4.1.1:
- resolution: {integrity: sha512-0+vXBLLoS8B8Itvx+43GYeEABbRur4XxdsMKjU1/F/zXJXEoQm2A1e7TM555dJSfHD7ZVcpP12Wygo5fCAfWVw==}
+ /@unocss/astro/0.49.8_rollup@3.18.0+vite@4.1.4:
+ resolution: {integrity: sha512-JymFhe6OqBMjCTMGXVVfTn7dNTD5I/LDtKy+6uOgo+DRsAtZVpHJkR3e3lrGViJl0TiIIohHJBAu0a9G0zwjiQ==}
dependencies:
- '@unocss/core': 0.49.6
- '@unocss/reset': 0.49.6
- '@unocss/vite': 0.49.6_rollup@3.15.0+vite@4.1.1
+ '@unocss/core': 0.49.8
+ '@unocss/reset': 0.49.8
+ '@unocss/vite': 0.49.8_rollup@3.18.0+vite@4.1.4
transitivePeerDependencies:
- rollup
- vite
dev: true
- /@unocss/cli/0.49.6_rollup@3.15.0:
- resolution: {integrity: sha512-XdMeZzTZqe4Ds2Sf4VPUrQ1fnNlQwpi83cVDDbTtRgh7Lu2hgZFP/Baeq+IJ5Y5EEcf5nb+q2dp2K824/f9pZA==}
+ /@unocss/cli/0.49.8_rollup@3.18.0:
+ resolution: {integrity: sha512-UDm4aQmZqbUrqxZXD+d4fmRvGZPnEV1zk0vdjZZ33jX8kZjIA3FwmmXStnuQitFK7FPY6B72pqNSXV5QLgc+gA==}
engines: {node: '>=14'}
hasBin: true
dependencies:
'@ampproject/remapping': 2.2.0
- '@rollup/pluginutils': 5.0.2_rollup@3.15.0
- '@unocss/config': 0.49.6
- '@unocss/core': 0.49.6
- '@unocss/preset-uno': 0.49.6
+ '@rollup/pluginutils': 5.0.2_rollup@3.18.0
+ '@unocss/config': 0.49.8
+ '@unocss/core': 0.49.8
+ '@unocss/preset-uno': 0.49.8
cac: 6.7.14
chokidar: 3.5.3
colorette: 2.0.19
@@ -4118,130 +4101,130 @@ packages:
- rollup
dev: true
- /@unocss/config/0.49.6:
- resolution: {integrity: sha512-2rDhQ11DwTR9HH87BWWw9dj+FwvYFqVXTDeJODZ/DmlT8ymlhC5eT0p0cqTrzDo3VdMlx20RmJ5l8mvtIu6pwQ==}
+ /@unocss/config/0.49.8:
+ resolution: {integrity: sha512-tEpxZ/FvmvBV+PdF7hiqRT7F4PTI2HG6Ytw4cgusmp62VeWJ1t1L+9DuGsUDpaLL/LYyYS7wiCdZj/m+GeNBLg==}
engines: {node: '>=14'}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
unconfig: 0.3.7
dev: true
- /@unocss/core/0.49.6:
- resolution: {integrity: sha512-XVk8E4A8XH85uteouQkeRD+SUuZ1/qOqEGAsJ0RUBzLp9Yvb+xWHwVVvMs7XJKeo49PpyrZCk9mHJ6hjr748Gg==}
+ /@unocss/core/0.49.8:
+ resolution: {integrity: sha512-00BXRcMn6ERIkWHM64g6Uv6YZ3GUR8HjrMAzJZdd+04WcG2xCOyen8k+yDCxslqL0YsLqXYyLsgFSunHfYWy8w==}
dev: true
- /@unocss/inspector/0.49.6:
- resolution: {integrity: sha512-cyBJ4ym/Ge/JaBE6M/lk8ZrHfNz+U9N2FQ6DFRBFBDcXX1//Rt0QKhiaTcWKfkWD+gAcz+qo5gGNJdKKiXQDPQ==}
+ /@unocss/inspector/0.49.8:
+ resolution: {integrity: sha512-iGCfOEbgzpqvIvE2iPQpfos28MPcUJ0Y6JZ5JNfiaSrbEyAb5dK+QUI8YVzn8ao4gEd7cQR0O6UWHCSvn1Bv0A==}
dependencies:
gzip-size: 6.0.0
sirv: 2.0.2
dev: true
- /@unocss/preset-attributify/0.49.6:
- resolution: {integrity: sha512-tcj6T8neXtCr6HZzhB2GKSWDW5Wbbpx3R5bGZ/GxnlImkLLhA9SmKQ85WdHE+hG/Tbh9eeUfSI+018YmD5uKng==}
+ /@unocss/preset-attributify/0.49.8:
+ resolution: {integrity: sha512-h++9yJoCXoAWQfvDV65huc3SU+0NhKu63JwcXygZciOpGWGXK89ZH5b/hd29VVk8AZN50c53YRaoIn7GSply1w==}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
dev: true
- /@unocss/preset-icons/0.49.6:
- resolution: {integrity: sha512-iYFCBwob7Eeq+66vc9nEqdRw9aPfNQ8dDjq59llhQknNLx1h2x+CgByBOtzEVwdVgrwTtjinbKNvGlvl4huDkw==}
+ /@unocss/preset-icons/0.49.8:
+ resolution: {integrity: sha512-/6i1Lt4ewZq4YRtI1MHIeyRQNsFh/z5fWxplpVM8YTSP7b6ZENvjRdsr16QEgPJk7dFVO7pbNfF8Fsl753kODA==}
dependencies:
- '@iconify/utils': 2.1.3
- '@unocss/core': 0.49.6
+ '@iconify/utils': 2.1.4
+ '@unocss/core': 0.49.8
ofetch: 1.0.1
transitivePeerDependencies:
- supports-color
dev: true
- /@unocss/preset-mini/0.49.6:
- resolution: {integrity: sha512-DkMUwhlKJNW5AtdgaKDyLqJeNuYYtYF384KMrbMCUzH5mJ32MwONzsYClVaNdc7XTnjJWbPHStI5IQQ8Yndc7w==}
+ /@unocss/preset-mini/0.49.8:
+ resolution: {integrity: sha512-iJEbunr8sPdvZkp/ncHL3853LobfMtn5l1yE+6MDr7kjiS9Teiopt+FkR2xSmv8nCcCp39gFT3mKtJ/sZVG61Q==}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
dev: true
- /@unocss/preset-tagify/0.49.6:
- resolution: {integrity: sha512-x1rMPIU6VdyW5vwbC7ufGUAYgF1sPL8odb0g+QrzU+n8F64/G0hCjNv0xF+RG4BTNXiaQn2OJ3Ejulvauc8tOA==}
+ /@unocss/preset-tagify/0.49.8:
+ resolution: {integrity: sha512-x9AWJtVdVJEoARXPVgcYG9YAXdKVkFt5CTMZRalDOtHN+OGxQEVSR7j3gWlNb32adPCu7GVQBOyU9IF0Ez8Tiw==}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
dev: true
- /@unocss/preset-typography/0.49.6:
- resolution: {integrity: sha512-IkJWYUjH+0PUfknCXz8l5VX4+a7qbvX5t6ho4RaUgxMD96N+ZcpB0JZ8fKQ7ztA9ICjwcqWyvVhusjcck0SLRQ==}
+ /@unocss/preset-typography/0.49.8:
+ resolution: {integrity: sha512-UF4k44y+rJrMdFdjdxilKBrZtRsdQNdU4+cvupnyw7swvJNPXoY+AhMM3V2Di9UF7NC5xVDG9zZ8J7oBCRYraw==}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
dev: true
- /@unocss/preset-uno/0.49.6:
- resolution: {integrity: sha512-T6qqGbPY6eKZYiWEFyDzaMwoi+/KmhS+UovUHqa93JgK2/euemDxXOBEVTkIZayrYm6T+NR8cm+n0EpYLYZNxg==}
+ /@unocss/preset-uno/0.49.8:
+ resolution: {integrity: sha512-IFt6q7u0gOEywUuW33qbWR5DmUibbKvYyEAVebeWoboPcJ+8FXS5bUh96DycVLBONvDrCj6aegLq9ZzbCb4EKw==}
dependencies:
- '@unocss/core': 0.49.6
- '@unocss/preset-mini': 0.49.6
- '@unocss/preset-wind': 0.49.6
+ '@unocss/core': 0.49.8
+ '@unocss/preset-mini': 0.49.8
+ '@unocss/preset-wind': 0.49.8
dev: true
- /@unocss/preset-web-fonts/0.49.6:
- resolution: {integrity: sha512-r+4t9ztY7WVrqX9P5G6S7LkfzBJzz2ZXwY9z9KkBiWUvcQ9e9QnYvz42g0JR6IQ7xZ/0hbm/WL83uDrxjLknAQ==}
+ /@unocss/preset-web-fonts/0.49.8:
+ resolution: {integrity: sha512-R6shtOJEJnB3KPB3HkuOLWQCij8fe72pWkkhip9T1WwYnzqyM5lBEzlhWmydluEUbluYfUIivi6sQJ3jExmhqg==}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
ofetch: 1.0.1
dev: true
- /@unocss/preset-wind/0.49.6:
- resolution: {integrity: sha512-gMBLdS2DdxwydKyExeuhJMp1bsQ0vhs4pbUr9smZiSMcwmORivGisIgaDWTaOmcYlH/eU+ntDk3ctEuPnOwLnQ==}
+ /@unocss/preset-wind/0.49.8:
+ resolution: {integrity: sha512-yFuidO9x9Ipar1tJ+2koqkYrDdPgiLMZMMHB3visAKFYswsM+N3B4mKimrlctbu5cEd7+MRzCpwFqXFnttbNbg==}
dependencies:
- '@unocss/core': 0.49.6
- '@unocss/preset-mini': 0.49.6
+ '@unocss/core': 0.49.8
+ '@unocss/preset-mini': 0.49.8
dev: true
- /@unocss/reset/0.49.6:
- resolution: {integrity: sha512-O3+c6WxruR6GqCtfAtE70pZiUmewabuqOOnGDFZFHX04Vb/aWL6kvBFBGQmuMgmK1ziOkkkCqAzSpw8U9p+cOg==}
+ /@unocss/reset/0.49.8:
+ resolution: {integrity: sha512-QIEhXCDyYZvqfyzg/3UiiWw2B0rdJpvswDEWudnYLm0Z73NsOjgx6TQpOsfDRKqRnDF+N9Kbs7gs60O/WAwR8g==}
dev: true
- /@unocss/scope/0.49.6:
- resolution: {integrity: sha512-JEch9EKzmHxkgUUzpCz/B7WneGfNRLPGC3Z8PKj65qr/58FWAvq1OVLw8QHcLoL+cfRTi51d8X7HF05+hDizCg==}
+ /@unocss/scope/0.49.8:
+ resolution: {integrity: sha512-ZsjadDaMfMdw+ptO9PYvUgkx7Z3wv+dBew01W670+pHMA4F+SMksxfLBXd/BfAKtq0lZPEEPiqnLIzGNWB+6Ng==}
dev: true
- /@unocss/transformer-attributify-jsx/0.49.6:
- resolution: {integrity: sha512-9OT9JzQQNgqDRynQzoirJ+QMd3/qQFzun6yYHqK026lcK6oJoSMi7upbe9F611NKFFG0G6H3NMFSpQWWAllecA==}
+ /@unocss/transformer-attributify-jsx/0.49.8:
+ resolution: {integrity: sha512-5SCnUok309Dq6hALAEq9hE/Jkl9tAKVkS1ISfQ8i+gUUUAwa/mGGlBDnLrRCSmunF8G/mJPJwAAgDDqGiFPp8g==}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
dev: true
- /@unocss/transformer-compile-class/0.49.6:
- resolution: {integrity: sha512-HnixpmRHDzj2W+hVB0kAe7I0ok6PCXuS5bdBmw954w4NZNKNhPDqgUzeb7EuynLnyIOoxagF8OC+YlDj3hCxDA==}
+ /@unocss/transformer-compile-class/0.49.8:
+ resolution: {integrity: sha512-s2cgO2ckrMTFMDv/9b4rvmAZBr3AbY638VhINMpGS4PeuIPb96KAnQJfp+hlQjyh5aO2AvBD7978rV7SABnxxA==}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
dev: true
- /@unocss/transformer-directives/0.49.6:
- resolution: {integrity: sha512-zo4wWUVEp14jF6T6N+wyJheobDMOcWs+g3SPVSEP0FVskOGumbAQR3oj0RW8weOM/JdkioadvJu/TNhDDXVUdw==}
+ /@unocss/transformer-directives/0.49.8:
+ resolution: {integrity: sha512-GfMRo12tr89cGtjU0y6JMiO/tStv7yMOd6UKwPZWXSw1/KjP7wsAXYgjpjexYcI2uwzAXCtMWxh2Fmd/JJsV1A==}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
css-tree: 2.3.1
dev: true
- /@unocss/transformer-variant-group/0.49.6:
- resolution: {integrity: sha512-S1qOYG0uHTWrbMT/t5bjAGRn36lZVVPDWtjdZHeEv7/jXq84v/m2TIybOnxnXCIvg/5WHQoVLC8w8QfJnSxy8A==}
+ /@unocss/transformer-variant-group/0.49.8:
+ resolution: {integrity: sha512-7Skax6CQIb9ape7jOGcv7V0/58vN/8jEg3lIpKytndCnyJ73seDMP2CP0fR9x1SL4TKpVlhb/o9GA4f8TFsfVA==}
dependencies:
- '@unocss/core': 0.49.6
+ '@unocss/core': 0.49.8
dev: true
- /@unocss/vite/0.49.6_rollup@3.15.0+vite@4.1.1:
- resolution: {integrity: sha512-9wpl5t+WoXN+qpVRd9VprFQzSJtknA5eCTDvbNQwTPTmoCbIeIHBXsQrX9swj8jA3W9lVVS3ulDQCny8Qfwl8A==}
+ /@unocss/vite/0.49.8_rollup@3.18.0+vite@4.1.4:
+ resolution: {integrity: sha512-6m53z6sTdvyKkQmnjwB3909N6Ewn9OlKbveSruIyMZY8xHRXDyiFLToBzbsIa2cJ/5NZdb/KpEvQ+GD64waKUQ==}
peerDependencies:
vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0
dependencies:
'@ampproject/remapping': 2.2.0
- '@rollup/pluginutils': 5.0.2_rollup@3.15.0
- '@unocss/config': 0.49.6
- '@unocss/core': 0.49.6
- '@unocss/inspector': 0.49.6
- '@unocss/scope': 0.49.6
- '@unocss/transformer-directives': 0.49.6
+ '@rollup/pluginutils': 5.0.2_rollup@3.18.0
+ '@unocss/config': 0.49.8
+ '@unocss/core': 0.49.8
+ '@unocss/inspector': 0.49.8
+ '@unocss/scope': 0.49.8
+ '@unocss/transformer-directives': 0.49.8
chokidar: 3.5.3
fast-glob: 3.2.12
magic-string: 0.29.0
- vite: 4.1.1_@types+node@18.13.0
+ vite: 4.1.4_@types+node@18.14.4
transitivePeerDependencies:
- rollup
dev: true
@@ -4282,23 +4265,11 @@ packages:
resolution: {integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==}
dev: true
- /@whatwg-node/fetch/0.6.9_@types+node@18.13.0:
- resolution: {integrity: sha512-JfrBCJdMu9n9OARc0e/hPHcD98/8Nz1CKSdGYDg6VbObDkV/Ys30xe5i/wPOatYbxuvatj1kfWeHf7iNX3i17w==}
- dependencies:
- '@peculiar/webcrypto': 1.4.1
- '@whatwg-node/node-fetch': 0.0.5_@types+node@18.13.0
- busboy: 1.6.0
- urlpattern-polyfill: 6.0.2
- web-streams-polyfill: 3.2.1
- transitivePeerDependencies:
- - '@types/node'
- dev: true
-
- /@whatwg-node/fetch/0.8.1_@types+node@18.13.0:
+ /@whatwg-node/fetch/0.8.1_@types+node@18.14.4:
resolution: {integrity: sha512-Fkd1qQHK2tAWxKlC85h9L86Lgbq3BzxMnHSnTsnzNZMMzn6Xi+HlN8/LJ90LxorhSqD54td+Q864LgwUaYDj1Q==}
dependencies:
'@peculiar/webcrypto': 1.4.1
- '@whatwg-node/node-fetch': 0.3.0_@types+node@18.13.0
+ '@whatwg-node/node-fetch': 0.3.0_@types+node@18.14.4
busboy: 1.6.0
urlpattern-polyfill: 6.0.2
web-streams-polyfill: 3.2.1
@@ -4306,23 +4277,12 @@ packages:
- '@types/node'
dev: true
- /@whatwg-node/node-fetch/0.0.5_@types+node@18.13.0:
- resolution: {integrity: sha512-hbccmaSZaItdsRuBKBEEhLoO+5oXJPxiyd0kG2xXd0Dh3Rt+vZn4pADHxuSiSHLd9CM+S2z4+IxlEGbWUgiz9g==}
- peerDependencies:
- '@types/node': ^18.0.6
- dependencies:
- '@types/node': 18.13.0
- '@whatwg-node/events': 0.0.2
- busboy: 1.6.0
- tslib: 2.5.0
- dev: true
-
- /@whatwg-node/node-fetch/0.3.0_@types+node@18.13.0:
+ /@whatwg-node/node-fetch/0.3.0_@types+node@18.14.4:
resolution: {integrity: sha512-mPM8WnuHiI/3kFxDeE0SQQXAElbz4onqmm64fEGCwYEcBes2UsvIDI8HwQIqaXCH42A9ajJUPv4WsYoN/9oG6w==}
peerDependencies:
'@types/node': ^18.0.6
dependencies:
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
'@whatwg-node/events': 0.0.2
busboy: 1.6.0
fast-querystring: 1.1.1
@@ -4494,7 +4454,7 @@ packages:
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
- define-properties: 1.1.4
+ define-properties: 1.2.0
es-abstract: 1.21.1
es-shim-unscopables: 1.0.0
dev: true
@@ -4549,8 +4509,8 @@ packages:
dev: true
optional: true
- /axios/1.3.3_debug@4.3.4:
- resolution: {integrity: sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==}
+ /axios/1.3.4_debug@4.3.4:
+ resolution: {integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==}
dependencies:
follow-redirects: 1.15.2_debug@4.3.4
form-data: 4.0.0
@@ -4559,53 +4519,53 @@ packages:
- debug
dev: true
- /babel-plugin-jsx-dom-expressions/0.35.16_@babel+core@7.20.12:
+ /babel-plugin-jsx-dom-expressions/0.35.16_@babel+core@7.21.0:
resolution: {integrity: sha512-Z8vaeXRdtI4qyq3bmQiLjiZnbjn2Rr0mjpXMwN+QxHbWjtlAFOJSHlkcxbrwPz/DdcfSgkmZM0Atvt/zMLeLyA==}
peerDependencies:
'@babel/core': ^7.20.12
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
'@babel/helper-module-imports': 7.18.6
- '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
- '@babel/types': 7.20.7
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0
+ '@babel/types': 7.21.2
html-entities: 2.3.3
validate-html-nesting: 1.2.1
dev: true
- /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.20.12:
+ /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.21.0:
resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.20.14
- '@babel/core': 7.20.12
- '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12
+ '@babel/compat-data': 7.21.0
+ '@babel/core': 7.21.0
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.0
semver: 6.3.0
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.20.12:
+ /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.21.0:
resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12
- core-js-compat: 3.28.0
+ '@babel/core': 7.21.0
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.0
+ core-js-compat: 3.29.0
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.20.12:
+ /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.21.0:
resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.0
transitivePeerDependencies:
- supports-color
dev: true
@@ -4615,59 +4575,50 @@ packages:
resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==}
dev: true
- /babel-preset-fbjs/3.4.0_@babel+core@7.20.12:
+ /babel-preset-fbjs/3.4.0_@babel+core@7.21.0:
resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.12
- '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12
- '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-block-scoping': 7.20.15_@babel+core@7.20.12
- '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-flow-strip-types': 7.19.0_@babel+core@7.20.12
- '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.12
- '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12
- '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-react-jsx': 7.20.13_@babel+core@7.20.12
- '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.0
+ '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-block-scoping': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-classes': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-flow-strip-types': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-for-of': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.0
+ '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.21.0
babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0
transitivePeerDependencies:
- supports-color
dev: true
- /babel-preset-solid/1.6.10_@babel+core@7.20.12:
+ /babel-preset-solid/1.6.10_@babel+core@7.21.0:
resolution: {integrity: sha512-qBLjzeWmgY5jX11sJg/lriXABYdClfJrJJrIHaT6G5EuGhxhm6jn7XjqXjLBZHBgy5n/Z+iqJ5YfQj8KG2jKTA==}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.12
- babel-plugin-jsx-dom-expressions: 0.35.16_@babel+core@7.20.12
- dev: true
-
- /babel-preset-solid/1.6.9_@babel+core@7.20.12:
- resolution: {integrity: sha512-Dz4xROTGtAZ2B9+79KYUzi/bhjNGsx+8c+AD3VO/Cg1CisM1qq29XsnkWrRJeTMMn3XZkAI/Bf5Rz37d/gvPVQ==}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.20.12
- babel-plugin-jsx-dom-expressions: 0.35.16_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ babel-plugin-jsx-dom-expressions: 0.35.16_@babel+core@7.21.0
dev: true
/balanced-match/1.0.2:
@@ -4699,7 +4650,7 @@ packages:
dependencies:
buffer: 5.7.1
inherits: 2.0.4
- readable-stream: 3.6.0
+ readable-stream: 3.6.1
dev: true
/brace-expansion/1.1.11:
@@ -4722,28 +4673,16 @@ packages:
wcwidth: 1.0.1
dev: true
- /browserslist/4.21.4:
- resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001445
- electron-to-chromium: 1.4.284
- node-releases: 2.0.8
- update-browserslist-db: 1.0.10_browserslist@4.21.4
- dev: true
-
/browserslist/4.21.5:
resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001457
- electron-to-chromium: 1.4.284
- node-releases: 2.0.8
+ caniuse-lite: 1.0.30001458
+ electron-to-chromium: 1.4.316
+ node-releases: 2.0.10
update-browserslist-db: 1.0.10_browserslist@4.21.5
dev: true
- optional: true
/bser/2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
@@ -4766,13 +4705,13 @@ packages:
ieee754: 1.2.1
dev: true
- /bundle-require/4.0.1_esbuild@0.17.8:
+ /bundle-require/4.0.1_esbuild@0.17.10:
resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
peerDependencies:
esbuild: '>=0.17'
dependencies:
- esbuild: 0.17.8
+ esbuild: 0.17.10
load-tsconfig: 0.2.3
dev: true
@@ -4810,7 +4749,7 @@ packages:
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
dependencies:
pascal-case: 3.1.2
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/camelcase-keys/6.2.2:
@@ -4827,20 +4766,15 @@ packages:
engines: {node: '>=6'}
dev: true
- /caniuse-lite/1.0.30001445:
- resolution: {integrity: sha512-8sdQIdMztYmzfTMO6KfLny878Ln9c2M0fc7EH60IjlP4Dc4PiCy7K2Vl3ITmWgOyPgVQKa5x+UP/KqFsxj4mBg==}
+ /caniuse-lite/1.0.30001458:
+ resolution: {integrity: sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w==}
dev: true
- /caniuse-lite/1.0.30001457:
- resolution: {integrity: sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==}
- dev: true
- optional: true
-
/capital-case/1.0.4:
resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
dependencies:
no-case: 3.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
upper-case-first: 2.0.2
dev: true
@@ -4903,7 +4837,7 @@ packages:
path-case: 3.0.4
sentence-case: 3.0.4
snake-case: 3.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/chardet/0.7.0:
@@ -4929,8 +4863,8 @@ packages:
fsevents: 2.3.2
dev: true
- /ci-info/3.7.1:
- resolution: {integrity: sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==}
+ /ci-info/3.8.0:
+ resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
engines: {node: '>=8'}
dev: true
@@ -5090,7 +5024,7 @@ packages:
resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==}
dependencies:
no-case: 3.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
upper-case: 2.0.2
dev: true
@@ -5098,14 +5032,14 @@ packages:
resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
dev: true
- /core-js-compat/3.28.0:
- resolution: {integrity: sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg==}
+ /core-js-compat/3.29.0:
+ resolution: {integrity: sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ==}
dependencies:
browserslist: 4.21.5
dev: true
optional: true
- /cosmiconfig-typescript-loader/4.3.0_ubrymuwlz4ufngznlqsmh7e3bi:
+ /cosmiconfig-typescript-loader/4.3.0_sxpnysmqw4qddw4rfli2rie7zm:
resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==}
engines: {node: '>=12', npm: '>=6'}
peerDependencies:
@@ -5114,9 +5048,9 @@ packages:
ts-node: '>=10'
typescript: '>=3'
dependencies:
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
cosmiconfig: 7.1.0
- ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy
+ ts-node: 10.9.1_oboltcrkaqheaa54woelu7cdsa
typescript: 4.9.5
dev: true
@@ -5312,7 +5246,7 @@ packages:
es-get-iterator: 1.1.3
get-intrinsic: 1.2.0
is-arguments: 1.1.1
- is-array-buffer: 3.0.1
+ is-array-buffer: 3.0.2
is-date-object: 1.0.5
is-regex: 1.1.4
is-shared-array-buffer: 1.0.2
@@ -5343,14 +5277,6 @@ packages:
dev: true
optional: true
- /define-properties/1.1.4:
- resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-property-descriptors: 1.0.0
- object-keys: 1.1.1
- dev: true
-
/define-properties/1.2.0:
resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
engines: {node: '>= 0.4'}
@@ -5431,7 +5357,7 @@ packages:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
dependencies:
no-case: 3.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/dotenv/16.0.3:
@@ -5467,8 +5393,8 @@ packages:
dev: true
optional: true
- /electron-to-chromium/1.4.284:
- resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
+ /electron-to-chromium/1.4.316:
+ resolution: {integrity: sha512-9urqVpdeJYAwVL/sBjsX2pSlgYI/b4nOqC6UaNa0xlq1VUbXLRhERWlxcQ4FWfUOQQxSSxN/taFtapEcwg5tVA==}
dev: true
/emoji-regex/8.0.0:
@@ -5522,7 +5448,7 @@ packages:
has-proto: 1.0.1
has-symbols: 1.0.3
internal-slot: 1.0.5
- is-array-buffer: 3.0.1
+ is-array-buffer: 3.0.2
is-callable: 1.2.7
is-negative-zero: 2.0.2
is-regex: 1.1.4
@@ -5735,9 +5661,9 @@ packages:
esbuild: '>=0.12'
solid-js: '>= 1.0'
dependencies:
- '@babel/core': 7.20.12
- '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12
- babel-preset-solid: 1.6.10_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/preset-typescript': 7.21.0_@babel+core@7.21.0
+ babel-preset-solid: 1.6.10_@babel+core@7.21.0
esbuild: 0.14.54
solid-js: 1.6.11
transitivePeerDependencies:
@@ -5745,16 +5671,16 @@ packages:
dev: true
optional: true
- /esbuild-plugin-solid/0.5.0_53k565wzpp55uni6zxdi7b642e:
+ /esbuild-plugin-solid/0.5.0_nthmvwso2kmvm2vudl5hl5hku4:
resolution: {integrity: sha512-ITK6n+0ayGFeDVUZWNMxX+vLsasEN1ILrg4pISsNOQ+mq4ljlJJiuXotInd+HE0MzwTcA9wExT1yzDE2hsqPsg==}
peerDependencies:
esbuild: '>=0.12'
solid-js: '>= 1.0'
dependencies:
- '@babel/core': 7.20.12
- '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12
- babel-preset-solid: 1.6.10_@babel+core@7.20.12
- esbuild: 0.17.8
+ '@babel/core': 7.21.0
+ '@babel/preset-typescript': 7.21.0_@babel+core@7.21.0
+ babel-preset-solid: 1.6.10_@babel+core@7.21.0
+ esbuild: 0.17.10
solid-js: 1.6.11
transitivePeerDependencies:
- supports-color
@@ -5856,34 +5782,34 @@ packages:
'@esbuild/win32-x64': 0.16.17
dev: true
- /esbuild/0.17.8:
- resolution: {integrity: sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==}
+ /esbuild/0.17.10:
+ resolution: {integrity: sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@esbuild/android-arm': 0.17.8
- '@esbuild/android-arm64': 0.17.8
- '@esbuild/android-x64': 0.17.8
- '@esbuild/darwin-arm64': 0.17.8
- '@esbuild/darwin-x64': 0.17.8
- '@esbuild/freebsd-arm64': 0.17.8
- '@esbuild/freebsd-x64': 0.17.8
- '@esbuild/linux-arm': 0.17.8
- '@esbuild/linux-arm64': 0.17.8
- '@esbuild/linux-ia32': 0.17.8
- '@esbuild/linux-loong64': 0.17.8
- '@esbuild/linux-mips64el': 0.17.8
- '@esbuild/linux-ppc64': 0.17.8
- '@esbuild/linux-riscv64': 0.17.8
- '@esbuild/linux-s390x': 0.17.8
- '@esbuild/linux-x64': 0.17.8
- '@esbuild/netbsd-x64': 0.17.8
- '@esbuild/openbsd-x64': 0.17.8
- '@esbuild/sunos-x64': 0.17.8
- '@esbuild/win32-arm64': 0.17.8
- '@esbuild/win32-ia32': 0.17.8
- '@esbuild/win32-x64': 0.17.8
+ '@esbuild/android-arm': 0.17.10
+ '@esbuild/android-arm64': 0.17.10
+ '@esbuild/android-x64': 0.17.10
+ '@esbuild/darwin-arm64': 0.17.10
+ '@esbuild/darwin-x64': 0.17.10
+ '@esbuild/freebsd-arm64': 0.17.10
+ '@esbuild/freebsd-x64': 0.17.10
+ '@esbuild/linux-arm': 0.17.10
+ '@esbuild/linux-arm64': 0.17.10
+ '@esbuild/linux-ia32': 0.17.10
+ '@esbuild/linux-loong64': 0.17.10
+ '@esbuild/linux-mips64el': 0.17.10
+ '@esbuild/linux-ppc64': 0.17.10
+ '@esbuild/linux-riscv64': 0.17.10
+ '@esbuild/linux-s390x': 0.17.10
+ '@esbuild/linux-x64': 0.17.10
+ '@esbuild/netbsd-x64': 0.17.10
+ '@esbuild/openbsd-x64': 0.17.10
+ '@esbuild/sunos-x64': 0.17.10
+ '@esbuild/win32-arm64': 0.17.10
+ '@esbuild/win32-ia32': 0.17.10
+ '@esbuild/win32-x64': 0.17.10
dev: true
/escalade/3.1.1:
@@ -5919,14 +5845,14 @@ packages:
source-map: 0.6.1
dev: true
- /eslint-plugin-eslint-comments/3.2.0_eslint@8.34.0:
+ /eslint-plugin-eslint-comments/3.2.0_eslint@8.35.0:
resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==}
engines: {node: '>=6.5.0'}
peerDependencies:
eslint: '>=4.19.1'
dependencies:
escape-string-regexp: 1.0.5
- eslint: 8.34.0
+ eslint: 8.35.0
ignore: 5.2.4
dev: true
@@ -5935,14 +5861,14 @@ packages:
engines: {node: '>=5.0.0'}
dev: true
- /eslint-plugin-solid/0.9.4_7kw3g6rralp5ps6mg3uyzz6azm:
+ /eslint-plugin-solid/0.9.4_ycpbpc6yetojsgtrx3mwntkhsu:
resolution: {integrity: sha512-AGS7XnkepV2jiFwBMSg3FW7GKe6uJwgx65nnRC7I6s0dbV7rGpouwj9KDkXV5NJHQENxACeOLUTgjyMi3JeHNw==}
engines: {node: '>=12.0.0'}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
- eslint: 8.34.0
+ '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
+ eslint: 8.35.0
is-html: 2.0.0
jsx-ast-utils: 3.3.3
kebab-case: 1.0.2
@@ -5969,13 +5895,13 @@ packages:
estraverse: 5.3.0
dev: true
- /eslint-utils/3.0.0_eslint@8.34.0:
+ /eslint-utils/3.0.0_eslint@8.35.0:
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies:
eslint: '>=5'
dependencies:
- eslint: 8.34.0
+ eslint: 8.35.0
eslint-visitor-keys: 2.1.0
dev: true
@@ -5989,12 +5915,13 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /eslint/8.34.0:
- resolution: {integrity: sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==}
+ /eslint/8.35.0:
+ resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- '@eslint/eslintrc': 1.4.1
+ '@eslint/eslintrc': 2.0.0
+ '@eslint/js': 8.35.0
'@humanwhocodes/config-array': 0.11.8
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
@@ -6005,10 +5932,10 @@ packages:
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.1.1
- eslint-utils: 3.0.0_eslint@8.34.0
+ eslint-utils: 3.0.0_eslint@8.35.0
eslint-visitor-keys: 3.3.0
espree: 9.4.1
- esquery: 1.4.2
+ esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 6.0.1
@@ -6052,8 +5979,8 @@ packages:
hasBin: true
dev: true
- /esquery/1.4.2:
- resolution: {integrity: sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==}
+ /esquery/1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
engines: {node: '>=0.10'}
dependencies:
estraverse: 5.3.0
@@ -6502,7 +6429,7 @@ packages:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
dev: true
- /graphql-config/4.4.1_xpmawne4qzm56nll3j5t4i4bx4:
+ /graphql-config/4.4.1_jw3hc3dleypqsddxkfryqwtwtu:
resolution: {integrity: sha512-B8wlvfBHZ5WnI4IiuQZRqql6s+CKz7S+xpUeTb28Z8nRBi8tH9ChEBgT5FnTyE05PUhHlrS2jK9ICJ4YBl9OtQ==}
engines: {node: '>= 10.0.0'}
peerDependencies:
@@ -6519,10 +6446,10 @@ packages:
'@graphql-tools/json-file-loader': 7.4.17_graphql@16.6.0
'@graphql-tools/load': 7.8.12_graphql@16.6.0
'@graphql-tools/merge': 8.3.18_graphql@16.6.0
- '@graphql-tools/url-loader': 7.17.13_d3dx4krdt4fsynqrp5lqxelwe4
+ '@graphql-tools/url-loader': 7.17.13_hx4xv653uq7zrgbdj6lyizcj3a
'@graphql-tools/utils': 9.2.1_graphql@16.6.0
cosmiconfig: 8.0.0
- cosmiconfig-typescript-loader: 4.3.0_ubrymuwlz4ufngznlqsmh7e3bi
+ cosmiconfig-typescript-loader: 4.3.0_sxpnysmqw4qddw4rfli2rie7zm
graphql: 16.6.0
minimatch: 4.2.1
string-env-interpolation: 1.0.1
@@ -6534,12 +6461,12 @@ packages:
- utf-8-validate
dev: true
- /graphql-request/5.1.0_graphql@16.6.0:
- resolution: {integrity: sha512-0OeRVYigVwIiXhNmqnPDt+JhMzsjinxHE7TVy3Lm6jUzav0guVcL0lfSbi6jVTRAxcbwgyr6yrZioSHxf9gHzw==}
+ /graphql-request/5.2.0_graphql@16.6.0:
+ resolution: {integrity: sha512-pLhKIvnMyBERL0dtFI3medKqWOz/RhHdcgbZ+hMMIb32mEPa5MJSzS4AuXxfI4sRAu6JVVk5tvXuGfCWl9JYWQ==}
peerDependencies:
graphql: 14 - 16
dependencies:
- '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0
+ '@graphql-typed-document-node/core': 3.1.2_graphql@16.6.0
cross-fetch: 3.1.5
extract-files: 9.0.0
form-data: 3.0.1
@@ -6555,7 +6482,7 @@ packages:
graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
graphql: 16.6.0
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/graphql-ws/5.11.3_graphql@16.6.0:
@@ -6635,7 +6562,7 @@ packages:
resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==}
dependencies:
capital-case: 1.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/hosted-git-info/2.8.9:
@@ -6806,8 +6733,8 @@ packages:
has-tostringtag: 1.0.0
dev: true
- /is-array-buffer/3.0.1:
- resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==}
+ /is-array-buffer/3.0.2:
+ resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
dependencies:
call-bind: 1.0.2
get-intrinsic: 1.2.0
@@ -6848,7 +6775,7 @@ packages:
resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
hasBin: true
dependencies:
- ci-info: 3.7.1
+ ci-info: 3.8.0
dev: true
/is-core-module/2.11.0:
@@ -6908,7 +6835,7 @@ packages:
/is-lower-case/2.0.2:
resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/is-map/2.0.2:
@@ -7028,7 +6955,7 @@ packages:
/is-upper-case/2.0.2:
resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/is-weakmap/2.0.1:
@@ -7327,8 +7254,8 @@ packages:
type-check: 0.4.0
dev: true
- /lilconfig/2.0.6:
- resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
+ /lilconfig/2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
dev: true
@@ -7444,13 +7371,13 @@ packages:
/lower-case-first/2.0.2:
resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/lower-case/2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/lru-cache/4.1.5:
@@ -7511,8 +7438,8 @@ packages:
engines: {node: '>=8'}
dev: true
- /mapbox-gl/2.12.1:
- resolution: {integrity: sha512-45LVQauimFGX/fkCJzK3O2KpQQrIB0fGlg8sERu4NH0xWiBw9JsLOLYD2xAgD5SPramQvsjzM7vYWIkGxpGYNQ==}
+ /mapbox-gl/2.13.0:
+ resolution: {integrity: sha512-G8pU1/I9HC7xNbhKPKFtRkdUDkWJBNbYPMeRjBig3lPaYtvHPIaFmXMR6BDyZ/gnwodElrwMZGdGsoH8kecX8w==}
dependencies:
'@mapbox/geojson-rewind': 0.5.2
'@mapbox/jsonlint-lines-primitives': 2.0.2
@@ -7574,7 +7501,7 @@ packages:
engines: {node: '>= 8'}
dev: true
- /meros/1.2.1_@types+node@18.13.0:
+ /meros/1.2.1_@types+node@18.14.4:
resolution: {integrity: sha512-R2f/jxYqCAGI19KhAvaxSOxALBMkaXWH2a7rOyqQw+ZmizX5bKkEYWLzdhC+U82ZVVPVp6MCXe3EkVligh+12g==}
engines: {node: '>=13'}
peerDependencies:
@@ -7583,7 +7510,7 @@ packages:
'@types/node':
optional: true
dependencies:
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
dev: true
/micromatch/4.0.5:
@@ -7642,8 +7569,8 @@ packages:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: true
- /mixme/0.5.4:
- resolution: {integrity: sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==}
+ /mixme/0.5.5:
+ resolution: {integrity: sha512-/6IupbRx32s7jjEwHcycXikJwFD5UujbVNuJFkeKLYje+92OvtuPniF6JhnFm5JCTDUhS+kYK3W/4BWYQYXz7w==}
engines: {node: '>= 8.0.0'}
dev: true
@@ -7653,7 +7580,7 @@ packages:
acorn: 8.8.2
pathe: 1.1.0
pkg-types: 1.0.2
- ufo: 1.1.0
+ ufo: 1.1.1
dev: true
/mri/1.2.0:
@@ -7725,7 +7652,11 @@ packages:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies:
lower-case: 2.0.2
- tslib: 2.4.1
+ tslib: 2.5.0
+ dev: true
+
+ /node-addon-api/3.2.1:
+ resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==}
dev: true
/node-domexception/1.0.0:
@@ -7770,12 +7701,17 @@ packages:
formdata-polyfill: 4.0.10
dev: false
+ /node-gyp-build/4.6.0:
+ resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==}
+ hasBin: true
+ dev: true
+
/node-int64/0.4.0:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
dev: true
- /node-releases/2.0.8:
- resolution: {integrity: sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==}
+ /node-releases/2.0.10:
+ resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
dev: true
/normalize-package-data/2.5.0:
@@ -7851,7 +7787,7 @@ packages:
dependencies:
destr: 1.2.2
node-fetch-native: 1.0.2
- ufo: 1.1.0
+ ufo: 1.1.1
dev: true
/on-finished/2.3.0:
@@ -8002,7 +7938,7 @@ packages:
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
dependencies:
dot-case: 3.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/parent-module/1.0.1:
@@ -8052,14 +7988,14 @@ packages:
resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
dependencies:
no-case: 3.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/path-case/3.0.4:
resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==}
dependencies:
dot-case: 3.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/path-exists/4.0.0:
@@ -8164,7 +8100,7 @@ packages:
ts-node:
optional: true
dependencies:
- lilconfig: 2.0.6
+ lilconfig: 2.1.0
yaml: 1.10.2
dev: true
@@ -8308,8 +8244,8 @@ packages:
strip-bom: 3.0.0
dev: true
- /readable-stream/3.6.0:
- resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
+ /readable-stream/3.6.1:
+ resolution: {integrity: sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==}
engines: {node: '>= 6'}
dependencies:
inherits: 2.0.4
@@ -8352,7 +8288,7 @@ packages:
/regenerator-transform/0.15.1:
resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==}
dependencies:
- '@babel/runtime': 7.20.13
+ '@babel/runtime': 7.21.0
dev: true
optional: true
@@ -8394,7 +8330,7 @@ packages:
/relay-runtime/12.0.0:
resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==}
dependencies:
- '@babel/runtime': 7.20.13
+ '@babel/runtime': 7.21.0
fbjs: 3.0.4
invariant: 2.2.4
transitivePeerDependencies:
@@ -8475,7 +8411,7 @@ packages:
glob: 7.2.3
dev: true
- /rollup-plugin-visualizer/5.9.0_rollup@3.15.0:
+ /rollup-plugin-visualizer/5.9.0_rollup@3.18.0:
resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==}
engines: {node: '>=14'}
hasBin: true
@@ -8487,25 +8423,25 @@ packages:
dependencies:
open: 8.4.2
picomatch: 2.3.1
- rollup: 3.15.0
+ rollup: 3.18.0
source-map: 0.7.4
- yargs: 17.7.0
+ yargs: 17.7.1
dev: true
optional: true
- /rollup-route-manifest/1.0.0_rollup@3.15.0:
+ /rollup-route-manifest/1.0.0_rollup@3.18.0:
resolution: {integrity: sha512-3CmcMmCLAzJDUXiO3z6386/Pt8/k9xTZv8gIHyXI8hYGoAInnYdOsFXiGGzQRMy6TXR1jUZme2qbdwjH2nFMjg==}
engines: {node: '>=8'}
peerDependencies:
rollup: '>=2.0.0'
dependencies:
- rollup: 3.15.0
+ rollup: 3.18.0
route-sort: 1.0.0
dev: true
optional: true
- /rollup/3.15.0:
- resolution: {integrity: sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==}
+ /rollup/3.18.0:
+ resolution: {integrity: sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
@@ -8601,7 +8537,7 @@ packages:
resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
dependencies:
no-case: 3.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
upper-case-first: 2.0.2
dev: true
@@ -8723,35 +8659,35 @@ packages:
resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
dependencies:
dot-case: 3.0.4
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
- /solid-app-router/0.4.2_solid-js@1.6.9:
+ /solid-app-router/0.4.2_solid-js@1.6.11:
resolution: {integrity: sha512-+NrLcmqYssx8DcbpcLBaYPqfTRtS+rkfbxMhLH8MHfTcTkdZfrkWQK7lsUvuPCebGEzfaPZJvHqBwhPrCXAmxg==}
peerDependencies:
solid-js: ^1.3.5
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
dev: true
- /solid-devtools/0.26.0_g6qi5asgsopwckrc6btee5ag3u:
+ /solid-devtools/0.26.0_juyfzio7agobqr6l64ql2e3ejy:
resolution: {integrity: sha512-YNvdOj2SsAzArmclh5cdCPQNZlDaYp8TsYQWftCGEA7eQ0UJ2dfz+IDEw7KkW6d44tyfd5iUgjDeoht0+B5klA==}
peerDependencies:
solid-js: ^1.6.9
vite: ^2.2.3 || ^3.0.0 || ^4.0.0
dependencies:
- '@babel/core': 7.20.12
- '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12
- '@babel/types': 7.20.7
+ '@babel/core': 7.21.0
+ '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.0
+ '@babel/types': 7.21.2
'@solid-devtools/debugger': 0.21.0_solid-js@1.6.11
'@solid-devtools/shared': 0.11.0_solid-js@1.6.11
- '@solid-primitives/event-bus': 1.0.0_solid-js@1.6.11
+ '@solid-primitives/event-bus': 1.0.1_solid-js@1.6.11
'@solid-primitives/utils': 5.3.0_solid-js@1.6.11
solid-js: 1.6.11
- type-fest: 3.6.0
- vite: 4.1.1_@types+node@18.13.0
+ type-fest: 3.6.1
+ vite: 4.1.4_@types+node@18.14.4
optionalDependencies:
- solid-start: 0.2.21_g6qi5asgsopwckrc6btee5ag3u
+ solid-start: 0.2.22_juyfzio7agobqr6l64ql2e3ejy
transitivePeerDependencies:
- '@solidjs/meta'
- '@solidjs/router'
@@ -8766,12 +8702,12 @@ packages:
- supports-color
dev: true
- /solid-heroicons/3.1.1_solid-js@1.6.9:
+ /solid-heroicons/3.1.1_solid-js@1.6.11:
resolution: {integrity: sha512-wfU/SqxqxWxInvfFlKJfCBPnJ94Zq1GQFiFL3M0KwZzT81lSF5yIC4HA/Czp3DYrn+dUumjO0qdrx8Ab3cy2sA==}
peerDependencies:
solid-js: '>= ^1.2.5'
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
dev: true
/solid-js/1.6.11:
@@ -8779,32 +8715,27 @@ packages:
dependencies:
csstype: 3.1.1
- /solid-js/1.6.9:
- resolution: {integrity: sha512-kV3fMmm+1C2J95c8eDOPKGfZHnuAkHUBLG4hX1Xu08bXeAIPqmxuz/QdH3B8SIdTp3EatBVIyA6RCes3hrGzpg==}
- dependencies:
- csstype: 3.1.1
-
- /solid-map-gl/1.6.4_mapbox-gl@2.12.1:
- resolution: {integrity: sha512-47E059nA7GTfvDCBTGSqGfmXYDQ50AOgvpurY/RB0krT8iErR7rV4LSYehbiI9DloNOHSTr87keWVR2UzxF6rw==}
+ /solid-map-gl/1.6.6_mapbox-gl@2.13.0:
+ resolution: {integrity: sha512-/qW6xBATK/yG05lgq8VDwgh+QajLCf2j2FGDy5XKB/0wf87LLUIrWPo1DHbe4gFGYy+YsMf9koLYW1612YSoQw==}
peerDependencies:
mapbox-gl: ^0.x || ^1.x || ^2.x
dependencies:
- mapbox-gl: 2.12.1
+ mapbox-gl: 2.13.0
dev: true
- /solid-refresh/0.4.2_solid-js@1.6.11:
- resolution: {integrity: sha512-6g1HsgQkY0X0ZmsaydNgHwRaQIhH3bAbagZiYwWnGO7mqli50ehlwQUN18RZ2MH3fTIs9Y1bankZapVhMVuijg==}
+ /solid-refresh/0.5.0_solid-js@1.6.11:
+ resolution: {integrity: sha512-kBsHSjqBUMXD2I7cU/batNE5WlXGiB5Otob9JDx4Zl5+Vt+a5naGxjPf81fg/c4lh++IdX2GF5CORxEcVzyTgg==}
peerDependencies:
solid-js: ^1.3
dependencies:
- '@babel/generator': 7.20.14
+ '@babel/generator': 7.21.1
'@babel/helper-module-imports': 7.18.6
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
solid-js: 1.6.11
dev: true
- /solid-start/0.2.21_g6qi5asgsopwckrc6btee5ag3u:
- resolution: {integrity: sha512-igh1vI6d8sBm9BeGGcJOE7ewEOSlhzmL3f4iVX0bg5oz+9xtqAf1EA0MvNkTLTvq5YKsVKYy80oJmm/xg0F8jw==}
+ /solid-start/0.2.22_juyfzio7agobqr6l64ql2e3ejy:
+ resolution: {integrity: sha512-9SfYRNyXUMzNVBx13nzuOqAGGJdsSG1E6gIM3CRDl0x85Nt+1zQTm74rRsBVMecI2EgI0gFOUEKFVM/dP4x8yA==}
hasBin: true
requiresBuild: true
peerDependencies:
@@ -8838,11 +8769,11 @@ packages:
solid-start-vercel:
optional: true
dependencies:
- '@babel/core': 7.20.12
- '@babel/generator': 7.20.14
- '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
- '@babel/preset-env': 7.20.2_@babel+core@7.20.12
- '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/generator': 7.21.1
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0
+ '@babel/preset-env': 7.20.2_@babel+core@7.21.0
+ '@babel/preset-typescript': 7.21.0_@babel+core@7.21.0
'@babel/template': 7.20.7
'@solidjs/meta': 0.28.2_solid-js@1.6.11
'@solidjs/router': 0.7.0_solid-js@1.6.11
@@ -8860,30 +8791,30 @@ packages:
get-port: 6.1.2
parse-multipart-data: 1.5.0
picocolors: 1.0.0
- rollup: 3.15.0
- rollup-plugin-visualizer: 5.9.0_rollup@3.15.0
- rollup-route-manifest: 1.0.0_rollup@3.15.0
+ rollup: 3.18.0
+ rollup-plugin-visualizer: 5.9.0_rollup@3.18.0
+ rollup-route-manifest: 1.0.0_rollup@3.18.0
sade: 1.8.1
set-cookie-parser: 2.5.1
sirv: 2.0.2
solid-js: 1.6.11
terser: 5.16.5
undici: 5.20.0
- vite: 4.1.1_@types+node@18.13.0
- vite-plugin-inspect: 0.7.15_rollup@3.15.0+vite@4.1.1
- vite-plugin-solid: 2.5.0_solid-js@1.6.11+vite@4.1.1
+ vite: 4.1.4_@types+node@18.14.4
+ vite-plugin-inspect: 0.7.15_rollup@3.18.0+vite@4.1.4
+ vite-plugin-solid: 2.6.1_solid-js@1.6.11+vite@4.1.4
wait-on: 6.0.1_debug@4.3.4
transitivePeerDependencies:
- supports-color
dev: true
optional: true
- /solid-transition-group/0.0.13_solid-js@1.6.9:
+ /solid-transition-group/0.0.13_solid-js@1.6.11:
resolution: {integrity: sha512-VA1V0ip4dsNOQJ/dCluCiAPBUuHspYFm4WYG91jpNmcP4rC4DY1S1EGds44JjiUAP7qEoEZdMhPaiS6lqTF7AA==}
peerDependencies:
solid-js: ^1.5.0
dependencies:
- solid-js: 1.6.9
+ solid-js: 1.6.11
dev: true
/source-map-js/1.0.2:
@@ -8948,7 +8879,7 @@ packages:
/sponge-case/1.0.1:
resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/sprintf-js/1.0.3:
@@ -8979,7 +8910,7 @@ packages:
/stream-transform/2.1.3:
resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==}
dependencies:
- mixme: 0.5.4
+ mixme: 0.5.5
dev: true
/streamsearch/1.1.0:
@@ -9120,7 +9051,7 @@ packages:
/swap-case/2.0.2:
resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/symbol-tree/3.2.4:
@@ -9186,7 +9117,7 @@ packages:
/title-case/3.0.3:
resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/tmp/0.0.33:
@@ -9258,7 +9189,7 @@ packages:
resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==}
dev: true
- /ts-node/10.9.1_4bewfcp2iebiwuold25d6rgcsy:
+ /ts-node/10.9.1_oboltcrkaqheaa54woelu7cdsa:
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
hasBin: true
peerDependencies:
@@ -9277,7 +9208,7 @@ packages:
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.3
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
acorn: 8.8.2
acorn-walk: 8.2.0
arg: 4.1.3
@@ -9293,22 +9224,18 @@ packages:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: true
- /tslib/2.4.1:
- resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
- dev: true
-
/tslib/2.5.0:
resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
dev: true
- /tsup-preset-solid/0.1.8_mpb67xq6yqcmwxkx4udi7xjn6u:
+ /tsup-preset-solid/0.1.8_33jyajmuvhjnhxb7klks6dlycu:
resolution: {integrity: sha512-V5TZFEZY9emACO3AZvKyCRzdoyjUcuMEEbTGcJnCma7OVvGnSNVoewFff9g0CaveJ8cZcC3u2tW9gMaxmPZ71A==}
peerDependencies:
tsup: ^6.5.0
dependencies:
- esbuild-plugin-solid: 0.5.0_53k565wzpp55uni6zxdi7b642e
+ esbuild-plugin-solid: 0.5.0_nthmvwso2kmvm2vudl5hl5hku4
tsup: 6.6.3_typescript@4.9.5
- type-fest: 3.6.0
+ type-fest: 3.6.1
transitivePeerDependencies:
- esbuild
- solid-js
@@ -9331,17 +9258,17 @@ packages:
typescript:
optional: true
dependencies:
- bundle-require: 4.0.1_esbuild@0.17.8
+ bundle-require: 4.0.1_esbuild@0.17.10
cac: 6.7.14
chokidar: 3.5.3
debug: 4.3.4
- esbuild: 0.17.8
+ esbuild: 0.17.10
execa: 5.1.1
globby: 11.1.0
joycon: 3.1.1
postcss-load-config: 3.1.4
resolve-from: 5.0.0
- rollup: 3.15.0
+ rollup: 3.18.0
source-map: 0.8.0-beta.0
sucrase: 3.29.0
tree-kill: 1.2.2
@@ -9372,68 +9299,68 @@ packages:
smartwrap: 2.0.2
strip-ansi: 6.0.1
wcwidth: 1.0.1
- yargs: 17.6.2
+ yargs: 17.7.1
dev: true
- /turbo-darwin-64/1.7.4:
- resolution: {integrity: sha512-ZyYrQlUl8K/mYN1e6R7bEhPPYjMakz0DYMaexkyD7TAijQtWmTSd4a+I7VknOYNEssnUZ/v41GU3gPV1JAzxxQ==}
+ /turbo-darwin-64/1.8.3:
+ resolution: {integrity: sha512-bLM084Wr17VAAY/EvCWj7+OwYHvI9s/NdsvlqGp8iT5HEYVimcornCHespgJS/yvZDfC+mX9EQkn3V2JmYgGGw==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /turbo-darwin-arm64/1.7.4:
- resolution: {integrity: sha512-CKIXg9uqp1a+Yeq/c4U0alPOqvwLUq5SBZf1PGYhGqJsfG0fRBtJfkUjHuBsuJIOGXg8rCmcGSWGIsIF6fqYuw==}
+ /turbo-darwin-arm64/1.8.3:
+ resolution: {integrity: sha512-4oZjXtzakopMK110kue3z/hqu3WLv+eDLZOX1NGdo49gqca9BeD8GbH+sXpAp6tqyeuzpss+PIliVYuyt7LgbA==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /turbo-linux-64/1.7.4:
- resolution: {integrity: sha512-RIUl4RUFFyzD2T024vL7509Ygwcw+SEa8NOwPfaN6TtJHK7RZV/SBP3fLNVOptG9WRLnOWX3OvsLMbiOqDLLyA==}
+ /turbo-linux-64/1.8.3:
+ resolution: {integrity: sha512-uvX2VKotf5PU14FCxJA5iHItPQno2JWzerMd+g3/h/Asay6dvxvtVjc39MQeGT0H5njSvzVKFkT+3/5q8lgOEg==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /turbo-linux-arm64/1.7.4:
- resolution: {integrity: sha512-Bg65F0AjYYYxqE6RPf2H5TIGuA/EyWMeGOATHVSZOWAbYcnG3Ly03GZii8AHnUi7ntWBdjwvXf/QbOS1ayNB6A==}
+ /turbo-linux-arm64/1.8.3:
+ resolution: {integrity: sha512-E1p+oH3XKMaPS4rqWhYsL4j2Pzc0d/9P5KU7Kn1kqVLo2T3iRA7n2KVULEieUNE0nTH+aIJPXYXOpqCI5wFJaA==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /turbo-windows-64/1.7.4:
- resolution: {integrity: sha512-rTaV50XZ2BRxRHOHqt1UsWfeDmYLbn8UKE6g2D2ED+uW+kmnTvR9s01nmlGWd2sAuWcRYQyQ2V+O09VfKPKcQw==}
+ /turbo-windows-64/1.8.3:
+ resolution: {integrity: sha512-cnzAytHtoLXd0J7aNzRpZFpL/GTjcBmkvAPlbOdf/Pl1iwS4qzGrudZQ+OM1lmLgLIfBPIavsGHBknTwTNib4A==}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /turbo-windows-arm64/1.7.4:
- resolution: {integrity: sha512-h8sxdKPvHTnWUPtwnYszFMmSO0P/iUUwmYY9n7iYThA71zSao28UeZ0H0Gw75cY3MPjvkjn2C4EBAUGPjuZJLw==}
+ /turbo-windows-arm64/1.8.3:
+ resolution: {integrity: sha512-ulIiItNm2w/zYJdD5/oAzjzNns1IjbpweRzpsE8tLXaWwo6+fnXXkyloUug0IUhcd2k6fJXfoiDZfygqpOVuXg==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /turbo/1.7.4:
- resolution: {integrity: sha512-8RLedDoUL0kkVKWEZ/RMM70BvKLyDFen06QuKKhYC2XNOfNKqFDqzIdcY/vGick869bNIWalChoy4O07k0HLsA==}
+ /turbo/1.8.3:
+ resolution: {integrity: sha512-zGrkU1EuNFmkq6iky6LcMqD4h0OLE8XysVFxQWRIZbcTNnf0XAycbsbeEyiJpiWeqb7qtg2bVuY9EYcNoNhVuQ==}
hasBin: true
requiresBuild: true
optionalDependencies:
- turbo-darwin-64: 1.7.4
- turbo-darwin-arm64: 1.7.4
- turbo-linux-64: 1.7.4
- turbo-linux-arm64: 1.7.4
- turbo-windows-64: 1.7.4
- turbo-windows-arm64: 1.7.4
+ turbo-darwin-64: 1.8.3
+ turbo-darwin-arm64: 1.8.3
+ turbo-linux-64: 1.8.3
+ turbo-linux-arm64: 1.8.3
+ turbo-windows-64: 1.8.3
+ turbo-windows-arm64: 1.8.3
dev: true
/type-check/0.3.2:
@@ -9480,8 +9407,8 @@ packages:
engines: {node: '>=8'}
dev: true
- /type-fest/3.6.0:
- resolution: {integrity: sha512-RqTRtKTzvPpNdDUp1dVkKQRunlPITk4mXeqFlAZoJsS+fLRn8AdPK0TcQDumGayhU7fjlBfiBjsq3pe3rIfXZQ==}
+ /type-fest/3.6.1:
+ resolution: {integrity: sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA==}
engines: {node: '>=14.16'}
dev: true
@@ -9503,8 +9430,8 @@ packages:
resolution: {integrity: sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==}
dev: true
- /ufo/1.1.0:
- resolution: {integrity: sha512-LQc2s/ZDMaCN3QLpa+uzHUOQ7SdV0qgv3VBXOolQGXTaaZpIur6PwUclF5nN2hNkiTRcUugXd1zFOW3FLJ135Q==}
+ /ufo/1.1.1:
+ resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==}
dev: true
/unbox-primitive/1.0.2:
@@ -9590,32 +9517,32 @@ packages:
normalize-path: 2.1.1
dev: true
- /unocss/0.49.6_rollup@3.15.0+vite@4.1.1:
- resolution: {integrity: sha512-/KAZyGA2Jb/mOzOxxZXji+njY8qAzkKWanOGGyupUqq0f3D4SSBQ/QE9Htn+Gw+4yo6nQLSMCyxBd418C+GSOA==}
+ /unocss/0.49.8_rollup@3.18.0+vite@4.1.4:
+ resolution: {integrity: sha512-/luSwHr8G03/MN8tdb00DKcVnYLviGgg32NFIUHEOeLThBEsU2qFgjwC+c8LGS4+i4mcpiZJwxxCjlbCkqkdGg==}
engines: {node: '>=14'}
peerDependencies:
- '@unocss/webpack': 0.49.6
+ '@unocss/webpack': 0.49.8
peerDependenciesMeta:
'@unocss/webpack':
optional: true
dependencies:
- '@unocss/astro': 0.49.6_rollup@3.15.0+vite@4.1.1
- '@unocss/cli': 0.49.6_rollup@3.15.0
- '@unocss/core': 0.49.6
- '@unocss/preset-attributify': 0.49.6
- '@unocss/preset-icons': 0.49.6
- '@unocss/preset-mini': 0.49.6
- '@unocss/preset-tagify': 0.49.6
- '@unocss/preset-typography': 0.49.6
- '@unocss/preset-uno': 0.49.6
- '@unocss/preset-web-fonts': 0.49.6
- '@unocss/preset-wind': 0.49.6
- '@unocss/reset': 0.49.6
- '@unocss/transformer-attributify-jsx': 0.49.6
- '@unocss/transformer-compile-class': 0.49.6
- '@unocss/transformer-directives': 0.49.6
- '@unocss/transformer-variant-group': 0.49.6
- '@unocss/vite': 0.49.6_rollup@3.15.0+vite@4.1.1
+ '@unocss/astro': 0.49.8_rollup@3.18.0+vite@4.1.4
+ '@unocss/cli': 0.49.8_rollup@3.18.0
+ '@unocss/core': 0.49.8
+ '@unocss/preset-attributify': 0.49.8
+ '@unocss/preset-icons': 0.49.8
+ '@unocss/preset-mini': 0.49.8
+ '@unocss/preset-tagify': 0.49.8
+ '@unocss/preset-typography': 0.49.8
+ '@unocss/preset-uno': 0.49.8
+ '@unocss/preset-web-fonts': 0.49.8
+ '@unocss/preset-wind': 0.49.8
+ '@unocss/reset': 0.49.8
+ '@unocss/transformer-attributify-jsx': 0.49.8
+ '@unocss/transformer-compile-class': 0.49.8
+ '@unocss/transformer-directives': 0.49.8
+ '@unocss/transformer-variant-group': 0.49.8
+ '@unocss/vite': 0.49.8_rollup@3.18.0+vite@4.1.4
transitivePeerDependencies:
- rollup
- supports-color
@@ -9628,17 +9555,6 @@ packages:
dev: true
optional: true
- /update-browserslist-db/1.0.10_browserslist@4.21.4:
- resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.21.4
- escalade: 3.1.1
- picocolors: 1.0.0
- dev: true
-
/update-browserslist-db/1.0.10_browserslist@4.21.5:
resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
hasBin: true
@@ -9649,18 +9565,17 @@ packages:
escalade: 3.1.1
picocolors: 1.0.0
dev: true
- optional: true
/upper-case-first/2.0.2:
resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/upper-case/2.0.2:
resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: true
/uri-js/4.4.1:
@@ -9718,7 +9633,7 @@ packages:
dev: true
optional: true
- /vite-node/0.28.5_@types+node@18.13.0:
+ /vite-node/0.28.5_@types+node@18.14.4:
resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==}
engines: {node: '>=v14.16.0'}
hasBin: true
@@ -9730,7 +9645,7 @@ packages:
picocolors: 1.0.0
source-map: 0.6.1
source-map-support: 0.5.21
- vite: 4.1.1_@types+node@18.13.0
+ vite: 4.1.4_@types+node@18.14.4
transitivePeerDependencies:
- '@types/node'
- less
@@ -9741,62 +9656,63 @@ packages:
- terser
dev: true
- /vite-plugin-inspect/0.7.15_rollup@3.15.0+vite@4.1.1:
+ /vite-plugin-inspect/0.7.15_rollup@3.18.0+vite@4.1.4:
resolution: {integrity: sha512-oxeZCljacA/slhGFbDNlBqdhDU9fgdHL84i7Nz7DnaAIE7DhTiW2djanw3d/BKuZtduKUY82vRUQ4iaG917t2A==}
engines: {node: '>=14'}
peerDependencies:
vite: ^3.1.0 || ^4.0.0
dependencies:
'@antfu/utils': 0.7.2
- '@rollup/pluginutils': 5.0.2_rollup@3.15.0
+ '@rollup/pluginutils': 5.0.2_rollup@3.18.0
debug: 4.3.4
fs-extra: 11.1.0
kolorist: 1.7.0
sirv: 2.0.2
- ufo: 1.1.0
- vite: 4.1.1_@types+node@18.13.0
+ ufo: 1.1.1
+ vite: 4.1.4_@types+node@18.14.4
transitivePeerDependencies:
- rollup
- supports-color
dev: true
optional: true
- /vite-plugin-mkcert/1.13.1_vite@4.1.1:
- resolution: {integrity: sha512-0daZMGEpQDN6LniLn1b9J7IRk2Ddp+euN4Wly/CGe4XkOoB2OHJM7ucpMfSS2MVjfd3GrO1hxyV7Ma0OeTsG7A==}
+ /vite-plugin-mkcert/1.13.3_vite@4.1.4:
+ resolution: {integrity: sha512-cuAbOb6bHyTMhha9YimL6ZB/WoCcFy8d3uaf5n5Ovgybix1yvEu3pxARy2HjC5LJIS1qq6fFXG0+oj6/XMUapA==}
engines: {node: '>=v16.7.0'}
peerDependencies:
vite: '>=3'
dependencies:
'@octokit/rest': 19.0.7
- axios: 1.3.3_debug@4.3.4
+ axios: 1.3.4_debug@4.3.4
debug: 4.3.4
picocolors: 1.0.0
- vite: 4.1.1
+ vite: 4.1.4
transitivePeerDependencies:
- encoding
- supports-color
dev: true
- /vite-plugin-solid/2.5.0_solid-js@1.6.11+vite@4.1.1:
- resolution: {integrity: sha512-VneGd3RyFJvwaiffsqgymeMaofn0IzQLPwDzafTV2f1agoWeeJlk5VrI5WqT9BTtLe69vNNbCJWqLhHr9fOdDw==}
+ /vite-plugin-solid/2.6.1_solid-js@1.6.11+vite@4.1.4:
+ resolution: {integrity: sha512-/khM/ha3B5/pTWQWVJd/0n6ODPIrOcajwhbrD8Gnv37XmJJssu+KA8ssN73raMIicf2eiQKiTAV39w7dSl4Irg==}
peerDependencies:
solid-js: ^1.3.17 || ^1.4.0 || ^1.5.0 || ^1.6.0
vite: ^3.0.0 || ^4.0.0
dependencies:
- '@babel/core': 7.20.12
- '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12
- babel-preset-solid: 1.6.9_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/preset-typescript': 7.21.0_@babel+core@7.21.0
+ '@types/babel__core': 7.20.0
+ babel-preset-solid: 1.6.10_@babel+core@7.21.0
merge-anything: 5.1.4
solid-js: 1.6.11
- solid-refresh: 0.4.2_solid-js@1.6.11
- vite: 4.1.1_@types+node@18.13.0
- vitefu: 0.2.4_vite@4.1.1
+ solid-refresh: 0.5.0_solid-js@1.6.11
+ vite: 4.1.4_@types+node@18.14.4
+ vitefu: 0.2.4_vite@4.1.4
transitivePeerDependencies:
- supports-color
dev: true
- /vite/4.1.1:
- resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==}
+ /vite/4.1.4:
+ resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
@@ -9823,13 +9739,13 @@ packages:
esbuild: 0.16.17
postcss: 8.4.21
resolve: 1.22.1
- rollup: 3.15.0
+ rollup: 3.18.0
optionalDependencies:
fsevents: 2.3.2
dev: true
- /vite/4.1.1_@types+node@18.13.0:
- resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==}
+ /vite/4.1.4_@types+node@18.14.4:
+ resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
@@ -9853,16 +9769,16 @@ packages:
terser:
optional: true
dependencies:
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
esbuild: 0.16.17
postcss: 8.4.21
resolve: 1.22.1
- rollup: 3.15.0
+ rollup: 3.18.0
optionalDependencies:
fsevents: 2.3.2
dev: true
- /vitefu/0.2.4_vite@4.1.1:
+ /vitefu/0.2.4_vite@4.1.4:
resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
peerDependencies:
vite: ^3.0.0 || ^4.0.0
@@ -9870,7 +9786,7 @@ packages:
vite:
optional: true
dependencies:
- vite: 4.1.1_@types+node@18.13.0
+ vite: 4.1.4_@types+node@18.14.4
dev: true
/vitest/0.28.5_jsdom@21.1.0:
@@ -9897,7 +9813,7 @@ packages:
dependencies:
'@types/chai': 4.3.4
'@types/chai-subset': 1.3.3
- '@types/node': 18.13.0
+ '@types/node': 18.14.4
'@vitest/expect': 0.28.5
'@vitest/runner': 0.28.5
'@vitest/spy': 0.28.5
@@ -9917,8 +9833,8 @@ packages:
tinybench: 2.3.1
tinypool: 0.3.1
tinyspy: 1.1.1
- vite: 4.1.1_@types+node@18.13.0
- vite-node: 0.28.5_@types+node@18.13.0
+ vite: 4.1.4_@types+node@18.14.4
+ vite-node: 0.28.5_@types+node@18.14.4
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
@@ -10207,21 +10123,8 @@ packages:
yargs-parser: 18.1.3
dev: true
- /yargs/17.6.2:
- resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==}
- engines: {node: '>=12'}
- dependencies:
- cliui: 8.0.1
- escalade: 3.1.1
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- string-width: 4.2.3
- y18n: 5.0.8
- yargs-parser: 21.1.1
- dev: true
-
- /yargs/17.7.0:
- resolution: {integrity: sha512-dwqOPg5trmrre9+v8SUo2q/hAwyKoVfu8OC1xPHKJGNdxAvPl4sKxL4vBnh3bQz/ZvvGAFeA5H3ou2kcOY8sQQ==}
+ /yargs/17.7.1:
+ resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==}
engines: {node: '>=12'}
dependencies:
cliui: 8.0.1
From 4ceb3865d41e8a6713b3bb9f89934f4c925229a0 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Thu, 2 Mar 2023 23:11:31 +0100
Subject: [PATCH 24/33] Ensure SSR support for `resolveElements` and
`resolveFirst`.
---
.changeset/khaki-geckos-punch.md | 2 +
packages/refs/package.json | 43 +++++-
packages/refs/src/index.ts | 24 +++-
packages/refs/test/index.test.ts | 207 +++++-----------------------
packages/refs/test/server.test.tsx | 29 ++++
packages/transition-group/README.md | 16 ++-
6 files changed, 139 insertions(+), 182 deletions(-)
create mode 100644 packages/refs/test/server.test.tsx
diff --git a/.changeset/khaki-geckos-punch.md b/.changeset/khaki-geckos-punch.md
index a2a0b1c00..4f3293abb 100644
--- a/.changeset/khaki-geckos-punch.md
+++ b/.changeset/khaki-geckos-punch.md
@@ -9,3 +9,5 @@ Major API changes. Bump stage to 2.
Add `getResolvedElements`, `resolveElements`, `getFirstChild` and `resolveFirst` primitives.
Improve `mergeRefs` to allow an array of refs to be passed in.
+
+Ensure SSR support for `resolveElements` and `resolveFirst`.
diff --git a/packages/refs/package.json b/packages/refs/package.json
index 69012dcc0..208df0b3e 100644
--- a/packages/refs/package.json
+++ b/packages/refs/package.json
@@ -27,21 +27,53 @@
"dist"
],
"type": "module",
- "main": "./dist/index.cjs",
- "module": "./dist/index.js",
+ "main": "./dist/server.cjs",
+ "module": "./dist/server.js",
"types": "./dist/index.d.ts",
- "browser": {},
+ "browser": {
+ "./dist/server.js": "./dist/index.js",
+ "./dist/server.cjs": "./dist/index.cjs"
+ },
"exports": {
+ "worker": {
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/server.js"
+ },
+ "require": "./dist/server.cjs"
+ },
+ "browser": {
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/index.js"
+ },
+ "require": "./dist/index.cjs"
+ },
+ "deno": {
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/server.js"
+ },
+ "require": "./dist/server.cjs"
+ },
+ "node": {
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/server.js"
+ },
+ "require": "./dist/server.cjs"
+ },
"import": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
},
"require": "./dist/index.cjs"
},
+ "typesVersions": {},
"scripts": {
"dev": "vite serve dev",
"page": "vite build dev",
- "build": "jiti ../../scripts/build.ts",
+ "build": "jiti ../../scripts/build.ts --ssr",
"test": "vitest -c ../../configs/vitest.config.ts",
"test:ssr": "pnpm run test --mode ssr"
},
@@ -61,6 +93,5 @@
},
"peerDependencies": {
"solid-js": "^1.6.0"
- },
- "typesVersions": {}
+ }
}
diff --git a/packages/refs/src/index.ts b/packages/refs/src/index.ts
index 5af0e4f97..7b2f292ad 100644
--- a/packages/refs/src/index.ts
+++ b/packages/refs/src/index.ts
@@ -44,6 +44,16 @@ export function mergeRefs(...refs: Ref[]): (el: T) => void {
return chain(refs as ((el: T) => void)[]);
}
+/**
+ * Default predicate used in `resolveElements()` and `resolveFirst()` to filter Elements.
+ *
+ * On the client it uses `instanceof Element` check, on the server it checks for the object with `t` property. (generated by compiling JSX)
+ */
+export const defaultElementPredicate: (item: JSX.Element | Element) => item is Element = process.env
+ .SSR
+ ? (item): item is Element => item != null && typeof item === "object" && "t" in item
+ : (item): item is Element => item instanceof Element;
+
/**
* Utility for resolving recursively nested JSX children to a single element or an array of elements using a predicate.
*
@@ -84,6 +94,7 @@ export type ResolveChildrenReturn = Accessor &
* // default predicate
* (item: JSX.Element): item is Element => item instanceof Element
* ```
+ * @param serverPredicate predicate to filter elements on server. {@link defaultElementPredicate}
* @returns Signal of a single element or an array of elements or `null` if no elements were found
* ```ts
* Accessor & { toArray: () => T[] }
@@ -102,14 +113,16 @@ export function resolveElements(fn: Accessor): ResolveChildrenRetur
export function resolveElements(
fn: Accessor,
predicate: (item: JSX.Element | T) => item is T,
+ serverPredicate?: (item: JSX.Element | T) => item is T,
): ResolveChildrenReturn;
export function resolveElements(
fn: Accessor,
- predicate = (item: unknown | Element): item is Element => item instanceof Element,
+ predicate = defaultElementPredicate,
+ serverPredicate = defaultElementPredicate,
): ResolveChildrenReturn {
const children = createMemo(fn);
const memo = createMemo(() =>
- getResolvedElements(children(), predicate),
+ getResolvedElements(children(), process.env.SSR ? serverPredicate : predicate),
) as ResolveChildrenReturn;
memo.toArray = () => {
const value = memo();
@@ -150,6 +163,7 @@ export function getFirstChild(
* // default predicate
* (item: JSX.Element): item is Element => item instanceof Element
* ```
+ * @param serverPredicate predicate to filter elements on server. {@link defaultElementPredicate}
* @returns Signal of a single found element or `null` if no elements were found
* ```ts
* Accessor
@@ -166,13 +180,15 @@ export function resolveFirst(fn: Accessor): Accessor(
fn: Accessor,
predicate: (item: JSX.Element | T) => item is T,
+ serverPredicate?: (item: JSX.Element | T) => item is T,
): Accessor;
export function resolveFirst(
fn: Accessor,
- predicate = (item: JSX.Element | Element): item is Element => item instanceof Element,
+ predicate = defaultElementPredicate,
+ serverPredicate = defaultElementPredicate,
): Accessor {
const children = createMemo(fn);
- return createMemo(() => getFirstChild(children(), predicate));
+ return createMemo(() => getFirstChild(children(), process.env.SSR ? serverPredicate : predicate));
}
/**
diff --git a/packages/refs/test/index.test.ts b/packages/refs/test/index.test.ts
index b28f5f95a..e6c2d153e 100644
--- a/packages/refs/test/index.test.ts
+++ b/packages/refs/test/index.test.ts
@@ -1,40 +1,12 @@
import { describe, test, expect } from "vitest";
import { createRoot, createSignal } from "solid-js";
-import { push, remove, removeItems } from "@solid-primitives/immutable";
-import { elements, resolveElements } from "../src";
+import { removeItems } from "@solid-primitives/immutable";
+import { elements, getResolvedElements, resolveElements } from "../src";
const el1 = document.createElement("div");
const el2 = document.createElement("span");
const el3 = document.createElementNS("http://www.w3.org/2000/svg", "svg");
const el4 = document.createElement("h1");
-const el5 = document.createElement("h1");
-
-describe("get changes helpers", () => {
- test("getAddedItems", () => {
- const from = Array.from({ length: 5 }, () => new Date());
- const add = Array.from({ length: 2 }, () => new Date());
- const to = [from[0], from[1], add[0], from[3], add[1]];
- const added = getAddedItems(from, to);
- expect(added).toEqual(add);
- });
-
- test("getRemovedItems", () => {
- const from = Array.from({ length: 5 }, () => new Date());
- const add = Array.from({ length: 2 }, () => new Date());
- const to = [from[0], from[1], add[0], from[3], add[1]];
- const removed = getRemovedItems(from, to);
- expect(removed).toEqual([from[2], from[4]]);
- });
-
- test("getChangedItems", () => {
- const from = Array.from({ length: 5 }, () => new Date());
- const add = Array.from({ length: 2 }, () => new Date());
- const to = [from[0], from[1], add[0], from[3], add[1]];
- const [added, removed] = getChangedItems(from, to);
- expect(removed).toEqual([from[2], from[4]]);
- expect(added).toEqual(add);
- });
-});
describe("elements()", () => {
test("get a signal of elements array", () =>
@@ -64,135 +36,6 @@ describe("elements()", () => {
}));
});
-describe("refs()", () => {
- test("returned signals reflect changes to source", () => {
- const _source = [undefined, el2, el1, "HELLO", el3];
- const [source, setSource] = createSignal(_source);
-
- const [els, added, removed] = refs(source);
- expect(els()).toEqual([el2, el1, el3]);
- expect(added()).toEqual([el2, el1, el3]);
- expect(removed()).toEqual([]);
-
- setSource(p => [...p, el4]);
- expect(els()).toEqual([el2, el1, el3, el4]);
- expect(added()).toEqual([el4]);
- expect(removed()).toEqual([]);
-
- setSource(p => removeItems(p, el1, el2, undefined));
- expect(els(), "3 1").toEqual([el3, el4]);
- expect(added(), "3 2").toEqual([]);
- expect(removed(), "3 3").toEqual([el2, el1]);
- });
-});
-
-describe("mapRemoved()", () => {
- test("mapFn get's called on each item remove", () =>
- createRoot(dispose => {
- const _source = [el2, el1, el2, el3, el4];
- const [source, setSource] = createSignal(_source);
-
- const captured_els: Element[] = [];
- mapRemoved(source, el => {
- captured_els.push(el);
- });
- expect(captured_els.length).toBe(0);
-
- setSource(p => remove(p, el3));
- expect(captured_els).toEqual([el3]);
-
- setSource(p => remove(p, el2));
- expect(captured_els).toEqual([el3]);
-
- setSource(p => removeItems(p, el2, el1));
- expect(captured_els).toEqual([el3, el1, el2]);
-
- dispose();
- }));
-
- test("returns combined array", () =>
- createRoot(dispose => {
- const _source = [el1, el2, el3, el5];
- const [source, setSource] = createSignal(_source);
-
- let returns = true;
- const res = mapRemoved(source, el => (returns ? () => el : undefined));
-
- setSource(p => remove(p, el3));
- expect(res()).toEqual([el1, el2, el3, el5]);
-
- returns = false;
- setSource(p => remove(p, el2));
- expect(res()).toEqual([el1, el3, el5]);
-
- setSource(p => push(p, el4));
- expect(res()).toEqual([el1, el3, el5, el4]);
-
- setSource(() => [el4, el5, el1]);
- expect(res()).toEqual([el4, el3, el5, el1]);
-
- dispose();
- }));
-
- test("removeing saved element", () =>
- createRoot(dispose => {
- const _source = [el1, el2, el3, el5];
- const [source, setSource] = createSignal(_source);
- const fns: VoidFunction[] = [];
-
- const res = mapRemoved(source, ref => {
- const [el, setEl] = createSignal(ref);
- fns.push(() => setEl(undefined));
- return el;
- });
-
- setSource(p => remove(p, el3));
- expect(res()).toEqual([el1, el2, el3, el5]);
-
- fns.forEach(fn => fn());
- expect(res()).toEqual([el1, el2, el5]);
-
- setSource(p => removeItems(p, el2, el1));
- expect(res()).toEqual([el1, el2, el5]);
-
- fns.forEach(fn => fn());
- expect(res()).toEqual([el5]);
-
- dispose();
- }));
-
- test("index signal", () =>
- createRoot(dispose => {
- const _source = [el1, el2, el3, el5];
- const [source, setSource] = createSignal(_source);
- const saved = new Map number>();
-
- let returns = true;
- mapRemoved(source, (el, index) => {
- saved.set(el, index);
- return returns ? () => el : undefined;
- });
-
- setSource(p => remove(p, el3));
- expect(saved.get(el3)!()).toBe(2);
-
- returns = false;
- setSource(p => remove(p, el2));
- expect(saved.get(el3)!()).toBe(1);
-
- setSource(p => [el4, ...p]);
- expect(saved.get(el3)!()).toBe(2);
-
- setSource([]);
- expect(saved.get(el3)!()).toBe(0);
-
- setSource([el1, el2, el4, el5]);
- expect(saved.get(el3)!()).toBe(0);
-
- dispose();
- }));
-});
-
describe("resolveElements", () => {
test("resolves elements", () => {
const el1 = document.createElement("div");
@@ -202,18 +45,42 @@ describe("resolveElements", () => {
const el5 = document.createElement("div");
const el6 = document.createElement("div");
- expect(resolveElements(el1)).toEqual(el1);
- expect(resolveElements("hello")).toEqual(null);
- expect(resolveElements(() => el1)).toBe(el1);
- expect(resolveElements([el1, () => undefined])).toEqual([el1]);
+ const predicate = (el: unknown | Element): el is Element => el instanceof Element;
+
+ expect(getResolvedElements(el1, predicate)).toEqual(el1);
+ expect(getResolvedElements("hello", predicate)).toEqual(null);
+ expect(getResolvedElements(() => el1, predicate)).toBe(el1);
+ expect(getResolvedElements([el1, () => undefined], predicate)).toEqual([el1]);
expect(
- resolveElements([
- el1,
- () => undefined,
- () => () => el2,
- [el3, () => el4, () => 123, (a: number) => el5],
- el6,
- ]),
+ getResolvedElements(
+ [
+ el1,
+ () => undefined,
+ () => () => el2,
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ [el3, () => el4, () => 123, ((_: number) => el5) as any],
+ el6,
+ ],
+ predicate,
+ ),
).toEqual([el1, el2, el3, el4, el6]);
});
+
+ test("returned signals reflect changes to source", () => {
+ createRoot(dispose => {
+ const _source = [undefined, el2, el1, "HELLO", el3];
+ const [source, setSource] = createSignal(_source);
+
+ const els = resolveElements(source);
+ expect(els()).toEqual([el2, el1, el3]);
+
+ setSource(p => [...p, el4]);
+ expect(els()).toEqual([el2, el1, el3, el4]);
+
+ setSource(p => removeItems(p, el1, el2, undefined));
+ expect(els(), "3 1").toEqual([el3, el4]);
+
+ dispose();
+ });
+ });
});
diff --git a/packages/refs/test/server.test.tsx b/packages/refs/test/server.test.tsx
new file mode 100644
index 000000000..77006a123
--- /dev/null
+++ b/packages/refs/test/server.test.tsx
@@ -0,0 +1,29 @@
+import { renderToString } from "solid-js/web";
+import { describe, expect, test } from "vitest";
+import { resolveElements, resolveFirst } from "../src";
+
+describe("SSR", () => {
+ test("resolveElements", () => {
+ const resolved = resolveElements(() => (
+ <>
+ hello
+ world
+ {() => nested
}
+ >
+ ));
+ const string = renderToString(resolved);
+ expect(string).toBe("hello
world nested
");
+ });
+
+ test("resolveFirst", () => {
+ const resolved = resolveFirst(() => (
+ <>
+ hello
+ world
+ {() => nested
}
+ >
+ ));
+ const string = renderToString(resolved);
+ expect(string).toBe("hello
");
+ });
+});
diff --git a/packages/transition-group/README.md b/packages/transition-group/README.md
index 7f49b7354..3d5733e01 100644
--- a/packages/transition-group/README.md
+++ b/packages/transition-group/README.md
@@ -85,7 +85,7 @@ import { children } from "solid-js";
import { createSwitchTransition } from "@solid-primitives/transition-group";
const resolved = children(() => props.children);
-const filtered = createMemo(() => resolved.asArray().find(el => el instanceof HTMLElement));
+const filtered = createMemo(() => resolved.toArray().find(el => el instanceof HTMLElement));
return createSwitchTransition(filtered, {
/*...*/
});
@@ -166,12 +166,24 @@ import { children } from "solid-js";
import { createListTransition } from "@solid-primitives/transition-group";
const resolved = children(() => props.children);
-const filtered = createMemo(() => resolved.asArray().filter(el => el instanceof HTMLElement));
+const filtered = createMemo(() => resolved.toArray().filter(el => el instanceof HTMLElement));
return createListTransition(filtered, {
/*...*/
});
```
+Or use a `resolveElements` helper from `@solid-primitives/refs`
+
+```ts
+import { resolveElements } from "@solid-primitives/refs";
+import { createSwitchTransition } from "@solid-primitives/transition-group";
+
+const resolved = resolveElements(() => props.children);
+return createListTransition(resolved, {
+ /*...*/
+});
+```
+
## Demo
Deployed example:
From 5b7ab13d4be1998ea0d02c79ebf902772e6364e1 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Fri, 3 Mar 2023 09:46:50 +0100
Subject: [PATCH 25/33] Update `refs` docs
---
.changeset/khaki-geckos-punch.md | 4 +-
packages/refs/README.md | 325 ++++++++-----------------------
packages/refs/dev/index.tsx | 5 -
packages/refs/dev/refs.tsx | 100 ----------
packages/refs/package.json | 5 +-
packages/refs/src/index.ts | 30 +--
packages/refs/test/index.test.ts | 30 +--
pnpm-lock.yaml | 2 +-
8 files changed, 89 insertions(+), 412 deletions(-)
delete mode 100644 packages/refs/dev/refs.tsx
diff --git a/.changeset/khaki-geckos-punch.md b/.changeset/khaki-geckos-punch.md
index 4f3293abb..4f888766a 100644
--- a/.changeset/khaki-geckos-punch.md
+++ b/.changeset/khaki-geckos-punch.md
@@ -4,10 +4,12 @@
Major API changes. Bump stage to 2.
-`mapRemoved`, `Refs`, `Ref`, `unmount`, `refs`, `getChangedItems`, `getAddedItems` and `getRemovedItems` has been removed.
+`mapRemoved`, `Refs`, `Ref`, `unmount`, `refs`, `elements`, `getChangedItems`, `getAddedItems` and `getRemovedItems` has been removed.
Add `getResolvedElements`, `resolveElements`, `getFirstChild` and `resolveFirst` primitives.
Improve `mergeRefs` to allow an array of refs to be passed in.
Ensure SSR support for `resolveElements` and `resolveFirst`.
+
+Removes `"@solid-primitives/immutable"` dependency.
diff --git a/packages/refs/README.md b/packages/refs/README.md
index ff0b2c156..2c829baba 100644
--- a/packages/refs/README.md
+++ b/packages/refs/README.md
@@ -13,209 +13,131 @@ Collection of primitives, components and directives that help managing reference
##### Primitives:
-- [`mergeRefs`](#mergeRefs) - Utility for using jsx refs both for local variables and providing it to the `props.ref` for component consumers.
-- [`elements`](#elements) - Reactive signal that filters out non-element items from a signal array. _(Can be used with `children` primitive)_
-- [`refs`](#refs) - Get signal references to Elements of the reactive input. Which were added, which were removed. _(Can be used with `children` primitive)_
-- [`mapRemoved`](#mapRemoved) - Similar to Solid's `mapArray`, but you map the elements that were removed from source array. Leting you keep them for longer.
-- [`resolveElements`](#resolveElements) — Will resolve value to a flat list of HTML elements or a single element or `null`.
-
-##### Directive:
-
-- [`unmount`](#unmount) - A directive that calls handler when the element get's unmounted from DOM.
-
-##### Components:
-
-- [``](#children) - Solid's `children` helper in component form. Access it's children elements by `get` property.
-- [``](#refs-1) - Get up-to-date references of the multiple children elements.
-- [`[`](#ref) - Get up-to-date reference to a single child element.
-
-##### Types:
-
-- [`RefProps`](#RefProps) - Component properties with types for `ref`
-- [`ResolvedChildren`](#ResolvedChildren) - Type of resolved JSX elements provided by Solid's `children` helper.
-
-##### Vanilla helpers:
-
-- `getChangedItems` - Tells you which elements got added to the array, and which got removed
-- `getAddedItems` - Tells you elements got added to the array
-- `getRemovedItems` - Tells you which elements got removed from the array
+- [`mergeRefs`](#mergeRefs) - Utility for chaining multiple `ref` assignments with `props.ref` forwarding.
+- [`resolveElements`](#resolveElements) - Utility for resolving recursively nested JSX children to a single element or an array of elements.
+- [`resolveFirst`](#resolveFirst) - Utility for resolving recursively nested JSX children in search of the first element that matches a predicate.
+- [`Children`](#Children) - Solid's `children` helper in component form. Access it's children elements by `get` property.
## Installation
```bash
npm install @solid-primitives/refs
# or
+pnpm add @solid-primitives/refs
+# or
yarn add @solid-primitives/refs
```
-## Primitives
-
----
-
-### `mergeRefs`
+## `mergeRefs`
-Utility for using jsx refs both for local variables and providing it to the `props.ref` for component consumers.
+Utility for chaining multiple `ref` assignments with `props.ref` forwarding.
-#### How to use it
+### How to use it
```tsx
-import { mergeRefs } from "@solid-primitives/refs";
+import { mergeRefs, Ref } from "@solid-primitives/refs";
interface ButtonProps {
- ref?: HTMLButtonElement | ((el: HTMLButtonElement) => void);
+ ref?: Ref];
}
-const Button = (props: ButtonProps) => {
- let ref!: HTMLButtonElement;
+function Button(props: ButtonProps) {
+ let ref: HTMLButtonElement | undefined;
onMount(() => {
// use the local ref
});
- return (ref = el), props.ref)} />;
-};
+
+ return (ref = el))} />;
+}
// in consumer's component:
-let ref!: HTMLButtonElement;
+let ref: HTMLButtonElement | undefined;
;
```
-### `elements`
-
-Reactive signal that filters out non-element items from a signal array. _(Can be used with `children` primitive)_
-
-#### How to use it
-
-```ts
-import { elements } from "@solid-primitives/refs";
-
-const resolved = children(() => props.children);
-const els = elements(resolved);
-els(); // T: Element[]
-
-// or narrow down the element type
-const divs = elements(resolved, HTMLDivElement);
-divs(); // T: HTMLDivElement[]
-```
-
-### `refs`
+## `resolveElements`
-Get signal references to Elements of the reactive input. Which were added, which were removed. _(Can be used with `children` primitive)_
+Utility for resolving recursively nested JSX children to a single element or an array of elements using a predicate.
-Used internally by [``](#) component.
+### How to use it
-#### How to use it
+`resolveElements`'s API is similar to Solid's `children` helper. It accepts a function that returns JSX children and a predicate function that filters the elements.
-```ts
-import { refs } from "@solid-primitives/refs";
-
-const resolved = children(() => props.children);
-const [els, added, removed] = refs(resolved);
-els(); // T: Element[]
-added(); // T: Element[]
-removed(); // T: Element[]
-
-// or narrow down the element type
-const [els, added, removed] = refs(resolved, HTMLDivElement);
-els(); // T: HTMLDivElement[]
-added(); // T: HTMLDivElement[]
-removed(); // T: HTMLDivElement[]
+```tsx
+function Button(props: ParentProps) {
+ const children = resolveElements(() => props.children);
+ // ^?: Accessor
+
+ return (
+ // Similarly to `children` helper, a `toArray` method is available
+
+ {child => (
+
+ {child.localName}: {child}
+
+ )}
+
+ );
+}
```
-### `mapRemoved`
-
-Reactively map removed items from a reactive signal array. If the mapping function return an element signal, this element will be placed in the array returned from primitive.
-
-#### How to use it
-
-```ts
-import { mapRemoved } from "@solid-primitives/refs";
-
-const MyComp = props => {
- const resolved = children(() => props.children);
-
- const combined = mapRemoved(resolved, (ref, index) => {
- const [el, setEl] = createSignal(ref);
-
- // apply styles/animations to removed element
- ref.style.filter = "grayscale(100%)";
+### Using a custom predicate
- // computations can be created inside the mapping fn
- createEffect(() => {
- // index is a signal
- index();
- });
+The default predicate is `el => el instanceof Element`. You can provide a custom predicate to `resolveElements` to filter the elements.
- const remove = () => {
- // ...later
- // by setting returned signal to undefined
- // element get's removed from combined array permanently
- setEl(undefined);
- };
-
- // you can return a signal with element to keep it in the combined array
- return el;
- });
+```tsx
+const els = resolveElements(
+ () => props.children,
+ (el): el is HTMLDivElement => el instanceof HTMLDivElement,
+);
- return combined;
-};
+els(); // => HTMLDivElement | HTMLDivElement[] | null
```
-### `resolveElements`
+On the server side the custom predicate will be ignored, but can be overridden by passing it as a third argument.
-Similarly to `children()` helper from `solid-js` will resolve provided value to a flat list of HTML elements or a single element or `null`. But doesn't create a computation.
-
-```ts
-import { resolveElements } from "@solid-primitives/refs";
+The default predicate can be imported from `@solid-primitives/refs`:
-const MyComponent: ParentComponent = props => {
- createEffect(() => {
- const resolved = resolveElements(props.children);
- resolved; // T: HTMLElement | HTMLElement[] | null
- });
- return "Don't access props.children here again — it'll create new dom nodes";
-};
+```tsx
+import { defaultElementPredicate } from "@solid-primitives/refs";
```
-## Directive
-
----
+On the client it uses `instanceof Element` check, on the server it checks for the object with `t` property. (generated by compiling JSX)
-### `unmount`
+## `resolveFirst`
-A directive that calls handler when the element get's unmounted from DOM.
+Utility for resolving recursively nested JSX children in search of the first element that matches a predicate.
-#### Import
+### How to use it
-```ts
-import { unmount } from "@solid-primitives/refs";
-// place it somewhere in the code to prevent it from being tree-shaken
-unmount;
-```
-
-#### How to use it
+`resolveFirst` matches the API of [`resolveElements`](#resolveElements) but returns only the first element that matches the predicate.
```tsx
-const [ref, setRef] = createSignal();
-
- setRef(el)} use:unmount={() => setRef(undefined)}>
- Hello
-
;
+function Button(props: ParentProps) {
+ const child = resolveFirst(() => props.children);
+ // ^?: Accessor
+
+ return (
+
+ {child()?.localName}: {child()}
+
+ );
+}
```
-## Components
+`resolveFirst` also accepts a custom predicate as a second argument. See [`Using a custom predicate`](#using-a-custom-predicate) section for more details.
----
-
-### ``
+## ``
Solid's `children` helper in component form. Access it's children elements by `get` property.
-#### How to use it
+### How to use it
```tsx
-import {Children, ResolvedJSXElement} from "@solid-primitives/refs"
+import { Children, ResolvedChildren } from "@solid-primitives/refs"
// typing as JSX.Element also works
-const [children, setChildren] = createSignal([])
+const [children, setChildren] = createSignal([])
@@ -223,99 +145,6 @@ const [children, setChildren] = createSignal([])
```
-### `[`
-
-Get up-to-date reference to a single child element.
-
-#### Import
-
-```ts
-import { Ref } from "@solid-primitives/refs";
-```
-
-#### How to use it
-
-`][` accepts these properties:
-
-- `ref` - Getter of current element _(or `undefined` if not mounted)_
-- `onMount` - handle the child element getting mounted to the dom
-- `onUnmount` - handle the child element getting unmounted from the dom
-
-```tsx
-const [ref, setRef] = createSignal]();
-
-[ console.log("Mounted", el)}
- onUnmount={el => console.log("Unmounted", el)}
->
- ]
- Hello
-
-;
-```
-
-##### Providing generic Element type
-
-```tsx
-[
- ref={el => {...}} // HTMLDivElement | undefined
- onMount={el => {...}} // HTMLDivElement
- onUnmount={el => {...}} // HTMLDivElement
->
- ]Hello
-
-```
-
-### ``
-
-Get up-to-date references of the multiple children elements.
-
-#### Import
-
-```ts
-import { Refs } from "@solid-primitives/refs";
-```
-
-#### How to use it
-
-`` accepts these properties:
-
-- `refs` - Getter of current array of elements
-- `added` - Getter of added elements since the last change
-- `removed` - Getter of removed elements since the last change
-- `onChange` - handle children changes
-
-```tsx
-const [refs, setRefs] = createSignal([]);
-
- console.log("Added elements", els)}
- removed={els => console.log("Removed elements", els)}
- onChange={e => console.log(e)}
->
- {item => {item}
}
-
- Hello
-
- ;
-```
-
-##### Providing generic Element type
-
-```tsx
-
- refs={els => {}} // HTMLDivElement[]
- added={els => {}} // HTMLDivElement[]
- removed={els => {}} // HTMLDivElement[]
- // { refs: HTMLDivElement[]; added: HTMLDivElement[]; removed: HTMLDivElement[] }
- onChange={e => {}}
->
- Hello
-
-```
-
#### Demo
https://stackblitz.com/edit/solid-vite-unocss-bkbgap?file=index.tsx
@@ -324,22 +153,22 @@ https://stackblitz.com/edit/solid-vite-unocss-bkbgap?file=index.tsx
## Types
-### `RefProps`
+### `Ref`
-Component properties with types for `ref`
+Type for the `ref` prop
```ts
-interface RefProps {
- ref?: T | ((el: T) => void);
-}
+export type Ref = T | ((el: T) => void) | undefined;
```
-### `ResolvedChildren`
+### `RefProps`
-Type of resolved JSX elements provided by Solid's `children` helper.
+Component properties with types for `ref` prop
```ts
-type ResolvedChildren = ResolvedJSXElement | ResolvedJSXElement[];
+interface RefProps {
+ ref?: Ref;
+}
```
## Changelog
diff --git a/packages/refs/dev/index.tsx b/packages/refs/dev/index.tsx
index 4eb068643..da95935f3 100644
--- a/packages/refs/dev/index.tsx
+++ b/packages/refs/dev/index.tsx
@@ -4,7 +4,6 @@ import { Router, Routes, Route, Link } from "solid-app-router";
import "uno.css";
const Key = lazy(() => import("./key"));
-const Refs = lazy(() => import("./refs"));
const App: Component = () => {
return (
@@ -13,16 +12,12 @@ const App: Component = () => {
reload
-
- /refs
-
/key
- } />
} />
diff --git a/packages/refs/dev/refs.tsx b/packages/refs/dev/refs.tsx
deleted file mode 100644
index 47eb82377..000000000
--- a/packages/refs/dev/refs.tsx
+++ /dev/null
@@ -1,100 +0,0 @@
-import { children, ParentComponent } from "solid-js";
-import { elements, mapRemoved, unmount } from "../src";
-import { Component, createSignal, For, Show } from "solid-js";
-import { createCallbackStack } from "@solid-primitives/utils";
-unmount;
-
-const Keep: ParentComponent<{
- getClear?: (fn: VoidFunction) => void;
-}> = props => {
- const resolved = children(() => props.children);
- const refs = elements(resolved, HTMLElement);
- const stack = createCallbackStack();
- props.getClear?.(stack.execute);
- const combined = mapRemoved(refs, (ref, i) => {
- const [el, setEl] = createSignal(ref);
- console.log("REMOVED", i());
- stack.push(() => setEl(undefined));
- ref!.style.filter = "grayscale(100%)";
- ref!.style.position = "relative";
- ref!.appendChild(({i()}
) as Element);
-
- ref!.addEventListener("click", () => setEl(undefined));
-
- return el;
- });
- return combined;
-};
-
-const App: Component = () => {
- const [show, setShow] = createSignal(false);
- const [show1, setShow1] = createSignal(false);
- const [show2, setShow2] = createSignal(true);
- const [showWrapper, setShowWrapper] = createSignal(true);
- const [count, setCount] = createSignal(5);
-
- const [refs, setRefs] = createSignal([]);
-
- const [dummy, setDummy] = createSignal(0);
- setInterval(() => setDummy(p => ++p), 1000);
-
- let clear!: VoidFunction;
-
- return (
- <>
- Elements count: {refs().length}
-
- setCount(p => ++p)}>
- + 1
-
- setCount(p => --p)}>
- - 1
-
- setShow(p => !p)}>
- toggle 0
-
- setShow1(p => !p)}>
- toggle 1
-
- setShow2(p => !p)}>
- toggle 2 & 3
-
- setShowWrapper(p => !p)}>
- toggle wrapper
-
- clear()}>
- clear
-
-
-
- {/*
console.log(e)} refs={setRefs}> */}
- (clear = fn)}>
-
- Hello
- World
- {show() && ID 0
}
- {/* [
- ref={el => console.log(el)}
- onMount={el => console.log("Mounted", el)}
- > */}
- ]
- ID 1
-
- {/* */}
-
- console.log("Unmounted", el)}>
- ID 2
-
- ID 3
-
- i)}>
- {i => {i + 1}.
}
-
-
-
- {/* */}
-
- >
- );
-};
-export default App;
diff --git a/packages/refs/package.json b/packages/refs/package.json
index 208df0b3e..e6711b791 100644
--- a/packages/refs/package.json
+++ b/packages/refs/package.json
@@ -16,7 +16,6 @@
"mergeRefs",
"resolveElements",
"resolveFirst",
- "elements",
"Children"
],
"category": "Control Flow"
@@ -84,12 +83,12 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/immutable": "^0.1.7",
"@solid-primitives/utils": "^5.2.1"
},
"devDependencies": {
"solid-app-router": "^0.4.2",
- "solid-transition-group": "^0.0.13"
+ "solid-transition-group": "^0.0.13",
+ "@solid-primitives/immutable": "^0.1.7"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/refs/src/index.ts b/packages/refs/src/index.ts
index 7b2f292ad..f66fb269c 100644
--- a/packages/refs/src/index.ts
+++ b/packages/refs/src/index.ts
@@ -1,7 +1,8 @@
-import { filterInstance } from "@solid-primitives/immutable";
-import { asArray, chain, ExtractIfPossible, Many, ResolvedChildren } from "@solid-primitives/utils";
+import { chain, ResolvedChildren } from "@solid-primitives/utils";
import { Accessor, children, createComputed, createMemo, JSX, on, onCleanup } from "solid-js";
+export type { ResolvedChildren, ResolvedJSXElement } from "@solid-primitives/utils";
+
/**
* Type for the `ref` prop
*/
@@ -20,14 +21,14 @@ export interface RefProps {
}
/**
- * Utility for using jsx refs both for local variables and providing it to the `props.ref` for component consumers.
+ * Utility for chaining multiple `ref` assignments with `props.ref` forwarding.
* @param refs list of ref setters. Can be a `props.ref` prop for ref forwarding or a setter to a local variable (`el => ref = el`).
* @example
* ```tsx
* interface ButtonProps {
* ref?: Ref
* }
- * const Button = (props: ButtonProps) => {
+ * function Button (props: ButtonProps) {
* let ref: HTMLButtonElement | undefined
* onMount(() => {
* // use the local ref
@@ -191,27 +192,6 @@ export function resolveFirst(
return createMemo(() => getFirstChild(children(), process.env.SSR ? serverPredicate : predicate));
}
-/**
- * Reactive signal that filters out non-element items from a signal array.
- * @param fn Array signal
- * @returns Array signal
- * @example
- * const resolved = children(() => props.children);
- * const refs = elements(resolved);
- * refs() // T: Element[]
- * // or narrow down type of the Element
- * const refs = elements(resolved, HTMLElement);
- * refs() // T: HTMLElement[]
- */
-export function elements(fn: Accessor>): Accessor[]>;
-export function elements(
- fn: Accessor>,
- ...types: T
-): Accessor>[]>;
-export function elements(fn: Accessor, ...types: (typeof Element)[]): Accessor {
- return createMemo(() => filterInstance(asArray(fn()), ...(types.length ? types : [Element])));
-}
-
/**
* Solid's `children` helper in component form. Access it's children elements by `get` property.
* @property `get` – get resolved elements, fired every time the children change
diff --git a/packages/refs/test/index.test.ts b/packages/refs/test/index.test.ts
index e6c2d153e..254dd7950 100644
--- a/packages/refs/test/index.test.ts
+++ b/packages/refs/test/index.test.ts
@@ -1,41 +1,13 @@
import { describe, test, expect } from "vitest";
import { createRoot, createSignal } from "solid-js";
import { removeItems } from "@solid-primitives/immutable";
-import { elements, getResolvedElements, resolveElements } from "../src";
+import { getResolvedElements, resolveElements } from "../src";
const el1 = document.createElement("div");
const el2 = document.createElement("span");
const el3 = document.createElementNS("http://www.w3.org/2000/svg", "svg");
const el4 = document.createElement("h1");
-describe("elements()", () => {
- test("get a signal of elements array", () =>
- createRoot(dispose => {
- const _arr = [123456, undefined, el2, NaN, el1, null, "HELLO", el3, el4, [1, 2, 3]];
- const [arr, setArr] = createSignal(_arr);
- const els = elements(arr);
-
- expect(els().length).toBe(4);
- els().forEach(el => {
- expect(el).instanceOf(Element);
- });
-
- setArr([]);
- expect(els().length).toBe(0);
-
- const htmlEls = elements(arr, HTMLElement);
- expect(htmlEls().length).toBe(0);
-
- setArr(_arr);
- expect(htmlEls().length).toBe(3);
- htmlEls().forEach(el => {
- expect(el).instanceOf(HTMLElement);
- });
-
- dispose();
- }));
-});
-
describe("resolveElements", () => {
test("resolves elements", () => {
const el1 = document.createElement("div");
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c0f7c1fb0..5b1d8e30a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -518,10 +518,10 @@ importers:
solid-js: ^1.6.0
solid-transition-group: ^0.0.13
dependencies:
- '@solid-primitives/immutable': link:../immutable
'@solid-primitives/utils': link:../utils
solid-js: 1.6.11
devDependencies:
+ '@solid-primitives/immutable': link:../immutable
solid-app-router: 0.4.2_solid-js@1.6.11
solid-transition-group: 0.0.13_solid-js@1.6.11
From 92dc1cfb4f2cce725a14653f762a0b1befda3e68 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Fri, 3 Mar 2023 09:47:46 +0100
Subject: [PATCH 26/33] Bump beta version
---
.changeset/pre.json | 3 ++-
packages/active-element/CHANGELOG.md | 8 ++++++++
packages/active-element/package.json | 6 +++---
packages/audio/CHANGELOG.md | 7 +++++++
packages/audio/package.json | 4 ++--
packages/autofocus/CHANGELOG.md | 7 +++++++
packages/autofocus/package.json | 4 ++--
packages/bounds/CHANGELOG.md | 9 +++++++++
packages/bounds/package.json | 8 ++++----
packages/clipboard/CHANGELOG.md | 7 +++++++
packages/clipboard/package.json | 4 ++--
packages/connectivity/CHANGELOG.md | 9 +++++++++
packages/connectivity/package.json | 8 ++++----
packages/controlled-props/CHANGELOG.md | 7 +++++++
packages/controlled-props/package.json | 4 ++--
packages/cursor/CHANGELOG.md | 7 +++++++
packages/cursor/package.json | 4 ++--
packages/date/CHANGELOG.md | 8 ++++++++
packages/date/package.json | 8 ++++----
packages/destructure/CHANGELOG.md | 7 +++++++
packages/destructure/package.json | 4 ++--
packages/event-bus/CHANGELOG.md | 8 ++++++++
packages/event-bus/package.json | 6 +++---
packages/event-listener/CHANGELOG.md | 7 +++++++
packages/event-listener/package.json | 4 ++--
packages/geolocation/CHANGELOG.md | 7 +++++++
packages/geolocation/package.json | 4 ++--
packages/graphql/CHANGELOG.md | 7 +++++++
packages/graphql/package.json | 4 ++--
packages/immutable/CHANGELOG.md | 7 +++++++
packages/immutable/package.json | 4 ++--
packages/intersection-observer/CHANGELOG.md | 7 +++++++
packages/intersection-observer/package.json | 6 +++---
packages/jsx-parser/CHANGELOG.md | 7 +++++++
packages/jsx-parser/package.json | 4 ++--
packages/keyboard/CHANGELOG.md | 9 +++++++++
packages/keyboard/package.json | 8 ++++----
packages/keyed/package.json | 6 +++---
packages/map/CHANGELOG.md | 6 ++++++
packages/map/package.json | 4 ++--
packages/media/CHANGELOG.md | 9 +++++++++
packages/media/package.json | 8 ++++----
packages/memo/CHANGELOG.md | 7 +++++++
packages/memo/package.json | 6 +++---
packages/mouse/CHANGELOG.md | 9 +++++++++
packages/mouse/package.json | 10 +++++-----
packages/mutation-observer/CHANGELOG.md | 7 +++++++
packages/mutation-observer/package.json | 4 ++--
packages/page-visibility/CHANGELOG.md | 9 +++++++++
packages/page-visibility/package.json | 8 ++++----
packages/pagination/CHANGELOG.md | 8 ++++++++
packages/pagination/package.json | 6 +++---
packages/pointer/CHANGELOG.md | 10 ++++++++++
packages/pointer/package.json | 10 +++++-----
packages/promise/CHANGELOG.md | 7 +++++++
packages/promise/package.json | 4 ++--
packages/props/CHANGELOG.md | 7 +++++++
packages/props/package.json | 4 ++--
packages/raf/CHANGELOG.md | 7 +++++++
packages/raf/package.json | 4 ++--
packages/range/CHANGELOG.md | 7 +++++++
packages/range/package.json | 4 ++--
packages/refs/CHANGELOG.md | 21 +++++++++++++++++++++
packages/refs/package.json | 6 +++---
packages/resize-observer/CHANGELOG.md | 9 +++++++++
packages/resize-observer/package.json | 8 ++++----
packages/rootless/CHANGELOG.md | 7 +++++++
packages/rootless/package.json | 4 ++--
packages/scroll/CHANGELOG.md | 9 +++++++++
packages/scroll/package.json | 8 ++++----
packages/set/CHANGELOG.md | 6 ++++++
packages/set/package.json | 4 ++--
packages/signal-builders/CHANGELOG.md | 8 ++++++++
packages/signal-builders/package.json | 6 +++---
packages/storage/CHANGELOG.md | 7 +++++++
packages/storage/package.json | 4 ++--
packages/stream/CHANGELOG.md | 7 +++++++
packages/stream/package.json | 4 ++--
packages/styles/CHANGELOG.md | 8 ++++++++
packages/styles/package.json | 6 +++---
packages/transition-group/package.json | 4 ++--
packages/trigger/CHANGELOG.md | 7 +++++++
packages/trigger/package.json | 4 ++--
packages/upload/CHANGELOG.md | 7 +++++++
packages/upload/package.json | 4 ++--
packages/utils/CHANGELOG.md | 6 ++++++
packages/utils/package.json | 2 +-
87 files changed, 450 insertions(+), 119 deletions(-)
diff --git a/.changeset/pre.json b/.changeset/pre.json
index d70daf5a0..e2c872e96 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -71,10 +71,11 @@
"@solid-primitives/workers": "0.2.3"
},
"changesets": [
- "dirty-kiwis-exist",
"fair-kangaroos-beam",
+ "flat-fishes-pay",
"fresh-maps-worry",
"itchy-suits-attack",
+ "khaki-geckos-punch",
"seven-onions-smile"
]
}
diff --git a/packages/active-element/CHANGELOG.md b/packages/active-element/CHANGELOG.md
index 54af928da..4b6cd9518 100644
--- a/packages/active-element/CHANGELOG.md
+++ b/packages/active-element/CHANGELOG.md
@@ -1,5 +1,13 @@
# @solid-primitives/active-element
+## 2.0.10-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+
## 2.0.9
### Patch Changes
diff --git a/packages/active-element/package.json b/packages/active-element/package.json
index ccc0c09f4..259f75ab2 100644
--- a/packages/active-element/package.json
+++ b/packages/active-element/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/active-element",
- "version": "2.0.9",
+ "version": "2.0.10-beta.0",
"description": "A reactive document.activeElement. Check which element is currently focused.",
"author": "Damian Tarnawski @thetarnav ",
"contributors": [
@@ -83,8 +83,8 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/event-listener": "^2.2.7",
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/event-listener": "^2.2.8-beta.0",
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/audio/CHANGELOG.md b/packages/audio/CHANGELOG.md
index d14476a66..beffee587 100644
--- a/packages/audio/CHANGELOG.md
+++ b/packages/audio/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/audio
+## 1.3.9-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.3.8
### Patch Changes
diff --git a/packages/audio/package.json b/packages/audio/package.json
index 8873557eb..b5fa0ca7e 100644
--- a/packages/audio/package.json
+++ b/packages/audio/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/audio",
- "version": "1.3.8",
+ "version": "1.3.9-beta.0",
"description": "Primitives to manage audio and single sounds.",
"author": "David Di Biase ",
"license": "MIT",
@@ -85,7 +85,7 @@
"solid-heroicons": "^3.1.1"
},
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/autofocus/CHANGELOG.md b/packages/autofocus/CHANGELOG.md
index 48e09833d..2a2bbdb9a 100644
--- a/packages/autofocus/CHANGELOG.md
+++ b/packages/autofocus/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/autofocus
+## 0.0.102-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.0.101
### Patch Changes
diff --git a/packages/autofocus/package.json b/packages/autofocus/package.json
index 1f1188408..e3317616f 100644
--- a/packages/autofocus/package.json
+++ b/packages/autofocus/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/autofocus",
- "version": "0.0.101",
+ "version": "0.0.102-beta.0",
"description": "Primitives for autofocusing HTML elements",
"author": "jer3m01 ",
"contributors": [],
@@ -56,7 +56,7 @@
"solid-js": "^1.6.0"
},
"dependencies": {
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"typesVersions": {}
}
diff --git a/packages/bounds/CHANGELOG.md b/packages/bounds/CHANGELOG.md
index 80288770a..2decff9ff 100644
--- a/packages/bounds/CHANGELOG.md
+++ b/packages/bounds/CHANGELOG.md
@@ -1,5 +1,14 @@
# @solid-primitives/bounds
+## 0.0.109-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+ - @solid-primitives/resize-observer@2.0.11-beta.0
+
## 0.0.108
### Patch Changes
diff --git a/packages/bounds/package.json b/packages/bounds/package.json
index 195add4ee..980fb717c 100644
--- a/packages/bounds/package.json
+++ b/packages/bounds/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/bounds",
- "version": "0.0.108",
+ "version": "0.0.109-beta.0",
"description": "Primitives for tracking HTML element size and position on screen as it changes.",
"author": "Damian Tarnawski ",
"contributors": [],
@@ -87,9 +87,9 @@
"@solid-primitives/scheduled": "workspace:^1.3.1"
},
"dependencies": {
- "@solid-primitives/event-listener": "workspace:^2.2.7",
- "@solid-primitives/resize-observer": "workspace:^2.0.10",
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/event-listener": "workspace:^2.2.8-beta.0",
+ "@solid-primitives/resize-observer": "workspace:^2.0.11-beta.0",
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/clipboard/CHANGELOG.md b/packages/clipboard/CHANGELOG.md
index 9a80402f1..c677981f1 100644
--- a/packages/clipboard/CHANGELOG.md
+++ b/packages/clipboard/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/clipboard
+## 1.5.2-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.5.1
### Patch Changes
diff --git a/packages/clipboard/package.json b/packages/clipboard/package.json
index fae7bc692..b1a0f6a06 100644
--- a/packages/clipboard/package.json
+++ b/packages/clipboard/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/clipboard",
- "version": "1.5.1",
+ "version": "1.5.2-beta.0",
"description": "Primitives for reading and writing to clipboard.",
"author": "David Di Biase ",
"contributors": [
@@ -88,7 +88,7 @@
],
"testEnvironment": "jsdom",
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/connectivity/CHANGELOG.md b/packages/connectivity/CHANGELOG.md
index ec20ab608..af2a08acd 100644
--- a/packages/connectivity/CHANGELOG.md
+++ b/packages/connectivity/CHANGELOG.md
@@ -1,5 +1,14 @@
# @solid-primitives/connectivity
+## 0.3.9-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+ - @solid-primitives/rootless@1.2.6-beta.0
+
## 0.3.8
### Patch Changes
diff --git a/packages/connectivity/package.json b/packages/connectivity/package.json
index 978a9aef0..c28eb5b13 100644
--- a/packages/connectivity/package.json
+++ b/packages/connectivity/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/connectivity",
- "version": "0.3.8",
+ "version": "0.3.9-beta.0",
"description": "A navigator.onLine signal.",
"author": "Klemen Slavič ",
"contributors": [
@@ -83,9 +83,9 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/event-listener": "^2.2.7",
- "@solid-primitives/rootless": "^1.2.5",
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/event-listener": "^2.2.8-beta.0",
+ "@solid-primitives/rootless": "^1.2.6-beta.0",
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/controlled-props/CHANGELOG.md b/packages/controlled-props/CHANGELOG.md
index 6ad44ba48..361cd7e21 100644
--- a/packages/controlled-props/CHANGELOG.md
+++ b/packages/controlled-props/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/controlled-props
+## 0.0.7-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.0.6
### Patch Changes
diff --git a/packages/controlled-props/package.json b/packages/controlled-props/package.json
index bd2137d4a..bae980826 100644
--- a/packages/controlled-props/package.json
+++ b/packages/controlled-props/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/controlled-props",
- "version": "0.0.6",
+ "version": "0.0.7-beta.0",
"description": "The primitives in this package allow you to create controlls for component props.",
"author": "Alex Lohr ",
"contributors": [],
@@ -53,7 +53,7 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/cursor/CHANGELOG.md b/packages/cursor/CHANGELOG.md
index 666633644..85b52d6eb 100644
--- a/packages/cursor/CHANGELOG.md
+++ b/packages/cursor/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/cursor
+## 0.0.107-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.0.106
### Patch Changes
diff --git a/packages/cursor/package.json b/packages/cursor/package.json
index e2f5d15d1..cb43aae06 100644
--- a/packages/cursor/package.json
+++ b/packages/cursor/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/cursor",
- "version": "0.0.106",
+ "version": "0.0.107-beta.0",
"description": "Two simple primitives for setting cursor css property reactively.",
"author": "Damian Tarnawski ",
"contributors": [],
@@ -84,7 +84,7 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md
index ab82d81e4..6524925eb 100644
--- a/packages/date/CHANGELOG.md
+++ b/packages/date/CHANGELOG.md
@@ -1,5 +1,13 @@
# @solid-primitives/date
+## 2.0.9-beta.1
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/memo@1.2.0-beta.1
+
## 2.0.9-beta.0
### Patch Changes
diff --git a/packages/date/package.json b/packages/date/package.json
index d629b32dc..17a6492b7 100644
--- a/packages/date/package.json
+++ b/packages/date/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/date",
- "version": "2.0.9-beta.0",
+ "version": "2.0.9-beta.1",
"description": "Collection of reactive primitives and utility functions, providing easier ways to deal with dates in SolidJS",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -55,13 +55,13 @@
"primitives"
],
"devDependencies": {
- "@solid-primitives/event-listener": "^2.2.7",
+ "@solid-primitives/event-listener": "^2.2.8-beta.0",
"date-fns": "^2.29.2"
},
"dependencies": {
- "@solid-primitives/memo": "^1.2.0-beta.0",
+ "@solid-primitives/memo": "^1.2.0-beta.1",
"@solid-primitives/timer": "^1.3.6",
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/destructure/CHANGELOG.md b/packages/destructure/CHANGELOG.md
index ffa0f034e..de33c3267 100644
--- a/packages/destructure/CHANGELOG.md
+++ b/packages/destructure/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/destructure
+## 0.1.9-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.1.8
### Patch Changes
diff --git a/packages/destructure/package.json b/packages/destructure/package.json
index 9dd93de6f..a69db2863 100644
--- a/packages/destructure/package.json
+++ b/packages/destructure/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/destructure",
- "version": "0.1.8",
+ "version": "0.1.9-beta.0",
"description": "Primitives for destructuring reactive objects – like props or stores – or signals of them into a separate accessors updated individually.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -51,7 +51,7 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/event-bus/CHANGELOG.md b/packages/event-bus/CHANGELOG.md
index 64042ec5e..8423d6479 100644
--- a/packages/event-bus/CHANGELOG.md
+++ b/packages/event-bus/CHANGELOG.md
@@ -1,5 +1,13 @@
# @solid-primitives/event-bus
+## 1.0.2-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/immutable@0.1.8-beta.0
+
## 1.0.1
### Patch Changes
diff --git a/packages/event-bus/package.json b/packages/event-bus/package.json
index e722e2c5c..873e3683f 100644
--- a/packages/event-bus/package.json
+++ b/packages/event-bus/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/event-bus",
- "version": "1.0.1",
+ "version": "1.0.2-beta.0",
"description": "A collection of SolidJS primitives providing various features of a pubsub/event-emitter/event-bus.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -54,8 +54,8 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/immutable": "^0.1.7",
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/immutable": "^0.1.8-beta.0",
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/event-listener/CHANGELOG.md b/packages/event-listener/CHANGELOG.md
index 86b8ec588..154a98d8b 100644
--- a/packages/event-listener/CHANGELOG.md
+++ b/packages/event-listener/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/event-listener
+## 2.2.8-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 2.2.7
### Patch Changes
diff --git a/packages/event-listener/package.json b/packages/event-listener/package.json
index dabe92e4f..1962b44eb 100644
--- a/packages/event-listener/package.json
+++ b/packages/event-listener/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/event-listener",
- "version": "2.2.7",
+ "version": "2.2.8-beta.0",
"description": "SolidJS Primitives to manage creating event listeners.",
"author": "David Di Biase ",
"contributors": [
@@ -87,7 +87,7 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/geolocation/CHANGELOG.md b/packages/geolocation/CHANGELOG.md
index 33172159a..0d41d1a92 100644
--- a/packages/geolocation/CHANGELOG.md
+++ b/packages/geolocation/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/geolocation
+## 1.4.6-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.4.5
### Patch Changes
diff --git a/packages/geolocation/package.json b/packages/geolocation/package.json
index 45d3f6ac3..40f3a39e2 100644
--- a/packages/geolocation/package.json
+++ b/packages/geolocation/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/geolocation",
- "version": "1.4.5",
+ "version": "1.4.6-beta.0",
"description": "Primitives to query geolocation and observe changes.",
"author": "David Di Biase ",
"license": "MIT",
@@ -101,7 +101,7 @@
"vite-plugin-mkcert": "^1.13.1"
},
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/graphql/CHANGELOG.md b/packages/graphql/CHANGELOG.md
index d2f58cca0..f0eb4d897 100644
--- a/packages/graphql/CHANGELOG.md
+++ b/packages/graphql/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/graphql
+## 1.5.4-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.5.3
### Patch Changes
diff --git a/packages/graphql/package.json b/packages/graphql/package.json
index b474f1a42..1d06f0d8c 100644
--- a/packages/graphql/package.json
+++ b/packages/graphql/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/graphql",
- "version": "1.5.3",
+ "version": "1.5.4-beta.0",
"description": "Primitive that generates a client and reactive GraphQL queries",
"author": "David Di Biase ",
"contributors": [
@@ -60,7 +60,7 @@
},
"dependencies": {
"@graphql-typed-document-node/core": "^3.1.1",
- "@solid-primitives/utils": "^5.2.1",
+ "@solid-primitives/utils": "^5.4.0-beta.0",
"graphql": "^16.6.0"
},
"peerDependencies": {
diff --git a/packages/immutable/CHANGELOG.md b/packages/immutable/CHANGELOG.md
index be12a24f7..ac29753fc 100644
--- a/packages/immutable/CHANGELOG.md
+++ b/packages/immutable/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/immutable
+## 0.1.8-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.1.7
### Patch Changes
diff --git a/packages/immutable/package.json b/packages/immutable/package.json
index 69bf05450..8c082d2a3 100644
--- a/packages/immutable/package.json
+++ b/packages/immutable/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/immutable",
- "version": "0.1.7",
+ "version": "0.1.8-beta.0",
"description": "Functional programming helpers for making non-mutating changes to data. Keeping it immutable.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -46,7 +46,7 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/intersection-observer/CHANGELOG.md b/packages/intersection-observer/CHANGELOG.md
index 34728c936..43998000e 100644
--- a/packages/intersection-observer/CHANGELOG.md
+++ b/packages/intersection-observer/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/intersection-observer
+## 2.0.8-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 2.0.7
### Patch Changes
diff --git a/packages/intersection-observer/package.json b/packages/intersection-observer/package.json
index f54b59e5c..17cc1664d 100644
--- a/packages/intersection-observer/package.json
+++ b/packages/intersection-observer/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/intersection-observer",
- "version": "2.0.7",
+ "version": "2.0.8-beta.0",
"description": "Primitives to support using the intersection observer API.",
"author": "David Di Biase ",
"contributors": [
@@ -101,10 +101,10 @@
"primitives"
],
"devDependencies": {
- "@solid-primitives/range": "workspace:^0.1.7"
+ "@solid-primitives/range": "workspace:^0.1.8-beta.0"
},
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/jsx-parser/CHANGELOG.md b/packages/jsx-parser/CHANGELOG.md
index ee1f8525a..8b93f2062 100644
--- a/packages/jsx-parser/CHANGELOG.md
+++ b/packages/jsx-parser/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/jsx-parser
+## 0.1.3-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.1.2
### Patch Changes
diff --git a/packages/jsx-parser/package.json b/packages/jsx-parser/package.json
index f2a0487c4..8606f0b0f 100644
--- a/packages/jsx-parser/package.json
+++ b/packages/jsx-parser/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/jsx-parser",
- "version": "0.1.2",
+ "version": "0.1.3-beta.0",
"description": "A primitive to tokenize your solid-components to enable custom parsing.",
"author": "Vincent Van Dijck ",
"contributors": [
@@ -63,7 +63,7 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/keyboard/CHANGELOG.md b/packages/keyboard/CHANGELOG.md
index 68b78876a..a7808f986 100644
--- a/packages/keyboard/CHANGELOG.md
+++ b/packages/keyboard/CHANGELOG.md
@@ -1,5 +1,14 @@
# @solid-primitives/keyboard
+## 1.0.9-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+ - @solid-primitives/rootless@1.2.6-beta.0
+
## 1.0.8
### Patch Changes
diff --git a/packages/keyboard/package.json b/packages/keyboard/package.json
index bd99b49e3..22a8f5d1f 100644
--- a/packages/keyboard/package.json
+++ b/packages/keyboard/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/keyboard",
- "version": "1.0.8",
+ "version": "1.0.9-beta.0",
"description": "A library of reactive promitives helping handling user's keyboard input.",
"author": "Damian Tarnwski ",
"contributors": [],
@@ -88,9 +88,9 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/event-listener": "workspace:^2.2.7",
- "@solid-primitives/rootless": "workspace:^1.2.5",
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/event-listener": "workspace:^2.2.8-beta.0",
+ "@solid-primitives/rootless": "workspace:^1.2.6-beta.0",
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/keyed/package.json b/packages/keyed/package.json
index 857b4b580..69f9965eb 100644
--- a/packages/keyed/package.json
+++ b/packages/keyed/package.json
@@ -81,9 +81,9 @@
"test:ssr": "pnpm run test --mode ssr"
},
"devDependencies": {
- "@solid-primitives/immutable": "^0.1.7",
- "@solid-primitives/refs": "^0.4.0-beta.0",
- "@solid-primitives/utils": "^5.2.1",
+ "@solid-primitives/immutable": "^0.1.8-beta.0",
+ "@solid-primitives/refs": "^1.0.0-beta.1",
+ "@solid-primitives/utils": "^5.4.0-beta.0",
"solid-transition-group": "^0.0.13"
},
"peerDependencies": {
diff --git a/packages/map/CHANGELOG.md b/packages/map/CHANGELOG.md
index e0d98ef43..b4b9aafa4 100644
--- a/packages/map/CHANGELOG.md
+++ b/packages/map/CHANGELOG.md
@@ -1,5 +1,11 @@
# @solid-primitives/map
+## 0.4.2-beta.0
+
+### Patch Changes
+
+- @solid-primitives/trigger@1.0.2-beta.0
+
## 0.4.1
### Patch Changes
diff --git a/packages/map/package.json b/packages/map/package.json
index e418a4c3f..746139635 100644
--- a/packages/map/package.json
+++ b/packages/map/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/map",
- "version": "0.4.1",
+ "version": "0.4.2-beta.0",
"description": "The Map & WeakMap data structures as a reactive signals.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -55,7 +55,7 @@
"solid-js": "^1.6.0"
},
"dependencies": {
- "@solid-primitives/trigger": "workspace:^1.0.1"
+ "@solid-primitives/trigger": "workspace:^1.0.2-beta.0"
},
"typesVersions": {}
}
diff --git a/packages/media/CHANGELOG.md b/packages/media/CHANGELOG.md
index 14eba5289..0e53b03fe 100644
--- a/packages/media/CHANGELOG.md
+++ b/packages/media/CHANGELOG.md
@@ -1,5 +1,14 @@
# @solid-primitives/media
+## 2.1.3-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+ - @solid-primitives/rootless@1.2.6-beta.0
+
## 2.1.2
### Patch Changes
diff --git a/packages/media/package.json b/packages/media/package.json
index 228ea2bdd..f8fe13f9d 100644
--- a/packages/media/package.json
+++ b/packages/media/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/media",
- "version": "2.1.2",
+ "version": "2.1.3-beta.0",
"description": "Primitives for media query and device features",
"author": "David Di Biase ",
"contributors": [
@@ -94,9 +94,9 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/event-listener": "workspace:^2.2.7",
- "@solid-primitives/rootless": "workspace:^1.2.5",
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/event-listener": "workspace:^2.2.8-beta.0",
+ "@solid-primitives/rootless": "workspace:^1.2.6-beta.0",
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/memo/CHANGELOG.md b/packages/memo/CHANGELOG.md
index 3d74792c5..2a4eda7da 100644
--- a/packages/memo/CHANGELOG.md
+++ b/packages/memo/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/memo
+## 1.2.0-beta.1
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.2.0-beta.0
### Minor Changes
diff --git a/packages/memo/package.json b/packages/memo/package.json
index b7173e702..07c23be37 100644
--- a/packages/memo/package.json
+++ b/packages/memo/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/memo",
- "version": "1.2.0-beta.0",
+ "version": "1.2.0-beta.1",
"description": "Collection of custom memo primitives. They extend Solid's createMemo functionality while keeping the usage similar.",
"author": "Damian Tarnawski @thetarnav ",
"contributors": [],
@@ -93,10 +93,10 @@
],
"dependencies": {
"@solid-primitives/scheduled": "^1.3.1",
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"devDependencies": {
- "@solid-primitives/mouse": "^2.0.7",
+ "@solid-primitives/mouse": "^2.0.8-beta.0",
"@solidjs/router": "^0.7.0"
},
"peerDependencies": {
diff --git a/packages/mouse/CHANGELOG.md b/packages/mouse/CHANGELOG.md
index da10f8b12..93acb0bb8 100644
--- a/packages/mouse/CHANGELOG.md
+++ b/packages/mouse/CHANGELOG.md
@@ -1,5 +1,14 @@
# @solid-primitives/mouse
+## 2.0.8-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+ - @solid-primitives/rootless@1.2.6-beta.0
+
## 2.0.7
### Patch Changes
diff --git a/packages/mouse/package.json b/packages/mouse/package.json
index 5a77c82c5..89644c258 100644
--- a/packages/mouse/package.json
+++ b/packages/mouse/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/mouse",
- "version": "2.0.7",
+ "version": "2.0.8-beta.0",
"description": "A collection of Solid Primitives, that capture current mouse cursor position, and help to deal with common related usecases.",
"author": "Damian Tarnawski ",
"license": "MIT",
@@ -97,12 +97,12 @@
"primitives"
],
"devDependencies": {
- "@solid-primitives/raf": "workspace:^2.1.7"
+ "@solid-primitives/raf": "workspace:^2.1.8-beta.0"
},
"dependencies": {
- "@solid-primitives/event-listener": "^2.2.7",
- "@solid-primitives/rootless": "^1.2.5",
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/event-listener": "^2.2.8-beta.0",
+ "@solid-primitives/rootless": "^1.2.6-beta.0",
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/mutation-observer/CHANGELOG.md b/packages/mutation-observer/CHANGELOG.md
index fdb2cee3f..e897a9a64 100644
--- a/packages/mutation-observer/CHANGELOG.md
+++ b/packages/mutation-observer/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/mutation-observer
+## 1.1.8-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.1.7
### Patch Changes
diff --git a/packages/mutation-observer/package.json b/packages/mutation-observer/package.json
index 4e0f355fd..b7611790e 100644
--- a/packages/mutation-observer/package.json
+++ b/packages/mutation-observer/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/mutation-observer",
- "version": "1.1.7",
+ "version": "1.1.8-beta.0",
"description": "Primitive providing the ability to watch for changes made to the DOM tree.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -50,7 +50,7 @@
"@solid-primitives/composites": "workspace:^1.1.3"
},
"dependencies": {
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/page-visibility/CHANGELOG.md b/packages/page-visibility/CHANGELOG.md
index 09f85205c..602d97358 100644
--- a/packages/page-visibility/CHANGELOG.md
+++ b/packages/page-visibility/CHANGELOG.md
@@ -1,5 +1,14 @@
# @solid-primitives/page-visibility
+## 2.0.6-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+ - @solid-primitives/rootless@1.2.6-beta.0
+
## 2.0.5
### Patch Changes
diff --git a/packages/page-visibility/package.json b/packages/page-visibility/package.json
index 11a464457..1696e5f68 100644
--- a/packages/page-visibility/package.json
+++ b/packages/page-visibility/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/page-visibility",
- "version": "2.0.5",
+ "version": "2.0.6-beta.0",
"description": "Primitive to track page visibility",
"author": "David Di Biase",
"contributors": [
@@ -96,9 +96,9 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/event-listener": "workspace:^2.2.7",
- "@solid-primitives/rootless": "workspace:^1.2.5",
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/event-listener": "workspace:^2.2.8-beta.0",
+ "@solid-primitives/rootless": "workspace:^1.2.6-beta.0",
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/pagination/CHANGELOG.md b/packages/pagination/CHANGELOG.md
index 4d23c4d27..f9b407125 100644
--- a/packages/pagination/CHANGELOG.md
+++ b/packages/pagination/CHANGELOG.md
@@ -1,5 +1,13 @@
# @solid-primitives/pagination
+## 0.2.2-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/intersection-observer@2.0.8-beta.0
+
## 0.2.1
### Patch Changes
diff --git a/packages/pagination/package.json b/packages/pagination/package.json
index 85e6ff9a4..222adb990 100644
--- a/packages/pagination/package.json
+++ b/packages/pagination/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/pagination",
- "version": "0.2.1",
+ "version": "0.2.2-beta.0",
"description": "A primitive that creates all the reactive data to manage your pagination.",
"author": "Alex Lohr ",
"contributors": [
@@ -87,8 +87,8 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/intersection-observer": "workspace:^2.0.7",
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/intersection-observer": "workspace:^2.0.8-beta.0",
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/pointer/CHANGELOG.md b/packages/pointer/CHANGELOG.md
index 15c601817..c68c0172b 100644
--- a/packages/pointer/CHANGELOG.md
+++ b/packages/pointer/CHANGELOG.md
@@ -1,5 +1,15 @@
# @solid-primitives/pointer
+## 0.2.7-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+ - @solid-primitives/immutable@0.1.8-beta.0
+ - @solid-primitives/rootless@1.2.6-beta.0
+
## 0.2.6
### Patch Changes
diff --git a/packages/pointer/package.json b/packages/pointer/package.json
index 6e9669e9b..7823cc947 100644
--- a/packages/pointer/package.json
+++ b/packages/pointer/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/pointer",
- "version": "0.2.6",
+ "version": "0.2.7-beta.0",
"description": "A collection of primitives, giving you a nicer API to handle pointer events in a reactive context.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -99,10 +99,10 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/event-listener": "^2.2.7",
- "@solid-primitives/immutable": "^0.1.7",
- "@solid-primitives/rootless": "^1.2.5",
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/event-listener": "^2.2.8-beta.0",
+ "@solid-primitives/immutable": "^0.1.8-beta.0",
+ "@solid-primitives/rootless": "^1.2.6-beta.0",
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/promise/CHANGELOG.md b/packages/promise/CHANGELOG.md
index 0e0242bc3..366ed61d9 100644
--- a/packages/promise/CHANGELOG.md
+++ b/packages/promise/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/until
+## 1.0.8-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.0.7
### Patch Changes
diff --git a/packages/promise/package.json b/packages/promise/package.json
index 759fc11de..a6f36c89f 100644
--- a/packages/promise/package.json
+++ b/packages/promise/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/promise",
- "version": "1.0.7",
+ "version": "1.0.8-beta.0",
"description": "Promised one-time watch for changes. Await a reactive condition.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -95,7 +95,7 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/props/CHANGELOG.md b/packages/props/CHANGELOG.md
index 4dfa70558..7de914297 100644
--- a/packages/props/CHANGELOG.md
+++ b/packages/props/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/props
+## 3.1.1-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 3.1.0
### Minor Changes
diff --git a/packages/props/package.json b/packages/props/package.json
index 1cb08767c..ed7f71ee9 100644
--- a/packages/props/package.json
+++ b/packages/props/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/props",
- "version": "3.1.0",
+ "version": "3.1.1-beta.0",
"description": "Library of primitives focused around component props.",
"author": "Damian Tarnawski ",
"contributors": [],
@@ -49,7 +49,7 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.3.0"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"devDependencies": {
"nanospy": "^0.5.0"
diff --git a/packages/raf/CHANGELOG.md b/packages/raf/CHANGELOG.md
index 4eef43e21..807c42b80 100644
--- a/packages/raf/CHANGELOG.md
+++ b/packages/raf/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/raf
+## 2.1.8-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 2.1.7
### Patch Changes
diff --git a/packages/raf/package.json b/packages/raf/package.json
index d90b94b81..fb0e829fd 100644
--- a/packages/raf/package.json
+++ b/packages/raf/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/raf",
- "version": "2.1.7",
+ "version": "2.1.8-beta.0",
"description": "Primitive that facilitates RAF functionality",
"author": "David Di Biase ",
"contributors": [
@@ -98,7 +98,7 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/range/CHANGELOG.md b/packages/range/CHANGELOG.md
index 9d4101a4d..a962376c1 100644
--- a/packages/range/CHANGELOG.md
+++ b/packages/range/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/range
+## 0.1.8-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.1.7
### Patch Changes
diff --git a/packages/range/package.json b/packages/range/package.json
index 6b3fa7be9..ba2bcbde4 100644
--- a/packages/range/package.json
+++ b/packages/range/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/range",
- "version": "0.1.7",
+ "version": "0.1.8-beta.0",
"description": "Control Flow Primitives for displaying given number or a number range of elements.",
"author": "Damian Tarnawski @thetarnav ",
"contributors": [],
@@ -68,7 +68,7 @@
"solid-transition-group": "^0.0.13"
},
"dependencies": {
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/refs/CHANGELOG.md b/packages/refs/CHANGELOG.md
index a56436ce6..97be0e659 100644
--- a/packages/refs/CHANGELOG.md
+++ b/packages/refs/CHANGELOG.md
@@ -1,5 +1,26 @@
# @solid-primitives/refs
+## 1.0.0-beta.1
+
+### Major Changes
+
+- d6559a32: Major API changes. Bump stage to 2.
+
+ `mapRemoved`, `Refs`, `Ref`, `unmount`, `refs`, `elements`, `getChangedItems`, `getAddedItems` and `getRemovedItems` has been removed.
+
+ Add `getResolvedElements`, `resolveElements`, `getFirstChild` and `resolveFirst` primitives.
+
+ Improve `mergeRefs` to allow an array of refs to be passed in.
+
+ Ensure SSR support for `resolveElements` and `resolveFirst`.
+
+ Removes `"@solid-primitives/immutable"` dependency.
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.4.0-beta.0
### Minor Changes
diff --git a/packages/refs/package.json b/packages/refs/package.json
index e6711b791..ce595fdea 100644
--- a/packages/refs/package.json
+++ b/packages/refs/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/refs",
- "version": "0.4.0-beta.0",
+ "version": "1.0.0-beta.1",
"description": "Library of primitives, components and directives for SolidJS that help managing references to JSX elements.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -83,12 +83,12 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"devDependencies": {
"solid-app-router": "^0.4.2",
"solid-transition-group": "^0.0.13",
- "@solid-primitives/immutable": "^0.1.7"
+ "@solid-primitives/immutable": "^0.1.8-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/resize-observer/CHANGELOG.md b/packages/resize-observer/CHANGELOG.md
index e8b1cc3a1..83af6546f 100644
--- a/packages/resize-observer/CHANGELOG.md
+++ b/packages/resize-observer/CHANGELOG.md
@@ -1,5 +1,14 @@
# @solid-primitives/resize-observer
+## 2.0.11-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+ - @solid-primitives/rootless@1.2.6-beta.0
+
## 2.0.10
### Patch Changes
diff --git a/packages/resize-observer/package.json b/packages/resize-observer/package.json
index 5a7cb0797..432e15a13 100644
--- a/packages/resize-observer/package.json
+++ b/packages/resize-observer/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/resize-observer",
- "version": "2.0.10",
+ "version": "2.0.11-beta.0",
"description": "Reactive primitives for observing resizing of HTML elements.",
"author": "Moshe Udimar",
"contributors": [
@@ -84,9 +84,9 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/event-listener": "workspace:^2.2.7",
- "@solid-primitives/rootless": "workspace:^1.2.5",
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/event-listener": "workspace:^2.2.8-beta.0",
+ "@solid-primitives/rootless": "workspace:^1.2.6-beta.0",
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/rootless/CHANGELOG.md b/packages/rootless/CHANGELOG.md
index ae7befda5..8b5ce4cb6 100644
--- a/packages/rootless/CHANGELOG.md
+++ b/packages/rootless/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/rootless
+## 1.2.6-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.2.5
### Patch Changes
diff --git a/packages/rootless/package.json b/packages/rootless/package.json
index 61170937c..a9170b5d4 100644
--- a/packages/rootless/package.json
+++ b/packages/rootless/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/rootless",
- "version": "1.2.5",
+ "version": "1.2.6-beta.0",
"description": "A collection of helpers that aim to simplify using reactive primitives outside of reactive roots, and managing disposal of reactive roots.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -48,7 +48,7 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.11"
diff --git a/packages/scroll/CHANGELOG.md b/packages/scroll/CHANGELOG.md
index fd65bd7eb..e82dedec2 100644
--- a/packages/scroll/CHANGELOG.md
+++ b/packages/scroll/CHANGELOG.md
@@ -1,5 +1,14 @@
# @solid-primitives/scroll
+## 2.0.10-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/event-listener@2.2.8-beta.0
+ - @solid-primitives/rootless@1.2.6-beta.0
+
## 2.0.9
### Patch Changes
diff --git a/packages/scroll/package.json b/packages/scroll/package.json
index 26773d7c6..c07e9a2cb 100644
--- a/packages/scroll/package.json
+++ b/packages/scroll/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/scroll",
- "version": "2.0.9",
+ "version": "2.0.10-beta.0",
"description": "Reactive primitives to react to element/window scrolling.",
"author": "David Di Biase ",
"contributors": [
@@ -100,9 +100,9 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/event-listener": "workspace:^2.2.7",
- "@solid-primitives/rootless": "workspace:^1.2.5",
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/event-listener": "workspace:^2.2.8-beta.0",
+ "@solid-primitives/rootless": "workspace:^1.2.6-beta.0",
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/set/CHANGELOG.md b/packages/set/CHANGELOG.md
index 194df4828..1b0768f8d 100644
--- a/packages/set/CHANGELOG.md
+++ b/packages/set/CHANGELOG.md
@@ -1,5 +1,11 @@
# @solid-primitives/set
+## 0.4.2-beta.0
+
+### Patch Changes
+
+- @solid-primitives/trigger@1.0.2-beta.0
+
## 0.4.1
### Patch Changes
diff --git a/packages/set/package.json b/packages/set/package.json
index ae3527775..ca1c01ad8 100644
--- a/packages/set/package.json
+++ b/packages/set/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/set",
- "version": "0.4.1",
+ "version": "0.4.2-beta.0",
"description": "The Set & WeakSet data structures as a reactive signals.",
"author": "Damian Tarnawski @thetarnav ",
"license": "MIT",
@@ -53,7 +53,7 @@
"solid-js": "^1.6.0"
},
"dependencies": {
- "@solid-primitives/trigger": "workspace:^1.0.1"
+ "@solid-primitives/trigger": "workspace:^1.0.2-beta.0"
},
"typesVersions": {}
}
diff --git a/packages/signal-builders/CHANGELOG.md b/packages/signal-builders/CHANGELOG.md
index da8514618..68001ccd2 100644
--- a/packages/signal-builders/CHANGELOG.md
+++ b/packages/signal-builders/CHANGELOG.md
@@ -1,5 +1,13 @@
# @solid-primitives/signal-builders
+## 0.1.8-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/immutable@0.1.8-beta.0
+
## 0.1.7
### Patch Changes
diff --git a/packages/signal-builders/package.json b/packages/signal-builders/package.json
index 9fc2005c7..27f54e7e2 100644
--- a/packages/signal-builders/package.json
+++ b/packages/signal-builders/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/signal-builders",
- "version": "0.1.7",
+ "version": "0.1.8-beta.0",
"description": "A collection of chainable and composable reactive signal calculations, aka Signal Builders.",
"author": "Your Name ",
"license": "MIT",
@@ -45,8 +45,8 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/immutable": "^0.1.7",
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/immutable": "^0.1.8-beta.0",
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/storage/CHANGELOG.md b/packages/storage/CHANGELOG.md
index 0982ac453..729bacfa7 100644
--- a/packages/storage/CHANGELOG.md
+++ b/packages/storage/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/storage
+## 1.3.7-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.3.6
### Patch Changes
diff --git a/packages/storage/package.json b/packages/storage/package.json
index e0ae486a4..d087aa64f 100644
--- a/packages/storage/package.json
+++ b/packages/storage/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/storage",
- "version": "1.3.6",
+ "version": "1.3.7-beta.0",
"description": "Primitive that provides reactive wrappers for storage access",
"author": "Alex Lohr ",
"contributors": [
@@ -100,7 +100,7 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/stream/CHANGELOG.md b/packages/stream/CHANGELOG.md
index e590b2a23..ad375b65b 100644
--- a/packages/stream/CHANGELOG.md
+++ b/packages/stream/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/stream
+## 0.6.6-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.6.5
### Patch Changes
diff --git a/packages/stream/package.json b/packages/stream/package.json
index 09fb82a66..27e26f866 100644
--- a/packages/stream/package.json
+++ b/packages/stream/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/stream",
- "version": "0.6.5",
+ "version": "0.6.6-beta.0",
"description": "Primitive that gets a user media stream from microphone, camera or screen",
"author": "Alex Lohr ",
"license": "MIT",
@@ -99,7 +99,7 @@
"primitives"
],
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/styles/CHANGELOG.md b/packages/styles/CHANGELOG.md
index b69cf528c..643d6ec83 100644
--- a/packages/styles/CHANGELOG.md
+++ b/packages/styles/CHANGELOG.md
@@ -1,5 +1,13 @@
# @solid-primitives/styles
+## 0.0.105-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+ - @solid-primitives/rootless@1.2.6-beta.0
+
## 0.0.104
### Patch Changes
diff --git a/packages/styles/package.json b/packages/styles/package.json
index f492fa6c3..672a17192 100644
--- a/packages/styles/package.json
+++ b/packages/styles/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/styles",
- "version": "0.0.104",
+ "version": "0.0.105-beta.0",
"description": "Collection of reactive primitives focused on styles.",
"author": "Damian Tarnawski ",
"contributors": [
@@ -100,8 +100,8 @@
"css"
],
"dependencies": {
- "@solid-primitives/rootless": "workspace:^1.2.5",
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/rootless": "workspace:^1.2.6-beta.0",
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/transition-group/package.json b/packages/transition-group/package.json
index fa2403d06..1de847cf2 100644
--- a/packages/transition-group/package.json
+++ b/packages/transition-group/package.json
@@ -73,8 +73,8 @@
"solid-js": "^1.6.0"
},
"devDependencies": {
- "@solid-primitives/refs": "workspace:^0.4.0-beta.0",
- "@solid-primitives/utils": "workspace:^5.2.0",
+ "@solid-primitives/refs": "workspace:^1.0.0-beta.1",
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0",
"@solidjs/router": "^0.7.0"
}
}
diff --git a/packages/trigger/CHANGELOG.md b/packages/trigger/CHANGELOG.md
index a8685a053..f45ce3796 100644
--- a/packages/trigger/CHANGELOG.md
+++ b/packages/trigger/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/trigger
+## 1.0.2-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 1.0.1
### Patch Changes
diff --git a/packages/trigger/package.json b/packages/trigger/package.json
index ed0034808..b4952cdd7 100644
--- a/packages/trigger/package.json
+++ b/packages/trigger/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/trigger",
- "version": "1.0.1",
+ "version": "1.0.2-beta.0",
"description": "A set of primitives based on Solid signals, used to trigger computations.",
"author": "Damian Tarnawski ",
"contributors": [],
@@ -101,7 +101,7 @@
"solid-js": "^1.6.0"
},
"dependencies": {
- "@solid-primitives/utils": "workspace:^5.2.1"
+ "@solid-primitives/utils": "workspace:^5.4.0-beta.0"
},
"typesVersions": {}
}
diff --git a/packages/upload/CHANGELOG.md b/packages/upload/CHANGELOG.md
index eee19c389..b90163b48 100644
--- a/packages/upload/CHANGELOG.md
+++ b/packages/upload/CHANGELOG.md
@@ -1,5 +1,12 @@
# @solid-primitives/upload
+## 0.0.109-beta.0
+
+### Patch Changes
+
+- Updated dependencies [d6559a32]
+ - @solid-primitives/utils@5.4.0-beta.0
+
## 0.0.108
### Patch Changes
diff --git a/packages/upload/package.json b/packages/upload/package.json
index ae0e94799..51b12681b 100644
--- a/packages/upload/package.json
+++ b/packages/upload/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/upload",
- "version": "0.0.108",
+ "version": "0.0.109-beta.0",
"description": "Primitives for uploading files.",
"author": "Rustam Ashurmatov ",
"license": "MIT",
@@ -80,7 +80,7 @@
"test:ssr": "pnpm run test --mode ssr"
},
"dependencies": {
- "@solid-primitives/utils": "^5.2.1"
+ "@solid-primitives/utils": "^5.4.0-beta.0"
},
"peerDependencies": {
"solid-js": "^1.6.0"
diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md
index 0ba538f00..fec89e886 100644
--- a/packages/utils/CHANGELOG.md
+++ b/packages/utils/CHANGELOG.md
@@ -1,5 +1,11 @@
# @solid-primitives/utils
+## 5.4.0-beta.0
+
+### Minor Changes
+
+- d6559a32: Export `ResolvedJSXElement` and `ResolvedChildren` types from utils
+
## 5.3.0
### Minor Changes
diff --git a/packages/utils/package.json b/packages/utils/package.json
index e69cc0701..be6bb4890 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/utils",
- "version": "5.3.0",
+ "version": "5.4.0-beta.0",
"description": "A bunch of reactive utility types and functions, for building primitives with Solid.js",
"author": "Damian Tarnawski @thetarnav ",
"contributors": [
From 8cba219adf3b3226b8e66d962b5eb5076dc326d7 Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Fri, 3 Mar 2023 09:50:10 +0100
Subject: [PATCH 27/33] Update lockfile
---
pnpm-lock.yaml | 152 ++++++++++++++++++++++++-------------------------
1 file changed, 76 insertions(+), 76 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5b1d8e30a..0b270df71 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -62,8 +62,8 @@ importers:
packages/active-element:
specifiers:
- '@solid-primitives/event-listener': ^2.2.7
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/event-listener': ^2.2.8-beta.0
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -78,7 +78,7 @@ importers:
packages/audio:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-heroicons: ^3.1.1
solid-js: ^1.6.0
dependencies:
@@ -89,7 +89,7 @@ importers:
packages/autofocus:
specifiers:
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -97,10 +97,10 @@ importers:
packages/bounds:
specifiers:
- '@solid-primitives/event-listener': workspace:^2.2.7
- '@solid-primitives/resize-observer': workspace:^2.0.10
+ '@solid-primitives/event-listener': workspace:^2.2.8-beta.0
+ '@solid-primitives/resize-observer': workspace:^2.0.11-beta.0
'@solid-primitives/scheduled': workspace:^1.3.1
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -118,7 +118,7 @@ importers:
packages/clipboard:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -136,9 +136,9 @@ importers:
packages/connectivity:
specifiers:
- '@solid-primitives/event-listener': ^2.2.7
- '@solid-primitives/rootless': ^1.2.5
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/event-listener': ^2.2.8-beta.0
+ '@solid-primitives/rootless': ^1.2.6-beta.0
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -154,7 +154,7 @@ importers:
packages/controlled-props:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -162,7 +162,7 @@ importers:
packages/cursor:
specifiers:
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -170,10 +170,10 @@ importers:
packages/date:
specifiers:
- '@solid-primitives/event-listener': ^2.2.7
- '@solid-primitives/memo': ^1.2.0-beta.0
+ '@solid-primitives/event-listener': ^2.2.8-beta.0
+ '@solid-primitives/memo': ^1.2.0-beta.1
'@solid-primitives/timer': ^1.3.6
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
date-fns: ^2.29.2
solid-js: ^1.6.0
dependencies:
@@ -187,7 +187,7 @@ importers:
packages/destructure:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -201,8 +201,8 @@ importers:
packages/event-bus:
specifiers:
- '@solid-primitives/immutable': ^0.1.7
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/immutable': ^0.1.8-beta.0
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/immutable': link:../immutable
@@ -217,7 +217,7 @@ importers:
packages/event-listener:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -245,7 +245,7 @@ importers:
packages/geolocation:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
'@types/leaflet': ^1.7.11
leaflet: ^1.8.0
mapbox-gl: ^2.12.1
@@ -275,7 +275,7 @@ importers:
'@graphql-codegen/typescript': ^3.0.0
'@graphql-codegen/typescript-operations': ^3.0.0
'@graphql-typed-document-node/core': ^3.1.1
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
graphql: ^16.6.0
solid-js: ^1.6.0
dependencies:
@@ -305,7 +305,7 @@ importers:
packages/immutable:
specifiers:
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -319,8 +319,8 @@ importers:
packages/intersection-observer:
specifiers:
- '@solid-primitives/range': workspace:^0.1.7
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/range': workspace:^0.1.8-beta.0
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -330,7 +330,7 @@ importers:
packages/jsx-parser:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -338,9 +338,9 @@ importers:
packages/keyboard:
specifiers:
- '@solid-primitives/event-listener': workspace:^2.2.7
- '@solid-primitives/rootless': workspace:^1.2.5
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/event-listener': workspace:^2.2.8-beta.0
+ '@solid-primitives/rootless': workspace:^1.2.6-beta.0
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -350,9 +350,9 @@ importers:
packages/keyed:
specifiers:
- '@solid-primitives/immutable': ^0.1.7
- '@solid-primitives/refs': ^0.4.0-beta.0
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/immutable': ^0.1.8-beta.0
+ '@solid-primitives/refs': ^1.0.0-beta.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
solid-transition-group: ^0.0.13
dependencies:
@@ -365,7 +365,7 @@ importers:
packages/map:
specifiers:
- '@solid-primitives/trigger': workspace:^1.0.1
+ '@solid-primitives/trigger': workspace:^1.0.2-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/trigger': link:../trigger
@@ -373,9 +373,9 @@ importers:
packages/media:
specifiers:
- '@solid-primitives/event-listener': workspace:^2.2.7
- '@solid-primitives/rootless': workspace:^1.2.5
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/event-listener': workspace:^2.2.8-beta.0
+ '@solid-primitives/rootless': workspace:^1.2.6-beta.0
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -385,9 +385,9 @@ importers:
packages/memo:
specifiers:
- '@solid-primitives/mouse': ^2.0.7
+ '@solid-primitives/mouse': ^2.0.8-beta.0
'@solid-primitives/scheduled': ^1.3.1
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
'@solidjs/router': ^0.7.0
solid-js: ^1.6.0
dependencies:
@@ -400,10 +400,10 @@ importers:
packages/mouse:
specifiers:
- '@solid-primitives/event-listener': ^2.2.7
- '@solid-primitives/raf': workspace:^2.1.7
- '@solid-primitives/rootless': ^1.2.5
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/event-listener': ^2.2.8-beta.0
+ '@solid-primitives/raf': workspace:^2.1.8-beta.0
+ '@solid-primitives/rootless': ^1.2.6-beta.0
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -416,7 +416,7 @@ importers:
packages/mutation-observer:
specifiers:
'@solid-primitives/composites': workspace:^1.1.3
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -426,9 +426,9 @@ importers:
packages/page-visibility:
specifiers:
- '@solid-primitives/event-listener': workspace:^2.2.7
- '@solid-primitives/rootless': workspace:^1.2.5
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/event-listener': workspace:^2.2.8-beta.0
+ '@solid-primitives/rootless': workspace:^1.2.6-beta.0
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -438,8 +438,8 @@ importers:
packages/pagination:
specifiers:
- '@solid-primitives/intersection-observer': workspace:^2.0.7
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/intersection-observer': workspace:^2.0.8-beta.0
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/intersection-observer': link:../intersection-observer
@@ -460,10 +460,10 @@ importers:
packages/pointer:
specifiers:
- '@solid-primitives/event-listener': ^2.2.7
- '@solid-primitives/immutable': ^0.1.7
- '@solid-primitives/rootless': ^1.2.5
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/event-listener': ^2.2.8-beta.0
+ '@solid-primitives/immutable': ^0.1.8-beta.0
+ '@solid-primitives/rootless': ^1.2.6-beta.0
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -474,7 +474,7 @@ importers:
packages/promise:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -482,7 +482,7 @@ importers:
packages/props:
specifiers:
- '@solid-primitives/utils': workspace:^5.3.0
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
nanospy: ^0.5.0
solid-js: ^1.6.0
dependencies:
@@ -493,7 +493,7 @@ importers:
packages/raf:
specifiers:
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -501,7 +501,7 @@ importers:
packages/range:
specifiers:
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
solid-transition-group: ^0.0.13
dependencies:
@@ -512,8 +512,8 @@ importers:
packages/refs:
specifiers:
- '@solid-primitives/immutable': ^0.1.7
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/immutable': ^0.1.8-beta.0
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-app-router: ^0.4.2
solid-js: ^1.6.0
solid-transition-group: ^0.0.13
@@ -527,9 +527,9 @@ importers:
packages/resize-observer:
specifiers:
- '@solid-primitives/event-listener': workspace:^2.2.7
- '@solid-primitives/rootless': workspace:^1.2.5
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/event-listener': workspace:^2.2.8-beta.0
+ '@solid-primitives/rootless': workspace:^1.2.6-beta.0
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -539,7 +539,7 @@ importers:
packages/rootless:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.11
dependencies:
'@solid-primitives/utils': link:../utils
@@ -564,9 +564,9 @@ importers:
packages/scroll:
specifiers:
- '@solid-primitives/event-listener': workspace:^2.2.7
- '@solid-primitives/rootless': workspace:^1.2.5
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/event-listener': workspace:^2.2.8-beta.0
+ '@solid-primitives/rootless': workspace:^1.2.6-beta.0
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/event-listener': link:../event-listener
@@ -582,7 +582,7 @@ importers:
packages/set:
specifiers:
- '@solid-primitives/trigger': workspace:^1.0.1
+ '@solid-primitives/trigger': workspace:^1.0.2-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/trigger': link:../trigger
@@ -596,8 +596,8 @@ importers:
packages/signal-builders:
specifiers:
- '@solid-primitives/immutable': ^0.1.7
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/immutable': ^0.1.8-beta.0
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/immutable': link:../immutable
@@ -606,7 +606,7 @@ importers:
packages/storage:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -614,7 +614,7 @@ importers:
packages/stream:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -622,8 +622,8 @@ importers:
packages/styles:
specifiers:
- '@solid-primitives/rootless': workspace:^1.2.5
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/rootless': workspace:^1.2.6-beta.0
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/rootless': link:../rootless
@@ -638,8 +638,8 @@ importers:
packages/transition-group:
specifiers:
- '@solid-primitives/refs': workspace:^0.4.0-beta.0
- '@solid-primitives/utils': workspace:^5.2.0
+ '@solid-primitives/refs': workspace:^1.0.0-beta.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
'@solidjs/router': ^0.7.0
solid-js: ^1.6.0
dependencies:
@@ -651,7 +651,7 @@ importers:
packages/trigger:
specifiers:
- '@solid-primitives/utils': workspace:^5.2.1
+ '@solid-primitives/utils': workspace:^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
@@ -665,7 +665,7 @@ importers:
packages/upload:
specifiers:
- '@solid-primitives/utils': ^5.2.1
+ '@solid-primitives/utils': ^5.4.0-beta.0
solid-js: ^1.6.0
dependencies:
'@solid-primitives/utils': link:../utils
From 147f590cfd93d06bd1bc4244989832bec6cdd22f Mon Sep 17 00:00:00 2001
From: Damian Tarnawski
Date: Fri, 3 Mar 2023 10:27:30 +0100
Subject: [PATCH 28/33] Add Ref and Refs component back - adapt them for SSR
---
.changeset/khaki-geckos-punch.md | 4 +-
packages/refs/README.md | 40 ++++++++++++-----
packages/refs/package.json | 3 +-
packages/refs/src/index.ts | 76 +++++++++++++++++++++++++-------
4 files changed, 93 insertions(+), 30 deletions(-)
diff --git a/.changeset/khaki-geckos-punch.md b/.changeset/khaki-geckos-punch.md
index 4f888766a..729ef4da9 100644
--- a/.changeset/khaki-geckos-punch.md
+++ b/.changeset/khaki-geckos-punch.md
@@ -4,12 +4,12 @@
Major API changes. Bump stage to 2.
-`mapRemoved`, `Refs`, `Ref`, `unmount`, `refs`, `elements`, `getChangedItems`, `getAddedItems` and `getRemovedItems` has been removed.
+`mapRemoved`, `Children`, `unmount`, `refs`, `elements`, `getChangedItems`, `getAddedItems` and `getRemovedItems` has been removed.
Add `getResolvedElements`, `resolveElements`, `getFirstChild` and `resolveFirst` primitives.
Improve `mergeRefs` to allow an array of refs to be passed in.
-Ensure SSR support for `resolveElements` and `resolveFirst`.
+Ensure SSR support for `resolveElements`, `resolveFirst`, `