Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
44d2a10
App home - Patterns: update descriptions.
chadwcarlson Feb 9, 2026
0ff8284
Clean up descriptions.
chadwcarlson Feb 10, 2026
2c7860d
Match UX changes for templates - one column.
chadwcarlson Feb 10, 2026
880d06f
Additional examples.
chadwcarlson Feb 11, 2026
ec2c0bb
Fix lint errors.
chadwcarlson Feb 18, 2026
ad432a0
Match UX changes for templates - one column.
chadwcarlson Feb 10, 2026
55c8294
fix: yarn lint.
chadwcarlson Feb 18, 2026
9fd30fc
Merge branch '02-10-match_ux_changes_for_templates_-_one_column' into…
chadwcarlson Feb 18, 2026
7857f85
fix: lint errors.
chadwcarlson Feb 18, 2026
0df0e46
Merge remote-tracking branch 'origin/2026-01' into 02-09-app_home_-_p…
chadwcarlson Feb 27, 2026
abcbc3e
Address feedback.
chadwcarlson Feb 27, 2026
b2c8ec1
Merge remote-tracking branch 'origin/02-09-app_home_-_patterns_update…
chadwcarlson Feb 27, 2026
d72a758
Apply feedback.
chadwcarlson Feb 27, 2026
af0c4af
Fix linting errors.
chadwcarlson Feb 27, 2026
a523a39
Merge remote-tracking branch 'origin/02-10-match_ux_changes_for_templ…
chadwcarlson Feb 27, 2026
066402d
Apply feedback.
chadwcarlson Feb 27, 2026
bce58cb
Fix lint error.
chadwcarlson Feb 27, 2026
a8475e8
Merge pull request #3900 from Shopify/02-11-additional_examples
chadwcarlson Feb 27, 2026
c764474
Merge 02-09-app_home_-_patterns_update_descriptions into 02-10 (resol…
chadwcarlson Feb 27, 2026
0d67707
Merge origin/02-10 to include latest PR commits
chadwcarlson Feb 27, 2026
f8e37a4
Regenerate docs.
chadwcarlson Feb 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions packages/ui-extensions/docs/surfaces/admin/build-docs.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,14 @@ const templates = {
wrapperElement: 's-box',
wrapperAttributes: 'padding="base", inlineSize="100%"',
}),
templatePattern: createTemplate({
layoutStyles:
'width: 100%; transform: scale(1.0); transform-origin: top left;',
}),
compositionPattern: createTemplate({
layoutStyles:
'display: grid; align-items: center; justify-items: stretch; gap: 0.5rem; padding: 1rem;',
}),
example: createTemplate({
layoutStyles: 'display: grid; place-items: center; gap: 0.5rem;',
wrapperElement: 's-box',
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {ReferenceEntityTemplateSchema} from '@shopify/generate-docs';
import {AdminReferenceEntityTemplateSchema} from '../../docs-types';

const data: ReferenceEntityTemplateSchema = {
const data: AdminReferenceEntityTemplateSchema = {
name: 'Account connection',
isOneColumnLayout: false,
overviewPreviewDescription:
Expand All @@ -15,9 +15,22 @@ const data: ReferenceEntityTemplateSchema = {
subCategory: 'Compositions',
thumbnail:
'/assets/templated-apis-screenshots/admin/patterns/accountConnection.png',
usedComponents: [
'Button',
'Grid',
'GridItem',
'Heading',
'Section',
'Stack',
'Text',
],
recommendedApis: ['Modal API', 'Toast API'],
recommendedTemplates: ['Settings'],
defaultExample: {
description:
'Merchants need to connect or disconnect external services (e.g. marketing platforms, sales channels) from your app. This pattern displays account connection layout with a connect button and terms. The [grid](/docs/api/app-home/polaris-web-components/layout-and-structure/grid) aligns account information and button, the [section](/docs/api/app-home/polaris-web-components/layout-and-structure/section) provides padding, and the terms text below describes the connection agreement.',
codeblock: {
title: 'Account connection',
title: 'Display connection status with connect button and terms',
tabs: [
{
title: 'html',
Expand All @@ -28,19 +41,64 @@ const data: ReferenceEntityTemplateSchema = {
title: 'jsx',
code: 'examples/accountConnection.jsx',
language: 'preview-jsx',
layout: 'compositionPattern',
},
],
},
},
examples: {
description: `The examples below show how you can extend the account connection pattern with additional functionality:

related: [
{
name: 'Built for Shopify',
subtitle: 'Requirements',
url: '/docs/apps/launch/built-for-shopify/requirements',
type: 'component',
},
],
- [Modal API](#example-confirm-disconnect-with-modal): Confirm account disconnection before removing an integration.
- [Toast API](#example-show-connection-feedback-with-toast): Show feedback when connection status changes.`,
exampleGroups: [
{
title: '',
examples: [
{
description:
'Use the [Modal API](/docs/api/app-home/apis/modal-api) to confirm account disconnection before removing the integration.',
codeblock: {
title: 'Confirm disconnect with Modal',
tabs: [
{
title: 'jsx',
code: 'examples/accountConnection-modal.jsx',
language: 'preview-jsx',
layout: 'compositionPattern',
},
{
title: 'html',
code: 'examples/accountConnection-modal.html',
language: 'html',
},
],
},
},
{
description:
'Use the [Toast API](/docs/api/app-home/apis/toast) to show feedback when an account is connected or disconnected.',
codeblock: {
title: 'Show connection feedback with Toast',
tabs: [
{
title: 'jsx',
code: 'examples/accountConnection-toast.jsx',
language: 'jsx',
layout: 'compositionPattern',
},
{
title: 'html',
code: 'examples/accountConnection-toast.html',
language: 'html',
},
],
},
},
],
},
],
},
};

export default data;
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {ReferenceEntityTemplateSchema} from '@shopify/generate-docs';
import {AdminReferenceEntityTemplateSchema} from '../../docs-types';

const data: ReferenceEntityTemplateSchema = {
const data: AdminReferenceEntityTemplateSchema = {
name: 'App card',
isOneColumnLayout: false,
overviewPreviewDescription:
Expand All @@ -13,9 +13,23 @@ const data: ReferenceEntityTemplateSchema = {
category: 'Patterns',
subCategory: 'Compositions',
thumbnail: '/assets/templated-apis-screenshots/admin/patterns/appCard.png',
usedComponents: [
'Box',
'Button',
'Clickable',
'Grid',
'Heading',
'Paragraph',
'Stack',
'Thumbnail',
],
recommendedApis: ['Navigation API'],
recommendedTemplates: ['Homepage'],
defaultExample: {
description:
"Merchants can discover and install complementary apps that extend your app's functionality. This pattern displays a tappable app card with thumbnail and content layout. The [clickable](/docs/api/app-home/polaris-web-components/actions/clickable) component wraps the card, the [thumbnail](/docs/api/app-home/polaris-web-components/images/thumbnail) shows the app icon, and the [grid](/docs/api/app-home/polaris-web-components/layout-and-structure/grid) aligns the content.",
codeblock: {
title: 'App card',
title: 'Display a tappable app card with thumbnail and content',
tabs: [
{
title: 'html',
Expand All @@ -26,19 +40,43 @@ const data: ReferenceEntityTemplateSchema = {
title: 'jsx',
code: 'examples/appCard.jsx',
language: 'preview-jsx',
layout: 'compositionPattern',
},
],
},
},
examples: {
description: `The examples below show how you can extend the app card with additional functionality:

related: [
{
name: 'Built for Shopify',
subtitle: 'Requirements',
url: '/docs/apps/launch/built-for-shopify/requirements',
type: 'component',
},
],
- [Navigation API](#example-navigate-to-app-store): Provide a link a recommended app when merchants click the card or its install button.`,
exampleGroups: [
{
title: '',
examples: [
{
description:
'Use `href` attributes to navigate merchants to the App Store when they click the card or install button.',
codeblock: {
title: 'Navigate to App Store',
tabs: [
{
title: 'jsx',
code: 'examples/appCard-nav.jsx',
language: 'preview-jsx',
layout: 'compositionPattern',
},
{
title: 'html',
code: 'examples/appCard-nav.html',
language: 'html',
},
],
},
},
],
},
],
},
};

export default data;
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {ReferenceEntityTemplateSchema} from '@shopify/generate-docs';
import {AdminReferenceEntityTemplateSchema} from '../../docs-types';

const data: ReferenceEntityTemplateSchema = {
const data: AdminReferenceEntityTemplateSchema = {
name: 'Callout card',
isOneColumnLayout: false,
overviewPreviewDescription:
Expand All @@ -14,9 +14,23 @@ const data: ReferenceEntityTemplateSchema = {
subCategory: 'Compositions',
thumbnail:
'/assets/templated-apis-screenshots/admin/patterns/calloutCard.png',
usedComponents: [
'Box',
'Button',
'Grid',
'Heading',
'Image',
'Paragraph',
'Section',
'Stack',
],
recommendedApis: ['Navigation API', 'Toast API'],
recommendedTemplates: ['Homepage'],
defaultExample: {
description:
'Merchants can take action on new features or opportunities you highlight. This pattern presents a callout card that stacks content on smaller screens with a prominent illustration and call-to-action. The [grid](/docs/api/app-home/polaris-web-components/layout-and-structure/grid) uses responsive column templates. The illustration and button draw attention to important actions or promotions.',
codeblock: {
title: 'Callout card',
title: 'Display a callout card with illustration and call-to-action',
tabs: [
{
title: 'html',
Expand All @@ -27,19 +41,64 @@ const data: ReferenceEntityTemplateSchema = {
title: 'jsx',
code: 'examples/calloutCard.jsx',
language: 'preview-jsx',
layout: 'compositionPattern',
},
],
},
},
examples: {
description: `The examples below show how you can extend the callout card with additional functionality:

related: [
{
name: 'Built for Shopify',
subtitle: 'Requirements',
url: '/docs/apps/launch/built-for-shopify/requirements',
type: 'component',
},
],
- [Navigation API](#example-navigate-to-feature-pages): Add links to the pattern for CTA navigation.
- [Toast API](#example-show-dismiss-feedback-with-toast): Dismiss feedback.`,
exampleGroups: [
{
title: '',
examples: [
{
description:
'Use `href` attributes on buttons to navigate merchants to feature pages when they click CTA buttons.',
codeblock: {
title: 'Navigate to feature pages',
tabs: [
{
title: 'jsx',
code: 'examples/calloutCard-nav.jsx',
language: 'jsx',
layout: 'compositionPattern',
},
{
title: 'html',
code: 'examples/calloutCard-nav.html',
language: 'html',
},
],
},
},
{
description:
'Use the [Toast API](/docs/api/app-home/apis/toast) to show feedback when the callout card is dismissed.',
codeblock: {
title: 'Show dismiss feedback with Toast',
tabs: [
{
title: 'jsx',
code: 'examples/calloutCard-toast.jsx',
language: 'jsx',
layout: 'compositionPattern',
},
{
title: 'html',
code: 'examples/calloutCard-toast.html',
language: 'html',
},
],
},
},
],
},
],
},
};

export default data;
Loading