From 60f7074964f20e2b37c49c0c42da8b9d897775c2 Mon Sep 17 00:00:00 2001 From: John Collett Date: Mon, 23 Feb 2026 09:46:39 -0500 Subject: [PATCH 1/8] 2025-10 gen-docs v1 --- .../surfaces/point-of-sale/build-docs.mjs | 6 +- packages/ui-extensions/package.json | 4 +- .../api/action-api/action-api.ts | 3 + .../point-of-sale/api/cart-api/cart-api.ts | 3 + .../cart-line-item-api/cart-line-item-api.ts | 1 + .../api/connectivity-api/connectivity-api.ts | 3 + .../api/customer-api/customer-api.ts | 3 + .../api/device-api/device-api.ts | 3 + .../api/draft-order-api/draft-order-api.ts | 3 + .../api/locale-api/locale-api.ts | 3 + .../api/navigation-api/navigation-api.ts | 4 + .../point-of-sale/api/order-api/order-api.ts | 1 + .../surfaces/point-of-sale/api/pin-pad-api.ts | 3 + .../point-of-sale/api/print-api/print-api.ts | 1 + .../api/product-api/product-api.ts | 3 + .../product-search-api/product-search-api.ts | 3 + .../api/scanner-api/scanner-api.ts | 3 + .../api/session-api/session-api.ts | 3 + .../point-of-sale/api/toast-api/toast-api.ts | 3 + .../surfaces/point-of-sale/components.d.ts | 116 ++++++++++++++++++ .../event/data/TransactionCompleteData.ts | 1 + .../surfaces/point-of-sale/types/storage.ts | 1 + yarn.lock | 7 +- 23 files changed, 174 insertions(+), 7 deletions(-) diff --git a/packages/ui-extensions/docs/surfaces/point-of-sale/build-docs.mjs b/packages/ui-extensions/docs/surfaces/point-of-sale/build-docs.mjs index dd00db74e1..9236834944 100644 --- a/packages/ui-extensions/docs/surfaces/point-of-sale/build-docs.mjs +++ b/packages/ui-extensions/docs/surfaces/point-of-sale/build-docs.mjs @@ -35,7 +35,7 @@ const shopifyDevDBPath = path.join( 'areas/platforms/shopify-dev/db/data/docs/templated_apis', ); -const generatedDocsDataFile = 'generated_docs_data.json'; +const generatedDocsDataFile = 'generated_docs_data_v2.json'; const generatedStaticPagesFile = 'generated_static_pages.json'; const componentDefs = path.join(srcPath, 'components.d.ts'); @@ -46,7 +46,9 @@ const tsconfig = 'tsconfig.docs.json'; const transformJson = async (filePath) => { let jsonData = JSON.parse((await fs.readFile(filePath, 'utf8')).toString()); - jsonData = jsonData.filter(Boolean); + if (Array.isArray(jsonData)) { + jsonData = jsonData.filter(Boolean); + } await fs.writeFile(filePath, JSON.stringify(jsonData, null, 2)); }; diff --git a/packages/ui-extensions/package.json b/packages/ui-extensions/package.json index eea5a3d5a3..6321a756b1 100644 --- a/packages/ui-extensions/package.json +++ b/packages/ui-extensions/package.json @@ -129,7 +129,7 @@ ], "devDependencies": { "@remote-ui/async-subscription": "^2.1.16", - "@shopify/generate-docs": "https://registry.npmjs.org/@shopify/generate-docs/-/generate-docs-0.19.8.tgz", + "@shopify/generate-docs": "^1.0.0", "@quilted/react-testing": "^0.6.11", "typescript": "^4.9.0", "@faker-js/faker": "^8.4.1", @@ -172,4 +172,4 @@ "dependencies": { "ts-morph": "^25.0.1" } -} +} \ No newline at end of file diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts index b772c8a9eb..6c7e1c37ef 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts @@ -1,3 +1,6 @@ +/** + * @publicDocs + */ export interface ActionApiContent { /** * Presents the corresponding action (modal) target on top of the current view as a full-screen modal. For example, calling this method from `pos.purchase.post.action.menu-item.render` presents `pos.purchase.post.action.render`. Use to launch detailed workflows, complex forms, or multi-step processes that require more screen space than simple components provide. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-api/cart-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-api/cart-api.ts index a52cbe4914..227ee80be4 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-api/cart-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-api/cart-api.ts @@ -27,6 +27,9 @@ export type CartDiscountType = 'Percentage' | 'FixedAmount' | 'Code'; */ export type LineItemDiscountType = 'Percentage' | 'FixedAmount'; +/** + * @publicDocs + */ export interface CartApiContent { /** * Provides read-only access to the current cart state and allows subscribing to cart changes. The `value` property provides the current cart state, and `subscribe` allows listening to changes with improved performance and memory management. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts index 38c4d633c8..f28878e3c2 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts @@ -2,6 +2,7 @@ import type {LineItem} from '../../types/cart'; /** * The `CartLineItemApi` object provides access to the current line item. Access this property through `api.cartLineItem` to interact with the current line item context. + * @publicDocs */ export interface CartLineItemApi { /** diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/connectivity-api/connectivity-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/connectivity-api/connectivity-api.ts index 66f7ebe32a..fb016fed41 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/connectivity-api/connectivity-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/connectivity-api/connectivity-api.ts @@ -12,6 +12,9 @@ export interface ConnectivityState { internetConnected: ConnectivityStateSeverity; } +/** + * @publicDocs + */ export interface ConnectivityApiContent { /** * Provides read-only access to the current connectivity state and allows subscribing to connectivity changes. Use for implementing connectivity-aware functionality and reactive connectivity handling. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts index 36b23b094c..473745d9dd 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts @@ -5,6 +5,9 @@ export interface CustomerApi { customer: CustomerApiContent; } +/** + * @publicDocs + */ export interface CustomerApiContent { /** * The unique identifier for the customer. Use for customer lookups, applying customer-specific pricing, enabling personalized features, and integrating with external systems. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts index c2fadb1e19..ff3dcccf7f 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts @@ -1,3 +1,6 @@ +/** + * @publicDocs + */ export interface DeviceApiContent { /** * The name of the device as configured by the merchant or system. Use for displaying device information in interfaces, logging, or support contexts where device identification is helpful. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts index c3f9f73c36..bea272fc00 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts @@ -5,6 +5,9 @@ export interface DraftOrderApi { draftOrder: DraftOrderApiContent; } +/** + * @publicDocs + */ export interface DraftOrderApiContent { /** * The unique identifier for the draft order. Use for draft order lookups, implementing order-specific functionality, and integrating with external systems. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/locale-api/locale-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/locale-api/locale-api.ts index 3b5efe676e..0ce7618513 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/locale-api/locale-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/locale-api/locale-api.ts @@ -1,5 +1,8 @@ import type {ReadonlySignalLike} from '../../../../shared'; +/** + * @publicDocs + */ export interface LocaleApiContent { /** * Provides read-only access to the current IETF-formatted locale and allows subscribing to locale changes. The `value` property provides the current locale, and `subscribe` allows listening to changes. Use for internationalization, locale-specific formatting, and reactive updates when merchants change language settings. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts index 62ce4ce8da..c583626985 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts @@ -26,6 +26,9 @@ export interface NavigationHistoryEntry { getState(): unknown; } +/** + * @publicDocs + */ export interface Navigation { /** * Navigates to a specific URL, updating any provided state in the history entries list. Returns a promise that resolves when navigation is complete. Use for programmatic navigation between screens, implementing custom navigation controls, or deep-linking to specific modal states. @@ -43,6 +46,7 @@ export interface Navigation { /** * The global `window` object provides control over the extension modal lifecycle. Access these properties and methods directly through the global `window` object to manage the modal interface programmatically. + * @publicDocs */ export interface Window { /** diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts index 349f6308f0..57611c2ff8 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts @@ -7,6 +7,7 @@ export interface OrderApi { /** * The `OrderApi` object provides access to order data. Access this property through `shopify.order` to interact with the current order context. + * @publicDocs */ export interface OrderApiContent { /** diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts index 457a80571d..19a8821812 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts @@ -1,5 +1,8 @@ import {PinPadOptions, PinValidationResult} from '../types/pin-pad'; +/** + * @publicDocs + */ export interface PinPadApiContent { /** * Shows a PIN pad to the user in a modal dialog. The `onSubmit` function is called when the PIN is submitted and should validate the PIN, returning `'accept'` or `'reject'`. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts index 44912bebfe..652bafc30a 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts @@ -1,5 +1,6 @@ /** * The `PrintApi` object provides methods for triggering document printing. Access these methods through `shopify.print` to initiate print operations with various document types. + * @publicDocs */ export interface PrintApiContent { /** diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts index 6e602ad935..4835c6d03e 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts @@ -5,6 +5,9 @@ export interface ProductApi { product: ProductApiContent; } +/** + * @publicDocs + */ export interface ProductApiContent { /** * The unique identifier for the product. Use for product lookups, implementing product-specific functionality, and integrating with external systems. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts index 23dddd9c6e..c5e4b30478 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts @@ -36,6 +36,9 @@ export interface ProductSearchParams extends PaginationParams { sortType?: ProductSortType; } +/** + * @publicDocs + */ export interface ProductSearchApiContent { /** * Searches for products on the POS device using text queries and sorting options. Returns paginated results with up to 50 products per page. When a query string is provided, results are sorted by relevance. Use for implementing custom search interfaces, product discovery features, or filtered product listings. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts index ea831d578b..8dd13f37dd 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts @@ -41,6 +41,9 @@ export interface ScannerData { current: ReadonlySignalLike; } +/** + * @publicDocs + */ export interface ScannerApiContent { /** * Access current scan data and subscribe to new scan events. Use to receive real-time scan results. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts index 488f88cc2d..381f9d0aec 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts @@ -1,5 +1,8 @@ import type {Session} from '../../types/session'; +/** + * @publicDocs + */ export interface SessionApiContent { /** * Provides comprehensive information about the current POS session including shop details, user authentication, location data, staff member information, currency settings, and POS version. This data is static for the duration of the session and updates when users switch locations or staff members change. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/toast-api/toast-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/toast-api/toast-api.ts index 740a133042..6b95041d6e 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/toast-api/toast-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/toast-api/toast-api.ts @@ -8,6 +8,9 @@ export interface ShowToastOptions { duration?: number; } +/** + * @publicDocs + */ export interface ToastApiContent { /** * Displays a toast notification with the specified text content. The message appears as a temporary overlay that automatically dismisses after the specified duration. Use for providing immediate user feedback, confirming actions, or communicating status updates without interrupting the user's workflow. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts b/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts index 792e511fbc..121112d0a9 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts @@ -4606,6 +4606,9 @@ export type { TimePickerJSXProps, }; +/** + * @publicDocs + */ interface Badge { /** * Determines the visual appearance and semantic meaning of the badge. Badges rely on the tone system for semantic meaning, so using custom styling may not clearly convey meaning to merchants. Available options: @@ -4636,6 +4639,7 @@ interface Badge { /** * The banner component supports slots for additional content placement within the banner. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). + * @publicDocs */ interface BannerSlots { /** @@ -4644,6 +4648,9 @@ interface BannerSlots { 'primary-action'?: HTMLElement; } +/** + * @publicDocs + */ interface Banner { /** * Whether the banner is visible or hidden. When set to `true`, the banner will be hidden from view. Use this to programmatically show or hide banners based on app state. @@ -4675,6 +4682,9 @@ interface Banner { id?: string; } +/** + * @publicDocs + */ interface Box { /** * A unique identifier for the element used for targeting with CSS or JavaScript. @@ -4775,6 +4785,7 @@ interface Box { /** * The button component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface ButtonEvents { /** @@ -4783,6 +4794,9 @@ interface ButtonEvents { click?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ interface Button { /** * The action to perform on the target element specified by `commandFor`: @@ -4840,6 +4854,9 @@ interface Button { loading?: boolean; } +/** + * @publicDocs + */ interface Choice { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -4865,6 +4882,7 @@ interface Choice { /** * The choice list component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface ChoiceListEvents { /** @@ -4877,6 +4895,9 @@ interface ChoiceListEvents { change?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ interface ChoiceList { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -4896,6 +4917,7 @@ interface ChoiceList { /** * The clickable component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface ClickableEvents { /** @@ -4904,6 +4926,9 @@ interface ClickableEvents { click?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ interface Clickable { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -4917,6 +4942,7 @@ interface Clickable { /** * The date field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface DateFieldEvents { /** @@ -4937,6 +4963,9 @@ interface DateFieldEvents { focus?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ interface DateField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -4968,6 +4997,7 @@ interface DateField { /** * The date picker component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface DatePickerEvents { /** @@ -4988,6 +5018,9 @@ interface DatePickerEvents { focus?: (event: CallbackEvent) => void | null; } +/** + * @publicDocs + */ interface DatePicker { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5003,6 +5036,7 @@ interface DatePicker { /** * The date spinner component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface DateSpinnerEvents { /** @@ -5023,6 +5057,9 @@ interface DateSpinnerEvents { focus?: (event: CallbackEvent) => void | null; } +/** + * @publicDocs + */ interface DateSpinner { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5036,6 +5073,9 @@ interface DateSpinner { value?: string; } +/** + * @publicDocs + */ interface Divider { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5053,6 +5093,7 @@ interface Divider { /** * The email field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface EmailFieldEvents { /** @@ -5075,6 +5116,7 @@ interface EmailFieldEvents { /** * The email field component supports slots for additional content placement within the field. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). + * @publicDocs */ interface EmailFieldSlots { /** @@ -5083,6 +5125,9 @@ interface EmailFieldSlots { accessory?: HTMLElement; } +/** + * @publicDocs + */ interface EmailField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5128,6 +5173,9 @@ interface EmailField { details?: string; } +/** + * @publicDocs + */ interface Heading { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5135,6 +5183,9 @@ interface Heading { id?: string; } +/** + * @publicDocs + */ interface Icon { /** * The type of icon to display. @@ -5166,6 +5217,9 @@ interface Icon { size?: SizeKeyword; } +/** + * @publicDocs + */ interface Image { /** * Controls the displayed width of the image. Choose based on your layout requirements. For mobile interfaces, consider using `'fill'` with defined container dimensions to ensure consistent image display, as dynamic container heights can cause layout inconsistencies in scrollable views. @@ -5200,6 +5254,7 @@ interface Image { /** * The modal component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface ModalEvents { /** @@ -5214,6 +5269,7 @@ interface ModalEvents { /** * The modal component supports slots for additional content placement within the modal. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). + * @publicDocs */ interface ModalSlots { /** @@ -5226,6 +5282,9 @@ interface ModalSlots { 'secondary-actions'?: HTMLElement; } +/** + * @publicDocs + */ interface Modal { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5239,6 +5298,7 @@ interface Modal { /** * The number field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface NumberFieldEvents { /** @@ -5261,6 +5321,7 @@ interface NumberFieldEvents { /** * The number field component supports slots for additional content placement within the field. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). + * @publicDocs */ interface NumberFieldSlots { /** @@ -5269,6 +5330,9 @@ interface NumberFieldSlots { accessory?: HTMLElement; } +/** + * @publicDocs + */ interface NumberField { /** * The content to use as the field label that describes the numeric information being requested. @@ -5343,6 +5407,7 @@ interface NumberField { /** * The page component supports slots for additional content placement within the page. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). + * @publicDocs */ interface PageSlots { /** @@ -5355,6 +5420,9 @@ interface PageSlots { aside?: HTMLElement; } +/** + * @publicDocs + */ interface Page { /** * A title that describes the content of the section. If omitted and no secondary actions are provided, the section will be rendered without a header. @@ -5374,6 +5442,7 @@ interface Page { /** * The POS block component supports slots for additional content placement within the block. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). + * @publicDocs */ interface PosBlockSlots { /** @@ -5382,6 +5451,9 @@ interface PosBlockSlots { 'secondary-actions'?: HTMLElement; } +/** + * @publicDocs + */ interface PosBlock { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5393,6 +5465,9 @@ interface PosBlock { heading?: string; } +/** + * @publicDocs + */ interface QrCode { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5404,6 +5479,9 @@ interface QrCode { content?: string; } +/** + * @publicDocs + */ interface ScrollBox { /** * The block size of the scrollable container. Auto automatically sizes based on the container's content and available space. @@ -5504,6 +5582,7 @@ interface ScrollBox { /** * The search field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface SearchFieldEvents { /** @@ -5524,6 +5603,9 @@ interface SearchFieldEvents { focus?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ interface SearchField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5547,6 +5629,7 @@ interface SearchField { /** * The section component supports slots for additional content placement within the section. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). + * @publicDocs */ interface SectionSlots { /** @@ -5555,6 +5638,9 @@ interface SectionSlots { 'secondary-actions'?: HTMLElement; } +/** + * @publicDocs + */ interface Section { /** * A title that describes the content of the section. If omitted and no secondary actions are provided, the section will be rendered without a header. @@ -5566,6 +5652,9 @@ interface Section { id?: string; } +/** + * @publicDocs + */ interface Stack { /** * The padding applied to all edges of the container. Supports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Cascade/Shorthand_properties#edges_of_a_box) using flow-relative values in the order: @@ -5707,6 +5796,9 @@ interface Stack { id?: string; } +/** + * @publicDocs + */ interface Text { /** * The color intensity of the text. Controls how prominent or subtle the text appears within the interface. @@ -5753,6 +5845,7 @@ interface Text { /** * The text area component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface TextAreaEvents { /** @@ -5775,6 +5868,7 @@ interface TextAreaEvents { /** * The text area component supports slots for additional content placement within the field. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). + * @publicDocs */ interface TextAreaSlots { /** @@ -5783,6 +5877,9 @@ interface TextAreaSlots { accessory?: HTMLElement; } +/** + * @publicDocs + */ interface TextArea { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5836,6 +5933,7 @@ interface TextArea { /** * The text field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface TextFieldEvents { /** @@ -5858,6 +5956,7 @@ interface TextFieldEvents { /** * The text field component supports slots for additional content placement within the field. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). + * @publicDocs */ interface TextFieldSlots { /** @@ -5866,6 +5965,9 @@ interface TextFieldSlots { accessory?: HTMLElement; } +/** + * @publicDocs + */ interface TextField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5911,6 +6013,9 @@ interface TextField { maxLength?: number; } +/** + * @publicDocs + */ interface TileEvents { /** * The callback when the element is activated. @@ -5918,6 +6023,9 @@ interface TileEvents { click?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ interface Tile { /** * Whether the field is disabled, preventing user interaction. Use when the field is temporarily unavailable due to application state, permissions, or dependencies. @@ -5955,6 +6063,7 @@ interface Tile { /** * The time field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface TimeFieldEvents { /** @@ -5975,6 +6084,9 @@ interface TimeFieldEvents { focus?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ interface TimeField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -6006,6 +6118,7 @@ interface TimeField { /** * The time picker component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * @publicDocs */ interface TimePickerEvents { /** @@ -6026,6 +6139,9 @@ interface TimePickerEvents { focus?: (event: CallbackEvent) => void | null; } +/** + * @publicDocs + */ interface TimePicker { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/event/data/TransactionCompleteData.ts b/packages/ui-extensions/src/surfaces/point-of-sale/event/data/TransactionCompleteData.ts index d11fa6398d..a52046f5bd 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/event/data/TransactionCompleteData.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/event/data/TransactionCompleteData.ts @@ -27,6 +27,7 @@ export interface TransactionCompleteData extends BaseData, BaseApi { /** * The data object provided to receipt targets containing transaction details and reprint information. + * @publicDocs */ export interface TransactionCompleteWithReprintData extends BaseData, BaseApi { /** diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/types/storage.ts b/packages/ui-extensions/src/surfaces/point-of-sale/types/storage.ts index f3fded79bc..6aad99cc92 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/types/storage.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/types/storage.ts @@ -9,6 +9,7 @@ export class StorageError extends Error { } /** * Defines the storage interface for persisting extension data across sessions. + * @publicDocs */ export interface Storage< BaseStorageTypes extends Record = Record, diff --git a/yarn.lock b/yarn.lock index ecd4402ac0..9b3cb82f21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1916,9 +1916,10 @@ pkg-dir "^5.0.0" pluralize "^8.0.0" -"@shopify/generate-docs@https://registry.npmjs.org/@shopify/generate-docs/-/generate-docs-0.19.8.tgz": - version "0.19.8" - resolved "https://registry.npmjs.org/@shopify/generate-docs/-/generate-docs-0.19.8.tgz#1d0475e08e488abee64171a85a438ab1a2142e40" +"@shopify/generate-docs@^1.0.0": + version "1.0.0" + resolved "https://npm.shopify.io/node/@shopify/generate-docs/-/generate-docs-1.0.0.tgz#2aaa894e8e09ff1acea9ac49eb1ab212088f30c8" + integrity sha512-DOkWeqGjVg3xxS6slNuyYpegvRLMn1o9VPwZm1fIzsRsJRAHy12TZM3Bq3yMimx5IU3J34y+iD/jPb/S/gFU5g== dependencies: "@types/react" "^18.0.21" globby "^11.1.0" From fa0bf0f08f2f62e360a3cb526a20104a853bd36d Mon Sep 17 00:00:00 2001 From: Laurel Thorburn Date: Thu, 26 Feb 2026 13:04:33 -0700 Subject: [PATCH 2/8] 2025-10 descriptions --- .../api/action-api/action-api.ts | 2 + .../point-of-sale/api/cart-api/cart-api.ts | 2 + .../cart-line-item-api/cart-line-item-api.ts | 1 + .../api/connectivity-api/connectivity-api.ts | 2 + .../api/customer-api/customer-api.ts | 2 + .../api/device-api/device-api.ts | 2 + .../api/draft-order-api/draft-order-api.ts | 2 + .../api/locale-api/locale-api.ts | 2 + .../api/navigation-api/navigation-api.ts | 2 + .../point-of-sale/api/order-api/order-api.ts | 1 + .../surfaces/point-of-sale/api/pin-pad-api.ts | 2 + .../point-of-sale/api/print-api/print-api.ts | 3 +- .../api/product-api/product-api.ts | 2 + .../product-search-api/product-search-api.ts | 2 + .../api/scanner-api/scanner-api.ts | 2 + .../api/session-api/session-api.ts | 2 + .../surfaces/point-of-sale/components.d.ts | 62 +++++++++++++++++++ .../surfaces/point-of-sale/types/storage.ts | 3 +- 18 files changed, 94 insertions(+), 2 deletions(-) diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts index 6c7e1c37ef..a54b3c2d4b 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts @@ -1,4 +1,6 @@ /** + * The `ActionApi` object provides properties for presenting modal interfaces. Access these properties through `api.action` to launch full-screen modal experiences. + * * @publicDocs */ export interface ActionApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-api/cart-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-api/cart-api.ts index 227ee80be4..630a564eeb 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-api/cart-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-api/cart-api.ts @@ -28,6 +28,8 @@ export type CartDiscountType = 'Percentage' | 'FixedAmount' | 'Code'; export type LineItemDiscountType = 'Percentage' | 'FixedAmount'; /** + * The `CartApi` object provides access to cart management and subscribable cart state. Access these properties through `api.cart` to build cart-aware extensions that respond to real-time cart updates. + * * @publicDocs */ export interface CartApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts index f28878e3c2..3017288a1e 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts @@ -2,6 +2,7 @@ import type {LineItem} from '../../types/cart'; /** * The `CartLineItemApi` object provides access to the current line item. Access this property through `api.cartLineItem` to interact with the current line item context. + * * @publicDocs */ export interface CartLineItemApi { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/connectivity-api/connectivity-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/connectivity-api/connectivity-api.ts index fb016fed41..6075375619 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/connectivity-api/connectivity-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/connectivity-api/connectivity-api.ts @@ -13,6 +13,8 @@ export interface ConnectivityState { } /** + * The `ConnectivityApi` object provides properties for monitoring network connectivity. Access these properties through `api.connectivity` to check connection status and subscribe to connectivity changes. + * * @publicDocs */ export interface ConnectivityApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts index 473745d9dd..9035170b48 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts @@ -6,6 +6,8 @@ export interface CustomerApi { } /** + * The `CustomerApi` object provides access to customer data. Access these properties through `api.customer` to interact with the current customer context. + * * @publicDocs */ export interface CustomerApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts index ff3dcccf7f..681af1a6fe 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts @@ -1,4 +1,6 @@ /** + * The `DeviceApi` object provides access to device information and capabilities. Access these properties through `api.device` to retrieve device details and check device characteristics. + * * @publicDocs */ export interface DeviceApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts index bea272fc00..cca65c2c9a 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts @@ -6,6 +6,8 @@ export interface DraftOrderApi { } /** + * The `DraftOrderApi` object provides access to draft order data. Access these properties through `api.draftOrder` to interact with the current draft order context. + * * @publicDocs */ export interface DraftOrderApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/locale-api/locale-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/locale-api/locale-api.ts index 0ce7618513..7d23b111e1 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/locale-api/locale-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/locale-api/locale-api.ts @@ -1,6 +1,8 @@ import type {ReadonlySignalLike} from '../../../../shared'; /** + * The `LocaleApi` object provides access to current locale information and change notifications. Access these properties through `api.locale` to retrieve and monitor locale data. + * * @publicDocs */ export interface LocaleApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts index c583626985..26f7bb9916 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts @@ -27,6 +27,8 @@ export interface NavigationHistoryEntry { } /** + * The global `navigation` object provides web-standard navigation functionality. Access these properties directly through the global `navigation` object to manage navigation within modal interfaces. + * * @publicDocs */ export interface Navigation { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts index 57611c2ff8..85c2f7e9f8 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts @@ -7,6 +7,7 @@ export interface OrderApi { /** * The `OrderApi` object provides access to order data. Access this property through `shopify.order` to interact with the current order context. + * * @publicDocs */ export interface OrderApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts index 19a8821812..e50c551c00 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts @@ -1,6 +1,8 @@ import {PinPadOptions, PinValidationResult} from '../types/pin-pad'; /** + * The `PinPadApi` object provides methods for displaying secure PIN entry interfaces. Access these methods through `api.pinPad` to show PIN pad modals and handle PIN validation. + * * @publicDocs */ export interface PinPadApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts index 652bafc30a..7b6e1a8b68 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts @@ -1,5 +1,6 @@ /** - * The `PrintApi` object provides methods for triggering document printing. Access these methods through `shopify.print` to initiate print operations with various document types. + * The `PrintApi` object provides properties for triggering document printing. Access these properties through `api.print` to initiate print operations with various document types. + * * @publicDocs */ export interface PrintApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts index 4835c6d03e..c4875aeb3d 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts @@ -6,6 +6,8 @@ export interface ProductApi { } /** + * The `ProductApi` object provides access to product data. Access these properties through `api.product` to interact with the current product context. + * * @publicDocs */ export interface ProductApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts index c5e4b30478..5945fed77d 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts @@ -37,6 +37,8 @@ export interface ProductSearchParams extends PaginationParams { } /** + * The `ProductSearchApi` object provides properties for searching and fetching product data. Access these properties through `api.productSearch` to perform product searches and lookups. + * * @publicDocs */ export interface ProductSearchApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts index 8dd13f37dd..d7300cc221 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts @@ -42,6 +42,8 @@ export interface ScannerData { } /** + * The `ScannerApi` object provides access to scanning functionality and scanner source information. Access these properties through `api.scanner` to monitor scan events and available scanner sources. + * * @publicDocs */ export interface ScannerApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts index 381f9d0aec..c0e956a4a0 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts @@ -1,6 +1,8 @@ import type {Session} from '../../types/session'; /** + * The `SessionApi` object provides access to current session information and authentication. Access these properties through `api.session` to retrieve shop data and generate secure tokens. These properties enable secure API calls while maintaining user privacy and [app permissions](https://help.shopify.com/manual/your-account/users/roles/permissions/store-permissions#apps-and-channels-permissions). + * * @publicDocs */ export interface SessionApiContent { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts b/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts index 121112d0a9..815152f3d1 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts @@ -4607,6 +4607,8 @@ export type { }; /** + * Configure the following properties on the Badge component. + * * @publicDocs */ interface Badge { @@ -4649,6 +4651,8 @@ interface BannerSlots { } /** + * Configure the following properties on the Banner component. + * * @publicDocs */ interface Banner { @@ -4683,6 +4687,8 @@ interface Banner { } /** + * Configure the following properties on the Box component. + * * @publicDocs */ interface Box { @@ -4795,6 +4801,8 @@ interface ButtonEvents { } /** + * Configure the following properties on the Button component. + * * @publicDocs */ interface Button { @@ -4855,6 +4863,8 @@ interface Button { } /** + * Configure the following properties on the Choice component. + * * @publicDocs */ interface Choice { @@ -4896,6 +4906,8 @@ interface ChoiceListEvents { } /** + * Configure the following properties on the ChoiceList component. + * * @publicDocs */ interface ChoiceList { @@ -4927,6 +4939,8 @@ interface ClickableEvents { } /** + * Configure the following properties on the Clickable component. + * * @publicDocs */ interface Clickable { @@ -4964,6 +4978,8 @@ interface DateFieldEvents { } /** + * Configure the following properties on the DateField component. + * * @publicDocs */ interface DateField { @@ -5019,6 +5035,8 @@ interface DatePickerEvents { } /** + * Configure the following properties on the DatePicker component. + * * @publicDocs */ interface DatePicker { @@ -5058,6 +5076,8 @@ interface DateSpinnerEvents { } /** + * Configure the following properties on the DateSpinner component. + * * @publicDocs */ interface DateSpinner { @@ -5074,6 +5094,8 @@ interface DateSpinner { } /** + * Configure the following properties on the Divider component. + * * @publicDocs */ interface Divider { @@ -5126,6 +5148,8 @@ interface EmailFieldSlots { } /** + * Configure the following properties on the EmailField component. + * * @publicDocs */ interface EmailField { @@ -5174,6 +5198,8 @@ interface EmailField { } /** + * Configure the following properties on the Heading component. + * * @publicDocs */ interface Heading { @@ -5184,6 +5210,8 @@ interface Heading { } /** + * Configure the following properties on the Icon component. + * * @publicDocs */ interface Icon { @@ -5218,6 +5246,8 @@ interface Icon { } /** + * Configure the following properties on the Image component. + * * @publicDocs */ interface Image { @@ -5283,6 +5313,8 @@ interface ModalSlots { } /** + * Configure the following properties on the Modal component. + * * @publicDocs */ interface Modal { @@ -5331,6 +5363,8 @@ interface NumberFieldSlots { } /** + * Configure the following properties on the NumberField component. + * * @publicDocs */ interface NumberField { @@ -5421,6 +5455,8 @@ interface PageSlots { } /** + * Configure the following properties on the Page component. + * * @publicDocs */ interface Page { @@ -5452,6 +5488,8 @@ interface PosBlockSlots { } /** + * Configure the following properties on the PosBlock component. + * * @publicDocs */ interface PosBlock { @@ -5466,6 +5504,8 @@ interface PosBlock { } /** + * Configure the following properties on the QRCode component. + * * @publicDocs */ interface QrCode { @@ -5480,6 +5520,8 @@ interface QrCode { } /** + * Configure the following properties on the ScrollBox component. + * * @publicDocs */ interface ScrollBox { @@ -5604,6 +5646,8 @@ interface SearchFieldEvents { } /** + * Configure the following properties on the SearchField component. + * * @publicDocs */ interface SearchField { @@ -5639,6 +5683,8 @@ interface SectionSlots { } /** + * Configure the following properties on the Section component. + * * @publicDocs */ interface Section { @@ -5653,6 +5699,8 @@ interface Section { } /** + * Configure the following properties on the Stack component. + * * @publicDocs */ interface Stack { @@ -5797,6 +5845,8 @@ interface Stack { } /** + * Configure the following properties on the Text component. + * * @publicDocs */ interface Text { @@ -5878,6 +5928,8 @@ interface TextAreaSlots { } /** + * Configure the following properties on the TextArea component. + * * @publicDocs */ interface TextArea { @@ -5966,6 +6018,8 @@ interface TextFieldSlots { } /** + * Configure the following properties on the TextField component. + * * @publicDocs */ interface TextField { @@ -6014,6 +6068,8 @@ interface TextField { } /** + * The tile component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * * @publicDocs */ interface TileEvents { @@ -6024,6 +6080,8 @@ interface TileEvents { } /** + * Configure the following properties on the Tile component. + * * @publicDocs */ interface Tile { @@ -6085,6 +6143,8 @@ interface TimeFieldEvents { } /** + * Configure the following properties on the TimeField component. + * * @publicDocs */ interface TimeField { @@ -6140,6 +6200,8 @@ interface TimePickerEvents { } /** + * Configure the following properties on the TimePicker component. + * * @publicDocs */ interface TimePicker { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/types/storage.ts b/packages/ui-extensions/src/surfaces/point-of-sale/types/storage.ts index 6aad99cc92..464b1181cc 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/types/storage.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/types/storage.ts @@ -8,7 +8,8 @@ export class StorageError extends Error { } } /** - * Defines the storage interface for persisting extension data across sessions. + * The `StorageApi` object provides access to persistent local storage for your POS UI extension. Access these properties through `api.storage` to store, retrieve, and manage data that persists across sessions. + * * @publicDocs */ export interface Storage< From 70e964f86ab0841424cbd29a7886a927ce212f5e Mon Sep 17 00:00:00 2001 From: Laurel Thorburn Date: Thu, 26 Feb 2026 20:33:38 -0700 Subject: [PATCH 3/8] update descriptions to match .doc.ts --- .../api/action-api/action-api.ts | 4 +-- .../cart-line-item-api/cart-line-item-api.ts | 2 +- .../api/customer-api/customer-api.ts | 4 +-- .../api/device-api/device-api.ts | 4 +-- .../api/draft-order-api/draft-order-api.ts | 2 +- .../point-of-sale/api/order-api/order-api.ts | 4 +-- .../surfaces/point-of-sale/api/pin-pad-api.ts | 4 +-- .../point-of-sale/api/print-api/print-api.ts | 7 ++--- .../api/product-api/product-api.ts | 4 +-- .../product-search-api/product-search-api.ts | 4 +-- .../api/scanner-api/scanner-api.ts | 2 +- .../api/session-api/session-api.ts | 4 +-- .../api/storage-api/storage-api.ts | 2 +- .../point-of-sale/api/toast-api/toast-api.ts | 3 ++- .../surfaces/point-of-sale/components.d.ts | 27 ++++++++++--------- .../components/SearchField/SearchField.doc.ts | 2 +- 16 files changed, 39 insertions(+), 40 deletions(-) diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts index a54b3c2d4b..d18c78c03f 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/action-api/action-api.ts @@ -1,5 +1,5 @@ /** - * The `ActionApi` object provides properties for presenting modal interfaces. Access these properties through `api.action` to launch full-screen modal experiences. + * The `ActionApi` object provides properties for presenting modal interfaces. Access these properties through `shopify.action` to launch full-screen modal experiences. * * @publicDocs */ @@ -11,7 +11,7 @@ export interface ActionApiContent { } /** - * The `ActionApi` object provides methods for presenting modal interfaces. Access these methods through `shopify.action` to launch full-screen modal experiences. + * The `ActionApi` object provides properties for presenting modal interfaces. Access these properties through `shopify.action` to launch full-screen modal experiences. */ export interface ActionApi { action: ActionApiContent; diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts index 3017288a1e..4dfe28fd1a 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-line-item-api/cart-line-item-api.ts @@ -1,7 +1,7 @@ import type {LineItem} from '../../types/cart'; /** - * The `CartLineItemApi` object provides access to the current line item. Access this property through `api.cartLineItem` to interact with the current line item context. + * The `CartLineItemApi` object provides access to the current line item. Access these properties through `api.cartLineItem` to interact with the current line item context. * * @publicDocs */ diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts index 9035170b48..dfa03ae7c4 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/customer-api/customer-api.ts @@ -1,12 +1,12 @@ /** - * The `CustomerApi` object provides access to customer data in customer-specific extension contexts. Access this property through `shopify.customer` to retrieve information about the customer currently being viewed or interacted with in the POS interface. + * The `CustomerApi` object provides access to customer data. Access these properties through `shopify.customer` to interact with the current customer context. */ export interface CustomerApi { customer: CustomerApiContent; } /** - * The `CustomerApi` object provides access to customer data. Access these properties through `api.customer` to interact with the current customer context. + * The `CustomerApi` object provides access to customer data. Access these properties through `shopify.customer` to interact with the current customer context. * * @publicDocs */ diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts index 681af1a6fe..51318bc3f7 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/device-api/device-api.ts @@ -1,5 +1,5 @@ /** - * The `DeviceApi` object provides access to device information and capabilities. Access these properties through `api.device` to retrieve device details and check device characteristics. + * The `DeviceApi` object provides access to device information and capabilities. Access these properties through `shopify.device` to retrieve device details and check device characteristics. * * @publicDocs */ @@ -23,7 +23,7 @@ export interface DeviceApiContent { } /** - * The `DeviceApi` object provides access to device information and capabilities. Access these properties and methods through `shopify.device` to retrieve device details and check device characteristics. + * The `DeviceApi` object provides access to device information and capabilities. Access these properties through `shopify.device` to retrieve device details and check device characteristics. */ export interface DeviceApi { device: DeviceApiContent; diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts index cca65c2c9a..1368ea5c27 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/draft-order-api/draft-order-api.ts @@ -1,5 +1,5 @@ /** - * The `DraftOrderApi` object provides access to draft order data in draft order-specific extension contexts. Access this property through `shopify.draftOrder` to retrieve information about the draft order currently being viewed or interacted with in the POS interface. + * The `DraftOrderApi` object provides access to draft order data. Access these properties through `api.draftOrder` to interact with the current draft order context. */ export interface DraftOrderApi { draftOrder: DraftOrderApiContent; diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts index 85c2f7e9f8..b576a07fe2 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/order-api/order-api.ts @@ -1,12 +1,12 @@ /** - * The `OrderApi` object provides access to order data in order-specific extension contexts. Access this property through `shopify.order` to retrieve information about the order currently being viewed or interacted with in the POS interface. + * The `OrderApi` object provides access to order data. Access these properties through `shopify.order` to interact with the current order context. */ export interface OrderApi { order: OrderApiContent; } /** - * The `OrderApi` object provides access to order data. Access this property through `shopify.order` to interact with the current order context. + * The `OrderApi` object provides access to order data. Access these properties through `shopify.order` to interact with the current order context. * * @publicDocs */ diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts index e50c551c00..7f6fead50f 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/pin-pad-api.ts @@ -1,7 +1,7 @@ import {PinPadOptions, PinValidationResult} from '../types/pin-pad'; /** - * The `PinPadApi` object provides methods for displaying secure PIN entry interfaces. Access these methods through `api.pinPad` to show PIN pad modals and handle PIN validation. + * The `PinPadApi` object provides properties for displaying secure PIN entry interfaces. Access these properties through `shopify.pinPad` to show PIN pad modals and handle PIN validation. * * @publicDocs */ @@ -24,7 +24,7 @@ export interface PinPadApiContent { } /** - * The `PinPadApi` object provides methods for displaying secure PIN entry interfaces. Access these methods through `shopify.pinPad` to show PIN pad modals and handle PIN validation. + * The `PinPadApi` object provides properties for displaying secure PIN entry interfaces. Access these properties through `shopify.pinPad` to show PIN pad modals and handle PIN validation. */ export interface PinPadApi { pinPad: PinPadApiContent; diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts index 7b6e1a8b68..05eb3476e0 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/print-api/print-api.ts @@ -1,5 +1,5 @@ /** - * The `PrintApi` object provides properties for triggering document printing. Access these properties through `api.print` to initiate print operations with various document types. + * The `PrintApi` object provides properties for triggering document printing. Access these properties through `shopify.print` to initiate print operations with various document types. * * @publicDocs */ @@ -20,11 +20,8 @@ export interface PrintApiContent { } /** - * The `PrintApi` object provides methods for triggering document printing. Access these methods through `shopify.print` to initiate print operations with various document types. + * The `PrintApi` object provides properties for triggering document printing. Access these properties through `shopify.print` to initiate print operations with various document types. */ export interface PrintApi { - /** - * The `PrintApi` object provides methods for triggering document printing. Access these methods through `shopify.print` to initiate print operations with various document types. - */ print: PrintApiContent; } diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts index c4875aeb3d..1e7314b762 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-api/product-api.ts @@ -1,12 +1,12 @@ /** - * The `ProductApi` object provides access to product and variant data in product-specific extension contexts. Access this property through `shopify.product` to retrieve information about the product or variant currently being viewed or interacted with in the POS interface. + * The `ProductApi` object provides access to product data. Access these properties through `shopify.product` to interact with the current product context. */ export interface ProductApi { product: ProductApiContent; } /** - * The `ProductApi` object provides access to product data. Access these properties through `api.product` to interact with the current product context. + * The `ProductApi` object provides access to product data. Access these properties through `shopify.product` to interact with the current product context. * * @publicDocs */ diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts index 5945fed77d..d2492d796d 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/product-search-api/product-search-api.ts @@ -37,7 +37,7 @@ export interface ProductSearchParams extends PaginationParams { } /** - * The `ProductSearchApi` object provides properties for searching and fetching product data. Access these properties through `api.productSearch` to perform product searches and lookups. + * The `ProductSearchApi` object provides properties for searching and retrieving product information. Access these properties through `shopify.productSearch` to search products and fetch detailed product data. * * @publicDocs */ @@ -106,7 +106,7 @@ export interface ProductSearchApiContent { } /** - * The `ProductSearchApi` object provides methods for searching and retrieving product information. Access these methods through `shopify.productSearch` to search products and fetch detailed product data. + * The `ProductSearchApi` object provides properties for searching and retrieving product information. Access these properties through `shopify.productSearch` to search products and fetch detailed product data. */ export interface ProductSearchApi { productSearch: ProductSearchApiContent; diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts index d7300cc221..d7334f3121 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/scanner-api/scanner-api.ts @@ -42,7 +42,7 @@ export interface ScannerData { } /** - * The `ScannerApi` object provides access to scanning functionality and scanner source information. Access these properties through `api.scanner` to monitor scan events and available scanner sources. + * The `ScannerApi` object provides access to scanning functionality and scanner source information. Access these properties through `shopify.scanner` to monitor scan events and available scanner sources. * * @publicDocs */ diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts index c0e956a4a0..ee24062a20 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/session-api/session-api.ts @@ -1,7 +1,7 @@ import type {Session} from '../../types/session'; /** - * The `SessionApi` object provides access to current session information and authentication. Access these properties through `api.session` to retrieve shop data and generate secure tokens. These properties enable secure API calls while maintaining user privacy and [app permissions](https://help.shopify.com/manual/your-account/users/roles/permissions/store-permissions#apps-and-channels-permissions). + * The `SessionApi` object provides access to current session information and authentication. Access these properties through `shopify.session` to retrieve shop data and generate secure tokens. These properties enable secure API calls while maintaining user privacy and [app permissions](https://help.shopify.com/manual/your-account/users/roles/permissions/store-permissions#apps-and-channels-permissions). * * @publicDocs */ @@ -17,7 +17,7 @@ export interface SessionApiContent { } /** - * The `SessionApi` object provides access to current session information and authentication methods. Access these properties and methods through `shopify.session` to retrieve shop data and generate secure tokens. These methods enable secure API calls while maintaining user privacy and [app permissions](https://help.shopify.com/manual/your-account/users/roles/permissions/store-permissions#apps-and-channels-permissions). + * The `SessionApi` object provides access to current session information and authentication. Access these properties through `shopify.session` to retrieve shop data and generate secure tokens. These properties enable secure API calls while maintaining user privacy and [app permissions](https://help.shopify.com/manual/your-account/users/roles/permissions/store-permissions#apps-and-channels-permissions). */ export interface SessionApi { session: SessionApiContent; diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/storage-api/storage-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/storage-api/storage-api.ts index 8bc80cf7c1..1c3cebd936 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/storage-api/storage-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/storage-api/storage-api.ts @@ -1,7 +1,7 @@ import {Storage} from '../../types/storage'; /** - * The `StorageApi` object provides access to persistent local storage methods for your POS UI extension. Access these methods through `shopify.storage` to store, retrieve, and manage data that persists across sessions. + * The `StorageApi` object provides access to persistent local storage for your POS UI extension. Access these properties through `shopify.storage` to store, retrieve, and manage data that persists across sessions. */ export interface StorageApi { storage: Storage; diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/api/toast-api/toast-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/toast-api/toast-api.ts index 6b95041d6e..0f10627474 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/api/toast-api/toast-api.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/api/toast-api/toast-api.ts @@ -22,7 +22,8 @@ export interface ToastApiContent { } /** - * The `ToastApi` object provides methods for displaying temporary notification messages. Access these methods through `shopify.toast` to show user feedback and status updates. + * The `ToastApi` object provides properties for displaying temporary notification messages. Access these properties through `shopify.toast` to show user feedback and status updates. + * @publicDocs */ export interface ToastApi { toast: ToastApiContent; diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts b/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts index 815152f3d1..a0d2ddfd40 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/components.d.ts @@ -4863,7 +4863,7 @@ interface Button { } /** - * Configure the following properties on the Choice component. + * The choice component creates options that let merchants select one or multiple items from a list of choices. * * @publicDocs */ @@ -4891,7 +4891,8 @@ interface Choice { } /** - * The choice list component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The choice list component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * * @publicDocs */ interface ChoiceListEvents { @@ -4955,7 +4956,7 @@ interface Clickable { } /** - * The date field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The date field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface DateFieldEvents { @@ -5012,7 +5013,7 @@ interface DateField { } /** - * The date picker component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The date picker component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface DatePickerEvents { @@ -5053,7 +5054,7 @@ interface DatePicker { } /** - * The date spinner component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The date spinner component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface DateSpinnerEvents { @@ -5114,7 +5115,7 @@ interface Divider { } /** - * The email field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The email field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface EmailFieldEvents { @@ -5329,7 +5330,7 @@ interface Modal { } /** - * The number field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The number field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface NumberFieldEvents { @@ -5504,7 +5505,7 @@ interface PosBlock { } /** - * Configure the following properties on the QRCode component. + * The POS block component renders a QR code when the block is used within a receipt target. * * @publicDocs */ @@ -5623,7 +5624,7 @@ interface ScrollBox { } /** - * The search field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The search field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface SearchFieldEvents { @@ -5894,7 +5895,7 @@ interface Text { } /** - * The text area component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The text area component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface TextAreaEvents { @@ -5984,7 +5985,7 @@ interface TextArea { } /** - * The text field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The text field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface TextFieldEvents { @@ -6120,7 +6121,7 @@ interface Tile { } /** - * The time field component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The time field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface TimeFieldEvents { @@ -6177,7 +6178,7 @@ interface TimeField { } /** - * The time picker component provides event callbacks for handling user interactions and validation. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). + * The time picker component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ interface TimePickerEvents { diff --git a/packages/ui-extensions/src/surfaces/point-of-sale/components/SearchField/SearchField.doc.ts b/packages/ui-extensions/src/surfaces/point-of-sale/components/SearchField/SearchField.doc.ts index b0e700df1c..5160893937 100644 --- a/packages/ui-extensions/src/surfaces/point-of-sale/components/SearchField/SearchField.doc.ts +++ b/packages/ui-extensions/src/surfaces/point-of-sale/components/SearchField/SearchField.doc.ts @@ -44,7 +44,7 @@ const data: ReferenceEntityTemplateSchema = { title: 'Best practices', sectionContent: ` - **Use for inline search and filtering:** Choose search field for filtering within specific sections or lists, not for global navigation or complex multi-step searches. -- **Follow placeholder pattern:** Use "Search {items}" format like "Search products" or "Search customers" to clarify scope. +- **Follow placeholder pattern:** Use \`"Search {items}"\` format like \`"Search products"\` or \`"Search customers"\` to clarify scope. - **Choose the right event:** Use \`input\` for real-time filtering as users type. Use \`change\` for expensive operations that should wait until typing completes. - **Handle empty values:** When the field is cleared, reset filters or show all items appropriately. `, From 9b916772e08dd20dbfa6ce5ee5254435822a50c3 Mon Sep 17 00:00:00 2001 From: Laurel Thorburn Date: Mon, 2 Mar 2026 20:57:44 -0700 Subject: [PATCH 4/8] Fix 2025-10 admin docs build: support v2 JSON format and add @publicDocs to component Props - Add v2ToArray in build-docs.mjs so transformJson works with generated_docs_data_v2.json (object format) - Add @publicDocs to admin component Props types in .d.ts for public docs generation Made-with: Cursor --- .../docs/surfaces/admin/build-docs.mjs | 26 ++++++++++++++++--- .../admin/components/AdminAction.d.ts | 2 ++ .../surfaces/admin/components/AdminBlock.d.ts | 2 ++ .../admin/components/AdminPrintAction.d.ts | 2 ++ .../src/surfaces/admin/components/Badge.d.ts | 2 ++ .../src/surfaces/admin/components/Banner.d.ts | 2 ++ .../src/surfaces/admin/components/Box.d.ts | 2 ++ .../src/surfaces/admin/components/Button.d.ts | 2 ++ .../surfaces/admin/components/Checkbox.d.ts | 2 ++ .../surfaces/admin/components/ChoiceList.d.ts | 2 ++ .../admin/components/ColorPicker.d.ts | 2 ++ .../surfaces/admin/components/DateField.d.ts | 2 ++ .../surfaces/admin/components/DatePicker.d.ts | 2 ++ .../surfaces/admin/components/Divider.d.ts | 2 ++ .../surfaces/admin/components/EmailField.d.ts | 2 ++ .../src/surfaces/admin/components/Form.d.ts | 2 ++ .../admin/components/FunctionSettings.d.ts | 2 ++ .../surfaces/admin/components/Heading.d.ts | 2 ++ .../src/surfaces/admin/components/Icon.d.ts | 2 ++ .../src/surfaces/admin/components/Image.d.ts | 2 ++ .../src/surfaces/admin/components/Link.d.ts | 2 ++ .../surfaces/admin/components/MoneyField.d.ts | 2 ++ .../admin/components/NumberField.d.ts | 2 ++ .../surfaces/admin/components/Paragraph.d.ts | 2 ++ .../admin/components/PasswordField.d.ts | 2 ++ .../surfaces/admin/components/Section.d.ts | 2 ++ .../src/surfaces/admin/components/Select.d.ts | 2 ++ .../src/surfaces/admin/components/Text.d.ts | 2 ++ .../surfaces/admin/components/TextArea.d.ts | 2 ++ .../surfaces/admin/components/TextField.d.ts | 2 ++ .../surfaces/admin/components/URLField.d.ts | 2 ++ 31 files changed, 82 insertions(+), 4 deletions(-) diff --git a/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs b/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs index 03c6967d73..6d26cf5007 100644 --- a/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs +++ b/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs @@ -31,7 +31,7 @@ const shopifyDevDBPath = path.join( const shopifyDevExists = existsSync(shopifyDevPath); -const generatedDocsDataFile = 'generated_docs_data.json'; +const generatedDocsDataFile = 'generated_docs_data_v2.json'; const generatedStaticPagesFile = 'generated_static_pages.json'; const componentDefs = path.join(srcPath, 'components.d.ts'); @@ -250,8 +250,26 @@ const templates = { }), }; +/** + * Converts v2 generated docs format (object keyed by type then file path) into + * the array format expected by transformJson and downstream (e.g. shopify-dev). + */ +const v2ToArray = (data) => { + if (Array.isArray(data)) return data; + const entries = []; + for (const byPath of Object.values(data)) { + if (typeof byPath === 'object' && byPath !== null) { + for (const entry of Object.values(byPath)) { + entries.push(entry); + } + } + } + return entries; +}; + const transformJson = async (filePath, isExtensions) => { let jsonData = JSON.parse((await fs.readFile(filePath, 'utf8')).toString()); + jsonData = v2ToArray(jsonData); const iconEntry = jsonData.find( (entry) => entry.name === 'Icon' && entry.subSections, @@ -448,9 +466,9 @@ const generateExtensionsDocs = async () => { const outputDir = `${docsGeneratedRelativePath}/admin_extensions/${EXTENSIONS_API_VERSION}`; const scripts = [ - `yarn tsc --project ${docsRelativePath}/${tsconfigExtensions} --moduleResolution node --target esNext --module CommonJS`, + `yarn tsc --project ${docsRelativePath}/${tsconfigExtensions} --moduleResolution node --target esNext --module CommonJS --skipLibCheck`, `yarn generate-docs --input ./${srcRelativePath} --typesInput ./${srcRelativePath} --output ./${outputDir}`, - `yarn tsc ${docsRelativePath}/staticPages/*.doc.ts --moduleResolution node --target esNext --module CommonJS`, + `yarn tsc ${docsRelativePath}/staticPages/*.doc.ts --moduleResolution node --target esNext --module CommonJS --skipLibCheck`, `yarn generate-docs --isLandingPage --input ./${docsRelativePath}/staticPages --output ./${outputDir}`, ]; @@ -476,7 +494,7 @@ const generateAppBridgeDocs = async () => { const outputDir = `${docsGeneratedRelativePath}/app_home`; const scripts = [ - `yarn tsc --project ${docsRelativePath}/${tsconfigAppBridge} --moduleResolution node --target esNext --module CommonJS`, + `yarn tsc --project ${docsRelativePath}/${tsconfigAppBridge} --moduleResolution node --target esNext --module CommonJS --skipLibCheck`, `yarn generate-docs --input ./${srcRelativePath} --typesInput ./${srcRelativePath} --output ./${outputDir}`, ]; diff --git a/packages/ui-extensions/src/surfaces/admin/components/AdminAction.d.ts b/packages/ui-extensions/src/surfaces/admin/components/AdminAction.d.ts index eace0e5fbf..4f4f06f18c 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/AdminAction.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/AdminAction.d.ts @@ -9,6 +9,8 @@ import type {ComponentChildren, AdminActionProps$1} from './shared.d.ts'; /** * The properties for the admin action component. These properties configure the heading and loading state of the admin action extension interface. + * + * @publicDocs */ export interface AdminActionProps extends Pick {} diff --git a/packages/ui-extensions/src/surfaces/admin/components/AdminBlock.d.ts b/packages/ui-extensions/src/surfaces/admin/components/AdminBlock.d.ts index dbfe67855a..51bfd77cc3 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/AdminBlock.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/AdminBlock.d.ts @@ -9,6 +9,8 @@ import type {AdminBlockProps$1, ComponentChildren} from './shared.d.ts'; /** * The properties for the admin block component. These properties configure the heading and collapsed summary of collapsible content blocks in the admin interface. + * + * @publicDocs */ export interface AdminBlockProps extends Pick {} diff --git a/packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction.d.ts b/packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction.d.ts index e79f494013..d5eb9a7f9a 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/AdminPrintAction.d.ts @@ -9,6 +9,8 @@ import type {AdminPrintActionProps$1, ComponentChildren} from './shared.d.ts'; /** * The properties for the admin print action component. These properties configure the source URL for printing content within admin extensions. + * + * @publicDocs */ export interface AdminPrintActionProps extends Pick {} diff --git a/packages/ui-extensions/src/surfaces/admin/components/Badge.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Badge.d.ts index 697b1510df..0e7a297510 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Badge.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Badge.d.ts @@ -61,6 +61,8 @@ export interface IconProps /** * The properties for the badge component. Badges display status information through compact visual indicators with customizable tones, sizes, and optional icons. + * + * @publicDocs */ export interface BadgeProps extends Pick { diff --git a/packages/ui-extensions/src/surfaces/admin/components/Banner.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Banner.d.ts index 6000b5ec25..2eca58108f 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Banner.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Banner.d.ts @@ -59,6 +59,8 @@ export interface PreactBaseElementPropsWithChildren export type RequiredBannerProps = Required; /** * The properties for the banner component. These properties define an important message or notification with visual styling that conveys its semantic meaning. + * + * @publicDocs */ export interface BannerProps extends Pick< diff --git a/packages/ui-extensions/src/surfaces/admin/components/Box.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Box.d.ts index f1ed94ce4b..dc3548a216 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Box.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Box.d.ts @@ -79,6 +79,8 @@ export type ResponsiveBoxProps = MakeResponsivePick< >; /** * The properties for the box component. A box provides control over layout, spacing, sizing, borders, and background styling for its content. + * + * @publicDocs */ export interface BoxProps extends Pick< diff --git a/packages/ui-extensions/src/surfaces/admin/components/Button.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Button.d.ts index 7c127b3f3f..5fb8eb595a 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Button.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Button.d.ts @@ -138,6 +138,8 @@ export type ButtonBaseProps = Required< >; /** * The properties for the button component. Buttons trigger actions or navigation when clicked, with customizable visual styles, states, and optional icons. + * + * @publicDocs */ export interface ButtonProps extends ButtonBaseProps { /** diff --git a/packages/ui-extensions/src/surfaces/admin/components/Checkbox.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Checkbox.d.ts index dbfcaf7161..9f869929a6 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Checkbox.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Checkbox.d.ts @@ -255,6 +255,8 @@ declare class PreactCheckboxElement /** * Properties for rendering a checkbox that supports checked, unchecked, and indeterminate states for complex selection scenarios. + * + * @publicDocs */ export interface CheckboxProps extends PreactCheckboxProps { /** diff --git a/packages/ui-extensions/src/surfaces/admin/components/ChoiceList.d.ts b/packages/ui-extensions/src/surfaces/admin/components/ChoiceList.d.ts index e90b7221eb..3b3a0bf1d5 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/ChoiceList.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/ChoiceList.d.ts @@ -48,6 +48,8 @@ export interface PreactBaseElementPropsWithChildren /** * Properties for rendering a list of choices that lets users select one or more options using radio buttons or checkboxes. + * + * @publicDocs */ export interface ChoiceListProps extends Required< diff --git a/packages/ui-extensions/src/surfaces/admin/components/ColorPicker.d.ts b/packages/ui-extensions/src/surfaces/admin/components/ColorPicker.d.ts index 2236f049ac..5c92ddf83d 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/ColorPicker.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/ColorPicker.d.ts @@ -48,6 +48,8 @@ export interface PreactBaseElementProps { /** * Properties for rendering a color picker that provides a visual interface for selecting colors with optional transparency control. + * + * @publicDocs */ export interface ColorPickerProps extends Required< diff --git a/packages/ui-extensions/src/surfaces/admin/components/DateField.d.ts b/packages/ui-extensions/src/surfaces/admin/components/DateField.d.ts index 41c0e1b548..afe1919f76 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/DateField.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/DateField.d.ts @@ -309,6 +309,8 @@ declare class PreactFieldElement /** * The properties for the date field component. These properties configure an input field that allows merchants to select dates using an integrated calendar picker with optional text input, date constraints, and day-of-week restrictions. + * + * @publicDocs */ export interface DateFieldProps extends Omit< diff --git a/packages/ui-extensions/src/surfaces/admin/components/DatePicker.d.ts b/packages/ui-extensions/src/surfaces/admin/components/DatePicker.d.ts index 7b621ede84..3590241ebf 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/DatePicker.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/DatePicker.d.ts @@ -10,6 +10,8 @@ import type {DatePickerProps$1, ComponentChildren} from './shared.d.ts'; /** * The properties for the date picker component. These properties configure a standalone calendar interface for selecting single dates or date ranges, with support for date constraints, day-of-week restrictions, and month/year navigation. + * + * @publicDocs */ export interface DatePickerProps extends Required< diff --git a/packages/ui-extensions/src/surfaces/admin/components/Divider.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Divider.d.ts index 9aa2a8c9e4..11d961b30d 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Divider.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Divider.d.ts @@ -10,6 +10,8 @@ import type {DividerProps$1, ComponentChildren} from './shared.d.ts'; /** * The properties for the divider component. A divider creates a visual separator to distinguish different sections of content. + * + * @publicDocs */ export interface DividerProps extends Pick { diff --git a/packages/ui-extensions/src/surfaces/admin/components/EmailField.d.ts b/packages/ui-extensions/src/surfaces/admin/components/EmailField.d.ts index 30fa262b5d..b2fb859284 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/EmailField.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/EmailField.d.ts @@ -325,6 +325,8 @@ declare class PreactFieldElement /** * The properties for the email field component. These properties configure a specialized text input field for entering email addresses with built-in validation and appropriate keyboard support. + * + * @publicDocs */ export type EmailFieldProps = PreactFieldProps< Required['autocomplete'] diff --git a/packages/ui-extensions/src/surfaces/admin/components/Form.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Form.d.ts index 4afff198b0..c4bf0704f3 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Form.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Form.d.ts @@ -51,6 +51,8 @@ export type CallbackExtendableEventListener< /** * The properties for the form component. These properties configure the form's identifier for targeting and referencing within the admin extension. + * + * @publicDocs */ export interface FormProps extends Pick {} diff --git a/packages/ui-extensions/src/surfaces/admin/components/FunctionSettings.d.ts b/packages/ui-extensions/src/surfaces/admin/components/FunctionSettings.d.ts index 08b3cc8d4a..57bba6b74b 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/FunctionSettings.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/FunctionSettings.d.ts @@ -70,6 +70,8 @@ export type CallbackExtendableEventListener< /** * The properties for the function settings component. These properties configure the form's identifier for configuring Shopify Function settings in the admin interface. + * + * @publicDocs */ export interface FunctionSettingsProps extends Pick {} diff --git a/packages/ui-extensions/src/surfaces/admin/components/Heading.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Heading.d.ts index f8d00a0dee..c51325920e 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Heading.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Heading.d.ts @@ -10,6 +10,8 @@ import type {ComponentChildren, HeadingProps$1} from './shared.d.ts'; /** * The properties for the heading component. These properties define hierarchical section titles and headings with appropriate semantic meaning and visual hierarchy. + * + * @publicDocs */ export interface HeadingProps extends Required< diff --git a/packages/ui-extensions/src/surfaces/admin/components/Icon.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Icon.d.ts index b4dd6f2ad0..d0ac363650 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Icon.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Icon.d.ts @@ -10,6 +10,8 @@ import type {IconProps$1, IconType, ComponentChildren} from './shared.d.ts'; /** * The properties for the icon component. An icon displays a graphical symbol with configurable appearance, color, and semantic meaning. + * + * @publicDocs */ export interface IconProps extends Pick< diff --git a/packages/ui-extensions/src/surfaces/admin/components/Image.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Image.d.ts index 2c75378007..b5f733c459 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Image.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Image.d.ts @@ -328,6 +328,8 @@ export interface BoxProps /** * The properties for the image component. An image displays pictures with configurable sizing, loading behavior, and borders. Properties include `src` for the image URL, `alt` for accessibility text, `aspectRatio` for sizing, `loading` for lazy loading, and border styling options. + * + * @publicDocs */ export interface ImageProps extends Required< diff --git a/packages/ui-extensions/src/surfaces/admin/components/Link.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Link.d.ts index 50a67fcf49..9ba4ad8a56 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Link.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Link.d.ts @@ -62,6 +62,8 @@ export type LinkBaseProps = Required< >; /** * The properties for the link component. These properties define a clickable link that navigates users to different pages or sections with customizable visual styles and semantic meaning. + * + * @publicDocs */ export interface LinkProps extends LinkBaseProps { /** diff --git a/packages/ui-extensions/src/surfaces/admin/components/MoneyField.d.ts b/packages/ui-extensions/src/surfaces/admin/components/MoneyField.d.ts index 9872249b65..d1e01dffe0 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/MoneyField.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/MoneyField.d.ts @@ -329,6 +329,8 @@ declare class PreactFieldElement export type RequiredMoneyFieldProps = Required; /** * The properties for the money field component. These properties configure a specialized input field for entering monetary amounts with automatic currency formatting, decimal handling, and range validation. + * + * @publicDocs */ export interface MoneyFieldProps extends Omit, diff --git a/packages/ui-extensions/src/surfaces/admin/components/NumberField.d.ts b/packages/ui-extensions/src/surfaces/admin/components/NumberField.d.ts index ec761187f5..014e77d7ff 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/NumberField.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/NumberField.d.ts @@ -325,6 +325,8 @@ declare class PreactFieldElement /** * The properties for the number field component. These properties configure a specialized input field for entering numeric values with support for validation, formatting, range constraints, and optimized mobile input modes. + * + * @publicDocs */ export interface NumberFieldProps extends Omit< diff --git a/packages/ui-extensions/src/surfaces/admin/components/Paragraph.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Paragraph.d.ts index 3f4a7730d6..ba0520b04b 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Paragraph.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Paragraph.d.ts @@ -10,6 +10,8 @@ import type {ComponentChildren, ParagraphProps$1} from './shared.d.ts'; /** * The properties for the paragraph component. These properties define blocks of text content with consistent spacing and styling for readable body copy. + * + * @publicDocs */ export interface ParagraphProps extends Required< diff --git a/packages/ui-extensions/src/surfaces/admin/components/PasswordField.d.ts b/packages/ui-extensions/src/surfaces/admin/components/PasswordField.d.ts index 2dd7c59ea1..06c244a670 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/PasswordField.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/PasswordField.d.ts @@ -330,6 +330,8 @@ declare class PreactFieldElement /** * The properties for the password field component. These properties configure a secure input field that collects sensitive password input from merchants with masked characters. + * + * @publicDocs */ export type PasswordFieldProps = PreactFieldProps< Required['autocomplete'] diff --git a/packages/ui-extensions/src/surfaces/admin/components/Section.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Section.d.ts index 18ab10b48d..22931f408f 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Section.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Section.d.ts @@ -13,6 +13,8 @@ import type {ComponentChildren, SectionProps$1} from './shared.d.ts'; export type RequiredSectionProps = Required; /** * The properties for the section component. A section groups related content together with an optional heading, providing semantic structure and visual separation. + * + * @publicDocs */ export interface SectionProps extends Pick< diff --git a/packages/ui-extensions/src/surfaces/admin/components/Select.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Select.d.ts index 888ed930e0..9ec648b4d2 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Select.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Select.d.ts @@ -221,6 +221,8 @@ export interface IconProps /** * Properties for rendering a select dropdown that lets users choose one option from a list with optional icon and label customization. + * + * @publicDocs */ export interface SelectProps extends Omit, diff --git a/packages/ui-extensions/src/surfaces/admin/components/Text.d.ts b/packages/ui-extensions/src/surfaces/admin/components/Text.d.ts index 3b35315b8e..2ae682c562 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/Text.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/Text.d.ts @@ -10,6 +10,8 @@ import type {ComponentChildren, TextProps$1} from './shared.d.ts'; /** * The properties for the text component. These properties define inline or small blocks of text content with various visual styles and semantic meanings. + * + * @publicDocs */ export interface TextProps extends Required< diff --git a/packages/ui-extensions/src/surfaces/admin/components/TextArea.d.ts b/packages/ui-extensions/src/surfaces/admin/components/TextArea.d.ts index 2b68ef1924..9c9565763f 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/TextArea.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/TextArea.d.ts @@ -325,6 +325,8 @@ declare class PreactFieldElement /** * The properties for the text area component. These properties configure a multi-line text input field that allows merchants to enter and edit longer text content. + * + * @publicDocs */ export type TextAreaProps = PreactFieldProps< Required['autocomplete'] diff --git a/packages/ui-extensions/src/surfaces/admin/components/TextField.d.ts b/packages/ui-extensions/src/surfaces/admin/components/TextField.d.ts index a78b1fc718..f1a88cdac4 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/TextField.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/TextField.d.ts @@ -321,6 +321,8 @@ declare class PreactFieldElement /** * The properties for the text field component. Extends `PreactFieldProps` with text-specific features like icons, length constraints, and prefix/suffix content. + * + * @publicDocs */ export type TextFieldProps = PreactFieldProps< /** @default 'on' */ diff --git a/packages/ui-extensions/src/surfaces/admin/components/URLField.d.ts b/packages/ui-extensions/src/surfaces/admin/components/URLField.d.ts index 34e202200d..587278f178 100644 --- a/packages/ui-extensions/src/surfaces/admin/components/URLField.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components/URLField.d.ts @@ -330,6 +330,8 @@ declare class PreactFieldElement /** * The properties for the URL field component. These properties configure an input field that allows merchants to enter and validate web addresses (URLs) with built-in validation. + * + * @publicDocs */ export type URLFieldProps = PreactFieldProps< Required['autocomplete'] From de4abb361ec8329269f644e0fb0eebdad937a257 Mon Sep 17 00:00:00 2001 From: Laurel Thorburn Date: Mon, 2 Mar 2026 21:08:39 -0700 Subject: [PATCH 5/8] Admin docs: preserve v2 JSON with top-level types, add @publicDocs to API types - build-docs.mjs: write extensions output as v2 format (arrayToV2) so types like ActionExtensionApi appear as top-level keys in generated_docs_data_v2.json - Add @publicDocs to admin API types: ActionExtensionApi, StandardApi, ShouldRenderApi, BlockExtensionApi, PrintActionExtensionApi, OrderRoutingRuleApi, PurchaseOptionsCardConfigurationApi, CustomerSegmentTemplateApi, IntentInvokeApi, ProductDetailsConfigurationApi, ProductVariantDetailsConfigurationApi, PickerApi, ResourcePickerApi, ResourcePickerOptions Made-with: Cursor --- .../docs/surfaces/admin/build-docs.mjs | 27 +++++++++++++++++-- .../src/surfaces/admin/api/action/action.ts | 1 + .../src/surfaces/admin/api/block/block.ts | 1 + .../customer-segment-template.ts | 1 + .../src/surfaces/admin/api/intents/intents.ts | 1 + .../order-routing-rule/order-routing-rule.ts | 1 + .../src/surfaces/admin/api/picker/picker.ts | 1 + .../admin/api/print-action/print-action.ts | 1 + .../product-details-configuration.ts | 1 + .../product-variant-details-configuration.ts | 1 + .../admin/api/purchase-options-card-action.ts | 1 + .../api/resource-picker/resource-picker.ts | 2 ++ .../admin/api/should-render/should-render.ts | 1 + .../surfaces/admin/api/standard/standard.ts | 1 + 14 files changed, 39 insertions(+), 2 deletions(-) diff --git a/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs b/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs index 6d26cf5007..14bc43e57d 100644 --- a/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs +++ b/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs @@ -252,7 +252,7 @@ const templates = { /** * Converts v2 generated docs format (object keyed by type then file path) into - * the array format expected by transformJson and downstream (e.g. shopify-dev). + * the array format expected by transformJson. */ const v2ToArray = (data) => { if (Array.isArray(data)) return data; @@ -267,6 +267,22 @@ const v2ToArray = (data) => { return entries; }; +/** + * Converts the transformed array back to v2 format (object keyed by type name + * then file path) so consumers can look up types by top-level key (e.g. ActionExtensionApi). + */ +const arrayToV2 = (entries) => { + const v2 = {}; + for (const entry of entries) { + const name = entry.name; + const filePath = entry.filePath; + if (!name || !filePath) continue; + if (!v2[name]) v2[name] = {}; + v2[name][filePath] = entry; + } + return v2; +}; + const transformJson = async (filePath, isExtensions) => { let jsonData = JSON.parse((await fs.readFile(filePath, 'utf8')).toString()); jsonData = v2ToArray(jsonData); @@ -449,7 +465,14 @@ const transformJson = async (filePath, isExtensions) => { jsonData = [...filteredDocs, ...jsonData]; } - await fs.writeFile(filePath, JSON.stringify(jsonData, null, 2)); + if (isExtensions) { + await fs.writeFile( + filePath, + JSON.stringify(arrayToV2(jsonData), null, 2), + ); + } else { + await fs.writeFile(filePath, JSON.stringify(jsonData, null, 2)); + } }; const generateExtensionsDocs = async () => { diff --git a/packages/ui-extensions/src/surfaces/admin/api/action/action.ts b/packages/ui-extensions/src/surfaces/admin/api/action/action.ts index 9d2d778219..955889e59a 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/action/action.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/action/action.ts @@ -6,6 +6,7 @@ import type {PickerApi} from '../picker/picker'; /** * The `ActionExtensionApi` object provides methods for action extensions that render in modal overlays. Access the following properties on the `ActionExtensionApi` object to interact with the current context, control the modal, and display picker dialogs. + * @publicDocs */ export interface ActionExtensionApi extends StandardApi { diff --git a/packages/ui-extensions/src/surfaces/admin/api/block/block.ts b/packages/ui-extensions/src/surfaces/admin/api/block/block.ts index c754572b35..615c366cf7 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/block/block.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/block/block.ts @@ -19,6 +19,7 @@ export interface Navigation { /** * The `BlockExtensionApi` object provides methods for block extensions that render inline content on admin pages. Access the following properties on the `BlockExtensionApi` object to interact with the current context, navigate to other extensions, and display picker dialogs. + * @publicDocs */ export interface BlockExtensionApi extends StandardApi { diff --git a/packages/ui-extensions/src/surfaces/admin/api/customer-segment-template/customer-segment-template.ts b/packages/ui-extensions/src/surfaces/admin/api/customer-segment-template/customer-segment-template.ts index d72b90d19d..a000460afb 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/customer-segment-template/customer-segment-template.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/customer-segment-template/customer-segment-template.ts @@ -4,6 +4,7 @@ import type {ExtensionTarget as AnyExtensionTarget} from '../../extension-target /** * The `CustomerSegmentTemplateApi` object provides methods for creating customer segment templates. Access the following properties on the `CustomerSegmentTemplateApi` object to build templates with translated content. + * @publicDocs */ export interface CustomerSegmentTemplateApi< ExtensionTarget extends AnyExtensionTarget, diff --git a/packages/ui-extensions/src/surfaces/admin/api/intents/intents.ts b/packages/ui-extensions/src/surfaces/admin/api/intents/intents.ts index d0bcaadf3f..34bf6b34f8 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/intents/intents.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/intents/intents.ts @@ -127,6 +127,7 @@ export interface IntentQuery extends IntentQueryOptions { * }); * const response = await activity.complete; * ``` + * @publicDocs */ export interface IntentInvokeApi { (query: IntentQuery): Promise; diff --git a/packages/ui-extensions/src/surfaces/admin/api/order-routing-rule/order-routing-rule.ts b/packages/ui-extensions/src/surfaces/admin/api/order-routing-rule/order-routing-rule.ts index e3d5dad2f6..207c2c8d9a 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/order-routing-rule/order-routing-rule.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/order-routing-rule/order-routing-rule.ts @@ -6,6 +6,7 @@ import {Data} from './data'; /** * The `OrderRoutingRuleApi` object provides methods for configuring order routing rules. Access the following properties on the `OrderRoutingRuleApi` object to manage rule settings and metafields. + * @publicDocs */ export interface OrderRoutingRuleApi extends StandardApi { diff --git a/packages/ui-extensions/src/surfaces/admin/api/picker/picker.ts b/packages/ui-extensions/src/surfaces/admin/api/picker/picker.ts index c53c9d58dd..10f8650d90 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/picker/picker.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/picker/picker.ts @@ -108,5 +108,6 @@ interface Item { /** * The `picker` function opens a custom selection dialog with your app-specific data. It accepts configuration options to define the picker's heading, items, headers, and selection behavior. It returns a Promise that resolves to a `Picker` object with a `selected` property for accessing the merchant's selection. + * @publicDocs */ export type PickerApi = (options: PickerOptions) => Promise; diff --git a/packages/ui-extensions/src/surfaces/admin/api/print-action/print-action.ts b/packages/ui-extensions/src/surfaces/admin/api/print-action/print-action.ts index 4b6edbb402..ac6f466c76 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/print-action/print-action.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/print-action/print-action.ts @@ -6,6 +6,7 @@ import type {PickerApi} from '../picker/picker'; /** * The `PrintActionExtensionApi` object provides methods for print action extensions that generate custom printable documents. Access the following properties on the `PrintActionExtensionApi` object to access selected resources and display picker dialogs for print configuration. + * @publicDocs */ export interface PrintActionExtensionApi< ExtensionTarget extends AnyExtensionTarget, diff --git a/packages/ui-extensions/src/surfaces/admin/api/product-configuration/product-details-configuration.ts b/packages/ui-extensions/src/surfaces/admin/api/product-configuration/product-details-configuration.ts index c2bf5f47dc..1feed6edb1 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/product-configuration/product-details-configuration.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/product-configuration/product-details-configuration.ts @@ -65,6 +65,7 @@ export interface ProductComponent { /** * The `ProductDetailsConfigurationApi` object provides methods for configuring product bundles and relationships. Access the following properties on the `ProductDetailsConfigurationApi` object to build product configuration interfaces. + * @publicDocs */ export interface ProductDetailsConfigurationApi< ExtensionTarget extends AnyExtensionTarget, diff --git a/packages/ui-extensions/src/surfaces/admin/api/product-configuration/product-variant-details-configuration.ts b/packages/ui-extensions/src/surfaces/admin/api/product-configuration/product-variant-details-configuration.ts index 25ef0d7ba9..60251c2792 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/product-configuration/product-variant-details-configuration.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/product-configuration/product-variant-details-configuration.ts @@ -66,6 +66,7 @@ export interface ProductVariantComponent { /** * The `ProductVariantDetailsConfigurationApi` object provides methods for configuring product variant bundles and relationships. Access the following properties on the `ProductVariantDetailsConfigurationApi` object to build variant configuration interfaces. + * @publicDocs */ export interface ProductVariantDetailsConfigurationApi< ExtensionTarget extends AnyExtensionTarget, diff --git a/packages/ui-extensions/src/surfaces/admin/api/purchase-options-card-action.ts b/packages/ui-extensions/src/surfaces/admin/api/purchase-options-card-action.ts index 77a9a8955b..018455d729 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/purchase-options-card-action.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/purchase-options-card-action.ts @@ -3,6 +3,7 @@ import type {ExtensionTarget as AnyExtensionTarget} from '../extension-targets'; /** * The `PurchaseOptionsCardConfigurationApi` object provides methods for action extensions that interact with purchase options and selling plans. Access the following properties on the `PurchaseOptionsCardConfigurationApi` object to work with selected products and their associated subscription configurations. + * @publicDocs */ export interface PurchaseOptionsCardConfigurationApi< ExtensionTarget extends AnyExtensionTarget, diff --git a/packages/ui-extensions/src/surfaces/admin/api/resource-picker/resource-picker.ts b/packages/ui-extensions/src/surfaces/admin/api/resource-picker/resource-picker.ts index 17f5f3c4fa..0e5c403dcd 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/resource-picker/resource-picker.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/resource-picker/resource-picker.ts @@ -360,6 +360,7 @@ interface Filters { /** * The `ResourcePickerOptions` object defines how the resource picker behaves, including which resource type to display, selection limits, filters, and preselected items. Access the following properties on the `ResourcePickerOptions` object to configure the resource picker's appearance and functionality. + * @publicDocs */ export interface ResourcePickerOptions { /** @@ -394,6 +395,7 @@ export interface ResourcePickerOptions { /** * Opens the resource picker modal for selecting products, variants, or collections. Returns the selected resources when the user confirms their selection, or undefined if they cancel. + * @publicDocs */ export type ResourcePickerApi = ( options: ResourcePickerOptions, diff --git a/packages/ui-extensions/src/surfaces/admin/api/should-render/should-render.ts b/packages/ui-extensions/src/surfaces/admin/api/should-render/should-render.ts index c82c06d497..8fa57b2bc7 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/should-render/should-render.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/should-render/should-render.ts @@ -12,6 +12,7 @@ export interface ShouldRenderOutput { /** * The `ShouldRenderApi` object provides methods for controlling action extension visibility. Access the following properties on the `ShouldRenderApi` object to determine whether an associated action should appear based on the current context. + * @publicDocs */ export interface ShouldRenderApi extends StandardApi { diff --git a/packages/ui-extensions/src/surfaces/admin/api/standard/standard.ts b/packages/ui-extensions/src/surfaces/admin/api/standard/standard.ts index 8cc5f7b85b..acd64b5e7e 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/standard/standard.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/standard/standard.ts @@ -37,6 +37,7 @@ interface Auth { /** * The `StandardApi` object provides core methods available to all extension targets. Access the following properties on the `StandardApi` object to authenticate users, query the [GraphQL Admin API](/docs/api/admin-graphql), translate content, handle intents, and persist data. + * @publicDocs */ export interface StandardApi { /** From 3faa279314129e78bd8451faaa39a3c2ff6392f2 Mon Sep 17 00:00:00 2001 From: Laurel Thorburn Date: Tue, 3 Mar 2026 15:29:34 -0700 Subject: [PATCH 6/8] add missing types --- .../docs/surfaces/admin/build-docs.mjs | 75 +- .../src/surfaces/admin/components.d.ts | 758 ++++++++++++++++++ 2 files changed, 809 insertions(+), 24 deletions(-) diff --git a/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs b/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs index 14bc43e57d..d8b23f7c5f 100644 --- a/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs +++ b/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs @@ -250,27 +250,10 @@ const templates = { }), }; -/** - * Converts v2 generated docs format (object keyed by type then file path) into - * the array format expected by transformJson. - */ -const v2ToArray = (data) => { - if (Array.isArray(data)) return data; - const entries = []; - for (const byPath of Object.values(data)) { - if (typeof byPath === 'object' && byPath !== null) { - for (const entry of Object.values(byPath)) { - entries.push(entry); - } - } - } - return entries; -}; +// Generator outputs v2 format: { [name]: { [filePath]: entry } }. Convert to array for processing. +const v2ToArray = (v2) => + Object.values(v2).flatMap((byFilePath) => Object.values(byFilePath)); -/** - * Converts the transformed array back to v2 format (object keyed by type name - * then file path) so consumers can look up types by top-level key (e.g. ActionExtensionApi). - */ const arrayToV2 = (entries) => { const v2 = {}; for (const entry of entries) { @@ -285,7 +268,43 @@ const arrayToV2 = (entries) => { const transformJson = async (filePath, isExtensions) => { let jsonData = JSON.parse((await fs.readFile(filePath, 'utf8')).toString()); - jsonData = v2ToArray(jsonData); + const outputDir = path.dirname(filePath); + + // Generator outputs v2 (object); convert to array for transform steps + if (!Array.isArray(jsonData)) { + jsonData = v2ToArray(jsonData); + } + + // Merge reference-entity doc pages (e.g. component descriptions) from collect-doc-pages output + if (isExtensions) { + const docPagesPath = path.join(outputDir, 'doc-pages.json'); + if (existsSync(docPagesPath)) { + const docPages = JSON.parse( + (await fs.readFile(docPagesPath, 'utf8')).toString(), + ); + const names = new Set(jsonData.map((e) => e.name)); + for (const entry of Array.isArray(docPages) ? docPages : []) { + if (!entry.name) continue; + const { + name: _n, + members: _m, + filePath: _f, + syntaxKind: _s, + value: _v, + ...docFields + } = entry; + const existingEntries = jsonData.filter((e) => e.name === entry.name); + if (existingEntries.length > 0) { + existingEntries.forEach((existing) => + Object.assign(existing, docFields), + ); + } else { + jsonData.push(entry); + names.add(entry.name); + } + } + } + } const iconEntry = jsonData.find( (entry) => entry.name === 'Icon' && entry.subSections, @@ -470,6 +489,13 @@ const transformJson = async (filePath, isExtensions) => { filePath, JSON.stringify(arrayToV2(jsonData), null, 2), ); + const arrayPath = path.join(outputDir, 'generated_docs_data.json'); + await fs.writeFile(arrayPath, JSON.stringify(jsonData, null, 2)); + await replaceFileContent({ + filePaths: arrayPath, + searchValue: 'https://shopify.dev', + replaceValue: '', + }); } else { await fs.writeFile(filePath, JSON.stringify(jsonData, null, 2)); } @@ -489,9 +515,10 @@ const generateExtensionsDocs = async () => { const outputDir = `${docsGeneratedRelativePath}/admin_extensions/${EXTENSIONS_API_VERSION}`; const scripts = [ - `yarn tsc --project ${docsRelativePath}/${tsconfigExtensions} --moduleResolution node --target esNext --module CommonJS --skipLibCheck`, + `yarn tsc --project ${docsRelativePath}/${tsconfigExtensions} --moduleResolution node --target esNext --module CommonJS`, `yarn generate-docs --input ./${srcRelativePath} --typesInput ./${srcRelativePath} --output ./${outputDir}`, - `yarn tsc ${docsRelativePath}/staticPages/*.doc.ts --moduleResolution node --target esNext --module CommonJS --skipLibCheck`, + `node ${docsRelativePath}/collect-doc-pages.mjs ./${outputDir}`, + `yarn tsc ${docsRelativePath}/staticPages/*.doc.ts --moduleResolution node --target esNext --module CommonJS`, `yarn generate-docs --isLandingPage --input ./${docsRelativePath}/staticPages --output ./${outputDir}`, ]; @@ -517,7 +544,7 @@ const generateAppBridgeDocs = async () => { const outputDir = `${docsGeneratedRelativePath}/app_home`; const scripts = [ - `yarn tsc --project ${docsRelativePath}/${tsconfigAppBridge} --moduleResolution node --target esNext --module CommonJS --skipLibCheck`, + `yarn tsc --project ${docsRelativePath}/${tsconfigAppBridge} --moduleResolution node --target esNext --module CommonJS`, `yarn generate-docs --input ./${srcRelativePath} --typesInput ./${srcRelativePath} --output ./${outputDir}`, ]; diff --git a/packages/ui-extensions/src/surfaces/admin/components.d.ts b/packages/ui-extensions/src/surfaces/admin/components.d.ts index 8313207156..6b2fbe783a 100644 --- a/packages/ui-extensions/src/surfaces/admin/components.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components.d.ts @@ -19,6 +19,9 @@ export type ComponentChildren = preact.ComponentChildren; * Represents string-only children for components that specifically require text content. */ export type StringChildren = string; +/** + * @publicDocs + */ export interface GlobalProps { /** * A unique identifier for the element. Use this to reference the element in JavaScript, @@ -26,12 +29,18 @@ export interface GlobalProps { */ id?: string; } +/** + * @publicDocs + */ export interface ActionProps { /** * The text to use as the action modal's title. If not provided, the name of the extension will be used. */ heading?: string; } +/** + * @publicDocs + */ export interface ActionSlots { /** * The primary action button or link, representing the main or most important action available in this context. @@ -70,6 +79,9 @@ interface AdminPrintActionProps$1 extends GlobalProps { */ src?: string; } +/** + * @publicDocs + */ export interface BaseOverlayProps { /** * A callback fired immediately after the overlay is shown. @@ -94,6 +106,8 @@ export interface BaseOverlayProps { * All methods are required (not optional) because components implementing this interface must provide * consistent JavaScript APIs. Unlike props/attributes, methods are not rendered in HTML and consumers * expect them to be available on all component instances. + * + * @publicDocs */ export interface BaseOverlayMethods { /** @@ -115,6 +129,11 @@ export interface BaseOverlayMethods { */ toggleOverlay: () => void; } +/** + * Props for focus and blur event callbacks on focusable components. + * + * @publicDocs + */ export interface FocusEventProps { /** * A callback fired when the component loses focus. Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event). @@ -125,6 +144,11 @@ export interface FocusEventProps { */ onFocus?: (event: FocusEvent) => void; } +/** + * Props for toggle event callbacks on elements that can open and close. + * + * @publicDocs + */ export interface ToggleEventProps { /** * A callback fired when the element state changes, after any toggle animations have finished. @@ -154,6 +178,8 @@ export interface ToggleEventProps { * * - `open`: The element is visible or expanded. * - `closed`: The element is hidden or collapsed. + * + * @publicDocs */ export type ToggleState = 'open' | 'closed'; interface ToggleEvent$1 extends Event { @@ -166,6 +192,9 @@ interface ToggleEvent$1 extends Event { */ readonly oldState: ToggleState; } +/** + * @publicDocs + */ export interface ExtendableEvent extends Event { /** * A method that accepts a promise signaling the duration and eventual success or failure of event-related actions. @@ -175,6 +204,9 @@ export interface ExtendableEvent extends Event { */ waitUntil?: (promise: Promise) => void; } +/** + * @publicDocs + */ export interface AggregateError extends Error { /** * An array of individual errors that have been aggregated together. @@ -182,6 +214,9 @@ export interface AggregateError extends Error { */ errors: T[]; } +/** + * @publicDocs + */ export interface AggregateErrorEvent extends ErrorEvent { /** * The aggregated error object containing multiple individual errors. @@ -273,6 +308,9 @@ interface AvatarProps$1 extends GlobalProps { * */ export type BackgroundColorKeyword = 'transparent' | ColorKeyword; +/** + * @publicDocs + */ export interface BackgroundProps { /** * The background color of the element. Use `transparent` for no background, `subdued` for a subtle background, `base` for standard background, or `strong` for a prominent background. @@ -1046,6 +1084,9 @@ interface BannerProps$1 extends GlobalProps, ActionSlots { */ hidden?: boolean; } +/** + * @publicDocs + */ export interface DisplayProps { /** * The outer display type of the component, The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout). @@ -1059,6 +1100,9 @@ export interface DisplayProps { */ display?: MaybeResponsive<'auto' | 'none'>; } +/** + * @publicDocs + */ export interface AccessibilityRoleProps { /** * The semantic meaning of the component’s content. When set, @@ -1218,6 +1262,9 @@ export type AccessibilityRole = * Learn more about the [`none` role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/none_role) in the MDN web docs. */ | 'none'; +/** + * @publicDocs + */ export interface AccessibilityVisibilityProps { /** * The visibility mode of the element for both visual and assistive technology users. @@ -1230,6 +1277,9 @@ export interface AccessibilityVisibilityProps { */ accessibilityVisibility?: 'visible' | 'hidden' | 'exclusive'; } +/** + * @publicDocs + */ export interface LabelAccessibilityVisibilityProps { /** * Controls whether the label is visible to all users or only to screen readers. @@ -1254,6 +1304,9 @@ export interface LabelAccessibilityVisibilityProps { * - `none`: No padding. */ export type PaddingKeyword = SizeKeyword | 'none'; +/** + * @publicDocs + */ export interface PaddingProps { /** * The padding applied to all edges of the component. @@ -1354,6 +1407,9 @@ export type SizeUnitsOrAuto = SizeUnits | 'auto'; * - `none`: No size constraint, allowing unlimited growth. */ export type SizeUnitsOrNone = SizeUnits | 'none'; +/** + * @publicDocs + */ export interface SizingProps { /** * The vertical size of the element in standard layouts (height in left-to-right or right-to-left writing modes). @@ -1457,6 +1513,9 @@ export type BorderShorthand = | BorderSizeKeyword | `${BorderSizeKeyword} ${ColorKeyword}` | `${BorderSizeKeyword} ${ColorKeyword} ${BorderStyleKeyword}`; +/** + * @publicDocs + */ export interface BorderProps { /** * A border applied using shorthand syntax to specify width, color, and style in a single property. @@ -1535,6 +1594,9 @@ export interface BorderProps { */ borderRadius?: MaybeAllValuesShorthandProperty; } +/** + * @publicDocs + */ export interface OverflowProps { /** * The overflow behavior of the element. @@ -1548,6 +1610,9 @@ export interface OverflowProps { */ overflow?: 'hidden' | 'visible'; } +/** + * @publicDocs + */ export interface BaseBoxProps extends AccessibilityVisibilityProps, BackgroundProps, @@ -1565,10 +1630,16 @@ export interface BaseBoxProps */ accessibilityLabel?: string; } +/** + * @publicDocs + */ export interface BaseBoxPropsWithRole extends BaseBoxProps, AccessibilityRoleProps {} interface BoxProps$1 extends BaseBoxPropsWithRole, GlobalProps {} +/** + * @publicDocs + */ export interface ButtonBehaviorProps extends InteractionProps, FocusEventProps { /** * The behavior of the button component. @@ -1601,6 +1672,9 @@ export interface ButtonBehaviorProps extends InteractionProps, FocusEventProps { */ loading?: boolean; } +/** + * @publicDocs + */ export interface LinkBehaviorProps extends InteractionProps, FocusEventProps { /** * The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation. @@ -1639,6 +1713,9 @@ export interface LinkBehaviorProps extends InteractionProps, FocusEventProps { */ onClick?: (event: Event) => void; } +/** + * @publicDocs + */ export interface InteractionProps { /** * The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [commandfor attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor). @@ -1663,6 +1740,9 @@ export interface InteractionProps { */ interestFor?: string; } +/** + * @publicDocs + */ export interface BaseClickableProps extends ButtonBehaviorProps, LinkBehaviorProps {} @@ -1740,6 +1820,9 @@ interface ButtonGroupProps$1 extends GlobalProps, ActionSlots { */ accessibilityLabel?: string; } +/** + * @publicDocs + */ export interface BaseInputProps { /** * The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form. @@ -1752,6 +1835,9 @@ export interface BaseInputProps { */ disabled?: boolean; } +/** + * @publicDocs + */ export interface InputProps extends BaseInputProps { /** * A callback fired when the user has finished editing the field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event). @@ -1769,6 +1855,9 @@ export interface InputProps extends BaseInputProps { */ defaultValue?: string; } +/** + * @publicDocs + */ export interface MultipleInputProps extends BaseInputProps { /** * A callback fired when the user has selected one or more options. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event). @@ -1783,6 +1872,9 @@ export interface MultipleInputProps extends BaseInputProps { */ values?: string[]; } +/** + * @publicDocs + */ export interface FileInputProps extends BaseInputProps { /** * A callback fired when the user has finished selecting one or more files. @@ -1812,6 +1904,9 @@ export interface FileInputProps extends BaseInputProps { */ files?: ReadonlyArray; } +/** + * @publicDocs + */ export interface FieldErrorProps { /** * An error message displayed below the checkbox to indicate validation problems. @@ -1819,6 +1914,9 @@ export interface FieldErrorProps { */ error?: string; } +/** + * @publicDocs + */ export interface BasicFieldProps extends FieldErrorProps, LabelAccessibilityVisibilityProps { @@ -1834,6 +1932,9 @@ export interface BasicFieldProps */ label?: string; } +/** + * @publicDocs + */ export interface FieldDetailsProps { /** * Supplementary text displayed below the checkbox to provide additional context, instructions, or help. @@ -1842,6 +1943,9 @@ export interface FieldDetailsProps { */ details?: string; } +/** + * @publicDocs + */ export interface FieldProps extends BasicFieldProps, InputProps, @@ -1852,6 +1956,9 @@ export interface FieldProps */ placeholder?: string; } +/** + * @publicDocs + */ export interface BaseTextFieldProps extends FieldProps { /** * Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers. @@ -1860,6 +1967,9 @@ export interface BaseTextFieldProps extends FieldProps { */ readOnly?: boolean; } +/** + * @publicDocs + */ export interface FieldDecorationProps { /** * A non-editable text value displayed immediately after the editable portion of the field. This is useful for displaying an implied part of the value, such as `@shopify.com` or `%`. @@ -1891,6 +2001,9 @@ export interface FieldDecorationProps { */ accessory?: ComponentChildren; } +/** + * @publicDocs + */ export interface NumberConstraintsProps { /** * The highest decimal or integer value accepted for the field. When used with `step`, the value rounds down to the maximum number. @@ -1929,6 +2042,9 @@ export interface NumberConstraintsProps { */ controls?: 'auto' | 'stepper' | 'none'; } +/** + * @publicDocs + */ export interface MinMaxLengthProps { /** * The maximum number of characters allowed in the field. @@ -1943,6 +2059,9 @@ export interface MinMaxLengthProps { */ minLength?: number; } +/** + * @publicDocs + */ export interface BaseSelectableProps { /** * A label that describes the purpose or content of the component for assistive technologies like screen readers. Use this to provide additional context when the visible content alone doesn't clearly convey the component's purpose. @@ -1961,6 +2080,9 @@ export interface BaseSelectableProps { */ value?: string; } +/** + * @publicDocs + */ export interface BaseOptionProps extends BaseSelectableProps { /** * Whether the option is currently selected. Use this for controlled components where you manage the selection state. @@ -1978,6 +2100,9 @@ export interface BaseOptionProps extends BaseSelectableProps { */ defaultSelected?: boolean; } +/** + * @publicDocs + */ export interface BaseCheckableProps extends BaseSelectableProps, InteractionProps { @@ -2055,6 +2180,9 @@ interface CheckboxProps$1 */ required?: boolean; } +/** + * @publicDocs + */ export interface ChipProps$1 extends GlobalProps { /** * The text label displayed within the chip component, typically representing a selected filter, tag, or removable item. @@ -2263,6 +2391,9 @@ interface ColorPickerProps$1 */ defaultValue?: string; } +/** + * @publicDocs + */ export interface AutocompleteProps< AutocompleteField extends AnyAutocompleteField, > { @@ -2783,6 +2914,7 @@ interface FunctionSettingsProps$1 extends GlobalProps, FormProps$1 { * These errors are returned when the extension-provided data fails validation or causes * issues during the commit process to Shopify's servers. Handle these errors in the * `onError` callback to provide feedback to users about what went wrong. + * @publicDocs */ export interface FunctionSettingsError extends Error { /** @@ -2804,6 +2936,9 @@ export interface FunctionSettingsError extends Error { * Defines the spacing size between elements, using the standard size scale or `none` for no spacing. */ export type SpacingKeyword = SizeKeyword | 'none'; +/** + * @publicDocs + */ export interface GapProps { /** * The spacing between child elements. @@ -3015,6 +3150,9 @@ interface GridItemProps$1 extends GlobalProps, BaseBoxPropsWithRole { */ gridRow?: `span ${number}` | 'auto'; } +/** + * @publicDocs + */ export interface BaseTypographyProps { /** * The color emphasis level that controls visual intensity. @@ -3077,6 +3215,9 @@ export interface BaseTypographyProps { */ dir?: 'ltr' | 'rtl' | 'auto' | ''; } +/** + * @publicDocs + */ export interface BlockTypographyProps { /** * The maximum number of lines to display before truncating the text content. @@ -3151,6 +3292,9 @@ interface IconProps$1 */ type?: IconType | AnyString; } +/** + * @publicDocs + */ export interface BaseImageProps { /** * Alternative text that describes the image for accessibility. @@ -3654,6 +3798,9 @@ interface SwitchProps$1 BasicFieldProps, FieldDetailsProps, FieldErrorProps {} +/** + * @publicDocs + */ export interface PaginationProps { /** * Whether to use pagination controls. @@ -3953,6 +4100,9 @@ export type URLAutocompleteField = ExtractStrict< // // Preact Virtual DOM // ----------------------------------- +/** + * @publicDocs + */ export interface VNode

{ /** * The component type or HTML element tag name that this VNode represents. @@ -3993,6 +4143,9 @@ export interface VNode

{ * Can be a string, number, or any other value. */ export type Key = string | number | any; +/** + * @publicDocs + */ export interface RefObject { /** * The current value of the ref, which holds a reference to the DOM element or component instance. @@ -4023,6 +4176,9 @@ export type ComponentChild = | null | undefined; type ComponentChildren$1 = ComponentChild[] | ComponentChild; +/** + * @publicDocs + */ export interface Attributes { /** * A unique key used to identify this element in lists for efficient reconciliation during re-renders. @@ -4033,6 +4189,9 @@ export interface Attributes { */ jsx?: boolean | undefined; } +/** + * @publicDocs + */ export interface ErrorInfo { /** * A string representation of the component stack trace at the point where an error occurred. @@ -4060,6 +4219,9 @@ export type RenderableProps = P & * Represents any valid component type, either a class component or a function component. */ export type ComponentType

= ComponentClass

| FunctionComponent

; +/** + * @publicDocs + */ export interface FunctionComponent

{ (props: RenderableProps

, context?: any): ComponentChildren$1; /** @@ -4071,6 +4233,9 @@ export interface FunctionComponent

{ */ defaultProps?: Partial

| undefined; } +/** + * @publicDocs + */ export interface ComponentClass

{ new (props: P, context?: any): Component; /** @@ -4091,6 +4256,9 @@ export interface ComponentClass

{ ): Partial | null; getDerivedStateFromError?(error: any): Partial | null; } +/** + * @publicDocs + */ export interface Component

{ componentWillMount?(): void; componentDidMount?(): void; @@ -4171,6 +4339,9 @@ declare abstract class Component { // // Context // ----------------------------------- +/** + * @publicDocs + */ export interface Consumer extends FunctionComponent<{ /** @@ -4179,6 +4350,9 @@ export interface Consumer */ children: (value: T) => ComponentChildren$1; }> {} +/** + * @publicDocs + */ export interface Provider extends FunctionComponent<{ /** @@ -4190,6 +4364,9 @@ export interface Provider */ children?: ComponentChildren$1; }> {} +/** + * @publicDocs + */ export interface Context extends Provider { /** * A component that consumes the context value and re-renders when it changes. @@ -4717,6 +4894,9 @@ type IconType$1 = | 'x' | 'x-circle'; +/** + * @publicDocs + */ export interface AvatarProps extends Required> { /** @@ -4761,6 +4941,9 @@ export type RenderImpl = Omit & { ShadowRoot: (element: any) => ComponentChildren; styles?: Styles; }; +/** + * @publicDocs + */ export interface ActivationEventEsque { /** * Whether the Shift key was pressed when the event occurred. @@ -4779,6 +4962,9 @@ export interface ActivationEventEsque { */ button: number; } +/** + * @publicDocs + */ export interface ClickOptions { /** * The event you want to influence the synthetic click. @@ -4878,6 +5064,9 @@ export type CallbackErrorEventListener< ): void; }) | null; +/** + * @publicDocs + */ export interface CallbackExtendableEvent< TTagName extends keyof HTMLElementTagNameMap, > extends CallbackEvent, @@ -4893,6 +5082,9 @@ export type CallbackExtendableEventListener< (event: CallbackExtendableEvent): void; }) | null; +/** + * @publicDocs + */ export interface FieldReactProps { /** * A callback fired when the user makes changes to the field value. This fires before `onChange`. @@ -4914,6 +5106,7 @@ export interface FieldReactProps { /** * Base props for Preact custom elements without children support. * Includes common properties like key, ref, and slot for elements that don't accept child content. + * @publicDocs */ export interface PreactBaseElementProps { /** @@ -4936,6 +5129,7 @@ export interface PreactBaseElementProps { /** * Base props for Preact custom elements with children support. * Extends PreactBaseElementProps with the ability to render child elements. + * @publicDocs */ export interface PreactBaseElementPropsWithChildren extends PreactBaseElementProps { @@ -4966,6 +5160,9 @@ declare module 'preact' { } declare const tagName$Z = 's-avatar'; +/** + * @publicDocs + */ export interface AvatarJSXProps extends Partial, Pick { @@ -4979,6 +5176,9 @@ export interface AvatarJSXProps onError?: () => void; } +/** + * @publicDocs + */ export interface IconProps extends Pick< IconProps$1, @@ -5006,6 +5206,9 @@ export interface IconProps size: Extract; } +/** + * @publicDocs + */ export interface BadgeProps extends Pick { color: Extract; @@ -5045,6 +5248,9 @@ declare module 'preact' { } declare const tagName$Y = 's-badge'; +/** + * @publicDocs + */ export interface BadgeJSXProps extends Partial, Pick { @@ -5058,6 +5264,9 @@ export interface BadgeJSXProps * Represents the banner component props with all properties marked as required. */ export type RequiredBannerProps = Required; +/** + * @publicDocs + */ export interface BannerProps extends Pick< RequiredBannerProps, @@ -5091,6 +5300,9 @@ declare module 'preact' { } declare const tagName$X = 's-banner'; +/** + * @publicDocs + */ export interface BannerJSXProps extends Partial, Pick { @@ -5195,6 +5407,9 @@ export type ResponsiveBoxProps = MakeResponsivePick< | 'paddingInlineEnd' | 'display' >; +/** + * @publicDocs + */ export interface BoxProps extends Pick< RequiredBoxProps, @@ -5468,6 +5683,9 @@ declare module 'preact' { } declare const tagName$W = 's-box'; +/** + * @publicDocs + */ export interface BoxJSXProps extends Partial, Pick { @@ -5509,11 +5727,17 @@ export type ButtonBaseProps = Required< | 'download' > >; +/** + * @publicDocs + */ export interface ButtonProps extends ButtonBaseProps { tone: Extract; icon: IconProps['type']; } +/** + * @publicDocs + */ export interface PreactOverlayControlProps extends Pick { /** @@ -5571,6 +5795,9 @@ declare module 'preact' { } declare const tagName$V = 's-button'; +/** + * @publicDocs + */ export interface ButtonJSXProps extends Partial, Pick { @@ -5592,6 +5819,9 @@ export interface ButtonJSXProps onBlur?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface ButtonGroupProps extends Required> {} @@ -5621,6 +5851,9 @@ declare module 'preact' { } declare const tagName$U = 's-button-group'; +/** + * @publicDocs + */ export interface ButtonGroupJSXProps extends Partial, Pick { @@ -5667,6 +5900,9 @@ declare class PreactInputElement constructor(renderImpl: RenderImpl); } +/** + * @publicDocs + */ export interface PreactCheckboxProps extends Required< Pick< @@ -5710,6 +5946,9 @@ declare class PreactCheckboxElement constructor(renderImpl: RenderImpl); } +/** + * @publicDocs + */ export interface CheckboxProps extends PreactCheckboxProps { /** * Whether the checkbox displays in an indeterminate state (neither checked nor unchecked), @@ -5753,6 +5992,9 @@ declare module 'preact' { } declare const tagName$T = 's-checkbox'; +/** + * @publicDocs + */ export interface CheckboxJSXProps extends Partial, Pick { @@ -5766,6 +6008,9 @@ export interface CheckboxJSXProps onInput?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface ChipProps extends Required> {} @@ -5789,6 +6034,9 @@ declare module 'preact' { } declare const tagName$S = 's-chip'; +/** + * @publicDocs + */ export interface ChipJSXProps extends Partial, Pick { @@ -5802,6 +6050,9 @@ export interface ChipJSXProps graphic?: ComponentChildren; } +/** + * @publicDocs + */ export interface ChoiceProps extends Required< Pick< @@ -5842,6 +6093,9 @@ declare module 'preact' { } declare const tagName$R = 's-choice'; +/** + * @publicDocs + */ export interface ChoiceJSXProps extends Partial, Pick { @@ -5864,6 +6118,9 @@ export interface ChoiceJSXProps details?: ComponentChildren; } +/** + * @publicDocs + */ export interface ChoiceListProps extends Required< Pick< @@ -5919,6 +6176,9 @@ declare module 'preact' { } declare const tagName$Q = 's-choice-list'; +/** + * @publicDocs + */ export interface ChoiceListJSXProps extends Partial, Pick { @@ -5957,6 +6217,9 @@ export type ClickableBaseProps = Required< | 'type' > >; +/** + * @publicDocs + */ export interface ClickableProps extends Required, ClickableBaseProps {} @@ -5989,6 +6252,9 @@ declare module 'preact' { } declare const tagName$P = 's-clickable'; +/** + * @publicDocs + */ export interface ClickableJSXProps extends Partial, Pick { @@ -6010,6 +6276,9 @@ export interface ClickableJSXProps onBlur?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface ClickableChipProps extends Required< Pick< @@ -6057,6 +6326,9 @@ declare module 'preact' { } declare const tagName$O = 's-clickable-chip'; +/** + * @publicDocs + */ export interface ClickableChipJSXProps extends Partial, Pick { @@ -6202,6 +6474,9 @@ declare module 'preact' { } declare const tagName$N = 's-color-field'; +/** + * @publicDocs + */ export interface ColorFieldJSXProps extends Partial< Omit @@ -6212,6 +6487,9 @@ export interface ColorFieldJSXProps onChange?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ export interface ColorPickerProps extends Required< Pick @@ -6250,6 +6528,9 @@ declare module 'preact' { } declare const tagName$M = 's-color-picker'; +/** + * @publicDocs + */ export interface ColorPickerJSXProps extends Partial, Pick< @@ -6260,6 +6541,9 @@ export interface ColorPickerJSXProps onChange?: (event: CallbackEvent) => void | null; } +/** + * @publicDocs + */ export interface DateFieldProps extends Omit< PreactFieldProps, @@ -6306,6 +6590,9 @@ declare module 'preact' { } declare const tagName$L = 's-date-field'; +/** + * @publicDocs + */ export interface DateFieldJSXProps extends Partial>, Pick { @@ -6335,6 +6622,9 @@ export interface DateFieldJSXProps onViewChange?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface DatePickerProps extends Required< Pick< @@ -6402,6 +6692,9 @@ declare module 'preact' { } declare const tagName$K = 's-date-picker'; +/** + * @publicDocs + */ export interface DatePickerJSXProps extends Partial, Pick { @@ -6427,6 +6720,9 @@ export interface DatePickerJSXProps onChange?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface DividerProps extends Pick { direction: Extract; @@ -6452,10 +6748,16 @@ declare module 'preact' { } declare const tagName$J = 's-divider'; +/** + * @publicDocs + */ export interface DividerJSXProps extends Partial, Pick {} +/** + * @publicDocs + */ export interface DropZoneProps extends Required< Pick< @@ -6533,6 +6835,9 @@ declare module 'preact' { } declare const tagName$I = 's-drop-zone'; +/** + * @publicDocs + */ export interface DropZoneJSXProps extends Partial, Pick { @@ -6591,6 +6896,9 @@ declare module 'preact' { } declare const tagName$H = 's-email-field'; +/** + * @publicDocs + */ export interface EmailFieldJSXProps extends Partial>, Pick, @@ -6609,6 +6917,9 @@ export type ResponsiveGridProps = MakeResponsivePick< RequiredAlignedProps, 'rowGap' | 'columnGap' | 'gap' | 'gridTemplateColumns' | 'gridTemplateRows' >; +/** + * @publicDocs + */ export interface GridProps extends BoxProps, Required< @@ -6741,6 +7052,9 @@ declare module 'preact' { } declare const tagName$G = 's-grid'; +/** + * @publicDocs + */ export interface GridJSXProps extends Partial, Pick { @@ -6754,6 +7068,9 @@ export interface GridJSXProps * Represents the grid item component props with all properties marked as required. */ export type RequiredGridItemProps = Required; +/** + * @publicDocs + */ export interface GridItemProps extends BoxProps, Required> { @@ -6781,6 +7098,9 @@ declare module 'preact' { } declare const tagName$F = 's-grid-item'; +/** + * @publicDocs + */ export interface GridItemJSXProps extends Partial, Pick { @@ -6790,6 +7110,9 @@ export interface GridItemJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface HeadingProps extends Required< Pick< @@ -6819,6 +7142,9 @@ declare module 'preact' { } declare const tagName$E = 's-heading'; +/** + * @publicDocs + */ export interface HeadingJSXProps extends Partial, Pick { @@ -6850,10 +7176,16 @@ declare module 'preact' { } declare const tagName$D = 's-icon'; +/** + * @publicDocs + */ export interface IconJSXProps extends Partial, Pick {} +/** + * @publicDocs + */ export interface ImageProps extends Required< Pick< @@ -6926,6 +7258,9 @@ declare module 'preact' { } declare const tagName$C = 's-image'; +/** + * @publicDocs + */ export interface ImageJSXProps extends Partial, Pick { @@ -6960,6 +7295,9 @@ export type LinkBaseProps = Required< | 'tone' > >; +/** + * @publicDocs + */ export interface LinkProps extends LinkBaseProps { tone: Extract; } @@ -6991,6 +7329,9 @@ declare module 'preact' { } declare const tagName$B = 's-link'; +/** + * @publicDocs + */ export interface LinkJSXProps extends Partial, Pick { @@ -7004,6 +7345,9 @@ export interface LinkJSXProps onClick?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface ListItemProps extends ListItemProps$1 {} declare class ListItem extends PreactCustomElement implements ListItemProps { @@ -7024,6 +7368,9 @@ declare module 'preact' { } declare const tagName$A = 's-list-item'; +/** + * @publicDocs + */ export interface ListItemJSXProps extends Partial, Pick { @@ -7033,6 +7380,9 @@ export interface ListItemJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface MenuProps extends Required> {} @@ -7106,6 +7456,9 @@ declare module 'preact' { } declare const tagName$z = 's-menu'; +/** + * @publicDocs + */ export interface MenuJSXProps extends Partial, Pick { @@ -7119,6 +7472,9 @@ export interface MenuJSXProps * Represents the modal component props with all properties marked as required. */ export type RequiredAlignedModalProps = Required; +/** + * @publicDocs + */ export interface ModalProps extends Pick< RequiredAlignedModalProps, @@ -7139,6 +7495,9 @@ export interface ModalProps >; } +/** + * @publicDocs + */ export interface Context { /** * The default value for this context, used when no Provider is found in the component tree. @@ -7255,6 +7614,9 @@ declare module 'preact' { } declare const tagName$y = 's-modal'; +/** + * @publicDocs + */ export interface ModalJSXProps extends Partial, Pick { @@ -7296,6 +7658,9 @@ export interface ModalJSXProps * Represents the money field component props with all properties marked as required. */ export type RequiredMoneyFieldProps = Required; +/** + * @publicDocs + */ export interface MoneyFieldProps extends Omit, Pick { @@ -7329,11 +7694,17 @@ declare module 'preact' { } declare const tagName$x = 's-money-field'; +/** + * @publicDocs + */ export interface MoneyFieldJSXProps extends Partial, FieldReactProps, Pick {} +/** + * @publicDocs + */ export interface NumberFieldProps extends Omit< PreactFieldProps['autocomplete']>, @@ -7379,11 +7750,17 @@ declare module 'preact' { } declare const tagName$w = 's-number-field'; +/** + * @publicDocs + */ export interface NumberFieldJSXProps extends Partial, Pick, FieldReactProps {} +/** + * @publicDocs + */ export interface OptionProps extends Required< Pick @@ -7410,6 +7787,9 @@ declare module 'preact' { } declare const tagName$v = 's-option'; +/** + * @publicDocs + */ export interface OptionJSXProps extends Partial, Pick { @@ -7419,6 +7799,9 @@ export interface OptionJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface OptionGroupProps extends Required> {} @@ -7445,6 +7828,9 @@ declare module 'preact' { } declare const tagName$u = 's-option-group'; +/** + * @publicDocs + */ export interface OptionGroupJSXProps extends Partial, Pick { @@ -7454,6 +7840,9 @@ export interface OptionGroupJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface OrderedListProps extends OrderedListProps$1 {} declare class OrderedList @@ -7477,6 +7866,9 @@ declare module 'preact' { } declare const tagName$t = 's-ordered-list'; +/** + * @publicDocs + */ export interface OrderedListJSXProps extends Partial, Pick { @@ -7486,6 +7878,9 @@ export interface OrderedListJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface PageProps extends Required> { inlineSize: Extract; @@ -7518,6 +7913,9 @@ declare module 'preact' { } declare const tagName$s = 's-page'; +/** + * @publicDocs + */ export interface PageJSXProps extends Partial, Pick { @@ -7552,6 +7950,9 @@ export interface PageJSXProps breadcrumbActions?: ComponentChildren; } +/** + * @publicDocs + */ export interface ParagraphProps extends Required< Pick< @@ -7614,6 +8015,9 @@ declare module 'preact' { } declare const tagName$r = 's-paragraph'; +/** + * @publicDocs + */ export interface ParagraphJSXProps extends Partial, Pick { @@ -7677,11 +8081,17 @@ declare module 'preact' { } declare const tagName$q = 's-password-field'; +/** + * @publicDocs + */ export interface PasswordFieldJSXProps extends Partial, Pick, FieldReactProps {} +/** + * @publicDocs + */ export interface PopoverProps extends Required< Pick< @@ -7729,6 +8139,9 @@ declare module 'preact' { } declare const tagName$p = 's-popover'; +/** + * @publicDocs + */ export interface PopoverJSXProps extends Partial, Pick { @@ -7762,6 +8175,9 @@ export interface PopoverJSXProps onAfterToggle?: (event: CallbackToggleEvent) => void | null; } +/** + * @publicDocs + */ export interface QueryContainerProps extends Required> {} @@ -7789,6 +8205,9 @@ declare module 'preact' { } declare const tagName$o = 's-query-container'; +/** + * @publicDocs + */ export interface QueryContainerJSXProps extends Partial, Pick { @@ -7854,6 +8273,9 @@ declare module 'preact' { } declare const tagName$n = 's-search-field'; +/** + * @publicDocs + */ export interface SearchFieldJSXProps extends Partial, Pick, @@ -7863,6 +8285,9 @@ export interface SearchFieldJSXProps * Represents the section component props with all properties marked as required. */ export type RequiredSectionProps = Required; +/** + * @publicDocs + */ export interface SectionProps extends Pick< RequiredSectionProps, @@ -7896,6 +8321,9 @@ declare module 'preact' { } declare const tagName$m = 's-section'; +/** + * @publicDocs + */ export interface SectionJSXProps extends Partial, Pick { @@ -7905,6 +8333,9 @@ export interface SectionJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface SelectProps extends Omit, Required< @@ -7977,6 +8408,9 @@ declare module 'preact' { } declare const tagName$l = 's-select'; +/** + * @publicDocs + */ export interface SelectJSXProps extends Partial, Pick { @@ -7990,6 +8424,9 @@ export interface SelectJSXProps onFocus?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ export interface SpinnerProps extends Required> { /** @@ -8021,6 +8458,9 @@ declare module 'preact' { } declare const tagName$k = 's-spinner'; +/** + * @publicDocs + */ export interface SpinnerJSXProps extends Partial, Pick {} @@ -8038,6 +8478,9 @@ export type ResponsiveStackProps = MakeResponsivePick< AlignedStackProps, 'gap' | 'rowGap' | 'columnGap' | 'direction' >; +/** + * @publicDocs + */ export interface StackProps extends BoxProps, Pick< @@ -8137,6 +8580,9 @@ declare module 'preact' { } declare const tagName$j = 's-stack'; +/** + * @publicDocs + */ export interface StackJSXProps extends Partial, Pick { @@ -8146,6 +8592,9 @@ export interface StackJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface SwitchProps extends PreactCheckboxProps, Required> {} @@ -8168,6 +8617,9 @@ declare module 'preact' { } declare const tagName$i = 's-switch'; +/** + * @publicDocs + */ export interface SwitchJSXProps extends Partial, Pick { @@ -8181,6 +8633,9 @@ export interface SwitchJSXProps onInput?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface TableProps extends Required< Pick< @@ -8203,6 +8658,9 @@ export type HeaderFormat = Extract< TableHeaderProps$1['format'], 'base' | 'currency' | 'numeric' >; +/** + * @publicDocs + */ export interface TableHeaderProps extends Pick { listSlot: Extract< @@ -8258,6 +8716,9 @@ declare module 'preact' { } declare const tagName$h = 's-table'; +/** + * @publicDocs + */ export interface TableJSXProps extends Partial, Pick { @@ -8271,6 +8732,9 @@ export interface TableJSXProps filters?: ComponentChildren; } +/** + * @publicDocs + */ export interface TableBodyProps extends TableBodyProps$1 {} declare class TableBody extends PreactCustomElement implements TableBodyProps { @@ -8291,6 +8755,9 @@ declare module 'preact' { } declare const tagName$g = 's-table-body'; +/** + * @publicDocs + */ export interface TableBodyJSXProps extends Partial, Pick { @@ -8301,6 +8768,9 @@ export interface TableBodyJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface TableCellProps extends TableCellProps$1 {} declare const headerFormatSymbol: unique symbol; @@ -8327,6 +8797,9 @@ declare module 'preact' { } declare const tagName$f = 's-table-cell'; +/** + * @publicDocs + */ export interface TableCellJSXProps extends Partial, Pick { @@ -8359,6 +8832,9 @@ declare module 'preact' { } declare const tagName$e = 's-table-header'; +/** + * @publicDocs + */ export interface TableHeaderJSXProps extends Partial, Pick { @@ -8368,6 +8844,9 @@ export interface TableHeaderJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface TableHeaderRowProps extends TableHeaderRowProps$1 {} declare class TableHeaderRow @@ -8395,6 +8874,9 @@ declare module 'preact' { } declare const tagName$d = 's-table-header-row'; +/** + * @publicDocs + */ export interface TableHeaderRowJSXProps extends Partial, Pick { @@ -8405,6 +8887,9 @@ export interface TableHeaderRowJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface TableRowProps extends Pick {} @@ -8427,6 +8912,9 @@ declare module 'preact' { } declare const tagName$c = 's-table-row'; +/** + * @publicDocs + */ export interface TableRowJSXProps extends Partial, Pick { @@ -8437,6 +8925,9 @@ export interface TableRowJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface TextProps extends Required< Pick< @@ -8533,6 +9024,9 @@ declare module 'preact' { } declare const tagName$b = 's-text'; +/** + * @publicDocs + */ export interface TextJSXProps extends Partial, Pick { @@ -8579,6 +9073,9 @@ declare module 'preact' { } declare const tagName$a = 's-text-area'; +/** + * @publicDocs + */ export interface TextAreaJSXProps extends Partial, Pick, @@ -8630,6 +9127,9 @@ declare module 'preact' { } declare const tagName$9 = 's-text-field'; +/** + * @publicDocs + */ export interface TextFieldJSXProps extends Partial>, Pick, @@ -8640,6 +9140,9 @@ export interface TextFieldJSXProps accessory?: ComponentChildren; } +/** + * @publicDocs + */ export interface ThumbnailProps extends Required> { /** @@ -8678,6 +9181,9 @@ declare module 'preact' { } declare const tagName$8 = 's-thumbnail'; +/** + * @publicDocs + */ export interface ThumbnailJSXProps extends Partial, Pick { @@ -8691,6 +9197,9 @@ export interface ThumbnailJSXProps onError?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface TooltipProps extends Required> {} declare class Tooltip extends PreactOverlayElement implements TooltipProps { @@ -8711,6 +9220,9 @@ declare module 'preact' { } declare const tagName$7 = 's-tooltip'; +/** + * @publicDocs + */ export interface TooltipJSXProps extends Partial, Pick { @@ -8759,11 +9271,17 @@ declare module 'preact' { } declare const tagName$6 = 's-url-field'; +/** + * @publicDocs + */ export interface URLFieldJSXProps extends Partial>, Pick, FieldReactProps {} +/** + * @publicDocs + */ export interface UnorderedListProps extends UnorderedListProps$1 {} declare class UnorderedList @@ -8787,6 +9305,9 @@ declare module 'preact' { } declare const tagName$5 = 's-unordered-list'; +/** + * @publicDocs + */ export interface UnorderedListJSXProps extends Partial, Pick { @@ -8796,10 +9317,16 @@ export interface UnorderedListJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface AdminActionProps extends Pick {} declare const tagName$4 = 's-admin-action'; +/** + * @publicDocs + */ export interface AdminActionJSXProps extends Partial, Pick { @@ -8848,10 +9375,16 @@ declare module 'preact' { } } +/** + * @publicDocs + */ export interface AdminBlockProps extends Pick {} declare const tagName$3 = 's-admin-block'; +/** + * @publicDocs + */ export interface AdminBlockJSXProps extends Partial, Pick {} @@ -8885,10 +9418,16 @@ declare module 'preact' { } } +/** + * @publicDocs + */ export interface AdminPrintActionProps extends Pick {} declare const tagName$2 = 's-admin-print-action'; +/** + * @publicDocs + */ export interface AdminPrintActionJSXProps extends Partial, Pick {} @@ -8920,9 +9459,15 @@ declare module 'preact' { } } +/** + * @publicDocs + */ export interface FormProps extends Pick {} declare const tagName$1 = 's-form'; +/** + * @publicDocs + */ export interface FormJSXProps extends Partial { /** * A callback that is run when the form is submitted. @@ -8954,10 +9499,16 @@ declare module 'preact' { } } +/** + * @publicDocs + */ export interface FunctionSettingsProps extends Pick {} declare const tagName = 's-function-settings'; +/** + * @publicDocs + */ export interface FunctionSettingsJSXProps extends Partial< FunctionSettingsProps & Pick @@ -9134,6 +9685,9 @@ export type { UnorderedListJSXProps, }; +/** + * @publicDocs + */ export interface AvatarEvents { /** * A callback fired when the avatar image successfully loads. @@ -9149,6 +9703,9 @@ export interface AvatarEvents { error: OnErrorEventHandler = null; } +/** + * @publicDocs + */ export interface BadgeSlots { /** * The text label displayed within the badge component, typically a short status indicator or category label. @@ -9156,6 +9713,9 @@ export interface BadgeSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface BannerEvents { /** * A callback fired when the banner is dismissed. @@ -9167,6 +9727,9 @@ export interface BannerEvents { afterhide: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface BannerSlots { /** * The main message content displayed within the banner component, providing important information or guidance to users. @@ -9179,6 +9742,9 @@ export interface BannerSlots { 'secondary-actions'?: HTMLElement; } +/** + * @publicDocs + */ export interface BoxSlots { /** * The content displayed within the box component, which serves as a flexible container for organizing and styling other components. @@ -9186,6 +9752,9 @@ export interface BoxSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface ButtonEvents { /** * A callback fired when the button is clicked. @@ -9207,6 +9776,9 @@ export interface ButtonEvents { focus: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface ButtonSlots { /** * The label text or elements displayed inside the button component, describing the action that will be performed when clicked. @@ -9214,6 +9786,9 @@ export interface ButtonSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface ButtonGroupSlots { /** * The buttons displayed within the button group component, which are arranged together as a cohesive set of related actions. @@ -9235,6 +9810,9 @@ export interface ButtonGroupSlots { 'secondary-actions'?: HTMLElement; } +/** + * @publicDocs + */ export interface CheckboxEvents { /** * A callback fired when the checkbox value changes. @@ -9250,6 +9828,9 @@ export interface CheckboxEvents { input: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface ChipSlots { /** * The text label displayed within the chip component, typically representing a selected filter, tag, or removable item. @@ -9261,6 +9842,9 @@ export interface ChipSlots { graphic?: HTMLElement; } +/** + * @publicDocs + */ export interface ChoiceSlots { /** * The label text or elements that identify this selectable choice to users. @@ -9281,6 +9865,9 @@ export interface ChoiceSlots { details?: HTMLElement; } +/** + * @publicDocs + */ export interface ChoiceListEvents { /** * A callback fired when the choice list selection changes. @@ -9296,6 +9883,9 @@ export interface ChoiceListEvents { input: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface ChoiceListSlots { /** * The choices a user can select from. @@ -9305,6 +9895,9 @@ export interface ChoiceListSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface ClickableEvents { /** * A callback fired when the component is clicked. @@ -9326,6 +9919,9 @@ export interface ClickableEvents { focus: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface ClickableSlots { /** * The content displayed within the clickable component, which makes any content interactive and clickable without the semantic meaning of a button or link. @@ -9333,6 +9929,9 @@ export interface ClickableSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface ClickableChipEvents { /** * A callback fired when the chip is clicked. @@ -9350,6 +9949,9 @@ export interface ClickableChipEvents { afterhide: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface ClickableChipSlots { /** * The text label displayed within the chip, which represents an interactive filter, tag, or selectable item. @@ -9361,6 +9963,9 @@ export interface ClickableChipSlots { graphic?: HTMLElement; } +/** + * @publicDocs + */ export interface ColorFieldEvents { /** * A callback fired when the color field value changes. @@ -9388,6 +9993,9 @@ export interface ColorFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface ColorPickerEvents { /** * A callback fired when the color picker value changes. @@ -9403,6 +10011,9 @@ export interface ColorPickerEvents { input: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface DateFieldEvents { /** * A callback fired when the date field value changes. @@ -9440,6 +10051,9 @@ export interface DateFieldEvents { invalid: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface DatePickerEvents { /** * A callback fired when the calendar view changes, such as when navigating between months. @@ -9471,6 +10085,9 @@ export interface DatePickerEvents { change: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface DropZoneEvents { /** * A callback fired when the drop zone value changes. @@ -9490,6 +10107,9 @@ export interface DropZoneEvents { droprejected: CallbackEventListener = null; } +/** + * @publicDocs + */ export interface DropZoneSlots { /** * The content to include inside the drop zone container @@ -9497,6 +10117,9 @@ export interface DropZoneSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface EmailFieldEvents { /** * A callback fired when the email field value changes. @@ -9524,6 +10147,9 @@ export interface EmailFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface GridSlots { /** * The child elements displayed within the grid component, which are arranged in a flexible grid layout with configurable columns, rows, and spacing. @@ -9531,6 +10157,9 @@ export interface GridSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface GridItemSlots { /** * The content displayed within the grid item component, which represents a single cell in the grid layout and can span multiple columns or rows. @@ -9538,6 +10167,9 @@ export interface GridItemSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface HeadingSlots { /** * The heading text displayed within the heading component, which provides a title or section header for content. @@ -9545,6 +10177,9 @@ export interface HeadingSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface ImageEvents { /** * A callback fired when the image successfully loads. @@ -9560,6 +10195,9 @@ export interface ImageEvents { error: OnErrorEventHandler = null; } +/** + * @publicDocs + */ export interface LinkEvents { /** * A callback fired when the link is clicked. @@ -9569,6 +10207,9 @@ export interface LinkEvents { click: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface LinkSlots { /** * The text or elements displayed within the link component, which navigates users to a different location when activated. @@ -9576,6 +10217,9 @@ export interface LinkSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface ListItemSlots { /** * The content displayed within the list item, which represents a single entry in an ordered or unordered list. @@ -9583,6 +10227,9 @@ export interface ListItemSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface MenuSlots { /** * The items displayed within the menu. Only accepts button and section components. Use button for individual menu actions and section to group related items. @@ -9590,6 +10237,9 @@ export interface MenuSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface ModalEvents { /** * A callback fired when the modal is hidden. @@ -9609,6 +10259,9 @@ export interface ModalEvents { aftershow: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface ModalSlots { /** * The content displayed within the modal component, typically including form fields, information, or interactive elements. @@ -9628,6 +10281,9 @@ export interface ModalSlots { 'secondary-actions'?: HTMLElement; } +/** + * @publicDocs + */ export interface MoneyFieldEvents { /** * A callback fired when the money field value changes. @@ -9655,6 +10311,9 @@ export interface MoneyFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface NumberFieldEvents { /** * A callback fired when the number field value changes. @@ -9682,6 +10341,9 @@ export interface NumberFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface OptionSlots { /** * The text or elements displayed as the option label, which identifies the selectable choice to users in a dropdown or selection list. @@ -9689,6 +10351,9 @@ export interface OptionSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface OptionGroupSlots { /** * The selectable options displayed in the dropdown list. Accepts option components for individual selectable items within this group. @@ -9696,6 +10361,9 @@ export interface OptionGroupSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface OrderedListSlots { /** * The list entries displayed within the ordered list, where each item is numbered sequentially. Only accepts list item components as children. Each list item represents a single numbered entry in the sequence. @@ -9703,6 +10371,9 @@ export interface OrderedListSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface PageSlots { /** * The main page content displayed within the page component, which serves as the primary container for the page's information and interface elements. @@ -9735,6 +10406,9 @@ export interface PageSlots { 'breadcrumb-actions'?: HTMLElement; } +/** + * @publicDocs + */ export interface ParagraphSlots { /** * The paragraph text content displayed within the paragraph component, which presents a block of related text with appropriate styling. @@ -9742,6 +10416,9 @@ export interface ParagraphSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface PasswordFieldEvents { /** * A callback fired when the password field value changes. @@ -9769,6 +10446,9 @@ export interface PasswordFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface PopoverEvents { /** * A callback fired when the popover is shown. @@ -9796,6 +10476,9 @@ export interface PopoverEvents { aftertoggle: CallbackEventListener | null; } +/** + * @publicDocs + */ export interface PopoverSlots { /** * The content displayed within the popover component, which appears in an overlay positioned relative to its trigger element. @@ -9803,6 +10486,9 @@ export interface PopoverSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface QueryContainerSlots { /** * The content displayed within the query container component, which enables container queries for responsive styling based on the container's size rather than the viewport. @@ -9810,6 +10496,9 @@ export interface QueryContainerSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface SearchFieldEvents { /** * A callback fired when the search field value changes. @@ -9837,6 +10526,9 @@ export interface SearchFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface SectionSlots { /** * The content displayed within the section component, which groups related elements together in a logical unit with an optional heading. @@ -9844,6 +10536,9 @@ export interface SectionSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface SelectEvents { /** * A callback fired when the select value changes. @@ -9859,6 +10554,9 @@ export interface SelectEvents { input: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface SelectSlots { /** * The selectable options displayed in the dropdown list. Accepts option components for individual selectable items, and option group components to organize related options into logical groups with labels. @@ -9866,6 +10564,9 @@ export interface SelectSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface StackSlots { /** * The child elements displayed within the stack component, which are arranged vertically or horizontally with consistent spacing. @@ -9873,6 +10574,9 @@ export interface StackSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface SwitchEvents { /** * A callback fired when the switch value changes. @@ -9888,6 +10592,9 @@ export interface SwitchEvents { input: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface TableEvents { /** * A callback fired when the user navigates to the previous page. @@ -9899,6 +10606,9 @@ export interface TableEvents { nextpage: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface TableSlots { /** * The table structure defining headers and data rows. @@ -9914,6 +10624,9 @@ export interface TableSlots { filters?: HTMLElement; } +/** + * @publicDocs + */ export interface TableBodySlots { /** * The data rows displayed in the table body. @@ -9923,6 +10636,9 @@ export interface TableBodySlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface TableCellSlots { /** * The data value displayed in this cell. @@ -9932,6 +10648,9 @@ export interface TableCellSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface TableHeaderSlots { /** * The column heading text. @@ -9941,6 +10660,9 @@ export interface TableHeaderSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface TableHeaderRowSlots { /** * The column headers displayed in the table header row. @@ -9950,6 +10672,9 @@ export interface TableHeaderRowSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface TableRowSlots { /** * The data cells displayed in this table row. @@ -9959,6 +10684,9 @@ export interface TableRowSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface TextSlots { /** * The text content displayed within the text component, which applies semantic meaning and styling appropriate to the specified text type. @@ -9966,6 +10694,9 @@ export interface TextSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface TextAreaEvents { /** * A callback fired when the text area value changes. @@ -9993,6 +10724,9 @@ export interface TextAreaEvents { focus: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface TextFieldEvents { /** * A callback fired when the text field value changes. @@ -10020,6 +10754,9 @@ export interface TextFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface TextFieldSlots { /** * Additional interactive content displayed within the text field. @@ -10029,6 +10766,9 @@ export interface TextFieldSlots { accessory?: HTMLElement; } +/** + * @publicDocs + */ export interface ThumbnailEvents { /** * A callback fired when the thumbnail image successfully loads. @@ -10044,6 +10784,9 @@ export interface ThumbnailEvents { error: OnErrorEventHandler = null; } +/** + * @publicDocs + */ export interface TooltipSlots { /** * The informational text or elements displayed within the tooltip overlay, providing helpful context or explanations when users interact with the associated element. @@ -10053,6 +10796,9 @@ export interface TooltipSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface URLFieldEvents { /** * A callback fired when the URL field value changes. @@ -10080,6 +10826,9 @@ export interface URLFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * @publicDocs + */ export interface UnorderedListSlots { /** * The list entries displayed within the unordered list, where each item is marked with a bullet point. Only accepts list item components as children. Each list item represents a single bulleted entry in the list. @@ -10087,6 +10836,9 @@ export interface UnorderedListSlots { children?: HTMLElement; } +/** + * @publicDocs + */ export interface AdminActionSlots { /** * The main action button or link displayed in the admin action modal. @@ -10100,6 +10852,9 @@ export interface AdminActionSlots { 'secondary-actions': HTMLElement; } +/** + * @publicDocs + */ export interface FormEvents { /** * A callback that is run when the form is submitted. @@ -10111,6 +10866,9 @@ export interface FormEvents { reset: CallbackEventListener | null = null; } +/** + * @publicDocs + */ export interface FunctionSettingsEvents { /** * An optional callback function that will be run by the admin when the user From 80626b8279abb8af52e96b4a46595675a2de268a Mon Sep 17 00:00:00 2001 From: Laurel Thorburn Date: Tue, 3 Mar 2026 15:46:13 -0700 Subject: [PATCH 7/8] add missing intent api types --- .../ui-extensions/src/surfaces/admin/api/intents/intents.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/ui-extensions/src/surfaces/admin/api/intents/intents.ts b/packages/ui-extensions/src/surfaces/admin/api/intents/intents.ts index 34bf6b34f8..27d80a1811 100644 --- a/packages/ui-extensions/src/surfaces/admin/api/intents/intents.ts +++ b/packages/ui-extensions/src/surfaces/admin/api/intents/intents.ts @@ -1,5 +1,6 @@ /** * The response returned when a merchant closes or cancels the workflow without completing it. Check for this response to handle cancellation gracefully in your extension. + * @publicDocs */ export interface ClosedIntentResponse { /** Indicates the workflow was closed without completion. When `'closed'`, the merchant exited the workflow before finishing. */ @@ -8,6 +9,7 @@ export interface ClosedIntentResponse { /** * The response returned when a merchant successfully completes the workflow. Use this to access the created or updated resource data. + * @publicDocs */ export interface SuccessIntentResponse { /** Indicates successful completion. When `'ok'`, the merchant completed the workflow and the resource was created or updated. */ @@ -18,6 +20,7 @@ export interface SuccessIntentResponse { /** * The response returned when the workflow fails due to validation errors or other issues. Use this to display error messages and help merchants fix problems. + * @publicDocs */ export interface ErrorIntentResponse { /** Indicates the workflow failed. When `'error'`, the workflow encountered validation errors or other issues that prevented completion. */ @@ -37,6 +40,7 @@ export interface ErrorIntentResponse { /** * The result of an intent workflow. Check the `code` property to determine the outcome: `'ok'` for success, `'error'` for failure, or `'closed'` if the merchant cancelled. + * @publicDocs */ export type IntentResponse = | SuccessIntentResponse @@ -45,6 +49,7 @@ export type IntentResponse = /** * A handle for tracking an in-progress intent workflow. + * @publicDocs */ export interface IntentActivity { /** From 1a1cb54836e99d7fc15e0b9f9e97534758f82b48 Mon Sep 17 00:00:00 2001 From: Laurel Thorburn Date: Fri, 6 Mar 2026 14:49:19 -0700 Subject: [PATCH 8/8] missing admin descriptions --- .../src/surfaces/admin/components.d.ts | 348 ++++++++++++++++++ 1 file changed, 348 insertions(+) diff --git a/packages/ui-extensions/src/surfaces/admin/components.d.ts b/packages/ui-extensions/src/surfaces/admin/components.d.ts index 6b2fbe783a..5bcef276a3 100644 --- a/packages/ui-extensions/src/surfaces/admin/components.d.ts +++ b/packages/ui-extensions/src/surfaces/admin/components.d.ts @@ -39,6 +39,7 @@ export interface ActionProps { heading?: string; } /** + * The admin action component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ActionSlots { @@ -5139,6 +5140,10 @@ export interface PreactBaseElementPropsWithChildren children?: preact.ComponentChildren; } +/** + * Configure the following properties on the avatar component. + * @publicDocs + */ declare class Avatar extends PreactCustomElement implements AvatarProps { accessor initials: AvatarProps['initials']; accessor src: AvatarProps['src']; @@ -5227,6 +5232,10 @@ export interface BadgeProps >; } +/** + * Configure the following properties on the badge component. + * @publicDocs + */ declare class Badge extends PreactCustomElement implements BadgeProps { accessor color: BadgeProps['color']; accessor icon: BadgeProps['icon']; @@ -5278,6 +5287,10 @@ export interface BannerProps >; } +/** + * Configure the following properties on the banner component. + * @publicDocs + */ declare class Banner extends PreactCustomElement implements BannerProps { accessor heading: BannerProps['heading']; accessor tone: BannerProps['tone']; @@ -5666,6 +5679,10 @@ declare class BoxElement extends PreactCustomElement implements BoxProps { accessor display: BoxProps['display']; } +/** + * Configure the following properties on the box component. + * @publicDocs + */ declare class Box extends BoxElement implements BoxProps { constructor(); } @@ -5768,6 +5785,10 @@ declare const Button_base: (abstract new ( args_0: RenderImpl, ) => PreactCustomElement & PreactOverlayControlProps) & Pick; +/** + * Configure the following properties on the button component. + * @publicDocs + */ declare class Button extends Button_base implements ButtonProps { accessor disabled: ButtonProps['disabled']; accessor icon: ButtonProps['icon']; @@ -5825,6 +5846,10 @@ export interface ButtonJSXProps export interface ButtonGroupProps extends Required> {} +/** + * Configure the following properties on the button group component. + * @publicDocs + */ declare class ButtonGroup extends PreactCustomElement implements ButtonGroupProps @@ -5972,6 +5997,10 @@ export interface CheckboxProps extends PreactCheckboxProps { defaultIndeterminate: Required['defaultIndeterminate']; } +/** + * Configure the following properties on the checkbox component. + * @publicDocs + */ declare class Checkbox extends PreactCheckboxElement implements CheckboxProps { get indeterminate(): CheckboxProps['indeterminate']; set indeterminate(indeterminate: CheckboxProps['indeterminate']); @@ -6014,6 +6043,10 @@ export interface CheckboxJSXProps export interface ChipProps extends Required> {} +/** + * Configure the following properties on the chip component. + * @publicDocs + */ declare class Chip extends PreactCustomElement implements ChipProps { accessor color: ChipProps['color']; accessor accessibilityLabel: ChipProps['accessibilityLabel']; @@ -6065,6 +6098,10 @@ export interface ChoiceProps > > {} +/** + * Configure the following properties on the choice component. + * @publicDocs + */ declare class Choice extends PreactCustomElement implements ChoiceProps { accessor disabled: ChoiceProps['disabled']; get selected(): boolean; @@ -6143,6 +6180,10 @@ declare class BaseClass$3 extends PreactCustomElement { /** @private */ [internals$3]: ElementInternals; } +/** + * Configure the following properties on the choice list component. + * @publicDocs + */ declare class ChoiceList extends BaseClass$3 implements ChoiceListProps { accessor disabled: ChoiceListProps['disabled']; accessor name: ChoiceListProps['name']; @@ -6228,6 +6269,10 @@ declare const Clickable_base: (abstract new ( renderImpl: RenderImpl, ) => BoxElement & PreactOverlayControlProps) & Pick; +/** + * Configure the following properties on the clickable component. + * @publicDocs + */ declare class Clickable extends Clickable_base implements ClickableProps { accessor disabled: ClickableProps['disabled']; accessor loading: ClickableProps['loading']; @@ -6299,6 +6344,10 @@ declare const ClickableChip_base: (abstract new ( args_0: RenderImpl, ) => PreactCustomElement & PreactOverlayControlProps) & Pick; +/** + * Configure the following properties on the clickable chip component. + * @publicDocs + */ declare class ClickableChip extends ClickableChip_base implements ClickableChipProps @@ -6447,6 +6496,10 @@ export type ColorFieldProps = Omit< > & Required>; +/** + * Configure the following properties on the color field component. + * @publicDocs + */ declare class ColorField extends PreactFieldElement implements ColorFieldProps @@ -6502,6 +6555,10 @@ declare class BaseClass$2 extends PreactCustomElement { /** @private */ [internals$2]: ElementInternals; } +/** + * Configure the following properties on the color picker component. + * @publicDocs + */ declare class ColorPicker extends BaseClass$2 implements ColorPickerProps { accessor alpha: boolean; accessor name: string; @@ -6563,6 +6620,10 @@ export interface DateFieldProps > > {} +/** + * Configure the following properties on the date field component. + * @publicDocs + */ declare class DateField extends PreactFieldElement implements DateFieldProps @@ -6659,6 +6720,10 @@ declare class BaseClass$1 extends PreactCustomElement { /** @private */ [internals$1]: ElementInternals; } +/** + * Configure the following properties on the date picker component. + * @publicDocs + */ declare class DatePicker extends BaseClass$1 implements DatePickerProps { accessor defaultView: string; set view(view: string); @@ -6729,6 +6794,10 @@ export interface DividerProps color: Extract; } +/** + * Configure the following properties on the divider component. + * @publicDocs + */ declare class Divider extends PreactCustomElement implements DividerProps { accessor direction: DividerProps['direction']; accessor color: DividerProps['color']; @@ -6792,6 +6861,10 @@ declare class BaseClass extends PreactCustomElement { /** @private */ [internals]: ElementInternals; } +/** + * Configure the following properties on the drop zone component. + * @publicDocs + */ declare class DropZone extends BaseClass implements DropZoneProps { accessor accept: DropZoneProps['accept']; accessor accessibilityLabel: DropZoneProps['accessibilityLabel']; @@ -6868,6 +6941,10 @@ export type EmailFieldProps = PreactFieldProps< > & Required>; +/** + * Configure the following properties on the email field component. + * @publicDocs + */ declare class EmailField extends PreactFieldElement implements EmailFieldProps @@ -7024,6 +7101,10 @@ export interface GridProps gridTemplateRows: ResponsiveGridProps['gridTemplateRows']; } +/** + * Configure the following properties on the grid component. + * @publicDocs + */ declare class Grid extends BoxElement implements GridProps { constructor(); accessor gridTemplateColumns: GridProps['gridTemplateColumns']; @@ -7078,6 +7159,10 @@ export interface GridItemProps gridRow: RequiredGridItemProps['gridRow']; } +/** + * Configure the following properties on the grid item component. + * @publicDocs + */ declare class GridItem extends BoxElement implements GridItemProps { accessor gridColumn: GridItemProps['gridColumn']; accessor gridRow: GridItemProps['gridRow']; @@ -7121,6 +7206,10 @@ export interface HeadingProps > > {} +/** + * Configure the following properties on the heading component. + * @publicDocs + */ declare class Heading extends PreactCustomElement implements HeadingProps { accessor accessibilityRole: HeadingProps['accessibilityRole']; accessor lineClamp: HeadingProps['lineClamp']; @@ -7154,6 +7243,10 @@ export interface HeadingJSXProps children?: ComponentChildren; } +/** + * Configure the following properties on the icon component. + * @publicDocs + */ declare class Icon extends PreactCustomElement implements IconProps { accessor color: IconProps['color']; accessor tone: IconProps['tone']; @@ -7212,6 +7305,10 @@ export interface ImageProps > > {} +/** + * Configure the following properties on the image component. + * @publicDocs + */ declare class Image extends PreactCustomElement implements ImageProps { accessor src: ImageProps['src']; accessor srcSet: ImageProps['srcSet']; @@ -7306,6 +7403,10 @@ declare const Link_base: (abstract new ( args_0: RenderImpl, ) => PreactCustomElement & PreactOverlayControlProps) & Pick; +/** + * Configure the following properties on the link component. + * @publicDocs + */ declare class Link extends Link_base implements LinkProps { accessor tone: LinkProps['tone']; accessor accessibilityLabel: LinkProps['accessibilityLabel']; @@ -7350,6 +7451,12 @@ export interface LinkJSXProps */ export interface ListItemProps extends ListItemProps$1 {} +/** + * The list item component represents a single entry within an ordered list or unordered list. Use list item to structure individual points, steps, or items within a list, with each item automatically receiving appropriate list markers (bullets or numbers) from its parent list. + * + * List item must be used as a direct child of ordered list or unordered list components. Each list item can contain text, inline formatting, or other components to create rich list content. + * @publicDocs + */ declare class ListItem extends PreactCustomElement implements ListItemProps { constructor(); } @@ -7434,6 +7541,10 @@ declare class PreactOverlayElement extends PreactCustomElement { [overlayHideFrameId]?: number; } +/** + * Configure the following properties on the menu component. + * @publicDocs + */ declare class Menu extends PreactOverlayElement implements MenuProps { accessor accessibilityLabel: string; constructor(); @@ -7557,6 +7668,10 @@ declare const abortController: unique symbol; declare const onChildModalChange: unique symbol; declare const childrenRerenderObserver: unique symbol; declare const shadowDomRerenderObserver: unique symbol; +/** + * Configure the following properties on the modal component. + * @publicDocs + */ declare class Modal extends PreactOverlayElement implements ModalProps { accessor accessibilityLabel: ModalProps['accessibilityLabel']; accessor heading: ModalProps['heading']; @@ -7667,6 +7782,10 @@ export interface MoneyFieldProps value: Required['value']; } +/** + * Configure the following properties on the money field component. + * @publicDocs + */ declare class MoneyField extends PreactFieldElement implements MoneyFieldProps @@ -7719,6 +7838,10 @@ export interface NumberFieldProps value: Required['value']; } +/** + * Configure the following properties on the number field component. + * @publicDocs + */ declare class NumberField extends PreactFieldElement implements NumberFieldProps @@ -7766,6 +7889,10 @@ export interface OptionProps Pick > {} +/** + * Configure the following properties on the option component. + * @publicDocs + */ declare class Option extends PreactCustomElement implements OptionProps { accessor selected: OptionProps['selected']; accessor defaultSelected: OptionProps['defaultSelected']; @@ -7805,6 +7932,10 @@ export interface OptionJSXProps export interface OptionGroupProps extends Required> {} +/** + * Configure the following properties on the option group component. + * @publicDocs + */ declare class OptionGroup extends PreactCustomElement implements OptionGroupProps @@ -7845,6 +7976,10 @@ export interface OptionGroupJSXProps */ export interface OrderedListProps extends OrderedListProps$1 {} +/** + * Configure the following properties on the ordered list component. + * @publicDocs + */ declare class OrderedList extends PreactCustomElement implements OrderedListProps @@ -7886,6 +8021,10 @@ export interface PageProps inlineSize: Extract; } +/** + * Configure the following properties on the page component. + * @publicDocs + */ declare class Page extends PreactCustomElement implements PageProps { accessor inlineSize: PageProps['inlineSize']; accessor heading: PageProps['heading']; @@ -7981,6 +8120,10 @@ export interface ParagraphProps color: Extract; } +/** + * Configure the following properties on the paragraph component. + * @publicDocs + */ declare class Paragraph extends PreactCustomElement implements ParagraphProps { accessor fontVariantNumeric: ParagraphProps['fontVariantNumeric']; accessor lineClamp: ParagraphProps['lineClamp']; @@ -8053,6 +8196,10 @@ export type PasswordFieldProps = PreactFieldProps< > >; +/** + * Configure the following properties on the password field component. + * @publicDocs + */ declare class PasswordField extends PreactFieldElement implements PasswordFieldProps @@ -8118,6 +8265,10 @@ declare class PreactPopoverElement accessor maxInlineSize: BoxProps['maxInlineSize']; } +/** + * Configure the following properties on the popover component. + * @publicDocs + */ declare class Popover extends PreactPopoverElement implements PopoverProps @@ -8181,6 +8332,10 @@ export interface PopoverJSXProps export interface QueryContainerProps extends Required> {} +/** + * Configure the following properties on the query container component. + * @publicDocs + */ declare class QueryContainer extends PreactCustomElement implements QueryContainerProps @@ -8246,6 +8401,10 @@ export type SearchFieldProps = PreactFieldProps< > >; +/** + * Configure the following properties on the search field component. + * @publicDocs + */ declare class SearchField extends PreactFieldElement implements SearchFieldProps @@ -8298,6 +8457,10 @@ export interface SectionProps padding: RequiredSectionProps['padding']; } +/** + * Configure the following properties on the section component. + * @publicDocs + */ declare class Section extends PreactCustomElement implements SectionProps { constructor(); /** @private */ @@ -8359,6 +8522,10 @@ export interface SelectProps declare const usedFirstOptionSymbol: unique symbol; declare const hasInitialValueSymbol: unique symbol; +/** + * Configure the following properties on the select component. + * @publicDocs + */ declare class Select extends PreactInputElement implements SelectProps { accessor icon: SelectProps['icon']; accessor details: SelectProps['details']; @@ -8439,6 +8606,10 @@ export interface SpinnerProps size: Extract; } +/** + * Configure the following properties on the spinner component. + * @publicDocs + */ declare class Spinner extends PreactCustomElement implements SpinnerProps { accessor accessibilityLabel: string; accessor size: SpinnerProps['size']; @@ -8556,6 +8727,10 @@ export interface StackProps direction: ResponsiveStackProps['direction']; } +/** + * Configure the following properties on the stack component. + * @publicDocs + */ declare class Stack extends BoxElement implements StackProps { constructor(); accessor direction: StackProps['direction']; @@ -8599,6 +8774,10 @@ export interface SwitchProps extends PreactCheckboxProps, Required> {} +/** + * Configure the following properties on the switch component. + * @publicDocs + */ declare class Switch extends PreactCheckboxElement implements SwitchProps { accessor labelAccessibilityVisibility: SwitchProps['labelAccessibilityVisibility']; constructor(); @@ -8659,6 +8838,9 @@ export type HeaderFormat = Extract< 'base' | 'currency' | 'numeric' >; /** + * The table header component represents a single column header within a table header row. Use table header as a child of table header row to define column headings and optionally enable column sorting. + * + * Table header provides semantic meaning for screen readers and can include sorting controls when configured. Each header corresponds to a column in the table body. * @publicDocs */ export interface TableHeaderProps @@ -8679,6 +8861,10 @@ declare const tableHeadersSharedDataSymbol: unique symbol; */ export type ActualTableVariant = 'table' | 'list'; +/** + * Configure the following properties on the table component. + * @publicDocs + */ declare class Table extends PreactCustomElement implements TableProps { accessor variant: TableProps['variant']; accessor loading: TableProps['loading']; @@ -8733,10 +8919,19 @@ export interface TableJSXProps } /** + * The table body component represents the main content area of a table, containing the data rows. Use table body as a child of table to structure your table data, with each table row within the body representing a single record or entry. + * + * Table body must contain table row components, which in turn contain table cell components for the actual data values. * @publicDocs */ export interface TableBodyProps extends TableBodyProps$1 {} +/** + * The table body component represents the main content area of a table, containing the data rows. Use table body as a child of table to structure your table data, with each table row within the body representing a single record or entry. + * + * Table body must contain table row components, which in turn contain table cell components for the actual data values. + * @publicDocs + */ declare class TableBody extends PreactCustomElement implements TableBodyProps { constructor(); } @@ -8769,12 +8964,21 @@ export interface TableBodyJSXProps } /** + * The table cell component represents a single data cell within a table row. Use table cell as a child of table row to display individual data values, with each cell corresponding to a column in the table. + * + * Table cell automatically inherits styling and alignment from its parent table structure and supports text content or other inline components. * @publicDocs */ export interface TableCellProps extends TableCellProps$1 {} declare const headerFormatSymbol: unique symbol; +/** + * The table cell component represents a single data cell within a table row. Use table cell as a child of table row to display individual data values, with each cell corresponding to a column in the table. + * + * Table cell automatically inherits styling and alignment from its parent table structure and supports text content or other inline components. + * @publicDocs + */ declare class TableCell extends PreactCustomElement implements TableCellProps { constructor(); /** @private */ @@ -8809,6 +9013,12 @@ export interface TableCellJSXProps children?: ComponentChildren; } +/** + * The table header component represents a single column header within a table header row. Use table header as a child of table header row to define column headings and optionally enable column sorting. + * + * Table header provides semantic meaning for screen readers and can include sorting controls when configured. Each header corresponds to a column in the table body. + * @publicDocs + */ declare class TableHeader extends PreactCustomElement implements TableHeaderProps @@ -8845,10 +9055,19 @@ export interface TableHeaderJSXProps } /** + * The table header row component represents the header row of a table, containing column headings. Use table header row as the first child of table (before table body) to define the table structure and provide column labels. + * + * Table header row must contain table header components for each column. These headers provide context for the data columns and can support sorting functionality. * @publicDocs */ export interface TableHeaderRowProps extends TableHeaderRowProps$1 {} +/** + * The table header row component represents the header row of a table, containing column headings. Use table header row as the first child of table (before table body) to define the table structure and provide column labels. + * + * Table header row must contain table header components for each column. These headers provide context for the data columns and can support sorting functionality. + * @publicDocs + */ declare class TableHeaderRow extends PreactCustomElement implements TableHeaderRowProps @@ -8888,11 +9107,20 @@ export interface TableHeaderRowJSXProps } /** + * The table row component represents a single row of data within a table body. Use table row as a child of table body to structure individual records or entries in the table. + * + * Table row must contain table cell components, with each cell representing a data value for the corresponding column. The number of cells should match the number of headers in the table. * @publicDocs */ export interface TableRowProps extends Pick {} +/** + * The table row component represents a single row of data within a table body. Use table row as a child of table body to structure individual records or entries in the table. + * + * Table row must contain table cell components, with each cell representing a data value for the corresponding column. The number of cells should match the number of headers in the table. + * @publicDocs + */ declare class TableRow extends PreactCustomElement implements TableRowProps { constructor(); accessor clickDelegate: string; @@ -8981,6 +9209,10 @@ export interface TextProps >; } +/** + * Configure the following properties on the text component. + * @publicDocs + */ declare class Text extends PreactCustomElement implements TextProps { accessor fontVariantNumeric: TextProps['fontVariantNumeric']; accessor color: TextProps['color']; @@ -9045,6 +9277,10 @@ export type TextAreaProps = PreactFieldProps< > & Required>; +/** + * Configure the following properties on the text area component. + * @publicDocs + */ declare class TextArea extends PreactFieldElement implements TextAreaProps @@ -9096,6 +9332,10 @@ export type TextFieldProps = PreactFieldProps< > >; +/** + * Configure the following properties on the text field component. + * @publicDocs + */ declare class TextField extends PreactFieldElement implements TextFieldProps @@ -9161,6 +9401,10 @@ export interface ThumbnailProps >; } +/** + * Configure the following properties on the thumbnail component. + * @publicDocs + */ declare class Thumbnail extends PreactCustomElement implements ThumbnailProps { accessor src: ThumbnailProps['src']; accessor alt: ThumbnailProps['alt']; @@ -9202,6 +9446,10 @@ export interface ThumbnailJSXProps */ export interface TooltipProps extends Required> {} +/** + * Configure the following properties on the tooltip component. + * @publicDocs + */ declare class Tooltip extends PreactOverlayElement implements TooltipProps { constructor(); } @@ -9243,6 +9491,10 @@ export type URLFieldProps = PreactFieldProps< > & Required>; +/** + * Configure the following properties on the URL field component. + * @publicDocs + */ declare class URLField extends PreactFieldElement implements URLFieldProps @@ -9284,6 +9536,10 @@ export interface URLFieldJSXProps */ export interface UnorderedListProps extends UnorderedListProps$1 {} +/** + * Configure the following properties on the unordered list component. + * @publicDocs + */ declare class UnorderedList extends PreactCustomElement implements UnorderedListProps @@ -9318,6 +9574,7 @@ export interface UnorderedListJSXProps } /** + * Configure the following properties on the admin action component. * @publicDocs */ export interface AdminActionProps @@ -9342,6 +9599,10 @@ export interface AdminActionJSXProps secondaryActions: ComponentChildren; } +/** + * Configure the following properties on the admin action component. + * @publicDocs + */ declare class AdminAction extends PreactCustomElement implements AdminActionProps @@ -9376,6 +9637,7 @@ declare module 'preact' { } /** + * Configure the following properties on the admin block component. * @publicDocs */ export interface AdminBlockProps @@ -9389,6 +9651,10 @@ export interface AdminBlockJSXProps extends Partial, Pick {} +/** + * Configure the following properties on the admin block component. + * @publicDocs + */ declare class AdminBlock extends PreactCustomElement implements AdminBlockProps @@ -9419,6 +9685,7 @@ declare module 'preact' { } /** + * Configure the following properties on the admin print action component. * @publicDocs */ export interface AdminPrintActionProps @@ -9432,6 +9699,10 @@ export interface AdminPrintActionJSXProps extends Partial, Pick {} +/** + * Configure the following properties on the admin print action component. + * @publicDocs + */ declare class AdminPrintAction extends PreactCustomElement implements AdminPrintActionProps @@ -9481,6 +9752,10 @@ export interface FormJSXProps extends Partial { onReset?: ((event: CallbackEvent) => void) | null; } +/** + * Configure the following properties on the form component. + * @publicDocs + */ declare class Form extends PreactCustomElement implements FormProps { constructor(); } @@ -9535,6 +9810,10 @@ export interface FunctionSettingsJSXProps export type FunctionSettingsErrorEvent = Parameters< NonNullable >[0]; +/** + * Configure the following properties on the function settings component. + * @publicDocs + */ declare class FunctionSettings extends PreactCustomElement implements FunctionSettingsProps @@ -9686,6 +9965,7 @@ export type { }; /** + * The avatar component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface AvatarEvents { @@ -9704,6 +9984,7 @@ export interface AvatarEvents { } /** + * The badge component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface BadgeSlots { @@ -9714,6 +9995,7 @@ export interface BadgeSlots { } /** + * The banner component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface BannerEvents { @@ -9728,6 +10010,7 @@ export interface BannerEvents { } /** + * The banner component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface BannerSlots { @@ -9743,6 +10026,7 @@ export interface BannerSlots { } /** + * The box component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface BoxSlots { @@ -9753,6 +10037,7 @@ export interface BoxSlots { } /** + * The button component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface ButtonEvents { @@ -9777,6 +10062,7 @@ export interface ButtonEvents { } /** + * The button component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ButtonSlots { @@ -9787,6 +10073,7 @@ export interface ButtonSlots { } /** + * The button group component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ButtonGroupSlots { @@ -9811,6 +10098,7 @@ export interface ButtonGroupSlots { } /** + * The checkbox component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface CheckboxEvents { @@ -9829,6 +10117,7 @@ export interface CheckboxEvents { } /** + * The chip component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ChipSlots { @@ -9843,6 +10132,7 @@ export interface ChipSlots { } /** + * The choice component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ChoiceSlots { @@ -9866,6 +10156,7 @@ export interface ChoiceSlots { } /** + * The choice list component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface ChoiceListEvents { @@ -9884,6 +10175,7 @@ export interface ChoiceListEvents { } /** + * The choice list component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ChoiceListSlots { @@ -9896,6 +10188,7 @@ export interface ChoiceListSlots { } /** + * The clickable component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface ClickableEvents { @@ -9920,6 +10213,7 @@ export interface ClickableEvents { } /** + * The clickable component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ClickableSlots { @@ -9930,6 +10224,7 @@ export interface ClickableSlots { } /** + * The clickable chip component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface ClickableChipEvents { @@ -9950,6 +10245,7 @@ export interface ClickableChipEvents { } /** + * The clickable chip component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ClickableChipSlots { @@ -9964,6 +10260,7 @@ export interface ClickableChipSlots { } /** + * The color field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface ColorFieldEvents { @@ -9994,6 +10291,7 @@ export interface ColorFieldEvents { } /** + * The color picker component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface ColorPickerEvents { @@ -10012,6 +10310,7 @@ export interface ColorPickerEvents { } /** + * The date field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface DateFieldEvents { @@ -10052,6 +10351,7 @@ export interface DateFieldEvents { } /** + * The date picker component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface DatePickerEvents { @@ -10086,6 +10386,7 @@ export interface DatePickerEvents { } /** + * The drop zone component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface DropZoneEvents { @@ -10108,6 +10409,7 @@ export interface DropZoneEvents { } /** + * The drop zone component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface DropZoneSlots { @@ -10118,6 +10420,7 @@ export interface DropZoneSlots { } /** + * The email field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface EmailFieldEvents { @@ -10148,6 +10451,7 @@ export interface EmailFieldEvents { } /** + * The grid component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface GridSlots { @@ -10158,6 +10462,7 @@ export interface GridSlots { } /** + * The grid item component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface GridItemSlots { @@ -10168,6 +10473,7 @@ export interface GridItemSlots { } /** + * The heading component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface HeadingSlots { @@ -10178,6 +10484,7 @@ export interface HeadingSlots { } /** + * The image component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface ImageEvents { @@ -10196,6 +10503,7 @@ export interface ImageEvents { } /** + * The link component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface LinkEvents { @@ -10208,6 +10516,7 @@ export interface LinkEvents { } /** + * The link component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface LinkSlots { @@ -10218,6 +10527,7 @@ export interface LinkSlots { } /** + * The list item component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ListItemSlots { @@ -10228,6 +10538,7 @@ export interface ListItemSlots { } /** + * The menu component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface MenuSlots { @@ -10238,6 +10549,7 @@ export interface MenuSlots { } /** + * The modal component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface ModalEvents { @@ -10260,6 +10572,7 @@ export interface ModalEvents { } /** + * The modal component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ModalSlots { @@ -10282,6 +10595,7 @@ export interface ModalSlots { } /** + * The money field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface MoneyFieldEvents { @@ -10312,6 +10626,7 @@ export interface MoneyFieldEvents { } /** + * The number field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface NumberFieldEvents { @@ -10342,6 +10657,7 @@ export interface NumberFieldEvents { } /** + * The option component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface OptionSlots { @@ -10352,6 +10668,7 @@ export interface OptionSlots { } /** + * The option group component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface OptionGroupSlots { @@ -10362,6 +10679,7 @@ export interface OptionGroupSlots { } /** + * The ordered list component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface OrderedListSlots { @@ -10372,6 +10690,7 @@ export interface OrderedListSlots { } /** + * The page component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface PageSlots { @@ -10407,6 +10726,7 @@ export interface PageSlots { } /** + * The paragraph component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface ParagraphSlots { @@ -10417,6 +10737,7 @@ export interface ParagraphSlots { } /** + * The password field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface PasswordFieldEvents { @@ -10447,6 +10768,7 @@ export interface PasswordFieldEvents { } /** + * The popover component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface PopoverEvents { @@ -10477,6 +10799,7 @@ export interface PopoverEvents { } /** + * The popover component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface PopoverSlots { @@ -10487,6 +10810,7 @@ export interface PopoverSlots { } /** + * The query container component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface QueryContainerSlots { @@ -10497,6 +10821,7 @@ export interface QueryContainerSlots { } /** + * The search field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface SearchFieldEvents { @@ -10527,6 +10852,7 @@ export interface SearchFieldEvents { } /** + * The section component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface SectionSlots { @@ -10537,6 +10863,7 @@ export interface SectionSlots { } /** + * The select component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface SelectEvents { @@ -10555,6 +10882,7 @@ export interface SelectEvents { } /** + * The select component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface SelectSlots { @@ -10565,6 +10893,7 @@ export interface SelectSlots { } /** + * The stack component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface StackSlots { @@ -10575,6 +10904,7 @@ export interface StackSlots { } /** + * The switch component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface SwitchEvents { @@ -10593,6 +10923,7 @@ export interface SwitchEvents { } /** + * The table component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface TableEvents { @@ -10607,6 +10938,7 @@ export interface TableEvents { } /** + * The table component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface TableSlots { @@ -10625,6 +10957,7 @@ export interface TableSlots { } /** + * The table body component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface TableBodySlots { @@ -10637,6 +10970,7 @@ export interface TableBodySlots { } /** + * The table cell component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface TableCellSlots { @@ -10649,6 +10983,7 @@ export interface TableCellSlots { } /** + * The table header component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface TableHeaderSlots { @@ -10661,6 +10996,7 @@ export interface TableHeaderSlots { } /** + * The table header row component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface TableHeaderRowSlots { @@ -10673,6 +11009,7 @@ export interface TableHeaderRowSlots { } /** + * The table row component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface TableRowSlots { @@ -10685,6 +11022,7 @@ export interface TableRowSlots { } /** + * The text component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface TextSlots { @@ -10695,6 +11033,7 @@ export interface TextSlots { } /** + * The text area component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface TextAreaEvents { @@ -10725,6 +11064,7 @@ export interface TextAreaEvents { } /** + * The text field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface TextFieldEvents { @@ -10755,6 +11095,7 @@ export interface TextFieldEvents { } /** + * The text field component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface TextFieldSlots { @@ -10767,6 +11108,7 @@ export interface TextFieldSlots { } /** + * The thumbnail component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface ThumbnailEvents { @@ -10785,6 +11127,7 @@ export interface ThumbnailEvents { } /** + * The tooltip component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface TooltipSlots { @@ -10797,6 +11140,7 @@ export interface TooltipSlots { } /** + * The URL field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface URLFieldEvents { @@ -10827,6 +11171,7 @@ export interface URLFieldEvents { } /** + * The unordered list component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface UnorderedListSlots { @@ -10837,6 +11182,7 @@ export interface UnorderedListSlots { } /** + * The admin action component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots). * @publicDocs */ export interface AdminActionSlots { @@ -10853,6 +11199,7 @@ export interface AdminActionSlots { } /** + * The form component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface FormEvents { @@ -10867,6 +11214,7 @@ export interface FormEvents { } /** + * The function settings component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events). * @publicDocs */ export interface FunctionSettingsEvents {