From ca89d9f6e52d7fb9520906e0738004e1948e8fca Mon Sep 17 00:00:00 2001 From: Chris Sauve Date: Fri, 16 Feb 2024 15:15:28 -0500 Subject: [PATCH] Use official remote-dom library --- .changeset/twelve-steaks-lie.md | 9 + app/package.json | 6 +- app/shared/clips/Clip/Clip.tsx | 2 +- app/shared/clips/components.ts | 4 +- app/shared/clips/components/shared.ts | 21 +- app/shared/clips/extension-points.ts | 2 +- app/shared/clips/extension.ts | 2 +- app/shared/clips/manager.ts | 4 +- app/shared/clips/sandbox/sandbox.ts | 8 +- packages/clips-preact/package.json | 6 +- .../clips-preact/source/components/Action.tsx | 2 +- .../source/components/BlockGrid.tsx | 2 +- .../source/components/BlockStack.tsx | 2 +- .../source/components/Disclosure.tsx | 2 +- .../clips-preact/source/components/Footer.tsx | 2 +- .../clips-preact/source/components/Grid.tsx | 2 +- .../clips-preact/source/components/Header.tsx | 2 +- .../source/components/Heading.tsx | 2 +- .../clips-preact/source/components/Image.tsx | 2 +- .../source/components/InlineGrid.tsx | 2 +- .../source/components/InlineStack.tsx | 2 +- .../clips-preact/source/components/Modal.tsx | 2 +- .../source/components/Popover.tsx | 2 +- .../source/components/Section.tsx | 2 +- .../clips-preact/source/components/Stack.tsx | 2 +- .../clips-preact/source/components/Text.tsx | 2 +- .../source/components/TextBlock.tsx | 2 +- .../source/components/TextField.tsx | 2 +- .../clips-preact/source/components/View.tsx | 2 +- packages/clips-preact/source/context.ts | 2 +- packages/clips-preact/source/index.ts | 2 +- packages/clips-react/package.json | 4 +- .../clips-react/source/components/Action.tsx | 2 +- .../source/components/BlockGrid.tsx | 2 +- .../source/components/BlockStack.tsx | 2 +- .../source/components/Disclosure.tsx | 2 +- .../clips-react/source/components/Footer.tsx | 2 +- .../clips-react/source/components/Grid.tsx | 2 +- .../clips-react/source/components/Header.tsx | 2 +- .../clips-react/source/components/Heading.tsx | 2 +- .../clips-react/source/components/Image.tsx | 2 +- .../source/components/InlineGrid.tsx | 2 +- .../source/components/InlineStack.tsx | 2 +- .../clips-react/source/components/Modal.tsx | 2 +- .../clips-react/source/components/Popover.tsx | 2 +- .../clips-react/source/components/Section.tsx | 2 +- .../clips-react/source/components/Stack.tsx | 2 +- .../clips-react/source/components/Text.tsx | 2 +- .../source/components/TextBlock.tsx | 2 +- .../source/components/TextField.tsx | 2 +- .../clips-react/source/components/View.tsx | 2 +- packages/clips-react/source/context.ts | 2 +- packages/clips-react/source/extension.tsx | 2 +- packages/clips-react/source/index.ts | 2 +- packages/clips-svelte/package.json | 2 +- packages/clips-svelte/source/context.ts | 2 +- packages/clips/package.json | 4 +- packages/clips/source/elements.ts | 9 +- .../clips/source/elements/Action/Action.ts | 2 +- .../source/elements/BlockGrid/BlockGrid.ts | 2 +- .../source/elements/BlockStack/BlockStack.ts | 2 +- .../source/elements/Disclosure/Disclosure.ts | 3 +- .../clips/source/elements/Footer/Footer.ts | 2 +- packages/clips/source/elements/Grid/Grid.ts | 2 +- .../clips/source/elements/Header/Header.ts | 2 +- .../clips/source/elements/Heading/Heading.ts | 2 +- packages/clips/source/elements/Image/Image.ts | 2 +- .../source/elements/InlineGrid/InlineGrid.ts | 2 +- .../elements/InlineStack/InlineStack.ts | 2 +- packages/clips/source/elements/Modal/Modal.ts | 2 +- .../clips/source/elements/Popover/Popover.ts | 2 +- .../clips/source/elements/Section/Section.ts | 2 +- .../elements/SkeletonAction/SkeletonAction.ts | 2 +- .../elements/SkeletonText/SkeletonText.ts | 2 +- .../SkeletonTextBlock/SkeletonTextBlock.ts | 2 +- .../elements/SkeletonView/SkeletonView.ts | 2 +- packages/clips/source/elements/Stack/Stack.ts | 2 +- packages/clips/source/elements/Text/Text.ts | 2 +- .../source/elements/TextBlock/TextBlock.ts | 2 +- .../source/elements/TextField/TextField.ts | 3 +- packages/clips/source/elements/View/View.ts | 2 +- packages/clips/source/elements/shared.ts | 2 +- packages/clips/source/extension-points.ts | 6 +- packages/clips/source/extension.ts | 10 +- packages/thread-render/package.json | 5 +- packages/thread-render/source/renderer.ts | 2 +- packages/thread-render/source/types.ts | 2 +- packages/zest/package.json | 4 +- packages/zest/source/shared/clips.ts | 2 +- pnpm-lock.yaml | 234 ++++++++++-------- 90 files changed, 260 insertions(+), 226 deletions(-) create mode 100644 .changeset/twelve-steaks-lie.md diff --git a/.changeset/twelve-steaks-lie.md b/.changeset/twelve-steaks-lie.md new file mode 100644 index 00000000..94c5f0c2 --- /dev/null +++ b/.changeset/twelve-steaks-lie.md @@ -0,0 +1,9 @@ +--- +'@watching/thread-render': patch +'@watching/clips-preact': patch +'@watching/clips-svelte': patch +'@watching/clips-react': patch +'@watching/clips': patch +--- + +Upgrade to real remote-dom library diff --git a/app/package.json b/app/package.json index 3095c6ad..2911c122 100644 --- a/app/package.json +++ b/app/package.json @@ -27,14 +27,14 @@ "@lemon/css": "workspace:*", "@lemon/zest": "workspace:*", "@lemonmade/graphql-live": "^0.4.3", - "@lemonmade/remote-ui": "^0.3.3", - "@lemonmade/remote-ui-preact": "^0.4.1", - "@lemonmade/remote-ui-react": "^0.3.1", "@quilted/graphql": "^3.0.1", "@quilted/graphql-tools": "^0.2.0", "@quilted/localize": "^0.2.0", "@quilted/quilt": "^0.6.8", "@quilted/react-query": "^0.3.1", + "@remote-dom/core": "^0.1.0", + "@remote-dom/preact": "^0.1.0", + "@remote-dom/react": "^0.1.0", "@simplewebauthn/browser": "^6.2.0", "@simplewebauthn/server": "^6.2.0", "@stripe/stripe-js": "^1.46.0", diff --git a/app/shared/clips/Clip/Clip.tsx b/app/shared/clips/Clip/Clip.tsx index 1aa0ed8e..2bd23191 100644 --- a/app/shared/clips/Clip/Clip.tsx +++ b/app/shared/clips/Clip/Clip.tsx @@ -1,6 +1,6 @@ import {ComponentType, useEffect, useRef} from 'react'; import {type ExtensionPoint} from '@watching/clips'; -import {RemoteRootRenderer} from '@lemonmade/remote-ui-preact/host'; +import {RemoteRootRenderer} from '@remote-dom/preact/host'; import { Style, Popover, diff --git a/app/shared/clips/components.ts b/app/shared/clips/components.ts index 9698ba23..5cd64091 100644 --- a/app/shared/clips/components.ts +++ b/app/shared/clips/components.ts @@ -1,5 +1,5 @@ -import {RemoteFragmentRenderer} from '@lemonmade/remote-ui-preact/host'; -import {type RemoteComponentRendererMap} from '@lemonmade/remote-ui-react/host'; +import {RemoteFragmentRenderer} from '@remote-dom/preact/host'; +import {type RemoteComponentRendererMap} from '@remote-dom/react/host'; import {Action} from './components/Action.tsx'; import {BlockGrid} from './components/BlockGrid.tsx'; diff --git a/app/shared/clips/components/shared.ts b/app/shared/clips/components/shared.ts index 88fc7457..5829b5d2 100644 --- a/app/shared/clips/components/shared.ts +++ b/app/shared/clips/components/shared.ts @@ -4,14 +4,13 @@ import { type ForwardRefExoticComponent, type ForwardRefRenderFunction, } from 'react'; -import {type Elements} from '@watching/clips'; -import {type RemoteElement} from '@lemonmade/remote-ui/elements'; -import {createRemoteComponentRenderer} from '@lemonmade/remote-ui-preact/host'; +import {ElementConstructors, type Elements} from '@watching/clips'; +import {createRemoteComponentRenderer} from '@remote-dom/preact/host'; import { - type RemoteComponentType, - type RemoteComponentProps, type RemoteComponentRendererProps, -} from '@lemonmade/remote-ui-react/host'; + type RemoteComponentTypeFromElementConstructor, + type RemoteComponentPropsFromElementConstructor, +} from '@remote-dom/react/host'; import {signal, type Signal} from '@quilted/quilt/signals'; import { isThreadSignal, @@ -20,14 +19,10 @@ import { } from '@quilted/quilt/threads'; export type ReactComponentPropsForClipsElement = - Elements[Element] extends RemoteElement - ? RemoteComponentProps - : never; + RemoteComponentPropsFromElementConstructor; export type ReactComponentTypeForClipsElement = - Elements[Element] extends RemoteElement - ? RemoteComponentType - : never; + RemoteComponentTypeFromElementConstructor; export function createClipsComponent( element: Element, @@ -36,7 +31,7 @@ export function createClipsComponent( ReactComponentPropsForClipsElement >, ): ForwardRefExoticComponent { - return createRemoteComponentRenderer(Component, { + return createRemoteComponentRenderer(Component as any, { name: `Clips(${element})`, }) as any; } diff --git a/app/shared/clips/extension-points.ts b/app/shared/clips/extension-points.ts index 3e8ab0e0..06e853f0 100644 --- a/app/shared/clips/extension-points.ts +++ b/app/shared/clips/extension-points.ts @@ -5,7 +5,7 @@ import { type SharedGraphQLApi, type GraphQLApiForExtensionPoint, } from '@watching/clips'; -import type {RemoteComponentRendererMap} from '@lemonmade/remote-ui-react/host'; +import type {RemoteComponentRendererMap} from '@remote-dom/react/host'; import { type GraphQLLiveResolverCreateHelper, type GraphQLLiveResolverObject, diff --git a/app/shared/clips/extension.ts b/app/shared/clips/extension.ts index a9ac8cce..c86dace3 100644 --- a/app/shared/clips/extension.ts +++ b/app/shared/clips/extension.ts @@ -1,7 +1,7 @@ import {type Signal} from '@quilted/quilt/signals'; import {type ThreadCallable} from '@quilted/quilt/threads'; import {type ThreadRenderer} from '@watching/thread-render'; -import {type RemoteComponentRendererMap} from '@lemonmade/remote-ui-react/host'; +import {type RemoteComponentRendererMap} from '@remote-dom/react/host'; import {type Version, type ExtensionPoint, type Api} from '@watching/clips'; diff --git a/app/shared/clips/manager.ts b/app/shared/clips/manager.ts index fa268723..8afad748 100644 --- a/app/shared/clips/manager.ts +++ b/app/shared/clips/manager.ts @@ -182,7 +182,7 @@ export function createClipsManager( mutate: mutate as any, }; - await sandbox.render(options.target, receiver.receive, api as any); + await sandbox.render(options.target, receiver.connection, api as any); }, }); @@ -248,7 +248,7 @@ export function createClipsManager( mutate: mutate as any, }; - await sandbox.render(options.target, receiver.receive, api as any); + await sandbox.render(options.target, receiver.connection, api as any); }, }); diff --git a/app/shared/clips/sandbox/sandbox.ts b/app/shared/clips/sandbox/sandbox.ts index 901e08e9..d6ecb69b 100644 --- a/app/shared/clips/sandbox/sandbox.ts +++ b/app/shared/clips/sandbox/sandbox.ts @@ -4,7 +4,7 @@ import { createBasicEncoder, createThreadFromWebWorker, } from '@quilted/quilt/threads'; -import {type RemoteMutationCallback} from '@lemonmade/remote-ui'; +import {type RemoteConnection} from '@remote-dom/core'; import type { Api, @@ -71,14 +71,14 @@ export async function load(script: string, _: Version) { export async function render( id: T, - callback: RemoteMutationCallback, + connection: RemoteConnection, api: Api, ) { - retain(callback); + retain(connection); retain(api); // @ts-expect-error I can’t get TypeScript to understand the union types going on here... - return runExtensionPoint(id, callback, api); + return runExtensionPoint(id, connection, api); } type ArgumentsForExtensionPoint = Parameters< diff --git a/packages/clips-preact/package.json b/packages/clips-preact/package.json index 6a49c3e2..ad0b71b2 100644 --- a/packages/clips-preact/package.json +++ b/packages/clips-preact/package.json @@ -22,9 +22,9 @@ "build": "rollup --config configuration/rollup.config.js" }, "dependencies": { - "@lemonmade/remote-ui": "^0.3.3", - "@lemonmade/remote-ui-preact": "^0.4.1", - "@preact/signals-core": "^1.5.0" + "@preact/signals-core": "^1.5.0", + "@remote-dom/core": "^0.1.0", + "@remote-dom/preact": "^0.1.0" }, "peerDependencies": { "@watching/clips": "workspace:^", diff --git a/packages/clips-preact/source/components/Action.tsx b/packages/clips-preact/source/components/Action.tsx index af92f689..94834a76 100644 --- a/packages/clips-preact/source/components/Action.tsx +++ b/packages/clips-preact/source/components/Action.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Action as ActionElement} from '@watching/clips/elements'; export const Action = createRemoteComponent('ui-action', ActionElement); diff --git a/packages/clips-preact/source/components/BlockGrid.tsx b/packages/clips-preact/source/components/BlockGrid.tsx index b3179414..b31766aa 100644 --- a/packages/clips-preact/source/components/BlockGrid.tsx +++ b/packages/clips-preact/source/components/BlockGrid.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {BlockGrid as BlockGridElement} from '@watching/clips/elements'; export const BlockGrid = createRemoteComponent( diff --git a/packages/clips-preact/source/components/BlockStack.tsx b/packages/clips-preact/source/components/BlockStack.tsx index f189a75e..896b681d 100644 --- a/packages/clips-preact/source/components/BlockStack.tsx +++ b/packages/clips-preact/source/components/BlockStack.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {BlockStack as BlockStackElement} from '@watching/clips/elements'; export const BlockStack = createRemoteComponent( diff --git a/packages/clips-preact/source/components/Disclosure.tsx b/packages/clips-preact/source/components/Disclosure.tsx index 783c460b..45c09d5d 100644 --- a/packages/clips-preact/source/components/Disclosure.tsx +++ b/packages/clips-preact/source/components/Disclosure.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Disclosure as DisclosureElement} from '@watching/clips/elements'; export const Disclosure = createRemoteComponent( diff --git a/packages/clips-preact/source/components/Footer.tsx b/packages/clips-preact/source/components/Footer.tsx index 5ec41a12..7a0c4421 100644 --- a/packages/clips-preact/source/components/Footer.tsx +++ b/packages/clips-preact/source/components/Footer.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Footer as FooterElement} from '@watching/clips/elements'; export const Footer = createRemoteComponent('ui-footer', FooterElement); diff --git a/packages/clips-preact/source/components/Grid.tsx b/packages/clips-preact/source/components/Grid.tsx index 979e72eb..3cdd716d 100644 --- a/packages/clips-preact/source/components/Grid.tsx +++ b/packages/clips-preact/source/components/Grid.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Grid as GridElement} from '@watching/clips/elements'; export const Grid = createRemoteComponent('ui-grid', GridElement); diff --git a/packages/clips-preact/source/components/Header.tsx b/packages/clips-preact/source/components/Header.tsx index cd7357fc..10a4c144 100644 --- a/packages/clips-preact/source/components/Header.tsx +++ b/packages/clips-preact/source/components/Header.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Header as HeaderElement} from '@watching/clips/elements'; export const Header = createRemoteComponent('ui-header', HeaderElement); diff --git a/packages/clips-preact/source/components/Heading.tsx b/packages/clips-preact/source/components/Heading.tsx index 0af74435..48ed70fb 100644 --- a/packages/clips-preact/source/components/Heading.tsx +++ b/packages/clips-preact/source/components/Heading.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Heading as HeadingElement} from '@watching/clips/elements'; export const Heading = createRemoteComponent('ui-heading', HeadingElement); diff --git a/packages/clips-preact/source/components/Image.tsx b/packages/clips-preact/source/components/Image.tsx index caeb8d63..cb015f04 100644 --- a/packages/clips-preact/source/components/Image.tsx +++ b/packages/clips-preact/source/components/Image.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Image as ImageElement} from '@watching/clips/elements'; export const Image = createRemoteComponent('ui-image', ImageElement); diff --git a/packages/clips-preact/source/components/InlineGrid.tsx b/packages/clips-preact/source/components/InlineGrid.tsx index a451fa7f..abd2d316 100644 --- a/packages/clips-preact/source/components/InlineGrid.tsx +++ b/packages/clips-preact/source/components/InlineGrid.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {InlineGrid as InlineGridElement} from '@watching/clips/elements'; export const InlineGrid = createRemoteComponent( diff --git a/packages/clips-preact/source/components/InlineStack.tsx b/packages/clips-preact/source/components/InlineStack.tsx index 0bb2c078..1c238a36 100644 --- a/packages/clips-preact/source/components/InlineStack.tsx +++ b/packages/clips-preact/source/components/InlineStack.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {InlineStack as InlineStackElement} from '@watching/clips/elements'; export const InlineStack = createRemoteComponent( diff --git a/packages/clips-preact/source/components/Modal.tsx b/packages/clips-preact/source/components/Modal.tsx index 10fff5b1..031baa87 100644 --- a/packages/clips-preact/source/components/Modal.tsx +++ b/packages/clips-preact/source/components/Modal.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Modal as ModalElement} from '@watching/clips/elements'; export const Modal = createRemoteComponent('ui-modal', ModalElement); diff --git a/packages/clips-preact/source/components/Popover.tsx b/packages/clips-preact/source/components/Popover.tsx index 894b439b..393b1be6 100644 --- a/packages/clips-preact/source/components/Popover.tsx +++ b/packages/clips-preact/source/components/Popover.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Popover as PopoverElement} from '@watching/clips/elements'; export const Popover = createRemoteComponent('ui-popover', PopoverElement); diff --git a/packages/clips-preact/source/components/Section.tsx b/packages/clips-preact/source/components/Section.tsx index 92b46210..e0ab61d6 100644 --- a/packages/clips-preact/source/components/Section.tsx +++ b/packages/clips-preact/source/components/Section.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Section as SectionElement} from '@watching/clips/elements'; export const Section = createRemoteComponent('ui-section', SectionElement); diff --git a/packages/clips-preact/source/components/Stack.tsx b/packages/clips-preact/source/components/Stack.tsx index bafb261d..835e1abb 100644 --- a/packages/clips-preact/source/components/Stack.tsx +++ b/packages/clips-preact/source/components/Stack.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Stack as StackElement} from '@watching/clips/elements'; export const Stack = createRemoteComponent('ui-stack', StackElement); diff --git a/packages/clips-preact/source/components/Text.tsx b/packages/clips-preact/source/components/Text.tsx index 725887b0..5dfeadbf 100644 --- a/packages/clips-preact/source/components/Text.tsx +++ b/packages/clips-preact/source/components/Text.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {Text as TextElement} from '@watching/clips/elements'; export const Text = createRemoteComponent('ui-text', TextElement); diff --git a/packages/clips-preact/source/components/TextBlock.tsx b/packages/clips-preact/source/components/TextBlock.tsx index 2cca16a8..6cff5fc0 100644 --- a/packages/clips-preact/source/components/TextBlock.tsx +++ b/packages/clips-preact/source/components/TextBlock.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {TextBlock as TextBlockElement} from '@watching/clips/elements'; export const TextBlock = createRemoteComponent( diff --git a/packages/clips-preact/source/components/TextField.tsx b/packages/clips-preact/source/components/TextField.tsx index 08426c70..480e052d 100644 --- a/packages/clips-preact/source/components/TextField.tsx +++ b/packages/clips-preact/source/components/TextField.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {TextField as TextFieldElement} from '@watching/clips/elements'; export const TextField = createRemoteComponent( diff --git a/packages/clips-preact/source/components/View.tsx b/packages/clips-preact/source/components/View.tsx index ad9a80c4..4e05cffd 100644 --- a/packages/clips-preact/source/components/View.tsx +++ b/packages/clips-preact/source/components/View.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-preact'; +import {createRemoteComponent} from '@remote-dom/preact'; import {View as ViewElement} from '@watching/clips/elements'; export const View = createRemoteComponent('ui-view', ViewElement); diff --git a/packages/clips-preact/source/context.ts b/packages/clips-preact/source/context.ts index 0514655a..adf9fa19 100644 --- a/packages/clips-preact/source/context.ts +++ b/packages/clips-preact/source/context.ts @@ -5,7 +5,7 @@ import { type ExtensionPoint, type WithThreadSignals, } from '@watching/clips'; -import {type RemoteRootElement} from '@lemonmade/remote-ui/elements'; +import {type RemoteRootElement} from '@remote-dom/core/elements'; export interface ClipRenderDetails< Point extends ExtensionPoint = ExtensionPoint, diff --git a/packages/clips-preact/source/index.ts b/packages/clips-preact/source/index.ts index eb7ff0b4..90d198f3 100644 --- a/packages/clips-preact/source/index.ts +++ b/packages/clips-preact/source/index.ts @@ -1,6 +1,6 @@ export * from '@watching/clips'; export * from '@preact/signals-core'; -export {html} from '@lemonmade/remote-ui-preact/html'; +export {html} from '@remote-dom/preact/html'; export {extension} from './extension.tsx'; export { diff --git a/packages/clips-react/package.json b/packages/clips-react/package.json index e13120a1..62211868 100644 --- a/packages/clips-react/package.json +++ b/packages/clips-react/package.json @@ -21,9 +21,9 @@ "build": "rollup --config configuration/rollup.config.js" }, "dependencies": { - "@lemonmade/remote-ui": "^0.3.3", - "@lemonmade/remote-ui-react": "^0.3.1", "@preact/signals-core": "^1.5.0", + "@remote-dom/core": "^0.1.0", + "@remote-dom/react": "^0.1.0", "@types/react": "^18.2.39", "@types/react-dom": "^18.2.0" }, diff --git a/packages/clips-react/source/components/Action.tsx b/packages/clips-react/source/components/Action.tsx index ace8503e..0b4fb31f 100644 --- a/packages/clips-react/source/components/Action.tsx +++ b/packages/clips-react/source/components/Action.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Action as ActionElement} from '@watching/clips/elements'; export const Action = createRemoteComponent('ui-action', ActionElement); diff --git a/packages/clips-react/source/components/BlockGrid.tsx b/packages/clips-react/source/components/BlockGrid.tsx index ad83bd25..f53569b2 100644 --- a/packages/clips-react/source/components/BlockGrid.tsx +++ b/packages/clips-react/source/components/BlockGrid.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {BlockGrid as BlockGridElement} from '@watching/clips/elements'; export const BlockGrid = createRemoteComponent( diff --git a/packages/clips-react/source/components/BlockStack.tsx b/packages/clips-react/source/components/BlockStack.tsx index 6c867d36..6b360935 100644 --- a/packages/clips-react/source/components/BlockStack.tsx +++ b/packages/clips-react/source/components/BlockStack.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {BlockStack as BlockStackElement} from '@watching/clips/elements'; export const BlockStack = createRemoteComponent( diff --git a/packages/clips-react/source/components/Disclosure.tsx b/packages/clips-react/source/components/Disclosure.tsx index fa9b1cfd..2fa10c30 100644 --- a/packages/clips-react/source/components/Disclosure.tsx +++ b/packages/clips-react/source/components/Disclosure.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Disclosure as DisclosureElement} from '@watching/clips/elements'; export const Disclosure = createRemoteComponent( diff --git a/packages/clips-react/source/components/Footer.tsx b/packages/clips-react/source/components/Footer.tsx index b8e692f9..16a970cb 100644 --- a/packages/clips-react/source/components/Footer.tsx +++ b/packages/clips-react/source/components/Footer.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Footer as FooterElement} from '@watching/clips/elements'; export const Footer = createRemoteComponent('ui-footer', FooterElement); diff --git a/packages/clips-react/source/components/Grid.tsx b/packages/clips-react/source/components/Grid.tsx index d2832339..e5c0ff9e 100644 --- a/packages/clips-react/source/components/Grid.tsx +++ b/packages/clips-react/source/components/Grid.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Grid as GridElement} from '@watching/clips/elements'; export const Grid = createRemoteComponent('ui-grid', GridElement); diff --git a/packages/clips-react/source/components/Header.tsx b/packages/clips-react/source/components/Header.tsx index b8f0c879..ec07e1f0 100644 --- a/packages/clips-react/source/components/Header.tsx +++ b/packages/clips-react/source/components/Header.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Header as HeaderElement} from '@watching/clips/elements'; export const Header = createRemoteComponent('ui-header', HeaderElement); diff --git a/packages/clips-react/source/components/Heading.tsx b/packages/clips-react/source/components/Heading.tsx index 539267ff..9fc6197a 100644 --- a/packages/clips-react/source/components/Heading.tsx +++ b/packages/clips-react/source/components/Heading.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Heading as HeadingElement} from '@watching/clips/elements'; export const Heading = createRemoteComponent('ui-heading', HeadingElement); diff --git a/packages/clips-react/source/components/Image.tsx b/packages/clips-react/source/components/Image.tsx index d750619f..8223717c 100644 --- a/packages/clips-react/source/components/Image.tsx +++ b/packages/clips-react/source/components/Image.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Image as ImageElement} from '@watching/clips/elements'; export const Image = createRemoteComponent('ui-image', ImageElement); diff --git a/packages/clips-react/source/components/InlineGrid.tsx b/packages/clips-react/source/components/InlineGrid.tsx index 9ec9d98e..c91b35af 100644 --- a/packages/clips-react/source/components/InlineGrid.tsx +++ b/packages/clips-react/source/components/InlineGrid.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {InlineGrid as InlineGridElement} from '@watching/clips/elements'; export const InlineGrid = createRemoteComponent( diff --git a/packages/clips-react/source/components/InlineStack.tsx b/packages/clips-react/source/components/InlineStack.tsx index 87165c4d..49de5cdf 100644 --- a/packages/clips-react/source/components/InlineStack.tsx +++ b/packages/clips-react/source/components/InlineStack.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {InlineStack as InlineStackElement} from '@watching/clips/elements'; export const InlineStack = createRemoteComponent( diff --git a/packages/clips-react/source/components/Modal.tsx b/packages/clips-react/source/components/Modal.tsx index 2d1d7999..2c3b87d8 100644 --- a/packages/clips-react/source/components/Modal.tsx +++ b/packages/clips-react/source/components/Modal.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Modal as ModalElement} from '@watching/clips/elements'; export const Modal = createRemoteComponent('ui-modal', ModalElement); diff --git a/packages/clips-react/source/components/Popover.tsx b/packages/clips-react/source/components/Popover.tsx index 1852f0ee..c54fca69 100644 --- a/packages/clips-react/source/components/Popover.tsx +++ b/packages/clips-react/source/components/Popover.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Popover as PopoverElement} from '@watching/clips/elements'; export const Popover = createRemoteComponent('ui-popover', PopoverElement); diff --git a/packages/clips-react/source/components/Section.tsx b/packages/clips-react/source/components/Section.tsx index 2f707f22..d728ce1d 100644 --- a/packages/clips-react/source/components/Section.tsx +++ b/packages/clips-react/source/components/Section.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Section as SectionElement} from '@watching/clips/elements'; export const Section = createRemoteComponent('ui-section', SectionElement); diff --git a/packages/clips-react/source/components/Stack.tsx b/packages/clips-react/source/components/Stack.tsx index 1df72434..6a16881d 100644 --- a/packages/clips-react/source/components/Stack.tsx +++ b/packages/clips-react/source/components/Stack.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Stack as StackElement} from '@watching/clips/elements'; export const Stack = createRemoteComponent('ui-stack', StackElement); diff --git a/packages/clips-react/source/components/Text.tsx b/packages/clips-react/source/components/Text.tsx index 7d6e8dc9..08142044 100644 --- a/packages/clips-react/source/components/Text.tsx +++ b/packages/clips-react/source/components/Text.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {Text as TextElement} from '@watching/clips/elements'; export const Text = createRemoteComponent('ui-text', TextElement); diff --git a/packages/clips-react/source/components/TextBlock.tsx b/packages/clips-react/source/components/TextBlock.tsx index e3bc7253..91fc8959 100644 --- a/packages/clips-react/source/components/TextBlock.tsx +++ b/packages/clips-react/source/components/TextBlock.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {TextBlock as TextBlockElement} from '@watching/clips/elements'; export const TextBlock = createRemoteComponent( diff --git a/packages/clips-react/source/components/TextField.tsx b/packages/clips-react/source/components/TextField.tsx index da15edfd..3d2a2d95 100644 --- a/packages/clips-react/source/components/TextField.tsx +++ b/packages/clips-react/source/components/TextField.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {TextField as TextFieldElement} from '@watching/clips/elements'; export const TextField = createRemoteComponent( diff --git a/packages/clips-react/source/components/View.tsx b/packages/clips-react/source/components/View.tsx index d2a9b590..dc4d05e4 100644 --- a/packages/clips-react/source/components/View.tsx +++ b/packages/clips-react/source/components/View.tsx @@ -1,4 +1,4 @@ -import {createRemoteComponent} from '@lemonmade/remote-ui-react'; +import {createRemoteComponent} from '@remote-dom/react'; import {View as ViewElement} from '@watching/clips/elements'; export const View = createRemoteComponent('ui-view', ViewElement); diff --git a/packages/clips-react/source/context.ts b/packages/clips-react/source/context.ts index 501f3f6c..290443f6 100644 --- a/packages/clips-react/source/context.ts +++ b/packages/clips-react/source/context.ts @@ -4,7 +4,7 @@ import { type ExtensionPoint, type WithThreadSignals, } from '@watching/clips'; -import {type RemoteRootElement} from '@lemonmade/remote-ui/elements'; +import {type RemoteRootElement} from '@remote-dom/core/elements'; export interface ClipRenderDetails< Point extends ExtensionPoint = ExtensionPoint, diff --git a/packages/clips-react/source/extension.tsx b/packages/clips-react/source/extension.tsx index 4b03dfd9..1b4879b2 100644 --- a/packages/clips-react/source/extension.tsx +++ b/packages/clips-react/source/extension.tsx @@ -1,6 +1,6 @@ import {extension as domExtension} from '@watching/clips'; import type {Api, ExtensionPoint} from '@watching/clips'; -import '@lemonmade/remote-ui-react/polyfill'; +import '@remote-dom/react/polyfill'; import {type ReactNode} from 'react'; import {createRoot} from 'react-dom/client'; diff --git a/packages/clips-react/source/index.ts b/packages/clips-react/source/index.ts index e88938e1..14c80cc4 100644 --- a/packages/clips-react/source/index.ts +++ b/packages/clips-react/source/index.ts @@ -1,6 +1,6 @@ export * from '@watching/clips'; export * from '@preact/signals-core'; -export {html} from '@lemonmade/remote-ui-react/html'; +export {html} from '@remote-dom/react/html'; export {extension} from './extension.tsx'; export { diff --git a/packages/clips-svelte/package.json b/packages/clips-svelte/package.json index 5671809d..281d37f2 100644 --- a/packages/clips-svelte/package.json +++ b/packages/clips-svelte/package.json @@ -29,7 +29,7 @@ "build": "rollup --config configuration/rollup.config.js" }, "dependencies": { - "@lemonmade/remote-ui": "^0.3.3", + "@remote-dom/core": "^0.1.0", "@preact/signals-core": "^1.5.0" }, "peerDependencies": { diff --git a/packages/clips-svelte/source/context.ts b/packages/clips-svelte/source/context.ts index e353756d..4efa7e0c 100644 --- a/packages/clips-svelte/source/context.ts +++ b/packages/clips-svelte/source/context.ts @@ -1,6 +1,6 @@ import {getContext} from 'svelte'; import {type Api, type ExtensionPoint} from '@watching/clips'; -import {type RemoteRootElement} from '@lemonmade/remote-ui/elements'; +import {type RemoteRootElement} from '@remote-dom/core/elements'; export interface ClipRenderDetails< Point extends ExtensionPoint = ExtensionPoint, diff --git a/packages/clips/package.json b/packages/clips/package.json index b864d06f..d3a7d57f 100644 --- a/packages/clips/package.json +++ b/packages/clips/package.json @@ -57,10 +57,10 @@ "build": "rollup --config configuration/rollup.config.js" }, "dependencies": { - "@lemonmade/remote-ui": "^0.3.3", "@preact/signals-core": "^1.5.0", "@quilted/graphql": "^3.0.1", "@quilted/localize": "^0.2.0", - "@quilted/threads": "^2.1.0" + "@quilted/threads": "^2.1.0", + "@remote-dom/core": "^0.1.0" } } diff --git a/packages/clips/source/elements.ts b/packages/clips/source/elements.ts index 0b54aabc..5bfe341c 100644 --- a/packages/clips/source/elements.ts +++ b/packages/clips/source/elements.ts @@ -1,11 +1,11 @@ -import '@lemonmade/remote-ui/polyfill'; +import '@remote-dom/core/polyfill'; import { type RemoteElement, type RemoteElementConstructor, -} from '@lemonmade/remote-ui/elements'; +} from '@remote-dom/core/elements'; -export {html} from '@lemonmade/remote-ui/html'; +export {html} from '@remote-dom/core/html'; export * from './elements/elements.ts'; @@ -44,9 +44,10 @@ export namespace Elements { export type ElementConstructors = { [Key in keyof Elements]: Elements[Key] extends RemoteElement< infer Properties, + infer Methods, infer Slots > - ? RemoteElementConstructor + ? RemoteElementConstructor : never; }; diff --git a/packages/clips/source/elements/Action/Action.ts b/packages/clips/source/elements/Action/Action.ts index 780027f7..552e3916 100644 --- a/packages/clips/source/elements/Action/Action.ts +++ b/packages/clips/source/elements/Action/Action.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import {type SignalOrValue} from '../../signals.ts'; diff --git a/packages/clips/source/elements/BlockGrid/BlockGrid.ts b/packages/clips/source/elements/BlockGrid/BlockGrid.ts index a6844bb0..30797c09 100644 --- a/packages/clips/source/elements/BlockGrid/BlockGrid.ts +++ b/packages/clips/source/elements/BlockGrid/BlockGrid.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import { COMMON_GRID_PROPERTIES, diff --git a/packages/clips/source/elements/BlockStack/BlockStack.ts b/packages/clips/source/elements/BlockStack/BlockStack.ts index b38574b0..4c7f45ee 100644 --- a/packages/clips/source/elements/BlockStack/BlockStack.ts +++ b/packages/clips/source/elements/BlockStack/BlockStack.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import {COMMON_STACK_PROPERTIES, type StackProperties} from '../Stack.ts'; diff --git a/packages/clips/source/elements/Disclosure/Disclosure.ts b/packages/clips/source/elements/Disclosure/Disclosure.ts index 92623d1a..41d9157d 100644 --- a/packages/clips/source/elements/Disclosure/Disclosure.ts +++ b/packages/clips/source/elements/Disclosure/Disclosure.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; export interface DisclosureProperties { label?: string; @@ -18,6 +18,7 @@ export interface DisclosureSlots { */ export const Disclosure = createRemoteElement< DisclosureProperties, + {}, DisclosureSlots >({ properties: {label: {type: String}}, diff --git a/packages/clips/source/elements/Footer/Footer.ts b/packages/clips/source/elements/Footer/Footer.ts index 3bcab8f3..8d3aea12 100644 --- a/packages/clips/source/elements/Footer/Footer.ts +++ b/packages/clips/source/elements/Footer/Footer.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import {VIEW_PROPERTIES, type ViewProperties} from '../View.ts'; export interface FooterProperties extends ViewProperties {} diff --git a/packages/clips/source/elements/Grid/Grid.ts b/packages/clips/source/elements/Grid/Grid.ts index c6080390..b3f86f4d 100644 --- a/packages/clips/source/elements/Grid/Grid.ts +++ b/packages/clips/source/elements/Grid/Grid.ts @@ -2,7 +2,7 @@ import { createRemoteElement, type RemoteElementPropertyType, type RemoteElementPropertiesDefinition, -} from '@lemonmade/remote-ui/elements'; +} from '@remote-dom/core/elements'; import {VIEW_PROPERTIES, type ViewProperties} from '../View.ts'; import {RemoteElementSpacingValue} from '../shared.ts'; diff --git a/packages/clips/source/elements/Header/Header.ts b/packages/clips/source/elements/Header/Header.ts index 797a9fa3..fe5935b2 100644 --- a/packages/clips/source/elements/Header/Header.ts +++ b/packages/clips/source/elements/Header/Header.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import {VIEW_PROPERTIES, type ViewProperties} from '../View.ts'; export interface HeaderProperties extends ViewProperties {} diff --git a/packages/clips/source/elements/Heading/Heading.ts b/packages/clips/source/elements/Heading/Heading.ts index e955dc85..2f769acf 100644 --- a/packages/clips/source/elements/Heading/Heading.ts +++ b/packages/clips/source/elements/Heading/Heading.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; /** * A visual heading level, which corresponds to a theme-dependent visual design. diff --git a/packages/clips/source/elements/Image/Image.ts b/packages/clips/source/elements/Image/Image.ts index 762b1453..6ca88f26 100644 --- a/packages/clips/source/elements/Image/Image.ts +++ b/packages/clips/source/elements/Image/Image.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import { type CornerRadiusValue, diff --git a/packages/clips/source/elements/InlineGrid/InlineGrid.ts b/packages/clips/source/elements/InlineGrid/InlineGrid.ts index 2fdcf4a8..589994dd 100644 --- a/packages/clips/source/elements/InlineGrid/InlineGrid.ts +++ b/packages/clips/source/elements/InlineGrid/InlineGrid.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import { COMMON_GRID_PROPERTIES, diff --git a/packages/clips/source/elements/InlineStack/InlineStack.ts b/packages/clips/source/elements/InlineStack/InlineStack.ts index 8ccec479..5f734363 100644 --- a/packages/clips/source/elements/InlineStack/InlineStack.ts +++ b/packages/clips/source/elements/InlineStack/InlineStack.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import {COMMON_STACK_PROPERTIES, type StackProperties} from '../Stack.ts'; diff --git a/packages/clips/source/elements/Modal/Modal.ts b/packages/clips/source/elements/Modal/Modal.ts index eae053c8..d4f7885d 100644 --- a/packages/clips/source/elements/Modal/Modal.ts +++ b/packages/clips/source/elements/Modal/Modal.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; export interface ModalProperties { /** diff --git a/packages/clips/source/elements/Popover/Popover.ts b/packages/clips/source/elements/Popover/Popover.ts index 252b31f9..43ef8afe 100644 --- a/packages/clips/source/elements/Popover/Popover.ts +++ b/packages/clips/source/elements/Popover/Popover.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; export type PopoverBlockAttachment = 'start' | 'end'; export type PopoverInlineAttachment = 'start' | 'center' | 'end'; diff --git a/packages/clips/source/elements/Section/Section.ts b/packages/clips/source/elements/Section/Section.ts index 2105c6a6..b2af73c2 100644 --- a/packages/clips/source/elements/Section/Section.ts +++ b/packages/clips/source/elements/Section/Section.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import {VIEW_PROPERTIES, type ViewProperties} from '../View.ts'; export interface SectionProperties extends ViewProperties {} diff --git a/packages/clips/source/elements/SkeletonAction/SkeletonAction.ts b/packages/clips/source/elements/SkeletonAction/SkeletonAction.ts index d0f621c1..70c33f81 100644 --- a/packages/clips/source/elements/SkeletonAction/SkeletonAction.ts +++ b/packages/clips/source/elements/SkeletonAction/SkeletonAction.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import type {CSSLiteralValue} from '../../styles.ts'; diff --git a/packages/clips/source/elements/SkeletonText/SkeletonText.ts b/packages/clips/source/elements/SkeletonText/SkeletonText.ts index 946fe408..40bd6088 100644 --- a/packages/clips/source/elements/SkeletonText/SkeletonText.ts +++ b/packages/clips/source/elements/SkeletonText/SkeletonText.ts @@ -2,7 +2,7 @@ import { createRemoteElement, BooleanOrString, type RemoteElementPropertyType, -} from '@lemonmade/remote-ui/elements'; +} from '@remote-dom/core/elements'; import type {CSSLiteralValue} from '../../styles.ts'; diff --git a/packages/clips/source/elements/SkeletonTextBlock/SkeletonTextBlock.ts b/packages/clips/source/elements/SkeletonTextBlock/SkeletonTextBlock.ts index 2060591e..0e9726d2 100644 --- a/packages/clips/source/elements/SkeletonTextBlock/SkeletonTextBlock.ts +++ b/packages/clips/source/elements/SkeletonTextBlock/SkeletonTextBlock.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; export interface SkeletonTextBlockProperties { lines?: number; diff --git a/packages/clips/source/elements/SkeletonView/SkeletonView.ts b/packages/clips/source/elements/SkeletonView/SkeletonView.ts index c4f854df..38c0cadf 100644 --- a/packages/clips/source/elements/SkeletonView/SkeletonView.ts +++ b/packages/clips/source/elements/SkeletonView/SkeletonView.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import {VIEW_PROPERTIES, type ViewProperties} from '../View.ts'; diff --git a/packages/clips/source/elements/Stack/Stack.ts b/packages/clips/source/elements/Stack/Stack.ts index ee618798..636914ca 100644 --- a/packages/clips/source/elements/Stack/Stack.ts +++ b/packages/clips/source/elements/Stack/Stack.ts @@ -1,7 +1,7 @@ import { createRemoteElement, type RemoteElementPropertiesDefinition, -} from '@lemonmade/remote-ui/elements'; +} from '@remote-dom/core/elements'; import {VIEW_PROPERTIES, type ViewProperties} from '../View.ts'; import type { diff --git a/packages/clips/source/elements/Text/Text.ts b/packages/clips/source/elements/Text/Text.ts index c7985aaf..9ca864e9 100644 --- a/packages/clips/source/elements/Text/Text.ts +++ b/packages/clips/source/elements/Text/Text.ts @@ -2,7 +2,7 @@ import { createRemoteElement, BooleanOrString, type RemoteElementPropertyType, -} from '@lemonmade/remote-ui/elements'; +} from '@remote-dom/core/elements'; export interface TextProperties { emphasis?: boolean | 'strong' | 'subdued'; diff --git a/packages/clips/source/elements/TextBlock/TextBlock.ts b/packages/clips/source/elements/TextBlock/TextBlock.ts index aefed156..b3f64a76 100644 --- a/packages/clips/source/elements/TextBlock/TextBlock.ts +++ b/packages/clips/source/elements/TextBlock/TextBlock.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; export interface TextBlockProperties {} diff --git a/packages/clips/source/elements/TextField/TextField.ts b/packages/clips/source/elements/TextField/TextField.ts index 47c89460..a50f28b6 100644 --- a/packages/clips/source/elements/TextField/TextField.ts +++ b/packages/clips/source/elements/TextField/TextField.ts @@ -1,4 +1,4 @@ -import {createRemoteElement} from '@lemonmade/remote-ui/elements'; +import {createRemoteElement} from '@remote-dom/core/elements'; import {type SignalOrValue} from '../../signals.ts'; @@ -145,6 +145,7 @@ export interface TextFieldSlots { */ export const TextField = createRemoteElement< TextFieldProperties, + {}, TextFieldSlots >({ slots: ['label'], diff --git a/packages/clips/source/elements/View/View.ts b/packages/clips/source/elements/View/View.ts index 321e734d..5962be3b 100644 --- a/packages/clips/source/elements/View/View.ts +++ b/packages/clips/source/elements/View/View.ts @@ -1,7 +1,7 @@ import { createRemoteElement, type RemoteElementPropertiesDefinition, -} from '@lemonmade/remote-ui/elements'; +} from '@remote-dom/core/elements'; import {RemoteElementSpacingValue} from '../shared.ts'; import {type SpacingKeyword} from '../../styles.ts'; diff --git a/packages/clips/source/elements/shared.ts b/packages/clips/source/elements/shared.ts index 62c53bd8..0fd28333 100644 --- a/packages/clips/source/elements/shared.ts +++ b/packages/clips/source/elements/shared.ts @@ -1,7 +1,7 @@ import { BooleanOrString, type RemoteElementPropertyType, -} from '@lemonmade/remote-ui/elements'; +} from '@remote-dom/core/elements'; import {type SpacingValue, type CornerRadiusValue} from '../styles.ts'; diff --git a/packages/clips/source/extension-points.ts b/packages/clips/source/extension-points.ts index 77acd86b..85c09700 100644 --- a/packages/clips/source/extension-points.ts +++ b/packages/clips/source/extension-points.ts @@ -1,7 +1,7 @@ import type { + RemoteConnection, RemoteRootElement, - RemoteMutationCallback, -} from '@lemonmade/remote-ui/elements'; +} from '@remote-dom/core/elements'; import type {Api, ApiCore} from './api.ts'; import type { @@ -71,7 +71,7 @@ export interface RenderExtensionCore< _GraphQLApi = SharedGraphQLApi, > { ( - callback: RemoteMutationCallback, + connection: RemoteConnection, api: ApiCore, ): void | Promise; } diff --git a/packages/clips/source/extension.ts b/packages/clips/source/extension.ts index 98b822fb..478a0ac6 100644 --- a/packages/clips/source/extension.ts +++ b/packages/clips/source/extension.ts @@ -1,9 +1,9 @@ -import '@lemonmade/remote-ui/polyfill'; +import '@remote-dom/core/polyfill'; import { RemoteRootElement, RemoteFragmentElement, - type RemoteMutationCallback, -} from '@lemonmade/remote-ui/elements'; + type RemoteConnection, +} from '@remote-dom/core/elements'; import {createTranslate} from '@quilted/localize'; import type {LocalizeApi, ApiCore} from './api.ts'; @@ -31,7 +31,7 @@ export function extension< >( run: RenderExtension, ): RenderExtensionCore { - async function extension(callback: RemoteMutationCallback, api: any) { + async function extension(connection: RemoteConnection, api: any) { const root = document.createElement('remote-root'); const hydratedApi = acceptSignals(api as any); @@ -46,7 +46,7 @@ export function extension< hydratedApi.localize = localize; await (run as any)(root, hydratedApi); - root.connect(callback); + root.connect(connection); } return extension; diff --git a/packages/thread-render/package.json b/packages/thread-render/package.json index 92c2ae90..182bbc78 100644 --- a/packages/thread-render/package.json +++ b/packages/thread-render/package.json @@ -27,9 +27,10 @@ "build": "rollup --config configuration/rollup.config.js" }, "dependencies": { - "@lemonmade/remote-ui": "^0.3.3", "@preact/signals-core": "^1.5.0", "@quilted/events": "^2.0.0", - "@quilted/threads": "^2.1.0" + "@quilted/threads": "^2.1.0", + "@remote-dom/core": "^0.1.0", + "@remote-dom/signals": "^1.0.0" } } diff --git a/packages/thread-render/source/renderer.ts b/packages/thread-render/source/renderer.ts index 962d1d2d..532602a1 100644 --- a/packages/thread-render/source/renderer.ts +++ b/packages/thread-render/source/renderer.ts @@ -1,6 +1,6 @@ import {retain, release} from '@quilted/threads'; import {EventEmitter, raceAgainstAbortSignal} from '@quilted/events'; -import {SignalRemoteReceiver} from '@lemonmade/remote-ui/signals'; +import {SignalRemoteReceiver} from '@remote-dom/signals'; import {signal, computed} from '@preact/signals-core'; import { diff --git a/packages/thread-render/source/types.ts b/packages/thread-render/source/types.ts index 0570c47f..00c6fcbe 100644 --- a/packages/thread-render/source/types.ts +++ b/packages/thread-render/source/types.ts @@ -1,6 +1,6 @@ import {type ReadonlySignal} from '@preact/signals-core'; import {type EventEmitter} from '@quilted/events'; -import {type SignalRemoteReceiver} from '@lemonmade/remote-ui/signals'; +import {type SignalRemoteReceiver} from '@remote-dom/signals'; export interface ThreadRenderer> extends Pick, 'on' | 'once'> { diff --git a/packages/zest/package.json b/packages/zest/package.json index bc1e429b..872c9b8f 100644 --- a/packages/zest/package.json +++ b/packages/zest/package.json @@ -10,11 +10,11 @@ ], "dependencies": { "@lemon/css": "workspace:*", - "@lemonmade/remote-ui": "^0.3.3", - "@lemonmade/remote-ui-react": "^0.3.1", "@preact/signals-core": "^1.5.0", "@quilted/events": "^2.0.0", "@quilted/react-utilities": "^0.2.0", + "@remote-dom/core": "^0.1.0", + "@remote-dom/react": "^0.1.0", "@types/react": "^18.2.39", "@types/react-dom": "^18.0.0", "@watching/clips": "workspace:*", diff --git a/packages/zest/source/shared/clips.ts b/packages/zest/source/shared/clips.ts index 71a42cf8..555f5dec 100644 --- a/packages/zest/source/shared/clips.ts +++ b/packages/zest/source/shared/clips.ts @@ -2,7 +2,7 @@ import {type ElementConstructors} from '@watching/clips'; import { type RemoteComponentPropsFromElementConstructor, type RemoteComponentTypeFromElementConstructor, -} from '@lemonmade/remote-ui-react'; +} from '@remote-dom/react'; export type ReactComponentPropsForClipsElement< Element extends keyof ElementConstructors, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 413b5128..53abaebd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -147,15 +147,6 @@ importers: '@lemonmade/graphql-live': specifier: ^0.4.3 version: 0.4.3(graphql@16.8.1) - '@lemonmade/remote-ui': - specifier: ^0.3.3 - version: 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) - '@lemonmade/remote-ui-preact': - specifier: ^0.4.1 - version: 0.4.1(@preact/signals-core@1.5.0)(preact@10.19.2) - '@lemonmade/remote-ui-react': - specifier: ^0.3.1 - version: 0.3.1(@preact/signals-core@1.5.0)(@quilted/react@18.2.5)(preact@10.19.2) '@quilted/graphql': specifier: ^3.0.1 version: 3.0.1 @@ -171,6 +162,15 @@ importers: '@quilted/react-query': specifier: ^0.3.1 version: 0.3.1(@quilted/quilt@0.6.9)(@quilted/react@18.2.5)(@tanstack/react-query@5.8.4) + '@remote-dom/core': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) + '@remote-dom/preact': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(@preact/signals@1.2.2)(preact@10.19.2) + '@remote-dom/react': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(@quilted/react@18.2.5)(preact@10.19.2) '@simplewebauthn/browser': specifier: ^6.2.0 version: 6.2.1 @@ -431,9 +431,6 @@ importers: packages/clips: dependencies: - '@lemonmade/remote-ui': - specifier: ^0.3.3 - version: 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) '@preact/signals-core': specifier: ^1.5.0 version: 1.5.0 @@ -446,18 +443,21 @@ importers: '@quilted/threads': specifier: ^2.1.0 version: 2.1.0(@preact/signals-core@1.5.0) + '@remote-dom/core': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) packages/clips-preact: dependencies: - '@lemonmade/remote-ui': - specifier: ^0.3.3 - version: 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) - '@lemonmade/remote-ui-preact': - specifier: ^0.4.1 - version: 0.4.1(@preact/signals-core@1.5.0)(preact@10.19.2) '@preact/signals-core': specifier: ^1.5.0 version: 1.5.0 + '@remote-dom/core': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) + '@remote-dom/preact': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(@preact/signals@1.2.2)(preact@10.19.2) devDependencies: '@watching/clips': specifier: workspace:^ @@ -474,15 +474,15 @@ importers: packages/clips-react: dependencies: - '@lemonmade/remote-ui': - specifier: ^0.3.3 - version: 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) - '@lemonmade/remote-ui-react': - specifier: ^0.3.1 - version: 0.3.1(@preact/signals-core@1.5.0)(preact@10.19.2)(react@18.0.0) '@preact/signals-core': specifier: ^1.5.0 version: 1.5.0 + '@remote-dom/core': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) + '@remote-dom/react': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2)(react@18.0.0) '@types/react': specifier: ^18.2.39 version: 18.2.39 @@ -502,12 +502,12 @@ importers: packages/clips-svelte: dependencies: - '@lemonmade/remote-ui': - specifier: ^0.3.3 - version: 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) '@preact/signals-core': specifier: ^1.5.0 version: 1.5.0 + '@remote-dom/core': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) devDependencies: '@watching/clips': specifier: workspace:^ @@ -533,9 +533,6 @@ importers: packages/thread-render: dependencies: - '@lemonmade/remote-ui': - specifier: ^0.3.3 - version: 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) '@preact/signals-core': specifier: ^1.5.0 version: 1.5.0 @@ -545,6 +542,12 @@ importers: '@quilted/threads': specifier: ^2.1.0 version: 2.1.0(@preact/signals-core@1.5.0) + '@remote-dom/core': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) + '@remote-dom/signals': + specifier: ^1.0.0 + version: 1.0.0(@preact/signals-core@1.5.0)(@remote-dom/core@0.1.0) packages/tools: dependencies: @@ -597,12 +600,6 @@ importers: '@lemon/css': specifier: workspace:* version: link:../css - '@lemonmade/remote-ui': - specifier: ^0.3.3 - version: 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) - '@lemonmade/remote-ui-react': - specifier: ^0.3.1 - version: 0.3.1(@preact/signals-core@1.5.0)(@quilted/react@18.2.5)(preact@10.19.2) '@preact/signals-core': specifier: ^1.5.0 version: 1.5.0 @@ -612,6 +609,12 @@ importers: '@quilted/react-utilities': specifier: ^0.2.0 version: 0.2.0(@quilted/react@18.2.5) + '@remote-dom/core': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) + '@remote-dom/react': + specifier: ^0.1.0 + version: 0.1.0(@preact/signals-core@1.5.0)(@quilted/react@18.2.5)(preact@10.19.2) '@types/react': specifier: ^18.2.39 version: 18.2.39 @@ -3688,74 +3691,6 @@ packages: '@quilted/graphql': 3.0.1 graphql: 16.8.1 - /@lemonmade/remote-ui-preact@0.4.1(@preact/signals-core@1.5.0)(preact@10.19.2): - resolution: {integrity: sha512-P2xLAyAu0vTXRJXwnzbXG++FuEcHrHZVAktr99z40KqAwozabRet+zRU/E3XldHDg0YfcbI85duAEFF/qrbK8A==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@preact/signals-core': ^1.3.0 - preact: ^10.0.0 - peerDependenciesMeta: - '@preact/signals-core': - optional: true - preact: - optional: true - dependencies: - '@lemonmade/remote-ui': 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) - '@preact/signals-core': 1.5.0 - htm: 3.1.1 - preact: 10.19.2 - - /@lemonmade/remote-ui-react@0.3.1(@preact/signals-core@1.5.0)(@quilted/react@18.2.5)(preact@10.19.2): - resolution: {integrity: sha512-2fl6ewvi3gQd2DbuA6QnzceMlFZX6VCKuc3BEeNiUSFCLc/JV1EsclZvUjV89ZJyT0EYLpsq/LifIhj3uP0buQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - dependencies: - '@lemonmade/remote-ui': 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) - '@types/react': 18.2.39 - htm: 3.1.1 - react: /@quilted/react@18.2.5 - transitivePeerDependencies: - - '@preact/signals-core' - - preact - - /@lemonmade/remote-ui-react@0.3.1(@preact/signals-core@1.5.0)(preact@10.19.2)(react@18.0.0): - resolution: {integrity: sha512-2fl6ewvi3gQd2DbuA6QnzceMlFZX6VCKuc3BEeNiUSFCLc/JV1EsclZvUjV89ZJyT0EYLpsq/LifIhj3uP0buQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - dependencies: - '@lemonmade/remote-ui': 0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2) - '@types/react': 18.2.39 - htm: 3.1.1 - react: 18.0.0 - transitivePeerDependencies: - - '@preact/signals-core' - - preact - dev: false - - /@lemonmade/remote-ui@0.3.3(@preact/signals-core@1.5.0)(preact@10.19.2): - resolution: {integrity: sha512-iR7SeKdRtes3uApLStQ2cjr6Dj3SPzdDiKp7qMdp+tJ1qyy0cvHOWPm4Hl/ld7vJphMQUjzz/USHGHAmrzVQAg==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@preact/signals-core': ^1.3.0 - preact: '*' - peerDependenciesMeta: - '@preact/signals-core': - optional: true - preact: - optional: true - dependencies: - '@preact/signals-core': 1.5.0 - htm: 3.1.1 - preact: 10.19.2 - /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: @@ -4994,6 +4929,97 @@ packages: web-streams-polyfill: 3.2.1 dev: false + /@remote-dom/core@0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2): + resolution: {integrity: sha512-piiSMOYFQ0s57AiIw9hDRp4n20keQfu+LOyT8oJ1NsaHRVrafBAZ+WqM2cjsgirMK5ZkCKoPVO9RffoaEl7OUg==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@preact/signals-core': ^1.3.0 + preact: '*' + peerDependenciesMeta: + '@preact/signals-core': + optional: true + preact: + optional: true + dependencies: + '@preact/signals-core': 1.5.0 + '@remote-dom/polyfill': 0.1.0 + htm: 3.1.1 + preact: 10.19.2 + + /@remote-dom/polyfill@0.1.0: + resolution: {integrity: sha512-VW+JjT2mdwxdvj1RrEEbTMZERYUkRr5ASno92NpeHbp+FgTZXOzTSgkiQ7S00Aqp+kk45ZcipwbIgclUSEAUhg==} + engines: {node: '>=14.0.0'} + + /@remote-dom/preact@0.1.0(@preact/signals-core@1.5.0)(@preact/signals@1.2.2)(preact@10.19.2): + resolution: {integrity: sha512-ZcSCcUe4SD8g6uEnlOIpGcUIcV7t2nnqKAuAhDdS4xcPJU0PjOLbpL/PTVpLG9RqNbB/dhH6hXUSUphmPPh8nQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@preact/signals': ^1.2.0 + '@preact/signals-core': ^1.3.0 + preact: ^10.0.0 + peerDependenciesMeta: + '@preact/signals-core': + optional: true + preact: + optional: true + dependencies: + '@preact/signals': 1.2.2(preact@10.19.2) + '@preact/signals-core': 1.5.0 + '@remote-dom/core': 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) + '@remote-dom/signals': 1.0.0(@preact/signals-core@1.5.0)(@remote-dom/core@0.1.0) + htm: 3.1.1 + preact: 10.19.2 + + /@remote-dom/react@0.1.0(@preact/signals-core@1.5.0)(@quilted/react@18.2.5)(preact@10.19.2): + resolution: {integrity: sha512-n1YtY4suQXoSmPGUsBC4quiNGsw6ZCYpE/KJ/ZJubrM9CN0rYusct7n8PnhCzKDhbZdLAraE2hogVoZvwIMSHw==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + dependencies: + '@remote-dom/core': 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) + '@types/react': 18.2.39 + htm: 3.1.1 + react: /@quilted/react@18.2.5 + transitivePeerDependencies: + - '@preact/signals-core' + - preact + + /@remote-dom/react@0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2)(react@18.0.0): + resolution: {integrity: sha512-n1YtY4suQXoSmPGUsBC4quiNGsw6ZCYpE/KJ/ZJubrM9CN0rYusct7n8PnhCzKDhbZdLAraE2hogVoZvwIMSHw==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + dependencies: + '@remote-dom/core': 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) + '@types/react': 18.2.39 + htm: 3.1.1 + react: 18.0.0 + transitivePeerDependencies: + - '@preact/signals-core' + - preact + dev: false + + /@remote-dom/signals@1.0.0(@preact/signals-core@1.5.0)(@remote-dom/core@0.1.0): + resolution: {integrity: sha512-LwV81Tq9UGMAmkcKE0ozj3DUECN6wL36JnGqeHB7cd1MJFDnPPz7kXIPrfxf46fWKPogU8g/NC0ZG00onnewJQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@preact/signals-core': ^1.3.0 + '@remote-dom/core': ^0.1.0 + peerDependenciesMeta: + '@preact/signals-core': + optional: true + '@remote-dom/core': + optional: true + dependencies: + '@preact/signals-core': 1.5.0 + '@remote-dom/core': 0.1.0(@preact/signals-core@1.5.0)(preact@10.19.2) + /@rollup/plugin-alias@5.1.0(rollup@4.6.0): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'}