diff --git a/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs b/packages/ui-extensions/docs/surfaces/admin/build-docs.mjs index 03c6967d73..d8b23f7c5f 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,61 @@ const templates = { }), }; +// Generator outputs v2 format: { [name]: { [filePath]: entry } }. Convert to array for processing. +const v2ToArray = (v2) => + Object.values(v2).flatMap((byFilePath) => Object.values(byFilePath)); + +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()); + 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, @@ -431,7 +484,21 @@ 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), + ); + 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)); + } }; const generateExtensionsDocs = async () => { @@ -450,6 +517,7 @@ const generateExtensionsDocs = async () => { const scripts = [ `yarn tsc --project ${docsRelativePath}/${tsconfigExtensions} --moduleResolution node --target esNext --module CommonJS`, `yarn generate-docs --input ./${srcRelativePath} --typesInput ./${srcRelativePath} --output ./${outputDir}`, + `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}`, ]; 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/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..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 { /** @@ -127,6 +132,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 { /** diff --git a/packages/ui-extensions/src/surfaces/admin/components.d.ts b/packages/ui-extensions/src/surfaces/admin/components.d.ts index 8313207156..5bcef276a3 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,19 @@ 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; } +/** + * 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 { /** * The primary action button or link, representing the main or most important action available in this context. @@ -70,6 +80,9 @@ interface AdminPrintActionProps$1 extends GlobalProps { */ src?: string; } +/** + * @publicDocs + */ export interface BaseOverlayProps { /** * A callback fired immediately after the overlay is shown. @@ -94,6 +107,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 +130,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 +145,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 +179,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 +193,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 +205,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 +215,9 @@ export interface AggregateError extends Error { */ errors: T[]; } +/** + * @publicDocs + */ export interface AggregateErrorEvent extends ErrorEvent { /** * The aggregated error object containing multiple individual errors. @@ -273,6 +309,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 +1085,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 +1101,9 @@ export interface DisplayProps { */ display?: MaybeResponsive<'auto' | 'none'>; } +/** + * @publicDocs + */ export interface AccessibilityRoleProps { /** * The semantic meaning of the component’s content. When set, @@ -1218,6 +1263,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 +1278,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 +1305,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 +1408,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 +1514,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 +1595,9 @@ export interface BorderProps { */ borderRadius?: MaybeAllValuesShorthandProperty; } +/** + * @publicDocs + */ export interface OverflowProps { /** * The overflow behavior of the element. @@ -1548,6 +1611,9 @@ export interface OverflowProps { */ overflow?: 'hidden' | 'visible'; } +/** + * @publicDocs + */ export interface BaseBoxProps extends AccessibilityVisibilityProps, BackgroundProps, @@ -1565,10 +1631,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 +1673,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 +1714,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 +1741,9 @@ export interface InteractionProps { */ interestFor?: string; } +/** + * @publicDocs + */ export interface BaseClickableProps extends ButtonBehaviorProps, LinkBehaviorProps {} @@ -1740,6 +1821,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 +1836,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 +1856,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 +1873,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 +1905,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 +1915,9 @@ export interface FieldErrorProps { */ error?: string; } +/** + * @publicDocs + */ export interface BasicFieldProps extends FieldErrorProps, LabelAccessibilityVisibilityProps { @@ -1834,6 +1933,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 +1944,9 @@ export interface FieldDetailsProps { */ details?: string; } +/** + * @publicDocs + */ export interface FieldProps extends BasicFieldProps, InputProps, @@ -1852,6 +1957,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 +1968,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 +2002,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 +2043,9 @@ export interface NumberConstraintsProps { */ controls?: 'auto' | 'stepper' | 'none'; } +/** + * @publicDocs + */ export interface MinMaxLengthProps { /** * The maximum number of characters allowed in the field. @@ -1943,6 +2060,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 +2081,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 +2101,9 @@ export interface BaseOptionProps extends BaseSelectableProps { */ defaultSelected?: boolean; } +/** + * @publicDocs + */ export interface BaseCheckableProps extends BaseSelectableProps, InteractionProps { @@ -2055,6 +2181,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 +2392,9 @@ interface ColorPickerProps$1 */ defaultValue?: string; } +/** + * @publicDocs + */ export interface AutocompleteProps< AutocompleteField extends AnyAutocompleteField, > { @@ -2783,6 +2915,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 +2937,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 +3151,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 +3216,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 +3293,9 @@ interface IconProps$1 */ type?: IconType | AnyString; } +/** + * @publicDocs + */ export interface BaseImageProps { /** * Alternative text that describes the image for accessibility. @@ -3654,6 +3799,9 @@ interface SwitchProps$1 BasicFieldProps, FieldDetailsProps, FieldErrorProps {} +/** + * @publicDocs + */ export interface PaginationProps { /** * Whether to use pagination controls. @@ -3953,6 +4101,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 +4144,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 +4177,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 +4190,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 +4220,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 +4234,9 @@ export interface FunctionComponent

