From 9314c5ed0e1ef71bd69211778ce84b5450354cc9 Mon Sep 17 00:00:00 2001 From: Trish Ta Date: Thu, 17 Oct 2024 11:39:32 -0400 Subject: [PATCH 01/12] Remote remote-ui references from Admin surface Add version string into registration call --- package.json | 1 + packages/ui-extensions-react/package.json | 9 ++- .../src/surfaces/admin/render.tsx | 12 ++-- packages/ui-extensions/loom.config.ts | 20 +++++- .../src/surfaces/admin/extension.ts | 8 ++- .../src/surfaces/admin/globals.ts | 3 +- .../src/surfaces/admin/registration.ts | 69 +++++++++++++++++++ yarn.lock | 43 +++++++++++- 8 files changed, 151 insertions(+), 14 deletions(-) create mode 100644 packages/ui-extensions/src/surfaces/admin/registration.ts diff --git a/package.json b/package.json index 89a4d1322d..e9b9703f6c 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "@shopify/loom-plugin-eslint": "^2.0.0", "@shopify/loom-plugin-prettier": "^2.0.0", "@shopify/typescript-configs": "^5.1.0", + "@rollup/plugin-replace": "^6.0.1", "eslint": "^8.28.0", "nodemon": "^2.0.4", "prettier": "^2.8.0", diff --git a/packages/ui-extensions-react/package.json b/packages/ui-extensions-react/package.json index d7523dc844..331dbce19d 100644 --- a/packages/ui-extensions-react/package.json +++ b/packages/ui-extensions-react/package.json @@ -63,11 +63,13 @@ "dependencies": { "@remote-ui/async-subscription": "^2.1.12", "@remote-ui/react": "^5.0.2", - "@types/react": ">=18.2.67" + "@types/react": ">=18.2.67", + "@types/react-dom": ">=18.2.67" }, "peerDependencies": { "@shopify/ui-extensions": "0.0.0-unstable", - "react": ">=18.0.0" + "react": ">=18.0.0", + "react-dom": ">=18.0.0" }, "peerDependenciesMeta": { "@shopify/ui-extensions": { @@ -75,6 +77,9 @@ }, "react": { "optional": false + }, + "react-dom": { + "optional": false } }, "devDependencies": { diff --git a/packages/ui-extensions-react/src/surfaces/admin/render.tsx b/packages/ui-extensions-react/src/surfaces/admin/render.tsx index 6984900d3b..eaf0b365c0 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/render.tsx +++ b/packages/ui-extensions-react/src/surfaces/admin/render.tsx @@ -1,5 +1,5 @@ import type {ReactElement} from 'react'; -import {render as remoteRender} from '@remote-ui/react'; +import {createRoot} from 'react-dom/client'; import {extension} from '@shopify/ui-extensions/admin'; import type { @@ -36,17 +36,15 @@ export function reactExtension( return extension<'Playground'>(target as any, async (root, api) => { const element = await render(api as ApiForRenderExtension); - await new Promise((resolve, reject) => { + await new Promise<() => void>((resolve, reject) => { try { - remoteRender( + const reactRoot = createRoot(root); + reactRoot.render( {element} , - root, - () => { - resolve(); - }, ); + resolve(() => reactRoot.unmount()); } catch (error) { // Workaround for https://github.com/Shopify/ui-extensions/issues/325 // eslint-disable-next-line no-console diff --git a/packages/ui-extensions/loom.config.ts b/packages/ui-extensions/loom.config.ts index e86417c32a..49eced95f0 100644 --- a/packages/ui-extensions/loom.config.ts +++ b/packages/ui-extensions/loom.config.ts @@ -1,6 +1,14 @@ import {createPackage} from '@shopify/loom'; +import {readFileSync} from 'fs'; +import {resolve} from 'path'; import {defaultProjectPlugin} from '../../config/loom'; +import {rollupPlugins} from '@shopify/loom-plugin-build-library'; +import replace from '@rollup/plugin-replace'; + +const packageJSON = JSON.parse( + readFileSync(resolve(__dirname, './package.json')).toString(), +); export default createPackage((pkg) => { pkg.entry({root: './src/index.ts'}); @@ -11,5 +19,15 @@ export default createPackage((pkg) => { name: 'customer-account', root: './src/surfaces/customer-account.ts', }); - pkg.use(defaultProjectPlugin()); + pkg.use( + defaultProjectPlugin(), + rollupPlugins([ + replace({ + values: { + __UI_EXTENSION_VERSION__: (packageJSON as any).version, + }, + preventAssignment: true, + }), + ]), + ); }); diff --git a/packages/ui-extensions/src/surfaces/admin/extension.ts b/packages/ui-extensions/src/surfaces/admin/extension.ts index f93c50cedc..f874b5860f 100644 --- a/packages/ui-extensions/src/surfaces/admin/extension.ts +++ b/packages/ui-extensions/src/surfaces/admin/extension.ts @@ -1,8 +1,12 @@ -import {createExtensionRegistrationFunction} from '../../utilities/registration'; +import {createExtensionRegistrationFunction} from './registration'; import type {ExtensionTargets} from './extension-targets'; -export * from '../../extension'; +export type { + RenderExtension, + RenderExtensionWithRoot, + ExtensionRegistrationFunctionWithRoot, +} from './registration'; export const extension = createExtensionRegistrationFunction(); diff --git a/packages/ui-extensions/src/surfaces/admin/globals.ts b/packages/ui-extensions/src/surfaces/admin/globals.ts index f4c61dc51f..7a765222c5 100644 --- a/packages/ui-extensions/src/surfaces/admin/globals.ts +++ b/packages/ui-extensions/src/surfaces/admin/globals.ts @@ -2,7 +2,8 @@ import type {ExtensionTargets} from './extension-targets'; export interface ShopifyGlobal { extend( - extension: ExtensionTarget, + target: ExtensionTarget, extend: ExtensionTargets[ExtensionTarget], + version?: string, ): void; } diff --git a/packages/ui-extensions/src/surfaces/admin/registration.ts b/packages/ui-extensions/src/surfaces/admin/registration.ts new file mode 100644 index 0000000000..3013d134ed --- /dev/null +++ b/packages/ui-extensions/src/surfaces/admin/registration.ts @@ -0,0 +1,69 @@ +export interface RenderExtension { + (root: HTMLElement, api: Api): void | Promise; +} + +export interface RenderExtensionWithRoot { + (root: HTMLElement, api: Api): () => void | Promise<() => void>; +} + +export interface RunnableExtension { + (api: Api): Output | Promise; +} + +export interface ExtensionRegistrationFunction { + ( + target: Target, + implementation: ExtensionTargets[Target], + ): ExtensionTargets[Target]; +} + +export interface ExtensionRegistrationFunctionWithRoot { + ( + target: Target, + implementation: ExtensionTargets[Target] extends RenderExtension + ? RenderExtensionWithRoot + : ExtensionTargets[Target], + ): ExtensionTargets[Target]; +} + +/** + * This function returns a type-safe registration function for rendering and non-rendering extensions. + */ +export function createExtensionRegistrationFunction< + ExtensionTargets, +>(): ExtensionRegistrationFunctionWithRoot { + const extensionWrapper: ExtensionRegistrationFunctionWithRoot< + ExtensionTargets + > = (target, implementation) => { + async function extension(...args: any[]) { + if (args.length === 1) { + return (implementation as any)(...args); + } + + const [root, api] = args as [HTMLElement, any]; + + // Rendering extensions have two arguments and return a clean up function. + let renderResult = (implementation as any)(root, api); + + if ( + typeof renderResult === 'object' && + renderResult != null && + 'then' in renderResult + ) { + renderResult = await renderResult; + } + // Return a noop if no clean up function was returned + return typeof renderResult === 'function' ? renderResult : () => {}; + } + + (globalThis as any).shopify?.extend( + target, + extension, + '@ui_extension_version:__UI_EXTENSION_VERSION__@', + ); + + return extension as any; + }; + + return extensionWrapper; +} diff --git a/yarn.lock b/yarn.lock index f33e6be4a9..5ca1799edf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1710,6 +1710,11 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" @@ -1844,6 +1849,14 @@ is-module "^1.0.0" resolve "^1.19.0" +"@rollup/plugin-replace@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-6.0.1.tgz#547e238f7db994ebe63dd5329ec46ffccf696029" + integrity sha512-2sPh9b73dj5IxuMmDAsQWVFT7mR+yoHweBaXG2W/R8vQ+IWZlnaI7BR7J6EguVQUp1hd8Z7XuozpDjEKQAAC2Q== + dependencies: + "@rollup/pluginutils" "^5.0.1" + magic-string "^0.30.3" + "@rollup/pluginutils@^3.1.0": version "3.1.0" resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" @@ -1853,6 +1866,15 @@ estree-walker "^1.0.1" picomatch "^2.2.2" +"@rollup/pluginutils@^5.0.1": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.2.tgz#d3bc9f0fea4fd4086aaac6aa102f3fa587ce8bd9" + integrity sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + "@shopify/babel-preset@^24.1.0", "@shopify/babel-preset@^24.1.4": version "24.1.5" resolved "https://registry.npmjs.org/@shopify/babel-preset/-/babel-preset-24.1.5.tgz" @@ -2081,6 +2103,11 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/estree@^1.0.0": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + "@types/fs-extra@^9.0.0": version "9.0.13" resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz" @@ -2170,6 +2197,13 @@ resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz" integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== +"@types/react-dom@>=18.2.67": + version "18.3.1" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.1.tgz#1e4654c08a9cdcfb6594c780ac59b55aad42fe07" + integrity sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ== + dependencies: + "@types/react" "*" + "@types/react-reconciler@>=0.26.0 <0.30.0": version "0.28.8" resolved "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.8.tgz" @@ -3762,7 +3796,7 @@ estree-walker@^1.0.1: resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== -estree-walker@^2.0.1: +estree-walker@^2.0.1, estree-walker@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== @@ -5368,6 +5402,13 @@ magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" +magic-string@^0.30.3: + version "0.30.12" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.12.tgz#9eb11c9d072b9bcb4940a5b2c2e1a217e4ee1a60" + integrity sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" From e0cb8edbf9fc9c9e0c36634c6c22da7455a2430c Mon Sep 17 00:00:00 2001 From: Trish Ta Date: Thu, 17 Oct 2024 13:59:55 -0400 Subject: [PATCH 02/12] Refactor components --- .changeset/pretty-terms-switch.md | 6 + .../components/AdminAction/AdminAction.ts | 14 +- .../admin/components/AdminBlock/AdminBlock.ts | 12 +- .../AdminPrintAction/AdminPrintAction.ts | 13 +- .../surfaces/admin/components/Badge/Badge.ts | 7 +- .../admin/components/Banner/Banner.ts | 12 +- .../admin/components/BlockStack/BlockStack.ts | 10 +- .../src/surfaces/admin/components/Box/Box.ts | 7 +- .../admin/components/Button/Button.ts | 9 +- .../admin/components/Checkbox/Checkbox.ts | 9 +- .../admin/components/ChoiceList/ChoiceList.ts | 10 +- .../components/ColorPicker/ColorPicker.ts | 10 +- .../CustomerSegmentTemplate.ts | 10 +- .../admin/components/DateField/DateField.ts | 6 +- .../admin/components/DatePicker/DatePicker.ts | 6 +- .../admin/components/Divider/Divider.ts | 6 +- .../admin/components/EmailField/EmailField.ts | 6 +- .../surfaces/admin/components/Form/Form.ts | 6 +- .../FunctionSettings/FunctionSettings.ts | 7 +- .../admin/components/Heading/Heading.ts | 6 +- .../components/HeadingGroup/HeadingGroup.ts | 6 +- .../surfaces/admin/components/Icon/Icon.ts | 6 +- .../surfaces/admin/components/Image/Image.ts | 7 +- .../components/InlineStack/InlineStack.ts | 10 +- .../InternalCustomerSegmentTemplate.ts | 10 +- .../InternalLocationList.ts | 10 +- .../surfaces/admin/components/Link/Link.ts | 6 +- .../admin/components/MoneyField/MoneyField.ts | 6 +- .../components/NumberField/NumberField.ts | 6 +- .../admin/components/Paragraph/Paragraph.ts | 6 +- .../components/PasswordField/PasswordField.ts | 6 +- .../admin/components/Pressable/Pressable.ts | 10 +- .../ProgressIndicator/ProgressIndicator.ts | 10 +- .../admin/components/Section/Section.ts | 6 +- .../admin/components/Select/Select.ts | 10 +- .../surfaces/admin/components/Text/Text.ts | 6 +- .../admin/components/TextArea/TextArea.ts | 9 +- .../admin/components/TextField/TextField.ts | 6 +- .../admin/components/URLField/URLField.ts | 6 +- .../src/surfaces/admin/components/util.ts | 39 ++++ .../src/surfaces/admin/render.tsx | 2 +- .../src/surfaces/admin/components.ts | 38 ---- .../components/AdminAction/AdminAction.ts | 8 - .../admin/components/AdminBlock/AdminBlock.ts | 6 - .../AdminPrintAction/AdminPrintAction.ts | 10 - .../surfaces/admin/components/Badge/Badge.ts | 3 - .../admin/components/Banner/Banner.ts | 4 +- .../admin/components/BlockStack/BlockStack.ts | 6 - .../src/surfaces/admin/components/Box/Box.ts | 3 - .../admin/components/Button/Button.ts | 3 - .../admin/components/Checkbox/Checkbox.ts | 5 - .../admin/components/ChoiceList/ChoiceList.ts | 5 - .../components/ColorPicker/ColorPicker.ts | 7 - .../CustomerSegmentTemplate.ts | 10 - .../admin/components/DateField/DateField.ts | 5 - .../admin/components/DatePicker/DatePicker.ts | 7 - .../admin/components/Divider/Divider.ts | 6 - .../admin/components/EmailField/EmailField.ts | 5 - .../surfaces/admin/components/Form/Form.ts | 4 - .../FunctionSettings/FunctionSettings.ts | 7 - .../admin/components/Heading/Heading.ts | 6 - .../components/HeadingGroup/HeadingGroup.ts | 7 - .../surfaces/admin/components/Icon/Icon.ts | 3 - .../surfaces/admin/components/Image/Image.ts | 3 - .../components/InlineStack/InlineStack.ts | 7 - .../InternalCustomerSegmentTemplate.ts | 10 - .../InternalLocationList.ts | 7 - .../surfaces/admin/components/Link/Link.ts | 3 - .../admin/components/MoneyField/MoneyField.ts | 5 - .../components/NumberField/NumberField.ts | 6 - .../admin/components/Paragraph/Paragraph.ts | 5 - .../components/PasswordField/PasswordField.ts | 6 - .../admin/components/Pressable/Pressable.ts | 5 - .../ProgressIndicator/ProgressIndicator.ts | 6 - .../admin/components/Section/Section.ts | 6 - .../admin/components/Select/Select.ts | 4 - .../surfaces/admin/components/Text/Text.ts | 3 - .../admin/components/TextArea/TextArea.ts | 6 - .../admin/components/TextField/TextField.ts | 5 - .../admin/components/URLField/URLField.ts | 5 - .../src/surfaces/admin/extension-targets.ts | 204 +++++------------- .../src/surfaces/admin/extension.ts | 1 - .../src/surfaces/admin/registration.ts | 10 +- 83 files changed, 221 insertions(+), 599 deletions(-) create mode 100644 .changeset/pretty-terms-switch.md create mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/util.ts diff --git a/.changeset/pretty-terms-switch.md b/.changeset/pretty-terms-switch.md new file mode 100644 index 0000000000..a79f1505cf --- /dev/null +++ b/.changeset/pretty-terms-switch.md @@ -0,0 +1,6 @@ +--- +'@shopify/ui-extensions-react': minor +'@shopify/ui-extensions': minor +--- + +Support remote-dom for Admin surface diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/AdminAction.ts b/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/AdminAction.ts index b2c2d76c21..7134a86e09 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/AdminAction.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/AdminAction.ts @@ -1,13 +1,5 @@ -import {AdminAction as BaseAdminAction} from '@shopify/ui-extensions/admin'; -import { - createRemoteReactComponent, - ReactPropsFromRemoteComponentType, -} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const AdminAction = createRemoteReactComponent(BaseAdminAction, { - fragmentProps: ['primaryAction', 'secondaryAction'], -}); +export type {AdminActionProps} from '@shopify/ui-extensions/admin'; -export type AdminActionProps = ReactPropsFromRemoteComponentType< - typeof BaseAdminAction ->; +export const AdminAction = createRemoteComponent('ui-admin-action'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/AdminBlock.ts b/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/AdminBlock.ts index a77456e099..69e548e094 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/AdminBlock.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/AdminBlock.ts @@ -1,11 +1,5 @@ -import {AdminBlock as BaseAdminBlock} from '@shopify/ui-extensions/admin'; -import { - createRemoteReactComponent, - ReactPropsFromRemoteComponentType, -} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const AdminBlock = createRemoteReactComponent(BaseAdminBlock); +export type {AdminBlockProps} from '@shopify/ui-extensions/admin'; -export type AdminBlockProps = ReactPropsFromRemoteComponentType< - typeof BaseAdminBlock ->; +export const AdminBlock = createRemoteComponent('ui-admin-block'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts b/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts index 2a68dad70b..cfbd27f3ea 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts @@ -1,12 +1,5 @@ -import {AdminPrintAction as BaseAdminPrintAction} from '@shopify/ui-extensions/admin'; -import { - createRemoteReactComponent, - ReactPropsFromRemoteComponentType, -} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const AdminPrintAction = - createRemoteReactComponent(BaseAdminPrintAction); +export type {AdminPrintActionProps} from '@shopify/ui-extensions/admin'; -export type AdminPrintActionProps = ReactPropsFromRemoteComponentType< - typeof BaseAdminPrintAction ->; +export const AdminPrintAction = createRemoteComponent('ui-admin-print-action'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Badge/Badge.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Badge/Badge.ts index 26ac638e51..051fc1ed8c 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Badge/Badge.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Badge/Badge.ts @@ -1,6 +1,5 @@ -import {Badge as BaseBadge} from '@shopify/ui-extensions/admin'; -import type {BadgeProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Badge = createRemoteReactComponent<'Badge', BadgeProps>(BaseBadge); export type {BadgeProps} from '@shopify/ui-extensions/admin'; + +export const Badge = createRemoteComponent('ui-badge'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Banner/Banner.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Banner/Banner.ts index 4ecdc31030..728a34947a 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Banner/Banner.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Banner/Banner.ts @@ -1,11 +1,5 @@ -import {Banner as BaseBanner} from '@shopify/ui-extensions/admin'; -import { - createRemoteReactComponent, - ReactPropsFromRemoteComponentType, -} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Banner = createRemoteReactComponent(BaseBanner, { - fragmentProps: ['primaryAction', 'secondaryAction'], -}); +export type {BannerProps} from '@shopify/ui-extensions/admin'; -export type BannerProps = ReactPropsFromRemoteComponentType; +export const Banner = createRemoteComponent('ui-banner'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/BlockStack.ts b/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/BlockStack.ts index dd606c36cc..fb4d04559b 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/BlockStack.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/BlockStack.ts @@ -1,9 +1,5 @@ -import {BlockStack as BaseBlockStack} from '@shopify/ui-extensions/admin'; -import type {BlockStackProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const BlockStack = createRemoteReactComponent< - 'BlockStack', - BlockStackProps ->(BaseBlockStack); export type {BlockStackProps} from '@shopify/ui-extensions/admin'; + +export const BlockStack = createRemoteComponent('ui-block-stack'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Box/Box.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Box/Box.ts index 05a4ca92ed..b5a8afb606 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Box/Box.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Box/Box.ts @@ -1,6 +1,5 @@ -import {Box as BaseBox} from '@shopify/ui-extensions/admin'; -import type {BoxProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Box = createRemoteReactComponent<'Box', BoxProps>(BaseBox); export type {BoxProps} from '@shopify/ui-extensions/admin'; + +export const Box = createRemoteComponent('ui-box'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Button/Button.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Button/Button.ts index 31376f27e9..931634df80 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Button/Button.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Button/Button.ts @@ -1,8 +1,5 @@ -import {Button as BaseButton} from '@shopify/ui-extensions/admin'; -import type {ButtonProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Button = createRemoteReactComponent<'Button', ButtonProps>( - BaseButton, -); export type {ButtonProps} from '@shopify/ui-extensions/admin'; + +export const Button = createRemoteComponent('ui-button'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/Checkbox.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/Checkbox.ts index 75ddfa2a82..0fc14909ac 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/Checkbox.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/Checkbox.ts @@ -1,8 +1,5 @@ -import {Checkbox as BaseCheckbox} from '@shopify/ui-extensions/admin'; -import type {CheckboxProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Checkbox = createRemoteReactComponent<'Checkbox', CheckboxProps>( - BaseCheckbox, -); export type {CheckboxProps} from '@shopify/ui-extensions/admin'; + +export const Checkbox = createRemoteComponent('ui-checkbox'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/ChoiceList.ts b/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/ChoiceList.ts index bc750e7cd9..4aa60d67b4 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/ChoiceList.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/ChoiceList.ts @@ -1,9 +1,5 @@ -import {ChoiceList as BaseChoiceList} from '@shopify/ui-extensions/admin'; -import type {ChoiceListProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const ChoiceList = createRemoteReactComponent< - 'ChoiceList', - ChoiceListProps ->(BaseChoiceList); export type {ChoiceListProps} from '@shopify/ui-extensions/admin'; + +export const ChoiceList = createRemoteComponent('ui-choice-list'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/ColorPicker.ts b/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/ColorPicker.ts index 06217b89b1..375de0137a 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/ColorPicker.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/ColorPicker.ts @@ -1,9 +1,5 @@ -import {ColorPicker as BaseColorPicker} from '@shopify/ui-extensions/admin'; -import type {ColorPickerProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const ColorPicker = createRemoteReactComponent< - 'ColorPicker', - ColorPickerProps ->(BaseColorPicker); export type {ColorPickerProps} from '@shopify/ui-extensions/admin'; + +export const ColorPicker = createRemoteComponent('ui-color-picker'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts b/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts index 71ec0058b4..8110f65782 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts @@ -1,7 +1,7 @@ -import {CustomerSegmentTemplate as BaseCustomerSegmentTemplate} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const CustomerSegmentTemplate = createRemoteReactComponent( - BaseCustomerSegmentTemplate, -); export type {CustomerSegmentTemplateProps} from '@shopify/ui-extensions/admin'; + +export const CustomerSegmentTemplate = createRemoteComponent( + 'ui-customer-segment-template', +); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/DateField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/DateField/DateField.ts index 9c2cbf3134..c56494551d 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/DateField.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/DateField/DateField.ts @@ -1,5 +1,5 @@ -import {DateField as BaseDateField} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const DateField = createRemoteReactComponent(BaseDateField); export type {DateFieldProps} from '@shopify/ui-extensions/admin'; + +export const DateField = createRemoteComponent('ui-date-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/DatePicker.ts b/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/DatePicker.ts index 54923a8ad5..21f3cdbfeb 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/DatePicker.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/DatePicker.ts @@ -1,5 +1,5 @@ -import {DatePicker as BaseDatePicker} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const DatePicker = createRemoteReactComponent(BaseDatePicker); export type {DatePickerProps} from '@shopify/ui-extensions/admin'; + +export const DatePicker = createRemoteComponent('ui-date-picker'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Divider/Divider.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Divider/Divider.ts index 0b2a3a535e..a26fac0e38 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Divider/Divider.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Divider/Divider.ts @@ -1,5 +1,5 @@ -import {Divider as BaseDivider} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Divider = createRemoteReactComponent(BaseDivider); export type {DividerProps} from '@shopify/ui-extensions/admin'; + +export const Divider = createRemoteComponent('ui-divider'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/EmailField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/EmailField.ts index fb96dc2f8e..6c3b7de33c 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/EmailField.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/EmailField.ts @@ -1,5 +1,5 @@ -import {EmailField as BaseEmailField} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const EmailField = createRemoteReactComponent(BaseEmailField); export type {EmailFieldProps} from '@shopify/ui-extensions/admin'; + +export const EmailField = createRemoteComponent('ui-email-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Form/Form.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Form/Form.ts index 68e3f4c308..d62ad110e5 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Form/Form.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Form/Form.ts @@ -1,5 +1,5 @@ -import {Form as BaseForm} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Form = createRemoteReactComponent(BaseForm); export type {FormProps} from '@shopify/ui-extensions/admin'; + +export const Form = createRemoteComponent('ui-form'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts b/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts index a656e3fd0e..4aadb0e056 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts @@ -1,9 +1,8 @@ -import {FunctionSettings as BaseFunctionSettings} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const FunctionSettings = - createRemoteReactComponent(BaseFunctionSettings); export type { FunctionSettingsProps, FunctionSettingsError, } from '@shopify/ui-extensions/admin'; + +export const FunctionSettings = createRemoteComponent('ui-functipo'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Heading/Heading.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Heading/Heading.ts index 771b352bea..b6e6d73b61 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Heading/Heading.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Heading/Heading.ts @@ -1,5 +1,5 @@ -import {Heading as BaseHeading} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Heading = createRemoteReactComponent(BaseHeading); export type {HeadingProps} from '@shopify/ui-extensions/admin'; + +export const Heading = createRemoteComponent('ui-heading'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts b/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts index 32f411f5da..7f6f45c247 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts @@ -1,5 +1,5 @@ -import {HeadingGroup as BaseHeadingGroup} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const HeadingGroup = createRemoteReactComponent(BaseHeadingGroup); export type {HeadingGroupProps} from '@shopify/ui-extensions/admin'; + +export const HeadingGroup = createRemoteComponent('ui-heading-group'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Icon/Icon.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Icon/Icon.ts index 45aaa47154..c50233a7c3 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Icon/Icon.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Icon/Icon.ts @@ -1,5 +1,5 @@ -import {Icon as BaseIcon} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Icon = createRemoteReactComponent(BaseIcon); export type {IconProps} from '@shopify/ui-extensions/admin'; + +export const Icon = createRemoteComponent('ui-icon'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Image/Image.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Image/Image.ts index 4440a48eb1..82b47d2918 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Image/Image.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Image/Image.ts @@ -1,6 +1,5 @@ -import {Image as BaseImage} from '@shopify/ui-extensions/admin'; -import type {ImageProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Image = createRemoteReactComponent<'Image', ImageProps>(BaseImage); export type {ImageProps} from '@shopify/ui-extensions/admin'; + +export const Image = createRemoteComponent('ui-image'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/InlineStack.ts b/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/InlineStack.ts index 7b8eba3454..140cc12bf6 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/InlineStack.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/InlineStack.ts @@ -1,9 +1,5 @@ -import {InlineStack as BaseInlineStack} from '@shopify/ui-extensions/admin'; -import type {InlineStackProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const InlineStack = createRemoteReactComponent< - 'InlineStack', - InlineStackProps ->(BaseInlineStack); export type {InlineStackProps} from '@shopify/ui-extensions/admin'; + +export const InlineStack = createRemoteComponent('ui-inline-stack'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts b/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts index d41489cfbe..74b94026cd 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts @@ -1,7 +1,7 @@ -import {InternalCustomerSegmentTemplate as BaseInternalCustomerSegmentTemplate} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const InternalCustomerSegmentTemplate = createRemoteReactComponent( - BaseInternalCustomerSegmentTemplate, -); export type {InternalCustomerSegmentTemplateProps} from '@shopify/ui-extensions/admin'; + +export const InternalCustomerSegmentTemplate = createRemoteComponent( + 'ui-internal-customer-segment-template', +); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts b/packages/ui-extensions-react/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts index 72e392ed18..557356e83e 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts @@ -1,7 +1,7 @@ -import {InternalLocationList as BaseInternalLocationList} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const InternalLocationList = createRemoteReactComponent( - BaseInternalLocationList, -); export type {InternalLocationListProps} from '@shopify/ui-extensions/admin'; + +export const InternalLocationList = createRemoteComponent( + 'ui-internal-location-list', +); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Link/Link.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Link/Link.ts index 7839408e6f..bda27989cb 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Link/Link.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Link/Link.ts @@ -1,5 +1,5 @@ -import {Link as BaseLink} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Link = createRemoteReactComponent(BaseLink); export type {LinkProps} from '@shopify/ui-extensions/admin'; + +export const Link = createRemoteComponent('ui-link'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/MoneyField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/MoneyField.ts index d2f04f946b..f176a02a64 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/MoneyField.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/MoneyField.ts @@ -1,5 +1,5 @@ -import {MoneyField as BaseMoneyField} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const MoneyField = createRemoteReactComponent(BaseMoneyField); export type {MoneyFieldProps} from '@shopify/ui-extensions/admin'; + +export const MoneyField = createRemoteComponent('ui-money-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/NumberField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/NumberField.ts index dff37fc7ad..3f44e86e6c 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/NumberField.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/NumberField.ts @@ -1,5 +1,5 @@ -import {NumberField as BaseNumberField} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const NumberField = createRemoteReactComponent(BaseNumberField); export type {NumberFieldProps} from '@shopify/ui-extensions/admin'; + +export const NumberField = createRemoteComponent('ui-number-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/Paragraph.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/Paragraph.ts index 0a3ada05d5..d727b8839a 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/Paragraph.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/Paragraph.ts @@ -1,5 +1,5 @@ -import {Paragraph as BaseParagraph} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Paragraph = createRemoteReactComponent(BaseParagraph); export type {ParagraphProps} from '@shopify/ui-extensions/admin'; + +export const Paragraph = createRemoteComponent('ui-paragraph'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/PasswordField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/PasswordField.ts index 42d1785e28..68f167a407 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/PasswordField.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/PasswordField.ts @@ -1,5 +1,5 @@ -import {PasswordField as BasePasswordField} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const PasswordField = createRemoteReactComponent(BasePasswordField); export type {PasswordFieldProps} from '@shopify/ui-extensions/admin'; + +export const PasswordField = createRemoteComponent('ui-password-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/Pressable.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/Pressable.ts index bac20a88a4..fcca37defb 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/Pressable.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/Pressable.ts @@ -1,9 +1,5 @@ -import {Pressable as BasePressable} from '@shopify/ui-extensions/admin'; -import type {PressableProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Pressable = createRemoteReactComponent< - 'Pressable', - PressableProps ->(BasePressable); export type {PressableProps} from '@shopify/ui-extensions/admin'; + +export const Pressable = createRemoteComponent('ui-pressable'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts b/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts index 655e9ab99d..b10c177190 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts @@ -1,9 +1,5 @@ -import {ProgressIndicator as BaseProgressIndicator} from '@shopify/ui-extensions/admin'; -import type {ProgressIndicatorProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const ProgressIndicator = createRemoteReactComponent< - 'ProgressIndicator', - ProgressIndicatorProps ->(BaseProgressIndicator); export type {ProgressIndicatorProps} from '@shopify/ui-extensions/admin'; + +export const ProgressIndicator = createRemoteComponent('ui-progress-indicator'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Section/Section.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Section/Section.ts index d4413c2db0..6cc484c553 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Section/Section.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Section/Section.ts @@ -1,5 +1,5 @@ -import {Section as BaseSection} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Section = createRemoteReactComponent(BaseSection); export type {SectionProps} from '@shopify/ui-extensions/admin'; + +export const Section = createRemoteComponent('ui-section'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Select/Select.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Select/Select.ts index 92bfcc35a4..9f0b79f156 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Select/Select.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Select/Select.ts @@ -1,11 +1,11 @@ -import {Select as BaseSelect} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Select = createRemoteReactComponent(BaseSelect); export type { SelectProps, - OptionProps, - OptionGroupProps, OptionDescription, OptionGroupDescription, + OptionGroupProps, + OptionProps, } from '@shopify/ui-extensions/admin'; + +export const Select = createRemoteComponent('ui-select'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Text/Text.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Text/Text.ts index da9044c131..8f040b4fce 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Text/Text.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/Text/Text.ts @@ -1,5 +1,5 @@ -import {Text as BaseText} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const Text = createRemoteReactComponent(BaseText); export type {TextProps} from '@shopify/ui-extensions/admin'; + +export const Text = createRemoteComponent('ui-text'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/TextArea/TextArea.ts b/packages/ui-extensions-react/src/surfaces/admin/components/TextArea/TextArea.ts index e0e88fe373..a9f53e617f 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/TextArea/TextArea.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/TextArea/TextArea.ts @@ -1,8 +1,5 @@ -import {TextArea as BaseTextArea} from '@shopify/ui-extensions/admin'; -import type {TextAreaProps} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const TextArea = createRemoteReactComponent<'TextArea', TextAreaProps>( - BaseTextArea, -); export type {TextAreaProps} from '@shopify/ui-extensions/admin'; + +export const TextArea = createRemoteComponent('ui-text-area'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/TextField/TextField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/TextField/TextField.ts index 1442cb606d..624fb6eed5 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/TextField/TextField.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/TextField/TextField.ts @@ -1,5 +1,5 @@ -import {TextField as BaseTextField} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const TextField = createRemoteReactComponent(BaseTextField); export type {TextFieldProps} from '@shopify/ui-extensions/admin'; + +export const TextField = createRemoteComponent('ui-text-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/URLField/URLField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/URLField/URLField.ts index f6c2d0d074..1811e45fdd 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/components/URLField/URLField.ts +++ b/packages/ui-extensions-react/src/surfaces/admin/components/URLField/URLField.ts @@ -1,5 +1,5 @@ -import {URLField as BaseURLField} from '@shopify/ui-extensions/admin'; -import {createRemoteReactComponent} from '@remote-ui/react'; +import {createRemoteComponent} from '../util'; -export const URLField = createRemoteReactComponent(BaseURLField); export type {URLFieldProps} from '@shopify/ui-extensions/admin'; + +export const URLField = createRemoteComponent('ui-url-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/util.ts b/packages/ui-extensions-react/src/surfaces/admin/components/util.ts new file mode 100644 index 0000000000..f011fda1c5 --- /dev/null +++ b/packages/ui-extensions-react/src/surfaces/admin/components/util.ts @@ -0,0 +1,39 @@ +import { + createElement, + useRef, + useLayoutEffect, + useCallback, + forwardRef, + ComponentType, +} from 'react'; + +// These are the pieces of the passed-in copy of `react` we use: +export interface InjectedReact { + createElement: typeof createElement; + useRef: typeof useRef; + useLayoutEffect: typeof useLayoutEffect; + useCallback: typeof useCallback; + forwardRef: typeof forwardRef; +} + +declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace + namespace shopify { + const _createReactRemoteComponent: ( + methods: InjectedReact, + name: string, + ) => ComponentType; + } +} + +export const createRemoteComponent = (name: string) => + shopify._createReactRemoteComponent( + { + createElement, + useRef, + useLayoutEffect, + useCallback, + forwardRef, + }, + name, + ); diff --git a/packages/ui-extensions-react/src/surfaces/admin/render.tsx b/packages/ui-extensions-react/src/surfaces/admin/render.tsx index eaf0b365c0..047603fe6d 100644 --- a/packages/ui-extensions-react/src/surfaces/admin/render.tsx +++ b/packages/ui-extensions-react/src/surfaces/admin/render.tsx @@ -36,7 +36,7 @@ export function reactExtension( return extension<'Playground'>(target as any, async (root, api) => { const element = await render(api as ApiForRenderExtension); - await new Promise<() => void>((resolve, reject) => { + return new Promise<() => void>((resolve, reject) => { try { const reactRoot = createRoot(root); reactRoot.render( diff --git a/packages/ui-extensions/src/surfaces/admin/components.ts b/packages/ui-extensions/src/surfaces/admin/components.ts index 2308539de5..555a77ce12 100644 --- a/packages/ui-extensions/src/surfaces/admin/components.ts +++ b/packages/ui-extensions/src/surfaces/admin/components.ts @@ -1,75 +1,42 @@ -export {AdminAction} from './components/AdminAction/AdminAction'; export type {AdminActionProps} from './components/AdminAction/AdminAction'; -export {AdminPrintAction} from './components/AdminPrintAction/AdminPrintAction'; export type {AdminPrintActionProps} from './components/AdminPrintAction/AdminPrintAction'; -export {AdminBlock} from './components/AdminBlock/AdminBlock'; export type {AdminBlockProps} from './components/AdminBlock/AdminBlock'; -export {Badge} from './components/Badge/Badge'; export type {BadgeProps} from './components/Badge/Badge'; -export {Banner} from './components/Banner/Banner'; export type {BannerProps} from './components/Banner/Banner'; -export {BlockStack} from './components/BlockStack/BlockStack'; export type {BlockStackProps} from './components/BlockStack/BlockStack'; -export {Box} from './components/Box/Box'; export type {BoxProps} from './components/Box/Box'; -export {Button} from './components/Button/Button'; export type {ButtonProps} from './components/Button/Button'; -export {Checkbox} from './components/Checkbox/Checkbox'; export type {CheckboxProps} from './components/Checkbox/Checkbox'; -export {ChoiceList} from './components/ChoiceList/ChoiceList'; export type {ChoiceListProps} from './components/ChoiceList/ChoiceList'; -export {ColorPicker} from './components/ColorPicker/ColorPicker'; export type {ColorPickerProps} from './components/ColorPicker/ColorPicker'; -export {CustomerSegmentTemplate} from './components/CustomerSegmentTemplate/CustomerSegmentTemplate'; export type {CustomerSegmentTemplateProps} from './components/CustomerSegmentTemplate/CustomerSegmentTemplate'; -export {DateField} from './components/DateField/DateField'; export type {DateFieldProps} from './components/DateField/DateField'; -export {DatePicker} from './components/DatePicker/DatePicker'; export type {DatePickerProps} from './components/DatePicker/DatePicker'; -export {Divider} from './components/Divider/Divider'; export type {DividerProps} from './components/Divider/Divider'; -export {EmailField} from './components/EmailField/EmailField'; export type {EmailFieldProps} from './components/EmailField/EmailField'; -export {Form} from './components/Form/Form'; export type {FormProps} from './components/Form/Form'; -export {FunctionSettings} from './components/FunctionSettings/FunctionSettings'; export type { FunctionSettingsProps, FunctionSettingsError, } from './components/FunctionSettings/FunctionSettings'; -export {Heading} from './components/Heading/Heading'; export type {HeadingProps} from './components/Heading/Heading'; -export {HeadingGroup} from './components/HeadingGroup/HeadingGroup'; export type {HeadingGroupProps} from './components/HeadingGroup/HeadingGroup'; -export {Icon} from './components/Icon/Icon'; export type {IconProps} from './components/Icon/Icon'; -export {InlineStack} from './components/InlineStack/InlineStack'; export type {InlineStackProps} from './components/InlineStack/InlineStack'; -export {InternalCustomerSegmentTemplate} from './components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate'; export type { InternalCustomerSegmentTemplateProps, CustomerSegmentTemplateIcon, CustomerSegmentTemplateCategory, } from './components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate'; -export {Image} from './components/Image/Image'; export type {ImageProps} from './components/Image/Image'; -export {Link} from './components/Link/Link'; export type {LinkProps} from './components/Link/Link'; -export {MoneyField} from './components/MoneyField/MoneyField'; export type {MoneyFieldProps} from './components/MoneyField/MoneyField'; -export {NumberField} from './components/NumberField/NumberField'; export type {NumberFieldProps} from './components/NumberField/NumberField'; -export {Paragraph} from './components/Paragraph/Paragraph'; export type {ParagraphProps} from './components/Paragraph/Paragraph'; -export {PasswordField} from './components/PasswordField/PasswordField'; export type {PasswordFieldProps} from './components/PasswordField/PasswordField'; -export {Pressable} from './components/Pressable/Pressable'; export type {PressableProps} from './components/Pressable/Pressable'; -export {ProgressIndicator} from './components/ProgressIndicator/ProgressIndicator'; export type {ProgressIndicatorProps} from './components/ProgressIndicator/ProgressIndicator'; -export {Section} from './components/Section/Section'; export type {SectionProps} from './components/Section/Section'; -export {Select} from './components/Select/Select'; export type { OptionDescription, OptionGroupDescription, @@ -77,13 +44,8 @@ export type { OptionProps, SelectProps, } from './components/Select/Select'; -export {Text} from './components/Text/Text'; export type {TextProps} from './components/Text/Text'; -export {TextArea} from './components/TextArea/TextArea'; export type {TextAreaProps} from './components/TextArea/TextArea'; -export {TextField} from './components/TextField/TextField'; export type {TextFieldProps} from './components/TextField/TextField'; -export {URLField} from './components/URLField/URLField'; export type {URLFieldProps} from './components/URLField/URLField'; -export {InternalLocationList} from './components/InternalLocationList/InternalLocationList'; export type {InternalLocationListProps} from './components/InternalLocationList/InternalLocationList'; diff --git a/packages/ui-extensions/src/surfaces/admin/components/AdminAction/AdminAction.ts b/packages/ui-extensions/src/surfaces/admin/components/AdminAction/AdminAction.ts index 63503ffa95..15e022a93a 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/AdminAction/AdminAction.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/AdminAction/AdminAction.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type {RemoteFragment} from '@remote-ui/core'; export interface AdminActionProps { @@ -22,10 +21,3 @@ export interface AdminActionProps { */ loading?: boolean; } -/** - * AdminAction is a component used by Admin Action extensions to configure a primary and secondary action and title. - */ -export const AdminAction = createRemoteComponent< - 'AdminAction', - AdminActionProps ->('AdminAction'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/AdminBlock/AdminBlock.ts b/packages/ui-extensions/src/surfaces/admin/components/AdminBlock/AdminBlock.ts index dffca8a604..846dd6a762 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/AdminBlock/AdminBlock.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/AdminBlock/AdminBlock.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface AdminBlockProps { /** * The title to display at the top of the app block. If not provided, the name of the extension will be used. Titles longer than 40 characters will be truncated. @@ -13,7 +11,3 @@ export interface AdminBlockProps { */ summary?: string; } - -export const AdminBlock = createRemoteComponent<'AdminBlock', AdminBlockProps>( - 'AdminBlock', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts b/packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts index 012892e6b5..1f759cec94 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface AdminPrintActionProps { /** * Sets the src URL of the preview and the document to print. @@ -8,11 +6,3 @@ export interface AdminPrintActionProps { */ src?: string; } - -/** - * AdminPrintAction is a component used by Admin Print Action extensions to configure a src document to preview and print. - */ -export const AdminPrintAction = createRemoteComponent< - 'AdminPrintAction', - AdminPrintActionProps ->('AdminPrintAction'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Badge/Badge.ts b/packages/ui-extensions/src/surfaces/admin/components/Badge/Badge.ts index 079f7f2efc..26a478c85c 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Badge/Badge.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Badge/Badge.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type {AccessibilityLabelProps, SizeScale, Tone} from '../shared'; import {IconName} from '../Icon/IconName'; @@ -32,5 +31,3 @@ interface BadgeNoIconProps { } export type BadgeProps = BadgeBaseProps & (BadgeIconProps | BadgeNoIconProps); - -export const Badge = createRemoteComponent<'Badge', BadgeProps>('Badge'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Banner/Banner.ts b/packages/ui-extensions/src/surfaces/admin/components/Banner/Banner.ts index 8a80cef026..94f6bef550 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Banner/Banner.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Banner/Banner.ts @@ -1,4 +1,4 @@ -import {RemoteFragment, createRemoteComponent} from '@remote-ui/core'; +import {RemoteFragment} from '@remote-ui/core'; import {GlobalProps, Tone} from '../shared'; export interface BannerProps extends GlobalProps { @@ -29,5 +29,3 @@ export interface BannerProps extends GlobalProps { */ secondaryAction?: RemoteFragment; } - -export const Banner = createRemoteComponent<'Banner', BannerProps>('Banner'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/BlockStack/BlockStack.ts b/packages/ui-extensions/src/surfaces/admin/components/BlockStack/BlockStack.ts index 7f2772c607..08fb962c96 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/BlockStack/BlockStack.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/BlockStack/BlockStack.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - import { AccessibilityRoleProps, GlobalProps, @@ -34,7 +32,3 @@ export interface BlockStackProps */ blockAlignment?: MainAxisAlignment; } - -export const BlockStack = createRemoteComponent<'BlockStack', BlockStackProps>( - 'BlockStack', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Box/Box.ts b/packages/ui-extensions/src/surfaces/admin/components/Box/Box.ts index 007fc85818..b2873a14a5 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Box/Box.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Box/Box.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type { AccessibilityRoleProps, PaddingProps, @@ -11,5 +10,3 @@ export interface BoxProps SizingProps, PaddingProps, DisplayProps {} - -export const Box = createRemoteComponent<'Box', BoxProps>('Box'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Button/Button.ts b/packages/ui-extensions/src/surfaces/admin/components/Button/Button.ts index e9537b20a0..5ded050f7a 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Button/Button.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Button/Button.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type {AccessibilityRole, AnchorProps} from '../shared'; export type ButtonProps = ButtonBaseProps | ButtonAnchorProps; @@ -115,5 +114,3 @@ interface ButtonAnchorProps extends CommonProps { */ onPress?: AnchorProps['onClick']; } - -export const Button = createRemoteComponent<'Button', ButtonProps>('Button'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Checkbox/Checkbox.ts b/packages/ui-extensions/src/surfaces/admin/components/Checkbox/Checkbox.ts index a3c8255468..673f9a8022 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Checkbox/Checkbox.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Checkbox/Checkbox.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import {AccessibilityLabelProps} from '../shared'; export interface CheckboxProps extends AccessibilityLabelProps { @@ -52,7 +51,3 @@ export interface CheckboxProps extends AccessibilityLabelProps { */ value?: boolean; } - -export const Checkbox = createRemoteComponent<'Checkbox', CheckboxProps>( - 'Checkbox', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/ChoiceList/ChoiceList.ts b/packages/ui-extensions/src/surfaces/admin/components/ChoiceList/ChoiceList.ts index ec8fb2c07c..ad35c01457 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/ChoiceList/ChoiceList.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/ChoiceList/ChoiceList.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import {AccessibilityLabelProps, InputProps} from '../shared'; export interface ChoiceProps @@ -30,7 +29,3 @@ export interface ChoiceListProps */ multiple?: boolean; } - -export const ChoiceList = createRemoteComponent<'ChoiceList', ChoiceListProps>( - 'ChoiceList', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/ColorPicker/ColorPicker.ts b/packages/ui-extensions/src/surfaces/admin/components/ColorPicker/ColorPicker.ts index affe50ac8d..b44222a013 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/ColorPicker/ColorPicker.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/ColorPicker/ColorPicker.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface ColorPickerProps { /** ID for the element. */ id?: string; @@ -36,8 +34,3 @@ export interface ColorPickerProps { */ value?: string; } - -export const ColorPicker = createRemoteComponent< - 'ColorPicker', - ColorPickerProps ->('ColorPicker'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts b/packages/ui-extensions/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts index 8259c4b069..b1eafced79 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - /** * Reserved namespace and key for the customer standard metafield used in the template's query. * More info - https://shopify.dev/docs/apps/custom-data/metafields/definitions/standard @@ -35,11 +33,3 @@ export interface CustomerSegmentTemplateProps { */ createdOn?: string; } - -/** - * Customer segmentation templates are used to give merchants a starting point to create segments. - */ -export const CustomerSegmentTemplate = createRemoteComponent< - 'CustomerSegmentTemplate', - CustomerSegmentTemplateProps ->('CustomerSegmentTemplate'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/DateField/DateField.ts b/packages/ui-extensions/src/surfaces/admin/components/DateField/DateField.ts index 724367980f..0a9a6485a7 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/DateField/DateField.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/DateField/DateField.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type {DatePickerProps} from '../DatePicker/DatePicker'; import type {TextFieldProps} from '../TextField/TextField'; @@ -20,7 +19,3 @@ export interface DateFieldProps DatePickerProps, 'yearMonth' | 'defaultYearMonth' | 'disabled' | 'onYearMonthChange' > {} - -export const DateField = createRemoteComponent<'DateField', DateFieldProps>( - 'DateField', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/DatePicker/DatePicker.ts b/packages/ui-extensions/src/surfaces/admin/components/DatePicker/DatePicker.ts index d01060c492..c54d03986c 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/DatePicker/DatePicker.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/DatePicker/DatePicker.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface DatePickerProps { /** * [Controlled](https://reactjs.org/docs/forms.html#controlled-components) year and month to display. @@ -93,8 +91,3 @@ export interface Range { */ end?: DateString; } - -export const DatePicker = createRemoteComponent< - 'DatePicker', - DatePickerProps ->('DatePicker'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Divider/Divider.ts b/packages/ui-extensions/src/surfaces/admin/components/Divider/Divider.ts index 586fd4f886..9ac3ea593e 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Divider/Divider.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Divider/Divider.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface DividerProps { /** * Specify the direction of the divider. @@ -9,7 +7,3 @@ export interface DividerProps { */ direction?: 'inline' | 'block'; } - -export const Divider = createRemoteComponent<'Divider', DividerProps>( - 'Divider', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/EmailField/EmailField.ts b/packages/ui-extensions/src/surfaces/admin/components/EmailField/EmailField.ts index ebaa5a067c..f98253529a 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/EmailField/EmailField.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/EmailField/EmailField.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import { AutocompleteProps, AnyAutocompleteField, @@ -16,7 +15,3 @@ export type EmailAutocompleteField = Extract< AnyAutocompleteField, 'email' | `${AutocompleteAddressGroup} email` >; - -export const EmailField = createRemoteComponent<'EmailField', EmailFieldProps>( - 'EmailField', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Form/Form.ts b/packages/ui-extensions/src/surfaces/admin/components/Form/Form.ts index b5a846bdc0..16aa8ad110 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Form/Form.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Form/Form.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface FormProps { /** * A unique identifier for the form. @@ -16,5 +14,3 @@ export interface FormProps { */ onReset(): void | Promise; } - -export const Form = createRemoteComponent<'Form', FormProps>('Form'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts b/packages/ui-extensions/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts index 6c65f51218..729f9e26e8 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface FunctionSettingsProps { /** * A unique identifier for the form. @@ -45,8 +43,3 @@ export interface FunctionSettingsError { */ message: string; } - -export const FunctionSettings = createRemoteComponent< - 'FunctionSettings', - FunctionSettingsProps ->('FunctionSettings'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Heading/Heading.ts b/packages/ui-extensions/src/surfaces/admin/components/Heading/Heading.ts index f4d25bd234..ea373ad81b 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Heading/Heading.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Heading/Heading.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - type Level = 1 | 2 | 3 | 4 | 5 | 6; export interface HeadingProps { @@ -14,7 +12,3 @@ export interface HeadingProps { */ size?: Level; } - -export const Heading = createRemoteComponent<'Heading', HeadingProps>( - 'Heading', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts b/packages/ui-extensions/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts index 5e6df3cd94..0560c41736 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts @@ -1,8 +1 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface HeadingGroupProps {} - -export const HeadingGroup = createRemoteComponent< - 'HeadingGroup', - HeadingGroupProps ->('HeadingGroup'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Icon/Icon.ts b/packages/ui-extensions/src/surfaces/admin/components/Icon/Icon.ts index be16b92184..ff5db53b21 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Icon/Icon.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Icon/Icon.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import {IconName} from './IconName'; import {AccessibilityLabelProps} from '../shared'; @@ -34,5 +33,3 @@ export interface IconProps extends AccessibilityLabelProps { name: IconName; } export type {IconName}; - -export const Icon = createRemoteComponent<'Icon', IconProps>('Icon'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Image/Image.ts b/packages/ui-extensions/src/surfaces/admin/components/Image/Image.ts index fb23c40f57..31423f39b4 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Image/Image.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Image/Image.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type {AccessibilityRole} from '../shared'; export type ImageProps = (ImageAccessibilityLabelProp | ImageAltProp) & @@ -119,5 +118,3 @@ interface ImageSourceProp { source: string; src?: never; } - -export const Image = createRemoteComponent<'Image', ImageProps>('Image'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/InlineStack/InlineStack.ts b/packages/ui-extensions/src/surfaces/admin/components/InlineStack/InlineStack.ts index d46b9d610c..49801cf83c 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/InlineStack/InlineStack.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/InlineStack/InlineStack.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - import { AccessibilityRoleProps, GlobalProps, @@ -32,8 +30,3 @@ export interface InlineStackProps */ blockAlignment?: CrossAxisAlignment; } - -export const InlineStack = createRemoteComponent< - 'InlineStack', - InlineStackProps ->('InlineStack'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts b/packages/ui-extensions/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts index b092089e7d..e2d2f7d6b4 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export type CustomerSegmentTemplateIcon = | 'categoriesMajor' | 'firstVisitMajor' @@ -58,11 +56,3 @@ export interface InternalCustomerSegmentTemplateProps { /* The category in which the template will be visible. The template will show in its respective category and aggregate sections. */ category: CustomerSegmentTemplateCategory; } - -/** - * Customer segment templates are used to give merchants a starting point to create segments. - */ -export const InternalCustomerSegmentTemplate = createRemoteComponent< - 'InternalCustomerSegmentTemplate', - InternalCustomerSegmentTemplateProps ->('InternalCustomerSegmentTemplate'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts b/packages/ui-extensions/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts index 2bfd67d97f..e01cf7c44a 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface Location { /** * A unique identifier for the location. @@ -69,8 +67,3 @@ export interface InternalLocationListProps { */ onCreateGroup: (id: string) => void; } - -export const InternalLocationList = createRemoteComponent< - 'InternalLocationList', - InternalLocationListProps ->('InternalLocationList'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Link/Link.ts b/packages/ui-extensions/src/surfaces/admin/components/Link/Link.ts index 52aa75188f..3a33f8fa0c 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Link/Link.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Link/Link.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import {AccessibilityLabelProps} from '../shared'; export interface LinkProps extends AccessibilityLabelProps { @@ -59,5 +58,3 @@ export interface LinkProps extends AccessibilityLabelProps { */ target?: '_blank' | '_self'; } - -export const Link = createRemoteComponent<'Link', LinkProps>('Link'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/MoneyField/MoneyField.ts b/packages/ui-extensions/src/surfaces/admin/components/MoneyField/MoneyField.ts index aa9f9a8c35..f208b09c1c 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/MoneyField/MoneyField.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/MoneyField/MoneyField.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type { AutocompleteProps, AnyAutocompleteField, @@ -19,10 +18,6 @@ export type MoneyAutocompleteField = Extract< 'transaction-amount' >; -export const MoneyField = createRemoteComponent<'MoneyField', MoneyFieldProps>( - 'MoneyField', -); - /** * Supported monetary currencies from ISO 4217. * diff --git a/packages/ui-extensions/src/surfaces/admin/components/NumberField/NumberField.ts b/packages/ui-extensions/src/surfaces/admin/components/NumberField/NumberField.ts index 0690bc86a4..d106a8c977 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/NumberField/NumberField.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/NumberField/NumberField.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import { AutocompleteProps, AnyAutocompleteField, @@ -28,8 +27,3 @@ export type NumberAutocompleteField = Extract< | `${AutocompleteFieldCreditCardAlias}-number` | `${AutocompleteFieldCreditCardAlias}-${AutocompleteFieldSecurityCodeAlias}` >; - -export const NumberField = createRemoteComponent< - 'NumberField', - NumberFieldProps ->('NumberField'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Paragraph/Paragraph.ts b/packages/ui-extensions/src/surfaces/admin/components/Paragraph/Paragraph.ts index 1acc8cdeb6..419f14d4a3 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Paragraph/Paragraph.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Paragraph/Paragraph.ts @@ -1,10 +1,5 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type {BaseTypographyProps, GlobalProps} from '../shared'; export interface ParagraphProps extends BaseTypographyProps, GlobalProps { children?: any; } - -export const Paragraph = createRemoteComponent<'Paragraph', ParagraphProps>( - 'Paragraph', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/PasswordField/PasswordField.ts b/packages/ui-extensions/src/surfaces/admin/components/PasswordField/PasswordField.ts index d7aa8d59a7..69b7748351 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/PasswordField/PasswordField.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/PasswordField/PasswordField.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import { AutocompleteProps, AnyAutocompleteField, @@ -15,8 +14,3 @@ export type PasswordAutocompleteField = Extract< AnyAutocompleteField, 'new-password' | 'current-password' >; - -export const PasswordField = createRemoteComponent< - 'PasswordField', - PasswordFieldProps ->('PasswordField'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Pressable/Pressable.ts b/packages/ui-extensions/src/surfaces/admin/components/Pressable/Pressable.ts index 9d356131df..3e36467635 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Pressable/Pressable.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Pressable/Pressable.ts @@ -1,9 +1,4 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type {LinkProps} from '../Link/Link'; import type {BoxProps} from '../Box/Box'; export interface PressableProps extends BoxProps, LinkProps {} - -export const Pressable = createRemoteComponent<'Pressable', PressableProps>( - 'Pressable', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts b/packages/ui-extensions/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts index a077bac6ba..d4c25706a5 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import {GlobalProps, SizeScale, AccessibilityLabelProps} from '../shared'; export interface ProgressIndicatorProps @@ -25,8 +24,3 @@ export interface ProgressIndicatorProps */ variant?: 'spinner'; } - -export const ProgressIndicator = createRemoteComponent< - 'ProgressIndicator', - ProgressIndicatorProps ->('ProgressIndicator'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Section/Section.ts b/packages/ui-extensions/src/surfaces/admin/components/Section/Section.ts index a650a703bb..c0151b7a88 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Section/Section.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Section/Section.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface SectionProps { /** * A label used to describe the section that will be announced by assistive technologies. @@ -29,7 +27,3 @@ export interface SectionProps { */ padding?: 'base' | 'none'; } - -export const Section = createRemoteComponent<'Section', SectionProps>( - 'Section', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Select/Select.ts b/packages/ui-extensions/src/surfaces/admin/components/Select/Select.ts index 0b86aa7084..0703a70b91 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Select/Select.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Select/Select.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - export interface SelectProps { /** * Whether the select can be changed. @@ -143,5 +141,3 @@ export interface OptionGroupDescription { */ options?: OptionDescription[]; } - -export const Select = createRemoteComponent<'Select', SelectProps>('Select'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/Text/Text.ts b/packages/ui-extensions/src/surfaces/admin/components/Text/Text.ts index 93b0ae9f5c..42b19d273c 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Text/Text.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Text/Text.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import type { FontWeight, TextOverflow, @@ -41,5 +40,3 @@ export interface TextProps { */ accessibilityRole?: TextAccessibilityRole; } - -export const Text = createRemoteComponent<'Text', TextProps>('Text'); diff --git a/packages/ui-extensions/src/surfaces/admin/components/TextArea/TextArea.ts b/packages/ui-extensions/src/surfaces/admin/components/TextArea/TextArea.ts index 48fc725e93..f0456fe434 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/TextArea/TextArea.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/TextArea/TextArea.ts @@ -1,5 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; - import { AutocompleteProps, TextAutocompleteField, @@ -18,7 +16,3 @@ export interface TextAreaProps */ rows?: number; } - -export const TextArea = createRemoteComponent<'TextArea', TextAreaProps>( - 'TextArea', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/TextField/TextField.ts b/packages/ui-extensions/src/surfaces/admin/components/TextField/TextField.ts index 0e3e8610ac..802dcfa714 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/TextField/TextField.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/TextField/TextField.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import { AutocompleteProps, TextAutocompleteField, @@ -12,7 +11,3 @@ export interface TextFieldProps MinMaxLengthProps, AutocompleteProps, FieldDecorationProps {} - -export const TextField = createRemoteComponent<'TextField', TextFieldProps>( - 'TextField', -); diff --git a/packages/ui-extensions/src/surfaces/admin/components/URLField/URLField.ts b/packages/ui-extensions/src/surfaces/admin/components/URLField/URLField.ts index ba3e063473..8c4939e522 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/URLField/URLField.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/URLField/URLField.ts @@ -1,4 +1,3 @@ -import {createRemoteComponent} from '@remote-ui/core'; import { AnyAutocompleteField, AutocompleteProps, @@ -20,7 +19,3 @@ export type URLAutocompleteField = Extract< | `${AutocompleteFieldInstantMessageAlias}` | `${AutocompleteAddressGroup} ${AutocompleteFieldInstantMessageAlias}` >; - -export const URLField = createRemoteComponent<'URLField', URLFieldProps>( - 'URLField', -); diff --git a/packages/ui-extensions/src/surfaces/admin/extension-targets.ts b/packages/ui-extensions/src/surfaces/admin/extension-targets.ts index f86c527428..d2c8cfd0e9 100644 --- a/packages/ui-extensions/src/surfaces/admin/extension-targets.ts +++ b/packages/ui-extensions/src/surfaces/admin/extension-targets.ts @@ -1,6 +1,5 @@ -import type {RenderExtension} from '../../extension'; +import type {RenderExtension} from './extension'; -import type {Components} from './shared'; import type { StandardApi, CustomerSegmentTemplateApi, @@ -12,59 +11,18 @@ import type { OrderRoutingRuleApi, ValidationSettingsApi, } from './api'; -import {AnyComponentBuilder} from '../../shared'; - -type CustomerSegmentTemplateComponent = AnyComponentBuilder< - Pick< - Components, - 'CustomerSegmentTemplate' | 'InternalCustomerSegmentTemplate' - > ->; - -type ProductConfigurationComponents = AnyComponentBuilder< - Pick< - Components, - | 'Box' - | 'InlineStack' - | 'BlockStack' - | 'Divider' - | 'HeadingGroup' - | 'Heading' - | 'Text' - | 'Link' - | 'Image' - | 'Icon' - > ->; - -type OrderRoutingComponents = AnyComponentBuilder< - Pick ->; - -/** - * See the [list of available components](/docs/api/admin-extensions/components). - */ -type AllComponents = AnyComponentBuilder< - Omit< - Components, - | 'CustomerSegmentTemplate' - | 'InternalCustomerSegmentTemplate' - | 'InternalLocationList' - > ->; export interface ExtensionTargets { /** * @private */ - Playground: RenderExtension, AllComponents>; + Playground: RenderExtension>; /** * Renders a [`CustomerSegmentTemplate`](/docs/api/admin-extensions/components/customersegmenttemplate) in the [customer segment editor](https://help.shopify.com/en/manual/customers/customer-segmentation/customer-segments). */ 'admin.customers.segmentation-templates.render': RenderExtension< - CustomerSegmentTemplateApi<'admin.customers.segmentation-templates.render'>, - CustomerSegmentTemplateComponent + CustomerSegmentTemplateApi<'admin.customers.segmentation-templates.render'> >; // Blocks @@ -74,8 +32,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.product-details.block.render': RenderExtension< - BlockExtensionApi<'admin.product-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.product-details.block.render'> >; /** @@ -84,8 +41,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.order-details.block.render': RenderExtension< - BlockExtensionApi<'admin.order-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.order-details.block.render'> >; /** @@ -94,8 +50,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.discount-details.function-settings.render': RenderExtension< - BlockExtensionApi<'admin.discount-details.function-settings.render'>, - AllComponents + BlockExtensionApi<'admin.discount-details.function-settings.render'> >; /** @@ -104,8 +59,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.customer-details.block.render': RenderExtension< - BlockExtensionApi<'admin.customer-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.customer-details.block.render'> >; /** @@ -114,8 +68,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.collection-details.block.render': RenderExtension< - BlockExtensionApi<'admin.collection-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.collection-details.block.render'> >; /** @@ -124,8 +77,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.draft-order-details.block.render': RenderExtension< - BlockExtensionApi<'admin.draft-order-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.draft-order-details.block.render'> >; /** @@ -134,8 +86,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.abandoned-checkout-details.block.render': RenderExtension< - BlockExtensionApi<'admin.abandoned-checkout-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.abandoned-checkout-details.block.render'> >; /** @@ -144,8 +95,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.catalog-details.block.render': RenderExtension< - BlockExtensionApi<'admin.catalog-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.catalog-details.block.render'> >; /** @@ -154,8 +104,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.company-details.block.render': RenderExtension< - BlockExtensionApi<'admin.company-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.company-details.block.render'> >; /** @@ -164,8 +113,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.company-location-details.block.render': RenderExtension< - BlockExtensionApi<'admin.company-location-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.company-location-details.block.render'> >; /** @@ -174,8 +122,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.gift-card-details.block.render': RenderExtension< - BlockExtensionApi<'admin.gift-card-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.gift-card-details.block.render'> >; /** @@ -184,8 +131,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.product-variant-details.block.render': RenderExtension< - BlockExtensionApi<'admin.product-variant-details.block.render'>, - AllComponents + BlockExtensionApi<'admin.product-variant-details.block.render'> >; /** @@ -194,8 +140,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.product-details.reorder.render': RenderExtension< - BlockExtensionApi<'admin.product-details.reorder.render'>, - AllComponents + BlockExtensionApi<'admin.product-details.reorder.render'> >; // Actions @@ -205,8 +150,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.product-details.action.render': RenderExtension< - ActionExtensionApi<'admin.product-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.product-details.action.render'> >; /** @@ -215,8 +159,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.catalog-details.action.render': RenderExtension< - ActionExtensionApi<'admin.catalog-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.catalog-details.action.render'> >; /** @@ -225,8 +168,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.company-details.action.render': RenderExtension< - ActionExtensionApi<'admin.company-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.company-details.action.render'> >; /** @@ -235,8 +177,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.gift-card-details.action.render': RenderExtension< - ActionExtensionApi<'admin.gift-card-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.gift-card-details.action.render'> >; /** @@ -245,8 +186,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.order-details.action.render': RenderExtension< - ActionExtensionApi<'admin.order-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.order-details.action.render'> >; /** @@ -255,8 +195,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.customer-details.action.render': RenderExtension< - ActionExtensionApi<'admin.customer-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.customer-details.action.render'> >; /** @@ -265,8 +204,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.customer-segment-details.action.render': RenderExtension< - ActionExtensionApi<'admin.customer-segment-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.customer-segment-details.action.render'> >; /** @@ -275,8 +213,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.product-index.action.render': RenderExtension< - ActionExtensionApi<'admin.product-index.action.render'>, - AllComponents + ActionExtensionApi<'admin.product-index.action.render'> >; /** @@ -285,8 +222,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.order-index.action.render': RenderExtension< - ActionExtensionApi<'admin.order-index.action.render'>, - AllComponents + ActionExtensionApi<'admin.order-index.action.render'> >; /** @@ -295,8 +231,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.customer-index.action.render': RenderExtension< - ActionExtensionApi<'admin.customer-index.action.render'>, - AllComponents + ActionExtensionApi<'admin.customer-index.action.render'> >; /** @@ -305,8 +240,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.discount-index.action.render': RenderExtension< - ActionExtensionApi<'admin.discount-index.action.render'>, - AllComponents + ActionExtensionApi<'admin.discount-index.action.render'> >; /** @@ -315,8 +249,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.collection-details.action.render': RenderExtension< - ActionExtensionApi<'admin.collection-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.collection-details.action.render'> >; /** @@ -325,8 +258,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.collection-index.action.render': RenderExtension< - ActionExtensionApi<'admin.collection-index.action.render'>, - AllComponents + ActionExtensionApi<'admin.collection-index.action.render'> >; /** @@ -335,8 +267,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.abandoned-checkout-details.action.render': RenderExtension< - ActionExtensionApi<'admin.abandoned-checkout-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.abandoned-checkout-details.action.render'> >; /** @@ -345,8 +276,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.product-variant-details.action.render': RenderExtension< - ActionExtensionApi<'admin.product-variant-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.product-variant-details.action.render'> >; /** @@ -355,8 +285,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.draft-order-details.action.render': RenderExtension< - ActionExtensionApi<'admin.draft-order-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.draft-order-details.action.render'> >; /** @@ -365,8 +294,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.draft-order-index.action.render': RenderExtension< - ActionExtensionApi<'admin.draft-order-index.action.render'>, - AllComponents + ActionExtensionApi<'admin.draft-order-index.action.render'> >; /** @@ -375,8 +303,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.discount-details.action.render': RenderExtension< - ActionExtensionApi<'admin.discount-details.action.render'>, - AllComponents + ActionExtensionApi<'admin.discount-details.action.render'> >; /** @@ -386,8 +313,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.order-fulfilled-card.action.render': RenderExtension< - ActionExtensionApi<'admin.order-fulfilled-card.action.render'>, - AllComponents + ActionExtensionApi<'admin.order-fulfilled-card.action.render'> >; // Bulk Actions @@ -398,8 +324,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.product-index.selection-action.render': RenderExtension< - ActionExtensionApi<'admin.product-index.selection-action.render'>, - AllComponents + ActionExtensionApi<'admin.product-index.selection-action.render'> >; /** @@ -408,8 +333,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.order-index.selection-action.render': RenderExtension< - ActionExtensionApi<'admin.order-index.selection-action.render'>, - AllComponents + ActionExtensionApi<'admin.order-index.selection-action.render'> >; /** @@ -418,8 +342,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.customer-index.selection-action.render': RenderExtension< - ActionExtensionApi<'admin.customer-index.selection-action.render'>, - AllComponents + ActionExtensionApi<'admin.customer-index.selection-action.render'> >; /** @@ -428,8 +351,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.draft-order-index.selection-action.render': RenderExtension< - ActionExtensionApi<'admin.draft-order-index.selection-action.render'>, - AllComponents + ActionExtensionApi<'admin.draft-order-index.selection-action.render'> >; // Print actions and bulk print actions @@ -440,8 +362,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.order-details.print-action.render': RenderExtension< - PrintActionExtensionApi<'admin.order-details.print-action.render'>, - AllComponents + PrintActionExtensionApi<'admin.order-details.print-action.render'> >; /** @@ -450,8 +371,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.product-details.print-action.render': RenderExtension< - PrintActionExtensionApi<'admin.product-details.print-action.render'>, - AllComponents + PrintActionExtensionApi<'admin.product-details.print-action.render'> >; /** @@ -460,8 +380,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.order-index.selection-print-action.render': RenderExtension< - PrintActionExtensionApi<'admin.order-index.selection-print-action.render'>, - AllComponents + PrintActionExtensionApi<'admin.order-index.selection-print-action.render'> >; /** @@ -470,8 +389,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.product-index.selection-print-action.render': RenderExtension< - PrintActionExtensionApi<'admin.product-index.selection-print-action.render'>, - AllComponents + PrintActionExtensionApi<'admin.product-index.selection-print-action.render'> >; // Other @@ -482,8 +400,7 @@ export interface ExtensionTargets { * See the [tutorial](/docs/apps/selling-strategies/bundles/product-config) for more information */ 'admin.product-details.configuration.render': RenderExtension< - ProductDetailsConfigurationApi<'admin.product-details.configuration.render'>, - ProductConfigurationComponents + ProductDetailsConfigurationApi<'admin.product-details.configuration.render'> >; /** @@ -492,8 +409,7 @@ export interface ExtensionTargets { * See the [tutorial](/docs/apps/selling-strategies/bundles/product-config) for more information */ 'admin.product-variant-details.configuration.render': RenderExtension< - ProductVariantDetailsConfigurationApi<'admin.product-variant-details.configuration.render'>, - ProductConfigurationComponents + ProductVariantDetailsConfigurationApi<'admin.product-variant-details.configuration.render'> >; /** @@ -502,12 +418,10 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.settings.internal-order-routing-rule.render': RenderExtension< - OrderRoutingRuleApi<'admin.settings.internal-order-routing-rule.render'>, - AllComponents | OrderRoutingComponents + OrderRoutingRuleApi<'admin.settings.internal-order-routing-rule.render'> >; 'admin.settings.order-routing-rule.render': RenderExtension< - OrderRoutingRuleApi<'admin.settings.order-routing-rule.render'>, - AllComponents + OrderRoutingRuleApi<'admin.settings.order-routing-rule.render'> >; /** @@ -516,8 +430,7 @@ export interface ExtensionTargets { * See the [list of available components](/docs/api/admin-extensions/components). */ 'admin.settings.validation.render': RenderExtension< - ValidationSettingsApi<'admin.settings.validation.render'>, - AllComponents + ValidationSettingsApi<'admin.settings.validation.render'> >; } @@ -547,10 +460,7 @@ export type ArgumentsForExtension = * UI. */ export type RenderExtensionTarget = { - [ID in keyof ExtensionTargets]: ExtensionTargets[ID] extends RenderExtension< - any, - any - > + [ID in keyof ExtensionTargets]: ExtensionTargets[ID] extends RenderExtension ? ID : never; }[keyof ExtensionTargets]; @@ -562,16 +472,10 @@ export type RenderExtensions = { [ID in RenderExtensionTarget]: ExtensionTargets[ID]; }; -type ExtractedApiFromRenderExtension = T extends RenderExtension< - infer Api, - any -> +type ExtractedApiFromRenderExtension = T extends RenderExtension ? Api : never; -type ExtractedAllowedComponentsFromRenderExtension = - T extends RenderExtension ? Components : never; - /** * For a given rendering extension target, returns the type of the API that the * extension will receive at runtime. This API type is the second argument to @@ -580,11 +484,3 @@ type ExtractedAllowedComponentsFromRenderExtension = */ export type ApiForRenderExtension = ExtractedApiFromRenderExtension; - -/** - * For a given rendering extension target, returns the UI components that the - * extension target supports. - */ -export type AllowedComponentsForRenderExtension< - ID extends keyof RenderExtensions, -> = ExtractedAllowedComponentsFromRenderExtension; diff --git a/packages/ui-extensions/src/surfaces/admin/extension.ts b/packages/ui-extensions/src/surfaces/admin/extension.ts index f874b5860f..dc693c4e50 100644 --- a/packages/ui-extensions/src/surfaces/admin/extension.ts +++ b/packages/ui-extensions/src/surfaces/admin/extension.ts @@ -4,7 +4,6 @@ import type {ExtensionTargets} from './extension-targets'; export type { RenderExtension, - RenderExtensionWithRoot, ExtensionRegistrationFunctionWithRoot, } from './registration'; diff --git a/packages/ui-extensions/src/surfaces/admin/registration.ts b/packages/ui-extensions/src/surfaces/admin/registration.ts index 3013d134ed..5cb55190a5 100644 --- a/packages/ui-extensions/src/surfaces/admin/registration.ts +++ b/packages/ui-extensions/src/surfaces/admin/registration.ts @@ -1,9 +1,5 @@ export interface RenderExtension { - (root: HTMLElement, api: Api): void | Promise; -} - -export interface RenderExtensionWithRoot { - (root: HTMLElement, api: Api): () => void | Promise<() => void>; + (root: HTMLElement, api: Api): Promise<() => void>; } export interface RunnableExtension { @@ -20,9 +16,7 @@ export interface ExtensionRegistrationFunction { export interface ExtensionRegistrationFunctionWithRoot { ( target: Target, - implementation: ExtensionTargets[Target] extends RenderExtension - ? RenderExtensionWithRoot - : ExtensionTargets[Target], + implementation: ExtensionTargets[Target], ): ExtensionTargets[Target]; } From 82991cd94f022cf7e898979aa8c23e22c32f22d3 Mon Sep 17 00:00:00 2001 From: Trish Ta Date: Thu, 24 Oct 2024 12:14:52 -0400 Subject: [PATCH 03/12] Fix render extension return type Remove RunnableExtension type from Admin surface since it is unused --- .changeset/unlucky-cycles-invite.md | 6 ++++++ packages/ui-extensions/src/surfaces/admin/registration.ts | 6 +----- 2 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 .changeset/unlucky-cycles-invite.md diff --git a/.changeset/unlucky-cycles-invite.md b/.changeset/unlucky-cycles-invite.md new file mode 100644 index 0000000000..9e54cc9dd1 --- /dev/null +++ b/.changeset/unlucky-cycles-invite.md @@ -0,0 +1,6 @@ +--- +'@shopify/ui-extensions': patch +--- + +Fix return type for RenderExtension to optionally return a clean up function +Remove unused RunnableExtension interface for Admin diff --git a/packages/ui-extensions/src/surfaces/admin/registration.ts b/packages/ui-extensions/src/surfaces/admin/registration.ts index 5cb55190a5..4860319bae 100644 --- a/packages/ui-extensions/src/surfaces/admin/registration.ts +++ b/packages/ui-extensions/src/surfaces/admin/registration.ts @@ -1,9 +1,5 @@ export interface RenderExtension { - (root: HTMLElement, api: Api): Promise<() => void>; -} - -export interface RunnableExtension { - (api: Api): Output | Promise; + (root: HTMLElement, api: Api): Promise void)>; } export interface ExtensionRegistrationFunction { From 27fc2238be489d1a6035ec74ca6a55e54fccb210 Mon Sep 17 00:00:00 2001 From: Trish Ta Date: Wed, 13 Nov 2024 18:18:22 -0500 Subject: [PATCH 04/12] Add new remote-dom components for Admin --- .gitignore | 2 +- config/typescript/tsconfig.base.json | 1 + packages/data-extensions/package.json | 2 +- .../ui-extensions-react/src/surfaces/admin.ts | 1 - .../src/surfaces/admin/components.ts | 85 -- .../components/AdminAction/AdminAction.ts | 5 - .../examples/basic-adminaction.example.tsx | 30 - .../admin/components/AdminBlock/AdminBlock.ts | 5 - .../examples/basic-adminblock.example.tsx | 12 - .../AdminPrintAction/AdminPrintAction.ts | 5 - .../basic-adminprintaction.example.tsx | 19 - .../surfaces/admin/components/Badge/Badge.ts | 5 - .../Badge/examples/basic-badge.example.tsx | 13 - .../admin/components/Banner/Banner.ts | 5 - .../Banner/examples/basic-banner.example.tsx | 16 - .../admin/components/BlockStack/BlockStack.ts | 5 - .../examples/basic-blockstack.example.tsx | 18 - .../src/surfaces/admin/components/Box/Box.ts | 5 - .../Box/examples/basic-box.example.tsx | 11 - .../admin/components/Button/Button.ts | 5 - .../Button/examples/basic-button.example.tsx | 15 - .../admin/components/Checkbox/Checkbox.ts | 5 - .../examples/basic-checkbox.example.tsx | 11 - .../admin/components/ChoiceList/ChoiceList.ts | 5 - .../examples/basic-choicelist.example.tsx | 16 - .../components/ColorPicker/ColorPicker.ts | 5 - .../examples/basic-colorpicker.example.tsx | 17 - .../CustomerSegmentTemplate.ts | 7 - .../customersegmenttemplate.example.tsx | 15 - .../admin/components/DateField/DateField.ts | 5 - .../examples/basic-datefield.example.tsx | 15 - .../examples/multiple-datefield.example.tsx | 16 - .../examples/range-datefield.example.tsx | 16 - .../admin/components/DatePicker/DatePicker.ts | 5 - .../examples/basic-datepicker.example.tsx | 15 - .../examples/multiple-datepicker.example.tsx | 17 - .../examples/range-datepicker.example.tsx | 16 - .../admin/components/Divider/Divider.ts | 5 - .../examples/basic-divider.example.tsx | 18 - .../admin/components/EmailField/EmailField.ts | 5 - .../examples/basic-emailfield.example.tsx | 7 - .../surfaces/admin/components/Form/Form.ts | 5 - .../Form/examples/basic-form.example.tsx | 51 - .../FunctionSettings/FunctionSettings.ts | 8 - .../basic-functionsettings.example.tsx | 55 - .../admin/components/Heading/Heading.ts | 5 - .../examples/basic-heading.example.tsx | 7 - .../components/HeadingGroup/HeadingGroup.ts | 5 - .../examples/basic-headinggroup.example.tsx | 23 - .../surfaces/admin/components/Icon/Icon.ts | 5 - .../Icon/examples/basic-icon.example.tsx | 7 - .../surfaces/admin/components/Image/Image.ts | 5 - .../Image/examples/basic-image.example.tsx | 9 - .../components/InlineStack/InlineStack.ts | 5 - .../examples/basic-inlinestack.example.tsx | 18 - .../InternalCustomerSegmentTemplate.ts | 7 - ...nternalcustomersegmenttemplate.example.tsx | 38 - .../InternalLocationList.ts | 7 - .../surfaces/admin/components/Link/Link.ts | 5 - .../Link/examples/app-link.example.tsx | 16 - .../Link/examples/external-link.example.tsx | 16 - .../Link/examples/relative-link.example.tsx | 16 - .../examples/shopify-section-link.example.tsx | 16 - .../admin/components/MoneyField/MoneyField.ts | 5 - .../examples/basic-moneyfield.example.tsx | 10 - .../components/NumberField/NumberField.ts | 5 - .../examples/basic-numberfield.example.tsx | 7 - .../admin/components/Paragraph/Paragraph.ts | 5 - .../examples/basic-paragraph.example.tsx | 16 - .../components/PasswordField/PasswordField.ts | 5 - .../examples/basic-passwordfield.example.tsx | 17 - .../admin/components/Pressable/Pressable.ts | 5 - .../examples/basic-pressable.example.tsx | 20 - .../ProgressIndicator/ProgressIndicator.ts | 5 - .../basic-progressindicator.example.tsx | 12 - .../admin/components/Section/Section.ts | 5 - .../examples/basic-Section.example.tsx | 16 - .../admin/components/Select/Select.ts | 11 - .../Select/examples/basic-select.example.tsx | 45 - .../surfaces/admin/components/Text/Text.ts | 5 - .../Text/examples/basic-text.example.tsx | 12 - .../admin/components/TextArea/TextArea.ts | 5 - .../examples/basic-textarea.example.tsx | 7 - .../admin/components/TextField/TextField.ts | 5 - .../examples/basic-textfield.example.tsx | 7 - .../admin/components/URLField/URLField.ts | 5 - .../examples/basic-urlfield.example.tsx | 7 - .../src/surfaces/admin/components/util.ts | 39 - .../customer-account/hooks/live-navigation.ts | 4 +- packages/ui-extensions-react/tsconfig.json | 3 +- packages/ui-extensions/package.json | 55 +- packages/ui-extensions/src/surfaces/admin.ts | 1 - .../src/surfaces/admin/components.ts | 367 +++++- .../components/AdminAction/AdminAction.doc.ts | 47 - .../components/AdminAction/AdminAction.ts | 23 - .../examples/basic-adminaction.example.ts | 22 - .../components/AdminBlock/AdminBlock.doc.ts | 47 - .../admin/components/AdminBlock/AdminBlock.ts | 13 - .../examples/basic-adminblock.example.ts | 10 - .../AdminPrintAction/AdminPrintAction.doc.ts | 52 - .../AdminPrintAction/AdminPrintAction.ts | 8 - .../basic-adminprintaction.example.ts | 14 - .../admin/components/Badge/Badge.doc.ts | 42 - .../surfaces/admin/components/Badge/Badge.ts | 33 - .../Badge/examples/basic-badge.example.ts | 11 - .../admin/components/Banner/Banner.doc.ts | 42 - .../admin/components/Banner/Banner.ts | 31 - .../Banner/examples/basic-banner.example.ts | 11 - .../components/BlockStack/BlockStack.doc.ts | 48 - .../admin/components/BlockStack/BlockStack.ts | 34 - .../examples/basic-blockstack.example.ts | 24 - .../surfaces/admin/components/Box/Box.doc.ts | 42 - .../src/surfaces/admin/components/Box/Box.ts | 12 - .../Box/examples/basic-box.example.ts | 11 - .../admin/components/Button/Button.doc.ts | 52 - .../admin/components/Button/Button.ts | 116 -- .../admin/components/Button/README.md | 3 - .../Button/examples/basic-button.example.ts | 11 - .../admin/components/Checkbox/Checkbox.doc.ts | 42 - .../admin/components/Checkbox/Checkbox.ts | 53 - .../examples/basic-checkbox.example.ts | 11 - .../components/ChoiceList/ChoiceList.doc.ts | 48 - .../admin/components/ChoiceList/ChoiceList.ts | 31 - .../examples/basic-choicelist.example.ts | 23 - .../components/ColorPicker/ColorPicker.doc.ts | 47 - .../components/ColorPicker/ColorPicker.ts | 36 - .../examples/basic-colorpicker.example.ts | 19 - .../CustomerSegmentTemplate.doc.ts | 42 - .../CustomerSegmentTemplate.ts | 35 - .../customersegmenttemplate.example.ts | 17 - .../components/DateField/DateField.doc.ts | 83 -- .../admin/components/DateField/DateField.ts | 21 - .../examples/basic-datefield.example.ts | 11 - .../examples/multiple-datefield.example.ts | 11 - .../examples/range-datefield.example.ts | 11 - .../components/DatePicker/DatePicker.doc.ts | 83 -- .../admin/components/DatePicker/DatePicker.ts | 93 -- .../examples/basic-datepicker.example.ts | 11 - .../examples/multiple-datepicker.example.ts | 11 - .../examples/range-datepicker.example.ts | 11 - .../admin/components/Divider/Divider.doc.ts | 42 - .../admin/components/Divider/Divider.ts | 9 - .../admin/components/Divider/README.md | 7 - .../Divider/examples/basic-divider.example.ts | 17 - .../components/EmailField/EmailField.doc.ts | 51 - .../admin/components/EmailField/EmailField.ts | 17 - .../admin/components/EmailField/README.md | 7 - .../examples/basic-emailfield.example.ts | 9 - .../admin/components/Form/Form.doc.ts | 57 - .../surfaces/admin/components/Form/Form.ts | 16 - .../Form/examples/basic-form.example.ts | 43 - .../FunctionSettings/FunctionSettings.doc.ts | 57 - .../FunctionSettings/FunctionSettings.ts | 45 - .../basic-functionsettings.example.ts | 47 - .../admin/components/Heading/Heading.doc.ts | 53 - .../admin/components/Heading/Heading.ts | 14 - .../admin/components/Heading/README.md | 9 - .../Heading/examples/basic-heading.example.ts | 7 - .../HeadingGroup/HeadingGroup.doc.ts | 41 - .../components/HeadingGroup/HeadingGroup.ts | 1 - .../admin/components/HeadingGroup/README.md | 5 - .../examples/basic-headinggroup.example.ts | 20 - .../admin/components/Icon/Icon.doc.ts | 68 -- .../surfaces/admin/components/Icon/Icon.ts | 35 - .../admin/components/Icon/IconName.ts | 567 --------- .../surfaces/admin/components/Icon/README.md | 3 - .../Icon/examples/basic-icon.example.ts | 7 - .../admin/components/Image/Image.doc.ts | 47 - .../surfaces/admin/components/Image/Image.ts | 120 -- .../surfaces/admin/components/Image/README.md | 20 - .../Image/examples/basic-image.example.ts | 10 - .../components/InlineStack/InlineStack.doc.ts | 47 - .../components/InlineStack/InlineStack.ts | 32 - .../examples/basic-inlinestack.example.ts | 18 - .../InternalCustomerSegmentTemplate.ts | 59 - ...internalcustomersegmenttemplate.example.ts | 45 - .../InternalLocationList.ts | 69 -- .../admin/components/Link/Link.doc.ts | 109 -- .../surfaces/admin/components/Link/Link.ts | 60 - .../surfaces/admin/components/Link/README.md | 11 - .../Link/examples/app-link.example.ts | 17 - .../Link/examples/external-link.example.ts | 17 - .../Link/examples/relative-link.example.ts | 17 - .../examples/shopify-section-link.example.ts | 17 - .../components/MoneyField/MoneyField.doc.ts | 47 - .../admin/components/MoneyField/MoneyField.ts | 187 --- .../admin/components/MoneyField/README.md | 3 - .../examples/basic-moneyfield.example.ts | 9 - .../components/NumberField/NumberField.doc.ts | 48 - .../components/NumberField/NumberField.ts | 29 - .../admin/components/NumberField/README.md | 7 - .../examples/basic-numberfield.example.ts | 9 - .../components/Paragraph/Paragraph.doc.ts | 48 - .../admin/components/Paragraph/Paragraph.ts | 5 - .../admin/components/Paragraph/README.md | 7 - .../examples/basic-paragraph.example.ts | 10 - .../PasswordField/PasswordField.doc.ts | 53 - .../components/PasswordField/PasswordField.ts | 16 - .../admin/components/PasswordField/README.md | 7 - .../examples/basic-passwordfield.example.ts | 14 - .../components/Pressable/Pressable.doc.ts | 48 - .../admin/components/Pressable/Pressable.ts | 4 - .../examples/basic-pressable.example.ts | 25 - .../ProgressIndicator.doc.ts | 48 - .../ProgressIndicator/ProgressIndicator.ts | 26 - .../basic-progressindicator.example.ts | 18 - .../admin/components/Section/README.md | 95 -- .../admin/components/Section/Section.doc.ts | 41 - .../admin/components/Section/Section.ts | 29 - .../Section/examples/basic-Section.example.ts | 19 - .../admin/components/Select/README.md | 99 -- .../admin/components/Select/Select.doc.ts | 42 - .../admin/components/Select/Select.ts | 143 --- .../Select/examples/basic-select.example.ts | 47 - .../surfaces/admin/components/Text/README.md | 7 - .../admin/components/Text/Text.doc.ts | 48 - .../surfaces/admin/components/Text/Text.ts | 42 - .../Text/examples/basic-text.example.ts | 10 - .../admin/components/TextArea/TextArea.doc.ts | 48 - .../admin/components/TextArea/TextArea.ts | 18 - .../examples/basic-textarea.example.ts | 10 - .../admin/components/TextField/README.md | 7 - .../components/TextField/TextField.doc.ts | 58 - .../admin/components/TextField/TextField.ts | 13 - .../examples/basic-textfield.example.ts | 9 - .../admin/components/URLField/README.md | 7 - .../admin/components/URLField/URLField.doc.ts | 46 - .../admin/components/URLField/URLField.ts | 21 - .../examples/basic-urlfield.example.ts | 9 - .../admin/components/shared/display.ts | 7 - .../surfaces/admin/components/shared/index.ts | 1029 ----------------- .../src/surfaces/admin/shared.ts | 6 - packages/ui-extensions/tsconfig.json | 4 +- packages/ui-extensions/vite.config.ts | 41 + packages/ui-extensions/yarn.lock | 233 ++++ yarn.lock | 736 +++++++++++- 236 files changed, 1346 insertions(+), 7250 deletions(-) delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/AdminAction.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/examples/basic-adminaction.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/AdminBlock.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/examples/basic-adminblock.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/examples/basic-adminprintaction.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Badge/Badge.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Badge/examples/basic-badge.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Banner/Banner.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Banner/examples/basic-banner.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/BlockStack.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/examples/basic-blockstack.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Box/Box.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Box/examples/basic-box.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Button/Button.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Button/examples/basic-button.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/Checkbox.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/examples/basic-checkbox.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/ChoiceList.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/examples/basic-choicelist.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/ColorPicker.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/examples/basic-colorpicker.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/examples/customersegmenttemplate.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/DateField/DateField.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/basic-datefield.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/multiple-datefield.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/range-datefield.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/DatePicker.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/basic-datepicker.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/multiple-datepicker.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/range-datepicker.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Divider/Divider.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Divider/examples/basic-divider.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/EmailField/EmailField.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/EmailField/examples/basic-emailfield.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Form/Form.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Form/examples/basic-form.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/examples/basic-functionsettings.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Heading/Heading.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Heading/examples/basic-heading.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/examples/basic-headinggroup.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Icon/Icon.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Icon/examples/basic-icon.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Image/Image.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Image/examples/basic-image.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/InlineStack.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/examples/basic-inlinestack.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/examples/internalcustomersegmenttemplate.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Link/Link.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/app-link.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/external-link.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/relative-link.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/shopify-section-link.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/MoneyField.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/examples/basic-moneyfield.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/NumberField/NumberField.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/NumberField/examples/basic-numberfield.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/Paragraph.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/examples/basic-paragraph.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/PasswordField.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/examples/basic-passwordfield.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Pressable/Pressable.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Pressable/examples/basic-pressable.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/examples/basic-progressindicator.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Section/Section.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Section/examples/basic-Section.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Select/Select.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Select/examples/basic-select.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Text/Text.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/Text/examples/basic-text.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/TextArea/TextArea.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/TextArea/examples/basic-textarea.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/TextField/TextField.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/TextField/examples/basic-textfield.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/URLField/URLField.ts delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/URLField/examples/basic-urlfield.example.tsx delete mode 100644 packages/ui-extensions-react/src/surfaces/admin/components/util.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/AdminAction/AdminAction.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/AdminAction/AdminAction.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/AdminAction/examples/basic-adminaction.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/AdminBlock/AdminBlock.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/AdminBlock/AdminBlock.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/AdminBlock/examples/basic-adminblock.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction/examples/basic-adminprintaction.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Badge/Badge.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Badge/Badge.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Badge/examples/basic-badge.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Banner/Banner.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Banner/Banner.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Banner/examples/basic-banner.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/BlockStack/BlockStack.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/BlockStack/BlockStack.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/BlockStack/examples/basic-blockstack.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Box/Box.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Box/Box.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Box/examples/basic-box.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Button/Button.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Button/Button.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Button/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Button/examples/basic-button.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Checkbox/Checkbox.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Checkbox/Checkbox.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Checkbox/examples/basic-checkbox.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/ChoiceList/ChoiceList.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/ChoiceList/ChoiceList.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/ChoiceList/examples/basic-choicelist.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/ColorPicker/ColorPicker.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/ColorPicker/ColorPicker.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/ColorPicker/examples/basic-colorpicker.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/CustomerSegmentTemplate/examples/customersegmenttemplate.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DateField/DateField.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DateField/DateField.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DateField/examples/basic-datefield.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DateField/examples/multiple-datefield.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DateField/examples/range-datefield.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DatePicker/DatePicker.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DatePicker/DatePicker.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DatePicker/examples/basic-datepicker.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DatePicker/examples/multiple-datepicker.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/DatePicker/examples/range-datepicker.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Divider/Divider.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Divider/Divider.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Divider/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Divider/examples/basic-divider.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/EmailField/EmailField.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/EmailField/EmailField.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/EmailField/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/EmailField/examples/basic-emailfield.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Form/Form.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Form/Form.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Form/examples/basic-form.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/FunctionSettings/FunctionSettings.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/FunctionSettings/examples/basic-functionsettings.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Heading/Heading.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Heading/Heading.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Heading/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Heading/examples/basic-heading.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/HeadingGroup/HeadingGroup.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/HeadingGroup/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/HeadingGroup/examples/basic-headinggroup.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Icon/Icon.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Icon/Icon.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Icon/IconName.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Icon/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Icon/examples/basic-icon.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Image/Image.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Image/Image.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Image/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Image/examples/basic-image.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/InlineStack/InlineStack.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/InlineStack/InlineStack.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/InlineStack/examples/basic-inlinestack.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/InternalCustomerSegmentTemplate/examples/internalcustomersegmenttemplate.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Link/Link.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Link/Link.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Link/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Link/examples/app-link.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Link/examples/external-link.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Link/examples/relative-link.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Link/examples/shopify-section-link.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/MoneyField/MoneyField.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/MoneyField/MoneyField.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/MoneyField/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/MoneyField/examples/basic-moneyfield.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/NumberField/NumberField.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/NumberField/NumberField.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/NumberField/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/NumberField/examples/basic-numberfield.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Paragraph/Paragraph.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Paragraph/Paragraph.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Paragraph/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Paragraph/examples/basic-paragraph.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/PasswordField/PasswordField.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/PasswordField/PasswordField.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/PasswordField/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/PasswordField/examples/basic-passwordfield.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Pressable/Pressable.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Pressable/Pressable.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Pressable/examples/basic-pressable.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/ProgressIndicator/examples/basic-progressindicator.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Section/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Section/Section.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Section/Section.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Section/examples/basic-Section.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Select/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Select/Select.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Select/Select.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Select/examples/basic-select.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Text/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Text/Text.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Text/Text.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/Text/examples/basic-text.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/TextArea/TextArea.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/TextArea/TextArea.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/TextArea/examples/basic-textarea.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/TextField/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/TextField/TextField.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/TextField/TextField.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/TextField/examples/basic-textfield.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/URLField/README.md delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/URLField/URLField.doc.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/URLField/URLField.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/URLField/examples/basic-urlfield.example.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/shared/display.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/components/shared/index.ts delete mode 100644 packages/ui-extensions/src/surfaces/admin/shared.ts create mode 100644 packages/ui-extensions/vite.config.ts create mode 100644 packages/ui-extensions/yarn.lock diff --git a/.gitignore b/.gitignore index d25751c339..593976877c 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,7 @@ packages/*/bin !packages/*/.eslintrc.js *.log packages/ui-extensions/docs/**/generated - +dist # IntelliJ IDE ignore .idea diff --git a/config/typescript/tsconfig.base.json b/config/typescript/tsconfig.base.json index 4a8d721c69..5a5adc25b2 100644 --- a/config/typescript/tsconfig.base.json +++ b/config/typescript/tsconfig.base.json @@ -1,6 +1,7 @@ { "extends": "@shopify/typescript-configs/library.json", "compilerOptions": { + "moduleResolution": "Bundler", "strict": true, "composite": true, "isolatedModules": true, diff --git a/packages/data-extensions/package.json b/packages/data-extensions/package.json index a8fc64878e..9f868c337b 100644 --- a/packages/data-extensions/package.json +++ b/packages/data-extensions/package.json @@ -29,7 +29,7 @@ "license": "MIT", "sideEffects": false, "devDependencies": { - "typescript": "^4.9.0" + "typescript": "^5.6.3" }, "publishConfig": { "access": "public", diff --git a/packages/ui-extensions-react/src/surfaces/admin.ts b/packages/ui-extensions-react/src/surfaces/admin.ts index 669f012748..4de9bdd9f3 100644 --- a/packages/ui-extensions-react/src/surfaces/admin.ts +++ b/packages/ui-extensions-react/src/surfaces/admin.ts @@ -1,5 +1,4 @@ export {extend, extension} from '@shopify/ui-extensions/admin'; -export * from './admin/components'; export * from './admin/hooks'; export {render, reactExtension} from './admin/render'; diff --git a/packages/ui-extensions-react/src/surfaces/admin/components.ts b/packages/ui-extensions-react/src/surfaces/admin/components.ts deleted file mode 100644 index 258fbdddc4..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components.ts +++ /dev/null @@ -1,85 +0,0 @@ -export {AdminAction} from './components/AdminAction/AdminAction'; -export type {AdminActionProps} from './components/AdminAction/AdminAction'; -export {AdminPrintAction} from './components/AdminPrintAction/AdminPrintAction'; -export type {AdminPrintActionProps} from './components/AdminPrintAction/AdminPrintAction'; -export {AdminBlock} from './components/AdminBlock/AdminBlock'; -export type {AdminBlockProps} from './components/AdminBlock/AdminBlock'; -export {Badge} from './components/Badge/Badge'; -export type {BadgeProps} from './components/Badge/Badge'; -export {Banner} from './components/Banner/Banner'; -export type {BannerProps} from './components/Banner/Banner'; -export {BlockStack} from './components/BlockStack/BlockStack'; -export type {BlockStackProps} from './components/BlockStack/BlockStack'; -export {Box} from './components/Box/Box'; -export type {BoxProps} from './components/Box/Box'; -export {Button} from './components/Button/Button'; -export type {ButtonProps} from './components/Button/Button'; -export {Checkbox} from './components/Checkbox/Checkbox'; -export type {CheckboxProps} from './components/Checkbox/Checkbox'; -export {ChoiceList} from './components/ChoiceList/ChoiceList'; -export type {ChoiceListProps} from './components/ChoiceList/ChoiceList'; -export {ColorPicker} from './components/ColorPicker/ColorPicker'; -export type {ColorPickerProps} from './components/ColorPicker/ColorPicker'; -export {CustomerSegmentTemplate} from './components/CustomerSegmentTemplate/CustomerSegmentTemplate'; -export type {CustomerSegmentTemplateProps} from './components/CustomerSegmentTemplate/CustomerSegmentTemplate'; -export {DatePicker} from './components/DatePicker/DatePicker'; -export type {DatePickerProps} from './components/DatePicker/DatePicker'; -export {DateField} from './components/DateField/DateField'; -export type {DateFieldProps} from './components/DateField/DateField'; -export {Divider} from './components/Divider/Divider'; -export type {DividerProps} from './components/Divider/Divider'; -export {EmailField} from './components/EmailField/EmailField'; -export type {EmailFieldProps} from './components/EmailField/EmailField'; -export {Form} from './components/Form/Form'; -export type {FormProps} from './components/Form/Form'; -export {FunctionSettings} from './components/FunctionSettings/FunctionSettings'; -export type { - FunctionSettingsProps, - FunctionSettingsError, -} from './components/FunctionSettings/FunctionSettings'; -export {Heading} from './components/Heading/Heading'; -export type {HeadingProps} from './components/Heading/Heading'; -export {HeadingGroup} from './components/HeadingGroup/HeadingGroup'; -export type {HeadingGroupProps} from './components/HeadingGroup/HeadingGroup'; -export {Icon} from './components/Icon/Icon'; -export type {IconProps} from './components/Icon/Icon'; -export {Image} from './components/Image/Image'; -export type {ImageProps} from './components/Image/Image'; -export {InlineStack} from './components/InlineStack/InlineStack'; -export type {InlineStackProps} from './components/InlineStack/InlineStack'; -export {InternalCustomerSegmentTemplate} from './components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate'; -export type {InternalCustomerSegmentTemplateProps} from './components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate'; -export {Link} from './components/Link/Link'; -export type {LinkProps} from './components/Link/Link'; -export {MoneyField} from './components/MoneyField/MoneyField'; -export type {MoneyFieldProps} from './components/MoneyField/MoneyField'; -export {NumberField} from './components/NumberField/NumberField'; -export type {NumberFieldProps} from './components/NumberField/NumberField'; -export {Paragraph} from './components/Paragraph/Paragraph'; -export type {ParagraphProps} from './components/Paragraph/Paragraph'; -export {PasswordField} from './components/PasswordField/PasswordField'; -export type {PasswordFieldProps} from './components/PasswordField/PasswordField'; -export {Pressable} from './components/Pressable/Pressable'; -export type {PressableProps} from './components/Pressable/Pressable'; -export {ProgressIndicator} from './components/ProgressIndicator/ProgressIndicator'; -export type {ProgressIndicatorProps} from './components/ProgressIndicator/ProgressIndicator'; -export {Section} from './components/Section/Section'; -export type {SectionProps} from './components/Section/Section'; -export {Select} from './components/Select/Select'; -export type { - OptionDescription, - OptionGroupDescription, - OptionGroupProps, - OptionProps, - SelectProps, -} from './components/Select/Select'; -export {Text} from './components/Text/Text'; -export type {TextProps} from './components/Text/Text'; -export {TextArea} from './components/TextArea/TextArea'; -export type {TextAreaProps} from './components/TextArea/TextArea'; -export {TextField} from './components/TextField/TextField'; -export type {TextFieldProps} from './components/TextField/TextField'; -export {URLField} from './components/URLField/URLField'; -export type {URLFieldProps} from './components/URLField/URLField'; -export {InternalLocationList} from './components/InternalLocationList/InternalLocationList'; -export type {InternalLocationListProps} from './components/InternalLocationList/InternalLocationList'; diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/AdminAction.ts b/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/AdminAction.ts deleted file mode 100644 index 7134a86e09..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/AdminAction.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {AdminActionProps} from '@shopify/ui-extensions/admin'; - -export const AdminAction = createRemoteComponent('ui-admin-action'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/examples/basic-adminaction.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/examples/basic-adminaction.example.tsx deleted file mode 100644 index 3d59b1f3e0..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/AdminAction/examples/basic-adminaction.example.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; -import { - reactExtension, - AdminAction, - Button, - Text, -} from '@shopify/ui-extensions-react/admin'; - -function App() { - return ( - {}}>Action - } - secondaryAction={ - - } - > - Modal content - - ); -} - -export default reactExtension( - 'Playground', - () => , -); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/AdminBlock.ts b/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/AdminBlock.ts deleted file mode 100644 index 69e548e094..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/AdminBlock.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {AdminBlockProps} from '@shopify/ui-extensions/admin'; - -export const AdminBlock = createRemoteComponent('ui-admin-block'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/examples/basic-adminblock.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/examples/basic-adminblock.example.tsx deleted file mode 100644 index a7d3c00da0..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/AdminBlock/examples/basic-adminblock.example.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import {reactExtension, AdminBlock} from '@shopify/ui-extensions-react/admin'; - -function App() { - return ( - - Block content - - ); -} - -export default reactExtension('Playground', () => ); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts b/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts deleted file mode 100644 index cfbd27f3ea..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/AdminPrintAction.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {AdminPrintActionProps} from '@shopify/ui-extensions/admin'; - -export const AdminPrintAction = createRemoteComponent('ui-admin-print-action'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/examples/basic-adminprintaction.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/examples/basic-adminprintaction.example.tsx deleted file mode 100644 index 601ed5454d..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/AdminPrintAction/examples/basic-adminprintaction.example.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { - reactExtension, - AdminPrintAction, - Text, -} from '@shopify/ui-extensions-react/admin'; - -function App() { - return ( - - Modal content - - ); -} - -export default reactExtension( - 'Playground', - () => , -); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Badge/Badge.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Badge/Badge.ts deleted file mode 100644 index 051fc1ed8c..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Badge/Badge.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {BadgeProps} from '@shopify/ui-extensions/admin'; - -export const Badge = createRemoteComponent('ui-badge'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Badge/examples/basic-badge.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Badge/examples/basic-badge.example.tsx deleted file mode 100644 index 33dfa4e89d..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Badge/examples/basic-badge.example.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import {render, Badge} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - Fulfilled - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Banner/Banner.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Banner/Banner.ts deleted file mode 100644 index 728a34947a..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Banner/Banner.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {BannerProps} from '@shopify/ui-extensions/admin'; - -export const Banner = createRemoteComponent('ui-banner'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Banner/examples/basic-banner.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Banner/examples/basic-banner.example.tsx deleted file mode 100644 index 8db34382e4..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Banner/examples/basic-banner.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { - render, - Banner, - Paragraph, -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - console.log('dismissed banner')}> - Your store may be affected - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/BlockStack.ts b/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/BlockStack.ts deleted file mode 100644 index fb4d04559b..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/BlockStack.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {BlockStackProps} from '@shopify/ui-extensions/admin'; - -export const BlockStack = createRemoteComponent('ui-block-stack'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/examples/basic-blockstack.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/examples/basic-blockstack.example.tsx deleted file mode 100644 index b2c2a1dab7..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/BlockStack/examples/basic-blockstack.example.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import { - render, - BlockStack, -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - <>Child 1 - <>Child 2 - <>Child 3 - <>Child 4 - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Box/Box.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Box/Box.ts deleted file mode 100644 index b5a8afb606..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Box/Box.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {BoxProps} from '@shopify/ui-extensions/admin'; - -export const Box = createRemoteComponent('ui-box'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Box/examples/basic-box.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Box/examples/basic-box.example.tsx deleted file mode 100644 index 30be051844..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Box/examples/basic-box.example.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import {render, Box} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - Box - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Button/Button.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Button/Button.ts deleted file mode 100644 index 931634df80..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Button/Button.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {ButtonProps} from '@shopify/ui-extensions/admin'; - -export const Button = createRemoteComponent('ui-button'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Button/examples/basic-button.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Button/examples/basic-button.example.tsx deleted file mode 100644 index 93fcdd8f25..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Button/examples/basic-button.example.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import {render, Button} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/Checkbox.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/Checkbox.ts deleted file mode 100644 index 0fc14909ac..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/Checkbox.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {CheckboxProps} from '@shopify/ui-extensions/admin'; - -export const Checkbox = createRemoteComponent('ui-checkbox'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/examples/basic-checkbox.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/examples/basic-checkbox.example.tsx deleted file mode 100644 index 40644d7324..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Checkbox/examples/basic-checkbox.example.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import {render, Checkbox} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - Save this information for next time - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/ChoiceList.ts b/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/ChoiceList.ts deleted file mode 100644 index 4aa60d67b4..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/ChoiceList.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {ChoiceListProps} from '@shopify/ui-extensions/admin'; - -export const ChoiceList = createRemoteComponent('ui-choice-list'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/examples/basic-choicelist.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/examples/basic-choicelist.example.tsx deleted file mode 100644 index f34899efed..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/ChoiceList/examples/basic-choicelist.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import {render, ChoiceList} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - ); -} \ No newline at end of file diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/ColorPicker.ts b/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/ColorPicker.ts deleted file mode 100644 index 375de0137a..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/ColorPicker.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {ColorPickerProps} from '@shopify/ui-extensions/admin'; - -export const ColorPicker = createRemoteComponent('ui-color-picker'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/examples/basic-colorpicker.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/examples/basic-colorpicker.example.tsx deleted file mode 100644 index bddc087269..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/ColorPicker/examples/basic-colorpicker.example.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { - render, - ColorPicker, -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - { - console.log({value}); - }} - /> - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts b/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts deleted file mode 100644 index 8110f65782..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/CustomerSegmentTemplate.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {CustomerSegmentTemplateProps} from '@shopify/ui-extensions/admin'; - -export const CustomerSegmentTemplate = createRemoteComponent( - 'ui-customer-segment-template', -); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/examples/customersegmenttemplate.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/examples/customersegmenttemplate.example.tsx deleted file mode 100644 index c4b5afd10f..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/CustomerSegmentTemplate/examples/customersegmenttemplate.example.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import {reactExtension, CustomerSegmentTemplate} from '@shopify/ui-extensions/admin'; - -function App() { - return ( - - ); -} - -export default reactExtension('Playground', () => ); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/DateField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/DateField/DateField.ts deleted file mode 100644 index c56494551d..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/DateField.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {DateFieldProps} from '@shopify/ui-extensions/admin'; - -export const DateField = createRemoteComponent('ui-date-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/basic-datefield.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/basic-datefield.example.tsx deleted file mode 100644 index 13542e0195..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/basic-datefield.example.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import React, { useState } from 'react'; -import { - render, - DateField, - type Selected -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - const [selected, setSelected] = useState('2023-11-08') - return ( - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/multiple-datefield.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/multiple-datefield.example.tsx deleted file mode 100644 index 3e2914e80d..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/multiple-datefield.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { - render, - DateField, - type Selected, -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - const [selected, setSelected] = React.useState(['2023-11-08']); - - return ( - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/range-datefield.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/range-datefield.example.tsx deleted file mode 100644 index 8519b66dbb..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DateField/examples/range-datefield.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { - render, - DateField, - type Selected -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - const [selected, setSelected] = React.useState({start: '2023-11-08', end: '2023-11-10' }); - - return ( - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/DatePicker.ts b/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/DatePicker.ts deleted file mode 100644 index 21f3cdbfeb..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/DatePicker.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {DatePickerProps} from '@shopify/ui-extensions/admin'; - -export const DatePicker = createRemoteComponent('ui-date-picker'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/basic-datepicker.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/basic-datepicker.example.tsx deleted file mode 100644 index 4f36fd9329..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/basic-datepicker.example.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import React, { useState } from 'react'; -import { - render, - DatePicker, - type Selected -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - const [selected, setSelected] = useState('2023-11-08') - return ( - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/multiple-datepicker.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/multiple-datepicker.example.tsx deleted file mode 100644 index c5dbf58921..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/multiple-datepicker.example.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import { - render, - DatePicker, - type Selected, -} from '@shopify/ui-extensions-react/admin'; - - -render('Playground', () => ); - -function App() { - const [selected, setSelected] = React.useState(['2023-11-08']); - - return ( - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/range-datepicker.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/range-datepicker.example.tsx deleted file mode 100644 index 209fe39f68..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/DatePicker/examples/range-datepicker.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { - render, - DatePicker, - type Selected -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - const [selected, setSelected] = React.useState({start: '2023-11-08', end: '2023-11-10' }); - - return ( - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Divider/Divider.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Divider/Divider.ts deleted file mode 100644 index a26fac0e38..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Divider/Divider.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {DividerProps} from '@shopify/ui-extensions/admin'; - -export const Divider = createRemoteComponent('ui-divider'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Divider/examples/basic-divider.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Divider/examples/basic-divider.example.tsx deleted file mode 100644 index 902ab9478f..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Divider/examples/basic-divider.example.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import { - render, - Divider, - BlockStack, -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - <>First text - - <>Second Text - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/EmailField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/EmailField.ts deleted file mode 100644 index 6c3b7de33c..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/EmailField.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {EmailFieldProps} from '@shopify/ui-extensions/admin'; - -export const EmailField = createRemoteComponent('ui-email-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/examples/basic-emailfield.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/examples/basic-emailfield.example.tsx deleted file mode 100644 index 2b4cdff6bf..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/EmailField/examples/basic-emailfield.example.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import {render, EmailField} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ; -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Form/Form.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Form/Form.ts deleted file mode 100644 index d62ad110e5..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Form/Form.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {FormProps} from '@shopify/ui-extensions/admin'; - -export const Form = createRemoteComponent('ui-form'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Form/examples/basic-form.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Form/examples/basic-form.example.tsx deleted file mode 100644 index c6d445ed83..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Form/examples/basic-form.example.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React, { useCallback, useState } from 'react'; -import { - reactExtension, - Form, - TextField, -} from '@shopify/ui-extensions-react/admin'; - -export default reactExtension("admin.product-details.block.render", () => ); - -function App() { - const [value, setValue] = useState(""); - const [error, setError] = useState(''); - - const onSubmit = useCallback( - async () => { - // API call to save the values - const res = await fetch('/save', {method:'POST', body: JSON.stringify({name: value})}); - if (!res.ok) { - const json = await res.json(); - const errors = json.errors.join(','); - setError(errors); - } - }, - [value] - ); - - const onReset = useCallback(async () => { - // Reset to initial value - setValue('') - // Clear errors - setError('') - }, []); - - const onInput = useCallback((nameValue) => { - if (!nameValue) { - setError("Please enter a name."); - } - }, []) - - // Field values can only be updated on change when using Remote UI. - const onChange = useCallback((nameValue) => { - setValue(nameValue); - }, []) - - - return ( -
- - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts b/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts deleted file mode 100644 index 4aadb0e056..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/FunctionSettings.ts +++ /dev/null @@ -1,8 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type { - FunctionSettingsProps, - FunctionSettingsError, -} from '@shopify/ui-extensions/admin'; - -export const FunctionSettings = createRemoteComponent('ui-functipo'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/examples/basic-functionsettings.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/examples/basic-functionsettings.example.tsx deleted file mode 100644 index f986411219..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/FunctionSettings/examples/basic-functionsettings.example.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { - reactExtension, - useApi, - FunctionSettings, - TextField, - Section, -} from '@shopify/ui-extensions-react/admin'; - -export default reactExtension( - 'admin.settings.validation.render', - async (api) => { - // Use Direct API access to fetch initial - // metafields from the server if we are - // rendering against a pre-existing `Validation` - const initialSettings = api.data.validation - ? await fetchSettings(api.data.validation.id) - : {}; - - return ; -}); - -function App({settings}) { - const [value, setValue] = useState(settings); - const [error, setError] = useState(); - - const {applyMetafieldsChange} = useApi(); - - return ( - { - setError(errors[0]?.message); - }} - > -
- { - setValue(value); - setError(undefined); - applyMetafieldsChange({ - type: 'updateMetafield', - namespace: '$app:my_namespace', - key: 'name', - value, - valueType: 'single_line_text_field', - }); - }} - /> -
-
- ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Heading/Heading.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Heading/Heading.ts deleted file mode 100644 index b6e6d73b61..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Heading/Heading.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {HeadingProps} from '@shopify/ui-extensions/admin'; - -export const Heading = createRemoteComponent('ui-heading'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Heading/examples/basic-heading.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Heading/examples/basic-heading.example.tsx deleted file mode 100644 index b03a114e76..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Heading/examples/basic-heading.example.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import {render, Heading} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return Store name; -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts b/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts deleted file mode 100644 index 7f6f45c247..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/HeadingGroup.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {HeadingGroupProps} from '@shopify/ui-extensions/admin'; - -export const HeadingGroup = createRemoteComponent('ui-heading-group'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/examples/basic-headinggroup.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/examples/basic-headinggroup.example.tsx deleted file mode 100644 index 7bcaef3901..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/HeadingGroup/examples/basic-headinggroup.example.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { - render, - HeadingGroup, - Heading, - } from '@shopify/ui-extensions-react/admin'; - - render('Playground', () => ); - - function App() { - return ( - <> - Heading <h1> - - - Heading <h2> - - - Heading <h3> - - - - ); - } diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Icon/Icon.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Icon/Icon.ts deleted file mode 100644 index c50233a7c3..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Icon/Icon.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {IconProps} from '@shopify/ui-extensions/admin'; - -export const Icon = createRemoteComponent('ui-icon'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Icon/examples/basic-icon.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Icon/examples/basic-icon.example.tsx deleted file mode 100644 index a3e8089a44..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Icon/examples/basic-icon.example.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import {render, Icon} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ; -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Image/Image.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Image/Image.ts deleted file mode 100644 index 82b47d2918..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Image/Image.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {ImageProps} from '@shopify/ui-extensions/admin'; - -export const Image = createRemoteComponent('ui-image'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Image/examples/basic-image.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Image/examples/basic-image.example.tsx deleted file mode 100644 index 43dc6f5ea5..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Image/examples/basic-image.example.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import {render, Image} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - Pickaxe - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/InlineStack.ts b/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/InlineStack.ts deleted file mode 100644 index 140cc12bf6..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/InlineStack.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {InlineStackProps} from '@shopify/ui-extensions/admin'; - -export const InlineStack = createRemoteComponent('ui-inline-stack'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/examples/basic-inlinestack.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/examples/basic-inlinestack.example.tsx deleted file mode 100644 index d9fb203f83..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/InlineStack/examples/basic-inlinestack.example.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import { - render, - InlineStack, -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - <>Child 1 - <>Child 2 - <>Child 3 - <>Child 4 - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts b/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts deleted file mode 100644 index 74b94026cd..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/InternalCustomerSegmentTemplate.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {InternalCustomerSegmentTemplateProps} from '@shopify/ui-extensions/admin'; - -export const InternalCustomerSegmentTemplate = createRemoteComponent( - 'ui-internal-customer-segment-template', -); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/examples/internalcustomersegmenttemplate.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/examples/internalcustomersegmenttemplate.example.tsx deleted file mode 100644 index a85de408d8..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/InternalCustomerSegmentTemplate/examples/internalcustomersegmenttemplate.example.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import React from 'react'; -import { - reactExtension, - InternalCustomerSegmentTemplate, -} from '@shopify/ui-extensions-react/admin'; - -function App({i18n, enabledFeatures}) { - const productsPurchasedOnTagsEnabled = enabledFeatures.includes('productsPurchasedByTags'); - const query = productsPurchasedOnTagsEnabled - ? 'products_purchased(tag: (product_tag)) = true' - : 'products_purchased(id: (product_id)) = true'; - const queryToInsert = productsPurchasedOnTagsEnabled - ? 'products_purchased(tag:' - : 'products_purchased(id:'; - - return ( - <> - - - - ); -} - -reactExtension('admin.customers.segmentation-templates.render', ({i18n, __enabledFeatures}) => ); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts b/packages/ui-extensions-react/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts deleted file mode 100644 index 557356e83e..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/InternalLocationList/InternalLocationList.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {InternalLocationListProps} from '@shopify/ui-extensions/admin'; - -export const InternalLocationList = createRemoteComponent( - 'ui-internal-location-list', -); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Link/Link.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Link/Link.ts deleted file mode 100644 index bda27989cb..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Link/Link.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {LinkProps} from '@shopify/ui-extensions/admin'; - -export const Link = createRemoteComponent('ui-link'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/app-link.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/app-link.example.tsx deleted file mode 100644 index 73b437853c..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/app-link.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { - render, - Link, -} from '@shopify/ui-extensions-react/admin'; - - -render('Playground', () => ); - -function App() { - return ( - - Link to app path - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/external-link.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/external-link.example.tsx deleted file mode 100644 index 0f4c6af283..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/external-link.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { - render, - Link, -} from '@shopify/ui-extensions-react/admin'; - - -render('Playground', () => ); - -function App() { - return ( - - Sustainability fund - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/relative-link.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/relative-link.example.tsx deleted file mode 100644 index 822ae7bdc9..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/relative-link.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { - render, - Link, -} from '@shopify/ui-extensions-react/admin'; - - -render('Playground', () => ); - -function App() { - return ( - - Link relative to current path - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/shopify-section-link.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/shopify-section-link.example.tsx deleted file mode 100644 index f10a0e5ade..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Link/examples/shopify-section-link.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { - render, - Link, -} from '@shopify/ui-extensions-react/admin'; - - -render('Playground', () => ); - -function App() { - return ( - - Shop's orders - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/MoneyField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/MoneyField.ts deleted file mode 100644 index f176a02a64..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/MoneyField.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {MoneyFieldProps} from '@shopify/ui-extensions/admin'; - -export const MoneyField = createRemoteComponent('ui-money-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/examples/basic-moneyfield.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/examples/basic-moneyfield.example.tsx deleted file mode 100644 index bdd46cdcde..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/MoneyField/examples/basic-moneyfield.example.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import {render, MoneyField} from '@shopify/ui-extensions-react/admin'; -import {useState} from 'react'; - -render('Playground', () => ); - -function App() { - const [value, setValue] = useState({ amount: 100, currencyCode: 'USD' }); - - return ; -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/NumberField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/NumberField.ts deleted file mode 100644 index 3f44e86e6c..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/NumberField.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {NumberFieldProps} from '@shopify/ui-extensions/admin'; - -export const NumberField = createRemoteComponent('ui-number-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/examples/basic-numberfield.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/examples/basic-numberfield.example.tsx deleted file mode 100644 index 65dd16ea34..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/NumberField/examples/basic-numberfield.example.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import {render, NumberField} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ; -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/Paragraph.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/Paragraph.ts deleted file mode 100644 index d727b8839a..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/Paragraph.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {ParagraphProps} from '@shopify/ui-extensions/admin'; - -export const Paragraph = createRemoteComponent('ui-paragraph'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/examples/basic-paragraph.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/examples/basic-paragraph.example.tsx deleted file mode 100644 index 022b4c2db6..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Paragraph/examples/basic-paragraph.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { - render, - BlockStack, - Paragraph, -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - Name: - Jane Doe - - ) -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/PasswordField.ts b/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/PasswordField.ts deleted file mode 100644 index 68f167a407..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/PasswordField.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {PasswordFieldProps} from '@shopify/ui-extensions/admin'; - -export const PasswordField = createRemoteComponent('ui-password-field'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/examples/basic-passwordfield.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/examples/basic-passwordfield.example.tsx deleted file mode 100644 index a2ca1d62e7..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/PasswordField/examples/basic-passwordfield.example.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { - render, - BlockStack, - TextField, - PasswordField -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - return ( - - - - - ) -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/Pressable.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/Pressable.ts deleted file mode 100644 index fcca37defb..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/Pressable.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {PressableProps} from '@shopify/ui-extensions/admin'; - -export const Pressable = createRemoteComponent('ui-pressable'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/examples/basic-pressable.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/examples/basic-pressable.example.tsx deleted file mode 100644 index 67efde16b8..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Pressable/examples/basic-pressable.example.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { - reactExtension, - Icon, - InlineStack, - Pressable, - Text, -} from '@shopify/ui-extensions-react/admin'; - -reactExtension('Playground', () => ); - -function Extension() { - return ( - - - Go to Apps Dashboard - - - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts b/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts deleted file mode 100644 index b10c177190..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/ProgressIndicator.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {ProgressIndicatorProps} from '@shopify/ui-extensions/admin'; - -export const ProgressIndicator = createRemoteComponent('ui-progress-indicator'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/examples/basic-progressindicator.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/examples/basic-progressindicator.example.tsx deleted file mode 100644 index 8b4968f5e9..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/ProgressIndicator/examples/basic-progressindicator.example.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { - reactExtension, - ProgressIndicator, -} from '@shopify/ui-extensions-react/admin'; - -reactExtension('Playground', () => ); - -function App() { - return ( - - ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Section/Section.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Section/Section.ts deleted file mode 100644 index 6cc484c553..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Section/Section.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type {SectionProps} from '@shopify/ui-extensions/admin'; - -export const Section = createRemoteComponent('ui-section'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Section/examples/basic-Section.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Section/examples/basic-Section.example.tsx deleted file mode 100644 index 45538063f5..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Section/examples/basic-Section.example.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { - render, - Section, -} from '@shopify/ui-extensions-react/admin'; - - -render('Playground', () => ); - -function App() { - return ( -
- Section content -
- ); -} diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Select/Select.ts b/packages/ui-extensions-react/src/surfaces/admin/components/Select/Select.ts deleted file mode 100644 index 9f0b79f156..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Select/Select.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {createRemoteComponent} from '../util'; - -export type { - SelectProps, - OptionDescription, - OptionGroupDescription, - OptionGroupProps, - OptionProps, -} from '@shopify/ui-extensions/admin'; - -export const Select = createRemoteComponent('ui-select'); diff --git a/packages/ui-extensions-react/src/surfaces/admin/components/Select/examples/basic-select.example.tsx b/packages/ui-extensions-react/src/surfaces/admin/components/Select/examples/basic-select.example.tsx deleted file mode 100644 index f9cec98b9a..0000000000 --- a/packages/ui-extensions-react/src/surfaces/admin/components/Select/examples/basic-select.example.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; -import { - render, - Select, -} from '@shopify/ui-extensions-react/admin'; - -render('Playground', () => ); - -function App() { - const [value, setValue] = React.useState('2'); - - return ( -