{ */ defaultProps?: Partial

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

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

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

{ componentWillMount?(): void; componentDidMount?(): void; @@ -4171,6 +4340,9 @@ declare abstract class Component { // // Context // ----------------------------------- +/** + * @publicDocs + */ export interface Consumer extends FunctionComponent<{ /** @@ -4179,6 +4351,9 @@ export interface Consumer */ children: (value: T) => ComponentChildren$1; }> {} +/** + * @publicDocs + */ export interface Provider extends FunctionComponent<{ /** @@ -4190,6 +4365,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 +4895,9 @@ type IconType$1 = | 'x' | 'x-circle'; +/** + * @publicDocs + */ export interface AvatarProps extends Required> { /** @@ -4761,6 +4942,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 +4963,9 @@ export interface ActivationEventEsque { */ button: number; } +/** + * @publicDocs + */ export interface ClickOptions { /** * The event you want to influence the synthetic click. @@ -4878,6 +5065,9 @@ export type CallbackErrorEventListener< ): void; }) | null; +/** + * @publicDocs + */ export interface CallbackExtendableEvent< TTagName extends keyof HTMLElementTagNameMap, > extends CallbackEvent, @@ -4893,6 +5083,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 +5107,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 +5130,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 { @@ -4945,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']; @@ -4966,6 +5165,9 @@ declare module 'preact' { } declare const tagName$Z = 's-avatar'; +/** + * @publicDocs + */ export interface AvatarJSXProps extends Partial, Pick { @@ -4979,6 +5181,9 @@ export interface AvatarJSXProps onError?: () => void; } +/** + * @publicDocs + */ export interface IconProps extends Pick< IconProps$1, @@ -5006,6 +5211,9 @@ export interface IconProps size: Extract; } +/** + * @publicDocs + */ export interface BadgeProps extends Pick { color: Extract; @@ -5024,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']; @@ -5045,6 +5257,9 @@ declare module 'preact' { } declare const tagName$Y = 's-badge'; +/** + * @publicDocs + */ export interface BadgeJSXProps extends Partial, Pick { @@ -5058,6 +5273,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, @@ -5069,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']; @@ -5091,6 +5313,9 @@ declare module 'preact' { } declare const tagName$X = 's-banner'; +/** + * @publicDocs + */ export interface BannerJSXProps extends Partial, Pick { @@ -5195,6 +5420,9 @@ export type ResponsiveBoxProps = MakeResponsivePick< | 'paddingInlineEnd' | 'display' >; +/** + * @publicDocs + */ export interface BoxProps extends Pick< RequiredBoxProps, @@ -5451,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(); } @@ -5468,6 +5700,9 @@ declare module 'preact' { } declare const tagName$W = 's-box'; +/** + * @publicDocs + */ export interface BoxJSXProps extends Partial, Pick { @@ -5509,11 +5744,17 @@ export type ButtonBaseProps = Required< | 'download' > >; +/** + * @publicDocs + */ export interface ButtonProps extends ButtonBaseProps { tone: Extract; icon: IconProps['type']; } +/** + * @publicDocs + */ export interface PreactOverlayControlProps extends Pick { /** @@ -5544,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']; @@ -5571,6 +5816,9 @@ declare module 'preact' { } declare const tagName$V = 's-button'; +/** + * @publicDocs + */ export interface ButtonJSXProps extends Partial, Pick { @@ -5592,9 +5840,16 @@ export interface ButtonJSXProps onBlur?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface ButtonGroupProps extends Required> {} +/** + * Configure the following properties on the button group component. + * @publicDocs + */ declare class ButtonGroup extends PreactCustomElement implements ButtonGroupProps @@ -5621,6 +5876,9 @@ declare module 'preact' { } declare const tagName$U = 's-button-group'; +/** + * @publicDocs + */ export interface ButtonGroupJSXProps extends Partial, Pick { @@ -5667,6 +5925,9 @@ declare class PreactInputElement constructor(renderImpl: RenderImpl); } +/** + * @publicDocs + */ export interface PreactCheckboxProps extends Required< Pick< @@ -5710,6 +5971,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), @@ -5733,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']); @@ -5753,6 +6021,9 @@ declare module 'preact' { } declare const tagName$T = 's-checkbox'; +/** + * @publicDocs + */ export interface CheckboxJSXProps extends Partial, Pick { @@ -5766,9 +6037,16 @@ export interface CheckboxJSXProps onInput?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ 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']; @@ -5789,6 +6067,9 @@ declare module 'preact' { } declare const tagName$S = 's-chip'; +/** + * @publicDocs + */ export interface ChipJSXProps extends Partial, Pick { @@ -5802,6 +6083,9 @@ export interface ChipJSXProps graphic?: ComponentChildren; } +/** + * @publicDocs + */ export interface ChoiceProps extends Required< Pick< @@ -5814,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; @@ -5842,6 +6130,9 @@ declare module 'preact' { } declare const tagName$R = 's-choice'; +/** + * @publicDocs + */ export interface ChoiceJSXProps extends Partial, Pick { @@ -5864,6 +6155,9 @@ export interface ChoiceJSXProps details?: ComponentChildren; } +/** + * @publicDocs + */ export interface ChoiceListProps extends Required< Pick< @@ -5886,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']; @@ -5919,6 +6217,9 @@ declare module 'preact' { } declare const tagName$Q = 's-choice-list'; +/** + * @publicDocs + */ export interface ChoiceListJSXProps extends Partial, Pick { @@ -5957,6 +6258,9 @@ export type ClickableBaseProps = Required< | 'type' > >; +/** + * @publicDocs + */ export interface ClickableProps extends Required, ClickableBaseProps {} @@ -5965,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']; @@ -5989,6 +6297,9 @@ declare module 'preact' { } declare const tagName$P = 's-clickable'; +/** + * @publicDocs + */ export interface ClickableJSXProps extends Partial, Pick { @@ -6010,6 +6321,9 @@ export interface ClickableJSXProps onBlur?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface ClickableChipProps extends Required< Pick< @@ -6030,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 @@ -6057,6 +6375,9 @@ declare module 'preact' { } declare const tagName$O = 's-clickable-chip'; +/** + * @publicDocs + */ export interface ClickableChipJSXProps extends Partial, Pick { @@ -6175,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 @@ -6202,6 +6527,9 @@ declare module 'preact' { } declare const tagName$N = 's-color-field'; +/** + * @publicDocs + */ export interface ColorFieldJSXProps extends Partial< Omit @@ -6212,6 +6540,9 @@ export interface ColorFieldJSXProps onChange?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ export interface ColorPickerProps extends Required< Pick @@ -6224,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; @@ -6250,6 +6585,9 @@ declare module 'preact' { } declare const tagName$M = 's-color-picker'; +/** + * @publicDocs + */ export interface ColorPickerJSXProps extends Partial, Pick< @@ -6260,6 +6598,9 @@ export interface ColorPickerJSXProps onChange?: (event: CallbackEvent) => void | null; } +/** + * @publicDocs + */ export interface DateFieldProps extends Omit< PreactFieldProps, @@ -6279,6 +6620,10 @@ export interface DateFieldProps > > {} +/** + * Configure the following properties on the date field component. + * @publicDocs + */ declare class DateField extends PreactFieldElement implements DateFieldProps @@ -6306,6 +6651,9 @@ declare module 'preact' { } declare const tagName$L = 's-date-field'; +/** + * @publicDocs + */ export interface DateFieldJSXProps extends Partial>, Pick { @@ -6335,6 +6683,9 @@ export interface DateFieldJSXProps onViewChange?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface DatePickerProps extends Required< Pick< @@ -6369,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); @@ -6402,6 +6757,9 @@ declare module 'preact' { } declare const tagName$K = 's-date-picker'; +/** + * @publicDocs + */ export interface DatePickerJSXProps extends Partial, Pick { @@ -6427,12 +6785,19 @@ export interface DatePickerJSXProps onChange?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface DividerProps extends Pick { direction: Extract; 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']; @@ -6452,10 +6817,16 @@ declare module 'preact' { } declare const tagName$J = 's-divider'; +/** + * @publicDocs + */ export interface DividerJSXProps extends Partial, Pick {} +/** + * @publicDocs + */ export interface DropZoneProps extends Required< Pick< @@ -6490,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']; @@ -6533,6 +6908,9 @@ declare module 'preact' { } declare const tagName$I = 's-drop-zone'; +/** + * @publicDocs + */ export interface DropZoneJSXProps extends Partial, Pick { @@ -6563,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 @@ -6591,6 +6973,9 @@ declare module 'preact' { } declare const tagName$H = 's-email-field'; +/** + * @publicDocs + */ export interface EmailFieldJSXProps extends Partial>, Pick, @@ -6609,6 +6994,9 @@ export type ResponsiveGridProps = MakeResponsivePick< RequiredAlignedProps, 'rowGap' | 'columnGap' | 'gap' | 'gridTemplateColumns' | 'gridTemplateRows' >; +/** + * @publicDocs + */ export interface GridProps extends BoxProps, Required< @@ -6713,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']; @@ -6741,6 +7133,9 @@ declare module 'preact' { } declare const tagName$G = 's-grid'; +/** + * @publicDocs + */ export interface GridJSXProps extends Partial, Pick { @@ -6754,6 +7149,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> { @@ -6761,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']; @@ -6781,6 +7183,9 @@ declare module 'preact' { } declare const tagName$F = 's-grid-item'; +/** + * @publicDocs + */ export interface GridItemJSXProps extends Partial, Pick { @@ -6790,6 +7195,9 @@ export interface GridItemJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface HeadingProps extends Required< Pick< @@ -6798,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']; @@ -6819,6 +7231,9 @@ declare module 'preact' { } declare const tagName$E = 's-heading'; +/** + * @publicDocs + */ export interface HeadingJSXProps extends Partial, Pick { @@ -6828,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']; @@ -6850,10 +7269,16 @@ declare module 'preact' { } declare const tagName$D = 's-icon'; +/** + * @publicDocs + */ export interface IconJSXProps extends Partial, Pick {} +/** + * @publicDocs + */ export interface ImageProps extends Required< Pick< @@ -6880,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']; @@ -6926,6 +7355,9 @@ declare module 'preact' { } declare const tagName$C = 's-image'; +/** + * @publicDocs + */ export interface ImageJSXProps extends Partial, Pick { @@ -6960,6 +7392,9 @@ export type LinkBaseProps = Required< | 'tone' > >; +/** + * @publicDocs + */ export interface LinkProps extends LinkBaseProps { tone: Extract; } @@ -6968,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']; @@ -6991,6 +7430,9 @@ declare module 'preact' { } declare const tagName$B = 's-link'; +/** + * @publicDocs + */ export interface LinkJSXProps extends Partial, Pick { @@ -7004,8 +7446,17 @@ export interface LinkJSXProps onClick?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ 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(); } @@ -7024,6 +7475,9 @@ declare module 'preact' { } declare const tagName$A = 's-list-item'; +/** + * @publicDocs + */ export interface ListItemJSXProps extends Partial, Pick { @@ -7033,6 +7487,9 @@ export interface ListItemJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface MenuProps extends Required> {} @@ -7084,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(); @@ -7106,6 +7567,9 @@ declare module 'preact' { } declare const tagName$z = 's-menu'; +/** + * @publicDocs + */ export interface MenuJSXProps extends Partial, Pick { @@ -7119,6 +7583,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 +7606,9 @@ export interface ModalProps >; } +/** + * @publicDocs + */ export interface Context { /** * The default value for this context, used when no Provider is found in the component tree. @@ -7198,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']; @@ -7255,6 +7729,9 @@ declare module 'preact' { } declare const tagName$y = 's-modal'; +/** + * @publicDocs + */ export interface ModalJSXProps extends Partial, Pick { @@ -7296,12 +7773,19 @@ 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 { value: Required['value']; } +/** + * Configure the following properties on the money field component. + * @publicDocs + */ declare class MoneyField extends PreactFieldElement implements MoneyFieldProps @@ -7329,11 +7813,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']>, @@ -7348,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 @@ -7379,16 +7873,26 @@ 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 > {} +/** + * Configure the following properties on the option component. + * @publicDocs + */ declare class Option extends PreactCustomElement implements OptionProps { accessor selected: OptionProps['selected']; accessor defaultSelected: OptionProps['defaultSelected']; @@ -7410,6 +7914,9 @@ declare module 'preact' { } declare const tagName$v = 's-option'; +/** + * @publicDocs + */ export interface OptionJSXProps extends Partial, Pick { @@ -7419,9 +7926,16 @@ export interface OptionJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface OptionGroupProps extends Required> {} +/** + * Configure the following properties on the option group component. + * @publicDocs + */ declare class OptionGroup extends PreactCustomElement implements OptionGroupProps @@ -7445,6 +7959,9 @@ declare module 'preact' { } declare const tagName$u = 's-option-group'; +/** + * @publicDocs + */ export interface OptionGroupJSXProps extends Partial, Pick { @@ -7454,8 +7971,15 @@ export interface OptionGroupJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface OrderedListProps extends OrderedListProps$1 {} +/** + * Configure the following properties on the ordered list component. + * @publicDocs + */ declare class OrderedList extends PreactCustomElement implements OrderedListProps @@ -7477,6 +8001,9 @@ declare module 'preact' { } declare const tagName$t = 's-ordered-list'; +/** + * @publicDocs + */ export interface OrderedListJSXProps extends Partial, Pick { @@ -7486,11 +8013,18 @@ export interface OrderedListJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface PageProps extends Required> { 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']; @@ -7518,6 +8052,9 @@ declare module 'preact' { } declare const tagName$s = 's-page'; +/** + * @publicDocs + */ export interface PageJSXProps extends Partial, Pick { @@ -7552,6 +8089,9 @@ export interface PageJSXProps breadcrumbActions?: ComponentChildren; } +/** + * @publicDocs + */ export interface ParagraphProps extends Required< Pick< @@ -7580,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']; @@ -7614,6 +8158,9 @@ declare module 'preact' { } declare const tagName$r = 's-paragraph'; +/** + * @publicDocs + */ export interface ParagraphJSXProps extends Partial, Pick { @@ -7649,6 +8196,10 @@ export type PasswordFieldProps = PreactFieldProps< > >; +/** + * Configure the following properties on the password field component. + * @publicDocs + */ declare class PasswordField extends PreactFieldElement implements PasswordFieldProps @@ -7677,11 +8228,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< @@ -7708,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 @@ -7729,6 +8290,9 @@ declare module 'preact' { } declare const tagName$p = 's-popover'; +/** + * @publicDocs + */ export interface PopoverJSXProps extends Partial, Pick { @@ -7762,9 +8326,16 @@ export interface PopoverJSXProps onAfterToggle?: (event: CallbackToggleEvent) => void | null; } +/** + * @publicDocs + */ export interface QueryContainerProps extends Required> {} +/** + * Configure the following properties on the query container component. + * @publicDocs + */ declare class QueryContainer extends PreactCustomElement implements QueryContainerProps @@ -7789,6 +8360,9 @@ declare module 'preact' { } declare const tagName$o = 's-query-container'; +/** + * @publicDocs + */ export interface QueryContainerJSXProps extends Partial, Pick { @@ -7827,6 +8401,10 @@ export type SearchFieldProps = PreactFieldProps< > >; +/** + * Configure the following properties on the search field component. + * @publicDocs + */ declare class SearchField extends PreactFieldElement implements SearchFieldProps @@ -7854,6 +8432,9 @@ declare module 'preact' { } declare const tagName$n = 's-search-field'; +/** + * @publicDocs + */ export interface SearchFieldJSXProps extends Partial, Pick, @@ -7863,6 +8444,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, @@ -7873,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 */ @@ -7896,6 +8484,9 @@ declare module 'preact' { } declare const tagName$m = 's-section'; +/** + * @publicDocs + */ export interface SectionJSXProps extends Partial, Pick { @@ -7905,6 +8496,9 @@ export interface SectionJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface SelectProps extends Omit, Required< @@ -7928,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']; @@ -7977,6 +8575,9 @@ declare module 'preact' { } declare const tagName$l = 's-select'; +/** + * @publicDocs + */ export interface SelectJSXProps extends Partial, Pick { @@ -7990,6 +8591,9 @@ export interface SelectJSXProps onFocus?: (event: CallbackEvent) => void; } +/** + * @publicDocs + */ export interface SpinnerProps extends Required> { /** @@ -8002,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']; @@ -8021,6 +8629,9 @@ declare module 'preact' { } declare const tagName$k = 's-spinner'; +/** + * @publicDocs + */ export interface SpinnerJSXProps extends Partial, Pick {} @@ -8038,6 +8649,9 @@ export type ResponsiveStackProps = MakeResponsivePick< AlignedStackProps, 'gap' | 'rowGap' | 'columnGap' | 'direction' >; +/** + * @publicDocs + */ export interface StackProps extends BoxProps, Pick< @@ -8113,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']; @@ -8137,6 +8755,9 @@ declare module 'preact' { } declare const tagName$j = 's-stack'; +/** + * @publicDocs + */ export interface StackJSXProps extends Partial, Pick { @@ -8146,10 +8767,17 @@ export interface StackJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ 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(); @@ -8168,6 +8796,9 @@ declare module 'preact' { } declare const tagName$i = 's-switch'; +/** + * @publicDocs + */ export interface SwitchJSXProps extends Partial, Pick { @@ -8181,6 +8812,9 @@ export interface SwitchJSXProps onInput?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface TableProps extends Required< Pick< @@ -8203,6 +8837,12 @@ export type HeaderFormat = Extract< TableHeaderProps$1['format'], '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 extends Pick { listSlot: Extract< @@ -8221,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']; @@ -8258,6 +8902,9 @@ declare module 'preact' { } declare const tagName$h = 's-table'; +/** + * @publicDocs + */ export interface TableJSXProps extends Partial, Pick { @@ -8271,8 +8918,20 @@ export interface TableJSXProps filters?: ComponentChildren; } +/** + * 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(); } @@ -8291,6 +8950,9 @@ declare module 'preact' { } declare const tagName$g = 's-table-body'; +/** + * @publicDocs + */ export interface TableBodyJSXProps extends Partial, Pick { @@ -8301,10 +8963,22 @@ export interface TableBodyJSXProps children?: ComponentChildren; } +/** + * 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 */ @@ -8327,6 +9001,9 @@ declare module 'preact' { } declare const tagName$f = 's-table-cell'; +/** + * @publicDocs + */ export interface TableCellJSXProps extends Partial, Pick { @@ -8336,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 @@ -8359,6 +9042,9 @@ declare module 'preact' { } declare const tagName$e = 's-table-header'; +/** + * @publicDocs + */ export interface TableHeaderJSXProps extends Partial, Pick { @@ -8368,8 +9054,20 @@ export interface TableHeaderJSXProps children?: ComponentChildren; } +/** + * 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 @@ -8395,6 +9093,9 @@ declare module 'preact' { } declare const tagName$d = 's-table-header-row'; +/** + * @publicDocs + */ export interface TableHeaderRowJSXProps extends Partial, Pick { @@ -8405,9 +9106,21 @@ export interface TableHeaderRowJSXProps children?: ComponentChildren; } +/** + * 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; @@ -8427,6 +9140,9 @@ declare module 'preact' { } declare const tagName$c = 's-table-row'; +/** + * @publicDocs + */ export interface TableRowJSXProps extends Partial, Pick { @@ -8437,6 +9153,9 @@ export interface TableRowJSXProps children?: ComponentChildren; } +/** + * @publicDocs + */ export interface TextProps extends Required< Pick< @@ -8490,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']; @@ -8533,6 +9256,9 @@ declare module 'preact' { } declare const tagName$b = 's-text'; +/** + * @publicDocs + */ export interface TextJSXProps extends Partial, Pick { @@ -8551,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 @@ -8579,6 +9309,9 @@ declare module 'preact' { } declare const tagName$a = 's-text-area'; +/** + * @publicDocs + */ export interface TextAreaJSXProps extends Partial, Pick, @@ -8599,6 +9332,10 @@ export type TextFieldProps = PreactFieldProps< > >; +/** + * Configure the following properties on the text field component. + * @publicDocs + */ declare class TextField extends PreactFieldElement implements TextFieldProps @@ -8630,6 +9367,9 @@ declare module 'preact' { } declare const tagName$9 = 's-text-field'; +/** + * @publicDocs + */ export interface TextFieldJSXProps extends Partial>, Pick, @@ -8640,6 +9380,9 @@ export interface TextFieldJSXProps accessory?: ComponentChildren; } +/** + * @publicDocs + */ export interface ThumbnailProps extends Required> { /** @@ -8658,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']; @@ -8678,6 +9425,9 @@ declare module 'preact' { } declare const tagName$8 = 's-thumbnail'; +/** + * @publicDocs + */ export interface ThumbnailJSXProps extends Partial, Pick { @@ -8691,8 +9441,15 @@ export interface ThumbnailJSXProps onError?: ((event: CallbackEvent) => void) | null; } +/** + * @publicDocs + */ export interface TooltipProps extends Required> {} +/** + * Configure the following properties on the tooltip component. + * @publicDocs + */ declare class Tooltip extends PreactOverlayElement implements TooltipProps { constructor(); } @@ -8711,6 +9468,9 @@ declare module 'preact' { } declare const tagName$7 = 's-tooltip'; +/** + * @publicDocs + */ export interface TooltipJSXProps extends Partial, Pick { @@ -8731,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 @@ -8759,13 +9523,23 @@ 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 {} +/** + * Configure the following properties on the unordered list component. + * @publicDocs + */ declare class UnorderedList extends PreactCustomElement implements UnorderedListProps @@ -8787,6 +9561,9 @@ declare module 'preact' { } declare const tagName$5 = 's-unordered-list'; +/** + * @publicDocs + */ export interface UnorderedListJSXProps extends Partial, Pick { @@ -8796,10 +9573,17 @@ export interface UnorderedListJSXProps children?: ComponentChildren; } +/** + * Configure the following properties on the admin action component. + * @publicDocs + */ export interface AdminActionProps extends Pick {} declare const tagName$4 = 's-admin-action'; +/** + * @publicDocs + */ export interface AdminActionJSXProps extends Partial, Pick { @@ -8815,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 @@ -8848,14 +9636,25 @@ declare module 'preact' { } } +/** + * Configure the following properties on the admin block component. + * @publicDocs + */ export interface AdminBlockProps extends Pick {} declare const tagName$3 = 's-admin-block'; +/** + * @publicDocs + */ export interface AdminBlockJSXProps extends Partial, Pick {} +/** + * Configure the following properties on the admin block component. + * @publicDocs + */ declare class AdminBlock extends PreactCustomElement implements AdminBlockProps @@ -8885,14 +9684,25 @@ declare module 'preact' { } } +/** + * Configure the following properties on the admin print action component. + * @publicDocs + */ export interface AdminPrintActionProps extends Pick {} declare const tagName$2 = 's-admin-print-action'; +/** + * @publicDocs + */ export interface AdminPrintActionJSXProps extends Partial, Pick {} +/** + * Configure the following properties on the admin print action component. + * @publicDocs + */ declare class AdminPrintAction extends PreactCustomElement implements AdminPrintActionProps @@ -8920,9 +9730,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. @@ -8936,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(); } @@ -8954,10 +9774,16 @@ declare module 'preact' { } } +/** + * @publicDocs + */ export interface FunctionSettingsProps extends Pick {} declare const tagName = 's-function-settings'; +/** + * @publicDocs + */ export interface FunctionSettingsJSXProps extends Partial< FunctionSettingsProps & Pick @@ -8984,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 @@ -9134,6 +9964,10 @@ export type { UnorderedListJSXProps, }; +/** + * 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 { /** * A callback fired when the avatar image successfully loads. @@ -9149,6 +9983,10 @@ export interface AvatarEvents { error: OnErrorEventHandler = null; } +/** + * 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 { /** * The text label displayed within the badge component, typically a short status indicator or category label. @@ -9156,6 +9994,10 @@ export interface BadgeSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the banner is dismissed. @@ -9167,6 +10009,10 @@ export interface BannerEvents { afterhide: CallbackEventListener | null = null; } +/** + * 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 { /** * The main message content displayed within the banner component, providing important information or guidance to users. @@ -9179,6 +10025,10 @@ export interface BannerSlots { 'secondary-actions'?: HTMLElement; } +/** + * 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 { /** * The content displayed within the box component, which serves as a flexible container for organizing and styling other components. @@ -9186,6 +10036,10 @@ export interface BoxSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the button is clicked. @@ -9207,6 +10061,10 @@ export interface ButtonEvents { focus: CallbackEventListener | null = null; } +/** + * 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 { /** * The label text or elements displayed inside the button component, describing the action that will be performed when clicked. @@ -9214,6 +10072,10 @@ export interface ButtonSlots { children?: HTMLElement; } +/** + * 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 { /** * The buttons displayed within the button group component, which are arranged together as a cohesive set of related actions. @@ -9235,6 +10097,10 @@ export interface ButtonGroupSlots { 'secondary-actions'?: HTMLElement; } +/** + * 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 { /** * A callback fired when the checkbox value changes. @@ -9250,6 +10116,10 @@ export interface CheckboxEvents { input: CallbackEventListener<'input'>; } +/** + * 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 { /** * The text label displayed within the chip component, typically representing a selected filter, tag, or removable item. @@ -9261,6 +10131,10 @@ export interface ChipSlots { graphic?: HTMLElement; } +/** + * 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 { /** * The label text or elements that identify this selectable choice to users. @@ -9281,6 +10155,10 @@ export interface ChoiceSlots { details?: HTMLElement; } +/** + * 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 { /** * A callback fired when the choice list selection changes. @@ -9296,6 +10174,10 @@ export interface ChoiceListEvents { input: CallbackEventListener | null = null; } +/** + * 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 { /** * The choices a user can select from. @@ -9305,6 +10187,10 @@ export interface ChoiceListSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the component is clicked. @@ -9326,6 +10212,10 @@ export interface ClickableEvents { focus: CallbackEventListener | null = null; } +/** + * 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 { /** * 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 +10223,10 @@ export interface ClickableSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the chip is clicked. @@ -9350,6 +10244,10 @@ export interface ClickableChipEvents { afterhide: CallbackEventListener | null = null; } +/** + * 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 { /** * The text label displayed within the chip, which represents an interactive filter, tag, or selectable item. @@ -9361,6 +10259,10 @@ export interface ClickableChipSlots { graphic?: HTMLElement; } +/** + * 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 { /** * A callback fired when the color field value changes. @@ -9388,6 +10290,10 @@ export interface ColorFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * 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 { /** * A callback fired when the color picker value changes. @@ -9403,6 +10309,10 @@ export interface ColorPickerEvents { input: CallbackEventListener | null = null; } +/** + * 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 { /** * A callback fired when the date field value changes. @@ -9440,6 +10350,10 @@ export interface DateFieldEvents { invalid: CallbackEventListener | null = null; } +/** + * 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 { /** * A callback fired when the calendar view changes, such as when navigating between months. @@ -9471,6 +10385,10 @@ export interface DatePickerEvents { change: CallbackEventListener | null = null; } +/** + * 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 { /** * A callback fired when the drop zone value changes. @@ -9490,6 +10408,10 @@ export interface DropZoneEvents { droprejected: CallbackEventListener = null; } +/** + * 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 { /** * The content to include inside the drop zone container @@ -9497,6 +10419,10 @@ export interface DropZoneSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the email field value changes. @@ -9524,6 +10450,10 @@ export interface EmailFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * 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 { /** * The child elements displayed within the grid component, which are arranged in a flexible grid layout with configurable columns, rows, and spacing. @@ -9531,6 +10461,10 @@ export interface GridSlots { children?: HTMLElement; } +/** + * 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 { /** * 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 +10472,10 @@ export interface GridItemSlots { children?: HTMLElement; } +/** + * 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 { /** * The heading text displayed within the heading component, which provides a title or section header for content. @@ -9545,6 +10483,10 @@ export interface HeadingSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the image successfully loads. @@ -9560,6 +10502,10 @@ export interface ImageEvents { error: OnErrorEventHandler = null; } +/** + * 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 { /** * A callback fired when the link is clicked. @@ -9569,6 +10515,10 @@ export interface LinkEvents { click: CallbackEventListener | null = null; } +/** + * 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 { /** * The text or elements displayed within the link component, which navigates users to a different location when activated. @@ -9576,6 +10526,10 @@ export interface LinkSlots { children?: HTMLElement; } +/** + * 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 { /** * The content displayed within the list item, which represents a single entry in an ordered or unordered list. @@ -9583,6 +10537,10 @@ export interface ListItemSlots { children?: HTMLElement; } +/** + * 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 { /** * 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 +10548,10 @@ export interface MenuSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the modal is hidden. @@ -9609,6 +10571,10 @@ export interface ModalEvents { aftershow: CallbackEventListener | null = null; } +/** + * 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 { /** * The content displayed within the modal component, typically including form fields, information, or interactive elements. @@ -9628,6 +10594,10 @@ export interface ModalSlots { 'secondary-actions'?: HTMLElement; } +/** + * 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 { /** * A callback fired when the money field value changes. @@ -9655,6 +10625,10 @@ export interface MoneyFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * 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 { /** * A callback fired when the number field value changes. @@ -9682,6 +10656,10 @@ export interface NumberFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * 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 { /** * The text or elements displayed as the option label, which identifies the selectable choice to users in a dropdown or selection list. @@ -9689,6 +10667,10 @@ export interface OptionSlots { children?: HTMLElement; } +/** + * 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 { /** * The selectable options displayed in the dropdown list. Accepts option components for individual selectable items within this group. @@ -9696,6 +10678,10 @@ export interface OptionGroupSlots { children?: HTMLElement; } +/** + * 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 { /** * 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 +10689,10 @@ export interface OrderedListSlots { children?: HTMLElement; } +/** + * 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 { /** * 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 +10725,10 @@ export interface PageSlots { 'breadcrumb-actions'?: HTMLElement; } +/** + * 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 { /** * The paragraph text content displayed within the paragraph component, which presents a block of related text with appropriate styling. @@ -9742,6 +10736,10 @@ export interface ParagraphSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the password field value changes. @@ -9769,6 +10767,10 @@ export interface PasswordFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * 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 { /** * A callback fired when the popover is shown. @@ -9796,6 +10798,10 @@ export interface PopoverEvents { aftertoggle: CallbackEventListener | null; } +/** + * 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 { /** * The content displayed within the popover component, which appears in an overlay positioned relative to its trigger element. @@ -9803,6 +10809,10 @@ export interface PopoverSlots { children?: HTMLElement; } +/** + * 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 { /** * 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 +10820,10 @@ export interface QueryContainerSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the search field value changes. @@ -9837,6 +10851,10 @@ export interface SearchFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * 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 { /** * The content displayed within the section component, which groups related elements together in a logical unit with an optional heading. @@ -9844,6 +10862,10 @@ export interface SectionSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the select value changes. @@ -9859,6 +10881,10 @@ export interface SelectEvents { input: CallbackEventListener<'input'>; } +/** + * 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 { /** * 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 +10892,10 @@ export interface SelectSlots { children?: HTMLElement; } +/** + * 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 { /** * The child elements displayed within the stack component, which are arranged vertically or horizontally with consistent spacing. @@ -9873,6 +10903,10 @@ export interface StackSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the switch value changes. @@ -9888,6 +10922,10 @@ export interface SwitchEvents { input: CallbackEventListener<'input'>; } +/** + * 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 { /** * A callback fired when the user navigates to the previous page. @@ -9899,6 +10937,10 @@ export interface TableEvents { nextpage: CallbackEventListener | null = null; } +/** + * 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 { /** * The table structure defining headers and data rows. @@ -9914,6 +10956,10 @@ export interface TableSlots { filters?: HTMLElement; } +/** + * 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 { /** * The data rows displayed in the table body. @@ -9923,6 +10969,10 @@ export interface TableBodySlots { children?: HTMLElement; } +/** + * 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 { /** * The data value displayed in this cell. @@ -9932,6 +10982,10 @@ export interface TableCellSlots { children?: HTMLElement; } +/** + * 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 { /** * The column heading text. @@ -9941,6 +10995,10 @@ export interface TableHeaderSlots { children?: HTMLElement; } +/** + * 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 { /** * The column headers displayed in the table header row. @@ -9950,6 +11008,10 @@ export interface TableHeaderRowSlots { children?: HTMLElement; } +/** + * 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 { /** * The data cells displayed in this table row. @@ -9959,6 +11021,10 @@ export interface TableRowSlots { children?: HTMLElement; } +/** + * 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 { /** * The text content displayed within the text component, which applies semantic meaning and styling appropriate to the specified text type. @@ -9966,6 +11032,10 @@ export interface TextSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the text area value changes. @@ -9993,6 +11063,10 @@ export interface TextAreaEvents { focus: CallbackEventListener<'input'>; } +/** + * 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 { /** * A callback fired when the text field value changes. @@ -10020,6 +11094,10 @@ export interface TextFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * 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 { /** * Additional interactive content displayed within the text field. @@ -10029,6 +11107,10 @@ export interface TextFieldSlots { accessory?: HTMLElement; } +/** + * 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 { /** * A callback fired when the thumbnail image successfully loads. @@ -10044,6 +11126,10 @@ export interface ThumbnailEvents { error: OnErrorEventHandler = null; } +/** + * 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 { /** * The informational text or elements displayed within the tooltip overlay, providing helpful context or explanations when users interact with the associated element. @@ -10053,6 +11139,10 @@ export interface TooltipSlots { children?: HTMLElement; } +/** + * 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 { /** * A callback fired when the URL field value changes. @@ -10080,6 +11170,10 @@ export interface URLFieldEvents { focus: CallbackEventListener<'input'>; } +/** + * 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 { /** * 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 +11181,10 @@ export interface UnorderedListSlots { children?: HTMLElement; } +/** + * 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 { /** * The main action button or link displayed in the admin action modal. @@ -10100,6 +11198,10 @@ export interface AdminActionSlots { 'secondary-actions': HTMLElement; } +/** + * 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 { /** * A callback that is run when the form is submitted. @@ -10111,6 +11213,10 @@ export interface FormEvents { reset: CallbackEventListener | null = null; } +/** + * 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 { /** * An optional callback function that will be run by the admin when the user 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'] 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..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,3 +1,8 @@ +/** + * The `ActionApi` object provides properties for presenting modal interfaces. Access these properties through `shopify.action` to launch full-screen modal experiences. + * + * @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. @@ -6,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-api/cart-api.ts b/packages/ui-extensions/src/surfaces/point-of-sale/api/cart-api/cart-api.ts index a52cbe4914..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 @@ -27,6 +27,11 @@ 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 { /** * 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..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,9 @@ 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 */ 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..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 @@ -12,6 +12,11 @@ export interface ConnectivityState { internetConnected: ConnectivityStateSeverity; } +/** + * 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 { /** * 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..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,10 +1,15 @@ /** - * 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 `shopify.customer` to interact with the current customer context. + * + * @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..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,3 +1,8 @@ +/** + * 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 + */ 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. @@ -18,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 c3f9f73c36..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,10 +1,15 @@ /** - * 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; } +/** + * 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 { /** * 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..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,5 +1,10 @@ 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 { /** * 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..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 @@ -26,6 +26,11 @@ export interface NavigationHistoryEntry { getState(): unknown; } +/** + * 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 { /** * 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 +48,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..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,14 @@ /** - * 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 */ 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..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,5 +1,10 @@ import {PinPadOptions, PinValidationResult} from '../types/pin-pad'; +/** + * 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 + */ 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'`. @@ -19,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 44912bebfe..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,7 @@ /** - * 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. + * + * @publicDocs */ export interface PrintApiContent { /** @@ -18,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 6e602ad935..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,10 +1,15 @@ /** - * 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 `shopify.product` to interact with the current product context. + * + * @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..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 @@ -36,6 +36,11 @@ export interface ProductSearchParams extends PaginationParams { sortType?: ProductSortType; } +/** + * 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 + */ 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. @@ -101,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 ea831d578b..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 @@ -41,6 +41,11 @@ export interface ScannerData { current: ReadonlySignalLike; } +/** + * 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 + */ 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..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,5 +1,10 @@ import type {Session} from '../../types/session'; +/** + * 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 + */ 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. @@ -12,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 740a133042..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 @@ -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. @@ -19,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 792e511fbc..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 @@ -4606,6 +4606,11 @@ export type { TimePickerJSXProps, }; +/** + * Configure the following properties on the Badge component. + * + * @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 +4641,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 +4650,11 @@ interface BannerSlots { 'primary-action'?: HTMLElement; } +/** + * Configure the following properties on the Banner component. + * + * @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 +4686,11 @@ interface Banner { id?: string; } +/** + * Configure the following properties on the Box component. + * + * @publicDocs + */ interface Box { /** * A unique identifier for the element used for targeting with CSS or JavaScript. @@ -4775,6 +4791,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 +4800,11 @@ interface ButtonEvents { click?: (event: CallbackEvent) => void; } +/** + * Configure the following properties on the Button component. + * + * @publicDocs + */ interface Button { /** * The action to perform on the target element specified by `commandFor`: @@ -4840,6 +4862,11 @@ interface Button { loading?: boolean; } +/** + * The choice component creates options that let merchants select one or multiple items from a list of choices. + * + * @publicDocs + */ interface Choice { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -4864,7 +4891,9 @@ 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 { /** @@ -4877,6 +4906,11 @@ interface ChoiceListEvents { change?: (event: CallbackEvent) => void; } +/** + * Configure the following properties on the ChoiceList component. + * + * @publicDocs + */ interface ChoiceList { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -4896,6 +4930,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 +4939,11 @@ interface ClickableEvents { click?: (event: CallbackEvent) => void; } +/** + * Configure the following properties on the Clickable component. + * + * @publicDocs + */ interface Clickable { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -4916,7 +4956,8 @@ 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 { /** @@ -4937,6 +4978,11 @@ interface DateFieldEvents { focus?: (event: CallbackEvent) => void; } +/** + * Configure the following properties on the DateField component. + * + * @publicDocs + */ interface DateField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -4967,7 +5013,8 @@ 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 { /** @@ -4988,6 +5035,11 @@ interface DatePickerEvents { focus?: (event: CallbackEvent) => void | null; } +/** + * Configure the following properties on the DatePicker component. + * + * @publicDocs + */ interface DatePicker { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5002,7 +5054,8 @@ 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 { /** @@ -5023,6 +5076,11 @@ interface DateSpinnerEvents { focus?: (event: CallbackEvent) => void | null; } +/** + * Configure the following properties on the DateSpinner component. + * + * @publicDocs + */ interface DateSpinner { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5036,6 +5094,11 @@ interface DateSpinner { value?: string; } +/** + * Configure the following properties on the Divider component. + * + * @publicDocs + */ interface Divider { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5052,7 +5115,8 @@ 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 { /** @@ -5075,6 +5139,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 +5148,11 @@ interface EmailFieldSlots { accessory?: HTMLElement; } +/** + * Configure the following properties on the EmailField component. + * + * @publicDocs + */ interface EmailField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5128,6 +5198,11 @@ interface EmailField { details?: string; } +/** + * Configure the following properties on the Heading component. + * + * @publicDocs + */ interface Heading { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5135,6 +5210,11 @@ interface Heading { id?: string; } +/** + * Configure the following properties on the Icon component. + * + * @publicDocs + */ interface Icon { /** * The type of icon to display. @@ -5166,6 +5246,11 @@ interface Icon { size?: SizeKeyword; } +/** + * Configure the following properties on the Image component. + * + * @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 +5285,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 +5300,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 +5313,11 @@ interface ModalSlots { 'secondary-actions'?: HTMLElement; } +/** + * Configure the following properties on the Modal component. + * + * @publicDocs + */ interface Modal { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5238,7 +5330,8 @@ 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 { /** @@ -5261,6 +5354,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 +5363,11 @@ interface NumberFieldSlots { accessory?: HTMLElement; } +/** + * Configure the following properties on the NumberField component. + * + * @publicDocs + */ interface NumberField { /** * The content to use as the field label that describes the numeric information being requested. @@ -5343,6 +5442,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 +5455,11 @@ interface PageSlots { aside?: HTMLElement; } +/** + * Configure the following properties on the Page component. + * + * @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 +5479,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 +5488,11 @@ interface PosBlockSlots { 'secondary-actions'?: HTMLElement; } +/** + * Configure the following properties on the PosBlock component. + * + * @publicDocs + */ interface PosBlock { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5393,6 +5504,11 @@ interface PosBlock { heading?: string; } +/** + * The POS block component renders a QR code when the block is used within a receipt target. + * + * @publicDocs + */ interface QrCode { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5404,6 +5520,11 @@ interface QrCode { content?: string; } +/** + * Configure the following properties on the ScrollBox component. + * + * @publicDocs + */ interface ScrollBox { /** * The block size of the scrollable container. Auto automatically sizes based on the container's content and available space. @@ -5503,7 +5624,8 @@ 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 { /** @@ -5524,6 +5646,11 @@ interface SearchFieldEvents { focus?: (event: CallbackEvent) => void; } +/** + * Configure the following properties on the SearchField component. + * + * @publicDocs + */ interface SearchField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5547,6 +5674,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 +5683,11 @@ interface SectionSlots { 'secondary-actions'?: HTMLElement; } +/** + * Configure the following properties on the Section component. + * + * @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 +5699,11 @@ interface Section { id?: string; } +/** + * Configure the following properties on the Stack component. + * + * @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 +5845,11 @@ interface Stack { id?: string; } +/** + * Configure the following properties on the Text component. + * + * @publicDocs + */ interface Text { /** * The color intensity of the text. Controls how prominent or subtle the text appears within the interface. @@ -5752,7 +5895,8 @@ 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 { /** @@ -5775,6 +5919,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 +5928,11 @@ interface TextAreaSlots { accessory?: HTMLElement; } +/** + * Configure the following properties on the TextArea component. + * + * @publicDocs + */ interface TextArea { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5835,7 +5985,8 @@ 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 { /** @@ -5858,6 +6009,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 +6018,11 @@ interface TextFieldSlots { accessory?: HTMLElement; } +/** + * Configure the following properties on the TextField component. + * + * @publicDocs + */ interface TextField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -5911,6 +6068,11 @@ interface TextField { maxLength?: number; } +/** + * 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 { /** * The callback when the element is activated. @@ -5918,6 +6080,11 @@ interface TileEvents { click?: (event: CallbackEvent) => void; } +/** + * Configure the following properties on the Tile component. + * + * @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. @@ -5954,7 +6121,8 @@ 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 { /** @@ -5975,6 +6143,11 @@ interface TimeFieldEvents { focus?: (event: CallbackEvent) => void; } +/** + * Configure the following properties on the TimeField component. + * + * @publicDocs + */ interface TimeField { /** * A unique identifier for the element used for targeting with CSS, JavaScript, or accessibility features. @@ -6005,7 +6178,8 @@ 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 { /** @@ -6026,6 +6200,11 @@ interface TimePickerEvents { focus?: (event: CallbackEvent) => void | null; } +/** + * Configure the following properties on the TimePicker component. + * + * @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/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. `, 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..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,9 @@ 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< 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"